Translation updates
authorPeter Eisentraut
Mon, 9 Aug 2021 09:56:40 +0000 (11:56 +0200)
committerPeter Eisentraut
Mon, 9 Aug 2021 09:56:40 +0000 (11:56 +0200)
Source-Git-URL: git://git.postgresql.org/git/pgtranslation/messages.git
Source-Git-Hash: 9bb123c161ac8f773572e112ced524b99e81c1d9

19 files changed:
src/backend/po/de.po
src/backend/po/es.po
src/backend/po/fr.po
src/bin/pg_checksums/po/es.po
src/bin/pg_dump/po/es.po
src/bin/pg_dump/po/fr.po
src/bin/pg_resetwal/po/de.po
src/bin/pg_rewind/po/es.po
src/bin/pg_upgrade/po/de.po
src/bin/pg_upgrade/po/es.po
src/bin/pg_verifybackup/po/es.po
src/bin/psql/po/de.po
src/bin/psql/po/es.po
src/bin/psql/po/fr.po
src/bin/scripts/po/de.po
src/bin/scripts/po/es.po
src/bin/scripts/po/fr.po
src/interfaces/ecpg/preproc/po/es.po
src/interfaces/libpq/po/es.po

index f9e79c2cb7a045b2257ec0a0a4e57817d772a17b..dd24ec40037a6e98b9243fb8f4231e8dc5d20cde 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 13\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2021-05-06 21:23+0000\n"
-"PO-Revision-Date: 2021-05-07 09:10+0200\n"
+"POT-Creation-Date: 2021-08-05 11:52+0000\n"
+"PO-Revision-Date: 2021-08-06 22:39+0200\n"
 "Last-Translator: Peter Eisentraut \n"
 "Language-Team: German \n"
 "Language: de\n"
@@ -25,38 +25,38 @@ msgid "not recorded"
 msgstr "nicht aufgezeichnet"
 
 #: ../common/controldata_utils.c:68 ../common/controldata_utils.c:73
-#: commands/copy.c:3496 commands/extension.c:3436 utils/adt/genfile.c:125
+#: commands/copy.c:3496 commands/extension.c:3444 utils/adt/genfile.c:125
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "konnte Datei »%s« nicht zum Lesen öffnen: %m"
 
 #: ../common/controldata_utils.c:86 ../common/controldata_utils.c:89
 #: access/transam/timeline.c:143 access/transam/timeline.c:362
-#: access/transam/twophase.c:1276 access/transam/xlog.c:3503
-#: access/transam/xlog.c:4728 access/transam/xlog.c:11101
-#: access/transam/xlog.c:11114 access/transam/xlog.c:11567
-#: access/transam/xlog.c:11647 access/transam/xlog.c:11686
-#: access/transam/xlog.c:11729 access/transam/xlogfuncs.c:662
-#: access/transam/xlogfuncs.c:681 commands/extension.c:3446 libpq/hba.c:499
+#: access/transam/twophase.c:1276 access/transam/xlog.c:3501
+#: access/transam/xlog.c:4726 access/transam/xlog.c:11121
+#: access/transam/xlog.c:11134 access/transam/xlog.c:11587
+#: access/transam/xlog.c:11667 access/transam/xlog.c:11706
+#: access/transam/xlog.c:11749 access/transam/xlogfuncs.c:662
+#: access/transam/xlogfuncs.c:681 commands/extension.c:3454 libpq/hba.c:499
 #: replication/logical/origin.c:717 replication/logical/origin.c:753
-#: replication/logical/reorderbuffer.c:3599
+#: replication/logical/reorderbuffer.c:3624
 #: replication/logical/snapbuild.c:1744 replication/logical/snapbuild.c:1786
 #: replication/logical/snapbuild.c:1814 replication/logical/snapbuild.c:1841
-#: replication/slot.c:1622 replication/slot.c:1663 replication/walsender.c:547
+#: replication/slot.c:1709 replication/slot.c:1750 replication/walsender.c:547
 #: storage/file/buffile.c:441 storage/file/copydir.c:195
-#: utils/adt/genfile.c:200 utils/adt/misc.c:763 utils/cache/relmapper.c:741
+#: utils/adt/genfile.c:200 utils/adt/misc.c:763 utils/cache/relmapper.c:744
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht lesen: %m"
 
 #: ../common/controldata_utils.c:97 ../common/controldata_utils.c:101
-#: access/transam/twophase.c:1279 access/transam/xlog.c:3508
-#: access/transam/xlog.c:4733 replication/logical/origin.c:722
+#: access/transam/twophase.c:1279 access/transam/xlog.c:3506
+#: access/transam/xlog.c:4731 replication/logical/origin.c:722
 #: replication/logical/origin.c:761 replication/logical/snapbuild.c:1749
 #: replication/logical/snapbuild.c:1791 replication/logical/snapbuild.c:1819
-#: replication/logical/snapbuild.c:1846 replication/slot.c:1626
-#: replication/slot.c:1667 replication/walsender.c:552
-#: utils/cache/relmapper.c:745
+#: replication/logical/snapbuild.c:1846 replication/slot.c:1713
+#: replication/slot.c:1754 replication/walsender.c:552
+#: utils/cache/relmapper.c:748
 #, c-format
 msgid "could not read file \"%s\": read %d of %zu"
 msgstr "konnte Datei »%s« nicht lesen: %d von %zu gelesen"
@@ -66,18 +66,18 @@ msgstr "konnte Datei »%s« nicht lesen: %d von %zu gelesen"
 #: access/heap/rewriteheap.c:1185 access/heap/rewriteheap.c:1288
 #: access/transam/timeline.c:392 access/transam/timeline.c:438
 #: access/transam/timeline.c:516 access/transam/twophase.c:1288
-#: access/transam/twophase.c:1689 access/transam/xlog.c:3375
-#: access/transam/xlog.c:3543 access/transam/xlog.c:3548
-#: access/transam/xlog.c:3876 access/transam/xlog.c:4698
-#: access/transam/xlog.c:5622 access/transam/xlogfuncs.c:687
+#: access/transam/twophase.c:1689 access/transam/xlog.c:3373
+#: access/transam/xlog.c:3541 access/transam/xlog.c:3546
+#: access/transam/xlog.c:3874 access/transam/xlog.c:4696
+#: access/transam/xlog.c:5620 access/transam/xlogfuncs.c:687
 #: commands/copy.c:1810 libpq/be-fsstubs.c:462 libpq/be-fsstubs.c:533
 #: replication/logical/origin.c:655 replication/logical/origin.c:794
-#: replication/logical/reorderbuffer.c:3657
+#: replication/logical/reorderbuffer.c:3682
 #: replication/logical/snapbuild.c:1653 replication/logical/snapbuild.c:1854
-#: replication/slot.c:1513 replication/slot.c:1674 replication/walsender.c:562
+#: replication/slot.c:1600 replication/slot.c:1761 replication/walsender.c:562
 #: storage/file/copydir.c:218 storage/file/copydir.c:223 storage/file/fd.c:704
-#: storage/file/fd.c:3439 storage/file/fd.c:3542 utils/cache/relmapper.c:753
-#: utils/cache/relmapper.c:892
+#: storage/file/fd.c:3439 storage/file/fd.c:3542 utils/cache/relmapper.c:759
+#: utils/cache/relmapper.c:898
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht schließen: %m"
@@ -105,21 +105,21 @@ msgstr ""
 #: ../common/file_utils.c:357 access/heap/rewriteheap.c:1271
 #: access/transam/timeline.c:111 access/transam/timeline.c:251
 #: access/transam/timeline.c:348 access/transam/twophase.c:1232
-#: access/transam/xlog.c:3277 access/transam/xlog.c:3417
-#: access/transam/xlog.c:3458 access/transam/xlog.c:3656
-#: access/transam/xlog.c:3741 access/transam/xlog.c:3844
-#: access/transam/xlog.c:4718 access/transam/xlogutils.c:807
+#: access/transam/xlog.c:3275 access/transam/xlog.c:3415
+#: access/transam/xlog.c:3456 access/transam/xlog.c:3654
+#: access/transam/xlog.c:3739 access/transam/xlog.c:3842
+#: access/transam/xlog.c:4716 access/transam/xlogutils.c:807
 #: postmaster/syslogger.c:1488 replication/basebackup.c:621
 #: replication/basebackup.c:1593 replication/logical/origin.c:707
-#: replication/logical/reorderbuffer.c:2465
-#: replication/logical/reorderbuffer.c:2825
-#: replication/logical/reorderbuffer.c:3579
+#: replication/logical/reorderbuffer.c:2487
+#: replication/logical/reorderbuffer.c:2849
+#: replication/logical/reorderbuffer.c:3604
 #: replication/logical/snapbuild.c:1608 replication/logical/snapbuild.c:1715
-#: replication/slot.c:1594 replication/walsender.c:520
-#: replication/walsender.c:2509 storage/file/copydir.c:161
+#: replication/slot.c:1681 replication/walsender.c:520
+#: replication/walsender.c:2515 storage/file/copydir.c:161
 #: storage/file/fd.c:679 storage/file/fd.c:3426 storage/file/fd.c:3513
 #: storage/smgr/md.c:513 utils/cache/relmapper.c:724
-#: utils/cache/relmapper.c:836 utils/error/elog.c:1858
+#: utils/cache/relmapper.c:842 utils/error/elog.c:1858
 #: utils/init/miscinit.c:1316 utils/init/miscinit.c:1450
 #: utils/init/miscinit.c:1527 utils/misc/guc.c:8280 utils/misc/guc.c:8312
 #, c-format
@@ -128,10 +128,10 @@ msgstr "konnte Datei »%s« nicht öffnen: %m"
 
 #: ../common/controldata_utils.c:221 ../common/controldata_utils.c:224
 #: access/transam/twophase.c:1662 access/transam/twophase.c:1671
-#: access/transam/xlog.c:10858 access/transam/xlog.c:10896
-#: access/transam/xlog.c:11309 access/transam/xlogfuncs.c:741
+#: access/transam/xlog.c:10878 access/transam/xlog.c:10916
+#: access/transam/xlog.c:11329 access/transam/xlogfuncs.c:741
 #: postmaster/syslogger.c:1499 postmaster/syslogger.c:1512
-#: utils/cache/relmapper.c:870
+#: utils/cache/relmapper.c:876
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht schreiben: %m"
@@ -141,12 +141,12 @@ msgstr "konnte Datei »%s« nicht schreiben: %m"
 #: access/heap/rewriteheap.c:965 access/heap/rewriteheap.c:1179
 #: access/heap/rewriteheap.c:1282 access/transam/timeline.c:432
 #: access/transam/timeline.c:510 access/transam/twophase.c:1683
-#: access/transam/xlog.c:3368 access/transam/xlog.c:3537
-#: access/transam/xlog.c:4691 access/transam/xlog.c:10366
-#: access/transam/xlog.c:10393 replication/logical/snapbuild.c:1646
-#: replication/slot.c:1499 replication/slot.c:1604 storage/file/fd.c:696
+#: access/transam/xlog.c:3366 access/transam/xlog.c:3535
+#: access/transam/xlog.c:4689 access/transam/xlog.c:10386
+#: access/transam/xlog.c:10413 replication/logical/snapbuild.c:1646
+#: replication/slot.c:1586 replication/slot.c:1691 storage/file/fd.c:696
 #: storage/file/fd.c:3534 storage/smgr/md.c:959 storage/smgr/md.c:1000
-#: storage/sync/sync.c:396 utils/cache/relmapper.c:885 utils/misc/guc.c:8063
+#: storage/sync/sync.c:396 utils/cache/relmapper.c:891 utils/misc/guc.c:8063
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht fsyncen: %m"
@@ -176,7 +176,7 @@ msgstr "konnte kein »%s« zum Ausführen finden"
 msgid "could not change directory to \"%s\": %m"
 msgstr "konnte nicht in Verzeichnis »%s« wechseln: %m"
 
-#: ../common/exec.c:287 access/transam/xlog.c:10730
+#: ../common/exec.c:287 access/transam/xlog.c:10750
 #: replication/basebackup.c:1418 utils/adt/misc.c:337
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
@@ -190,9 +190,9 @@ msgstr "pclose fehlgeschlagen: %m"
 #: ../common/exec.c:539 ../common/exec.c:584 ../common/exec.c:676
 #: ../common/psprintf.c:143 ../common/stringinfo.c:305 ../port/path.c:630
 #: ../port/path.c:668 ../port/path.c:685 access/transam/twophase.c:1346
-#: access/transam/xlog.c:6487 lib/dshash.c:246 libpq/auth.c:1469
-#: libpq/auth.c:1537 libpq/auth.c:2067 libpq/be-secure-gssapi.c:520
-#: postmaster/bgworker.c:347 postmaster/bgworker.c:952
+#: access/transam/xlog.c:6485 lib/dshash.c:246 libpq/auth.c:1478
+#: libpq/auth.c:1546 libpq/auth.c:2076 libpq/be-secure-gssapi.c:520
+#: postmaster/bgworker.c:349 postmaster/bgworker.c:963
 #: postmaster/postmaster.c:2519 postmaster/postmaster.c:4156
 #: postmaster/postmaster.c:4858 postmaster/postmaster.c:5615
 #: postmaster/postmaster.c:5975
@@ -235,11 +235,11 @@ msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "kann NULL-Zeiger nicht kopieren (interner Fehler)\n"
 
 #: ../common/file_utils.c:79 ../common/file_utils.c:181
-#: access/transam/twophase.c:1244 access/transam/xlog.c:10834
-#: access/transam/xlog.c:10872 access/transam/xlog.c:11089
+#: access/transam/twophase.c:1244 access/transam/xlog.c:10854
+#: access/transam/xlog.c:10892 access/transam/xlog.c:11109
 #: access/transam/xlogarchive.c:110 access/transam/xlogarchive.c:226
-#: commands/copy.c:1938 commands/copy.c:3506 commands/extension.c:3425
-#: commands/tablespace.c:807 commands/tablespace.c:898 guc-file.l:1061
+#: commands/copy.c:1938 commands/copy.c:3506 commands/extension.c:3433
+#: commands/tablespace.c:807 commands/tablespace.c:898 guc-file.l:1063
 #: replication/basebackup.c:444 replication/basebackup.c:627
 #: replication/basebackup.c:700 replication/logical/snapbuild.c:1522
 #: storage/file/copydir.c:68 storage/file/copydir.c:107 storage/file/fd.c:1830
@@ -265,7 +265,7 @@ msgstr "konnte Verzeichnis »%s« nicht lesen: %m"
 
 #: ../common/file_utils.c:375 access/transam/xlogarchive.c:411
 #: postmaster/syslogger.c:1523 replication/logical/snapbuild.c:1665
-#: replication/slot.c:650 replication/slot.c:1385 replication/slot.c:1527
+#: replication/slot.c:650 replication/slot.c:1472 replication/slot.c:1614
 #: storage/file/fd.c:714 storage/file/fd.c:812 utils/time/snapmgr.c:1350
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
@@ -384,7 +384,7 @@ msgstr "ungültiger Fork-Name"
 msgid "Valid fork names are \"main\", \"fsm\", \"vm\", and \"init\"."
 msgstr "Gültige Fork-Namen sind »main«, »fsm«, »vm« und »init«."
 
-#: ../common/restricted_token.c:64 libpq/auth.c:1499 libpq/auth.c:2498
+#: ../common/restricted_token.c:64 libpq/auth.c:1508 libpq/auth.c:2507
 #, c-format
 msgid "could not load library \"%s\": error code %lu"
 msgstr "konnte Bibliothek »%s« nicht laden: Fehlercode %lu"
@@ -461,7 +461,7 @@ msgstr ""
 msgid "could not look up effective user ID %ld: %s"
 msgstr "konnte effektive Benutzer-ID %ld nicht nachschlagen: %s"
 
-#: ../common/username.c:45 libpq/auth.c:2005
+#: ../common/username.c:45 libpq/auth.c:2014
 msgid "user does not exist"
 msgstr "Benutzer existiert nicht"
 
@@ -584,7 +584,7 @@ msgid "request for BRIN range summarization for index \"%s\" page %u was not rec
 msgstr "Aufforderung für BRIN-Range-Summarization für Index »%s« Seite %u wurde nicht aufgezeichnet"
 
 #: access/brin/brin.c:873 access/brin/brin.c:950 access/gin/ginfast.c:1035
-#: access/transam/xlog.c:10502 access/transam/xlog.c:11040
+#: access/transam/xlog.c:10522 access/transam/xlog.c:11060
 #: access/transam/xlogfuncs.c:274 access/transam/xlogfuncs.c:301
 #: access/transam/xlogfuncs.c:340 access/transam/xlogfuncs.c:361
 #: access/transam/xlogfuncs.c:382 access/transam/xlogfuncs.c:452
@@ -615,7 +615,8 @@ msgstr "konnte Basistabelle von Index %s nicht öffnen"
 
 #: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362
 #: access/brin/brin_pageops.c:843 access/gin/ginentrypage.c:110
-#: access/gist/gist.c:1438 access/spgist/spgdoinsert.c:1957
+#: access/gist/gist.c:1438 access/spgist/spgdoinsert.c:1962
+#: access/spgist/spgdoinsert.c:2230
 #, c-format
 msgid "index row size %zu exceeds maximum %zu for index \"%s\""
 msgstr "Größe %zu der Indexzeile überschreitet Maximum %zu für Index »%s«"
@@ -853,8 +854,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:144 executor/execExpr.c:1869
-#: utils/adt/arrayfuncs.c:3790 utils/adt/arrayfuncs.c:6418
+#: access/gin/ginutil.c:144 executor/execExpr.c:1900
+#: utils/adt/arrayfuncs.c:3792 utils/adt/arrayfuncs.c:6426
 #: utils/adt/rowtypes.c:936
 #, c-format
 msgid "could not identify a comparison function for type %s"
@@ -930,7 +931,7 @@ msgstr "konnte die für das Zeichenketten-Hashing zu verwendende Sortierfolge ni
 
 #: access/hash/hashfunc.c:256 access/hash/hashfunc.c:312 catalog/heap.c:711
 #: catalog/heap.c:717 commands/createas.c:206 commands/createas.c:489
-#: commands/indexcmds.c:1816 commands/tablecmds.c:16237 commands/view.c:86
+#: commands/indexcmds.c:1816 commands/tablecmds.c:16250 commands/view.c:86
 #: parser/parse_utilcmd.c:4238 regex/regc_pg_locale.c:263
 #: utils/adt/formatting.c:1667 utils/adt/formatting.c:1791
 #: utils/adt/formatting.c:1916 utils/adt/like.c:194
@@ -945,8 +946,8 @@ msgstr "Verwenden Sie die COLLATE-Klausel, um die Sortierfolge explizit zu setze
 msgid "index row size %zu exceeds hash maximum %zu"
 msgstr "Größe der Indexzeile %zu überschreitet Maximum für Hash-Index %zu"
 
-#: access/hash/hashinsert.c:84 access/spgist/spgdoinsert.c:1961
-#: access/spgist/spgutils.c:764
+#: access/hash/hashinsert.c:84 access/spgist/spgdoinsert.c:1966
+#: access/spgist/spgdoinsert.c:2234 access/spgist/spgutils.c:764
 #, c-format
 msgid "Values larger than a buffer page cannot be indexed."
 msgstr "Werte, die größer sind als eine Pufferseite, können nicht indiziert werden."
@@ -986,33 +987,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:2036
+#: access/heap/heapam.c:2040
 #, 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:2454
+#: access/heap/heapam.c:2458
 #, 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:2500
+#: access/heap/heapam.c:2504
 #, c-format
 msgid "attempted to delete invisible tuple"
 msgstr "Versuch ein unsichtbares Tupel zu löschen"
 
-#: access/heap/heapam.c:2926 access/heap/heapam.c:5726
+#: access/heap/heapam.c:2934 access/heap/heapam.c:5734
 #, 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:3059
+#: access/heap/heapam.c:3067
 #, c-format
 msgid "attempted to update invisible tuple"
 msgstr "Versuch ein unsichtbares Tupel zu aktualisieren"
 
-#: access/heap/heapam.c:4381 access/heap/heapam.c:4419
-#: access/heap/heapam.c:4676 access/heap/heapam_handler.c:450
+#: access/heap/heapam.c:4389 access/heap/heapam.c:4427
+#: access/heap/heapam.c:4684 access/heap/heapam_handler.c:450
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "konnte Sperre für Zeile in Relation »%s« nicht setzen"
@@ -1034,11 +1035,11 @@ msgstr "konnte nicht in Datei »%s« schreiben, %d von %d geschrieben: %m"
 
 #: access/heap/rewriteheap.c:1019 access/heap/rewriteheap.c:1138
 #: access/transam/timeline.c:329 access/transam/timeline.c:485
-#: access/transam/xlog.c:3300 access/transam/xlog.c:3472
-#: access/transam/xlog.c:4670 access/transam/xlog.c:10849
-#: access/transam/xlog.c:10887 access/transam/xlog.c:11292
+#: access/transam/xlog.c:3298 access/transam/xlog.c:3470
+#: access/transam/xlog.c:4668 access/transam/xlog.c:10869
+#: access/transam/xlog.c:10907 access/transam/xlog.c:11312
 #: access/transam/xlogfuncs.c:735 postmaster/postmaster.c:4619
-#: replication/logical/origin.c:575 replication/slot.c:1446
+#: replication/logical/origin.c:575 replication/slot.c:1533
 #: storage/file/copydir.c:167 storage/smgr/md.c:218 utils/time/snapmgr.c:1329
 #, c-format
 msgid "could not create file \"%s\": %m"
@@ -1051,11 +1052,11 @@ msgstr "konnte Datei »%s« nicht auf %u kürzen: %m"
 
 #: access/heap/rewriteheap.c:1166 access/transam/timeline.c:384
 #: access/transam/timeline.c:424 access/transam/timeline.c:502
-#: access/transam/xlog.c:3356 access/transam/xlog.c:3528
-#: access/transam/xlog.c:4682 postmaster/postmaster.c:4629
+#: access/transam/xlog.c:3354 access/transam/xlog.c:3526
+#: access/transam/xlog.c:4680 postmaster/postmaster.c:4629
 #: postmaster/postmaster.c:4639 replication/logical/origin.c:587
 #: replication/logical/origin.c:629 replication/logical/origin.c:648
-#: replication/logical/snapbuild.c:1622 replication/slot.c:1481
+#: replication/logical/snapbuild.c:1622 replication/slot.c:1568
 #: storage/file/buffile.c:502 storage/file/copydir.c:207
 #: utils/init/miscinit.c:1391 utils/init/miscinit.c:1402
 #: utils/init/miscinit.c:1410 utils/misc/guc.c:8024 utils/misc/guc.c:8055
@@ -1068,9 +1069,9 @@ msgstr "konnte nicht in Datei »%s« schreiben: %m"
 #: access/heap/rewriteheap.c:1256 access/transam/twophase.c:1622
 #: access/transam/xlogarchive.c:118 access/transam/xlogarchive.c:421
 #: postmaster/postmaster.c:1092 postmaster/syslogger.c:1465
-#: replication/logical/origin.c:563 replication/logical/reorderbuffer.c:3079
+#: replication/logical/origin.c:563 replication/logical/reorderbuffer.c:3104
 #: replication/logical/snapbuild.c:1564 replication/logical/snapbuild.c:2009
-#: replication/slot.c:1578 storage/file/fd.c:754 storage/file/fd.c:3130
+#: replication/slot.c:1665 storage/file/fd.c:754 storage/file/fd.c:3130
 #: storage/file/fd.c:3192 storage/file/reinit.c:255 storage/ipc/dsm.c:302
 #: storage/smgr/md.c:355 storage/smgr/md.c:405 storage/sync/sync.c:210
 #: utils/time/snapmgr.c:1674
@@ -1292,7 +1293,7 @@ msgstr "Indexzugriffsmethode »%s« hat keinen Handler"
 
 #: access/index/indexam.c:142 catalog/objectaddress.c:1260
 #: commands/indexcmds.c:2518 commands/tablecmds.c:254 commands/tablecmds.c:278
-#: commands/tablecmds.c:15935 commands/tablecmds.c:17390
+#: commands/tablecmds.c:15948 commands/tablecmds.c:17403
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "»%s« ist kein Index"
@@ -1384,7 +1385,7 @@ msgid "\"%s\" is an index"
 msgstr "»%s« ist ein Index"
 
 #: access/table/table.c:54 access/table/table.c:83 access/table/table.c:116
-#: catalog/aclchk.c:1816 commands/tablecmds.c:12692 commands/tablecmds.c:15944
+#: catalog/aclchk.c:1816 commands/tablecmds.c:12705 commands/tablecmds.c:15957
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "»%s« ist ein zusammengesetzter Typ"
@@ -1459,14 +1460,14 @@ msgstr ""
 msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with OID %u"
 msgstr "Datenbank nimmt keine Befehle an, die neue MultiXactIds erzeugen, um Datenverlust wegen Transaktionsnummernüberlauf in Datenbank mit OID %u zu vermeiden"
 
-#: access/transam/multixact.c:1030 access/transam/multixact.c:2322
+#: access/transam/multixact.c:1030 access/transam/multixact.c:2325
 #, 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] "Datenbank »%s« muss gevacuumt werden, bevor %u weitere MultiXactId aufgebraucht ist"
 msgstr[1] "Datenbank »%s« muss gevacuumt werden, bevor %u weitere MultiXactIds aufgebraucht sind"
 
-#: access/transam/multixact.c:1039 access/transam/multixact.c:2331
+#: access/transam/multixact.c:1039 access/transam/multixact.c:2334
 #, 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"
@@ -1502,7 +1503,7 @@ msgstr[1] "Datenbank mit OID %u muss gevacuumt werden, bevor %d weitere Multixac
 msgid "Execute a database-wide VACUUM in that database with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings."
 msgstr "Führen Sie ein datenbankweites VACUUM in dieser Datenbank aus, mit reduzierten Einstellungen für vacuum_multixact_freeze_min_age und vacuum_multixact_freeze_table_age."
 
-#: access/transam/multixact.c:1279
+#: access/transam/multixact.c:1281
 #, c-format
 msgid "MultiXactId %u does no longer exist -- apparent wraparound"
 msgstr "MultiXactId %u existiert nicht mehr -- anscheinender Überlauf"
@@ -1512,12 +1513,12 @@ msgstr "MultiXactId %u existiert nicht mehr -- anscheinender Überlauf"
 msgid "MultiXactId %u has not been created yet -- apparent wraparound"
 msgstr "MultiXactId %u wurde noch nicht erzeugt -- anscheinender Überlauf"
 
-#: access/transam/multixact.c:2272
+#: access/transam/multixact.c:2275
 #, c-format
 msgid "MultiXactId wrap limit is %u, limited by database with OID %u"
 msgstr "Grenze für MultiXactId-Überlauf ist %u, begrenzt durch Datenbank mit OID %u"
 
-#: access/transam/multixact.c:2327 access/transam/multixact.c:2336
+#: access/transam/multixact.c:2330 access/transam/multixact.c:2339
 #: access/transam/varsup.c:149 access/transam/varsup.c:156
 #: access/transam/varsup.c:447 access/transam/varsup.c:454
 #, c-format
@@ -1528,37 +1529,37 @@ msgstr ""
 "Um ein Abschalten der Datenbank zu vermeiden, führen Sie ein komplettes VACUUM über diese Datenbank aus.\n"
 "Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen oder unbenutzte Replikations-Slots löschen."
 
-#: access/transam/multixact.c:2606
+#: access/transam/multixact.c:2609
 #, c-format
 msgid "oldest MultiXactId member is at offset %u"
 msgstr "ältestes MultiXactId-Mitglied ist bei Offset %u"
 
-#: access/transam/multixact.c:2610
+#: access/transam/multixact.c:2613
 #, c-format
 msgid "MultiXact member wraparound protections are disabled because oldest checkpointed MultiXact %u does not exist on disk"
 msgstr "MultiXact-Member-Wraparound-Schutz ist deaktiviert, weil die älteste gecheckpointete MultiXact %u nicht auf der Festplatte existiert"
 
-#: access/transam/multixact.c:2632
+#: access/transam/multixact.c:2635
 #, c-format
 msgid "MultiXact member wraparound protections are now enabled"
 msgstr "MultiXact-Member-Wraparound-Schutz ist jetzt aktiviert"
 
-#: access/transam/multixact.c:2635
+#: access/transam/multixact.c:2638
 #, c-format
 msgid "MultiXact member stop limit is now %u based on MultiXact %u"
 msgstr "MultiXact-Member-Stopp-Limit ist jetzt %u, basierend auf MultiXact %u"
 
-#: access/transam/multixact.c:3023
+#: access/transam/multixact.c:3026
 #, 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:3041
+#: access/transam/multixact.c:3044
 #, 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:3355
+#: access/transam/multixact.c:3358
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "ungültige MultiXactId: %u"
@@ -1792,7 +1793,7 @@ msgstr "ungültige Größe in Datei »%s« gespeichert"
 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:1347 access/transam/xlog.c:6488
+#: access/transam/twophase.c:1347 access/transam/xlog.c:6486
 #, c-format
 msgid "Failed while allocating a WAL reading processor."
 msgstr "Fehlgeschlagen beim Anlegen eines WAL-Leseprozessors."
@@ -2002,432 +2003,432 @@ msgstr "während einer parallelen Operation können keine Subtransaktionen commi
 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:2554
+#: access/transam/xlog.c:2552
 #, 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:2830
+#: access/transam/xlog.c:2828
 #, c-format
 msgid "updated min recovery point to %X/%X on timeline %u"
 msgstr "minimaler Recovery-Punkt auf %X/%X auf Zeitleiste %u aktualisiert"
 
-#: access/transam/xlog.c:3944 access/transam/xlogutils.c:802
-#: replication/walsender.c:2503
+#: access/transam/xlog.c:3942 access/transam/xlogutils.c:802
+#: replication/walsender.c:2509
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "das angeforderte WAL-Segment %s wurde schon entfernt"
 
-#: access/transam/xlog.c:4187
+#: access/transam/xlog.c:4185
 #, c-format
 msgid "recycled write-ahead log file \"%s\""
 msgstr "Write-Ahead-Log-Datei »%s« wird wiederverwendet"
 
-#: access/transam/xlog.c:4199
+#: access/transam/xlog.c:4197
 #, c-format
 msgid "removing write-ahead log file \"%s\""
 msgstr "entferne Write-Ahead-Log-Datei »%s«"
 
-#: access/transam/xlog.c:4219
+#: access/transam/xlog.c:4217
 #, c-format
 msgid "could not rename file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht umbenennen: %m"
 
-#: access/transam/xlog.c:4261 access/transam/xlog.c:4271
+#: access/transam/xlog.c:4259 access/transam/xlog.c:4269
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "benötigtes WAL-Verzeichnis »%s« existiert nicht"
 
-#: access/transam/xlog.c:4277
+#: access/transam/xlog.c:4275
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "erzeuge fehlendes WAL-Verzeichnis »%s«"
 
-#: access/transam/xlog.c:4280
+#: access/transam/xlog.c:4278
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "konnte fehlendes Verzeichnis »%s« nicht erzeugen: %m"
 
-#: access/transam/xlog.c:4383
+#: access/transam/xlog.c:4381
 #, c-format
 msgid "unexpected timeline ID %u in log segment %s, offset %u"
 msgstr "unerwartete Zeitleisten-ID %u in Logsegment %s, Offset %u"
 
-#: access/transam/xlog.c:4521
+#: access/transam/xlog.c:4519
 #, c-format
 msgid "new timeline %u is not a child of database system timeline %u"
 msgstr "neue Zeitleiste %u ist kein Kind der Datenbanksystemzeitleiste %u"
 
-#: access/transam/xlog.c:4535
+#: access/transam/xlog.c:4533
 #, c-format
 msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
 msgstr "neue Zeitleiste %u zweigte von der aktuellen Datenbanksystemzeitleiste %u vor dem aktuellen Wiederherstellungspunkt %X/%X ab"
 
-#: access/transam/xlog.c:4554
+#: access/transam/xlog.c:4552
 #, c-format
 msgid "new target timeline is %u"
 msgstr "neue Zielzeitleiste ist %u"
 
-#: access/transam/xlog.c:4590
+#: access/transam/xlog.c:4588
 #, c-format
 msgid "could not generate secret authorization token"
 msgstr "konnte geheimes Autorisierungstoken nicht erzeugen"
 
-#: access/transam/xlog.c:4749 access/transam/xlog.c:4758
-#: access/transam/xlog.c:4782 access/transam/xlog.c:4789
-#: access/transam/xlog.c:4796 access/transam/xlog.c:4801
-#: access/transam/xlog.c:4808 access/transam/xlog.c:4815
-#: access/transam/xlog.c:4822 access/transam/xlog.c:4829
-#: access/transam/xlog.c:4836 access/transam/xlog.c:4843
-#: access/transam/xlog.c:4852 access/transam/xlog.c:4859
+#: access/transam/xlog.c:4747 access/transam/xlog.c:4756
+#: access/transam/xlog.c:4780 access/transam/xlog.c:4787
+#: access/transam/xlog.c:4794 access/transam/xlog.c:4799
+#: access/transam/xlog.c:4806 access/transam/xlog.c:4813
+#: access/transam/xlog.c:4820 access/transam/xlog.c:4827
+#: access/transam/xlog.c:4834 access/transam/xlog.c:4841
+#: access/transam/xlog.c:4850 access/transam/xlog.c:4857
 #: utils/init/miscinit.c:1548
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "Datenbankdateien sind inkompatibel mit Server"
 
-#: access/transam/xlog.c:4750
+#: access/transam/xlog.c:4748
 #, 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:4754
+#: access/transam/xlog.c:4752
 #, 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:4759
+#: access/transam/xlog.c:4757
 #, 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:4762 access/transam/xlog.c:4786
-#: access/transam/xlog.c:4793 access/transam/xlog.c:4798
+#: access/transam/xlog.c:4760 access/transam/xlog.c:4784
+#: access/transam/xlog.c:4791 access/transam/xlog.c:4796
 #, 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:4773
+#: access/transam/xlog.c:4771
 #, c-format
 msgid "incorrect checksum in control file"
 msgstr "falsche Prüfsumme in Kontrolldatei"
 
-#: access/transam/xlog.c:4783
+#: access/transam/xlog.c:4781
 #, 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:4790
+#: access/transam/xlog.c:4788
 #, 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:4797
+#: access/transam/xlog.c:4795
 #, 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:4802
+#: access/transam/xlog.c:4800
 #, 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:4805 access/transam/xlog.c:4812
-#: access/transam/xlog.c:4819 access/transam/xlog.c:4826
-#: access/transam/xlog.c:4833 access/transam/xlog.c:4840
-#: access/transam/xlog.c:4847 access/transam/xlog.c:4855
-#: access/transam/xlog.c:4862
+#: access/transam/xlog.c:4803 access/transam/xlog.c:4810
+#: access/transam/xlog.c:4817 access/transam/xlog.c:4824
+#: access/transam/xlog.c:4831 access/transam/xlog.c:4838
+#: access/transam/xlog.c:4845 access/transam/xlog.c:4853
+#: access/transam/xlog.c:4860
 #, 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:4809
+#: access/transam/xlog.c:4807
 #, 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:4816
+#: access/transam/xlog.c:4814
 #, 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:4823
+#: access/transam/xlog.c:4821
 #, 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:4830
+#: access/transam/xlog.c:4828
 #, 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:4837
+#: access/transam/xlog.c:4835
 #, 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:4844
+#: access/transam/xlog.c:4842
 #, 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:4853
+#: access/transam/xlog.c:4851
 #, 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:4860
+#: access/transam/xlog.c:4858
 #, 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:4869
+#: access/transam/xlog.c:4867
 #, c-format
 msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte"
 msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes"
 msgstr[0] "WAL-Segmentgröße muss eine Zweierpotenz zwischen 1 MB und 1 GB sein, aber die Kontrolldatei gibt %d Byte an"
 msgstr[1] "WAL-Segmentgröße muss eine Zweierpotenz zwischen 1 MB und 1 GB sein, aber die Kontrolldatei gibt %d Bytes an"
 
-#: access/transam/xlog.c:4881
+#: access/transam/xlog.c:4879
 #, 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:4885
+#: access/transam/xlog.c:4883
 #, 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:5318
+#: access/transam/xlog.c:5316
 #, 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:5326
+#: access/transam/xlog.c:5324
 #, 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:5332
+#: access/transam/xlog.c:5330
 #, 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:5393
+#: access/transam/xlog.c:5391
 #, c-format
 msgid "using recovery command file \"%s\" is not supported"
 msgstr "Verwendung von Recovery-Befehlsdatei »%s« wird nicht unterstützt"
 
-#: access/transam/xlog.c:5458
+#: access/transam/xlog.c:5456
 #, c-format
 msgid "standby mode is not supported by single-user servers"
 msgstr "Standby-Modus wird von Servern im Einzelbenutzermodus nicht unterstützt"
 
-#: access/transam/xlog.c:5475
+#: access/transam/xlog.c:5473
 #, c-format
 msgid "specified neither primary_conninfo nor restore_command"
 msgstr "weder primary_conninfo noch restore_command angegeben"
 
-#: access/transam/xlog.c:5476
+#: access/transam/xlog.c:5474
 #, c-format
 msgid "The database server will regularly poll the pg_wal subdirectory to check for files placed there."
 msgstr "Der Datenbankserver prüft das Unterverzeichnis pg_wal regelmäßig auf dort abgelegte Dateien."
 
-#: access/transam/xlog.c:5484
+#: access/transam/xlog.c:5482
 #, c-format
 msgid "must specify restore_command when standby mode is not enabled"
 msgstr "restore_command muss angegeben werden, wenn der Standby-Modus nicht eingeschaltet ist"
 
-#: access/transam/xlog.c:5522
+#: access/transam/xlog.c:5520
 #, c-format
 msgid "recovery target timeline %u does not exist"
 msgstr "recovery_target_timeline %u existiert nicht"
 
-#: access/transam/xlog.c:5644
+#: access/transam/xlog.c:5642
 #, c-format
 msgid "archive recovery complete"
 msgstr "Wiederherstellung aus Archiv abgeschlossen"
 
-#: access/transam/xlog.c:5710 access/transam/xlog.c:5983
+#: access/transam/xlog.c:5708 access/transam/xlog.c:5981
 #, c-format
 msgid "recovery stopping after reaching consistency"
 msgstr "Wiederherstellung beendet nachdem Konsistenz erreicht wurde"
 
-#: access/transam/xlog.c:5731
+#: access/transam/xlog.c:5729
 #, c-format
 msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
 msgstr "Wiederherstellung beendet vor WAL-Position (LSN) »%X/%X«"
 
-#: access/transam/xlog.c:5817
+#: access/transam/xlog.c:5815
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr "Wiederherstellung beendet vor Commit der Transaktion %u, Zeit %s"
 
-#: access/transam/xlog.c:5824
+#: access/transam/xlog.c:5822
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr "Wiederherstellung beendet vor Abbruch der Transaktion %u, Zeit %s"
 
-#: access/transam/xlog.c:5877
+#: access/transam/xlog.c:5875
 #, c-format
 msgid "recovery stopping at restore point \"%s\", time %s"
 msgstr "Wiederherstellung beendet bei Restore-Punkt »%s«, Zeit %s"
 
-#: access/transam/xlog.c:5895
+#: access/transam/xlog.c:5893
 #, c-format
 msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
 msgstr "Wiederherstellung beendet nach WAL-Position (LSN) »%X/%X«"
 
-#: access/transam/xlog.c:5963
+#: access/transam/xlog.c:5961
 #, c-format
 msgid "recovery stopping after commit of transaction %u, time %s"
 msgstr "Wiederherstellung beendet nach Commit der Transaktion %u, Zeit %s"
 
-#: access/transam/xlog.c:5971
+#: access/transam/xlog.c:5969
 #, c-format
 msgid "recovery stopping after abort of transaction %u, time %s"
 msgstr "Wiederherstellung beendet nach Abbruch der Transaktion %u, Zeit %s"
 
-#: access/transam/xlog.c:6020
+#: access/transam/xlog.c:6018
 #, c-format
 msgid "pausing at the end of recovery"
 msgstr "pausiere am Ende der Wiederherstellung"
 
-#: access/transam/xlog.c:6021
+#: access/transam/xlog.c:6019
 #, c-format
 msgid "Execute pg_wal_replay_resume() to promote."
 msgstr "Führen Sie pg_wal_replay_resume() aus, um den Server zum Primärserver zu befördern."
 
-#: access/transam/xlog.c:6024
+#: access/transam/xlog.c:6022
 #, c-format
 msgid "recovery has paused"
 msgstr "Wiederherstellung wurde pausiert"
 
-#: access/transam/xlog.c:6025
+#: access/transam/xlog.c:6023
 #, c-format
 msgid "Execute pg_wal_replay_resume() to continue."
 msgstr "Führen Sie pg_wal_replay_resume() aus um fortzusetzen."
 
-#: access/transam/xlog.c:6236
+#: access/transam/xlog.c:6234
 #, c-format
 msgid "hot standby is not possible because %s = %d is a lower setting than on the master server (its value was %d)"
 msgstr "Hot Standby ist nicht möglich, weil %s = %d eine niedrigere Einstellung als auf dem Masterserver ist (Wert dort war %d)"
 
-#: access/transam/xlog.c:6260
+#: access/transam/xlog.c:6258
 #, c-format
 msgid "WAL was generated with wal_level=minimal, data may be missing"
 msgstr "WAL wurde mit wal_level=minimal erzeugt, eventuell fehlen Daten"
 
-#: access/transam/xlog.c:6261
+#: access/transam/xlog.c:6259
 #, c-format
 msgid "This happens if you temporarily set wal_level=minimal without taking a new base backup."
 msgstr "Das passiert, wenn vorübergehend wal_level=minimal gesetzt wurde, ohne ein neues Base-Backup zu erzeugen."
 
-#: access/transam/xlog.c:6272
+#: access/transam/xlog.c:6270
 #, c-format
 msgid "hot standby is not possible because wal_level was not set to \"replica\" or higher on the master server"
 msgstr "Hot Standby ist nicht möglich, weil wal_level auf dem Masterserver nicht auf »replica« oder höher gesetzt wurde"
 
-#: access/transam/xlog.c:6273
+#: access/transam/xlog.c:6271
 #, c-format
 msgid "Either set wal_level to \"replica\" on the master, or turn off hot_standby here."
 msgstr "Setzen Sie entweder wal_level auf »replica« auf dem Master oder schalten Sie hot_standby hier aus."
 
-#: access/transam/xlog.c:6335
+#: access/transam/xlog.c:6333
 #, c-format
 msgid "control file contains invalid checkpoint location"
 msgstr "Kontrolldatei enthält ungültige Checkpoint-Position"
 
-#: access/transam/xlog.c:6346
+#: access/transam/xlog.c:6344
 #, c-format
 msgid "database system was shut down at %s"
 msgstr "Datenbanksystem wurde am %s heruntergefahren"
 
-#: access/transam/xlog.c:6352
+#: access/transam/xlog.c:6350
 #, 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:6358
+#: access/transam/xlog.c:6356
 #, 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:6364
+#: access/transam/xlog.c:6362
 #, 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:6366
+#: access/transam/xlog.c:6364
 #, 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:6372
+#: access/transam/xlog.c:6370
 #, 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:6374
+#: access/transam/xlog.c:6372
 #, 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:6380
+#: access/transam/xlog.c:6378
 #, 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:6386
+#: access/transam/xlog.c:6384
 #, c-format
 msgid "control file contains invalid database cluster state"
 msgstr "Kontrolldatei enthält ungültigen Datenbankclusterstatus"
 
-#: access/transam/xlog.c:6443
+#: access/transam/xlog.c:6441
 #, c-format
 msgid "entering standby mode"
 msgstr "Standby-Modus eingeschaltet"
 
-#: access/transam/xlog.c:6446
+#: access/transam/xlog.c:6444
 #, c-format
 msgid "starting point-in-time recovery to XID %u"
 msgstr "starte Point-in-Time-Recovery bis XID %u"
 
-#: access/transam/xlog.c:6450
+#: access/transam/xlog.c:6448
 #, c-format
 msgid "starting point-in-time recovery to %s"
 msgstr "starte Point-in-Time-Recovery bis %s"
 
-#: access/transam/xlog.c:6454
+#: access/transam/xlog.c:6452
 #, c-format
 msgid "starting point-in-time recovery to \"%s\""
 msgstr "starte Point-in-Time-Recovery bis »%s«"
 
-#: access/transam/xlog.c:6458
+#: access/transam/xlog.c:6456
 #, c-format
 msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
 msgstr "starte Point-in-Time-Recovery bis WAL-Position (LSN) »%X/%X«"
 
-#: access/transam/xlog.c:6463
+#: access/transam/xlog.c:6461
 #, c-format
 msgid "starting point-in-time recovery to earliest consistent point"
 msgstr "starte Point-in-Time-Recovery bis zum frühesten konsistenten Punkt"
 
-#: access/transam/xlog.c:6466
+#: access/transam/xlog.c:6464
 #, c-format
 msgid "starting archive recovery"
 msgstr "starte Wiederherstellung aus Archiv"
 
-#: access/transam/xlog.c:6525 access/transam/xlog.c:6658
+#: access/transam/xlog.c:6523 access/transam/xlog.c:6656
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr "Checkpoint-Eintrag ist bei %X/%X"
 
-#: access/transam/xlog.c:6540
+#: access/transam/xlog.c:6538
 #, c-format
 msgid "could not find redo location referenced by checkpoint record"
 msgstr "konnte die vom Checkpoint-Datensatz referenzierte Redo-Position nicht finden"
 
-#: access/transam/xlog.c:6541 access/transam/xlog.c:6551
+#: access/transam/xlog.c:6539 access/transam/xlog.c:6549
 #, c-format
 msgid ""
 "If you are restoring from a backup, touch \"%s/recovery.signal\" and add required recovery options.\n"
@@ -2438,278 +2439,278 @@ msgstr ""
 "Wenn Sie gerade kein Backup wiederherstellen, dann versuchen Sie, die Datei »%s/backup_label« zu entfernen.\n"
 "Vorsicht: Wenn ein Backup wiederhergestellt wird und »%s/backup_label« gelöscht wird, dann wird das den Cluster verfälschen."
 
-#: access/transam/xlog.c:6550
+#: access/transam/xlog.c:6548
 #, c-format
 msgid "could not locate required checkpoint record"
 msgstr "konnte den nötigen Checkpoint-Datensatz nicht finden"
 
-#: access/transam/xlog.c:6579 commands/tablespace.c:666
+#: access/transam/xlog.c:6577 commands/tablespace.c:666
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "konnte symbolische Verknüpfung »%s« nicht erstellen: %m"
 
-#: access/transam/xlog.c:6611 access/transam/xlog.c:6617
+#: access/transam/xlog.c:6609 access/transam/xlog.c:6615
 #, c-format
 msgid "ignoring file \"%s\" because no file \"%s\" exists"
 msgstr "ignoriere Datei »%s«, weil keine Datei »%s« existiert"
 
-#: access/transam/xlog.c:6613 access/transam/xlog.c:11808
+#: access/transam/xlog.c:6611 access/transam/xlog.c:11828
 #, c-format
 msgid "File \"%s\" was renamed to \"%s\"."
 msgstr "Datei »%s« wurde in »%s« umbenannt."
 
-#: access/transam/xlog.c:6619
+#: access/transam/xlog.c:6617
 #, c-format
 msgid "Could not rename file \"%s\" to \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht in »%s« umbenennen: %m."
 
-#: access/transam/xlog.c:6670
+#: access/transam/xlog.c:6668
 #, c-format
 msgid "could not locate a valid checkpoint record"
 msgstr "konnte keinen gültigen Checkpoint-Datensatz finden"
 
-#: access/transam/xlog.c:6708
+#: access/transam/xlog.c:6706
 #, c-format
 msgid "requested timeline %u is not a child of this server's history"
 msgstr "angeforderte Zeitleiste %u ist kein Kind der History dieses Servers"
 
-#: access/transam/xlog.c:6710
+#: access/transam/xlog.c:6708
 #, 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 "Neuester Checkpoint ist bei %X/%X auf Zeitleiste %u, aber in der History der angeforderten Zeitleiste zweigte der Server von dieser Zeitleiste bei %X/%X ab."
 
-#: access/transam/xlog.c:6726
+#: access/transam/xlog.c:6724
 #, c-format
 msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
 msgstr "angeforderte Zeitleiste %u enthält nicht den minimalen Wiederherstellungspunkt %X/%X auf Zeitleiste %u"
 
-#: access/transam/xlog.c:6757
+#: access/transam/xlog.c:6755
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "ungültige nächste Transaktions-ID"
 
-#: access/transam/xlog.c:6851
+#: access/transam/xlog.c:6849
 #, c-format
 msgid "invalid redo in checkpoint record"
 msgstr "ungültiges Redo im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:6862
+#: access/transam/xlog.c:6860
 #, c-format
 msgid "invalid redo record in shutdown checkpoint"
 msgstr "ungültiger Redo-Datensatz im Shutdown-Checkpoint"
 
-#: access/transam/xlog.c:6896
+#: access/transam/xlog.c:6894
 #, c-format
 msgid "database system was not properly shut down; automatic recovery in progress"
 msgstr "Datenbanksystem wurde nicht richtig heruntergefahren; automatische Wiederherstellung läuft"
 
-#: access/transam/xlog.c:6900
+#: access/transam/xlog.c:6898
 #, c-format
 msgid "crash recovery starts in timeline %u and has target timeline %u"
 msgstr "Wiederherstellung nach Absturz beginnt in Zeitleiste %u und hat Zielzeitleiste %u"
 
-#: access/transam/xlog.c:6947
+#: access/transam/xlog.c:6945
 #, c-format
 msgid "backup_label contains data inconsistent with control file"
 msgstr "Daten in backup_label stimmen nicht mit Kontrolldatei überein"
 
-#: access/transam/xlog.c:6948
+#: access/transam/xlog.c:6946
 #, c-format
 msgid "This means that the backup is corrupted and you will have to use another backup for recovery."
 msgstr "Das bedeutet, dass die Datensicherung verfälscht ist und Sie eine andere Datensicherung zur Wiederherstellung verwenden werden müssen."
 
-#: access/transam/xlog.c:7039
+#: access/transam/xlog.c:7037
 #, c-format
 msgid "initializing for hot standby"
 msgstr "initialisiere für Hot Standby"
 
-#: access/transam/xlog.c:7172
+#: access/transam/xlog.c:7170
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "Redo beginnt bei %X/%X"
 
-#: access/transam/xlog.c:7396
+#: access/transam/xlog.c:7394
 #, c-format
 msgid "requested recovery stop point is before consistent recovery point"
 msgstr "angeforderter Recovery-Endpunkt ist vor konsistentem Recovery-Punkt"
 
-#: access/transam/xlog.c:7434
+#: access/transam/xlog.c:7432
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "Redo fertig bei %X/%X"
 
-#: access/transam/xlog.c:7439
+#: access/transam/xlog.c:7437
 #, c-format
 msgid "last completed transaction was at log time %s"
 msgstr "letzte vollständige Transaktion war bei Logzeit %s"
 
-#: access/transam/xlog.c:7448
+#: access/transam/xlog.c:7446
 #, c-format
 msgid "redo is not required"
 msgstr "Redo nicht nötig"
 
-#: access/transam/xlog.c:7460
+#: access/transam/xlog.c:7458
 #, c-format
 msgid "recovery ended before configured recovery target was reached"
 msgstr "Wiederherstellung endete bevor das konfigurierte Wiederherstellungsziel erreicht wurde"
 
-#: access/transam/xlog.c:7539 access/transam/xlog.c:7543
+#: access/transam/xlog.c:7537 access/transam/xlog.c:7541
 #, c-format
 msgid "WAL ends before end of online backup"
 msgstr "WAL endet vor dem Ende der Online-Sicherung"
 
-#: access/transam/xlog.c:7540
+#: access/transam/xlog.c:7538
 #, 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:7544
+#: access/transam/xlog.c:7542
 #, c-format
 msgid "Online backup started with pg_start_backup() must be ended with pg_stop_backup(), and all WAL up to that point must be available at recovery."
 msgstr "Die mit pg_start_backup() begonnene Online-Sicherung muss mit pg_stop_backup() beendet werden und der ganze WAL bis zu diesem Punkt muss bei der Wiederherstellung verfügbar sein."
 
-#: access/transam/xlog.c:7547
+#: access/transam/xlog.c:7545
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "WAL endet vor einem konsistenten Wiederherstellungspunkt"
 
-#: access/transam/xlog.c:7582
+#: access/transam/xlog.c:7580
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "gewählte neue Zeitleisten-ID: %u"
 
-#: access/transam/xlog.c:8030
+#: access/transam/xlog.c:8028
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "konsistenter Wiederherstellungszustand erreicht bei %X/%X"
 
-#: access/transam/xlog.c:8240
+#: access/transam/xlog.c:8238
 #, c-format
 msgid "invalid primary checkpoint link in control file"
 msgstr "ungültige primäre Checkpoint-Verknüpfung in Kontrolldatei"
 
-#: access/transam/xlog.c:8244
+#: access/transam/xlog.c:8242
 #, c-format
 msgid "invalid checkpoint link in backup_label file"
 msgstr "ungültige Checkpoint-Verknüpfung in backup_label-Datei"
 
-#: access/transam/xlog.c:8262
+#: access/transam/xlog.c:8260
 #, c-format
 msgid "invalid primary checkpoint record"
 msgstr "ungültiger primärer Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:8266
+#: access/transam/xlog.c:8264
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "ungültiger Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:8277
+#: access/transam/xlog.c:8275
 #, c-format
 msgid "invalid resource manager ID in primary checkpoint record"
 msgstr "ungültige Resource-Manager-ID im primären Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:8281
+#: access/transam/xlog.c:8279
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "ungültige Resource-Manager-ID im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:8294
+#: access/transam/xlog.c:8292
 #, c-format
 msgid "invalid xl_info in primary checkpoint record"
 msgstr "ungültige xl_info im primären Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:8298
+#: access/transam/xlog.c:8296
 #, c-format
 msgid "invalid xl_info in checkpoint record"
 msgstr "ungültige xl_info im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:8309
+#: access/transam/xlog.c:8307
 #, c-format
 msgid "invalid length of primary checkpoint record"
 msgstr "ungültige Länge des primären Checkpoint-Datensatzes"
 
-#: access/transam/xlog.c:8313
+#: access/transam/xlog.c:8311
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "ungültige Länge des Checkpoint-Datensatzes"
 
-#: access/transam/xlog.c:8493
+#: access/transam/xlog.c:8491
 #, c-format
 msgid "shutting down"
 msgstr "fahre herunter"
 
-#: access/transam/xlog.c:8799
+#: access/transam/xlog.c:8797
 #, c-format
 msgid "checkpoint skipped because system is idle"
 msgstr "Checkpoint übersprungen weil das System inaktiv ist"
 
-#: access/transam/xlog.c:8999
+#: access/transam/xlog.c:8997
 #, 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:9256
+#: access/transam/xlog.c:9262
 #, c-format
 msgid "skipping restartpoint, recovery has already ended"
 msgstr "Restart-Punkt übersprungen, Wiederherstellung ist bereits beendet"
 
-#: access/transam/xlog.c:9279
+#: access/transam/xlog.c:9285
 #, c-format
 msgid "skipping restartpoint, already performed at %X/%X"
 msgstr "Restart-Punkt wird übersprungen, schon bei %X/%X erledigt"
 
-#: access/transam/xlog.c:9447
+#: access/transam/xlog.c:9461
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "Recovery-Restart-Punkt bei %X/%X"
 
-#: access/transam/xlog.c:9449
+#: access/transam/xlog.c:9463
 #, 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:9691
+#: access/transam/xlog.c:9711
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "Restore-Punkt »%s« erzeugt bei %X/%X"
 
-#: access/transam/xlog.c:9836
+#: access/transam/xlog.c:9856
 #, c-format
 msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record"
 msgstr "unerwartete vorherige Zeitleisten-ID %u (aktuelle Zeitleisten-ID %u) im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:9845
+#: access/transam/xlog.c:9865
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr "unerwartete Zeitleisten-ID %u (nach %u) im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:9861
+#: access/transam/xlog.c:9881
 #, c-format
 msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
 msgstr "unerwartete Zeitleisten-ID %u in Checkpoint-Datensatz, bevor der minimale Wiederherstellungspunkt %X/%X auf Zeitleiste %u erreicht wurde"
 
-#: access/transam/xlog.c:9937
+#: access/transam/xlog.c:9957
 #, c-format
 msgid "online backup was canceled, recovery cannot continue"
 msgstr "Online-Sicherung wurde storniert, Wiederherstellung kann nicht fortgesetzt werden"
 
-#: access/transam/xlog.c:9993 access/transam/xlog.c:10049
-#: access/transam/xlog.c:10072
+#: access/transam/xlog.c:10013 access/transam/xlog.c:10069
+#: access/transam/xlog.c:10092
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
 msgstr "unerwartete Zeitleisten-ID %u (sollte %u sein) im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:10398
+#: access/transam/xlog.c:10418
 #, c-format
 msgid "could not fsync write-through file \"%s\": %m"
 msgstr "konnte Write-Through-Logdatei »%s« nicht fsyncen: %m"
 
-#: access/transam/xlog.c:10404
+#: access/transam/xlog.c:10424
 #, c-format
 msgid "could not fdatasync file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht fdatasyncen: %m"
 
-#: access/transam/xlog.c:10503 access/transam/xlog.c:11041
+#: access/transam/xlog.c:10523 access/transam/xlog.c:11061
 #: access/transam/xlogfuncs.c:275 access/transam/xlogfuncs.c:302
 #: access/transam/xlogfuncs.c:341 access/transam/xlogfuncs.c:362
 #: access/transam/xlogfuncs.c:383
@@ -2717,201 +2718,201 @@ msgstr "konnte Datei »%s« nicht fdatasyncen: %m"
 msgid "WAL control functions cannot be executed during recovery."
 msgstr "Während der Wiederherstellung können keine WAL-Kontrollfunktionen ausgeführt werden."
 
-#: access/transam/xlog.c:10512 access/transam/xlog.c:11050
+#: access/transam/xlog.c:10532 access/transam/xlog.c:11070
 #, 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:10513 access/transam/xlog.c:11051
+#: access/transam/xlog.c:10533 access/transam/xlog.c:11071
 #: access/transam/xlogfuncs.c:308
 #, 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:10518
+#: access/transam/xlog.c:10538
 #, c-format
 msgid "backup label too long (max %d bytes)"
 msgstr "Backup-Label zu lang (maximal %d Bytes)"
 
-#: access/transam/xlog.c:10555 access/transam/xlog.c:10840
-#: access/transam/xlog.c:10878
+#: access/transam/xlog.c:10575 access/transam/xlog.c:10860
+#: access/transam/xlog.c:10898
 #, c-format
 msgid "a backup is already in progress"
 msgstr "ein Backup läuft bereits"
 
-#: access/transam/xlog.c:10556
+#: access/transam/xlog.c:10576
 #, c-format
 msgid "Run pg_stop_backup() and try again."
 msgstr "Führen Sie pg_stop_backup() aus und versuchen Sie es nochmal."
 
-#: access/transam/xlog.c:10652
+#: access/transam/xlog.c:10672
 #, 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:10654 access/transam/xlog.c:11246
+#: access/transam/xlog.c:10674 access/transam/xlog.c:11266
 #, c-format
 msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the master, and then try an online backup again."
 msgstr "Das bedeutet, dass die aktuelle Datensicherung auf dem Standby-Server verfälscht ist und nicht verwendet werden sollte. Schalten Sie full_page_writes ein, führen Sie CHECKPOINT aus und versuchen Sie dann die Online-Sicherung erneut."
 
-#: access/transam/xlog.c:10737 replication/basebackup.c:1423
+#: access/transam/xlog.c:10757 replication/basebackup.c:1423
 #: utils/adt/misc.c:342
 #, 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:10790 commands/tablespace.c:402
+#: access/transam/xlog.c:10810 commands/tablespace.c:402
 #: commands/tablespace.c:578 replication/basebackup.c:1438 utils/adt/misc.c:350
 #, c-format
 msgid "tablespaces are not supported on this platform"
 msgstr "Tablespaces werden auf dieser Plattform nicht unterstützt"
 
-#: access/transam/xlog.c:10841 access/transam/xlog.c:10879
+#: access/transam/xlog.c:10861 access/transam/xlog.c:10899
 #, c-format
 msgid "If you're sure there is no backup in progress, remove file \"%s\" and try again."
 msgstr "Wenn Sie sicher sind, dass noch kein Backup läuft, entfernen Sie die Datei »%s« und versuchen Sie es noch einmal."
 
-#: access/transam/xlog.c:11066
+#: access/transam/xlog.c:11086
 #, c-format
 msgid "exclusive backup not in progress"
 msgstr "es läuft kein exklusives Backup"
 
-#: access/transam/xlog.c:11093
+#: access/transam/xlog.c:11113
 #, c-format
 msgid "a backup is not in progress"
 msgstr "es läuft kein Backup"
 
-#: access/transam/xlog.c:11179 access/transam/xlog.c:11192
-#: access/transam/xlog.c:11581 access/transam/xlog.c:11587
-#: access/transam/xlog.c:11635 access/transam/xlog.c:11708
+#: access/transam/xlog.c:11199 access/transam/xlog.c:11212
+#: access/transam/xlog.c:11601 access/transam/xlog.c:11607
+#: access/transam/xlog.c:11655 access/transam/xlog.c:11728
 #: access/transam/xlogfuncs.c:692
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "ungültige Daten in Datei »%s«"
 
-#: access/transam/xlog.c:11196 replication/basebackup.c:1271
+#: access/transam/xlog.c:11216 replication/basebackup.c:1271
 #, 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:11197 replication/basebackup.c:1272
+#: access/transam/xlog.c:11217 replication/basebackup.c:1272
 #, 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:11244
+#: access/transam/xlog.c:11264
 #, 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:11364
+#: access/transam/xlog.c:11384
 #, 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:11376
+#: access/transam/xlog.c:11396
 #, 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:11378
+#: access/transam/xlog.c:11398
 #, 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:11385
+#: access/transam/xlog.c:11405
 #, c-format
 msgid "all required WAL segments have been archived"
 msgstr "alle benötigten WAL-Segmente wurden archiviert"
 
-#: access/transam/xlog.c:11389
+#: access/transam/xlog.c:11409
 #, 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:11442
+#: access/transam/xlog.c:11462
 #, c-format
 msgid "aborting backup due to backend exiting before pg_stop_backup was called"
 msgstr "Backup wird abgebrochen, weil Backend-Prozess beendete, bevor pg_stop_backup aufgerufen wurde"
 
-#: access/transam/xlog.c:11618
+#: access/transam/xlog.c:11638
 #, c-format
 msgid "backup time %s in file \"%s\""
 msgstr "Backup-Zeit %s in Datei »%s«"
 
-#: access/transam/xlog.c:11623
+#: access/transam/xlog.c:11643
 #, c-format
 msgid "backup label %s in file \"%s\""
 msgstr "Backup-Label %s in Datei »%s«"
 
-#: access/transam/xlog.c:11636
+#: access/transam/xlog.c:11656
 #, c-format
 msgid "Timeline ID parsed is %u, but expected %u."
 msgstr "Gelesene Zeitleisten-ID ist %u, aber %u wurde erwartet."
 
-#: access/transam/xlog.c:11640
+#: access/transam/xlog.c:11660
 #, c-format
 msgid "backup timeline %u in file \"%s\""
 msgstr "Backup-Zeitleiste %u in Datei »%s«"
 
 #. translator: %s is a WAL record description
-#: access/transam/xlog.c:11748
+#: access/transam/xlog.c:11768
 #, c-format
 msgid "WAL redo at %X/%X for %s"
 msgstr "WAL-Redo bei %X/%X für %s"
 
-#: access/transam/xlog.c:11797
+#: access/transam/xlog.c:11817
 #, c-format
 msgid "online backup mode was not canceled"
 msgstr "Online-Sicherungsmodus wurde nicht storniert"
 
-#: access/transam/xlog.c:11798
+#: access/transam/xlog.c:11818
 #, c-format
 msgid "File \"%s\" could not be renamed to \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht in »%s« umbenennen: %m."
 
-#: access/transam/xlog.c:11807 access/transam/xlog.c:11819
-#: access/transam/xlog.c:11829
+#: access/transam/xlog.c:11827 access/transam/xlog.c:11839
+#: access/transam/xlog.c:11849
 #, c-format
 msgid "online backup mode canceled"
 msgstr "Online-Sicherungsmodus storniert"
 
-#: access/transam/xlog.c:11820
+#: access/transam/xlog.c:11840
 #, c-format
 msgid "Files \"%s\" and \"%s\" were renamed to \"%s\" and \"%s\", respectively."
 msgstr "Dateien »%s« und »%s« wurden in »%s« und »%s« umbenannt."
 
-#: access/transam/xlog.c:11830
+#: access/transam/xlog.c:11850
 #, c-format
 msgid "File \"%s\" was renamed to \"%s\", but file \"%s\" could not be renamed to \"%s\": %m."
 msgstr "Datei »%s« wurde in »%s« umbenannt, aber Datei »%s« konnte nicht in »%s« umbenannt werden: %m."
 
-#: access/transam/xlog.c:11963 access/transam/xlogutils.c:971
+#: access/transam/xlog.c:11983 access/transam/xlogutils.c:971
 #, c-format
 msgid "could not read from log segment %s, offset %u: %m"
 msgstr "konnte nicht aus Logsegment %s, Position %u lesen: %m"
 
-#: access/transam/xlog.c:11969 access/transam/xlogutils.c:978
+#: access/transam/xlog.c:11989 access/transam/xlogutils.c:978
 #, c-format
 msgid "could not read from log segment %s, offset %u: read %d of %zu"
 msgstr "konnte nicht aus Logsegment %s bei Position %u lesen: %d von %zu gelesen"
 
-#: access/transam/xlog.c:12495
+#: access/transam/xlog.c:12526
 #, c-format
 msgid "WAL receiver process shutdown requested"
 msgstr "Herunterfahren des WAL-Receiver-Prozesses verlangt"
 
-#: access/transam/xlog.c:12601
+#: access/transam/xlog.c:12632
 #, c-format
 msgid "received promote request"
 msgstr "Anforderung zum Befördern empfangen"
 
-#: access/transam/xlog.c:12614
+#: access/transam/xlog.c:12645
 #, c-format
 msgid "promote trigger file found: %s"
 msgstr "Promote-Triggerdatei gefunden: %s"
 
-#: access/transam/xlog.c:12623
+#: access/transam/xlog.c:12654
 #, c-format
 msgid "could not stat promote trigger file \"%s\": %m"
 msgstr "konnte »stat« für Promote-Triggerdatei »%s« nicht ausführen: %m"
@@ -2966,32 +2967,32 @@ msgstr "Meinten Sie pg_stop_backup('f')?"
 
 #: access/transam/xlogfuncs.c:185 commands/event_trigger.c:1332
 #: commands/event_trigger.c:1890 commands/extension.c:1944
-#: commands/extension.c:2052 commands/extension.c:2337 commands/prepare.c:712
-#: executor/execExpr.c:2210 executor/execSRF.c:728 executor/functions.c:1040
+#: commands/extension.c:2052 commands/extension.c:2337 commands/prepare.c:716
+#: executor/execExpr.c:2241 executor/execSRF.c:728 executor/functions.c:1040
 #: foreign/foreign.c:520 libpq/hba.c:2666 replication/logical/launcher.c:1086
 #: replication/logical/logicalfuncs.c:157 replication/logical/origin.c:1486
-#: replication/slotfuncs.c:252 replication/walsender.c:3258
+#: replication/slotfuncs.c:252 replication/walsender.c:3264
 #: storage/ipc/shmem.c:550 utils/adt/datetime.c:4765 utils/adt/genfile.c:505
 #: utils/adt/genfile.c:588 utils/adt/jsonfuncs.c:1792
 #: utils/adt/jsonfuncs.c:1904 utils/adt/jsonfuncs.c:2092
 #: utils/adt/jsonfuncs.c:2201 utils/adt/jsonfuncs.c:3663 utils/adt/misc.c:215
 #: utils/adt/pgstatfuncs.c:476 utils/adt/pgstatfuncs.c:584
 #: utils/adt/pgstatfuncs.c:1719 utils/fmgr/funcapi.c:72 utils/misc/guc.c:9676
-#: utils/mmgr/portalmem.c:1136
+#: utils/mmgr/portalmem.c:1141
 #, 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"
 
 #: access/transam/xlogfuncs.c:189 commands/event_trigger.c:1336
 #: commands/event_trigger.c:1894 commands/extension.c:1948
-#: commands/extension.c:2056 commands/extension.c:2341 commands/prepare.c:716
+#: commands/extension.c:2056 commands/extension.c:2341 commands/prepare.c:720
 #: foreign/foreign.c:525 libpq/hba.c:2670 replication/logical/launcher.c:1090
 #: replication/logical/logicalfuncs.c:161 replication/logical/origin.c:1490
-#: replication/slotfuncs.c:256 replication/walsender.c:3262
+#: replication/slotfuncs.c:256 replication/walsender.c:3268
 #: storage/ipc/shmem.c:554 utils/adt/datetime.c:4769 utils/adt/genfile.c:509
 #: utils/adt/genfile.c:592 utils/adt/misc.c:219 utils/adt/pgstatfuncs.c:480
 #: utils/adt/pgstatfuncs.c:588 utils/adt/pgstatfuncs.c:1723
-#: utils/misc/guc.c:9680 utils/misc/pg_config.c:43 utils/mmgr/portalmem.c:1140
+#: utils/misc/guc.c:9680 utils/misc/pg_config.c:43 utils/mmgr/portalmem.c:1145
 #, 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"
@@ -3198,12 +3199,12 @@ msgstr "ungültiges komprimiertes Abbild bei %X/%X, Block %d"
 msgid "-X requires a power of two value between 1 MB and 1 GB"
 msgstr "-X benötigt eine Zweierpotenz zwischen 1 MB und 1 GB"
 
-#: bootstrap/bootstrap.c:288 postmaster/postmaster.c:842 tcop/postgres.c:3717
+#: bootstrap/bootstrap.c:288 postmaster/postmaster.c:842 tcop/postgres.c:3727
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s benötigt einen Wert"
 
-#: bootstrap/bootstrap.c:293 postmaster/postmaster.c:847 tcop/postgres.c:3722
+#: bootstrap/bootstrap.c:293 postmaster/postmaster.c:847 tcop/postgres.c:3732
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s benötigt einen Wert"
@@ -3361,20 +3362,20 @@ msgstr "Large Object %u existiert nicht"
 #: commands/dbcommands.c:1529 commands/extension.c:1735
 #: commands/extension.c:1745 commands/extension.c:1755
 #: commands/extension.c:3055 commands/foreigncmds.c:539
-#: commands/foreigncmds.c:548 commands/functioncmds.c:570
-#: commands/functioncmds.c:736 commands/functioncmds.c:745
-#: commands/functioncmds.c:754 commands/functioncmds.c:763
-#: commands/functioncmds.c:2014 commands/functioncmds.c:2022
+#: commands/foreigncmds.c:548 commands/functioncmds.c:571
+#: commands/functioncmds.c:737 commands/functioncmds.c:746
+#: commands/functioncmds.c:755 commands/functioncmds.c:764
+#: commands/functioncmds.c:2015 commands/functioncmds.c:2023
 #: commands/publicationcmds.c:90 commands/publicationcmds.c:133
 #: commands/sequence.c:1267 commands/sequence.c:1277 commands/sequence.c:1287
 #: commands/sequence.c:1297 commands/sequence.c:1307 commands/sequence.c:1317
 #: commands/sequence.c:1327 commands/sequence.c:1337 commands/sequence.c:1347
-#: commands/subscriptioncmds.c:104 commands/subscriptioncmds.c:114
-#: commands/subscriptioncmds.c:124 commands/subscriptioncmds.c:134
-#: commands/subscriptioncmds.c:148 commands/subscriptioncmds.c:159
-#: commands/subscriptioncmds.c:173 commands/tablecmds.c:7108
-#: commands/typecmds.c:322 commands/typecmds.c:1355 commands/typecmds.c:1364
-#: commands/typecmds.c:1372 commands/typecmds.c:1380 commands/typecmds.c:1388
+#: commands/subscriptioncmds.c:105 commands/subscriptioncmds.c:115
+#: commands/subscriptioncmds.c:125 commands/subscriptioncmds.c:135
+#: commands/subscriptioncmds.c:151 commands/subscriptioncmds.c:162
+#: commands/subscriptioncmds.c:176 commands/tablecmds.c:7120
+#: commands/typecmds.c:322 commands/typecmds.c:1357 commands/typecmds.c:1366
+#: commands/typecmds.c:1374 commands/typecmds.c:1382 commands/typecmds.c:1390
 #: commands/user.c:133 commands/user.c:147 commands/user.c:156
 #: commands/user.c:165 commands/user.c:174 commands/user.c:183
 #: commands/user.c:192 commands/user.c:201 commands/user.c:210
@@ -3402,15 +3403,15 @@ msgstr "Klausel IN SCHEMA kann nicht verwendet werden, wenn GRANT/REVOKE ON SCHE
 
 #: catalog/aclchk.c:1561 catalog/catalog.c:506 catalog/objectaddress.c:1427
 #: commands/analyze.c:389 commands/copy.c:5088 commands/sequence.c:1702
-#: commands/tablecmds.c:6584 commands/tablecmds.c:6727
-#: commands/tablecmds.c:6777 commands/tablecmds.c:6851
-#: commands/tablecmds.c:6921 commands/tablecmds.c:7033
-#: commands/tablecmds.c:7127 commands/tablecmds.c:7186
-#: commands/tablecmds.c:7275 commands/tablecmds.c:7304
-#: commands/tablecmds.c:7459 commands/tablecmds.c:7541
-#: commands/tablecmds.c:7634 commands/tablecmds.c:7789
-#: commands/tablecmds.c:11110 commands/tablecmds.c:11292
-#: commands/tablecmds.c:11452 commands/tablecmds.c:12535 commands/trigger.c:866
+#: commands/tablecmds.c:6596 commands/tablecmds.c:6739
+#: commands/tablecmds.c:6789 commands/tablecmds.c:6863
+#: commands/tablecmds.c:6933 commands/tablecmds.c:7045
+#: commands/tablecmds.c:7139 commands/tablecmds.c:7198
+#: commands/tablecmds.c:7287 commands/tablecmds.c:7316
+#: commands/tablecmds.c:7471 commands/tablecmds.c:7553
+#: commands/tablecmds.c:7646 commands/tablecmds.c:7801
+#: commands/tablecmds.c:11122 commands/tablecmds.c:11304
+#: commands/tablecmds.c:11464 commands/tablecmds.c:12548 commands/trigger.c:884
 #: parser/analyze.c:2338 parser/parse_relation.c:713 parser/parse_target.c:1036
 #: parser/parse_type.c:144 parser/parse_utilcmd.c:3324
 #: parser/parse_utilcmd.c:3359 parser/parse_utilcmd.c:3401 utils/adt/acl.c:2869
@@ -3420,7 +3421,7 @@ msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "Spalte »%s« von Relation »%s« existiert nicht"
 
 #: catalog/aclchk.c:1824 catalog/objectaddress.c:1267 commands/sequence.c:1140
-#: commands/tablecmds.c:236 commands/tablecmds.c:15908 utils/adt/acl.c:2059
+#: commands/tablecmds.c:236 commands/tablecmds.c:15921 utils/adt/acl.c:2059
 #: utils/adt/acl.c:2089 utils/adt/acl.c:2121 utils/adt/acl.c:2153
 #: utils/adt/acl.c:2181 utils/adt/acl.c:2211
 #, c-format
@@ -3911,7 +3912,7 @@ msgstr "Erweiterung mit OID %u existiert nicht"
 msgid "publication with OID %u does not exist"
 msgstr "Publikation mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5300 commands/subscriptioncmds.c:1112
+#: catalog/aclchk.c:5300 commands/subscriptioncmds.c:1116
 #, c-format
 msgid "subscription with OID %u does not exist"
 msgstr "Subskription mit OID %u existiert nicht"
@@ -3999,7 +4000,7 @@ msgstr "kann %s nicht löschen, weil andere Objekte davon abhängen"
 #: catalog/dependency.c:1193 catalog/dependency.c:1194
 #: catalog/dependency.c:1200 catalog/dependency.c:1201
 #: catalog/dependency.c:1212 catalog/dependency.c:1213
-#: commands/tablecmds.c:1252 commands/tablecmds.c:13154
+#: commands/tablecmds.c:1252 commands/tablecmds.c:13167
 #: commands/tablespace.c:481 commands/user.c:1095 commands/view.c:495
 #: libpq/auth.c:334 replication/syncrep.c:1032 storage/lmgr/deadlock.c:1154
 #: storage/lmgr/proc.c:1350 utils/adt/acl.c:5332 utils/adt/jsonfuncs.c:614
@@ -4044,12 +4045,12 @@ msgid "System catalog modifications are currently disallowed."
 msgstr "Änderungen an Systemkatalogen sind gegenwärtig nicht erlaubt."
 
 #: catalog/heap.c:509 commands/tablecmds.c:2148 commands/tablecmds.c:2748
-#: commands/tablecmds.c:6181
+#: commands/tablecmds.c:6193
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "Tabellen können höchstens %d Spalten haben"
 
-#: catalog/heap.c:527 commands/tablecmds.c:6474
+#: catalog/heap.c:527 commands/tablecmds.c:6486
 #, c-format
 msgid "column name \"%s\" conflicts with a system column name"
 msgstr "Spaltenname »%s« steht im Konflikt mit dem Namen einer Systemspalte"
@@ -4093,7 +4094,7 @@ msgstr "Relation »%s« existiert bereits"
 
 #: catalog/heap.c:1180 catalog/pg_type.c:428 catalog/pg_type.c:775
 #: commands/typecmds.c:238 commands/typecmds.c:250 commands/typecmds.c:719
-#: commands/typecmds.c:1125 commands/typecmds.c:1337 commands/typecmds.c:2124
+#: commands/typecmds.c:1127 commands/typecmds.c:1339 commands/typecmds.c:2126
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "Typ »%s« existiert bereits"
@@ -4108,95 +4109,105 @@ msgstr "Eine Relation hat einen zugehörigen Typ mit dem selben Namen, daher mü
 msgid "pg_class heap OID value not set when in binary upgrade mode"
 msgstr "Heap-OID-Wert für pg_class ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: catalog/heap.c:2409
+#: catalog/heap.c:2417
 #, 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:2679
+#: catalog/heap.c:2687
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "Check-Constraint »%s« existiert bereits"
 
-#: catalog/heap.c:2849 catalog/index.c:879 catalog/pg_constraint.c:668
-#: commands/tablecmds.c:8139
+#: catalog/heap.c:2857 catalog/index.c:879 catalog/pg_constraint.c:668
+#: commands/tablecmds.c:8151
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "Constraint »%s« existiert bereits für Relation »%s«"
 
-#: catalog/heap.c:2856
+#: catalog/heap.c:2864
 #, 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:2867
+#: catalog/heap.c:2875
 #, 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:2877
+#: catalog/heap.c:2885
 #, 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:2882
+#: catalog/heap.c:2890
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "Constraint »%s« wird mit geerbter Definition zusammengeführt"
 
-#: catalog/heap.c:2984
+#: catalog/heap.c:2995
 #, 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:2986
+#: catalog/heap.c:2997
 #, 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:3038
+#: catalog/heap.c:3003
+#, 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:3004
+#, 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:3057
 #, c-format
 msgid "generation expression is not immutable"
 msgstr "Generierungsausdruck ist nicht »immutable«"
 
-#: catalog/heap.c:3066 rewrite/rewriteHandler.c:1193
+#: catalog/heap.c:3085 rewrite/rewriteHandler.c:1193
 #, 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:3071 commands/prepare.c:367 parser/parse_node.c:412
+#: catalog/heap.c:3090 commands/prepare.c:371 parser/parse_node.c:412
 #: parser/parse_target.c:589 parser/parse_target.c:869
 #: parser/parse_target.c:879 rewrite/rewriteHandler.c:1198
 #, 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:3118
+#: catalog/heap.c:3137
 #, 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:3416
+#: catalog/heap.c:3435
 #, c-format
 msgid "unsupported ON COMMIT and foreign key combination"
 msgstr "nicht unterstützte Kombination aus ON COMMIT und Fremdschlüssel"
 
-#: catalog/heap.c:3417
+#: catalog/heap.c:3436
 #, 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:3422
+#: catalog/heap.c:3441
 #, 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:3423
+#: catalog/heap.c:3442
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "Tabelle »%s« verweist auf »%s«."
 
-#: catalog/heap.c:3425
+#: catalog/heap.c:3444
 #, 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."
@@ -4269,33 +4280,33 @@ msgid_plural "building index \"%s\" on table \"%s\" with request for %d parallel
 msgstr[0] "baue Index »%s« von Tabelle »%s« mit angefordertem %d parallelen Arbeitsprozess"
 msgstr[1] "baue Index »%s« von Tabelle »%s« mit angeforderten %d parallelen Arbeitsprozessen"
 
-#: catalog/index.c:3551
+#: catalog/index.c:3540
 #, c-format
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht reindizieren"
 
-#: catalog/index.c:3562 commands/indexcmds.c:3005
+#: catalog/index.c:3551 commands/indexcmds.c:3005
 #, c-format
 msgid "cannot reindex invalid index on TOAST table"
 msgstr "ungültiger Index einer TOAST-Tabelle kann nicht reindiziert werden"
 
-#: catalog/index.c:3684
+#: catalog/index.c:3673
 #, c-format
 msgid "index \"%s\" was reindexed"
 msgstr "Index »%s« wurde neu indiziert"
 
-#: catalog/index.c:3760 commands/indexcmds.c:3026
+#: catalog/index.c:3749 commands/indexcmds.c:3026
 #, c-format
 msgid "REINDEX of partitioned tables is not yet implemented, skipping \"%s\""
 msgstr "REINDEX von partitionierten Tabellen ist noch nicht implementiert, »%s« wird übersprungen"
 
-#: catalog/index.c:3815
+#: catalog/index.c:3804
 #, 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"
 
 #: catalog/namespace.c:257 catalog/namespace.c:461 catalog/namespace.c:553
-#: commands/trigger.c:5052
+#: commands/trigger.c:5072
 #, c-format
 msgid "cross-database references are not implemented: \"%s.%s.%s\""
 msgstr "Verweise auf andere Datenbanken sind nicht implementiert: »%s.%s.%s«"
@@ -4437,27 +4448,27 @@ msgid "List syntax is invalid."
 msgstr "Die Listensyntax ist ungültig."
 
 #: catalog/objectaddress.c:1275 catalog/pg_publication.c:57
-#: commands/policy.c:95 commands/policy.c:375 commands/policy.c:465
-#: commands/tablecmds.c:230 commands/tablecmds.c:272 commands/tablecmds.c:1992
-#: commands/tablecmds.c:5632 commands/tablecmds.c:11227
+#: commands/policy.c:96 commands/policy.c:376 commands/tablecmds.c:230
+#: commands/tablecmds.c:272 commands/tablecmds.c:1992 commands/tablecmds.c:5635
+#: commands/tablecmds.c:11239
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "»%s« ist keine Tabelle"
 
 #: catalog/objectaddress.c:1282 commands/tablecmds.c:242
-#: commands/tablecmds.c:5662 commands/tablecmds.c:15913 commands/view.c:119
+#: commands/tablecmds.c:5674 commands/tablecmds.c:15926 commands/view.c:119
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "»%s« ist keine Sicht"
 
 #: catalog/objectaddress.c:1289 commands/matview.c:175 commands/tablecmds.c:248
-#: commands/tablecmds.c:15918
+#: commands/tablecmds.c:15931
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "»%s« ist keine materialisierte Sicht"
 
 #: catalog/objectaddress.c:1296 commands/tablecmds.c:266
-#: commands/tablecmds.c:5665 commands/tablecmds.c:15923
+#: commands/tablecmds.c:5677 commands/tablecmds.c:15936
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "»%s« ist keine Fremdtabelle"
@@ -4477,8 +4488,8 @@ msgstr "Spaltenname muss qualifiziert werden"
 msgid "default value for column \"%s\" of relation \"%s\" does not exist"
 msgstr "Vorgabewert für Spalte »%s« von Relation »%s« existiert nicht"
 
-#: catalog/objectaddress.c:1550 commands/functioncmds.c:133
-#: commands/tablecmds.c:258 commands/typecmds.c:263 commands/typecmds.c:3275
+#: catalog/objectaddress.c:1550 commands/functioncmds.c:134
+#: commands/tablecmds.c:258 commands/typecmds.c:263 commands/typecmds.c:3282
 #: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:845
 #: utils/adt/acl.c:4435
 #, c-format
@@ -4570,7 +4581,7 @@ msgstr "Länge der Argumentliste muss genau %d sein"
 msgid "must be owner of large object %u"
 msgstr "Berechtigung nur für Eigentümer des Large Object %u"
 
-#: catalog/objectaddress.c:2408 commands/functioncmds.c:1445
+#: catalog/objectaddress.c:2408 commands/functioncmds.c:1446
 #, c-format
 msgid "must be owner of type %s or type %s"
 msgstr "Berechtigung nur für Eigentümer des Typs %s oder des Typs %s"
@@ -4947,7 +4958,7 @@ msgstr "Abschlussfunktion mit zusätzlichen Argumenten darf nicht als STRICT dek
 msgid "return type of combine function %s is not %s"
 msgstr "Rückgabetyp der Kombinierfunktion %s ist nicht %s"
 
-#: catalog/pg_aggregate.c:438 executor/nodeAgg.c:4197
+#: catalog/pg_aggregate.c:438 executor/nodeAgg.c:4201
 #, c-format
 msgid "combine function with transition type %s must not be declared STRICT"
 msgstr "Kombinierfunktion mit Übergangstyp %s darf nicht als STRICT deklariert sein"
@@ -5007,10 +5018,10 @@ msgstr "»%s« ist eine Hypothetical-Set-Aggregatfunktion."
 msgid "cannot change number of direct arguments of an aggregate function"
 msgstr "die Anzahl direkter Argumente einer Aggregatfunktion kann nicht geändert werden"
 
-#: catalog/pg_aggregate.c:870 commands/functioncmds.c:667
-#: commands/typecmds.c:1658 commands/typecmds.c:1704 commands/typecmds.c:1756
-#: commands/typecmds.c:1793 commands/typecmds.c:1827 commands/typecmds.c:1861
-#: commands/typecmds.c:1895 commands/typecmds.c:1972 commands/typecmds.c:2014
+#: catalog/pg_aggregate.c:870 commands/functioncmds.c:668
+#: commands/typecmds.c:1660 commands/typecmds.c:1706 commands/typecmds.c:1758
+#: commands/typecmds.c:1795 commands/typecmds.c:1829 commands/typecmds.c:1863
+#: commands/typecmds.c:1897 commands/typecmds.c:1974 commands/typecmds.c:2016
 #: parser/parse_func.c:414 parser/parse_func.c:443 parser/parse_func.c:468
 #: parser/parse_func.c:482 parser/parse_func.c:602 parser/parse_func.c:622
 #: parser/parse_func.c:2129 parser/parse_func.c:2320
@@ -5083,7 +5094,7 @@ msgstr "Konversion »%s« existiert bereits"
 msgid "default conversion for %s to %s already exists"
 msgstr "Standardumwandlung von %s nach %s existiert bereits"
 
-#: catalog/pg_depend.c:162 commands/extension.c:3324
+#: catalog/pg_depend.c:162 commands/extension.c:3332
 #, c-format
 msgid "%s is already a member of extension \"%s\""
 msgstr "%s ist schon Mitglied der Erweiterung »%s«"
@@ -5389,8 +5400,8 @@ msgstr "kann Objekte, die %s gehören, nicht löschen, weil sie vom Datenbanksys
 msgid "cannot reassign ownership of objects owned by %s because they are required by the database system"
 msgstr "kann den Eigentümer von den Objekten, die %s gehören, nicht ändern, weil die Objekte vom Datenbanksystem benötigt werden"
 
-#: catalog/pg_subscription.c:171 commands/subscriptioncmds.c:644
-#: commands/subscriptioncmds.c:858 commands/subscriptioncmds.c:1080
+#: catalog/pg_subscription.c:171 commands/subscriptioncmds.c:648
+#: commands/subscriptioncmds.c:862 commands/subscriptioncmds.c:1084
 #, c-format
 msgid "subscription \"%s\" does not exist"
 msgstr "Subskription »%s« existiert nicht"
@@ -5421,7 +5432,7 @@ msgstr "interne Größe %d ist ungültig für Typen mit Wertübergabe"
 msgid "alignment \"%c\" is invalid for variable-length type"
 msgstr "Ausrichtung »%c« ist ungültig für Typen variabler Länge"
 
-#: catalog/pg_type.c:321 commands/typecmds.c:3727
+#: catalog/pg_type.c:321 commands/typecmds.c:3734
 #, c-format
 msgid "fixed-size types must have storage PLAIN"
 msgstr "Typen mit fester Größe müssen Storage-Typ PLAIN haben"
@@ -5436,8 +5447,8 @@ msgstr "konnte keinen Arraytypnamen für Datentyp »%s« erzeugen"
 msgid "invalid page in block %u of relation %s"
 msgstr "ungültige Seite in Block %u von Relation %s"
 
-#: catalog/toasting.c:106 commands/indexcmds.c:639 commands/tablecmds.c:5644
-#: commands/tablecmds.c:15778
+#: catalog/toasting.c:106 commands/indexcmds.c:639 commands/tablecmds.c:5647
+#: commands/tablecmds.c:15791
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "»%s« ist keine Tabelle oder materialisierte Sicht"
@@ -5522,7 +5533,7 @@ msgstr "Serialisierungsfunktionen dürfen nur angegeben werden, wenn der Überga
 msgid "must specify both or neither of serialization and deserialization functions"
 msgstr "Serialisierungs- und Deserialisierungsfunktionen müssen zusammen angegeben werden"
 
-#: commands/aggregatecmds.c:436 commands/functioncmds.c:615
+#: commands/aggregatecmds.c:436 commands/functioncmds.c:616
 #, c-format
 msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE"
 msgstr "Parameter »parallel« muss SAFE, RESTRICTED oder UNSAFE sein"
@@ -5557,7 +5568,7 @@ msgstr "Sprache »%s« existiert bereits"
 msgid "publication \"%s\" already exists"
 msgstr "Publikation »%s« existiert bereits"
 
-#: commands/alter.c:99 commands/subscriptioncmds.c:371
+#: commands/alter.c:99 commands/subscriptioncmds.c:374
 #, c-format
 msgid "subscription \"%s\" already exists"
 msgstr "Subskription »%s« existiert bereits"
@@ -5634,7 +5645,7 @@ msgid "handler function is not specified"
 msgstr "keine Handler-Funktion angegeben"
 
 #: commands/amcmds.c:291 commands/event_trigger.c:183
-#: commands/foreigncmds.c:489 commands/proclang.c:79 commands/trigger.c:677
+#: commands/foreigncmds.c:489 commands/proclang.c:79 commands/trigger.c:695
 #: parser/parse_clause.c:941
 #, c-format
 msgid "function %s must return type %s"
@@ -5740,7 +5751,7 @@ msgstr "eine partitionierte Tabelle kann nicht geclustert werden"
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "es gibt keinen bereits geclusterten Index für Tabelle »%s«"
 
-#: commands/cluster.c:165 commands/tablecmds.c:12991 commands/tablecmds.c:14861
+#: commands/cluster.c:165 commands/tablecmds.c:13004 commands/tablecmds.c:14874
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "Index »%s« für Tabelle »%s« existiert nicht"
@@ -5755,7 +5766,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:432 commands/tablecmds.c:14871
+#: commands/cluster.c:432 commands/tablecmds.c:14884
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "»%s« ist kein Index für Tabelle »%s«"
@@ -6440,7 +6451,7 @@ msgstr "Generierte Spalten können nicht in COPY verwendet werden."
 msgid "column \"%s\" does not exist"
 msgstr "Spalte »%s« existiert nicht"
 
-#: commands/copy.c:5100 commands/tablecmds.c:2205 commands/trigger.c:875
+#: commands/copy.c:5100 commands/tablecmds.c:2205 commands/trigger.c:893
 #: parser/parse_target.c:1052 parser/parse_target.c:1063
 #, c-format
 msgid "column \"%s\" specified more than once"
@@ -6735,7 +6746,7 @@ msgstr "Argument von %s muss ein Typname sein"
 msgid "invalid argument for %s: \"%s\""
 msgstr "ungültiges Argument für %s: »%s«"
 
-#: commands/dropcmds.c:100 commands/functioncmds.c:1274
+#: commands/dropcmds.c:100 commands/functioncmds.c:1275
 #: utils/adt/ruleutils.c:2633
 #, c-format
 msgid "\"%s\" is an aggregate function"
@@ -6748,7 +6759,7 @@ msgstr "Verwenden Sie DROP AGGREGATE, um Aggregatfunktionen zu löschen."
 
 #: commands/dropcmds.c:158 commands/sequence.c:447 commands/tablecmds.c:3269
 #: commands/tablecmds.c:3427 commands/tablecmds.c:3472
-#: commands/tablecmds.c:15240 tcop/utility.c:1307
+#: commands/tablecmds.c:15253 tcop/utility.c:1307
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "Relation »%s« existiert nicht, wird übersprungen"
@@ -7208,17 +7219,17 @@ msgstr "geschachteltes ALTER EXTENSION wird nicht unterstützt"
 msgid "version \"%s\" of extension \"%s\" is already installed"
 msgstr "Version »%s« von Erweiterung »%s« ist bereits installiert"
 
-#: commands/extension.c:3336
+#: commands/extension.c:3344
 #, c-format
 msgid "cannot add schema \"%s\" to extension \"%s\" because the schema contains the extension"
 msgstr "kann Schema »%s« nicht zu Erweiterung »%s« hinzufügen, weil das Schema die Erweiterung enthält"
 
-#: commands/extension.c:3364
+#: commands/extension.c:3372
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s ist kein Mitglied der Erweiterung »%s«"
 
-#: commands/extension.c:3430
+#: commands/extension.c:3438
 #, c-format
 msgid "file \"%s\" is too large"
 msgstr "Datei »%s« ist zu groß"
@@ -7323,343 +7334,343 @@ msgstr "Fremddaten-Wrapper »%s« unterstützt IMPORT FOREIGN SCHEMA nicht"
 msgid "importing foreign table \"%s\""
 msgstr "importiere Fremdtabelle »%s«"
 
-#: commands/functioncmds.c:104
+#: commands/functioncmds.c:105
 #, c-format
 msgid "SQL function cannot return shell type %s"
 msgstr "SQL-Funktion kann keinen Hüllen-Rückgabetyp %s haben"
 
-#: commands/functioncmds.c:109
+#: commands/functioncmds.c:110
 #, c-format
 msgid "return type %s is only a shell"
 msgstr "Rückgabetyp %s ist nur eine Hülle"
 
-#: commands/functioncmds.c:139 parser/parse_type.c:354
+#: commands/functioncmds.c:140 parser/parse_type.c:354
 #, c-format
 msgid "type modifier cannot be specified for shell type \"%s\""
 msgstr "Typmodifikator kann für Hüllentyp »%s« nicht angegeben werden"
 
-#: commands/functioncmds.c:145
+#: commands/functioncmds.c:146
 #, c-format
 msgid "type \"%s\" is not yet defined"
 msgstr "Typ »%s« ist noch nicht definiert"
 
-#: commands/functioncmds.c:146
+#: commands/functioncmds.c:147
 #, c-format
 msgid "Creating a shell type definition."
 msgstr "Hüllentypdefinition wird erzeugt."
 
-#: commands/functioncmds.c:238
+#: commands/functioncmds.c:239
 #, c-format
 msgid "SQL function cannot accept shell type %s"
 msgstr "SQL-Funktion kann keinen Hüllentyp %s annehmen"
 
-#: commands/functioncmds.c:244
+#: commands/functioncmds.c:245
 #, c-format
 msgid "aggregate cannot accept shell type %s"
 msgstr "Aggregatfunktion kann keinen Hüllentyp %s annehmen"
 
-#: commands/functioncmds.c:249
+#: commands/functioncmds.c:250
 #, c-format
 msgid "argument type %s is only a shell"
 msgstr "Argumenttyp %s ist nur eine Hülle"
 
-#: commands/functioncmds.c:259
+#: commands/functioncmds.c:260
 #, c-format
 msgid "type %s does not exist"
 msgstr "Typ %s existiert nicht"
 
-#: commands/functioncmds.c:273
+#: commands/functioncmds.c:274
 #, c-format
 msgid "aggregates cannot accept set arguments"
 msgstr "Aggregatfunktionen können keine SETOF-Argumente haben"
 
-#: commands/functioncmds.c:277
+#: commands/functioncmds.c:278
 #, c-format
 msgid "procedures cannot accept set arguments"
 msgstr "Prozeduren können keine SETOF-Argumente haben"
 
-#: commands/functioncmds.c:281
+#: commands/functioncmds.c:282
 #, c-format
 msgid "functions cannot accept set arguments"
 msgstr "Funktionen können keine SETOF-Argumente haben"
 
-#: commands/functioncmds.c:289
+#: commands/functioncmds.c:290
 #, c-format
 msgid "procedures cannot have OUT arguments"
 msgstr "Prozeduren können keine OUT-Argumente haben"
 
-#: commands/functioncmds.c:290
+#: commands/functioncmds.c:291
 #, c-format
 msgid "INOUT arguments are permitted."
 msgstr "INOUT-Argumente sind erlaubt."
 
-#: commands/functioncmds.c:300
+#: commands/functioncmds.c:301
 #, c-format
 msgid "VARIADIC parameter must be the last input parameter"
 msgstr "VARIADIC-Parameter muss der letzte Eingabeparameter sein"
 
-#: commands/functioncmds.c:331
+#: commands/functioncmds.c:332
 #, c-format
 msgid "VARIADIC parameter must be an array"
 msgstr "VARIADIC-Parameter muss ein Array sein"
 
-#: commands/functioncmds.c:371
+#: commands/functioncmds.c:372
 #, c-format
 msgid "parameter name \"%s\" used more than once"
 msgstr "Parametername »%s« mehrmals angegeben"
 
-#: commands/functioncmds.c:386
+#: commands/functioncmds.c:387
 #, c-format
 msgid "only input parameters can have default values"
 msgstr "nur Eingabeparameter können Vorgabewerte haben"
 
-#: commands/functioncmds.c:401
+#: commands/functioncmds.c:402
 #, c-format
 msgid "cannot use table references in parameter default value"
 msgstr "Tabellenverweise können nicht in Parametervorgabewerten verwendet werden"
 
-#: commands/functioncmds.c:425
+#: commands/functioncmds.c:426
 #, c-format
 msgid "input parameters after one with a default value must also have defaults"
 msgstr "Eingabeparameter hinter einem mit Vorgabewert müssen auch einen Vorgabewert haben"
 
-#: commands/functioncmds.c:577 commands/functioncmds.c:768
+#: commands/functioncmds.c:578 commands/functioncmds.c:769
 #, c-format
 msgid "invalid attribute in procedure definition"
 msgstr "ungültiges Attribut in Prozedurdefinition"
 
-#: commands/functioncmds.c:673
+#: commands/functioncmds.c:674
 #, c-format
 msgid "support function %s must return type %s"
 msgstr "Unterstützungsfunktion %s muss Rückgabetyp %s haben"
 
-#: commands/functioncmds.c:684
+#: commands/functioncmds.c:685
 #, c-format
 msgid "must be superuser to specify a support function"
 msgstr "nur Superuser können eine Support-Funktion angeben"
 
-#: commands/functioncmds.c:800
+#: commands/functioncmds.c:801
 #, c-format
 msgid "no function body specified"
 msgstr "kein Funktionskörper angegeben"
 
-#: commands/functioncmds.c:810
+#: commands/functioncmds.c:811
 #, c-format
 msgid "no language specified"
 msgstr "keine Sprache angegeben"
 
-#: commands/functioncmds.c:835 commands/functioncmds.c:1319
+#: commands/functioncmds.c:836 commands/functioncmds.c:1320
 #, c-format
 msgid "COST must be positive"
 msgstr "COST muss positiv sein"
 
-#: commands/functioncmds.c:843 commands/functioncmds.c:1327
+#: commands/functioncmds.c:844 commands/functioncmds.c:1328
 #, c-format
 msgid "ROWS must be positive"
 msgstr "ROWS muss positiv sein"
 
-#: commands/functioncmds.c:897
+#: commands/functioncmds.c:898
 #, c-format
 msgid "only one AS item needed for language \"%s\""
 msgstr "nur ein AS-Element benötigt für Sprache »%s«"
 
-#: commands/functioncmds.c:995 commands/functioncmds.c:2048
+#: commands/functioncmds.c:996 commands/functioncmds.c:2049
 #: commands/proclang.c:259
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "Sprache »%s« existiert nicht"
 
-#: commands/functioncmds.c:997 commands/functioncmds.c:2050
+#: commands/functioncmds.c:998 commands/functioncmds.c:2051
 #, c-format
 msgid "Use CREATE EXTENSION to load the language into the database."
 msgstr "Verwenden Sie CREATE EXTENSION, um die Sprache in die Datenbank zu laden."
 
-#: commands/functioncmds.c:1032 commands/functioncmds.c:1311
+#: commands/functioncmds.c:1033 commands/functioncmds.c:1312
 #, c-format
 msgid "only superuser can define a leakproof function"
 msgstr "nur Superuser können eine »leakproof«-Funktion definieren"
 
-#: commands/functioncmds.c:1081
+#: commands/functioncmds.c:1082
 #, c-format
 msgid "function result type must be %s because of OUT parameters"
 msgstr "Ergebnistyp der Funktion muss %s sein wegen OUT-Parametern"
 
-#: commands/functioncmds.c:1094
+#: commands/functioncmds.c:1095
 #, c-format
 msgid "function result type must be specified"
 msgstr "Ergebnistyp der Funktion muss angegeben werden"
 
-#: commands/functioncmds.c:1146 commands/functioncmds.c:1331
+#: commands/functioncmds.c:1147 commands/functioncmds.c:1332
 #, c-format
 msgid "ROWS is not applicable when function does not return a set"
 msgstr "ROWS ist nicht anwendbar, wenn die Funktion keine Ergebnismenge zurückgibt"
 
-#: commands/functioncmds.c:1431
+#: commands/functioncmds.c:1432
 #, c-format
 msgid "source data type %s is a pseudo-type"
 msgstr "Quelldatentyp %s ist ein Pseudotyp"
 
-#: commands/functioncmds.c:1437
+#: commands/functioncmds.c:1438
 #, c-format
 msgid "target data type %s is a pseudo-type"
 msgstr "Zieldatentyp %s ist ein Pseudotyp"
 
-#: commands/functioncmds.c:1461
+#: commands/functioncmds.c:1462
 #, c-format
 msgid "cast will be ignored because the source data type is a domain"
 msgstr "Typumwandlung wird ignoriert werden, weil der Quelldatentyp eine Domäne ist"
 
-#: commands/functioncmds.c:1466
+#: commands/functioncmds.c:1467
 #, c-format
 msgid "cast will be ignored because the target data type is a domain"
 msgstr "Typumwandlung wird ignoriert werden, weil der Zieldatentyp eine Domäne ist"
 
-#: commands/functioncmds.c:1491
+#: commands/functioncmds.c:1492
 #, c-format
 msgid "cast function must take one to three arguments"
 msgstr "Typumwandlungsfunktion muss ein bis drei Argumente haben"
 
-#: commands/functioncmds.c:1495
+#: commands/functioncmds.c:1496
 #, c-format
 msgid "argument of cast function must match or be binary-coercible from source data type"
 msgstr "Argument der Typumwandlungsfunktion muss mit Quelldatentyp übereinstimmen oder in ihn binär-umwandelbar sein"
 
-#: commands/functioncmds.c:1499
+#: commands/functioncmds.c:1500
 #, c-format
 msgid "second argument of cast function must be type %s"
 msgstr "zweites Argument der Typumwandlungsfunktion muss Typ %s haben"
 
-#: commands/functioncmds.c:1504
+#: commands/functioncmds.c:1505
 #, c-format
 msgid "third argument of cast function must be type %s"
 msgstr "drittes Argument der Typumwandlungsfunktion muss Typ %s haben"
 
-#: commands/functioncmds.c:1509
+#: commands/functioncmds.c:1510
 #, c-format
 msgid "return data type of cast function must match or be binary-coercible to target data type"
 msgstr "Rückgabetyp der Typumwandlungsfunktion muss mit Zieldatentyp übereinstimmen oder in ihn binär-umwandelbar sein"
 
-#: commands/functioncmds.c:1520
+#: commands/functioncmds.c:1521
 #, c-format
 msgid "cast function must not be volatile"
 msgstr "Typumwandlungsfunktion darf nicht VOLATILE sein"
 
-#: commands/functioncmds.c:1525
+#: commands/functioncmds.c:1526
 #, c-format
 msgid "cast function must be a normal function"
 msgstr "Typumwandlungsfunktion muss eine normale Funktion sein"
 
-#: commands/functioncmds.c:1529
+#: commands/functioncmds.c:1530
 #, c-format
 msgid "cast function must not return a set"
 msgstr "Typumwandlungsfunktion darf keine Ergebnismenge zurückgeben"
 
-#: commands/functioncmds.c:1555
+#: commands/functioncmds.c:1556
 #, c-format
 msgid "must be superuser to create a cast WITHOUT FUNCTION"
 msgstr "nur Superuser können Typumwandlungen mit WITHOUT FUNCTION erzeugen"
 
-#: commands/functioncmds.c:1570
+#: commands/functioncmds.c:1571
 #, c-format
 msgid "source and target data types are not physically compatible"
 msgstr "Quelldatentyp und Zieldatentyp sind nicht physikalisch kompatibel"
 
-#: commands/functioncmds.c:1585
+#: commands/functioncmds.c:1586
 #, c-format
 msgid "composite data types are not binary-compatible"
 msgstr "zusammengesetzte Datentypen sind nicht binärkompatibel"
 
-#: commands/functioncmds.c:1591
+#: commands/functioncmds.c:1592
 #, c-format
 msgid "enum data types are not binary-compatible"
 msgstr "Enum-Datentypen sind nicht binärkompatibel"
 
-#: commands/functioncmds.c:1597
+#: commands/functioncmds.c:1598
 #, c-format
 msgid "array data types are not binary-compatible"
 msgstr "Array-Datentypen sind nicht binärkompatibel"
 
-#: commands/functioncmds.c:1614
+#: commands/functioncmds.c:1615
 #, c-format
 msgid "domain data types must not be marked binary-compatible"
 msgstr "Domänendatentypen dürfen nicht als binärkompatibel markiert werden"
 
-#: commands/functioncmds.c:1624
+#: commands/functioncmds.c:1625
 #, c-format
 msgid "source data type and target data type are the same"
 msgstr "Quelldatentyp und Zieldatentyp sind der selbe"
 
-#: commands/functioncmds.c:1682
+#: commands/functioncmds.c:1683
 #, c-format
 msgid "transform function must not be volatile"
 msgstr "Transformationsfunktion darf nicht VOLATILE sein"
 
-#: commands/functioncmds.c:1686
+#: commands/functioncmds.c:1687
 #, c-format
 msgid "transform function must be a normal function"
 msgstr "Transformationsfunktion muss eine normale Funktion sein"
 
-#: commands/functioncmds.c:1690
+#: commands/functioncmds.c:1691
 #, c-format
 msgid "transform function must not return a set"
 msgstr "Transformationsfunktion darf keine Ergebnismenge zurückgeben"
 
-#: commands/functioncmds.c:1694
+#: commands/functioncmds.c:1695
 #, c-format
 msgid "transform function must take one argument"
 msgstr "Transformationsfunktion muss ein Argument haben"
 
-#: commands/functioncmds.c:1698
+#: commands/functioncmds.c:1699
 #, c-format
 msgid "first argument of transform function must be type %s"
 msgstr "erstes Argument der Transformationsfunktion muss Typ %s haben"
 
-#: commands/functioncmds.c:1736
+#: commands/functioncmds.c:1737
 #, c-format
 msgid "data type %s is a pseudo-type"
 msgstr "Datentyp %s ist ein Pseudotyp"
 
-#: commands/functioncmds.c:1742
+#: commands/functioncmds.c:1743
 #, c-format
 msgid "data type %s is a domain"
 msgstr "Datentyp %s ist eine Domäne"
 
-#: commands/functioncmds.c:1782
+#: commands/functioncmds.c:1783
 #, c-format
 msgid "return data type of FROM SQL function must be %s"
 msgstr "Rückgabetyp der FROM-SQL-Funktion muss %s sein"
 
-#: commands/functioncmds.c:1808
+#: commands/functioncmds.c:1809
 #, c-format
 msgid "return data type of TO SQL function must be the transform data type"
 msgstr "Rückgabetyp der TO-SQL-Funktion muss der zu transformierende Datentyp sein"
 
-#: commands/functioncmds.c:1837
+#: commands/functioncmds.c:1838
 #, c-format
 msgid "transform for type %s language \"%s\" already exists"
 msgstr "Transformation für Typ %s Sprache »%s« existiert bereits"
 
-#: commands/functioncmds.c:1929
+#: commands/functioncmds.c:1930
 #, c-format
 msgid "transform for type %s language \"%s\" does not exist"
 msgstr "Transformation für Typ %s Sprache »%s« existiert nicht"
 
-#: commands/functioncmds.c:1980
+#: commands/functioncmds.c:1981
 #, c-format
 msgid "function %s already exists in schema \"%s\""
 msgstr "Funktion %s existiert bereits in Schema »%s«"
 
-#: commands/functioncmds.c:2035
+#: commands/functioncmds.c:2036
 #, c-format
 msgid "no inline code specified"
 msgstr "kein Inline-Code angegeben"
 
-#: commands/functioncmds.c:2081
+#: commands/functioncmds.c:2082
 #, c-format
 msgid "language \"%s\" does not support inline code execution"
 msgstr "Sprache »%s« unterstützt das Ausführen von Inline-Code nicht"
 
-#: commands/functioncmds.c:2193
+#: commands/functioncmds.c:2194
 #, c-format
 msgid "cannot pass more than %d argument to a procedure"
 msgid_plural "cannot pass more than %d arguments to a procedure"
@@ -7701,8 +7712,8 @@ 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:749 commands/tablecmds.c:742 commands/tablecmds.c:13300
-#: commands/tablecmds.c:13414
+#: commands/indexcmds.c:749 commands/tablecmds.c:742 commands/tablecmds.c:13313
+#: commands/tablecmds.c:13427
 #, 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"
@@ -7823,7 +7834,7 @@ msgstr "inkludierte Spalte unterstützt die Optionen NULLS FIRST/LAST nicht"
 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:1823 commands/tablecmds.c:16244 commands/typecmds.c:771
+#: commands/indexcmds.c:1823 commands/tablecmds.c:16257 commands/typecmds.c:771
 #: parser/parse_expr.c:2850 parser/parse_type.c:566 parser/parse_utilcmd.c:3684
 #: parser/parse_utilcmd.c:4245 utils/adt/misc.c:503
 #, c-format
@@ -7860,8 +7871,8 @@ msgstr "Zugriffsmethode »%s« unterstützt die Optionen ASC/DESC nicht"
 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:1978 commands/tablecmds.c:16269
-#: commands/tablecmds.c:16275 commands/typecmds.c:1945
+#: commands/indexcmds.c:1978 commands/tablecmds.c:16282
+#: commands/tablecmds.c:16288 commands/typecmds.c:1947
 #, 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«"
@@ -7877,7 +7888,7 @@ msgstr "Sie müssen für den Index eine Operatorklasse angeben oder eine Standar
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "Operatorklasse »%s« existiert nicht für Zugriffsmethode »%s«"
 
-#: commands/indexcmds.c:2031 commands/typecmds.c:1933
+#: commands/indexcmds.c:2031 commands/typecmds.c:1935
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr "Operatorklasse »%s« akzeptiert Datentyp %s nicht"
@@ -7943,7 +7954,7 @@ msgstr "Index »%s.%s« wurde neu indiziert"
 msgid "REINDEX is not yet implemented for partitioned indexes"
 msgstr "REINDEX ist für partitionierte Indexe noch nicht implementiert"
 
-#: commands/lockcmds.c:92 commands/tablecmds.c:5635 commands/trigger.c:285
+#: commands/lockcmds.c:92 commands/tablecmds.c:5638 commands/trigger.c:303
 #: rewrite/rewriteDefine.c:272 rewrite/rewriteDefine.c:939
 #, c-format
 msgid "\"%s\" is not a table or view"
@@ -8241,53 +8252,48 @@ msgstr "Join-Schätzfunktion %s muss Typ %s zurückgeben"
 msgid "operator attribute \"%s\" cannot be changed"
 msgstr "Operator-Attribut »%s« kann nicht geändert werden"
 
-#: commands/policy.c:88 commands/policy.c:381 commands/policy.c:471
-#: commands/statscmds.c:143 commands/tablecmds.c:1515 commands/tablecmds.c:1997
-#: commands/tablecmds.c:3079 commands/tablecmds.c:5614
-#: commands/tablecmds.c:8417 commands/tablecmds.c:15834
-#: commands/tablecmds.c:15869 commands/trigger.c:291 commands/trigger.c:1196
-#: commands/trigger.c:1305 rewrite/rewriteDefine.c:278
+#: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:143
+#: commands/tablecmds.c:1515 commands/tablecmds.c:1997
+#: commands/tablecmds.c:3079 commands/tablecmds.c:5617
+#: commands/tablecmds.c:8429 commands/tablecmds.c:15847
+#: commands/tablecmds.c:15882 commands/trigger.c:309 commands/trigger.c:1214
+#: commands/trigger.c:1323 rewrite/rewriteDefine.c:278
 #: rewrite/rewriteDefine.c:944 rewrite/rewriteRemove.c:80
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "keine Berechtigung: »%s« ist ein Systemkatalog"
 
-#: commands/policy.c:171
+#: commands/policy.c:172
 #, c-format
 msgid "ignoring specified roles other than PUBLIC"
 msgstr "angegebene Rollen außer PUBLIC werden ignoriert"
 
-#: commands/policy.c:172
+#: commands/policy.c:173
 #, c-format
 msgid "All roles are members of the PUBLIC role."
 msgstr "Alle Rollen sind Mitglieder der Rolle PUBLIC."
 
-#: commands/policy.c:495
-#, c-format
-msgid "role \"%s\" could not be removed from policy \"%s\" on \"%s\""
-msgstr "Rolle »%s« konnte nicht aus Policy »%s« für »%s« entfernt werden"
-
-#: commands/policy.c:704
+#: commands/policy.c:607
 #, c-format
 msgid "WITH CHECK cannot be applied to SELECT or DELETE"
 msgstr "WITH CHECK kann nicht auf SELECT oder DELETE angewendet werden"
 
-#: commands/policy.c:713 commands/policy.c:1018
+#: commands/policy.c:616 commands/policy.c:921
 #, c-format
 msgid "only WITH CHECK expression allowed for INSERT"
 msgstr "für INSERT sind nur WITH-CHECK-Ausdrücke erlaubt"
 
-#: commands/policy.c:788 commands/policy.c:1241
+#: commands/policy.c:691 commands/policy.c:1144
 #, c-format
 msgid "policy \"%s\" for table \"%s\" already exists"
 msgstr "Policy »%s« für Tabelle »%s« existiert bereits"
 
-#: commands/policy.c:990 commands/policy.c:1269 commands/policy.c:1340
+#: commands/policy.c:893 commands/policy.c:1172 commands/policy.c:1243
 #, c-format
 msgid "policy \"%s\" for table \"%s\" does not exist"
 msgstr "Policy »%s« für Tabelle »%s« existiert nicht"
 
-#: commands/policy.c:1008
+#: commands/policy.c:911
 #, c-format
 msgid "only USING expression allowed for SELECT, DELETE"
 msgstr "für SELECT und DELETE sind nur USING-Ausdrücke erlaubt"
@@ -8323,32 +8329,32 @@ msgstr "konnte Datentyp von Parameter $%d nicht ermitteln"
 msgid "utility statements cannot be prepared"
 msgstr "Utility-Anweisungen können nicht vorbereitet werden"
 
-#: commands/prepare.c:256 commands/prepare.c:261
+#: commands/prepare.c:267 commands/prepare.c:272
 #, c-format
 msgid "prepared statement is not a SELECT"
 msgstr "vorbereitete Anweisung ist kein SELECT"
 
-#: commands/prepare.c:328
+#: commands/prepare.c:332
 #, c-format
 msgid "wrong number of parameters for prepared statement \"%s\""
 msgstr "falsche Anzahl Parameter für vorbereitete Anweisung »%s«"
 
-#: commands/prepare.c:330
+#: commands/prepare.c:334
 #, c-format
 msgid "Expected %d parameters but got %d."
 msgstr "%d Parameter erwartet aber %d erhalten."
 
-#: commands/prepare.c:363
+#: commands/prepare.c:367
 #, c-format
 msgid "parameter $%d of type %s cannot be coerced to the expected type %s"
 msgstr "Parameter $%d mit Typ %s kann nicht in erwarteten Typ %s umgewandelt werden"
 
-#: commands/prepare.c:449
+#: commands/prepare.c:453
 #, c-format
 msgid "prepared statement \"%s\" already exists"
 msgstr "vorbereitete Anweisung »%s« existiert bereits"
 
-#: commands/prepare.c:488
+#: commands/prepare.c:492
 #, c-format
 msgid "prepared statement \"%s\" does not exist"
 msgstr "vorbereitete Anweisung »%s« existiert nicht"
@@ -8563,8 +8569,8 @@ msgstr "Sequenz muss im selben Schema wie die verknüpfte Tabelle sein"
 msgid "cannot change ownership of identity sequence"
 msgstr "kann Eigentümer einer Identitätssequenz nicht ändern"
 
-#: commands/sequence.c:1718 commands/tablecmds.c:12682
-#: commands/tablecmds.c:15260
+#: commands/sequence.c:1718 commands/tablecmds.c:12695
+#: commands/tablecmds.c:15273
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "Sequenz »%s« ist mit Tabelle »%s« verknüpft."
@@ -8624,12 +8630,12 @@ msgstr "doppelter Spaltenname in Statistikdefinition"
 msgid "unrecognized statistics kind \"%s\""
 msgstr "unbekannte Statistikart »%s«"
 
-#: commands/statscmds.c:451 commands/tablecmds.c:7438
+#: commands/statscmds.c:451 commands/tablecmds.c:7450
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "Statistikziel %d ist zu niedrig"
 
-#: commands/statscmds.c:459 commands/tablecmds.c:7446
+#: commands/statscmds.c:459 commands/tablecmds.c:7458
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "setze Statistikziel auf %d herab"
@@ -8639,130 +8645,130 @@ msgstr "setze Statistikziel auf %d herab"
 msgid "statistics object \"%s.%s\" does not exist, skipping"
 msgstr "Statistikobjekt »%s.%s« existiert nicht, wird übersprungen"
 
-#: commands/subscriptioncmds.c:181
+#: commands/subscriptioncmds.c:184
 #, c-format
 msgid "unrecognized subscription parameter: \"%s\""
 msgstr "unbekannter Subskriptionsparameter: »%s«"
 
 #. translator: both %s are strings of the form "option = value"
-#: commands/subscriptioncmds.c:195 commands/subscriptioncmds.c:201
-#: commands/subscriptioncmds.c:207 commands/subscriptioncmds.c:226
-#: commands/subscriptioncmds.c:232
+#: commands/subscriptioncmds.c:198 commands/subscriptioncmds.c:204
+#: commands/subscriptioncmds.c:210 commands/subscriptioncmds.c:229
+#: commands/subscriptioncmds.c:235
 #, c-format
 msgid "%s and %s are mutually exclusive options"
 msgstr "die Optionen %s und %s schließen einander aus"
 
 #. translator: both %s are strings of the form "option = value"
-#: commands/subscriptioncmds.c:239 commands/subscriptioncmds.c:245
+#: commands/subscriptioncmds.c:242 commands/subscriptioncmds.c:248
 #, c-format
 msgid "subscription with %s must also set %s"
 msgstr "Subskription mit %s muss auch %s setzen"
 
-#: commands/subscriptioncmds.c:287
+#: commands/subscriptioncmds.c:290
 #, c-format
 msgid "publication name \"%s\" used more than once"
 msgstr "Publikationsname »%s« mehrmals angegeben"
 
-#: commands/subscriptioncmds.c:351
+#: commands/subscriptioncmds.c:354
 #, c-format
 msgid "must be superuser to create subscriptions"
 msgstr "nur Superuser können Subskriptionen erzeugen"
 
-#: commands/subscriptioncmds.c:442 commands/subscriptioncmds.c:530
-#: replication/logical/tablesync.c:857 replication/logical/worker.c:2095
+#: commands/subscriptioncmds.c:445 commands/subscriptioncmds.c:534
+#: replication/logical/tablesync.c:861 replication/logical/worker.c:2135
 #, c-format
 msgid "could not connect to the publisher: %s"
 msgstr "konnte nicht mit dem Publikationsserver verbinden: %s"
 
-#: commands/subscriptioncmds.c:484
+#: commands/subscriptioncmds.c:487
 #, c-format
 msgid "created replication slot \"%s\" on publisher"
 msgstr "Replikations-Slot »%s« wurde auf dem Publikationsserver erzeugt"
 
 #. translator: %s is an SQL ALTER statement
-#: commands/subscriptioncmds.c:497
+#: commands/subscriptioncmds.c:500
 #, c-format
 msgid "tables were not subscribed, you will have to run %s to subscribe the tables"
 msgstr "keine Tabellen wurden zur Subskription hinzugefügt; Sie müssen %s ausführen, um Tabellen zur Subskription hinzuzufügen"
 
-#: commands/subscriptioncmds.c:586
+#: commands/subscriptioncmds.c:590
 #, c-format
 msgid "table \"%s.%s\" added to subscription \"%s\""
 msgstr "Tabelle »%s.%s« wurde zur Subskription »%s« hinzugefügt"
 
-#: commands/subscriptioncmds.c:610
+#: commands/subscriptioncmds.c:614
 #, c-format
 msgid "table \"%s.%s\" removed from subscription \"%s\""
 msgstr "Tabelle »%s.%s« wurde aus Subskription »%s« entfernt"
 
-#: commands/subscriptioncmds.c:682
+#: commands/subscriptioncmds.c:686
 #, c-format
 msgid "cannot set %s for enabled subscription"
 msgstr "für eine aktivierte Subskription kann nicht %s gesetzt werden"
 
-#: commands/subscriptioncmds.c:717
+#: commands/subscriptioncmds.c:721
 #, c-format
 msgid "cannot enable subscription that does not have a slot name"
 msgstr "eine Subskription ohne Slot-Name kann nicht aktiviert werden"
 
-#: commands/subscriptioncmds.c:763
+#: commands/subscriptioncmds.c:767
 #, c-format
 msgid "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions"
 msgstr "ALTER SUBSCRIPTION mit Refresh ist für deaktivierte Subskriptionen nicht erlaubt"
 
-#: commands/subscriptioncmds.c:764
+#: commands/subscriptioncmds.c:768
 #, c-format
 msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 msgstr "Verwenden Sie ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 
-#: commands/subscriptioncmds.c:782
+#: commands/subscriptioncmds.c:786
 #, c-format
 msgid "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions"
 msgstr "ALTER SUBSCRIPTION ... REFRESH ist für eine deaktivierte Subskription nicht erlaubt"
 
-#: commands/subscriptioncmds.c:862
+#: commands/subscriptioncmds.c:866
 #, c-format
 msgid "subscription \"%s\" does not exist, skipping"
 msgstr "Subskription »%s« existiert nicht, wird übersprungen"
 
-#: commands/subscriptioncmds.c:987
+#: commands/subscriptioncmds.c:991
 #, c-format
 msgid "could not connect to publisher when attempting to drop the replication slot \"%s\""
 msgstr "konnte beim Versuch den Replikations-Slot »%s« zu löschen nicht mit dem Publikationsserver verbinden"
 
-#: commands/subscriptioncmds.c:989 commands/subscriptioncmds.c:1004
-#: replication/logical/tablesync.c:906 replication/logical/tablesync.c:928
+#: commands/subscriptioncmds.c:993 commands/subscriptioncmds.c:1008
+#: replication/logical/tablesync.c:910 replication/logical/tablesync.c:932
 #, c-format
 msgid "The error was: %s"
 msgstr "Der Fehler war: %s"
 
 #. translator: %s is an SQL ALTER command
-#: commands/subscriptioncmds.c:991
+#: commands/subscriptioncmds.c:995
 #, c-format
 msgid "Use %s to disassociate the subscription from the slot."
 msgstr "Verwenden Sie %s, um die Subskription vom Slot zu trennen."
 
-#: commands/subscriptioncmds.c:1002
+#: commands/subscriptioncmds.c:1006
 #, c-format
 msgid "could not drop the replication slot \"%s\" on publisher"
 msgstr "konnte Replikations-Slot »%s« auf dem Publikationsserver nicht löschen"
 
-#: commands/subscriptioncmds.c:1007
+#: commands/subscriptioncmds.c:1011
 #, c-format
 msgid "dropped replication slot \"%s\" on publisher"
 msgstr "Replikations-Slot »%s« auf dem Publikationsserver wurde gelöscht"
 
-#: commands/subscriptioncmds.c:1044
+#: commands/subscriptioncmds.c:1048
 #, c-format
 msgid "permission denied to change owner of subscription \"%s\""
 msgstr "keine Berechtigung, um Eigentümer der Subskription »%s« zu ändern"
 
-#: commands/subscriptioncmds.c:1046
+#: commands/subscriptioncmds.c:1050
 #, c-format
 msgid "The owner of a subscription must be a superuser."
 msgstr "Der Eigentümer einer Subskription muss ein Superuser sein."
 
-#: commands/subscriptioncmds.c:1161
+#: commands/subscriptioncmds.c:1165
 #, c-format
 msgid "could not receive list of replicated tables from the publisher: %s"
 msgstr "konnte Liste der replizierten Tabellen nicht vom Publikationsserver empfangen: %s"
@@ -8823,7 +8829,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:252 commands/tablecmds.c:276 commands/tablecmds.c:17433
+#: commands/tablecmds.c:252 commands/tablecmds.c:276 commands/tablecmds.c:17446
 #: parser/parse_utilcmd.c:2206
 #, c-format
 msgid "index \"%s\" does not exist"
@@ -8847,8 +8853,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:264 commands/tablecmds.c:12521
-#: commands/tablecmds.c:15040
+#: commands/tablecmds.c:264 commands/tablecmds.c:12534
+#: commands/tablecmds.c:15053
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "Fremdtabelle »%s« existiert nicht"
@@ -8872,7 +8878,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:690 commands/tablecmds.c:13884
+#: commands/tablecmds.c:690 commands/tablecmds.c:13897
 #, c-format
 msgid "relation \"%s\" would be inherited from more than once"
 msgstr "von der Relation »%s« würde mehrmals geerbt werden"
@@ -8937,7 +8943,7 @@ msgstr "Truncate-Vorgang leert ebenfalls Tabelle »%s«"
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht leeren"
 
-#: commands/tablecmds.c:2262 commands/tablecmds.c:13781
+#: commands/tablecmds.c:2262 commands/tablecmds.c:13794
 #, c-format
 msgid "cannot inherit from partitioned table \"%s\""
 msgstr "von partitionierter Tabelle »%s« kann nicht geerbt werden"
@@ -8958,12 +8964,12 @@ msgstr "geerbte Relation »%s« ist keine Tabelle oder Fremdtabelle"
 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:2296 commands/tablecmds.c:13760
+#: commands/tablecmds.c:2296 commands/tablecmds.c:13773
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "von temporärer Relation »%s« kann nicht geerbt werden"
 
-#: commands/tablecmds.c:2306 commands/tablecmds.c:13768
+#: commands/tablecmds.c:2306 commands/tablecmds.c:13781
 #, c-format
 msgid "cannot inherit from temporary relation of another session"
 msgstr "von temporärer Relation einer anderen Sitzung kann nicht geerbt werden"
@@ -8994,7 +9000,7 @@ msgid "inherited column \"%s\" has a collation conflict"
 msgstr "geerbte Spalte »%s« hat Sortierfolgenkonflikt"
 
 #: commands/tablecmds.c:2381 commands/tablecmds.c:2654
-#: commands/tablecmds.c:6112
+#: commands/tablecmds.c:6124
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "»%s« gegen »%s«"
@@ -9010,7 +9016,7 @@ msgid "inherited column \"%s\" has a generation conflict"
 msgstr "geerbte Spalte »%s« hat einen Generierungskonflikt"
 
 #: commands/tablecmds.c:2493 commands/tablecmds.c:2548
-#: commands/tablecmds.c:11326 parser/parse_utilcmd.c:1286
+#: commands/tablecmds.c:11338 parser/parse_utilcmd.c:1286
 #: parser/parse_utilcmd.c:1329 parser/parse_utilcmd.c:1737
 #: parser/parse_utilcmd.c:1846
 #, c-format
@@ -9174,1028 +9180,1043 @@ msgstr "schreibe Tabelle »%s« neu"
 msgid "verifying table \"%s\""
 msgstr "überprüfe Tabelle »%s«"
 
-#: commands/tablecmds.c:5449
+#: commands/tablecmds.c:5452
 #, c-format
 msgid "column \"%s\" of relation \"%s\" contains null values"
 msgstr "Spalte »%s« von Relation »%s« enthält NULL-Werte"
 
-#: commands/tablecmds.c:5466
+#: commands/tablecmds.c:5469
 #, 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:5485 partitioning/partbounds.c:3225
+#: commands/tablecmds.c:5488 partitioning/partbounds.c:3225
 #, 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:5491
+#: commands/tablecmds.c:5494
 #, c-format
 msgid "partition constraint of relation \"%s\" is violated by some row"
 msgstr "Partitions-Constraint von Relation »%s« wird von irgendeiner Zeile verletzt"
 
-#: commands/tablecmds.c:5638 commands/trigger.c:1190 commands/trigger.c:1296
+#: commands/tablecmds.c:5641 commands/trigger.c:1208 commands/trigger.c:1314
 #, c-format
 msgid "\"%s\" is not a table, view, or foreign table"
 msgstr "»%s« ist keine Tabelle, Sicht oder Fremdtabelle"
 
-#: commands/tablecmds.c:5641
+#: commands/tablecmds.c:5644
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, or index"
 msgstr "»%s« ist weder Tabelle, Sicht, materialisierte Sicht noch Index"
 
-#: commands/tablecmds.c:5647
+#: commands/tablecmds.c:5650
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or index"
 msgstr "»%s« ist weder Tabelle, materialisierte Sicht noch Index"
 
-#: commands/tablecmds.c:5650
+#: commands/tablecmds.c:5653
+#, c-format
+msgid "\"%s\" is not a table, materialized view, index, or partitioned index"
+msgstr "»%s« ist weder Tabelle, materialisierte Sicht, Index noch partitionierter Index"
+
+#: commands/tablecmds.c:5656
+#, c-format
+msgid "\"%s\" is not a table, materialized view, index, partitioned index, or foreign table"
+msgstr "»%s« ist weder Tabelle, materialisierte Sicht, Index, partitionierter Index noch Fremdtabelle"
+
+#: commands/tablecmds.c:5659
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or foreign table"
 msgstr "»%s« ist weder Tabelle, materialisierte Sicht noch Fremdtabelle"
 
-#: commands/tablecmds.c:5653
+#: commands/tablecmds.c:5662
 #, c-format
 msgid "\"%s\" is not a table or foreign table"
 msgstr "»%s« ist keine Tabelle oder Fremdtabelle"
 
-#: commands/tablecmds.c:5656
+#: commands/tablecmds.c:5665
 #, c-format
 msgid "\"%s\" is not a table, composite type, or foreign table"
 msgstr "»%s« ist weder Tabelle, zusammengesetzter Typ noch Fremdtabelle"
 
-#: commands/tablecmds.c:5659
+#: commands/tablecmds.c:5668
 #, c-format
 msgid "\"%s\" is not a table, materialized view, index, or foreign table"
 msgstr "»%s« ist weder Tabelle, materialisierte Sicht, Index noch Fremdtabelle"
 
-#: commands/tablecmds.c:5669
+#: commands/tablecmds.c:5671
+#, c-format
+msgid "\"%s\" is not a table or partitioned index"
+msgstr "»%s« ist keine Tabelle und kein partitionierter Index"
+
+#: commands/tablecmds.c:5681
 #, c-format
 msgid "\"%s\" is of the wrong type"
 msgstr "»%s« hat den falschen Typ"
 
-#: commands/tablecmds.c:5872 commands/tablecmds.c:5879
+#: commands/tablecmds.c:5884 commands/tablecmds.c:5891
 #, 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:5886
+#: commands/tablecmds.c:5898
 #, 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:5893
+#: commands/tablecmds.c:5905
 #, 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:5949
+#: commands/tablecmds.c:5961
 #, 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:5951
+#: commands/tablecmds.c:5963
 #, 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:5997
+#: commands/tablecmds.c:6009
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "Typ %s ist kein zusammengesetzter Typ"
 
-#: commands/tablecmds.c:6024
+#: commands/tablecmds.c:6036
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "zu einer getypten Tabelle kann keine Spalte hinzugefügt werden"
 
-#: commands/tablecmds.c:6075
+#: commands/tablecmds.c:6087
 #, c-format
 msgid "cannot add column to a partition"
 msgstr "zu einer Partition kann keine Spalte hinzugefügt werden"
 
-#: commands/tablecmds.c:6104 commands/tablecmds.c:14011
+#: commands/tablecmds.c:6116 commands/tablecmds.c:14024
 #, 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:6110 commands/tablecmds.c:14018
+#: commands/tablecmds.c:6122 commands/tablecmds.c:14031
 #, 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:6124
+#: commands/tablecmds.c:6136
 #, 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:6167
+#: commands/tablecmds.c:6179
 #, 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:6404
+#: commands/tablecmds.c:6416
 #, 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:6482
+#: commands/tablecmds.c:6494
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists, skipping"
 msgstr "Spalte »%s« von Relation »%s« existiert bereits, wird übersprungen"
 
-#: commands/tablecmds.c:6489
+#: commands/tablecmds.c:6501
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "Spalte »%s« von Relation »%s« existiert bereits"
 
-#: commands/tablecmds.c:6555 commands/tablecmds.c:10964
+#: commands/tablecmds.c:6567 commands/tablecmds.c:10976
 #, 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:6556 commands/tablecmds.c:6860
-#: commands/tablecmds.c:7856 commands/tablecmds.c:10965
+#: commands/tablecmds.c:6568 commands/tablecmds.c:6872
+#: commands/tablecmds.c:7868 commands/tablecmds.c:10977
 #, c-format
 msgid "Do not specify the ONLY keyword."
 msgstr "Lassen Sie das Schlüsselwort ONLY weg."
 
-#: commands/tablecmds.c:6593 commands/tablecmds.c:6786
-#: commands/tablecmds.c:6928 commands/tablecmds.c:7042
-#: commands/tablecmds.c:7136 commands/tablecmds.c:7195
-#: commands/tablecmds.c:7313 commands/tablecmds.c:7479
-#: commands/tablecmds.c:7549 commands/tablecmds.c:7642
-#: commands/tablecmds.c:11119 commands/tablecmds.c:12544
+#: commands/tablecmds.c:6605 commands/tablecmds.c:6798
+#: commands/tablecmds.c:6940 commands/tablecmds.c:7054
+#: commands/tablecmds.c:7148 commands/tablecmds.c:7207
+#: commands/tablecmds.c:7325 commands/tablecmds.c:7491
+#: commands/tablecmds.c:7561 commands/tablecmds.c:7654
+#: commands/tablecmds.c:11131 commands/tablecmds.c:12557
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "Systemspalte »%s« kann nicht geändert werden"
 
-#: commands/tablecmds.c:6599 commands/tablecmds.c:6934
+#: commands/tablecmds.c:6611 commands/tablecmds.c:6946
 #, 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:6635
+#: commands/tablecmds.c:6647
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "Spalte »%s« ist in einem Primärschlüssel"
 
-#: commands/tablecmds.c:6657
+#: commands/tablecmds.c:6669
 #, 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:6857 commands/tablecmds.c:8315
+#: commands/tablecmds.c:6869 commands/tablecmds.c:8327
 #, 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:6858
+#: commands/tablecmds.c:6870
 #, 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:6893
+#: commands/tablecmds.c:6905
 #, c-format
 msgid "existing constraints on column \"%s.%s\" are sufficient to prove that it does not contain nulls"
 msgstr "die vorhandenen Constraints für Spalte »%s.%s« reichen aus, um zu beweisen, dass sie keine NULL-Werte enthält"
 
-#: commands/tablecmds.c:6936
+#: commands/tablecmds.c:6948
 #, c-format
 msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead."
 msgstr "Verwenden Sie stattdessen ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY."
 
-#: commands/tablecmds.c:6941
+#: commands/tablecmds.c:6953
 #, 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:6944
+#: commands/tablecmds.c:6956
 #, c-format
 msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead."
 msgstr "Verwenden Sie stattdessen ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION."
 
-#: commands/tablecmds.c:7053
+#: commands/tablecmds.c:7065
 #, 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:7059
+#: commands/tablecmds.c:7071
 #, 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:7065
+#: commands/tablecmds.c:7077
 #, 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:7142 commands/tablecmds.c:7203
+#: commands/tablecmds.c:7154 commands/tablecmds.c:7215
 #, 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:7208
+#: commands/tablecmds.c:7220
 #, 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:7261
+#: commands/tablecmds.c:7273
 #, 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:7283
+#: commands/tablecmds.c:7295
 #, c-format
 msgid "cannot drop generation expression from inherited column"
 msgstr "Generierungsausdruck von vererbter Spalte kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:7321
+#: commands/tablecmds.c:7333
 #, 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:7326
+#: commands/tablecmds.c:7338
 #, 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:7426
+#: commands/tablecmds.c:7438
 #, 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:7469
+#: commands/tablecmds.c:7481
 #, c-format
 msgid "column number %d of relation \"%s\" does not exist"
 msgstr "Spalte Nummer %d von Relation »%s« existiert nicht"
 
-#: commands/tablecmds.c:7488
+#: commands/tablecmds.c:7500
 #, 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:7493
+#: commands/tablecmds.c:7505
 #, 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:7495
+#: commands/tablecmds.c:7507
 #, c-format
 msgid "Alter statistics on table column instead."
 msgstr "Ändern Sie stattdessen die Statistiken für die Tabellenspalte."
 
-#: commands/tablecmds.c:7622
+#: commands/tablecmds.c:7634
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "ungültiger Storage-Typ »%s«"
 
-#: commands/tablecmds.c:7654
+#: commands/tablecmds.c:7666
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
 msgstr "Spaltendatentyp %s kann nur Storage-Typ PLAIN"
 
-#: commands/tablecmds.c:7736
+#: commands/tablecmds.c:7748
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "aus einer getypten Tabelle können keine Spalten gelöscht werden"
 
-#: commands/tablecmds.c:7795
+#: commands/tablecmds.c:7807
 #, 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:7808
+#: commands/tablecmds.c:7820
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "Systemspalte »%s« kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:7818
+#: commands/tablecmds.c:7830
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "geerbte Spalte »%s« kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:7831
+#: commands/tablecmds.c:7843
 #, 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:7855
+#: commands/tablecmds.c:7867
 #, 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:8036
+#: commands/tablecmds.c:8048
 #, 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:8061
+#: commands/tablecmds.c:8073
 #, 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:8395
+#: commands/tablecmds.c:8407
 #, 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:8401
+#: commands/tablecmds.c:8413
 #, 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:8404
+#: commands/tablecmds.c:8416
 #, 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:8411 commands/tablecmds.c:8816
+#: commands/tablecmds.c:8423 commands/tablecmds.c:8828
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "Relation »%s«, auf die verwiesen wird, ist keine Tabelle"
 
-#: commands/tablecmds.c:8434
+#: commands/tablecmds.c:8446
 #, 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:8441
+#: commands/tablecmds.c:8453
 #, 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:8447
+#: commands/tablecmds.c:8459
 #, 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:8451
+#: commands/tablecmds.c:8463
 #, 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:8517 commands/tablecmds.c:8523
+#: commands/tablecmds.c:8529 commands/tablecmds.c:8535
 #, 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:8539
+#: commands/tablecmds.c:8551
 #, 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:8646
+#: commands/tablecmds.c:8658
 #, c-format
 msgid "foreign key constraint \"%s\" cannot be implemented"
 msgstr "Fremdschlüssel-Constraint »%s« kann nicht implementiert werden"
 
-#: commands/tablecmds.c:8648
+#: commands/tablecmds.c:8660
 #, 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:9011 commands/tablecmds.c:9404
+#: commands/tablecmds.c:9023 commands/tablecmds.c:9416
 #: parser/parse_utilcmd.c:790 parser/parse_utilcmd.c:919
 #, 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:9771 commands/tablecmds.c:10049
-#: commands/tablecmds.c:10921 commands/tablecmds.c:10996
+#: commands/tablecmds.c:9783 commands/tablecmds.c:10061
+#: commands/tablecmds.c:10933 commands/tablecmds.c:11008
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist"
 msgstr "Constraint »%s« von Relation »%s« existiert nicht"
 
-#: commands/tablecmds.c:9778
+#: commands/tablecmds.c:9790
 #, 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:9816
+#: commands/tablecmds.c:9828
 #, c-format
 msgid "cannot alter constraint \"%s\" on relation \"%s\""
 msgstr "Constraint »%s« von Relation »%s« kann nicht geändert werden"
 
-#: commands/tablecmds.c:9819
+#: commands/tablecmds.c:9831
 #, 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:9821
+#: commands/tablecmds.c:9833
 #, 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:10057
+#: commands/tablecmds.c:10069
 #, 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:10135
+#: commands/tablecmds.c:10147
 #, c-format
 msgid "constraint must be validated on child tables too"
 msgstr "Constraint muss ebenso in den abgeleiteten Tabellen validiert werden"
 
-#: commands/tablecmds.c:10219
+#: commands/tablecmds.c:10231
 #, 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:10224
+#: commands/tablecmds.c:10236
 #, 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:10289
+#: commands/tablecmds.c:10301
 #, 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:10306
+#: commands/tablecmds.c:10318
 #, 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:10371
+#: commands/tablecmds.c:10383
 #, 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:10465
+#: commands/tablecmds.c:10477
 #, 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:10470
+#: commands/tablecmds.c:10482
 #, 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:10558
+#: commands/tablecmds.c:10570
 #, c-format
 msgid "validating foreign key constraint \"%s\""
 msgstr "validiere Fremdschlüssel-Constraint »%s«"
 
-#: commands/tablecmds.c:10877
+#: commands/tablecmds.c:10889
 #, 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:10927
+#: commands/tablecmds.c:10939
 #, 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:11103
+#: commands/tablecmds.c:11115
 #, c-format
 msgid "cannot alter column type of typed table"
 msgstr "Spaltentyp einer getypten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:11130
+#: commands/tablecmds.c:11142
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "kann vererbte Spalte »%s« nicht ändern"
 
-#: commands/tablecmds.c:11139
+#: commands/tablecmds.c:11151
 #, 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:11189
+#: commands/tablecmds.c:11201
 #, 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:11192
+#: commands/tablecmds.c:11204
 #, 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:11196
+#: commands/tablecmds.c:11208
 #, 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:11199
+#: commands/tablecmds.c:11211
 #, c-format
 msgid "You might need to specify \"USING %s::%s\"."
 msgstr "Sie müssen möglicherweise »USING %s::%s« angeben."
 
-#: commands/tablecmds.c:11299
+#: commands/tablecmds.c:11311
 #, 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:11327
+#: commands/tablecmds.c:11339
 #, 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:11338
+#: commands/tablecmds.c:11350
 #, 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:11463
+#: commands/tablecmds.c:11475
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "Typ der Spalte »%s« kann nicht zweimal geändert werden"
 
-#: commands/tablecmds.c:11501
+#: commands/tablecmds.c:11513
 #, 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:11506
+#: commands/tablecmds.c:11518
 #, 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:11584
+#: commands/tablecmds.c:11596
 #, 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:11585
+#: commands/tablecmds.c:11597
 #, c-format
 msgid "Column \"%s\" is used by generated column \"%s\"."
 msgstr "Spalte »%s« wird von generierter Spalte »%s« verwendet."
 
-#: commands/tablecmds.c:11606
+#: commands/tablecmds.c:11618
 #, 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:11607 commands/tablecmds.c:11626
-#: commands/tablecmds.c:11644
+#: commands/tablecmds.c:11619 commands/tablecmds.c:11638
+#: commands/tablecmds.c:11656
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s hängt von Spalte »%s« ab"
 
-#: commands/tablecmds.c:11625
+#: commands/tablecmds.c:11637
 #, 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:11643
+#: commands/tablecmds.c:11655
 #, 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:12652 commands/tablecmds.c:12664
+#: commands/tablecmds.c:12665 commands/tablecmds.c:12677
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "kann Eigentümer des Index »%s« nicht ändern"
 
-#: commands/tablecmds.c:12654 commands/tablecmds.c:12666
+#: commands/tablecmds.c:12667 commands/tablecmds.c:12679
 #, 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:12680
+#: commands/tablecmds.c:12693
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "kann Eigentümer der Sequenz »%s« nicht ändern"
 
-#: commands/tablecmds.c:12694 commands/tablecmds.c:15945
+#: commands/tablecmds.c:12707 commands/tablecmds.c:15958
 #, c-format
 msgid "Use ALTER TYPE instead."
 msgstr "Verwenden Sie stattdessen ALTER TYPE."
 
-#: commands/tablecmds.c:12703
+#: commands/tablecmds.c:12716
 #, c-format
 msgid "\"%s\" is not a table, view, sequence, or foreign table"
 msgstr "»%s« ist keine Tabelle, Sicht, Sequenz oder Fremdtabelle"
 
-#: commands/tablecmds.c:13043
+#: commands/tablecmds.c:13056
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "mehrere SET TABLESPACE Unterbefehle sind ungültig"
 
-#: commands/tablecmds.c:13120
+#: commands/tablecmds.c:13133
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, index, or TOAST table"
 msgstr "»%s« ist weder Tabelle, Sicht, materialisierte Sicht, Index noch TOAST-Tabelle"
 
-#: commands/tablecmds.c:13153 commands/view.c:494
+#: commands/tablecmds.c:13166 commands/view.c:494
 #, 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:13293
+#: commands/tablecmds.c:13306
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "Systemrelation »%s« kann nicht verschoben werden"
 
-#: commands/tablecmds.c:13309
+#: commands/tablecmds.c:13322
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "temporäre Tabellen anderer Sitzungen können nicht verschoben werden"
 
-#: commands/tablecmds.c:13483
+#: commands/tablecmds.c:13496
 #, 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:13495
+#: commands/tablecmds.c:13508
 #, 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:13587
+#: commands/tablecmds.c:13600
 #, 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:13603
+#: commands/tablecmds.c:13616
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "keine passenden Relationen in Tablespace »%s« gefunden"
 
-#: commands/tablecmds.c:13719
+#: commands/tablecmds.c:13732
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "Vererbung einer getypten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:13724 commands/tablecmds.c:14280
+#: commands/tablecmds.c:13737 commands/tablecmds.c:14293
 #, c-format
 msgid "cannot change inheritance of a partition"
 msgstr "Vererbung einer Partition kann nicht geändert werden"
 
-#: commands/tablecmds.c:13729
+#: commands/tablecmds.c:13742
 #, c-format
 msgid "cannot change inheritance of partitioned table"
 msgstr "Vererbung einer partitionierten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:13775
+#: commands/tablecmds.c:13788
 #, 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:13788
+#: commands/tablecmds.c:13801
 #, c-format
 msgid "cannot inherit from a partition"
 msgstr "von einer Partition kann nicht geerbt werden"
 
-#: commands/tablecmds.c:13810 commands/tablecmds.c:16585
+#: commands/tablecmds.c:13823 commands/tablecmds.c:16598
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "zirkuläre Vererbung ist nicht erlaubt"
 
-#: commands/tablecmds.c:13811 commands/tablecmds.c:16586
+#: commands/tablecmds.c:13824 commands/tablecmds.c:16599
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "»%s« ist schon von »%s« abgeleitet."
 
-#: commands/tablecmds.c:13824
+#: commands/tablecmds.c:13837
 #, 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:13826
+#: commands/tablecmds.c:13839
 #, 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:14029
+#: commands/tablecmds.c:14042
 #, 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:14038
+#: commands/tablecmds.c:14051
 #, 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:14088
+#: commands/tablecmds.c:14101
 #, c-format
 msgid "column \"%s\" in child table has a conflicting generation expression"
 msgstr "Spalte »%s« in abgeleiteter Tabelle hat einen widersprüchlichen Generierungsausdruck"
 
-#: commands/tablecmds.c:14116
+#: commands/tablecmds.c:14129
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "Spalte »%s« fehlt in abgeleiteter Tabelle"
 
-#: commands/tablecmds.c:14204
+#: commands/tablecmds.c:14217
 #, 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:14212
+#: commands/tablecmds.c:14225
 #, 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:14223
+#: commands/tablecmds.c:14236
 #, 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:14258
+#: commands/tablecmds.c:14271
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "Constraint »%s« fehlt in abgeleiteter Tabelle"
 
-#: commands/tablecmds.c:14347
+#: commands/tablecmds.c:14360
 #, c-format
 msgid "relation \"%s\" is not a partition of relation \"%s\""
 msgstr "Relation »%s« ist keine Partition von Relation »%s«"
 
-#: commands/tablecmds.c:14353
+#: commands/tablecmds.c:14366
 #, c-format
 msgid "relation \"%s\" is not a parent of relation \"%s\""
 msgstr "Relation »%s« ist keine Basisrelation von Relation »%s«"
 
-#: commands/tablecmds.c:14581
+#: commands/tablecmds.c:14594
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "getypte Tabellen können nicht erben"
 
-#: commands/tablecmds.c:14611
+#: commands/tablecmds.c:14624
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "Spalte »%s« fehlt in Tabelle"
 
-#: commands/tablecmds.c:14622
+#: commands/tablecmds.c:14635
 #, c-format
 msgid "table has column \"%s\" where type requires \"%s\""
 msgstr "Tabelle hat Spalte »%s«, aber Typ benötigt »%s«"
 
-#: commands/tablecmds.c:14631
+#: commands/tablecmds.c:14644
 #, c-format
 msgid "table \"%s\" has different type for column \"%s\""
 msgstr "Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«"
 
-#: commands/tablecmds.c:14645
+#: commands/tablecmds.c:14658
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "Tabelle hat zusätzliche Spalte »%s«"
 
-#: commands/tablecmds.c:14697
+#: commands/tablecmds.c:14710
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "»%s« ist keine getypte Tabelle"
 
-#: commands/tablecmds.c:14879
+#: commands/tablecmds.c:14892
 #, 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:14885
+#: commands/tablecmds.c:14898
 #, 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:14891
+#: commands/tablecmds.c:14904
 #, 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:14897
+#: commands/tablecmds.c:14910
 #, 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:14903
+#: commands/tablecmds.c:14916
 #, c-format
 msgid "cannot use invalid index \"%s\" as replica identity"
 msgstr "ungültiger Index »%s« kann nicht als Replik-Identität verwendet werden"
 
-#: commands/tablecmds.c:14920
+#: commands/tablecmds.c:14933
 #, 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:14927
+#: commands/tablecmds.c:14940
 #, 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:15120
+#: commands/tablecmds.c:15133
 #, 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:15144
+#: commands/tablecmds.c:15157
 #, 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:15146
+#: commands/tablecmds.c:15159
 #, c-format
 msgid "Unlogged relations cannot be replicated."
 msgstr "Ungeloggte Relationen können nicht repliziert werden."
 
-#: commands/tablecmds.c:15191
+#: commands/tablecmds.c:15204
 #, 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:15201
+#: commands/tablecmds.c:15214
 #, 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:15259
+#: commands/tablecmds.c:15272
 #, 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:15365
+#: commands/tablecmds.c:15378
 #, c-format
 msgid "relation \"%s\" already exists in schema \"%s\""
 msgstr "Relation »%s« existiert bereits in Schema »%s«"
 
-#: commands/tablecmds.c:15928
+#: commands/tablecmds.c:15941
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "»%s« ist kein zusammengesetzter Typ"
 
-#: commands/tablecmds.c:15960
+#: commands/tablecmds.c:15973
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, sequence, or foreign table"
 msgstr "»%s« ist weder Tabelle, Sicht, materialisierte Sicht, Sequenz noch Fremdtabelle"
 
-#: commands/tablecmds.c:15995
+#: commands/tablecmds.c:16008
 #, c-format
 msgid "unrecognized partitioning strategy \"%s\""
 msgstr "unbekannte Partitionierungsstrategie »%s«"
 
-#: commands/tablecmds.c:16003
+#: commands/tablecmds.c:16016
 #, 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:16069
+#: commands/tablecmds.c:16082
 #, 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:16077
+#: commands/tablecmds.c:16090
 #, c-format
 msgid "cannot use system column \"%s\" in partition key"
 msgstr "Systemspalte »%s« kann nicht im Partitionierungsschlüssel verwendet werden"
 
-#: commands/tablecmds.c:16088 commands/tablecmds.c:16202
+#: commands/tablecmds.c:16101 commands/tablecmds.c:16215
 #, c-format
 msgid "cannot use generated column in partition key"
 msgstr "generierte Spalte kann nicht im Partitionierungsschlüssel verwendet werden"
 
-#: commands/tablecmds.c:16089 commands/tablecmds.c:16203 commands/trigger.c:631
+#: commands/tablecmds.c:16102 commands/tablecmds.c:16216 commands/trigger.c:649
 #: rewrite/rewriteHandler.c:830 rewrite/rewriteHandler.c:847
 #, c-format
 msgid "Column \"%s\" is a generated column."
 msgstr "Spalte »%s« ist eine generierte Spalte."
 
-#: commands/tablecmds.c:16165
+#: commands/tablecmds.c:16178
 #, 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:16185
+#: commands/tablecmds.c:16198
 #, c-format
 msgid "partition key expressions cannot contain system column references"
 msgstr "Partitionierungsschlüsselausdruck kann nicht auf Systemspalten verweisen"
 
-#: commands/tablecmds.c:16215
+#: commands/tablecmds.c:16228
 #, c-format
 msgid "cannot use constant expression as partition key"
 msgstr "Partitionierungsschlüssel kann kein konstanter Ausdruck sein"
 
-#: commands/tablecmds.c:16236
+#: commands/tablecmds.c:16249
 #, 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:16271
+#: commands/tablecmds.c:16284
 #, 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:16277
+#: commands/tablecmds.c:16290
 #, 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:16422
+#: commands/tablecmds.c:16435
 #, c-format
 msgid "partition constraint for table \"%s\" is implied by existing constraints"
 msgstr "Partitions-Constraint für Tabelle »%s« ist schon in bestehenden Constraints inbegriffen"
 
-#: commands/tablecmds.c:16426 partitioning/partbounds.c:3119
+#: commands/tablecmds.c:16439 partitioning/partbounds.c:3119
 #: partitioning/partbounds.c:3170
 #, c-format
 msgid "updated partition constraint for default partition \"%s\" is implied by existing constraints"
 msgstr "aktualisierter Partitions-Constraint der Standardpartition »%s« ist schon in bestehenden Constraints inbegriffen"
 
-#: commands/tablecmds.c:16525
+#: commands/tablecmds.c:16538
 #, c-format
 msgid "\"%s\" is already a partition"
 msgstr "»%s« ist bereits eine Partition"
 
-#: commands/tablecmds.c:16531
+#: commands/tablecmds.c:16544
 #, c-format
 msgid "cannot attach a typed table as partition"
 msgstr "eine getypte Tabelle kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:16547
+#: commands/tablecmds.c:16560
 #, c-format
 msgid "cannot attach inheritance child as partition"
 msgstr "ein Vererbungskind kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:16561
+#: commands/tablecmds.c:16574
 #, 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:16595
+#: commands/tablecmds.c:16608
 #, 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:16603
+#: commands/tablecmds.c:16616
 #, 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:16611
+#: commands/tablecmds.c:16624
 #, 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:16618
+#: commands/tablecmds.c:16631
 #, 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:16638
+#: commands/tablecmds.c:16651
 #, 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:16641
+#: commands/tablecmds.c:16654
 #, 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:16653
+#: commands/tablecmds.c:16666
 #, 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:16655 commands/trigger.c:437
+#: commands/tablecmds.c:16668 commands/trigger.c:455
 #, 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:16818
+#: commands/tablecmds.c:16831
 #, 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:16821
+#: commands/tablecmds.c:16834
 #, c-format
 msgid "Table \"%s\" contains unique indexes."
 msgstr "Tabelle »%s« enthält Unique-Indexe."
 
-#: commands/tablecmds.c:17467 commands/tablecmds.c:17487
-#: commands/tablecmds.c:17507 commands/tablecmds.c:17526
-#: commands/tablecmds.c:17568
+#: commands/tablecmds.c:17480 commands/tablecmds.c:17500
+#: commands/tablecmds.c:17520 commands/tablecmds.c:17539
+#: commands/tablecmds.c:17581
 #, 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:17470
+#: commands/tablecmds.c:17483
 #, 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:17490
+#: commands/tablecmds.c:17503
 #, 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:17510
+#: commands/tablecmds.c:17523
 #, c-format
 msgid "The index definitions do not match."
 msgstr "Die Indexdefinitionen stimmen nicht überein."
 
-#: commands/tablecmds.c:17529
+#: commands/tablecmds.c:17542
 #, 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:17571
+#: commands/tablecmds.c:17584
 #, c-format
 msgid "Another index is already attached for partition \"%s\"."
 msgstr "Ein anderer Index ist bereits für Partition »%s« angefügt."
 
 #: commands/tablespace.c:162 commands/tablespace.c:179
 #: commands/tablespace.c:190 commands/tablespace.c:198
-#: commands/tablespace.c:650 replication/slot.c:1373 storage/file/copydir.c:47
+#: commands/tablespace.c:650 replication/slot.c:1460 storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "konnte Verzeichnis »%s« nicht erzeugen: %m"
@@ -10329,256 +10350,256 @@ msgstr "Verzeichnisse für Tablespace %u konnten nicht entfernt werden"
 msgid "You can remove the directories manually if necessary."
 msgstr "Sie können die Verzeichnisse falls nötig manuell entfernen."
 
-#: commands/trigger.c:194 commands/trigger.c:205
+#: commands/trigger.c:212 commands/trigger.c:223
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "»%s« ist eine Tabelle"
 
-#: commands/trigger.c:196 commands/trigger.c:207
+#: commands/trigger.c:214 commands/trigger.c:225
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "Tabellen können keine INSTEAD OF-Trigger haben."
 
-#: commands/trigger.c:228
+#: commands/trigger.c:246
 #, c-format
 msgid "\"%s\" is a partitioned table"
 msgstr "»%s« ist eine partitionierte Tabelle"
 
-#: commands/trigger.c:230
+#: commands/trigger.c:248
 #, c-format
 msgid "Triggers on partitioned tables cannot have transition tables."
 msgstr "Trigger für partitionierte Tabellen können keine Übergangstabellen haben."
 
-#: commands/trigger.c:242 commands/trigger.c:249 commands/trigger.c:419
+#: commands/trigger.c:260 commands/trigger.c:267 commands/trigger.c:437
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "»%s« ist eine Sicht"
 
-#: commands/trigger.c:244
+#: commands/trigger.c:262
 #, c-format
 msgid "Views cannot have row-level BEFORE or AFTER triggers."
 msgstr "Sichten können keine BEFORE- oder AFTER-Trigger auf Zeilenebene haben."
 
-#: commands/trigger.c:251
+#: commands/trigger.c:269
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "Sichten können keine TRUNCATE-Trigger haben."
 
-#: commands/trigger.c:259 commands/trigger.c:266 commands/trigger.c:278
-#: commands/trigger.c:412
+#: commands/trigger.c:277 commands/trigger.c:284 commands/trigger.c:296
+#: commands/trigger.c:430
 #, c-format
 msgid "\"%s\" is a foreign table"
 msgstr "»%s« ist eine Fremdtabelle"
 
-#: commands/trigger.c:261
+#: commands/trigger.c:279
 #, c-format
 msgid "Foreign tables cannot have INSTEAD OF triggers."
 msgstr "Fremdtabellen können keine INSTEAD OF-Trigger haben."
 
-#: commands/trigger.c:268
+#: commands/trigger.c:286
 #, c-format
 msgid "Foreign tables cannot have TRUNCATE triggers."
 msgstr "Fremdtabellen können keine TRUNCATE-Trigger haben."
 
-#: commands/trigger.c:280
+#: commands/trigger.c:298
 #, c-format
 msgid "Foreign tables cannot have constraint triggers."
 msgstr "Fremdtabellen können keine Constraint-Trigger haben."
 
-#: commands/trigger.c:355
+#: commands/trigger.c:373
 #, c-format
 msgid "TRUNCATE FOR EACH ROW triggers are not supported"
 msgstr "TRUNCATE FOR EACH ROW-Trigger werden nicht unterstützt"
 
-#: commands/trigger.c:363
+#: commands/trigger.c:381
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "INSTEAD OF-Trigger müssen FOR EACH ROW sein"
 
-#: commands/trigger.c:367
+#: commands/trigger.c:385
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "INSTEAD OF-Trigger können keine WHEN-Bedingungen haben"
 
-#: commands/trigger.c:371
+#: commands/trigger.c:389
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "INSTEAD OF-Trigger können keine Spaltenlisten haben"
 
-#: commands/trigger.c:400
+#: commands/trigger.c:418
 #, c-format
 msgid "ROW variable naming in the REFERENCING clause is not supported"
 msgstr "Benennung von ROW-Variablen in der REFERENCING-Klausel wird nicht unterstützt"
 
-#: commands/trigger.c:401
+#: commands/trigger.c:419
 #, c-format
 msgid "Use OLD TABLE or NEW TABLE for naming transition tables."
 msgstr "Verwenden Sie OLD TABLE und NEW TABLE, um Übergangstabellen zu benennen."
 
-#: commands/trigger.c:414
+#: commands/trigger.c:432
 #, c-format
 msgid "Triggers on foreign tables cannot have transition tables."
 msgstr "Trigger für Fremdtabellen können keine Übergangstabellen haben."
 
-#: commands/trigger.c:421
+#: commands/trigger.c:439
 #, c-format
 msgid "Triggers on views cannot have transition tables."
 msgstr "Trigger für Sichten können keine Übergangstabellen haben."
 
-#: commands/trigger.c:441
+#: commands/trigger.c:459
 #, c-format
 msgid "ROW triggers with transition tables are not supported on inheritance children"
 msgstr "ROW-Trigger mit Übergangstabellen werden für Vererbungskinder nicht unterstützt"
 
-#: commands/trigger.c:447
+#: commands/trigger.c:465
 #, c-format
 msgid "transition table name can only be specified for an AFTER trigger"
 msgstr "Übergangstabellenname kann nur für einen AFTER-Trigger angegeben werden"
 
-#: commands/trigger.c:452
+#: commands/trigger.c:470
 #, c-format
 msgid "TRUNCATE triggers with transition tables are not supported"
 msgstr "TRUNCATE-Trigger mit Übergangstabellen werden nicht unterstützt"
 
-#: commands/trigger.c:469
+#: commands/trigger.c:487
 #, c-format
 msgid "transition tables cannot be specified for triggers with more than one event"
 msgstr "Übergangstabellen können nicht für Trigger mit mehr als einem Ereignis angegeben werden"
 
-#: commands/trigger.c:480
+#: commands/trigger.c:498
 #, c-format
 msgid "transition tables cannot be specified for triggers with column lists"
 msgstr "Übergangstabellen können nicht für Trigger mit Spaltenlisten angegeben werden"
 
-#: commands/trigger.c:497
+#: commands/trigger.c:515
 #, c-format
 msgid "NEW TABLE can only be specified for an INSERT or UPDATE trigger"
 msgstr "NEW TABLE kann nur für INSERT- oder UPDATE-Trigger angegeben werden"
 
-#: commands/trigger.c:502
+#: commands/trigger.c:520
 #, c-format
 msgid "NEW TABLE cannot be specified multiple times"
 msgstr "NEW TABLE kann nicht mehrmals angegeben werden"
 
-#: commands/trigger.c:512
+#: commands/trigger.c:530
 #, c-format
 msgid "OLD TABLE can only be specified for a DELETE or UPDATE trigger"
 msgstr "OLD TABLE kann nur für DELETE- oder UPDATE-Trigger angegeben werden"
 
-#: commands/trigger.c:517
+#: commands/trigger.c:535
 #, c-format
 msgid "OLD TABLE cannot be specified multiple times"
 msgstr "OLD TABLE kann nicht mehrmals angegeben werden"
 
-#: commands/trigger.c:527
+#: commands/trigger.c:545
 #, c-format
 msgid "OLD TABLE name and NEW TABLE name cannot be the same"
 msgstr "Name für OLD TABLE und NEW TABLE kann nicht gleich sein"
 
-#: commands/trigger.c:591 commands/trigger.c:604
+#: commands/trigger.c:609 commands/trigger.c:622
 #, c-format
 msgid "statement trigger's WHEN condition cannot reference column values"
 msgstr "WHEN-Bedingung eines Statement-Triggers kann keine Verweise auf Spaltenwerte enthalten"
 
-#: commands/trigger.c:596
+#: commands/trigger.c:614
 #, c-format
 msgid "INSERT trigger's WHEN condition cannot reference OLD values"
 msgstr "WHEN-Bedingung eines INSERT-Triggers kann keine Verweise auf OLD-Werte enthalten"
 
-#: commands/trigger.c:609
+#: commands/trigger.c:627
 #, c-format
 msgid "DELETE trigger's WHEN condition cannot reference NEW values"
 msgstr "WHEN-Bedingung eines DELETE-Triggers kann keine Verweise auf NEW-Werte enthalten"
 
-#: commands/trigger.c:614
+#: commands/trigger.c:632
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns"
 msgstr "WHEN-Bedingung eines BEFORE-Triggers kann keine Verweise auf Systemspalten in NEW enthalten"
 
-#: commands/trigger.c:622 commands/trigger.c:630
+#: commands/trigger.c:640 commands/trigger.c:648
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW generated columns"
 msgstr "WHEN-Bedingung eines BEFORE-Triggers kann keine Verweise auf generierte Spalten in NEW enthalten"
 
-#: commands/trigger.c:623
+#: commands/trigger.c:641
 #, c-format
 msgid "A whole-row reference is used and the table contains generated columns."
 msgstr "Ein Verweis auf die ganze Zeile der Tabelle wird verwendet und die Tabelle enthält generierte Spalten."
 
-#: commands/trigger.c:770 commands/trigger.c:1375
+#: commands/trigger.c:788 commands/trigger.c:1393
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "Trigger »%s« für Relation »%s« existiert bereits"
 
-#: commands/trigger.c:1261 commands/trigger.c:1422 commands/trigger.c:1537
+#: commands/trigger.c:1279 commands/trigger.c:1440 commands/trigger.c:1555
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "Trigger »%s« für Tabelle »%s« existiert nicht"
 
-#: commands/trigger.c:1505
+#: commands/trigger.c:1523
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "keine Berechtigung: »%s« ist ein Systemtrigger"
 
-#: commands/trigger.c:2085
+#: commands/trigger.c:2103
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "Triggerfunktion %u gab NULL-Wert zurück"
 
-#: commands/trigger.c:2145 commands/trigger.c:2359 commands/trigger.c:2597
-#: commands/trigger.c:2898
+#: commands/trigger.c:2163 commands/trigger.c:2377 commands/trigger.c:2615
+#: commands/trigger.c:2916
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "Trigger für BEFORE STATEMENT kann keinen Wert zurückgeben"
 
-#: commands/trigger.c:2219
+#: commands/trigger.c:2237
 #, c-format
 msgid "moving row to another partition during a BEFORE FOR EACH ROW trigger is not supported"
 msgstr "Verschieben einer Zeile in eine andere Partition durch einen BEFORE-FOR-EACH-ROW-Trigger wird nicht unterstützt"
 
-#: commands/trigger.c:2220
+#: commands/trigger.c:2238
 #, c-format
 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:2964 executor/nodeModifyTable.c:1439
-#: executor/nodeModifyTable.c:1508
+#: commands/trigger.c:2982 executor/nodeModifyTable.c:1451
+#: executor/nodeModifyTable.c:1520
 #, 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:2965 executor/nodeModifyTable.c:895
-#: executor/nodeModifyTable.c:969 executor/nodeModifyTable.c:1440
-#: executor/nodeModifyTable.c:1509
+#: commands/trigger.c:2983 executor/nodeModifyTable.c:901
+#: executor/nodeModifyTable.c:975 executor/nodeModifyTable.c:1452
+#: executor/nodeModifyTable.c:1521
 #, 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:2994 executor/nodeLockRows.c:225
+#: commands/trigger.c:3012 executor/nodeLockRows.c:225
 #: executor/nodeLockRows.c:234 executor/nodeModifyTable.c:226
-#: executor/nodeModifyTable.c:911 executor/nodeModifyTable.c:1456
-#: executor/nodeModifyTable.c:1674
+#: executor/nodeModifyTable.c:917 executor/nodeModifyTable.c:1468
+#: executor/nodeModifyTable.c:1686
 #, c-format
 msgid "could not serialize access due to concurrent update"
 msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitiger Aktualisierung"
 
-#: commands/trigger.c:3002 executor/nodeModifyTable.c:1001
-#: executor/nodeModifyTable.c:1526 executor/nodeModifyTable.c:1698
+#: commands/trigger.c:3020 executor/nodeModifyTable.c:1007
+#: executor/nodeModifyTable.c:1538 executor/nodeModifyTable.c:1710
 #, c-format
 msgid "could not serialize access due to concurrent delete"
 msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitigem Löschen"
 
-#: commands/trigger.c:4063
+#: commands/trigger.c:4081
 #, c-format
 msgid "cannot fire deferred trigger within security-restricted operation"
 msgstr "aufgeschobener Trigger kann nicht in einer sicherheitsbeschränkten Operation ausgelöst werden"
 
-#: commands/trigger.c:5103
+#: commands/trigger.c:5123
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "Constraint »%s« ist nicht aufschiebbar"
 
-#: commands/trigger.c:5126
+#: commands/trigger.c:5146
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "Constraint »%s« existiert nicht"
@@ -10688,7 +10709,7 @@ msgstr "nur Superuser können Basistypen anlegen"
 msgid "Create the type as a shell type, then create its I/O functions, then do a full CREATE TYPE."
 msgstr "Erzeugen Sie den Typ als Shell-Typ, legen Sie dann die I/O-Funktionen an und führen Sie dann das volle CREATE TYPE aus."
 
-#: commands/typecmds.c:314 commands/typecmds.c:1394 commands/typecmds.c:3832
+#: commands/typecmds.c:314 commands/typecmds.c:1396 commands/typecmds.c:3839
 #, c-format
 msgid "type attribute \"%s\" not recognized"
 msgstr "Typ-Attribut »%s« nicht erkannt"
@@ -10708,7 +10729,7 @@ msgstr "Arrayelementtyp kann nicht %s sein"
 msgid "alignment \"%s\" not recognized"
 msgstr "Ausrichtung »%s« nicht erkannt"
 
-#: commands/typecmds.c:438 commands/typecmds.c:3718
+#: commands/typecmds.c:438 commands/typecmds.c:3725
 #, c-format
 msgid "storage \"%s\" not recognized"
 msgstr "Storage-Typ »%s« nicht erkannt"
@@ -10738,258 +10759,258 @@ msgstr "»%s« ist kein gültiger Basistyp für eine Domäne"
 msgid "multiple default expressions"
 msgstr "mehrere Vorgabeausdrücke"
 
-#: commands/typecmds.c:900 commands/typecmds.c:909
+#: commands/typecmds.c:902 commands/typecmds.c:911
 #, c-format
 msgid "conflicting NULL/NOT NULL constraints"
 msgstr "wiedersprüchliche NULL/NOT NULL-Constraints"
 
-#: commands/typecmds.c:925
+#: commands/typecmds.c:927
 #, c-format
 msgid "check constraints for domains cannot be marked NO INHERIT"
 msgstr "Check-Constraints für Domänen können nicht als NO INHERIT markiert werden"
 
-#: commands/typecmds.c:934 commands/typecmds.c:2536
+#: commands/typecmds.c:936 commands/typecmds.c:2538
 #, c-format
 msgid "unique constraints not possible for domains"
 msgstr "Unique-Constraints sind nicht für Domänen möglich"
 
-#: commands/typecmds.c:940 commands/typecmds.c:2542
+#: commands/typecmds.c:942 commands/typecmds.c:2544
 #, c-format
 msgid "primary key constraints not possible for domains"
 msgstr "Primärschlüssel-Constraints sind nicht fürDomänen möglich"
 
-#: commands/typecmds.c:946 commands/typecmds.c:2548
+#: commands/typecmds.c:948 commands/typecmds.c:2550
 #, c-format
 msgid "exclusion constraints not possible for domains"
 msgstr "Exclusion-Constraints sind nicht für Domänen möglich"
 
-#: commands/typecmds.c:952 commands/typecmds.c:2554
+#: commands/typecmds.c:954 commands/typecmds.c:2556
 #, c-format
 msgid "foreign key constraints not possible for domains"
 msgstr "Fremdschlüssel-Constraints sind nicht für Domänen möglich"
 
-#: commands/typecmds.c:961 commands/typecmds.c:2563
+#: commands/typecmds.c:963 commands/typecmds.c:2565
 #, c-format
 msgid "specifying constraint deferrability not supported for domains"
 msgstr "Setzen des Constraint-Modus wird für Domänen nicht unterstützt"
 
-#: commands/typecmds.c:1271 utils/cache/typcache.c:2430
+#: commands/typecmds.c:1273 utils/cache/typcache.c:2448
 #, c-format
 msgid "%s is not an enum"
 msgstr "»%s« ist kein Enum"
 
-#: commands/typecmds.c:1402
+#: commands/typecmds.c:1404
 #, c-format
 msgid "type attribute \"subtype\" is required"
 msgstr "Typ-Attribut »subtype« muss angegeben werden"
 
-#: commands/typecmds.c:1407
+#: commands/typecmds.c:1409
 #, c-format
 msgid "range subtype cannot be %s"
 msgstr "Bereichtsuntertyp kann nicht %s sein"
 
-#: commands/typecmds.c:1426
+#: commands/typecmds.c:1428
 #, c-format
 msgid "range collation specified but subtype does not support collation"
 msgstr "Sortierfolge für Bereichstyp angegeben, aber Untertyp unterstützt keine Sortierfolgen"
 
-#: commands/typecmds.c:1436
+#: commands/typecmds.c:1438
 #, c-format
 msgid "cannot specify a canonical function without a pre-created shell type"
 msgstr "Canonical-Funktion kann nicht angegeben werden ohne einen vorher angelegten Shell-Typ"
 
-#: commands/typecmds.c:1437
+#: commands/typecmds.c:1439
 #, c-format
 msgid "Create the type as a shell type, then create its canonicalization function, then do a full CREATE TYPE."
 msgstr "Erzeugen Sie den Typ als Shell-Typ, legen Sie dann die Canonicalization-Funktion an und führen Sie dann das volle CREATE TYPE aus."
 
-#: commands/typecmds.c:1648
+#: commands/typecmds.c:1650
 #, c-format
 msgid "type input function %s has multiple matches"
 msgstr "Typeingabefunktion %s hat mehrere Übereinstimmungen"
 
-#: commands/typecmds.c:1666
+#: commands/typecmds.c:1668
 #, c-format
 msgid "type input function %s must return type %s"
 msgstr "Typeingabefunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:1682
+#: commands/typecmds.c:1684
 #, c-format
 msgid "type input function %s should not be volatile"
 msgstr "Typeingabefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:1710
+#: commands/typecmds.c:1712
 #, c-format
 msgid "type output function %s must return type %s"
 msgstr "Typausgabefunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:1717
+#: commands/typecmds.c:1719
 #, c-format
 msgid "type output function %s should not be volatile"
 msgstr "Typausgabefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:1746
+#: commands/typecmds.c:1748
 #, c-format
 msgid "type receive function %s has multiple matches"
 msgstr "Typempfangsfunktion %s hat mehrere Übereinstimmungen"
 
-#: commands/typecmds.c:1764
+#: commands/typecmds.c:1766
 #, c-format
 msgid "type receive function %s must return type %s"
 msgstr "Typempfangsfunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:1771
+#: commands/typecmds.c:1773
 #, c-format
 msgid "type receive function %s should not be volatile"
 msgstr "Typempfangsfunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:1799
+#: commands/typecmds.c:1801
 #, c-format
 msgid "type send function %s must return type %s"
 msgstr "Typsendefunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:1806
+#: commands/typecmds.c:1808
 #, c-format
 msgid "type send function %s should not be volatile"
 msgstr "Typsendefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:1833
+#: commands/typecmds.c:1835
 #, c-format
 msgid "typmod_in function %s must return type %s"
 msgstr "typmod_in-Funktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:1840
+#: commands/typecmds.c:1842
 #, c-format
 msgid "type modifier input function %s should not be volatile"
 msgstr "Typmodifikatoreingabefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:1867
+#: commands/typecmds.c:1869
 #, c-format
 msgid "typmod_out function %s must return type %s"
 msgstr "typmod_out-Funktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:1874
+#: commands/typecmds.c:1876
 #, c-format
 msgid "type modifier output function %s should not be volatile"
 msgstr "Typmodifikatorausgabefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:1901
+#: commands/typecmds.c:1903
 #, c-format
 msgid "type analyze function %s must return type %s"
 msgstr "Typanalysefunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:1947
+#: commands/typecmds.c:1949
 #, c-format
 msgid "You must specify an operator class for the range type or define a default operator class for the subtype."
 msgstr "Sie müssen für den Bereichstyp eine Operatorklasse angeben oder eine Standardoperatorklasse für den Untertyp definieren."
 
-#: commands/typecmds.c:1978
+#: commands/typecmds.c:1980
 #, c-format
 msgid "range canonical function %s must return range type"
 msgstr "Bereichstyp-Canonical-Funktion %s muss Bereichstyp zurückgeben"
 
-#: commands/typecmds.c:1984
+#: commands/typecmds.c:1986
 #, c-format
 msgid "range canonical function %s must be immutable"
 msgstr "Bereichstyp-Canonical-Funktion %s muss »immutable« sein"
 
-#: commands/typecmds.c:2020
+#: commands/typecmds.c:2022
 #, c-format
 msgid "range subtype diff function %s must return type %s"
 msgstr "Bereichstyp-Untertyp-Diff-Funktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2027
+#: commands/typecmds.c:2029
 #, c-format
 msgid "range subtype diff function %s must be immutable"
 msgstr "Bereichstyp-Untertyp-Diff-Funktion %s muss »immutable« sein"
 
-#: commands/typecmds.c:2054
+#: commands/typecmds.c:2056
 #, c-format
 msgid "pg_type array OID value not set when in binary upgrade mode"
 msgstr "Array-OID-Wert für pg_type ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: commands/typecmds.c:2352
+#: commands/typecmds.c:2354
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains null values"
 msgstr "Spalte »%s« von Tabelle »%s« enthält NULL-Werte"
 
-#: commands/typecmds.c:2465 commands/typecmds.c:2667
+#: commands/typecmds.c:2467 commands/typecmds.c:2669
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist"
 msgstr "Constraint »%s« von Domäne »%s« existiert nicht"
 
-#: commands/typecmds.c:2469
+#: commands/typecmds.c:2471
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping"
 msgstr "Constraint »%s« von Domäne »%s« existiert nicht, wird übersprungen"
 
-#: commands/typecmds.c:2674
+#: commands/typecmds.c:2676
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" is not a check constraint"
 msgstr "Constraint »%s« von Domäne »%s« ist kein Check-Constraint"
 
-#: commands/typecmds.c:2780
+#: commands/typecmds.c:2782
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains values that violate the new constraint"
 msgstr "Spalte »%s« von Tabelle »%s« enthält Werte, die den neuen Constraint verletzen"
 
-#: commands/typecmds.c:3009 commands/typecmds.c:3207 commands/typecmds.c:3289
-#: commands/typecmds.c:3476
+#: commands/typecmds.c:3011 commands/typecmds.c:3214 commands/typecmds.c:3296
+#: commands/typecmds.c:3483
 #, c-format
 msgid "%s is not a domain"
 msgstr "%s ist keine Domäne"
 
-#: commands/typecmds.c:3041
+#: commands/typecmds.c:3043
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" already exists"
 msgstr "Constraint »%s« für Domäne »%s« existiert bereits"
 
-#: commands/typecmds.c:3092
+#: commands/typecmds.c:3099
 #, c-format
 msgid "cannot use table references in domain check constraint"
 msgstr "Tabellenverweise können in Domänen-Check-Constraints nicht verwendet werden"
 
-#: commands/typecmds.c:3219 commands/typecmds.c:3301 commands/typecmds.c:3593
+#: commands/typecmds.c:3226 commands/typecmds.c:3308 commands/typecmds.c:3600
 #, c-format
 msgid "%s is a table's row type"
 msgstr "%s ist der Zeilentyp einer Tabelle"
 
-#: commands/typecmds.c:3221 commands/typecmds.c:3303 commands/typecmds.c:3595
+#: commands/typecmds.c:3228 commands/typecmds.c:3310 commands/typecmds.c:3602
 #, c-format
 msgid "Use ALTER TABLE instead."
 msgstr "Verwenden Sie stattdessen ALTER TABLE."
 
-#: commands/typecmds.c:3228 commands/typecmds.c:3310 commands/typecmds.c:3508
+#: commands/typecmds.c:3235 commands/typecmds.c:3317 commands/typecmds.c:3515
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "Array-Typ %s kann nicht verändert werden"
 
-#: commands/typecmds.c:3230 commands/typecmds.c:3312 commands/typecmds.c:3510
+#: commands/typecmds.c:3237 commands/typecmds.c:3319 commands/typecmds.c:3517
 #, c-format
 msgid "You can alter type %s, which will alter the array type as well."
 msgstr "Sie können den Typ %s ändern, wodurch der Array-Typ ebenfalls geändert wird."
 
-#: commands/typecmds.c:3578
+#: commands/typecmds.c:3585
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "Typ %s existiert bereits in Schema »%s«"
 
-#: commands/typecmds.c:3746
+#: commands/typecmds.c:3753
 #, c-format
 msgid "cannot change type's storage to PLAIN"
 msgstr "Storage-Typ eines Typs kann nicht in PLAIN geändert werden"
 
-#: commands/typecmds.c:3827
+#: commands/typecmds.c:3834
 #, c-format
 msgid "type attribute \"%s\" cannot be changed"
 msgstr "Typ-Attribut »%s« kann nicht geändert werden"
 
-#: commands/typecmds.c:3845
+#: commands/typecmds.c:3852
 #, c-format
 msgid "must be superuser to alter a type"
 msgstr "nur Superuser können Typen ändern"
 
-#: commands/typecmds.c:3866 commands/typecmds.c:3876
+#: commands/typecmds.c:3873 commands/typecmds.c:3883
 #, c-format
 msgid "%s is not a base type"
 msgstr "%s ist kein Basistyp"
@@ -11186,8 +11207,8 @@ msgstr "Option PARALLEL benötigt einen Wert zwischen 0 und %d"
 
 #: commands/vacuum.c:163
 #, c-format
-msgid "parallel vacuum degree must be between 0 and %d"
-msgstr "Grad für paralleles Vacuum muss zwischen 0 und %d sein"
+msgid "parallel workers for vacuum must be between 0 and %d"
+msgstr "parallele Arbeitsprozesse für Vacuum müssen zwischen 0 und %d sein"
 
 #: commands/vacuum.c:180
 #, c-format
@@ -11489,32 +11510,32 @@ msgstr "Cursor »%s« ist nicht auf eine Zeile positioniert"
 msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\""
 msgstr "Cursor »%s« ist kein einfach aktualisierbarer Scan der Tabelle »%s«"
 
-#: executor/execCurrent.c:280 executor/execExprInterp.c:2426
+#: executor/execCurrent.c:280 executor/execExprInterp.c:2434
 #, c-format
 msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)"
 msgstr "Typ von Parameter %d (%s) stimmt nicht mit dem überein, als der Plan vorbereitet worden ist (%s)"
 
-#: executor/execCurrent.c:292 executor/execExprInterp.c:2438
+#: executor/execCurrent.c:292 executor/execExprInterp.c:2446
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "kein Wert für Parameter %d gefunden"
 
-#: executor/execExpr.c:859 parser/parse_agg.c:816
+#: executor/execExpr.c:890 parser/parse_agg.c:816
 #, c-format
 msgid "window function calls cannot be nested"
 msgstr "Aufrufe von Fensterfunktionen können nicht geschachtelt werden"
 
-#: executor/execExpr.c:1318
+#: executor/execExpr.c:1349
 #, c-format
 msgid "target type is not an array"
 msgstr "Zieltyp ist kein Array"
 
-#: executor/execExpr.c:1658
+#: executor/execExpr.c:1689
 #, c-format
 msgid "ROW() column has type %s instead of type %s"
 msgstr "ROW()-Spalte hat Typ %s statt Typ %s"
 
-#: executor/execExpr.c:2183 executor/execSRF.c:708 parser/parse_func.c:135
+#: executor/execExpr.c:2214 executor/execSRF.c:708 parser/parse_func.c:135
 #: parser/parse_func.c:646 parser/parse_func.c:1020
 #, c-format
 msgid "cannot pass more than %d argument to a function"
@@ -11522,100 +11543,100 @@ 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:2594 executor/execExpr.c:2600
-#: executor/execExprInterp.c:2751 utils/adt/arrayfuncs.c:262
-#: utils/adt/arrayfuncs.c:560 utils/adt/arrayfuncs.c:1302
-#: utils/adt/arrayfuncs.c:3348 utils/adt/arrayfuncs.c:5308
-#: utils/adt/arrayfuncs.c:5821
+#: executor/execExpr.c:2625 executor/execExpr.c:2631
+#: executor/execExprInterp.c:2759 utils/adt/arrayfuncs.c:262
+#: utils/adt/arrayfuncs.c:562 utils/adt/arrayfuncs.c:1304
+#: utils/adt/arrayfuncs.c:3348 utils/adt/arrayfuncs.c:5310
+#: utils/adt/arrayfuncs.c:5827
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "Anzahl der Arraydimensionen (%d) überschreitet erlaubtes Maximum (%d)"
 
-#: executor/execExprInterp.c:1894
+#: executor/execExprInterp.c:1899
 #, c-format
 msgid "attribute %d of type %s has been dropped"
 msgstr "Attribut %d von Typ %s wurde gelöscht"
 
-#: executor/execExprInterp.c:1900
+#: executor/execExprInterp.c:1905
 #, c-format
 msgid "attribute %d of type %s has wrong type"
 msgstr "Attribut %d von Typ %s hat falschen Typ"
 
-#: executor/execExprInterp.c:1902 executor/execExprInterp.c:3023
-#: executor/execExprInterp.c:3069
+#: executor/execExprInterp.c:1907 executor/execExprInterp.c:3035
+#: executor/execExprInterp.c:3081
 #, c-format
 msgid "Table has type %s, but query expects %s."
 msgstr "Tabelle hat Typ %s, aber Anfrage erwartet %s."
 
-#: executor/execExprInterp.c:1981 utils/adt/expandedrecord.c:99
+#: executor/execExprInterp.c:1986 utils/adt/expandedrecord.c:99
 #: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1632
-#: utils/cache/typcache.c:1788 utils/cache/typcache.c:1918
+#: utils/cache/typcache.c:1788 utils/cache/typcache.c:1936
 #: utils/fmgr/funcapi.c:456
 #, c-format
 msgid "type %s is not composite"
 msgstr "Typ %s ist kein zusammengesetzter Typ"
 
-#: executor/execExprInterp.c:2516
+#: executor/execExprInterp.c:2524
 #, c-format
 msgid "WHERE CURRENT OF is not supported for this table type"
 msgstr "WHERE CURRENT OF wird für diesen Tabellentyp nicht unterstützt"
 
-#: executor/execExprInterp.c:2729
+#: executor/execExprInterp.c:2737
 #, c-format
 msgid "cannot merge incompatible arrays"
 msgstr "kann inkompatible Arrays nicht verschmelzen"
 
-#: executor/execExprInterp.c:2730
+#: executor/execExprInterp.c:2738
 #, c-format
 msgid "Array with element type %s cannot be included in ARRAY construct with element type %s."
 msgstr "Arrayelement mit Typ %s kann nicht in ARRAY-Konstrukt mit Elementtyp %s verwendet werden."
 
-#: executor/execExprInterp.c:2771 executor/execExprInterp.c:2801
+#: executor/execExprInterp.c:2779 executor/execExprInterp.c:2809
 #, c-format
 msgid "multidimensional arrays must have array expressions with matching dimensions"
 msgstr "mehrdimensionale Arrays müssen Arraysausdrücke mit gleicher Anzahl Dimensionen haben"
 
-#: executor/execExprInterp.c:3022 executor/execExprInterp.c:3068
+#: executor/execExprInterp.c:3034 executor/execExprInterp.c:3080
 #, c-format
 msgid "attribute %d has wrong type"
 msgstr "Attribut %d hat falschen Typ"
 
-#: executor/execExprInterp.c:3182
+#: executor/execExprInterp.c:3194
 #, c-format
 msgid "array subscript in assignment must not be null"
 msgstr "Arrayindex in Zuweisung darf nicht NULL sein"
 
-#: executor/execExprInterp.c:3609 utils/adt/domains.c:149
+#: executor/execExprInterp.c:3621 utils/adt/domains.c:149
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "Domäne %s erlaubt keine NULL-Werte"
 
-#: executor/execExprInterp.c:3624 utils/adt/domains.c:184
+#: executor/execExprInterp.c:3636 utils/adt/domains.c:184
 #, c-format
 msgid "value for domain %s violates check constraint \"%s\""
 msgstr "Wert für Domäne %s verletzt Check-Constraint »%s«"
 
-#: executor/execExprInterp.c:3994 executor/execExprInterp.c:4011
-#: executor/execExprInterp.c:4112 executor/nodeModifyTable.c:109
+#: executor/execExprInterp.c:4006 executor/execExprInterp.c:4023
+#: executor/execExprInterp.c:4124 executor/nodeModifyTable.c:109
 #: executor/nodeModifyTable.c:120 executor/nodeModifyTable.c:137
 #: executor/nodeModifyTable.c:145
 #, 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/execExprInterp.c:3995
+#: executor/execExprInterp.c:4007
 #, 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:4012 executor/nodeModifyTable.c:121
+#: executor/execExprInterp.c:4024 executor/nodeModifyTable.c:121
 #, 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/execExprInterp.c:4113 executor/execSRF.c:967
+#: executor/execExprInterp.c:4125 executor/execSRF.c:967
 #, 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."
@@ -11666,37 +11687,37 @@ msgid "cannot change TOAST relation \"%s\""
 msgstr "kann TOAST-Relation »%s« nicht ändern"
 
 #: executor/execMain.c:1101 rewrite/rewriteHandler.c:2972
-#: rewrite/rewriteHandler.c:3749
+#: rewrite/rewriteHandler.c:3763
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "kann nicht in Sicht »%s« einfügen"
 
 #: executor/execMain.c:1103 rewrite/rewriteHandler.c:2975
-#: rewrite/rewriteHandler.c:3752
+#: rewrite/rewriteHandler.c:3766
 #, c-format
 msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule."
 msgstr "Um Einfügen in die Sicht zu ermöglichen, richten Sie einen INSTEAD OF INSERT Trigger oder eine ON INSERT DO INSTEAD Regel ohne Bedingung ein."
 
 #: executor/execMain.c:1109 rewrite/rewriteHandler.c:2980
-#: rewrite/rewriteHandler.c:3757
+#: rewrite/rewriteHandler.c:3771
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "kann Sicht »%s« nicht aktualisieren"
 
 #: executor/execMain.c:1111 rewrite/rewriteHandler.c:2983
-#: rewrite/rewriteHandler.c:3760
+#: rewrite/rewriteHandler.c:3774
 #, c-format
 msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule."
 msgstr "Um Aktualisieren der Sicht zu ermöglichen, richten Sie einen INSTEAD OF UPDATE Trigger oder eine ON UPDATE DO INSTEAD Regel ohne Bedingung ein."
 
 #: executor/execMain.c:1117 rewrite/rewriteHandler.c:2988
-#: rewrite/rewriteHandler.c:3765
+#: rewrite/rewriteHandler.c:3779
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "kann nicht aus Sicht »%s« löschen"
 
 #: executor/execMain.c:1119 rewrite/rewriteHandler.c:2991
-#: rewrite/rewriteHandler.c:3768
+#: rewrite/rewriteHandler.c:3782
 #, c-format
 msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule."
 msgstr "Um Löschen aus der Sicht zu ermöglichen, richten Sie einen INSTEAD OF DELETE Trigger oder eine ON DELETE DO INSTEAD Regel ohne Bedingung ein."
@@ -11844,9 +11865,9 @@ msgid "concurrent delete, retrying"
 msgstr "gleichzeitiges Löschen, versuche erneut"
 
 #: executor/execReplication.c:269 parser/parse_oper.c:228
-#: utils/adt/array_userfuncs.c:719 utils/adt/array_userfuncs.c:858
-#: utils/adt/arrayfuncs.c:3626 utils/adt/arrayfuncs.c:4146
-#: utils/adt/arrayfuncs.c:6132 utils/adt/rowtypes.c:1182
+#: utils/adt/array_userfuncs.c:720 utils/adt/array_userfuncs.c:859
+#: utils/adt/arrayfuncs.c:3628 utils/adt/arrayfuncs.c:4148
+#: utils/adt/arrayfuncs.c:6140 utils/adt/rowtypes.c:1182
 #, c-format
 msgid "could not identify an equality operator for type %s"
 msgstr "konnte keinen Ist-Gleich-Operator für Typ %s ermitteln"
@@ -11956,7 +11977,7 @@ msgid "%s is not allowed in a SQL function"
 msgstr "%s ist in SQL-Funktionen nicht erlaubt"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:542 executor/spi.c:1471 executor/spi.c:2257
+#: executor/functions.c:542 executor/spi.c:1470 executor/spi.c:2283
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s ist in als nicht »volatile« markierten Funktionen nicht erlaubt"
@@ -12018,17 +12039,17 @@ msgstr "Die letzte Anweisung gibt zu wenige Spalten zurück."
 msgid "return type %s is not supported for SQL functions"
 msgstr "Rückgabetyp %s wird von SQL-Funktionen nicht unterstützt"
 
-#: executor/nodeAgg.c:3091 executor/nodeAgg.c:3100 executor/nodeAgg.c:3112
+#: executor/nodeAgg.c:3095 executor/nodeAgg.c:3104 executor/nodeAgg.c:3116
 #, c-format
 msgid "unexpected EOF for tape %d: requested %zu bytes, read %zu bytes"
 msgstr "unerwartetes EOF für Tape %d: %zu Bytes angefordert, %zu Bytes gelesen"
 
-#: executor/nodeAgg.c:4046 parser/parse_agg.c:655 parser/parse_agg.c:685
+#: executor/nodeAgg.c:4050 parser/parse_agg.c:655 parser/parse_agg.c:685
 #, c-format
 msgid "aggregate function calls cannot be nested"
 msgstr "Aufrufe von Aggregatfunktionen können nicht geschachtelt werden"
 
-#: executor/nodeAgg.c:4254 executor/nodeWindowAgg.c:2836
+#: executor/nodeAgg.c:4258 executor/nodeWindowAgg.c:2836
 #, c-format
 msgid "aggregate %u needs to have compatible input type and transition type"
 msgstr "Aggregatfunktion %u muss kompatiblen Eingabe- und Übergangstyp haben"
@@ -12088,27 +12109,27 @@ msgstr "Anfrage liefert einen Wert für eine gelöschte Spalte auf Position %d."
 msgid "Query has too few columns."
 msgstr "Anfrage hat zu wenige Spalten."
 
-#: executor/nodeModifyTable.c:894 executor/nodeModifyTable.c:968
+#: executor/nodeModifyTable.c:900 executor/nodeModifyTable.c:974
 #, 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:1278
+#: executor/nodeModifyTable.c:1290
 #, c-format
 msgid "invalid ON UPDATE specification"
 msgstr "ungültige ON-UPDATE-Angabe"
 
-#: executor/nodeModifyTable.c:1279
+#: executor/nodeModifyTable.c:1291
 #, 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:1653
+#: executor/nodeModifyTable.c:1665
 #, c-format
 msgid "ON CONFLICT DO UPDATE command cannot affect row a second time"
 msgstr "Befehl in ON CONFLICT DO UPDATE kann eine Zeile nicht ein zweites Mal ändern"
 
-#: executor/nodeModifyTable.c:1654
+#: executor/nodeModifyTable.c:1666
 #, 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."
@@ -12184,7 +12205,7 @@ msgstr "Frame-Ende-Offset darf nicht negativ sein"
 msgid "aggregate function %s does not support use as a window function"
 msgstr "Aggregatfunktion %s unterstützt die Verwendung als Fensterfunktion nicht"
 
-#: executor/spi.c:228 executor/spi.c:297
+#: executor/spi.c:228 executor/spi.c:293
 #, c-format
 msgid "invalid transaction termination"
 msgstr "ungültige Transaktionsbeendung"
@@ -12194,48 +12215,48 @@ msgstr "ungültige Transaktionsbeendung"
 msgid "cannot commit while a subtransaction is active"
 msgstr "während eine Subtransaktion aktiv ist kann nicht committet werden"
 
-#: executor/spi.c:303
+#: executor/spi.c:299
 #, c-format
 msgid "cannot roll back while a subtransaction is active"
 msgstr "während eine Subtransaktion aktiv ist kann nicht zurückgerollt werden"
 
-#: executor/spi.c:372
+#: executor/spi.c:371
 #, c-format
 msgid "transaction left non-empty SPI stack"
 msgstr "Transaktion ließ nicht-leeren SPI-Stack zurück"
 
-#: executor/spi.c:373 executor/spi.c:435
+#: executor/spi.c:372 executor/spi.c:434
 #, c-format
 msgid "Check for missing \"SPI_finish\" calls."
 msgstr "Prüfen Sie, ob Aufrufe von »SPI_finish« fehlen."
 
-#: executor/spi.c:434
+#: executor/spi.c:433
 #, c-format
 msgid "subtransaction left non-empty SPI stack"
 msgstr "Subtransaktion ließ nicht-leeren SPI-Stack zurück"
 
-#: executor/spi.c:1335
+#: executor/spi.c:1334
 #, c-format
 msgid "cannot open multi-query plan as cursor"
 msgstr "Plan mit mehreren Anfragen kann nicht als Cursor geöffnet werden"
 
 #. translator: %s is name of a SQL command, eg INSERT
-#: executor/spi.c:1340
+#: executor/spi.c:1339
 #, c-format
 msgid "cannot open %s query as cursor"
 msgstr "%s kann nicht als Cursor geöffnet werden"
 
-#: executor/spi.c:1445
+#: executor/spi.c:1444
 #, c-format
 msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
 msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE wird nicht unterstützt"
 
-#: executor/spi.c:1446 parser/analyze.c:2475
+#: executor/spi.c:1445 parser/analyze.c:2475
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Scrollbare Cursor müssen READ ONLY sein."
 
-#: executor/spi.c:2560
+#: executor/spi.c:2585
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "SQL-Anweisung »%s«"
@@ -12622,84 +12643,84 @@ msgstr "%s-Constraints können nicht als NO INHERIT markiert werden"
 msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %u"
 msgstr "unbekannter Konfigurationsparameter »%s« in Datei »%s« Zeile %u"
 
-#: guc-file.l:352 utils/misc/guc.c:7018 utils/misc/guc.c:7216
+#: guc-file.l:354 utils/misc/guc.c:7018 utils/misc/guc.c:7216
 #: utils/misc/guc.c:7310 utils/misc/guc.c:7404 utils/misc/guc.c:7524
 #: utils/misc/guc.c:7623
 #, c-format
 msgid "parameter \"%s\" cannot be changed without restarting the server"
 msgstr "Parameter »%s« kann nicht geändert werden, ohne den Server neu zu starten"
 
-#: guc-file.l:388
+#: guc-file.l:390
 #, c-format
 msgid "parameter \"%s\" removed from configuration file, reset to default"
 msgstr "Parameter »%s« wurde aus Konfigurationsdatei entfernt, wird auf Standardwert zurückgesetzt"
 
-#: guc-file.l:454
+#: guc-file.l:456
 #, c-format
 msgid "parameter \"%s\" changed to \"%s\""
 msgstr "Parameter »%s« auf »%s« gesetzt"
 
-#: guc-file.l:496
+#: guc-file.l:498
 #, c-format
 msgid "configuration file \"%s\" contains errors"
 msgstr "Konfigurationsdatei »%s« enthält Fehler"
 
-#: guc-file.l:501
+#: guc-file.l:503
 #, c-format
 msgid "configuration file \"%s\" contains errors; unaffected changes were applied"
 msgstr "Konfigurationsdatei »%s« enthält Fehler; nicht betroffene Änderungen wurden durchgeführt"
 
-#: guc-file.l:506
+#: guc-file.l:508
 #, c-format
 msgid "configuration file \"%s\" contains errors; no changes were applied"
 msgstr "Konfigurationsdatei »%s« enthält Fehler; keine Änderungen wurden durchgeführt"
 
-#: guc-file.l:578
+#: guc-file.l:580
 #, c-format
 msgid "empty configuration file name: \"%s\""
 msgstr "leerer Konfigurationsdateiname: »%s«"
 
-#: guc-file.l:595
+#: guc-file.l:597
 #, c-format
 msgid "could not open configuration file \"%s\": maximum nesting depth exceeded"
 msgstr "konnte Konfigurationsdatei »%s« nicht öffnen: maximale Verschachtelungstiefe überschritten"
 
-#: guc-file.l:615
+#: guc-file.l:617
 #, c-format
 msgid "configuration file recursion in \"%s\""
 msgstr "Konfigurationsdateirekursion in »%s«"
 
-#: guc-file.l:631 libpq/hba.c:2193 libpq/hba.c:2613
+#: guc-file.l:633 libpq/hba.c:2193 libpq/hba.c:2613
 #, c-format
 msgid "could not open configuration file \"%s\": %m"
 msgstr "konnte Konfigurationsdatei »%s« nicht öffnen: %m"
 
-#: guc-file.l:642
+#: guc-file.l:644
 #, c-format
 msgid "skipping missing configuration file \"%s\""
 msgstr "fehlende Konfigurationsdatei »%s« wird übersprungen"
 
-#: guc-file.l:896
+#: guc-file.l:898
 #, c-format
 msgid "syntax error in file \"%s\" line %u, near end of line"
 msgstr "Syntaxfehler in Datei »%s«, Zeile %u, am Ende der Zeile"
 
-#: guc-file.l:906
+#: guc-file.l:908
 #, c-format
 msgid "syntax error in file \"%s\" line %u, near token \"%s\""
 msgstr "Syntaxfehler in Datei »%s«, Zeile %u, bei »%s«"
 
-#: guc-file.l:926
+#: guc-file.l:928
 #, c-format
 msgid "too many syntax errors found, abandoning file \"%s\""
 msgstr "zu viele Syntaxfehler gefunden, Datei »%s« wird aufgegeben"
 
-#: guc-file.l:981
+#: guc-file.l:983
 #, c-format
 msgid "empty configuration directory name: \"%s\""
 msgstr "leerer Konfigurationsverzeichnisname: »%s«"
 
-#: guc-file.l:1000
+#: guc-file.l:1002
 #, c-format
 msgid "could not open configuration directory \"%s\": %m"
 msgstr "konnte Konfigurationsverzeichnis »%s« nicht öffnen: %m"
@@ -13106,355 +13127,355 @@ msgstr "GSS-Antwort erwartet, Message-Typ %d empfangen"
 msgid "accepting GSS security context failed"
 msgstr "Annahme des GSS-Sicherheitskontexts fehlgeschlagen"
 
-#: libpq/auth.c:1204
+#: libpq/auth.c:1205
 msgid "retrieving GSS user name failed"
 msgstr "Abfrage des GSS-Benutzernamens fehlgeschlagen"
 
-#: libpq/auth.c:1337
+#: libpq/auth.c:1346
 #, c-format
 msgid "SSPI is not supported in protocol version 2"
 msgstr "SSL wird in Protokollversion 2 nicht unterstützt"
 
-#: libpq/auth.c:1352
+#: libpq/auth.c:1361
 msgid "could not acquire SSPI credentials"
 msgstr "konnte SSPI-Credentials nicht erhalten"
 
-#: libpq/auth.c:1377
+#: libpq/auth.c:1386
 #, c-format
 msgid "expected SSPI response, got message type %d"
 msgstr "SSPI-Antwort erwartet, Message-Typ %d empfangen"
 
-#: libpq/auth.c:1455
+#: libpq/auth.c:1464
 msgid "could not accept SSPI security context"
 msgstr "konnte SSPI-Sicherheitskontext nicht akzeptieren"
 
-#: libpq/auth.c:1517
+#: libpq/auth.c:1526
 msgid "could not get token from SSPI security context"
 msgstr "konnte kein Token vom SSPI-Sicherheitskontext erhalten"
 
-#: libpq/auth.c:1636 libpq/auth.c:1655
+#: libpq/auth.c:1645 libpq/auth.c:1664
 #, c-format
 msgid "could not translate name"
 msgstr "konnte Namen nicht umwandeln"
 
-#: libpq/auth.c:1668
+#: libpq/auth.c:1677
 #, c-format
 msgid "realm name too long"
 msgstr "Realm-Name zu lang"
 
-#: libpq/auth.c:1683
+#: libpq/auth.c:1692
 #, c-format
 msgid "translated account name too long"
 msgstr "umgewandelter Account-Name zu lang"
 
-#: libpq/auth.c:1864
+#: libpq/auth.c:1873
 #, c-format
 msgid "could not create socket for Ident connection: %m"
 msgstr "konnte Socket für Ident-Verbindung nicht erzeugen: %m"
 
-#: libpq/auth.c:1879
+#: libpq/auth.c:1888
 #, c-format
 msgid "could not bind to local address \"%s\": %m"
 msgstr "konnte nicht mit lokaler Adresse »%s« verbinden: %m"
 
-#: libpq/auth.c:1891
+#: libpq/auth.c:1900
 #, c-format
 msgid "could not connect to Ident server at address \"%s\", port %s: %m"
 msgstr "konnte nicht mit Ident-Server auf Adresse »%s«, Port %s verbinden: %m"
 
-#: libpq/auth.c:1913
+#: libpq/auth.c:1922
 #, c-format
 msgid "could not send query to Ident server at address \"%s\", port %s: %m"
 msgstr "konnte Anfrage an Ident-Server auf Adresse »%s«, Port %s nicht senden: %m"
 
-#: libpq/auth.c:1930
+#: libpq/auth.c:1939
 #, c-format
 msgid "could not receive response from Ident server at address \"%s\", port %s: %m"
 msgstr "konnte Antwort von Ident-Server auf Adresse »%s«, Port %s nicht empfangen: %m"
 
-#: libpq/auth.c:1940
+#: libpq/auth.c:1949
 #, c-format
 msgid "invalidly formatted response from Ident server: \"%s\""
 msgstr "ungültig formatierte Antwort vom Ident-Server: »%s«"
 
-#: libpq/auth.c:1987
+#: libpq/auth.c:1996
 #, c-format
 msgid "peer authentication is not supported on this platform"
 msgstr "Peer-Authentifizierung wird auf dieser Plattform nicht unterstützt"
 
-#: libpq/auth.c:1991
+#: libpq/auth.c:2000
 #, c-format
 msgid "could not get peer credentials: %m"
 msgstr "konnte Credentials von Gegenstelle nicht ermitteln: %m"
 
-#: libpq/auth.c:2003
+#: libpq/auth.c:2012
 #, c-format
 msgid "could not look up local user ID %ld: %s"
 msgstr "konnte lokale Benutzer-ID %ld nicht nachschlagen: %s"
 
-#: libpq/auth.c:2102
+#: libpq/auth.c:2111
 #, c-format
 msgid "error from underlying PAM layer: %s"
 msgstr "Fehler von der unteren PAM-Ebene: %s"
 
-#: libpq/auth.c:2172
+#: libpq/auth.c:2181
 #, c-format
 msgid "could not create PAM authenticator: %s"
 msgstr "konnte PAM-Authenticator nicht erzeugen: %s"
 
-#: libpq/auth.c:2183
+#: libpq/auth.c:2192
 #, c-format
 msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr "pam_set_item(PAM_USER) fehlgeschlagen: %s"
 
-#: libpq/auth.c:2215
+#: libpq/auth.c:2224
 #, c-format
 msgid "pam_set_item(PAM_RHOST) failed: %s"
 msgstr "pam_set_item(PAM_RHOST) fehlgeschlagen: %s"
 
-#: libpq/auth.c:2227
+#: libpq/auth.c:2236
 #, c-format
 msgid "pam_set_item(PAM_CONV) failed: %s"
 msgstr "pam_set_item(PAM_CONV) fehlgeschlagen: %s"
 
-#: libpq/auth.c:2240
+#: libpq/auth.c:2249
 #, c-format
 msgid "pam_authenticate failed: %s"
 msgstr "pam_authenticate fehlgeschlagen: %s"
 
-#: libpq/auth.c:2253
+#: libpq/auth.c:2262
 #, c-format
 msgid "pam_acct_mgmt failed: %s"
 msgstr "pam_acct_mgmt fehlgeschlagen: %s"
 
-#: libpq/auth.c:2264
+#: libpq/auth.c:2273
 #, c-format
 msgid "could not release PAM authenticator: %s"
 msgstr "konnte PAM-Authenticator nicht freigeben: %s"
 
-#: libpq/auth.c:2340
+#: libpq/auth.c:2349
 #, c-format
 msgid "could not initialize LDAP: error code %d"
 msgstr "konnte LDAP nicht initialisieren: Fehlercode %d"
 
-#: libpq/auth.c:2377
+#: libpq/auth.c:2386
 #, c-format
 msgid "could not extract domain name from ldapbasedn"
 msgstr "konnte keinen Domain-Namen aus ldapbasedn herauslesen"
 
-#: libpq/auth.c:2385
+#: libpq/auth.c:2394
 #, c-format
 msgid "LDAP authentication could not find DNS SRV records for \"%s\""
 msgstr "LDAP-Authentifizierung konnte keine DNS-SRV-Einträge für »%s« finden"
 
-#: libpq/auth.c:2387
+#: libpq/auth.c:2396
 #, c-format
 msgid "Set an LDAP server name explicitly."
 msgstr "Geben Sie einen LDAP-Servernamen explizit an."
 
-#: libpq/auth.c:2439
+#: libpq/auth.c:2448
 #, c-format
 msgid "could not initialize LDAP: %s"
 msgstr "konnte LDAP nicht initialisieren: %s"
 
-#: libpq/auth.c:2449
+#: libpq/auth.c:2458
 #, c-format
 msgid "ldaps not supported with this LDAP library"
 msgstr "ldaps wird mit dieser LDAP-Bibliothek nicht unterstützt"
 
-#: libpq/auth.c:2457
+#: libpq/auth.c:2466
 #, c-format
 msgid "could not initialize LDAP: %m"
 msgstr "konnte LDAP nicht initialisieren: %m"
 
-#: libpq/auth.c:2467
+#: libpq/auth.c:2476
 #, c-format
 msgid "could not set LDAP protocol version: %s"
 msgstr "konnte LDAP-Protokollversion nicht setzen: %s"
 
-#: libpq/auth.c:2507
+#: libpq/auth.c:2516
 #, c-format
 msgid "could not load function _ldap_start_tls_sA in wldap32.dll"
 msgstr "konnte Funktion _ldap_start_tls_sA in wldap32.dll nicht laden"
 
-#: libpq/auth.c:2508
+#: libpq/auth.c:2517
 #, c-format
 msgid "LDAP over SSL is not supported on this platform."
 msgstr "LDAP über SSL wird auf dieser Plattform nicht unterstützt."
 
-#: libpq/auth.c:2524
+#: libpq/auth.c:2533
 #, c-format
 msgid "could not start LDAP TLS session: %s"
 msgstr "konnte LDAP-TLS-Sitzung nicht starten: %s"
 
-#: libpq/auth.c:2595
+#: libpq/auth.c:2604
 #, c-format
 msgid "LDAP server not specified, and no ldapbasedn"
 msgstr "LDAP-Server nicht angegeben, und kein ldapbasedn"
 
-#: libpq/auth.c:2602
+#: libpq/auth.c:2611
 #, c-format
 msgid "LDAP server not specified"
 msgstr "LDAP-Server nicht angegeben"
 
-#: libpq/auth.c:2664
+#: libpq/auth.c:2673
 #, c-format
 msgid "invalid character in user name for LDAP authentication"
 msgstr "ungültiges Zeichen im Benutzernamen für LDAP-Authentifizierung"
 
-#: libpq/auth.c:2681
+#: libpq/auth.c:2690
 #, c-format
 msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s"
 msgstr "erstes LDAP-Binden für ldapbinddn »%s« auf Server »%s« fehlgeschlagen: %s"
 
-#: libpq/auth.c:2710
+#: libpq/auth.c:2719
 #, c-format
 msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s"
 msgstr "konnte LDAP nicht mit Filter »%s« auf Server »%s« durchsuchen: %s"
 
-#: libpq/auth.c:2724
+#: libpq/auth.c:2733
 #, c-format
 msgid "LDAP user \"%s\" does not exist"
 msgstr "LDAP-Benutzer »%s« existiert nicht"
 
-#: libpq/auth.c:2725
+#: libpq/auth.c:2734
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries."
 msgstr "LDAP-Suche nach Filter »%s« auf Server »%s« gab keine Einträge zurück."
 
-#: libpq/auth.c:2729
+#: libpq/auth.c:2738
 #, c-format
 msgid "LDAP user \"%s\" is not unique"
 msgstr "LDAP-Benutzer »%s« ist nicht eindeutig"
 
-#: libpq/auth.c:2730
+#: libpq/auth.c:2739
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry."
 msgid_plural "LDAP search for filter \"%s\" on server \"%s\" returned %d entries."
 msgstr[0] "LDAP-Suche nach Filter »%s« auf Server »%s« gab %d Eintrag zurück."
 msgstr[1] "LDAP-Suche nach Filter »%s« auf Server »%s« gab %d Einträge zurück."
 
-#: libpq/auth.c:2750
+#: libpq/auth.c:2759
 #, c-format
 msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
 msgstr "konnte DN fũr den ersten Treffer für »%s« auf Server »%s« nicht lesen: %s"
 
-#: libpq/auth.c:2771
+#: libpq/auth.c:2780
 #, c-format
 msgid "could not unbind after searching for user \"%s\" on server \"%s\""
 msgstr "Losbinden fehlgeschlagen nach Suche nach Benutzer »%s« auf Server »%s«"
 
-#: libpq/auth.c:2802
+#: libpq/auth.c:2811
 #, c-format
 msgid "LDAP login failed for user \"%s\" on server \"%s\": %s"
 msgstr "LDAP-Login fehlgeschlagen für Benutzer »%s« auf Server »%s«: %s"
 
-#: libpq/auth.c:2831
+#: libpq/auth.c:2840
 #, c-format
 msgid "LDAP diagnostics: %s"
 msgstr "LDAP-Diagnostik: %s"
 
-#: libpq/auth.c:2858
+#: libpq/auth.c:2867
 #, c-format
 msgid "certificate authentication failed for user \"%s\": client certificate contains no user name"
 msgstr "Zertifikatauthentifizierung für Benutzer »%s« fehlgeschlagen: Client-Zertifikat enthält keinen Benutzernamen"
 
-#: libpq/auth.c:2875
+#: libpq/auth.c:2884
 #, c-format
 msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": CN mismatch"
 msgstr "Zertifikatüberprüfung (clientcert=verify=full) für Benutzer »%s« fehlgeschlagen: CN stimmt nicht überein"
 
-#: libpq/auth.c:2976
+#: libpq/auth.c:2985
 #, c-format
 msgid "RADIUS server not specified"
 msgstr "RADIUS-Server nicht angegeben"
 
-#: libpq/auth.c:2983
+#: libpq/auth.c:2992
 #, c-format
 msgid "RADIUS secret not specified"
 msgstr "RADIUS-Geheimnis nicht angegeben"
 
-#: libpq/auth.c:2997
+#: libpq/auth.c:3006
 #, c-format
 msgid "RADIUS authentication does not support passwords longer than %d characters"
 msgstr "RADIUS-Authentifizierung unterstützt keine Passwörter länger als %d Zeichen"
 
-#: libpq/auth.c:3102 libpq/hba.c:1946
+#: libpq/auth.c:3111 libpq/hba.c:1946
 #, c-format
 msgid "could not translate RADIUS server name \"%s\" to address: %s"
 msgstr "konnte RADIUS-Servername »%s« nicht in Adresse übersetzen: %s"
 
-#: libpq/auth.c:3116
+#: libpq/auth.c:3125
 #, c-format
 msgid "could not generate random encryption vector"
 msgstr "konnte zufälligen Verschlüsselungsvektor nicht erzeugen"
 
-#: libpq/auth.c:3150
+#: libpq/auth.c:3159
 #, c-format
 msgid "could not perform MD5 encryption of password"
 msgstr "konnte MD5-Verschlüsselung des Passworts nicht durchführen"
 
-#: libpq/auth.c:3176
+#: libpq/auth.c:3185
 #, c-format
 msgid "could not create RADIUS socket: %m"
 msgstr "konnte RADIUS-Socket nicht erstellen: %m"
 
-#: libpq/auth.c:3198
+#: libpq/auth.c:3207
 #, c-format
 msgid "could not bind local RADIUS socket: %m"
 msgstr "konnte lokales RADIUS-Socket nicht binden: %m"
 
-#: libpq/auth.c:3208
+#: libpq/auth.c:3217
 #, c-format
 msgid "could not send RADIUS packet: %m"
 msgstr "konnte RADIUS-Paket nicht senden: %m"
 
-#: libpq/auth.c:3241 libpq/auth.c:3267
+#: libpq/auth.c:3250 libpq/auth.c:3276
 #, c-format
 msgid "timeout waiting for RADIUS response from %s"
 msgstr "Zeitüberschreitung beim Warten auf RADIUS-Antwort von %s"
 
-#: libpq/auth.c:3260
+#: libpq/auth.c:3269
 #, c-format
 msgid "could not check status on RADIUS socket: %m"
 msgstr "konnte Status des RADIUS-Sockets nicht prüfen: %m"
 
-#: libpq/auth.c:3290
+#: libpq/auth.c:3299
 #, c-format
 msgid "could not read RADIUS response: %m"
 msgstr "konnte RADIUS-Antwort nicht lesen: %m"
 
-#: libpq/auth.c:3303 libpq/auth.c:3307
+#: libpq/auth.c:3312 libpq/auth.c:3316
 #, c-format
 msgid "RADIUS response from %s was sent from incorrect port: %d"
 msgstr "RADIUS-Antwort von %s wurde von falschem Port gesendet: %d"
 
-#: libpq/auth.c:3316
+#: libpq/auth.c:3325
 #, c-format
 msgid "RADIUS response from %s too short: %d"
 msgstr "RADIUS-Antwort von %s zu kurz: %d"
 
-#: libpq/auth.c:3323
+#: libpq/auth.c:3332
 #, c-format
 msgid "RADIUS response from %s has corrupt length: %d (actual length %d)"
 msgstr "RADIUS-Antwort von %s hat verfälschte Länge: %d (tatsächliche Länge %d)"
 
-#: libpq/auth.c:3331
+#: libpq/auth.c:3340
 #, c-format
 msgid "RADIUS response from %s is to a different request: %d (should be %d)"
 msgstr "RADIUS-Antwort von %s unterscheidet sich von Anfrage: %d (sollte %d sein)"
 
-#: libpq/auth.c:3356
+#: libpq/auth.c:3365
 #, c-format
 msgid "could not perform MD5 encryption of received packet"
 msgstr "konnte MD5-Verschlüsselung des empfangenen Pakets nicht durchführen"
 
-#: libpq/auth.c:3365
+#: libpq/auth.c:3374
 #, c-format
 msgid "RADIUS response from %s has incorrect MD5 signature"
 msgstr "RADIUS-Antwort von %s hat falsche MD5-Signatur"
 
-#: libpq/auth.c:3383
+#: libpq/auth.c:3392
 #, c-format
 msgid "RADIUS response from %s has invalid code (%d) for user \"%s\""
 msgstr "RADIUS-Antwort von %s hat ungültigen Code (%d) für Benutzer »%s«"
@@ -13651,122 +13672,122 @@ 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:262
+#: libpq/be-secure-openssl.c:272
 #, 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:282
+#: libpq/be-secure-openssl.c:292
 #, 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:328
+#: libpq/be-secure-openssl.c:338
 #, 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:385
+#: libpq/be-secure-openssl.c:395
 #, 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:393
+#: libpq/be-secure-openssl.c:403
 #, c-format
 msgid "could not initialize SSL connection: %s"
 msgstr "konnte SSL-Verbindung nicht initialisieren: %s"
 
-#: libpq/be-secure-openssl.c:401
+#: libpq/be-secure-openssl.c:411
 #, c-format
 msgid "could not set SSL socket: %s"
 msgstr "konnte SSL-Socket nicht setzen: %s"
 
-#: libpq/be-secure-openssl.c:456
+#: libpq/be-secure-openssl.c:466
 #, c-format
 msgid "could not accept SSL connection: %m"
 msgstr "konnte SSL-Verbindung nicht annehmen: %m"
 
-#: libpq/be-secure-openssl.c:460 libpq/be-secure-openssl.c:513
+#: libpq/be-secure-openssl.c:470 libpq/be-secure-openssl.c:523
 #, c-format
 msgid "could not accept SSL connection: EOF detected"
 msgstr "konnte SSL-Verbindung nicht annehmen: EOF entdeckt"
 
-#: libpq/be-secure-openssl.c:499
+#: libpq/be-secure-openssl.c:509
 #, c-format
 msgid "could not accept SSL connection: %s"
 msgstr "konnte SSL-Verbindung nicht annehmen: %s"
 
-#: libpq/be-secure-openssl.c:502
+#: libpq/be-secure-openssl.c:512
 #, 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:518 libpq/be-secure-openssl.c:649
-#: libpq/be-secure-openssl.c:713
+#: libpq/be-secure-openssl.c:528 libpq/be-secure-openssl.c:659
+#: libpq/be-secure-openssl.c:723
 #, c-format
 msgid "unrecognized SSL error code: %d"
 msgstr "unbekannter SSL-Fehlercode: %d"
 
-#: libpq/be-secure-openssl.c:560
+#: libpq/be-secure-openssl.c:570
 #, 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:638 libpq/be-secure-openssl.c:697
+#: libpq/be-secure-openssl.c:648 libpq/be-secure-openssl.c:707
 #, c-format
 msgid "SSL error: %s"
 msgstr "SSL-Fehler: %s"
 
-#: libpq/be-secure-openssl.c:878
+#: libpq/be-secure-openssl.c:888
 #, c-format
 msgid "could not open DH parameters file \"%s\": %m"
 msgstr "konnte DH-Parameterdatei »%s« nicht öffnen: %m"
 
-#: libpq/be-secure-openssl.c:890
+#: libpq/be-secure-openssl.c:900
 #, c-format
 msgid "could not load DH parameters file: %s"
 msgstr "konnte DH-Parameterdatei nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:900
+#: libpq/be-secure-openssl.c:910
 #, c-format
 msgid "invalid DH parameters: %s"
 msgstr "ungültige DH-Parameter: %s"
 
-#: libpq/be-secure-openssl.c:909
+#: libpq/be-secure-openssl.c:919
 #, c-format
 msgid "invalid DH parameters: p is not prime"
 msgstr "ungültige DH-Parameter: p ist keine Primzahl"
 
-#: libpq/be-secure-openssl.c:918
+#: libpq/be-secure-openssl.c:928
 #, 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:1075
+#: libpq/be-secure-openssl.c:1085
 #, c-format
 msgid "DH: could not load DH parameters"
 msgstr "DH: konnte DH-Parameter nicht laden"
 
-#: libpq/be-secure-openssl.c:1083
+#: libpq/be-secure-openssl.c:1093
 #, c-format
 msgid "DH: could not set DH parameters: %s"
 msgstr "DH: konnte DH-Parameter nicht setzen: %s"
 
-#: libpq/be-secure-openssl.c:1110
+#: libpq/be-secure-openssl.c:1120
 #, c-format
 msgid "ECDH: unrecognized curve name: %s"
 msgstr "ECDH: unbekannter Kurvenname: %s"
 
-#: libpq/be-secure-openssl.c:1119
+#: libpq/be-secure-openssl.c:1129
 #, c-format
 msgid "ECDH: could not create key"
 msgstr "ECDH: konnte Schlüssel nicht erzeugen"
 
-#: libpq/be-secure-openssl.c:1147
+#: libpq/be-secure-openssl.c:1157
 msgid "no SSL error reported"
 msgstr "kein SSL-Fehler berichtet"
 
-#: libpq/be-secure-openssl.c:1151
+#: libpq/be-secure-openssl.c:1161
 #, c-format
 msgid "SSL error code %lu"
 msgstr "SSL-Fehlercode %lu"
@@ -14294,7 +14315,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:1203 tcop/postgres.c:4154
+#: libpq/pqcomm.c:1203 tcop/postgres.c:4164
 #, c-format
 msgid "terminating connection because protocol synchronization was lost"
 msgstr "Verbindung wird abgebrochen, weil Protokollsynchronisierung verloren wurde"
@@ -14325,7 +14346,7 @@ msgid "no data left in message"
 msgstr "keine Daten in Message übrig"
 
 #: libpq/pqformat.c:517 libpq/pqformat.c:535 libpq/pqformat.c:556
-#: utils/adt/arrayfuncs.c:1471 utils/adt/rowtypes.c:567
+#: utils/adt/arrayfuncs.c:1460 utils/adt/rowtypes.c:567
 #, c-format
 msgid "insufficient data left in message"
 msgstr "nicht genug Daten in Message übrig"
@@ -16917,7 +16938,7 @@ msgstr "eine hashpartitionierte Tabelle kann keine Standardpartition haben"
 msgid "invalid bound specification for a hash partition"
 msgstr "ungültige Begrenzungsangabe für eine Hash-Partition"
 
-#: parser/parse_utilcmd.c:3942 partitioning/partbounds.c:4640
+#: parser/parse_utilcmd.c:3942
 #, c-format
 msgid "modulus for hash partition must be a positive integer"
 msgstr "Modulus für Hashpartition muss eine positive ganze Zahl sein"
@@ -17040,10 +17061,15 @@ msgstr "Partition »%s« würde sich mit Partition »%s« überlappen"
 msgid "skipped scanning foreign table \"%s\" which is a partition of default partition \"%s\""
 msgstr "Scannen von Fremdtabelle »%s«, die eine Partition der Standardpartition »%s« ist, wurde übersprungen"
 
+#: partitioning/partbounds.c:4640
+#, c-format
+msgid "modulus for hash partition must be an integer value greater than zero"
+msgstr "Modulus für Hashpartition muss eine ganze Zahl größer als null sein"
+
 #: partitioning/partbounds.c:4644
 #, c-format
-msgid "remainder for hash partition must be a non-negative integer"
-msgstr "Rest für Hashpartition muss eine nichtnegative ganze Zahl sein"
+msgid "remainder for hash partition must be an integer value greater than or equal to zero"
+msgstr "Rest für Hashpartition muss eine ganze Zahl größer als oder gleich null sein"
 
 #: partitioning/partbounds.c:4668
 #, c-format
@@ -17326,64 +17352,64 @@ msgstr "Autovacuum wegen Fehlkonfiguration nicht gestartet"
 msgid "Enable the \"track_counts\" option."
 msgstr "Schalten Sie die Option »track_counts« ein."
 
-#: postmaster/bgworker.c:405 postmaster/bgworker.c:900
+#: postmaster/bgworker.c:407 postmaster/bgworker.c:911
 #, c-format
 msgid "registering background worker \"%s\""
 msgstr "registriere Background-Worker »%s«"
 
-#: postmaster/bgworker.c:437
+#: postmaster/bgworker.c:448
 #, c-format
 msgid "unregistering background worker \"%s\""
 msgstr "deregistriere Background-Worker »%s«"
 
-#: postmaster/bgworker.c:650
+#: postmaster/bgworker.c:661
 #, c-format
 msgid "background worker \"%s\": must attach to shared memory in order to request a database connection"
 msgstr "Background-Worker »%s«: muss mit Shared Memory verbinden, um eine Datenbankverbindung anzufordern"
 
-#: postmaster/bgworker.c:659
+#: postmaster/bgworker.c:670
 #, c-format
 msgid "background worker \"%s\": cannot request database access if starting at postmaster start"
 msgstr "Background-Worker »%s«: kann kein Datenbankzugriff anfordern, wenn er nach Postmaster-Start gestartet hat"
 
-#: postmaster/bgworker.c:673
+#: postmaster/bgworker.c:684
 #, c-format
 msgid "background worker \"%s\": invalid restart interval"
 msgstr "Background-Worker »%s«: ungültiges Neustart-Intervall"
 
-#: postmaster/bgworker.c:688
+#: postmaster/bgworker.c:699
 #, c-format
 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:712
+#: postmaster/bgworker.c:723
 #, c-format
 msgid "terminating background worker \"%s\" due to administrator command"
 msgstr "Background-Worker »%s« wird abgebrochen aufgrund von Anweisung des Administrators"
 
-#: postmaster/bgworker.c:908
+#: postmaster/bgworker.c:919
 #, c-format
 msgid "background worker \"%s\": must be registered in shared_preload_libraries"
 msgstr "Background-Worker »%s«: muss in shared_preload_libraries registriert sein"
 
-#: postmaster/bgworker.c:920
+#: postmaster/bgworker.c:931
 #, c-format
 msgid "background worker \"%s\": only dynamic background workers can request notification"
 msgstr "Background-Worker »%s«: nur dynamische Background-Worker können Benachrichtigung verlangen"
 
-#: postmaster/bgworker.c:935
+#: postmaster/bgworker.c:946
 #, c-format
 msgid "too many background workers"
 msgstr "zu viele Background-Worker"
 
-#: postmaster/bgworker.c:936
+#: postmaster/bgworker.c:947
 #, c-format
 msgid "Up to %d background worker can be registered with the current settings."
 msgid_plural "Up to %d background workers can be registered with the current settings."
 msgstr[0] "Mit den aktuellen Einstellungen können bis zu %d Background-Worker registriert werden."
 msgstr[1] "Mit den aktuellen Einstellungen können bis zu %d Background-Worker registriert werden."
 
-#: postmaster/bgworker.c:940
+#: postmaster/bgworker.c:951
 #, c-format
 msgid "Consider increasing the configuration parameter \"max_worker_processes\"."
 msgstr "Erhöhen Sie eventuell den Konfigurationsparameter »max_worker_processes«."
@@ -18662,7 +18688,7 @@ msgid "could not find free replication state slot for replication origin with OI
 msgstr "konnte keinen freien Replication-State-Slot für Replication-Origin mit OID %u finden"
 
 #: replication/logical/origin.c:929 replication/logical/origin.c:1116
-#: replication/slot.c:1762
+#: replication/slot.c:1849
 #, c-format
 msgid "Increase max_replication_slots and try again."
 msgstr "Erhöhen Sie max_replication_slots und versuchen Sie es erneut."
@@ -18688,44 +18714,44 @@ msgstr "Replication-Origin-Name »%s« ist reserviert"
 msgid "Origin names starting with \"pg_\" are reserved."
 msgstr "Replication-Origin-Namen, die mit »pg_« anfangen, sind reserviert."
 
-#: replication/logical/relation.c:302
+#: replication/logical/relation.c:287
 #, c-format
 msgid "logical replication target relation \"%s.%s\" does not exist"
 msgstr "Zielrelation für logische Replikation »%s.%s« existiert nicht"
 
-#: replication/logical/relation.c:345
+#: replication/logical/relation.c:330
 #, c-format
 msgid "logical replication target relation \"%s.%s\" is missing some replicated columns"
 msgstr "in Zielrelation für logische Replikation »%s.%s« fehlen replizierte Spalten"
 
-#: replication/logical/relation.c:385
+#: replication/logical/relation.c:370
 #, c-format
 msgid "logical replication target relation \"%s.%s\" uses system columns in REPLICA IDENTITY index"
 msgstr "Zielrelation für logische Replikation »%s.%s« verwendet Systemspalten in REPLICA-IDENTITY-Index"
 
-#: replication/logical/reorderbuffer.c:2663
+#: replication/logical/reorderbuffer.c:2686
 #, c-format
 msgid "could not write to data file for XID %u: %m"
 msgstr "konnte nicht in Datendatei für XID %u schreiben: %m"
 
-#: replication/logical/reorderbuffer.c:2850
-#: replication/logical/reorderbuffer.c:2875
+#: replication/logical/reorderbuffer.c:2874
+#: replication/logical/reorderbuffer.c:2899
 #, c-format
 msgid "could not read from reorderbuffer spill file: %m"
 msgstr "konnte nicht aus Reorder-Buffer-Spill-Datei lesen: %m"
 
-#: replication/logical/reorderbuffer.c:2854
-#: replication/logical/reorderbuffer.c:2879
+#: replication/logical/reorderbuffer.c:2878
+#: replication/logical/reorderbuffer.c:2903
 #, c-format
 msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes"
 msgstr "konnte nicht aus Reorder-Buffer-Spill-Datei lesen: %d statt %u Bytes gelesen"
 
-#: replication/logical/reorderbuffer.c:3114
+#: replication/logical/reorderbuffer.c:3139
 #, c-format
 msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m"
 msgstr "konnte Datei »%s« nicht löschen, bei Löschen von pg_replslot/%s/xid*: %m"
 
-#: replication/logical/reorderbuffer.c:3606
+#: replication/logical/reorderbuffer.c:3631
 #, c-format
 msgid "could not read from file \"%s\": read %d instead of %d bytes"
 msgstr "konnte nicht aus Datei »%s« lesen: %d statt %d Bytes gelesen"
@@ -18803,122 +18829,122 @@ msgstr "konnte Dateinamen »%s« nicht parsen"
 msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has finished"
 msgstr "Arbeitsprozess für logische Replikation für Tabellensynchronisation für Subskription »%s«, Tabelle »%s« hat abgeschlossen"
 
-#: replication/logical/tablesync.c:664
+#: replication/logical/tablesync.c:665
 #, c-format
 msgid "could not fetch table info for table \"%s.%s\" from publisher: %s"
 msgstr "konnte Tabelleninformationen für Tabelle »%s.%s« nicht vom Publikationsserver holen: %s"
 
-#: replication/logical/tablesync.c:670
+#: replication/logical/tablesync.c:671
 #, c-format
 msgid "table \"%s.%s\" not found on publisher"
 msgstr "Tabelle »%s.%s« nicht auf dem Publikationsserver gefunden"
 
-#: replication/logical/tablesync.c:704
+#: replication/logical/tablesync.c:707
 #, c-format
 msgid "could not fetch table info for table \"%s.%s\": %s"
 msgstr "konnte Tabelleninformationen für Tabelle »%s.%s« nicht holen: %s"
 
-#: replication/logical/tablesync.c:791
+#: replication/logical/tablesync.c:794
 #, c-format
 msgid "could not start initial contents copy for table \"%s.%s\": %s"
 msgstr "konnte Kopieren des Anfangsinhalts für Tabelle »%s.%s« nicht starten: %s"
 
-#: replication/logical/tablesync.c:905
+#: replication/logical/tablesync.c:909
 #, c-format
 msgid "table copy could not start transaction on publisher"
 msgstr "beim Kopieren der Tabelle konnte die Transaktion auf dem Publikationsserver nicht gestartet werden"
 
-#: replication/logical/tablesync.c:927
+#: replication/logical/tablesync.c:931
 #, c-format
 msgid "table copy could not finish transaction on publisher"
 msgstr "beim Kopieren der Tabelle konnte die Transaktion auf dem Publikationsserver nicht beenden werden"
 
-#: replication/logical/worker.c:311
+#: replication/logical/worker.c:360
 #, c-format
-msgid "processing remote data for replication target relation \"%s.%s\" column \"%s\", remote type %s, local type %s"
-msgstr "Verarbeiten empfangener Daten für Replikationszielrelation »%s.%s« Spalte »%s«, entfernter Typ %s, lokaler Typ %s"
+msgid "processing remote data for replication target relation \"%s.%s\" column \"%s\""
+msgstr "Verarbeiten empfangener Daten für Replikationszielrelation »%s.%s« Spalte »%s«"
 
-#: replication/logical/worker.c:550
+#: replication/logical/worker.c:597
 #, c-format
 msgid "ORIGIN message sent out of order"
 msgstr "ORIGIN-Nachricht in falscher Reihenfolge gesendet"
 
-#: replication/logical/worker.c:700
+#: replication/logical/worker.c:739
 #, c-format
 msgid "publisher did not send replica identity column expected by the logical replication target relation \"%s.%s\""
 msgstr "Publikationsserver hat nicht die Replikidentitätsspalten gesendet, die von Replikationszielrelation »%s.%s« erwartet wurden"
 
-#: replication/logical/worker.c:707
+#: replication/logical/worker.c:746
 #, c-format
 msgid "logical replication target relation \"%s.%s\" has neither REPLICA IDENTITY index nor PRIMARY KEY and published relation does not have REPLICA IDENTITY FULL"
 msgstr "Zielrelation für logische Replikation »%s.%s« hat weder REPLICA-IDENTITY-Index noch Primärschlüssel und die publizierte Relation hat kein REPLICA IDENTITY FULL"
 
-#: replication/logical/worker.c:1393
+#: replication/logical/worker.c:1432
 #, c-format
 msgid "invalid logical replication message type \"%c\""
 msgstr "ungültiger Nachrichtentyp für logische Replikation »%c«"
 
-#: replication/logical/worker.c:1536
+#: replication/logical/worker.c:1575
 #, c-format
 msgid "data stream from publisher has ended"
 msgstr "Datenstrom vom Publikationsserver endete"
 
-#: replication/logical/worker.c:1691
+#: replication/logical/worker.c:1730
 #, c-format
 msgid "terminating logical replication worker due to timeout"
 msgstr "Arbeitsprozess für logische Replikation wird abgebrochen wegen Zeitüberschreitung"
 
-#: replication/logical/worker.c:1836
+#: replication/logical/worker.c:1876
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will stop because the subscription was removed"
 msgstr "Apply-Worker für logische Replikation für Subskription »%s« wird anhalten, weil die Subskription entfernt wurde"
 
-#: replication/logical/worker.c:1850
+#: replication/logical/worker.c:1890
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will stop because the subscription was disabled"
 msgstr "Apply-Worker für logische Replikation für Subskription »%s« wird anhalten, weil die Subskription deaktiviert wurde"
 
-#: replication/logical/worker.c:1864
+#: replication/logical/worker.c:1904
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will restart because the connection information was changed"
 msgstr "Apply-Worker für logische Replikation für Subskription »%s« wird neu starten, weil die Verbindungsinformationen geändert wurden"
 
-#: replication/logical/worker.c:1878
+#: replication/logical/worker.c:1918
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will restart because subscription was renamed"
 msgstr "Apply-Worker für logische Replikation für Subskription »%s« wird neu starten, weil die Subskription umbenannt wurde"
 
-#: replication/logical/worker.c:1895
+#: replication/logical/worker.c:1935
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will restart because the replication slot name was changed"
 msgstr "Apply-Worker für logische Replikation für Subskription »%s« wird neu starten, weil der Replikations-Slot-Name geändert wurde"
 
-#: replication/logical/worker.c:1909
+#: replication/logical/worker.c:1949
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will restart because subscription's publications were changed"
 msgstr "Apply-Worker für logische Replikation für Subskription »%s« wird neu starten, weil die Publikationen der Subskription geandert wurden"
 
-#: replication/logical/worker.c:2005
+#: replication/logical/worker.c:2045
 #, c-format
 msgid "logical replication apply worker for subscription %u will not start because the subscription was removed during startup"
 msgstr "Apply-Worker für logische Replikation für Subskription %u« wird nicht starten, weil die Subskription während des Starts deaktiviert wurde"
 
-#: replication/logical/worker.c:2017
+#: replication/logical/worker.c:2057
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will not start because the subscription was disabled during startup"
 msgstr "Apply-Worker für logische Replikation für Subskription »%s« wird nicht starten, weil die Subskription während des Starts deaktiviert wurde"
 
-#: replication/logical/worker.c:2035
+#: replication/logical/worker.c:2075
 #, c-format
 msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started"
 msgstr "Arbeitsprozess für logische Replikation für Tabellensynchronisation für Subskription »%s«, Tabelle »%s« hat gestartet"
 
-#: replication/logical/worker.c:2039
+#: replication/logical/worker.c:2079
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" has started"
 msgstr "Apply-Worker für logische Replikation für Subskription »%s« hat gestartet"
 
-#: replication/logical/worker.c:2078
+#: replication/logical/worker.c:2118
 #, c-format
 msgid "subscription has no replication slot set"
 msgstr "für die Subskription ist kein Replikations-Slot gesetzt"
@@ -18998,7 +19024,7 @@ msgstr "Replikations-Slot »%s« existiert nicht"
 msgid "replication slot \"%s\" is active for PID %d"
 msgstr "Replikations-Slot »%s« ist aktiv für PID %d"
 
-#: replication/slot.c:683 replication/slot.c:1314 replication/slot.c:1697
+#: replication/slot.c:683 replication/slot.c:1401 replication/slot.c:1784
 #, c-format
 msgid "could not remove directory \"%s\""
 msgstr "konnte Verzeichnis »%s« nicht löschen"
@@ -19013,57 +19039,57 @@ msgstr "Replikations-Slots können nur verwendet werden, wenn max_replication_sl
 msgid "replication slots can only be used if wal_level >= replica"
 msgstr "Replikations-Slots können nur verwendet werden, wenn wal_level >= replica"
 
-#: replication/slot.c:1202
+#: replication/slot.c:1231
 #, c-format
-msgid "terminating process %d because replication slot \"%s\" is too far behind"
-msgstr "Prozess %d wird beendet, weil Replikations-Slot »%s« zu weit zurück liegt"
+msgid "terminating process %d to release replication slot \"%s\""
+msgstr "Prozess %d wird beendet, um Replikations-Slot »%s« freizugeben"
 
-#: replication/slot.c:1221
+#: replication/slot.c:1269
 #, c-format
 msgid "invalidating slot \"%s\" because its restart_lsn %X/%X exceeds max_slot_wal_keep_size"
 msgstr "Slot »%s« wird ungültig gemacht, weil seine restart_lsn %X/%X max_slot_wal_keep_size überschreitet"
 
-#: replication/slot.c:1635
+#: replication/slot.c:1722
 #, c-format
 msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u"
 msgstr "Replikations-Slot-Datei »%s« hat falsche magische Zahl: %u statt %u"
 
-#: replication/slot.c:1642
+#: replication/slot.c:1729
 #, c-format
 msgid "replication slot file \"%s\" has unsupported version %u"
 msgstr "Replikations-Slot-Datei »%s« hat nicht unterstützte Version %u"
 
-#: replication/slot.c:1649
+#: replication/slot.c:1736
 #, c-format
 msgid "replication slot file \"%s\" has corrupted length %u"
 msgstr "Replikations-Slot-Datei »%s« hat falsche Länge %u"
 
-#: replication/slot.c:1685
+#: replication/slot.c:1772
 #, c-format
 msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u"
 msgstr "Prüfsummenfehler bei Replikations-Slot-Datei »%s«: ist %u, sollte %u sein"
 
-#: replication/slot.c:1719
+#: replication/slot.c:1806
 #, c-format
 msgid "logical replication slot \"%s\" exists, but wal_level < logical"
 msgstr "logischer Replikations-Slot »%s« existiert, aber wal_level < logical"
 
-#: replication/slot.c:1721
+#: replication/slot.c:1808
 #, c-format
 msgid "Change wal_level to be logical or higher."
 msgstr "Ändern Sie wal_level in logical oder höher."
 
-#: replication/slot.c:1725
+#: replication/slot.c:1812
 #, c-format
 msgid "physical replication slot \"%s\" exists, but wal_level < replica"
 msgstr "physischer Replikations-Slot »%s« existiert, aber wal_level < replica"
 
-#: replication/slot.c:1727
+#: replication/slot.c:1814
 #, c-format
 msgid "Change wal_level to be replica or higher."
 msgstr "Ändern Sie wal_level in replica oder höher."
 
-#: replication/slot.c:1761
+#: replication/slot.c:1848
 #, c-format
 msgid "too many replication slots active before shutdown"
 msgstr "zu viele aktive Replikations-Slots vor dem Herunterfahren"
@@ -19318,44 +19344,44 @@ msgstr "WAL-Sender-Prozess wird nach Beförderung abgebrochen"
 msgid "cannot execute new commands while WAL sender is in stopping mode"
 msgstr "während der WAL-Sender im Stoppmodus ist können keine neuen Befehle ausgeführt werden"
 
-#: replication/walsender.c:1571
+#: replication/walsender.c:1575
+#, c-format
+msgid "cannot execute SQL commands in WAL sender for physical replication"
+msgstr "im WAL-Sender für physische Replikation können keine SQL-Befehle ausgeführt werden"
+
+#: replication/walsender.c:1598
 #, c-format
 msgid "received replication command: %s"
 msgstr "Replikationsbefehl empfangen: %s"
 
-#: replication/walsender.c:1587 tcop/fastpath.c:285 tcop/postgres.c:1103
+#: replication/walsender.c:1606 tcop/fastpath.c:285 tcop/postgres.c:1103
 #: tcop/postgres.c:1455 tcop/postgres.c:1716 tcop/postgres.c:2174
 #: tcop/postgres.c:2535 tcop/postgres.c:2614
 #, 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"
 
-#: replication/walsender.c:1674
-#, c-format
-msgid "cannot execute SQL commands in WAL sender for physical replication"
-msgstr "im WAL-Sender für physische Replikation können keine SQL-Befehle ausgeführt werden"
-
-#: replication/walsender.c:1724 replication/walsender.c:1740
+#: replication/walsender.c:1730 replication/walsender.c:1746
 #, c-format
 msgid "unexpected EOF on standby connection"
 msgstr "unerwartetes EOF auf Standby-Verbindung"
 
-#: replication/walsender.c:1779
+#: replication/walsender.c:1785
 #, c-format
 msgid "invalid standby message type \"%c\""
 msgstr "ungültiger Standby-Message-Typ »%c«"
 
-#: replication/walsender.c:1820
+#: replication/walsender.c:1826
 #, c-format
 msgid "unexpected message type \"%c\""
 msgstr "unerwarteter Message-Typ »%c«"
 
-#: replication/walsender.c:2232
+#: replication/walsender.c:2238
 #, c-format
 msgid "terminating walsender process due to replication timeout"
 msgstr "WAL-Sender-Prozess wird abgebrochen wegen Zeitüberschreitung bei der Replikation"
 
-#: replication/walsender.c:2309
+#: replication/walsender.c:2315
 #, c-format
 msgid "\"%s\" has now caught up with upstream server"
 msgstr "»%s« hat jetzt den Upstream-Server eingeholt"
@@ -19606,7 +19632,7 @@ msgstr "Spalte »%s« kann nur auf DEFAULT aktualisiert werden"
 msgid "multiple assignments to same column \"%s\""
 msgstr "mehrere Zuweisungen zur selben Spalte »%s«"
 
-#: rewrite/rewriteHandler.c:2015 rewrite/rewriteHandler.c:3823
+#: rewrite/rewriteHandler.c:2015 rewrite/rewriteHandler.c:3837
 #, c-format
 msgid "infinite recursion detected in rules for relation \"%s\""
 msgstr "unendliche Rekursion entdeckt in Regeln für Relation »%s«"
@@ -19691,68 +19717,73 @@ msgstr "kann nicht in Spalte »%s« von Sicht »%s« einfügen"
 msgid "cannot update column \"%s\" of view \"%s\""
 msgstr "kann Spalte »%s« von Sicht »%s« nicht aktualisieren"
 
-#: rewrite/rewriteHandler.c:3534
+#: rewrite/rewriteHandler.c:3537
+#, 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:3548
 #, 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:3548
+#: rewrite/rewriteHandler.c:3562
 #, 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:3552
+#: rewrite/rewriteHandler.c:3566
 #, 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:3557
+#: rewrite/rewriteHandler.c:3571
 #, 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:3751 rewrite/rewriteHandler.c:3759
-#: rewrite/rewriteHandler.c:3767
+#: rewrite/rewriteHandler.c:3765 rewrite/rewriteHandler.c:3773
+#: rewrite/rewriteHandler.c:3781
 #, c-format
 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:3860
+#: rewrite/rewriteHandler.c:3874
 #, c-format
 msgid "cannot perform INSERT RETURNING on relation \"%s\""
 msgstr "INSERT RETURNING kann in Relation »%s« nicht ausgeführt werden"
 
-#: rewrite/rewriteHandler.c:3862
+#: rewrite/rewriteHandler.c:3876
 #, 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:3867
+#: rewrite/rewriteHandler.c:3881
 #, c-format
 msgid "cannot perform UPDATE RETURNING on relation \"%s\""
 msgstr "UPDATE RETURNING kann in Relation »%s« nicht ausgeführt werden"
 
-#: rewrite/rewriteHandler.c:3869
+#: rewrite/rewriteHandler.c:3883
 #, 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:3874
+#: rewrite/rewriteHandler.c:3888
 #, c-format
 msgid "cannot perform DELETE RETURNING on relation \"%s\""
 msgstr "DELETE RETURNING kann in Relation »%s« nicht ausgeführt werden"
 
-#: rewrite/rewriteHandler.c:3876
+#: rewrite/rewriteHandler.c:3890
 #, 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:3894
+#: rewrite/rewriteHandler.c:3908
 #, 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:3951
+#: rewrite/rewriteHandler.c:3965
 #, 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"
@@ -20179,8 +20210,8 @@ 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:982
-#: storage/lmgr/lock.c:1020 storage/lmgr/lock.c:2845 storage/lmgr/lock.c:4167
-#: storage/lmgr/lock.c:4232 storage/lmgr/lock.c:4539
+#: storage/lmgr/lock.c:1020 storage/lmgr/lock.c:2845 storage/lmgr/lock.c:4248
+#: storage/lmgr/lock.c:4313 storage/lmgr/lock.c:4620
 #: storage/lmgr/predicate.c:2476 storage/lmgr/predicate.c:2491
 #: storage/lmgr/predicate.c:3973 storage/lmgr/predicate.c:5084
 #: utils/hash/dynahash.c:1067
@@ -20249,7 +20280,7 @@ msgstr "Verwenden Sie stattdessen %s, was im Kernsystem enthalten ist."
 msgid "rotation not possible because log collection not active"
 msgstr "Rotierung nicht möglich, weil Logsammlung nicht aktiv ist"
 
-#: storage/ipc/standby.c:683 tcop/postgres.c:3189
+#: storage/ipc/standby.c:683 tcop/postgres.c:3199
 #, c-format
 msgid "canceling statement due to conflict with recovery"
 msgstr "storniere Anfrage wegen Konflikt mit der Wiederherstellung"
@@ -20410,12 +20441,12 @@ msgid "Only RowExclusiveLock or less can be acquired on database objects during
 msgstr "Nur Sperren gleich oder unter RowExclusiveLock können während der Wiederherstellung auf Datenbankobjekte gesetzt werden."
 
 #: storage/lmgr/lock.c:983 storage/lmgr/lock.c:1021 storage/lmgr/lock.c:2846
-#: storage/lmgr/lock.c:4168 storage/lmgr/lock.c:4233 storage/lmgr/lock.c:4540
+#: storage/lmgr/lock.c:4249 storage/lmgr/lock.c:4314 storage/lmgr/lock.c:4621
 #, c-format
 msgid "You might need to increase max_locks_per_transaction."
 msgstr "Sie müssen möglicherweise max_locks_per_transaction erhöhen."
 
-#: storage/lmgr/lock.c:3284 storage/lmgr/lock.c:3400
+#: storage/lmgr/lock.c:3297 storage/lmgr/lock.c:3365 storage/lmgr/lock.c:3481
 #, 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"
@@ -20680,7 +20711,7 @@ msgid "unexpected EOF on client connection"
 msgstr "unerwartetes EOF auf Client-Verbindung"
 
 #: tcop/postgres.c:441 tcop/postgres.c:453 tcop/postgres.c:464
-#: tcop/postgres.c:476 tcop/postgres.c:4553
+#: tcop/postgres.c:476 tcop/postgres.c:4563
 #, c-format
 msgid "invalid frontend message type %d"
 msgstr "ungültiger Frontend-Message-Typ %d"
@@ -20813,7 +20844,7 @@ msgstr "Verbindung wird abgebrochen wegen Absturz eines anderen Serverprozesses"
 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:2801 tcop/postgres.c:3119
+#: tcop/postgres.c:2801 tcop/postgres.c:3125
 #, 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."
@@ -20828,142 +20859,142 @@ msgstr "Fließkommafehler"
 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:3049
+#: tcop/postgres.c:3055
 #, c-format
 msgid "canceling authentication due to timeout"
 msgstr "storniere Authentifizierung wegen Zeitüberschreitung"
 
-#: tcop/postgres.c:3053
+#: tcop/postgres.c:3059
 #, c-format
 msgid "terminating autovacuum process due to administrator command"
 msgstr "Autovacuum-Prozess wird abgebrochen aufgrund von Anweisung des Administrators"
 
-#: tcop/postgres.c:3057
+#: tcop/postgres.c:3063
 #, 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:3061
+#: tcop/postgres.c:3067
 #, c-format
 msgid "logical replication launcher shutting down"
 msgstr "Logical-Replication-Launcher fährt herunter"
 
-#: tcop/postgres.c:3074 tcop/postgres.c:3084 tcop/postgres.c:3117
+#: tcop/postgres.c:3080 tcop/postgres.c:3090 tcop/postgres.c:3123
 #, c-format
 msgid "terminating connection due to conflict with recovery"
 msgstr "Verbindung wird abgebrochen wegen Konflikt mit der Wiederherstellung"
 
-#: tcop/postgres.c:3090
+#: tcop/postgres.c:3096
 #, c-format
 msgid "terminating connection due to administrator command"
 msgstr "Verbindung wird abgebrochen aufgrund von Anweisung des Administrators"
 
-#: tcop/postgres.c:3100
+#: tcop/postgres.c:3106
 #, c-format
 msgid "connection to client lost"
 msgstr "Verbindung zum Client wurde verloren"
 
-#: tcop/postgres.c:3166
+#: tcop/postgres.c:3176
 #, c-format
 msgid "canceling statement due to lock timeout"
 msgstr "storniere Anfrage wegen Zeitüberschreitung einer Sperre"
 
-#: tcop/postgres.c:3173
+#: tcop/postgres.c:3183
 #, c-format
 msgid "canceling statement due to statement timeout"
 msgstr "storniere Anfrage wegen Zeitüberschreitung der Anfrage"
 
-#: tcop/postgres.c:3180
+#: tcop/postgres.c:3190
 #, c-format
 msgid "canceling autovacuum task"
 msgstr "storniere Autovacuum-Aufgabe"
 
-#: tcop/postgres.c:3203
+#: tcop/postgres.c:3213
 #, c-format
 msgid "canceling statement due to user request"
 msgstr "storniere Anfrage wegen Benutzeraufforderung"
 
-#: tcop/postgres.c:3213
+#: tcop/postgres.c:3223
 #, c-format
 msgid "terminating connection due to idle-in-transaction timeout"
 msgstr "Verbindung wird abgebrochen wegen Zeitüberschreitung in inaktiver Transaktion"
 
-#: tcop/postgres.c:3330
+#: tcop/postgres.c:3340
 #, c-format
 msgid "stack depth limit exceeded"
 msgstr "Grenze für Stacktiefe überschritten"
 
-#: tcop/postgres.c:3331
+#: tcop/postgres.c:3341
 #, 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:3394
+#: tcop/postgres.c:3404
 #, c-format
 msgid "\"max_stack_depth\" must not exceed %ldkB."
 msgstr "»max_stack_depth« darf %ldkB nicht überschreiten."
 
-#: tcop/postgres.c:3396
+#: tcop/postgres.c:3406
 #, 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:3756
+#: tcop/postgres.c:3766
 #, c-format
 msgid "invalid command-line argument for server process: %s"
 msgstr "ungültiges Kommandozeilenargument für Serverprozess: %s"
 
-#: tcop/postgres.c:3757 tcop/postgres.c:3763
+#: tcop/postgres.c:3767 tcop/postgres.c:3773
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Versuchen Sie »%s --help« für weitere Informationen."
 
-#: tcop/postgres.c:3761
+#: tcop/postgres.c:3771
 #, c-format
 msgid "%s: invalid command-line argument: %s"
 msgstr "%s: ungültiges Kommandozeilenargument: %s"
 
-#: tcop/postgres.c:3823
+#: tcop/postgres.c:3833
 #, c-format
 msgid "%s: no database nor user name specified"
 msgstr "%s: weder Datenbankname noch Benutzername angegeben"
 
-#: tcop/postgres.c:4461
+#: tcop/postgres.c:4471
 #, c-format
 msgid "invalid CLOSE message subtype %d"
 msgstr "ungültiger Subtyp %d von CLOSE-Message"
 
-#: tcop/postgres.c:4496
+#: tcop/postgres.c:4506
 #, c-format
 msgid "invalid DESCRIBE message subtype %d"
 msgstr "ungültiger Subtyp %d von DESCRIBE-Message"
 
-#: tcop/postgres.c:4574
+#: tcop/postgres.c:4584
 #, 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:4578
+#: tcop/postgres.c:4588
 #, 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:4755
+#: tcop/postgres.c:4765
 #, 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"
 
-#: tcop/pquery.c:629
+#: tcop/pquery.c:636
 #, c-format
 msgid "bind message has %d result formats but query has %d columns"
 msgstr "Bind-Message hat %d Ergebnisspalten, aber Anfrage hat %d Spalten"
 
-#: tcop/pquery.c:932
+#: tcop/pquery.c:939
 #, c-format
 msgid "cursor can only scan forward"
 msgstr "Cursor kann nur vorwärts scannen"
 
-#: tcop/pquery.c:933
+#: tcop/pquery.c:940
 #, c-format
 msgid "Declare it with SCROLL option to enable backward scan."
 msgstr "Deklarieren Sie ihn mit der Option SCROLL, um rückwarts scannen zu können."
@@ -21356,17 +21387,17 @@ msgstr "Funktion »%s« existiert nicht"
 msgid "must be member of role \"%s\""
 msgstr "Berechtigung nur für Mitglied von Rolle »%s«"
 
-#: utils/adt/array_expanded.c:274 utils/adt/arrayfuncs.c:933
-#: utils/adt/arrayfuncs.c:1533 utils/adt/arrayfuncs.c:3236
-#: utils/adt/arrayfuncs.c:3376 utils/adt/arrayfuncs.c:5911
-#: utils/adt/arrayfuncs.c:6252 utils/adt/arrayutils.c:93
-#: utils/adt/arrayutils.c:102 utils/adt/arrayutils.c:109
+#: utils/adt/array_expanded.c:274 utils/adt/arrayfuncs.c:935
+#: utils/adt/arrayfuncs.c:1522 utils/adt/arrayfuncs.c:3236
+#: utils/adt/arrayfuncs.c:3378 utils/adt/arrayfuncs.c:5919
+#: utils/adt/arrayfuncs.c:6260 utils/adt/arrayutils.c:94
+#: utils/adt/arrayutils.c:103 utils/adt/arrayutils.c:110
 #, c-format
 msgid "array size exceeds the maximum allowed (%d)"
 msgstr "Arraygröße überschreitet erlaubtes Maximum (%d)"
 
-#: utils/adt/array_userfuncs.c:80 utils/adt/array_userfuncs.c:466
-#: utils/adt/array_userfuncs.c:546 utils/adt/json.c:645 utils/adt/json.c:740
+#: utils/adt/array_userfuncs.c:80 utils/adt/array_userfuncs.c:467
+#: utils/adt/array_userfuncs.c:547 utils/adt/json.c:645 utils/adt/json.c:740
 #: utils/adt/json.c:778 utils/adt/jsonb.c:1115 utils/adt/jsonb.c:1144
 #: utils/adt/jsonb.c:1538 utils/adt/jsonb.c:1702 utils/adt/jsonb.c:1712
 #, c-format
@@ -21379,16 +21410,16 @@ msgid "input data type is not an array"
 msgstr "Eingabedatentyp ist kein Array"
 
 #: utils/adt/array_userfuncs.c:129 utils/adt/array_userfuncs.c:181
-#: utils/adt/arrayfuncs.c:1336 utils/adt/float.c:1243 utils/adt/float.c:1317
-#: utils/adt/float.c:3960 utils/adt/float.c:3974 utils/adt/int.c:759
-#: utils/adt/int.c:781 utils/adt/int.c:795 utils/adt/int.c:809
-#: utils/adt/int.c:840 utils/adt/int.c:861 utils/adt/int.c:978
-#: utils/adt/int.c:992 utils/adt/int.c:1006 utils/adt/int.c:1039
-#: utils/adt/int.c:1053 utils/adt/int.c:1067 utils/adt/int.c:1098
-#: utils/adt/int.c:1180 utils/adt/int.c:1244 utils/adt/int.c:1312
-#: utils/adt/int.c:1318 utils/adt/int8.c:1292 utils/adt/numeric.c:1559
-#: utils/adt/numeric.c:3435 utils/adt/varbit.c:1194 utils/adt/varbit.c:1582
-#: utils/adt/varlena.c:1097 utils/adt/varlena.c:3395
+#: utils/adt/float.c:1243 utils/adt/float.c:1317 utils/adt/float.c:3960
+#: utils/adt/float.c:3974 utils/adt/int.c:759 utils/adt/int.c:781
+#: utils/adt/int.c:795 utils/adt/int.c:809 utils/adt/int.c:840
+#: utils/adt/int.c:861 utils/adt/int.c:978 utils/adt/int.c:992
+#: utils/adt/int.c:1006 utils/adt/int.c:1039 utils/adt/int.c:1053
+#: utils/adt/int.c:1067 utils/adt/int.c:1098 utils/adt/int.c:1180
+#: utils/adt/int.c:1244 utils/adt/int.c:1312 utils/adt/int.c:1318
+#: utils/adt/int8.c:1292 utils/adt/numeric.c:1551 utils/adt/numeric.c:3430
+#: utils/adt/varbit.c:1194 utils/adt/varbit.c:1582 utils/adt/varlena.c:1097
+#: utils/adt/varlena.c:3395
 #, c-format
 msgid "integer out of range"
 msgstr "integer ist außerhalb des gültigen Bereichs"
@@ -21425,12 +21456,12 @@ msgstr "Arrays mit unterschiedlichen Elementdimensionen sind nicht kompatibel f
 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:662 utils/adt/array_userfuncs.c:814
+#: utils/adt/array_userfuncs.c:663 utils/adt/array_userfuncs.c:815
 #, c-format
 msgid "searching for elements in multidimensional arrays is not supported"
 msgstr "Suche nach Elementen in mehrdimensionalen Arrays wird nicht unterstützt"
 
-#: utils/adt/array_userfuncs.c:686
+#: utils/adt/array_userfuncs.c:687
 #, c-format
 msgid "initial position must not be null"
 msgstr "Startposition darf nicht NULL sein"
@@ -21439,14 +21470,14 @@ msgstr "Startposition darf nicht NULL sein"
 #: utils/adt/arrayfuncs.c:295 utils/adt/arrayfuncs.c:317
 #: utils/adt/arrayfuncs.c:332 utils/adt/arrayfuncs.c:346
 #: utils/adt/arrayfuncs.c:352 utils/adt/arrayfuncs.c:359
-#: utils/adt/arrayfuncs.c:490 utils/adt/arrayfuncs.c:506
-#: utils/adt/arrayfuncs.c:517 utils/adt/arrayfuncs.c:532
-#: utils/adt/arrayfuncs.c:553 utils/adt/arrayfuncs.c:583
-#: utils/adt/arrayfuncs.c:590 utils/adt/arrayfuncs.c:598
-#: utils/adt/arrayfuncs.c:632 utils/adt/arrayfuncs.c:655
-#: utils/adt/arrayfuncs.c:675 utils/adt/arrayfuncs.c:787
-#: utils/adt/arrayfuncs.c:796 utils/adt/arrayfuncs.c:826
-#: utils/adt/arrayfuncs.c:841 utils/adt/arrayfuncs.c:894
+#: utils/adt/arrayfuncs.c:492 utils/adt/arrayfuncs.c:508
+#: utils/adt/arrayfuncs.c:519 utils/adt/arrayfuncs.c:534
+#: utils/adt/arrayfuncs.c:555 utils/adt/arrayfuncs.c:585
+#: utils/adt/arrayfuncs.c:592 utils/adt/arrayfuncs.c:600
+#: utils/adt/arrayfuncs.c:634 utils/adt/arrayfuncs.c:657
+#: utils/adt/arrayfuncs.c:677 utils/adt/arrayfuncs.c:789
+#: utils/adt/arrayfuncs.c:798 utils/adt/arrayfuncs.c:828
+#: utils/adt/arrayfuncs.c:843 utils/adt/arrayfuncs.c:896
 #, c-format
 msgid "malformed array literal: \"%s\""
 msgstr "fehlerhafte Arraykonstante: »%s«"
@@ -21466,8 +21497,8 @@ msgstr "Dimensionswert fehlt."
 msgid "Missing \"%s\" after array dimensions."
 msgstr "»%s« fehlt nach Arraydimensionen."
 
-#: utils/adt/arrayfuncs.c:305 utils/adt/arrayfuncs.c:2884
-#: utils/adt/arrayfuncs.c:2916 utils/adt/arrayfuncs.c:2931
+#: utils/adt/arrayfuncs.c:305 utils/adt/arrayfuncs.c:2883
+#: utils/adt/arrayfuncs.c:2915 utils/adt/arrayfuncs.c:2930
 #, c-format
 msgid "upper bound cannot be less than lower bound"
 msgstr "Obergrenze kann nicht kleiner als Untergrenze sein"
@@ -21487,81 +21518,81 @@ msgstr "Array-Inhalt muss mit {« anfangen."
 msgid "Specified array dimensions do not match array contents."
 msgstr "Angegebene Array-Dimensionen stimmen nicht mit dem Array-Inhalt überein."
 
-#: utils/adt/arrayfuncs.c:491 utils/adt/arrayfuncs.c:518
+#: utils/adt/arrayfuncs.c:493 utils/adt/arrayfuncs.c:520
 #: utils/adt/rangetypes.c:2181 utils/adt/rangetypes.c:2189
 #: utils/adt/rowtypes.c:210 utils/adt/rowtypes.c:218
 #, c-format
 msgid "Unexpected end of input."
 msgstr "Unerwartetes Ende der Eingabe."
 
-#: utils/adt/arrayfuncs.c:507 utils/adt/arrayfuncs.c:554
-#: utils/adt/arrayfuncs.c:584 utils/adt/arrayfuncs.c:633
+#: utils/adt/arrayfuncs.c:509 utils/adt/arrayfuncs.c:556
+#: utils/adt/arrayfuncs.c:586 utils/adt/arrayfuncs.c:635
 #, c-format
 msgid "Unexpected \"%c\" character."
 msgstr "Unerwartetes Zeichen »%c«."
 
-#: utils/adt/arrayfuncs.c:533 utils/adt/arrayfuncs.c:656
+#: utils/adt/arrayfuncs.c:535 utils/adt/arrayfuncs.c:658
 #, c-format
 msgid "Unexpected array element."
 msgstr "Unerwartetes Arrayelement."
 
-#: utils/adt/arrayfuncs.c:591
+#: utils/adt/arrayfuncs.c:593
 #, c-format
 msgid "Unmatched \"%c\" character."
 msgstr "Zeichen »%c« ohne Gegenstück."
 
-#: utils/adt/arrayfuncs.c:599 utils/adt/jsonfuncs.c:2452
+#: utils/adt/arrayfuncs.c:601 utils/adt/jsonfuncs.c:2452
 #, c-format
 msgid "Multidimensional arrays must have sub-arrays with matching dimensions."
 msgstr "Mehrdimensionale Arrays müssen Arraysausdrücke mit gleicher Anzahl Dimensionen haben."
 
-#: utils/adt/arrayfuncs.c:676
+#: utils/adt/arrayfuncs.c:678
 #, c-format
 msgid "Junk after closing right brace."
 msgstr "Müll nach schließender rechter geschweifter Klammer."
 
-#: utils/adt/arrayfuncs.c:1298 utils/adt/arrayfuncs.c:3344
-#: utils/adt/arrayfuncs.c:5817
+#: utils/adt/arrayfuncs.c:1300 utils/adt/arrayfuncs.c:3344
+#: utils/adt/arrayfuncs.c:5823
 #, c-format
 msgid "invalid number of dimensions: %d"
 msgstr "ungültige Anzahl Dimensionen: %d"
 
-#: utils/adt/arrayfuncs.c:1309
+#: utils/adt/arrayfuncs.c:1311
 #, c-format
 msgid "invalid array flags"
 msgstr "ungültige Array-Flags"
 
-#: utils/adt/arrayfuncs.c:1317
+#: utils/adt/arrayfuncs.c:1319
 #, c-format
 msgid "wrong element type"
 msgstr "falscher Elementtyp"
 
-#: utils/adt/arrayfuncs.c:1367 utils/adt/rangetypes.c:335
+#: utils/adt/arrayfuncs.c:1356 utils/adt/rangetypes.c:335
 #: utils/cache/lsyscache.c:2862
 #, c-format
 msgid "no binary input function available for type %s"
 msgstr "keine binäre Eingabefunktion verfügbar für Typ %s"
 
-#: utils/adt/arrayfuncs.c:1507
+#: utils/adt/arrayfuncs.c:1496
 #, c-format
 msgid "improper binary format in array element %d"
 msgstr "falsches Binärformat in Arrayelement %d"
 
-#: utils/adt/arrayfuncs.c:1588 utils/adt/rangetypes.c:340
+#: utils/adt/arrayfuncs.c:1577 utils/adt/rangetypes.c:340
 #: utils/cache/lsyscache.c:2895
 #, c-format
 msgid "no binary output function available for type %s"
 msgstr "keine binäre Ausgabefunktion verfügbar für Typ %s"
 
-#: utils/adt/arrayfuncs.c:2066
+#: utils/adt/arrayfuncs.c:2055
 #, c-format
 msgid "slices of fixed-length arrays not implemented"
 msgstr "Auswählen von Stücken aus Arrays mit fester Länge ist nicht implementiert"
 
-#: utils/adt/arrayfuncs.c:2244 utils/adt/arrayfuncs.c:2266
-#: utils/adt/arrayfuncs.c:2315 utils/adt/arrayfuncs.c:2551
-#: utils/adt/arrayfuncs.c:2862 utils/adt/arrayfuncs.c:5803
-#: utils/adt/arrayfuncs.c:5829 utils/adt/arrayfuncs.c:5840
+#: utils/adt/arrayfuncs.c:2233 utils/adt/arrayfuncs.c:2255
+#: utils/adt/arrayfuncs.c:2304 utils/adt/arrayfuncs.c:2543
+#: utils/adt/arrayfuncs.c:2861 utils/adt/arrayfuncs.c:5809
+#: utils/adt/arrayfuncs.c:5835 utils/adt/arrayfuncs.c:5846
 #: utils/adt/json.c:1141 utils/adt/json.c:1216 utils/adt/jsonb.c:1316
 #: utils/adt/jsonb.c:1402 utils/adt/jsonfuncs.c:4340 utils/adt/jsonfuncs.c:4490
 #: utils/adt/jsonfuncs.c:4602 utils/adt/jsonfuncs.c:4648
@@ -21569,125 +21600,130 @@ msgstr "Auswählen von Stücken aus Arrays mit fester Länge ist nicht implement
 msgid "wrong number of array subscripts"
 msgstr "falsche Anzahl Arrayindizes"
 
-#: utils/adt/arrayfuncs.c:2249 utils/adt/arrayfuncs.c:2357
-#: utils/adt/arrayfuncs.c:2615 utils/adt/arrayfuncs.c:2921
+#: utils/adt/arrayfuncs.c:2238 utils/adt/arrayfuncs.c:2346
+#: utils/adt/arrayfuncs.c:2607 utils/adt/arrayfuncs.c:2920
 #, c-format
 msgid "array subscript out of range"
 msgstr "Arrayindex außerhalb des gültigen Bereichs"
 
-#: utils/adt/arrayfuncs.c:2254
+#: utils/adt/arrayfuncs.c:2243
 #, c-format
 msgid "cannot assign null value to an element of a fixed-length array"
 msgstr "Array mit fester Länge kann keinen NULL-Wert enthalten"
 
-#: utils/adt/arrayfuncs.c:2809
+#: utils/adt/arrayfuncs.c:2808
 #, c-format
 msgid "updates on slices of fixed-length arrays not implemented"
 msgstr "Aktualisieren von Stücken aus Arrays mit fester Länge ist nicht implementiert"
 
-#: utils/adt/arrayfuncs.c:2840
+#: utils/adt/arrayfuncs.c:2839
 #, c-format
 msgid "array slice subscript must provide both boundaries"
 msgstr "Array-Slice-Index muss beide Begrenzungen angeben"
 
-#: utils/adt/arrayfuncs.c:2841
+#: utils/adt/arrayfuncs.c:2840
 #, c-format
 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:2852 utils/adt/arrayfuncs.c:2947
+#: utils/adt/arrayfuncs.c:2851 utils/adt/arrayfuncs.c:2947
 #, c-format
 msgid "source array too small"
 msgstr "Quellarray ist zu klein"
 
-#: utils/adt/arrayfuncs.c:3500
+#: utils/adt/arrayfuncs.c:3502
 #, 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:3602 utils/adt/arrayfuncs.c:3773
-#: utils/adt/arrayfuncs.c:4129
+#: utils/adt/arrayfuncs.c:3604 utils/adt/arrayfuncs.c:3775
+#: utils/adt/arrayfuncs.c:4131
 #, c-format
 msgid "cannot compare arrays of different element types"
 msgstr "kann Arrays mit verschiedenen Elementtypen nicht vergleichen"
 
-#: utils/adt/arrayfuncs.c:3951 utils/adt/rangetypes.c:1254
+#: utils/adt/arrayfuncs.c:3953 utils/adt/rangetypes.c:1254
 #: utils/adt/rangetypes.c:1318
 #, 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:4044
+#: utils/adt/arrayfuncs.c:4046
 #, 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:5221
+#: utils/adt/arrayfuncs.c:5223
 #, c-format
 msgid "data type %s is not an array type"
 msgstr "Datentyp %s ist kein Array-Typ"
 
-#: utils/adt/arrayfuncs.c:5276
+#: utils/adt/arrayfuncs.c:5278
 #, c-format
 msgid "cannot accumulate null arrays"
 msgstr "Arrays, die NULL sind, können nicht akkumuliert werden"
 
-#: utils/adt/arrayfuncs.c:5304
+#: utils/adt/arrayfuncs.c:5306
 #, c-format
 msgid "cannot accumulate empty arrays"
 msgstr "leere Arrays können nicht akkumuliert werden"
 
-#: utils/adt/arrayfuncs.c:5331 utils/adt/arrayfuncs.c:5337
+#: utils/adt/arrayfuncs.c:5333 utils/adt/arrayfuncs.c:5339
 #, c-format
 msgid "cannot accumulate arrays of different dimensionality"
 msgstr "Arrays unterschiedlicher Dimensionalität können nicht akkumuliert werden"
 
-#: utils/adt/arrayfuncs.c:5701 utils/adt/arrayfuncs.c:5741
+#: utils/adt/arrayfuncs.c:5707 utils/adt/arrayfuncs.c:5747
 #, 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:5804 utils/adt/arrayfuncs.c:5830
+#: utils/adt/arrayfuncs.c:5810 utils/adt/arrayfuncs.c:5836
 #, c-format
 msgid "Dimension array must be one dimensional."
 msgstr "Dimensions-Array muss eindimensional sein."
 
-#: utils/adt/arrayfuncs.c:5809 utils/adt/arrayfuncs.c:5835
+#: utils/adt/arrayfuncs.c:5815 utils/adt/arrayfuncs.c:5841
 #, c-format
 msgid "dimension values cannot be null"
 msgstr "Dimensionswerte dürfen nicht NULL sein"
 
-#: utils/adt/arrayfuncs.c:5841
+#: utils/adt/arrayfuncs.c:5847
 #, 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:6117
+#: utils/adt/arrayfuncs.c:6125
 #, 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:6394
+#: utils/adt/arrayfuncs.c:6402
 #, c-format
 msgid "thresholds must be one-dimensional array"
 msgstr "Parameter »thresholds« muss ein eindimensionales Array sein"
 
-#: utils/adt/arrayfuncs.c:6399
+#: utils/adt/arrayfuncs.c:6407
 #, c-format
 msgid "thresholds array must not contain NULLs"
 msgstr "»thresholds«-Array darf keine NULL-Werte enthalten"
 
-#: utils/adt/arrayutils.c:209
+#: utils/adt/arrayutils.c:140
+#, c-format
+msgid "array lower bound is too large: %d"
+msgstr "Array-Untergrenze ist zu groß: %d"
+
+#: utils/adt/arrayutils.c:240
 #, c-format
 msgid "typmod array must be type cstring[]"
 msgstr "Typmod-Array muss Typ cstring[] haben"
 
-#: utils/adt/arrayutils.c:214
+#: utils/adt/arrayutils.c:245
 #, c-format
 msgid "typmod array must be one-dimensional"
 msgstr "Typmod-Arrays müssen eindimensional sein"
 
-#: utils/adt/arrayutils.c:219
+#: utils/adt/arrayutils.c:250
 #, c-format
 msgid "typmod array must not contain nulls"
 msgstr "Typmod-Array darf keine NULL-Werte enthalten"
@@ -21708,9 +21744,9 @@ msgstr "Kodierungsumwandlung zwischen %s und ASCII wird nicht unterstützt"
 #: utils/adt/geo_ops.c:4660 utils/adt/geo_ops.c:4667 utils/adt/int8.c:126
 #: utils/adt/jsonpath.c:182 utils/adt/mac.c:94 utils/adt/mac8.c:93
 #: utils/adt/mac8.c:166 utils/adt/mac8.c:184 utils/adt/mac8.c:202
-#: utils/adt/mac8.c:221 utils/adt/network.c:100 utils/adt/numeric.c:601
-#: utils/adt/numeric.c:628 utils/adt/numeric.c:6001 utils/adt/numeric.c:6025
-#: utils/adt/numeric.c:6049 utils/adt/numeric.c:6882 utils/adt/numeric.c:6908
+#: utils/adt/mac8.c:221 utils/adt/network.c:100 utils/adt/numeric.c:593
+#: utils/adt/numeric.c:620 utils/adt/numeric.c:5996 utils/adt/numeric.c:6020
+#: utils/adt/numeric.c:6044 utils/adt/numeric.c:6866 utils/adt/numeric.c:6892
 #: utils/adt/numutils.c:116 utils/adt/numutils.c:126 utils/adt/numutils.c:170
 #: utils/adt/numutils.c:246 utils/adt/numutils.c:322 utils/adt/oid.c:44
 #: utils/adt/oid.c:58 utils/adt/oid.c:64 utils/adt/oid.c:86
@@ -21735,8 +21771,8 @@ msgstr "Wert »%s« ist außerhalb des gültigen Bereichs für Typ %s"
 #: utils/adt/int.c:1020 utils/adt/int.c:1082 utils/adt/int.c:1120
 #: utils/adt/int.c:1148 utils/adt/int8.c:593 utils/adt/int8.c:651
 #: utils/adt/int8.c:978 utils/adt/int8.c:1058 utils/adt/int8.c:1120
-#: utils/adt/int8.c:1200 utils/adt/numeric.c:7446 utils/adt/numeric.c:7736
-#: utils/adt/numeric.c:9318 utils/adt/timestamp.c:3275
+#: utils/adt/int8.c:1200 utils/adt/numeric.c:7430 utils/adt/numeric.c:7720
+#: utils/adt/numeric.c:9356 utils/adt/timestamp.c:3275
 #, c-format
 msgid "division by zero"
 msgstr "Division durch Null"
@@ -21837,7 +21873,7 @@ msgstr "Zeit-Feldwert ist außerhalb des gültigen Bereichs: %d:%02d:%02g"
 
 #: utils/adt/date.c:1933 utils/adt/date.c:2435 utils/adt/float.c:1071
 #: utils/adt/float.c:1140 utils/adt/int.c:616 utils/adt/int.c:663
-#: utils/adt/int.c:698 utils/adt/int8.c:492 utils/adt/numeric.c:2197
+#: utils/adt/int.c:698 utils/adt/int8.c:492 utils/adt/numeric.c:2189
 #: utils/adt/timestamp.c:3324 utils/adt/timestamp.c:3355
 #: utils/adt/timestamp.c:3386
 #, c-format
@@ -21902,17 +21938,17 @@ msgstr "Dieser Zeitzonenname erscheint in der Konfigurationsdatei für Zeitzonen
 msgid "invalid Datum pointer"
 msgstr "ungültiger »Datum«-Zeiger"
 
-#: utils/adt/dbsize.c:759 utils/adt/dbsize.c:827
+#: utils/adt/dbsize.c:763 utils/adt/dbsize.c:831
 #, c-format
 msgid "invalid size: \"%s\""
 msgstr "ungültige Größe: »%s«"
 
-#: utils/adt/dbsize.c:828
+#: utils/adt/dbsize.c:832
 #, c-format
 msgid "Invalid size unit: \"%s\"."
 msgstr "Ungültige Größeneinheit: »%s«."
 
-#: utils/adt/dbsize.c:829
+#: utils/adt/dbsize.c:833
 #, c-format
 msgid "Valid units are \"bytes\", \"kB\", \"MB\", \"GB\", and \"TB\"."
 msgstr "Gültige Einheiten sind »kB«, »MB«, »GB« und »TB«."
@@ -22022,32 +22058,32 @@ msgstr "»%s« ist außerhalb des gültigen Bereichs für Typ double precision"
 #: utils/adt/float.c:1268 utils/adt/float.c:1342 utils/adt/int.c:336
 #: utils/adt/int.c:874 utils/adt/int.c:896 utils/adt/int.c:910
 #: utils/adt/int.c:924 utils/adt/int.c:956 utils/adt/int.c:1194
-#: utils/adt/int8.c:1313 utils/adt/numeric.c:3553 utils/adt/numeric.c:3562
+#: utils/adt/int8.c:1313 utils/adt/numeric.c:3548 utils/adt/numeric.c:3557
 #, c-format
 msgid "smallint out of range"
 msgstr "smallint ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/float.c:1468 utils/adt/numeric.c:8329
+#: utils/adt/float.c:1468 utils/adt/numeric.c:8313
 #, c-format
 msgid "cannot take square root of a negative number"
 msgstr "Quadratwurzel von negativer Zahl kann nicht ermittelt werden"
 
-#: utils/adt/float.c:1536 utils/adt/numeric.c:3239
+#: utils/adt/float.c:1536 utils/adt/numeric.c:3240
 #, c-format
 msgid "zero raised to a negative power is undefined"
 msgstr "null hoch eine negative Zahl ist undefiniert"
 
-#: utils/adt/float.c:1540 utils/adt/numeric.c:3245
+#: utils/adt/float.c:1540 utils/adt/numeric.c:9213
 #, 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:1614 utils/adt/float.c:1647 utils/adt/numeric.c:8993
+#: utils/adt/float.c:1614 utils/adt/float.c:1647 utils/adt/numeric.c:8983
 #, c-format
 msgid "cannot take logarithm of zero"
 msgstr "Logarithmus von null kann nicht ermittelt werden"
 
-#: utils/adt/float.c:1618 utils/adt/float.c:1651 utils/adt/numeric.c:8997
+#: utils/adt/float.c:1618 utils/adt/float.c:1651 utils/adt/numeric.c:8987
 #, c-format
 msgid "cannot take logarithm of a negative number"
 msgstr "Logarithmus negativer Zahlen kann nicht ermittelt werden"
@@ -22066,12 +22102,12 @@ msgstr "Eingabe ist außerhalb des gültigen Bereichs"
 msgid "setseed parameter %g is out of allowed range [-1,1]"
 msgstr "setseed-Parameter %g ist außerhalb des gültigen Bereichs [-1;-1]"
 
-#: utils/adt/float.c:3938 utils/adt/numeric.c:1509
+#: utils/adt/float.c:3938 utils/adt/numeric.c:1501
 #, c-format
 msgid "count must be greater than zero"
 msgstr "Anzahl muss größer als null sein"
 
-#: utils/adt/float.c:3943 utils/adt/numeric.c:1516
+#: utils/adt/float.c:3943 utils/adt/numeric.c:1508
 #, c-format
 msgid "operand, lower bound, and upper bound cannot be NaN"
 msgstr "Operand, Untergrenze und Obergrenze dürfen nicht NaN sein"
@@ -22081,7 +22117,7 @@ msgstr "Operand, Untergrenze und Obergrenze dürfen nicht NaN sein"
 msgid "lower and upper bounds must be finite"
 msgstr "Untergrenze und Obergrenze müssen endlich sein"
 
-#: utils/adt/float.c:3983 utils/adt/numeric.c:1529
+#: utils/adt/float.c:3983 utils/adt/numeric.c:1521
 #, c-format
 msgid "lower bound cannot equal upper bound"
 msgstr "Untergrenze kann nicht gleich der Obergrenze sein"
@@ -22476,7 +22512,7 @@ msgstr "ungültige int2vector-Daten"
 msgid "oidvector has too many elements"
 msgstr "oidvector-Wert hat zu viele Elemente"
 
-#: utils/adt/int.c:1510 utils/adt/int8.c:1439 utils/adt/numeric.c:1417
+#: utils/adt/int.c:1510 utils/adt/int8.c:1439 utils/adt/numeric.c:1409
 #: utils/adt/timestamp.c:5456 utils/adt/timestamp.c:5536
 #, c-format
 msgid "step size cannot equal zero"
@@ -22491,7 +22527,7 @@ msgstr "Schrittgröße kann nicht gleich null sein"
 #: utils/adt/int8.c:1030 utils/adt/int8.c:1044 utils/adt/int8.c:1077
 #: utils/adt/int8.c:1091 utils/adt/int8.c:1105 utils/adt/int8.c:1136
 #: utils/adt/int8.c:1158 utils/adt/int8.c:1172 utils/adt/int8.c:1186
-#: utils/adt/int8.c:1348 utils/adt/int8.c:1383 utils/adt/numeric.c:3508
+#: utils/adt/int8.c:1348 utils/adt/int8.c:1383 utils/adt/numeric.c:3503
 #: utils/adt/varbit.c:1662
 #, c-format
 msgid "bigint out of range"
@@ -23158,84 +23194,84 @@ 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:827
+#: utils/adt/numeric.c:819
 #, c-format
 msgid "invalid sign in external \"numeric\" value"
 msgstr "ungültiges Vorzeichen in externem »numeric«-Wert"
 
-#: utils/adt/numeric.c:833
+#: utils/adt/numeric.c:825
 #, c-format
 msgid "invalid scale in external \"numeric\" value"
 msgstr "ungültige Skala in externem »numeric«-Wert"
 
-#: utils/adt/numeric.c:842
+#: utils/adt/numeric.c:834
 #, c-format
 msgid "invalid digit in external \"numeric\" value"
 msgstr "ungültige Ziffer in externem »numeric«-Wert"
 
-#: utils/adt/numeric.c:1040 utils/adt/numeric.c:1054
+#: utils/adt/numeric.c:1032 utils/adt/numeric.c:1046
 #, 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:1045
+#: utils/adt/numeric.c:1037
 #, c-format
 msgid "NUMERIC scale %d must be between 0 and precision %d"
 msgstr "Skala von NUMERIC (%d) muss zwischen 0 und %d liegen"
 
-#: utils/adt/numeric.c:1063
+#: utils/adt/numeric.c:1055
 #, c-format
 msgid "invalid NUMERIC type modifier"
 msgstr "ungültiker Modifikator für Typ NUMERIC"
 
-#: utils/adt/numeric.c:1395
+#: utils/adt/numeric.c:1387
 #, c-format
 msgid "start value cannot be NaN"
 msgstr "Startwert kann nicht NaN sein"
 
-#: utils/adt/numeric.c:1400
+#: utils/adt/numeric.c:1392
 #, c-format
 msgid "stop value cannot be NaN"
 msgstr "Stoppwert kann nicht NaN sein"
 
-#: utils/adt/numeric.c:1410
+#: utils/adt/numeric.c:1402
 #, c-format
 msgid "step size cannot be NaN"
 msgstr "Schrittgröße kann nicht NaN sein"
 
-#: utils/adt/numeric.c:2958 utils/adt/numeric.c:6064 utils/adt/numeric.c:6522
-#: utils/adt/numeric.c:8802 utils/adt/numeric.c:9240 utils/adt/numeric.c:9354
-#: utils/adt/numeric.c:9427
+#: utils/adt/numeric.c:2957 utils/adt/numeric.c:6059 utils/adt/numeric.c:6506
+#: utils/adt/numeric.c:8788 utils/adt/numeric.c:9266 utils/adt/numeric.c:9392
+#: utils/adt/numeric.c:9465
 #, c-format
 msgid "value overflows numeric format"
 msgstr "Wert verursacht Überlauf im »numeric«-Format"
 
-#: utils/adt/numeric.c:3417
+#: utils/adt/numeric.c:3412
 #, c-format
 msgid "cannot convert NaN to integer"
 msgstr "kann NaN nicht in integer umwandeln"
 
-#: utils/adt/numeric.c:3500
+#: utils/adt/numeric.c:3495
 #, c-format
 msgid "cannot convert NaN to bigint"
 msgstr "kann NaN nicht in bigint umwandeln"
 
-#: utils/adt/numeric.c:3545
+#: utils/adt/numeric.c:3540
 #, c-format
 msgid "cannot convert NaN to smallint"
 msgstr "kann NaN nicht in smallint umwandeln"
 
-#: utils/adt/numeric.c:3582 utils/adt/numeric.c:3653
+#: utils/adt/numeric.c:3577 utils/adt/numeric.c:3648
 #, c-format
 msgid "cannot convert infinity to numeric"
 msgstr "kann Unendlich nicht in numeric umwandeln"
 
-#: utils/adt/numeric.c:6606
+#: utils/adt/numeric.c:6590
 #, c-format
 msgid "numeric field overflow"
 msgstr "Feldüberlauf bei Typ »numeric«"
 
-#: utils/adt/numeric.c:6607
+#: utils/adt/numeric.c:6591
 #, 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."
@@ -23307,7 +23343,7 @@ msgid "collations with different collate and ctype values are not supported by I
 msgstr "Sortierfolgen mit unterschiedlichen »collate«- und »ctype«-Werten werden von ICU nicht unterstützt"
 
 #: utils/adt/pg_locale.c:1609 utils/adt/pg_locale.c:1696
-#: utils/adt/pg_locale.c:1969
+#: utils/adt/pg_locale.c:1981
 #, c-format
 msgid "could not open collator for locale \"%s\": %s"
 msgstr "konnte Collator für Locale »%s« nicht öffnen: %s"
@@ -23342,33 +23378,33 @@ msgstr "Die Sortierfolge in der Datenbank wurde mit Version %s erzeugt, aber das
 msgid "Rebuild all objects affected by this collation and run ALTER COLLATION %s REFRESH VERSION, or build PostgreSQL with the right library version."
 msgstr "Bauen Sie alle von dieser Sortierfolge beinflussten Objekte neu und führen Sie ALTER COLLATION %s REFRESH VERSION aus, oder bauen Sie PostgreSQL mit der richtigen Bibliotheksversion."
 
-#: utils/adt/pg_locale.c:1747
+#: utils/adt/pg_locale.c:1758
 #, c-format
 msgid "could not get collation version for locale \"%s\": error code %lu"
 msgstr "konnte Sortierfolgenversion für Locale »%s« nicht ermitteln: Fehlercode %lu"
 
-#: utils/adt/pg_locale.c:1784
+#: utils/adt/pg_locale.c:1796
 #, c-format
 msgid "encoding \"%s\" not supported by ICU"
 msgstr "Kodierung »%s« wird von ICU nicht unterstützt"
 
-#: utils/adt/pg_locale.c:1791
+#: utils/adt/pg_locale.c:1803
 #, c-format
 msgid "could not open ICU converter for encoding \"%s\": %s"
 msgstr "konnte ICU-Konverter für Kodierung »%s« nicht öffnen: %s"
 
-#: utils/adt/pg_locale.c:1822 utils/adt/pg_locale.c:1831
-#: utils/adt/pg_locale.c:1860 utils/adt/pg_locale.c:1870
+#: utils/adt/pg_locale.c:1834 utils/adt/pg_locale.c:1843
+#: utils/adt/pg_locale.c:1872 utils/adt/pg_locale.c:1882
 #, c-format
 msgid "%s failed: %s"
 msgstr "%s fehlgeschlagen: %s"
 
-#: utils/adt/pg_locale.c:2142
+#: utils/adt/pg_locale.c:2154
 #, c-format
 msgid "invalid multibyte character for locale"
 msgstr "ungültiges Mehrbytezeichen für Locale"
 
-#: utils/adt/pg_locale.c:2143
+#: utils/adt/pg_locale.c:2155
 #, c-format
 msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding."
 msgstr "Die LC_CTYPE-Locale des Servers ist wahrscheinlich mit der Kodierung der Datenbank inkompatibel."
@@ -23877,8 +23913,8 @@ msgstr "Textsucheanfrage enthält nur Stoppwörter oder enthält keine Lexeme, i
 
 #: utils/adt/tsquery_op.c:124
 #, c-format
-msgid "distance in phrase operator should be non-negative and less than %d"
-msgstr "Abstand im Phrasenoperator sollte nicht negativ und kleiner als %d sein"
+msgid "distance in phrase operator must be an integer value between zero and %d inclusive"
+msgstr "Abstand im Phrasenoperator muss eine ganze Zahl zwischen einschließlich null und %d sein"
 
 #: utils/adt/tsquery_rewrite.c:321
 #, c-format
@@ -24378,17 +24414,17 @@ msgstr "in Operatorklasse »%s« für Zugriffsmethode %s fehlt Support-Funktion
 msgid "cached plan must not change result type"
 msgstr "gecachter Plan darf den Ergebnistyp nicht ändern"
 
-#: utils/cache/relcache.c:6081
+#: utils/cache/relcache.c:6101
 #, c-format
 msgid "could not create relation-cache initialization file \"%s\": %m"
 msgstr "konnte Initialisierungsdatei für Relationscache »%s« nicht erzeugen: %m"
 
-#: utils/cache/relcache.c:6083
+#: utils/cache/relcache.c:6103
 #, c-format
 msgid "Continuing anyway, but there's something wrong."
 msgstr "Setze trotzdem fort, aber irgendwas stimmt nicht."
 
-#: utils/cache/relcache.c:6405
+#: utils/cache/relcache.c:6425
 #, c-format
 msgid "could not remove cache file \"%s\": %m"
 msgstr "konnte Cache-Datei »%s« nicht löschen: %m"
@@ -24398,12 +24434,12 @@ msgstr "konnte Cache-Datei »%s« nicht löschen: %m"
 msgid "cannot PREPARE a transaction that modified relation mapping"
 msgstr "PREPARE kann nicht in einer Transaktion ausgeführt werden, die das Relation-Mapping geändert hat"
 
-#: utils/cache/relmapper.c:761
+#: utils/cache/relmapper.c:767
 #, c-format
 msgid "relation mapping file \"%s\" contains invalid data"
 msgstr "Relation-Mapping-Datei »%s« enthält ungültige Daten"
 
-#: utils/cache/relmapper.c:771
+#: utils/cache/relmapper.c:777
 #, c-format
 msgid "relation mapping file \"%s\" contains incorrect checksum"
 msgstr "Relation-Mapping-Datei »%s« enthält falsche Prüfsumme"
@@ -26356,7 +26392,7 @@ msgstr "Setzt den vom Planer geschätzten Aufwand für die Verarbeitung eines Op
 
 #: utils/misc/guc.c:3450
 msgid "Sets the planner's estimate of the cost of passing each tuple (row) from worker to master backend."
-msgstr "Setzt den vom Planer geschätzten Aufwand, um eine Zeile vom Arbeitsprozess and das Master-Backend zu senden."
+msgstr "Setzt den vom Planer geschätzten Aufwand, um eine Zeile vom Arbeitsprozess an das Master-Backend zu senden."
 
 #: utils/misc/guc.c:3461
 msgid "Sets the planner's estimate of the cost of starting up worker processes for parallel query."
@@ -27274,12 +27310,12 @@ msgstr "gepinntes Portal »%s« kann nicht gelöscht werden"
 msgid "cannot drop active portal \"%s\""
 msgstr "aktives Portal »%s« kann nicht gelöscht werden"
 
-#: utils/mmgr/portalmem.c:731
+#: utils/mmgr/portalmem.c:736
 #, c-format
 msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD"
 msgstr "PREPARE kann nicht in einer Transaktion ausgeführt werden, die einen Cursor mit WITH HOLD erzeugt hat"
 
-#: utils/mmgr/portalmem.c:1270
+#: utils/mmgr/portalmem.c:1275
 #, c-format
 msgid "cannot perform transaction commands inside a cursor loop that is not read-only"
 msgstr "in einer Cursor-Schleife, die nicht nur liest, können keine Transaktionsbefehle ausgeführt werden"
@@ -27400,3 +27436,6 @@ msgstr "eine serialisierbare Transaktion, die nicht im Read-Only-Modus ist, kann
 #, c-format
 msgid "cannot import a snapshot from a different database"
 msgstr "kann keinen Snapshot aus einer anderen Datenbank importieren"
+
+#~ msgid "distance in phrase operator should be non-negative and less than %d"
+#~ msgstr "Abstand im Phrasenoperator sollte nicht negativ und kleiner als %d sein"
index 93d568da3a33ec12dcfc24c248af3fa8ac3965be..94fb35224b6b1c9aee55cbc6d708460f5beff827 100644 (file)
@@ -61,8 +61,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL server 12\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2020-09-13 10:40+0000\n"
-"PO-Revision-Date: 2020-10-16 16:47-0300\n"
+"POT-Creation-Date: 2021-05-13 13:54+0000\n"
+"PO-Revision-Date: 2021-08-09 11:53+0200\n"
 "Last-Translator: Álvaro Herrera \n"
 "Language-Team: PgSQL-es-Ayuda \n"
 "Language: es\n"
@@ -79,7 +79,7 @@ msgid "not recorded"
 msgstr "no registrado"
 
 #: ../common/controldata_utils.c:68 ../common/controldata_utils.c:73
-#: commands/copy.c:3495 commands/extension.c:3436 utils/adt/genfile.c:125
+#: commands/copy.c:3496 commands/extension.c:3436 utils/adt/genfile.c:125
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "no se pudo abrir archivo «%s» para lectura: %m"
@@ -87,16 +87,16 @@ msgstr "no se pudo abrir archivo «%s» para lectura: %m"
 #: ../common/controldata_utils.c:86 ../common/controldata_utils.c:89
 #: access/transam/timeline.c:143 access/transam/timeline.c:362
 #: access/transam/twophase.c:1276 access/transam/xlog.c:3503
-#: access/transam/xlog.c:4728 access/transam/xlog.c:11121
-#: access/transam/xlog.c:11134 access/transam/xlog.c:11587
-#: access/transam/xlog.c:11667 access/transam/xlog.c:11706
-#: access/transam/xlog.c:11749 access/transam/xlogfuncs.c:662
+#: access/transam/xlog.c:4728 access/transam/xlog.c:11101
+#: access/transam/xlog.c:11114 access/transam/xlog.c:11567
+#: access/transam/xlog.c:11647 access/transam/xlog.c:11686
+#: access/transam/xlog.c:11729 access/transam/xlogfuncs.c:662
 #: access/transam/xlogfuncs.c:681 commands/extension.c:3446 libpq/hba.c:499
 #: replication/logical/origin.c:717 replication/logical/origin.c:753
 #: replication/logical/reorderbuffer.c:3599
-#: replication/logical/snapbuild.c:1741 replication/logical/snapbuild.c:1783
-#: replication/logical/snapbuild.c:1811 replication/logical/snapbuild.c:1838
-#: replication/slot.c:1622 replication/slot.c:1663 replication/walsender.c:543
+#: replication/logical/snapbuild.c:1744 replication/logical/snapbuild.c:1786
+#: replication/logical/snapbuild.c:1814 replication/logical/snapbuild.c:1841
+#: replication/slot.c:1622 replication/slot.c:1663 replication/walsender.c:547
 #: storage/file/buffile.c:441 storage/file/copydir.c:195
 #: utils/adt/genfile.c:200 utils/adt/misc.c:763 utils/cache/relmapper.c:741
 #, c-format
@@ -106,10 +106,10 @@ msgstr "no se pudo leer el archivo «%s»: %m"
 #: ../common/controldata_utils.c:97 ../common/controldata_utils.c:101
 #: access/transam/twophase.c:1279 access/transam/xlog.c:3508
 #: access/transam/xlog.c:4733 replication/logical/origin.c:722
-#: replication/logical/origin.c:761 replication/logical/snapbuild.c:1746
-#: replication/logical/snapbuild.c:1788 replication/logical/snapbuild.c:1816
-#: replication/logical/snapbuild.c:1843 replication/slot.c:1626
-#: replication/slot.c:1667 replication/walsender.c:548
+#: replication/logical/origin.c:761 replication/logical/snapbuild.c:1749
+#: replication/logical/snapbuild.c:1791 replication/logical/snapbuild.c:1819
+#: replication/logical/snapbuild.c:1846 replication/slot.c:1626
+#: replication/slot.c:1667 replication/walsender.c:552
 #: utils/cache/relmapper.c:745
 #, c-format
 msgid "could not read file \"%s\": read %d of %zu"
@@ -117,20 +117,20 @@ msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu"
 
 #: ../common/controldata_utils.c:112 ../common/controldata_utils.c:117
 #: ../common/controldata_utils.c:256 ../common/controldata_utils.c:259
-#: access/heap/rewriteheap.c:1181 access/heap/rewriteheap.c:1284
+#: access/heap/rewriteheap.c:1185 access/heap/rewriteheap.c:1288
 #: access/transam/timeline.c:392 access/transam/timeline.c:438
 #: access/transam/timeline.c:516 access/transam/twophase.c:1288
-#: access/transam/twophase.c:1676 access/transam/xlog.c:3375
+#: access/transam/twophase.c:1689 access/transam/xlog.c:3375
 #: access/transam/xlog.c:3543 access/transam/xlog.c:3548
 #: access/transam/xlog.c:3876 access/transam/xlog.c:4698
 #: access/transam/xlog.c:5622 access/transam/xlogfuncs.c:687
 #: commands/copy.c:1810 libpq/be-fsstubs.c:462 libpq/be-fsstubs.c:533
 #: replication/logical/origin.c:655 replication/logical/origin.c:794
 #: replication/logical/reorderbuffer.c:3657
-#: replication/logical/snapbuild.c:1653 replication/logical/snapbuild.c:1851
-#: replication/slot.c:1513 replication/slot.c:1674 replication/walsender.c:558
+#: replication/logical/snapbuild.c:1653 replication/logical/snapbuild.c:1854
+#: replication/slot.c:1513 replication/slot.c:1674 replication/walsender.c:562
 #: storage/file/copydir.c:218 storage/file/copydir.c:223 storage/file/fd.c:704
-#: storage/file/fd.c:3425 storage/file/fd.c:3528 utils/cache/relmapper.c:753
+#: storage/file/fd.c:3439 storage/file/fd.c:3542 utils/cache/relmapper.c:753
 #: utils/cache/relmapper.c:892
 #, c-format
 msgid "could not close file \"%s\": %m"
@@ -156,7 +156,7 @@ msgstr ""
 
 #: ../common/controldata_utils.c:197 ../common/controldata_utils.c:203
 #: ../common/file_utils.c:224 ../common/file_utils.c:283
-#: ../common/file_utils.c:357 access/heap/rewriteheap.c:1267
+#: ../common/file_utils.c:357 access/heap/rewriteheap.c:1271
 #: access/transam/timeline.c:111 access/transam/timeline.c:251
 #: access/transam/timeline.c:348 access/transam/twophase.c:1232
 #: access/transam/xlog.c:3277 access/transam/xlog.c:3417
@@ -164,26 +164,26 @@ msgstr ""
 #: access/transam/xlog.c:3741 access/transam/xlog.c:3844
 #: access/transam/xlog.c:4718 access/transam/xlogutils.c:807
 #: postmaster/syslogger.c:1488 replication/basebackup.c:621
-#: replication/basebackup.c:1590 replication/logical/origin.c:707
+#: replication/basebackup.c:1593 replication/logical/origin.c:707
 #: replication/logical/reorderbuffer.c:2465
 #: replication/logical/reorderbuffer.c:2825
 #: replication/logical/reorderbuffer.c:3579
-#: replication/logical/snapbuild.c:1608 replication/logical/snapbuild.c:1712
-#: replication/slot.c:1594 replication/walsender.c:516
-#: replication/walsender.c:2508 storage/file/copydir.c:161
-#: storage/file/fd.c:679 storage/file/fd.c:3412 storage/file/fd.c:3499
-#: storage/smgr/md.c:475 utils/cache/relmapper.c:724
+#: replication/logical/snapbuild.c:1608 replication/logical/snapbuild.c:1715
+#: replication/slot.c:1594 replication/walsender.c:520
+#: replication/walsender.c:2509 storage/file/copydir.c:161
+#: storage/file/fd.c:679 storage/file/fd.c:3426 storage/file/fd.c:3513
+#: storage/smgr/md.c:513 utils/cache/relmapper.c:724
 #: utils/cache/relmapper.c:836 utils/error/elog.c:1858
 #: utils/init/miscinit.c:1316 utils/init/miscinit.c:1450
-#: utils/init/miscinit.c:1527 utils/misc/guc.c:8252 utils/misc/guc.c:8284
+#: utils/init/miscinit.c:1527 utils/misc/guc.c:8280 utils/misc/guc.c:8312
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "no se pudo abrir el archivo «%s»: %m"
 
 #: ../common/controldata_utils.c:221 ../common/controldata_utils.c:224
-#: access/transam/twophase.c:1649 access/transam/twophase.c:1658
-#: access/transam/xlog.c:10878 access/transam/xlog.c:10916
-#: access/transam/xlog.c:11329 access/transam/xlogfuncs.c:741
+#: access/transam/twophase.c:1662 access/transam/twophase.c:1671
+#: access/transam/xlog.c:10858 access/transam/xlog.c:10896
+#: access/transam/xlog.c:11309 access/transam/xlogfuncs.c:741
 #: postmaster/syslogger.c:1499 postmaster/syslogger.c:1512
 #: utils/cache/relmapper.c:870
 #, c-format
@@ -192,15 +192,15 @@ msgstr "no se pudo escribir el archivo «%s»: %m"
 
 #: ../common/controldata_utils.c:239 ../common/controldata_utils.c:245
 #: ../common/file_utils.c:295 ../common/file_utils.c:365
-#: access/heap/rewriteheap.c:961 access/heap/rewriteheap.c:1175
-#: access/heap/rewriteheap.c:1278 access/transam/timeline.c:432
-#: access/transam/timeline.c:510 access/transam/twophase.c:1670
+#: access/heap/rewriteheap.c:965 access/heap/rewriteheap.c:1179
+#: access/heap/rewriteheap.c:1282 access/transam/timeline.c:432
+#: access/transam/timeline.c:510 access/transam/twophase.c:1683
 #: access/transam/xlog.c:3368 access/transam/xlog.c:3537
-#: access/transam/xlog.c:4691 access/transam/xlog.c:10386
-#: access/transam/xlog.c:10413 replication/logical/snapbuild.c:1646
+#: access/transam/xlog.c:4691 access/transam/xlog.c:10366
+#: access/transam/xlog.c:10393 replication/logical/snapbuild.c:1646
 #: replication/slot.c:1499 replication/slot.c:1604 storage/file/fd.c:696
-#: storage/file/fd.c:3520 storage/smgr/md.c:921 storage/smgr/md.c:962
-#: storage/sync/sync.c:396 utils/cache/relmapper.c:885 utils/misc/guc.c:8035
+#: storage/file/fd.c:3534 storage/smgr/md.c:959 storage/smgr/md.c:1000
+#: storage/sync/sync.c:396 utils/cache/relmapper.c:885 utils/misc/guc.c:8063
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
@@ -230,8 +230,8 @@ msgstr "no se pudo encontrar un «%s» para ejecutar"
 msgid "could not change directory to \"%s\": %m"
 msgstr "no se pudo cambiar al directorio «%s»: %m"
 
-#: ../common/exec.c:287 access/transam/xlog.c:10750
-#: replication/basebackup.c:1415 utils/adt/misc.c:337
+#: ../common/exec.c:287 access/transam/xlog.c:10730
+#: replication/basebackup.c:1418 utils/adt/misc.c:337
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "no se pudo leer el enlace simbólico «%s»: %m"
@@ -243,28 +243,27 @@ msgstr "pclose falló: %m"
 
 #: ../common/exec.c:539 ../common/exec.c:584 ../common/exec.c:676
 #: ../common/psprintf.c:143 ../common/stringinfo.c:305 ../port/path.c:630
-#: ../port/path.c:668 ../port/path.c:685 access/transam/twophase.c:1341
-#: access/transam/xlog.c:6493 lib/dshash.c:246 libpq/auth.c:1090
-#: libpq/auth.c:1491 libpq/auth.c:1559 libpq/auth.c:2089
-#: libpq/be-secure-gssapi.c:484 postmaster/bgworker.c:336
-#: postmaster/bgworker.c:893 postmaster/postmaster.c:2518
-#: postmaster/postmaster.c:2540 postmaster/postmaster.c:4166
-#: postmaster/postmaster.c:4868 postmaster/postmaster.c:4938
-#: postmaster/postmaster.c:5635 postmaster/postmaster.c:5995
-#: replication/libpqwalreceiver/libpqwalreceiver.c:276
-#: replication/logical/logical.c:176 replication/walsender.c:590
-#: storage/buffer/localbuf.c:442 storage/file/fd.c:834 storage/file/fd.c:1304
-#: storage/file/fd.c:1465 storage/file/fd.c:2270 storage/ipc/procarray.c:1045
+#: ../port/path.c:668 ../port/path.c:685 access/transam/twophase.c:1346
+#: access/transam/xlog.c:6487 lib/dshash.c:246 libpq/auth.c:1469
+#: libpq/auth.c:1537 libpq/auth.c:2067 libpq/be-secure-gssapi.c:520
+#: postmaster/bgworker.c:347 postmaster/bgworker.c:952
+#: postmaster/postmaster.c:2519 postmaster/postmaster.c:4156
+#: postmaster/postmaster.c:4858 postmaster/postmaster.c:5615
+#: postmaster/postmaster.c:5975
+#: replication/libpqwalreceiver/libpqwalreceiver.c:282
+#: replication/logical/logical.c:176 replication/walsender.c:594
+#: storage/buffer/localbuf.c:442 storage/file/fd.c:848 storage/file/fd.c:1318
+#: storage/file/fd.c:1479 storage/file/fd.c:2284 storage/ipc/procarray.c:1045
 #: storage/ipc/procarray.c:1541 storage/ipc/procarray.c:1548
 #: storage/ipc/procarray.c:1972 storage/ipc/procarray.c:2597
 #: utils/adt/cryptohashes.c:45 utils/adt/cryptohashes.c:65
-#: utils/adt/formatting.c:1698 utils/adt/formatting.c:1822
-#: utils/adt/formatting.c:1947 utils/adt/pg_locale.c:484
+#: utils/adt/formatting.c:1700 utils/adt/formatting.c:1824
+#: utils/adt/formatting.c:1949 utils/adt/pg_locale.c:484
 #: utils/adt/pg_locale.c:648 utils/adt/regexp.c:223 utils/fmgr/dfmgr.c:229
 #: utils/hash/dynahash.c:450 utils/hash/dynahash.c:559
 #: utils/hash/dynahash.c:1071 utils/mb/mbutils.c:401 utils/mb/mbutils.c:428
 #: utils/mb/mbutils.c:757 utils/mb/mbutils.c:783 utils/misc/guc.c:4846
-#: utils/misc/guc.c:4862 utils/misc/guc.c:4875 utils/misc/guc.c:8013
+#: utils/misc/guc.c:4862 utils/misc/guc.c:4875 utils/misc/guc.c:8041
 #: utils/misc/tzparser.c:467 utils/mmgr/aset.c:475 utils/mmgr/dsa.c:701
 #: utils/mmgr/dsa.c:723 utils/mmgr/dsa.c:804 utils/mmgr/generation.c:233
 #: utils/mmgr/mcxt.c:821 utils/mmgr/mcxt.c:857 utils/mmgr/mcxt.c:895
@@ -290,30 +289,30 @@ msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "no se puede duplicar un puntero nulo (error interno)\n"
 
 #: ../common/file_utils.c:79 ../common/file_utils.c:181
-#: access/transam/twophase.c:1244 access/transam/xlog.c:10854
-#: access/transam/xlog.c:10892 access/transam/xlog.c:11109
+#: access/transam/twophase.c:1244 access/transam/xlog.c:10834
+#: access/transam/xlog.c:10872 access/transam/xlog.c:11089
 #: access/transam/xlogarchive.c:110 access/transam/xlogarchive.c:226
-#: commands/copy.c:1938 commands/copy.c:3505 commands/extension.c:3425
-#: commands/tablespace.c:795 commands/tablespace.c:886
+#: commands/copy.c:1938 commands/copy.c:3506 commands/extension.c:3425
+#: commands/tablespace.c:807 commands/tablespace.c:898 guc-file.l:1061
 #: replication/basebackup.c:444 replication/basebackup.c:627
 #: replication/basebackup.c:700 replication/logical/snapbuild.c:1522
-#: storage/file/copydir.c:68 storage/file/copydir.c:107 storage/file/fd.c:1816
-#: storage/file/fd.c:3096 storage/file/fd.c:3278 storage/file/fd.c:3364
+#: storage/file/copydir.c:68 storage/file/copydir.c:107 storage/file/fd.c:1830
+#: storage/file/fd.c:3110 storage/file/fd.c:3292 storage/file/fd.c:3378
 #: utils/adt/dbsize.c:70 utils/adt/dbsize.c:222 utils/adt/dbsize.c:302
-#: utils/adt/genfile.c:416 utils/adt/genfile.c:642 guc-file.l:1061
+#: utils/adt/genfile.c:416 utils/adt/genfile.c:642
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo «%s»: %m"
 
-#: ../common/file_utils.c:158 ../common/pgfnames.c:48 commands/tablespace.c:718
-#: commands/tablespace.c:728 postmaster/postmaster.c:1509
-#: storage/file/fd.c:2673 storage/file/reinit.c:122 utils/adt/misc.c:259
+#: ../common/file_utils.c:158 ../common/pgfnames.c:48 commands/tablespace.c:730
+#: commands/tablespace.c:740 postmaster/postmaster.c:1509
+#: storage/file/fd.c:2687 storage/file/reinit.c:122 utils/adt/misc.c:259
 #: utils/misc/tzparser.c:338
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "no se pudo abrir el directorio «%s»: %m"
 
-#: ../common/file_utils.c:192 ../common/pgfnames.c:69 storage/file/fd.c:2685
+#: ../common/file_utils.c:192 ../common/pgfnames.c:69 storage/file/fd.c:2699
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "no se pudo leer el directorio «%s»: %m"
@@ -321,7 +320,7 @@ msgstr "no se pudo leer el directorio «%s»: %m"
 #: ../common/file_utils.c:375 access/transam/xlogarchive.c:411
 #: postmaster/syslogger.c:1523 replication/logical/snapbuild.c:1665
 #: replication/slot.c:650 replication/slot.c:1385 replication/slot.c:1527
-#: storage/file/fd.c:714 utils/time/snapmgr.c:1350
+#: storage/file/fd.c:714 storage/file/fd.c:812 utils/time/snapmgr.c:1350
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
@@ -439,7 +438,7 @@ msgstr "nombre de «fork» no válido"
 msgid "Valid fork names are \"main\", \"fsm\", \"vm\", and \"init\"."
 msgstr "Los nombres de «fork» válidos son «main», «fsm», «vm» e «init»."
 
-#: ../common/restricted_token.c:64 libpq/auth.c:1521 libpq/auth.c:2520
+#: ../common/restricted_token.c:64 libpq/auth.c:1499 libpq/auth.c:2498
 #, c-format
 msgid "could not load library \"%s\": error code %lu"
 msgstr "no se pudo cargar la biblioteca «%s»: código de error %lu"
@@ -479,8 +478,8 @@ 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:79 replication/basebackup.c:1168
-#: replication/basebackup.c:1344
+#: ../common/rmtree.c:79 replication/basebackup.c:1171
+#: replication/basebackup.c:1347
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo o directorio «%s»: %m"
@@ -516,7 +515,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:2027
+#: ../common/username.c:45 libpq/auth.c:2005
 msgid "user does not exist"
 msgstr "usuario no existe"
 
@@ -639,7 +638,7 @@ msgid "request for BRIN range summarization for index \"%s\" page %u was not rec
 msgstr "petición para sumarización BRIN de rango para el índice «%s» página %u no fue registrada"
 
 #: access/brin/brin.c:873 access/brin/brin.c:950 access/gin/ginfast.c:1035
-#: access/transam/xlog.c:10522 access/transam/xlog.c:11060
+#: access/transam/xlog.c:10502 access/transam/xlog.c:11040
 #: access/transam/xlogfuncs.c:274 access/transam/xlogfuncs.c:301
 #: access/transam/xlogfuncs.c:340 access/transam/xlogfuncs.c:361
 #: access/transam/xlogfuncs.c:382 access/transam/xlogfuncs.c:452
@@ -670,7 +669,7 @@ msgstr "no se pudo abrir la tabla padre del índice %s"
 
 #: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362
 #: access/brin/brin_pageops.c:843 access/gin/ginentrypage.c:110
-#: access/gist/gist.c:1435 access/spgist/spgdoinsert.c:1957
+#: access/gist/gist.c:1438 access/spgist/spgdoinsert.c:1957
 #, 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»"
@@ -783,7 +782,7 @@ msgstr "el número de columnas del índice (%d) excede el límite (%d)"
 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:369 tcop/fastpath.c:180 tcop/fastpath.c:530
+#: access/common/printtup.c:369 tcop/fastpath.c:180 tcop/fastpath.c:536
 #: tcop/postgres.c:1904
 #, c-format
 msgid "unsupported format code: %d"
@@ -812,7 +811,7 @@ msgstr "RESET no debe incluir valores de parámetros"
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "espacio de nombre de parámetro «%s» no reconocido"
 
-#: access/common/reloptions.c:1277 utils/misc/guc.c:12004
+#: access/common/reloptions.c:1277 utils/misc/guc.c:12056
 #, c-format
 msgid "tables declared WITH OIDS are not supported"
 msgstr "las tablas declaradas WITH OIDS no está soportado"
@@ -863,7 +862,7 @@ msgid "invalid value for enum option \"%s\": %s"
 msgstr "valor no válido para la opción enum «%s»: %s"
 
 #: access/common/tupdesc.c:842 parser/parse_clause.c:772
-#: parser/parse_relation.c:1803
+#: parser/parse_relation.c:1800
 #, c-format
 msgid "column \"%s\" cannot be declared SETOF"
 msgstr "la columna «%s» no puede ser declarada SETOF"
@@ -908,8 +907,8 @@ 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:144 executor/execExpr.c:1862
-#: utils/adt/arrayfuncs.c:3790 utils/adt/arrayfuncs.c:6418
+#: access/gin/ginutil.c:144 executor/execExpr.c:1900
+#: utils/adt/arrayfuncs.c:3792 utils/adt/arrayfuncs.c:6426
 #: utils/adt/rowtypes.c:936
 #, c-format
 msgid "could not identify a comparison function for type %s"
@@ -926,21 +925,21 @@ msgstr "la familia de operadores «%s» del método de acceso %s contiene el pro
 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/gist/gist.c:753 access/gist/gistvacuum.c:408
+#: access/gist/gist.c:756 access/gist/gistvacuum.c:408
 #, 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:755 access/gist/gistvacuum.c:410
+#: access/gist/gist.c:758 access/gist/gistvacuum.c:410
 #, 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:756 access/gist/gistutil.c:786 access/gist/gistutil.c:797
+#: access/gist/gist.c:759 access/gist/gistutil.c:786 access/gist/gistutil.c:797
 #: access/gist/gistvacuum.c:411 access/hash/hashutil.c:227
 #: access/hash/hashutil.c:238 access/hash/hashutil.c:250
-#: access/hash/hashutil.c:271 access/nbtree/nbtpage.c:741
-#: access/nbtree/nbtpage.c:752
+#: access/hash/hashutil.c:271 access/nbtree/nbtpage.c:739
+#: access/nbtree/nbtpage.c:750
 #, c-format
 msgid "Please REINDEX it."
 msgstr "Por favor aplíquele REINDEX."
@@ -956,13 +955,13 @@ msgid "The index is not optimal. To optimize it, contact a developer, or try to
 msgstr "El índice no es óptimo.  Para optimizarlo, contacte un desarrollador o trate de usar la columna en segunda posición en la orden CREATE INDEX."
 
 #: access/gist/gistutil.c:783 access/hash/hashutil.c:224
-#: access/nbtree/nbtpage.c:738
+#: access/nbtree/nbtpage.c:736
 #, 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:794 access/hash/hashutil.c:235
-#: access/hash/hashutil.c:247 access/nbtree/nbtpage.c:749
+#: access/hash/hashutil.c:247 access/nbtree/nbtpage.c:747
 #, c-format
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "el índice «%s» contiene una página corrupta en el bloque %u"
@@ -983,14 +982,14 @@ msgstr "la familia de operadores «%s» del método de acceso %s contiene una es
 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:256 access/hash/hashfunc.c:312 catalog/heap.c:702
-#: catalog/heap.c:708 commands/createas.c:206 commands/createas.c:489
-#: commands/indexcmds.c:1815 commands/tablecmds.c:16004 commands/view.c:86
-#: parser/parse_utilcmd.c:4203 regex/regc_pg_locale.c:263
-#: utils/adt/formatting.c:1665 utils/adt/formatting.c:1789
-#: utils/adt/formatting.c:1914 utils/adt/like.c:194
+#: access/hash/hashfunc.c:256 access/hash/hashfunc.c:312 catalog/heap.c:711
+#: catalog/heap.c:717 commands/createas.c:206 commands/createas.c:489
+#: commands/indexcmds.c:1816 commands/tablecmds.c:16237 commands/view.c:86
+#: parser/parse_utilcmd.c:4238 regex/regc_pg_locale.c:263
+#: utils/adt/formatting.c:1667 utils/adt/formatting.c:1791
+#: utils/adt/formatting.c:1916 utils/adt/like.c:194
 #: utils/adt/like_support.c:1003 utils/adt/varchar.c:733
-#: utils/adt/varchar.c:994 utils/adt/varchar.c:1054 utils/adt/varlena.c:1476
+#: utils/adt/varchar.c:994 utils/adt/varchar.c:1054 utils/adt/varlena.c:1486
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Use la cláusula COLLATE para establecer el ordenamiento explícitamente."
@@ -1041,33 +1040,33 @@ 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:2040
 #, c-format
 msgid "cannot insert tuples in a parallel worker"
 msgstr "no se pueden insertar tuplas en un ayudante paralelo"
 
-#: access/heap/heapam.c:2444
+#: access/heap/heapam.c:2458
 #, 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:2490
+#: access/heap/heapam.c:2504
 #, c-format
 msgid "attempted to delete invisible tuple"
 msgstr "se intentó eliminar una tupla invisible"
 
-#: access/heap/heapam.c:2916 access/heap/heapam.c:5705
+#: access/heap/heapam.c:2934 access/heap/heapam.c:5734
 #, 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:3049
+#: access/heap/heapam.c:3067
 #, c-format
 msgid "attempted to update invisible tuple"
 msgstr "se intentó actualizar una tupla invisible"
 
-#: access/heap/heapam.c:4360 access/heap/heapam.c:4398
-#: access/heap/heapam.c:4655 access/heap/heapam_handler.c:450
+#: access/heap/heapam.c:4389 access/heap/heapam.c:4427
+#: access/heap/heapam.c:4684 access/heap/heapam_handler.c:450
 #, 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»"
@@ -1077,57 +1076,57 @@ msgstr "no se pudo bloquear un candado en la fila de la relación «%s»"
 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:345 access/heap/rewriteheap.c:662
+#: access/heap/hio.c:349 access/heap/rewriteheap.c:666
 #, c-format
 msgid "row is too big: size %zu, maximum size %zu"
 msgstr "fila es demasiado grande: tamaño %zu, tamaño máximo %zu"
 
-#: access/heap/rewriteheap.c:921
+#: access/heap/rewriteheap.c:925
 #, 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:1015 access/heap/rewriteheap.c:1134
+#: access/heap/rewriteheap.c:1019 access/heap/rewriteheap.c:1138
 #: access/transam/timeline.c:329 access/transam/timeline.c:485
 #: access/transam/xlog.c:3300 access/transam/xlog.c:3472
-#: access/transam/xlog.c:4670 access/transam/xlog.c:10869
-#: access/transam/xlog.c:10907 access/transam/xlog.c:11312
-#: access/transam/xlogfuncs.c:735 postmaster/postmaster.c:4629
+#: access/transam/xlog.c:4670 access/transam/xlog.c:10849
+#: access/transam/xlog.c:10887 access/transam/xlog.c:11292
+#: access/transam/xlogfuncs.c:735 postmaster/postmaster.c:4619
 #: replication/logical/origin.c:575 replication/slot.c:1446
 #: storage/file/copydir.c:167 storage/smgr/md.c:218 utils/time/snapmgr.c:1329
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "no se pudo crear archivo «%s»: %m"
 
-#: access/heap/rewriteheap.c:1144
+#: access/heap/rewriteheap.c:1148
 #, 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:1162 access/transam/timeline.c:384
+#: access/heap/rewriteheap.c:1166 access/transam/timeline.c:384
 #: access/transam/timeline.c:424 access/transam/timeline.c:502
 #: access/transam/xlog.c:3356 access/transam/xlog.c:3528
-#: access/transam/xlog.c:4682 postmaster/postmaster.c:4639
-#: postmaster/postmaster.c:4649 replication/logical/origin.c:587
+#: access/transam/xlog.c:4682 postmaster/postmaster.c:4629
+#: postmaster/postmaster.c:4639 replication/logical/origin.c:587
 #: replication/logical/origin.c:629 replication/logical/origin.c:648
 #: replication/logical/snapbuild.c:1622 replication/slot.c:1481
 #: storage/file/buffile.c:502 storage/file/copydir.c:207
 #: utils/init/miscinit.c:1391 utils/init/miscinit.c:1402
-#: utils/init/miscinit.c:1410 utils/misc/guc.c:7996 utils/misc/guc.c:8027
-#: utils/misc/guc.c:9947 utils/misc/guc.c:9961 utils/time/snapmgr.c:1334
+#: utils/init/miscinit.c:1410 utils/misc/guc.c:8024 utils/misc/guc.c:8055
+#: utils/misc/guc.c:9975 utils/misc/guc.c:9989 utils/time/snapmgr.c:1334
 #: utils/time/snapmgr.c:1341
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "no se pudo escribir a archivo «%s»: %m"
 
-#: access/heap/rewriteheap.c:1252 access/transam/twophase.c:1609
+#: access/heap/rewriteheap.c:1256 access/transam/twophase.c:1622
 #: access/transam/xlogarchive.c:118 access/transam/xlogarchive.c:421
 #: postmaster/postmaster.c:1092 postmaster/syslogger.c:1465
 #: replication/logical/origin.c:563 replication/logical/reorderbuffer.c:3079
-#: replication/logical/snapbuild.c:1564 replication/logical/snapbuild.c:2006
-#: replication/slot.c:1578 storage/file/fd.c:754 storage/file/fd.c:3116
-#: storage/file/fd.c:3178 storage/file/reinit.c:255 storage/ipc/dsm.c:302
-#: storage/smgr/md.c:311 storage/smgr/md.c:367 storage/sync/sync.c:210
+#: replication/logical/snapbuild.c:1564 replication/logical/snapbuild.c:2009
+#: replication/slot.c:1578 storage/file/fd.c:754 storage/file/fd.c:3130
+#: storage/file/fd.c:3192 storage/file/reinit.c:255 storage/ipc/dsm.c:302
+#: storage/smgr/md.c:355 storage/smgr/md.c:405 storage/sync/sync.c:210
 #: utils/time/snapmgr.c:1674
 #, c-format
 msgid "could not remove file \"%s\": %m"
@@ -1179,22 +1178,22 @@ msgid "system usage: %s\n"
 msgstr "uso de sistema: %s\n"
 
 #: access/heap/vacuumlazy.c:684
-#, c-format
-#| msgid "WAL usage: %ld records, %ld full page images, %llu bytes"
-msgid "WAL usage: %ld records, %ld full page images, "
+#, fuzzy, c-format
+#| msgid "WAL usage: %ld records, %ld full page images, "
+msgid "WAL usage: %ld records, %ld full page images, %llu bytes"
 msgstr "uso de WAL: %ld registros, %ld imágenes de página, "
 
-#: access/heap/vacuumlazy.c:796
+#: access/heap/vacuumlazy.c:795
 #, c-format
 msgid "aggressively vacuuming \"%s.%s\""
 msgstr "haciendo vacuum agresivamente a «%s.%s»"
 
-#: access/heap/vacuumlazy.c:801 commands/cluster.c:874
+#: access/heap/vacuumlazy.c:800 commands/cluster.c:874
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "haciendo vacuum a «%s.%s»"
 
-#: access/heap/vacuumlazy.c:838
+#: access/heap/vacuumlazy.c:837
 #, 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"
@@ -1235,8 +1234,8 @@ msgid_plural "%u pages are entirely empty.\n"
 msgstr[0] "%u página está completamente vacía.\n"
 msgstr[1] "%u páginas están completamente vacías.\n"
 
-#: access/heap/vacuumlazy.c:1752 commands/indexcmds.c:3450
-#: commands/indexcmds.c:3468
+#: access/heap/vacuumlazy.c:1752 commands/indexcmds.c:3490
+#: commands/indexcmds.c:3508
 #, c-format
 msgid "%s."
 msgstr "%s."
@@ -1265,29 +1264,17 @@ msgid_plural "launched %d parallel vacuum workers for index vacuuming (planned:
 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)"
 
-#: access/heap/vacuumlazy.c:2442
-#, fuzzy, c-format
-#| msgid "scanned index \"%s\" to remove %d row versions"
-msgid "scanned index \"%s\" to remove %d row versions by parallel vacuum worker"
-msgstr "se recorrió el índice «%s» para eliminar %d versiones de filas"
-
-#: access/heap/vacuumlazy.c:2444
+#: access/heap/vacuumlazy.c:2441
 #, c-format
 msgid "scanned index \"%s\" to remove %d row versions"
 msgstr "se recorrió el índice «%s» para eliminar %d versiones de filas"
 
-#: access/heap/vacuumlazy.c:2502
-#, fuzzy, c-format
-#| msgid "index \"%s\" now contains %.0f row versions in %u pages"
-msgid "index \"%s\" now contains %.0f row versions in %u pages as reported by parallel vacuum worker"
-msgstr "el índice «%s» ahora contiene %.0f versiones de filas en %u páginas"
-
-#: access/heap/vacuumlazy.c:2504
+#: access/heap/vacuumlazy.c:2495
 #, 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"
 
-#: access/heap/vacuumlazy.c:2511
+#: access/heap/vacuumlazy.c:2499
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -1298,58 +1285,52 @@ msgstr ""
 "%u páginas de índice han sido eliminadas, %u son reusables.\n"
 "%s."
 
-#: access/heap/vacuumlazy.c:2614
+#: access/heap/vacuumlazy.c:2602
 #, 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:2680
+#: access/heap/vacuumlazy.c:2668
 #, c-format
 msgid "\"%s\": truncated %u to %u pages"
 msgstr "«%s»: truncadas %u a %u páginas"
 
-#: access/heap/vacuumlazy.c:2745
+#: access/heap/vacuumlazy.c:2733
 #, c-format
 msgid "\"%s\": suspending truncate due to conflicting lock request"
 msgstr "«%s»: suspendiendo el truncado debido a una petición de candado en conflicto"
 
-#: access/heap/vacuumlazy.c:3492
-#, fuzzy, c-format
-#| msgid "starting background worker process \"%s\""
-msgid "starting parallel vacuum worker for %s"
-msgstr "iniciando el proceso ayudante «%s»"
-
-#: access/heap/vacuumlazy.c:3583
+#: access/heap/vacuumlazy.c:3586
 #, 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:3586
+#: access/heap/vacuumlazy.c:3589
 #, c-format
 msgid "while scanning relation \"%s.%s\""
 msgstr "recorriendo la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3592
+#: access/heap/vacuumlazy.c:3595
 #, 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:3595
+#: access/heap/vacuumlazy.c:3598
 #, c-format
 msgid "while vacuuming relation \"%s.%s\""
 msgstr "mientras se hacía «vacuum» a la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3600
+#: access/heap/vacuumlazy.c:3603
 #, 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:3605
+#: access/heap/vacuumlazy.c:3608
 #, 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:3611
+#: access/heap/vacuumlazy.c:3614
 #, c-format
 msgid "while truncating relation \"%s.%s\" to %u blocks"
 msgstr "error mientras se truncaba la relación «%s.%s» a %u bloques"
@@ -1365,8 +1346,8 @@ msgid "index access method \"%s\" does not have a handler"
 msgstr "el método de acceso «%s» no tiene manejador"
 
 #: access/index/indexam.c:142 catalog/objectaddress.c:1260
-#: commands/indexcmds.c:2517 commands/tablecmds.c:254 commands/tablecmds.c:278
-#: commands/tablecmds.c:15702 commands/tablecmds.c:17157
+#: commands/indexcmds.c:2518 commands/tablecmds.c:254 commands/tablecmds.c:278
+#: commands/tablecmds.c:15935 commands/tablecmds.c:17390
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "«%s» no es un índice"
@@ -1391,23 +1372,23 @@ 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:150 access/nbtree/nbtpage.c:538
-#: parser/parse_utilcmd.c:2244
+#: access/nbtree/nbtpage.c:150 access/nbtree/nbtpage.c:536
+#: parser/parse_utilcmd.c:2278
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "el índice «%s» no es un btree"
 
-#: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:545
+#: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:543
 #, 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:1501
+#: access/nbtree/nbtpage.c:1499
 #, 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:1503
+#: access/nbtree/nbtpage.c:1501
 #, 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."
@@ -1452,13 +1433,13 @@ msgid "operator family \"%s\" of access method %s is missing support function %d
 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:49 access/table/table.c:78 access/table/table.c:111
-#: catalog/aclchk.c:1806
+#: catalog/aclchk.c:1809
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "«%s» es un índice"
 
 #: access/table/table.c:54 access/table/table.c:83 access/table/table.c:116
-#: catalog/aclchk.c:1813 commands/tablecmds.c:12523 commands/tablecmds.c:15711
+#: catalog/aclchk.c:1816 commands/tablecmds.c:12692 commands/tablecmds.c:15944
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "«%s» es un tipo compuesto"
@@ -1473,7 +1454,7 @@ msgstr "el tid (%u, %u) no es válido para la relación «%s»"
 msgid "%s cannot be empty."
 msgstr "%s no puede ser vacío."
 
-#: access/table/tableamapi.c:122 utils/misc/guc.c:11928
+#: access/table/tableamapi.c:122 utils/misc/guc.c:11980
 #, c-format
 msgid "%s is too long (maximum %d characters)."
 msgstr "%s es demasiado largo (máximo %d caracteres)."
@@ -1533,14 +1514,14 @@ msgstr ""
 msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with OID %u"
 msgstr "la base de datos no está aceptando órdenes que generen nuevos MultiXactIds para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base con OID %u"
 
-#: access/transam/multixact.c:1030 access/transam/multixact.c:2320
+#: access/transam/multixact.c:1030 access/transam/multixact.c:2322
 #, 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:1039 access/transam/multixact.c:2329
+#: access/transam/multixact.c:1039 access/transam/multixact.c:2331
 #, 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"
@@ -1586,12 +1567,12 @@ msgstr "el MultiXactId %u ya no existe -- aparente problema por reciclaje"
 msgid "MultiXactId %u has not been created yet -- apparent wraparound"
 msgstr "el MultiXactId %u no se ha creado aún -- aparente problema por reciclaje"
 
-#: access/transam/multixact.c:2270
+#: access/transam/multixact.c:2272
 #, c-format
 msgid "MultiXactId wrap limit is %u, limited by database with OID %u"
 msgstr "el límite para el reciclaje de MultiXactId es %u, limitado por base de datos con OID %u"
 
-#: access/transam/multixact.c:2325 access/transam/multixact.c:2334
+#: access/transam/multixact.c:2327 access/transam/multixact.c:2336
 #: access/transam/varsup.c:149 access/transam/varsup.c:156
 #: access/transam/varsup.c:447 access/transam/varsup.c:454
 #, c-format
@@ -1602,37 +1583,37 @@ 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/multixact.c:2604
+#: access/transam/multixact.c:2606
 #, c-format
 msgid "oldest MultiXactId member is at offset %u"
 msgstr "el miembro de multixact más antiguo está en la posición %u"
 
-#: access/transam/multixact.c:2608
+#: access/transam/multixact.c:2610
 #, 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"
 
-#: access/transam/multixact.c:2630
+#: access/transam/multixact.c:2632
 #, c-format
 msgid "MultiXact member wraparound protections are now enabled"
 msgstr "las protecciones de reciclaje de miembros de multixact están habilitadas"
 
-#: access/transam/multixact.c:2633
+#: access/transam/multixact.c:2635
 #, c-format
 msgid "MultiXact member stop limit is now %u based on MultiXact %u"
 msgstr "el límite de detención de miembros de multixact es ahora %u basado en el multixact %u"
 
-#: access/transam/multixact.c:3013
+#: access/transam/multixact.c:3023
 #, 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:3031
+#: access/transam/multixact.c:3041
 #, 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:3345
+#: access/transam/multixact.c:3355
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "el MultiXactId no es válido: %u"
@@ -1724,7 +1705,7 @@ msgstr "No se pudo sincronizar (fsync) archivo «%s»: %m."
 msgid "Could not close file \"%s\": %m."
 msgstr "No se pudo cerrar el archivo «%s»: %m."
 
-#: access/transam/slru.c:1254
+#: access/transam/slru.c:1251
 #, c-format
 msgid "could not truncate directory \"%s\": apparent wraparound"
 msgstr "no se pudo truncar el directorio «%s»: aparente problema por reciclaje de transacciones"
@@ -1794,12 +1775,12 @@ msgstr "Defina max_prepared_transactions a un valor distinto de cero."
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "identificador de transacción «%s» ya está siendo utilizado"
 
-#: access/transam/twophase.c:417 access/transam/twophase.c:2368
+#: access/transam/twophase.c:417 access/transam/twophase.c:2381
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "se alcanzó el número máximo de transacciones preparadas"
 
-#: access/transam/twophase.c:418 access/transam/twophase.c:2369
+#: access/transam/twophase.c:418 access/transam/twophase.c:2382
 #, c-format
 msgid "Increase max_prepared_transactions (currently %d)."
 msgstr "Incremente max_prepared_transactions (actualmente es %d)."
@@ -1866,64 +1847,64 @@ msgstr "tamaño no válido en archivo «%s»"
 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:1342 access/transam/xlog.c:6494
+#: access/transam/twophase.c:1347 access/transam/xlog.c:6488
 #, 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:1349
+#: access/transam/twophase.c:1362
 #, 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:1357
+#: access/transam/twophase.c:1370
 #, 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:1637
+#: access/transam/twophase.c:1650
 #, c-format
 msgid "could not recreate file \"%s\": %m"
 msgstr "no se pudo recrear archivo «%s»: %m"
 
-#: access/transam/twophase.c:1764
+#: access/transam/twophase.c:1777
 #, 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:1998
+#: access/transam/twophase.c:2011
 #, c-format
 msgid "recovering prepared transaction %u from shared memory"
 msgstr "recuperando transacción preparada %u desde memoria compartida"
 
-#: access/transam/twophase.c:2089
+#: access/transam/twophase.c:2102
 #, 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:2096
+#: access/transam/twophase.c:2109
 #, 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:2109
+#: access/transam/twophase.c:2122
 #, 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:2116
+#: access/transam/twophase.c:2129
 #, 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:2141
+#: access/transam/twophase.c:2154
 #, 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:2146
+#: access/transam/twophase.c:2159
 #, c-format
 msgid "corrupted two-phase state in memory for transaction %u"
 msgstr "estado de dos fases en memoria corrupto para transacción %u"
@@ -1972,106 +1953,106 @@ msgstr "no se pueden tener más de 2^32-2 órdenes en una transacción"
 msgid "maximum number of committed subtransactions (%d) exceeded"
 msgstr "se superó el número máximo de subtransacciones comprometidas (%d)"
 
-#: access/transam/xact.c:2395
+#: access/transam/xact.c:2396
 #, 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:2405
+#: access/transam/xact.c:2406
 #, 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"
 
-#: access/transam/xact.c:2414
+#: access/transam/xact.c:2415
 #, c-format
 msgid "cannot PREPARE a transaction that has manipulated logical replication workers"
 msgstr "no se puede hacer PREPARE de una transacción que ha manipulado procesos ayudantes de replicación lógica"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3359
+#: access/transam/xact.c:3367
 #, 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:3369
+#: access/transam/xact.c:3377
 #, 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:3379
+#: access/transam/xact.c:3387
 #, 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:3448 access/transam/xact.c:3754
-#: access/transam/xact.c:3833 access/transam/xact.c:3956
-#: access/transam/xact.c:4107 access/transam/xact.c:4176
-#: access/transam/xact.c:4287
+#: access/transam/xact.c:3456 access/transam/xact.c:3762
+#: access/transam/xact.c:3841 access/transam/xact.c:3964
+#: access/transam/xact.c:4115 access/transam/xact.c:4184
+#: access/transam/xact.c:4295
 #, 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:3640
+#: access/transam/xact.c:3648
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "ya hay una transacción en curso"
 
-#: access/transam/xact.c:3759 access/transam/xact.c:3838
-#: access/transam/xact.c:3961
+#: access/transam/xact.c:3767 access/transam/xact.c:3846
+#: access/transam/xact.c:3969
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "no hay una transacción en curso"
 
-#: access/transam/xact.c:3849
+#: access/transam/xact.c:3857
 #, 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:3972
+#: access/transam/xact.c:3980
 #, c-format
 msgid "cannot abort during a parallel operation"
 msgstr "no se puede abortar durante una operación paralela"
 
-#: access/transam/xact.c:4071
+#: access/transam/xact.c:4079
 #, 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:4158
+#: access/transam/xact.c:4166
 #, 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:4168 access/transam/xact.c:4219
-#: access/transam/xact.c:4279 access/transam/xact.c:4328
+#: access/transam/xact.c:4176 access/transam/xact.c:4227
+#: access/transam/xact.c:4287 access/transam/xact.c:4336
 #, c-format
 msgid "savepoint \"%s\" does not exist"
 msgstr "no existe el «savepoint» «%s»"
 
-#: access/transam/xact.c:4225 access/transam/xact.c:4334
+#: access/transam/xact.c:4233 access/transam/xact.c:4342
 #, 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:4267
+#: access/transam/xact.c:4275
 #, 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:4395
+#: access/transam/xact.c:4403
 #, 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:4463
+#: access/transam/xact.c:4471
 #, 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:5103
+#: access/transam/xact.c:5111
 #, 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"
@@ -2087,7 +2068,7 @@ msgid "updated min recovery point to %X/%X on timeline %u"
 msgstr "el punto mínimo de recuperación fue actualizado a %X/%X en el timeline %u"
 
 #: access/transam/xlog.c:3944 access/transam/xlogutils.c:802
-#: replication/walsender.c:2502
+#: replication/walsender.c:2503
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "el segmento de WAL solicitado %s ya ha sido eliminado"
@@ -2381,128 +2362,128 @@ msgstr "la recuperación está en pausa"
 msgid "Execute pg_wal_replay_resume() to continue."
 msgstr "Ejecute pg_wal_replay_resume() para continuar."
 
-#: access/transam/xlog.c:6242
+#: access/transam/xlog.c:6236
 #, c-format
 msgid "hot standby is not possible because %s = %d is a lower setting than on the master server (its value was %d)"
 msgstr "hot standby no es posible puesto que %s = %d es una configuración menor que en el servidor maestro (su valor era %d)"
 
-#: access/transam/xlog.c:6266
+#: access/transam/xlog.c:6260
 #, c-format
 msgid "WAL was generated with wal_level=minimal, data may be missing"
 msgstr "WAL fue generado con wal_level=minimal, puede haber datos faltantes"
 
-#: access/transam/xlog.c:6267
+#: access/transam/xlog.c:6261
 #, c-format
 msgid "This happens if you temporarily set wal_level=minimal without taking a new base backup."
 msgstr "Esto sucede si temporalmente define wal_level=minimal sin tomar un nuevo respaldo base."
 
-#: access/transam/xlog.c:6278
+#: access/transam/xlog.c:6272
 #, c-format
 msgid "hot standby is not possible because wal_level was not set to \"replica\" or higher on the master server"
 msgstr "hot standby no es posible porque wal_level no estaba configurado como «replica» o superior en el servidor maestro"
 
-#: access/transam/xlog.c:6279
+#: access/transam/xlog.c:6273
 #, c-format
 msgid "Either set wal_level to \"replica\" on the master, or turn off hot_standby here."
 msgstr "Defina wal_level a «replica» en el maestro, o bien desactive hot_standby en este servidor."
 
-#: access/transam/xlog.c:6341
+#: access/transam/xlog.c:6335
 #, 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"
 
-#: access/transam/xlog.c:6352
+#: access/transam/xlog.c:6346
 #, 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:6358
+#: access/transam/xlog.c:6352
 #, 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:6364
+#: access/transam/xlog.c:6358
 #, 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:6370
+#: access/transam/xlog.c:6364
 #, 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:6372
+#: access/transam/xlog.c:6366
 #, 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:6378
+#: access/transam/xlog.c:6372
 #, 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:6380
+#: access/transam/xlog.c:6374
 #, 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:6386
+#: access/transam/xlog.c:6380
 #, 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:6392
+#: access/transam/xlog.c:6386
 #, 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:6449
+#: access/transam/xlog.c:6443
 #, c-format
 msgid "entering standby mode"
 msgstr "entrando al modo standby"
 
-#: access/transam/xlog.c:6452
+#: access/transam/xlog.c:6446
 #, c-format
 msgid "starting point-in-time recovery to XID %u"
 msgstr "comenzando el proceso de recuperación hasta el XID %u"
 
-#: access/transam/xlog.c:6456
+#: access/transam/xlog.c:6450
 #, c-format
 msgid "starting point-in-time recovery to %s"
 msgstr "comenzando el proceso de recuperación hasta %s"
 
-#: access/transam/xlog.c:6460
+#: access/transam/xlog.c:6454
 #, c-format
 msgid "starting point-in-time recovery to \"%s\""
 msgstr "comenzando el proceso de recuperación hasta «%s»"
 
-#: access/transam/xlog.c:6464
+#: access/transam/xlog.c:6458
 #, 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/xlog.c:6469
+#: access/transam/xlog.c:6463
 #, 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/xlog.c:6472
+#: access/transam/xlog.c:6466
 #, c-format
 msgid "starting archive recovery"
 msgstr "comenzando proceso de recuperación"
 
-#: access/transam/xlog.c:6531 access/transam/xlog.c:6664
+#: access/transam/xlog.c:6525 access/transam/xlog.c:6658
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr "el registro del punto de control está en %X/%X"
 
-#: access/transam/xlog.c:6546
+#: access/transam/xlog.c:6540
 #, 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"
 
 # Purposefully deviate from quoting convention here, since argument is a shell command.
-#: access/transam/xlog.c:6547 access/transam/xlog.c:6557
+#: access/transam/xlog.c:6541 access/transam/xlog.c:6551
 #, c-format
 msgid ""
 "If you are restoring from a backup, touch \"%s/recovery.signal\" and add required recovery options.\n"
@@ -2513,278 +2494,278 @@ 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/xlog.c:6556
+#: access/transam/xlog.c:6550
 #, c-format
 msgid "could not locate required checkpoint record"
 msgstr "no se pudo localizar el registro del punto de control requerido"
 
-#: access/transam/xlog.c:6585 commands/tablespace.c:654
+#: access/transam/xlog.c:6579 commands/tablespace.c:666
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "no se pudo crear el enlace simbólico «%s»: %m"
 
-#: access/transam/xlog.c:6617 access/transam/xlog.c:6623
+#: access/transam/xlog.c:6611 access/transam/xlog.c:6617
 #, c-format
 msgid "ignoring file \"%s\" because no file \"%s\" exists"
 msgstr "ignorando el archivo «%s» porque no existe un archivo «%s»"
 
-#: access/transam/xlog.c:6619 access/transam/xlog.c:11828
+#: access/transam/xlog.c:6613 access/transam/xlog.c:11808
 #, c-format
 msgid "File \"%s\" was renamed to \"%s\"."
 msgstr "El archivo «%s» fue renombrado a «%s»."
 
-#: access/transam/xlog.c:6625
+#: access/transam/xlog.c:6619
 #, 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/xlog.c:6676
+#: access/transam/xlog.c:6670
 #, c-format
 msgid "could not locate a valid checkpoint record"
 msgstr "no se pudo localizar un registro de punto de control válido"
 
-#: access/transam/xlog.c:6714
+#: access/transam/xlog.c:6708
 #, c-format
 msgid "requested timeline %u is not a child of this server's history"
 msgstr "el timeline solicitado %u no es un hijo de la historia de este servidor"
 
-#: access/transam/xlog.c:6716
+#: access/transam/xlog.c:6710
 #, c-format
 msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
 msgstr "El punto de control más reciente está en %X/%X en el timeline %u, pero en la historia del timeline solicitado, el servidor se desvió desde ese timeline en %X/%X."
 
-#: access/transam/xlog.c:6732
+#: access/transam/xlog.c:6726
 #, c-format
 msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
 msgstr "el timeline solicitado %u no contiene el punto mínimo de recuperación %X/%X en el timeline %u"
 
-#: access/transam/xlog.c:6763
+#: access/transam/xlog.c:6757
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "el siguiente ID de transacción no es válido"
 
-#: access/transam/xlog.c:6857
+#: access/transam/xlog.c:6851
 #, c-format
 msgid "invalid redo in checkpoint record"
 msgstr "redo no es válido en el registro de punto de control"
 
-#: access/transam/xlog.c:6868
+#: access/transam/xlog.c:6862
 #, c-format
 msgid "invalid redo record in shutdown checkpoint"
 msgstr "registro redo no es válido en el punto de control de apagado"
 
-#: access/transam/xlog.c:6902
+#: access/transam/xlog.c:6896
 #, c-format
 msgid "database system was not properly shut down; automatic recovery in progress"
 msgstr "el sistema de bases de datos no fue apagado apropiadamente; se está efectuando la recuperación automática"
 
-#: access/transam/xlog.c:6906
+#: access/transam/xlog.c:6900
 #, c-format
 msgid "crash recovery starts in timeline %u and has target timeline %u"
 msgstr "la recuperación comienza en el timeline %u y tiene un timeline de destino %u"
 
-#: access/transam/xlog.c:6953
+#: access/transam/xlog.c:6947
 #, c-format
 msgid "backup_label contains data inconsistent with control file"
 msgstr "backup_label contiene datos inconsistentes con el archivo de control"
 
-#: access/transam/xlog.c:6954
+#: access/transam/xlog.c:6948
 #, c-format
 msgid "This means that the backup is corrupted and you will have to use another backup for recovery."
 msgstr "Esto significa que el respaldo está corrupto y deberá usar otro respaldo para la recuperación."
 
-#: access/transam/xlog.c:7045
+#: access/transam/xlog.c:7039
 #, c-format
 msgid "initializing for hot standby"
 msgstr "inicializando para hot standby"
 
-#: access/transam/xlog.c:7178
+#: access/transam/xlog.c:7172
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "redo comienza en %X/%X"
 
-#: access/transam/xlog.c:7402
+#: access/transam/xlog.c:7396
 #, c-format
 msgid "requested recovery stop point is before consistent recovery point"
 msgstr "el punto de detención de recuperación pedido es antes del punto de recuperación consistente"
 
-#: access/transam/xlog.c:7440
+#: access/transam/xlog.c:7434
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "redo listo en %X/%X"
 
-#: access/transam/xlog.c:7445
+#: access/transam/xlog.c:7439
 #, 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:7454
+#: access/transam/xlog.c:7448
 #, c-format
 msgid "redo is not required"
 msgstr "no se requiere redo"
 
-#: access/transam/xlog.c:7466
+#: access/transam/xlog.c:7460
 #, 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/xlog.c:7545 access/transam/xlog.c:7549
+#: access/transam/xlog.c:7539 access/transam/xlog.c:7543
 #, 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:7546
+#: access/transam/xlog.c:7540
 #, 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:7550
+#: access/transam/xlog.c:7544
 #, c-format
 msgid "Online backup started with pg_start_backup() must be ended with pg_stop_backup(), and all WAL up to that point must be available at recovery."
 msgstr "Un respaldo en línea iniciado con pg_start_backup() debe ser terminado con pg_stop_backup(), y todos los archivos WAL hasta ese punto deben estar disponibles durante la recuperación."
 
-#: access/transam/xlog.c:7553
+#: access/transam/xlog.c:7547
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "WAL termina antes del punto de recuperación consistente"
 
-#: access/transam/xlog.c:7588
+#: access/transam/xlog.c:7582
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "seleccionado nuevo ID de timeline: %u"
 
-#: access/transam/xlog.c:8036
+#: access/transam/xlog.c:8030
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "el estado de recuperación consistente fue alcanzado en %X/%X"
 
-#: access/transam/xlog.c:8246
+#: access/transam/xlog.c:8240
 #, c-format
 msgid "invalid primary checkpoint link in control file"
 msgstr "el enlace de punto de control primario en archivo de control no es válido"
 
-#: access/transam/xlog.c:8250
+#: access/transam/xlog.c:8244
 #, c-format
 msgid "invalid checkpoint link in backup_label file"
 msgstr "el enlace del punto de control en backup_label no es válido"
 
-#: access/transam/xlog.c:8268
+#: access/transam/xlog.c:8262
 #, c-format
 msgid "invalid primary checkpoint record"
 msgstr "el registro del punto de control primario no es válido"
 
-#: access/transam/xlog.c:8272
+#: access/transam/xlog.c:8266
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "el registro del punto de control no es válido"
 
-#: access/transam/xlog.c:8283
+#: access/transam/xlog.c:8277
 #, c-format
 msgid "invalid resource manager ID in primary checkpoint record"
 msgstr "el ID de gestor de recursos en el registro del punto de control primario no es válido"
 
-#: access/transam/xlog.c:8287
+#: access/transam/xlog.c:8281
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "el ID de gestor de recursos en el registro del punto de control no es válido"
 
-#: access/transam/xlog.c:8300
+#: access/transam/xlog.c:8294
 #, c-format
 msgid "invalid xl_info in primary checkpoint record"
 msgstr "xl_info en el registro del punto de control primario no es válido"
 
-#: access/transam/xlog.c:8304
+#: access/transam/xlog.c:8298
 #, c-format
 msgid "invalid xl_info in checkpoint record"
 msgstr "xl_info en el registro del punto de control no es válido"
 
-#: access/transam/xlog.c:8315
+#: access/transam/xlog.c:8309
 #, c-format
 msgid "invalid length of primary checkpoint record"
 msgstr "la longitud del registro del punto de control primario no es válida"
 
-#: access/transam/xlog.c:8319
+#: access/transam/xlog.c:8313
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "la longitud del registro de punto de control no es válida"
 
-#: access/transam/xlog.c:8499
+#: access/transam/xlog.c:8493
 #, c-format
 msgid "shutting down"
 msgstr "apagando"
 
-#: access/transam/xlog.c:8819
+#: access/transam/xlog.c:8799
 #, c-format
 msgid "checkpoint skipped because system is idle"
 msgstr "omitiendo checkpoint porque el sistema está inactivo"
 
-#: access/transam/xlog.c:9019
+#: access/transam/xlog.c:8999
 #, 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:9276
+#: access/transam/xlog.c:9256
 #, c-format
 msgid "skipping restartpoint, recovery has already ended"
 msgstr "omitiendo el restartpoint, la recuperación ya ha terminado"
 
-#: access/transam/xlog.c:9299
+#: access/transam/xlog.c:9279
 #, c-format
 msgid "skipping restartpoint, already performed at %X/%X"
 msgstr "omitiendo el restartpoint, ya fue llevado a cabo en %X/%X"
 
-#: access/transam/xlog.c:9467
+#: access/transam/xlog.c:9447
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "restartpoint de recuperación en %X/%X"
 
-#: access/transam/xlog.c:9469
+#: access/transam/xlog.c:9449
 #, 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:9711
+#: access/transam/xlog.c:9691
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "punto de recuperación «%s» creado en %X/%X"
 
-#: access/transam/xlog.c:9856
+#: access/transam/xlog.c:9836
 #, c-format
 msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record"
 msgstr "ID de timeline previo %u inesperado (timeline actual %u) en el registro de punto de control"
 
-#: access/transam/xlog.c:9865
+#: access/transam/xlog.c:9845
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr "ID de timeline %u inesperado (después de %u) en el registro de punto de control"
 
-#: access/transam/xlog.c:9881
+#: access/transam/xlog.c:9861
 #, c-format
 msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
 msgstr "timeline ID %u inesperado en registro de checkpoint, antes de alcanzar el punto mínimo de recuperación %X/%X en el timeline %u"
 
-#: access/transam/xlog.c:9957
+#: access/transam/xlog.c:9937
 #, 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:10013 access/transam/xlog.c:10069
-#: access/transam/xlog.c:10092
+#: access/transam/xlog.c:9993 access/transam/xlog.c:10049
+#: access/transam/xlog.c:10072
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
 msgstr "ID de timeline %u inesperado (debería ser %u) en el registro de punto de control"
 
-#: access/transam/xlog.c:10418
+#: access/transam/xlog.c:10398
 #, 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:10424
+#: access/transam/xlog.c:10404
 #, c-format
 msgid "could not fdatasync file \"%s\": %m"
 msgstr "no se pudo sincronizar (fdatasync) archivo «%s»: %m"
 
-#: access/transam/xlog.c:10523 access/transam/xlog.c:11061
+#: access/transam/xlog.c:10503 access/transam/xlog.c:11041
 #: access/transam/xlogfuncs.c:275 access/transam/xlogfuncs.c:302
 #: access/transam/xlogfuncs.c:341 access/transam/xlogfuncs.c:362
 #: access/transam/xlogfuncs.c:383
@@ -2792,204 +2773,204 @@ msgstr "no se pudo sincronizar (fdatasync) archivo «%s»: %m"
 msgid "WAL control functions cannot be executed during recovery."
 msgstr "Las funciones de control de WAL no pueden ejecutarse durante la recuperación."
 
-#: access/transam/xlog.c:10532 access/transam/xlog.c:11070
+#: access/transam/xlog.c:10512 access/transam/xlog.c:11050
 #, 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:10533 access/transam/xlog.c:11071
+#: access/transam/xlog.c:10513 access/transam/xlog.c:11051
 #: access/transam/xlogfuncs.c:308
 #, 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:10538
+#: access/transam/xlog.c:10518
 #, 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:10575 access/transam/xlog.c:10860
-#: access/transam/xlog.c:10898
+#: access/transam/xlog.c:10555 access/transam/xlog.c:10840
+#: access/transam/xlog.c:10878
 #, c-format
 msgid "a backup is already in progress"
 msgstr "ya hay un respaldo en curso"
 
-#: access/transam/xlog.c:10576
+#: access/transam/xlog.c:10556
 #, c-format
 msgid "Run pg_stop_backup() and try again."
 msgstr "Ejecute pg_stop_backup() e intente nuevamente."
 
-#: access/transam/xlog.c:10672
+#: access/transam/xlog.c:10652
 #, 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"
 
-#: access/transam/xlog.c:10674 access/transam/xlog.c:11266
+#: access/transam/xlog.c:10654 access/transam/xlog.c:11246
 #, c-format
 msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the master, and then try an online backup again."
 msgstr "Esto significa que el respaldo que estaba siendo tomado en el standby está corrupto y no debería usarse. Active full_page_writes y ejecute CHECKPOINT en el maestro, luego trate de ejecutar un respaldo en línea nuevamente."
 
-#: access/transam/xlog.c:10757 replication/basebackup.c:1420
+#: access/transam/xlog.c:10737 replication/basebackup.c:1423
 #: utils/adt/misc.c:342
 #, 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:10810 commands/tablespace.c:402
-#: commands/tablespace.c:566 replication/basebackup.c:1435 utils/adt/misc.c:350
+#: access/transam/xlog.c:10790 commands/tablespace.c:402
+#: commands/tablespace.c:578 replication/basebackup.c:1438 utils/adt/misc.c:350
 #, c-format
 msgid "tablespaces are not supported on this platform"
 msgstr "tablespaces no están soportados en esta plataforma"
 
-#: access/transam/xlog.c:10861 access/transam/xlog.c:10899
+#: access/transam/xlog.c:10841 access/transam/xlog.c:10879
 #, c-format
 msgid "If you're sure there is no backup in progress, remove file \"%s\" and try again."
 msgstr "Si está seguro que no hay un respaldo en curso, elimine el archivo «%s» e intente nuevamente."
 
-#: access/transam/xlog.c:11086
+#: access/transam/xlog.c:11066
 #, c-format
 msgid "exclusive backup not in progress"
 msgstr "no hay un respaldo exclusivo en curso"
 
-#: access/transam/xlog.c:11113
+#: access/transam/xlog.c:11093
 #, c-format
 msgid "a backup is not in progress"
 msgstr "no hay un respaldo en curso"
 
-#: access/transam/xlog.c:11199 access/transam/xlog.c:11212
-#: access/transam/xlog.c:11601 access/transam/xlog.c:11607
-#: access/transam/xlog.c:11655 access/transam/xlog.c:11728
+#: access/transam/xlog.c:11179 access/transam/xlog.c:11192
+#: access/transam/xlog.c:11581 access/transam/xlog.c:11587
+#: access/transam/xlog.c:11635 access/transam/xlog.c:11708
 #: access/transam/xlogfuncs.c:692
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "datos no válidos en archivo «%s»"
 
-#: access/transam/xlog.c:11216 replication/basebackup.c:1268
+#: access/transam/xlog.c:11196 replication/basebackup.c:1271
 #, 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:11217 replication/basebackup.c:1269
+#: access/transam/xlog.c:11197 replication/basebackup.c:1272
 #, 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:11264
+#: access/transam/xlog.c:11244
 #, c-format
 msgid "WAL generated with full_page_writes=off was replayed during online backup"
 msgstr "el WAL generado con full_page_writes=off fue restaurado durante el respaldo en línea"
 
-#: access/transam/xlog.c:11384
+#: access/transam/xlog.c:11364
 #, 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:11396
+#: access/transam/xlog.c:11376
 #, 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:11398
+#: access/transam/xlog.c:11378
 #, 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."
 
-#: access/transam/xlog.c:11405
+#: access/transam/xlog.c:11385
 #, c-format
 msgid "all required WAL segments have been archived"
 msgstr "todos los segmentos de WAL requeridos han sido archivados"
 
-#: access/transam/xlog.c:11409
+#: access/transam/xlog.c:11389
 #, 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:11462
+#: access/transam/xlog.c:11442
 #, c-format
 msgid "aborting backup due to backend exiting before pg_stop_backup was called"
 msgstr "abortando el backup porque el proceso servidor terminó antes de que pg_stop_backup fuera invocada"
 
-#: access/transam/xlog.c:11638
+#: access/transam/xlog.c:11618
 #, c-format
 msgid "backup time %s in file \"%s\""
 msgstr "tiempo de respaldo %s en archivo «%s»"
 
-#: access/transam/xlog.c:11643
+#: access/transam/xlog.c:11623
 #, c-format
 msgid "backup label %s in file \"%s\""
 msgstr "etiqueta de respaldo %s en archivo «%s»"
 
-#: access/transam/xlog.c:11656
+#: access/transam/xlog.c:11636
 #, 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/xlog.c:11660
+#: access/transam/xlog.c:11640
 #, c-format
 msgid "backup timeline %u in file \"%s\""
 msgstr "línea de tiempo %u en archivo «%s»"
 
 #. translator: %s is a WAL record description
-#: access/transam/xlog.c:11768
+#: access/transam/xlog.c:11748
 #, c-format
 msgid "WAL redo at %X/%X for %s"
 msgstr "redo WAL en %X/%X para %s"
 
-#: access/transam/xlog.c:11817
+#: access/transam/xlog.c:11797
 #, c-format
 msgid "online backup mode was not canceled"
 msgstr "el modo de respaldo en línea no fue cancelado"
 
-#: access/transam/xlog.c:11818
+#: access/transam/xlog.c:11798
 #, c-format
 msgid "File \"%s\" could not be renamed to \"%s\": %m."
 msgstr "El archivo «%s» no se pudo renombrar a «%s»: %m."
 
-#: access/transam/xlog.c:11827 access/transam/xlog.c:11839
-#: access/transam/xlog.c:11849
+#: access/transam/xlog.c:11807 access/transam/xlog.c:11819
+#: access/transam/xlog.c:11829
 #, c-format
 msgid "online backup mode canceled"
 msgstr "el modo de respaldo en línea fue cancelado"
 
-#: access/transam/xlog.c:11840
+#: access/transam/xlog.c:11820
 #, c-format
 msgid "Files \"%s\" and \"%s\" were renamed to \"%s\" and \"%s\", respectively."
 msgstr "Los archivos «%s» y «%s» fueron renombrados a «%s» y «%s», respectivamente."
 
-#: access/transam/xlog.c:11850
+#: access/transam/xlog.c:11830
 #, c-format
 msgid "File \"%s\" was renamed to \"%s\", but file \"%s\" could not be renamed to \"%s\": %m."
 msgstr "El archivo «%s» fue renombrado a «%s», pero el archivo «%s» no pudo ser renombrado a «%s»: %m."
 
 # XXX why talk about "log segment" instead of "file"?
-#: access/transam/xlog.c:11983 access/transam/xlogutils.c:971
+#: access/transam/xlog.c:11963 access/transam/xlogutils.c:971
 #, c-format
 msgid "could not read from log segment %s, offset %u: %m"
 msgstr "no se pudo leer del archivo de segmento %s, posición %u: %m"
 
 # XXX why talk about "log segment" instead of "file"?
-#: access/transam/xlog.c:11989 access/transam/xlogutils.c:978
+#: access/transam/xlog.c:11969 access/transam/xlogutils.c:978
 #, c-format
 msgid "could not read from log segment %s, offset %u: read %d of %zu"
 msgstr "no se pudo leer del archivo de segmento %s, posición %u: leídos %d de %zu"
 
-#: access/transam/xlog.c:12518
+#: access/transam/xlog.c:12495
 #, fuzzy, c-format
 #| msgid "WAL receiver process shutdown requested"
-msgid "wal receiver process shutdown requested"
+msgid "WAL receiver process shutdown requested"
 msgstr "se recibió una petición de apagado del proceso receptor de wal"
 
-#: access/transam/xlog.c:12624
+#: access/transam/xlog.c:12601
 #, c-format
 msgid "received promote request"
 msgstr "se recibió petición de promoción"
 
-#: access/transam/xlog.c:12637
+#: access/transam/xlog.c:12614
 #, c-format
 msgid "promote trigger file found: %s"
 msgstr "se encontró el archivo disparador de promoción: %s"
 
-#: access/transam/xlog.c:12646
+#: access/transam/xlog.c:12623
 #, c-format
 msgid "could not stat promote trigger file \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo disparador de promoción «%s»: %m"
@@ -3043,33 +3024,33 @@ msgid "Did you mean to use pg_stop_backup('f')?"
 msgstr "¿Quiso usar pg_stop_backup('f')?"
 
 #: access/transam/xlogfuncs.c:185 commands/event_trigger.c:1332
-#: commands/event_trigger.c:1884 commands/extension.c:1944
+#: commands/event_trigger.c:1890 commands/extension.c:1944
 #: commands/extension.c:2052 commands/extension.c:2337 commands/prepare.c:712
-#: executor/execExpr.c:2203 executor/execSRF.c:728 executor/functions.c:1046
+#: executor/execExpr.c:2241 executor/execSRF.c:728 executor/functions.c:1040
 #: foreign/foreign.c:520 libpq/hba.c:2666 replication/logical/launcher.c:1086
 #: replication/logical/logicalfuncs.c:157 replication/logical/origin.c:1486
-#: replication/slotfuncs.c:252 replication/walsender.c:3257
+#: replication/slotfuncs.c:252 replication/walsender.c:3258
 #: storage/ipc/shmem.c:550 utils/adt/datetime.c:4765 utils/adt/genfile.c:505
 #: utils/adt/genfile.c:588 utils/adt/jsonfuncs.c:1792
 #: utils/adt/jsonfuncs.c:1904 utils/adt/jsonfuncs.c:2092
 #: utils/adt/jsonfuncs.c:2201 utils/adt/jsonfuncs.c:3663 utils/adt/misc.c:215
 #: utils/adt/pgstatfuncs.c:476 utils/adt/pgstatfuncs.c:584
-#: utils/adt/pgstatfuncs.c:1719 utils/fmgr/funcapi.c:72 utils/misc/guc.c:9648
+#: utils/adt/pgstatfuncs.c:1719 utils/fmgr/funcapi.c:72 utils/misc/guc.c:9676
 #: utils/mmgr/portalmem.c:1136
 #, 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"
 
 #: access/transam/xlogfuncs.c:189 commands/event_trigger.c:1336
-#: commands/event_trigger.c:1888 commands/extension.c:1948
+#: commands/event_trigger.c:1894 commands/extension.c:1948
 #: commands/extension.c:2056 commands/extension.c:2341 commands/prepare.c:716
 #: foreign/foreign.c:525 libpq/hba.c:2670 replication/logical/launcher.c:1090
 #: replication/logical/logicalfuncs.c:161 replication/logical/origin.c:1490
-#: replication/slotfuncs.c:256 replication/walsender.c:3261
+#: replication/slotfuncs.c:256 replication/walsender.c:3262
 #: storage/ipc/shmem.c:554 utils/adt/datetime.c:4769 utils/adt/genfile.c:509
 #: utils/adt/genfile.c:592 utils/adt/misc.c:219 utils/adt/pgstatfuncs.c:480
 #: utils/adt/pgstatfuncs.c:588 utils/adt/pgstatfuncs.c:1723
-#: utils/misc/guc.c:9652 utils/misc/pg_config.c:43 utils/mmgr/portalmem.c:1140
+#: utils/misc/guc.c:9680 utils/misc/pg_config.c:43 utils/mmgr/portalmem.c:1140
 #, c-format
 msgid "materialize mode required, but it is not allowed in this context"
 msgstr "se requiere un nodo «materialize», pero no está permitido en este contexto"
@@ -3277,12 +3258,12 @@ msgstr "imagen comprimida no válida en %X/%X, bloque %d"
 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:288 postmaster/postmaster.c:842 tcop/postgres.c:3705
+#: bootstrap/bootstrap.c:288 postmaster/postmaster.c:842 tcop/postgres.c:3717
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s requiere un valor"
 
-#: bootstrap/bootstrap.c:293 postmaster/postmaster.c:847 tcop/postgres.c:3710
+#: bootstrap/bootstrap.c:293 postmaster/postmaster.c:847 tcop/postgres.c:3722
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s requiere un valor"
@@ -3418,7 +3399,7 @@ msgstr "el tipo de privilegio %s no es válido para un servidor foráneo"
 msgid "column privileges are only valid for relations"
 msgstr "los privilegios de columna son sólo válidos para relaciones"
 
-#: catalog/aclchk.c:681 catalog/aclchk.c:4100 catalog/aclchk.c:4882
+#: catalog/aclchk.c:681 catalog/aclchk.c:4103 catalog/aclchk.c:4885
 #: catalog/objectaddress.c:965 catalog/pg_largeobject.c:116
 #: storage/large_object/inv_api.c:285
 #, c-format
@@ -3451,7 +3432,7 @@ msgstr "no existe el objeto grande %u"
 #: commands/subscriptioncmds.c:104 commands/subscriptioncmds.c:114
 #: commands/subscriptioncmds.c:124 commands/subscriptioncmds.c:134
 #: commands/subscriptioncmds.c:148 commands/subscriptioncmds.c:159
-#: commands/subscriptioncmds.c:173 commands/tablecmds.c:7071
+#: commands/subscriptioncmds.c:173 commands/tablecmds.c:7108
 #: commands/typecmds.c:322 commands/typecmds.c:1355 commands/typecmds.c:1364
 #: commands/typecmds.c:1372 commands/typecmds.c:1380 commands/typecmds.c:1388
 #: commands/user.c:133 commands/user.c:147 commands/user.c:156
@@ -3462,9 +3443,9 @@ msgstr "no existe el objeto grande %u"
 #: commands/user.c:598 commands/user.c:606 commands/user.c:614
 #: commands/user.c:622 commands/user.c:630 commands/user.c:638
 #: commands/user.c:647 commands/user.c:655 commands/user.c:663
-#: parser/parse_utilcmd.c:387 replication/pgoutput/pgoutput.c:141
-#: replication/pgoutput/pgoutput.c:162 replication/walsender.c:886
-#: replication/walsender.c:897 replication/walsender.c:907
+#: parser/parse_utilcmd.c:403 replication/pgoutput/pgoutput.c:141
+#: replication/pgoutput/pgoutput.c:162 replication/walsender.c:890
+#: replication/walsender.c:901 replication/walsender.c:911
 #, c-format
 msgid "conflicting or redundant options"
 msgstr "opciones contradictorias o redundantes"
@@ -3479,523 +3460,523 @@ msgstr "los privilegios por omisión no pueden definirse para columnas"
 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:1558 catalog/catalog.c:506 catalog/objectaddress.c:1427
-#: commands/analyze.c:389 commands/copy.c:5080 commands/sequence.c:1702
-#: commands/tablecmds.c:6582 commands/tablecmds.c:6740
-#: commands/tablecmds.c:6814 commands/tablecmds.c:6884
-#: commands/tablecmds.c:6996 commands/tablecmds.c:7090
-#: commands/tablecmds.c:7149 commands/tablecmds.c:7222
-#: commands/tablecmds.c:7251 commands/tablecmds.c:7406
-#: commands/tablecmds.c:7488 commands/tablecmds.c:7581
-#: commands/tablecmds.c:7736 commands/tablecmds.c:10941
-#: commands/tablecmds.c:11123 commands/tablecmds.c:11283
-#: commands/tablecmds.c:12366 commands/trigger.c:876 parser/analyze.c:2339
-#: parser/parse_relation.c:713 parser/parse_target.c:1036
-#: parser/parse_type.c:144 parser/parse_utilcmd.c:3289
-#: parser/parse_utilcmd.c:3324 parser/parse_utilcmd.c:3366 utils/adt/acl.c:2870
+#: catalog/aclchk.c:1561 catalog/catalog.c:506 catalog/objectaddress.c:1427
+#: commands/analyze.c:389 commands/copy.c:5088 commands/sequence.c:1702
+#: commands/tablecmds.c:6584 commands/tablecmds.c:6727
+#: commands/tablecmds.c:6777 commands/tablecmds.c:6851
+#: commands/tablecmds.c:6921 commands/tablecmds.c:7033
+#: commands/tablecmds.c:7127 commands/tablecmds.c:7186
+#: commands/tablecmds.c:7275 commands/tablecmds.c:7304
+#: commands/tablecmds.c:7459 commands/tablecmds.c:7541
+#: commands/tablecmds.c:7634 commands/tablecmds.c:7789
+#: commands/tablecmds.c:11110 commands/tablecmds.c:11292
+#: commands/tablecmds.c:11452 commands/tablecmds.c:12535 commands/trigger.c:866
+#: parser/analyze.c:2338 parser/parse_relation.c:713 parser/parse_target.c:1036
+#: parser/parse_type.c:144 parser/parse_utilcmd.c:3324
+#: parser/parse_utilcmd.c:3359 parser/parse_utilcmd.c:3401 utils/adt/acl.c:2869
 #: utils/adt/ruleutils.c:2535
 #, 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:1821 catalog/objectaddress.c:1267 commands/sequence.c:1140
-#: commands/tablecmds.c:236 commands/tablecmds.c:15675 utils/adt/acl.c:2060
-#: utils/adt/acl.c:2090 utils/adt/acl.c:2122 utils/adt/acl.c:2154
-#: utils/adt/acl.c:2182 utils/adt/acl.c:2212
+#: catalog/aclchk.c:1824 catalog/objectaddress.c:1267 commands/sequence.c:1140
+#: commands/tablecmds.c:236 commands/tablecmds.c:15908 utils/adt/acl.c:2059
+#: utils/adt/acl.c:2089 utils/adt/acl.c:2121 utils/adt/acl.c:2153
+#: utils/adt/acl.c:2181 utils/adt/acl.c:2211
 #, c-format
 msgid "\"%s\" is not a sequence"
 msgstr "«%s» no es una secuencia"
 
-#: catalog/aclchk.c:1859
+#: catalog/aclchk.c:1862
 #, 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:1876
+#: catalog/aclchk.c:1879
 #, 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:2042
+#: catalog/aclchk.c:2045
 #, 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:2055
+#: catalog/aclchk.c:2058
 #, c-format
 msgid "sequence \"%s\" only supports SELECT column privileges"
 msgstr "la secuencia «%s» sólo soporta el privilegio SELECT"
 
-#: catalog/aclchk.c:2637
+#: catalog/aclchk.c:2640
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "el lenguaje «%s» no es confiable (trusted)"
 
-#: catalog/aclchk.c:2639
+#: catalog/aclchk.c:2642
 #, 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:3153
+#: catalog/aclchk.c:3156
 #, c-format
 msgid "cannot set privileges of array types"
 msgstr "no se puede definir privilegios para tipos de array"
 
-#: catalog/aclchk.c:3154
+#: catalog/aclchk.c:3157
 #, c-format
 msgid "Set the privileges of the element type instead."
 msgstr "Defina los privilegios del tipo elemento en su lugar."
 
-#: catalog/aclchk.c:3161 catalog/objectaddress.c:1561
+#: catalog/aclchk.c:3164 catalog/objectaddress.c:1561
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "«%s» no es un dominio"
 
-#: catalog/aclchk.c:3281
+#: catalog/aclchk.c:3284
 #, c-format
 msgid "unrecognized privilege type \"%s\""
 msgstr "tipo de privilegio «%s» no reconocido"
 
-#: catalog/aclchk.c:3342
+#: catalog/aclchk.c:3345
 #, c-format
 msgid "permission denied for aggregate %s"
 msgstr "permiso denegado a la función de agregación %s"
 
-#: catalog/aclchk.c:3345
+#: catalog/aclchk.c:3348
 #, c-format
 msgid "permission denied for collation %s"
 msgstr "permiso denegado al ordenamiento (collation) %s"
 
-#: catalog/aclchk.c:3348
+#: catalog/aclchk.c:3351
 #, c-format
 msgid "permission denied for column %s"
 msgstr "permiso denegado a la columna %s"
 
-#: catalog/aclchk.c:3351
+#: catalog/aclchk.c:3354
 #, c-format
 msgid "permission denied for conversion %s"
 msgstr "permiso denegado a la conversión %s"
 
-#: catalog/aclchk.c:3354
+#: catalog/aclchk.c:3357
 #, c-format
 msgid "permission denied for database %s"
 msgstr "permiso denegado a la base de datos %s"
 
-#: catalog/aclchk.c:3357
+#: catalog/aclchk.c:3360
 #, c-format
 msgid "permission denied for domain %s"
 msgstr "permiso denegado al dominio %s"
 
-#: catalog/aclchk.c:3360
+#: catalog/aclchk.c:3363
 #, c-format
 msgid "permission denied for event trigger %s"
 msgstr "permiso denegado al disparador por eventos %s"
 
-#: catalog/aclchk.c:3363
+#: catalog/aclchk.c:3366
 #, c-format
 msgid "permission denied for extension %s"
 msgstr "permiso denegado a la extensión %s"
 
-#: catalog/aclchk.c:3366
+#: catalog/aclchk.c:3369
 #, c-format
 msgid "permission denied for foreign-data wrapper %s"
 msgstr "permiso denegado al conector de datos externos %s"
 
-#: catalog/aclchk.c:3369
+#: catalog/aclchk.c:3372
 #, c-format
 msgid "permission denied for foreign server %s"
 msgstr "permiso denegado al servidor foráneo %s"
 
-#: catalog/aclchk.c:3372
+#: catalog/aclchk.c:3375
 #, c-format
 msgid "permission denied for foreign table %s"
 msgstr "permiso denegado a la tabla foránea %s"
 
-#: catalog/aclchk.c:3375
+#: catalog/aclchk.c:3378
 #, c-format
 msgid "permission denied for function %s"
 msgstr "permiso denegado a la función %s"
 
-#: catalog/aclchk.c:3378
+#: catalog/aclchk.c:3381
 #, c-format
 msgid "permission denied for index %s"
 msgstr "permiso denegado al índice %s"
 
-#: catalog/aclchk.c:3381
+#: catalog/aclchk.c:3384
 #, c-format
 msgid "permission denied for language %s"
 msgstr "permiso denegado al lenguaje %s"
 
-#: catalog/aclchk.c:3384
+#: catalog/aclchk.c:3387
 #, c-format
 msgid "permission denied for large object %s"
 msgstr "permiso denegado al objeto grande %s"
 
-#: catalog/aclchk.c:3387
+#: catalog/aclchk.c:3390
 #, c-format
 msgid "permission denied for materialized view %s"
 msgstr "permiso denegado a la vista materializada %s"
 
-#: catalog/aclchk.c:3390
+#: catalog/aclchk.c:3393
 #, c-format
 msgid "permission denied for operator class %s"
 msgstr "permiso denegado a la clase de operadores %s"
 
-#: catalog/aclchk.c:3393
+#: catalog/aclchk.c:3396
 #, c-format
 msgid "permission denied for operator %s"
 msgstr "permiso denegado al operador %s"
 
-#: catalog/aclchk.c:3396
+#: catalog/aclchk.c:3399
 #, c-format
 msgid "permission denied for operator family %s"
 msgstr "permiso denegado a la familia de operadores %s"
 
-#: catalog/aclchk.c:3399
+#: catalog/aclchk.c:3402
 #, c-format
 msgid "permission denied for policy %s"
 msgstr "permiso denegado a la política %s"
 
-#: catalog/aclchk.c:3402
+#: catalog/aclchk.c:3405
 #, c-format
 msgid "permission denied for procedure %s"
 msgstr "permiso denegado al procedimiento %s"
 
-#: catalog/aclchk.c:3405
+#: catalog/aclchk.c:3408
 #, c-format
 msgid "permission denied for publication %s"
 msgstr "permiso denegado a la publicación %s"
 
-#: catalog/aclchk.c:3408
+#: catalog/aclchk.c:3411
 #, c-format
 msgid "permission denied for routine %s"
 msgstr "permiso denegado a la rutina %s"
 
-#: catalog/aclchk.c:3411
+#: catalog/aclchk.c:3414
 #, c-format
 msgid "permission denied for schema %s"
 msgstr "permiso denegado al esquema %s"
 
-#: catalog/aclchk.c:3414 commands/sequence.c:610 commands/sequence.c:844
+#: catalog/aclchk.c:3417 commands/sequence.c:610 commands/sequence.c:844
 #: commands/sequence.c:886 commands/sequence.c:927 commands/sequence.c:1800
 #: commands/sequence.c:1864
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "permiso denegado a la secuencia %s"
 
-#: catalog/aclchk.c:3417
+#: catalog/aclchk.c:3420
 #, c-format
 msgid "permission denied for statistics object %s"
 msgstr "permiso denegado al objeto de estadísticas %s"
 
-#: catalog/aclchk.c:3420
+#: catalog/aclchk.c:3423
 #, c-format
 msgid "permission denied for subscription %s"
 msgstr "permiso denegado a la suscripción %s"
 
-#: catalog/aclchk.c:3423
+#: catalog/aclchk.c:3426
 #, c-format
 msgid "permission denied for table %s"
 msgstr "permiso denegado a la tabla %s"
 
-#: catalog/aclchk.c:3426
+#: catalog/aclchk.c:3429
 #, c-format
 msgid "permission denied for tablespace %s"
 msgstr "permiso denegado al tablespace %s"
 
-#: catalog/aclchk.c:3429
+#: catalog/aclchk.c:3432
 #, 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:3432
+#: catalog/aclchk.c:3435
 #, 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:3435
+#: catalog/aclchk.c:3438
 #, c-format
 msgid "permission denied for type %s"
 msgstr "permiso denegado al tipo %s"
 
-#: catalog/aclchk.c:3438
+#: catalog/aclchk.c:3441
 #, c-format
 msgid "permission denied for view %s"
 msgstr "permiso denegado a la vista %s"
 
-#: catalog/aclchk.c:3473
+#: catalog/aclchk.c:3476
 #, 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:3476
+#: catalog/aclchk.c:3479
 #, c-format
 msgid "must be owner of collation %s"
 msgstr "debe ser dueño del ordenamiento (collation) %s"
 
-#: catalog/aclchk.c:3479
+#: catalog/aclchk.c:3482
 #, c-format
 msgid "must be owner of conversion %s"
 msgstr "debe ser dueño de la conversión %s"
 
-#: catalog/aclchk.c:3482
+#: catalog/aclchk.c:3485
 #, c-format
 msgid "must be owner of database %s"
 msgstr "debe ser dueño de la base de datos %s"
 
-#: catalog/aclchk.c:3485
+#: catalog/aclchk.c:3488
 #, c-format
 msgid "must be owner of domain %s"
 msgstr "debe ser dueño del dominio %s"
 
-#: catalog/aclchk.c:3488
+#: catalog/aclchk.c:3491
 #, c-format
 msgid "must be owner of event trigger %s"
 msgstr "debe ser dueño del disparador por eventos %s"
 
-#: catalog/aclchk.c:3491
+#: catalog/aclchk.c:3494
 #, c-format
 msgid "must be owner of extension %s"
 msgstr "debe ser dueño de la extensión %s"
 
-#: catalog/aclchk.c:3494
+#: catalog/aclchk.c:3497
 #, 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:3497
+#: catalog/aclchk.c:3500
 #, c-format
 msgid "must be owner of foreign server %s"
 msgstr "debe ser dueño del servidor foráneo %s"
 
-#: catalog/aclchk.c:3500
+#: catalog/aclchk.c:3503
 #, c-format
 msgid "must be owner of foreign table %s"
 msgstr "debe ser dueño de la tabla foránea %s"
 
-#: catalog/aclchk.c:3503
+#: catalog/aclchk.c:3506
 #, c-format
 msgid "must be owner of function %s"
 msgstr "debe ser dueño de la función %s"
 
-#: catalog/aclchk.c:3506
+#: catalog/aclchk.c:3509
 #, c-format
 msgid "must be owner of index %s"
 msgstr "debe ser dueño del índice %s"
 
-#: catalog/aclchk.c:3509
+#: catalog/aclchk.c:3512
 #, c-format
 msgid "must be owner of language %s"
 msgstr "debe ser dueño del lenguaje %s"
 
-#: catalog/aclchk.c:3512
+#: catalog/aclchk.c:3515
 #, c-format
 msgid "must be owner of large object %s"
 msgstr "debe ser dueño del objeto grande %s"
 
-#: catalog/aclchk.c:3515
+#: catalog/aclchk.c:3518
 #, c-format
 msgid "must be owner of materialized view %s"
 msgstr "debe ser dueño de la vista materializada %s"
 
-#: catalog/aclchk.c:3518
+#: catalog/aclchk.c:3521
 #, c-format
 msgid "must be owner of operator class %s"
 msgstr "debe ser dueño de la clase de operadores %s"
 
-#: catalog/aclchk.c:3521
+#: catalog/aclchk.c:3524
 #, c-format
 msgid "must be owner of operator %s"
 msgstr "debe ser dueño del operador %s"
 
-#: catalog/aclchk.c:3524
+#: catalog/aclchk.c:3527
 #, c-format
 msgid "must be owner of operator family %s"
 msgstr "debe ser dueño de la familia de operadores %s"
 
-#: catalog/aclchk.c:3527
+#: catalog/aclchk.c:3530
 #, c-format
 msgid "must be owner of procedure %s"
 msgstr "debe ser dueño del procedimiento %s"
 
-#: catalog/aclchk.c:3530
+#: catalog/aclchk.c:3533
 #, c-format
 msgid "must be owner of publication %s"
 msgstr "debe ser dueño de la publicación %s"
 
-#: catalog/aclchk.c:3533
+#: catalog/aclchk.c:3536
 #, c-format
 msgid "must be owner of routine %s"
 msgstr "debe ser dueño de la rutina %s"
 
-#: catalog/aclchk.c:3536
+#: catalog/aclchk.c:3539
 #, c-format
 msgid "must be owner of sequence %s"
 msgstr "debe ser dueño de la secuencia %s"
 
-#: catalog/aclchk.c:3539
+#: catalog/aclchk.c:3542
 #, c-format
 msgid "must be owner of subscription %s"
 msgstr "debe ser dueño de la suscripción %s"
 
-#: catalog/aclchk.c:3542
+#: catalog/aclchk.c:3545
 #, c-format
 msgid "must be owner of table %s"
 msgstr "debe ser dueño de la tabla %s"
 
-#: catalog/aclchk.c:3545
+#: catalog/aclchk.c:3548
 #, c-format
 msgid "must be owner of type %s"
 msgstr "debe ser dueño del tipo %s"
 
-#: catalog/aclchk.c:3548
+#: catalog/aclchk.c:3551
 #, c-format
 msgid "must be owner of view %s"
 msgstr "debe ser dueño de la vista %s"
 
-#: catalog/aclchk.c:3551
+#: catalog/aclchk.c:3554
 #, c-format
 msgid "must be owner of schema %s"
 msgstr "debe ser dueño del esquema %s"
 
-#: catalog/aclchk.c:3554
+#: catalog/aclchk.c:3557
 #, c-format
 msgid "must be owner of statistics object %s"
 msgstr "debe ser dueño del objeto de estadísticas %s"
 
-#: catalog/aclchk.c:3557
+#: catalog/aclchk.c:3560
 #, c-format
 msgid "must be owner of tablespace %s"
 msgstr "debe ser dueño del tablespace %s"
 
-#: catalog/aclchk.c:3560
+#: catalog/aclchk.c:3563
 #, 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:3563
+#: catalog/aclchk.c:3566
 #, 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:3577
+#: catalog/aclchk.c:3580
 #, c-format
 msgid "must be owner of relation %s"
 msgstr "debe ser dueño de la relación %s"
 
-#: catalog/aclchk.c:3621
+#: catalog/aclchk.c:3624
 #, 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:3742 catalog/aclchk.c:3750
+#: catalog/aclchk.c:3745 catalog/aclchk.c:3753
 #, 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:3823 catalog/aclchk.c:4733
+#: catalog/aclchk.c:3826 catalog/aclchk.c:4736
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "no existe la relación con OID %u"
 
-#: catalog/aclchk.c:3913 catalog/aclchk.c:5151
+#: catalog/aclchk.c:3916 catalog/aclchk.c:5154
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "no existe la base de datos con OID %u"
 
-#: catalog/aclchk.c:3967 catalog/aclchk.c:4811 tcop/fastpath.c:221
+#: catalog/aclchk.c:3970 catalog/aclchk.c:4814 tcop/fastpath.c:218
 #: utils/fmgr/fmgr.c:2055
 #, c-format
 msgid "function with OID %u does not exist"
 msgstr "no existe la función con OID %u"
 
-#: catalog/aclchk.c:4021 catalog/aclchk.c:4837
+#: catalog/aclchk.c:4024 catalog/aclchk.c:4840
 #, c-format
 msgid "language with OID %u does not exist"
 msgstr "no existe el lenguaje con OID %u"
 
-#: catalog/aclchk.c:4185 catalog/aclchk.c:4909
+#: catalog/aclchk.c:4188 catalog/aclchk.c:4912 commands/collationcmds.c:533
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "no existe el esquema con OID %u"
 
-#: catalog/aclchk.c:4239 catalog/aclchk.c:4936 utils/adt/genfile.c:686
+#: catalog/aclchk.c:4242 catalog/aclchk.c:4939 utils/adt/genfile.c:686
 #, c-format
 msgid "tablespace with OID %u does not exist"
 msgstr "no existe el tablespace con OID %u"
 
-#: catalog/aclchk.c:4298 catalog/aclchk.c:5070 commands/foreigncmds.c:325
+#: catalog/aclchk.c:4301 catalog/aclchk.c:5073 commands/foreigncmds.c:325
 #, c-format
 msgid "foreign-data wrapper with OID %u does not exist"
 msgstr "no existe el conector de datos externos con OID %u"
 
-#: catalog/aclchk.c:4360 catalog/aclchk.c:5097 commands/foreigncmds.c:462
+#: catalog/aclchk.c:4363 catalog/aclchk.c:5100 commands/foreigncmds.c:462
 #, c-format
 msgid "foreign server with OID %u does not exist"
 msgstr "no existe el servidor foráneo con OID %u"
 
-#: catalog/aclchk.c:4420 catalog/aclchk.c:4759 utils/cache/typcache.c:378
+#: catalog/aclchk.c:4423 catalog/aclchk.c:4762 utils/cache/typcache.c:378
 #: utils/cache/typcache.c:432
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "no existe el tipo con OID %u"
 
-#: catalog/aclchk.c:4785
+#: catalog/aclchk.c:4788
 #, c-format
 msgid "operator with OID %u does not exist"
 msgstr "no existe el operador con OID %u"
 
-#: catalog/aclchk.c:4962
+#: catalog/aclchk.c:4965
 #, c-format
 msgid "operator class with OID %u does not exist"
 msgstr "no existe la clase de operadores con OID %u"
 
-#: catalog/aclchk.c:4989
+#: catalog/aclchk.c:4992
 #, c-format
 msgid "operator family with OID %u does not exist"
 msgstr "no existe la familia de operadores con OID %u"
 
-#: catalog/aclchk.c:5016
+#: catalog/aclchk.c:5019
 #, c-format
 msgid "text search dictionary with OID %u does not exist"
 msgstr "no existe el diccionario de búsqueda en texto con OID %u"
 
-#: catalog/aclchk.c:5043
+#: catalog/aclchk.c:5046
 #, c-format
 msgid "text search configuration with OID %u does not exist"
 msgstr "no existe la configuración de búsqueda en texto con OID %u"
 
-#: catalog/aclchk.c:5124 commands/event_trigger.c:475
+#: catalog/aclchk.c:5127 commands/event_trigger.c:475
 #, c-format
 msgid "event trigger with OID %u does not exist"
 msgstr "no existe el disparador por eventos con OID %u"
 
-#: catalog/aclchk.c:5177 commands/collationcmds.c:367
+#: catalog/aclchk.c:5180 commands/collationcmds.c:367
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "no existe el ordenamiento (collation) con OID %u"
 
-#: catalog/aclchk.c:5203
+#: catalog/aclchk.c:5206
 #, c-format
 msgid "conversion with OID %u does not exist"
 msgstr "no existe la conversión con OID %u"
 
-#: catalog/aclchk.c:5244
+#: catalog/aclchk.c:5247
 #, c-format
 msgid "extension with OID %u does not exist"
 msgstr "no existe la extensión con OID %u"
 
-#: catalog/aclchk.c:5271 commands/publicationcmds.c:794
+#: catalog/aclchk.c:5274 commands/publicationcmds.c:794
 #, c-format
 msgid "publication with OID %u does not exist"
 msgstr "no existe la publicación con OID %u"
 
-#: catalog/aclchk.c:5297 commands/subscriptioncmds.c:1112
+#: catalog/aclchk.c:5300 commands/subscriptioncmds.c:1113
 #, c-format
 msgid "subscription with OID %u does not exist"
 msgstr "no existe la suscripción con OID %u"
 
-#: catalog/aclchk.c:5323
+#: catalog/aclchk.c:5326
 #, c-format
 msgid "statistics object with OID %u does not exist"
 msgstr "no existe el objeto de estadísticas con OID %u"
@@ -4010,7 +3991,7 @@ msgstr "debe ser superusuario para invocar pg_nextoid()"
 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:498 parser/parse_utilcmd.c:2191
+#: catalog/catalog.c:498 parser/parse_utilcmd.c:2225
 #, c-format
 msgid "index \"%s\" does not belong to table \"%s\""
 msgstr "el índice «%s» no pertenece a la tabla «%s»"
@@ -4035,7 +4016,7 @@ msgstr "no se puede eliminar %s porque %s lo requiere"
 msgid "You can drop %s instead."
 msgstr "Puede eliminar %s en su lugar."
 
-#: catalog/dependency.c:933 catalog/pg_shdepend.c:640
+#: catalog/dependency.c:933 catalog/pg_shdepend.c:696
 #, 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"
@@ -4055,7 +4036,7 @@ msgstr "%s depende de %s"
 msgid "drop cascades to %s"
 msgstr "eliminando además %s"
 
-#: catalog/dependency.c:1179 catalog/pg_shdepend.c:769
+#: catalog/dependency.c:1179 catalog/pg_shdepend.c:825
 #, c-format
 msgid ""
 "\n"
@@ -4078,13 +4059,13 @@ msgstr "no se puede eliminar %s porque otros objetos dependen de él"
 #: catalog/dependency.c:1193 catalog/dependency.c:1194
 #: catalog/dependency.c:1200 catalog/dependency.c:1201
 #: catalog/dependency.c:1212 catalog/dependency.c:1213
-#: commands/tablecmds.c:1249 commands/tablecmds.c:12985 commands/user.c:1093
-#: commands/view.c:495 libpq/auth.c:334 replication/syncrep.c:1032
-#: storage/lmgr/deadlock.c:1154 storage/lmgr/proc.c:1350 utils/adt/acl.c:5329
-#: utils/adt/jsonfuncs.c:614 utils/adt/jsonfuncs.c:620 utils/misc/guc.c:6771
-#: utils/misc/guc.c:6807 utils/misc/guc.c:6877 utils/misc/guc.c:10947
-#: utils/misc/guc.c:10981 utils/misc/guc.c:11015 utils/misc/guc.c:11049
-#: utils/misc/guc.c:11084
+#: commands/tablecmds.c:1252 commands/tablecmds.c:13154
+#: commands/tablespace.c:481 commands/user.c:1095 commands/view.c:495
+#: libpq/auth.c:334 replication/syncrep.c:1032 storage/lmgr/deadlock.c:1154
+#: storage/lmgr/proc.c:1350 utils/adt/acl.c:5332 utils/adt/jsonfuncs.c:614
+#: utils/adt/jsonfuncs.c:620 utils/misc/guc.c:6771 utils/misc/guc.c:6807
+#: utils/misc/guc.c:6877 utils/misc/guc.c:10982 utils/misc/guc.c:11016
+#: utils/misc/guc.c:11050 utils/misc/guc.c:11093 utils/misc/guc.c:11135
 #, c-format
 msgid "%s"
 msgstr "%s"
@@ -4122,165 +4103,165 @@ msgstr "se ha denegado el permiso para crear «%s.%s»"
 msgid "System catalog modifications are currently disallowed."
 msgstr "Las modificaciones al catálogo del sistema están actualmente deshabilitadas."
 
-#: catalog/heap.c:500 commands/tablecmds.c:2145 commands/tablecmds.c:2745
-#: commands/tablecmds.c:6179
+#: catalog/heap.c:509 commands/tablecmds.c:2148 commands/tablecmds.c:2748
+#: commands/tablecmds.c:6181
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "las tablas pueden tener a lo más %d columnas"
 
-#: catalog/heap.c:518 commands/tablecmds.c:6472
+#: catalog/heap.c:527 commands/tablecmds.c:6474
 #, 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:534
+#: catalog/heap.c:543
 #, 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:609
+#: catalog/heap.c:618
 #, 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:614
+#: catalog/heap.c:623
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "la columna «%s» tiene pseudotipo %s"
 
-#: catalog/heap.c:645
+#: catalog/heap.c:654
 #, 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:700
+#: catalog/heap.c:709
 #, 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:706 commands/createas.c:203 commands/createas.c:486
+#: catalog/heap.c:715 commands/createas.c:203 commands/createas.c:486
 #, 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:1155 catalog/index.c:865 commands/tablecmds.c:3520
+#: catalog/heap.c:1164 catalog/index.c:865 commands/tablecmds.c:3523
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "la relación «%s» ya existe"
 
-#: catalog/heap.c:1171 catalog/pg_type.c:428 catalog/pg_type.c:775
+#: catalog/heap.c:1180 catalog/pg_type.c:428 catalog/pg_type.c:775
 #: commands/typecmds.c:238 commands/typecmds.c:250 commands/typecmds.c:719
 #: commands/typecmds.c:1125 commands/typecmds.c:1337 commands/typecmds.c:2124
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "ya existe un tipo «%s»"
 
-#: catalog/heap.c:1172
+#: catalog/heap.c:1181
 #, 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:1201
+#: catalog/heap.c:1210
 #, 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:2400
+#: catalog/heap.c:2409
 #, 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:2670
+#: catalog/heap.c:2679
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "la restricción «check» «%s» ya existe"
 
-#: catalog/heap.c:2840 catalog/index.c:879 catalog/pg_constraint.c:668
-#: commands/tablecmds.c:8086
+#: catalog/heap.c:2849 catalog/index.c:879 catalog/pg_constraint.c:668
+#: commands/tablecmds.c:8139
 #, 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:2847
+#: catalog/heap.c:2856
 #, 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:2858
+#: catalog/heap.c:2867
 #, 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:2868
+#: catalog/heap.c:2877
 #, 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:2873
+#: catalog/heap.c:2882
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "mezclando la restricción «%s» con la definición heredada"
 
-#: catalog/heap.c:2975
+#: catalog/heap.c:2984
 #, 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:2977
+#: catalog/heap.c:2986
 #, 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:3029
+#: catalog/heap.c:3038
 #, c-format
 msgid "generation expression is not immutable"
 msgstr "la expresión de generación no es inmutable"
 
-#: catalog/heap.c:3057 rewrite/rewriteHandler.c:1192
+#: catalog/heap.c:3066 rewrite/rewriteHandler.c:1193
 #, 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:3062 commands/prepare.c:367 parser/parse_node.c:412
+#: catalog/heap.c:3071 commands/prepare.c:367 parser/parse_node.c:412
 #: parser/parse_target.c:589 parser/parse_target.c:869
-#: parser/parse_target.c:879 rewrite/rewriteHandler.c:1197
+#: parser/parse_target.c:879 rewrite/rewriteHandler.c:1198
 #, 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:3109
+#: catalog/heap.c:3118
 #, 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:3366
+#: catalog/heap.c:3416
 #, 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:3367
+#: catalog/heap.c:3417
 #, 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:3372
+#: catalog/heap.c:3422
 #, 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:3373
+#: catalog/heap.c:3423
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "La tabla «%s» hace referencia a «%s»."
 
-#: catalog/heap.c:3375
+#: catalog/heap.c:3425
 #, 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:219 parser/parse_utilcmd.c:2097
+#: catalog/index.c:219 parser/parse_utilcmd.c:2131
 #, c-format
 msgid "multiple primary keys for table \"%s\" are not allowed"
 msgstr "no se permiten múltiples llaves primarias para la tabla «%s»"
@@ -4295,7 +4276,7 @@ msgstr "las llaves primarias no pueden ser expresiones"
 msgid "primary key column \"%s\" is not marked NOT NULL"
 msgstr "columna de llave primaria «%s» no está marcada NOT NULL"
 
-#: catalog/index.c:764 catalog/index.c:1843
+#: catalog/index.c:764 catalog/index.c:1902
 #, c-format
 msgid "user-defined indexes on system catalog tables are not supported"
 msgstr "los usuarios no pueden crear índices en tablas del sistema"
@@ -4321,7 +4302,7 @@ msgid "shared indexes cannot be created after initdb"
 msgstr "no se pueden crear índices compartidos después de initdb"
 
 #: catalog/index.c:857 commands/createas.c:252 commands/sequence.c:154
-#: parser/parse_utilcmd.c:210
+#: parser/parse_utilcmd.c:211
 #, c-format
 msgid "relation \"%s\" already exists, skipping"
 msgstr "la relación «%s» ya existe, omitiendo"
@@ -4331,50 +4312,50 @@ msgstr "la relación «%s» ya existe, omitiendo"
 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:2128
+#: catalog/index.c:2187
 #, 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:2859
+#: catalog/index.c:2918
 #, c-format
 msgid "building index \"%s\" on table \"%s\" serially"
 msgstr "construyendo índice «%s» en la tabla «%s» en forma serial"
 
-#: catalog/index.c:2864
+#: catalog/index.c:2923
 #, c-format
 msgid "building index \"%s\" on table \"%s\" with request for %d parallel worker"
 msgid_plural "building index \"%s\" on table \"%s\" with request for %d parallel workers"
 msgstr[0] "construyendo índice «%s» en la tabla «%s» solicitando %d ayudante paralelo"
 msgstr[1] "construyendo índice «%s» en la tabla «%s» solicitando %d ayudantes paralelos"
 
-#: catalog/index.c:3492
+#: catalog/index.c:3551
 #, 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:3503
+#: catalog/index.c:3562 commands/indexcmds.c:3005
 #, 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:3625
+#: catalog/index.c:3684
 #, c-format
 msgid "index \"%s\" was reindexed"
 msgstr "el índice «%s» fue reindexado"
 
-#: catalog/index.c:3701 commands/indexcmds.c:3017
+#: catalog/index.c:3760 commands/indexcmds.c:3026
 #, c-format
 msgid "REINDEX of partitioned tables is not yet implemented, skipping \"%s\""
 msgstr "REINDEX de tablas particionadas no está implementado aún, omitiendo «%s»"
 
-#: catalog/index.c:3756
+#: catalog/index.c:3815
 #, 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:257 catalog/namespace.c:461 catalog/namespace.c:553
-#: commands/trigger.c:5043
+#: commands/trigger.c:5052
 #, 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»"
@@ -4389,18 +4370,18 @@ msgstr "las tablas temporales no pueden especificar un nombre de esquema"
 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:400 commands/lockcmds.c:142 commands/lockcmds.c:227
+#: catalog/namespace.c:400 commands/lockcmds.c:143 commands/lockcmds.c:228
 #, 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:428 parser/parse_relation.c:1357
+#: catalog/namespace.c:428 parser/parse_relation.c:1354
 #, c-format
 msgid "relation \"%s.%s\" does not exist"
 msgstr "no existe la relación «%s.%s»"
 
-#: catalog/namespace.c:433 parser/parse_relation.c:1370
-#: parser/parse_relation.c:1378
+#: catalog/namespace.c:433 parser/parse_relation.c:1367
+#: parser/parse_relation.c:1375
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "no existe la relación «%s»"
@@ -4457,8 +4438,8 @@ msgstr "no existe la configuración de búsqueda en texto «%s»"
 msgid "cross-database references are not implemented: %s"
 msgstr "no están implementadas las referencias entre bases de datos: %s"
 
-#: catalog/namespace.c:2843 parser/parse_expr.c:879 parser/parse_target.c:1235
-#: gram.y:14981 gram.y:16435
+#: catalog/namespace.c:2843 gram.y:14982 gram.y:16436 parser/parse_expr.c:879
+#: parser/parse_target.c:1235
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "el nombre no es válido (demasiados puntos): %s"
@@ -4474,7 +4455,7 @@ 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:3052 commands/schemacmds.c:256 commands/schemacmds.c:336
-#: commands/tablecmds.c:1194
+#: commands/tablecmds.c:1197
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "no existe el esquema «%s»"
@@ -4509,34 +4490,34 @@ msgstr "no se pueden crear tablas temporales durante la recuperación"
 msgid "cannot create temporary tables during a parallel operation"
 msgstr "no se pueden crear tablas temporales durante una operación paralela"
 
-#: catalog/namespace.c:4286 commands/tablespace.c:1205 commands/variable.c:64
-#: utils/misc/guc.c:11116 utils/misc/guc.c:11194
+#: catalog/namespace.c:4286 commands/tablespace.c:1217 commands/variable.c:64
+#: utils/misc/guc.c:11167 utils/misc/guc.c:11245
 #, c-format
 msgid "List syntax is invalid."
 msgstr "La sintaxis de lista no es válida."
 
 #: catalog/objectaddress.c:1275 catalog/pg_publication.c:57
-#: commands/policy.c:95 commands/policy.c:395 commands/policy.c:485
-#: commands/tablecmds.c:230 commands/tablecmds.c:272 commands/tablecmds.c:1989
-#: commands/tablecmds.c:5626 commands/tablecmds.c:11058
+#: commands/policy.c:95 commands/policy.c:375 commands/policy.c:465
+#: commands/tablecmds.c:230 commands/tablecmds.c:272 commands/tablecmds.c:1992
+#: commands/tablecmds.c:5632 commands/tablecmds.c:11227
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "«%s» no es una tabla"
 
 #: catalog/objectaddress.c:1282 commands/tablecmds.c:242
-#: commands/tablecmds.c:5656 commands/tablecmds.c:15680 commands/view.c:119
+#: commands/tablecmds.c:5662 commands/tablecmds.c:15913 commands/view.c:119
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "«%s» no es una vista"
 
 #: catalog/objectaddress.c:1289 commands/matview.c:175 commands/tablecmds.c:248
-#: commands/tablecmds.c:15685
+#: commands/tablecmds.c:15918
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "«%s» no es una vista materializada"
 
 #: catalog/objectaddress.c:1296 commands/tablecmds.c:266
-#: commands/tablecmds.c:5659 commands/tablecmds.c:15690
+#: commands/tablecmds.c:5665 commands/tablecmds.c:15923
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "«%s» no es una tabla foránea"
@@ -4559,7 +4540,7 @@ msgstr "no existe el valor por omisión para la columna «%s» de la relación 
 #: catalog/objectaddress.c:1550 commands/functioncmds.c:133
 #: commands/tablecmds.c:258 commands/typecmds.c:263 commands/typecmds.c:3275
 #: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:845
-#: utils/adt/acl.c:4436
+#: utils/adt/acl.c:4435
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "no existe el tipo «%s»"
@@ -5026,7 +5007,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:438 executor/nodeAgg.c:4173
+#: catalog/pg_aggregate.c:438 executor/nodeAgg.c:4197
 #, 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"
@@ -5359,7 +5340,7 @@ msgstr "las funciones SQL no pueden retornar el tipo %s"
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "las funciones SQL no pueden tener argumentos de tipo %s"
 
-#: catalog/pg_proc.c:954 executor/functions.c:1446
+#: catalog/pg_proc.c:954 executor/functions.c:1440
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "función SQL «%s»"
@@ -5400,7 +5381,7 @@ msgstr "la relación «%s» ya es un miembro de la publicación «%s»"
 msgid "publication \"%s\" does not exist"
 msgstr "no existe la publicación «%s»"
 
-#: catalog/pg_shdepend.c:776
+#: catalog/pg_shdepend.c:832
 #, c-format
 msgid ""
 "\n"
@@ -5415,56 +5396,62 @@ msgstr[1] ""
 "\n"
 "y objetos en otras %d bases de datos (vea el registro del servidor para obtener la lista)"
 
-#: catalog/pg_shdepend.c:1082
+#: catalog/pg_shdepend.c:1138
 #, c-format
 msgid "role %u was concurrently dropped"
 msgstr "el rol %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1101
+#: catalog/pg_shdepend.c:1150
 #, c-format
 msgid "tablespace %u was concurrently dropped"
 msgstr "el tablespace %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1116
+#: catalog/pg_shdepend.c:1164
 #, 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:1161
+#: catalog/pg_shdepend.c:1209
 #, c-format
 msgid "owner of %s"
 msgstr "dueño de %s"
 
-#: catalog/pg_shdepend.c:1163
+#: catalog/pg_shdepend.c:1211
 #, c-format
 msgid "privileges for %s"
 msgstr "privilegios para %s"
 
-#: catalog/pg_shdepend.c:1165
+#: catalog/pg_shdepend.c:1213
 #, c-format
 msgid "target of %s"
 msgstr "destino de %s"
 
+#: catalog/pg_shdepend.c:1215
+#, fuzzy, c-format
+#| msgid "tablespace %s"
+msgid "tablespace for %s"
+msgstr "tablespace %s"
+
 #. translator: %s will always be "database %s"
-#: catalog/pg_shdepend.c:1173
+#: catalog/pg_shdepend.c:1223
 #, 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:1284
+#: catalog/pg_shdepend.c:1334
 #, 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:1431
+#: catalog/pg_shdepend.c:1481
 #, 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:171 commands/subscriptioncmds.c:644
-#: commands/subscriptioncmds.c:858 commands/subscriptioncmds.c:1080
+#: catalog/pg_subscription.c:171 commands/subscriptioncmds.c:645
+#: commands/subscriptioncmds.c:859 commands/subscriptioncmds.c:1081
 #, c-format
 msgid "subscription \"%s\" does not exist"
 msgstr "no existe la suscripción «%s»"
@@ -5505,13 +5492,13 @@ msgstr "los tipos de tamaño fijo deben tener almacenamiento PLAIN"
 msgid "could not form array type name for type \"%s\""
 msgstr "no se pudo formar un nombre de tipo de array para el tipo «%s»"
 
-#: catalog/storage.c:449 storage/buffer/bufmgr.c:933
+#: catalog/storage.c:450 storage/buffer/bufmgr.c:935
 #, 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"
 
-#: catalog/toasting.c:106 commands/indexcmds.c:639 commands/tablecmds.c:5638
-#: commands/tablecmds.c:15545
+#: catalog/toasting.c:106 commands/indexcmds.c:639 commands/tablecmds.c:5644
+#: commands/tablecmds.c:15778
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "«%s» no es una tabla o vista materializada"
@@ -5708,7 +5695,7 @@ msgid "handler function is not specified"
 msgstr "no se ha especificado una función manejadora"
 
 #: commands/amcmds.c:291 commands/event_trigger.c:183
-#: commands/foreigncmds.c:489 commands/proclang.c:79 commands/trigger.c:687
+#: commands/foreigncmds.c:489 commands/proclang.c:79 commands/trigger.c:677
 #: parser/parse_clause.c:941
 #, c-format
 msgid "function %s must return type %s"
@@ -5739,62 +5726,62 @@ msgstr "analizando «%s.%s»"
 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:700
+#: commands/analyze.c:710
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s"
 msgstr "analyze automático de la tabla «%s.%s.%s»: uso del sistema: %s"
 
-#: commands/analyze.c:1169
+#: commands/analyze.c:1179
 #, 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:1249
+#: commands/analyze.c:1259
 #, 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:1347
+#: commands/analyze.c:1357
 #, 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:634
+#: commands/async.c:643
 #, c-format
 msgid "channel name cannot be empty"
 msgstr "el nombre de canal no puede ser vacío"
 
-#: commands/async.c:640
+#: commands/async.c:649
 #, c-format
 msgid "channel name too long"
 msgstr "el nombre de canal es demasiado largo"
 
-#: commands/async.c:645
+#: commands/async.c:654
 #, c-format
 msgid "payload string too long"
 msgstr "la cadena de carga es demasiado larga"
 
-#: commands/async.c:864
+#: commands/async.c:873
 #, 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:970
+#: commands/async.c:979
 #, c-format
 msgid "too many notifications in the NOTIFY queue"
 msgstr "demasiadas notificaciones en la cola NOTIFY"
 
-#: commands/async.c:1636
+#: commands/async.c:1650
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "la cola NOTIFY está %.0f%% llena"
 
-#: commands/async.c:1638
+#: commands/async.c:1652
 #, 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:1641
+#: commands/async.c:1655
 #, 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."
@@ -5814,7 +5801,7 @@ msgstr "no se puede hacer «cluster» a una tabla particionada"
 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:165 commands/tablecmds.c:12822 commands/tablecmds.c:14628
+#: commands/cluster.c:165 commands/tablecmds.c:12991 commands/tablecmds.c:14861
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "no existe el índice «%s» en la tabla «%s»"
@@ -5829,7 +5816,7 @@ msgstr "no se puede reordenar un catálogo compartido"
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "no se puede hacer vacuum a tablas temporales de otras sesiones"
 
-#: commands/cluster.c:432 commands/tablecmds.c:14638
+#: commands/cluster.c:432 commands/tablecmds.c:14871
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "«%s» no es un índice de la tabla «%s»"
@@ -5933,18 +5920,18 @@ msgstr "la versión no ha cambiado"
 msgid "could not convert locale name \"%s\" to language tag: %s"
 msgstr "no se pudo convertir el nombre de configuración regional «%s» a etiqueta de lenguaje: %s"
 
-#: commands/collationcmds.c:531
+#: commands/collationcmds.c:528
 #, c-format
 msgid "must be superuser to import system collations"
 msgstr "debe ser superusuario para importar ordenamientos del sistema"
 
-#: commands/collationcmds.c:554 commands/copy.c:1894 commands/copy.c:3480
+#: commands/collationcmds.c:556 commands/copy.c:1894 commands/copy.c:3481
 #: libpq/be-secure-common.c:81
 #, c-format
 msgid "could not execute command \"%s\": %m"
 msgstr "no se pudo ejecutar la orden «%s»: %m"
 
-#: commands/collationcmds.c:685
+#: commands/collationcmds.c:687
 #, c-format
 msgid "no usable system locales were found"
 msgstr "no se encontraron locales de sistema utilizables"
@@ -5952,13 +5939,13 @@ msgstr "no se encontraron locales de sistema utilizables"
 #: commands/comment.c:61 commands/dbcommands.c:841 commands/dbcommands.c:1037
 #: commands/dbcommands.c:1150 commands/dbcommands.c:1340
 #: commands/dbcommands.c:1588 commands/dbcommands.c:1702
-#: commands/dbcommands.c:2142 utils/init/postinit.c:888
-#: utils/init/postinit.c:993 utils/init/postinit.c:1010
+#: commands/dbcommands.c:2142 utils/init/postinit.c:877
+#: utils/init/postinit.c:982 utils/init/postinit.c:999
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "no existe la base de datos «%s»"
 
-#: commands/comment.c:101 commands/seclabel.c:117 parser/parse_utilcmd.c:957
+#: commands/comment.c:101 commands/seclabel.c:117 parser/parse_utilcmd.c:983
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, composite type, or foreign table"
 msgstr "«%s» no es una tabla, vista, vista materializada, tipo compuesto, o tabla foránea"
@@ -6301,7 +6288,7 @@ msgstr "no se pudo abrir el archivo «%s» para escritura: %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 "COPY TO indica al proceso servidor PostgreSQL escribir a un archivo. Puede desear usar facilidades del lado del cliente, como \\copy de psql."
 
-#: commands/copy.c:1944 commands/copy.c:3511
+#: commands/copy.c:1944 commands/copy.c:3512
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "«%s» es un directorio"
@@ -6371,42 +6358,42 @@ 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/copy.c:3498
+#: commands/copy.c:3499
 #, 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/copy.c:3526
+#: commands/copy.c:3527
 #, c-format
 msgid "COPY file signature not recognized"
 msgstr "la signatura del archivo COPY no es reconocido"
 
-#: commands/copy.c:3531
+#: commands/copy.c:3532
 #, c-format
 msgid "invalid COPY file header (missing flags)"
 msgstr "el encabezado del archivo COPY no es válido (faltan campos)"
 
-#: commands/copy.c:3535
+#: commands/copy.c:3536
 #, c-format
 msgid "invalid COPY file header (WITH OIDS)"
 msgstr "encabezado de archivo COPY no válido (WITH OIDS)"
 
-#: commands/copy.c:3540
+#: commands/copy.c:3541
 #, c-format
 msgid "unrecognized critical flags in COPY file header"
 msgstr "valores requeridos no reconocidos en encabezado de COPY"
 
-#: commands/copy.c:3546
+#: commands/copy.c:3547
 #, c-format
 msgid "invalid COPY file header (missing length)"
 msgstr "el encabezado del archivo COPY no es válido (falta el largo)"
 
-#: commands/copy.c:3553
+#: commands/copy.c:3554
 #, c-format
 msgid "invalid COPY file header (wrong length)"
 msgstr "el encabezado del archivo COPY no es válido (largo incorrecto)"
 
-#: commands/copy.c:3672 commands/copy.c:4337 commands/copy.c:4567
+#: commands/copy.c:3672 commands/copy.c:4345 commands/copy.c:4575
 #, c-format
 msgid "extra data after last expected column"
 msgstr "datos extra después de la última columna esperada"
@@ -6476,45 +6463,45 @@ msgstr "el marcador fin-de-copy no coincide con el estilo previo de salto de lí
 msgid "end-of-copy marker corrupt"
 msgstr "marcador fin-de-copy corrupto"
 
-#: commands/copy.c:4651
+#: commands/copy.c:4659
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "un valor entre comillas está inconcluso"
 
-#: commands/copy.c:4728 commands/copy.c:4747
+#: commands/copy.c:4736 commands/copy.c:4755
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "EOF inesperado en datos de COPY"
 
-#: commands/copy.c:4737
+#: commands/copy.c:4745
 #, c-format
 msgid "invalid field size"
 msgstr "el tamaño de campo no es válido"
 
-#: commands/copy.c:4760
+#: commands/copy.c:4768
 #, c-format
 msgid "incorrect binary data format"
 msgstr "el formato de datos binarios es incorrecto"
 
-#: commands/copy.c:5068
+#: commands/copy.c:5076
 #, c-format
 msgid "column \"%s\" is a generated column"
 msgstr "la columna «%s» es una columna generada"
 
-#: commands/copy.c:5070
+#: commands/copy.c:5078
 #, c-format
 msgid "Generated columns cannot be used in COPY."
 msgstr "Las columnas generadas no pueden usarse en COPY."
 
-#: commands/copy.c:5085 commands/indexcmds.c:1700 commands/statscmds.c:217
-#: commands/tablecmds.c:2176 commands/tablecmds.c:2795
-#: commands/tablecmds.c:3182 parser/parse_relation.c:3507
-#: parser/parse_relation.c:3527 utils/adt/tsvector_op.c:2668
+#: commands/copy.c:5093 commands/indexcmds.c:1701 commands/statscmds.c:224
+#: commands/tablecmds.c:2179 commands/tablecmds.c:2798
+#: commands/tablecmds.c:3185 parser/parse_relation.c:3508
+#: parser/parse_relation.c:3528 utils/adt/tsvector_op.c:2680
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "no existe la columna «%s»"
 
-#: commands/copy.c:5092 commands/tablecmds.c:2202 commands/trigger.c:885
+#: commands/copy.c:5100 commands/tablecmds.c:2205 commands/trigger.c:875
 #: parser/parse_target.c:1052 parser/parse_target.c:1063
 #, c-format
 msgid "column \"%s\" specified more than once"
@@ -6728,7 +6715,7 @@ msgstr "Debe moverlas de vuelta al tablespace por omisión de la base de datos a
 
 #: commands/dbcommands.c:1404 commands/dbcommands.c:1980
 #: commands/dbcommands.c:2203 commands/dbcommands.c:2261
-#: commands/tablespace.c:619
+#: commands/tablespace.c:631
 #, 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\""
@@ -6765,7 +6752,7 @@ 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:2094 storage/ipc/procarray.c:3016
+#: commands/dbcommands.c:2094 storage/ipc/procarray.c:3023
 #, c-format
 msgid "There is %d prepared transaction using the database."
 msgid_plural "There are %d prepared transactions using the database."
@@ -6820,14 +6807,14 @@ msgstr "«%s» es una función de agregación"
 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:447 commands/tablecmds.c:3266
-#: commands/tablecmds.c:3424 commands/tablecmds.c:3469
-#: commands/tablecmds.c:15007 tcop/utility.c:1298
+#: commands/dropcmds.c:158 commands/sequence.c:447 commands/tablecmds.c:3269
+#: commands/tablecmds.c:3427 commands/tablecmds.c:3472
+#: commands/tablecmds.c:15240 tcop/utility.c:1307
 #, 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:1199
+#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1202
 #, c-format
 msgid "schema \"%s\" does not exist, skipping"
 msgstr "el esquema «%s» no existe, omitiendo"
@@ -6852,7 +6839,7 @@ msgstr "no existe el ordenamiento (collation) «%s», omitiendo"
 msgid "conversion \"%s\" does not exist, skipping"
 msgstr "no existe la conversión «%s», omitiendo"
 
-#: commands/dropcmds.c:293 commands/statscmds.c:479
+#: commands/dropcmds.c:293 commands/statscmds.c:486
 #, c-format
 msgid "statistics object \"%s\" does not exist, skipping"
 msgstr "no existe el objeto de estadísticas «%s», omitiendo"
@@ -7029,7 +7016,7 @@ msgstr "%s sólo puede invocarse en una función de un disparador en el evento s
 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:1877
+#: commands/event_trigger.c:1883
 #, 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"
@@ -7770,13 +7757,13 @@ msgstr "no se pueden create restricciones de exclusión en la tabla particionada
 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:717 commands/tablecmds.c:704 commands/tablespace.c:1173
+#: commands/indexcmds.c:717 commands/tablecmds.c:707 commands/tablespace.c:1185
 #, 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:749 commands/tablecmds.c:739 commands/tablecmds.c:13131
-#: commands/tablecmds.c:13245
+#: commands/indexcmds.c:749 commands/tablecmds.c:742 commands/tablecmds.c:13300
+#: commands/tablecmds.c:13414
 #, 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"
@@ -7808,7 +7795,6 @@ msgstr "el método de acceso «%s» no soporta restricciones de exclusión"
 
 #: commands/indexcmds.c:941
 #, c-format
-#| msgid "cannot create partitioned table as inheritance child"
 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»"
 
@@ -7823,218 +7809,208 @@ 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:992
-#, c-format
-msgid "insufficient columns in %s constraint definition"
-msgstr "columnas insuficientes en definición de restricción %s"
+#, fuzzy, c-format
+#| msgid "cannot remove constraint from only the partitioned table when partitions exist"
+msgid "unique constraint on partitioned table must include all partitioning columns"
+msgstr "no se pueden eliminar restricciones sólo de la tabla particionada cuando existen particiones"
 
-#: commands/indexcmds.c:994
+#: commands/indexcmds.c:993
 #, 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:1013 commands/indexcmds.c:1032
+#: commands/indexcmds.c:1012 commands/indexcmds.c:1031
 #, 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:1057
+#: commands/indexcmds.c:1056
 #, c-format
 msgid "%s %s will create implicit index \"%s\" for table \"%s\""
 msgstr "%s %s creará el índice implícito «%s» para la tabla «%s»"
 
-#: commands/indexcmds.c:1198 tcop/utility.c:1484
+#: commands/indexcmds.c:1199 tcop/utility.c:1493
 #, 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:1200 tcop/utility.c:1486
+#: commands/indexcmds.c:1201 tcop/utility.c:1495
 #, 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:1629
+#: commands/indexcmds.c:1630
 #, 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:1695 parser/parse_utilcmd.c:2440
-#: parser/parse_utilcmd.c:2575
+#: commands/indexcmds.c:1696 parser/parse_utilcmd.c:2474
+#: parser/parse_utilcmd.c:2609
 #, c-format
 msgid "column \"%s\" named in key does not exist"
 msgstr "no existe la columna «%s» en la llave"
 
-#: commands/indexcmds.c:1719 parser/parse_utilcmd.c:1776
+#: commands/indexcmds.c:1720 parser/parse_utilcmd.c:1810
 #, c-format
 msgid "expressions are not supported in included columns"
 msgstr "las expresiones no están soportadas en columnas incluidas"
 
-#: commands/indexcmds.c:1760
+#: commands/indexcmds.c:1761
 #, 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:1775
+#: commands/indexcmds.c:1776
 #, c-format
 msgid "including column does not support a collation"
 msgstr "la columna incluida no permite un ordenamiento (collation)"
 
-#: commands/indexcmds.c:1779
+#: commands/indexcmds.c:1780
 #, c-format
 msgid "including column does not support an operator class"
 msgstr "la columna incluida no permite una clase de operadores"
 
-#: commands/indexcmds.c:1783
+#: commands/indexcmds.c:1784
 #, c-format
 msgid "including column does not support ASC/DESC options"
 msgstr "la columna incluida no permite las opciones ASC/DESC"
 
-#: commands/indexcmds.c:1787
+#: commands/indexcmds.c:1788
 #, 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:1814
+#: commands/indexcmds.c:1815
 #, 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:1822 commands/tablecmds.c:16011 commands/typecmds.c:771
-#: parser/parse_expr.c:2850 parser/parse_type.c:566 parser/parse_utilcmd.c:3649
-#: parser/parse_utilcmd.c:4210 utils/adt/misc.c:503
+#: commands/indexcmds.c:1823 commands/tablecmds.c:16244 commands/typecmds.c:771
+#: parser/parse_expr.c:2850 parser/parse_type.c:566 parser/parse_utilcmd.c:3684
+#: parser/parse_utilcmd.c:4245 utils/adt/misc.c:503
 #, 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:1860
+#: commands/indexcmds.c:1861
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "el operador %s no es conmutativo"
 
-#: commands/indexcmds.c:1862
+#: commands/indexcmds.c:1863
 #, 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:1888
+#: commands/indexcmds.c:1889
 #, 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:1891
+#: commands/indexcmds.c:1892
 #, 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:1926
+#: commands/indexcmds.c:1927
 #, 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:1931
+#: commands/indexcmds.c:1932
 #, 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:1977 commands/tablecmds.c:16036
-#: commands/tablecmds.c:16042 commands/typecmds.c:1945
+#: commands/indexcmds.c:1978 commands/tablecmds.c:16269
+#: commands/tablecmds.c:16275 commands/typecmds.c:1945
 #, 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:1979
+#: commands/indexcmds.c:1980
 #, 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:2008 commands/indexcmds.c:2016
+#: commands/indexcmds.c:2009 commands/indexcmds.c:2017
 #: commands/opclasscmds.c:208
 #, 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:2030 commands/typecmds.c:1933
+#: commands/indexcmds.c:2031 commands/typecmds.c:1933
 #, 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:2120
+#: commands/indexcmds.c:2121
 #, 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:2569
+#: commands/indexcmds.c:2570
 #, 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:2580
+#: commands/indexcmds.c:2581
 #, c-format
 msgid "table \"%s\" has no indexes to reindex"
 msgstr "la tabla «%s» no tiene índices para reindexar"
 
-#: commands/indexcmds.c:2619 commands/indexcmds.c:2893
-#: commands/indexcmds.c:2986
+#: commands/indexcmds.c:2620 commands/indexcmds.c:2901
+#: commands/indexcmds.c:2994
 #, c-format
 msgid "cannot reindex system catalogs concurrently"
 msgstr "no se pueden reindexar catálogos de sistema concurrentemente"
 
-#: commands/indexcmds.c:2642
+#: commands/indexcmds.c:2643
 #, 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:2733
+#: commands/indexcmds.c:2734
 #, 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:2785 commands/indexcmds.c:3466
+#: commands/indexcmds.c:2786 commands/indexcmds.c:3506
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "la tabla «%s.%s» fue reindexada"
 
-#: commands/indexcmds.c:2908 commands/indexcmds.c:2954
+#: commands/indexcmds.c:2916 commands/indexcmds.c:2962
 #, 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:2914
+#: commands/indexcmds.c:2922
 #, 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:2996
-#, c-format
-msgid "cannot reindex invalid index on TOAST table concurrently"
-msgstr "no se puede reindexar el índice no válido en una tabla TOAST concurrentemente"
-
-#: commands/indexcmds.c:3024
+#: commands/indexcmds.c:3033
 #, c-format
 msgid "cannot reindex this type of relation concurrently"
 msgstr "no se puede reindexar este tipo de relación concurrentemente"
 
-#: commands/indexcmds.c:3448 commands/indexcmds.c:3459
+#: commands/indexcmds.c:3488 commands/indexcmds.c:3499
 #, c-format
 msgid "index \"%s.%s\" was reindexed"
 msgstr "el índice «%s.%s» fue reindexado"
 
-#: commands/indexcmds.c:3491
+#: commands/indexcmds.c:3531
 #, c-format
 msgid "REINDEX is not yet implemented for partitioned indexes"
 msgstr "REINDEX no está implementado aún para tablas particionadas"
 
-#: commands/lockcmds.c:91 commands/tablecmds.c:5629 commands/trigger.c:295
-#: rewrite/rewriteDefine.c:271 rewrite/rewriteDefine.c:928
+#: commands/lockcmds.c:92 commands/tablecmds.c:5635 commands/trigger.c:285
+#: rewrite/rewriteDefine.c:272 rewrite/rewriteDefine.c:939
 #, c-format
 msgid "\"%s\" is not a table or view"
 msgstr "«%s» no es una tabla o vista"
 
-#: commands/lockcmds.c:213 rewrite/rewriteHandler.c:1977
-#: rewrite/rewriteHandler.c:3782
-#, c-format
-msgid "infinite recursion detected in rules for relation \"%s\""
-msgstr "se detectó recursión infinita en las reglas de la relación «%s»"
-
 #: commands/matview.c:182
 #, c-format
 msgid "CONCURRENTLY cannot be used when the materialized view is not populated"
@@ -8158,27 +8134,27 @@ msgid "index search operators must return boolean"
 msgstr "los operadores de búsqueda en índices deben retornar boolean"
 
 #: commands/opclasscmds.c:1159
-#, c-format
-#| msgid "associated data types for operator class options parsing functions must match opclass input type"
-msgid "associated data types for opclass options parsing functions must match opclass input type"
+#, fuzzy, c-format
+#| msgid "associated data types for opclass options parsing functions must match opclass input type"
+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:1166
-#, c-format
-#| msgid "left and right associated data types for operator class options parsing functions must match"
-msgid "left and right associated data types for opclass options parsing functions must match"
+#, fuzzy, c-format
+#| msgid "left and right associated data types for opclass options parsing functions must match"
+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:1174
-#, c-format
-#| msgid "invalid operator class options parsing function"
-msgid "invalid opclass options parsing function"
+#, fuzzy, c-format
+#| msgid "invalid opclass options parsing function"
+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:1175
-#, c-format
-#| msgid "Valid signature of operator class options parsing function is %s."
-msgid "Valid signature of opclass options parsing function is '%s'."
+#, fuzzy, c-format
+#| msgid "Valid signature of opclass options parsing function is '%s'."
+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:1194
@@ -8331,13 +8307,13 @@ msgstr "la función de estimación de join %s debe retornar tipo %s"
 msgid "operator attribute \"%s\" cannot be changed"
 msgstr "el atributo de operador «%s» no puede ser cambiado"
 
-#: commands/policy.c:88 commands/policy.c:401 commands/policy.c:491
-#: commands/tablecmds.c:1512 commands/tablecmds.c:1994
-#: commands/tablecmds.c:3076 commands/tablecmds.c:5608
-#: commands/tablecmds.c:8364 commands/tablecmds.c:15601
-#: commands/tablecmds.c:15636 commands/trigger.c:301 commands/trigger.c:1206
-#: commands/trigger.c:1315 rewrite/rewriteDefine.c:277
-#: rewrite/rewriteDefine.c:933 rewrite/rewriteRemove.c:80
+#: commands/policy.c:88 commands/policy.c:381 commands/policy.c:471
+#: commands/statscmds.c:143 commands/tablecmds.c:1515 commands/tablecmds.c:1997
+#: commands/tablecmds.c:3079 commands/tablecmds.c:5614
+#: commands/tablecmds.c:8417 commands/tablecmds.c:15834
+#: commands/tablecmds.c:15869 commands/trigger.c:291 commands/trigger.c:1196
+#: commands/trigger.c:1305 rewrite/rewriteDefine.c:278
+#: rewrite/rewriteDefine.c:944 rewrite/rewriteRemove.c:80
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "permiso denegado: «%s» es un catálogo de sistema"
@@ -8352,42 +8328,48 @@ msgstr "ignorando los roles especificados que no son PUBLIC"
 msgid "All roles are members of the PUBLIC role."
 msgstr "Todos los roles son miembros del rol PUBLIC."
 
-#: commands/policy.c:515
+#: commands/policy.c:495
 #, c-format
 msgid "role \"%s\" could not be removed from policy \"%s\" on \"%s\""
 msgstr "el rol «%s» no pudo ser eliminado de la política «%s» en «%s»"
 
-#: commands/policy.c:724
+#: commands/policy.c:704
 #, 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:733 commands/policy.c:1038
+#: commands/policy.c:713 commands/policy.c:1018
 #, 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:808 commands/policy.c:1261
+#: commands/policy.c:788 commands/policy.c:1241
 #, c-format
 msgid "policy \"%s\" for table \"%s\" already exists"
 msgstr "la política «%s» para la tabla «%s» ya existe"
 
-#: commands/policy.c:1010 commands/policy.c:1289 commands/policy.c:1360
+#: commands/policy.c:990 commands/policy.c:1269 commands/policy.c:1340
 #, 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:1028
+#: commands/policy.c:1008
 #, c-format
 msgid "only USING expression allowed for SELECT, DELETE"
 msgstr "sólo se permite una expresión USING para SELECT, DELETE"
 
-#: commands/portalcmds.c:59 commands/portalcmds.c:182 commands/portalcmds.c:233
+#: commands/portalcmds.c:60 commands/portalcmds.c:187 commands/portalcmds.c:238
 #, c-format
 msgid "invalid cursor name: must not be empty"
 msgstr "el nombre de cursor no es válido: no debe ser vacío"
 
-#: commands/portalcmds.c:190 commands/portalcmds.c:243
+#: commands/portalcmds.c:72
+#, fuzzy, c-format
+#| msgid "cannot create temporary table within security-restricted operation"
+msgid "cannot create a cursor WITH HOLD within security-restricted operation"
+msgstr "no se puede crear una tabla temporal dentro una operación restringida por seguridad"
+
+#: commands/portalcmds.c:195 commands/portalcmds.c:248
 #: executor/execCurrent.c:70 utils/adt/xml.c:2594 utils/adt/xml.c:2764
 #, c-format
 msgid "cursor \"%s\" does not exist"
@@ -8648,8 +8630,8 @@ msgstr "la secuencia debe estar en el mismo esquema que la tabla a la que está
 msgid "cannot change ownership of identity sequence"
 msgstr "no se puede cambiar el dueño de la secuencia de identidad"
 
-#: commands/sequence.c:1718 commands/tablecmds.c:12513
-#: commands/tablecmds.c:15027
+#: commands/sequence.c:1718 commands/tablecmds.c:12682
+#: commands/tablecmds.c:15260
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "La secuencia «%s» está enlazada a la tabla «%s»."
@@ -8664,62 +8646,62 @@ msgstr "sólo se permite una relación en CREATE STATISTICS"
 msgid "relation \"%s\" is not a table, foreign table, or materialized view"
 msgstr "la relación «%s» no es una tabla, tabla foránea o vista materializada"
 
-#: commands/statscmds.c:174
+#: commands/statscmds.c:181
 #, c-format
 msgid "statistics object \"%s\" already exists, skipping"
 msgstr "el objeto de estadísticas «%s» ya existe, omitiendo"
 
-#: commands/statscmds.c:182
+#: commands/statscmds.c:189
 #, c-format
 msgid "statistics object \"%s\" already exists"
 msgstr "el objeto de estadísticas «%s» ya existe"
 
-#: commands/statscmds.c:204 commands/statscmds.c:210
+#: commands/statscmds.c:211 commands/statscmds.c:217
 #, c-format
 msgid "only simple column references are allowed in CREATE STATISTICS"
 msgstr "sólo se permiten referencias de columnas simples en CREATE STATISTICS"
 
-#: commands/statscmds.c:225
+#: commands/statscmds.c:232
 #, 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:232
+#: commands/statscmds.c:239
 #, 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:239
+#: commands/statscmds.c:246
 #, 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:254
+#: commands/statscmds.c:261
 #, c-format
 msgid "extended statistics require at least 2 columns"
 msgstr "las estadísticas extendidas requieren al menos 2 columnas"
 
-#: commands/statscmds.c:272
+#: commands/statscmds.c:279
 #, c-format
 msgid "duplicate column name in statistics definition"
 msgstr "nombre de columna duplicado en definición de estadísticas"
 
-#: commands/statscmds.c:306
+#: commands/statscmds.c:313
 #, c-format
 msgid "unrecognized statistics kind \"%s\""
 msgstr "tipo de estadísticas «%s» no reconocido"
 
-#: commands/statscmds.c:444 commands/tablecmds.c:7385
+#: commands/statscmds.c:451 commands/tablecmds.c:7438
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "el valor de estadísticas %d es demasiado bajo"
 
-#: commands/statscmds.c:452 commands/tablecmds.c:7393
+#: commands/statscmds.c:459 commands/tablecmds.c:7446
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "bajando el valor de estadísticas a %d"
 
-#: commands/statscmds.c:475
+#: commands/statscmds.c:482
 #, c-format
 msgid "statistics object \"%s.%s\" does not exist, skipping"
 msgstr "no existe el objeto de estadísticas «%s.%s», omitiendo"
@@ -8753,8 +8735,8 @@ msgstr "nombre de publicación «%s» usado más de una vez"
 msgid "must be superuser to create subscriptions"
 msgstr "debe ser superusuario para crear suscripciones"
 
-#: commands/subscriptioncmds.c:442 commands/subscriptioncmds.c:530
-#: replication/logical/tablesync.c:857 replication/logical/worker.c:2096
+#: commands/subscriptioncmds.c:442 commands/subscriptioncmds.c:531
+#: replication/logical/tablesync.c:861 replication/logical/worker.c:2096
 #, c-format
 msgid "could not connect to the publisher: %s"
 msgstr "no se pudo connectar con el editor (publisher): %s"
@@ -8770,84 +8752,84 @@ msgstr "se creó el slot de replicación «%s» en el editor (publisher)"
 msgid "tables were not subscribed, you will have to run %s to subscribe the tables"
 msgstr "las tablas no se suscribieron, tendrá que ejecutar %s para suscribir las tablas"
 
-#: commands/subscriptioncmds.c:586
+#: commands/subscriptioncmds.c:587
 #, c-format
 msgid "table \"%s.%s\" added to subscription \"%s\""
 msgstr "tabla «%s.%s» agregada a suscripción «%s»"
 
-#: commands/subscriptioncmds.c:610
+#: commands/subscriptioncmds.c:611
 #, c-format
 msgid "table \"%s.%s\" removed from subscription \"%s\""
 msgstr "tabla «%s.%s» eliminada de suscripción «%s»"
 
-#: commands/subscriptioncmds.c:682
+#: commands/subscriptioncmds.c:683
 #, c-format
 msgid "cannot set %s for enabled subscription"
 msgstr "no se puede establecer %s para la suscripción activada"
 
-#: commands/subscriptioncmds.c:717
+#: commands/subscriptioncmds.c:718
 #, 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:763
+#: commands/subscriptioncmds.c:764
 #, 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:764
+#: commands/subscriptioncmds.c:765
 #, c-format
 msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 msgstr "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 
-#: commands/subscriptioncmds.c:782
+#: commands/subscriptioncmds.c:783
 #, 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:862
+#: commands/subscriptioncmds.c:863
 #, c-format
 msgid "subscription \"%s\" does not exist, skipping"
 msgstr "no existe la suscripción «%s», omitiendo"
 
-#: commands/subscriptioncmds.c:987
+#: commands/subscriptioncmds.c:988
 #, c-format
 msgid "could not connect to publisher when attempting to drop the replication slot \"%s\""
 msgstr "no se pudo conectar con el editor (publisher) al intentar eliminar el slot \"%s\""
 
-#: commands/subscriptioncmds.c:989 commands/subscriptioncmds.c:1004
-#: replication/logical/tablesync.c:906 replication/logical/tablesync.c:928
+#: commands/subscriptioncmds.c:990 commands/subscriptioncmds.c:1005
+#: replication/logical/tablesync.c:910 replication/logical/tablesync.c:932
 #, c-format
 msgid "The error was: %s"
 msgstr "El error fue: %s"
 
 #. translator: %s is an SQL ALTER command
-#: commands/subscriptioncmds.c:991
+#: commands/subscriptioncmds.c:992
 #, c-format
 msgid "Use %s to disassociate the subscription from the slot."
 msgstr "Use %s para disociar la suscripción del slot."
 
-#: commands/subscriptioncmds.c:1002
+#: commands/subscriptioncmds.c:1003
 #, c-format
 msgid "could not drop the replication slot \"%s\" on publisher"
 msgstr "no se pudo eliminar el slot de replicación «%s» en editor (publisher)"
 
-#: commands/subscriptioncmds.c:1007
+#: commands/subscriptioncmds.c:1008
 #, c-format
 msgid "dropped replication slot \"%s\" on publisher"
 msgstr "eliminando el slot de replicación «%s» en editor (publisher)"
 
-#: commands/subscriptioncmds.c:1044
+#: commands/subscriptioncmds.c:1045
 #, c-format
 msgid "permission denied to change owner of subscription \"%s\""
 msgstr "se ha denegado el permiso para cambiar el dueño de la suscripción «%s»"
 
-#: commands/subscriptioncmds.c:1046
+#: commands/subscriptioncmds.c:1047
 #, c-format
 msgid "The owner of a subscription must be a superuser."
 msgstr "El dueño de una suscripción debe ser un superusuario."
 
-#: commands/subscriptioncmds.c:1161
+#: commands/subscriptioncmds.c:1162
 #, 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"
@@ -8908,8 +8890,8 @@ msgstr "la vista materializada «%s» no existe, omitiendo"
 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view."
 msgstr "Use DROP MATERIALIZED VIEW para eliminar una vista materializada."
 
-#: commands/tablecmds.c:252 commands/tablecmds.c:276 commands/tablecmds.c:17200
-#: parser/parse_utilcmd.c:2172
+#: commands/tablecmds.c:252 commands/tablecmds.c:276 commands/tablecmds.c:17433
+#: parser/parse_utilcmd.c:2206
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "no existe el índice «%s»"
@@ -8932,8 +8914,8 @@ msgstr "«%s» no es un tipo"
 msgid "Use DROP TYPE to remove a type."
 msgstr "Use DROP TYPE para eliminar un tipo."
 
-#: commands/tablecmds.c:264 commands/tablecmds.c:12352
-#: commands/tablecmds.c:14807
+#: commands/tablecmds.c:264 commands/tablecmds.c:12521
+#: commands/tablecmds.c:15040
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "no existe la tabla foránea «%s»"
@@ -8947,1311 +8929,1346 @@ msgstr "la tabla foránea «%s» no existe, omitiendo"
 msgid "Use DROP FOREIGN TABLE to remove a foreign table."
 msgstr "Use DROP FOREIGN TABLE para eliminar una tabla foránea."
 
-#: commands/tablecmds.c:620
+#: commands/tablecmds.c:623
 #, 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:651
+#: commands/tablecmds.c:654
 #, 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:687 commands/tablecmds.c:13711
+#: commands/tablecmds.c:690 commands/tablecmds.c:13884
 #, 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:868
+#: commands/tablecmds.c:871
 #, 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:964
+#: commands/tablecmds.c:967
 #, c-format
 msgid "\"%s\" is not partitioned"
 msgstr "«%s» no está particionada"
 
-#: commands/tablecmds.c:1058
+#: commands/tablecmds.c:1061
 #, c-format
 msgid "cannot partition using more than %d columns"
 msgstr "no se puede particionar usando más de %d columnas"
 
-#: commands/tablecmds.c:1114
+#: commands/tablecmds.c:1117
 #, 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:1116
+#: commands/tablecmds.c:1119
 #, c-format
 msgid "Table \"%s\" contains indexes that are unique."
 msgstr "La tabla «%s» contiene índices que son únicos."
 
-#: commands/tablecmds.c:1279
+#: commands/tablecmds.c:1282
 #, 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:1283
+#: commands/tablecmds.c:1286
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
 msgstr "DROP INDEX CONCURRENTLY no soporta CASCADE"
 
-#: commands/tablecmds.c:1384
+#: commands/tablecmds.c:1387
 #, c-format
 msgid "cannot drop partitioned index \"%s\" concurrently"
 msgstr "no se puede eliminar el índice particionado «%s» concurrentemente"
 
-#: commands/tablecmds.c:1654
+#: commands/tablecmds.c:1657
 #, c-format
 msgid "cannot truncate only a partitioned table"
 msgstr "no se puede truncar ONLY una tabla particionada"
 
-#: commands/tablecmds.c:1655
+#: commands/tablecmds.c:1658
 #, 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:1724
+#: commands/tablecmds.c:1727
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "truncando además la tabla «%s»"
 
-#: commands/tablecmds.c:2031
+#: commands/tablecmds.c:2034
 #, c-format
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "no se pueden truncar tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:2259 commands/tablecmds.c:13608
+#: commands/tablecmds.c:2262 commands/tablecmds.c:13781
 #, c-format
 msgid "cannot inherit from partitioned table \"%s\""
 msgstr "no se puede heredar de la tabla particionada «%s»"
 
-#: commands/tablecmds.c:2264
+#: commands/tablecmds.c:2267
 #, c-format
 msgid "cannot inherit from partition \"%s\""
 msgstr "no se puede heredar de la partición «%s»"
 
-#: commands/tablecmds.c:2272 parser/parse_utilcmd.c:2402
-#: parser/parse_utilcmd.c:2544
+#: commands/tablecmds.c:2275 parser/parse_utilcmd.c:2436
+#: parser/parse_utilcmd.c:2578
 #, 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:2284
+#: commands/tablecmds.c:2287
 #, 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:2293 commands/tablecmds.c:13587
+#: commands/tablecmds.c:2296 commands/tablecmds.c:13760
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "no se puede heredar de la tabla temporal «%s»"
 
-#: commands/tablecmds.c:2303 commands/tablecmds.c:13595
+#: commands/tablecmds.c:2306 commands/tablecmds.c:13768
 #, 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:2357
+#: commands/tablecmds.c:2360
 #, c-format
 msgid "merging multiple inherited definitions of column \"%s\""
 msgstr "mezclando múltiples definiciones heredadas de la columna «%s»"
 
-#: commands/tablecmds.c:2365
+#: commands/tablecmds.c:2368
 #, c-format
 msgid "inherited column \"%s\" has a type conflict"
 msgstr "columna heredada «%s» tiene conflicto de tipos"
 
-#: commands/tablecmds.c:2367 commands/tablecmds.c:2390
-#: commands/tablecmds.c:2639 commands/tablecmds.c:2669
-#: parser/parse_coerce.c:1935 parser/parse_coerce.c:1955
-#: parser/parse_coerce.c:1975 parser/parse_coerce.c:2030
-#: parser/parse_coerce.c:2107 parser/parse_coerce.c:2141
+#: commands/tablecmds.c:2370 commands/tablecmds.c:2393
+#: commands/tablecmds.c:2642 commands/tablecmds.c:2672
+#: parser/parse_coerce.c:1942 parser/parse_coerce.c:1962
+#: parser/parse_coerce.c:1982 parser/parse_coerce.c:2037
+#: parser/parse_coerce.c:2114 parser/parse_coerce.c:2148
 #: parser/parse_param.c:218
 #, c-format
 msgid "%s versus %s"
 msgstr "%s versus %s"
 
-#: commands/tablecmds.c:2376
+#: commands/tablecmds.c:2379
 #, c-format
 msgid "inherited column \"%s\" has a collation conflict"
 msgstr "columna heredada «%s» tiene conflicto de ordenamiento (collation)"
 
-#: commands/tablecmds.c:2378 commands/tablecmds.c:2651
-#: commands/tablecmds.c:6110
+#: commands/tablecmds.c:2381 commands/tablecmds.c:2654
+#: commands/tablecmds.c:6112
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "«%s» versus «%s»"
 
-#: commands/tablecmds.c:2388
+#: commands/tablecmds.c:2391
 #, c-format
 msgid "inherited column \"%s\" has a storage parameter conflict"
 msgstr "columna heredada «%s» tiene conflicto de parámetros de almacenamiento"
 
-#: commands/tablecmds.c:2404
+#: commands/tablecmds.c:2407
 #, c-format
 msgid "inherited column \"%s\" has a generation conflict"
 msgstr "columna heredada «%s» tiene conflicto de generación"
 
-#: commands/tablecmds.c:2490 commands/tablecmds.c:2545
-#: commands/tablecmds.c:11157 parser/parse_utilcmd.c:1252
-#: parser/parse_utilcmd.c:1295 parser/parse_utilcmd.c:1703
-#: parser/parse_utilcmd.c:1812
+#: commands/tablecmds.c:2493 commands/tablecmds.c:2548
+#: commands/tablecmds.c:11326 parser/parse_utilcmd.c:1286
+#: parser/parse_utilcmd.c:1329 parser/parse_utilcmd.c:1737
+#: parser/parse_utilcmd.c:1846
 #, c-format
 msgid "cannot convert whole-row table reference"
 msgstr "no se puede convertir una referencia a la fila completa (whole-row)"
 
-#: commands/tablecmds.c:2491 parser/parse_utilcmd.c:1253
+#: commands/tablecmds.c:2494 parser/parse_utilcmd.c:1287
 #, 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»."
 
-#: commands/tablecmds.c:2546 parser/parse_utilcmd.c:1296
+#: commands/tablecmds.c:2549 parser/parse_utilcmd.c:1330
 #, c-format
 msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"."
 msgstr "La restricción «%s» contiene una referencia a la fila completa (whole-row) de la tabla «%s»."
 
-#: commands/tablecmds.c:2625
+#: commands/tablecmds.c:2628
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "mezclando la columna «%s» con la definición heredada"
 
-#: commands/tablecmds.c:2629
+#: commands/tablecmds.c:2632
 #, 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:2630
+#: commands/tablecmds.c:2633
 #, 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:2637
+#: commands/tablecmds.c:2640
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "la columna «%s» tiene conflicto de tipos"
 
-#: commands/tablecmds.c:2649
+#: commands/tablecmds.c:2652
 #, c-format
 msgid "column \"%s\" has a collation conflict"
 msgstr "la columna «%s» tiene conflicto de ordenamientos (collation)"
 
-#: commands/tablecmds.c:2667
+#: commands/tablecmds.c:2670
 #, c-format
 msgid "column \"%s\" has a storage parameter conflict"
 msgstr "la columna «%s» tiene conflicto de parámetros de almacenamiento"
 
-#: commands/tablecmds.c:2695
+#: commands/tablecmds.c:2698
 #, 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:2697
+#: commands/tablecmds.c:2700
 #, c-format
 msgid "Omit the generation expression in the definition of the child table column to inherit the generation expression from the parent table."
 msgstr "Omita la expresión de generación en la definición de la columna en la tabla hija para heredar la expresión de generación de la tabla padre."
 
-#: commands/tablecmds.c:2701
+#: commands/tablecmds.c:2704
 #, 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"
 
-#: commands/tablecmds.c:2706
+#: commands/tablecmds.c:2709
 #, 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"
 
-#: commands/tablecmds.c:2815
+#: commands/tablecmds.c:2818
 #, c-format
 msgid "column \"%s\" inherits conflicting generation expressions"
 msgstr "la columna «%s» hereda expresiones de generación en conflicto"
 
-#: commands/tablecmds.c:2820
+#: commands/tablecmds.c:2823
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "la columna «%s» hereda valores por omisión no coincidentes"
 
-#: commands/tablecmds.c:2822
+#: commands/tablecmds.c:2825
 #, c-format
 msgid "To resolve the conflict, specify a default explicitly."
 msgstr "Para resolver el conflicto, indique explícitamente un valor por omisión."
 
-#: commands/tablecmds.c:2868
+#: commands/tablecmds.c:2871
 #, 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:3045
+#: commands/tablecmds.c:3048
 #, 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:3064
+#: commands/tablecmds.c:3067
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, composite type, index, or foreign table"
 msgstr "«%s» no es una tabla, vista, vista materializada, tipo compuesto, índice o tabla foránea"
 
-#: commands/tablecmds.c:3158
+#: commands/tablecmds.c:3161
 #, 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:3190
+#: commands/tablecmds.c:3193
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "no se puede cambiar el nombre a la columna de sistema «%s»"
 
-#: commands/tablecmds.c:3205
+#: commands/tablecmds.c:3208
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "no se puede cambiar el nombre a la columna heredada «%s»"
 
-#: commands/tablecmds.c:3357
+#: commands/tablecmds.c:3360
 #, 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:3364
+#: commands/tablecmds.c:3367
 #, 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:3597
+#: commands/tablecmds.c:3600
 #, 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:3606
+#: commands/tablecmds.c:3609
 #, 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:4237 commands/tablecmds.c:4252
+#: commands/tablecmds.c:4240 commands/tablecmds.c:4255
 #, c-format
 msgid "cannot change persistence setting twice"
 msgstr "no se puede cambiar la opción de persistencia dos veces"
 
-#: commands/tablecmds.c:4969
+#: commands/tablecmds.c:4975
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "no se puede reescribir la relación de sistema «%s»"
 
-#: commands/tablecmds.c:4975
+#: commands/tablecmds.c:4981
 #, 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:4985
+#: commands/tablecmds.c:4991
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "no se puede reescribir tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:5274
+#: commands/tablecmds.c:5280
 #, c-format
 msgid "rewriting table \"%s\""
 msgstr "reescribiendo tabla «%s»"
 
-#: commands/tablecmds.c:5278
+#: commands/tablecmds.c:5284
 #, c-format
 msgid "verifying table \"%s\""
 msgstr "verificando tabla «%s»"
 
-#: commands/tablecmds.c:5443
+#: commands/tablecmds.c:5449
 #, 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:5460
+#: commands/tablecmds.c:5466
 #, 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:5479 partitioning/partbounds.c:3235
+#: commands/tablecmds.c:5485 partitioning/partbounds.c:3225
 #, 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:5485
+#: commands/tablecmds.c:5491
 #, 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"
 
-#: commands/tablecmds.c:5632 commands/trigger.c:1200 commands/trigger.c:1306
+#: commands/tablecmds.c:5638 commands/trigger.c:1190 commands/trigger.c:1296
 #, c-format
 msgid "\"%s\" is not a table, view, or foreign table"
 msgstr "«%s» no es una tabla, vista o tabla foránea"
 
-#: commands/tablecmds.c:5635
+#: commands/tablecmds.c:5641
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, or index"
 msgstr "«%s» no es una tabla, vista, vista materializada, o índice"
 
-#: commands/tablecmds.c:5641
+#: commands/tablecmds.c:5647
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or index"
 msgstr "«%s» no es una tabla, vista materializada, o índice"
 
-#: commands/tablecmds.c:5644
+#: commands/tablecmds.c:5650
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or foreign table"
 msgstr "«%s» no es una tabla, vista materializada o tabla foránea"
 
-#: commands/tablecmds.c:5647
+#: commands/tablecmds.c:5653
 #, c-format
 msgid "\"%s\" is not a table or foreign table"
 msgstr "«%s» no es una tabla o tabla foránea"
 
-#: commands/tablecmds.c:5650
+#: commands/tablecmds.c:5656
 #, c-format
 msgid "\"%s\" is not a table, composite type, or foreign table"
 msgstr "«%s» no es una tabla, tipo compuesto, o tabla foránea"
 
-#: commands/tablecmds.c:5653
+#: commands/tablecmds.c:5659
 #, c-format
 msgid "\"%s\" is not a table, materialized view, index, or foreign table"
 msgstr "«%s» no es una tabla, vista materializada, índice o tabla foránea"
 
-#: commands/tablecmds.c:5663
+#: commands/tablecmds.c:5669
 #, c-format
 msgid "\"%s\" is of the wrong type"
 msgstr "«%s» es tipo equivocado"
 
-#: commands/tablecmds.c:5870 commands/tablecmds.c:5877
+#: commands/tablecmds.c:5872 commands/tablecmds.c:5879
 #, 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:5884
+#: commands/tablecmds.c:5886
 #, 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:5891
+#: commands/tablecmds.c:5893
 #, 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:5947
+#: commands/tablecmds.c:5949
 #, 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:5949
+#: commands/tablecmds.c:5951
 #, 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:5995
+#: commands/tablecmds.c:5997
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "el tipo %s no es un tipo compuesto"
 
-#: commands/tablecmds.c:6022
+#: commands/tablecmds.c:6024
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "no se puede agregar una columna a una tabla tipada"
 
-#: commands/tablecmds.c:6073
+#: commands/tablecmds.c:6075
 #, c-format
 msgid "cannot add column to a partition"
 msgstr "no se puede agregar una columna a una partición"
 
-#: commands/tablecmds.c:6102 commands/tablecmds.c:13838
+#: commands/tablecmds.c:6104 commands/tablecmds.c:14011
 #, 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:6108 commands/tablecmds.c:13845
+#: commands/tablecmds.c:6110 commands/tablecmds.c:14018
 #, 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:6122
+#: commands/tablecmds.c:6124
 #, 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:6165
+#: commands/tablecmds.c:6167
 #, 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:6402
+#: commands/tablecmds.c:6404
 #, 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:6480
+#: commands/tablecmds.c:6482
 #, 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:6487
+#: commands/tablecmds.c:6489
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "ya existe la columna «%s» en la relación «%s»"
 
-#: commands/tablecmds.c:6553 commands/tablecmds.c:10795
+#: commands/tablecmds.c:6555 commands/tablecmds.c:10964
 #, 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:6554 commands/tablecmds.c:6823
-#: commands/tablecmds.c:7803 commands/tablecmds.c:10796
+#: commands/tablecmds.c:6556 commands/tablecmds.c:6860
+#: commands/tablecmds.c:7856 commands/tablecmds.c:10965
 #, c-format
 msgid "Do not specify the ONLY keyword."
 msgstr "No especifique la opción ONLY."
 
-#: commands/tablecmds.c:6591 commands/tablecmds.c:6749
-#: commands/tablecmds.c:6891 commands/tablecmds.c:7005
-#: commands/tablecmds.c:7099 commands/tablecmds.c:7158
-#: commands/tablecmds.c:7260 commands/tablecmds.c:7426
-#: commands/tablecmds.c:7496 commands/tablecmds.c:7589
-#: commands/tablecmds.c:10950 commands/tablecmds.c:12375
+#: commands/tablecmds.c:6593 commands/tablecmds.c:6786
+#: commands/tablecmds.c:6928 commands/tablecmds.c:7042
+#: commands/tablecmds.c:7136 commands/tablecmds.c:7195
+#: commands/tablecmds.c:7313 commands/tablecmds.c:7479
+#: commands/tablecmds.c:7549 commands/tablecmds.c:7642
+#: commands/tablecmds.c:11119 commands/tablecmds.c:12544
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "no se puede alterar columna de sistema «%s»"
 
-#: commands/tablecmds.c:6597 commands/tablecmds.c:6897
+#: commands/tablecmds.c:6599 commands/tablecmds.c:6934
 #, 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:6633
+#: commands/tablecmds.c:6635
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "la columna «%s» está en la llave primaria"
 
-#: commands/tablecmds.c:6655
+#: commands/tablecmds.c:6657
 #, 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:6820 commands/tablecmds.c:8262
+#: commands/tablecmds.c:6857 commands/tablecmds.c:8315
 #, 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:6821
+#: commands/tablecmds.c:6858
 #, 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:6856
-#, c-format
-#| msgid "existing constraints on column \"%s.%s\" are sufficient to prove that it does not contain nulls"
-msgid "existing constraints on column \"%s\".\"%s\" are sufficient to prove that it does not contain nulls"
+#: commands/tablecmds.c:6893
+#, fuzzy, c-format
+#| msgid "existing constraints on column \"%s\".\"%s\" are sufficient to prove that it does not contain nulls"
+msgid "existing constraints on column \"%s.%s\" are sufficient to prove that it does not contain nulls"
 msgstr "las restricciones existentes en la columna «%s.%s» son suficientes para demostrar que no contiene nulos"
 
-#: commands/tablecmds.c:6899
+#: commands/tablecmds.c:6936
 #, 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:6904
+#: commands/tablecmds.c:6941
 #, 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:6907
+#: commands/tablecmds.c:6944
 #, 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:7016
+#: commands/tablecmds.c:7053
 #, 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:7022
+#: commands/tablecmds.c:7059
 #, 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:7028
+#: commands/tablecmds.c:7065
 #, 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:7105 commands/tablecmds.c:7166
+#: commands/tablecmds.c:7142 commands/tablecmds.c:7203
 #, 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:7171
+#: commands/tablecmds.c:7208
 #, 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:7230
+#: commands/tablecmds.c:7261
+#, fuzzy, c-format
+#| msgid "column must be added to child tables too"
+msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too"
+msgstr "la columna debe ser agregada a las tablas hijas también"
+
+#: commands/tablecmds.c:7283
 #, 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:7268
+#: commands/tablecmds.c:7321
 #, 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:7273
+#: commands/tablecmds.c:7326
 #, 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:7373
+#: commands/tablecmds.c:7426
 #, 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:7416
+#: commands/tablecmds.c:7469
 #, 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:7435
+#: commands/tablecmds.c:7488
 #, 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:7440
+#: commands/tablecmds.c:7493
 #, 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:7442
+#: commands/tablecmds.c:7495
 #, 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:7569
+#: commands/tablecmds.c:7622
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "tipo de almacenamiento no válido «%s»"
 
-#: commands/tablecmds.c:7601
+#: commands/tablecmds.c:7654
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
 msgstr "el tipo de datos %s de la columna sólo puede tener almacenamiento PLAIN"
 
-#: commands/tablecmds.c:7683
+#: commands/tablecmds.c:7736
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "no se pueden eliminar columnas de una tabla tipada"
 
-#: commands/tablecmds.c:7742
+#: commands/tablecmds.c:7795
 #, 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:7755
+#: commands/tablecmds.c:7808
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "no se puede eliminar la columna de sistema «%s»"
 
-#: commands/tablecmds.c:7765
+#: commands/tablecmds.c:7818
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "no se puede eliminar la columna heredada «%s»"
 
-#: commands/tablecmds.c:7778
+#: commands/tablecmds.c:7831
 #, 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:7802
+#: commands/tablecmds.c:7855
 #, 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:7983
+#: commands/tablecmds.c:8036
 #, 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:8008
+#: commands/tablecmds.c:8061
 #, 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:8342
+#: commands/tablecmds.c:8395
 #, 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:8348
+#: commands/tablecmds.c:8401
 #, 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:8351
+#: commands/tablecmds.c:8404
 #, 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:8358 commands/tablecmds.c:8763
+#: commands/tablecmds.c:8411 commands/tablecmds.c:8816
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "la relación referida «%s» no es una tabla"
 
-#: commands/tablecmds.c:8381
+#: commands/tablecmds.c:8434
 #, 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:8388
+#: commands/tablecmds.c:8441
 #, 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:8394
+#: commands/tablecmds.c:8447
 #, 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:8398
+#: commands/tablecmds.c:8451
 #, 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:8464 commands/tablecmds.c:8470
+#: commands/tablecmds.c:8517 commands/tablecmds.c:8523
 #, 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:8486
+#: commands/tablecmds.c:8539
 #, 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:8593
+#: commands/tablecmds.c:8646
 #, 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:8595
+#: commands/tablecmds.c:8648
 #, 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:8958 commands/tablecmds.c:9351
-#: parser/parse_utilcmd.c:764 parser/parse_utilcmd.c:893
+#: commands/tablecmds.c:9011 commands/tablecmds.c:9404
+#: parser/parse_utilcmd.c:790 parser/parse_utilcmd.c:919
 #, 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:9717 commands/tablecmds.c:9880
-#: commands/tablecmds.c:10752 commands/tablecmds.c:10827
+#: commands/tablecmds.c:9771 commands/tablecmds.c:10049
+#: commands/tablecmds.c:10921 commands/tablecmds.c:10996
 #, 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:9724
+#: commands/tablecmds.c:9778
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint"
 msgstr "la restricción «%s» de la relación «%s» no es una restriccion de llave foránea"
 
-#: commands/tablecmds.c:9888
+#: commands/tablecmds.c:9816
+#, fuzzy, c-format
+#| msgid "cannot drop inherited constraint \"%s\" of relation \"%s\""
+msgid "cannot alter constraint \"%s\" on relation \"%s\""
+msgstr "no se puede eliminar la restricción «%s» heredada de la relación «%s»"
+
+#: commands/tablecmds.c:9819
+#, fuzzy, c-format
+#| msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\""
+msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"."
+msgstr "la restricción «%s» está en conflicto con la restricción heredada de la relación «%s»"
+
+#: commands/tablecmds.c:9821
+#, c-format
+msgid "You may alter the constraint it derives from, instead."
+msgstr ""
+
+#: commands/tablecmds.c:10057
 #, 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:9966
+#: commands/tablecmds.c:10135
 #, 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:10050
+#: commands/tablecmds.c:10219
 #, 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:10055
+#: commands/tablecmds.c:10224
 #, 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:10120
+#: commands/tablecmds.c:10289
 #, 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:10137
+#: commands/tablecmds.c:10306
 #, 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:10202
+#: commands/tablecmds.c:10371
 #, 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:10296
+#: commands/tablecmds.c:10465
 #, 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:10301
+#: commands/tablecmds.c:10470
 #, 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:10389
+#: commands/tablecmds.c:10558
 #, c-format
 msgid "validating foreign key constraint \"%s\""
 msgstr "validando restricción de llave foránea «%s»"
 
-#: commands/tablecmds.c:10708
+#: commands/tablecmds.c:10877
 #, 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:10758
+#: commands/tablecmds.c:10927
 #, 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:10934
+#: commands/tablecmds.c:11103
 #, 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:10961
+#: commands/tablecmds.c:11130
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "no se puede alterar la columna heredada «%s»"
 
-#: commands/tablecmds.c:10970
+#: commands/tablecmds.c:11139
 #, 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:11020
+#: commands/tablecmds.c:11189
 #, 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:11023
+#: commands/tablecmds.c:11192
 #, c-format
 msgid "You might need to add an explicit cast."
 msgstr "Puede ser necesario agregar un cast explícito."
 
-#: commands/tablecmds.c:11027
+#: commands/tablecmds.c:11196
 #, 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:11030
+#: commands/tablecmds.c:11199
 #, c-format
 msgid "You might need to specify \"USING %s::%s\"."
 msgstr "Puede ser necesario especificar «USING %s::%s»."
 
-#: commands/tablecmds.c:11130
+#: commands/tablecmds.c:11299
 #, 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:11158
+#: commands/tablecmds.c:11327
 #, 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:11169
+#: commands/tablecmds.c:11338
 #, 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:11294
+#: commands/tablecmds.c:11463
 #, 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:11332
+#: commands/tablecmds.c:11501
 #, 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:11337
+#: commands/tablecmds.c:11506
 #, 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:11415
+#: commands/tablecmds.c:11584
 #, 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:11416
+#: commands/tablecmds.c:11585
 #, 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:11437
+#: commands/tablecmds.c:11606
 #, 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:11438 commands/tablecmds.c:11457
-#: commands/tablecmds.c:11475
+#: commands/tablecmds.c:11607 commands/tablecmds.c:11626
+#: commands/tablecmds.c:11644
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s depende de la columna «%s»"
 
-#: commands/tablecmds.c:11456
+#: commands/tablecmds.c:11625
 #, 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:11474
+#: commands/tablecmds.c:11643
 #, 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:12483 commands/tablecmds.c:12495
+#: commands/tablecmds.c:12652 commands/tablecmds.c:12664
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "no se puede cambiar el dueño del índice «%s»"
 
-#: commands/tablecmds.c:12485 commands/tablecmds.c:12497
+#: commands/tablecmds.c:12654 commands/tablecmds.c:12666
 #, c-format
 msgid "Change the ownership of the index's table, instead."
 msgstr "Considere cambiar el dueño de la tabla en vez de cambiar el dueño del índice."
 
-#: commands/tablecmds.c:12511
+#: commands/tablecmds.c:12680
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "no se puede cambiar el dueño de la secuencia «%s»"
 
-#: commands/tablecmds.c:12525 commands/tablecmds.c:15712
+#: commands/tablecmds.c:12694 commands/tablecmds.c:15945
 #, c-format
 msgid "Use ALTER TYPE instead."
 msgstr "Considere usar ALTER TYPE."
 
-#: commands/tablecmds.c:12534
+#: commands/tablecmds.c:12703
 #, c-format
 msgid "\"%s\" is not a table, view, sequence, or foreign table"
 msgstr "«%s» no es una tabla, vista, secuencia o tabla foránea"
 
-#: commands/tablecmds.c:12874
+#: commands/tablecmds.c:13043
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "no se pueden tener múltiples subórdenes SET TABLESPACE"
 
-#: commands/tablecmds.c:12951
+#: commands/tablecmds.c:13120
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, index, or TOAST table"
 msgstr "«%s» no es una tabla, vista, tabla materializada, índice o tabla TOAST"
 
-#: commands/tablecmds.c:12984 commands/view.c:494
+#: commands/tablecmds.c:13153 commands/view.c:494
 #, 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:13124
+#: commands/tablecmds.c:13293
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "no se puede mover la relación de sistema «%s»"
 
-#: commands/tablecmds.c:13140
+#: commands/tablecmds.c:13309
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "no se pueden mover tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:13310
+#: commands/tablecmds.c:13483
 #, 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:13322
+#: commands/tablecmds.c:13495
 #, 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:13414
+#: commands/tablecmds.c:13587
 #, 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:13430
+#: commands/tablecmds.c:13603
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "no se encontraron relaciones coincidentes en el tablespace «%s»"
 
-#: commands/tablecmds.c:13546
+#: commands/tablecmds.c:13719
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "no se puede cambiar la herencia de una tabla tipada"
 
-#: commands/tablecmds.c:13551 commands/tablecmds.c:14047
+#: commands/tablecmds.c:13724 commands/tablecmds.c:14280
 #, c-format
 msgid "cannot change inheritance of a partition"
 msgstr "no puede cambiar la herencia de una partición"
 
-#: commands/tablecmds.c:13556
+#: commands/tablecmds.c:13729
 #, c-format
 msgid "cannot change inheritance of partitioned table"
 msgstr "no se puede cambiar la herencia de una tabla particionada"
 
-#: commands/tablecmds.c:13602
+#: commands/tablecmds.c:13775
 #, 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:13615
+#: commands/tablecmds.c:13788
 #, c-format
 msgid "cannot inherit from a partition"
 msgstr "no se puede heredar de una partición"
 
-#: commands/tablecmds.c:13637 commands/tablecmds.c:16352
+#: commands/tablecmds.c:13810 commands/tablecmds.c:16585
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "la herencia circular no está permitida"
 
-#: commands/tablecmds.c:13638 commands/tablecmds.c:16353
+#: commands/tablecmds.c:13811 commands/tablecmds.c:16586
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "«%s» ya es un hijo de «%s»."
 
-#: commands/tablecmds.c:13651
+#: commands/tablecmds.c:13824
 #, 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:13653
+#: commands/tablecmds.c:13826
 #, 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:13856
+#: commands/tablecmds.c:14029
 #, 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:13883
+#: commands/tablecmds.c:14038
+#, fuzzy, c-format
+#| msgid "column \"%s\" in child table must be marked NOT NULL"
+msgid "column \"%s\" in child table must be a generated column"
+msgstr "columna «%s» en tabla hija debe marcarse como NOT NULL"
+
+#: commands/tablecmds.c:14088
+#, fuzzy, c-format
+#| msgid "column \"%s\" inherits conflicting generation expressions"
+msgid "column \"%s\" in child table has a conflicting generation expression"
+msgstr "la columna «%s» hereda expresiones de generación en conflicto"
+
+#: commands/tablecmds.c:14116
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "tabla hija no tiene la columna «%s»"
 
-#: commands/tablecmds.c:13971
+#: commands/tablecmds.c:14204
 #, 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:13979
+#: commands/tablecmds.c:14212
 #, 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:13990
+#: commands/tablecmds.c:14223
 #, 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:14025
+#: commands/tablecmds.c:14258
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "tabla hija no tiene la restricción «%s»"
 
-#: commands/tablecmds.c:14114
+#: commands/tablecmds.c:14347
 #, 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:14120
+#: commands/tablecmds.c:14353
 #, 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:14348
+#: commands/tablecmds.c:14581
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "las tablas tipadas no pueden heredar"
 
-#: commands/tablecmds.c:14378
+#: commands/tablecmds.c:14611
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "la tabla no tiene la columna «%s»"
 
-#: commands/tablecmds.c:14389
+#: commands/tablecmds.c:14622
 #, 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:14398
+#: commands/tablecmds.c:14631
 #, 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:14412
+#: commands/tablecmds.c:14645
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "tabla tiene la columna extra «%s»"
 
-#: commands/tablecmds.c:14464
+#: commands/tablecmds.c:14697
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "«%s» no es una tabla tipada"
 
-#: commands/tablecmds.c:14646
+#: commands/tablecmds.c:14879
 #, 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:14652
+#: commands/tablecmds.c:14885
 #, 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:14658
+#: commands/tablecmds.c:14891
 #, 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:14664
+#: commands/tablecmds.c:14897
 #, 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:14670
+#: commands/tablecmds.c:14903
 #, c-format
 msgid "cannot use invalid index \"%s\" as replica identity"
 msgstr "no se puede usar el índice no válido «%s» como identidad de réplica"
 
-#: commands/tablecmds.c:14687
+#: commands/tablecmds.c:14920
 #, 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:14694
+#: commands/tablecmds.c:14927
 #, 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:14887
+#: commands/tablecmds.c:15120
 #, 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:14911
+#: commands/tablecmds.c:15144
 #, 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:14913
+#: commands/tablecmds.c:15146
 #, c-format
 msgid "Unlogged relations cannot be replicated."
 msgstr "Las tablas «unlogged» no pueden replicarse."
 
-#: commands/tablecmds.c:14958
+#: commands/tablecmds.c:15191
 #, 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:14968
+#: commands/tablecmds.c:15201
 #, 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:15026
+#: commands/tablecmds.c:15259
 #, 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:15132
+#: commands/tablecmds.c:15365
 #, 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:15695
+#: commands/tablecmds.c:15928
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "«%s» no es un tipo compuesto"
 
-#: commands/tablecmds.c:15727
+#: commands/tablecmds.c:15960
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, sequence, or foreign table"
 msgstr "«%s» no es una tabla, vista, vista materializada, secuencia o tabla foránea"
 
-#: commands/tablecmds.c:15762
+#: commands/tablecmds.c:15995
 #, c-format
 msgid "unrecognized partitioning strategy \"%s\""
 msgstr "estrategia de particionamiento «%s» no reconocida"
 
-#: commands/tablecmds.c:15770
+#: commands/tablecmds.c:16003
 #, 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:15836
+#: commands/tablecmds.c:16069
 #, 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:15844
+#: commands/tablecmds.c:16077
 #, 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:15855 commands/tablecmds.c:15969
+#: commands/tablecmds.c:16088 commands/tablecmds.c:16202
 #, 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:15856 commands/tablecmds.c:15970 commands/trigger.c:641
-#: rewrite/rewriteHandler.c:829 rewrite/rewriteHandler.c:846
+#: commands/tablecmds.c:16089 commands/tablecmds.c:16203 commands/trigger.c:631
+#: rewrite/rewriteHandler.c:830 rewrite/rewriteHandler.c:847
 #, c-format
 msgid "Column \"%s\" is a generated column."
 msgstr "La columna «%s» es una columna generada."
 
-#: commands/tablecmds.c:15932
+#: commands/tablecmds.c:16165
 #, 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:15952
+#: commands/tablecmds.c:16185
 #, 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:15982
+#: commands/tablecmds.c:16215
 #, c-format
 msgid "cannot use constant expression as partition key"
 msgstr "no se pueden usar expresiones constantes como llave de particionamiento"
 
-#: commands/tablecmds.c:16003
+#: commands/tablecmds.c:16236
 #, 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:16038
+#: commands/tablecmds.c:16271
 #, 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:16044
+#: commands/tablecmds.c:16277
 #, 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:16189
+#: commands/tablecmds.c:16422
 #, c-format
 msgid "partition constraint for table \"%s\" is implied by existing constraints"
 msgstr "la restricción de partición para la tabla \"%s\" está implícita en las restricciones existentes"
 
-#: commands/tablecmds.c:16193 partitioning/partbounds.c:3129
-#: partitioning/partbounds.c:3180
+#: commands/tablecmds.c:16426 partitioning/partbounds.c:3119
+#: partitioning/partbounds.c:3170
 #, c-format
 msgid "updated partition constraint for default partition \"%s\" is implied by existing constraints"
 msgstr "la restricción de partición actualizada para la partición por omisión \"%s\" está implícita en las restricciones existentes"
 
-#: commands/tablecmds.c:16292
+#: commands/tablecmds.c:16525
 #, c-format
 msgid "\"%s\" is already a partition"
 msgstr "«%s» ya es una partición"
 
-#: commands/tablecmds.c:16298
+#: commands/tablecmds.c:16531
 #, c-format
 msgid "cannot attach a typed table as partition"
 msgstr "no puede adjuntar tabla tipada como partición"
 
-#: commands/tablecmds.c:16314
+#: commands/tablecmds.c:16547
 #, c-format
 msgid "cannot attach inheritance child as partition"
 msgstr "no puede adjuntar hija de herencia como partición"
 
-#: commands/tablecmds.c:16328
+#: commands/tablecmds.c:16561
 #, c-format
 msgid "cannot attach inheritance parent as partition"
 msgstr "no puede adjuntar ancestro de herencia como partición"
 
-#: commands/tablecmds.c:16362
+#: commands/tablecmds.c:16595
 #, 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:16370
+#: commands/tablecmds.c:16603
 #, 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:16378
+#: commands/tablecmds.c:16611
 #, 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:16385
+#: commands/tablecmds.c:16618
 #, 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:16405
+#: commands/tablecmds.c:16638
 #, 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:16408
+#: commands/tablecmds.c:16641
 #, 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:16420
+#: commands/tablecmds.c:16653
 #, 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:16422 commands/trigger.c:447
+#: commands/tablecmds.c:16655 commands/trigger.c:437
 #, 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:16585
+#: commands/tablecmds.c:16818
 #, 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:16588
+#: commands/tablecmds.c:16821
 #, c-format
 msgid "Table \"%s\" contains unique indexes."
 msgstr "La tabla «%s» contiene índices únicos."
 
-#: commands/tablecmds.c:17234 commands/tablecmds.c:17254
-#: commands/tablecmds.c:17274 commands/tablecmds.c:17293
-#: commands/tablecmds.c:17335
+#: commands/tablecmds.c:17467 commands/tablecmds.c:17487
+#: commands/tablecmds.c:17507 commands/tablecmds.c:17526
+#: commands/tablecmds.c:17568
 #, 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:17237
+#: commands/tablecmds.c:17470
 #, c-format
 msgid "Index \"%s\" is already attached to another index."
 msgstr "El índice «%s» ya está adjunto a otro índice."
 
-#: commands/tablecmds.c:17257
+#: commands/tablecmds.c:17490
 #, 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:17277
+#: commands/tablecmds.c:17510
 #, c-format
 msgid "The index definitions do not match."
 msgstr "Las definiciones de los índices no coinciden."
 
-#: commands/tablecmds.c:17296
+#: commands/tablecmds.c:17529
 #, 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:17338
+#: commands/tablecmds.c:17571
 #, c-format
 msgid "Another index is already attached for partition \"%s\"."
 msgstr "Otro índice ya está adjunto para la partición «%s»."
 
 #: commands/tablespace.c:162 commands/tablespace.c:179
 #: commands/tablespace.c:190 commands/tablespace.c:198
-#: commands/tablespace.c:638 replication/slot.c:1373 storage/file/copydir.c:47
+#: commands/tablespace.c:650 replication/slot.c:1373 storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "no se pudo crear el directorio «%s»: %m"
@@ -10296,340 +10313,347 @@ msgstr "la ruta «%s» del tablespace es demasiado larga"
 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:305 commands/tablespace.c:965
+#: commands/tablespace.c:305 commands/tablespace.c:977
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "el nombre de tablespace «%s» es inaceptable"
 
-#: commands/tablespace.c:307 commands/tablespace.c:966
+#: commands/tablespace.c:307 commands/tablespace.c:978
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "El prefijo «pg_» está reservado para tablespaces del sistema."
 
-#: commands/tablespace.c:326 commands/tablespace.c:987
+#: commands/tablespace.c:326 commands/tablespace.c:999
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "el tablespace «%s» ya existe"
 
-#: commands/tablespace.c:442 commands/tablespace.c:948
-#: commands/tablespace.c:1037 commands/tablespace.c:1106
-#: commands/tablespace.c:1252 commands/tablespace.c:1455
+#: commands/tablespace.c:444 commands/tablespace.c:960
+#: commands/tablespace.c:1049 commands/tablespace.c:1118
+#: commands/tablespace.c:1264 commands/tablespace.c:1467
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "no existe el tablespace «%s»"
 
-#: commands/tablespace.c:448
+#: commands/tablespace.c:450
 #, c-format
 msgid "tablespace \"%s\" does not exist, skipping"
 msgstr "el tablespace «%s» no existe, omitiendo"
 
-#: commands/tablespace.c:525
+#: commands/tablespace.c:478
+#, fuzzy, c-format
+#| msgid "role \"%s\" cannot be dropped because some objects depend on it"
+msgid "tablespace \"%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/tablespace.c:537
 #, c-format
 msgid "tablespace \"%s\" is not empty"
 msgstr "el tablespace «%s» no está vacío"
 
-#: commands/tablespace.c:597
+#: commands/tablespace.c:609
 #, c-format
 msgid "directory \"%s\" does not exist"
 msgstr "no existe el directorio «%s»"
 
-#: commands/tablespace.c:598
+#: commands/tablespace.c:610
 #, 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:603
+#: commands/tablespace.c:615
 #, 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:633
+#: commands/tablespace.c:645
 #, c-format
 msgid "directory \"%s\" already in use as a tablespace"
 msgstr "el directorio «%s» ya está siendo usado como tablespace"
 
-#: commands/tablespace.c:757 commands/tablespace.c:770
-#: commands/tablespace.c:806 commands/tablespace.c:898 storage/file/fd.c:3108
-#: storage/file/fd.c:3448
+#: commands/tablespace.c:769 commands/tablespace.c:782
+#: commands/tablespace.c:818 commands/tablespace.c:910 storage/file/fd.c:3122
+#: storage/file/fd.c:3462
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "no se pudo eliminar el directorio «%s»: %m"
 
-#: commands/tablespace.c:819 commands/tablespace.c:907
+#: commands/tablespace.c:831 commands/tablespace.c:919
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "no se pudo eliminar el enlace simbólico «%s»: %m"
 
-#: commands/tablespace.c:829 commands/tablespace.c:916
+#: commands/tablespace.c:841 commands/tablespace.c:928
 #, c-format
 msgid "\"%s\" is not a directory or symbolic link"
 msgstr "«%s» no es un directorio o enlace simbólico"
 
-#: commands/tablespace.c:1111
+#: commands/tablespace.c:1123
 #, c-format
 msgid "Tablespace \"%s\" does not exist."
 msgstr "No existe el tablespace «%s»."
 
-#: commands/tablespace.c:1554
+#: commands/tablespace.c:1566
 #, c-format
 msgid "directories for tablespace %u could not be removed"
 msgstr "algunos directorios para el tablespace %u no pudieron eliminarse"
 
-#: commands/tablespace.c:1556
+#: commands/tablespace.c:1568
 #, c-format
 msgid "You can remove the directories manually if necessary."
 msgstr "Puede eliminar los directorios manualmente, si es necesario."
 
-#: commands/trigger.c:204 commands/trigger.c:215
+#: commands/trigger.c:194 commands/trigger.c:205
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "«%s» es una tabla"
 
-#: commands/trigger.c:206 commands/trigger.c:217
+#: commands/trigger.c:196 commands/trigger.c:207
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "Las tablas no pueden tener disparadores INSTEAD OF."
 
-#: commands/trigger.c:238
+#: commands/trigger.c:228
 #, c-format
 msgid "\"%s\" is a partitioned table"
 msgstr "«%s» es una tabla particionada"
 
-#: commands/trigger.c:240
+#: commands/trigger.c:230
 #, c-format
 msgid "Triggers on partitioned tables cannot have transition tables."
 msgstr "Los triggers en tablas particionadas no pueden tener tablas de transición."
 
-#: commands/trigger.c:252 commands/trigger.c:259 commands/trigger.c:429
+#: commands/trigger.c:242 commands/trigger.c:249 commands/trigger.c:419
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "«%s» es una vista"
 
-#: commands/trigger.c:254
+#: commands/trigger.c:244
 #, 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:261
+#: commands/trigger.c:251
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "Las vistas no pueden tener disparadores TRUNCATE."
 
-#: commands/trigger.c:269 commands/trigger.c:276 commands/trigger.c:288
-#: commands/trigger.c:422
+#: commands/trigger.c:259 commands/trigger.c:266 commands/trigger.c:278
+#: commands/trigger.c:412
 #, c-format
 msgid "\"%s\" is a foreign table"
 msgstr "«%s» es una tabla foránea"
 
-#: commands/trigger.c:271
+#: commands/trigger.c:261
 #, c-format
 msgid "Foreign tables cannot have INSTEAD OF triggers."
 msgstr "Las tablas foráneas no pueden tener disparadores INSTEAD OF."
 
-#: commands/trigger.c:278
+#: commands/trigger.c:268
 #, c-format
 msgid "Foreign tables cannot have TRUNCATE triggers."
 msgstr "Las tablas foráneas no pueden tener disparadores TRUNCATE."
 
-#: commands/trigger.c:290
+#: commands/trigger.c:280
 #, c-format
 msgid "Foreign tables cannot have constraint triggers."
 msgstr "Las tablas foráneas no pueden tener disparadores de restricción."
 
-#: commands/trigger.c:365
+#: commands/trigger.c:355
 #, 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:373
+#: commands/trigger.c:363
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "los disparadores INSTEAD OF deben ser FOR EACH ROW"
 
-#: commands/trigger.c:377
+#: commands/trigger.c:367
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "los disparadores INSTEAD OF no pueden tener condiciones WHEN"
 
-#: commands/trigger.c:381
+#: commands/trigger.c:371
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "los disparadores INSTEAD OF no pueden tener listas de columnas"
 
-#: commands/trigger.c:410
+#: commands/trigger.c:400
 #, 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:411
+#: commands/trigger.c:401
 #, 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:424
+#: commands/trigger.c:414
 #, 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:431
+#: commands/trigger.c:421
 #, 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:451
+#: commands/trigger.c:441
 #, 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:457
+#: commands/trigger.c:447
 #, 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:462
+#: commands/trigger.c:452
 #, 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:479
+#: commands/trigger.c:469
 #, 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:490
+#: commands/trigger.c:480
 #, 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:507
+#: commands/trigger.c:497
 #, 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:512
+#: commands/trigger.c:502
 #, c-format
 msgid "NEW TABLE cannot be specified multiple times"
 msgstr "NEW TABLE no se puede especificar varias veces"
 
-#: commands/trigger.c:522
+#: commands/trigger.c:512
 #, 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:527
+#: commands/trigger.c:517
 #, c-format
 msgid "OLD TABLE cannot be specified multiple times"
 msgstr "OLD TABLE no se puede especificar varias veces"
 
-#: commands/trigger.c:537
+#: commands/trigger.c:527
 #, 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:601 commands/trigger.c:614
+#: commands/trigger.c:591 commands/trigger.c:604
 #, 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:606
+#: commands/trigger.c:596
 #, 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:619
+#: commands/trigger.c:609
 #, 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:624
+#: commands/trigger.c:614
 #, 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:632 commands/trigger.c:640
+#: commands/trigger.c:622 commands/trigger.c:630
 #, 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:633
+#: commands/trigger.c:623
 #, 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:780 commands/trigger.c:1385
+#: commands/trigger.c:770 commands/trigger.c:1375
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "ya existe un trigger «%s» para la relación «%s»"
 
-#: commands/trigger.c:1271 commands/trigger.c:1432 commands/trigger.c:1568
+#: commands/trigger.c:1261 commands/trigger.c:1422 commands/trigger.c:1537
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "no existe el trigger «%s» para la tabla «%s»"
 
-#: commands/trigger.c:1515
+#: commands/trigger.c:1505
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "permiso denegado: «%s» es un trigger de sistema"
 
-#: commands/trigger.c:2116
+#: commands/trigger.c:2085
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "la función de trigger %u ha retornado un valor null"
 
-#: commands/trigger.c:2176 commands/trigger.c:2390 commands/trigger.c:2625
-#: commands/trigger.c:2933
+#: commands/trigger.c:2145 commands/trigger.c:2359 commands/trigger.c:2597
+#: commands/trigger.c:2898
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "un trigger BEFORE STATEMENT no puede retornar un valor"
 
-#: commands/trigger.c:2250
+#: commands/trigger.c:2219
 #, 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:2251 commands/trigger.c:2755
+#: commands/trigger.c:2220
 #, 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:2754
-#, c-format
-msgid "moving row to another partition during a BEFORE trigger is not supported"
-msgstr "mover registros a otra partición durante un trigger BEFORE no está soportado"
-
-#: commands/trigger.c:2996 executor/nodeModifyTable.c:1380
-#: executor/nodeModifyTable.c:1449
+#: commands/trigger.c:2964 executor/nodeModifyTable.c:1439
+#: executor/nodeModifyTable.c:1508
 #, 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:2997 executor/nodeModifyTable.c:840
-#: executor/nodeModifyTable.c:914 executor/nodeModifyTable.c:1381
-#: executor/nodeModifyTable.c:1450
+#: commands/trigger.c:2965 executor/nodeModifyTable.c:895
+#: executor/nodeModifyTable.c:969 executor/nodeModifyTable.c:1440
+#: executor/nodeModifyTable.c:1509
 #, 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:3026 executor/nodeLockRows.c:225
-#: executor/nodeLockRows.c:234 executor/nodeModifyTable.c:220
-#: executor/nodeModifyTable.c:856 executor/nodeModifyTable.c:1397
-#: executor/nodeModifyTable.c:1613
+#: commands/trigger.c:2994 executor/nodeLockRows.c:225
+#: executor/nodeLockRows.c:234 executor/nodeModifyTable.c:226
+#: executor/nodeModifyTable.c:911 executor/nodeModifyTable.c:1456
+#: executor/nodeModifyTable.c:1674
 #, 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:3034 executor/nodeModifyTable.c:946
-#: executor/nodeModifyTable.c:1467 executor/nodeModifyTable.c:1637
+#: commands/trigger.c:3002 executor/nodeModifyTable.c:1001
+#: executor/nodeModifyTable.c:1526 executor/nodeModifyTable.c:1698
 #, 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:5094
+#: commands/trigger.c:4063
+#, fuzzy, c-format
+#| msgid "cannot create temporary table within security-restricted operation"
+msgid "cannot fire deferred trigger within security-restricted operation"
+msgstr "no se puede crear una tabla temporal dentro una operación restringida por seguridad"
+
+#: commands/trigger.c:5103
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "la restricción «%s» no es postergable"
 
-#: commands/trigger.c:5117
+#: commands/trigger.c:5126
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "no existe la restricción «%s»"
@@ -11060,7 +11084,7 @@ msgstr "debe ser superusuario para crear superusuarios"
 msgid "must be superuser to create replication users"
 msgstr "debe ser superusuario para crear usuarios de replicación"
 
-#: commands/user.c:308 commands/user.c:734
+#: commands/user.c:308 commands/user.c:736
 #, c-format
 msgid "must be superuser to change bypassrls attribute"
 msgstr "debe ser superusuario para cambiar el atributo bypassrls"
@@ -11070,23 +11094,23 @@ msgstr "debe ser superusuario para cambiar el atributo bypassrls"
 msgid "permission denied to create role"
 msgstr "se ha denegado el permiso para crear el rol"
 
-#: commands/user.c:325 commands/user.c:1224 commands/user.c:1231
-#: utils/adt/acl.c:5327 utils/adt/acl.c:5333 gram.y:15146 gram.y:15184
+#: commands/user.c:325 commands/user.c:1226 commands/user.c:1233 gram.y:15147
+#: gram.y:15185 utils/adt/acl.c:5330 utils/adt/acl.c:5336
 #, c-format
 msgid "role name \"%s\" is reserved"
 msgstr "el nombre de rol «%s» está reservado"
 
-#: commands/user.c:327 commands/user.c:1226 commands/user.c:1233
+#: commands/user.c:327 commands/user.c:1228 commands/user.c:1235
 #, 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:348 commands/user.c:1248
+#: commands/user.c:348 commands/user.c:1250
 #, c-format
 msgid "role \"%s\" already exists"
 msgstr "el rol «%s» ya existe"
 
-#: commands/user.c:414 commands/user.c:843
+#: commands/user.c:414 commands/user.c:845
 #, 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"
@@ -11096,130 +11120,131 @@ msgstr "la cadena vacía no es una contraseña válida, limpiando la contraseña
 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:720 commands/user.c:944 commands/user.c:1485
-#: commands/user.c:1627
+#: commands/user.c:722 commands/user.c:946 commands/user.c:1487
+#: commands/user.c:1629
 #, c-format
 msgid "must be superuser to alter superusers"
 msgstr "debe ser superusuario para alterar superusuarios"
 
-#: commands/user.c:727
+#: commands/user.c:729
 #, c-format
 msgid "must be superuser to alter replication users"
 msgstr "debe ser superusuario para alterar usuarios de replicación"
 
-#: commands/user.c:750 commands/user.c:951
+#: commands/user.c:752 commands/user.c:953
 #, c-format
 msgid "permission denied"
 msgstr "permiso denegado"
 
-#: commands/user.c:981
+#: commands/user.c:983
 #, c-format
 msgid "must be superuser to alter settings globally"
 msgstr "debe ser superusuario para alterar parámetros globalmente"
 
-#: commands/user.c:1003
+#: commands/user.c:1005
 #, c-format
 msgid "permission denied to drop role"
 msgstr "se ha denegado el permiso para eliminar el rol"
 
-#: commands/user.c:1028
+#: commands/user.c:1030
 #, 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:1038 commands/user.c:1195 commands/variable.c:770
-#: commands/variable.c:844 utils/adt/acl.c:5184 utils/adt/acl.c:5231
-#: utils/adt/acl.c:5259 utils/adt/acl.c:5277 utils/init/miscinit.c:675
+#: commands/user.c:1040 commands/user.c:1197 commands/variable.c:778
+#: commands/variable.c:781 commands/variable.c:865 commands/variable.c:868
+#: utils/adt/acl.c:5187 utils/adt/acl.c:5234 utils/adt/acl.c:5262
+#: utils/adt/acl.c:5280 utils/init/miscinit.c:675
 #, c-format
 msgid "role \"%s\" does not exist"
 msgstr "no existe el rol «%s»"
 
-#: commands/user.c:1043
+#: commands/user.c:1045
 #, c-format
 msgid "role \"%s\" does not exist, skipping"
 msgstr "el rol «%s» no existe, omitiendo"
 
-#: commands/user.c:1056 commands/user.c:1060
+#: commands/user.c:1058 commands/user.c:1062
 #, c-format
 msgid "current user cannot be dropped"
 msgstr "el usuario activo no puede ser eliminado"
 
-#: commands/user.c:1064
+#: commands/user.c:1066
 #, c-format
 msgid "session user cannot be dropped"
 msgstr "no se puede eliminar un usuario de la sesión"
 
-#: commands/user.c:1074
+#: commands/user.c:1076
 #, c-format
 msgid "must be superuser to drop superusers"
 msgstr "debe ser superusuario para eliminar superusuarios"
 
-#: commands/user.c:1090
+#: commands/user.c:1092
 #, 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:1211
+#: commands/user.c:1213
 #, 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:1215
+#: commands/user.c:1217
 #, c-format
 msgid "current user cannot be renamed"
 msgstr "no se puede cambiar el nombre al usuario activo"
 
-#: commands/user.c:1258
+#: commands/user.c:1260
 #, c-format
 msgid "must be superuser to rename superusers"
 msgstr "debe ser superusuario para cambiar el nombre a superusuarios"
 
-#: commands/user.c:1265
+#: commands/user.c:1267
 #, c-format
 msgid "permission denied to rename role"
 msgstr "se ha denegado el permiso para cambiar el nombre al rol"
 
-#: commands/user.c:1286
+#: commands/user.c:1288
 #, 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:1346
+#: commands/user.c:1348
 #, 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:1384
+#: commands/user.c:1386
 #, c-format
 msgid "permission denied to drop objects"
 msgstr "se ha denegado el permiso para eliminar objetos"
 
-#: commands/user.c:1411 commands/user.c:1420
+#: commands/user.c:1413 commands/user.c:1422
 #, c-format
 msgid "permission denied to reassign objects"
 msgstr "se ha denegado el permiso para reasignar objetos"
 
-#: commands/user.c:1493 commands/user.c:1635
+#: commands/user.c:1495 commands/user.c:1637
 #, c-format
 msgid "must have admin option on role \"%s\""
 msgstr "debe tener opción de admin en rol «%s»"
 
-#: commands/user.c:1510
+#: commands/user.c:1512
 #, c-format
 msgid "must be superuser to set grantor"
 msgstr "debe ser superusuario para especificar el cedente (grantor)"
 
-#: commands/user.c:1535
+#: commands/user.c:1537
 #, c-format
 msgid "role \"%s\" is a member of role \"%s\""
 msgstr "el rol «%s» es un miembro del rol «%s»"
 
-#: commands/user.c:1550
+#: commands/user.c:1552
 #, c-format
 msgid "role \"%s\" is already a member of role \"%s\""
 msgstr "el rol «%s» ya es un miembro del rol «%s»"
 
-#: commands/user.c:1657
+#: commands/user.c:1659
 #, c-format
 msgid "role \"%s\" is not a member of role \"%s\""
 msgstr "el rol «%s» no es un miembro del rol «%s»"
@@ -11353,7 +11378,7 @@ msgstr "Puede haber sufrido ya problemas de pérdida de datos por reciclaje del
 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/variable.c:165 utils/misc/guc.c:11156 utils/misc/guc.c:11218
+#: commands/variable.c:165 utils/misc/guc.c:11207 utils/misc/guc.c:11269
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Palabra clave no reconocida: «%s»."
@@ -11413,7 +11438,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:548 storage/lmgr/predicate.c:1623
+#: commands/variable.c:548 storage/lmgr/predicate.c:1698
 #, c-format
 msgid "cannot use serializable mode in a hot standby"
 msgstr "no se puede utilizar el modo serializable en un hot standby"
@@ -11448,7 +11473,13 @@ msgstr "No se puede cambiar «client_encoding» ahora."
 msgid "cannot change client_encoding during a parallel operation"
 msgstr "no se puede cambiar «client_encoding» durante una operación paralela"
 
-#: commands/variable.c:863
+#: commands/variable.c:890
+#, fuzzy, c-format
+#| msgid "permission denied to set role \"%s\""
+msgid "permission will be denied to set role \"%s\""
+msgstr "se ha denegado el permiso para definir el rol «%s»"
+
+#: commands/variable.c:895
 #, c-format
 msgid "permission denied to set role \"%s\""
 msgstr "se ha denegado el permiso para definir el rol «%s»"
@@ -11534,32 +11565,32 @@ 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:2404
+#: executor/execCurrent.c:280 executor/execExprInterp.c:2434
 #, 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:2416
+#: executor/execCurrent.c:292 executor/execExprInterp.c:2446
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "no se encontró un valor para parámetro %d"
 
-#: executor/execExpr.c:859 parser/parse_agg.c:816
+#: executor/execExpr.c:890 parser/parse_agg.c:816
 #, c-format
 msgid "window function calls cannot be nested"
 msgstr "no se pueden anidar llamadas a funciones de ventana deslizante"
 
-#: executor/execExpr.c:1318
+#: executor/execExpr.c:1349
 #, c-format
 msgid "target type is not an array"
 msgstr "el tipo de destino no es un array"
 
-#: executor/execExpr.c:1651
+#: executor/execExpr.c:1689
 #, 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:2176 executor/execSRF.c:708 parser/parse_func.c:135
+#: executor/execExpr.c:2214 executor/execSRF.c:708 parser/parse_func.c:135
 #: parser/parse_func.c:646 parser/parse_func.c:1020
 #, c-format
 msgid "cannot pass more than %d argument to a function"
@@ -11567,92 +11598,100 @@ 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:2587 executor/execExpr.c:2593
-#: executor/execExprInterp.c:2730 utils/adt/arrayfuncs.c:262
-#: utils/adt/arrayfuncs.c:560 utils/adt/arrayfuncs.c:1302
-#: utils/adt/arrayfuncs.c:3348 utils/adt/arrayfuncs.c:5308
-#: utils/adt/arrayfuncs.c:5821
+#: executor/execExpr.c:2625 executor/execExpr.c:2631
+#: executor/execExprInterp.c:2759 utils/adt/arrayfuncs.c:262
+#: utils/adt/arrayfuncs.c:562 utils/adt/arrayfuncs.c:1304
+#: utils/adt/arrayfuncs.c:3348 utils/adt/arrayfuncs.c:5310
+#: utils/adt/arrayfuncs.c:5827
 #, 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:1894
+#: executor/execExprInterp.c:1899
 #, c-format
 msgid "attribute %d of type %s has been dropped"
 msgstr "El atributo %d de tipo %s ha sido eliminado"
 
-#: executor/execExprInterp.c:1900
+#: executor/execExprInterp.c:1905
 #, 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:1902 executor/execExprInterp.c:3002
-#: executor/execExprInterp.c:3049
+#: executor/execExprInterp.c:1907 executor/execExprInterp.c:3035
+#: executor/execExprInterp.c:3081
 #, 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:2494
+#: executor/execExprInterp.c:1986 utils/adt/expandedrecord.c:99
+#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1632
+#: utils/cache/typcache.c:1788 utils/cache/typcache.c:1918
+#: utils/fmgr/funcapi.c:456
+#, c-format
+msgid "type %s is not composite"
+msgstr "el tipo %s no es compuesto"
+
+#: executor/execExprInterp.c:2524
 #, 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:2708
+#: executor/execExprInterp.c:2737
 #, c-format
 msgid "cannot merge incompatible arrays"
 msgstr "no se puede mezclar arrays incompatibles"
 
-#: executor/execExprInterp.c:2709
+#: executor/execExprInterp.c:2738
 #, 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:2750 executor/execExprInterp.c:2780
+#: executor/execExprInterp.c:2779 executor/execExprInterp.c:2809
 #, 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:3001 executor/execExprInterp.c:3048
+#: executor/execExprInterp.c:3034 executor/execExprInterp.c:3080
 #, c-format
 msgid "attribute %d has wrong type"
 msgstr "el atributo %d tiene tipo erróneo"
 
-#: executor/execExprInterp.c:3158
+#: executor/execExprInterp.c:3194
 #, c-format
 msgid "array subscript in assignment must not be null"
 msgstr "subíndice de array en asignación no puede ser nulo"
 
-#: executor/execExprInterp.c:3588 utils/adt/domains.c:149
+#: executor/execExprInterp.c:3621 utils/adt/domains.c:149
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "el dominio %s no permite valores null"
 
-#: executor/execExprInterp.c:3603 utils/adt/domains.c:184
+#: executor/execExprInterp.c:3636 utils/adt/domains.c:184
 #, 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:3973 executor/execExprInterp.c:3990
-#: executor/execExprInterp.c:4091 executor/nodeModifyTable.c:109
+#: executor/execExprInterp.c:4006 executor/execExprInterp.c:4023
+#: executor/execExprInterp.c:4124 executor/nodeModifyTable.c:109
 #: executor/nodeModifyTable.c:120 executor/nodeModifyTable.c:137
 #: executor/nodeModifyTable.c:145
 #, 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/execExprInterp.c:3974
+#: executor/execExprInterp.c:4007
 #, 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:3991 executor/nodeModifyTable.c:121
+#: executor/execExprInterp.c:4024 executor/nodeModifyTable.c:121
 #, 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/execExprInterp.c:4092 executor/execSRF.c:967
+#: executor/execExprInterp.c:4125 executor/execSRF.c:967
 #, 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."
@@ -11692,175 +11731,175 @@ msgstr "La llave %s está en conflicto con la llave existente %s."
 msgid "Key conflicts with existing key."
 msgstr "La llave está en conflicto con una llave existente."
 
-#: executor/execMain.c:1091
+#: executor/execMain.c:1077
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "no se puede cambiar la secuencia «%s»"
 
-#: executor/execMain.c:1097
+#: executor/execMain.c:1083
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "no se puede cambiar la relación TOAST «%s»"
 
-#: executor/execMain.c:1115 rewrite/rewriteHandler.c:2934
-#: rewrite/rewriteHandler.c:3708
+#: executor/execMain.c:1101 rewrite/rewriteHandler.c:2972
+#: rewrite/rewriteHandler.c:3749
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "no se puede insertar en la vista «%s»"
 
-#: executor/execMain.c:1117 rewrite/rewriteHandler.c:2937
-#: rewrite/rewriteHandler.c:3711
+#: executor/execMain.c:1103 rewrite/rewriteHandler.c:2975
+#: rewrite/rewriteHandler.c:3752
 #, 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:1123 rewrite/rewriteHandler.c:2942
-#: rewrite/rewriteHandler.c:3716
+#: executor/execMain.c:1109 rewrite/rewriteHandler.c:2980
+#: rewrite/rewriteHandler.c:3757
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "no se puede actualizar la vista «%s»"
 
-#: executor/execMain.c:1125 rewrite/rewriteHandler.c:2945
-#: rewrite/rewriteHandler.c:3719
+#: executor/execMain.c:1111 rewrite/rewriteHandler.c:2983
+#: rewrite/rewriteHandler.c:3760
 #, 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:1131 rewrite/rewriteHandler.c:2950
-#: rewrite/rewriteHandler.c:3724
+#: executor/execMain.c:1117 rewrite/rewriteHandler.c:2988
+#: rewrite/rewriteHandler.c:3765
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "no se puede eliminar de la vista «%s»"
 
-#: executor/execMain.c:1133 rewrite/rewriteHandler.c:2953
-#: rewrite/rewriteHandler.c:3727
+#: executor/execMain.c:1119 rewrite/rewriteHandler.c:2991
+#: rewrite/rewriteHandler.c:3768
 #, 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:1144
+#: executor/execMain.c:1130
 #, c-format
 msgid "cannot change materialized view \"%s\""
 msgstr "no se puede cambiar la vista materializada «%s»"
 
-#: executor/execMain.c:1156
+#: executor/execMain.c:1142
 #, c-format
 msgid "cannot insert into foreign table \"%s\""
 msgstr "no se puede insertar en la tabla foránea «%s»"
 
-#: executor/execMain.c:1162
+#: executor/execMain.c:1148
 #, c-format
 msgid "foreign table \"%s\" does not allow inserts"
 msgstr "la tabla foránea «%s» no permite inserciones"
 
-#: executor/execMain.c:1169
+#: executor/execMain.c:1155
 #, c-format
 msgid "cannot update foreign table \"%s\""
 msgstr "no se puede actualizar la tabla foránea «%s»"
 
-#: executor/execMain.c:1175
+#: executor/execMain.c:1161
 #, c-format
 msgid "foreign table \"%s\" does not allow updates"
 msgstr "la tabla foránea «%s» no permite actualizaciones"
 
-#: executor/execMain.c:1182
+#: executor/execMain.c:1168
 #, c-format
 msgid "cannot delete from foreign table \"%s\""
 msgstr "no se puede eliminar desde la tabla foránea «%s»"
 
-#: executor/execMain.c:1188
+#: executor/execMain.c:1174
 #, c-format
 msgid "foreign table \"%s\" does not allow deletes"
 msgstr "la tabla foránea «%s» no permite eliminaciones"
 
-#: executor/execMain.c:1199
+#: executor/execMain.c:1185
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "no se puede cambiar la relación «%s»"
 
-#: executor/execMain.c:1226
+#: executor/execMain.c:1212
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "no se puede bloquear registros de la secuencia «%s»"
 
-#: executor/execMain.c:1233
+#: executor/execMain.c:1219
 #, 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:1240
+#: executor/execMain.c:1226
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "no se puede bloquear registros en la vista «%s»"
 
-#: executor/execMain.c:1248
+#: executor/execMain.c:1234
 #, c-format
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "no se puede bloquear registros en la vista materializada «%s»"
 
-#: executor/execMain.c:1257 executor/execMain.c:2627
+#: executor/execMain.c:1243 executor/execMain.c:2618
 #: executor/nodeLockRows.c:132
 #, 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:1263
+#: executor/execMain.c:1249
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "no se puede bloquear registros en la tabla «%s»"
 
-#: executor/execMain.c:1879
+#: executor/execMain.c:1867
 #, 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:1881 executor/execMain.c:1964 executor/execMain.c:2012
-#: executor/execMain.c:2120
+#: executor/execMain.c:1869 executor/execMain.c:1952 executor/execMain.c:2002
+#: executor/execMain.c:2111
 #, c-format
 msgid "Failing row contains %s."
 msgstr "La fila que falla contiene %s."
 
-#: executor/execMain.c:1961
+#: executor/execMain.c:1949
 #, 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:2010
+#: executor/execMain.c:2000
 #, 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:2118
+#: executor/execMain.c:2109
 #, 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:2128
+#: executor/execMain.c:2119
 #, 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:2133
+#: executor/execMain.c:2124
 #, 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:2140
+#: executor/execMain.c:2131
 #, 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:2145
+#: executor/execMain.c:2136
 #, 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:341
+#: executor/execPartition.c:342
 #, 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:344
+#: executor/execPartition.c:345
 #, c-format
 msgid "Partition key of the failing row contains %s."
 msgstr "La llave de particionamiento de la fila que falla contiene %s."
@@ -11881,9 +11920,9 @@ msgid "concurrent delete, retrying"
 msgstr "eliminacón concurrente, reintentando"
 
 #: executor/execReplication.c:269 parser/parse_oper.c:228
-#: utils/adt/array_userfuncs.c:719 utils/adt/array_userfuncs.c:858
-#: utils/adt/arrayfuncs.c:3626 utils/adt/arrayfuncs.c:4146
-#: utils/adt/arrayfuncs.c:6132 utils/adt/rowtypes.c:1182
+#: utils/adt/array_userfuncs.c:720 utils/adt/array_userfuncs.c:859
+#: utils/adt/arrayfuncs.c:3628 utils/adt/arrayfuncs.c:4148
+#: utils/adt/arrayfuncs.c:6140 utils/adt/rowtypes.c:1182
 #, 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"
@@ -11960,12 +11999,19 @@ msgstr[1] "Fila retornada contiene %d atributos, pero la consulta esperaba %d."
 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/execUtils.c:750
+#: executor/execTuples.c:146 executor/execTuples.c:353
+#: executor/execTuples.c:521 executor/execTuples.c:712
+#, fuzzy, c-format
+#| msgid "cannot use system column \"%s\" in partition key"
+msgid "cannot retrieve a system column in this context"
+msgstr "no se puede usar la columna de sistema «%s» en llave de particionamiento"
+
+#: executor/execUtils.c:751
 #, c-format
 msgid "materialized view \"%s\" has not been populated"
 msgstr "la vista materializada «%s» no ha sido poblada"
 
-#: executor/execUtils.c:752
+#: executor/execUtils.c:753
 #, c-format
 msgid "Use the REFRESH MATERIALIZED VIEW command."
 msgstr "Use la orden REFRESH MATERIALIZED VIEW."
@@ -11992,74 +12038,74 @@ msgstr "%s no está permitido en una función SQL"
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s no está permitido en una función no-«volatile»"
 
-#: executor/functions.c:1430
+#: executor/functions.c:1424
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "función SQL «%s» en la sentencia %d"
 
-#: executor/functions.c:1456
+#: executor/functions.c:1450
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "función SQL «%s» durante el inicio"
 
-#: executor/functions.c:1549
+#: executor/functions.c:1553
 #, c-format
 msgid "calling procedures with output arguments is not supported in SQL functions"
 msgstr "no está permitido invocar procedimientos con arguments de salida en funciones SQL"
 
-#: executor/functions.c:1671 executor/functions.c:1708
-#: executor/functions.c:1722 executor/functions.c:1812
-#: executor/functions.c:1845 executor/functions.c:1859
+#: executor/functions.c:1687 executor/functions.c:1724
+#: executor/functions.c:1738 executor/functions.c:1828
+#: executor/functions.c:1861 executor/functions.c:1875
 #, 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:1673
+#: executor/functions.c:1689
 #, c-format
 msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING."
 msgstr "La sentencia final de la función debe ser un SELECT o INSERT/UPDATE/DELETE RETURNING."
 
-#: executor/functions.c:1710
+#: executor/functions.c:1726
 #, c-format
 msgid "Final statement must return exactly one column."
 msgstr "La sentencia final debe retornar exactamente una columna."
 
-#: executor/functions.c:1724
+#: executor/functions.c:1740
 #, c-format
 msgid "Actual return type is %s."
 msgstr "El verdadero tipo de retorno es %s."
 
-#: executor/functions.c:1814
+#: executor/functions.c:1830
 #, c-format
 msgid "Final statement returns too many columns."
 msgstr "La sentencia final retorna demasiadas columnas."
 
-#: executor/functions.c:1847
+#: executor/functions.c:1863
 #, 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:1861
+#: executor/functions.c:1877
 #, c-format
 msgid "Final statement returns too few columns."
 msgstr "La sentencia final retorna muy pocas columnas."
 
-#: executor/functions.c:1889
+#: executor/functions.c:1905
 #, 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:3076 executor/nodeAgg.c:3085 executor/nodeAgg.c:3097
+#: executor/nodeAgg.c:3091 executor/nodeAgg.c:3100 executor/nodeAgg.c:3112
 #, c-format
 msgid "unexpected EOF for tape %d: requested %zu bytes, read %zu bytes"
 msgstr "EOF inesperado para la cinta %d: se requerían %zu bytes, se leyeron %zu bytes"
 
-#: executor/nodeAgg.c:4022 parser/parse_agg.c:655 parser/parse_agg.c:685
+#: executor/nodeAgg.c:4046 parser/parse_agg.c:655 parser/parse_agg.c:685
 #, c-format
 msgid "aggregate function calls cannot be nested"
 msgstr "no se pueden anidar llamadas a funciones de agregación"
 
-#: executor/nodeAgg.c:4230 executor/nodeWindowAgg.c:2836
+#: executor/nodeAgg.c:4254 executor/nodeWindowAgg.c:2836
 #, 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"
@@ -12119,27 +12165,27 @@ msgstr "La consulta entrega un valor para una columna eliminada en la posición
 msgid "Query has too few columns."
 msgstr "La consulta tiene muy pocas columnas."
 
-#: executor/nodeModifyTable.c:839 executor/nodeModifyTable.c:913
+#: executor/nodeModifyTable.c:894 executor/nodeModifyTable.c:968
 #, 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:1220
+#: executor/nodeModifyTable.c:1278
 #, c-format
 msgid "invalid ON UPDATE specification"
 msgstr "especificación ON UPDATE no válida"
 
-#: executor/nodeModifyTable.c:1221
+#: executor/nodeModifyTable.c:1279
 #, 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:1592
+#: executor/nodeModifyTable.c:1653
 #, c-format
 msgid "ON CONFLICT DO UPDATE command cannot affect row a second time"
 msgstr "la orden ON CONFLICT DO UPDATE no puede afectar el registro una segunda vez"
 
-#: executor/nodeModifyTable.c:1593
+#: executor/nodeModifyTable.c:1654
 #, 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."
@@ -12155,7 +12201,7 @@ msgid "TABLESAMPLE REPEATABLE parameter cannot be null"
 msgstr "el parámetro TABLESAMPLE REPEATABLE no puede ser null"
 
 #: executor/nodeSubplan.c:346 executor/nodeSubplan.c:385
-#: executor/nodeSubplan.c:1151
+#: executor/nodeSubplan.c:1159
 #, c-format
 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"
@@ -12261,7 +12307,7 @@ msgstr "no se puede abrir consulta %s como cursor"
 msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
 msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE no está soportado"
 
-#: executor/spi.c:1446 parser/analyze.c:2508
+#: executor/spi.c:1446 parser/analyze.c:2475
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Los cursores declarados SCROLL deben ser READ ONLY."
@@ -12291,15233 +12337,15294 @@ msgstr "el nombre de opción «%s» no es válido"
 msgid "Valid options in this context are: %s"
 msgstr "Las opciones válidas en este contexto son: %s"
 
-#: jit/jit.c:205 utils/fmgr/dfmgr.c:209 utils/fmgr/dfmgr.c:417
-#: utils/fmgr/dfmgr.c:465
+#: gram.y:1047
 #, c-format
-msgid "could not access file \"%s\": %m"
-msgstr "no se pudo acceder al archivo «%s»: %m"
+msgid "UNENCRYPTED PASSWORD is no longer supported"
+msgstr "UNENCRYPTED PASSWORD ya no está soportado"
 
-#: jit/llvm/llvmjit.c:595
+#: gram.y:1048
 #, c-format
-msgid "time to inline: %.3fs, opt: %.3fs, emit: %.3fs"
-msgstr "tiempo en «inline»: %.3fs, opt: %.3fs, emisión: %.3fs"
-
-#: lib/dshash.c:247 utils/mmgr/dsa.c:702 utils/mmgr/dsa.c:724
-#: utils/mmgr/dsa.c:805
-#, c-format
-msgid "Failed on DSA request of size %zu."
-msgstr "Falla en petición DSA de tamaño %zu."
+msgid "Remove UNENCRYPTED to store the password in encrypted form instead."
+msgstr "Quite UNENCRYPTED para almacenar la contraseña en su lugar en forma cifrada."
 
-#: libpq/auth-scram.c:248
+#: gram.y:1110
 #, c-format
-msgid "client selected an invalid SASL authentication mechanism"
-msgstr "cliente eligió un mecanismo de autentificación SASL no válido"
+msgid "unrecognized role option \"%s\""
+msgstr "opción de rol «%s» no reconocida"
 
-#: libpq/auth-scram.c:269 libpq/auth-scram.c:509 libpq/auth-scram.c:520
+#: gram.y:1357 gram.y:1372
 #, c-format
-msgid "invalid SCRAM secret for user \"%s\""
-msgstr "el secreto SCRAM para el usuario «%s» no es válido"
+msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements"
+msgstr "CREATE SCHEMA IF NOT EXISTS no puede incluir elementos de esquema"
 
-#: libpq/auth-scram.c:280
+#: gram.y:1518
 #, c-format
-msgid "User \"%s\" does not have a valid SCRAM secret."
-msgstr "El usuario «%s» no tiene un secreto SCRAM válido."
+msgid "current database cannot be changed"
+msgstr "no se puede cambiar la base de datos activa"
 
-#: libpq/auth-scram.c:358 libpq/auth-scram.c:363 libpq/auth-scram.c:693
-#: libpq/auth-scram.c:701 libpq/auth-scram.c:806 libpq/auth-scram.c:819
-#: libpq/auth-scram.c:829 libpq/auth-scram.c:937 libpq/auth-scram.c:944
-#: libpq/auth-scram.c:959 libpq/auth-scram.c:974 libpq/auth-scram.c:988
-#: libpq/auth-scram.c:1006 libpq/auth-scram.c:1021 libpq/auth-scram.c:1321
-#: libpq/auth-scram.c:1329
+#: gram.y:1642
 #, c-format
-msgid "malformed SCRAM message"
-msgstr "mensaje SCRAM mal formado"
+msgid "time zone interval must be HOUR or HOUR TO MINUTE"
+msgstr "el intervalo de huso horario debe ser HOUR o HOUR TO MINUTE"
 
-#: libpq/auth-scram.c:359
+#: gram.y:2177
 #, c-format
-msgid "The message is empty."
-msgstr "El mensaje está vacío."
+msgid "column number must be in range from 1 to %d"
+msgstr "el número de columna debe estar en el rango de 1 a %d"
 
-#: libpq/auth-scram.c:364
+#: gram.y:2709
 #, c-format
-msgid "Message length does not match input length."
-msgstr "El largo del mensaje no coincide con el largo de entrada."
+msgid "sequence option \"%s\" not supported here"
+msgstr "la opción de secuencia «%s» no está soportado aquí"
 
-#: libpq/auth-scram.c:396
+#: gram.y:2738
 #, c-format
-msgid "invalid SCRAM response"
-msgstr "respuesta SCRAM no válida"
+msgid "modulus for hash partition provided more than once"
+msgstr "el módulo para partición de hash fue especificado más de una vez"
 
-#: libpq/auth-scram.c:397
+#: gram.y:2747
 #, c-format
-msgid "Nonce does not match."
-msgstr "El «nonce» no coincide."
+msgid "remainder for hash partition provided more than once"
+msgstr "el remanentde para partición de hash fue especificado más de una vez"
 
-#: libpq/auth-scram.c:471
+#: gram.y:2754
 #, c-format
-msgid "could not generate random salt"
-msgstr "no se pudo generar una sal aleatoria"
+msgid "unrecognized hash partition bound specification \"%s\""
+msgstr "especificación de borde de partición hash «%s» no reconocida"
 
-#: libpq/auth-scram.c:694
+#: gram.y:2762
 #, c-format
-msgid "Expected attribute \"%c\" but found \"%s\"."
-msgstr "Se esperaba un atributo «%c» pero se encontró «%s»."
+msgid "modulus for hash partition must be specified"
+msgstr "el módulo para una partición hash debe ser especificado"
 
-#: libpq/auth-scram.c:702 libpq/auth-scram.c:830
+#: gram.y:2766
 #, c-format
-msgid "Expected character \"=\" for attribute \"%c\"."
-msgstr "Se esperaba el carácter «=» para el atributo «%c»."
+msgid "remainder for hash partition must be specified"
+msgstr "remanente en partición hash debe ser especificado"
 
-#: libpq/auth-scram.c:807
+#: gram.y:2967 gram.y:3000
 #, c-format
-msgid "Attribute expected, but found end of string."
-msgstr "Se esperaba un atributo, se encontró el fin de la cadena."
+msgid "STDIN/STDOUT not allowed with PROGRAM"
+msgstr "STDIN/STDOUT no están permitidos con PROGRAM"
 
-#: libpq/auth-scram.c:820
+#: gram.y:2973
 #, c-format
-msgid "Attribute expected, but found invalid character \"%s\"."
-msgstr "Se esperaba un atributo, se encontró el carácter no válido «%s»."
+msgid "WHERE clause not allowed with COPY TO"
+msgstr "la cláusula WHERE no está permitida con COPY TO"
 
-#: libpq/auth-scram.c:938 libpq/auth-scram.c:960
+#: gram.y:3305 gram.y:3312 gram.y:11648 gram.y:11656
 #, 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."
+msgid "GLOBAL is deprecated in temporary table creation"
+msgstr "GLOBAL está obsoleto para la creación de tablas temporales"
 
-#: libpq/auth-scram.c:945 libpq/auth-scram.c:975
+#: gram.y:3552
 #, c-format
-msgid "Comma expected, but found character \"%s\"."
-msgstr "Se esperaba una coma, se encontró el carácter «%s»."
+msgid "for a generated column, GENERATED ALWAYS must be specified"
+msgstr "para una columna generada, GENERATED ALWAYS debe ser especificado"
 
-#: libpq/auth-scram.c:966
+#: gram.y:3819 utils/adt/ri_triggers.c:2007
 #, c-format
-msgid "SCRAM channel binding negotiation error"
-msgstr "error de negociación de enlazado (binding) de canal SCRAM"
+msgid "MATCH PARTIAL not yet implemented"
+msgstr "MATCH PARTIAL no está implementada"
 
-#: libpq/auth-scram.c:967
+#: gram.y:4513
 #, 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."
+msgid "CREATE EXTENSION ... FROM is no longer supported"
+msgstr "CREATE EXTENSION ... FROM ya no está soportado"
 
-#: libpq/auth-scram.c:989
+#: gram.y:5339
 #, 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."
+msgid "unrecognized row security option \"%s\""
+msgstr "opción de seguridad de registro «%s» no reconocida"
 
-#: libpq/auth-scram.c:1000
+#: gram.y:5340
 #, c-format
-msgid "unsupported SCRAM channel-binding type \"%s\""
-msgstr "tipo de enlazado de canal SCRAM «%s» no soportado"
+msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently."
+msgstr "sólo se admiten actualmente políticas PERMISSIVE o RESTRICTIVE."
 
-#: libpq/auth-scram.c:1007
+#: gram.y:5453
+msgid "duplicate trigger events specified"
+msgstr "se han especificado eventos de disparador duplicados"
+
+#: gram.y:5594 parser/parse_utilcmd.c:3605 parser/parse_utilcmd.c:3631
 #, c-format
-msgid "Unexpected channel-binding flag \"%s\"."
-msgstr "Indicador de enlazado de canal «%s» inesperado."
+msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
+msgstr "una restricción declarada INITIALLY DEFERRED debe ser DEFERRABLE"
 
-#: libpq/auth-scram.c:1017
+#: gram.y:5601
 #, c-format
-msgid "client uses authorization identity, but it is not supported"
-msgstr "el cliente usa identidad de autorización, pero no está soportada"
+msgid "conflicting constraint properties"
+msgstr "propiedades de restricción contradictorias"
 
-#: libpq/auth-scram.c:1022
+#: gram.y:5697
 #, c-format
-msgid "Unexpected attribute \"%s\" in client-first-message."
-msgstr "Atributo inesperado \"%s\" en client-first-message."
+msgid "CREATE ASSERTION is not yet implemented"
+msgstr "CREATE ASSERTION no está implementado"
 
-#: libpq/auth-scram.c:1038
+#: gram.y:6080
 #, c-format
-msgid "client requires an unsupported SCRAM extension"
-msgstr "el cliente requiere una extensión SCRAM no soportada"
+msgid "RECHECK is no longer required"
+msgstr "RECHECK ya no es requerido"
 
-#: libpq/auth-scram.c:1052
+#: gram.y:6081
 #, c-format
-msgid "non-printable characters in SCRAM nonce"
-msgstr "caracteres no imprimibles en el «nonce» SCRAM"
+msgid "Update your data type."
+msgstr "Actualice su tipo de datos."
 
-#: libpq/auth-scram.c:1169
+#: gram.y:7832
 #, c-format
-msgid "could not generate random nonce"
-msgstr "no se pudo generar un «nonce» aleatorio"
+msgid "aggregates cannot have output arguments"
+msgstr "las funciones de agregación no pueden tener argumentos de salida"
 
-#: libpq/auth-scram.c:1179
+#: gram.y:8224 utils/adt/regproc.c:692 utils/adt/regproc.c:733
 #, c-format
-msgid "could not encode random nonce"
-msgstr "no se pudo codificar un «nonce» aleatorio"
+msgid "missing argument"
+msgstr "falta un argumento"
 
-#: libpq/auth-scram.c:1285
+#: gram.y:8225 utils/adt/regproc.c:693 utils/adt/regproc.c:734
 #, c-format
-msgid "SCRAM channel binding check failed"
-msgstr "la verificación de enlazado (binding) de canal SCRAM falló"
+msgid "Use NONE to denote the missing argument of a unary operator."
+msgstr "Use NONE para denotar el argumento faltante de un operador unario."
 
-#: libpq/auth-scram.c:1303
+#: gram.y:10154 gram.y:10172
 #, c-format
-msgid "unexpected SCRAM channel-binding attribute in client-final-message"
-msgstr "atributo de enlazado de canal SCRAM inesperado en client-final-message"
+msgid "WITH CHECK OPTION not supported on recursive views"
+msgstr "WITH CHECK OPTION no está soportado con vistas recursivas"
 
-#: libpq/auth-scram.c:1322
+#: gram.y:11780
 #, c-format
-msgid "Malformed proof in client-final-message."
-msgstr "Prueba (proof) mal formada en client-final-message."
+msgid "LIMIT #,# syntax is not supported"
+msgstr "la sintaxis LIMIT #,# no está soportada"
 
-#: libpq/auth-scram.c:1330
+#: gram.y:11781
 #, c-format
-msgid "Garbage found at the end of client-final-message."
-msgstr "Basura encontrada al final de client-final-message."
+msgid "Use separate LIMIT and OFFSET clauses."
+msgstr "Use cláusulas LIMIT y OFFSET separadas."
 
-#: libpq/auth.c:280
+#: gram.y:12107 gram.y:12132
 #, c-format
-msgid "authentication failed for user \"%s\": host rejected"
-msgstr "la autentificación falló para el usuario «%s»: anfitrión rechazado"
+msgid "VALUES in FROM must have an alias"
+msgstr "VALUES en FROM debe tener un alias"
 
-#: libpq/auth.c:283
+#: gram.y:12108 gram.y:12133
 #, c-format
-msgid "\"trust\" authentication failed for user \"%s\""
-msgstr "la autentificación «trust» falló para el usuario «%s»"
+msgid "For example, FROM (VALUES ...) [AS] foo."
+msgstr "Por ejemplo, FROM (VALUES ...) [AS] foo."
 
-#: libpq/auth.c:286
+#: gram.y:12113 gram.y:12138
 #, c-format
-msgid "Ident authentication failed for user \"%s\""
-msgstr "la autentificación Ident falló para el usuario «%s»"
+msgid "subquery in FROM must have an alias"
+msgstr "las subconsultas en FROM deben tener un alias"
 
-#: libpq/auth.c:289
+#: gram.y:12114 gram.y:12139
 #, c-format
-msgid "Peer authentication failed for user \"%s\""
-msgstr "la autentificación Peer falló para el usuario «%s»"
+msgid "For example, FROM (SELECT ...) [AS] foo."
+msgstr "Por ejemplo, FROM (SELECT ...) [AS] foo."
 
-#: libpq/auth.c:294
+#: gram.y:12592
 #, c-format
-msgid "password authentication failed for user \"%s\""
-msgstr "la autentificación password falló para el usuario «%s»"
+msgid "only one DEFAULT value is allowed"
+msgstr "Sólo se permite un valor DEFAULT"
 
-#: libpq/auth.c:299
+#: gram.y:12601
 #, c-format
-msgid "GSSAPI authentication failed for user \"%s\""
-msgstr "la autentificación GSSAPI falló para el usuario «%s»"
+msgid "only one PATH value per column is allowed"
+msgstr "sólo se permite un valor de PATH por columna"
 
-#: libpq/auth.c:302
+#: gram.y:12610
 #, c-format
-msgid "SSPI authentication failed for user \"%s\""
-msgstr "la autentificación SSPI falló para el usuario «%s»"
+msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\""
+msgstr "declaraciones NULL/NOT NULL en conflicto o redundantes para la columna «%s»"
 
-#: libpq/auth.c:305
+#: gram.y:12619
 #, c-format
-msgid "PAM authentication failed for user \"%s\""
-msgstr "la autentificación PAM falló para el usuario «%s»"
+msgid "unrecognized column option \"%s\""
+msgstr "opción de columna «%s» no reconocida"
 
-#: libpq/auth.c:308
+#: gram.y:12873
 #, c-format
-msgid "BSD authentication failed for user \"%s\""
-msgstr "la autentificación BSD falló para el usuario «%s»"
+msgid "precision for type float must be at least 1 bit"
+msgstr "la precisión para el tipo float debe ser al menos 1 bit"
 
-#: libpq/auth.c:311
+#: gram.y:12882
 #, c-format
-msgid "LDAP authentication failed for user \"%s\""
-msgstr "la autentificación LDAP falló para el usuario «%s»"
+msgid "precision for type float must be less than 54 bits"
+msgstr "la precisión para el tipo float debe ser menor de 54 bits"
 
-#: libpq/auth.c:314
+#: gram.y:13373
 #, c-format
-msgid "certificate authentication failed for user \"%s\""
-msgstr "la autentificación por certificado falló para el usuario «%s»"
+msgid "wrong number of parameters on left side of OVERLAPS expression"
+msgstr "el número de parámetros es incorrecto al lado izquierdo de la expresión OVERLAPS"
 
-#: libpq/auth.c:317
+#: gram.y:13378
 #, c-format
-msgid "RADIUS authentication failed for user \"%s\""
-msgstr "la autentificación RADIUS falló para el usuario «%s»"
+msgid "wrong number of parameters on right side of OVERLAPS expression"
+msgstr "el número de parámetros es incorrecto al lado derecho de la expresión OVERLAPS"
 
-#: libpq/auth.c:320
+#: gram.y:13553
 #, c-format
-msgid "authentication failed for user \"%s\": invalid authentication method"
-msgstr "la autentificación falló para el usuario «%s»: método de autentificación no válido"
+msgid "UNIQUE predicate is not yet implemented"
+msgstr "el predicado UNIQUE no está implementado"
 
-#: libpq/auth.c:324
+#: gram.y:13916
 #, c-format
-msgid "Connection matched pg_hba.conf line %d: \"%s\""
-msgstr "La conexión coincidió con la línea %d de pg_hba.conf: «%s»"
+msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP"
+msgstr "no se permiten múltiples cláusulas ORDER BY con WITHIN GROUP"
 
-#: libpq/auth.c:371
+#: gram.y:13921
 #, 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"
+msgid "cannot use DISTINCT with WITHIN GROUP"
+msgstr "no se permite DISTINCT con WITHIN GROUP"
 
-#: libpq/auth.c:382
+#: gram.y:13926
 #, c-format
-msgid "connection requires a valid client certificate"
-msgstr "la conexión requiere un certificado de cliente válido"
+msgid "cannot use VARIADIC with WITHIN GROUP"
+msgstr "no se permite VARIADIC con WITHIN GROUP"
 
-#: libpq/auth.c:392
+#: gram.y:14392 gram.y:14415
 #, c-format
-msgid "GSSAPI encryption can only be used with gss, trust, or reject authentication methods"
-msgstr "el cifrado GSSAPI sólo puede ser usado con los métodos gss, trust o reject"
+msgid "frame start cannot be UNBOUNDED FOLLOWING"
+msgstr "el inicio de «frame» no puede ser UNBOUNDED FOLLOWING"
 
-#: libpq/auth.c:426
+#: gram.y:14397
 #, c-format
-msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
-msgstr "pg_hba.conf rechaza la conexión de replicación para el servidor «%s», usuario «%s», %s"
-
-#: libpq/auth.c:428 libpq/auth.c:444 libpq/auth.c:502 libpq/auth.c:520
-msgid "SSL off"
-msgstr "SSL inactivo"
-
-#: libpq/auth.c:428 libpq/auth.c:444 libpq/auth.c:502 libpq/auth.c:520
-msgid "SSL on"
-msgstr "SSL activo"
+msgid "frame starting from following row cannot end with current row"
+msgstr "el «frame» que se inicia desde la siguiente fila no puede terminar en la fila actual"
 
-#: libpq/auth.c:432
+#: gram.y:14420
 #, c-format
-msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\""
-msgstr "pg_hba.conf rechaza la conexión de replicación para el servidor «%s», usuario «%s»"
+msgid "frame end cannot be UNBOUNDED PRECEDING"
+msgstr "el fin de «frame» no puede ser UNBOUNDED PRECEDING"
 
-#: libpq/auth.c:441
+#: gram.y:14426
 #, 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"
+msgid "frame starting from current row cannot have preceding rows"
+msgstr "el «frame» que se inicia desde la fila actual no puede tener filas precedentes"
 
-#: libpq/auth.c:448
+#: gram.y:14433
 #, c-format
-msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\""
-msgstr "pg_hba.conf rechaza la conexión para el servidor «%s», usuario «%s», base de datos «%s»"
+msgid "frame starting from following row cannot have preceding rows"
+msgstr "el «frame» que se inicia desde la fila siguiente no puede tener filas precedentes"
 
-#: libpq/auth.c:477
+#: gram.y:15083
 #, 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."
+msgid "type modifier cannot have parameter name"
+msgstr "el modificador de tipo no puede tener nombre de parámetro"
 
-#: libpq/auth.c:480
+#: gram.y:15089
 #, 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."
+msgid "type modifier cannot have ORDER BY"
+msgstr "el modificador de tipo no puede tener ORDER BY"
 
-#: libpq/auth.c:483
+#: gram.y:15154 gram.y:15161
 #, 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."
+msgid "%s cannot be used as a role name here"
+msgstr "%s no puede ser usado como nombre de rol aquí"
 
-#: libpq/auth.c:486
-#, 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."
+#: gram.y:15842 gram.y:16031
+msgid "improper use of \"*\""
+msgstr "uso impropio de «*»"
 
-#: libpq/auth.c:491
+#: gram.y:15994 gram.y:16011 tsearch/spell.c:982 tsearch/spell.c:999
+#: tsearch/spell.c:1016 tsearch/spell.c:1033 tsearch/spell.c:1098
 #, 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."
+msgid "syntax error"
+msgstr "error de sintaxis"
 
-#: libpq/auth.c:500
+#: gram.y:16095
 #, 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"
+msgid "an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"
+msgstr "una agregación de conjunto-ordenado con un argumento directo VARIADIC debe tener al menos un argumento agregado VARIADIC del mismo tipo de datos"
 
-#: libpq/auth.c:507
+#: gram.y:16132
 #, c-format
-msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\""
-msgstr "no hay una línea en pg_hba.conf para la conexión de replicación desde el servidor «%s», usuario «%s»"
+msgid "multiple ORDER BY clauses not allowed"
+msgstr "no se permiten múltiples cláusulas ORDER BY"
 
-#: libpq/auth.c:517
+#: gram.y:16143
 #, 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"
+msgid "multiple OFFSET clauses not allowed"
+msgstr "no se permiten múltiples cláusulas OFFSET"
 
-#: libpq/auth.c:525
+#: gram.y:16152
 #, c-format
-msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\""
-msgstr "no hay una línea en pg_hba.conf para «%s», usuario «%s», base de datos «%s»"
+msgid "multiple LIMIT clauses not allowed"
+msgstr "no se permiten múltiples cláusulas LIMIT"
 
-#: libpq/auth.c:688
+#: gram.y:16161
 #, c-format
-msgid "expected password response, got message type %d"
-msgstr "se esperaba una respuesta de contraseña, se obtuvo mensaje de tipo %d"
+msgid "multiple limit options not allowed"
+msgstr "no se permiten múltiples opciones limit"
 
-#: libpq/auth.c:716
-#, c-format
-msgid "invalid password packet size"
-msgstr "el tamaño del paquete de contraseña no es válido"
+#: gram.y:16165
+#, fuzzy, c-format
+#| msgid "WITH TIES cannot be specified without ORDER BY clause"
+msgid "WITH TIES cannot be specified without ORDER BY clause"
+msgstr "la opción WITH TIES no puede ser especificada sin una cláusula ORDER BY"
 
-#: libpq/auth.c:734
+#: gram.y:16173
 #, c-format
-msgid "empty password returned by client"
-msgstr "el cliente retornó una contraseña vacía"
+msgid "multiple WITH clauses not allowed"
+msgstr "no se permiten múltiples cláusulas WITH"
 
-#: libpq/auth.c:854 libpq/hba.c:1340
+#: gram.y:16377
 #, 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"
+msgid "OUT and INOUT arguments aren't allowed in TABLE functions"
+msgstr "los argumentos OUT e INOUT no están permitidos en funciones TABLE"
 
-#: libpq/auth.c:860
+#: gram.y:16473
 #, c-format
-msgid "could not generate random MD5 salt"
-msgstr "no se pudo generar una sal MD5 aleatoria"
+msgid "multiple COLLATE clauses not allowed"
+msgstr "no se permiten múltiples cláusulas COLLATE"
 
-#: libpq/auth.c:906
+#. translator: %s is CHECK, UNIQUE, or similar
+#: gram.y:16511 gram.y:16524
 #, c-format
-msgid "SASL authentication is not supported in protocol version 2"
-msgstr "autentificación SASL no está soportada en el protocolo versión 2"
+msgid "%s constraints cannot be marked DEFERRABLE"
+msgstr "las restricciones %s no pueden ser marcadas DEFERRABLE"
 
-#: libpq/auth.c:939
+#. translator: %s is CHECK, UNIQUE, or similar
+#: gram.y:16537
 #, c-format
-msgid "expected SASL response, got message type %d"
-msgstr "se esperaba una respuesta SASL, se obtuvo mensaje de tipo %d"
+msgid "%s constraints cannot be marked NOT VALID"
+msgstr "las restricciones %s no pueden ser marcadas NOT VALID"
 
-#: libpq/auth.c:1068
+#. translator: %s is CHECK, UNIQUE, or similar
+#: gram.y:16550
 #, c-format
-msgid "GSSAPI is not supported in protocol version 2"
-msgstr "GSSAPI no está soportado por el protocolo versión 2"
+msgid "%s constraints cannot be marked NO INHERIT"
+msgstr "las restricciones %s no pueden ser marcadas NO INHERIT"
 
-#: libpq/auth.c:1128
+#: guc-file.l:315
 #, 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:1189
-msgid "accepting GSS security context failed"
-msgstr "falló la aceptación del contexto de seguridad GSS"
-
-#: libpq/auth.c:1228
-msgid "retrieving GSS user name failed"
-msgstr "falló la obtención del nombre de usuario GSS"
+msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %u"
+msgstr "parámetro de configuración «%s» no reconocido en el archivo «%s» línea %u"
 
-#: libpq/auth.c:1359
+#: guc-file.l:352 utils/misc/guc.c:7018 utils/misc/guc.c:7216
+#: utils/misc/guc.c:7310 utils/misc/guc.c:7404 utils/misc/guc.c:7524
+#: utils/misc/guc.c:7623
 #, c-format
-msgid "SSPI is not supported in protocol version 2"
-msgstr "SSPI no está soportado por el protocolo versión 2"
-
-#: libpq/auth.c:1374
-msgid "could not acquire SSPI credentials"
-msgstr "no se pudo obtener las credenciales SSPI"
+msgid "parameter \"%s\" cannot be changed without restarting the server"
+msgstr "el parámetro «%s» no se puede cambiar sin reiniciar el servidor"
 
-#: libpq/auth.c:1399
+#: guc-file.l:388
 #, 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:1477
-msgid "could not accept SSPI security context"
-msgstr "no se pudo aceptar un contexto SSPI"
-
-#: libpq/auth.c:1539
-msgid "could not get token from SSPI security context"
-msgstr "no se pudo obtener un testigo (token) desde el contexto de seguridad SSPI"
+msgid "parameter \"%s\" removed from configuration file, reset to default"
+msgstr "parámetro «%s» eliminado del archivo de configuración, volviendo al valor por omisión"
 
-#: libpq/auth.c:1658 libpq/auth.c:1677
+#: guc-file.l:454
 #, c-format
-msgid "could not translate name"
-msgstr "no se pudo traducir el nombre"
+msgid "parameter \"%s\" changed to \"%s\""
+msgstr "el parámetro «%s» fue cambiado a «%s»"
 
-#: libpq/auth.c:1690
+#: guc-file.l:496
 #, c-format
-msgid "realm name too long"
-msgstr "nombre de «realm» demasiado largo"
+msgid "configuration file \"%s\" contains errors"
+msgstr "el archivo de configuración «%s» contiene errores"
 
-#: libpq/auth.c:1705
+#: guc-file.l:501
 #, c-format
-msgid "translated account name too long"
-msgstr "nombre de cuenta traducido demasiado largo"
+msgid "configuration file \"%s\" contains errors; unaffected changes were applied"
+msgstr "el archivo de configuración «%s» contiene errores; los cambios no afectados fueron aplicados"
 
-#: libpq/auth.c:1886
+#: guc-file.l:506
 #, c-format
-msgid "could not create socket for Ident connection: %m"
-msgstr "no se pudo crear un socket para conexión Ident: %m"
+msgid "configuration file \"%s\" contains errors; no changes were applied"
+msgstr "el archivo de configuración «%s» contiene errores; no se aplicó ningún cambio"
 
-#: libpq/auth.c:1901
+#: guc-file.l:578
 #, c-format
-msgid "could not bind to local address \"%s\": %m"
-msgstr "no se pudo enlazar a la dirección local «%s»: %m"
+msgid "empty configuration file name: \"%s\""
+msgstr "nombre de archivo de configuración vacío: «%s»"
 
-#: libpq/auth.c:1913
+#: guc-file.l:595
 #, 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"
+msgid "could not open configuration file \"%s\": maximum nesting depth exceeded"
+msgstr "no se pudo abrir el archivo de configuración «%s»: nivel de anidamiento máximo excedido"
 
-#: libpq/auth.c:1935
+#: guc-file.l:615
 #, 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"
+msgid "configuration file recursion in \"%s\""
+msgstr "recursión de archivos de configuración en «%s»"
 
-#: libpq/auth.c:1952
+#: guc-file.l:631 libpq/hba.c:2193 libpq/hba.c:2613
 #, 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"
+msgid "could not open configuration file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de configuración «%s»: %m"
 
-#: libpq/auth.c:1962
+#: guc-file.l:642
 #, c-format
-msgid "invalidly formatted response from Ident server: \"%s\""
-msgstr "respuesta del servidor Ident en formato no válido: «%s»"
+msgid "skipping missing configuration file \"%s\""
+msgstr "omitiendo el archivo de configuración faltante «%s»"
 
-#: libpq/auth.c:2009
+#: guc-file.l:896
 #, c-format
-msgid "peer authentication is not supported on this platform"
-msgstr "método de autentificación peer no está soportado en esta plataforma"
+msgid "syntax error in file \"%s\" line %u, near end of line"
+msgstr "error de sintaxis en el archivo «%s» línea %u, cerca del fin de línea"
 
-#: libpq/auth.c:2013
+#: guc-file.l:906
 #, c-format
-msgid "could not get peer credentials: %m"
-msgstr "no se pudo recibir credenciales: %m"
+msgid "syntax error in file \"%s\" line %u, near token \"%s\""
+msgstr "error de sintaxis en el archivo «%s» línea %u, cerca de la palabra «%s»"
 
-#: libpq/auth.c:2025
+#: guc-file.l:926
 #, c-format
-msgid "could not look up local user ID %ld: %s"
-msgstr "no se pudo encontrar el ID del usuario local %ld: %s"
+msgid "too many syntax errors found, abandoning file \"%s\""
+msgstr "se encontraron demasiados errores de sintaxis, abandonando el archivo «%s»"
 
-#: libpq/auth.c:2124
+#: guc-file.l:981
 #, c-format
-msgid "error from underlying PAM layer: %s"
-msgstr "se ha recibido un error de la biblioteca PAM: %s"
+msgid "empty configuration directory name: \"%s\""
+msgstr "nombre de directorio de configuración vacío: «%s»"
 
-#: libpq/auth.c:2194
+#: guc-file.l:1000
 #, c-format
-msgid "could not create PAM authenticator: %s"
-msgstr "no se pudo crear autenticador PAM: %s"
+msgid "could not open configuration directory \"%s\": %m"
+msgstr "no se pudo abrir el directorio de configuración «%s»: %m"
 
-#: libpq/auth.c:2205
+#: jit/jit.c:205 utils/fmgr/dfmgr.c:209 utils/fmgr/dfmgr.c:417
+#: utils/fmgr/dfmgr.c:465
 #, c-format
-msgid "pam_set_item(PAM_USER) failed: %s"
-msgstr "pam_set_item(PAM_USER) falló: %s"
+msgid "could not access file \"%s\": %m"
+msgstr "no se pudo acceder al archivo «%s»: %m"
 
-#: libpq/auth.c:2237
+#: jit/llvm/llvmjit.c:730
 #, c-format
-msgid "pam_set_item(PAM_RHOST) failed: %s"
-msgstr "pam_set_item(PAM_RHOST) falló: %s"
+msgid "time to inline: %.3fs, opt: %.3fs, emit: %.3fs"
+msgstr "tiempo en «inline»: %.3fs, opt: %.3fs, emisión: %.3fs"
 
-#: libpq/auth.c:2249
+#: jsonpath_gram.y:528 jsonpath_scan.l:519 jsonpath_scan.l:530
+#: jsonpath_scan.l:540 jsonpath_scan.l:582 utils/adt/encode.c:476
+#: utils/adt/encode.c:541 utils/adt/jsonfuncs.c:619 utils/adt/varlena.c:319
+#: utils/adt/varlena.c:360
 #, c-format
-msgid "pam_set_item(PAM_CONV) failed: %s"
-msgstr "pam_set_item(PAM_CONV) falló: %s"
+msgid "invalid input syntax for type %s"
+msgstr "sintaxis de entrada no válida para tipo %s"
 
-#: libpq/auth.c:2262
+#: jsonpath_gram.y:529
 #, c-format
-msgid "pam_authenticate failed: %s"
-msgstr "pam_authenticate falló: %s"
+msgid "unrecognized flag character \"%c\" in LIKE_REGEX predicate"
+msgstr "parámetro no reconocido «%c» en predicado LIKE_REGEX"
 
-#: libpq/auth.c:2275
+#: jsonpath_gram.y:583
 #, c-format
-msgid "pam_acct_mgmt failed: %s"
-msgstr "pam_acct_mgmt falló: %s"
+msgid "XQuery \"x\" flag (expanded regular expressions) is not implemented"
+msgstr "la opción «x» de XQuery (expresiones regulares expandidas) no está implementada"
 
-#: libpq/auth.c:2286
+#. translator: %s is typically "syntax error"
+#: jsonpath_scan.l:286
 #, c-format
-msgid "could not release PAM authenticator: %s"
-msgstr "no se pudo liberar autenticador PAM: %s"
+msgid "%s at end of jsonpath input"
+msgstr "%s al final de la entrada jsonpath"
 
-#: libpq/auth.c:2362
+#. translator: first %s is typically "syntax error"
+#: jsonpath_scan.l:293
 #, c-format
-msgid "could not initialize LDAP: error code %d"
-msgstr "no se pudo inicializar LDAP: código de error %d"
+msgid "%s at or near \"%s\" of jsonpath input"
+msgstr "%s en o cerca de «%s» de la entrada jsonpath"
 
-#: libpq/auth.c:2399
+#: jsonpath_scan.l:498 utils/adt/jsonfuncs.c:613
 #, c-format
-msgid "could not extract domain name from ldapbasedn"
-msgstr "no se pudo extraer el nombre de dominio de ldapbasedn"
+msgid "unsupported Unicode escape sequence"
+msgstr "secuencia de escape Unicode no soportado"
 
-#: libpq/auth.c:2407
+#: lib/dshash.c:247 utils/mmgr/dsa.c:702 utils/mmgr/dsa.c:724
+#: utils/mmgr/dsa.c:805
 #, 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»"
+msgid "Failed on DSA request of size %zu."
+msgstr "Falla en petición DSA de tamaño %zu."
 
-#: libpq/auth.c:2409
+#: libpq/auth-scram.c:248
 #, c-format
-msgid "Set an LDAP server name explicitly."
-msgstr "Defina un nombre de servidor LDAP explícitamente."
+msgid "client selected an invalid SASL authentication mechanism"
+msgstr "cliente eligió un mecanismo de autentificación SASL no válido"
 
-#: libpq/auth.c:2461
+#: libpq/auth-scram.c:269 libpq/auth-scram.c:509 libpq/auth-scram.c:520
 #, c-format
-msgid "could not initialize LDAP: %s"
-msgstr "no se pudo inicializar LDAP: %s"
+msgid "invalid SCRAM secret for user \"%s\""
+msgstr "el secreto SCRAM para el usuario «%s» no es válido"
 
-#: libpq/auth.c:2471
+#: libpq/auth-scram.c:280
 #, c-format
-msgid "ldaps not supported with this LDAP library"
-msgstr "ldaps no está soportado con esta biblioteca LDAP"
+msgid "User \"%s\" does not have a valid SCRAM secret."
+msgstr "El usuario «%s» no tiene un secreto SCRAM válido."
 
-#: libpq/auth.c:2479
+#: libpq/auth-scram.c:358 libpq/auth-scram.c:363 libpq/auth-scram.c:693
+#: libpq/auth-scram.c:701 libpq/auth-scram.c:806 libpq/auth-scram.c:819
+#: libpq/auth-scram.c:829 libpq/auth-scram.c:937 libpq/auth-scram.c:944
+#: libpq/auth-scram.c:959 libpq/auth-scram.c:974 libpq/auth-scram.c:988
+#: libpq/auth-scram.c:1006 libpq/auth-scram.c:1021 libpq/auth-scram.c:1321
+#: libpq/auth-scram.c:1329
 #, c-format
-msgid "could not initialize LDAP: %m"
-msgstr "no se pudo inicializar LDAP: %m"
+msgid "malformed SCRAM message"
+msgstr "mensaje SCRAM mal formado"
 
-#: libpq/auth.c:2489
+#: libpq/auth-scram.c:359
 #, c-format
-msgid "could not set LDAP protocol version: %s"
-msgstr "no se pudo definir la versión de protocolo LDAP: %s"
+msgid "The message is empty."
+msgstr "El mensaje está vacío."
 
-#: libpq/auth.c:2529
+#: libpq/auth-scram.c:364
 #, c-format
-msgid "could not load function _ldap_start_tls_sA in wldap32.dll"
-msgstr "no se pudo cargar la función _ldap_start_tls_sA en wldap32.dll"
+msgid "Message length does not match input length."
+msgstr "El largo del mensaje no coincide con el largo de entrada."
 
-#: libpq/auth.c:2530
+#: libpq/auth-scram.c:396
 #, c-format
-msgid "LDAP over SSL is not supported on this platform."
-msgstr "LDAP sobre SSL no está soportado en esta plataforma."
+msgid "invalid SCRAM response"
+msgstr "respuesta SCRAM no válida"
 
-#: libpq/auth.c:2546
+#: libpq/auth-scram.c:397
 #, c-format
-msgid "could not start LDAP TLS session: %s"
-msgstr "no se pudo iniciar sesión de LDAP TLS: %s"
+msgid "Nonce does not match."
+msgstr "El «nonce» no coincide."
 
-#: libpq/auth.c:2617
+#: libpq/auth-scram.c:471
 #, c-format
-msgid "LDAP server not specified, and no ldapbasedn"
-msgstr "servidor LDAP no especificado, y no hay ldapbasedn"
+msgid "could not generate random salt"
+msgstr "no se pudo generar una sal aleatoria"
 
-#: libpq/auth.c:2624
+#: libpq/auth-scram.c:694
 #, c-format
-msgid "LDAP server not specified"
-msgstr "servidor LDAP no especificado"
+msgid "Expected attribute \"%c\" but found \"%s\"."
+msgstr "Se esperaba un atributo «%c» pero se encontró «%s»."
 
-#: libpq/auth.c:2686
+#: libpq/auth-scram.c:702 libpq/auth-scram.c:830
 #, 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"
+msgid "Expected character \"=\" for attribute \"%c\"."
+msgstr "Se esperaba el carácter «=» para el atributo «%c»."
 
-#: libpq/auth.c:2703
+#: libpq/auth-scram.c:807
 #, 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"
+msgid "Attribute expected, but found end of string."
+msgstr "Se esperaba un atributo, se encontró el fin de la cadena."
 
-#: libpq/auth.c:2732
+#: libpq/auth-scram.c:820
 #, 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"
+msgid "Attribute expected, but found invalid character \"%s\"."
+msgstr "Se esperaba un atributo, se encontró el carácter no válido «%s»."
 
-#: libpq/auth.c:2746
+#: libpq/auth-scram.c:938 libpq/auth-scram.c:960
 #, c-format
-msgid "LDAP user \"%s\" does not exist"
-msgstr "no existe el usuario LDAP «%s»"
+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.c:2747
+#: libpq/auth-scram.c:945 libpq/auth-scram.c:975
 #, 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."
+msgid "Comma expected, but found character \"%s\"."
+msgstr "Se esperaba una coma, se encontró el carácter «%s»."
 
-#: libpq/auth.c:2751
+#: libpq/auth-scram.c:966
 #, c-format
-msgid "LDAP user \"%s\" is not unique"
-msgstr "el usuario LDAP «%s» no es única"
+msgid "SCRAM channel binding negotiation error"
+msgstr "error de negociación de enlazado (binding) de canal SCRAM"
 
-#: libpq/auth.c:2752
+#: libpq/auth-scram.c:967
 #, 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."
+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.c:2772
+#: libpq/auth-scram.c:989
 #, 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"
+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.c:2793
+#: libpq/auth-scram.c:1000
 #, 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»"
+msgid "unsupported SCRAM channel-binding type \"%s\""
+msgstr "tipo de enlazado de canal SCRAM «%s» no soportado"
 
-#: libpq/auth.c:2824
+#: libpq/auth-scram.c:1007
 #, 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"
+msgid "Unexpected channel-binding flag \"%s\"."
+msgstr "Indicador de enlazado de canal «%s» inesperado."
 
-#: libpq/auth.c:2853
+#: libpq/auth-scram.c:1017
 #, c-format
-msgid "LDAP diagnostics: %s"
-msgstr "Diagnóstico LDAP: %s"
+msgid "client uses authorization identity, but it is not supported"
+msgstr "el cliente usa identidad de autorización, pero no está soportada"
 
-#: libpq/auth.c:2880
+#: libpq/auth-scram.c:1022
 #, 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"
+msgid "Unexpected attribute \"%s\" in client-first-message."
+msgstr "Atributo inesperado \"%s\" en client-first-message."
 
-#: libpq/auth.c:2897
+#: libpq/auth-scram.c:1038
 #, 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"
+msgid "client requires an unsupported SCRAM extension"
+msgstr "el cliente requiere una extensión SCRAM no soportada"
 
-#: libpq/auth.c:2998
+#: libpq/auth-scram.c:1052
 #, c-format
-msgid "RADIUS server not specified"
-msgstr "servidor RADIUS no especificado"
+msgid "non-printable characters in SCRAM nonce"
+msgstr "caracteres no imprimibles en el «nonce» SCRAM"
 
-#: libpq/auth.c:3005
+#: libpq/auth-scram.c:1169
 #, c-format
-msgid "RADIUS secret not specified"
-msgstr "secreto RADIUS no especificado"
+msgid "could not generate random nonce"
+msgstr "no se pudo generar un «nonce» aleatorio"
 
-#: libpq/auth.c:3019
+#: libpq/auth-scram.c:1179
 #, 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"
+msgid "could not encode random nonce"
+msgstr "no se pudo codificar un «nonce» aleatorio"
 
-#: libpq/auth.c:3124 libpq/hba.c:1954
+#: libpq/auth-scram.c:1285
 #, 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"
+msgid "SCRAM channel binding check failed"
+msgstr "la verificación de enlazado (binding) de canal SCRAM falló"
 
-#: libpq/auth.c:3138
+#: libpq/auth-scram.c:1303
 #, c-format
-msgid "could not generate random encryption vector"
-msgstr "no se pudo generar un vector aleatorio de encriptación"
+msgid "unexpected SCRAM channel-binding attribute in client-final-message"
+msgstr "atributo de enlazado de canal SCRAM inesperado en client-final-message"
 
-#: libpq/auth.c:3172
+#: libpq/auth-scram.c:1322
 #, c-format
-msgid "could not perform MD5 encryption of password"
-msgstr "no se pudo efectuar cifrado MD5 de la contraseña"
+msgid "Malformed proof in client-final-message."
+msgstr "Prueba (proof) mal formada en client-final-message."
 
-#: libpq/auth.c:3198
+#: libpq/auth-scram.c:1330
 #, c-format
-msgid "could not create RADIUS socket: %m"
-msgstr "no se pudo crear el socket RADIUS: %m"
+msgid "Garbage found at the end of client-final-message."
+msgstr "Basura encontrada al final de client-final-message."
 
-#: libpq/auth.c:3220
+#: libpq/auth.c:280
 #, c-format
-msgid "could not bind local RADIUS socket: %m"
-msgstr "no se pudo enlazar el socket RADIUS local: %m"
+msgid "authentication failed for user \"%s\": host rejected"
+msgstr "la autentificación falló para el usuario «%s»: anfitrión rechazado"
 
-#: libpq/auth.c:3230
+#: libpq/auth.c:283
 #, c-format
-msgid "could not send RADIUS packet: %m"
-msgstr "no se pudo enviar el paquete RADIUS: %m"
+msgid "\"trust\" authentication failed for user \"%s\""
+msgstr "la autentificación «trust» falló para el usuario «%s»"
 
-#: libpq/auth.c:3263 libpq/auth.c:3289
+#: libpq/auth.c:286
 #, c-format
-msgid "timeout waiting for RADIUS response from %s"
-msgstr "se agotó el tiempo de espera de la respuesta RADIUS desde %s"
+msgid "Ident authentication failed for user \"%s\""
+msgstr "la autentificación Ident falló para el usuario «%s»"
 
-#: libpq/auth.c:3282
+#: libpq/auth.c:289
 #, c-format
-msgid "could not check status on RADIUS socket: %m"
-msgstr "no se pudo verificar el estado en el socket %m"
+msgid "Peer authentication failed for user \"%s\""
+msgstr "la autentificación Peer falló para el usuario «%s»"
 
-#: libpq/auth.c:3312
+#: libpq/auth.c:294
 #, c-format
-msgid "could not read RADIUS response: %m"
-msgstr "no se pudo leer la respuesta RADIUS: %m"
+msgid "password authentication failed for user \"%s\""
+msgstr "la autentificación password falló para el usuario «%s»"
 
-#: libpq/auth.c:3325 libpq/auth.c:3329
+#: libpq/auth.c:299
 #, 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"
+msgid "GSSAPI authentication failed for user \"%s\""
+msgstr "la autentificación GSSAPI falló para el usuario «%s»"
 
-#: libpq/auth.c:3338
+#: libpq/auth.c:302
 #, c-format
-msgid "RADIUS response from %s too short: %d"
-msgstr "la respuesta RADIUS desde %s es demasiado corta: %d"
+msgid "SSPI authentication failed for user \"%s\""
+msgstr "la autentificación SSPI falló para el usuario «%s»"
 
-#: libpq/auth.c:3345
+#: libpq/auth.c:305
 #, 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)"
+msgid "PAM authentication failed for user \"%s\""
+msgstr "la autentificación PAM falló para el usuario «%s»"
 
-#: libpq/auth.c:3353
+#: libpq/auth.c:308
 #, 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)"
+msgid "BSD authentication failed for user \"%s\""
+msgstr "la autentificación BSD falló para el usuario «%s»"
 
-#: libpq/auth.c:3378
+#: libpq/auth.c:311
 #, c-format
-msgid "could not perform MD5 encryption of received packet"
-msgstr "no se pudo realizar cifrado MD5 del paquete recibido"
+msgid "LDAP authentication failed for user \"%s\""
+msgstr "la autentificación LDAP falló para el usuario «%s»"
 
-#: libpq/auth.c:3387
+#: libpq/auth.c:314
 #, c-format
-msgid "RADIUS response from %s has incorrect MD5 signature"
-msgstr "la respuesta RADIUS desde %s tiene firma MD5 incorrecta"
+msgid "certificate authentication failed for user \"%s\""
+msgstr "la autentificación por certificado falló para el usuario «%s»"
 
-#: libpq/auth.c:3405
+#: libpq/auth.c:317
 #, 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»"
+msgid "RADIUS authentication failed for user \"%s\""
+msgstr "la autentificación RADIUS falló para el usuario «%s»"
 
-#: libpq/be-fsstubs.c:119 libpq/be-fsstubs.c:150 libpq/be-fsstubs.c:178
-#: libpq/be-fsstubs.c:204 libpq/be-fsstubs.c:229 libpq/be-fsstubs.c:277
-#: libpq/be-fsstubs.c:300 libpq/be-fsstubs.c:553
+#: libpq/auth.c:320
 #, c-format
-msgid "invalid large-object descriptor: %d"
-msgstr "el descriptor de objeto grande no es válido: %d"
+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/be-fsstubs.c:161
+#: libpq/auth.c:324
 #, c-format
-msgid "large object descriptor %d was not opened for reading"
-msgstr "el descriptor de objeto grande %d no fue abierto para lectura"
+msgid "Connection matched pg_hba.conf line %d: \"%s\""
+msgstr "La conexión coincidió con la línea %d de pg_hba.conf: «%s»"
 
-#: libpq/be-fsstubs.c:185 libpq/be-fsstubs.c:560
+#: libpq/auth.c:371
 #, c-format
-msgid "large object descriptor %d was not opened for writing"
-msgstr "el descriptor de objeto grande %d no fue abierto para escritura"
+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/be-fsstubs.c:212
+#: libpq/auth.c:382
 #, c-format
-msgid "lo_lseek result out of range for large-object descriptor %d"
-msgstr "resultado de lo_lseek fuera de rango para el descriptor de objeto grande %d"
+msgid "connection requires a valid client certificate"
+msgstr "la conexión requiere un certificado de cliente válido"
 
-#: libpq/be-fsstubs.c:285
-#, c-format
-msgid "lo_tell result out of range for large-object descriptor %d"
-msgstr "resultado de lo_tell fuera de rango para el descriptor de objeto grande %d"
+#: libpq/auth.c:413 libpq/auth.c:459
+#, fuzzy
+#| msgid "GSSAPI-encrypted connection\n"
+msgid "GSS encryption"
+msgstr "Conexión Cifrada GSSAPI\n"
 
-#: libpq/be-fsstubs.c:432
-#, c-format
-msgid "could not open server file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de servidor «%s»: %m"
+#: libpq/auth.c:416 libpq/auth.c:462
+msgid "SSL on"
+msgstr "SSL activo"
 
-#: libpq/be-fsstubs.c:454
-#, c-format
-msgid "could not read server file \"%s\": %m"
-msgstr "no se pudo leer el archivo de servidor «%s»: %m"
+#: libpq/auth.c:418 libpq/auth.c:464
+msgid "SSL off"
+msgstr "SSL inactivo"
 
-#: libpq/be-fsstubs.c:514
+#. translator: last %s describes encryption state
+#: libpq/auth.c:424
 #, c-format
-msgid "could not create server file \"%s\": %m"
-msgstr "no se pudo crear el archivo del servidor «%s»: %m"
+msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
+msgstr "pg_hba.conf rechaza la conexión de replicación para el servidor «%s», usuario «%s», %s"
 
-#: libpq/be-fsstubs.c:526
+#. translator: last %s describes encryption state
+#: libpq/auth.c:431
 #, c-format
-msgid "could not write server file \"%s\": %m"
-msgstr "no se pudo escribir el archivo del servidor «%s»: %m"
+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/be-fsstubs.c:760
+#: libpq/auth.c:469
 #, c-format
-msgid "large object read request is too large"
-msgstr "el tamaño de petición de lectura de objeto grande es muy grande"
+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/be-fsstubs.c:802 utils/adt/genfile.c:265 utils/adt/genfile.c:304
-#: utils/adt/genfile.c:340
+#: libpq/auth.c:472
 #, c-format
-msgid "requested length cannot be negative"
-msgstr "el tamaño solicitado no puede ser negativo"
+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/be-fsstubs.c:855 storage/large_object/inv_api.c:297
-#: storage/large_object/inv_api.c:309 storage/large_object/inv_api.c:513
-#: storage/large_object/inv_api.c:624 storage/large_object/inv_api.c:814
+#: libpq/auth.c:475
 #, c-format
-msgid "permission denied for large object %u"
-msgstr "permiso denegado al objeto grande %u"
+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/be-secure-common.c:93
+#: libpq/auth.c:478
 #, c-format
-msgid "could not read from command \"%s\": %m"
-msgstr "no se pudo leer desde la orden «%s»: %m"
+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/be-secure-common.c:113
+#: libpq/auth.c:483
 #, c-format
-msgid "command \"%s\" failed"
-msgstr "la orden «%s» falló"
+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."
 
-#: libpq/be-secure-common.c:141
+#. translator: last %s describes encryption state
+#: libpq/auth.c:491
 #, c-format
-msgid "could not access private key file \"%s\": %m"
-msgstr "no se pudo acceder al archivo de la llave privada «%s»: %m"
+msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\", %s"
+msgstr "no hay una línea en pg_hba.conf para la conexión de replicación desde el servidor «%s», usuario «%s», %s"
 
-#: libpq/be-secure-common.c:150
+#. translator: last %s describes encryption state
+#: libpq/auth.c:499
 #, c-format
-msgid "private key file \"%s\" is not a regular file"
-msgstr "el archivo de llave privada «%s» no es un archivo regular"
+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/be-secure-common.c:165
+#: libpq/auth.c:675
 #, 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"
+msgid "expected password response, got message type %d"
+msgstr "se esperaba una respuesta de contraseña, se obtuvo mensaje de tipo %d"
 
-#: libpq/be-secure-common.c:188
+#: libpq/auth.c:703
 #, 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"
+msgid "invalid password packet size"
+msgstr "el tamaño del paquete de contraseña no es válido"
 
-#: libpq/be-secure-common.c:190
+#: libpq/auth.c:721
 #, 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:195
-msgid "GSSAPI wrap error"
-msgstr "error de «wrap» de GSSAPI"
+msgid "empty password returned by client"
+msgstr "el cliente retornó una contraseña vacía"
 
-#: libpq/be-secure-gssapi.c:199
+#: libpq/auth.c:841 libpq/hba.c:1345
 #, c-format
-msgid "outgoing GSSAPI message would not use confidentiality"
-msgstr "mensaje saliente GSSAPI no proveería confidencialidad"
+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/be-secure-gssapi.c:203 libpq/be-secure-gssapi.c:574
+#: libpq/auth.c:847
 #, c-format
-msgid "server tried to send oversize GSSAPI packet (%zu > %zu)"
-msgstr "el servidor intentó enviar un paquete GSSAPI demasiado grande (%zu > %zu)"
+msgid "could not generate random MD5 salt"
+msgstr "no se pudo generar una sal MD5 aleatoria"
 
-#: libpq/be-secure-gssapi.c:330
+#: libpq/auth.c:893
 #, c-format
-msgid "oversize GSSAPI packet sent by the client (%zu > %zu)"
-msgstr "paquete GSSAPI demasiado grande enviado por el cliente (%zu > %zu)"
+msgid "SASL authentication is not supported in protocol version 2"
+msgstr "autentificación SASL no está soportada en el protocolo versión 2"
 
-#: libpq/be-secure-gssapi.c:364
-msgid "GSSAPI unwrap error"
-msgstr "error de «unwrap» de GSSAPI"
+#: libpq/auth.c:926
+#, c-format
+msgid "expected SASL response, got message type %d"
+msgstr "se esperaba una respuesta SASL, se obtuvo mensaje de tipo %d"
 
-#: libpq/be-secure-gssapi.c:369
+#: libpq/auth.c:1055
 #, c-format
-msgid "incoming GSSAPI message did not use confidentiality"
-msgstr "mensaje GSSAPI entrante no usó confidencialidad"
+msgid "GSSAPI is not supported in protocol version 2"
+msgstr "GSSAPI no está soportado por el protocolo versión 2"
+
+#: libpq/auth.c:1068 libpq/be-secure-gssapi.c:535
+#, fuzzy, c-format
+#| msgid "could not send data to client: %m"
+msgid "could not set environment: %m"
+msgstr "no se pudo enviar datos al cliente: %m"
 
-#: libpq/be-secure-gssapi.c:525
+#: libpq/auth.c:1104
 #, c-format
-msgid "oversize GSSAPI packet sent by the client (%zu > %d)"
-msgstr "paquete GSSAPI demasiado grande enviado por el cliente (%zu > %d)"
+msgid "expected GSS response, got message type %d"
+msgstr "se esperaba una respuesta GSS, se obtuvo mensaje de tipo %d"
 
-#: libpq/be-secure-gssapi.c:547
-msgid "could not accept GSSAPI security context"
-msgstr "no se pudo aceptar un contexto de seguridad GSSAPI"
+#: libpq/auth.c:1164
+msgid "accepting GSS security context failed"
+msgstr "falló la aceptación del contexto de seguridad GSS"
 
-#: libpq/be-secure-gssapi.c:637
-msgid "GSSAPI size check error"
-msgstr "error de verificación de tamaño GSSAPI"
+#: libpq/auth.c:1204
+msgid "retrieving GSS user name failed"
+msgstr "falló la obtención del nombre de usuario GSS"
 
-#: libpq/be-secure-openssl.c:112
+#: libpq/auth.c:1337
 #, c-format
-msgid "could not create SSL context: %s"
-msgstr "no se pudo crear un contexto SSL: %s"
+msgid "SSPI is not supported in protocol version 2"
+msgstr "SSPI no está soportado por el protocolo versión 2"
 
-#: libpq/be-secure-openssl.c:138
-#, 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/auth.c:1352
+msgid "could not acquire SSPI credentials"
+msgstr "no se pudo obtener las credenciales SSPI"
 
-#: libpq/be-secure-openssl.c:158
+#: libpq/auth.c:1377
 #, 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"
+msgid "expected SSPI response, got message type %d"
+msgstr "se esperaba una respuesta SSPI, se obtuvo mensaje de tipo %d"
 
-#: libpq/be-secure-openssl.c:163
-#, 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/auth.c:1455
+msgid "could not accept SSPI security context"
+msgstr "no se pudo aceptar un contexto SSPI"
 
-#: libpq/be-secure-openssl.c:172
-#, c-format
-msgid "check of private key failed: %s"
-msgstr "falló la revisión de la llave privada: %s"
+#: libpq/auth.c:1517
+msgid "could not get token from SSPI security context"
+msgstr "no se pudo obtener un testigo (token) desde el contexto de seguridad SSPI"
 
-#: libpq/be-secure-openssl.c:184 libpq/be-secure-openssl.c:206
+#: libpq/auth.c:1636 libpq/auth.c:1655
 #, 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"
+msgid "could not translate name"
+msgstr "no se pudo traducir el nombre"
 
-#: libpq/be-secure-openssl.c:194
+#: libpq/auth.c:1668
 #, c-format
-msgid "could not set minimum SSL protocol version"
-msgstr "no se pudo definir la versión mínima de protocolo SSL"
+msgid "realm name too long"
+msgstr "nombre de «realm» demasiado largo"
 
-#: libpq/be-secure-openssl.c:216
+#: libpq/auth.c:1683
 #, c-format
-msgid "could not set maximum SSL protocol version"
-msgstr "no se pudo definir la versión máxima de protocolo SSL"
+msgid "translated account name too long"
+msgstr "nombre de cuenta traducido demasiado largo"
 
-#: libpq/be-secure-openssl.c:232
+#: libpq/auth.c:1864
 #, c-format
-msgid "could not set SSL protocol version range"
-msgstr "no se pudo definir el rango de versión de protocolo SSL"
+msgid "could not create socket for Ident connection: %m"
+msgstr "no se pudo crear un socket para conexión Ident: %m"
 
-#: libpq/be-secure-openssl.c:233
+#: libpq/auth.c:1879
 #, c-format
-msgid "\"%s\" cannot be higher than \"%s\""
-msgstr "«%s» no puede ser más alto que «%s»"
+msgid "could not bind to local address \"%s\": %m"
+msgstr "no se pudo enlazar a la dirección local «%s»: %m"
 
-#: libpq/be-secure-openssl.c:257
+#: libpq/auth.c:1891
 #, 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)"
+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/be-secure-openssl.c:275
+#: libpq/auth.c:1913
 #, c-format
-msgid "could not load root certificate file \"%s\": %s"
-msgstr "no se pudo cargar el archivo del certificado raíz «%s»: %s"
+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/be-secure-openssl.c:302
+#: libpq/auth.c:1930
 #, 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"
+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/be-secure-openssl.c:378
+#: libpq/auth.c:1940
 #, 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"
+msgid "invalidly formatted response from Ident server: \"%s\""
+msgstr "respuesta del servidor Ident en formato no válido: «%s»"
 
-#: libpq/be-secure-openssl.c:386
+#: libpq/auth.c:1987
 #, c-format
-msgid "could not initialize SSL connection: %s"
-msgstr "no se pudo inicializar la conexión SSL: %s"
+msgid "peer authentication is not supported on this platform"
+msgstr "método de autentificación peer no está soportado en esta plataforma"
 
-#: libpq/be-secure-openssl.c:394
+#: libpq/auth.c:1991
 #, c-format
-msgid "could not set SSL socket: %s"
-msgstr "no se definir un socket SSL: %s"
+msgid "could not get peer credentials: %m"
+msgstr "no se pudo recibir credenciales: %m"
 
-#: libpq/be-secure-openssl.c:449
+#: libpq/auth.c:2003
 #, c-format
-msgid "could not accept SSL connection: %m"
-msgstr "no se pudo aceptar una conexión SSL: %m"
+msgid "could not look up local user ID %ld: %s"
+msgstr "no se pudo encontrar el ID del usuario local %ld: %s"
 
-#: libpq/be-secure-openssl.c:453 libpq/be-secure-openssl.c:506
+#: libpq/auth.c:2102
 #, c-format
-msgid "could not accept SSL connection: EOF detected"
-msgstr "no se pudo aceptar una conexión SSL: se detectó EOF"
+msgid "error from underlying PAM layer: %s"
+msgstr "se ha recibido un error de la biblioteca PAM: %s"
 
-#: libpq/be-secure-openssl.c:492
+#: libpq/auth.c:2172
 #, c-format
-msgid "could not accept SSL connection: %s"
-msgstr "no se pudo aceptar una conexión SSL: %s"
+msgid "could not create PAM authenticator: %s"
+msgstr "no se pudo crear autenticador PAM: %s"
 
-#: libpq/be-secure-openssl.c:495
+#: libpq/auth.c:2183
 #, 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 and %s."
+msgid "pam_set_item(PAM_USER) failed: %s"
+msgstr "pam_set_item(PAM_USER) falló: %s"
 
-#: libpq/be-secure-openssl.c:511 libpq/be-secure-openssl.c:642
-#: libpq/be-secure-openssl.c:706
+#: libpq/auth.c:2215
 #, c-format
-msgid "unrecognized SSL error code: %d"
-msgstr "código de error SSL no reconocido: %d"
+msgid "pam_set_item(PAM_RHOST) failed: %s"
+msgstr "pam_set_item(PAM_RHOST) falló: %s"
 
-#: libpq/be-secure-openssl.c:553
+#: libpq/auth.c:2227
 #, c-format
-msgid "SSL certificate's common name contains embedded null"
-msgstr "el «common name» del certificado SSL contiene un carácter null"
+msgid "pam_set_item(PAM_CONV) failed: %s"
+msgstr "pam_set_item(PAM_CONV) falló: %s"
 
-#: libpq/be-secure-openssl.c:631 libpq/be-secure-openssl.c:690
+#: libpq/auth.c:2240
 #, c-format
-msgid "SSL error: %s"
-msgstr "error de SSL: %s"
+msgid "pam_authenticate failed: %s"
+msgstr "pam_authenticate falló: %s"
 
-#: libpq/be-secure-openssl.c:871
+#: libpq/auth.c:2253
 #, c-format
-msgid "could not open DH parameters file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de parámetros DH «%s»: %m"
+msgid "pam_acct_mgmt failed: %s"
+msgstr "pam_acct_mgmt falló: %s"
 
-#: libpq/be-secure-openssl.c:883
+#: libpq/auth.c:2264
 #, c-format
-msgid "could not load DH parameters file: %s"
-msgstr "no se pudo cargar el archivo de parámetros DH: %s"
+msgid "could not release PAM authenticator: %s"
+msgstr "no se pudo liberar autenticador PAM: %s"
 
-#: libpq/be-secure-openssl.c:893
+#: libpq/auth.c:2340
 #, c-format
-msgid "invalid DH parameters: %s"
-msgstr "parámetros DH no válidos: %s"
+msgid "could not initialize LDAP: error code %d"
+msgstr "no se pudo inicializar LDAP: código de error %d"
 
-#: libpq/be-secure-openssl.c:901
+#: libpq/auth.c:2377
 #, c-format
-msgid "invalid DH parameters: p is not prime"
-msgstr "parámetros DH no válidos: p no es primo"
+msgid "could not extract domain name from ldapbasedn"
+msgstr "no se pudo extraer el nombre de dominio de ldapbasedn"
 
-#: libpq/be-secure-openssl.c:909
+#: libpq/auth.c:2385
 #, 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"
+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/be-secure-openssl.c:1065
+#: libpq/auth.c:2387
 #, c-format
-msgid "DH: could not load DH parameters"
-msgstr "DH: no se pudo cargar los parámetros DH"
+msgid "Set an LDAP server name explicitly."
+msgstr "Defina un nombre de servidor LDAP explícitamente."
 
-#: libpq/be-secure-openssl.c:1073
+#: libpq/auth.c:2439
 #, c-format
-msgid "DH: could not set DH parameters: %s"
-msgstr "DH: no se pudo definir los parámetros DH: %s"
+msgid "could not initialize LDAP: %s"
+msgstr "no se pudo inicializar LDAP: %s"
 
-#: libpq/be-secure-openssl.c:1100
+#: libpq/auth.c:2449
 #, c-format
-msgid "ECDH: unrecognized curve name: %s"
-msgstr "ECDH: nombre de curva no reconocida: %s"
+msgid "ldaps not supported with this LDAP library"
+msgstr "ldaps no está soportado con esta biblioteca LDAP"
 
-#: libpq/be-secure-openssl.c:1109
+#: libpq/auth.c:2457
 #, c-format
-msgid "ECDH: could not create key"
-msgstr "ECDH: no se pudo crear la llave"
+msgid "could not initialize LDAP: %m"
+msgstr "no se pudo inicializar LDAP: %m"
 
-#: libpq/be-secure-openssl.c:1137
-msgid "no SSL error reported"
-msgstr "código de error SSL no reportado"
+#: libpq/auth.c:2467
+#, c-format
+msgid "could not set LDAP protocol version: %s"
+msgstr "no se pudo definir la versión de protocolo LDAP: %s"
 
-#: libpq/be-secure-openssl.c:1141
+#: libpq/auth.c:2507
 #, c-format
-msgid "SSL error code %lu"
-msgstr "código de error SSL %lu"
+msgid "could not load function _ldap_start_tls_sA in wldap32.dll"
+msgstr "no se pudo cargar la función _ldap_start_tls_sA en wldap32.dll"
 
-#: libpq/be-secure.c:122
+#: libpq/auth.c:2508
 #, c-format
-msgid "SSL connection from \"%s\""
-msgstr "conexión SSL desde «%s»"
+msgid "LDAP over SSL is not supported on this platform."
+msgstr "LDAP sobre SSL no está soportado en esta plataforma."
 
-#: libpq/be-secure.c:207 libpq/be-secure.c:303
+#: libpq/auth.c:2524
 #, c-format
-msgid "terminating connection due to unexpected postmaster exit"
-msgstr "terminando la conexión debido al término inesperado de postmaster"
+msgid "could not start LDAP TLS session: %s"
+msgstr "no se pudo iniciar sesión de LDAP TLS: %s"
 
-#: libpq/crypt.c:49
+#: libpq/auth.c:2595
 #, c-format
-msgid "Role \"%s\" does not exist."
-msgstr "No existe el rol «%s»."
+msgid "LDAP server not specified, and no ldapbasedn"
+msgstr "servidor LDAP no especificado, y no hay ldapbasedn"
 
-#: libpq/crypt.c:59
+#: libpq/auth.c:2602
 #, c-format
-msgid "User \"%s\" has no password assigned."
-msgstr "El usuario «%s» no tiene una contraseña asignada."
+msgid "LDAP server not specified"
+msgstr "servidor LDAP no especificado"
 
-#: libpq/crypt.c:77
+#: libpq/auth.c:2664
 #, c-format
-msgid "User \"%s\" has an expired password."
-msgstr "El usuario «%s» tiene contraseña expirada."
+msgid "invalid character in user name for LDAP authentication"
+msgstr "carácter no válido en nombre de usuario para autentificación LDAP"
 
-#: libpq/crypt.c:179
+#: libpq/auth.c:2681
 #, 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."
+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/crypt.c:203 libpq/crypt.c:244 libpq/crypt.c:268
+#: libpq/auth.c:2710
 #, c-format
-msgid "Password does not match for user \"%s\"."
-msgstr "La contraseña no coincide para el usuario «%s»."
+msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s"
+msgstr "no se pudo hacer la búsqueda LDAP para el filtro «%s» en el servidor «%s»: %s"
 
-#: libpq/crypt.c:287
+#: libpq/auth.c:2724
 #, c-format
-msgid "Password of user \"%s\" is in unrecognized format."
-msgstr "La contraseña del usuario \"%s\" está en un formato no reconocido."
+msgid "LDAP user \"%s\" does not exist"
+msgstr "no existe el usuario LDAP «%s»"
 
-#: libpq/hba.c:235
+#: libpq/auth.c:2725
 #, c-format
-msgid "authentication file token too long, skipping: \"%s\""
-msgstr "una palabra en el archivo de autentificación es demasiado larga, omitiendo: «%s»"
+msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries."
+msgstr "La búsqueda LDAP para el filtro «%s» en el servidor «%s» no retornó elementos."
 
-#: libpq/hba.c:407
+#: libpq/auth.c:2729
 #, c-format
-msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m"
-msgstr "no se pudo abrir el archivo secundario de autentificación «@%s» como «%s»: %m"
+msgid "LDAP user \"%s\" is not unique"
+msgstr "el usuario LDAP «%s» no es única"
 
-#: libpq/hba.c:509
+#: libpq/auth.c:2730
 #, c-format
-msgid "authentication file line too long"
-msgstr "línea en el archivo de autentificación demasiado larga"
+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/hba.c:510 libpq/hba.c:867 libpq/hba.c:887 libpq/hba.c:925
-#: libpq/hba.c:975 libpq/hba.c:989 libpq/hba.c:1013 libpq/hba.c:1022
-#: libpq/hba.c:1035 libpq/hba.c:1056 libpq/hba.c:1069 libpq/hba.c:1089
-#: libpq/hba.c:1111 libpq/hba.c:1123 libpq/hba.c:1179 libpq/hba.c:1199
-#: libpq/hba.c:1213 libpq/hba.c:1232 libpq/hba.c:1243 libpq/hba.c:1258
-#: libpq/hba.c:1276 libpq/hba.c:1292 libpq/hba.c:1304 libpq/hba.c:1341
-#: libpq/hba.c:1382 libpq/hba.c:1395 libpq/hba.c:1417 libpq/hba.c:1430
-#: libpq/hba.c:1442 libpq/hba.c:1460 libpq/hba.c:1510 libpq/hba.c:1554
-#: libpq/hba.c:1565 libpq/hba.c:1581 libpq/hba.c:1598 libpq/hba.c:1608
-#: libpq/hba.c:1666 libpq/hba.c:1704 libpq/hba.c:1726 libpq/hba.c:1738
-#: libpq/hba.c:1825 libpq/hba.c:1843 libpq/hba.c:1937 libpq/hba.c:1956
-#: libpq/hba.c:1985 libpq/hba.c:1998 libpq/hba.c:2021 libpq/hba.c:2043
-#: libpq/hba.c:2057 tsearch/ts_locale.c:190
+#: libpq/auth.c:2750
 #, c-format
-msgid "line %d of configuration file \"%s\""
-msgstr "línea %d del archivo de configuración «%s»"
+msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
+msgstr "no se pudo obtener el dn para la primera entrada que coincide con «%s» en el servidor «%s»: %s"
 
-#. translator: the second %s is a list of auth methods
-#: libpq/hba.c:865
+#: libpq/auth.c:2771
 #, 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"
+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/hba.c:885
+#: libpq/auth.c:2802
 #, 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"
+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/hba.c:913
+#: libpq/auth.c:2831
 #, c-format
-msgid "missing entry in file \"%s\" at end of line %d"
-msgstr "falta una entrada en el archivo «%s» al final de la línea %d"
+msgid "LDAP diagnostics: %s"
+msgstr "Diagnóstico LDAP: %s"
 
-#: libpq/hba.c:924
+#: libpq/auth.c:2858
 #, c-format
-msgid "multiple values in ident field"
-msgstr "múltiples valores en campo «ident»"
+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/hba.c:973
+#: libpq/auth.c:2875
 #, c-format
-msgid "multiple values specified for connection type"
-msgstr "múltiples valores especificados para tipo de conexión"
+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/hba.c:974
+#: libpq/auth.c:2976
 #, c-format
-msgid "Specify exactly one connection type per line."
-msgstr "Especifique exactamente un tipo de conexión por línea."
+msgid "RADIUS server not specified"
+msgstr "servidor RADIUS no especificado"
 
-#: libpq/hba.c:988
+#: libpq/auth.c:2983
 #, c-format
-msgid "local connections are not supported by this build"
-msgstr "las conexiones locales no están soportadas en este servidor"
+msgid "RADIUS secret not specified"
+msgstr "secreto RADIUS no especificado"
 
-#: libpq/hba.c:1011
+#: libpq/auth.c:2997
 #, c-format
-msgid "hostssl record cannot match because SSL is disabled"
-msgstr "el registro hostssl no puede coincidir porque SSL está deshabilitado"
+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/hba.c:1012
+#: libpq/auth.c:3102 libpq/hba.c:1946
 #, c-format
-msgid "Set ssl = on in postgresql.conf."
-msgstr "Defina «ssl = on» en postgresql.conf."
+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/hba.c:1020
+#: libpq/auth.c:3116
 #, 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"
+msgid "could not generate random encryption vector"
+msgstr "no se pudo generar un vector aleatorio de encriptación"
 
-#: libpq/hba.c:1021
+#: libpq/auth.c:3150
 #, c-format
-msgid "Compile with --with-openssl to use SSL connections."
-msgstr "Compile con --with-openssl para usar conexiones SSL."
+msgid "could not perform MD5 encryption of password"
+msgstr "no se pudo efectuar cifrado MD5 de la contraseña"
 
-#: libpq/hba.c:1033
+#: libpq/auth.c:3176
 #, 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"
+msgid "could not create RADIUS socket: %m"
+msgstr "no se pudo crear el socket RADIUS: %m"
 
-#: libpq/hba.c:1034
+#: libpq/auth.c:3198
 #, c-format
-msgid "Compile with --with-gssapi to use GSSAPI connections."
-msgstr "Compile con --with-gssapi para usar conexiones GSSAPI."
+msgid "could not bind local RADIUS socket: %m"
+msgstr "no se pudo enlazar el socket RADIUS local: %m"
 
-#: libpq/hba.c:1054
+#: libpq/auth.c:3208
 #, c-format
-msgid "invalid connection type \"%s\""
-msgstr "tipo de conexión «%s» no válido"
+msgid "could not send RADIUS packet: %m"
+msgstr "no se pudo enviar el paquete RADIUS: %m"
 
-#: libpq/hba.c:1068
+#: libpq/auth.c:3241 libpq/auth.c:3267
 #, c-format
-msgid "end-of-line before database specification"
-msgstr "fin de línea antes de especificación de base de datos"
+msgid "timeout waiting for RADIUS response from %s"
+msgstr "se agotó el tiempo de espera de la respuesta RADIUS desde %s"
 
-#: libpq/hba.c:1088
+#: libpq/auth.c:3260
 #, c-format
-msgid "end-of-line before role specification"
-msgstr "fin de línea antes de especificación de rol"
+msgid "could not check status on RADIUS socket: %m"
+msgstr "no se pudo verificar el estado en el socket %m"
 
-#: libpq/hba.c:1110
+#: libpq/auth.c:3290
 #, c-format
-msgid "end-of-line before IP address specification"
-msgstr "fin de línea antes de especificación de dirección IP"
+msgid "could not read RADIUS response: %m"
+msgstr "no se pudo leer la respuesta RADIUS: %m"
 
-#: libpq/hba.c:1121
+#: libpq/auth.c:3303 libpq/auth.c:3307
 #, c-format
-msgid "multiple values specified for host address"
-msgstr "múltiples valores especificados para la dirección de anfitrión"
+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/hba.c:1122
+#: libpq/auth.c:3316
 #, c-format
-msgid "Specify one address range per line."
-msgstr "Especifique un rango de direcciones por línea."
+msgid "RADIUS response from %s too short: %d"
+msgstr "la respuesta RADIUS desde %s es demasiado corta: %d"
 
-#: libpq/hba.c:1177
+#: libpq/auth.c:3323
 #, c-format
-msgid "invalid IP address \"%s\": %s"
-msgstr "dirección IP «%s» no válida: %s"
+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/hba.c:1197
+#: libpq/auth.c:3331
 #, 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»"
+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/hba.c:1211
+#: libpq/auth.c:3356
 #, c-format
-msgid "invalid CIDR mask in address \"%s\""
-msgstr "máscara CIDR no válida en dirección «%s»"
+msgid "could not perform MD5 encryption of received packet"
+msgstr "no se pudo realizar cifrado MD5 del paquete recibido"
 
-#: libpq/hba.c:1230
+#: libpq/auth.c:3365
 #, c-format
-msgid "end-of-line before netmask specification"
-msgstr "fin de línea antes de especificación de máscara de red"
+msgid "RADIUS response from %s has incorrect MD5 signature"
+msgstr "la respuesta RADIUS desde %s tiene firma MD5 incorrecta"
 
-#: libpq/hba.c:1231
+#: libpq/auth.c:3383
 #, 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."
+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»"
 
-#: libpq/hba.c:1242
+#: libpq/be-fsstubs.c:119 libpq/be-fsstubs.c:150 libpq/be-fsstubs.c:178
+#: libpq/be-fsstubs.c:204 libpq/be-fsstubs.c:229 libpq/be-fsstubs.c:277
+#: libpq/be-fsstubs.c:300 libpq/be-fsstubs.c:553
 #, c-format
-msgid "multiple values specified for netmask"
-msgstr "múltiples valores especificados para la máscara de red"
+msgid "invalid large-object descriptor: %d"
+msgstr "el descriptor de objeto grande no es válido: %d"
 
-#: libpq/hba.c:1256
+#: libpq/be-fsstubs.c:161
 #, c-format
-msgid "invalid IP mask \"%s\": %s"
-msgstr "máscara IP «%s» no válida: %s"
+msgid "large object descriptor %d was not opened for reading"
+msgstr "el descriptor de objeto grande %d no fue abierto para lectura"
 
-#: libpq/hba.c:1275
+#: libpq/be-fsstubs.c:185 libpq/be-fsstubs.c:560
 #, c-format
-msgid "IP address and mask do not match"
-msgstr "La dirección y máscara IP no coinciden"
+msgid "large object descriptor %d was not opened for writing"
+msgstr "el descriptor de objeto grande %d no fue abierto para escritura"
 
-#: libpq/hba.c:1291
+#: libpq/be-fsstubs.c:212
 #, c-format
-msgid "end-of-line before authentication method"
-msgstr "fin de línea antes de especificación de método de autentificación"
+msgid "lo_lseek result out of range for large-object descriptor %d"
+msgstr "resultado de lo_lseek fuera de rango para el descriptor de objeto grande %d"
 
-#: libpq/hba.c:1302
+#: libpq/be-fsstubs.c:285
 #, c-format
-msgid "multiple values specified for authentication type"
-msgstr "múltiples valores especificados para el tipo de autentificación"
+msgid "lo_tell result out of range for large-object descriptor %d"
+msgstr "resultado de lo_tell fuera de rango para el descriptor de objeto grande %d"
 
-#: libpq/hba.c:1303
+#: libpq/be-fsstubs.c:432
 #, c-format
-msgid "Specify exactly one authentication type per line."
-msgstr "Especifique exactamente un tipo de autentificación por línea."
+msgid "could not open server file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de servidor «%s»: %m"
 
-#: libpq/hba.c:1380
+#: libpq/be-fsstubs.c:454
 #, c-format
-msgid "invalid authentication method \"%s\""
-msgstr "método de autentificación «%s» no válido"
+msgid "could not read server file \"%s\": %m"
+msgstr "no se pudo leer el archivo de servidor «%s»: %m"
 
-#: libpq/hba.c:1393
+#: libpq/be-fsstubs.c:514
 #, 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"
+msgid "could not create server file \"%s\": %m"
+msgstr "no se pudo crear el archivo del servidor «%s»: %m"
 
-#: libpq/hba.c:1416
+#: libpq/be-fsstubs.c:526
 #, c-format
-msgid "gssapi authentication is not supported on local sockets"
-msgstr "la autentificación gssapi no está soportada en conexiones locales"
+msgid "could not write server file \"%s\": %m"
+msgstr "no se pudo escribir el archivo del servidor «%s»: %m"
 
-#: libpq/hba.c:1429
+#: libpq/be-fsstubs.c:760
 #, c-format
-msgid "GSSAPI encryption only supports gss, trust, or reject authentication"
-msgstr "El cifrado GSSAPI sólo soporta autentificación gss, trust o reject"
+msgid "large object read request is too large"
+msgstr "el tamaño de petición de lectura de objeto grande es muy grande"
 
-#: libpq/hba.c:1441
+#: libpq/be-fsstubs.c:802 utils/adt/genfile.c:265 utils/adt/genfile.c:304
+#: utils/adt/genfile.c:340
 #, c-format
-msgid "peer authentication is only supported on local sockets"
-msgstr "la autentificación peer sólo está soportada en conexiones locales"
+msgid "requested length cannot be negative"
+msgstr "el tamaño solicitado no puede ser negativo"
 
-#: libpq/hba.c:1459
+#: libpq/be-fsstubs.c:855 storage/large_object/inv_api.c:297
+#: storage/large_object/inv_api.c:309 storage/large_object/inv_api.c:513
+#: storage/large_object/inv_api.c:624 storage/large_object/inv_api.c:814
 #, c-format
-msgid "cert authentication is only supported on hostssl connections"
-msgstr "la autentificación cert sólo está soportada en conexiones hostssl"
+msgid "permission denied for large object %u"
+msgstr "permiso denegado al objeto grande %u"
 
-#: libpq/hba.c:1509
+#: libpq/be-secure-common.c:93
 #, c-format
-msgid "authentication option not in name=value format: %s"
-msgstr "opción de autentificación en formato nombre=valor: %s"
+msgid "could not read from command \"%s\": %m"
+msgstr "no se pudo leer desde la orden «%s»: %m"
 
-#: libpq/hba.c:1553
+#: libpq/be-secure-common.c:113
 #, 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"
+msgid "command \"%s\" failed"
+msgstr "la orden «%s» falló"
 
-#: libpq/hba.c:1564
+#: libpq/be-secure-common.c:141
 #, 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"
+msgid "could not access private key file \"%s\": %m"
+msgstr "no se pudo acceder al archivo de la llave privada «%s»: %m"
 
-#: libpq/hba.c:1580
+#: libpq/be-secure-common.c:150
 #, c-format
-msgid "cannot use ldapsearchattribute together with ldapsearchfilter"
-msgstr "no se puede usar ldapsearchattribute junto con ldapsearchfilter"
+msgid "private key file \"%s\" is not a regular file"
+msgstr "el archivo de llave privada «%s» no es un archivo regular"
 
-#: libpq/hba.c:1597
+#: libpq/be-secure-common.c:165
 #, c-format
-msgid "list of RADIUS servers cannot be empty"
-msgstr "la lista de servidores RADIUS no puede ser vacía"
+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/hba.c:1607
+#: libpq/be-secure-common.c:188
 #, c-format
-msgid "list of RADIUS secrets cannot be empty"
-msgstr "la lista de secretos RADIUS no puede ser vacía"
-
-#: libpq/hba.c:1660
-#, c-format
-msgid "the number of %s (%d) must be 1 or the same as the number of %s (%d)"
-msgstr "el número de %s (%d) debe ser 1 o igual al número de %s (%d)"
-
-#: libpq/hba.c:1694
-msgid "ident, peer, gssapi, sspi, and cert"
-msgstr "ident, peer, gssapi, sspi y cert"
+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/hba.c:1703
+#: libpq/be-secure-common.c:190
 #, c-format
-msgid "clientcert can only be configured for \"hostssl\" rows"
-msgstr "clientcert sólo puede ser configurado en líneas «hostssl»"
+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/hba.c:1725
-#, c-format
-#| msgid "clientcert cannot be set to \"no-verify\" when using \"cert\" authentication"
-msgid "clientcert can not be set to \"no-verify\" when using \"cert\" authentication"
-msgstr "clientcert no puede establecerse a «no-verify» cuando se emplea autentificación «cert»"
+#: libpq/be-secure-gssapi.c:204
+msgid "GSSAPI wrap error"
+msgstr "error de «wrap» de GSSAPI"
 
-#: libpq/hba.c:1737
+#: libpq/be-secure-gssapi.c:211
 #, c-format
-msgid "invalid value for clientcert: \"%s\""
-msgstr "valor no válido para el parámetro clientcert: «%s»"
+msgid "outgoing GSSAPI message would not use confidentiality"
+msgstr "mensaje saliente GSSAPI no proveería confidencialidad"
 
-#: libpq/hba.c:1771
+#: libpq/be-secure-gssapi.c:218 libpq/be-secure-gssapi.c:622
 #, c-format
-msgid "could not parse LDAP URL \"%s\": %s"
-msgstr "no se pudo interpretar la URL LDAP «%s»: %s"
+msgid "server tried to send oversize GSSAPI packet (%zu > %zu)"
+msgstr "el servidor intentó enviar un paquete GSSAPI demasiado grande (%zu > %zu)"
 
-#: libpq/hba.c:1782
+#: libpq/be-secure-gssapi.c:351
 #, c-format
-msgid "unsupported LDAP URL scheme: %s"
-msgstr "esquema de URL LDAP no soportado: %s"
+msgid "oversize GSSAPI packet sent by the client (%zu > %zu)"
+msgstr "paquete GSSAPI demasiado grande enviado por el cliente (%zu > %zu)"
 
-#: libpq/hba.c:1806
-#, c-format
-msgid "LDAP URLs not supported on this platform"
-msgstr "las URLs LDAP no está soportado en esta plataforma"
+#: libpq/be-secure-gssapi.c:389
+msgid "GSSAPI unwrap error"
+msgstr "error de «unwrap» de GSSAPI"
 
-#: libpq/hba.c:1824
+#: libpq/be-secure-gssapi.c:396
 #, c-format
-msgid "invalid ldapscheme value: \"%s\""
-msgstr "valor ldapscheme no válido: «%s»"
+msgid "incoming GSSAPI message did not use confidentiality"
+msgstr "mensaje GSSAPI entrante no usó confidencialidad"
 
-#: libpq/hba.c:1842
+#: libpq/be-secure-gssapi.c:570
 #, c-format
-msgid "invalid LDAP port number: \"%s\""
-msgstr "número de puerto LDAP no válido: «%s»"
+msgid "oversize GSSAPI packet sent by the client (%zu > %d)"
+msgstr "paquete GSSAPI demasiado grande enviado por el cliente (%zu > %d)"
 
-#: libpq/hba.c:1888 libpq/hba.c:1895
-msgid "gssapi and sspi"
-msgstr "gssapi y sspi"
+#: libpq/be-secure-gssapi.c:594
+msgid "could not accept GSSAPI security context"
+msgstr "no se pudo aceptar un contexto de seguridad GSSAPI"
 
-#: libpq/hba.c:1904 libpq/hba.c:1913
-msgid "sspi"
-msgstr "sspi"
+#: libpq/be-secure-gssapi.c:689
+msgid "GSSAPI size check error"
+msgstr "error de verificación de tamaño GSSAPI"
 
-#: libpq/hba.c:1935
+#: libpq/be-secure-openssl.c:115
 #, c-format
-msgid "could not parse RADIUS server list \"%s\""
-msgstr "no se pudo interpretar la lista de servidores RADIUS «%s»"
+msgid "could not create SSL context: %s"
+msgstr "no se pudo crear un contexto SSL: %s"
 
-#: libpq/hba.c:1983
+#: libpq/be-secure-openssl.c:141
 #, c-format
-msgid "could not parse RADIUS port list \"%s\""
-msgstr "no se pudo interpretar la lista de port RADIUS «%s»"
+msgid "could not load server certificate file \"%s\": %s"
+msgstr "no se pudo cargar el archivo de certificado de servidor «%s»: %s"
 
-#: libpq/hba.c:1997
+#: libpq/be-secure-openssl.c:161
 #, c-format
-msgid "invalid RADIUS port number: \"%s\""
-msgstr "número de puerto RADIUS no válido: «%s»"
+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/hba.c:2019
+#: libpq/be-secure-openssl.c:166
 #, c-format
-msgid "could not parse RADIUS secret list \"%s\""
-msgstr "no se pudo interpretar la lista de secretos RADIUS «%s»"
+msgid "could not load private key file \"%s\": %s"
+msgstr "no se pudo cargar el archivo de la llave privada «%s»: %s"
 
-#: libpq/hba.c:2041
+#: libpq/be-secure-openssl.c:175
 #, c-format
-msgid "could not parse RADIUS identifiers list \"%s\""
-msgstr "no se pudo interpretar la lista de identificadoes RADIUS «%s»"
+msgid "check of private key failed: %s"
+msgstr "falló la revisión de la llave privada: %s"
 
-#: libpq/hba.c:2055
+#. translator: first %s is a GUC option name, second %s is its value
+#: libpq/be-secure-openssl.c:188 libpq/be-secure-openssl.c:211
 #, c-format
-msgid "unrecognized authentication option name: \"%s\""
-msgstr "nombre de opción de autentificación desconocido: «%s»"
+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/hba.c:2199 libpq/hba.c:2613 guc-file.l:631
+#: libpq/be-secure-openssl.c:198
 #, c-format
-msgid "could not open configuration file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de configuración «%s»: %m"
+msgid "could not set minimum SSL protocol version"
+msgstr "no se pudo definir la versión mínima de protocolo SSL"
 
-#: libpq/hba.c:2250
+#: libpq/be-secure-openssl.c:221
 #, c-format
-msgid "configuration file \"%s\" contains no entries"
-msgstr "el archivo de configuración «%s» no contiene líneas"
+msgid "could not set maximum SSL protocol version"
+msgstr "no se pudo definir la versión máxima de protocolo SSL"
 
-#: libpq/hba.c:2768
+#: libpq/be-secure-openssl.c:237
 #, c-format
-msgid "invalid regular expression \"%s\": %s"
-msgstr "la expresión regular «%s» no es válida: %s"
+msgid "could not set SSL protocol version range"
+msgstr "no se pudo definir el rango de versión de protocolo SSL"
 
-#: libpq/hba.c:2828
+#: libpq/be-secure-openssl.c:238
 #, c-format
-msgid "regular expression match for \"%s\" failed: %s"
-msgstr "la coincidencia de expresión regular para «%s» falló: %s"
+msgid "\"%s\" cannot be higher than \"%s\""
+msgstr "«%s» no puede ser más alto que «%s»"
 
-#: libpq/hba.c:2847
+#: libpq/be-secure-openssl.c:262
 #, 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»"
+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/hba.c:2943
+#: libpq/be-secure-openssl.c:282
 #, 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"
+msgid "could not load root certificate file \"%s\": %s"
+msgstr "no se pudo cargar el archivo del certificado raíz «%s»: %s"
 
-#: libpq/hba.c:2963
+#: libpq/be-secure-openssl.c:328
 #, 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»"
+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/hba.c:2996
+#: libpq/be-secure-openssl.c:385
 #, c-format
-msgid "could not open usermap file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de mapa de usuarios «%s»: %m"
+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/pqcomm.c:218
+#: libpq/be-secure-openssl.c:393
 #, c-format
-msgid "could not set socket to nonblocking mode: %m"
-msgstr "no se pudo establecer el socket en modo no bloqueante: %m"
+msgid "could not initialize SSL connection: %s"
+msgstr "no se pudo inicializar la conexión SSL: %s"
 
-#: libpq/pqcomm.c:372
+#: libpq/be-secure-openssl.c:401
 #, 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)"
+msgid "could not set SSL socket: %s"
+msgstr "no se definir un socket SSL: %s"
 
-#: libpq/pqcomm.c:393
+#: libpq/be-secure-openssl.c:456
 #, 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"
+msgid "could not accept SSL connection: %m"
+msgstr "no se pudo aceptar una conexión SSL: %m"
 
-#: libpq/pqcomm.c:397
+#: libpq/be-secure-openssl.c:460 libpq/be-secure-openssl.c:513
 #, c-format
-msgid "could not translate service \"%s\" to address: %s"
-msgstr "no se pudo traducir el servicio «%s» a dirección: %s"
+msgid "could not accept SSL connection: EOF detected"
+msgstr "no se pudo aceptar una conexión SSL: se detectó EOF"
 
-#: libpq/pqcomm.c:424
+#: libpq/be-secure-openssl.c:499
 #, 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:433
-msgid "IPv4"
-msgstr "IPv4"
-
-#: libpq/pqcomm.c:437
-msgid "IPv6"
-msgstr "IPv6"
-
-#: libpq/pqcomm.c:442
-msgid "Unix"
-msgstr "Unix"
+msgid "could not accept SSL connection: %s"
+msgstr "no se pudo aceptar una conexión SSL: %s"
 
-#: libpq/pqcomm.c:447
+#: libpq/be-secure-openssl.c:502
 #, c-format
-msgid "unrecognized address family %d"
-msgstr "la familia de direcciones %d no reconocida"
+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 and %s."
 
-#. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:473
+#: libpq/be-secure-openssl.c:518 libpq/be-secure-openssl.c:649
+#: libpq/be-secure-openssl.c:713
 #, 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"
+msgid "unrecognized SSL error code: %d"
+msgstr "código de error SSL no reconocido: %d"
 
-#. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:499
+#: libpq/be-secure-openssl.c:560
 #, c-format
-msgid "setsockopt(SO_REUSEADDR) failed for %s address \"%s\": %m"
-msgstr "setsockopt(SO_REUSEADDR) falló para la dirección %s «%s»: %m"
+msgid "SSL certificate's common name contains embedded null"
+msgstr "el «common name» del certificado SSL contiene un carácter null"
 
-#. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:516
+#: libpq/be-secure-openssl.c:638 libpq/be-secure-openssl.c:697
 #, c-format
-msgid "setsockopt(IPV6_V6ONLY) failed for %s address \"%s\": %m"
-msgstr "setsockopt(IPV6_V6ONLY) falló para la dirección %s «%s»: %m"
+msgid "SSL error: %s"
+msgstr "error de SSL: %s"
 
-#. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:536
+#: libpq/be-secure-openssl.c:878
 #, c-format
-msgid "could not bind %s address \"%s\": %m"
-msgstr "no se pudo enlazar a la dirección %s «%s»: %m"
+msgid "could not open DH parameters file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de parámetros DH «%s»: %m"
 
-#: libpq/pqcomm.c:539
+#: libpq/be-secure-openssl.c:890
 #, c-format
-msgid "Is another postmaster already running on port %d? If not, remove socket file \"%s\" and retry."
-msgstr "¿Hay otro postmaster corriendo en el puerto %d? Si no, elimine el socket «%s» y reintente."
+msgid "could not load DH parameters file: %s"
+msgstr "no se pudo cargar el archivo de parámetros DH: %s"
 
-#: libpq/pqcomm.c:542
+#: libpq/be-secure-openssl.c:900
 #, c-format
-msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry."
-msgstr "¿Hay otro postmaster corriendo en el puerto %d? Si no, aguarde unos segundos y reintente."
+msgid "invalid DH parameters: %s"
+msgstr "parámetros DH no válidos: %s"
 
-#. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:575
+#: libpq/be-secure-openssl.c:909
 #, c-format
-msgid "could not listen on %s address \"%s\": %m"
-msgstr "no se pudo escuchar en la dirección %s «%s»: %m"
+msgid "invalid DH parameters: p is not prime"
+msgstr "parámetros DH no válidos: p no es primo"
 
-#: libpq/pqcomm.c:584
+#: libpq/be-secure-openssl.c:918
 #, c-format
-msgid "listening on Unix socket \"%s\""
-msgstr "escuchando en el socket Unix «%s»"
+msgid "invalid DH parameters: neither suitable generator or safe prime"
+msgstr "parámetros DH no válidos: no hay generador apropiado o primo seguro"
 
-#. translator: first %s is IPv4 or IPv6
-#: libpq/pqcomm.c:590
+#: libpq/be-secure-openssl.c:1075
 #, c-format
-msgid "listening on %s address \"%s\", port %d"
-msgstr "escuchando en la dirección %s «%s», port %d"
+msgid "DH: could not load DH parameters"
+msgstr "DH: no se pudo cargar los parámetros DH"
 
-#: libpq/pqcomm.c:673
+#: libpq/be-secure-openssl.c:1083
 #, c-format
-msgid "group \"%s\" does not exist"
-msgstr "no existe el grupo «%s»"
+msgid "DH: could not set DH parameters: %s"
+msgstr "DH: no se pudo definir los parámetros DH: %s"
 
-#: libpq/pqcomm.c:683
+#: libpq/be-secure-openssl.c:1110
 #, c-format
-msgid "could not set group of file \"%s\": %m"
-msgstr "no se pudo definir el grupo del archivo «%s»: %m"
+msgid "ECDH: unrecognized curve name: %s"
+msgstr "ECDH: nombre de curva no reconocida: %s"
 
-#: libpq/pqcomm.c:694
+#: libpq/be-secure-openssl.c:1119
 #, c-format
-msgid "could not set permissions of file \"%s\": %m"
-msgstr "no se pudo definir los permisos del archivo «%s»: %m"
+msgid "ECDH: could not create key"
+msgstr "ECDH: no se pudo crear la llave"
 
-#: libpq/pqcomm.c:724
-#, c-format
-msgid "could not accept new connection: %m"
-msgstr "no se pudo aceptar una nueva conexión: %m"
+#: libpq/be-secure-openssl.c:1147
+msgid "no SSL error reported"
+msgstr "código de error SSL no reportado"
 
-#: libpq/pqcomm.c:914
+#: libpq/be-secure-openssl.c:1151
 #, c-format
-msgid "there is no client connection"
-msgstr "no hay conexión de cliente"
+msgid "SSL error code %lu"
+msgstr "código de error SSL %lu"
 
-#: libpq/pqcomm.c:965 libpq/pqcomm.c:1061
+#: libpq/be-secure.c:122
 #, c-format
-msgid "could not receive data from client: %m"
-msgstr "no se pudo recibir datos del cliente: %m"
+msgid "SSL connection from \"%s\""
+msgstr "conexión SSL desde «%s»"
 
-#: libpq/pqcomm.c:1206 tcop/postgres.c:4142
+#: libpq/be-secure.c:207 libpq/be-secure.c:303
 #, c-format
-msgid "terminating connection because protocol synchronization was lost"
-msgstr "terminando la conexión por pérdida de sincronía del protocolo"
+msgid "terminating connection due to unexpected postmaster exit"
+msgstr "terminando la conexión debido al término inesperado de postmaster"
 
-#: libpq/pqcomm.c:1272
+#: libpq/crypt.c:49
 #, c-format
-msgid "unexpected EOF within message length word"
-msgstr "EOF inesperado dentro de la palabra de tamaño del mensaje"
+msgid "Role \"%s\" does not exist."
+msgstr "No existe el rol «%s»."
 
-#: libpq/pqcomm.c:1283
+#: libpq/crypt.c:59
 #, c-format
-msgid "invalid message length"
-msgstr "el largo de mensaje no es válido"
+msgid "User \"%s\" has no password assigned."
+msgstr "El usuario «%s» no tiene una contraseña asignada."
 
-#: libpq/pqcomm.c:1305 libpq/pqcomm.c:1318
+#: libpq/crypt.c:77
 #, c-format
-msgid "incomplete message from client"
-msgstr "mensaje incompleto del cliente"
+msgid "User \"%s\" has an expired password."
+msgstr "El usuario «%s» tiene contraseña expirada."
 
-#: libpq/pqcomm.c:1451
+#: libpq/crypt.c:179
 #, c-format
-msgid "could not send data to client: %m"
-msgstr "no se pudo enviar datos al cliente: %m"
+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/pqformat.c:406
+#: libpq/crypt.c:203 libpq/crypt.c:244 libpq/crypt.c:268
 #, c-format
-msgid "no data left in message"
-msgstr "no hay datos restantes en el mensaje"
+msgid "Password does not match for user \"%s\"."
+msgstr "La contraseña no coincide para el usuario «%s»."
 
-#: libpq/pqformat.c:517 libpq/pqformat.c:535 libpq/pqformat.c:556
-#: utils/adt/arrayfuncs.c:1471 utils/adt/rowtypes.c:567
+#: libpq/crypt.c:287
 #, c-format
-msgid "insufficient data left in message"
-msgstr "los datos restantes del mensaje son insuficientes"
+msgid "Password of user \"%s\" is in unrecognized format."
+msgstr "La contraseña del usuario \"%s\" está en un formato no reconocido."
 
-#: libpq/pqformat.c:597 libpq/pqformat.c:626
+#: libpq/hba.c:235
 #, c-format
-msgid "invalid string in message"
-msgstr "cadena inválida en el mensaje"
+msgid "authentication file token too long, skipping: \"%s\""
+msgstr "una palabra en el archivo de autentificación es demasiado larga, omitiendo: «%s»"
 
-#: libpq/pqformat.c:642
+#: libpq/hba.c:407
 #, c-format
-msgid "invalid message format"
-msgstr "formato de mensaje no válido"
+msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m"
+msgstr "no se pudo abrir el archivo secundario de autentificación «@%s» como «%s»: %m"
 
-#: main/main.c:246
+#: libpq/hba.c:509
 #, c-format
-msgid "%s: WSAStartup failed: %d\n"
-msgstr "%s: WSAStartup falló: %d\n"
+msgid "authentication file line too long"
+msgstr "línea en el archivo de autentificación demasiado larga"
 
-#: main/main.c:310
+#: libpq/hba.c:510 libpq/hba.c:867 libpq/hba.c:887 libpq/hba.c:925
+#: libpq/hba.c:975 libpq/hba.c:989 libpq/hba.c:1013 libpq/hba.c:1022
+#: libpq/hba.c:1035 libpq/hba.c:1056 libpq/hba.c:1069 libpq/hba.c:1089
+#: libpq/hba.c:1111 libpq/hba.c:1123 libpq/hba.c:1182 libpq/hba.c:1202
+#: libpq/hba.c:1216 libpq/hba.c:1236 libpq/hba.c:1247 libpq/hba.c:1262
+#: libpq/hba.c:1281 libpq/hba.c:1297 libpq/hba.c:1309 libpq/hba.c:1346
+#: libpq/hba.c:1387 libpq/hba.c:1400 libpq/hba.c:1422 libpq/hba.c:1434
+#: libpq/hba.c:1452 libpq/hba.c:1502 libpq/hba.c:1546 libpq/hba.c:1557
+#: libpq/hba.c:1573 libpq/hba.c:1590 libpq/hba.c:1600 libpq/hba.c:1658
+#: libpq/hba.c:1696 libpq/hba.c:1718 libpq/hba.c:1730 libpq/hba.c:1817
+#: libpq/hba.c:1835 libpq/hba.c:1929 libpq/hba.c:1948 libpq/hba.c:1977
+#: libpq/hba.c:1990 libpq/hba.c:2013 libpq/hba.c:2035 libpq/hba.c:2049
+#: tsearch/ts_locale.c:217
 #, c-format
-msgid ""
-"%s is the PostgreSQL server.\n"
-"\n"
-msgstr ""
-"%s es el servidor PostgreSQL.\n"
-"\n"
+msgid "line %d of configuration file \"%s\""
+msgstr "línea %d del archivo de configuración «%s»"
 
-#: main/main.c:311
+#. translator: the second %s is a list of auth methods
+#: libpq/hba.c:865
 #, c-format
-msgid ""
-"Usage:\n"
-"  %s [OPTION]...\n"
-"\n"
-msgstr ""
-"Empleo:\n"
-"  %s [OPCION]...\n"
-"\n"
+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"
 
-#: main/main.c:312
+#: libpq/hba.c:885
 #, c-format
-msgid "Options:\n"
-msgstr "Opciones:\n"
+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"
 
-#: main/main.c:313
+#: libpq/hba.c:913
 #, c-format
-msgid "  -B NBUFFERS        number of shared buffers\n"
-msgstr "  -B NBUFFERS     número de búfers de memoria compartida\n"
+msgid "missing entry in file \"%s\" at end of line %d"
+msgstr "falta una entrada en el archivo «%s» al final de la línea %d"
 
-#: main/main.c:314
+#: libpq/hba.c:924
 #, c-format
-msgid "  -c NAME=VALUE      set run-time parameter\n"
-msgstr "  -c VAR=VALOR    definir parámetro de ejecución\n"
+msgid "multiple values in ident field"
+msgstr "múltiples valores en campo «ident»"
 
-#: main/main.c:315
+#: libpq/hba.c:973
 #, 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"
+msgid "multiple values specified for connection type"
+msgstr "múltiples valores especificados para tipo de conexión"
 
-#: main/main.c:316
+#: libpq/hba.c:974
 #, c-format
-msgid "  -d 1-5             debugging level\n"
-msgstr "  -d 1-5          nivel de depuración\n"
+msgid "Specify exactly one connection type per line."
+msgstr "Especifique exactamente un tipo de conexión por línea."
 
-#: main/main.c:317
+#: libpq/hba.c:988
 #, c-format
-msgid "  -D DATADIR         database directory\n"
-msgstr "  -D DATADIR      directorio de bases de datos\n"
+msgid "local connections are not supported by this build"
+msgstr "las conexiones locales no están soportadas en este servidor"
 
-#: main/main.c:318
+#: libpq/hba.c:1011
 #, c-format
-msgid "  -e                 use European date input format (DMY)\n"
-msgstr "  -e              usar estilo europeo de fechas (DMY)\n"
+msgid "hostssl record cannot match because SSL is disabled"
+msgstr "el registro hostssl no puede coincidir porque SSL está deshabilitado"
 
-#: main/main.c:319
+#: libpq/hba.c:1012
 #, c-format
-msgid "  -F                 turn fsync off\n"
-msgstr "  -F              desactivar fsync\n"
+msgid "Set ssl = on in postgresql.conf."
+msgstr "Defina «ssl = on» en postgresql.conf."
 
-#: main/main.c:320
+#: libpq/hba.c:1020
 #, 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"
+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"
 
-#: main/main.c:321
+#: libpq/hba.c:1021
 #, c-format
-msgid "  -i                 enable TCP/IP connections\n"
-msgstr "  -i              activar conexiones TCP/IP\n"
+msgid "Compile with --with-openssl to use SSL connections."
+msgstr "Compile con --with-openssl para usar conexiones SSL."
 
-#: main/main.c:322
+#: libpq/hba.c:1033
 #, c-format
-msgid "  -k DIRECTORY       Unix-domain socket location\n"
-msgstr "  -k DIRECTORIO   ubicación del socket Unix\n"
+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"
 
-#: main/main.c:324
+#: libpq/hba.c:1034
 #, c-format
-msgid "  -l                 enable SSL connections\n"
-msgstr "  -l              activar conexiones SSL\n"
+msgid "Compile with --with-gssapi to use GSSAPI connections."
+msgstr "Compile con --with-gssapi para usar conexiones GSSAPI."
 
-#: main/main.c:326
+#: libpq/hba.c:1054
 #, c-format
-msgid "  -N MAX-CONNECT     maximum number of allowed connections\n"
-msgstr "  -N MAX-CONN     número máximo de conexiones permitidas\n"
+msgid "invalid connection type \"%s\""
+msgstr "tipo de conexión «%s» no válido"
 
-#: main/main.c:327
+#: libpq/hba.c:1068
 #, c-format
-msgid "  -o OPTIONS         pass \"OPTIONS\" to each server process (obsolete)\n"
-msgstr "  -o OPCIONES     pasar «OPCIONES» a cada proceso servidor (obsoleto)\n"
+msgid "end-of-line before database specification"
+msgstr "fin de línea antes de especificación de base de datos"
 
-#: main/main.c:328
+#: libpq/hba.c:1088
 #, c-format
-msgid "  -p PORT            port number to listen on\n"
-msgstr "  -p PUERTO       número de puerto en el cual escuchar\n"
+msgid "end-of-line before role specification"
+msgstr "fin de línea antes de especificación de rol"
 
-#: main/main.c:329
+#: libpq/hba.c:1110
 #, c-format
-msgid "  -s                 show statistics after each query\n"
-msgstr "  -s              mostrar estadísticas después de cada consulta\n"
+msgid "end-of-line before IP address specification"
+msgstr "fin de línea antes de especificación de dirección IP"
 
-#: main/main.c:330
+#: libpq/hba.c:1121
 #, 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"
+msgid "multiple values specified for host address"
+msgstr "múltiples valores especificados para la dirección de anfitrión"
 
-#: main/main.c:331
+#: libpq/hba.c:1122
 #, c-format
-msgid "  -V, --version      output version information, then exit\n"
-msgstr "  -V, --version   mostrar información de la versión, luego salir\n"
+msgid "Specify one address range per line."
+msgstr "Especifique un rango de direcciones por línea."
 
-#: main/main.c:332
+#: libpq/hba.c:1180
 #, c-format
-msgid "  --NAME=VALUE       set run-time parameter\n"
-msgstr "  --NOMBRE=VALOR  definir parámetro de ejecución\n"
+msgid "invalid IP address \"%s\": %s"
+msgstr "dirección IP «%s» no válida: %s"
 
-#: main/main.c:333
+#: libpq/hba.c:1200
 #, c-format
-msgid "  --describe-config  describe configuration parameters, then exit\n"
-msgstr ""
-"  --describe-config\n"
-"                  mostrar parámetros de configuración y salir\n"
+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»"
 
-#: main/main.c:334
+#: libpq/hba.c:1214
 #, c-format
-msgid "  -?, --help         show this help, then exit\n"
-msgstr "  -?, --help      muestra esta ayuda, luego sale\n"
+msgid "invalid CIDR mask in address \"%s\""
+msgstr "máscara CIDR no válida en dirección «%s»"
 
-#: main/main.c:336
+#: libpq/hba.c:1234
 #, c-format
-msgid ""
-"\n"
-"Developer options:\n"
-msgstr ""
-"\n"
-"Opciones de desarrollador:\n"
+msgid "end-of-line before netmask specification"
+msgstr "fin de línea antes de especificación de máscara de red"
 
-#: main/main.c:337
+#: libpq/hba.c:1235
 #, c-format
-msgid "  -f s|i|n|m|h       forbid use of some plan types\n"
-msgstr "  -f s|i|n|m|h    impedir el uso de algunos tipos de planes\n"
+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."
 
-#: main/main.c:338
+#: libpq/hba.c:1246
 #, c-format
-msgid "  -n                 do not reinitialize shared memory after abnormal exit\n"
-msgstr "  -n              no reinicializar memoria compartida después de salida anormal\n"
+msgid "multiple values specified for netmask"
+msgstr "múltiples valores especificados para la máscara de red"
 
-#: main/main.c:339
+#: libpq/hba.c:1260
 #, c-format
-msgid "  -O                 allow system table structure changes\n"
-msgstr "  -O              permitir cambios en estructura de tablas de sistema\n"
+msgid "invalid IP mask \"%s\": %s"
+msgstr "máscara IP «%s» no válida: %s"
 
-#: main/main.c:340
+#: libpq/hba.c:1280
 #, c-format
-msgid "  -P                 disable system indexes\n"
-msgstr "  -P              desactivar índices de sistema\n"
+msgid "IP address and mask do not match"
+msgstr "La dirección y máscara IP no coinciden"
 
-#: main/main.c:341
+#: libpq/hba.c:1296
 #, 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"
+msgid "end-of-line before authentication method"
+msgstr "fin de línea antes de especificación de método de autentificación"
 
-#: main/main.c:342
+#: libpq/hba.c:1307
 #, c-format
-msgid "  -T                 send SIGSTOP to all backend processes if one dies\n"
-msgstr ""
-"  -T              enviar SIGSTOP a todos los procesos backend si uno de ellos\n"
-"                  muere\n"
+msgid "multiple values specified for authentication type"
+msgstr "múltiples valores especificados para el tipo de autentificación"
 
-#: main/main.c:343
+#: libpq/hba.c:1308
 #, 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"
+msgid "Specify exactly one authentication type per line."
+msgstr "Especifique exactamente un tipo de autentificación por línea."
 
-#: main/main.c:345
+#: libpq/hba.c:1385
 #, c-format
-msgid ""
-"\n"
-"Options for single-user mode:\n"
-msgstr ""
-"\n"
-"Opciones para modo mono-usuario:\n"
+msgid "invalid authentication method \"%s\""
+msgstr "método de autentificación «%s» no válido"
 
-#: main/main.c:346
+#: libpq/hba.c:1398
 #, 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"
+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"
 
-#: main/main.c:347
+#: libpq/hba.c:1421
 #, 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"
+msgid "gssapi authentication is not supported on local sockets"
+msgstr "la autentificación gssapi no está soportada en conexiones locales"
 
-#: main/main.c:348
+#: libpq/hba.c:1433
 #, c-format
-msgid "  -d 0-5             override debugging level\n"
-msgstr "  -d 0-5          nivel de depuración\n"
+msgid "peer authentication is only supported on local sockets"
+msgstr "la autentificación peer sólo está soportada en conexiones locales"
 
-#: main/main.c:349
+#: libpq/hba.c:1451
 #, c-format
-msgid "  -E                 echo statement before execution\n"
-msgstr "  -E              mostrar las consultas antes de su ejecución\n"
+msgid "cert authentication is only supported on hostssl connections"
+msgstr "la autentificación cert sólo está soportada en conexiones hostssl"
 
-#: main/main.c:350
+#: libpq/hba.c:1501
 #, 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"
+msgid "authentication option not in name=value format: %s"
+msgstr "opción de autentificación en formato nombre=valor: %s"
 
-#: main/main.c:351 main/main.c:356
+#: libpq/hba.c:1545
 #, 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"
+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"
 
-#: main/main.c:353
+#: libpq/hba.c:1556
 #, c-format
-msgid ""
-"\n"
-"Options for bootstrapping mode:\n"
-msgstr ""
-"\n"
-"Opciones para modo de inicio (bootstrapping):\n"
+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"
 
-#: main/main.c:354
+#: libpq/hba.c:1572
 #, c-format
-msgid "  --boot             selects bootstrapping mode (must be first argument)\n"
-msgstr "  --boot          selecciona modo de inicio (debe ser el primer argumento)\n"
+msgid "cannot use ldapsearchattribute together with ldapsearchfilter"
+msgstr "no se puede usar ldapsearchattribute junto con ldapsearchfilter"
 
-#: main/main.c:355
+#: libpq/hba.c:1589
 #, 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"
+msgid "list of RADIUS servers cannot be empty"
+msgstr "la lista de servidores RADIUS no puede ser vacía"
 
-#: main/main.c:357
+#: libpq/hba.c:1599
 #, c-format
-msgid "  -x NUM             internal use\n"
-msgstr "  -x NUM          uso interno\n"
+msgid "list of RADIUS secrets cannot be empty"
+msgstr "la lista de secretos RADIUS no puede ser vacía"
 
-#: main/main.c:359
+#: libpq/hba.c:1652
 #, c-format
-msgid ""
-"\n"
-"Please read the documentation for the complete list of run-time\n"
-"configuration settings and how to set them on the command line or in\n"
-"the configuration file.\n"
-"\n"
-"Report bugs to <%s>.\n"
-msgstr ""
-"\n"
-"Por favor lea la documentación para obtener la lista de parámetros de\n"
-"configuración y cómo definirlos en la línea de órdenes o en el archivo\n"
-"de configuración.\n"
-"\n"
-"Reporte errores a <%s>.\n"
+msgid "the number of %s (%d) must be 1 or the same as the number of %s (%d)"
+msgstr "el número de %s (%d) debe ser 1 o igual al número de %s (%d)"
 
-#: main/main.c:363
-#, c-format
-msgid "%s home page: <%s>\n"
-msgstr "Sitio web de %s: <%s>\n"
+#: libpq/hba.c:1686
+msgid "ident, peer, gssapi, sspi, and cert"
+msgstr "ident, peer, gssapi, sspi y cert"
 
-#: main/main.c:374
+#: libpq/hba.c:1695
 #, c-format
-msgid ""
-"\"root\" execution of the PostgreSQL server is not permitted.\n"
-"The server must be started under an unprivileged user ID to prevent\n"
-"possible system security compromise.  See the documentation for\n"
-"more information on how to properly start the server.\n"
-msgstr ""
-"No se permite ejecución del servidor PostgreSQL como «root».\n"
-"El servidor debe ser iniciado con un usuario no privilegiado\n"
-"para prevenir posibles compromisos de seguridad del sistema.\n"
-"Vea la documentación para obtener más información acerca de cómo\n"
-"iniciar correctamente el servidor.\n"
+msgid "clientcert can only be configured for \"hostssl\" rows"
+msgstr "clientcert sólo puede ser configurado en líneas «hostssl»"
 
-#: main/main.c:391
+#: libpq/hba.c:1717
+#, fuzzy, c-format
+#| msgid "clientcert can not be set to \"no-verify\" when using \"cert\" authentication"
+msgid "clientcert cannot be set to \"no-verify\" when using \"cert\" authentication"
+msgstr "clientcert no puede establecerse a «no-verify» cuando se emplea autentificación «cert»"
+
+#: libpq/hba.c:1729
 #, c-format
-msgid "%s: real and effective user IDs must match\n"
-msgstr "%s: los IDs de usuario real y efectivo deben coincidir\n"
+msgid "invalid value for clientcert: \"%s\""
+msgstr "valor no válido para el parámetro clientcert: «%s»"
 
-#: main/main.c:398
+#: libpq/hba.c:1763
 #, c-format
-msgid ""
-"Execution of PostgreSQL by a user with administrative permissions is not\n"
-"permitted.\n"
-"The server must be started under an unprivileged user ID to prevent\n"
-"possible system security compromises.  See the documentation for\n"
-"more information on how to properly start the server.\n"
-msgstr ""
-"No se permite ejecución del servidor PostgreSQL por un usuario con privilegios administrativos.\n"
-"El servidor debe ser iniciado con un usuario no privilegiado\n"
-"para prevenir posibles compromisos de seguridad del sistema.\n"
-"Vea la documentación para obtener más información acerca de cómo\n"
-"iniciar correctamente el servidor.\n"
+msgid "could not parse LDAP URL \"%s\": %s"
+msgstr "no se pudo interpretar la URL LDAP «%s»: %s"
 
-#: nodes/extensible.c:66
+#: libpq/hba.c:1774
 #, c-format
-msgid "extensible node type \"%s\" already exists"
-msgstr "el tipo de nodo extensible «%s» ya existe"
+msgid "unsupported LDAP URL scheme: %s"
+msgstr "esquema de URL LDAP no soportado: %s"
 
-#: nodes/extensible.c:114
+#: libpq/hba.c:1798
 #, c-format
-msgid "ExtensibleNodeMethods \"%s\" was not registered"
-msgstr "ExtensibleNodeMethods «%s» no fue registrado"
+msgid "LDAP URLs not supported on this platform"
+msgstr "las URLs LDAP no está soportado en esta plataforma"
 
-#: nodes/nodeFuncs.c:122 nodes/nodeFuncs.c:153 parser/parse_coerce.c:2208
-#: parser/parse_coerce.c:2317 parser/parse_coerce.c:2352
-#: parser/parse_expr.c:2207 parser/parse_func.c:701 parser/parse_oper.c:967
-#: utils/fmgr/funcapi.c:528
+#: libpq/hba.c:1816
 #, 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"
+msgid "invalid ldapscheme value: \"%s\""
+msgstr "valor ldapscheme no válido: «%s»"
 
-#: nodes/params.c:359
+#: libpq/hba.c:1834
 #, c-format
-#| msgid "portal \"%s\" with parameters: %s"
-msgid "extended query \"%s\" with parameters: %s"
-msgstr "consulta extendida «%s» con parámetros: %s"
+msgid "invalid LDAP port number: \"%s\""
+msgstr "número de puerto LDAP no válido: «%s»"
 
-#: nodes/params.c:362
+#: libpq/hba.c:1880 libpq/hba.c:1887
+msgid "gssapi and sspi"
+msgstr "gssapi y sspi"
+
+#: libpq/hba.c:1896 libpq/hba.c:1905
+msgid "sspi"
+msgstr "sspi"
+
+#: libpq/hba.c:1927
 #, c-format
-#| msgid "unnamed portal with parameters: %s"
-msgid "extended query with parameters: %s"
-msgstr "consulta extendida con parámetros: %s"
+msgid "could not parse RADIUS server list \"%s\""
+msgstr "no se pudo interpretar la lista de servidores RADIUS «%s»"
 
-#: optimizer/path/joinrels.c:855
+#: libpq/hba.c:1975
 #, 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"
+msgid "could not parse RADIUS port list \"%s\""
+msgstr "no se pudo interpretar la lista de port RADIUS «%s»"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/initsplan.c:1193
+#: libpq/hba.c:1989
 #, 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"
+msgid "invalid RADIUS port number: \"%s\""
+msgstr "número de puerto RADIUS no válido: «%s»"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/planner.c:1922 parser/analyze.c:1639 parser/analyze.c:1855
-#: parser/analyze.c:2715
+#: libpq/hba.c:2011
 #, c-format
-msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
-msgstr "%s no está permitido con UNION/INTERSECT/EXCEPT"
+msgid "could not parse RADIUS secret list \"%s\""
+msgstr "no se pudo interpretar la lista de secretos RADIUS «%s»"
 
-#: optimizer/plan/planner.c:2509 optimizer/plan/planner.c:4162
+#: libpq/hba.c:2033
 #, c-format
-msgid "could not implement GROUP BY"
-msgstr "no se pudo implementar GROUP BY"
+msgid "could not parse RADIUS identifiers list \"%s\""
+msgstr "no se pudo interpretar la lista de identificadoes RADIUS «%s»"
 
-#: optimizer/plan/planner.c:2510 optimizer/plan/planner.c:4163
-#: optimizer/plan/planner.c:4890 optimizer/prep/prepunion.c:1045
+#: libpq/hba.c:2047
 #, 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."
+msgid "unrecognized authentication option name: \"%s\""
+msgstr "nombre de opción de autentificación desconocido: «%s»"
 
-#: optimizer/plan/planner.c:4889
+#: libpq/hba.c:2244
 #, c-format
-msgid "could not implement DISTINCT"
-msgstr "no se pudo implementar DISTINCT"
+msgid "configuration file \"%s\" contains no entries"
+msgstr "el archivo de configuración «%s» no contiene líneas"
 
-#: optimizer/plan/planner.c:5737
+#: libpq/hba.c:2768
 #, c-format
-msgid "could not implement window PARTITION BY"
-msgstr "No se pudo implementar PARTITION BY de ventana"
+msgid "invalid regular expression \"%s\": %s"
+msgstr "la expresión regular «%s» no es válida: %s"
 
-#: optimizer/plan/planner.c:5738
+#: libpq/hba.c:2828
 #, 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."
+msgid "regular expression match for \"%s\" failed: %s"
+msgstr "la coincidencia de expresión regular para «%s» falló: %s"
 
-#: optimizer/plan/planner.c:5742
+#: libpq/hba.c:2847
 #, c-format
-msgid "could not implement window ORDER BY"
-msgstr "no se pudo implementar ORDER BY de ventana"
+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»"
 
-#: optimizer/plan/planner.c:5743
+#: libpq/hba.c:2943
 #, 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."
+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"
 
-#: optimizer/plan/setrefs.c:451
+#: libpq/hba.c:2963
 #, c-format
-msgid "too many range table entries"
-msgstr "demasiadas «range table entries»"
+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»"
 
-#: optimizer/prep/prepunion.c:508
+#: libpq/hba.c:2996
 #, c-format
-msgid "could not implement recursive UNION"
-msgstr "no se pudo implementar UNION recursivo"
+msgid "could not open usermap file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de mapa de usuarios «%s»: %m"
 
-#: optimizer/prep/prepunion.c:509
+#: libpq/pqcomm.c:218
 #, 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."
+msgid "could not set socket to nonblocking mode: %m"
+msgstr "no se pudo establecer el socket en modo no bloqueante: %m"
 
-#. translator: %s is UNION, INTERSECT, or EXCEPT
-#: optimizer/prep/prepunion.c:1044
+#: libpq/pqcomm.c:369
 #, c-format
-msgid "could not implement %s"
-msgstr "no se pudo implementar %s"
+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)"
 
-#: optimizer/util/clauses.c:4746
+#: libpq/pqcomm.c:390
 #, c-format
-msgid "SQL function \"%s\" during inlining"
-msgstr "función SQL «%s», durante expansión en línea"
+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"
 
-#: optimizer/util/plancat.c:132
+#: libpq/pqcomm.c:394
 #, 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"
+msgid "could not translate service \"%s\" to address: %s"
+msgstr "no se pudo traducir el servicio «%s» a dirección: %s"
 
-#: optimizer/util/plancat.c:662
+#: libpq/pqcomm.c:421
 #, 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"
+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:430
+msgid "IPv4"
+msgstr "IPv4"
+
+#: libpq/pqcomm.c:434
+msgid "IPv6"
+msgstr "IPv6"
 
-#: optimizer/util/plancat.c:679
+#: libpq/pqcomm.c:439
+msgid "Unix"
+msgstr "Unix"
+
+#: libpq/pqcomm.c:444
 #, 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"
+msgid "unrecognized address family %d"
+msgstr "la familia de direcciones %d no reconocida"
 
-#: optimizer/util/plancat.c:729
+#. translator: first %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:470
 #, 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"
+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"
 
-#: optimizer/util/plancat.c:834
+#. translator: first %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:496
 #, 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"
+msgid "setsockopt(SO_REUSEADDR) failed for %s address \"%s\": %m"
+msgstr "setsockopt(SO_REUSEADDR) falló para la dirección %s «%s»: %m"
 
-#: parser/analyze.c:705 parser/analyze.c:1401
+#. translator: first %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:513
 #, c-format
-msgid "VALUES lists must all be the same length"
-msgstr "las listas VALUES deben ser todas de la misma longitud"
+msgid "setsockopt(IPV6_V6ONLY) failed for %s address \"%s\": %m"
+msgstr "setsockopt(IPV6_V6ONLY) falló para la dirección %s «%s»: %m"
 
-#: parser/analyze.c:904
+#. translator: first %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:533
 #, c-format
-msgid "INSERT has more expressions than target columns"
-msgstr "INSERT tiene más expresiones que columnas de destino"
+msgid "could not bind %s address \"%s\": %m"
+msgstr "no se pudo enlazar a la dirección %s «%s»: %m"
 
-#: parser/analyze.c:922
+#: libpq/pqcomm.c:536
 #, c-format
-msgid "INSERT has more target columns than expressions"
-msgstr "INSERT tiene más columnas de destino que expresiones"
+msgid "Is another postmaster already running on port %d? If not, remove socket file \"%s\" and retry."
+msgstr "¿Hay otro postmaster corriendo en el puerto %d? Si no, elimine el socket «%s» y reintente."
 
-#: parser/analyze.c:926
+#: libpq/pqcomm.c:539
 #, 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?"
+msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry."
+msgstr "¿Hay otro postmaster corriendo en el puerto %d? Si no, aguarde unos segundos y reintente."
 
-#: parser/analyze.c:1210 parser/analyze.c:1612
+#. translator: first %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:572
 #, c-format
-msgid "SELECT ... INTO is not allowed here"
-msgstr "SELECT ... INTO no está permitido aquí"
+msgid "could not listen on %s address \"%s\": %m"
+msgstr "no se pudo escuchar en la dirección %s «%s»: %m"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:1542 parser/analyze.c:2894
+#: libpq/pqcomm.c:581
 #, c-format
-msgid "%s cannot be applied to VALUES"
-msgstr "%s no puede ser aplicado a VALUES"
+msgid "listening on Unix socket \"%s\""
+msgstr "escuchando en el socket Unix «%s»"
 
-#: parser/analyze.c:1777
+#. translator: first %s is IPv4 or IPv6
+#: libpq/pqcomm.c:587
 #, c-format
-msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
-msgstr "cláusula UNION/INTERSECT/EXCEPT ORDER BY no válida"
+msgid "listening on %s address \"%s\", port %d"
+msgstr "escuchando en la dirección %s «%s», port %d"
 
-#: parser/analyze.c:1778
+#: libpq/pqcomm.c:670
 #, 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."
+msgid "group \"%s\" does not exist"
+msgstr "no existe el grupo «%s»"
 
-#: parser/analyze.c:1779
+#: libpq/pqcomm.c:680
 #, 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."
+msgid "could not set group of file \"%s\": %m"
+msgstr "no se pudo definir el grupo del archivo «%s»: %m"
 
-#: parser/analyze.c:1845
+#: libpq/pqcomm.c:691
 #, 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"
+msgid "could not set permissions of file \"%s\": %m"
+msgstr "no se pudo definir los permisos del archivo «%s»: %m"
 
-#: parser/analyze.c:1917
+#: libpq/pqcomm.c:721
 #, 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"
+msgid "could not accept new connection: %m"
+msgstr "no se pudo aceptar una nueva conexión: %m"
 
-#: parser/analyze.c:2004
+#: libpq/pqcomm.c:911
 #, 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"
+msgid "there is no client connection"
+msgstr "no hay conexión de cliente"
 
-#: parser/analyze.c:2426
+#: libpq/pqcomm.c:962 libpq/pqcomm.c:1058
 #, c-format
-msgid "RETURNING must have at least one column"
-msgstr "RETURNING debe tener al menos una columna"
+msgid "could not receive data from client: %m"
+msgstr "no se pudo recibir datos del cliente: %m"
 
-#: parser/analyze.c:2467
+#: libpq/pqcomm.c:1203 tcop/postgres.c:4154
 #, c-format
-msgid "cannot specify both SCROLL and NO SCROLL"
-msgstr "no se puede especificar SCROLL y NO SCROLL"
+msgid "terminating connection because protocol synchronization was lost"
+msgstr "terminando la conexión por pérdida de sincronía del protocolo"
 
-#: parser/analyze.c:2486
+#: libpq/pqcomm.c:1269
 #, 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"
+msgid "unexpected EOF within message length word"
+msgstr "EOF inesperado dentro de la palabra de tamaño del mensaje"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2494
+#: libpq/pqcomm.c:1280
 #, c-format
-msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
-msgstr "DECLARE CURSOR WITH HOLD ... %s no está soportado"
+msgid "invalid message length"
+msgstr "el largo de mensaje no es válido"
 
-#: parser/analyze.c:2497
+#: libpq/pqcomm.c:1302 libpq/pqcomm.c:1315
 #, c-format
-msgid "Holdable cursors must be READ ONLY."
-msgstr "Los cursores declarados HOLD deben ser READ ONLY."
+msgid "incomplete message from client"
+msgstr "mensaje incompleto del cliente"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2505
+#: libpq/pqcomm.c:1448
 #, c-format
-msgid "DECLARE SCROLL CURSOR ... %s is not supported"
-msgstr "DECLARE SCROLL CURSOR ... %s no está soportado"
+msgid "could not send data to client: %m"
+msgstr "no se pudo enviar datos al cliente: %m"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2516
+#: libpq/pqformat.c:406
 #, c-format
-msgid "DECLARE INSENSITIVE CURSOR ... %s is not supported"
-msgstr "DECLARE INSENSITIVE CURSOR ... %s no está soportado"
+msgid "no data left in message"
+msgstr "no hay datos restantes en el mensaje"
 
-#: parser/analyze.c:2519
+#: libpq/pqformat.c:517 libpq/pqformat.c:535 libpq/pqformat.c:556
+#: utils/adt/arrayfuncs.c:1460 utils/adt/rowtypes.c:567
 #, c-format
-msgid "Insensitive cursors must be READ ONLY."
-msgstr "Los cursores insensitivos deben ser READ ONLY."
+msgid "insufficient data left in message"
+msgstr "los datos restantes del mensaje son insuficientes"
 
-#: parser/analyze.c:2585
+#: libpq/pqformat.c:597 libpq/pqformat.c:626
 #, 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"
+msgid "invalid string in message"
+msgstr "cadena inválida en el mensaje"
 
-#: parser/analyze.c:2595
+#: libpq/pqformat.c:642
 #, c-format
-msgid "materialized views must not use temporary tables or views"
-msgstr "las vistas materializadas no deben usar tablas temporales o vistas"
+msgid "invalid message format"
+msgstr "formato de mensaje no válido"
 
-#: parser/analyze.c:2605
+#: main/main.c:246
 #, c-format
-msgid "materialized views may not be defined using bound parameters"
-msgstr "las vistas materializadas no pueden definirse usando parámetros enlazados"
+msgid "%s: WSAStartup failed: %d\n"
+msgstr "%s: WSAStartup falló: %d\n"
 
-#: parser/analyze.c:2617
+#: main/main.c:310
 #, c-format
-msgid "materialized views cannot be unlogged"
-msgstr "las vistas materializadas no pueden ser «unlogged»"
+msgid ""
+"%s is the PostgreSQL server.\n"
+"\n"
+msgstr ""
+"%s es el servidor PostgreSQL.\n"
+"\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2722
+#: main/main.c:311
 #, c-format
-msgid "%s is not allowed with DISTINCT clause"
-msgstr "%s no está permitido con cláusulas DISTINCT"
+msgid ""
+"Usage:\n"
+"  %s [OPTION]...\n"
+"\n"
+msgstr ""
+"Empleo:\n"
+"  %s [OPCION]...\n"
+"\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2729
+#: main/main.c:312
 #, c-format
-msgid "%s is not allowed with GROUP BY clause"
-msgstr "%s no está permitido con cláusulas GROUP BY"
+msgid "Options:\n"
+msgstr "Opciones:\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2736
+#: main/main.c:313
 #, c-format
-msgid "%s is not allowed with HAVING clause"
-msgstr "%s no está permitido con cláusulas HAVING"
+msgid "  -B NBUFFERS        number of shared buffers\n"
+msgstr "  -B NBUFFERS     número de búfers de memoria compartida\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2743
+#: main/main.c:314
 #, c-format
-msgid "%s is not allowed with aggregate functions"
-msgstr "%s no está permitido con funciones de agregación"
+msgid "  -c NAME=VALUE      set run-time parameter\n"
+msgstr "  -c VAR=VALOR    definir parámetro de ejecución\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2750
+#: main/main.c:315
 #, c-format
-msgid "%s is not allowed with window functions"
-msgstr "%s no está permitido con funciones de ventana deslizante"
+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"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2757
+#: main/main.c:316
 #, 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"
+msgid "  -d 1-5             debugging level\n"
+msgstr "  -d 1-5          nivel de depuración\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2836
+#: main/main.c:317
 #, c-format
-msgid "%s must specify unqualified relation names"
-msgstr "%s debe especificar nombres de relaciones sin calificar"
+msgid "  -D DATADIR         database directory\n"
+msgstr "  -D DATADIR      directorio de bases de datos\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2867
+#: main/main.c:318
 #, c-format
-msgid "%s cannot be applied to a join"
-msgstr "%s no puede ser aplicado a un join"
+msgid "  -e                 use European date input format (DMY)\n"
+msgstr "  -e              usar estilo europeo de fechas (DMY)\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2876
+#: main/main.c:319
 #, c-format
-msgid "%s cannot be applied to a function"
-msgstr "%s no puede ser aplicado a una función"
+msgid "  -F                 turn fsync off\n"
+msgstr "  -F              desactivar fsync\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2885
+#: main/main.c:320
 #, c-format
-msgid "%s cannot be applied to a table function"
-msgstr "%s no puede ser aplicado a una función de tabla"
+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"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2903
+#: main/main.c:321
 #, c-format
-msgid "%s cannot be applied to a WITH query"
-msgstr "%s no puede ser aplicado a una consulta WITH"
+msgid "  -i                 enable TCP/IP connections\n"
+msgstr "  -i              activar conexiones TCP/IP\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2912
+#: main/main.c:322
 #, c-format
-msgid "%s cannot be applied to a named tuplestore"
-msgstr "%s no puede ser aplicado a un «tuplestore» con nombre"
+msgid "  -k DIRECTORY       Unix-domain socket location\n"
+msgstr "  -k DIRECTORIO   ubicación del socket Unix\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2932
+#: main/main.c:324
 #, 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"
+msgid "  -l                 enable SSL connections\n"
+msgstr "  -l              activar conexiones SSL\n"
 
-#: parser/parse_agg.c:220 parser/parse_oper.c:222
+#: main/main.c:326
 #, 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"
+msgid "  -N MAX-CONNECT     maximum number of allowed connections\n"
+msgstr "  -N MAX-CONN     número máximo de conexiones permitidas\n"
 
-#: parser/parse_agg.c:222
+#: main/main.c:327
 #, 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."
+msgid "  -o OPTIONS         pass \"OPTIONS\" to each server process (obsolete)\n"
+msgstr "  -o OPCIONES     pasar «OPCIONES» a cada proceso servidor (obsoleto)\n"
 
-#: parser/parse_agg.c:257
+#: main/main.c:328
 #, c-format
-msgid "GROUPING must have fewer than 32 arguments"
-msgstr "GROUPING debe tener menos de 32 argumentos"
+msgid "  -p PORT            port number to listen on\n"
+msgstr "  -p PUERTO       número de puerto en el cual escuchar\n"
 
-#: parser/parse_agg.c:360
-msgid "aggregate functions are not allowed in JOIN conditions"
-msgstr "no se permiten funciones de agregación en las condiciones de JOIN"
+#: main/main.c:329
+#, c-format
+msgid "  -s                 show statistics after each query\n"
+msgstr "  -s              mostrar estadísticas después de cada consulta\n"
 
-#: parser/parse_agg.c:362
-msgid "grouping operations are not allowed in JOIN conditions"
-msgstr "no se permiten las operaciones «grouping» en condiciones JOIN"
+#: main/main.c:330
+#, 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"
 
-#: parser/parse_agg.c:374
-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"
+#: main/main.c:331
+#, c-format
+msgid "  -V, --version      output version information, then exit\n"
+msgstr "  -V, --version   mostrar información de la versión, luego salir\n"
 
-#: parser/parse_agg.c:376
-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"
+#: main/main.c:332
+#, c-format
+msgid "  --NAME=VALUE       set run-time parameter\n"
+msgstr "  --NOMBRE=VALOR  definir parámetro de ejecución\n"
 
-#: parser/parse_agg.c:381
-msgid "aggregate functions are not allowed in functions in FROM"
-msgstr "no se permiten funciones de agregación en una función en FROM"
+#: main/main.c:333
+#, c-format
+msgid "  --describe-config  describe configuration parameters, then exit\n"
+msgstr ""
+"  --describe-config\n"
+"                  mostrar parámetros de configuración y salir\n"
 
-#: parser/parse_agg.c:383
-msgid "grouping operations are not allowed in functions in FROM"
-msgstr "no se permiten operaciones «grouping» en funciones en FROM"
+#: main/main.c:334
+#, c-format
+msgid "  -?, --help         show this help, then exit\n"
+msgstr "  -?, --help      muestra esta ayuda, luego sale\n"
 
-#: parser/parse_agg.c:391
-msgid "aggregate functions are not allowed in policy expressions"
-msgstr "no se permiten funciones de agregación en expresiones de políticas"
+#: main/main.c:336
+#, c-format
+msgid ""
+"\n"
+"Developer options:\n"
+msgstr ""
+"\n"
+"Opciones de desarrollador:\n"
 
-#: parser/parse_agg.c:393
-msgid "grouping operations are not allowed in policy expressions"
-msgstr "no se permiten operaciones «grouping» en expresiones de políticas"
-
-#: parser/parse_agg.c:410
-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:412
-msgid "grouping operations are not allowed in window RANGE"
-msgstr "no se permiten operaciones «grouping» en RANGE de ventana deslizante"
-
-#: parser/parse_agg.c:417
-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:419
-msgid "grouping operations are not allowed in window ROWS"
-msgstr "no se permiten operaciones «grouping» en ROWS de ventana deslizante"
-
-#: parser/parse_agg.c:424
-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:426
-msgid "grouping operations are not allowed in window GROUPS"
-msgstr "no se permiten operaciones «grouping» en GROUPS de ventana deslizante"
-
-#: parser/parse_agg.c:460
-msgid "aggregate functions are not allowed in check constraints"
-msgstr "no se permiten funciones de agregación en restricciones «check»"
-
-#: parser/parse_agg.c:462
-msgid "grouping operations are not allowed in check constraints"
-msgstr "no se permiten operaciones «grouping» en restricciones «check»"
-
-#: parser/parse_agg.c:469
-msgid "aggregate functions are not allowed in DEFAULT expressions"
-msgstr "no se permiten funciones de agregación en expresiones DEFAULT"
-
-#: parser/parse_agg.c:471
-msgid "grouping operations are not allowed in DEFAULT expressions"
-msgstr "no se permiten operaciones «grouping» en expresiones DEFAULT"
-
-#: parser/parse_agg.c:476
-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:478
-msgid "grouping operations are not allowed in index expressions"
-msgstr "no se permiten operaciones «grouping» en expresiones de índice"
-
-#: parser/parse_agg.c:483
-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:485
-msgid "grouping operations are not allowed in index predicates"
-msgstr "no se permiten operaciones «grouping» en predicados de índice"
-
-#: parser/parse_agg.c:490
-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:492
-msgid "grouping operations are not allowed in transform expressions"
-msgstr "no se permiten operaciones «grouping» en expresiones de transformación"
-
-#: parser/parse_agg.c:497
-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:499
-msgid "grouping operations are not allowed in EXECUTE parameters"
-msgstr "no se permiten operaciones «grouping» en parámetros a EXECUTE"
-
-#: parser/parse_agg.c:504
-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:506
-msgid "grouping operations are not allowed in trigger WHEN conditions"
-msgstr "no se permiten operaciones «grouping» en condiciones WHEN de un disparador"
+#: main/main.c:337
+#, c-format
+msgid "  -f s|i|n|m|h       forbid use of some plan types\n"
+msgstr "  -f s|i|n|m|h    impedir el uso de algunos tipos de planes\n"
 
-#: parser/parse_agg.c:511
-msgid "aggregate functions are not allowed in partition bound"
-msgstr "no se permiten funciones de agregación en borde de partición"
+#: main/main.c:338
+#, c-format
+msgid "  -n                 do not reinitialize shared memory after abnormal exit\n"
+msgstr "  -n              no reinicializar memoria compartida después de salida anormal\n"
 
-#: parser/parse_agg.c:513
-msgid "grouping operations are not allowed in partition bound"
-msgstr "no se permiten operaciones «grouping» en borde de partición"
+#: main/main.c:339
+#, c-format
+msgid "  -O                 allow system table structure changes\n"
+msgstr "  -O              permitir cambios en estructura de tablas de sistema\n"
 
-#: parser/parse_agg.c:518
-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 particionaiento"
+#: main/main.c:340
+#, c-format
+msgid "  -P                 disable system indexes\n"
+msgstr "  -P              desactivar índices de sistema\n"
 
-#: parser/parse_agg.c:520
-msgid "grouping operations are not allowed in partition key expressions"
-msgstr "no se permiten operaciones «grouping» en expresiones de llave de particionamiento"
+#: main/main.c:341
+#, 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"
 
-#: parser/parse_agg.c:526
-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"
+#: main/main.c:342
+#, c-format
+msgid "  -T                 send SIGSTOP to all backend processes if one dies\n"
+msgstr ""
+"  -T              enviar SIGSTOP a todos los procesos backend si uno de ellos\n"
+"                  muere\n"
 
-#: parser/parse_agg.c:528
-msgid "grouping operations are not allowed in column generation expressions"
-msgstr "no se permiten operaciones «grouping» en expresiones de generación de columna"
+#: main/main.c:343
+#, 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"
 
-#: parser/parse_agg.c:534
-msgid "aggregate functions are not allowed in CALL arguments"
-msgstr "no se permiten funciones de agregación en argumentos de CALL"
+#: main/main.c:345
+#, c-format
+msgid ""
+"\n"
+"Options for single-user mode:\n"
+msgstr ""
+"\n"
+"Opciones para modo mono-usuario:\n"
 
-#: parser/parse_agg.c:536
-msgid "grouping operations are not allowed in CALL arguments"
-msgstr "no se permiten operaciones «grouping» en argumentos de CALL"
+#: main/main.c:346
+#, 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"
 
-#: parser/parse_agg.c:542
-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"
+#: main/main.c:347
+#, 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"
 
-#: parser/parse_agg.c:544
-msgid "grouping operations are not allowed in COPY FROM WHERE conditions"
-msgstr "no se permiten las operaciones «grouping» en condiciones WHERE de COPY FROM"
+#: main/main.c:348
+#, c-format
+msgid "  -d 0-5             override debugging level\n"
+msgstr "  -d 0-5          nivel de depuración\n"
 
-#. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:567 parser/parse_clause.c:1828
+#: main/main.c:349
 #, c-format
-msgid "aggregate functions are not allowed in %s"
-msgstr "no se permiten funciones de agregación en %s"
+msgid "  -E                 echo statement before execution\n"
+msgstr "  -E              mostrar las consultas antes de su ejecución\n"
 
-#. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:570
+#: main/main.c:350
 #, c-format
-msgid "grouping operations are not allowed in %s"
-msgstr "no se permiten operaciones «grouping» en %s"
+msgid "  -j                 do not use newline as interactive query delimiter\n"
+msgstr "  -j              no usar saltos de línea como delimitadores de consulta\n"
 
-#: parser/parse_agg.c:678
+#: main/main.c:351 main/main.c:356
 #, 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"
+msgid "  -r FILENAME        send stdout and stderr to given file\n"
+msgstr "  -r ARCHIVO      enviar salida estándar y de error a ARCHIVO\n"
 
-#: parser/parse_agg.c:757
+#: main/main.c:353
 #, 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"
+msgid ""
+"\n"
+"Options for bootstrapping mode:\n"
+msgstr ""
+"\n"
+"Opciones para modo de inicio (bootstrapping):\n"
 
-#: parser/parse_agg.c:758 parser/parse_expr.c:1845 parser/parse_expr.c:2332
-#: parser/parse_func.c:872
+#: main/main.c:354
 #, c-format
-msgid "You might be able to move the set-returning function into a LATERAL FROM item."
-msgstr "Puede intentar mover la funci[on que retorna conjuntos a un elemento LATERAL FROM."
+msgid "  --boot             selects bootstrapping mode (must be first argument)\n"
+msgstr "  --boot          selecciona modo de inicio (debe ser el primer argumento)\n"
 
-#: parser/parse_agg.c:763
+#: main/main.c:355
 #, 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"
+msgid "  DBNAME             database name (mandatory argument in bootstrapping mode)\n"
+msgstr "  DBNAME          nombre de base de datos (argumento obligatorio en modo de inicio)\n"
 
-#: parser/parse_agg.c:842
-msgid "window functions are not allowed in JOIN conditions"
-msgstr "no se permiten funciones de ventana deslizante en condiciones JOIN"
+#: main/main.c:357
+#, c-format
+msgid "  -x NUM             internal use\n"
+msgstr "  -x NUM          uso interno\n"
 
-#: parser/parse_agg.c:849
-msgid "window functions are not allowed in functions in FROM"
-msgstr "no se permiten funciones de ventana deslizante en funciones en FROM"
+#: main/main.c:359
+#, c-format
+msgid ""
+"\n"
+"Please read the documentation for the complete list of run-time\n"
+"configuration settings and how to set them on the command line or in\n"
+"the configuration file.\n"
+"\n"
+"Report bugs to <%s>.\n"
+msgstr ""
+"\n"
+"Por favor lea la documentación para obtener la lista de parámetros de\n"
+"configuración y cómo definirlos en la línea de órdenes o en el archivo\n"
+"de configuración.\n"
+"\n"
+"Reporte errores a <%s>.\n"
 
-#: parser/parse_agg.c:855
-msgid "window functions are not allowed in policy expressions"
-msgstr "no se permiten funciones de ventana deslizante en expresiones de políticas"
+#: main/main.c:363
+#, c-format
+msgid "%s home page: <%s>\n"
+msgstr "Sitio web de %s: <%s>\n"
 
-#: parser/parse_agg.c:868
-msgid "window functions are not allowed in window definitions"
-msgstr "no se permiten funciones de ventana deslizante en definiciones de ventana deslizante"
+#: main/main.c:374
+#, c-format
+msgid ""
+"\"root\" execution of the PostgreSQL server is not permitted.\n"
+"The server must be started under an unprivileged user ID to prevent\n"
+"possible system security compromise.  See the documentation for\n"
+"more information on how to properly start the server.\n"
+msgstr ""
+"No se permite ejecución del servidor PostgreSQL como «root».\n"
+"El servidor debe ser iniciado con un usuario no privilegiado\n"
+"para prevenir posibles compromisos de seguridad del sistema.\n"
+"Vea la documentación para obtener más información acerca de cómo\n"
+"iniciar correctamente el servidor.\n"
 
-#: parser/parse_agg.c:900
-msgid "window functions are not allowed in check constraints"
-msgstr "no se permiten funciones de ventana deslizante en restricciones «check»"
+#: main/main.c:391
+#, c-format
+msgid "%s: real and effective user IDs must match\n"
+msgstr "%s: los IDs de usuario real y efectivo deben coincidir\n"
 
-#: parser/parse_agg.c:904
-msgid "window functions are not allowed in DEFAULT expressions"
-msgstr "no se permiten funciones de ventana deslizante en expresiones DEFAULT"
+#: main/main.c:398
+#, c-format
+msgid ""
+"Execution of PostgreSQL by a user with administrative permissions is not\n"
+"permitted.\n"
+"The server must be started under an unprivileged user ID to prevent\n"
+"possible system security compromises.  See the documentation for\n"
+"more information on how to properly start the server.\n"
+msgstr ""
+"No se permite ejecución del servidor PostgreSQL por un usuario con privilegios administrativos.\n"
+"El servidor debe ser iniciado con un usuario no privilegiado\n"
+"para prevenir posibles compromisos de seguridad del sistema.\n"
+"Vea la documentación para obtener más información acerca de cómo\n"
+"iniciar correctamente el servidor.\n"
 
-#: parser/parse_agg.c:907
-msgid "window functions are not allowed in index expressions"
-msgstr "no se permiten funciones de ventana deslizante en expresiones de índice"
+#: nodes/extensible.c:66
+#, c-format
+msgid "extensible node type \"%s\" already exists"
+msgstr "el tipo de nodo extensible «%s» ya existe"
 
-#: parser/parse_agg.c:910
-msgid "window functions are not allowed in index predicates"
-msgstr "no se permiten funciones de ventana deslizante en predicados de índice"
+#: nodes/extensible.c:114
+#, c-format
+msgid "ExtensibleNodeMethods \"%s\" was not registered"
+msgstr "ExtensibleNodeMethods «%s» no fue registrado"
 
-#: parser/parse_agg.c:913
-msgid "window functions are not allowed in transform expressions"
-msgstr "no se permiten funciones de ventana deslizante en expresiones de transformación"
+#: nodes/nodeFuncs.c:122 nodes/nodeFuncs.c:153 parser/parse_coerce.c:2215
+#: parser/parse_coerce.c:2324 parser/parse_coerce.c:2359
+#: parser/parse_expr.c:2207 parser/parse_func.c:701 parser/parse_oper.c:967
+#: utils/fmgr/funcapi.c:528
+#, 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"
 
-#: parser/parse_agg.c:916
-msgid "window functions are not allowed in EXECUTE parameters"
-msgstr "no se permiten funciones de ventana deslizante en parámetros a EXECUTE"
+#: nodes/params.c:359
+#, fuzzy, c-format
+#| msgid "extended query \"%s\" with parameters: %s"
+msgid "portal \"%s\" with parameters: %s"
+msgstr "consulta extendida «%s» con parámetros: %s"
 
-#: parser/parse_agg.c:919
-msgid "window functions are not allowed in trigger WHEN conditions"
-msgstr "no se permiten funciones de ventana deslizante en condiciones WHEN de un disparador"
+#: nodes/params.c:362
+#, fuzzy, c-format
+#| msgid "extended query with parameters: %s"
+msgid "unnamed portal with parameters: %s"
+msgstr "consulta extendida con parámetros: %s"
 
-#: parser/parse_agg.c:922
-msgid "window functions are not allowed in partition bound"
-msgstr "no se permiten funciones de ventana deslizante en borde de partición"
+#: optimizer/path/joinrels.c:855
+#, 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"
 
-#: parser/parse_agg.c:925
-msgid "window functions are not allowed in partition key expressions"
-msgstr "no se permiten funciones de ventana deslizante en expresiones de llave de particionamiento"
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: optimizer/plan/initsplan.c:1198
+#, 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"
 
-#: parser/parse_agg.c:928
-msgid "window functions are not allowed in CALL arguments"
-msgstr "no se permiten funciones de ventana deslizante en argumentos de CALL"
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: optimizer/plan/planner.c:1922 parser/analyze.c:1639 parser/analyze.c:1855
+#: parser/analyze.c:2682
+#, c-format
+msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
+msgstr "%s no está permitido con UNION/INTERSECT/EXCEPT"
 
-#: parser/parse_agg.c:931
-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"
+#: optimizer/plan/planner.c:2509 optimizer/plan/planner.c:4162
+#, c-format
+msgid "could not implement GROUP BY"
+msgstr "no se pudo implementar GROUP BY"
 
-#: parser/parse_agg.c:934
-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"
+#: optimizer/plan/planner.c:2510 optimizer/plan/planner.c:4163
+#: optimizer/plan/planner.c:4890 optimizer/prep/prepunion.c:1045
+#, 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."
 
-#. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:954 parser/parse_clause.c:1837
+#: optimizer/plan/planner.c:4889
 #, c-format
-msgid "window functions are not allowed in %s"
-msgstr "no se permiten funciones de ventana deslizante en %s"
+msgid "could not implement DISTINCT"
+msgstr "no se pudo implementar DISTINCT"
 
-#: parser/parse_agg.c:988 parser/parse_clause.c:2671
+#: optimizer/plan/planner.c:5737
 #, c-format
-msgid "window \"%s\" does not exist"
-msgstr "la ventana «%s» no existe"
+msgid "could not implement window PARTITION BY"
+msgstr "No se pudo implementar PARTITION BY de ventana"
 
-#: parser/parse_agg.c:1072
+#: optimizer/plan/planner.c:5738
 #, c-format
-msgid "too many grouping sets present (maximum 4096)"
-msgstr "demasiados conjuntos «grouping» presentes (máximo 4096)"
+msgid "Window partitioning columns must be of sortable datatypes."
+msgstr "Las columnas de particionamiento de ventana deben de tipos que se puedan ordenar."
 
-#: parser/parse_agg.c:1212
+#: optimizer/plan/planner.c:5742
 #, 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"
+msgid "could not implement window ORDER BY"
+msgstr "no se pudo implementar ORDER BY de ventana"
 
-#: parser/parse_agg.c:1405
+#: optimizer/plan/planner.c:5743
 #, 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"
+msgid "Window ordering columns must be of sortable datatypes."
+msgstr "Las columnas de ordenamiento de ventana debe ser de tipos que se puedan ordenar."
 
-#: parser/parse_agg.c:1408
+#: optimizer/plan/setrefs.c:451
 #, 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."
+msgid "too many range table entries"
+msgstr "demasiadas «range table entries»"
 
-#: parser/parse_agg.c:1413
+#: optimizer/prep/prepunion.c:508
 #, 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"
+msgid "could not implement recursive UNION"
+msgstr "no se pudo implementar UNION recursivo"
 
-#: parser/parse_agg.c:1577
+#: optimizer/prep/prepunion.c:509
 #, 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"
+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."
 
-#: parser/parse_clause.c:191
+#. translator: %s is UNION, INTERSECT, or EXCEPT
+#: optimizer/prep/prepunion.c:1044
 #, 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"
+msgid "could not implement %s"
+msgstr "no se pudo implementar %s"
 
-#: parser/parse_clause.c:571 parser/parse_clause.c:599 parser/parse_func.c:2424
+#: optimizer/util/clauses.c:4772
 #, 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"
+msgid "SQL function \"%s\" during inlining"
+msgstr "función SQL «%s», durante expansión en línea"
 
-#: parser/parse_clause.c:611
+#: optimizer/util/plancat.c:133
 #, 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"
+msgid "cannot access temporary or unlogged relations during recovery"
+msgstr "no se puede acceder a tablas temporales o «unlogged» durante la recuperación"
 
-#: parser/parse_clause.c:644
+#: optimizer/util/plancat.c:665
 #, 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"
+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"
 
-#: parser/parse_clause.c:645
+#: optimizer/util/plancat.c:682
 #, 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()."
+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"
 
-#: parser/parse_clause.c:651
+#: optimizer/util/plancat.c:732
 #, 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"
+msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints"
+msgstr "ON CONFLICT DO UPDATE no está soportado con restricciones de exclusión"
 
-#: parser/parse_clause.c:652
+#: optimizer/util/plancat.c:837
 #, 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."
+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/parse_clause.c:659
+#: parser/analyze.c:705 parser/analyze.c:1401
 #, 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"
+msgid "VALUES lists must all be the same length"
+msgstr "las listas VALUES deben ser todas de la misma longitud"
 
-#: parser/parse_clause.c:660
+#: parser/analyze.c:904
 #, c-format
-msgid "Put the column definition list inside ROWS FROM()."
-msgstr "Ponga una lista de columnas dentro de ROWS FROM()."
+msgid "INSERT has more expressions than target columns"
+msgstr "INSERT tiene más expresiones que columnas de destino"
 
-#: parser/parse_clause.c:760
+#: parser/analyze.c:922
 #, c-format
-msgid "only one FOR ORDINALITY column is allowed"
-msgstr "sólo se permite una columna FOR ORDINALITY"
+msgid "INSERT has more target columns than expressions"
+msgstr "INSERT tiene más columnas de destino que expresiones"
 
-#: parser/parse_clause.c:821
+#: parser/analyze.c:926
 #, c-format
-msgid "column name \"%s\" is not unique"
-msgstr "el nombre de columna «%s» no es único"
+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/parse_clause.c:863
+#: parser/analyze.c:1210 parser/analyze.c:1612
 #, c-format
-msgid "namespace name \"%s\" is not unique"
-msgstr "el espacio de nombres «%s» no es único"
+msgid "SELECT ... INTO is not allowed here"
+msgstr "SELECT ... INTO no está permitido aquí"
 
-#: parser/parse_clause.c:873
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:1542 parser/analyze.c:2861
 #, c-format
-msgid "only one default namespace is allowed"
-msgstr "sólo se permite un espacio de nombres predeterminado"
+msgid "%s cannot be applied to VALUES"
+msgstr "%s no puede ser aplicado a VALUES"
 
-#: parser/parse_clause.c:933
+#: parser/analyze.c:1777
 #, c-format
-msgid "tablesample method %s does not exist"
-msgstr "no existe el método de tablesample «%s»"
+msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
+msgstr "cláusula UNION/INTERSECT/EXCEPT ORDER BY no válida"
 
-#: parser/parse_clause.c:955
+#: parser/analyze.c:1778
 #, 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"
+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/parse_clause.c:989
+#: parser/analyze.c:1779
 #, c-format
-msgid "tablesample method %s does not support REPEATABLE"
-msgstr "el método de tablesample «%s» no soporta la opción REPEATABLE"
+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/parse_clause.c:1135
+#: parser/analyze.c:1845
 #, 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"
+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/parse_clause.c:1318
+#: parser/analyze.c:1917
 #, 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"
+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/parse_clause.c:1333
+#: parser/analyze.c:2004
 #, 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"
+msgid "each %s query must have the same number of columns"
+msgstr "cada consulta %s debe tener el mismo número de columnas"
 
-#: parser/parse_clause.c:1342
+#: parser/analyze.c:2393
 #, 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"
+msgid "RETURNING must have at least one column"
+msgstr "RETURNING debe tener al menos una columna"
 
-#: parser/parse_clause.c:1357
+#: parser/analyze.c:2434
 #, 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"
+msgid "cannot specify both SCROLL and NO SCROLL"
+msgstr "no se puede especificar SCROLL y NO SCROLL"
 
-#: parser/parse_clause.c:1366
+#: parser/analyze.c:2453
 #, 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"
+msgid "DECLARE CURSOR must not contain data-modifying statements in WITH"
+msgstr "DECLARE CURSOR no debe contener sentencias que modifiquen datos en WITH"
 
-#: parser/parse_clause.c:1447
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2461
 #, c-format
-msgid "column alias list for \"%s\" has too many entries"
-msgstr "la lista de alias de columnas para «%s» tiene demasiadas entradas"
+msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
+msgstr "DECLARE CURSOR WITH HOLD ... %s no está soportado"
 
-#: parser/parse_clause.c:1773
+#: parser/analyze.c:2464
 #, c-format
-#| msgid "row count cannot be null in FETCH FIRST ... WITH TIES clause"
-msgid "row count cannot be NULL in FETCH FIRST ... WITH TIES clause"
-msgstr "la cantidad de registros no puede ser nula en la cláusula FETCH FIRST ... WITH TIES"
+msgid "Holdable cursors must be READ ONLY."
+msgstr "Los cursores declarados HOLD deben ser READ ONLY."
 
-#. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1798
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2472
 #, c-format
-msgid "argument of %s must not contain variables"
-msgstr "el argumento de %s no puede contener variables"
+msgid "DECLARE SCROLL CURSOR ... %s is not supported"
+msgstr "DECLARE SCROLL CURSOR ... %s no está soportado"
 
-#. translator: first %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1963
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2483
 #, c-format
-msgid "%s \"%s\" is ambiguous"
-msgstr "%s «%s» es ambiguo"
+msgid "DECLARE INSENSITIVE CURSOR ... %s is not supported"
+msgstr "DECLARE INSENSITIVE CURSOR ... %s no está soportado"
 
-#. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1992
+#: parser/analyze.c:2486
 #, c-format
-msgid "non-integer constant in %s"
-msgstr "constante no entera en %s"
+msgid "Insensitive cursors must be READ ONLY."
+msgstr "Los cursores insensitivos deben ser READ ONLY."
 
-#. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:2014
+#: parser/analyze.c:2552
 #, 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"
+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/parse_clause.c:2453
+#: parser/analyze.c:2562
 #, c-format
-msgid "CUBE is limited to 12 elements"
-msgstr "CUBE está limitado a 12 elementos"
+msgid "materialized views must not use temporary tables or views"
+msgstr "las vistas materializadas no deben usar tablas temporales o vistas"
 
-#: parser/parse_clause.c:2659
+#: parser/analyze.c:2572
 #, c-format
-msgid "window \"%s\" is already defined"
-msgstr "la ventana «%s» ya está definida"
+msgid "materialized views may not be defined using bound parameters"
+msgstr "las vistas materializadas no pueden definirse usando parámetros enlazados"
 
-#: parser/parse_clause.c:2720
+#: parser/analyze.c:2584
 #, 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»"
+msgid "materialized views cannot be unlogged"
+msgstr "las vistas materializadas no pueden ser «unlogged»"
 
-#: parser/parse_clause.c:2732
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2689
 #, 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»"
+msgid "%s is not allowed with DISTINCT clause"
+msgstr "%s no está permitido con cláusulas DISTINCT"
 
-#: parser/parse_clause.c:2762 parser/parse_clause.c:2768
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2696
 #, 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»"
+msgid "%s is not allowed with GROUP BY clause"
+msgstr "%s no está permitido con cláusulas GROUP BY"
 
-#: parser/parse_clause.c:2770
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2703
 #, c-format
-msgid "Omit the parentheses in this OVER clause."
-msgstr "Omita el uso de paréntesis en esta cláusula OVER."
+msgid "%s is not allowed with HAVING clause"
+msgstr "%s no está permitido con cláusulas HAVING"
 
-#: parser/parse_clause.c:2790
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2710
 #, 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"
+msgid "%s is not allowed with aggregate functions"
+msgstr "%s no está permitido con funciones de agregación"
 
-#: parser/parse_clause.c:2813
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2717
 #, c-format
-msgid "GROUPS mode requires an ORDER BY clause"
-msgstr "el modo GROUPS requiere una cláusula ORDER BY"
+msgid "%s is not allowed with window functions"
+msgstr "%s no está permitido con funciones de ventana deslizante"
 
-#: parser/parse_clause.c:2883
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2724
 #, 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"
+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"
 
-#: parser/parse_clause.c:2884
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2803
 #, 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"
+msgid "%s must specify unqualified relation names"
+msgstr "%s debe especificar nombres de relaciones sin calificar"
 
-#: parser/parse_clause.c:2916
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2834
 #, 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"
+msgid "%s cannot be applied to a join"
+msgstr "%s no puede ser aplicado a un join"
 
-#: parser/parse_clause.c:2917
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2843
 #, c-format
-msgid "SELECT DISTINCT must have at least one column"
-msgstr "SELECT DISTINCT debe tener al menos una columna"
+msgid "%s cannot be applied to a function"
+msgstr "%s no puede ser aplicado a una función"
 
-#: parser/parse_clause.c:2983 parser/parse_clause.c:3015
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2852
 #, 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"
+msgid "%s cannot be applied to a table function"
+msgstr "%s no puede ser aplicado a una función de tabla"
 
-#: parser/parse_clause.c:3093
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2870
 #, c-format
-msgid "ASC/DESC is not allowed in ON CONFLICT clause"
-msgstr "ASC/DESC no están permitidos en cláusulas ON CONFLICT"
+msgid "%s cannot be applied to a WITH query"
+msgstr "%s no puede ser aplicado a una consulta WITH"
 
-#: parser/parse_clause.c:3099
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2879
 #, 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"
+msgid "%s cannot be applied to a named tuplestore"
+msgstr "%s no puede ser aplicado a un «tuplestore» con nombre"
 
-#: parser/parse_clause.c:3178
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2899
 #, 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"
+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_clause.c:3179
+#: parser/parse_agg.c:220 parser/parse_oper.c:222
 #, c-format
-msgid "For example, ON CONFLICT (column_name)."
-msgstr "Por ejemplo, ON CONFLICT (nombre_de_columna)."
+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_clause.c:3190
+#: parser/parse_agg.c:222
 #, 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"
+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_clause.c:3198
+#: parser/parse_agg.c:257
 #, 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"
+msgid "GROUPING must have fewer than 32 arguments"
+msgstr "GROUPING debe tener menos de 32 argumentos"
+
+#: parser/parse_agg.c:360
+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:362
+msgid "grouping operations are not allowed in JOIN conditions"
+msgstr "no se permiten las operaciones «grouping» en condiciones JOIN"
+
+#: parser/parse_agg.c:374
+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:376
+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:381
+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:383
+msgid "grouping operations are not allowed in functions in FROM"
+msgstr "no se permiten operaciones «grouping» en funciones en FROM"
+
+#: parser/parse_agg.c:391
+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:393
+msgid "grouping operations are not allowed in policy expressions"
+msgstr "no se permiten operaciones «grouping» en expresiones de políticas"
+
+#: parser/parse_agg.c:410
+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:412
+msgid "grouping operations are not allowed in window RANGE"
+msgstr "no se permiten operaciones «grouping» en RANGE de ventana deslizante"
+
+#: parser/parse_agg.c:417
+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:419
+msgid "grouping operations are not allowed in window ROWS"
+msgstr "no se permiten operaciones «grouping» en ROWS de ventana deslizante"
+
+#: parser/parse_agg.c:424
+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:426
+msgid "grouping operations are not allowed in window GROUPS"
+msgstr "no se permiten operaciones «grouping» en GROUPS de ventana deslizante"
+
+#: parser/parse_agg.c:460
+msgid "aggregate functions are not allowed in check constraints"
+msgstr "no se permiten funciones de agregación en restricciones «check»"
+
+#: parser/parse_agg.c:462
+msgid "grouping operations are not allowed in check constraints"
+msgstr "no se permiten operaciones «grouping» en restricciones «check»"
+
+#: parser/parse_agg.c:469
+msgid "aggregate functions are not allowed in DEFAULT expressions"
+msgstr "no se permiten funciones de agregación en expresiones DEFAULT"
+
+#: parser/parse_agg.c:471
+msgid "grouping operations are not allowed in DEFAULT expressions"
+msgstr "no se permiten operaciones «grouping» en expresiones DEFAULT"
+
+#: parser/parse_agg.c:476
+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:478
+msgid "grouping operations are not allowed in index expressions"
+msgstr "no se permiten operaciones «grouping» en expresiones de índice"
+
+#: parser/parse_agg.c:483
+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:485
+msgid "grouping operations are not allowed in index predicates"
+msgstr "no se permiten operaciones «grouping» en predicados de índice"
+
+#: parser/parse_agg.c:490
+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:492
+msgid "grouping operations are not allowed in transform expressions"
+msgstr "no se permiten operaciones «grouping» en expresiones de transformación"
+
+#: parser/parse_agg.c:497
+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:499
+msgid "grouping operations are not allowed in EXECUTE parameters"
+msgstr "no se permiten operaciones «grouping» en parámetros a EXECUTE"
+
+#: parser/parse_agg.c:504
+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_clause.c:3341
-#, 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_agg.c:506
+msgid "grouping operations are not allowed in trigger WHEN conditions"
+msgstr "no se permiten operaciones «grouping» en condiciones WHEN de un disparador"
 
-#: parser/parse_clause.c:3343
-#, 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_agg.c:511
+msgid "aggregate functions are not allowed in partition bound"
+msgstr "no se permiten funciones de agregación en borde de partición"
 
-#: parser/parse_clause.c:3654
-#, 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_agg.c:513
+msgid "grouping operations are not allowed in partition bound"
+msgstr "no se permiten operaciones «grouping» en borde de partición"
 
-#: parser/parse_clause.c:3660
-#, 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_agg.c:518
+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 particionaiento"
 
-#: parser/parse_clause.c:3663
-#, c-format
-msgid "Cast the offset value to an appropriate type."
-msgstr "Convierta el valor de desplazamiento a un tipo apropiado."
+#: parser/parse_agg.c:520
+msgid "grouping operations are not allowed in partition key expressions"
+msgstr "no se permiten operaciones «grouping» en expresiones de llave de particionamiento"
 
-#: parser/parse_clause.c:3668
-#, 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_agg.c:526
+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_clause.c:3671
-#, c-format
-msgid "Cast the offset value to the exact intended type."
-msgstr "Convierta el valor de desplazamiento al tipo deseado exacto."
+#: parser/parse_agg.c:528
+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_coerce.c:1024 parser/parse_coerce.c:1062
-#: parser/parse_coerce.c:1080 parser/parse_coerce.c:1095
-#: parser/parse_expr.c:2241 parser/parse_expr.c:2819 parser/parse_target.c:967
-#, c-format
-msgid "cannot cast type %s to %s"
-msgstr "no se puede convertir el tipo %s a %s"
+#: parser/parse_agg.c:534
+msgid "aggregate functions are not allowed in CALL arguments"
+msgstr "no se permiten funciones de agregación en argumentos de CALL"
 
-#: parser/parse_coerce.c:1065
-#, c-format
-msgid "Input has too few columns."
-msgstr "La entrada tiene muy pocas columnas."
+#: parser/parse_agg.c:536
+msgid "grouping operations are not allowed in CALL arguments"
+msgstr "no se permiten operaciones «grouping» en argumentos de CALL"
 
-#: parser/parse_coerce.c:1083
-#, c-format
-msgid "Cannot cast type %s to %s in column %d."
-msgstr "No se puede convertir el tipo %s a %s en la columna %d."
+#: parser/parse_agg.c:542
+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_coerce.c:1098
-#, c-format
-msgid "Input has too many columns."
-msgstr "La entrada tiene demasiadas columnas."
+#: parser/parse_agg.c:544
+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: first %s is name of a SQL construct, eg WHERE
-#. translator: first %s is name of a SQL construct, eg LIMIT
-#: parser/parse_coerce.c:1153 parser/parse_coerce.c:1201
+#. translator: %s is name of a SQL construct, eg GROUP BY
+#: parser/parse_agg.c:567 parser/parse_clause.c:1828
 #, c-format
-msgid "argument of %s must be type %s, not type %s"
-msgstr "el argumento de %s debe ser de tipo %s, no tipo %s"
+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 WHERE
-#. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_coerce.c:1164 parser/parse_coerce.c:1213
+#. translator: %s is name of a SQL construct, eg GROUP BY
+#: parser/parse_agg.c:570
 #, c-format
-msgid "argument of %s must not return a set"
-msgstr "el argumento de %s no debe retornar un conjunto"
+msgid "grouping operations are not allowed in %s"
+msgstr "no se permiten operaciones «grouping» en %s"
 
-#. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:1353
+#: parser/parse_agg.c:678
 #, c-format
-msgid "%s types %s and %s cannot be matched"
-msgstr "los tipos %2$s y %3$s no son coincidentes en %1$s"
+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_coerce.c:1465
+#: parser/parse_agg.c:757
 #, c-format
-msgid "argument types %s and %s cannot be matched"
-msgstr "los tipos de argumento %s y %s no pueden hacerse coincidir"
+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"
 
-#. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:1517
+#: parser/parse_agg.c:758 parser/parse_expr.c:1845 parser/parse_expr.c:2332
+#: parser/parse_func.c:872
 #, c-format
-msgid "%s could not convert type %s to %s"
-msgstr "%s no pudo convertir el tipo %s a %s"
+msgid "You might be able to move the set-returning function into a LATERAL FROM item."
+msgstr "Puede intentar mover la funci[on que retorna conjuntos a un elemento LATERAL FROM."
 
-#: parser/parse_coerce.c:1934
+#: parser/parse_agg.c:763
 #, c-format
-msgid "arguments declared \"anyelement\" are not all alike"
-msgstr "los argumentos declarados «anyelement» no son de tipos compatibles"
+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_coerce.c:1954
-#, c-format
-msgid "arguments declared \"anyarray\" are not all alike"
-msgstr "los argumentos declarados «anyarray» no son de tipos compatibles"
+#: parser/parse_agg.c:842
+msgid "window functions are not allowed in JOIN conditions"
+msgstr "no se permiten funciones de ventana deslizante en condiciones JOIN"
 
-#: parser/parse_coerce.c:1974
-#, c-format
-msgid "arguments declared \"anyrange\" are not all alike"
-msgstr "los argumentos declarados «anyrange» no son de tipos compatibles"
+#: parser/parse_agg.c:849
+msgid "window functions are not allowed in functions in FROM"
+msgstr "no se permiten funciones de ventana deslizante en funciones en FROM"
 
-#: parser/parse_coerce.c:2008 parser/parse_coerce.c:2088
-#: utils/fmgr/funcapi.c:487
-#, 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_agg.c:855
+msgid "window functions are not allowed in policy expressions"
+msgstr "no se permiten funciones de ventana deslizante en expresiones de políticas"
 
-#: parser/parse_coerce.c:2029
-#, c-format
-msgid "arguments declared \"anycompatiblerange\" are not all alike"
-msgstr "los argumentos declarados «anycompatiblerange» no son todos parecidos"
+#: parser/parse_agg.c:868
+msgid "window functions are not allowed in window definitions"
+msgstr "no se permiten funciones de ventana deslizante en definiciones de ventana deslizante"
 
-#: parser/parse_coerce.c:2041 parser/parse_coerce.c:2122
-#: utils/fmgr/funcapi.c:501
-#, 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_agg.c:900
+msgid "window functions are not allowed in check constraints"
+msgstr "no se permiten funciones de ventana deslizante en restricciones «check»"
 
-#: parser/parse_coerce.c:2079
-#, c-format
-msgid "cannot determine element type of \"anyarray\" argument"
-msgstr "no se puede determinar el tipo del argumento «anyarray»"
+#: parser/parse_agg.c:904
+msgid "window functions are not allowed in DEFAULT expressions"
+msgstr "no se permiten funciones de ventana deslizante en expresiones DEFAULT"
 
-#: parser/parse_coerce.c:2105 parser/parse_coerce.c:2139
-#, c-format
-msgid "argument declared %s is not consistent with argument declared %s"
-msgstr "el argumento declarado %s no es consistente con el argumento declarado %s"
+#: parser/parse_agg.c:907
+msgid "window functions are not allowed in index expressions"
+msgstr "no se permiten funciones de ventana deslizante en expresiones de índice"
 
-#: parser/parse_coerce.c:2163
-#, c-format
-msgid "could not determine polymorphic type because input has type %s"
-msgstr "no se pudo determinar el tipo polimórfico porque la entrada es de tipo %s"
+#: parser/parse_agg.c:910
+msgid "window functions are not allowed in index predicates"
+msgstr "no se permiten funciones de ventana deslizante en predicados de índice"
 
-#: parser/parse_coerce.c:2177
-#, c-format
-msgid "type matched to anynonarray is an array type: %s"
-msgstr "el argumento emparejado con anynonarray es un array: %s"
+#: parser/parse_agg.c:913
+msgid "window functions are not allowed in transform expressions"
+msgstr "no se permiten funciones de ventana deslizante en expresiones de transformación"
 
-#: parser/parse_coerce.c:2187
-#, c-format
-msgid "type matched to anyenum is not an enum type: %s"
-msgstr "el tipo emparejado con anyenum no es un tipo enum: %s"
+#: parser/parse_agg.c:916
+msgid "window functions are not allowed in EXECUTE parameters"
+msgstr "no se permiten funciones de ventana deslizante en parámetros a EXECUTE"
 
-#: parser/parse_coerce.c:2218 parser/parse_coerce.c:2267
-#: parser/parse_coerce.c:2329 parser/parse_coerce.c:2365
-#, c-format
-msgid "could not determine polymorphic type %s because input has type %s"
-msgstr "no se pudo determinar el tipo polimórfico %s porque la entrada es de tipo %s"
+#: parser/parse_agg.c:919
+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_coerce.c:2228
-#, c-format
-msgid "anycompatiblerange type %s does not match anycompatible type %s"
-msgstr "el tipo anycompatiblerange %s no coincide con el tipo anycompatible %s"
+#: parser/parse_agg.c:922
+msgid "window functions are not allowed in partition bound"
+msgstr "no se permiten funciones de ventana deslizante en borde de partición"
 
-#: parser/parse_coerce.c:2242
-#, c-format
-msgid "type matched to anycompatiblenonarray is an array type: %s"
-msgstr "el argumento emparejado a anycompatiblenonarray es un array: %s"
+#: parser/parse_agg.c:925
+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_coerce.c:2433
-#, c-format
-msgid "A result of type %s requires at least one input of type %s."
-msgstr "Un resultado de tipo %s requiere al menos un argumento de tipo %s."
+#: parser/parse_agg.c:928
+msgid "window functions are not allowed in CALL arguments"
+msgstr "no se permiten funciones de ventana deslizante en argumentos de CALL"
 
-#: parser/parse_coerce.c:2445
-#, c-format
-msgid "A result of type %s requires at least one input of type anyelement, anyarray, anynonarray, anyenum, or anyrange."
-msgstr "Un resultado de tipo %s requiere al menos una entrada de tipo anyelement, anyarray, anynonarray, anyenum, o anyrange."
+#: parser/parse_agg.c:931
+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_coerce.c:2457
-#, c-format
-msgid "A result of type %s requires at least one input of type anycompatible, anycompatiblearray, anycompatiblenonarray, or anycompatiblerange."
-msgstr "Un resultado de tipo %s requiere al menos una entrada de tipo anycompatible, anycompatiblearray, anycompatiblenonarray, o anycompatiblerange."
+#: parser/parse_agg.c:934
+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"
 
-#: parser/parse_coerce.c:2487
-msgid "A result of type internal requires at least one input of type internal."
-msgstr "Un resultado de tipo internal requiere al menos una entrada de tipo internal."
+#. translator: %s is name of a SQL construct, eg GROUP BY
+#: parser/parse_agg.c:954 parser/parse_clause.c:1837
+#, c-format
+msgid "window functions are not allowed in %s"
+msgstr "no se permiten funciones de ventana deslizante en %s"
 
-#: parser/parse_collate.c:228 parser/parse_collate.c:475
-#: parser/parse_collate.c:981
+#: parser/parse_agg.c:988 parser/parse_clause.c:2671
 #, c-format
-msgid "collation mismatch between implicit collations \"%s\" and \"%s\""
-msgstr "discordancia de ordenamientos (collation) entre los ordenamientos implícitos «%s» y «%s»"
+msgid "window \"%s\" does not exist"
+msgstr "la ventana «%s» no existe"
 
-#: parser/parse_collate.c:231 parser/parse_collate.c:478
-#: parser/parse_collate.c:984
+#: parser/parse_agg.c:1072
 #, c-format
-msgid "You can choose the collation by applying the COLLATE clause to one or both expressions."
-msgstr "Puede elegir el ordenamiento aplicando la cláusula COLLATE a una o ambas expresiones."
+msgid "too many grouping sets present (maximum 4096)"
+msgstr "demasiados conjuntos «grouping» presentes (máximo 4096)"
 
-#: parser/parse_collate.c:831
+#: parser/parse_agg.c:1212
 #, c-format
-msgid "collation mismatch between explicit collations \"%s\" and \"%s\""
-msgstr "discordancia de ordenamientos (collation) entre los ordenamientos explícitos «%s» y «%s»"
+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_cte.c:42
+#: parser/parse_agg.c:1405
 #, c-format
-msgid "recursive reference to query \"%s\" must not appear within its non-recursive term"
-msgstr "la referencia recursiva a la consulta «%s» no debe aparecer dentro de su término no recursivo"
+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_cte.c:44
+#: parser/parse_agg.c:1408
 #, c-format
-msgid "recursive reference to query \"%s\" must not appear within a subquery"
-msgstr "la referencia recursiva a la consulta «%s» no debe aparecer dentro de una subconsulta"
+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_cte.c:46
+#: parser/parse_agg.c:1413
 #, c-format
-msgid "recursive reference to query \"%s\" must not appear within an outer join"
-msgstr "la referencia recursiva a la consulta «%s» no debe aparecer dentro de un outer join"
+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_cte.c:48
+#: parser/parse_agg.c:1577
 #, c-format
-msgid "recursive reference to query \"%s\" must not appear within INTERSECT"
-msgstr "la referencia recursiva a la consulta «%s» no debe aparecer dentro de INTERSECT"
+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_cte.c:50
+#: parser/parse_clause.c:191
 #, c-format
-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"
+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_cte.c:132
+#: parser/parse_clause.c:571 parser/parse_clause.c:599 parser/parse_func.c:2424
 #, 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"
+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_cte.c:264
+#: parser/parse_clause.c:611
 #, 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"
+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_cte.c:313
+#: parser/parse_clause.c:644
 #, 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"
+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_cte.c:319
+#: parser/parse_clause.c:645
 #, 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."
+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_cte.c:324
+#: parser/parse_clause.c:651
 #, 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"
+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_cte.c:328
+#: parser/parse_clause.c:652
 #, 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."
+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_cte.c:418
+#: parser/parse_clause.c:659
 #, 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"
+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_cte.c:598
+#: parser/parse_clause.c:660
 #, c-format
-msgid "mutual recursion between WITH items is not implemented"
-msgstr "la recursión mutua entre elementos de WITH no está implementada"
+msgid "Put the column definition list inside ROWS FROM()."
+msgstr "Ponga una lista de columnas dentro de ROWS FROM()."
 
-#: parser/parse_cte.c:650
+#: parser/parse_clause.c:760
 #, c-format
-msgid "recursive query \"%s\" must not contain data-modifying statements"
-msgstr "la consulta recursiva «%s» no debe contener sentencias que modifiquen datos"
+msgid "only one FOR ORDINALITY column is allowed"
+msgstr "sólo se permite una columna FOR ORDINALITY"
 
-#: parser/parse_cte.c:658
+#: parser/parse_clause.c:821
 #, 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"
+msgid "column name \"%s\" is not unique"
+msgstr "el nombre de columna «%s» no es único"
 
-#: parser/parse_cte.c:702
+#: parser/parse_clause.c:863
 #, c-format
-msgid "ORDER BY in a recursive query is not implemented"
-msgstr "ORDER BY no está implementado en una consulta recursiva"
+msgid "namespace name \"%s\" is not unique"
+msgstr "el espacio de nombres «%s» no es único"
 
-#: parser/parse_cte.c:708
+#: parser/parse_clause.c:873
 #, c-format
-msgid "OFFSET in a recursive query is not implemented"
-msgstr "OFFSET no está implementado en una consulta recursiva"
+msgid "only one default namespace is allowed"
+msgstr "sólo se permite un espacio de nombres predeterminado"
 
-#: parser/parse_cte.c:714
+#: parser/parse_clause.c:933
 #, c-format
-msgid "LIMIT in a recursive query is not implemented"
-msgstr "LIMIT no está implementado en una consulta recursiva"
+msgid "tablesample method %s does not exist"
+msgstr "no existe el método de tablesample «%s»"
 
-#: parser/parse_cte.c:720
+#: parser/parse_clause.c:955
 #, c-format
-msgid "FOR UPDATE/SHARE in a recursive query is not implemented"
-msgstr "FOR UPDATE/SHARE no está implementado en una consulta recursiva"
+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_cte.c:777
+#: parser/parse_clause.c:989
 #, c-format
-msgid "recursive reference to query \"%s\" must not appear more than once"
-msgstr "la referencia recursiva a la consulta «%s» no debe aparecer más de una vez"
+msgid "tablesample method %s does not support REPEATABLE"
+msgstr "el método de tablesample «%s» no soporta la opción REPEATABLE"
 
-#: parser/parse_expr.c:349
+#: parser/parse_clause.c:1135
 #, c-format
-msgid "DEFAULT is not allowed in this context"
-msgstr "DEFAULT no está permitido en este contexto"
+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_expr.c:402 parser/parse_relation.c:3506
-#: parser/parse_relation.c:3526
+#: parser/parse_clause.c:1318
 #, c-format
-msgid "column %s.%s does not exist"
-msgstr "no existe la columna %s.%s"
+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_expr.c:414
+#: parser/parse_clause.c:1333
 #, c-format
-msgid "column \"%s\" not found in data type %s"
-msgstr "la columna «%s» no fue encontrado en el tipo %s"
+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_expr.c:420
+#: parser/parse_clause.c:1342
 #, c-format
-msgid "could not identify column \"%s\" in record data type"
-msgstr "no se pudo identificar la columna «%s» en el tipo de dato record"
+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_expr.c:426
+#: parser/parse_clause.c:1357
 #, c-format
-msgid "column notation .%s applied to type %s, which is not a composite type"
-msgstr "la notación de columna .%s fue aplicada al tipo %s, que no es un tipo compuesto"
+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_expr.c:457 parser/parse_target.c:729
+#: parser/parse_clause.c:1366
 #, c-format
-msgid "row expansion via \"*\" is not supported here"
-msgstr "la expansión de filas a través de «*» no está soportado aquí"
+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_expr.c:578
-msgid "cannot use column reference in DEFAULT expression"
-msgstr "no se pueden usar referencias a columnas en una cláusula DEFAULT"
+#: parser/parse_clause.c:1447
+#, c-format
+msgid "column alias list for \"%s\" has too many entries"
+msgstr "la lista de alias de columnas para «%s» tiene demasiadas entradas"
 
-#: parser/parse_expr.c:581
-msgid "cannot use column reference in partition bound expression"
-msgstr "no se pueden usar referencias a columnas en expresión de borde de partición"
+#: parser/parse_clause.c:1773
+#, fuzzy, c-format
+#| msgid "row count cannot be NULL in FETCH FIRST ... WITH TIES clause"
+msgid "row count cannot be null in FETCH FIRST ... WITH TIES clause"
+msgstr "la cantidad de registros no puede ser nula en la cláusula FETCH FIRST ... WITH TIES"
 
-#: parser/parse_expr.c:850 parser/parse_relation.c:799
-#: parser/parse_relation.c:881 parser/parse_target.c:1207
+#. translator: %s is name of a SQL construct, eg LIMIT
+#: parser/parse_clause.c:1798
 #, c-format
-msgid "column reference \"%s\" is ambiguous"
-msgstr "la referencia a la columna «%s» es ambigua"
+msgid "argument of %s must not contain variables"
+msgstr "el argumento de %s no puede contener variables"
 
-#: parser/parse_expr.c:906 parser/parse_param.c:110 parser/parse_param.c:142
-#: parser/parse_param.c:199 parser/parse_param.c:298
+#. translator: first %s is name of a SQL construct, eg ORDER BY
+#: parser/parse_clause.c:1963
 #, c-format
-msgid "there is no parameter $%d"
-msgstr "no hay parámetro $%d"
+msgid "%s \"%s\" is ambiguous"
+msgstr "%s «%s» es ambiguo"
 
-#: parser/parse_expr.c:1149
+#. translator: %s is name of a SQL construct, eg ORDER BY
+#: parser/parse_clause.c:1992
 #, c-format
-msgid "NULLIF requires = operator to yield boolean"
-msgstr "NULLIF requiere que el operador = retorne boolean"
+msgid "non-integer constant in %s"
+msgstr "constante no entera en %s"
 
-#. translator: %s is name of a SQL construct, eg NULLIF
-#: parser/parse_expr.c:1155 parser/parse_expr.c:3135
+#. translator: %s is name of a SQL construct, eg ORDER BY
+#: parser/parse_clause.c:2014
 #, c-format
-msgid "%s must not return a set"
-msgstr "%s no debe retornar un conjunto"
+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_expr.c:1603 parser/parse_expr.c:1635
+#: parser/parse_clause.c:2453
 #, c-format
-msgid "number of columns does not match number of values"
-msgstr "el número de columnas no coincide con el número de valores"
+msgid "CUBE is limited to 12 elements"
+msgstr "CUBE está limitado a 12 elementos"
 
-#: parser/parse_expr.c:1649
+#: parser/parse_clause.c:2659
 #, c-format
-msgid "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression"
-msgstr "el origen para un UPDATE de varias columnas debe ser una expresión sub-SELECT o ROW ()"
+msgid "window \"%s\" is already defined"
+msgstr "la ventana «%s» ya está definida"
 
-#. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_expr.c:1843 parser/parse_expr.c:2330 parser/parse_func.c:2540
+#: parser/parse_clause.c:2720
 #, c-format
-msgid "set-returning functions are not allowed in %s"
-msgstr "no se permiten funciones que retornan conjuntos en %s"
-
-#: parser/parse_expr.c:1904
-msgid "cannot use subquery in check constraint"
-msgstr "no se pueden usar subconsultas en una restricción «check»"
+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_expr.c:1908
-msgid "cannot use subquery in DEFAULT expression"
-msgstr "no se puede usar una subconsulta en una expresión DEFAULT"
+#: parser/parse_clause.c:2732
+#, 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_expr.c:1911
-msgid "cannot use subquery in index expression"
-msgstr "no se puede usar una subconsulta en una expresión de índice"
+#: parser/parse_clause.c:2762 parser/parse_clause.c:2768
+#, 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_expr.c:1914
-msgid "cannot use subquery in index predicate"
-msgstr "no se puede usar una subconsulta en un predicado de índice"
+#: parser/parse_clause.c:2770
+#, c-format
+msgid "Omit the parentheses in this OVER clause."
+msgstr "Omita el uso de paréntesis en esta cláusula OVER."
 
-#: parser/parse_expr.c:1917
-msgid "cannot use subquery in transform expression"
-msgstr "no se puede usar una subconsulta en una expresión de transformación"
+#: parser/parse_clause.c:2790
+#, 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_expr.c:1920
-msgid "cannot use subquery in EXECUTE parameter"
-msgstr "no se puede usar una subconsulta en un parámetro a EXECUTE"
+#: parser/parse_clause.c:2813
+#, c-format
+msgid "GROUPS mode requires an ORDER BY clause"
+msgstr "el modo GROUPS requiere una cláusula ORDER BY"
 
-#: parser/parse_expr.c:1923
-msgid "cannot use subquery in trigger WHEN condition"
-msgstr "no se puede usar una subconsulta en la condición WHEN de un disparador"
+#: parser/parse_clause.c:2883
+#, 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_expr.c:1926
-msgid "cannot use subquery in partition bound"
-msgstr "no se puede usar una subconsulta en un borde de partición"
+#: parser/parse_clause.c:2884
+#, 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_expr.c:1929
-msgid "cannot use subquery in partition key expression"
-msgstr "no se puede usar una subconsulta en una expresión de llave de partición"
+#: parser/parse_clause.c:2916
+#, 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_expr.c:1932
-msgid "cannot use subquery in CALL argument"
-msgstr "no se puede usar una subconsulta en un argumento a CALL"
+#: parser/parse_clause.c:2917
+#, c-format
+msgid "SELECT DISTINCT must have at least one column"
+msgstr "SELECT DISTINCT debe tener al menos una columna"
 
-#: parser/parse_expr.c:1935
-msgid "cannot use subquery in COPY FROM WHERE condition"
-msgstr "no se puede usar una subconsulta en la condición WHERE de COPY FROM"
+#: parser/parse_clause.c:2983 parser/parse_clause.c:3015
+#, 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_expr.c:1938
-msgid "cannot use subquery in column generation expression"
-msgstr "no se puede usar una subconsulta en una expresión de generación de columna"
+#: parser/parse_clause.c:3093
+#, 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_expr.c:1991
+#: parser/parse_clause.c:3099
 #, c-format
-msgid "subquery must return only one column"
-msgstr "la subconsulta debe retornar sólo una columna"
+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_expr.c:2075
+#: parser/parse_clause.c:3178
 #, c-format
-msgid "subquery has too many columns"
-msgstr "la subconsulta tiene demasiadas columnas"
+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_expr.c:2080
+#: parser/parse_clause.c:3179
 #, c-format
-msgid "subquery has too few columns"
-msgstr "la subconsulta tiene muy pocas columnas"
+msgid "For example, ON CONFLICT (column_name)."
+msgstr "Por ejemplo, ON CONFLICT (nombre_de_columna)."
 
-#: parser/parse_expr.c:2181
+#: parser/parse_clause.c:3190
 #, c-format
-msgid "cannot determine type of empty array"
-msgstr "no se puede determinar el tipo de un array vacío"
+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_expr.c:2182
+#: parser/parse_clause.c:3198
 #, c-format
-msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]."
-msgstr "Agregue una conversión de tipo explícita al tipo deseado, por ejemplo ARRAY[]::integer[]."
+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_expr.c:2196
+#: parser/parse_clause.c:3341
 #, c-format
-msgid "could not find element type for data type %s"
-msgstr "no se pudo encontrar el tipo de dato de elemento para el tipo de dato %s"
+msgid "operator %s is not a valid ordering operator"
+msgstr "el operador «%s» no es un operador válido de ordenamiento"
 
-#: parser/parse_expr.c:2481
+#: parser/parse_clause.c:3343
 #, c-format
-msgid "unnamed XML attribute value must be a column reference"
-msgstr "el valor del atributo XML sin nombre debe ser una referencia a una columna"
+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_expr.c:2482
+#: parser/parse_clause.c:3654
 #, c-format
-msgid "unnamed XML element value must be a column reference"
-msgstr "el valor del elemento XML sin nombre debe ser una referencia a una columna"
+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_expr.c:2497
+#: parser/parse_clause.c:3660
 #, c-format
-msgid "XML attribute name \"%s\" appears more than once"
-msgstr "el nombre de atributo XML «%s» aparece más de una vez"
+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_expr.c:2604
+#: parser/parse_clause.c:3663
 #, c-format
-msgid "cannot cast XMLSERIALIZE result to %s"
-msgstr "no se puede convertir el resultado de XMLSERIALIZE a %s"
+msgid "Cast the offset value to an appropriate type."
+msgstr "Convierta el valor de desplazamiento a un tipo apropiado."
 
-#: parser/parse_expr.c:2892 parser/parse_expr.c:3088
+#: parser/parse_clause.c:3668
 #, c-format
-msgid "unequal number of entries in row expressions"
-msgstr "número desigual de entradas en expresiones de registro"
+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_expr.c:2902
+#: parser/parse_clause.c:3671
 #, c-format
-msgid "cannot compare rows of zero length"
-msgstr "no se pueden comparar registros de largo cero"
+msgid "Cast the offset value to the exact intended type."
+msgstr "Convierta el valor de desplazamiento al tipo deseado exacto."
 
-#: parser/parse_expr.c:2927
+#: parser/parse_coerce.c:1031 parser/parse_coerce.c:1069
+#: parser/parse_coerce.c:1087 parser/parse_coerce.c:1102
+#: parser/parse_expr.c:2241 parser/parse_expr.c:2819 parser/parse_target.c:967
 #, c-format
-msgid "row comparison operator must yield type boolean, not type %s"
-msgstr "el operador de comparación de registros debe retornar tipo boolean, no tipo %s"
+msgid "cannot cast type %s to %s"
+msgstr "no se puede convertir el tipo %s a %s"
 
-#: parser/parse_expr.c:2934
+#: parser/parse_coerce.c:1072
 #, c-format
-msgid "row comparison operator must not return a set"
-msgstr "el operador de comparación de registros no puede retornar un conjunto"
+msgid "Input has too few columns."
+msgstr "La entrada tiene muy pocas columnas."
 
-#: parser/parse_expr.c:2993 parser/parse_expr.c:3034
+#: parser/parse_coerce.c:1090
 #, c-format
-msgid "could not determine interpretation of row comparison operator %s"
-msgstr "no se pudo determinar la interpretación del operador de comparación de registros %s"
+msgid "Cannot cast type %s to %s in column %d."
+msgstr "No se puede convertir el tipo %s a %s en la columna %d."
 
-#: parser/parse_expr.c:2995
+#: parser/parse_coerce.c:1105
 #, c-format
-msgid "Row comparison operators must be associated with btree operator families."
-msgstr "Los operadores de comparación de registros deben estar asociados a una familia de operadores btree."
+msgid "Input has too many columns."
+msgstr "La entrada tiene demasiadas columnas."
 
-#: parser/parse_expr.c:3036
+#. translator: first %s is name of a SQL construct, eg WHERE
+#. translator: first %s is name of a SQL construct, eg LIMIT
+#: parser/parse_coerce.c:1160 parser/parse_coerce.c:1208
 #, c-format
-msgid "There are multiple equally-plausible candidates."
-msgstr "Hay múltiples candidatos igualmente plausibles."
+msgid "argument of %s must be type %s, not type %s"
+msgstr "el argumento de %s debe ser de tipo %s, no tipo %s"
 
-#: parser/parse_expr.c:3129
+#. translator: %s is name of a SQL construct, eg WHERE
+#. translator: %s is name of a SQL construct, eg LIMIT
+#: parser/parse_coerce.c:1171 parser/parse_coerce.c:1220
 #, c-format
-msgid "IS DISTINCT FROM requires = operator to yield boolean"
-msgstr "IS DISTINCT FROM requiere que el operador = retorne boolean"
+msgid "argument of %s must not return a set"
+msgstr "el argumento de %s no debe retornar un conjunto"
 
-#: parser/parse_expr.c:3448 parser/parse_expr.c:3466
+#. translator: first %s is name of a SQL construct, eg CASE
+#: parser/parse_coerce.c:1360
 #, c-format
-msgid "operator precedence change: %s is now lower precedence than %s"
-msgstr "cambio de precedencia de operadores: %s es ahora de menor precedencia que %s"
+msgid "%s types %s and %s cannot be matched"
+msgstr "los tipos %2$s y %3$s no son coincidentes en %1$s"
 
-#: parser/parse_func.c:191
+#: parser/parse_coerce.c:1472
 #, c-format
-msgid "argument name \"%s\" used more than once"
-msgstr "nombre de argumento «%s» especificado más de una vez"
+msgid "argument types %s and %s cannot be matched"
+msgstr "los tipos de argumento %s y %s no pueden hacerse coincidir"
 
-#: parser/parse_func.c:202
+#. translator: first %s is name of a SQL construct, eg CASE
+#: parser/parse_coerce.c:1524
 #, c-format
-msgid "positional argument cannot follow named argument"
-msgstr "un argumento posicional no puede seguir a un argumento con nombre"
+msgid "%s could not convert type %s to %s"
+msgstr "%s no pudo convertir el tipo %s a %s"
 
-#: parser/parse_func.c:284 parser/parse_func.c:2243
+#: parser/parse_coerce.c:1941
 #, c-format
-msgid "%s is not a procedure"
-msgstr "%s no es un procedimiento"
+msgid "arguments declared \"anyelement\" are not all alike"
+msgstr "los argumentos declarados «anyelement» no son de tipos compatibles"
 
-#: parser/parse_func.c:288
+#: parser/parse_coerce.c:1961
 #, c-format
-msgid "To call a function, use SELECT."
-msgstr "Para invocar a una función, use SELECT."
+msgid "arguments declared \"anyarray\" are not all alike"
+msgstr "los argumentos declarados «anyarray» no son de tipos compatibles"
 
-#: parser/parse_func.c:294
+#: parser/parse_coerce.c:1981
 #, c-format
-msgid "%s is a procedure"
-msgstr "%s es un procedimiento"
+msgid "arguments declared \"anyrange\" are not all alike"
+msgstr "los argumentos declarados «anyrange» no son de tipos compatibles"
 
-#: parser/parse_func.c:298
+#: parser/parse_coerce.c:2015 parser/parse_coerce.c:2095
+#: utils/fmgr/funcapi.c:487
 #, c-format
-msgid "To call a procedure, use CALL."
-msgstr "Para invocar a un procedimiento, use CALL."
+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_func.c:312
+#: parser/parse_coerce.c:2036
 #, c-format
-msgid "%s(*) specified, but %s is not an aggregate function"
-msgstr "se especificó %s(*), pero %s no es una función de agregación"
+msgid "arguments declared \"anycompatiblerange\" are not all alike"
+msgstr "los argumentos declarados «anycompatiblerange» no son todos parecidos"
 
-#: parser/parse_func.c:319
+#: parser/parse_coerce.c:2048 parser/parse_coerce.c:2129
+#: utils/fmgr/funcapi.c:501
 #, c-format
-msgid "DISTINCT specified, but %s is not an aggregate function"
-msgstr "se especificó DISTINCT, pero %s no es una función de agregación"
+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_func.c:325
+#: parser/parse_coerce.c:2086
 #, c-format
-msgid "WITHIN GROUP specified, but %s is not an aggregate function"
-msgstr "se especificó WITHIN GROUP, pero %s no es una función de agregación"
+msgid "cannot determine element type of \"anyarray\" argument"
+msgstr "no se puede determinar el tipo del argumento «anyarray»"
 
-#: parser/parse_func.c:331
+#: parser/parse_coerce.c:2112 parser/parse_coerce.c:2146
 #, c-format
-msgid "ORDER BY specified, but %s is not an aggregate function"
-msgstr "se especificó ORDER BY, pero %s no es una función de agregación"
+msgid "argument declared %s is not consistent with argument declared %s"
+msgstr "el argumento declarado %s no es consistente con el argumento declarado %s"
 
-#: parser/parse_func.c:337
+#: parser/parse_coerce.c:2170
 #, c-format
-msgid "FILTER specified, but %s is not an aggregate function"
-msgstr "se especificó FILTER, pero %s no es una función de agregación"
+msgid "could not determine polymorphic type because input has type %s"
+msgstr "no se pudo determinar el tipo polimórfico porque la entrada es de tipo %s"
 
-#: parser/parse_func.c:343
+#: parser/parse_coerce.c:2184
 #, c-format
-msgid "OVER specified, but %s is not a window function nor an aggregate function"
-msgstr "se especificó OVER, pero %s no es una función de ventana deslizante ni una función de agregación"
+msgid "type matched to anynonarray is an array type: %s"
+msgstr "el argumento emparejado con anynonarray es un array: %s"
 
-#: parser/parse_func.c:381
+#: parser/parse_coerce.c:2194
 #, c-format
-msgid "WITHIN GROUP is required for ordered-set aggregate %s"
-msgstr "WITHIN GROUP es obligatorio para la función de agregación de conjuntos ordenados %s"
+msgid "type matched to anyenum is not an enum type: %s"
+msgstr "el tipo emparejado con anyenum no es un tipo enum: %s"
 
-#: parser/parse_func.c:387
+#: parser/parse_coerce.c:2225 parser/parse_coerce.c:2274
+#: parser/parse_coerce.c:2336 parser/parse_coerce.c:2372
 #, c-format
-msgid "OVER is not supported for ordered-set aggregate %s"
-msgstr "OVER no está soportado para la función de agregación de conjuntos ordenados %s"
+msgid "could not determine polymorphic type %s because input has type %s"
+msgstr "no se pudo determinar el tipo polimórfico %s porque la entrada es de tipo %s"
 
-#: parser/parse_func.c:418 parser/parse_func.c:447
+#: parser/parse_coerce.c:2235
 #, c-format
-msgid "There is an ordered-set aggregate %s, but it requires %d direct arguments, not %d."
-msgstr "Hay una función de agregación de conjuntos ordenados %s, pero requiere %d argumentos directos, no %d."
+msgid "anycompatiblerange type %s does not match anycompatible type %s"
+msgstr "el tipo anycompatiblerange %s no coincide con el tipo anycompatible %s"
 
-#: parser/parse_func.c:472
+#: parser/parse_coerce.c:2249
 #, c-format
-msgid "To use the hypothetical-set aggregate %s, the number of hypothetical direct arguments (here %d) must match the number of ordering columns (here %d)."
-msgstr "Para usar la función de agregación de conjunto hipotética %s, el número de argumentos hipotéticos directos (acá %d) debe coincidir con el número de columnas del ordenamiento (acá %d)."
+msgid "type matched to anycompatiblenonarray is an array type: %s"
+msgstr "el argumento emparejado a anycompatiblenonarray es un array: %s"
 
-#: parser/parse_func.c:486
+#: parser/parse_coerce.c:2440
 #, c-format
-msgid "There is an ordered-set aggregate %s, but it requires at least %d direct arguments."
-msgstr "Hay una función de agregación de conjuntos ordenados %s, pero requiere al menos %d argumentos directos"
+msgid "A result of type %s requires at least one input of type %s."
+msgstr "Un resultado de tipo %s requiere al menos un argumento de tipo %s."
 
-#: parser/parse_func.c:505
+#: parser/parse_coerce.c:2452
 #, c-format
-msgid "%s is not an ordered-set aggregate, so it cannot have WITHIN GROUP"
-msgstr "%s no es una función de agregación de conjunto ordenado, por lo que no puede tener WITHIN GROUP"
+msgid "A result of type %s requires at least one input of type anyelement, anyarray, anynonarray, anyenum, or anyrange."
+msgstr "Un resultado de tipo %s requiere al menos una entrada de tipo anyelement, anyarray, anynonarray, anyenum, o anyrange."
 
-#: parser/parse_func.c:518
+#: parser/parse_coerce.c:2464
 #, c-format
-msgid "window function %s requires an OVER clause"
-msgstr "la función de ventana deslizante %s requiere una cláusula OVER"
+msgid "A result of type %s requires at least one input of type anycompatible, anycompatiblearray, anycompatiblenonarray, or anycompatiblerange."
+msgstr "Un resultado de tipo %s requiere al menos una entrada de tipo anycompatible, anycompatiblearray, anycompatiblenonarray, o anycompatiblerange."
 
-#: parser/parse_func.c:525
+#: parser/parse_coerce.c:2494
+msgid "A result of type internal requires at least one input of type internal."
+msgstr "Un resultado de tipo internal requiere al menos una entrada de tipo internal."
+
+#: parser/parse_collate.c:228 parser/parse_collate.c:475
+#: parser/parse_collate.c:981
 #, c-format
-msgid "window function %s cannot have WITHIN GROUP"
-msgstr "la función de ventana deslizante %s no puede tener WITHIN GROUP"
+msgid "collation mismatch between implicit collations \"%s\" and \"%s\""
+msgstr "discordancia de ordenamientos (collation) entre los ordenamientos implícitos «%s» y «%s»"
 
-#: parser/parse_func.c:554
+#: parser/parse_collate.c:231 parser/parse_collate.c:478
+#: parser/parse_collate.c:984
 #, c-format
-msgid "procedure %s is not unique"
-msgstr "la procedimiento %s no es único"
+msgid "You can choose the collation by applying the COLLATE clause to one or both expressions."
+msgstr "Puede elegir el ordenamiento aplicando la cláusula COLLATE a una o ambas expresiones."
 
-#: parser/parse_func.c:557
+#: parser/parse_collate.c:831
 #, c-format
-msgid "Could not choose a best candidate procedure. You might need to add explicit type casts."
-msgstr "No se pudo escoger el procedimiento más adecuado. Puede ser necesario agregar conversiones explícitas de tipos."
+msgid "collation mismatch between explicit collations \"%s\" and \"%s\""
+msgstr "discordancia de ordenamientos (collation) entre los ordenamientos explícitos «%s» y «%s»"
 
-#: parser/parse_func.c:563
+#: parser/parse_cte.c:42
 #, c-format
-msgid "function %s is not unique"
-msgstr "la función %s no es única"
+msgid "recursive reference to query \"%s\" must not appear within its non-recursive term"
+msgstr "la referencia recursiva a la consulta «%s» no debe aparecer dentro de su término no recursivo"
 
-#: parser/parse_func.c:566
+#: parser/parse_cte.c:44
 #, c-format
-msgid "Could not choose a best candidate function. You might need to add explicit type casts."
-msgstr "No se pudo escoger la función más adecuada. Puede ser necesario agregar conversiones explícitas de tipos."
+msgid "recursive reference to query \"%s\" must not appear within a subquery"
+msgstr "la referencia recursiva a la consulta «%s» no debe aparecer dentro de una subconsulta"
 
-#: parser/parse_func.c:605
+#: parser/parse_cte.c:46
 #, c-format
-msgid "No aggregate function matches the given name and argument types. Perhaps you misplaced ORDER BY; ORDER BY must appear after all regular arguments of the aggregate."
-msgstr "Ninguna función coincide en el nombre y tipos de argumentos. Quizás puso ORDER BY en una mala posición; ORDER BY debe aparecer después de todos los argumentos normales de la función de agregación."
+msgid "recursive reference to query \"%s\" must not appear within an outer join"
+msgstr "la referencia recursiva a la consulta «%s» no debe aparecer dentro de un outer join"
 
-#: parser/parse_func.c:613 parser/parse_func.c:2286
+#: parser/parse_cte.c:48
 #, c-format
-msgid "procedure %s does not exist"
-msgstr "no existe el procedimiento «%s»"
+msgid "recursive reference to query \"%s\" must not appear within INTERSECT"
+msgstr "la referencia recursiva a la consulta «%s» no debe aparecer dentro de INTERSECT"
 
-#: parser/parse_func.c:616
+#: parser/parse_cte.c:50
 #, c-format
-msgid "No procedure matches the given name and argument types. You might need to add explicit type casts."
-msgstr "Ningún procedimiento coincide en el nombre y tipos de argumentos. Puede ser necesario agregar conversión explícita de tipos."
+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_func.c:625
+#: parser/parse_cte.c:132
 #, c-format
-msgid "No function matches the given name and argument types. You might need to add explicit type casts."
-msgstr "Ninguna función coincide en el nombre y tipos de argumentos. Puede ser necesario agregar conversión explícita de tipos."
+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_func.c:727
+#: parser/parse_cte.c:264
 #, c-format
-msgid "VARIADIC argument must be an array"
-msgstr "el parámetro VARIADIC debe ser un array"
+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_func.c:779 parser/parse_func.c:843
+#: parser/parse_cte.c:313
 #, c-format
-msgid "%s(*) must be used to call a parameterless aggregate function"
-msgstr "%s(*) debe ser usado para invocar una función de agregación sin parámetros"
+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_func.c:786
+#: parser/parse_cte.c:319
 #, c-format
-msgid "aggregates cannot return sets"
-msgstr "las funciones de agregación no pueden retornar conjuntos"
+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_func.c:801
+#: parser/parse_cte.c:324
 #, c-format
-msgid "aggregates cannot use named arguments"
-msgstr "las funciones de agregación no pueden usar argumentos con nombre"
+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_func.c:833
+#: parser/parse_cte.c:328
 #, c-format
-msgid "DISTINCT is not implemented for window functions"
-msgstr "DISTINCT no está implementado para funciones de ventana deslizante"
+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_func.c:853
+#: parser/parse_cte.c:418
 #, c-format
-msgid "aggregate ORDER BY is not implemented for window functions"
-msgstr "el ORDER BY de funciones de agregación no está implementado para funciones de ventana deslizante"
+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_func.c:862
+#: parser/parse_cte.c:598
 #, c-format
-msgid "FILTER is not implemented for non-aggregate window functions"
-msgstr "FILTER no está implementado para funciones de ventana deslizante"
+msgid "mutual recursion between WITH items is not implemented"
+msgstr "la recursión mutua entre elementos de WITH no está implementada"
 
-#: parser/parse_func.c:871
+#: parser/parse_cte.c:650
 #, c-format
-msgid "window function calls cannot contain set-returning function calls"
-msgstr "las llamadas a funciones de ventana no pueden contener llamadas a funciones que retornan conjuntos"
+msgid "recursive query \"%s\" must not contain data-modifying statements"
+msgstr "la consulta recursiva «%s» no debe contener sentencias que modifiquen datos"
 
-#: parser/parse_func.c:879
+#: parser/parse_cte.c:658
 #, c-format
-msgid "window functions cannot return sets"
-msgstr "las funciones de ventana deslizante no pueden retornar conjuntos"
+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_func.c:2124 parser/parse_func.c:2315
+#: parser/parse_cte.c:702
 #, c-format
-msgid "could not find a function named \"%s\""
-msgstr "no se pudo encontrar una función llamada «%s»"
+msgid "ORDER BY in a recursive query is not implemented"
+msgstr "ORDER BY no está implementado en una consulta recursiva"
 
-#: parser/parse_func.c:2138 parser/parse_func.c:2333
+#: parser/parse_cte.c:708
 #, c-format
-msgid "function name \"%s\" is not unique"
-msgstr "el nombre de función «%s» no es único"
+msgid "OFFSET in a recursive query is not implemented"
+msgstr "OFFSET no está implementado en una consulta recursiva"
 
-#: parser/parse_func.c:2140 parser/parse_func.c:2335
+#: parser/parse_cte.c:714
 #, c-format
-msgid "Specify the argument list to select the function unambiguously."
-msgstr "Especifique la lista de argumentos para seleccionar la función sin ambigüedad."
+msgid "LIMIT in a recursive query is not implemented"
+msgstr "LIMIT no está implementado en una consulta recursiva"
 
-#: parser/parse_func.c:2184
+#: parser/parse_cte.c:720
 #, c-format
-msgid "procedures cannot have more than %d argument"
-msgid_plural "procedures cannot have more than %d arguments"
-msgstr[0] "los procedimientos no pueden tener más de %d argumento"
-msgstr[1] "los procedimientos no pueden tener más de %d argumentos"
+msgid "FOR UPDATE/SHARE in a recursive query is not implemented"
+msgstr "FOR UPDATE/SHARE no está implementado en una consulta recursiva"
 
-#: parser/parse_func.c:2233
+#: parser/parse_cte.c:777
 #, c-format
-msgid "%s is not a function"
-msgstr "«%s» no es una función"
+msgid "recursive reference to query \"%s\" must not appear more than once"
+msgstr "la referencia recursiva a la consulta «%s» no debe aparecer más de una vez"
 
-#: parser/parse_func.c:2253
+#: parser/parse_expr.c:349
 #, c-format
-msgid "function %s is not an aggregate"
-msgstr "la función %s no es una función de agregación"
+msgid "DEFAULT is not allowed in this context"
+msgstr "DEFAULT no está permitido en este contexto"
 
-#: parser/parse_func.c:2281
+#: parser/parse_expr.c:402 parser/parse_relation.c:3507
+#: parser/parse_relation.c:3527
 #, c-format
-msgid "could not find a procedure named \"%s\""
-msgstr "no se pudo encontrar un procedimiento llamado «%s»"
+msgid "column %s.%s does not exist"
+msgstr "no existe la columna %s.%s"
 
-#: parser/parse_func.c:2295
+#: parser/parse_expr.c:414
 #, c-format
-msgid "could not find an aggregate named \"%s\""
-msgstr "no se pudo encontrar una función de agregación llamada «%s»"
+msgid "column \"%s\" not found in data type %s"
+msgstr "la columna «%s» no fue encontrado en el tipo %s"
 
-#: parser/parse_func.c:2300
+#: parser/parse_expr.c:420
 #, c-format
-msgid "aggregate %s(*) does not exist"
-msgstr "no existe la función de agregación %s(*)"
+msgid "could not identify column \"%s\" in record data type"
+msgstr "no se pudo identificar la columna «%s» en el tipo de dato record"
 
-#: parser/parse_func.c:2305
+#: parser/parse_expr.c:426
 #, c-format
-msgid "aggregate %s does not exist"
-msgstr "no existe la función de agregación %s"
+msgid "column notation .%s applied to type %s, which is not a composite type"
+msgstr "la notación de columna .%s fue aplicada al tipo %s, que no es un tipo compuesto"
 
-#: parser/parse_func.c:2340
+#: parser/parse_expr.c:457 parser/parse_target.c:729
 #, c-format
-msgid "procedure name \"%s\" is not unique"
-msgstr "el nombre de procedimiento «%s» no es única"
+msgid "row expansion via \"*\" is not supported here"
+msgstr "la expansión de filas a través de «*» no está soportado aquí"
 
-#: parser/parse_func.c:2342
+#: parser/parse_expr.c:578
+msgid "cannot use column reference in DEFAULT expression"
+msgstr "no se pueden usar referencias a columnas en una cláusula DEFAULT"
+
+#: parser/parse_expr.c:581
+msgid "cannot use column reference in partition bound expression"
+msgstr "no se pueden usar referencias a columnas en expresión de borde de partición"
+
+#: parser/parse_expr.c:850 parser/parse_relation.c:799
+#: parser/parse_relation.c:881 parser/parse_target.c:1207
 #, c-format
-msgid "Specify the argument list to select the procedure unambiguously."
-msgstr "Especifique la lista de argumentos para seleccionar el procedimiento sin ambigüedad."
+msgid "column reference \"%s\" is ambiguous"
+msgstr "la referencia a la columna «%s» es ambigua"
 
-#: parser/parse_func.c:2347
+#: parser/parse_expr.c:906 parser/parse_param.c:110 parser/parse_param.c:142
+#: parser/parse_param.c:199 parser/parse_param.c:298
 #, c-format
-msgid "aggregate name \"%s\" is not unique"
-msgstr "el atributo de la función de agregación «%s» no es único"
+msgid "there is no parameter $%d"
+msgstr "no hay parámetro $%d"
 
-#: parser/parse_func.c:2349
+#: parser/parse_expr.c:1149
 #, c-format
-msgid "Specify the argument list to select the aggregate unambiguously."
-msgstr "Especifique la lista de argumentos para seleccionar la función de agregación sin ambigüedad."
+msgid "NULLIF requires = operator to yield boolean"
+msgstr "NULLIF requiere que el operador = retorne boolean"
 
-#: parser/parse_func.c:2354
+#. translator: %s is name of a SQL construct, eg NULLIF
+#: parser/parse_expr.c:1155 parser/parse_expr.c:3135
 #, c-format
-msgid "routine name \"%s\" is not unique"
-msgstr "el nombre de rutina «%s» no es único"
+msgid "%s must not return a set"
+msgstr "%s no debe retornar un conjunto"
 
-#: parser/parse_func.c:2356
+#: parser/parse_expr.c:1603 parser/parse_expr.c:1635
 #, c-format
-msgid "Specify the argument list to select the routine unambiguously."
-msgstr "Especifique la lista de argumentos para seleccionar la rutina sin ambigüedad."
+msgid "number of columns does not match number of values"
+msgstr "el número de columnas no coincide con el número de valores"
 
-#: parser/parse_func.c:2411
-msgid "set-returning functions are not allowed in JOIN conditions"
-msgstr "no se permiten funciones que retornan conjuntos en condiciones JOIN"
+#: parser/parse_expr.c:1649
+#, c-format
+msgid "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression"
+msgstr "el origen para un UPDATE de varias columnas debe ser una expresión sub-SELECT o ROW ()"
 
-#: parser/parse_func.c:2432
-msgid "set-returning functions are not allowed in policy expressions"
-msgstr "no se permiten funciones que retornan conjuntos en expresiones de política"
+#. translator: %s is name of a SQL construct, eg GROUP BY
+#: parser/parse_expr.c:1843 parser/parse_expr.c:2330 parser/parse_func.c:2540
+#, c-format
+msgid "set-returning functions are not allowed in %s"
+msgstr "no se permiten funciones que retornan conjuntos en %s"
 
-#: parser/parse_func.c:2448
-msgid "set-returning functions are not allowed in window definitions"
-msgstr "no se permiten funciones que retornan conjuntos definiciones de ventana deslizante"
+#: parser/parse_expr.c:1904
+msgid "cannot use subquery in check constraint"
+msgstr "no se pueden usar subconsultas en una restricción «check»"
 
-#: parser/parse_func.c:2486
-msgid "set-returning functions are not allowed in check constraints"
-msgstr "no se permiten funciones de que retornan conjuntos en restricciones «check»"
+#: parser/parse_expr.c:1908
+msgid "cannot use subquery in DEFAULT expression"
+msgstr "no se puede usar una subconsulta en una expresión DEFAULT"
 
-#: parser/parse_func.c:2490
-msgid "set-returning functions are not allowed in DEFAULT expressions"
-msgstr "no se permiten funciones que retornan conjuntos en expresiones DEFAULT"
+#: parser/parse_expr.c:1911
+msgid "cannot use subquery in index expression"
+msgstr "no se puede usar una subconsulta en una expresión de índice"
 
-#: parser/parse_func.c:2493
-msgid "set-returning functions are not allowed in index expressions"
-msgstr "no se permiten funciones que retornan conjuntos en expresiones de índice"
+#: parser/parse_expr.c:1914
+msgid "cannot use subquery in index predicate"
+msgstr "no se puede usar una subconsulta en un predicado de índice"
 
-#: parser/parse_func.c:2496
-msgid "set-returning functions are not allowed in index predicates"
-msgstr "no se permiten funciones que retornan conjuntos en predicados de índice"
+#: parser/parse_expr.c:1917
+msgid "cannot use subquery in transform expression"
+msgstr "no se puede usar una subconsulta en una expresión de transformación"
 
-#: parser/parse_func.c:2499
-msgid "set-returning functions are not allowed in transform expressions"
-msgstr "no se permiten funciones que retornan conjuntos en expresiones de transformación"
+#: parser/parse_expr.c:1920
+msgid "cannot use subquery in EXECUTE parameter"
+msgstr "no se puede usar una subconsulta en un parámetro a EXECUTE"
 
-#: parser/parse_func.c:2502
-msgid "set-returning functions are not allowed in EXECUTE parameters"
-msgstr "no se permiten funciones que retornan conjuntos en parámetros a EXECUTE"
+#: parser/parse_expr.c:1923
+msgid "cannot use subquery in trigger WHEN condition"
+msgstr "no se puede usar una subconsulta en la condición WHEN de un disparador"
 
-#: parser/parse_func.c:2505
-msgid "set-returning functions are not allowed in trigger WHEN conditions"
-msgstr "no se permiten funciones que retornan conjuntos en condiciones WHEN de un disparador"
+#: parser/parse_expr.c:1926
+msgid "cannot use subquery in partition bound"
+msgstr "no se puede usar una subconsulta en un borde de partición"
 
-#: parser/parse_func.c:2508
-msgid "set-returning functions are not allowed in partition bound"
-msgstr "no se permiten funciones que retornan conjuntos en bordes de partición"
+#: parser/parse_expr.c:1929
+msgid "cannot use subquery in partition key expression"
+msgstr "no se puede usar una subconsulta en una expresión de llave de partición"
 
-#: parser/parse_func.c:2511
-msgid "set-returning functions are not allowed in partition key expressions"
-msgstr "no se permiten funciones que retornan conjuntos en expresiones de llave de particionamiento"
+#: parser/parse_expr.c:1932
+msgid "cannot use subquery in CALL argument"
+msgstr "no se puede usar una subconsulta en un argumento a CALL"
 
-#: parser/parse_func.c:2514
-msgid "set-returning functions are not allowed in CALL arguments"
-msgstr "no se permiten funciones que retornan conjuntos en argumentos de CALL"
+#: parser/parse_expr.c:1935
+msgid "cannot use subquery in COPY FROM WHERE condition"
+msgstr "no se puede usar una subconsulta en la condición WHERE de COPY FROM"
 
-#: parser/parse_func.c:2517
-msgid "set-returning functions are not allowed in COPY FROM WHERE conditions"
-msgstr "no se permiten funciones que retornan conjuntos en las condiciones WHERE de COPY FROM"
+#: parser/parse_expr.c:1938
+msgid "cannot use subquery in column generation expression"
+msgstr "no se puede usar una subconsulta en una expresión de generación de columna"
 
-#: parser/parse_func.c:2520
-msgid "set-returning functions are not allowed in column generation expressions"
-msgstr "no se permiten funciones que retornan conjuntos en expresiones de generación de columna"
+#: parser/parse_expr.c:1991
+#, c-format
+msgid "subquery must return only one column"
+msgstr "la subconsulta debe retornar sólo una columna"
 
-#: parser/parse_node.c:86
+#: parser/parse_expr.c:2075
 #, c-format
-msgid "target lists can have at most %d entries"
-msgstr "las listas de resultados pueden tener a lo más %d entradas"
+msgid "subquery has too many columns"
+msgstr "la subconsulta tiene demasiadas columnas"
 
-#: parser/parse_node.c:235
+#: parser/parse_expr.c:2080
 #, c-format
-msgid "cannot subscript type %s because it is not an array"
-msgstr "no se puede poner subíndices al tipo %s porque no es un array"
+msgid "subquery has too few columns"
+msgstr "la subconsulta tiene muy pocas columnas"
 
-#: parser/parse_node.c:340 parser/parse_node.c:377
+#: parser/parse_expr.c:2181
 #, c-format
-msgid "array subscript must have type integer"
-msgstr "los subíndices de arrays deben tener tipo entero"
+msgid "cannot determine type of empty array"
+msgstr "no se puede determinar el tipo de un array vacío"
 
-#: parser/parse_node.c:408
+#: parser/parse_expr.c:2182
 #, c-format
-msgid "array assignment requires type %s but expression is of type %s"
-msgstr "la asignación de array debe tener tipo %s pero la expresión es de tipo %s"
+msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]."
+msgstr "Agregue una conversión de tipo explícita al tipo deseado, por ejemplo ARRAY[]::integer[]."
 
-#: parser/parse_oper.c:125 parser/parse_oper.c:724 utils/adt/regproc.c:521
-#: utils/adt/regproc.c:705
+#: parser/parse_expr.c:2196
 #, c-format
-msgid "operator does not exist: %s"
-msgstr "el operador no existe: %s"
+msgid "could not find element type for data type %s"
+msgstr "no se pudo encontrar el tipo de dato de elemento para el tipo de dato %s"
 
-#: parser/parse_oper.c:224
+#: parser/parse_expr.c:2481
 #, c-format
-msgid "Use an explicit ordering operator or modify the query."
-msgstr "Use un operador de ordenamiento explícito o modifique la consulta."
+msgid "unnamed XML attribute value must be a column reference"
+msgstr "el valor del atributo XML sin nombre debe ser una referencia a una columna"
 
-#: parser/parse_oper.c:480
+#: parser/parse_expr.c:2482
 #, c-format
-msgid "operator requires run-time type coercion: %s"
-msgstr "el operador requiere conversión explícita de tipos: %s"
+msgid "unnamed XML element value must be a column reference"
+msgstr "el valor del elemento XML sin nombre debe ser una referencia a una columna"
 
-#: parser/parse_oper.c:716
+#: parser/parse_expr.c:2497
 #, c-format
-msgid "operator is not unique: %s"
-msgstr "el operador no es único: %s"
+msgid "XML attribute name \"%s\" appears more than once"
+msgstr "el nombre de atributo XML «%s» aparece más de una vez"
 
-#: parser/parse_oper.c:718
+#: parser/parse_expr.c:2604
 #, c-format
-msgid "Could not choose a best candidate operator. You might need to add explicit type casts."
-msgstr "No se pudo escoger el operador más adecuado. Puede ser necesario agregar conversiones explícitas de tipos."
+msgid "cannot cast XMLSERIALIZE result to %s"
+msgstr "no se puede convertir el resultado de XMLSERIALIZE a %s"
 
-#: parser/parse_oper.c:727
+#: parser/parse_expr.c:2892 parser/parse_expr.c:3088
 #, c-format
-msgid "No operator matches the given name and argument type. You might need to add an explicit type cast."
-msgstr "Ningún operador coincide en el nombre y tipo de argumento. Puede ser necesario agregar conversión explícita de tipos."
+msgid "unequal number of entries in row expressions"
+msgstr "número desigual de entradas en expresiones de registro"
 
-#: parser/parse_oper.c:729
+#: parser/parse_expr.c:2902
 #, c-format
-msgid "No operator matches the given name and argument types. You might need to add explicit type casts."
-msgstr "Ningún operador coincide en el nombre y tipos de argumentos. Puede ser necesario agregar conversión explícita de tipos."
+msgid "cannot compare rows of zero length"
+msgstr "no se pueden comparar registros de largo cero"
 
-#: parser/parse_oper.c:790 parser/parse_oper.c:912
+#: parser/parse_expr.c:2927
 #, c-format
-msgid "operator is only a shell: %s"
-msgstr "el operador está inconcluso: %s"
+msgid "row comparison operator must yield type boolean, not type %s"
+msgstr "el operador de comparación de registros debe retornar tipo boolean, no tipo %s"
 
-#: parser/parse_oper.c:900
+#: parser/parse_expr.c:2934
 #, c-format
-msgid "op ANY/ALL (array) requires array on right side"
-msgstr "op ANY/ALL (array) requiere un array al lado derecho"
+msgid "row comparison operator must not return a set"
+msgstr "el operador de comparación de registros no puede retornar un conjunto"
 
-#: parser/parse_oper.c:942
+#: parser/parse_expr.c:2993 parser/parse_expr.c:3034
 #, c-format
-msgid "op ANY/ALL (array) requires operator to yield boolean"
-msgstr "op ANY/ALL (array) requiere un operador que entregue boolean"
+msgid "could not determine interpretation of row comparison operator %s"
+msgstr "no se pudo determinar la interpretación del operador de comparación de registros %s"
 
-#: parser/parse_oper.c:947
+#: parser/parse_expr.c:2995
 #, c-format
-msgid "op ANY/ALL (array) requires operator not to return a set"
-msgstr "op ANY/ALL (array) requiere un operador que no retorne un conjunto"
+msgid "Row comparison operators must be associated with btree operator families."
+msgstr "Los operadores de comparación de registros deben estar asociados a una familia de operadores btree."
 
-#: parser/parse_param.c:216
+#: parser/parse_expr.c:3036
 #, c-format
-msgid "inconsistent types deduced for parameter $%d"
-msgstr "para el parámetro $%d se dedujeron tipos de dato inconsistentes"
+msgid "There are multiple equally-plausible candidates."
+msgstr "Hay múltiples candidatos igualmente plausibles."
 
-#: parser/parse_relation.c:201
+#: parser/parse_expr.c:3129
 #, c-format
-msgid "table reference \"%s\" is ambiguous"
-msgstr "la referencia a la tabla «%s» es ambigua"
+msgid "IS DISTINCT FROM requires = operator to yield boolean"
+msgstr "IS DISTINCT FROM requiere que el operador = retorne boolean"
 
-#: parser/parse_relation.c:245
+#: parser/parse_expr.c:3448 parser/parse_expr.c:3466
 #, c-format
-msgid "table reference %u is ambiguous"
-msgstr "la referencia a la tabla %u es ambigua"
+msgid "operator precedence change: %s is now lower precedence than %s"
+msgstr "cambio de precedencia de operadores: %s es ahora de menor precedencia que %s"
 
-#: parser/parse_relation.c:444
+#: parser/parse_func.c:191
 #, c-format
-msgid "table name \"%s\" specified more than once"
-msgstr "el nombre de tabla «%s» fue especificado más de una vez"
+msgid "argument name \"%s\" used more than once"
+msgstr "nombre de argumento «%s» especificado más de una vez"
 
-#: parser/parse_relation.c:473 parser/parse_relation.c:3446
+#: parser/parse_func.c:202
 #, c-format
-msgid "invalid reference to FROM-clause entry for table \"%s\""
-msgstr "referencia a la entrada de la cláusula FROM para la tabla «%s» no válida"
+msgid "positional argument cannot follow named argument"
+msgstr "un argumento posicional no puede seguir a un argumento con nombre"
 
-#: parser/parse_relation.c:477 parser/parse_relation.c:3451
+#: parser/parse_func.c:284 parser/parse_func.c:2243
 #, c-format
-msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query."
-msgstr "Hay una entrada para la tabla «%s», pero no puede ser referenciada desde esta parte de la consulta."
+msgid "%s is not a procedure"
+msgstr "%s no es un procedimiento"
 
-#: parser/parse_relation.c:479
+#: parser/parse_func.c:288
 #, c-format
-msgid "The combining JOIN type must be INNER or LEFT for a LATERAL reference."
-msgstr "El tipo de JOIN debe ser INNER o LEFT para una referencia LATERAL."
+msgid "To call a function, use SELECT."
+msgstr "Para invocar a una función, use SELECT."
 
-#: parser/parse_relation.c:690
+#: parser/parse_func.c:294
 #, c-format
-msgid "system column \"%s\" reference in check constraint is invalid"
-msgstr "la referencia a columna a sistema «%s» en una restricción check no es válida"
+msgid "%s is a procedure"
+msgstr "%s es un procedimiento"
 
-#: parser/parse_relation.c:699
+#: parser/parse_func.c:298
 #, c-format
-msgid "cannot use system column \"%s\" in column generation expression"
-msgstr "no se puede usar la columna de sistema «%s» en una expresión de generación de columna"
+msgid "To call a procedure, use CALL."
+msgstr "Para invocar a un procedimiento, use CALL."
 
-#: parser/parse_relation.c:1170 parser/parse_relation.c:1620
-#: parser/parse_relation.c:2262
+#: parser/parse_func.c:312
 #, c-format
-msgid "table \"%s\" has %d columns available but %d columns specified"
-msgstr "la tabla «%s» tiene %d columnas pero se especificaron %d"
+msgid "%s(*) specified, but %s is not an aggregate function"
+msgstr "se especificó %s(*), pero %s no es una función de agregación"
+
+#: parser/parse_func.c:319
+#, c-format
+msgid "DISTINCT specified, but %s is not an aggregate function"
+msgstr "se especificó DISTINCT, pero %s no es una función de agregación"
 
-#: parser/parse_relation.c:1372
+#: parser/parse_func.c:325
 #, c-format
-msgid "There is a WITH item named \"%s\", but it cannot be referenced from this part of the query."
-msgstr "Hay un elemento WITH llamado «%s», pero no puede ser referenciada desde esta parte de la consulta."
+msgid "WITHIN GROUP specified, but %s is not an aggregate function"
+msgstr "se especificó WITHIN GROUP, pero %s no es una función de agregación"
 
-#: parser/parse_relation.c:1374
+#: parser/parse_func.c:331
 #, c-format
-msgid "Use WITH RECURSIVE, or re-order the WITH items to remove forward references."
-msgstr "Use WITH RECURSIVE, o reordene los elementos de WITH para eliminar referencias hacia adelante."
+msgid "ORDER BY specified, but %s is not an aggregate function"
+msgstr "se especificó ORDER BY, pero %s no es una función de agregación"
 
-#: parser/parse_relation.c:1747
+#: parser/parse_func.c:337
 #, c-format
-msgid "a column definition list is only allowed for functions returning \"record\""
-msgstr "sólo se permite una lista de definición de columnas en funciones que retornan «record»"
+msgid "FILTER specified, but %s is not an aggregate function"
+msgstr "se especificó FILTER, pero %s no es una función de agregación"
 
-#: parser/parse_relation.c:1756
+#: parser/parse_func.c:343
 #, c-format
-msgid "a column definition list is required for functions returning \"record\""
-msgstr "la lista de definición de columnas es obligatoria para funciones que retornan «record»"
+msgid "OVER specified, but %s is not a window function nor an aggregate function"
+msgstr "se especificó OVER, pero %s no es una función de ventana deslizante ni una función de agregación"
 
-#: parser/parse_relation.c:1845
+#: parser/parse_func.c:381
 #, c-format
-msgid "function \"%s\" in FROM has unsupported return type %s"
-msgstr "la función «%s» en FROM tiene el tipo de retorno no soportado %s"
+msgid "WITHIN GROUP is required for ordered-set aggregate %s"
+msgstr "WITHIN GROUP es obligatorio para la función de agregación de conjuntos ordenados %s"
 
-#: parser/parse_relation.c:2054
+#: parser/parse_func.c:387
 #, c-format
-msgid "VALUES lists \"%s\" have %d columns available but %d columns specified"
-msgstr "la lista VALUES «%s» tiene %d columnas disponibles pero se especificaron %d"
+msgid "OVER is not supported for ordered-set aggregate %s"
+msgstr "OVER no está soportado para la función de agregación de conjuntos ordenados %s"
 
-#: parser/parse_relation.c:2125
+#: parser/parse_func.c:418 parser/parse_func.c:447
 #, c-format
-msgid "joins can have at most %d columns"
-msgstr "los joins pueden tener a lo más %d columnas"
+msgid "There is an ordered-set aggregate %s, but it requires %d direct arguments, not %d."
+msgstr "Hay una función de agregación de conjuntos ordenados %s, pero requiere %d argumentos directos, no %d."
 
-#: parser/parse_relation.c:2235
+#: parser/parse_func.c:472
 #, c-format
-msgid "WITH query \"%s\" does not have a RETURNING clause"
-msgstr "la consulta WITH «%s» no tiene una cláusula RETURNING"
+msgid "To use the hypothetical-set aggregate %s, the number of hypothetical direct arguments (here %d) must match the number of ordering columns (here %d)."
+msgstr "Para usar la función de agregación de conjunto hipotética %s, el número de argumentos hipotéticos directos (acá %d) debe coincidir con el número de columnas del ordenamiento (acá %d)."
 
-#: parser/parse_relation.c:3221 parser/parse_relation.c:3231
+#: parser/parse_func.c:486
 #, c-format
-msgid "column %d of relation \"%s\" does not exist"
-msgstr "no existe la columna %d en la relación «%s»"
+msgid "There is an ordered-set aggregate %s, but it requires at least %d direct arguments."
+msgstr "Hay una función de agregación de conjuntos ordenados %s, pero requiere al menos %d argumentos directos"
 
-#: parser/parse_relation.c:3449
+#: parser/parse_func.c:505
 #, c-format
-msgid "Perhaps you meant to reference the table alias \"%s\"."
-msgstr "Probablemente quiera hacer referencia al alias de la tabla «%s»."
+msgid "%s is not an ordered-set aggregate, so it cannot have WITHIN GROUP"
+msgstr "%s no es una función de agregación de conjunto ordenado, por lo que no puede tener WITHIN GROUP"
 
-#: parser/parse_relation.c:3457
+#: parser/parse_func.c:518
 #, c-format
-msgid "missing FROM-clause entry for table \"%s\""
-msgstr "falta una entrada para la tabla «%s» en la cláusula FROM"
+msgid "window function %s requires an OVER clause"
+msgstr "la función de ventana deslizante %s requiere una cláusula OVER"
 
-#: parser/parse_relation.c:3509
+#: parser/parse_func.c:525
 #, c-format
-msgid "Perhaps you meant to reference the column \"%s.%s\"."
-msgstr "Probablemente quiera hacer referencia a la columna «%s.%s»."
+msgid "window function %s cannot have WITHIN GROUP"
+msgstr "la función de ventana deslizante %s no puede tener WITHIN GROUP"
 
-#: parser/parse_relation.c:3511
+#: parser/parse_func.c:554
 #, c-format
-msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query."
-msgstr "Hay una columna llamada «%s» en la tabla «%s», pero no puede ser referenciada desde esta parte de la consulta."
+msgid "procedure %s is not unique"
+msgstr "la procedimiento %s no es único"
 
-#: parser/parse_relation.c:3528
+#: parser/parse_func.c:557
 #, c-format
-msgid "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"."
-msgstr "Probablemente quiera hacer referencia a la columna «%s.%s» o la columna «%s.%s»."
+msgid "Could not choose a best candidate procedure. You might need to add explicit type casts."
+msgstr "No se pudo escoger el procedimiento más adecuado. Puede ser necesario agregar conversiones explícitas de tipos."
 
-#: parser/parse_target.c:478 parser/parse_target.c:792
+#: parser/parse_func.c:563
 #, c-format
-msgid "cannot assign to system column \"%s\""
-msgstr "no se puede asignar a la columna de sistema «%s»"
+msgid "function %s is not unique"
+msgstr "la función %s no es única"
 
-#: parser/parse_target.c:506
+#: parser/parse_func.c:566
 #, c-format
-msgid "cannot set an array element to DEFAULT"
-msgstr "no se puede definir un elemento de array a DEFAULT"
+msgid "Could not choose a best candidate function. You might need to add explicit type casts."
+msgstr "No se pudo escoger la función más adecuada. Puede ser necesario agregar conversiones explícitas de tipos."
 
-#: parser/parse_target.c:511
+#: parser/parse_func.c:605
 #, c-format
-msgid "cannot set a subfield to DEFAULT"
-msgstr "no se puede definir un subcampo a DEFAULT"
+msgid "No aggregate function matches the given name and argument types. Perhaps you misplaced ORDER BY; ORDER BY must appear after all regular arguments of the aggregate."
+msgstr "Ninguna función coincide en el nombre y tipos de argumentos. Quizás puso ORDER BY en una mala posición; ORDER BY debe aparecer después de todos los argumentos normales de la función de agregación."
 
-#: parser/parse_target.c:584
+#: parser/parse_func.c:613 parser/parse_func.c:2286
 #, c-format
-msgid "column \"%s\" is of type %s but expression is of type %s"
-msgstr "la columna «%s» es de tipo %s pero la expresión es de tipo %s"
+msgid "procedure %s does not exist"
+msgstr "no existe el procedimiento «%s»"
 
-#: parser/parse_target.c:776
+#: parser/parse_func.c:616
 #, c-format
-msgid "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a composite type"
-msgstr "no se puede asignar al campo «%s» de la columna «%s» porque su tipo %s no es un tipo compuesto"
+msgid "No procedure matches the given name and argument types. You might need to add explicit type casts."
+msgstr "Ningún procedimiento coincide en el nombre y tipos de argumentos. Puede ser necesario agregar conversión explícita de tipos."
 
-#: parser/parse_target.c:785
+#: parser/parse_func.c:625
 #, c-format
-msgid "cannot assign to field \"%s\" of column \"%s\" because there is no such column in data type %s"
-msgstr "no se puede asignar al campo «%s» de la columna «%s» porque no existe esa columna en el tipo de dato %s"
+msgid "No function matches the given name and argument types. You might need to add explicit type casts."
+msgstr "Ninguna función coincide en el nombre y tipos de argumentos. Puede ser necesario agregar conversión explícita de tipos."
 
-#: parser/parse_target.c:864
+#: parser/parse_func.c:727
 #, c-format
-msgid "array assignment to \"%s\" requires type %s but expression is of type %s"
-msgstr "la asignación de array a «%s» requiere tipo %s pero la expresión es de tipo %s"
+msgid "VARIADIC argument must be an array"
+msgstr "el parámetro VARIADIC debe ser un array"
 
-#: parser/parse_target.c:874
+#: parser/parse_func.c:779 parser/parse_func.c:843
 #, c-format
-msgid "subfield \"%s\" is of type %s but expression is of type %s"
-msgstr "el subcampo «%s» es de tipo %s pero la expresión es de tipo %s"
+msgid "%s(*) must be used to call a parameterless aggregate function"
+msgstr "%s(*) debe ser usado para invocar una función de agregación sin parámetros"
 
-#: parser/parse_target.c:1295
+#: parser/parse_func.c:786
 #, c-format
-msgid "SELECT * with no tables specified is not valid"
-msgstr "SELECT * sin especificar tablas no es válido"
+msgid "aggregates cannot return sets"
+msgstr "las funciones de agregación no pueden retornar conjuntos"
 
-#: parser/parse_type.c:100
+#: parser/parse_func.c:801
 #, c-format
-msgid "improper %%TYPE reference (too few dotted names): %s"
-msgstr "referencia %%TYPE inapropiada (muy pocos nombres con punto): %s"
+msgid "aggregates cannot use named arguments"
+msgstr "las funciones de agregación no pueden usar argumentos con nombre"
 
-#: parser/parse_type.c:122
+#: parser/parse_func.c:833
 #, c-format
-msgid "improper %%TYPE reference (too many dotted names): %s"
-msgstr "la referencia a %%TYPE es inapropiada (demasiados nombres con punto): %s"
+msgid "DISTINCT is not implemented for window functions"
+msgstr "DISTINCT no está implementado para funciones de ventana deslizante"
 
-#: parser/parse_type.c:157
+#: parser/parse_func.c:853
 #, c-format
-msgid "type reference %s converted to %s"
-msgstr "la referencia al tipo %s convertida a %s"
+msgid "aggregate ORDER BY is not implemented for window functions"
+msgstr "el ORDER BY de funciones de agregación no está implementado para funciones de ventana deslizante"
 
-#: parser/parse_type.c:278 parser/parse_type.c:857 utils/cache/typcache.c:383
-#: utils/cache/typcache.c:437
+#: parser/parse_func.c:862
 #, c-format
-msgid "type \"%s\" is only a shell"
-msgstr "el tipo «%s» está inconcluso"
+msgid "FILTER is not implemented for non-aggregate window functions"
+msgstr "FILTER no está implementado para funciones de ventana deslizante"
 
-#: parser/parse_type.c:363
+#: parser/parse_func.c:871
 #, c-format
-msgid "type modifier is not allowed for type \"%s\""
-msgstr "un modificador de tipo no está permitido para el tipo «%s»"
+msgid "window function calls cannot contain set-returning function calls"
+msgstr "las llamadas a funciones de ventana no pueden contener llamadas a funciones que retornan conjuntos"
 
-#: parser/parse_type.c:405
+#: parser/parse_func.c:879
 #, c-format
-msgid "type modifiers must be simple constants or identifiers"
-msgstr "los modificadores de tipo deben ser constantes simples o identificadores"
+msgid "window functions cannot return sets"
+msgstr "las funciones de ventana deslizante no pueden retornar conjuntos"
 
-#: parser/parse_type.c:721 parser/parse_type.c:820
+#: parser/parse_func.c:2124 parser/parse_func.c:2315
 #, c-format
-msgid "invalid type name \"%s\""
-msgstr "el nombre de tipo «%s» no es válido"
+msgid "could not find a function named \"%s\""
+msgstr "no se pudo encontrar una función llamada «%s»"
 
-#: parser/parse_utilcmd.c:264
+#: parser/parse_func.c:2138 parser/parse_func.c:2333
 #, c-format
-msgid "cannot create partitioned table as inheritance child"
-msgstr "no se puede crear una tabla particionada como hija de herencia"
+msgid "function name \"%s\" is not unique"
+msgstr "el nombre de función «%s» no es único"
 
-#: parser/parse_utilcmd.c:428
+#: parser/parse_func.c:2140 parser/parse_func.c:2335
 #, c-format
-msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\""
-msgstr "%s creará una secuencia implícita «%s» para la columna serial «%s.%s»"
+msgid "Specify the argument list to select the function unambiguously."
+msgstr "Especifique la lista de argumentos para seleccionar la función sin ambigüedad."
 
-#: parser/parse_utilcmd.c:559
+#: parser/parse_func.c:2184
 #, c-format
-msgid "array of serial is not implemented"
-msgstr "array de serial no está implementado"
+msgid "procedures cannot have more than %d argument"
+msgid_plural "procedures cannot have more than %d arguments"
+msgstr[0] "los procedimientos no pueden tener más de %d argumento"
+msgstr[1] "los procedimientos no pueden tener más de %d argumentos"
 
-#: parser/parse_utilcmd.c:637 parser/parse_utilcmd.c:649
+#: parser/parse_func.c:2233
 #, c-format
-msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
-msgstr "las declaraciones NULL/NOT NULL no son coincidentes para la columna «%s» de la tabla «%s»"
+msgid "%s is not a function"
+msgstr "«%s» no es una función"
 
-#: parser/parse_utilcmd.c:661
+#: parser/parse_func.c:2253
 #, c-format
-msgid "multiple default values specified for column \"%s\" of table \"%s\""
-msgstr "múltiples valores default especificados para columna «%s» de tabla «%s»"
+msgid "function %s is not an aggregate"
+msgstr "la función %s no es una función de agregación"
 
-#: parser/parse_utilcmd.c:678
+#: parser/parse_func.c:2281
 #, c-format
-msgid "identity columns are not supported on typed tables"
-msgstr "las columnas identidad no está soportadas en tablas tipadas"
+msgid "could not find a procedure named \"%s\""
+msgstr "no se pudo encontrar un procedimiento llamado «%s»"
 
-#: parser/parse_utilcmd.c:682
+#: parser/parse_func.c:2295
 #, c-format
-msgid "identity columns are not supported on partitions"
-msgstr "las columnas identidad no están soportadas en particiones"
+msgid "could not find an aggregate named \"%s\""
+msgstr "no se pudo encontrar una función de agregación llamada «%s»"
 
-#: parser/parse_utilcmd.c:691
+#: parser/parse_func.c:2300
 #, c-format
-msgid "multiple identity specifications for column \"%s\" of table \"%s\""
-msgstr "múltiples especificaciones de identidad para columna «%s» de tabla «%s»"
+msgid "aggregate %s(*) does not exist"
+msgstr "no existe la función de agregación %s(*)"
 
-#: parser/parse_utilcmd.c:711
+#: parser/parse_func.c:2305
 #, c-format
-msgid "generated columns are not supported on typed tables"
-msgstr "las columnas generadas no están soportadas en tablas tipadas"
+msgid "aggregate %s does not exist"
+msgstr "no existe la función de agregación %s"
 
-#: parser/parse_utilcmd.c:715
+#: parser/parse_func.c:2340
 #, c-format
-msgid "generated columns are not supported on partitions"
-msgstr "las columnas generadas no están soportadas en particiones"
+msgid "procedure name \"%s\" is not unique"
+msgstr "el nombre de procedimiento «%s» no es única"
 
-#: parser/parse_utilcmd.c:720
+#: parser/parse_func.c:2342
 #, c-format
-msgid "multiple generation clauses specified for column \"%s\" of table \"%s\""
-msgstr "múltiples cláusulas de generación especificadas para columna «%s» de tabla «%s»"
+msgid "Specify the argument list to select the procedure unambiguously."
+msgstr "Especifique la lista de argumentos para seleccionar el procedimiento sin ambigüedad."
 
-#: parser/parse_utilcmd.c:738 parser/parse_utilcmd.c:853
+#: parser/parse_func.c:2347
 #, c-format
-msgid "primary key constraints are not supported on foreign tables"
-msgstr "las restricciones de llave primaria no están soportadas en tablas foráneas"
+msgid "aggregate name \"%s\" is not unique"
+msgstr "el atributo de la función de agregación «%s» no es único"
 
-#: parser/parse_utilcmd.c:747 parser/parse_utilcmd.c:863
+#: parser/parse_func.c:2349
 #, c-format
-msgid "unique constraints are not supported on foreign tables"
-msgstr "las restricciones unique no están soportadas en tablas foráneas"
+msgid "Specify the argument list to select the aggregate unambiguously."
+msgstr "Especifique la lista de argumentos para seleccionar la función de agregación sin ambigüedad."
 
-#: parser/parse_utilcmd.c:792
+#: parser/parse_func.c:2354
 #, c-format
-msgid "both default and identity specified for column \"%s\" of table \"%s\""
-msgstr "tanto el valor por omisión como identidad especificados para columna «%s» de tabla «%s»"
+msgid "routine name \"%s\" is not unique"
+msgstr "el nombre de rutina «%s» no es único"
 
-#: parser/parse_utilcmd.c:800
+#: parser/parse_func.c:2356
 #, c-format
-msgid "both default and generation expression specified for column \"%s\" of table \"%s\""
-msgstr "tanto el valor por omisión como expresión de generación especificados para columna «%s» de tabla «%s»"
+msgid "Specify the argument list to select the routine unambiguously."
+msgstr "Especifique la lista de argumentos para seleccionar la rutina sin ambigüedad."
 
-#: parser/parse_utilcmd.c:808
-#, c-format
-msgid "both identity and generation expression specified for column \"%s\" of table \"%s\""
-msgstr "tanto identidad como expresión de generación especificados para columna «%s» de tabla «%s»"
+#: parser/parse_func.c:2411
+msgid "set-returning functions are not allowed in JOIN conditions"
+msgstr "no se permiten funciones que retornan conjuntos en condiciones JOIN"
 
-#: parser/parse_utilcmd.c:873
-#, c-format
-msgid "exclusion constraints are not supported on foreign tables"
-msgstr "las restricciones de exclusión no están soportadas en tablas foráneas"
+#: parser/parse_func.c:2432
+msgid "set-returning functions are not allowed in policy expressions"
+msgstr "no se permiten funciones que retornan conjuntos en expresiones de política"
 
-#: parser/parse_utilcmd.c:879
-#, c-format
-msgid "exclusion constraints are not supported on partitioned tables"
-msgstr "las restricciones de exclusión no están soportadas en tablas particionadas"
+#: parser/parse_func.c:2448
+msgid "set-returning functions are not allowed in window definitions"
+msgstr "no se permiten funciones que retornan conjuntos definiciones de ventana deslizante"
 
-#: parser/parse_utilcmd.c:944
-#, c-format
-msgid "LIKE is not supported for creating foreign tables"
-msgstr "LIKE no está soportado para la creación de tablas foráneas"
+#: parser/parse_func.c:2486
+msgid "set-returning functions are not allowed in check constraints"
+msgstr "no se permiten funciones de que retornan conjuntos en restricciones «check»"
 
-#: parser/parse_utilcmd.c:1704 parser/parse_utilcmd.c:1813
-#, c-format
-msgid "Index \"%s\" contains a whole-row table reference."
-msgstr "El índice «%s» contiene una referencia a la fila completa (whole-row)."
+#: parser/parse_func.c:2490
+msgid "set-returning functions are not allowed in DEFAULT expressions"
+msgstr "no se permiten funciones que retornan conjuntos en expresiones DEFAULT"
 
-#: parser/parse_utilcmd.c:2163
-#, c-format
-msgid "cannot use an existing index in CREATE TABLE"
-msgstr "no se puede usar un índice existente en CREATE TABLE"
+#: parser/parse_func.c:2493
+msgid "set-returning functions are not allowed in index expressions"
+msgstr "no se permiten funciones que retornan conjuntos en expresiones de índice"
 
-#: parser/parse_utilcmd.c:2183
-#, c-format
-msgid "index \"%s\" is already associated with a constraint"
-msgstr "el índice «%s» ya está asociado a una restricción"
+#: parser/parse_func.c:2496
+msgid "set-returning functions are not allowed in index predicates"
+msgstr "no se permiten funciones que retornan conjuntos en predicados de índice"
 
-#: parser/parse_utilcmd.c:2198
-#, c-format
-msgid "index \"%s\" is not valid"
-msgstr "el índice «%s» no es válido"
+#: parser/parse_func.c:2499
+msgid "set-returning functions are not allowed in transform expressions"
+msgstr "no se permiten funciones que retornan conjuntos en expresiones de transformación"
 
-#: parser/parse_utilcmd.c:2204
-#, c-format
-msgid "\"%s\" is not a unique index"
-msgstr "«%s» no es un índice único"
+#: parser/parse_func.c:2502
+msgid "set-returning functions are not allowed in EXECUTE parameters"
+msgstr "no se permiten funciones que retornan conjuntos en parámetros a EXECUTE"
 
-#: parser/parse_utilcmd.c:2205 parser/parse_utilcmd.c:2212
-#: parser/parse_utilcmd.c:2219 parser/parse_utilcmd.c:2296
-#, c-format
-msgid "Cannot create a primary key or unique constraint using such an index."
-msgstr "No se puede crear una restricción de llave primaria o única usando un índice así."
+#: parser/parse_func.c:2505
+msgid "set-returning functions are not allowed in trigger WHEN conditions"
+msgstr "no se permiten funciones que retornan conjuntos en condiciones WHEN de un disparador"
+
+#: parser/parse_func.c:2508
+msgid "set-returning functions are not allowed in partition bound"
+msgstr "no se permiten funciones que retornan conjuntos en bordes de partición"
+
+#: parser/parse_func.c:2511
+msgid "set-returning functions are not allowed in partition key expressions"
+msgstr "no se permiten funciones que retornan conjuntos en expresiones de llave de particionamiento"
+
+#: parser/parse_func.c:2514
+msgid "set-returning functions are not allowed in CALL arguments"
+msgstr "no se permiten funciones que retornan conjuntos en argumentos de CALL"
 
-#: parser/parse_utilcmd.c:2211
-#, c-format
-msgid "index \"%s\" contains expressions"
-msgstr "el índice «%s» contiene expresiones"
+#: parser/parse_func.c:2517
+msgid "set-returning functions are not allowed in COPY FROM WHERE conditions"
+msgstr "no se permiten funciones que retornan conjuntos en las condiciones WHERE de COPY FROM"
 
-#: parser/parse_utilcmd.c:2218
-#, c-format
-msgid "\"%s\" is a partial index"
-msgstr "«%s» es un índice parcial"
+#: parser/parse_func.c:2520
+msgid "set-returning functions are not allowed in column generation expressions"
+msgstr "no se permiten funciones que retornan conjuntos en expresiones de generación de columna"
 
-#: parser/parse_utilcmd.c:2230
+#: parser/parse_node.c:86
 #, c-format
-msgid "\"%s\" is a deferrable index"
-msgstr "«%s» no es un índice postergable (deferrable)"
+msgid "target lists can have at most %d entries"
+msgstr "las listas de resultados pueden tener a lo más %d entradas"
 
-#: parser/parse_utilcmd.c:2231
+#: parser/parse_node.c:235
 #, c-format
-msgid "Cannot create a non-deferrable constraint using a deferrable index."
-msgstr "No se puede crear una restricción no postergable usando un índice postergable."
+msgid "cannot subscript type %s because it is not an array"
+msgstr "no se puede poner subíndices al tipo %s porque no es un array"
 
-#: parser/parse_utilcmd.c:2295
+#: parser/parse_node.c:340 parser/parse_node.c:377
 #, c-format
-msgid "index \"%s\" column number %d does not have default sorting behavior"
-msgstr "el índice «%s» columna número %d no tiene comportamiento de ordenamiento por omisión"
+msgid "array subscript must have type integer"
+msgstr "los subíndices de arrays deben tener tipo entero"
 
-#: parser/parse_utilcmd.c:2452
+#: parser/parse_node.c:408
 #, c-format
-msgid "column \"%s\" appears twice in primary key constraint"
-msgstr "la columna «%s» aparece dos veces en llave primaria"
+msgid "array assignment requires type %s but expression is of type %s"
+msgstr "la asignación de array debe tener tipo %s pero la expresión es de tipo %s"
 
-#: parser/parse_utilcmd.c:2458
+#: parser/parse_oper.c:125 parser/parse_oper.c:724 utils/adt/regproc.c:521
+#: utils/adt/regproc.c:705
 #, c-format
-msgid "column \"%s\" appears twice in unique constraint"
-msgstr "la columna «%s» aparece dos veces en restricción unique"
+msgid "operator does not exist: %s"
+msgstr "el operador no existe: %s"
 
-#: parser/parse_utilcmd.c:2811
+#: parser/parse_oper.c:224
 #, c-format
-msgid "index expressions and predicates can refer only to the table being indexed"
-msgstr "las expresiones y predicados de índice sólo pueden referirse a la tabla en indexación"
+msgid "Use an explicit ordering operator or modify the query."
+msgstr "Use un operador de ordenamiento explícito o modifique la consulta."
 
-#: parser/parse_utilcmd.c:2857
+#: parser/parse_oper.c:480
 #, c-format
-msgid "rules on materialized views are not supported"
-msgstr "las reglas en vistas materializadas no están soportadas"
+msgid "operator requires run-time type coercion: %s"
+msgstr "el operador requiere conversión explícita de tipos: %s"
 
-#: parser/parse_utilcmd.c:2920
+#: parser/parse_oper.c:716
 #, c-format
-msgid "rule WHERE condition cannot contain references to other relations"
-msgstr "la condición WHERE de la regla no puede contener referencias a otras relaciones"
+msgid "operator is not unique: %s"
+msgstr "el operador no es único: %s"
 
-#: parser/parse_utilcmd.c:2994
+#: parser/parse_oper.c:718
 #, c-format
-msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions"
-msgstr "las reglas con condiciones WHERE sólo pueden tener acciones SELECT, INSERT, UPDATE o DELETE"
+msgid "Could not choose a best candidate operator. You might need to add explicit type casts."
+msgstr "No se pudo escoger el operador más adecuado. Puede ser necesario agregar conversiones explícitas de tipos."
 
-#: parser/parse_utilcmd.c:3012 parser/parse_utilcmd.c:3113
-#: rewrite/rewriteHandler.c:502 rewrite/rewriteManip.c:1018
+#: parser/parse_oper.c:727
 #, c-format
-msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
-msgstr "las sentencias UNION/INTERSECT/EXCEPT condicionales no están implementadas"
+msgid "No operator matches the given name and argument type. You might need to add an explicit type cast."
+msgstr "Ningún operador coincide en el nombre y tipo de argumento. Puede ser necesario agregar conversión explícita de tipos."
 
-#: parser/parse_utilcmd.c:3030
+#: parser/parse_oper.c:729
 #, c-format
-msgid "ON SELECT rule cannot use OLD"
-msgstr "una regla ON SELECT no puede usar OLD"
+msgid "No operator matches the given name and argument types. You might need to add explicit type casts."
+msgstr "Ningún operador coincide en el nombre y tipos de argumentos. Puede ser necesario agregar conversión explícita de tipos."
 
-#: parser/parse_utilcmd.c:3034
+#: parser/parse_oper.c:790 parser/parse_oper.c:912
 #, c-format
-msgid "ON SELECT rule cannot use NEW"
-msgstr "una regla ON SELECT no puede usar NEW"
+msgid "operator is only a shell: %s"
+msgstr "el operador está inconcluso: %s"
 
-#: parser/parse_utilcmd.c:3043
+#: parser/parse_oper.c:900
 #, c-format
-msgid "ON INSERT rule cannot use OLD"
-msgstr "una regla ON INSERT no puede usar OLD"
+msgid "op ANY/ALL (array) requires array on right side"
+msgstr "op ANY/ALL (array) requiere un array al lado derecho"
 
-#: parser/parse_utilcmd.c:3049
+#: parser/parse_oper.c:942
 #, c-format
-msgid "ON DELETE rule cannot use NEW"
-msgstr "una regla ON DELETE no puede usar NEW"
+msgid "op ANY/ALL (array) requires operator to yield boolean"
+msgstr "op ANY/ALL (array) requiere un operador que entregue boolean"
 
-#: parser/parse_utilcmd.c:3077
+#: parser/parse_oper.c:947
 #, c-format
-msgid "cannot refer to OLD within WITH query"
-msgstr "no se puede hacer referencia a OLD dentro de una consulta WITH"
+msgid "op ANY/ALL (array) requires operator not to return a set"
+msgstr "op ANY/ALL (array) requiere un operador que no retorne un conjunto"
 
-#: parser/parse_utilcmd.c:3084
+#: parser/parse_param.c:216
 #, c-format
-msgid "cannot refer to NEW within WITH query"
-msgstr "no se puede hacer referencia a NEW dentro de una consulta WITH"
+msgid "inconsistent types deduced for parameter $%d"
+msgstr "para el parámetro $%d se dedujeron tipos de dato inconsistentes"
 
-#: parser/parse_utilcmd.c:3542
+#: parser/parse_relation.c:201
 #, c-format
-msgid "misplaced DEFERRABLE clause"
-msgstr "cláusula DEFERRABLE mal puesta"
+msgid "table reference \"%s\" is ambiguous"
+msgstr "la referencia a la tabla «%s» es ambigua"
 
-#: parser/parse_utilcmd.c:3547 parser/parse_utilcmd.c:3562
+#: parser/parse_relation.c:245
 #, c-format
-msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
-msgstr "no se permiten múltiples cláusulas DEFERRABLE/NOT DEFERRABLE"
+msgid "table reference %u is ambiguous"
+msgstr "la referencia a la tabla %u es ambigua"
 
-#: parser/parse_utilcmd.c:3557
+#: parser/parse_relation.c:444
 #, c-format
-msgid "misplaced NOT DEFERRABLE clause"
-msgstr "la cláusula NOT DEFERRABLE está mal puesta"
+msgid "table name \"%s\" specified more than once"
+msgstr "el nombre de tabla «%s» fue especificado más de una vez"
 
-#: parser/parse_utilcmd.c:3570 parser/parse_utilcmd.c:3596 gram.y:5593
+#: parser/parse_relation.c:473 parser/parse_relation.c:3447
 #, c-format
-msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
-msgstr "una restricción declarada INITIALLY DEFERRED debe ser DEFERRABLE"
+msgid "invalid reference to FROM-clause entry for table \"%s\""
+msgstr "referencia a la entrada de la cláusula FROM para la tabla «%s» no válida"
 
-#: parser/parse_utilcmd.c:3578
+#: parser/parse_relation.c:477 parser/parse_relation.c:3452
 #, c-format
-msgid "misplaced INITIALLY DEFERRED clause"
-msgstr "la cláusula INITIALLY DEFERRED está mal puesta"
+msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query."
+msgstr "Hay una entrada para la tabla «%s», pero no puede ser referenciada desde esta parte de la consulta."
 
-#: parser/parse_utilcmd.c:3583 parser/parse_utilcmd.c:3609
+#: parser/parse_relation.c:479
 #, c-format
-msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
-msgstr "no se permiten múltiples cláusulas INITIALLY IMMEDIATE/DEFERRED"
+msgid "The combining JOIN type must be INNER or LEFT for a LATERAL reference."
+msgstr "El tipo de JOIN debe ser INNER o LEFT para una referencia LATERAL."
 
-#: parser/parse_utilcmd.c:3604
+#: parser/parse_relation.c:690
 #, c-format
-msgid "misplaced INITIALLY IMMEDIATE clause"
-msgstr "la cláusula INITIALLY IMMEDIATE está mal puesta"
+msgid "system column \"%s\" reference in check constraint is invalid"
+msgstr "la referencia a columna a sistema «%s» en una restricción check no es válida"
 
-#: parser/parse_utilcmd.c:3795
+#: parser/parse_relation.c:699
 #, c-format
-msgid "CREATE specifies a schema (%s) different from the one being created (%s)"
-msgstr "CREATE especifica un esquema (%s) diferente del que se está creando (%s)"
+msgid "cannot use system column \"%s\" in column generation expression"
+msgstr "no se puede usar la columna de sistema «%s» en una expresión de generación de columna"
 
-#: parser/parse_utilcmd.c:3830
+#: parser/parse_relation.c:1167 parser/parse_relation.c:1617
+#: parser/parse_relation.c:2259
 #, c-format
-msgid "\"%s\" is not a partitioned table"
-msgstr "«%s» no es una tabla particionada"
+msgid "table \"%s\" has %d columns available but %d columns specified"
+msgstr "la tabla «%s» tiene %d columnas pero se especificaron %d"
 
-#: parser/parse_utilcmd.c:3837
+#: parser/parse_relation.c:1369
 #, c-format
-msgid "table \"%s\" is not partitioned"
-msgstr "«la tabla %s» no está particionada"
+msgid "There is a WITH item named \"%s\", but it cannot be referenced from this part of the query."
+msgstr "Hay un elemento WITH llamado «%s», pero no puede ser referenciada desde esta parte de la consulta."
 
-#: parser/parse_utilcmd.c:3844
+#: parser/parse_relation.c:1371
 #, c-format
-msgid "index \"%s\" is not partitioned"
-msgstr "el índice «%s» no está particionado"
+msgid "Use WITH RECURSIVE, or re-order the WITH items to remove forward references."
+msgstr "Use WITH RECURSIVE, o reordene los elementos de WITH para eliminar referencias hacia adelante."
 
-#: parser/parse_utilcmd.c:3884
+#: parser/parse_relation.c:1744
 #, c-format
-msgid "a hash-partitioned table may not have a default partition"
-msgstr "una tabla particionada por hash no puede tener una partición default"
+msgid "a column definition list is only allowed for functions returning \"record\""
+msgstr "sólo se permite una lista de definición de columnas en funciones que retornan «record»"
 
-#: parser/parse_utilcmd.c:3901
+#: parser/parse_relation.c:1753
 #, c-format
-msgid "invalid bound specification for a hash partition"
-msgstr "especificación de borde no válida para partición de hash"
+msgid "a column definition list is required for functions returning \"record\""
+msgstr "la lista de definición de columnas es obligatoria para funciones que retornan «record»"
 
-#: parser/parse_utilcmd.c:3907 partitioning/partbounds.c:4691
+#: parser/parse_relation.c:1842
 #, c-format
-msgid "modulus for hash partition must be a positive integer"
-msgstr "el módulo para una partición hash debe ser un entero positivo"
+msgid "function \"%s\" in FROM has unsupported return type %s"
+msgstr "la función «%s» en FROM tiene el tipo de retorno no soportado %s"
 
-#: parser/parse_utilcmd.c:3914 partitioning/partbounds.c:4699
+#: parser/parse_relation.c:2051
 #, c-format
-msgid "remainder for hash partition must be less than modulus"
-msgstr "remanente en partición hash debe ser menor que el módulo"
+msgid "VALUES lists \"%s\" have %d columns available but %d columns specified"
+msgstr "la lista VALUES «%s» tiene %d columnas disponibles pero se especificaron %d"
 
-#: parser/parse_utilcmd.c:3927
+#: parser/parse_relation.c:2122
 #, c-format
-msgid "invalid bound specification for a list partition"
-msgstr "especificación de borde no válida para partición de lista"
+msgid "joins can have at most %d columns"
+msgstr "los joins pueden tener a lo más %d columnas"
 
-#: parser/parse_utilcmd.c:3980
+#: parser/parse_relation.c:2232
 #, c-format
-msgid "invalid bound specification for a range partition"
-msgstr "especificación de borde no válida para partición de rango"
+msgid "WITH query \"%s\" does not have a RETURNING clause"
+msgstr "la consulta WITH «%s» no tiene una cláusula RETURNING"
 
-#: parser/parse_utilcmd.c:3986
+#: parser/parse_relation.c:3222 parser/parse_relation.c:3232
 #, c-format
-msgid "FROM must specify exactly one value per partitioning column"
-msgstr "FROM debe especificar exactamente un valor por cada columna de particionado"
+msgid "column %d of relation \"%s\" does not exist"
+msgstr "no existe la columna %d en la relación «%s»"
 
-#: parser/parse_utilcmd.c:3990
+#: parser/parse_relation.c:3450
 #, c-format
-msgid "TO must specify exactly one value per partitioning column"
-msgstr "TO debe especificar exactamente un valor por cada columna de particionado"
+msgid "Perhaps you meant to reference the table alias \"%s\"."
+msgstr "Probablemente quiera hacer referencia al alias de la tabla «%s»."
 
-#: parser/parse_utilcmd.c:4104
+#: parser/parse_relation.c:3458
 #, c-format
-msgid "cannot specify NULL in range bound"
-msgstr "no se puede especificar NULL en borde de rango"
+msgid "missing FROM-clause entry for table \"%s\""
+msgstr "falta una entrada para la tabla «%s» en la cláusula FROM"
 
-#: parser/parse_utilcmd.c:4153
+#: parser/parse_relation.c:3510
 #, c-format
-msgid "every bound following MAXVALUE must also be MAXVALUE"
-msgstr "cada borde que sigue a un MAXVALUE debe ser también MAXVALUE"
+msgid "Perhaps you meant to reference the column \"%s.%s\"."
+msgstr "Probablemente quiera hacer referencia a la columna «%s.%s»."
 
-#: parser/parse_utilcmd.c:4160
+#: parser/parse_relation.c:3512
 #, c-format
-msgid "every bound following MINVALUE must also be MINVALUE"
-msgstr "cada borde que siga a un MINVALUE debe ser también MINVALUE"
+msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query."
+msgstr "Hay una columna llamada «%s» en la tabla «%s», pero no puede ser referenciada desde esta parte de la consulta."
 
-#: parser/parse_utilcmd.c:4202
+#: parser/parse_relation.c:3529
 #, c-format
-msgid "could not determine which collation to use for partition bound expression"
-msgstr "no se pudo determinar qué ordenamiento (collation) usar para la expresión de borde de particionamiento"
+msgid "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"."
+msgstr "Probablemente quiera hacer referencia a la columna «%s.%s» o la columna «%s.%s»."
 
-#: parser/parse_utilcmd.c:4219
+#: parser/parse_target.c:478 parser/parse_target.c:792
 #, c-format
-msgid "collation of partition bound value for column \"%s\" does not match partition key collation \"%s\""
-msgstr "el ordenamiento (collation) del valor de borde de partición para la columna «%s» no coincide con el ordenamiento de la llave de particionamiento «%s»"
+msgid "cannot assign to system column \"%s\""
+msgstr "no se puede asignar a la columna de sistema «%s»"
 
-#: parser/parse_utilcmd.c:4236
+#: parser/parse_target.c:506
 #, c-format
-msgid "specified value cannot be cast to type %s for column \"%s\""
-msgstr "el valor especificado no puede ser convertido al tipo %s para la columna «%s»"
-
-#: parser/parser.c:228
-msgid "UESCAPE must be followed by a simple string literal"
-msgstr "UESCAPE debe ser seguido por un literal de cadena simple"
-
-#: parser/parser.c:233
-msgid "invalid Unicode escape character"
-msgstr "carácter de escape Unicode no válido"
+msgid "cannot set an array element to DEFAULT"
+msgstr "no se puede definir un elemento de array a DEFAULT"
 
-#: parser/parser.c:302 scan.l:1329
+#: parser/parse_target.c:511
 #, c-format
-msgid "invalid Unicode escape value"
-msgstr "valor de escape Unicode no válido"
+msgid "cannot set a subfield to DEFAULT"
+msgstr "no se puede definir un subcampo a DEFAULT"
 
-#: parser/parser.c:449 scan.l:677
+#: parser/parse_target.c:584
 #, c-format
-msgid "invalid Unicode escape"
-msgstr "valor de escape Unicode no válido"
+msgid "column \"%s\" is of type %s but expression is of type %s"
+msgstr "la columna «%s» es de tipo %s pero la expresión es de tipo %s"
 
-#: parser/parser.c:450
+#: parser/parse_target.c:776
 #, c-format
-msgid "Unicode escapes must be \\XXXX or \\+XXXXXX."
-msgstr "Los escapes Unicode deben ser \\XXXX o \\+XXXXXX."
+msgid "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a composite type"
+msgstr "no se puede asignar al campo «%s» de la columna «%s» porque su tipo %s no es un tipo compuesto"
 
-#: parser/parser.c:478 scan.l:638 scan.l:654 scan.l:670
+#: parser/parse_target.c:785
 #, c-format
-msgid "invalid Unicode surrogate pair"
-msgstr "par sustituto (surrogate) Unicode no válido"
+msgid "cannot assign to field \"%s\" of column \"%s\" because there is no such column in data type %s"
+msgstr "no se puede asignar al campo «%s» de la columna «%s» porque no existe esa columna en el tipo de dato %s"
 
-#: parser/scansup.c:203
+#: parser/parse_target.c:864
 #, c-format
-msgid "identifier \"%s\" will be truncated to \"%s\""
-msgstr "el identificador «%s» se truncará a «%s»"
+msgid "array assignment to \"%s\" requires type %s but expression is of type %s"
+msgstr "la asignación de array a «%s» requiere tipo %s pero la expresión es de tipo %s"
 
-#: partitioning/partbounds.c:2831
+#: parser/parse_target.c:874
 #, c-format
-msgid "partition \"%s\" conflicts with existing default partition \"%s\""
-msgstr "la partición «%s» está en conflicto con la partición default «%s» existente"
+msgid "subfield \"%s\" is of type %s but expression is of type %s"
+msgstr "el subcampo «%s» es de tipo %s pero la expresión es de tipo %s"
 
-#: partitioning/partbounds.c:2890
+#: parser/parse_target.c:1295
 #, c-format
-msgid "every hash partition modulus must be a factor of the next larger modulus"
-msgstr "cada módulo de partición hash debe ser un factor del próximo mayor módulo"
+msgid "SELECT * with no tables specified is not valid"
+msgstr "SELECT * sin especificar tablas no es válido"
 
-#: partitioning/partbounds.c:2986
+#: parser/parse_type.c:100
 #, c-format
-msgid "empty range bound specified for partition \"%s\""
-msgstr "borde de rango vació especificado para la partición «%s»"
+msgid "improper %%TYPE reference (too few dotted names): %s"
+msgstr "referencia %%TYPE inapropiada (muy pocos nombres con punto): %s"
 
-#: partitioning/partbounds.c:2988
+#: parser/parse_type.c:122
 #, c-format
-msgid "Specified lower bound %s is greater than or equal to upper bound %s."
-msgstr "El límite inferior %s especificado es mayor o igual al límite superior %s."
+msgid "improper %%TYPE reference (too many dotted names): %s"
+msgstr "la referencia a %%TYPE es inapropiada (demasiados nombres con punto): %s"
 
-#: partitioning/partbounds.c:3085
+#: parser/parse_type.c:157
 #, c-format
-msgid "partition \"%s\" would overlap partition \"%s\""
-msgstr "la partición «%s» traslaparía con la partición «%s»"
+msgid "type reference %s converted to %s"
+msgstr "la referencia al tipo %s convertida a %s"
 
-#: partitioning/partbounds.c:3202
+#: parser/parse_type.c:278 parser/parse_type.c:857 utils/cache/typcache.c:383
+#: utils/cache/typcache.c:437
 #, c-format
-msgid "skipped scanning foreign table \"%s\" which is a partition of default partition \"%s\""
-msgstr "se omitió recorrer la tabla foránea «%s» que es una partición de la partición default «%s»"
+msgid "type \"%s\" is only a shell"
+msgstr "el tipo «%s» está inconcluso"
 
-#: partitioning/partbounds.c:4695
+#: parser/parse_type.c:363
 #, c-format
-msgid "remainder for hash partition must be a non-negative integer"
-msgstr "remanente en partición hash debe ser un entero no negativo"
+msgid "type modifier is not allowed for type \"%s\""
+msgstr "un modificador de tipo no está permitido para el tipo «%s»"
 
-#: partitioning/partbounds.c:4722
+#: parser/parse_type.c:405
 #, c-format
-msgid "\"%s\" is not a hash partitioned table"
-msgstr "«%s» es una tabla particionada por hash"
+msgid "type modifiers must be simple constants or identifiers"
+msgstr "los modificadores de tipo deben ser constantes simples o identificadores"
 
-#: partitioning/partbounds.c:4733 partitioning/partbounds.c:4850
+#: parser/parse_type.c:721 parser/parse_type.c:820
 #, c-format
-msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)"
-msgstr "el número de columnas de particionamiento (%d) no coincide con el número de llaves de particionamiento provistas (%d)"
+msgid "invalid type name \"%s\""
+msgstr "el nombre de tipo «%s» no es válido"
 
-#: partitioning/partbounds.c:4755 partitioning/partbounds.c:4787
+#: parser/parse_utilcmd.c:266
 #, c-format
-msgid "column %d of the partition key has type \"%s\", but supplied value is of type \"%s\""
-msgstr "la columna %d de la llave de particionamiento tiene tipo «%s», pero el valor dado es de tipo «%s»"
+msgid "cannot create partitioned table as inheritance child"
+msgstr "no se puede crear una tabla particionada como hija de herencia"
 
-#: port/pg_sema.c:209 port/pg_shmem.c:640 port/posix_sema.c:209
-#: port/sysv_sema.c:327 port/sysv_shmem.c:640
+#: parser/parse_utilcmd.c:444
 #, c-format
-msgid "could not stat data directory \"%s\": %m"
-msgstr "no se pudo hacer stat al directorio de datos «%s»: %m"
+msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\""
+msgstr "%s creará una secuencia implícita «%s» para la columna serial «%s.%s»"
 
-#: port/pg_shmem.c:216 port/sysv_shmem.c:216
+#: parser/parse_utilcmd.c:575
 #, c-format
-msgid "could not create shared memory segment: %m"
-msgstr "no se pudo crear el segmento de memoria compartida: %m"
+msgid "array of serial is not implemented"
+msgstr "array de serial no está implementado"
 
-#: port/pg_shmem.c:217 port/sysv_shmem.c:217
+#: parser/parse_utilcmd.c:653 parser/parse_utilcmd.c:665
+#: parser/parse_utilcmd.c:724
 #, c-format
-msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)."
-msgstr "La llamada a sistema fallida fue shmget(key=%lu, size=%zu, 0%o)."
+msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
+msgstr "las declaraciones NULL/NOT NULL no son coincidentes para la columna «%s» de la tabla «%s»"
 
-#: port/pg_shmem.c:221 port/sysv_shmem.c:221
+#: parser/parse_utilcmd.c:677
 #, c-format
-msgid ""
-"This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter, or possibly that it is less than your kernel's SHMMIN parameter.\n"
-"The PostgreSQL documentation contains more information about shared memory configuration."
-msgstr ""
-"Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedió el parámetro SHMMAX del kernel, o posiblemente que es menor que el parámetro SHMMIN del kernel.\n"
-"La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida."
+msgid "multiple default values specified for column \"%s\" of table \"%s\""
+msgstr "múltiples valores default especificados para columna «%s» de tabla «%s»"
 
-#: port/pg_shmem.c:228 port/sysv_shmem.c:228
+#: parser/parse_utilcmd.c:694
 #, c-format
-msgid ""
-"This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMALL parameter.  You might need to reconfigure the kernel with larger SHMALL.\n"
-"The PostgreSQL documentation contains more information about shared memory configuration."
-msgstr ""
-"Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedió el parámetro SHMALL del kernel.  Puede ser necesario reconfigurar el kernel con un SHMALL mayor.\n"
-"La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida."
+msgid "identity columns are not supported on typed tables"
+msgstr "las columnas identidad no está soportadas en tablas tipadas"
 
-#: port/pg_shmem.c:234 port/sysv_shmem.c:234
+#: parser/parse_utilcmd.c:698
 #, c-format
-msgid ""
-"This error does *not* mean that you have run out of disk space.  It occurs either if all available shared memory IDs have been taken, in which case you need to raise the SHMMNI parameter in your kernel, or because the system's overall limit for shared memory has been reached.\n"
-"The PostgreSQL documentation contains more information about shared memory configuration."
-msgstr ""
-"Este error *no* significa que se haya quedado sin espacio en disco.  Ocurre cuando se han usado todos los IDs de memoria compartida disponibles, en cuyo caso puede incrementar el parámetro SHMMNI del kernel, o bien porque se ha alcanzado el límite total de memoria compartida.\n"
-"La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida."
+msgid "identity columns are not supported on partitions"
+msgstr "las columnas identidad no están soportadas en particiones"
 
-#: port/pg_shmem.c:578 port/sysv_shmem.c:578
+#: parser/parse_utilcmd.c:707
 #, c-format
-msgid "could not map anonymous shared memory: %m"
-msgstr "no se pudo mapear memoria compartida anónima: %m"
+msgid "multiple identity specifications for column \"%s\" of table \"%s\""
+msgstr "múltiples especificaciones de identidad para columna «%s» de tabla «%s»"
 
-#: port/pg_shmem.c:580 port/sysv_shmem.c:580
+#: parser/parse_utilcmd.c:737
 #, c-format
-msgid "This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently %zu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections."
-msgstr "Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedía la memoria disponible, el espacio de intercambio (swap), o las huge pages.  Para reducir el tamaño de la petición (actualmente %zu bytes), reduzca el uso de memoria compartida de PostgreSQL, quizás reduciendo el parámetro shared_buffers o el parámetro max_connections."
+msgid "generated columns are not supported on typed tables"
+msgstr "las columnas generadas no están soportadas en tablas tipadas"
 
-#: port/pg_shmem.c:648 port/sysv_shmem.c:648
+#: parser/parse_utilcmd.c:741
 #, c-format
-msgid "huge pages not supported on this platform"
-msgstr "las huge pages no están soportados en esta plataforma"
+msgid "generated columns are not supported on partitions"
+msgstr "las columnas generadas no están soportadas en particiones"
 
-#: port/pg_shmem.c:709 port/sysv_shmem.c:709 utils/init/miscinit.c:1137
+#: parser/parse_utilcmd.c:746
 #, c-format
-msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use"
-msgstr "el bloque de memoria compartida preexistente (clave %lu, ID %lu) aún está en uso"
+msgid "multiple generation clauses specified for column \"%s\" of table \"%s\""
+msgstr "múltiples cláusulas de generación especificadas para columna «%s» de tabla «%s»"
 
-#: port/pg_shmem.c:712 port/sysv_shmem.c:712 utils/init/miscinit.c:1139
+#: parser/parse_utilcmd.c:764 parser/parse_utilcmd.c:879
 #, c-format
-msgid "Terminate any old server processes associated with data directory \"%s\"."
-msgstr "Termine cualquier proceso de servidor asociado al directorio de datos «%s»."
+msgid "primary key constraints are not supported on foreign tables"
+msgstr "las restricciones de llave primaria no están soportadas en tablas foráneas"
 
-#: port/sysv_sema.c:124
+#: parser/parse_utilcmd.c:773 parser/parse_utilcmd.c:889
 #, c-format
-msgid "could not create semaphores: %m"
-msgstr "no se pudo crear semáforos: %m"
+msgid "unique constraints are not supported on foreign tables"
+msgstr "las restricciones unique no están soportadas en tablas foráneas"
 
-#: port/sysv_sema.c:125
+#: parser/parse_utilcmd.c:818
 #, c-format
-msgid "Failed system call was semget(%lu, %d, 0%o)."
-msgstr "La llamada a sistema fallida fue semget(%lu, %d, 0%o)."
+msgid "both default and identity specified for column \"%s\" of table \"%s\""
+msgstr "tanto el valor por omisión como identidad especificados para columna «%s» de tabla «%s»"
 
-#: port/sysv_sema.c:129
+#: parser/parse_utilcmd.c:826
 #, c-format
-msgid ""
-"This error does *not* mean that you have run out of disk space.  It occurs when either the system limit for the maximum number of semaphore sets (SEMMNI), or the system wide maximum number of semaphores (SEMMNS), would be exceeded.  You need to raise the respective kernel parameter.  Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its max_connections parameter.\n"
-"The PostgreSQL documentation contains more information about configuring your system for PostgreSQL."
-msgstr ""
-"Este error *no* significa que se haya quedado sin espacio en disco.\n"
-"Ocurre cuando se alcanza el límite del sistema del número de semáforos (SEMMNI), o bien cuando se excede el total de semáforos del sistema (SEMMNS).Necesita incrementar el parámetro respectivo del kernel.  Alternativamente, reduzca el consumo de semáforos de PostgreSQL reduciendo el parámetro max_connections.\n"
-"La documentación de PostgreSQL contiene más información acerca de cómo configurar su sistema para PostgreSQL."
+msgid "both default and generation expression specified for column \"%s\" of table \"%s\""
+msgstr "tanto el valor por omisión como expresión de generación especificados para columna «%s» de tabla «%s»"
 
-#: port/sysv_sema.c:159
+#: parser/parse_utilcmd.c:834
 #, c-format
-msgid "You possibly need to raise your kernel's SEMVMX value to be at least %d.  Look into the PostgreSQL documentation for details."
-msgstr "Probablemente necesita incrementar el valor SEMVMX del kernel hasta al menos %d.  Examine la documentación de PostgreSQL para obtener más detalles."
+msgid "both identity and generation expression specified for column \"%s\" of table \"%s\""
+msgstr "tanto identidad como expresión de generación especificados para columna «%s» de tabla «%s»"
 
-#: port/win32/crashdump.c:121
+#: parser/parse_utilcmd.c:899
 #, c-format
-msgid "could not load dbghelp.dll, cannot write crash dump\n"
-msgstr "no se pudo cargar dbghelp.dll, no se puede escribir el volcado de la caída\n"
+msgid "exclusion constraints are not supported on foreign tables"
+msgstr "las restricciones de exclusión no están soportadas en tablas foráneas"
 
-#: port/win32/crashdump.c:129
+#: parser/parse_utilcmd.c:905
 #, c-format
-msgid "could not load required functions in dbghelp.dll, cannot write crash dump\n"
-msgstr "no fue posible cargar las funciones requeridas desde dbghelp.dll, no se puede escribir el volcado de la caída\n"
+msgid "exclusion constraints are not supported on partitioned tables"
+msgstr "las restricciones de exclusión no están soportadas en tablas particionadas"
 
-#: port/win32/crashdump.c:160
+#: parser/parse_utilcmd.c:970
 #, c-format
-msgid "could not open crash dump file \"%s\" for writing: error code %lu\n"
-msgstr "no se pudo abrir el archivo del volcado de caída «%s» para escritura: código de error %lu\n"
+msgid "LIKE is not supported for creating foreign tables"
+msgstr "LIKE no está soportado para la creación de tablas foráneas"
 
-#: port/win32/crashdump.c:167
+#: parser/parse_utilcmd.c:1738 parser/parse_utilcmd.c:1847
 #, c-format
-msgid "wrote crash dump to file \"%s\"\n"
-msgstr "se escribió el volcado de caída en el archivo «%s».\n"
+msgid "Index \"%s\" contains a whole-row table reference."
+msgstr "El índice «%s» contiene una referencia a la fila completa (whole-row)."
 
-#: port/win32/crashdump.c:169
+#: parser/parse_utilcmd.c:2197
 #, c-format
-msgid "could not write crash dump to file \"%s\": error code %lu\n"
-msgstr "no se pudo escribir el volcado de caída al archivo «%s»: código de error %lu\n"
+msgid "cannot use an existing index in CREATE TABLE"
+msgstr "no se puede usar un índice existente en CREATE TABLE"
 
-#: port/win32/signal.c:196
+#: parser/parse_utilcmd.c:2217
 #, c-format
-msgid "could not create signal listener pipe for PID %d: error code %lu"
-msgstr "no se pudo crear tubería para escuchar señales para el PID %d: código de error %lu"
+msgid "index \"%s\" is already associated with a constraint"
+msgstr "el índice «%s» ya está asociado a una restricción"
 
-#: port/win32/signal.c:251
+#: parser/parse_utilcmd.c:2232
 #, c-format
-msgid "could not create signal listener pipe: error code %lu; retrying\n"
-msgstr "no se pudo crear tubería para escuchar señales: código de error %lu; reintentando\n"
+msgid "index \"%s\" is not valid"
+msgstr "el índice «%s» no es válido"
 
-#: port/win32_sema.c:104
+#: parser/parse_utilcmd.c:2238
 #, c-format
-msgid "could not create semaphore: error code %lu"
-msgstr "no se pudo crear semáforo: código de error %lu"
+msgid "\"%s\" is not a unique index"
+msgstr "«%s» no es un índice único"
 
-#: port/win32_sema.c:180
+#: parser/parse_utilcmd.c:2239 parser/parse_utilcmd.c:2246
+#: parser/parse_utilcmd.c:2253 parser/parse_utilcmd.c:2330
 #, c-format
-msgid "could not lock semaphore: error code %lu"
-msgstr "no se pudo bloquear semáforo: código de error %lu"
+msgid "Cannot create a primary key or unique constraint using such an index."
+msgstr "No se puede crear una restricción de llave primaria o única usando un índice así."
 
-#: port/win32_sema.c:200
+#: parser/parse_utilcmd.c:2245
 #, c-format
-msgid "could not unlock semaphore: error code %lu"
-msgstr "no se pudo desbloquear semáforo: código de error %lu"
+msgid "index \"%s\" contains expressions"
+msgstr "el índice «%s» contiene expresiones"
 
-#: port/win32_sema.c:230
+#: parser/parse_utilcmd.c:2252
 #, c-format
-msgid "could not try-lock semaphore: error code %lu"
-msgstr "no se pudo intentar-bloquear (try-lock) el semáforo: código de error %lu"
+msgid "\"%s\" is a partial index"
+msgstr "«%s» es un índice parcial"
 
-#: port/win32_shmem.c:144 port/win32_shmem.c:152 port/win32_shmem.c:164
-#: port/win32_shmem.c:179
+#: parser/parse_utilcmd.c:2264
 #, c-format
-msgid "could not enable Lock Pages in Memory user right: error code %lu"
-msgstr "no se pudo activar el privilegio «Bloquear páginas en la memoria»: código de error %lu"
+msgid "\"%s\" is a deferrable index"
+msgstr "«%s» no es un índice postergable (deferrable)"
 
-#: port/win32_shmem.c:145 port/win32_shmem.c:153 port/win32_shmem.c:165
-#: port/win32_shmem.c:180
+#: parser/parse_utilcmd.c:2265
 #, c-format
-msgid "Failed system call was %s."
-msgstr "La llamada a sistema fallida fue %s."
+msgid "Cannot create a non-deferrable constraint using a deferrable index."
+msgstr "No se puede crear una restricción no postergable usando un índice postergable."
 
-#: port/win32_shmem.c:175
+#: parser/parse_utilcmd.c:2329
 #, c-format
-msgid "could not enable Lock Pages in Memory user right"
-msgstr "no se pudo activar el privilegio «Bloquear páginas en la memoria»"
+msgid "index \"%s\" column number %d does not have default sorting behavior"
+msgstr "el índice «%s» columna número %d no tiene comportamiento de ordenamiento por omisión"
 
-#: port/win32_shmem.c:176
+#: parser/parse_utilcmd.c:2486
 #, c-format
-msgid "Assign Lock Pages in Memory user right to the Windows user account which runs PostgreSQL."
-msgstr "Asigne el privilegio «Bloquear páginas en la memoria» a la cuenta de usuario de Windows que ejecuta PostgreSQL."
+msgid "column \"%s\" appears twice in primary key constraint"
+msgstr "la columna «%s» aparece dos veces en llave primaria"
 
-#: port/win32_shmem.c:233
+#: parser/parse_utilcmd.c:2492
 #, c-format
-msgid "the processor does not support large pages"
-msgstr "el procesador no soporta páginas grandes"
+msgid "column \"%s\" appears twice in unique constraint"
+msgstr "la columna «%s» aparece dos veces en restricción unique"
 
-#: port/win32_shmem.c:235 port/win32_shmem.c:240
+#: parser/parse_utilcmd.c:2845
 #, c-format
-msgid "disabling huge pages"
-msgstr "desactivando «huge pages»"
+msgid "index expressions and predicates can refer only to the table being indexed"
+msgstr "las expresiones y predicados de índice sólo pueden referirse a la tabla en indexación"
 
-#: port/win32_shmem.c:302 port/win32_shmem.c:338 port/win32_shmem.c:356
+#: parser/parse_utilcmd.c:2891
 #, c-format
-msgid "could not create shared memory segment: error code %lu"
-msgstr "no se pudo crear el segmento de memoria compartida: código de error %lu"
+msgid "rules on materialized views are not supported"
+msgstr "las reglas en vistas materializadas no están soportadas"
 
-#: port/win32_shmem.c:303
+#: parser/parse_utilcmd.c:2954
 #, c-format
-msgid "Failed system call was CreateFileMapping(size=%zu, name=%s)."
-msgstr "La llamada a sistema fallida fue CreateFileMapping(size=%zu, name=%s)."
+msgid "rule WHERE condition cannot contain references to other relations"
+msgstr "la condición WHERE de la regla no puede contener referencias a otras relaciones"
 
-#: port/win32_shmem.c:328
+#: parser/parse_utilcmd.c:3028
 #, c-format
-msgid "pre-existing shared memory block is still in use"
-msgstr "el bloque de memoria compartida preexistente aún está en uso"
+msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions"
+msgstr "las reglas con condiciones WHERE sólo pueden tener acciones SELECT, INSERT, UPDATE o DELETE"
 
-#: port/win32_shmem.c:329
+#: parser/parse_utilcmd.c:3046 parser/parse_utilcmd.c:3147
+#: rewrite/rewriteHandler.c:503 rewrite/rewriteManip.c:1018
 #, c-format
-msgid "Check if there are any old server processes still running, and terminate them."
-msgstr "Verifique si hay procesos de servidor antiguos aún en funcionamiento, y termínelos."
+msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
+msgstr "las sentencias UNION/INTERSECT/EXCEPT condicionales no están implementadas"
 
-#: port/win32_shmem.c:339
+#: parser/parse_utilcmd.c:3064
 #, c-format
-msgid "Failed system call was DuplicateHandle."
-msgstr "La llamada a sistema fallida fue DuplicateHandle."
+msgid "ON SELECT rule cannot use OLD"
+msgstr "una regla ON SELECT no puede usar OLD"
 
-#: port/win32_shmem.c:357
+#: parser/parse_utilcmd.c:3068
 #, c-format
-msgid "Failed system call was MapViewOfFileEx."
-msgstr "La llamada a sistema fallida fue MapViewOfFileEx."
+msgid "ON SELECT rule cannot use NEW"
+msgstr "una regla ON SELECT no puede usar NEW"
 
-#: postmaster/autovacuum.c:406
+#: parser/parse_utilcmd.c:3077
 #, c-format
-msgid "could not fork autovacuum launcher process: %m"
-msgstr "no se pudo iniciar el lanzador autovacuum: %m"
+msgid "ON INSERT rule cannot use OLD"
+msgstr "una regla ON INSERT no puede usar OLD"
 
-#: postmaster/autovacuum.c:442
+#: parser/parse_utilcmd.c:3083
 #, c-format
-msgid "autovacuum launcher started"
-msgstr "lanzador de autovacuum iniciado"
+msgid "ON DELETE rule cannot use NEW"
+msgstr "una regla ON DELETE no puede usar NEW"
 
-#: postmaster/autovacuum.c:839
+#: parser/parse_utilcmd.c:3111
 #, c-format
-msgid "autovacuum launcher shutting down"
-msgstr "lanzador de autovacuum apagándose"
+msgid "cannot refer to OLD within WITH query"
+msgstr "no se puede hacer referencia a OLD dentro de una consulta WITH"
 
-#: postmaster/autovacuum.c:1477
+#: parser/parse_utilcmd.c:3118
 #, c-format
-msgid "could not fork autovacuum worker process: %m"
-msgstr "no se pudo lanzar el proceso «autovacuum worker»: %m"
+msgid "cannot refer to NEW within WITH query"
+msgstr "no se puede hacer referencia a NEW dentro de una consulta WITH"
 
-#: postmaster/autovacuum.c:1686
+#: parser/parse_utilcmd.c:3577
 #, c-format
-msgid "autovacuum: processing database \"%s\""
-msgstr "autovacuum: procesando la base de datos «%s»"
+msgid "misplaced DEFERRABLE clause"
+msgstr "cláusula DEFERRABLE mal puesta"
 
-#: postmaster/autovacuum.c:2256
+#: parser/parse_utilcmd.c:3582 parser/parse_utilcmd.c:3597
 #, c-format
-msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\""
-msgstr "autovacuum: eliminando tabla temporal huérfana «%s.%s.%s»"
+msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
+msgstr "no se permiten múltiples cláusulas DEFERRABLE/NOT DEFERRABLE"
 
-#: postmaster/autovacuum.c:2485
+#: parser/parse_utilcmd.c:3592
 #, c-format
-msgid "automatic vacuum of table \"%s.%s.%s\""
-msgstr "vacuum automático de la tabla «%s.%s.%s»"
+msgid "misplaced NOT DEFERRABLE clause"
+msgstr "la cláusula NOT DEFERRABLE está mal puesta"
 
-#: postmaster/autovacuum.c:2488
+#: parser/parse_utilcmd.c:3613
 #, c-format
-msgid "automatic analyze of table \"%s.%s.%s\""
-msgstr "análisis automático de la tabla «%s.%s.%s»"
+msgid "misplaced INITIALLY DEFERRED clause"
+msgstr "la cláusula INITIALLY DEFERRED está mal puesta"
 
-#: postmaster/autovacuum.c:2681
+#: parser/parse_utilcmd.c:3618 parser/parse_utilcmd.c:3644
 #, c-format
-msgid "processing work entry for relation \"%s.%s.%s\""
-msgstr "procesando elemento de tarea de la tabla «%s.%s.%s»"
+msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
+msgstr "no se permiten múltiples cláusulas INITIALLY IMMEDIATE/DEFERRED"
 
-#: postmaster/autovacuum.c:3285
+#: parser/parse_utilcmd.c:3639
 #, c-format
-msgid "autovacuum not started because of misconfiguration"
-msgstr "autovacuum no fue iniciado debido a un error de configuración"
+msgid "misplaced INITIALLY IMMEDIATE clause"
+msgstr "la cláusula INITIALLY IMMEDIATE está mal puesta"
 
-#: postmaster/autovacuum.c:3286
+#: parser/parse_utilcmd.c:3830
 #, c-format
-msgid "Enable the \"track_counts\" option."
-msgstr "Active la opción «track_counts»."
+msgid "CREATE specifies a schema (%s) different from the one being created (%s)"
+msgstr "CREATE especifica un esquema (%s) diferente del que se está creando (%s)"
 
-#: postmaster/bgworker.c:394 postmaster/bgworker.c:841
+#: parser/parse_utilcmd.c:3865
 #, c-format
-msgid "registering background worker \"%s\""
-msgstr "registrando el proceso ayudante «%s»"
+msgid "\"%s\" is not a partitioned table"
+msgstr "«%s» no es una tabla particionada"
 
-#: postmaster/bgworker.c:426
+#: parser/parse_utilcmd.c:3872
 #, c-format
-msgid "unregistering background worker \"%s\""
-msgstr "des-registrando el proceso ayudante «%s»"
+msgid "table \"%s\" is not partitioned"
+msgstr "«la tabla %s» no está particionada"
 
-#: postmaster/bgworker.c:591
+#: parser/parse_utilcmd.c:3879
 #, c-format
-msgid "background worker \"%s\": must attach to shared memory in order to request a database connection"
-msgstr "proceso ayudante «%s»: debe acoplarse a memoria compartida para poder solicitar una conexión a base de datos"
+msgid "index \"%s\" is not partitioned"
+msgstr "el índice «%s» no está particionado"
 
-#: postmaster/bgworker.c:600
+#: parser/parse_utilcmd.c:3919
 #, c-format
-msgid "background worker \"%s\": cannot request database access if starting at postmaster start"
-msgstr "proceso ayudante «%s»: no se puede solicitar una conexión a base de datos si está iniciando en el momento de inicio de postmaster"
+msgid "a hash-partitioned table may not have a default partition"
+msgstr "una tabla particionada por hash no puede tener una partición default"
 
-#: postmaster/bgworker.c:614
+#: parser/parse_utilcmd.c:3936
 #, c-format
-msgid "background worker \"%s\": invalid restart interval"
-msgstr "proceso ayudante «%s»: intervalo de reinicio no válido"
+msgid "invalid bound specification for a hash partition"
+msgstr "especificación de borde no válida para partición de hash"
 
-#: postmaster/bgworker.c:629
+#: parser/parse_utilcmd.c:3942 partitioning/partbounds.c:4640
 #, c-format
-msgid "background worker \"%s\": parallel workers may not be configured for restart"
-msgstr "proceso ayudante «%s»: los ayudantes paralelos no pueden ser configurados «restart»"
+msgid "modulus for hash partition must be a positive integer"
+msgstr "el módulo para una partición hash debe ser un entero positivo"
 
-#: postmaster/bgworker.c:653
+#: parser/parse_utilcmd.c:3949 partitioning/partbounds.c:4648
 #, c-format
-msgid "terminating background worker \"%s\" due to administrator command"
-msgstr "terminando el proceso ayudante «%s» debido a una orden del administrador"
+msgid "remainder for hash partition must be less than modulus"
+msgstr "remanente en partición hash debe ser menor que el módulo"
 
-#: postmaster/bgworker.c:849
+#: parser/parse_utilcmd.c:3962
 #, c-format
-msgid "background worker \"%s\": must be registered in shared_preload_libraries"
-msgstr "proceso ayudante «%s»: debe ser registrado en shared_preload_libraries"
+msgid "invalid bound specification for a list partition"
+msgstr "especificación de borde no válida para partición de lista"
 
-#: postmaster/bgworker.c:861
+#: parser/parse_utilcmd.c:4015
 #, c-format
-msgid "background worker \"%s\": only dynamic background workers can request notification"
-msgstr "proceso ayudante «%s»: sólo los ayudantes dinámicos pueden pedir notificaciones"
+msgid "invalid bound specification for a range partition"
+msgstr "especificación de borde no válida para partición de rango"
 
-#: postmaster/bgworker.c:876
+#: parser/parse_utilcmd.c:4021
 #, c-format
-msgid "too many background workers"
-msgstr "demasiados procesos ayudantes"
+msgid "FROM must specify exactly one value per partitioning column"
+msgstr "FROM debe especificar exactamente un valor por cada columna de particionado"
 
-#: postmaster/bgworker.c:877
+#: parser/parse_utilcmd.c:4025
 #, c-format
-msgid "Up to %d background worker can be registered with the current settings."
-msgid_plural "Up to %d background workers can be registered with the current settings."
-msgstr[0] "Hasta %d proceso ayudante puede registrarse con la configuración actual."
-msgstr[1] "Hasta %d procesos ayudantes pueden registrarse con la configuración actual."
+msgid "TO must specify exactly one value per partitioning column"
+msgstr "TO debe especificar exactamente un valor por cada columna de particionado"
 
-# FIXME a %s would be nice here
-#: postmaster/bgworker.c:881
+#: parser/parse_utilcmd.c:4139
 #, c-format
-msgid "Consider increasing the configuration parameter \"max_worker_processes\"."
-msgstr "Considere incrementar el parámetro de configuración «max_worker_processes»."
+msgid "cannot specify NULL in range bound"
+msgstr "no se puede especificar NULL en borde de rango"
 
-#: postmaster/checkpointer.c:418
+#: parser/parse_utilcmd.c:4188
 #, c-format
-msgid "checkpoints are occurring too frequently (%d second apart)"
-msgid_plural "checkpoints are occurring too frequently (%d seconds apart)"
-msgstr[0] "los puntos de control están ocurriendo con demasiada frecuencia (cada %d segundo)"
-msgstr[1] "los puntos de control están ocurriendo con demasiada frecuencia (cada %d segundos)"
+msgid "every bound following MAXVALUE must also be MAXVALUE"
+msgstr "cada borde que sigue a un MAXVALUE debe ser también MAXVALUE"
 
-# FIXME a %s would be nice here
-#: postmaster/checkpointer.c:422
+#: parser/parse_utilcmd.c:4195
 #, c-format
-msgid "Consider increasing the configuration parameter \"max_wal_size\"."
-msgstr "Considere incrementar el parámetro de configuración «max_wal_size»."
+msgid "every bound following MINVALUE must also be MINVALUE"
+msgstr "cada borde que siga a un MINVALUE debe ser también MINVALUE"
 
-#: postmaster/checkpointer.c:1032
+#: parser/parse_utilcmd.c:4237
 #, c-format
-msgid "checkpoint request failed"
-msgstr "falló la petición de punto de control"
+msgid "could not determine which collation to use for partition bound expression"
+msgstr "no se pudo determinar qué ordenamiento (collation) usar para la expresión de borde de particionamiento"
 
-#: postmaster/checkpointer.c:1033
+#: parser/parse_utilcmd.c:4254
 #, c-format
-msgid "Consult recent messages in the server log for details."
-msgstr "Vea los mensajes recientes en el registro del servidor para obtener más detalles."
+msgid "collation of partition bound value for column \"%s\" does not match partition key collation \"%s\""
+msgstr "el ordenamiento (collation) del valor de borde de partición para la columna «%s» no coincide con el ordenamiento de la llave de particionamiento «%s»"
 
-#: postmaster/checkpointer.c:1217
+#: parser/parse_utilcmd.c:4271
 #, c-format
-msgid "compacted fsync request queue from %d entries to %d entries"
-msgstr "la cola de peticiones de fsync fue compactada de %d a %d elementos"
+msgid "specified value cannot be cast to type %s for column \"%s\""
+msgstr "el valor especificado no puede ser convertido al tipo %s para la columna «%s»"
 
-#: postmaster/pgarch.c:155
-#, c-format
-msgid "could not fork archiver: %m"
-msgstr "no se pudo lanzar el proceso archivador: %m"
+#: parser/parser.c:228
+msgid "UESCAPE must be followed by a simple string literal"
+msgstr "UESCAPE debe ser seguido por un literal de cadena simple"
 
-#: postmaster/pgarch.c:425
+#: parser/parser.c:233
+msgid "invalid Unicode escape character"
+msgstr "carácter de escape Unicode no válido"
+
+#: parser/parser.c:302 scan.l:1329
 #, c-format
-msgid "archive_mode enabled, yet archive_command is not set"
-msgstr "archive_mode activado, pero archive_command no está definido"
+msgid "invalid Unicode escape value"
+msgstr "valor de escape Unicode no válido"
 
-#: postmaster/pgarch.c:447
+#: parser/parser.c:449 scan.l:677
 #, c-format
-msgid "removed orphan archive status file \"%s\""
-msgstr "eliminando archivo de estado huérfano «%s»"
+msgid "invalid Unicode escape"
+msgstr "valor de escape Unicode no válido"
 
-#: postmaster/pgarch.c:457
+#: parser/parser.c:450
 #, c-format
-msgid "removal of orphan archive status file \"%s\" failed too many times, will try again later"
-msgstr "la eliminación del archivo de estado huérfano «%s» falló demasiadas veces, se tratará de nuevo después"
+msgid "Unicode escapes must be \\XXXX or \\+XXXXXX."
+msgstr "Los escapes Unicode deben ser \\XXXX o \\+XXXXXX."
 
-#: postmaster/pgarch.c:493
+#: parser/parser.c:478 scan.l:638 scan.l:654 scan.l:670
 #, c-format
-msgid "archiving write-ahead log file \"%s\" failed too many times, will try again later"
-msgstr "el archivado del archivo de WAL «%s» falló demasiadas veces, se tratará de nuevo más tarde"
+msgid "invalid Unicode surrogate pair"
+msgstr "par sustituto (surrogate) Unicode no válido"
 
-#: postmaster/pgarch.c:594
+#: parser/scansup.c:203
 #, c-format
-msgid "archive command failed with exit code %d"
-msgstr "la orden de archivado falló con código de retorno %d"
+msgid "identifier \"%s\" will be truncated to \"%s\""
+msgstr "el identificador «%s» se truncará a «%s»"
 
-#: postmaster/pgarch.c:596 postmaster/pgarch.c:606 postmaster/pgarch.c:612
-#: postmaster/pgarch.c:621
+#: partitioning/partbounds.c:2821
 #, c-format
-msgid "The failed archive command was: %s"
-msgstr "La orden fallida era: «%s»"
+msgid "partition \"%s\" conflicts with existing default partition \"%s\""
+msgstr "la partición «%s» está en conflicto con la partición default «%s» existente"
 
-#: postmaster/pgarch.c:603
+#: partitioning/partbounds.c:2880
 #, c-format
-msgid "archive command was terminated by exception 0x%X"
-msgstr "la orden de archivado fue terminada por una excepción 0x%X"
+msgid "every hash partition modulus must be a factor of the next larger modulus"
+msgstr "cada módulo de partición hash debe ser un factor del próximo mayor módulo"
 
-#: postmaster/pgarch.c:605 postmaster/postmaster.c:3742
+#: partitioning/partbounds.c:2976
 #, 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."
+msgid "empty range bound specified for partition \"%s\""
+msgstr "borde de rango vació especificado para la partición «%s»"
 
-#: postmaster/pgarch.c:610
+#: partitioning/partbounds.c:2978
 #, c-format
-msgid "archive command was terminated by signal %d: %s"
-msgstr "la orden de archivado fue terminada por una señal %d: %s"
+msgid "Specified lower bound %s is greater than or equal to upper bound %s."
+msgstr "El límite inferior %s especificado es mayor o igual al límite superior %s."
 
-#: postmaster/pgarch.c:619
+#: partitioning/partbounds.c:3075
 #, c-format
-msgid "archive command exited with unrecognized status %d"
-msgstr "la orden de archivado fue terminada con código %d no reconocido"
+msgid "partition \"%s\" would overlap partition \"%s\""
+msgstr "la partición «%s» traslaparía con la partición «%s»"
 
-#: postmaster/pgstat.c:419
+#: partitioning/partbounds.c:3192
 #, c-format
-msgid "could not resolve \"localhost\": %s"
-msgstr "no se pudo resolver «localhost»: %s"
+msgid "skipped scanning foreign table \"%s\" which is a partition of default partition \"%s\""
+msgstr "se omitió recorrer la tabla foránea «%s» que es una partición de la partición default «%s»"
 
-#: postmaster/pgstat.c:442
+#: partitioning/partbounds.c:4644
 #, c-format
-msgid "trying another address for the statistics collector"
-msgstr "intentando otra dirección para el recolector de estadísticas"
+msgid "remainder for hash partition must be a non-negative integer"
+msgstr "remanente en partición hash debe ser un entero no negativo"
 
-#: postmaster/pgstat.c:451
+#: partitioning/partbounds.c:4668
 #, c-format
-msgid "could not create socket for statistics collector: %m"
-msgstr "no se pudo crear el socket para el recolector de estadísticas: %m"
+msgid "\"%s\" is not a hash partitioned table"
+msgstr "«%s» es una tabla particionada por hash"
 
-#: postmaster/pgstat.c:463
+#: partitioning/partbounds.c:4679 partitioning/partbounds.c:4796
 #, c-format
-msgid "could not bind socket for statistics collector: %m"
-msgstr "no se pudo enlazar (bind) el socket para el recolector de estadísticas: %m"
+msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)"
+msgstr "el número de columnas de particionamiento (%d) no coincide con el número de llaves de particionamiento provistas (%d)"
 
-#: postmaster/pgstat.c:474
+#: partitioning/partbounds.c:4701 partitioning/partbounds.c:4733
 #, c-format
-msgid "could not get address of socket for statistics collector: %m"
-msgstr "no se pudo obtener la dirección del socket de estadísticas: %m"
+msgid "column %d of the partition key has type \"%s\", but supplied value is of type \"%s\""
+msgstr "la columna %d de la llave de particionamiento tiene tipo «%s», pero el valor dado es de tipo «%s»"
 
-#: postmaster/pgstat.c:490
+#: port/pg_sema.c:209 port/pg_shmem.c:640 port/posix_sema.c:209
+#: port/sysv_sema.c:327 port/sysv_shmem.c:640
 #, c-format
-msgid "could not connect socket for statistics collector: %m"
-msgstr "no se pudo conectar el socket para el recolector de estadísticas: %m"
+msgid "could not stat data directory \"%s\": %m"
+msgstr "no se pudo hacer stat al directorio de datos «%s»: %m"
 
-#: postmaster/pgstat.c:511
+#: port/pg_shmem.c:216 port/sysv_shmem.c:216
 #, c-format
-msgid "could not send test message on socket for statistics collector: %m"
-msgstr "no se pudo enviar el mensaje de prueba al recolector de estadísticas: %m"
+msgid "could not create shared memory segment: %m"
+msgstr "no se pudo crear el segmento de memoria compartida: %m"
 
-#: postmaster/pgstat.c:537
+#: port/pg_shmem.c:217 port/sysv_shmem.c:217
 #, c-format
-msgid "select() failed in statistics collector: %m"
-msgstr "select() falló en el recolector de estadísticas: %m"
+msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)."
+msgstr "La llamada a sistema fallida fue shmget(key=%lu, size=%zu, 0%o)."
 
-#: postmaster/pgstat.c:552
+#: port/pg_shmem.c:221 port/sysv_shmem.c:221
 #, c-format
-msgid "test message did not get through on socket for statistics collector"
-msgstr "el mensaje de prueba al recolector de estadísticas no ha sido recibido en el socket"
+msgid ""
+"This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter, or possibly that it is less than your kernel's SHMMIN parameter.\n"
+"The PostgreSQL documentation contains more information about shared memory configuration."
+msgstr ""
+"Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedió el parámetro SHMMAX del kernel, o posiblemente que es menor que el parámetro SHMMIN del kernel.\n"
+"La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida."
 
-#: postmaster/pgstat.c:567
+#: port/pg_shmem.c:228 port/sysv_shmem.c:228
 #, c-format
-msgid "could not receive test message on socket for statistics collector: %m"
-msgstr "no se pudo recibir el mensaje de prueba en el socket del recolector de estadísticas: %m"
+msgid ""
+"This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMALL parameter.  You might need to reconfigure the kernel with larger SHMALL.\n"
+"The PostgreSQL documentation contains more information about shared memory configuration."
+msgstr ""
+"Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedió el parámetro SHMALL del kernel.  Puede ser necesario reconfigurar el kernel con un SHMALL mayor.\n"
+"La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida."
 
-#: postmaster/pgstat.c:577
+#: port/pg_shmem.c:234 port/sysv_shmem.c:234
 #, c-format
-msgid "incorrect test message transmission on socket for statistics collector"
-msgstr "transmisión del mensaje de prueba incorrecta en el socket del recolector de estadísticas"
+msgid ""
+"This error does *not* mean that you have run out of disk space.  It occurs either if all available shared memory IDs have been taken, in which case you need to raise the SHMMNI parameter in your kernel, or because the system's overall limit for shared memory has been reached.\n"
+"The PostgreSQL documentation contains more information about shared memory configuration."
+msgstr ""
+"Este error *no* significa que se haya quedado sin espacio en disco.  Ocurre cuando se han usado todos los IDs de memoria compartida disponibles, en cuyo caso puede incrementar el parámetro SHMMNI del kernel, o bien porque se ha alcanzado el límite total de memoria compartida.\n"
+"La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida."
 
-#: postmaster/pgstat.c:600
+#: port/pg_shmem.c:578 port/sysv_shmem.c:578
 #, c-format
-msgid "could not set statistics collector socket to nonblocking mode: %m"
-msgstr "no se pudo poner el socket de estadísticas en modo no bloqueante: %m"
+msgid "could not map anonymous shared memory: %m"
+msgstr "no se pudo mapear memoria compartida anónima: %m"
 
-#: postmaster/pgstat.c:642
+#: port/pg_shmem.c:580 port/sysv_shmem.c:580
 #, c-format
-msgid "disabling statistics collector for lack of working socket"
-msgstr "desactivando el recolector de estadísticas por falla del socket"
+msgid "This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently %zu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections."
+msgstr "Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedía la memoria disponible, el espacio de intercambio (swap), o las huge pages.  Para reducir el tamaño de la petición (actualmente %zu bytes), reduzca el uso de memoria compartida de PostgreSQL, quizás reduciendo el parámetro shared_buffers o el parámetro max_connections."
 
-#: postmaster/pgstat.c:789
+#: port/pg_shmem.c:648 port/sysv_shmem.c:648
 #, c-format
-msgid "could not fork statistics collector: %m"
-msgstr "no se pudo crear el proceso para el recolector de estadísticas: %m"
+msgid "huge pages not supported on this platform"
+msgstr "las huge pages no están soportados en esta plataforma"
 
-#: postmaster/pgstat.c:1376
+#: port/pg_shmem.c:709 port/sysv_shmem.c:709 utils/init/miscinit.c:1137
 #, c-format
-msgid "unrecognized reset target: \"%s\""
-msgstr "destino de reset no reconocido: «%s»"
+msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use"
+msgstr "el bloque de memoria compartida preexistente (clave %lu, ID %lu) aún está en uso"
 
-#: postmaster/pgstat.c:1377
+#: port/pg_shmem.c:712 port/sysv_shmem.c:712 utils/init/miscinit.c:1139
 #, c-format
-msgid "Target must be \"archiver\" or \"bgwriter\"."
-msgstr "El destino debe ser «archiver» o «bgwriter»."
+msgid "Terminate any old server processes associated with data directory \"%s\"."
+msgstr "Termine cualquier proceso de servidor asociado al directorio de datos «%s»."
 
-#: postmaster/pgstat.c:4561
+#: port/sysv_sema.c:124
 #, c-format
-msgid "could not read statistics message: %m"
-msgstr "no se pudo leer un mensaje de estadísticas: %m"
+msgid "could not create semaphores: %m"
+msgstr "no se pudo crear semáforos: %m"
 
-#: postmaster/pgstat.c:4883 postmaster/pgstat.c:5046
+#: port/sysv_sema.c:125
 #, c-format
-msgid "could not open temporary statistics file \"%s\": %m"
-msgstr "no se pudo abrir el archivo temporal de estadísticas «%s»: %m"
+msgid "Failed system call was semget(%lu, %d, 0%o)."
+msgstr "La llamada a sistema fallida fue semget(%lu, %d, 0%o)."
 
-#: postmaster/pgstat.c:4956 postmaster/pgstat.c:5091
+#: port/sysv_sema.c:129
 #, c-format
-msgid "could not write temporary statistics file \"%s\": %m"
-msgstr "no se pudo escribir el archivo temporal de estadísticas «%s»: %m"
+msgid ""
+"This error does *not* mean that you have run out of disk space.  It occurs when either the system limit for the maximum number of semaphore sets (SEMMNI), or the system wide maximum number of semaphores (SEMMNS), would be exceeded.  You need to raise the respective kernel parameter.  Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its max_connections parameter.\n"
+"The PostgreSQL documentation contains more information about configuring your system for PostgreSQL."
+msgstr ""
+"Este error *no* significa que se haya quedado sin espacio en disco.\n"
+"Ocurre cuando se alcanza el límite del sistema del número de semáforos (SEMMNI), o bien cuando se excede el total de semáforos del sistema (SEMMNS).Necesita incrementar el parámetro respectivo del kernel.  Alternativamente, reduzca el consumo de semáforos de PostgreSQL reduciendo el parámetro max_connections.\n"
+"La documentación de PostgreSQL contiene más información acerca de cómo configurar su sistema para PostgreSQL."
 
-#: postmaster/pgstat.c:4965 postmaster/pgstat.c:5100
+#: port/sysv_sema.c:159
 #, c-format
-msgid "could not close temporary statistics file \"%s\": %m"
-msgstr "no se pudo cerrar el archivo temporal de estadísticas «%s»: %m"
+msgid "You possibly need to raise your kernel's SEMVMX value to be at least %d.  Look into the PostgreSQL documentation for details."
+msgstr "Probablemente necesita incrementar el valor SEMVMX del kernel hasta al menos %d.  Examine la documentación de PostgreSQL para obtener más detalles."
 
-#: postmaster/pgstat.c:4973 postmaster/pgstat.c:5108
+#: port/win32/crashdump.c:121
 #, c-format
-msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
-msgstr "no se pudo cambiar el nombre al archivo temporal de estadísticas de «%s» a «%s»: %m"
+msgid "could not load dbghelp.dll, cannot write crash dump\n"
+msgstr "no se pudo cargar dbghelp.dll, no se puede escribir el volcado de la caída\n"
 
-#: postmaster/pgstat.c:5205 postmaster/pgstat.c:5422 postmaster/pgstat.c:5576
+#: port/win32/crashdump.c:129
 #, c-format
-msgid "could not open statistics file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de estadísticas «%s»: %m"
+msgid "could not load required functions in dbghelp.dll, cannot write crash dump\n"
+msgstr "no fue posible cargar las funciones requeridas desde dbghelp.dll, no se puede escribir el volcado de la caída\n"
 
-#: postmaster/pgstat.c:5217 postmaster/pgstat.c:5227 postmaster/pgstat.c:5248
-#: postmaster/pgstat.c:5259 postmaster/pgstat.c:5281 postmaster/pgstat.c:5296
-#: postmaster/pgstat.c:5359 postmaster/pgstat.c:5434 postmaster/pgstat.c:5454
-#: postmaster/pgstat.c:5472 postmaster/pgstat.c:5488 postmaster/pgstat.c:5506
-#: postmaster/pgstat.c:5522 postmaster/pgstat.c:5588 postmaster/pgstat.c:5600
-#: postmaster/pgstat.c:5612 postmaster/pgstat.c:5623 postmaster/pgstat.c:5648
-#: postmaster/pgstat.c:5670
+#: port/win32/crashdump.c:160
 #, c-format
-msgid "corrupted statistics file \"%s\""
-msgstr "el archivo de estadísticas «%s» está corrupto"
+msgid "could not open crash dump file \"%s\" for writing: error code %lu\n"
+msgstr "no se pudo abrir el archivo del volcado de caída «%s» para escritura: código de error %lu\n"
 
-#: postmaster/pgstat.c:5799
+#: port/win32/crashdump.c:167
 #, c-format
-msgid "using stale statistics instead of current ones because stats collector is not responding"
-msgstr "usando estadísticas añejas en vez de actualizadas porque el recolector de estadísticas no está respondiendo"
+msgid "wrote crash dump to file \"%s\"\n"
+msgstr "se escribió el volcado de caída en el archivo «%s».\n"
 
-#: postmaster/pgstat.c:6129
+#: port/win32/crashdump.c:169
 #, c-format
-msgid "database hash table corrupted during cleanup --- abort"
-msgstr "el hash de bases de datos se corrompió durante la finalización; abortando"
+msgid "could not write crash dump to file \"%s\": error code %lu\n"
+msgstr "no se pudo escribir el volcado de caída al archivo «%s»: código de error %lu\n"
 
-#: postmaster/postmaster.c:733
+#: port/win32/signal.c:196
 #, c-format
-msgid "%s: invalid argument for option -f: \"%s\"\n"
-msgstr "%s: argumento no válido para la opción -f: «%s»\n"
+msgid "could not create signal listener pipe for PID %d: error code %lu"
+msgstr "no se pudo crear tubería para escuchar señales para el PID %d: código de error %lu"
 
-#: postmaster/postmaster.c:819
+#: port/win32/signal.c:251
 #, c-format
-msgid "%s: invalid argument for option -t: \"%s\"\n"
-msgstr "%s: argumento no válido para la opción -t: «%s»\n"
+msgid "could not create signal listener pipe: error code %lu; retrying\n"
+msgstr "no se pudo crear tubería para escuchar señales: código de error %lu; reintentando\n"
 
-#: postmaster/postmaster.c:870
+#: port/win32_sema.c:104
 #, c-format
-msgid "%s: invalid argument: \"%s\"\n"
-msgstr "%s: argumento no válido: «%s»\n"
+msgid "could not create semaphore: error code %lu"
+msgstr "no se pudo crear semáforo: código de error %lu"
 
-#: postmaster/postmaster.c:912
+#: port/win32_sema.c:180
 #, c-format
-msgid "%s: superuser_reserved_connections (%d) must be less than max_connections (%d)\n"
-msgstr "%s: superuser_reserved_connections (%d) debe ser menor que max_connections (%d)\n"
+msgid "could not lock semaphore: error code %lu"
+msgstr "no se pudo bloquear semáforo: código de error %lu"
 
-#: postmaster/postmaster.c:919
+#: port/win32_sema.c:200
 #, c-format
-msgid "WAL archival cannot be enabled when wal_level is \"minimal\""
-msgstr "el archivador de WAL no puede activarse cuando wal_level es «minimal»"
+msgid "could not unlock semaphore: error code %lu"
+msgstr "no se pudo desbloquear semáforo: código de error %lu"
 
-#: postmaster/postmaster.c:922
+#: port/win32_sema.c:230
 #, c-format
-msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or \"logical\""
-msgstr "el flujo de WAL (max_wal_senders > 0) requiere wal_level «replica» o «logical»"
+msgid "could not try-lock semaphore: error code %lu"
+msgstr "no se pudo intentar-bloquear (try-lock) el semáforo: código de error %lu"
 
-#: postmaster/postmaster.c:930
+#: port/win32_shmem.c:144 port/win32_shmem.c:152 port/win32_shmem.c:164
+#: port/win32_shmem.c:179
 #, c-format
-msgid "%s: invalid datetoken tables, please fix\n"
-msgstr "%s: las tablas de palabras clave de fecha no son válidas, arréglelas\n"
+msgid "could not enable Lock Pages in Memory user right: error code %lu"
+msgstr "no se pudo activar el privilegio «Bloquear páginas en la memoria»: código de error %lu"
 
-#: postmaster/postmaster.c:1047
+#: port/win32_shmem.c:145 port/win32_shmem.c:153 port/win32_shmem.c:165
+#: port/win32_shmem.c:180
 #, c-format
-msgid "could not create I/O completion port for child queue"
-msgstr "no se pudo crear el port E/S de reporte de completitud para la cola de procesos hijos"
+msgid "Failed system call was %s."
+msgstr "La llamada a sistema fallida fue %s."
 
-#: postmaster/postmaster.c:1113
+#: port/win32_shmem.c:175
 #, c-format
-msgid "ending log output to stderr"
-msgstr "terminando la salida de registro a stderr"
+msgid "could not enable Lock Pages in Memory user right"
+msgstr "no se pudo activar el privilegio «Bloquear páginas en la memoria»"
 
-#: postmaster/postmaster.c:1114
+#: port/win32_shmem.c:176
 #, c-format
-msgid "Future log output will go to log destination \"%s\"."
-msgstr "La salida futura del registro será enviada al destino de log «%s»."
+msgid "Assign Lock Pages in Memory user right to the Windows user account which runs PostgreSQL."
+msgstr "Asigne el privilegio «Bloquear páginas en la memoria» a la cuenta de usuario de Windows que ejecuta PostgreSQL."
 
-#: postmaster/postmaster.c:1125
+#: port/win32_shmem.c:233
 #, c-format
-msgid "starting %s"
-msgstr "iniciando %s"
+msgid "the processor does not support large pages"
+msgstr "el procesador no soporta páginas grandes"
 
-#: postmaster/postmaster.c:1154 postmaster/postmaster.c:1252
-#: utils/init/miscinit.c:1597
+#: port/win32_shmem.c:235 port/win32_shmem.c:240
 #, c-format
-msgid "invalid list syntax in parameter \"%s\""
-msgstr "la sintaxis de lista no es válida para el parámetro «%s»"
+msgid "disabling huge pages"
+msgstr "desactivando «huge pages»"
 
-#: postmaster/postmaster.c:1185
+#: port/win32_shmem.c:302 port/win32_shmem.c:338 port/win32_shmem.c:356
 #, c-format
-msgid "could not create listen socket for \"%s\""
-msgstr "no se pudo crear el socket de escucha para «%s»"
+msgid "could not create shared memory segment: error code %lu"
+msgstr "no se pudo crear el segmento de memoria compartida: código de error %lu"
 
-#: postmaster/postmaster.c:1191
+#: port/win32_shmem.c:303
 #, c-format
-msgid "could not create any TCP/IP sockets"
-msgstr "no se pudo crear ningún socket TCP/IP"
+msgid "Failed system call was CreateFileMapping(size=%zu, name=%s)."
+msgstr "La llamada a sistema fallida fue CreateFileMapping(size=%zu, name=%s)."
 
-#: postmaster/postmaster.c:1274
+#: port/win32_shmem.c:328
 #, c-format
-msgid "could not create Unix-domain socket in directory \"%s\""
-msgstr "no se pudo crear el socket de dominio Unix en el directorio «%s»"
+msgid "pre-existing shared memory block is still in use"
+msgstr "el bloque de memoria compartida preexistente aún está en uso"
 
-#: postmaster/postmaster.c:1280
+#: port/win32_shmem.c:329
 #, c-format
-msgid "could not create any Unix-domain sockets"
-msgstr "no se pudo crear ningún socket de dominio Unix"
+msgid "Check if there are any old server processes still running, and terminate them."
+msgstr "Verifique si hay procesos de servidor antiguos aún en funcionamiento, y termínelos."
 
-#: postmaster/postmaster.c:1292
+#: port/win32_shmem.c:339
 #, c-format
-msgid "no socket created for listening"
-msgstr "no se creó el socket de atención"
+msgid "Failed system call was DuplicateHandle."
+msgstr "La llamada a sistema fallida fue DuplicateHandle."
 
-#: postmaster/postmaster.c:1323
+#: port/win32_shmem.c:357
 #, c-format
-msgid "%s: could not change permissions of external PID file \"%s\": %s\n"
-msgstr "%s: no se pudo cambiar los permisos del archivo de PID externo «%s»: %s\n"
+msgid "Failed system call was MapViewOfFileEx."
+msgstr "La llamada a sistema fallida fue MapViewOfFileEx."
 
-#: postmaster/postmaster.c:1327
+#: postmaster/autovacuum.c:406
 #, c-format
-msgid "%s: could not write external PID file \"%s\": %s\n"
-msgstr "%s: no pudo escribir en el archivo externo de PID «%s»: %s\n"
+msgid "could not fork autovacuum launcher process: %m"
+msgstr "no se pudo iniciar el lanzador autovacuum: %m"
 
-#: postmaster/postmaster.c:1360 utils/init/postinit.c:215
+#: postmaster/autovacuum.c:442
 #, c-format
-msgid "could not load pg_hba.conf"
-msgstr "no se pudo cargar pg_hba.conf"
+msgid "autovacuum launcher started"
+msgstr "lanzador de autovacuum iniciado"
 
-#: postmaster/postmaster.c:1386
+#: postmaster/autovacuum.c:839
 #, c-format
-msgid "postmaster became multithreaded during startup"
-msgstr "postmaster se volvió multi-hilo durante la partida"
+msgid "autovacuum launcher shutting down"
+msgstr "lanzador de autovacuum apagándose"
 
-#: postmaster/postmaster.c:1387
+#: postmaster/autovacuum.c:1477
 #, c-format
-msgid "Set the LC_ALL environment variable to a valid locale."
-msgstr "Defina la variable de ambiente LC_ALL a un valor válido."
+msgid "could not fork autovacuum worker process: %m"
+msgstr "no se pudo lanzar el proceso «autovacuum worker»: %m"
 
-#: postmaster/postmaster.c:1488
+#: postmaster/autovacuum.c:1686
 #, c-format
-msgid "%s: could not locate matching postgres executable"
-msgstr "%s: no se pudo localizar el ejecutable postgres correspondiente"
+msgid "autovacuum: processing database \"%s\""
+msgstr "autovacuum: procesando la base de datos «%s»"
 
-#: postmaster/postmaster.c:1511 utils/misc/tzparser.c:340
+#: postmaster/autovacuum.c:2256
 #, c-format
-msgid "This may indicate an incomplete PostgreSQL installation, or that the file \"%s\" has been moved away from its proper location."
-msgstr "Esto puede indicar una instalación de PostgreSQL incompleta, o que el archivo «%s» ha sido movido de la ubicación adecuada."
+msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\""
+msgstr "autovacuum: eliminando tabla temporal huérfana «%s.%s.%s»"
 
-#: postmaster/postmaster.c:1538
+#: postmaster/autovacuum.c:2485
 #, c-format
-msgid ""
-"%s: could not find the database system\n"
-"Expected to find it in the directory \"%s\",\n"
-"but could not open file \"%s\": %s\n"
-msgstr ""
-"%s: no se pudo encontrar el sistema de base de datos\n"
-"Se esperaba encontrar en el directorio PGDATA «%s»,\n"
-"pero no se pudo abrir el archivo «%s»: %s\n"
+msgid "automatic vacuum of table \"%s.%s.%s\""
+msgstr "vacuum automático de la tabla «%s.%s.%s»"
 
-#: postmaster/postmaster.c:1715
+#: postmaster/autovacuum.c:2488
 #, c-format
-msgid "select() failed in postmaster: %m"
-msgstr "select() falló en postmaster: %m"
+msgid "automatic analyze of table \"%s.%s.%s\""
+msgstr "análisis automático de la tabla «%s.%s.%s»"
 
-#: postmaster/postmaster.c:1870
+#: postmaster/autovacuum.c:2681
 #, c-format
-msgid "performing immediate shutdown because data directory lock file is invalid"
-msgstr "ejecutando un apagado inmediato porque el archivo de bloqueo del directorio de datos no es válido"
+msgid "processing work entry for relation \"%s.%s.%s\""
+msgstr "procesando elemento de tarea de la tabla «%s.%s.%s»"
 
-#: postmaster/postmaster.c:1973 postmaster/postmaster.c:2004
+#: postmaster/autovacuum.c:3285
 #, c-format
-msgid "incomplete startup packet"
-msgstr "el paquete de inicio está incompleto"
+msgid "autovacuum not started because of misconfiguration"
+msgstr "autovacuum no fue iniciado debido a un error de configuración"
 
-#: postmaster/postmaster.c:1985
+#: postmaster/autovacuum.c:3286
 #, c-format
-msgid "invalid length of startup packet"
-msgstr "el de paquete de inicio tiene largo incorrecto"
+msgid "Enable the \"track_counts\" option."
+msgstr "Active la opción «track_counts»."
 
-#: postmaster/postmaster.c:2043
+#: postmaster/bgworker.c:405 postmaster/bgworker.c:900
 #, c-format
-msgid "failed to send SSL negotiation response: %m"
-msgstr "no se pudo enviar la respuesta de negociación SSL: %m"
+msgid "registering background worker \"%s\""
+msgstr "registrando el proceso ayudante «%s»"
 
-#: postmaster/postmaster.c:2074
+#: postmaster/bgworker.c:437
 #, c-format
-msgid "failed to send GSSAPI negotiation response: %m"
-msgstr "no se pudo enviar la respuesta de negociación GSSAPI: %m"
+msgid "unregistering background worker \"%s\""
+msgstr "des-registrando el proceso ayudante «%s»"
 
-#: postmaster/postmaster.c:2104
+#: postmaster/bgworker.c:650
 #, c-format
-msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
-msgstr "el protocolo %u.%u no está soportado: servidor soporta %u.0 hasta %u.%u"
+msgid "background worker \"%s\": must attach to shared memory in order to request a database connection"
+msgstr "proceso ayudante «%s»: debe acoplarse a memoria compartida para poder solicitar una conexión a base de datos"
 
-#: postmaster/postmaster.c:2168 utils/misc/guc.c:6769 utils/misc/guc.c:6805
-#: utils/misc/guc.c:6875 utils/misc/guc.c:8198 utils/misc/guc.c:11044
-#: utils/misc/guc.c:11078
+#: postmaster/bgworker.c:659
 #, c-format
-msgid "invalid value for parameter \"%s\": \"%s\""
-msgstr "valor no válido para el parámetro «%s»: «%s»"
+msgid "background worker \"%s\": cannot request database access if starting at postmaster start"
+msgstr "proceso ayudante «%s»: no se puede solicitar una conexión a base de datos si está iniciando en el momento de inicio de postmaster"
 
-#: postmaster/postmaster.c:2171
+#: postmaster/bgworker.c:673
 #, c-format
-msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"."
-msgstr "Los valores válidos son: «false», 0, «true», 1, «database»."
+msgid "background worker \"%s\": invalid restart interval"
+msgstr "proceso ayudante «%s»: intervalo de reinicio no válido"
 
-#: postmaster/postmaster.c:2216
+#: postmaster/bgworker.c:688
 #, c-format
-msgid "invalid startup packet layout: expected terminator as last byte"
-msgstr "el paquete de inicio no es válido: se esperaba un terminador en el último byte"
+msgid "background worker \"%s\": parallel workers may not be configured for restart"
+msgstr "proceso ayudante «%s»: los ayudantes paralelos no pueden ser configurados «restart»"
 
-#: postmaster/postmaster.c:2254
+#: postmaster/bgworker.c:712
 #, c-format
-msgid "no PostgreSQL user name specified in startup packet"
-msgstr "no se especifica un nombre de usuario en el paquete de inicio"
+msgid "terminating background worker \"%s\" due to administrator command"
+msgstr "terminando el proceso ayudante «%s» debido a una orden del administrador"
 
-#: postmaster/postmaster.c:2318
+#: postmaster/bgworker.c:908
 #, c-format
-msgid "the database system is starting up"
-msgstr "el sistema de base de datos está iniciándose"
+msgid "background worker \"%s\": must be registered in shared_preload_libraries"
+msgstr "proceso ayudante «%s»: debe ser registrado en shared_preload_libraries"
 
-#: postmaster/postmaster.c:2323
+#: postmaster/bgworker.c:920
 #, c-format
-msgid "the database system is shutting down"
-msgstr "el sistema de base de datos está apagándose"
+msgid "background worker \"%s\": only dynamic background workers can request notification"
+msgstr "proceso ayudante «%s»: sólo los ayudantes dinámicos pueden pedir notificaciones"
 
-#: postmaster/postmaster.c:2328
+#: postmaster/bgworker.c:935
 #, c-format
-msgid "the database system is in recovery mode"
-msgstr "el sistema de base de datos está en modo de recuperación"
+msgid "too many background workers"
+msgstr "demasiados procesos ayudantes"
 
-#: postmaster/postmaster.c:2333 storage/ipc/procarray.c:293
-#: storage/ipc/sinvaladt.c:297 storage/lmgr/proc.c:362
+#: postmaster/bgworker.c:936
 #, c-format
-msgid "sorry, too many clients already"
-msgstr "lo siento, ya tenemos demasiados clientes"
+msgid "Up to %d background worker can be registered with the current settings."
+msgid_plural "Up to %d background workers can be registered with the current settings."
+msgstr[0] "Hasta %d proceso ayudante puede registrarse con la configuración actual."
+msgstr[1] "Hasta %d procesos ayudantes pueden registrarse con la configuración actual."
 
-#: postmaster/postmaster.c:2423
+# FIXME a %s would be nice here
+#: postmaster/bgworker.c:940
 #, c-format
-msgid "wrong key in cancel request for process %d"
-msgstr "llave incorrecta en la petición de cancelación para el proceso %d"
+msgid "Consider increasing the configuration parameter \"max_worker_processes\"."
+msgstr "Considere incrementar el parámetro de configuración «max_worker_processes»."
 
-#: postmaster/postmaster.c:2435
+#: postmaster/checkpointer.c:418
 #, c-format
-msgid "PID %d in cancel request did not match any process"
-msgstr "el PID %d en la petición de cancelación no coincidió con ningún proceso"
+msgid "checkpoints are occurring too frequently (%d second apart)"
+msgid_plural "checkpoints are occurring too frequently (%d seconds apart)"
+msgstr[0] "los puntos de control están ocurriendo con demasiada frecuencia (cada %d segundo)"
+msgstr[1] "los puntos de control están ocurriendo con demasiada frecuencia (cada %d segundos)"
 
-#: postmaster/postmaster.c:2706
+# FIXME a %s would be nice here
+#: postmaster/checkpointer.c:422
 #, c-format
-msgid "received SIGHUP, reloading configuration files"
-msgstr "se recibió SIGHUP, volviendo a cargar archivos de configuración"
+msgid "Consider increasing the configuration parameter \"max_wal_size\"."
+msgstr "Considere incrementar el parámetro de configuración «max_wal_size»."
 
-#. translator: %s is a configuration file
-#: postmaster/postmaster.c:2732 postmaster/postmaster.c:2736
+#: postmaster/checkpointer.c:1032
 #, c-format
-msgid "%s was not reloaded"
-msgstr "%s no fue vuelto a cargar"
+msgid "checkpoint request failed"
+msgstr "falló la petición de punto de control"
 
-#: postmaster/postmaster.c:2746
+#: postmaster/checkpointer.c:1033
 #, c-format
-msgid "SSL configuration was not reloaded"
-msgstr "la configuración SSL no fue vuelta a cargar"
+msgid "Consult recent messages in the server log for details."
+msgstr "Vea los mensajes recientes en el registro del servidor para obtener más detalles."
 
-#: postmaster/postmaster.c:2802
+#: postmaster/checkpointer.c:1217
 #, c-format
-msgid "received smart shutdown request"
-msgstr "se recibió petición de apagado inteligente"
+msgid "compacted fsync request queue from %d entries to %d entries"
+msgstr "la cola de peticiones de fsync fue compactada de %d a %d elementos"
 
-#: postmaster/postmaster.c:2848
+#: postmaster/pgarch.c:155
 #, c-format
-msgid "received fast shutdown request"
-msgstr "se recibió petición de apagado rápido"
+msgid "could not fork archiver: %m"
+msgstr "no se pudo lanzar el proceso archivador: %m"
 
-#: postmaster/postmaster.c:2866
+#: postmaster/pgarch.c:425
 #, c-format
-msgid "aborting any active transactions"
-msgstr "abortando transacciones activas"
+msgid "archive_mode enabled, yet archive_command is not set"
+msgstr "archive_mode activado, pero archive_command no está definido"
 
-#: postmaster/postmaster.c:2890
+#: postmaster/pgarch.c:447
 #, c-format
-msgid "received immediate shutdown request"
-msgstr "se recibió petición de apagado inmediato"
+msgid "removed orphan archive status file \"%s\""
+msgstr "eliminando archivo de estado huérfano «%s»"
 
-#: postmaster/postmaster.c:2965
+#: postmaster/pgarch.c:457
 #, c-format
-msgid "shutdown at recovery target"
-msgstr "apagándose al alcanzar el destino de recuperación"
+msgid "removal of orphan archive status file \"%s\" failed too many times, will try again later"
+msgstr "la eliminación del archivo de estado huérfano «%s» falló demasiadas veces, se tratará de nuevo después"
 
-#: postmaster/postmaster.c:2983 postmaster/postmaster.c:3019
-msgid "startup process"
-msgstr "proceso de inicio"
+#: postmaster/pgarch.c:493
+#, c-format
+msgid "archiving write-ahead log file \"%s\" failed too many times, will try again later"
+msgstr "el archivado del archivo de WAL «%s» falló demasiadas veces, se tratará de nuevo más tarde"
 
-#: postmaster/postmaster.c:2986
+#: postmaster/pgarch.c:594
 #, c-format
-msgid "aborting startup due to startup process failure"
-msgstr "abortando el inicio debido a una falla en el procesamiento de inicio"
+msgid "archive command failed with exit code %d"
+msgstr "la orden de archivado falló con código de retorno %d"
 
-#: postmaster/postmaster.c:3061
+#: postmaster/pgarch.c:596 postmaster/pgarch.c:606 postmaster/pgarch.c:612
+#: postmaster/pgarch.c:621
 #, c-format
-msgid "database system is ready to accept connections"
-msgstr "el sistema de bases de datos está listo para aceptar conexiones"
+msgid "The failed archive command was: %s"
+msgstr "La orden fallida era: «%s»"
 
-#: postmaster/postmaster.c:3082
-msgid "background writer process"
-msgstr "proceso background writer"
+#: postmaster/pgarch.c:603
+#, c-format
+msgid "archive command was terminated by exception 0x%X"
+msgstr "la orden de archivado fue terminada por una excepción 0x%X"
 
-#: postmaster/postmaster.c:3136
-msgid "checkpointer process"
-msgstr "proceso checkpointer"
+#: postmaster/pgarch.c:605 postmaster/postmaster.c:3725
+#, c-format
+msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
+msgstr "Vea el archivo «ntstatus.h» para una descripción del valor hexadecimal."
 
-#: postmaster/postmaster.c:3152
-msgid "WAL writer process"
-msgstr "proceso escritor de WAL"
+#: postmaster/pgarch.c:610
+#, c-format
+msgid "archive command was terminated by signal %d: %s"
+msgstr "la orden de archivado fue terminada por una señal %d: %s"
 
-#: postmaster/postmaster.c:3167
-msgid "WAL receiver process"
-msgstr "proceso receptor de WAL"
+#: postmaster/pgarch.c:619
+#, c-format
+msgid "archive command exited with unrecognized status %d"
+msgstr "la orden de archivado fue terminada con código %d no reconocido"
 
-#: postmaster/postmaster.c:3182
-msgid "autovacuum launcher process"
-msgstr "proceso lanzador de autovacuum"
+#: postmaster/pgstat.c:419
+#, c-format
+msgid "could not resolve \"localhost\": %s"
+msgstr "no se pudo resolver «localhost»: %s"
 
-#: postmaster/postmaster.c:3197
-msgid "archiver process"
-msgstr "proceso de archivado"
+#: postmaster/pgstat.c:442
+#, c-format
+msgid "trying another address for the statistics collector"
+msgstr "intentando otra dirección para el recolector de estadísticas"
 
-#: postmaster/postmaster.c:3213
-msgid "statistics collector process"
-msgstr "recolector de estadísticas"
+#: postmaster/pgstat.c:451
+#, c-format
+msgid "could not create socket for statistics collector: %m"
+msgstr "no se pudo crear el socket para el recolector de estadísticas: %m"
 
-#: postmaster/postmaster.c:3227
-msgid "system logger process"
-msgstr "proceso de log"
+#: postmaster/pgstat.c:463
+#, c-format
+msgid "could not bind socket for statistics collector: %m"
+msgstr "no se pudo enlazar (bind) el socket para el recolector de estadísticas: %m"
 
-#: postmaster/postmaster.c:3291
+#: postmaster/pgstat.c:474
 #, c-format
-msgid "background worker \"%s\""
-msgstr "proceso ayudante «%s»"
+msgid "could not get address of socket for statistics collector: %m"
+msgstr "no se pudo obtener la dirección del socket de estadísticas: %m"
 
-#: postmaster/postmaster.c:3375 postmaster/postmaster.c:3395
-#: postmaster/postmaster.c:3402 postmaster/postmaster.c:3420
-msgid "server process"
-msgstr "proceso de servidor"
+#: postmaster/pgstat.c:490
+#, c-format
+msgid "could not connect socket for statistics collector: %m"
+msgstr "no se pudo conectar el socket para el recolector de estadísticas: %m"
 
-#: postmaster/postmaster.c:3474
+#: postmaster/pgstat.c:511
 #, c-format
-msgid "terminating any other active server processes"
-msgstr "terminando todos los otros procesos de servidor activos"
+msgid "could not send test message on socket for statistics collector: %m"
+msgstr "no se pudo enviar el mensaje de prueba al recolector de estadísticas: %m"
 
-#. translator: %s is a noun phrase describing a child process, such as
-#. "server process"
-#: postmaster/postmaster.c:3729
+#: postmaster/pgstat.c:537
 #, c-format
-msgid "%s (PID %d) exited with exit code %d"
-msgstr "%s (PID %d) terminó con código de salida %d"
+msgid "select() failed in statistics collector: %m"
+msgstr "select() falló en el recolector de estadísticas: %m"
 
-#: postmaster/postmaster.c:3731 postmaster/postmaster.c:3743
-#: postmaster/postmaster.c:3753 postmaster/postmaster.c:3764
+#: postmaster/pgstat.c:552
 #, c-format
-msgid "Failed process was running: %s"
-msgstr "El proceso que falló estaba ejecutando: %s"
+msgid "test message did not get through on socket for statistics collector"
+msgstr "el mensaje de prueba al recolector de estadísticas no ha sido recibido en el socket"
 
-#. translator: %s is a noun phrase describing a child process, such as
-#. "server process"
-#: postmaster/postmaster.c:3740
+#: postmaster/pgstat.c:567
 #, c-format
-msgid "%s (PID %d) was terminated by exception 0x%X"
-msgstr "%s (PID %d) fue terminado por una excepción 0x%X"
+msgid "could not receive test message on socket for statistics collector: %m"
+msgstr "no se pudo recibir el mensaje de prueba en el socket del recolector de estadísticas: %m"
 
-#. translator: %s is a noun phrase describing a child process, such as
-#. "server process"
-#: postmaster/postmaster.c:3750
+#: postmaster/pgstat.c:577
 #, c-format
-msgid "%s (PID %d) was terminated by signal %d: %s"
-msgstr "%s (PID %d) fue terminado por una señal %d: %s"
+msgid "incorrect test message transmission on socket for statistics collector"
+msgstr "transmisión del mensaje de prueba incorrecta en el socket del recolector de estadísticas"
 
-#. translator: %s is a noun phrase describing a child process, such as
-#. "server process"
-#: postmaster/postmaster.c:3762
+#: postmaster/pgstat.c:600
 #, c-format
-msgid "%s (PID %d) exited with unrecognized status %d"
-msgstr "%s (PID %d) terminó con código %d no reconocido"
+msgid "could not set statistics collector socket to nonblocking mode: %m"
+msgstr "no se pudo poner el socket de estadísticas en modo no bloqueante: %m"
 
-#: postmaster/postmaster.c:3970
+#: postmaster/pgstat.c:642
 #, c-format
-msgid "abnormal database system shutdown"
-msgstr "apagado anormal del sistema de bases de datos"
+msgid "disabling statistics collector for lack of working socket"
+msgstr "desactivando el recolector de estadísticas por falla del socket"
 
-#: postmaster/postmaster.c:4010
+#: postmaster/pgstat.c:789
 #, c-format
-msgid "all server processes terminated; reinitializing"
-msgstr "todos los procesos fueron terminados; reinicializando"
+msgid "could not fork statistics collector: %m"
+msgstr "no se pudo crear el proceso para el recolector de estadísticas: %m"
 
-#: postmaster/postmaster.c:4180 postmaster/postmaster.c:5599
-#: postmaster/postmaster.c:5986
+#: postmaster/pgstat.c:1376
 #, c-format
-msgid "could not generate random cancel key"
-msgstr "no se pudo generar una llave de cancelación aleatoria"
+msgid "unrecognized reset target: \"%s\""
+msgstr "destino de reset no reconocido: «%s»"
 
-#: postmaster/postmaster.c:4234
+#: postmaster/pgstat.c:1377
 #, c-format
-msgid "could not fork new process for connection: %m"
-msgstr "no se pudo lanzar el nuevo proceso para la conexión: %m"
+msgid "Target must be \"archiver\" or \"bgwriter\"."
+msgstr "El destino debe ser «archiver» o «bgwriter»."
 
-#: postmaster/postmaster.c:4276
-msgid "could not fork new process for connection: "
-msgstr "no se pudo lanzar el nuevo proceso para la conexión: "
+#: postmaster/pgstat.c:4567
+#, c-format
+msgid "could not read statistics message: %m"
+msgstr "no se pudo leer un mensaje de estadísticas: %m"
 
-#: postmaster/postmaster.c:4393
+#: postmaster/pgstat.c:4889 postmaster/pgstat.c:5052
 #, c-format
-msgid "connection received: host=%s port=%s"
-msgstr "conexión recibida: host=%s port=%s"
+msgid "could not open temporary statistics file \"%s\": %m"
+msgstr "no se pudo abrir el archivo temporal de estadísticas «%s»: %m"
 
-#: postmaster/postmaster.c:4398
+#: postmaster/pgstat.c:4962 postmaster/pgstat.c:5097
 #, c-format
-msgid "connection received: host=%s"
-msgstr "conexión recibida: host=%s"
+msgid "could not write temporary statistics file \"%s\": %m"
+msgstr "no se pudo escribir el archivo temporal de estadísticas «%s»: %m"
 
-#: postmaster/postmaster.c:4668
+#: postmaster/pgstat.c:4971 postmaster/pgstat.c:5106
 #, c-format
-msgid "could not execute server process \"%s\": %m"
-msgstr "no se pudo lanzar el proceso servidor «%s»: %m"
+msgid "could not close temporary statistics file \"%s\": %m"
+msgstr "no se pudo cerrar el archivo temporal de estadísticas «%s»: %m"
 
-#: postmaster/postmaster.c:4827
+#: postmaster/pgstat.c:4979 postmaster/pgstat.c:5114
 #, c-format
-msgid "giving up after too many tries to reserve shared memory"
-msgstr "renunciar después de demasiados intentos de reservar memoria compartida"
+msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
+msgstr "no se pudo cambiar el nombre al archivo temporal de estadísticas de «%s» a «%s»: %m"
 
-#: postmaster/postmaster.c:4828
+#: postmaster/pgstat.c:5211 postmaster/pgstat.c:5428 postmaster/pgstat.c:5582
 #, c-format
-msgid "This might be caused by ASLR or antivirus software."
-msgstr "Esto podría deberse a ASLR o un software antivirus."
+msgid "could not open statistics file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de estadísticas «%s»: %m"
 
-#: postmaster/postmaster.c:5034
+#: postmaster/pgstat.c:5223 postmaster/pgstat.c:5233 postmaster/pgstat.c:5254
+#: postmaster/pgstat.c:5265 postmaster/pgstat.c:5287 postmaster/pgstat.c:5302
+#: postmaster/pgstat.c:5365 postmaster/pgstat.c:5440 postmaster/pgstat.c:5460
+#: postmaster/pgstat.c:5478 postmaster/pgstat.c:5494 postmaster/pgstat.c:5512
+#: postmaster/pgstat.c:5528 postmaster/pgstat.c:5594 postmaster/pgstat.c:5606
+#: postmaster/pgstat.c:5618 postmaster/pgstat.c:5629 postmaster/pgstat.c:5654
+#: postmaster/pgstat.c:5676
 #, c-format
-msgid "SSL configuration could not be loaded in child process"
-msgstr "No se pudo cargar la configuración SSL en proceso secundario"
+msgid "corrupted statistics file \"%s\""
+msgstr "el archivo de estadísticas «%s» está corrupto"
 
-#: postmaster/postmaster.c:5166
+#: postmaster/pgstat.c:5805
 #, c-format
-msgid "Please report this to <%s>."
-msgstr "Por favor reporte esto a <%s>."
+msgid "using stale statistics instead of current ones because stats collector is not responding"
+msgstr "usando estadísticas añejas en vez de actualizadas porque el recolector de estadísticas no está respondiendo"
 
-#: postmaster/postmaster.c:5259
+#: postmaster/pgstat.c:6135
 #, c-format
-msgid "database system is ready to accept read only connections"
-msgstr "el sistema de bases de datos está listo para aceptar conexiones de sólo lectura"
+msgid "database hash table corrupted during cleanup --- abort"
+msgstr "el hash de bases de datos se corrompió durante la finalización; abortando"
 
-#: postmaster/postmaster.c:5527
+#: postmaster/postmaster.c:733
 #, c-format
-msgid "could not fork startup process: %m"
-msgstr "no se pudo lanzar el proceso de inicio: %m"
+msgid "%s: invalid argument for option -f: \"%s\"\n"
+msgstr "%s: argumento no válido para la opción -f: «%s»\n"
 
-#: postmaster/postmaster.c:5531
+#: postmaster/postmaster.c:819
 #, c-format
-msgid "could not fork background writer process: %m"
-msgstr "no se pudo lanzar el background writer: %m"
+msgid "%s: invalid argument for option -t: \"%s\"\n"
+msgstr "%s: argumento no válido para la opción -t: «%s»\n"
 
-#: postmaster/postmaster.c:5535
+#: postmaster/postmaster.c:870
 #, c-format
-msgid "could not fork checkpointer process: %m"
-msgstr "no se pudo lanzar el checkpointer: %m"
+msgid "%s: invalid argument: \"%s\"\n"
+msgstr "%s: argumento no válido: «%s»\n"
 
-#: postmaster/postmaster.c:5539
+#: postmaster/postmaster.c:912
 #, c-format
-msgid "could not fork WAL writer process: %m"
-msgstr "no se pudo lanzar el proceso escritor de WAL: %m"
+msgid "%s: superuser_reserved_connections (%d) must be less than max_connections (%d)\n"
+msgstr "%s: superuser_reserved_connections (%d) debe ser menor que max_connections (%d)\n"
 
-#: postmaster/postmaster.c:5543
+#: postmaster/postmaster.c:919
 #, c-format
-msgid "could not fork WAL receiver process: %m"
-msgstr "no se pudo lanzar el proceso receptor de WAL: %m"
+msgid "WAL archival cannot be enabled when wal_level is \"minimal\""
+msgstr "el archivador de WAL no puede activarse cuando wal_level es «minimal»"
 
-#: postmaster/postmaster.c:5547
+#: postmaster/postmaster.c:922
 #, c-format
-msgid "could not fork process: %m"
-msgstr "no se pudo lanzar el proceso: %m"
+msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or \"logical\""
+msgstr "el flujo de WAL (max_wal_senders > 0) requiere wal_level «replica» o «logical»"
 
-#: postmaster/postmaster.c:5744 postmaster/postmaster.c:5767
+#: postmaster/postmaster.c:930
 #, c-format
-msgid "database connection requirement not indicated during registration"
-msgstr "el requerimiento de conexión a base de datos no fue indicado durante el registro"
+msgid "%s: invalid datetoken tables, please fix\n"
+msgstr "%s: las tablas de palabras clave de fecha no son válidas, arréglelas\n"
 
-#: postmaster/postmaster.c:5751 postmaster/postmaster.c:5774
+#: postmaster/postmaster.c:1047
 #, c-format
-msgid "invalid processing mode in background worker"
-msgstr "modo de procesamiento no válido en proceso ayudante"
+msgid "could not create I/O completion port for child queue"
+msgstr "no se pudo crear el port E/S de reporte de completitud para la cola de procesos hijos"
 
-#: postmaster/postmaster.c:5847
+#: postmaster/postmaster.c:1113
 #, c-format
-msgid "starting background worker process \"%s\""
-msgstr "iniciando el proceso ayudante «%s»"
+msgid "ending log output to stderr"
+msgstr "terminando la salida de registro a stderr"
 
-#: postmaster/postmaster.c:5859
+#: postmaster/postmaster.c:1114
 #, c-format
-msgid "could not fork worker process: %m"
-msgstr "no se pudo lanzar el proceso ayudante: %m"
+msgid "Future log output will go to log destination \"%s\"."
+msgstr "La salida futura del registro será enviada al destino de log «%s»."
 
-#: postmaster/postmaster.c:5972
+#: postmaster/postmaster.c:1125
 #, c-format
-msgid "no slot available for new worker process"
-msgstr "no hay slot disponible para un nuevo proceso ayudante"
+msgid "starting %s"
+msgstr "iniciando %s"
 
-#: postmaster/postmaster.c:6307
+#: postmaster/postmaster.c:1154 postmaster/postmaster.c:1252
+#: utils/init/miscinit.c:1597
 #, c-format
-msgid "could not duplicate socket %d for use in backend: error code %d"
-msgstr "no se pudo duplicar el socket %d para su empleo en el backend: código de error %d"
+msgid "invalid list syntax in parameter \"%s\""
+msgstr "la sintaxis de lista no es válida para el parámetro «%s»"
 
-#: postmaster/postmaster.c:6339
+#: postmaster/postmaster.c:1185
 #, c-format
-msgid "could not create inherited socket: error code %d\n"
-msgstr "no se pudo crear el socket heradado: código de error %d\n"
+msgid "could not create listen socket for \"%s\""
+msgstr "no se pudo crear el socket de escucha para «%s»"
 
-#: postmaster/postmaster.c:6368
+#: postmaster/postmaster.c:1191
 #, c-format
-msgid "could not open backend variables file \"%s\": %s\n"
-msgstr "no se pudo abrir el archivo de variables de servidor «%s»: %s\n"
+msgid "could not create any TCP/IP sockets"
+msgstr "no se pudo crear ningún socket TCP/IP"
 
-#: postmaster/postmaster.c:6375
+#: postmaster/postmaster.c:1274
 #, c-format
-msgid "could not read from backend variables file \"%s\": %s\n"
-msgstr "no se pudo leer el archivo de variables de servidor «%s»: %s\n"
+msgid "could not create Unix-domain socket in directory \"%s\""
+msgstr "no se pudo crear el socket de dominio Unix en el directorio «%s»"
 
-#: postmaster/postmaster.c:6384
+#: postmaster/postmaster.c:1280
 #, c-format
-msgid "could not remove file \"%s\": %s\n"
-msgstr "no se pudo eliminar el archivo «%s»: %s\n"
+msgid "could not create any Unix-domain sockets"
+msgstr "no se pudo crear ningún socket de dominio Unix"
 
-#: postmaster/postmaster.c:6401
+#: postmaster/postmaster.c:1292
 #, c-format
-msgid "could not map view of backend variables: error code %lu\n"
-msgstr "no se pudo mapear la vista del archivo de variables: código de error %lu\n"
+msgid "no socket created for listening"
+msgstr "no se creó el socket de atención"
 
-#: postmaster/postmaster.c:6410
+#: postmaster/postmaster.c:1323
 #, c-format
-msgid "could not unmap view of backend variables: error code %lu\n"
-msgstr "no se pudo desmapear la vista del archivo de variables: código de error %lu\n"
+msgid "%s: could not change permissions of external PID file \"%s\": %s\n"
+msgstr "%s: no se pudo cambiar los permisos del archivo de PID externo «%s»: %s\n"
 
-#: postmaster/postmaster.c:6417
+#: postmaster/postmaster.c:1327
 #, c-format
-msgid "could not close handle to backend parameter variables: error code %lu\n"
-msgstr "no se pudo cerrar el archivo de variables de servidor: código de error %lu\n"
+msgid "%s: could not write external PID file \"%s\": %s\n"
+msgstr "%s: no pudo escribir en el archivo externo de PID «%s»: %s\n"
 
-#: postmaster/postmaster.c:6595
+#: postmaster/postmaster.c:1360 utils/init/postinit.c:215
 #, c-format
-msgid "could not read exit code for process\n"
-msgstr "no se pudo leer el código de salida del proceso\n"
+msgid "could not load pg_hba.conf"
+msgstr "no se pudo cargar pg_hba.conf"
 
-#: postmaster/postmaster.c:6600
+#: postmaster/postmaster.c:1386
 #, c-format
-msgid "could not post child completion status\n"
-msgstr "no se pudo publicar el estado de completitud del proceso hijo\n"
+msgid "postmaster became multithreaded during startup"
+msgstr "postmaster se volvió multi-hilo durante la partida"
 
-#: postmaster/syslogger.c:474 postmaster/syslogger.c:1153
+#: postmaster/postmaster.c:1387
 #, c-format
-msgid "could not read from logger pipe: %m"
-msgstr "no se pudo leer desde la tubería de log: %m"
+msgid "Set the LC_ALL environment variable to a valid locale."
+msgstr "Defina la variable de ambiente LC_ALL a un valor válido."
 
-#: postmaster/syslogger.c:522
+#: postmaster/postmaster.c:1488
 #, c-format
-msgid "logger shutting down"
-msgstr "proceso logger apagándose"
+msgid "%s: could not locate matching postgres executable"
+msgstr "%s: no se pudo localizar el ejecutable postgres correspondiente"
 
-#: postmaster/syslogger.c:571 postmaster/syslogger.c:585
+#: postmaster/postmaster.c:1511 utils/misc/tzparser.c:340
 #, c-format
-msgid "could not create pipe for syslog: %m"
-msgstr "no se pudo crear la tubería para syslog: %m"
+msgid "This may indicate an incomplete PostgreSQL installation, or that the file \"%s\" has been moved away from its proper location."
+msgstr "Esto puede indicar una instalación de PostgreSQL incompleta, o que el archivo «%s» ha sido movido de la ubicación adecuada."
 
-#: postmaster/syslogger.c:636
+#: postmaster/postmaster.c:1538
 #, c-format
-msgid "could not fork system logger: %m"
-msgstr "no se pudo crear el proceso de log: %m"
+msgid ""
+"%s: could not find the database system\n"
+"Expected to find it in the directory \"%s\",\n"
+"but could not open file \"%s\": %s\n"
+msgstr ""
+"%s: no se pudo encontrar el sistema de base de datos\n"
+"Se esperaba encontrar en el directorio PGDATA «%s»,\n"
+"pero no se pudo abrir el archivo «%s»: %s\n"
 
-#: postmaster/syslogger.c:672
+#: postmaster/postmaster.c:1715
 #, c-format
-msgid "redirecting log output to logging collector process"
-msgstr "redirigiendo la salida del registro al proceso recolector de registro"
+msgid "select() failed in postmaster: %m"
+msgstr "select() falló en postmaster: %m"
 
-#: postmaster/syslogger.c:673
+#: postmaster/postmaster.c:1870
 #, c-format
-msgid "Future log output will appear in directory \"%s\"."
-msgstr "La salida futura del registro aparecerá en el directorio «%s»."
+msgid "performing immediate shutdown because data directory lock file is invalid"
+msgstr "ejecutando un apagado inmediato porque el archivo de bloqueo del directorio de datos no es válido"
 
-#: postmaster/syslogger.c:681
+#: postmaster/postmaster.c:1973 postmaster/postmaster.c:2004
 #, c-format
-msgid "could not redirect stdout: %m"
-msgstr "no se pudo redirigir stdout: %m"
+msgid "incomplete startup packet"
+msgstr "el paquete de inicio está incompleto"
 
-#: postmaster/syslogger.c:686 postmaster/syslogger.c:703
+#: postmaster/postmaster.c:1985
 #, c-format
-msgid "could not redirect stderr: %m"
-msgstr "no se pudo redirigir stderr: %m"
+msgid "invalid length of startup packet"
+msgstr "el de paquete de inicio tiene largo incorrecto"
 
-#: postmaster/syslogger.c:1108
+#: postmaster/postmaster.c:2043
 #, c-format
-msgid "could not write to log file: %s\n"
-msgstr "no se pudo escribir al archivo de log: %s\n"
+msgid "failed to send SSL negotiation response: %m"
+msgstr "no se pudo enviar la respuesta de negociación SSL: %m"
 
-#: postmaster/syslogger.c:1225
+#: postmaster/postmaster.c:2075
 #, c-format
-msgid "could not open log file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de registro «%s»: %m"
+msgid "failed to send GSSAPI negotiation response: %m"
+msgstr "no se pudo enviar la respuesta de negociación GSSAPI: %m"
 
-#: postmaster/syslogger.c:1287 postmaster/syslogger.c:1337
+#: postmaster/postmaster.c:2105
 #, c-format
-msgid "disabling automatic rotation (use SIGHUP to re-enable)"
-msgstr "desactivando rotación automática (use SIGHUP para reactivarla)"
+msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
+msgstr "el protocolo %u.%u no está soportado: servidor soporta %u.0 hasta %u.%u"
 
-#: regex/regc_pg_locale.c:262
+#: postmaster/postmaster.c:2169 utils/misc/guc.c:6769 utils/misc/guc.c:6805
+#: utils/misc/guc.c:6875 utils/misc/guc.c:8226 utils/misc/guc.c:11088
+#: utils/misc/guc.c:11129
 #, c-format
-msgid "could not determine which collation to use for regular expression"
-msgstr "no se pudo determinar qué ordenamiento usar para la expresión regular"
+msgid "invalid value for parameter \"%s\": \"%s\""
+msgstr "valor no válido para el parámetro «%s»: «%s»"
 
-#: regex/regc_pg_locale.c:269
+#: postmaster/postmaster.c:2172
 #, c-format
-msgid "nondeterministic collations are not supported for regular expressions"
-msgstr "los ordenamientos no determinísticos no están soportados para expresiones regulares"
+msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"."
+msgstr "Los valores válidos son: «false», 0, «true», 1, «database»."
 
-#: replication/backup_manifest.c:231
+#: postmaster/postmaster.c:2217
 #, c-format
-msgid "expected end timeline %u but found timeline %u"
-msgstr "se esperaba el timeline de término %u pero se encontró el tieneline %u"
+msgid "invalid startup packet layout: expected terminator as last byte"
+msgstr "el paquete de inicio no es válido: se esperaba un terminador en el último byte"
 
-#: replication/backup_manifest.c:248
+#: postmaster/postmaster.c:2255
 #, 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"
+msgid "no PostgreSQL user name specified in startup packet"
+msgstr "no se especifica un nombre de usuario en el paquete de inicio"
 
-#: replication/backup_manifest.c:275
+#: postmaster/postmaster.c:2319
 #, 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"
+msgid "the database system is starting up"
+msgstr "el sistema de base de datos está iniciándose"
 
-#: replication/backup_manifest.c:322
+#: postmaster/postmaster.c:2324
 #, c-format
-msgid "could not rewind temporary file"
-msgstr "no se puede rebobinar el archivo temporal"
+msgid "the database system is shutting down"
+msgstr "el sistema de base de datos está apagándose"
 
-#: replication/backup_manifest.c:349
+#: postmaster/postmaster.c:2329
 #, c-format
-msgid "could not read from temporary file: %m"
-msgstr "no se pudo leer del archivo temporal: %m"
+msgid "the database system is in recovery mode"
+msgstr "el sistema de base de datos está en modo de recuperación"
 
-#: replication/basebackup.c:108
+#: postmaster/postmaster.c:2334 storage/ipc/procarray.c:293
+#: storage/ipc/sinvaladt.c:297 storage/lmgr/proc.c:362
 #, c-format
-msgid "could not read from file \"%s\""
-msgstr "no se pudo leer del archivo «%s»"
+msgid "sorry, too many clients already"
+msgstr "lo siento, ya tenemos demasiados clientes"
 
-#: replication/basebackup.c:551
+#: postmaster/postmaster.c:2424
 #, c-format
-msgid "could not find any WAL files"
-msgstr "no se pudo encontrar ningún archivo de WAL"
+msgid "wrong key in cancel request for process %d"
+msgstr "llave incorrecta en la petición de cancelación para el proceso %d"
 
-#: replication/basebackup.c:566 replication/basebackup.c:582
-#: replication/basebackup.c:591
+#: postmaster/postmaster.c:2436
 #, c-format
-msgid "could not find WAL file \"%s\""
-msgstr "no se pudo encontrar archivo de WAL «%s»"
+msgid "PID %d in cancel request did not match any process"
+msgstr "el PID %d en la petición de cancelación no coincidió con ningún proceso"
 
-#: replication/basebackup.c:634 replication/basebackup.c:665
+#: postmaster/postmaster.c:2689
 #, c-format
-msgid "unexpected WAL file size \"%s\""
-msgstr "tamaño del archivo WAL «%s» inesperado"
+msgid "received SIGHUP, reloading configuration files"
+msgstr "se recibió SIGHUP, volviendo a cargar archivos de configuración"
 
-#: replication/basebackup.c:648 replication/basebackup.c:1749
+#. translator: %s is a configuration file
+#: postmaster/postmaster.c:2715 postmaster/postmaster.c:2719
 #, c-format
-msgid "base backup could not send data, aborting backup"
-msgstr "el respaldo base no pudo enviar datos, abortando el respaldo"
+msgid "%s was not reloaded"
+msgstr "%s no fue vuelto a cargar"
 
-#: replication/basebackup.c:724
+#: postmaster/postmaster.c:2729
 #, c-format
-#| msgid "%lld total checksum verification failure"
-#| msgid_plural "%lld total checksum verification failures"
-msgid "%lld total checksum verification failures"
-msgstr "%lld fallas de verificación de suma de comprobación en total"
+msgid "SSL configuration was not reloaded"
+msgstr "la configuración SSL no fue vuelta a cargar"
 
-#: replication/basebackup.c:728
+#: postmaster/postmaster.c:2785
 #, c-format
-msgid "checksum verification failure during base backup"
-msgstr "falla en verificación de checksums durante respaldo base"
+msgid "received smart shutdown request"
+msgstr "se recibió petición de apagado inteligente"
 
-#: replication/basebackup.c:781 replication/basebackup.c:790
-#: replication/basebackup.c:799 replication/basebackup.c:808
-#: replication/basebackup.c:817 replication/basebackup.c:828
-#: replication/basebackup.c:845 replication/basebackup.c:854
-#: replication/basebackup.c:866 replication/basebackup.c:890
+#: postmaster/postmaster.c:2831
 #, c-format
-msgid "duplicate option \"%s\""
-msgstr "nombre de opción «%s» duplicada"
+msgid "received fast shutdown request"
+msgstr "se recibió petición de apagado rápido"
 
-#: replication/basebackup.c:834
+#: postmaster/postmaster.c:2849
 #, 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)"
+msgid "aborting any active transactions"
+msgstr "abortando transacciones activas"
 
-#: replication/basebackup.c:879
+#: postmaster/postmaster.c:2873
 #, c-format
-msgid "unrecognized manifest option: \"%s\""
-msgstr "opción de manifiesto «%s» no reconocida"
+msgid "received immediate shutdown request"
+msgstr "se recibió petición de apagado inmediato"
 
-#: replication/basebackup.c:895
+#: postmaster/postmaster.c:2948
 #, c-format
-msgid "unrecognized checksum algorithm: \"%s\""
-msgstr "algoritmo de suma de comprobación no reconocido: \"%s\""
+msgid "shutdown at recovery target"
+msgstr "apagándose al alcanzar el destino de recuperación"
 
-#: replication/basebackup.c:910
-#, fuzzy, c-format
-#| msgid "manifest checksum mismatch"
-msgid "manifest checksums require a backup manifest"
-msgstr "discordancia en la suma de comprobación del manifiesto"
+#: postmaster/postmaster.c:2966 postmaster/postmaster.c:3002
+msgid "startup process"
+msgstr "proceso de inicio"
 
-#: replication/basebackup.c:1501
+#: postmaster/postmaster.c:2969
 #, c-format
-msgid "skipping special file \"%s\""
-msgstr "omitiendo el archivo especial «%s»"
+msgid "aborting startup due to startup process failure"
+msgstr "abortando el inicio debido a una falla en el procesamiento de inicio"
 
-#: replication/basebackup.c:1620
+#: postmaster/postmaster.c:3044
 #, c-format
-msgid "invalid segment number %d in file \"%s\""
-msgstr "número de segmento %d no válido en archivo «%s»"
+msgid "database system is ready to accept connections"
+msgstr "el sistema de bases de datos está listo para aceptar conexiones"
 
-#: replication/basebackup.c:1639
-#, c-format
-msgid "could not verify checksum in file \"%s\", block %d: read buffer size %d and page size %d differ"
-msgstr "no se pudo verificar el checksum en el archivo «%s», bloque %d: el tamaño leído %d y el tamaño de página %d difieren"
+#: postmaster/postmaster.c:3065
+msgid "background writer process"
+msgstr "proceso background writer"
 
-#: replication/basebackup.c:1683 replication/basebackup.c:1713
-#, c-format
-msgid "could not fseek in file \"%s\": %m"
-msgstr "no se pudo posicionar (fseek) el archivo «%s»: %m"
+#: postmaster/postmaster.c:3119
+msgid "checkpointer process"
+msgstr "proceso checkpointer"
 
-#: replication/basebackup.c:1705
-#, c-format
-msgid "could not reread block %d of file \"%s\": %m"
-msgstr "no se pudo leer el bloque %d del archivo «%s»: %m"
+#: postmaster/postmaster.c:3135
+msgid "WAL writer process"
+msgstr "proceso escritor de WAL"
 
-#: replication/basebackup.c:1729
-#, c-format
-msgid "checksum verification failed in file \"%s\", block %d: calculated %X but expected %X"
-msgstr "verificación de checksums falló en archivo «%s», bloque %d: calculado %X pero se esperaba %X"
+#: postmaster/postmaster.c:3150
+msgid "WAL receiver process"
+msgstr "proceso receptor de WAL"
 
-#: replication/basebackup.c:1736
-#, 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"
+#: postmaster/postmaster.c:3165
+msgid "autovacuum launcher process"
+msgstr "proceso lanzador de autovacuum"
+
+#: postmaster/postmaster.c:3180
+msgid "archiver process"
+msgstr "proceso de archivado"
+
+#: postmaster/postmaster.c:3196
+msgid "statistics collector process"
+msgstr "recolector de estadísticas"
+
+#: postmaster/postmaster.c:3210
+msgid "system logger process"
+msgstr "proceso de log"
 
-#: replication/basebackup.c:1804
+#: postmaster/postmaster.c:3274
 #, 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"
+msgid "background worker \"%s\""
+msgstr "proceso ayudante «%s»"
+
+#: postmaster/postmaster.c:3358 postmaster/postmaster.c:3378
+#: postmaster/postmaster.c:3385 postmaster/postmaster.c:3403
+msgid "server process"
+msgstr "proceso de servidor"
 
-#: replication/basebackup.c:1840
+#: postmaster/postmaster.c:3457
 #, c-format
-msgid "file name too long for tar format: \"%s\""
-msgstr "nombre de archivo demasiado largo para el formato tar: «%s»"
+msgid "terminating any other active server processes"
+msgstr "terminando todos los otros procesos de servidor activos"
 
-#: replication/basebackup.c:1845
+#. translator: %s is a noun phrase describing a child process, such as
+#. "server process"
+#: postmaster/postmaster.c:3712
 #, 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»"
+msgid "%s (PID %d) exited with exit code %d"
+msgstr "%s (PID %d) terminó con código de salida %d"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:227
-#, fuzzy, c-format
-#| msgid "could not clear search_path: %s"
-msgid "could not clear search path: %s"
-msgstr "no se pudo limpiar search_path: %s"
+#: postmaster/postmaster.c:3714 postmaster/postmaster.c:3726
+#: postmaster/postmaster.c:3736 postmaster/postmaster.c:3747
+#, c-format
+msgid "Failed process was running: %s"
+msgstr "El proceso que falló estaba ejecutando: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:251
+#. translator: %s is a noun phrase describing a child process, such as
+#. "server process"
+#: postmaster/postmaster.c:3723
 #, c-format
-msgid "invalid connection string syntax: %s"
-msgstr "sintaxis de cadena de conexión no válida: %s"
+msgid "%s (PID %d) was terminated by exception 0x%X"
+msgstr "%s (PID %d) fue terminado por una excepción 0x%X"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:275
+#. translator: %s is a noun phrase describing a child process, such as
+#. "server process"
+#: postmaster/postmaster.c:3733
 #, c-format
-msgid "could not parse connection string: %s"
-msgstr "no se pudo interpretar la cadena de conexión: %s"
+msgid "%s (PID %d) was terminated by signal %d: %s"
+msgstr "%s (PID %d) fue terminado por una señal %d: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:347
+#. translator: %s is a noun phrase describing a child process, such as
+#. "server process"
+#: postmaster/postmaster.c:3745
 #, c-format
-msgid "could not receive database system identifier and timeline ID from the primary server: %s"
-msgstr "no se pudo recibir el identificador de sistema y el ID de timeline del servidor primario: %s"
+msgid "%s (PID %d) exited with unrecognized status %d"
+msgstr "%s (PID %d) terminó con código %d no reconocido"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:358
-#: replication/libpqwalreceiver/libpqwalreceiver.c:576
+#: postmaster/postmaster.c:3960
 #, c-format
-msgid "invalid response from primary server"
-msgstr "respuesta no válida del servidor primario"
+msgid "abnormal database system shutdown"
+msgstr "apagado anormal del sistema de bases de datos"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:359
+#: postmaster/postmaster.c:4000
 #, c-format
-msgid "Could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields."
-msgstr "No se pudo identificar el sistema: se obtuvieron %d filas y %d campos, se esperaban %d filas y %d o más campos."
+msgid "all server processes terminated; reinitializing"
+msgstr "todos los procesos fueron terminados; reinicializando"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:432
-#: replication/libpqwalreceiver/libpqwalreceiver.c:438
-#: replication/libpqwalreceiver/libpqwalreceiver.c:463
+#: postmaster/postmaster.c:4170 postmaster/postmaster.c:5579
+#: postmaster/postmaster.c:5966
 #, c-format
-msgid "could not start WAL streaming: %s"
-msgstr "no se pudo iniciar el flujo de WAL: %s"
+msgid "could not generate random cancel key"
+msgstr "no se pudo generar una llave de cancelación aleatoria"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:486
+#: postmaster/postmaster.c:4224
 #, c-format
-msgid "could not send end-of-streaming message to primary: %s"
-msgstr "no se pudo enviar el mensaje fin-de-flujo al primario: %s"
+msgid "could not fork new process for connection: %m"
+msgstr "no se pudo lanzar el nuevo proceso para la conexión: %m"
+
+#: postmaster/postmaster.c:4266
+msgid "could not fork new process for connection: "
+msgstr "no se pudo lanzar el nuevo proceso para la conexión: "
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:508
+#: postmaster/postmaster.c:4383
 #, c-format
-msgid "unexpected result set after end-of-streaming"
-msgstr "conjunto de resultados inesperado después del fin-de-flujo"
+msgid "connection received: host=%s port=%s"
+msgstr "conexión recibida: host=%s port=%s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:522
+#: postmaster/postmaster.c:4388
 #, c-format
-msgid "error while shutting down streaming COPY: %s"
-msgstr "ocurrió un error mientras se apagaba el flujo COPY: %s"
+msgid "connection received: host=%s"
+msgstr "conexión recibida: host=%s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:531
+#: postmaster/postmaster.c:4658
 #, c-format
-msgid "error reading result of streaming command: %s"
-msgstr "ocurrió un error mientras se leía la orden de flujo: %s"
+msgid "could not execute server process \"%s\": %m"
+msgstr "no se pudo lanzar el proceso servidor «%s»: %m"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:539
-#: replication/libpqwalreceiver/libpqwalreceiver.c:773
+#: postmaster/postmaster.c:4817
 #, c-format
-msgid "unexpected result after CommandComplete: %s"
-msgstr "resultado inesperado después de CommandComplete: %s"
+msgid "giving up after too many tries to reserve shared memory"
+msgstr "renunciar después de demasiados intentos de reservar memoria compartida"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:565
+#: postmaster/postmaster.c:4818
 #, c-format
-msgid "could not receive timeline history file from the primary server: %s"
-msgstr "no se pudo recibir el archivo de historia de timeline del servidor primario: %s"
+msgid "This might be caused by ASLR or antivirus software."
+msgstr "Esto podría deberse a ASLR o un software antivirus."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:577
+#: postmaster/postmaster.c:5012
 #, c-format
-msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields."
-msgstr "Se esperaba 1 tupla con 2 campos, se obtuvieron %d tuplas con %d campos."
+msgid "SSL configuration could not be loaded in child process"
+msgstr "No se pudo cargar la configuración SSL en proceso secundario"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:737
-#: replication/libpqwalreceiver/libpqwalreceiver.c:788
-#: replication/libpqwalreceiver/libpqwalreceiver.c:794
+#: postmaster/postmaster.c:5144
 #, c-format
-msgid "could not receive data from WAL stream: %s"
-msgstr "no se pudo recibir datos desde el flujo de WAL: %s"
+msgid "Please report this to <%s>."
+msgstr "Por favor reporte esto a <%s>."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:813
+#: postmaster/postmaster.c:5231
 #, c-format
-msgid "could not send data to WAL stream: %s"
-msgstr "no se pudo enviar datos al flujo de WAL: %s"
+msgid "database system is ready to accept read only connections"
+msgstr "el sistema de bases de datos está listo para aceptar conexiones de sólo lectura"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:866
+#: postmaster/postmaster.c:5507
 #, c-format
-msgid "could not create replication slot \"%s\": %s"
-msgstr "no se pudo create el slot de replicación «%s»: %s"
+msgid "could not fork startup process: %m"
+msgstr "no se pudo lanzar el proceso de inicio: %m"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:911
+#: postmaster/postmaster.c:5511
 #, c-format
-msgid "invalid query response"
-msgstr "respuesta no válida a consulta"
+msgid "could not fork background writer process: %m"
+msgstr "no se pudo lanzar el background writer: %m"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:912
+#: postmaster/postmaster.c:5515
 #, c-format
-msgid "Expected %d fields, got %d fields."
-msgstr "Se esperaban %d campos, se obtuvieron %d campos."
+msgid "could not fork checkpointer process: %m"
+msgstr "no se pudo lanzar el checkpointer: %m"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:981
+#: postmaster/postmaster.c:5519
 #, c-format
-msgid "the query interface requires a database connection"
-msgstr "la interfaz de consulta requiere una conexión a base de datos"
+msgid "could not fork WAL writer process: %m"
+msgstr "no se pudo lanzar el proceso escritor de WAL: %m"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1012
-msgid "empty query"
-msgstr "consulta vacía"
+#: postmaster/postmaster.c:5523
+#, c-format
+msgid "could not fork WAL receiver process: %m"
+msgstr "no se pudo lanzar el proceso receptor de WAL: %m"
 
-#: replication/logical/launcher.c:295
+#: postmaster/postmaster.c:5527
 #, c-format
-msgid "starting logical replication worker for subscription \"%s\""
-msgstr "iniciando el proceso ayudante de replicación lógica para la suscripción «%s»"
+msgid "could not fork process: %m"
+msgstr "no se pudo lanzar el proceso: %m"
 
-#: replication/logical/launcher.c:302
+#: postmaster/postmaster.c:5724 postmaster/postmaster.c:5747
 #, c-format
-msgid "cannot start logical replication workers when max_replication_slots = 0"
-msgstr "no se pueden iniciar procesos ayudantes de replicación cuando max_replication_slots = 0"
+msgid "database connection requirement not indicated during registration"
+msgstr "el requerimiento de conexión a base de datos no fue indicado durante el registro"
 
-#: replication/logical/launcher.c:382
+#: postmaster/postmaster.c:5731 postmaster/postmaster.c:5754
 #, c-format
-msgid "out of logical replication worker slots"
-msgstr "se agotaron los slots de procesos ayudantes de replicación"
+msgid "invalid processing mode in background worker"
+msgstr "modo de procesamiento no válido en proceso ayudante"
 
-#: replication/logical/launcher.c:383
+#: postmaster/postmaster.c:5827
 #, c-format
-msgid "You might need to increase max_logical_replication_workers."
-msgstr "Puede ser necesario incrementar max_logical_replication_workers."
+msgid "starting background worker process \"%s\""
+msgstr "iniciando el proceso ayudante «%s»"
 
-#: replication/logical/launcher.c:438
+#: postmaster/postmaster.c:5839
 #, c-format
-msgid "out of background worker slots"
-msgstr "se acabaron los slots de procesos ayudante"
+msgid "could not fork worker process: %m"
+msgstr "no se pudo lanzar el proceso ayudante: %m"
 
-#: replication/logical/launcher.c:439
+#: postmaster/postmaster.c:5952
 #, c-format
-msgid "You might need to increase max_worker_processes."
-msgstr "Puede ser necesario incrementar max_worker_processes."
+msgid "no slot available for new worker process"
+msgstr "no hay slot disponible para un nuevo proceso ayudante"
 
-#: replication/logical/launcher.c:638
+#: postmaster/postmaster.c:6287
 #, c-format
-msgid "logical replication worker slot %d is empty, cannot attach"
-msgstr "el slot del worker de replicación lógica %d está vacío, no se puede adjuntar"
+msgid "could not duplicate socket %d for use in backend: error code %d"
+msgstr "no se pudo duplicar el socket %d para su empleo en el backend: código de error %d"
 
-#: replication/logical/launcher.c:647
+#: postmaster/postmaster.c:6319
 #, c-format
-msgid "logical replication worker slot %d is already used by another worker, cannot attach"
-msgstr "el slot de replicación lógica %d ya está siendo utilizado por otro worker, no se puede adjuntar"
+msgid "could not create inherited socket: error code %d\n"
+msgstr "no se pudo crear el socket heradado: código de error %d\n"
 
-#: replication/logical/launcher.c:951
+#: postmaster/postmaster.c:6348
 #, c-format
-msgid "logical replication launcher started"
-msgstr "lanzador de replicación lógica iniciado"
+msgid "could not open backend variables file \"%s\": %s\n"
+msgstr "no se pudo abrir el archivo de variables de servidor «%s»: %s\n"
 
-# FIXME see slot.c:779.  See also  postmaster.c:835
-#: replication/logical/logical.c:87
+#: postmaster/postmaster.c:6355
 #, c-format
-msgid "logical decoding requires wal_level >= logical"
-msgstr "la decodificación lógica requiere wal_level >= logical"
+msgid "could not read from backend variables file \"%s\": %s\n"
+msgstr "no se pudo leer el archivo de variables de servidor «%s»: %s\n"
 
-#: replication/logical/logical.c:92
+#: postmaster/postmaster.c:6364
 #, c-format
-msgid "logical decoding requires a database connection"
-msgstr "decodificación lógica requiere una conexión a una base de datos"
+msgid "could not remove file \"%s\": %s\n"
+msgstr "no se pudo eliminar el archivo «%s»: %s\n"
 
-#: replication/logical/logical.c:110
+#: postmaster/postmaster.c:6381
 #, c-format
-msgid "logical decoding cannot be used while in recovery"
-msgstr "la decodificación lógica no puede ejecutarse durante la recuperación"
+msgid "could not map view of backend variables: error code %lu\n"
+msgstr "no se pudo mapear la vista del archivo de variables: código de error %lu\n"
 
-#: replication/logical/logical.c:258 replication/logical/logical.c:399
+#: postmaster/postmaster.c:6390
 #, c-format
-msgid "cannot use physical replication slot for logical decoding"
-msgstr "no se puede usar un slot de replicación física para decodificación lógica"
+msgid "could not unmap view of backend variables: error code %lu\n"
+msgstr "no se pudo desmapear la vista del archivo de variables: código de error %lu\n"
 
-#: replication/logical/logical.c:263 replication/logical/logical.c:404
+#: postmaster/postmaster.c:6397
 #, c-format
-msgid "replication slot \"%s\" was not created in this database"
-msgstr "el slot de replicación «%s» no fue creado en esta base de datos"
+msgid "could not close handle to backend parameter variables: error code %lu\n"
+msgstr "no se pudo cerrar el archivo de variables de servidor: código de error %lu\n"
 
-#: replication/logical/logical.c:270
+#: postmaster/postmaster.c:6575
 #, c-format
-msgid "cannot create logical replication slot in transaction that has performed writes"
-msgstr "no se puede crear un slot de replicación lógica en una transacción que ha efectuado escrituras"
+msgid "could not read exit code for process\n"
+msgstr "no se pudo leer el código de salida del proceso\n"
 
-#: replication/logical/logical.c:444
+#: postmaster/postmaster.c:6580
 #, c-format
-msgid "starting logical decoding for slot \"%s\""
-msgstr "iniciando la decodificación lógica para el slot «%s»"
+msgid "could not post child completion status\n"
+msgstr "no se pudo publicar el estado de completitud del proceso hijo\n"
 
-#: replication/logical/logical.c:446
+#: postmaster/syslogger.c:474 postmaster/syslogger.c:1153
 #, c-format
-msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
-msgstr "Transacciones en flujo comprometiendo después de %X/%X, leyendo WAL desde %X/%X."
+msgid "could not read from logger pipe: %m"
+msgstr "no se pudo leer desde la tubería de log: %m"
 
-#: replication/logical/logical.c:593
+#: postmaster/syslogger.c:522
 #, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
-msgstr "slot «%s», plugin de salida «%s», en el callback %s, LSN asociado %X/%X"
+msgid "logger shutting down"
+msgstr "proceso logger apagándose"
 
-# FIXME must quote callback name?  Need a translator: comment?
-#: replication/logical/logical.c:600
+#: postmaster/syslogger.c:571 postmaster/syslogger.c:585
 #, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
-msgstr "slot «%s», plugin de salida «%s», en el callback %s"
+msgid "could not create pipe for syslog: %m"
+msgstr "no se pudo crear la tubería para syslog: %m"
 
-#: replication/logical/logicalfuncs.c:104 replication/slotfuncs.c:34
+#: postmaster/syslogger.c:636
 #, c-format
-msgid "must be superuser or replication role to use replication slots"
-msgstr "debe ser superusuario o rol de replicación para usar slots de replicación"
+msgid "could not fork system logger: %m"
+msgstr "no se pudo crear el proceso de log: %m"
 
-#: replication/logical/logicalfuncs.c:134
+#: postmaster/syslogger.c:672
 #, c-format
-msgid "slot name must not be null"
-msgstr "el nombre de slot no debe ser null"
+msgid "redirecting log output to logging collector process"
+msgstr "redirigiendo la salida del registro al proceso recolector de registro"
 
-#: replication/logical/logicalfuncs.c:150
+#: postmaster/syslogger.c:673
 #, c-format
-msgid "options array must not be null"
-msgstr "el array de opciones no debe ser null"
+msgid "Future log output will appear in directory \"%s\"."
+msgstr "La salida futura del registro aparecerá en el directorio «%s»."
 
-#: replication/logical/logicalfuncs.c:181
+#: postmaster/syslogger.c:681
 #, c-format
-msgid "array must be one-dimensional"
-msgstr "el array debe ser unidimensional"
+msgid "could not redirect stdout: %m"
+msgstr "no se pudo redirigir stdout: %m"
 
-#: replication/logical/logicalfuncs.c:187
+#: postmaster/syslogger.c:686 postmaster/syslogger.c:703
 #, c-format
-msgid "array must not contain nulls"
-msgstr "el array no debe contener nulls"
+msgid "could not redirect stderr: %m"
+msgstr "no se pudo redirigir stderr: %m"
 
-#: replication/logical/logicalfuncs.c:203 utils/adt/json.c:1128
-#: utils/adt/jsonb.c:1303
+#: postmaster/syslogger.c:1108
 #, c-format
-msgid "array must have even number of elements"
-msgstr "el array debe tener un número par de elementos"
+msgid "could not write to log file: %s\n"
+msgstr "no se pudo escribir al archivo de log: %s\n"
 
-#: replication/logical/logicalfuncs.c:251
-#, fuzzy, c-format
-#| msgid "cannot change relation \"%s\""
-msgid "can no longer get changes from replication slot \"%s\""
-msgstr "no se puede cambiar la relación «%s»"
+#: postmaster/syslogger.c:1225
+#, c-format
+msgid "could not open log file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de registro «%s»: %m"
 
-#: replication/logical/logicalfuncs.c:253 replication/slotfuncs.c:648
+#: postmaster/syslogger.c:1287 postmaster/syslogger.c:1337
 #, c-format
-msgid "This slot has never previously reserved WAL, or has been invalidated."
-msgstr "Este slot nunca ha reservado WAL previamente, o ha sido invalidado."
+msgid "disabling automatic rotation (use SIGHUP to re-enable)"
+msgstr "desactivando rotación automática (use SIGHUP para reactivarla)"
 
-#: replication/logical/logicalfuncs.c:265
+#: regex/regc_pg_locale.c:262
 #, c-format
-msgid "logical decoding output plugin \"%s\" produces binary output, but function \"%s\" expects textual data"
-msgstr "el plugin de salida de decodificación lógica «%s» produce salida binaria, pero «%s» espera datos textuales"
+msgid "could not determine which collation to use for regular expression"
+msgstr "no se pudo determinar qué ordenamiento usar para la expresión regular"
 
-#: replication/logical/origin.c:188
+#: regex/regc_pg_locale.c:269
 #, c-format
-msgid "only superusers can query or manipulate replication origins"
-msgstr "debe ser superusuario para consultar o manipular orígenes de replicación"
+msgid "nondeterministic collations are not supported for regular expressions"
+msgstr "los ordenamientos no determinísticos no están soportados para expresiones regulares"
 
-#: replication/logical/origin.c:193
+#: repl_gram.y:349 repl_gram.y:381
 #, c-format
-msgid "cannot query or manipulate replication origin when max_replication_slots = 0"
-msgstr "no se puede consultar o manipular orígenes de replicación cuando max_replication_slots = 0"
+msgid "invalid timeline %u"
+msgstr "timeline %u no válido"
 
-#: replication/logical/origin.c:198
+#: repl_scanner.l:131
+msgid "invalid streaming start location"
+msgstr "posición de inicio de flujo de WAL no válida"
+
+#: repl_scanner.l:182 scan.l:717
+msgid "unterminated quoted string"
+msgstr "una cadena de caracteres entre comillas está inconclusa"
+
+#: replication/backup_manifest.c:236
 #, c-format
-msgid "cannot manipulate replication origins during recovery"
-msgstr "no se puede manipular orígenes de replicación durante la recuperación"
+msgid "expected end timeline %u but found timeline %u"
+msgstr "se esperaba el timeline de término %u pero se encontró el tieneline %u"
 
-#: replication/logical/origin.c:233
+#: replication/backup_manifest.c:253
 #, c-format
-msgid "replication origin \"%s\" does not exist"
-msgstr "no existe el origen de replicación «%s»"
+msgid "expected start timeline %u but found timeline %u"
+msgstr "se esperaba el timeline de inicio %u pero se encontró el timeline %u"
 
-#: replication/logical/origin.c:324
+#: replication/backup_manifest.c:280
 #, c-format
-msgid "could not find free replication origin OID"
-msgstr "no se pudo encontrar un OID de origen de replicación libre"
+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"
 
-#: replication/logical/origin.c:372
+#: replication/backup_manifest.c:327
 #, c-format
-msgid "could not drop replication origin with OID %d, in use by PID %d"
-msgstr "no se pudo eliminar el origen de replicación con OID %d, en uso por el PID %d"
+msgid "could not rewind temporary file"
+msgstr "no se puede rebobinar el archivo temporal"
 
-#: replication/logical/origin.c:464
+#: replication/backup_manifest.c:354
 #, c-format
-msgid "replication origin with OID %u does not exist"
-msgstr "el origen de replicación con OID %u no existe"
+msgid "could not read from temporary file: %m"
+msgstr "no se pudo leer del archivo temporal: %m"
 
-#: replication/logical/origin.c:729
+#: replication/basebackup.c:108
 #, c-format
-msgid "replication checkpoint has wrong magic %u instead of %u"
-msgstr "el checkpoint de replicación tiene número mágico erróneo %u en lugar de %u"
+msgid "could not read from file \"%s\""
+msgstr "no se pudo leer del archivo «%s»"
 
-#: replication/logical/origin.c:770
+#: replication/basebackup.c:551
 #, c-format
-msgid "could not find free replication state, increase max_replication_slots"
-msgstr "no se pudo encontrar una estructura de replicación libre, incremente max_replication_slots"
+msgid "could not find any WAL files"
+msgstr "no se pudo encontrar ningún archivo de WAL"
 
-#: replication/logical/origin.c:788
+#: replication/basebackup.c:566 replication/basebackup.c:582
+#: replication/basebackup.c:591
 #, c-format
-msgid "replication slot checkpoint has wrong checksum %u, expected %u"
-msgstr "el checkpoint del slot de replicación tiene suma de verificación errónea %u, se esperaba %u"
+msgid "could not find WAL file \"%s\""
+msgstr "no se pudo encontrar archivo de WAL «%s»"
 
-#: replication/logical/origin.c:916 replication/logical/origin.c:1102
+#: replication/basebackup.c:634 replication/basebackup.c:665
 #, c-format
-msgid "replication origin with OID %d is already active for PID %d"
-msgstr "el origen de replicación con OID %d ya está activo para el PID %d"
+msgid "unexpected WAL file size \"%s\""
+msgstr "tamaño del archivo WAL «%s» inesperado"
 
-#: replication/logical/origin.c:927 replication/logical/origin.c:1114
+#: replication/basebackup.c:648 replication/basebackup.c:1752
 #, c-format
-msgid "could not find free replication state slot for replication origin with OID %u"
-msgstr "no se pudo encontrar un slot libre para el estado del origen de replicación con OID %u"
+msgid "base backup could not send data, aborting backup"
+msgstr "el respaldo base no pudo enviar datos, abortando el respaldo"
 
-#: replication/logical/origin.c:929 replication/logical/origin.c:1116
-#: replication/slot.c:1762
+#: replication/basebackup.c:724
+#, fuzzy, c-format
+#| msgid "%lld total checksum verification failures"
+msgid "%lld total checksum verification failure"
+msgid_plural "%lld total checksum verification failures"
+msgstr[0] "%lld fallas de verificación de suma de comprobación en total"
+msgstr[1] "%lld fallas de verificación de suma de comprobación en total"
+
+#: replication/basebackup.c:731
 #, c-format
-msgid "Increase max_replication_slots and try again."
-msgstr "Aumente max_replication_slots y reintente."
+msgid "checksum verification failure during base backup"
+msgstr "falla en verificación de checksums durante respaldo base"
 
-#: replication/logical/origin.c:1073
+#: replication/basebackup.c:784 replication/basebackup.c:793
+#: replication/basebackup.c:802 replication/basebackup.c:811
+#: replication/basebackup.c:820 replication/basebackup.c:831
+#: replication/basebackup.c:848 replication/basebackup.c:857
+#: replication/basebackup.c:869 replication/basebackup.c:893
 #, c-format
-msgid "cannot setup replication origin when one is already setup"
-msgstr "no se puede establecer un destino de replicación cuando ya hay uno definido"
+msgid "duplicate option \"%s\""
+msgstr "nombre de opción «%s» duplicada"
 
-#: replication/logical/origin.c:1153 replication/logical/origin.c:1369
-#: replication/logical/origin.c:1389
+#: replication/basebackup.c:837
 #, c-format
-msgid "no replication origin is configured"
-msgstr "no hay un destino de replicación configurado"
+msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
+msgstr "%d está fuera del rango aceptable para el parámetro «%s» (%d .. %d)"
 
-#: replication/logical/origin.c:1236
+#: replication/basebackup.c:882
 #, c-format
-msgid "replication origin name \"%s\" is reserved"
-msgstr "el nombre de origen de replicación «%s» está reservado"
+msgid "unrecognized manifest option: \"%s\""
+msgstr "opción de manifiesto «%s» no reconocida"
 
-#: replication/logical/origin.c:1238
+#: replication/basebackup.c:898
 #, c-format
-msgid "Origin names starting with \"pg_\" are reserved."
-msgstr "Los nombres de origen que empiezan con «pg_» están reservados."
+msgid "unrecognized checksum algorithm: \"%s\""
+msgstr "algoritmo de suma de comprobación no reconocido: \"%s\""
 
-#: replication/logical/relation.c:272
+#: replication/basebackup.c:913
+#, fuzzy, c-format
+#| msgid "manifest checksum mismatch"
+msgid "manifest checksums require a backup manifest"
+msgstr "discordancia en la suma de comprobación del manifiesto"
+
+#: replication/basebackup.c:1504
 #, c-format
-msgid "logical replication target relation \"%s.%s\" does not exist"
-msgstr "la relación destino de replicación lógica «%s.%s» no existe"
+msgid "skipping special file \"%s\""
+msgstr "omitiendo el archivo especial «%s»"
 
-#: replication/logical/relation.c:329
+#: replication/basebackup.c:1623
 #, c-format
-msgid "logical replication target relation \"%s.%s\" is missing some replicated columns"
-msgstr "a la relación destino de replicación lógica «%s.%s» le faltan algunas columnas replicadas"
+msgid "invalid segment number %d in file \"%s\""
+msgstr "número de segmento %d no válido en archivo «%s»"
 
-#: replication/logical/relation.c:369
+#: replication/basebackup.c:1642
 #, c-format
-msgid "logical replication target relation \"%s.%s\" uses system columns in REPLICA IDENTITY index"
-msgstr "la relación de destino de replicación lógica «%s.%s» usa columnas de sistemas en el índice REPLICA IDENTITY"
+msgid "could not verify checksum in file \"%s\", block %d: read buffer size %d and page size %d differ"
+msgstr "no se pudo verificar el checksum en el archivo «%s», bloque %d: el tamaño leído %d y el tamaño de página %d difieren"
 
-#: replication/logical/reorderbuffer.c:2663
+#: replication/basebackup.c:1686 replication/basebackup.c:1716
 #, c-format
-msgid "could not write to data file for XID %u: %m"
-msgstr "no se pudo escribir al archivo de datos para el XID %u: %m"
+msgid "could not fseek in file \"%s\": %m"
+msgstr "no se pudo posicionar (fseek) el archivo «%s»: %m"
 
-#: replication/logical/reorderbuffer.c:2850
-#: replication/logical/reorderbuffer.c:2875
+#: replication/basebackup.c:1708
 #, c-format
-msgid "could not read from reorderbuffer spill file: %m"
-msgstr "no se pudo leer desde el archivo de desborde de reorderbuffer: %m"
+msgid "could not reread block %d of file \"%s\": %m"
+msgstr "no se pudo leer el bloque %d del archivo «%s»: %m"
 
-#: replication/logical/reorderbuffer.c:2854
-#: replication/logical/reorderbuffer.c:2879
+#: replication/basebackup.c:1732
 #, c-format
-msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes"
-msgstr "no se pudo leer desde el archivo de desborde de reorderbuffer: se leyeron sólo %d en ve de %u bytes"
+msgid "checksum verification failed in file \"%s\", block %d: calculated %X but expected %X"
+msgstr "verificación de checksums falló en archivo «%s», bloque %d: calculado %X pero se esperaba %X"
 
-#: replication/logical/reorderbuffer.c:3114
+#: replication/basebackup.c:1739
 #, c-format
-msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m"
-msgstr "no se pudo borrar el archivo «%s» durante la eliminación de pg_replslot/%s/xid*: %m"
+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"
 
-# FIXME almost duplicated again!?
-#: replication/logical/reorderbuffer.c:3606
+#: replication/basebackup.c:1807
 #, c-format
-msgid "could not read from file \"%s\": read %d instead of %d bytes"
-msgstr "no se pudo leer del archivo «%s»: se leyeron %d en lugar de %d bytes"
+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"
 
-#: replication/logical/snapbuild.c:606
+#: replication/basebackup.c:1843
 #, c-format
-msgid "initial slot snapshot too large"
-msgstr "el snapshot inicial del slot es demasiado grande"
+msgid "file name too long for tar format: \"%s\""
+msgstr "nombre de archivo demasiado largo para el formato tar: «%s»"
 
-# FIXME: snapshot? instantánea?
-#: replication/logical/snapbuild.c:660
+#: replication/basebackup.c:1848
 #, c-format
-msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID"
-msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs"
-msgstr[0] "se exportó un snapshot de decodificación lógica: «%s» con %u ID de transacción"
-msgstr[1] "se exportó un snapshot de decodificación lógica: «%s» con %u IDs de transacción"
+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»"
 
-#: replication/logical/snapbuild.c:1265 replication/logical/snapbuild.c:1358
-#: replication/logical/snapbuild.c:1912
+#: replication/libpqwalreceiver/libpqwalreceiver.c:227
+#, fuzzy, c-format
+#| msgid "could not clear search_path: %s"
+msgid "could not clear search path: %s"
+msgstr "no se pudo limpiar search_path: %s"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:256
 #, c-format
-msgid "logical decoding found consistent point at %X/%X"
-msgstr "la decodificación lógica encontró un punto consistente en %X/%X"
+msgid "invalid connection string syntax: %s"
+msgstr "sintaxis de cadena de conexión no válida: %s"
 
-#: replication/logical/snapbuild.c:1267
+#: replication/libpqwalreceiver/libpqwalreceiver.c:281
 #, c-format
-msgid "There are no running transactions."
-msgstr "No hay transacciones en ejecución."
+msgid "could not parse connection string: %s"
+msgstr "no se pudo interpretar la cadena de conexión: %s"
 
-#: replication/logical/snapbuild.c:1309
+#: replication/libpqwalreceiver/libpqwalreceiver.c:353
 #, c-format
-msgid "logical decoding found initial starting point at %X/%X"
-msgstr "decodificación lógica encontró punto de inicio en %X/%X"
+msgid "could not receive database system identifier and timeline ID from the primary server: %s"
+msgstr "no se pudo recibir el identificador de sistema y el ID de timeline del servidor primario: %s"
 
-#: replication/logical/snapbuild.c:1311 replication/logical/snapbuild.c:1335
+#: replication/libpqwalreceiver/libpqwalreceiver.c:364
+#: replication/libpqwalreceiver/libpqwalreceiver.c:582
 #, c-format
-msgid "Waiting for transactions (approximately %d) older than %u to end."
-msgstr "Esperando que las (aproximadamente %d) transacciones más antiguas que %u terminen."
+msgid "invalid response from primary server"
+msgstr "respuesta no válida del servidor primario"
 
-#: replication/logical/snapbuild.c:1333
+#: replication/libpqwalreceiver/libpqwalreceiver.c:365
 #, c-format
-msgid "logical decoding found initial consistent point at %X/%X"
-msgstr "la decodificación lógica encontró un punto consistente inicial en %X/%X"
+msgid "Could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields."
+msgstr "No se pudo identificar el sistema: se obtuvieron %d filas y %d campos, se esperaban %d filas y %d o más campos."
 
-#: replication/logical/snapbuild.c:1360
+#: replication/libpqwalreceiver/libpqwalreceiver.c:438
+#: replication/libpqwalreceiver/libpqwalreceiver.c:444
+#: replication/libpqwalreceiver/libpqwalreceiver.c:469
 #, c-format
-msgid "There are no old transactions anymore."
-msgstr "Ya no hay transacciones antiguas en ejecución."
+msgid "could not start WAL streaming: %s"
+msgstr "no se pudo iniciar el flujo de WAL: %s"
 
-# FIXME "snapbuild"?
-#: replication/logical/snapbuild.c:1754
+#: replication/libpqwalreceiver/libpqwalreceiver.c:492
 #, c-format
-msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u"
-msgstr "el archivo de estado de snapbuild «%s» tiene número mágico erróneo: %u en lugar de %u"
+msgid "could not send end-of-streaming message to primary: %s"
+msgstr "no se pudo enviar el mensaje fin-de-flujo al primario: %s"
 
-#: replication/logical/snapbuild.c:1760
+#: replication/libpqwalreceiver/libpqwalreceiver.c:514
 #, c-format
-msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u"
-msgstr "el archivo de estado de snapbuild «%s» tiene versión no soportada: %u en vez de %u"
+msgid "unexpected result set after end-of-streaming"
+msgstr "conjunto de resultados inesperado después del fin-de-flujo"
 
-#: replication/logical/snapbuild.c:1859
+#: replication/libpqwalreceiver/libpqwalreceiver.c:528
 #, c-format
-msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u"
-msgstr "suma de verificación no coincidente para el archivo de estado de snapbuild «%s»: es %u, debería ser %u"
+msgid "error while shutting down streaming COPY: %s"
+msgstr "ocurrió un error mientras se apagaba el flujo COPY: %s"
 
-#: replication/logical/snapbuild.c:1914
+#: replication/libpqwalreceiver/libpqwalreceiver.c:537
 #, c-format
-msgid "Logical decoding will begin using saved snapshot."
-msgstr "La decodificación lógica comenzará usando el snapshot guardado."
+msgid "error reading result of streaming command: %s"
+msgstr "ocurrió un error mientras se leía la orden de flujo: %s"
 
-#: replication/logical/snapbuild.c:1986
+#: replication/libpqwalreceiver/libpqwalreceiver.c:545
+#: replication/libpqwalreceiver/libpqwalreceiver.c:779
 #, c-format
-msgid "could not parse file name \"%s\""
-msgstr "no se pudo interpretar el nombre de archivo «%s»"
+msgid "unexpected result after CommandComplete: %s"
+msgstr "resultado inesperado después de CommandComplete: %s"
 
-#: replication/logical/tablesync.c:132
+#: replication/libpqwalreceiver/libpqwalreceiver.c:571
 #, c-format
-msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has finished"
-msgstr "el ayudante de sincronización de tabla de replicación lógica para la suscripción «%s», tabla «%s» ha terminado"
+msgid "could not receive timeline history file from the primary server: %s"
+msgstr "no se pudo recibir el archivo de historia de timeline del servidor primario: %s"
 
-#: replication/logical/tablesync.c:664
+#: replication/libpqwalreceiver/libpqwalreceiver.c:583
 #, c-format
-msgid "could not fetch table info for table \"%s.%s\" from publisher: %s"
-msgstr "no se pudo obtener información de la tabla «%s.%s» del editor (publisher): %s"
+msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields."
+msgstr "Se esperaba 1 tupla con 2 campos, se obtuvieron %d tuplas con %d campos."
 
-#: replication/logical/tablesync.c:670
+#: replication/libpqwalreceiver/libpqwalreceiver.c:743
+#: replication/libpqwalreceiver/libpqwalreceiver.c:794
+#: replication/libpqwalreceiver/libpqwalreceiver.c:800
 #, c-format
-msgid "table \"%s.%s\" not found on publisher"
-msgstr "la tabla \"%s.%s\" no fue encontrada en el editor (publisher)"
+msgid "could not receive data from WAL stream: %s"
+msgstr "no se pudo recibir datos desde el flujo de WAL: %s"
 
-#: replication/logical/tablesync.c:704
+#: replication/libpqwalreceiver/libpqwalreceiver.c:819
 #, c-format
-msgid "could not fetch table info for table \"%s.%s\": %s"
-msgstr "no se pudo obtener información de la tabla «%s.%s»: %s"
+msgid "could not send data to WAL stream: %s"
+msgstr "no se pudo enviar datos al flujo de WAL: %s"
 
-#: replication/logical/tablesync.c:791
+#: replication/libpqwalreceiver/libpqwalreceiver.c:872
 #, c-format
-msgid "could not start initial contents copy for table \"%s.%s\": %s"
-msgstr "no se pudo iniciar la copia de contenido inicial para de la tabla «%s.%s»: %s"
+msgid "could not create replication slot \"%s\": %s"
+msgstr "no se pudo create el slot de replicación «%s»: %s"
 
-#: replication/logical/tablesync.c:905
+#: replication/libpqwalreceiver/libpqwalreceiver.c:917
 #, c-format
-msgid "table copy could not start transaction on publisher"
-msgstr "la copia de la tabla no pudo iniciar una transacción en el editor (publisher)"
+msgid "invalid query response"
+msgstr "respuesta no válida a consulta"
 
-#: replication/logical/tablesync.c:927
+#: replication/libpqwalreceiver/libpqwalreceiver.c:918
 #, c-format
-msgid "table copy could not finish transaction on publisher"
-msgstr "la copia de tabla no pudo terminar la transacción en el editor (publisher)"
+msgid "Expected %d fields, got %d fields."
+msgstr "Se esperaban %d campos, se obtuvieron %d campos."
 
-#: replication/logical/worker.c:313
+#: replication/libpqwalreceiver/libpqwalreceiver.c:987
 #, c-format
-msgid "processing remote data for replication target relation \"%s.%s\" column \"%s\", remote type %s, local type %s"
-msgstr "Procesamiento de datos remotos para la relación de destino de replicación \"%s.%s\" columna \"%s\", tipo remoto %s, tipo local %s"
+msgid "the query interface requires a database connection"
+msgstr "la interfaz de consulta requiere una conexión a base de datos"
 
-#: replication/logical/worker.c:552
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1018
+msgid "empty query"
+msgstr "consulta vacía"
+
+#: replication/logical/launcher.c:295
 #, c-format
-msgid "ORIGIN message sent out of order"
-msgstr "mensaje ORIGIN enviado fuera de orden"
+msgid "starting logical replication worker for subscription \"%s\""
+msgstr "iniciando el proceso ayudante de replicación lógica para la suscripción «%s»"
 
-#: replication/logical/worker.c:702
+#: replication/logical/launcher.c:302
 #, c-format
-msgid "publisher did not send replica identity column expected by the logical replication target relation \"%s.%s\""
-msgstr "el editor (publisher) no envía la columna identidad de réplica esperada por la relación de destino de replicación lógica «%s.%s»"
+msgid "cannot start logical replication workers when max_replication_slots = 0"
+msgstr "no se pueden iniciar procesos ayudantes de replicación cuando max_replication_slots = 0"
 
-#: replication/logical/worker.c:709
+#: replication/logical/launcher.c:382
 #, c-format
-msgid "logical replication target relation \"%s.%s\" has neither REPLICA IDENTITY index nor PRIMARY KEY and published relation does not have REPLICA IDENTITY FULL"
-msgstr "la relación destino de replicación lógica «%s.%s» no tiene índice REPLICA IDENTITY ni PRIMARY KEY y la relación publicada no tiene REPLICA IDENTITY FULL"
+msgid "out of logical replication worker slots"
+msgstr "se agotaron los slots de procesos ayudantes de replicación"
 
-#: replication/logical/worker.c:1394
+#: replication/logical/launcher.c:383
 #, c-format
-msgid "invalid logical replication message type \"%c\""
-msgstr "tipo de mensaje de replicación lógica «%c» no válido"
+msgid "You might need to increase max_logical_replication_workers."
+msgstr "Puede ser necesario incrementar max_logical_replication_workers."
 
-#: replication/logical/worker.c:1537
+#: replication/logical/launcher.c:438
 #, c-format
-msgid "data stream from publisher has ended"
-msgstr "el flujo de datos del publisher ha terminado"
+msgid "out of background worker slots"
+msgstr "se acabaron los slots de procesos ayudante"
 
-#: replication/logical/worker.c:1692
+#: replication/logical/launcher.c:439
 #, c-format
-msgid "terminating logical replication worker due to timeout"
-msgstr "terminando el proceso de replicación lógica debido a que se agotó el tiempo de espera"
+msgid "You might need to increase max_worker_processes."
+msgstr "Puede ser necesario incrementar max_worker_processes."
 
-#: replication/logical/worker.c:1837
+#: replication/logical/launcher.c:638
 #, c-format
-msgid "logical replication apply worker for subscription \"%s\" will stop because the subscription was removed"
-msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se detendrá porque la suscripción fue eliminada"
+msgid "logical replication worker slot %d is empty, cannot attach"
+msgstr "el slot del worker de replicación lógica %d está vacío, no se puede adjuntar"
 
-#: replication/logical/worker.c:1851
+#: replication/logical/launcher.c:647
 #, c-format
-msgid "logical replication apply worker for subscription \"%s\" will stop because the subscription was disabled"
-msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se detendrá porque la suscripción fue inhabilitada"
+msgid "logical replication worker slot %d is already used by another worker, cannot attach"
+msgstr "el slot de replicación lógica %d ya está siendo utilizado por otro worker, no se puede adjuntar"
 
-#: replication/logical/worker.c:1865
+#: replication/logical/launcher.c:951
 #, c-format
-msgid "logical replication apply worker for subscription \"%s\" will restart because the connection information was changed"
-msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará porque la información de conexión fue cambiada"
+msgid "logical replication launcher started"
+msgstr "lanzador de replicación lógica iniciado"
 
-#: replication/logical/worker.c:1879
+# FIXME see slot.c:779.  See also  postmaster.c:835
+#: replication/logical/logical.c:87
 #, c-format
-msgid "logical replication apply worker for subscription \"%s\" will restart because subscription was renamed"
-msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará porque a la suscripción se le cambió el nombre"
+msgid "logical decoding requires wal_level >= logical"
+msgstr "la decodificación lógica requiere wal_level >= logical"
 
-#: replication/logical/worker.c:1896
+#: replication/logical/logical.c:92
 #, c-format
-msgid "logical replication apply worker for subscription \"%s\" will restart because the replication slot name was changed"
-msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará porque el nombre del slot de replicación fue cambiado"
+msgid "logical decoding requires a database connection"
+msgstr "decodificación lógica requiere una conexión a una base de datos"
 
-#: replication/logical/worker.c:1910
+#: replication/logical/logical.c:110
 #, c-format
-msgid "logical replication apply worker for subscription \"%s\" will restart because subscription's publications were changed"
-msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará porque las publicaciones de la suscripción fueron cambiadas"
+msgid "logical decoding cannot be used while in recovery"
+msgstr "la decodificación lógica no puede ejecutarse durante la recuperación"
 
-#: replication/logical/worker.c:2006
+#: replication/logical/logical.c:258 replication/logical/logical.c:399
 #, c-format
-msgid "logical replication apply worker for subscription %u will not start because the subscription was removed during startup"
-msgstr "el ayudante «apply» de replicación lógica para la suscripción %u no se iniciará porque la suscripción fue eliminada durante el inicio"
+msgid "cannot use physical replication slot for logical decoding"
+msgstr "no se puede usar un slot de replicación física para decodificación lógica"
 
-#: replication/logical/worker.c:2018
+#: replication/logical/logical.c:263 replication/logical/logical.c:404
 #, c-format
-msgid "logical replication apply worker for subscription \"%s\" will not start because the subscription was disabled during startup"
-msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» no se iniciará porque la suscripción fue inhabilitada durante el inicio"
+msgid "replication slot \"%s\" was not created in this database"
+msgstr "el slot de replicación «%s» no fue creado en esta base de datos"
 
-#: replication/logical/worker.c:2036
+#: replication/logical/logical.c:270
 #, c-format
-msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started"
-msgstr "el ayudante de sincronización de tabla de replicación lógica para la suscripción «%s», tabla «%s» ha iniciado"
+msgid "cannot create logical replication slot in transaction that has performed writes"
+msgstr "no se puede crear un slot de replicación lógica en una transacción que ha efectuado escrituras"
 
-#: replication/logical/worker.c:2040
+#: replication/logical/logical.c:444
 #, c-format
-msgid "logical replication apply worker for subscription \"%s\" has started"
-msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» ha iniciado"
+msgid "starting logical decoding for slot \"%s\""
+msgstr "iniciando la decodificación lógica para el slot «%s»"
 
-#: replication/logical/worker.c:2079
+#: replication/logical/logical.c:446
 #, c-format
-msgid "subscription has no replication slot set"
-msgstr "la suscripción no tiene un slot de replicación establecido"
+msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
+msgstr "Transacciones en flujo comprometiendo después de %X/%X, leyendo WAL desde %X/%X."
 
-#: replication/pgoutput/pgoutput.c:147
+#: replication/logical/logical.c:593
 #, c-format
-msgid "invalid proto_version"
-msgstr "proto_version no válido"
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
+msgstr "slot «%s», plugin de salida «%s», en el callback %s, LSN asociado %X/%X"
 
-#: replication/pgoutput/pgoutput.c:152
+# FIXME must quote callback name?  Need a translator: comment?
+#: replication/logical/logical.c:600
 #, c-format
-msgid "proto_version \"%s\" out of range"
-msgstr "proto_version «%s» fuera de rango"
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
+msgstr "slot «%s», plugin de salida «%s», en el callback %s"
 
-#: replication/pgoutput/pgoutput.c:169
+#: replication/logical/logicalfuncs.c:104 replication/slotfuncs.c:34
 #, c-format
-msgid "invalid publication_names syntax"
-msgstr "sintaxis de publication_names no válida"
+msgid "must be superuser or replication role to use replication slots"
+msgstr "debe ser superusuario o rol de replicación para usar slots de replicación"
 
-#: replication/pgoutput/pgoutput.c:211
+#: replication/logical/logicalfuncs.c:134
 #, c-format
-msgid "client sent proto_version=%d but we only support protocol %d or lower"
-msgstr "el cliente envió proto_version=%d pero sólo soportamos el protocolo %d o inferior"
+msgid "slot name must not be null"
+msgstr "el nombre de slot no debe ser null"
 
-#: replication/pgoutput/pgoutput.c:217
+#: replication/logical/logicalfuncs.c:150
 #, c-format
-msgid "client sent proto_version=%d but we only support protocol %d or higher"
-msgstr "el cliente envió proto_version=%d pero sólo soportamos el protocolo %d o superior"
+msgid "options array must not be null"
+msgstr "el array de opciones no debe ser null"
 
-#: replication/pgoutput/pgoutput.c:223
+#: replication/logical/logicalfuncs.c:181
 #, c-format
-msgid "publication_names parameter missing"
-msgstr "parámetro publication_names faltante"
+msgid "array must be one-dimensional"
+msgstr "el array debe ser unidimensional"
 
-#: replication/slot.c:183
+#: replication/logical/logicalfuncs.c:187
 #, c-format
-msgid "replication slot name \"%s\" is too short"
-msgstr "el nombre de slot de replicación «%s» es demasiado corto"
+msgid "array must not contain nulls"
+msgstr "el array no debe contener nulls"
 
-#: replication/slot.c:192
+#: replication/logical/logicalfuncs.c:203 utils/adt/json.c:1128
+#: utils/adt/jsonb.c:1303
 #, c-format
-msgid "replication slot name \"%s\" is too long"
-msgstr "el nombre de slot de replicación «%s» es demasiado largo"
+msgid "array must have even number of elements"
+msgstr "el array debe tener un número par de elementos"
+
+#: replication/logical/logicalfuncs.c:251
+#, fuzzy, c-format
+#| msgid "cannot change relation \"%s\""
+msgid "can no longer get changes from replication slot \"%s\""
+msgstr "no se puede cambiar la relación «%s»"
 
-#: replication/slot.c:205
+#: replication/logical/logicalfuncs.c:253 replication/slotfuncs.c:648
 #, c-format
-msgid "replication slot name \"%s\" contains invalid character"
-msgstr "el nombre de slot de replicación «%s» contiene caracteres no válidos"
+msgid "This slot has never previously reserved WAL, or has been invalidated."
+msgstr "Este slot nunca ha reservado WAL previamente, o ha sido invalidado."
 
-#: replication/slot.c:207
+#: replication/logical/logicalfuncs.c:265
 #, c-format
-msgid "Replication slot names may only contain lower case letters, numbers, and the underscore character."
-msgstr "Los nombres de slots de replicación sólo pueden contener letras minúsculas, números y el carácter «_»."
+msgid "logical decoding output plugin \"%s\" produces binary output, but function \"%s\" expects textual data"
+msgstr "el plugin de salida de decodificación lógica «%s» produce salida binaria, pero «%s» espera datos textuales"
 
-#: replication/slot.c:254
+#: replication/logical/origin.c:188
 #, c-format
-msgid "replication slot \"%s\" already exists"
-msgstr "el slot de replicación «%s» ya existe"
+msgid "only superusers can query or manipulate replication origins"
+msgstr "debe ser superusuario para consultar o manipular orígenes de replicación"
 
-#: replication/slot.c:264
+#: replication/logical/origin.c:193
 #, c-format
-msgid "all replication slots are in use"
-msgstr "todos los slots de replicación están en uso"
+msgid "cannot query or manipulate replication origin when max_replication_slots = 0"
+msgstr "no se puede consultar o manipular orígenes de replicación cuando max_replication_slots = 0"
 
-#: replication/slot.c:265
+#: replication/logical/origin.c:198
 #, c-format
-msgid "Free one or increase max_replication_slots."
-msgstr "Libere uno o incremente max_replication_slots."
+msgid "cannot manipulate replication origins during recovery"
+msgstr "no se puede manipular orígenes de replicación durante la recuperación"
 
-#: replication/slot.c:407 replication/slotfuncs.c:760
+#: replication/logical/origin.c:233
 #, c-format
-msgid "replication slot \"%s\" does not exist"
-msgstr "no existe el slot de replicación «%s»"
+msgid "replication origin \"%s\" does not exist"
+msgstr "no existe el origen de replicación «%s»"
 
-#: replication/slot.c:445 replication/slot.c:1006
+#: replication/logical/origin.c:324
 #, c-format
-msgid "replication slot \"%s\" is active for PID %d"
-msgstr "el slot de replicación «%s» está activo para el PID %d"
+msgid "could not find free replication origin OID"
+msgstr "no se pudo encontrar un OID de origen de replicación libre"
 
-#: replication/slot.c:683 replication/slot.c:1314 replication/slot.c:1697
+#: replication/logical/origin.c:372
 #, c-format
-msgid "could not remove directory \"%s\""
-msgstr "no se pudo eliminar el directorio «%s»"
+msgid "could not drop replication origin with OID %d, in use by PID %d"
+msgstr "no se pudo eliminar el origen de replicación con OID %d, en uso por el PID %d"
 
-#: replication/slot.c:1041
+#: replication/logical/origin.c:464
 #, c-format
-msgid "replication slots can only be used if max_replication_slots > 0"
-msgstr "los slots de replicación sólo pueden usarse si max_replication_slots > 0"
+msgid "replication origin with OID %u does not exist"
+msgstr "el origen de replicación con OID %u no existe"
 
-# FIXME see logical.c:81
-#: replication/slot.c:1046
+#: replication/logical/origin.c:729
 #, c-format
-msgid "replication slots can only be used if wal_level >= replica"
-msgstr "los slots de replicación sólo pueden usarse si wal_level >= replica"
-
-#: replication/slot.c:1202
-#, fuzzy, c-format
-#| msgid "terminating walsender process due to replication timeout"
-msgid "terminating process %d because replication slot \"%s\" is too far behind"
-msgstr "terminando el proceso walsender debido a que se agotó el tiempo de espera de replicación"
+msgid "replication checkpoint has wrong magic %u instead of %u"
+msgstr "el checkpoint de replicación tiene número mágico erróneo %u en lugar de %u"
 
-#: replication/slot.c:1221
+#: replication/logical/origin.c:770
 #, c-format
-msgid "invalidating slot \"%s\" because its restart_lsn %X/%X exceeds max_slot_wal_keep_size"
-msgstr "invalidando el slot «%s» porque su restart_lsn %X/%X excede max_slot_wal_keep_size"
+msgid "could not find free replication state, increase max_replication_slots"
+msgstr "no se pudo encontrar una estructura de replicación libre, incremente max_replication_slots"
 
-#: replication/slot.c:1635
+#: replication/logical/origin.c:788
 #, c-format
-msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u"
-msgstr "el archivo de slot de replicación «%s» tiene número mágico erróneo: %u en lugar de %u"
+msgid "replication slot checkpoint has wrong checksum %u, expected %u"
+msgstr "el checkpoint del slot de replicación tiene suma de verificación errónea %u, se esperaba %u"
 
-#: replication/slot.c:1642
+#: replication/logical/origin.c:916 replication/logical/origin.c:1102
 #, c-format
-msgid "replication slot file \"%s\" has unsupported version %u"
-msgstr "el archivo de slot de replicación «%s» tiene versión no soportada %u"
+msgid "replication origin with OID %d is already active for PID %d"
+msgstr "el origen de replicación con OID %d ya está activo para el PID %d"
 
-#: replication/slot.c:1649
+#: replication/logical/origin.c:927 replication/logical/origin.c:1114
 #, c-format
-msgid "replication slot file \"%s\" has corrupted length %u"
-msgstr "el archivo de slot de replicación «%s» tiene largo corrupto %u"
+msgid "could not find free replication state slot for replication origin with OID %u"
+msgstr "no se pudo encontrar un slot libre para el estado del origen de replicación con OID %u"
 
-#: replication/slot.c:1685
+#: replication/logical/origin.c:929 replication/logical/origin.c:1116
+#: replication/slot.c:1762
 #, c-format
-msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u"
-msgstr "suma de verificación no coincidenete en archivo de slot de replicación «%s»: es %u, debería ser %u"
+msgid "Increase max_replication_slots and try again."
+msgstr "Aumente max_replication_slots y reintente."
 
-# FIXME see slot.c:779.  See also  postmaster.c:835
-#: replication/slot.c:1719
+#: replication/logical/origin.c:1073
 #, c-format
-msgid "logical replication slot \"%s\" exists, but wal_level < logical"
-msgstr "existe el slot de replicación lógica «%s», pero wal_level < logical"
+msgid "cannot setup replication origin when one is already setup"
+msgstr "no se puede establecer un destino de replicación cuando ya hay uno definido"
 
-#: replication/slot.c:1721
+#: replication/logical/origin.c:1153 replication/logical/origin.c:1369
+#: replication/logical/origin.c:1389
 #, c-format
-msgid "Change wal_level to be logical or higher."
-msgstr "Cambie wal_level a logical o superior."
+msgid "no replication origin is configured"
+msgstr "no hay un destino de replicación configurado"
 
-# FIXME see slot.c:779.  See also  postmaster.c:835
-#: replication/slot.c:1725
+#: replication/logical/origin.c:1236
 #, c-format
-msgid "physical replication slot \"%s\" exists, but wal_level < replica"
-msgstr "existe el slot de replicación lógica «%s», pero wal_level < logical"
+msgid "replication origin name \"%s\" is reserved"
+msgstr "el nombre de origen de replicación «%s» está reservado"
 
-# <> hello vim
-#: replication/slot.c:1727
+#: replication/logical/origin.c:1238
 #, c-format
-msgid "Change wal_level to be replica or higher."
-msgstr "Cambie wal_level a replica o superior."
+msgid "Origin names starting with \"pg_\" are reserved."
+msgstr "Los nombres de origen que empiezan con «pg_» están reservados."
 
-#: replication/slot.c:1761
+#: replication/logical/relation.c:302
 #, c-format
-msgid "too many replication slots active before shutdown"
-msgstr "demasiados slots de replicacion activos antes del apagado"
+msgid "logical replication target relation \"%s.%s\" does not exist"
+msgstr "la relación destino de replicación lógica «%s.%s» no existe"
 
-#: replication/slotfuncs.c:624
+#: replication/logical/relation.c:345
 #, c-format
-msgid "invalid target WAL LSN"
-msgstr "el LSN de wal de destino no es válido"
-
-#: replication/slotfuncs.c:646
-#, fuzzy, c-format
-#| msgid "replication slot \"%s\" does not exist"
-msgid "replication slot \"%s\" cannot be advanced"
-msgstr "no existe el slot de replicación «%s»"
+msgid "logical replication target relation \"%s.%s\" is missing some replicated columns"
+msgstr "a la relación destino de replicación lógica «%s.%s» le faltan algunas columnas replicadas"
 
-#: replication/slotfuncs.c:664
+#: replication/logical/relation.c:385
 #, c-format
-msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
-msgstr "no puede avanzar un slot de replicación a %X/%X, el mínimo es %X/%X"
+msgid "logical replication target relation \"%s.%s\" uses system columns in REPLICA IDENTITY index"
+msgstr "la relación de destino de replicación lógica «%s.%s» usa columnas de sistemas en el índice REPLICA IDENTITY"
 
-#: replication/slotfuncs.c:772
+#: replication/logical/reorderbuffer.c:2663
 #, c-format
-msgid "cannot copy physical replication slot \"%s\" as a logical replication slot"
-msgstr "no se puede copiar el slot de replicación física «%s» como slot de replicación lógica"
+msgid "could not write to data file for XID %u: %m"
+msgstr "no se pudo escribir al archivo de datos para el XID %u: %m"
 
-#: replication/slotfuncs.c:774
+#: replication/logical/reorderbuffer.c:2850
+#: replication/logical/reorderbuffer.c:2875
 #, c-format
-msgid "cannot copy logical replication slot \"%s\" as a physical replication slot"
-msgstr "no se puede copiar el slot de replicación lógica «%s» como slot de replicación física"
+msgid "could not read from reorderbuffer spill file: %m"
+msgstr "no se pudo leer desde el archivo de desborde de reorderbuffer: %m"
 
-#: replication/slotfuncs.c:781
+#: replication/logical/reorderbuffer.c:2854
+#: replication/logical/reorderbuffer.c:2879
 #, c-format
-msgid "cannot copy a replication slot that doesn't reserve WAL"
-msgstr "no puede copiar un slot de replicación que no ha reservado WAL"
+msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes"
+msgstr "no se pudo leer desde el archivo de desborde de reorderbuffer: se leyeron sólo %d en ve de %u bytes"
 
-#: replication/slotfuncs.c:857
+#: replication/logical/reorderbuffer.c:3114
 #, c-format
-msgid "could not copy replication slot \"%s\""
-msgstr "no se pudo copiar el slot de replicación «%s»"
+msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m"
+msgstr "no se pudo borrar el archivo «%s» durante la eliminación de pg_replslot/%s/xid*: %m"
 
-#: replication/slotfuncs.c:859
+# FIXME almost duplicated again!?
+#: replication/logical/reorderbuffer.c:3606
 #, c-format
-msgid "The source replication slot was modified incompatibly during the copy operation."
-msgstr "El slot de replicación de origen fue modificado incompatiblemente durante la operación de copia."
-
-#: replication/slotfuncs.c:865
-#, fuzzy, c-format
-#| msgid "could not copy replication slot \"%s\""
-msgid "cannot copy unfinished logical replication slot \"%s\""
-msgstr "no se pudo copiar el slot de replicación «%s»"
+msgid "could not read from file \"%s\": read %d instead of %d bytes"
+msgstr "no se pudo leer del archivo «%s»: se leyeron %d en lugar de %d bytes"
 
-#: replication/slotfuncs.c:867
+#: replication/logical/snapbuild.c:606
 #, c-format
-msgid "Retry when the source replication slot's confirmed_flush_lsn is valid."
-msgstr "Reintente cuando el confirmed_flush_lsn del slot de replicación de origen sea válido."
+msgid "initial slot snapshot too large"
+msgstr "el snapshot inicial del slot es demasiado grande"
 
-#: replication/syncrep.c:257
+# FIXME: snapshot? instantánea?
+#: replication/logical/snapbuild.c:660
 #, c-format
-msgid "canceling the wait for synchronous replication and terminating connection due to administrator command"
-msgstr "cancelando la espera para la replicación sincrónica y terminando la conexión debido a una orden del administrador"
+msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID"
+msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs"
+msgstr[0] "se exportó un snapshot de decodificación lógica: «%s» con %u ID de transacción"
+msgstr[1] "se exportó un snapshot de decodificación lógica: «%s» con %u IDs de transacción"
 
-#: replication/syncrep.c:258 replication/syncrep.c:275
+#: replication/logical/snapbuild.c:1265 replication/logical/snapbuild.c:1358
+#: replication/logical/snapbuild.c:1915
 #, c-format
-msgid "The transaction has already committed locally, but might not have been replicated to the standby."
-msgstr "La transacción ya fue comprometida localmente, pero pudo no haber sido replicada al standby."
+msgid "logical decoding found consistent point at %X/%X"
+msgstr "la decodificación lógica encontró un punto consistente en %X/%X"
 
-#: replication/syncrep.c:274
+#: replication/logical/snapbuild.c:1267
 #, c-format
-msgid "canceling wait for synchronous replication due to user request"
-msgstr "cancelando espera para la replicación sincrónica debido a una petición del usuario"
+msgid "There are no running transactions."
+msgstr "No hay transacciones en ejecución."
 
-#: replication/syncrep.c:416
+#: replication/logical/snapbuild.c:1309
 #, c-format
-msgid "standby \"%s\" now has synchronous standby priority %u"
-msgstr "el standby «%s» ahora tiene prioridad sincrónica %u"
+msgid "logical decoding found initial starting point at %X/%X"
+msgstr "decodificación lógica encontró punto de inicio en %X/%X"
 
-#: replication/syncrep.c:483
+#: replication/logical/snapbuild.c:1311 replication/logical/snapbuild.c:1335
 #, c-format
-msgid "standby \"%s\" is now a synchronous standby with priority %u"
-msgstr "el standby «%s» es ahora un standby sincrónico con prioridad %u"
+msgid "Waiting for transactions (approximately %d) older than %u to end."
+msgstr "Esperando que las (aproximadamente %d) transacciones más antiguas que %u terminen."
 
-#: replication/syncrep.c:487
+#: replication/logical/snapbuild.c:1333
 #, c-format
-msgid "standby \"%s\" is now a candidate for quorum synchronous standby"
-msgstr "el standby «%s» es ahora un candidato para standby sincrónico de quórum"
+msgid "logical decoding found initial consistent point at %X/%X"
+msgstr "la decodificación lógica encontró un punto consistente inicial en %X/%X"
 
-#: replication/syncrep.c:1034
+#: replication/logical/snapbuild.c:1360
 #, c-format
-msgid "synchronous_standby_names parser failed"
-msgstr "falló la interpretación de synchronous_standby_names"
+msgid "There are no old transactions anymore."
+msgstr "Ya no hay transacciones antiguas en ejecución."
 
-#: replication/syncrep.c:1040
+# FIXME "snapbuild"?
+#: replication/logical/snapbuild.c:1757
 #, c-format
-msgid "number of synchronous standbys (%d) must be greater than zero"
-msgstr "el argumento de standby sincrónicos (%d) debe ser mayor que cero"
+msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u"
+msgstr "el archivo de estado de snapbuild «%s» tiene número mágico erróneo: %u en lugar de %u"
 
-#: replication/walreceiver.c:171
+#: replication/logical/snapbuild.c:1763
 #, c-format
-msgid "terminating walreceiver process due to administrator command"
-msgstr "terminando el proceso walreceiver debido a una orden del administrador"
+msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u"
+msgstr "el archivo de estado de snapbuild «%s» tiene versión no soportada: %u en vez de %u"
 
-#: replication/walreceiver.c:297
+#: replication/logical/snapbuild.c:1862
 #, c-format
-msgid "could not connect to the primary server: %s"
-msgstr "no se pudo conectar al servidor primario: %s"
+msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u"
+msgstr "suma de verificación no coincidente para el archivo de estado de snapbuild «%s»: es %u, debería ser %u"
 
-#: replication/walreceiver.c:343
+#: replication/logical/snapbuild.c:1917
 #, c-format
-msgid "database system identifier differs between the primary and standby"
-msgstr "el identificador de sistema difiere entre el primario y el standby"
+msgid "Logical decoding will begin using saved snapshot."
+msgstr "La decodificación lógica comenzará usando el snapshot guardado."
 
-#: replication/walreceiver.c:344
+#: replication/logical/snapbuild.c:1989
 #, c-format
-msgid "The primary's identifier is %s, the standby's identifier is %s."
-msgstr "El identificador del primario es %s, el identificador del standby es %s."
+msgid "could not parse file name \"%s\""
+msgstr "no se pudo interpretar el nombre de archivo «%s»"
 
-#: replication/walreceiver.c:354
+#: replication/logical/tablesync.c:132
 #, c-format
-msgid "highest timeline %u of the primary is behind recovery timeline %u"
-msgstr "el timeline más alto del primario, %u, está más atrás que el timeline de recuperación %u"
+msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has finished"
+msgstr "el ayudante de sincronización de tabla de replicación lógica para la suscripción «%s», tabla «%s» ha terminado"
 
-#: replication/walreceiver.c:408
+#: replication/logical/tablesync.c:665
 #, c-format
-msgid "started streaming WAL from primary at %X/%X on timeline %u"
-msgstr "iniciando el flujo de WAL desde el primario en %X/%X en el timeline %u"
+msgid "could not fetch table info for table \"%s.%s\" from publisher: %s"
+msgstr "no se pudo obtener información de la tabla «%s.%s» del editor (publisher): %s"
 
-#: replication/walreceiver.c:413
+#: replication/logical/tablesync.c:671
 #, c-format
-msgid "restarted WAL streaming at %X/%X on timeline %u"
-msgstr "reiniciando el flujo de WAL en %X/%X en el timeline %u"
+msgid "table \"%s.%s\" not found on publisher"
+msgstr "la tabla \"%s.%s\" no fue encontrada en el editor (publisher)"
 
-#: replication/walreceiver.c:442
+#: replication/logical/tablesync.c:707
 #, c-format
-msgid "cannot continue WAL streaming, recovery has already ended"
-msgstr "no se puede continuar el flujo de WAL; la recuperación ya ha terminado"
+msgid "could not fetch table info for table \"%s.%s\": %s"
+msgstr "no se pudo obtener información de la tabla «%s.%s»: %s"
 
-#: replication/walreceiver.c:479
+#: replication/logical/tablesync.c:794
 #, c-format
-msgid "replication terminated by primary server"
-msgstr "replicación terminada por el servidor primario"
+msgid "could not start initial contents copy for table \"%s.%s\": %s"
+msgstr "no se pudo iniciar la copia de contenido inicial para de la tabla «%s.%s»: %s"
 
-#: replication/walreceiver.c:480
+#: replication/logical/tablesync.c:909
 #, c-format
-msgid "End of WAL reached on timeline %u at %X/%X."
-msgstr "Se alcanzó el fin de WAL en el timeline %u en la posición %X/%X."
+msgid "table copy could not start transaction on publisher"
+msgstr "la copia de la tabla no pudo iniciar una transacción en el editor (publisher)"
 
-#: replication/walreceiver.c:568
+#: replication/logical/tablesync.c:931
 #, c-format
-msgid "terminating walreceiver due to timeout"
-msgstr "terminando el proceso walreceiver debido a que se agotó el tiempo de espera"
+msgid "table copy could not finish transaction on publisher"
+msgstr "la copia de tabla no pudo terminar la transacción en el editor (publisher)"
 
-#: replication/walreceiver.c:606
+#: replication/logical/worker.c:311
 #, c-format
-msgid "primary server contains no more WAL on requested timeline %u"
-msgstr "el servidor primario no contiene más WAL en el timeline %u solicitado"
+msgid "processing remote data for replication target relation \"%s.%s\" column \"%s\", remote type %s, local type %s"
+msgstr "Procesamiento de datos remotos para la relación de destino de replicación \"%s.%s\" columna \"%s\", tipo remoto %s, tipo local %s"
 
-#: replication/walreceiver.c:622 replication/walreceiver.c:929
+#: replication/logical/worker.c:550
 #, c-format
-msgid "could not close log segment %s: %m"
-msgstr "no se pudo cerrar archivo de segmento %s: %m"
+msgid "ORIGIN message sent out of order"
+msgstr "mensaje ORIGIN enviado fuera de orden"
 
-#: replication/walreceiver.c:742
+#: replication/logical/worker.c:700
 #, c-format
-msgid "fetching timeline history file for timeline %u from primary server"
-msgstr "trayendo el archivo de historia del timeline para el timeline %u desde el servidor primario"
+msgid "publisher did not send replica identity column expected by the logical replication target relation \"%s.%s\""
+msgstr "el editor (publisher) no envía la columna identidad de réplica esperada por la relación de destino de replicación lógica «%s.%s»"
 
-#: replication/walreceiver.c:976
+#: replication/logical/worker.c:707
 #, c-format
-msgid "could not write to log segment %s at offset %u, length %lu: %m"
-msgstr "no se pudo escribir al segmento de log %s en la posición %u, largo %lu: %m"
+msgid "logical replication target relation \"%s.%s\" has neither REPLICA IDENTITY index nor PRIMARY KEY and published relation does not have REPLICA IDENTITY FULL"
+msgstr "la relación destino de replicación lógica «%s.%s» no tiene índice REPLICA IDENTITY ni PRIMARY KEY y la relación publicada no tiene REPLICA IDENTITY FULL"
 
-#: replication/walsender.c:523 storage/smgr/md.c:1291
+#: replication/logical/worker.c:1393
 #, c-format
-msgid "could not seek to end of file \"%s\": %m"
-msgstr "no se pudo posicionar (seek) al fin del archivo «%s»: %m"
+msgid "invalid logical replication message type \"%c\""
+msgstr "tipo de mensaje de replicación lógica «%c» no válido"
 
-#: replication/walsender.c:527
+#: replication/logical/worker.c:1536
 #, c-format
-msgid "could not seek to beginning of file \"%s\": %m"
-msgstr "no se pudo posicionar (seek) al comienzo del archivo «%s»: %m"
+msgid "data stream from publisher has ended"
+msgstr "el flujo de datos del publisher ha terminado"
 
-#: replication/walsender.c:578
+#: replication/logical/worker.c:1691
 #, c-format
-msgid "IDENTIFY_SYSTEM has not been run before START_REPLICATION"
-msgstr "IDENTIFY_SYSTEM no se ha ejecutado antes de START_REPLICATION"
+msgid "terminating logical replication worker due to timeout"
+msgstr "terminando el proceso de replicación lógica debido a que se agotó el tiempo de espera"
 
-#: replication/walsender.c:607
+#: replication/logical/worker.c:1837
 #, c-format
-msgid "cannot use a logical replication slot for physical replication"
-msgstr "no se puede usar un slot de replicación lógica para replicación física"
+msgid "logical replication apply worker for subscription \"%s\" will stop because the subscription was removed"
+msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se detendrá porque la suscripción fue eliminada"
 
-#: replication/walsender.c:676
+#: replication/logical/worker.c:1851
 #, c-format
-msgid "requested starting point %X/%X on timeline %u is not in this server's history"
-msgstr "el punto de inicio solicitado %X/%X del timeline %u no está en la historia de este servidor"
+msgid "logical replication apply worker for subscription \"%s\" will stop because the subscription was disabled"
+msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se detendrá porque la suscripción fue inhabilitada"
 
-#: replication/walsender.c:680
+#: replication/logical/worker.c:1865
 #, c-format
-msgid "This server's history forked from timeline %u at %X/%X."
-msgstr "La historia de este servidor bifurcó desde el timeline %u en %X/%X."
+msgid "logical replication apply worker for subscription \"%s\" will restart because the connection information was changed"
+msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará porque la información de conexión fue cambiada"
 
-#: replication/walsender.c:725
+#: replication/logical/worker.c:1879
 #, c-format
-msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
-msgstr "el punto de inicio solicitado %X/%X está más adelante que la posición de sincronización (flush) de WAL de este servidor %X/%X"
+msgid "logical replication apply worker for subscription \"%s\" will restart because subscription was renamed"
+msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará porque a la suscripción se le cambió el nombre"
 
-#. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:976
+#: replication/logical/worker.c:1896
 #, c-format
-msgid "%s must not be called inside a transaction"
-msgstr "%s no debe ser ejecutado dentro de una transacción"
+msgid "logical replication apply worker for subscription \"%s\" will restart because the replication slot name was changed"
+msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará porque el nombre del slot de replicación fue cambiado"
 
-#. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:986
+#: replication/logical/worker.c:1910
 #, c-format
-msgid "%s must be called inside a transaction"
-msgstr "%s no debe ser ejecutado dentro de una transacción"
+msgid "logical replication apply worker for subscription \"%s\" will restart because subscription's publications were changed"
+msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará porque las publicaciones de la suscripción fueron cambiadas"
 
-#. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:992
+#: replication/logical/worker.c:2006
 #, c-format
-msgid "%s must be called in REPEATABLE READ isolation mode transaction"
-msgstr "%s debe llamarse en una transacción de modo de aislamiento REPEATABLE READ"
+msgid "logical replication apply worker for subscription %u will not start because the subscription was removed during startup"
+msgstr "el ayudante «apply» de replicación lógica para la suscripción %u no se iniciará porque la suscripción fue eliminada durante el inicio"
 
-#. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:998
+#: replication/logical/worker.c:2018
 #, c-format
-msgid "%s must be called before any query"
-msgstr "%s debe ser llamado antes de cualquier consulta"
+msgid "logical replication apply worker for subscription \"%s\" will not start because the subscription was disabled during startup"
+msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» no se iniciará porque la suscripción fue inhabilitada durante el inicio"
 
-#. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:1004
+#: replication/logical/worker.c:2036
 #, c-format
-msgid "%s must not be called in a subtransaction"
-msgstr "%s no está permitido en una subtransacción"
+msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started"
+msgstr "el ayudante de sincronización de tabla de replicación lógica para la suscripción «%s», tabla «%s» ha iniciado"
 
-#: replication/walsender.c:1152
-#, fuzzy, c-format
-#| msgid "created temporary replication slot \"%s\""
-msgid "cannot read from logical replication slot \"%s\""
-msgstr "se creó slot temporal de replicación «%s»"
+#: replication/logical/worker.c:2040
+#, c-format
+msgid "logical replication apply worker for subscription \"%s\" has started"
+msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» ha iniciado"
 
-#: replication/walsender.c:1154
+#: replication/logical/worker.c:2079
 #, c-format
-msgid "This slot has been invalidated because it exceeded the maximum reserved size."
-msgstr "Este slot ha sido invalidado porque excedió el máximo del tamaño de reserva."
+msgid "subscription has no replication slot set"
+msgstr "la suscripción no tiene un slot de replicación establecido"
 
-#: replication/walsender.c:1164
+#: replication/pgoutput/pgoutput.c:147
 #, c-format
-msgid "terminating walsender process after promotion"
-msgstr "terminando el proceso walsender luego de la promoción"
+msgid "invalid proto_version"
+msgstr "proto_version no válido"
 
-#: replication/walsender.c:1538
+#: replication/pgoutput/pgoutput.c:152
 #, c-format
-msgid "cannot execute new commands while WAL sender is in stopping mode"
-msgstr "no puede ejecutar nuevas órdenes mientras el «WAL sender» está en modo de apagarse"
+msgid "proto_version \"%s\" out of range"
+msgstr "proto_version «%s» fuera de rango"
 
-#: replication/walsender.c:1571
+#: replication/pgoutput/pgoutput.c:169
 #, c-format
-msgid "received replication command: %s"
-msgstr "se recibió orden de replicación: %s"
+msgid "invalid publication_names syntax"
+msgstr "sintaxis de publication_names no válida"
 
-#: replication/walsender.c:1587 tcop/fastpath.c:279 tcop/postgres.c:1103
-#: tcop/postgres.c:1455 tcop/postgres.c:1716 tcop/postgres.c:2174
-#: tcop/postgres.c:2535 tcop/postgres.c:2614
+#: replication/pgoutput/pgoutput.c:211
 #, c-format
-msgid "current transaction is aborted, commands ignored until end of transaction block"
-msgstr "transacción abortada, las órdenes serán ignoradas hasta el fin de bloque de transacción"
+msgid "client sent proto_version=%d but we only support protocol %d or lower"
+msgstr "el cliente envió proto_version=%d pero sólo soportamos el protocolo %d o inferior"
 
-#: replication/walsender.c:1657
+#: replication/pgoutput/pgoutput.c:217
 #, c-format
-msgid "cannot execute SQL commands in WAL sender for physical replication"
-msgstr "no puede ejecutar órdenes SQL en el «WAL sender» para replicación física"
+msgid "client sent proto_version=%d but we only support protocol %d or higher"
+msgstr "el cliente envió proto_version=%d pero sólo soportamos el protocolo %d o superior"
 
-#: replication/walsender.c:1706 replication/walsender.c:1722
+#: replication/pgoutput/pgoutput.c:223
 #, c-format
-msgid "unexpected EOF on standby connection"
-msgstr "se encontró fin de archivo inesperado en la conexión standby"
+msgid "publication_names parameter missing"
+msgstr "parámetro publication_names faltante"
 
-#: replication/walsender.c:1736
+#: replication/slot.c:183
 #, c-format
-msgid "unexpected standby message type \"%c\", after receiving CopyDone"
-msgstr "mensaje de standby de tipo «%c» inesperado, después de recibir CopyDone"
+msgid "replication slot name \"%s\" is too short"
+msgstr "el nombre de slot de replicación «%s» es demasiado corto"
 
-#: replication/walsender.c:1774
+#: replication/slot.c:192
 #, c-format
-msgid "invalid standby message type \"%c\""
-msgstr "el tipo «%c» de mensaje del standby no es válido"
+msgid "replication slot name \"%s\" is too long"
+msgstr "el nombre de slot de replicación «%s» es demasiado largo"
 
-#: replication/walsender.c:1815
+#: replication/slot.c:205
 #, c-format
-msgid "unexpected message type \"%c\""
-msgstr "mensaje de tipo «%c» inesperado"
+msgid "replication slot name \"%s\" contains invalid character"
+msgstr "el nombre de slot de replicación «%s» contiene caracteres no válidos"
 
-#: replication/walsender.c:2233
+#: replication/slot.c:207
 #, c-format
-msgid "terminating walsender process due to replication timeout"
-msgstr "terminando el proceso walsender debido a que se agotó el tiempo de espera de replicación"
+msgid "Replication slot names may only contain lower case letters, numbers, and the underscore character."
+msgstr "Los nombres de slots de replicación sólo pueden contener letras minúsculas, números y el carácter «_»."
 
-#: replication/walsender.c:2310
+#: replication/slot.c:254
 #, c-format
-msgid "\"%s\" has now caught up with upstream server"
-msgstr "«%s» ha alcanzado al servidor de origen"
+msgid "replication slot \"%s\" already exists"
+msgstr "el slot de replicación «%s» ya existe"
 
-#: rewrite/rewriteDefine.c:112 rewrite/rewriteDefine.c:989
+#: replication/slot.c:264
 #, c-format
-msgid "rule \"%s\" for relation \"%s\" already exists"
-msgstr "ya existe una regla llamada «%s» para la relación «%s»"
+msgid "all replication slots are in use"
+msgstr "todos los slots de replicación están en uso"
 
-#: rewrite/rewriteDefine.c:301
+#: replication/slot.c:265
 #, c-format
-msgid "rule actions on OLD are not implemented"
-msgstr "las acciones de regla en OLD no están implementadas"
+msgid "Free one or increase max_replication_slots."
+msgstr "Libere uno o incremente max_replication_slots."
 
-#: rewrite/rewriteDefine.c:302
+#: replication/slot.c:407 replication/slotfuncs.c:760
 #, c-format
-msgid "Use views or triggers instead."
-msgstr "Use vistas o triggers en su lugar."
+msgid "replication slot \"%s\" does not exist"
+msgstr "no existe el slot de replicación «%s»"
 
-#: rewrite/rewriteDefine.c:306
+#: replication/slot.c:445 replication/slot.c:1006
 #, c-format
-msgid "rule actions on NEW are not implemented"
-msgstr "las acciones de regla en NEW no están implementadas"
+msgid "replication slot \"%s\" is active for PID %d"
+msgstr "el slot de replicación «%s» está activo para el PID %d"
 
-#: rewrite/rewriteDefine.c:307
+#: replication/slot.c:683 replication/slot.c:1314 replication/slot.c:1697
 #, c-format
-msgid "Use triggers instead."
-msgstr "Use triggers en su lugar."
+msgid "could not remove directory \"%s\""
+msgstr "no se pudo eliminar el directorio «%s»"
 
-#: rewrite/rewriteDefine.c:320
+#: replication/slot.c:1041
 #, c-format
-msgid "INSTEAD NOTHING rules on SELECT are not implemented"
-msgstr "las reglas INSTEAD NOTHING en SELECT no están implementadas"
+msgid "replication slots can only be used if max_replication_slots > 0"
+msgstr "los slots de replicación sólo pueden usarse si max_replication_slots > 0"
 
-#: rewrite/rewriteDefine.c:321
+# FIXME see logical.c:81
+#: replication/slot.c:1046
 #, c-format
-msgid "Use views instead."
-msgstr "Use vistas en su lugar."
+msgid "replication slots can only be used if wal_level >= replica"
+msgstr "los slots de replicación sólo pueden usarse si wal_level >= replica"
 
-#: rewrite/rewriteDefine.c:329
+#: replication/slot.c:1202
+#, fuzzy, c-format
+#| msgid "terminating walsender process due to replication timeout"
+msgid "terminating process %d because replication slot \"%s\" is too far behind"
+msgstr "terminando el proceso walsender debido a que se agotó el tiempo de espera de replicación"
+
+#: replication/slot.c:1221
 #, c-format
-msgid "multiple actions for rules on SELECT are not implemented"
-msgstr "las reglas de múltiples acciones en SELECT no están implementadas"
+msgid "invalidating slot \"%s\" because its restart_lsn %X/%X exceeds max_slot_wal_keep_size"
+msgstr "invalidando el slot «%s» porque su restart_lsn %X/%X excede max_slot_wal_keep_size"
 
-#: rewrite/rewriteDefine.c:339
+#: replication/slot.c:1635
 #, c-format
-msgid "rules on SELECT must have action INSTEAD SELECT"
-msgstr "las reglas en SELECT deben tener una acción INSTEAD SELECT"
+msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u"
+msgstr "el archivo de slot de replicación «%s» tiene número mágico erróneo: %u en lugar de %u"
 
-#: rewrite/rewriteDefine.c:347
+#: replication/slot.c:1642
 #, c-format
-msgid "rules on SELECT must not contain data-modifying statements in WITH"
-msgstr "las reglas en SELECT no deben contener sentencias que modifiquen datos en WITH"
+msgid "replication slot file \"%s\" has unsupported version %u"
+msgstr "el archivo de slot de replicación «%s» tiene versión no soportada %u"
 
-#: rewrite/rewriteDefine.c:355
+#: replication/slot.c:1649
 #, c-format
-msgid "event qualifications are not implemented for rules on SELECT"
-msgstr "las calificaciones de eventos no están implementadas para las reglas en SELECT"
+msgid "replication slot file \"%s\" has corrupted length %u"
+msgstr "el archivo de slot de replicación «%s» tiene largo corrupto %u"
 
-#: rewrite/rewriteDefine.c:382
+#: replication/slot.c:1685
 #, c-format
-msgid "\"%s\" is already a view"
-msgstr "«%s» ya es una vista"
+msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u"
+msgstr "suma de verificación no coincidenete en archivo de slot de replicación «%s»: es %u, debería ser %u"
 
-#: rewrite/rewriteDefine.c:406
+# FIXME see slot.c:779.  See also  postmaster.c:835
+#: replication/slot.c:1719
 #, c-format
-msgid "view rule for \"%s\" must be named \"%s\""
-msgstr "la regla de vista para «%s» debe llamarse «%s»"
+msgid "logical replication slot \"%s\" exists, but wal_level < logical"
+msgstr "existe el slot de replicación lógica «%s», pero wal_level < logical"
 
-#: rewrite/rewriteDefine.c:434
+#: replication/slot.c:1721
 #, c-format
-msgid "cannot convert partitioned table \"%s\" to a view"
-msgstr "no se puede convertir la tabla particionada «%s» en vista"
+msgid "Change wal_level to be logical or higher."
+msgstr "Cambie wal_level a logical o superior."
 
-#: rewrite/rewriteDefine.c:440
+# FIXME see slot.c:779.  See also  postmaster.c:835
+#: replication/slot.c:1725
 #, c-format
-msgid "cannot convert partition \"%s\" to a view"
-msgstr "no se puede convertir la partición «%s» en vista"
+msgid "physical replication slot \"%s\" exists, but wal_level < replica"
+msgstr "existe el slot de replicación lógica «%s», pero wal_level < logical"
 
-#: rewrite/rewriteDefine.c:449
+# <> hello vim
+#: replication/slot.c:1727
 #, c-format
-msgid "could not convert table \"%s\" to a view because it is not empty"
-msgstr "no se pudo convertir la tabla «%s» en vista porque no está vacía"
+msgid "Change wal_level to be replica or higher."
+msgstr "Cambie wal_level a replica o superior."
 
-#: rewrite/rewriteDefine.c:458
+#: replication/slot.c:1761
 #, c-format
-msgid "could not convert table \"%s\" to a view because it has triggers"
-msgstr "no se pudo convertir la tabla «%s» en vista porque tiene triggers"
+msgid "too many replication slots active before shutdown"
+msgstr "demasiados slots de replicacion activos antes del apagado"
 
-#: rewrite/rewriteDefine.c:460
+#: replication/slotfuncs.c:624
 #, c-format
-msgid "In particular, the table cannot be involved in any foreign key relationships."
-msgstr "En particular, la tabla no puede estar involucrada en relaciones de llave foránea."
+msgid "invalid target WAL LSN"
+msgstr "el LSN de wal de destino no es válido"
 
-#: rewrite/rewriteDefine.c:465
-#, c-format
-msgid "could not convert table \"%s\" to a view because it has indexes"
-msgstr "no se pudo convertir la tabla «%s» en vista porque tiene índices"
+#: replication/slotfuncs.c:646
+#, fuzzy, c-format
+#| msgid "replication slot \"%s\" does not exist"
+msgid "replication slot \"%s\" cannot be advanced"
+msgstr "no existe el slot de replicación «%s»"
 
-#: rewrite/rewriteDefine.c:471
+#: replication/slotfuncs.c:664
 #, c-format
-msgid "could not convert table \"%s\" to a view because it has child tables"
-msgstr "no se pudo convertir la tabla «%s» en vista porque tiene tablas hijas"
+msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
+msgstr "no puede avanzar un slot de replicación a %X/%X, el mínimo es %X/%X"
 
-#: rewrite/rewriteDefine.c:477
+#: replication/slotfuncs.c:772
 #, c-format
-msgid "could not convert table \"%s\" to a view because it has row security enabled"
-msgstr "no se pudo convertir la tabla «%s» en vista porque tiene seguridad de registros activada"
+msgid "cannot copy physical replication slot \"%s\" as a logical replication slot"
+msgstr "no se puede copiar el slot de replicación física «%s» como slot de replicación lógica"
 
-#: rewrite/rewriteDefine.c:483
+#: replication/slotfuncs.c:774
 #, c-format
-msgid "could not convert table \"%s\" to a view because it has row security policies"
-msgstr "no se pudo convertir la tabla «%s» en vista porque tiene políticas de seguridad de registros"
+msgid "cannot copy logical replication slot \"%s\" as a physical replication slot"
+msgstr "no se puede copiar el slot de replicación lógica «%s» como slot de replicación física"
 
-#: rewrite/rewriteDefine.c:510
+#: replication/slotfuncs.c:781
 #, c-format
-msgid "cannot have multiple RETURNING lists in a rule"
-msgstr "no se pueden tener múltiples listas RETURNING en una regla"
+msgid "cannot copy a replication slot that doesn't reserve WAL"
+msgstr "no puede copiar un slot de replicación que no ha reservado WAL"
 
-#: rewrite/rewriteDefine.c:515
+#: replication/slotfuncs.c:857
 #, c-format
-msgid "RETURNING lists are not supported in conditional rules"
-msgstr "listas de RETURNING no están soportadas en reglas condicionales"
+msgid "could not copy replication slot \"%s\""
+msgstr "no se pudo copiar el slot de replicación «%s»"
 
-#: rewrite/rewriteDefine.c:519
+#: replication/slotfuncs.c:859
 #, c-format
-msgid "RETURNING lists are not supported in non-INSTEAD rules"
-msgstr "listas de RETURNING no están soportadas en reglas que no estén marcadas INSTEAD"
+msgid "The source replication slot was modified incompatibly during the copy operation."
+msgstr "El slot de replicación de origen fue modificado incompatiblemente durante la operación de copia."
 
-#: rewrite/rewriteDefine.c:683
-#, c-format
-msgid "SELECT rule's target list has too many entries"
-msgstr "la lista de destinos en la regla de SELECT tiene demasiadas entradas"
+#: replication/slotfuncs.c:865
+#, fuzzy, c-format
+#| msgid "could not copy replication slot \"%s\""
+msgid "cannot copy unfinished logical replication slot \"%s\""
+msgstr "no se pudo copiar el slot de replicación «%s»"
 
-#: rewrite/rewriteDefine.c:684
+#: replication/slotfuncs.c:867
 #, c-format
-msgid "RETURNING list has too many entries"
-msgstr "la lista de RETURNING tiene demasiadas entradas"
+msgid "Retry when the source replication slot's confirmed_flush_lsn is valid."
+msgstr "Reintente cuando el confirmed_flush_lsn del slot de replicación de origen sea válido."
 
-#: rewrite/rewriteDefine.c:711
+#: replication/syncrep.c:257
 #, c-format
-msgid "cannot convert relation containing dropped columns to view"
-msgstr "no se puede convertir en vista una relación que contiene columnas eliminadas"
+msgid "canceling the wait for synchronous replication and terminating connection due to administrator command"
+msgstr "cancelando la espera para la replicación sincrónica y terminando la conexión debido a una orden del administrador"
 
-#: rewrite/rewriteDefine.c:712
+#: replication/syncrep.c:258 replication/syncrep.c:275
 #, c-format
-msgid "cannot create a RETURNING list for a relation containing dropped columns"
-msgstr "no se puede crear una lista RETURNING para una relación que contiene columnas eliminadas"
+msgid "The transaction has already committed locally, but might not have been replicated to the standby."
+msgstr "La transacción ya fue comprometida localmente, pero pudo no haber sido replicada al standby."
 
-#: rewrite/rewriteDefine.c:718
+#: replication/syncrep.c:274
 #, c-format
-msgid "SELECT rule's target entry %d has different column name from column \"%s\""
-msgstr "la entrada de destino %d de la regla de SELECT tiene un nombre de columna diferente de «%s»"
+msgid "canceling wait for synchronous replication due to user request"
+msgstr "cancelando espera para la replicación sincrónica debido a una petición del usuario"
 
-#: rewrite/rewriteDefine.c:720
+#: replication/syncrep.c:416
 #, c-format
-msgid "SELECT target entry is named \"%s\"."
-msgstr "La entrada de destino de SELECT tiene nombre «%s»."
+msgid "standby \"%s\" now has synchronous standby priority %u"
+msgstr "el standby «%s» ahora tiene prioridad sincrónica %u"
 
-#: rewrite/rewriteDefine.c:729
+#: replication/syncrep.c:483
 #, c-format
-msgid "SELECT rule's target entry %d has different type from column \"%s\""
-msgstr "el destino %d de la regla de SELECT tiene un tipo diferente de la columna «%s»"
+msgid "standby \"%s\" is now a synchronous standby with priority %u"
+msgstr "el standby «%s» es ahora un standby sincrónico con prioridad %u"
 
-#: rewrite/rewriteDefine.c:731
+#: replication/syncrep.c:487
 #, c-format
-msgid "RETURNING list's entry %d has different type from column \"%s\""
-msgstr "el destino %d de la lista de RETURNING tiene un tipo diferente de la columna «%s»"
+msgid "standby \"%s\" is now a candidate for quorum synchronous standby"
+msgstr "el standby «%s» es ahora un candidato para standby sincrónico de quórum"
 
-#: rewrite/rewriteDefine.c:734 rewrite/rewriteDefine.c:758
+#: replication/syncrep.c:1034
 #, c-format
-msgid "SELECT target entry has type %s, but column has type %s."
-msgstr "La entrada de destino de SELECT tiene un tipo «%s», pero la columna tiene tipo «%s»."
+msgid "synchronous_standby_names parser failed"
+msgstr "falló la interpretación de synchronous_standby_names"
 
-#: rewrite/rewriteDefine.c:737 rewrite/rewriteDefine.c:762
+#: replication/syncrep.c:1040
 #, c-format
-msgid "RETURNING list entry has type %s, but column has type %s."
-msgstr "una entrada de la lista RETURNING tiene tipo %s, pero la columna tiene tipo %s."
+msgid "number of synchronous standbys (%d) must be greater than zero"
+msgstr "el argumento de standby sincrónicos (%d) debe ser mayor que cero"
 
-#: rewrite/rewriteDefine.c:753
+#: replication/walreceiver.c:171
 #, c-format
-msgid "SELECT rule's target entry %d has different size from column \"%s\""
-msgstr "el destino %d de la regla de SELECT tiene un tamaño diferente de la columna «%s»"
+msgid "terminating walreceiver process due to administrator command"
+msgstr "terminando el proceso walreceiver debido a una orden del administrador"
 
-#: rewrite/rewriteDefine.c:755
+#: replication/walreceiver.c:297
 #, c-format
-msgid "RETURNING list's entry %d has different size from column \"%s\""
-msgstr "el destino %d de la lista RETURNING tiene un tamaño diferente de la columna «%s»"
+msgid "could not connect to the primary server: %s"
+msgstr "no se pudo conectar al servidor primario: %s"
 
-#: rewrite/rewriteDefine.c:772
+#: replication/walreceiver.c:343
 #, c-format
-msgid "SELECT rule's target list has too few entries"
-msgstr "la lista de destinos de regla de SELECT tiene muy pocas entradas"
+msgid "database system identifier differs between the primary and standby"
+msgstr "el identificador de sistema difiere entre el primario y el standby"
 
-#: rewrite/rewriteDefine.c:773
+#: replication/walreceiver.c:344
 #, c-format
-msgid "RETURNING list has too few entries"
-msgstr "la lista de RETURNING tiene muy pocas entradas"
+msgid "The primary's identifier is %s, the standby's identifier is %s."
+msgstr "El identificador del primario es %s, el identificador del standby es %s."
 
-#: rewrite/rewriteDefine.c:866 rewrite/rewriteDefine.c:980
-#: rewrite/rewriteSupport.c:109
+#: replication/walreceiver.c:354
 #, c-format
-msgid "rule \"%s\" for relation \"%s\" does not exist"
-msgstr "no existe la regla «%s» para la relación «%s»"
+msgid "highest timeline %u of the primary is behind recovery timeline %u"
+msgstr "el timeline más alto del primario, %u, está más atrás que el timeline de recuperación %u"
 
-#: rewrite/rewriteDefine.c:999
+#: replication/walreceiver.c:408
 #, c-format
-msgid "renaming an ON SELECT rule is not allowed"
-msgstr "no se permite cambiar el nombre de una regla ON SELECT"
+msgid "started streaming WAL from primary at %X/%X on timeline %u"
+msgstr "iniciando el flujo de WAL desde el primario en %X/%X en el timeline %u"
 
-#: rewrite/rewriteHandler.c:545
+#: replication/walreceiver.c:413
 #, c-format
-msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten"
-msgstr "el nombre de consulta WITH «%s» aparece tanto en una acción de regla y en la consulta que está siendo reescrita"
+msgid "restarted WAL streaming at %X/%X on timeline %u"
+msgstr "reiniciando el flujo de WAL en %X/%X en el timeline %u"
 
-#: rewrite/rewriteHandler.c:605
+#: replication/walreceiver.c:442
 #, c-format
-msgid "cannot have RETURNING lists in multiple rules"
-msgstr "no se puede usar RETURNING en múltiples reglas"
+msgid "cannot continue WAL streaming, recovery has already ended"
+msgstr "no se puede continuar el flujo de WAL; la recuperación ya ha terminado"
 
-#: rewrite/rewriteHandler.c:816 rewrite/rewriteHandler.c:828
+#: replication/walreceiver.c:479
 #, c-format
-msgid "cannot insert into column \"%s\""
-msgstr "no se puede insertar en la columna «%s»"
+msgid "replication terminated by primary server"
+msgstr "replicación terminada por el servidor primario"
 
-#: rewrite/rewriteHandler.c:817 rewrite/rewriteHandler.c:839
+#: replication/walreceiver.c:480
 #, c-format
-msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS."
-msgstr "La columna \"%s\" es una columna de identidad definida como GENERATED ALWAYS."
+msgid "End of WAL reached on timeline %u at %X/%X."
+msgstr "Se alcanzó el fin de WAL en el timeline %u en la posición %X/%X."
 
-#: rewrite/rewriteHandler.c:819
+#: replication/walreceiver.c:568
 #, c-format
-msgid "Use OVERRIDING SYSTEM VALUE to override."
-msgstr "Use OVERRIDING SYSTEM VALUE para controlar manualmente."
+msgid "terminating walreceiver due to timeout"
+msgstr "terminando el proceso walreceiver debido a que se agotó el tiempo de espera"
 
-#: rewrite/rewriteHandler.c:838 rewrite/rewriteHandler.c:845
+#: replication/walreceiver.c:606
 #, c-format
-msgid "column \"%s\" can only be updated to DEFAULT"
-msgstr "la columna «%s» sólo puede actualizarse a DEFAULT"
+msgid "primary server contains no more WAL on requested timeline %u"
+msgstr "el servidor primario no contiene más WAL en el timeline %u solicitado"
 
-#: rewrite/rewriteHandler.c:1014 rewrite/rewriteHandler.c:1032
+#: replication/walreceiver.c:622 replication/walreceiver.c:938
 #, c-format
-msgid "multiple assignments to same column \"%s\""
-msgstr "hay múltiples asignaciones a la misma columna «%s»"
+msgid "could not close log segment %s: %m"
+msgstr "no se pudo cerrar archivo de segmento %s: %m"
 
-#: rewrite/rewriteHandler.c:2062
+#: replication/walreceiver.c:742
 #, c-format
-msgid "infinite recursion detected in policy for relation \"%s\""
-msgstr "se detectó recursión infinita en la política para la relación «%s»"
-
-#: rewrite/rewriteHandler.c:2382
-msgid "Junk view columns are not updatable."
-msgstr "Las columnas «basura» de vistas no son actualizables."
-
-#: rewrite/rewriteHandler.c:2387
-msgid "View columns that are not columns of their base relation are not updatable."
-msgstr "Las columnas de vistas que no son columnas de su relación base no son actualizables."
-
-#: rewrite/rewriteHandler.c:2390
-msgid "View columns that refer to system columns are not updatable."
-msgstr "Las columnas de vistas que se refieren a columnas de sistema no son actualizables."
-
-#: rewrite/rewriteHandler.c:2393
-msgid "View columns that return whole-row references are not updatable."
-msgstr "Las columnas de vistas que retornan referencias a la fila completa no son actualizables."
-
-# XXX a %s here would be nice ...
-#: rewrite/rewriteHandler.c:2454
-msgid "Views containing DISTINCT are not automatically updatable."
-msgstr "Las vistas que contienen DISTINCT no son automáticamente actualizables."
-
-#: rewrite/rewriteHandler.c:2457
-msgid "Views containing GROUP BY are not automatically updatable."
-msgstr "Las vistas que contienen GROUP BY no son automáticamente actualizables."
-
-#: rewrite/rewriteHandler.c:2460
-msgid "Views containing HAVING are not automatically updatable."
-msgstr "Las vistas que contienen HAVING no son automáticamente actualizables."
-
-#: rewrite/rewriteHandler.c:2463
-msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable."
-msgstr "Las vistas que contienen UNION, INTERSECT o EXCEPT no son automáticamente actualizables."
-
-#: rewrite/rewriteHandler.c:2466
-msgid "Views containing WITH are not automatically updatable."
-msgstr "Las vistas que contienen WITH no son automáticamente actualizables."
-
-#: rewrite/rewriteHandler.c:2469
-msgid "Views containing LIMIT or OFFSET are not automatically updatable."
-msgstr "Las vistas que contienen LIMIT u OFFSET no son automáticamente actualizables."
-
-#: rewrite/rewriteHandler.c:2481
-msgid "Views that return aggregate functions are not automatically updatable."
-msgstr "Las vistas que retornan funciones de agregación no son automáticamente actualizables."
-
-#: rewrite/rewriteHandler.c:2484
-msgid "Views that return window functions are not automatically updatable."
-msgstr "Las vistas que retornan funciones ventana no son automáticamente actualizables."
-
-#: rewrite/rewriteHandler.c:2487
-msgid "Views that return set-returning functions are not automatically updatable."
-msgstr "Las vistas que retornan funciones-que-retornan-conjuntos no son automáticamente actualizables."
-
-#: rewrite/rewriteHandler.c:2494 rewrite/rewriteHandler.c:2498
-#: rewrite/rewriteHandler.c:2506
-msgid "Views that do not select from a single table or view are not automatically updatable."
-msgstr "Las vistas que no extraen desde una única tabla o vista no son automáticamente actualizables."
-
-#: rewrite/rewriteHandler.c:2509
-msgid "Views containing TABLESAMPLE are not automatically updatable."
-msgstr "Las vistas que contienen TABLESAMPLE no son automáticamente actualizables."
+msgid "fetching timeline history file for timeline %u from primary server"
+msgstr "trayendo el archivo de historia del timeline para el timeline %u desde el servidor primario"
 
-#: rewrite/rewriteHandler.c:2533
-msgid "Views that have no updatable columns are not automatically updatable."
-msgstr "Las vistas que no tienen columnas actualizables no son automáticamente actualizables."
+#: replication/walreceiver.c:985
+#, c-format
+msgid "could not write to log segment %s at offset %u, length %lu: %m"
+msgstr "no se pudo escribir al segmento de log %s en la posición %u, largo %lu: %m"
 
-#: rewrite/rewriteHandler.c:3010
+#: replication/walsender.c:527 storage/smgr/md.c:1329
 #, c-format
-msgid "cannot insert into column \"%s\" of view \"%s\""
-msgstr "no se puede insertar en la columna «%s» de la vista «%s»"
+msgid "could not seek to end of file \"%s\": %m"
+msgstr "no se pudo posicionar (seek) al fin del archivo «%s»: %m"
 
-#: rewrite/rewriteHandler.c:3018
+#: replication/walsender.c:531
 #, c-format
-msgid "cannot update column \"%s\" of view \"%s\""
-msgstr "no se puede actualizar la columna «%s» vista «%s»"
+msgid "could not seek to beginning of file \"%s\": %m"
+msgstr "no se pudo posicionar (seek) al comienzo del archivo «%s»: %m"
 
-#: rewrite/rewriteHandler.c:3496
+#: replication/walsender.c:582
 #, c-format
-msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH"
-msgstr "las reglas DO INSTEAD NOTHING no están soportadas para sentencias que modifiquen datos en WITH"
+msgid "IDENTIFY_SYSTEM has not been run before START_REPLICATION"
+msgstr "IDENTIFY_SYSTEM no se ha ejecutado antes de START_REPLICATION"
 
-#: rewrite/rewriteHandler.c:3510
+#: replication/walsender.c:611
 #, c-format
-msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH"
-msgstr "las reglas DO INSTEAD condicionales no están soportadas para sentencias que modifiquen datos en WITH"
+msgid "cannot use a logical replication slot for physical replication"
+msgstr "no se puede usar un slot de replicación lógica para replicación física"
 
-#: rewrite/rewriteHandler.c:3514
+#: replication/walsender.c:680
 #, c-format
-msgid "DO ALSO rules are not supported for data-modifying statements in WITH"
-msgstr "las reglas DO ALSO no están soportadas para sentencias que modifiquen datos en WITH"
+msgid "requested starting point %X/%X on timeline %u is not in this server's history"
+msgstr "el punto de inicio solicitado %X/%X del timeline %u no está en la historia de este servidor"
 
-#: rewrite/rewriteHandler.c:3519
+#: replication/walsender.c:684
 #, c-format
-msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH"
-msgstr "las reglas DO INSTEAD de múltiples sentencias no están soportadas para sentencias que modifiquen datos en WITH"
+msgid "This server's history forked from timeline %u at %X/%X."
+msgstr "La historia de este servidor bifurcó desde el timeline %u en %X/%X."
 
-# XXX a %s here would be nice ...
-#: rewrite/rewriteHandler.c:3710 rewrite/rewriteHandler.c:3718
-#: rewrite/rewriteHandler.c:3726
-#, fuzzy, c-format
-#| msgid "Views containing DISTINCT are not automatically updatable."
-msgid "Views with conditional DO INSTEAD rules are not automatically updatable."
-msgstr "Las vistas que contienen DISTINCT no son automáticamente actualizables."
+#: replication/walsender.c:729
+#, c-format
+msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
+msgstr "el punto de inicio solicitado %X/%X está más adelante que la posición de sincronización (flush) de WAL de este servidor %X/%X"
 
-#: rewrite/rewriteHandler.c:3819
+#. translator: %s is a CREATE_REPLICATION_SLOT statement
+#: replication/walsender.c:980
 #, c-format
-msgid "cannot perform INSERT RETURNING on relation \"%s\""
-msgstr "no se puede hacer INSERT RETURNING a la relación «%s»"
+msgid "%s must not be called inside a transaction"
+msgstr "%s no debe ser ejecutado dentro de una transacción"
 
-#: rewrite/rewriteHandler.c:3821
+#. translator: %s is a CREATE_REPLICATION_SLOT statement
+#: replication/walsender.c:990
 #, c-format
-msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause."
-msgstr "Necesita un regla incondicional ON INSERT DO INSTEAD con una cláusula RETURNING."
+msgid "%s must be called inside a transaction"
+msgstr "%s no debe ser ejecutado dentro de una transacción"
 
-#: rewrite/rewriteHandler.c:3826
+#. translator: %s is a CREATE_REPLICATION_SLOT statement
+#: replication/walsender.c:996
 #, c-format
-msgid "cannot perform UPDATE RETURNING on relation \"%s\""
-msgstr "no se puede hacer UPDATE RETURNING a la relación «%s»"
+msgid "%s must be called in REPEATABLE READ isolation mode transaction"
+msgstr "%s debe llamarse en una transacción de modo de aislamiento REPEATABLE READ"
 
-#: rewrite/rewriteHandler.c:3828
+#. translator: %s is a CREATE_REPLICATION_SLOT statement
+#: replication/walsender.c:1002
 #, c-format
-msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause."
-msgstr "Necesita un regla incondicional ON UPDATE DO INSTEAD con una cláusula RETURNING."
+msgid "%s must be called before any query"
+msgstr "%s debe ser llamado antes de cualquier consulta"
 
-#: rewrite/rewriteHandler.c:3833
+#. translator: %s is a CREATE_REPLICATION_SLOT statement
+#: replication/walsender.c:1008
 #, c-format
-msgid "cannot perform DELETE RETURNING on relation \"%s\""
-msgstr "no se puede hacer DELETE RETURNING a la relación «%s»"
+msgid "%s must not be called in a subtransaction"
+msgstr "%s no está permitido en una subtransacción"
+
+#: replication/walsender.c:1152
+#, fuzzy, c-format
+#| msgid "created temporary replication slot \"%s\""
+msgid "cannot read from logical replication slot \"%s\""
+msgstr "se creó slot temporal de replicación «%s»"
 
-#: rewrite/rewriteHandler.c:3835
+#: replication/walsender.c:1154
 #, c-format
-msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause."
-msgstr "Necesita un regla incondicional ON DELETE DO INSTEAD con una clásula RETURNING."
+msgid "This slot has been invalidated because it exceeded the maximum reserved size."
+msgstr "Este slot ha sido invalidado porque excedió el máximo del tamaño de reserva."
 
-#: rewrite/rewriteHandler.c:3853
+#: replication/walsender.c:1164
 #, c-format
-msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules"
-msgstr "INSERT con una cláusula ON CONFLICT no puede usarse con una tabla que tiene reglas INSERT o UPDATE"
+msgid "terminating walsender process after promotion"
+msgstr "terminando el proceso walsender luego de la promoción"
 
-#: rewrite/rewriteHandler.c:3910
+#: replication/walsender.c:1538
 #, c-format
-msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries"
-msgstr "WITH no puede ser usado en una consulta que está siendo convertida en múltiples consultas a través de reglas"
+msgid "cannot execute new commands while WAL sender is in stopping mode"
+msgstr "no puede ejecutar nuevas órdenes mientras el «WAL sender» está en modo de apagarse"
 
-#: rewrite/rewriteManip.c:1006
+#: replication/walsender.c:1571
 #, c-format
-msgid "conditional utility statements are not implemented"
-msgstr "las sentencias condicionales de utilidad no están implementadas"
+msgid "received replication command: %s"
+msgstr "se recibió orden de replicación: %s"
 
-#: rewrite/rewriteManip.c:1172
+#: replication/walsender.c:1587 tcop/fastpath.c:285 tcop/postgres.c:1103
+#: tcop/postgres.c:1455 tcop/postgres.c:1716 tcop/postgres.c:2174
+#: tcop/postgres.c:2535 tcop/postgres.c:2614
 #, c-format
-msgid "WHERE CURRENT OF on a view is not implemented"
-msgstr "WHERE CURRENT OF no está implementado en una vista"
+msgid "current transaction is aborted, commands ignored until end of transaction block"
+msgstr "transacción abortada, las órdenes serán ignoradas hasta el fin de bloque de transacción"
 
-#: rewrite/rewriteManip.c:1507
+#: replication/walsender.c:1674
 #, c-format
-msgid "NEW variables in ON UPDATE rules cannot reference columns that are part of a multiple assignment in the subject UPDATE command"
-msgstr "las variables NEW en reglas ON UPDATE no pueden referenciar columnas que son parte de una asignación múltiple en la orden UPDATE"
+msgid "cannot execute SQL commands in WAL sender for physical replication"
+msgstr "no puede ejecutar órdenes SQL en el «WAL sender» para replicación física"
 
-#: snowball/dict_snowball.c:199
+#: replication/walsender.c:1724 replication/walsender.c:1740
 #, c-format
-msgid "no Snowball stemmer available for language \"%s\" and encoding \"%s\""
-msgstr "no se encontró un analizador Snowball para el lenguaje «%s» y la codificación «%s»"
+msgid "unexpected EOF on standby connection"
+msgstr "se encontró fin de archivo inesperado en la conexión standby"
 
-#: snowball/dict_snowball.c:222 tsearch/dict_ispell.c:74
-#: tsearch/dict_simple.c:49
+#: replication/walsender.c:1779
 #, c-format
-msgid "multiple StopWords parameters"
-msgstr "parámetro StopWords duplicado"
+msgid "invalid standby message type \"%c\""
+msgstr "el tipo «%c» de mensaje del standby no es válido"
 
-#: snowball/dict_snowball.c:231
+#: replication/walsender.c:1820
 #, c-format
-msgid "multiple Language parameters"
-msgstr "parámetro Language duplicado"
+msgid "unexpected message type \"%c\""
+msgstr "mensaje de tipo «%c» inesperado"
 
-#: snowball/dict_snowball.c:238
+#: replication/walsender.c:2232
 #, c-format
-msgid "unrecognized Snowball parameter: \"%s\""
-msgstr "parámetro Snowball no reconocido: «%s»"
+msgid "terminating walsender process due to replication timeout"
+msgstr "terminando el proceso walsender debido a que se agotó el tiempo de espera de replicación"
 
-#: snowball/dict_snowball.c:246
+#: replication/walsender.c:2309
 #, c-format
-msgid "missing Language parameter"
-msgstr "falta un parámetro Language"
+msgid "\"%s\" has now caught up with upstream server"
+msgstr "«%s» ha alcanzado al servidor de origen"
 
-#: statistics/dependencies.c:667 statistics/dependencies.c:720
-#: statistics/mcv.c:1477 statistics/mcv.c:1508 statistics/mvdistinct.c:348
-#: statistics/mvdistinct.c:401 utils/adt/pseudotypes.c:42
-#: utils/adt/pseudotypes.c:76
+#: rewrite/rewriteDefine.c:113 rewrite/rewriteDefine.c:1000
 #, c-format
-msgid "cannot accept a value of type %s"
-msgstr "no se puede aceptar un valor de tipo %s"
+msgid "rule \"%s\" for relation \"%s\" already exists"
+msgstr "ya existe una regla llamada «%s» para la relación «%s»"
 
-#: statistics/extended_stats.c:145
+#: rewrite/rewriteDefine.c:302
 #, c-format
-msgid "statistics object \"%s.%s\" could not be computed for relation \"%s.%s\""
-msgstr "el objeto de estadísticas «%s.%s» no pudo ser calculado para la relación «%s.%s»"
+msgid "rule actions on OLD are not implemented"
+msgstr "las acciones de regla en OLD no están implementadas"
 
-#: statistics/mcv.c:1365 utils/adt/jsonfuncs.c:1800
+#: rewrite/rewriteDefine.c:303
 #, c-format
-msgid "function returning record called in context that cannot accept type record"
-msgstr "se llamó una función que retorna un registro en un contexto que no puede aceptarlo"
+msgid "Use views or triggers instead."
+msgstr "Use vistas o triggers en su lugar."
 
-#: storage/buffer/bufmgr.c:588 storage/buffer/bufmgr.c:669
+#: rewrite/rewriteDefine.c:307
 #, c-format
-msgid "cannot access temporary tables of other sessions"
-msgstr "no se pueden acceder tablas temporales de otras sesiones"
+msgid "rule actions on NEW are not implemented"
+msgstr "las acciones de regla en NEW no están implementadas"
 
-#: storage/buffer/bufmgr.c:825
+#: rewrite/rewriteDefine.c:308
 #, c-format
-msgid "unexpected data beyond EOF in block %u of relation %s"
-msgstr "datos inesperados más allá del EOF en el bloque %u de relación %s"
+msgid "Use triggers instead."
+msgstr "Use triggers en su lugar."
 
-#: storage/buffer/bufmgr.c:827
+#: rewrite/rewriteDefine.c:321
 #, c-format
-msgid "This has been seen to occur with buggy kernels; consider updating your system."
-msgstr "Esto parece ocurrir sólo con kernels defectuosos; considere actualizar su sistema."
+msgid "INSTEAD NOTHING rules on SELECT are not implemented"
+msgstr "las reglas INSTEAD NOTHING en SELECT no están implementadas"
 
-#: storage/buffer/bufmgr.c:925
+#: rewrite/rewriteDefine.c:322
 #, c-format
-msgid "invalid page in block %u of relation %s; zeroing out page"
-msgstr "la página no es válida en el bloque %u de la relación «%s»; reinicializando la página"
+msgid "Use views instead."
+msgstr "Use vistas en su lugar."
 
-#: storage/buffer/bufmgr.c:4211
+#: rewrite/rewriteDefine.c:330
 #, c-format
-msgid "could not write block %u of %s"
-msgstr "no se pudo escribir el bloque %u de %s"
+msgid "multiple actions for rules on SELECT are not implemented"
+msgstr "las reglas de múltiples acciones en SELECT no están implementadas"
 
-#: storage/buffer/bufmgr.c:4213
+#: rewrite/rewriteDefine.c:340
 #, c-format
-msgid "Multiple failures --- write error might be permanent."
-msgstr "Múltiples fallas --- el error de escritura puede ser permanente."
+msgid "rules on SELECT must have action INSTEAD SELECT"
+msgstr "las reglas en SELECT deben tener una acción INSTEAD SELECT"
 
-#: storage/buffer/bufmgr.c:4234 storage/buffer/bufmgr.c:4253
+#: rewrite/rewriteDefine.c:348
 #, c-format
-msgid "writing block %u of relation %s"
-msgstr "escribiendo el bloque %u de la relación %s"
+msgid "rules on SELECT must not contain data-modifying statements in WITH"
+msgstr "las reglas en SELECT no deben contener sentencias que modifiquen datos en WITH"
 
-#: storage/buffer/bufmgr.c:4556
+#: rewrite/rewriteDefine.c:356
 #, c-format
-msgid "snapshot too old"
-msgstr "snapshot demasiado antiguo"
+msgid "event qualifications are not implemented for rules on SELECT"
+msgstr "las calificaciones de eventos no están implementadas para las reglas en SELECT"
 
-#: storage/buffer/localbuf.c:205
+#: rewrite/rewriteDefine.c:383
 #, c-format
-msgid "no empty local buffer available"
-msgstr "no hay ningún búfer local disponible"
+msgid "\"%s\" is already a view"
+msgstr "«%s» ya es una vista"
 
-#: storage/buffer/localbuf.c:433
+#: rewrite/rewriteDefine.c:407
 #, c-format
-msgid "cannot access temporary tables during a parallel operation"
-msgstr "no se pueden acceder tablas temporales durante una operación paralela"
+msgid "view rule for \"%s\" must be named \"%s\""
+msgstr "la regla de vista para «%s» debe llamarse «%s»"
 
-#: storage/file/buffile.c:319
+#: rewrite/rewriteDefine.c:436
 #, c-format
-msgid "could not open temporary file \"%s\" from BufFile \"%s\": %m"
-msgstr "no se pudo abrir archivo temporal «%s» del BufFile «%s»: %m"
+msgid "cannot convert partitioned table \"%s\" to a view"
+msgstr "no se puede convertir la tabla particionada «%s» en vista"
 
-#: storage/file/buffile.c:795
+#: rewrite/rewriteDefine.c:445
 #, c-format
-msgid "could not determine size of temporary file \"%s\" from BufFile \"%s\": %m"
-msgstr "no se pudo determinar el tamaño del archivo temporal «%s» del BufFile «%s»: %m"
+msgid "cannot convert partition \"%s\" to a view"
+msgstr "no se puede convertir la partición «%s» en vista"
 
-#: storage/file/fd.c:508 storage/file/fd.c:580 storage/file/fd.c:616
+#: rewrite/rewriteDefine.c:454
 #, c-format
-msgid "could not flush dirty data: %m"
-msgstr "no se pudo sincronizar (flush) datos «sucios»: %m"
+msgid "could not convert table \"%s\" to a view because it is not empty"
+msgstr "no se pudo convertir la tabla «%s» en vista porque no está vacía"
 
-#: storage/file/fd.c:538
+#: rewrite/rewriteDefine.c:463
 #, c-format
-msgid "could not determine dirty data size: %m"
-msgstr "no se pudo determinar el tamaño de los datos «sucios»: %m"
+msgid "could not convert table \"%s\" to a view because it has triggers"
+msgstr "no se pudo convertir la tabla «%s» en vista porque tiene triggers"
 
-#: storage/file/fd.c:590
+#: rewrite/rewriteDefine.c:465
 #, c-format
-msgid "could not munmap() while flushing data: %m"
-msgstr "no se pudo ejecutar munmap() mientras se sincronizaban (flush) datos: %m"
+msgid "In particular, the table cannot be involved in any foreign key relationships."
+msgstr "En particular, la tabla no puede estar involucrada en relaciones de llave foránea."
 
-#: storage/file/fd.c:798
+#: rewrite/rewriteDefine.c:470
 #, c-format
-msgid "could not link file \"%s\" to \"%s\": %m"
-msgstr "no se pudo enlazar (link) el archivo «%s» a «%s»: %m"
+msgid "could not convert table \"%s\" to a view because it has indexes"
+msgstr "no se pudo convertir la tabla «%s» en vista porque tiene índices"
 
-#: storage/file/fd.c:881
+#: rewrite/rewriteDefine.c:476
 #, c-format
-msgid "getrlimit failed: %m"
-msgstr "getrlimit falló: %m"
+msgid "could not convert table \"%s\" to a view because it has child tables"
+msgstr "no se pudo convertir la tabla «%s» en vista porque tiene tablas hijas"
 
-#: storage/file/fd.c:971
+#: rewrite/rewriteDefine.c:482
+#, fuzzy, c-format
+#| msgid "could not convert table \"%s\" to a view because it has child tables"
+msgid "could not convert table \"%s\" to a view because it has parent tables"
+msgstr "no se pudo convertir la tabla «%s» en vista porque tiene tablas hijas"
+
+#: rewrite/rewriteDefine.c:488
 #, c-format
-msgid "insufficient file descriptors available to start server process"
-msgstr "los descriptores de archivo disponibles son insuficientes para iniciar un proceso servidor"
+msgid "could not convert table \"%s\" to a view because it has row security enabled"
+msgstr "no se pudo convertir la tabla «%s» en vista porque tiene seguridad de registros activada"
 
-#: storage/file/fd.c:972
+#: rewrite/rewriteDefine.c:494
 #, c-format
-msgid "System allows %d, we need at least %d."
-msgstr "El sistema permite %d, se requieren al menos %d."
+msgid "could not convert table \"%s\" to a view because it has row security policies"
+msgstr "no se pudo convertir la tabla «%s» en vista porque tiene políticas de seguridad de registros"
 
-#: storage/file/fd.c:1023 storage/file/fd.c:2357 storage/file/fd.c:2467
-#: storage/file/fd.c:2618
+#: rewrite/rewriteDefine.c:521
 #, c-format
-msgid "out of file descriptors: %m; release and retry"
-msgstr "se agotaron los descriptores de archivo: %m; libere e intente nuevamente"
+msgid "cannot have multiple RETURNING lists in a rule"
+msgstr "no se pueden tener múltiples listas RETURNING en una regla"
 
-#: storage/file/fd.c:1397
+#: rewrite/rewriteDefine.c:526
 #, c-format
-msgid "temporary file: path \"%s\", size %lu"
-msgstr "archivo temporal: ruta «%s», tamaño %lu"
+msgid "RETURNING lists are not supported in conditional rules"
+msgstr "listas de RETURNING no están soportadas en reglas condicionales"
 
-#: storage/file/fd.c:1528
+#: rewrite/rewriteDefine.c:530
 #, c-format
-msgid "cannot create temporary directory \"%s\": %m"
-msgstr "no se pudo crear el directorio temporal «%s»: %m"
+msgid "RETURNING lists are not supported in non-INSTEAD rules"
+msgstr "listas de RETURNING no están soportadas en reglas que no estén marcadas INSTEAD"
 
-#: storage/file/fd.c:1535
+#: rewrite/rewriteDefine.c:694
 #, c-format
-msgid "cannot create temporary subdirectory \"%s\": %m"
-msgstr "no se pudo crear el subdirectorio temporal «%s»: %m"
+msgid "SELECT rule's target list has too many entries"
+msgstr "la lista de destinos en la regla de SELECT tiene demasiadas entradas"
+
+#: rewrite/rewriteDefine.c:695
+#, c-format
+msgid "RETURNING list has too many entries"
+msgstr "la lista de RETURNING tiene demasiadas entradas"
 
-#: storage/file/fd.c:1728
+#: rewrite/rewriteDefine.c:722
 #, c-format
-msgid "could not create temporary file \"%s\": %m"
-msgstr "no se pudo crear el archivo temporal «%s»: %m"
+msgid "cannot convert relation containing dropped columns to view"
+msgstr "no se puede convertir en vista una relación que contiene columnas eliminadas"
 
-#: storage/file/fd.c:1763
+#: rewrite/rewriteDefine.c:723
 #, c-format
-msgid "could not open temporary file \"%s\": %m"
-msgstr "no se pudo abrir el archivo temporal «%s»: %m"
+msgid "cannot create a RETURNING list for a relation containing dropped columns"
+msgstr "no se puede crear una lista RETURNING para una relación que contiene columnas eliminadas"
 
-#: storage/file/fd.c:1804
+#: rewrite/rewriteDefine.c:729
 #, c-format
-msgid "could not unlink temporary file \"%s\": %m"
-msgstr "no se pudo eliminar (unlink) el archivo temporal «%s»: %m"
+msgid "SELECT rule's target entry %d has different column name from column \"%s\""
+msgstr "la entrada de destino %d de la regla de SELECT tiene un nombre de columna diferente de «%s»"
 
-#: storage/file/fd.c:2068
+#: rewrite/rewriteDefine.c:731
 #, c-format
-msgid "temporary file size exceeds temp_file_limit (%dkB)"
-msgstr "el tamaño del archivo temporal excede temp_file_limit permitido (%dkB)"
+msgid "SELECT target entry is named \"%s\"."
+msgstr "La entrada de destino de SELECT tiene nombre «%s»."
 
-#: storage/file/fd.c:2333 storage/file/fd.c:2392
+#: rewrite/rewriteDefine.c:740
 #, c-format
-msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\""
-msgstr "se excedió maxAllocatedDescs (%d) mientras se trataba de abrir el archivo «%s»"
+msgid "SELECT rule's target entry %d has different type from column \"%s\""
+msgstr "el destino %d de la regla de SELECT tiene un tipo diferente de la columna «%s»"
 
-#: storage/file/fd.c:2437
+#: rewrite/rewriteDefine.c:742
 #, c-format
-msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\""
-msgstr "se excedió maxAllocatedDescs (%d) mientras se trataba de ejecutar la orden «%s»"
+msgid "RETURNING list's entry %d has different type from column \"%s\""
+msgstr "el destino %d de la lista de RETURNING tiene un tipo diferente de la columna «%s»"
 
-#: storage/file/fd.c:2594
+#: rewrite/rewriteDefine.c:745 rewrite/rewriteDefine.c:769
 #, c-format
-msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\""
-msgstr "se excedió maxAllocatedDescs (%d) mientras se trataba de abrir el directorio «%s»"
+msgid "SELECT target entry has type %s, but column has type %s."
+msgstr "La entrada de destino de SELECT tiene un tipo «%s», pero la columna tiene tipo «%s»."
 
-#: storage/file/fd.c:3122
+#: rewrite/rewriteDefine.c:748 rewrite/rewriteDefine.c:773
 #, c-format
-msgid "unexpected file found in temporary-files directory: \"%s\""
-msgstr "archivo inesperado en directorio de archivos temporales: «%s»"
+msgid "RETURNING list entry has type %s, but column has type %s."
+msgstr "una entrada de la lista RETURNING tiene tipo %s, pero la columna tiene tipo %s."
 
-#: storage/file/sharedfileset.c:111
+#: rewrite/rewriteDefine.c:764
 #, c-format
-msgid "could not attach to a SharedFileSet that is already destroyed"
-msgstr "no se puede adjuntar a un SharedFileSet que ya está destruido"
+msgid "SELECT rule's target entry %d has different size from column \"%s\""
+msgstr "el destino %d de la regla de SELECT tiene un tamaño diferente de la columna «%s»"
 
-#: storage/ipc/dsm.c:338
+#: rewrite/rewriteDefine.c:766
 #, c-format
-msgid "dynamic shared memory control segment is corrupt"
-msgstr "el segmento de control de memoria compartida dinámica está corrupto"
+msgid "RETURNING list's entry %d has different size from column \"%s\""
+msgstr "el destino %d de la lista RETURNING tiene un tamaño diferente de la columna «%s»"
 
-#: storage/ipc/dsm.c:399
+#: rewrite/rewriteDefine.c:783
 #, c-format
-msgid "dynamic shared memory control segment is not valid"
-msgstr "el segmento de control de memoria compartida dinámica no es válido"
+msgid "SELECT rule's target list has too few entries"
+msgstr "la lista de destinos de regla de SELECT tiene muy pocas entradas"
 
-#: storage/ipc/dsm.c:494
+#: rewrite/rewriteDefine.c:784
 #, c-format
-msgid "too many dynamic shared memory segments"
-msgstr "demasiados segmentos de memoria compartida dinámica"
+msgid "RETURNING list has too few entries"
+msgstr "la lista de RETURNING tiene muy pocas entradas"
 
-#: storage/ipc/dsm_impl.c:230 storage/ipc/dsm_impl.c:526
-#: storage/ipc/dsm_impl.c:630 storage/ipc/dsm_impl.c:801
+#: rewrite/rewriteDefine.c:877 rewrite/rewriteDefine.c:991
+#: rewrite/rewriteSupport.c:109
 #, c-format
-msgid "could not unmap shared memory segment \"%s\": %m"
-msgstr "no se pudo desmapear el segmento de memoria compartida «%s»: %m"
+msgid "rule \"%s\" for relation \"%s\" does not exist"
+msgstr "no existe la regla «%s» para la relación «%s»"
 
-#: storage/ipc/dsm_impl.c:240 storage/ipc/dsm_impl.c:536
-#: storage/ipc/dsm_impl.c:640 storage/ipc/dsm_impl.c:811
+#: rewrite/rewriteDefine.c:1010
 #, c-format
-msgid "could not remove shared memory segment \"%s\": %m"
-msgstr "no se pudo eliminar el segmento de memoria compartida «%s»: %m"
+msgid "renaming an ON SELECT rule is not allowed"
+msgstr "no se permite cambiar el nombre de una regla ON SELECT"
 
-#: storage/ipc/dsm_impl.c:264 storage/ipc/dsm_impl.c:711
-#: storage/ipc/dsm_impl.c:825
+#: rewrite/rewriteHandler.c:546
 #, c-format
-msgid "could not open shared memory segment \"%s\": %m"
-msgstr "no se pudo abrir el segmento de memoria compartida «%s»: %m"
+msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten"
+msgstr "el nombre de consulta WITH «%s» aparece tanto en una acción de regla y en la consulta que está siendo reescrita"
 
-#: storage/ipc/dsm_impl.c:289 storage/ipc/dsm_impl.c:552
-#: storage/ipc/dsm_impl.c:756 storage/ipc/dsm_impl.c:849
+#: rewrite/rewriteHandler.c:606
 #, c-format
-msgid "could not stat shared memory segment \"%s\": %m"
-msgstr "no se pudo hacer stat del segmento de memoria compartida «%s»: %m"
+msgid "cannot have RETURNING lists in multiple rules"
+msgstr "no se puede usar RETURNING en múltiples reglas"
 
-#: storage/ipc/dsm_impl.c:316 storage/ipc/dsm_impl.c:900
+#: rewrite/rewriteHandler.c:817 rewrite/rewriteHandler.c:829
 #, c-format
-msgid "could not resize shared memory segment \"%s\" to %zu bytes: %m"
-msgstr "no se pudo redimensionar el segmento de memoria compartida «%s» a %zu bytes: %m"
+msgid "cannot insert into column \"%s\""
+msgstr "no se puede insertar en la columna «%s»"
 
-#: storage/ipc/dsm_impl.c:338 storage/ipc/dsm_impl.c:573
-#: storage/ipc/dsm_impl.c:732 storage/ipc/dsm_impl.c:922
+#: rewrite/rewriteHandler.c:818 rewrite/rewriteHandler.c:840
 #, c-format
-msgid "could not map shared memory segment \"%s\": %m"
-msgstr "no se pudo mapear el segmento de memoria compartida «%s»: %m"
+msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS."
+msgstr "La columna \"%s\" es una columna de identidad definida como GENERATED ALWAYS."
 
-#: storage/ipc/dsm_impl.c:508
+#: rewrite/rewriteHandler.c:820
 #, c-format
-msgid "could not get shared memory segment: %m"
-msgstr "no se pudo obtener el segmento de memoria compartida: %m"
+msgid "Use OVERRIDING SYSTEM VALUE to override."
+msgstr "Use OVERRIDING SYSTEM VALUE para controlar manualmente."
 
-#: storage/ipc/dsm_impl.c:696
+#: rewrite/rewriteHandler.c:839 rewrite/rewriteHandler.c:846
 #, c-format
-msgid "could not create shared memory segment \"%s\": %m"
-msgstr "no se pudo crear el segmento de memoria compartida «%s»: %m"
+msgid "column \"%s\" can only be updated to DEFAULT"
+msgstr "la columna «%s» sólo puede actualizarse a DEFAULT"
 
-#: storage/ipc/dsm_impl.c:933
+#: rewrite/rewriteHandler.c:1015 rewrite/rewriteHandler.c:1033
 #, c-format
-msgid "could not close shared memory segment \"%s\": %m"
-msgstr "no se pudo cerrar el segmento de memoria compartida «%s»: %m"
+msgid "multiple assignments to same column \"%s\""
+msgstr "hay múltiples asignaciones a la misma columna «%s»"
 
-#: storage/ipc/dsm_impl.c:972 storage/ipc/dsm_impl.c:1020
+#: rewrite/rewriteHandler.c:2015 rewrite/rewriteHandler.c:3823
 #, c-format
-msgid "could not duplicate handle for \"%s\": %m"
-msgstr "no se pudo duplicar el «handle» para «%s»: %m"
+msgid "infinite recursion detected in rules for relation \"%s\""
+msgstr "se detectó recursión infinita en las reglas de la relación «%s»"
 
-#. translator: %s is a syscall name, such as "poll()"
-#: storage/ipc/latch.c:940 storage/ipc/latch.c:1094 storage/ipc/latch.c:1307
-#: storage/ipc/latch.c:1457 storage/ipc/latch.c:1570
+#: rewrite/rewriteHandler.c:2100
 #, c-format
-msgid "%s failed: %m"
-msgstr "%s falló: %m"
+msgid "infinite recursion detected in policy for relation \"%s\""
+msgstr "se detectó recursión infinita en la política para la relación «%s»"
 
-#: storage/ipc/procarray.c:3014
-#, fuzzy, c-format
-#| msgid "database \"%s\" is being used by logical replication subscription"
-msgid "database \"%s\" is being used by prepared transaction"
-msgstr "la base de datos «%s» está siendo utilizada por suscripciones de replicación lógica"
+#: rewrite/rewriteHandler.c:2420
+msgid "Junk view columns are not updatable."
+msgstr "Las columnas «basura» de vistas no son actualizables."
 
-#: storage/ipc/procarray.c:3046 storage/ipc/signalfuncs.c:142
-#, c-format
-msgid "must be a superuser to terminate superuser process"
-msgstr "debe ser superusuario para terminar proceso de superusuario"
+#: rewrite/rewriteHandler.c:2425
+msgid "View columns that are not columns of their base relation are not updatable."
+msgstr "Las columnas de vistas que no son columnas de su relación base no son actualizables."
 
-#: storage/ipc/procarray.c:3053 storage/ipc/signalfuncs.c:147
-#, c-format
-msgid "must be a member of the role whose process is being terminated or member of pg_signal_backend"
-msgstr "debe ser miembro del rol cuyo proceso se está terminando o ser miembro de pg_signal_backend"
+#: rewrite/rewriteHandler.c:2428
+msgid "View columns that refer to system columns are not updatable."
+msgstr "Las columnas de vistas que se refieren a columnas de sistema no son actualizables."
 
-#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:982
-#: storage/lmgr/lock.c:1020 storage/lmgr/lock.c:2845 storage/lmgr/lock.c:4175
-#: storage/lmgr/lock.c:4240 storage/lmgr/lock.c:4532
-#: storage/lmgr/predicate.c:2401 storage/lmgr/predicate.c:2416
-#: storage/lmgr/predicate.c:3898 storage/lmgr/predicate.c:5009
-#: utils/hash/dynahash.c:1067
-#, c-format
-msgid "out of shared memory"
-msgstr "memoria compartida agotada"
+#: rewrite/rewriteHandler.c:2431
+msgid "View columns that return whole-row references are not updatable."
+msgstr "Las columnas de vistas que retornan referencias a la fila completa no son actualizables."
 
-#: storage/ipc/shmem.c:170 storage/ipc/shmem.c:266
-#, c-format
-msgid "out of shared memory (%zu bytes requested)"
-msgstr "memoria compartida agotada (%zu bytes solicitados)"
+# XXX a %s here would be nice ...
+#: rewrite/rewriteHandler.c:2492
+msgid "Views containing DISTINCT are not automatically updatable."
+msgstr "Las vistas que contienen DISTINCT no son automáticamente actualizables."
 
-#: storage/ipc/shmem.c:441
-#, c-format
-msgid "could not create ShmemIndex entry for data structure \"%s\""
-msgstr "no se pudo crear la entrada en ShmemIndex para la estructura «%s»"
+#: rewrite/rewriteHandler.c:2495
+msgid "Views containing GROUP BY are not automatically updatable."
+msgstr "Las vistas que contienen GROUP BY no son automáticamente actualizables."
 
-#: storage/ipc/shmem.c:456
-#, c-format
-msgid "ShmemIndex entry size is wrong for data structure \"%s\": expected %zu, actual %zu"
-msgstr "el tamaño de la entrada ShmemIndex es incorrecto para la estructura «%s»: se esperaba %zu, real %zu"
+#: rewrite/rewriteHandler.c:2498
+msgid "Views containing HAVING are not automatically updatable."
+msgstr "Las vistas que contienen HAVING no son automáticamente actualizables."
 
-#: storage/ipc/shmem.c:475
-#, c-format
-msgid "not enough shared memory for data structure \"%s\" (%zu bytes requested)"
-msgstr "el espacio de memoria compartida es insuficiente para la estructura «%s» (%zu bytes solicitados)"
+#: rewrite/rewriteHandler.c:2501
+msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable."
+msgstr "Las vistas que contienen UNION, INTERSECT o EXCEPT no son automáticamente actualizables."
 
-#: storage/ipc/shmem.c:507 storage/ipc/shmem.c:526
-#, c-format
-msgid "requested shared memory size overflows size_t"
-msgstr "la petición de tamaño de memoria compartida desborda size_t"
+#: rewrite/rewriteHandler.c:2504
+msgid "Views containing WITH are not automatically updatable."
+msgstr "Las vistas que contienen WITH no son automáticamente actualizables."
 
-#: storage/ipc/signalfuncs.c:67
-#, c-format
-msgid "PID %d is not a PostgreSQL server process"
-msgstr "PID %d no es un proceso servidor de PostgreSQL"
+#: rewrite/rewriteHandler.c:2507
+msgid "Views containing LIMIT or OFFSET are not automatically updatable."
+msgstr "Las vistas que contienen LIMIT u OFFSET no son automáticamente actualizables."
 
-#: storage/ipc/signalfuncs.c:98 storage/lmgr/proc.c:1366
-#, c-format
-msgid "could not send signal to process %d: %m"
-msgstr "no se pudo enviar la señal al proceso %d: %m"
+#: rewrite/rewriteHandler.c:2519
+msgid "Views that return aggregate functions are not automatically updatable."
+msgstr "Las vistas que retornan funciones de agregación no son automáticamente actualizables."
 
-#: storage/ipc/signalfuncs.c:118
-#, c-format
-msgid "must be a superuser to cancel superuser query"
-msgstr "debe ser superusuario para cancelar una consulta de superusuario"
+#: rewrite/rewriteHandler.c:2522
+msgid "Views that return window functions are not automatically updatable."
+msgstr "Las vistas que retornan funciones ventana no son automáticamente actualizables."
 
-#: storage/ipc/signalfuncs.c:123
-#, c-format
-msgid "must be a member of the role whose query is being canceled or member of pg_signal_backend"
-msgstr "debe ser miembro del rol cuya consulta se está cancelando o ser miembro de pg_signal_backend"
+#: rewrite/rewriteHandler.c:2525
+msgid "Views that return set-returning functions are not automatically updatable."
+msgstr "Las vistas que retornan funciones-que-retornan-conjuntos no son automáticamente actualizables."
 
-#: storage/ipc/signalfuncs.c:183
-#, c-format
-msgid "must be superuser to rotate log files with adminpack 1.0"
-msgstr "bebe ser superusuario para rotar archivos de log con adminpack 1.0"
+#: rewrite/rewriteHandler.c:2532 rewrite/rewriteHandler.c:2536
+#: rewrite/rewriteHandler.c:2544
+msgid "Views that do not select from a single table or view are not automatically updatable."
+msgstr "Las vistas que no extraen desde una única tabla o vista no son automáticamente actualizables."
 
-#. translator: %s is a SQL function name
-#: storage/ipc/signalfuncs.c:185 utils/adt/genfile.c:253
-#, c-format
-msgid "Consider using %s, which is part of core, instead."
-msgstr "Considere usar %s, que es parte del servidor, en su lugar."
+#: rewrite/rewriteHandler.c:2547
+msgid "Views containing TABLESAMPLE are not automatically updatable."
+msgstr "Las vistas que contienen TABLESAMPLE no son automáticamente actualizables."
 
-#: storage/ipc/signalfuncs.c:191 storage/ipc/signalfuncs.c:211
-#, c-format
-msgid "rotation not possible because log collection not active"
-msgstr "la rotación no es posible porque la recoleccion de log no está activa"
+#: rewrite/rewriteHandler.c:2571
+msgid "Views that have no updatable columns are not automatically updatable."
+msgstr "Las vistas que no tienen columnas actualizables no son automáticamente actualizables."
 
-#: storage/ipc/standby.c:580 tcop/postgres.c:3177
+#: rewrite/rewriteHandler.c:3048
 #, c-format
-msgid "canceling statement due to conflict with recovery"
-msgstr "cancelando la sentencia debido a un conflicto con la recuperación"
+msgid "cannot insert into column \"%s\" of view \"%s\""
+msgstr "no se puede insertar en la columna «%s» de la vista «%s»"
 
-#: storage/ipc/standby.c:581 tcop/postgres.c:2469
+#: rewrite/rewriteHandler.c:3056
 #, c-format
-msgid "User transaction caused buffer deadlock with recovery."
-msgstr "La transacción del usuario causó un «deadlock» con la recuperación."
+msgid "cannot update column \"%s\" of view \"%s\""
+msgstr "no se puede actualizar la columna «%s» vista «%s»"
 
-#: storage/large_object/inv_api.c:191
+#: rewrite/rewriteHandler.c:3534
 #, c-format
-msgid "pg_largeobject entry for OID %u, page %d has invalid data field size %d"
-msgstr "la entrada pg_largeobject para el OID %u, página %d tiene tamaño de campo %d no válido"
+msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH"
+msgstr "las reglas DO INSTEAD NOTHING no están soportadas para sentencias que modifiquen datos en WITH"
 
-#: storage/large_object/inv_api.c:272
+#: rewrite/rewriteHandler.c:3548
 #, c-format
-msgid "invalid flags for opening a large object: %d"
-msgstr "opciones no válidas para abrir un objeto grande: %d"
+msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH"
+msgstr "las reglas DO INSTEAD condicionales no están soportadas para sentencias que modifiquen datos en WITH"
 
-#: storage/large_object/inv_api.c:462
+#: rewrite/rewriteHandler.c:3552
 #, c-format
-msgid "invalid whence setting: %d"
-msgstr "parámetro «whence» no válido: %d"
+msgid "DO ALSO rules are not supported for data-modifying statements in WITH"
+msgstr "las reglas DO ALSO no están soportadas para sentencias que modifiquen datos en WITH"
 
-#: storage/large_object/inv_api.c:634
+#: rewrite/rewriteHandler.c:3557
 #, c-format
-msgid "invalid large object write request size: %d"
-msgstr "tamaño de petición de escritura de objeto grande no válido: %d"
+msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH"
+msgstr "las reglas DO INSTEAD de múltiples sentencias no están soportadas para sentencias que modifiquen datos en WITH"
 
-#: storage/lmgr/deadlock.c:1124
-#, c-format
-msgid "Process %d waits for %s on %s; blocked by process %d."
-msgstr "El proceso %d espera %s en %s; bloqueado por proceso %d."
+# XXX a %s here would be nice ...
+#: rewrite/rewriteHandler.c:3751 rewrite/rewriteHandler.c:3759
+#: rewrite/rewriteHandler.c:3767
+#, fuzzy, c-format
+#| msgid "Views containing DISTINCT are not automatically updatable."
+msgid "Views with conditional DO INSTEAD rules are not automatically updatable."
+msgstr "Las vistas que contienen DISTINCT no son automáticamente actualizables."
 
-#: storage/lmgr/deadlock.c:1143
+#: rewrite/rewriteHandler.c:3860
 #, c-format
-msgid "Process %d: %s"
-msgstr "Proceso %d: %s"
+msgid "cannot perform INSERT RETURNING on relation \"%s\""
+msgstr "no se puede hacer INSERT RETURNING a la relación «%s»"
 
-#: storage/lmgr/deadlock.c:1152
+#: rewrite/rewriteHandler.c:3862
 #, c-format
-msgid "deadlock detected"
-msgstr "se ha detectado un deadlock"
+msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause."
+msgstr "Necesita un regla incondicional ON INSERT DO INSTEAD con una cláusula RETURNING."
 
-#: storage/lmgr/deadlock.c:1155
+#: rewrite/rewriteHandler.c:3867
 #, c-format
-msgid "See server log for query details."
-msgstr "Vea el registro del servidor para obtener detalles de las consultas."
+msgid "cannot perform UPDATE RETURNING on relation \"%s\""
+msgstr "no se puede hacer UPDATE RETURNING a la relación «%s»"
 
-#: storage/lmgr/lmgr.c:830
+#: rewrite/rewriteHandler.c:3869
 #, c-format
-msgid "while updating tuple (%u,%u) in relation \"%s\""
-msgstr "mientras se actualizaba la tupla (%u,%u) en la relación «%s»"
+msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause."
+msgstr "Necesita un regla incondicional ON UPDATE DO INSTEAD con una cláusula RETURNING."
 
-#: storage/lmgr/lmgr.c:833
+#: rewrite/rewriteHandler.c:3874
 #, c-format
-msgid "while deleting tuple (%u,%u) in relation \"%s\""
-msgstr "mientras se borraba la tupla (%u,%u) en la relación «%s»"
+msgid "cannot perform DELETE RETURNING on relation \"%s\""
+msgstr "no se puede hacer DELETE RETURNING a la relación «%s»"
 
-#: storage/lmgr/lmgr.c:836
+#: rewrite/rewriteHandler.c:3876
 #, c-format
-msgid "while locking tuple (%u,%u) in relation \"%s\""
-msgstr "mientras se bloqueaba la tupla (%u,%u) de la relación «%s»"
+msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause."
+msgstr "Necesita un regla incondicional ON DELETE DO INSTEAD con una clásula RETURNING."
 
-#: storage/lmgr/lmgr.c:839
+#: rewrite/rewriteHandler.c:3894
 #, c-format
-msgid "while locking updated version (%u,%u) of tuple in relation \"%s\""
-msgstr "mientras se bloqueaba la versión actualizada (%u,%u) en la relación «%s»"
+msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules"
+msgstr "INSERT con una cláusula ON CONFLICT no puede usarse con una tabla que tiene reglas INSERT o UPDATE"
 
-#: storage/lmgr/lmgr.c:842
+#: rewrite/rewriteHandler.c:3951
 #, c-format
-msgid "while inserting index tuple (%u,%u) in relation \"%s\""
-msgstr "mientras se insertaba la tupla de índice (%u,%u) en la relación «%s»"
+msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries"
+msgstr "WITH no puede ser usado en una consulta que está siendo convertida en múltiples consultas a través de reglas"
 
-#: storage/lmgr/lmgr.c:845
+#: rewrite/rewriteManip.c:1006
 #, c-format
-msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\""
-msgstr "mientras se verificaba la unicidad de la tupla (%u,%u) en la relación «%s»"
+msgid "conditional utility statements are not implemented"
+msgstr "las sentencias condicionales de utilidad no están implementadas"
 
-#: storage/lmgr/lmgr.c:848
+#: rewrite/rewriteManip.c:1172
 #, c-format
-msgid "while rechecking updated tuple (%u,%u) in relation \"%s\""
-msgstr "mientras se verificaba la tupla actualizada (%u,%u) en la relación «%s»"
+msgid "WHERE CURRENT OF on a view is not implemented"
+msgstr "WHERE CURRENT OF no está implementado en una vista"
 
-#: storage/lmgr/lmgr.c:851
+#: rewrite/rewriteManip.c:1507
 #, c-format
-msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\""
-msgstr "mientras se verificaba una restricción de exclusión en la tupla (%u,%u) en la relación «%s»"
+msgid "NEW variables in ON UPDATE rules cannot reference columns that are part of a multiple assignment in the subject UPDATE command"
+msgstr "las variables NEW en reglas ON UPDATE no pueden referenciar columnas que son parte de una asignación múltiple en la orden UPDATE"
+
+#: scan.l:458
+msgid "unterminated /* comment"
+msgstr "un comentario /* está inconcluso"
+
+#: scan.l:478
+msgid "unterminated bit string literal"
+msgstr "una cadena de bits está inconclusa"
+
+#: scan.l:492
+msgid "unterminated hexadecimal string literal"
+msgstr "una cadena hexadecimal está inconclusa"
 
-#: storage/lmgr/lmgr.c:1106
+#: scan.l:542
 #, c-format
-msgid "relation %u of database %u"
-msgstr "relación %u de la base de datos %u"
+msgid "unsafe use of string constant with Unicode escapes"
+msgstr "uso inseguro de literal de cadena con escapes Unicode"
 
-#: storage/lmgr/lmgr.c:1112
+#: scan.l:543
 #, c-format
-msgid "extension of relation %u of database %u"
-msgstr "extensión de la relación %u de la base de datos %u"
+msgid "String constants with Unicode escapes cannot be used when standard_conforming_strings is off."
+msgstr "Los literales de cadena con escapes Unicode no pueden usarse cuando standard_conforming_strings está desactivado."
 
-#: storage/lmgr/lmgr.c:1118
-#, fuzzy, c-format
-#| msgid "relation %u of database %u"
-msgid "pg_database.datfrozenxid of database %u"
-msgstr "relación %u de la base de datos %u"
+#: scan.l:604
+msgid "unhandled previous state in xqs"
+msgstr "estado previo no manejado en xqs"
 
-#: storage/lmgr/lmgr.c:1123
+#: scan.l:678
 #, c-format
-msgid "page %u of relation %u of database %u"
-msgstr "página %u de la relación %u de la base de datos %u"
+msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX."
+msgstr "Los escapes Unicode deben ser \\uXXXX o \\UXXXXXXXX."
 
-#: storage/lmgr/lmgr.c:1130
+#: scan.l:689
 #, c-format
-msgid "tuple (%u,%u) of relation %u of database %u"
-msgstr "tupla (%u,%u) de la relación %u de la base de datos %u"
+msgid "unsafe use of \\' in a string literal"
+msgstr "uso inseguro de \\' en un literal de cadena"
 
-#: storage/lmgr/lmgr.c:1138
+#: scan.l:690
 #, c-format
-msgid "transaction %u"
-msgstr "transacción %u"
+msgid "Use '' to write quotes in strings. \\' is insecure in client-only encodings."
+msgstr "Use '' para escribir comillas en cadenas. \\' es inseguro en codificaciones de sólo cliente."
 
-#: storage/lmgr/lmgr.c:1143
-#, c-format
-msgid "virtual transaction %d/%u"
-msgstr "transacción virtual %d/%u"
+#: scan.l:762
+msgid "unterminated dollar-quoted string"
+msgstr "una cadena separada por $ está inconclusa"
+
+#: scan.l:779 scan.l:789
+msgid "zero-length delimited identifier"
+msgstr "un identificador delimitado tiene largo cero"
+
+#: scan.l:800 syncrep_scanner.l:91
+msgid "unterminated quoted identifier"
+msgstr "un identificador entre comillas está inconcluso"
+
+#: scan.l:963
+msgid "operator too long"
+msgstr "el operador es demasiado largo"
 
-#: storage/lmgr/lmgr.c:1149
+#. translator: %s is typically the translation of "syntax error"
+#: scan.l:1171
 #, c-format
-msgid "speculative token %u of transaction %u"
-msgstr "token especulativo %u de la transacción %u"
+msgid "%s at end of input"
+msgstr "%s al final de la entrada"
 
-#: storage/lmgr/lmgr.c:1155
+#. translator: first %s is typically the translation of "syntax error"
+#: scan.l:1179
 #, c-format
-msgid "object %u of class %u of database %u"
-msgstr "objeto %u de clase %u de la base de datos %u"
+msgid "%s at or near \"%s\""
+msgstr "%s en o cerca de «%s»"
 
-#: storage/lmgr/lmgr.c:1163
+#: scan.l:1373
 #, c-format
-msgid "user lock [%u,%u,%u]"
-msgstr "candado de usuario [%u,%u,%u]"
+msgid "nonstandard use of \\' in a string literal"
+msgstr "uso no estandar de \\' en un literal de cadena"
 
-# XXX is this a good translation?
-#: storage/lmgr/lmgr.c:1170
+#: scan.l:1374
 #, c-format
-msgid "advisory lock [%u,%u,%u,%u]"
-msgstr "candado consultivo [%u,%u,%u,%u]"
+msgid "Use '' to write quotes in strings, or use the escape string syntax (E'...')."
+msgstr "Use '' para escribir comillas en cadenas, o use la sintaxis de escape de cadenas (E'...')."
 
-#: storage/lmgr/lmgr.c:1178
+#: scan.l:1383
 #, c-format
-msgid "unrecognized locktag type %d"
-msgstr "tipo de locktag %d no reconocido"
+msgid "nonstandard use of \\\\ in a string literal"
+msgstr "uso no estandar de \\\\ en un literal de cadena"
 
-#: storage/lmgr/lock.c:803
+#: scan.l:1384
 #, c-format
-msgid "cannot acquire lock mode %s on database objects while recovery is in progress"
-msgstr "no se puede adquirir candado en modo %s en objetos de la base de datos mientras la recuperación está en proceso"
+msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'."
+msgstr "Use '' para escribir comillas en cadenas, o use la sintaxis de escape de cadenas (E'\\\\')."
 
-#: storage/lmgr/lock.c:805
+#: scan.l:1398
 #, c-format
-msgid "Only RowExclusiveLock or less can be acquired on database objects during recovery."
-msgstr "Sólo candados RowExclusiveLock o menor pueden ser adquiridos en objetos de la base de datos durante la recuperación."
+msgid "nonstandard use of escape in a string literal"
+msgstr "uso no estandar de escape en un literal de cadena"
 
-#: storage/lmgr/lock.c:983 storage/lmgr/lock.c:1021 storage/lmgr/lock.c:2846
-#: storage/lmgr/lock.c:4176 storage/lmgr/lock.c:4241 storage/lmgr/lock.c:4533
+#: scan.l:1399
 #, c-format
-msgid "You might need to increase max_locks_per_transaction."
-msgstr "Puede ser necesario incrementar max_locks_per_transaction."
+msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'."
+msgstr "Use la sintaxis de escape para cadenas, por ej. E'\\r\\n'."
 
-#: storage/lmgr/lock.c:3292 storage/lmgr/lock.c:3408
+#: snowball/dict_snowball.c:199
 #, c-format
-msgid "cannot PREPARE while holding both session-level and transaction-level locks on the same object"
-msgstr "no se puede hacer PREPARE mientras se mantienen candados a nivel de sesión y transacción simultáneamente sobre el mismo objeto"
+msgid "no Snowball stemmer available for language \"%s\" and encoding \"%s\""
+msgstr "no se encontró un analizador Snowball para el lenguaje «%s» y la codificación «%s»"
 
-#: storage/lmgr/predicate.c:700
+#: snowball/dict_snowball.c:222 tsearch/dict_ispell.c:74
+#: tsearch/dict_simple.c:49
 #, c-format
-msgid "not enough elements in RWConflictPool to record a read/write conflict"
-msgstr "no hay suficientes elementos en RWConflictPool para registrar un conflicto read/write"
+msgid "multiple StopWords parameters"
+msgstr "parámetro StopWords duplicado"
 
-#: storage/lmgr/predicate.c:701 storage/lmgr/predicate.c:729
+#: snowball/dict_snowball.c:231
 #, c-format
-msgid "You might need to run fewer transactions at a time or increase max_connections."
-msgstr "Puede ser necesario ejecutar menos transacciones al mismo tiempo, o incrementar max_connections."
+msgid "multiple Language parameters"
+msgstr "parámetro Language duplicado"
 
-#: storage/lmgr/predicate.c:728
+#: snowball/dict_snowball.c:238
 #, c-format
-msgid "not enough elements in RWConflictPool to record a potential read/write conflict"
-msgstr "no hay suficientes elementos en RWConflictPool para registrar un potencial conflicto read/write"
+msgid "unrecognized Snowball parameter: \"%s\""
+msgstr "parámetro Snowball no reconocido: «%s»"
 
-#: storage/lmgr/predicate.c:1535
+#: snowball/dict_snowball.c:246
 #, c-format
-msgid "deferrable snapshot was unsafe; trying a new one"
-msgstr "la instantánea postergada era insegura; intentando con una nueva"
+msgid "missing Language parameter"
+msgstr "falta un parámetro Language"
 
-#: storage/lmgr/predicate.c:1624
+#: statistics/dependencies.c:667 statistics/dependencies.c:720
+#: statistics/mcv.c:1477 statistics/mcv.c:1508 statistics/mvdistinct.c:348
+#: statistics/mvdistinct.c:401 utils/adt/pseudotypes.c:42
+#: utils/adt/pseudotypes.c:76
 #, c-format
-msgid "\"default_transaction_isolation\" is set to \"serializable\"."
-msgstr "«default_transaction_isolation» está definido a «serializable»."
+msgid "cannot accept a value of type %s"
+msgstr "no se puede aceptar un valor de tipo %s"
 
-#: storage/lmgr/predicate.c:1625
+#: statistics/extended_stats.c:145
 #, c-format
-msgid "You can use \"SET default_transaction_isolation = 'repeatable read'\" to change the default."
-msgstr "Puede usar «SET default_transaction_isolation = 'repeatable read'» para cambiar el valor por omisión."
+msgid "statistics object \"%s.%s\" could not be computed for relation \"%s.%s\""
+msgstr "el objeto de estadísticas «%s.%s» no pudo ser calculado para la relación «%s.%s»"
 
-#: storage/lmgr/predicate.c:1676
+#: statistics/mcv.c:1365 utils/adt/jsonfuncs.c:1800
 #, c-format
-msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE"
-msgstr "una transacción que importa un snapshot no debe ser READ ONLY DEFERRABLE"
+msgid "function returning record called in context that cannot accept type record"
+msgstr "se llamó una función que retorna un registro en un contexto que no puede aceptarlo"
 
-#: storage/lmgr/predicate.c:1755 utils/time/snapmgr.c:623
-#: utils/time/snapmgr.c:629
+#: storage/buffer/bufmgr.c:588 storage/buffer/bufmgr.c:670
 #, c-format
-msgid "could not import the requested snapshot"
-msgstr "no se pudo importar el snapshot solicitado"
+msgid "cannot access temporary tables of other sessions"
+msgstr "no se pueden acceder tablas temporales de otras sesiones"
 
-#: storage/lmgr/predicate.c:1756 utils/time/snapmgr.c:630
+#: storage/buffer/bufmgr.c:826
 #, c-format
-msgid "The source process with PID %d is not running anymore."
-msgstr "El proceso de origen con PID %d ya no está en ejecución."
+msgid "unexpected data beyond EOF in block %u of relation %s"
+msgstr "datos inesperados más allá del EOF en el bloque %u de relación %s"
 
-#: storage/lmgr/predicate.c:2402 storage/lmgr/predicate.c:2417
-#: storage/lmgr/predicate.c:3899
+#: storage/buffer/bufmgr.c:828
 #, c-format
-msgid "You might need to increase max_pred_locks_per_transaction."
-msgstr "Puede ser necesario incrementar max_pred_locks_per_transaction."
+msgid "This has been seen to occur with buggy kernels; consider updating your system."
+msgstr "Esto parece ocurrir sólo con kernels defectuosos; considere actualizar su sistema."
 
-#: storage/lmgr/predicate.c:4030 storage/lmgr/predicate.c:4066
-#: storage/lmgr/predicate.c:4099 storage/lmgr/predicate.c:4107
-#: storage/lmgr/predicate.c:4146 storage/lmgr/predicate.c:4388
-#: storage/lmgr/predicate.c:4725 storage/lmgr/predicate.c:4737
-#: storage/lmgr/predicate.c:4780 storage/lmgr/predicate.c:4818
+#: storage/buffer/bufmgr.c:927
 #, c-format
-msgid "could not serialize access due to read/write dependencies among transactions"
-msgstr "no se pudo serializar el acceso debido a dependencias read/write entre transacciones"
+msgid "invalid page in block %u of relation %s; zeroing out page"
+msgstr "la página no es válida en el bloque %u de la relación «%s»; reinicializando la página"
 
-#: storage/lmgr/predicate.c:4032 storage/lmgr/predicate.c:4068
-#: storage/lmgr/predicate.c:4101 storage/lmgr/predicate.c:4109
-#: storage/lmgr/predicate.c:4148 storage/lmgr/predicate.c:4390
-#: storage/lmgr/predicate.c:4727 storage/lmgr/predicate.c:4739
-#: storage/lmgr/predicate.c:4782 storage/lmgr/predicate.c:4820
+#: storage/buffer/bufmgr.c:4213
 #, c-format
-msgid "The transaction might succeed if retried."
-msgstr "La transacción podría tener éxito si es reintentada."
+msgid "could not write block %u of %s"
+msgstr "no se pudo escribir el bloque %u de %s"
 
-#: storage/lmgr/proc.c:358
+#: storage/buffer/bufmgr.c:4215
 #, c-format
-msgid "number of requested standby connections exceeds max_wal_senders (currently %d)"
-msgstr "la cantidad de conexiones standby pedidas excede max_wal_senders (actualmente %d)"
+msgid "Multiple failures --- write error might be permanent."
+msgstr "Múltiples fallas --- el error de escritura puede ser permanente."
 
-#: storage/lmgr/proc.c:1337
+#: storage/buffer/bufmgr.c:4236 storage/buffer/bufmgr.c:4255
 #, c-format
-msgid "Process %d waits for %s on %s."
-msgstr "El proceso %d espera %s en %s."
+msgid "writing block %u of relation %s"
+msgstr "escribiendo el bloque %u de la relación %s"
 
-#: storage/lmgr/proc.c:1348
+#: storage/buffer/bufmgr.c:4558
 #, c-format
-msgid "sending cancel to blocking autovacuum PID %d"
-msgstr "enviando señal de cancelación a la tarea autovacuum bloqueante con PID %d"
+msgid "snapshot too old"
+msgstr "snapshot demasiado antiguo"
 
-#: storage/lmgr/proc.c:1468
+#: storage/buffer/localbuf.c:205
 #, c-format
-msgid "process %d avoided deadlock for %s on %s by rearranging queue order after %ld.%03d ms"
-msgstr "el proceso %d evitó un deadlock para %s en %s reordenando la cola después de %ld.%03d ms"
+msgid "no empty local buffer available"
+msgstr "no hay ningún búfer local disponible"
 
-#: storage/lmgr/proc.c:1483
+#: storage/buffer/localbuf.c:433
 #, c-format
-msgid "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms"
-msgstr "el proceso %d detectó un deadlock mientras esperaba %s en %s después de %ld.%03d ms"
+msgid "cannot access temporary tables during a parallel operation"
+msgstr "no se pueden acceder tablas temporales durante una operación paralela"
 
-#: storage/lmgr/proc.c:1492
+#: storage/file/buffile.c:319
 #, c-format
-msgid "process %d still waiting for %s on %s after %ld.%03d ms"
-msgstr "el proceso %d aún espera %s en %s después de %ld.%03d ms"
+msgid "could not open temporary file \"%s\" from BufFile \"%s\": %m"
+msgstr "no se pudo abrir archivo temporal «%s» del BufFile «%s»: %m"
 
-#: storage/lmgr/proc.c:1499
+#: storage/file/buffile.c:795
 #, c-format
-msgid "process %d acquired %s on %s after %ld.%03d ms"
-msgstr "el proceso %d adquirió %s en %s después de %ld.%03d ms"
+msgid "could not determine size of temporary file \"%s\" from BufFile \"%s\": %m"
+msgstr "no se pudo determinar el tamaño del archivo temporal «%s» del BufFile «%s»: %m"
 
-#: storage/lmgr/proc.c:1515
+#: storage/file/fd.c:508 storage/file/fd.c:580 storage/file/fd.c:616
 #, c-format
-msgid "process %d failed to acquire %s on %s after %ld.%03d ms"
-msgstr "el proceso %d no pudo adquirir %s en %s después de %ld.%03d ms"
+msgid "could not flush dirty data: %m"
+msgstr "no se pudo sincronizar (flush) datos «sucios»: %m"
 
-#: storage/page/bufpage.c:145
+#: storage/file/fd.c:538
 #, c-format
-msgid "page verification failed, calculated checksum %u but expected %u"
-msgstr "la suma de verificación falló, se calculó %u pero se esperaba %u"
+msgid "could not determine dirty data size: %m"
+msgstr "no se pudo determinar el tamaño de los datos «sucios»: %m"
 
-#: storage/page/bufpage.c:209 storage/page/bufpage.c:503
-#: storage/page/bufpage.c:740 storage/page/bufpage.c:873
-#: storage/page/bufpage.c:969 storage/page/bufpage.c:1081
+#: storage/file/fd.c:590
 #, c-format
-msgid "corrupted page pointers: lower = %u, upper = %u, special = %u"
-msgstr "los punteros de página están corruptos: inferior = %u, superior = %u, especial = %u"
+msgid "could not munmap() while flushing data: %m"
+msgstr "no se pudo ejecutar munmap() mientras se sincronizaban (flush) datos: %m"
 
-#: storage/page/bufpage.c:525
+#: storage/file/fd.c:802
 #, c-format
-msgid "corrupted line pointer: %u"
-msgstr "puntero de ítem corrupto: %u"
+msgid "could not link file \"%s\" to \"%s\": %m"
+msgstr "no se pudo enlazar (link) el archivo «%s» a «%s»: %m"
 
-#: storage/page/bufpage.c:552 storage/page/bufpage.c:924
+#: storage/file/fd.c:895
 #, c-format
-msgid "corrupted item lengths: total %u, available space %u"
-msgstr "los largos de ítem están corruptos: total %u, espacio disponible %u"
+msgid "getrlimit failed: %m"
+msgstr "getrlimit falló: %m"
 
-#: storage/page/bufpage.c:759 storage/page/bufpage.c:897
-#: storage/page/bufpage.c:985 storage/page/bufpage.c:1097
+#: storage/file/fd.c:985
 #, c-format
-msgid "corrupted line pointer: offset = %u, size = %u"
-msgstr "puntero de ítem corrupto: desplazamiento = %u, tamaño = %u"
+msgid "insufficient file descriptors available to start server process"
+msgstr "los descriptores de archivo disponibles son insuficientes para iniciar un proceso servidor"
 
-#: storage/smgr/md.c:333 storage/smgr/md.c:836
+#: storage/file/fd.c:986
 #, c-format
-msgid "could not truncate file \"%s\": %m"
-msgstr "no se pudo truncar el archivo «%s»: %m"
+msgid "System allows %d, we need at least %d."
+msgstr "El sistema permite %d, se requieren al menos %d."
 
-#: storage/smgr/md.c:407
+#: storage/file/fd.c:1037 storage/file/fd.c:2371 storage/file/fd.c:2481
+#: storage/file/fd.c:2632
 #, c-format
-msgid "cannot extend file \"%s\" beyond %u blocks"
-msgstr "no se pudo extender el archivo «%s» más allá de %u bloques"
+msgid "out of file descriptors: %m; release and retry"
+msgstr "se agotaron los descriptores de archivo: %m; libere e intente nuevamente"
 
-#: storage/smgr/md.c:422
+#: storage/file/fd.c:1411
 #, c-format
-msgid "could not extend file \"%s\": %m"
-msgstr "no se pudo extender el archivo «%s»: %m"
+msgid "temporary file: path \"%s\", size %lu"
+msgstr "archivo temporal: ruta «%s», tamaño %lu"
 
-#: storage/smgr/md.c:424 storage/smgr/md.c:431 storage/smgr/md.c:719
+#: storage/file/fd.c:1542
 #, c-format
-msgid "Check free disk space."
-msgstr "Verifique el espacio libre en disco."
+msgid "cannot create temporary directory \"%s\": %m"
+msgstr "no se pudo crear el directorio temporal «%s»: %m"
 
-#: storage/smgr/md.c:428
+#: storage/file/fd.c:1549
 #, c-format
-msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
-msgstr "no se pudo extender el archivo «%s»: sólo se escribieron %d de %d bytes en el bloque %u"
+msgid "cannot create temporary subdirectory \"%s\": %m"
+msgstr "no se pudo crear el subdirectorio temporal «%s»: %m"
 
-#: storage/smgr/md.c:640
+#: storage/file/fd.c:1742
 #, c-format
-msgid "could not read block %u in file \"%s\": %m"
-msgstr "no se pudo leer el bloque %u del archivo «%s»: %m"
+msgid "could not create temporary file \"%s\": %m"
+msgstr "no se pudo crear el archivo temporal «%s»: %m"
 
-#: storage/smgr/md.c:656
+#: storage/file/fd.c:1777
 #, c-format
-msgid "could not read block %u in file \"%s\": read only %d of %d bytes"
-msgstr "no se pudo leer el bloque %u del archivo «%s»: se leyeron sólo %d de %d bytes"
+msgid "could not open temporary file \"%s\": %m"
+msgstr "no se pudo abrir el archivo temporal «%s»: %m"
 
-#: storage/smgr/md.c:710
+#: storage/file/fd.c:1818
 #, c-format
-msgid "could not write block %u in file \"%s\": %m"
-msgstr "no se pudo escribir el bloque %u en el archivo «%s»: %m"
+msgid "could not unlink temporary file \"%s\": %m"
+msgstr "no se pudo eliminar (unlink) el archivo temporal «%s»: %m"
 
-#: storage/smgr/md.c:715
+#: storage/file/fd.c:2082
 #, c-format
-msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes"
-msgstr "no se pudo escribir el bloque %u en el archivo «%s»: se escribieron sólo %d de %d bytes"
+msgid "temporary file size exceeds temp_file_limit (%dkB)"
+msgstr "el tamaño del archivo temporal excede temp_file_limit permitido (%dkB)"
 
-#: storage/smgr/md.c:807
+#: storage/file/fd.c:2347 storage/file/fd.c:2406
 #, c-format
-msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now"
-msgstr "no se pudo truncar el archivo «%s» a %u bloques: es de sólo %u bloques ahora"
+msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\""
+msgstr "se excedió maxAllocatedDescs (%d) mientras se trataba de abrir el archivo «%s»"
 
-#: storage/smgr/md.c:862
+#: storage/file/fd.c:2451
 #, c-format
-msgid "could not truncate file \"%s\" to %u blocks: %m"
-msgstr "no se pudo truncar el archivo «%s» a %u bloques: %m"
+msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\""
+msgstr "se excedió maxAllocatedDescs (%d) mientras se trataba de ejecutar la orden «%s»"
 
-#: storage/smgr/md.c:957
+#: storage/file/fd.c:2608
 #, c-format
-msgid "could not forward fsync request because request queue is full"
-msgstr "no se pudo enviar una petición fsync porque la cola de peticiones está llena"
+msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\""
+msgstr "se excedió maxAllocatedDescs (%d) mientras se trataba de abrir el directorio «%s»"
 
-#: storage/smgr/md.c:1256
+#: storage/file/fd.c:3136
 #, c-format
-msgid "could not open file \"%s\" (target block %u): previous segment is only %u blocks"
-msgstr "no se pudo abrir el archivo «%s» (bloque buscado %u): el segmento previo sólo tiene %u bloques"
+msgid "unexpected file found in temporary-files directory: \"%s\""
+msgstr "archivo inesperado en directorio de archivos temporales: «%s»"
 
-#: storage/smgr/md.c:1270
+#: storage/file/sharedfileset.c:111
 #, c-format
-msgid "could not open file \"%s\" (target block %u): %m"
-msgstr "no se pudo abrir el archivo «%s» (bloque buscado %u): %m"
+msgid "could not attach to a SharedFileSet that is already destroyed"
+msgstr "no se puede adjuntar a un SharedFileSet que ya está destruido"
 
-#: storage/sync/sync.c:401
+#: storage/ipc/dsm.c:338
 #, c-format
-msgid "could not fsync file \"%s\" but retrying: %m"
-msgstr "no se pudo sincronizar (fsync) archivo «%s» pero reintentando: %m"
+msgid "dynamic shared memory control segment is corrupt"
+msgstr "el segmento de control de memoria compartida dinámica está corrupto"
 
-#: tcop/fastpath.c:109 tcop/fastpath.c:461 tcop/fastpath.c:591
+#: storage/ipc/dsm.c:399
 #, c-format
-msgid "invalid argument size %d in function call message"
-msgstr "el tamaño de argumento %d no es válido en el mensaje de llamada a función"
+msgid "dynamic shared memory control segment is not valid"
+msgstr "el segmento de control de memoria compartida dinámica no es válido"
 
-#: tcop/fastpath.c:307
+#: storage/ipc/dsm.c:494
 #, c-format
-msgid "fastpath function call: \"%s\" (OID %u)"
-msgstr "llamada a función fastpath: «%s» (OID %u)"
+msgid "too many dynamic shared memory segments"
+msgstr "demasiados segmentos de memoria compartida dinámica"
 
-#: tcop/fastpath.c:389 tcop/postgres.c:1323 tcop/postgres.c:1581
-#: tcop/postgres.c:2013 tcop/postgres.c:2250
+#: storage/ipc/dsm_impl.c:230 storage/ipc/dsm_impl.c:526
+#: storage/ipc/dsm_impl.c:630 storage/ipc/dsm_impl.c:801
 #, c-format
-msgid "duration: %s ms"
-msgstr "duración: %s ms"
+msgid "could not unmap shared memory segment \"%s\": %m"
+msgstr "no se pudo desmapear el segmento de memoria compartida «%s»: %m"
 
-#: tcop/fastpath.c:393
+#: storage/ipc/dsm_impl.c:240 storage/ipc/dsm_impl.c:536
+#: storage/ipc/dsm_impl.c:640 storage/ipc/dsm_impl.c:811
 #, c-format
-msgid "duration: %s ms  fastpath function call: \"%s\" (OID %u)"
-msgstr "duración: %s ms  llamada a función fastpath: «%s» (OID %u)"
+msgid "could not remove shared memory segment \"%s\": %m"
+msgstr "no se pudo eliminar el segmento de memoria compartida «%s»: %m"
 
-#: tcop/fastpath.c:429 tcop/fastpath.c:556
+#: storage/ipc/dsm_impl.c:264 storage/ipc/dsm_impl.c:711
+#: storage/ipc/dsm_impl.c:825
 #, c-format
-msgid "function call message contains %d arguments but function requires %d"
-msgstr "el mensaje de llamada a función contiene %d argumentos pero la función requiere %d"
+msgid "could not open shared memory segment \"%s\": %m"
+msgstr "no se pudo abrir el segmento de memoria compartida «%s»: %m"
 
-#: tcop/fastpath.c:437
+#: storage/ipc/dsm_impl.c:289 storage/ipc/dsm_impl.c:552
+#: storage/ipc/dsm_impl.c:756 storage/ipc/dsm_impl.c:849
 #, c-format
-msgid "function call message contains %d argument formats but %d arguments"
-msgstr "el mensaje de llamada a función contiene %d formatos de argumento pero %d argumentos"
+msgid "could not stat shared memory segment \"%s\": %m"
+msgstr "no se pudo hacer stat del segmento de memoria compartida «%s»: %m"
 
-#: tcop/fastpath.c:524 tcop/fastpath.c:607
+#: storage/ipc/dsm_impl.c:316 storage/ipc/dsm_impl.c:900
 #, c-format
-msgid "incorrect binary data format in function argument %d"
-msgstr "el formato de datos binarios es incorrecto en argumento %d a función"
+msgid "could not resize shared memory segment \"%s\" to %zu bytes: %m"
+msgstr "no se pudo redimensionar el segmento de memoria compartida «%s» a %zu bytes: %m"
 
-#: tcop/postgres.c:355 tcop/postgres.c:391 tcop/postgres.c:418
+#: storage/ipc/dsm_impl.c:338 storage/ipc/dsm_impl.c:573
+#: storage/ipc/dsm_impl.c:732 storage/ipc/dsm_impl.c:922
 #, c-format
-msgid "unexpected EOF on client connection"
-msgstr "se encontró fin de archivo inesperado en la conexión del cliente"
+msgid "could not map shared memory segment \"%s\": %m"
+msgstr "no se pudo mapear el segmento de memoria compartida «%s»: %m"
 
-#: tcop/postgres.c:441 tcop/postgres.c:453 tcop/postgres.c:464
-#: tcop/postgres.c:476 tcop/postgres.c:4539
+#: storage/ipc/dsm_impl.c:508
 #, c-format
-msgid "invalid frontend message type %d"
-msgstr "el tipo de mensaje de frontend %d no es válido"
+msgid "could not get shared memory segment: %m"
+msgstr "no se pudo obtener el segmento de memoria compartida: %m"
 
-#: tcop/postgres.c:1042
+#: storage/ipc/dsm_impl.c:696
 #, c-format
-msgid "statement: %s"
-msgstr "sentencia: %s"
+msgid "could not create shared memory segment \"%s\": %m"
+msgstr "no se pudo crear el segmento de memoria compartida «%s»: %m"
 
-#: tcop/postgres.c:1328
+#: storage/ipc/dsm_impl.c:933
 #, c-format
-msgid "duration: %s ms  statement: %s"
-msgstr "duración: %s ms  sentencia: %s"
+msgid "could not close shared memory segment \"%s\": %m"
+msgstr "no se pudo cerrar el segmento de memoria compartida «%s»: %m"
 
-#: tcop/postgres.c:1377
+#: storage/ipc/dsm_impl.c:972 storage/ipc/dsm_impl.c:1020
 #, c-format
-msgid "parse %s: %s"
-msgstr "parse %s: %s"
+msgid "could not duplicate handle for \"%s\": %m"
+msgstr "no se pudo duplicar el «handle» para «%s»: %m"
 
-#: tcop/postgres.c:1434
+#. translator: %s is a syscall name, such as "poll()"
+#: storage/ipc/latch.c:940 storage/ipc/latch.c:1095 storage/ipc/latch.c:1308
+#: storage/ipc/latch.c:1461 storage/ipc/latch.c:1581
 #, c-format
-msgid "cannot insert multiple commands into a prepared statement"
-msgstr "no se pueden insertar múltiples órdenes en una sentencia preparada"
+msgid "%s failed: %m"
+msgstr "%s falló: %m"
 
-#: tcop/postgres.c:1586
+#: storage/ipc/procarray.c:3021
+#, fuzzy, c-format
+#| msgid "database \"%s\" is being used by logical replication subscription"
+msgid "database \"%s\" is being used by prepared transactions"
+msgstr "la base de datos «%s» está siendo utilizada por suscripciones de replicación lógica"
+
+#: storage/ipc/procarray.c:3053 storage/ipc/signalfuncs.c:142
 #, c-format
-msgid "duration: %s ms  parse %s: %s"
-msgstr "duración: %s ms  parse: %s: %s"
+msgid "must be a superuser to terminate superuser process"
+msgstr "debe ser superusuario para terminar proceso de superusuario"
 
-#: tcop/postgres.c:1633
+#: storage/ipc/procarray.c:3060 storage/ipc/signalfuncs.c:147
 #, c-format
-msgid "bind %s to %s"
-msgstr "bind %s a %s"
+msgid "must be a member of the role whose process is being terminated or member of pg_signal_backend"
+msgstr "debe ser miembro del rol cuyo proceso se está terminando o ser miembro de pg_signal_backend"
 
-#: tcop/postgres.c:1652 tcop/postgres.c:2516
+#: storage/ipc/shm_mq.c:368
+#, fuzzy, c-format
+#| msgid "could not send tuple to shared-memory queue"
+msgid "cannot send a message of size %zu via shared memory queue"
+msgstr "no se pudo enviar la tupla a la cola en memoria compartida"
+
+#: storage/ipc/shm_mq.c:694
+#, fuzzy, c-format
+#| msgid "invalid magic number in dynamic shared memory segment"
+msgid "invalid message size %zu in shared memory queue"
+msgstr "número mágico no válido en segmento de memoria compartida dinámica"
+
+#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:982
+#: storage/lmgr/lock.c:1020 storage/lmgr/lock.c:2845 storage/lmgr/lock.c:4167
+#: storage/lmgr/lock.c:4232 storage/lmgr/lock.c:4539
+#: storage/lmgr/predicate.c:2476 storage/lmgr/predicate.c:2491
+#: storage/lmgr/predicate.c:3973 storage/lmgr/predicate.c:5084
+#: utils/hash/dynahash.c:1067
 #, c-format
-msgid "unnamed prepared statement does not exist"
-msgstr "no existe una sentencia preparada sin nombre"
+msgid "out of shared memory"
+msgstr "memoria compartida agotada"
 
-#: tcop/postgres.c:1693
+#: storage/ipc/shmem.c:170 storage/ipc/shmem.c:266
 #, c-format
-msgid "bind message has %d parameter formats but %d parameters"
-msgstr "el mensaje de enlace (bind) tiene %d formatos de parámetro pero %d parámetros"
+msgid "out of shared memory (%zu bytes requested)"
+msgstr "memoria compartida agotada (%zu bytes solicitados)"
 
-#: tcop/postgres.c:1699
+#: storage/ipc/shmem.c:441
 #, c-format
-msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d"
-msgstr "el mensaje de enlace (bind) entrega %d parámetros, pero la sentencia preparada «%s» requiere %d"
+msgid "could not create ShmemIndex entry for data structure \"%s\""
+msgstr "no se pudo crear la entrada en ShmemIndex para la estructura «%s»"
 
-#: tcop/postgres.c:1897
+#: storage/ipc/shmem.c:456
 #, c-format
-msgid "incorrect binary data format in bind parameter %d"
-msgstr "el formato de datos binarios es incorrecto en el parámetro de enlace %d"
+msgid "ShmemIndex entry size is wrong for data structure \"%s\": expected %zu, actual %zu"
+msgstr "el tamaño de la entrada ShmemIndex es incorrecto para la estructura «%s»: se esperaba %zu, real %zu"
 
-#: tcop/postgres.c:2018
+#: storage/ipc/shmem.c:475
 #, c-format
-msgid "duration: %s ms  bind %s%s%s: %s"
-msgstr "duración: %s ms  bind %s%s%s: %s"
+msgid "not enough shared memory for data structure \"%s\" (%zu bytes requested)"
+msgstr "el espacio de memoria compartida es insuficiente para la estructura «%s» (%zu bytes solicitados)"
 
-#: tcop/postgres.c:2068 tcop/postgres.c:2600
+#: storage/ipc/shmem.c:507 storage/ipc/shmem.c:526
 #, c-format
-msgid "portal \"%s\" does not exist"
-msgstr "no existe el portal «%s»"
+msgid "requested shared memory size overflows size_t"
+msgstr "la petición de tamaño de memoria compartida desborda size_t"
 
-#: tcop/postgres.c:2153
+#: storage/ipc/signalfuncs.c:67
 #, c-format
-msgid "%s %s%s%s: %s"
-msgstr "%s %s%s%s: %s"
+msgid "PID %d is not a PostgreSQL server process"
+msgstr "PID %d no es un proceso servidor de PostgreSQL"
 
-#: tcop/postgres.c:2155 tcop/postgres.c:2258
-msgid "execute fetch from"
-msgstr "ejecutar fetch desde"
+#: storage/ipc/signalfuncs.c:98 storage/lmgr/proc.c:1366
+#, c-format
+msgid "could not send signal to process %d: %m"
+msgstr "no se pudo enviar la señal al proceso %d: %m"
 
-#: tcop/postgres.c:2156 tcop/postgres.c:2259
-msgid "execute"
-msgstr "ejecutar"
+#: storage/ipc/signalfuncs.c:118
+#, c-format
+msgid "must be a superuser to cancel superuser query"
+msgstr "debe ser superusuario para cancelar una consulta de superusuario"
 
-#: tcop/postgres.c:2255
+#: storage/ipc/signalfuncs.c:123
 #, c-format
-msgid "duration: %s ms  %s %s%s%s: %s"
-msgstr "duración: %s ms  %s %s%s%s: %s"
+msgid "must be a member of the role whose query is being canceled or member of pg_signal_backend"
+msgstr "debe ser miembro del rol cuya consulta se está cancelando o ser miembro de pg_signal_backend"
 
-#: tcop/postgres.c:2401
+#: storage/ipc/signalfuncs.c:183
 #, c-format
-msgid "prepare: %s"
-msgstr "prepare: %s"
+msgid "must be superuser to rotate log files with adminpack 1.0"
+msgstr "bebe ser superusuario para rotar archivos de log con adminpack 1.0"
 
-#: tcop/postgres.c:2426
+#. translator: %s is a SQL function name
+#: storage/ipc/signalfuncs.c:185 utils/adt/genfile.c:253
 #, c-format
-msgid "parameters: %s"
-msgstr "parámetros: %s"
+msgid "Consider using %s, which is part of core, instead."
+msgstr "Considere usar %s, que es parte del servidor, en su lugar."
 
-#: tcop/postgres.c:2441
+#: storage/ipc/signalfuncs.c:191 storage/ipc/signalfuncs.c:211
 #, c-format
-msgid "abort reason: recovery conflict"
-msgstr "razón para abortar: conflicto en la recuperación"
+msgid "rotation not possible because log collection not active"
+msgstr "la rotación no es posible porque la recoleccion de log no está activa"
 
-#: tcop/postgres.c:2457
+#: storage/ipc/standby.c:683 tcop/postgres.c:3189
 #, c-format
-msgid "User was holding shared buffer pin for too long."
-msgstr "El usuario mantuvo el búfer compartido «clavado» por demasiado tiempo."
+msgid "canceling statement due to conflict with recovery"
+msgstr "cancelando la sentencia debido a un conflicto con la recuperación"
 
-#: tcop/postgres.c:2460
+#: storage/ipc/standby.c:684 tcop/postgres.c:2469
 #, c-format
-msgid "User was holding a relation lock for too long."
-msgstr "El usuario mantuvo una relación bloqueada por demasiado tiempo."
+msgid "User transaction caused buffer deadlock with recovery."
+msgstr "La transacción del usuario causó un «deadlock» con la recuperación."
 
-#: tcop/postgres.c:2463
+#: storage/large_object/inv_api.c:191
 #, c-format
-msgid "User was or might have been using tablespace that must be dropped."
-msgstr "El usuario estaba o pudo haber estado usando un tablespace que debía ser eliminado."
+msgid "pg_largeobject entry for OID %u, page %d has invalid data field size %d"
+msgstr "la entrada pg_largeobject para el OID %u, página %d tiene tamaño de campo %d no válido"
 
-#: tcop/postgres.c:2466
+#: storage/large_object/inv_api.c:272
 #, c-format
-msgid "User query might have needed to see row versions that must be removed."
-msgstr "La consulta del usuario pudo haber necesitado examinar versiones de tuplas que debían eliminarse."
+msgid "invalid flags for opening a large object: %d"
+msgstr "opciones no válidas para abrir un objeto grande: %d"
 
-#: tcop/postgres.c:2472
+#: storage/large_object/inv_api.c:462
 #, c-format
-msgid "User was connected to a database that must be dropped."
-msgstr "El usuario estaba conectado a una base de datos que debía ser eliminada."
+msgid "invalid whence setting: %d"
+msgstr "parámetro «whence» no válido: %d"
 
-#: tcop/postgres.c:2796
+#: storage/large_object/inv_api.c:634
 #, c-format
-msgid "terminating connection because of crash of another server process"
-msgstr "terminando la conexión debido a una falla en otro proceso servidor"
+msgid "invalid large object write request size: %d"
+msgstr "tamaño de petición de escritura de objeto grande no válido: %d"
 
-#: tcop/postgres.c:2797
+#: storage/lmgr/deadlock.c:1124
 #, 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 "Postmaster ha ordenado que este proceso servidor cancele la transacción en curso y finalice la conexión, porque otro proceso servidor ha terminado anormalmente y podría haber corrompido la memoria compartida."
+msgid "Process %d waits for %s on %s; blocked by process %d."
+msgstr "El proceso %d espera %s en %s; bloqueado por proceso %d."
 
-#: tcop/postgres.c:2801 tcop/postgres.c:3107
+#: storage/lmgr/deadlock.c:1143
 #, c-format
-msgid "In a moment you should be able to reconnect to the database and repeat your command."
-msgstr "Dentro de un momento debería poder reconectarse y repetir la consulta."
+msgid "Process %d: %s"
+msgstr "Proceso %d: %s"
 
-#: tcop/postgres.c:2883
+#: storage/lmgr/deadlock.c:1152
 #, c-format
-msgid "floating-point exception"
-msgstr "excepción de coma flotante"
+msgid "deadlock detected"
+msgstr "se ha detectado un deadlock"
 
-#: tcop/postgres.c:2884
+#: storage/lmgr/deadlock.c:1155
 #, 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 "Se ha recibido una señal de una operación de coma flotante no válida.  Esto puede significar un resultado fuera de rango o una operación no válida, como una división por cero."
+msgid "See server log for query details."
+msgstr "Vea el registro del servidor para obtener detalles de las consultas."
 
-#: tcop/postgres.c:3037
+#: storage/lmgr/lmgr.c:830
 #, c-format
-msgid "canceling authentication due to timeout"
-msgstr "cancelando la autentificación debido a que se agotó el tiempo de espera"
+msgid "while updating tuple (%u,%u) in relation \"%s\""
+msgstr "mientras se actualizaba la tupla (%u,%u) en la relación «%s»"
 
-#: tcop/postgres.c:3041
+#: storage/lmgr/lmgr.c:833
 #, c-format
-msgid "terminating autovacuum process due to administrator command"
-msgstr "terminando el proceso autovacuum debido a una orden del administrador"
+msgid "while deleting tuple (%u,%u) in relation \"%s\""
+msgstr "mientras se borraba la tupla (%u,%u) en la relación «%s»"
 
-#: tcop/postgres.c:3045
+#: storage/lmgr/lmgr.c:836
 #, c-format
-msgid "terminating logical replication worker due to administrator command"
-msgstr "terminando el proceso de replicación lógica debido a una orden del administrador"
+msgid "while locking tuple (%u,%u) in relation \"%s\""
+msgstr "mientras se bloqueaba la tupla (%u,%u) de la relación «%s»"
 
-#: tcop/postgres.c:3049
+#: storage/lmgr/lmgr.c:839
 #, c-format
-msgid "logical replication launcher shutting down"
-msgstr "lanzador de replicación lógica apagándose"
+msgid "while locking updated version (%u,%u) of tuple in relation \"%s\""
+msgstr "mientras se bloqueaba la versión actualizada (%u,%u) en la relación «%s»"
 
-#: tcop/postgres.c:3062 tcop/postgres.c:3072 tcop/postgres.c:3105
+#: storage/lmgr/lmgr.c:842
 #, c-format
-msgid "terminating connection due to conflict with recovery"
-msgstr "terminando la conexión debido a un conflicto con la recuperación"
+msgid "while inserting index tuple (%u,%u) in relation \"%s\""
+msgstr "mientras se insertaba la tupla de índice (%u,%u) en la relación «%s»"
 
-#: tcop/postgres.c:3078
+#: storage/lmgr/lmgr.c:845
 #, c-format
-msgid "terminating connection due to administrator command"
-msgstr "terminando la conexión debido a una orden del administrador"
+msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\""
+msgstr "mientras se verificaba la unicidad de la tupla (%u,%u) en la relación «%s»"
 
-#: tcop/postgres.c:3088
+#: storage/lmgr/lmgr.c:848
 #, c-format
-msgid "connection to client lost"
-msgstr "se ha perdido la conexión al cliente"
+msgid "while rechecking updated tuple (%u,%u) in relation \"%s\""
+msgstr "mientras se verificaba la tupla actualizada (%u,%u) en la relación «%s»"
 
-#: tcop/postgres.c:3154
+#: storage/lmgr/lmgr.c:851
 #, c-format
-msgid "canceling statement due to lock timeout"
-msgstr "cancelando la sentencia debido a que se agotó el tiempo de espera de candados (locks)"
+msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\""
+msgstr "mientras se verificaba una restricción de exclusión en la tupla (%u,%u) en la relación «%s»"
 
-#: tcop/postgres.c:3161
+#: storage/lmgr/lmgr.c:1105
 #, c-format
-msgid "canceling statement due to statement timeout"
-msgstr "cancelando la sentencia debido a que se agotó el tiempo de espera de sentencias"
+msgid "relation %u of database %u"
+msgstr "relación %u de la base de datos %u"
 
-#: tcop/postgres.c:3168
+#: storage/lmgr/lmgr.c:1111
 #, c-format
-msgid "canceling autovacuum task"
-msgstr "cancelando tarea de autovacuum"
+msgid "extension of relation %u of database %u"
+msgstr "extensión de la relación %u de la base de datos %u"
+
+#: storage/lmgr/lmgr.c:1117
+#, fuzzy, c-format
+#| msgid "relation %u of database %u"
+msgid "pg_database.datfrozenxid of database %u"
+msgstr "relación %u de la base de datos %u"
 
-#: tcop/postgres.c:3191
+#: storage/lmgr/lmgr.c:1122
 #, c-format
-msgid "canceling statement due to user request"
-msgstr "cancelando la sentencia debido a una petición del usuario"
+msgid "page %u of relation %u of database %u"
+msgstr "página %u de la relación %u de la base de datos %u"
 
-#: tcop/postgres.c:3201
+#: storage/lmgr/lmgr.c:1129
 #, c-format
-msgid "terminating connection due to idle-in-transaction timeout"
-msgstr "terminando la conexión debido a que se agotó el tiempo de espera para transacciones abiertas inactivas"
+msgid "tuple (%u,%u) of relation %u of database %u"
+msgstr "tupla (%u,%u) de la relación %u de la base de datos %u"
 
-#: tcop/postgres.c:3318
+#: storage/lmgr/lmgr.c:1137
 #, c-format
-msgid "stack depth limit exceeded"
-msgstr "límite de profundidad de stack alcanzado"
+msgid "transaction %u"
+msgstr "transacción %u"
 
-#: tcop/postgres.c:3319
+#: storage/lmgr/lmgr.c:1142
 #, c-format
-msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate."
-msgstr "Incremente el parámetro de configuración «max_stack_depth» (actualmente %dkB), después de asegurarse que el límite de profundidad de stack de la plataforma es adecuado."
+msgid "virtual transaction %d/%u"
+msgstr "transacción virtual %d/%u"
 
-#: tcop/postgres.c:3382
+#: storage/lmgr/lmgr.c:1148
 #, c-format
-msgid "\"max_stack_depth\" must not exceed %ldkB."
-msgstr "«max_stack_depth» no debe exceder %ldkB."
+msgid "speculative token %u of transaction %u"
+msgstr "token especulativo %u de la transacción %u"
 
-#: tcop/postgres.c:3384
+#: storage/lmgr/lmgr.c:1154
 #, c-format
-msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent."
-msgstr "Incremente el límite de profundidad del stack del sistema usando «ulimit -s» o el equivalente de su sistema."
+msgid "object %u of class %u of database %u"
+msgstr "objeto %u de clase %u de la base de datos %u"
 
-#: tcop/postgres.c:3744
+#: storage/lmgr/lmgr.c:1162
 #, c-format
-msgid "invalid command-line argument for server process: %s"
-msgstr "argumentos de línea de órdenes no válidos para proceso servidor: %s"
+msgid "user lock [%u,%u,%u]"
+msgstr "candado de usuario [%u,%u,%u]"
 
-#: tcop/postgres.c:3745 tcop/postgres.c:3751
+# XXX is this a good translation?
+#: storage/lmgr/lmgr.c:1169
 #, c-format
-msgid "Try \"%s --help\" for more information."
-msgstr "Pruebe «%s --help» para mayor información."
+msgid "advisory lock [%u,%u,%u,%u]"
+msgstr "candado consultivo [%u,%u,%u,%u]"
 
-#: tcop/postgres.c:3749
+#: storage/lmgr/lmgr.c:1177
 #, c-format
-msgid "%s: invalid command-line argument: %s"
-msgstr "%s: argumento de línea de órdenes no válido: %s"
+msgid "unrecognized locktag type %d"
+msgstr "tipo de locktag %d no reconocido"
 
-#: tcop/postgres.c:3811
+#: storage/lmgr/lock.c:803
 #, c-format
-msgid "%s: no database nor user name specified"
-msgstr "%s: no se ha especificado base de datos ni usuario"
+msgid "cannot acquire lock mode %s on database objects while recovery is in progress"
+msgstr "no se puede adquirir candado en modo %s en objetos de la base de datos mientras la recuperación está en proceso"
 
-#: tcop/postgres.c:4447
+#: storage/lmgr/lock.c:805
 #, c-format
-msgid "invalid CLOSE message subtype %d"
-msgstr "subtipo %d de mensaje CLOSE no válido"
+msgid "Only RowExclusiveLock or less can be acquired on database objects during recovery."
+msgstr "Sólo candados RowExclusiveLock o menor pueden ser adquiridos en objetos de la base de datos durante la recuperación."
 
-#: tcop/postgres.c:4482
+#: storage/lmgr/lock.c:983 storage/lmgr/lock.c:1021 storage/lmgr/lock.c:2846
+#: storage/lmgr/lock.c:4168 storage/lmgr/lock.c:4233 storage/lmgr/lock.c:4540
 #, c-format
-msgid "invalid DESCRIBE message subtype %d"
-msgstr "subtipo %d de mensaje DESCRIBE no válido"
+msgid "You might need to increase max_locks_per_transaction."
+msgstr "Puede ser necesario incrementar max_locks_per_transaction."
 
-#: tcop/postgres.c:4560
+#: storage/lmgr/lock.c:3284 storage/lmgr/lock.c:3400
 #, c-format
-msgid "fastpath function calls not supported in a replication connection"
-msgstr "la invocación «fastpath» de funciones no está soportada en conexiones de replicación"
+msgid "cannot PREPARE while holding both session-level and transaction-level locks on the same object"
+msgstr "no se puede hacer PREPARE mientras se mantienen candados a nivel de sesión y transacción simultáneamente sobre el mismo objeto"
 
-#: tcop/postgres.c:4564
+#: storage/lmgr/predicate.c:700
 #, c-format
-msgid "extended query protocol not supported in a replication connection"
-msgstr "el protocolo extendido de consultas no está soportado en conexiones de replicación"
+msgid "not enough elements in RWConflictPool to record a read/write conflict"
+msgstr "no hay suficientes elementos en RWConflictPool para registrar un conflicto read/write"
 
-#: tcop/postgres.c:4741
+#: storage/lmgr/predicate.c:701 storage/lmgr/predicate.c:729
 #, c-format
-msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s"
-msgstr "desconexión: duración de sesión: %d:%02d:%02d.%03d usuario=%s base=%s host=%s%s%s"
+msgid "You might need to run fewer transactions at a time or increase max_connections."
+msgstr "Puede ser necesario ejecutar menos transacciones al mismo tiempo, o incrementar max_connections."
 
-#: tcop/pquery.c:629
+#: storage/lmgr/predicate.c:728
 #, c-format
-msgid "bind message has %d result formats but query has %d columns"
-msgstr "el mensaje de enlace (bind) tiene %d formatos de resultado pero la consulta tiene %d columnas"
+msgid "not enough elements in RWConflictPool to record a potential read/write conflict"
+msgstr "no hay suficientes elementos en RWConflictPool para registrar un potencial conflicto read/write"
 
-#: tcop/pquery.c:932
+#: storage/lmgr/predicate.c:1610
 #, c-format
-msgid "cursor can only scan forward"
-msgstr "el cursor sólo se puede desplazar hacia adelante"
+msgid "deferrable snapshot was unsafe; trying a new one"
+msgstr "la instantánea postergada era insegura; intentando con una nueva"
 
-#: tcop/pquery.c:933
+#: storage/lmgr/predicate.c:1699
 #, c-format
-msgid "Declare it with SCROLL option to enable backward scan."
-msgstr "Declárelo con SCROLL para permitirle desplazar hacia atrás."
+msgid "\"default_transaction_isolation\" is set to \"serializable\"."
+msgstr "«default_transaction_isolation» está definido a «serializable»."
 
-#. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:413
+#: storage/lmgr/predicate.c:1700
 #, c-format
-msgid "cannot execute %s in a read-only transaction"
-msgstr "no se puede ejecutar %s en una transacción de sólo lectura"
+msgid "You can use \"SET default_transaction_isolation = 'repeatable read'\" to change the default."
+msgstr "Puede usar «SET default_transaction_isolation = 'repeatable read'» para cambiar el valor por omisión."
 
-#. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:431
+#: storage/lmgr/predicate.c:1751
 #, c-format
-msgid "cannot execute %s during a parallel operation"
-msgstr "no se puede ejecutar %s durante una operación paralela"
+msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE"
+msgstr "una transacción que importa un snapshot no debe ser READ ONLY DEFERRABLE"
 
-#. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:450
+#: storage/lmgr/predicate.c:1830 utils/time/snapmgr.c:623
+#: utils/time/snapmgr.c:629
 #, c-format
-msgid "cannot execute %s during recovery"
-msgstr "no se puede ejecutar %s durante la recuperación"
+msgid "could not import the requested snapshot"
+msgstr "no se pudo importar el snapshot solicitado"
 
-#. translator: %s is name of a SQL command, eg PREPARE
-#: tcop/utility.c:468
+#: storage/lmgr/predicate.c:1831 utils/time/snapmgr.c:630
 #, c-format
-msgid "cannot execute %s within security-restricted operation"
-msgstr "no se puede ejecutar %s durante una operación restringida por seguridad"
+msgid "The source process with PID %d is not running anymore."
+msgstr "El proceso de origen con PID %d ya no está en ejecución."
 
-#: tcop/utility.c:912
+#: storage/lmgr/predicate.c:2477 storage/lmgr/predicate.c:2492
+#: storage/lmgr/predicate.c:3974
 #, c-format
-msgid "must be superuser to do CHECKPOINT"
-msgstr "debe ser superusuario para ejecutar CHECKPOINT"
+msgid "You might need to increase max_pred_locks_per_transaction."
+msgstr "Puede ser necesario incrementar max_pred_locks_per_transaction."
 
-#: tsearch/dict_ispell.c:52 tsearch/dict_thesaurus.c:620
+#: storage/lmgr/predicate.c:4105 storage/lmgr/predicate.c:4141
+#: storage/lmgr/predicate.c:4174 storage/lmgr/predicate.c:4182
+#: storage/lmgr/predicate.c:4221 storage/lmgr/predicate.c:4463
+#: storage/lmgr/predicate.c:4800 storage/lmgr/predicate.c:4812
+#: storage/lmgr/predicate.c:4855 storage/lmgr/predicate.c:4893
 #, c-format
-msgid "multiple DictFile parameters"
-msgstr "parámetro DictFile duplicado"
+msgid "could not serialize access due to read/write dependencies among transactions"
+msgstr "no se pudo serializar el acceso debido a dependencias read/write entre transacciones"
+
+#: storage/lmgr/predicate.c:4107 storage/lmgr/predicate.c:4143
+#: storage/lmgr/predicate.c:4176 storage/lmgr/predicate.c:4184
+#: storage/lmgr/predicate.c:4223 storage/lmgr/predicate.c:4465
+#: storage/lmgr/predicate.c:4802 storage/lmgr/predicate.c:4814
+#: storage/lmgr/predicate.c:4857 storage/lmgr/predicate.c:4895
+#, c-format
+msgid "The transaction might succeed if retried."
+msgstr "La transacción podría tener éxito si es reintentada."
 
-#: tsearch/dict_ispell.c:63
+#: storage/lmgr/proc.c:358
 #, c-format
-msgid "multiple AffFile parameters"
-msgstr "parámetro AffFile duplicado"
+msgid "number of requested standby connections exceeds max_wal_senders (currently %d)"
+msgstr "la cantidad de conexiones standby pedidas excede max_wal_senders (actualmente %d)"
 
-#: tsearch/dict_ispell.c:82
+#: storage/lmgr/proc.c:1337
 #, c-format
-msgid "unrecognized Ispell parameter: \"%s\""
-msgstr "parámetro Ispell no reconocido: «%s»"
+msgid "Process %d waits for %s on %s."
+msgstr "El proceso %d espera %s en %s."
 
-#: tsearch/dict_ispell.c:96
+#: storage/lmgr/proc.c:1348
 #, c-format
-msgid "missing AffFile parameter"
-msgstr "falta un parámetro AffFile"
+msgid "sending cancel to blocking autovacuum PID %d"
+msgstr "enviando señal de cancelación a la tarea autovacuum bloqueante con PID %d"
 
-#: tsearch/dict_ispell.c:102 tsearch/dict_thesaurus.c:644
+#: storage/lmgr/proc.c:1468
 #, c-format
-msgid "missing DictFile parameter"
-msgstr "falta un parámetro DictFile"
+msgid "process %d avoided deadlock for %s on %s by rearranging queue order after %ld.%03d ms"
+msgstr "el proceso %d evitó un deadlock para %s en %s reordenando la cola después de %ld.%03d ms"
 
-#: tsearch/dict_simple.c:58
+#: storage/lmgr/proc.c:1483
 #, c-format
-msgid "multiple Accept parameters"
-msgstr "parámetro Accept duplicado"
+msgid "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms"
+msgstr "el proceso %d detectó un deadlock mientras esperaba %s en %s después de %ld.%03d ms"
 
-#: tsearch/dict_simple.c:66
+#: storage/lmgr/proc.c:1492
 #, c-format
-msgid "unrecognized simple dictionary parameter: \"%s\""
-msgstr "parámetro del diccionario simple no reconocido: «%s»"
+msgid "process %d still waiting for %s on %s after %ld.%03d ms"
+msgstr "el proceso %d aún espera %s en %s después de %ld.%03d ms"
 
-#: tsearch/dict_synonym.c:118
+#: storage/lmgr/proc.c:1499
 #, c-format
-msgid "unrecognized synonym parameter: \"%s\""
-msgstr "parámetro de sinónimo no reconocido «%s»"
+msgid "process %d acquired %s on %s after %ld.%03d ms"
+msgstr "el proceso %d adquirió %s en %s después de %ld.%03d ms"
 
-#: tsearch/dict_synonym.c:125
+#: storage/lmgr/proc.c:1515
 #, c-format
-msgid "missing Synonyms parameter"
-msgstr "falta un parámetro Synonyms"
+msgid "process %d failed to acquire %s on %s after %ld.%03d ms"
+msgstr "el proceso %d no pudo adquirir %s en %s después de %ld.%03d ms"
 
-#: tsearch/dict_synonym.c:132
+#: storage/page/bufpage.c:164
 #, c-format
-msgid "could not open synonym file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de sinónimos «%s»: %m"
+msgid "page verification failed, calculated checksum %u but expected %u"
+msgstr "la suma de verificación falló, se calculó %u pero se esperaba %u"
 
-#: tsearch/dict_thesaurus.c:179
+#: storage/page/bufpage.c:229 storage/page/bufpage.c:523
+#: storage/page/bufpage.c:760 storage/page/bufpage.c:893
+#: storage/page/bufpage.c:989 storage/page/bufpage.c:1101
 #, c-format
-msgid "could not open thesaurus file \"%s\": %m"
-msgstr "no se pudo abrir el archivo del tesauro «%s»: %m"
+msgid "corrupted page pointers: lower = %u, upper = %u, special = %u"
+msgstr "los punteros de página están corruptos: inferior = %u, superior = %u, especial = %u"
 
-#: tsearch/dict_thesaurus.c:212
+#: storage/page/bufpage.c:545
 #, c-format
-msgid "unexpected delimiter"
-msgstr "delimitador inesperado"
+msgid "corrupted line pointer: %u"
+msgstr "puntero de ítem corrupto: %u"
 
-#: tsearch/dict_thesaurus.c:262 tsearch/dict_thesaurus.c:278
+#: storage/page/bufpage.c:572 storage/page/bufpage.c:944
 #, c-format
-msgid "unexpected end of line or lexeme"
-msgstr "fin de línea o lexema inesperado"
+msgid "corrupted item lengths: total %u, available space %u"
+msgstr "los largos de ítem están corruptos: total %u, espacio disponible %u"
 
-#: tsearch/dict_thesaurus.c:287
+#: storage/page/bufpage.c:779 storage/page/bufpage.c:917
+#: storage/page/bufpage.c:1005 storage/page/bufpage.c:1117
 #, c-format
-msgid "unexpected end of line"
-msgstr "fin de línea inesperado"
+msgid "corrupted line pointer: offset = %u, size = %u"
+msgstr "puntero de ítem corrupto: desplazamiento = %u, tamaño = %u"
 
-#: tsearch/dict_thesaurus.c:297
+#: storage/smgr/md.c:317 storage/smgr/md.c:874
 #, c-format
-msgid "too many lexemes in thesaurus entry"
-msgstr "demasiados lexemas en la entrada del tesauro"
+msgid "could not truncate file \"%s\": %m"
+msgstr "no se pudo truncar el archivo «%s»: %m"
 
-#: tsearch/dict_thesaurus.c:421
+#: storage/smgr/md.c:445
 #, c-format
-msgid "thesaurus sample word \"%s\" isn't recognized by subdictionary (rule %d)"
-msgstr "la palabra de muestra «%s» del tesauro no es reconocido por el subdiccionario (regla %d)"
+msgid "cannot extend file \"%s\" beyond %u blocks"
+msgstr "no se pudo extender el archivo «%s» más allá de %u bloques"
 
-# XXX -- stopword?
-#: tsearch/dict_thesaurus.c:427
+#: storage/smgr/md.c:460
 #, c-format
-msgid "thesaurus sample word \"%s\" is a stop word (rule %d)"
-msgstr "la palabra de muestra «%s» del tesauro es una stopword (regla %d)"
+msgid "could not extend file \"%s\": %m"
+msgstr "no se pudo extender el archivo «%s»: %m"
 
-# XXX -- stopword?
-#: tsearch/dict_thesaurus.c:430
+#: storage/smgr/md.c:462 storage/smgr/md.c:469 storage/smgr/md.c:757
 #, c-format
-msgid "Use \"?\" to represent a stop word within a sample phrase."
-msgstr "Use «?» para representar una stopword en una frase muestra."
+msgid "Check free disk space."
+msgstr "Verifique el espacio libre en disco."
 
-# XXX -- stopword?
-#: tsearch/dict_thesaurus.c:572
+#: storage/smgr/md.c:466
 #, c-format
-msgid "thesaurus substitute word \"%s\" is a stop word (rule %d)"
-msgstr "la palabra sustituta «%s» del tesauro es una stopword (regla %d)"
+msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
+msgstr "no se pudo extender el archivo «%s»: sólo se escribieron %d de %d bytes en el bloque %u"
 
-#: tsearch/dict_thesaurus.c:579
+#: storage/smgr/md.c:678
 #, c-format
-msgid "thesaurus substitute word \"%s\" isn't recognized by subdictionary (rule %d)"
-msgstr "la palabra sustituta «%s» del tesauro no es reconocida por el subdiccionario (regla %d)"
+msgid "could not read block %u in file \"%s\": %m"
+msgstr "no se pudo leer el bloque %u del archivo «%s»: %m"
 
-#: tsearch/dict_thesaurus.c:591
+#: storage/smgr/md.c:694
 #, c-format
-msgid "thesaurus substitute phrase is empty (rule %d)"
-msgstr "la frase sustituta del tesauro está vacía (regla %d)"
+msgid "could not read block %u in file \"%s\": read only %d of %d bytes"
+msgstr "no se pudo leer el bloque %u del archivo «%s»: se leyeron sólo %d de %d bytes"
 
-#: tsearch/dict_thesaurus.c:629
+#: storage/smgr/md.c:748
 #, c-format
-msgid "multiple Dictionary parameters"
-msgstr "parámetro Dictionary duplicado"
+msgid "could not write block %u in file \"%s\": %m"
+msgstr "no se pudo escribir el bloque %u en el archivo «%s»: %m"
 
-#: tsearch/dict_thesaurus.c:636
+#: storage/smgr/md.c:753
 #, c-format
-msgid "unrecognized Thesaurus parameter: \"%s\""
-msgstr "parámetro no reconocido de tesauro: «%s»"
+msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes"
+msgstr "no se pudo escribir el bloque %u en el archivo «%s»: se escribieron sólo %d de %d bytes"
 
-#: tsearch/dict_thesaurus.c:648
+#: storage/smgr/md.c:845
 #, c-format
-msgid "missing Dictionary parameter"
-msgstr "falta un paramétro Dictionary"
+msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now"
+msgstr "no se pudo truncar el archivo «%s» a %u bloques: es de sólo %u bloques ahora"
 
-#: tsearch/spell.c:380 tsearch/spell.c:397 tsearch/spell.c:406
-#: tsearch/spell.c:1036
+#: storage/smgr/md.c:900
 #, c-format
-msgid "invalid affix flag \"%s\""
-msgstr "marca de afijo «%s» no válida"
+msgid "could not truncate file \"%s\" to %u blocks: %m"
+msgstr "no se pudo truncar el archivo «%s» a %u bloques: %m"
 
-#: tsearch/spell.c:384 tsearch/spell.c:1040
+#: storage/smgr/md.c:995
 #, c-format
-msgid "affix flag \"%s\" is out of range"
-msgstr "la marca de afijo «%s» fuera de rango"
+msgid "could not forward fsync request because request queue is full"
+msgstr "no se pudo enviar una petición fsync porque la cola de peticiones está llena"
 
-#: tsearch/spell.c:414
+#: storage/smgr/md.c:1294
 #, c-format
-msgid "invalid character in affix flag \"%s\""
-msgstr "caracteres no válidos en la marca de afijo «%s»"
+msgid "could not open file \"%s\" (target block %u): previous segment is only %u blocks"
+msgstr "no se pudo abrir el archivo «%s» (bloque buscado %u): el segmento previo sólo tiene %u bloques"
 
-#: tsearch/spell.c:434
+#: storage/smgr/md.c:1308
 #, c-format
-msgid "invalid affix flag \"%s\" with \"long\" flag value"
-msgstr "marca de afijo «%s» no válida con el valor de marca «long»"
+msgid "could not open file \"%s\" (target block %u): %m"
+msgstr "no se pudo abrir el archivo «%s» (bloque buscado %u): %m"
 
-#: tsearch/spell.c:524
+#: storage/sync/sync.c:401
 #, c-format
-msgid "could not open dictionary file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de diccionario «%s»: %m"
+msgid "could not fsync file \"%s\" but retrying: %m"
+msgstr "no se pudo sincronizar (fsync) archivo «%s» pero reintentando: %m"
 
-#: tsearch/spell.c:742 utils/adt/regexp.c:208
+#: tcop/fastpath.c:109 tcop/fastpath.c:467 tcop/fastpath.c:597
 #, c-format
-msgid "invalid regular expression: %s"
-msgstr "la expresión regular no es válida: %s"
+msgid "invalid argument size %d in function call message"
+msgstr "el tamaño de argumento %d no es válido en el mensaje de llamada a función"
 
-#: tsearch/spell.c:956 tsearch/spell.c:973 tsearch/spell.c:990
-#: tsearch/spell.c:1007 tsearch/spell.c:1072 gram.y:15993 gram.y:16010
+#: tcop/fastpath.c:225
 #, c-format
-msgid "syntax error"
-msgstr "error de sintaxis"
+msgid "cannot call function %s via fastpath interface"
+msgstr ""
 
-#: tsearch/spell.c:1163 tsearch/spell.c:1175 tsearch/spell.c:1734
-#: tsearch/spell.c:1739 tsearch/spell.c:1744
+#: tcop/fastpath.c:313
 #, c-format
-msgid "invalid affix alias \"%s\""
-msgstr "alias de afijo «%s» no válido"
+msgid "fastpath function call: \"%s\" (OID %u)"
+msgstr "llamada a función fastpath: «%s» (OID %u)"
 
-#: tsearch/spell.c:1216 tsearch/spell.c:1287 tsearch/spell.c:1436
+#: tcop/fastpath.c:395 tcop/postgres.c:1323 tcop/postgres.c:1581
+#: tcop/postgres.c:2013 tcop/postgres.c:2250
 #, c-format
-msgid "could not open affix file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de afijos «%s»: %m"
+msgid "duration: %s ms"
+msgstr "duración: %s ms"
 
-#: tsearch/spell.c:1270
+#: tcop/fastpath.c:399
 #, c-format
-msgid "Ispell dictionary supports only \"default\", \"long\", and \"num\" flag values"
-msgstr "el diccionario Ispell sólo permite los valores «default», «long» y «num»"
+msgid "duration: %s ms  fastpath function call: \"%s\" (OID %u)"
+msgstr "duración: %s ms  llamada a función fastpath: «%s» (OID %u)"
 
-#: tsearch/spell.c:1314
+#: tcop/fastpath.c:435 tcop/fastpath.c:562
 #, c-format
-msgid "invalid number of flag vector aliases"
-msgstr "número no válido de alias de opciones"
+msgid "function call message contains %d arguments but function requires %d"
+msgstr "el mensaje de llamada a función contiene %d argumentos pero la función requiere %d"
 
-#: tsearch/spell.c:1337
+#: tcop/fastpath.c:443
 #, c-format
-msgid "number of aliases exceeds specified number %d"
-msgstr "el número de aliases excede el número especificado %d"
+msgid "function call message contains %d argument formats but %d arguments"
+msgstr "el mensaje de llamada a función contiene %d formatos de argumento pero %d argumentos"
 
-#: tsearch/spell.c:1552
+#: tcop/fastpath.c:530 tcop/fastpath.c:613
 #, c-format
-msgid "affix file contains both old-style and new-style commands"
-msgstr "el archivo de «affix» contiene órdenes en estilos antiguo y nuevo"
+msgid "incorrect binary data format in function argument %d"
+msgstr "el formato de datos binarios es incorrecto en argumento %d a función"
 
-#: tsearch/to_tsany.c:185 utils/adt/tsvector.c:272 utils/adt/tsvector_op.c:1121
+#: tcop/postgres.c:355 tcop/postgres.c:391 tcop/postgres.c:418
 #, c-format
-msgid "string is too long for tsvector (%d bytes, max %d bytes)"
-msgstr "la cadena es demasiado larga para tsvector (%d bytes, máximo %d bytes)"
+msgid "unexpected EOF on client connection"
+msgstr "se encontró fin de archivo inesperado en la conexión del cliente"
 
-#: tsearch/ts_locale.c:185
+#: tcop/postgres.c:441 tcop/postgres.c:453 tcop/postgres.c:464
+#: tcop/postgres.c:476 tcop/postgres.c:4553
 #, c-format
-msgid "line %d of configuration file \"%s\": \"%s\""
-msgstr "línea %d del archivo de configuración «%s»: «%s»"
+msgid "invalid frontend message type %d"
+msgstr "el tipo de mensaje de frontend %d no es válido"
 
-#: tsearch/ts_locale.c:302
+#: tcop/postgres.c:1042
 #, c-format
-msgid "conversion from wchar_t to server encoding failed: %m"
-msgstr "conversión desde un wchar_t a la codificación del servidor falló: %m"
+msgid "statement: %s"
+msgstr "sentencia: %s"
 
-#: tsearch/ts_parse.c:386 tsearch/ts_parse.c:393 tsearch/ts_parse.c:562
-#: tsearch/ts_parse.c:569
+#: tcop/postgres.c:1328
 #, c-format
-msgid "word is too long to be indexed"
-msgstr "la palabra es demasiado larga para ser indexada"
+msgid "duration: %s ms  statement: %s"
+msgstr "duración: %s ms  sentencia: %s"
 
-#: tsearch/ts_parse.c:387 tsearch/ts_parse.c:394 tsearch/ts_parse.c:563
-#: tsearch/ts_parse.c:570
+#: tcop/postgres.c:1377
 #, c-format
-msgid "Words longer than %d characters are ignored."
-msgstr "Las palabras más largas que %d caracteres son ignoradas."
+msgid "parse %s: %s"
+msgstr "parse %s: %s"
 
-#: tsearch/ts_utils.c:51
+#: tcop/postgres.c:1434
 #, c-format
-msgid "invalid text search configuration file name \"%s\""
-msgstr "nombre de configuración de búsqueda en texto «%s» no válido"
+msgid "cannot insert multiple commands into a prepared statement"
+msgstr "no se pueden insertar múltiples órdenes en una sentencia preparada"
 
-#: tsearch/ts_utils.c:83
+#: tcop/postgres.c:1586
 #, c-format
-msgid "could not open stop-word file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de stopwords «%s»: %m"
+msgid "duration: %s ms  parse %s: %s"
+msgstr "duración: %s ms  parse: %s: %s"
 
-#: tsearch/wparser.c:313 tsearch/wparser.c:401 tsearch/wparser.c:478
+#: tcop/postgres.c:1633
 #, c-format
-msgid "text search parser does not support headline creation"
-msgstr "el analizador de búsqueda en texto no soporta creación de encabezados (headline)"
+msgid "bind %s to %s"
+msgstr "bind %s a %s"
 
-#: tsearch/wparser_def.c:2585
+#: tcop/postgres.c:1652 tcop/postgres.c:2516
 #, c-format
-msgid "unrecognized headline parameter: \"%s\""
-msgstr "parámetro de encabezado (headline) no reconocido: «%s»"
+msgid "unnamed prepared statement does not exist"
+msgstr "no existe una sentencia preparada sin nombre"
 
-#: tsearch/wparser_def.c:2604
+#: tcop/postgres.c:1693
 #, c-format
-msgid "MinWords should be less than MaxWords"
-msgstr "MinWords debería ser menor que MaxWords"
+msgid "bind message has %d parameter formats but %d parameters"
+msgstr "el mensaje de enlace (bind) tiene %d formatos de parámetro pero %d parámetros"
 
-#: tsearch/wparser_def.c:2608
+#: tcop/postgres.c:1699
 #, c-format
-msgid "MinWords should be positive"
-msgstr "MinWords debería ser positivo"
+msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d"
+msgstr "el mensaje de enlace (bind) entrega %d parámetros, pero la sentencia preparada «%s» requiere %d"
 
-#: tsearch/wparser_def.c:2612
+#: tcop/postgres.c:1897
 #, c-format
-msgid "ShortWord should be >= 0"
-msgstr "ShortWord debería ser >= 0"
+msgid "incorrect binary data format in bind parameter %d"
+msgstr "el formato de datos binarios es incorrecto en el parámetro de enlace %d"
 
-#: tsearch/wparser_def.c:2616
+#: tcop/postgres.c:2018
 #, c-format
-msgid "MaxFragments should be >= 0"
-msgstr "MaxFragments debería ser >= 0"
+msgid "duration: %s ms  bind %s%s%s: %s"
+msgstr "duración: %s ms  bind %s%s%s: %s"
 
-#: utils/adt/acl.c:172 utils/adt/name.c:93
+#: tcop/postgres.c:2068 tcop/postgres.c:2600
 #, c-format
-msgid "identifier too long"
-msgstr "el identificador es demasiado largo"
+msgid "portal \"%s\" does not exist"
+msgstr "no existe el portal «%s»"
 
-#: utils/adt/acl.c:173 utils/adt/name.c:94
+#: tcop/postgres.c:2153
 #, c-format
-msgid "Identifier must be less than %d characters."
-msgstr "El identificador debe ser menor a %d caracteres."
+msgid "%s %s%s%s: %s"
+msgstr "%s %s%s%s: %s"
 
-#: utils/adt/acl.c:256
+#: tcop/postgres.c:2155 tcop/postgres.c:2258
+msgid "execute fetch from"
+msgstr "ejecutar fetch desde"
+
+#: tcop/postgres.c:2156 tcop/postgres.c:2259
+msgid "execute"
+msgstr "ejecutar"
+
+#: tcop/postgres.c:2255
 #, c-format
-msgid "unrecognized key word: \"%s\""
-msgstr "palabra clave no reconocida: «%s»"
+msgid "duration: %s ms  %s %s%s%s: %s"
+msgstr "duración: %s ms  %s %s%s%s: %s"
 
-#: utils/adt/acl.c:257
+#: tcop/postgres.c:2401
 #, c-format
-msgid "ACL key word must be \"group\" or \"user\"."
-msgstr "Palabra clave de ACL debe ser «group» o «user»."
+msgid "prepare: %s"
+msgstr "prepare: %s"
 
-#: utils/adt/acl.c:262
+#: tcop/postgres.c:2426
 #, c-format
-msgid "missing name"
-msgstr "falta un nombre"
+msgid "parameters: %s"
+msgstr "parámetros: %s"
 
-#: utils/adt/acl.c:263
+#: tcop/postgres.c:2441
 #, c-format
-msgid "A name must follow the \"group\" or \"user\" key word."
-msgstr "Debe venir un nombre después de una palabra clave «group» o «user»."
+msgid "abort reason: recovery conflict"
+msgstr "razón para abortar: conflicto en la recuperación"
 
-#: utils/adt/acl.c:269
+#: tcop/postgres.c:2457
 #, c-format
-msgid "missing \"=\" sign"
-msgstr "falta un signo «=»"
+msgid "User was holding shared buffer pin for too long."
+msgstr "El usuario mantuvo el búfer compartido «clavado» por demasiado tiempo."
 
-#: utils/adt/acl.c:322
+#: tcop/postgres.c:2460
 #, c-format
-msgid "invalid mode character: must be one of \"%s\""
-msgstr "carácter de modo no válido: debe ser uno de «%s»"
+msgid "User was holding a relation lock for too long."
+msgstr "El usuario mantuvo una relación bloqueada por demasiado tiempo."
 
-#: utils/adt/acl.c:344
+#: tcop/postgres.c:2463
 #, c-format
-msgid "a name must follow the \"/\" sign"
-msgstr "debe venir un nombre después del signo «/»"
+msgid "User was or might have been using tablespace that must be dropped."
+msgstr "El usuario estaba o pudo haber estado usando un tablespace que debía ser eliminado."
 
-#: utils/adt/acl.c:352
+#: tcop/postgres.c:2466
 #, c-format
-msgid "defaulting grantor to user ID %u"
-msgstr "usando el cedente por omisión con ID %u"
+msgid "User query might have needed to see row versions that must be removed."
+msgstr "La consulta del usuario pudo haber necesitado examinar versiones de tuplas que debían eliminarse."
 
-#: utils/adt/acl.c:538
+#: tcop/postgres.c:2472
 #, c-format
-msgid "ACL array contains wrong data type"
-msgstr "el array ACL contiene tipo de datos incorrecto"
+msgid "User was connected to a database that must be dropped."
+msgstr "El usuario estaba conectado a una base de datos que debía ser eliminada."
 
-#: utils/adt/acl.c:542
+#: tcop/postgres.c:2796
 #, c-format
-msgid "ACL arrays must be one-dimensional"
-msgstr "los array de ACL debe ser unidimensional"
+msgid "terminating connection because of crash of another server process"
+msgstr "terminando la conexión debido a una falla en otro proceso servidor"
 
-#: utils/adt/acl.c:546
+#: tcop/postgres.c:2797
 #, c-format
-msgid "ACL arrays must not contain null values"
-msgstr "los arrays de ACL no pueden contener valores nulos"
+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 "Postmaster ha ordenado que este proceso servidor cancele la transacción en curso y finalice la conexión, porque otro proceso servidor ha terminado anormalmente y podría haber corrompido la memoria compartida."
 
-#: utils/adt/acl.c:570
+#: tcop/postgres.c:2801 tcop/postgres.c:3119
 #, c-format
-msgid "extra garbage at the end of the ACL specification"
-msgstr "basura extra al final de la especificación de la ACL"
+msgid "In a moment you should be able to reconnect to the database and repeat your command."
+msgstr "Dentro de un momento debería poder reconectarse y repetir la consulta."
 
-#: utils/adt/acl.c:1205
+#: tcop/postgres.c:2883
 #, c-format
-msgid "grant options cannot be granted back to your own grantor"
-msgstr "la opción de grant no puede ser otorgada de vuelta a quien la otorgó"
+msgid "floating-point exception"
+msgstr "excepción de coma flotante"
 
-#: utils/adt/acl.c:1266
+#: tcop/postgres.c:2884
 #, c-format
-msgid "dependent privileges exist"
-msgstr "existen privilegios dependientes"
+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 "Se ha recibido una señal de una operación de coma flotante no válida.  Esto puede significar un resultado fuera de rango o una operación no válida, como una división por cero."
 
-#: utils/adt/acl.c:1267
+#: tcop/postgres.c:3049
 #, c-format
-msgid "Use CASCADE to revoke them too."
-msgstr "Use CASCADE para revocarlos también."
+msgid "canceling authentication due to timeout"
+msgstr "cancelando la autentificación debido a que se agotó el tiempo de espera"
 
-#: utils/adt/acl.c:1521
+#: tcop/postgres.c:3053
 #, c-format
-msgid "aclinsert is no longer supported"
-msgstr "aclinsert ya no está soportado"
+msgid "terminating autovacuum process due to administrator command"
+msgstr "terminando el proceso autovacuum debido a una orden del administrador"
 
-#: utils/adt/acl.c:1531
+#: tcop/postgres.c:3057
 #, c-format
-msgid "aclremove is no longer supported"
-msgstr "aclremove ya no está soportado"
+msgid "terminating logical replication worker due to administrator command"
+msgstr "terminando el proceso de replicación lógica debido a una orden del administrador"
 
-#: utils/adt/acl.c:1617 utils/adt/acl.c:1671
+#: tcop/postgres.c:3061
 #, c-format
-msgid "unrecognized privilege type: \"%s\""
-msgstr "tipo de privilegio no reconocido: «%s»"
+msgid "logical replication launcher shutting down"
+msgstr "lanzador de replicación lógica apagándose"
 
-#: utils/adt/acl.c:3471 utils/adt/regproc.c:103 utils/adt/regproc.c:278
+#: tcop/postgres.c:3074 tcop/postgres.c:3084 tcop/postgres.c:3117
 #, c-format
-msgid "function \"%s\" does not exist"
-msgstr "no existe la función «%s»"
+msgid "terminating connection due to conflict with recovery"
+msgstr "terminando la conexión debido a un conflicto con la recuperación"
 
-#: utils/adt/acl.c:4943
+#: tcop/postgres.c:3090
 #, c-format
-msgid "must be member of role \"%s\""
-msgstr "debe ser miembro del rol «%s»"
+msgid "terminating connection due to administrator command"
+msgstr "terminando la conexión debido a una orden del administrador"
 
-#: utils/adt/array_expanded.c:274 utils/adt/arrayfuncs.c:933
-#: utils/adt/arrayfuncs.c:1533 utils/adt/arrayfuncs.c:3236
-#: utils/adt/arrayfuncs.c:3376 utils/adt/arrayfuncs.c:5911
-#: utils/adt/arrayfuncs.c:6252 utils/adt/arrayutils.c:93
-#: utils/adt/arrayutils.c:102 utils/adt/arrayutils.c:109
+#: tcop/postgres.c:3100
 #, c-format
-msgid "array size exceeds the maximum allowed (%d)"
-msgstr "el tamaño del array excede el máximo permitido (%d)"
+msgid "connection to client lost"
+msgstr "se ha perdido la conexión al cliente"
 
-#: utils/adt/array_userfuncs.c:80 utils/adt/array_userfuncs.c:466
-#: utils/adt/array_userfuncs.c:546 utils/adt/json.c:645 utils/adt/json.c:740
-#: utils/adt/json.c:778 utils/adt/jsonb.c:1115 utils/adt/jsonb.c:1144
-#: utils/adt/jsonb.c:1538 utils/adt/jsonb.c:1702 utils/adt/jsonb.c:1712
+#: tcop/postgres.c:3166
 #, c-format
-msgid "could not determine input data type"
-msgstr "no se pudo determinar el tipo de dato de entrada"
+msgid "canceling statement due to lock timeout"
+msgstr "cancelando la sentencia debido a que se agotó el tiempo de espera de candados (locks)"
 
-#: utils/adt/array_userfuncs.c:85
+#: tcop/postgres.c:3173
 #, c-format
-msgid "input data type is not an array"
-msgstr "el tipo de entrada no es un array"
+msgid "canceling statement due to statement timeout"
+msgstr "cancelando la sentencia debido a que se agotó el tiempo de espera de sentencias"
 
-#: utils/adt/array_userfuncs.c:129 utils/adt/array_userfuncs.c:181
-#: utils/adt/arrayfuncs.c:1336 utils/adt/float.c:1243 utils/adt/float.c:1317
-#: utils/adt/float.c:3960 utils/adt/float.c:3974 utils/adt/int.c:759
-#: utils/adt/int.c:781 utils/adt/int.c:795 utils/adt/int.c:809
-#: utils/adt/int.c:840 utils/adt/int.c:861 utils/adt/int.c:978
-#: utils/adt/int.c:992 utils/adt/int.c:1006 utils/adt/int.c:1039
-#: utils/adt/int.c:1053 utils/adt/int.c:1067 utils/adt/int.c:1098
-#: utils/adt/int.c:1180 utils/adt/int.c:1244 utils/adt/int.c:1312
-#: utils/adt/int.c:1318 utils/adt/int8.c:1292 utils/adt/numeric.c:1559
-#: utils/adt/numeric.c:3435 utils/adt/varbit.c:1188 utils/adt/varbit.c:1576
-#: utils/adt/varlena.c:1087 utils/adt/varlena.c:3377
+#: tcop/postgres.c:3180
 #, c-format
-msgid "integer out of range"
-msgstr "entero fuera de rango"
+msgid "canceling autovacuum task"
+msgstr "cancelando tarea de autovacuum"
 
-#: utils/adt/array_userfuncs.c:136 utils/adt/array_userfuncs.c:191
+#: tcop/postgres.c:3203
 #, c-format
-msgid "argument must be empty or one-dimensional array"
-msgstr "el argumento debe ser vacío o un array unidimensional"
+msgid "canceling statement due to user request"
+msgstr "cancelando la sentencia debido a una petición del usuario"
 
-#: utils/adt/array_userfuncs.c:273 utils/adt/array_userfuncs.c:312
-#: utils/adt/array_userfuncs.c:349 utils/adt/array_userfuncs.c:378
-#: utils/adt/array_userfuncs.c:406
+#: tcop/postgres.c:3213
 #, c-format
-msgid "cannot concatenate incompatible arrays"
-msgstr "no se pueden concatenar arrays incompatibles"
+msgid "terminating connection due to idle-in-transaction timeout"
+msgstr "terminando la conexión debido a que se agotó el tiempo de espera para transacciones abiertas inactivas"
 
-#: utils/adt/array_userfuncs.c:274
+#: tcop/postgres.c:3330
 #, c-format
-msgid "Arrays with element types %s and %s are not compatible for concatenation."
-msgstr "Los arrays con elementos de tipo %s y %s son incompatibles para la concatenación."
+msgid "stack depth limit exceeded"
+msgstr "límite de profundidad de stack alcanzado"
 
-#: utils/adt/array_userfuncs.c:313
+#: tcop/postgres.c:3331
 #, c-format
-msgid "Arrays of %d and %d dimensions are not compatible for concatenation."
-msgstr "Los arrays de dimesiones %d y %d son incompatibles para la concatenación."
+msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate."
+msgstr "Incremente el parámetro de configuración «max_stack_depth» (actualmente %dkB), después de asegurarse que el límite de profundidad de stack de la plataforma es adecuado."
 
-#: utils/adt/array_userfuncs.c:350
+#: tcop/postgres.c:3394
 #, c-format
-msgid "Arrays with differing element dimensions are not compatible for concatenation."
-msgstr "Los arrays con elementos de diferentes dimensiones son incompatibles para la concatenación."
+msgid "\"max_stack_depth\" must not exceed %ldkB."
+msgstr "«max_stack_depth» no debe exceder %ldkB."
 
-#: utils/adt/array_userfuncs.c:379 utils/adt/array_userfuncs.c:407
+#: tcop/postgres.c:3396
 #, c-format
-msgid "Arrays with differing dimensions are not compatible for concatenation."
-msgstr "Los arrays con diferentes dimensiones son incompatibles para la concatenación."
+msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent."
+msgstr "Incremente el límite de profundidad del stack del sistema usando «ulimit -s» o el equivalente de su sistema."
 
-#: utils/adt/array_userfuncs.c:662 utils/adt/array_userfuncs.c:814
+#: tcop/postgres.c:3756
 #, c-format
-msgid "searching for elements in multidimensional arrays is not supported"
-msgstr "no está soportada la búsqueda de elementos en arrays multidimensionales"
+msgid "invalid command-line argument for server process: %s"
+msgstr "argumentos de línea de órdenes no válidos para proceso servidor: %s"
 
-#: utils/adt/array_userfuncs.c:686
+#: tcop/postgres.c:3757 tcop/postgres.c:3763
 #, c-format
-msgid "initial position must not be null"
-msgstr "la posición inicial no debe ser null"
+msgid "Try \"%s --help\" for more information."
+msgstr "Pruebe «%s --help» para mayor información."
 
-#: utils/adt/arrayfuncs.c:270 utils/adt/arrayfuncs.c:284
-#: utils/adt/arrayfuncs.c:295 utils/adt/arrayfuncs.c:317
-#: utils/adt/arrayfuncs.c:332 utils/adt/arrayfuncs.c:346
-#: utils/adt/arrayfuncs.c:352 utils/adt/arrayfuncs.c:359
-#: utils/adt/arrayfuncs.c:490 utils/adt/arrayfuncs.c:506
-#: utils/adt/arrayfuncs.c:517 utils/adt/arrayfuncs.c:532
-#: utils/adt/arrayfuncs.c:553 utils/adt/arrayfuncs.c:583
-#: utils/adt/arrayfuncs.c:590 utils/adt/arrayfuncs.c:598
-#: utils/adt/arrayfuncs.c:632 utils/adt/arrayfuncs.c:655
-#: utils/adt/arrayfuncs.c:675 utils/adt/arrayfuncs.c:787
-#: utils/adt/arrayfuncs.c:796 utils/adt/arrayfuncs.c:826
-#: utils/adt/arrayfuncs.c:841 utils/adt/arrayfuncs.c:894
+#: tcop/postgres.c:3761
 #, c-format
-msgid "malformed array literal: \"%s\""
-msgstr "literal de array mal formado: «%s»"
+msgid "%s: invalid command-line argument: %s"
+msgstr "%s: argumento de línea de órdenes no válido: %s"
 
-#: utils/adt/arrayfuncs.c:271
+#: tcop/postgres.c:3823
 #, c-format
-msgid "\"[\" must introduce explicitly-specified array dimensions."
-msgstr "Un «[» debe introducir dimensiones de array especificadas explícitamente."
+msgid "%s: no database nor user name specified"
+msgstr "%s: no se ha especificado base de datos ni usuario"
 
-#: utils/adt/arrayfuncs.c:285
+#: tcop/postgres.c:4461
 #, c-format
-msgid "Missing array dimension value."
-msgstr "Falta un valor de dimensión de array."
+msgid "invalid CLOSE message subtype %d"
+msgstr "subtipo %d de mensaje CLOSE no válido"
 
-#: utils/adt/arrayfuncs.c:296 utils/adt/arrayfuncs.c:333
+#: tcop/postgres.c:4496
 #, c-format
-msgid "Missing \"%s\" after array dimensions."
-msgstr "Falta «%s» luego de las dimensiones de array."
+msgid "invalid DESCRIBE message subtype %d"
+msgstr "subtipo %d de mensaje DESCRIBE no válido"
 
-#: utils/adt/arrayfuncs.c:305 utils/adt/arrayfuncs.c:2884
-#: utils/adt/arrayfuncs.c:2916 utils/adt/arrayfuncs.c:2931
+#: tcop/postgres.c:4574
 #, c-format
-msgid "upper bound cannot be less than lower bound"
-msgstr "el límite superior no puede ser menor que el límite inferior"
+msgid "fastpath function calls not supported in a replication connection"
+msgstr "la invocación «fastpath» de funciones no está soportada en conexiones de replicación"
 
-#: utils/adt/arrayfuncs.c:318
+#: tcop/postgres.c:4578
 #, c-format
-msgid "Array value must start with \"{\" or dimension information."
-msgstr "El valor de array debe comenzar con «{» o información de dimensión."
+msgid "extended query protocol not supported in a replication connection"
+msgstr "el protocolo extendido de consultas no está soportado en conexiones de replicación"
 
-#: utils/adt/arrayfuncs.c:347
+#: tcop/postgres.c:4755
 #, c-format
-msgid "Array contents must start with \"{\"."
-msgstr "El contenido del array debe empezar con «{»."
+msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s"
+msgstr "desconexión: duración de sesión: %d:%02d:%02d.%03d usuario=%s base=%s host=%s%s%s"
 
-#: utils/adt/arrayfuncs.c:353 utils/adt/arrayfuncs.c:360
+#: tcop/pquery.c:629
 #, c-format
-msgid "Specified array dimensions do not match array contents."
-msgstr "Las dimensiones del array especificadas no coinciden con el contenido del array."
+msgid "bind message has %d result formats but query has %d columns"
+msgstr "el mensaje de enlace (bind) tiene %d formatos de resultado pero la consulta tiene %d columnas"
 
-#: utils/adt/arrayfuncs.c:491 utils/adt/arrayfuncs.c:518
-#: utils/adt/rangetypes.c:2181 utils/adt/rangetypes.c:2189
-#: utils/adt/rowtypes.c:210 utils/adt/rowtypes.c:218
+#: tcop/pquery.c:932
 #, c-format
-msgid "Unexpected end of input."
-msgstr "Fin inesperado de la entrada."
+msgid "cursor can only scan forward"
+msgstr "el cursor sólo se puede desplazar hacia adelante"
 
-#: utils/adt/arrayfuncs.c:507 utils/adt/arrayfuncs.c:554
-#: utils/adt/arrayfuncs.c:584 utils/adt/arrayfuncs.c:633
+#: tcop/pquery.c:933
 #, c-format
-msgid "Unexpected \"%c\" character."
-msgstr "Carácter «%c» inesperado."
+msgid "Declare it with SCROLL option to enable backward scan."
+msgstr "Declárelo con SCROLL para permitirle desplazar hacia atrás."
 
-#: utils/adt/arrayfuncs.c:533 utils/adt/arrayfuncs.c:656
+#. translator: %s is name of a SQL command, eg CREATE
+#: tcop/utility.c:413
 #, c-format
-msgid "Unexpected array element."
-msgstr "Elemento de array inesperado."
+msgid "cannot execute %s in a read-only transaction"
+msgstr "no se puede ejecutar %s en una transacción de sólo lectura"
 
-#: utils/adt/arrayfuncs.c:591
+#. translator: %s is name of a SQL command, eg CREATE
+#: tcop/utility.c:431
 #, c-format
-msgid "Unmatched \"%c\" character."
-msgstr "Carácter «%c» desemparejado."
+msgid "cannot execute %s during a parallel operation"
+msgstr "no se puede ejecutar %s durante una operación paralela"
 
-#: utils/adt/arrayfuncs.c:599 utils/adt/jsonfuncs.c:2452
+#. translator: %s is name of a SQL command, eg CREATE
+#: tcop/utility.c:450
 #, c-format
-msgid "Multidimensional arrays must have sub-arrays with matching dimensions."
-msgstr "Los arrays multidimensionales deben tener sub-arrays con dimensiones coincidentes."
+msgid "cannot execute %s during recovery"
+msgstr "no se puede ejecutar %s durante la recuperación"
 
-#: utils/adt/arrayfuncs.c:676
+#. translator: %s is name of a SQL command, eg PREPARE
+#: tcop/utility.c:468
 #, c-format
-msgid "Junk after closing right brace."
-msgstr "Basura después de la llave derecha de cierre."
+msgid "cannot execute %s within security-restricted operation"
+msgstr "no se puede ejecutar %s durante una operación restringida por seguridad"
 
-#: utils/adt/arrayfuncs.c:1298 utils/adt/arrayfuncs.c:3344
-#: utils/adt/arrayfuncs.c:5817
+#: tcop/utility.c:912
 #, c-format
-msgid "invalid number of dimensions: %d"
-msgstr "número incorrecto de dimensiones: %d"
+msgid "must be superuser to do CHECKPOINT"
+msgstr "debe ser superusuario para ejecutar CHECKPOINT"
 
-#: utils/adt/arrayfuncs.c:1309
+#: tsearch/dict_ispell.c:52 tsearch/dict_thesaurus.c:620
 #, c-format
-msgid "invalid array flags"
-msgstr "opciones de array no válidas"
+msgid "multiple DictFile parameters"
+msgstr "parámetro DictFile duplicado"
 
-#: utils/adt/arrayfuncs.c:1317
+#: tsearch/dict_ispell.c:63
 #, c-format
-msgid "wrong element type"
-msgstr "el tipo de elemento es erróneo"
+msgid "multiple AffFile parameters"
+msgstr "parámetro AffFile duplicado"
 
-#: utils/adt/arrayfuncs.c:1367 utils/adt/rangetypes.c:335
-#: utils/cache/lsyscache.c:2835
+#: tsearch/dict_ispell.c:82
 #, c-format
-msgid "no binary input function available for type %s"
-msgstr "no hay una función binaria de entrada para el tipo %s"
+msgid "unrecognized Ispell parameter: \"%s\""
+msgstr "parámetro Ispell no reconocido: «%s»"
 
-#: utils/adt/arrayfuncs.c:1507
+#: tsearch/dict_ispell.c:96
 #, c-format
-msgid "improper binary format in array element %d"
-msgstr "el formato binario no es válido en elemento %d de array"
+msgid "missing AffFile parameter"
+msgstr "falta un parámetro AffFile"
 
-#: utils/adt/arrayfuncs.c:1588 utils/adt/rangetypes.c:340
-#: utils/cache/lsyscache.c:2868
+#: tsearch/dict_ispell.c:102 tsearch/dict_thesaurus.c:644
 #, c-format
-msgid "no binary output function available for type %s"
-msgstr "no hay una función binaria de salida para el tipo %s"
+msgid "missing DictFile parameter"
+msgstr "falta un parámetro DictFile"
 
-#: utils/adt/arrayfuncs.c:2066
+#: tsearch/dict_simple.c:58
 #, c-format
-msgid "slices of fixed-length arrays not implemented"
-msgstr "no está implementada la obtención de segmentos de arrays de largo fijo"
+msgid "multiple Accept parameters"
+msgstr "parámetro Accept duplicado"
 
-#: utils/adt/arrayfuncs.c:2244 utils/adt/arrayfuncs.c:2266
-#: utils/adt/arrayfuncs.c:2315 utils/adt/arrayfuncs.c:2551
-#: utils/adt/arrayfuncs.c:2862 utils/adt/arrayfuncs.c:5803
-#: utils/adt/arrayfuncs.c:5829 utils/adt/arrayfuncs.c:5840
-#: utils/adt/json.c:1141 utils/adt/json.c:1216 utils/adt/jsonb.c:1316
-#: utils/adt/jsonb.c:1402 utils/adt/jsonfuncs.c:4340 utils/adt/jsonfuncs.c:4490
-#: utils/adt/jsonfuncs.c:4602 utils/adt/jsonfuncs.c:4648
+#: tsearch/dict_simple.c:66
 #, c-format
-msgid "wrong number of array subscripts"
-msgstr "número incorrecto de subíndices del array"
+msgid "unrecognized simple dictionary parameter: \"%s\""
+msgstr "parámetro del diccionario simple no reconocido: «%s»"
 
-#: utils/adt/arrayfuncs.c:2249 utils/adt/arrayfuncs.c:2357
-#: utils/adt/arrayfuncs.c:2615 utils/adt/arrayfuncs.c:2921
+#: tsearch/dict_synonym.c:118
 #, c-format
-msgid "array subscript out of range"
-msgstr "subíndice de array fuera de rango"
+msgid "unrecognized synonym parameter: \"%s\""
+msgstr "parámetro de sinónimo no reconocido «%s»"
 
-#: utils/adt/arrayfuncs.c:2254
+#: tsearch/dict_synonym.c:125
 #, c-format
-msgid "cannot assign null value to an element of a fixed-length array"
-msgstr "no se puede asignar un valor nulo a un elemento de un array de longitud fija"
+msgid "missing Synonyms parameter"
+msgstr "falta un parámetro Synonyms"
 
-#: utils/adt/arrayfuncs.c:2809
+#: tsearch/dict_synonym.c:132
 #, c-format
-msgid "updates on slices of fixed-length arrays not implemented"
-msgstr "no están implementadas las actualizaciones en segmentos de arrays de largo fija"
+msgid "could not open synonym file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de sinónimos «%s»: %m"
 
-#: utils/adt/arrayfuncs.c:2840
+#: tsearch/dict_thesaurus.c:179
 #, c-format
-msgid "array slice subscript must provide both boundaries"
-msgstr "los subíndices del segmento de array deben especificar ambos bordes"
+msgid "could not open thesaurus file \"%s\": %m"
+msgstr "no se pudo abrir el archivo del tesauro «%s»: %m"
 
-#: utils/adt/arrayfuncs.c:2841
+#: tsearch/dict_thesaurus.c:212
 #, c-format
-msgid "When assigning to a slice of an empty array value, slice boundaries must be fully specified."
-msgstr "Cuando se asigna a un segmento de un array vacío, los bordes del segmento deben ser especificados completamente."
+msgid "unexpected delimiter"
+msgstr "delimitador inesperado"
 
-#: utils/adt/arrayfuncs.c:2852 utils/adt/arrayfuncs.c:2947
+#: tsearch/dict_thesaurus.c:262 tsearch/dict_thesaurus.c:278
 #, c-format
-msgid "source array too small"
-msgstr "el array de origen es demasiado pequeño"
+msgid "unexpected end of line or lexeme"
+msgstr "fin de línea o lexema inesperado"
 
-#: utils/adt/arrayfuncs.c:3500
+#: tsearch/dict_thesaurus.c:287
 #, c-format
-msgid "null array element not allowed in this context"
-msgstr "los arrays con elementos null no son permitidos en este contexto"
+msgid "unexpected end of line"
+msgstr "fin de línea inesperado"
 
-#: utils/adt/arrayfuncs.c:3602 utils/adt/arrayfuncs.c:3773
-#: utils/adt/arrayfuncs.c:4129
+#: tsearch/dict_thesaurus.c:297
 #, c-format
-msgid "cannot compare arrays of different element types"
-msgstr "no se pueden comparar arrays con elementos de distintos tipos"
+msgid "too many lexemes in thesaurus entry"
+msgstr "demasiados lexemas en la entrada del tesauro"
 
-#: utils/adt/arrayfuncs.c:3951 utils/adt/rangetypes.c:1254
-#: utils/adt/rangetypes.c:1318
+#: tsearch/dict_thesaurus.c:421
 #, c-format
-msgid "could not identify a hash function for type %s"
-msgstr "no se pudo identificar una función de hash para el tipo %s"
+msgid "thesaurus sample word \"%s\" isn't recognized by subdictionary (rule %d)"
+msgstr "la palabra de muestra «%s» del tesauro no es reconocido por el subdiccionario (regla %d)"
 
-#: utils/adt/arrayfuncs.c:4044
+# XXX -- stopword?
+#: tsearch/dict_thesaurus.c:427
 #, c-format
-msgid "could not identify an extended hash function for type %s"
-msgstr "no se pudo identificar una función de hash extendida para el tipo %s"
+msgid "thesaurus sample word \"%s\" is a stop word (rule %d)"
+msgstr "la palabra de muestra «%s» del tesauro es una stopword (regla %d)"
 
-#: utils/adt/arrayfuncs.c:5221
+# XXX -- stopword?
+#: tsearch/dict_thesaurus.c:430
 #, c-format
-msgid "data type %s is not an array type"
-msgstr "el tipo %s no es un array"
+msgid "Use \"?\" to represent a stop word within a sample phrase."
+msgstr "Use «?» para representar una stopword en una frase muestra."
 
-#: utils/adt/arrayfuncs.c:5276
+# XXX -- stopword?
+#: tsearch/dict_thesaurus.c:572
 #, c-format
-msgid "cannot accumulate null arrays"
-msgstr "no se pueden acumular arrays nulos"
+msgid "thesaurus substitute word \"%s\" is a stop word (rule %d)"
+msgstr "la palabra sustituta «%s» del tesauro es una stopword (regla %d)"
 
-#: utils/adt/arrayfuncs.c:5304
+#: tsearch/dict_thesaurus.c:579
 #, c-format
-msgid "cannot accumulate empty arrays"
-msgstr "no se pueden acumular arrays vacíos"
+msgid "thesaurus substitute word \"%s\" isn't recognized by subdictionary (rule %d)"
+msgstr "la palabra sustituta «%s» del tesauro no es reconocida por el subdiccionario (regla %d)"
 
-#: utils/adt/arrayfuncs.c:5331 utils/adt/arrayfuncs.c:5337
+#: tsearch/dict_thesaurus.c:591
 #, c-format
-msgid "cannot accumulate arrays of different dimensionality"
-msgstr "no se pueden acumular arrays de distinta dimensionalidad"
+msgid "thesaurus substitute phrase is empty (rule %d)"
+msgstr "la frase sustituta del tesauro está vacía (regla %d)"
 
-#: utils/adt/arrayfuncs.c:5701 utils/adt/arrayfuncs.c:5741
+#: tsearch/dict_thesaurus.c:629
 #, c-format
-msgid "dimension array or low bound array cannot be null"
-msgstr "el array de dimensiones o el array de límites inferiores debe ser no nulo"
+msgid "multiple Dictionary parameters"
+msgstr "parámetro Dictionary duplicado"
 
-#: utils/adt/arrayfuncs.c:5804 utils/adt/arrayfuncs.c:5830
+#: tsearch/dict_thesaurus.c:636
 #, c-format
-msgid "Dimension array must be one dimensional."
-msgstr "El array de dimensiones debe ser unidimensional."
+msgid "unrecognized Thesaurus parameter: \"%s\""
+msgstr "parámetro no reconocido de tesauro: «%s»"
 
-#: utils/adt/arrayfuncs.c:5809 utils/adt/arrayfuncs.c:5835
+#: tsearch/dict_thesaurus.c:648
 #, c-format
-msgid "dimension values cannot be null"
-msgstr "los valores de dimensión no pueden ser null"
+msgid "missing Dictionary parameter"
+msgstr "falta un paramétro Dictionary"
 
-#: utils/adt/arrayfuncs.c:5841
+#: tsearch/spell.c:380 tsearch/spell.c:397 tsearch/spell.c:406
+#: tsearch/spell.c:1062
 #, c-format
-msgid "Low bound array has different size than dimensions array."
-msgstr "El array de límites inferiores tiene tamaño diferente que el array de dimensiones."
+msgid "invalid affix flag \"%s\""
+msgstr "marca de afijo «%s» no válida"
 
-#: utils/adt/arrayfuncs.c:6117
+#: tsearch/spell.c:384 tsearch/spell.c:1066
 #, c-format
-msgid "removing elements from multidimensional arrays is not supported"
-msgstr "la eliminación de elementos desde arrays multidimensionales no está soportada"
+msgid "affix flag \"%s\" is out of range"
+msgstr "la marca de afijo «%s» fuera de rango"
 
-#: utils/adt/arrayfuncs.c:6394
+#: tsearch/spell.c:414
 #, c-format
-msgid "thresholds must be one-dimensional array"
-msgstr "los umbrales deben ser un array unidimensional"
+msgid "invalid character in affix flag \"%s\""
+msgstr "caracteres no válidos en la marca de afijo «%s»"
 
-#: utils/adt/arrayfuncs.c:6399
+#: tsearch/spell.c:434
 #, c-format
-msgid "thresholds array must not contain NULLs"
-msgstr "el array de umbrales no debe contener nulos"
+msgid "invalid affix flag \"%s\" with \"long\" flag value"
+msgstr "marca de afijo «%s» no válida con el valor de marca «long»"
 
-#: utils/adt/arrayutils.c:209
+#: tsearch/spell.c:524
 #, c-format
-msgid "typmod array must be type cstring[]"
-msgstr "el array de typmod debe ser de tipo cstring[]"
+msgid "could not open dictionary file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de diccionario «%s»: %m"
 
-#: utils/adt/arrayutils.c:214
+#: tsearch/spell.c:763 utils/adt/regexp.c:208
 #, c-format
-msgid "typmod array must be one-dimensional"
-msgstr "array de typmod debe ser unidimensional"
+msgid "invalid regular expression: %s"
+msgstr "la expresión regular no es válida: %s"
 
-#: utils/adt/arrayutils.c:219
+#: tsearch/spell.c:1189 tsearch/spell.c:1201 tsearch/spell.c:1760
+#: tsearch/spell.c:1765 tsearch/spell.c:1770
 #, c-format
-msgid "typmod array must not contain nulls"
-msgstr "los arrays de typmod no deben contener valores nulos"
+msgid "invalid affix alias \"%s\""
+msgstr "alias de afijo «%s» no válido"
 
-#: utils/adt/ascii.c:76
+#: tsearch/spell.c:1242 tsearch/spell.c:1313 tsearch/spell.c:1462
 #, c-format
-msgid "encoding conversion from %s to ASCII not supported"
-msgstr "la conversión de codificación de %s a ASCII no está soportada"
+msgid "could not open affix file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de afijos «%s»: %m"
 
-#. translator: first %s is inet or cidr
-#: utils/adt/bool.c:153 utils/adt/cash.c:277 utils/adt/datetime.c:3757
-#: utils/adt/float.c:187 utils/adt/float.c:271 utils/adt/float.c:295
-#: utils/adt/float.c:412 utils/adt/float.c:497 utils/adt/float.c:525
-#: utils/adt/geo_ops.c:220 utils/adt/geo_ops.c:230 utils/adt/geo_ops.c:242
-#: utils/adt/geo_ops.c:274 utils/adt/geo_ops.c:316 utils/adt/geo_ops.c:326
-#: utils/adt/geo_ops.c:974 utils/adt/geo_ops.c:1378 utils/adt/geo_ops.c:1413
-#: utils/adt/geo_ops.c:1421 utils/adt/geo_ops.c:3476 utils/adt/geo_ops.c:4645
-#: utils/adt/geo_ops.c:4660 utils/adt/geo_ops.c:4667 utils/adt/int8.c:126
-#: utils/adt/jsonpath.c:182 utils/adt/mac.c:94 utils/adt/mac8.c:93
-#: utils/adt/mac8.c:166 utils/adt/mac8.c:184 utils/adt/mac8.c:202
-#: utils/adt/mac8.c:221 utils/adt/network.c:100 utils/adt/numeric.c:601
-#: utils/adt/numeric.c:628 utils/adt/numeric.c:6001 utils/adt/numeric.c:6025
-#: utils/adt/numeric.c:6049 utils/adt/numeric.c:6882 utils/adt/numeric.c:6908
-#: utils/adt/numutils.c:116 utils/adt/numutils.c:126 utils/adt/numutils.c:170
-#: utils/adt/numutils.c:246 utils/adt/numutils.c:322 utils/adt/oid.c:44
-#: utils/adt/oid.c:58 utils/adt/oid.c:64 utils/adt/oid.c:86
-#: utils/adt/pg_lsn.c:73 utils/adt/tid.c:74 utils/adt/tid.c:82
-#: utils/adt/tid.c:90 utils/adt/timestamp.c:494 utils/adt/uuid.c:136
-#: utils/adt/xid8funcs.c:346
+#: tsearch/spell.c:1296
 #, c-format
-msgid "invalid input syntax for type %s: \"%s\""
-msgstr "la sintaxis de entrada no es válida para tipo %s: «%s»"
+msgid "Ispell dictionary supports only \"default\", \"long\", and \"num\" flag values"
+msgstr "el diccionario Ispell sólo permite los valores «default», «long» y «num»"
 
-#: utils/adt/cash.c:215 utils/adt/cash.c:240 utils/adt/cash.c:250
-#: utils/adt/cash.c:290 utils/adt/int8.c:118 utils/adt/numutils.c:140
-#: utils/adt/numutils.c:147 utils/adt/numutils.c:240 utils/adt/numutils.c:316
-#: utils/adt/oid.c:70 utils/adt/oid.c:109
+#: tsearch/spell.c:1340
 #, c-format
-msgid "value \"%s\" is out of range for type %s"
-msgstr "el valor «%s» está fuera de rango para el tipo %s"
+msgid "invalid number of flag vector aliases"
+msgstr "número no válido de alias de opciones"
 
-#: 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:104 utils/adt/int.c:824 utils/adt/int.c:940
-#: utils/adt/int.c:1020 utils/adt/int.c:1082 utils/adt/int.c:1120
-#: utils/adt/int.c:1148 utils/adt/int8.c:593 utils/adt/int8.c:651
-#: utils/adt/int8.c:978 utils/adt/int8.c:1058 utils/adt/int8.c:1120
-#: utils/adt/int8.c:1200 utils/adt/numeric.c:7446 utils/adt/numeric.c:7736
-#: utils/adt/numeric.c:9318 utils/adt/timestamp.c:3264
+#: tsearch/spell.c:1363
 #, c-format
-msgid "division by zero"
-msgstr "división por cero"
+msgid "number of aliases exceeds specified number %d"
+msgstr "el número de aliases excede el número especificado %d"
 
-#: utils/adt/char.c:169
+#: tsearch/spell.c:1578
 #, c-format
-msgid "\"char\" out of range"
-msgstr "«char» fuera de rango"
+msgid "affix file contains both old-style and new-style commands"
+msgstr "el archivo de «affix» contiene órdenes en estilos antiguo y nuevo"
 
-#: utils/adt/date.c:61 utils/adt/timestamp.c:95 utils/adt/varbit.c:104
-#: utils/adt/varchar.c:48
+#: tsearch/to_tsany.c:185 utils/adt/tsvector.c:272 utils/adt/tsvector_op.c:1121
 #, c-format
-msgid "invalid type modifier"
-msgstr "el modificador de tipo no es válido"
+msgid "string is too long for tsvector (%d bytes, max %d bytes)"
+msgstr "la cadena es demasiado larga para tsvector (%d bytes, máximo %d bytes)"
 
-#: utils/adt/date.c:73
+#: tsearch/ts_locale.c:212
 #, c-format
-msgid "TIME(%d)%s precision must not be negative"
-msgstr "la precisión de TIME(%d)%s no debe ser negativa"
+msgid "line %d of configuration file \"%s\": \"%s\""
+msgstr "línea %d del archivo de configuración «%s»: «%s»"
 
-#: utils/adt/date.c:79
+#: tsearch/ts_locale.c:329
 #, c-format
-msgid "TIME(%d)%s precision reduced to maximum allowed, %d"
-msgstr "la precisión de TIME(%d)%s fue reducida al máximo permitido, %d"
+msgid "conversion from wchar_t to server encoding failed: %m"
+msgstr "conversión desde un wchar_t a la codificación del servidor falló: %m"
 
-#: utils/adt/date.c:158 utils/adt/date.c:166 utils/adt/formatting.c:4196
-#: utils/adt/formatting.c:4205 utils/adt/formatting.c:4311
-#: utils/adt/formatting.c:4321
+#: tsearch/ts_parse.c:386 tsearch/ts_parse.c:393 tsearch/ts_parse.c:562
+#: tsearch/ts_parse.c:569
 #, c-format
-msgid "date out of range: \"%s\""
-msgstr "fecha fuera de rango: «%s»"
+msgid "word is too long to be indexed"
+msgstr "la palabra es demasiado larga para ser indexada"
 
-#: utils/adt/date.c:213 utils/adt/date.c:525 utils/adt/date.c:549
-#: utils/adt/xml.c:2210
+#: tsearch/ts_parse.c:387 tsearch/ts_parse.c:394 tsearch/ts_parse.c:563
+#: tsearch/ts_parse.c:570
 #, c-format
-msgid "date out of range"
-msgstr "fecha fuera de rango"
+msgid "Words longer than %d characters are ignored."
+msgstr "Las palabras más largas que %d caracteres son ignoradas."
 
-#: utils/adt/date.c:259 utils/adt/timestamp.c:574
+#: tsearch/ts_utils.c:51
 #, c-format
-msgid "date field value out of range: %d-%02d-%02d"
-msgstr "valor en campo de fecha fuera de rango: %d-%02d-%02d"
+msgid "invalid text search configuration file name \"%s\""
+msgstr "nombre de configuración de búsqueda en texto «%s» no válido"
 
-#: utils/adt/date.c:266 utils/adt/date.c:275 utils/adt/timestamp.c:580
+#: tsearch/ts_utils.c:83
 #, c-format
-msgid "date out of range: %d-%02d-%02d"
-msgstr "fecha fuera de rango: %d-%02d-%02d"
+msgid "could not open stop-word file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de stopwords «%s»: %m"
 
-#: utils/adt/date.c:313 utils/adt/date.c:336 utils/adt/date.c:362
-#: utils/adt/date.c:1170 utils/adt/date.c:1216 utils/adt/date.c:1772
-#: utils/adt/date.c:1803 utils/adt/date.c:1832 utils/adt/date.c:2664
-#: utils/adt/datetime.c:1655 utils/adt/formatting.c:4053
-#: utils/adt/formatting.c:4085 utils/adt/formatting.c:4165
-#: utils/adt/formatting.c:4287 utils/adt/json.c:418 utils/adt/json.c:457
-#: utils/adt/timestamp.c:222 utils/adt/timestamp.c:254
-#: utils/adt/timestamp.c:692 utils/adt/timestamp.c:701
-#: utils/adt/timestamp.c:779 utils/adt/timestamp.c:812
-#: utils/adt/timestamp.c:2843 utils/adt/timestamp.c:2864
-#: utils/adt/timestamp.c:2877 utils/adt/timestamp.c:2886
-#: utils/adt/timestamp.c:2894 utils/adt/timestamp.c:2949
-#: utils/adt/timestamp.c:2972 utils/adt/timestamp.c:2985
-#: utils/adt/timestamp.c:2996 utils/adt/timestamp.c:3004
-#: utils/adt/timestamp.c:3664 utils/adt/timestamp.c:3789
-#: utils/adt/timestamp.c:3830 utils/adt/timestamp.c:3920
-#: utils/adt/timestamp.c:3964 utils/adt/timestamp.c:4067
-#: utils/adt/timestamp.c:4552 utils/adt/timestamp.c:4748
-#: utils/adt/timestamp.c:5075 utils/adt/timestamp.c:5089
-#: utils/adt/timestamp.c:5094 utils/adt/timestamp.c:5108
-#: utils/adt/timestamp.c:5141 utils/adt/timestamp.c:5218
-#: utils/adt/timestamp.c:5259 utils/adt/timestamp.c:5263
-#: utils/adt/timestamp.c:5332 utils/adt/timestamp.c:5336
-#: utils/adt/timestamp.c:5350 utils/adt/timestamp.c:5384 utils/adt/xml.c:2232
-#: utils/adt/xml.c:2239 utils/adt/xml.c:2259 utils/adt/xml.c:2266
+#: tsearch/wparser.c:313 tsearch/wparser.c:401 tsearch/wparser.c:478
 #, c-format
-msgid "timestamp out of range"
-msgstr "timestamp fuera de rango"
+msgid "text search parser does not support headline creation"
+msgstr "el analizador de búsqueda en texto no soporta creación de encabezados (headline)"
 
-#: utils/adt/date.c:500
+#: tsearch/wparser_def.c:2585
 #, c-format
-msgid "cannot subtract infinite dates"
-msgstr "no se pueden restar fechas infinitas"
+msgid "unrecognized headline parameter: \"%s\""
+msgstr "parámetro de encabezado (headline) no reconocido: «%s»"
 
-#: utils/adt/date.c:589 utils/adt/date.c:646 utils/adt/date.c:680
-#: utils/adt/date.c:2701 utils/adt/date.c:2711
+#: tsearch/wparser_def.c:2604
 #, c-format
-msgid "date out of range for timestamp"
-msgstr "fecha fuera de rango para timestamp"
+msgid "MinWords should be less than MaxWords"
+msgstr "MinWords debería ser menor que MaxWords"
 
-#: utils/adt/date.c:1389 utils/adt/date.c:2159 utils/adt/formatting.c:4373
+#: tsearch/wparser_def.c:2608
 #, c-format
-msgid "time out of range"
-msgstr "hora fuera de rango"
+msgid "MinWords should be positive"
+msgstr "MinWords debería ser positivo"
 
-#: utils/adt/date.c:1441 utils/adt/timestamp.c:589
+#: tsearch/wparser_def.c:2612
 #, c-format
-msgid "time field value out of range: %d:%02d:%02g"
-msgstr "valor en campo de hora fuera de rango: %d:%02d:%02g"
+msgid "ShortWord should be >= 0"
+msgstr "ShortWord debería ser >= 0"
 
-#: utils/adt/date.c:1961 utils/adt/date.c:2463 utils/adt/float.c:1071
-#: utils/adt/float.c:1140 utils/adt/int.c:616 utils/adt/int.c:663
-#: utils/adt/int.c:698 utils/adt/int8.c:492 utils/adt/numeric.c:2197
-#: utils/adt/timestamp.c:3313 utils/adt/timestamp.c:3344
-#: utils/adt/timestamp.c:3375
+#: tsearch/wparser_def.c:2616
 #, c-format
-msgid "invalid preceding or following size in window function"
-msgstr "tamaño «preceding» o «following» no válido en ventana deslizante"
+msgid "MaxFragments should be >= 0"
+msgstr "MaxFragments debería ser >= 0"
 
-#: utils/adt/date.c:2046 utils/adt/date.c:2059
+#: utils/adt/acl.c:171 utils/adt/name.c:93
 #, c-format
-msgid "\"time\" units \"%s\" not recognized"
-msgstr "las unidades de «time» «%s» no son reconocidas"
+msgid "identifier too long"
+msgstr "el identificador es demasiado largo"
 
-#: utils/adt/date.c:2167
+#: utils/adt/acl.c:172 utils/adt/name.c:94
 #, c-format
-msgid "time zone displacement out of range"
-msgstr "desplazamiento de huso horario fuera de rango"
+msgid "Identifier must be less than %d characters."
+msgstr "El identificador debe ser menor a %d caracteres."
 
-#: utils/adt/date.c:2796 utils/adt/date.c:2809
+#: utils/adt/acl.c:255
 #, c-format
-msgid "\"time with time zone\" units \"%s\" not recognized"
-msgstr "las unidades de «timestamp with time zone» «%s» no son reconocidas"
+msgid "unrecognized key word: \"%s\""
+msgstr "palabra clave no reconocida: «%s»"
 
-#: utils/adt/date.c:2882 utils/adt/datetime.c:906 utils/adt/datetime.c:1813
-#: utils/adt/datetime.c:4601 utils/adt/timestamp.c:513
-#: utils/adt/timestamp.c:540 utils/adt/timestamp.c:4150
-#: utils/adt/timestamp.c:5100 utils/adt/timestamp.c:5342
+#: utils/adt/acl.c:256
 #, c-format
-msgid "time zone \"%s\" not recognized"
-msgstr "el huso horario «%s» no es reconocido"
+msgid "ACL key word must be \"group\" or \"user\"."
+msgstr "Palabra clave de ACL debe ser «group» o «user»."
 
-#: utils/adt/date.c:2914 utils/adt/timestamp.c:5130 utils/adt/timestamp.c:5373
+#: utils/adt/acl.c:261
 #, c-format
-msgid "interval time zone \"%s\" must not include months or days"
-msgstr "el intervalo de huso horario «%s» no debe especificar meses o días"
+msgid "missing name"
+msgstr "falta un nombre"
 
-#: utils/adt/datetime.c:3730 utils/adt/datetime.c:3737
+#: utils/adt/acl.c:262
 #, c-format
-msgid "date/time field value out of range: \"%s\""
-msgstr "valor de hora/fecha fuera de rango: «%s»"
+msgid "A name must follow the \"group\" or \"user\" key word."
+msgstr "Debe venir un nombre después de una palabra clave «group» o «user»."
 
-#: utils/adt/datetime.c:3739
+#: utils/adt/acl.c:268
 #, c-format
-msgid "Perhaps you need a different \"datestyle\" setting."
-msgstr "Quizás necesite una configuración diferente de «datestyle»."
+msgid "missing \"=\" sign"
+msgstr "falta un signo «=»"
 
-#: utils/adt/datetime.c:3744
+#: utils/adt/acl.c:321
 #, c-format
-msgid "interval field value out of range: \"%s\""
-msgstr "valor de interval fuera de rango: «%s»"
+msgid "invalid mode character: must be one of \"%s\""
+msgstr "carácter de modo no válido: debe ser uno de «%s»"
 
-#: utils/adt/datetime.c:3750
+#: utils/adt/acl.c:343
 #, c-format
-msgid "time zone displacement out of range: \"%s\""
-msgstr "desplazamiento de huso horario fuera de rango: «%s»"
+msgid "a name must follow the \"/\" sign"
+msgstr "debe venir un nombre después del signo «/»"
 
-#: utils/adt/datetime.c:4603
+#: utils/adt/acl.c:351
 #, c-format
-msgid "This time zone name appears in the configuration file for time zone abbreviation \"%s\"."
-msgstr "Este nombre de huso horario aparece en el archivo de configuración para abreviaciones de husos horarios «%s»."
+msgid "defaulting grantor to user ID %u"
+msgstr "usando el cedente por omisión con ID %u"
 
-#: utils/adt/datum.c:89 utils/adt/datum.c:101
+#: utils/adt/acl.c:537
 #, c-format
-msgid "invalid Datum pointer"
-msgstr "puntero a Datum no válido"
+msgid "ACL array contains wrong data type"
+msgstr "el array ACL contiene tipo de datos incorrecto"
 
-#: utils/adt/dbsize.c:759 utils/adt/dbsize.c:827
+#: utils/adt/acl.c:541
 #, c-format
-msgid "invalid size: \"%s\""
-msgstr "tamaño no válido: «%s»"
+msgid "ACL arrays must be one-dimensional"
+msgstr "los array de ACL debe ser unidimensional"
 
-#: utils/adt/dbsize.c:828
+#: utils/adt/acl.c:545
 #, c-format
-msgid "Invalid size unit: \"%s\"."
-msgstr "Nombre de unidad de tamaño no válido: «%s»."
+msgid "ACL arrays must not contain null values"
+msgstr "los arrays de ACL no pueden contener valores nulos"
 
-#: utils/adt/dbsize.c:829
+#: utils/adt/acl.c:569
 #, c-format
-msgid "Valid units are \"bytes\", \"kB\", \"MB\", \"GB\", and \"TB\"."
-msgstr "Unidades válidas son «bytes«, «kB», «MB», «GB» y «TB»."
+msgid "extra garbage at the end of the ACL specification"
+msgstr "basura extra al final de la especificación de la ACL"
 
-#: utils/adt/domains.c:92
+#: utils/adt/acl.c:1204
 #, c-format
-msgid "type %s is not a domain"
-msgstr "tipo «%s» no es un dominio"
+msgid "grant options cannot be granted back to your own grantor"
+msgstr "la opción de grant no puede ser otorgada de vuelta a quien la otorgó"
 
-#: utils/adt/encode.c:64 utils/adt/encode.c:112
+#: utils/adt/acl.c:1265
 #, c-format
-msgid "unrecognized encoding: \"%s\""
-msgstr "no se reconoce la codificación: «%s»"
+msgid "dependent privileges exist"
+msgstr "existen privilegios dependientes"
 
-#: utils/adt/encode.c:78
-#, fuzzy, c-format
-#| msgid "result of decoding conversion is too large"
-msgid "result of encoding conversion is too large"
-msgstr "el resultado de la conversión de codificación es demasiado grande"
+#: utils/adt/acl.c:1266
+#, c-format
+msgid "Use CASCADE to revoke them too."
+msgstr "Use CASCADE para revocarlos también."
 
-#: utils/adt/encode.c:126
+#: utils/adt/acl.c:1520
 #, c-format
-msgid "result of decoding conversion is too large"
-msgstr "el resultado de la conversión de codificación es demasiado grande"
+msgid "aclinsert is no longer supported"
+msgstr "aclinsert ya no está soportado"
 
-#: utils/adt/encode.c:184
+#: utils/adt/acl.c:1530
 #, c-format
-msgid "invalid hexadecimal digit: \"%c\""
-msgstr "el dígito hexadecimal no es válido: «%c»"
+msgid "aclremove is no longer supported"
+msgstr "aclremove ya no está soportado"
 
-#: utils/adt/encode.c:212
+#: utils/adt/acl.c:1616 utils/adt/acl.c:1670
 #, c-format
-msgid "invalid hexadecimal data: odd number of digits"
-msgstr "el dato hexadecimal no es válido: tiene un número impar de dígitos"
+msgid "unrecognized privilege type: \"%s\""
+msgstr "tipo de privilegio no reconocido: «%s»"
 
-#: utils/adt/encode.c:329
+#: utils/adt/acl.c:3470 utils/adt/regproc.c:103 utils/adt/regproc.c:278
 #, c-format
-msgid "unexpected \"=\" while decoding base64 sequence"
-msgstr "«=» inesperado mientras se decodificaba la secuencia base64"
+msgid "function \"%s\" does not exist"
+msgstr "no existe la función «%s»"
 
-#: utils/adt/encode.c:341
+#: utils/adt/acl.c:4946
 #, c-format
-msgid "invalid symbol \"%c\" while decoding base64 sequence"
-msgstr "símbolo «%c» no válido al decodificar secuencia base64"
+msgid "must be member of role \"%s\""
+msgstr "debe ser miembro del rol «%s»"
 
-#: utils/adt/encode.c:361
+#: utils/adt/array_expanded.c:274 utils/adt/arrayfuncs.c:935
+#: utils/adt/arrayfuncs.c:1522 utils/adt/arrayfuncs.c:3236
+#: utils/adt/arrayfuncs.c:3378 utils/adt/arrayfuncs.c:5919
+#: utils/adt/arrayfuncs.c:6260 utils/adt/arrayutils.c:94
+#: utils/adt/arrayutils.c:103 utils/adt/arrayutils.c:110
 #, c-format
-msgid "invalid base64 end sequence"
-msgstr "secuencia de término base64 no válida"
+msgid "array size exceeds the maximum allowed (%d)"
+msgstr "el tamaño del array excede el máximo permitido (%d)"
 
-#: utils/adt/encode.c:362
+#: utils/adt/array_userfuncs.c:80 utils/adt/array_userfuncs.c:467
+#: utils/adt/array_userfuncs.c:547 utils/adt/json.c:645 utils/adt/json.c:740
+#: utils/adt/json.c:778 utils/adt/jsonb.c:1115 utils/adt/jsonb.c:1144
+#: utils/adt/jsonb.c:1538 utils/adt/jsonb.c:1702 utils/adt/jsonb.c:1712
 #, c-format
-msgid "Input data is missing padding, is truncated, or is otherwise corrupted."
-msgstr "A los datos de entrada les falta relleno, o están truncados, o están corruptos de alguna otra forma."
+msgid "could not determine input data type"
+msgstr "no se pudo determinar el tipo de dato de entrada"
 
-#: utils/adt/encode.c:476 utils/adt/encode.c:541 utils/adt/jsonfuncs.c:619
-#: utils/adt/varlena.c:319 utils/adt/varlena.c:360 jsonpath_gram.y:528
-#: jsonpath_scan.l:519 jsonpath_scan.l:530 jsonpath_scan.l:540
-#: jsonpath_scan.l:582
+#: utils/adt/array_userfuncs.c:85
 #, c-format
-msgid "invalid input syntax for type %s"
-msgstr "sintaxis de entrada no válida para tipo %s"
+msgid "input data type is not an array"
+msgstr "el tipo de entrada no es un array"
 
-#: utils/adt/enum.c:100
+#: utils/adt/array_userfuncs.c:129 utils/adt/array_userfuncs.c:181
+#: utils/adt/float.c:1243 utils/adt/float.c:1317 utils/adt/float.c:3960
+#: utils/adt/float.c:3974 utils/adt/int.c:759 utils/adt/int.c:781
+#: utils/adt/int.c:795 utils/adt/int.c:809 utils/adt/int.c:840
+#: utils/adt/int.c:861 utils/adt/int.c:978 utils/adt/int.c:992
+#: utils/adt/int.c:1006 utils/adt/int.c:1039 utils/adt/int.c:1053
+#: utils/adt/int.c:1067 utils/adt/int.c:1098 utils/adt/int.c:1180
+#: utils/adt/int.c:1244 utils/adt/int.c:1312 utils/adt/int.c:1318
+#: utils/adt/int8.c:1292 utils/adt/numeric.c:1559 utils/adt/numeric.c:3435
+#: utils/adt/varbit.c:1194 utils/adt/varbit.c:1582 utils/adt/varlena.c:1097
+#: utils/adt/varlena.c:3395
 #, c-format
-msgid "unsafe use of new value \"%s\" of enum type %s"
-msgstr "uso inseguro del nuevo valor «%s» del tipo enum %s"
+msgid "integer out of range"
+msgstr "entero fuera de rango"
 
-#: utils/adt/enum.c:103
+#: utils/adt/array_userfuncs.c:136 utils/adt/array_userfuncs.c:191
 #, c-format
-msgid "New enum values must be committed before they can be used."
-msgstr "Los nuevos valores de enum deben estar comprometidos (committed) antes de que puedan usarse."
+msgid "argument must be empty or one-dimensional array"
+msgstr "el argumento debe ser vacío o un array unidimensional"
 
-#: utils/adt/enum.c:121 utils/adt/enum.c:131 utils/adt/enum.c:189
-#: utils/adt/enum.c:199
+#: utils/adt/array_userfuncs.c:273 utils/adt/array_userfuncs.c:312
+#: utils/adt/array_userfuncs.c:349 utils/adt/array_userfuncs.c:378
+#: utils/adt/array_userfuncs.c:406
 #, c-format
-msgid "invalid input value for enum %s: \"%s\""
-msgstr "la sintaxis de entrada no es válida para el enum %s: «%s»"
+msgid "cannot concatenate incompatible arrays"
+msgstr "no se pueden concatenar arrays incompatibles"
 
-#: utils/adt/enum.c:161 utils/adt/enum.c:227 utils/adt/enum.c:286
+#: utils/adt/array_userfuncs.c:274
 #, c-format
-msgid "invalid internal value for enum: %u"
-msgstr "el valor interno no es válido para enum: %u"
+msgid "Arrays with element types %s and %s are not compatible for concatenation."
+msgstr "Los arrays con elementos de tipo %s y %s son incompatibles para la concatenación."
 
-#: utils/adt/enum.c:446 utils/adt/enum.c:475 utils/adt/enum.c:515
-#: utils/adt/enum.c:535
+#: utils/adt/array_userfuncs.c:313
 #, c-format
-msgid "could not determine actual enum type"
-msgstr "no se pudo determinar el tipo enum efectivo"
+msgid "Arrays of %d and %d dimensions are not compatible for concatenation."
+msgstr "Los arrays de dimesiones %d y %d son incompatibles para la concatenación."
 
-#: utils/adt/enum.c:454 utils/adt/enum.c:483
+#: utils/adt/array_userfuncs.c:350
 #, c-format
-msgid "enum %s contains no values"
-msgstr "el enum %s no contiene valores"
+msgid "Arrays with differing element dimensions are not compatible for concatenation."
+msgstr "Los arrays con elementos de diferentes dimensiones son incompatibles para la concatenación."
 
-#: utils/adt/expandedrecord.c:99 utils/adt/expandedrecord.c:231
-#: utils/cache/typcache.c:1632 utils/cache/typcache.c:1788
-#: utils/cache/typcache.c:1918 utils/fmgr/funcapi.c:456
+#: utils/adt/array_userfuncs.c:379 utils/adt/array_userfuncs.c:407
 #, c-format
-msgid "type %s is not composite"
-msgstr "el tipo %s no es compuesto"
+msgid "Arrays with differing dimensions are not compatible for concatenation."
+msgstr "Los arrays con diferentes dimensiones son incompatibles para la concatenación."
 
-#: utils/adt/float.c:88
+#: utils/adt/array_userfuncs.c:663 utils/adt/array_userfuncs.c:815
 #, c-format
-msgid "value out of range: overflow"
-msgstr "valor fuera de rango: desbordamiento"
+msgid "searching for elements in multidimensional arrays is not supported"
+msgstr "no está soportada la búsqueda de elementos en arrays multidimensionales"
 
-#: utils/adt/float.c:96
+#: utils/adt/array_userfuncs.c:687
 #, c-format
-#| msgid "value out of range: overflow"
-msgid "value out of range: underflow"
-msgstr "valor fuera de rango: desbordamiento por abajo"
+msgid "initial position must not be null"
+msgstr "la posición inicial no debe ser null"
 
-#: utils/adt/float.c:265
+#: utils/adt/arrayfuncs.c:270 utils/adt/arrayfuncs.c:284
+#: utils/adt/arrayfuncs.c:295 utils/adt/arrayfuncs.c:317
+#: utils/adt/arrayfuncs.c:332 utils/adt/arrayfuncs.c:346
+#: utils/adt/arrayfuncs.c:352 utils/adt/arrayfuncs.c:359
+#: utils/adt/arrayfuncs.c:492 utils/adt/arrayfuncs.c:508
+#: utils/adt/arrayfuncs.c:519 utils/adt/arrayfuncs.c:534
+#: utils/adt/arrayfuncs.c:555 utils/adt/arrayfuncs.c:585
+#: utils/adt/arrayfuncs.c:592 utils/adt/arrayfuncs.c:600
+#: utils/adt/arrayfuncs.c:634 utils/adt/arrayfuncs.c:657
+#: utils/adt/arrayfuncs.c:677 utils/adt/arrayfuncs.c:789
+#: utils/adt/arrayfuncs.c:798 utils/adt/arrayfuncs.c:828
+#: utils/adt/arrayfuncs.c:843 utils/adt/arrayfuncs.c:896
 #, c-format
-msgid "\"%s\" is out of range for type real"
-msgstr "«%s» está fuera de rango para el tipo real"
+msgid "malformed array literal: \"%s\""
+msgstr "literal de array mal formado: «%s»"
 
-#: utils/adt/float.c:489
+#: utils/adt/arrayfuncs.c:271
 #, c-format
-msgid "\"%s\" is out of range for type double precision"
-msgstr "«%s» está fuera de rango para el tipo double precision"
+msgid "\"[\" must introduce explicitly-specified array dimensions."
+msgstr "Un «[» debe introducir dimensiones de array especificadas explícitamente."
 
-#: utils/adt/float.c:1268 utils/adt/float.c:1342 utils/adt/int.c:336
-#: utils/adt/int.c:874 utils/adt/int.c:896 utils/adt/int.c:910
-#: utils/adt/int.c:924 utils/adt/int.c:956 utils/adt/int.c:1194
-#: utils/adt/int8.c:1313 utils/adt/numeric.c:3553 utils/adt/numeric.c:3562
+#: utils/adt/arrayfuncs.c:285
 #, c-format
-msgid "smallint out of range"
-msgstr "smallint fuera de rango"
+msgid "Missing array dimension value."
+msgstr "Falta un valor de dimensión de array."
 
-#: utils/adt/float.c:1468 utils/adt/numeric.c:8329
+#: utils/adt/arrayfuncs.c:296 utils/adt/arrayfuncs.c:333
 #, c-format
-msgid "cannot take square root of a negative number"
-msgstr "no se puede calcular la raíz cuadrada un de número negativo"
+msgid "Missing \"%s\" after array dimensions."
+msgstr "Falta «%s» luego de las dimensiones de array."
 
-#: utils/adt/float.c:1536 utils/adt/numeric.c:3239
+#: utils/adt/arrayfuncs.c:305 utils/adt/arrayfuncs.c:2883
+#: utils/adt/arrayfuncs.c:2915 utils/adt/arrayfuncs.c:2930
 #, c-format
-msgid "zero raised to a negative power is undefined"
-msgstr "cero elevado a una potencia negativa es indefinido"
+msgid "upper bound cannot be less than lower bound"
+msgstr "el límite superior no puede ser menor que el límite inferior"
 
-#: utils/adt/float.c:1540 utils/adt/numeric.c:3245
+#: utils/adt/arrayfuncs.c:318
 #, c-format
-msgid "a negative number raised to a non-integer power yields a complex result"
-msgstr "un número negativo elevado a una potencia no positiva entrega un resultado complejo"
+msgid "Array value must start with \"{\" or dimension information."
+msgstr "El valor de array debe comenzar con «{» o información de dimensión."
 
-#: utils/adt/float.c:1614 utils/adt/float.c:1647 utils/adt/numeric.c:8993
+#: utils/adt/arrayfuncs.c:347
 #, c-format
-msgid "cannot take logarithm of zero"
-msgstr "no se puede calcular logaritmo de cero"
+msgid "Array contents must start with \"{\"."
+msgstr "El contenido del array debe empezar con «{»."
 
-#: utils/adt/float.c:1618 utils/adt/float.c:1651 utils/adt/numeric.c:8997
+#: utils/adt/arrayfuncs.c:353 utils/adt/arrayfuncs.c:360
 #, c-format
-msgid "cannot take logarithm of a negative number"
-msgstr "no se puede calcular logaritmo de un número negativo"
+msgid "Specified array dimensions do not match array contents."
+msgstr "Las dimensiones del array especificadas no coinciden con el contenido del array."
 
-#: utils/adt/float.c:1684 utils/adt/float.c:1715 utils/adt/float.c:1810
-#: utils/adt/float.c:1837 utils/adt/float.c:1865 utils/adt/float.c:1892
-#: utils/adt/float.c:2039 utils/adt/float.c:2076 utils/adt/float.c:2246
-#: utils/adt/float.c:2302 utils/adt/float.c:2367 utils/adt/float.c:2424
-#: utils/adt/float.c:2615 utils/adt/float.c:2639
+#: utils/adt/arrayfuncs.c:493 utils/adt/arrayfuncs.c:520
+#: utils/adt/rangetypes.c:2181 utils/adt/rangetypes.c:2189
+#: utils/adt/rowtypes.c:210 utils/adt/rowtypes.c:218
 #, c-format
-msgid "input is out of range"
-msgstr "la entrada está fuera de rango"
+msgid "Unexpected end of input."
+msgstr "Fin inesperado de la entrada."
 
-#: utils/adt/float.c:2706
+#: utils/adt/arrayfuncs.c:509 utils/adt/arrayfuncs.c:556
+#: utils/adt/arrayfuncs.c:586 utils/adt/arrayfuncs.c:635
 #, c-format
-msgid "setseed parameter %g is out of allowed range [-1,1]"
-msgstr "parámetro setseed %g fuera del rango permitido [-1,1]"
+msgid "Unexpected \"%c\" character."
+msgstr "Carácter «%c» inesperado."
 
-#: utils/adt/float.c:3938 utils/adt/numeric.c:1509
+#: utils/adt/arrayfuncs.c:535 utils/adt/arrayfuncs.c:658
 #, c-format
-msgid "count must be greater than zero"
-msgstr "count debe ser mayor que cero"
+msgid "Unexpected array element."
+msgstr "Elemento de array inesperado."
 
-#: utils/adt/float.c:3943 utils/adt/numeric.c:1516
+#: utils/adt/arrayfuncs.c:593
 #, c-format
-msgid "operand, lower bound, and upper bound cannot be NaN"
-msgstr "el operando, límite inferior y límite superior no pueden ser NaN"
+msgid "Unmatched \"%c\" character."
+msgstr "Carácter «%c» desemparejado."
 
-#: utils/adt/float.c:3949
+#: utils/adt/arrayfuncs.c:601 utils/adt/jsonfuncs.c:2452
 #, c-format
-msgid "lower and upper bounds must be finite"
-msgstr "los límites inferior y superior deben ser finitos"
+msgid "Multidimensional arrays must have sub-arrays with matching dimensions."
+msgstr "Los arrays multidimensionales deben tener sub-arrays con dimensiones coincidentes."
 
-#: utils/adt/float.c:3983 utils/adt/numeric.c:1529
+#: utils/adt/arrayfuncs.c:678
 #, c-format
-msgid "lower bound cannot equal upper bound"
-msgstr "el límite superior no puede ser igual al límite inferior"
+msgid "Junk after closing right brace."
+msgstr "Basura después de la llave derecha de cierre."
 
-#: utils/adt/formatting.c:532
+#: utils/adt/arrayfuncs.c:1300 utils/adt/arrayfuncs.c:3344
+#: utils/adt/arrayfuncs.c:5823
 #, c-format
-msgid "invalid format specification for an interval value"
-msgstr "especificación de formato no válida para un valor de interval"
+msgid "invalid number of dimensions: %d"
+msgstr "número incorrecto de dimensiones: %d"
 
-#: utils/adt/formatting.c:533
+#: utils/adt/arrayfuncs.c:1311
 #, c-format
-msgid "Intervals are not tied to specific calendar dates."
-msgstr "Los Interval no están ... a valores determinados de fechas de calendario."
+msgid "invalid array flags"
+msgstr "opciones de array no válidas"
 
-#: utils/adt/formatting.c:1157
+#: utils/adt/arrayfuncs.c:1319
 #, c-format
-msgid "\"EEEE\" must be the last pattern used"
-msgstr "«EEEE» debe ser el último patrón usado"
+msgid "wrong element type"
+msgstr "el tipo de elemento es erróneo"
 
-#: utils/adt/formatting.c:1165
+#: utils/adt/arrayfuncs.c:1356 utils/adt/rangetypes.c:335
+#: utils/cache/lsyscache.c:2862
 #, c-format
-msgid "\"9\" must be ahead of \"PR\""
-msgstr "«9» debe ir antes de «PR»"
+msgid "no binary input function available for type %s"
+msgstr "no hay una función binaria de entrada para el tipo %s"
 
-#: utils/adt/formatting.c:1181
+#: utils/adt/arrayfuncs.c:1496
 #, c-format
-msgid "\"0\" must be ahead of \"PR\""
-msgstr "«0» debe ir antes de «PR»"
+msgid "improper binary format in array element %d"
+msgstr "el formato binario no es válido en elemento %d de array"
 
-#: utils/adt/formatting.c:1208
+#: utils/adt/arrayfuncs.c:1577 utils/adt/rangetypes.c:340
+#: utils/cache/lsyscache.c:2895
 #, c-format
-msgid "multiple decimal points"
-msgstr "hay múltiples puntos decimales"
+msgid "no binary output function available for type %s"
+msgstr "no hay una función binaria de salida para el tipo %s"
 
-#: utils/adt/formatting.c:1212 utils/adt/formatting.c:1295
+#: utils/adt/arrayfuncs.c:2055
 #, c-format
-msgid "cannot use \"V\" and decimal point together"
-msgstr "no se puede usar «V» y un punto decimal simultáneamente"
+msgid "slices of fixed-length arrays not implemented"
+msgstr "no está implementada la obtención de segmentos de arrays de largo fijo"
 
-#: utils/adt/formatting.c:1224
+#: utils/adt/arrayfuncs.c:2233 utils/adt/arrayfuncs.c:2255
+#: utils/adt/arrayfuncs.c:2304 utils/adt/arrayfuncs.c:2543
+#: utils/adt/arrayfuncs.c:2861 utils/adt/arrayfuncs.c:5809
+#: utils/adt/arrayfuncs.c:5835 utils/adt/arrayfuncs.c:5846
+#: utils/adt/json.c:1141 utils/adt/json.c:1216 utils/adt/jsonb.c:1316
+#: utils/adt/jsonb.c:1402 utils/adt/jsonfuncs.c:4340 utils/adt/jsonfuncs.c:4490
+#: utils/adt/jsonfuncs.c:4602 utils/adt/jsonfuncs.c:4648
 #, c-format
-msgid "cannot use \"S\" twice"
-msgstr "no se puede usar «S» dos veces"
+msgid "wrong number of array subscripts"
+msgstr "número incorrecto de subíndices del array"
 
-#: utils/adt/formatting.c:1228
+#: utils/adt/arrayfuncs.c:2238 utils/adt/arrayfuncs.c:2346
+#: utils/adt/arrayfuncs.c:2607 utils/adt/arrayfuncs.c:2920
 #, c-format
-msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together"
-msgstr "no se puede usar «S» y «PL»/«MI»/«SG»/«PR» simultáneamente"
+msgid "array subscript out of range"
+msgstr "subíndice de array fuera de rango"
 
-#: utils/adt/formatting.c:1248
+#: utils/adt/arrayfuncs.c:2243
 #, c-format
-msgid "cannot use \"S\" and \"MI\" together"
-msgstr "no se puede usar «S» y «MI» simultáneamente"
+msgid "cannot assign null value to an element of a fixed-length array"
+msgstr "no se puede asignar un valor nulo a un elemento de un array de longitud fija"
 
-#: utils/adt/formatting.c:1258
+#: utils/adt/arrayfuncs.c:2808
 #, c-format
-msgid "cannot use \"S\" and \"PL\" together"
-msgstr "no se puede usar «S» y «PL» simultáneamente"
+msgid "updates on slices of fixed-length arrays not implemented"
+msgstr "no están implementadas las actualizaciones en segmentos de arrays de largo fija"
 
-#: utils/adt/formatting.c:1268
+#: utils/adt/arrayfuncs.c:2839
 #, c-format
-msgid "cannot use \"S\" and \"SG\" together"
-msgstr "no se puede usar «S» y «SG» simultáneamente"
+msgid "array slice subscript must provide both boundaries"
+msgstr "los subíndices del segmento de array deben especificar ambos bordes"
 
-#: utils/adt/formatting.c:1277
+#: utils/adt/arrayfuncs.c:2840
 #, c-format
-msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together"
-msgstr "no se puede usar «PR» y «S»/«PL»/«MI»/«SG» simultáneamente"
+msgid "When assigning to a slice of an empty array value, slice boundaries must be fully specified."
+msgstr "Cuando se asigna a un segmento de un array vacío, los bordes del segmento deben ser especificados completamente."
 
-#: utils/adt/formatting.c:1303
+#: utils/adt/arrayfuncs.c:2851 utils/adt/arrayfuncs.c:2947
 #, c-format
-msgid "cannot use \"EEEE\" twice"
-msgstr "no se puede usar «EEEE» dos veces"
+msgid "source array too small"
+msgstr "el array de origen es demasiado pequeño"
 
-#: utils/adt/formatting.c:1309
+#: utils/adt/arrayfuncs.c:3502
 #, c-format
-msgid "\"EEEE\" is incompatible with other formats"
-msgstr "«EEEE» es incompatible con otros formatos"
+msgid "null array element not allowed in this context"
+msgstr "los arrays con elementos null no son permitidos en este contexto"
 
-#: utils/adt/formatting.c:1310
+#: utils/adt/arrayfuncs.c:3604 utils/adt/arrayfuncs.c:3775
+#: utils/adt/arrayfuncs.c:4131
 #, c-format
-msgid "\"EEEE\" may only be used together with digit and decimal point patterns."
-msgstr "«EEEE» sólo puede ser usado en conjunción con patrones de dígitos y puntos decimales."
+msgid "cannot compare arrays of different element types"
+msgstr "no se pueden comparar arrays con elementos de distintos tipos"
 
-#: utils/adt/formatting.c:1392
-#, fuzzy, c-format
-#| msgid "unmatched format separator \"%c\""
-msgid "invalid datetime format separator: \"%s\""
-msgstr "separador de formato «%c» desemparejado"
+#: utils/adt/arrayfuncs.c:3953 utils/adt/rangetypes.c:1254
+#: utils/adt/rangetypes.c:1318
+#, c-format
+msgid "could not identify a hash function for type %s"
+msgstr "no se pudo identificar una función de hash para el tipo %s"
 
-#: utils/adt/formatting.c:1520
+#: utils/adt/arrayfuncs.c:4046
 #, c-format
-msgid "\"%s\" is not a number"
-msgstr "«%s» no es un número"
+msgid "could not identify an extended hash function for type %s"
+msgstr "no se pudo identificar una función de hash extendida para el tipo %s"
 
-#: utils/adt/formatting.c:1598
+#: utils/adt/arrayfuncs.c:5223
 #, c-format
-msgid "case conversion failed: %s"
-msgstr "falló la conversión de mayúsculas: %s"
+msgid "data type %s is not an array type"
+msgstr "el tipo %s no es un array"
 
-#: utils/adt/formatting.c:1663 utils/adt/formatting.c:1787
-#: utils/adt/formatting.c:1912
+#: utils/adt/arrayfuncs.c:5278
 #, c-format
-msgid "could not determine which collation to use for %s function"
-msgstr "no se pudo determinar qué ordenamiento usar para la función %s"
+msgid "cannot accumulate null arrays"
+msgstr "no se pueden acumular arrays nulos"
 
-#: utils/adt/formatting.c:2284
+#: utils/adt/arrayfuncs.c:5306
 #, c-format
-msgid "invalid combination of date conventions"
-msgstr "combinacion invalida de convenciones de fecha"
+msgid "cannot accumulate empty arrays"
+msgstr "no se pueden acumular arrays vacíos"
 
-#: utils/adt/formatting.c:2285
+#: utils/adt/arrayfuncs.c:5333 utils/adt/arrayfuncs.c:5339
 #, c-format
-msgid "Do not mix Gregorian and ISO week date conventions in a formatting template."
-msgstr " No mezclar convenciones de semana Gregorianas e ISO en una plantilla formateada"
+msgid "cannot accumulate arrays of different dimensionality"
+msgstr "no se pueden acumular arrays de distinta dimensionalidad"
 
-#: utils/adt/formatting.c:2308
+#: utils/adt/arrayfuncs.c:5707 utils/adt/arrayfuncs.c:5747
 #, c-format
-msgid "conflicting values for \"%s\" field in formatting string"
-msgstr "valores en conflicto para le campo \"%s\" en cadena de formato"
+msgid "dimension array or low bound array cannot be null"
+msgstr "el array de dimensiones o el array de límites inferiores debe ser no nulo"
 
-#: utils/adt/formatting.c:2311
+#: utils/adt/arrayfuncs.c:5810 utils/adt/arrayfuncs.c:5836
 #, c-format
-msgid "This value contradicts a previous setting for the same field type."
-msgstr "Este valor se contradice con un seteo previo para el mismo tipo de campo"
+msgid "Dimension array must be one dimensional."
+msgstr "El array de dimensiones debe ser unidimensional."
 
-#: utils/adt/formatting.c:2382
+#: utils/adt/arrayfuncs.c:5815 utils/adt/arrayfuncs.c:5841
 #, c-format
-msgid "source string too short for \"%s\" formatting field"
-msgstr "cadena de texto fuente muy corta para campo formateado \"%s\" "
+msgid "dimension values cannot be null"
+msgstr "los valores de dimensión no pueden ser null"
 
-#: utils/adt/formatting.c:2385
+#: utils/adt/arrayfuncs.c:5847
 #, c-format
-msgid "Field requires %d characters, but only %d remain."
-msgstr "El campo requiere %d caractéres, pero solo quedan %d."
+msgid "Low bound array has different size than dimensions array."
+msgstr "El array de límites inferiores tiene tamaño diferente que el array de dimensiones."
 
-#: utils/adt/formatting.c:2388 utils/adt/formatting.c:2403
+#: utils/adt/arrayfuncs.c:6125
 #, c-format
-msgid "If your source string is not fixed-width, try using the \"FM\" modifier."
-msgstr "Si su cadena de texto no es de ancho modificado, trate de usar el modificador \"FM\" "
+msgid "removing elements from multidimensional arrays is not supported"
+msgstr "la eliminación de elementos desde arrays multidimensionales no está soportada"
 
-#: utils/adt/formatting.c:2398 utils/adt/formatting.c:2412
-#: utils/adt/formatting.c:2635
+#: utils/adt/arrayfuncs.c:6402
 #, c-format
-msgid "invalid value \"%s\" for \"%s\""
-msgstr "el valor «%s» no es válido para «%s»"
+msgid "thresholds must be one-dimensional array"
+msgstr "los umbrales deben ser un array unidimensional"
 
-#: utils/adt/formatting.c:2400
+#: utils/adt/arrayfuncs.c:6407
 #, c-format
-msgid "Field requires %d characters, but only %d could be parsed."
-msgstr "El campo requiere %d caracteres, pero sólo %d pudieron ser analizados."
+msgid "thresholds array must not contain NULLs"
+msgstr "el array de umbrales no debe contener nulos"
 
-#: utils/adt/formatting.c:2414
+#: utils/adt/arrayutils.c:140
 #, c-format
-msgid "Value must be an integer."
-msgstr "El valor debe ser un entero."
+msgid "array lower bound is too large: %d"
+msgstr ""
 
-#: utils/adt/formatting.c:2419
+#: utils/adt/arrayutils.c:240
 #, c-format
-msgid "value for \"%s\" in source string is out of range"
-msgstr "el valor para «%s» en la cadena de origen está fuera de rango"
+msgid "typmod array must be type cstring[]"
+msgstr "el array de typmod debe ser de tipo cstring[]"
 
-#: utils/adt/formatting.c:2421
+#: utils/adt/arrayutils.c:245
 #, c-format
-msgid "Value must be in the range %d to %d."
-msgstr "El valor debe estar en el rango de %d a %d."
+msgid "typmod array must be one-dimensional"
+msgstr "array de typmod debe ser unidimensional"
 
-#: utils/adt/formatting.c:2637
+#: utils/adt/arrayutils.c:250
 #, c-format
-msgid "The given value did not match any of the allowed values for this field."
-msgstr "El valor dado no concuerda con ninguno de los valores permitidos para este campo."
+msgid "typmod array must not contain nulls"
+msgstr "los arrays de typmod no deben contener valores nulos"
 
-#: utils/adt/formatting.c:2854 utils/adt/formatting.c:2874
-#: utils/adt/formatting.c:2894 utils/adt/formatting.c:2914
-#: utils/adt/formatting.c:2933 utils/adt/formatting.c:2952
-#: utils/adt/formatting.c:2976 utils/adt/formatting.c:2994
-#: utils/adt/formatting.c:3012 utils/adt/formatting.c:3030
-#: utils/adt/formatting.c:3047 utils/adt/formatting.c:3064
+#: utils/adt/ascii.c:76
 #, c-format
-msgid "localized string format value too long"
-msgstr "cadena traducida en cadena de formato es demasiado larga"
+msgid "encoding conversion from %s to ASCII not supported"
+msgstr "la conversión de codificación de %s a ASCII no está soportada"
 
-#: utils/adt/formatting.c:3298
+#. translator: first %s is inet or cidr
+#: utils/adt/bool.c:153 utils/adt/cash.c:277 utils/adt/datetime.c:3757
+#: utils/adt/float.c:187 utils/adt/float.c:271 utils/adt/float.c:295
+#: utils/adt/float.c:412 utils/adt/float.c:497 utils/adt/float.c:525
+#: utils/adt/geo_ops.c:220 utils/adt/geo_ops.c:230 utils/adt/geo_ops.c:242
+#: utils/adt/geo_ops.c:274 utils/adt/geo_ops.c:316 utils/adt/geo_ops.c:326
+#: utils/adt/geo_ops.c:974 utils/adt/geo_ops.c:1378 utils/adt/geo_ops.c:1413
+#: utils/adt/geo_ops.c:1421 utils/adt/geo_ops.c:3476 utils/adt/geo_ops.c:4645
+#: utils/adt/geo_ops.c:4660 utils/adt/geo_ops.c:4667 utils/adt/int8.c:126
+#: utils/adt/jsonpath.c:182 utils/adt/mac.c:94 utils/adt/mac8.c:93
+#: utils/adt/mac8.c:166 utils/adt/mac8.c:184 utils/adt/mac8.c:202
+#: utils/adt/mac8.c:221 utils/adt/network.c:100 utils/adt/numeric.c:601
+#: utils/adt/numeric.c:628 utils/adt/numeric.c:6001 utils/adt/numeric.c:6025
+#: utils/adt/numeric.c:6049 utils/adt/numeric.c:6882 utils/adt/numeric.c:6908
+#: utils/adt/numutils.c:116 utils/adt/numutils.c:126 utils/adt/numutils.c:170
+#: utils/adt/numutils.c:246 utils/adt/numutils.c:322 utils/adt/oid.c:44
+#: utils/adt/oid.c:58 utils/adt/oid.c:64 utils/adt/oid.c:86
+#: utils/adt/pg_lsn.c:73 utils/adt/tid.c:74 utils/adt/tid.c:82
+#: utils/adt/tid.c:90 utils/adt/timestamp.c:494 utils/adt/uuid.c:136
+#: utils/adt/xid8funcs.c:346
 #, c-format
-msgid "unmatched format separator \"%c\""
-msgstr "separador de formato «%c» desemparejado"
+msgid "invalid input syntax for type %s: \"%s\""
+msgstr "la sintaxis de entrada no es válida para tipo %s: «%s»"
 
-#: utils/adt/formatting.c:3453 utils/adt/formatting.c:3797
+#: utils/adt/cash.c:215 utils/adt/cash.c:240 utils/adt/cash.c:250
+#: utils/adt/cash.c:290 utils/adt/int8.c:118 utils/adt/numutils.c:140
+#: utils/adt/numutils.c:147 utils/adt/numutils.c:240 utils/adt/numutils.c:316
+#: utils/adt/oid.c:70 utils/adt/oid.c:109
 #, c-format
-msgid "formatting field \"%s\" is only supported in to_char"
-msgstr "el campo de formato «%s» sólo está soportado en to_char"
+msgid "value \"%s\" is out of range for type %s"
+msgstr "el valor «%s» está fuera de rango para el tipo %s"
 
-#: utils/adt/formatting.c:3628
+#: 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:104 utils/adt/int.c:824 utils/adt/int.c:940
+#: utils/adt/int.c:1020 utils/adt/int.c:1082 utils/adt/int.c:1120
+#: utils/adt/int.c:1148 utils/adt/int8.c:593 utils/adt/int8.c:651
+#: utils/adt/int8.c:978 utils/adt/int8.c:1058 utils/adt/int8.c:1120
+#: utils/adt/int8.c:1200 utils/adt/numeric.c:7446 utils/adt/numeric.c:7736
+#: utils/adt/numeric.c:9318 utils/adt/timestamp.c:3275
 #, c-format
-msgid "invalid input string for \"Y,YYY\""
-msgstr "cadena de entrada no válida para «Y,YYY»"
+msgid "division by zero"
+msgstr "división por cero"
 
-#: utils/adt/formatting.c:3714
+#: utils/adt/char.c:169
 #, c-format
-#| msgid "source string too short for \"%s\" formatting field"
-msgid "input string is too short for datetime format"
-msgstr "cadena de entrada muy corta para formato de fecha/hora"
+msgid "\"char\" out of range"
+msgstr "«char» fuera de rango"
 
-#: utils/adt/formatting.c:3722
+#: utils/adt/date.c:61 utils/adt/timestamp.c:95 utils/adt/varbit.c:104
+#: utils/adt/varchar.c:48
 #, c-format
-msgid "trailing characters remain in input string after datetime format"
-msgstr "quedan caracteres al final de la cadena de entrada después del formato fecha/hora"
+msgid "invalid type modifier"
+msgstr "el modificador de tipo no es válido"
 
-#: utils/adt/formatting.c:4267
+#: utils/adt/date.c:73
 #, c-format
-msgid "missing time zone in input string for type timestamptz"
-msgstr "falta el huso horario en la cadena de entrada para el tipo timestamptz"
+msgid "TIME(%d)%s precision must not be negative"
+msgstr "la precisión de TIME(%d)%s no debe ser negativa"
 
-#: utils/adt/formatting.c:4273
+#: utils/adt/date.c:79
 #, c-format
-#| msgid "timestamp out of range"
-msgid "timestamptz out of range"
-msgstr "timestamptz fuera de rango"
+msgid "TIME(%d)%s precision reduced to maximum allowed, %d"
+msgstr "la precisión de TIME(%d)%s fue reducida al máximo permitido, %d"
 
-#: utils/adt/formatting.c:4301
+#: utils/adt/date.c:158 utils/adt/date.c:166 utils/adt/formatting.c:4253
+#: utils/adt/formatting.c:4262 utils/adt/formatting.c:4368
+#: utils/adt/formatting.c:4378
 #, c-format
-msgid "datetime format is zoned but not timed"
-msgstr "el formato de fecha/hora tiene huso horario pero no hora"
+msgid "date out of range: \"%s\""
+msgstr "fecha fuera de rango: «%s»"
 
-#: utils/adt/formatting.c:4353
+#: utils/adt/date.c:213 utils/adt/date.c:525 utils/adt/date.c:549
+#: utils/adt/xml.c:2210
 #, c-format
-msgid "missing time zone in input string for type timetz"
-msgstr "falta el huso horario en la cadena de entrada del tipo timetz"
+msgid "date out of range"
+msgstr "fecha fuera de rango"
 
-#: utils/adt/formatting.c:4359
+#: utils/adt/date.c:259 utils/adt/timestamp.c:574
 #, c-format
-#| msgid "time out of range"
-msgid "timetz out of range"
-msgstr "timetz fuera de rango"
+msgid "date field value out of range: %d-%02d-%02d"
+msgstr "valor en campo de fecha fuera de rango: %d-%02d-%02d"
 
-#: utils/adt/formatting.c:4385
+#: utils/adt/date.c:266 utils/adt/date.c:275 utils/adt/timestamp.c:580
 #, c-format
-msgid "datetime format is not dated and not timed"
-msgstr "el formato de fecha/hora no tiene fecha ni hora"
+msgid "date out of range: %d-%02d-%02d"
+msgstr "fecha fuera de rango: %d-%02d-%02d"
 
-#: utils/adt/formatting.c:4518
+#: utils/adt/date.c:313 utils/adt/date.c:336 utils/adt/date.c:362
+#: utils/adt/date.c:1142 utils/adt/date.c:1188 utils/adt/date.c:1744
+#: utils/adt/date.c:1775 utils/adt/date.c:1804 utils/adt/date.c:2636
+#: utils/adt/datetime.c:1655 utils/adt/formatting.c:4110
+#: utils/adt/formatting.c:4142 utils/adt/formatting.c:4222
+#: utils/adt/formatting.c:4344 utils/adt/json.c:418 utils/adt/json.c:457
+#: utils/adt/timestamp.c:222 utils/adt/timestamp.c:254
+#: utils/adt/timestamp.c:692 utils/adt/timestamp.c:701
+#: utils/adt/timestamp.c:779 utils/adt/timestamp.c:812
+#: utils/adt/timestamp.c:2854 utils/adt/timestamp.c:2875
+#: utils/adt/timestamp.c:2888 utils/adt/timestamp.c:2897
+#: utils/adt/timestamp.c:2905 utils/adt/timestamp.c:2960
+#: utils/adt/timestamp.c:2983 utils/adt/timestamp.c:2996
+#: utils/adt/timestamp.c:3007 utils/adt/timestamp.c:3015
+#: utils/adt/timestamp.c:3675 utils/adt/timestamp.c:3800
+#: utils/adt/timestamp.c:3841 utils/adt/timestamp.c:3931
+#: utils/adt/timestamp.c:3975 utils/adt/timestamp.c:4078
+#: utils/adt/timestamp.c:4563 utils/adt/timestamp.c:4759
+#: utils/adt/timestamp.c:5086 utils/adt/timestamp.c:5100
+#: utils/adt/timestamp.c:5105 utils/adt/timestamp.c:5119
+#: utils/adt/timestamp.c:5152 utils/adt/timestamp.c:5239
+#: utils/adt/timestamp.c:5280 utils/adt/timestamp.c:5284
+#: utils/adt/timestamp.c:5353 utils/adt/timestamp.c:5357
+#: utils/adt/timestamp.c:5371 utils/adt/timestamp.c:5405 utils/adt/xml.c:2232
+#: utils/adt/xml.c:2239 utils/adt/xml.c:2259 utils/adt/xml.c:2266
 #, c-format
-msgid "hour \"%d\" is invalid for the 12-hour clock"
-msgstr "la hora «%d» no es válida para el reloj de 12 horas"
+msgid "timestamp out of range"
+msgstr "timestamp fuera de rango"
 
-#: utils/adt/formatting.c:4520
+#: utils/adt/date.c:500
 #, c-format
-msgid "Use the 24-hour clock, or give an hour between 1 and 12."
-msgstr "Use el reloj de 24 horas, o entregue una hora entre 1 y 12."
+msgid "cannot subtract infinite dates"
+msgstr "no se pueden restar fechas infinitas"
 
-#: utils/adt/formatting.c:4628
+#: utils/adt/date.c:598 utils/adt/date.c:661 utils/adt/date.c:697
+#: utils/adt/date.c:2673 utils/adt/date.c:2683
 #, c-format
-msgid "cannot calculate day of year without year information"
-msgstr "no se puede calcular el día del año sin conocer el año"
+msgid "date out of range for timestamp"
+msgstr "fecha fuera de rango para timestamp"
 
-#: utils/adt/formatting.c:5547
+#: utils/adt/date.c:1361 utils/adt/date.c:2131 utils/adt/formatting.c:4430
 #, c-format
-msgid "\"EEEE\" not supported for input"
-msgstr "«EEEE» no está soportado en la entrada"
+msgid "time out of range"
+msgstr "hora fuera de rango"
 
-#: utils/adt/formatting.c:5559
+#: utils/adt/date.c:1413 utils/adt/timestamp.c:589
 #, c-format
-msgid "\"RN\" not supported for input"
-msgstr "«RN» no está soportado en la entrada"
+msgid "time field value out of range: %d:%02d:%02g"
+msgstr "valor en campo de hora fuera de rango: %d:%02d:%02g"
 
-#: utils/adt/genfile.c:75
+#: utils/adt/date.c:1933 utils/adt/date.c:2435 utils/adt/float.c:1071
+#: utils/adt/float.c:1140 utils/adt/int.c:616 utils/adt/int.c:663
+#: utils/adt/int.c:698 utils/adt/int8.c:492 utils/adt/numeric.c:2197
+#: utils/adt/timestamp.c:3324 utils/adt/timestamp.c:3355
+#: utils/adt/timestamp.c:3386
 #, c-format
-msgid "reference to parent directory (\"..\") not allowed"
-msgstr "no se permiten referencias a directorios padre («..»)"
+msgid "invalid preceding or following size in window function"
+msgstr "tamaño «preceding» o «following» no válido en ventana deslizante"
 
-#: utils/adt/genfile.c:86
+#: utils/adt/date.c:2018 utils/adt/date.c:2031
 #, c-format
-msgid "absolute path not allowed"
-msgstr "no se permiten rutas absolutas"
+msgid "\"time\" units \"%s\" not recognized"
+msgstr "las unidades de «time» «%s» no son reconocidas"
 
-#: utils/adt/genfile.c:91
+#: utils/adt/date.c:2139
 #, c-format
-msgid "path must be in or below the current directory"
-msgstr "la ruta debe estar en o debajo del directorio actual"
+msgid "time zone displacement out of range"
+msgstr "desplazamiento de huso horario fuera de rango"
 
-#: utils/adt/genfile.c:116 utils/adt/oracle_compat.c:185
-#: utils/adt/oracle_compat.c:283 utils/adt/oracle_compat.c:759
-#: utils/adt/oracle_compat.c:1054
+#: utils/adt/date.c:2768 utils/adt/date.c:2781
 #, c-format
-msgid "requested length too large"
-msgstr "el tamaño solicitado es demasiado grande"
+msgid "\"time with time zone\" units \"%s\" not recognized"
+msgstr "las unidades de «timestamp with time zone» «%s» no son reconocidas"
 
-#: utils/adt/genfile.c:133
+#: utils/adt/date.c:2854 utils/adt/datetime.c:906 utils/adt/datetime.c:1813
+#: utils/adt/datetime.c:4601 utils/adt/timestamp.c:513
+#: utils/adt/timestamp.c:540 utils/adt/timestamp.c:4161
+#: utils/adt/timestamp.c:5111 utils/adt/timestamp.c:5363
 #, c-format
-msgid "could not seek in file \"%s\": %m"
-msgstr "no se pudo posicionar (seek) el archivo «%s»: %m"
-
-#: utils/adt/genfile.c:174
-#, fuzzy, c-format
-#| msgid "requested length too large"
-msgid "file length too large"
-msgstr "el tamaño solicitado es demasiado grande"
+msgid "time zone \"%s\" not recognized"
+msgstr "el huso horario «%s» no es reconocido"
 
-#: utils/adt/genfile.c:251
+#: utils/adt/date.c:2886 utils/adt/timestamp.c:5141 utils/adt/timestamp.c:5394
 #, c-format
-msgid "must be superuser to read files with adminpack 1.0"
-msgstr "Debe ser superusuario leer archivos con adminpack 1.0."
+msgid "interval time zone \"%s\" must not include months or days"
+msgstr "el intervalo de huso horario «%s» no debe especificar meses o días"
 
-#: utils/adt/geo_ops.c:979 utils/adt/geo_ops.c:1025
+#: utils/adt/datetime.c:3730 utils/adt/datetime.c:3737
 #, c-format
-msgid "invalid line specification: A and B cannot both be zero"
-msgstr "especificación de línea no válida: A y B no pueden ser ambos cero"
+msgid "date/time field value out of range: \"%s\""
+msgstr "valor de hora/fecha fuera de rango: «%s»"
 
-#: utils/adt/geo_ops.c:987 utils/adt/geo_ops.c:1090
+#: utils/adt/datetime.c:3739
 #, c-format
-msgid "invalid line specification: must be two distinct points"
-msgstr "especificación de línea no válida: deben ser dos puntos distintos"
+msgid "Perhaps you need a different \"datestyle\" setting."
+msgstr "Quizás necesite una configuración diferente de «datestyle»."
 
-#: utils/adt/geo_ops.c:1399 utils/adt/geo_ops.c:3486 utils/adt/geo_ops.c:4354
-#: utils/adt/geo_ops.c:5248
+#: utils/adt/datetime.c:3744
 #, c-format
-msgid "too many points requested"
-msgstr "se pidieron demasiados puntos"
+msgid "interval field value out of range: \"%s\""
+msgstr "valor de interval fuera de rango: «%s»"
 
-#: utils/adt/geo_ops.c:1461
+#: utils/adt/datetime.c:3750
 #, c-format
-msgid "invalid number of points in external \"path\" value"
-msgstr "el número de puntos no es válido en el valor «path» externo"
+msgid "time zone displacement out of range: \"%s\""
+msgstr "desplazamiento de huso horario fuera de rango: «%s»"
 
-#: utils/adt/geo_ops.c:2537
+#: utils/adt/datetime.c:4603
 #, c-format
-msgid "function \"dist_lb\" not implemented"
-msgstr "la función «dist_lb» no está implementada"
-
-#: utils/adt/geo_ops.c:2556
-#, fuzzy, c-format
-#| msgid "function \"dist_lb\" not implemented"
-msgid "function \"dist_bl\" not implemented"
-msgstr "la función «dist_lb» no está implementada"
+msgid "This time zone name appears in the configuration file for time zone abbreviation \"%s\"."
+msgstr "Este nombre de huso horario aparece en el archivo de configuración para abreviaciones de husos horarios «%s»."
 
-#: utils/adt/geo_ops.c:2975
+#: utils/adt/datum.c:89 utils/adt/datum.c:101
 #, c-format
-msgid "function \"close_sl\" not implemented"
-msgstr "la función «close_sl» no está implementada"
+msgid "invalid Datum pointer"
+msgstr "puntero a Datum no válido"
 
-#: utils/adt/geo_ops.c:3122
+#: utils/adt/dbsize.c:759 utils/adt/dbsize.c:827
 #, c-format
-msgid "function \"close_lb\" not implemented"
-msgstr "la función «close_lb» no está implementada"
+msgid "invalid size: \"%s\""
+msgstr "tamaño no válido: «%s»"
 
-#: utils/adt/geo_ops.c:3533
+#: utils/adt/dbsize.c:828
 #, c-format
-msgid "invalid number of points in external \"polygon\" value"
-msgstr "el número de puntos no es válido en «polygon» externo"
+msgid "Invalid size unit: \"%s\"."
+msgstr "Nombre de unidad de tamaño no válido: «%s»."
 
-#: utils/adt/geo_ops.c:4069
+#: utils/adt/dbsize.c:829
 #, c-format
-msgid "function \"poly_distance\" not implemented"
-msgstr "la función «poly_distance» no está implementada"
+msgid "Valid units are \"bytes\", \"kB\", \"MB\", \"GB\", and \"TB\"."
+msgstr "Unidades válidas son «bytes«, «kB», «MB», «GB» y «TB»."
 
-#: utils/adt/geo_ops.c:4446
+#: utils/adt/domains.c:92
 #, c-format
-msgid "function \"path_center\" not implemented"
-msgstr "la función «path_center» no está implementada"
+msgid "type %s is not a domain"
+msgstr "tipo «%s» no es un dominio"
 
-#: utils/adt/geo_ops.c:4463
+#: utils/adt/encode.c:64 utils/adt/encode.c:112
 #, c-format
-msgid "open path cannot be converted to polygon"
-msgstr "no se puede convertir un camino abierto en polygon"
+msgid "unrecognized encoding: \"%s\""
+msgstr "no se reconoce la codificación: «%s»"
 
-#: utils/adt/geo_ops.c:4713
-#, c-format
-msgid "invalid radius in external \"circle\" value"
-msgstr "el radio no es válido en el valor «circle» externo"
+#: utils/adt/encode.c:78
+#, fuzzy, c-format
+#| msgid "result of decoding conversion is too large"
+msgid "result of encoding conversion is too large"
+msgstr "el resultado de la conversión de codificación es demasiado grande"
 
-#: utils/adt/geo_ops.c:5234
+#: utils/adt/encode.c:126
 #, c-format
-msgid "cannot convert circle with radius zero to polygon"
-msgstr "no se puede convertir un círculo de radio cero a polygon"
+msgid "result of decoding conversion is too large"
+msgstr "el resultado de la conversión de codificación es demasiado grande"
 
-#: utils/adt/geo_ops.c:5239
+#: utils/adt/encode.c:184
 #, c-format
-msgid "must request at least 2 points"
-msgstr "debe pedir al menos 2 puntos"
+msgid "invalid hexadecimal digit: \"%c\""
+msgstr "el dígito hexadecimal no es válido: «%c»"
 
-#: utils/adt/int.c:164
+#: utils/adt/encode.c:212
 #, c-format
-msgid "int2vector has too many elements"
-msgstr "int2vector tiene demasiados elementos"
+msgid "invalid hexadecimal data: odd number of digits"
+msgstr "el dato hexadecimal no es válido: tiene un número impar de dígitos"
 
-#: utils/adt/int.c:239
+#: utils/adt/encode.c:329
 #, c-format
-msgid "invalid int2vector data"
-msgstr "datos de int2vector no válidos"
+msgid "unexpected \"=\" while decoding base64 sequence"
+msgstr "«=» inesperado mientras se decodificaba la secuencia base64"
 
-#: utils/adt/int.c:245 utils/adt/oid.c:215 utils/adt/oid.c:296
+#: utils/adt/encode.c:341
 #, c-format
-msgid "oidvector has too many elements"
-msgstr "el oidvector tiene demasiados elementos"
+msgid "invalid symbol \"%c\" while decoding base64 sequence"
+msgstr "símbolo «%c» no válido al decodificar secuencia base64"
 
-#: utils/adt/int.c:1510 utils/adt/int8.c:1439 utils/adt/numeric.c:1417
-#: utils/adt/timestamp.c:5435 utils/adt/timestamp.c:5515
+#: utils/adt/encode.c:361
 #, c-format
-msgid "step size cannot equal zero"
-msgstr "el tamaño de paso no puede ser cero"
+msgid "invalid base64 end sequence"
+msgstr "secuencia de término base64 no válida"
 
-#: utils/adt/int8.c:527 utils/adt/int8.c:550 utils/adt/int8.c:564
-#: utils/adt/int8.c:578 utils/adt/int8.c:609 utils/adt/int8.c:633
-#: utils/adt/int8.c:715 utils/adt/int8.c:783 utils/adt/int8.c:789
-#: utils/adt/int8.c:815 utils/adt/int8.c:829 utils/adt/int8.c:853
-#: utils/adt/int8.c:866 utils/adt/int8.c:935 utils/adt/int8.c:949
-#: utils/adt/int8.c:963 utils/adt/int8.c:994 utils/adt/int8.c:1016
-#: utils/adt/int8.c:1030 utils/adt/int8.c:1044 utils/adt/int8.c:1077
-#: utils/adt/int8.c:1091 utils/adt/int8.c:1105 utils/adt/int8.c:1136
-#: utils/adt/int8.c:1158 utils/adt/int8.c:1172 utils/adt/int8.c:1186
-#: utils/adt/int8.c:1348 utils/adt/int8.c:1383 utils/adt/numeric.c:3508
-#: utils/adt/varbit.c:1656
+#: utils/adt/encode.c:362
 #, c-format
-msgid "bigint out of range"
-msgstr "bigint fuera de rango"
+msgid "Input data is missing padding, is truncated, or is otherwise corrupted."
+msgstr "A los datos de entrada les falta relleno, o están truncados, o están corruptos de alguna otra forma."
 
-#: utils/adt/int8.c:1396
+#: utils/adt/enum.c:100
 #, c-format
-msgid "OID out of range"
-msgstr "OID fuera de rango"
+msgid "unsafe use of new value \"%s\" of enum type %s"
+msgstr "uso inseguro del nuevo valor «%s» del tipo enum %s"
 
-#: utils/adt/json.c:271 utils/adt/jsonb.c:757
+#: utils/adt/enum.c:103
 #, c-format
-msgid "key value must be scalar, not array, composite, or json"
-msgstr "el valor de llave debe ser escalar, no array, composite o json"
+msgid "New enum values must be committed before they can be used."
+msgstr "Los nuevos valores de enum deben estar comprometidos (committed) antes de que puedan usarse."
 
-#: utils/adt/json.c:892 utils/adt/json.c:902 utils/fmgr/funcapi.c:1812
+#: utils/adt/enum.c:121 utils/adt/enum.c:131 utils/adt/enum.c:189
+#: utils/adt/enum.c:199
 #, c-format
-msgid "could not determine data type for argument %d"
-msgstr "no se pudo determinar el tipo de dato para el argumento %d"
+msgid "invalid input value for enum %s: \"%s\""
+msgstr "la sintaxis de entrada no es válida para el enum %s: «%s»"
 
-#: utils/adt/json.c:926 utils/adt/jsonb.c:1728
+#: utils/adt/enum.c:161 utils/adt/enum.c:227 utils/adt/enum.c:286
 #, c-format
-msgid "field name must not be null"
-msgstr "el nombre de campo no debe ser null"
+msgid "invalid internal value for enum: %u"
+msgstr "el valor interno no es válido para enum: %u"
 
-#: utils/adt/json.c:1010 utils/adt/jsonb.c:1178
+#: utils/adt/enum.c:446 utils/adt/enum.c:475 utils/adt/enum.c:515
+#: utils/adt/enum.c:535
 #, c-format
-msgid "argument list must have even number of elements"
-msgstr "la lista de argumentos debe tener un número par de elementos"
+msgid "could not determine actual enum type"
+msgstr "no se pudo determinar el tipo enum efectivo"
 
-#. translator: %s is a SQL function name
-#: utils/adt/json.c:1012 utils/adt/jsonb.c:1180
+#: utils/adt/enum.c:454 utils/adt/enum.c:483
 #, c-format
-msgid "The arguments of %s must consist of alternating keys and values."
-msgstr "El argumento de %s debe consistir de llaves y valores alternados."
+msgid "enum %s contains no values"
+msgstr "el enum %s no contiene valores"
 
-#: utils/adt/json.c:1028
+#: utils/adt/float.c:88
 #, c-format
-msgid "argument %d cannot be null"
-msgstr "el argumento %d no puede ser null"
+msgid "value out of range: overflow"
+msgstr "valor fuera de rango: desbordamiento"
 
-#: utils/adt/json.c:1029
+#: utils/adt/float.c:96
 #, c-format
-msgid "Object keys should be text."
-msgstr "Las llaves de un objeto deben ser de texto."
+msgid "value out of range: underflow"
+msgstr "valor fuera de rango: desbordamiento por abajo"
 
-#: utils/adt/json.c:1135 utils/adt/jsonb.c:1310
+#: utils/adt/float.c:265
 #, c-format
-msgid "array must have two columns"
-msgstr "un array debe tener dos columnas"
+msgid "\"%s\" is out of range for type real"
+msgstr "«%s» está fuera de rango para el tipo real"
 
-#: utils/adt/json.c:1159 utils/adt/json.c:1243 utils/adt/jsonb.c:1334
-#: utils/adt/jsonb.c:1429
+#: utils/adt/float.c:489
 #, c-format
-msgid "null value not allowed for object key"
-msgstr "no se permite el valor nulo como llave en un objeto"
+msgid "\"%s\" is out of range for type double precision"
+msgstr "«%s» está fuera de rango para el tipo double precision"
 
-#: utils/adt/json.c:1232 utils/adt/jsonb.c:1418
+#: utils/adt/float.c:1268 utils/adt/float.c:1342 utils/adt/int.c:336
+#: utils/adt/int.c:874 utils/adt/int.c:896 utils/adt/int.c:910
+#: utils/adt/int.c:924 utils/adt/int.c:956 utils/adt/int.c:1194
+#: utils/adt/int8.c:1313 utils/adt/numeric.c:3553 utils/adt/numeric.c:3562
 #, c-format
-msgid "mismatched array dimensions"
-msgstr "las dimensiones de array no coinciden"
+msgid "smallint out of range"
+msgstr "smallint fuera de rango"
 
-#: utils/adt/jsonb.c:287
+#: utils/adt/float.c:1468 utils/adt/numeric.c:8329
 #, c-format
-msgid "string too long to represent as jsonb string"
-msgstr "la cadena es demasiado larga para representarla como cadena jsonb."
+msgid "cannot take square root of a negative number"
+msgstr "no se puede calcular la raíz cuadrada un de número negativo"
 
-#: utils/adt/jsonb.c:288
+#: utils/adt/float.c:1536 utils/adt/numeric.c:3239
 #, c-format
-msgid "Due to an implementation restriction, jsonb strings cannot exceed %d bytes."
-msgstr "Debido a una restricción de la implementación, las cadenas en jsonb no pueden exceder los %d bytes."
+msgid "zero raised to a negative power is undefined"
+msgstr "cero elevado a una potencia negativa es indefinido"
 
-#: utils/adt/jsonb.c:1193
+#: utils/adt/float.c:1540 utils/adt/numeric.c:3245
 #, c-format
-msgid "argument %d: key must not be null"
-msgstr "argumento %d: la llave no puede ser null"
+msgid "a negative number raised to a non-integer power yields a complex result"
+msgstr "un número negativo elevado a una potencia no positiva entrega un resultado complejo"
 
-#: utils/adt/jsonb.c:1781
+#: utils/adt/float.c:1614 utils/adt/float.c:1647 utils/adt/numeric.c:8993
 #, c-format
-msgid "object keys must be strings"
-msgstr "las llaves de un objeto deben ser cadenas"
+msgid "cannot take logarithm of zero"
+msgstr "no se puede calcular logaritmo de cero"
 
-#: utils/adt/jsonb.c:1944
+#: utils/adt/float.c:1618 utils/adt/float.c:1651 utils/adt/numeric.c:8997
 #, c-format
-msgid "cannot cast jsonb null to type %s"
-msgstr "no se puede convertir un null jsonb a tipo %s"
+msgid "cannot take logarithm of a negative number"
+msgstr "no se puede calcular logaritmo de un número negativo"
 
-#: utils/adt/jsonb.c:1945
+#: utils/adt/float.c:1684 utils/adt/float.c:1715 utils/adt/float.c:1810
+#: utils/adt/float.c:1837 utils/adt/float.c:1865 utils/adt/float.c:1892
+#: utils/adt/float.c:2039 utils/adt/float.c:2076 utils/adt/float.c:2246
+#: utils/adt/float.c:2302 utils/adt/float.c:2367 utils/adt/float.c:2424
+#: utils/adt/float.c:2615 utils/adt/float.c:2639
 #, c-format
-msgid "cannot cast jsonb string to type %s"
-msgstr "no se puede convertir un string jsonb a tipo %s"
+msgid "input is out of range"
+msgstr "la entrada está fuera de rango"
 
-#: utils/adt/jsonb.c:1946
+#: utils/adt/float.c:2706
 #, c-format
-msgid "cannot cast jsonb numeric to type %s"
-msgstr "no se puede convertir un numérico jsonb a tipo %s"
+msgid "setseed parameter %g is out of allowed range [-1,1]"
+msgstr "parámetro setseed %g fuera del rango permitido [-1,1]"
 
-#: utils/adt/jsonb.c:1947
+#: utils/adt/float.c:3938 utils/adt/numeric.c:1509
 #, c-format
-msgid "cannot cast jsonb boolean to type %s"
-msgstr "no se puede convertir un booleano jsonb a tipo %s"
+msgid "count must be greater than zero"
+msgstr "count debe ser mayor que cero"
 
-#: utils/adt/jsonb.c:1948
+#: utils/adt/float.c:3943 utils/adt/numeric.c:1516
 #, c-format
-msgid "cannot cast jsonb array to type %s"
-msgstr "no se puede convertir un array jsonb a tipo %s"
+msgid "operand, lower bound, and upper bound cannot be NaN"
+msgstr "el operando, límite inferior y límite superior no pueden ser NaN"
 
-#: utils/adt/jsonb.c:1949
+#: utils/adt/float.c:3949
 #, c-format
-msgid "cannot cast jsonb object to type %s"
-msgstr "no se puede convertir un objeto jsonb a tipo %s"
+msgid "lower and upper bounds must be finite"
+msgstr "los límites inferior y superior deben ser finitos"
 
-#: utils/adt/jsonb.c:1950
+#: utils/adt/float.c:3983 utils/adt/numeric.c:1529
 #, c-format
-msgid "cannot cast jsonb array or object to type %s"
-msgstr "no se puede convertir un array u objeto jsonb a tipo %s"
+msgid "lower bound cannot equal upper bound"
+msgstr "el límite superior no puede ser igual al límite inferior"
 
-#: utils/adt/jsonb_util.c:699
+#: utils/adt/formatting.c:532
 #, c-format
-msgid "number of jsonb object pairs exceeds the maximum allowed (%zu)"
-msgstr "el número de pares en objeto jsonb excede el máximo permitido (%zu)"
+msgid "invalid format specification for an interval value"
+msgstr "especificación de formato no válida para un valor de interval"
 
-#: utils/adt/jsonb_util.c:740
+#: utils/adt/formatting.c:533
 #, c-format
-msgid "number of jsonb array elements exceeds the maximum allowed (%zu)"
-msgstr "el número de elementos del array jsonb excede el máximo permitido (%zu)"
+msgid "Intervals are not tied to specific calendar dates."
+msgstr "Los Interval no están ... a valores determinados de fechas de calendario."
 
-#: utils/adt/jsonb_util.c:1614 utils/adt/jsonb_util.c:1634
+#: utils/adt/formatting.c:1157
 #, c-format
-msgid "total size of jsonb array elements exceeds the maximum of %u bytes"
-msgstr "el tamaño total de los elementos del array jsonb excede el máximo de %u bytes"
+msgid "\"EEEE\" must be the last pattern used"
+msgstr "«EEEE» debe ser el último patrón usado"
 
-#: utils/adt/jsonb_util.c:1695 utils/adt/jsonb_util.c:1730
-#: utils/adt/jsonb_util.c:1750
+#: utils/adt/formatting.c:1165
 #, c-format
-msgid "total size of jsonb object elements exceeds the maximum of %u bytes"
-msgstr "el tamaño total de los elementos del objeto jsonb excede el máximo de %u bytes"
+msgid "\"9\" must be ahead of \"PR\""
+msgstr "«9» debe ir antes de «PR»"
 
-#: utils/adt/jsonfuncs.c:551 utils/adt/jsonfuncs.c:796
-#: utils/adt/jsonfuncs.c:2330 utils/adt/jsonfuncs.c:2770
-#: utils/adt/jsonfuncs.c:3560 utils/adt/jsonfuncs.c:3891
+#: utils/adt/formatting.c:1181
 #, c-format
-msgid "cannot call %s on a scalar"
-msgstr "no se puede invocar %s en un escalar"
+msgid "\"0\" must be ahead of \"PR\""
+msgstr "«0» debe ir antes de «PR»"
 
-#: utils/adt/jsonfuncs.c:556 utils/adt/jsonfuncs.c:783
-#: utils/adt/jsonfuncs.c:2772 utils/adt/jsonfuncs.c:3549
+#: utils/adt/formatting.c:1208
 #, c-format
-msgid "cannot call %s on an array"
-msgstr "no se puede invocar %s en un array"
+msgid "multiple decimal points"
+msgstr "hay múltiples puntos decimales"
 
-#: utils/adt/jsonfuncs.c:613 jsonpath_scan.l:498
+#: utils/adt/formatting.c:1212 utils/adt/formatting.c:1295
 #, c-format
-msgid "unsupported Unicode escape sequence"
-msgstr "secuencia de escape Unicode no soportado"
+msgid "cannot use \"V\" and decimal point together"
+msgstr "no se puede usar «V» y un punto decimal simultáneamente"
 
-#: utils/adt/jsonfuncs.c:692
+#: utils/adt/formatting.c:1224
 #, c-format
-msgid "JSON data, line %d: %s%s%s"
-msgstr "Datos JSON, línea %d: %s%s%s"
+msgid "cannot use \"S\" twice"
+msgstr "no se puede usar «S» dos veces"
 
-#: utils/adt/jsonfuncs.c:1682 utils/adt/jsonfuncs.c:1717
+#: utils/adt/formatting.c:1228
 #, c-format
-msgid "cannot get array length of a scalar"
-msgstr "no se puede obtener el largo de array de un escalar"
+msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together"
+msgstr "no se puede usar «S» y «PL»/«MI»/«SG»/«PR» simultáneamente"
 
-#: utils/adt/jsonfuncs.c:1686 utils/adt/jsonfuncs.c:1705
+#: utils/adt/formatting.c:1248
 #, c-format
-msgid "cannot get array length of a non-array"
-msgstr "no se puede obtener el largo de array de un no-array"
+msgid "cannot use \"S\" and \"MI\" together"
+msgstr "no se puede usar «S» y «MI» simultáneamente"
 
-#: utils/adt/jsonfuncs.c:1782
+#: utils/adt/formatting.c:1258
 #, c-format
-msgid "cannot call %s on a non-object"
-msgstr "no se puede invocar %s en un no-objeto"
+msgid "cannot use \"S\" and \"PL\" together"
+msgstr "no se puede usar «S» y «PL» simultáneamente"
 
-#: utils/adt/jsonfuncs.c:2021
+#: utils/adt/formatting.c:1268
 #, c-format
-msgid "cannot deconstruct an array as an object"
-msgstr "no se puede desconstruir un array como un objeto"
+msgid "cannot use \"S\" and \"SG\" together"
+msgstr "no se puede usar «S» y «SG» simultáneamente"
 
-#: utils/adt/jsonfuncs.c:2033
+#: utils/adt/formatting.c:1277
 #, c-format
-msgid "cannot deconstruct a scalar"
-msgstr "no se puede desconstruir un escalar"
+msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together"
+msgstr "no se puede usar «PR» y «S»/«PL»/«MI»/«SG» simultáneamente"
 
-#: utils/adt/jsonfuncs.c:2079
+#: utils/adt/formatting.c:1303
 #, c-format
-msgid "cannot extract elements from a scalar"
-msgstr "no se pueden extraer elementos de un escalar"
+msgid "cannot use \"EEEE\" twice"
+msgstr "no se puede usar «EEEE» dos veces"
 
-#: utils/adt/jsonfuncs.c:2083
+#: utils/adt/formatting.c:1309
 #, c-format
-msgid "cannot extract elements from an object"
-msgstr "no se pudo extraer elementos de un objeto"
+msgid "\"EEEE\" is incompatible with other formats"
+msgstr "«EEEE» es incompatible con otros formatos"
 
-#: utils/adt/jsonfuncs.c:2317 utils/adt/jsonfuncs.c:3775
+#: utils/adt/formatting.c:1310
 #, c-format
-msgid "cannot call %s on a non-array"
-msgstr "no se puede invocar %s en un no-array"
+msgid "\"EEEE\" may only be used together with digit and decimal point patterns."
+msgstr "«EEEE» sólo puede ser usado en conjunción con patrones de dígitos y puntos decimales."
 
-#: utils/adt/jsonfuncs.c:2387 utils/adt/jsonfuncs.c:2392
-#: utils/adt/jsonfuncs.c:2409 utils/adt/jsonfuncs.c:2415
-#, c-format
-msgid "expected JSON array"
-msgstr "se esperaba un array JSON"
+#: utils/adt/formatting.c:1394
+#, fuzzy, c-format
+#| msgid "unmatched format separator \"%c\""
+msgid "invalid datetime format separator: \"%s\""
+msgstr "separador de formato «%c» desemparejado"
 
-#: utils/adt/jsonfuncs.c:2388
+#: utils/adt/formatting.c:1522
 #, c-format
-msgid "See the value of key \"%s\"."
-msgstr "Vea el valor de la llave «%s»."
+msgid "\"%s\" is not a number"
+msgstr "«%s» no es un número"
 
-#: utils/adt/jsonfuncs.c:2410
+#: utils/adt/formatting.c:1600
 #, c-format
-msgid "See the array element %s of key \"%s\"."
-msgstr "Vea el elemento %s de la llave «%s»."
+msgid "case conversion failed: %s"
+msgstr "falló la conversión de mayúsculas: %s"
 
-#: utils/adt/jsonfuncs.c:2416
+#: utils/adt/formatting.c:1665 utils/adt/formatting.c:1789
+#: utils/adt/formatting.c:1914
 #, c-format
-msgid "See the array element %s."
-msgstr "Veo el elemento de array %s."
+msgid "could not determine which collation to use for %s function"
+msgstr "no se pudo determinar qué ordenamiento usar para la función %s"
 
-#: utils/adt/jsonfuncs.c:2451
+#: utils/adt/formatting.c:2286
 #, c-format
-msgid "malformed JSON array"
-msgstr "array JSON mal formado"
+msgid "invalid combination of date conventions"
+msgstr "combinacion invalida de convenciones de fecha"
 
-#. translator: %s is a function name, eg json_to_record
-#: utils/adt/jsonfuncs.c:3278
+#: utils/adt/formatting.c:2287
 #, c-format
-msgid "first argument of %s must be a row type"
-msgstr "el primer argumento de %s debe ser un tipo de registro"
+msgid "Do not mix Gregorian and ISO week date conventions in a formatting template."
+msgstr " No mezclar convenciones de semana Gregorianas e ISO en una plantilla formateada"
 
-#. translator: %s is a function name, eg json_to_record
-#: utils/adt/jsonfuncs.c:3302
+#: utils/adt/formatting.c:2310
 #, c-format
-msgid "could not determine row type for result of %s"
-msgstr "no se pudo determinar el tipo de dato para el resultado de %s"
+msgid "conflicting values for \"%s\" field in formatting string"
+msgstr "valores en conflicto para le campo \"%s\" en cadena de formato"
 
-#: utils/adt/jsonfuncs.c:3304
+#: utils/adt/formatting.c:2313
 #, c-format
-msgid "Provide a non-null record argument, or call the function in the FROM clause using a column definition list."
-msgstr "Provea un argumento de registro no-nulo, o invoque la función en la cláusula FROM usando una lista de definición de columnas."
+msgid "This value contradicts a previous setting for the same field type."
+msgstr "Este valor se contradice con un seteo previo para el mismo tipo de campo"
 
-#: utils/adt/jsonfuncs.c:3792 utils/adt/jsonfuncs.c:3873
+#: utils/adt/formatting.c:2384
 #, c-format
-msgid "argument of %s must be an array of objects"
-msgstr "el argumento de %s debe ser un array de objetos"
+msgid "source string too short for \"%s\" formatting field"
+msgstr "cadena de texto fuente muy corta para campo formateado \"%s\" "
 
-#: utils/adt/jsonfuncs.c:3825
+#: utils/adt/formatting.c:2387
 #, c-format
-msgid "cannot call %s on an object"
-msgstr "no se puede invocar %s en un objeto"
+msgid "Field requires %d characters, but only %d remain."
+msgstr "El campo requiere %d caractéres, pero solo quedan %d."
 
-#: utils/adt/jsonfuncs.c:4286 utils/adt/jsonfuncs.c:4345
-#: utils/adt/jsonfuncs.c:4425
+#: utils/adt/formatting.c:2390 utils/adt/formatting.c:2405
 #, c-format
-msgid "cannot delete from scalar"
-msgstr "no se puede eliminar de un escalar"
+msgid "If your source string is not fixed-width, try using the \"FM\" modifier."
+msgstr "Si su cadena de texto no es de ancho modificado, trate de usar el modificador \"FM\" "
 
-#: utils/adt/jsonfuncs.c:4430
+#: utils/adt/formatting.c:2400 utils/adt/formatting.c:2414
+#: utils/adt/formatting.c:2637
 #, c-format
-msgid "cannot delete from object using integer index"
-msgstr "no se puede eliminar de un objeto usando un índice numérico"
+msgid "invalid value \"%s\" for \"%s\""
+msgstr "el valor «%s» no es válido para «%s»"
 
-#: utils/adt/jsonfuncs.c:4495 utils/adt/jsonfuncs.c:4653
+#: utils/adt/formatting.c:2402
 #, c-format
-msgid "cannot set path in scalar"
-msgstr "no se puede definir una ruta en un escalar"
+msgid "Field requires %d characters, but only %d could be parsed."
+msgstr "El campo requiere %d caracteres, pero sólo %d pudieron ser analizados."
 
-#: utils/adt/jsonfuncs.c:4537 utils/adt/jsonfuncs.c:4579
+#: utils/adt/formatting.c:2416
 #, c-format
-msgid "null_value_treatment must be \"delete_key\", \"return_target\", \"use_json_null\", or \"raise_exception\""
-msgstr "null_value_treatment debe ser «delete_key», «return_target», «use_json_null», o «raise_exception»"
+msgid "Value must be an integer."
+msgstr "El valor debe ser un entero."
 
-#: utils/adt/jsonfuncs.c:4550
-#, fuzzy, c-format
-#| msgid "slot name must not be null"
-msgid "JSON value must not be null"
-msgstr "el nombre de slot no debe ser null"
+#: utils/adt/formatting.c:2421
+#, c-format
+msgid "value for \"%s\" in source string is out of range"
+msgstr "el valor para «%s» en la cadena de origen está fuera de rango"
 
-#: utils/adt/jsonfuncs.c:4551
+#: utils/adt/formatting.c:2423
 #, c-format
-msgid "Exception was raised because null_value_treatment is \"raise_exception\"."
-msgstr "Una excepción fue lanzada porque null_value_treatment es «raise_exception»."
+msgid "Value must be in the range %d to %d."
+msgstr "El valor debe estar en el rango de %d a %d."
 
-#: utils/adt/jsonfuncs.c:4552
+#: utils/adt/formatting.c:2639
 #, c-format
-msgid "To avoid, either change the null_value_treatment argument or ensure that an SQL NULL is not passed."
-msgstr "Para impedir esto, puede cambiar el argumento null_value_treatment o asegurarse que no se pase un nulo SQL."
+msgid "The given value did not match any of the allowed values for this field."
+msgstr "El valor dado no concuerda con ninguno de los valores permitidos para este campo."
 
-#: utils/adt/jsonfuncs.c:4607
+#: utils/adt/formatting.c:2856 utils/adt/formatting.c:2876
+#: utils/adt/formatting.c:2896 utils/adt/formatting.c:2916
+#: utils/adt/formatting.c:2935 utils/adt/formatting.c:2954
+#: utils/adt/formatting.c:2978 utils/adt/formatting.c:2996
+#: utils/adt/formatting.c:3014 utils/adt/formatting.c:3032
+#: utils/adt/formatting.c:3049 utils/adt/formatting.c:3066
 #, c-format
-msgid "cannot delete path in scalar"
-msgstr "no se puede eliminar una ruta en un escalar"
+msgid "localized string format value too long"
+msgstr "cadena traducida en cadena de formato es demasiado larga"
 
-#: utils/adt/jsonfuncs.c:4776
+#: utils/adt/formatting.c:3343
 #, c-format
-msgid "invalid concatenation of jsonb objects"
-msgstr "concatenación no válida de objetos jsonb"
+msgid "unmatched format separator \"%c\""
+msgstr "separador de formato «%c» desemparejado"
+
+#: utils/adt/formatting.c:3404
+#, fuzzy, c-format
+#| msgid "unmatched format separator \"%c\""
+msgid "unmatched format character \"%s\""
+msgstr "separador de formato «%c» desemparejado"
 
-#: utils/adt/jsonfuncs.c:4810
+#: utils/adt/formatting.c:3510 utils/adt/formatting.c:3854
 #, c-format
-msgid "path element at position %d is null"
-msgstr "el elemento en la posición %d de la ruta es null"
+msgid "formatting field \"%s\" is only supported in to_char"
+msgstr "el campo de formato «%s» sólo está soportado en to_char"
 
-#: utils/adt/jsonfuncs.c:4896
+#: utils/adt/formatting.c:3685
 #, c-format
-msgid "cannot replace existing key"
-msgstr "no se puede reemplazar una llave existente"
+msgid "invalid input string for \"Y,YYY\""
+msgstr "cadena de entrada no válida para «Y,YYY»"
 
-#: utils/adt/jsonfuncs.c:4897
+#: utils/adt/formatting.c:3771
 #, c-format
-msgid "Try using the function jsonb_set to replace key value."
-msgstr "Intente usar la función jsonb_set para reemplazar el valor de la llave."
+msgid "input string is too short for datetime format"
+msgstr "cadena de entrada muy corta para formato de fecha/hora"
 
-#: utils/adt/jsonfuncs.c:4979
+#: utils/adt/formatting.c:3779
 #, c-format
-msgid "path element at position %d is not an integer: \"%s\""
-msgstr "el elemento de ruta en la posición %d no es un entero: «%s»"
+msgid "trailing characters remain in input string after datetime format"
+msgstr "quedan caracteres al final de la cadena de entrada después del formato fecha/hora"
 
-#: utils/adt/jsonfuncs.c:5098
+#: utils/adt/formatting.c:4324
 #, c-format
-msgid "wrong flag type, only arrays and scalars are allowed"
-msgstr "indicador de tipo errónea, sólo se permiten arrays y tipos escalares"
+msgid "missing time zone in input string for type timestamptz"
+msgstr "falta el huso horario en la cadena de entrada para el tipo timestamptz"
 
-#: utils/adt/jsonfuncs.c:5105
+#: utils/adt/formatting.c:4330
 #, c-format
-msgid "flag array element is not a string"
-msgstr "elemento del array de opciones no es un string"
+msgid "timestamptz out of range"
+msgstr "timestamptz fuera de rango"
 
-#: utils/adt/jsonfuncs.c:5106 utils/adt/jsonfuncs.c:5128
+#: utils/adt/formatting.c:4358
 #, c-format
-msgid "Possible values are: \"string\", \"numeric\", \"boolean\", \"key\", and \"all\"."
-msgstr "Los valores posibles son: «string», «numeric», «boolean», «key» y «all»."
+msgid "datetime format is zoned but not timed"
+msgstr "el formato de fecha/hora tiene huso horario pero no hora"
 
-#: utils/adt/jsonfuncs.c:5126
+#: utils/adt/formatting.c:4410
 #, c-format
-msgid "wrong flag in flag array: \"%s\""
-msgstr "indicador erróneo en array de indicadores: «%s»"
+msgid "missing time zone in input string for type timetz"
+msgstr "falta el huso horario en la cadena de entrada del tipo timetz"
 
-#: utils/adt/jsonpath.c:362
+#: utils/adt/formatting.c:4416
 #, c-format
-msgid "@ is not allowed in root expressions"
-msgstr "@ no es permitido en expresiones raíz"
+msgid "timetz out of range"
+msgstr "timetz fuera de rango"
 
-#: utils/adt/jsonpath.c:368
+#: utils/adt/formatting.c:4442
 #, c-format
-msgid "LAST is allowed only in array subscripts"
-msgstr "LAST sólo está permitido en subíndices de array"
+msgid "datetime format is not dated and not timed"
+msgstr "el formato de fecha/hora no tiene fecha ni hora"
 
-#: utils/adt/jsonpath_exec.c:360
+#: utils/adt/formatting.c:4575
 #, c-format
-msgid "single boolean result is expected"
-msgstr "se esperaba un único resultado booleano"
+msgid "hour \"%d\" is invalid for the 12-hour clock"
+msgstr "la hora «%d» no es válida para el reloj de 12 horas"
 
-#: utils/adt/jsonpath_exec.c:556
+#: utils/adt/formatting.c:4577
 #, c-format
-msgid "\"vars\" argument is not an object"
-msgstr "el argumento «vars» no es un objeto"
+msgid "Use the 24-hour clock, or give an hour between 1 and 12."
+msgstr "Use el reloj de 24 horas, o entregue una hora entre 1 y 12."
 
-#: utils/adt/jsonpath_exec.c:557
+#: utils/adt/formatting.c:4688
 #, c-format
-msgid "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object."
-msgstr "Los parámetros jsonpath deben codificarse como pares llave-valor del objeto «vars»."
+msgid "cannot calculate day of year without year information"
+msgstr "no se puede calcular el día del año sin conocer el año"
 
-#: utils/adt/jsonpath_exec.c:674
+#: utils/adt/formatting.c:5607
 #, c-format
-msgid "JSON object does not contain key \"%s\""
-msgstr "el objeto JSON no contiene la llave «%s»"
+msgid "\"EEEE\" not supported for input"
+msgstr "«EEEE» no está soportado en la entrada"
 
-#: utils/adt/jsonpath_exec.c:686
+#: utils/adt/formatting.c:5619
 #, c-format
-msgid "jsonpath member accessor can only be applied to an object"
-msgstr "el método de acceso a un miembro jsonpath sólo puede aplicarse a un objeto"
+msgid "\"RN\" not supported for input"
+msgstr "«RN» no está soportado en la entrada"
 
-#: utils/adt/jsonpath_exec.c:715
+#: utils/adt/genfile.c:75
 #, c-format
-msgid "jsonpath wildcard array accessor can only be applied to an array"
-msgstr "el método de acceso comodín de array jsonpath sólo puede aplicarse a un array"
+msgid "reference to parent directory (\"..\") not allowed"
+msgstr "no se permiten referencias a directorios padre («..»)"
 
-#: utils/adt/jsonpath_exec.c:763
+#: utils/adt/genfile.c:86
 #, c-format
-msgid "jsonpath array subscript is out of bounds"
-msgstr "subíndice de array jsonpath fuera de los bordes"
+msgid "absolute path not allowed"
+msgstr "no se permiten rutas absolutas"
 
-#: utils/adt/jsonpath_exec.c:820
+#: utils/adt/genfile.c:91
 #, c-format
-msgid "jsonpath array accessor can only be applied to an array"
-msgstr "el método de acceso de array jsonpath sólo puede aplicarse a un array"
+msgid "path must be in or below the current directory"
+msgstr "la ruta debe estar en o debajo del directorio actual"
 
-#: utils/adt/jsonpath_exec.c:874
+#: utils/adt/genfile.c:116 utils/adt/oracle_compat.c:185
+#: utils/adt/oracle_compat.c:283 utils/adt/oracle_compat.c:759
+#: utils/adt/oracle_compat.c:1054
 #, c-format
-msgid "jsonpath wildcard member accessor can only be applied to an object"
-msgstr "el método de acesso comodín de objeto jsonpath sólo puede aplicarse a un objeto"
+msgid "requested length too large"
+msgstr "el tamaño solicitado es demasiado grande"
 
-#: utils/adt/jsonpath_exec.c:1004
+#: utils/adt/genfile.c:133
 #, c-format
-msgid "jsonpath item method .%s() can only be applied to an array"
-msgstr "el método de ítem jsonpath .%s() sólo puede aplicase a un array"
+msgid "could not seek in file \"%s\": %m"
+msgstr "no se pudo posicionar (seek) el archivo «%s»: %m"
 
-#: utils/adt/jsonpath_exec.c:1059
+#: utils/adt/genfile.c:174
 #, fuzzy, c-format
-#| msgid "string argument of jsonpath item method .%s() is not a valid representation of a double precision number"
-msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision"
-msgstr "el argumento cadena del método de item jsonpath .%s() no es una representación válida de un número de precisión doble"
-
-#: utils/adt/jsonpath_exec.c:1080
-#, c-format
-msgid "string argument of jsonpath item method .%s() is not a valid representation of a double precision number"
-msgstr "el argumento cadena del método de item jsonpath .%s() no es una representación válida de un número de precisión doble"
+#| msgid "requested length too large"
+msgid "file length too large"
+msgstr "el tamaño solicitado es demasiado grande"
 
-#: utils/adt/jsonpath_exec.c:1093
+#: utils/adt/genfile.c:251
 #, c-format
-msgid "jsonpath item method .%s() can only be applied to a string or numeric value"
-msgstr "el método de ítem jsonpath .%s() sólo puede aplicarse a un valor numérico o de cadena"
+msgid "must be superuser to read files with adminpack 1.0"
+msgstr "Debe ser superusuario leer archivos con adminpack 1.0."
 
-#: utils/adt/jsonpath_exec.c:1583
+#: utils/adt/geo_ops.c:979 utils/adt/geo_ops.c:1025
 #, c-format
-msgid "left operand of jsonpath operator %s is not a single numeric value"
-msgstr "el operando izquiero del operador jsonpath %s no es un valor numérico escalar"
+msgid "invalid line specification: A and B cannot both be zero"
+msgstr "especificación de línea no válida: A y B no pueden ser ambos cero"
 
-#: utils/adt/jsonpath_exec.c:1590
+#: utils/adt/geo_ops.c:987 utils/adt/geo_ops.c:1090
 #, c-format
-msgid "right operand of jsonpath operator %s is not a single numeric value"
-msgstr "el operando derecho del operador jsonpath %s no es un valor numérico escalar"
+msgid "invalid line specification: must be two distinct points"
+msgstr "especificación de línea no válida: deben ser dos puntos distintos"
 
-#: utils/adt/jsonpath_exec.c:1658
+#: utils/adt/geo_ops.c:1399 utils/adt/geo_ops.c:3486 utils/adt/geo_ops.c:4354
+#: utils/adt/geo_ops.c:5248
 #, c-format
-msgid "operand of unary jsonpath operator %s is not a numeric value"
-msgstr "el operando del operador jsonpath unario %s no es un valor numérico"
+msgid "too many points requested"
+msgstr "se pidieron demasiados puntos"
 
-#: utils/adt/jsonpath_exec.c:1756
+#: utils/adt/geo_ops.c:1461
 #, c-format
-msgid "jsonpath item method .%s() can only be applied to a numeric value"
-msgstr "el método de ítem jsonpath .%s() sólo puede aplicarse a un valor numérico"
+msgid "invalid number of points in external \"path\" value"
+msgstr "el número de puntos no es válido en el valor «path» externo"
 
-#: utils/adt/jsonpath_exec.c:1796
+#: utils/adt/geo_ops.c:2537
 #, c-format
-#| msgid "jsonpath item method .%s() can only be applied to an array"
-msgid "jsonpath item method .%s() can only be applied to a string"
-msgstr "el método de ítem jsonpath .%s() sólo puede aplicase a una cadena"
+msgid "function \"dist_lb\" not implemented"
+msgstr "la función «dist_lb» no está implementada"
 
-#: utils/adt/jsonpath_exec.c:1884
-#, c-format
-#| msgid "datetime format is not dated and not timed"
-msgid "datetime format is not recognized: \"%s\""
-msgstr "el formato de fecha/hora no se reconoce: «%s»"
+#: utils/adt/geo_ops.c:2556
+#, fuzzy, c-format
+#| msgid "function \"dist_lb\" not implemented"
+msgid "function \"dist_bl\" not implemented"
+msgstr "la función «dist_lb» no está implementada"
 
-#: utils/adt/jsonpath_exec.c:1886
+#: utils/adt/geo_ops.c:2975
 #, c-format
-msgid "Use a datetime template argument to specify the input data format."
-msgstr "Use un argumento de patrón fecha/hora para especificar el formato de entrada del dato."
+msgid "function \"close_sl\" not implemented"
+msgstr "la función «close_sl» no está implementada"
 
-#: utils/adt/jsonpath_exec.c:1954
+#: utils/adt/geo_ops.c:3122
 #, c-format
-msgid "jsonpath item method .%s() can only be applied to an object"
-msgstr "el método de ítem jsonpath .%s() sólo puede ser aplicado a un objeto"
+msgid "function \"close_lb\" not implemented"
+msgstr "la función «close_lb» no está implementada"
 
-#: utils/adt/jsonpath_exec.c:2137
+#: utils/adt/geo_ops.c:3533
 #, c-format
-msgid "could not find jsonpath variable \"%s\""
-msgstr "no se pudo encontrar la variable jsonpath «%s»"
+msgid "invalid number of points in external \"polygon\" value"
+msgstr "el número de puntos no es válido en «polygon» externo"
 
-#: utils/adt/jsonpath_exec.c:2401
+#: utils/adt/geo_ops.c:4069
 #, c-format
-msgid "jsonpath array subscript is not a single numeric value"
-msgstr "el subíndice de array jsonpath no es un único valor numérico"
+msgid "function \"poly_distance\" not implemented"
+msgstr "la función «poly_distance» no está implementada"
 
-#: utils/adt/jsonpath_exec.c:2413
+#: utils/adt/geo_ops.c:4446
 #, c-format
-msgid "jsonpath array subscript is out of integer range"
-msgstr "subíndice de array jsonpath fuera del rango entero"
+msgid "function \"path_center\" not implemented"
+msgstr "la función «path_center» no está implementada"
 
-#: utils/adt/jsonpath_exec.c:2590
+#: utils/adt/geo_ops.c:4463
 #, c-format
-#| msgid "cannot convert value from %s to %s without time zone usage"
-msgid "cannot convert value from %s to %s without timezone usage"
-msgstr "no se puede convertir el valor de %s a %s sin uso de huso horario"
+msgid "open path cannot be converted to polygon"
+msgstr "no se puede convertir un camino abierto en polygon"
 
-#: utils/adt/jsonpath_exec.c:2592
+#: utils/adt/geo_ops.c:4713
 #, c-format
-#| msgid "Use *_tz() function for time zone support."
-msgid "Use *_tz() function for timezone support."
-msgstr "Utilice una función *_tz() para el soporte de huso horario."
+msgid "invalid radius in external \"circle\" value"
+msgstr "el radio no es válido en el valor «circle» externo"
 
-#: utils/adt/levenshtein.c:133
+#: utils/adt/geo_ops.c:5234
 #, c-format
-msgid "levenshtein argument exceeds maximum length of %d characters"
-msgstr "el argumento levenshtein excede el largo máximo de %d caracteres"
+msgid "cannot convert circle with radius zero to polygon"
+msgstr "no se puede convertir un círculo de radio cero a polygon"
 
-#: utils/adt/like.c:160
+#: utils/adt/geo_ops.c:5239
 #, c-format
-msgid "nondeterministic collations are not supported for LIKE"
-msgstr "los ordenamientos no determinísticos no están soportados para LIKE"
+msgid "must request at least 2 points"
+msgstr "debe pedir al menos 2 puntos"
 
-#: utils/adt/like.c:193 utils/adt/like_support.c:1002
+#: utils/adt/int.c:164
 #, c-format
-msgid "could not determine which collation to use for ILIKE"
-msgstr "no se pudo determinar qué ordenamiento (collation) usar para ILIKE"
+msgid "int2vector has too many elements"
+msgstr "int2vector tiene demasiados elementos"
 
-#: utils/adt/like.c:201
+#: utils/adt/int.c:239
 #, c-format
-msgid "nondeterministic collations are not supported for ILIKE"
-msgstr "los ordenamientos no determinísticos no están soportados para ILIKE"
+msgid "invalid int2vector data"
+msgstr "datos de int2vector no válidos"
 
-#: utils/adt/like_match.c:108 utils/adt/like_match.c:168
+#: utils/adt/int.c:245 utils/adt/oid.c:215 utils/adt/oid.c:296
 #, c-format
-msgid "LIKE pattern must not end with escape character"
-msgstr "el patrón de LIKE debe no terminar con un carácter de escape"
+msgid "oidvector has too many elements"
+msgstr "el oidvector tiene demasiados elementos"
 
-#: utils/adt/like_match.c:293 utils/adt/regexp.c:700
+#: utils/adt/int.c:1510 utils/adt/int8.c:1439 utils/adt/numeric.c:1417
+#: utils/adt/timestamp.c:5456 utils/adt/timestamp.c:5536
 #, c-format
-msgid "invalid escape string"
-msgstr "cadena de escape no válida"
+msgid "step size cannot equal zero"
+msgstr "el tamaño de paso no puede ser cero"
 
-#: utils/adt/like_match.c:294 utils/adt/regexp.c:701
+#: utils/adt/int8.c:527 utils/adt/int8.c:550 utils/adt/int8.c:564
+#: utils/adt/int8.c:578 utils/adt/int8.c:609 utils/adt/int8.c:633
+#: utils/adt/int8.c:715 utils/adt/int8.c:783 utils/adt/int8.c:789
+#: utils/adt/int8.c:815 utils/adt/int8.c:829 utils/adt/int8.c:853
+#: utils/adt/int8.c:866 utils/adt/int8.c:935 utils/adt/int8.c:949
+#: utils/adt/int8.c:963 utils/adt/int8.c:994 utils/adt/int8.c:1016
+#: utils/adt/int8.c:1030 utils/adt/int8.c:1044 utils/adt/int8.c:1077
+#: utils/adt/int8.c:1091 utils/adt/int8.c:1105 utils/adt/int8.c:1136
+#: utils/adt/int8.c:1158 utils/adt/int8.c:1172 utils/adt/int8.c:1186
+#: utils/adt/int8.c:1348 utils/adt/int8.c:1383 utils/adt/numeric.c:3508
+#: utils/adt/varbit.c:1662
 #, c-format
-msgid "Escape string must be empty or one character."
-msgstr "La cadena de escape debe ser vacía o un carácter."
+msgid "bigint out of range"
+msgstr "bigint fuera de rango"
 
-#: utils/adt/like_support.c:987
+#: utils/adt/int8.c:1396
 #, c-format
-msgid "case insensitive matching not supported on type bytea"
-msgstr "no está soportada la comparación insensible a mayúsculas en bytea"
+msgid "OID out of range"
+msgstr "OID fuera de rango"
 
-#: utils/adt/like_support.c:1089
+#: utils/adt/json.c:271 utils/adt/jsonb.c:757
 #, c-format
-msgid "regular-expression matching not supported on type bytea"
-msgstr "no está soportada la comparación con expresiones regulares en bytea"
+msgid "key value must be scalar, not array, composite, or json"
+msgstr "el valor de llave debe ser escalar, no array, composite o json"
 
-#: utils/adt/mac.c:102
+#: utils/adt/json.c:892 utils/adt/json.c:902 utils/fmgr/funcapi.c:1813
 #, c-format
-msgid "invalid octet value in \"macaddr\" value: \"%s\""
-msgstr "valor de octeto no válido en valor «macaddr»: «%s»"
+msgid "could not determine data type for argument %d"
+msgstr "no se pudo determinar el tipo de dato para el argumento %d"
 
-#: utils/adt/mac8.c:563
+#: utils/adt/json.c:926 utils/adt/jsonb.c:1728
 #, c-format
-msgid "macaddr8 data out of range to convert to macaddr"
-msgstr "datos macaddr8 fuera de rango para convertir a macaddr"
+msgid "field name must not be null"
+msgstr "el nombre de campo no debe ser null"
 
-#: utils/adt/mac8.c:564
+#: utils/adt/json.c:1010 utils/adt/jsonb.c:1178
 #, c-format
-msgid "Only addresses that have FF and FE as values in the 4th and 5th bytes from the left, for example xx:xx:xx:ff:fe:xx:xx:xx, are eligible to be converted from macaddr8 to macaddr."
-msgstr "Sólo las direcciones que tienen FF y FF como valores en el cuarto y quinto bytes desde la izquierda, por ejemplo xx:xx:xx:ff:fe:xx:xx:xx se pueden convertir de macaddr8 a macaddr."
+msgid "argument list must have even number of elements"
+msgstr "la lista de argumentos debe tener un número par de elementos"
 
-#: utils/adt/misc.c:240
+#. translator: %s is a SQL function name
+#: utils/adt/json.c:1012 utils/adt/jsonb.c:1180
 #, c-format
-msgid "global tablespace never has databases"
-msgstr "el tablespace global nunca tiene bases de datos"
+msgid "The arguments of %s must consist of alternating keys and values."
+msgstr "El argumento de %s debe consistir de llaves y valores alternados."
 
-#: utils/adt/misc.c:262
+#: utils/adt/json.c:1028
 #, c-format
-msgid "%u is not a tablespace OID"
-msgstr "%u no es un OID de tablespace"
-
-#: utils/adt/misc.c:448
-msgid "unreserved"
-msgstr "no reservado"
+msgid "argument %d cannot be null"
+msgstr "el argumento %d no puede ser null"
 
-#: utils/adt/misc.c:452
-msgid "unreserved (cannot be function or type name)"
-msgstr "no reservado (no puede ser nombre de función o de tipo)"
+#: utils/adt/json.c:1029
+#, c-format
+msgid "Object keys should be text."
+msgstr "Las llaves de un objeto deben ser de texto."
 
-#: utils/adt/misc.c:456
-msgid "reserved (can be function or type name)"
-msgstr "reservado (puede ser nombre de función o de tipo)"
+#: utils/adt/json.c:1135 utils/adt/jsonb.c:1310
+#, c-format
+msgid "array must have two columns"
+msgstr "un array debe tener dos columnas"
 
-#: utils/adt/misc.c:460
-msgid "reserved"
-msgstr "reservado"
+#: utils/adt/json.c:1159 utils/adt/json.c:1243 utils/adt/jsonb.c:1334
+#: utils/adt/jsonb.c:1429
+#, c-format
+msgid "null value not allowed for object key"
+msgstr "no se permite el valor nulo como llave en un objeto"
 
-#: utils/adt/misc.c:634 utils/adt/misc.c:648 utils/adt/misc.c:687
-#: utils/adt/misc.c:693 utils/adt/misc.c:699 utils/adt/misc.c:722
+#: utils/adt/json.c:1232 utils/adt/jsonb.c:1418
 #, c-format
-msgid "string is not a valid identifier: \"%s\""
-msgstr "la cadena no es un identificador válido: «%s»"
+msgid "mismatched array dimensions"
+msgstr "las dimensiones de array no coinciden"
 
-#: utils/adt/misc.c:636
+#: utils/adt/jsonb.c:287
 #, c-format
-msgid "String has unclosed double quotes."
-msgstr "La cadena tiene comillas dobles sin cerrar."
+msgid "string too long to represent as jsonb string"
+msgstr "la cadena es demasiado larga para representarla como cadena jsonb."
 
-#: utils/adt/misc.c:650
+#: utils/adt/jsonb.c:288
 #, c-format
-msgid "Quoted identifier must not be empty."
-msgstr "El identificador en comillas no debe ser vacío."
+msgid "Due to an implementation restriction, jsonb strings cannot exceed %d bytes."
+msgstr "Debido a una restricción de la implementación, las cadenas en jsonb no pueden exceder los %d bytes."
 
-#: utils/adt/misc.c:689
+#: utils/adt/jsonb.c:1193
 #, c-format
-msgid "No valid identifier before \".\"."
-msgstr "No hay un identificador válido antes de «.»."
+msgid "argument %d: key must not be null"
+msgstr "argumento %d: la llave no puede ser null"
 
-#: utils/adt/misc.c:695
+#: utils/adt/jsonb.c:1781
 #, c-format
-msgid "No valid identifier after \".\"."
-msgstr "No hay un identificador válido después de «.»."
+msgid "object keys must be strings"
+msgstr "las llaves de un objeto deben ser cadenas"
 
-#: utils/adt/misc.c:753
+#: utils/adt/jsonb.c:1944
 #, c-format
-msgid "log format \"%s\" is not supported"
-msgstr "el formato de log «%s» no está soportado"
+msgid "cannot cast jsonb null to type %s"
+msgstr "no se puede convertir un null jsonb a tipo %s"
 
-#: utils/adt/misc.c:754
+#: utils/adt/jsonb.c:1945
 #, c-format
-msgid "The supported log formats are \"stderr\" and \"csvlog\"."
-msgstr "Los formatos de registro admitidos son \"stderr\" y \"csvlog\"."
+msgid "cannot cast jsonb string to type %s"
+msgstr "no se puede convertir un string jsonb a tipo %s"
 
-#: utils/adt/network.c:111
+#: utils/adt/jsonb.c:1946
 #, c-format
-msgid "invalid cidr value: \"%s\""
-msgstr "valor cidr no válido: «%s»"
+msgid "cannot cast jsonb numeric to type %s"
+msgstr "no se puede convertir un numérico jsonb a tipo %s"
 
-#: utils/adt/network.c:112 utils/adt/network.c:242
+#: utils/adt/jsonb.c:1947
 #, c-format
-msgid "Value has bits set to right of mask."
-msgstr "El valor tiene bits definidos a la derecha de la máscara"
+msgid "cannot cast jsonb boolean to type %s"
+msgstr "no se puede convertir un booleano jsonb a tipo %s"
 
-#: utils/adt/network.c:153 utils/adt/network.c:1199 utils/adt/network.c:1224
-#: utils/adt/network.c:1249
+#: utils/adt/jsonb.c:1948
 #, c-format
-msgid "could not format inet value: %m"
-msgstr "no se pudo dar formato al valor inet: %m"
+msgid "cannot cast jsonb array to type %s"
+msgstr "no se puede convertir un array jsonb a tipo %s"
 
-#. translator: %s is inet or cidr
-#: utils/adt/network.c:210
+#: utils/adt/jsonb.c:1949
 #, c-format
-msgid "invalid address family in external \"%s\" value"
-msgstr "familia de dirección no válida en valor «%s» externo"
+msgid "cannot cast jsonb object to type %s"
+msgstr "no se puede convertir un objeto jsonb a tipo %s"
 
-#. translator: %s is inet or cidr
-#: utils/adt/network.c:217
+#: utils/adt/jsonb.c:1950
 #, c-format
-msgid "invalid bits in external \"%s\" value"
-msgstr "bits no válidos en valor «%s» externo"
+msgid "cannot cast jsonb array or object to type %s"
+msgstr "no se puede convertir un array u objeto jsonb a tipo %s"
 
-#. translator: %s is inet or cidr
-#: utils/adt/network.c:226
+#: utils/adt/jsonb_util.c:699
 #, c-format
-msgid "invalid length in external \"%s\" value"
-msgstr "largo no válido en valor «%s» externo"
+msgid "number of jsonb object pairs exceeds the maximum allowed (%zu)"
+msgstr "el número de pares en objeto jsonb excede el máximo permitido (%zu)"
 
-#: utils/adt/network.c:241
+#: utils/adt/jsonb_util.c:740
 #, c-format
-msgid "invalid external \"cidr\" value"
-msgstr "valor externo «cidr» no válido"
+msgid "number of jsonb array elements exceeds the maximum allowed (%zu)"
+msgstr "el número de elementos del array jsonb excede el máximo permitido (%zu)"
 
-#: utils/adt/network.c:337 utils/adt/network.c:360
+#: utils/adt/jsonb_util.c:1614 utils/adt/jsonb_util.c:1634
 #, c-format
-msgid "invalid mask length: %d"
-msgstr "largo de máscara no válido: %d"
+msgid "total size of jsonb array elements exceeds the maximum of %u bytes"
+msgstr "el tamaño total de los elementos del array jsonb excede el máximo de %u bytes"
 
-#: utils/adt/network.c:1267
+#: utils/adt/jsonb_util.c:1695 utils/adt/jsonb_util.c:1730
+#: utils/adt/jsonb_util.c:1750
 #, c-format
-msgid "could not format cidr value: %m"
-msgstr "no se pudo dar formato al valor cidr: %m"
+msgid "total size of jsonb object elements exceeds the maximum of %u bytes"
+msgstr "el tamaño total de los elementos del objeto jsonb excede el máximo de %u bytes"
 
-#: utils/adt/network.c:1500
+#: utils/adt/jsonfuncs.c:551 utils/adt/jsonfuncs.c:796
+#: utils/adt/jsonfuncs.c:2330 utils/adt/jsonfuncs.c:2770
+#: utils/adt/jsonfuncs.c:3560 utils/adt/jsonfuncs.c:3891
 #, c-format
-msgid "cannot merge addresses from different families"
-msgstr "no se pueden mezclar direcciones de familias diferentes"
+msgid "cannot call %s on a scalar"
+msgstr "no se puede invocar %s en un escalar"
 
-#: utils/adt/network.c:1916
+#: utils/adt/jsonfuncs.c:556 utils/adt/jsonfuncs.c:783
+#: utils/adt/jsonfuncs.c:2772 utils/adt/jsonfuncs.c:3549
 #, c-format
-msgid "cannot AND inet values of different sizes"
-msgstr "no se puede hacer AND entre valores inet de distintos tamaños"
+msgid "cannot call %s on an array"
+msgstr "no se puede invocar %s en un array"
 
-#: utils/adt/network.c:1948
+#: utils/adt/jsonfuncs.c:692
 #, c-format
-msgid "cannot OR inet values of different sizes"
-msgstr "no se puede hacer OR entre valores inet de distintos tamaños"
+msgid "JSON data, line %d: %s%s%s"
+msgstr "Datos JSON, línea %d: %s%s%s"
 
-#: utils/adt/network.c:2009 utils/adt/network.c:2085
+#: utils/adt/jsonfuncs.c:1682 utils/adt/jsonfuncs.c:1717
 #, c-format
-msgid "result is out of range"
-msgstr "el resultado está fuera de rango"
+msgid "cannot get array length of a scalar"
+msgstr "no se puede obtener el largo de array de un escalar"
 
-#: utils/adt/network.c:2050
+#: utils/adt/jsonfuncs.c:1686 utils/adt/jsonfuncs.c:1705
 #, c-format
-msgid "cannot subtract inet values of different sizes"
-msgstr "no se puede sustraer valores inet de distintos tamaños"
+msgid "cannot get array length of a non-array"
+msgstr "no se puede obtener el largo de array de un no-array"
 
-#: utils/adt/numeric.c:827
+#: utils/adt/jsonfuncs.c:1782
 #, c-format
-msgid "invalid sign in external \"numeric\" value"
-msgstr "el signo no es válido en el valor «numeric» externo"
+msgid "cannot call %s on a non-object"
+msgstr "no se puede invocar %s en un no-objeto"
 
-#: utils/adt/numeric.c:833
+#: utils/adt/jsonfuncs.c:2021
 #, c-format
-msgid "invalid scale in external \"numeric\" value"
-msgstr "la escala no es válida en el valor «numeric» externo"
+msgid "cannot deconstruct an array as an object"
+msgstr "no se puede desconstruir un array como un objeto"
 
-#: utils/adt/numeric.c:842
+#: utils/adt/jsonfuncs.c:2033
 #, c-format
-msgid "invalid digit in external \"numeric\" value"
-msgstr "hay un dígito no válido en el valor «numeric» externo"
+msgid "cannot deconstruct a scalar"
+msgstr "no se puede desconstruir un escalar"
 
-#: utils/adt/numeric.c:1040 utils/adt/numeric.c:1054
+#: utils/adt/jsonfuncs.c:2079
 #, c-format
-msgid "NUMERIC precision %d must be between 1 and %d"
-msgstr "la precisión %d de NUMERIC debe estar entre 1 y %d"
+msgid "cannot extract elements from a scalar"
+msgstr "no se pueden extraer elementos de un escalar"
 
-#: utils/adt/numeric.c:1045
+#: utils/adt/jsonfuncs.c:2083
 #, c-format
-msgid "NUMERIC scale %d must be between 0 and precision %d"
-msgstr "la escala de NUMERIC, %d, debe estar entre 0 y la precisión %d"
+msgid "cannot extract elements from an object"
+msgstr "no se pudo extraer elementos de un objeto"
 
-#: utils/adt/numeric.c:1063
+#: utils/adt/jsonfuncs.c:2317 utils/adt/jsonfuncs.c:3775
 #, c-format
-msgid "invalid NUMERIC type modifier"
-msgstr "modificador de tipo NUMERIC no es válido"
+msgid "cannot call %s on a non-array"
+msgstr "no se puede invocar %s en un no-array"
 
-#: utils/adt/numeric.c:1395
+#: utils/adt/jsonfuncs.c:2387 utils/adt/jsonfuncs.c:2392
+#: utils/adt/jsonfuncs.c:2409 utils/adt/jsonfuncs.c:2415
 #, c-format
-msgid "start value cannot be NaN"
-msgstr "el valor de inicio no puede ser NaN"
+msgid "expected JSON array"
+msgstr "se esperaba un array JSON"
 
-#: utils/adt/numeric.c:1400
+#: utils/adt/jsonfuncs.c:2388
 #, c-format
-msgid "stop value cannot be NaN"
-msgstr "el valor de término no puede ser NaN"
+msgid "See the value of key \"%s\"."
+msgstr "Vea el valor de la llave «%s»."
 
-#: utils/adt/numeric.c:1410
+#: utils/adt/jsonfuncs.c:2410
 #, c-format
-msgid "step size cannot be NaN"
-msgstr "el tamaño de paso no puede ser NaN"
+msgid "See the array element %s of key \"%s\"."
+msgstr "Vea el elemento %s de la llave «%s»."
 
-#: utils/adt/numeric.c:2958 utils/adt/numeric.c:6064 utils/adt/numeric.c:6522
-#: utils/adt/numeric.c:8802 utils/adt/numeric.c:9240 utils/adt/numeric.c:9354
-#: utils/adt/numeric.c:9427
+#: utils/adt/jsonfuncs.c:2416
 #, c-format
-msgid "value overflows numeric format"
-msgstr "el valor excede el formato numeric"
+msgid "See the array element %s."
+msgstr "Veo el elemento de array %s."
 
-#: utils/adt/numeric.c:3417
+#: utils/adt/jsonfuncs.c:2451
 #, c-format
-msgid "cannot convert NaN to integer"
-msgstr "no se puede convertir NaN a entero"
+msgid "malformed JSON array"
+msgstr "array JSON mal formado"
 
-#: utils/adt/numeric.c:3500
+#. translator: %s is a function name, eg json_to_record
+#: utils/adt/jsonfuncs.c:3278
 #, c-format
-msgid "cannot convert NaN to bigint"
-msgstr "no se puede convertir NaN a bigint"
+msgid "first argument of %s must be a row type"
+msgstr "el primer argumento de %s debe ser un tipo de registro"
 
-#: utils/adt/numeric.c:3545
+#. translator: %s is a function name, eg json_to_record
+#: utils/adt/jsonfuncs.c:3302
 #, c-format
-msgid "cannot convert NaN to smallint"
-msgstr "no se puede convertir NaN a smallint"
+msgid "could not determine row type for result of %s"
+msgstr "no se pudo determinar el tipo de dato para el resultado de %s"
 
-#: utils/adt/numeric.c:3582 utils/adt/numeric.c:3653
+#: utils/adt/jsonfuncs.c:3304
 #, c-format
-msgid "cannot convert infinity to numeric"
-msgstr "no se puede convertir infinito a numeric"
+msgid "Provide a non-null record argument, or call the function in the FROM clause using a column definition list."
+msgstr "Provea un argumento de registro no-nulo, o invoque la función en la cláusula FROM usando una lista de definición de columnas."
 
-#: utils/adt/numeric.c:6606
+#: utils/adt/jsonfuncs.c:3792 utils/adt/jsonfuncs.c:3873
 #, c-format
-msgid "numeric field overflow"
-msgstr "desbordamiento de campo numeric"
+msgid "argument of %s must be an array of objects"
+msgstr "el argumento de %s debe ser un array de objetos"
 
-#: utils/adt/numeric.c:6607
+#: utils/adt/jsonfuncs.c:3825
 #, c-format
-msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d."
-msgstr "Un campo con precisión %d, escala %d debe redondear a un valor absoluto menor que %s%d."
+msgid "cannot call %s on an object"
+msgstr "no se puede invocar %s en un objeto"
 
-#: utils/adt/numutils.c:154
+#: utils/adt/jsonfuncs.c:4286 utils/adt/jsonfuncs.c:4345
+#: utils/adt/jsonfuncs.c:4425
 #, c-format
-msgid "value \"%s\" is out of range for 8-bit integer"
-msgstr "el valor «%s» está fuera de rango para un entero de 8 bits"
+msgid "cannot delete from scalar"
+msgstr "no se puede eliminar de un escalar"
 
-#: utils/adt/oid.c:290
+#: utils/adt/jsonfuncs.c:4430
 #, c-format
-msgid "invalid oidvector data"
-msgstr "datos de oidvector no válidos"
+msgid "cannot delete from object using integer index"
+msgstr "no se puede eliminar de un objeto usando un índice numérico"
 
-#: utils/adt/oracle_compat.c:896
+#: utils/adt/jsonfuncs.c:4495 utils/adt/jsonfuncs.c:4653
 #, c-format
-msgid "requested character too large"
-msgstr "el carácter solicitado es demasiado grande"
+msgid "cannot set path in scalar"
+msgstr "no se puede definir una ruta en un escalar"
 
-#: utils/adt/oracle_compat.c:946 utils/adt/oracle_compat.c:1008
+#: utils/adt/jsonfuncs.c:4537 utils/adt/jsonfuncs.c:4579
 #, c-format
-msgid "requested character too large for encoding: %d"
-msgstr "el carácter pedido es demasiado largo para el encoding: %d"
+msgid "null_value_treatment must be \"delete_key\", \"return_target\", \"use_json_null\", or \"raise_exception\""
+msgstr "null_value_treatment debe ser «delete_key», «return_target», «use_json_null», o «raise_exception»"
 
-#: utils/adt/oracle_compat.c:987
+#: utils/adt/jsonfuncs.c:4550
+#, fuzzy, c-format
+#| msgid "slot name must not be null"
+msgid "JSON value must not be null"
+msgstr "el nombre de slot no debe ser null"
+
+#: utils/adt/jsonfuncs.c:4551
 #, c-format
-msgid "requested character not valid for encoding: %d"
-msgstr "el carácter pedido no es válido para el encoding: %d"
+msgid "Exception was raised because null_value_treatment is \"raise_exception\"."
+msgstr "Una excepción fue lanzada porque null_value_treatment es «raise_exception»."
 
-#: utils/adt/oracle_compat.c:1001
+#: utils/adt/jsonfuncs.c:4552
 #, c-format
-msgid "null character not permitted"
-msgstr "el carácter nulo no está permitido"
+msgid "To avoid, either change the null_value_treatment argument or ensure that an SQL NULL is not passed."
+msgstr "Para impedir esto, puede cambiar el argumento null_value_treatment o asegurarse que no se pase un nulo SQL."
 
-#: utils/adt/orderedsetaggs.c:442 utils/adt/orderedsetaggs.c:546
-#: utils/adt/orderedsetaggs.c:684
+#: utils/adt/jsonfuncs.c:4607
 #, c-format
-msgid "percentile value %g is not between 0 and 1"
-msgstr "el valor de percentil %g no está entre 0 y 1"
+msgid "cannot delete path in scalar"
+msgstr "no se puede eliminar una ruta en un escalar"
 
-#: utils/adt/pg_locale.c:1262
+#: utils/adt/jsonfuncs.c:4805
 #, c-format
-msgid "Apply system library package updates."
-msgstr "Aplique actualizaciones de paquetes de bibliotecas del sistema."
+msgid "path element at position %d is null"
+msgstr "el elemento en la posición %d de la ruta es null"
 
-#: utils/adt/pg_locale.c:1477
+#: utils/adt/jsonfuncs.c:4891
 #, c-format
-msgid "could not create locale \"%s\": %m"
-msgstr "no se pudo crear la configuración regional «%s»: %m"
+msgid "cannot replace existing key"
+msgstr "no se puede reemplazar una llave existente"
 
-#: utils/adt/pg_locale.c:1480
+#: utils/adt/jsonfuncs.c:4892
 #, c-format
-msgid "The operating system could not find any locale data for the locale name \"%s\"."
-msgstr "El sistema operativo no pudo encontrar datos de configuración regional para la configuración «%s»."
+msgid "Try using the function jsonb_set to replace key value."
+msgstr "Intente usar la función jsonb_set para reemplazar el valor de la llave."
 
-#: utils/adt/pg_locale.c:1582
+#: utils/adt/jsonfuncs.c:4974
 #, c-format
-msgid "collations with different collate and ctype values are not supported on this platform"
-msgstr "los ordenamientos (collation) con valores collate y ctype diferentes no están soportados en esta plataforma"
+msgid "path element at position %d is not an integer: \"%s\""
+msgstr "el elemento de ruta en la posición %d no es un entero: «%s»"
 
-#: utils/adt/pg_locale.c:1591
+#: utils/adt/jsonfuncs.c:5093
 #, c-format
-msgid "collation provider LIBC is not supported on this platform"
-msgstr "el proveedor de ordenamientos LIBC no está soportado en esta plataforma"
+msgid "wrong flag type, only arrays and scalars are allowed"
+msgstr "indicador de tipo errónea, sólo se permiten arrays y tipos escalares"
 
-#: utils/adt/pg_locale.c:1603
+#: utils/adt/jsonfuncs.c:5100
 #, c-format
-msgid "collations with different collate and ctype values are not supported by ICU"
-msgstr "los ordenamientos (collation) con valores collate y ctype diferentes no están soportados por ICU"
+msgid "flag array element is not a string"
+msgstr "elemento del array de opciones no es un string"
 
-#: utils/adt/pg_locale.c:1609 utils/adt/pg_locale.c:1696
-#: utils/adt/pg_locale.c:1969
+#: utils/adt/jsonfuncs.c:5101 utils/adt/jsonfuncs.c:5123
 #, c-format
-msgid "could not open collator for locale \"%s\": %s"
-msgstr "no se pudo abrir el «collator» para la configuración regional «%s»: %s"
+msgid "Possible values are: \"string\", \"numeric\", \"boolean\", \"key\", and \"all\"."
+msgstr "Los valores posibles son: «string», «numeric», «boolean», «key» y «all»."
 
-#: utils/adt/pg_locale.c:1623
+#: utils/adt/jsonfuncs.c:5121
 #, c-format
-msgid "ICU is not supported in this build"
-msgstr "ICU no está soportado en este servidor"
+msgid "wrong flag in flag array: \"%s\""
+msgstr "indicador erróneo en array de indicadores: «%s»"
 
-#: utils/adt/pg_locale.c:1624
+#: utils/adt/jsonpath.c:362
 #, c-format
-msgid "You need to rebuild PostgreSQL using --with-icu."
-msgstr "Necesita reconstruir PostgreSQL usando --with-icu."
+msgid "@ is not allowed in root expressions"
+msgstr "@ no es permitido en expresiones raíz"
 
-#: utils/adt/pg_locale.c:1644
+#: utils/adt/jsonpath.c:368
 #, c-format
-msgid "collation \"%s\" has no actual version, but a version was specified"
-msgstr "la extensión «%s» no tiene versión actual, pero se especificó una versión"
+msgid "LAST is allowed only in array subscripts"
+msgstr "LAST sólo está permitido en subíndices de array"
 
-#: utils/adt/pg_locale.c:1651
+#: utils/adt/jsonpath_exec.c:360
 #, c-format
-msgid "collation \"%s\" has version mismatch"
-msgstr "el ordenamiento (collation) «%s» tiene una discordancia de versión"
+msgid "single boolean result is expected"
+msgstr "se esperaba un único resultado booleano"
 
-#: utils/adt/pg_locale.c:1653
+#: utils/adt/jsonpath_exec.c:556
 #, c-format
-msgid "The collation in the database was created using 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."
+msgid "\"vars\" argument is not an object"
+msgstr "el argumento «vars» no es un objeto"
 
-#: utils/adt/pg_locale.c:1656
+#: utils/adt/jsonpath_exec.c:557
 #, 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."
-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."
+msgid "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object."
+msgstr "Los parámetros jsonpath deben codificarse como pares llave-valor del objeto «vars»."
 
-#: utils/adt/pg_locale.c:1747
+#: utils/adt/jsonpath_exec.c:674
 #, c-format
-#| msgid "could not start process for command \"%s\": error code %lu"
-msgid "could not get collation version for locale \"%s\": error code %lu"
-msgstr "no se pudo obtener la versión de «collation» para la configuración regional «%s»: código de error %lu"
+msgid "JSON object does not contain key \"%s\""
+msgstr "el objeto JSON no contiene la llave «%s»"
 
-#: utils/adt/pg_locale.c:1784
+#: utils/adt/jsonpath_exec.c:686
 #, c-format
-msgid "encoding \"%s\" not supported by ICU"
-msgstr "la codificación «%s» no estæ soportada por ICU"
+msgid "jsonpath member accessor can only be applied to an object"
+msgstr "el método de acceso a un miembro jsonpath sólo puede aplicarse a un objeto"
 
-#: utils/adt/pg_locale.c:1791
+#: utils/adt/jsonpath_exec.c:715
 #, c-format
-msgid "could not open ICU converter for encoding \"%s\": %s"
-msgstr "no se pudo abrir el conversor ICU para la codificación «%s»: %s"
+msgid "jsonpath wildcard array accessor can only be applied to an array"
+msgstr "el método de acceso comodín de array jsonpath sólo puede aplicarse a un array"
 
-#: utils/adt/pg_locale.c:1822 utils/adt/pg_locale.c:1831
-#: utils/adt/pg_locale.c:1860 utils/adt/pg_locale.c:1870
+#: utils/adt/jsonpath_exec.c:763
 #, c-format
-msgid "%s failed: %s"
-msgstr "%s falló: %s"
+msgid "jsonpath array subscript is out of bounds"
+msgstr "subíndice de array jsonpath fuera de los bordes"
 
-#: utils/adt/pg_locale.c:2142
+#: utils/adt/jsonpath_exec.c:820
 #, c-format
-msgid "invalid multibyte character for locale"
-msgstr "el carácter multibyte no es válido para esta configuración regional"
+msgid "jsonpath array accessor can only be applied to an array"
+msgstr "el método de acceso de array jsonpath sólo puede aplicarse a un array"
 
-#: utils/adt/pg_locale.c:2143
+#: utils/adt/jsonpath_exec.c:874
 #, c-format
-msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding."
-msgstr "La configuración regional LC_CTYPE del servidor es probablemente incompatible con la codificación de la base de datos."
+msgid "jsonpath wildcard member accessor can only be applied to an object"
+msgstr "el método de acesso comodín de objeto jsonpath sólo puede aplicarse a un objeto"
 
-#: utils/adt/pg_upgrade_support.c:29
+#: utils/adt/jsonpath_exec.c:1004
 #, c-format
-msgid "function can only be called when server is in binary upgrade mode"
-msgstr "la función sólo puede invocarse cuando el servidor está en modo de actualización binaria"
+msgid "jsonpath item method .%s() can only be applied to an array"
+msgstr "el método de ítem jsonpath .%s() sólo puede aplicase a un array"
 
-#: utils/adt/pgstatfuncs.c:500
+#: utils/adt/jsonpath_exec.c:1059
+#, fuzzy, c-format
+#| msgid "string argument of jsonpath item method .%s() is not a valid representation of a double precision number"
+msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision"
+msgstr "el argumento cadena del método de item jsonpath .%s() no es una representación válida de un número de precisión doble"
+
+#: utils/adt/jsonpath_exec.c:1080
 #, c-format
-msgid "invalid command name: \"%s\""
-msgstr "nombre de orden no válido: «%s»"
+msgid "string argument of jsonpath item method .%s() is not a valid representation of a double precision number"
+msgstr "el argumento cadena del método de item jsonpath .%s() no es una representación válida de un número de precisión doble"
 
-#: utils/adt/pseudotypes.c:57 utils/adt/pseudotypes.c:91
+#: utils/adt/jsonpath_exec.c:1093
 #, c-format
-msgid "cannot display a value of type %s"
-msgstr "no se puede desplegar un valor de tipo %s"
+msgid "jsonpath item method .%s() can only be applied to a string or numeric value"
+msgstr "el método de ítem jsonpath .%s() sólo puede aplicarse a un valor numérico o de cadena"
 
-#: utils/adt/pseudotypes.c:283
+#: utils/adt/jsonpath_exec.c:1583
 #, c-format
-msgid "cannot accept a value of a shell type"
-msgstr "no se puede aceptar un valor de un tipo inconcluso"
+msgid "left operand of jsonpath operator %s is not a single numeric value"
+msgstr "el operando izquiero del operador jsonpath %s no es un valor numérico escalar"
 
-#: utils/adt/pseudotypes.c:293
+#: utils/adt/jsonpath_exec.c:1590
 #, c-format
-msgid "cannot display a value of a shell type"
-msgstr "no se puede desplegar un valor de un tipo inconcluso"
+msgid "right operand of jsonpath operator %s is not a single numeric value"
+msgstr "el operando derecho del operador jsonpath %s no es un valor numérico escalar"
 
-#: utils/adt/rangetypes.c:406
+#: utils/adt/jsonpath_exec.c:1658
 #, c-format
-msgid "range constructor flags argument must not be null"
-msgstr "el argumento de opciones del constructor de rango no debe ser null"
+msgid "operand of unary jsonpath operator %s is not a numeric value"
+msgstr "el operando del operador jsonpath unario %s no es un valor numérico"
 
-#: utils/adt/rangetypes.c:993
+#: utils/adt/jsonpath_exec.c:1756
 #, c-format
-msgid "result of range difference would not be contiguous"
-msgstr "el resultado de la diferencia de rangos no sería contiguo"
+msgid "jsonpath item method .%s() can only be applied to a numeric value"
+msgstr "el método de ítem jsonpath .%s() sólo puede aplicarse a un valor numérico"
 
-#: utils/adt/rangetypes.c:1054
+#: utils/adt/jsonpath_exec.c:1796
 #, c-format
-msgid "result of range union would not be contiguous"
-msgstr "el resultado de la unión de rangos no sería contiguo"
+msgid "jsonpath item method .%s() can only be applied to a string"
+msgstr "el método de ítem jsonpath .%s() sólo puede aplicase a una cadena"
 
-#: utils/adt/rangetypes.c:1600
+#: utils/adt/jsonpath_exec.c:1890
 #, c-format
-msgid "range lower bound must be less than or equal to range upper bound"
-msgstr "el límite inferior del rango debe ser menor o igual al límite superior del rango"
+msgid "datetime format is not recognized: \"%s\""
+msgstr "el formato de fecha/hora no se reconoce: «%s»"
 
-#: utils/adt/rangetypes.c:1983 utils/adt/rangetypes.c:1996
-#: utils/adt/rangetypes.c:2010
+#: utils/adt/jsonpath_exec.c:1892
 #, c-format
-msgid "invalid range bound flags"
-msgstr "opciones de bordes de rango no válidas"
+msgid "Use a datetime template argument to specify the input data format."
+msgstr "Use un argumento de patrón fecha/hora para especificar el formato de entrada del dato."
 
-#: utils/adt/rangetypes.c:1984 utils/adt/rangetypes.c:1997
-#: utils/adt/rangetypes.c:2011
+#: utils/adt/jsonpath_exec.c:1960
 #, c-format
-msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"."
-msgstr "Los valores aceptables son «[]», «[)», «(]» y «()»."
+msgid "jsonpath item method .%s() can only be applied to an object"
+msgstr "el método de ítem jsonpath .%s() sólo puede ser aplicado a un objeto"
 
-#: utils/adt/rangetypes.c:2076 utils/adt/rangetypes.c:2093
-#: utils/adt/rangetypes.c:2106 utils/adt/rangetypes.c:2124
-#: utils/adt/rangetypes.c:2135 utils/adt/rangetypes.c:2179
-#: utils/adt/rangetypes.c:2187
+#: utils/adt/jsonpath_exec.c:2143
 #, c-format
-msgid "malformed range literal: \"%s\""
-msgstr "literal de rango mal formado: «%s»"
+msgid "could not find jsonpath variable \"%s\""
+msgstr "no se pudo encontrar la variable jsonpath «%s»"
 
-#: utils/adt/rangetypes.c:2078
+#: utils/adt/jsonpath_exec.c:2407
 #, c-format
-msgid "Junk after \"empty\" key word."
-msgstr "Basura a continuación de la palabra «empty»."
+msgid "jsonpath array subscript is not a single numeric value"
+msgstr "el subíndice de array jsonpath no es un único valor numérico"
 
-#: utils/adt/rangetypes.c:2095
+#: utils/adt/jsonpath_exec.c:2419
 #, c-format
-msgid "Missing left parenthesis or bracket."
-msgstr "Falta paréntesis o corchete izquierdo."
+msgid "jsonpath array subscript is out of integer range"
+msgstr "subíndice de array jsonpath fuera del rango entero"
 
-#: utils/adt/rangetypes.c:2108
+#: utils/adt/jsonpath_exec.c:2596
+#, fuzzy, c-format
+#| msgid "cannot convert value from %s to %s without timezone usage"
+msgid "cannot convert value from %s to %s without time zone usage"
+msgstr "no se puede convertir el valor de %s a %s sin uso de huso horario"
+
+#: utils/adt/jsonpath_exec.c:2598
+#, fuzzy, c-format
+#| msgid "Use *_tz() function for timezone support."
+msgid "Use *_tz() function for time zone support."
+msgstr "Utilice una función *_tz() para el soporte de huso horario."
+
+#: utils/adt/levenshtein.c:133
 #, c-format
-msgid "Missing comma after lower bound."
-msgstr "Coma faltante después del límite inferior."
+msgid "levenshtein argument exceeds maximum length of %d characters"
+msgstr "el argumento levenshtein excede el largo máximo de %d caracteres"
 
-#: utils/adt/rangetypes.c:2126
+#: utils/adt/like.c:160
 #, c-format
-msgid "Too many commas."
-msgstr "Demasiadas comas."
+msgid "nondeterministic collations are not supported for LIKE"
+msgstr "los ordenamientos no determinísticos no están soportados para LIKE"
 
-#: utils/adt/rangetypes.c:2137
+#: utils/adt/like.c:193 utils/adt/like_support.c:1002
 #, c-format
-msgid "Junk after right parenthesis or bracket."
-msgstr "Basura después del paréntesis o corchete derecho."
+msgid "could not determine which collation to use for ILIKE"
+msgstr "no se pudo determinar qué ordenamiento (collation) usar para ILIKE"
 
-#: utils/adt/regexp.c:289 utils/adt/regexp.c:1543 utils/adt/varlena.c:4493
+#: utils/adt/like.c:201
 #, c-format
-msgid "regular expression failed: %s"
-msgstr "la expresión regular falló: %s"
+msgid "nondeterministic collations are not supported for ILIKE"
+msgstr "los ordenamientos no determinísticos no están soportados para ILIKE"
 
-#: utils/adt/regexp.c:426
+#: utils/adt/like_match.c:108 utils/adt/like_match.c:168
 #, c-format
-msgid "invalid regular expression option: \"%c\""
-msgstr "opción de expresión regular no válida: «%c»"
+msgid "LIKE pattern must not end with escape character"
+msgstr "el patrón de LIKE debe no terminar con un carácter de escape"
 
-#: utils/adt/regexp.c:836
+#: utils/adt/like_match.c:293 utils/adt/regexp.c:700
 #, c-format
-msgid "SQL regular expression may not contain more than two escape-double-quote separators"
-msgstr "la expresión regular SQL no puede contener más de dos separadores escape-comilla doble"
+msgid "invalid escape string"
+msgstr "cadena de escape no válida"
 
-#. translator: %s is a SQL function name
-#: utils/adt/regexp.c:981 utils/adt/regexp.c:1363 utils/adt/regexp.c:1418
+#: utils/adt/like_match.c:294 utils/adt/regexp.c:701
 #, c-format
-msgid "%s does not support the \"global\" option"
-msgstr "%s no soporta la opción «global»"
+msgid "Escape string must be empty or one character."
+msgstr "La cadena de escape debe ser vacía o un carácter."
 
-#: utils/adt/regexp.c:983
+#: utils/adt/like_support.c:987
 #, c-format
-msgid "Use the regexp_matches function instead."
-msgstr "En su lugar, utilice la función regexp_matches."
+msgid "case insensitive matching not supported on type bytea"
+msgstr "no está soportada la comparación insensible a mayúsculas en bytea"
 
-#: utils/adt/regexp.c:1165
+#: utils/adt/like_support.c:1089
 #, c-format
-msgid "too many regular expression matches"
-msgstr "demasiadas coincidencias de la expresión regular"
+msgid "regular-expression matching not supported on type bytea"
+msgstr "no está soportada la comparación con expresiones regulares en bytea"
 
-#: utils/adt/regproc.c:107
+#: utils/adt/mac.c:102
 #, c-format
-msgid "more than one function named \"%s\""
-msgstr "existe más de una función llamada «%s»"
+msgid "invalid octet value in \"macaddr\" value: \"%s\""
+msgstr "valor de octeto no válido en valor «macaddr»: «%s»"
 
-#: utils/adt/regproc.c:525
+#: utils/adt/mac8.c:563
 #, c-format
-msgid "more than one operator named %s"
-msgstr "existe más de un operador llamado %s"
+msgid "macaddr8 data out of range to convert to macaddr"
+msgstr "datos macaddr8 fuera de rango para convertir a macaddr"
 
-#: utils/adt/regproc.c:692 utils/adt/regproc.c:733 gram.y:8223
+#: utils/adt/mac8.c:564
 #, c-format
-msgid "missing argument"
-msgstr "falta un argumento"
+msgid "Only addresses that have FF and FE as values in the 4th and 5th bytes from the left, for example xx:xx:xx:ff:fe:xx:xx:xx, are eligible to be converted from macaddr8 to macaddr."
+msgstr "Sólo las direcciones que tienen FF y FF como valores en el cuarto y quinto bytes desde la izquierda, por ejemplo xx:xx:xx:ff:fe:xx:xx:xx se pueden convertir de macaddr8 a macaddr."
 
-#: utils/adt/regproc.c:693 utils/adt/regproc.c:734 gram.y:8224
+#: utils/adt/misc.c:240
 #, c-format
-msgid "Use NONE to denote the missing argument of a unary operator."
-msgstr "Use NONE para denotar el argumento faltante de un operador unario."
+msgid "global tablespace never has databases"
+msgstr "el tablespace global nunca tiene bases de datos"
 
-#: utils/adt/regproc.c:697 utils/adt/regproc.c:738 utils/adt/regproc.c:2018
-#: utils/adt/ruleutils.c:9299 utils/adt/ruleutils.c:9468
+#: utils/adt/misc.c:262
 #, c-format
-msgid "too many arguments"
-msgstr "demasiados argumentos"
+msgid "%u is not a tablespace OID"
+msgstr "%u no es un OID de tablespace"
 
-#: utils/adt/regproc.c:698 utils/adt/regproc.c:739
+#: utils/adt/misc.c:448
+msgid "unreserved"
+msgstr "no reservado"
+
+#: utils/adt/misc.c:452
+msgid "unreserved (cannot be function or type name)"
+msgstr "no reservado (no puede ser nombre de función o de tipo)"
+
+#: utils/adt/misc.c:456
+msgid "reserved (can be function or type name)"
+msgstr "reservado (puede ser nombre de función o de tipo)"
+
+#: utils/adt/misc.c:460
+msgid "reserved"
+msgstr "reservado"
+
+#: utils/adt/misc.c:634 utils/adt/misc.c:648 utils/adt/misc.c:687
+#: utils/adt/misc.c:693 utils/adt/misc.c:699 utils/adt/misc.c:722
 #, c-format
-msgid "Provide two argument types for operator."
-msgstr "Provea dos tipos de argumento para un operador."
+msgid "string is not a valid identifier: \"%s\""
+msgstr "la cadena no es un identificador válido: «%s»"
 
-#: utils/adt/regproc.c:1602 utils/adt/regproc.c:1626 utils/adt/regproc.c:1727
-#: utils/adt/regproc.c:1751 utils/adt/regproc.c:1853 utils/adt/regproc.c:1858
-#: utils/adt/varlena.c:3642 utils/adt/varlena.c:3647
+#: utils/adt/misc.c:636
 #, c-format
-msgid "invalid name syntax"
-msgstr "la sintaxis de nombre no es válida"
+msgid "String has unclosed double quotes."
+msgstr "La cadena tiene comillas dobles sin cerrar."
 
-#: utils/adt/regproc.c:1916
+#: utils/adt/misc.c:650
 #, c-format
-msgid "expected a left parenthesis"
-msgstr "se esperaba un paréntesis izquierdo"
+msgid "Quoted identifier must not be empty."
+msgstr "El identificador en comillas no debe ser vacío."
 
-#: utils/adt/regproc.c:1932
+#: utils/adt/misc.c:689
 #, c-format
-msgid "expected a right parenthesis"
-msgstr "se esperaba un paréntesis derecho"
+msgid "No valid identifier before \".\"."
+msgstr "No hay un identificador válido antes de «.»."
 
-#: utils/adt/regproc.c:1951
+#: utils/adt/misc.c:695
 #, c-format
-msgid "expected a type name"
-msgstr "se esperaba un nombre de tipo"
+msgid "No valid identifier after \".\"."
+msgstr "No hay un identificador válido después de «.»."
 
-#: utils/adt/regproc.c:1983
+#: utils/adt/misc.c:753
 #, c-format
-msgid "improper type name"
-msgstr "el nombre de tipo no es válido"
+msgid "log format \"%s\" is not supported"
+msgstr "el formato de log «%s» no está soportado"
 
-#: utils/adt/ri_triggers.c:296 utils/adt/ri_triggers.c:1537
-#: utils/adt/ri_triggers.c:2470
+#: utils/adt/misc.c:754
 #, c-format
-msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\""
-msgstr "inserción o actualización en la tabla «%s» viola la llave foránea «%s»"
+msgid "The supported log formats are \"stderr\" and \"csvlog\"."
+msgstr "Los formatos de registro admitidos son \"stderr\" y \"csvlog\"."
 
-#: utils/adt/ri_triggers.c:299 utils/adt/ri_triggers.c:1540
+#: utils/adt/network.c:111
 #, c-format
-msgid "MATCH FULL does not allow mixing of null and nonnull key values."
-msgstr "MATCH FULL no permite la mezcla de valores de clave nulos y no nulos."
+msgid "invalid cidr value: \"%s\""
+msgstr "valor cidr no válido: «%s»"
 
-#: utils/adt/ri_triggers.c:1940
+#: utils/adt/network.c:112 utils/adt/network.c:242
 #, c-format
-msgid "function \"%s\" must be fired for INSERT"
-msgstr "la función «%s» debe ser ejecutada en INSERT"
+msgid "Value has bits set to right of mask."
+msgstr "El valor tiene bits definidos a la derecha de la máscara"
 
-#: utils/adt/ri_triggers.c:1946
+#: utils/adt/network.c:153 utils/adt/network.c:1199 utils/adt/network.c:1224
+#: utils/adt/network.c:1249
 #, c-format
-msgid "function \"%s\" must be fired for UPDATE"
-msgstr "la función «%s» debe ser ejecutada en UPDATE"
+msgid "could not format inet value: %m"
+msgstr "no se pudo dar formato al valor inet: %m"
 
-#: utils/adt/ri_triggers.c:1952
+#. translator: %s is inet or cidr
+#: utils/adt/network.c:210
 #, c-format
-msgid "function \"%s\" must be fired for DELETE"
-msgstr "la función «%s» debe ser ejecutada en DELETE"
+msgid "invalid address family in external \"%s\" value"
+msgstr "familia de dirección no válida en valor «%s» externo"
 
-#: utils/adt/ri_triggers.c:1975
+#. translator: %s is inet or cidr
+#: utils/adt/network.c:217
 #, c-format
-msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\""
-msgstr "no hay una entrada en pg_constraint para el trigger «%s» en tabla «%s»"
+msgid "invalid bits in external \"%s\" value"
+msgstr "bits no válidos en valor «%s» externo"
 
-#: utils/adt/ri_triggers.c:1977
+#. translator: %s is inet or cidr
+#: utils/adt/network.c:226
 #, c-format
-msgid "Remove this referential integrity trigger and its mates, then do ALTER TABLE ADD CONSTRAINT."
-msgstr "Elimine este trigger de integridad referencial y sus pares, y utilice ALTER TABLE ADD CONSTRAINT."
+msgid "invalid length in external \"%s\" value"
+msgstr "largo no válido en valor «%s» externo"
 
-#: utils/adt/ri_triggers.c:2007 gram.y:3818
+#: utils/adt/network.c:241
 #, c-format
-msgid "MATCH PARTIAL not yet implemented"
-msgstr "MATCH PARTIAL no está implementada"
+msgid "invalid external \"cidr\" value"
+msgstr "valor externo «cidr» no válido"
 
-#: utils/adt/ri_triggers.c:2295
+#: utils/adt/network.c:337 utils/adt/network.c:360
 #, c-format
-msgid "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave unexpected result"
-msgstr "la consulta de integridad referencial en «%s» de la restricción «%s» en «%s» entregó un resultado inesperado"
+msgid "invalid mask length: %d"
+msgstr "largo de máscara no válido: %d"
 
-#: utils/adt/ri_triggers.c:2299
+#: utils/adt/network.c:1267
 #, c-format
-msgid "This is most likely due to a rule having rewritten the query."
-msgstr "Esto probablemente es causado por una regla que reescribió la consulta."
+msgid "could not format cidr value: %m"
+msgstr "no se pudo dar formato al valor cidr: %m"
 
-#: utils/adt/ri_triggers.c:2460
+#: utils/adt/network.c:1500
 #, c-format
-msgid "removing partition \"%s\" violates foreign key constraint \"%s\""
-msgstr "eliminar la partición «%s» viola la llave foránea «%s»"
+msgid "cannot merge addresses from different families"
+msgstr "no se pueden mezclar direcciones de familias diferentes"
 
-#: utils/adt/ri_triggers.c:2463 utils/adt/ri_triggers.c:2488
+#: utils/adt/network.c:1916
 #, c-format
-msgid "Key (%s)=(%s) is still referenced from table \"%s\"."
-msgstr "La llave (%s)=(%s) todavía es referida desde la tabla «%s»."
+msgid "cannot AND inet values of different sizes"
+msgstr "no se puede hacer AND entre valores inet de distintos tamaños"
 
-#: utils/adt/ri_triggers.c:2474
+#: utils/adt/network.c:1948
 #, c-format
-msgid "Key (%s)=(%s) is not present in table \"%s\"."
-msgstr "La llave (%s)=(%s) no está presente en la tabla «%s»."
+msgid "cannot OR inet values of different sizes"
+msgstr "no se puede hacer OR entre valores inet de distintos tamaños"
 
-#: utils/adt/ri_triggers.c:2477
+#: utils/adt/network.c:2009 utils/adt/network.c:2085
 #, c-format
-msgid "Key is not present in table \"%s\"."
-msgstr "La llave no está presente en la tabla «%s»."
+msgid "result is out of range"
+msgstr "el resultado está fuera de rango"
 
-#: utils/adt/ri_triggers.c:2483
+#: utils/adt/network.c:2050
 #, c-format
-msgid "update or delete on table \"%s\" violates foreign key constraint \"%s\" on table \"%s\""
-msgstr "update o delete en «%s» viola la llave foránea «%s» en la tabla «%s»"
+msgid "cannot subtract inet values of different sizes"
+msgstr "no se puede sustraer valores inet de distintos tamaños"
 
-#: utils/adt/ri_triggers.c:2491
+#: utils/adt/numeric.c:827
 #, c-format
-msgid "Key is still referenced from table \"%s\"."
-msgstr "La llave todavía es referida desde la tabla «%s»."
+msgid "invalid sign in external \"numeric\" value"
+msgstr "el signo no es válido en el valor «numeric» externo"
 
-#: utils/adt/rowtypes.c:104 utils/adt/rowtypes.c:482
+#: utils/adt/numeric.c:833
 #, c-format
-msgid "input of anonymous composite types is not implemented"
-msgstr "el ingreso de tipos compuestos anónimos no está implementado"
+msgid "invalid scale in external \"numeric\" value"
+msgstr "la escala no es válida en el valor «numeric» externo"
 
-#: utils/adt/rowtypes.c:156 utils/adt/rowtypes.c:185 utils/adt/rowtypes.c:208
-#: utils/adt/rowtypes.c:216 utils/adt/rowtypes.c:268 utils/adt/rowtypes.c:276
+#: utils/adt/numeric.c:842
 #, c-format
-msgid "malformed record literal: \"%s\""
-msgstr "literal de record mal formado: «%s»"
+msgid "invalid digit in external \"numeric\" value"
+msgstr "hay un dígito no válido en el valor «numeric» externo"
 
-#: utils/adt/rowtypes.c:157
+#: utils/adt/numeric.c:1040 utils/adt/numeric.c:1054
 #, c-format
-msgid "Missing left parenthesis."
-msgstr "Falta paréntesis izquierdo."
+msgid "NUMERIC precision %d must be between 1 and %d"
+msgstr "la precisión %d de NUMERIC debe estar entre 1 y %d"
 
-#: utils/adt/rowtypes.c:186
+#: utils/adt/numeric.c:1045
 #, c-format
-msgid "Too few columns."
-msgstr "Muy pocas columnas."
+msgid "NUMERIC scale %d must be between 0 and precision %d"
+msgstr "la escala de NUMERIC, %d, debe estar entre 0 y la precisión %d"
 
-#: utils/adt/rowtypes.c:269
+#: utils/adt/numeric.c:1063
 #, c-format
-msgid "Too many columns."
-msgstr "Demasiadas columnas."
+msgid "invalid NUMERIC type modifier"
+msgstr "modificador de tipo NUMERIC no es válido"
 
-#: utils/adt/rowtypes.c:277
+#: utils/adt/numeric.c:1395
 #, c-format
-msgid "Junk after right parenthesis."
-msgstr "Basura después del paréntesis derecho."
+msgid "start value cannot be NaN"
+msgstr "el valor de inicio no puede ser NaN"
 
-#: utils/adt/rowtypes.c:531
+#: utils/adt/numeric.c:1400
 #, c-format
-msgid "wrong number of columns: %d, expected %d"
-msgstr "número de columnas erróneo: %d, se esperaban %d"
+msgid "stop value cannot be NaN"
+msgstr "el valor de término no puede ser NaN"
 
-#: utils/adt/rowtypes.c:559
+#: utils/adt/numeric.c:1410
 #, c-format
-msgid "wrong data type: %u, expected %u"
-msgstr "tipo de dato erróneo: %u, se esperaba %u"
+msgid "step size cannot be NaN"
+msgstr "el tamaño de paso no puede ser NaN"
 
-#: utils/adt/rowtypes.c:620
+#: utils/adt/numeric.c:2958 utils/adt/numeric.c:6064 utils/adt/numeric.c:6522
+#: utils/adt/numeric.c:8802 utils/adt/numeric.c:9240 utils/adt/numeric.c:9354
+#: utils/adt/numeric.c:9427
 #, c-format
-msgid "improper binary format in record column %d"
-msgstr "formato binario incorrecto en la columna record %d"
+msgid "value overflows numeric format"
+msgstr "el valor excede el formato numeric"
 
-#: utils/adt/rowtypes.c:911 utils/adt/rowtypes.c:1157 utils/adt/rowtypes.c:1415
-#: utils/adt/rowtypes.c:1661
+#: utils/adt/numeric.c:3417
 #, c-format
-msgid "cannot compare dissimilar column types %s and %s at record column %d"
-msgstr "no se pueden comparar los tipos de columnas disímiles %s y %s en la columna %d"
+msgid "cannot convert NaN to integer"
+msgstr "no se puede convertir NaN a entero"
 
-#: utils/adt/rowtypes.c:1002 utils/adt/rowtypes.c:1227
-#: utils/adt/rowtypes.c:1512 utils/adt/rowtypes.c:1697
+#: utils/adt/numeric.c:3500
 #, c-format
-msgid "cannot compare record types with different numbers of columns"
-msgstr "no se pueden comparar registros con cantidad distinta de columnas"
+msgid "cannot convert NaN to bigint"
+msgstr "no se puede convertir NaN a bigint"
 
-#: utils/adt/ruleutils.c:4821
+#: utils/adt/numeric.c:3545
 #, c-format
-msgid "rule \"%s\" has unsupported event type %d"
-msgstr "la regla «%s» tiene el tipo de evento no soportado %d"
+msgid "cannot convert NaN to smallint"
+msgstr "no se puede convertir NaN a smallint"
 
-#: utils/adt/timestamp.c:107
+#: utils/adt/numeric.c:3582 utils/adt/numeric.c:3653
 #, c-format
-msgid "TIMESTAMP(%d)%s precision must not be negative"
-msgstr "la precisión de TIMESTAMP(%d)%s no debe ser negativa"
+msgid "cannot convert infinity to numeric"
+msgstr "no se puede convertir infinito a numeric"
 
-#: utils/adt/timestamp.c:113
+#: utils/adt/numeric.c:6606
 #, c-format
-msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d"
-msgstr "la precisión de TIMESTAMP(%d)%s fue reducida al máximo permitido, %d"
+msgid "numeric field overflow"
+msgstr "desbordamiento de campo numeric"
 
-#: utils/adt/timestamp.c:176 utils/adt/timestamp.c:434 utils/misc/guc.c:11901
+#: utils/adt/numeric.c:6607
 #, c-format
-msgid "timestamp out of range: \"%s\""
-msgstr "timestamp fuera de rango: «%s»"
+msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d."
+msgstr "Un campo con precisión %d, escala %d debe redondear a un valor absoluto menor que %s%d."
 
-#: utils/adt/timestamp.c:372
+#: utils/adt/numutils.c:154
 #, c-format
-msgid "timestamp(%d) precision must be between %d and %d"
-msgstr "la precisión de timestamp(%d) debe estar entre %d y %d"
+msgid "value \"%s\" is out of range for 8-bit integer"
+msgstr "el valor «%s» está fuera de rango para un entero de 8 bits"
 
-#: utils/adt/timestamp.c:496
+#: utils/adt/oid.c:290
 #, c-format
-msgid "Numeric time zones must have \"-\" or \"+\" as first character."
-msgstr "Los husos horarios numéricos deben tener «-» o «+» como su primer carácter."
+msgid "invalid oidvector data"
+msgstr "datos de oidvector no válidos"
 
-#: utils/adt/timestamp.c:509
+#: utils/adt/oracle_compat.c:896
 #, c-format
-msgid "numeric time zone \"%s\" out of range"
-msgstr "huso horario numérico «%s» fuera de rango"
+msgid "requested character too large"
+msgstr "el carácter solicitado es demasiado grande"
 
-#: utils/adt/timestamp.c:601 utils/adt/timestamp.c:611
-#: utils/adt/timestamp.c:619
+#: utils/adt/oracle_compat.c:946 utils/adt/oracle_compat.c:1008
 #, c-format
-msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g"
-msgstr "timestamp fuera de rango: %d-%02d-%02d %d:%02d:%02g"
+msgid "requested character too large for encoding: %d"
+msgstr "el carácter pedido es demasiado largo para el encoding: %d"
 
-#: utils/adt/timestamp.c:720
+#: utils/adt/oracle_compat.c:987
 #, c-format
-msgid "timestamp cannot be NaN"
-msgstr "el timestamp no puede ser NaN"
+msgid "requested character not valid for encoding: %d"
+msgstr "el carácter pedido no es válido para el encoding: %d"
 
-#: utils/adt/timestamp.c:738 utils/adt/timestamp.c:750
+#: utils/adt/oracle_compat.c:1001
 #, c-format
-msgid "timestamp out of range: \"%g\""
-msgstr "timestamp fuera de rango: «%g»"
+msgid "null character not permitted"
+msgstr "el carácter nulo no está permitido"
 
-#: utils/adt/timestamp.c:935 utils/adt/timestamp.c:1509
-#: utils/adt/timestamp.c:1944 utils/adt/timestamp.c:3042
-#: utils/adt/timestamp.c:3047 utils/adt/timestamp.c:3052
-#: utils/adt/timestamp.c:3102 utils/adt/timestamp.c:3109
-#: utils/adt/timestamp.c:3116 utils/adt/timestamp.c:3136
-#: utils/adt/timestamp.c:3143 utils/adt/timestamp.c:3150
-#: utils/adt/timestamp.c:3180 utils/adt/timestamp.c:3188
-#: utils/adt/timestamp.c:3232 utils/adt/timestamp.c:3659
-#: utils/adt/timestamp.c:3784 utils/adt/timestamp.c:4244
+#: utils/adt/orderedsetaggs.c:442 utils/adt/orderedsetaggs.c:546
+#: utils/adt/orderedsetaggs.c:684
 #, c-format
-msgid "interval out of range"
-msgstr "interval fuera de rango"
+msgid "percentile value %g is not between 0 and 1"
+msgstr "el valor de percentil %g no está entre 0 y 1"
 
-#: utils/adt/timestamp.c:1062 utils/adt/timestamp.c:1095
+#: utils/adt/pg_locale.c:1262
 #, c-format
-msgid "invalid INTERVAL type modifier"
-msgstr "modificador de tipo INTERVAL no válido"
+msgid "Apply system library package updates."
+msgstr "Aplique actualizaciones de paquetes de bibliotecas del sistema."
 
-#: utils/adt/timestamp.c:1078
+#: utils/adt/pg_locale.c:1477
 #, c-format
-msgid "INTERVAL(%d) precision must not be negative"
-msgstr "la precisión de INTERVAL(%d) no debe ser negativa"
+msgid "could not create locale \"%s\": %m"
+msgstr "no se pudo crear la configuración regional «%s»: %m"
 
-#: utils/adt/timestamp.c:1084
+#: utils/adt/pg_locale.c:1480
 #, c-format
-msgid "INTERVAL(%d) precision reduced to maximum allowed, %d"
-msgstr "la precisión de INTERVAL(%d) fue reducida al máximo permitido, %d"
+msgid "The operating system could not find any locale data for the locale name \"%s\"."
+msgstr "El sistema operativo no pudo encontrar datos de configuración regional para la configuración «%s»."
 
-#: utils/adt/timestamp.c:1466
+#: utils/adt/pg_locale.c:1582
 #, c-format
-msgid "interval(%d) precision must be between %d and %d"
-msgstr "la precisión de interval(%d) debe estar entre %d y %d"
+msgid "collations with different collate and ctype values are not supported on this platform"
+msgstr "los ordenamientos (collation) con valores collate y ctype diferentes no están soportados en esta plataforma"
 
-#: utils/adt/timestamp.c:2643
+#: utils/adt/pg_locale.c:1591
 #, c-format
-msgid "cannot subtract infinite timestamps"
-msgstr "no se pueden restar timestamps infinitos"
+msgid "collation provider LIBC is not supported on this platform"
+msgstr "el proveedor de ordenamientos LIBC no está soportado en esta plataforma"
 
-#: utils/adt/timestamp.c:3912 utils/adt/timestamp.c:4505
-#: utils/adt/timestamp.c:4667 utils/adt/timestamp.c:4688
+#: utils/adt/pg_locale.c:1603
 #, c-format
-msgid "timestamp units \"%s\" not supported"
-msgstr "las unidades de timestamp «%s» no están soportadas"
+msgid "collations with different collate and ctype values are not supported by ICU"
+msgstr "los ordenamientos (collation) con valores collate y ctype diferentes no están soportados por ICU"
 
-#: utils/adt/timestamp.c:3926 utils/adt/timestamp.c:4459
-#: utils/adt/timestamp.c:4698
+#: utils/adt/pg_locale.c:1609 utils/adt/pg_locale.c:1696
+#: utils/adt/pg_locale.c:1969
 #, c-format
-msgid "timestamp units \"%s\" not recognized"
-msgstr "las unidades de timestamp «%s» no son reconocidas"
+msgid "could not open collator for locale \"%s\": %s"
+msgstr "no se pudo abrir el «collator» para la configuración regional «%s»: %s"
 
-#: utils/adt/timestamp.c:4056 utils/adt/timestamp.c:4500
-#: utils/adt/timestamp.c:4863 utils/adt/timestamp.c:4885
+#: utils/adt/pg_locale.c:1623
 #, c-format
-msgid "timestamp with time zone units \"%s\" not supported"
-msgstr "las unidades de timestamp with time zone «%s» no están soportadas"
+msgid "ICU is not supported in this build"
+msgstr "ICU no está soportado en este servidor"
 
-#: utils/adt/timestamp.c:4073 utils/adt/timestamp.c:4454
-#: utils/adt/timestamp.c:4894
+#: utils/adt/pg_locale.c:1624
 #, c-format
-msgid "timestamp with time zone units \"%s\" not recognized"
-msgstr "las unidades de timestamp with time zone «%s» no son reconocidas"
+msgid "You need to rebuild PostgreSQL using --with-icu."
+msgstr "Necesita reconstruir PostgreSQL usando --with-icu."
 
-#: utils/adt/timestamp.c:4231
+#: utils/adt/pg_locale.c:1644
 #, c-format
-msgid "interval units \"%s\" not supported because months usually have fractional weeks"
-msgstr "las unidades de intervalo «%s» no están soportadas porque los meses normalmente tienen semanas fraccionales"
+msgid "collation \"%s\" has no actual version, but a version was specified"
+msgstr "la extensión «%s» no tiene versión actual, pero se especificó una versión"
 
-#: utils/adt/timestamp.c:4237 utils/adt/timestamp.c:4988
+#: utils/adt/pg_locale.c:1651
 #, c-format
-msgid "interval units \"%s\" not supported"
-msgstr "las unidades de interval «%s» no están soportadas"
+msgid "collation \"%s\" has version mismatch"
+msgstr "el ordenamiento (collation) «%s» tiene una discordancia de versión"
 
-#: utils/adt/timestamp.c:4253 utils/adt/timestamp.c:5011
+#: utils/adt/pg_locale.c:1653
 #, c-format
-msgid "interval units \"%s\" not recognized"
-msgstr "las unidades de interval «%s» no son reconocidas"
+msgid "The collation in the database was created using 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."
 
-#: utils/adt/trigfuncs.c:42
+#: utils/adt/pg_locale.c:1656
 #, c-format
-msgid "suppress_redundant_updates_trigger: must be called as trigger"
-msgstr "suppress_redundant_updates_trigger: debe ser invocado como trigger"
+msgid "Rebuild all objects affected by this collation and run ALTER COLLATION %s REFRESH 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."
 
-#: utils/adt/trigfuncs.c:48
+#: utils/adt/pg_locale.c:1747
 #, c-format
-msgid "suppress_redundant_updates_trigger: must be called on update"
-msgstr "suppress_redundant_updates_trigger: debe ser invocado en «UPDATE»"
+msgid "could not get collation version for locale \"%s\": error code %lu"
+msgstr "no se pudo obtener la versión de «collation» para la configuración regional «%s»: código de error %lu"
 
-#: utils/adt/trigfuncs.c:54
+#: utils/adt/pg_locale.c:1784
 #, c-format
-msgid "suppress_redundant_updates_trigger: must be called before update"
-msgstr "suppress_redundant_updates_trigger: debe ser invocado «BEFORE UPDATE»"
+msgid "encoding \"%s\" not supported by ICU"
+msgstr "la codificación «%s» no estæ soportada por ICU"
 
-#: utils/adt/trigfuncs.c:60
+#: utils/adt/pg_locale.c:1791
 #, c-format
-msgid "suppress_redundant_updates_trigger: must be called for each row"
-msgstr "suppress_redundant_updates_trigger: debe ser invocado «FOR EACH ROW»"
+msgid "could not open ICU converter for encoding \"%s\": %s"
+msgstr "no se pudo abrir el conversor ICU para la codificación «%s»: %s"
 
-#: utils/adt/tsgistidx.c:92
+#: utils/adt/pg_locale.c:1822 utils/adt/pg_locale.c:1831
+#: utils/adt/pg_locale.c:1860 utils/adt/pg_locale.c:1870
 #, c-format
-msgid "gtsvector_in not implemented"
-msgstr "gtsvector_in no está implementado"
+msgid "%s failed: %s"
+msgstr "%s falló: %s"
 
-#: utils/adt/tsquery.c:200
+#: utils/adt/pg_locale.c:2142
 #, c-format
-msgid "distance in phrase operator should not be greater than %d"
-msgstr "distancia en operador de frases no debe ser mayor que %d"
+msgid "invalid multibyte character for locale"
+msgstr "el carácter multibyte no es válido para esta configuración regional"
 
-#: utils/adt/tsquery.c:310 utils/adt/tsquery.c:725
-#: utils/adt/tsvector_parser.c:133
+#: utils/adt/pg_locale.c:2143
 #, c-format
-msgid "syntax error in tsquery: \"%s\""
-msgstr "error de sintaxis en tsquery: «%s»"
+msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding."
+msgstr "La configuración regional LC_CTYPE del servidor es probablemente incompatible con la codificación de la base de datos."
 
-#: utils/adt/tsquery.c:334
+#: utils/adt/pg_upgrade_support.c:29
 #, c-format
-msgid "no operand in tsquery: \"%s\""
-msgstr "no hay operando en tsquery: «%s»"
+msgid "function can only be called when server is in binary upgrade mode"
+msgstr "la función sólo puede invocarse cuando el servidor está en modo de actualización binaria"
 
-#: utils/adt/tsquery.c:568
+#: utils/adt/pgstatfuncs.c:500
 #, c-format
-msgid "value is too big in tsquery: \"%s\""
-msgstr "el valor es demasiado grande en tsquery: «%s»"
+msgid "invalid command name: \"%s\""
+msgstr "nombre de orden no válido: «%s»"
 
-#: utils/adt/tsquery.c:573
+#: utils/adt/pseudotypes.c:57 utils/adt/pseudotypes.c:91
 #, c-format
-msgid "operand is too long in tsquery: \"%s\""
-msgstr "el operando es muy largo en tsquery: «%s»"
+msgid "cannot display a value of type %s"
+msgstr "no se puede desplegar un valor de tipo %s"
 
-#: utils/adt/tsquery.c:601
+#: utils/adt/pseudotypes.c:283
 #, c-format
-msgid "word is too long in tsquery: \"%s\""
-msgstr "palabra demasiado larga en tsquery: «%s»"
+msgid "cannot accept a value of a shell type"
+msgstr "no se puede aceptar un valor de un tipo inconcluso"
 
-#: utils/adt/tsquery.c:870
+#: utils/adt/pseudotypes.c:293
 #, c-format
-msgid "text-search query doesn't contain lexemes: \"%s\""
-msgstr "la consulta de búsqueda en texto no contiene lexemas: «%s»"
+msgid "cannot display a value of a shell type"
+msgstr "no se puede desplegar un valor de un tipo inconcluso"
 
-#: utils/adt/tsquery.c:881 utils/adt/tsquery_util.c:375
+#: utils/adt/rangetypes.c:406
 #, c-format
-msgid "tsquery is too large"
-msgstr "el tsquery es demasiado grande"
+msgid "range constructor flags argument must not be null"
+msgstr "el argumento de opciones del constructor de rango no debe ser null"
 
-#: utils/adt/tsquery_cleanup.c:407
+#: utils/adt/rangetypes.c:993
 #, c-format
-msgid "text-search query contains only stop words or doesn't contain lexemes, ignored"
-msgstr "la consulta de búsqueda en texto contiene sólo stopwords o no contiene lexemas; ignorada"
+msgid "result of range difference would not be contiguous"
+msgstr "el resultado de la diferencia de rangos no sería contiguo"
 
-#: utils/adt/tsquery_op.c:124
+#: utils/adt/rangetypes.c:1054
 #, c-format
-msgid "distance in phrase operator should be non-negative and less than %d"
-msgstr "la distancia en el operador de frases debe ser no negativa y menor que %d"
+msgid "result of range union would not be contiguous"
+msgstr "el resultado de la unión de rangos no sería contiguo"
 
-#: utils/adt/tsquery_rewrite.c:321
+#: utils/adt/rangetypes.c:1600
 #, c-format
-msgid "ts_rewrite query must return two tsquery columns"
-msgstr "consulta ts_rewrite debe retornar dos columnas tsquery"
+msgid "range lower bound must be less than or equal to range upper bound"
+msgstr "el límite inferior del rango debe ser menor o igual al límite superior del rango"
 
-#: utils/adt/tsrank.c:412
+#: utils/adt/rangetypes.c:1983 utils/adt/rangetypes.c:1996
+#: utils/adt/rangetypes.c:2010
 #, c-format
-msgid "array of weight must be one-dimensional"
-msgstr "el array de pesos debe ser unidimensional"
+msgid "invalid range bound flags"
+msgstr "opciones de bordes de rango no válidas"
 
-#: utils/adt/tsrank.c:417
+#: utils/adt/rangetypes.c:1984 utils/adt/rangetypes.c:1997
+#: utils/adt/rangetypes.c:2011
 #, c-format
-msgid "array of weight is too short"
-msgstr "el array de pesos es muy corto"
+msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"."
+msgstr "Los valores aceptables son «[]», «[)», «(]» y «()»."
 
-#: utils/adt/tsrank.c:422
+#: utils/adt/rangetypes.c:2076 utils/adt/rangetypes.c:2093
+#: utils/adt/rangetypes.c:2106 utils/adt/rangetypes.c:2124
+#: utils/adt/rangetypes.c:2135 utils/adt/rangetypes.c:2179
+#: utils/adt/rangetypes.c:2187
 #, c-format
-msgid "array of weight must not contain nulls"
-msgstr "los arrays de pesos no deben contener valores nulos"
+msgid "malformed range literal: \"%s\""
+msgstr "literal de rango mal formado: «%s»"
 
-#: utils/adt/tsrank.c:431 utils/adt/tsrank.c:872
+#: utils/adt/rangetypes.c:2078
 #, c-format
-msgid "weight out of range"
-msgstr "peso fuera de rango"
+msgid "Junk after \"empty\" key word."
+msgstr "Basura a continuación de la palabra «empty»."
 
-#: utils/adt/tsvector.c:215
+#: utils/adt/rangetypes.c:2095
 #, c-format
-msgid "word is too long (%ld bytes, max %ld bytes)"
-msgstr "la palabra es demasiado larga (%ld, máximo %ld bytes)"
+msgid "Missing left parenthesis or bracket."
+msgstr "Falta paréntesis o corchete izquierdo."
 
-#: utils/adt/tsvector.c:222
+#: utils/adt/rangetypes.c:2108
 #, c-format
-msgid "string is too long for tsvector (%ld bytes, max %ld bytes)"
-msgstr "la cadena es demasiado larga para tsvector (%ld bytes, máximo %ld bytes)"
+msgid "Missing comma after lower bound."
+msgstr "Coma faltante después del límite inferior."
 
-#: utils/adt/tsvector_op.c:328 utils/adt/tsvector_op.c:608
-#: utils/adt/tsvector_op.c:770
+#: utils/adt/rangetypes.c:2126
 #, c-format
-msgid "lexeme array may not contain nulls"
-msgstr "el array de lexemas no debe contener nulls"
+msgid "Too many commas."
+msgstr "Demasiadas comas."
 
-#: utils/adt/tsvector_op.c:840
+#: utils/adt/rangetypes.c:2137
 #, c-format
-msgid "weight array may not contain nulls"
-msgstr "el array de pesos no debe contener nulls"
+msgid "Junk after right parenthesis or bracket."
+msgstr "Basura después del paréntesis o corchete derecho."
 
-#: utils/adt/tsvector_op.c:864
+#: utils/adt/regexp.c:289 utils/adt/regexp.c:1543 utils/adt/varlena.c:4511
 #, c-format
-msgid "unrecognized weight: \"%c\""
-msgstr "no se reconoce el peso: «%c»"
+msgid "regular expression failed: %s"
+msgstr "la expresión regular falló: %s"
 
-#: utils/adt/tsvector_op.c:2414
+#: utils/adt/regexp.c:426
 #, c-format
-msgid "ts_stat query must return one tsvector column"
-msgstr "la consulta ts_stat debe retornar una columna tsvector"
+msgid "invalid regular expression option: \"%c\""
+msgstr "opción de expresión regular no válida: «%c»"
 
-#: utils/adt/tsvector_op.c:2603
+#: utils/adt/regexp.c:836
 #, c-format
-msgid "tsvector column \"%s\" does not exist"
-msgstr "la columna tsvector «%s» no existe"
+msgid "SQL regular expression may not contain more than two escape-double-quote separators"
+msgstr "la expresión regular SQL no puede contener más de dos separadores escape-comilla doble"
 
-#: utils/adt/tsvector_op.c:2610
+#. translator: %s is a SQL function name
+#: utils/adt/regexp.c:981 utils/adt/regexp.c:1363 utils/adt/regexp.c:1418
 #, c-format
-msgid "column \"%s\" is not of tsvector type"
-msgstr "la columna «%s» no es de tipo tsvector"
+msgid "%s does not support the \"global\" option"
+msgstr "%s no soporta la opción «global»"
 
-#: utils/adt/tsvector_op.c:2622
+#: utils/adt/regexp.c:983
 #, c-format
-msgid "configuration column \"%s\" does not exist"
-msgstr "la columna de configuración «%s» no existe"
+msgid "Use the regexp_matches function instead."
+msgstr "En su lugar, utilice la función regexp_matches."
 
-#: utils/adt/tsvector_op.c:2628
+#: utils/adt/regexp.c:1165
 #, c-format
-msgid "column \"%s\" is not of regconfig type"
-msgstr "la columna «%s» no es de tipo regconfig"
+msgid "too many regular expression matches"
+msgstr "demasiadas coincidencias de la expresión regular"
 
-#: utils/adt/tsvector_op.c:2635
+#: utils/adt/regproc.c:107
 #, c-format
-msgid "configuration column \"%s\" must not be null"
-msgstr "la columna de configuración «%s» no debe ser nula"
+msgid "more than one function named \"%s\""
+msgstr "existe más de una función llamada «%s»"
 
-#: utils/adt/tsvector_op.c:2648
+#: utils/adt/regproc.c:525
 #, c-format
-msgid "text search configuration name \"%s\" must be schema-qualified"
-msgstr "el nombre de la configuración de búsqueda «%s» debe ser calificada con esquema"
+msgid "more than one operator named %s"
+msgstr "existe más de un operador llamado %s"
 
-#: utils/adt/tsvector_op.c:2673
+#: utils/adt/regproc.c:697 utils/adt/regproc.c:738 utils/adt/regproc.c:2018
+#: utils/adt/ruleutils.c:9298 utils/adt/ruleutils.c:9467
 #, c-format
-msgid "column \"%s\" is not of a character type"
-msgstr "la columna «%s» no es de un tipo textual"
+msgid "too many arguments"
+msgstr "demasiados argumentos"
 
-#: utils/adt/tsvector_parser.c:134
+#: utils/adt/regproc.c:698 utils/adt/regproc.c:739
 #, c-format
-msgid "syntax error in tsvector: \"%s\""
-msgstr "error de sintaxis en tsvector: «%s»"
+msgid "Provide two argument types for operator."
+msgstr "Provea dos tipos de argumento para un operador."
 
-#: utils/adt/tsvector_parser.c:200
+#: utils/adt/regproc.c:1602 utils/adt/regproc.c:1626 utils/adt/regproc.c:1727
+#: utils/adt/regproc.c:1751 utils/adt/regproc.c:1853 utils/adt/regproc.c:1858
+#: utils/adt/varlena.c:3660 utils/adt/varlena.c:3665
 #, c-format
-msgid "there is no escaped character: \"%s\""
-msgstr "no hay carácter escapado: «%s»"
+msgid "invalid name syntax"
+msgstr "la sintaxis de nombre no es válida"
 
-#: utils/adt/tsvector_parser.c:318
+#: utils/adt/regproc.c:1916
 #, c-format
-msgid "wrong position info in tsvector: \"%s\""
-msgstr "información posicional incorrecta en tsvector: «%s»"
+msgid "expected a left parenthesis"
+msgstr "se esperaba un paréntesis izquierdo"
 
-#: utils/adt/uuid.c:428
+#: utils/adt/regproc.c:1932
 #, c-format
-#| msgid "could not generate random salt"
-msgid "could not generate random values"
-msgstr "no se pudo generar valores aleatorios"
+msgid "expected a right parenthesis"
+msgstr "se esperaba un paréntesis derecho"
 
-#: utils/adt/varbit.c:109 utils/adt/varchar.c:53
+#: utils/adt/regproc.c:1951
 #, c-format
-msgid "length for type %s must be at least 1"
-msgstr "el largo para el tipo %s debe ser al menos 1"
+msgid "expected a type name"
+msgstr "se esperaba un nombre de tipo"
 
-#: utils/adt/varbit.c:114 utils/adt/varchar.c:57
+#: utils/adt/regproc.c:1983
 #, c-format
-msgid "length for type %s cannot exceed %d"
-msgstr "el largo del tipo %s no puede exceder %d"
+msgid "improper type name"
+msgstr "el nombre de tipo no es válido"
 
-#: utils/adt/varbit.c:197 utils/adt/varbit.c:498 utils/adt/varbit.c:993
+#: utils/adt/ri_triggers.c:296 utils/adt/ri_triggers.c:1537
+#: utils/adt/ri_triggers.c:2467
 #, c-format
-msgid "bit string length exceeds the maximum allowed (%d)"
-msgstr "el tamaño de la cadena de bits excede el máximo permitido (%d)"
+msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\""
+msgstr "inserción o actualización en la tabla «%s» viola la llave foránea «%s»"
 
-#: utils/adt/varbit.c:211 utils/adt/varbit.c:355 utils/adt/varbit.c:405
+#: utils/adt/ri_triggers.c:299 utils/adt/ri_triggers.c:1540
 #, c-format
-msgid "bit string length %d does not match type bit(%d)"
-msgstr "el largo de la cadena de bits %d no coincide con el tipo bit(%d)"
+msgid "MATCH FULL does not allow mixing of null and nonnull key values."
+msgstr "MATCH FULL no permite la mezcla de valores de clave nulos y no nulos."
 
-#: utils/adt/varbit.c:233 utils/adt/varbit.c:534
+#: utils/adt/ri_triggers.c:1940
 #, c-format
-msgid "\"%c\" is not a valid binary digit"
-msgstr "«%c» no es un dígito binario válido"
+msgid "function \"%s\" must be fired for INSERT"
+msgstr "la función «%s» debe ser ejecutada en INSERT"
 
-#: utils/adt/varbit.c:258 utils/adt/varbit.c:559
+#: utils/adt/ri_triggers.c:1946
 #, c-format
-msgid "\"%c\" is not a valid hexadecimal digit"
-msgstr "«%c» no es un dígito hexadecimal válido"
+msgid "function \"%s\" must be fired for UPDATE"
+msgstr "la función «%s» debe ser ejecutada en UPDATE"
 
-#: utils/adt/varbit.c:346 utils/adt/varbit.c:651
+#: utils/adt/ri_triggers.c:1952
 #, c-format
-msgid "invalid length in external bit string"
-msgstr "el largo no es válido en cadena de bits externa"
+msgid "function \"%s\" must be fired for DELETE"
+msgstr "la función «%s» debe ser ejecutada en DELETE"
 
-#: utils/adt/varbit.c:512 utils/adt/varbit.c:660 utils/adt/varbit.c:756
+#: utils/adt/ri_triggers.c:1975
 #, c-format
-msgid "bit string too long for type bit varying(%d)"
-msgstr "la cadena de bits es demasiado larga para el tipo bit varying(%d)"
+msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\""
+msgstr "no hay una entrada en pg_constraint para el trigger «%s» en tabla «%s»"
 
-#: utils/adt/varbit.c:1086 utils/adt/varbit.c:1184 utils/adt/varlena.c:875
-#: utils/adt/varlena.c:939 utils/adt/varlena.c:1083 utils/adt/varlena.c:3306
-#: utils/adt/varlena.c:3373
+#: utils/adt/ri_triggers.c:1977
 #, c-format
-msgid "negative substring length not allowed"
-msgstr "no se permite un largo negativo de subcadena"
+msgid "Remove this referential integrity trigger and its mates, then do ALTER TABLE ADD CONSTRAINT."
+msgstr "Elimine este trigger de integridad referencial y sus pares, y utilice ALTER TABLE ADD CONSTRAINT."
 
-#: utils/adt/varbit.c:1241
+#: utils/adt/ri_triggers.c:2292
 #, c-format
-msgid "cannot AND bit strings of different sizes"
-msgstr "no se puede hacer AND entre cadenas de bits de distintos tamaños"
+msgid "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave unexpected result"
+msgstr "la consulta de integridad referencial en «%s» de la restricción «%s» en «%s» entregó un resultado inesperado"
 
-#: utils/adt/varbit.c:1282
+#: utils/adt/ri_triggers.c:2296
 #, c-format
-msgid "cannot OR bit strings of different sizes"
-msgstr "no se puede hacer OR entre cadenas de bits de distintos tamaños"
+msgid "This is most likely due to a rule having rewritten the query."
+msgstr "Esto probablemente es causado por una regla que reescribió la consulta."
 
-#: utils/adt/varbit.c:1322
+#: utils/adt/ri_triggers.c:2457
 #, c-format
-msgid "cannot XOR bit strings of different sizes"
-msgstr "no se puede hacer XOR entre cadenas de bits de distintos tamaños"
+msgid "removing partition \"%s\" violates foreign key constraint \"%s\""
+msgstr "eliminar la partición «%s» viola la llave foránea «%s»"
 
-#: utils/adt/varbit.c:1804 utils/adt/varbit.c:1862
+#: utils/adt/ri_triggers.c:2460 utils/adt/ri_triggers.c:2485
 #, c-format
-msgid "bit index %d out of valid range (0..%d)"
-msgstr "el índice de bit %d está fuera del rango válido (0..%d)"
+msgid "Key (%s)=(%s) is still referenced from table \"%s\"."
+msgstr "La llave (%s)=(%s) todavía es referida desde la tabla «%s»."
 
-#: utils/adt/varbit.c:1813 utils/adt/varlena.c:3566
+#: utils/adt/ri_triggers.c:2471
 #, c-format
-msgid "new bit must be 0 or 1"
-msgstr "el nuevo bit debe ser 0 o 1"
+msgid "Key (%s)=(%s) is not present in table \"%s\"."
+msgstr "La llave (%s)=(%s) no está presente en la tabla «%s»."
 
-#: utils/adt/varchar.c:157 utils/adt/varchar.c:310
+#: utils/adt/ri_triggers.c:2474
 #, c-format
-msgid "value too long for type character(%d)"
-msgstr "el valor es demasiado largo para el tipo character(%d)"
+msgid "Key is not present in table \"%s\"."
+msgstr "La llave no está presente en la tabla «%s»."
 
-#: utils/adt/varchar.c:472 utils/adt/varchar.c:634
+#: utils/adt/ri_triggers.c:2480
 #, c-format
-msgid "value too long for type character varying(%d)"
-msgstr "el valor es demasiado largo para el tipo character varying(%d)"
+msgid "update or delete on table \"%s\" violates foreign key constraint \"%s\" on table \"%s\""
+msgstr "update o delete en «%s» viola la llave foránea «%s» en la tabla «%s»"
 
-#: utils/adt/varchar.c:732 utils/adt/varlena.c:1475
+#: utils/adt/ri_triggers.c:2488
 #, c-format
-msgid "could not determine which collation to use for string comparison"
-msgstr "no se pudo determinar qué ordenamiento usar para la comparación de cadenas"
+msgid "Key is still referenced from table \"%s\"."
+msgstr "La llave todavía es referida desde la tabla «%s»."
 
-#: utils/adt/varlena.c:1182 utils/adt/varlena.c:1915
+#: utils/adt/rowtypes.c:104 utils/adt/rowtypes.c:482
 #, c-format
-msgid "nondeterministic collations are not supported for substring searches"
-msgstr "los ordenamientos no determinísticos no están soportados para búsquedas de sub-cadenas"
+msgid "input of anonymous composite types is not implemented"
+msgstr "el ingreso de tipos compuestos anónimos no está implementado"
 
-#: utils/adt/varlena.c:1574 utils/adt/varlena.c:1587
+#: utils/adt/rowtypes.c:156 utils/adt/rowtypes.c:185 utils/adt/rowtypes.c:208
+#: utils/adt/rowtypes.c:216 utils/adt/rowtypes.c:268 utils/adt/rowtypes.c:276
 #, c-format
-msgid "could not convert string to UTF-16: error code %lu"
-msgstr "no se pudo convertir la cadena a UTF-16: código de error %lu"
+msgid "malformed record literal: \"%s\""
+msgstr "literal de record mal formado: «%s»"
 
-#: utils/adt/varlena.c:1602
+#: utils/adt/rowtypes.c:157
 #, c-format
-msgid "could not compare Unicode strings: %m"
-msgstr "no se pudieron comparar las cadenas Unicode: %m"
+msgid "Missing left parenthesis."
+msgstr "Falta paréntesis izquierdo."
 
-#: utils/adt/varlena.c:1653 utils/adt/varlena.c:2367
+#: utils/adt/rowtypes.c:186
 #, c-format
-msgid "collation failed: %s"
-msgstr "el ordenamiento falló: %s"
+msgid "Too few columns."
+msgstr "Muy pocas columnas."
 
-#: utils/adt/varlena.c:2575
+#: utils/adt/rowtypes.c:269
 #, c-format
-msgid "sort key generation failed: %s"
-msgstr "la generación de la llave de ordenamiento falló: %s"
+msgid "Too many columns."
+msgstr "Demasiadas columnas."
 
-#: utils/adt/varlena.c:3450 utils/adt/varlena.c:3517
+#: utils/adt/rowtypes.c:277
 #, c-format
-msgid "index %d out of valid range, 0..%d"
-msgstr "el índice %d está fuera de rango [0..%d]"
+msgid "Junk after right parenthesis."
+msgstr "Basura después del paréntesis derecho."
 
-#: utils/adt/varlena.c:3481 utils/adt/varlena.c:3553
+#: utils/adt/rowtypes.c:531
 #, c-format
-#| msgid "index %d out of valid range, 0..%d"
-msgid "index %lld out of valid range, 0..%lld"
-msgstr "el índice %lld está fuera de rango, 0..%lld"
+msgid "wrong number of columns: %d, expected %d"
+msgstr "número de columnas erróneo: %d, se esperaban %d"
 
-#: utils/adt/varlena.c:4590
+#: utils/adt/rowtypes.c:559
 #, c-format
-msgid "field position must be greater than zero"
-msgstr "la posición del campo debe ser mayor que cero"
+msgid "wrong data type: %u, expected %u"
+msgstr "tipo de dato erróneo: %u, se esperaba %u"
 
-#: utils/adt/varlena.c:5456
+#: utils/adt/rowtypes.c:620
 #, c-format
-msgid "unterminated format() type specifier"
-msgstr "especificador de tipo inconcluso en format()"
+msgid "improper binary format in record column %d"
+msgstr "formato binario incorrecto en la columna record %d"
 
-#: utils/adt/varlena.c:5457 utils/adt/varlena.c:5591 utils/adt/varlena.c:5712
+#: utils/adt/rowtypes.c:911 utils/adt/rowtypes.c:1157 utils/adt/rowtypes.c:1415
+#: utils/adt/rowtypes.c:1661
 #, c-format
-msgid "For a single \"%%\" use \"%%%%\"."
-msgstr "Para un «%%» solo, use «%%%%»."
+msgid "cannot compare dissimilar column types %s and %s at record column %d"
+msgstr "no se pueden comparar los tipos de columnas disímiles %s y %s en la columna %d"
 
-#: utils/adt/varlena.c:5589 utils/adt/varlena.c:5710
+#: utils/adt/rowtypes.c:1002 utils/adt/rowtypes.c:1227
+#: utils/adt/rowtypes.c:1512 utils/adt/rowtypes.c:1697
 #, c-format
-msgid "unrecognized format() type specifier \"%c\""
-msgstr "especificador de tipo no reconocido «%c» en format()"
+msgid "cannot compare record types with different numbers of columns"
+msgstr "no se pueden comparar registros con cantidad distinta de columnas"
 
-#: utils/adt/varlena.c:5602 utils/adt/varlena.c:5659
+#: utils/adt/ruleutils.c:4822
 #, c-format
-msgid "too few arguments for format()"
-msgstr "muy pocos argumentos para format()"
+msgid "rule \"%s\" has unsupported event type %d"
+msgstr "la regla «%s» tiene el tipo de evento no soportado %d"
 
-#: utils/adt/varlena.c:5755 utils/adt/varlena.c:5937
+#: utils/adt/timestamp.c:107
 #, c-format
-msgid "number is out of range"
-msgstr "el número está fuera de rango"
+msgid "TIMESTAMP(%d)%s precision must not be negative"
+msgstr "la precisión de TIMESTAMP(%d)%s no debe ser negativa"
 
-#: utils/adt/varlena.c:5818 utils/adt/varlena.c:5846
+#: utils/adt/timestamp.c:113
 #, c-format
-msgid "format specifies argument 0, but arguments are numbered from 1"
-msgstr "la conversión especifica el argumento 0, pero los argumentos se numeran desde 1"
+msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d"
+msgstr "la precisión de TIMESTAMP(%d)%s fue reducida al máximo permitido, %d"
 
-#: utils/adt/varlena.c:5839
+#: utils/adt/timestamp.c:176 utils/adt/timestamp.c:434 utils/misc/guc.c:11953
 #, c-format
-msgid "width argument position must be ended by \"$\""
-msgstr "la posición del argumento de anchura debe terminar con «$»"
+msgid "timestamp out of range: \"%s\""
+msgstr "timestamp fuera de rango: «%s»"
 
-#: utils/adt/varlena.c:5884
+#: utils/adt/timestamp.c:372
 #, c-format
-msgid "null values cannot be formatted as an SQL identifier"
-msgstr "los valores nulos no pueden ser formateados como un identificador SQL"
+msgid "timestamp(%d) precision must be between %d and %d"
+msgstr "la precisión de timestamp(%d) debe estar entre %d y %d"
 
-#: utils/adt/varlena.c:6010
+#: utils/adt/timestamp.c:496
 #, c-format
-msgid "Unicode normalization can only be performed if server encoding is UTF8"
-msgstr "la normalización Unicode sólo puede ser hecha si la codificación de servidor es UTF8"
+msgid "Numeric time zones must have \"-\" or \"+\" as first character."
+msgstr "Los husos horarios numéricos deben tener «-» o «+» como su primer carácter."
 
-#: utils/adt/varlena.c:6023
+#: utils/adt/timestamp.c:509
 #, c-format
-#| msgid "invalid parameter list format: \"%s\""
-msgid "invalid normalization form: %s"
-msgstr "forma de normalización no válida: %s"
+msgid "numeric time zone \"%s\" out of range"
+msgstr "huso horario numérico «%s» fuera de rango"
 
-#: utils/adt/windowfuncs.c:243
+#: utils/adt/timestamp.c:601 utils/adt/timestamp.c:611
+#: utils/adt/timestamp.c:619
 #, c-format
-msgid "argument of ntile must be greater than zero"
-msgstr "el argumento de ntile debe ser mayor que cero"
+msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g"
+msgstr "timestamp fuera de rango: %d-%02d-%02d %d:%02d:%02g"
 
-#: utils/adt/windowfuncs.c:465
+#: utils/adt/timestamp.c:720
 #, c-format
-msgid "argument of nth_value must be greater than zero"
-msgstr "el argumento de nth_value debe ser mayor que cero"
+msgid "timestamp cannot be NaN"
+msgstr "el timestamp no puede ser NaN"
 
-#: utils/adt/xid8funcs.c:116
+#: utils/adt/timestamp.c:738 utils/adt/timestamp.c:750
 #, c-format
-msgid "transaction ID %s is in the future"
-msgstr "el ID de transacción %s está en el futuro"
+msgid "timestamp out of range: \"%g\""
+msgstr "timestamp fuera de rango: «%g»"
 
-#: utils/adt/xid8funcs.c:547
+#: utils/adt/timestamp.c:935 utils/adt/timestamp.c:1509
+#: utils/adt/timestamp.c:1976 utils/adt/timestamp.c:3053
+#: utils/adt/timestamp.c:3058 utils/adt/timestamp.c:3063
+#: utils/adt/timestamp.c:3113 utils/adt/timestamp.c:3120
+#: utils/adt/timestamp.c:3127 utils/adt/timestamp.c:3147
+#: utils/adt/timestamp.c:3154 utils/adt/timestamp.c:3161
+#: utils/adt/timestamp.c:3191 utils/adt/timestamp.c:3199
+#: utils/adt/timestamp.c:3243 utils/adt/timestamp.c:3670
+#: utils/adt/timestamp.c:3795 utils/adt/timestamp.c:4255
 #, c-format
-#| msgid "invalid snapshot data in file \"%s\""
-msgid "invalid external pg_snapshot data"
-msgstr "datos externos pg_snapshot no válidos"
+msgid "interval out of range"
+msgstr "interval fuera de rango"
 
-#: utils/adt/xml.c:222
+#: utils/adt/timestamp.c:1062 utils/adt/timestamp.c:1095
 #, c-format
-msgid "unsupported XML feature"
-msgstr "característica XML no soportada"
+msgid "invalid INTERVAL type modifier"
+msgstr "modificador de tipo INTERVAL no válido"
 
-#: utils/adt/xml.c:223
+#: utils/adt/timestamp.c:1078
 #, c-format
-msgid "This functionality requires the server to be built with libxml support."
-msgstr "Esta funcionalidad requiere que el servidor haya sido construido con soporte libxml."
+msgid "INTERVAL(%d) precision must not be negative"
+msgstr "la precisión de INTERVAL(%d) no debe ser negativa"
 
-#: utils/adt/xml.c:224
+#: utils/adt/timestamp.c:1084
 #, c-format
-msgid "You need to rebuild PostgreSQL using --with-libxml."
-msgstr "Necesita reconstruir PostgreSQL usando --with-libxml."
+msgid "INTERVAL(%d) precision reduced to maximum allowed, %d"
+msgstr "la precisión de INTERVAL(%d) fue reducida al máximo permitido, %d"
 
-#: utils/adt/xml.c:243 utils/mb/mbutils.c:570
+#: utils/adt/timestamp.c:1466
 #, c-format
-msgid "invalid encoding name \"%s\""
-msgstr "nombre de codificación «%s» no válido"
+msgid "interval(%d) precision must be between %d and %d"
+msgstr "la precisión de interval(%d) debe estar entre %d y %d"
 
-#: utils/adt/xml.c:486 utils/adt/xml.c:491
+#: utils/adt/timestamp.c:2654
 #, c-format
-msgid "invalid XML comment"
-msgstr "comentario XML no válido"
+msgid "cannot subtract infinite timestamps"
+msgstr "no se pueden restar timestamps infinitos"
 
-#: utils/adt/xml.c:620
+#: utils/adt/timestamp.c:3923 utils/adt/timestamp.c:4516
+#: utils/adt/timestamp.c:4678 utils/adt/timestamp.c:4699
 #, c-format
-msgid "not an XML document"
-msgstr "no es un documento XML"
+msgid "timestamp units \"%s\" not supported"
+msgstr "las unidades de timestamp «%s» no están soportadas"
 
-#: utils/adt/xml.c:779 utils/adt/xml.c:802
+#: utils/adt/timestamp.c:3937 utils/adt/timestamp.c:4470
+#: utils/adt/timestamp.c:4709
 #, c-format
-msgid "invalid XML processing instruction"
-msgstr "instrucción de procesamiento XML no válida"
+msgid "timestamp units \"%s\" not recognized"
+msgstr "las unidades de timestamp «%s» no son reconocidas"
 
-#: utils/adt/xml.c:780
+#: utils/adt/timestamp.c:4067 utils/adt/timestamp.c:4511
+#: utils/adt/timestamp.c:4874 utils/adt/timestamp.c:4896
 #, c-format
-msgid "XML processing instruction target name cannot be \"%s\"."
-msgstr "el nombre de destino de la instrucción de procesamiento XML no puede ser «%s»."
+msgid "timestamp with time zone units \"%s\" not supported"
+msgstr "las unidades de timestamp with time zone «%s» no están soportadas"
 
-#: utils/adt/xml.c:803
+#: utils/adt/timestamp.c:4084 utils/adt/timestamp.c:4465
+#: utils/adt/timestamp.c:4905
 #, c-format
-msgid "XML processing instruction cannot contain \"?>\"."
-msgstr "la instrucción de procesamiento XML no puede contener «?>»."
+msgid "timestamp with time zone units \"%s\" not recognized"
+msgstr "las unidades de timestamp with time zone «%s» no son reconocidas"
 
-#: utils/adt/xml.c:882
+#: utils/adt/timestamp.c:4242
 #, c-format
-msgid "xmlvalidate is not implemented"
-msgstr "xmlvalidate no está implementado"
+msgid "interval units \"%s\" not supported because months usually have fractional weeks"
+msgstr "las unidades de intervalo «%s» no están soportadas porque los meses normalmente tienen semanas fraccionales"
 
-#: utils/adt/xml.c:961
+#: utils/adt/timestamp.c:4248 utils/adt/timestamp.c:4999
 #, c-format
-msgid "could not initialize XML library"
-msgstr "no se pudo inicializar la biblioteca XML"
+msgid "interval units \"%s\" not supported"
+msgstr "las unidades de interval «%s» no están soportadas"
 
-#: utils/adt/xml.c:962
+#: utils/adt/timestamp.c:4264 utils/adt/timestamp.c:5022
 #, c-format
-msgid "libxml2 has incompatible char type: sizeof(char)=%u, sizeof(xmlChar)=%u."
-msgstr "libxml2 tiene tipo char incompatible: sizeof(char)=%u, sizeof(xmlChar)=%u."
+msgid "interval units \"%s\" not recognized"
+msgstr "las unidades de interval «%s» no son reconocidas"
 
-#: utils/adt/xml.c:1048
+#: utils/adt/trigfuncs.c:42
 #, c-format
-msgid "could not set up XML error handler"
-msgstr "no se pudo instalar un gestor de errores XML"
+msgid "suppress_redundant_updates_trigger: must be called as trigger"
+msgstr "suppress_redundant_updates_trigger: debe ser invocado como trigger"
 
-#: utils/adt/xml.c:1049
+#: utils/adt/trigfuncs.c:48
 #, c-format
-msgid "This probably indicates that the version of libxml2 being used is not compatible with the libxml2 header files that PostgreSQL was built with."
-msgstr "Esto probablemente indica que la versión de libxml2 en uso no es compatible con los archivos de cabecera libxml2 con los que PostgreSQL fue construido."
+msgid "suppress_redundant_updates_trigger: must be called on update"
+msgstr "suppress_redundant_updates_trigger: debe ser invocado en «UPDATE»"
 
-#: utils/adt/xml.c:1936
-msgid "Invalid character value."
-msgstr "Valor de carácter no válido."
+#: utils/adt/trigfuncs.c:54
+#, c-format
+msgid "suppress_redundant_updates_trigger: must be called before update"
+msgstr "suppress_redundant_updates_trigger: debe ser invocado «BEFORE UPDATE»"
 
-#: utils/adt/xml.c:1939
-msgid "Space required."
-msgstr "Se requiere un espacio."
+#: utils/adt/trigfuncs.c:60
+#, c-format
+msgid "suppress_redundant_updates_trigger: must be called for each row"
+msgstr "suppress_redundant_updates_trigger: debe ser invocado «FOR EACH ROW»"
 
-#: utils/adt/xml.c:1942
-msgid "standalone accepts only 'yes' or 'no'."
-msgstr "standalone acepta sólo 'yes' y 'no'."
+#: utils/adt/tsgistidx.c:92
+#, c-format
+msgid "gtsvector_in not implemented"
+msgstr "gtsvector_in no está implementado"
 
-#: utils/adt/xml.c:1945
-msgid "Malformed declaration: missing version."
-msgstr "Declaración mal formada: falta la versión."
+#: utils/adt/tsquery.c:200
+#, c-format
+msgid "distance in phrase operator should not be greater than %d"
+msgstr "distancia en operador de frases no debe ser mayor que %d"
 
-#: utils/adt/xml.c:1948
-msgid "Missing encoding in text declaration."
-msgstr "Falta especificación de codificación en declaración de texto."
+#: utils/adt/tsquery.c:310 utils/adt/tsquery.c:725
+#: utils/adt/tsvector_parser.c:133
+#, c-format
+msgid "syntax error in tsquery: \"%s\""
+msgstr "error de sintaxis en tsquery: «%s»"
 
-#: utils/adt/xml.c:1951
-msgid "Parsing XML declaration: '?>' expected."
-msgstr "Procesando declaración XML: se esperaba '?>'."
+#: utils/adt/tsquery.c:334
+#, c-format
+msgid "no operand in tsquery: \"%s\""
+msgstr "no hay operando en tsquery: «%s»"
 
-#: utils/adt/xml.c:1954
+#: utils/adt/tsquery.c:568
 #, c-format
-msgid "Unrecognized libxml error code: %d."
-msgstr "Código de error libxml no reconocido: %d."
+msgid "value is too big in tsquery: \"%s\""
+msgstr "el valor es demasiado grande en tsquery: «%s»"
 
-#: utils/adt/xml.c:2211
+#: utils/adt/tsquery.c:573
 #, c-format
-msgid "XML does not support infinite date values."
-msgstr "XML no soporta valores infinitos de fecha."
+msgid "operand is too long in tsquery: \"%s\""
+msgstr "el operando es muy largo en tsquery: «%s»"
 
-#: utils/adt/xml.c:2233 utils/adt/xml.c:2260
+#: utils/adt/tsquery.c:601
 #, c-format
-msgid "XML does not support infinite timestamp values."
-msgstr "XML no soporta valores infinitos de timestamp."
+msgid "word is too long in tsquery: \"%s\""
+msgstr "palabra demasiado larga en tsquery: «%s»"
 
-#: utils/adt/xml.c:2676
+#: utils/adt/tsquery.c:870
 #, c-format
-msgid "invalid query"
-msgstr "consulta no válido"
+msgid "text-search query doesn't contain lexemes: \"%s\""
+msgstr "la consulta de búsqueda en texto no contiene lexemas: «%s»"
 
-#: utils/adt/xml.c:4016
+#: utils/adt/tsquery.c:881 utils/adt/tsquery_util.c:375
 #, c-format
-msgid "invalid array for XML namespace mapping"
-msgstr "array no válido para mapeo de espacio de nombres XML"
+msgid "tsquery is too large"
+msgstr "el tsquery es demasiado grande"
 
-#: utils/adt/xml.c:4017
+#: utils/adt/tsquery_cleanup.c:407
 #, c-format
-msgid "The array must be two-dimensional with length of the second axis equal to 2."
-msgstr "El array debe ser bidimensional y el largo del segundo eje igual a 2."
+msgid "text-search query contains only stop words or doesn't contain lexemes, ignored"
+msgstr "la consulta de búsqueda en texto contiene sólo stopwords o no contiene lexemas; ignorada"
 
-#: utils/adt/xml.c:4041
+#: utils/adt/tsquery_op.c:124
 #, c-format
-msgid "empty XPath expression"
-msgstr "expresion XPath vacía"
+msgid "distance in phrase operator should be non-negative and less than %d"
+msgstr "la distancia en el operador de frases debe ser no negativa y menor que %d"
 
-#: utils/adt/xml.c:4093
+#: utils/adt/tsquery_rewrite.c:321
 #, c-format
-msgid "neither namespace name nor URI may be null"
-msgstr "ni el espacio de nombres ni la URI pueden ser vacíos"
+msgid "ts_rewrite query must return two tsquery columns"
+msgstr "consulta ts_rewrite debe retornar dos columnas tsquery"
 
-#: utils/adt/xml.c:4100
+#: utils/adt/tsrank.c:412
 #, c-format
-msgid "could not register XML namespace with name \"%s\" and URI \"%s\""
-msgstr "no se pudo registrar un espacio de nombres XML llamado «%s» con URI «%s»"
+msgid "array of weight must be one-dimensional"
+msgstr "el array de pesos debe ser unidimensional"
 
-#: utils/adt/xml.c:4451
+#: utils/adt/tsrank.c:417
 #, c-format
-msgid "DEFAULT namespace is not supported"
-msgstr "el espacio de nombres DEFAULT no está soportado"
+msgid "array of weight is too short"
+msgstr "el array de pesos es muy corto"
 
-#: utils/adt/xml.c:4480
+#: utils/adt/tsrank.c:422
 #, c-format
-msgid "row path filter must not be empty string"
-msgstr "el «path» de filtro de registros no debe ser la cadena vacía"
+msgid "array of weight must not contain nulls"
+msgstr "los arrays de pesos no deben contener valores nulos"
 
-#: utils/adt/xml.c:4511
+#: utils/adt/tsrank.c:431 utils/adt/tsrank.c:872
 #, c-format
-msgid "column path filter must not be empty string"
-msgstr "el «path» de filtro de columna no debe ser la cadena vacía"
+msgid "weight out of range"
+msgstr "peso fuera de rango"
 
-#: utils/adt/xml.c:4661
+#: utils/adt/tsvector.c:215
 #, c-format
-msgid "more than one value returned by column XPath expression"
-msgstr "la expresión XPath de columna retornó más de un valor"
+msgid "word is too long (%ld bytes, max %ld bytes)"
+msgstr "la palabra es demasiado larga (%ld, máximo %ld bytes)"
 
-#: utils/cache/lsyscache.c:1015
+#: utils/adt/tsvector.c:222
 #, c-format
-msgid "cast from type %s to type %s does not exist"
-msgstr "no existe la conversión del tipo %s al tipo %s"
+msgid "string is too long for tsvector (%ld bytes, max %ld bytes)"
+msgstr "la cadena es demasiado larga para tsvector (%ld bytes, máximo %ld bytes)"
 
-#: utils/cache/lsyscache.c:2764 utils/cache/lsyscache.c:2797
-#: utils/cache/lsyscache.c:2830 utils/cache/lsyscache.c:2863
+#: utils/adt/tsvector_op.c:328 utils/adt/tsvector_op.c:608
+#: utils/adt/tsvector_op.c:770
 #, c-format
-msgid "type %s is only a shell"
-msgstr "el tipo %s está inconcluso"
+msgid "lexeme array may not contain nulls"
+msgstr "el array de lexemas no debe contener nulls"
 
-#: utils/cache/lsyscache.c:2769
+#: utils/adt/tsvector_op.c:840
 #, c-format
-msgid "no input function available for type %s"
-msgstr "no hay una función de entrada para el tipo %s"
+msgid "weight array may not contain nulls"
+msgstr "el array de pesos no debe contener nulls"
 
-#: utils/cache/lsyscache.c:2802
+#: utils/adt/tsvector_op.c:864
 #, c-format
-msgid "no output function available for type %s"
-msgstr "no hay una función de salida para el tipo %s"
+msgid "unrecognized weight: \"%c\""
+msgstr "no se reconoce el peso: «%c»"
 
-#: utils/cache/partcache.c:215
+#: utils/adt/tsvector_op.c:2426
 #, c-format
-msgid "operator class \"%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 acceso %2$s"
+msgid "ts_stat query must return one tsvector column"
+msgstr "la consulta ts_stat debe retornar una columna tsvector"
 
-#: utils/cache/plancache.c:718
+#: utils/adt/tsvector_op.c:2615
 #, c-format
-msgid "cached plan must not change result type"
-msgstr "el plan almacenado no debe cambiar el tipo de resultado"
+msgid "tsvector column \"%s\" does not exist"
+msgstr "la columna tsvector «%s» no existe"
 
-#: utils/cache/relcache.c:6078
+#: utils/adt/tsvector_op.c:2622
 #, c-format
-msgid "could not create relation-cache initialization file \"%s\": %m"
-msgstr "no se pudo crear el archivo de cache de catálogos de sistema «%s»: %m"
+msgid "column \"%s\" is not of tsvector type"
+msgstr "la columna «%s» no es de tipo tsvector"
 
-#: utils/cache/relcache.c:6080
+#: utils/adt/tsvector_op.c:2634
 #, c-format
-msgid "Continuing anyway, but there's something wrong."
-msgstr "Prosiguiendo de todas maneras, pero hay algo mal."
+msgid "configuration column \"%s\" does not exist"
+msgstr "la columna de configuración «%s» no existe"
 
-#: utils/cache/relcache.c:6402
+#: utils/adt/tsvector_op.c:2640
 #, c-format
-msgid "could not remove cache file \"%s\": %m"
-msgstr "no se pudo eliminar el archivo de cache «%s»: %m"
+msgid "column \"%s\" is not of regconfig type"
+msgstr "la columna «%s» no es de tipo regconfig"
 
-#: utils/cache/relmapper.c:531
+#: utils/adt/tsvector_op.c:2647
 #, c-format
-msgid "cannot PREPARE a transaction that modified relation mapping"
-msgstr "no se puede hacer PREPARE de una transacción que ha modificado el mapeo de relaciones"
+msgid "configuration column \"%s\" must not be null"
+msgstr "la columna de configuración «%s» no debe ser nula"
 
-#: utils/cache/relmapper.c:761
+#: utils/adt/tsvector_op.c:2660
 #, c-format
-msgid "relation mapping file \"%s\" contains invalid data"
-msgstr "el archivo de mapeo de relaciones «%s» contiene datos no válidos"
+msgid "text search configuration name \"%s\" must be schema-qualified"
+msgstr "el nombre de la configuración de búsqueda «%s» debe ser calificada con esquema"
 
-#: utils/cache/relmapper.c:771
+#: utils/adt/tsvector_op.c:2685
 #, c-format
-msgid "relation mapping file \"%s\" contains incorrect checksum"
-msgstr "el archivo de mapeo de relaciones «%s» tiene una suma de verificación incorrecta"
+msgid "column \"%s\" is not of a character type"
+msgstr "la columna «%s» no es de un tipo textual"
 
-#: utils/cache/typcache.c:1692 utils/fmgr/funcapi.c:461
+#: utils/adt/tsvector_parser.c:134
 #, c-format
-msgid "record type has not been registered"
-msgstr "el tipo record no ha sido registrado"
+msgid "syntax error in tsvector: \"%s\""
+msgstr "error de sintaxis en tsvector: «%s»"
 
-#: utils/error/assert.c:37
+#: utils/adt/tsvector_parser.c:200
 #, c-format
-msgid "TRAP: ExceptionalCondition: bad arguments\n"
-msgstr "TRAP: ExceptionalConditions: argumentos erróneos\n"
+msgid "there is no escaped character: \"%s\""
+msgstr "no hay carácter escapado: «%s»"
 
-#: utils/error/assert.c:40
+#: utils/adt/tsvector_parser.c:318
 #, c-format
-msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d)\n"
-msgstr "TRAP: %s(«%s», Archivo: «%s», Línea: %d)\n"
+msgid "wrong position info in tsvector: \"%s\""
+msgstr "información posicional incorrecta en tsvector: «%s»"
 
-#: utils/error/elog.c:322
+#: utils/adt/uuid.c:428
 #, c-format
-msgid "error occurred before error message processing is available\n"
-msgstr "ocurrió un error antes de que el procesamiento de errores esté disponible\n"
+msgid "could not generate random values"
+msgstr "no se pudo generar valores aleatorios"
 
-#: utils/error/elog.c:1868
+#: utils/adt/varbit.c:109 utils/adt/varchar.c:53
 #, c-format
-msgid "could not reopen file \"%s\" as stderr: %m"
-msgstr "no se pudo reabrir «%s» para error estándar: %m"
+msgid "length for type %s must be at least 1"
+msgstr "el largo para el tipo %s debe ser al menos 1"
 
-#: utils/error/elog.c:1881
+#: utils/adt/varbit.c:114 utils/adt/varchar.c:57
 #, c-format
-msgid "could not reopen file \"%s\" as stdout: %m"
-msgstr "no se pudo reabrir «%s» para usar como salida estándar: %m"
+msgid "length for type %s cannot exceed %d"
+msgstr "el largo del tipo %s no puede exceder %d"
 
-#: utils/error/elog.c:2373 utils/error/elog.c:2407 utils/error/elog.c:2423
-msgid "[unknown]"
-msgstr "[desconocido]"
+#: utils/adt/varbit.c:197 utils/adt/varbit.c:498 utils/adt/varbit.c:993
+#, c-format
+msgid "bit string length exceeds the maximum allowed (%d)"
+msgstr "el tamaño de la cadena de bits excede el máximo permitido (%d)"
 
-#: utils/error/elog.c:2893 utils/error/elog.c:3203 utils/error/elog.c:3311
-msgid "missing error text"
-msgstr "falta un texto de mensaje de error"
+#: utils/adt/varbit.c:211 utils/adt/varbit.c:355 utils/adt/varbit.c:405
+#, c-format
+msgid "bit string length %d does not match type bit(%d)"
+msgstr "el largo de la cadena de bits %d no coincide con el tipo bit(%d)"
 
-#: utils/error/elog.c:2896 utils/error/elog.c:2899 utils/error/elog.c:3314
-#: utils/error/elog.c:3317
+#: utils/adt/varbit.c:233 utils/adt/varbit.c:534
 #, c-format
-msgid " at character %d"
-msgstr " en carácter %d"
+msgid "\"%c\" is not a valid binary digit"
+msgstr "«%c» no es un dígito binario válido"
 
-#: utils/error/elog.c:2909 utils/error/elog.c:2916
-msgid "DETAIL:  "
-msgstr "DETALLE:  "
+#: utils/adt/varbit.c:258 utils/adt/varbit.c:559
+#, c-format
+msgid "\"%c\" is not a valid hexadecimal digit"
+msgstr "«%c» no es un dígito hexadecimal válido"
 
-#: utils/error/elog.c:2923
-msgid "HINT:  "
-msgstr "HINT:  "
+#: utils/adt/varbit.c:346 utils/adt/varbit.c:651
+#, c-format
+msgid "invalid length in external bit string"
+msgstr "el largo no es válido en cadena de bits externa"
 
-#: utils/error/elog.c:2930
-msgid "QUERY:  "
-msgstr "CONSULTA:  "
+#: utils/adt/varbit.c:512 utils/adt/varbit.c:660 utils/adt/varbit.c:756
+#, c-format
+msgid "bit string too long for type bit varying(%d)"
+msgstr "la cadena de bits es demasiado larga para el tipo bit varying(%d)"
 
-#: utils/error/elog.c:2937
-msgid "CONTEXT:  "
-msgstr "CONTEXTO:  "
+#: utils/adt/varbit.c:1080 utils/adt/varbit.c:1190 utils/adt/varlena.c:873
+#: utils/adt/varlena.c:936 utils/adt/varlena.c:1093 utils/adt/varlena.c:3313
+#: utils/adt/varlena.c:3391
+#, c-format
+msgid "negative substring length not allowed"
+msgstr "no se permite un largo negativo de subcadena"
 
-#: utils/error/elog.c:2947
+#: utils/adt/varbit.c:1247
 #, c-format
-msgid "LOCATION:  %s, %s:%d\n"
-msgstr "UBICACIÓN:  %s, %s:%d\n"
+msgid "cannot AND bit strings of different sizes"
+msgstr "no se puede hacer AND entre cadenas de bits de distintos tamaños"
 
-#: utils/error/elog.c:2954
+#: utils/adt/varbit.c:1288
 #, c-format
-msgid "LOCATION:  %s:%d\n"
-msgstr "UBICACIÓN:  %s:%d\n"
+msgid "cannot OR bit strings of different sizes"
+msgstr "no se puede hacer OR entre cadenas de bits de distintos tamaños"
 
-#: utils/error/elog.c:2961
-msgid "BACKTRACE:  "
-msgstr "BACKTRACE:  "
+#: utils/adt/varbit.c:1328
+#, c-format
+msgid "cannot XOR bit strings of different sizes"
+msgstr "no se puede hacer XOR entre cadenas de bits de distintos tamaños"
 
-#: utils/error/elog.c:2975
-msgid "STATEMENT:  "
-msgstr "SENTENCIA:  "
+#: utils/adt/varbit.c:1810 utils/adt/varbit.c:1868
+#, c-format
+msgid "bit index %d out of valid range (0..%d)"
+msgstr "el índice de bit %d está fuera del rango válido (0..%d)"
 
-#: utils/error/elog.c:3364
-msgid "DEBUG"
-msgstr "DEBUG"
+#: utils/adt/varbit.c:1819 utils/adt/varlena.c:3584
+#, c-format
+msgid "new bit must be 0 or 1"
+msgstr "el nuevo bit debe ser 0 o 1"
 
-#: utils/error/elog.c:3368
-msgid "LOG"
-msgstr "LOG"
+#: utils/adt/varchar.c:157 utils/adt/varchar.c:310
+#, c-format
+msgid "value too long for type character(%d)"
+msgstr "el valor es demasiado largo para el tipo character(%d)"
 
-#: utils/error/elog.c:3371
-msgid "INFO"
-msgstr "INFO"
+#: utils/adt/varchar.c:472 utils/adt/varchar.c:634
+#, c-format
+msgid "value too long for type character varying(%d)"
+msgstr "el valor es demasiado largo para el tipo character varying(%d)"
 
-#: utils/error/elog.c:3374
-msgid "NOTICE"
-msgstr "NOTICE"
+#: utils/adt/varchar.c:732 utils/adt/varlena.c:1485
+#, c-format
+msgid "could not determine which collation to use for string comparison"
+msgstr "no se pudo determinar qué ordenamiento usar para la comparación de cadenas"
 
-#: utils/error/elog.c:3377
-msgid "WARNING"
-msgstr "WARNING"
+#: utils/adt/varlena.c:1192 utils/adt/varlena.c:1925
+#, c-format
+msgid "nondeterministic collations are not supported for substring searches"
+msgstr "los ordenamientos no determinísticos no están soportados para búsquedas de sub-cadenas"
 
-#: utils/error/elog.c:3380
-msgid "ERROR"
-msgstr "ERROR"
+#: utils/adt/varlena.c:1584 utils/adt/varlena.c:1597
+#, c-format
+msgid "could not convert string to UTF-16: error code %lu"
+msgstr "no se pudo convertir la cadena a UTF-16: código de error %lu"
 
-#: utils/error/elog.c:3383
-msgid "FATAL"
-msgstr "FATAL"
+#: utils/adt/varlena.c:1612
+#, c-format
+msgid "could not compare Unicode strings: %m"
+msgstr "no se pudieron comparar las cadenas Unicode: %m"
 
-#: utils/error/elog.c:3386
-msgid "PANIC"
-msgstr "PANIC"
+#: utils/adt/varlena.c:1663 utils/adt/varlena.c:2377
+#, c-format
+msgid "collation failed: %s"
+msgstr "el ordenamiento falló: %s"
 
-#: utils/fmgr/dfmgr.c:130
+#: utils/adt/varlena.c:2585
 #, c-format
-msgid "could not find function \"%s\" in file \"%s\""
-msgstr "no se pudo encontrar la función «%s» en el archivo «%s»"
+msgid "sort key generation failed: %s"
+msgstr "la generación de la llave de ordenamiento falló: %s"
 
-#: utils/fmgr/dfmgr.c:247
+#: utils/adt/varlena.c:3468 utils/adt/varlena.c:3535
 #, c-format
-msgid "could not load library \"%s\": %s"
-msgstr "no se pudo cargar la biblioteca «%s»: %s"
+msgid "index %d out of valid range, 0..%d"
+msgstr "el índice %d está fuera de rango [0..%d]"
 
-#: utils/fmgr/dfmgr.c:279
+#: utils/adt/varlena.c:3499 utils/adt/varlena.c:3571
 #, c-format
-msgid "incompatible library \"%s\": missing magic block"
-msgstr "biblioteca «%s» incompatible: no se encuentra el bloque mágico"
+msgid "index %lld out of valid range, 0..%lld"
+msgstr "el índice %lld está fuera de rango, 0..%lld"
 
-#: utils/fmgr/dfmgr.c:281
+#: utils/adt/varlena.c:4608
 #, c-format
-msgid "Extension libraries are required to use the PG_MODULE_MAGIC macro."
-msgstr "Se requiere que las bibliotecas de extensión usen la macro PG_MODULE_MAGIC."
+msgid "field position must be greater than zero"
+msgstr "la posición del campo debe ser mayor que cero"
 
-#: utils/fmgr/dfmgr.c:327
+#: utils/adt/varlena.c:5474
 #, c-format
-msgid "incompatible library \"%s\": version mismatch"
-msgstr "biblioteca «%s» incompatible: versión no coincide"
+msgid "unterminated format() type specifier"
+msgstr "especificador de tipo inconcluso en format()"
 
-#: utils/fmgr/dfmgr.c:329
+#: utils/adt/varlena.c:5475 utils/adt/varlena.c:5609 utils/adt/varlena.c:5730
 #, c-format
-msgid "Server is version %d, library is version %s."
-msgstr "Versión del servidor %d, versión de biblioteca %s."
+msgid "For a single \"%%\" use \"%%%%\"."
+msgstr "Para un «%%» solo, use «%%%%»."
 
-#: utils/fmgr/dfmgr.c:346
+#: utils/adt/varlena.c:5607 utils/adt/varlena.c:5728
 #, c-format
-msgid "Server has FUNC_MAX_ARGS = %d, library has %d."
-msgstr "El servidor tiene FUNC_MAX_ARGS = %d, la librería tiene %d"
+msgid "unrecognized format() type specifier \"%c\""
+msgstr "especificador de tipo no reconocido «%c» en format()"
 
-#: utils/fmgr/dfmgr.c:355
+#: utils/adt/varlena.c:5620 utils/adt/varlena.c:5677
 #, c-format
-msgid "Server has INDEX_MAX_KEYS = %d, library has %d."
-msgstr "El servidor tiene INDEX_MAX_KEYS = %d, la librería tiene %d"
+msgid "too few arguments for format()"
+msgstr "muy pocos argumentos para format()"
 
-#: utils/fmgr/dfmgr.c:364
+#: utils/adt/varlena.c:5773 utils/adt/varlena.c:5955
 #, c-format
-msgid "Server has NAMEDATALEN = %d, library has %d."
-msgstr "El servidor tiene NAMEDATALEN = %d, la librería tiene %d"
+msgid "number is out of range"
+msgstr "el número está fuera de rango"
 
-#: utils/fmgr/dfmgr.c:373
+#: utils/adt/varlena.c:5836 utils/adt/varlena.c:5864
 #, c-format
-msgid "Server has FLOAT8PASSBYVAL = %s, library has %s."
-msgstr "El servidor tiene FLOAT8PASSBYVAL = %s, la librería tiene %s"
+msgid "format specifies argument 0, but arguments are numbered from 1"
+msgstr "la conversión especifica el argumento 0, pero los argumentos se numeran desde 1"
 
-#: utils/fmgr/dfmgr.c:380
-msgid "Magic block has unexpected length or padding difference."
-msgstr "El bloque mágico tiene un largo inesperado, o una diferencia de relleno."
+#: utils/adt/varlena.c:5857
+#, c-format
+msgid "width argument position must be ended by \"$\""
+msgstr "la posición del argumento de anchura debe terminar con «$»"
 
-#: utils/fmgr/dfmgr.c:383
+#: utils/adt/varlena.c:5902
 #, c-format
-msgid "incompatible library \"%s\": magic block mismatch"
-msgstr "biblioteca «%s» incompatible: bloque mágico no coincide"
+msgid "null values cannot be formatted as an SQL identifier"
+msgstr "los valores nulos no pueden ser formateados como un identificador SQL"
 
-#: utils/fmgr/dfmgr.c:547
+#: utils/adt/varlena.c:6028
 #, c-format
-msgid "access to library \"%s\" is not allowed"
-msgstr "no está permitido el acceso a la biblioteca «%s»"
+msgid "Unicode normalization can only be performed if server encoding is UTF8"
+msgstr "la normalización Unicode sólo puede ser hecha si la codificación de servidor es UTF8"
 
-#: utils/fmgr/dfmgr.c:573
+#: utils/adt/varlena.c:6041
 #, c-format
-msgid "invalid macro name in dynamic library path: %s"
-msgstr "el nombre de macro no es válido en la ruta a biblioteca dinámica: %s"
+msgid "invalid normalization form: %s"
+msgstr "forma de normalización no válida: %s"
 
-#: utils/fmgr/dfmgr.c:613
+#: utils/adt/windowfuncs.c:243
 #, c-format
-msgid "zero-length component in parameter \"dynamic_library_path\""
-msgstr "se encontró componente de largo cero en el parámetro «dynamic_library_path»"
+msgid "argument of ntile must be greater than zero"
+msgstr "el argumento de ntile debe ser mayor que cero"
 
-#: utils/fmgr/dfmgr.c:632
+#: utils/adt/windowfuncs.c:465
 #, c-format
-msgid "component in parameter \"dynamic_library_path\" is not an absolute path"
-msgstr "un componente en el parámetro «dynamic_library_path» no es una ruta absoluta"
+msgid "argument of nth_value must be greater than zero"
+msgstr "el argumento de nth_value debe ser mayor que cero"
 
-#: utils/fmgr/fmgr.c:238
+#: utils/adt/xid8funcs.c:116
 #, c-format
-msgid "internal function \"%s\" is not in internal lookup table"
-msgstr "la función interna «%s» no está en la tabla interna de búsqueda"
+msgid "transaction ID %s is in the future"
+msgstr "el ID de transacción %s está en el futuro"
 
-#: utils/fmgr/fmgr.c:487
+#: utils/adt/xid8funcs.c:547
 #, c-format
-msgid "could not find function information for function \"%s\""
-msgstr "no se pudo encontrar información de función para la función «%s»"
+msgid "invalid external pg_snapshot data"
+msgstr "datos externos pg_snapshot no válidos"
 
-#: utils/fmgr/fmgr.c:489
+#: utils/adt/xml.c:222
 #, c-format
-msgid "SQL-callable functions need an accompanying PG_FUNCTION_INFO_V1(funcname)."
-msgstr "Funciones invocables desde SQL necesitan PG_FUNCTION_INFO_V1(función) que los acompañe."
+msgid "unsupported XML feature"
+msgstr "característica XML no soportada"
 
-#: utils/fmgr/fmgr.c:507
+#: utils/adt/xml.c:223
 #, c-format
-msgid "unrecognized API version %d reported by info function \"%s\""
-msgstr "la versión de API %d no reconocida fue reportada por la función «%s»"
+msgid "This functionality requires the server to be built with libxml support."
+msgstr "Esta funcionalidad requiere que el servidor haya sido construido con soporte libxml."
 
-#: utils/fmgr/fmgr.c:2003
-#, fuzzy, c-format
-#| msgid "operator class options info is absent in function call context"
-msgid "opclass options info is absent in function call context"
-msgstr "la información de opciones de la clase de operadores está ausente en el contexto de llamada a función"
+#: utils/adt/xml.c:224
+#, c-format
+msgid "You need to rebuild PostgreSQL using --with-libxml."
+msgstr "Necesita reconstruir PostgreSQL usando --with-libxml."
 
-#: utils/fmgr/fmgr.c:2070
+#: utils/adt/xml.c:243 utils/mb/mbutils.c:570
 #, c-format
-msgid "language validation function %u called for language %u instead of %u"
-msgstr "función de validación de lenguaje %u invocada para el lenguaje %u en lugar de %u"
+msgid "invalid encoding name \"%s\""
+msgstr "nombre de codificación «%s» no válido"
 
-#: utils/fmgr/funcapi.c:384
+#: utils/adt/xml.c:486 utils/adt/xml.c:491
 #, c-format
-msgid "could not determine actual result type for function \"%s\" declared to return type %s"
-msgstr "no se pudo determinar el tipo verdadero de resultado para la función «%s»  declarada retornando tipo %s"
+msgid "invalid XML comment"
+msgstr "comentario XML no válido"
 
-#: utils/fmgr/funcapi.c:1651 utils/fmgr/funcapi.c:1683
+#: utils/adt/xml.c:620
 #, c-format
-msgid "number of aliases does not match number of columns"
-msgstr "el número de aliases no coincide con el número de columnas"
+msgid "not an XML document"
+msgstr "no es un documento XML"
 
-#: utils/fmgr/funcapi.c:1677
+#: utils/adt/xml.c:779 utils/adt/xml.c:802
 #, c-format
-msgid "no column alias was provided"
-msgstr "no se entregó alias de columna"
+msgid "invalid XML processing instruction"
+msgstr "instrucción de procesamiento XML no válida"
+
+#: utils/adt/xml.c:780
+#, c-format
+msgid "XML processing instruction target name cannot be \"%s\"."
+msgstr "el nombre de destino de la instrucción de procesamiento XML no puede ser «%s»."
 
-#: utils/fmgr/funcapi.c:1701
+#: utils/adt/xml.c:803
 #, c-format
-msgid "could not determine row description for function returning record"
-msgstr "no se pudo encontrar descripción de registro de función que retorna record"
+msgid "XML processing instruction cannot contain \"?>\"."
+msgstr "la instrucción de procesamiento XML no puede contener «?>»."
 
-#: utils/init/miscinit.c:285
+#: utils/adt/xml.c:882
 #, c-format
-msgid "data directory \"%s\" does not exist"
-msgstr "no existe el directorio de datos «%s»"
+msgid "xmlvalidate is not implemented"
+msgstr "xmlvalidate no está implementado"
 
-#: utils/init/miscinit.c:290
+#: utils/adt/xml.c:961
 #, c-format
-msgid "could not read permissions of directory \"%s\": %m"
-msgstr "no se pudo obtener los permisos del directorio «%s»: %m"
+msgid "could not initialize XML library"
+msgstr "no se pudo inicializar la biblioteca XML"
 
-#: utils/init/miscinit.c:298
+#: utils/adt/xml.c:962
 #, c-format
-msgid "specified data directory \"%s\" is not a directory"
-msgstr "el directorio de datos especificado «%s» no es un directorio"
+msgid "libxml2 has incompatible char type: sizeof(char)=%u, sizeof(xmlChar)=%u."
+msgstr "libxml2 tiene tipo char incompatible: sizeof(char)=%u, sizeof(xmlChar)=%u."
 
-#: utils/init/miscinit.c:314
+#: utils/adt/xml.c:1048
 #, c-format
-msgid "data directory \"%s\" has wrong ownership"
-msgstr "el directorio de datos «%s» tiene dueño equivocado"
+msgid "could not set up XML error handler"
+msgstr "no se pudo instalar un gestor de errores XML"
 
-#: utils/init/miscinit.c:316
+#: utils/adt/xml.c:1049
 #, c-format
-msgid "The server must be started by the user that owns the data directory."
-msgstr "El servidor debe ser iniciado por el usuario dueño del directorio de datos."
+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 "Esto probablemente indica que la versión de libxml2 en uso no es compatible con los archivos de cabecera libxml2 con los que PostgreSQL fue construido."
 
-#: utils/init/miscinit.c:334
-#, c-format
-msgid "data directory \"%s\" has invalid permissions"
-msgstr "el directorio de datos «%s» tiene permisos no válidos"
+#: utils/adt/xml.c:1936
+msgid "Invalid character value."
+msgstr "Valor de carácter no válido."
 
-#: utils/init/miscinit.c:336
-#, c-format
-msgid "Permissions should be u=rwx (0700) or u=rwx,g=rx (0750)."
-msgstr "Los permisos deberían ser u=rwx (0700) o u=rwx,g=rx (0750)."
+#: utils/adt/xml.c:1939
+msgid "Space required."
+msgstr "Se requiere un espacio."
 
-#: utils/init/miscinit.c:615 utils/misc/guc.c:7139
-#, c-format
-msgid "cannot set parameter \"%s\" within security-restricted operation"
-msgstr "no se puede definir el parámetro «%s» dentro de una operación restringida por seguridad"
+#: utils/adt/xml.c:1942
+msgid "standalone accepts only 'yes' or 'no'."
+msgstr "standalone acepta sólo 'yes' y 'no'."
 
-#: utils/init/miscinit.c:683
-#, c-format
-msgid "role with OID %u does not exist"
-msgstr "no existe el rol con OID %u"
+#: utils/adt/xml.c:1945
+msgid "Malformed declaration: missing version."
+msgstr "Declaración mal formada: falta la versión."
 
-#: utils/init/miscinit.c:713
-#, c-format
-msgid "role \"%s\" is not permitted to log in"
-msgstr "al rol «%s» no se le permite conectarse"
+#: utils/adt/xml.c:1948
+msgid "Missing encoding in text declaration."
+msgstr "Falta especificación de codificación en declaración de texto."
 
-#: utils/init/miscinit.c:731
-#, c-format
-msgid "too many connections for role \"%s\""
-msgstr "demasiadas conexiones para el rol «%s»"
+#: utils/adt/xml.c:1951
+msgid "Parsing XML declaration: '?>' expected."
+msgstr "Procesando declaración XML: se esperaba '?>'."
 
-#: utils/init/miscinit.c:791
+#: utils/adt/xml.c:1954
 #, c-format
-msgid "permission denied to set session authorization"
-msgstr "se ha denegado el permiso para cambiar el usuario actual"
+msgid "Unrecognized libxml error code: %d."
+msgstr "Código de error libxml no reconocido: %d."
 
-#: utils/init/miscinit.c:874
+#: utils/adt/xml.c:2211
 #, c-format
-msgid "invalid role OID: %u"
-msgstr "el OID de rol no es válido: %u"
+msgid "XML does not support infinite date values."
+msgstr "XML no soporta valores infinitos de fecha."
 
-#: utils/init/miscinit.c:928
+#: utils/adt/xml.c:2233 utils/adt/xml.c:2260
 #, c-format
-msgid "database system is shut down"
-msgstr "el sistema de bases de datos está apagado"
+msgid "XML does not support infinite timestamp values."
+msgstr "XML no soporta valores infinitos de timestamp."
 
-#: utils/init/miscinit.c:1015
+#: utils/adt/xml.c:2676
 #, c-format
-msgid "could not create lock file \"%s\": %m"
-msgstr "no se pudo crear el archivo de bloqueo «%s»: %m"
+msgid "invalid query"
+msgstr "consulta no válido"
 
-#: utils/init/miscinit.c:1029
+#: utils/adt/xml.c:4016
 #, c-format
-msgid "could not open lock file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de bloqueo «%s»: %m"
+msgid "invalid array for XML namespace mapping"
+msgstr "array no válido para mapeo de espacio de nombres XML"
 
-#: utils/init/miscinit.c:1036
+#: utils/adt/xml.c:4017
 #, c-format
-msgid "could not read lock file \"%s\": %m"
-msgstr "no se pudo leer el archivo de bloqueo «%s»: %m"
+msgid "The array must be two-dimensional with length of the second axis equal to 2."
+msgstr "El array debe ser bidimensional y el largo del segundo eje igual a 2."
 
-#: utils/init/miscinit.c:1045
+#: utils/adt/xml.c:4041
 #, c-format
-msgid "lock file \"%s\" is empty"
-msgstr "el archivo de bloqueo «%s» está vacío"
+msgid "empty XPath expression"
+msgstr "expresion XPath vacía"
 
-#: utils/init/miscinit.c:1046
+#: utils/adt/xml.c:4093
 #, c-format
-msgid "Either another server is starting, or the lock file is the remnant of a previous server startup crash."
-msgstr "Otro proceso servidor está iniciándose, o el archivo de bloqueo es remanente de una caída durante un inicio anterior."
+msgid "neither namespace name nor URI may be null"
+msgstr "ni el espacio de nombres ni la URI pueden ser vacíos"
 
-#: utils/init/miscinit.c:1090
+#: utils/adt/xml.c:4100
 #, c-format
-msgid "lock file \"%s\" already exists"
-msgstr "el archivo de bloqueo «%s» ya existe"
+msgid "could not register XML namespace with name \"%s\" and URI \"%s\""
+msgstr "no se pudo registrar un espacio de nombres XML llamado «%s» con URI «%s»"
 
-#: utils/init/miscinit.c:1094
+#: utils/adt/xml.c:4451
 #, c-format
-msgid "Is another postgres (PID %d) running in data directory \"%s\"?"
-msgstr "¿Hay otro postgres (PID %d) corriendo en el directorio de datos «%s»?"
+msgid "DEFAULT namespace is not supported"
+msgstr "el espacio de nombres DEFAULT no está soportado"
 
-#: utils/init/miscinit.c:1096
+#: utils/adt/xml.c:4480
 #, c-format
-msgid "Is another postmaster (PID %d) running in data directory \"%s\"?"
-msgstr "¿Hay otro postmaster (PID %d) corriendo en el directorio de datos «%s»?"
+msgid "row path filter must not be empty string"
+msgstr "el «path» de filtro de registros no debe ser la cadena vacía"
 
-#: utils/init/miscinit.c:1099
+#: utils/adt/xml.c:4511
 #, c-format
-msgid "Is another postgres (PID %d) using socket file \"%s\"?"
-msgstr "¿Hay otro postgres (PID %d) usando el socket «%s»?"
+msgid "column path filter must not be empty string"
+msgstr "el «path» de filtro de columna no debe ser la cadena vacía"
 
-#: utils/init/miscinit.c:1101
+#: utils/adt/xml.c:4661
 #, c-format
-msgid "Is another postmaster (PID %d) using socket file \"%s\"?"
-msgstr "¿Hay otro postmaster (PID %d) usando el socket «%s»?"
+msgid "more than one value returned by column XPath expression"
+msgstr "la expresión XPath de columna retornó más de un valor"
 
-#: utils/init/miscinit.c:1152
+#: utils/cache/lsyscache.c:1042
 #, c-format
-msgid "could not remove old lock file \"%s\": %m"
-msgstr "no se pudo eliminar el archivo de bloqueo antiguo «%s»: %m"
+msgid "cast from type %s to type %s does not exist"
+msgstr "no existe la conversión del tipo %s al tipo %s"
 
-#: utils/init/miscinit.c:1154
+#: utils/cache/lsyscache.c:2791 utils/cache/lsyscache.c:2824
+#: utils/cache/lsyscache.c:2857 utils/cache/lsyscache.c:2890
 #, c-format
-msgid "The file seems accidentally left over, but it could not be removed. Please remove the file by hand and try again."
-msgstr "El archivo parece accidentalmente abandonado, pero no pudo ser eliminado. Por favor elimine el archivo manualmente e intente nuevamente."
+msgid "type %s is only a shell"
+msgstr "el tipo %s está inconcluso"
 
-#: utils/init/miscinit.c:1191 utils/init/miscinit.c:1205
-#: utils/init/miscinit.c:1216
+#: utils/cache/lsyscache.c:2796
 #, c-format
-msgid "could not write lock file \"%s\": %m"
-msgstr "no se pudo escribir el archivo de bloqueo «%s»: %m"
+msgid "no input function available for type %s"
+msgstr "no hay una función de entrada para el tipo %s"
 
-#: utils/init/miscinit.c:1327 utils/init/miscinit.c:1469 utils/misc/guc.c:10038
+#: utils/cache/lsyscache.c:2829
 #, c-format
-msgid "could not read from file \"%s\": %m"
-msgstr "no se pudo leer el archivo «%s»: %m"
+msgid "no output function available for type %s"
+msgstr "no hay una función de salida para el tipo %s"
 
-#: utils/init/miscinit.c:1457
+#: utils/cache/partcache.c:215
 #, c-format
-msgid "could not open file \"%s\": %m; continuing anyway"
-msgstr "no se pudo abrir el archivo «%s»: %m; continuando de todas formas"
+msgid "operator class \"%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 acceso %2$s"
 
-#: utils/init/miscinit.c:1482
+#: utils/cache/plancache.c:718
 #, c-format
-msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld"
-msgstr "el archivo de bloqueo «%s» tiene un PID erróneo: %ld en lugar de %ld"
+msgid "cached plan must not change result type"
+msgstr "el plan almacenado no debe cambiar el tipo de resultado"
 
-#: utils/init/miscinit.c:1521 utils/init/miscinit.c:1537
+#: utils/cache/relcache.c:6081
 #, c-format
-msgid "\"%s\" is not a valid data directory"
-msgstr "«%s» no es un directorio de datos válido"
+msgid "could not create relation-cache initialization file \"%s\": %m"
+msgstr "no se pudo crear el archivo de cache de catálogos de sistema «%s»: %m"
 
-#: utils/init/miscinit.c:1523
+#: utils/cache/relcache.c:6083
 #, c-format
-msgid "File \"%s\" is missing."
-msgstr "Falta el archivo «%s»."
+msgid "Continuing anyway, but there's something wrong."
+msgstr "Prosiguiendo de todas maneras, pero hay algo mal."
 
-#: utils/init/miscinit.c:1539
+#: utils/cache/relcache.c:6405
 #, c-format
-msgid "File \"%s\" does not contain valid data."
-msgstr "El archivo «%s» no contiene datos válidos."
+msgid "could not remove cache file \"%s\": %m"
+msgstr "no se pudo eliminar el archivo de cache «%s»: %m"
 
-#: utils/init/miscinit.c:1541
+#: utils/cache/relmapper.c:531
 #, c-format
-msgid "You might need to initdb."
-msgstr "Puede ser necesario ejecutar initdb."
+msgid "cannot PREPARE a transaction that modified relation mapping"
+msgstr "no se puede hacer PREPARE de una transacción que ha modificado el mapeo de relaciones"
 
-#: utils/init/miscinit.c:1549
+#: utils/cache/relmapper.c:761
 #, c-format
-msgid "The data directory was initialized by PostgreSQL version %s, which is not compatible with this version %s."
-msgstr "El directorio de datos fue inicializado por PostgreSQL versión %s, que no es compatible con esta versión %s."
+msgid "relation mapping file \"%s\" contains invalid data"
+msgstr "el archivo de mapeo de relaciones «%s» contiene datos no válidos"
 
-#: utils/init/miscinit.c:1616
+#: utils/cache/relmapper.c:771
 #, c-format
-msgid "loaded library \"%s\""
-msgstr "biblioteca «%s» cargada"
+msgid "relation mapping file \"%s\" contains incorrect checksum"
+msgstr "el archivo de mapeo de relaciones «%s» tiene una suma de verificación incorrecta"
 
-#: utils/init/postinit.c:255
+#: utils/cache/typcache.c:1692 utils/fmgr/funcapi.c:461
 #, c-format
-msgid "replication connection authorized: user=%s application_name=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)"
-msgstr "conexión de replicación autorizada: usuario=%s application_name=%s SSL activo (protocolo=%s, cifrado=%s, bits=%d, compresión=%s)"
-
-#: utils/init/postinit.c:261 utils/init/postinit.c:267
-#: utils/init/postinit.c:289 utils/init/postinit.c:295
-msgid "off"
-msgstr "desactivado"
-
-#: utils/init/postinit.c:261 utils/init/postinit.c:267
-#: utils/init/postinit.c:289 utils/init/postinit.c:295
-msgid "on"
-msgstr "activado"
+msgid "record type has not been registered"
+msgstr "el tipo record no ha sido registrado"
 
-#: utils/init/postinit.c:262
+#: utils/error/assert.c:37
 #, c-format
-msgid "replication connection authorized: user=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)"
-msgstr "conexión de replicación autorizada: usuario=%s SSL activo (protocolo=%s, cifrado=%s, bits=%d, compresión=%s)"
+msgid "TRAP: ExceptionalCondition: bad arguments\n"
+msgstr "TRAP: ExceptionalConditions: argumentos erróneos\n"
 
-#: utils/init/postinit.c:272
+#: utils/error/assert.c:40
 #, c-format
-msgid "replication connection authorized: user=%s application_name=%s"
-msgstr "conexión de replicación autorizada: usuario=%s application_name=%s"
+msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d)\n"
+msgstr "TRAP: %s(«%s», Archivo: «%s», Línea: %d)\n"
 
-#: utils/init/postinit.c:275
+#: utils/error/elog.c:322
 #, c-format
-msgid "replication connection authorized: user=%s"
-msgstr "conexión de replicación autorizada: usuario=%s"
+msgid "error occurred before error message processing is available\n"
+msgstr "ocurrió un error antes de que el procesamiento de errores esté disponible\n"
 
-#: utils/init/postinit.c:284
+#: utils/error/elog.c:1868
 #, c-format
-msgid "connection authorized: user=%s database=%s application_name=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)"
-msgstr "conexión autorizada: usuario=%s base_de_datos=%s application_name=%s SSL activo (protocolo=%s, cifrado=%s, bits=%d, compresión=%s)"
+msgid "could not reopen file \"%s\" as stderr: %m"
+msgstr "no se pudo reabrir «%s» para error estándar: %m"
 
-#: utils/init/postinit.c:290
+#: utils/error/elog.c:1881
 #, c-format
-msgid "connection authorized: user=%s database=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)"
-msgstr "conexión autorizada: usuario=%s base de datos=%s SSL activo (protocolo=%s, cifrado=%s, bits=%d, compresión=%s"
+msgid "could not reopen file \"%s\" as stdout: %m"
+msgstr "no se pudo reabrir «%s» para usar como salida estándar: %m"
 
-#: utils/init/postinit.c:300
-#, c-format
-msgid "connection authorized: user=%s database=%s application_name=%s"
-msgstr "conexión autorizada: usuario=%s base de datos=%s application_name=%s"
+#: utils/error/elog.c:2373 utils/error/elog.c:2407 utils/error/elog.c:2423
+msgid "[unknown]"
+msgstr "[desconocido]"
+
+#: utils/error/elog.c:2893 utils/error/elog.c:3203 utils/error/elog.c:3311
+msgid "missing error text"
+msgstr "falta un texto de mensaje de error"
 
-#: utils/init/postinit.c:302
+#: utils/error/elog.c:2896 utils/error/elog.c:2899 utils/error/elog.c:3314
+#: utils/error/elog.c:3317
 #, c-format
-msgid "connection authorized: user=%s database=%s"
-msgstr "conexión autorizada: usuario=%s database=%s"
+msgid " at character %d"
+msgstr " en carácter %d"
 
-#: utils/init/postinit.c:334
-#, c-format
-msgid "database \"%s\" has disappeared from pg_database"
-msgstr "la base de datos «%s» ha desaparecido de pg_database"
+#: utils/error/elog.c:2909 utils/error/elog.c:2916
+msgid "DETAIL:  "
+msgstr "DETALLE:  "
 
-#: utils/init/postinit.c:336
-#, c-format
-msgid "Database OID %u now seems to belong to \"%s\"."
-msgstr "Base de datos con OID %u ahora parece pertenecer a «%s»."
+#: utils/error/elog.c:2923
+msgid "HINT:  "
+msgstr "HINT:  "
 
-#: utils/init/postinit.c:356
-#, c-format
-msgid "database \"%s\" is not currently accepting connections"
-msgstr "la base de datos «%s» no acepta conexiones"
+#: utils/error/elog.c:2930
+msgid "QUERY:  "
+msgstr "CONSULTA:  "
 
-#: utils/init/postinit.c:369
-#, c-format
-msgid "permission denied for database \"%s\""
-msgstr "permiso denegado a la base de datos «%s»"
+#: utils/error/elog.c:2937
+msgid "CONTEXT:  "
+msgstr "CONTEXTO:  "
 
-#: utils/init/postinit.c:370
+#: utils/error/elog.c:2947
 #, c-format
-msgid "User does not have CONNECT privilege."
-msgstr "Usuario no tiene privilegios de conexión."
+msgid "LOCATION:  %s, %s:%d\n"
+msgstr "UBICACIÓN:  %s, %s:%d\n"
 
-#: utils/init/postinit.c:387
+#: utils/error/elog.c:2954
 #, c-format
-msgid "too many connections for database \"%s\""
-msgstr "demasiadas conexiones para la base de datos «%s»"
+msgid "LOCATION:  %s:%d\n"
+msgstr "UBICACIÓN:  %s:%d\n"
 
-#: utils/init/postinit.c:409 utils/init/postinit.c:416
-#, c-format
-msgid "database locale is incompatible with operating system"
-msgstr "la configuración regional es incompatible con el sistema operativo"
+#: utils/error/elog.c:2961
+msgid "BACKTRACE:  "
+msgstr "BACKTRACE:  "
 
-#: utils/init/postinit.c:410
-#, c-format
-msgid "The database was initialized with LC_COLLATE \"%s\",  which is not recognized by setlocale()."
-msgstr "La base de datos fue inicializada con LC_COLLATE «%s», el cual no es reconocido por setlocale()."
+#: utils/error/elog.c:2975
+msgid "STATEMENT:  "
+msgstr "SENTENCIA:  "
 
-#: utils/init/postinit.c:412 utils/init/postinit.c:419
-#, c-format
-msgid "Recreate the database with another locale or install the missing locale."
-msgstr "Recree la base de datos con otra configuración regional, o instale la configuración regional faltante."
+#: utils/error/elog.c:3364
+msgid "DEBUG"
+msgstr "DEBUG"
 
-#: utils/init/postinit.c:417
-#, c-format
-msgid "The database was initialized with LC_CTYPE \"%s\",  which is not recognized by setlocale()."
-msgstr "La base de datos fueron inicializada con LC_CTYPE «%s», el cual no es reconocido por setlocale()."
+#: utils/error/elog.c:3368
+msgid "LOG"
+msgstr "LOG"
 
-#: utils/init/postinit.c:762
-#, c-format
-msgid "no roles are defined in this database system"
-msgstr "no hay roles definidos en esta base de datos"
+#: utils/error/elog.c:3371
+msgid "INFO"
+msgstr "INFO"
 
-#: utils/init/postinit.c:763
-#, c-format
-msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;."
-msgstr "Debería ejecutar imediatamente CREATE USER \"%s\" SUPERUSER;."
+#: utils/error/elog.c:3374
+msgid "NOTICE"
+msgstr "NOTICE"
 
-#: utils/init/postinit.c:799
-#, c-format
-msgid "new replication connections are not allowed during database shutdown"
-msgstr "nuevas conexiones de replicación no son permitidas durante el apagado de la base de datos"
+#: utils/error/elog.c:3377
+msgid "WARNING"
+msgstr "WARNING"
 
-#: utils/init/postinit.c:803
-#, c-format
-msgid "must be superuser to connect during database shutdown"
-msgstr "debe ser superusuario para conectarse durante el apagado de la base de datos"
+#: utils/error/elog.c:3380
+msgid "ERROR"
+msgstr "ERROR"
 
-#: utils/init/postinit.c:813
-#, c-format
-msgid "must be superuser to connect in binary upgrade mode"
-msgstr "debe ser superusuario para conectarse en modo de actualización binaria"
+#: utils/error/elog.c:3383
+msgid "FATAL"
+msgstr "FATAL"
 
-#: utils/init/postinit.c:826
-#, c-format
-msgid "remaining connection slots are reserved for non-replication superuser connections"
-msgstr "las conexiones restantes están reservadas a superusuarios y no de replicación"
+#: utils/error/elog.c:3386
+msgid "PANIC"
+msgstr "PANIC"
 
-#: utils/init/postinit.c:836
+#: utils/fmgr/dfmgr.c:130
 #, c-format
-msgid "must be superuser or replication role to start walsender"
-msgstr "debe ser superusuario o rol de replicación para iniciar el walsender"
+msgid "could not find function \"%s\" in file \"%s\""
+msgstr "no se pudo encontrar la función «%s» en el archivo «%s»"
 
-#: utils/init/postinit.c:905
+#: utils/fmgr/dfmgr.c:247
 #, c-format
-msgid "database %u does not exist"
-msgstr "no existe la base de datos %u"
+msgid "could not load library \"%s\": %s"
+msgstr "no se pudo cargar la biblioteca «%s»: %s"
 
-#: utils/init/postinit.c:994
+#: utils/fmgr/dfmgr.c:279
 #, c-format
-msgid "It seems to have just been dropped or renamed."
-msgstr "Parece haber sido eliminada o renombrada."
+msgid "incompatible library \"%s\": missing magic block"
+msgstr "biblioteca «%s» incompatible: no se encuentra el bloque mágico"
 
-#: utils/init/postinit.c:1012
+#: utils/fmgr/dfmgr.c:281
 #, c-format
-msgid "The database subdirectory \"%s\" is missing."
-msgstr "Falta el subdirectorio de base de datos «%s»."
+msgid "Extension libraries are required to use the PG_MODULE_MAGIC macro."
+msgstr "Se requiere que las bibliotecas de extensión usen la macro PG_MODULE_MAGIC."
 
-#: utils/init/postinit.c:1017
+#: utils/fmgr/dfmgr.c:327
 #, c-format
-msgid "could not access directory \"%s\": %m"
-msgstr "no se pudo acceder al directorio «%s»: %m"
+msgid "incompatible library \"%s\": version mismatch"
+msgstr "biblioteca «%s» incompatible: versión no coincide"
 
-#: utils/mb/conv.c:443 utils/mb/conv.c:635
+#: utils/fmgr/dfmgr.c:329
 #, c-format
-msgid "invalid encoding number: %d"
-msgstr "el número de codificación no es válido: %d"
+msgid "Server is version %d, library is version %s."
+msgstr "Versión del servidor %d, versión de biblioteca %s."
 
-#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:122
-#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:154
+#: utils/fmgr/dfmgr.c:346
 #, c-format
-msgid "unexpected encoding ID %d for ISO 8859 character sets"
-msgstr "ID de codificación %d inesperado para juegos de caracteres ISO 8859"
+msgid "Server has FUNC_MAX_ARGS = %d, library has %d."
+msgstr "El servidor tiene FUNC_MAX_ARGS = %d, la librería tiene %d"
 
-#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:103
-#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:135
+#: utils/fmgr/dfmgr.c:355
 #, c-format
-msgid "unexpected encoding ID %d for WIN character sets"
-msgstr "ID de codificación %d inesperado para juegos de caracteres WIN"
+msgid "Server has INDEX_MAX_KEYS = %d, library has %d."
+msgstr "El servidor tiene INDEX_MAX_KEYS = %d, la librería tiene %d"
 
-#: utils/mb/mbutils.c:297 utils/mb/mbutils.c:842
+#: utils/fmgr/dfmgr.c:364
 #, c-format
-msgid "conversion between %s and %s is not supported"
-msgstr "la conversión entre %s y %s no está soportada"
+msgid "Server has NAMEDATALEN = %d, library has %d."
+msgstr "El servidor tiene NAMEDATALEN = %d, la librería tiene %d"
 
-#: utils/mb/mbutils.c:385
+#: utils/fmgr/dfmgr.c:373
 #, 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»"
+msgid "Server has FLOAT8PASSBYVAL = %s, library has %s."
+msgstr "El servidor tiene FLOAT8PASSBYVAL = %s, la librería tiene %s"
 
-#: utils/mb/mbutils.c:402 utils/mb/mbutils.c:429 utils/mb/mbutils.c:758
-#: utils/mb/mbutils.c:784
-#, c-format
-msgid "String of %d bytes is too long for encoding conversion."
-msgstr "La cadena de %d bytes es demasiado larga para la recodificación."
+#: utils/fmgr/dfmgr.c:380
+msgid "Magic block has unexpected length or padding difference."
+msgstr "El bloque mágico tiene un largo inesperado, o una diferencia de relleno."
 
-#: utils/mb/mbutils.c:511
+#: utils/fmgr/dfmgr.c:383
 #, c-format
-msgid "invalid source encoding name \"%s\""
-msgstr "la codificación de origen «%s» no es válida"
+msgid "incompatible library \"%s\": magic block mismatch"
+msgstr "biblioteca «%s» incompatible: bloque mágico no coincide"
 
-#: utils/mb/mbutils.c:516
+#: utils/fmgr/dfmgr.c:547
 #, c-format
-msgid "invalid destination encoding name \"%s\""
-msgstr "la codificación de destino «%s» no es válida"
+msgid "access to library \"%s\" is not allowed"
+msgstr "no está permitido el acceso a la biblioteca «%s»"
 
-#: utils/mb/mbutils.c:656
+#: utils/fmgr/dfmgr.c:573
 #, c-format
-msgid "invalid byte value for encoding \"%s\": 0x%02x"
-msgstr "byte no válido para codificación «%s»: 0x%02x"
-
-#: utils/mb/mbutils.c:819
-#, fuzzy, c-format
-#| msgid "invalid Unicode escape"
-msgid "invalid Unicode code point"
-msgstr "valor de escape Unicode no válido"
+msgid "invalid macro name in dynamic library path: %s"
+msgstr "el nombre de macro no es válido en la ruta a biblioteca dinámica: %s"
 
-#: utils/mb/mbutils.c:1087
+#: utils/fmgr/dfmgr.c:613
 #, c-format
-msgid "bind_textdomain_codeset failed"
-msgstr "bind_textdomain_codeset falló"
+msgid "zero-length component in parameter \"dynamic_library_path\""
+msgstr "se encontró componente de largo cero en el parámetro «dynamic_library_path»"
 
-#: utils/mb/mbutils.c:1595
+#: utils/fmgr/dfmgr.c:632
 #, c-format
-msgid "invalid byte sequence for encoding \"%s\": %s"
-msgstr "secuencia de bytes no válida para codificación «%s»: %s"
+msgid "component in parameter \"dynamic_library_path\" is not an absolute path"
+msgstr "un componente en el parámetro «dynamic_library_path» no es una ruta absoluta"
 
-#: utils/mb/mbutils.c:1628
+#: utils/fmgr/fmgr.c:238
 #, c-format
-msgid "character with byte sequence %s in encoding \"%s\" has no equivalent in encoding \"%s\""
-msgstr "carácter con secuencia de bytes %s en codificación «%s» no tiene equivalente en la codificación «%s»"
-
-#: utils/misc/guc.c:679
-msgid "Ungrouped"
-msgstr "Sin Grupo"
-
-#: utils/misc/guc.c:681
-msgid "File Locations"
-msgstr "Ubicaciones de Archivos"
-
-#: utils/misc/guc.c:683
-msgid "Connections and Authentication"
-msgstr "Conexiones y Autentificación"
-
-#: utils/misc/guc.c:685
-msgid "Connections and Authentication / Connection Settings"
-msgstr "Conexiones y Autentificación / Parámetros de Conexión"
-
-#: utils/misc/guc.c:687
-msgid "Connections and Authentication / Authentication"
-msgstr "Conexiones y Autentificación / Autentificación"
-
-#: utils/misc/guc.c:689
-msgid "Connections and Authentication / SSL"
-msgstr "Conexiones y Autentificación / SSL"
-
-#: utils/misc/guc.c:691
-msgid "Resource Usage"
-msgstr "Uso de Recursos"
-
-#: utils/misc/guc.c:693
-msgid "Resource Usage / Memory"
-msgstr "Uso de Recursos / Memoria"
-
-#: utils/misc/guc.c:695
-msgid "Resource Usage / Disk"
-msgstr "Uso de Recursos / Disco"
-
-#: utils/misc/guc.c:697
-msgid "Resource Usage / Kernel Resources"
-msgstr "Uso de Recursos / Recursos del Kernel"
-
-#: utils/misc/guc.c:699
-msgid "Resource Usage / Cost-Based Vacuum Delay"
-msgstr "Uso de Recursos / Retardo de Vacuum por Costos"
-
-#: utils/misc/guc.c:701
-msgid "Resource Usage / Background Writer"
-msgstr "Uso de Recursos / Escritor en Segundo Plano"
+msgid "internal function \"%s\" is not in internal lookup table"
+msgstr "la función interna «%s» no está en la tabla interna de búsqueda"
 
-#: utils/misc/guc.c:703
-msgid "Resource Usage / Asynchronous Behavior"
-msgstr "Uso de Recursos / Comportamiento Asíncrono"
+#: utils/fmgr/fmgr.c:487
+#, c-format
+msgid "could not find function information for function \"%s\""
+msgstr "no se pudo encontrar información de función para la función «%s»"
 
-#: utils/misc/guc.c:705
-msgid "Write-Ahead Log"
-msgstr "Write-Ahead Log"
+#: utils/fmgr/fmgr.c:489
+#, c-format
+msgid "SQL-callable functions need an accompanying PG_FUNCTION_INFO_V1(funcname)."
+msgstr "Funciones invocables desde SQL necesitan PG_FUNCTION_INFO_V1(función) que los acompañe."
 
-#: utils/misc/guc.c:707
-msgid "Write-Ahead Log / Settings"
-msgstr "Write-Ahead Log / Configuraciones"
+#: utils/fmgr/fmgr.c:507
+#, c-format
+msgid "unrecognized API version %d reported by info function \"%s\""
+msgstr "la versión de API %d no reconocida fue reportada por la función «%s»"
 
-#: utils/misc/guc.c:709
-msgid "Write-Ahead Log / Checkpoints"
-msgstr "Write-Ahead Log / Puntos de Control (Checkpoints)"
+#: utils/fmgr/fmgr.c:2003
+#, fuzzy, c-format
+#| msgid "operator class options info is absent in function call context"
+msgid "operator class options info is absent in function call context"
+msgstr "la información de opciones de la clase de operadores está ausente en el contexto de llamada a función"
 
-#: utils/misc/guc.c:711
-msgid "Write-Ahead Log / Archiving"
-msgstr "Write-Ahead Log / Archivado"
+#: utils/fmgr/fmgr.c:2070
+#, c-format
+msgid "language validation function %u called for language %u instead of %u"
+msgstr "función de validación de lenguaje %u invocada para el lenguaje %u en lugar de %u"
 
-#: utils/misc/guc.c:713
-msgid "Write-Ahead Log / Archive Recovery"
-msgstr "Write-Ahead Log / Recuperación desde Archivo"
+#: utils/fmgr/funcapi.c:384
+#, c-format
+msgid "could not determine actual result type for function \"%s\" declared to return type %s"
+msgstr "no se pudo determinar el tipo verdadero de resultado para la función «%s»  declarada retornando tipo %s"
 
-#: utils/misc/guc.c:715
-msgid "Write-Ahead Log / Recovery Target"
-msgstr "Write-Ahead Log / Destino de Recuperación"
+#: utils/fmgr/funcapi.c:1652 utils/fmgr/funcapi.c:1684
+#, c-format
+msgid "number of aliases does not match number of columns"
+msgstr "el número de aliases no coincide con el número de columnas"
 
-#: utils/misc/guc.c:717
-msgid "Replication"
-msgstr "Replicación"
+#: utils/fmgr/funcapi.c:1678
+#, c-format
+msgid "no column alias was provided"
+msgstr "no se entregó alias de columna"
 
-#: utils/misc/guc.c:719
-msgid "Replication / Sending Servers"
-msgstr "Replicación / Servidores de Envío"
+#: utils/fmgr/funcapi.c:1702
+#, c-format
+msgid "could not determine row description for function returning record"
+msgstr "no se pudo encontrar descripción de registro de función que retorna record"
 
-#: utils/misc/guc.c:721
-msgid "Replication / Master Server"
-msgstr "Replicación / Servidor Maestro"
+#: utils/init/miscinit.c:285
+#, c-format
+msgid "data directory \"%s\" does not exist"
+msgstr "no existe el directorio de datos «%s»"
 
-#: utils/misc/guc.c:723
-msgid "Replication / Standby Servers"
-msgstr "Replicación / Servidores Standby"
+#: utils/init/miscinit.c:290
+#, c-format
+msgid "could not read permissions of directory \"%s\": %m"
+msgstr "no se pudo obtener los permisos del directorio «%s»: %m"
 
-#: utils/misc/guc.c:725
-msgid "Replication / Subscribers"
-msgstr "Replicación / Suscriptores"
+#: utils/init/miscinit.c:298
+#, c-format
+msgid "specified data directory \"%s\" is not a directory"
+msgstr "el directorio de datos especificado «%s» no es un directorio"
 
-#: utils/misc/guc.c:727
-msgid "Query Tuning"
-msgstr "Afinamiento de Consultas"
+#: utils/init/miscinit.c:314
+#, c-format
+msgid "data directory \"%s\" has wrong ownership"
+msgstr "el directorio de datos «%s» tiene dueño equivocado"
 
-#: utils/misc/guc.c:729
-msgid "Query Tuning / Planner Method Configuration"
-msgstr "Afinamiento de Consultas / Configuración de Métodos del Planner"
+#: utils/init/miscinit.c:316
+#, c-format
+msgid "The server must be started by the user that owns the data directory."
+msgstr "El servidor debe ser iniciado por el usuario dueño del directorio de datos."
 
-#: utils/misc/guc.c:731
-msgid "Query Tuning / Planner Cost Constants"
-msgstr "Afinamiento de Consultas / Constantes de Costo del Planner"
+#: utils/init/miscinit.c:334
+#, c-format
+msgid "data directory \"%s\" has invalid permissions"
+msgstr "el directorio de datos «%s» tiene permisos no válidos"
 
-#: utils/misc/guc.c:733
-msgid "Query Tuning / Genetic Query Optimizer"
-msgstr "Afinamiento de Consultas / Optimizador Genético de Consultas"
+#: utils/init/miscinit.c:336
+#, c-format
+msgid "Permissions should be u=rwx (0700) or u=rwx,g=rx (0750)."
+msgstr "Los permisos deberían ser u=rwx (0700) o u=rwx,g=rx (0750)."
 
-#: utils/misc/guc.c:735
-msgid "Query Tuning / Other Planner Options"
-msgstr "Afinamiento de Consultas / Otras Opciones del Planner"
+#: utils/init/miscinit.c:615 utils/misc/guc.c:7139
+#, c-format
+msgid "cannot set parameter \"%s\" within security-restricted operation"
+msgstr "no se puede definir el parámetro «%s» dentro de una operación restringida por seguridad"
 
-#: utils/misc/guc.c:737
-msgid "Reporting and Logging"
-msgstr "Reporte y Registro"
+#: utils/init/miscinit.c:683
+#, c-format
+msgid "role with OID %u does not exist"
+msgstr "no existe el rol con OID %u"
 
-#: utils/misc/guc.c:739
-msgid "Reporting and Logging / Where to Log"
-msgstr "Reporte y Registro / Cuándo Registrar"
+#: utils/init/miscinit.c:713
+#, c-format
+msgid "role \"%s\" is not permitted to log in"
+msgstr "al rol «%s» no se le permite conectarse"
 
-#: utils/misc/guc.c:741
-msgid "Reporting and Logging / When to Log"
-msgstr "Reporte y Registro / Cuándo Registrar"
+#: utils/init/miscinit.c:731
+#, c-format
+msgid "too many connections for role \"%s\""
+msgstr "demasiadas conexiones para el rol «%s»"
 
-#: utils/misc/guc.c:743
-msgid "Reporting and Logging / What to Log"
-msgstr "Reporte y Registro / Qué Registrar"
+#: utils/init/miscinit.c:791
+#, c-format
+msgid "permission denied to set session authorization"
+msgstr "se ha denegado el permiso para cambiar el usuario actual"
 
-#: utils/misc/guc.c:745
-msgid "Process Title"
-msgstr "Título de Proceso"
+#: utils/init/miscinit.c:874
+#, c-format
+msgid "invalid role OID: %u"
+msgstr "el OID de rol no es válido: %u"
 
-#: utils/misc/guc.c:747
-msgid "Statistics"
-msgstr "Estadísticas"
+#: utils/init/miscinit.c:928
+#, c-format
+msgid "database system is shut down"
+msgstr "el sistema de bases de datos está apagado"
 
-#: utils/misc/guc.c:749
-msgid "Statistics / Monitoring"
-msgstr "Estadísticas / Monitoreo"
+#: utils/init/miscinit.c:1015
+#, c-format
+msgid "could not create lock file \"%s\": %m"
+msgstr "no se pudo crear el archivo de bloqueo «%s»: %m"
 
-#: utils/misc/guc.c:751
-msgid "Statistics / Query and Index Statistics Collector"
-msgstr "Estadísticas / Recolector de Estadísticas de Consultas e Índices"
+#: utils/init/miscinit.c:1029
+#, c-format
+msgid "could not open lock file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de bloqueo «%s»: %m"
 
-#: utils/misc/guc.c:753
-msgid "Autovacuum"
-msgstr "Autovacuum"
+#: utils/init/miscinit.c:1036
+#, c-format
+msgid "could not read lock file \"%s\": %m"
+msgstr "no se pudo leer el archivo de bloqueo «%s»: %m"
 
-#: utils/misc/guc.c:755
-msgid "Client Connection Defaults"
-msgstr "Valores por Omisión de Conexiones"
+#: utils/init/miscinit.c:1045
+#, c-format
+msgid "lock file \"%s\" is empty"
+msgstr "el archivo de bloqueo «%s» está vacío"
 
-#: utils/misc/guc.c:757
-msgid "Client Connection Defaults / Statement Behavior"
-msgstr "Valores por Omisión de Conexiones / Comportamiento de Sentencias"
+#: utils/init/miscinit.c:1046
+#, c-format
+msgid "Either another server is starting, or the lock file is the remnant of a previous server startup crash."
+msgstr "Otro proceso servidor está iniciándose, o el archivo de bloqueo es remanente de una caída durante un inicio anterior."
 
-#: utils/misc/guc.c:759
-msgid "Client Connection Defaults / Locale and Formatting"
-msgstr "Valores por Omisión de Conexiones / Configuraciones Regionales y Formateo"
+#: utils/init/miscinit.c:1090
+#, c-format
+msgid "lock file \"%s\" already exists"
+msgstr "el archivo de bloqueo «%s» ya existe"
 
-#: utils/misc/guc.c:761
-msgid "Client Connection Defaults / Shared Library Preloading"
-msgstr "Valores por Omisión de Conexiones / Precargado de Bibliotecas Compartidas"
+#: utils/init/miscinit.c:1094
+#, c-format
+msgid "Is another postgres (PID %d) running in data directory \"%s\"?"
+msgstr "¿Hay otro postgres (PID %d) corriendo en el directorio de datos «%s»?"
 
-#: utils/misc/guc.c:763
-msgid "Client Connection Defaults / Other Defaults"
-msgstr "Valores por Omisión de Conexiones / Otros Valores"
+#: utils/init/miscinit.c:1096
+#, c-format
+msgid "Is another postmaster (PID %d) running in data directory \"%s\"?"
+msgstr "¿Hay otro postmaster (PID %d) corriendo en el directorio de datos «%s»?"
 
-#: utils/misc/guc.c:765
-msgid "Lock Management"
-msgstr "Manejo de Bloqueos"
+#: utils/init/miscinit.c:1099
+#, c-format
+msgid "Is another postgres (PID %d) using socket file \"%s\"?"
+msgstr "¿Hay otro postgres (PID %d) usando el socket «%s»?"
 
-#: utils/misc/guc.c:767
-msgid "Version and Platform Compatibility"
-msgstr "Compatibilidad de Versión y Plataforma"
+#: utils/init/miscinit.c:1101
+#, c-format
+msgid "Is another postmaster (PID %d) using socket file \"%s\"?"
+msgstr "¿Hay otro postmaster (PID %d) usando el socket «%s»?"
 
-#: utils/misc/guc.c:769
-msgid "Version and Platform Compatibility / Previous PostgreSQL Versions"
-msgstr "Compatibilidad de Versión y Plataforma / Versiones Anteriores de PostgreSQL"
+#: utils/init/miscinit.c:1152
+#, c-format
+msgid "could not remove old lock file \"%s\": %m"
+msgstr "no se pudo eliminar el archivo de bloqueo antiguo «%s»: %m"
 
-#: utils/misc/guc.c:771
-msgid "Version and Platform Compatibility / Other Platforms and Clients"
-msgstr "Compatibilidad de Versión y Plataforma / Otras Plataformas y Clientes"
+#: utils/init/miscinit.c:1154
+#, c-format
+msgid "The file seems accidentally left over, but it could not be removed. Please remove the file by hand and try again."
+msgstr "El archivo parece accidentalmente abandonado, pero no pudo ser eliminado. Por favor elimine el archivo manualmente e intente nuevamente."
 
-#: utils/misc/guc.c:773
-msgid "Error Handling"
-msgstr "Gestión de Errores"
+#: utils/init/miscinit.c:1191 utils/init/miscinit.c:1205
+#: utils/init/miscinit.c:1216
+#, c-format
+msgid "could not write lock file \"%s\": %m"
+msgstr "no se pudo escribir el archivo de bloqueo «%s»: %m"
 
-#: utils/misc/guc.c:775
-msgid "Preset Options"
-msgstr "Opciones Predefinidas"
+#: utils/init/miscinit.c:1327 utils/init/miscinit.c:1469 utils/misc/guc.c:10066
+#, c-format
+msgid "could not read from file \"%s\": %m"
+msgstr "no se pudo leer el archivo «%s»: %m"
 
-#: utils/misc/guc.c:777
-msgid "Customized Options"
-msgstr "Opciones Personalizadas"
+#: utils/init/miscinit.c:1457
+#, c-format
+msgid "could not open file \"%s\": %m; continuing anyway"
+msgstr "no se pudo abrir el archivo «%s»: %m; continuando de todas formas"
 
-#: utils/misc/guc.c:779
-msgid "Developer Options"
-msgstr "Opciones de Desarrollador"
+#: utils/init/miscinit.c:1482
+#, c-format
+msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld"
+msgstr "el archivo de bloqueo «%s» tiene un PID erróneo: %ld en lugar de %ld"
 
-#: utils/misc/guc.c:837
-msgid "Valid units for this parameter are \"B\", \"kB\", \"MB\", \"GB\", and \"TB\"."
-msgstr "Unidades válidas para este parámetro son «B», «kB», «MB», «GB» y «TB»."
+#: utils/init/miscinit.c:1521 utils/init/miscinit.c:1537
+#, c-format
+msgid "\"%s\" is not a valid data directory"
+msgstr "«%s» no es un directorio de datos válido"
 
-#: utils/misc/guc.c:874
-msgid "Valid units for this parameter are \"us\", \"ms\", \"s\", \"min\", \"h\", and \"d\"."
-msgstr "Unidades válidas son para este parámetro son «us», «ms», «s», «min», «h» y «d»."
+#: utils/init/miscinit.c:1523
+#, c-format
+msgid "File \"%s\" is missing."
+msgstr "Falta el archivo «%s»."
 
-#: utils/misc/guc.c:936
-msgid "Enables the planner's use of sequential-scan plans."
-msgstr "Permitir el uso de planes de recorrido secuencial."
+#: utils/init/miscinit.c:1539
+#, c-format
+msgid "File \"%s\" does not contain valid data."
+msgstr "El archivo «%s» no contiene datos válidos."
 
-#: utils/misc/guc.c:946
-msgid "Enables the planner's use of index-scan plans."
-msgstr "Permitir el uso de planes de recorrido de índice."
+#: utils/init/miscinit.c:1541
+#, c-format
+msgid "You might need to initdb."
+msgstr "Puede ser necesario ejecutar initdb."
 
-#: utils/misc/guc.c:956
-msgid "Enables the planner's use of index-only-scan plans."
-msgstr "Permitir el uso de planes de recorrido de sólo-índice."
+#: utils/init/miscinit.c:1549
+#, c-format
+msgid "The data directory was initialized by PostgreSQL version %s, which is not compatible with this version %s."
+msgstr "El directorio de datos fue inicializado por PostgreSQL versión %s, que no es compatible con esta versión %s."
 
-#: utils/misc/guc.c:966
-msgid "Enables the planner's use of bitmap-scan plans."
-msgstr "Permitir el uso de planes de recorrido de índice por mapas de bits."
+#: utils/init/miscinit.c:1616
+#, c-format
+msgid "loaded library \"%s\""
+msgstr "biblioteca «%s» cargada"
 
-#: utils/misc/guc.c:976
-msgid "Enables the planner's use of TID scan plans."
-msgstr "Permitir el uso de planes de recorrido por TID."
+#: utils/init/postinit.c:253
+#, c-format
+msgid "replication connection authorized: user=%s"
+msgstr "conexión de replicación autorizada: usuario=%s"
 
-#: utils/misc/guc.c:986
-msgid "Enables the planner's use of explicit sort steps."
-msgstr "Permitir el uso de pasos explícitos de ordenamiento."
+#: utils/init/postinit.c:256
+#, fuzzy, c-format
+#| msgid "replication connection authorized: user=%s"
+msgid "connection authorized: user=%s"
+msgstr "conexión de replicación autorizada: usuario=%s"
 
-#: utils/misc/guc.c:996
-#, fuzzy
-#| msgid "Enables the planner's use of explicit sort steps."
-msgid "Enables the planner's use of incremental sort steps."
-msgstr "Permitir el uso de pasos explícitos de ordenamiento."
+#: utils/init/postinit.c:259
+#, fuzzy, c-format
+#| msgid "database %s"
+msgid " database=%s"
+msgstr "base de datos %s"
 
-#: utils/misc/guc.c:1005
-msgid "Enables the planner's use of hashed aggregation plans."
-msgstr "Permitir el uso de planes de agregación a través de hash."
+#: utils/init/postinit.c:262
+#, fuzzy, c-format
+#| msgid "publication_name"
+msgid " application_name=%s"
+msgstr "nombre_de_publicación"
 
-#: utils/misc/guc.c:1015
-msgid "Enables the planner's use of materialization."
-msgstr "Permitir el uso de materialización de planes."
+#: utils/init/postinit.c:267
+#, fuzzy, c-format
+#| msgid "SSL connection (protocol: %s, cipher: %s, bits: %s, compression: %s)\n"
+msgid " SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)"
+msgstr "Conexión SSL (protocolo: %s, cifrado: %s, bits: %s, compresión: %s)\n"
 
-#: utils/misc/guc.c:1025
-msgid "Enables the planner's use of nested-loop join plans."
-msgstr "Permitir el uso de planes «nested-loop join»."
+#: utils/init/postinit.c:271
+msgid "off"
+msgstr "desactivado"
 
-#: utils/misc/guc.c:1035
-msgid "Enables the planner's use of merge join plans."
-msgstr "Permitir el uso de planes «merge join»."
+#: utils/init/postinit.c:271
+msgid "on"
+msgstr "activado"
 
-#: utils/misc/guc.c:1045
-msgid "Enables the planner's use of hash join plans."
-msgstr "Permitir el uso de planes «hash join»."
+#: utils/init/postinit.c:280
+#, c-format
+msgid " GSS (authenticated=%s, encrypted=%s, principal=%s)"
+msgstr ""
 
-#: utils/misc/guc.c:1055
-msgid "Enables the planner's use of gather merge plans."
-msgstr "Permitir el uso de planes «gather merge»."
+#: utils/init/postinit.c:281 utils/init/postinit.c:282
+#: utils/init/postinit.c:287 utils/init/postinit.c:288
+msgid "no"
+msgstr "no"
 
-#: utils/misc/guc.c:1065
-msgid "Enables partitionwise join."
-msgstr "Permitir el uso de joins por particiones."
+#: utils/init/postinit.c:281 utils/init/postinit.c:282
+#: utils/init/postinit.c:287 utils/init/postinit.c:288
+msgid "yes"
+msgstr "sí"
 
-#: utils/misc/guc.c:1075
-msgid "Enables partitionwise aggregation and grouping."
-msgstr "Permitir el uso de agregación y agrupamiento por particiones."
+#: utils/init/postinit.c:286
+#, c-format
+msgid " GSS (authenticated=%s, encrypted=%s)"
+msgstr ""
 
-#: utils/misc/guc.c:1085
-msgid "Enables the planner's use of parallel append plans."
-msgstr "Permitir el uso de planes «append» paralelos."
+#: utils/init/postinit.c:323
+#, c-format
+msgid "database \"%s\" has disappeared from pg_database"
+msgstr "la base de datos «%s» ha desaparecido de pg_database"
 
-#: utils/misc/guc.c:1095
-msgid "Enables the planner's use of parallel hash plans."
-msgstr "Permitir el uso de planes «hash join» paralelos."
+#: utils/init/postinit.c:325
+#, c-format
+msgid "Database OID %u now seems to belong to \"%s\"."
+msgstr "Base de datos con OID %u ahora parece pertenecer a «%s»."
 
-#: utils/misc/guc.c:1105
-msgid "Enables plan-time and run-time partition pruning."
-msgstr "Permitir el uso de poda de particiones en tiempo de plan y ejecución."
+#: utils/init/postinit.c:345
+#, c-format
+msgid "database \"%s\" is not currently accepting connections"
+msgstr "la base de datos «%s» no acepta conexiones"
 
-#: utils/misc/guc.c:1106
-msgid "Allows the query planner and executor to compare partition bounds to conditions in the query to determine which partitions must be scanned."
-msgstr "Permite al optimizador de consultas y al ejecutor a comparar bordes de particiones a condiciones en las consultas para determinar qué particiones deben recorrerse."
+#: utils/init/postinit.c:358
+#, c-format
+msgid "permission denied for database \"%s\""
+msgstr "permiso denegado a la base de datos «%s»"
 
-#: utils/misc/guc.c:1117
-msgid "Enables genetic query optimization."
-msgstr "Permitir el uso del optimizador genético de consultas."
+#: utils/init/postinit.c:359
+#, c-format
+msgid "User does not have CONNECT privilege."
+msgstr "Usuario no tiene privilegios de conexión."
 
-#: utils/misc/guc.c:1118
-msgid "This algorithm attempts to do planning without exhaustive searching."
-msgstr "Este algoritmo intenta planear las consultas sin hacer búsqueda exhaustiva."
+#: utils/init/postinit.c:376
+#, c-format
+msgid "too many connections for database \"%s\""
+msgstr "demasiadas conexiones para la base de datos «%s»"
 
-#: utils/misc/guc.c:1129
-msgid "Shows whether the current user is a superuser."
-msgstr "Indica si el usuario actual es superusuario."
+#: utils/init/postinit.c:398 utils/init/postinit.c:405
+#, c-format
+msgid "database locale is incompatible with operating system"
+msgstr "la configuración regional es incompatible con el sistema operativo"
 
-#: utils/misc/guc.c:1139
-msgid "Enables advertising the server via Bonjour."
-msgstr "Permitir la publicación del servidor vía Bonjour."
+#: utils/init/postinit.c:399
+#, c-format
+msgid "The database was initialized with LC_COLLATE \"%s\",  which is not recognized by setlocale()."
+msgstr "La base de datos fue inicializada con LC_COLLATE «%s», el cual no es reconocido por setlocale()."
 
-#: utils/misc/guc.c:1148
-msgid "Collects transaction commit time."
-msgstr "Recolectar tiempo de compromiso de transacciones."
+#: utils/init/postinit.c:401 utils/init/postinit.c:408
+#, c-format
+msgid "Recreate the database with another locale or install the missing locale."
+msgstr "Recree la base de datos con otra configuración regional, o instale la configuración regional faltante."
 
-#: utils/misc/guc.c:1157
-msgid "Enables SSL connections."
-msgstr "Permitir conexiones SSL."
+#: utils/init/postinit.c:406
+#, c-format
+msgid "The database was initialized with LC_CTYPE \"%s\",  which is not recognized by setlocale()."
+msgstr "La base de datos fueron inicializada con LC_CTYPE «%s», el cual no es reconocido por setlocale()."
 
-#: utils/misc/guc.c:1166
-msgid "Also use ssl_passphrase_command during server reload."
-msgstr "También usar ssl_passphrase_command durante la recarga del servidor."
+#: utils/init/postinit.c:751
+#, c-format
+msgid "no roles are defined in this database system"
+msgstr "no hay roles definidos en esta base de datos"
 
-#: utils/misc/guc.c:1175
-msgid "Give priority to server ciphersuite order."
-msgstr "Da prioridad al orden de algoritmos de cifrado especificado por el servidor."
+#: utils/init/postinit.c:752
+#, c-format
+msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;."
+msgstr "Debería ejecutar imediatamente CREATE USER \"%s\" SUPERUSER;."
 
-#: utils/misc/guc.c:1184
-msgid "Forces synchronization of updates to disk."
-msgstr "Forzar la sincronización de escrituras a disco."
+#: utils/init/postinit.c:788
+#, c-format
+msgid "new replication connections are not allowed during database shutdown"
+msgstr "nuevas conexiones de replicación no son permitidas durante el apagado de la base de datos"
 
-#: utils/misc/guc.c:1185
-msgid "The server will use the fsync() system call in several places to make sure that updates are physically written to disk. This insures that a database cluster will recover to a consistent state after an operating system or hardware crash."
-msgstr "El servidor usará la llamada a sistema fsync() en varios lugares para asegurarse que las actualizaciones son escritas físicamente a disco. Esto asegura que las bases de datos se recuperarán a un estado consistente después de una caída de hardware o sistema operativo."
+#: utils/init/postinit.c:792
+#, c-format
+msgid "must be superuser to connect during database shutdown"
+msgstr "debe ser superusuario para conectarse durante el apagado de la base de datos"
 
-#: utils/misc/guc.c:1196
-msgid "Continues processing after a checksum failure."
-msgstr "Continuar procesando después de una falla de suma de verificación."
+#: utils/init/postinit.c:802
+#, c-format
+msgid "must be superuser to connect in binary upgrade mode"
+msgstr "debe ser superusuario para conectarse en modo de actualización binaria"
 
-#: utils/misc/guc.c:1197
-msgid "Detection of a checksum failure normally causes PostgreSQL to report an error, aborting the current transaction. Setting ignore_checksum_failure to true causes the system to ignore the failure (but still report a warning), and continue processing. This behavior could cause crashes or other serious problems. Only has an effect if checksums are enabled."
-msgstr "La detección de una suma de verificación que no coincide normalmente hace que PostgreSQL reporte un error, abortando la transacción en curso. Definiendo ignore_checksum_failure a true hace que el sistema ignore la falla (pero aún así reporta un mensaje de warning), y continúe el procesamiento. Este comportamiento podría causar caídas del sistema u otros problemas serios. Sólo tiene efecto si las sumas de verificación están activadas."
+#: utils/init/postinit.c:815
+#, c-format
+msgid "remaining connection slots are reserved for non-replication superuser connections"
+msgstr "las conexiones restantes están reservadas a superusuarios y no de replicación"
 
-#: utils/misc/guc.c:1211
-msgid "Continues processing past damaged page headers."
-msgstr "Continuar procesando después de detectar encabezados de página dañados."
+#: utils/init/postinit.c:825
+#, c-format
+msgid "must be superuser or replication role to start walsender"
+msgstr "debe ser superusuario o rol de replicación para iniciar el walsender"
 
-#: utils/misc/guc.c:1212
-msgid "Detection of a damaged page header normally causes PostgreSQL to report an error, aborting the current transaction. Setting zero_damaged_pages to true causes the system to instead report a warning, zero out the damaged page, and continue processing. This behavior will destroy data, namely all the rows on the damaged page."
-msgstr "La detección de un encabezado de página dañado normalmente hace que PostgreSQL reporte un error, abortando la transacción en curso. Definiendo zero_damaged_pages a true hace que el sistema reporte un mensaje de warning, escriba ceros en toda la página, y continúe el procesamiento. Este comportamiento destruirá datos; en particular, todas las tuplas en la página dañada."
+#: utils/init/postinit.c:894
+#, c-format
+msgid "database %u does not exist"
+msgstr "no existe la base de datos %u"
 
-#: utils/misc/guc.c:1225
-#, fuzzy
-#| msgid "Continues processing after a checksum failure."
-msgid "Continues recovery after an invalid pages failure."
-msgstr "Continuar procesando después de una falla de suma de verificación."
+#: utils/init/postinit.c:983
+#, c-format
+msgid "It seems to have just been dropped or renamed."
+msgstr "Parece haber sido eliminada o renombrada."
 
-#: utils/misc/guc.c:1226
-#, fuzzy
-#| msgid "Detection of a checksum failure normally causes PostgreSQL to report an error, aborting the current transaction. Setting ignore_checksum_failure to true causes the system to ignore the failure (but still report a warning), and continue processing. This behavior could cause crashes or other serious problems. Only has an effect if checksums are enabled."
-msgid "Detection of WAL records having references to invalid pages during recovery causes PostgreSQL to raise a PANIC-level error, aborting the recovery. Setting ignore_invalid_pages to true causes the system to ignore invalid page references in WAL records (but still report a warning), and continue recovery. This behavior may cause crashes, data loss, propagate or hide corruption, or other serious problems. Only has an effect during recovery or in standby mode."
-msgstr "La detección de una suma de verificación que no coincide normalmente hace que PostgreSQL reporte un error, abortando la transacción en curso. Definiendo ignore_checksum_failure a true hace que el sistema ignore la falla (pero aún así reporta un mensaje de warning), y continúe el procesamiento. Este comportamiento podría causar caídas del sistema u otros problemas serios. Sólo tiene efecto si las sumas de verificación están activadas."
+#: utils/init/postinit.c:1001
+#, c-format
+msgid "The database subdirectory \"%s\" is missing."
+msgstr "Falta el subdirectorio de base de datos «%s»."
 
-#: utils/misc/guc.c:1244
-msgid "Writes full pages to WAL when first modified after a checkpoint."
-msgstr "Escribe páginas completas a WAL cuando son modificadas después de un punto de control."
+#: utils/init/postinit.c:1006
+#, c-format
+msgid "could not access directory \"%s\": %m"
+msgstr "no se pudo acceder al directorio «%s»: %m"
 
-#: utils/misc/guc.c:1245
-msgid "A page write in process during an operating system crash might be only partially written to disk.  During recovery, the row changes stored in WAL are not enough to recover.  This option writes pages when first modified after a checkpoint to WAL so full recovery is possible."
-msgstr "Una escritura de página que está siendo procesada durante una caída del sistema operativo puede ser completada sólo parcialmente.  Durante la recuperación, los cambios de registros (tuplas) almacenados en WAL no son suficientes para la recuperación. Esta opción activa la escritura de las páginas a WAL cuando son modificadas por primera vez después de un punto de control, de manera que una recuperación total es posible."
+#: utils/mb/conv.c:443 utils/mb/conv.c:635
+#, c-format
+msgid "invalid encoding number: %d"
+msgstr "el número de codificación no es válido: %d"
 
-#: utils/misc/guc.c:1258
-msgid "Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modifications."
-msgstr "Escribir páginas completas a WAL cuando son modificadas después de un punto de control, incluso para modificaciones no críticas."
+#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:122
+#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:154
+#, c-format
+msgid "unexpected encoding ID %d for ISO 8859 character sets"
+msgstr "ID de codificación %d inesperado para juegos de caracteres ISO 8859"
 
-#: utils/misc/guc.c:1268
-msgid "Compresses full-page writes written in WAL file."
-msgstr "Comprimir las imágenes de páginas completas al escribirlas a WAL."
+#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:103
+#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:135
+#, c-format
+msgid "unexpected encoding ID %d for WIN character sets"
+msgstr "ID de codificación %d inesperado para juegos de caracteres WIN"
 
-#: utils/misc/guc.c:1278
-msgid "Writes zeroes to new WAL files before first use."
-msgstr "Escribir ceros a nuevos archivos WAL antes del primer uso."
+#: utils/mb/mbutils.c:297 utils/mb/mbutils.c:842
+#, c-format
+msgid "conversion between %s and %s is not supported"
+msgstr "la conversión entre %s y %s no está soportada"
 
-#: utils/misc/guc.c:1288
-msgid "Recycles WAL files by renaming them."
-msgstr "Reciclar archivos de WAL cambiándoles de nombre."
+#: 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»"
 
-#: utils/misc/guc.c:1298
-msgid "Logs each checkpoint."
-msgstr "Registrar cada punto de control."
+#: utils/mb/mbutils.c:402 utils/mb/mbutils.c:429 utils/mb/mbutils.c:758
+#: utils/mb/mbutils.c:784
+#, c-format
+msgid "String of %d bytes is too long for encoding conversion."
+msgstr "La cadena de %d bytes es demasiado larga para la recodificación."
 
-#: utils/misc/guc.c:1307
-msgid "Logs each successful connection."
-msgstr "Registrar cada conexión exitosa."
+#: utils/mb/mbutils.c:511
+#, c-format
+msgid "invalid source encoding name \"%s\""
+msgstr "la codificación de origen «%s» no es válida"
 
-#: utils/misc/guc.c:1316
-msgid "Logs end of a session, including duration."
-msgstr "Registrar el fin de una sesión, incluyendo su duración."
+#: utils/mb/mbutils.c:516
+#, c-format
+msgid "invalid destination encoding name \"%s\""
+msgstr "la codificación de destino «%s» no es válida"
 
-#: utils/misc/guc.c:1325
-msgid "Logs each replication command."
-msgstr "Registrar cada orden de replicación."
+#: utils/mb/mbutils.c:656
+#, c-format
+msgid "invalid byte value for encoding \"%s\": 0x%02x"
+msgstr "byte no válido para codificación «%s»: 0x%02x"
 
-#: utils/misc/guc.c:1334
-msgid "Shows whether the running server has assertion checks enabled."
-msgstr "Indica si el servidor actual tiene activas las aseveraciones (asserts) activas."
+#: utils/mb/mbutils.c:819
+#, fuzzy, c-format
+#| msgid "invalid Unicode escape"
+msgid "invalid Unicode code point"
+msgstr "valor de escape Unicode no válido"
 
-#: utils/misc/guc.c:1349
-msgid "Terminate session on any error."
-msgstr "Terminar sesión ante cualquier error."
+#: utils/mb/mbutils.c:1087
+#, c-format
+msgid "bind_textdomain_codeset failed"
+msgstr "bind_textdomain_codeset falló"
 
-#: utils/misc/guc.c:1358
-msgid "Reinitialize server after backend crash."
-msgstr "Reinicializar el servidor después de una caída de un proceso servidor."
+#: utils/mb/mbutils.c:1595
+#, c-format
+msgid "invalid byte sequence for encoding \"%s\": %s"
+msgstr "secuencia de bytes no válida para codificación «%s»: %s"
 
-#: utils/misc/guc.c:1368
-msgid "Logs the duration of each completed SQL statement."
-msgstr "Registrar la duración de cada sentencia SQL ejecutada."
+#: utils/mb/mbutils.c:1628
+#, c-format
+msgid "character with byte sequence %s in encoding \"%s\" has no equivalent in encoding \"%s\""
+msgstr "carácter con secuencia de bytes %s en codificación «%s» no tiene equivalente en la codificación «%s»"
 
-#: utils/misc/guc.c:1377
-msgid "Logs each query's parse tree."
-msgstr "Registrar cada arbol analizado de consulta "
+#: utils/misc/guc.c:679
+msgid "Ungrouped"
+msgstr "Sin Grupo"
 
-#: utils/misc/guc.c:1386
-msgid "Logs each query's rewritten parse tree."
-msgstr "Registrar cada reescritura del arból analizado de consulta"
+#: utils/misc/guc.c:681
+msgid "File Locations"
+msgstr "Ubicaciones de Archivos"
 
-#: utils/misc/guc.c:1395
-msgid "Logs each query's execution plan."
-msgstr "Registrar el plan de ejecución de cada consulta."
+#: utils/misc/guc.c:683
+msgid "Connections and Authentication"
+msgstr "Conexiones y Autentificación"
 
-#: utils/misc/guc.c:1404
-msgid "Indents parse and plan tree displays."
-msgstr "Indentar los árboles de parse y plan."
+#: utils/misc/guc.c:685
+msgid "Connections and Authentication / Connection Settings"
+msgstr "Conexiones y Autentificación / Parámetros de Conexión"
 
-#: utils/misc/guc.c:1413
-msgid "Writes parser performance statistics to the server log."
-msgstr "Escribir estadísticas de parser al registro del servidor."
+#: utils/misc/guc.c:687
+msgid "Connections and Authentication / Authentication"
+msgstr "Conexiones y Autentificación / Autentificación"
 
-#: utils/misc/guc.c:1422
-msgid "Writes planner performance statistics to the server log."
-msgstr "Escribir estadísticas de planner al registro del servidor."
+#: utils/misc/guc.c:689
+msgid "Connections and Authentication / SSL"
+msgstr "Conexiones y Autentificación / SSL"
 
-#: utils/misc/guc.c:1431
-msgid "Writes executor performance statistics to the server log."
-msgstr "Escribir estadísticas del executor al registro del servidor."
+#: utils/misc/guc.c:691
+msgid "Resource Usage"
+msgstr "Uso de Recursos"
 
-#: utils/misc/guc.c:1440
-msgid "Writes cumulative performance statistics to the server log."
-msgstr "Escribir estadísticas acumulativas al registro del servidor."
+#: utils/misc/guc.c:693
+msgid "Resource Usage / Memory"
+msgstr "Uso de Recursos / Memoria"
 
-#: utils/misc/guc.c:1450
-msgid "Logs system resource usage statistics (memory and CPU) on various B-tree operations."
-msgstr "Registrar uso de recursos de sistema (memoria y CPU) en varias operaciones B-tree."
+#: utils/misc/guc.c:695
+msgid "Resource Usage / Disk"
+msgstr "Uso de Recursos / Disco"
 
-#: utils/misc/guc.c:1462
-msgid "Collects information about executing commands."
-msgstr "Recolectar estadísticas sobre órdenes en ejecución."
+#: utils/misc/guc.c:697
+msgid "Resource Usage / Kernel Resources"
+msgstr "Uso de Recursos / Recursos del Kernel"
 
-#: utils/misc/guc.c:1463
-msgid "Enables the collection of information on the currently executing command of each session, along with the time at which that command began execution."
-msgstr "Activa la recolección de información sobre la orden actualmente en ejecución en cada sesión, junto con el momento en el cual esa orden comenzó la ejecución."
+#: utils/misc/guc.c:699
+msgid "Resource Usage / Cost-Based Vacuum Delay"
+msgstr "Uso de Recursos / Retardo de Vacuum por Costos"
 
-#: utils/misc/guc.c:1473
-msgid "Collects statistics on database activity."
-msgstr "Recolectar estadísticas de actividad de la base de datos."
+#: utils/misc/guc.c:701
+msgid "Resource Usage / Background Writer"
+msgstr "Uso de Recursos / Escritor en Segundo Plano"
 
-#: utils/misc/guc.c:1482
-msgid "Collects timing statistics for database I/O activity."
-msgstr "Recolectar estadísticas de tiempos en las operaciones de I/O de la base de datos."
+#: utils/misc/guc.c:703
+msgid "Resource Usage / Asynchronous Behavior"
+msgstr "Uso de Recursos / Comportamiento Asíncrono"
 
-#: utils/misc/guc.c:1492
-msgid "Updates the process title to show the active SQL command."
-msgstr "Actualiza el título del proceso para mostrar la orden SQL activo."
+#: utils/misc/guc.c:705
+msgid "Write-Ahead Log"
+msgstr "Write-Ahead Log"
 
-#: utils/misc/guc.c:1493
-msgid "Enables updating of the process title every time a new SQL command is received by the server."
-msgstr "Habilita que se actualice el título del proceso cada vez que una orden SQL es recibido por el servidor."
+#: utils/misc/guc.c:707
+msgid "Write-Ahead Log / Settings"
+msgstr "Write-Ahead Log / Configuraciones"
 
-#: utils/misc/guc.c:1506
-msgid "Starts the autovacuum subprocess."
-msgstr "Iniciar el subproceso de autovacuum."
+#: utils/misc/guc.c:709
+msgid "Write-Ahead Log / Checkpoints"
+msgstr "Write-Ahead Log / Puntos de Control (Checkpoints)"
 
-#: utils/misc/guc.c:1516
-msgid "Generates debugging output for LISTEN and NOTIFY."
-msgstr "Generar salida de depuración para LISTEN y NOTIFY."
+#: utils/misc/guc.c:711
+msgid "Write-Ahead Log / Archiving"
+msgstr "Write-Ahead Log / Archivado"
 
-#: utils/misc/guc.c:1528
-msgid "Emits information about lock usage."
-msgstr "Emitir información acerca del uso de locks."
+#: utils/misc/guc.c:713
+msgid "Write-Ahead Log / Archive Recovery"
+msgstr "Write-Ahead Log / Recuperación desde Archivo"
 
-#: utils/misc/guc.c:1538
-msgid "Emits information about user lock usage."
-msgstr "Emitir información acerca del uso de locks de usuario."
+#: utils/misc/guc.c:715
+msgid "Write-Ahead Log / Recovery Target"
+msgstr "Write-Ahead Log / Destino de Recuperación"
 
-#: utils/misc/guc.c:1548
-msgid "Emits information about lightweight lock usage."
-msgstr "Emitir información acerca del uso de «lightweight locks»."
+#: utils/misc/guc.c:717
+msgid "Replication"
+msgstr "Replicación"
 
-#: utils/misc/guc.c:1558
-msgid "Dumps information about all current locks when a deadlock timeout occurs."
-msgstr "Volcar información acerca de los locks existentes cuando se agota el tiempo de deadlock."
+#: utils/misc/guc.c:719
+msgid "Replication / Sending Servers"
+msgstr "Replicación / Servidores de Envío"
 
-#: utils/misc/guc.c:1570
-msgid "Logs long lock waits."
-msgstr "Registrar esperas largas de bloqueos."
+#: utils/misc/guc.c:721
+msgid "Replication / Master Server"
+msgstr "Replicación / Servidor Maestro"
 
-#: utils/misc/guc.c:1580
-msgid "Logs the host name in the connection logs."
-msgstr "Registrar el nombre del host en la conexión."
+#: utils/misc/guc.c:723
+msgid "Replication / Standby Servers"
+msgstr "Replicación / Servidores Standby"
 
-#: utils/misc/guc.c:1581
-msgid "By default, connection logs only show the IP address of the connecting host. If you want them to show the host name you can turn this on, but depending on your host name resolution setup it might impose a non-negligible performance penalty."
-msgstr "Por omisión, los registros de conexión sólo muestran la dirección IP del host que establece la conexión. Si desea que se despliegue el nombre del host puede activar esta opción, pero dependiendo de su configuración de resolución de nombres esto puede imponer una penalización de rendimiento no despreciable."
+#: utils/misc/guc.c:725
+msgid "Replication / Subscribers"
+msgstr "Replicación / Suscriptores"
 
-#: utils/misc/guc.c:1592
-msgid "Treats \"expr=NULL\" as \"expr IS NULL\"."
-msgstr "Tratar expr=NULL como expr IS NULL."
+#: utils/misc/guc.c:727
+msgid "Query Tuning"
+msgstr "Afinamiento de Consultas"
 
-#: utils/misc/guc.c:1593
-msgid "When turned on, expressions of the form expr = NULL (or NULL = expr) are treated as expr IS NULL, that is, they return true if expr evaluates to the null value, and false otherwise. The correct behavior of expr = NULL is to always return null (unknown)."
-msgstr "Cuando está activado, expresiones de la forma expr = NULL (o NULL = expr) son tratadas como expr IS NULL, esto es, retornarán verdadero si expr es evaluada al valor nulo, y falso en caso contrario. El comportamiento correcto de expr = NULL es retornar siempre null (desconocido)."
+#: utils/misc/guc.c:729
+msgid "Query Tuning / Planner Method Configuration"
+msgstr "Afinamiento de Consultas / Configuración de Métodos del Planner"
 
-#: utils/misc/guc.c:1605
-msgid "Enables per-database user names."
-msgstr "Activar el uso de nombre de usuario locales a cada base de datos."
+#: utils/misc/guc.c:731
+msgid "Query Tuning / Planner Cost Constants"
+msgstr "Afinamiento de Consultas / Constantes de Costo del Planner"
 
-#: utils/misc/guc.c:1614
-msgid "Sets the default read-only status of new transactions."
-msgstr "Estado por omisión de sólo lectura de nuevas transacciones."
+#: utils/misc/guc.c:733
+msgid "Query Tuning / Genetic Query Optimizer"
+msgstr "Afinamiento de Consultas / Optimizador Genético de Consultas"
 
-#: utils/misc/guc.c:1623
-msgid "Sets the current transaction's read-only status."
-msgstr "Activa el estado de sólo lectura de la transacción en curso."
+#: utils/misc/guc.c:735
+msgid "Query Tuning / Other Planner Options"
+msgstr "Afinamiento de Consultas / Otras Opciones del Planner"
 
-#: utils/misc/guc.c:1633
-msgid "Sets the default deferrable status of new transactions."
-msgstr "Estado por omisión de postergable de nuevas transacciones."
+#: utils/misc/guc.c:737
+msgid "Reporting and Logging"
+msgstr "Reporte y Registro"
 
-#: utils/misc/guc.c:1642
-msgid "Whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures."
-msgstr "Si está activo, las transacciones serializables de sólo lectura serán pausadas hasta que puedan ejecutarse sin posibles fallas de serialización."
+#: utils/misc/guc.c:739
+msgid "Reporting and Logging / Where to Log"
+msgstr "Reporte y Registro / Cuándo Registrar"
 
-#: utils/misc/guc.c:1652
-msgid "Enable row security."
-msgstr "Activar seguridad de registros."
+#: utils/misc/guc.c:741
+msgid "Reporting and Logging / When to Log"
+msgstr "Reporte y Registro / Cuándo Registrar"
 
-#: utils/misc/guc.c:1653
-msgid "When enabled, row security will be applied to all users."
-msgstr "Cuando está activada, la seguridad de registros se aplicará a todos los usuarios."
+#: utils/misc/guc.c:743
+msgid "Reporting and Logging / What to Log"
+msgstr "Reporte y Registro / Qué Registrar"
 
-#: utils/misc/guc.c:1661
-msgid "Check function bodies during CREATE FUNCTION."
-msgstr "Verificar definición de funciones durante CREATE FUNCTION."
+#: utils/misc/guc.c:745
+msgid "Process Title"
+msgstr "Título de Proceso"
 
-#: utils/misc/guc.c:1670
-msgid "Enable input of NULL elements in arrays."
-msgstr "Habilita el ingreso de elementos nulos en arrays."
+#: utils/misc/guc.c:747
+msgid "Statistics"
+msgstr "Estadísticas"
 
-#: utils/misc/guc.c:1671
-msgid "When turned on, unquoted NULL in an array input value means a null value; otherwise it is taken literally."
-msgstr "Cuando está activo, un valor NULL sin comillas en la entrada de un array significa un valor nulo; en caso contrario es tomado literalmente."
+#: utils/misc/guc.c:749
+msgid "Statistics / Monitoring"
+msgstr "Estadísticas / Monitoreo"
 
-#: utils/misc/guc.c:1687
-msgid "WITH OIDS is no longer supported; this can only be false."
-msgstr "WITH OIDS ya no está soportado; esto sólo puede ser false."
+#: utils/misc/guc.c:751
+msgid "Statistics / Query and Index Statistics Collector"
+msgstr "Estadísticas / Recolector de Estadísticas de Consultas e Índices"
 
-#: utils/misc/guc.c:1697
-msgid "Start a subprocess to capture stderr output and/or csvlogs into log files."
-msgstr "Lanzar un subproceso para capturar stderr y/o logs CSV en archivos de log."
+#: utils/misc/guc.c:753
+msgid "Autovacuum"
+msgstr "Autovacuum"
 
-#: utils/misc/guc.c:1706
-msgid "Truncate existing log files of same name during log rotation."
-msgstr "Truncar archivos de log del mismo nombre durante la rotación."
+#: utils/misc/guc.c:755
+msgid "Client Connection Defaults"
+msgstr "Valores por Omisión de Conexiones"
 
-#: utils/misc/guc.c:1717
-msgid "Emit information about resource usage in sorting."
-msgstr "Emitir información acerca de uso de recursos durante los ordenamientos."
+#: utils/misc/guc.c:757
+msgid "Client Connection Defaults / Statement Behavior"
+msgstr "Valores por Omisión de Conexiones / Comportamiento de Sentencias"
 
-#: utils/misc/guc.c:1731
-msgid "Generate debugging output for synchronized scanning."
-msgstr "Generar salida de depuración para recorrido sincronizado."
+#: utils/misc/guc.c:759
+msgid "Client Connection Defaults / Locale and Formatting"
+msgstr "Valores por Omisión de Conexiones / Configuraciones Regionales y Formateo"
 
-#: utils/misc/guc.c:1746
-msgid "Enable bounded sorting using heap sort."
-msgstr "Activar ordenamiento acotado usando «heap sort»."
+#: utils/misc/guc.c:761
+msgid "Client Connection Defaults / Shared Library Preloading"
+msgstr "Valores por Omisión de Conexiones / Precargado de Bibliotecas Compartidas"
 
-#: utils/misc/guc.c:1759
-msgid "Emit WAL-related debugging output."
-msgstr "Activar salida de depuración de WAL."
+#: utils/misc/guc.c:763
+msgid "Client Connection Defaults / Other Defaults"
+msgstr "Valores por Omisión de Conexiones / Otros Valores"
 
-#: utils/misc/guc.c:1771
-msgid "Datetimes are integer based."
-msgstr "Las fechas y horas se basan en tipos enteros."
+#: utils/misc/guc.c:765
+msgid "Lock Management"
+msgstr "Manejo de Bloqueos"
 
-#: utils/misc/guc.c:1782
-msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive."
-msgstr "Define que los nombres de usuario Kerberos y GSSAPI deberían ser tratados sin distinción de mayúsculas."
+#: utils/misc/guc.c:767
+msgid "Version and Platform Compatibility"
+msgstr "Compatibilidad de Versión y Plataforma"
 
-#: utils/misc/guc.c:1792
-msgid "Warn about backslash escapes in ordinary string literals."
-msgstr "Avisa acerca de escapes de backslash en literales de cadena corrientes."
+#: utils/misc/guc.c:769
+msgid "Version and Platform Compatibility / Previous PostgreSQL Versions"
+msgstr "Compatibilidad de Versión y Plataforma / Versiones Anteriores de PostgreSQL"
 
-#: utils/misc/guc.c:1802
-msgid "Causes '...' strings to treat backslashes literally."
-msgstr "Provoca que las cadenas '...' traten las barras inclinadas inversas (\\) en forma literal."
+#: utils/misc/guc.c:771
+msgid "Version and Platform Compatibility / Other Platforms and Clients"
+msgstr "Compatibilidad de Versión y Plataforma / Otras Plataformas y Clientes"
 
-#: utils/misc/guc.c:1813
-msgid "Enable synchronized sequential scans."
-msgstr "Permitir la sincronización de recorridos secuenciales."
+#: utils/misc/guc.c:773
+msgid "Error Handling"
+msgstr "Gestión de Errores"
 
-#: utils/misc/guc.c:1823
-msgid "Sets whether to include or exclude transaction with recovery target."
-msgstr "Define si incluir o excluir la transacción con el destino de recuperación."
+#: utils/misc/guc.c:775
+msgid "Preset Options"
+msgstr "Opciones Predefinidas"
 
-#: utils/misc/guc.c:1833
-msgid "Allows connections and queries during recovery."
-msgstr "Permite conexiones y consultas durante la recuperación."
+#: utils/misc/guc.c:777
+msgid "Customized Options"
+msgstr "Opciones Personalizadas"
 
-#: utils/misc/guc.c:1843
-msgid "Allows feedback from a hot standby to the primary that will avoid query conflicts."
-msgstr "Permite retroalimentación desde un hot standby hacia el primario que evitará conflictos en consultas."
+#: utils/misc/guc.c:779
+msgid "Developer Options"
+msgstr "Opciones de Desarrollador"
 
-#: utils/misc/guc.c:1853
-msgid "Allows modifications of the structure of system tables."
-msgstr "Permite modificaciones de la estructura de las tablas del sistema."
+#: utils/misc/guc.c:837
+msgid "Valid units for this parameter are \"B\", \"kB\", \"MB\", \"GB\", and \"TB\"."
+msgstr "Unidades válidas para este parámetro son «B», «kB», «MB», «GB» y «TB»."
 
-#: utils/misc/guc.c:1864
-msgid "Disables reading from system indexes."
-msgstr "Deshabilita lectura de índices del sistema."
+#: utils/misc/guc.c:874
+msgid "Valid units for this parameter are \"us\", \"ms\", \"s\", \"min\", \"h\", and \"d\"."
+msgstr "Unidades válidas son para este parámetro son «us», «ms», «s», «min», «h» y «d»."
 
-#: utils/misc/guc.c:1865
-msgid "It does not prevent updating the indexes, so it is safe to use.  The worst consequence is slowness."
-msgstr "No evita la actualización de índices, así que es seguro. Lo peor que puede ocurrir es lentitud del sistema."
+#: utils/misc/guc.c:936
+msgid "Enables the planner's use of sequential-scan plans."
+msgstr "Permitir el uso de planes de recorrido secuencial."
 
-#: utils/misc/guc.c:1876
-msgid "Enables backward compatibility mode for privilege checks on large objects."
-msgstr "Activa el modo de compatibilidad con versiones anteriores de las comprobaciones de privilegios de objetos grandes."
+#: utils/misc/guc.c:946
+msgid "Enables the planner's use of index-scan plans."
+msgstr "Permitir el uso de planes de recorrido de índice."
 
-#: utils/misc/guc.c:1877
-msgid "Skips privilege checks when reading or modifying large objects, for compatibility with PostgreSQL releases prior to 9.0."
-msgstr "Omite las comprobaciones de privilegios cuando se leen o modifican los objetos grandes, para compatibilidad con versiones de PostgreSQL anteriores a 9.0."
+#: utils/misc/guc.c:956
+msgid "Enables the planner's use of index-only-scan plans."
+msgstr "Permitir el uso de planes de recorrido de sólo-índice."
 
-#: utils/misc/guc.c:1887
-msgid "Emit a warning for constructs that changed meaning since PostgreSQL 9.4."
-msgstr "Emitir una advertencia en constructos que cambiaron significado desde PostgreSQL 9.4."
+#: utils/misc/guc.c:966
+msgid "Enables the planner's use of bitmap-scan plans."
+msgstr "Permitir el uso de planes de recorrido de índice por mapas de bits."
 
-#: utils/misc/guc.c:1897
-msgid "When generating SQL fragments, quote all identifiers."
-msgstr "Al generar fragmentos SQL, entrecomillar todos los identificadores."
+#: utils/misc/guc.c:976
+msgid "Enables the planner's use of TID scan plans."
+msgstr "Permitir el uso de planes de recorrido por TID."
 
-#: utils/misc/guc.c:1907
-msgid "Shows whether data checksums are turned on for this cluster."
-msgstr "Indica si las sumas de verificación están activas en este cluster."
+#: utils/misc/guc.c:986
+msgid "Enables the planner's use of explicit sort steps."
+msgstr "Permitir el uso de pasos explícitos de ordenamiento."
 
-#: utils/misc/guc.c:1918
-msgid "Add sequence number to syslog messages to avoid duplicate suppression."
-msgstr "Agregar número de secuencia a mensajes syslog para evitar supresión de duplicados."
+#: utils/misc/guc.c:996
+#, fuzzy
+#| msgid "Enables the planner's use of explicit sort steps."
+msgid "Enables the planner's use of incremental sort steps."
+msgstr "Permitir el uso de pasos explícitos de ordenamiento."
 
-#: utils/misc/guc.c:1928
-msgid "Split messages sent to syslog by lines and to fit into 1024 bytes."
-msgstr "Dividir mensajes enviados a syslog en líneas y que quepan en 1024 bytes."
+#: utils/misc/guc.c:1005
+msgid "Enables the planner's use of hashed aggregation plans."
+msgstr "Permitir el uso de planes de agregación a través de hash."
 
-#: utils/misc/guc.c:1938
-msgid "Controls whether Gather and Gather Merge also run subplans."
-msgstr "Controla si los Gather y Gather Merge también ejecutan subplanes."
+#: utils/misc/guc.c:1015
+msgid "Enables the planner's use of materialization."
+msgstr "Permitir el uso de materialización de planes."
 
-#: utils/misc/guc.c:1939
-msgid "Should gather nodes also run subplans, or just gather tuples?"
-msgstr "¿Deben los nodos de recolección ejecutar subplanes, o sólo recolectar tuplas?"
+#: utils/misc/guc.c:1025
+msgid "Enables the planner's use of nested-loop join plans."
+msgstr "Permitir el uso de planes «nested-loop join»."
 
-#: utils/misc/guc.c:1949
-msgid "Allow JIT compilation."
-msgstr "Permitir compilación JIT."
+#: utils/misc/guc.c:1035
+msgid "Enables the planner's use of merge join plans."
+msgstr "Permitir el uso de planes «merge join»."
 
-#: utils/misc/guc.c:1960
-msgid "Register JIT compiled function with debugger."
-msgstr "Registra la función JIT compilada con el depurador."
+#: utils/misc/guc.c:1045
+msgid "Enables the planner's use of hash join plans."
+msgstr "Permitir el uso de planes «hash join»."
 
-#: utils/misc/guc.c:1977
-msgid "Write out LLVM bitcode to facilitate JIT debugging."
-msgstr "Escribe el bitcode LLVM para facilitar depuración de JIT."
+#: utils/misc/guc.c:1055
+msgid "Enables the planner's use of gather merge plans."
+msgstr "Permitir el uso de planes «gather merge»."
 
-#: utils/misc/guc.c:1988
-msgid "Allow JIT compilation of expressions."
-msgstr "Permitir compilación JIT de expresiones."
+#: utils/misc/guc.c:1065
+msgid "Enables partitionwise join."
+msgstr "Permitir el uso de joins por particiones."
 
-#: utils/misc/guc.c:1999
-msgid "Register JIT compiled function with perf profiler."
-msgstr "Registrar funciones JIT-compiladas con el analizador «perf»."
+#: utils/misc/guc.c:1075
+msgid "Enables partitionwise aggregation and grouping."
+msgstr "Permitir el uso de agregación y agrupamiento por particiones."
 
-#: utils/misc/guc.c:2016
-msgid "Allow JIT compilation of tuple deforming."
-msgstr "Permitir compilación JIT de deformación de tuplas."
+#: utils/misc/guc.c:1085
+msgid "Enables the planner's use of parallel append plans."
+msgstr "Permitir el uso de planes «append» paralelos."
 
-#: utils/misc/guc.c:2027
-msgid "Whether to continue running after a failure to sync data files."
-msgstr "Si continuar ejecutando después de una falla al sincronizar archivos de datos."
+#: utils/misc/guc.c:1095
+msgid "Enables the planner's use of parallel hash plans."
+msgstr "Permitir el uso de planes «hash join» paralelos."
 
-#: utils/misc/guc.c:2036
-msgid "Sets whether a WAL receiver should create a temporary replication slot if no permanent slot is configured."
-msgstr "Definir si un receptor de WAL debe crear un slot de replicación temporal en caso de no haber configurado un slot permanente."
+#: utils/misc/guc.c:1105
+msgid "Enables plan-time and run-time partition pruning."
+msgstr "Permitir el uso de poda de particiones en tiempo de plan y ejecución."
 
-#: utils/misc/guc.c:2054
-msgid "