Translation updates
authorPeter Eisentraut <[email protected]>
Mon, 6 May 2019 12:58:53 +0000 (14:58 +0200)
committerPeter Eisentraut <[email protected]>
Mon, 6 May 2019 12:58:53 +0000 (14:58 +0200)
Source-Git-URL: https://git.postgresql.org/git/pgtranslation/messages.git
Source-Git-Hash: 07a92cdb0f05a078521d8464c99cd654409cd0af

24 files changed:
src/backend/po/de.po
src/backend/po/es.po
src/backend/po/fr.po
src/backend/po/ja.po
src/backend/po/ru.po
src/bin/initdb/po/es.po
src/bin/initdb/po/ru.po
src/bin/pg_basebackup/po/es.po
src/bin/pg_config/po/es.po
src/bin/pg_controldata/po/es.po
src/bin/pg_ctl/po/es.po
src/bin/pg_dump/po/es.po
src/bin/pg_dump/po/ru.po
src/bin/pg_resetxlog/po/es.po
src/bin/psql/po/es.po
src/bin/scripts/po/es.po
src/interfaces/ecpg/ecpglib/po/es.po
src/interfaces/ecpg/preproc/po/es.po
src/interfaces/ecpg/preproc/po/ru.po
src/interfaces/libpq/po/es.po
src/pl/plperl/po/es.po
src/pl/plpgsql/src/po/es.po
src/pl/plpython/po/es.po
src/pl/tcl/po/es.po

index 20a6cc2f9ba5dfd1133df940619c3d914df730cb..328bb34de27f1114373c0c2dd086384375ccda19 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9.4\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2019-02-10 21:43+0000\n"
+"POT-Creation-Date: 2019-05-04 01:52+0000\n"
 "PO-Revision-Date: 2019-01-06 01:49+0100\n"
 "Last-Translator: Peter Eisentraut <[email protected]>\n"
 "Language-Team: German <[email protected]>\n"
@@ -83,22 +83,22 @@ msgstr "konnte Verzeichnis »%s« nicht schließen: %s\n"
 #: ../port/path.c:655 access/transam/xlog.c:6314 lib/stringinfo.c:258
 #: libpq/auth.c:848 libpq/auth.c:1211 libpq/auth.c:1279 libpq/auth.c:1685
 #: postmaster/bgworker.c:290 postmaster/bgworker.c:805
-#: postmaster/postmaster.c:2382 postmaster/postmaster.c:2413
-#: postmaster/postmaster.c:3964 postmaster/postmaster.c:4684
-#: postmaster/postmaster.c:4776 postmaster/postmaster.c:5457
-#: postmaster/postmaster.c:5760 replication/logical/logical.c:171
+#: postmaster/postmaster.c:2383 postmaster/postmaster.c:2414
+#: postmaster/postmaster.c:3961 postmaster/postmaster.c:4681
+#: postmaster/postmaster.c:4773 postmaster/postmaster.c:5463
+#: postmaster/postmaster.c:5776 replication/logical/logical.c:171
 #: storage/buffer/buf_init.c:154 storage/buffer/localbuf.c:396
 #: storage/file/fd.c:595 storage/file/fd.c:1024 storage/file/fd.c:1142
 #: storage/file/fd.c:1807 storage/ipc/procarray.c:921
 #: storage/ipc/procarray.c:1407 storage/ipc/procarray.c:1414
 #: storage/ipc/procarray.c:1769 storage/ipc/procarray.c:2361
 #: utils/adt/formatting.c:1522 utils/adt/formatting.c:1642
-#: utils/adt/formatting.c:1763 utils/adt/pg_locale.c:463
-#: utils/adt/pg_locale.c:647 utils/adt/regexp.c:223 utils/adt/varlena.c:3765
+#: utils/adt/formatting.c:1763 utils/adt/pg_locale.c:464
+#: utils/adt/pg_locale.c:628 utils/adt/regexp.c:223 utils/adt/varlena.c:3765
 #: utils/adt/varlena.c:3786 utils/fmgr/dfmgr.c:220 utils/hash/dynahash.c:379
 #: utils/hash/dynahash.c:456 utils/hash/dynahash.c:970 utils/mb/mbutils.c:376
 #: utils/mb/mbutils.c:709 utils/misc/guc.c:3572 utils/misc/guc.c:3588
-#: utils/misc/guc.c:3601 utils/misc/guc.c:6577 utils/misc/tzparser.c:470
+#: utils/misc/guc.c:3601 utils/misc/guc.c:6581 utils/misc/tzparser.c:470
 #: utils/mmgr/aset.c:505 utils/mmgr/aset.c:688 utils/mmgr/aset.c:886
 #: utils/mmgr/aset.c:1127
 #, c-format
@@ -489,10 +489,10 @@ msgstr "konnte nicht in Datei »%s« schreiben, %d von %d geschrieben: %m"
 #: access/heap/rewriteheap.c:988 access/heap/rewriteheap.c:1206
 #: access/heap/rewriteheap.c:1303 access/transam/timeline.c:407
 #: access/transam/timeline.c:483 access/transam/xlog.c:3263
-#: access/transam/xlog.c:3393 replication/logical/snapbuild.c:1607
+#: access/transam/xlog.c:3393 replication/logical/snapbuild.c:1611
 #: replication/slot.c:1059 replication/slot.c:1153 storage/file/fd.c:490
 #: storage/file/fd.c:2958 storage/smgr/md.c:968 storage/smgr/md.c:1211
-#: storage/smgr/md.c:1385 utils/misc/guc.c:6599
+#: storage/smgr/md.c:1385 utils/misc/guc.c:6603
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht fsyncen: %m"
@@ -501,7 +501,7 @@ msgstr "konnte Datei »%s« nicht fsyncen: %m"
 #: access/transam/timeline.c:315 access/transam/timeline.c:461
 #: access/transam/xlog.c:3220 access/transam/xlog.c:3354
 #: access/transam/xlog.c:10197 access/transam/xlog.c:10567
-#: postmaster/postmaster.c:4451 replication/slot.c:1013
+#: postmaster/postmaster.c:4448 replication/slot.c:1013
 #: storage/file/copydir.c:162 storage/smgr/md.c:305 utils/time/snapmgr.c:1019
 #, c-format
 msgid "could not create file \"%s\": %m"
@@ -513,7 +513,7 @@ msgid "could not truncate file \"%s\" to %u: %m"
 msgstr "konnte Datei »%s« nicht auf %u kürzen: %m"
 
 #: access/heap/rewriteheap.c:1179 replication/walsender.c:486
-#: storage/smgr/md.c:1834
+#: storage/smgr/md.c:1828
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
 msgstr "konnte Positionszeiger nicht ans Ende der Datei »%s« setzen: %m"
@@ -521,11 +521,11 @@ msgstr "konnte Positionszeiger nicht ans Ende der Datei »%s« setzen: %m"
 #: access/heap/rewriteheap.c:1195 access/transam/timeline.c:367
 #: access/transam/timeline.c:401 access/transam/timeline.c:477
 #: access/transam/xlog.c:3251 access/transam/xlog.c:3386
-#: postmaster/postmaster.c:4461 postmaster/postmaster.c:4471
-#: replication/logical/snapbuild.c:1585 replication/slot.c:1045
-#: storage/file/copydir.c:187 utils/init/miscinit.c:1061
-#: utils/init/miscinit.c:1070 utils/init/miscinit.c:1077 utils/misc/guc.c:6560
-#: utils/misc/guc.c:6591 utils/misc/guc.c:8329 utils/misc/guc.c:8343
+#: postmaster/postmaster.c:4458 postmaster/postmaster.c:4468
+#: replication/logical/snapbuild.c:1589 replication/slot.c:1045
+#: storage/file/copydir.c:187 utils/init/miscinit.c:1057
+#: utils/init/miscinit.c:1066 utils/init/miscinit.c:1073 utils/misc/guc.c:6564
+#: utils/misc/guc.c:6595 utils/misc/guc.c:8333 utils/misc/guc.c:8347
 #: utils/time/snapmgr.c:1024 utils/time/snapmgr.c:1031
 #, c-format
 msgid "could not write to file \"%s\": %m"
@@ -533,8 +533,8 @@ msgstr "konnte nicht in Datei »%s« schreiben: %m"
 
 #: access/heap/rewriteheap.c:1279 access/transam/xlog.c:10407
 #: access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:467
-#: replication/logical/reorderbuffer.c:2592
-#: replication/logical/snapbuild.c:1528 replication/logical/snapbuild.c:1915
+#: replication/logical/reorderbuffer.c:2596
+#: replication/logical/snapbuild.c:1531 replication/logical/snapbuild.c:1921
 #: replication/slot.c:1124 storage/ipc/dsm.c:326 storage/smgr/md.c:405
 #: storage/smgr/md.c:454 storage/smgr/md.c:1332
 #, c-format
@@ -547,16 +547,16 @@ msgstr "konnte Datei »%s« nicht löschen: %m"
 #: access/transam/xlog.c:3339 access/transam/xlog.c:3596
 #: access/transam/xlog.c:3674 replication/basebackup.c:463
 #: replication/basebackup.c:1183 replication/logical/logicalfuncs.c:152
-#: replication/logical/reorderbuffer.c:2177
-#: replication/logical/reorderbuffer.c:2392
-#: replication/logical/reorderbuffer.c:3067
-#: replication/logical/snapbuild.c:1572 replication/logical/snapbuild.c:1668
+#: replication/logical/reorderbuffer.c:2181
+#: replication/logical/reorderbuffer.c:2396
+#: replication/logical/reorderbuffer.c:3071
+#: replication/logical/snapbuild.c:1576 replication/logical/snapbuild.c:1672
 #: replication/slot.c:1139 replication/walsender.c:479
 #: replication/walsender.c:2159 storage/file/copydir.c:155
 #: storage/file/fd.c:473 storage/file/fd.c:2871 storage/file/fd.c:2937
 #: storage/smgr/md.c:587 storage/smgr/md.c:845 utils/error/elog.c:1804
-#: utils/init/miscinit.c:996 utils/init/miscinit.c:1117
-#: utils/init/miscinit.c:1195 utils/misc/guc.c:6816 utils/misc/guc.c:6849
+#: utils/init/miscinit.c:992 utils/init/miscinit.c:1113
+#: utils/init/miscinit.c:1191 utils/misc/guc.c:6820 utils/misc/guc.c:6853
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht öffnen: %m"
@@ -837,7 +837,7 @@ msgstr "Zeitleisten-IDs müssen kleiner als die Zeitleisten-ID des Kindes sein."
 #: access/transam/xlog.c:10389 access/transam/xlog.c:10402
 #: access/transam/xlog.c:10799 access/transam/xlog.c:10842
 #: access/transam/xlogfuncs.c:468 access/transam/xlogfuncs.c:487
-#: replication/logical/reorderbuffer.c:3085 replication/walsender.c:504
+#: replication/logical/reorderbuffer.c:3089 replication/walsender.c:504
 #: storage/file/copydir.c:176 utils/adt/genfile.c:139
 #, c-format
 msgid "could not read file \"%s\": %m"
@@ -1256,7 +1256,7 @@ msgstr "konnte nicht aus Kontrolldatei lesen: %d Bytes gelesen, %d erwartet"
 #: access/transam/xlog.c:4644 access/transam/xlog.c:4653
 #: access/transam/xlog.c:4660 access/transam/xlog.c:4669
 #: access/transam/xlog.c:4676 access/transam/xlog.c:4685
-#: access/transam/xlog.c:4692 utils/init/miscinit.c:1213
+#: access/transam/xlog.c:4692 utils/init/miscinit.c:1209
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "Datenbankdateien sind inkompatibel mit Server"
@@ -1405,7 +1405,7 @@ msgstr "konnte Recovery-Kommandodatei »%s« nicht öffnen: %m"
 
 #: access/transam/xlog.c:5216 access/transam/xlog.c:5309
 #: access/transam/xlog.c:5320 commands/extension.c:527 commands/extension.c:535
-#: utils/misc/guc.c:5364
+#: utils/misc/guc.c:5368
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "Parameter »%s« erfordert einen Boole’schen Wert"
@@ -1444,10 +1444,10 @@ msgstr "Parameter »%s« erfordert einen Zeitwert"
 #: catalog/dependency.c:976 catalog/dependency.c:977 catalog/dependency.c:988
 #: catalog/dependency.c:989 catalog/objectaddress.c:764
 #: commands/tablecmds.c:764 commands/tablecmds.c:9074 commands/user.c:988
-#: commands/view.c:492 libpq/auth.c:288 port/win32/security.c:51
-#: storage/lmgr/deadlock.c:955 storage/lmgr/proc.c:1192 utils/misc/guc.c:5386
-#: utils/misc/guc.c:5479 utils/misc/guc.c:8906 utils/misc/guc.c:8940
-#: utils/misc/guc.c:8974 utils/misc/guc.c:9008 utils/misc/guc.c:9043
+#: commands/view.c:487 libpq/auth.c:288 port/win32/security.c:51
+#: storage/lmgr/deadlock.c:955 storage/lmgr/proc.c:1192 utils/misc/guc.c:5390
+#: utils/misc/guc.c:5483 utils/misc/guc.c:8910 utils/misc/guc.c:8944
+#: utils/misc/guc.c:8978 utils/misc/guc.c:9012 utils/misc/guc.c:9047
 #, c-format
 msgid "%s"
 msgstr "%s"
@@ -2007,7 +2007,7 @@ msgstr "Das bedeutet, dass die aktuelle Datensicherung auf dem Standby-Server ve
 #: access/transam/xlog.c:10182 access/transam/xlog.c:10377
 #: access/transam/xlogarchive.c:106 access/transam/xlogarchive.c:265
 #: guc-file.l:884 replication/basebackup.c:469 replication/basebackup.c:537
-#: replication/logical/snapbuild.c:1486 storage/file/copydir.c:72
+#: replication/logical/snapbuild.c:1489 storage/file/copydir.c:72
 #: storage/file/copydir.c:115 storage/file/fd.c:2737 storage/file/fd.c:2829
 #: utils/adt/dbsize.c:68 utils/adt/dbsize.c:218 utils/adt/dbsize.c:298
 #: utils/adt/genfile.c:108 utils/adt/genfile.c:280
@@ -2156,7 +2156,7 @@ msgstr "konnte Datei »%s« nicht aus Archiv wiederherstellen: %s"
 msgid "%s \"%s\": %s"
 msgstr "%s »%s«: %s"
 
-#: access/transam/xlogarchive.c:458 replication/logical/snapbuild.c:1621
+#: access/transam/xlogarchive.c:458 replication/logical/snapbuild.c:1625
 #: replication/slot.c:494 replication/slot.c:956 replication/slot.c:1071
 #: storage/file/fd.c:501 storage/file/fd.c:559 utils/time/snapmgr.c:1042
 #, c-format
@@ -2331,18 +2331,18 @@ msgstr "unerwartete Pageaddr %X/%X in Logsegment %s, Offset %u"
 msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
 msgstr "Zeitleisten-ID %u außer der Reihe (nach %u) in Logsegment %s, Offset %u"
 
-#: bootstrap/bootstrap.c:281 postmaster/postmaster.c:791 tcop/postgres.c:3524
+#: bootstrap/bootstrap.c:281 postmaster/postmaster.c:792 tcop/postgres.c:3524
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s benötigt einen Wert"
 
-#: bootstrap/bootstrap.c:286 postmaster/postmaster.c:796 tcop/postgres.c:3529
+#: bootstrap/bootstrap.c:286 postmaster/postmaster.c:797 tcop/postgres.c:3529
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s benötigt einen Wert"
 
-#: bootstrap/bootstrap.c:297 postmaster/postmaster.c:808
-#: postmaster/postmaster.c:821
+#: bootstrap/bootstrap.c:297 postmaster/postmaster.c:809
+#: postmaster/postmaster.c:822
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Versuchen Sie »%s --help« für weitere Informationen.\n"
@@ -3075,14 +3075,14 @@ msgstr "Spaltenverweise können nicht in Vorgabeausdrücken verwendet werden"
 msgid "default expression must not return a set"
 msgstr "Vorgabeausdruck kann keine Ergebnismenge zurückgeben"
 
-#: catalog/heap.c:2585 rewrite/rewriteHandler.c:1097
+#: catalog/heap.c:2585 rewrite/rewriteHandler.c:1083
 #, 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:2590 commands/prepare.c:374 parser/parse_node.c:411
 #: parser/parse_target.c:520 parser/parse_target.c:769
-#: parser/parse_target.c:779 rewrite/rewriteHandler.c:1102
+#: parser/parse_target.c:779 rewrite/rewriteHandler.c:1088
 #, c-format
 msgid "You will need to rewrite or cast the expression."
 msgstr "Sie müssen den Ausdruck umschreiben oder eine Typumwandlung vornehmen."
@@ -3236,7 +3236,7 @@ msgstr "Textsuchekonfiguration »%s« existiert nicht"
 msgid "cross-database references are not implemented: %s"
 msgstr "Verweise auf andere Datenbanken sind nicht implementiert: %s"
 
-#: catalog/namespace.c:2649 gram.y:12582 gram.y:13814 parser/parse_expr.c:795
+#: catalog/namespace.c:2649 gram.y:12583 gram.y:13815 parser/parse_expr.c:795
 #: parser/parse_target.c:1128
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
@@ -3289,7 +3289,7 @@ msgid "cannot create temporary tables during recovery"
 msgstr "während der Wiederherstellung können keine temporären Tabellen erzeugt werden"
 
 #: catalog/namespace.c:3884 commands/tablespace.c:1114 commands/variable.c:61
-#: replication/syncrep.c:681 utils/misc/guc.c:9073
+#: replication/syncrep.c:681 utils/misc/guc.c:9077
 #, c-format
 msgid "List syntax is invalid."
 msgstr "Die Listensyntax ist ungültig."
@@ -3339,7 +3339,7 @@ msgid "\"%s\" is not a table"
 msgstr "»%s« ist keine Tabelle"
 
 #: catalog/objectaddress.c:876 commands/tablecmds.c:221
-#: commands/tablecmds.c:4179 commands/tablecmds.c:11444 commands/view.c:140
+#: commands/tablecmds.c:4179 commands/tablecmds.c:11444 commands/view.c:135
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "»%s« ist keine Sicht"
@@ -4408,8 +4408,8 @@ msgstr "Sortierfolge »%s« existiert bereits in Schema »%s«"
 #: commands/comment.c:62 commands/dbcommands.c:775 commands/dbcommands.c:939
 #: commands/dbcommands.c:1042 commands/dbcommands.c:1234
 #: commands/dbcommands.c:1423 commands/dbcommands.c:1518
-#: commands/dbcommands.c:1935 utils/init/postinit.c:794
-#: utils/init/postinit.c:896 utils/init/postinit.c:913
+#: commands/dbcommands.c:1935 utils/init/postinit.c:796
+#: utils/init/postinit.c:898 utils/init/postinit.c:915
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "Datenbank »%s« existiert nicht"
@@ -6368,7 +6368,7 @@ msgid "invalid cursor name: must not be empty"
 msgstr "ungültiger Cursorname: darf nicht leer sein"
 
 #: commands/portalcmds.c:168 commands/portalcmds.c:222
-#: executor/execCurrent.c:69 utils/adt/xml.c:2400 utils/adt/xml.c:2570
+#: executor/execCurrent.c:69 utils/adt/xml.c:2498 utils/adt/xml.c:2668
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "Cursor »%s« existiert nicht"
@@ -7282,7 +7282,7 @@ msgstr "mehrere SET TABLESPACE Unterbefehle sind ungültig"
 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:9073 commands/view.c:491
+#: commands/tablecmds.c:9073 commands/view.c:486
 #, 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"
@@ -7585,7 +7585,7 @@ msgid "could not create symbolic link \"%s\": %m"
 msgstr "konnte symbolische Verknüpfung »%s« nicht erstellen: %m"
 
 #: commands/tablespace.c:726 commands/tablespace.c:736
-#: postmaster/postmaster.c:1405 replication/basebackup.c:351
+#: postmaster/postmaster.c:1406 replication/basebackup.c:351
 #: replication/basebackup.c:687 storage/file/copydir.c:53
 #: storage/file/copydir.c:96 storage/file/fd.c:2192 storage/file/fd.c:2802
 #: storage/ipc/dsm.c:300 utils/adt/genfile.c:354 utils/adt/misc.c:267
@@ -8435,7 +8435,7 @@ msgstr "»%s«: von %u auf %u Seiten verkürzt"
 msgid "\"%s\": suspending truncate due to conflicting lock request"
 msgstr "»%s«: Truncate wird ausgesetzt wegen Sperrkonflikt"
 
-#: commands/variable.c:162 utils/misc/guc.c:9097
+#: commands/variable.c:162 utils/misc/guc.c:9101
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Unbekanntes Schlüsselwort: »%s«."
@@ -8545,47 +8545,42 @@ msgstr "Gültige Werte sind »local« und »cascaded«."
 msgid "could not determine which collation to use for view column \"%s\""
 msgstr "konnte die für die Sichtspalte »%s« zu verwendende Sortierfolge nicht bestimmen"
 
-#: commands/view.c:115
-#, c-format
-msgid "view must have at least one column"
-msgstr "Sicht muss mindestens eine Spalte haben"
-
-#: commands/view.c:277 commands/view.c:289
+#: commands/view.c:272 commands/view.c:284
 #, c-format
 msgid "cannot drop columns from view"
 msgstr "aus einer Sicht können keine Spalten gelöscht werden"
 
-#: commands/view.c:294
+#: commands/view.c:289
 #, c-format
 msgid "cannot change name of view column \"%s\" to \"%s\""
 msgstr "kann Namen der Sichtspalte »%s« nicht in »%s« ändern"
 
-#: commands/view.c:302
+#: commands/view.c:297
 #, c-format
 msgid "cannot change data type of view column \"%s\" from %s to %s"
 msgstr "kann Datentyp der Sichtspalte »%s« nicht von %s in %s ändern"
 
-#: commands/view.c:437
+#: commands/view.c:432
 #, c-format
 msgid "views must not contain SELECT INTO"
 msgstr "Sichten dürfen kein SELECT INTO enthalten"
 
-#: commands/view.c:450
+#: commands/view.c:445
 #, c-format
 msgid "views must not contain data-modifying statements in WITH"
 msgstr "Sichten dürfen keine datenmodifizierenden Anweisungen in WITH enthalten"
 
-#: commands/view.c:521
+#: commands/view.c:516
 #, c-format
 msgid "CREATE VIEW specifies more column names than columns"
 msgstr "CREATE VIEW gibt mehr Spaltennamen als Spalten an"
 
-#: commands/view.c:529
+#: commands/view.c:524
 #, c-format
 msgid "views cannot be unlogged because they do not have storage"
 msgstr "Sichten können nicht ungeloggt sein, weil sie keinen Speicherplatz verwenden"
 
-#: commands/view.c:543
+#: commands/view.c:538
 #, c-format
 msgid "view \"%s\" will be a temporary view"
 msgstr "Sicht »%s« wird eine temporäre Sicht"
@@ -8641,32 +8636,32 @@ msgstr "kann Sequenz »%s« nicht ändern"
 msgid "cannot change TOAST relation \"%s\""
 msgstr "kann TOAST-Relation »%s« nicht ändern"
 
-#: executor/execMain.c:995 rewrite/rewriteHandler.c:2562
+#: executor/execMain.c:995 rewrite/rewriteHandler.c:2667
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "kann nicht in Sicht »%s« einfügen"
 
-#: executor/execMain.c:997 rewrite/rewriteHandler.c:2565
+#: executor/execMain.c:997 rewrite/rewriteHandler.c:2670
 #, 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:1003 rewrite/rewriteHandler.c:2570
+#: executor/execMain.c:1003 rewrite/rewriteHandler.c:2675
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "kann Sicht »%s« nicht aktualisieren"
 
-#: executor/execMain.c:1005 rewrite/rewriteHandler.c:2573
+#: executor/execMain.c:1005 rewrite/rewriteHandler.c:2678
 #, 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:1011 rewrite/rewriteHandler.c:2578
+#: executor/execMain.c:1011 rewrite/rewriteHandler.c:2683
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "kann nicht aus Sicht »%s« löschen"
 
-#: executor/execMain.c:1013 rewrite/rewriteHandler.c:2581
+#: executor/execMain.c:1013 rewrite/rewriteHandler.c:2686
 #, 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."
@@ -9210,32 +9205,32 @@ msgstr "unbekannte Rollenoption »%s«"
 msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements"
 msgstr "CREATE SCHEMA IF NOT EXISTS kann keine Schemaelemente enthalten"
 
-#: gram.y:1406
+#: gram.y:1407
 #, c-format
 msgid "current database cannot be changed"
 msgstr "aktuelle Datenbank kann nicht geändert werden"
 
-#: gram.y:1530 gram.y:1545
+#: gram.y:1531 gram.y:1546
 #, c-format
 msgid "time zone interval must be HOUR or HOUR TO MINUTE"
 msgstr "Zeitzonenintervall muss HOUR oder HOUR TO MINUTE sein"
 
-#: gram.y:1550 gram.y:10377 gram.y:12714
+#: gram.y:1551 gram.y:10378 gram.y:12715
 #, c-format
 msgid "interval precision specified twice"
 msgstr "Intervallpräzision doppelt angegeben"
 
-#: gram.y:2519 gram.y:2548
+#: gram.y:2520 gram.y:2549
 #, c-format
 msgid "STDIN/STDOUT not allowed with PROGRAM"
 msgstr "STDIN/STDOUT sind nicht mit PROGRAM erlaubt"
 
-#: gram.y:2810 gram.y:2817 gram.y:9598 gram.y:9606
+#: gram.y:2811 gram.y:2818 gram.y:9599 gram.y:9607
 #, c-format
 msgid "GLOBAL is deprecated in temporary table creation"
 msgstr "die Verwendung von GLOBAL beim Erzeugen einer temporären Tabelle ist veraltet"
 
-#: gram.y:3256 utils/adt/ri_triggers.c:312 utils/adt/ri_triggers.c:369
+#: gram.y:3257 utils/adt/ri_triggers.c:312 utils/adt/ri_triggers.c:369
 #: utils/adt/ri_triggers.c:788 utils/adt/ri_triggers.c:1011
 #: utils/adt/ri_triggers.c:1167 utils/adt/ri_triggers.c:1348
 #: utils/adt/ri_triggers.c:1513 utils/adt/ri_triggers.c:1689
@@ -9246,239 +9241,239 @@ msgstr "die Verwendung von GLOBAL beim Erzeugen einer temporären Tabelle ist ve
 msgid "MATCH PARTIAL not yet implemented"
 msgstr "MATCH PARTIAL ist noch nicht implementiert"
 
-#: gram.y:4491
+#: gram.y:4492
 msgid "duplicate trigger events specified"
 msgstr "mehrere Trigger-Ereignisse angegeben"
 
-#: gram.y:4586 parser/parse_utilcmd.c:2571 parser/parse_utilcmd.c:2597
+#: gram.y:4587 parser/parse_utilcmd.c:2571 parser/parse_utilcmd.c:2597
 #, c-format
 msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
 msgstr "Constraint, der als INITIALLY DEFERRED deklariert wurde, muss DEFERRABLE sein"
 
-#: gram.y:4593
+#: gram.y:4594
 #, c-format
 msgid "conflicting constraint properties"
 msgstr "widersprüchliche Constraint-Eigentschaften"
 
-#: gram.y:4725
+#: gram.y:4726
 #, c-format
 msgid "CREATE ASSERTION is not yet implemented"
 msgstr "CREATE ASSERTION ist noch nicht implementiert"
 
-#: gram.y:4741
+#: gram.y:4742
 #, c-format
 msgid "DROP ASSERTION is not yet implemented"
 msgstr "DROP ASSERTION ist noch nicht implementiert"
 
-#: gram.y:5087
+#: gram.y:5088
 #, c-format
 msgid "RECHECK is no longer required"
 msgstr "RECHECK wird nicht mehr benötigt"
 
-#: gram.y:5088
+#: gram.y:5089
 #, c-format
 msgid "Update your data type."
 msgstr "Aktualisieren Sie Ihren Datentyp."
 
-#: gram.y:6549
+#: gram.y:6550
 #, c-format
 msgid "aggregates cannot have output arguments"
 msgstr "Aggregatfunktionen können keine OUT-Argumente haben"
 
-#: gram.y:6855 utils/adt/regproc.c:739 utils/adt/regproc.c:780
+#: gram.y:6856 utils/adt/regproc.c:739 utils/adt/regproc.c:780
 #, c-format
 msgid "missing argument"
 msgstr "Argument fehlt"
 
-#: gram.y:6856 utils/adt/regproc.c:740 utils/adt/regproc.c:781
+#: gram.y:6857 utils/adt/regproc.c:740 utils/adt/regproc.c:781
 #, c-format
 msgid "Use NONE to denote the missing argument of a unary operator."
 msgstr "Verwenden Sie NONE, um das fehlende Argument eines unären Operators anzugeben."
 
-#: gram.y:8245 gram.y:8263
+#: gram.y:8246 gram.y:8264
 #, c-format
 msgid "WITH CHECK OPTION not supported on recursive views"
 msgstr "WITH CHECK OPTION wird für rekursive Sichten nicht unterstützt"
 
-#: gram.y:9243
+#: gram.y:9244
 #, c-format
 msgid "number of columns does not match number of values"
 msgstr "Anzahl der Spalten stimmt nicht mit der Anzahl der Werte überein"
 
-#: gram.y:9702
+#: gram.y:9703
 #, c-format
 msgid "LIMIT #,# syntax is not supported"
 msgstr "Syntax LIMIT x,y wird nicht unterstützt"
 
-#: gram.y:9703
+#: gram.y:9704
 #, c-format
 msgid "Use separate LIMIT and OFFSET clauses."
 msgstr "Verwenden Sie die getrennten Klauseln LIMIT und OFFSET."
 
-#: gram.y:9908 gram.y:9933
+#: gram.y:9909 gram.y:9934
 #, c-format
 msgid "VALUES in FROM must have an alias"
 msgstr "VALUES in FROM muss Aliasnamen erhalten"
 
-#: gram.y:9909 gram.y:9934
+#: gram.y:9910 gram.y:9935
 #, c-format
 msgid "For example, FROM (VALUES ...) [AS] foo."
 msgstr "Zum Beispiel FROM (VALUES ...) [AS] xyz."
 
-#: gram.y:9914 gram.y:9939
+#: gram.y:9915 gram.y:9940
 #, c-format
 msgid "subquery in FROM must have an alias"
 msgstr "Unteranfrage in FROM muss Aliasnamen erhalten"
 
-#: gram.y:9915 gram.y:9940
+#: gram.y:9916 gram.y:9941
 #, c-format
 msgid "For example, FROM (SELECT ...) [AS] foo."
 msgstr "Zum Beispiel FROM (SELECT ...) [AS] xyz."
 
-#: gram.y:10503
+#: gram.y:10504
 #, c-format
 msgid "precision for type float must be at least 1 bit"
 msgstr "Präzision von Typ float muss mindestens 1 Bit sein"
 
-#: gram.y:10512
+#: gram.y:10513
 #, c-format
 msgid "precision for type float must be less than 54 bits"
 msgstr "Präzision von Typ float muss weniger als 54 Bits sein"
 
-#: gram.y:10978
+#: gram.y:10979
 #, c-format
 msgid "wrong number of parameters on left side of OVERLAPS expression"
 msgstr "falsche Anzahl Parameter auf linker Seite von OVERLAPS-Ausdruck"
 
-#: gram.y:10983
+#: gram.y:10984
 #, c-format
 msgid "wrong number of parameters on right side of OVERLAPS expression"
 msgstr "falsche Anzahl Parameter auf rechter Seite von OVERLAPS-Ausdruck"
 
-#: gram.y:11167
+#: gram.y:11168
 #, c-format
 msgid "UNIQUE predicate is not yet implemented"
 msgstr "UNIQUE-Prädikat ist noch nicht implementiert"
 
-#: gram.y:11454
+#: gram.y:11455
 #, c-format
 msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP"
 msgstr "in WITHIN GROUP können nicht mehrere ORDER-BY-Klauseln verwendet werden"
 
-#: gram.y:11459
+#: gram.y:11460
 #, c-format
 msgid "cannot use DISTINCT with WITHIN GROUP"
 msgstr "DISTINCT kann nicht mit WITHIN GROUP verwendet werden"
 
-#: gram.y:11464
+#: gram.y:11465
 #, c-format
 msgid "cannot use VARIADIC with WITHIN GROUP"
 msgstr "VARIADIC kann nicht mit WITHIN GROUP verwendet werden"
 
-#: gram.y:11970
+#: gram.y:11971
 #, c-format
 msgid "RANGE PRECEDING is only supported with UNBOUNDED"
 msgstr "RANGE PRECEDING wird nur mit UNBOUNDED unterstützt"
 
-#: gram.y:11976
+#: gram.y:11977
 #, c-format
 msgid "RANGE FOLLOWING is only supported with UNBOUNDED"
 msgstr "RANGE FOLLOWING wird nur mit UNBOUNDED unterstützt"
 
-#: gram.y:12003 gram.y:12026
+#: gram.y:12004 gram.y:12027
 #, c-format
 msgid "frame start cannot be UNBOUNDED FOLLOWING"
 msgstr "Frame-Beginn kann nicht UNBOUNDED FOLLOWING sein"
 
-#: gram.y:12008
+#: gram.y:12009
 #, c-format
 msgid "frame starting from following row cannot end with current row"
 msgstr "Frame der in der folgenden Zeile beginnt kann nicht in der aktuellen Zeile enden"
 
-#: gram.y:12031
+#: gram.y:12032
 #, c-format
 msgid "frame end cannot be UNBOUNDED PRECEDING"
 msgstr "Frame-Ende kann nicht UNBOUNDED PRECEDING sein"
 
-#: gram.y:12037
+#: gram.y:12038
 #, c-format
 msgid "frame starting from current row cannot have preceding rows"
 msgstr "Frame der in der aktuellen Zeile beginnt kann keine vorhergehenden Zeilen haben"
 
-#: gram.y:12044
+#: gram.y:12045
 #, c-format
 msgid "frame starting from following row cannot have preceding rows"
 msgstr "Frame der in der folgenden Zeile beginnt kann keine vorhergehenden Zeilen haben"
 
-#: gram.y:12683
+#: gram.y:12684
 #, c-format
 msgid "type modifier cannot have parameter name"
 msgstr "Typmodifikator kann keinen Parameternamen haben"
 
-#: gram.y:12689
+#: gram.y:12690
 #, c-format
 msgid "type modifier cannot have ORDER BY"
 msgstr "Typmodifikator kann kein ORDER BY haben"
 
-#: gram.y:13310 gram.y:13485
+#: gram.y:13311 gram.y:13486
 msgid "improper use of \"*\""
 msgstr "unzulässige Verwendung von »*«"
 
-#: gram.y:13448 gram.y:13465 tsearch/spell.c:667 tsearch/spell.c:684
+#: gram.y:13449 gram.y:13466 tsearch/spell.c:667 tsearch/spell.c:684
 #: tsearch/spell.c:701 tsearch/spell.c:718 tsearch/spell.c:740
 #, c-format
 msgid "syntax error"
 msgstr "Syntaxfehler"
 
-#: gram.y:13549
+#: gram.y:13550
 #, c-format
 msgid "an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"
 msgstr "eine Ordered-Set-Aggregatfunktion mit einem direkten VARIADIC-Argument muss ein aggregiertes VARIADIC-Argument des selben Datentyps haben"
 
-#: gram.y:13586
+#: gram.y:13587
 #, c-format
 msgid "multiple ORDER BY clauses not allowed"
 msgstr "mehrere ORDER-BY-Klauseln sind nicht erlaubt"
 
-#: gram.y:13597
+#: gram.y:13598
 #, c-format
 msgid "multiple OFFSET clauses not allowed"
 msgstr "mehrere OFFSET-Klauseln sind nicht erlaubt"
 
-#: gram.y:13606
+#: gram.y:13607
 #, c-format
 msgid "multiple LIMIT clauses not allowed"
 msgstr "mehrere LIMIT-Klauseln sind nicht erlaubt"
 
-#: gram.y:13615
+#: gram.y:13616
 #, c-format
 msgid "multiple WITH clauses not allowed"
 msgstr "mehrere WITH-Klauseln sind nicht erlaubt"
 
-#: gram.y:13755
+#: gram.y:13756
 #, c-format
 msgid "OUT and INOUT arguments aren't allowed in TABLE functions"
 msgstr "OUT- und INOUT-Argumente sind in TABLE-Funktionen nicht erlaubt"
 
-#: gram.y:13856
+#: gram.y:13857
 #, c-format
 msgid "multiple COLLATE clauses not allowed"
 msgstr "mehrere COLLATE-Klauseln sind nicht erlaubt"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:13894 gram.y:13907
+#: gram.y:13895 gram.y:13908
 #, c-format
 msgid "%s constraints cannot be marked DEFERRABLE"
 msgstr "%s-Constraints können nicht als DEFERRABLE markiert werden"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:13920
+#: gram.y:13921
 #, c-format
 msgid "%s constraints cannot be marked NOT VALID"
 msgstr "%s-Constraints können nicht als NOT VALID markiert werden"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:13933
+#: gram.y:13934
 #, c-format
 msgid "%s constraints cannot be marked NO INHERIT"
 msgstr "%s-Constraints können nicht als NO INHERIT markiert werden"
@@ -9488,9 +9483,9 @@ 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:314 utils/misc/guc.c:5605 utils/misc/guc.c:5788
-#: utils/misc/guc.c:5876 utils/misc/guc.c:5964 utils/misc/guc.c:6070
-#: utils/misc/guc.c:6163
+#: guc-file.l:314 utils/misc/guc.c:5609 utils/misc/guc.c:5792
+#: utils/misc/guc.c:5880 utils/misc/guc.c:5968 utils/misc/guc.c:6074
+#: utils/misc/guc.c:6167
 #, 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"
@@ -11038,7 +11033,7 @@ msgstr ""
 msgid "could not find array type for data type %s"
 msgstr "konnte Arraytyp für Datentyp %s nicht finden"
 
-#: optimizer/path/joinrels.c:816
+#: optimizer/path/joinrels.c:811
 #, c-format
 msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions"
 msgstr "FULL JOIN wird nur für Merge- oder Hash-Verbund-fähige Verbundbedingungen unterstützt"
@@ -11050,44 +11045,44 @@ msgid "%s cannot be applied to the nullable side of an outer join"
 msgstr "%s kann nicht auf die nullbare Seite eines äußeren Verbundes angewendet werden"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/planner.c:1235 parser/analyze.c:1334 parser/analyze.c:1534
+#: optimizer/plan/planner.c:1253 parser/analyze.c:1334 parser/analyze.c:1534
 #: parser/analyze.c:2293
 #, c-format
 msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr "%s ist nicht in UNION/INTERSECT/EXCEPT erlaubt"
 
-#: optimizer/plan/planner.c:2802
+#: optimizer/plan/planner.c:2820
 #, c-format
 msgid "could not implement GROUP BY"
 msgstr "konnte GROUP BY nicht implementieren"
 
-#: optimizer/plan/planner.c:2803 optimizer/plan/planner.c:2971
+#: optimizer/plan/planner.c:2821 optimizer/plan/planner.c:2989
 #: optimizer/prep/prepunion.c:829
 #, c-format
 msgid "Some of the datatypes only support hashing, while others only support sorting."
 msgstr "Einige Datentypen unterstützen nur Hashing, während andere nur Sortieren unterstützen."
 
-#: optimizer/plan/planner.c:2970
+#: optimizer/plan/planner.c:2988
 #, c-format
 msgid "could not implement DISTINCT"
 msgstr "konnte DISTINCT nicht implementieren"
 
-#: optimizer/plan/planner.c:3576
+#: optimizer/plan/planner.c:3594
 #, c-format
 msgid "could not implement window PARTITION BY"
 msgstr "konnte PARTITION BY für Fenster nicht implementieren"
 
-#: optimizer/plan/planner.c:3577
+#: optimizer/plan/planner.c:3595
 #, c-format
 msgid "Window partitioning columns must be of sortable datatypes."
 msgstr "Fensterpartitionierungsspalten müssen sortierbare Datentypen haben."
 
-#: optimizer/plan/planner.c:3581
+#: optimizer/plan/planner.c:3599
 #, c-format
 msgid "could not implement window ORDER BY"
 msgstr "konnte ORDER BY für Fenster nicht implementieren"
 
-#: optimizer/plan/planner.c:3582
+#: optimizer/plan/planner.c:3600
 #, c-format
 msgid "Window ordering columns must be of sortable datatypes."
 msgstr "Fenstersortierspalten müssen sortierbare Datentypen haben."
@@ -12555,7 +12550,7 @@ msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELE
 msgstr "Regeln mit WHERE-Bedingungen können als Aktion nur SELECT, INSERT, UPDATE oder DELETE haben"
 
 #: parser/parse_utilcmd.c:2188 parser/parse_utilcmd.c:2287
-#: rewrite/rewriteHandler.c:469 rewrite/rewriteManip.c:968
+#: rewrite/rewriteHandler.c:468 rewrite/rewriteManip.c:968
 #, c-format
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr "UNION/INTERSECTION/EXCEPT mit Bedingung sind nicht implementiert"
@@ -12665,17 +12660,17 @@ msgstr ""
 msgid "You possibly need to raise your kernel's SEMVMX value to be at least %d.  Look into the PostgreSQL documentation for details."
 msgstr "Sie müssen möglicherweise den Kernelparameter SEMVMX auf mindestens %d erhöhen.  Weitere Informationen finden Sie in der PostgreSQL-Dokumentation."
 
-#: port/pg_shmem.c:195 port/sysv_shmem.c:195
+#: port/pg_shmem.c:215 port/sysv_shmem.c:215
 #, c-format
 msgid "could not create shared memory segment: %m"
 msgstr "konnte Shared-Memory-Segment nicht erzeugen: %m"
 
-#: port/pg_shmem.c:196 port/sysv_shmem.c:196
+#: port/pg_shmem.c:216 port/sysv_shmem.c:216
 #, c-format
 msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)."
 msgstr "Fehlgeschlagener Systemaufruf war shmget(Key=%lu, Größe=%zu, 0%o)."
 
-#: port/pg_shmem.c:200 port/sysv_shmem.c:200
+#: port/pg_shmem.c:220 port/sysv_shmem.c:220
 #, 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"
@@ -12684,7 +12679,7 @@ msgstr ""
 "Dieser Fehler bedeutet gewöhnlich, dass das von PostgreSQL angeforderte Shared-Memory-Segment den Kernel-Parameter SHMMAX überschreitet, oder eventuell, dass es kleiner als der Kernel-Parameter SHMMIN ist.\n"
 "Die PostgreSQL-Dokumentation enthält weitere Informationen über die Konfiguration von Shared Memory."
 
-#: port/pg_shmem.c:207 port/sysv_shmem.c:207
+#: port/pg_shmem.c:227 port/sysv_shmem.c:227
 #, 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"
@@ -12693,7 +12688,7 @@ msgstr ""
 "Dieser Fehler bedeutet gewöhnlich, dass das von PostgreSQL angeforderte Shared-Memory-Segment den Kernel-Parameter SHMALL überschreitet.  Sie müssen eventuell den Kernel mit einem größeren SHMALL neu konfigurieren.\n"
 "Die PostgreSQL-Dokumentation enthält weitere Informationen über die Konfiguration von Shared Memory."
 
-#: port/pg_shmem.c:213 port/sysv_shmem.c:213
+#: port/pg_shmem.c:233 port/sysv_shmem.c:233
 #, 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"
@@ -12702,24 +12697,34 @@ msgstr ""
 "Dieser Fehler bedeutet *nicht*, dass kein Platz mehr auf der Festplatte ist.  Er tritt auf, wenn entweder alle verfügbaren Shared-Memory-IDs aufgebraucht sind, dann müssen den Kernelparameter SHMMNI erhöhen, oder weil die Systemhöchstgrenze für Shared Memory insgesamt erreicht wurde.\n"
 "Die PostgreSQL-Dokumentation enthält weitere Informationen über die Konfiguration von Shared Memory."
 
-#: port/pg_shmem.c:504 port/sysv_shmem.c:504
+#: port/pg_shmem.c:552 port/sysv_shmem.c:552
 #, c-format
 msgid "could not map anonymous shared memory: %m"
 msgstr "konnte anonymes Shared Memory nicht mappen: %m"
 
-#: port/pg_shmem.c:506 port/sysv_shmem.c:506
+#: port/pg_shmem.c:554 port/sysv_shmem.c:554
 #, 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 ""
 "Dieser Fehler bedeutet gewöhnlich, dass das von PostgreSQL angeforderte Shared-Memory-Segment den verfügbaren Speicher, Swap-Space oder Huge Pages überschreitet.  Um die benötigte Shared-Memory-Größe zu reduzieren (aktuell %zu Bytes), reduzieren Sie den Shared-Memory-Verbrauch von PostgreSQL, beispielsweise indem Sie »shared_buffers« oder »max_connections« reduzieren.\n"
 "Die PostgreSQL-Dokumentation enthält weitere Informationen über die Konfiguration von Shared Memory."
 
-#: port/pg_shmem.c:572 port/sysv_shmem.c:572 port/win32_shmem.c:134
+#: port/pg_shmem.c:616 port/sysv_shmem.c:616 port/win32_shmem.c:151
 #, c-format
 msgid "huge pages not supported on this platform"
 msgstr "Huge Pages werden auf dieser Plattform nicht unterstützt"
 
-#: port/pg_shmem.c:667 port/sysv_shmem.c:667
+#: port/pg_shmem.c:679 port/sysv_shmem.c:679 utils/init/miscinit.c:798
+#, c-format
+msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use"
+msgstr "bereits bestehender Shared-Memory-Block (Schlüssel %lu, ID %lu) wird noch benutzt"
+
+#: port/pg_shmem.c:682 port/sysv_shmem.c:682 utils/init/miscinit.c:800
+#, c-format
+msgid "Terminate any old server processes associated with data directory \"%s\"."
+msgstr "Beenden Sie alle alten Serverprozesse, die zum Datenverzeichnis »%s« gehören."
+
+#: port/pg_shmem.c:733 port/sysv_shmem.c:733
 #, c-format
 msgid "could not stat data directory \"%s\": %m"
 msgstr "konnte »stat« für Datenverzeichnis »%s« nicht ausführen: %m"
@@ -12799,32 +12804,32 @@ msgstr "konnte Semaphore nicht entsperren: Fehlercode %lu"
 msgid "could not try-lock semaphore: error code %lu"
 msgstr "konnte Semaphore nicht versuchsweise sperren: Fehlercode %lu"
 
-#: port/win32_shmem.c:173 port/win32_shmem.c:208 port/win32_shmem.c:226
+#: port/win32_shmem.c:196 port/win32_shmem.c:231 port/win32_shmem.c:249
 #, c-format
 msgid "could not create shared memory segment: error code %lu"
 msgstr "konnte Shared-Memory-Segment nicht erzeugen: Fehlercode %lu"
 
-#: port/win32_shmem.c:174
+#: port/win32_shmem.c:197
 #, c-format
 msgid "Failed system call was CreateFileMapping(size=%zu, name=%s)."
 msgstr "Fehlgeschlagener Systemaufruf war CreateFileMapping(Größe=%zu, Name=%s)."
 
-#: port/win32_shmem.c:198
+#: port/win32_shmem.c:221
 #, c-format
 msgid "pre-existing shared memory block is still in use"
 msgstr "bereits bestehender Shared-Memory-Block wird noch benutzt"
 
-#: port/win32_shmem.c:199
+#: port/win32_shmem.c:222
 #, c-format
 msgid "Check if there are any old server processes still running, and terminate them."
 msgstr "Prüfen Sie, ob irgendwelche alten Serverprozesse noch laufen und beenden Sie diese."
 
-#: port/win32_shmem.c:209
+#: port/win32_shmem.c:232
 #, c-format
 msgid "Failed system call was DuplicateHandle."
 msgstr "Fehlgeschlagener Systemaufruf war DuplicateHandle."
 
-#: port/win32_shmem.c:227
+#: port/win32_shmem.c:250
 #, c-format
 msgid "Failed system call was MapViewOfFileEx."
 msgstr "Fehlgeschlagener Systemaufruf war MapViewOfFileEx."
@@ -12941,34 +12946,34 @@ msgstr[1] "Mit den aktuellen Einstellungen können bis zu %d Background-Worker r
 msgid "Consider increasing the configuration parameter \"max_worker_processes\"."
 msgstr "Erhöhen Sie eventuell den Konfigurationsparameter »max_worker_processes«."
 
-#: postmaster/checkpointer.c:481
+#: postmaster/checkpointer.c:485
 #, c-format
 msgid "checkpoints are occurring too frequently (%d second apart)"
 msgid_plural "checkpoints are occurring too frequently (%d seconds apart)"
 msgstr[0] "Checkpoints passieren zu oft (alle %d Sekunde)"
 msgstr[1] "Checkpoints passieren zu oft (alle %d Sekunden)"
 
-#: postmaster/checkpointer.c:485
+#: postmaster/checkpointer.c:489
 #, c-format
 msgid "Consider increasing the configuration parameter \"checkpoint_segments\"."
 msgstr "Erhöhen Sie eventuell den Konfigurationsparameter »checkpoint_segments«."
 
-#: postmaster/checkpointer.c:630
+#: postmaster/checkpointer.c:634
 #, c-format
 msgid "transaction log switch forced (archive_timeout=%d)"
 msgstr "Umschalten des Transaktionslogs erzwungen (archive_timeout=%d)"
 
-#: postmaster/checkpointer.c:1077
+#: postmaster/checkpointer.c:1085
 #, c-format
 msgid "checkpoint request failed"
 msgstr "Checkpoint-Anforderung fehlgeschlagen"
 
-#: postmaster/checkpointer.c:1078
+#: postmaster/checkpointer.c:1086
 #, c-format
 msgid "Consult recent messages in the server log for details."
 msgstr "Einzelheiten finden Sie in den letzten Meldungen im Serverlog."
 
-#: postmaster/checkpointer.c:1274
+#: postmaster/checkpointer.c:1282
 #, c-format
 msgid "compacted fsync request queue from %d entries to %d entries"
 msgstr "fsync-Anfrageschlange von %d Einträgen auf %d Einträge zusammengefasst"
@@ -13004,7 +13009,7 @@ msgstr "Der fehlgeschlagene Archivbefehl war: %s"
 msgid "archive command was terminated by exception 0x%X"
 msgstr "Archivbefehl wurde durch Ausnahme 0x%X beendet"
 
-#: postmaster/pgarch.c:623 postmaster/postmaster.c:3521
+#: postmaster/pgarch.c:623 postmaster/postmaster.c:3522
 #, c-format
 msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
 msgstr "Sehen Sie die Beschreibung des Hexadezimalwerts in der C-Include-Datei »ntstatus.h« nach."
@@ -13169,163 +13174,163 @@ msgstr "verwende veraltete Statistiken anstatt aktueller, weil der Statistiksamm
 msgid "database hash table corrupted during cleanup --- abort"
 msgstr "Datenbank-Hash-Tabelle beim Aufräumen verfälscht --- Abbruch"
 
-#: postmaster/postmaster.c:682
+#: postmaster/postmaster.c:683
 #, c-format
 msgid "%s: invalid argument for option -f: \"%s\"\n"
 msgstr "%s: ungültiges Argument für Option -f: »%s«\n"
 
-#: postmaster/postmaster.c:768
+#: postmaster/postmaster.c:769
 #, c-format
 msgid "%s: invalid argument for option -t: \"%s\"\n"
 msgstr "%s: ungültiges Argument für Option -t: »%s«\n"
 
-#: postmaster/postmaster.c:819
+#: postmaster/postmaster.c:820
 #, c-format
 msgid "%s: invalid argument: \"%s\"\n"
 msgstr "%s: ungültiges Argument: »%s«\n"
 
-#: postmaster/postmaster.c:858
+#: postmaster/postmaster.c:859
 #, c-format
 msgid "%s: superuser_reserved_connections must be less than max_connections\n"
 msgstr "%s: superuser_reserved_connections muss kleiner als max_connections sein\n"
 
-#: postmaster/postmaster.c:863
+#: postmaster/postmaster.c:864
 #, c-format
 msgid "%s: max_wal_senders must be less than max_connections\n"
 msgstr "%s: max_wal_senders muss kleiner als max_connections sein\n"
 
-#: postmaster/postmaster.c:868
+#: postmaster/postmaster.c:869
 #, c-format
 msgid "WAL archival (archive_mode=on) requires wal_level \"archive\", \"hot_standby\", or \"logical\""
 msgstr "WAL-Archivierung (archive_mode=on) benötigt wal_level »archive«, »hot_standby« oder »logical«"
 
-#: postmaster/postmaster.c:871
+#: postmaster/postmaster.c:872
 #, c-format
 msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"archive\", \"hot_standby\", or \"logical\""
 msgstr "WAL-Streaming (max_wal_senders > 0) benötigt wal_level »archive«, »hot_standby« oder »logical«"
 
-#: postmaster/postmaster.c:879
+#: postmaster/postmaster.c:880
 #, c-format
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s: ungültige datetoken-Tabellen, bitte reparieren\n"
 
-#: postmaster/postmaster.c:971 postmaster/postmaster.c:1069
-#: utils/init/miscinit.c:1262
+#: postmaster/postmaster.c:972 postmaster/postmaster.c:1070
+#: utils/init/miscinit.c:1258
 #, c-format
 msgid "invalid list syntax in parameter \"%s\""
 msgstr "ungültige Listensyntax für Parameter »%s«"
 
-#: postmaster/postmaster.c:1002
+#: postmaster/postmaster.c:1003
 #, c-format
 msgid "could not create listen socket for \"%s\""
 msgstr "konnte Listen-Socket für »%s« nicht erzeugen"
 
-#: postmaster/postmaster.c:1008
+#: postmaster/postmaster.c:1009
 #, c-format
 msgid "could not create any TCP/IP sockets"
 msgstr "konnte keine TCP/IP-Sockets erstellen"
 
-#: postmaster/postmaster.c:1091
+#: postmaster/postmaster.c:1092
 #, c-format
 msgid "could not create Unix-domain socket in directory \"%s\""
 msgstr "konnte Unix-Domain-Socket in Verzeichnis »%s« nicht erzeugen"
 
-#: postmaster/postmaster.c:1097
+#: postmaster/postmaster.c:1098
 #, c-format
 msgid "could not create any Unix-domain sockets"
 msgstr "konnte keine Unix-Domain-Sockets erzeugen"
 
-#: postmaster/postmaster.c:1109
+#: postmaster/postmaster.c:1110
 #, c-format
 msgid "no socket created for listening"
 msgstr "keine Listen-Socket erzeugt"
 
-#: postmaster/postmaster.c:1149
+#: postmaster/postmaster.c:1150
 #, c-format
 msgid "could not create I/O completion port for child queue"
 msgstr "konnte Ein-/Ausgabe-Completion-Port für Child-Queue nicht erzeugen"
 
-#: postmaster/postmaster.c:1178
+#: postmaster/postmaster.c:1179
 #, c-format
 msgid "%s: could not change permissions of external PID file \"%s\": %s\n"
 msgstr "%s: konnte Rechte der externen PID-Datei »%s« nicht ändern: %s\n"
 
-#: postmaster/postmaster.c:1182
+#: postmaster/postmaster.c:1183
 #, c-format
 msgid "%s: could not write external PID file \"%s\": %s\n"
 msgstr "%s: konnte externe PID-Datei »%s« nicht schreiben: %s\n"
 
-#: postmaster/postmaster.c:1233
+#: postmaster/postmaster.c:1234
 #, c-format
 msgid "ending log output to stderr"
 msgstr "Logausgabe nach stderr endet"
 
-#: postmaster/postmaster.c:1234
+#: postmaster/postmaster.c:1235
 #, c-format
 msgid "Future log output will go to log destination \"%s\"."
 msgstr "Die weitere Logausgabe geht an Logziel »%s«."
 
-#: postmaster/postmaster.c:1260 utils/init/postinit.c:199
+#: postmaster/postmaster.c:1261 utils/init/postinit.c:199
 #, c-format
 msgid "could not load pg_hba.conf"
 msgstr "konnte pg_hba.conf nicht laden"
 
-#: postmaster/postmaster.c:1286
+#: postmaster/postmaster.c:1287
 #, c-format
 msgid "postmaster became multithreaded during startup"
 msgstr "Postmaster ist während des Starts multithreaded geworden"
 
-#: postmaster/postmaster.c:1287
+#: postmaster/postmaster.c:1288
 #, c-format
 msgid "Set the LC_ALL environment variable to a valid locale."
 msgstr "Setzen Sie die Umgebungsvariable LC_ALL auf eine gültige Locale."
 
-#: postmaster/postmaster.c:1384
+#: postmaster/postmaster.c:1385
 #, c-format
 msgid "%s: could not locate matching postgres executable"
 msgstr "%s: konnte kein passendes Programm »postgres« finden"
 
-#: postmaster/postmaster.c:1407 utils/misc/tzparser.c:341
+#: postmaster/postmaster.c:1408 utils/misc/tzparser.c:341
 #, c-format
 msgid "This may indicate an incomplete PostgreSQL installation, or that the file \"%s\" has been moved away from its proper location."
 msgstr "Dies kann auf eine unvollständige PostgreSQL-Installation hindeuten, oder darauf, dass die Datei »%s« von ihrer richtigen Stelle verschoben worden ist."
 
-#: postmaster/postmaster.c:1435
+#: postmaster/postmaster.c:1436
 #, c-format
 msgid "data directory \"%s\" does not exist"
 msgstr "Datenverzeichnis »%s« existiert nicht"
 
-#: postmaster/postmaster.c:1440
+#: postmaster/postmaster.c:1441
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
 msgstr "konnte Zugriffsrechte von Verzeichnis »%s« nicht lesen: %m"
 
-#: postmaster/postmaster.c:1448
+#: postmaster/postmaster.c:1449
 #, c-format
 msgid "specified data directory \"%s\" is not a directory"
 msgstr "angegebenes Datenverzeichnis »%s« ist kein Verzeichnis"
 
-#: postmaster/postmaster.c:1464
+#: postmaster/postmaster.c:1465
 #, c-format
 msgid "data directory \"%s\" has wrong ownership"
 msgstr "Datenverzeichnis »%s« hat falschen Eigentümer"
 
-#: postmaster/postmaster.c:1466
+#: postmaster/postmaster.c:1467
 #, c-format
 msgid "The server must be started by the user that owns the data directory."
 msgstr "Der Server muss von dem Benutzer gestartet werden, dem das Datenverzeichnis gehört."
 
-#: postmaster/postmaster.c:1486
+#: postmaster/postmaster.c:1487
 #, c-format
 msgid "data directory \"%s\" has group or world access"
 msgstr "Datenverzeichnis »%s« erlaubt Zugriff von Gruppe oder Welt"
 
-#: postmaster/postmaster.c:1488
+#: postmaster/postmaster.c:1489
 #, c-format
 msgid "Permissions should be u=rwx (0700)."
 msgstr "Rechte sollten u=rwx (0700) sein."
 
-#: postmaster/postmaster.c:1499
+#: postmaster/postmaster.c:1500
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -13336,374 +13341,374 @@ msgstr ""
 "Es wurde im Verzeichnis »%s« erwartet,\n"
 "aber die Datei »%s« konnte nicht geöffnet werden: %s\n"
 
-#: postmaster/postmaster.c:1676
+#: postmaster/postmaster.c:1677
 #, c-format
 msgid "select() failed in postmaster: %m"
 msgstr "select() fehlgeschlagen im Postmaster: %m"
 
-#: postmaster/postmaster.c:1831
+#: postmaster/postmaster.c:1832
 #, c-format
 msgid "performing immediate shutdown because data directory lock file is invalid"
 msgstr "führe sofortiges Herunterfahren durch, weil Sperrdatei im Datenverzeichnis ungültig ist"
 
-#: postmaster/postmaster.c:1909 postmaster/postmaster.c:1940
+#: postmaster/postmaster.c:1910 postmaster/postmaster.c:1941
 #, c-format
 msgid "incomplete startup packet"
 msgstr "unvollständiges Startpaket"
 
-#: postmaster/postmaster.c:1921
+#: postmaster/postmaster.c:1922
 #, c-format
 msgid "invalid length of startup packet"
 msgstr "ungültige Länge des Startpakets"
 
-#: postmaster/postmaster.c:1979
+#: postmaster/postmaster.c:1980
 #, c-format
 msgid "failed to send SSL negotiation response: %m"
 msgstr "konnte SSL-Verhandlungsantwort nicht senden: %m"
 
-#: postmaster/postmaster.c:2005
+#: postmaster/postmaster.c:2006
 #, c-format
 msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
 msgstr "nicht unterstütztes Frontend-Protokoll %u.%u: Server unterstützt %u.0 bis %u.%u"
 
-#: postmaster/postmaster.c:2069
+#: postmaster/postmaster.c:2070
 #, c-format
 msgid "invalid value for parameter \"replication\""
 msgstr "ungültiger Wert für Parameter »replication«"
 
-#: postmaster/postmaster.c:2070
+#: postmaster/postmaster.c:2071
 #, c-format
 msgid "Valid values are: false, 0, true, 1, database."
 msgstr "Gültige Werte sind: false, 0, true, 1, database."
 
-#: postmaster/postmaster.c:2100
+#: postmaster/postmaster.c:2101
 #, c-format
 msgid "invalid startup packet layout: expected terminator as last byte"
 msgstr "ungültiges Layout des Startpakets: Abschluss als letztes Byte erwartet"
 
-#: postmaster/postmaster.c:2138
+#: postmaster/postmaster.c:2139
 #, c-format
 msgid "no PostgreSQL user name specified in startup packet"
 msgstr "kein PostgreSQL-Benutzername im Startpaket angegeben"
 
-#: postmaster/postmaster.c:2197
+#: postmaster/postmaster.c:2198
 #, c-format
 msgid "the database system is starting up"
 msgstr "das Datenbanksystem startet"
 
-#: postmaster/postmaster.c:2202
+#: postmaster/postmaster.c:2203
 #, c-format
 msgid "the database system is shutting down"
 msgstr "das Datenbanksystem fährt herunter"
 
-#: postmaster/postmaster.c:2207
+#: postmaster/postmaster.c:2208
 #, c-format
 msgid "the database system is in recovery mode"
 msgstr "das Datenbanksystem ist im Wiederherstellungsmodus"
 
-#: postmaster/postmaster.c:2212 storage/ipc/procarray.c:287
+#: postmaster/postmaster.c:2213 storage/ipc/procarray.c:287
 #: storage/ipc/sinvaladt.c:305 storage/lmgr/proc.c:339
 #, c-format
 msgid "sorry, too many clients already"
 msgstr "tut mir leid, schon zu viele Verbindungen"
 
-#: postmaster/postmaster.c:2302
+#: postmaster/postmaster.c:2303
 #, c-format
 msgid "wrong key in cancel request for process %d"
 msgstr "falscher Schlüssel in Stornierungsanfrage für Prozess %d"
 
-#: postmaster/postmaster.c:2310
+#: postmaster/postmaster.c:2311
 #, c-format
 msgid "PID %d in cancel request did not match any process"
 msgstr "PID %d in Stornierungsanfrage stimmte mit keinem Prozess überein"
 
-#: postmaster/postmaster.c:2530
+#: postmaster/postmaster.c:2531
 #, c-format
 msgid "received SIGHUP, reloading configuration files"
 msgstr "SIGHUP empfangen, Konfigurationsdateien werden neu geladen"
 
-#: postmaster/postmaster.c:2556
+#: postmaster/postmaster.c:2557
 #, c-format
 msgid "pg_hba.conf not reloaded"
 msgstr "pg_hba.conf nicht neu geladen"
 
-#: postmaster/postmaster.c:2560
+#: postmaster/postmaster.c:2561
 #, c-format
 msgid "pg_ident.conf not reloaded"
 msgstr "pg_ident.conf nicht neu geladen"
 
-#: postmaster/postmaster.c:2601
+#: postmaster/postmaster.c:2602
 #, c-format
 msgid "received smart shutdown request"
 msgstr "intelligentes Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2654
+#: postmaster/postmaster.c:2655
 #, c-format
 msgid "received fast shutdown request"
 msgstr "schnelles Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2680
+#: postmaster/postmaster.c:2681
 #, c-format
 msgid "aborting any active transactions"
 msgstr "etwaige aktive Transaktionen werden abgebrochen"
 
-#: postmaster/postmaster.c:2714
+#: postmaster/postmaster.c:2715
 #, c-format
 msgid "received immediate shutdown request"
 msgstr "sofortiges Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2779 postmaster/postmaster.c:2802
+#: postmaster/postmaster.c:2780 postmaster/postmaster.c:2803
 msgid "startup process"
 msgstr "Startprozess"
 
-#: postmaster/postmaster.c:2782
+#: postmaster/postmaster.c:2783
 #, c-format
 msgid "aborting startup due to startup process failure"
 msgstr "Serverstart abgebrochen wegen Startprozessfehler"
 
-#: postmaster/postmaster.c:2843
+#: postmaster/postmaster.c:2844
 #, c-format
 msgid "database system is ready to accept connections"
 msgstr "Datenbanksystem ist bereit, um Verbindungen anzunehmen"
 
-#: postmaster/postmaster.c:2858
+#: postmaster/postmaster.c:2859
 msgid "background writer process"
 msgstr "Background-Writer-Prozess"
 
-#: postmaster/postmaster.c:2912
+#: postmaster/postmaster.c:2913
 msgid "checkpointer process"
 msgstr "Checkpointer-Prozess"
 
-#: postmaster/postmaster.c:2928
+#: postmaster/postmaster.c:2929
 msgid "WAL writer process"
 msgstr "WAL-Schreibprozess"
 
-#: postmaster/postmaster.c:2943
+#: postmaster/postmaster.c:2944
 msgid "WAL receiver process"
 msgstr "WAL-Receiver-Prozess"
 
-#: postmaster/postmaster.c:2958
+#: postmaster/postmaster.c:2959
 msgid "autovacuum launcher process"
 msgstr "Autovacuum-Launcher-Prozess"
 
-#: postmaster/postmaster.c:2973
+#: postmaster/postmaster.c:2974
 msgid "archiver process"
 msgstr "Archivierprozess"
 
-#: postmaster/postmaster.c:2989
+#: postmaster/postmaster.c:2990
 msgid "statistics collector process"
 msgstr "Statistiksammelprozess"
 
-#: postmaster/postmaster.c:3003
+#: postmaster/postmaster.c:3004
 msgid "system logger process"
 msgstr "Systemlogger-Prozess"
 
-#: postmaster/postmaster.c:3065
+#: postmaster/postmaster.c:3066
 msgid "worker process"
 msgstr "Worker-Prozess"
 
-#: postmaster/postmaster.c:3151 postmaster/postmaster.c:3171
-#: postmaster/postmaster.c:3178 postmaster/postmaster.c:3196
+#: postmaster/postmaster.c:3152 postmaster/postmaster.c:3172
+#: postmaster/postmaster.c:3179 postmaster/postmaster.c:3197
 msgid "server process"
 msgstr "Serverprozess"
 
-#: postmaster/postmaster.c:3250
+#: postmaster/postmaster.c:3251
 #, c-format
 msgid "terminating any other active server processes"
 msgstr "aktive Serverprozesse werden abgebrochen"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3509
+#: postmaster/postmaster.c:3510
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) beendete mit Status %d"
 
-#: postmaster/postmaster.c:3511 postmaster/postmaster.c:3522
-#: postmaster/postmaster.c:3533 postmaster/postmaster.c:3542
-#: postmaster/postmaster.c:3552
+#: postmaster/postmaster.c:3512 postmaster/postmaster.c:3523
+#: postmaster/postmaster.c:3534 postmaster/postmaster.c:3543
+#: postmaster/postmaster.c:3553
 #, c-format
 msgid "Failed process was running: %s"
 msgstr "Der fehlgeschlagene Prozess führte aus: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3519
+#: postmaster/postmaster.c:3520
 #, c-format
 msgid "%s (PID %d) was terminated by exception 0x%X"
 msgstr "%s (PID %d) wurde durch Ausnahme 0x%X beendet"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3529
+#: postmaster/postmaster.c:3530
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d: %s"
 msgstr "%s (PID %d) wurde von Signal %d beendet: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3540
+#: postmaster/postmaster.c:3541
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d"
 msgstr "%s (PID %d) wurde von Signal %d beendet"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3550
+#: postmaster/postmaster.c:3551
 #, c-format
 msgid "%s (PID %d) exited with unrecognized status %d"
 msgstr "%s (PID %d) beendete mit unbekanntem Status %d"
 
-#: postmaster/postmaster.c:3738
+#: postmaster/postmaster.c:3735
 #, c-format
 msgid "abnormal database system shutdown"
 msgstr "abnormales Herunterfahren des Datenbanksystems"
 
-#: postmaster/postmaster.c:3778
+#: postmaster/postmaster.c:3775
 #, c-format
 msgid "all server processes terminated; reinitializing"
 msgstr "alle Serverprozesse beendet; initialisiere neu"
 
-#: postmaster/postmaster.c:4035
+#: postmaster/postmaster.c:4032
 #, c-format
 msgid "could not fork new process for connection: %m"
 msgstr "konnte neuen Prozess für Verbindung nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:4077
+#: postmaster/postmaster.c:4074
 msgid "could not fork new process for connection: "
 msgstr "konnte neuen Prozess für Verbindung nicht starten (fork-Fehler): "
 
-#: postmaster/postmaster.c:4201
+#: postmaster/postmaster.c:4198
 #, c-format
 msgid "connection received: host=%s port=%s"
 msgstr "Verbindung empfangen: Host=%s Port=%s"
 
-#: postmaster/postmaster.c:4206
+#: postmaster/postmaster.c:4203
 #, c-format
 msgid "connection received: host=%s"
 msgstr "Verbindung empfangen: Host=%s"
 
-#: postmaster/postmaster.c:4490
+#: postmaster/postmaster.c:4487
 #, c-format
 msgid "could not execute server process \"%s\": %m"
 msgstr "konnte Serverprozess »%s« nicht ausführen: %m"
 
-#: postmaster/postmaster.c:4643
+#: postmaster/postmaster.c:4640
 #, c-format
 msgid "giving up after too many tries to reserve shared memory"
 msgstr "Aufgabe nach zu vielen Versuchen, Shared Memory zu reservieren"
 
-#: postmaster/postmaster.c:4644
+#: postmaster/postmaster.c:4641
 #, c-format
 msgid "This might be caused by ASLR or antivirus software."
 msgstr "Dies kann durch ASLR oder Antivirus-Software verursacht werden."
 
-#: postmaster/postmaster.c:4975
+#: postmaster/postmaster.c:4972
 #, c-format
 msgid "postmaster became multithreaded"
 msgstr "Postmaster ist multithreaded geworden"
 
-#: postmaster/postmaster.c:5041
+#: postmaster/postmaster.c:5038
 #, c-format
 msgid "database system is ready to accept read only connections"
 msgstr "Datenbanksystem ist bereit, um lesende Verbindungen anzunehmen"
 
-#: postmaster/postmaster.c:5356
+#: postmaster/postmaster.c:5362
 #, c-format
 msgid "could not fork startup process: %m"
 msgstr "konnte Startprozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5360
+#: postmaster/postmaster.c:5366
 #, c-format
 msgid "could not fork background writer process: %m"
 msgstr "konnte Background-Writer-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5364
+#: postmaster/postmaster.c:5370
 #, c-format
 msgid "could not fork checkpointer process: %m"
 msgstr "konnte Checkpointer-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5368
+#: postmaster/postmaster.c:5374
 #, c-format
 msgid "could not fork WAL writer process: %m"
 msgstr "konnte WAL-Writer-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5372
+#: postmaster/postmaster.c:5378
 #, c-format
 msgid "could not fork WAL receiver process: %m"
 msgstr "konnte WAL-Receiver-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5376
+#: postmaster/postmaster.c:5382
 #, c-format
 msgid "could not fork process: %m"
 msgstr "konnte Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5556
+#: postmaster/postmaster.c:5572
 #, c-format
 msgid "database connection requirement not indicated during registration"
 msgstr "die Notwendigkeit, Datenbankverbindungen zu erzeugen, wurde bei der Registrierung nicht angezeigt"
 
-#: postmaster/postmaster.c:5563
+#: postmaster/postmaster.c:5579
 #, c-format
 msgid "invalid processing mode in background worker"
 msgstr "ungültiger Verarbeitungsmodus in Background-Worker"
 
-#: postmaster/postmaster.c:5643
+#: postmaster/postmaster.c:5659
 #, c-format
 msgid "starting background worker process \"%s\""
 msgstr "starte Background-Worker-Prozess »%s«"
 
-#: postmaster/postmaster.c:5655
+#: postmaster/postmaster.c:5671
 #, c-format
 msgid "could not fork worker process: %m"
 msgstr "konnte Worker-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:6070
+#: postmaster/postmaster.c:6089
 #, c-format
 msgid "could not duplicate socket %d for use in backend: error code %d"
 msgstr "konnte Socket %d nicht für Verwendung in Backend duplizieren: Fehlercode %d"
 
-#: postmaster/postmaster.c:6102
+#: postmaster/postmaster.c:6121
 #, c-format
 msgid "could not create inherited socket: error code %d\n"
 msgstr "konnte geerbtes Socket nicht erzeugen: Fehlercode %d\n"
 
-#: postmaster/postmaster.c:6131
+#: postmaster/postmaster.c:6150
 #, c-format
 msgid "could not open backend variables file \"%s\": %s\n"
 msgstr "konnte Servervariablendatei »%s« nicht öffnen: %s\n"
 
-#: postmaster/postmaster.c:6138
+#: postmaster/postmaster.c:6157
 #, c-format
 msgid "could not read from backend variables file \"%s\": %s\n"
 msgstr "konnte nicht aus Servervariablendatei »%s« lesen: %s\n"
 
-#: postmaster/postmaster.c:6147
+#: postmaster/postmaster.c:6166
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "konnte Datei »%s« nicht löschen: %s\n"
 
-#: postmaster/postmaster.c:6164
+#: postmaster/postmaster.c:6183
 #, c-format
 msgid "could not map view of backend variables: error code %lu\n"
 msgstr "konnte Sicht der Backend-Variablen nicht mappen: Fehlercode %lu\n"
 
-#: postmaster/postmaster.c:6173
+#: postmaster/postmaster.c:6192
 #, c-format
 msgid "could not unmap view of backend variables: error code %lu\n"
 msgstr "konnte Sicht der Backend-Variablen nicht unmappen: Fehlercode %lu\n"
 
-#: postmaster/postmaster.c:6180
+#: postmaster/postmaster.c:6199
 #, c-format
 msgid "could not close handle to backend parameter variables: error code %lu\n"
 msgstr "konnte Handle für Backend-Parametervariablen nicht schließen: Fehlercode %lu\n"
 
-#: postmaster/postmaster.c:6339
+#: postmaster/postmaster.c:6361
 #, c-format
 msgid "could not read exit code for process\n"
 msgstr "konnte Exitcode des Prozesses nicht lesen\n"
 
-#: postmaster/postmaster.c:6344
+#: postmaster/postmaster.c:6366
 #, c-format
 msgid "could not post child completion status\n"
 msgstr "konnte Child-Completion-Status nicht versenden\n"
@@ -13831,7 +13836,7 @@ msgstr "Basissicherung konnte keine Daten senden, Sicherung abgebrochen"
 msgid "duplicate option \"%s\""
 msgstr "doppelte Option »%s«"
 
-#: replication/basebackup.c:642 utils/misc/guc.c:5394
+#: replication/basebackup.c:642 utils/misc/guc.c:5398
 #, c-format
 msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
 msgstr "%d ist außerhalb des gültigen Bereichs für Parameter »%s« (%d ... %d)"
@@ -14019,98 +14024,98 @@ msgstr "Array muss eine gerade Anzahl Elemente haben"
 msgid "logical decoding output plugin \"%s\" produces binary output, but \"%s\" expects textual data"
 msgstr "Ausgabe-Plugin »%s« erzeugt binäre Ausgabe, aber »%s« erwartet Textdaten"
 
-#: replication/logical/reorderbuffer.c:2325
+#: replication/logical/reorderbuffer.c:2329
 #, 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:2416
-#: replication/logical/reorderbuffer.c:2436
+#: replication/logical/reorderbuffer.c:2420
+#: replication/logical/reorderbuffer.c:2440
 #, 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:2420
-#: replication/logical/reorderbuffer.c:2440
+#: replication/logical/reorderbuffer.c:2424
+#: replication/logical/reorderbuffer.c:2444
 #, 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:2627
+#: replication/logical/reorderbuffer.c:2631
 #, c-format
 msgid "could not remove file \"%s\" during removal of pg_replslot/%s/*.xid: %m"
 msgstr "konnte Datei »%s« nicht entfernen, während des Entfernens von pg_replslot/%s/*.xid: %m"
 
-#: replication/logical/reorderbuffer.c:3092
+#: replication/logical/reorderbuffer.c:3096
 #, 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"
 
-#: replication/logical/snapbuild.c:649
+#: replication/logical/snapbuild.c:651
 #, c-format
 msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID"
 msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs"
 msgstr[0] "logischer Dekodierungs-Snapshot exportiert: »%s« mit %u Transaktions-ID"
 msgstr[1] "logischer Dekodierungs-Snapshot exportiert: »%s« mit %u Transaktions-IDs"
 
-#: replication/logical/snapbuild.c:1233 replication/logical/snapbuild.c:1323
-#: replication/logical/snapbuild.c:1822
+#: replication/logical/snapbuild.c:1235 replication/logical/snapbuild.c:1325
+#: replication/logical/snapbuild.c:1828
 #, c-format
 msgid "logical decoding found consistent point at %X/%X"
 msgstr "logisches Dekodieren fand konsistenten Punkt bei %X/%X"
 
-#: replication/logical/snapbuild.c:1235
+#: replication/logical/snapbuild.c:1237
 #, c-format
 msgid "There are no running transactions."
 msgstr "Keine laufenden Transaktionen."
 
-#: replication/logical/snapbuild.c:1276
+#: replication/logical/snapbuild.c:1278
 #, c-format
 msgid "logical decoding found initial starting point at %X/%X"
 msgstr "logisches Dekodieren fand initialen Startpunkt bei %X/%X"
 
-#: replication/logical/snapbuild.c:1278 replication/logical/snapbuild.c:1301
+#: replication/logical/snapbuild.c:1280 replication/logical/snapbuild.c:1303
 #, c-format
 msgid "Waiting for transactions (approximately %d) older than %u to end."
 msgstr "Warten auf Abschluss der Transaktionen (ungefähr %d), die älter als %u sind."
 
-#: replication/logical/snapbuild.c:1299
+#: replication/logical/snapbuild.c:1301
 #, c-format
 msgid "logical decoding found initial consistent point at %X/%X"
 msgstr "logisches Dekodieren fand initialen konsistenten Punkt bei %X/%X"
 
-#: replication/logical/snapbuild.c:1325
+#: replication/logical/snapbuild.c:1327
 #, c-format
 msgid "There are no old transactions anymore."
 msgstr "Es laufen keine alten Transaktionen mehr."
 
-#: replication/logical/snapbuild.c:1692 replication/logical/snapbuild.c:1721
-#: replication/logical/snapbuild.c:1739 replication/logical/snapbuild.c:1756
+#: replication/logical/snapbuild.c:1696 replication/logical/snapbuild.c:1727
+#: replication/logical/snapbuild.c:1745 replication/logical/snapbuild.c:1762
 #, c-format
 msgid "could not read file \"%s\", read %d of %d: %m"
 msgstr "konnte Datei »%s« nicht lesen, %d von %d gelesen: %m"
 
-#: replication/logical/snapbuild.c:1698
+#: replication/logical/snapbuild.c:1703
 #, c-format
 msgid "snapbuild state file \"%s\" has wrong magic %u instead of %u"
 msgstr "Snapbuild-State-Datei »%s« hat falsche magische Zahl %u statt %u"
 
-#: replication/logical/snapbuild.c:1703
+#: replication/logical/snapbuild.c:1709
 #, c-format
 msgid "snapbuild state file \"%s\" has unsupported version %u instead of %u"
 msgstr "Snapbuild-State-Datei »%s« hat nicht unterstützte Version %u statt %u"
 
-#: replication/logical/snapbuild.c:1769
+#: replication/logical/snapbuild.c:1775
 #, c-format
 msgid "snapbuild state file %s: checksum mismatch, is %u, should be %u"
 msgstr "Snapbuild-State-Datei »%s«: Prüfsummenfehler, ist %u, sollte %u sein"
 
-#: replication/logical/snapbuild.c:1824
+#: replication/logical/snapbuild.c:1830
 #, c-format
 msgid "Logical decoding will begin using saved snapshot."
 msgstr "Logische Dekodierung beginnt mit gespeichertem Snapshot."
 
-#: replication/logical/snapbuild.c:1895
+#: replication/logical/snapbuild.c:1901
 #, c-format
 msgid "could not parse file name \"%s\""
 msgstr "konnte Dateinamen »%s« nicht parsen"
@@ -14571,148 +14576,148 @@ msgstr "Regel »%s« für Relation »%s« existiert nicht"
 msgid "renaming an ON SELECT rule is not allowed"
 msgstr "Umbenennen einer ON-SELECT-Regel ist nicht erlaubt"
 
-#: rewrite/rewriteHandler.c:512
+#: rewrite/rewriteHandler.c:511
 #, c-format
 msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten"
 msgstr "WITH-Anfragename »%s« erscheint sowohl in der Regelaktion als auch in der umzuschreibenden Anfrage"
 
-#: rewrite/rewriteHandler.c:572
+#: rewrite/rewriteHandler.c:571
 #, c-format
 msgid "cannot have RETURNING lists in multiple rules"
 msgstr "RETURNING-Listen können nicht in mehreren Regeln auftreten"
 
-#: rewrite/rewriteHandler.c:931 rewrite/rewriteHandler.c:949
+#: rewrite/rewriteHandler.c:917 rewrite/rewriteHandler.c:935
 #, c-format
 msgid "multiple assignments to same column \"%s\""
 msgstr "mehrere Zuweisungen zur selben Spalte »%s«"
 
-#: rewrite/rewriteHandler.c:1729 rewrite/rewriteHandler.c:3201
+#: rewrite/rewriteHandler.c:1834 rewrite/rewriteHandler.c:3339
 #, c-format
 msgid "infinite recursion detected in rules for relation \"%s\""
 msgstr "unendliche Rekursion entdeckt in Regeln für Relation »%s«"
 
-#: rewrite/rewriteHandler.c:2032
+#: rewrite/rewriteHandler.c:2137
 msgid "Junk view columns are not updatable."
 msgstr "Junk-Sichtspalten sind nicht aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2037
+#: rewrite/rewriteHandler.c:2142
 msgid "View columns that are not columns of their base relation are not updatable."
 msgstr "Sichtspalten, die nicht Spalten ihrer Basisrelation sind, sind nicht aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2040
+#: rewrite/rewriteHandler.c:2145
 msgid "View columns that refer to system columns are not updatable."
 msgstr "Sichtspalten, die auf Systemspalten verweisen, sind nicht aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2043
+#: rewrite/rewriteHandler.c:2148
 msgid "View columns that return whole-row references are not updatable."
 msgstr "Sichtspalten, die Verweise auf ganze Zeilen zurückgeben, sind nicht aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2104
+#: rewrite/rewriteHandler.c:2209
 msgid "Views containing DISTINCT are not automatically updatable."
 msgstr "Sichten, die DISTINCT enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2107
+#: rewrite/rewriteHandler.c:2212
 msgid "Views containing GROUP BY are not automatically updatable."
 msgstr "Sichten, die GROUP BY enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2110
+#: rewrite/rewriteHandler.c:2215
 msgid "Views containing HAVING are not automatically updatable."
 msgstr "Sichten, die HAVING enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2113
+#: rewrite/rewriteHandler.c:2218
 msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable."
 msgstr "Sichten, die UNION, INTERSECT oder EXCEPT enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2116
+#: rewrite/rewriteHandler.c:2221
 msgid "Views containing WITH are not automatically updatable."
 msgstr "Sichten, die WITH enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2119
+#: rewrite/rewriteHandler.c:2224
 msgid "Views containing LIMIT or OFFSET are not automatically updatable."
 msgstr "Sichten, die LIMIT oder OFFSET enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2131
+#: rewrite/rewriteHandler.c:2236
 msgid "Views that return aggregate functions are not automatically updatable."
 msgstr "Sichten, die Aggregatfunktionen zurückgeben, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2134
+#: rewrite/rewriteHandler.c:2239
 msgid "Views that return window functions are not automatically updatable."
 msgstr "Sichten, die Fensterfunktionen zurückgeben, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2137
+#: rewrite/rewriteHandler.c:2242
 msgid "Views that return set-returning functions are not automatically updatable."
 msgstr "Sichten, die Funktionen mit Ergebnismenge zurückgeben, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2144 rewrite/rewriteHandler.c:2148
-#: rewrite/rewriteHandler.c:2155
+#: rewrite/rewriteHandler.c:2249 rewrite/rewriteHandler.c:2253
+#: rewrite/rewriteHandler.c:2260
 msgid "Views that do not select from a single table or view are not automatically updatable."
 msgstr "Sichten, die nicht aus einer einzigen Tabelle oder Sicht lesen, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2179
+#: rewrite/rewriteHandler.c:2284
 msgid "Views that have no updatable columns are not automatically updatable."
 msgstr "Sichten, die keine aktualisierbaren Spalten haben, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2626
+#: rewrite/rewriteHandler.c:2731
 #, c-format
 msgid "cannot insert into column \"%s\" of view \"%s\""
 msgstr "kann nicht in Spalte »%s« von Sicht »%s« einfügen"
 
-#: rewrite/rewriteHandler.c:2634
+#: rewrite/rewriteHandler.c:2739
 #, c-format
 msgid "cannot update column \"%s\" of view \"%s\""
 msgstr "kann Spalte »%s« von Sicht »%s« nicht aktualisieren"
 
-#: rewrite/rewriteHandler.c:3024
+#: rewrite/rewriteHandler.c:3129
 #, 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:3038
+#: rewrite/rewriteHandler.c:3143
 #, 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:3042
+#: rewrite/rewriteHandler.c:3147
 #, 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:3047
+#: rewrite/rewriteHandler.c:3152
 #, 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:3238
+#: rewrite/rewriteHandler.c:3376
 #, c-format
 msgid "cannot perform INSERT RETURNING on relation \"%s\""
 msgstr "INSERT RETURNING kann in Relation »%s« nicht ausgeführt werden"
 
-#: rewrite/rewriteHandler.c:3240
+#: rewrite/rewriteHandler.c:3378
 #, 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:3245
+#: rewrite/rewriteHandler.c:3383
 #, c-format
 msgid "cannot perform UPDATE RETURNING on relation \"%s\""
 msgstr "UPDATE RETURNING kann in Relation »%s« nicht ausgeführt werden"
 
-#: rewrite/rewriteHandler.c:3247
+#: rewrite/rewriteHandler.c:3385
 #, 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:3252
+#: rewrite/rewriteHandler.c:3390
 #, c-format
 msgid "cannot perform DELETE RETURNING on relation \"%s\""
 msgstr "DELETE RETURNING kann in Relation »%s« nicht ausgeführt werden"
 
-#: rewrite/rewriteHandler.c:3254
+#: rewrite/rewriteHandler.c:3392
 #, 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:3318
+#: rewrite/rewriteHandler.c:3456
 #, 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"
@@ -15470,7 +15475,7 @@ msgstr "konnte Datei »%s« nicht fsyncen, versuche erneut: %m"
 msgid "could not forward fsync request because request queue is full"
 msgstr "konnte fsync-Anfrage nicht weiterleiten, weil Anfrageschlange voll ist"
 
-#: storage/smgr/md.c:1812
+#: storage/smgr/md.c:1806
 #, c-format
 msgid "could not open file \"%s\" (target block %u): %m"
 msgstr "konnte Datei »%s« nicht öffnen (Zielblock %u): %m"
@@ -16486,7 +16491,7 @@ msgstr "Datum/Zeitwert »current« wird nicht mehr unterstützt"
 msgid "date out of range: \"%s\""
 msgstr "date ist außerhalb des gültigen Bereichs: »%s«"
 
-#: utils/adt/date.c:216 utils/adt/xml.c:2032
+#: utils/adt/date.c:216 utils/adt/xml.c:2130
 #, c-format
 msgid "date out of range"
 msgstr "date ist außerhalb des gültigen Bereichs"
@@ -16531,8 +16536,8 @@ msgstr "Datum ist außerhalb des gültigen Bereichs für Typ »timestamp«"
 #: utils/adt/timestamp.c:4798 utils/adt/timestamp.c:5033
 #: utils/adt/timestamp.c:5047 utils/adt/timestamp.c:5126
 #: utils/adt/timestamp.c:5133 utils/adt/timestamp.c:5159
-#: utils/adt/timestamp.c:5163 utils/adt/timestamp.c:5232 utils/adt/xml.c:2054
-#: utils/adt/xml.c:2061 utils/adt/xml.c:2081 utils/adt/xml.c:2088
+#: utils/adt/timestamp.c:5163 utils/adt/timestamp.c:5232 utils/adt/xml.c:2152
+#: utils/adt/xml.c:2159 utils/adt/xml.c:2179 utils/adt/xml.c:2186
 #, c-format
 msgid "timestamp out of range"
 msgstr "timestamp ist außerhalb des gültigen Bereichs"
@@ -17793,32 +17798,32 @@ msgstr "Null-Zeichen ist nicht erlaubt"
 msgid "percentile value %g is not between 0 and 1"
 msgstr "Perzentilwert %g ist nicht zwischen 0 und 1"
 
-#: utils/adt/pg_locale.c:1177
+#: utils/adt/pg_locale.c:1236
 #, c-format
 msgid "could not create locale \"%s\": %m"
 msgstr "konnte Locale »%s« nicht erzeugen: %m"
 
-#: utils/adt/pg_locale.c:1180
+#: utils/adt/pg_locale.c:1239
 #, c-format
 msgid "The operating system could not find any locale data for the locale name \"%s\"."
 msgstr "Das Betriebssystem konnte keine Locale-Daten für den Locale-Namen »%s« finden."
 
-#: utils/adt/pg_locale.c:1267
+#: utils/adt/pg_locale.c:1326
 #, c-format
 msgid "collations with different collate and ctype values are not supported on this platform"
 msgstr "Sortierfolgen mit unterschiedlichen »collate«- und »ctype«-Werten werden auf dieser Plattform nicht unterstützt"
 
-#: utils/adt/pg_locale.c:1282
+#: utils/adt/pg_locale.c:1341
 #, c-format
 msgid "nondefault collations are not supported on this platform"
 msgstr "Sortierfolgen außer der Standardsortierfolge werden auf dieser Plattform nicht unterstützt"
 
-#: utils/adt/pg_locale.c:1453
+#: utils/adt/pg_locale.c:1512
 #, c-format
 msgid "invalid multibyte character for locale"
 msgstr "ungültiges Mehrbytezeichen für Locale"
 
-#: utils/adt/pg_locale.c:1454
+#: utils/adt/pg_locale.c:1513
 #, 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."
@@ -18674,141 +18679,141 @@ msgstr "Argument von ntile muss größer als null sein"
 msgid "argument of nth_value must be greater than zero"
 msgstr "Argument von nth_value muss größer als null sein"
 
-#: utils/adt/xml.c:175
+#: utils/adt/xml.c:176
 #, c-format
 msgid "unsupported XML feature"
 msgstr "nicht unterstützte XML-Funktionalität"
 
-#: utils/adt/xml.c:176
+#: utils/adt/xml.c:177
 #, c-format
 msgid "This functionality requires the server to be built with libxml support."
 msgstr "Diese Funktionalität verlangt, dass der Server mit Libxml-Unterstützung gebaut wird."
 
-#: utils/adt/xml.c:177
+#: utils/adt/xml.c:178
 #, c-format
 msgid "You need to rebuild PostgreSQL using --with-libxml."
 msgstr "Sie müssen PostgreSQL mit --with-libxml neu bauen."
 
-#: utils/adt/xml.c:196 utils/mb/mbutils.c:523
+#: utils/adt/xml.c:197 utils/mb/mbutils.c:523
 #, c-format
 msgid "invalid encoding name \"%s\""
 msgstr "ungültiger Kodierungsname »%s«"
 
-#: utils/adt/xml.c:439 utils/adt/xml.c:444
+#: utils/adt/xml.c:440 utils/adt/xml.c:445
 #, c-format
 msgid "invalid XML comment"
 msgstr "ungültiger XML-Kommentar"
 
-#: utils/adt/xml.c:573
+#: utils/adt/xml.c:574
 #, c-format
 msgid "not an XML document"
 msgstr "kein XML-Dokument"
 
-#: utils/adt/xml.c:732 utils/adt/xml.c:755
+#: utils/adt/xml.c:733 utils/adt/xml.c:756
 #, c-format
 msgid "invalid XML processing instruction"
 msgstr "ungültige XML-Verarbeitungsanweisung"
 
-#: utils/adt/xml.c:733
+#: utils/adt/xml.c:734
 #, c-format
 msgid "XML processing instruction target name cannot be \"%s\"."
 msgstr "Die Zielangabe der XML-Verarbeitungsanweisung darf nicht »%s« sein."
 
-#: utils/adt/xml.c:756
+#: utils/adt/xml.c:757
 #, c-format
 msgid "XML processing instruction cannot contain \"?>\"."
 msgstr "XML-Verarbeitungsanweisung darf nicht »?>« enthalten."
 
-#: utils/adt/xml.c:835
+#: utils/adt/xml.c:836
 #, c-format
 msgid "xmlvalidate is not implemented"
 msgstr "xmlvalidate ist nicht implementiert"
 
-#: utils/adt/xml.c:914
+#: utils/adt/xml.c:915
 #, c-format
 msgid "could not initialize XML library"
 msgstr "konnte XML-Bibliothek nicht initialisieren"
 
-#: utils/adt/xml.c:915
+#: utils/adt/xml.c:916
 #, c-format
 msgid "libxml2 has incompatible char type: sizeof(char)=%u, sizeof(xmlChar)=%u."
 msgstr "libxml2 hat inkompatiblen char-Typ: sizeof(char)=%u, sizeof(xmlChar)=%u."
 
-#: utils/adt/xml.c:1001
+#: utils/adt/xml.c:1002
 #, c-format
 msgid "could not set up XML error handler"
 msgstr "konnte XML-Fehlerbehandlung nicht einrichten"
 
-#: utils/adt/xml.c:1002
+#: utils/adt/xml.c:1003
 #, c-format
 msgid "This probably indicates that the version of libxml2 being used is not compatible with the libxml2 header files that PostgreSQL was built with."
 msgstr "Das deutet wahrscheinlich darauf hin, dass die verwendete Version von libxml2 nicht mit den Header-Dateien der Version, mit der PostgreSQL gebaut wurde, kompatibel ist."
 
-#: utils/adt/xml.c:1740
+#: utils/adt/xml.c:1838
 msgid "Invalid character value."
 msgstr "Ungültiger Zeichenwert."
 
-#: utils/adt/xml.c:1743
+#: utils/adt/xml.c:1841
 msgid "Space required."
 msgstr "Leerzeichen benötigt."
 
-#: utils/adt/xml.c:1746
+#: utils/adt/xml.c:1844
 msgid "standalone accepts only 'yes' or 'no'."
 msgstr "standalone akzeptiert nur »yes« oder »no«."
 
-#: utils/adt/xml.c:1749
+#: utils/adt/xml.c:1847
 msgid "Malformed declaration: missing version."
 msgstr "Fehlerhafte Deklaration: Version fehlt."
 
-#: utils/adt/xml.c:1752
+#: utils/adt/xml.c:1850
 msgid "Missing encoding in text declaration."
 msgstr "Fehlende Kodierung in Textdeklaration."
 
-#: utils/adt/xml.c:1755
+#: utils/adt/xml.c:1853
 msgid "Parsing XML declaration: '?>' expected."
 msgstr "Beim Parsen der XML-Deklaration: »?>« erwartet."
 
-#: utils/adt/xml.c:1758
+#: utils/adt/xml.c:1856
 #, c-format
 msgid "Unrecognized libxml error code: %d."
 msgstr "Unbekannter Libxml-Fehlercode: %d."
 
-#: utils/adt/xml.c:2033
+#: utils/adt/xml.c:2131
 #, c-format
 msgid "XML does not support infinite date values."
 msgstr "XML unterstützt keine unendlichen Datumswerte."
 
-#: utils/adt/xml.c:2055 utils/adt/xml.c:2082
+#: utils/adt/xml.c:2153 utils/adt/xml.c:2180
 #, c-format
 msgid "XML does not support infinite timestamp values."
 msgstr "XML unterstützt keine unendlichen timestamp-Werte."
 
-#: utils/adt/xml.c:2482
+#: utils/adt/xml.c:2580
 #, c-format
 msgid "invalid query"
 msgstr "ungültige Anfrage"
 
-#: utils/adt/xml.c:3813
+#: utils/adt/xml.c:3911
 #, c-format
 msgid "invalid array for XML namespace mapping"
 msgstr "ungültiges Array for XML-Namensraumabbildung"
 
-#: utils/adt/xml.c:3814
+#: utils/adt/xml.c:3912
 #, c-format
 msgid "The array must be two-dimensional with length of the second axis equal to 2."
 msgstr "Das Array muss zweidimensional sein und die Länge der zweiten Achse muss gleich 2 sein."
 
-#: utils/adt/xml.c:3838
+#: utils/adt/xml.c:3936
 #, c-format
 msgid "empty XPath expression"
 msgstr "leerer XPath-Ausdruck"
 
-#: utils/adt/xml.c:3898
+#: utils/adt/xml.c:3996
 #, c-format
 msgid "neither namespace name nor URI may be null"
 msgstr "weder Namensraumname noch URI dürfen NULL sein"
 
-#: utils/adt/xml.c:3905
+#: utils/adt/xml.c:4003
 #, c-format
 msgid "could not register XML namespace with name \"%s\" and URI \"%s\""
 msgstr "konnte XML-Namensraum mit Namen »%s« und URI »%s« nicht registrieren"
@@ -18834,17 +18839,17 @@ msgstr "keine Ausgabefunktion verfügbar für Typ %s"
 msgid "cached plan must not change result type"
 msgstr "gecachter Plan darf den Ergebnistyp nicht ändern"
 
-#: utils/cache/relcache.c:4996
+#: utils/cache/relcache.c:5024
 #, 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:4998
+#: utils/cache/relcache.c:5026
 #, c-format
 msgid "Continuing anyway, but there's something wrong."
 msgstr "Setze trotzdem fort, aber irgendwas stimmt nicht."
 
-#: utils/cache/relcache.c:5321
+#: utils/cache/relcache.c:5349
 #, c-format
 msgid "could not remove cache file \"%s\": %m"
 msgstr "konnte Cache-Datei »%s« nicht löschen: %m"
@@ -19141,7 +19146,7 @@ msgstr "konnte Zeilenbeschreibung für Funktion, die »record« zurückgibt, nic
 msgid "could not change directory to \"%s\": %m"
 msgstr "konnte nicht in Verzeichnis »%s« wechseln: %m"
 
-#: utils/init/miscinit.c:311 utils/misc/guc.c:5716
+#: utils/init/miscinit.c:311 utils/misc/guc.c:5720
 #, c-format
 msgid "cannot set parameter \"%s\" within security-restricted operation"
 msgstr "kann Parameter »%s« nicht in einer sicherheitsbeschränkten Operation setzen"
@@ -19216,73 +19221,63 @@ msgstr "Verwendet bereits ein anderer postgres-Prozess (PID %d) die Socketdatei
 msgid "Is another postmaster (PID %d) using socket file \"%s\"?"
 msgstr "Verwendet bereits ein anderer postmaster-Prozess (PID %d) die Socketdatei »%s«?"
 
-#: utils/init/miscinit.c:798
-#, c-format
-msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use"
-msgstr "bereits bestehender Shared-Memory-Block (Schlüssel %lu, ID %lu) wird noch benutzt"
-
-#: utils/init/miscinit.c:801
-#, c-format
-msgid "If you're sure there are no old server processes still running, remove the shared memory block or just delete the file \"%s\"."
-msgstr "Wenn Sie sich sicher sind, dass kein alter Serverprozess mehr läuft, entfernen Sie den Shared-Memory-Block oder löschen Sie einfach die Datei »%s«."
-
-#: utils/init/miscinit.c:817
+#: utils/init/miscinit.c:813
 #, c-format
 msgid "could not remove old lock file \"%s\": %m"
 msgstr "konnte alte Sperrdatei »%s« nicht löschen: %m"
 
-#: utils/init/miscinit.c:819
+#: utils/init/miscinit.c:815
 #, 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 "Die Datei ist anscheinend aus Versehen übrig geblieben, konnte aber nicht gelöscht werden. Bitte entfernen Sie die Datei von Hand und versuchen Sie es erneut."
 
-#: utils/init/miscinit.c:855 utils/init/miscinit.c:866
-#: utils/init/miscinit.c:876
+#: utils/init/miscinit.c:851 utils/init/miscinit.c:862
+#: utils/init/miscinit.c:872
 #, c-format
 msgid "could not write lock file \"%s\": %m"
 msgstr "konnte Sperrdatei »%s« nicht schreiben: %m"
 
-#: utils/init/miscinit.c:1005 utils/init/miscinit.c:1134 utils/misc/guc.c:8420
+#: utils/init/miscinit.c:1001 utils/init/miscinit.c:1130 utils/misc/guc.c:8424
 #, c-format
 msgid "could not read from file \"%s\": %m"
 msgstr "konnte nicht aus Datei »%s« lesen: %m"
 
-#: utils/init/miscinit.c:1124
+#: utils/init/miscinit.c:1120
 #, c-format
 msgid "could not open file \"%s\": %m; continuing anyway"
 msgstr "konnte Datei »%s« nicht öffnen: %m; setze trotzdem fort"
 
-#: utils/init/miscinit.c:1147
+#: utils/init/miscinit.c:1143
 #, c-format
 msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld"
 msgstr "Sperrdatei »%s« enthält falsche PID: %ld statt %ld"
 
-#: utils/init/miscinit.c:1189 utils/init/miscinit.c:1202
+#: utils/init/miscinit.c:1185 utils/init/miscinit.c:1198
 #, c-format
 msgid "\"%s\" is not a valid data directory"
 msgstr "»%s« ist kein gültiges Datenverzeichnis"
 
-#: utils/init/miscinit.c:1191
+#: utils/init/miscinit.c:1187
 #, c-format
 msgid "File \"%s\" is missing."
 msgstr "Die Datei »%s« fehlt."
 
-#: utils/init/miscinit.c:1204
+#: utils/init/miscinit.c:1200
 #, c-format
 msgid "File \"%s\" does not contain valid data."
 msgstr "Die Datei »%s« enthält keine gültigen Daten."
 
-#: utils/init/miscinit.c:1206
+#: utils/init/miscinit.c:1202
 #, c-format
 msgid "You might need to initdb."
 msgstr "Sie müssen möglicherweise initdb ausführen."
 
-#: utils/init/miscinit.c:1214
+#: utils/init/miscinit.c:1210
 #, c-format
 msgid "The data directory was initialized by PostgreSQL version %ld.%ld, which is not compatible with this version %s."
 msgstr "Das Datenverzeichnis wurde von PostgreSQL Version %ld.%ld initialisiert, welche nicht mit dieser Version %s kompatibel ist."
 
-#: utils/init/miscinit.c:1285
+#: utils/init/miscinit.c:1281
 #, c-format
 msgid "loaded library \"%s\""
 msgstr "Bibliothek »%s« geladen"
@@ -19365,57 +19360,57 @@ msgstr "Erzeugen Sie die Datenbank neu mit einer anderen Locale oder installiere
 msgid "The database was initialized with LC_CTYPE \"%s\",  which is not recognized by setlocale()."
 msgstr "Die Datenbank wurde mit LC_CTYPE »%s« initialisiert, was von setlocale() nicht erkannt wird."
 
-#: utils/init/postinit.c:667
+#: utils/init/postinit.c:669
 #, c-format
 msgid "no roles are defined in this database system"
 msgstr "in diesem Datenbanksystem sind keine Rollen definiert"
 
-#: utils/init/postinit.c:668
+#: utils/init/postinit.c:670
 #, c-format
 msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;."
 msgstr "Sie sollten sofort CREATE USER \"%s\" SUPERUSER; ausführen."
 
-#: utils/init/postinit.c:704
+#: utils/init/postinit.c:706
 #, c-format
 msgid "new replication connections are not allowed during database shutdown"
 msgstr "während des Herunterfahrens der Datenbank sind keine neuen Replikationsverbindungen erlaubt"
 
-#: utils/init/postinit.c:708
+#: utils/init/postinit.c:710
 #, c-format
 msgid "must be superuser to connect during database shutdown"
 msgstr "nur Superuser können während des Herunterfahrens der Datenbank verbinden"
 
-#: utils/init/postinit.c:718
+#: utils/init/postinit.c:720
 #, c-format
 msgid "must be superuser to connect in binary upgrade mode"
 msgstr "nur Superuser können im Binary-Upgrade-Modus verbinden"
 
-#: utils/init/postinit.c:732
+#: utils/init/postinit.c:734
 #, c-format
 msgid "remaining connection slots are reserved for non-replication superuser connections"
 msgstr "die verbleibenden Verbindungen sind für Superuser auf Nicht-Replikationsverbindungen reserviert"
 
-#: utils/init/postinit.c:742
+#: utils/init/postinit.c:744
 #, c-format
 msgid "must be superuser or replication role to start walsender"
 msgstr "nur Superuser und Replikationsrollen können WAL-Sender starten"
 
-#: utils/init/postinit.c:811
+#: utils/init/postinit.c:813
 #, c-format
 msgid "database %u does not exist"
 msgstr "Datenbank %u existiert nicht"
 
-#: utils/init/postinit.c:897
+#: utils/init/postinit.c:899
 #, c-format
 msgid "It seems to have just been dropped or renamed."
 msgstr "Sie wurde anscheinend gerade gelöscht oder umbenannt."
 
-#: utils/init/postinit.c:915
+#: utils/init/postinit.c:917
 #, c-format
 msgid "The database subdirectory \"%s\" is missing."
 msgstr "Das Datenbankunterverzeichnis »%s« fehlt."
 
-#: utils/init/postinit.c:920
+#: utils/init/postinit.c:922
 #, c-format
 msgid "could not access directory \"%s\": %m"
 msgstr "konnte nicht auf Verzeichnis »%s« zugreifen: %m"
@@ -20937,140 +20932,140 @@ msgstr "Gültige Einheiten für diesen Parameter sind »kB«, »MB«, »GB« und
 msgid "Valid units for this parameter are \"ms\", \"s\", \"min\", \"h\", and \"d\"."
 msgstr "Gültige Einheiten für diesen Parameter sind »ms«, »s«, »min«, »h« und »d«."
 
-#: utils/misc/guc.c:5384 utils/misc/guc.c:5477 utils/misc/guc.c:6762
-#: utils/misc/guc.c:9003 utils/misc/guc.c:9037
+#: utils/misc/guc.c:5388 utils/misc/guc.c:5481 utils/misc/guc.c:6766
+#: utils/misc/guc.c:9007 utils/misc/guc.c:9041
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "ungültiger Wert für Parameter »%s«: »%s«"
 
-#: utils/misc/guc.c:5413
+#: utils/misc/guc.c:5417
 #, c-format
 msgid "parameter \"%s\" requires a numeric value"
 msgstr "Parameter »%s« erfordert einen numerischen Wert"
 
-#: utils/misc/guc.c:5422
+#: utils/misc/guc.c:5426
 #, c-format
 msgid "%g is outside the valid range for parameter \"%s\" (%g .. %g)"
 msgstr "%g ist außerhalb des gültigen Bereichs für Parameter »%s« (%g ... %g)"
 
-#: utils/misc/guc.c:5567 utils/misc/guc.c:6299 utils/misc/guc.c:6351
-#: utils/misc/guc.c:6400 utils/misc/guc.c:6734 utils/misc/guc.c:7485
-#: utils/misc/guc.c:7644 utils/misc/guc.c:8823
+#: utils/misc/guc.c:5571 utils/misc/guc.c:6303 utils/misc/guc.c:6355
+#: utils/misc/guc.c:6404 utils/misc/guc.c:6738 utils/misc/guc.c:7489
+#: utils/misc/guc.c:7648 utils/misc/guc.c:8827
 #, c-format
 msgid "unrecognized configuration parameter \"%s\""
 msgstr "unbekannter Konfigurationsparameter »%s«"
 
-#: utils/misc/guc.c:5582 utils/misc/guc.c:6745
+#: utils/misc/guc.c:5586 utils/misc/guc.c:6749
 #, c-format
 msgid "parameter \"%s\" cannot be changed"
 msgstr "Parameter »%s« kann nicht geändert werden"
 
-#: utils/misc/guc.c:5615
+#: utils/misc/guc.c:5619
 #, c-format
 msgid "parameter \"%s\" cannot be changed now"
 msgstr "Parameter »%s« kann jetzt nicht geändert werden"
 
-#: utils/misc/guc.c:5660
+#: utils/misc/guc.c:5664
 #, c-format
 msgid "parameter \"%s\" cannot be set after connection start"
 msgstr "Parameter »%s« kann nach Start der Verbindung nicht geändert werden"
 
-#: utils/misc/guc.c:5670 utils/misc/guc.c:8839
+#: utils/misc/guc.c:5674 utils/misc/guc.c:8843
 #, c-format
 msgid "permission denied to set parameter \"%s\""
 msgstr "keine Berechtigung, um Parameter »%s« zu setzen"
 
-#: utils/misc/guc.c:5708
+#: utils/misc/guc.c:5712
 #, c-format
 msgid "cannot set parameter \"%s\" within security-definer function"
 msgstr "Parameter »%s« kann nicht in einer Security-Definer-Funktion gesetzt werden"
 
-#: utils/misc/guc.c:6307 utils/misc/guc.c:6355 utils/misc/guc.c:7648
+#: utils/misc/guc.c:6311 utils/misc/guc.c:6359 utils/misc/guc.c:7652
 #, c-format
 msgid "must be superuser to examine \"%s\""
 msgstr "nur Superuser können »%s« ansehen"
 
-#: utils/misc/guc.c:6445
+#: utils/misc/guc.c:6449
 #, c-format
 msgid "SET %s takes only one argument"
 msgstr "SET %s darf nur ein Argument haben"
 
-#: utils/misc/guc.c:6694
+#: utils/misc/guc.c:6698
 #, c-format
 msgid "must be superuser to execute ALTER SYSTEM command"
 msgstr "nur Superuser können den Befehl ALTER SYSTEM ausführen"
 
-#: utils/misc/guc.c:6778
+#: utils/misc/guc.c:6782
 #, c-format
 msgid "parameter value for ALTER SYSTEM must not contain a newline"
 msgstr "Parameterwert für ALTER SYSTEM darf keine Newline enthalten"
 
-#: utils/misc/guc.c:6823
+#: utils/misc/guc.c:6827
 #, c-format
 msgid "could not parse contents of file \"%s\""
 msgstr "konnte Inhalt der Datei »%s« nicht parsen"
 
-#: utils/misc/guc.c:6974
+#: utils/misc/guc.c:6978
 #, c-format
 msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented"
 msgstr "SET LOCAL TRANSACTION SNAPSHOT ist nicht implementiert"
 
-#: utils/misc/guc.c:7062
+#: utils/misc/guc.c:7066
 #, c-format
 msgid "SET requires parameter name"
 msgstr "SET benötigt Parameternamen"
 
-#: utils/misc/guc.c:7187
+#: utils/misc/guc.c:7191
 #, c-format
 msgid "attempt to redefine parameter \"%s\""
 msgstr "Versuch, den Parameter »%s« zu redefinieren"
 
-#: utils/misc/guc.c:8543
+#: utils/misc/guc.c:8547
 #, c-format
 msgid "could not parse setting for parameter \"%s\""
 msgstr "konnte Wert von Parameter »%s« nicht lesen"
 
-#: utils/misc/guc.c:8901 utils/misc/guc.c:8935
+#: utils/misc/guc.c:8905 utils/misc/guc.c:8939
 #, c-format
 msgid "invalid value for parameter \"%s\": %d"
 msgstr "ungültiger Wert für Parameter »%s«: %d"
 
-#: utils/misc/guc.c:8969
+#: utils/misc/guc.c:8973
 #, c-format
 msgid "invalid value for parameter \"%s\": %g"
 msgstr "ungültiger Wert für Parameter »%s«: %g"
 
-#: utils/misc/guc.c:9173
+#: utils/misc/guc.c:9177
 #, c-format
 msgid "\"temp_buffers\" cannot be changed after any temporary tables have been accessed in the session."
 msgstr "»temp_buffers« kann nicht geändert werden, nachdem in der Sitzung auf temporäre Tabellen zugriffen wurde."
 
-#: utils/misc/guc.c:9185
+#: utils/misc/guc.c:9189
 #, c-format
 msgid "SET AUTOCOMMIT TO OFF is no longer supported"
 msgstr "SET AUTOCOMMIT TO OFF wird nicht mehr unterstützt"
 
-#: utils/misc/guc.c:9197
+#: utils/misc/guc.c:9201
 #, c-format
 msgid "assertion checking is not supported by this build"
 msgstr "Assert-Prüfungen werden von dieser Installation nicht unterstützt"
 
-#: utils/misc/guc.c:9210
+#: utils/misc/guc.c:9214
 #, c-format
 msgid "Bonjour is not supported by this build"
 msgstr "Bonjour wird von dieser Installation nicht unterstützt"
 
-#: utils/misc/guc.c:9223
+#: utils/misc/guc.c:9227
 #, c-format
 msgid "SSL is not supported by this build"
 msgstr "SSL wird von dieser Installation nicht unterstützt"
 
-#: utils/misc/guc.c:9235
+#: utils/misc/guc.c:9239
 #, c-format
 msgid "Cannot enable parameter when \"log_statement_stats\" is true."
 msgstr "Kann Parameter nicht einschalten, wenn »log_statement_stats« an ist."
 
-#: utils/misc/guc.c:9247
+#: utils/misc/guc.c:9251
 #, c-format
 msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true."
 msgstr "Kann »log_statement_stats« nicht einschalten, wenn »log_parser_stats«, »log_planner_stats« oder »log_executor_stats« an ist."
index 98a6216599b9511ae3f407c1f2e53f2ca3865c8f..1af9faab572d6627087bf335b14c4ae4cbebac90 100644 (file)
@@ -58,8 +58,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL server 9.4\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2017-08-27 22:02+0000\n"
-"PO-Revision-Date: 2017-01-10 16:46-0300\n"
+"POT-Creation-Date: 2019-04-21 04:08+0000\n"
+"PO-Revision-Date: 2019-04-22 12:51-0400\n"
 "Last-Translator: Álvaro Herrera <[email protected]>\n"
 "Language-Team: PgSQL Español <[email protected]>\n"
 "Language: es\n"
@@ -104,7 +104,7 @@ msgid "pclose failed: %s"
 msgstr "pclose falló: %s"
 
 #: ../common/fe_memutils.c:33 ../common/fe_memutils.c:60
-#: ../common/fe_memutils.c:83 ../common/psprintf.c:181 ../port/path.c:602
+#: ../common/fe_memutils.c:83 ../common/psprintf.c:182 ../port/path.c:602
 #: ../port/path.c:640 ../port/path.c:657
 #, c-format
 msgid "out of memory\n"
@@ -130,26 +130,26 @@ msgstr "no se pudo leer el directorio «%s»: %s\n"
 msgid "could not close directory \"%s\": %s\n"
 msgstr "no se pudo cerrar el directorio «%s»: %s\n"
 
-#: ../common/psprintf.c:179 ../port/path.c:600 ../port/path.c:638
-#: ../port/path.c:655 access/transam/xlog.c:6266 lib/stringinfo.c:258
-#: libpq/auth.c:844 libpq/auth.c:1202 libpq/auth.c:1270 libpq/auth.c:1674
-#: postmaster/bgworker.c:290 postmaster/bgworker.c:812
-#: postmaster/postmaster.c:2334 postmaster/postmaster.c:2365
-#: postmaster/postmaster.c:3916 postmaster/postmaster.c:4636
-#: postmaster/postmaster.c:4728 postmaster/postmaster.c:5409
-#: postmaster/postmaster.c:5712 replication/logical/logical.c:166
+#: ../common/psprintf.c:180 ../port/path.c:600 ../port/path.c:638
+#: ../port/path.c:655 access/transam/xlog.c:6314 lib/stringinfo.c:258
+#: libpq/auth.c:848 libpq/auth.c:1211 libpq/auth.c:1279 libpq/auth.c:1685
+#: postmaster/bgworker.c:290 postmaster/bgworker.c:805
+#: postmaster/postmaster.c:2383 postmaster/postmaster.c:2414
+#: postmaster/postmaster.c:3965 postmaster/postmaster.c:4685
+#: postmaster/postmaster.c:4777 postmaster/postmaster.c:5458
+#: postmaster/postmaster.c:5761 replication/logical/logical.c:171
 #: storage/buffer/buf_init.c:154 storage/buffer/localbuf.c:396
-#: storage/file/fd.c:594 storage/file/fd.c:1022 storage/file/fd.c:1140
-#: storage/file/fd.c:1792 storage/ipc/procarray.c:910
-#: storage/ipc/procarray.c:1396 storage/ipc/procarray.c:1403
-#: storage/ipc/procarray.c:1752 storage/ipc/procarray.c:2344
+#: storage/file/fd.c:595 storage/file/fd.c:1024 storage/file/fd.c:1142
+#: storage/file/fd.c:1807 storage/ipc/procarray.c:921
+#: storage/ipc/procarray.c:1407 storage/ipc/procarray.c:1414
+#: storage/ipc/procarray.c:1769 storage/ipc/procarray.c:2361
 #: utils/adt/formatting.c:1522 utils/adt/formatting.c:1642
 #: utils/adt/formatting.c:1763 utils/adt/pg_locale.c:463
-#: utils/adt/pg_locale.c:647 utils/adt/regexp.c:219 utils/adt/varlena.c:3653
-#: utils/adt/varlena.c:3674 utils/fmgr/dfmgr.c:220 utils/hash/dynahash.c:379
+#: utils/adt/pg_locale.c:647 utils/adt/regexp.c:223 utils/adt/varlena.c:3765
+#: utils/adt/varlena.c:3786 utils/fmgr/dfmgr.c:220 utils/hash/dynahash.c:379
 #: utils/hash/dynahash.c:456 utils/hash/dynahash.c:970 utils/mb/mbutils.c:376
-#: utils/mb/mbutils.c:709 utils/misc/guc.c:3563 utils/misc/guc.c:3579
-#: utils/misc/guc.c:3592 utils/misc/guc.c:6544 utils/misc/tzparser.c:470
+#: utils/mb/mbutils.c:709 utils/misc/guc.c:3572 utils/misc/guc.c:3588
+#: utils/misc/guc.c:3601 utils/misc/guc.c:6581 utils/misc/tzparser.c:470
 #: utils/mmgr/aset.c:505 utils/mmgr/aset.c:688 utils/mmgr/aset.c:886
 #: utils/mmgr/aset.c:1127
 #, c-format
@@ -181,7 +181,7 @@ msgstr "no se pudo eliminar el directorio «%s»: %s\n"
 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:47 libpq/auth.c:1621
+#: ../common/username.c:47 libpq/auth.c:1632
 msgid "user does not exist"
 msgstr "usuario no existe"
 
@@ -225,17 +225,17 @@ msgstr "el proceso hijo fue terminado por una señal %d"
 msgid "child process exited with unrecognized status %d"
 msgstr "el proceso hijo terminó con código no reconocido %d"
 
-#: ../port/chklocale.c:259
+#: ../port/chklocale.c:294
 #, c-format
 msgid "could not determine encoding for codeset \"%s\""
 msgstr "no se pudo determinar la codificación para el codeset «%s»"
 
-#: ../port/chklocale.c:260 ../port/chklocale.c:389
+#: ../port/chklocale.c:295 ../port/chklocale.c:424
 #, c-format
 msgid "Please report this to <[email protected]>."
 msgstr "Por favor reporte esto a <[email protected]>."
 
-#: ../port/chklocale.c:381 ../port/chklocale.c:387
+#: ../port/chklocale.c:416 ../port/chklocale.c:422
 #, c-format
 msgid "could not determine encoding for locale \"%s\": codeset is \"%s\""
 msgstr "no se pudo determinar la codificación para la configuración regional «%s»: el codeset es «%s»"
@@ -303,7 +303,7 @@ msgstr "código de error win32 %lu mapeado a %d"
 msgid "unrecognized win32 error code: %lu"
 msgstr "código de error win32 no reconocido: %lu"
 
-#: access/common/heaptuple.c:679 access/common/heaptuple.c:1419
+#: access/common/heaptuple.c:679 access/common/heaptuple.c:1445
 #, c-format
 msgid "number of columns (%d) exceeds limit (%d)"
 msgstr "el número de columnas (%d) excede el límite (%d)"
@@ -404,7 +404,7 @@ msgstr "El atributo «%s» de tipo %s no existe en el tipo %s."
 msgid "column \"%s\" cannot be declared SETOF"
 msgstr "la columna «%s» no puede ser declarada SETOF"
 
-#: access/gin/ginentrypage.c:109 access/gist/gist.c:1281
+#: access/gin/ginentrypage.c:109 access/gist/gist.c:1282
 #: access/nbtree/nbtinsert.c:557 access/nbtree/nbtsort.c:485
 #: access/spgist/spgdoinsert.c:1880
 #, c-format
@@ -421,18 +421,18 @@ 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/gist/gist.c:624 access/gist/gistvacuum.c:266
+#: access/gist/gist.c:625 access/gist/gistvacuum.c:265
 #, 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:626 access/gist/gistvacuum.c:268
+#: access/gist/gist.c:627 access/gist/gistvacuum.c:267
 #, 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:627 access/gist/gistutil.c:693 access/gist/gistutil.c:704
-#: access/gist/gistvacuum.c:269 access/hash/hashutil.c:172
+#: access/gist/gist.c:628 access/gist/gistutil.c:693 access/gist/gistutil.c:704
+#: access/gist/gistvacuum.c:268 access/hash/hashutil.c:172
 #: access/hash/hashutil.c:183 access/hash/hashutil.c:195
 #: access/hash/hashutil.c:216 access/nbtree/nbtpage.c:509
 #: access/nbtree/nbtpage.c:520
@@ -515,107 +515,106 @@ msgid "\"%s\" is an index"
 msgstr "«%s» es un índice"
 
 #: access/heap/heapam.c:1208 access/heap/heapam.c:1236
-#: access/heap/heapam.c:1268 catalog/aclchk.c:1749 commands/tablecmds.c:8591
-#: commands/tablecmds.c:11453
+#: access/heap/heapam.c:1268 catalog/aclchk.c:1749 commands/tablecmds.c:8625
+#: commands/tablecmds.c:11474
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "«%s» es un tipo compuesto"
 
-#: access/heap/heapam.c:4506 access/heap/heapam.c:4563
-#: access/heap/heapam.c:4808 executor/execMain.c:2106
+#: access/heap/heapam.c:4513 access/heap/heapam.c:4570
+#: access/heap/heapam.c:4815 executor/execMain.c:2107
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "no se pudo bloquear un candado en la fila de la relación «%s»"
 
-#: access/heap/hio.c:240 access/heap/rewriteheap.c:666
+#: access/heap/hio.c:240 access/heap/rewriteheap.c:681
 #, c-format
 msgid "row is too big: size %zu, maximum size %zu"
 msgstr "fila es demasiado grande: tamaño %zu, tamaño máximo %zu"
 
-#: access/heap/rewriteheap.c:932
+#: access/heap/rewriteheap.c:947
 #, c-format
 msgid "could not write to file \"%s\", wrote %d of %d: %m"
 msgstr "no se pudo escribir al archivo «%s», se escribió %d de %d: %m"
 
-#: access/heap/rewriteheap.c:973 access/heap/rewriteheap.c:1185
-#: access/heap/rewriteheap.c:1282 access/transam/timeline.c:407
-#: access/transam/timeline.c:483 access/transam/xlog.c:3237
-#: access/transam/xlog.c:3367 replication/logical/snapbuild.c:1588
-#: replication/slot.c:1051 replication/slot.c:1140 storage/file/fd.c:489
-#: storage/file/fd.c:2923 storage/smgr/md.c:967 storage/smgr/md.c:1198
-#: storage/smgr/md.c:1371 utils/misc/guc.c:6566
+#: access/heap/rewriteheap.c:988 access/heap/rewriteheap.c:1206
+#: access/heap/rewriteheap.c:1303 access/transam/timeline.c:407
+#: access/transam/timeline.c:483 access/transam/xlog.c:3263
+#: access/transam/xlog.c:3393 replication/logical/snapbuild.c:1611
+#: replication/slot.c:1059 replication/slot.c:1153 storage/file/fd.c:490
+#: storage/file/fd.c:2958 storage/smgr/md.c:968 storage/smgr/md.c:1211
+#: storage/smgr/md.c:1385 utils/misc/guc.c:6603
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
 
-#: access/heap/rewriteheap.c:1028 access/heap/rewriteheap.c:1148
+#: access/heap/rewriteheap.c:1043 access/heap/rewriteheap.c:1163
 #: access/transam/timeline.c:315 access/transam/timeline.c:461
-#: access/transam/xlog.c:3193 access/transam/xlog.c:3328
-#: access/transam/xlog.c:10116 access/transam/xlog.c:10486
-#: postmaster/postmaster.c:4403 replication/slot.c:1008
-#: storage/file/copydir.c:162 storage/smgr/md.c:304 utils/time/snapmgr.c:1019
+#: access/transam/xlog.c:3220 access/transam/xlog.c:3354
+#: access/transam/xlog.c:10197 access/transam/xlog.c:10567
+#: postmaster/postmaster.c:4452 replication/slot.c:1013
+#: storage/file/copydir.c:162 storage/smgr/md.c:305 utils/time/snapmgr.c:1019
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "no se pudo crear archivo «%s»: %m"
 
-#: access/heap/rewriteheap.c:1157
+#: access/heap/rewriteheap.c:1172
 #, c-format
 msgid "could not truncate file \"%s\" to %u: %m"
 msgstr "no se pudo truncar el archivo «%s» a %u: %m"
 
-#: access/heap/rewriteheap.c:1164 replication/walsender.c:483
-#: storage/smgr/md.c:1783
+#: access/heap/rewriteheap.c:1179 replication/walsender.c:486
+#: storage/smgr/md.c:1828
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
 msgstr "no se pudo posicionar (seek) al fin del archivo «%s»: %m"
 
-#: access/heap/rewriteheap.c:1175 access/transam/timeline.c:367
+#: access/heap/rewriteheap.c:1195 access/transam/timeline.c:367
 #: access/transam/timeline.c:401 access/transam/timeline.c:477
-#: access/transam/xlog.c:3228 access/transam/xlog.c:3360
-#: postmaster/postmaster.c:4413 postmaster/postmaster.c:4423
-#: replication/logical/snapbuild.c:1572 replication/slot.c:1037
-#: storage/file/copydir.c:187 utils/init/miscinit.c:1061
-#: utils/init/miscinit.c:1070 utils/init/miscinit.c:1077 utils/misc/guc.c:6527
-#: utils/misc/guc.c:6558 utils/misc/guc.c:8296 utils/misc/guc.c:8310
+#: access/transam/xlog.c:3251 access/transam/xlog.c:3386
+#: postmaster/postmaster.c:4462 postmaster/postmaster.c:4472
+#: replication/logical/snapbuild.c:1589 replication/slot.c:1045
+#: storage/file/copydir.c:187 utils/init/miscinit.c:1057
+#: utils/init/miscinit.c:1066 utils/init/miscinit.c:1073 utils/misc/guc.c:6564
+#: utils/misc/guc.c:6595 utils/misc/guc.c:8333 utils/misc/guc.c:8347
 #: utils/time/snapmgr.c:1024 utils/time/snapmgr.c:1031
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "no se pudo escribir a archivo «%s»: %m"
 
-#: access/heap/rewriteheap.c:1258 access/transam/xlog.c:10326
+#: access/heap/rewriteheap.c:1279 access/transam/xlog.c:10407
 #: access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:467
-#: replication/logical/reorderbuffer.c:2426
-#: replication/logical/reorderbuffer.c:2483
-#: replication/logical/snapbuild.c:1521 replication/logical/snapbuild.c:1884
-#: replication/slot.c:1114 storage/ipc/dsm.c:326 storage/smgr/md.c:404
-#: storage/smgr/md.c:453 storage/smgr/md.c:1318
+#: replication/logical/reorderbuffer.c:2596
+#: replication/logical/snapbuild.c:1531 replication/logical/snapbuild.c:1921
+#: replication/slot.c:1124 storage/ipc/dsm.c:326 storage/smgr/md.c:405
+#: storage/smgr/md.c:454 storage/smgr/md.c:1332
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "no se pudo eliminar el archivo «%s»: %m"
 
-#: access/heap/rewriteheap.c:1272 access/transam/timeline.c:111
+#: access/heap/rewriteheap.c:1293 access/transam/timeline.c:111
 #: access/transam/timeline.c:236 access/transam/timeline.c:334
-#: access/transam/xlog.c:3169 access/transam/xlog.c:3276
-#: access/transam/xlog.c:3313 access/transam/xlog.c:3570
-#: access/transam/xlog.c:3648 replication/basebackup.c:460
-#: replication/basebackup.c:1180 replication/logical/logicalfuncs.c:152
-#: replication/logical/reorderbuffer.c:2003
-#: replication/logical/reorderbuffer.c:2221
-#: replication/logical/reorderbuffer.c:2876
-#: replication/logical/snapbuild.c:1565 replication/logical/snapbuild.c:1649
-#: replication/slot.c:1129 replication/walsender.c:476
-#: replication/walsender.c:2144 storage/file/copydir.c:155
-#: storage/file/fd.c:472 storage/file/fd.c:2836 storage/file/fd.c:2902
-#: storage/smgr/md.c:586 storage/smgr/md.c:844 utils/error/elog.c:1811
-#: utils/init/miscinit.c:996 utils/init/miscinit.c:1117
-#: utils/init/miscinit.c:1195 utils/misc/guc.c:6783 utils/misc/guc.c:6816
+#: access/transam/xlog.c:3196 access/transam/xlog.c:3302
+#: access/transam/xlog.c:3339 access/transam/xlog.c:3596
+#: access/transam/xlog.c:3674 replication/basebackup.c:463
+#: replication/basebackup.c:1183 replication/logical/logicalfuncs.c:152
+#: replication/logical/reorderbuffer.c:2181
+#: replication/logical/reorderbuffer.c:2396
+#: replication/logical/reorderbuffer.c:3071
+#: replication/logical/snapbuild.c:1576 replication/logical/snapbuild.c:1672
+#: replication/slot.c:1139 replication/walsender.c:479
+#: replication/walsender.c:2159 storage/file/copydir.c:155
+#: storage/file/fd.c:473 storage/file/fd.c:2871 storage/file/fd.c:2937
+#: storage/smgr/md.c:587 storage/smgr/md.c:845 utils/error/elog.c:1804
+#: utils/init/miscinit.c:992 utils/init/miscinit.c:1113
+#: utils/init/miscinit.c:1191 utils/misc/guc.c:6820 utils/misc/guc.c:6853
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "no se pudo abrir el archivo «%s»: %m"
 
 #: access/index/indexam.c:172 catalog/objectaddress.c:855
-#: commands/indexcmds.c:1726 commands/tablecmds.c:233
-#: commands/tablecmds.c:11444
+#: commands/indexcmds.c:1740 commands/tablecmds.c:233
+#: commands/tablecmds.c:11465
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "«%s» no es un índice"
@@ -661,12 +660,12 @@ msgstr "el índice «%s» no es un btree"
 msgid "version mismatch in index \"%s\": file version %d, code version %d"
 msgstr "discordancia de versión en índice «%s»: versión de archivo %d, versión de código %d"
 
-#: access/nbtree/nbtpage.c:1187
+#: access/nbtree/nbtpage.c:1195
 #, c-format
 msgid "index \"%s\" contains a half-dead internal page"
 msgstr "el índice «%s» contiene una página interna parcialmente muerta"
 
-#: access/nbtree/nbtpage.c:1189
+#: access/nbtree/nbtpage.c:1197
 #, 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."
@@ -885,18 +884,18 @@ msgstr "datos no válidos en archivo de historia «%s»"
 msgid "Timeline IDs must be less than child timeline's ID."
 msgstr "IDs de timeline deben ser menores que el ID de timeline del hijo."
 
-#: access/transam/timeline.c:346 access/transam/xlog.c:3341
-#: access/transam/xlog.c:10308 access/transam/xlog.c:10321
-#: access/transam/xlog.c:10718 access/transam/xlog.c:10761
+#: access/transam/timeline.c:346 access/transam/xlog.c:3367
+#: access/transam/xlog.c:10389 access/transam/xlog.c:10402
+#: access/transam/xlog.c:10799 access/transam/xlog.c:10842
 #: access/transam/xlogfuncs.c:468 access/transam/xlogfuncs.c:487
-#: replication/logical/reorderbuffer.c:2894 replication/walsender.c:501
+#: replication/logical/reorderbuffer.c:3089 replication/walsender.c:504
 #: storage/file/copydir.c:176 utils/adt/genfile.c:139
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "no se pudo leer el archivo «%s»: %m"
 
 #: access/transam/timeline.c:412 access/transam/timeline.c:488
-#: access/transam/xlog.c:3243 access/transam/xlog.c:3372
+#: access/transam/xlog.c:3269 access/transam/xlog.c:3398
 #: access/transam/xlogfuncs.c:493 commands/copy.c:1529
 #: storage/file/copydir.c:201
 #, c-format
@@ -979,8 +978,8 @@ msgid "could not create two-phase state file \"%s\": %m"
 msgstr "no se pudo crear el archivo de estado de COMMIT en dos fases «%s»: %m"
 
 #: access/transam/twophase.c:1069 access/transam/twophase.c:1086
-#: access/transam/twophase.c:1135 access/transam/twophase.c:1564
-#: access/transam/twophase.c:1571
+#: access/transam/twophase.c:1135 access/transam/twophase.c:1580
+#: access/transam/twophase.c:1592
 #, c-format
 msgid "could not write two-phase state file: %m"
 msgstr "no se pudo escribir el archivo de estado de COMMIT en dos fases: %m"
@@ -990,74 +989,74 @@ msgstr "no se pudo escribir el archivo de estado de COMMIT en dos fases: %m"
 msgid "could not seek in two-phase state file: %m"
 msgstr "no se pudo posicionar (seek) en el archivo de estado de COMMIT en dos fases: %m"
 
-#: access/transam/twophase.c:1141 access/transam/twophase.c:1589
+#: access/transam/twophase.c:1141 access/transam/twophase.c:1613
 #, c-format
 msgid "could not close two-phase state file: %m"
 msgstr "no se pudo cerrar el archivo de estado de COMMIT en dos fases: %m"
 
-#: access/transam/twophase.c:1228 access/transam/twophase.c:1670
+#: access/transam/twophase.c:1228 access/transam/twophase.c:1694
 #, c-format
 msgid "could not open two-phase state file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:1245
+#: access/transam/twophase.c:1249
 #, c-format
 msgid "could not stat two-phase state file \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:1277
+#: access/transam/twophase.c:1286
 #, c-format
 msgid "could not read two-phase state file \"%s\": %m"
 msgstr "no se pudo leer el archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:1373
+#: access/transam/twophase.c:1382
 #, c-format
 msgid "two-phase state file for transaction %u is corrupt"
 msgstr "el archivo de estado de COMMIT en dos fases para la transacción %u está dañado"
 
-#: access/transam/twophase.c:1526
+#: access/transam/twophase.c:1536
 #, c-format
 msgid "could not remove two-phase state file \"%s\": %m"
 msgstr "no se pudo eliminar el archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:1555
+#: access/transam/twophase.c:1565
 #, c-format
 msgid "could not recreate two-phase state file \"%s\": %m"
 msgstr "no se pudo recrear el archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:1583
+#: access/transam/twophase.c:1607
 #, c-format
 msgid "could not fsync two-phase state file: %m"
 msgstr "no se pudo sincronizar (fsync) el archivo de estado de COMMIT en dos fases: %m"
 
-#: access/transam/twophase.c:1679
+#: access/transam/twophase.c:1703
 #, c-format
 msgid "could not fsync two-phase state file \"%s\": %m"
 msgstr "no se pudo sincronizar (fsync) el archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:1686
+#: access/transam/twophase.c:1710
 #, c-format
 msgid "could not close two-phase state file \"%s\": %m"
 msgstr "no se pudo cerrar el archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:1751
+#: access/transam/twophase.c:1775
 #, c-format
 msgid "removing future two-phase state file \"%s\""
 msgstr "eliminando archivo futuro de estado de COMMIT en dos fases «%s»"
 
-#: access/transam/twophase.c:1767 access/transam/twophase.c:1778
-#: access/transam/twophase.c:1897 access/transam/twophase.c:1908
-#: access/transam/twophase.c:1981
+#: access/transam/twophase.c:1791 access/transam/twophase.c:1802
+#: access/transam/twophase.c:1921 access/transam/twophase.c:1932
+#: access/transam/twophase.c:2005
 #, c-format
 msgid "removing corrupt two-phase state file \"%s\""
 msgstr "eliminando archivo dañado de estado de COMMIT en dos fases «%s»"
 
-#: access/transam/twophase.c:1886 access/transam/twophase.c:1970
+#: access/transam/twophase.c:1910 access/transam/twophase.c:1994
 #, c-format
 msgid "removing stale two-phase state file \"%s\""
 msgstr "eliminando archivo obsoleto de estado de COMMIT en dos fases «%s»"
 
-#: access/transam/twophase.c:1988
+#: access/transam/twophase.c:2012
 #, c-format
 msgid "recovering prepared transaction %u"
 msgstr "recuperando transacción preparada %u"
@@ -1106,901 +1105,906 @@ 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:2153
+#: access/transam/xact.c:2157
 #, c-format
 msgid "cannot PREPARE a transaction that has operated on temporary tables"
 msgstr "no se puede hacer PREPARE de una transacción que ha operado en tablas temporales"
 
-#: access/transam/xact.c:2163
+#: access/transam/xact.c:2167
 #, c-format
 msgid "cannot PREPARE a transaction that has exported snapshots"
 msgstr "no se puede hacer PREPARE de una transacción que ha exportado snapshots"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2998
+#: access/transam/xact.c:3002
 #, 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:3008
+#: access/transam/xact.c:3012
 #, 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:3018
+#: access/transam/xact.c:3022
 #, c-format
 msgid "%s cannot be executed from a function or multi-command string"
 msgstr "la orden %s no puede ser ejecutada desde una función o una línea con múltiples órdenes"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3089
+#: access/transam/xact.c:3093
 #, 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:3272
+#: access/transam/xact.c:3276
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "ya hay una transacción en curso"
 
-#: access/transam/xact.c:3440 access/transam/xact.c:3533
+#: access/transam/xact.c:3444 access/transam/xact.c:3537
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "no hay una transacción en curso"
 
-#: access/transam/xact.c:3629 access/transam/xact.c:3680
-#: access/transam/xact.c:3686 access/transam/xact.c:3730
-#: access/transam/xact.c:3779 access/transam/xact.c:3785
+#: access/transam/xact.c:3633 access/transam/xact.c:3684
+#: access/transam/xact.c:3690 access/transam/xact.c:3734
+#: access/transam/xact.c:3783 access/transam/xact.c:3789
 #, c-format
 msgid "no such savepoint"
 msgstr "no hay un savepoint con ese nombre"
 
-#: access/transam/xact.c:4484
+#: access/transam/xact.c:4488
 #, c-format
 msgid "cannot have more than 2^32-1 subtransactions in a transaction"
 msgstr "no se pueden tener más de 2^32-1 subtransacciones en una transacción"
 
-#: access/transam/xlog.c:2468
+#: access/transam/xlog.c:2474
 #, c-format
 msgid "could not seek in log file %s to offset %u: %m"
 msgstr "no se pudo posicionar (seek) en el archivo «%s» a la posición %u: %m"
 
-#: access/transam/xlog.c:2488
+#: access/transam/xlog.c:2494
 #, c-format
 msgid "could not write to log file %s at offset %u, length %zu: %m"
 msgstr "no se pudo escribir archivo de registro %s en la posición %u, largo %zu: %m"
 
-#: access/transam/xlog.c:2764
+#: access/transam/xlog.c:2782
 #, c-format
 msgid "updated min recovery point to %X/%X on timeline %u"
 msgstr "el punto mínimo de recuperación fue actualizado a %X/%X en el timeline %u"
 
-#: access/transam/xlog.c:3344
+#: access/transam/xlog.c:3370
 #, c-format
 msgid "not enough data in file \"%s\""
 msgstr "los datos del archivo «%s» son insuficientes"
 
-#: access/transam/xlog.c:3485
+#: access/transam/xlog.c:3511
 #, c-format
 msgid "could not open transaction log file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de registro de transacciones «%s»: %m"
 
-#: access/transam/xlog.c:3674
+#: access/transam/xlog.c:3700
 #, c-format
 msgid "could not close log file %s: %m"
 msgstr "no se pudo cerrar el archivo de registro %s: %m"
 
-#: access/transam/xlog.c:3733 replication/logical/logicalfuncs.c:147
-#: replication/walsender.c:2139
+#: access/transam/xlog.c:3766 replication/logical/logicalfuncs.c:147
+#: replication/walsender.c:2154
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "el segmento de WAL solicitado %s ya ha sido eliminado"
 
-#: access/transam/xlog.c:3796 access/transam/xlog.c:3996
-#: access/transam/xlog.c:5491
+#: access/transam/xlog.c:3830 access/transam/xlog.c:4030
+#: access/transam/xlog.c:5539
 #, c-format
 msgid "could not open transaction log directory \"%s\": %m"
 msgstr "no se pudo abrir directorio de registro de transacciones «%s»: %m"
 
-#: access/transam/xlog.c:3878
+#: access/transam/xlog.c:3912
 #, c-format
 msgid "recycled transaction log file \"%s\""
 msgstr "el archivo de registro de transacciones «%s» ha sido reciclado"
 
-#: access/transam/xlog.c:3893
+#: access/transam/xlog.c:3927
 #, c-format
 msgid "removing transaction log file \"%s\""
 msgstr "eliminando archivo de registro de transacciones «%s»"
 
-#: access/transam/xlog.c:3911
+#: access/transam/xlog.c:3945
 #, c-format
 msgid "could not rename old transaction log file \"%s\": %m"
 msgstr "no se pudo cambiar el nombre del archivo antiguo de registro de transacciones «%s»: %m"
 
-#: access/transam/xlog.c:3923
+#: access/transam/xlog.c:3957
 #, c-format
 msgid "could not remove old transaction log file \"%s\": %m"
 msgstr "no se pudo eliminar el archivo antiguo de registro de transacciones «%s»: %m"
 
-#: access/transam/xlog.c:3956 access/transam/xlog.c:3966
+#: access/transam/xlog.c:3990 access/transam/xlog.c:4000
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "no existe el directorio WAL «%s»"
 
-#: access/transam/xlog.c:3972
+#: access/transam/xlog.c:4006
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "creando el directorio WAL faltante «%s»"
 
-#: access/transam/xlog.c:3975
+#: access/transam/xlog.c:4009
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "no se pudo crear el directorio faltante «%s»: %m"
 
-#: access/transam/xlog.c:4009
+#: access/transam/xlog.c:4043
 #, c-format
 msgid "removing transaction log backup history file \"%s\""
 msgstr "eliminando el archivo de historia del respaldo de registro de transacciones «%s»"
 
-#: access/transam/xlog.c:4201
+#: access/transam/xlog.c:4235
 #, c-format
 msgid "unexpected timeline ID %u in log segment %s, offset %u"
 msgstr "ID de timeline %u inesperado en archivo %s, posición %u"
 
-#: access/transam/xlog.c:4323
+#: access/transam/xlog.c:4363
 #, c-format
 msgid "new timeline %u is not a child of database system timeline %u"
 msgstr "el nuevo timeline %u especificado no es hijo del timeline de sistema %u"
 
-#: access/transam/xlog.c:4337
+#: access/transam/xlog.c:4377
 #, c-format
 msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
 msgstr "el nuevo timeline %u bifurcó del timeline del sistema actual %u antes del punto re recuperación actual %X/%X"
 
-#: access/transam/xlog.c:4356
+#: access/transam/xlog.c:4396
 #, c-format
 msgid "new target timeline is %u"
 msgstr "el nuevo timeline destino es %u"
 
-#: access/transam/xlog.c:4436
+#: access/transam/xlog.c:4476
 #, c-format
 msgid "could not create control file \"%s\": %m"
 msgstr "no se pudo crear archivo de control «%s»: %m"
 
-#: access/transam/xlog.c:4447 access/transam/xlog.c:4683
+#: access/transam/xlog.c:4487 access/transam/xlog.c:4731
 #, c-format
 msgid "could not write to control file: %m"
 msgstr "no se pudo escribir en el archivo de control: %m"
 
-#: access/transam/xlog.c:4453 access/transam/xlog.c:4689
+#: access/transam/xlog.c:4493 access/transam/xlog.c:4737
 #, c-format
 msgid "could not fsync control file: %m"
 msgstr "no se pudo sincronizar (fsync) el archivo de control: %m"
 
-#: access/transam/xlog.c:4458 access/transam/xlog.c:4694
+#: access/transam/xlog.c:4498 access/transam/xlog.c:4742
 #, c-format
 msgid "could not close control file: %m"
 msgstr "no se pudo cerrar el archivo de control: %m"
 
-#: access/transam/xlog.c:4476 access/transam/xlog.c:4672
+#: access/transam/xlog.c:4517 access/transam/xlog.c:4720
 #, c-format
 msgid "could not open control file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de control «%s»: %m"
 
-#: access/transam/xlog.c:4482
+#: access/transam/xlog.c:4526
 #, c-format
 msgid "could not read from control file: %m"
 msgstr "no se pudo leer desde el archivo de control: %m"
 
-#: access/transam/xlog.c:4495 access/transam/xlog.c:4504
-#: access/transam/xlog.c:4528 access/transam/xlog.c:4535
-#: access/transam/xlog.c:4542 access/transam/xlog.c:4547
-#: access/transam/xlog.c:4554 access/transam/xlog.c:4561
-#: access/transam/xlog.c:4568 access/transam/xlog.c:4575
-#: access/transam/xlog.c:4582 access/transam/xlog.c:4589
-#: access/transam/xlog.c:4596 access/transam/xlog.c:4605
-#: access/transam/xlog.c:4612 access/transam/xlog.c:4621
-#: access/transam/xlog.c:4628 access/transam/xlog.c:4637
-#: access/transam/xlog.c:4644 utils/init/miscinit.c:1213
+#: access/transam/xlog.c:4529
+#, c-format
+msgid "could not read from control file: read %d bytes, expected %d"
+msgstr "no se pudo leer desde el archivo de control: se leyeron %d bytes, se esperaban %d"
+
+#: access/transam/xlog.c:4543 access/transam/xlog.c:4552
+#: access/transam/xlog.c:4576 access/transam/xlog.c:4583
+#: access/transam/xlog.c:4590 access/transam/xlog.c:4595
+#: access/transam/xlog.c:4602 access/transam/xlog.c:4609
+#: access/transam/xlog.c:4616 access/transam/xlog.c:4623
+#: access/transam/xlog.c:4630 access/transam/xlog.c:4637
+#: access/transam/xlog.c:4644 access/transam/xlog.c:4653
+#: access/transam/xlog.c:4660 access/transam/xlog.c:4669
+#: access/transam/xlog.c:4676 access/transam/xlog.c:4685
+#: access/transam/xlog.c:4692 utils/init/miscinit.c:1209
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "los archivos de base de datos son incompatibles con el servidor"
 
-#: access/transam/xlog.c:4496
+#: access/transam/xlog.c:4544
 #, c-format
 msgid "The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), but the server was compiled with PG_CONTROL_VERSION %d (0x%08x)."
 msgstr "Los archivos de base de datos fueron inicializados con PG_CONTROL_VERSION %d (0x%08x), pero el servidor fue compilado con PG_CONTROL_VERSION %d (0x%08x)."
 
-#: access/transam/xlog.c:4500
+#: access/transam/xlog.c:4548
 #, c-format
 msgid "This could be a problem of mismatched byte ordering.  It looks like you need to initdb."
 msgstr "Este puede ser un problema de discordancia en el orden de bytes. Parece que necesitará ejecutar initdb."
 
-#: access/transam/xlog.c:4505
+#: access/transam/xlog.c:4553
 #, c-format
 msgid "The database cluster was initialized with PG_CONTROL_VERSION %d, but the server was compiled with PG_CONTROL_VERSION %d."
 msgstr "Los archivos de base de datos fueron inicializados con PG_CONTROL_VERSION %d, pero el servidor fue compilado con PG_CONTROL_VERSION %d."
 
-#: access/transam/xlog.c:4508 access/transam/xlog.c:4532
-#: access/transam/xlog.c:4539 access/transam/xlog.c:4544
+#: access/transam/xlog.c:4556 access/transam/xlog.c:4580
+#: access/transam/xlog.c:4587 access/transam/xlog.c:4592
 #, c-format
 msgid "It looks like you need to initdb."
 msgstr "Parece que necesita ejecutar initdb."
 
-#: access/transam/xlog.c:4519
+#: access/transam/xlog.c:4567
 #, c-format
 msgid "incorrect checksum in control file"
 msgstr "la suma de verificación es incorrecta en el archivo de control"
 
-#: access/transam/xlog.c:4529
+#: access/transam/xlog.c:4577
 #, c-format
 msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d."
 msgstr "Los archivos de base de datos fueron inicializados con CATALOG_VERSION_NO %d, pero el servidor fue compilado con CATALOG_VERSION_NO %d."
 
-#: access/transam/xlog.c:4536
+#: access/transam/xlog.c:4584
 #, c-format
 msgid "The database cluster was initialized with MAXALIGN %d, but the server was compiled with MAXALIGN %d."
 msgstr "Los archivos de la base de datos fueron inicializados con MAXALIGN %d, pero el servidor fue compilado con MAXALIGN %d."
 
-#: access/transam/xlog.c:4543
+#: access/transam/xlog.c:4591
 #, c-format
 msgid "The database cluster appears to use a different floating-point number format than the server executable."
 msgstr "Los archivos de la base de datos parecen usar un formato de número de coma flotante distinto al del ejecutable del servidor."
 
-#: access/transam/xlog.c:4548
+#: access/transam/xlog.c:4596
 #, c-format
 msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d."
 msgstr "Los archivos de base de datos fueron inicializados con BLCKSZ %d, pero el servidor fue compilado con BLCKSZ %d."
 
-#: access/transam/xlog.c:4551 access/transam/xlog.c:4558
-#: access/transam/xlog.c:4565 access/transam/xlog.c:4572
-#: access/transam/xlog.c:4579 access/transam/xlog.c:4586
-#: access/transam/xlog.c:4593 access/transam/xlog.c:4600
-#: access/transam/xlog.c:4608 access/transam/xlog.c:4615
-#: access/transam/xlog.c:4624 access/transam/xlog.c:4631
-#: access/transam/xlog.c:4640 access/transam/xlog.c:4647
+#: access/transam/xlog.c:4599 access/transam/xlog.c:4606
+#: access/transam/xlog.c:4613 access/transam/xlog.c:4620
+#: access/transam/xlog.c:4627 access/transam/xlog.c:4634
+#: access/transam/xlog.c:4641 access/transam/xlog.c:4648
+#: access/transam/xlog.c:4656 access/transam/xlog.c:4663
+#: access/transam/xlog.c:4672 access/transam/xlog.c:4679
+#: access/transam/xlog.c:4688 access/transam/xlog.c:4695
 #, c-format
 msgid "It looks like you need to recompile or initdb."
 msgstr "Parece que necesita recompilar o ejecutar initdb."
 
-#: access/transam/xlog.c:4555
+#: access/transam/xlog.c:4603
 #, c-format
 msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d."
 msgstr "Los archivos de la base de datos fueron inicializados con RELSEG_SIZE %d, pero el servidor fue compilado con RELSEG_SIZE %d."
 
-#: access/transam/xlog.c:4562
+#: access/transam/xlog.c:4610
 #, c-format
 msgid "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was compiled with XLOG_BLCKSZ %d."
 msgstr "Los archivos de base de datos fueron inicializados con XLOG_BLCKSZ %d, pero el servidor fue compilado con XLOG_BLCKSZ %d."
 
-#: access/transam/xlog.c:4569
+#: access/transam/xlog.c:4617
 #, c-format
 msgid "The database cluster was initialized with XLOG_SEG_SIZE %d, but the server was compiled with XLOG_SEG_SIZE %d."
 msgstr "Los archivos de la base de datos fueron inicializados con XLOG_SEG_SIZE %d, pero el servidor fue compilado con XLOG_SEG_SIZE %d."
 
-#: access/transam/xlog.c:4576
+#: access/transam/xlog.c:4624
 #, c-format
 msgid "The database cluster was initialized with NAMEDATALEN %d, but the server was compiled with NAMEDATALEN %d."
 msgstr "Los archivos de la base de datos fueron inicializados con NAMEDATALEN %d, pero el servidor fue compilado con NAMEDATALEN %d."
 
-#: access/transam/xlog.c:4583
+#: access/transam/xlog.c:4631
 #, c-format
 msgid "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server was compiled with INDEX_MAX_KEYS %d."
 msgstr "Los archivos de la base de datos fueron inicializados con INDEX_MAX_KEYS %d, pero el servidor fue compilado con INDEX_MAX_KEYS %d."
 
-#: access/transam/xlog.c:4590
+#: access/transam/xlog.c:4638
 #, c-format
 msgid "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the server was compiled with TOAST_MAX_CHUNK_SIZE %d."
 msgstr "Los archivos de la base de datos fueron inicializados con TOAST_MAX_CHUNK_SIZE %d, pero el servidor fue compilado con TOAST_MAX_CHUNK_SIZE %d."
 
-#: access/transam/xlog.c:4597
+#: access/transam/xlog.c:4645
 #, c-format
 msgid "The database cluster was initialized with LOBLKSIZE %d, but the server was compiled with LOBLKSIZE %d."
 msgstr "Los archivos de base de datos fueron inicializados con LOBLKSIZE %d, pero el servidor fue compilado con LOBLKSIZE %d."
 
-#: access/transam/xlog.c:4606
+#: access/transam/xlog.c:4654
 #, c-format
 msgid "The database cluster was initialized without HAVE_INT64_TIMESTAMP but the server was compiled with HAVE_INT64_TIMESTAMP."
 msgstr "Los archivos de la base de datos fueron inicializados sin HAVE_INT64_TIMESTAMP, pero el servidor fue compilado con HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:4613
+#: access/transam/xlog.c:4661
 #, c-format
 msgid "The database cluster was initialized with HAVE_INT64_TIMESTAMP but the server was compiled without HAVE_INT64_TIMESTAMP."
 msgstr "Los archivos de la base de datos fueron inicializados con HAVE_INT64_TIMESTAMP, pero el servidor fue compilado sin HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:4622
+#: access/transam/xlog.c:4670
 #, c-format
 msgid "The database cluster was initialized without USE_FLOAT4_BYVAL but the server was compiled with USE_FLOAT4_BYVAL."
 msgstr "Los archivos de base de datos fueron inicializados sin USE_FLOAT4_BYVAL, pero el servidor fue compilado con USE_FLOAT4_BYVAL."
 
-#: access/transam/xlog.c:4629
+#: access/transam/xlog.c:4677
 #, c-format
 msgid "The database cluster was initialized with USE_FLOAT4_BYVAL but the server was compiled without USE_FLOAT4_BYVAL."
 msgstr "Los archivos de base de datos fueron inicializados con USE_FLOAT4_BYVAL, pero el servidor fue compilado sin USE_FLOAT4_BYVAL."
 
-#: access/transam/xlog.c:4638
+#: access/transam/xlog.c:4686
 #, c-format
 msgid "The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL."
 msgstr "Los archivos de base de datos fueron inicializados sin USE_FLOAT8_BYVAL, pero el servidor fue compilado con USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:4645
+#: access/transam/xlog.c:4693
 #, c-format
 msgid "The database cluster was initialized with USE_FLOAT8_BYVAL but the server was compiled without USE_FLOAT8_BYVAL."
 msgstr "Los archivos de base de datos fueron inicializados con USE_FLOAT8_BYVAL, pero el servidor fue compilado sin USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:5046
+#: access/transam/xlog.c:5094
 #, c-format
 msgid "could not write bootstrap transaction log file: %m"
 msgstr "no se pudo escribir al archivo de registro de transacciones de inicio (bootstrap): %m"
 
-#: access/transam/xlog.c:5052
+#: access/transam/xlog.c:5100
 #, c-format
 msgid "could not fsync bootstrap transaction log file: %m"
 msgstr "no se pudo sincronizar (fsync) el archivo de registro de transacciones de inicio (bootstrap): %m"
 
-#: access/transam/xlog.c:5057
+#: access/transam/xlog.c:5105
 #, c-format
 msgid "could not close bootstrap transaction log file: %m"
 msgstr "no se pudo cerrar el archivo de registro de transacciones de inicio (bootstrap): %m"
 
-#: access/transam/xlog.c:5128
+#: access/transam/xlog.c:5176
 #, c-format
 msgid "could not open recovery command file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de recuperación «%s»: %m"
 
-#: access/transam/xlog.c:5168 access/transam/xlog.c:5261
-#: access/transam/xlog.c:5272 commands/extension.c:527 commands/extension.c:535
-#: utils/misc/guc.c:5355
+#: access/transam/xlog.c:5216 access/transam/xlog.c:5309
+#: access/transam/xlog.c:5320 commands/extension.c:527 commands/extension.c:535
+#: utils/misc/guc.c:5368
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "el parámetro «%s» requiere un valor lógico (booleano)"
 
-#: access/transam/xlog.c:5185
+#: access/transam/xlog.c:5233
 #, c-format
 msgid "recovery_target_timeline is not a valid number: \"%s\""
 msgstr "recovery_target_timeline no es un número válido: «%s»"
 
-#: access/transam/xlog.c:5202
+#: access/transam/xlog.c:5250
 #, c-format
 msgid "recovery_target_xid is not a valid number: \"%s\""
 msgstr "recovery_target_xid no es un número válido: «%s»"
 
-#: access/transam/xlog.c:5233
+#: access/transam/xlog.c:5281
 #, c-format
 msgid "recovery_target_name is too long (maximum %d characters)"
 msgstr "recovery_target_name es demasiado largo (máximo %d caracteres)"
 
-#: access/transam/xlog.c:5247
+#: access/transam/xlog.c:5295
 #, c-format
 msgid "invalid value for recovery parameter \"recovery_target\""
 msgstr "valor no válido para el parámetro de recuperación «recovery_target»"
 
-#: access/transam/xlog.c:5248
+#: access/transam/xlog.c:5296
 #, c-format
 msgid "The only allowed value is \"immediate\"."
 msgstr "El único valor permitido es «immediate»"
 
-#: access/transam/xlog.c:5307
+#: access/transam/xlog.c:5355
 #, c-format
 msgid "parameter \"%s\" requires a temporal value"
 msgstr "el parámetro «%s» requiere un valor de tiempo"
 
-#: access/transam/xlog.c:5309 catalog/dependency.c:969 catalog/dependency.c:970
+#: access/transam/xlog.c:5357 catalog/dependency.c:969 catalog/dependency.c:970
 #: catalog/dependency.c:976 catalog/dependency.c:977 catalog/dependency.c:988
 #: catalog/dependency.c:989 catalog/objectaddress.c:764
-#: commands/tablecmds.c:764 commands/tablecmds.c:9044 commands/user.c:988
-#: commands/view.c:492 libpq/auth.c:288 port/win32/security.c:51
-#: storage/lmgr/deadlock.c:955 storage/lmgr/proc.c:1192 utils/misc/guc.c:5377
-#: utils/misc/guc.c:5470 utils/misc/guc.c:8873 utils/misc/guc.c:8907
-#: utils/misc/guc.c:8941 utils/misc/guc.c:8975 utils/misc/guc.c:9010
+#: commands/tablecmds.c:764 commands/tablecmds.c:9074 commands/user.c:988
+#: commands/view.c:487 libpq/auth.c:288 port/win32/security.c:51
+#: storage/lmgr/deadlock.c:955 storage/lmgr/proc.c:1192 utils/misc/guc.c:5390
+#: utils/misc/guc.c:5483 utils/misc/guc.c:8910 utils/misc/guc.c:8944
+#: utils/misc/guc.c:8978 utils/misc/guc.c:9012 utils/misc/guc.c:9047
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: access/transam/xlog.c:5316
+#: access/transam/xlog.c:5364
 #, c-format
 msgid "unrecognized recovery parameter \"%s\""
 msgstr "parámetro de recuperación no reconocido: «%s»"
 
-#: access/transam/xlog.c:5327
+#: access/transam/xlog.c:5375
 #, c-format
 msgid "recovery command file \"%s\" specified neither primary_conninfo nor restore_command"
 msgstr "el archivo de recuperación «%s» no especifica primary_conninfo ni restore_command"
 
-#: access/transam/xlog.c:5329
+#: access/transam/xlog.c:5377
 #, c-format
 msgid "The database server will regularly poll the pg_xlog subdirectory to check for files placed there."
 msgstr "El servidor de bases de datos monitoreará el subdirectorio pg_xlog con regularidad en búsqueda de archivos almacenados ahí."
 
-#: access/transam/xlog.c:5336
+#: access/transam/xlog.c:5384
 #, c-format
 msgid "recovery command file \"%s\" must specify restore_command when standby mode is not enabled"
 msgstr "el archivo de recuperación «%s» debe especificar restore_command cuando el modo standby no está activo"
 
-#: access/transam/xlog.c:5347
+#: access/transam/xlog.c:5395
 #, c-format
 msgid "standby mode is not supported by single-user servers"
 msgstr "el modo standby no está soportado en el modo mono-usuario"
 
-#: access/transam/xlog.c:5366
+#: access/transam/xlog.c:5414
 #, c-format
 msgid "recovery target timeline %u does not exist"
 msgstr "no existe el timeline %u especificado como destino de recuperación"
 
-#: access/transam/xlog.c:5459
+#: access/transam/xlog.c:5507
 #, c-format
 msgid "archive recovery complete"
 msgstr "recuperación completa"
 
-#: access/transam/xlog.c:5599 access/transam/xlog.c:5793
+#: access/transam/xlog.c:5647 access/transam/xlog.c:5841
 #, c-format
 msgid "recovery stopping after reaching consistency"
 msgstr "deteniendo recuperación al alcanzar un estado consistente"
 
-#: access/transam/xlog.c:5674
+#: access/transam/xlog.c:5722
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr "deteniendo recuperación antes de comprometer la transacción %u, hora %s"
 
-#: access/transam/xlog.c:5681
+#: access/transam/xlog.c:5729
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr "deteniendo recuperación antes de abortar la transacción %u, hora %s"
 
-#: access/transam/xlog.c:5723
+#: access/transam/xlog.c:5771
 #, c-format
 msgid "recovery stopping at restore point \"%s\", time %s"
 msgstr "deteniendo recuperación en el punto de recuperación «%s», hora %s"
 
-#: access/transam/xlog.c:5773
+#: access/transam/xlog.c:5821
 #, c-format
 msgid "recovery stopping after commit of transaction %u, time %s"
 msgstr "deteniendo recuperación de comprometer la transacción %u, hora %s"
 
-#: access/transam/xlog.c:5781
+#: access/transam/xlog.c:5829
 #, c-format
 msgid "recovery stopping after abort of transaction %u, time %s"
 msgstr "deteniendo recuperación después de abortar la transacción %u, hora %s"
 
-#: access/transam/xlog.c:5820
+#: access/transam/xlog.c:5868
 #, c-format
 msgid "recovery has paused"
 msgstr "la recuperación está en pausa"
 
-#: access/transam/xlog.c:5821
+#: access/transam/xlog.c:5869
 #, c-format
 msgid "Execute pg_xlog_replay_resume() to continue."
 msgstr "Ejecute pg_xlog_replay_resume() para continuar."
 
-#: access/transam/xlog.c:6041
+#: access/transam/xlog.c:6089
 #, 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:6067
+#: access/transam/xlog.c:6115
 #, 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:6068
+#: access/transam/xlog.c:6116
 #, 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:6079
+#: access/transam/xlog.c:6127
 #, c-format
 msgid "hot standby is not possible because wal_level was not set to \"hot_standby\" or higher on the master server"
 msgstr "hot standby no es posible porque wal_level no estaba configurado como «hot_standby» o superior en el servidor maestro"
 
-#: access/transam/xlog.c:6080
+#: access/transam/xlog.c:6128
 #, c-format
 msgid "Either set wal_level to \"hot_standby\" on the master, or turn off hot_standby here."
 msgstr "Defina wal_level a «hot_standby» en el maestro, o bien desactive hot_standby en este servidor."
 
-#: access/transam/xlog.c:6135
+#: access/transam/xlog.c:6183
 #, c-format
 msgid "control file contains invalid data"
 msgstr "el archivo de control contiene datos no válidos"
 
-#: access/transam/xlog.c:6141
+#: access/transam/xlog.c:6189
 #, 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:6146
+#: access/transam/xlog.c:6194
 #, 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:6150
+#: access/transam/xlog.c:6198
 #, 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:6154
+#: access/transam/xlog.c:6202
 #, 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:6156
+#: access/transam/xlog.c:6204
 #, 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:6160
+#: access/transam/xlog.c:6208
 #, 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:6162
+#: access/transam/xlog.c:6210
 #, 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:6166
+#: access/transam/xlog.c:6214
 #, 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:6232
+#: access/transam/xlog.c:6280
 #, c-format
 msgid "entering standby mode"
 msgstr "entrando al modo standby"
 
-#: access/transam/xlog.c:6235
+#: access/transam/xlog.c:6283
 #, 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:6239
+#: access/transam/xlog.c:6287
 #, c-format
 msgid "starting point-in-time recovery to %s"
 msgstr "comenzando el proceso de recuperación hasta %s"
 
-#: access/transam/xlog.c:6243
+#: access/transam/xlog.c:6291
 #, c-format
 msgid "starting point-in-time recovery to \"%s\""
 msgstr "comenzando el proceso de recuperación hasta «%s»"
 
-#: access/transam/xlog.c:6247
+#: access/transam/xlog.c:6295
 #, 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:6250
+#: access/transam/xlog.c:6298
 #, c-format
 msgid "starting archive recovery"
 msgstr "comenzando proceso de recuperación"
 
-#: access/transam/xlog.c:6267
+#: access/transam/xlog.c:6315
 #, c-format
 msgid "Failed while allocating an XLog reading processor."
 msgstr "Falló mientras se emplazaba un procesador de lectura de XLog."
 
-#: access/transam/xlog.c:6292 access/transam/xlog.c:6359
+#: access/transam/xlog.c:6340 access/transam/xlog.c:6407
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr "el registro del punto de control está en %X/%X"
 
-#: access/transam/xlog.c:6306
+#: access/transam/xlog.c:6354
 #, c-format
 msgid "could not find redo location referenced by checkpoint record"
 msgstr "no se pudo localizar la ubicación de redo referida por el registro de checkpoint"
 
-#: access/transam/xlog.c:6307 access/transam/xlog.c:6314
+#: access/transam/xlog.c:6355 access/transam/xlog.c:6362
 #, c-format
 msgid "If you are not restoring from a backup, try removing the file \"%s/backup_label\"."
 msgstr "Si no está restaurando un respaldo, intente eliminando «%s/backup_label»."
 
-#: access/transam/xlog.c:6313
+#: access/transam/xlog.c:6361
 #, 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:6369 access/transam/xlog.c:6384
+#: access/transam/xlog.c:6417 access/transam/xlog.c:6432
 #, 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:6378
+#: access/transam/xlog.c:6426
 #, c-format
 msgid "using previous checkpoint record at %X/%X"
 msgstr "usando el registro del punto de control anterior en %X/%X"
 
-#: access/transam/xlog.c:6408
+#: access/transam/xlog.c:6456
 #, 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:6410
+#: access/transam/xlog.c:6458
 #, 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:6426
+#: access/transam/xlog.c:6474
 #, 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:6435
+#: access/transam/xlog.c:6483
 #, c-format
 msgid "redo record is at %X/%X; shutdown %s"
 msgstr "registro de redo en %X/%X; apagado %s"
 
-#: access/transam/xlog.c:6439
+#: access/transam/xlog.c:6487
 #, c-format
 msgid "next transaction ID: %u/%u; next OID: %u"
 msgstr "siguiente ID de transacción: %u/%u; siguiente OID: %u"
 
-#: access/transam/xlog.c:6443
+#: access/transam/xlog.c:6491
 #, c-format
 msgid "next MultiXactId: %u; next MultiXactOffset: %u"
 msgstr "siguiente MultiXactId: %u; siguiente MultiXactOffset: %u"
 
-#: access/transam/xlog.c:6446
+#: access/transam/xlog.c:6494
 #, c-format
 msgid "oldest unfrozen transaction ID: %u, in database %u"
 msgstr "ID de transacción más antigua sin congelar: %u, en base de datos %u"
 
-#: access/transam/xlog.c:6449
+#: access/transam/xlog.c:6497
 #, c-format
 msgid "oldest MultiXactId: %u, in database %u"
 msgstr "MultiXactId más antiguo: %u, en base de datos %u"
 
-#: access/transam/xlog.c:6453
+#: access/transam/xlog.c:6501
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "el siguiente ID de transacción no es válido"
 
-#: access/transam/xlog.c:6523
+#: access/transam/xlog.c:6571
 #, 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:6534
+#: access/transam/xlog.c:6582
 #, 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:6565
+#: access/transam/xlog.c:6613
 #, 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:6569
+#: access/transam/xlog.c:6617
 #, 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:6613
+#: access/transam/xlog.c:6661
 #, 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:6614
+#: access/transam/xlog.c:6662
 #, 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:6675
+#: access/transam/xlog.c:6740
 #, c-format
 msgid "initializing for hot standby"
 msgstr "inicializando para hot standby"
 
-#: access/transam/xlog.c:6807
+#: access/transam/xlog.c:6872
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "redo comienza en %X/%X"
 
-#: access/transam/xlog.c:7031
+#: access/transam/xlog.c:7096
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "redo listo en %X/%X"
 
-#: access/transam/xlog.c:7036 access/transam/xlog.c:8931
+#: access/transam/xlog.c:7101 access/transam/xlog.c:8998
 #, 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:7044
+#: access/transam/xlog.c:7109
 #, c-format
 msgid "redo is not required"
 msgstr "no se requiere redo"
 
-#: access/transam/xlog.c:7102
+#: access/transam/xlog.c:7167
 #, 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:7118 access/transam/xlog.c:7122
+#: access/transam/xlog.c:7183 access/transam/xlog.c:7187
 #, 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:7119
+#: access/transam/xlog.c:7184
 #, 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:7123
+#: access/transam/xlog.c:7188
 #, 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:7126
+#: access/transam/xlog.c:7191
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "WAL termina antes del punto de recuperación consistente"
 
-#: access/transam/xlog.c:7153
+#: access/transam/xlog.c:7218
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "seleccionado nuevo ID de timeline: %u"
 
-#: access/transam/xlog.c:7500
+#: access/transam/xlog.c:7567
 #, 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:7697
+#: access/transam/xlog.c:7764
 #, 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:7701
+#: access/transam/xlog.c:7768
 #, c-format
 msgid "invalid secondary checkpoint link in control file"
 msgstr "el enlace del punto de control secundario en archivo de control no es válido"
 
-#: access/transam/xlog.c:7705
+#: access/transam/xlog.c:7772
 #, 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:7722
+#: access/transam/xlog.c:7789
 #, c-format
 msgid "invalid primary checkpoint record"
 msgstr "el registro del punto de control primario no es válido"
 
-#: access/transam/xlog.c:7726
+#: access/transam/xlog.c:7793
 #, c-format
 msgid "invalid secondary checkpoint record"
 msgstr "el registro del punto de control secundario no es válido"
 
-#: access/transam/xlog.c:7730
+#: access/transam/xlog.c:7797
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "el registro del punto de control no es válido"
 
-#: access/transam/xlog.c:7741
+#: access/transam/xlog.c:7808
 #, 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:7745
+#: access/transam/xlog.c:7812
 #, c-format
 msgid "invalid resource manager ID in secondary checkpoint record"
 msgstr "el ID de gestor de recursos en el registro del punto de control secundario no es válido"
 
-#: access/transam/xlog.c:7749
+#: access/transam/xlog.c:7816
 #, 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:7761
+#: access/transam/xlog.c:7828
 #, 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:7765
+#: access/transam/xlog.c:7832
 #, c-format
 msgid "invalid xl_info in secondary checkpoint record"
 msgstr "xl_info en el registro del punto de control secundario no es válido"
 
-#: access/transam/xlog.c:7769
+#: access/transam/xlog.c:7836
 #, 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:7781
+#: access/transam/xlog.c:7848
 #, 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:7785
+#: access/transam/xlog.c:7852
 #, c-format
 msgid "invalid length of secondary checkpoint record"
 msgstr "la longitud del registro del punto de control secundario no es válida"
 
-#: access/transam/xlog.c:7789
+#: access/transam/xlog.c:7856
 #, 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:7949
+#: access/transam/xlog.c:8016
 #, c-format
 msgid "shutting down"
 msgstr "apagando"
 
-#: access/transam/xlog.c:7983
+#: access/transam/xlog.c:8050
 #, c-format
 msgid "database system is shut down"
 msgstr "el sistema de bases de datos está apagado"
 
-#: access/transam/xlog.c:8449
+#: access/transam/xlog.c:8516
 #, c-format
 msgid "concurrent transaction log activity while database system is shutting down"
 msgstr "hay actividad en el registro de transacción mientras el sistema se está apagando"
 
-#: access/transam/xlog.c:8721
+#: access/transam/xlog.c:8788
 #, c-format
 msgid "skipping restartpoint, recovery has already ended"
 msgstr "saltando el punto-de-reinicio; la recuperación ya ha terminado"
 
-#: access/transam/xlog.c:8744
+#: access/transam/xlog.c:8811
 #, c-format
 msgid "skipping restartpoint, already performed at %X/%X"
 msgstr "saltando el punto-de-reinicio; ya fue llevado a cabo en %X/%X"
 
-#: access/transam/xlog.c:8929
+#: access/transam/xlog.c:8996
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "punto-de-reinicio de recuperación en %X/%X"
 
-#: access/transam/xlog.c:9074
+#: access/transam/xlog.c:9141
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "punto de recuperación «%s» creado en %X/%X"
 
-#: access/transam/xlog.c:9298
+#: access/transam/xlog.c:9365
 #, 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:9307
+#: access/transam/xlog.c:9374
 #, 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:9323
+#: access/transam/xlog.c:9390
 #, 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:9391
+#: access/transam/xlog.c:9458
 #, 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:9452 access/transam/xlog.c:9501
-#: access/transam/xlog.c:9524
+#: access/transam/xlog.c:9519 access/transam/xlog.c:9577
+#: access/transam/xlog.c:9600
 #, 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:9759
+#: access/transam/xlog.c:9840
 #, c-format
 msgid "could not fsync log segment %s: %m"
 msgstr "no se pudo sincronizar (fsync) el archivo de registro %s: %m"
 
-#: access/transam/xlog.c:9783
+#: access/transam/xlog.c:9864
 #, c-format
 msgid "could not fsync log file %s: %m"
 msgstr "no se pudo sincronizar (fsync) archivo de registro «%s»: %m"
 
-#: access/transam/xlog.c:9791
+#: access/transam/xlog.c:9872
 #, c-format
 msgid "could not fsync write-through log file %s: %m"
 msgstr "no se pudo sincronizar (fsync write-through) el archivo de registro %s: %m"
 
-#: access/transam/xlog.c:9800
+#: access/transam/xlog.c:9881
 #, c-format
 msgid "could not fdatasync log file %s: %m"
 msgstr "no se pudo sincronizar (fdatasync) el archivo de registro %s: %m"
 
-#: access/transam/xlog.c:9878 access/transam/xlog.c:10247
+#: access/transam/xlog.c:9959 access/transam/xlog.c:10328
 #: access/transam/xlogfuncs.c:111 access/transam/xlogfuncs.c:140
 #: access/transam/xlogfuncs.c:179 access/transam/xlogfuncs.c:200
 #: access/transam/xlogfuncs.c:270 access/transam/xlogfuncs.c:326
@@ -2008,176 +2012,176 @@ msgstr "no se pudo sincronizar (fdatasync) el archivo de registro %s: %m"
 msgid "recovery is in progress"
 msgstr "la recuperación está en proceso"
 
-#: access/transam/xlog.c:9879 access/transam/xlog.c:10248
+#: access/transam/xlog.c:9960 access/transam/xlog.c:10329
 #: access/transam/xlogfuncs.c:112 access/transam/xlogfuncs.c:141
 #: access/transam/xlogfuncs.c:180 access/transam/xlogfuncs.c:201
 #, c-format
 msgid "WAL control functions cannot be executed during recovery."
 msgstr "Las funciones de control de WAL no pueden ejecutarse durante la recuperación."
 
-#: access/transam/xlog.c:9888 access/transam/xlog.c:10257
+#: access/transam/xlog.c:9969 access/transam/xlog.c:10338
 #, 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:9889 access/transam/xlog.c:10258
+#: access/transam/xlog.c:9970 access/transam/xlog.c:10339
 #: access/transam/xlogfuncs.c:147
 #, c-format
 msgid "wal_level must be set to \"archive\", \"hot_standby\", or \"logical\" at server start."
 msgstr "wal_level debe ser definido a «archive», «hot_standby» o «logical» al inicio del servidor."
 
-#: access/transam/xlog.c:9894
+#: access/transam/xlog.c:9975
 #, 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:9930 access/transam/xlog.c:10107
+#: access/transam/xlog.c:10011 access/transam/xlog.c:10188
 #, c-format
 msgid "a backup is already in progress"
 msgstr "ya hay un respaldo en curso"
 
-#: access/transam/xlog.c:9931
+#: access/transam/xlog.c:10012
 #, c-format
 msgid "Run pg_stop_backup() and try again."
 msgstr "Ejecute pg_stop_backup() e intente nuevamente."
 
-#: access/transam/xlog.c:10025
+#: access/transam/xlog.c:10106
 #, c-format
 msgid "WAL generated with full_page_writes=off was replayed since last restartpoint"
 msgstr "el WAL generado con full_page_writes=off fue restaurado desde el último punto-de-reinicio"
 
-#: access/transam/xlog.c:10027 access/transam/xlog.c:10435
+#: access/transam/xlog.c:10108 access/transam/xlog.c:10516
 #, 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:10101 access/transam/xlog.c:10296
+#: access/transam/xlog.c:10182 access/transam/xlog.c:10377
 #: access/transam/xlogarchive.c:106 access/transam/xlogarchive.c:265
-#: replication/basebackup.c:466 replication/basebackup.c:534
-#: replication/logical/snapbuild.c:1479 storage/file/copydir.c:72
-#: storage/file/copydir.c:115 storage/file/fd.c:2702 storage/file/fd.c:2794
+#: guc-file.l:884 replication/basebackup.c:469 replication/basebackup.c:537
+#: replication/logical/snapbuild.c:1489 storage/file/copydir.c:72
+#: storage/file/copydir.c:115 storage/file/fd.c:2737 storage/file/fd.c:2829
 #: utils/adt/dbsize.c:68 utils/adt/dbsize.c:218 utils/adt/dbsize.c:298
-#: utils/adt/genfile.c:108 utils/adt/genfile.c:280 guc-file.l:883
+#: utils/adt/genfile.c:108 utils/adt/genfile.c:280
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo «%s»: %m"
 
-#: access/transam/xlog.c:10108
+#: access/transam/xlog.c:10189
 #, 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:10125 access/transam/xlog.c:10498
+#: access/transam/xlog.c:10206 access/transam/xlog.c:10579
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "no se pudo escribir el archivo «%s»: %m"
 
-#: access/transam/xlog.c:10273
+#: access/transam/xlog.c:10354
 #, c-format
 msgid "exclusive backup not in progress"
 msgstr "no hay un respaldo exclusivo en curso"
 
-#: access/transam/xlog.c:10300
+#: access/transam/xlog.c:10381
 #, c-format
 msgid "a backup is not in progress"
 msgstr "no hay un respaldo en curso"
 
-#: access/transam/xlog.c:10368 access/transam/xlog.c:10381
-#: access/transam/xlog.c:10732 access/transam/xlog.c:10738
+#: access/transam/xlog.c:10449 access/transam/xlog.c:10462
+#: access/transam/xlog.c:10813 access/transam/xlog.c:10819
 #: access/transam/xlogfuncs.c:498
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "datos no válidos en archivo «%s»"
 
-#: access/transam/xlog.c:10385 replication/basebackup.c:976
+#: access/transam/xlog.c:10466 replication/basebackup.c:979
 #, 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:10386 replication/basebackup.c:977
+#: access/transam/xlog.c:10467 replication/basebackup.c:980
 #, 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:10433
+#: access/transam/xlog.c:10514
 #, 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:10547
+#: access/transam/xlog.c:10628
 #, c-format
 msgid "pg_stop_backup cleanup done, waiting for required WAL segments to be archived"
 msgstr "finalización de pg_stop_backup completa, esperando que se archiven los segmentos WAL requeridos"
 
-#: access/transam/xlog.c:10557
+#: access/transam/xlog.c:10638
 #, c-format
 msgid "pg_stop_backup still waiting for all required WAL segments to be archived (%d seconds elapsed)"
 msgstr "pg_stop_backup todavía espera que todos los segmentos WAL requeridos sean archivados (han pasado %d segundos)"
 
-#: access/transam/xlog.c:10559
+#: access/transam/xlog.c:10640
 #, c-format
 msgid "Check that your archive_command is executing properly.  pg_stop_backup can be canceled safely, but the database backup will not be usable without all the WAL segments."
 msgstr "Verifique que su archive_command se esté ejecutando con normalidad.  pg_stop_backup puede ser abortado confiablemente, pero el respaldo de la base de datos no será utilizable a menos que disponga de todos los segmentos de WAL."
 
-#: access/transam/xlog.c:10566
+#: access/transam/xlog.c:10647
 #, c-format
 msgid "pg_stop_backup complete, all required WAL segments have been archived"
 msgstr "pg_stop_backup completado, todos los segmentos de WAL requeridos han sido archivados"
 
-#: access/transam/xlog.c:10570
+#: access/transam/xlog.c:10651
 #, 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:10783
+#: access/transam/xlog.c:10864
 #, c-format
 msgid "xlog redo %s"
 msgstr "xlog redo %s"
 
-#: access/transam/xlog.c:10823
+#: access/transam/xlog.c:10904
 #, c-format
 msgid "online backup mode canceled"
 msgstr "el modo de respaldo en línea fue cancelado"
 
-#: access/transam/xlog.c:10824
+#: access/transam/xlog.c:10905
 #, c-format
 msgid "\"%s\" was renamed to \"%s\"."
 msgstr "«%s» fue renombrado a «%s»."
 
-#: access/transam/xlog.c:10831
+#: access/transam/xlog.c:10912
 #, c-format
 msgid "online backup mode was not canceled"
 msgstr "el modo de respaldo en línea no fue cancelado"
 
-#: access/transam/xlog.c:10832
+#: access/transam/xlog.c:10913
 #, c-format
 msgid "Could not rename \"%s\" to \"%s\": %m."
 msgstr "No se pudo renombrar «%s» a «%s»: %m."
 
 # XXX why talk about "log segment" instead of "file"?
-#: access/transam/xlog.c:10952 replication/logical/logicalfuncs.c:169
-#: replication/walreceiver.c:937 replication/walsender.c:2156
+#: access/transam/xlog.c:11035 replication/logical/logicalfuncs.c:169
+#: replication/walreceiver.c:936 replication/walsender.c:2171
 #, c-format
 msgid "could not seek in log segment %s to offset %u: %m"
 msgstr "no se pudo posicionar (seek) en segmento %s a la posición %u: %m"
 
 # XXX why talk about "log segment" instead of "file"?
-#: access/transam/xlog.c:10964
+#: access/transam/xlog.c:11049
 #, c-format
 msgid "could not read from log segment %s, offset %u: %m"
 msgstr "no se pudo leer del archivo de segmento %s, posición %u: %m"
 
-#: access/transam/xlog.c:11427
+#: access/transam/xlog.c:11552
 #, c-format
 msgid "received promote request"
 msgstr "se recibió petición de promoción"
 
-#: access/transam/xlog.c:11440
+#: access/transam/xlog.c:11565
 #, c-format
 msgid "trigger file found: %s"
 msgstr "se encontró el archivo disparador: %s"
 
-#: access/transam/xlog.c:11449
+#: access/transam/xlog.c:11574
 #, c-format
 msgid "could not stat trigger file \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo disparador «%s»: %m"
@@ -2205,9 +2209,9 @@ msgstr "no se pudo recuperar el archivo «%s»: %s"
 msgid "%s \"%s\": %s"
 msgstr "%s «%s»: %s"
 
-#: access/transam/xlogarchive.c:458 replication/logical/snapbuild.c:1602
-#: replication/slot.c:494 replication/slot.c:951 replication/slot.c:1063
-#: storage/file/fd.c:500 storage/file/fd.c:558 utils/time/snapmgr.c:1042
+#: access/transam/xlogarchive.c:458 replication/logical/snapbuild.c:1625
+#: replication/slot.c:494 replication/slot.c:956 replication/slot.c:1071
+#: storage/file/fd.c:501 storage/file/fd.c:559 utils/time/snapmgr.c:1042
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
@@ -2274,73 +2278,73 @@ msgstr "la recuperación no está en proceso"
 msgid "Recovery control functions can only be executed during recovery."
 msgstr "Las funciones de control de recuperación sólo pueden ejecutarse durante la recuperación."
 
-#: access/transam/xlogreader.c:249
+#: access/transam/xlogreader.c:247
 #, c-format
 msgid "invalid record offset at %X/%X"
 msgstr "posición de registro no válida en %X/%X"
 
-#: access/transam/xlogreader.c:257
+#: access/transam/xlogreader.c:255
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "contrecord solicitado por %X/%X"
 
-#: access/transam/xlogreader.c:297 access/transam/xlogreader.c:608
-#: access/transam/xlogreader.c:682
+#: access/transam/xlogreader.c:295 access/transam/xlogreader.c:604
+#: access/transam/xlogreader.c:678
 #, c-format
 msgid "invalid record length at %X/%X"
 msgstr "largo de registro no válido en %X/%X"
 
-#: access/transam/xlogreader.c:311
+#: access/transam/xlogreader.c:309
 #, c-format
 msgid "record length %u at %X/%X too long"
 msgstr "largo de registro %u en %X/%X demasiado largo"
 
-#: access/transam/xlogreader.c:352
+#: access/transam/xlogreader.c:350
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "no hay bandera de contrecord en %X/%X"
 
-#: access/transam/xlogreader.c:365
+#: access/transam/xlogreader.c:363
 #, c-format
 msgid "invalid contrecord length %u at %X/%X"
 msgstr "largo de contrecord %u no válido en %X/%X"
 
-#: access/transam/xlogreader.c:591
+#: access/transam/xlogreader.c:587
 #, c-format
 msgid "invalid xlog switch record at %X/%X"
 msgstr "registro «xlog switch» no válido en %X/%X"
 
-#: access/transam/xlogreader.c:599
+#: access/transam/xlogreader.c:595
 #, c-format
 msgid "record with zero length at %X/%X"
 msgstr "registro con largo cero en %X/%X"
 
-#: access/transam/xlogreader.c:615
+#: access/transam/xlogreader.c:611
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "ID de gestor de recursos %u no válido en %X/%X"
 
-#: access/transam/xlogreader.c:629 access/transam/xlogreader.c:646
+#: access/transam/xlogreader.c:625 access/transam/xlogreader.c:642
 #, c-format
 msgid "record with incorrect prev-link %X/%X at %X/%X"
 msgstr "registro con prev-link %X/%X incorrecto en %X/%X"
 
-#: access/transam/xlogreader.c:702 access/transam/xlogreader.c:720
+#: access/transam/xlogreader.c:698 access/transam/xlogreader.c:716
 #, c-format
 msgid "invalid backup block size in record at %X/%X"
 msgstr "tamaño del bloque de backup no válido en registro en %X/%X"
 
-#: access/transam/xlogreader.c:711
+#: access/transam/xlogreader.c:707
 #, c-format
 msgid "incorrect hole size in record at %X/%X"
 msgstr "tamaño de agujero incorrecto en registro en %X/%X"
 
-#: access/transam/xlogreader.c:733
+#: access/transam/xlogreader.c:729
 #, c-format
 msgid "incorrect total length in record at %X/%X"
 msgstr "largo total incorrecto en registro en %X/%X"
 
-#: access/transam/xlogreader.c:745
+#: access/transam/xlogreader.c:741
 #, c-format
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr "suma de verificación de los datos del gestor de recursos incorrecta en el registro en %X/%X"
@@ -2370,33 +2374,33 @@ msgstr "archivo WAL es de un sistema distinto: XLOG_SEG_SIZE incorrecto en cabec
 msgid "WAL file is from different database system: Incorrect XLOG_BLCKSZ in page header."
 msgstr "archivo WAL es de un sistema distinto: XLOG_BLCKSZ incorrecto en cabecera de página."
 
-#: access/transam/xlogreader.c:857
+#: access/transam/xlogreader.c:862
 #, c-format
 msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
 msgstr "pageaddr %X/%X inesperado en archivo %s, posición %u"
 
-#: access/transam/xlogreader.c:882
+#: access/transam/xlogreader.c:887
 #, c-format
 msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
 msgstr "ID de timeline %u fuera de secuencia (después de %u) en archivo %s, posición %u"
 
-#: bootstrap/bootstrap.c:273 postmaster/postmaster.c:789 tcop/postgres.c:3518
+#: bootstrap/bootstrap.c:281 postmaster/postmaster.c:792 tcop/postgres.c:3524
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s requiere un valor"
 
-#: bootstrap/bootstrap.c:278 postmaster/postmaster.c:794 tcop/postgres.c:3523
+#: bootstrap/bootstrap.c:286 postmaster/postmaster.c:797 tcop/postgres.c:3529
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s requiere un valor"
 
-#: bootstrap/bootstrap.c:289 postmaster/postmaster.c:806
-#: postmaster/postmaster.c:819
+#: bootstrap/bootstrap.c:297 postmaster/postmaster.c:809
+#: postmaster/postmaster.c:822
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Pruebe «%s --help» para mayor información.\n"
 
-#: bootstrap/bootstrap.c:298
+#: bootstrap/bootstrap.c:306
 #, c-format
 msgid "%s: invalid command-line arguments\n"
 msgstr "%s: argumentos de línea de órdenes no válidos\n"
@@ -2555,24 +2559,24 @@ msgstr "opciones contradictorias o redundantes"
 msgid "default privileges cannot be set for columns"
 msgstr "los privilegios por omisión no pueden definirse para columnas"
 
-#: catalog/aclchk.c:1492 catalog/objectaddress.c:1042 commands/analyze.c:390
-#: commands/copy.c:4266 commands/sequence.c:1471 commands/tablecmds.c:4953
-#: commands/tablecmds.c:5048 commands/tablecmds.c:5098
-#: commands/tablecmds.c:5202 commands/tablecmds.c:5249
-#: commands/tablecmds.c:5333 commands/tablecmds.c:5421
-#: commands/tablecmds.c:7555 commands/tablecmds.c:7774
-#: commands/tablecmds.c:8166 commands/trigger.c:641 parser/analyze.c:1994
-#: parser/parse_relation.c:2444 parser/parse_relation.c:2506
-#: parser/parse_target.c:931 parser/parse_type.c:128 utils/adt/acl.c:2840
-#: utils/adt/ruleutils.c:1846
+#: catalog/aclchk.c:1492 catalog/objectaddress.c:1042 commands/analyze.c:394
+#: commands/copy.c:4291 commands/sequence.c:1471 commands/tablecmds.c:4977
+#: commands/tablecmds.c:5072 commands/tablecmds.c:5122
+#: commands/tablecmds.c:5226 commands/tablecmds.c:5273
+#: commands/tablecmds.c:5357 commands/tablecmds.c:5445
+#: commands/tablecmds.c:7579 commands/tablecmds.c:7798
+#: commands/tablecmds.c:8190 commands/trigger.c:641 parser/analyze.c:2000
+#: parser/parse_relation.c:2455 parser/parse_relation.c:2517
+#: parser/parse_target.c:931 parser/parse_type.c:128 utils/adt/acl.c:2888
+#: utils/adt/ruleutils.c:1865
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "no existe la columna «%s» en la relación «%s»"
 
 #: catalog/aclchk.c:1757 catalog/objectaddress.c:862 commands/sequence.c:1058
-#: commands/tablecmds.c:215 commands/tablecmds.c:11418 utils/adt/acl.c:2076
-#: utils/adt/acl.c:2106 utils/adt/acl.c:2138 utils/adt/acl.c:2170
-#: utils/adt/acl.c:2198 utils/adt/acl.c:2228
+#: commands/tablecmds.c:215 commands/tablecmds.c:11439 utils/adt/acl.c:2078
+#: utils/adt/acl.c:2108 utils/adt/acl.c:2140 utils/adt/acl.c:2172
+#: utils/adt/acl.c:2200 utils/adt/acl.c:2230
 #, c-format
 msgid "\"%s\" is not a sequence"
 msgstr "«%s» no es una secuencia"
@@ -2617,7 +2621,7 @@ msgstr "no se puede definir privilegios para tipos de array"
 msgid "Set the privileges of the element type instead."
 msgstr "Defina los privilegios del tipo elemento en su lugar."
 
-#: catalog/aclchk.c:3100 catalog/objectaddress.c:1094 commands/typecmds.c:3202
+#: catalog/aclchk.c:3100 catalog/objectaddress.c:1094 commands/typecmds.c:3203
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "«%s» no es un dominio"
@@ -3016,13 +3020,13 @@ 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:412 commands/tablecmds.c:1403 commands/tablecmds.c:1845
-#: commands/tablecmds.c:4597
+#: catalog/heap.c:412 commands/tablecmds.c:1420 commands/tablecmds.c:1862
+#: commands/tablecmds.c:4621
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "las tablas pueden tener a lo más %d columnas"
 
-#: catalog/heap.c:429 commands/tablecmds.c:4853
+#: catalog/heap.c:429 commands/tablecmds.c:4877
 #, 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"
@@ -3058,21 +3062,21 @@ 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:583 commands/createas.c:200 commands/createas.c:471
-#: commands/indexcmds.c:1073 commands/view.c:103 regex/regc_pg_locale.c:262
+#: commands/indexcmds.c:1087 commands/view.c:103 regex/regc_pg_locale.c:262
 #: utils/adt/formatting.c:1513 utils/adt/formatting.c:1565
 #: utils/adt/formatting.c:1633 utils/adt/formatting.c:1685
 #: utils/adt/formatting.c:1754 utils/adt/formatting.c:1818 utils/adt/like.c:213
-#: utils/adt/selfuncs.c:5325 utils/adt/varlena.c:1381
+#: utils/adt/selfuncs.c:5354 utils/adt/varlena.c:1381
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Use la cláusula COLLATE para establecer el ordenamiento explícitamente."
 
-#: catalog/heap.c:1057 catalog/index.c:778 commands/tablecmds.c:2550
+#: catalog/heap.c:1057 catalog/index.c:778 commands/tablecmds.c:2574
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "la relación «%s» ya existe"
 
-#: catalog/heap.c:1073 catalog/pg_type.c:403 catalog/pg_type.c:721
+#: catalog/heap.c:1073 catalog/pg_type.c:411 catalog/pg_type.c:722
 #: commands/typecmds.c:239 commands/typecmds.c:739 commands/typecmds.c:1090
 #: commands/typecmds.c:1308 commands/typecmds.c:2060
 #, c-format
@@ -3084,84 +3088,84 @@ msgstr "ya existe un tipo «%s»"
 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:2260
+#: catalog/heap.c:2251
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "la restricción «check» «%s» ya existe"
 
-#: catalog/heap.c:2425 catalog/pg_constraint.c:650 commands/tablecmds.c:5748
+#: catalog/heap.c:2416 catalog/pg_constraint.c:650 commands/tablecmds.c:5772
 #, 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:2432
+#: catalog/heap.c:2423
 #, 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:2443
+#: catalog/heap.c:2434
 #, 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:2453
+#: catalog/heap.c:2444
 #, 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:2458
+#: catalog/heap.c:2449
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "mezclando la restricción «%s» con la definición heredada"
 
-#: catalog/heap.c:2564
+#: catalog/heap.c:2555
 #, c-format
 msgid "cannot use column references in default expression"
 msgstr "no se pueden usar referencias a columnas en una cláusula default"
 
-#: catalog/heap.c:2575
+#: catalog/heap.c:2566
 #, c-format
 msgid "default expression must not return a set"
 msgstr "expresiones default no pueden retornar conjuntos"
 
-#: catalog/heap.c:2594 rewrite/rewriteHandler.c:1097
+#: catalog/heap.c:2585 rewrite/rewriteHandler.c:1083
 #, 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:2599 commands/prepare.c:374 parser/parse_node.c:411
+#: catalog/heap.c:2590 commands/prepare.c:374 parser/parse_node.c:411
 #: parser/parse_target.c:520 parser/parse_target.c:769
-#: parser/parse_target.c:779 rewrite/rewriteHandler.c:1102
+#: parser/parse_target.c:779 rewrite/rewriteHandler.c:1088
 #, 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:2646
+#: catalog/heap.c:2637
 #, 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:2886
+#: catalog/heap.c:2877
 #, 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:2887
+#: catalog/heap.c:2878
 #, 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:2892
+#: catalog/heap.c:2883
 #, 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:2893
+#: catalog/heap.c:2884
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "La tabla «%s» hace referencia a «%s»."
 
-#: catalog/heap.c:2895
+#: catalog/heap.c:2886
 #, 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."
@@ -3176,7 +3180,7 @@ msgstr "no se permiten múltiples llaves primarias para la tabla «%s»"
 msgid "primary keys cannot be expressions"
 msgstr "las llaves primarias no pueden ser expresiones"
 
-#: catalog/index.c:739 catalog/index.c:1143
+#: catalog/index.c:739 catalog/index.c:1149
 #, c-format
 msgid "user-defined indexes on system catalog tables are not supported"
 msgstr "los usuarios no pueden crear índices en tablas del sistema"
@@ -3191,23 +3195,23 @@ msgstr "no se pueden crear índices de forma concurrente en tablas del sistema"
 msgid "shared indexes cannot be created after initdb"
 msgstr "no se pueden crear índices compartidos después de initdb"
 
-#: catalog/index.c:1403
+#: catalog/index.c:1409
 #, 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:1936
+#: catalog/index.c:1942
 #, c-format
 msgid "building index \"%s\" on table \"%s\""
 msgstr "construyendo índice «%s» en la tabla «%s»"
 
-#: catalog/index.c:3121
+#: catalog/index.c:3132
 #, c-format
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "no se puede hacer reindex de tablas temporales de otras sesiones"
 
 #: catalog/namespace.c:247 catalog/namespace.c:445 catalog/namespace.c:539
-#: commands/trigger.c:4492
+#: commands/trigger.c:4529
 #, 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»"
@@ -3285,8 +3289,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:2649 parser/parse_expr.c:795 parser/parse_target.c:1128
-#: gram.y:12565 gram.y:13797
+#: catalog/namespace.c:2649 gram.y:12583 gram.y:13815 parser/parse_expr.c:795
+#: parser/parse_target.c:1128
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "el nombre no es válido (demasiados puntos): %s"
@@ -3337,8 +3341,8 @@ msgstr "se ha denegado el permiso para crear tablas temporales en la base de dat
 msgid "cannot create temporary tables during recovery"
 msgstr "no se pueden crear tablas temporales durante la recuperación"
 
-#: catalog/namespace.c:3865 commands/tablespace.c:1114 commands/variable.c:61
-#: replication/syncrep.c:678 utils/misc/guc.c:9040
+#: catalog/namespace.c:3884 commands/tablespace.c:1114 commands/variable.c:61
+#: replication/syncrep.c:681 utils/misc/guc.c:9077
 #, c-format
 msgid "List syntax is invalid."
 msgstr "La sintaxis de lista no es válida."
@@ -3381,26 +3385,26 @@ msgid "event trigger name cannot be qualified"
 msgstr "un nombre de disparador por eventos no puede ser calificado"
 
 #: catalog/objectaddress.c:869 commands/lockcmds.c:94 commands/tablecmds.c:209
-#: commands/tablecmds.c:1264 commands/tablecmds.c:4131
-#: commands/tablecmds.c:7677
+#: commands/tablecmds.c:1281 commands/tablecmds.c:4155
+#: commands/tablecmds.c:7701
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "«%s» no es una tabla"
 
 #: catalog/objectaddress.c:876 commands/tablecmds.c:221
-#: commands/tablecmds.c:4155 commands/tablecmds.c:11423 commands/view.c:140
+#: commands/tablecmds.c:4179 commands/tablecmds.c:11444 commands/view.c:135
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "«%s» no es una vista"
 
-#: catalog/objectaddress.c:883 commands/matview.c:171 commands/tablecmds.c:227
-#: commands/tablecmds.c:11428
+#: catalog/objectaddress.c:883 commands/matview.c:169 commands/tablecmds.c:227
+#: commands/tablecmds.c:11449
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "«%s» no es una vista materializada"
 
 #: catalog/objectaddress.c:890 commands/tablecmds.c:245
-#: commands/tablecmds.c:4158 commands/tablecmds.c:11433
+#: commands/tablecmds.c:4182 commands/tablecmds.c:11454
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "«%s» no es una tabla foránea"
@@ -3411,8 +3415,8 @@ msgid "column name must be qualified"
 msgstr "el nombre de columna debe ser calificado"
 
 #: catalog/objectaddress.c:1083 commands/functioncmds.c:126
-#: commands/tablecmds.c:237 commands/typecmds.c:3268 parser/parse_type.c:222
-#: parser/parse_type.c:251 parser/parse_type.c:795 utils/adt/acl.c:4374
+#: commands/tablecmds.c:237 commands/typecmds.c:3269 parser/parse_type.c:222
+#: parser/parse_type.c:251 parser/parse_type.c:795 utils/adt/acl.c:4454
 #: utils/adt/regproc.c:1166
 #, c-format
 msgid "type \"%s\" does not exist"
@@ -3458,47 +3462,47 @@ msgstr "tipo %s"
 msgid "cast from %s to %s"
 msgstr "conversión de %s a %s"
 
-#: catalog/objectaddress.c:1600
+#: catalog/objectaddress.c:1608
 #, c-format
 msgid "collation %s"
 msgstr "ordenamiento (collation) %s"
 
-#: catalog/objectaddress.c:1624
+#: catalog/objectaddress.c:1633
 #, c-format
 msgid "constraint %s on %s"
 msgstr "restricción «%s» en %s"
 
-#: catalog/objectaddress.c:1630
+#: catalog/objectaddress.c:1639
 #, c-format
 msgid "constraint %s"
 msgstr "restricción %s"
 
-#: catalog/objectaddress.c:1647
+#: catalog/objectaddress.c:1666
 #, c-format
 msgid "conversion %s"
 msgstr "conversión %s"
 
-#: catalog/objectaddress.c:1684
+#: catalog/objectaddress.c:1704
 #, c-format
 msgid "default for %s"
 msgstr "valor por omisión para %s"
 
-#: catalog/objectaddress.c:1701
+#: catalog/objectaddress.c:1721
 #, c-format
 msgid "language %s"
 msgstr "lenguaje %s"
 
-#: catalog/objectaddress.c:1707
+#: catalog/objectaddress.c:1727
 #, c-format
 msgid "large object %u"
 msgstr "objeto grande %u"
 
-#: catalog/objectaddress.c:1712
+#: catalog/objectaddress.c:1732
 #, c-format
 msgid "operator %s"
 msgstr "operador %s"
 
-#: catalog/objectaddress.c:1744
+#: catalog/objectaddress.c:1764
 #, c-format
 msgid "operator class %s for access method %s"
 msgstr "clase de operadores «%s» para el método de acceso «%s»"
@@ -3507,7 +3511,7 @@ msgstr "clase de operadores «%s» para el método de acceso «%s»"
 #. first two %s's are data type names, the third %s is the
 #. description of the operator family, and the last %s is the
 #. textual form of the operator with arguments.
-#: catalog/objectaddress.c:1794
+#: catalog/objectaddress.c:1814
 #, c-format
 msgid "operator %d (%s, %s) of %s: %s"
 msgstr "operador %d (%s, %s) de %s: %s"
@@ -3516,162 +3520,162 @@ msgstr "operador %d (%s, %s) de %s: %s"
 #. are data type names, the third %s is the description of the
 #. operator family, and the last %s is the textual form of the
 #. function with arguments.
-#: catalog/objectaddress.c:1844
+#: catalog/objectaddress.c:1864
 #, c-format
 msgid "function %d (%s, %s) of %s: %s"
 msgstr "función %d (%s, %s) de %s: %s"
 
-#: catalog/objectaddress.c:1884
+#: catalog/objectaddress.c:1904
 #, c-format
 msgid "rule %s on "
 msgstr "regla «%s» en "
 
-#: catalog/objectaddress.c:1919
+#: catalog/objectaddress.c:1939
 #, c-format
 msgid "trigger %s on "
 msgstr "disparador %s en "
 
-#: catalog/objectaddress.c:1936
+#: catalog/objectaddress.c:1956
 #, c-format
 msgid "schema %s"
 msgstr "esquema %s"
 
-#: catalog/objectaddress.c:1949
+#: catalog/objectaddress.c:1979
 #, c-format
 msgid "text search parser %s"
 msgstr "analizador de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:1964
+#: catalog/objectaddress.c:2005
 #, c-format
 msgid "text search dictionary %s"
 msgstr "diccionario de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:1979
+#: catalog/objectaddress.c:2031
 #, c-format
 msgid "text search template %s"
 msgstr "plantilla de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:1994
+#: catalog/objectaddress.c:2057
 #, c-format
 msgid "text search configuration %s"
 msgstr "configuración de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:2002
+#: catalog/objectaddress.c:2066
 #, c-format
 msgid "role %s"
 msgstr "rol %s"
 
-#: catalog/objectaddress.c:2015
+#: catalog/objectaddress.c:2079
 #, c-format
 msgid "database %s"
 msgstr "base de datos %s"
 
-#: catalog/objectaddress.c:2027
+#: catalog/objectaddress.c:2091
 #, c-format
 msgid "tablespace %s"
 msgstr "tablespace %s"
 
-#: catalog/objectaddress.c:2036
+#: catalog/objectaddress.c:2100
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "conector de datos externos %s"
 
-#: catalog/objectaddress.c:2045
+#: catalog/objectaddress.c:2109
 #, c-format
 msgid "server %s"
 msgstr "servidor %s"
 
-#: catalog/objectaddress.c:2073
+#: catalog/objectaddress.c:2137
 #, c-format
 msgid "user mapping for %s on server %s"
 msgstr "mapeo para el usuario %s en el servidor %s"
 
-#: catalog/objectaddress.c:2108
+#: catalog/objectaddress.c:2172
 #, c-format
 msgid "default privileges on new relations belonging to role %s"
 msgstr "privilegios por omisión en nuevas relaciones pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:2113
+#: catalog/objectaddress.c:2177
 #, c-format
 msgid "default privileges on new sequences belonging to role %s"
 msgstr "privilegios por omisión en nuevas secuencias pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:2118
+#: catalog/objectaddress.c:2182
 #, c-format
 msgid "default privileges on new functions belonging to role %s"
 msgstr "privilegios por omisión en nuevas funciones pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:2123
+#: catalog/objectaddress.c:2187
 #, c-format
 msgid "default privileges on new types belonging to role %s"
 msgstr "privilegios por omisión en nuevos tipos pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:2129
+#: catalog/objectaddress.c:2193
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "privilegios por omisión pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:2137
+#: catalog/objectaddress.c:2201
 #, c-format
 msgid " in schema %s"
 msgstr " en esquema %s"
 
-#: catalog/objectaddress.c:2154
+#: catalog/objectaddress.c:2218
 #, c-format
 msgid "extension %s"
 msgstr "extensión %s"
 
-#: catalog/objectaddress.c:2167
+#: catalog/objectaddress.c:2231
 #, c-format
 msgid "event trigger %s"
 msgstr "disparador por eventos %s"
 
-#: catalog/objectaddress.c:2227
+#: catalog/objectaddress.c:2291
 #, c-format
 msgid "table %s"
 msgstr "tabla %s"
 
-#: catalog/objectaddress.c:2231
+#: catalog/objectaddress.c:2295
 #, c-format
 msgid "index %s"
 msgstr "índice %s"
 
-#: catalog/objectaddress.c:2235
+#: catalog/objectaddress.c:2299
 #, c-format
 msgid "sequence %s"
 msgstr "secuencia %s"
 
-#: catalog/objectaddress.c:2239
+#: catalog/objectaddress.c:2303
 #, c-format
 msgid "toast table %s"
 msgstr "tabla toast %s"
 
-#: catalog/objectaddress.c:2243
+#: catalog/objectaddress.c:2307
 #, c-format
 msgid "view %s"
 msgstr "vista %s"
 
-#: catalog/objectaddress.c:2247
+#: catalog/objectaddress.c:2311
 #, c-format
 msgid "materialized view %s"
 msgstr "vista materializada %s"
 
-#: catalog/objectaddress.c:2251
+#: catalog/objectaddress.c:2315
 #, c-format
 msgid "composite type %s"
 msgstr "tipo compuesto %s"
 
-#: catalog/objectaddress.c:2255
+#: catalog/objectaddress.c:2319
 #, c-format
 msgid "foreign table %s"
 msgstr "tabla foránea %s"
 
-#: catalog/objectaddress.c:2260
+#: catalog/objectaddress.c:2324
 #, c-format
 msgid "relation %s"
 msgstr "relación %s"
 
-#: catalog/objectaddress.c:2297
+#: catalog/objectaddress.c:2361
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "familia de operadores %s para el método de acceso %s"
@@ -4011,22 +4015,22 @@ msgstr "la función %s es de tipo window"
 msgid "function \"%s\" is not a window function"
 msgstr "la función «%s» no es de tipo window"
 
-#: catalog/pg_proc.c:746
+#: catalog/pg_proc.c:738
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "no hay ninguna función interna llamada «%s»"
 
-#: catalog/pg_proc.c:844
+#: catalog/pg_proc.c:836
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "las funciones SQL no pueden retornar el tipo %s"
 
-#: catalog/pg_proc.c:859
+#: catalog/pg_proc.c:851
 #, c-format
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "las funciones SQL no pueden tener argumentos de tipo %s"
 
-#: catalog/pg_proc.c:945 executor/functions.c:1427
+#: catalog/pg_proc.c:937 executor/functions.c:1427
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "función SQL «%s»"
@@ -4089,39 +4093,39 @@ msgstr "no se puede eliminar objetos de propiedad de %s porque son requeridos po
 msgid "cannot reassign ownership of objects owned by %s because they are required by the database system"
 msgstr "no se puede reasignar la propiedad de objetos de %s porque son requeridos por el sistema"
 
-#: catalog/pg_type.c:244
+#: catalog/pg_type.c:235
 #, c-format
 msgid "invalid type internal size %d"
 msgstr "el tamaño interno de tipo %d no es válido"
 
-#: catalog/pg_type.c:260 catalog/pg_type.c:268 catalog/pg_type.c:276
-#: catalog/pg_type.c:285
+#: catalog/pg_type.c:251 catalog/pg_type.c:259 catalog/pg_type.c:267
+#: catalog/pg_type.c:276
 #, c-format
 msgid "alignment \"%c\" is invalid for passed-by-value type of size %d"
 msgstr "el alineamiento «%c» no es válido para un tipo pasado por valor de tamaño %d"
 
-#: catalog/pg_type.c:292
+#: catalog/pg_type.c:283
 #, c-format
 msgid "internal size %d is invalid for passed-by-value type"
 msgstr "el tamaño interno %d no es válido para un tipo pasado por valor"
 
-#: catalog/pg_type.c:301 catalog/pg_type.c:307
+#: catalog/pg_type.c:292 catalog/pg_type.c:298
 #, c-format
 msgid "alignment \"%c\" is invalid for variable-length type"
 msgstr "el alineamiento «%c» no es válido para un tipo de largo variable"
 
-#: catalog/pg_type.c:315
+#: catalog/pg_type.c:306
 #, c-format
 msgid "fixed-size types must have storage PLAIN"
 msgstr "los tipos de tamaño fijo deben tener almacenamiento PLAIN"
 
-#: catalog/pg_type.c:793
+#: catalog/pg_type.c:794
 #, c-format
 msgid "could not form array type name for type \"%s\""
 msgstr "no se pudo formar un nombre de tipo de array para el tipo «%s»"
 
-#: catalog/toasting.c:104 commands/indexcmds.c:380 commands/tablecmds.c:4140
-#: commands/tablecmds.c:11311
+#: catalog/toasting.c:104 commands/indexcmds.c:380 commands/tablecmds.c:4164
+#: commands/tablecmds.c:11332
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "«%s» no es una tabla o vista materializada"
@@ -4296,56 +4300,61 @@ msgstr "analizando la jerarquía de herencia «%s.%s»"
 msgid "analyzing \"%s.%s\""
 msgstr "analizando «%s.%s»"
 
-#: commands/analyze.c:660
+#: commands/analyze.c:399
+#, c-format
+msgid "column \"%s\" of relation \"%s\" appears more than once"
+msgstr "la columna «%s» de la relación «%s» aparece más de una vez"
+
+#: commands/analyze.c:671
 #, 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:1305
+#: commands/analyze.c:1334
 #, 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:1569 executor/execQual.c:2907
+#: commands/analyze.c:1598 executor/execQual.c:2907
 msgid "could not convert row type"
 msgstr "no se pudo convertir el tipo de registro"
 
-#: commands/async.c:555
+#: commands/async.c:558
 #, c-format
 msgid "channel name cannot be empty"
 msgstr "el nombre de canal no puede ser vacío"
 
-#: commands/async.c:560
+#: commands/async.c:563
 #, c-format
 msgid "channel name too long"
 msgstr "el nombre de canal es demasiado largo"
 
-#: commands/async.c:567
+#: commands/async.c:570
 #, c-format
 msgid "payload string too long"
 msgstr "la cadena de carga es demasiado larga"
 
-#: commands/async.c:752
+#: commands/async.c:755
 #, 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:855
+#: commands/async.c:858
 #, c-format
 msgid "too many notifications in the NOTIFY queue"
 msgstr "demasiadas notificaciones en la cola NOTIFY"
 
-#: commands/async.c:1458
+#: commands/async.c:1463
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "la cola NOTIFY está %.0f%% llena"
 
-#: commands/async.c:1460
+#: commands/async.c:1465
 #, 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:1463
+#: commands/async.c:1468
 #, 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."
@@ -4360,7 +4369,7 @@ msgstr "no se pueden reordenar tablas temporales de otras sesiones"
 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:170 commands/tablecmds.c:8890 commands/tablecmds.c:10619
+#: commands/cluster.c:170 commands/tablecmds.c:8920 commands/tablecmds.c:10640
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "no existe el índice «%s» en la tabla «%s»"
@@ -4375,7 +4384,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:430 commands/tablecmds.c:10629
+#: commands/cluster.c:430 commands/tablecmds.c:10650
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "«%s» no es un índice de la tabla «%s»"
@@ -4405,7 +4414,7 @@ msgstr "reordenando «%s.%s» usando un recorrido de índice en «%s»"
 msgid "clustering \"%s.%s\" using sequential scan and sort"
 msgstr "reordenando «%s.%s» usando un recorrido secuencial y ordenamiento"
 
-#: commands/cluster.c:931 commands/vacuumlazy.c:450
+#: commands/cluster.c:931 commands/vacuumlazy.c:452
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "haciendo vacuum a «%s.%s»"
@@ -4452,8 +4461,8 @@ msgstr "ya existe un ordenamiento llamado «%s» en el esquema «%s»"
 #: commands/comment.c:62 commands/dbcommands.c:775 commands/dbcommands.c:939
 #: commands/dbcommands.c:1042 commands/dbcommands.c:1234
 #: commands/dbcommands.c:1423 commands/dbcommands.c:1518
-#: commands/dbcommands.c:1935 utils/init/postinit.c:794
-#: utils/init/postinit.c:896 utils/init/postinit.c:913
+#: commands/dbcommands.c:1935 utils/init/postinit.c:796
+#: utils/init/postinit.c:898 utils/init/postinit.c:915
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "no existe la base de datos «%s»"
@@ -4463,12 +4472,12 @@ msgstr "no existe la base de datos «%s»"
 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"
 
-#: commands/constraint.c:60 utils/adt/ri_triggers.c:2702
+#: commands/constraint.c:60 utils/adt/ri_triggers.c:2647
 #, c-format
 msgid "function \"%s\" was not called by trigger manager"
 msgstr "la función «%s» no fue ejecutada por el manejador de triggers"
 
-#: commands/constraint.c:67 utils/adt/ri_triggers.c:2711
+#: commands/constraint.c:67 utils/adt/ri_triggers.c:2656
 #, c-format
 msgid "function \"%s\" must be fired AFTER ROW"
 msgstr "la función «%s» debe ser ejecutada AFTER ROW"
@@ -4741,7 +4750,7 @@ msgstr "no se puede copiar desde la secuencia «%s»"
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "no se puede copiar desde la relación «%s» porque no es una tabla"
 
-#: commands/copy.c:1604 commands/copy.c:2635
+#: commands/copy.c:1604 commands/copy.c:2660
 #, c-format
 msgid "could not execute command \"%s\": %m"
 msgstr "no se pudo ejecutar la orden «%s»: %m"
@@ -4751,219 +4760,219 @@ msgstr "no se pudo ejecutar la orden «%s»: %m"
 msgid "relative path not allowed for COPY to file"
 msgstr "no se permiten rutas relativas para COPY hacia un archivo"
 
-#: commands/copy.c:1627
+#: commands/copy.c:1636
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "no se pudo abrir el archivo «%s» para escritura: %m"
 
-#: commands/copy.c:1634 commands/copy.c:2653
+#: commands/copy.c:1643 commands/copy.c:2678
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "«%s» es un directorio"
 
-#: commands/copy.c:1959
+#: commands/copy.c:1972
 #, c-format
-msgid "COPY %s, line %d, column %s"
-msgstr "COPY %s, línea %d, columna %s"
+msgid "COPY %s, line %s, column %s"
+msgstr "COPY %s, línea %s, columna %s"
 
-#: commands/copy.c:1963 commands/copy.c:2010
+#: commands/copy.c:1976 commands/copy.c:2023
 #, c-format
-msgid "COPY %s, line %d"
-msgstr "COPY %s, línea %d"
+msgid "COPY %s, line %s"
+msgstr "COPY %s, línea %s"
 
-#: commands/copy.c:1974
+#: commands/copy.c:1987
 #, c-format
-msgid "COPY %s, line %d, column %s: \"%s\""
-msgstr "COPY %s, línea %d, columna %s: «%s»"
+msgid "COPY %s, line %s, column %s: \"%s\""
+msgstr "COPY %s, línea %s, columna %s: «%s»"
 
-#: commands/copy.c:1982
+#: commands/copy.c:1995
 #, c-format
-msgid "COPY %s, line %d, column %s: null input"
-msgstr "COPY %s, línea %d, columna %s: entrada nula"
+msgid "COPY %s, line %s, column %s: null input"
+msgstr "COPY %s, línea %s, columna %s: entrada nula"
 
-#: commands/copy.c:2004
+#: commands/copy.c:2017
 #, c-format
-msgid "COPY %s, line %d: \"%s\""
-msgstr "COPY %s, línea %d: «%s»"
+msgid "COPY %s, line %s: \"%s\""
+msgstr "COPY %s, línea %s: «%s»"
 
-#: commands/copy.c:2088
+#: commands/copy.c:2101
 #, c-format
 msgid "cannot copy to view \"%s\""
 msgstr "no se puede copiar hacia la vista «%s»"
 
-#: commands/copy.c:2093
+#: commands/copy.c:2106
 #, c-format
 msgid "cannot copy to materialized view \"%s\""
 msgstr "no se puede copiar hacia la vista materializada «%s»"
 
-#: commands/copy.c:2098
+#: commands/copy.c:2111
 #, c-format
 msgid "cannot copy to foreign table \"%s\""
 msgstr "no se puede copiar hacia la tabla foránea «%s»"
 
-#: commands/copy.c:2103
+#: commands/copy.c:2116
 #, c-format
 msgid "cannot copy to sequence \"%s\""
 msgstr "no se puede copiar hacia la secuencia «%s»"
 
-#: commands/copy.c:2108
+#: commands/copy.c:2121
 #, c-format
 msgid "cannot copy to non-table relation \"%s\""
 msgstr "no se puede copiar hacia la relación «%s» porque no es una tabla"
 
-#: commands/copy.c:2171
+#: commands/copy.c:2196
 #, c-format
 msgid "cannot perform FREEZE because of prior transaction activity"
 msgstr "no se puede ejecutar FREEZE debido a actividad anterior en la transacción"
 
-#: commands/copy.c:2177
+#: commands/copy.c:2202
 #, c-format
 msgid "cannot perform FREEZE because the table was not created or truncated in the current subtransaction"
 msgstr "no se puede ejecutar FREEZE porque la tabla no fue creada ni truncada en la subtransacción en curso"
 
-#: commands/copy.c:2646 utils/adt/genfile.c:123
+#: commands/copy.c:2671 utils/adt/genfile.c:123
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "no se pudo abrir archivo «%s» para lectura: %m"
 
-#: commands/copy.c:2673
+#: commands/copy.c:2698
 #, c-format
 msgid "COPY file signature not recognized"
 msgstr "el identificador del archivo COPY no es reconocido"
 
-#: commands/copy.c:2678
+#: commands/copy.c:2703
 #, c-format
 msgid "invalid COPY file header (missing flags)"
 msgstr "el encabezado del archivo COPY no es válido (faltan campos)"
 
-#: commands/copy.c:2684
+#: commands/copy.c:2709
 #, c-format
 msgid "unrecognized critical flags in COPY file header"
 msgstr "valores requeridos no reconocidos en encabezado de COPY"
 
-#: commands/copy.c:2690
+#: commands/copy.c:2715
 #, 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:2697
+#: commands/copy.c:2722
 #, c-format
 msgid "invalid COPY file header (wrong length)"
 msgstr "el encabezado del archivo COPY no es válido (largo incorrecto)"
 
-#: commands/copy.c:2830 commands/copy.c:3537 commands/copy.c:3767
+#: commands/copy.c:2855 commands/copy.c:3562 commands/copy.c:3792
 #, c-format
 msgid "extra data after last expected column"
 msgstr "datos extra después de la última columna esperada"
 
-#: commands/copy.c:2840
+#: commands/copy.c:2865
 #, c-format
 msgid "missing data for OID column"
 msgstr "faltan datos para la columna OID"
 
-#: commands/copy.c:2846
+#: commands/copy.c:2871
 #, c-format
 msgid "null OID in COPY data"
 msgstr "OID nulo en datos COPY"
 
-#: commands/copy.c:2856 commands/copy.c:2979
+#: commands/copy.c:2881 commands/copy.c:3004
 #, c-format
 msgid "invalid OID in COPY data"
 msgstr "OID no válido en datos COPY"
 
-#: commands/copy.c:2871
+#: commands/copy.c:2896
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "faltan datos en la columna «%s»"
 
-#: commands/copy.c:2954
+#: commands/copy.c:2979
 #, c-format
 msgid "received copy data after EOF marker"
 msgstr "se recibieron datos de copy después del marcador EOF"
 
-#: commands/copy.c:2961
+#: commands/copy.c:2986
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "la cantidad de registros es %d, pero se esperaban %d"
 
-#: commands/copy.c:3301 commands/copy.c:3318
+#: commands/copy.c:3326 commands/copy.c:3343
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "se encontró un retorno de carro literal en los datos"
 
-#: commands/copy.c:3302 commands/copy.c:3319
+#: commands/copy.c:3327 commands/copy.c:3344
 #, c-format
 msgid "unquoted carriage return found in data"
 msgstr "se encontró un retorno de carro fuera de comillas en los datos"
 
-#: commands/copy.c:3304 commands/copy.c:3321
+#: commands/copy.c:3329 commands/copy.c:3346
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Use «\\r» para representar el retorno de carro."
 
-#: commands/copy.c:3305 commands/copy.c:3322
+#: commands/copy.c:3330 commands/copy.c:3347
 #, c-format
 msgid "Use quoted CSV field to represent carriage return."
 msgstr "Use un campo CSV entre comillas para representar el retorno de carro."
 
-#: commands/copy.c:3334
+#: commands/copy.c:3359
 #, c-format
 msgid "literal newline found in data"
 msgstr "se encontró un salto de línea literal en los datos"
 
-#: commands/copy.c:3335
+#: commands/copy.c:3360
 #, c-format
 msgid "unquoted newline found in data"
 msgstr "se encontró un salto de línea fuera de comillas en los datos"
 
-#: commands/copy.c:3337
+#: commands/copy.c:3362
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "Use «\\n» para representar un salto de línea."
 
-#: commands/copy.c:3338
+#: commands/copy.c:3363
 #, c-format
 msgid "Use quoted CSV field to represent newline."
 msgstr "Use un campo CSV entre comillas para representar un salto de línea."
 
-#: commands/copy.c:3384 commands/copy.c:3420
+#: commands/copy.c:3409 commands/copy.c:3445
 #, c-format
 msgid "end-of-copy marker does not match previous newline style"
 msgstr "el marcador fin-de-copy no coincide con el estilo previo de salto de línea"
 
-#: commands/copy.c:3393 commands/copy.c:3409
+#: commands/copy.c:3418 commands/copy.c:3434
 #, c-format
 msgid "end-of-copy marker corrupt"
 msgstr "marcador fin-de-copy corrupto"
 
-#: commands/copy.c:3851
+#: commands/copy.c:3876
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "un valor entre comillas está inconcluso"
 
-#: commands/copy.c:3928 commands/copy.c:3947
+#: commands/copy.c:3953 commands/copy.c:3972
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "EOF inesperado en datos de COPY"
 
-#: commands/copy.c:3937
+#: commands/copy.c:3962
 #, c-format
 msgid "invalid field size"
 msgstr "el tamaño de campo no es válido"
 
-#: commands/copy.c:3960
+#: commands/copy.c:3985
 #, c-format
 msgid "incorrect binary data format"
 msgstr "el formato de datos binarios es incorrecto"
 
-#: commands/copy.c:4271 commands/indexcmds.c:994 commands/tablecmds.c:1428
-#: commands/tablecmds.c:2238 parser/parse_relation.c:2982
+#: commands/copy.c:4296 commands/indexcmds.c:1008 commands/tablecmds.c:1445
+#: commands/tablecmds.c:2255 parser/parse_relation.c:2993
 #: utils/adt/tsvector_op.c:1418
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "no existe la columna «%s»"
 
-#: commands/copy.c:4278 commands/tablecmds.c:1454 commands/trigger.c:650
+#: commands/copy.c:4303 commands/tablecmds.c:1471 commands/trigger.c:650
 #: parser/parse_target.c:947 parser/parse_target.c:958
 #, c-format
 msgid "column \"%s\" specified more than once"
@@ -5222,7 +5231,7 @@ msgid "invalid argument for %s: \"%s\""
 msgstr "argumento no válido para %s: «%s»"
 
 #: commands/dropcmds.c:112 commands/functioncmds.c:1110
-#: utils/adt/ruleutils.c:1943
+#: utils/adt/ruleutils.c:1962
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "«%s» es una función de agregación"
@@ -5232,8 +5241,8 @@ 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:165 commands/sequence.c:405 commands/tablecmds.c:2319
-#: commands/tablecmds.c:2500 commands/tablecmds.c:10799 tcop/utility.c:1006
+#: commands/dropcmds.c:165 commands/sequence.c:405 commands/tablecmds.c:2336
+#: commands/tablecmds.c:2524 commands/tablecmds.c:10820 tcop/utility.c:1009
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "no existe la relación «%s», ignorando"
@@ -5410,7 +5419,7 @@ msgstr "%s sólo puede invocarse en una función de un disparador en el evento s
 #: executor/execQual.c:1742 executor/execQual.c:1767 executor/execQual.c:2142
 #: executor/execQual.c:5345 executor/functions.c:1027 foreign/foreign.c:421
 #: replication/logical/logicalfuncs.c:322 replication/slotfuncs.c:173
-#: replication/walsender.c:2881 utils/adt/jsonfuncs.c:1386
+#: replication/walsender.c:2906 utils/adt/jsonfuncs.c:1386
 #: utils/adt/jsonfuncs.c:1518 utils/adt/jsonfuncs.c:1708
 #: utils/adt/jsonfuncs.c:1837 utils/adt/jsonfuncs.c:2605
 #: utils/fmgr/funcapi.c:61 utils/mmgr/portalmem.c:1066
@@ -5421,7 +5430,7 @@ msgstr "se llamó una función que retorna un conjunto en un contexto que no pue
 #: commands/event_trigger.c:1230 commands/extension.c:1653
 #: commands/extension.c:1762 commands/extension.c:1955 commands/prepare.c:706
 #: foreign/foreign.c:426 replication/logical/logicalfuncs.c:326
-#: replication/slotfuncs.c:177 replication/walsender.c:2885
+#: replication/slotfuncs.c:177 replication/walsender.c:2910
 #: utils/mmgr/portalmem.c:1070
 #, c-format
 msgid "materialize mode required, but it is not allowed in this context"
@@ -5685,7 +5694,7 @@ msgid "foreign-data wrapper \"%s\" does not exist"
 msgstr "no existe el conector de datos externos «%s»"
 
 #: commands/foreigncmds.c:432 commands/foreigncmds.c:996
-#: commands/foreigncmds.c:1337 foreign/foreign.c:621
+#: commands/foreigncmds.c:1341 foreign/foreign.c:621
 #, c-format
 msgid "server \"%s\" does not exist"
 msgstr "no existe el servidor «%s»"
@@ -5730,17 +5739,17 @@ msgstr "al cambiar el validador del conector de datos externos, las opciones par
 msgid "user mapping \"%s\" already exists for server %s"
 msgstr "ya existe un mapeo para el usuario «%s» en el servidor %s"
 
-#: commands/foreigncmds.c:1246 commands/foreigncmds.c:1353
+#: commands/foreigncmds.c:1250 commands/foreigncmds.c:1357
 #, c-format
 msgid "user mapping \"%s\" does not exist for the server"
 msgstr "no existe el mapeo para el usuario «%s» para el servidor"
 
-#: commands/foreigncmds.c:1340
+#: commands/foreigncmds.c:1344
 #, c-format
 msgid "server does not exist, skipping"
 msgstr "el servidor no existe, ignorando"
 
-#: commands/foreigncmds.c:1358
+#: commands/foreigncmds.c:1362
 #, c-format
 msgid "user mapping \"%s\" does not exist for the server, skipping"
 msgstr "el mapeo para el usuario «%s» no existe para el servidor, ignorando"
@@ -6042,7 +6051,7 @@ msgstr "no se puede crear un índice en la tabla foránea «%s»"
 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:446 commands/tablecmds.c:526 commands/tablecmds.c:9196
+#: commands/indexcmds.c:446 commands/tablecmds.c:526 commands/tablecmds.c:9226
 #, 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"
@@ -6072,129 +6081,129 @@ msgstr "el método de acceso «%s» no soporta restricciones por exclusión"
 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:923
+#: commands/indexcmds.c:937
 #, 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:989 parser/parse_utilcmd.c:1799
+#: commands/indexcmds.c:1003 parser/parse_utilcmd.c:1799
 #, c-format
 msgid "column \"%s\" named in key does not exist"
 msgstr "no existe la columna «%s» en la llave"
 
-#: commands/indexcmds.c:1049
+#: commands/indexcmds.c:1063
 #, 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:1072
+#: commands/indexcmds.c:1086
 #, 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:1080 commands/typecmds.c:782 parser/parse_expr.c:2278
+#: commands/indexcmds.c:1094 commands/typecmds.c:782 parser/parse_expr.c:2278
 #: parser/parse_type.c:546 parser/parse_utilcmd.c:2650 utils/adt/misc.c:520
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "los ordenamientos (collation) no están soportados por el tipo %s"
 
-#: commands/indexcmds.c:1118
+#: commands/indexcmds.c:1132
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "el operador %s no es conmutativo"
 
-#: commands/indexcmds.c:1120
+#: commands/indexcmds.c:1134
 #, 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:1146
+#: commands/indexcmds.c:1160
 #, 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:1149
+#: commands/indexcmds.c:1163
 #, 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:1184
+#: commands/indexcmds.c:1198
 #, 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:1189
+#: commands/indexcmds.c:1203
 #, 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:1245 commands/typecmds.c:1887
+#: commands/indexcmds.c:1259 commands/typecmds.c:1887
 #, c-format
 msgid "data type %s has no default operator class for access method \"%s\""
 msgstr "el tipo de dato %s no tiene una clase de operadores por omisión para el método de acceso «%s»"
 
-#: commands/indexcmds.c:1247
+#: commands/indexcmds.c:1261
 #, 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:1276 commands/indexcmds.c:1284
+#: commands/indexcmds.c:1290 commands/indexcmds.c:1298
 #: commands/opclasscmds.c:214
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "no existe la clase de operadores «%s» para el método de acceso «%s»"
 
-#: commands/indexcmds.c:1297 commands/typecmds.c:1875
+#: commands/indexcmds.c:1311 commands/typecmds.c:1875
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr "la clase de operadores «%s» no acepta el tipo de datos %s"
 
-#: commands/indexcmds.c:1387
+#: commands/indexcmds.c:1401
 #, 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:1763
+#: commands/indexcmds.c:1777
 #, c-format
 msgid "table \"%s\" has no indexes"
 msgstr "la tabla «%s» no tiene índices"
 
-#: commands/indexcmds.c:1793
+#: commands/indexcmds.c:1807
 #, 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:1882
+#: commands/indexcmds.c:1896
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "la tabla «%s.%s» fue reindexada"
 
-#: commands/matview.c:178
+#: commands/matview.c:176
 #, c-format
 msgid "CONCURRENTLY cannot be used when the materialized view is not populated"
 msgstr "no se puede usar CONCURRENTLY cuando la vista materializada no contiene datos"
 
-#: commands/matview.c:184
+#: commands/matview.c:182
 #, c-format
 msgid "CONCURRENTLY and WITH NO DATA options cannot be used together"
 msgstr "las opciones CONCURRENTLY y WITH NO DATA no pueden usarse juntas"
 
-#: commands/matview.c:598
+#: commands/matview.c:576
 #, c-format
 msgid "new data for \"%s\" contains duplicate rows without any null columns"
 msgstr "nuevos datos para «%s» contiene filas duplicadas sin columnas nulas"
 
-#: commands/matview.c:600
+#: commands/matview.c:578
 #, c-format
 msgid "Row: %s"
 msgstr "Fila: %s"
 
-#: commands/matview.c:688
+#: commands/matview.c:706
 #, c-format
 msgid "cannot refresh materialized view \"%s\" concurrently"
 msgstr "no se puede refrescar la vista materializada «%s» concurrentemente"
 
-#: commands/matview.c:690
+#: commands/matview.c:708
 #, c-format
 msgid "Create a unique index with no WHERE clause on one or more columns of the materialized view."
 msgstr "Cree un índice único sin cláusula WHERE en una o más columnas de la vista materializada."
@@ -6412,7 +6421,7 @@ msgid "invalid cursor name: must not be empty"
 msgstr "el nombre de cursor no es válido: no debe ser vacío"
 
 #: commands/portalcmds.c:168 commands/portalcmds.c:222
-#: executor/execCurrent.c:67 utils/adt/xml.c:2397 utils/adt/xml.c:2567
+#: executor/execCurrent.c:69 utils/adt/xml.c:2498 utils/adt/xml.c:2668
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "no existe el cursor «%s»"
@@ -6701,8 +6710,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:243 commands/tablecmds.c:8152
-#: commands/tablecmds.c:10725
+#: commands/tablecmds.c:243 commands/tablecmds.c:8176
+#: commands/tablecmds.c:10746
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "no existe la tabla foránea «%s»"
@@ -6743,57 +6752,57 @@ msgstr "DROP INDEX CONCURRENTLY no soporta eliminar múltiples objetos"
 msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
 msgstr "DROP INDEX CONCURRENTLY no soporta CASCADE"
 
-#: commands/tablecmds.c:939 commands/tablecmds.c:1277 commands/tablecmds.c:2134
-#: commands/tablecmds.c:4113 commands/tablecmds.c:5947
-#: commands/tablecmds.c:11344 commands/tablecmds.c:11379 commands/trigger.c:238
+#: commands/tablecmds.c:939 commands/tablecmds.c:1294 commands/tablecmds.c:2151
+#: commands/tablecmds.c:4137 commands/tablecmds.c:5971
+#: commands/tablecmds.c:11365 commands/tablecmds.c:11400 commands/trigger.c:238
 #: commands/trigger.c:1124 commands/trigger.c:1232 rewrite/rewriteDefine.c:271
 #: rewrite/rewriteDefine.c:900
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "permiso denegado: «%s» es un catálogo de sistema"
 
-#: commands/tablecmds.c:1053
+#: commands/tablecmds.c:1070
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "truncando además la tabla «%s»"
 
-#: commands/tablecmds.c:1287
+#: commands/tablecmds.c:1304
 #, c-format
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "no se pueden truncar tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:1492 parser/parse_utilcmd.c:1762
+#: commands/tablecmds.c:1509 parser/parse_utilcmd.c:1762
 #, c-format
 msgid "inherited relation \"%s\" is not a table"
 msgstr "la relación heredada «%s» no es una tabla"
 
-#: commands/tablecmds.c:1499 commands/tablecmds.c:9645
+#: commands/tablecmds.c:1516 commands/tablecmds.c:9666
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "no se puede heredar de la tabla temporal «%s»"
 
-#: commands/tablecmds.c:1507 commands/tablecmds.c:9653
+#: commands/tablecmds.c:1524 commands/tablecmds.c:9674
 #, 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:1523 commands/tablecmds.c:9687
+#: commands/tablecmds.c:1540 commands/tablecmds.c:9708
 #, 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:1571
+#: commands/tablecmds.c:1588
 #, c-format
 msgid "merging multiple inherited definitions of column \"%s\""
 msgstr "mezclando múltiples definiciones heredadas de la columna «%s»"
 
-#: commands/tablecmds.c:1579
+#: commands/tablecmds.c:1596
 #, c-format
 msgid "inherited column \"%s\" has a type conflict"
 msgstr "columna heredada «%s» tiene conflicto de tipos"
 
-#: commands/tablecmds.c:1581 commands/tablecmds.c:1602
-#: commands/tablecmds.c:1790 commands/tablecmds.c:1812
+#: commands/tablecmds.c:1598 commands/tablecmds.c:1619
+#: commands/tablecmds.c:1807 commands/tablecmds.c:1829
 #: parser/parse_coerce.c:1592 parser/parse_coerce.c:1612
 #: parser/parse_coerce.c:1632 parser/parse_coerce.c:1677
 #: parser/parse_coerce.c:1714 parser/parse_param.c:218
@@ -6801,719 +6810,719 @@ msgstr "columna heredada «%s» tiene conflicto de tipos"
 msgid "%s versus %s"
 msgstr "%s versus %s"
 
-#: commands/tablecmds.c:1588
+#: commands/tablecmds.c:1605
 #, c-format
 msgid "inherited column \"%s\" has a collation conflict"
 msgstr "columna heredada «%s» tiene conflicto de ordenamiento (collation)"
 
-#: commands/tablecmds.c:1590 commands/tablecmds.c:1800
-#: commands/tablecmds.c:4550
+#: commands/tablecmds.c:1607 commands/tablecmds.c:1817
+#: commands/tablecmds.c:4574
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "«%s» versus «%s»"
 
-#: commands/tablecmds.c:1600
+#: commands/tablecmds.c:1617
 #, 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:1713 parser/parse_utilcmd.c:853
+#: commands/tablecmds.c:1730 parser/parse_utilcmd.c:853
 #: parser/parse_utilcmd.c:1197 parser/parse_utilcmd.c:1273
 #, 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:1714 parser/parse_utilcmd.c:854
+#: commands/tablecmds.c:1731 parser/parse_utilcmd.c:854
 #, c-format
 msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"."
 msgstr "La restricción «%s» contiene una referencia a la fila completa (whole-row) de la tabla «%s»."
 
-#: commands/tablecmds.c:1780
+#: commands/tablecmds.c:1797
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "mezclando la columna «%s» con la definición heredada"
 
-#: commands/tablecmds.c:1788
+#: commands/tablecmds.c:1805
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "la columna «%s» tiene conflicto de tipos"
 
-#: commands/tablecmds.c:1798
+#: commands/tablecmds.c:1815
 #, c-format
 msgid "column \"%s\" has a collation conflict"
 msgstr "la columna «%s» tiene conflicto de ordenamientos (collation)"
 
-#: commands/tablecmds.c:1810
+#: commands/tablecmds.c:1827
 #, c-format
 msgid "column \"%s\" has a storage parameter conflict"
 msgstr "la columna «%s» tiene conflicto de parámetros de almacenamiento"
 
-#: commands/tablecmds.c:1862
+#: commands/tablecmds.c:1879
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "la columna «%s» hereda valores por omisión no coincidentes"
 
-#: commands/tablecmds.c:1864
+#: commands/tablecmds.c:1881
 #, 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:1911
+#: commands/tablecmds.c:1928
 #, 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:2105
+#: commands/tablecmds.c:2122
 #, 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:2122
+#: commands/tablecmds.c:2139
 #, 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:2214
+#: commands/tablecmds.c:2231
 #, 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:2246
+#: commands/tablecmds.c:2263
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "no se puede cambiar el nombre a la columna de sistema «%s»"
 
-#: commands/tablecmds.c:2261
+#: commands/tablecmds.c:2278
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "no se puede cambiar el nombre a la columna heredada «%s»"
 
-#: commands/tablecmds.c:2408
+#: commands/tablecmds.c:2425
 #, 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:2415
+#: commands/tablecmds.c:2432
 #, 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:2629
+#: commands/tablecmds.c:2653
 #, 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:2638
+#: commands/tablecmds.c:2662
 #, 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:3608
+#: commands/tablecmds.c:3632
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "no se puede reescribir la relación de sistema «%s»"
 
-#: commands/tablecmds.c:3614
+#: commands/tablecmds.c:3638
 #, 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:3624
+#: commands/tablecmds.c:3648
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "no se puede reescribir tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:3855
+#: commands/tablecmds.c:3879
 #, c-format
 msgid "rewriting table \"%s\""
 msgstr "reescribiendo tabla «%s»"
 
-#: commands/tablecmds.c:3859
+#: commands/tablecmds.c:3883
 #, c-format
 msgid "verifying table \"%s\""
 msgstr "verificando tabla «%s»"
 
-#: commands/tablecmds.c:3973
+#: commands/tablecmds.c:3997
 #, c-format
 msgid "column \"%s\" contains null values"
 msgstr "la columna «%s» contiene valores nulos"
 
-#: commands/tablecmds.c:3988 commands/tablecmds.c:7025
+#: commands/tablecmds.c:4012 commands/tablecmds.c:7049
 #, c-format
 msgid "check constraint \"%s\" is violated by some row"
 msgstr "la restricción «check» «%s» es violada por alguna fila"
 
-#: commands/tablecmds.c:4134 commands/trigger.c:232 rewrite/rewriteDefine.c:265
+#: commands/tablecmds.c:4158 commands/trigger.c:232 rewrite/rewriteDefine.c:265
 #: rewrite/rewriteDefine.c:895
 #, c-format
 msgid "\"%s\" is not a table or view"
 msgstr "«%s» no es una tabla o vista"
 
-#: commands/tablecmds.c:4137
+#: commands/tablecmds.c:4161
 #, 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:4143
+#: commands/tablecmds.c:4167
 #, 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:4146
+#: commands/tablecmds.c:4170
 #, c-format
 msgid "\"%s\" is not a table or foreign table"
 msgstr "«%s» no es una tabla o tabla foránea"
 
-#: commands/tablecmds.c:4149
+#: commands/tablecmds.c:4173
 #, 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:4152 commands/tablecmds.c:5156
+#: commands/tablecmds.c:4176 commands/tablecmds.c:5180
 #, 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:4162
+#: commands/tablecmds.c:4186
 #, c-format
 msgid "\"%s\" is of the wrong type"
 msgstr "«%s» es tipo equivocado"
 
-#: commands/tablecmds.c:4333 commands/tablecmds.c:4340
+#: commands/tablecmds.c:4357 commands/tablecmds.c:4364
 #, 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:4347
+#: commands/tablecmds.c:4371
 #, 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:4354
+#: commands/tablecmds.c:4378
 #, 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:4408
+#: commands/tablecmds.c:4432
 #, 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:4410
+#: commands/tablecmds.c:4434
 #, 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:4454
+#: commands/tablecmds.c:4478
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "el tipo %s no es un tipo compuesto"
 
-#: commands/tablecmds.c:4480
+#: commands/tablecmds.c:4504
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "no se puede agregar una columna a una tabla tipada"
 
-#: commands/tablecmds.c:4542 commands/tablecmds.c:9841
+#: commands/tablecmds.c:4566 commands/tablecmds.c:9862
 #, 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:4548 commands/tablecmds.c:9848
+#: commands/tablecmds.c:4572 commands/tablecmds.c:9869
 #, 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:4558
+#: commands/tablecmds.c:4582
 #, c-format
 msgid "child table \"%s\" has a conflicting \"%s\" column"
 msgstr "tabla hija «%s» tiene una columna «%s» que entra en conflicto"
 
-#: commands/tablecmds.c:4570
+#: commands/tablecmds.c:4594
 #, 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:4791
+#: commands/tablecmds.c:4815
 #, 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:4858
+#: commands/tablecmds.c:4882
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "ya existe la columna «%s» en la relación «%s»"
 
-#: commands/tablecmds.c:4962 commands/tablecmds.c:5057
-#: commands/tablecmds.c:5105 commands/tablecmds.c:5209
-#: commands/tablecmds.c:5256 commands/tablecmds.c:5340
-#: commands/tablecmds.c:7564 commands/tablecmds.c:8174
+#: commands/tablecmds.c:4986 commands/tablecmds.c:5081
+#: commands/tablecmds.c:5129 commands/tablecmds.c:5233
+#: commands/tablecmds.c:5280 commands/tablecmds.c:5364
+#: commands/tablecmds.c:7588 commands/tablecmds.c:8198
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "no se puede alterar columna de sistema «%s»"
 
-#: commands/tablecmds.c:4998
+#: commands/tablecmds.c:5022
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "la columna «%s» está en la llave primaria"
 
-#: commands/tablecmds.c:5183
+#: commands/tablecmds.c:5207
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "el valor de estadísticas %d es demasiado bajo"
 
-#: commands/tablecmds.c:5191
+#: commands/tablecmds.c:5215
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "bajando el valor de estadísticas a %d"
 
-#: commands/tablecmds.c:5321
+#: commands/tablecmds.c:5345
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "tipo de almacenamiento no válido «%s»"
 
-#: commands/tablecmds.c:5352
+#: commands/tablecmds.c:5376
 #, 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:5386
+#: commands/tablecmds.c:5410
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "no se pueden eliminar columnas de una tabla tipada"
 
-#: commands/tablecmds.c:5427
+#: commands/tablecmds.c:5451
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "no existe la columna «%s» en la relación «%s», ignorando"
 
-#: commands/tablecmds.c:5440
+#: commands/tablecmds.c:5464
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "no se puede eliminar la columna de sistema «%s»"
 
-#: commands/tablecmds.c:5447
+#: commands/tablecmds.c:5471
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "no se puede eliminar la columna heredada «%s»"
 
-#: commands/tablecmds.c:5677
+#: commands/tablecmds.c:5701
 #, 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:5871
+#: commands/tablecmds.c:5895
 #, 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:5941
+#: commands/tablecmds.c:5965
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "la relación referida «%s» no es una tabla"
 
-#: commands/tablecmds.c:5964
+#: commands/tablecmds.c:5988
 #, 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:5971
+#: commands/tablecmds.c:5995
 #, 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:5977
+#: commands/tablecmds.c:6001
 #, 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:5981
+#: commands/tablecmds.c:6005
 #, 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:6042
+#: commands/tablecmds.c:6066
 #, 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:6149
+#: commands/tablecmds.c:6173
 #, 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:6152
+#: commands/tablecmds.c:6176
 #, 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:6352 commands/tablecmds.c:6509
-#: commands/tablecmds.c:7403 commands/tablecmds.c:7459
+#: commands/tablecmds.c:6376 commands/tablecmds.c:6533
+#: commands/tablecmds.c:7427 commands/tablecmds.c:7483
 #, 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:6358
+#: commands/tablecmds.c:6382
 #, 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:6516
+#: commands/tablecmds.c:6540
 #, 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:6586
+#: commands/tablecmds.c:6610
 #, 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:6648
+#: commands/tablecmds.c:6672
 #, 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:6653
+#: commands/tablecmds.c:6677
 #, 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:6718
+#: commands/tablecmds.c:6742
 #, 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:6735
+#: commands/tablecmds.c:6759
 #, 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:6800
+#: commands/tablecmds.c:6824
 #, 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:6894
+#: commands/tablecmds.c:6918
 #, 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:6899
+#: commands/tablecmds.c:6923
 #, 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:7058
+#: commands/tablecmds.c:7082
 #, c-format
 msgid "validating foreign key constraint \"%s\""
 msgstr "validando restricción de llave foránea «%s»"
 
-#: commands/tablecmds.c:7357
+#: commands/tablecmds.c:7381
 #, 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:7409
+#: commands/tablecmds.c:7433
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "no existe la restricción «%s» en la relación «%s», ignorando"
 
-#: commands/tablecmds.c:7548
+#: commands/tablecmds.c:7572
 #, 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:7571
+#: commands/tablecmds.c:7595
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "no se puede alterar la columna heredada «%s»"
 
-#: commands/tablecmds.c:7618
+#: commands/tablecmds.c:7642
 #, c-format
 msgid "transform expression must not return a set"
 msgstr "la expresión de transformación no puede retornar conjuntos"
 
-#: commands/tablecmds.c:7640
+#: commands/tablecmds.c:7664
 #, 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:7643
+#: commands/tablecmds.c:7667
 #, c-format
 msgid "You might need to add an explicit cast."
 msgstr "Puede ser necesario agregar un cast explícito."
 
-#: commands/tablecmds.c:7647
+#: commands/tablecmds.c:7671
 #, 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:7650
+#: commands/tablecmds.c:7674
 #, c-format
 msgid "You might need to specify \"USING %s::%s\"."
 msgstr "Puede ser necesario especificar «USING %s::%s»."
 
-#: commands/tablecmds.c:7703
+#: commands/tablecmds.c:7727
 #, 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:7784
+#: commands/tablecmds.c:7808
 #, 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:7820
+#: commands/tablecmds.c:7844
 #, 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:7946
+#: commands/tablecmds.c:7970
 #, 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:7947 commands/tablecmds.c:7966
+#: commands/tablecmds.c:7971 commands/tablecmds.c:7990
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s depende de la columna «%s»"
 
-#: commands/tablecmds.c:7965
+#: commands/tablecmds.c:7989
 #, 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:8561
+#: commands/tablecmds.c:8595
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "no se puede cambiar el dueño del índice «%s»"
 
-#: commands/tablecmds.c:8563
+#: commands/tablecmds.c:8597
 #, 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:8579
+#: commands/tablecmds.c:8613
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "no se puede cambiar el dueño de la secuencia «%s»"
 
-#: commands/tablecmds.c:8581 commands/tablecmds.c:10818
+#: commands/tablecmds.c:8615 commands/tablecmds.c:10839
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "La secuencia «%s» está enlazada a la tabla «%s»."
 
-#: commands/tablecmds.c:8593 commands/tablecmds.c:11454
+#: commands/tablecmds.c:8627 commands/tablecmds.c:11475
 #, c-format
 msgid "Use ALTER TYPE instead."
 msgstr "Considere usar ALTER TYPE."
 
-#: commands/tablecmds.c:8602
+#: commands/tablecmds.c:8636
 #, 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:8937
+#: commands/tablecmds.c:8967
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "no se pueden tener múltiples subórdenes SET TABLESPACE"
 
-#: commands/tablecmds.c:9010
+#: commands/tablecmds.c:9040
 #, 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:9043 commands/view.c:491
+#: commands/tablecmds.c:9073 commands/view.c:486
 #, 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:9189
+#: commands/tablecmds.c:9219
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "no se puede mover la relación de sistema «%s»"
 
-#: commands/tablecmds.c:9205
+#: commands/tablecmds.c:9235
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "no se pueden mover tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:9342
+#: commands/tablecmds.c:9372
 #, 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:9354
+#: commands/tablecmds.c:9384
 #, 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:9445
+#: commands/tablecmds.c:9475
 #, c-format
 msgid "aborting because lock on relation \"%s\".\"%s\" is not available"
 msgstr "cancelando porque el candado en la relación «%s».«%s» no está disponible"
 
-#: commands/tablecmds.c:9461
+#: commands/tablecmds.c:9491
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "no se encontraron relaciones coincidentes en el tablespace «%s»"
 
-#: commands/tablecmds.c:9532 storage/buffer/bufmgr.c:501
+#: commands/tablecmds.c:9555 storage/buffer/bufmgr.c:501
 #, c-format
 msgid "invalid page in block %u of relation %s"
 msgstr "la página no es válida en el bloque %u de la relación %s"
 
-#: commands/tablecmds.c:9614
+#: commands/tablecmds.c:9635
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "no se puede cambiar la herencia de una tabla tipada"
 
-#: commands/tablecmds.c:9660
+#: commands/tablecmds.c:9681
 #, 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:9714
+#: commands/tablecmds.c:9735
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "la herencia circular no está permitida"
 
-#: commands/tablecmds.c:9715
+#: commands/tablecmds.c:9736
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "«%s» ya es un hijo de «%s»."
 
-#: commands/tablecmds.c:9723
+#: commands/tablecmds.c:9744
 #, c-format
 msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs"
 msgstr "tabla «%s» sin OIDs no puede heredar de tabla «%s» con OIDs"
 
-#: commands/tablecmds.c:9859
+#: commands/tablecmds.c:9880
 #, 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:9875 commands/tablecmds.c:9908
+#: commands/tablecmds.c:9896 commands/tablecmds.c:9929
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "tabla hija no tiene la columna «%s»"
 
-#: commands/tablecmds.c:9991
+#: commands/tablecmds.c:10012
 #, 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:9999
+#: commands/tablecmds.c:10020
 #, 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:10010
+#: commands/tablecmds.c:10031
 #, 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:10034
+#: commands/tablecmds.c:10055
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "tabla hija no tiene la restricción «%s»"
 
-#: commands/tablecmds.c:10114
+#: commands/tablecmds.c:10135
 #, 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:10340
+#: commands/tablecmds.c:10361
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "las tablas tipadas no pueden heredar"
 
-#: commands/tablecmds.c:10371
+#: commands/tablecmds.c:10392
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "la tabla no tiene la columna «%s»"
 
-#: commands/tablecmds.c:10381
+#: commands/tablecmds.c:10402
 #, 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:10390
+#: commands/tablecmds.c:10411
 #, 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:10403
+#: commands/tablecmds.c:10424
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "tabla tiene la columna extra «%s»"
 
-#: commands/tablecmds.c:10453
+#: commands/tablecmds.c:10474
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "«%s» no es una tabla tipada"
 
-#: commands/tablecmds.c:10636
+#: commands/tablecmds.c:10657
 #, 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:10642
+#: commands/tablecmds.c:10663
 #, 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:10648
+#: commands/tablecmds.c:10669
 #, 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:10654
+#: commands/tablecmds.c:10675
 #, 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:10660
+#: commands/tablecmds.c:10681
 #, 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:10681
+#: commands/tablecmds.c:10702
 #, 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:10688
+#: commands/tablecmds.c:10709
 #, 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:10817
+#: commands/tablecmds.c:10838
 #, 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:10913
+#: commands/tablecmds.c:10934
 #, 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:11438
+#: commands/tablecmds.c:11459
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "«%s» no es un tipo compuesto"
 
-#: commands/tablecmds.c:11468
+#: commands/tablecmds.c:11489
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, sequence, or foreign table"
 msgstr "«%s» no es una tabla, vista, vista materializada, secuencia o tabla foránea"
 
 #: commands/tablespace.c:160 commands/tablespace.c:177
 #: commands/tablespace.c:188 commands/tablespace.c:196
-#: commands/tablespace.c:624 replication/slot.c:939 storage/file/copydir.c:47
+#: commands/tablespace.c:624 replication/slot.c:944 storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "no se pudo crear el directorio «%s»: %m"
@@ -7569,7 +7578,7 @@ msgid "tablespace \"%s\" already exists"
 msgstr "el tablespace «%s» ya existe"
 
 #: commands/tablespace.c:388 commands/tablespace.c:552
-#: replication/basebackup.c:224 replication/basebackup.c:1084
+#: replication/basebackup.c:224 replication/basebackup.c:1087
 #: utils/adt/misc.c:365
 #, c-format
 msgid "tablespaces are not supported on this platform"
@@ -7629,9 +7638,9 @@ msgid "could not create symbolic link \"%s\": %m"
 msgstr "no se pudo crear el enlace simbólico «%s»: %m"
 
 #: commands/tablespace.c:726 commands/tablespace.c:736
-#: postmaster/postmaster.c:1403 replication/basebackup.c:351
-#: replication/basebackup.c:684 storage/file/copydir.c:53
-#: storage/file/copydir.c:96 storage/file/fd.c:2168 storage/file/fd.c:2767
+#: postmaster/postmaster.c:1406 replication/basebackup.c:351
+#: replication/basebackup.c:687 storage/file/copydir.c:53
+#: storage/file/copydir.c:96 storage/file/fd.c:2192 storage/file/fd.c:2802
 #: storage/ipc/dsm.c:300 utils/adt/genfile.c:354 utils/adt/misc.c:267
 #: utils/misc/tzparser.c:339
 #, c-format
@@ -7813,18 +7822,18 @@ msgstr "el registro a ser actualizado ya fue modificado por una operación dispa
 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:2747 executor/execMain.c:2173 executor/nodeLockRows.c:165
+#: commands/trigger.c:2747 executor/execMain.c:2174 executor/nodeLockRows.c:165
 #: executor/nodeModifyTable.c:464 executor/nodeModifyTable.c:748
 #, 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:4544
+#: commands/trigger.c:4581
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "la restricción «%s» no es postergable"
 
-#: commands/trigger.c:4567
+#: commands/trigger.c:4604
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "no existe la restricción «%s»"
@@ -8019,32 +8028,32 @@ msgstr "las restricciones NULL/NOT NULL no coinciden"
 msgid "check constraints for domains cannot be marked NO INHERIT"
 msgstr "las restricciones «check» en dominios no pueden ser marcadas NO INHERIT"
 
-#: commands/typecmds.c:944 commands/typecmds.c:2453
+#: commands/typecmds.c:944 commands/typecmds.c:2454
 #, c-format
 msgid "unique constraints not possible for domains"
 msgstr "no se pueden poner restricciones de unicidad a un dominio"
 
-#: commands/typecmds.c:950 commands/typecmds.c:2459
+#: commands/typecmds.c:950 commands/typecmds.c:2460
 #, c-format
 msgid "primary key constraints not possible for domains"
 msgstr "no se pueden poner restricciones de llave primaria a un dominio"
 
-#: commands/typecmds.c:956 commands/typecmds.c:2465
+#: commands/typecmds.c:956 commands/typecmds.c:2466
 #, c-format
 msgid "exclusion constraints not possible for domains"
 msgstr "las restricciones por exclusión no son posibles para los dominios"
 
-#: commands/typecmds.c:962 commands/typecmds.c:2471
+#: commands/typecmds.c:962 commands/typecmds.c:2472
 #, c-format
 msgid "foreign key constraints not possible for domains"
 msgstr "no se pueden poner restricciones de llave foránea a un dominio"
 
-#: commands/typecmds.c:971 commands/typecmds.c:2480
+#: commands/typecmds.c:971 commands/typecmds.c:2481
 #, c-format
 msgid "specifying constraint deferrability not supported for domains"
 msgstr "no se puede especificar la postergabilidad de las restricciones a un dominio"
 
-#: commands/typecmds.c:1243 utils/cache/typcache.c:1071
+#: commands/typecmds.c:1243 utils/cache/typcache.c:1121
 #, c-format
 msgid "%s is not an enum"
 msgstr "%s no es un enum"
@@ -8114,67 +8123,67 @@ msgstr "la función «diff» de subtipo, %s, debe retornar tipo doble precisión
 msgid "range subtype diff function %s must be immutable"
 msgstr "la función «diff» de subtipo, %s, debe ser inmutable"
 
-#: commands/typecmds.c:2287
+#: commands/typecmds.c:2288
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains null values"
 msgstr "la columna «%s» de la tabla «%s» contiene valores null"
 
-#: commands/typecmds.c:2396 commands/typecmds.c:2574
+#: commands/typecmds.c:2397 commands/typecmds.c:2575
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist"
 msgstr "no existe la restricción «%s» en el dominio «%s»"
 
-#: commands/typecmds.c:2400
+#: commands/typecmds.c:2401
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping"
 msgstr "no existe la restricción «%s» en el dominio «%s», ignorando"
 
-#: commands/typecmds.c:2580
+#: commands/typecmds.c:2581
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" is not a check constraint"
 msgstr "la restricción «%s» en el dominio «%s» no es una restricción «check»"
 
-#: commands/typecmds.c:2684
+#: commands/typecmds.c:2685
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains values that violate the new constraint"
 msgstr "la columna «%s» de la relación «%s» contiene valores que violan la nueva restricción"
 
-#: commands/typecmds.c:2912 commands/typecmds.c:3282 commands/typecmds.c:3466
+#: commands/typecmds.c:2913 commands/typecmds.c:3283 commands/typecmds.c:3467
 #, c-format
 msgid "%s is not a domain"
 msgstr "%s no es un dominio"
 
-#: commands/typecmds.c:2945
+#: commands/typecmds.c:2946
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" already exists"
 msgstr "el dominio «%2$s» ya contiene una restricción llamada «%1$s»"
 
-#: commands/typecmds.c:2995
+#: commands/typecmds.c:2996
 #, c-format
 msgid "cannot use table references in domain check constraint"
 msgstr "no se pueden usar referencias a tablas en restricción «check» para un dominio"
 
-#: commands/typecmds.c:3214 commands/typecmds.c:3294 commands/typecmds.c:3574
+#: commands/typecmds.c:3215 commands/typecmds.c:3295 commands/typecmds.c:3575
 #, c-format
 msgid "%s is a table's row type"
 msgstr "%s es el tipo de registro de una tabla"
 
-#: commands/typecmds.c:3216 commands/typecmds.c:3296 commands/typecmds.c:3576
+#: commands/typecmds.c:3217 commands/typecmds.c:3297 commands/typecmds.c:3577
 #, c-format
 msgid "Use ALTER TABLE instead."
 msgstr "Considere usar ALTER TABLE."
 
-#: commands/typecmds.c:3223 commands/typecmds.c:3303 commands/typecmds.c:3493
+#: commands/typecmds.c:3224 commands/typecmds.c:3304 commands/typecmds.c:3494
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "no se puede alterar el tipo de array «%s»"
 
-#: commands/typecmds.c:3225 commands/typecmds.c:3305 commands/typecmds.c:3495
+#: commands/typecmds.c:3226 commands/typecmds.c:3306 commands/typecmds.c:3496
 #, c-format
 msgid "You can alter type %s, which will alter the array type as well."
 msgstr "Puede alterar el tipo %s, lo cual alterará el tipo de array también."
 
-#: commands/typecmds.c:3560
+#: commands/typecmds.c:3561
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un tipo llamado «%s» en el esquema «%s»"
@@ -8211,7 +8220,7 @@ msgstr "el rol «%s» ya existe"
 
 #: commands/user.c:618 commands/user.c:827 commands/user.c:933
 #: commands/user.c:1088 commands/variable.c:797 commands/variable.c:869
-#: utils/adt/acl.c:5121 utils/init/miscinit.c:362
+#: utils/adt/acl.c:5201 utils/init/miscinit.c:362
 #, c-format
 msgid "role \"%s\" does not exist"
 msgstr "no existe el rol «%s»"
@@ -8352,37 +8361,37 @@ msgstr "multixact más antiguo es demasiado antiguo"
 msgid "Close open transactions with multixacts soon to avoid wraparound problems."
 msgstr "Cierre transacciones con multixact pronto para prevenir problemas por reciclaje del contador."
 
-#: commands/vacuum.c:1090
+#: commands/vacuum.c:1072
 #, c-format
 msgid "some databases have not been vacuumed in over 2 billion transactions"
 msgstr "algunas bases de datos no han tenido VACUUM en más de 2 mil millones de transacciones"
 
-#: commands/vacuum.c:1091
+#: commands/vacuum.c:1073
 #, c-format
 msgid "You might have already suffered transaction-wraparound data loss."
 msgstr "Puede haber sufrido ya problemas de pérdida de datos por reciclaje del contador de transacciones."
 
-#: commands/vacuum.c:1208
+#: commands/vacuum.c:1190
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "omitiendo el vacuum de «%s»: el candado no está disponible"
 
-#: commands/vacuum.c:1234
+#: commands/vacuum.c:1216
 #, c-format
 msgid "skipping \"%s\" --- only superuser can vacuum it"
 msgstr "omitiendo «%s»: sólo un superusuario puede aplicarle VACUUM"
 
-#: commands/vacuum.c:1238
+#: commands/vacuum.c:1220
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can vacuum it"
 msgstr "omitiendo «%s»: sólo un superusuario o el dueño de la base de datos puede aplicarle VACUUM"
 
-#: commands/vacuum.c:1242
+#: commands/vacuum.c:1224
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can vacuum it"
 msgstr "omitiendo «%s»: sólo su dueño o el de la base de datos puede aplicarle VACUUM"
 
-#: commands/vacuum.c:1260
+#: commands/vacuum.c:1242
 #, c-format
 msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables"
 msgstr "omitiendo «%s»: no se puede aplicar VACUUM a objetos que no son tablas o a tablas especiales de sistema"
@@ -8404,22 +8413,22 @@ msgstr ""
 "tasas promedio: de lectura: %.3f MB/s, de escritura %.3f MB/s\n"
 "uso del sistema: %s"
 
-#: commands/vacuumlazy.c:687
+#: commands/vacuumlazy.c:689
 #, c-format
 msgid "relation \"%s\" page %u is uninitialized --- fixing"
 msgstr "la página %2$u de la relación «%1$s» no está inicializada --- arreglando"
 
-#: commands/vacuumlazy.c:1099
+#: commands/vacuumlazy.c:1110
 #, c-format
 msgid "\"%s\": removed %.0f row versions in %u pages"
 msgstr "«%s»: se eliminaron %.0f versiones de filas en %u páginas"
 
-#: commands/vacuumlazy.c:1104
+#: commands/vacuumlazy.c:1115
 #, c-format
 msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u out of %u pages"
 msgstr "«%s»: se encontraron %.0f versiones de filas eliminables y %.0f no eliminables en %u de %u páginas"
 
-#: commands/vacuumlazy.c:1108
+#: commands/vacuumlazy.c:1119
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -8432,28 +8441,28 @@ msgstr ""
 "%u páginas están completamente vacías.\n"
 "%s."
 
-#: commands/vacuumlazy.c:1179
+#: commands/vacuumlazy.c:1190
 #, c-format
 msgid "\"%s\": removed %d row versions in %d pages"
 msgstr "«%s»: se eliminaron %d versiones de filas en %d páginas"
 
-#: commands/vacuumlazy.c:1182 commands/vacuumlazy.c:1349
-#: commands/vacuumlazy.c:1521
+#: commands/vacuumlazy.c:1193 commands/vacuumlazy.c:1360
+#: commands/vacuumlazy.c:1532
 #, c-format
 msgid "%s."
 msgstr "%s."
 
-#: commands/vacuumlazy.c:1346
+#: commands/vacuumlazy.c:1357
 #, c-format
 msgid "scanned index \"%s\" to remove %d row versions"
 msgstr "se recorrió el índice «%s» para eliminar %d versiones de filas"
 
-#: commands/vacuumlazy.c:1392
+#: commands/vacuumlazy.c:1403
 #, c-format
 msgid "index \"%s\" now contains %.0f row versions in %u pages"
 msgstr "el índice «%s» ahora contiene %.0f versiones de filas en %u páginas"
 
-#: commands/vacuumlazy.c:1396
+#: commands/vacuumlazy.c:1407
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -8464,22 +8473,22 @@ msgstr ""
 "%u páginas de índice han sido eliminadas, %u son reusables.\n"
 "%s."
 
-#: commands/vacuumlazy.c:1453
+#: commands/vacuumlazy.c:1464
 #, c-format
 msgid "\"%s\": stopping truncate due to conflicting lock request"
 msgstr "«%s»: suspendiendo el truncado debido a una petición de candado en conflicto"
 
-#: commands/vacuumlazy.c:1518
+#: commands/vacuumlazy.c:1529
 #, c-format
 msgid "\"%s\": truncated %u to %u pages"
 msgstr "«%s»: truncadas %u a %u páginas"
 
-#: commands/vacuumlazy.c:1574
+#: commands/vacuumlazy.c:1585
 #, c-format
 msgid "\"%s\": suspending truncate due to conflicting lock request"
 msgstr "«%s»: suspendiendo el truncado debido a una petición de candado en conflicto"
 
-#: commands/variable.c:162 utils/misc/guc.c:9064
+#: commands/variable.c:162 utils/misc/guc.c:9101
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Palabra clave no reconocida: «%s»."
@@ -8589,225 +8598,221 @@ msgstr "Los valores aceptables son «local» y «cascaded»."
 msgid "could not determine which collation to use for view column \"%s\""
 msgstr "no se pudo determinar el ordenamiento (collation) a usar para la columna «%s» de vista"
 
-#: commands/view.c:115
-#, c-format
-msgid "view must have at least one column"
-msgstr "una vista debe tener al menos una columna"
-
-#: commands/view.c:277 commands/view.c:289
+#: commands/view.c:272 commands/view.c:284
 #, c-format
 msgid "cannot drop columns from view"
 msgstr "no se pueden eliminar columnas de una vista"
 
-#: commands/view.c:294
+#: commands/view.c:289
 #, c-format
 msgid "cannot change name of view column \"%s\" to \"%s\""
 msgstr "no se puede cambiar el nombre de la columna «%s» de la vista a «%s»"
 
-#: commands/view.c:302
+#: commands/view.c:297
 #, c-format
 msgid "cannot change data type of view column \"%s\" from %s to %s"
 msgstr "no se puede cambiar el tipo de dato de la columna «%s» de la vista de %s a %s"
 
-#: commands/view.c:437
+#: commands/view.c:432
 #, c-format
 msgid "views must not contain SELECT INTO"
 msgstr "una vista no puede tener SELECT INTO"
 
-#: commands/view.c:450
+#: commands/view.c:445
 #, c-format
 msgid "views must not contain data-modifying statements in WITH"
 msgstr "las vistas no deben contener sentencias que modifiquen datos en WITH"
 
-#: commands/view.c:521
+#: commands/view.c:516
 #, c-format
 msgid "CREATE VIEW specifies more column names than columns"
 msgstr "CREATE VIEW especifica más nombres de columna que columnas"
 
-#: commands/view.c:529
+#: commands/view.c:524
 #, c-format
 msgid "views cannot be unlogged because they do not have storage"
 msgstr "las vistas no pueden ser unlogged porque no tienen almacenamiento"
 
-#: commands/view.c:543
+#: commands/view.c:538
 #, c-format
 msgid "view \"%s\" will be a temporary view"
 msgstr "la vista «%s» será una vista temporal"
 
-#: executor/execCurrent.c:76
+#: executor/execCurrent.c:78
 #, c-format
 msgid "cursor \"%s\" is not a SELECT query"
 msgstr "el cursor «%s» no es una orden SELECT"
 
-#: executor/execCurrent.c:82
+#: executor/execCurrent.c:84
 #, c-format
 msgid "cursor \"%s\" is held from a previous transaction"
 msgstr "el cursor «%s» está abierto desde una transacción anterior"
 
-#: executor/execCurrent.c:114
+#: executor/execCurrent.c:116
 #, c-format
 msgid "cursor \"%s\" has multiple FOR UPDATE/SHARE references to table \"%s\""
 msgstr "el cursor «%s» tiene múltiples referencias FOR UPDATE/SHARE a la tabla «%s»"
 
-#: executor/execCurrent.c:123
+#: executor/execCurrent.c:125
 #, c-format
 msgid "cursor \"%s\" does not have a FOR UPDATE/SHARE reference to table \"%s\""
 msgstr "el cursor «%s» no tiene una referencia FOR UPDATE/SHARE a la tabla «%s»"
 
-#: executor/execCurrent.c:133 executor/execCurrent.c:179
+#: executor/execCurrent.c:135 executor/execCurrent.c:180
 #, c-format
 msgid "cursor \"%s\" is not positioned on a row"
 msgstr "el cursor «%s» no está posicionado en una fila"
 
-#: executor/execCurrent.c:166
+#: executor/execCurrent.c:167 executor/execCurrent.c:226
+#: executor/execCurrent.c:238
 #, c-format
 msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\""
 msgstr "el cursor «%s» no es un recorrido simplemente actualizable de la tabla «%s»"
 
-#: executor/execCurrent.c:231 executor/execQual.c:1163
+#: executor/execCurrent.c:277 executor/execQual.c:1163
 #, c-format
 msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)"
 msgstr "el tipo del parámetro %d (%s) no coincide aquel con que fue preparado el plan (%s)"
 
-#: executor/execCurrent.c:243 executor/execQual.c:1175
+#: executor/execCurrent.c:289 executor/execQual.c:1175
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "no se encontró un valor para parámetro %d"
 
-#: executor/execMain.c:970
+#: executor/execMain.c:971
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "no se puede cambiar la secuencia «%s»"
 
-#: executor/execMain.c:976
+#: executor/execMain.c:977
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "no se puede cambiar la relación TOAST «%s»"
 
-#: executor/execMain.c:994 rewrite/rewriteHandler.c:2553
+#: executor/execMain.c:995 rewrite/rewriteHandler.c:2667
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "no se puede insertar en la vista «%s»"
 
-#: executor/execMain.c:996 rewrite/rewriteHandler.c:2556
+#: executor/execMain.c:997 rewrite/rewriteHandler.c:2670
 #, c-format
 msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule."
 msgstr "Para activar las inserciones en la vista, provea un disparador INSTEAD OF INSERT un una regla incodicional ON INSERT DO INSTEAD."
 
-#: executor/execMain.c:1002 rewrite/rewriteHandler.c:2561
+#: executor/execMain.c:1003 rewrite/rewriteHandler.c:2675
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "no se puede actualizar la vista «%s»"
 
-#: executor/execMain.c:1004 rewrite/rewriteHandler.c:2564
+#: executor/execMain.c:1005 rewrite/rewriteHandler.c:2678
 #, c-format
 msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule."
 msgstr "Para activar las actualizaciones en la vista, provea un disparador INSTEAD OF UPDATE o una regla incondicional ON UPDATE DO INSTEAD."
 
-#: executor/execMain.c:1010 rewrite/rewriteHandler.c:2569
+#: executor/execMain.c:1011 rewrite/rewriteHandler.c:2683
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "no se puede eliminar de la vista «%s»"
 
-#: executor/execMain.c:1012 rewrite/rewriteHandler.c:2572
+#: executor/execMain.c:1013 rewrite/rewriteHandler.c:2686
 #, c-format
 msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule."
 msgstr "Para activar las eliminaciones en la vista, provea un disparador INSTEAD OF DELETE o una regla incondicional ON DELETE DO INSTEAD."
 
-#: executor/execMain.c:1023
+#: executor/execMain.c:1024
 #, c-format
 msgid "cannot change materialized view \"%s\""
 msgstr "no se puede cambiar la vista materializada «%s»"
 
-#: executor/execMain.c:1035
+#: executor/execMain.c:1036
 #, c-format
 msgid "cannot insert into foreign table \"%s\""
 msgstr "no se puede insertar en la tabla foránea «%s»"
 
-#: executor/execMain.c:1041
+#: executor/execMain.c:1042
 #, c-format
 msgid "foreign table \"%s\" does not allow inserts"
 msgstr "la tabla foránea «%s» no permite inserciones"
 
-#: executor/execMain.c:1048
+#: executor/execMain.c:1049
 #, c-format
 msgid "cannot update foreign table \"%s\""
 msgstr "no se puede actualizar la tabla foránea «%s»"
 
-#: executor/execMain.c:1054
+#: executor/execMain.c:1055
 #, c-format
 msgid "foreign table \"%s\" does not allow updates"
 msgstr "la tabla foránea «%s» no permite actualizaciones"
 
-#: executor/execMain.c:1061
+#: executor/execMain.c:1062
 #, c-format
 msgid "cannot delete from foreign table \"%s\""
 msgstr "no se puede eliminar desde la tabla foránea «%s»"
 
-#: executor/execMain.c:1067
+#: executor/execMain.c:1068
 #, c-format
 msgid "foreign table \"%s\" does not allow deletes"
 msgstr "la tabla foránea «%s» no permite eliminaciones"
 
-#: executor/execMain.c:1078
+#: executor/execMain.c:1079
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "no se puede cambiar la relación «%s»"
 
-#: executor/execMain.c:1102
+#: executor/execMain.c:1103
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "no se puede bloquear registros de la secuencia «%s»"
 
-#: executor/execMain.c:1109
+#: executor/execMain.c:1110
 #, 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:1116
+#: executor/execMain.c:1117
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "no se puede bloquear registros en la vista «%s»"
 
-#: executor/execMain.c:1124
+#: executor/execMain.c:1125
 #, c-format
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "no se puede bloquear registros en la vista materializada «%s»"
 
-#: executor/execMain.c:1131
+#: executor/execMain.c:1132
 #, 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:1137
+#: executor/execMain.c:1138
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "no se puede bloquear registros en la tabla «%s»"
 
-#: executor/execMain.c:1633
+#: executor/execMain.c:1634
 #, c-format
 msgid "null value in column \"%s\" violates not-null constraint"
 msgstr "el valor null para la columna «%s» viola la restricción not null"
 
-#: executor/execMain.c:1635 executor/execMain.c:1660 executor/execMain.c:1718
+#: executor/execMain.c:1636 executor/execMain.c:1661 executor/execMain.c:1719
 #, c-format
 msgid "Failing row contains %s."
 msgstr "La fila que falla contiene %s."
 
-#: executor/execMain.c:1658
+#: executor/execMain.c:1659
 #, 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:1716
+#: executor/execMain.c:1717
 #, c-format
 msgid "new row violates WITH CHECK OPTION for view \"%s\""
 msgstr "nueva fila viola WITH CHECK OPTION de la vista «%s»"
 
 #: executor/execQual.c:306 executor/execQual.c:334 executor/execQual.c:3172
 #: utils/adt/array_userfuncs.c:430 utils/adt/arrayfuncs.c:233
-#: utils/adt/arrayfuncs.c:531 utils/adt/arrayfuncs.c:1275
-#: utils/adt/arrayfuncs.c:2961 utils/adt/arrayfuncs.c:4980
+#: utils/adt/arrayfuncs.c:531 utils/adt/arrayfuncs.c:1287
+#: utils/adt/arrayfuncs.c:2973 utils/adt/arrayfuncs.c:4992
 #, 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)"
@@ -8971,7 +8976,7 @@ msgstr "el tipo de destino no es un array"
 msgid "ROW() column has type %s instead of type %s"
 msgstr "la columna de ROW() es de tipo %s en lugar de ser de tipo %s"
 
-#: executor/execQual.c:5016 utils/adt/arrayfuncs.c:3424
+#: executor/execQual.c:5016 utils/adt/arrayfuncs.c:3436
 #: utils/adt/rowtypes.c:927
 #, c-format
 msgid "could not identify a comparison function for type %s"
@@ -9034,7 +9039,7 @@ msgid "%s is not allowed in a SQL function"
 msgstr "%s no está permitido en una función SQL"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:522 executor/spi.c:1343 executor/spi.c:2130
+#: executor/functions.c:522 executor/spi.c:1373 executor/spi.c:2160
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s no está permitido en una función no-«volatile»"
@@ -9151,8 +9156,8 @@ 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/nodeSubplan.c:304 executor/nodeSubplan.c:343
-#: executor/nodeSubplan.c:970
+#: executor/nodeSubplan.c:315 executor/nodeSubplan.c:354
+#: executor/nodeSubplan.c:1000
 #, 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"
@@ -9182,43 +9187,43 @@ msgstr "la posición final del marco no debe ser null"
 msgid "frame ending offset must not be negative"
 msgstr "la posición final del marco no debe ser negativa"
 
-#: executor/spi.c:213
+#: executor/spi.c:234
 #, c-format
 msgid "transaction left non-empty SPI stack"
 msgstr "transacción dejó un stack SPI no vacío"
 
-#: executor/spi.c:214 executor/spi.c:278
+#: executor/spi.c:235 executor/spi.c:303
 #, c-format
 msgid "Check for missing \"SPI_finish\" calls."
 msgstr "Revise llamadas a «SPI_finish» faltantes."
 
-#: executor/spi.c:277
+#: executor/spi.c:302
 #, c-format
 msgid "subtransaction left non-empty SPI stack"
 msgstr "subtransacción dejó un stack SPI no vacío"
 
-#: executor/spi.c:1207
+#: executor/spi.c:1237
 #, c-format
 msgid "cannot open multi-query plan as cursor"
 msgstr "no se puede abrir plan de varias consultas como cursor"
 
 #. translator: %s is name of a SQL command, eg INSERT
-#: executor/spi.c:1212
+#: executor/spi.c:1242
 #, c-format
 msgid "cannot open %s query as cursor"
 msgstr "no se puede abrir consulta %s como cursor"
 
-#: executor/spi.c:1320
+#: executor/spi.c:1350
 #, c-format
 msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
 msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE no está soportado"
 
-#: executor/spi.c:1321 parser/analyze.c:2128
+#: executor/spi.c:1351 parser/analyze.c:2134
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Los cursores declarados SCROLL deben ser READ ONLY."
 
-#: executor/spi.c:2428
+#: executor/spi.c:2461
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "sentencia SQL: «%s»"
@@ -9243,12076 +9248,12084 @@ 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"
 
-#: lib/stringinfo.c:259
+#: gram.y:956
 #, c-format
-msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes."
-msgstr "No se puede agrandar el búfer de cadena que ya tiene %d bytes en %d bytes adicionales."
+msgid "unrecognized role option \"%s\""
+msgstr "opción de rol no reconocida «%s»"
 
-#: libpq/auth.c:238
+#: gram.y:1246 gram.y:1261
 #, c-format
-msgid "authentication failed for user \"%s\": host rejected"
-msgstr "la autentificación falló para el usuario «%s»: anfitrión rechazado"
+msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements"
+msgstr "CREATE SCHEMA IF NOT EXISTS no puede incluir elementos de esquema"
 
-#: libpq/auth.c:241
+#: gram.y:1407
 #, c-format
-msgid "\"trust\" authentication failed for user \"%s\""
-msgstr "la autentificación «trust» falló para el usuario «%s»"
+msgid "current database cannot be changed"
+msgstr "no se puede cambiar la base de datos activa"
 
-#: libpq/auth.c:244
+#: gram.y:1531 gram.y:1546
 #, c-format
-msgid "Ident authentication failed for user \"%s\""
-msgstr "la autentificación Ident falló para el usuario «%s»"
+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.c:247
+#: gram.y:1551 gram.y:10378 gram.y:12715
 #, c-format
-msgid "Peer authentication failed for user \"%s\""
-msgstr "la autentificación Peer falló para el usuario «%s»"
+msgid "interval precision specified twice"
+msgstr "la precisión de interval fue especificada dos veces"
 
-#: libpq/auth.c:251
+#: gram.y:2520 gram.y:2549
 #, c-format
-msgid "password authentication failed for user \"%s\""
-msgstr "la autentificación password falló para el usuario «%s»"
+msgid "STDIN/STDOUT not allowed with PROGRAM"
+msgstr "STDIN/STDOUT no están permitidos con PROGRAM"
 
-#: libpq/auth.c:256
+#: gram.y:2811 gram.y:2818 gram.y:9599 gram.y:9607
 #, c-format
-msgid "GSSAPI authentication failed for user \"%s\""
-msgstr "la autentificación GSSAPI falló para el usuario «%s»"
+msgid "GLOBAL is deprecated in temporary table creation"
+msgstr "GLOBAL está obsoleto para la creación de tablas temporales"
 
-#: libpq/auth.c:259
+#: gram.y:3257 utils/adt/ri_triggers.c:312 utils/adt/ri_triggers.c:369
+#: utils/adt/ri_triggers.c:788 utils/adt/ri_triggers.c:1011
+#: utils/adt/ri_triggers.c:1167 utils/adt/ri_triggers.c:1348
+#: utils/adt/ri_triggers.c:1513 utils/adt/ri_triggers.c:1689
+#: utils/adt/ri_triggers.c:1869 utils/adt/ri_triggers.c:2060
+#: utils/adt/ri_triggers.c:2118 utils/adt/ri_triggers.c:2223
+#: utils/adt/ri_triggers.c:2388
 #, c-format
-msgid "SSPI authentication failed for user \"%s\""
-msgstr "la autentificación SSPI falló para el usuario «%s»"
+msgid "MATCH PARTIAL not yet implemented"
+msgstr "MATCH PARTIAL no está implementada"
 
-#: libpq/auth.c:262
+#: gram.y:4492
+msgid "duplicate trigger events specified"
+msgstr "se han especificado eventos de disparador duplicados"
+
+#: gram.y:4587 parser/parse_utilcmd.c:2571 parser/parse_utilcmd.c:2597
 #, c-format
-msgid "PAM authentication failed for user \"%s\""
-msgstr "la autentificación PAM falló para el usuario «%s»"
+msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
+msgstr "una restricción declarada INITIALLY DEFERRED debe ser DEFERRABLE"
 
-#: libpq/auth.c:265
+#: gram.y:4594
 #, c-format
-msgid "LDAP authentication failed for user \"%s\""
-msgstr "la autentificación LDAP falló para el usuario «%s»"
+msgid "conflicting constraint properties"
+msgstr "propiedades de restricción contradictorias"
 
-#: libpq/auth.c:268
+#: gram.y:4726
 #, c-format
-msgid "certificate authentication failed for user \"%s\""
-msgstr "la autentificación por certificado falló para el usuario «%s»"
+msgid "CREATE ASSERTION is not yet implemented"
+msgstr "CREATE ASSERTION no está implementado"
 
-#: libpq/auth.c:271
+#: gram.y:4742
 #, c-format
-msgid "RADIUS authentication failed for user \"%s\""
-msgstr "la autentificación RADIUS falló para el usuario «%s»"
+msgid "DROP ASSERTION is not yet implemented"
+msgstr "DROP ASSERTION no está implementado"
 
-#: libpq/auth.c:274
+#: gram.y:5088
 #, 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 "RECHECK is no longer required"
+msgstr "RECHECK ya no es requerido"
 
-#: libpq/auth.c:278
+#: gram.y:5089
 #, 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 "Update your data type."
+msgstr "Actualice su tipo de datos."
 
-#: libpq/auth.c:340
+#: gram.y:6550
 #, c-format
-msgid "connection requires a valid client certificate"
-msgstr "la conexión requiere un certificado de cliente válido"
+msgid "aggregates cannot have output arguments"
+msgstr "las funciones de agregación no pueden tener argumentos de salida"
 
-#: libpq/auth.c:382
+#: gram.y:6856 utils/adt/regproc.c:739 utils/adt/regproc.c:780
 #, 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"
+msgid "missing argument"
+msgstr "falta un argumento"
 
-#: libpq/auth.c:384 libpq/auth.c:400 libpq/auth.c:458 libpq/auth.c:476
-msgid "SSL off"
-msgstr "SSL inactivo"
+#: gram.y:6857 utils/adt/regproc.c:740 utils/adt/regproc.c:781
+#, c-format
+msgid "Use NONE to denote the missing argument of a unary operator."
+msgstr "Use NONE para denotar el argumento faltante de un operador unario."
 
-#: libpq/auth.c:384 libpq/auth.c:400 libpq/auth.c:458 libpq/auth.c:476
-msgid "SSL on"
-msgstr "SSL activo"
+#: gram.y:8246 gram.y:8264
+#, c-format
+msgid "WITH CHECK OPTION not supported on recursive views"
+msgstr "WITH CHECK OPTION no está soportado con vistas recursivas"
 
-#: libpq/auth.c:388
+#: gram.y:9244
 #, 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 "number of columns does not match number of values"
+msgstr "el número de columnas no coincide con el número de valores"
 
-#: libpq/auth.c:397
+#: gram.y:9703
 #, 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 "LIMIT #,# syntax is not supported"
+msgstr "la sintaxis LIMIT #,# no está soportada"
 
-#: libpq/auth.c:404
+#: gram.y:9704
 #, 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 "Use separate LIMIT and OFFSET clauses."
+msgstr "Use cláusulas LIMIT y OFFSET separadas."
 
-#: libpq/auth.c:433
+#: gram.y:9909 gram.y:9934
 #, 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 "VALUES in FROM must have an alias"
+msgstr "VALUES en FROM debe tener un alias"
 
-#: libpq/auth.c:436
+#: gram.y:9910 gram.y:9935
 #, 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 "For example, FROM (VALUES ...) [AS] foo."
+msgstr "Por ejemplo, FROM (VALUES ...) [AS] foo."
 
-#: libpq/auth.c:439
+#: gram.y:9915 gram.y:9940
 #, 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 "subquery in FROM must have an alias"
+msgstr "las subconsultas en FROM deben tener un alias"
 
-#: libpq/auth.c:442
+#: gram.y:9916 gram.y:9941
 #, 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."
+msgid "For example, FROM (SELECT ...) [AS] foo."
+msgstr "Por ejemplo, FROM (SELECT ...) [AS] foo."
 
-#: libpq/auth.c:447
+#: gram.y:10504
 #, 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 "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:456
+#: gram.y:10513
 #, 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 "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:463
+#: gram.y:10979
 #, 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 "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:473
+#: gram.y:10984
 #, 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 "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:481
+#: gram.y:11168
 #, 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 "UNIQUE predicate is not yet implemented"
+msgstr "el predicado UNIQUE no está implementado"
 
-#: libpq/auth.c:524 libpq/hba.c:1182
+#: gram.y:11455
 #, 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 "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:649
+#: gram.y:11460
 #, 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 "cannot use DISTINCT with WITHIN GROUP"
+msgstr "no se permite DISTINCT con WITHIN GROUP"
 
-#: libpq/auth.c:677
+#: gram.y:11465
 #, c-format
-msgid "invalid password packet size"
-msgstr "el tamaño del paquete de contraseña no es válido"
+msgid "cannot use VARIADIC with WITHIN GROUP"
+msgstr "no se permite VARIADIC con WITHIN GROUP"
 
-#: libpq/auth.c:691
+#: gram.y:11971
 #, c-format
-msgid "empty password returned by client"
-msgstr "el cliente retornó una contraseña vacía"
+msgid "RANGE PRECEDING is only supported with UNBOUNDED"
+msgstr "RANGE PRECEDING sólo está soportado con UNBOUNDED"
 
-#: libpq/auth.c:695
+#: gram.y:11977
 #, c-format
-msgid "received password packet"
-msgstr "se recibió un paquete de clave"
+msgid "RANGE FOLLOWING is only supported with UNBOUNDED"
+msgstr "RANGE FOLLOWING sólo está soportado con UNBOUNDED"
 
-#: libpq/auth.c:822
+#: gram.y:12004 gram.y:12027
 #, c-format
-msgid "GSSAPI is not supported in protocol version 2"
-msgstr "GSSAPI no está soportado por el protocolo versión 2"
+msgid "frame start cannot be UNBOUNDED FOLLOWING"
+msgstr "el inicio de «frame» no puede ser UNBOUNDED FOLLOWING"
 
-#: libpq/auth.c:879
+#: gram.y:12009
 #, c-format
-msgid "expected GSS response, got message type %d"
-msgstr "se esperaba una respuesta GSS, se obtuvo mensaje de tipo %d"
+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:938
-msgid "accepting GSS security context failed"
-msgstr "falló la aceptación del contexto de seguridad GSS"
+#: gram.y:12032
+#, c-format
+msgid "frame end cannot be UNBOUNDED PRECEDING"
+msgstr "el fin de «frame» no puede ser UNBOUNDED PRECEDING"
 
-#: libpq/auth.c:964
-msgid "retrieving GSS user name failed"
-msgstr "falló la obtención del nombre de usuario GSS"
+#: gram.y:12038
+#, c-format
+msgid "frame starting from current row cannot have preceding rows"
+msgstr "el «frame» que se inicia desde la fila actual no puede tener filas precedentes"
 
-#: libpq/auth.c:1083
+#: gram.y:12045
 #, c-format
-msgid "SSPI is not supported in protocol version 2"
-msgstr "SSPI no está soportado por el protocolo versión 2"
+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:1098
-msgid "could not acquire SSPI credentials"
-msgstr "no se pudo obtener las credenciales SSPI"
+#: gram.y:12684
+#, c-format
+msgid "type modifier cannot have parameter name"
+msgstr "el modificador de tipo no puede tener nombre de parámetro"
 
-#: libpq/auth.c:1116
+#: gram.y:12690
 #, 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:1188
-msgid "could not accept SSPI security context"
-msgstr "no se pudo aceptar un contexto SSPI"
+msgid "type modifier cannot have ORDER BY"
+msgstr "el modificador de tipo no puede tener ORDER BY"
 
-#: libpq/auth.c:1250
-msgid "could not get token from SSPI security context"
-msgstr "no se pudo obtener un testigo (token) desde el contexto de seguridad SSPI"
+#: gram.y:13311 gram.y:13486
+msgid "improper use of \"*\""
+msgstr "uso impropio de «*»"
 
-#: libpq/auth.c:1494
+#: gram.y:13449 gram.y:13466 tsearch/spell.c:667 tsearch/spell.c:684
+#: tsearch/spell.c:701 tsearch/spell.c:718 tsearch/spell.c:740
 #, c-format
-msgid "could not create socket for Ident connection: %m"
-msgstr "no se pudo crear un socket para conexión Ident: %m"
+msgid "syntax error"
+msgstr "error de sintaxis"
 
-#: libpq/auth.c:1509
+#: gram.y:13550
 #, c-format
-msgid "could not bind to local address \"%s\": %m"
-msgstr "no se pudo enlazar a la dirección local «%s»: %m"
+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:1521
+#: gram.y:13587
 #, c-format
-msgid "could not connect to Ident server at address \"%s\", port %s: %m"
-msgstr "no se pudo conectar al servidor Ident «%s», port %s: %m"
+msgid "multiple ORDER BY clauses not allowed"
+msgstr "no se permiten múltiples cláusulas ORDER BY"
 
-#: libpq/auth.c:1541
+#: gram.y:13598
 #, 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 "multiple OFFSET clauses not allowed"
+msgstr "no se permiten múltiples cláusulas OFFSET"
 
-#: libpq/auth.c:1556
+#: gram.y:13607
 #, 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 "multiple LIMIT clauses not allowed"
+msgstr "no se permiten múltiples cláusulas LIMIT"
 
-#: libpq/auth.c:1566
+#: gram.y:13616
 #, c-format
-msgid "invalidly formatted response from Ident server: \"%s\""
-msgstr "respuesta del servidor Ident en formato no válido: «%s»"
+msgid "multiple WITH clauses not allowed"
+msgstr "no se permiten múltiples cláusulas WITH"
 
-#: libpq/auth.c:1606
+#: gram.y:13756
 #, 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 "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:1610
+#: gram.y:13857
 #, c-format
-msgid "could not get peer credentials: %m"
-msgstr "no se pudo recibir credenciales: %m"
+msgid "multiple COLLATE clauses not allowed"
+msgstr "no se permiten múltiples cláusulas COLLATE"
 
-#: libpq/auth.c:1619
+#. translator: %s is CHECK, UNIQUE, or similar
+#: gram.y:13895 gram.y:13908
 #, 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 "%s constraints cannot be marked DEFERRABLE"
+msgstr "las restricciones %s no pueden ser marcadas DEFERRABLE"
 
-#: libpq/auth.c:1707
+#. translator: %s is CHECK, UNIQUE, or similar
+#: gram.y:13921
 #, c-format
-msgid "error from underlying PAM layer: %s"
-msgstr "se ha recibido un error de la biblioteca PAM: %s"
+msgid "%s constraints cannot be marked NOT VALID"
+msgstr "las restricciones %s no pueden ser marcadas NOT VALID"
 
-#: libpq/auth.c:1776
+#. translator: %s is CHECK, UNIQUE, or similar
+#: gram.y:13934
 #, c-format
-msgid "could not create PAM authenticator: %s"
-msgstr "no se pudo crear autenticador PAM: %s"
+msgid "%s constraints cannot be marked NO INHERIT"
+msgstr "las restricciones %s no pueden ser marcadas NO INHERIT"
 
-#: libpq/auth.c:1787
+#: guc-file.l:278
 #, c-format
-msgid "pam_set_item(PAM_USER) failed: %s"
-msgstr "pam_set_item(PAM_USER) falló: %s"
+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:1798
+#: guc-file.l:314 utils/misc/guc.c:5609 utils/misc/guc.c:5792
+#: utils/misc/guc.c:5880 utils/misc/guc.c:5968 utils/misc/guc.c:6074
+#: utils/misc/guc.c:6167
 #, c-format
-msgid "pam_set_item(PAM_CONV) failed: %s"
-msgstr "pam_set_item(PAM_CONV) falló: %s"
+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:1809
+#: guc-file.l:342
 #, c-format
-msgid "pam_authenticate failed: %s"
-msgstr "pam_authenticate falló: %s"
+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:1820
+#: guc-file.l:408
 #, c-format
-msgid "pam_acct_mgmt failed: %s"
-msgstr "pam_acct_mgmt falló: %s"
+msgid "parameter \"%s\" changed to \"%s\""
+msgstr "el parámetro «%s» fue cambiado a «%s»"
 
-#: libpq/auth.c:1831
+#: guc-file.l:443
 #, c-format
-msgid "could not release PAM authenticator: %s"
-msgstr "no se pudo liberar autenticador PAM: %s"
+msgid "configuration file \"%s\" contains errors"
+msgstr "el archivo de configuración «%s» contiene errores"
 
-#: libpq/auth.c:1864
+#: guc-file.l:448
 #, c-format
-msgid "could not initialize LDAP: %m"
-msgstr "no se pudo inicializar LDAP: %m"
+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:1867
+#: guc-file.l:453
 #, c-format
-msgid "could not initialize LDAP: error code %d"
-msgstr "no se pudo inicializar LDAP: código de error %d"
+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:1877
+#: guc-file.l:526
 #, c-format
-msgid "could not set LDAP protocol version: %s"
-msgstr "no se pudo definir la versión de protocolo LDAP: %s"
+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:1906
+#: guc-file.l:539 libpq/hba.c:1751
 #, c-format
-msgid "could not load wldap32.dll"
-msgstr "no se pudo cargar wldap32.dll"
+msgid "could not open configuration file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de configuración «%s»: %m"
 
-#: libpq/auth.c:1914
+#: guc-file.l:546
 #, 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 "skipping missing configuration file \"%s\""
+msgstr "saltando el archivo de configuración faltante «%s»"
 
-#: libpq/auth.c:1915
+#: guc-file.l:762
 #, c-format
-msgid "LDAP over SSL is not supported on this platform."
-msgstr "LDAP sobre SSL 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:1930
+#: guc-file.l:767
 #, c-format
-msgid "could not start LDAP TLS session: %s"
-msgstr "no se pudo iniciar sesión de LDAP TLS: %s"
+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:1952
+#: guc-file.l:783
 #, c-format
-msgid "LDAP server not specified"
-msgstr "servidor LDAP no especificado"
+msgid "too many syntax errors found, abandoning file \"%s\""
+msgstr "se encontraron demasiados errores de sintaxis, abandonando el archivo «%s»"
 
-#: libpq/auth.c:2000
+#: guc-file.l:828
 #, 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 "could not open configuration directory \"%s\": %m"
+msgstr "no se pudo abrir el directorio de configuración «%s»: %m"
 
-#: libpq/auth.c:2015
+#: lib/stringinfo.c:259
 #, 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 "Cannot enlarge string buffer containing %d bytes by %d more bytes."
+msgstr "No se puede agrandar el búfer de cadena que ya tiene %d bytes en %d bytes adicionales."
 
-#: libpq/auth.c:2039
+#: libpq/auth.c:238
 #, 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 "authentication failed for user \"%s\": host rejected"
+msgstr "la autentificación falló para el usuario «%s»: anfitrión rechazado"
 
-#: libpq/auth.c:2050
+#: libpq/auth.c:241
 #, c-format
-msgid "LDAP user \"%s\" does not exist"
-msgstr "no existe el usuario LDAP «%s»"
+msgid "\"trust\" authentication failed for user \"%s\""
+msgstr "la autentificación «trust» falló para el usuario «%s»"
 
-#: libpq/auth.c:2051
+#: libpq/auth.c:244
 #, 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 "Ident authentication failed for user \"%s\""
+msgstr "la autentificación Ident falló para el usuario «%s»"
 
-#: libpq/auth.c:2055
+#: libpq/auth.c:247
 #, c-format
-msgid "LDAP user \"%s\" is not unique"
-msgstr "el usuario LDAP «%s» no es única"
+msgid "Peer authentication failed for user \"%s\""
+msgstr "la autentificación Peer falló para el usuario «%s»"
 
-#: libpq/auth.c:2056
+#: libpq/auth.c:251
 #, 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 "password authentication failed for user \"%s\""
+msgstr "la autentificación password falló para el usuario «%s»"
 
-#: libpq/auth.c:2074
+#: libpq/auth.c:256
 #, 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 "GSSAPI authentication failed for user \"%s\""
+msgstr "la autentificación GSSAPI falló para el usuario «%s»"
 
-#: libpq/auth.c:2094
+#: libpq/auth.c:259
 #, c-format
-msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s"
-msgstr "no se pudo desconectar después de buscar al usuario «%s» en el servidor «%s»: %s"
+msgid "SSPI authentication failed for user \"%s\""
+msgstr "la autentificación SSPI falló para el usuario «%s»"
 
-#: libpq/auth.c:2124
+#: libpq/auth.c:262
 #, 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 "PAM authentication failed for user \"%s\""
+msgstr "la autentificación PAM falló para el usuario «%s»"
 
-#: libpq/auth.c:2152
+#: libpq/auth.c:265
 #, 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 "LDAP authentication failed for user \"%s\""
+msgstr "la autentificación LDAP falló para el usuario «%s»"
 
-#: libpq/auth.c:2279
+#: libpq/auth.c:268
 #, c-format
-msgid "RADIUS server not specified"
-msgstr "servidor RADIUS no especificado"
+msgid "certificate authentication failed for user \"%s\""
+msgstr "la autentificación por certificado falló para el usuario «%s»"
 
-#: libpq/auth.c:2286
+#: libpq/auth.c:271
 #, c-format
-msgid "RADIUS secret not specified"
-msgstr "secreto RADIUS no especificado"
+msgid "RADIUS authentication failed for user \"%s\""
+msgstr "la autentificación RADIUS falló para el usuario «%s»"
 
-#: libpq/auth.c:2302 libpq/hba.c:1579
+#: libpq/auth.c:274
 #, 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 "authentication failed for user \"%s\": invalid authentication method"
+msgstr "la autentificación falló para el usuario «%s»: método de autentificación no válido"
 
-#: libpq/auth.c:2323
+#: libpq/auth.c:278
 #, c-format
-msgid "RADIUS authentication does not support passwords longer than 16 characters"
-msgstr "la autentificación RADIUS no soporta contraseñas más largas de 16 caracteres"
+msgid "Connection matched pg_hba.conf line %d: \"%s\""
+msgstr "La conexión coincidió con la línea %d de pg_hba.conf: «%s»"
 
-#: libpq/auth.c:2334
+#: libpq/auth.c:340
 #, c-format
-msgid "could not generate random encryption vector"
-msgstr "no se pudo generar un vector aleatorio de encriptación"
+msgid "connection requires a valid client certificate"
+msgstr "la conexión requiere un certificado de cliente válido"
 
-#: libpq/auth.c:2357
+#: libpq/auth.c:382
 #, c-format
-msgid "could not perform MD5 encryption of password"
-msgstr "no se pudo efectuar cifrado MD5 de la contraseña"
+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:2379
-#, c-format
-msgid "could not create RADIUS socket: %m"
-msgstr "no se pudo crear el socket RADIUS: %m"
+#: libpq/auth.c:384 libpq/auth.c:400 libpq/auth.c:458 libpq/auth.c:476
+msgid "SSL off"
+msgstr "SSL inactivo"
 
-#: libpq/auth.c:2400
-#, c-format
-msgid "could not bind local RADIUS socket: %m"
-msgstr "no se pudo enlazar el socket RADIUS local: %m"
+#: libpq/auth.c:384 libpq/auth.c:400 libpq/auth.c:458 libpq/auth.c:476
+msgid "SSL on"
+msgstr "SSL activo"
 
-#: libpq/auth.c:2410
+#: libpq/auth.c:388
 #, c-format
-msgid "could not send RADIUS packet: %m"
-msgstr "no se pudo enviar el paquete RADIUS: %m"
+msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\""
+msgstr "pg_hba.conf rechaza la conexión de replicación para el servidor «%s», usuario «%s»"
 
-#: libpq/auth.c:2439 libpq/auth.c:2464
+#: libpq/auth.c:397
 #, c-format
-msgid "timeout waiting for RADIUS response"
-msgstr "se agotó el tiempo de espera de la respuesta RADIUS"
+msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\", %s"
+msgstr "pg_hba.conf rechaza la conexión para el servidor «%s», usuario «%s», base de datos «%s», %s"
 
-#: libpq/auth.c:2457
+#: libpq/auth.c:404
 #, c-format
-msgid "could not check status on RADIUS socket: %m"
-msgstr "no se pudo verificar el estado en el socket %m"
+msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\""
+msgstr "pg_hba.conf rechaza la conexión para el servidor «%s», usuario «%s», base de datos «%s»"
 
-#: libpq/auth.c:2486
+#: libpq/auth.c:433
 #, c-format
-msgid "could not read RADIUS response: %m"
-msgstr "no se pudo leer la respuesta RADIUS: %m"
+msgid "Client IP address resolved to \"%s\", forward lookup matches."
+msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado es coincidente."
 
-#: libpq/auth.c:2498 libpq/auth.c:2502
+#: libpq/auth.c:436
 #, c-format
-msgid "RADIUS response was sent from incorrect port: %d"
-msgstr "la respuesta RADIUS fue enviada desde el port incorrecto: %d"
+msgid "Client IP address resolved to \"%s\", forward lookup not checked."
+msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado no fue verificado."
 
-#: libpq/auth.c:2511
+#: libpq/auth.c:439
 #, c-format
-msgid "RADIUS response too short: %d"
-msgstr "la respuesta RADIUS es demasiado corta: %d"
+msgid "Client IP address resolved to \"%s\", forward lookup does not match."
+msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado no es coincidente."
 
-#: libpq/auth.c:2518
+#: libpq/auth.c:442
 #, c-format
-msgid "RADIUS response has corrupt length: %d (actual length %d)"
-msgstr "la respuesta RADIUS tiene largo corrupto: %d (largo real %d)"
+msgid "Could not translate client host name \"%s\" to IP address: %s."
+msgstr "No se pudo traducir el nombre de host del cliente «%s» a una dirección IP: %s."
 
-#: libpq/auth.c:2526
+#: libpq/auth.c:447
 #, c-format
-msgid "RADIUS response is to a different request: %d (should be %d)"
-msgstr "la respuesta RADIUS es a una petición diferente: %d (debería ser %d)"
+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/auth.c:2551
+#: libpq/auth.c:456
 #, c-format
-msgid "could not perform MD5 encryption of received packet"
-msgstr "no se pudo realizar cifrado MD5 del paquete recibido"
+msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\", %s"
+msgstr "no hay una línea en pg_hba.conf para la conexión de replicación desde el servidor «%s», usuario «%s», %s"
 
-#: libpq/auth.c:2560
+#: libpq/auth.c:463
 #, c-format
-msgid "RADIUS response has incorrect MD5 signature"
-msgstr "la respuesta RADIUS tiene firma MD5 incorrecta"
+msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\""
+msgstr "no hay una línea en pg_hba.conf para la conexión de replicación desde el servidor «%s», usuario «%s»"
 
-#: libpq/auth.c:2577
+#: libpq/auth.c:473
 #, c-format
-msgid "RADIUS response has invalid code (%d) for user \"%s\""
-msgstr "la respuesta RADIUS tiene código no válido (%d) para el usuario «%s»"
+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-fsstubs.c:134 libpq/be-fsstubs.c:165 libpq/be-fsstubs.c:199
-#: libpq/be-fsstubs.c:239 libpq/be-fsstubs.c:264 libpq/be-fsstubs.c:312
-#: libpq/be-fsstubs.c:335 libpq/be-fsstubs.c:583
+#: libpq/auth.c:481
 #, c-format
-msgid "invalid large-object descriptor: %d"
-msgstr "el descriptor de objeto grande no es válido: %d"
+msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\""
+msgstr "no hay una línea en pg_hba.conf para «%s», usuario «%s», base de datos «%s»"
 
-#: libpq/be-fsstubs.c:180 libpq/be-fsstubs.c:218 libpq/be-fsstubs.c:602
-#: libpq/be-fsstubs.c:790 libpq/be-fsstubs.c:910
+#: libpq/auth.c:524 libpq/hba.c:1172
 #, c-format
-msgid "permission denied for large object %u"
-msgstr "permiso denegado al objeto grande %u"
+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-fsstubs.c:205 libpq/be-fsstubs.c:589
+#: libpq/auth.c:649
 #, 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 "expected password response, got message type %d"
+msgstr "se esperaba una respuesta de contraseña, se obtuvo mensaje de tipo %d"
 
-#: libpq/be-fsstubs.c:247
+#: libpq/auth.c:677
 #, c-format
-msgid "lo_lseek result out of range for large-object descriptor %d"
-msgstr "el resultado de lo_lseek está fuera de rango para el descriptor de objeto grande %d"
+msgid "invalid password packet size"
+msgstr "el tamaño del paquete de contraseña no es válido"
 
-#: libpq/be-fsstubs.c:320
+#: libpq/auth.c:691
 #, c-format
-msgid "lo_tell result out of range for large-object descriptor %d"
-msgstr "el resultado de lo_tell está fuera de rango para el descriptor de objeto grande %d"
+msgid "empty password returned by client"
+msgstr "el cliente retornó una contraseña vacía"
 
-#: libpq/be-fsstubs.c:457
+#: libpq/auth.c:695
 #, c-format
-msgid "must be superuser to use server-side lo_import()"
-msgstr "debe ser superusuario para utilizar lo_import() en el extremo del servidor"
+msgid "received password packet"
+msgstr "se recibió un paquete de clave"
 
-#: libpq/be-fsstubs.c:458
+#: libpq/auth.c:826
 #, c-format
-msgid "Anyone can use the client-side lo_import() provided by libpq."
-msgstr "Todos los usuarios pueden utilizar lo_import() de cliente proporcionada por libpq."
+msgid "GSSAPI is not supported in protocol version 2"
+msgstr "GSSAPI no está soportado por el protocolo versión 2"
 
-#: libpq/be-fsstubs.c:471
+#: libpq/auth.c:883
 #, c-format
-msgid "could not open server file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de servidor «%s»: %m"
+msgid "expected GSS response, got message type %d"
+msgstr "se esperaba una respuesta GSS, se obtuvo mensaje de tipo %d"
 
-#: libpq/be-fsstubs.c:493
-#, c-format
-msgid "could not read server file \"%s\": %m"
-msgstr "no se pudo leer el archivo de servidor «%s»: %m"
+#: libpq/auth.c:942
+msgid "accepting GSS security context failed"
+msgstr "falló la aceptación del contexto de seguridad GSS"
 
-#: libpq/be-fsstubs.c:523
-#, c-format
-msgid "must be superuser to use server-side lo_export()"
-msgstr "debe ser superusuario para utilizar lo_export() en el extremo del servidor"
+#: libpq/auth.c:968
+msgid "retrieving GSS user name failed"
+msgstr "falló la obtención del nombre de usuario GSS"
 
-#: libpq/be-fsstubs.c:524
+#: libpq/auth.c:1092
 #, c-format
-msgid "Anyone can use the client-side lo_export() provided by libpq."
-msgstr "Todos los usuarios pueden utilizar lo_export() de cliente proporcionada por libpq."
+msgid "SSPI is not supported in protocol version 2"
+msgstr "SSPI no está soportado por el protocolo versión 2"
 
-#: libpq/be-fsstubs.c:549
-#, c-format
-msgid "could not create server file \"%s\": %m"
-msgstr "no se pudo crear el archivo del servidor «%s»: %m"
+#: libpq/auth.c:1107
+msgid "could not acquire SSPI credentials"
+msgstr "no se pudo obtener las credenciales SSPI"
 
-#: libpq/be-fsstubs.c:561
+#: libpq/auth.c:1125
 #, c-format
-msgid "could not write server file \"%s\": %m"
-msgstr "no se pudo escribir el archivo del servidor «%s»: %m"
+msgid "expected SSPI response, got message type %d"
+msgstr "se esperaba una respuesta SSPI, se obtuvo mensaje de tipo %d"
 
-#: libpq/be-fsstubs.c:815
-#, 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"
+#: libpq/auth.c:1197
+msgid "could not accept SSPI security context"
+msgstr "no se pudo aceptar un contexto SSPI"
 
-#: libpq/be-fsstubs.c:857 utils/adt/genfile.c:187 utils/adt/genfile.c:232
-#, c-format
-msgid "requested length cannot be negative"
-msgstr "el tamaño solicitado no puede ser negativo"
+#: libpq/auth.c:1259
+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.c:300 libpq/be-secure.c:427
+#: libpq/auth.c:1503
 #, c-format
-msgid "SSL error: %s"
-msgstr "error de SSL: %s"
+msgid "could not create socket for Ident connection: %m"
+msgstr "no se pudo crear un socket para conexión Ident: %m"
 
-#: libpq/be-secure.c:311 libpq/be-secure.c:442 libpq/be-secure.c:1151
+#: libpq/auth.c:1518
 #, c-format
-msgid "unrecognized SSL error code: %d"
-msgstr "código de error SSL no reconocido: %d"
+msgid "could not bind to local address \"%s\": %m"
+msgstr "no se pudo enlazar a la dirección local «%s»: %m"
 
-#: libpq/be-secure.c:372
+#: libpq/auth.c:1530
 #, c-format
-msgid "SSL failure during renegotiation start"
-msgstr "fallo SSL durante el inicio de renegociación"
+msgid "could not connect to Ident server at address \"%s\", port %s: %m"
+msgstr "no se pudo conectar al servidor Ident «%s», port %s: %m"
 
-#: libpq/be-secure.c:387
+#: libpq/auth.c:1550
 #, c-format
-msgid "SSL handshake failure on renegotiation, retrying"
-msgstr "fallo en el «handshake» durante la renegociación SSL, intentando de nuevo"
+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.c:391
+#: libpq/auth.c:1565
 #, c-format
-msgid "could not complete SSL handshake on renegotiation, too many failures"
-msgstr "no se pudo completar el «handshake» durante la renegociación SSL, demasiados fallos"
+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.c:468
+#: libpq/auth.c:1575
 #, c-format
-msgid "SSL failed to renegotiate connection before limit expired"
-msgstr "SSL no pudo renegociar conexión antes de la expiración del límite"
+msgid "invalidly formatted response from Ident server: \"%s\""
+msgstr "respuesta del servidor Ident en formato no válido: «%s»"
 
-#: libpq/be-secure.c:867
+#: libpq/auth.c:1615
 #, c-format
-msgid "ECDH: unrecognized curve name: %s"
-msgstr "ECDH: nombre de curva no reconocida: %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.c:872
+#: libpq/auth.c:1619
 #, c-format
-msgid "ECDH: could not create key"
-msgstr "ECDH: no se pudo crear la llave"
+msgid "could not get peer credentials: %m"
+msgstr "no se pudo recibir credenciales: %m"
 
-#: libpq/be-secure.c:913
+#: libpq/auth.c:1630
 #, c-format
-msgid "could not create SSL context: %s"
-msgstr "no se pudo crear un contexto SSL: %s"
+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.c:929
+#: libpq/auth.c:1718
 #, c-format
-msgid "could not load server certificate file \"%s\": %s"
-msgstr "no se pudo cargar el archivo de certificado de servidor «%s»: %s"
+msgid "error from underlying PAM layer: %s"
+msgstr "se ha recibido un error de la biblioteca PAM: %s"
 
-#: libpq/be-secure.c:935
+#: libpq/auth.c:1787
 #, 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 "could not create PAM authenticator: %s"
+msgstr "no se pudo crear autenticador PAM: %s"
 
-#: libpq/be-secure.c:950
+#: libpq/auth.c:1798
 #, 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 "pam_set_item(PAM_USER) failed: %s"
+msgstr "pam_set_item(PAM_USER) falló: %s"
 
-#: libpq/be-secure.c:952
+#: libpq/auth.c:1809
 #, c-format
-msgid "Permissions should be u=rw (0600) or less."
-msgstr "Los permisos deberían ser u=rw (0500) o menos."
+msgid "pam_set_item(PAM_CONV) failed: %s"
+msgstr "pam_set_item(PAM_CONV) falló: %s"
 
-#: libpq/be-secure.c:959
+#: libpq/auth.c:1820
 #, c-format
-msgid "could not load private key file \"%s\": %s"
-msgstr "no se pudo cargar el archivo de la llave privada «%s»: %s"
+msgid "pam_authenticate failed: %s"
+msgstr "pam_authenticate falló: %s"
 
-#: libpq/be-secure.c:964
+#: libpq/auth.c:1831
 #, c-format
-msgid "check of private key failed: %s"
-msgstr "falló la revisión de la llave privada: %s"
+msgid "pam_acct_mgmt failed: %s"
+msgstr "pam_acct_mgmt falló: %s"
 
-#: libpq/be-secure.c:1001
+#: libpq/auth.c:1842
 #, 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 release PAM authenticator: %s"
+msgstr "no se pudo liberar autenticador PAM: %s"
 
-#: libpq/be-secure.c:1025
+#: libpq/auth.c:1875
 #, c-format
-msgid "SSL certificate revocation list file \"%s\" ignored"
-msgstr "ignorando lista de revocación de certificados SSL «%s»"
+msgid "could not initialize LDAP: %m"
+msgstr "no se pudo inicializar LDAP: %m"
 
-#: libpq/be-secure.c:1027
+#: libpq/auth.c:1878
 #, c-format
-msgid "SSL library does not support certificate revocation lists."
-msgstr "La libreria SSL no soporta listas de revocación de certificados."
+msgid "could not initialize LDAP: error code %d"
+msgstr "no se pudo inicializar LDAP: código de error %d"
 
-#: libpq/be-secure.c:1032
+#: libpq/auth.c:1888
 #, 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 set LDAP protocol version: %s"
+msgstr "no se pudo definir la versión de protocolo LDAP: %s"
 
-#: libpq/be-secure.c:1078
+#: libpq/auth.c:1917
 #, c-format
-msgid "could not initialize SSL connection: %s"
-msgstr "no se pudo inicializar la conexión SSL: %s"
+msgid "could not load wldap32.dll"
+msgstr "no se pudo cargar wldap32.dll"
 
-#: libpq/be-secure.c:1086
+#: libpq/auth.c:1925
 #, c-format
-msgid "could not set SSL socket: %s"
-msgstr "no se definir un socket SSL: %s"
+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:1131
+#: libpq/auth.c:1926
 #, c-format
-msgid "could not accept SSL connection: %m"
-msgstr "no se pudo aceptar una conexión SSL: %m"
+msgid "LDAP over SSL is not supported on this platform."
+msgstr "LDAP sobre SSL no está soportado en esta plataforma."
 
-#: libpq/be-secure.c:1135 libpq/be-secure.c:1146
+#: libpq/auth.c:1941
 #, c-format
-msgid "could not accept SSL connection: EOF detected"
-msgstr "no se pudo aceptar una conexión SSL: se detectó EOF"
+msgid "could not start LDAP TLS session: %s"
+msgstr "no se pudo iniciar sesión de LDAP TLS: %s"
 
-#: libpq/be-secure.c:1140
+#: libpq/auth.c:1963
 #, c-format
-msgid "could not accept SSL connection: %s"
-msgstr "no se pudo aceptar una conexión SSL: %s"
+msgid "LDAP server not specified"
+msgstr "servidor LDAP no especificado"
 
-#: libpq/be-secure.c:1194
+#: libpq/auth.c:2011
 #, c-format
-msgid "SSL certificate's common name contains embedded null"
-msgstr "el «common name» del certificado SSL contiene un carácter null"
+msgid "invalid character in user name for LDAP authentication"
+msgstr "carácter no válido en nombre de usuario para autentificación LDAP"
 
-#: libpq/be-secure.c:1204
+#: libpq/auth.c:2026
 #, c-format
-msgid "SSL connection from \"%s\""
-msgstr "conexión SSL desde «%s»"
-
-#: libpq/be-secure.c:1255
-msgid "no SSL error reported"
-msgstr "código de error SSL no reportado"
+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/be-secure.c:1259
+#: libpq/auth.c:2051
 #, c-format
-msgid "SSL error code %lu"
-msgstr "código de error SSL %lu"
+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:67
+#: libpq/auth.c:2062
 #, c-format
-msgid "User \"%s\" has no password assigned."
-msgstr "El usuario «%s» no tiene una contraseña asignada."
+msgid "LDAP user \"%s\" does not exist"
+msgstr "no existe el usuario LDAP «%s»"
 
-#: libpq/crypt.c:96 libpq/crypt.c:111
+#: libpq/auth.c:2063
 #, c-format
-msgid "User \"%s\" has an empty password."
-msgstr "El usuario «%s» tiene contraseña vacía."
+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/crypt.c:189
+#: libpq/auth.c:2067
 #, c-format
-msgid "User \"%s\" has an expired password."
-msgstr "El usuario «%s» tiene contraseña expirada."
+msgid "LDAP user \"%s\" is not unique"
+msgstr "el usuario LDAP «%s» no es única"
 
-#: libpq/hba.c:188
+#: libpq/auth.c:2068
 #, c-format
-msgid "authentication file token too long, skipping: \"%s\""
-msgstr "una palabra en el archivo de autentificación es demasiado larga, ignorando: «%s»"
+msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry."
+msgid_plural "LDAP search for filter \"%s\" on server \"%s\" returned %d entries."
+msgstr[0] "La búsqueda LDAP para el filtro «%s» en el servidor «%s» retornó %d elemento."
+msgstr[1] "La búsqueda LDAP para el filtro «%s» en el servidor «%s» retornó %d elementos."
 
-#: libpq/hba.c:332
+#: libpq/auth.c:2086
 #, 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 "could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
+msgstr "no se pudo obtener el dn para la primera entrada que coincide con «%s» en el servidor «%s»: %s"
 
-#: libpq/hba.c:409
+#: libpq/auth.c:2106
 #, c-format
-msgid "authentication file line too long"
-msgstr "línea en el archivo de autentificación demasiado larga"
+msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s"
+msgstr "no se pudo desconectar después de buscar al usuario «%s» en el servidor «%s»: %s"
 
-#: libpq/hba.c:410 libpq/hba.c:757 libpq/hba.c:773 libpq/hba.c:803
-#: libpq/hba.c:849 libpq/hba.c:862 libpq/hba.c:884 libpq/hba.c:893
-#: libpq/hba.c:916 libpq/hba.c:928 libpq/hba.c:947 libpq/hba.c:968
-#: libpq/hba.c:979 libpq/hba.c:1034 libpq/hba.c:1052 libpq/hba.c:1064
-#: libpq/hba.c:1081 libpq/hba.c:1091 libpq/hba.c:1105 libpq/hba.c:1121
-#: libpq/hba.c:1136 libpq/hba.c:1147 libpq/hba.c:1183 libpq/hba.c:1215
-#: libpq/hba.c:1226 libpq/hba.c:1246 libpq/hba.c:1257 libpq/hba.c:1274
-#: libpq/hba.c:1299 libpq/hba.c:1336 libpq/hba.c:1346 libpq/hba.c:1402
-#: libpq/hba.c:1414 libpq/hba.c:1427 libpq/hba.c:1510 libpq/hba.c:1581
-#: libpq/hba.c:1599 libpq/hba.c:1620 tsearch/ts_locale.c:182
+#: libpq/auth.c:2136
 #, c-format
-msgid "line %d of configuration file \"%s\""
-msgstr "línea %d del archivo de configuración «%s»"
+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"
 
-#. translator: the second %s is a list of auth methods
-#: libpq/hba.c:755
+#: libpq/auth.c:2164
 #, 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 "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:771
+#: libpq/auth.c:2291
 #, 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 "RADIUS server not specified"
+msgstr "servidor RADIUS no especificado"
 
-#: libpq/hba.c:792
+#: libpq/auth.c:2298
 #, 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 "RADIUS secret not specified"
+msgstr "secreto RADIUS no especificado"
 
-#: libpq/hba.c:802
+#: libpq/auth.c:2314 libpq/hba.c:1571
 #, c-format
-msgid "multiple values in ident field"
-msgstr "múltiples valores en campo «ident»"
+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:847
+#: libpq/auth.c:2335
 #, c-format
-msgid "multiple values specified for connection type"
-msgstr "múltiples valores especificados para tipo de conexión"
+msgid "RADIUS authentication does not support passwords longer than 16 characters"
+msgstr "la autentificación RADIUS no soporta contraseñas más largas de 16 caracteres"
 
-#: libpq/hba.c:848
+#: libpq/auth.c:2346
 #, c-format
-msgid "Specify exactly one connection type per line."
-msgstr "Especifique exactamente un tipo de conexión por línea."
+msgid "could not generate random encryption vector"
+msgstr "no se pudo generar un vector aleatorio de encriptación"
 
-#: libpq/hba.c:861
+#: libpq/auth.c:2369
 #, c-format
-msgid "local connections are not supported by this build"
-msgstr "las conexiones locales no están soportadas en este servidor"
+msgid "could not perform MD5 encryption of password"
+msgstr "no se pudo efectuar cifrado MD5 de la contraseña"
 
-#: libpq/hba.c:882
+#: libpq/auth.c:2391
 #, c-format
-msgid "hostssl requires SSL to be turned on"
-msgstr "hostssl requiere que SSL esté activado"
+msgid "could not create RADIUS socket: %m"
+msgstr "no se pudo crear el socket RADIUS: %m"
 
-#: libpq/hba.c:883
+#: libpq/auth.c:2412
 #, c-format
-msgid "Set ssl = on in postgresql.conf."
-msgstr "Defina «ssl = on» en postgresql.conf."
+msgid "could not bind local RADIUS socket: %m"
+msgstr "no se pudo enlazar el socket RADIUS local: %m"
 
-#: libpq/hba.c:891
+#: libpq/auth.c:2422
 #, c-format
-msgid "hostssl is not supported by this build"
-msgstr "hostssl no está soportado en este servidor"
+msgid "could not send RADIUS packet: %m"
+msgstr "no se pudo enviar el paquete RADIUS: %m"
 
-#: libpq/hba.c:892
+#: libpq/auth.c:2451 libpq/auth.c:2476
 #, c-format
-msgid "Compile with --with-openssl to use SSL connections."
-msgstr "Compile con --with-openssl para usar conexiones SSL."
+msgid "timeout waiting for RADIUS response"
+msgstr "se agotó el tiempo de espera de la respuesta RADIUS"
 
-#: libpq/hba.c:914
+#: libpq/auth.c:2469
 #, c-format
-msgid "invalid connection type \"%s\""
-msgstr "tipo de conexión «%s» no válido"
+msgid "could not check status on RADIUS socket: %m"
+msgstr "no se pudo verificar el estado en el socket %m"
 
-#: libpq/hba.c:927
+#: libpq/auth.c:2498
 #, c-format
-msgid "end-of-line before database specification"
-msgstr "fin de línea antes de especificación de base de datos"
+msgid "could not read RADIUS response: %m"
+msgstr "no se pudo leer la respuesta RADIUS: %m"
 
-#: libpq/hba.c:946
+#: libpq/auth.c:2510 libpq/auth.c:2514
 #, c-format
-msgid "end-of-line before role specification"
-msgstr "fin de línea antes de especificación de rol"
+msgid "RADIUS response was sent from incorrect port: %d"
+msgstr "la respuesta RADIUS fue enviada desde el port incorrecto: %d"
 
-#: libpq/hba.c:967
+#: libpq/auth.c:2523
 #, c-format
-msgid "end-of-line before IP address specification"
-msgstr "fin de línea antes de especificación de dirección IP"
+msgid "RADIUS response too short: %d"
+msgstr "la respuesta RADIUS es demasiado corta: %d"
 
-#: libpq/hba.c:977
+#: libpq/auth.c:2530
 #, c-format
-msgid "multiple values specified for host address"
-msgstr "múltiples valores especificados para la dirección de anfitrión"
+msgid "RADIUS response has corrupt length: %d (actual length %d)"
+msgstr "la respuesta RADIUS tiene largo corrupto: %d (largo real %d)"
 
-#: libpq/hba.c:978
+#: libpq/auth.c:2538
 #, c-format
-msgid "Specify one address range per line."
-msgstr "Especifique un rango de direcciones por línea."
+msgid "RADIUS response is to a different request: %d (should be %d)"
+msgstr "la respuesta RADIUS es a una petición diferente: %d (debería ser %d)"
 
-#: libpq/hba.c:1032
+#: libpq/auth.c:2563
 #, c-format
-msgid "invalid IP address \"%s\": %s"
-msgstr "dirección IP «%s» no válida: %s"
+msgid "could not perform MD5 encryption of received packet"
+msgstr "no se pudo realizar cifrado MD5 del paquete recibido"
 
-#: libpq/hba.c:1050
+#: libpq/auth.c:2572
 #, 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 has incorrect MD5 signature"
+msgstr "la respuesta RADIUS tiene firma MD5 incorrecta"
 
-#: libpq/hba.c:1062
+#: libpq/auth.c:2589
 #, c-format
-msgid "invalid CIDR mask in address \"%s\""
-msgstr "máscara CIDR no válida en dirección «%s»"
+msgid "RADIUS response has invalid code (%d) for user \"%s\""
+msgstr "la respuesta RADIUS tiene código no válido (%d) para el usuario «%s»"
 
-#: libpq/hba.c:1079
+#: libpq/be-fsstubs.c:134 libpq/be-fsstubs.c:165 libpq/be-fsstubs.c:199
+#: libpq/be-fsstubs.c:239 libpq/be-fsstubs.c:264 libpq/be-fsstubs.c:312
+#: libpq/be-fsstubs.c:335 libpq/be-fsstubs.c:592
 #, c-format
-msgid "end-of-line before netmask specification"
-msgstr "fin de línea antes de especificación de máscara de red"
+msgid "invalid large-object descriptor: %d"
+msgstr "el descriptor de objeto grande no es válido: %d"
 
-#: libpq/hba.c:1080
+#: libpq/be-fsstubs.c:180 libpq/be-fsstubs.c:218 libpq/be-fsstubs.c:611
+#: libpq/be-fsstubs.c:799 libpq/be-fsstubs.c:919
 #, 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 "permission denied for large object %u"
+msgstr "permiso denegado al objeto grande %u"
 
-#: libpq/hba.c:1090
+#: libpq/be-fsstubs.c:205 libpq/be-fsstubs.c:598
 #, c-format
-msgid "multiple values specified for netmask"
-msgstr "múltiples valores especificados para la máscara de red"
+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:1103
+#: libpq/be-fsstubs.c:247
 #, c-format
-msgid "invalid IP mask \"%s\": %s"
-msgstr "máscara IP «%s» no válida: %s"
+msgid "lo_lseek result out of range for large-object descriptor %d"
+msgstr "el resultado de lo_lseek está fuera de rango para el descriptor de objeto grande %d"
 
-#: libpq/hba.c:1120
+#: libpq/be-fsstubs.c:320
 #, c-format
-msgid "IP address and mask do not match"
-msgstr "La dirección y máscara IP no coinciden"
+msgid "lo_tell result out of range for large-object descriptor %d"
+msgstr "el resultado de lo_tell está fuera de rango para el descriptor de objeto grande %d"
 
-#: libpq/hba.c:1135
+#: libpq/be-fsstubs.c:457
 #, 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 "must be superuser to use server-side lo_import()"
+msgstr "debe ser superusuario para utilizar lo_import() en el extremo del servidor"
 
-#: libpq/hba.c:1145
+#: libpq/be-fsstubs.c:458
 #, c-format
-msgid "multiple values specified for authentication type"
-msgstr "múltiples valores especificados para el tipo de autentificación"
+msgid "Anyone can use the client-side lo_import() provided by libpq."
+msgstr "Todos los usuarios pueden utilizar lo_import() de cliente proporcionada por libpq."
 
-#: libpq/hba.c:1146
+#: libpq/be-fsstubs.c:471
 #, 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:1213
+#: libpq/be-fsstubs.c:493
 #, 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:1224
+#: libpq/be-fsstubs.c:523
 #, 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 "must be superuser to use server-side lo_export()"
+msgstr "debe ser superusuario para utilizar lo_export() en el extremo del servidor"
 
-#: libpq/hba.c:1245
+#: libpq/be-fsstubs.c:524
 #, c-format
-msgid "gssapi authentication is not supported on local sockets"
-msgstr "la autentificación gssapi no está soportada en conexiones locales"
+msgid "Anyone can use the client-side lo_export() provided by libpq."
+msgstr "Todos los usuarios pueden utilizar lo_export() de cliente proporcionada por libpq."
 
-#: libpq/hba.c:1256
+#: libpq/be-fsstubs.c:558
 #, c-format
-msgid "peer authentication is only supported on local sockets"
-msgstr "la autentificación peer sólo está soportada en conexiones locales"
+msgid "could not create server file \"%s\": %m"
+msgstr "no se pudo crear el archivo del servidor «%s»: %m"
 
-#: libpq/hba.c:1273
+#: libpq/be-fsstubs.c:570
 #, c-format
-msgid "cert authentication is only supported on hostssl connections"
-msgstr "la autentificación cert sólo está soportada en conexiones hostssl"
+msgid "could not write server file \"%s\": %m"
+msgstr "no se pudo escribir el archivo del servidor «%s»: %m"
 
-#: libpq/hba.c:1298
+#: libpq/be-fsstubs.c:824
 #, c-format
-msgid "authentication option not in name=value format: %s"
-msgstr "opción de autentificación en formato nombre=valor: %s"
+msgid "large object read request is too large"
+msgstr "el tamaño de petición de lectura de objeto grande es muy grande"
 
-#: libpq/hba.c:1335
+#: libpq/be-fsstubs.c:866 utils/adt/genfile.c:187 utils/adt/genfile.c:232
 #, c-format
-msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, or ldapurl together with ldapprefix"
-msgstr "no se puede usar ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute o ldapurl junto con ldapprefix"
+msgid "requested length cannot be negative"
+msgstr "el tamaño solicitado no puede ser negativo"
 
-#: libpq/hba.c:1345
+#: libpq/be-secure.c:300 libpq/be-secure.c:427
 #, c-format
-msgid "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix\", or \"ldapsuffix\" to be set"
-msgstr "el método de autentificación «ldap» requiere que los argumento «ldapbasedn», «ldapprefix» o «ldapsuffix» estén definidos"
-
-#: libpq/hba.c:1388
-msgid "ident, peer, gssapi, sspi, and cert"
-msgstr "ident, peer, gssapi, sspi y cert"
+msgid "SSL error: %s"
+msgstr "error de SSL: %s"
 
-#: libpq/hba.c:1401
+#: libpq/be-secure.c:311 libpq/be-secure.c:442 libpq/be-secure.c:1151
 #, c-format
-msgid "clientcert can only be configured for \"hostssl\" rows"
-msgstr "clientcert sólo puede ser configurado en líneas «hostssl»"
+msgid "unrecognized SSL error code: %d"
+msgstr "código de error SSL no reconocido: %d"
 
-#: libpq/hba.c:1412
+#: libpq/be-secure.c:372
 #, 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 "SSL failure during renegotiation start"
+msgstr "fallo SSL durante el inicio de renegociación"
 
-#: libpq/hba.c:1413
+#: libpq/be-secure.c:387
 #, c-format
-msgid "Make sure the configuration parameter \"ssl_ca_file\" is set."
-msgstr "Asegúrese que el parámetro de configuración «ssl_ca_file» esté definido."
+msgid "SSL handshake failure on renegotiation, retrying"
+msgstr "fallo en el «handshake» durante la renegociación SSL, intentando de nuevo"
 
-#: libpq/hba.c:1426
+#: libpq/be-secure.c:391
 #, c-format
-msgid "clientcert can not be set to 0 when using \"cert\" authentication"
-msgstr "clientcert no puede establecerse en 0 cuando se emplea autentificación «cert»"
+msgid "could not complete SSL handshake on renegotiation, too many failures"
+msgstr "no se pudo completar el «handshake» durante la renegociación SSL, demasiados fallos"
 
-#: libpq/hba.c:1453
+#: libpq/be-secure.c:468
 #, c-format
-msgid "could not parse LDAP URL \"%s\": %s"
-msgstr "no se pudo interpretar la URL LDAP «%s»: %s"
+msgid "SSL failed to renegotiate connection before limit expired"
+msgstr "SSL no pudo renegociar conexión antes de la expiración del límite"
 
-#: libpq/hba.c:1461
+#: libpq/be-secure.c:867
 #, c-format
-msgid "unsupported LDAP URL scheme: %s"
-msgstr "esquema de URL LDAP no soportado: %s"
+msgid "ECDH: unrecognized curve name: %s"
+msgstr "ECDH: nombre de curva no reconocida: %s"
 
-#: libpq/hba.c:1477
+#: libpq/be-secure.c:872
 #, c-format
-msgid "filters not supported in LDAP URLs"
-msgstr "los filtros no están soportados en URLs LDAP"
+msgid "ECDH: could not create key"
+msgstr "ECDH: no se pudo crear la llave"
 
-#: libpq/hba.c:1485
+#: libpq/be-secure.c:913
 #, c-format
-msgid "LDAP URLs not supported on this platform"
-msgstr "las URLs LDAP no está soportado en esta plataforma"
+msgid "could not create SSL context: %s"
+msgstr "no se pudo crear un contexto SSL: %s"
 
-#: libpq/hba.c:1509
+#: libpq/be-secure.c:929
 #, c-format
-msgid "invalid LDAP port number: \"%s\""
-msgstr "número de puerto LDAP no válido: «%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:1549 libpq/hba.c:1556
-msgid "gssapi and sspi"
-msgstr "gssapi y sspi"
+#: libpq/be-secure.c:935
+#, c-format
+msgid "could not access private key file \"%s\": %m"
+msgstr "no se pudo acceder al archivo de la llave privada «%s»: %m"
 
-#: libpq/hba.c:1598
+#: libpq/be-secure.c:950
 #, c-format
-msgid "invalid RADIUS port number: \"%s\""
-msgstr "número de puerto RADIUS no válido: «%s»"
+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:1618
+#: libpq/be-secure.c:952
 #, c-format
-msgid "unrecognized authentication option name: \"%s\""
-msgstr "nombre de opción de autentificación desconocido: «%s»"
+msgid "Permissions should be u=rw (0600) or less."
+msgstr "Los permisos deberían ser u=rw (0500) o menos."
 
-#: libpq/hba.c:1759 guc-file.l:538
+#: libpq/be-secure.c:959
 #, 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 load private key file \"%s\": %s"
+msgstr "no se pudo cargar el archivo de la llave privada «%s»: %s"
 
-#: libpq/hba.c:1809
+#: libpq/be-secure.c:964
 #, c-format
-msgid "configuration file \"%s\" contains no entries"
-msgstr "el archivo de configuración «%s» no contiene líneas"
+msgid "check of private key failed: %s"
+msgstr "falló la revisión de la llave privada: %s"
 
-#: libpq/hba.c:1905
+#: libpq/be-secure.c:1001
 #, c-format
-msgid "invalid regular expression \"%s\": %s"
-msgstr "la expresión regular «%s» no es válida: %s"
+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:1965
+#: libpq/be-secure.c:1025
 #, c-format
-msgid "regular expression match for \"%s\" failed: %s"
-msgstr "la coincidencia de expresión regular para «%s» falló: %s"
+msgid "SSL certificate revocation list file \"%s\" ignored"
+msgstr "ignorando lista de revocación de certificados SSL «%s»"
 
-#: libpq/hba.c:1982
+#: libpq/be-secure.c:1027
 #, 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 "SSL library does not support certificate revocation lists."
+msgstr "La libreria SSL no soporta listas de revocación de certificados."
 
-#: libpq/hba.c:2078
+#: libpq/be-secure.c:1032
 #, 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 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:2098
+#: libpq/be-secure.c:1078
 #, 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 initialize SSL connection: %s"
+msgstr "no se pudo inicializar la conexión SSL: %s"
 
-#: libpq/hba.c:2133
+#: libpq/be-secure.c:1086
 #, 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 set SSL socket: %s"
+msgstr "no se definir un socket SSL: %s"
 
-#: libpq/pqcomm.c:326
+#: libpq/be-secure.c:1131
 #, 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 accept SSL connection: %m"
+msgstr "no se pudo aceptar una conexión SSL: %m"
 
-#: libpq/pqcomm.c:347
+#: libpq/be-secure.c:1135 libpq/be-secure.c:1146
 #, 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: EOF detected"
+msgstr "no se pudo aceptar una conexión SSL: se detectó EOF"
 
-#: libpq/pqcomm.c:351
+#: libpq/be-secure.c:1140
 #, 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: %s"
+msgstr "no se pudo aceptar una conexión SSL: %s"
 
-#: libpq/pqcomm.c:378
+#: libpq/be-secure.c:1194
 #, 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:387
-msgid "IPv4"
-msgstr "IPv4"
+msgid "SSL certificate's common name contains embedded null"
+msgstr "el «common name» del certificado SSL contiene un carácter null"
 
-#: libpq/pqcomm.c:391
-msgid "IPv6"
-msgstr "IPv6"
+#: libpq/be-secure.c:1204
+#, c-format
+msgid "SSL connection from \"%s\""
+msgstr "conexión SSL desde «%s»"
 
-#: libpq/pqcomm.c:396
-msgid "Unix"
-msgstr "Unix"
+#: libpq/be-secure.c:1255
+msgid "no SSL error reported"
+msgstr "código de error SSL no reportado"
 
-#: libpq/pqcomm.c:401
+#: libpq/be-secure.c:1259
 #, c-format
-msgid "unrecognized address family %d"
-msgstr "la familia de direcciones %d no es reconocida"
+msgid "SSL error code %lu"
+msgstr "código de error SSL %lu"
 
-#. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:412
+#: libpq/crypt.c:67
 #, c-format
-msgid "could not create %s socket: %m"
-msgstr "no se pudo crear el socket %s: %m"
+msgid "User \"%s\" has no password assigned."
+msgstr "El usuario «%s» no tiene una contraseña asignada."
 
-#: libpq/pqcomm.c:437 libpq/pqcomm.c:453
+#: libpq/crypt.c:96 libpq/crypt.c:111
 #, c-format
-msgid "setsockopt(%s) failed: %m"
-msgstr "setsockopt(%s) falló: %m"
+msgid "User \"%s\" has an empty password."
+msgstr "El usuario «%s» tiene contraseña vacía."
 
-#. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:473
+#: libpq/crypt.c:189
 #, c-format
-msgid "could not bind %s socket: %m"
-msgstr "no se pudo enlazar al socket %s: %m"
+msgid "User \"%s\" has an expired password."
+msgstr "El usuario «%s» tiene contraseña expirada."
 
-#: libpq/pqcomm.c:476
+#: libpq/hba.c:178
 #, 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 "authentication file token too long, skipping: \"%s\""
+msgstr "una palabra en el archivo de autentificación es demasiado larga, ignorando: «%s»"
 
-#: libpq/pqcomm.c:479
+#: libpq/hba.c:322
 #, 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 "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"
 
-#. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:512
+#: libpq/hba.c:399
 #, c-format
-msgid "could not listen on %s socket: %m"
-msgstr "no se pudo escuchar en el socket %s: %m"
+msgid "authentication file line too long"
+msgstr "línea en el archivo de autentificación demasiado larga"
 
-#: libpq/pqcomm.c:597
+#: libpq/hba.c:400 libpq/hba.c:747 libpq/hba.c:763 libpq/hba.c:793
+#: libpq/hba.c:839 libpq/hba.c:852 libpq/hba.c:874 libpq/hba.c:883
+#: libpq/hba.c:906 libpq/hba.c:918 libpq/hba.c:937 libpq/hba.c:958
+#: libpq/hba.c:969 libpq/hba.c:1024 libpq/hba.c:1042 libpq/hba.c:1054
+#: libpq/hba.c:1071 libpq/hba.c:1081 libpq/hba.c:1095 libpq/hba.c:1111
+#: libpq/hba.c:1126 libpq/hba.c:1137 libpq/hba.c:1173 libpq/hba.c:1205
+#: libpq/hba.c:1216 libpq/hba.c:1236 libpq/hba.c:1247 libpq/hba.c:1264
+#: libpq/hba.c:1289 libpq/hba.c:1326 libpq/hba.c:1336 libpq/hba.c:1392
+#: libpq/hba.c:1404 libpq/hba.c:1417 libpq/hba.c:1502 libpq/hba.c:1573
+#: libpq/hba.c:1591 libpq/hba.c:1612 tsearch/ts_locale.c:193
 #, c-format
-msgid "group \"%s\" does not exist"
-msgstr "no existe el grupo «%s»"
+msgid "line %d of configuration file \"%s\""
+msgstr "línea %d del archivo de configuración «%s»"
 
-#: libpq/pqcomm.c:607
+#. translator: the second %s is a list of auth methods
+#: libpq/hba.c:745
 #, c-format
-msgid "could not set group of file \"%s\": %m"
-msgstr "no se pudo definir el grupo del archivo «%s»: %m"
+msgid "authentication option \"%s\" is only valid for authentication methods %s"
+msgstr "la opción de autentificación «%s» sólo es válida para los métodos de autentificación %s"
 
-#: libpq/pqcomm.c:618
+#: libpq/hba.c:761
 #, c-format
-msgid "could not set permissions of file \"%s\": %m"
-msgstr "no se pudo definir los permisos del archivo «%s»: %m"
+msgid "authentication method \"%s\" requires argument \"%s\" to be set"
+msgstr "el método de autentificación «%s» requiere que el argumento «%s» esté definido"
 
-#: libpq/pqcomm.c:648
+#: libpq/hba.c:782
 #, c-format
-msgid "could not accept new connection: %m"
-msgstr "no se pudo aceptar una nueva conexión: %m"
+msgid "missing entry in file \"%s\" at end of line %d"
+msgstr "falta una entrada en el archivo «%s» al final de la línea %d"
 
-#: libpq/pqcomm.c:840
+#: libpq/hba.c:792
 #, c-format
-msgid "could not set socket to nonblocking mode: %m"
-msgstr "no se pudo establecer el socket en modo no bloqueante: %m"
+msgid "multiple values in ident field"
+msgstr "múltiples valores en campo «ident»"
 
-#: libpq/pqcomm.c:846
+#: libpq/hba.c:837
 #, c-format
-msgid "could not set socket to blocking mode: %m"
-msgstr "no se pudo poner el socket en modo bloqueante: %m"
+msgid "multiple values specified for connection type"
+msgstr "múltiples valores especificados para tipo de conexión"
 
-#: libpq/pqcomm.c:898 libpq/pqcomm.c:992
+#: libpq/hba.c:838
 #, c-format
-msgid "could not receive data from client: %m"
-msgstr "no se pudo recibir datos del cliente: %m"
+msgid "Specify exactly one connection type per line."
+msgstr "Especifique exactamente un tipo de conexión por línea."
 
-#: libpq/pqcomm.c:1137 tcop/postgres.c:3964
+#: libpq/hba.c:851
 #, c-format
-msgid "terminating connection because protocol sync was lost"
-msgstr "terminando la conexión por pérdida de sincronía del protocolo"
+msgid "local connections are not supported by this build"
+msgstr "las conexiones locales no están soportadas en este servidor"
 
-#: libpq/pqcomm.c:1203
+#: libpq/hba.c:872
 #, c-format
-msgid "unexpected EOF within message length word"
-msgstr "EOF inesperado dentro de la palabra de tamaño del mensaje"
+msgid "hostssl requires SSL to be turned on"
+msgstr "hostssl requiere que SSL esté activado"
 
-#: libpq/pqcomm.c:1214
+#: libpq/hba.c:873
 #, c-format
-msgid "invalid message length"
-msgstr "el largo de mensaje no es válido"
+msgid "Set ssl = on in postgresql.conf."
+msgstr "Defina «ssl = on» en postgresql.conf."
 
-#: libpq/pqcomm.c:1236 libpq/pqcomm.c:1249
+#: libpq/hba.c:881
 #, c-format
-msgid "incomplete message from client"
-msgstr "mensaje incompleto del cliente"
+msgid "hostssl is not supported by this build"
+msgstr "hostssl no está soportado en este servidor"
 
-#: libpq/pqcomm.c:1382
+#: libpq/hba.c:882
 #, c-format
-msgid "could not send data to client: %m"
-msgstr "no se pudo enviar datos al cliente: %m"
+msgid "Compile with --with-openssl to use SSL connections."
+msgstr "Compile con --with-openssl para usar conexiones SSL."
 
-#: libpq/pqformat.c:436
+#: libpq/hba.c:904
 #, c-format
-msgid "no data left in message"
-msgstr "no hay datos restantes en el mensaje"
+msgid "invalid connection type \"%s\""
+msgstr "tipo de conexión «%s» no válido"
 
-#: libpq/pqformat.c:556 libpq/pqformat.c:574 libpq/pqformat.c:595
-#: utils/adt/arrayfuncs.c:1444 utils/adt/rowtypes.c:563
+#: libpq/hba.c:917
 #, c-format
-msgid "insufficient data left in message"
-msgstr "los datos restantes del mensaje son insuficientes"
+msgid "end-of-line before database specification"
+msgstr "fin de línea antes de especificación de base de datos"
 
-#: libpq/pqformat.c:636
+#: libpq/hba.c:936
 #, c-format
-msgid "invalid string in message"
-msgstr "cadena inválida en el mensaje"
+msgid "end-of-line before role specification"
+msgstr "fin de línea antes de especificación de rol"
 
-#: libpq/pqformat.c:652
+#: libpq/hba.c:957
 #, c-format
-msgid "invalid message format"
-msgstr "formato de mensaje no válido"
+msgid "end-of-line before IP address specification"
+msgstr "fin de línea antes de especificación de dirección IP"
 
-#: main/main.c:268
+#: libpq/hba.c:967
 #, c-format
-msgid "%s: setsysinfo failed: %s\n"
-msgstr "%s: setsysinfo falló: %s\n"
+msgid "multiple values specified for host address"
+msgstr "múltiples valores especificados para la dirección de anfitrión"
 
-#: main/main.c:290
+#: libpq/hba.c:968
 #, c-format
-msgid "%s: WSAStartup failed: %d\n"
-msgstr "%s: WSAStartup falló: %d\n"
+msgid "Specify one address range per line."
+msgstr "Especifique un rango de direcciones por línea."
 
-#: main/main.c:353
+#: libpq/hba.c:1022
 #, c-format
-msgid ""
-"%s is the PostgreSQL server.\n"
-"\n"
-msgstr ""
-"%s es el servidor PostgreSQL.\n"
-"\n"
+msgid "invalid IP address \"%s\": %s"
+msgstr "dirección IP «%s» no válida: %s"
 
-#: main/main.c:354
+#: libpq/hba.c:1040
 #, c-format
-msgid ""
-"Usage:\n"
-"  %s [OPTION]...\n"
-"\n"
-msgstr ""
-"Empleo:\n"
-"  %s [OPCION]...\n"
-"\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:355
+#: libpq/hba.c:1052
 #, c-format
-msgid "Options:\n"
-msgstr "Opciones:\n"
+msgid "invalid CIDR mask in address \"%s\""
+msgstr "máscara CIDR no válida en dirección «%s»"
 
-#: main/main.c:357
+#: libpq/hba.c:1069
 #, c-format
-msgid "  -A 1|0             enable/disable run-time assert checking\n"
-msgstr "  -A 1|0          activar/desactivar el uso de aseveraciones (asserts)\n"
+msgid "end-of-line before netmask specification"
+msgstr "fin de línea antes de especificación de máscara de red"
 
-#: main/main.c:359
+#: libpq/hba.c:1070
 #, c-format
-msgid "  -B NBUFFERS        number of shared buffers\n"
-msgstr "  -B NBUFFERS     número de búfers de memoria compartida\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:360
+#: libpq/hba.c:1080
 #, 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 specified for netmask"
+msgstr "múltiples valores especificados para la máscara de red"
 
-#: main/main.c:361
+#: libpq/hba.c:1093
 #, 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 "invalid IP mask \"%s\": %s"
+msgstr "máscara IP «%s» no válida: %s"
 
-#: main/main.c:362
+#: libpq/hba.c:1110
 #, c-format
-msgid "  -d 1-5             debugging level\n"
-msgstr "  -d 1-5          nivel de depuración\n"
+msgid "IP address and mask do not match"
+msgstr "La dirección y máscara IP no coinciden"
 
-#: main/main.c:363
+#: libpq/hba.c:1125
 #, c-format
-msgid "  -D DATADIR         database directory\n"
-msgstr "  -D DATADIR      directorio de bases de datos\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:364
+#: libpq/hba.c:1135
 #, c-format
-msgid "  -e                 use European date input format (DMY)\n"
-msgstr "  -e              usar estilo europeo de fechas (DMY)\n"
+msgid "multiple values specified for authentication type"
+msgstr "múltiples valores especificados para el tipo de autentificación"
 
-#: main/main.c:365
+#: libpq/hba.c:1136
 #, c-format
-msgid "  -F                 turn fsync off\n"
-msgstr "  -F              desactivar fsync\n"
+msgid "Specify exactly one authentication type per line."
+msgstr "Especifique exactamente un tipo de autentificación por línea."
 
-#: main/main.c:366
+#: libpq/hba.c:1203
 #, 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 "invalid authentication method \"%s\""
+msgstr "método de autentificación «%s» no válido"
 
-#: main/main.c:367
+#: libpq/hba.c:1214
 #, c-format
-msgid "  -i                 enable TCP/IP connections\n"
-msgstr "  -i              activar conexiones TCP/IP\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:368
+#: libpq/hba.c:1235
 #, c-format
-msgid "  -k DIRECTORY       Unix-domain socket location\n"
-msgstr "  -k DIRECTORIO   ubicación del socket Unix\n"
+msgid "gssapi authentication is not supported on local sockets"
+msgstr "la autentificación gssapi no está soportada en conexiones locales"
 
-#: main/main.c:370
+#: libpq/hba.c:1246
 #, c-format
-msgid "  -l                 enable SSL connections\n"
-msgstr "  -l              activar conexiones SSL\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:372
+#: libpq/hba.c:1263
 #, 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 "cert authentication is only supported on hostssl connections"
+msgstr "la autentificación cert sólo está soportada en conexiones hostssl"
 
-#: main/main.c:373
+#: libpq/hba.c:1288
 #, 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 "authentication option not in name=value format: %s"
+msgstr "opción de autentificación en formato nombre=valor: %s"
 
-#: main/main.c:374
+#: libpq/hba.c:1325
 #, c-format
-msgid "  -p PORT            port number to listen on\n"
-msgstr "  -p PUERTO       número de puerto en el cual escuchar\n"
+msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, or ldapurl together with ldapprefix"
+msgstr "no se puede usar ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute o ldapurl junto con ldapprefix"
 
-#: main/main.c:375
+#: libpq/hba.c:1335
 #, c-format
-msgid "  -s                 show statistics after each query\n"
-msgstr "  -s              mostrar estadísticas después de cada consulta\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:376
-#, 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"
+#: libpq/hba.c:1378
+msgid "ident, peer, gssapi, sspi, and cert"
+msgstr "ident, peer, gssapi, sspi y cert"
 
-#: main/main.c:377
+#: libpq/hba.c:1391
 #, 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 "clientcert can only be configured for \"hostssl\" rows"
+msgstr "clientcert sólo puede ser configurado en líneas «hostssl»"
 
-#: main/main.c:378
+#: libpq/hba.c:1402
 #, c-format
-msgid "  --NAME=VALUE       set run-time parameter\n"
-msgstr "  --NOMBRE=VALOR  definir parámetro de ejecución\n"
+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"
 
-#: main/main.c:379
+#: libpq/hba.c:1403
 #, 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 "Make sure the configuration parameter \"ssl_ca_file\" is set."
+msgstr "Asegúrese que el parámetro de configuración «ssl_ca_file» esté definido."
 
-#: main/main.c:380
+#: libpq/hba.c:1416
 #, c-format
-msgid "  -?, --help         show this help, then exit\n"
-msgstr "  -?, --help      muestra esta ayuda, luego sale\n"
+msgid "clientcert can not be set to 0 when using \"cert\" authentication"
+msgstr "clientcert no puede establecerse en 0 cuando se emplea autentificación «cert»"
 
-#: main/main.c:382
+#: libpq/hba.c:1443
 #, c-format
-msgid ""
-"\n"
-"Developer options:\n"
-msgstr ""
-"\n"
-"Opciones de desarrollador:\n"
+msgid "could not parse LDAP URL \"%s\": %s"
+msgstr "no se pudo interpretar la URL LDAP «%s»: %s"
 
-#: main/main.c:383
+#: libpq/hba.c:1451
 #, 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 "unsupported LDAP URL scheme: %s"
+msgstr "esquema de URL LDAP no soportado: %s"
 
-#: main/main.c:384
+#: libpq/hba.c:1469
 #, 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 "filters not supported in LDAP URLs"
+msgstr "los filtros no están soportados en URLs LDAP"
 
-#: main/main.c:385
+#: libpq/hba.c:1477
 #, c-format
-msgid "  -O                 allow system table structure changes\n"
-msgstr "  -O              permitir cambios en estructura de tablas de sistema\n"
+msgid "LDAP URLs not supported on this platform"
+msgstr "las URLs LDAP no está soportado en esta plataforma"
 
-#: main/main.c:386
+#: libpq/hba.c:1501
 #, c-format
-msgid "  -P                 disable system indexes\n"
-msgstr "  -P              desactivar índices de sistema\n"
+msgid "invalid LDAP port number: \"%s\""
+msgstr "número de puerto LDAP no válido: «%s»"
 
-#: main/main.c:387
-#, 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"
+#: libpq/hba.c:1541 libpq/hba.c:1548
+msgid "gssapi and sspi"
+msgstr "gssapi y sspi"
 
-#: main/main.c:388
+#: libpq/hba.c:1590
 #, 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 "invalid RADIUS port number: \"%s\""
+msgstr "número de puerto RADIUS no válido: «%s»"
 
-#: main/main.c:389
+#: libpq/hba.c:1610
 #, 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 "unrecognized authentication option name: \"%s\""
+msgstr "nombre de opción de autentificación desconocido: «%s»"
 
-#: main/main.c:391
+#: libpq/hba.c:1801
 #, c-format
-msgid ""
-"\n"
-"Options for single-user mode:\n"
-msgstr ""
-"\n"
-"Opciones para modo mono-usuario:\n"
+msgid "configuration file \"%s\" contains no entries"
+msgstr "el archivo de configuración «%s» no contiene líneas"
 
-#: main/main.c:392
+#: libpq/hba.c:1897
 #, 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 regular expression \"%s\": %s"
+msgstr "la expresión regular «%s» no es válida: %s"
 
-#: main/main.c:393
+#: libpq/hba.c:1957
 #, 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 "regular expression match for \"%s\" failed: %s"
+msgstr "la coincidencia de expresión regular para «%s» falló: %s"
 
-#: main/main.c:394
+#: libpq/hba.c:1974
 #, c-format
-msgid "  -d 0-5             override debugging level\n"
-msgstr "  -d 0-5          nivel de depuración\n"
+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»"
 
-#: main/main.c:395
+#: libpq/hba.c:2070
 #, c-format
-msgid "  -E                 echo statement before execution\n"
-msgstr "  -E              mostrar las consultas antes de su ejecución\n"
+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"
 
-#: main/main.c:396
+#: libpq/hba.c:2090
 #, 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 "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»"
 
-#: main/main.c:397 main/main.c:402
+#: libpq/hba.c:2125
 #, 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 "could not open usermap file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de mapa de usuarios «%s»: %m"
 
-#: main/main.c:399
+#: libpq/pqcomm.c:326
 #, c-format
-msgid ""
-"\n"
-"Options for bootstrapping mode:\n"
-msgstr ""
-"\n"
-"Opciones para modo de inicio (bootstrapping):\n"
+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)"
 
-#: main/main.c:400
+#: libpq/pqcomm.c:347
 #, 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 "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"
 
-#: main/main.c:401
+#: libpq/pqcomm.c:351
 #, 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 "could not translate service \"%s\" to address: %s"
+msgstr "no se pudo traducir el servicio «%s» a dirección: %s"
 
-#: main/main.c:403
+#: libpq/pqcomm.c:378
 #, c-format
-msgid "  -x NUM             internal use\n"
-msgstr "  -x NUM          uso interno\n"
+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"
 
-#: main/main.c:405
+#: libpq/pqcomm.c:387
+msgid "IPv4"
+msgstr "IPv4"
+
+#: libpq/pqcomm.c:391
+msgid "IPv6"
+msgstr "IPv6"
+
+#: libpq/pqcomm.c:396
+msgid "Unix"
+msgstr "Unix"
+
+#: libpq/pqcomm.c:401
 #, 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 <[email protected]>.\n"
-msgstr ""
-"\n"
-"Por favor lea la documentación para obtener la lista completa de\n"
-"parámetros de configuración y cómo definirlos en la línea de órdenes\n"
-"y en el archivo de configuración.\n"
-"\n"
-"Reporte errores a <[email protected]>\n"
+msgid "unrecognized address family %d"
+msgstr "la familia de direcciones %d no es reconocida"
 
-#: main/main.c:419
+#. translator: %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:412
 #, 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 "could not create %s socket: %m"
+msgstr "no se pudo crear el socket %s: %m"
 
-#: main/main.c:436
+#: libpq/pqcomm.c:437 libpq/pqcomm.c:453
 #, 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 "setsockopt(%s) failed: %m"
+msgstr "setsockopt(%s) falló: %m"
 
-#: main/main.c:443
+#. translator: %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:473
 #, 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 bind %s socket: %m"
+msgstr "no se pudo enlazar al socket %s: %m"
 
-#: nodes/nodeFuncs.c:115 nodes/nodeFuncs.c:141 parser/parse_coerce.c:1782
-#: parser/parse_coerce.c:1810 parser/parse_coerce.c:1886
-#: parser/parse_expr.c:1739 parser/parse_func.c:590 parser/parse_oper.c:948
+#: libpq/pqcomm.c:476
 #, 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 "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."
 
-#: optimizer/path/joinrels.c:815
+#: libpq/pqcomm.c:479
 #, 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 "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."
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/initsplan.c:1152
+#. translator: %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:512
 #, 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 "could not listen on %s socket: %m"
+msgstr "no se pudo escuchar en el socket %s: %m"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/planner.c:1235 parser/analyze.c:1330 parser/analyze.c:1528
-#: parser/analyze.c:2287
+#: libpq/pqcomm.c:597
 #, c-format
-msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
-msgstr "%s no está permitido con UNION/INTERSECT/EXCEPT"
+msgid "group \"%s\" does not exist"
+msgstr "no existe el grupo «%s»"
 
-#: optimizer/plan/planner.c:2802
+#: libpq/pqcomm.c:607
 #, c-format
-msgid "could not implement GROUP BY"
-msgstr "no se pudo implementar GROUP BY"
+msgid "could not set group of file \"%s\": %m"
+msgstr "no se pudo definir el grupo del archivo «%s»: %m"
 
-#: optimizer/plan/planner.c:2803 optimizer/plan/planner.c:2971
-#: optimizer/prep/prepunion.c:825
+#: libpq/pqcomm.c:618
 #, 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 "could not set permissions of file \"%s\": %m"
+msgstr "no se pudo definir los permisos del archivo «%s»: %m"
 
-#: optimizer/plan/planner.c:2970
+#: libpq/pqcomm.c:648
 #, c-format
-msgid "could not implement DISTINCT"
-msgstr "no se pudo implementar DISTINCT"
+msgid "could not accept new connection: %m"
+msgstr "no se pudo aceptar una nueva conexión: %m"
 
-#: optimizer/plan/planner.c:3576
+#: libpq/pqcomm.c:840
 #, c-format
-msgid "could not implement window PARTITION BY"
-msgstr "No se pudo implementar PARTITION BY de ventana"
+msgid "could not set socket to nonblocking mode: %m"
+msgstr "no se pudo establecer el socket en modo no bloqueante: %m"
 
-#: optimizer/plan/planner.c:3577
+#: libpq/pqcomm.c:846
 #, 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 "could not set socket to blocking mode: %m"
+msgstr "no se pudo poner el socket en modo bloqueante: %m"
 
-#: optimizer/plan/planner.c:3581
+#: libpq/pqcomm.c:898 libpq/pqcomm.c:992
 #, c-format
-msgid "could not implement window ORDER BY"
-msgstr "no se pudo implementar ORDER BY de ventana"
+msgid "could not receive data from client: %m"
+msgstr "no se pudo recibir datos del cliente: %m"
 
-#: optimizer/plan/planner.c:3582
+#: libpq/pqcomm.c:1137 tcop/postgres.c:3978
 #, 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 "terminating connection because protocol sync was lost"
+msgstr "terminando la conexión por pérdida de sincronía del protocolo"
 
-#: optimizer/plan/setrefs.c:403
+#: libpq/pqcomm.c:1203
 #, c-format
-msgid "too many range table entries"
-msgstr "demasiadas «range table entries»"
+msgid "unexpected EOF within message length word"
+msgstr "EOF inesperado dentro de la palabra de tamaño del mensaje"
 
-#: optimizer/prep/prepunion.c:419
+#: libpq/pqcomm.c:1214
 #, c-format
-msgid "could not implement recursive UNION"
-msgstr "no se pudo implementar UNION recursivo"
+msgid "invalid message length"
+msgstr "el largo de mensaje no es válido"
 
-#: optimizer/prep/prepunion.c:420
+#: libpq/pqcomm.c:1236 libpq/pqcomm.c:1249
 #, 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 "incomplete message from client"
+msgstr "mensaje incompleto del cliente"
 
-#. translator: %s is UNION, INTERSECT, or EXCEPT
-#: optimizer/prep/prepunion.c:824
+#: libpq/pqcomm.c:1382
 #, c-format
-msgid "could not implement %s"
-msgstr "no se pudo implementar %s"
+msgid "could not send data to client: %m"
+msgstr "no se pudo enviar datos al cliente: %m"
 
-#: optimizer/util/clauses.c:4615
+#: libpq/pqformat.c:436
 #, c-format
-msgid "SQL function \"%s\" during inlining"
-msgstr "función SQL «%s», durante expansión en línea"
+msgid "no data left in message"
+msgstr "no hay datos restantes en el mensaje"
 
-#: optimizer/util/plancat.c:104
+#: libpq/pqformat.c:556 libpq/pqformat.c:574 libpq/pqformat.c:595
+#: utils/adt/arrayfuncs.c:1456 utils/adt/rowtypes.c:563
 #, c-format
-msgid "cannot access temporary or unlogged relations during recovery"
-msgstr "no se pueden crear tablas temporales o unlogged durante la recuperación"
+msgid "insufficient data left in message"
+msgstr "los datos restantes del mensaje son insuficientes"
 
-#: parser/analyze.c:627 parser/analyze.c:1102
+#: libpq/pqformat.c:636
 #, c-format
-msgid "VALUES lists must all be the same length"
-msgstr "las listas VALUES deben ser todas de la misma longitud"
+msgid "invalid string in message"
+msgstr "cadena inválida en el mensaje"
 
-#: parser/analyze.c:794
+#: libpq/pqformat.c:652
 #, c-format
-msgid "INSERT has more expressions than target columns"
-msgstr "INSERT tiene más expresiones que columnas de destino"
+msgid "invalid message format"
+msgstr "formato de mensaje no válido"
 
-#: parser/analyze.c:812
+#: main/main.c:268
 #, c-format
-msgid "INSERT has more target columns than expressions"
-msgstr "INSERT tiene más columnas de destino que expresiones"
+msgid "%s: setsysinfo failed: %s\n"
+msgstr "%s: setsysinfo falló: %s\n"
 
-#: parser/analyze.c:816
+#: main/main.c:290
 #, 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 "%s: WSAStartup failed: %d\n"
+msgstr "%s: WSAStartup falló: %d\n"
 
-#: parser/analyze.c:924 parser/analyze.c:1303
+#: main/main.c:353
 #, c-format
-msgid "SELECT ... INTO is not allowed here"
-msgstr "SELECT ... INTO no está permitido aquí"
+msgid ""
+"%s is the PostgreSQL server.\n"
+"\n"
+msgstr ""
+"%s es el servidor PostgreSQL.\n"
+"\n"
 
-#: parser/analyze.c:1116
+#: main/main.c:354
 #, c-format
-msgid "DEFAULT can only appear in a VALUES list within INSERT"
-msgstr "DEFAULT sólo puede aparecer en listas VALUES dentro de un INSERT"
+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:1235 parser/analyze.c:2459
+#: main/main.c:355
 #, c-format
-msgid "%s cannot be applied to VALUES"
-msgstr "%s no puede ser aplicado a VALUES"
+msgid "Options:\n"
+msgstr "Opciones:\n"
 
-#: parser/analyze.c:1456
+#: main/main.c:357
 #, c-format
-msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
-msgstr "cláusula UNION/INTERSECT/EXCEPT ORDER BY no válida"
+msgid "  -A 1|0             enable/disable run-time assert checking\n"
+msgstr "  -A 1|0          activar/desactivar el uso de aseveraciones (asserts)\n"
 
-#: parser/analyze.c:1457
+#: main/main.c:359
 #, 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 "  -B NBUFFERS        number of shared buffers\n"
+msgstr "  -B NBUFFERS     número de búfers de memoria compartida\n"
 
-#: parser/analyze.c:1458
+#: main/main.c:360
 #, 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 "  -c NAME=VALUE      set run-time parameter\n"
+msgstr "  -c VAR=VALOR    definir parámetro de ejecución\n"
 
-#: parser/analyze.c:1518
+#: main/main.c:361
 #, 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 "  -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"
 
-#: parser/analyze.c:1582
+#: main/main.c:362
 #, 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 "  -d 1-5             debugging level\n"
+msgstr "  -d 1-5          nivel de depuración\n"
 
-#: parser/analyze.c:1671
+#: main/main.c:363
 #, 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 "  -D DATADIR         database directory\n"
+msgstr "  -D DATADIR      directorio de bases de datos\n"
 
-#: parser/analyze.c:2051
+#: main/main.c:364
 #, c-format
-msgid "RETURNING must have at least one column"
-msgstr "RETURNING debe tener al menos una columna"
+msgid "  -e                 use European date input format (DMY)\n"
+msgstr "  -e              usar estilo europeo de fechas (DMY)\n"
 
-#: parser/analyze.c:2088
+#: main/main.c:365
 #, c-format
-msgid "cannot specify both SCROLL and NO SCROLL"
-msgstr "no se puede especificar SCROLL y NO SCROLL"
+msgid "  -F                 turn fsync off\n"
+msgstr "  -F              desactivar fsync\n"
 
-#: parser/analyze.c:2106
+#: main/main.c:366
 #, 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 "  -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:2114
+#: main/main.c:367
 #, c-format
-msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
-msgstr "DECLARE CURSOR WITH HOLD ... %s no está soportado"
+msgid "  -i                 enable TCP/IP connections\n"
+msgstr "  -i              activar conexiones TCP/IP\n"
 
-#: parser/analyze.c:2117
+#: main/main.c:368
 #, c-format
-msgid "Holdable cursors must be READ ONLY."
-msgstr "Los cursores declarados HOLD deben ser READ ONLY."
+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:2125
+#: main/main.c:370
 #, c-format
-msgid "DECLARE SCROLL CURSOR ... %s is not supported"
-msgstr "DECLARE SCROLL CURSOR ... %s no está soportado"
+msgid "  -l                 enable SSL connections\n"
+msgstr "  -l              activar conexiones SSL\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2136
+#: main/main.c:372
 #, c-format
-msgid "DECLARE INSENSITIVE CURSOR ... %s is not supported"
-msgstr "DECLARE INSENSITIVE CURSOR ... %s no está soportado"
+msgid "  -N MAX-CONNECT     maximum number of allowed connections\n"
+msgstr "  -N MAX-CONN     número máximo de conexiones permitidas\n"
 
-#: parser/analyze.c:2139
+#: main/main.c:373
 #, c-format
-msgid "Insensitive cursors must be READ ONLY."
-msgstr "Los cursores insensitivos deben ser READ ONLY."
+msgid "  -o OPTIONS         pass \"OPTIONS\" to each server process (obsolete)\n"
+msgstr "  -o OPCIONES     pasar «OPCIONES» a cada proceso servidor (obsoleto)\n"
 
-#: parser/analyze.c:2205
+#: main/main.c:374
 #, 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 "  -p PORT            port number to listen on\n"
+msgstr "  -p PUERTO       número de puerto en el cual escuchar\n"
 
-#: parser/analyze.c:2215
+#: main/main.c:375
 #, c-format
-msgid "materialized views must not use temporary tables or views"
-msgstr "las vistas materializadas no deben usar tablas temporales o vistas"
+msgid "  -s                 show statistics after each query\n"
+msgstr "  -s              mostrar estadísticas después de cada consulta\n"
 
-#: parser/analyze.c:2225
+#: main/main.c:376
 #, 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 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/analyze.c:2237
+#: main/main.c:377
 #, c-format
-msgid "materialized views cannot be UNLOGGED"
-msgstr "las vistas materializadas no pueden ser UNLOGGED"
+msgid "  -V, --version      output version information, then exit\n"
+msgstr "  -V, --version   mostrar información de la versión, luego salir\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2294
+#: main/main.c:378
 #, c-format
-msgid "%s is not allowed with DISTINCT clause"
-msgstr "%s no está permitido con cláusulas DISTINCT"
+msgid "  --NAME=VALUE       set run-time parameter\n"
+msgstr "  --NOMBRE=VALOR  definir parámetro de ejecución\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2301
+#: main/main.c:379
 #, c-format
-msgid "%s is not allowed with GROUP BY clause"
-msgstr "%s no está permitido con cláusulas GROUP BY"
-
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2308
-#, c-format
-msgid "%s is not allowed with HAVING clause"
-msgstr "%s no está permitido con cláusulas HAVING"
+msgid "  --describe-config  describe configuration parameters, then exit\n"
+msgstr ""
+"  --describe-config\n"
+"                  mostrar parámetros de configuración y salir\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2315
+#: main/main.c:380
 #, c-format
-msgid "%s is not allowed with aggregate functions"
-msgstr "%s no está permitido con funciones de agregación"
+msgid "  -?, --help         show this help, then exit\n"
+msgstr "  -?, --help      muestra esta ayuda, luego sale\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2322
+#: main/main.c:382
 #, c-format
-msgid "%s is not allowed with window functions"
-msgstr "%s no está permitido con funciones de ventana deslizante"
+msgid ""
+"\n"
+"Developer options:\n"
+msgstr ""
+"\n"
+"Opciones de desarrollador:\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2329
+#: main/main.c:383
 #, 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 "  -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"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2408
+#: main/main.c:384
 #, c-format
-msgid "%s must specify unqualified relation names"
-msgstr "%s debe especificar nombres de relaciones sin calificar"
+msgid "  -n                 do not reinitialize shared memory after abnormal exit\n"
+msgstr "  -n              no reinicializar memoria compartida después de salida anormal\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2441
+#: main/main.c:385
 #, c-format
-msgid "%s cannot be applied to a join"
-msgstr "%s no puede ser aplicado a un join"
+msgid "  -O                 allow system table structure changes\n"
+msgstr "  -O              permitir cambios en estructura de tablas de sistema\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2450
+#: main/main.c:386
 #, c-format
-msgid "%s cannot be applied to a function"
-msgstr "%s no puede ser aplicado a una función"
+msgid "  -P                 disable system indexes\n"
+msgstr "  -P              desactivar índices de sistema\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2468
+#: main/main.c:387
 #, c-format
-msgid "%s cannot be applied to a WITH query"
-msgstr "%s no puede ser aplicado a una consulta WITH"
+msgid "  -t pa|pl|ex        show timings after each query\n"
+msgstr "  -t pa|pl|ex     mostrar tiempos después de cada consulta\n"
 
-#. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2485
+#: main/main.c:388
 #, 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 "  -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:201 parser/parse_oper.c:219
+#: main/main.c:389
 #, 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 "  -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:203
+#: main/main.c:391
 #, 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 ""
+"\n"
+"Options for single-user mode:\n"
+msgstr ""
+"\n"
+"Opciones para modo mono-usuario:\n"
 
-#: parser/parse_agg.c:254
-msgid "aggregate functions are not allowed in JOIN conditions"
-msgstr "no se permiten funciones de agregación en las condiciones de JOIN"
+#: main/main.c:392
+#, 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:260
-msgid "aggregate functions are not allowed in FROM clause of their own query level"
-msgstr "las funciones de agregación no están permitidas en la cláusula FROM de su mismo nivel de consulta"
+#: main/main.c:393
+#, 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:263
-msgid "aggregate functions are not allowed in functions in FROM"
-msgstr "no se permiten funciones de agregación en una función en FROM"
+#: main/main.c:394
+#, c-format
+msgid "  -d 0-5             override debugging level\n"
+msgstr "  -d 0-5          nivel de depuración\n"
 
-#: parser/parse_agg.c:281
-msgid "aggregate functions are not allowed in window RANGE"
-msgstr "no se permiten funciones de agregación en RANGE de ventana deslizante"
+#: main/main.c:395
+#, c-format
+msgid "  -E                 echo statement before execution\n"
+msgstr "  -E              mostrar las consultas antes de su ejecución\n"
 
-#: parser/parse_agg.c:284
-msgid "aggregate functions are not allowed in window ROWS"
-msgstr "no se permiten funciones de agregación en ROWS de ventana deslizante"
+#: main/main.c:396
+#, 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"
 
-#: parser/parse_agg.c:315
-msgid "aggregate functions are not allowed in check constraints"
-msgstr "no se permiten funciones de agregación en restricciones «check»"
+#: main/main.c:397 main/main.c:402
+#, 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"
 
-#: parser/parse_agg.c:319
-msgid "aggregate functions are not allowed in DEFAULT expressions"
-msgstr "no se permiten funciones de agregación en expresiones DEFAULT"
+#: main/main.c:399
+#, c-format
+msgid ""
+"\n"
+"Options for bootstrapping mode:\n"
+msgstr ""
+"\n"
+"Opciones para modo de inicio (bootstrapping):\n"
 
-#: parser/parse_agg.c:322
-msgid "aggregate functions are not allowed in index expressions"
-msgstr "no se permiten funciones de agregación en una expresión de índice"
+#: main/main.c:400
+#, c-format
+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:325
-msgid "aggregate functions are not allowed in index predicates"
-msgstr "no se permiten funciones de agregación en predicados de índice"
+#: main/main.c:401
+#, 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"
 
-#: parser/parse_agg.c:328
-msgid "aggregate functions are not allowed in transform expressions"
-msgstr "no se permiten funciones de agregación en una expresión de transformación"
+#: main/main.c:403
+#, c-format
+msgid "  -x NUM             internal use\n"
+msgstr "  -x NUM          uso interno\n"
 
-#: parser/parse_agg.c:331
-msgid "aggregate functions are not allowed in EXECUTE parameters"
-msgstr "no se permiten funciones de agregación en un parámetro a EXECUTE"
+#: main/main.c:405
+#, 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 <[email protected]>.\n"
+msgstr ""
+"\n"
+"Por favor lea la documentación para obtener la lista completa de\n"
+"parámetros de configuración y cómo definirlos en la línea de órdenes\n"
+"y en el archivo de configuración.\n"
+"\n"
+"Reporte errores a <[email protected]>\n"
 
-#: parser/parse_agg.c:334
-msgid "aggregate functions are not allowed in trigger WHEN conditions"
-msgstr "no se permiten funciones de agregación en condición WHEN de un disparador"
+#: main/main.c:419
+#, 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"
 
-#. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:354 parser/parse_clause.c:1407
+#: main/main.c:436
 #, c-format
-msgid "aggregate functions are not allowed in %s"
-msgstr "no se permiten funciones de agregación en %s"
+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:457
+#: main/main.c:443
 #, 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 ""
+"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:514
+#: nodes/nodeFuncs.c:115 nodes/nodeFuncs.c:141 parser/parse_coerce.c:1782
+#: parser/parse_coerce.c:1810 parser/parse_coerce.c:1886
+#: parser/parse_expr.c:1739 parser/parse_func.c:590 parser/parse_oper.c:948
 #, 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 "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:591
-msgid "window functions are not allowed in JOIN conditions"
-msgstr "no se permiten funciones de ventana deslizante en condiciones JOIN"
+#: optimizer/path/joinrels.c:811
+#, 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:598
-msgid "window functions are not allowed in functions in FROM"
-msgstr "no se permiten funciones de ventana deslizante en funciones en FROM"
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: optimizer/plan/initsplan.c:1163
+#, 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:613
-msgid "window functions are not allowed in window definitions"
-msgstr "no se permiten funciones de ventana deslizante en definiciones de ventana deslizante"
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: optimizer/plan/planner.c:1253 parser/analyze.c:1334 parser/analyze.c:1534
+#: parser/analyze.c:2293
+#, c-format
+msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
+msgstr "%s no está permitido con UNION/INTERSECT/EXCEPT"
 
-#: parser/parse_agg.c:644
-msgid "window functions are not allowed in check constraints"
-msgstr "no se permiten funciones de ventana deslizante en restricciones «check»"
+#: optimizer/plan/planner.c:2820
+#, c-format
+msgid "could not implement GROUP BY"
+msgstr "no se pudo implementar GROUP BY"
 
-#: parser/parse_agg.c:648
-msgid "window functions are not allowed in DEFAULT expressions"
-msgstr "no se permiten funciones de ventana deslizante en expresiones DEFAULT"
+#: optimizer/plan/planner.c:2821 optimizer/plan/planner.c:2989
+#: optimizer/prep/prepunion.c:829
+#, 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."
 
-#: parser/parse_agg.c:651
-msgid "window functions are not allowed in index expressions"
-msgstr "no se permiten funciones de ventana deslizante en expresiones de índice"
+#: optimizer/plan/planner.c:2988
+#, c-format
+msgid "could not implement DISTINCT"
+msgstr "no se pudo implementar DISTINCT"
 
-#: parser/parse_agg.c:654
-msgid "window functions are not allowed in index predicates"
-msgstr "no se permiten funciones de ventana deslizante en predicados de índice"
-
-#: parser/parse_agg.c:657
-msgid "window functions are not allowed in transform expressions"
-msgstr "no se permiten funciones de ventana deslizante en expresiones de transformación"
-
-#: parser/parse_agg.c:660
-msgid "window functions are not allowed in EXECUTE parameters"
-msgstr "no se permiten funciones de ventana deslizante en parámetros a EXECUTE"
-
-#: parser/parse_agg.c:663
-msgid "window functions are not allowed in trigger WHEN conditions"
-msgstr "no se permiten funciones de ventana deslizante en condiciones WHEN de un disparador"
-
-#. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:683 parser/parse_clause.c:1416
+#: optimizer/plan/planner.c:3594
 #, c-format
-msgid "window functions are not allowed in %s"
-msgstr "no se permiten funciones de ventana deslizante en %s"
+msgid "could not implement window PARTITION BY"
+msgstr "No se pudo implementar PARTITION BY de ventana"
 
-#: parser/parse_agg.c:717 parser/parse_clause.c:1827
+#: optimizer/plan/planner.c:3595
 #, c-format
-msgid "window \"%s\" does not exist"
-msgstr "la ventana «%s» no existe"
+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:879
+#: optimizer/plan/planner.c:3599
 #, 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:1057
+#: optimizer/plan/planner.c:3600
 #, 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:1060
+#: optimizer/plan/setrefs.c:403
 #, 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:1065
+#: optimizer/prep/prepunion.c:422
 #, 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_clause.c:636
+#: optimizer/prep/prepunion.c:423
 #, 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 "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:669
+#. translator: %s is UNION, INTERSECT, or EXCEPT
+#: optimizer/prep/prepunion.c:603 optimizer/prep/prepunion.c:748
 #, 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 "%s over no columns is not supported"
+msgstr "%s sobre ninguna columna no está soportado"
 
-#: parser/parse_clause.c:670
+#. translator: %s is UNION, INTERSECT, or EXCEPT
+#: optimizer/prep/prepunion.c:828
 #, 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 "could not implement %s"
+msgstr "no se pudo implementar %s"
 
-#: parser/parse_clause.c:676
+#: optimizer/util/clauses.c:4643
 #, 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 "SQL function \"%s\" during inlining"
+msgstr "función SQL «%s», durante expansión en línea"
 
-#: parser/parse_clause.c:677
+#: optimizer/util/plancat.c:104
 #, 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 "cannot access temporary or unlogged relations during recovery"
+msgstr "no se pueden crear tablas temporales o unlogged durante la recuperación"
 
-#: parser/parse_clause.c:684
+#: parser/analyze.c:629 parser/analyze.c:1106
 #, 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:685
+#: parser/analyze.c:796
 #, 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:967
+#: parser/analyze.c:814
 #, 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 "INSERT has more target columns than expressions"
+msgstr "INSERT tiene más columnas de destino que expresiones"
 
-#: parser/parse_clause.c:982
+#: parser/analyze.c:818
 #, 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 "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:991
+#: parser/analyze.c:926 parser/analyze.c:1307
 #, 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 "SELECT ... INTO is not allowed here"
+msgstr "SELECT ... INTO no está permitido aquí"
 
-#: parser/parse_clause.c:1005
+#: parser/analyze.c:1120
 #, 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 "DEFAULT can only appear in a VALUES list within INSERT"
+msgstr "DEFAULT sólo puede aparecer en listas VALUES dentro de un INSERT"
 
-#: parser/parse_clause.c:1014
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:1239 parser/analyze.c:2465
 #, 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 "%s cannot be applied to VALUES"
+msgstr "%s no puede ser aplicado a VALUES"
 
-#: parser/parse_clause.c:1068
+#: parser/analyze.c:1460
 #, 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 "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
+msgstr "cláusula UNION/INTERSECT/EXCEPT ORDER BY no válida"
 
-#. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1377
+#: parser/analyze.c:1461
 #, c-format
-msgid "argument of %s must not contain variables"
-msgstr "el argumento de %s no puede contener variables"
+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."
 
-#. translator: first %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1542
+#: parser/analyze.c:1462
 #, c-format
-msgid "%s \"%s\" is ambiguous"
-msgstr "%s «%s» es ambiguo"
+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."
 
-#. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1571
+#: parser/analyze.c:1524
 #, c-format
-msgid "non-integer constant in %s"
-msgstr "constante no entera en %s"
+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"
 
-#. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1593
+#: parser/analyze.c:1588
 #, 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 "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:1815
+#: parser/analyze.c:1677
 #, c-format
-msgid "window \"%s\" is already defined"
-msgstr "la ventana «%s» ya está definida"
+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:1876
+#: parser/analyze.c:2057
 #, 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 "RETURNING must have at least one column"
+msgstr "RETURNING debe tener al menos una columna"
 
-#: parser/parse_clause.c:1888
+#: parser/analyze.c:2094
 #, 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 "cannot specify both SCROLL and NO SCROLL"
+msgstr "no se puede especificar SCROLL y NO SCROLL"
 
-#: parser/parse_clause.c:1918 parser/parse_clause.c:1924
+#: parser/analyze.c:2112
 #, 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 "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:1926
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2120
 #, c-format
-msgid "Omit the parentheses in this OVER clause."
-msgstr "Omita el uso de paréntesis en esta cláusula OVER."
+msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
+msgstr "DECLARE CURSOR WITH HOLD ... %s no está soportado"
 
-#: parser/parse_clause.c:1992
+#: parser/analyze.c:2123
 #, 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 "Holdable cursors must be READ ONLY."
+msgstr "Los cursores declarados HOLD deben ser READ ONLY."
 
-#: parser/parse_clause.c:1993
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2131
 #, 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 "DECLARE SCROLL CURSOR ... %s is not supported"
+msgstr "DECLARE SCROLL CURSOR ... %s no está soportado"
 
-#: parser/parse_clause.c:2026
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2142
 #, 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 "DECLARE INSENSITIVE CURSOR ... %s is not supported"
+msgstr "DECLARE INSENSITIVE CURSOR ... %s no está soportado"
 
-#: parser/parse_clause.c:2027
+#: parser/analyze.c:2145
 #, c-format
-msgid "SELECT DISTINCT must have at least one column"
-msgstr "SELECT DISTINCT debe tener al menos una columna"
+msgid "Insensitive cursors must be READ ONLY."
+msgstr "Los cursores insensitivos deben ser READ ONLY."
 
-#: parser/parse_clause.c:2093 parser/parse_clause.c:2125
+#: parser/analyze.c:2211
 #, 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 "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:2253
+#: parser/analyze.c:2221
 #, c-format
-msgid "operator %s is not a valid ordering operator"
-msgstr "el operador «%s» no es un operador válido de ordenamiento"
+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:2255
+#: parser/analyze.c:2231
 #, 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."
+msgid "materialized views may not be defined using bound parameters"
+msgstr "las vistas materializadas no pueden definirse usando parámetros enlazados"
 
-#: parser/parse_coerce.c:933 parser/parse_coerce.c:963
-#: parser/parse_coerce.c:981 parser/parse_coerce.c:996 parser/parse_expr.c:1773
-#: parser/parse_expr.c:2247 parser/parse_target.c:865
+#: parser/analyze.c:2243
 #, c-format
-msgid "cannot cast type %s to %s"
-msgstr "no se puede convertir el tipo %s a %s"
+msgid "materialized views cannot be UNLOGGED"
+msgstr "las vistas materializadas no pueden ser UNLOGGED"
 
-#: parser/parse_coerce.c:966
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2300
 #, c-format
-msgid "Input has too few columns."
-msgstr "La entrada tiene muy pocas columnas."
+msgid "%s is not allowed with DISTINCT clause"
+msgstr "%s no está permitido con cláusulas DISTINCT"
 
-#: parser/parse_coerce.c:984
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2307
 #, 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."
+msgid "%s is not allowed with GROUP BY clause"
+msgstr "%s no está permitido con cláusulas GROUP BY"
 
-#: parser/parse_coerce.c:999
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2314
 #, c-format
-msgid "Input has too many columns."
-msgstr "La entrada tiene demasiadas columnas."
+msgid "%s is not allowed with HAVING clause"
+msgstr "%s no está permitido con cláusulas HAVING"
 
-#. translator: first %s is name of a SQL construct, eg WHERE
-#: parser/parse_coerce.c:1042
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2321
 #, c-format
-msgid "argument of %s must be type boolean, not type %s"
-msgstr "el argumento de %s debe ser de tipo boolean, no tipo %s"
+msgid "%s is not allowed with aggregate functions"
+msgstr "%s no está permitido con funciones de agregación"
 
-#. translator: %s is name of a SQL construct, eg WHERE
-#. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_coerce.c:1052 parser/parse_coerce.c:1101
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2328
 #, c-format
-msgid "argument of %s must not return a set"
-msgstr "el argumento de %s no debe retornar un conjunto"
+msgid "%s is not allowed with window functions"
+msgstr "%s no está permitido con funciones de ventana deslizante"
 
-#. translator: first %s is name of a SQL construct, eg LIMIT
-#: parser/parse_coerce.c:1089
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2335
 #, 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 "%s is not allowed with set-returning functions in the target list"
+msgstr "%s no está permitido con funciones que retornan conjuntos en la lista de resultados"
 
-#. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:1222
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2414
 #, 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 "%s must specify unqualified relation names"
+msgstr "%s debe especificar nombres de relaciones sin calificar"
 
-#. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:1289
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2447
 #, c-format
-msgid "%s could not convert type %s to %s"
-msgstr "%s no pudo convertir el tipo %s a %s"
+msgid "%s cannot be applied to a join"
+msgstr "%s no puede ser aplicado a un join"
 
-#: parser/parse_coerce.c:1591
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2456
 #, c-format
-msgid "arguments declared \"anyelement\" are not all alike"
-msgstr "los argumentos declarados «anyelement» no son de tipos compatibles"
+msgid "%s cannot be applied to a function"
+msgstr "%s no puede ser aplicado a una función"
 
-#: parser/parse_coerce.c:1611
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2474
 #, c-format
-msgid "arguments declared \"anyarray\" are not all alike"
-msgstr "los argumentos declarados «anyarray» no son de tipos compatibles"
+msgid "%s cannot be applied to a WITH query"
+msgstr "%s no puede ser aplicado a una consulta WITH"
 
-#: parser/parse_coerce.c:1631
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2491
 #, c-format
-msgid "arguments declared \"anyrange\" are not all alike"
-msgstr "los argumentos declarados «anyrange» no son de tipos compatibles"
+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_coerce.c:1660 parser/parse_coerce.c:1871
-#: parser/parse_coerce.c:1905
+#: parser/parse_agg.c:201 parser/parse_oper.c:219
 #, c-format
-msgid "argument declared \"anyarray\" is not an array but type %s"
-msgstr "el argumento declarado «anyarray» no es un array sino de tipo %s"
+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_coerce.c:1676
+#: parser/parse_agg.c:203
 #, c-format
-msgid "argument declared \"anyarray\" is not consistent with argument declared \"anyelement\""
-msgstr "el argumento declarado «anyarray» no es consistente con el argumento declarado «anyelement»"
+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_coerce.c:1697 parser/parse_coerce.c:1918
-#, c-format
-msgid "argument declared \"anyrange\" is not a range type but type %s"
-msgstr "el argumento declarado «anyrange» no es un tipo de rango sino tipo %s"
+#: parser/parse_agg.c:254
+msgid "aggregate functions are not allowed in JOIN conditions"
+msgstr "no se permiten funciones de agregación en las condiciones de JOIN"
 
-#: parser/parse_coerce.c:1713
-#, c-format
-msgid "argument declared \"anyrange\" is not consistent with argument declared \"anyelement\""
-msgstr "el argumento declarado «anyrange» no es consistente con el argumento declarado «anyelement»"
+#: parser/parse_agg.c:260
+msgid "aggregate functions are not allowed in FROM clause of their own query level"
+msgstr "las funciones de agregación no están permitidas en la cláusula FROM de su mismo nivel de consulta"
 
-#: parser/parse_coerce.c:1733
-#, c-format
-msgid "could not determine polymorphic type because input has type \"unknown\""
-msgstr "no se pudo determinar el tipo polimórfico porque el tipo de entrada es «unknown»"
+#: parser/parse_agg.c:263
+msgid "aggregate functions are not allowed in functions in FROM"
+msgstr "no se permiten funciones de agregación en una función en FROM"
 
-#: parser/parse_coerce.c:1743
-#, c-format
-msgid "type matched to anynonarray is an array type: %s"
-msgstr "el argumento coincidente con anynonarray es un array: %s"
+#: parser/parse_agg.c:281
+msgid "aggregate functions are not allowed in window RANGE"
+msgstr "no se permiten funciones de agregación en RANGE de ventana deslizante"
 
-#: parser/parse_coerce.c:1753
-#, c-format
-msgid "type matched to anyenum is not an enum type: %s"
-msgstr "el tipo coincidente con anyenum no es un tipo enum: %s"
+#: parser/parse_agg.c:284
+msgid "aggregate functions are not allowed in window ROWS"
+msgstr "no se permiten funciones de agregación en ROWS de ventana deslizante"
 
-#: parser/parse_coerce.c:1793 parser/parse_coerce.c:1823
-#, c-format
-msgid "could not find range type for data type %s"
-msgstr "no se pudo encontrar un tipo de rango para el tipo de dato %s"
+#: parser/parse_agg.c:315
+msgid "aggregate functions are not allowed in check constraints"
+msgstr "no se permiten funciones de agregación en restricciones «check»"
 
-#: parser/parse_collate.c:228 parser/parse_collate.c:475
-#: parser/parse_collate.c:984
-#, c-format
-msgid "collation mismatch between implicit collations \"%s\" and \"%s\""
-msgstr "discordancia de ordenamientos (collation) entre los ordenamientos implícitos «%s» y «%s»"
+#: parser/parse_agg.c:319
+msgid "aggregate functions are not allowed in DEFAULT expressions"
+msgstr "no se permiten funciones de agregación en expresiones DEFAULT"
 
-#: parser/parse_collate.c:231 parser/parse_collate.c:478
-#: parser/parse_collate.c:987
-#, c-format
-msgid "You can choose the collation by applying the COLLATE clause to one or both expressions."
-msgstr "Puede elegir el ordenamiento aplicando la cláusula COLLATE a una o ambas expresiones."
+#: parser/parse_agg.c:322
+msgid "aggregate functions are not allowed in index expressions"
+msgstr "no se permiten funciones de agregación en una expresión de índice"
 
-#: parser/parse_collate.c:832
-#, c-format
-msgid "collation mismatch between explicit collations \"%s\" and \"%s\""
-msgstr "discordancia de ordenamientos (collation) entre los ordenamientos explícitos «%s» y «%s»"
+#: parser/parse_agg.c:325
+msgid "aggregate functions are not allowed in index predicates"
+msgstr "no se permiten funciones de agregación en predicados de índice"
 
-#: parser/parse_cte.c:42
-#, 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"
+#: parser/parse_agg.c:328
+msgid "aggregate functions are not allowed in transform expressions"
+msgstr "no se permiten funciones de agregación en una expresión de transformación"
 
-#: parser/parse_cte.c:44
-#, 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"
+#: parser/parse_agg.c:331
+msgid "aggregate functions are not allowed in EXECUTE parameters"
+msgstr "no se permiten funciones de agregación en un parámetro a EXECUTE"
 
-#: parser/parse_cte.c:46
-#, 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"
+#: parser/parse_agg.c:334
+msgid "aggregate functions are not allowed in trigger WHEN conditions"
+msgstr "no se permiten funciones de agregación en condición WHEN de un disparador"
 
-#: parser/parse_cte.c:48
+#. translator: %s is name of a SQL construct, eg GROUP BY
+#: parser/parse_agg.c:354 parser/parse_clause.c:1407
 #, 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 "aggregate functions are not allowed in %s"
+msgstr "no se permiten funciones de agregación en %s"
 
-#: parser/parse_cte.c:50
+#: parser/parse_agg.c:457
 #, 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 "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_cte.c:132
+#: parser/parse_agg.c:514
 #, 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 "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_cte.c:264
-#, c-format
-msgid "WITH clause containing a data-modifying statement must be at the top level"
-msgstr "la cláusula WITH que contiene las sentencias que modifican datos debe estar en el nivel más externo"
+#: parser/parse_agg.c:591
+msgid "window functions are not allowed in JOIN conditions"
+msgstr "no se permiten funciones de ventana deslizante en condiciones JOIN"
 
-#: parser/parse_cte.c:313
-#, c-format
-msgid "recursive query \"%s\" column %d has type %s in non-recursive term but type %s overall"
-msgstr "la columna %2$d en la consulta recursiva «%1$s» tiene tipo %3$s en el término no recursivo, pero %4$s en general"
+#: parser/parse_agg.c:598
+msgid "window functions are not allowed in functions in FROM"
+msgstr "no se permiten funciones de ventana deslizante en funciones en FROM"
 
-#: parser/parse_cte.c:319
-#, c-format
-msgid "Cast the output of the non-recursive term to the correct type."
-msgstr "Aplique una conversión de tipo a la salida del término no recursivo al tipo correcto."
+#: parser/parse_agg.c:613
+msgid "window functions are not allowed in window definitions"
+msgstr "no se permiten funciones de ventana deslizante en definiciones de ventana deslizante"
 
-#: parser/parse_cte.c:324
-#, c-format
-msgid "recursive query \"%s\" column %d has collation \"%s\" in non-recursive term but collation \"%s\" overall"
-msgstr "la columna %2$d en la consulta recursiva «%1$s» tiene ordenamiento (collation) %3$s en el término no recursivo, pero %4$s en general"
+#: parser/parse_agg.c:644
+msgid "window functions are not allowed in check constraints"
+msgstr "no se permiten funciones de ventana deslizante en restricciones «check»"
 
-#: parser/parse_cte.c:328
-#, c-format
-msgid "Use the COLLATE clause to set the collation of the non-recursive term."
-msgstr "Use la clásula COLLATE para definir el ordenamiento del término no-recursivo."
+#: parser/parse_agg.c:648
+msgid "window functions are not allowed in DEFAULT expressions"
+msgstr "no se permiten funciones de ventana deslizante en expresiones DEFAULT"
 
-#: parser/parse_cte.c:419
-#, c-format
-msgid "WITH query \"%s\" has %d columns available but %d columns specified"
-msgstr "la consulta WITH «%s» tiene %d columnas disponibles pero se especificaron %d"
+#: parser/parse_agg.c:651
+msgid "window functions are not allowed in index expressions"
+msgstr "no se permiten funciones de ventana deslizante en expresiones de índice"
 
-#: parser/parse_cte.c:599
-#, c-format
-msgid "mutual recursion between WITH items is not implemented"
-msgstr "la recursión mutua entre elementos de WITH no está implementada"
+#: parser/parse_agg.c:654
+msgid "window functions are not allowed in index predicates"
+msgstr "no se permiten funciones de ventana deslizante en predicados de índice"
 
-#: parser/parse_cte.c:651
-#, c-format
-msgid "recursive query \"%s\" must not contain data-modifying statements"
-msgstr "la consulta recursiva «%s» no debe contener sentencias que modifiquen datos"
+#: parser/parse_agg.c:657
+msgid "window functions are not allowed in transform expressions"
+msgstr "no se permiten funciones de ventana deslizante en expresiones de transformación"
 
-#: parser/parse_cte.c:659
-#, c-format
-msgid "recursive query \"%s\" does not have the form non-recursive-term UNION [ALL] recursive-term"
-msgstr "la consulta recursiva «%s» no tiene la forma término-no-recursivo UNION [ALL] término-recursivo"
+#: parser/parse_agg.c:660
+msgid "window functions are not allowed in EXECUTE parameters"
+msgstr "no se permiten funciones de ventana deslizante en parámetros a EXECUTE"
 
-#: parser/parse_cte.c:703
-#, c-format
-msgid "ORDER BY in a recursive query is not implemented"
-msgstr "ORDER BY no está implementado en una consulta recursiva"
+#: parser/parse_agg.c:663
+msgid "window functions are not allowed in trigger WHEN conditions"
+msgstr "no se permiten funciones de ventana deslizante en condiciones WHEN de un disparador"
 
-#: parser/parse_cte.c:709
+#. translator: %s is name of a SQL construct, eg GROUP BY
+#: parser/parse_agg.c:683 parser/parse_clause.c:1416
 #, c-format
-msgid "OFFSET in a recursive query is not implemented"
-msgstr "OFFSET no está implementado en una consulta recursiva"
+msgid "window functions are not allowed in %s"
+msgstr "no se permiten funciones de ventana deslizante en %s"
 
-#: parser/parse_cte.c:715
+#: parser/parse_agg.c:717 parser/parse_clause.c:1827
 #, c-format
-msgid "LIMIT in a recursive query is not implemented"
-msgstr "LIMIT no está implementado en una consulta recursiva"
+msgid "window \"%s\" does not exist"
+msgstr "la ventana «%s» no existe"
 
-#: parser/parse_cte.c:721
+#: parser/parse_agg.c:879
 #, 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 "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:778
+#: parser/parse_agg.c:1057
 #, 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 "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_expr.c:389 parser/parse_relation.c:2968
+#: parser/parse_agg.c:1060
 #, c-format
-msgid "column %s.%s does not exist"
-msgstr "no existe la columna %s.%s"
+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_expr.c:401
+#: parser/parse_agg.c:1065
 #, c-format
-msgid "column \"%s\" not found in data type %s"
-msgstr "la columna «%s» no fue encontrado en el tipo %s"
+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_expr.c:407
+#: parser/parse_clause.c:636
 #, 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 "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_expr.c:413
+#: parser/parse_clause.c:669
 #, 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 "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_expr.c:443 parser/parse_target.c:651
+#: parser/parse_clause.c:670
 #, 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 "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_expr.c:766 parser/parse_relation.c:562
-#: parser/parse_relation.c:653 parser/parse_target.c:1100
+#: parser/parse_clause.c:676
 #, c-format
-msgid "column reference \"%s\" is ambiguous"
-msgstr "la referencia a la columna «%s» es ambigua"
+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_expr.c:822 parser/parse_param.c:110 parser/parse_param.c:142
-#: parser/parse_param.c:199 parser/parse_param.c:298
+#: parser/parse_clause.c:677
 #, c-format
-msgid "there is no parameter $%d"
-msgstr "no hay parámetro $%d"
+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_expr.c:1034
+#: parser/parse_clause.c:684
 #, c-format
-msgid "NULLIF requires = operator to yield boolean"
-msgstr "NULLIF requiere que el operador = retorne boolean"
-
-#: parser/parse_expr.c:1469
-msgid "cannot use subquery in check constraint"
-msgstr "no se pueden usar subconsultas en una restricción «check»"
-
-#: parser/parse_expr.c:1473
-msgid "cannot use subquery in DEFAULT expression"
-msgstr "no se puede usar una subconsulta en una expresión DEFAULT"
-
-#: parser/parse_expr.c:1476
-msgid "cannot use subquery in index expression"
-msgstr "no se puede usar una subconsulta en una expresión de índice"
-
-#: parser/parse_expr.c:1479
-msgid "cannot use subquery in index predicate"
-msgstr "no se puede usar una subconsulta en un predicado de índice"
-
-#: parser/parse_expr.c:1482
-msgid "cannot use subquery in transform expression"
-msgstr "no se puede usar una subconsulta en una expresión de transformación"
-
-#: parser/parse_expr.c:1485
-msgid "cannot use subquery in EXECUTE parameter"
-msgstr "no se puede usar una subconsulta en un parámetro a EXECUTE"
-
-#: parser/parse_expr.c:1488
-msgid "cannot use subquery in trigger WHEN condition"
-msgstr "no se puede usar una subconsulta en la condición WHEN de un disparador"
+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_expr.c:1545
+#: parser/parse_clause.c:685
 #, c-format
-msgid "subquery must return a column"
-msgstr "la subconsulta debe retornar una columna"
+msgid "Put the column definition list inside ROWS FROM()."
+msgstr "Ponga una lista de columnas dentro de ROWS FROM()."
 
-#: parser/parse_expr.c:1552
+#: parser/parse_clause.c:967
 #, c-format
-msgid "subquery must return only one column"
-msgstr "la subconsulta debe retornar sólo una columna"
+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:1612
+#: parser/parse_clause.c:982
 #, c-format
-msgid "subquery has too many columns"
-msgstr "la subconsulta tiene demasiadas columnas"
+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:1617
+#: parser/parse_clause.c:991
 #, c-format
-msgid "subquery has too few columns"
-msgstr "la subconsulta tiene muy pocas columnas"
+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:1713
+#: parser/parse_clause.c:1005
 #, c-format
-msgid "cannot determine type of empty array"
-msgstr "no se puede determinar el tipo de un array vacío"
+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:1714
+#: parser/parse_clause.c:1014
 #, 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 "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:1728
+#: parser/parse_clause.c:1068
 #, 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 "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:1954
+#. translator: %s is name of a SQL construct, eg LIMIT
+#: parser/parse_clause.c:1377
 #, 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 "argument of %s must not contain variables"
+msgstr "el argumento de %s no puede contener variables"
 
-#: parser/parse_expr.c:1955
+#. translator: first %s is name of a SQL construct, eg ORDER BY
+#: parser/parse_clause.c:1542
 #, 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 "%s \"%s\" is ambiguous"
+msgstr "%s «%s» es ambiguo"
 
-#: parser/parse_expr.c:1970
+#. translator: %s is name of a SQL construct, eg ORDER BY
+#: parser/parse_clause.c:1571
 #, 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 "non-integer constant in %s"
+msgstr "constante no entera en %s"
 
-#: parser/parse_expr.c:2077
+#. translator: %s is name of a SQL construct, eg ORDER BY
+#: parser/parse_clause.c:1593
 #, c-format
-msgid "cannot cast XMLSERIALIZE result to %s"
-msgstr "no se puede convertir el resultado de XMLSERIALIZE a %s"
+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:2320 parser/parse_expr.c:2520
+#: parser/parse_clause.c:1815
 #, c-format
-msgid "unequal number of entries in row expressions"
-msgstr "número desigual de entradas en expresiones de registro"
+msgid "window \"%s\" is already defined"
+msgstr "la ventana «%s» ya está definida"
 
-#: parser/parse_expr.c:2330
+#: parser/parse_clause.c:1876
 #, c-format
-msgid "cannot compare rows of zero length"
-msgstr "no se pueden comparar registros de largo cero"
+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:2355
+#: parser/parse_clause.c:1888
 #, 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 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:2362
+#: parser/parse_clause.c:1918 parser/parse_clause.c:1924
 #, 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 "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:2421 parser/parse_expr.c:2466
+#: parser/parse_clause.c:1926
 #, 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 "Omit the parentheses in this OVER clause."
+msgstr "Omita el uso de paréntesis en esta cláusula OVER."
 
-#: parser/parse_expr.c:2423
+#: parser/parse_clause.c:1992
 #, 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 "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:2468
+#: parser/parse_clause.c:1993
 #, c-format
-msgid "There are multiple equally-plausible candidates."
-msgstr "Hay múltiples candidatos igualmente plausibles."
+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:2560
+#: parser/parse_clause.c:2026
 #, c-format
-msgid "IS DISTINCT FROM requires = operator to yield boolean"
-msgstr "IS DISTINCT FROM requiere que el operador = retorne boolean"
+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_func.c:173
+#: parser/parse_clause.c:2027
 #, c-format
-msgid "argument name \"%s\" used more than once"
-msgstr "el nombre de argumento «%s» fue especificado más de una vez"
+msgid "SELECT DISTINCT must have at least one column"
+msgstr "SELECT DISTINCT debe tener al menos una columna"
 
-#: parser/parse_func.c:184
+#: parser/parse_clause.c:2093 parser/parse_clause.c:2125
 #, c-format
-msgid "positional argument cannot follow named argument"
-msgstr "un argumento posicional no puede seguir a un argumento con nombre"
+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_func.c:263
+#: parser/parse_clause.c:2253
 #, 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 "operator %s is not a valid ordering operator"
+msgstr "el operador «%s» no es un operador válido de ordenamiento"
 
-#: parser/parse_func.c:270
+#: parser/parse_clause.c:2255
 #, 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 "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_func.c:276
+#: parser/parse_coerce.c:933 parser/parse_coerce.c:963
+#: parser/parse_coerce.c:981 parser/parse_coerce.c:996 parser/parse_expr.c:1773
+#: parser/parse_expr.c:2247 parser/parse_target.c:865
 #, 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 cast type %s to %s"
+msgstr "no se puede convertir el tipo %s a %s"
 
-#: parser/parse_func.c:282
+#: parser/parse_coerce.c:966
 #, 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 "Input has too few columns."
+msgstr "La entrada tiene muy pocas columnas."
 
-#: parser/parse_func.c:288
+#: parser/parse_coerce.c:984
 #, 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 "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_func.c:294
+#: parser/parse_coerce.c:999
 #, 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 "Input has too many columns."
+msgstr "La entrada tiene demasiadas columnas."
 
-#: parser/parse_func.c:324
+#. translator: first %s is name of a SQL construct, eg WHERE
+#: parser/parse_coerce.c:1042
 #, 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 "argument of %s must be type boolean, not type %s"
+msgstr "el argumento de %s debe ser de tipo boolean, no tipo %s"
 
-#: parser/parse_func.c:330
+#. translator: %s is name of a SQL construct, eg WHERE
+#. translator: %s is name of a SQL construct, eg LIMIT
+#: parser/parse_coerce.c:1052 parser/parse_coerce.c:1101
 #, 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 "argument of %s must not return a set"
+msgstr "el argumento de %s no debe retornar un conjunto"
 
-#: parser/parse_func.c:361 parser/parse_func.c:390
+#. translator: first %s is name of a SQL construct, eg LIMIT
+#: parser/parse_coerce.c:1089
 #, 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 "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_func.c:415
+#. translator: first %s is name of a SQL construct, eg CASE
+#: parser/parse_coerce.c:1222
 #, 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 "%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:429
+#. translator: first %s is name of a SQL construct, eg CASE
+#: parser/parse_coerce.c:1289
 #, 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 "%s could not convert type %s to %s"
+msgstr "%s no pudo convertir el tipo %s a %s"
 
-#: parser/parse_func.c:448
+#: parser/parse_coerce.c:1591
 #, 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 "arguments declared \"anyelement\" are not all alike"
+msgstr "los argumentos declarados «anyelement» no son de tipos compatibles"
 
-#: parser/parse_func.c:461
+#: parser/parse_coerce.c:1611
 #, c-format
-msgid "window function %s requires an OVER clause"
-msgstr "la función de ventana deslizante %s requiere una cláusula OVER"
+msgid "arguments declared \"anyarray\" are not all alike"
+msgstr "los argumentos declarados «anyarray» no son de tipos compatibles"
 
-#: parser/parse_func.c:468
+#: parser/parse_coerce.c:1631
 #, c-format
-msgid "window function %s cannot have WITHIN GROUP"
-msgstr "la función de ventana deslizante %s no puede tener WITHIN GROUP"
+msgid "arguments declared \"anyrange\" are not all alike"
+msgstr "los argumentos declarados «anyrange» no son de tipos compatibles"
 
-#: parser/parse_func.c:489
+#: parser/parse_coerce.c:1660 parser/parse_coerce.c:1871
+#: parser/parse_coerce.c:1905
 #, c-format
-msgid "function %s is not unique"
-msgstr "la función %s no es única"
+msgid "argument declared \"anyarray\" is not an array but type %s"
+msgstr "el argumento declarado «anyarray» no es un array sino de tipo %s"
 
-#: parser/parse_func.c:492
+#: parser/parse_coerce.c:1676
 #, 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 "argument declared \"anyarray\" is not consistent with argument declared \"anyelement\""
+msgstr "el argumento declarado «anyarray» no es consistente con el argumento declarado «anyelement»"
 
-#: parser/parse_func.c:503
+#: parser/parse_coerce.c:1697 parser/parse_coerce.c:1918
 #, 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 "argument declared \"anyrange\" is not a range type but type %s"
+msgstr "el argumento declarado «anyrange» no es un tipo de rango sino tipo %s"
 
-#: parser/parse_func.c:514
+#: parser/parse_coerce.c:1713
 #, 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 "argument declared \"anyrange\" is not consistent with argument declared \"anyelement\""
+msgstr "el argumento declarado «anyrange» no es consistente con el argumento declarado «anyelement»"
 
-#: parser/parse_func.c:616
+#: parser/parse_coerce.c:1733
 #, c-format
-msgid "VARIADIC argument must be an array"
-msgstr "el parámetro VARIADIC debe ser un array"
+msgid "could not determine polymorphic type because input has type \"unknown\""
+msgstr "no se pudo determinar el tipo polimórfico porque el tipo de entrada es «unknown»"
 
-#: parser/parse_func.c:661 parser/parse_func.c:725
+#: parser/parse_coerce.c:1743
 #, 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 "type matched to anynonarray is an array type: %s"
+msgstr "el argumento coincidente con anynonarray es un array: %s"
 
-#: parser/parse_func.c:668
+#: parser/parse_coerce.c:1753
 #, c-format
-msgid "aggregates cannot return sets"
-msgstr "las funciones de agregación no pueden retornar conjuntos"
+msgid "type matched to anyenum is not an enum type: %s"
+msgstr "el tipo coincidente con anyenum no es un tipo enum: %s"
 
-#: parser/parse_func.c:683
+#: parser/parse_coerce.c:1793 parser/parse_coerce.c:1823
 #, c-format
-msgid "aggregates cannot use named arguments"
-msgstr "las funciones de agregación no pueden usar argumentos con nombre"
+msgid "could not find range type for data type %s"
+msgstr "no se pudo encontrar un tipo de rango para el tipo de dato %s"
 
-#: parser/parse_func.c:715
+#: parser/parse_collate.c:228 parser/parse_collate.c:475
+#: parser/parse_collate.c:984
 #, c-format
-msgid "DISTINCT is not implemented for window functions"
-msgstr "DISTINCT no está implementado para funciones de ventana deslizante"
+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:735
+#: parser/parse_collate.c:231 parser/parse_collate.c:478
+#: parser/parse_collate.c:987
 #, 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 "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:744
+#: parser/parse_collate.c:832
 #, c-format
-msgid "FILTER is not implemented for non-aggregate window functions"
-msgstr "FILTER no está implementado para funciones de ventana deslizante"
+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:750
+#: parser/parse_cte.c:42
 #, c-format
-msgid "window functions cannot return sets"
-msgstr "las funciones de ventana deslizante no pueden retornar conjuntos"
+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:1994
+#: parser/parse_cte.c:44
 #, c-format
-msgid "aggregate %s(*) does not exist"
-msgstr "no existe la función de agregación %s(*)"
+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:1999
+#: parser/parse_cte.c:46
 #, c-format
-msgid "aggregate %s does not exist"
-msgstr "no existe la función de agregación %s"
+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:2018
+#: parser/parse_cte.c:48
 #, c-format
-msgid "function %s is not an aggregate"
-msgstr "la función %s no es una función de agregación"
+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_node.c:84
+#: parser/parse_cte.c:50
 #, 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 "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_node.c:253
+#: parser/parse_cte.c:132
 #, 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 "WITH query name \"%s\" specified more than once"
+msgstr "el nombre de consulta WITH «%s» fue especificado más de una vez"
 
-#: parser/parse_node.c:356 parser/parse_node.c:383
+#: parser/parse_cte.c:264
 #, c-format
-msgid "array subscript must have type integer"
-msgstr "los subíndices de arrays deben tener tipo entero"
+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_node.c:407
+#: parser/parse_cte.c:313
 #, 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 "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_oper.c:124 parser/parse_oper.c:718 utils/adt/regproc.c:548
-#: utils/adt/regproc.c:568 utils/adt/regproc.c:752
+#: parser/parse_cte.c:319
 #, c-format
-msgid "operator does not exist: %s"
-msgstr "el operador no existe: %s"
+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_oper.c:221
+#: parser/parse_cte.c:324
 #, 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 "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_oper.c:225 utils/adt/arrayfuncs.c:3222
-#: utils/adt/arrayfuncs.c:3741 utils/adt/arrayfuncs.c:5282
-#: utils/adt/rowtypes.c:1167
+#: parser/parse_cte.c:328
 #, 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"
+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_oper.c:476
+#: parser/parse_cte.c:419
 #, c-format
-msgid "operator requires run-time type coercion: %s"
-msgstr "el operador requiere conversión explícita de tipos: %s"
+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_oper.c:710
+#: parser/parse_cte.c:599
 #, c-format
-msgid "operator is not unique: %s"
-msgstr "el operador no es único: %s"
+msgid "mutual recursion between WITH items is not implemented"
+msgstr "la recursión mutua entre elementos de WITH no está implementada"
 
-#: parser/parse_oper.c:712
+#: parser/parse_cte.c:651
 #, 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 "recursive query \"%s\" must not contain data-modifying statements"
+msgstr "la consulta recursiva «%s» no debe contener sentencias que modifiquen datos"
 
-#: parser/parse_oper.c:720
+#: parser/parse_cte.c:659
 #, c-format
-msgid "No operator matches the given name and argument type(s). You might need to add explicit type casts."
-msgstr "Ningún operador coincide con el nombre y el tipo de los argumentos. Puede ser necesario agregar conversiones explícitas de tipos."
+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_oper.c:779 parser/parse_oper.c:893
+#: parser/parse_cte.c:703
 #, c-format
-msgid "operator is only a shell: %s"
-msgstr "el operador está inconcluso: %s"
+msgid "ORDER BY in a recursive query is not implemented"
+msgstr "ORDER BY no está implementado en una consulta recursiva"
 
-#: parser/parse_oper.c:881
+#: parser/parse_cte.c:709
 #, c-format
-msgid "op ANY/ALL (array) requires array on right side"
-msgstr "op ANY/ALL (array) requiere un array al lado derecho"
+msgid "OFFSET in a recursive query is not implemented"
+msgstr "OFFSET no está implementado en una consulta recursiva"
 
-#: parser/parse_oper.c:923
+#: parser/parse_cte.c:715
 #, c-format
-msgid "op ANY/ALL (array) requires operator to yield boolean"
-msgstr "op ANY/ALL (array) requiere un operador que entregue boolean"
+msgid "LIMIT in a recursive query is not implemented"
+msgstr "LIMIT no está implementado en una consulta recursiva"
 
-#: parser/parse_oper.c:928
+#: parser/parse_cte.c:721
 #, 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 "FOR UPDATE/SHARE in a recursive query is not implemented"
+msgstr "FOR UPDATE/SHARE no está implementado en una consulta recursiva"
 
-#: parser/parse_param.c:216
+#: parser/parse_cte.c:778
 #, c-format
-msgid "inconsistent types deduced for parameter $%d"
-msgstr "para el parámetro $%d se dedujeron tipos de dato inconsistentes"
+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_relation.c:173
+#: parser/parse_expr.c:389 parser/parse_relation.c:2979
 #, c-format
-msgid "table reference \"%s\" is ambiguous"
-msgstr "la referencia a la tabla «%s» es ambigua"
+msgid "column %s.%s does not exist"
+msgstr "no existe la columna %s.%s"
 
-#: parser/parse_relation.c:217
+#: parser/parse_expr.c:401
 #, c-format
-msgid "table reference %u is ambiguous"
-msgstr "la referencia a la tabla %u es ambigua"
+msgid "column \"%s\" not found in data type %s"
+msgstr "la columna «%s» no fue encontrado en el tipo %s"
 
-#: parser/parse_relation.c:396
+#: parser/parse_expr.c:407
 #, c-format
-msgid "table name \"%s\" specified more than once"
-msgstr "el nombre de tabla «%s» fue especificado más de una vez"
+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_relation.c:423 parser/parse_relation.c:2932
+#: parser/parse_expr.c:413
 #, 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 "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_relation.c:426 parser/parse_relation.c:2937
+#: parser/parse_expr.c:443 parser/parse_target.c:651
 #, 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 "row expansion via \"*\" is not supported here"
+msgstr "la expansión de filas a través de «*» no está soportado aquí"
 
-#: parser/parse_relation.c:428
+#: parser/parse_expr.c:766 parser/parse_relation.c:562
+#: parser/parse_relation.c:653 parser/parse_target.c:1100
 #, 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 "column reference \"%s\" is ambiguous"
+msgstr "la referencia a la columna «%s» es ambigua"
 
-#: parser/parse_relation.c:592
+#: parser/parse_expr.c:822 parser/parse_param.c:110 parser/parse_param.c:142
+#: parser/parse_param.c:199 parser/parse_param.c:298
 #, c-format
-msgid "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 "there is no parameter $%d"
+msgstr "no hay parámetro $%d"
 
-#: parser/parse_relation.c:893 parser/parse_relation.c:1170
-#: parser/parse_relation.c:1664
+#: parser/parse_expr.c:1034
 #, 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 "NULLIF requires = operator to yield boolean"
+msgstr "NULLIF requiere que el operador = retorne boolean"
 
-#: parser/parse_relation.c:980
-#, c-format
-msgid "There is a WITH item named \"%s\", but it cannot be referenced from this part of the query."
-msgstr "Hay un elemento WITH llamado «%s», pero no puede ser referenciada desde esta parte de la consulta."
+#: parser/parse_expr.c:1469
+msgid "cannot use subquery in check constraint"
+msgstr "no se pueden usar subconsultas en una restricción «check»"
 
-#: parser/parse_relation.c:982
-#, c-format
-msgid "Use WITH RECURSIVE, or re-order the WITH items to remove forward references."
-msgstr "Use WITH RECURSIVE, o reordene los elementos de WITH para eliminar referencias hacia adelante."
+#: parser/parse_expr.c:1473
+msgid "cannot use subquery in DEFAULT expression"
+msgstr "no se puede usar una subconsulta en una expresión DEFAULT"
 
-#: parser/parse_relation.c:1288
-#, c-format
-msgid "a column definition list is only allowed for functions returning \"record\""
-msgstr "sólo se permite una lista de definición de columnas en funciones que retornan «record»"
+#: parser/parse_expr.c:1476
+msgid "cannot use subquery in index expression"
+msgstr "no se puede usar una subconsulta en una expresión de índice"
 
-#: parser/parse_relation.c:1297
-#, c-format
-msgid "a column definition list is required for functions returning \"record\""
-msgstr "la lista de definición de columnas es obligatoria para funciones que retornan «record»"
+#: parser/parse_expr.c:1479
+msgid "cannot use subquery in index predicate"
+msgstr "no se puede usar una subconsulta en un predicado de índice"
 
-#: parser/parse_relation.c:1376
-#, c-format
-msgid "function \"%s\" in FROM has unsupported return type %s"
-msgstr "la función «%s» en FROM tiene el tipo de retorno no soportado %s"
+#: parser/parse_expr.c:1482
+msgid "cannot use subquery in transform expression"
+msgstr "no se puede usar una subconsulta en una expresión de transformación"
 
-#: parser/parse_relation.c:1496
-#, c-format
-msgid "VALUES lists \"%s\" have %d columns available but %d columns specified"
-msgstr "la lista VALUES «%s» tiene %d columnas disponibles pero se especificaron %d"
+#: parser/parse_expr.c:1485
+msgid "cannot use subquery in EXECUTE parameter"
+msgstr "no se puede usar una subconsulta en un parámetro a EXECUTE"
 
-#: parser/parse_relation.c:1549
-#, c-format
-msgid "joins can have at most %d columns"
-msgstr "los joins pueden tener a lo más %d columnas"
+#: parser/parse_expr.c:1488
+msgid "cannot use subquery in trigger WHEN condition"
+msgstr "no se puede usar una subconsulta en la condición WHEN de un disparador"
 
-#: parser/parse_relation.c:1637
+#: parser/parse_expr.c:1545
 #, c-format
-msgid "WITH query \"%s\" does not have a RETURNING clause"
-msgstr "la consulta WITH «%s» no tiene una cláusula RETURNING"
+msgid "subquery must return a column"
+msgstr "la subconsulta debe retornar una columna"
 
-#: parser/parse_relation.c:2554 parser/parse_relation.c:2716
+#: parser/parse_expr.c:1552
 #, c-format
-msgid "column %d of relation \"%s\" does not exist"
-msgstr "no existe la columna %d en la relación «%s»"
+msgid "subquery must return only one column"
+msgstr "la subconsulta debe retornar sólo una columna"
 
-#: parser/parse_relation.c:2935
+#: parser/parse_expr.c:1612
 #, c-format
-msgid "Perhaps you meant to reference the table alias \"%s\"."
-msgstr "Probablemente quiera hacer referencia al alias de la tabla «%s»."
+msgid "subquery has too many columns"
+msgstr "la subconsulta tiene demasiadas columnas"
 
-#: parser/parse_relation.c:2943
+#: parser/parse_expr.c:1617
 #, c-format
-msgid "missing FROM-clause entry for table \"%s\""
-msgstr "falta una entrada para la tabla «%s» en la cláusula FROM"
+msgid "subquery has too few columns"
+msgstr "la subconsulta tiene muy pocas columnas"
 
-#: parser/parse_relation.c:2983
+#: parser/parse_expr.c:1713
 #, 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 "cannot determine type of empty array"
+msgstr "no se puede determinar el tipo de un array vacío"
 
-#: parser/parse_target.c:413 parser/parse_target.c:704
+#: parser/parse_expr.c:1714
 #, c-format
-msgid "cannot assign to system column \"%s\""
-msgstr "no se puede asignar a la columna de sistema «%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_target.c:441
+#: parser/parse_expr.c:1728
 #, c-format
-msgid "cannot set an array element to DEFAULT"
-msgstr "no se puede definir un elemento de array a DEFAULT"
+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_target.c:446
+#: parser/parse_expr.c:1954
 #, c-format
-msgid "cannot set a subfield to DEFAULT"
-msgstr "no se puede definir un subcampo a DEFAULT"
+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_target.c:515
+#: parser/parse_expr.c:1955
 #, 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 "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_target.c:688
+#: parser/parse_expr.c:1970
 #, 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 "XML attribute name \"%s\" appears more than once"
+msgstr "el nombre de atributo XML «%s» aparece más de una vez"
 
-#: parser/parse_target.c:697
+#: parser/parse_expr.c:2077
 #, 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 "cannot cast XMLSERIALIZE result to %s"
+msgstr "no se puede convertir el resultado de XMLSERIALIZE a %s"
 
-#: parser/parse_target.c:764
+#: parser/parse_expr.c:2320 parser/parse_expr.c:2520
 #, 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 "unequal number of entries in row expressions"
+msgstr "número desigual de entradas en expresiones de registro"
 
-#: parser/parse_target.c:774
+#: parser/parse_expr.c:2330
 #, 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 "cannot compare rows of zero length"
+msgstr "no se pueden comparar registros de largo cero"
 
-#: parser/parse_target.c:1190
+#: parser/parse_expr.c:2355
 #, c-format
-msgid "SELECT * with no tables specified is not valid"
-msgstr "SELECT * sin especificar tablas no es válido"
+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_type.c:84
+#: parser/parse_expr.c:2362
 #, c-format
-msgid "improper %%TYPE reference (too few dotted names): %s"
-msgstr "referencia %%TYPE inapropiada (muy pocos nombres con punto): %s"
+msgid "row comparison operator must not return a set"
+msgstr "el operador de comparación de registros no puede retornar un conjunto"
 
-#: parser/parse_type.c:106
+#: parser/parse_expr.c:2421 parser/parse_expr.c:2466
 #, c-format
-msgid "improper %%TYPE reference (too many dotted names): %s"
-msgstr "la referencia a %%TYPE es inapropiada (demasiados nombres con punto): %s"
+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_type.c:141
+#: parser/parse_expr.c:2423
 #, c-format
-msgid "type reference %s converted to %s"
-msgstr "la referencia al tipo %s convertida a %s"
+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_type.c:257 parser/parse_type.c:805 utils/cache/typcache.c:198
+#: parser/parse_expr.c:2468
 #, c-format
-msgid "type \"%s\" is only a shell"
-msgstr "el tipo «%s» está inconcluso"
+msgid "There are multiple equally-plausible candidates."
+msgstr "Hay múltiples candidatos igualmente plausibles."
 
-#: parser/parse_type.c:342
+#: parser/parse_expr.c:2560
 #, c-format
-msgid "type modifier is not allowed for type \"%s\""
-msgstr "un modificador de tipo no está permitido para el tipo «%s»"
+msgid "IS DISTINCT FROM requires = operator to yield boolean"
+msgstr "IS DISTINCT FROM requiere que el operador = retorne boolean"
 
-#: parser/parse_type.c:384
+#: parser/parse_func.c:173
 #, c-format
-msgid "type modifiers must be simple constants or identifiers"
-msgstr "los modificadores de tipo deben ser constantes simples o identificadores"
+msgid "argument name \"%s\" used more than once"
+msgstr "el nombre de argumento «%s» fue especificado más de una vez"
 
-#: parser/parse_type.c:695 parser/parse_type.c:819
+#: parser/parse_func.c:184
 #, c-format
-msgid "invalid type name \"%s\""
-msgstr "el nombre de tipo «%s» no es válido"
+msgid "positional argument cannot follow named argument"
+msgstr "un argumento posicional no puede seguir a un argumento con nombre"
 
-#: parser/parse_utilcmd.c:177
+#: parser/parse_func.c:263
 #, c-format
-msgid "relation \"%s\" already exists, skipping"
-msgstr "la relación «%s» ya existe, ignorando"
+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_utilcmd.c:342
+#: parser/parse_func.c:270
 #, c-format
-msgid "array of serial is not implemented"
-msgstr "array de serial no está implementado"
+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_utilcmd.c:390
+#: parser/parse_func.c:276
 #, 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 "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_utilcmd.c:484 parser/parse_utilcmd.c:496
+#: parser/parse_func.c:282
 #, 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 "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_utilcmd.c:508
+#: parser/parse_func.c:288
 #, 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 "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_utilcmd.c:675
+#: parser/parse_func.c:294
 #, c-format
-msgid "LIKE is not supported for creating foreign tables"
-msgstr "LIKE no está soportado para la creación de tablas foráneas"
+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_utilcmd.c:1198 parser/parse_utilcmd.c:1274
+#: parser/parse_func.c:324
 #, c-format
-msgid "Index \"%s\" contains a whole-row table reference."
-msgstr "El índice «%s» contiene una referencia a la fila completa (whole-row)."
+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_utilcmd.c:1541
+#: parser/parse_func.c:330
 #, c-format
-msgid "cannot use an existing index in CREATE TABLE"
-msgstr "no se puede usar un índice existente en CREATE TABLE"
+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_utilcmd.c:1561
+#: parser/parse_func.c:361 parser/parse_func.c:390
 #, c-format
-msgid "index \"%s\" is already associated with a constraint"
-msgstr "el índice «%s» ya está asociado a una restricción"
+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_utilcmd.c:1569
+#: parser/parse_func.c:415
 #, c-format
-msgid "index \"%s\" does not belong to table \"%s\""
-msgstr "el índice «%s» no pertenece a la tabla «%s»"
+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_utilcmd.c:1576
+#: parser/parse_func.c:429
 #, c-format
-msgid "index \"%s\" is not valid"
-msgstr "el índice «%s» no es válido"
+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_utilcmd.c:1582
+#: parser/parse_func.c:448
 #, c-format
-msgid "\"%s\" is not a unique index"
-msgstr "«%s» no es un índice único"
+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_utilcmd.c:1583 parser/parse_utilcmd.c:1590
-#: parser/parse_utilcmd.c:1597 parser/parse_utilcmd.c:1667
+#: parser/parse_func.c:461
 #, 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í."
+msgid "window function %s requires an OVER clause"
+msgstr "la función de ventana deslizante %s requiere una cláusula OVER"
 
-#: parser/parse_utilcmd.c:1589
+#: parser/parse_func.c:468
 #, c-format
-msgid "index \"%s\" contains expressions"
-msgstr "el índice «%s» contiene expresiones"
+msgid "window function %s cannot have WITHIN GROUP"
+msgstr "la función de ventana deslizante %s no puede tener WITHIN GROUP"
 
-#: parser/parse_utilcmd.c:1596
+#: parser/parse_func.c:489
 #, c-format
-msgid "\"%s\" is a partial index"
-msgstr "«%s» es un índice parcial"
+msgid "function %s is not unique"
+msgstr "la función %s no es única"
 
-#: parser/parse_utilcmd.c:1608
+#: parser/parse_func.c:492
 #, c-format
-msgid "\"%s\" is a deferrable index"
-msgstr "«%s» no es un índice postergable (deferrable)"
+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_utilcmd.c:1609
+#: parser/parse_func.c:503
 #, 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 "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_utilcmd.c:1666
+#: parser/parse_func.c:514
 #, c-format
-msgid "index \"%s\" does not have default sorting behavior"
-msgstr "el índice «%s» no tiene el comportamiento de ordenamiento por omisión"
+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_utilcmd.c:1811
+#: parser/parse_func.c:616
 #, c-format
-msgid "column \"%s\" appears twice in primary key constraint"
-msgstr "la columna «%s» aparece dos veces en llave primaria"
+msgid "VARIADIC argument must be an array"
+msgstr "el parámetro VARIADIC debe ser un array"
 
-#: parser/parse_utilcmd.c:1817
+#: parser/parse_func.c:661 parser/parse_func.c:725
 #, c-format
-msgid "column \"%s\" appears twice in unique constraint"
-msgstr "la columna «%s» aparece dos veces en restricción unique"
+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_utilcmd.c:1983
+#: parser/parse_func.c:668
 #, c-format
-msgid "index expression cannot return a set"
-msgstr "las expresiones de índice no pueden retornar conjuntos"
+msgid "aggregates cannot return sets"
+msgstr "las funciones de agregación no pueden retornar conjuntos"
 
-#: parser/parse_utilcmd.c:1994
+#: parser/parse_func.c:683
 #, 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 "aggregates cannot use named arguments"
+msgstr "las funciones de agregación no pueden usar argumentos con nombre"
 
-#: parser/parse_utilcmd.c:2037
+#: parser/parse_func.c:715
 #, c-format
-msgid "rules on materialized views are not supported"
-msgstr "las reglas en vistas materializadas no están soportadas"
+msgid "DISTINCT is not implemented for window functions"
+msgstr "DISTINCT no está implementado para funciones de ventana deslizante"
 
-#: parser/parse_utilcmd.c:2098
+#: parser/parse_func.c:735
 #, 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 "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_utilcmd.c:2170
+#: parser/parse_func.c:744
 #, 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 "FILTER is not implemented for non-aggregate window functions"
+msgstr "FILTER no está implementado para funciones de ventana deslizante"
 
-#: parser/parse_utilcmd.c:2188 parser/parse_utilcmd.c:2287
-#: rewrite/rewriteHandler.c:469 rewrite/rewriteManip.c:968
+#: parser/parse_func.c:750
 #, c-format
-msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
-msgstr "las sentencias UNION/INTERSECT/EXCEPT condicionales no están implementadas"
+msgid "window functions cannot return sets"
+msgstr "las funciones de ventana deslizante no pueden retornar conjuntos"
 
-#: parser/parse_utilcmd.c:2206
+#: parser/parse_func.c:1994
 #, c-format
-msgid "ON SELECT rule cannot use OLD"
-msgstr "una regla ON SELECT no puede usar OLD"
+msgid "aggregate %s(*) does not exist"
+msgstr "no existe la función de agregación %s(*)"
 
-#: parser/parse_utilcmd.c:2210
+#: parser/parse_func.c:1999
 #, c-format
-msgid "ON SELECT rule cannot use NEW"
-msgstr "una regla ON SELECT no puede usar NEW"
+msgid "aggregate %s does not exist"
+msgstr "no existe la función de agregación %s"
 
-#: parser/parse_utilcmd.c:2219
+#: parser/parse_func.c:2018
 #, c-format
-msgid "ON INSERT rule cannot use OLD"
-msgstr "una regla ON INSERT no puede usar OLD"
+msgid "function %s is not an aggregate"
+msgstr "la función %s no es una función de agregación"
 
-#: parser/parse_utilcmd.c:2225
+#: parser/parse_node.c:84
 #, c-format
-msgid "ON DELETE rule cannot use NEW"
-msgstr "una regla ON DELETE no puede usar NEW"
+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:2253
+#: parser/parse_node.c:253
 #, c-format
-msgid "cannot refer to OLD within WITH query"
-msgstr "no se puede hacer referencia a OLD dentro de una consulta WITH"
+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:2260
+#: parser/parse_node.c:356 parser/parse_node.c:383
 #, c-format
-msgid "cannot refer to NEW within WITH query"
-msgstr "no se puede hacer referencia a NEW dentro de una consulta WITH"
+msgid "array subscript must have type integer"
+msgstr "los subíndices de arrays deben tener tipo entero"
 
-#: parser/parse_utilcmd.c:2543
+#: parser/parse_node.c:407
 #, c-format
-msgid "misplaced DEFERRABLE clause"
-msgstr "cláusula DEFERRABLE mal puesta"
+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:2548 parser/parse_utilcmd.c:2563
+#: parser/parse_oper.c:124 parser/parse_oper.c:718 utils/adt/regproc.c:548
+#: utils/adt/regproc.c:568 utils/adt/regproc.c:752
 #, c-format
-msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
-msgstr "no se permiten múltiples cláusulas DEFERRABLE/NOT DEFERRABLE"
+msgid "operator does not exist: %s"
+msgstr "el operador no existe: %s"
 
-#: parser/parse_utilcmd.c:2558
+#: parser/parse_oper.c:221
 #, c-format
-msgid "misplaced NOT DEFERRABLE clause"
-msgstr "la cláusula NOT DEFERRABLE está mal puesta"
+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:2571 parser/parse_utilcmd.c:2597 gram.y:4586
+#: parser/parse_oper.c:225 utils/adt/arrayfuncs.c:3234
+#: utils/adt/arrayfuncs.c:3753 utils/adt/arrayfuncs.c:5294
+#: utils/adt/rowtypes.c:1167
 #, c-format
-msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
-msgstr "una restricción declarada INITIALLY DEFERRED debe ser DEFERRABLE"
+msgid "could not identify an equality operator for type %s"
+msgstr "no se pudo identificar un operador de igualdad para el tipo %s"
 
-#: parser/parse_utilcmd.c:2579
+#: parser/parse_oper.c:476
 #, c-format
-msgid "misplaced INITIALLY DEFERRED clause"
-msgstr "la cláusula INITIALLY DEFERRED está mal puesta"
+msgid "operator requires run-time type coercion: %s"
+msgstr "el operador requiere conversión explícita de tipos: %s"
 
-#: parser/parse_utilcmd.c:2584 parser/parse_utilcmd.c:2610
+#: parser/parse_oper.c:710
 #, c-format
-msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
-msgstr "no se permiten múltiples cláusulas INITIALLY IMMEDIATE/DEFERRED"
+msgid "operator is not unique: %s"
+msgstr "el operador no es único: %s"
 
-#: parser/parse_utilcmd.c:2605
+#: parser/parse_oper.c:712
 #, c-format
-msgid "misplaced INITIALLY IMMEDIATE clause"
-msgstr "la cláusula INITIALLY IMMEDIATE está mal puesta"
+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:2796
+#: parser/parse_oper.c:720
 #, 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 "No operator matches the given name and argument type(s). You might need to add explicit type casts."
+msgstr "Ningún operador coincide con el nombre y el tipo de los argumentos. Puede ser necesario agregar conversiones explícitas de tipos."
 
-#: parser/scansup.c:194
+#: parser/parse_oper.c:779 parser/parse_oper.c:893
 #, c-format
-msgid "identifier \"%s\" will be truncated to \"%s\""
-msgstr "el identificador «%s» se truncará a «%s»"
+msgid "operator is only a shell: %s"
+msgstr "el operador está inconcluso: %s"
 
-#: port/pg_latch.c:336 port/unix_latch.c:336
+#: parser/parse_oper.c:881
 #, c-format
-msgid "poll() failed: %m"
-msgstr "poll() fallida: %m"
+msgid "op ANY/ALL (array) requires array on right side"
+msgstr "op ANY/ALL (array) requiere un array al lado derecho"
 
-#: port/pg_latch.c:423 port/unix_latch.c:423
-#: replication/libpqwalreceiver/libpqwalreceiver.c:364
+#: parser/parse_oper.c:923
 #, c-format
-msgid "select() failed: %m"
-msgstr "select() fallida: %m"
+msgid "op ANY/ALL (array) requires operator to yield boolean"
+msgstr "op ANY/ALL (array) requiere un operador que entregue boolean"
 
-#: port/pg_sema.c:113 port/sysv_sema.c:113
+#: parser/parse_oper.c:928
 #, c-format
-msgid "could not create semaphores: %m"
-msgstr "no se pudo crear semáforos: %m"
+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"
 
-#: port/pg_sema.c:114 port/sysv_sema.c:114
+#: parser/parse_param.c:216
 #, 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 "inconsistent types deduced for parameter $%d"
+msgstr "para el parámetro $%d se dedujeron tipos de dato inconsistentes"
 
-#: port/pg_sema.c:118 port/sysv_sema.c:118
+#: parser/parse_relation.c:173
 #, 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 "table reference \"%s\" is ambiguous"
+msgstr "la referencia a la tabla «%s» es ambigua"
 
-#: port/pg_sema.c:148 port/sysv_sema.c:148
+#: parser/parse_relation.c:217
 #, 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 "table reference %u is ambiguous"
+msgstr "la referencia a la tabla %u es ambigua"
 
-#: port/pg_shmem.c:195 port/sysv_shmem.c:195
+#: parser/parse_relation.c:396
 #, c-format
-msgid "could not create shared memory segment: %m"
-msgstr "no se pudo crear el segmento de memoria compartida: %m"
+msgid "table name \"%s\" specified more than once"
+msgstr "el nombre de tabla «%s» fue especificado más de una vez"
 
-#: port/pg_shmem.c:196 port/sysv_shmem.c:196
+#: parser/parse_relation.c:423 parser/parse_relation.c:2943
 #, 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 "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"
 
-#: port/pg_shmem.c:200 port/sysv_shmem.c:200
+#: parser/parse_relation.c:426 parser/parse_relation.c:2948
 #, 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 "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."
 
-#: port/pg_shmem.c:207 port/sysv_shmem.c:207
+#: parser/parse_relation.c:428
 #, 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 "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."
 
-#: port/pg_shmem.c:213 port/sysv_shmem.c:213
+#: parser/parse_relation.c:592
 #, 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 "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"
 
-#: port/pg_shmem.c:504 port/sysv_shmem.c:504
+#: parser/parse_relation.c:893 parser/parse_relation.c:1170
+#: parser/parse_relation.c:1664
 #, c-format
-msgid "could not map anonymous shared memory: %m"
-msgstr "no se pudo mapear memoria compartida anónima: %m"
+msgid "table \"%s\" has %d columns available but %d columns specified"
+msgstr "la tabla «%s» tiene %d columnas pero se especificaron %d"
 
-#: port/pg_shmem.c:506 port/sysv_shmem.c:506
+#: parser/parse_relation.c:980
 #, 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 "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."
 
-#: port/pg_shmem.c:572 port/sysv_shmem.c:572 port/win32_shmem.c:134
+#: parser/parse_relation.c:982
 #, c-format
-msgid "huge pages not supported on this platform"
-msgstr "las huge pages no están soportados en esta plataforma"
+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."
 
-#: port/pg_shmem.c:667 port/sysv_shmem.c:667
+#: parser/parse_relation.c:1288
 #, c-format
-msgid "could not stat data directory \"%s\": %m"
-msgstr "no se pudo hacer stat al directorio de datos «%s»: %m"
+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»"
 
-#: port/win32/crashdump.c:108
+#: parser/parse_relation.c:1297
 #, 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 "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»"
 
-#: port/win32/crashdump.c:116
+#: parser/parse_relation.c:1376
 #, 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 "function \"%s\" in FROM has unsupported return type %s"
+msgstr "la función «%s» en FROM tiene el tipo de retorno no soportado %s"
 
-#: port/win32/crashdump.c:147
+#: parser/parse_relation.c:1496
 #, 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 "VALUES lists \"%s\" have %d columns available but %d columns specified"
+msgstr "la lista VALUES «%s» tiene %d columnas disponibles pero se especificaron %d"
 
-#: port/win32/crashdump.c:154
+#: parser/parse_relation.c:1549
 #, c-format
-msgid "wrote crash dump to file \"%s\"\n"
-msgstr "se escribió el volcado de caída en el archivo «%s».\n"
+msgid "joins can have at most %d columns"
+msgstr "los joins pueden tener a lo más %d columnas"
 
-#: port/win32/crashdump.c:156
+#: parser/parse_relation.c:1637
 #, 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 "WITH query \"%s\" does not have a RETURNING clause"
+msgstr "la consulta WITH «%s» no tiene una cláusula RETURNING"
 
-#: port/win32/security.c:43
+#: parser/parse_relation.c:2565 parser/parse_relation.c:2727
 #, c-format
-msgid "could not open process token: error code %lu\n"
-msgstr "no se pudo abrir el token de proceso: código de error %lu\n"
+msgid "column %d of relation \"%s\" does not exist"
+msgstr "no existe la columna %d en la relación «%s»"
 
-#: port/win32/security.c:63
+#: parser/parse_relation.c:2946
 #, c-format
-msgid "could not get SID for Administrators group: error code %lu\n"
-msgstr "no se pudo obtener el SID del grupo Administrators: código de error %lu\n"
+msgid "Perhaps you meant to reference the table alias \"%s\"."
+msgstr "Probablemente quiera hacer referencia al alias de la tabla «%s»."
 
-#: port/win32/security.c:72
+#: parser/parse_relation.c:2954
 #, c-format
-msgid "could not get SID for PowerUsers group: error code %lu\n"
-msgstr "no se pudo obtener el SID del grupo PowerUsers: código de error %lu\n"
+msgid "missing FROM-clause entry for table \"%s\""
+msgstr "falta una entrada para la tabla «%s» en la cláusula FROM"
 
-#: port/win32/signal.c:194
+#: parser/parse_relation.c:2994
 #, 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 "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."
 
-#: port/win32/signal.c:274 port/win32/signal.c:306
+#: parser/parse_target.c:413 parser/parse_target.c:704
 #, 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 "cannot assign to system column \"%s\""
+msgstr "no se puede asignar a la columna de sistema «%s»"
 
-#: port/win32/signal.c:317
+#: parser/parse_target.c:441
 #, c-format
-msgid "could not create signal dispatch thread: error code %lu\n"
-msgstr "no se pudo crear thread de despacho de señales: código de error %lu\n"
+msgid "cannot set an array element to DEFAULT"
+msgstr "no se puede definir un elemento de array a DEFAULT"
 
-#: port/win32_sema.c:94
+#: parser/parse_target.c:446
 #, c-format
-msgid "could not create semaphore: error code %lu"
-msgstr "no se pudo crear semáforo: código de error %lu"
+msgid "cannot set a subfield to DEFAULT"
+msgstr "no se puede definir un subcampo a DEFAULT"
 
-#: port/win32_sema.c:165
+#: parser/parse_target.c:515
 #, c-format
-msgid "could not lock semaphore: error code %lu"
-msgstr "no se pudo bloquear semáforo: código de error %lu"
+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"
 
-#: port/win32_sema.c:178
+#: parser/parse_target.c:688
 #, c-format
-msgid "could not unlock semaphore: error code %lu"
-msgstr "no se pudo desbloquear semáforo: código de error %lu"
+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"
 
-#: port/win32_sema.c:207
+#: parser/parse_target.c:697
 #, 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 "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"
 
-#: port/win32_shmem.c:173 port/win32_shmem.c:208 port/win32_shmem.c:226
+#: parser/parse_target.c:764
 #, 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 "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"
 
-#: port/win32_shmem.c:174
+#: parser/parse_target.c:774
 #, 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 "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"
 
-#: port/win32_shmem.c:198
+#: parser/parse_target.c:1190
 #, 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 "SELECT * with no tables specified is not valid"
+msgstr "SELECT * sin especificar tablas no es válido"
 
-#: port/win32_shmem.c:199
+#: parser/parse_type.c:84
 #, 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 "improper %%TYPE reference (too few dotted names): %s"
+msgstr "referencia %%TYPE inapropiada (muy pocos nombres con punto): %s"
 
-#: port/win32_shmem.c:209
+#: parser/parse_type.c:106
 #, c-format
-msgid "Failed system call was DuplicateHandle."
-msgstr "La llamada a sistema fallida fue DuplicateHandle."
+msgid "improper %%TYPE reference (too many dotted names): %s"
+msgstr "la referencia a %%TYPE es inapropiada (demasiados nombres con punto): %s"
 
-#: port/win32_shmem.c:227
+#: parser/parse_type.c:141
 #, c-format
-msgid "Failed system call was MapViewOfFileEx."
-msgstr "La llamada a sistema fallida fue MapViewOfFileEx."
+msgid "type reference %s converted to %s"
+msgstr "la referencia al tipo %s convertida a %s"
 
-#: postmaster/autovacuum.c:386
+#: parser/parse_type.c:257 parser/parse_type.c:805 utils/cache/typcache.c:200
 #, c-format
-msgid "could not fork autovacuum launcher process: %m"
-msgstr "no se pudo iniciar el lanzador autovacuum: %m"
+msgid "type \"%s\" is only a shell"
+msgstr "el tipo «%s» está inconcluso"
 
-#: postmaster/autovacuum.c:431
+#: parser/parse_type.c:342
 #, c-format
-msgid "autovacuum launcher started"
-msgstr "lanzador de autovacuum iniciado"
+msgid "type modifier is not allowed for type \"%s\""
+msgstr "un modificador de tipo no está permitido para el tipo «%s»"
 
-#: postmaster/autovacuum.c:807
+#: parser/parse_type.c:384
 #, c-format
-msgid "autovacuum launcher shutting down"
-msgstr "apagando lanzador de autovacuum"
+msgid "type modifiers must be simple constants or identifiers"
+msgstr "los modificadores de tipo deben ser constantes simples o identificadores"
 
-#: postmaster/autovacuum.c:1479
+#: parser/parse_type.c:695 parser/parse_type.c:819
 #, c-format
-msgid "could not fork autovacuum worker process: %m"
-msgstr "no se pudo lanzar el proceso «autovacuum worker»: %m"
+msgid "invalid type name \"%s\""
+msgstr "el nombre de tipo «%s» no es válido"
 
-#: postmaster/autovacuum.c:1698
+#: parser/parse_utilcmd.c:177
 #, c-format
-msgid "autovacuum: processing database \"%s\""
-msgstr "autovacuum: procesando la base de datos «%s»"
+msgid "relation \"%s\" already exists, skipping"
+msgstr "la relación «%s» ya existe, ignorando"
 
-#: postmaster/autovacuum.c:2114
+#: parser/parse_utilcmd.c:342
 #, c-format
-msgid "autovacuum: dropping orphan temp table \"%s\".\"%s\" in database \"%s\""
-msgstr "autovacuum: eliminando la tabla temporal huérfana «%s».«%s» en la base de datos «%s»"
+msgid "array of serial is not implemented"
+msgstr "array de serial no está implementado"
 
-#: postmaster/autovacuum.c:2126
+#: parser/parse_utilcmd.c:390
 #, c-format
-msgid "autovacuum: found orphan temp table \"%s\".\"%s\" in database \"%s\""
-msgstr "autovacuum: se encontró una tabla temporal huérfana «%s».«%s» en la base de datos «%s»"
+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»"
 
-#: postmaster/autovacuum.c:2395
+#: parser/parse_utilcmd.c:484 parser/parse_utilcmd.c:496
 #, c-format
-msgid "automatic vacuum of table \"%s.%s.%s\""
-msgstr "vacuum automático de la tabla «%s.%s.%s»"
+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»"
 
-#: postmaster/autovacuum.c:2398
+#: parser/parse_utilcmd.c:508
 #, c-format
-msgid "automatic analyze of table \"%s.%s.%s\""
-msgstr "análisis automático de la tabla «%s.%s.%s»"
+msgid "multiple default values specified for column \"%s\" of table \"%s\""
+msgstr "múltiples valores default especificados para columna «%s» de tabla «%s»"
 
-#: postmaster/autovacuum.c:2955
+#: parser/parse_utilcmd.c:675
 #, c-format
-msgid "autovacuum not started because of misconfiguration"
-msgstr "autovacuum no fue iniciado debido a un error de configuración"
+msgid "LIKE is not supported for creating foreign tables"
+msgstr "LIKE no está soportado para la creación de tablas foráneas"
 
-#: postmaster/autovacuum.c:2956
+#: parser/parse_utilcmd.c:1198 parser/parse_utilcmd.c:1274
 #, c-format
-msgid "Enable the \"track_counts\" option."
-msgstr "Active la opción «track_counts»."
+msgid "Index \"%s\" contains a whole-row table reference."
+msgstr "El índice «%s» contiene una referencia a la fila completa (whole-row)."
 
-#: postmaster/bgworker.c:346 postmaster/bgworker.c:761
+#: parser/parse_utilcmd.c:1541
 #, c-format
-msgid "registering background worker \"%s\""
-msgstr "registrando el «background worker» «%s»"
+msgid "cannot use an existing index in CREATE TABLE"
+msgstr "no se puede usar un índice existente en CREATE TABLE"
 
-#: postmaster/bgworker.c:375
+#: parser/parse_utilcmd.c:1561
 #, c-format
-msgid "unregistering background worker \"%s\""
-msgstr "des-registrando el «background worker» «%s»"
+msgid "index \"%s\" is already associated with a constraint"
+msgstr "el índice «%s» ya está asociado a una restricción"
 
-#: postmaster/bgworker.c:484
+#: parser/parse_utilcmd.c:1569
 #, c-format
-msgid "background worker \"%s\": must attach to shared memory in order to request a database connection"
-msgstr "«background worker» «%s»: debe acoplarse a memoria compartida para poder solicitar una conexión a base de datos"
+msgid "index \"%s\" does not belong to table \"%s\""
+msgstr "el índice «%s» no pertenece a la tabla «%s»"
 
-#: postmaster/bgworker.c:493
+#: parser/parse_utilcmd.c:1576
 #, c-format
-msgid "background worker \"%s\": cannot request database access if starting at postmaster start"
-msgstr "«background worker» «%s»: no se puede solicitar una conexión a base de datos si está iniciando en el momento de inicio de postmaster"
+msgid "index \"%s\" is not valid"
+msgstr "el índice «%s» no es válido"
 
-#: postmaster/bgworker.c:507
+#: parser/parse_utilcmd.c:1582
 #, c-format
-msgid "background worker \"%s\": invalid restart interval"
-msgstr "«background worker» «%s»: intervalo de reinicio no válido"
+msgid "\"%s\" is not a unique index"
+msgstr "«%s» no es un índice único"
 
-#: postmaster/bgworker.c:552
+#: parser/parse_utilcmd.c:1583 parser/parse_utilcmd.c:1590
+#: parser/parse_utilcmd.c:1597 parser/parse_utilcmd.c:1667
 #, c-format
-msgid "terminating background worker \"%s\" due to administrator command"
-msgstr "terminando el «background worker» «%s» debido a una orden del administrador"
+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í."
 
-#: postmaster/bgworker.c:768
+#: parser/parse_utilcmd.c:1589
 #, c-format
-msgid "background worker \"%s\": must be registered in shared_preload_libraries"
-msgstr "«background worker» «%s»: debe ser registrado en shared_preload_libraries"
+msgid "index \"%s\" contains expressions"
+msgstr "el índice «%s» contiene expresiones"
 
-#: postmaster/bgworker.c:780
+#: parser/parse_utilcmd.c:1596
 #, c-format
-msgid "background worker \"%s\": only dynamic background workers can request notification"
-msgstr "«background worker» «%s»: sólo los «background worker» dinámicos pueden pedir notificaciones"
+msgid "\"%s\" is a partial index"
+msgstr "«%s» es un índice parcial"
 
-#: postmaster/bgworker.c:795
+#: parser/parse_utilcmd.c:1608
 #, c-format
-msgid "too many background workers"
-msgstr "demasiados «background workers»"
+msgid "\"%s\" is a deferrable index"
+msgstr "«%s» no es un índice postergable (deferrable)"
 
-#: postmaster/bgworker.c:796
+#: parser/parse_utilcmd.c:1609
 #, c-format
-msgid "Up to %d background worker can be registered with the current settings."
-msgid_plural "Up to %d background workers can be registered with the current settings."
-msgstr[0] "Hasta %d «background worker» puede registrarse con la configuración actual."
-msgstr[1] "Hasta %d «background workers» pueden registrarse con la configuración actual."
+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."
 
-# FIXME a %s would be nice here
-#: postmaster/bgworker.c:800
+#: parser/parse_utilcmd.c:1666
 #, c-format
-msgid "Consider increasing the configuration parameter \"max_worker_processes\"."
-msgstr "Considere incrementar el parámetro de configuración «max_worker_processes»."
+msgid "index \"%s\" does not have default sorting behavior"
+msgstr "el índice «%s» no tiene el comportamiento de ordenamiento por omisión"
 
-#: postmaster/checkpointer.c:481
+#: parser/parse_utilcmd.c:1811
 #, 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 "column \"%s\" appears twice in primary key constraint"
+msgstr "la columna «%s» aparece dos veces en llave primaria"
 
-#: postmaster/checkpointer.c:485
+#: parser/parse_utilcmd.c:1817
 #, c-format
-msgid "Consider increasing the configuration parameter \"checkpoint_segments\"."
-msgstr "Considere incrementar el parámetro de configuración «checkpoint_segments»."
+msgid "column \"%s\" appears twice in unique constraint"
+msgstr "la columna «%s» aparece dos veces en restricción unique"
 
-#: postmaster/checkpointer.c:630
+#: parser/parse_utilcmd.c:1983
 #, c-format
-msgid "transaction log switch forced (archive_timeout=%d)"
-msgstr "cambio forzado de registro de transacción (archive_timeout=%d)"
+msgid "index expression cannot return a set"
+msgstr "las expresiones de índice no pueden retornar conjuntos"
 
-#: postmaster/checkpointer.c:1083
+#: parser/parse_utilcmd.c:1994
 #, c-format
-msgid "checkpoint request failed"
-msgstr "falló la petición de punto de control"
+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"
 
-#: postmaster/checkpointer.c:1084
+#: parser/parse_utilcmd.c:2037
 #, 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 "rules on materialized views are not supported"
+msgstr "las reglas en vistas materializadas no están soportadas"
 
-#: postmaster/checkpointer.c:1280
+#: parser/parse_utilcmd.c:2098
 #, 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 "rule WHERE condition cannot contain references to other relations"
+msgstr "la condición WHERE de la regla no puede contener referencias a otras relaciones"
 
-#: postmaster/pgarch.c:154
+#: parser/parse_utilcmd.c:2170
 #, c-format
-msgid "could not fork archiver: %m"
-msgstr "no se pudo lanzar el proceso archivador: %m"
+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"
 
-#: postmaster/pgarch.c:481
+#: parser/parse_utilcmd.c:2188 parser/parse_utilcmd.c:2287
+#: rewrite/rewriteHandler.c:468 rewrite/rewriteManip.c:968
 #, c-format
-msgid "archive_mode enabled, yet archive_command is not set"
-msgstr "archive_mode activado, pero archive_command no está definido"
+msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
+msgstr "las sentencias UNION/INTERSECT/EXCEPT condicionales no están implementadas"
 
-#: postmaster/pgarch.c:509
+#: parser/parse_utilcmd.c:2206
 #, c-format
-msgid "archiving transaction log file \"%s\" failed too many times, will try again later"
-msgstr "el archivado del archivo de transacción «%s» falló demasiadas veces, se reintentará nuevamente más tarde"
+msgid "ON SELECT rule cannot use OLD"
+msgstr "una regla ON SELECT no puede usar OLD"
 
-#: postmaster/pgarch.c:612
+#: parser/parse_utilcmd.c:2210
 #, c-format
-msgid "archive command failed with exit code %d"
-msgstr "la orden de archivado falló con código de retorno %d"
+msgid "ON SELECT rule cannot use NEW"
+msgstr "una regla ON SELECT no puede usar NEW"
 
-#: postmaster/pgarch.c:614 postmaster/pgarch.c:624 postmaster/pgarch.c:631
-#: postmaster/pgarch.c:637 postmaster/pgarch.c:646
+#: parser/parse_utilcmd.c:2219
 #, c-format
-msgid "The failed archive command was: %s"
-msgstr "La orden fallida era: «%s»"
+msgid "ON INSERT rule cannot use OLD"
+msgstr "una regla ON INSERT no puede usar OLD"
 
-#: postmaster/pgarch.c:621
+#: parser/parse_utilcmd.c:2225
 #, 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 "ON DELETE rule cannot use NEW"
+msgstr "una regla ON DELETE no puede usar NEW"
 
-#: postmaster/pgarch.c:623 postmaster/postmaster.c:3473
+#: parser/parse_utilcmd.c:2253
 #, 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 "cannot refer to OLD within WITH query"
+msgstr "no se puede hacer referencia a OLD dentro de una consulta WITH"
 
-#: postmaster/pgarch.c:628
+#: parser/parse_utilcmd.c:2260
 #, 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 "cannot refer to NEW within WITH query"
+msgstr "no se puede hacer referencia a NEW dentro de una consulta WITH"
 
-#: postmaster/pgarch.c:635
+#: parser/parse_utilcmd.c:2543
 #, c-format
-msgid "archive command was terminated by signal %d"
-msgstr "la orden de archivado fue terminada por una señal %d"
+msgid "misplaced DEFERRABLE clause"
+msgstr "cláusula DEFERRABLE mal puesta"
 
-#: postmaster/pgarch.c:644
+#: parser/parse_utilcmd.c:2548 parser/parse_utilcmd.c:2563
 #, c-format
-msgid "archive command exited with unrecognized status %d"
-msgstr "la orden de archivado fue terminada con código no reconocido %d"
+msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
+msgstr "no se permiten múltiples cláusulas DEFERRABLE/NOT DEFERRABLE"
 
-#: postmaster/pgarch.c:656
+#: parser/parse_utilcmd.c:2558
 #, c-format
-msgid "archived transaction log file \"%s\""
-msgstr "el archivo de registro «%s» ha sido archivado"
+msgid "misplaced NOT DEFERRABLE clause"
+msgstr "la cláusula NOT DEFERRABLE está mal puesta"
 
-#: postmaster/pgarch.c:705
+#: parser/parse_utilcmd.c:2579
 #, c-format
-msgid "could not open archive status directory \"%s\": %m"
-msgstr "no se pudo abrir el directorio de estado de archivado «%s»: %m"
+msgid "misplaced INITIALLY DEFERRED clause"
+msgstr "la cláusula INITIALLY DEFERRED está mal puesta"
 
-#: postmaster/pgstat.c:356
+#: parser/parse_utilcmd.c:2584 parser/parse_utilcmd.c:2610
 #, c-format
-msgid "could not resolve \"localhost\": %s"
-msgstr "no se pudo resolver «localhost»: %s"
+msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
+msgstr "no se permiten múltiples cláusulas INITIALLY IMMEDIATE/DEFERRED"
 
-#: postmaster/pgstat.c:379
+#: parser/parse_utilcmd.c:2605
 #, c-format
-msgid "trying another address for the statistics collector"
-msgstr "intentando otra dirección para el recolector de estadísticas"
+msgid "misplaced INITIALLY IMMEDIATE clause"
+msgstr "la cláusula INITIALLY IMMEDIATE está mal puesta"
 
-#: postmaster/pgstat.c:388
+#: parser/parse_utilcmd.c:2796
 #, 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 "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/pgstat.c:400
+#: parser/scansup.c:194
 #, 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 "identifier \"%s\" will be truncated to \"%s\""
+msgstr "el identificador «%s» se truncará a «%s»"
 
-#: postmaster/pgstat.c:411
+#: port/pg_latch.c:336 port/unix_latch.c:336
 #, 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 "poll() failed: %m"
+msgstr "poll() fallida: %m"
 
-#: postmaster/pgstat.c:427
+#: port/pg_latch.c:423 port/unix_latch.c:423
+#: replication/libpqwalreceiver/libpqwalreceiver.c:364
 #, 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 "select() failed: %m"
+msgstr "select() fallida: %m"
 
-#: postmaster/pgstat.c:448
+#: port/pg_sema.c:113 port/sysv_sema.c:113
 #, 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 semaphores: %m"
+msgstr "no se pudo crear semáforos: %m"
 
-#: postmaster/pgstat.c:474
+#: port/pg_sema.c:114 port/sysv_sema.c:114
 #, c-format
-msgid "select() failed in statistics collector: %m"
-msgstr "select() falló en el recolector de estadísticas: %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:489
+#: port/pg_sema.c:118 port/sysv_sema.c:118
 #, 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 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:504
+#: port/pg_sema.c:148 port/sysv_sema.c:148
 #, 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 "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:514
+#: port/pg_shmem.c:215 port/sysv_shmem.c:215
 #, 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 "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:216 port/sysv_shmem.c:216
 #, 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 "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:576
+#: port/pg_shmem.c:220 port/sysv_shmem.c:220
 #, 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 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:723
+#: port/pg_shmem.c:227 port/sysv_shmem.c:227
 #, c-format
-msgid "could not fork statistics collector: %m"
-msgstr "no se pudo crear el proceso para el 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:1264 postmaster/pgstat.c:1288 postmaster/pgstat.c:1321
+#: port/pg_shmem.c:233 port/sysv_shmem.c:233
 #, c-format
-msgid "must be superuser to reset statistics counters"
-msgstr "debe ser superusuario para reinicializar los contadores 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:1297
+#: port/pg_shmem.c:552 port/sysv_shmem.c:552
 #, c-format
-msgid "unrecognized reset target: \"%s\""
-msgstr "destino de reset no reconocido: «%s»"
+msgid "could not map anonymous shared memory: %m"
+msgstr "no se pudo mapear memoria compartida anónima: %m"
 
-#: postmaster/pgstat.c:1298
+#: port/pg_shmem.c:554 port/sysv_shmem.c:554
 #, c-format
-msgid "Target must be \"archiver\" or \"bgwriter\"."
-msgstr "El destino debe ser «archiver» o «bgwriter»."
+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:3315
+#: port/pg_shmem.c:616 port/sysv_shmem.c:616 port/win32_shmem.c:151
 #, c-format
-msgid "could not read statistics message: %m"
-msgstr "no se pudo leer un mensaje 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:3648 postmaster/pgstat.c:3805
+#: port/pg_shmem.c:679 port/sysv_shmem.c:679 utils/init/miscinit.c:798
 #, 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 "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:3715 postmaster/pgstat.c:3850
+#: port/pg_shmem.c:682 port/sysv_shmem.c:682 utils/init/miscinit.c:800
 #, 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 "Terminate any old server processes associated with data directory \"%s\"."
+msgstr "Termine cualquier proceso servidor antiguo asociado al directorio de datos «%s»."
 
-#: postmaster/pgstat.c:3724 postmaster/pgstat.c:3859
+#: port/pg_shmem.c:733 port/sysv_shmem.c:733
 #, 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 "could not stat data directory \"%s\": %m"
+msgstr "no se pudo hacer stat al directorio de datos «%s»: %m"
 
-#: postmaster/pgstat.c:3732 postmaster/pgstat.c:3867
+#: port/win32/crashdump.c:122
 #, 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:3957 postmaster/pgstat.c:4165 postmaster/pgstat.c:4318
+#: port/win32/crashdump.c:130
 #, 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:3969 postmaster/pgstat.c:3979 postmaster/pgstat.c:4000
-#: postmaster/pgstat.c:4022 postmaster/pgstat.c:4037 postmaster/pgstat.c:4102
-#: postmaster/pgstat.c:4177 postmaster/pgstat.c:4197 postmaster/pgstat.c:4215
-#: postmaster/pgstat.c:4231 postmaster/pgstat.c:4249 postmaster/pgstat.c:4265
-#: postmaster/pgstat.c:4330 postmaster/pgstat.c:4342 postmaster/pgstat.c:4354
-#: postmaster/pgstat.c:4379 postmaster/pgstat.c:4401
+#: port/win32/crashdump.c:161
 #, 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:4530
+#: port/win32/crashdump.c:168
 #, 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:4853
+#: port/win32/crashdump.c:170
 #, 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:680
+#: port/win32/security.c:43
 #, 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 open process token: error code %lu\n"
+msgstr "no se pudo abrir el token de proceso: código de error %lu\n"
 
-#: postmaster/postmaster.c:766
+#: port/win32/security.c:63
 #, 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 get SID for Administrators group: error code %lu\n"
+msgstr "no se pudo obtener el SID del grupo Administrators: código de error %lu\n"
 
-#: postmaster/postmaster.c:817
+#: port/win32/security.c:72
 #, c-format
-msgid "%s: invalid argument: \"%s\"\n"
-msgstr "%s: argumento no válido: «%s»\n"
+msgid "could not get SID for PowerUsers group: error code %lu\n"
+msgstr "no se pudo obtener el SID del grupo PowerUsers: código de error %lu\n"
 
-#: postmaster/postmaster.c:856
+#: port/win32/signal.c:194
 #, c-format
-msgid "%s: superuser_reserved_connections must be less than max_connections\n"
-msgstr "%s: superuser_reserved_connections debe ser menor que max_connections\n"
+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:861
+#: port/win32/signal.c:274 port/win32/signal.c:306
 #, c-format
-msgid "%s: max_wal_senders must be less than max_connections\n"
-msgstr "%s: max_wal_senders debe ser menor que max_connections\n"
+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:866
+#: port/win32/signal.c:317
 #, c-format
-msgid "WAL archival (archive_mode=on) requires wal_level \"archive\", \"hot_standby\", or \"logical\""
-msgstr "el archivado de WAL (archive_mode=on) requiere wal_level «archive» o «hot_standby» o «logical»"
+msgid "could not create signal dispatch thread: error code %lu\n"
+msgstr "no se pudo crear thread de despacho de señales: código de error %lu\n"
 
-#: postmaster/postmaster.c:869
+#: port/win32_sema.c:94
 #, c-format
-msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"archive\", \"hot_standby\", or \"logical\""
-msgstr "el flujo de WAL (max_wal_senders > 0) requiere wal_level «archive» o «hot_standby» o «logical»"
+msgid "could not create semaphore: error code %lu"
+msgstr "no se pudo crear semáforo: código de error %lu"
 
-#: postmaster/postmaster.c:877
+#: port/win32_sema.c:165
 #, 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 lock semaphore: error code %lu"
+msgstr "no se pudo bloquear semáforo: código de error %lu"
 
-#: postmaster/postmaster.c:969 postmaster/postmaster.c:1067
-#: utils/init/miscinit.c:1262
+#: port/win32_sema.c:178
 #, c-format
-msgid "invalid list syntax in parameter \"%s\""
-msgstr "la sintaxis de lista no es válida para el parámetro «%s»"
+msgid "could not unlock semaphore: error code %lu"
+msgstr "no se pudo desbloquear semáforo: código de error %lu"
 
-#: postmaster/postmaster.c:1000
+#: port/win32_sema.c:207
 #, c-format
-msgid "could not create listen socket for \"%s\""
-msgstr "no se pudo crear el socket de escucha para «%s»"
+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:1006
+#: port/win32_shmem.c:196 port/win32_shmem.c:231 port/win32_shmem.c:249
 #, c-format
-msgid "could not create any TCP/IP sockets"
-msgstr "no se pudo crear ningún socket TCP/IP"
+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:1089
+#: port/win32_shmem.c:197
 #, 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 "Failed system call was CreateFileMapping(size=%zu, name=%s)."
+msgstr "La llamada a sistema fallida fue CreateFileMapping(size=%zu, name=%s)."
 
-#: postmaster/postmaster.c:1095
+#: port/win32_shmem.c:221
 #, c-format
-msgid "could not create any Unix-domain sockets"
-msgstr "no se pudo crear ningún socket de dominio Unix"
+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:1107
+#: port/win32_shmem.c:222
 #, c-format
-msgid "no socket created for listening"
-msgstr "no se creó el socket de atención"
+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:1147
+#: port/win32_shmem.c:232
 #, 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 DuplicateHandle."
+msgstr "La llamada a sistema fallida fue DuplicateHandle."
 
-#: postmaster/postmaster.c:1176
+#: port/win32_shmem.c:250
 #, 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:1180
+#: postmaster/autovacuum.c:386
 #, 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:1231
+#: postmaster/autovacuum.c:431
 #, c-format
-msgid "ending log output to stderr"
-msgstr "terminando la salida de registro a stderr"
+msgid "autovacuum launcher started"
+msgstr "lanzador de autovacuum iniciado"
 
-#: postmaster/postmaster.c:1232
+#: postmaster/autovacuum.c:813
 #, 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 "autovacuum launcher shutting down"
+msgstr "apagando lanzador de autovacuum"
 
-#: postmaster/postmaster.c:1258 utils/init/postinit.c:199
+#: postmaster/autovacuum.c:1485
 #, c-format
-msgid "could not load pg_hba.conf"
-msgstr "no se pudo cargar pg_hba.conf"
+msgid "could not fork autovacuum worker process: %m"
+msgstr "no se pudo lanzar el proceso «autovacuum worker»: %m"
 
-#: postmaster/postmaster.c:1284
+#: postmaster/autovacuum.c:1712
 #, c-format
-msgid "postmaster became multithreaded during startup"
-msgstr "postmaster se volvió multi-hilo durante la partida"
+msgid "autovacuum: processing database \"%s\""
+msgstr "autovacuum: procesando la base de datos «%s»"
 
-#: postmaster/postmaster.c:1285
+#: postmaster/autovacuum.c:2135
 #, 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 "autovacuum: dropping orphan temp table \"%s\".\"%s\" in database \"%s\""
+msgstr "autovacuum: eliminando la tabla temporal huérfana «%s».«%s» en la base de datos «%s»"
 
-#: postmaster/postmaster.c:1382
+#: postmaster/autovacuum.c:2147
 #, c-format
-msgid "%s: could not locate matching postgres executable"
-msgstr "%s: no se pudo localizar el ejecutable postgres correspondiente"
+msgid "autovacuum: found orphan temp table \"%s\".\"%s\" in database \"%s\""
+msgstr "autovacuum: se encontró una tabla temporal huérfana «%s».«%s» en la base de datos «%s»"
 
-#: postmaster/postmaster.c:1405 utils/misc/tzparser.c:341
+#: postmaster/autovacuum.c:2437
 #, 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 "automatic vacuum of table \"%s.%s.%s\""
+msgstr "vacuum automático de la tabla «%s.%s.%s»"
 
-#: postmaster/postmaster.c:1433
+#: postmaster/autovacuum.c:2440
 #, c-format
-msgid "data directory \"%s\" does not exist"
-msgstr "no existe el directorio de datos «%s»"
+msgid "automatic analyze of table \"%s.%s.%s\""
+msgstr "análisis automático de la tabla «%s.%s.%s»"
 
-#: postmaster/postmaster.c:1438
+#: postmaster/autovacuum.c:2997
 #, c-format
-msgid "could not read permissions of directory \"%s\": %m"
-msgstr "no se pudo obtener los permisos del directorio «%s»: %m"
+msgid "autovacuum not started because of misconfiguration"
+msgstr "autovacuum no fue iniciado debido a un error de configuración"
 
-#: postmaster/postmaster.c:1446
+#: postmaster/autovacuum.c:2998
 #, c-format
-msgid "specified data directory \"%s\" is not a directory"
-msgstr "el directorio de datos especificado «%s» no es un directorio"
+msgid "Enable the \"track_counts\" option."
+msgstr "Active la opción «track_counts»."
 
-#: postmaster/postmaster.c:1462
+#: postmaster/bgworker.c:346 postmaster/bgworker.c:754
 #, c-format
-msgid "data directory \"%s\" has wrong ownership"
-msgstr "el directorio de datos «%s» tiene dueño equivocado"
+msgid "registering background worker \"%s\""
+msgstr "registrando el «background worker» «%s»"
 
-#: postmaster/postmaster.c:1464
+#: postmaster/bgworker.c:375
 #, 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 "unregistering background worker \"%s\""
+msgstr "des-registrando el «background worker» «%s»"
 
-#: postmaster/postmaster.c:1484
+#: postmaster/bgworker.c:484
 #, c-format
-msgid "data directory \"%s\" has group or world access"
-msgstr "el directorio de datos «%s» tiene acceso para el grupo u otros"
+msgid "background worker \"%s\": must attach to shared memory in order to request a database connection"
+msgstr "«background worker» «%s»: debe acoplarse a memoria compartida para poder solicitar una conexión a base de datos"
 
-#: postmaster/postmaster.c:1486
+#: postmaster/bgworker.c:493
 #, c-format
-msgid "Permissions should be u=rwx (0700)."
-msgstr "Los permisos deberían ser u=rwx (0700)."
+msgid "background worker \"%s\": cannot request database access if starting at postmaster start"
+msgstr "«background worker» «%s»: no se puede solicitar una conexión a base de datos si está iniciando en el momento de inicio de postmaster"
 
-#: postmaster/postmaster.c:1497
+#: postmaster/bgworker.c:507
 #, 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 "background worker \"%s\": invalid restart interval"
+msgstr "«background worker» «%s»: intervalo de reinicio no válido"
 
-#: postmaster/postmaster.c:1674
+#: postmaster/bgworker.c:545
 #, c-format
-msgid "select() failed in postmaster: %m"
-msgstr "select() falló en postmaster: %m"
+msgid "terminating background worker \"%s\" due to administrator command"
+msgstr "terminando el «background worker» «%s» debido a una orden del administrador"
 
-#: postmaster/postmaster.c:1829
+#: postmaster/bgworker.c:761
 #, 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 "background worker \"%s\": must be registered in shared_preload_libraries"
+msgstr "«background worker» «%s»: debe ser registrado en shared_preload_libraries"
 
-#: postmaster/postmaster.c:1907 postmaster/postmaster.c:1938
+#: postmaster/bgworker.c:773
 #, c-format
-msgid "incomplete startup packet"
-msgstr "el paquete de inicio está incompleto"
+msgid "background worker \"%s\": only dynamic background workers can request notification"
+msgstr "«background worker» «%s»: sólo los «background worker» dinámicos pueden pedir notificaciones"
 
-#: postmaster/postmaster.c:1919
+#: postmaster/bgworker.c:788
 #, c-format
-msgid "invalid length of startup packet"
-msgstr "el de paquete de inicio tiene largo incorrecto"
+msgid "too many background workers"
+msgstr "demasiados «background workers»"
 
-#: postmaster/postmaster.c:1977
+#: postmaster/bgworker.c:789
 #, c-format
-msgid "failed to send SSL negotiation response: %m"
-msgstr "no se pudo enviar la respuesta de negociación SSL: %m"
+msgid "Up to %d background worker can be registered with the current settings."
+msgid_plural "Up to %d background workers can be registered with the current settings."
+msgstr[0] "Hasta %d «background worker» puede registrarse con la configuración actual."
+msgstr[1] "Hasta %d «background workers» pueden registrarse con la configuración actual."
 
-#: postmaster/postmaster.c:2006
+# FIXME a %s would be nice here
+#: postmaster/bgworker.c:793
 #, 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 "Consider increasing the configuration parameter \"max_worker_processes\"."
+msgstr "Considere incrementar el parámetro de configuración «max_worker_processes»."
 
-#: postmaster/postmaster.c:2069
+#: postmaster/checkpointer.c:485
 #, c-format
-msgid "invalid value for parameter \"replication\""
-msgstr "valor no válido para la opción «replication»"
+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:2070
+#: postmaster/checkpointer.c:489
 #, c-format
-msgid "Valid values are: false, 0, true, 1, database."
-msgstr "Los valores válidos son: false, 0, true, 1, database."
+msgid "Consider increasing the configuration parameter \"checkpoint_segments\"."
+msgstr "Considere incrementar el parámetro de configuración «checkpoint_segments»."
 
-#: postmaster/postmaster.c:2090
+#: postmaster/checkpointer.c:634
 #, 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 "transaction log switch forced (archive_timeout=%d)"
+msgstr "cambio forzado de registro de transacción (archive_timeout=%d)"
 
-#: postmaster/postmaster.c:2118
+#: postmaster/checkpointer.c:1085
 #, 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 "checkpoint request failed"
+msgstr "falló la petición de punto de control"
 
-#: postmaster/postmaster.c:2177
+#: postmaster/checkpointer.c:1086
 #, c-format
-msgid "the database system is starting up"
-msgstr "el sistema de base de datos está iniciándose"
+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:2182
+#: postmaster/checkpointer.c:1282
 #, c-format
-msgid "the database system is shutting down"
-msgstr "el sistema de base de datos está apagándose"
+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:2187
+#: postmaster/pgarch.c:154
 #, c-format
-msgid "the database system is in recovery mode"
-msgstr "el sistema de base de datos está en modo de recuperación"
+msgid "could not fork archiver: %m"
+msgstr "no se pudo lanzar el proceso archivador: %m"
 
-#: postmaster/postmaster.c:2192 storage/ipc/procarray.c:287
-#: storage/ipc/sinvaladt.c:305 storage/lmgr/proc.c:339
+#: postmaster/pgarch.c:481
 #, c-format
-msgid "sorry, too many clients already"
-msgstr "lo siento, ya tenemos demasiados clientes"
+msgid "archive_mode enabled, yet archive_command is not set"
+msgstr "archive_mode activado, pero archive_command no está definido"
 
-#: postmaster/postmaster.c:2254
+#: postmaster/pgarch.c:509
 #, 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 "archiving transaction log file \"%s\" failed too many times, will try again later"
+msgstr "el archivado del archivo de transacción «%s» falló demasiadas veces, se reintentará nuevamente más tarde"
 
-#: postmaster/postmaster.c:2262
+#: postmaster/pgarch.c:612
 #, 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 "archive command failed with exit code %d"
+msgstr "la orden de archivado falló con código de retorno %d"
 
-#: postmaster/postmaster.c:2482
+#: postmaster/pgarch.c:614 postmaster/pgarch.c:624 postmaster/pgarch.c:631
+#: postmaster/pgarch.c:637 postmaster/pgarch.c:646
 #, c-format
-msgid "received SIGHUP, reloading configuration files"
-msgstr "se recibió SIGHUP, releyendo el archivo de configuración"
+msgid "The failed archive command was: %s"
+msgstr "La orden fallida era: «%s»"
 
-#: postmaster/postmaster.c:2508
+#: postmaster/pgarch.c:621
 #, c-format
-msgid "pg_hba.conf not reloaded"
-msgstr "pg_hba.conf no ha sido recargado"
+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:2512
+#: postmaster/pgarch.c:623 postmaster/postmaster.c:3522
 #, c-format
-msgid "pg_ident.conf not reloaded"
-msgstr "pg_ident.conf no ha sido recargado"
+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:2553
+#: postmaster/pgarch.c:628
 #, c-format
-msgid "received smart shutdown request"
-msgstr "se recibió petición de apagado inteligente"
+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:2606
+#: postmaster/pgarch.c:635
 #, c-format
-msgid "received fast shutdown request"
-msgstr "se recibió petición de apagado rápido"
+msgid "archive command was terminated by signal %d"
+msgstr "la orden de archivado fue terminada por una señal %d"
 
-#: postmaster/postmaster.c:2632
+#: postmaster/pgarch.c:644
 #, c-format
-msgid "aborting any active transactions"
-msgstr "abortando transacciones activas"
+msgid "archive command exited with unrecognized status %d"
+msgstr "la orden de archivado fue terminada con código no reconocido %d"
 
-#: postmaster/postmaster.c:2666
+#: postmaster/pgarch.c:656
 #, c-format
-msgid "received immediate shutdown request"
-msgstr "se recibió petición de apagado inmediato"
-
-#: postmaster/postmaster.c:2731 postmaster/postmaster.c:2754
-msgid "startup process"
-msgstr "proceso de inicio"
+msgid "archived transaction log file \"%s\""
+msgstr "el archivo de registro «%s» ha sido archivado"
 
-#: postmaster/postmaster.c:2734
+#: postmaster/pgarch.c:705
 #, c-format
-msgid "aborting startup due to startup process failure"
-msgstr "abortando el inicio debido a una falla en el procesamiento de inicio"
+msgid "could not open archive status directory \"%s\": %m"
+msgstr "no se pudo abrir el directorio de estado de archivado «%s»: %m"
 
-#: postmaster/postmaster.c:2795
+#: postmaster/pgstat.c:356
 #, c-format
-msgid "database system is ready to accept connections"
-msgstr "el sistema de bases de datos está listo para aceptar conexiones"
+msgid "could not resolve \"localhost\": %s"
+msgstr "no se pudo resolver «localhost»: %s"
 
-#: postmaster/postmaster.c:2810
-msgid "background writer process"
-msgstr "proceso background writer"
-
-#: postmaster/postmaster.c:2864
-msgid "checkpointer process"
-msgstr "proceso checkpointer"
-
-#: postmaster/postmaster.c:2880
-msgid "WAL writer process"
-msgstr "proceso escritor de WAL"
-
-#: postmaster/postmaster.c:2895
-msgid "WAL receiver process"
-msgstr "proceso receptor de WAL"
-
-#: postmaster/postmaster.c:2910
-msgid "autovacuum launcher process"
-msgstr "proceso lanzador de autovacuum"
-
-#: postmaster/postmaster.c:2925
-msgid "archiver process"
-msgstr "proceso de archivado"
-
-#: postmaster/postmaster.c:2941
-msgid "statistics collector process"
-msgstr "recolector de estadísticas"
-
-#: postmaster/postmaster.c:2955
-msgid "system logger process"
-msgstr "proceso de log"
-
-#: postmaster/postmaster.c:3017
-msgid "worker process"
-msgstr "proceso «background worker»"
-
-#: postmaster/postmaster.c:3103 postmaster/postmaster.c:3123
-#: postmaster/postmaster.c:3130 postmaster/postmaster.c:3148
-msgid "server process"
-msgstr "proceso de servidor"
-
-#: postmaster/postmaster.c:3202
+#: postmaster/pgstat.c:379
 #, c-format
-msgid "terminating any other active server processes"
-msgstr "terminando todos los otros procesos de servidor activos"
+msgid "trying another address for the statistics collector"
+msgstr "intentando otra dirección para el recolector de estadísticas"
 
-#. translator: %s is a noun phrase describing a child process, such as
-#. "server process"
-#: postmaster/postmaster.c:3461
+#: postmaster/pgstat.c:388
 #, c-format
-msgid "%s (PID %d) exited with exit code %d"
-msgstr "%s (PID %d) terminó con código de salida %d"
+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:3463 postmaster/postmaster.c:3474
-#: postmaster/postmaster.c:3485 postmaster/postmaster.c:3494
-#: postmaster/postmaster.c:3504
+#: postmaster/pgstat.c:400
 #, c-format
-msgid "Failed process was running: %s"
-msgstr "El proceso que falló estaba ejecutando: %s"
+msgid "could not bind socket for statistics collector: %m"
+msgstr "no se pudo enlazar (bind) el socket para el recolector de estadísticas: %m"
 
-#. translator: %s is a noun phrase describing a child process, such as
-#. "server process"
-#: postmaster/postmaster.c:3471
+#: postmaster/pgstat.c:411
 #, 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 get address of socket for statistics collector: %m"
+msgstr "no se pudo obtener la dirección del socket de estadísticas: %m"
 
-#. translator: %s is a noun phrase describing a child process, such as
-#. "server process"
-#: postmaster/postmaster.c:3481
+#: postmaster/pgstat.c:427
 #, 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 "could not connect socket for statistics collector: %m"
+msgstr "no se pudo conectar el socket para el recolector de estadísticas: %m"
 
-#. translator: %s is a noun phrase describing a child process, such as
-#. "server process"
-#: postmaster/postmaster.c:3492
+#: postmaster/pgstat.c:448
 #, c-format
-msgid "%s (PID %d) was terminated by signal %d"
-msgstr "%s (PID %d) fue terminado por una señal %d"
+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:3502
+#: postmaster/pgstat.c:474
 #, c-format
-msgid "%s (PID %d) exited with unrecognized status %d"
-msgstr "%s (PID %d) terminó con código no reconocido %d"
+msgid "select() failed in statistics collector: %m"
+msgstr "select() falló en el recolector de estadísticas: %m"
 
-#: postmaster/postmaster.c:3690
+#: postmaster/pgstat.c:489
 #, c-format
-msgid "abnormal database system shutdown"
-msgstr "apagado anormal del sistema de bases de datos"
+msgid "test message did not get through on socket for statistics collector"
+msgstr "el mensaje de prueba al recolector de estadísticas no ha sido recibido en el socket"
 
-#: postmaster/postmaster.c:3730
+#: postmaster/pgstat.c:504
 #, c-format
-msgid "all server processes terminated; reinitializing"
-msgstr "todos los procesos fueron terminados; reinicializando"
+msgid "could not receive test message on socket for statistics collector: %m"
+msgstr "no se pudo recibir el mensaje de prueba en el socket del recolector de estadísticas: %m"
 
-#: postmaster/postmaster.c:3987
+#: postmaster/pgstat.c:514
 #, 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 "incorrect test message transmission on socket for statistics collector"
+msgstr "transmisión del mensaje de prueba incorrecta en el socket del recolector de estadísticas"
 
-#: postmaster/postmaster.c:4029
-msgid "could not fork new process for connection: "
-msgstr "no se pudo lanzar el nuevo proceso para la conexión: "
+#: postmaster/pgstat.c:537
+#, c-format
+msgid "could not set statistics collector socket to nonblocking mode: %m"
+msgstr "no se pudo poner el socket de estadísticas en modo no bloqueante: %m"
 
-#: postmaster/postmaster.c:4153
+#: postmaster/pgstat.c:576
 #, c-format
-msgid "connection received: host=%s port=%s"
-msgstr "conexión recibida: host=%s port=%s"
+msgid "disabling statistics collector for lack of working socket"
+msgstr "desactivando el recolector de estadísticas por falla del socket"
 
-#: postmaster/postmaster.c:4158
+#: postmaster/pgstat.c:723
 #, c-format
-msgid "connection received: host=%s"
-msgstr "conexión recibida: host=%s"
+msgid "could not fork statistics collector: %m"
+msgstr "no se pudo crear el proceso para el recolector de estadísticas: %m"
 
-#: postmaster/postmaster.c:4442
+#: postmaster/pgstat.c:1264 postmaster/pgstat.c:1288 postmaster/pgstat.c:1321
 #, c-format
-msgid "could not execute server process \"%s\": %m"
-msgstr "no se pudo lanzar el proceso servidor «%s»: %m"
+msgid "must be superuser to reset statistics counters"
+msgstr "debe ser superusuario para reinicializar los contadores de estadísticas"
 
-#: postmaster/postmaster.c:4595
+#: postmaster/pgstat.c:1297
 #, c-format
-msgid "giving up after too many tries to reserve shared memory"
-msgstr "abandonando luego de demasiados reintentos de reservar memoria compartida"
+msgid "unrecognized reset target: \"%s\""
+msgstr "destino de reset no reconocido: «%s»"
 
-#: postmaster/postmaster.c:4596
+#: postmaster/pgstat.c:1298
 #, c-format
-msgid "This might be caused by ASLR or antivirus software."
-msgstr "Esto podría ser causado por ASLR o software antivirus"
+msgid "Target must be \"archiver\" or \"bgwriter\"."
+msgstr "El destino debe ser «archiver» o «bgwriter»."
 
-#: postmaster/postmaster.c:4927
+#: postmaster/pgstat.c:3322
 #, c-format
-msgid "postmaster became multithreaded"
-msgstr "postmaster se volvió multi-hilo"
+msgid "could not read statistics message: %m"
+msgstr "no se pudo leer un mensaje de estadísticas: %m"
 
-#: postmaster/postmaster.c:4993
+#: postmaster/pgstat.c:3655 postmaster/pgstat.c:3812
 #, 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 "could not open temporary statistics file \"%s\": %m"
+msgstr "no se pudo abrir el archivo temporal de estadísticas «%s»: %m"
 
-#: postmaster/postmaster.c:5308
+#: postmaster/pgstat.c:3722 postmaster/pgstat.c:3857
 #, c-format
-msgid "could not fork startup process: %m"
-msgstr "no se pudo lanzar el proceso de inicio: %m"
+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:5312
+#: postmaster/pgstat.c:3731 postmaster/pgstat.c:3866
 #, c-format
-msgid "could not fork background writer process: %m"
-msgstr "no se pudo lanzar el background writer: %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:5316
+#: postmaster/pgstat.c:3739 postmaster/pgstat.c:3874
 #, c-format
-msgid "could not fork checkpointer process: %m"
-msgstr "no se pudo lanzar el checkpointer: %m"
+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:5320
+#: postmaster/pgstat.c:3964 postmaster/pgstat.c:4172 postmaster/pgstat.c:4325
 #, c-format
-msgid "could not fork WAL writer process: %m"
-msgstr "no se pudo lanzar el proceso escritor de WAL: %m"
+msgid "could not open statistics file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de estadísticas «%s»: %m"
 
-#: postmaster/postmaster.c:5324
+#: postmaster/pgstat.c:3976 postmaster/pgstat.c:3986 postmaster/pgstat.c:4007
+#: postmaster/pgstat.c:4029 postmaster/pgstat.c:4044 postmaster/pgstat.c:4109
+#: postmaster/pgstat.c:4184 postmaster/pgstat.c:4204 postmaster/pgstat.c:4222
+#: postmaster/pgstat.c:4238 postmaster/pgstat.c:4256 postmaster/pgstat.c:4272
+#: postmaster/pgstat.c:4337 postmaster/pgstat.c:4349 postmaster/pgstat.c:4361
+#: postmaster/pgstat.c:4386 postmaster/pgstat.c:4408
 #, c-format
-msgid "could not fork WAL receiver process: %m"
-msgstr "no se pudo lanzar el proceso receptor de WAL: %m"
+msgid "corrupted statistics file \"%s\""
+msgstr "el archivo de estadísticas «%s» está corrupto"
 
-#: postmaster/postmaster.c:5328
+#: postmaster/pgstat.c:4537
 #, c-format
-msgid "could not fork process: %m"
-msgstr "no se pudo lanzar el proceso: %m"
+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:5508
+#: postmaster/pgstat.c:4860
 #, 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 "database hash table corrupted during cleanup --- abort"
+msgstr "el hash de bases de datos se corrompió durante la finalización; abortando"
 
-#: postmaster/postmaster.c:5515
+#: postmaster/postmaster.c:683
 #, c-format
-msgid "invalid processing mode in background worker"
-msgstr "modo de procesamiento no válido en «background worker»"
+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:5595
+#: postmaster/postmaster.c:769
 #, c-format
-msgid "starting background worker process \"%s\""
-msgstr "iniciando el proceso «background worker» «%s»"
+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:5607
+#: postmaster/postmaster.c:820
 #, c-format
-msgid "could not fork worker process: %m"
-msgstr "no se pudo lanzar el proceso «background worker»: %m"
+msgid "%s: invalid argument: \"%s\"\n"
+msgstr "%s: argumento no válido: «%s»\n"
 
-#: postmaster/postmaster.c:6013
+#: postmaster/postmaster.c:859
 #, 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 "%s: superuser_reserved_connections must be less than max_connections\n"
+msgstr "%s: superuser_reserved_connections debe ser menor que max_connections\n"
 
-#: postmaster/postmaster.c:6045
+#: postmaster/postmaster.c:864
 #, 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 "%s: max_wal_senders must be less than max_connections\n"
+msgstr "%s: max_wal_senders debe ser menor que max_connections\n"
 
-#: postmaster/postmaster.c:6074
+#: postmaster/postmaster.c:869
 #, 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 "WAL archival (archive_mode=on) requires wal_level \"archive\", \"hot_standby\", or \"logical\""
+msgstr "el archivado de WAL (archive_mode=on) requiere wal_level «archive» o «hot_standby» o «logical»"
 
-#: postmaster/postmaster.c:6081
+#: postmaster/postmaster.c:872
 #, 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 "WAL streaming (max_wal_senders > 0) requires wal_level \"archive\", \"hot_standby\", or \"logical\""
+msgstr "el flujo de WAL (max_wal_senders > 0) requiere wal_level «archive» o «hot_standby» o «logical»"
 
-#: postmaster/postmaster.c:6090
+#: postmaster/postmaster.c:880
 #, c-format
-msgid "could not remove file \"%s\": %s\n"
-msgstr "no se pudo eliminar el archivo «%s»: %s\n"
+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:6107
+#: postmaster/postmaster.c:972 postmaster/postmaster.c:1070
+#: utils/init/miscinit.c:1258
 #, 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 "invalid list syntax in parameter \"%s\""
+msgstr "la sintaxis de lista no es válida para el parámetro «%s»"
 
-#: postmaster/postmaster.c:6116
+#: postmaster/postmaster.c:1003
 #, 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 "could not create listen socket for \"%s\""
+msgstr "no se pudo crear el socket de escucha para «%s»"
 
-#: postmaster/postmaster.c:6123
+#: postmaster/postmaster.c:1009
 #, 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 "could not create any TCP/IP sockets"
+msgstr "no se pudo crear ningún socket TCP/IP"
 
-#: postmaster/postmaster.c:6282
+#: postmaster/postmaster.c:1092
 #, 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 create Unix-domain socket in directory \"%s\""
+msgstr "no se pudo crear el socket de dominio Unix en el directorio «%s»"
 
-#: postmaster/postmaster.c:6287
+#: postmaster/postmaster.c:1098
 #, c-format
-msgid "could not post child completion status\n"
-msgstr "no se pudo publicar el estado de completitud del proceso hijo\n"
+msgid "could not create any Unix-domain sockets"
+msgstr "no se pudo crear ningún socket de dominio Unix"
 
-#: postmaster/syslogger.c:463 postmaster/syslogger.c:1064
+#: postmaster/postmaster.c:1110
 #, c-format
-msgid "could not read from logger pipe: %m"
-msgstr "no se pudo leer desde la tubería de log: %m"
+msgid "no socket created for listening"
+msgstr "no se creó el socket de atención"
 
-#: postmaster/syslogger.c:512
+#: postmaster/postmaster.c:1150
 #, c-format
-msgid "logger shutting down"
-msgstr "apagando proceso de log"
+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/syslogger.c:556 postmaster/syslogger.c:570
+#: postmaster/postmaster.c:1179
 #, c-format
-msgid "could not create pipe for syslog: %m"
-msgstr "no se pudo crear la tubería para syslog: %m"
+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/syslogger.c:606
+#: postmaster/postmaster.c:1183
 #, c-format
-msgid "could not fork system logger: %m"
-msgstr "no se pudo crear el proceso de log: %m"
+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/syslogger.c:643
+#: postmaster/postmaster.c:1234
 #, c-format
-msgid "redirecting log output to logging collector process"
-msgstr "redirigiendo la salida del registro al proceso recolector de registro"
+msgid "ending log output to stderr"
+msgstr "terminando la salida de registro a stderr"
 
-#: postmaster/syslogger.c:644
+#: postmaster/postmaster.c:1235
 #, c-format
-msgid "Future log output will appear in directory \"%s\"."
-msgstr "La salida futura del registro aparecerá en el directorio «%s»."
+msgid "Future log output will go to log destination \"%s\"."
+msgstr "La salida futura del registro será enviada al destino de log «%s»."
 
-#: postmaster/syslogger.c:652
+#: postmaster/postmaster.c:1261 utils/init/postinit.c:199
 #, c-format
-msgid "could not redirect stdout: %m"
-msgstr "no se pudo redirigir stdout: %m"
+msgid "could not load pg_hba.conf"
+msgstr "no se pudo cargar pg_hba.conf"
 
-#: postmaster/syslogger.c:657 postmaster/syslogger.c:674
+#: postmaster/postmaster.c:1287
 #, c-format
-msgid "could not redirect stderr: %m"
-msgstr "no se pudo redirigir stderr: %m"
+msgid "postmaster became multithreaded during startup"
+msgstr "postmaster se volvió multi-hilo durante la partida"
 
-#: postmaster/syslogger.c:1019
+#: postmaster/postmaster.c:1288
 #, c-format
-msgid "could not write to log file: %s\n"
-msgstr "no se pudo escribir al archivo de log: %s\n"
+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:1159
+#: postmaster/postmaster.c:1385
 #, c-format
-msgid "could not open log file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de registro «%s»: %m"
+msgid "%s: could not locate matching postgres executable"
+msgstr "%s: no se pudo localizar el ejecutable postgres correspondiente"
 
-#: postmaster/syslogger.c:1221 postmaster/syslogger.c:1265
+#: postmaster/postmaster.c:1408 utils/misc/tzparser.c:341
 #, c-format
-msgid "disabling automatic rotation (use SIGHUP to re-enable)"
-msgstr "desactivando rotación automática (use SIGHUP para reactivarla)"
+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."
 
-#: regex/regc_pg_locale.c:261
+#: postmaster/postmaster.c:1436
 #, 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 "data directory \"%s\" does not exist"
+msgstr "no existe el directorio de datos «%s»"
 
-#: replication/basebackup.c:186 replication/basebackup.c:1064
-#: utils/adt/misc.c:353
+#: postmaster/postmaster.c:1441
 #, c-format
-msgid "could not read symbolic link \"%s\": %m"
-msgstr "no se pudo leer el enlace simbólico «%s»: %m"
+msgid "could not read permissions of directory \"%s\": %m"
+msgstr "no se pudo obtener los permisos del directorio «%s»: %m"
 
-#: replication/basebackup.c:193 replication/basebackup.c:1068
-#: utils/adt/misc.c:357
+#: postmaster/postmaster.c:1449
 #, c-format
-msgid "symbolic link \"%s\" target is too long"
-msgstr "la ruta «%s» del enlace simbólico es demasiado larga"
+msgid "specified data directory \"%s\" is not a directory"
+msgstr "el directorio de datos especificado «%s» no es un directorio"
 
-#: replication/basebackup.c:286
+#: postmaster/postmaster.c:1465
 #, c-format
-msgid "could not stat control file \"%s\": %m"
-msgstr "no se pudo hacer stat al archivo de control «%s»: %m"
+msgid "data directory \"%s\" has wrong ownership"
+msgstr "el directorio de datos «%s» tiene dueño equivocado"
 
-#: replication/basebackup.c:398
+#: postmaster/postmaster.c:1467
 #, c-format
-msgid "could not find any WAL files"
-msgstr "no se pudo encontrar ningún archivo de WAL"
+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."
 
-#: replication/basebackup.c:411 replication/basebackup.c:425
-#: replication/basebackup.c:434
+#: postmaster/postmaster.c:1487
 #, c-format
-msgid "could not find WAL file \"%s\""
-msgstr "no se pudo encontrar archivo de WAL «%s»"
+msgid "data directory \"%s\" has group or world access"
+msgstr "el directorio de datos «%s» tiene acceso para el grupo u otros"
 
-#: replication/basebackup.c:473 replication/basebackup.c:499
+#: postmaster/postmaster.c:1489
 #, c-format
-msgid "unexpected WAL file size \"%s\""
-msgstr "tamaño del archivo WAL «%s» inesperado"
+msgid "Permissions should be u=rwx (0700)."
+msgstr "Los permisos deberían ser u=rwx (0700)."
 
-#: replication/basebackup.c:485 replication/basebackup.c:1190
+#: postmaster/postmaster.c:1500
 #, c-format
-msgid "base backup could not send data, aborting backup"
-msgstr "el respaldo base no pudo enviar datos, abortando el respaldo"
+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"
 
-#: replication/basebackup.c:586 replication/basebackup.c:595
-#: replication/basebackup.c:604 replication/basebackup.c:613
-#: replication/basebackup.c:622 replication/basebackup.c:633
+#: postmaster/postmaster.c:1677
 #, c-format
-msgid "duplicate option \"%s\""
-msgstr "nombre de opción «%s» duplicada"
+msgid "select() failed in postmaster: %m"
+msgstr "select() falló en postmaster: %m"
 
-#: replication/basebackup.c:639 utils/misc/guc.c:5385
+#: postmaster/postmaster.c:1832
 #, 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 "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"
 
-#: replication/basebackup.c:904 replication/basebackup.c:997
+#: postmaster/postmaster.c:1910 postmaster/postmaster.c:1941
 #, c-format
-msgid "could not stat file or directory \"%s\": %m"
-msgstr "no se pudo hacer stat al archivo o directorio «%s»: %m"
+msgid "incomplete startup packet"
+msgstr "el paquete de inicio está incompleto"
 
-#: replication/basebackup.c:1142
+#: postmaster/postmaster.c:1922
 #, c-format
-msgid "skipping special file \"%s\""
-msgstr "ignorando el archivo especial «%s»"
+msgid "invalid length of startup packet"
+msgstr "el de paquete de inicio tiene largo incorrecto"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:106
+#: postmaster/postmaster.c:1980
 #, c-format
-msgid "could not connect to the primary server: %s"
-msgstr "no se pudo hacer la conexión al servidor primario: %s"
+msgid "failed to send SSL negotiation response: %m"
+msgstr "no se pudo enviar la respuesta de negociación SSL: %m"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:130
+#: postmaster/postmaster.c:2006
 #, 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 "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"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:141
-#: replication/libpqwalreceiver/libpqwalreceiver.c:295
+#: postmaster/postmaster.c:2070
 #, c-format
-msgid "invalid response from primary server"
-msgstr "respuesta no válida del servidor primario"
+msgid "invalid value for parameter \"replication\""
+msgstr "valor no válido para la opción «replication»"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:142
+#: postmaster/postmaster.c:2071
 #, 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 "Valid values are: false, 0, true, 1, database."
+msgstr "Los valores válidos son: false, 0, true, 1, database."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:158
+#: postmaster/postmaster.c:2101
 #, 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 "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/libpqwalreceiver/libpqwalreceiver.c:159
+#: postmaster/postmaster.c:2139
 #, 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 "no PostgreSQL user name specified in startup packet"
+msgstr "no se especifica un nombre de usuario en el paquete de inicio"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:201
+#: postmaster/postmaster.c:2198
 #, c-format
-msgid "could not start WAL streaming: %s"
-msgstr "no se pudo iniciar el flujo de WAL: %s"
+msgid "the database system is starting up"
+msgstr "el sistema de base de datos está iniciándose"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:219
+#: postmaster/postmaster.c:2203
 #, 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 "the database system is shutting down"
+msgstr "el sistema de base de datos está apagándose"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:241
+#: postmaster/postmaster.c:2208
 #, c-format
-msgid "unexpected result set after end-of-streaming"
-msgstr "conjunto de resultados inesperado después del fin-de-flujo"
+msgid "the database system is in recovery mode"
+msgstr "el sistema de base de datos está en modo de recuperación"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:253
+#: postmaster/postmaster.c:2213 storage/ipc/procarray.c:287
+#: storage/ipc/sinvaladt.c:305 storage/lmgr/proc.c:339
 #, c-format
-msgid "error reading result of streaming command: %s"
-msgstr "ocurrió un error mientras se leía la orden de flujo: %s"
+msgid "sorry, too many clients already"
+msgstr "lo siento, ya tenemos demasiados clientes"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:261
+#: postmaster/postmaster.c:2303
 #, c-format
-msgid "unexpected result after CommandComplete: %s"
-msgstr "resultado inesperado después de CommandComplete: %s"
+msgid "wrong key in cancel request for process %d"
+msgstr "llave incorrecta en la petición de cancelación para el proceso %d"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:284
+#: postmaster/postmaster.c:2311
 #, 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 "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/libpqwalreceiver/libpqwalreceiver.c:296
+#: postmaster/postmaster.c:2531
 #, 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 "received SIGHUP, reloading configuration files"
+msgstr "se recibió SIGHUP, releyendo el archivo de configuración"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:324
+#: postmaster/postmaster.c:2557
 #, c-format
-msgid "socket not open"
-msgstr "el socket no está abierto"
+msgid "pg_hba.conf not reloaded"
+msgstr "pg_hba.conf no ha sido recargado"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:503
-#: replication/libpqwalreceiver/libpqwalreceiver.c:526
-#: replication/libpqwalreceiver/libpqwalreceiver.c:532
+#: postmaster/postmaster.c:2561
 #, c-format
-msgid "could not receive data from WAL stream: %s"
-msgstr "no se pudo recibir datos desde el flujo de WAL: %s"
+msgid "pg_ident.conf not reloaded"
+msgstr "pg_ident.conf no ha sido recargado"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:551
+#: postmaster/postmaster.c:2602
 #, c-format
-msgid "could not send data to WAL stream: %s"
-msgstr "no se pudo enviar datos al flujo de WAL: %s"
+msgid "received smart shutdown request"
+msgstr "se recibió petición de apagado inteligente"
 
-# FIXME see slot.c:779.  See also  postmaster.c:835
-#: replication/logical/logical.c:78
+#: postmaster/postmaster.c:2655
 #, c-format
-msgid "logical decoding requires wal_level >= logical"
-msgstr "la decodificación lógica requiere wal_level >= logical"
+msgid "received fast shutdown request"
+msgstr "se recibió petición de apagado rápido"
 
-#: replication/logical/logical.c:83
+#: postmaster/postmaster.c:2681
 #, c-format
-msgid "logical decoding requires a database connection"
-msgstr "decodificación lógica requiere una conexión a una base de datos"
+msgid "aborting any active transactions"
+msgstr "abortando transacciones activas"
 
-#: replication/logical/logical.c:101
+#: postmaster/postmaster.c:2715
 #, 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 "received immediate shutdown request"
+msgstr "se recibió petición de apagado inmediato"
 
-#: replication/logical/logical.c:235 replication/logical/logical.c:395
-#, 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"
+#: postmaster/postmaster.c:2780 postmaster/postmaster.c:2803
+msgid "startup process"
+msgstr "proceso de inicio"
 
-#: replication/logical/logical.c:240 replication/logical/logical.c:400
+#: postmaster/postmaster.c:2783
 #, 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 "aborting startup due to startup process failure"
+msgstr "abortando el inicio debido a una falla en el procesamiento de inicio"
 
-#: replication/logical/logical.c:247
+#: postmaster/postmaster.c:2844
 #, 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 "database system is ready to accept connections"
+msgstr "el sistema de bases de datos está listo para aceptar conexiones"
 
-#: replication/logical/logical.c:436
-#, c-format
-msgid "starting logical decoding for slot \"%s\""
-msgstr "iniciando la decodificación lógica para el slot «%s»"
+#: postmaster/postmaster.c:2859
+msgid "background writer process"
+msgstr "proceso background writer"
 
-#: replication/logical/logical.c:438
-#, c-format
-msgid "streaming transactions committing after %X/%X, reading WAL from %X/%X"
-msgstr "enviando flujo de transacciones comprometidas después de %X/%X, leyendo WAL de %X/%X"
+#: postmaster/postmaster.c:2913
+msgid "checkpointer process"
+msgstr "proceso checkpointer"
 
-#: replication/logical/logical.c:573
-#, 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"
+#: postmaster/postmaster.c:2929
+msgid "WAL writer process"
+msgstr "proceso escritor de WAL"
 
-# FIXME must quote callback name?  Need a translator: comment?
-#: replication/logical/logical.c:580
-#, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
-msgstr "slot «%s», plugin de salida «%s», en el callback %s"
+#: postmaster/postmaster.c:2944
+msgid "WAL receiver process"
+msgstr "proceso receptor de WAL"
 
-#: replication/logical/logicalfuncs.c:190 replication/walsender.c:2173
-#, c-format
-msgid "could not read from log segment %s, offset %u, length %lu: %m"
-msgstr "no se pudo leer desde el segmento %s, posición %u, largo %lu: %m"
+#: postmaster/postmaster.c:2959
+msgid "autovacuum launcher process"
+msgstr "proceso lanzador de autovacuum"
 
-#: replication/logical/logicalfuncs.c:209 replication/slotfuncs.c:32
-#, c-format
-msgid "must be superuser or replication role to use replication slots"
-msgstr "debe ser superusuario o rol de replicación para usar slots de replicación"
+#: postmaster/postmaster.c:2974
+msgid "archiver process"
+msgstr "proceso de archivado"
 
-#: replication/logical/logicalfuncs.c:299
-#, c-format
-msgid "slot name must not be null"
-msgstr "el nombre de slot no debe ser null"
+#: postmaster/postmaster.c:2990
+msgid "statistics collector process"
+msgstr "recolector de estadísticas"
 
-#: replication/logical/logicalfuncs.c:315
-#, c-format
-msgid "options array must not be null"
-msgstr "el array de opciones no debe ser null"
+#: postmaster/postmaster.c:3004
+msgid "system logger process"
+msgstr "proceso de log"
 
-#: replication/logical/logicalfuncs.c:346
-#, c-format
-msgid "array must be one-dimensional"
-msgstr "el array debe ser unidimensional"
+#: postmaster/postmaster.c:3066
+msgid "worker process"
+msgstr "proceso «background worker»"
 
-#: replication/logical/logicalfuncs.c:352
-#, c-format
-msgid "array must not contain nulls"
-msgstr "el array no debe contener nulls"
+#: postmaster/postmaster.c:3152 postmaster/postmaster.c:3172
+#: postmaster/postmaster.c:3179 postmaster/postmaster.c:3197
+msgid "server process"
+msgstr "proceso de servidor"
 
-#: replication/logical/logicalfuncs.c:368 utils/adt/json.c:2206
+#: postmaster/postmaster.c:3251
 #, c-format
-msgid "array must have even number of elements"
-msgstr "el array debe tener un número par de elementos"
+msgid "terminating any other active server processes"
+msgstr "terminando todos los otros procesos de servidor activos"
 
-#: replication/logical/logicalfuncs.c:410
+#. translator: %s is a noun phrase describing a child process, such as
+#. "server process"
+#: postmaster/postmaster.c:3510
 #, c-format
-msgid "logical decoding output plugin \"%s\" produces binary output, but \"%s\" expects textual data"
-msgstr "el plugin de salida de decodificación lógica «%s» produce salida binaria, pero «%s» espera datos textuales"
+msgid "%s (PID %d) exited with exit code %d"
+msgstr "%s (PID %d) terminó con código de salida %d"
 
-#: replication/logical/reorderbuffer.c:2149
+#: postmaster/postmaster.c:3512 postmaster/postmaster.c:3523
+#: postmaster/postmaster.c:3534 postmaster/postmaster.c:3543
+#: postmaster/postmaster.c:3553
 #, 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 "Failed process was running: %s"
+msgstr "El proceso que falló estaba ejecutando: %s"
 
-#: replication/logical/reorderbuffer.c:2245
-#: replication/logical/reorderbuffer.c:2265
+#. translator: %s is a noun phrase describing a child process, such as
+#. "server process"
+#: postmaster/postmaster.c:3520
 #, 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 "%s (PID %d) was terminated by exception 0x%X"
+msgstr "%s (PID %d) fue terminado por una excepción 0x%X"
 
-#: replication/logical/reorderbuffer.c:2249
-#: replication/logical/reorderbuffer.c:2269
+#. translator: %s is a noun phrase describing a child process, such as
+#. "server process"
+#: postmaster/postmaster.c:3530
 #, c-format
-msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes"
-msgstr "no se pudo leer desde el archivo de desborde de reorderbuffer: se leyeron sólo %d en ve de %u bytes"
-
-# FIXME almost duplicated again!?
-#: replication/logical/reorderbuffer.c:2901
-#, 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 "%s (PID %d) was terminated by signal %d: %s"
+msgstr "%s (PID %d) fue terminado por una señal %d: %s"
 
-# FIXME: snapshot? instantánea?
-#: replication/logical/snapbuild.c:649
+#. translator: %s is a noun phrase describing a child process, such as
+#. "server process"
+#: postmaster/postmaster.c:3541
 #, 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 "%s (PID %d) was terminated by signal %d"
+msgstr "%s (PID %d) fue terminado por una señal %d"
 
-#: replication/logical/snapbuild.c:1226 replication/logical/snapbuild.c:1316
-#: replication/logical/snapbuild.c:1791
+#. translator: %s is a noun phrase describing a child process, such as
+#. "server process"
+#: postmaster/postmaster.c:3551
 #, 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 "%s (PID %d) exited with unrecognized status %d"
+msgstr "%s (PID %d) terminó con código no reconocido %d"
 
-#: replication/logical/snapbuild.c:1228
+#: postmaster/postmaster.c:3739
 #, c-format
-msgid "There are no running transactions."
-msgstr "No hay transacciones en ejecución."
+msgid "abnormal database system shutdown"
+msgstr "apagado anormal del sistema de bases de datos"
 
-#: replication/logical/snapbuild.c:1269
+#: postmaster/postmaster.c:3779
 #, 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 "all server processes terminated; reinitializing"
+msgstr "todos los procesos fueron terminados; reinicializando"
 
-#: replication/logical/snapbuild.c:1271 replication/logical/snapbuild.c:1294
+#: postmaster/postmaster.c:4036
 #, 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 "could not fork new process for connection: %m"
+msgstr "no se pudo lanzar el nuevo proceso para la conexión: %m"
 
-#: replication/logical/snapbuild.c:1292
-#, 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"
+#: postmaster/postmaster.c:4078
+msgid "could not fork new process for connection: "
+msgstr "no se pudo lanzar el nuevo proceso para la conexión: "
 
-#: replication/logical/snapbuild.c:1318
+#: postmaster/postmaster.c:4202
 #, c-format
-msgid "There are no old transactions anymore."
-msgstr "Ya no hay transacciones antiguas en ejecución."
+msgid "connection received: host=%s port=%s"
+msgstr "conexión recibida: host=%s port=%s"
 
-# FIXME almost duplicated string
-#: replication/logical/snapbuild.c:1670 replication/logical/snapbuild.c:1696
-#: replication/logical/snapbuild.c:1711 replication/logical/snapbuild.c:1725
+#: postmaster/postmaster.c:4207
 #, c-format
-msgid "could not read file \"%s\", read %d of %d: %m"
-msgstr "no se pudo leer el archivo «%s», leídos %d de %d: %m"
+msgid "connection received: host=%s"
+msgstr "conexión recibida: host=%s"
 
-# FIXME "snapbuild"?
-#: replication/logical/snapbuild.c:1676
+#: postmaster/postmaster.c:4491
 #, c-format
-msgid "snapbuild state file \"%s\" has wrong magic %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 execute server process \"%s\": %m"
+msgstr "no se pudo lanzar el proceso servidor «%s»: %m"
 
-#: replication/logical/snapbuild.c:1681
+#: postmaster/postmaster.c:4644
 #, 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 "giving up after too many tries to reserve shared memory"
+msgstr "abandonando luego de demasiados reintentos de reservar memoria compartida"
 
-# FIXME must quote file name
-#: replication/logical/snapbuild.c:1738
+#: postmaster/postmaster.c:4645
 #, c-format
-msgid "snapbuild state file %s: checksum mismatch, is %u, should be %u"
-msgstr "archivo de estado de snapbuild %s: suma de verificación no coincidente %u, debería ser %u"
+msgid "This might be caused by ASLR or antivirus software."
+msgstr "Esto podría ser causado por ASLR o software antivirus"
 
-#: replication/logical/snapbuild.c:1793
+#: postmaster/postmaster.c:4976
 #, c-format
-msgid "Logical decoding will begin using saved snapshot."
-msgstr "La decodificación lógica comenzará usando el snapshot guardado."
+msgid "postmaster became multithreaded"
+msgstr "postmaster se volvió multi-hilo"
 
-#: replication/logical/snapbuild.c:1864
+#: postmaster/postmaster.c:5042
 #, c-format
-msgid "could not parse file name \"%s\""
-msgstr "no se pudo interpretar el nombre de archivo «%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/slot.c:174
+#: postmaster/postmaster.c:5357
 #, c-format
-msgid "replication slot name \"%s\" is too short"
-msgstr "el nombre de slot de replicación «%s» es demasiado corto"
+msgid "could not fork startup process: %m"
+msgstr "no se pudo lanzar el proceso de inicio: %m"
 
-#: replication/slot.c:183
+#: postmaster/postmaster.c:5361
 #, c-format
-msgid "replication slot name \"%s\" is too long"
-msgstr "el nombre de slot de replicación «%s» es demasiado largo"
+msgid "could not fork background writer process: %m"
+msgstr "no se pudo lanzar el background writer: %m"
 
-#: replication/slot.c:196
+#: postmaster/postmaster.c:5365
 #, 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 "could not fork checkpointer process: %m"
+msgstr "no se pudo lanzar el checkpointer: %m"
 
-#: replication/slot.c:198
+#: postmaster/postmaster.c:5369
 #, 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 "could not fork WAL writer process: %m"
+msgstr "no se pudo lanzar el proceso escritor de WAL: %m"
 
-#: replication/slot.c:245
+#: postmaster/postmaster.c:5373
 #, c-format
-msgid "replication slot \"%s\" already exists"
-msgstr "el slot de replicación «%s» ya existe"
+msgid "could not fork WAL receiver process: %m"
+msgstr "no se pudo lanzar el proceso receptor de WAL: %m"
 
-#: replication/slot.c:255
+#: postmaster/postmaster.c:5377
 #, c-format
-msgid "all replication slots are in use"
-msgstr "todos los slots de replicación están en uso"
+msgid "could not fork process: %m"
+msgstr "no se pudo lanzar el proceso: %m"
 
-#: replication/slot.c:256
+#: postmaster/postmaster.c:5557
 #, c-format
-msgid "Free one or increase max_replication_slots."
-msgstr "Libere uno o incremente max_replication_slots."
+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/slot.c:357
+#: postmaster/postmaster.c:5564
 #, c-format
-msgid "replication slot \"%s\" does not exist"
-msgstr "no existe el slot de replicación «%s»"
+msgid "invalid processing mode in background worker"
+msgstr "modo de procesamiento no válido en «background worker»"
 
-#: replication/slot.c:361
+#: postmaster/postmaster.c:5644
 #, c-format
-msgid "replication slot \"%s\" is already active"
-msgstr "el slot de replicación «%s» ya está activo"
+msgid "starting background worker process \"%s\""
+msgstr "iniciando el proceso «background worker» «%s»"
 
-#: replication/slot.c:525 replication/slot.c:882 replication/slot.c:1227
+#: postmaster/postmaster.c:5656
 #, c-format
-msgid "could not remove directory \"%s\""
-msgstr "no se pudo eliminar el directorio «%s»"
+msgid "could not fork worker process: %m"
+msgstr "no se pudo lanzar el proceso «background worker»: %m"
 
-#: replication/slot.c:801
+#: postmaster/postmaster.c:6074
 #, 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 "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"
 
-# FIXME see logical.c:81
-#: replication/slot.c:806
+#: postmaster/postmaster.c:6106
 #, c-format
-msgid "replication slots can only be used if wal_level >= archive"
-msgstr "los slots de replicación sólo pueden usarse si wal_level >= archive"
+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/slot.c:1159 replication/slot.c:1197
+#: postmaster/postmaster.c:6135
 #, c-format
-msgid "could not read file \"%s\", read %d of %u: %m"
-msgstr "no se pudo leer el archivo «%s», leídos %d de %u: %m"
+msgid "could not open backend variables file \"%s\": %s\n"
+msgstr "no se pudo abrir el archivo de variables de servidor «%s»: %s\n"
 
-#: replication/slot.c:1168
+#: postmaster/postmaster.c:6142
 #, c-format
-msgid "replication slot file \"%s\" has wrong magic %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 "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/slot.c:1175
+#: postmaster/postmaster.c:6151
 #, 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 "could not remove file \"%s\": %s\n"
+msgstr "no se pudo eliminar el archivo «%s»: %s\n"
 
-#: replication/slot.c:1182
+#: postmaster/postmaster.c:6168
 #, 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 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/slot.c:1212
+#: postmaster/postmaster.c:6177
 #, c-format
-msgid "replication slot file %s: checksum mismatch, is %u, should be %u"
-msgstr "archivo de slot de replicación %s: suma de control no coincidente, es %u, debería ser %u"
+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/slot.c:1265
+#: postmaster/postmaster.c:6184
 #, c-format
-msgid "too many replication slots active before shutdown"
-msgstr "demasiados slots de replicacion activos antes del apagado"
+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/slot.c:1266
+#: postmaster/postmaster.c:6346
 #, c-format
-msgid "Increase max_replication_slots and try again."
-msgstr "Aumente max_replication_slots y reintente."
+msgid "could not read exit code for process\n"
+msgstr "no se pudo leer el código de salida del proceso\n"
 
-#: replication/syncrep.c:209
+#: postmaster/postmaster.c:6351
 #, 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 "could not post child completion status\n"
+msgstr "no se pudo publicar el estado de completitud del proceso hijo\n"
 
-#: replication/syncrep.c:210 replication/syncrep.c:227
+#: postmaster/syslogger.c:480 postmaster/syslogger.c:1156
 #, 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 "could not read from logger pipe: %m"
+msgstr "no se pudo leer desde la tubería de log: %m"
 
-#: replication/syncrep.c:226
+#: postmaster/syslogger.c:529
 #, 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 "logger shutting down"
+msgstr "apagando proceso de log"
 
-#: replication/syncrep.c:356
+#: postmaster/syslogger.c:573 postmaster/syslogger.c:587
 #, c-format
-msgid "standby \"%s\" now has synchronous standby priority %u"
-msgstr "el standby «%s» ahora tiene prioridad sincrónica %u"
+msgid "could not create pipe for syslog: %m"
+msgstr "no se pudo crear la tubería para syslog: %m"
 
-#: replication/syncrep.c:458
+#: postmaster/syslogger.c:638
 #, c-format
-msgid "standby \"%s\" is now the synchronous standby with priority %u"
-msgstr "el standby «%s» es ahora el standby sincrónico con prioridad %u"
+msgid "could not fork system logger: %m"
+msgstr "no se pudo crear el proceso de log: %m"
 
-#: replication/walreceiver.c:167
+#: postmaster/syslogger.c:675
 #, c-format
-msgid "terminating walreceiver process due to administrator command"
-msgstr "terminando el proceso walreceiver debido a una orden del administrador"
+msgid "redirecting log output to logging collector process"
+msgstr "redirigiendo la salida del registro al proceso recolector de registro"
 
-#: replication/walreceiver.c:332
+#: postmaster/syslogger.c:676
 #, 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 "Future log output will appear in directory \"%s\"."
+msgstr "La salida futura del registro aparecerá en el directorio «%s»."
 
-#: replication/walreceiver.c:367
+#: postmaster/syslogger.c:684
 #, 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 redirect stdout: %m"
+msgstr "no se pudo redirigir stdout: %m"
 
-#: replication/walreceiver.c:372
+#: postmaster/syslogger.c:689 postmaster/syslogger.c:706
 #, 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 "could not redirect stderr: %m"
+msgstr "no se pudo redirigir stderr: %m"
 
-#: replication/walreceiver.c:406
+#: postmaster/syslogger.c:1111
 #, 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 write to log file: %s\n"
+msgstr "no se pudo escribir al archivo de log: %s\n"
 
-#: replication/walreceiver.c:443
+#: postmaster/syslogger.c:1228
 #, c-format
-msgid "replication terminated by primary server"
-msgstr "replicación terminada por el servidor primario"
+msgid "could not open log file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de registro «%s»: %m"
 
-#: replication/walreceiver.c:444
+#: postmaster/syslogger.c:1290 postmaster/syslogger.c:1340
 #, 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 "disabling automatic rotation (use SIGHUP to re-enable)"
+msgstr "desactivando rotación automática (use SIGHUP para reactivarla)"
 
-#: replication/walreceiver.c:491
+#: regex/regc_pg_locale.c:261
 #, c-format
-msgid "terminating walreceiver due to timeout"
-msgstr "terminando el proceso walreceiver debido a que se agotó el tiempo de espera"
+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/walreceiver.c:531
+#: repl_gram.y:247 repl_gram.y:274
 #, 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 "invalid timeline %u"
+msgstr "timeline %u no válido"
 
-#: replication/walreceiver.c:546 replication/walreceiver.c:903
-#, c-format
-msgid "could not close log segment %s: %m"
-msgstr "no se pudo cerrar archivo de segmento %s: %m"
+#: repl_scanner.l:118
+msgid "invalid streaming start location"
+msgstr "posición de inicio de flujo de WAL no válida"
 
-#: replication/walreceiver.c:668
-#, 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"
+#: repl_scanner.l:169 scan.l:662
+msgid "unterminated quoted string"
+msgstr "una cadena de caracteres entre comillas está inconclusa"
 
-#: replication/walreceiver.c:954
+#: repl_scanner.l:179
 #, 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 "syntax error: unexpected character \"%s\""
+msgstr "error de sintaxis: carácter «%s» inesperado"
 
-#: replication/walsender.c:487
+#: replication/basebackup.c:186 replication/basebackup.c:1067
+#: utils/adt/misc.c:353
 #, 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 "could not read symbolic link \"%s\": %m"
+msgstr "no se pudo leer el enlace simbólico «%s»: %m"
 
-#: replication/walsender.c:538
+#: replication/basebackup.c:193 replication/basebackup.c:1071
+#: utils/adt/misc.c:357
 #, 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 "symbolic link \"%s\" target is too long"
+msgstr "la ruta «%s» del enlace simbólico es demasiado larga"
 
-#: replication/walsender.c:601
+#: replication/basebackup.c:286
 #, 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 "could not stat control file \"%s\": %m"
+msgstr "no se pudo hacer stat al archivo de control «%s»: %m"
 
-#: replication/walsender.c:605
+#: replication/basebackup.c:398
 #, 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 "could not find any WAL files"
+msgstr "no se pudo encontrar ningún archivo de WAL"
 
-#: replication/walsender.c:650
+#: replication/basebackup.c:411 replication/basebackup.c:425
+#: replication/basebackup.c:434
 #, 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 "could not find WAL file \"%s\""
+msgstr "no se pudo encontrar archivo de WAL «%s»"
 
-#: replication/walsender.c:966
+#: replication/basebackup.c:476 replication/basebackup.c:502
 #, c-format
-msgid "terminating walsender process after promotion"
-msgstr "terminando el proceso walsender luego de la promoción"
+msgid "unexpected WAL file size \"%s\""
+msgstr "tamaño del archivo WAL «%s» inesperado"
 
-#: replication/walsender.c:1325
+#: replication/basebackup.c:488 replication/basebackup.c:1193
 #, c-format
-msgid "cannot execute new commands while WAL sender is in stopping mode"
-msgstr "no se pueden ejecutar nuevas órdenes mientras el «WAL sender» está en modo de detención"
+msgid "base backup could not send data, aborting backup"
+msgstr "el respaldo base no pudo enviar datos, abortando el respaldo"
 
-#: replication/walsender.c:1428 replication/walsender.c:1444
+#: replication/basebackup.c:589 replication/basebackup.c:598
+#: replication/basebackup.c:607 replication/basebackup.c:616
+#: replication/basebackup.c:625 replication/basebackup.c:636
 #, c-format
-msgid "unexpected EOF on standby connection"
-msgstr "se encontró fin de archivo inesperado en la conexión standby"
+msgid "duplicate option \"%s\""
+msgstr "nombre de opción «%s» duplicada"
 
-#: replication/walsender.c:1458
+#: replication/basebackup.c:642 utils/misc/guc.c:5398
 #, 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 "%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/walsender.c:1496
+#: replication/basebackup.c:907 replication/basebackup.c:1000
 #, c-format
-msgid "invalid standby message type \"%c\""
-msgstr "el tipo «%c» de mensaje del standby no es válido"
+msgid "could not stat file or directory \"%s\": %m"
+msgstr "no se pudo hacer stat al archivo o directorio «%s»: %m"
 
-#: replication/walsender.c:1537
+#: replication/basebackup.c:1145
 #, c-format
-msgid "unexpected message type \"%c\""
-msgstr "mensaje de tipo «%c» inesperado"
+msgid "skipping special file \"%s\""
+msgstr "ignorando el archivo especial «%s»"
 
-#: replication/walsender.c:1824
+#: replication/libpqwalreceiver/libpqwalreceiver.c:106
 #, 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 "could not connect to the primary server: %s"
+msgstr "no se pudo hacer la conexión al servidor primario: %s"
 
-#: replication/walsender.c:1910
+#: replication/libpqwalreceiver/libpqwalreceiver.c:130
 #, c-format
-msgid "standby \"%s\" has now caught up with primary"
-msgstr "el standby «%s» ahora está actualizado respecto del primario"
+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/walsender.c:2017
+#: replication/libpqwalreceiver/libpqwalreceiver.c:141
+#: replication/libpqwalreceiver/libpqwalreceiver.c:295
 #, 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 "invalid response from primary server"
+msgstr "respuesta no válida del servidor primario"
 
-#: rewrite/rewriteDefine.c:111 rewrite/rewriteDefine.c:955
+#: replication/libpqwalreceiver/libpqwalreceiver.c:142
 #, c-format
-msgid "rule \"%s\" for relation \"%s\" already exists"
-msgstr "ya existe una regla llamada «%s» para la relación «%s»"
+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."
 
-#: rewrite/rewriteDefine.c:295
+#: replication/libpqwalreceiver/libpqwalreceiver.c:158
 #, c-format
-msgid "rule actions on OLD are not implemented"
-msgstr "las acciones de regla en OLD no están implementadas"
+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:296
+#: replication/libpqwalreceiver/libpqwalreceiver.c:159
 #, c-format
-msgid "Use views or triggers instead."
-msgstr "Use vistas o triggers en su lugar."
+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:300
+#: replication/libpqwalreceiver/libpqwalreceiver.c:201
 #, c-format
-msgid "rule actions on NEW are not implemented"
-msgstr "las acciones de regla en NEW no están implementadas"
+msgid "could not start WAL streaming: %s"
+msgstr "no se pudo iniciar el flujo de WAL: %s"
 
-#: rewrite/rewriteDefine.c:301
+#: replication/libpqwalreceiver/libpqwalreceiver.c:219
 #, c-format
-msgid "Use triggers instead."
-msgstr "Use triggers en su lugar."
+msgid "could not send end-of-streaming message to primary: %s"
+msgstr "no se pudo enviar el mensaje fin-de-flujo al primario: %s"
 
-#: rewrite/rewriteDefine.c:314
+#: replication/libpqwalreceiver/libpqwalreceiver.c:241
 #, c-format
-msgid "INSTEAD NOTHING rules on SELECT are not implemented"
-msgstr "las reglas INSTEAD NOTHING en SELECT no están implementadas"
+msgid "unexpected result set after end-of-streaming"
+msgstr "conjunto de resultados inesperado después del fin-de-flujo"
 
-#: rewrite/rewriteDefine.c:315
+#: replication/libpqwalreceiver/libpqwalreceiver.c:253
 #, c-format
-msgid "Use views instead."
-msgstr "Use vistas en su lugar."
+msgid "error reading result of streaming command: %s"
+msgstr "ocurrió un error mientras se leía la orden de flujo: %s"
 
-#: rewrite/rewriteDefine.c:323
+#: replication/libpqwalreceiver/libpqwalreceiver.c:261
 #, 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 "unexpected result after CommandComplete: %s"
+msgstr "resultado inesperado después de CommandComplete: %s"
 
-#: rewrite/rewriteDefine.c:334
+#: replication/libpqwalreceiver/libpqwalreceiver.c:284
 #, c-format
-msgid "rules on SELECT must have action INSTEAD SELECT"
-msgstr "las reglas en SELECT deben tener una acción INSTEAD SELECT"
+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"
 
-#: rewrite/rewriteDefine.c:342
+#: replication/libpqwalreceiver/libpqwalreceiver.c:296
 #, 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 "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."
 
-#: rewrite/rewriteDefine.c:350
+#: replication/libpqwalreceiver/libpqwalreceiver.c:324
 #, 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 "socket not open"
+msgstr "el socket no está abierto"
 
-#: rewrite/rewriteDefine.c:377
+#: replication/libpqwalreceiver/libpqwalreceiver.c:503
+#: replication/libpqwalreceiver/libpqwalreceiver.c:526
+#: replication/libpqwalreceiver/libpqwalreceiver.c:532
 #, c-format
-msgid "\"%s\" is already a view"
-msgstr "«%s» ya es una vista"
+msgid "could not receive data from WAL stream: %s"
+msgstr "no se pudo recibir datos desde el flujo de WAL: %s"
 
-#: rewrite/rewriteDefine.c:401
+#: replication/libpqwalreceiver/libpqwalreceiver.c:551
 #, c-format
-msgid "view rule for \"%s\" must be named \"%s\""
-msgstr "la regla de vista para «%s» debe llamarse «%s»"
+msgid "could not send data to WAL stream: %s"
+msgstr "no se pudo enviar datos al flujo de WAL: %s"
 
-#: rewrite/rewriteDefine.c:429
+# FIXME see slot.c:779.  See also  postmaster.c:835
+#: replication/logical/logical.c:83
 #, 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 "logical decoding requires wal_level >= logical"
+msgstr "la decodificación lógica requiere wal_level >= logical"
 
-#: rewrite/rewriteDefine.c:437
+#: replication/logical/logical.c:88
 #, 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 "logical decoding requires a database connection"
+msgstr "decodificación lógica requiere una conexión a una base de datos"
 
-#: rewrite/rewriteDefine.c:439
+#: replication/logical/logical.c:106
 #, 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 "logical decoding cannot be used while in recovery"
+msgstr "la decodificación lógica no puede ejecutarse durante la recuperación"
 
-#: rewrite/rewriteDefine.c:444
+#: replication/logical/logical.c:240 replication/logical/logical.c:400
 #, 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"
+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"
 
-#: rewrite/rewriteDefine.c:450
+#: replication/logical/logical.c:245 replication/logical/logical.c:405
 #, 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 "replication slot \"%s\" was not created in this database"
+msgstr "el slot de replicación «%s» no fue creado en esta base de datos"
 
-#: rewrite/rewriteDefine.c:477
+#: replication/logical/logical.c:252
 #, 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 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"
 
-#: rewrite/rewriteDefine.c:482
+#: replication/logical/logical.c:441
 #, c-format
-msgid "RETURNING lists are not supported in conditional rules"
-msgstr "listas de RETURNING no están soportadas en reglas condicionales"
+msgid "starting logical decoding for slot \"%s\""
+msgstr "iniciando la decodificación lógica para el slot «%s»"
 
-#: rewrite/rewriteDefine.c:486
+#: replication/logical/logical.c:443
 #, 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 "streaming transactions committing after %X/%X, reading WAL from %X/%X"
+msgstr "enviando flujo de transacciones comprometidas después de %X/%X, leyendo WAL de %X/%X"
 
-#: rewrite/rewriteDefine.c:650
+#: replication/logical/logical.c:578
 #, 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"
+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"
 
-#: rewrite/rewriteDefine.c:651
+# FIXME must quote callback name?  Need a translator: comment?
+#: replication/logical/logical.c:585
 #, c-format
-msgid "RETURNING list has too many entries"
-msgstr "la lista de RETURNING tiene demasiadas entradas"
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
+msgstr "slot «%s», plugin de salida «%s», en el callback %s"
 
-#: rewrite/rewriteDefine.c:678
+#: replication/logical/logicalfuncs.c:190 replication/walsender.c:2188
 #, 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 "could not read from log segment %s, offset %u, length %lu: %m"
+msgstr "no se pudo leer desde el segmento %s, posición %u, largo %lu: %m"
 
-#: rewrite/rewriteDefine.c:679
+#: replication/logical/logicalfuncs.c:209 replication/slotfuncs.c:32
 #, 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 "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"
 
-#: rewrite/rewriteDefine.c:685
+#: replication/logical/logicalfuncs.c:299
 #, 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 "slot name must not be null"
+msgstr "el nombre de slot no debe ser null"
 
-#: rewrite/rewriteDefine.c:687
+#: replication/logical/logicalfuncs.c:315
 #, c-format
-msgid "SELECT target entry is named \"%s\"."
-msgstr "La entrada de destino de SELECT tiene nombre «%s»."
+msgid "options array must not be null"
+msgstr "el array de opciones no debe ser null"
 
-#: rewrite/rewriteDefine.c:696
+#: replication/logical/logicalfuncs.c:346
 #, 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 "array must be one-dimensional"
+msgstr "el array debe ser unidimensional"
 
-#: rewrite/rewriteDefine.c:698
+#: replication/logical/logicalfuncs.c:352
 #, 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 "array must not contain nulls"
+msgstr "el array no debe contener nulls"
 
-#: rewrite/rewriteDefine.c:701 rewrite/rewriteDefine.c:725
+#: replication/logical/logicalfuncs.c:368 utils/adt/json.c:2170
 #, 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 "array must have even number of elements"
+msgstr "el array debe tener un número par de elementos"
 
-#: rewrite/rewriteDefine.c:704 rewrite/rewriteDefine.c:729
+#: replication/logical/logicalfuncs.c:410
 #, 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 "logical decoding output plugin \"%s\" produces binary output, but \"%s\" expects textual data"
+msgstr "el plugin de salida de decodificación lógica «%s» produce salida binaria, pero «%s» espera datos textuales"
 
-#: rewrite/rewriteDefine.c:720
+#: replication/logical/reorderbuffer.c:2329
 #, 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 "could not write to data file for XID %u: %m"
+msgstr "no se pudo escribir al archivo de datos para el XID %u: %m"
 
-#: rewrite/rewriteDefine.c:722
+#: replication/logical/reorderbuffer.c:2420
+#: replication/logical/reorderbuffer.c:2440
 #, 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 read from reorderbuffer spill file: %m"
+msgstr "no se pudo leer desde el archivo de desborde de reorderbuffer: %m"
 
-#: rewrite/rewriteDefine.c:739
+#: replication/logical/reorderbuffer.c:2424
+#: replication/logical/reorderbuffer.c:2444
 #, 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 "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"
 
-#: rewrite/rewriteDefine.c:740
+# FIXME almost duplicated string
+#: replication/logical/reorderbuffer.c:2631
 #, c-format
-msgid "RETURNING list has too few entries"
-msgstr "la lista de RETURNING tiene muy pocas entradas"
+msgid "could not remove file \"%s\" during removal of pg_replslot/%s/*.xid: %m"
+msgstr "no se pudo eliminar el archivo «%s» durante la eliminación de pg_replslot/%s/*.xid: %m"
 
-#: rewrite/rewriteDefine.c:832 rewrite/rewriteDefine.c:946
-#: rewrite/rewriteSupport.c:112
+# FIXME almost duplicated again!?
+#: replication/logical/reorderbuffer.c:3096
 #, c-format
-msgid "rule \"%s\" for relation \"%s\" does not exist"
-msgstr "no existe la regla «%s» para la relació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"
 
-#: rewrite/rewriteDefine.c:965
+# FIXME: snapshot? instantánea?
+#: replication/logical/snapbuild.c:651
 #, c-format
-msgid "renaming an ON SELECT rule is not allowed"
-msgstr "no se permite cambiar el nombre de una regla ON SELECT"
+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"
 
-#: rewrite/rewriteHandler.c:512
+#: replication/logical/snapbuild.c:1235 replication/logical/snapbuild.c:1325
+#: replication/logical/snapbuild.c:1828
 #, 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 "logical decoding found consistent point at %X/%X"
+msgstr "la decodificación lógica encontró un punto consistente en %X/%X"
 
-#: rewrite/rewriteHandler.c:572
+#: replication/logical/snapbuild.c:1237
 #, c-format
-msgid "cannot have RETURNING lists in multiple rules"
-msgstr "no se puede usar RETURNING en múltiples reglas"
+msgid "There are no running transactions."
+msgstr "No hay transacciones en ejecución."
 
-#: rewrite/rewriteHandler.c:931 rewrite/rewriteHandler.c:949
+#: replication/logical/snapbuild.c:1278
 #, c-format
-msgid "multiple assignments to same column \"%s\""
-msgstr "hay múltiples asignaciones a la misma columna «%s»"
+msgid "logical decoding found initial starting point at %X/%X"
+msgstr "decodificación lógica encontró punto de inicio en %X/%X"
 
-#: rewrite/rewriteHandler.c:1729 rewrite/rewriteHandler.c:3192
+#: replication/logical/snapbuild.c:1280 replication/logical/snapbuild.c:1303
 #, 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»"
-
-#: rewrite/rewriteHandler.c:2029
-msgid "Junk view columns are not updatable."
-msgstr "Las columnas «basura» de vistas no son actualizables."
-
-#: rewrite/rewriteHandler.c:2034
-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:2037
-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."
+msgid "Waiting for transactions (approximately %d) older than %u to end."
+msgstr "Esperando que las (aproximadamente %d) transacciones más antiguas que %u terminen."
 
-#: rewrite/rewriteHandler.c:2040
-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."
+#: replication/logical/snapbuild.c:1301
+#, 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"
 
-# XXX a %s here would be nice ...
-#: rewrite/rewriteHandler.c:2098
-msgid "Views containing DISTINCT are not automatically updatable."
-msgstr "Las vistas que contienen DISTINCT no son automáticamente actualizables."
+#: replication/logical/snapbuild.c:1327
+#, c-format
+msgid "There are no old transactions anymore."
+msgstr "Ya no hay transacciones antiguas en ejecución."
 
-#: rewrite/rewriteHandler.c:2101
-msgid "Views containing GROUP BY are not automatically updatable."
-msgstr "Las vistas que contienen GROUP BY no son automáticamente actualizables."
+# FIXME almost duplicated string
+#: replication/logical/snapbuild.c:1696 replication/logical/snapbuild.c:1727
+#: replication/logical/snapbuild.c:1745 replication/logical/snapbuild.c:1762
+#, c-format
+msgid "could not read file \"%s\", read %d of %d: %m"
+msgstr "no se pudo leer el archivo «%s», leídos %d de %d: %m"
 
-#: rewrite/rewriteHandler.c:2104
-msgid "Views containing HAVING are not automatically updatable."
-msgstr "Las vistas que contienen HAVING no son automáticamente actualizables."
+# FIXME "snapbuild"?
+#: replication/logical/snapbuild.c:1703
+#, c-format
+msgid "snapbuild state file \"%s\" has wrong magic %u instead of %u"
+msgstr "el archivo de estado de snapbuild «%s» tiene número mágico erróneo %u en lugar de %u"
 
-#: rewrite/rewriteHandler.c:2107
-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."
+#: replication/logical/snapbuild.c:1709
+#, 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"
 
-#: rewrite/rewriteHandler.c:2110
-msgid "Views containing WITH are not automatically updatable."
-msgstr "Las vistas que contienen WITH no son automáticamente actualizables."
+# FIXME must quote file name
+#: replication/logical/snapbuild.c:1775
+#, c-format
+msgid "snapbuild state file %s: checksum mismatch, is %u, should be %u"
+msgstr "archivo de estado de snapbuild %s: suma de verificación no coincidente %u, debería ser %u"
 
-#: rewrite/rewriteHandler.c:2113
-msgid "Views containing LIMIT or OFFSET are not automatically updatable."
-msgstr "Las vistas que contienen LIMIT u OFFSET no son automáticamente actualizables."
+#: replication/logical/snapbuild.c:1830
+#, c-format
+msgid "Logical decoding will begin using saved snapshot."
+msgstr "La decodificación lógica comenzará usando el snapshot guardado."
 
-#: rewrite/rewriteHandler.c:2125
-msgid "Views that return aggregate functions are not automatically updatable."
-msgstr "Las vistas que retornan funciones de agregación no son automáticamente actualizables."
+#: replication/logical/snapbuild.c:1901
+#, c-format
+msgid "could not parse file name \"%s\""
+msgstr "no se pudo interpretar el nombre de archivo «%s»"
 
-#: rewrite/rewriteHandler.c:2128
-msgid "Views that return window functions are not automatically updatable."
-msgstr "Las vistas que retornan funciones ventana no son automáticamente actualizables."
+#: replication/slot.c:174
+#, c-format
+msgid "replication slot name \"%s\" is too short"
+msgstr "el nombre de slot de replicación «%s» es demasiado corto"
 
-#: rewrite/rewriteHandler.c:2131
-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."
+#: replication/slot.c:183
+#, c-format
+msgid "replication slot name \"%s\" is too long"
+msgstr "el nombre de slot de replicación «%s» es demasiado largo"
 
-#: rewrite/rewriteHandler.c:2138 rewrite/rewriteHandler.c:2142
-#: rewrite/rewriteHandler.c:2149
-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."
+#: replication/slot.c:196
+#, c-format
+msgid "replication slot name \"%s\" contains invalid character"
+msgstr "el nombre de slot de replicación «%s» contiene caracteres no válidos"
 
-#: rewrite/rewriteHandler.c:2173
-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/slot.c:198
+#, 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 «_»."
 
-#: rewrite/rewriteHandler.c:2617
+#: replication/slot.c:245
 #, 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 "replication slot \"%s\" already exists"
+msgstr "el slot de replicación «%s» ya existe"
 
-#: rewrite/rewriteHandler.c:2625
+#: replication/slot.c:255
 #, c-format
-msgid "cannot update column \"%s\" of view \"%s\""
-msgstr "no se puede actualizar la columna «%s» vista «%s»"
+msgid "all replication slots are in use"
+msgstr "todos los slots de replicación están en uso"
 
-#: rewrite/rewriteHandler.c:3015
+#: replication/slot.c:256
 #, 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 "Free one or increase max_replication_slots."
+msgstr "Libere uno o incremente max_replication_slots."
 
-#: rewrite/rewriteHandler.c:3029
+#: replication/slot.c:357
 #, 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 "replication slot \"%s\" does not exist"
+msgstr "no existe el slot de replicación «%s»"
 
-#: rewrite/rewriteHandler.c:3033
+#: replication/slot.c:361
 #, 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 "replication slot \"%s\" is already active"
+msgstr "el slot de replicación «%s» ya está activo"
 
-#: rewrite/rewriteHandler.c:3038
+#: replication/slot.c:525 replication/slot.c:887 replication/slot.c:1238
 #, 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 "could not remove directory \"%s\""
+msgstr "no se pudo eliminar el directorio «%s»"
 
-#: rewrite/rewriteHandler.c:3229
+#: replication/slot.c:806
 #, c-format
-msgid "cannot perform INSERT RETURNING on relation \"%s\""
-msgstr "no se puede hacer INSERT RETURNING a la relación «%s»"
+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/rewriteHandler.c:3231
+# FIXME see logical.c:81
+#: replication/slot.c:811
 #, 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 "replication slots can only be used if wal_level >= archive"
+msgstr "los slots de replicación sólo pueden usarse si wal_level >= archive"
 
-#: rewrite/rewriteHandler.c:3236
+#: replication/slot.c:1172 replication/slot.c:1210
 #, c-format
-msgid "cannot perform UPDATE RETURNING on relation \"%s\""
-msgstr "no se puede hacer UPDATE RETURNING a la relación «%s»"
+msgid "could not read file \"%s\", read %d of %u: %m"
+msgstr "no se pudo leer el archivo «%s», leídos %d de %u: %m"
 
-#: rewrite/rewriteHandler.c:3238
+#: replication/slot.c:1181
 #, 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 "replication slot file \"%s\" has wrong magic %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/rewriteHandler.c:3243
+#: replication/slot.c:1188
 #, c-format
-msgid "cannot perform DELETE RETURNING on relation \"%s\""
-msgstr "no se puede hacer DELETE RETURNING a la relación «%s»"
+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/rewriteHandler.c:3245
+#: replication/slot.c:1195
 #, 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 "replication slot file \"%s\" has corrupted length %u"
+msgstr "el archivo de slot de replicación «%s» tiene largo corrupto %u"
 
-#: rewrite/rewriteHandler.c:3309
+#: replication/slot.c:1225
 #, 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 "replication slot file %s: checksum mismatch, is %u, should be %u"
+msgstr "archivo de slot de replicación %s: suma de control no coincidente, es %u, debería ser %u"
 
-#: rewrite/rewriteManip.c:956
+# FIXME see slot.c:779.  See also  postmaster.c:835
+#: replication/slot.c:1259
 #, c-format
-msgid "conditional utility statements are not implemented"
-msgstr "las sentencias condicionales de utilidad no están implementadas"
+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/rewriteManip.c:1121
+#: replication/slot.c:1261
 #, c-format
-msgid "WHERE CURRENT OF on a view is not implemented"
-msgstr "WHERE CURRENT OF no está implementado en una vista"
+msgid "Change wal_level to be logical or higher."
+msgstr "Cambie wal_level a logical o superior."
 
-#: rewrite/rewriteSupport.c:154
+#: replication/slot.c:1265
 #, c-format
-msgid "rule \"%s\" does not exist"
-msgstr "no existe la regla «%s»"
+msgid "physical replication slot \"%s\" exists, but wal_level < archive"
+msgstr "existe el slot de replicación física «%s», pero wal_level < archive"
 
-#: rewrite/rewriteSupport.c:167
+#: replication/slot.c:1267
 #, c-format
-msgid "there are multiple rules named \"%s\""
-msgstr "hay múltiples reglas llamadas «%s»"
+msgid "Change wal_level to be archive or higher."
+msgstr "Cambie wal_level a archive o superior"
 
-#: rewrite/rewriteSupport.c:168
+#: replication/slot.c:1301
 #, c-format
-msgid "Specify a relation name as well as a rule name."
-msgstr "Especifique un nombre de relación además del nombre de regla."
+msgid "too many replication slots active before shutdown"
+msgstr "demasiados slots de replicacion activos antes del apagado"
 
-#: snowball/dict_snowball.c:180
+#: replication/slot.c:1302
 #, 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 "Increase max_replication_slots and try again."
+msgstr "Aumente max_replication_slots y reintente."
 
-#: snowball/dict_snowball.c:203 tsearch/dict_ispell.c:73
-#: tsearch/dict_simple.c:48
+#: replication/syncrep.c:209
 #, c-format
-msgid "multiple StopWords parameters"
-msgstr "parámetro StopWords duplicado"
+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"
 
-#: snowball/dict_snowball.c:212
+#: replication/syncrep.c:210 replication/syncrep.c:227
 #, c-format
-msgid "multiple Language parameters"
-msgstr "parámetro Language duplicado"
+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."
 
-#: snowball/dict_snowball.c:219
+#: replication/syncrep.c:226
 #, c-format
-msgid "unrecognized Snowball parameter: \"%s\""
-msgstr "parámetro Snowball no reconocido: «%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"
 
-#: snowball/dict_snowball.c:227
+#: replication/syncrep.c:356
 #, c-format
-msgid "missing Language parameter"
-msgstr "falta un parámetro Language"
+msgid "standby \"%s\" now has synchronous standby priority %u"
+msgstr "el standby «%s» ahora tiene prioridad sincrónica %u"
 
-#: storage/buffer/bufmgr.c:139 storage/buffer/bufmgr.c:252
+#: replication/syncrep.c:461
 #, c-format
-msgid "cannot access temporary tables of other sessions"
-msgstr "no se pueden acceder tablas temporales de otras sesiones"
+msgid "standby \"%s\" is now the synchronous standby with priority %u"
+msgstr "el standby «%s» es ahora el standby sincrónico con prioridad %u"
 
-#: storage/buffer/bufmgr.c:401
+#: replication/walreceiver.c:167
 #, 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 "terminating walreceiver process due to administrator command"
+msgstr "terminando el proceso walreceiver debido a una orden del administrador"
 
-#: storage/buffer/bufmgr.c:403
+#: replication/walreceiver.c:337
 #, 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 "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"
 
-#: storage/buffer/bufmgr.c:493
+#: replication/walreceiver.c:372
 #, 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 "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"
 
-#: storage/buffer/bufmgr.c:3219
+#: replication/walreceiver.c:377
 #, c-format
-msgid "could not write block %u of %s"
-msgstr "no se pudo escribir el bloque %u de %s"
+msgid "restarted WAL streaming at %X/%X on timeline %u"
+msgstr "reiniciando el flujo de WAL en %X/%X en el timeline %u"
 
-#: storage/buffer/bufmgr.c:3221
+#: replication/walreceiver.c:411
 #, c-format
-msgid "Multiple failures --- write error might be permanent."
-msgstr "Múltiples fallas --- el error de escritura puede ser permanente."
+msgid "cannot continue WAL streaming, recovery has already ended"
+msgstr "no se puede continuar el flujo de WAL; la recuperación ya ha terminado"
 
-#: storage/buffer/bufmgr.c:3242 storage/buffer/bufmgr.c:3261
+#: replication/walreceiver.c:448
 #, c-format
-msgid "writing block %u of relation %s"
-msgstr "escribiendo el bloque %u de la relación %s"
+msgid "replication terminated by primary server"
+msgstr "replicación terminada por el servidor primario"
 
-#: storage/buffer/localbuf.c:189
+#: replication/walreceiver.c:449
 #, c-format
-msgid "no empty local buffer available"
-msgstr "no hay ningún búfer local disponible"
+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."
 
-#: storage/file/fd.c:547
+#: replication/walreceiver.c:496
 #, c-format
-msgid "could not link file \"%s\" to \"%s\": %m"
-msgstr "no se pudo enlazar (link) el archivo «%s» a «%s»: %m"
+msgid "terminating walreceiver due to timeout"
+msgstr "terminando el proceso walreceiver debido a que se agotó el tiempo de espera"
 
-#: storage/file/fd.c:641
+#: replication/walreceiver.c:536
 #, c-format
-msgid "getrlimit failed: %m"
-msgstr "getrlimit falló: %m"
+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"
 
-#: storage/file/fd.c:731
+#: replication/walreceiver.c:551 replication/walreceiver.c:902
 #, 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 close log segment %s: %m"
+msgstr "no se pudo cerrar archivo de segmento %s: %m"
 
-#: storage/file/fd.c:732
+#: replication/walreceiver.c:673
 #, c-format
-msgid "System allows %d, we need at least %d."
-msgstr "El sistema permite %d, se requieren al menos %d."
+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"
 
-#: storage/file/fd.c:773 storage/file/fd.c:1877 storage/file/fd.c:1970
-#: storage/file/fd.c:2118
+#: replication/walreceiver.c:953
 #, c-format
-msgid "out of file descriptors: %m; release and retry"
-msgstr "se agotaron los descriptores de archivo: %m; libere e intente nuevamente"
+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"
 
-#: storage/file/fd.c:1378
+#: replication/walsender.c:490
 #, c-format
-msgid "temporary file: path \"%s\", size %lu"
-msgstr "archivo temporal: ruta «%s», tamaño %lu"
+msgid "could not seek to beginning of file \"%s\": %m"
+msgstr "no se pudo posicionar (seek) al comienzo del archivo «%s»: %m"
 
-#: storage/file/fd.c:1550
+#: replication/walsender.c:541
 #, 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 "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"
 
-#: storage/file/fd.c:1853 storage/file/fd.c:1903
+#: replication/walsender.c:604
 #, 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 "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"
 
-#: storage/file/fd.c:1943
+#: replication/walsender.c:608
 #, 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 "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."
 
-#: storage/file/fd.c:2094
+#: replication/walsender.c:653
 #, 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 "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"
 
-#: storage/file/fd.c:2180
+#: replication/walsender.c:969
 #, c-format
-msgid "could not read directory \"%s\": %m"
-msgstr "no se pudo leer el directorio «%s»: %m"
+msgid "terminating walsender process after promotion"
+msgstr "terminando el proceso walsender luego de la promoción"
 
-#: storage/ipc/dsm.c:363
+#: replication/walsender.c:1330
 #, c-format
-msgid "dynamic shared memory control segment is corrupt"
-msgstr "el segmento de control de memoria compartida dinámica está corrupto"
+msgid "cannot execute new commands while WAL sender is in stopping mode"
+msgstr "no se pueden ejecutar nuevas órdenes mientras el «WAL sender» está en modo de detención"
 
-#: storage/ipc/dsm.c:410
+#: replication/walsender.c:1435 replication/walsender.c:1451
 #, c-format
-msgid "dynamic shared memory is disabled"
-msgstr "la memoria compartida dinámica está deshabilitada"
+msgid "unexpected EOF on standby connection"
+msgstr "se encontró fin de archivo inesperado en la conexión standby"
 
-#: storage/ipc/dsm.c:411
+#: replication/walsender.c:1465
 #, c-format
-msgid "Set dynamic_shared_memory_type to a value other than \"none\"."
-msgstr "Defina dynamic_shared_memory_type a un valor distinto de «none»."
+msgid "unexpected standby message type \"%c\", after receiving CopyDone"
+msgstr "mensaje de standby de tipo «%c» inesperado, después de recibir CopyDone"
 
-#: storage/ipc/dsm.c:431
+#: replication/walsender.c:1503
 #, 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 "invalid standby message type \"%c\""
+msgstr "el tipo «%c» de mensaje del standby no es válido"
 
-#: storage/ipc/dsm.c:501
+#: replication/walsender.c:1544
 #, c-format
-msgid "too many dynamic shared memory segments"
-msgstr "demasiados segmentos de memoria compartida dinámica"
+msgid "unexpected message type \"%c\""
+msgstr "mensaje de tipo «%c» inesperado"
 
-#: storage/ipc/dsm_impl.c:261 storage/ipc/dsm_impl.c:361
-#: storage/ipc/dsm_impl.c:533 storage/ipc/dsm_impl.c:648
-#: storage/ipc/dsm_impl.c:819 storage/ipc/dsm_impl.c:961
+#: replication/walsender.c:1839
 #, c-format
-msgid "could not unmap shared memory segment \"%s\": %m"
-msgstr "no se pudo desmapear el segmento de memoria compartida «%s»: %m"
+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"
 
-#: storage/ipc/dsm_impl.c:271 storage/ipc/dsm_impl.c:543
-#: storage/ipc/dsm_impl.c:658 storage/ipc/dsm_impl.c:829
+#: replication/walsender.c:1923
 #, c-format
-msgid "could not remove shared memory segment \"%s\": %m"
-msgstr "no se pudo eliminar el segmento de memoria compartida «%s»: %m"
+msgid "\"%s\" has now caught up with upstream server"
+msgstr "«%s» ahora está actualizado respecto del primario"
 
-#: storage/ipc/dsm_impl.c:292 storage/ipc/dsm_impl.c:729
-#: storage/ipc/dsm_impl.c:843
+#: replication/walsender.c:2032
 #, c-format
-msgid "could not open shared memory segment \"%s\": %m"
-msgstr "no se pudo abrir el segmento de memoria compartida «%s»: %m"
+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)"
 
-#: storage/ipc/dsm_impl.c:316 storage/ipc/dsm_impl.c:559
-#: storage/ipc/dsm_impl.c:774 storage/ipc/dsm_impl.c:867
+#: rewrite/rewriteDefine.c:111 rewrite/rewriteDefine.c:955
 #, 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 "rule \"%s\" for relation \"%s\" already exists"
+msgstr "ya existe una regla llamada «%s» para la relación «%s»"
 
-#: storage/ipc/dsm_impl.c:335 storage/ipc/dsm_impl.c:886
-#: storage/ipc/dsm_impl.c:934
+#: rewrite/rewriteDefine.c:295
 #, 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 "rule actions on OLD are not implemented"
+msgstr "las acciones de regla en OLD no están implementadas"
 
-#: storage/ipc/dsm_impl.c:385 storage/ipc/dsm_impl.c:580
-#: storage/ipc/dsm_impl.c:750 storage/ipc/dsm_impl.c:985
+#: rewrite/rewriteDefine.c:296
 #, c-format
-msgid "could not map shared memory segment \"%s\": %m"
-msgstr "no se pudo mapear el segmento de memoria compartida «%s»: %m"
+msgid "Use views or triggers instead."
+msgstr "Use vistas o triggers en su lugar."
 
-#: storage/ipc/dsm_impl.c:515
+#: rewrite/rewriteDefine.c:300
 #, c-format
-msgid "could not get shared memory segment: %m"
-msgstr "no se pudo obtener el segmento de memoria compartida: %m"
+msgid "rule actions on NEW are not implemented"
+msgstr "las acciones de regla en NEW no están implementadas"
 
-#: storage/ipc/dsm_impl.c:714
+#: rewrite/rewriteDefine.c:301
 #, c-format
-msgid "could not create shared memory segment \"%s\": %m"
-msgstr "no se pudo crear el segmento de memoria compartida «%s»: %m"
+msgid "Use triggers instead."
+msgstr "Use triggers en su lugar."
 
-#: storage/ipc/dsm_impl.c:1026
+#: rewrite/rewriteDefine.c:314
 #, c-format
-msgid "could not duplicate handle for \"%s\": %m"
-msgstr "no se pudo duplicar el «handle» para «%s»: %m"
+msgid "INSTEAD NOTHING rules on SELECT are not implemented"
+msgstr "las reglas INSTEAD NOTHING en SELECT no están implementadas"
 
-#: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:189 storage/ipc/shmem.c:205
-#: storage/lmgr/lock.c:872 storage/lmgr/lock.c:906 storage/lmgr/lock.c:2603
-#: storage/lmgr/lock.c:3719 storage/lmgr/lock.c:3784 storage/lmgr/lock.c:4074
-#: storage/lmgr/predicate.c:2338 storage/lmgr/predicate.c:2353
-#: storage/lmgr/predicate.c:3745 storage/lmgr/predicate.c:4888
-#: storage/lmgr/proc.c:198 utils/hash/dynahash.c:966
+#: rewrite/rewriteDefine.c:315
 #, c-format
-msgid "out of shared memory"
-msgstr "memoria compartida agotada"
+msgid "Use views instead."
+msgstr "Use vistas en su lugar."
 
-#: storage/ipc/shmem.c:361 storage/ipc/shmem.c:412
+#: rewrite/rewriteDefine.c:323
 #, 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"
+msgid "multiple actions for rules on SELECT are not implemented"
+msgstr "las reglas de múltiples acciones en SELECT no están implementadas"
 
-#: storage/ipc/shmem.c:380
+#: rewrite/rewriteDefine.c:334
 #, 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»"
+msgid "rules on SELECT must have action INSTEAD SELECT"
+msgstr "las reglas en SELECT deben tener una acción INSTEAD SELECT"
 
-#: storage/ipc/shmem.c:395
+#: rewrite/rewriteDefine.c:342
 #, 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"
+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/ipc/shmem.c:440 storage/ipc/shmem.c:459
+#: rewrite/rewriteDefine.c:350
 #, c-format
-msgid "requested shared memory size overflows size_t"
-msgstr "la petición de tamaño de memoria compartida desborda size_t"
+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/ipc/standby.c:501 tcop/postgres.c:3002
+#: rewrite/rewriteDefine.c:377
 #, c-format
-msgid "canceling statement due to conflict with recovery"
-msgstr "cancelando la sentencia debido a un conflicto con la recuperación"
+msgid "\"%s\" is already a view"
+msgstr "«%s» ya es una vista"
 
-#: storage/ipc/standby.c:502 tcop/postgres.c:2235
+#: rewrite/rewriteDefine.c:401
 #, c-format
-msgid "User transaction caused buffer deadlock with recovery."
-msgstr "La transacción del usuario causó un «deadlock» con la recuperación."
+msgid "view rule for \"%s\" must be named \"%s\""
+msgstr "la regla de vista para «%s» debe llamarse «%s»"
 
-#: storage/large_object/inv_api.c:203
+#: rewrite/rewriteDefine.c:429
 #, 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 "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/large_object/inv_api.c:284
+#: rewrite/rewriteDefine.c:437
 #, c-format
-msgid "invalid flags for opening a large object: %d"
-msgstr "opciones no válidas para abrir un objeto grande: %d"
+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/large_object/inv_api.c:436
+#: rewrite/rewriteDefine.c:439
 #, c-format
-msgid "invalid whence setting: %d"
-msgstr "parámetro «whence» no válido: %d"
+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/large_object/inv_api.c:591
+#: rewrite/rewriteDefine.c:444
 #, 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 "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/lmgr/deadlock.c:925
+#: rewrite/rewriteDefine.c:450
 #, 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."
+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/lmgr/deadlock.c:944
+#: rewrite/rewriteDefine.c:477
 #, c-format
-msgid "Process %d: %s"
-msgstr "Proceso %d: %s"
+msgid "cannot have multiple RETURNING lists in a rule"
+msgstr "no se pueden tener múltiples listas RETURNING en una regla"
 
-#: storage/lmgr/deadlock.c:953
+#: rewrite/rewriteDefine.c:482
 #, c-format
-msgid "deadlock detected"
-msgstr "se ha detectado un deadlock"
+msgid "RETURNING lists are not supported in conditional rules"
+msgstr "listas de RETURNING no están soportadas en reglas condicionales"
 
-#: storage/lmgr/deadlock.c:956
+#: rewrite/rewriteDefine.c:486
 #, c-format
-msgid "See server log for query details."
-msgstr "Vea el registro del servidor para obtener detalles de las consultas."
+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/lmgr/lmgr.c:599
+#: rewrite/rewriteDefine.c:650
 #, 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 "SELECT rule's target list has too many entries"
+msgstr "la lista de destinos en la regla de SELECT tiene demasiadas entradas"
 
-#: storage/lmgr/lmgr.c:602
+#: rewrite/rewriteDefine.c:651
 #, 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 "RETURNING list has too many entries"
+msgstr "la lista de RETURNING tiene demasiadas entradas"
 
-#: storage/lmgr/lmgr.c:605
+#: rewrite/rewriteDefine.c:678
 #, 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 "cannot convert relation containing dropped columns to view"
+msgstr "no se puede convertir en vista una relación que contiene columnas eliminadas"
 
-#: storage/lmgr/lmgr.c:608
+#: rewrite/rewriteDefine.c:679
 #, 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 "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/lmgr/lmgr.c:611
+#: rewrite/rewriteDefine.c:685
 #, 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 "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/lmgr/lmgr.c:614
+#: rewrite/rewriteDefine.c:687
 #, 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 "SELECT target entry is named \"%s\"."
+msgstr "La entrada de destino de SELECT tiene nombre «%s»."
 
-#: storage/lmgr/lmgr.c:617
+#: rewrite/rewriteDefine.c:696
 #, 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 "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/lmgr/lmgr.c:620
+#: rewrite/rewriteDefine.c:698
 #, c-format
-msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\""
-msgstr "mientras se verificaba una restricción por exclusión en la tupla (%u,%u) en la relación «%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/lmgr/lmgr.c:840
+#: rewrite/rewriteDefine.c:701 rewrite/rewriteDefine.c:725
 #, c-format
-msgid "relation %u of database %u"
-msgstr "relación %u de la base de datos %u"
+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/lmgr/lmgr.c:846
+#: rewrite/rewriteDefine.c:704 rewrite/rewriteDefine.c:729
 #, 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 "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/lmgr/lmgr.c:852
+#: rewrite/rewriteDefine.c:720
 #, 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 "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/lmgr/lmgr.c:859
+#: rewrite/rewriteDefine.c:722
 #, 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 "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/lmgr/lmgr.c:867
+#: rewrite/rewriteDefine.c:739
 #, c-format
-msgid "transaction %u"
-msgstr "transacción %u"
+msgid "SELECT rule's target list has too few entries"
+msgstr "la lista de destinos de regla de SELECT tiene muy pocas entradas"
 
-#: storage/lmgr/lmgr.c:872
+#: rewrite/rewriteDefine.c:740
 #, c-format
-msgid "virtual transaction %d/%u"
-msgstr "transacción virtual %d/%u"
+msgid "RETURNING list has too few entries"
+msgstr "la lista de RETURNING tiene muy pocas entradas"
 
-#: storage/lmgr/lmgr.c:878
+#: rewrite/rewriteDefine.c:832 rewrite/rewriteDefine.c:946
+#: rewrite/rewriteSupport.c:112
 #, c-format
-msgid "object %u of class %u of database %u"
-msgstr "objeto %u de clase %u de la base de datos %u"
+msgid "rule \"%s\" for relation \"%s\" does not exist"
+msgstr "no existe la regla «%s» para la relación «%s»"
 
-#: storage/lmgr/lmgr.c:886
+#: rewrite/rewriteDefine.c:965
 #, c-format
-msgid "user lock [%u,%u,%u]"
-msgstr "candado de usuario [%u,%u,%u]"
+msgid "renaming an ON SELECT rule is not allowed"
+msgstr "no se permite cambiar el nombre de una regla ON SELECT"
 
-# XXX is this a good translation?
-#: storage/lmgr/lmgr.c:893
+#: rewrite/rewriteHandler.c:511
 #, c-format
-msgid "advisory lock [%u,%u,%u,%u]"
-msgstr "candado consultivo [%u,%u,%u,%u]"
+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/lmgr/lmgr.c:901
+#: rewrite/rewriteHandler.c:571
 #, c-format
-msgid "unrecognized locktag type %d"
-msgstr "tipo de locktag %d no reconocido"
+msgid "cannot have RETURNING lists in multiple rules"
+msgstr "no se puede usar RETURNING en múltiples reglas"
 
-#: storage/lmgr/lock.c:721
+#: rewrite/rewriteHandler.c:917 rewrite/rewriteHandler.c:935
 #, 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 "multiple assignments to same column \"%s\""
+msgstr "hay múltiples asignaciones a la misma columna «%s»"
 
-#: storage/lmgr/lock.c:723
+#: rewrite/rewriteHandler.c:1834 rewrite/rewriteHandler.c:3339
 #, 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 "infinite recursion detected in rules for relation \"%s\""
+msgstr "se detectó recursión infinita en las reglas de la relación «%s»"
 
-#: storage/lmgr/lock.c:873 storage/lmgr/lock.c:907 storage/lmgr/lock.c:2604
-#: storage/lmgr/lock.c:3720 storage/lmgr/lock.c:3785 storage/lmgr/lock.c:4075
-#, c-format
-msgid "You might need to increase max_locks_per_transaction."
-msgstr "Puede ser necesario incrementar max_locks_per_transaction."
+#: rewrite/rewriteHandler.c:2137
+msgid "Junk view columns are not updatable."
+msgstr "Las columnas «basura» de vistas no son actualizables."
 
-#: storage/lmgr/lock.c:3045 storage/lmgr/lock.c:3157
-#, 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"
+#: rewrite/rewriteHandler.c:2142
+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/lmgr/predicate.c:676
-#, 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"
+#: rewrite/rewriteHandler.c:2145
+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/lmgr/predicate.c:677 storage/lmgr/predicate.c:705
-#, 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."
+#: rewrite/rewriteHandler.c:2148
+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/lmgr/predicate.c:704
-#, 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"
+# XXX a %s here would be nice ...
+#: rewrite/rewriteHandler.c:2209
+msgid "Views containing DISTINCT are not automatically updatable."
+msgstr "Las vistas que contienen DISTINCT no son automáticamente actualizables."
 
-#: storage/lmgr/predicate.c:910
-#, c-format
-msgid "memory for serializable conflict tracking is nearly exhausted"
-msgstr "la memoria para el seguimiento de conflictos de serialización está casi agotada"
+#: rewrite/rewriteHandler.c:2212
+msgid "Views containing GROUP BY are not automatically updatable."
+msgstr "Las vistas que contienen GROUP BY no son automáticamente actualizables."
 
-#: storage/lmgr/predicate.c:911
-#, c-format
-msgid "There might be an idle transaction or a forgotten prepared transaction causing this."
-msgstr "Puede haber una transacción inactiva o una transacción preparada olvidada que esté causando este problema."
+#: rewrite/rewriteHandler.c:2215
+msgid "Views containing HAVING are not automatically updatable."
+msgstr "Las vistas que contienen HAVING no son automáticamente actualizables."
 
-#: storage/lmgr/predicate.c:1207 storage/lmgr/predicate.c:1280
-#, c-format
-msgid "not enough shared memory for elements of data structure \"%s\" (%zu bytes requested)"
-msgstr "el espacio de memoria compartida es insuficiente para los elementos de la estructura «%s» (%zu bytes solicitados)"
+#: rewrite/rewriteHandler.c:2218
+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/lmgr/predicate.c:1565
-#, c-format
-msgid "deferrable snapshot was unsafe; trying a new one"
-msgstr "la instantánea postergada era insegura; intentando con una nueva"
+#: rewrite/rewriteHandler.c:2221
+msgid "Views containing WITH are not automatically updatable."
+msgstr "Las vistas que contienen WITH no son automáticamente actualizables."
 
-#: storage/lmgr/predicate.c:1604
-#, c-format
-msgid "\"default_transaction_isolation\" is set to \"serializable\"."
-msgstr "«default_transaction_isolation» está definido a «serializable»."
+#: rewrite/rewriteHandler.c:2224
+msgid "Views containing LIMIT or OFFSET are not automatically updatable."
+msgstr "Las vistas que contienen LIMIT u OFFSET no son automáticamente actualizables."
 
-#: storage/lmgr/predicate.c:1605
-#, 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."
+#: rewrite/rewriteHandler.c:2236
+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/lmgr/predicate.c:1644
-#, 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"
+#: rewrite/rewriteHandler.c:2239
+msgid "Views that return window functions are not automatically updatable."
+msgstr "Las vistas que retornan funciones ventana no son automáticamente actualizables."
 
-#: storage/lmgr/predicate.c:1714 utils/time/snapmgr.c:438
-#, c-format
-msgid "could not import the requested snapshot"
-msgstr "no se pudo importar el snapshot solicitado"
+#: rewrite/rewriteHandler.c:2242
+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/lmgr/predicate.c:1715 utils/time/snapmgr.c:439
-#, c-format
-msgid "The source transaction %u is not running anymore."
-msgstr "La transacción de origen %u ya no está en ejecución."
+#: rewrite/rewriteHandler.c:2249 rewrite/rewriteHandler.c:2253
+#: rewrite/rewriteHandler.c:2260
+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."
 
-#: storage/lmgr/predicate.c:2339 storage/lmgr/predicate.c:2354
-#: storage/lmgr/predicate.c:3746
-#, c-format
-msgid "You might need to increase max_pred_locks_per_transaction."
-msgstr "Puede ser necesario incrementar max_pred_locks_per_transaction."
+#: rewrite/rewriteHandler.c:2284
+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/lmgr/predicate.c:3900 storage/lmgr/predicate.c:3989
-#: storage/lmgr/predicate.c:3997 storage/lmgr/predicate.c:4036
-#: storage/lmgr/predicate.c:4275 storage/lmgr/predicate.c:4612
-#: storage/lmgr/predicate.c:4624 storage/lmgr/predicate.c:4666
-#: storage/lmgr/predicate.c:4704
+#: rewrite/rewriteHandler.c:2731
 #, 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 "cannot insert into column \"%s\" of view \"%s\""
+msgstr "no se puede insertar en la columna «%s» de la vista «%s»"
 
-#: storage/lmgr/predicate.c:3902 storage/lmgr/predicate.c:3991
-#: storage/lmgr/predicate.c:3999 storage/lmgr/predicate.c:4038
-#: storage/lmgr/predicate.c:4277 storage/lmgr/predicate.c:4614
-#: storage/lmgr/predicate.c:4626 storage/lmgr/predicate.c:4668
-#: storage/lmgr/predicate.c:4706
+#: rewrite/rewriteHandler.c:2739
 #, c-format
-msgid "The transaction might succeed if retried."
-msgstr "La transacción podría tener éxito si es reintentada."
+msgid "cannot update column \"%s\" of view \"%s\""
+msgstr "no se puede actualizar la columna «%s» vista «%s»"
 
-#: storage/lmgr/proc.c:1179
+#: rewrite/rewriteHandler.c:3129
 #, c-format
-msgid "Process %d waits for %s on %s."
-msgstr "El proceso %d espera %s en %s."
+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/lmgr/proc.c:1190
+#: rewrite/rewriteHandler.c:3143
 #, 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 "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/lmgr/proc.c:1208 utils/adt/misc.c:136
+#: rewrite/rewriteHandler.c:3147
 #, c-format
-msgid "could not send signal to process %d: %m"
-msgstr "no se pudo enviar la señal al proceso %d: %m"
+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/lmgr/proc.c:1310
+#: rewrite/rewriteHandler.c:3152
 #, 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 "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/proc.c:1325
+#: rewrite/rewriteHandler.c:3376
 #, 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 perform INSERT RETURNING on relation \"%s\""
+msgstr "no se puede hacer INSERT RETURNING a la relación «%s»"
 
-#: storage/lmgr/proc.c:1334
+#: rewrite/rewriteHandler.c:3378
 #, c-format
-msgid "process %d still waiting for %s on %s after %ld.%03d ms"
-msgstr "el proceso %d está aún espera %s en %s después de %ld.%03d ms"
+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/proc.c:1341
+#: rewrite/rewriteHandler.c:3383
 #, 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 "cannot perform UPDATE RETURNING on relation \"%s\""
+msgstr "no se puede hacer UPDATE RETURNING a la relación «%s»"
 
-#: storage/lmgr/proc.c:1357
+#: rewrite/rewriteHandler.c:3385
 #, 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 "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/page/bufpage.c:144
+#: rewrite/rewriteHandler.c:3390
 #, 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 "cannot perform DELETE RETURNING on relation \"%s\""
+msgstr "no se puede hacer DELETE RETURNING a la relación «%s»"
 
-#: storage/page/bufpage.c:200 storage/page/bufpage.c:459
-#: storage/page/bufpage.c:691 storage/page/bufpage.c:823
+#: rewrite/rewriteHandler.c:3392
 #, 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 "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/page/bufpage.c:503
+#: rewrite/rewriteHandler.c:3456
 #, c-format
-msgid "corrupted item pointer: %u"
-msgstr "el puntero de item está corrupto: %u"
+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/page/bufpage.c:514 storage/page/bufpage.c:874
+#: rewrite/rewriteManip.c:956
 #, 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 "conditional utility statements are not implemented"
+msgstr "las sentencias condicionales de utilidad no están implementadas"
 
-#: storage/page/bufpage.c:710 storage/page/bufpage.c:847
+#: rewrite/rewriteManip.c:1121
 #, c-format
-msgid "corrupted item pointer: offset = %u, size = %u"
-msgstr "el puntero de ítem está corrupto: posición = %u, tamaño = %u"
+msgid "WHERE CURRENT OF on a view is not implemented"
+msgstr "WHERE CURRENT OF no está implementado en una vista"
 
-#: storage/smgr/md.c:426 storage/smgr/md.c:897
+#: rewrite/rewriteSupport.c:154
 #, c-format
-msgid "could not truncate file \"%s\": %m"
-msgstr "no se pudo truncar el archivo «%s»: %m"
+msgid "rule \"%s\" does not exist"
+msgstr "no existe la regla «%s»"
 
-#: storage/smgr/md.c:493
+#: rewrite/rewriteSupport.c:167
 #, 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 "there are multiple rules named \"%s\""
+msgstr "hay múltiples reglas llamadas «%s»"
 
-#: storage/smgr/md.c:515 storage/smgr/md.c:676 storage/smgr/md.c:751
+#: rewrite/rewriteSupport.c:168
 #, c-format
-msgid "could not seek to block %u in file \"%s\": %m"
-msgstr "no se pudo posicionar (seek) al bloque %u en el archivo «%s»: %m"
+msgid "Specify a relation name as well as a rule name."
+msgstr "Especifique un nombre de relación además del nombre de regla."
 
-#: storage/smgr/md.c:523
-#, c-format
-msgid "could not extend file \"%s\": %m"
-msgstr "no se pudo extender el archivo «%s»: %m"
+#: scan.l:427
+msgid "unterminated /* comment"
+msgstr "un comentario /* está inconcluso"
 
-#: storage/smgr/md.c:525 storage/smgr/md.c:532 storage/smgr/md.c:778
-#, c-format
-msgid "Check free disk space."
-msgstr "Verifique el espacio libre en disco."
+#: scan.l:456
+msgid "unterminated bit string literal"
+msgstr "una cadena de bits está inconclusa"
 
-#: storage/smgr/md.c:529
-#, 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"
+#: scan.l:477
+msgid "unterminated hexadecimal string literal"
+msgstr "una cadena hexadecimal está inconclusa"
 
-#: storage/smgr/md.c:694
+#: scan.l:527
 #, 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 "unsafe use of string constant with Unicode escapes"
+msgstr "uso inseguro de literal de cadena con escapes Unicode"
 
-#: storage/smgr/md.c:710
+#: scan.l:528
 #, 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 "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/smgr/md.c:769
-#, 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"
+#: scan.l:572 scan.l:768
+msgid "invalid Unicode escape character"
+msgstr "carácter de escape Unicode no válido"
 
-#: storage/smgr/md.c:774
-#, 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"
+#: scan.l:597 scan.l:605 scan.l:613 scan.l:614 scan.l:615 scan.l:1311
+#: scan.l:1338 scan.l:1342 scan.l:1380 scan.l:1384 scan.l:1406 scan.l:1416
+msgid "invalid Unicode surrogate pair"
+msgstr "par sustituto (surrogate) Unicode no válido"
 
-#: storage/smgr/md.c:873
+#: scan.l:619
 #, 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 "invalid Unicode escape"
+msgstr "valor de escape Unicode no válido"
 
-#: storage/smgr/md.c:923
+#: scan.l:620
 #, 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 "Unicode escapes must be \\uXXXX or \\UXXXXXXXX."
+msgstr "Los escapes Unicode deben ser \\uXXXX o \\UXXXXXXXX."
 
-#: storage/smgr/md.c:1203
+#: scan.l:631
 #, c-format
-msgid "could not fsync file \"%s\" but retrying: %m"
-msgstr "no se pudo sincronizar (fsync) archivo «%s» pero reintentando: %m"
+msgid "unsafe use of \\' in a string literal"
+msgstr "uso inseguro de \\' en un literal de cadena"
 
-#: storage/smgr/md.c:1366
+#: scan.l:632
 #, 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 "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/smgr/md.c:1761
-#, c-format
-msgid "could not open file \"%s\" (target block %u): %m"
-msgstr "no se pudo abrir el archivo «%s» (bloque buscado %u): %m"
+#: scan.l:707
+msgid "unterminated dollar-quoted string"
+msgstr "una cadena separada por $ está inconclusa"
 
-#: tcop/fastpath.c:111 tcop/fastpath.c:463 tcop/fastpath.c:593
-#, 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"
+#: scan.l:724 scan.l:748 scan.l:763
+msgid "zero-length delimited identifier"
+msgstr "un identificador delimitado tiene largo cero"
 
-#: tcop/fastpath.c:281 tcop/postgres.c:963 tcop/postgres.c:1273
-#: tcop/postgres.c:1531 tcop/postgres.c:1936 tcop/postgres.c:2303
-#: tcop/postgres.c:2378
-#, 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"
+#: scan.l:783
+msgid "unterminated quoted identifier"
+msgstr "un identificador entre comillas está inconcluso"
 
-#: tcop/fastpath.c:309
-#, c-format
-msgid "fastpath function call: \"%s\" (OID %u)"
-msgstr "llamada a función fastpath: «%s» (OID %u)"
+#: scan.l:900
+msgid "operator too long"
+msgstr "el operador es demasiado largo"
 
-#: tcop/fastpath.c:391 tcop/postgres.c:1133 tcop/postgres.c:1398
-#: tcop/postgres.c:1777 tcop/postgres.c:1994
+#. translator: %s is typically the translation of "syntax error"
+#: scan.l:1058
 #, c-format
-msgid "duration: %s ms"
-msgstr "duración: %s ms"
+msgid "%s at end of input"
+msgstr "%s al final de la entrada"
 
-#: tcop/fastpath.c:395
+#. translator: first %s is typically the translation of "syntax error"
+#: scan.l:1066
 #, 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 "%s at or near \"%s\""
+msgstr "%s en o cerca de «%s»"
 
-#: tcop/fastpath.c:431 tcop/fastpath.c:558
-#, 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"
+#: scan.l:1227 scan.l:1259
+msgid "Unicode escape values cannot be used for code point values above 007F when the server encoding is not UTF8"
+msgstr "Los valores de escape Unicode no puede ser usados para valores de «code point» sobre 007F cuando la codificación de servidor no es UTF8"
 
-#: tcop/fastpath.c:439
-#, 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"
+#: scan.l:1255 scan.l:1398
+msgid "invalid Unicode escape value"
+msgstr "valor de escape Unicode no válido"
 
-#: tcop/fastpath.c:526 tcop/fastpath.c:609
+#: scan.l:1462
 #, 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 "nonstandard use of \\' in a string literal"
+msgstr "uso no estandar de \\' en un literal de cadena"
 
-#: tcop/postgres.c:347 tcop/postgres.c:383 tcop/postgres.c:410
+#: scan.l:1463
 #, c-format
-msgid "unexpected EOF on client connection"
-msgstr "se encontró fin de archivo inesperado en la conexión del cliente"
+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'...')."
 
-#: tcop/postgres.c:433 tcop/postgres.c:445 tcop/postgres.c:456
-#: tcop/postgres.c:468 tcop/postgres.c:4324
+#: scan.l:1472
 #, c-format
-msgid "invalid frontend message type %d"
-msgstr "el tipo de mensaje de frontend %d no es válido"
+msgid "nonstandard use of \\\\ in a string literal"
+msgstr "uso no estandar de \\\\ en un literal de cadena"
 
-#: tcop/postgres.c:904
+#: scan.l:1473
 #, c-format
-msgid "statement: %s"
-msgstr "sentencia: %s"
+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'\\\\')."
 
-#: tcop/postgres.c:1138
+#: scan.l:1487
 #, c-format
-msgid "duration: %s ms  statement: %s"
-msgstr "duración: %s ms  sentencia: %s"
+msgid "nonstandard use of escape in a string literal"
+msgstr "uso no estandar de escape en un literal de cadena"
 
-#: tcop/postgres.c:1188
+#: scan.l:1488
 #, c-format
-msgid "parse %s: %s"
-msgstr "parse %s: %s"
+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'."
 
-#: tcop/postgres.c:1246
+#: snowball/dict_snowball.c:180
 #, c-format
-msgid "cannot insert multiple commands into a prepared statement"
-msgstr "no se pueden insertar múltiples órdenes en una sentencia preparada"
+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»"
 
-#: tcop/postgres.c:1403
+#: snowball/dict_snowball.c:203 tsearch/dict_ispell.c:73
+#: tsearch/dict_simple.c:48
 #, c-format
-msgid "duration: %s ms  parse %s: %s"
-msgstr "duración: %s ms  parse: %s: %s"
+msgid "multiple StopWords parameters"
+msgstr "parámetro StopWords duplicado"
 
-#: tcop/postgres.c:1448
+#: snowball/dict_snowball.c:212
 #, c-format
-msgid "bind %s to %s"
-msgstr "bind %s a %s"
+msgid "multiple Language parameters"
+msgstr "parámetro Language duplicado"
 
-#: tcop/postgres.c:1467 tcop/postgres.c:2284
+#: snowball/dict_snowball.c:219
 #, c-format
-msgid "unnamed prepared statement does not exist"
-msgstr "no existe una sentencia preparada sin nombre"
+msgid "unrecognized Snowball parameter: \"%s\""
+msgstr "parámetro Snowball no reconocido: «%s»"
 
-#: tcop/postgres.c:1509
+#: snowball/dict_snowball.c:227
 #, 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 "missing Language parameter"
+msgstr "falta un parámetro Language"
 
-#: tcop/postgres.c:1515
+#: storage/buffer/bufmgr.c:139 storage/buffer/bufmgr.c:252
 #, 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 "cannot access temporary tables of other sessions"
+msgstr "no se pueden acceder tablas temporales de otras sesiones"
 
-#: tcop/postgres.c:1684
+#: storage/buffer/bufmgr.c:401
 #, 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 "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"
 
-#: tcop/postgres.c:1782
+#: storage/buffer/bufmgr.c:403
 #, c-format
-msgid "duration: %s ms  bind %s%s%s: %s"
-msgstr "duración: %s ms  bind %s%s%s: %s"
+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."
 
-#: tcop/postgres.c:1830 tcop/postgres.c:2364
+#: storage/buffer/bufmgr.c:493
 #, c-format
-msgid "portal \"%s\" does not exist"
-msgstr "no existe el portal «%s»"
+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"
 
-#: tcop/postgres.c:1915
+#: storage/buffer/bufmgr.c:3219
 #, c-format
-msgid "%s %s%s%s: %s"
-msgstr "%s %s%s%s: %s"
-
-#: tcop/postgres.c:1917 tcop/postgres.c:2002
-msgid "execute fetch from"
-msgstr "ejecutar fetch desde"
-
-#: tcop/postgres.c:1918 tcop/postgres.c:2003
-msgid "execute"
-msgstr "ejecutar"
+msgid "could not write block %u of %s"
+msgstr "no se pudo escribir el bloque %u de %s"
 
-#: tcop/postgres.c:1999
+#: storage/buffer/bufmgr.c:3221
 #, c-format
-msgid "duration: %s ms  %s %s%s%s: %s"
-msgstr "duración: %s ms  %s %s%s%s: %s"
+msgid "Multiple failures --- write error might be permanent."
+msgstr "Múltiples fallas --- el error de escritura puede ser permanente."
 
-#: tcop/postgres.c:2125
+#: storage/buffer/bufmgr.c:3242 storage/buffer/bufmgr.c:3261
 #, c-format
-msgid "prepare: %s"
-msgstr "prepare: %s"
+msgid "writing block %u of relation %s"
+msgstr "escribiendo el bloque %u de la relación %s"
 
-#: tcop/postgres.c:2188
+#: storage/buffer/localbuf.c:189
 #, c-format
-msgid "parameters: %s"
-msgstr "parámetros: %s"
+msgid "no empty local buffer available"
+msgstr "no hay ningún búfer local disponible"
 
-#: tcop/postgres.c:2207
+#: storage/file/fd.c:548
 #, c-format
-msgid "abort reason: recovery conflict"
-msgstr "razón para abortar: conflicto en la recuperación"
+msgid "could not link file \"%s\" to \"%s\": %m"
+msgstr "no se pudo enlazar (link) el archivo «%s» a «%s»: %m"
 
-#: tcop/postgres.c:2223
+#: storage/file/fd.c:642
 #, 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 "getrlimit failed: %m"
+msgstr "getrlimit falló: %m"
 
-#: tcop/postgres.c:2226
+#: storage/file/fd.c:732
 #, c-format
-msgid "User was holding a relation lock for too long."
-msgstr "El usuario mantuvo una relación bloqueada por demasiado tiempo."
+msgid "insufficient file descriptors available to start server process"
+msgstr "los descriptores de archivo disponibles son insuficientes para iniciar un proceso servidor"
 
-#: tcop/postgres.c:2229
+#: storage/file/fd.c:733
 #, 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 "System allows %d, we need at least %d."
+msgstr "El sistema permite %d, se requieren al menos %d."
 
-#: tcop/postgres.c:2232
+#: storage/file/fd.c:774 storage/file/fd.c:1892 storage/file/fd.c:1985
+#: storage/file/fd.c:2137
 #, 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 "out of file descriptors: %m; release and retry"
+msgstr "se agotaron los descriptores de archivo: %m; libere e intente nuevamente"
 
-#: tcop/postgres.c:2238
+#: storage/file/fd.c:1393
 #, 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 "temporary file: path \"%s\", size %lu"
+msgstr "archivo temporal: ruta «%s», tamaño %lu"
 
-#: tcop/postgres.c:2567
+#: storage/file/fd.c:1565
 #, 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 "temporary file size exceeds temp_file_limit (%dkB)"
+msgstr "el tamaño del archivo temporal excede temp_file_limit permitido (%dkB)"
 
-#: tcop/postgres.c:2568
+#: storage/file/fd.c:1868 storage/file/fd.c:1918
 #, 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 "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\""
+msgstr "se excedió maxAllocatedDescs (%d) mientras se trataba de abrir el archivo «%s»"
 
-#: tcop/postgres.c:2572 tcop/postgres.c:2905
+#: storage/file/fd.c:1958
 #, 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 "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\""
+msgstr "se excedió maxAllocatedDescs (%d) mientras se trataba de ejecutar la orden «%s»"
 
-#: tcop/postgres.c:2665
+#: storage/file/fd.c:2113
 #, c-format
-msgid "floating-point exception"
-msgstr "excepción de coma flotante"
+msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\""
+msgstr "se excedió maxAllocatedDescs (%d) mientras se trataba de abrir el directorio «%s»"
 
-#: tcop/postgres.c:2666
+#: storage/file/fd.c:2204
 #, 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 "could not read directory \"%s\": %m"
+msgstr "no se pudo leer el directorio «%s»: %m"
 
-#: tcop/postgres.c:2848
+#: storage/ipc/dsm.c:363
 #, c-format
-msgid "terminating autovacuum process due to administrator command"
-msgstr "terminando el proceso autovacuum debido a una orden del administrador"
+msgid "dynamic shared memory control segment is corrupt"
+msgstr "el segmento de control de memoria compartida dinámica está corrupto"
 
-#: tcop/postgres.c:2854 tcop/postgres.c:2864 tcop/postgres.c:2903
+#: storage/ipc/dsm.c:410
 #, c-format
-msgid "terminating connection due to conflict with recovery"
-msgstr "terminando la conexión debido a un conflicto con la recuperación"
+msgid "dynamic shared memory is disabled"
+msgstr "la memoria compartida dinámica está deshabilitada"
 
-#: tcop/postgres.c:2870
+#: storage/ipc/dsm.c:411
 #, c-format
-msgid "terminating connection due to administrator command"
-msgstr "terminando la conexión debido a una orden del administrador"
+msgid "Set dynamic_shared_memory_type to a value other than \"none\"."
+msgstr "Defina dynamic_shared_memory_type a un valor distinto de «none»."
 
-#: tcop/postgres.c:2883
+#: storage/ipc/dsm.c:431
 #, c-format
-msgid "connection to client lost"
-msgstr "se ha perdido la conexión al cliente"
+msgid "dynamic shared memory control segment is not valid"
+msgstr "el segmento de control de memoria compartida dinámica no es válido"
 
-#: tcop/postgres.c:2942
+#: storage/ipc/dsm.c:501
 #, c-format
-msgid "canceling authentication due to timeout"
-msgstr "cancelando la autentificación debido a que se agotó el tiempo de espera"
+msgid "too many dynamic shared memory segments"
+msgstr "demasiados segmentos de memoria compartida dinámica"
 
-#: tcop/postgres.c:2970
+#: storage/ipc/dsm_impl.c:263 storage/ipc/dsm_impl.c:372
+#: storage/ipc/dsm_impl.c:593 storage/ipc/dsm_impl.c:708
+#: storage/ipc/dsm_impl.c:879 storage/ipc/dsm_impl.c:1021
 #, 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 "could not unmap shared memory segment \"%s\": %m"
+msgstr "no se pudo desmapear el segmento de memoria compartida «%s»: %m"
 
-#: tcop/postgres.c:2980
+#: storage/ipc/dsm_impl.c:273 storage/ipc/dsm_impl.c:603
+#: storage/ipc/dsm_impl.c:718 storage/ipc/dsm_impl.c:889
 #, 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 "could not remove shared memory segment \"%s\": %m"
+msgstr "no se pudo eliminar el segmento de memoria compartida «%s»: %m"
 
-#: tcop/postgres.c:2990
+#: storage/ipc/dsm_impl.c:294 storage/ipc/dsm_impl.c:789
+#: storage/ipc/dsm_impl.c:903
 #, c-format
-msgid "canceling autovacuum task"
-msgstr "cancelando tarea de autovacuum"
+msgid "could not open shared memory segment \"%s\": %m"
+msgstr "no se pudo abrir el segmento de memoria compartida «%s»: %m"
 
-#: tcop/postgres.c:3019
+#: storage/ipc/dsm_impl.c:318 storage/ipc/dsm_impl.c:619
+#: storage/ipc/dsm_impl.c:834 storage/ipc/dsm_impl.c:927
 #, c-format
-msgid "canceling statement due to user request"
-msgstr "cancelando la sentencia debido a una petición del usuario"
+msgid "could not stat shared memory segment \"%s\": %m"
+msgstr "no se pudo hacer stat del segmento de memoria compartida «%s»: %m"
 
-#: tcop/postgres.c:3127
+#: storage/ipc/dsm_impl.c:346 storage/ipc/dsm_impl.c:946
+#: storage/ipc/dsm_impl.c:994
 #, c-format
-msgid "stack depth limit exceeded"
-msgstr "límite de profundidad de stack alcanzado"
+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:3128
+#: storage/ipc/dsm_impl.c:396 storage/ipc/dsm_impl.c:640
+#: storage/ipc/dsm_impl.c:810 storage/ipc/dsm_impl.c:1045
 #, 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 "could not map shared memory segment \"%s\": %m"
+msgstr "no se pudo mapear el segmento de memoria compartida «%s»: %m"
 
-#: tcop/postgres.c:3191
+#: storage/ipc/dsm_impl.c:575
 #, c-format
-msgid "\"max_stack_depth\" must not exceed %ldkB."
-msgstr "«max_stack_depth» no debe exceder %ldkB."
+msgid "could not get shared memory segment: %m"
+msgstr "no se pudo obtener el segmento de memoria compartida: %m"
 
-#: tcop/postgres.c:3193
+#: storage/ipc/dsm_impl.c:774
 #, 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 "could not create shared memory segment \"%s\": %m"
+msgstr "no se pudo crear el segmento de memoria compartida «%s»: %m"
 
-#: tcop/postgres.c:3557
+#: storage/ipc/dsm_impl.c:1086
 #, 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 "could not duplicate handle for \"%s\": %m"
+msgstr "no se pudo duplicar el «handle» para «%s»: %m"
 
-#: tcop/postgres.c:3558 tcop/postgres.c:3564
+#: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:189 storage/ipc/shmem.c:205
+#: storage/lmgr/lock.c:892 storage/lmgr/lock.c:930 storage/lmgr/lock.c:2652
+#: storage/lmgr/lock.c:3768 storage/lmgr/lock.c:3833 storage/lmgr/lock.c:4123
+#: storage/lmgr/predicate.c:2338 storage/lmgr/predicate.c:2353
+#: storage/lmgr/predicate.c:3745 storage/lmgr/predicate.c:4888
+#: storage/lmgr/proc.c:198 utils/hash/dynahash.c:966
 #, c-format
-msgid "Try \"%s --help\" for more information."
-msgstr "Pruebe «%s --help» para mayor información."
+msgid "out of shared memory"
+msgstr "memoria compartida agotada"
 
-#: tcop/postgres.c:3562
+#: storage/ipc/shmem.c:361 storage/ipc/shmem.c:412
 #, c-format
-msgid "%s: invalid command-line argument: %s"
-msgstr "%s: argumento de línea de órdenes no válido: %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:3641
+#: storage/ipc/shmem.c:380
 #, c-format
-msgid "%s: no database nor user name specified"
-msgstr "%s: no se ha especificado base de datos ni usuario"
+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:4232
+#: storage/ipc/shmem.c:395
 #, c-format
-msgid "invalid CLOSE message subtype %d"
-msgstr "subtipo %d de mensaje CLOSE no válido"
+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:4267
+#: storage/ipc/shmem.c:440 storage/ipc/shmem.c:459
 #, c-format
-msgid "invalid DESCRIBE message subtype %d"
-msgstr "subtipo %d de mensaje DESCRIBE no válido"
+msgid "requested shared memory size overflows size_t"
+msgstr "la petición de tamaño de memoria compartida desborda size_t"
 
-#: tcop/postgres.c:4345
+#: storage/ipc/standby.c:529 tcop/postgres.c:3008
 #, 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 "canceling statement due to conflict with recovery"
+msgstr "cancelando la sentencia debido a un conflicto con la recuperación"
 
-#: tcop/postgres.c:4349
+#: storage/ipc/standby.c:530 tcop/postgres.c:2235
 #, 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 "User transaction caused buffer deadlock with recovery."
+msgstr "La transacción del usuario causó un «deadlock» con la recuperación."
 
-#: tcop/postgres.c:4519
+#: storage/large_object/inv_api.c:203
 #, 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 "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/pquery.c:662
+#: storage/large_object/inv_api.c:284
 #, 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 "invalid flags for opening a large object: %d"
+msgstr "opciones no válidas para abrir un objeto grande: %d"
 
-#: tcop/pquery.c:968
+#: storage/large_object/inv_api.c:436
 #, c-format
-msgid "cursor can only scan forward"
-msgstr "el cursor sólo se puede desplazar hacia adelante"
+msgid "invalid whence setting: %d"
+msgstr "parámetro «whence» no válido: %d"
 
-#: tcop/pquery.c:969
+#: storage/large_object/inv_api.c:591
 #, c-format
-msgid "Declare it with SCROLL option to enable backward scan."
-msgstr "Declárelo con SCROLL para permitirle desplazar hacia atrás."
+msgid "invalid large object write request size: %d"
+msgstr "tamaño de petición de escritura de objeto grande no válido: %d"
 
-#. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:227
+#: storage/lmgr/deadlock.c:925
 #, 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 "Process %d waits for %s on %s; blocked by process %d."
+msgstr "El proceso %d espera %s en %s; bloqueado por proceso %d."
 
-#. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:246
+#: storage/lmgr/deadlock.c:944
 #, c-format
-msgid "cannot execute %s during recovery"
-msgstr "no se puede ejecutar %s durante la recuperación"
+msgid "Process %d: %s"
+msgstr "Proceso %d: %s"
 
-#. translator: %s is name of a SQL command, eg PREPARE
-#: tcop/utility.c:264
+#: storage/lmgr/deadlock.c:953
 #, c-format
-msgid "cannot execute %s within security-restricted operation"
-msgstr "no se puede ejecutar %s durante una operación restringida por seguridad"
+msgid "deadlock detected"
+msgstr "se ha detectado un deadlock"
 
-#: tcop/utility.c:728
+#: storage/lmgr/deadlock.c:956
 #, c-format
-msgid "must be superuser to do CHECKPOINT"
-msgstr "debe ser superusuario para ejecutar CHECKPOINT"
+msgid "See server log for query details."
+msgstr "Vea el registro del servidor para obtener detalles de las consultas."
 
-#: tsearch/dict_ispell.c:51 tsearch/dict_thesaurus.c:623
+#: storage/lmgr/lmgr.c:647
 #, c-format
-msgid "multiple DictFile parameters"
-msgstr "parámetro DictFile duplicado"
+msgid "while updating tuple (%u,%u) in relation \"%s\""
+msgstr "mientras se actualizaba la tupla (%u,%u) en la relación «%s»"
 
-#: tsearch/dict_ispell.c:62
+#: storage/lmgr/lmgr.c:650
 #, c-format
-msgid "multiple AffFile parameters"
-msgstr "parámetro AffFile duplicado"
+msgid "while deleting tuple (%u,%u) in relation \"%s\""
+msgstr "mientras se borraba la tupla (%u,%u) en la relación «%s»"
 
-#: tsearch/dict_ispell.c:81
+#: storage/lmgr/lmgr.c:653
 #, c-format
-msgid "unrecognized Ispell parameter: \"%s\""
-msgstr "parámetro Ispell no reconocido: «%s»"
+msgid "while locking tuple (%u,%u) in relation \"%s\""
+msgstr "mientras se bloqueaba la tupla (%u,%u) de la relación «%s»"
 
-#: tsearch/dict_ispell.c:95
+#: storage/lmgr/lmgr.c:656
 #, c-format
-msgid "missing AffFile parameter"
-msgstr "falta un parámetro AffFile"
+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»"
 
-#: tsearch/dict_ispell.c:101 tsearch/dict_thesaurus.c:647
+#: storage/lmgr/lmgr.c:659
 #, c-format
-msgid "missing DictFile parameter"
-msgstr "falta un parámetro DictFile"
+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»"
 
-#: tsearch/dict_simple.c:57
+#: storage/lmgr/lmgr.c:662
 #, c-format
-msgid "multiple Accept parameters"
-msgstr "parámetro Accept duplicado"
+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»"
 
-#: tsearch/dict_simple.c:65
+#: storage/lmgr/lmgr.c:665
 #, c-format
-msgid "unrecognized simple dictionary parameter: \"%s\""
-msgstr "parámetro del diccionario simple no reconocido: «%s»"
+msgid "while rechecking updated tuple (%u,%u) in relation \"%s\""
+msgstr "mientras se verificaba la tupla actualizada (%u,%u) en la relación «%s»"
 
-#: tsearch/dict_synonym.c:117
+#: storage/lmgr/lmgr.c:668
 #, c-format
-msgid "unrecognized synonym parameter: \"%s\""
-msgstr "parámetro de sinónimo no reconocido «%s»"
+msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\""
+msgstr "mientras se verificaba una restricción por exclusión en la tupla (%u,%u) en la relación «%s»"
 
-#: tsearch/dict_synonym.c:124
+#: storage/lmgr/lmgr.c:888
 #, c-format
-msgid "missing Synonyms parameter"
-msgstr "falta un parámetro Synonyms"
+msgid "relation %u of database %u"
+msgstr "relación %u de la base de datos %u"
 
-#: tsearch/dict_synonym.c:131
+#: storage/lmgr/lmgr.c:894
 #, c-format
-msgid "could not open synonym file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de sinónimos «%s»: %m"
+msgid "extension of relation %u of database %u"
+msgstr "extensión de la relación %u de la base de datos %u"
 
-#: tsearch/dict_thesaurus.c:178
+#: storage/lmgr/lmgr.c:900
 #, c-format
-msgid "could not open thesaurus file \"%s\": %m"
-msgstr "no se pudo abrir el archivo del tesauro «%s»: %m"
+msgid "page %u of relation %u of database %u"
+msgstr "página %u de la relación %u de la base de datos %u"
 
-#: tsearch/dict_thesaurus.c:211
+#: storage/lmgr/lmgr.c:907
 #, c-format
-msgid "unexpected delimiter"
-msgstr "delimitador inesperado"
+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"
 
-#: tsearch/dict_thesaurus.c:261 tsearch/dict_thesaurus.c:277
+#: storage/lmgr/lmgr.c:915
 #, c-format
-msgid "unexpected end of line or lexeme"
-msgstr "fin de línea o lexema inesperado"
+msgid "transaction %u"
+msgstr "transacción %u"
 
-#: tsearch/dict_thesaurus.c:286
+#: storage/lmgr/lmgr.c:920
 #, c-format
-msgid "unexpected end of line"
-msgstr "fin de línea inesperado"
+msgid "virtual transaction %d/%u"
+msgstr "transacción virtual %d/%u"
 
-#: tsearch/dict_thesaurus.c:296
+#: storage/lmgr/lmgr.c:926
 #, c-format
-msgid "too many lexemes in thesaurus entry"
-msgstr "demasiados lexemas en la entrada del tesauro"
+msgid "object %u of class %u of database %u"
+msgstr "objeto %u de clase %u de la base de datos %u"
 
-#: tsearch/dict_thesaurus.c:420
+#: storage/lmgr/lmgr.c:934
 #, 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 "user lock [%u,%u,%u]"
+msgstr "candado de usuario [%u,%u,%u]"
 
-# XXX -- stopword?
-#: tsearch/dict_thesaurus.c:426
+# XXX is this a good translation?
+#: storage/lmgr/lmgr.c:941
 #, 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 "advisory lock [%u,%u,%u,%u]"
+msgstr "candado consultivo [%u,%u,%u,%u]"
 
-# XXX -- stopword?
-#: tsearch/dict_thesaurus.c:429
+#: storage/lmgr/lmgr.c:949
 #, c-format
-msgid "Use \"?\" to represent a stop word within a sample phrase."
-msgstr "Use «?» para representar una stopword en una frase muestra."
+msgid "unrecognized locktag type %d"
+msgstr "tipo de locktag %d no reconocido"
 
-# XXX -- stopword?
-#: tsearch/dict_thesaurus.c:575
+#: storage/lmgr/lock.c:727
 #, 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 "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"
 
-#: tsearch/dict_thesaurus.c:582
+#: storage/lmgr/lock.c:729
 #, 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 "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."
 
-#: tsearch/dict_thesaurus.c:594
+#: storage/lmgr/lock.c:893 storage/lmgr/lock.c:931 storage/lmgr/lock.c:2653
+#: storage/lmgr/lock.c:3769 storage/lmgr/lock.c:3834 storage/lmgr/lock.c:4124
 #, c-format
-msgid "thesaurus substitute phrase is empty (rule %d)"
-msgstr "la frase sustituta del tesauro está vacía (regla %d)"
+msgid "You might need to increase max_locks_per_transaction."
+msgstr "Puede ser necesario incrementar max_locks_per_transaction."
 
-#: tsearch/dict_thesaurus.c:632
+#: storage/lmgr/lock.c:3094 storage/lmgr/lock.c:3206
 #, c-format
-msgid "multiple Dictionary parameters"
-msgstr "parámetro Dictionary duplicado"
+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"
 
-#: tsearch/dict_thesaurus.c:639
+#: storage/lmgr/predicate.c:676
 #, c-format
-msgid "unrecognized Thesaurus parameter: \"%s\""
-msgstr "parámetro no reconocido de tesauro: «%s»"
+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"
 
-#: tsearch/dict_thesaurus.c:651
+#: storage/lmgr/predicate.c:677 storage/lmgr/predicate.c:705
 #, c-format
-msgid "missing Dictionary parameter"
-msgstr "falta un paramétro Dictionary"
+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."
 
-#: tsearch/spell.c:289
+#: storage/lmgr/predicate.c:704
 #, c-format
-msgid "could not open dictionary file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de diccionario «%s»: %m"
+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"
 
-#: tsearch/spell.c:452 utils/adt/regexp.c:204
+#: storage/lmgr/predicate.c:910
 #, c-format
-msgid "invalid regular expression: %s"
-msgstr "la expresión regular no es válida: %s"
+msgid "memory for serializable conflict tracking is nearly exhausted"
+msgstr "la memoria para el seguimiento de conflictos de serialización está casi agotada"
 
-#: tsearch/spell.c:667 tsearch/spell.c:684 tsearch/spell.c:701
-#: tsearch/spell.c:718 tsearch/spell.c:740 gram.y:13431 gram.y:13448
+#: storage/lmgr/predicate.c:911
 #, c-format
-msgid "syntax error"
-msgstr "error de sintaxis"
+msgid "There might be an idle transaction or a forgotten prepared transaction causing this."
+msgstr "Puede haber una transacción inactiva o una transacción preparada olvidada que esté causando este problema."
 
-#: tsearch/spell.c:745
+#: storage/lmgr/predicate.c:1207 storage/lmgr/predicate.c:1280
 #, c-format
-msgid "multibyte flag character is not allowed"
-msgstr "los caracteres bandera multibyte no están permitidos"
+msgid "not enough shared memory for elements of data structure \"%s\" (%zu bytes requested)"
+msgstr "el espacio de memoria compartida es insuficiente para los elementos de la estructura «%s» (%zu bytes solicitados)"
 
-#: tsearch/spell.c:779 tsearch/spell.c:835 tsearch/spell.c:937
+#: storage/lmgr/predicate.c:1565
 #, c-format
-msgid "could not open affix file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de afijos «%s»: %m"
+msgid "deferrable snapshot was unsafe; trying a new one"
+msgstr "la instantánea postergada era insegura; intentando con una nueva"
 
-#: tsearch/spell.c:825
+#: storage/lmgr/predicate.c:1604
 #, c-format
-msgid "Ispell dictionary supports only default flag value"
-msgstr "el diccionario Ispell sólo permite el valor de bandera «default»"
+msgid "\"default_transaction_isolation\" is set to \"serializable\"."
+msgstr "«default_transaction_isolation» está definido a «serializable»."
 
-#: tsearch/spell.c:1050
+#: storage/lmgr/predicate.c:1605
 #, 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 "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."
 
-#: tsearch/to_tsany.c:163 utils/adt/tsvector.c:270 utils/adt/tsvector_op.c:530
+#: storage/lmgr/predicate.c:1644
 #, 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 "a snapshot-importing transaction must not be READ ONLY DEFERRABLE"
+msgstr "una transacción que importa un snapshot no debe ser READ ONLY DEFERRABLE"
 
-#: tsearch/ts_locale.c:177
+#: storage/lmgr/predicate.c:1714 utils/time/snapmgr.c:438
 #, c-format
-msgid "line %d of configuration file \"%s\": \"%s\""
-msgstr "línea %d del archivo de configuración «%s»: «%s»"
+msgid "could not import the requested snapshot"
+msgstr "no se pudo importar el snapshot solicitado"
 
-#: tsearch/ts_locale.c:299
+#: storage/lmgr/predicate.c:1715 utils/time/snapmgr.c:439
 #, 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 "The source transaction %u is not running anymore."
+msgstr "La transacción de origen %u ya no está en ejecución."
 
-#: tsearch/ts_parse.c:390 tsearch/ts_parse.c:397 tsearch/ts_parse.c:560
-#: tsearch/ts_parse.c:567
+#: storage/lmgr/predicate.c:2339 storage/lmgr/predicate.c:2354
+#: storage/lmgr/predicate.c:3746
 #, c-format
-msgid "word is too long to be indexed"
-msgstr "la palabra es demasiado larga para ser indexada"
+msgid "You might need to increase max_pred_locks_per_transaction."
+msgstr "Puede ser necesario incrementar max_pred_locks_per_transaction."
 
-#: tsearch/ts_parse.c:391 tsearch/ts_parse.c:398 tsearch/ts_parse.c:561
-#: tsearch/ts_parse.c:568
+#: storage/lmgr/predicate.c:3900 storage/lmgr/predicate.c:3989
+#: storage/lmgr/predicate.c:3997 storage/lmgr/predicate.c:4036
+#: storage/lmgr/predicate.c:4275 storage/lmgr/predicate.c:4612
+#: storage/lmgr/predicate.c:4624 storage/lmgr/predicate.c:4666
+#: storage/lmgr/predicate.c:4704
 #, c-format
-msgid "Words longer than %d characters are ignored."
-msgstr "Las palabras más largas que %d caracteres son ignoradas."
+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"
 
-#: tsearch/ts_utils.c:51
+#: storage/lmgr/predicate.c:3902 storage/lmgr/predicate.c:3991
+#: storage/lmgr/predicate.c:3999 storage/lmgr/predicate.c:4038
+#: storage/lmgr/predicate.c:4277 storage/lmgr/predicate.c:4614
+#: storage/lmgr/predicate.c:4626 storage/lmgr/predicate.c:4668
+#: storage/lmgr/predicate.c:4706
 #, 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 "The transaction might succeed if retried."
+msgstr "La transacción podría tener éxito si es reintentada."
 
-#: tsearch/ts_utils.c:83
+#: storage/lmgr/proc.c:1179
 #, c-format
-msgid "could not open stop-word file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de stopwords «%s»: %m"
+msgid "Process %d waits for %s on %s."
+msgstr "El proceso %d espera %s en %s."
 
-#: tsearch/wparser.c:306
+#: storage/lmgr/proc.c:1190
 #, 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 "sending cancel to blocking autovacuum PID %d"
+msgstr "enviando señal de cancelación a la tarea autovacuum bloqueante con PID %d"
 
-#: tsearch/wparser_def.c:2557
+#: storage/lmgr/proc.c:1208 utils/adt/misc.c:136
 #, c-format
-msgid "unrecognized headline parameter: \"%s\""
-msgstr "parámetro de encabezado (headline) no reconocido: «%s»"
+msgid "could not send signal to process %d: %m"
+msgstr "no se pudo enviar la señal al proceso %d: %m"
 
-#: tsearch/wparser_def.c:2566
+#: storage/lmgr/proc.c:1310
 #, c-format
-msgid "MinWords should be less than MaxWords"
-msgstr "MinWords debería ser menor que MaxWords"
+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/wparser_def.c:2570
+#: storage/lmgr/proc.c:1325
 #, c-format
-msgid "MinWords should be positive"
-msgstr "MinWords debería ser positivo"
+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/wparser_def.c:2574
+#: storage/lmgr/proc.c:1334
 #, c-format
-msgid "ShortWord should be >= 0"
-msgstr "ShortWord debería ser >= 0"
+msgid "process %d still waiting for %s on %s after %ld.%03d ms"
+msgstr "el proceso %d está aún espera %s en %s después de %ld.%03d ms"
 
-#: tsearch/wparser_def.c:2578
+#: storage/lmgr/proc.c:1341
 #, c-format
-msgid "MaxFragments should be >= 0"
-msgstr "MaxFragments debería ser >= 0"
+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"
 
-#: utils/adt/acl.c:170 utils/adt/name.c:91
+#: storage/lmgr/proc.c:1357
 #, c-format
-msgid "identifier too long"
-msgstr "el identificador es demasiado largo"
+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"
 
-#: utils/adt/acl.c:171 utils/adt/name.c:92
+#: storage/page/bufpage.c:144
 #, c-format
-msgid "Identifier must be less than %d characters."
-msgstr "El identificador debe ser menor a %d caracteres."
+msgid "page verification failed, calculated checksum %u but expected %u"
+msgstr "la suma de verificación falló, se calculó %u pero se esperaba %u"
 
-#: utils/adt/acl.c:257
+#: storage/page/bufpage.c:200 storage/page/bufpage.c:459
+#: storage/page/bufpage.c:691 storage/page/bufpage.c:823
 #, c-format
-msgid "unrecognized key word: \"%s\""
-msgstr "palabra clave no reconocida: «%s»"
+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"
 
-#: utils/adt/acl.c:258
+#: storage/page/bufpage.c:503
 #, c-format
-msgid "ACL key word must be \"group\" or \"user\"."
-msgstr "Palabra clave de ACL debe ser «group» o «user»."
+msgid "corrupted item pointer: %u"
+msgstr "el puntero de item está corrupto: %u"
 
-#: utils/adt/acl.c:263
+#: storage/page/bufpage.c:514 storage/page/bufpage.c:874
 #, c-format
-msgid "missing name"
-msgstr "falta un nombre"
+msgid "corrupted item lengths: total %u, available space %u"
+msgstr "los largos de ítem están corruptos: total %u, espacio disponible %u"
 
-#: utils/adt/acl.c:264
+#: storage/page/bufpage.c:710 storage/page/bufpage.c:847
 #, 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 "corrupted item pointer: offset = %u, size = %u"
+msgstr "el puntero de ítem está corrupto: posición = %u, tamaño = %u"
 
-#: utils/adt/acl.c:270
+#: storage/smgr/md.c:427 storage/smgr/md.c:898
 #, c-format
-msgid "missing \"=\" sign"
-msgstr "falta un signo «=»"
+msgid "could not truncate file \"%s\": %m"
+msgstr "no se pudo truncar el archivo «%s»: %m"
 
-#: utils/adt/acl.c:323
+#: storage/smgr/md.c:494
 #, 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 "cannot extend file \"%s\" beyond %u blocks"
+msgstr "no se pudo extender el archivo «%s» más allá de %u bloques"
 
-#: utils/adt/acl.c:345
+#: storage/smgr/md.c:516 storage/smgr/md.c:677 storage/smgr/md.c:752
 #, c-format
-msgid "a name must follow the \"/\" sign"
-msgstr "debe venir un nombre después del signo «/»"
+msgid "could not seek to block %u in file \"%s\": %m"
+msgstr "no se pudo posicionar (seek) al bloque %u en el archivo «%s»: %m"
 
-#: utils/adt/acl.c:353
+#: storage/smgr/md.c:524
 #, c-format
-msgid "defaulting grantor to user ID %u"
-msgstr "usando el cedente por omisión con ID %u"
+msgid "could not extend file \"%s\": %m"
+msgstr "no se pudo extender el archivo «%s»: %m"
 
-#: utils/adt/acl.c:544
+#: storage/smgr/md.c:526 storage/smgr/md.c:533 storage/smgr/md.c:779
 #, c-format
-msgid "ACL array contains wrong data type"
-msgstr "el array ACL contiene tipo de datos incorrecto"
+msgid "Check free disk space."
+msgstr "Verifique el espacio libre en disco."
 
-#: utils/adt/acl.c:548
+#: storage/smgr/md.c:530
 #, c-format
-msgid "ACL arrays must be one-dimensional"
-msgstr "los array de ACL debe ser unidimensional"
+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"
 
-#: utils/adt/acl.c:552
+#: storage/smgr/md.c:695
 #, c-format
-msgid "ACL arrays must not contain null values"
-msgstr "los arrays de ACL no pueden contener valores nulos"
+msgid "could not read block %u in file \"%s\": %m"
+msgstr "no se pudo leer el bloque %u del archivo «%s»: %m"
 
-#: utils/adt/acl.c:576
+#: storage/smgr/md.c:711
 #, 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 "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"
 
-#: utils/adt/acl.c:1196
+#: storage/smgr/md.c:770
 #, 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 "could not write block %u in file \"%s\": %m"
+msgstr "no se pudo escribir el bloque %u en el archivo «%s»: %m"
 
-#: utils/adt/acl.c:1257
+#: storage/smgr/md.c:775
 #, c-format
-msgid "dependent privileges exist"
-msgstr "existen privilegios dependientes"
+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"
 
-#: utils/adt/acl.c:1258
+#: storage/smgr/md.c:874
 #, c-format
-msgid "Use CASCADE to revoke them too."
-msgstr "Use CASCADE para revocarlos también."
+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"
 
-#: utils/adt/acl.c:1537
+#: storage/smgr/md.c:924
 #, c-format
-msgid "aclinsert is no longer supported"
-msgstr "aclinsert ya no está soportado"
+msgid "could not truncate file \"%s\" to %u blocks: %m"
+msgstr "no se pudo truncar el archivo «%s» a %u bloques: %m"
 
-#: utils/adt/acl.c:1547
+#: storage/smgr/md.c:1217
 #, c-format
-msgid "aclremove is no longer supported"
-msgstr "aclremove ya no está soportado"
+msgid "could not fsync file \"%s\" but retrying: %m"
+msgstr "no se pudo sincronizar (fsync) archivo «%s» pero reintentando: %m"
 
-#: utils/adt/acl.c:1633 utils/adt/acl.c:1687
+#: storage/smgr/md.c:1380
 #, c-format
-msgid "unrecognized privilege type: \"%s\""
-msgstr "tipo de privilegio no reconocido: «%s»"
+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"
 
-#: utils/adt/acl.c:3427 utils/adt/regproc.c:123 utils/adt/regproc.c:144
-#: utils/adt/regproc.c:319
+#: storage/smgr/md.c:1806
 #, c-format
-msgid "function \"%s\" does not exist"
-msgstr "no existe la función «%s»"
+msgid "could not open file \"%s\" (target block %u): %m"
+msgstr "no se pudo abrir el archivo «%s» (bloque buscado %u): %m"
 
-#: utils/adt/acl.c:4881
+#: tcop/fastpath.c:111 tcop/fastpath.c:463 tcop/fastpath.c:593
 #, c-format
-msgid "must be member of role \"%s\""
-msgstr "debe ser miembro del rol «%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"
 
-#: utils/adt/array_userfuncs.c:48
+#: tcop/fastpath.c:281 tcop/postgres.c:963 tcop/postgres.c:1273
+#: tcop/postgres.c:1531 tcop/postgres.c:1936 tcop/postgres.c:2303
+#: tcop/postgres.c:2378
 #, c-format
-msgid "could not determine input data types"
-msgstr "no se pudo determinar el tipo de datos de entrada"
-
-#: utils/adt/array_userfuncs.c:82
-#, c-format
-msgid "neither input type is an array"
-msgstr "ninguno de los tipos de entrada es un array"
+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"
 
-#: utils/adt/array_userfuncs.c:103 utils/adt/array_userfuncs.c:113
-#: utils/adt/arrayfuncs.c:1309 utils/adt/float.c:1158 utils/adt/float.c:1217
-#: utils/adt/float.c:2768 utils/adt/float.c:2784 utils/adt/int.c:623
-#: utils/adt/int.c:652 utils/adt/int.c:673 utils/adt/int.c:704
-#: utils/adt/int.c:737 utils/adt/int.c:759 utils/adt/int.c:907
-#: utils/adt/int.c:928 utils/adt/int.c:955 utils/adt/int.c:995
-#: utils/adt/int.c:1016 utils/adt/int.c:1043 utils/adt/int.c:1076
-#: utils/adt/int.c:1159 utils/adt/int8.c:1298 utils/adt/numeric.c:2301
-#: utils/adt/numeric.c:2310 utils/adt/varbit.c:1173 utils/adt/varbit.c:1575
-#: utils/adt/varlena.c:1013 utils/adt/varlena.c:2036
+#: tcop/fastpath.c:309
 #, c-format
-msgid "integer out of range"
-msgstr "el entero está fuera de rango"
+msgid "fastpath function call: \"%s\" (OID %u)"
+msgstr "llamada a función fastpath: «%s» (OID %u)"
 
-#: utils/adt/array_userfuncs.c:121
+#: tcop/fastpath.c:391 tcop/postgres.c:1133 tcop/postgres.c:1398
+#: tcop/postgres.c:1777 tcop/postgres.c:1994
 #, c-format
-msgid "argument must be empty or one-dimensional array"
-msgstr "el argumento debe ser vacío o un array unidimensional"
+msgid "duration: %s ms"
+msgstr "duración: %s ms"
 
-#: utils/adt/array_userfuncs.c:224 utils/adt/array_userfuncs.c:263
-#: utils/adt/array_userfuncs.c:300 utils/adt/array_userfuncs.c:329
-#: utils/adt/array_userfuncs.c:357
+#: tcop/fastpath.c:395
 #, c-format
-msgid "cannot concatenate incompatible arrays"
-msgstr "no se pueden concatenar arrays incompatibles"
+msgid "duration: %s ms  fastpath function call: \"%s\" (OID %u)"
+msgstr "duración: %s ms  llamada a función fastpath: «%s» (OID %u)"
 
-#: utils/adt/array_userfuncs.c:225
+#: tcop/fastpath.c:431 tcop/fastpath.c:558
 #, 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 "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"
 
-#: utils/adt/array_userfuncs.c:264
+#: tcop/fastpath.c:439
 #, 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 "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"
 
-#: utils/adt/array_userfuncs.c:301
+#: tcop/fastpath.c:526 tcop/fastpath.c:609
 #, 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 "incorrect binary data format in function argument %d"
+msgstr "el formato de datos binarios es incorrecto en argumento %d a función"
 
-#: utils/adt/array_userfuncs.c:330 utils/adt/array_userfuncs.c:358
+#: tcop/postgres.c:347 tcop/postgres.c:383 tcop/postgres.c:410
 #, 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 "unexpected EOF on client connection"
+msgstr "se encontró fin de archivo inesperado en la conexión del cliente"
 
-#: utils/adt/array_userfuncs.c:426 utils/adt/arrayfuncs.c:1271
-#: utils/adt/arrayfuncs.c:2957 utils/adt/arrayfuncs.c:4976
+#: tcop/postgres.c:433 tcop/postgres.c:445 tcop/postgres.c:456
+#: tcop/postgres.c:468 tcop/postgres.c:4338
 #, c-format
-msgid "invalid number of dimensions: %d"
-msgstr "número incorrecto de dimensiones: %d"
+msgid "invalid frontend message type %d"
+msgstr "el tipo de mensaje de frontend %d no es válido"
 
-#: utils/adt/array_userfuncs.c:487 utils/adt/json.c:1702 utils/adt/json.c:1797
-#: utils/adt/json.c:1828
+#: tcop/postgres.c:904
 #, c-format
-msgid "could not determine input data type"
-msgstr "no se pudo determinar el tipo de dato de entrada"
+msgid "statement: %s"
+msgstr "sentencia: %s"
 
-#: utils/adt/arrayfuncs.c:241 utils/adt/arrayfuncs.c:255
-#: utils/adt/arrayfuncs.c:266 utils/adt/arrayfuncs.c:288
-#: utils/adt/arrayfuncs.c:303 utils/adt/arrayfuncs.c:317
-#: utils/adt/arrayfuncs.c:323 utils/adt/arrayfuncs.c:330
-#: utils/adt/arrayfuncs.c:461 utils/adt/arrayfuncs.c:477
-#: utils/adt/arrayfuncs.c:488 utils/adt/arrayfuncs.c:503
-#: utils/adt/arrayfuncs.c:524 utils/adt/arrayfuncs.c:554
-#: utils/adt/arrayfuncs.c:561 utils/adt/arrayfuncs.c:569
-#: utils/adt/arrayfuncs.c:603 utils/adt/arrayfuncs.c:626
-#: utils/adt/arrayfuncs.c:646 utils/adt/arrayfuncs.c:758
-#: utils/adt/arrayfuncs.c:767 utils/adt/arrayfuncs.c:797
-#: utils/adt/arrayfuncs.c:812 utils/adt/arrayfuncs.c:865
+#: tcop/postgres.c:1138
 #, c-format
-msgid "malformed array literal: \"%s\""
-msgstr "literal de array no es válido: «%s»"
+msgid "duration: %s ms  statement: %s"
+msgstr "duración: %s ms  sentencia: %s"
 
-#: utils/adt/arrayfuncs.c:242
+#: tcop/postgres.c:1188
 #, c-format
-msgid "\"[\" must introduce explicitly-specified array dimensions."
-msgstr "Un «[» debe introducir dimensiones de array especificadas explícitamente."
+msgid "parse %s: %s"
+msgstr "parse %s: %s"
 
-#: utils/adt/arrayfuncs.c:256
+#: tcop/postgres.c:1246
 #, c-format
-msgid "Missing array dimension value."
-msgstr "Falta un valor de dimensión de array."
+msgid "cannot insert multiple commands into a prepared statement"
+msgstr "no se pueden insertar múltiples órdenes en una sentencia preparada"
 
-#: utils/adt/arrayfuncs.c:267 utils/adt/arrayfuncs.c:304
+#: tcop/postgres.c:1403
 #, c-format
-msgid "Missing \"%s\" after array dimensions."
-msgstr "Falta «%s» luego de las dimensiones de array."
+msgid "duration: %s ms  parse %s: %s"
+msgstr "duración: %s ms  parse: %s: %s"
 
-#: utils/adt/arrayfuncs.c:276 utils/adt/arrayfuncs.c:2482
-#: utils/adt/arrayfuncs.c:2510 utils/adt/arrayfuncs.c:2525
+#: tcop/postgres.c:1448
 #, 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 "bind %s to %s"
+msgstr "bind %s a %s"
 
-#: utils/adt/arrayfuncs.c:289
+#: tcop/postgres.c:1467 tcop/postgres.c:2284
 #, 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 "unnamed prepared statement does not exist"
+msgstr "no existe una sentencia preparada sin nombre"
 
-#: utils/adt/arrayfuncs.c:318
+#: tcop/postgres.c:1509
 #, c-format
-msgid "Array contents must start with \"{\"."
-msgstr "El contenido del array debe empezar con «{»."
+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"
 
-#: utils/adt/arrayfuncs.c:324 utils/adt/arrayfuncs.c:331
+#: tcop/postgres.c:1515
 #, 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 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"
 
-#: utils/adt/arrayfuncs.c:462 utils/adt/arrayfuncs.c:489
-#: utils/adt/rangetypes.c:2096 utils/adt/rangetypes.c:2104
-#: utils/adt/rowtypes.c:208 utils/adt/rowtypes.c:216
+#: tcop/postgres.c:1684
 #, c-format
-msgid "Unexpected end of input."
-msgstr "Fin inesperado de la entrada."
+msgid "incorrect binary data format in bind parameter %d"
+msgstr "el formato de datos binarios es incorrecto en el parámetro de enlace %d"
 
-#: utils/adt/arrayfuncs.c:478 utils/adt/arrayfuncs.c:525
-#: utils/adt/arrayfuncs.c:555 utils/adt/arrayfuncs.c:604
+#: tcop/postgres.c:1782
 #, c-format
-msgid "Unexpected \"%c\" character."
-msgstr "Carácter «%c» inesperado."
+msgid "duration: %s ms  bind %s%s%s: %s"
+msgstr "duración: %s ms  bind %s%s%s: %s"
 
-#: utils/adt/arrayfuncs.c:504 utils/adt/arrayfuncs.c:627
+#: tcop/postgres.c:1830 tcop/postgres.c:2364
 #, c-format
-msgid "Unexpected array element."
-msgstr "Elemento de array inesperado."
+msgid "portal \"%s\" does not exist"
+msgstr "no existe el portal «%s»"
 
-#: utils/adt/arrayfuncs.c:562
+#: tcop/postgres.c:1915
 #, c-format
-msgid "Unmatched \"%c\" character."
-msgstr "Carácter «%c» sin pareja"
+msgid "%s %s%s%s: %s"
+msgstr "%s %s%s%s: %s"
 
-#: utils/adt/arrayfuncs.c:570
-#, c-format
-msgid "Multidimensional arrays must have sub-arrays with matching dimensions."
-msgstr "Los arrays multidimensionales deben tener sub-arrays con dimensiones coincidentes."
+#: tcop/postgres.c:1917 tcop/postgres.c:2002
+msgid "execute fetch from"
+msgstr "ejecutar fetch desde"
 
-#: utils/adt/arrayfuncs.c:647
-#, c-format
-msgid "Junk after closing right brace."
-msgstr "Basura después de la llave derecha de cierre."
+#: tcop/postgres.c:1918 tcop/postgres.c:2003
+msgid "execute"
+msgstr "ejecutar"
 
-#: utils/adt/arrayfuncs.c:904 utils/adt/arrayfuncs.c:1506
-#: utils/adt/arrayfuncs.c:2841 utils/adt/arrayfuncs.c:2989
-#: utils/adt/arrayfuncs.c:5070 utils/adt/arrayfuncs.c:5402
-#: utils/adt/arrayutils.c:93 utils/adt/arrayutils.c:102
-#: utils/adt/arrayutils.c:109
+#: tcop/postgres.c:1999
 #, c-format
-msgid "array size exceeds the maximum allowed (%d)"
-msgstr "el tamaño del array excede el máximo permitido (%d)"
+msgid "duration: %s ms  %s %s%s%s: %s"
+msgstr "duración: %s ms  %s %s%s%s: %s"
 
-#: utils/adt/arrayfuncs.c:1282
+#: tcop/postgres.c:2125
 #, c-format
-msgid "invalid array flags"
-msgstr "opciones de array no válidas"
+msgid "prepare: %s"
+msgstr "prepare: %s"
 
-#: utils/adt/arrayfuncs.c:1290
+#: tcop/postgres.c:2188
 #, c-format
-msgid "wrong element type"
-msgstr "el tipo de elemento es erróneo"
+msgid "parameters: %s"
+msgstr "parámetros: %s"
 
-#: utils/adt/arrayfuncs.c:1340 utils/adt/rangetypes.c:334
-#: utils/cache/lsyscache.c:2549
+#: tcop/postgres.c:2207
 #, 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 "abort reason: recovery conflict"
+msgstr "razón para abortar: conflicto en la recuperación"
 
-#: utils/adt/arrayfuncs.c:1480
+#: tcop/postgres.c:2223
 #, c-format
-msgid "improper binary format in array element %d"
-msgstr "el formato binario no es válido en elemento %d de array"
+msgid "User was holding shared buffer pin for too long."
+msgstr "El usuario mantuvo el búfer compartido «clavado» por demasiado tiempo."
 
-#: utils/adt/arrayfuncs.c:1562 utils/adt/rangetypes.c:339
-#: utils/cache/lsyscache.c:2582
+#: tcop/postgres.c:2226
 #, 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 "User was holding a relation lock for too long."
+msgstr "El usuario mantuvo una relación bloqueada por demasiado tiempo."
 
-#: utils/adt/arrayfuncs.c:1949
+#: tcop/postgres.c:2229
 #, 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 "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/arrayfuncs.c:2122 utils/adt/arrayfuncs.c:2144
-#: utils/adt/arrayfuncs.c:2178 utils/adt/arrayfuncs.c:2464
-#: utils/adt/arrayfuncs.c:4962 utils/adt/arrayfuncs.c:4988
-#: utils/adt/arrayfuncs.c:4999 utils/adt/json.c:2219 utils/adt/json.c:2294
+#: tcop/postgres.c:2232
 #, c-format
-msgid "wrong number of array subscripts"
-msgstr "número incorrecto de subíndices del array"
+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/arrayfuncs.c:2127 utils/adt/arrayfuncs.c:2220
-#: utils/adt/arrayfuncs.c:2515
+#: tcop/postgres.c:2238
 #, c-format
-msgid "array subscript out of range"
-msgstr "los subíndices de arrays están fuera de rango"
+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/arrayfuncs.c:2132
+#: tcop/postgres.c:2577
 #, 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 "terminating connection because of crash of another server process"
+msgstr "terminando la conexión debido a una falla en otro proceso servidor"
 
-#: utils/adt/arrayfuncs.c:2418
+#: tcop/postgres.c:2578
 #, 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 "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/arrayfuncs.c:2454 utils/adt/arrayfuncs.c:2541
+#: tcop/postgres.c:2582 tcop/postgres.c:2911
 #, c-format
-msgid "source array too small"
-msgstr "el array de origen es demasiado pequeño"
+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/arrayfuncs.c:3096
+#: tcop/postgres.c:2671
 #, c-format
-msgid "null array element not allowed in this context"
-msgstr "los arrays con elementos null no son permitidos en este contexto"
+msgid "floating-point exception"
+msgstr "excepción de coma flotante"
 
-#: utils/adt/arrayfuncs.c:3199 utils/adt/arrayfuncs.c:3407
-#: utils/adt/arrayfuncs.c:3724
+#: tcop/postgres.c:2672
 #, c-format
-msgid "cannot compare arrays of different element types"
-msgstr "no se pueden comparar arrays con elementos de distintos tipos"
+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/arrayfuncs.c:3609 utils/adt/rangetypes.c:1225
+#: tcop/postgres.c:2854
 #, 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 "terminating autovacuum process due to administrator command"
+msgstr "terminando el proceso autovacuum debido a una orden del administrador"
 
-#: utils/adt/arrayfuncs.c:4860 utils/adt/arrayfuncs.c:4900
+#: tcop/postgres.c:2860 tcop/postgres.c:2870 tcop/postgres.c:2909
 #, 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 "terminating connection due to conflict with recovery"
+msgstr "terminando la conexión debido a un conflicto con la recuperación"
 
-#: utils/adt/arrayfuncs.c:4963 utils/adt/arrayfuncs.c:4989
+#: tcop/postgres.c:2876
 #, c-format
-msgid "Dimension array must be one dimensional."
-msgstr "El array de dimensiones debe ser unidimensional."
+msgid "terminating connection due to administrator command"
+msgstr "terminando la conexión debido a una orden del administrador"
 
-#: utils/adt/arrayfuncs.c:4968 utils/adt/arrayfuncs.c:4994
+#: tcop/postgres.c:2889
 #, c-format
-msgid "dimension values cannot be null"
-msgstr "los valores de dimensión no pueden ser null"
+msgid "connection to client lost"
+msgstr "se ha perdido la conexión al cliente"
 
-#: utils/adt/arrayfuncs.c:5000
+#: tcop/postgres.c:2948
 #, 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 "canceling authentication due to timeout"
+msgstr "cancelando la autentificación debido a que se agotó el tiempo de espera"
 
-#: utils/adt/arrayfuncs.c:5267
+#: tcop/postgres.c:2976
 #, c-format
-msgid "removing elements from multidimensional arrays is not supported"
-msgstr "la eliminación de elementos desde arrays multidimensionales no está soportada"
+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/arrayutils.c:209
+#: tcop/postgres.c:2986
 #, c-format
-msgid "typmod array must be type cstring[]"
-msgstr "el array de typmod debe ser de tipo cstring[]"
+msgid "canceling statement due to statement timeout"
+msgstr "cancelando la sentencia debido a que se agotó el tiempo de espera de sentencias"
 
-#: utils/adt/arrayutils.c:214
+#: tcop/postgres.c:2996
 #, c-format
-msgid "typmod array must be one-dimensional"
-msgstr "array de typmod debe ser unidimensional"
+msgid "canceling autovacuum task"
+msgstr "cancelando tarea de autovacuum"
 
-#: utils/adt/arrayutils.c:219
+#: tcop/postgres.c:3025
 #, c-format
-msgid "typmod array must not contain nulls"
-msgstr "los arrays de typmod no deben contener valores nulos"
+msgid "canceling statement due to user request"
+msgstr "cancelando la sentencia debido a una petición del usuario"
 
-#: utils/adt/ascii.c:75
+#: tcop/postgres.c:3133
 #, 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 "stack depth limit exceeded"
+msgstr "límite de profundidad de stack alcanzado"
 
-#: utils/adt/bool.c:153
+#: tcop/postgres.c:3134
 #, c-format
-msgid "invalid input syntax for type boolean: \"%s\""
-msgstr "la sintaxis de entrada no es válida para tipo boolean: «%s»"
+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/cash.c:246
+#: tcop/postgres.c:3197
 #, c-format
-msgid "invalid input syntax for type money: \"%s\""
-msgstr "la sintaxis de entrada no es válida para tipo money: «%s»"
+msgid "\"max_stack_depth\" must not exceed %ldkB."
+msgstr "«max_stack_depth» no debe exceder %ldkB."
 
-#: utils/adt/cash.c:607 utils/adt/cash.c:657 utils/adt/cash.c:708
-#: utils/adt/cash.c:757 utils/adt/cash.c:809 utils/adt/cash.c:859
-#: utils/adt/float.c:785 utils/adt/float.c:849 utils/adt/float.c:2527
-#: utils/adt/float.c:2590 utils/adt/geo_ops.c:4126 utils/adt/int.c:719
-#: utils/adt/int.c:861 utils/adt/int.c:969 utils/adt/int.c:1058
-#: utils/adt/int.c:1097 utils/adt/int.c:1125 utils/adt/int8.c:597
-#: utils/adt/int8.c:657 utils/adt/int8.c:897 utils/adt/int8.c:1005
-#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:4971
-#: utils/adt/numeric.c:5254 utils/adt/timestamp.c:3455
+#: tcop/postgres.c:3199
 #, c-format
-msgid "division by zero"
-msgstr "división por cero"
+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/char.c:169
+#: tcop/postgres.c:3563
 #, c-format
-msgid "\"char\" out of range"
-msgstr "«char» está fuera de rango"
+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/date.c:67 utils/adt/timestamp.c:102 utils/adt/varbit.c:52
-#: utils/adt/varchar.c:44
+#: tcop/postgres.c:3564 tcop/postgres.c:3570
 #, c-format
-msgid "invalid type modifier"
-msgstr "el modificador de tipo no es válido"
+msgid "Try \"%s --help\" for more information."
+msgstr "Pruebe «%s --help» para mayor información."
 
-#: utils/adt/date.c:72
+#: tcop/postgres.c:3568
 #, c-format
-msgid "TIME(%d)%s precision must not be negative"
-msgstr "la precisión de TIME(%d)%s no debe ser negativa"
+msgid "%s: invalid command-line argument: %s"
+msgstr "%s: argumento de línea de órdenes no válido: %s"
 
-#: utils/adt/date.c:78
+#: tcop/postgres.c:3655
 #, 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 "%s: no database nor user name specified"
+msgstr "%s: no se ha especificado base de datos ni usuario"
 
-#: utils/adt/date.c:141 utils/adt/datetime.c:1209 utils/adt/datetime.c:2122
+#: tcop/postgres.c:4246
 #, c-format
-msgid "date/time value \"current\" is no longer supported"
-msgstr "valor de hora/fecha «current» ya no está soportado"
+msgid "invalid CLOSE message subtype %d"
+msgstr "subtipo %d de mensaje CLOSE no válido"
 
-#: utils/adt/date.c:166 utils/adt/formatting.c:3521
+#: tcop/postgres.c:4281
 #, c-format
-msgid "date out of range: \"%s\""
-msgstr "fecha fuera de rango: «%s»"
+msgid "invalid DESCRIBE message subtype %d"
+msgstr "subtipo %d de mensaje DESCRIBE no válido"
 
-#: utils/adt/date.c:216 utils/adt/xml.c:2029
+#: tcop/postgres.c:4359
 #, c-format
-msgid "date out of range"
-msgstr "la fecha fuera de rango"
+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/date.c:258 utils/adt/timestamp.c:600
+#: tcop/postgres.c:4363
 #, c-format
-msgid "date field value out of range: %d-%02d-%02d"
-msgstr "un valor en el campo de fecha está fuera de rango: %d-%02d-%02d"
+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/date.c:264 utils/adt/timestamp.c:606
+#: tcop/postgres.c:4533
 #, c-format
-msgid "date out of range: %d-%02d-%02d"
-msgstr "fecha fuera de rango: %d-%02d-%02d"
+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/date.c:417
+#: tcop/pquery.c:662
 #, c-format
-msgid "cannot subtract infinite dates"
-msgstr "no se pueden restar fechas infinitas"
+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/date.c:474 utils/adt/date.c:511
+#: tcop/pquery.c:968
 #, c-format
-msgid "date out of range for timestamp"
-msgstr "fecha fuera de rango para timestamp"
+msgid "cursor can only scan forward"
+msgstr "el cursor sólo se puede desplazar hacia adelante"
 
-#: utils/adt/date.c:970 utils/adt/date.c:1016 utils/adt/date.c:1616
-#: utils/adt/date.c:1652 utils/adt/date.c:2524 utils/adt/datetime.c:1690
-#: utils/adt/formatting.c:3397 utils/adt/formatting.c:3429
-#: utils/adt/formatting.c:3497 utils/adt/json.c:1477 utils/adt/json.c:1499
-#: utils/adt/nabstime.c:455 utils/adt/nabstime.c:498 utils/adt/nabstime.c:528
-#: utils/adt/nabstime.c:571 utils/adt/timestamp.c:232 utils/adt/timestamp.c:275
-#: utils/adt/timestamp.c:724 utils/adt/timestamp.c:753
-#: utils/adt/timestamp.c:792 utils/adt/timestamp.c:3044
-#: utils/adt/timestamp.c:3065 utils/adt/timestamp.c:3078
-#: utils/adt/timestamp.c:3087 utils/adt/timestamp.c:3144
-#: utils/adt/timestamp.c:3167 utils/adt/timestamp.c:3180
-#: utils/adt/timestamp.c:3191 utils/adt/timestamp.c:3716
-#: utils/adt/timestamp.c:3845 utils/adt/timestamp.c:3886
-#: utils/adt/timestamp.c:3974 utils/adt/timestamp.c:4020
-#: utils/adt/timestamp.c:4131 utils/adt/timestamp.c:4455
-#: utils/adt/timestamp.c:4571 utils/adt/timestamp.c:4581
-#: utils/adt/timestamp.c:4666 utils/adt/timestamp.c:4785
-#: utils/adt/timestamp.c:4795 utils/adt/timestamp.c:5030
-#: utils/adt/timestamp.c:5044 utils/adt/timestamp.c:5123
-#: utils/adt/timestamp.c:5130 utils/adt/timestamp.c:5156
-#: utils/adt/timestamp.c:5160 utils/adt/timestamp.c:5229 utils/adt/xml.c:2051
-#: utils/adt/xml.c:2058 utils/adt/xml.c:2078 utils/adt/xml.c:2085
+#: tcop/pquery.c:969
 #, c-format
-msgid "timestamp out of range"
-msgstr "el timestamp está fuera de rango"
+msgid "Declare it with SCROLL option to enable backward scan."
+msgstr "Declárelo con SCROLL para permitirle desplazar hacia atrás."
 
-#: utils/adt/date.c:1042
+#. translator: %s is name of a SQL command, eg CREATE
+#: tcop/utility.c:227
 #, c-format
-msgid "cannot convert reserved abstime value to date"
-msgstr "no se puede convertir un valor reservado de abstime a date"
+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/date.c:1196 utils/adt/date.c:1203 utils/adt/date.c:2014
-#: utils/adt/date.c:2021
+#. translator: %s is name of a SQL command, eg CREATE
+#: tcop/utility.c:246
 #, c-format
-msgid "time out of range"
-msgstr "hora fuera de rango"
+msgid "cannot execute %s during recovery"
+msgstr "no se puede ejecutar %s durante la recuperación"
 
-#: utils/adt/date.c:1264 utils/adt/timestamp.c:625
+#. translator: %s is name of a SQL command, eg PREPARE
+#: tcop/utility.c:264
 #, c-format
-msgid "time field value out of range: %d:%02d:%02g"
-msgstr "un valor en el campo de hora está fuera de rango: %d:%02d:%02g"
+msgid "cannot execute %s within security-restricted operation"
+msgstr "no se puede ejecutar %s durante una operación restringida por seguridad"
 
-#: utils/adt/date.c:1892 utils/adt/date.c:1909
+#: tcop/utility.c:731
 #, c-format
-msgid "\"time\" units \"%s\" not recognized"
-msgstr "las unidades de «time» «%s» no son reconocidas"
+msgid "must be superuser to do CHECKPOINT"
+msgstr "debe ser superusuario para ejecutar CHECKPOINT"
 
-#: utils/adt/date.c:2030
+#: tsearch/dict_ispell.c:51 tsearch/dict_thesaurus.c:623
 #, c-format
-msgid "time zone displacement out of range"
-msgstr "desplazamiento de huso horario fuera de rango"
+msgid "multiple DictFile parameters"
+msgstr "parámetro DictFile duplicado"
 
-#: utils/adt/date.c:2654 utils/adt/date.c:2671
+#: tsearch/dict_ispell.c:62
 #, c-format
-msgid "\"time with time zone\" units \"%s\" not recognized"
-msgstr "las unidades de «timestamp with time zone» «%s» no son reconocidas"
+msgid "multiple AffFile parameters"
+msgstr "parámetro AffFile duplicado"
 
-#: utils/adt/date.c:2744 utils/adt/datetime.c:926 utils/adt/datetime.c:1848
-#: utils/adt/datetime.c:4609 utils/adt/timestamp.c:539
-#: utils/adt/timestamp.c:566 utils/adt/timestamp.c:5056
-#: utils/adt/timestamp.c:5240
+#: tsearch/dict_ispell.c:81
 #, c-format
-msgid "time zone \"%s\" not recognized"
-msgstr "el huso horario «%s» no es reconocido"
+msgid "unrecognized Ispell parameter: \"%s\""
+msgstr "parámetro Ispell no reconocido: «%s»"
 
-#: utils/adt/date.c:2784 utils/adt/timestamp.c:5081 utils/adt/timestamp.c:5266
+#: tsearch/dict_ispell.c:95
 #, 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 AffFile parameter"
+msgstr "falta un parámetro AffFile"
 
-#: utils/adt/datetime.c:3809 utils/adt/datetime.c:3816
+#: tsearch/dict_ispell.c:101 tsearch/dict_thesaurus.c:647
 #, c-format
-msgid "date/time field value out of range: \"%s\""
-msgstr "el valor de hora/fecha está fuera de rango: «%s»"
+msgid "missing DictFile parameter"
+msgstr "falta un parámetro DictFile"
 
-#: utils/adt/datetime.c:3818
+#: tsearch/dict_simple.c:57
 #, c-format
-msgid "Perhaps you need a different \"datestyle\" setting."
-msgstr "Quizás necesite una configuración diferente de «datestyle»."
+msgid "multiple Accept parameters"
+msgstr "parámetro Accept duplicado"
 
-#: utils/adt/datetime.c:3823
+#: tsearch/dict_simple.c:65
 #, c-format
-msgid "interval field value out of range: \"%s\""
-msgstr "el valor de interval está fuera de rango: «%s»"
+msgid "unrecognized simple dictionary parameter: \"%s\""
+msgstr "parámetro del diccionario simple no reconocido: «%s»"
 
-#: utils/adt/datetime.c:3829
+#: tsearch/dict_synonym.c:117
 #, c-format
-msgid "time zone displacement out of range: \"%s\""
-msgstr "el desplazamiento de huso horario está fuera de rango: «%s»"
+msgid "unrecognized synonym parameter: \"%s\""
+msgstr "parámetro de sinónimo no reconocido «%s»"
 
-#. translator: first %s is inet or cidr
-#: utils/adt/datetime.c:3836 utils/adt/network.c:58
+#: tsearch/dict_synonym.c:124
 #, c-format
-msgid "invalid input syntax for type %s: \"%s\""
-msgstr "la sintaxis de entrada no es válida para tipo %s: «%s»"
+msgid "missing Synonyms parameter"
+msgstr "falta un parámetro Synonyms"
 
-#: utils/adt/datetime.c:4611
+#: tsearch/dict_synonym.c:131
 #, 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 "could not open synonym file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de sinónimos «%s»: %m"
 
-#: utils/adt/datum.c:80 utils/adt/datum.c:92
+#: tsearch/dict_thesaurus.c:178
 #, c-format
-msgid "invalid Datum pointer"
-msgstr "puntero a Datum no válido"
+msgid "could not open thesaurus file \"%s\": %m"
+msgstr "no se pudo abrir el archivo del tesauro «%s»: %m"
 
-#: utils/adt/dbsize.c:108
+#: tsearch/dict_thesaurus.c:211
 #, c-format
-msgid "could not open tablespace directory \"%s\": %m"
-msgstr "no se pudo abrir el directorio de tablespace «%s»: %m"
+msgid "unexpected delimiter"
+msgstr "delimitador inesperado"
 
-#: utils/adt/domains.c:83
+#: tsearch/dict_thesaurus.c:261 tsearch/dict_thesaurus.c:277
 #, c-format
-msgid "type %s is not a domain"
-msgstr "tipo «%s» no es un dominio"
+msgid "unexpected end of line or lexeme"
+msgstr "fin de línea o lexema inesperado"
 
-#: utils/adt/encode.c:55 utils/adt/encode.c:91
+#: tsearch/dict_thesaurus.c:286
 #, c-format
-msgid "unrecognized encoding: \"%s\""
-msgstr "no se reconoce la codificación: «%s»"
+msgid "unexpected end of line"
+msgstr "fin de línea inesperado"
 
-#: utils/adt/encode.c:150
+#: tsearch/dict_thesaurus.c:296
 #, c-format
-msgid "invalid hexadecimal digit: \"%c\""
-msgstr "el dígito hexadecimal no es válido: «%c»"
+msgid "too many lexemes in thesaurus entry"
+msgstr "demasiados lexemas en la entrada del tesauro"
 
-#: utils/adt/encode.c:178
+#: tsearch/dict_thesaurus.c:420
 #, 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 "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/encode.c:295
+# XXX -- stopword?
+#: tsearch/dict_thesaurus.c:426
 #, c-format
-msgid "unexpected \"=\""
-msgstr "«=» inesperado"
+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/encode.c:307
+# XXX -- stopword?
+#: tsearch/dict_thesaurus.c:429
 #, c-format
-msgid "invalid symbol"
-msgstr "símbolo no válido"
+msgid "Use \"?\" to represent a stop word within a sample phrase."
+msgstr "Use «?» para representar una stopword en una frase muestra."
 
-#: utils/adt/encode.c:327
+# XXX -- stopword?
+#: tsearch/dict_thesaurus.c:575
 #, c-format
-msgid "invalid end sequence"
-msgstr "secuencia de término no válida"
+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/encode.c:441 utils/adt/encode.c:506 utils/adt/varlena.c:255
-#: utils/adt/varlena.c:296
+#: tsearch/dict_thesaurus.c:582
 #, c-format
-msgid "invalid input syntax for type bytea"
-msgstr "sintaxis de entrada no válida para tipo bytea"
+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/enum.c:48 utils/adt/enum.c:58 utils/adt/enum.c:113
-#: utils/adt/enum.c:123
+#: tsearch/dict_thesaurus.c:594
 #, 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 "thesaurus substitute phrase is empty (rule %d)"
+msgstr "la frase sustituta del tesauro está vacía (regla %d)"
 
-#: utils/adt/enum.c:85 utils/adt/enum.c:148 utils/adt/enum.c:198
+#: tsearch/dict_thesaurus.c:632
 #, c-format
-msgid "invalid internal value for enum: %u"
-msgstr "el valor interno no es válido para enum: %u"
+msgid "multiple Dictionary parameters"
+msgstr "parámetro Dictionary duplicado"
 
-#: utils/adt/enum.c:357 utils/adt/enum.c:386 utils/adt/enum.c:426
-#: utils/adt/enum.c:446
+#: tsearch/dict_thesaurus.c:639
 #, c-format
-msgid "could not determine actual enum type"
-msgstr "no se pudo determinar el tipo enum efectivo"
+msgid "unrecognized Thesaurus parameter: \"%s\""
+msgstr "parámetro no reconocido de tesauro: «%s»"
 
-#: utils/adt/enum.c:365 utils/adt/enum.c:394
+#: tsearch/dict_thesaurus.c:651
 #, c-format
-msgid "enum %s contains no values"
-msgstr "el enum %s no contiene valores"
+msgid "missing Dictionary parameter"
+msgstr "falta un paramétro Dictionary"
 
-#: utils/adt/float.c:55
+#: tsearch/spell.c:289
 #, c-format
-msgid "value out of range: overflow"
-msgstr "valor fuera de rango: desbordamiento"
+msgid "could not open dictionary file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de diccionario «%s»: %m"
 
-#: utils/adt/float.c:60
+#: tsearch/spell.c:452 utils/adt/regexp.c:208
 #, c-format
-msgid "value out of range: underflow"
-msgstr "valor fuera de rango: desbordamiento por abajo"
+msgid "invalid regular expression: %s"
+msgstr "la expresión regular no es válida: %s"
 
-#: utils/adt/float.c:215 utils/adt/float.c:289 utils/adt/float.c:313
+#: tsearch/spell.c:745
 #, c-format
-msgid "invalid input syntax for type real: \"%s\""
-msgstr "la sintaxis de entrada no es válida para tipo real: «%s»"
+msgid "multibyte flag character is not allowed"
+msgstr "los caracteres bandera multibyte no están permitidos"
 
-#: utils/adt/float.c:283
+#: tsearch/spell.c:779 tsearch/spell.c:835 tsearch/spell.c:937
 #, c-format
-msgid "\"%s\" is out of range for type real"
-msgstr "«%s» está fuera de rango para el tipo real"
+msgid "could not open affix file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de afijos «%s»: %m"
 
-#: utils/adt/float.c:414 utils/adt/float.c:488 utils/adt/float.c:512
-#: utils/adt/numeric.c:4427 utils/adt/numeric.c:4453
+#: tsearch/spell.c:825
 #, c-format
-msgid "invalid input syntax for type double precision: \"%s\""
-msgstr "la sintaxis de entrada no es válida para tipo double precision: «%s»"
+msgid "Ispell dictionary supports only default flag value"
+msgstr "el diccionario Ispell sólo permite el valor de bandera «default»"
 
-#: utils/adt/float.c:482
+#: tsearch/spell.c:1050
 #, c-format
-msgid "\"%s\" is out of range for type double precision"
-msgstr "«%s» está fuera de rango para el tipo double precision"
+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/float.c:1176 utils/adt/float.c:1234 utils/adt/int.c:349
-#: utils/adt/int.c:775 utils/adt/int.c:804 utils/adt/int.c:825
-#: utils/adt/int.c:845 utils/adt/int.c:879 utils/adt/int.c:1174
-#: utils/adt/int8.c:1323 utils/adt/numeric.c:2398 utils/adt/numeric.c:2407
+#: tsearch/to_tsany.c:163 utils/adt/tsvector.c:270 utils/adt/tsvector_op.c:530
 #, c-format
-msgid "smallint out of range"
-msgstr "smallint está fuera de rango"
+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/float.c:1360 utils/adt/numeric.c:5653
+#: tsearch/ts_locale.c:188
 #, 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 "line %d of configuration file \"%s\": \"%s\""
+msgstr "línea %d del archivo de configuración «%s»: «%s»"
 
-#: utils/adt/float.c:1402 utils/adt/numeric.c:2218
+#: tsearch/ts_locale.c:310
 #, c-format
-msgid "zero raised to a negative power is undefined"
-msgstr "cero elevado a una potencia negativa es indefinido"
+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/float.c:1406 utils/adt/numeric.c:2224
+#: tsearch/ts_parse.c:390 tsearch/ts_parse.c:397 tsearch/ts_parse.c:560
+#: tsearch/ts_parse.c:567
 #, 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 "word is too long to be indexed"
+msgstr "la palabra es demasiado larga para ser indexada"
 
-#: utils/adt/float.c:1472 utils/adt/float.c:1502 utils/adt/numeric.c:5871
+#: tsearch/ts_parse.c:391 tsearch/ts_parse.c:398 tsearch/ts_parse.c:561
+#: tsearch/ts_parse.c:568
 #, c-format
-msgid "cannot take logarithm of zero"
-msgstr "no se puede calcular logaritmo de cero"
+msgid "Words longer than %d characters are ignored."
+msgstr "Las palabras más largas que %d caracteres son ignoradas."
 
-#: utils/adt/float.c:1476 utils/adt/float.c:1506 utils/adt/numeric.c:5875
+#: tsearch/ts_utils.c:51
 #, c-format
-msgid "cannot take logarithm of a negative number"
-msgstr "no se puede calcular logaritmo de un número negativo"
+msgid "invalid text search configuration file name \"%s\""
+msgstr "nombre de configuración de búsqueda en texto «%s» no válido"
 
-#: utils/adt/float.c:1533 utils/adt/float.c:1554 utils/adt/float.c:1575
-#: utils/adt/float.c:1597 utils/adt/float.c:1618 utils/adt/float.c:1639
-#: utils/adt/float.c:1661 utils/adt/float.c:1682
+#: tsearch/ts_utils.c:83
 #, c-format
-msgid "input is out of range"
-msgstr "la entrada está fuera de rango"
+msgid "could not open stop-word file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de stopwords «%s»: %m"
 
-#: utils/adt/float.c:2744 utils/adt/numeric.c:1271
+#: tsearch/wparser.c:306
 #, c-format
-msgid "count must be greater than zero"
-msgstr "count debe ser mayor que cero"
+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/float.c:2749 utils/adt/numeric.c:1278
+#: tsearch/wparser_def.c:2557
 #, 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 "unrecognized headline parameter: \"%s\""
+msgstr "parámetro de encabezado (headline) no reconocido: «%s»"
 
-#: utils/adt/float.c:2755
+#: tsearch/wparser_def.c:2566
 #, c-format
-msgid "lower and upper bounds must be finite"
-msgstr "los límites inferior y superior deben ser finitos"
+msgid "MinWords should be less than MaxWords"
+msgstr "MinWords debería ser menor que MaxWords"
 
-#: utils/adt/float.c:2793 utils/adt/numeric.c:1291
+#: tsearch/wparser_def.c:2570
 #, c-format
-msgid "lower bound cannot equal upper bound"
-msgstr "el límite superior no puede ser igual al límite inferior"
+msgid "MinWords should be positive"
+msgstr "MinWords debería ser positivo"
 
-#: utils/adt/formatting.c:485
+#: tsearch/wparser_def.c:2574
 #, c-format
-msgid "invalid format specification for an interval value"
-msgstr "especificación de formato no válida para un valor de interval"
+msgid "ShortWord should be >= 0"
+msgstr "ShortWord debería ser >= 0"
 
-#: utils/adt/formatting.c:486
+#: tsearch/wparser_def.c:2578
 #, 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 "MaxFragments should be >= 0"
+msgstr "MaxFragments debería ser >= 0"
 
-#: utils/adt/formatting.c:1058
+#: utils/adt/acl.c:170 utils/adt/name.c:91
 #, c-format
-msgid "\"EEEE\" must be the last pattern used"
-msgstr "«EEEE» debe ser el último patrón usado"
+msgid "identifier too long"
+msgstr "el identificador es demasiado largo"
 
-#: utils/adt/formatting.c:1066
+#: utils/adt/acl.c:171 utils/adt/name.c:92
 #, c-format
-msgid "\"9\" must be ahead of \"PR\""
-msgstr "«9» debe ir antes de «PR»"
+msgid "Identifier must be less than %d characters."
+msgstr "El identificador debe ser menor a %d caracteres."
 
-#: utils/adt/formatting.c:1082
+#: utils/adt/acl.c:257
 #, c-format
-msgid "\"0\" must be ahead of \"PR\""
-msgstr "«0» debe ir antes de «PR»"
+msgid "unrecognized key word: \"%s\""
+msgstr "palabra clave no reconocida: «%s»"
 
-#: utils/adt/formatting.c:1109
+#: utils/adt/acl.c:258
 #, c-format
-msgid "multiple decimal points"
-msgstr "hay múltiples puntos decimales"
+msgid "ACL key word must be \"group\" or \"user\"."
+msgstr "Palabra clave de ACL debe ser «group» o «user»."
 
-#: utils/adt/formatting.c:1113 utils/adt/formatting.c:1196
+#: utils/adt/acl.c:263
 #, c-format
-msgid "cannot use \"V\" and decimal point together"
-msgstr "no se puede usar «V» y un punto decimal simultáneamente"
+msgid "missing name"
+msgstr "falta un nombre"
 
-#: utils/adt/formatting.c:1125
+#: utils/adt/acl.c:264
 #, c-format
-msgid "cannot use \"S\" twice"
-msgstr "no se puede usar «S» dos veces"
+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/formatting.c:1129
+#: utils/adt/acl.c:270
 #, 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 "missing \"=\" sign"
+msgstr "falta un signo «=»"
 
-#: utils/adt/formatting.c:1149
+#: utils/adt/acl.c:323
 #, c-format
-msgid "cannot use \"S\" and \"MI\" together"
-msgstr "no se puede usar «S» y «MI» simultáneamente"
+msgid "invalid mode character: must be one of \"%s\""
+msgstr "carácter de modo no válido: debe ser uno de «%s»"
 
-#: utils/adt/formatting.c:1159
+#: utils/adt/acl.c:345
 #, c-format
-msgid "cannot use \"S\" and \"PL\" together"
-msgstr "no se puede usar «S» y «PL» simultáneamente"
+msgid "a name must follow the \"/\" sign"
+msgstr "debe venir un nombre después del signo «/»"
 
-#: utils/adt/formatting.c:1169
+#: utils/adt/acl.c:353
 #, c-format
-msgid "cannot use \"S\" and \"SG\" together"
-msgstr "no se puede usar «S» y «SG» simultáneamente"
+msgid "defaulting grantor to user ID %u"
+msgstr "usando el cedente por omisión con ID %u"
 
-#: utils/adt/formatting.c:1178
+#: utils/adt/acl.c:544
 #, 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 "ACL array contains wrong data type"
+msgstr "el array ACL contiene tipo de datos incorrecto"
 
-#: utils/adt/formatting.c:1204
+#: utils/adt/acl.c:548
 #, c-format
-msgid "cannot use \"EEEE\" twice"
-msgstr "no se puede usar «EEEE» dos veces"
+msgid "ACL arrays must be one-dimensional"
+msgstr "los array de ACL debe ser unidimensional"
 
-#: utils/adt/formatting.c:1210
+#: utils/adt/acl.c:552
 #, c-format
-msgid "\"EEEE\" is incompatible with other formats"
-msgstr "«EEEE» es incompatible con otros formatos"
+msgid "ACL arrays must not contain null values"
+msgstr "los arrays de ACL no pueden contener valores nulos"
 
-#: utils/adt/formatting.c:1211
+#: utils/adt/acl.c:576
 #, 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 "extra garbage at the end of the ACL specification"
+msgstr "basura extra al final de la especificación de la ACL"
 
-#: utils/adt/formatting.c:1411
+#: utils/adt/acl.c:1198
 #, c-format
-msgid "\"%s\" is not a number"
-msgstr "«%s» no es un número"
+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/formatting.c:1512 utils/adt/formatting.c:1564
+#: utils/adt/acl.c:1259
 #, c-format
-msgid "could not determine which collation to use for lower() function"
-msgstr "no se pudo determinar qué ordenamiento (collation) usar para la función lower()"
+msgid "dependent privileges exist"
+msgstr "existen privilegios dependientes"
 
-#: utils/adt/formatting.c:1632 utils/adt/formatting.c:1684
+#: utils/adt/acl.c:1260
 #, c-format
-msgid "could not determine which collation to use for upper() function"
-msgstr "no se pudo determinar qué ordenamiento (collation) usar para la función upper()"
+msgid "Use CASCADE to revoke them too."
+msgstr "Use CASCADE para revocarlos también."
 
-#: utils/adt/formatting.c:1753 utils/adt/formatting.c:1817
+#: utils/adt/acl.c:1539
 #, c-format
-msgid "could not determine which collation to use for initcap() function"
-msgstr "no se pudo determinar qué ordenamiento (collation) usar para la función initcap()"
+msgid "aclinsert is no longer supported"
+msgstr "aclinsert ya no está soportado"
 
-#: utils/adt/formatting.c:2114
+#: utils/adt/acl.c:1549
 #, c-format
-msgid "invalid combination of date conventions"
-msgstr "combinacion invalida de convenciones de fecha"
+msgid "aclremove is no longer supported"
+msgstr "aclremove ya no está soportado"
 
-#: utils/adt/formatting.c:2115
+#: utils/adt/acl.c:1635 utils/adt/acl.c:1689
 #, 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 "unrecognized privilege type: \"%s\""
+msgstr "tipo de privilegio no reconocido: «%s»"
 
-#: utils/adt/formatting.c:2132
+#: utils/adt/acl.c:3489 utils/adt/regproc.c:123 utils/adt/regproc.c:144
+#: utils/adt/regproc.c:319
 #, c-format
-msgid "conflicting values for \"%s\" field in formatting string"
-msgstr "valores en conflicto para le campo \"%s\" en cadena de formato"
+msgid "function \"%s\" does not exist"
+msgstr "no existe la función «%s»"
 
-#: utils/adt/formatting.c:2134
+#: utils/adt/acl.c:4961
 #, 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 "must be member of role \"%s\""
+msgstr "debe ser miembro del rol «%s»"
 
-#: utils/adt/formatting.c:2195
+#: utils/adt/array_userfuncs.c:48
 #, c-format
-msgid "source string too short for \"%s\" formatting field"
-msgstr "cadena de texto fuente muy corta para campo formateado \"%s\" "
-
-#: utils/adt/formatting.c:2197
-#, c-format
-msgid "Field requires %d characters, but only %d remain."
-msgstr "El campo requiere %d caractéres, pero solo quedan %d."
+msgid "could not determine input data types"
+msgstr "no se pudo determinar el tipo de datos de entrada"
 
-#: utils/adt/formatting.c:2200 utils/adt/formatting.c:2214
+#: utils/adt/array_userfuncs.c:82
 #, 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 "neither input type is an array"
+msgstr "ninguno de los tipos de entrada es un array"
 
-#: utils/adt/formatting.c:2210 utils/adt/formatting.c:2223
-#: utils/adt/formatting.c:2353
+#: utils/adt/array_userfuncs.c:103 utils/adt/array_userfuncs.c:113
+#: utils/adt/arrayfuncs.c:1321 utils/adt/float.c:1171 utils/adt/float.c:1259
+#: utils/adt/float.c:2825 utils/adt/float.c:2841 utils/adt/int.c:623
+#: utils/adt/int.c:652 utils/adt/int.c:673 utils/adt/int.c:704
+#: utils/adt/int.c:737 utils/adt/int.c:759 utils/adt/int.c:907
+#: utils/adt/int.c:928 utils/adt/int.c:955 utils/adt/int.c:995
+#: utils/adt/int.c:1016 utils/adt/int.c:1043 utils/adt/int.c:1076
+#: utils/adt/int.c:1159 utils/adt/int8.c:1298 utils/adt/numeric.c:2301
+#: utils/adt/numeric.c:2310 utils/adt/varbit.c:1173 utils/adt/varbit.c:1575
+#: utils/adt/varlena.c:1013 utils/adt/varlena.c:2036
 #, c-format
-msgid "invalid value \"%s\" for \"%s\""
-msgstr "el valor «%s» no es válido para «%s»"
+msgid "integer out of range"
+msgstr "el entero está fuera de rango"
 
-#: utils/adt/formatting.c:2212
+#: utils/adt/array_userfuncs.c:121
 #, 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 "argument must be empty or one-dimensional array"
+msgstr "el argumento debe ser vacío o un array unidimensional"
 
-#: utils/adt/formatting.c:2225
+#: utils/adt/array_userfuncs.c:224 utils/adt/array_userfuncs.c:263
+#: utils/adt/array_userfuncs.c:300 utils/adt/array_userfuncs.c:329
+#: utils/adt/array_userfuncs.c:357
 #, c-format
-msgid "Value must be an integer."
-msgstr "El valor debe ser un entero."
+msgid "cannot concatenate incompatible arrays"
+msgstr "no se pueden concatenar arrays incompatibles"
 
-#: utils/adt/formatting.c:2230
+#: utils/adt/array_userfuncs.c:225
 #, 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 "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/formatting.c:2232
+#: utils/adt/array_userfuncs.c:264
 #, 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 "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/formatting.c:2355
+#: utils/adt/array_userfuncs.c:301
 #, 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 "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/formatting.c:2547 utils/adt/formatting.c:2567
-#: utils/adt/formatting.c:2587 utils/adt/formatting.c:2607
-#: utils/adt/formatting.c:2626 utils/adt/formatting.c:2645
-#: utils/adt/formatting.c:2668 utils/adt/formatting.c:2686
-#: utils/adt/formatting.c:2704 utils/adt/formatting.c:2722
-#: utils/adt/formatting.c:2739 utils/adt/formatting.c:2756
+#: utils/adt/array_userfuncs.c:330 utils/adt/array_userfuncs.c:358
 #, c-format
-msgid "localized string format value too long"
-msgstr "cadena traducida en cadena de formato es demasiado larga"
+msgid "Arrays with differing dimensions are not compatible for concatenation."
+msgstr "Los arrays con diferentes dimensiones son incompatibles para la concatenación."
 
-#: utils/adt/formatting.c:3040
+#: utils/adt/array_userfuncs.c:426 utils/adt/arrayfuncs.c:1283
+#: utils/adt/arrayfuncs.c:2969 utils/adt/arrayfuncs.c:4988
 #, c-format
-msgid "\"TZ\"/\"tz\"/\"OF\" format patterns are not supported in to_date"
-msgstr "los patrones de formato «TZ»/«tz»/«OF» no están soportados en to_date"
+msgid "invalid number of dimensions: %d"
+msgstr "número incorrecto de dimensiones: %d"
 
-#: utils/adt/formatting.c:3149
+#: utils/adt/array_userfuncs.c:487 utils/adt/json.c:1703 utils/adt/json.c:1798
+#: utils/adt/json.c:1829
 #, c-format
-msgid "invalid input string for \"Y,YYY\""
-msgstr "cadena de entrada no válida para «Y,YYY»"
+msgid "could not determine input data type"
+msgstr "no se pudo determinar el tipo de dato de entrada"
 
-#: utils/adt/formatting.c:3653
+#: utils/adt/arrayfuncs.c:241 utils/adt/arrayfuncs.c:255
+#: utils/adt/arrayfuncs.c:266 utils/adt/arrayfuncs.c:288
+#: utils/adt/arrayfuncs.c:303 utils/adt/arrayfuncs.c:317
+#: utils/adt/arrayfuncs.c:323 utils/adt/arrayfuncs.c:330
+#: utils/adt/arrayfuncs.c:461 utils/adt/arrayfuncs.c:477
+#: utils/adt/arrayfuncs.c:488 utils/adt/arrayfuncs.c:503
+#: utils/adt/arrayfuncs.c:524 utils/adt/arrayfuncs.c:554
+#: utils/adt/arrayfuncs.c:561 utils/adt/arrayfuncs.c:569
+#: utils/adt/arrayfuncs.c:603 utils/adt/arrayfuncs.c:626
+#: utils/adt/arrayfuncs.c:646 utils/adt/arrayfuncs.c:758
+#: utils/adt/arrayfuncs.c:767 utils/adt/arrayfuncs.c:797
+#: utils/adt/arrayfuncs.c:812 utils/adt/arrayfuncs.c:865
 #, 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 "malformed array literal: \"%s\""
+msgstr "literal de array no es válido: «%s»"
 
-#: utils/adt/formatting.c:3655
+#: utils/adt/arrayfuncs.c:242
 #, 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 "\"[\" must introduce explicitly-specified array dimensions."
+msgstr "Un «[» debe introducir dimensiones de array especificadas explícitamente."
 
-#: utils/adt/formatting.c:3750
+#: utils/adt/arrayfuncs.c:256
 #, 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 "Missing array dimension value."
+msgstr "Falta un valor de dimensión de array."
 
-#: utils/adt/formatting.c:4599
+#: utils/adt/arrayfuncs.c:267 utils/adt/arrayfuncs.c:304
 #, c-format
-msgid "\"EEEE\" not supported for input"
-msgstr "«EEEE» no está soportado en la entrada"
+msgid "Missing \"%s\" after array dimensions."
+msgstr "Falta «%s» luego de las dimensiones de array."
 
-#: utils/adt/formatting.c:4611
+#: utils/adt/arrayfuncs.c:276 utils/adt/arrayfuncs.c:2494
+#: utils/adt/arrayfuncs.c:2522 utils/adt/arrayfuncs.c:2537
 #, c-format
-msgid "\"RN\" not supported for input"
-msgstr "«RN» no está soportado en la entrada"
+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/genfile.c:61
+#: utils/adt/arrayfuncs.c:289
 #, c-format
-msgid "reference to parent directory (\"..\") not allowed"
-msgstr "no se permiten referencias a directorios padre («..»)"
+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/genfile.c:72
+#: utils/adt/arrayfuncs.c:318
 #, c-format
-msgid "absolute path not allowed"
-msgstr "no se permiten rutas absolutas"
+msgid "Array contents must start with \"{\"."
+msgstr "El contenido del array debe empezar con «{»."
 
-#: utils/adt/genfile.c:77
+#: utils/adt/arrayfuncs.c:324 utils/adt/arrayfuncs.c:331
 #, c-format
-msgid "path must be in or below the current directory"
-msgstr "la ruta debe estar en o debajo del directorio actual"
+msgid "Specified array dimensions do not match array contents."
+msgstr "Las dimensiones del array especificadas no coinciden con el contenido del array."
 
-#: utils/adt/genfile.c:118 utils/adt/oracle_compat.c:184
-#: utils/adt/oracle_compat.c:282 utils/adt/oracle_compat.c:758
-#: utils/adt/oracle_compat.c:1059
+#: utils/adt/arrayfuncs.c:462 utils/adt/arrayfuncs.c:489
+#: utils/adt/rangetypes.c:2096 utils/adt/rangetypes.c:2104
+#: utils/adt/rowtypes.c:208 utils/adt/rowtypes.c:216
 #, c-format
-msgid "requested length too large"
-msgstr "el tamaño solicitado es demasiado grande"
+msgid "Unexpected end of input."
+msgstr "Fin inesperado de la entrada."
 
-#: utils/adt/genfile.c:130
+#: utils/adt/arrayfuncs.c:478 utils/adt/arrayfuncs.c:525
+#: utils/adt/arrayfuncs.c:555 utils/adt/arrayfuncs.c:604
 #, c-format
-msgid "could not seek in file \"%s\": %m"
-msgstr "no se pudo posicionar (seek) el archivo «%s»: %m"
+msgid "Unexpected \"%c\" character."
+msgstr "Carácter «%c» inesperado."
 
-#: utils/adt/genfile.c:180 utils/adt/genfile.c:204 utils/adt/genfile.c:225
-#: utils/adt/genfile.c:249
+#: utils/adt/arrayfuncs.c:504 utils/adt/arrayfuncs.c:627
 #, c-format
-msgid "must be superuser to read files"
-msgstr "debe ser superusuario para leer archivos"
+msgid "Unexpected array element."
+msgstr "Elemento de array inesperado."
 
-#: utils/adt/genfile.c:273
+#: utils/adt/arrayfuncs.c:562
 #, c-format
-msgid "must be superuser to get file information"
-msgstr "debe ser superusuario obtener información de archivos"
+msgid "Unmatched \"%c\" character."
+msgstr "Carácter «%c» sin pareja"
 
-#: utils/adt/genfile.c:337
+#: utils/adt/arrayfuncs.c:570
 #, c-format
-msgid "must be superuser to get directory listings"
-msgstr "debe ser superusuario para obtener listados de directorio"
+msgid "Multidimensional arrays must have sub-arrays with matching dimensions."
+msgstr "Los arrays multidimensionales deben tener sub-arrays con dimensiones coincidentes."
 
-#: utils/adt/geo_ops.c:300 utils/adt/geo_ops.c:1399 utils/adt/geo_ops.c:3469
-#: utils/adt/geo_ops.c:4247 utils/adt/geo_ops.c:5176
+#: utils/adt/arrayfuncs.c:647
 #, c-format
-msgid "too many points requested"
-msgstr "se pidieron demasiados puntos"
+msgid "Junk after closing right brace."
+msgstr "Basura después de la llave derecha de cierre."
 
-#: utils/adt/geo_ops.c:323
+#: utils/adt/arrayfuncs.c:904 utils/adt/arrayfuncs.c:1518
+#: utils/adt/arrayfuncs.c:2853 utils/adt/arrayfuncs.c:3001
+#: utils/adt/arrayfuncs.c:5082 utils/adt/arrayfuncs.c:5414
+#: utils/adt/arrayutils.c:93 utils/adt/arrayutils.c:102
+#: utils/adt/arrayutils.c:109
 #, c-format
-msgid "could not format \"path\" value"
-msgstr "no se pudo dar formato a «path»"
+msgid "array size exceeds the maximum allowed (%d)"
+msgstr "el tamaño del array excede el máximo permitido (%d)"
 
-#: utils/adt/geo_ops.c:398
+#: utils/adt/arrayfuncs.c:1294
 #, c-format
-msgid "invalid input syntax for type box: \"%s\""
-msgstr "la sintaxis de entrada no es válida para tipo box: «%s»"
+msgid "invalid array flags"
+msgstr "opciones de array no válidas"
 
-#: utils/adt/geo_ops.c:993
+#: utils/adt/arrayfuncs.c:1302
 #, 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 "wrong element type"
+msgstr "el tipo de elemento es erróneo"
 
-#: utils/adt/geo_ops.c:1002
+#: utils/adt/arrayfuncs.c:1352 utils/adt/rangetypes.c:334
+#: utils/cache/lsyscache.c:2549
 #, 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 "no binary input function available for type %s"
+msgstr "no hay una función binaria de entrada para el tipo %s"
 
-#: utils/adt/geo_ops.c:1007
+#: utils/adt/arrayfuncs.c:1492
 #, c-format
-msgid "invalid input syntax for type line: \"%s\""
-msgstr "la sintaxis de entrada no es válida para tipo line: «%s»"
+msgid "improper binary format in array element %d"
+msgstr "el formato binario no es válido en elemento %d de array"
 
-#: utils/adt/geo_ops.c:1379 utils/adt/geo_ops.c:1410
+#: utils/adt/arrayfuncs.c:1574 utils/adt/rangetypes.c:339
+#: utils/cache/lsyscache.c:2582
 #, c-format
-msgid "invalid input syntax for type path: \"%s\""
-msgstr "la sintaxis de entrada no es válida para tipo «path»: «%s»"
+msgid "no binary output function available for type %s"
+msgstr "no hay una función binaria de salida para el tipo %s"
 
-#: utils/adt/geo_ops.c:1449
+#: utils/adt/arrayfuncs.c:1961
 #, 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 "slices of fixed-length arrays not implemented"
+msgstr "no está implementada la obtención de segmentos de arrays de largo fijo"
 
-#: utils/adt/geo_ops.c:1792
+#: utils/adt/arrayfuncs.c:2134 utils/adt/arrayfuncs.c:2156
+#: utils/adt/arrayfuncs.c:2190 utils/adt/arrayfuncs.c:2476
+#: utils/adt/arrayfuncs.c:4974 utils/adt/arrayfuncs.c:5000
+#: utils/adt/arrayfuncs.c:5011 utils/adt/json.c:2183 utils/adt/json.c:2258
 #, c-format
-msgid "invalid input syntax for type point: \"%s\""
-msgstr "la sintaxis de entrada no es válida para tipo point: «%s»"
+msgid "wrong number of array subscripts"
+msgstr "número incorrecto de subíndices del array"
 
-#: utils/adt/geo_ops.c:2020
+#: utils/adt/arrayfuncs.c:2139 utils/adt/arrayfuncs.c:2232
+#: utils/adt/arrayfuncs.c:2527
 #, c-format
-msgid "invalid input syntax for type lseg: \"%s\""
-msgstr "la sintaxis de entrada no es válida para tipo lseg: «%s»"
+msgid "array subscript out of range"
+msgstr "los subíndices de arrays están fuera de rango"
 
-#: utils/adt/geo_ops.c:2624
+#: utils/adt/arrayfuncs.c:2144
 #, c-format
-msgid "function \"dist_lb\" not implemented"
-msgstr "la función «dist_lb» no está implementada"
+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/geo_ops.c:3044
+#: utils/adt/arrayfuncs.c:2430
 #, c-format
-msgid "function \"close_sl\" not implemented"
-msgstr "la función «close_sl» no está implementada"
+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/geo_ops.c:3146
+#: utils/adt/arrayfuncs.c:2466 utils/adt/arrayfuncs.c:2553
 #, c-format
-msgid "function \"close_lb\" not implemented"
-msgstr "la función «close_lb» no está implementada"
+msgid "source array too small"
+msgstr "el array de origen es demasiado pequeño"
 
-#: utils/adt/geo_ops.c:3435
+#: utils/adt/arrayfuncs.c:3108
 #, c-format
-msgid "cannot create bounding box for empty polygon"
-msgstr "no se puede crear una caja de contorno para un polígono vacío"
+msgid "null array element not allowed in this context"
+msgstr "los arrays con elementos null no son permitidos en este contexto"
 
-#: utils/adt/geo_ops.c:3460 utils/adt/geo_ops.c:3480
+#: utils/adt/arrayfuncs.c:3211 utils/adt/arrayfuncs.c:3419
+#: utils/adt/arrayfuncs.c:3736
 #, c-format
-msgid "invalid input syntax for type polygon: \"%s\""
-msgstr "la sintaxis de entrada no es válida para tipo polygon: «%s»"
+msgid "cannot compare arrays of different element types"
+msgstr "no se pueden comparar arrays con elementos de distintos tipos"
 
-#: utils/adt/geo_ops.c:3520
+#: utils/adt/arrayfuncs.c:3621 utils/adt/rangetypes.c:1225
 #, 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 "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/geo_ops.c:4045
+#: utils/adt/arrayfuncs.c:4872 utils/adt/arrayfuncs.c:4912
 #, c-format
-msgid "function \"poly_distance\" not implemented"
-msgstr "la función «poly_distance» no está implementada"
+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/geo_ops.c:4359
+#: utils/adt/arrayfuncs.c:4975 utils/adt/arrayfuncs.c:5001
 #, c-format
-msgid "function \"path_center\" not implemented"
-msgstr "la función «path_center» no está implementada"
+msgid "Dimension array must be one dimensional."
+msgstr "El array de dimensiones debe ser unidimensional."
 
-#: utils/adt/geo_ops.c:4376
+#: utils/adt/arrayfuncs.c:4980 utils/adt/arrayfuncs.c:5006
 #, c-format
-msgid "open path cannot be converted to polygon"
-msgstr "no se puede convertir un camino abierto en polygon"
+msgid "dimension values cannot be null"
+msgstr "los valores de dimensión no pueden ser null"
 
-#: utils/adt/geo_ops.c:4553 utils/adt/geo_ops.c:4563 utils/adt/geo_ops.c:4578
-#: utils/adt/geo_ops.c:4584
+#: utils/adt/arrayfuncs.c:5012
 #, c-format
-msgid "invalid input syntax for type circle: \"%s\""
-msgstr "la sintaxis de entrada no es válida para el tipo circle: «%s»"
+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/geo_ops.c:4606 utils/adt/geo_ops.c:4614
+#: utils/adt/arrayfuncs.c:5279
 #, c-format
-msgid "could not format \"circle\" value"
-msgstr "no se pudo dar formato al valor «circle»"
+msgid "removing elements from multidimensional arrays is not supported"
+msgstr "la eliminación de elementos desde arrays multidimensionales no está soportada"
 
-#: utils/adt/geo_ops.c:4641
+#: utils/adt/arrayutils.c:209
 #, c-format
-msgid "invalid radius in external \"circle\" value"
-msgstr "el radio no es válido en el valor «circle» externo"
+msgid "typmod array must be type cstring[]"
+msgstr "el array de typmod debe ser de tipo cstring[]"
 
-#: utils/adt/geo_ops.c:5162
+#: utils/adt/arrayutils.c:214
 #, 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 "typmod array must be one-dimensional"
+msgstr "array de typmod debe ser unidimensional"
 
-#: utils/adt/geo_ops.c:5167
+#: utils/adt/arrayutils.c:219
 #, c-format
-msgid "must request at least 2 points"
-msgstr "debe pedir al menos 2 puntos"
+msgid "typmod array must not contain nulls"
+msgstr "los arrays de typmod no deben contener valores nulos"
 
-#: utils/adt/geo_ops.c:5211
+#: utils/adt/ascii.c:75
 #, c-format
-msgid "cannot convert empty polygon to circle"
-msgstr "no se puede convertir polígono vacío a circle"
+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/int.c:162
+#: utils/adt/bool.c:153
 #, c-format
-msgid "int2vector has too many elements"
-msgstr "int2vector tiene demasiados elementos"
+msgid "invalid input syntax for type boolean: \"%s\""
+msgstr "la sintaxis de entrada no es válida para tipo boolean: «%s»"
 
-#: utils/adt/int.c:237
+#: utils/adt/cash.c:246
 #, c-format
-msgid "invalid int2vector data"
-msgstr "datos de int2vector no válidos"
+msgid "invalid input syntax for type money: \"%s\""
+msgstr "la sintaxis de entrada no es válida para tipo money: «%s»"
 
-#: utils/adt/int.c:243 utils/adt/oid.c:212 utils/adt/oid.c:293
+#: utils/adt/cash.c:607 utils/adt/cash.c:657 utils/adt/cash.c:708
+#: utils/adt/cash.c:757 utils/adt/cash.c:809 utils/adt/cash.c:859
+#: utils/adt/float.c:785 utils/adt/float.c:849 utils/adt/float.c:2584
+#: utils/adt/float.c:2647 utils/adt/geo_ops.c:4126 utils/adt/int.c:719
+#: utils/adt/int.c:861 utils/adt/int.c:969 utils/adt/int.c:1058
+#: utils/adt/int.c:1097 utils/adt/int.c:1125 utils/adt/int8.c:597
+#: utils/adt/int8.c:657 utils/adt/int8.c:897 utils/adt/int8.c:1005
+#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:4981
+#: utils/adt/numeric.c:5264 utils/adt/timestamp.c:3458
 #, c-format
-msgid "oidvector has too many elements"
-msgstr "el oidvector tiene demasiados elementos"
+msgid "division by zero"
+msgstr "división por cero"
 
-#: utils/adt/int.c:1362 utils/adt/int8.c:1460 utils/adt/timestamp.c:5327
-#: utils/adt/timestamp.c:5408
+#: utils/adt/char.c:169
 #, c-format
-msgid "step size cannot equal zero"
-msgstr "el tamaño de paso no puede ser cero"
+msgid "\"char\" out of range"
+msgstr "«char» está fuera de rango"
 
-#: utils/adt/int8.c:98 utils/adt/int8.c:133 utils/adt/numutils.c:51
-#: utils/adt/numutils.c:61 utils/adt/numutils.c:103
+#: utils/adt/date.c:67 utils/adt/timestamp.c:102 utils/adt/varbit.c:52
+#: utils/adt/varchar.c:44
 #, c-format
-msgid "invalid input syntax for integer: \"%s\""
-msgstr "la sintaxis de entrada no es válida para integer: «%s»"
+msgid "invalid type modifier"
+msgstr "el modificador de tipo no es válido"
 
-#: utils/adt/int8.c:114
+#: utils/adt/date.c:72
 #, c-format
-msgid "value \"%s\" is out of range for type bigint"
-msgstr "el valor «%s» está fuera de rango para el tipo bigint"
+msgid "TIME(%d)%s precision must not be negative"
+msgstr "la precisión de TIME(%d)%s no debe ser negativa"
 
-#: utils/adt/int8.c:500 utils/adt/int8.c:529 utils/adt/int8.c:550
-#: utils/adt/int8.c:581 utils/adt/int8.c:615 utils/adt/int8.c:640
-#: utils/adt/int8.c:697 utils/adt/int8.c:714 utils/adt/int8.c:741
-#: utils/adt/int8.c:758 utils/adt/int8.c:834 utils/adt/int8.c:855
-#: utils/adt/int8.c:882 utils/adt/int8.c:915 utils/adt/int8.c:943
-#: utils/adt/int8.c:964 utils/adt/int8.c:991 utils/adt/int8.c:1031
-#: utils/adt/int8.c:1052 utils/adt/int8.c:1079 utils/adt/int8.c:1112
-#: utils/adt/int8.c:1140 utils/adt/int8.c:1161 utils/adt/int8.c:1188
-#: utils/adt/int8.c:1361 utils/adt/int8.c:1400 utils/adt/numeric.c:2353
-#: utils/adt/varbit.c:1655
+#: utils/adt/date.c:78
 #, c-format
-msgid "bigint out of range"
-msgstr "bigint está 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/int8.c:1417
+#: utils/adt/date.c:141 utils/adt/datetime.c:1209 utils/adt/datetime.c:2125
 #, c-format
-msgid "OID out of range"
-msgstr "OID está fuera de rango"
+msgid "date/time value \"current\" is no longer supported"
+msgstr "valor de hora/fecha «current» ya no está soportado"
 
-#: utils/adt/json.c:738 utils/adt/json.c:778 utils/adt/json.c:793
-#: utils/adt/json.c:804 utils/adt/json.c:814 utils/adt/json.c:865
-#: utils/adt/json.c:896 utils/adt/json.c:914 utils/adt/json.c:926
-#: utils/adt/json.c:938 utils/adt/json.c:1083 utils/adt/json.c:1097
-#: utils/adt/json.c:1108 utils/adt/json.c:1116 utils/adt/json.c:1124
-#: utils/adt/json.c:1132 utils/adt/json.c:1140 utils/adt/json.c:1148
-#: utils/adt/json.c:1156 utils/adt/json.c:1164 utils/adt/json.c:1194
+#: utils/adt/date.c:166 utils/adt/formatting.c:3521
 #, c-format
-msgid "invalid input syntax for type json"
-msgstr "sintaxis de entrada no válida para tipo json"
+msgid "date out of range: \"%s\""
+msgstr "fecha fuera de rango: «%s»"
 
-#: utils/adt/json.c:739
+#: utils/adt/date.c:216 utils/adt/xml.c:2130
 #, c-format
-msgid "Character with value 0x%02x must be escaped."
-msgstr "Los caracteres con valor 0x%02x deben ser escapados"
+msgid "date out of range"
+msgstr "la fecha fuera de rango"
 
-#: utils/adt/json.c:779
+#: utils/adt/date.c:258 utils/adt/timestamp.c:600
 #, c-format
-msgid "\"\\u\" must be followed by four hexadecimal digits."
-msgstr "«\\u» debe ser seguido por cuatro dígitos hexadecimales."
+msgid "date field value out of range: %d-%02d-%02d"
+msgstr "un valor en el campo de fecha está fuera de rango: %d-%02d-%02d"
 
-#: utils/adt/json.c:794
+#: utils/adt/date.c:264 utils/adt/timestamp.c:606
 #, c-format
-msgid "Unicode high surrogate must not follow a high surrogate."
-msgstr "Un «high-surrogate» Unicode no puede venir después de un «high-surrogate»."
+msgid "date out of range: %d-%02d-%02d"
+msgstr "fecha fuera de rango: %d-%02d-%02d"
 
-#: utils/adt/json.c:805 utils/adt/json.c:815 utils/adt/json.c:866
-#: utils/adt/json.c:927 utils/adt/json.c:939
+#: utils/adt/date.c:417
 #, c-format
-msgid "Unicode low surrogate must follow a high surrogate."
-msgstr "Un «low-surrogate» Unicode debe seguir a un «high-surrogate»."
+msgid "cannot subtract infinite dates"
+msgstr "no se pueden restar fechas infinitas"
 
-#: utils/adt/json.c:830 utils/adt/json.c:853
+#: utils/adt/date.c:474 utils/adt/date.c:511
 #, c-format
-msgid "unsupported Unicode escape sequence"
-msgstr "secuencia de escape Unicode no soportado"
+msgid "date out of range for timestamp"
+msgstr "fecha fuera de rango para timestamp"
 
-#: utils/adt/json.c:831
+#: utils/adt/date.c:970 utils/adt/date.c:1016 utils/adt/date.c:1616
+#: utils/adt/date.c:1652 utils/adt/date.c:2524 utils/adt/datetime.c:1693
+#: utils/adt/formatting.c:3397 utils/adt/formatting.c:3429
+#: utils/adt/formatting.c:3497 utils/adt/json.c:1478 utils/adt/json.c:1500
+#: utils/adt/nabstime.c:458 utils/adt/nabstime.c:501 utils/adt/nabstime.c:531
+#: utils/adt/nabstime.c:574 utils/adt/timestamp.c:232 utils/adt/timestamp.c:275
+#: utils/adt/timestamp.c:724 utils/adt/timestamp.c:753
+#: utils/adt/timestamp.c:792 utils/adt/timestamp.c:3047
+#: utils/adt/timestamp.c:3068 utils/adt/timestamp.c:3081
+#: utils/adt/timestamp.c:3090 utils/adt/timestamp.c:3147
+#: utils/adt/timestamp.c:3170 utils/adt/timestamp.c:3183
+#: utils/adt/timestamp.c:3194 utils/adt/timestamp.c:3719
+#: utils/adt/timestamp.c:3848 utils/adt/timestamp.c:3889
+#: utils/adt/timestamp.c:3977 utils/adt/timestamp.c:4023
+#: utils/adt/timestamp.c:4134 utils/adt/timestamp.c:4458
+#: utils/adt/timestamp.c:4574 utils/adt/timestamp.c:4584
+#: utils/adt/timestamp.c:4669 utils/adt/timestamp.c:4788
+#: utils/adt/timestamp.c:4798 utils/adt/timestamp.c:5033
+#: utils/adt/timestamp.c:5047 utils/adt/timestamp.c:5126
+#: utils/adt/timestamp.c:5133 utils/adt/timestamp.c:5159
+#: utils/adt/timestamp.c:5163 utils/adt/timestamp.c:5232 utils/adt/xml.c:2152
+#: utils/adt/xml.c:2159 utils/adt/xml.c:2179 utils/adt/xml.c:2186
 #, c-format
-msgid "\\u0000 cannot be converted to text."
-msgstr "\\u0000 no puede ser convertido a text."
+msgid "timestamp out of range"
+msgstr "el timestamp está fuera de rango"
 
-#: utils/adt/json.c:854
+#: utils/adt/date.c:1042
 #, c-format
-msgid "Unicode escape values cannot be used for code point values above 007F when the server encoding is not UTF8."
-msgstr "Los valores de escape Unicode no pueden ser usados para valores de «code point» sobre 007F cuando la codificación de servidor no es UTF8."
+msgid "cannot convert reserved abstime value to date"
+msgstr "no se puede convertir un valor reservado de abstime a date"
 
-#: utils/adt/json.c:897 utils/adt/json.c:915
+#: utils/adt/date.c:1196 utils/adt/date.c:1203 utils/adt/date.c:2014
+#: utils/adt/date.c:2021
 #, c-format
-msgid "Escape sequence \"\\%s\" is invalid."
-msgstr "La secuencia de escape «%s» no es válida."
+msgid "time out of range"
+msgstr "hora fuera de rango"
 
-#: utils/adt/json.c:1084
+#: utils/adt/date.c:1264 utils/adt/timestamp.c:625
 #, c-format
-msgid "The input string ended unexpectedly."
-msgstr "La cadena de entrada terminó inesperadamente."
+msgid "time field value out of range: %d:%02d:%02g"
+msgstr "un valor en el campo de hora está fuera de rango: %d:%02d:%02g"
 
-#: utils/adt/json.c:1098
+#: utils/adt/date.c:1892 utils/adt/date.c:1909
 #, c-format
-msgid "Expected end of input, but found \"%s\"."
-msgstr "Se esperaba el fin de la entrada, se encontró «%s»."
+msgid "\"time\" units \"%s\" not recognized"
+msgstr "las unidades de «time» «%s» no son reconocidas"
 
-#: utils/adt/json.c:1109
+#: utils/adt/date.c:2030
 #, c-format
-msgid "Expected JSON value, but found \"%s\"."
-msgstr "Se esperaba un valor JSON, se encontró «%s»."
+msgid "time zone displacement out of range"
+msgstr "desplazamiento de huso horario fuera de rango"
 
-#: utils/adt/json.c:1117 utils/adt/json.c:1165
+#: utils/adt/date.c:2654 utils/adt/date.c:2671
 #, c-format
-msgid "Expected string, but found \"%s\"."
-msgstr "Se esperaba una cadena, se encontró «%s»."
+msgid "\"time with time zone\" units \"%s\" not recognized"
+msgstr "las unidades de «timestamp with time zone» «%s» no son reconocidas"
 
-#: utils/adt/json.c:1125
+#: utils/adt/date.c:2744 utils/adt/datetime.c:926 utils/adt/datetime.c:1851
+#: utils/adt/datetime.c:4612 utils/adt/timestamp.c:539
+#: utils/adt/timestamp.c:566 utils/adt/timestamp.c:5059
+#: utils/adt/timestamp.c:5243
 #, c-format
-msgid "Expected array element or \"]\", but found \"%s\"."
-msgstr "Se esperaba un elemento de array o «]», se encontró «%s»."
+msgid "time zone \"%s\" not recognized"
+msgstr "el huso horario «%s» no es reconocido"
 
-#: utils/adt/json.c:1133
+#: utils/adt/date.c:2784 utils/adt/timestamp.c:5084 utils/adt/timestamp.c:5269
 #, c-format
-msgid "Expected \",\" or \"]\", but found \"%s\"."
-msgstr "Se esperaba «,» o «]», se encontró «%s»."
+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/json.c:1141
+#: utils/adt/datetime.c:3812 utils/adt/datetime.c:3819
 #, c-format
-msgid "Expected string or \"}\", but found \"%s\"."
-msgstr "Se esperaba una cadena o «}», se encontró «%s»."
+msgid "date/time field value out of range: \"%s\""
+msgstr "el valor de hora/fecha está fuera de rango: «%s»"
 
-#: utils/adt/json.c:1149
+#: utils/adt/datetime.c:3821
 #, c-format
-msgid "Expected \":\", but found \"%s\"."
-msgstr "Se esperaba «:», se encontró «%s»."
+msgid "Perhaps you need a different \"datestyle\" setting."
+msgstr "Quizás necesite una configuración diferente de «datestyle»."
 
-#: utils/adt/json.c:1157
+#: utils/adt/datetime.c:3826
 #, c-format
-msgid "Expected \",\" or \"}\", but found \"%s\"."
-msgstr "Se esperaba «,» o «}», se encontró «%s»."
+msgid "interval field value out of range: \"%s\""
+msgstr "el valor de interval está fuera de rango: «%s»"
 
-#: utils/adt/json.c:1195
+#: utils/adt/datetime.c:3832
 #, c-format
-msgid "Token \"%s\" is invalid."
-msgstr "El elemento «%s» no es válido."
+msgid "time zone displacement out of range: \"%s\""
+msgstr "el desplazamiento de huso horario está fuera de rango: «%s»"
 
-#: utils/adt/json.c:1267
+#. translator: first %s is inet or cidr
+#: utils/adt/datetime.c:3839 utils/adt/network.c:58
 #, c-format
-msgid "JSON data, line %d: %s%s%s"
-msgstr "Datos JSON, línea %d: %s%s%s"
+msgid "invalid input syntax for type %s: \"%s\""
+msgstr "la sintaxis de entrada no es válida para tipo %s: «%s»"
 
-#: utils/adt/json.c:1412
+#: utils/adt/datetime.c:4614
 #, 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 "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/json.c:1959 utils/adt/json.c:1977 utils/adt/json.c:2071
-#: utils/adt/json.c:2092 utils/adt/json.c:2151
+#: utils/adt/datum.c:80 utils/adt/datum.c:92
 #, 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 Datum pointer"
+msgstr "puntero a Datum no válido"
 
-#: utils/adt/json.c:1964
+#: utils/adt/dbsize.c:108
 #, c-format
-msgid "field name must not be null"
-msgstr "el nombre de campo no debe ser null"
+msgid "could not open tablespace directory \"%s\": %m"
+msgstr "no se pudo abrir el directorio de tablespace «%s»: %m"
 
-#: utils/adt/json.c:2046
+#: utils/adt/domains.c:83
 #, 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 "type %s is not a domain"
+msgstr "tipo «%s» no es un dominio"
 
-#: utils/adt/json.c:2047
+#: utils/adt/encode.c:55 utils/adt/encode.c:91
 #, c-format
-msgid "The arguments of json_build_object() must consist of alternating keys and values."
-msgstr "Los argumentos de json_build_object() deben consistir de llaves y valores alternados."
+msgid "unrecognized encoding: \"%s\""
+msgstr "no se reconoce la codificación: «%s»"
 
-#: utils/adt/json.c:2077
+#: utils/adt/encode.c:150
 #, c-format
-msgid "argument %d cannot be null"
-msgstr "el argumento %d no puede ser null"
+msgid "invalid hexadecimal digit: \"%c\""
+msgstr "el dígito hexadecimal no es válido: «%c»"
 
-#: utils/adt/json.c:2078
+#: utils/adt/encode.c:178
 #, c-format
-msgid "Object keys should be text."
-msgstr "Las llaves de un objeto deben ser de texto."
+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/json.c:2213
+#: utils/adt/encode.c:295
 #, c-format
-msgid "array must have two columns"
-msgstr "un array debe tener dos columnas"
+msgid "unexpected \"=\""
+msgstr "«=» inesperado"
 
-#: utils/adt/json.c:2237 utils/adt/json.c:2321
+#: utils/adt/encode.c:307
 #, c-format
-msgid "null value not allowed for object key"
-msgstr "no se permite el valor nulo como llave en un objeto"
+msgid "invalid symbol"
+msgstr "símbolo no válido"
 
-#: utils/adt/json.c:2310
+#: utils/adt/encode.c:327
 #, c-format
-msgid "mismatched array dimensions"
-msgstr "las dimensiones de array no coinciden"
+msgid "invalid end sequence"
+msgstr "secuencia de término no válida"
 
-#: utils/adt/jsonb.c:202
+#: utils/adt/encode.c:441 utils/adt/encode.c:506 utils/adt/varlena.c:255
+#: utils/adt/varlena.c:296
 #, c-format
-msgid "string too long to represent as jsonb string"
-msgstr "la cadena es demasiado larga para representarla como cadena jsonb."
+msgid "invalid input syntax for type bytea"
+msgstr "sintaxis de entrada no válida para tipo bytea"
 
-#: utils/adt/jsonb.c:203
+#: utils/adt/enum.c:48 utils/adt/enum.c:58 utils/adt/enum.c:113
+#: utils/adt/enum.c:123
 #, 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 "invalid input value for enum %s: \"%s\""
+msgstr "la sintaxis de entrada no es válida para el enum %s: «%s»"
 
-#: utils/adt/jsonb_util.c:656
+#: utils/adt/enum.c:85 utils/adt/enum.c:148 utils/adt/enum.c:198
 #, 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 internal value for enum: %u"
+msgstr "el valor interno no es válido para enum: %u"
 
-#: utils/adt/jsonb_util.c:697
+#: utils/adt/enum.c:357 utils/adt/enum.c:386 utils/adt/enum.c:426
+#: utils/adt/enum.c:446
 #, 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 "could not determine actual enum type"
+msgstr "no se pudo determinar el tipo enum efectivo"
 
-#: utils/adt/jsonb_util.c:1524 utils/adt/jsonb_util.c:1544
+#: utils/adt/enum.c:365 utils/adt/enum.c:394
 #, 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 "enum %s contains no values"
+msgstr "el enum %s no contiene valores"
 
-#: utils/adt/jsonb_util.c:1605 utils/adt/jsonb_util.c:1640
-#: utils/adt/jsonb_util.c:1660
+#: utils/adt/float.c:55
 #, 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 "value out of range: overflow"
+msgstr "valor fuera de rango: desbordamiento"
 
-#: utils/adt/jsonfuncs.c:263 utils/adt/jsonfuncs.c:428
-#: utils/adt/jsonfuncs.c:1968 utils/adt/jsonfuncs.c:2409
-#: utils/adt/jsonfuncs.c:2915
+#: utils/adt/float.c:60
 #, c-format
-msgid "cannot call %s on a scalar"
-msgstr "no se puede invocar %s en un escalar"
+msgid "value out of range: underflow"
+msgstr "valor fuera de rango: desbordamiento por abajo"
 
-#: utils/adt/jsonfuncs.c:268 utils/adt/jsonfuncs.c:415
-#: utils/adt/jsonfuncs.c:2398
+#: utils/adt/float.c:215 utils/adt/float.c:289 utils/adt/float.c:313
 #, c-format
-msgid "cannot call %s on an array"
-msgstr "no se puede invocar %s en un array"
+msgid "invalid input syntax for type real: \"%s\""
+msgstr "la sintaxis de entrada no es válida para tipo real: «%s»"
 
-#: utils/adt/jsonfuncs.c:1276 utils/adt/jsonfuncs.c:1311
+#: utils/adt/float.c:283
 #, c-format
-msgid "cannot get array length of a scalar"
-msgstr "no se puede obtener el largo de array de un escalar"
+msgid "\"%s\" is out of range for type real"
+msgstr "«%s» está fuera de rango para el tipo real"
 
-#: utils/adt/jsonfuncs.c:1280 utils/adt/jsonfuncs.c:1299
+#: utils/adt/float.c:414 utils/adt/float.c:488 utils/adt/float.c:512
+#: utils/adt/numeric.c:4437 utils/adt/numeric.c:4463
 #, 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 "invalid input syntax for type double precision: \"%s\""
+msgstr "la sintaxis de entrada no es válida para tipo double precision: «%s»"
 
-#: utils/adt/jsonfuncs.c:1376
+#: utils/adt/float.c:482
 #, c-format
-msgid "cannot call %s on a non-object"
-msgstr "no se puede invocar %s en un no-objeto"
+msgid "\"%s\" is out of range for type double precision"
+msgstr "«%s» está fuera de rango para el tipo double precision"
 
-#: utils/adt/jsonfuncs.c:1394 utils/adt/jsonfuncs.c:2081
-#: utils/adt/jsonfuncs.c:2618
+#: utils/adt/float.c:1203 utils/adt/float.c:1291 utils/adt/int.c:349
+#: utils/adt/int.c:775 utils/adt/int.c:804 utils/adt/int.c:825
+#: utils/adt/int.c:845 utils/adt/int.c:879 utils/adt/int.c:1174
+#: utils/adt/int8.c:1323 utils/adt/numeric.c:2398 utils/adt/numeric.c:2407
 #, 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 "smallint out of range"
+msgstr "smallint está fuera de rango"
 
-#: utils/adt/jsonfuncs.c:1637
+#: utils/adt/float.c:1417 utils/adt/numeric.c:5663
 #, c-format
-msgid "cannot deconstruct an array as an object"
-msgstr "no se puede desconstruir un array como un objeto"
+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/jsonfuncs.c:1649
+#: utils/adt/float.c:1459 utils/adt/numeric.c:2218
 #, c-format
-msgid "cannot deconstruct a scalar"
-msgstr "no se puede desconstruir un escalar"
+msgid "zero raised to a negative power is undefined"
+msgstr "cero elevado a una potencia negativa es indefinido"
 
-#: utils/adt/jsonfuncs.c:1695
+#: utils/adt/float.c:1463 utils/adt/numeric.c:2224
 #, c-format
-msgid "cannot extract elements from a scalar"
-msgstr "no se pueden extraer elementos de un escalar"
+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/jsonfuncs.c:1699
+#: utils/adt/float.c:1529 utils/adt/float.c:1559 utils/adt/numeric.c:5881
 #, c-format
-msgid "cannot extract elements from an object"
-msgstr "no se pudo extraer elementos de un objeto"
+msgid "cannot take logarithm of zero"
+msgstr "no se puede calcular logaritmo de cero"
 
-#: utils/adt/jsonfuncs.c:1955 utils/adt/jsonfuncs.c:2714
+#: utils/adt/float.c:1533 utils/adt/float.c:1563 utils/adt/numeric.c:5885
 #, c-format
-msgid "cannot call %s on a non-array"
-msgstr "no se puede invocar %s en un no-array"
+msgid "cannot take logarithm of a negative number"
+msgstr "no se puede calcular logaritmo de un número negativo"
 
-#: utils/adt/jsonfuncs.c:2042 utils/adt/jsonfuncs.c:2594
+#: utils/adt/float.c:1590 utils/adt/float.c:1611 utils/adt/float.c:1632
+#: utils/adt/float.c:1654 utils/adt/float.c:1675 utils/adt/float.c:1696
+#: utils/adt/float.c:1718 utils/adt/float.c:1739
 #, 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 "input is out of range"
+msgstr "la entrada está fuera de rango"
 
-#: utils/adt/jsonfuncs.c:2083
+#: utils/adt/float.c:2801 utils/adt/numeric.c:1271
 #, c-format
-msgid "Try calling the function in the FROM clause using a column definition list."
-msgstr "Intente invocar la función desde la cláusula FROM usando una lista de definición de columnas"
+msgid "count must be greater than zero"
+msgstr "count debe ser mayor que cero"
 
-#: utils/adt/jsonfuncs.c:2730 utils/adt/jsonfuncs.c:2897
+#: utils/adt/float.c:2806 utils/adt/numeric.c:1278
 #, c-format
-msgid "argument of %s must be an array of objects"
-msgstr "el argumento de %s debe ser un array de objetos"
+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/jsonfuncs.c:2754
+#: utils/adt/float.c:2812
 #, c-format
-msgid "cannot call %s on an object"
-msgstr "no se puede invocar %s en un objeto"
+msgid "lower and upper bounds must be finite"
+msgstr "los límites inferior y superior deben ser finitos"
 
-#: utils/adt/like.c:212 utils/adt/selfuncs.c:5324
+#: utils/adt/float.c:2850 utils/adt/numeric.c:1291
 #, c-format
-msgid "could not determine which collation to use for ILIKE"
-msgstr "no se pudo determinar qué ordenamiento (collation) usar para ILIKE"
+msgid "lower bound cannot equal upper bound"
+msgstr "el límite superior no puede ser igual al límite inferior"
 
-#: utils/adt/like_match.c:107 utils/adt/like_match.c:167
+#: utils/adt/formatting.c:485
 #, 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 "invalid format specification for an interval value"
+msgstr "especificación de formato no válida para un valor de interval"
 
-#: utils/adt/like_match.c:292 utils/adt/regexp.c:694
+#: utils/adt/formatting.c:486
 #, c-format
-msgid "invalid escape string"
-msgstr "cadena de escape no válida"
+msgid "Intervals are not tied to specific calendar dates."
+msgstr "Los Interval no están ... a valores determinados de fechas de calendario."
 
-#: utils/adt/like_match.c:293 utils/adt/regexp.c:695
+#: utils/adt/formatting.c:1058
 #, 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 "\"EEEE\" must be the last pattern used"
+msgstr "«EEEE» debe ser el último patrón usado"
 
-#: utils/adt/mac.c:65
+#: utils/adt/formatting.c:1066
 #, c-format
-msgid "invalid input syntax for type macaddr: \"%s\""
-msgstr "sintaxis de entrada no válida para tipo macaddr: «%s»"
+msgid "\"9\" must be ahead of \"PR\""
+msgstr "«9» debe ir antes de «PR»"
 
-#: utils/adt/mac.c:72
+#: utils/adt/formatting.c:1082
 #, c-format
-msgid "invalid octet value in \"macaddr\" value: \"%s\""
-msgstr "valor de octeto no válido en valor «macaddr»: «%s»"
+msgid "\"0\" must be ahead of \"PR\""
+msgstr "«0» debe ir antes de «PR»"
 
-#: utils/adt/misc.c:111
+#: utils/adt/formatting.c:1109
 #, c-format
-msgid "PID %d is not a PostgreSQL server process"
-msgstr "PID %d no es un proceso servidor de PostgreSQL"
+msgid "multiple decimal points"
+msgstr "hay múltiples puntos decimales"
 
-#: utils/adt/misc.c:154
+#: utils/adt/formatting.c:1113 utils/adt/formatting.c:1196
 #, c-format
-msgid "must be superuser or have the same role to cancel queries running in other server processes"
-msgstr "debe ser superusuario o tener el mismo rol para cancelar consultas ejecutando en otros procesos de servidor"
+msgid "cannot use \"V\" and decimal point together"
+msgstr "no se puede usar «V» y un punto decimal simultáneamente"
 
-#: utils/adt/misc.c:171
+#: utils/adt/formatting.c:1125
 #, c-format
-msgid "must be superuser or have the same role to terminate other server processes"
-msgstr "debe ser superusuario o tener el mismo rol para terminar otros procesos de servidor"
+msgid "cannot use \"S\" twice"
+msgstr "no se puede usar «S» dos veces"
 
-#: utils/adt/misc.c:185
+#: utils/adt/formatting.c:1129
 #, c-format
-msgid "must be superuser to signal the postmaster"
-msgstr "debe ser superusuario para enviar señales a postmaster"
+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/misc.c:190
+#: utils/adt/formatting.c:1149
 #, c-format
-msgid "failed to send signal to postmaster: %m"
-msgstr "no se pudo enviar señal a postmaster: %m"
+msgid "cannot use \"S\" and \"MI\" together"
+msgstr "no se puede usar «S» y «MI» simultáneamente"
 
-#: utils/adt/misc.c:207
+#: utils/adt/formatting.c:1159
 #, c-format
-msgid "must be superuser to rotate log files"
-msgstr "debe ser superusuario para rotar archivos de log"
+msgid "cannot use \"S\" and \"PL\" together"
+msgstr "no se puede usar «S» y «PL» simultáneamente"
 
-#: utils/adt/misc.c:212
+#: utils/adt/formatting.c:1169
 #, 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"
+msgid "cannot use \"S\" and \"SG\" together"
+msgstr "no se puede usar «S» y «SG» simultáneamente"
 
-#: utils/adt/misc.c:249
+#: utils/adt/formatting.c:1178
 #, c-format
-msgid "global tablespace never has databases"
-msgstr "el tablespace global nunca tiene bases de datos"
+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/misc.c:270
+#: utils/adt/formatting.c:1204
 #, c-format
-msgid "%u is not a tablespace OID"
-msgstr "%u no es un OID de tablespace"
-
-#: utils/adt/misc.c:465
-msgid "unreserved"
-msgstr "no reservado"
-
-#: utils/adt/misc.c:469
-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:473
-msgid "reserved (can be function or type name)"
-msgstr "reservado (puede ser nombre de función o de tipo)"
+msgid "cannot use \"EEEE\" twice"
+msgstr "no se puede usar «EEEE» dos veces"
 
-#: utils/adt/misc.c:477
-msgid "reserved"
-msgstr "reservado"
+#: utils/adt/formatting.c:1210
+#, c-format
+msgid "\"EEEE\" is incompatible with other formats"
+msgstr "«EEEE» es incompatible con otros formatos"
 
-#: utils/adt/nabstime.c:136
+#: utils/adt/formatting.c:1211
 #, c-format
-msgid "invalid time zone name: \"%s\""
-msgstr "nombre de huso horario no válido: «%s»"
+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/nabstime.c:481 utils/adt/nabstime.c:554
+#: utils/adt/formatting.c:1411
 #, c-format
-msgid "cannot convert abstime \"invalid\" to timestamp"
-msgstr "no se puede convertir el valor reservado de abstime «invalid» a timestamp"
+msgid "\"%s\" is not a number"
+msgstr "«%s» no es un número"
 
-#: utils/adt/nabstime.c:781
+#: utils/adt/formatting.c:1512 utils/adt/formatting.c:1564
 #, c-format
-msgid "invalid status in external \"tinterval\" value"
-msgstr "estatus no válido en valor «tinterval» externo"
+msgid "could not determine which collation to use for lower() function"
+msgstr "no se pudo determinar qué ordenamiento (collation) usar para la función lower()"
 
-#: utils/adt/nabstime.c:855
+#: utils/adt/formatting.c:1632 utils/adt/formatting.c:1684
 #, c-format
-msgid "cannot convert reltime \"invalid\" to interval"
-msgstr "no se puede convertir el reltime «invalid» a interval"
+msgid "could not determine which collation to use for upper() function"
+msgstr "no se pudo determinar qué ordenamiento (collation) usar para la función upper()"
 
-#: utils/adt/nabstime.c:1550
+#: utils/adt/formatting.c:1753 utils/adt/formatting.c:1817
 #, c-format
-msgid "invalid input syntax for type tinterval: \"%s\""
-msgstr "sintaxis de entrada no válida para el tipo tinterval: «%s»"
+msgid "could not determine which collation to use for initcap() function"
+msgstr "no se pudo determinar qué ordenamiento (collation) usar para la función initcap()"
 
-#: utils/adt/network.c:69
+#: utils/adt/formatting.c:2114
 #, c-format
-msgid "invalid cidr value: \"%s\""
-msgstr "valor cidr no válido: «%s»"
+msgid "invalid combination of date conventions"
+msgstr "combinacion invalida de convenciones de fecha"
 
-#: utils/adt/network.c:70 utils/adt/network.c:200
+#: utils/adt/formatting.c:2115
 #, 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 "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"
 
-#: utils/adt/network.c:111 utils/adt/network.c:580 utils/adt/network.c:605
-#: utils/adt/network.c:630
+#: utils/adt/formatting.c:2132
 #, c-format
-msgid "could not format inet value: %m"
-msgstr "no se pudo dar formato al valor inet: %m"
+msgid "conflicting values for \"%s\" field in formatting string"
+msgstr "valores en conflicto para le campo \"%s\" en cadena de formato"
 
-#. translator: %s is inet or cidr
-#: utils/adt/network.c:168
+#: utils/adt/formatting.c:2134
 #, c-format
-msgid "invalid address family in external \"%s\" value"
-msgstr "familia de dirección no válida en valor «%s» externo"
+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"
 
-#. translator: %s is inet or cidr
-#: utils/adt/network.c:175
+#: utils/adt/formatting.c:2195
 #, c-format
-msgid "invalid bits in external \"%s\" value"
-msgstr "bits no válidos en valor «%s» externo"
+msgid "source string too short for \"%s\" formatting field"
+msgstr "cadena de texto fuente muy corta para campo formateado \"%s\" "
 
-#. translator: %s is inet or cidr
-#: utils/adt/network.c:184
+#: utils/adt/formatting.c:2197
 #, c-format
-msgid "invalid length in external \"%s\" value"
-msgstr "largo no válido en valor «%s» externo"
+msgid "Field requires %d characters, but only %d remain."
+msgstr "El campo requiere %d caractéres, pero solo quedan %d."
 
-#: utils/adt/network.c:199
+#: utils/adt/formatting.c:2200 utils/adt/formatting.c:2214
 #, c-format
-msgid "invalid external \"cidr\" value"
-msgstr "valor externo «cidr» no válido"
+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/network.c:321 utils/adt/network.c:348
+#: utils/adt/formatting.c:2210 utils/adt/formatting.c:2223
+#: utils/adt/formatting.c:2353
 #, c-format
-msgid "invalid mask length: %d"
-msgstr "largo de máscara no válido: %d"
+msgid "invalid value \"%s\" for \"%s\""
+msgstr "el valor «%s» no es válido para «%s»"
 
-#: utils/adt/network.c:648
+#: utils/adt/formatting.c:2212
 #, c-format
-msgid "could not format cidr value: %m"
-msgstr "no se pudo dar formato al valor cidr: %m"
+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/network.c:1264
+#: utils/adt/formatting.c:2225
 #, c-format
-msgid "cannot AND inet values of different sizes"
-msgstr "no se puede hacer AND entre valores inet de distintos tamaños"
+msgid "Value must be an integer."
+msgstr "El valor debe ser un entero."
 
-#: utils/adt/network.c:1296
+#: utils/adt/formatting.c:2230
 #, c-format
-msgid "cannot OR inet values of different sizes"
-msgstr "no se puede hacer OR entre valores inet de distintos tamaños"
+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/network.c:1357 utils/adt/network.c:1433
+#: utils/adt/formatting.c:2232
 #, c-format
-msgid "result is out of range"
-msgstr "resultado fuera de rango"
+msgid "Value must be in the range %d to %d."
+msgstr "El valor debe estar en el rango de %d a %d."
 
-#: utils/adt/network.c:1398
+#: utils/adt/formatting.c:2355
 #, c-format
-msgid "cannot subtract inet values of different sizes"
-msgstr "no se puede sustraer valores inet de distintos tamaños"
+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/numeric.c:486 utils/adt/numeric.c:513 utils/adt/numeric.c:3701
-#: utils/adt/numeric.c:3724 utils/adt/numeric.c:3748
+#: utils/adt/formatting.c:2547 utils/adt/formatting.c:2567
+#: utils/adt/formatting.c:2587 utils/adt/formatting.c:2607
+#: utils/adt/formatting.c:2626 utils/adt/formatting.c:2645
+#: utils/adt/formatting.c:2668 utils/adt/formatting.c:2686
+#: utils/adt/formatting.c:2704 utils/adt/formatting.c:2722
+#: utils/adt/formatting.c:2739 utils/adt/formatting.c:2756
 #, c-format
-msgid "invalid input syntax for type numeric: \"%s\""
-msgstr "la sintaxis de entrada no es válida para el tipo numeric: «%s»"
+msgid "localized string format value too long"
+msgstr "cadena traducida en cadena de formato es demasiado larga"
 
-#: utils/adt/numeric.c:712
+#: utils/adt/formatting.c:3040
 #, c-format
-msgid "invalid sign in external \"numeric\" value"
-msgstr "el signo no es válido en el valor «numeric» externo"
+msgid "\"TZ\"/\"tz\"/\"OF\" format patterns are not supported in to_date"
+msgstr "los patrones de formato «TZ»/«tz»/«OF» no están soportados en to_date"
 
-#: utils/adt/numeric.c:718
+#: utils/adt/formatting.c:3149
 #, c-format
-msgid "invalid scale in external \"numeric\" value"
-msgstr "la escala no es válida en el valor «numeric» externo"
+msgid "invalid input string for \"Y,YYY\""
+msgstr "cadena de entrada no válida para «Y,YYY»"
 
-#: utils/adt/numeric.c:727
+#: utils/adt/formatting.c:3653
 #, c-format
-msgid "invalid digit in external \"numeric\" value"
-msgstr "hay un dígito no válido en el valor «numeric» externo"
+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/numeric.c:918 utils/adt/numeric.c:932
+#: utils/adt/formatting.c:3655
 #, 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 "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/numeric.c:923
+#: utils/adt/formatting.c:3750
 #, 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 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/numeric.c:941
+#: utils/adt/formatting.c:4599
 #, c-format
-msgid "invalid NUMERIC type modifier"
-msgstr "modificador de tipo NUMERIC no es válido"
+msgid "\"EEEE\" not supported for input"
+msgstr "«EEEE» no está soportado en la entrada"
 
-#: utils/adt/numeric.c:1948 utils/adt/numeric.c:3763 utils/adt/numeric.c:4205
-#: utils/adt/numeric.c:6186
+#: utils/adt/formatting.c:4611
 #, c-format
-msgid "value overflows numeric format"
-msgstr "el valor excede el formato numeric"
+msgid "\"RN\" not supported for input"
+msgstr "«RN» no está soportado en la entrada"
 
-#: utils/adt/numeric.c:2279
+#: utils/adt/genfile.c:61
 #, c-format
-msgid "cannot convert NaN to integer"
-msgstr "no se puede convertir NaN a entero"
+msgid "reference to parent directory (\"..\") not allowed"
+msgstr "no se permiten referencias a directorios padre («..»)"
 
-#: utils/adt/numeric.c:2345
+#: utils/adt/genfile.c:72
 #, c-format
-msgid "cannot convert NaN to bigint"
-msgstr "no se puede convertir NaN a bigint"
+msgid "absolute path not allowed"
+msgstr "no se permiten rutas absolutas"
 
-#: utils/adt/numeric.c:2390
+#: utils/adt/genfile.c:77
 #, c-format
-msgid "cannot convert NaN to smallint"
-msgstr "no se puede convertir NaN a smallint"
+msgid "path must be in or below the current directory"
+msgstr "la ruta debe estar en o debajo del directorio actual"
 
-#: utils/adt/numeric.c:4275
+#: utils/adt/genfile.c:118 utils/adt/oracle_compat.c:184
+#: utils/adt/oracle_compat.c:282 utils/adt/oracle_compat.c:758
+#: utils/adt/oracle_compat.c:1059
 #, c-format
-msgid "numeric field overflow"
-msgstr "desbordamiento de campo numeric"
+msgid "requested length too large"
+msgstr "el tamaño solicitado es demasiado grande"
 
-#: utils/adt/numeric.c:4276
+#: utils/adt/genfile.c:130
 #, 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 "could not seek in file \"%s\": %m"
+msgstr "no se pudo posicionar (seek) el archivo «%s»: %m"
 
-#: utils/adt/numeric.c:5743
+#: utils/adt/genfile.c:180 utils/adt/genfile.c:204 utils/adt/genfile.c:225
+#: utils/adt/genfile.c:249
 #, c-format
-msgid "argument for function \"exp\" too big"
-msgstr "el argumento a la función «exp» es demasiado grande"
+msgid "must be superuser to read files"
+msgstr "debe ser superusuario para leer archivos"
 
-#: utils/adt/numutils.c:75
+#: utils/adt/genfile.c:273
 #, c-format
-msgid "value \"%s\" is out of range for type integer"
-msgstr "valor «%s» fuera de rango para el tipo integer"
+msgid "must be superuser to get file information"
+msgstr "debe ser superusuario obtener información de archivos"
 
-#: utils/adt/numutils.c:81
+#: utils/adt/genfile.c:337
 #, c-format
-msgid "value \"%s\" is out of range for type smallint"
-msgstr "valor «%s» fuera de rango para el tipo smallint"
+msgid "must be superuser to get directory listings"
+msgstr "debe ser superusuario para obtener listados de directorio"
 
-#: utils/adt/numutils.c:87
+#: utils/adt/geo_ops.c:300 utils/adt/geo_ops.c:1399 utils/adt/geo_ops.c:3469
+#: utils/adt/geo_ops.c:4247 utils/adt/geo_ops.c:5176
 #, c-format
-msgid "value \"%s\" is out of range for 8-bit integer"
-msgstr "valor «%s» fuera de rango para un entero de 8 bits"
+msgid "too many points requested"
+msgstr "se pidieron demasiados puntos"
 
-#: utils/adt/oid.c:43 utils/adt/oid.c:57 utils/adt/oid.c:63 utils/adt/oid.c:84
+#: utils/adt/geo_ops.c:323
 #, c-format
-msgid "invalid input syntax for type oid: \"%s\""
-msgstr "sintaxis de entrada no válida para el tipo oid: «%s»"
+msgid "could not format \"path\" value"
+msgstr "no se pudo dar formato a «path»"
 
-#: utils/adt/oid.c:69 utils/adt/oid.c:107
+#: utils/adt/geo_ops.c:398
 #, c-format
-msgid "value \"%s\" is out of range for type oid"
-msgstr "valor «%s» fuera de rango para el tipo oid"
+msgid "invalid input syntax for type box: \"%s\""
+msgstr "la sintaxis de entrada no es válida para tipo box: «%s»"
 
-#: utils/adt/oid.c:287
+#: utils/adt/geo_ops.c:993
 #, c-format
-msgid "invalid oidvector data"
-msgstr "datos de oidvector no válidos"
+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/oracle_compat.c:895
+#: utils/adt/geo_ops.c:1002
 #, c-format
-msgid "requested character too large"
-msgstr "el carácter solicitado es demasiado grande"
+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/oracle_compat.c:945 utils/adt/oracle_compat.c:1007
+#: utils/adt/geo_ops.c:1007
 #, c-format
-msgid "requested character too large for encoding: %d"
-msgstr "el carácter pedido es demasiado largo para el encoding: %d"
+msgid "invalid input syntax for type line: \"%s\""
+msgstr "la sintaxis de entrada no es válida para tipo line: «%s»"
 
-#: utils/adt/oracle_compat.c:986
+#: utils/adt/geo_ops.c:1379 utils/adt/geo_ops.c:1410
 #, c-format
-msgid "requested character not valid for encoding: %d"
-msgstr "el carácter pedido no es válido para el encoding: %d"
+msgid "invalid input syntax for type path: \"%s\""
+msgstr "la sintaxis de entrada no es válida para tipo «path»: «%s»"
 
-#: utils/adt/oracle_compat.c:1000
+#: utils/adt/geo_ops.c:1449
 #, c-format
-msgid "null character not permitted"
-msgstr "el carácter nulo no está permitido"
+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/orderedsetaggs.c:423 utils/adt/orderedsetaggs.c:528
-#: utils/adt/orderedsetaggs.c:667
+#: utils/adt/geo_ops.c:1792
 #, 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 "invalid input syntax for type point: \"%s\""
+msgstr "la sintaxis de entrada no es válida para tipo point: «%s»"
 
-#: utils/adt/pg_locale.c:1177
+#: utils/adt/geo_ops.c:2020
 #, c-format
-msgid "could not create locale \"%s\": %m"
-msgstr "no se pudo crear la configuración regional «%s»: %m"
+msgid "invalid input syntax for type lseg: \"%s\""
+msgstr "la sintaxis de entrada no es válida para tipo lseg: «%s»"
 
-#: utils/adt/pg_locale.c:1180
+#: utils/adt/geo_ops.c:2624
 #, 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 "function \"dist_lb\" not implemented"
+msgstr "la función «dist_lb» no está implementada"
 
-#: utils/adt/pg_locale.c:1267
+#: utils/adt/geo_ops.c:3044
 #, 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 "function \"close_sl\" not implemented"
+msgstr "la función «close_sl» no está implementada"
 
-#: utils/adt/pg_locale.c:1282
+#: utils/adt/geo_ops.c:3146
 #, c-format
-msgid "nondefault collations are not supported on this platform"
-msgstr "los ordenamientos (collation) distintos del ordenamiento por omisión no están soportados en esta plataforma"
+msgid "function \"close_lb\" not implemented"
+msgstr "la función «close_lb» no está implementada"
 
-#: utils/adt/pg_locale.c:1453
+#: utils/adt/geo_ops.c:3435
 #, c-format
-msgid "invalid multibyte character for locale"
-msgstr "el carácter multibyte no es válido para esta configuración regional"
+msgid "cannot create bounding box for empty polygon"
+msgstr "no se puede crear una caja de contorno para un polígono vacío"
 
-#: utils/adt/pg_locale.c:1454
+#: utils/adt/geo_ops.c:3460 utils/adt/geo_ops.c:3480
 #, 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 "invalid input syntax for type polygon: \"%s\""
+msgstr "la sintaxis de entrada no es válida para tipo polygon: «%s»"
 
-#: utils/adt/pg_lsn.c:44 utils/adt/pg_lsn.c:49
+#: utils/adt/geo_ops.c:3520
 #, c-format
-msgid "invalid input syntax for type pg_lsn: \"%s\""
-msgstr "la sintaxis de entrada no es válida para tipo pg_lsn: «%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/pseudotypes.c:95
+#: utils/adt/geo_ops.c:4045
 #, c-format
-msgid "cannot accept a value of type any"
-msgstr "no se puede aceptar un valor de tipo any"
+msgid "function \"poly_distance\" not implemented"
+msgstr "la función «poly_distance» no está implementada"
 
-#: utils/adt/pseudotypes.c:108
+#: utils/adt/geo_ops.c:4359
 #, c-format
-msgid "cannot display a value of type any"
-msgstr "no se puede desplegar un valor de tipo any"
+msgid "function \"path_center\" not implemented"
+msgstr "la función «path_center» no está implementada"
 
-#: utils/adt/pseudotypes.c:122 utils/adt/pseudotypes.c:150
+#: utils/adt/geo_ops.c:4376
 #, c-format
-msgid "cannot accept a value of type anyarray"
-msgstr "no se puede aceptar un valor de tipo anyarray"
+msgid "open path cannot be converted to polygon"
+msgstr "no se puede convertir un camino abierto en polygon"
 
-#: utils/adt/pseudotypes.c:175
+#: utils/adt/geo_ops.c:4553 utils/adt/geo_ops.c:4563 utils/adt/geo_ops.c:4578
+#: utils/adt/geo_ops.c:4584
 #, c-format
-msgid "cannot accept a value of type anyenum"
-msgstr "no se puede aceptar un valor de tipo anyenum"
+msgid "invalid input syntax for type circle: \"%s\""
+msgstr "la sintaxis de entrada no es válida para el tipo circle: «%s»"
 
-#: utils/adt/pseudotypes.c:199
+#: utils/adt/geo_ops.c:4606 utils/adt/geo_ops.c:4614
 #, c-format
-msgid "cannot accept a value of type anyrange"
-msgstr "no se puede aceptar un valor de tipo anyrange"
+msgid "could not format \"circle\" value"
+msgstr "no se pudo dar formato al valor «circle»"
 
-#: utils/adt/pseudotypes.c:276
+#: utils/adt/geo_ops.c:4641
 #, c-format
-msgid "cannot accept a value of type trigger"
-msgstr "no se puede aceptar un valor de tipo trigger"
+msgid "invalid radius in external \"circle\" value"
+msgstr "el radio no es válido en el valor «circle» externo"
 
-#: utils/adt/pseudotypes.c:289
+#: utils/adt/geo_ops.c:5162
 #, c-format
-msgid "cannot display a value of type trigger"
-msgstr "no se puede desplegar un valor de tipo trigger"
+msgid "cannot convert circle with radius zero to polygon"
+msgstr "no se puede convertir un círculo de radio cero a polygon"
 
-#: utils/adt/pseudotypes.c:303
+#: utils/adt/geo_ops.c:5167
 #, c-format
-msgid "cannot accept a value of type event_trigger"
-msgstr "no se puede aceptar un valor de tipo event_trigger"
+msgid "must request at least 2 points"
+msgstr "debe pedir al menos 2 puntos"
 
-#: utils/adt/pseudotypes.c:316
+#: utils/adt/geo_ops.c:5211
 #, c-format
-msgid "cannot display a value of type event_trigger"
-msgstr "no se puede desplegar un valor de tipo event_trigger"
+msgid "cannot convert empty polygon to circle"
+msgstr "no se puede convertir polígono vacío a circle"
 
-#: utils/adt/pseudotypes.c:330
+#: utils/adt/int.c:162
 #, c-format
-msgid "cannot accept a value of type language_handler"
-msgstr "no se puede aceptar un valor de tipo language_handler"
+msgid "int2vector has too many elements"
+msgstr "int2vector tiene demasiados elementos"
 
-#: utils/adt/pseudotypes.c:343
+#: utils/adt/int.c:237
 #, c-format
-msgid "cannot display a value of type language_handler"
-msgstr "no se puede desplegar un valor de tipo language_handler"
+msgid "invalid int2vector data"
+msgstr "datos de int2vector no válidos"
 
-#: utils/adt/pseudotypes.c:357
+#: utils/adt/int.c:243 utils/adt/oid.c:212 utils/adt/oid.c:293
 #, c-format
-msgid "cannot accept a value of type fdw_handler"
-msgstr "no se puede aceptar un valor de tipo fdw_handler"
+msgid "oidvector has too many elements"
+msgstr "el oidvector tiene demasiados elementos"
 
-#: utils/adt/pseudotypes.c:370
+#: utils/adt/int.c:1362 utils/adt/int8.c:1467 utils/adt/timestamp.c:5330
+#: utils/adt/timestamp.c:5411
 #, c-format
-msgid "cannot display a value of type fdw_handler"
-msgstr "no se puede desplegar un valor de tipo fdw_handler"
+msgid "step size cannot equal zero"
+msgstr "el tamaño de paso no puede ser cero"
 
-#: utils/adt/pseudotypes.c:384
+#: utils/adt/int8.c:98 utils/adt/int8.c:133 utils/adt/numutils.c:51
+#: utils/adt/numutils.c:61 utils/adt/numutils.c:103
 #, c-format
-msgid "cannot accept a value of type internal"
-msgstr "no se puede aceptar un valor de tipo internal"
+msgid "invalid input syntax for integer: \"%s\""
+msgstr "la sintaxis de entrada no es válida para integer: «%s»"
 
-#: utils/adt/pseudotypes.c:397
+#: utils/adt/int8.c:114
 #, c-format
-msgid "cannot display a value of type internal"
-msgstr "no se puede desplegar un valor de tipo internal"
+msgid "value \"%s\" is out of range for type bigint"
+msgstr "el valor «%s» está fuera de rango para el tipo bigint"
 
-#: utils/adt/pseudotypes.c:411
+#: utils/adt/int8.c:500 utils/adt/int8.c:529 utils/adt/int8.c:550
+#: utils/adt/int8.c:581 utils/adt/int8.c:615 utils/adt/int8.c:640
+#: utils/adt/int8.c:697 utils/adt/int8.c:714 utils/adt/int8.c:741
+#: utils/adt/int8.c:758 utils/adt/int8.c:834 utils/adt/int8.c:855
+#: utils/adt/int8.c:882 utils/adt/int8.c:915 utils/adt/int8.c:943
+#: utils/adt/int8.c:964 utils/adt/int8.c:991 utils/adt/int8.c:1031
+#: utils/adt/int8.c:1052 utils/adt/int8.c:1079 utils/adt/int8.c:1112
+#: utils/adt/int8.c:1140 utils/adt/int8.c:1161 utils/adt/int8.c:1188
+#: utils/adt/int8.c:1365 utils/adt/int8.c:1407 utils/adt/numeric.c:2353
+#: utils/adt/varbit.c:1655
 #, c-format
-msgid "cannot accept a value of type opaque"
-msgstr "no se puede aceptar un valor de tipo opaque"
+msgid "bigint out of range"
+msgstr "bigint está fuera de rango"
 
-#: utils/adt/pseudotypes.c:424
+#: utils/adt/int8.c:1424
 #, c-format
-msgid "cannot display a value of type opaque"
-msgstr "no se puede desplegar un valor de tipo opaque"
+msgid "OID out of range"
+msgstr "OID está fuera de rango"
 
-#: utils/adt/pseudotypes.c:438
+#: utils/adt/json.c:739 utils/adt/json.c:779 utils/adt/json.c:794
+#: utils/adt/json.c:805 utils/adt/json.c:815 utils/adt/json.c:866
+#: utils/adt/json.c:897 utils/adt/json.c:915 utils/adt/json.c:927
+#: utils/adt/json.c:939 utils/adt/json.c:1084 utils/adt/json.c:1098
+#: utils/adt/json.c:1109 utils/adt/json.c:1117 utils/adt/json.c:1125
+#: utils/adt/json.c:1133 utils/adt/json.c:1141 utils/adt/json.c:1149
+#: utils/adt/json.c:1157 utils/adt/json.c:1165 utils/adt/json.c:1195
 #, c-format
-msgid "cannot accept a value of type anyelement"
-msgstr "no se puede aceptar un valor de tipo anyelement"
+msgid "invalid input syntax for type json"
+msgstr "sintaxis de entrada no válida para tipo json"
 
-#: utils/adt/pseudotypes.c:451
+#: utils/adt/json.c:740
 #, c-format
-msgid "cannot display a value of type anyelement"
-msgstr "no se puede desplegar un valor de tipo anyelement"
+msgid "Character with value 0x%02x must be escaped."
+msgstr "Los caracteres con valor 0x%02x deben ser escapados"
 
-#: utils/adt/pseudotypes.c:464
+#: utils/adt/json.c:780
 #, c-format
-msgid "cannot accept a value of type anynonarray"
-msgstr "no se puede aceptar un valor de tipo anynonarray"
+msgid "\"\\u\" must be followed by four hexadecimal digits."
+msgstr "«\\u» debe ser seguido por cuatro dígitos hexadecimales."
 
-#: utils/adt/pseudotypes.c:477
+#: utils/adt/json.c:795
 #, c-format
-msgid "cannot display a value of type anynonarray"
-msgstr "no se puede desplegar un valor de tipo anynonarray"
+msgid "Unicode high surrogate must not follow a high surrogate."
+msgstr "Un «high-surrogate» Unicode no puede venir después de un «high-surrogate»."
 
-#: utils/adt/pseudotypes.c:490
+#: utils/adt/json.c:806 utils/adt/json.c:816 utils/adt/json.c:867
+#: utils/adt/json.c:928 utils/adt/json.c:940
 #, c-format
-msgid "cannot accept a value of a shell type"
-msgstr "no se puede aceptar un valor de un tipo inconcluso"
+msgid "Unicode low surrogate must follow a high surrogate."
+msgstr "Un «low-surrogate» Unicode debe seguir a un «high-surrogate»."
 
-#: utils/adt/pseudotypes.c:503
+#: utils/adt/json.c:831 utils/adt/json.c:854
 #, c-format
-msgid "cannot display a value of a shell type"
-msgstr "no se puede desplegar un valor de un tipo inconcluso"
+msgid "unsupported Unicode escape sequence"
+msgstr "secuencia de escape Unicode no soportado"
 
-#: utils/adt/pseudotypes.c:525 utils/adt/pseudotypes.c:549
+#: utils/adt/json.c:832
 #, c-format
-msgid "cannot accept a value of type pg_node_tree"
-msgstr "no se puede aceptar un valor de tipo pg_node_tree"
+msgid "\\u0000 cannot be converted to text."
+msgstr "\\u0000 no puede ser convertido a text."
 
-#: utils/adt/rangetypes.c:405
+#: utils/adt/json.c:855
 #, 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 "Unicode escape values cannot be used for code point values above 007F when the server encoding is not UTF8."
+msgstr "Los valores de escape Unicode no pueden ser usados para valores de «code point» sobre 007F cuando la codificación de servidor no es UTF8."
 
-#: utils/adt/rangetypes.c:992
+#: utils/adt/json.c:898 utils/adt/json.c:916
 #, c-format
-msgid "result of range difference would not be contiguous"
-msgstr "el resultado de la diferencia de rangos no sería contiguo"
+msgid "Escape sequence \"\\%s\" is invalid."
+msgstr "La secuencia de escape «%s» no es válida."
 
-#: utils/adt/rangetypes.c:1053
+#: utils/adt/json.c:1085
 #, 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 "The input string ended unexpectedly."
+msgstr "La cadena de entrada terminó inesperadamente."
 
-#: utils/adt/rangetypes.c:1515
+#: utils/adt/json.c:1099
 #, 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 "Expected end of input, but found \"%s\"."
+msgstr "Se esperaba el fin de la entrada, se encontró «%s»."
 
-#: utils/adt/rangetypes.c:1898 utils/adt/rangetypes.c:1911
-#: utils/adt/rangetypes.c:1925
+#: utils/adt/json.c:1110
 #, c-format
-msgid "invalid range bound flags"
-msgstr "opciones de bordes de rango no válidas"
+msgid "Expected JSON value, but found \"%s\"."
+msgstr "Se esperaba un valor JSON, se encontró «%s»."
 
-#: utils/adt/rangetypes.c:1899 utils/adt/rangetypes.c:1912
-#: utils/adt/rangetypes.c:1926
+#: utils/adt/json.c:1118 utils/adt/json.c:1166
 #, c-format
-msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"."
-msgstr "Los valores aceptables son «[]», «[)», «(]» y «()»."
+msgid "Expected string, but found \"%s\"."
+msgstr "Se esperaba una cadena, se encontró «%s»."
 
-#: utils/adt/rangetypes.c:1991 utils/adt/rangetypes.c:2008
-#: utils/adt/rangetypes.c:2021 utils/adt/rangetypes.c:2039
-#: utils/adt/rangetypes.c:2050 utils/adt/rangetypes.c:2094
-#: utils/adt/rangetypes.c:2102
+#: utils/adt/json.c:1126
 #, c-format
-msgid "malformed range literal: \"%s\""
-msgstr "literal de rango mal formado: «%s»"
+msgid "Expected array element or \"]\", but found \"%s\"."
+msgstr "Se esperaba un elemento de array o «]», se encontró «%s»."
 
-#: utils/adt/rangetypes.c:1993
+#: utils/adt/json.c:1134
 #, c-format
-msgid "Junk after \"empty\" key word."
-msgstr "Basura a continuación de la palabra «empty»."
+msgid "Expected \",\" or \"]\", but found \"%s\"."
+msgstr "Se esperaba «,» o «]», se encontró «%s»."
 
-#: utils/adt/rangetypes.c:2010
+#: utils/adt/json.c:1142
 #, c-format
-msgid "Missing left parenthesis or bracket."
-msgstr "Falta paréntesis o corchete izquierdo."
+msgid "Expected string or \"}\", but found \"%s\"."
+msgstr "Se esperaba una cadena o «}», se encontró «%s»."
 
-#: utils/adt/rangetypes.c:2023
+#: utils/adt/json.c:1150
 #, c-format
-msgid "Missing comma after lower bound."
-msgstr "Coma faltante después del límite inferior."
+msgid "Expected \":\", but found \"%s\"."
+msgstr "Se esperaba «:», se encontró «%s»."
 
-#: utils/adt/rangetypes.c:2041
+#: utils/adt/json.c:1158
 #, c-format
-msgid "Too many commas."
-msgstr "Demasiadas comas."
+msgid "Expected \",\" or \"}\", but found \"%s\"."
+msgstr "Se esperaba «,» o «}», se encontró «%s»."
 
-#: utils/adt/rangetypes.c:2052
+#: utils/adt/json.c:1196
 #, c-format
-msgid "Junk after right parenthesis or bracket."
-msgstr "Basura después del paréntesis o corchete derecho."
+msgid "Token \"%s\" is invalid."
+msgstr "El elemento «%s» no es válido."
 
-#: utils/adt/regexp.c:285 utils/adt/regexp.c:1234 utils/adt/varlena.c:3042
+#: utils/adt/json.c:1268
 #, c-format
-msgid "regular expression failed: %s"
-msgstr "la expresión regular falló: %s"
+msgid "JSON data, line %d: %s%s%s"
+msgstr "Datos JSON, línea %d: %s%s%s"
 
-#: utils/adt/regexp.c:422
+#: utils/adt/json.c:1413
 #, c-format
-msgid "invalid regexp option: \"%c\""
-msgstr "la opción de expresión regular no es válida: «%c»"
+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/regexp.c:894
+#: utils/adt/json.c:1960 utils/adt/json.c:1978 utils/fmgr/funcapi.c:1460
 #, c-format
-msgid "regexp_split does not support the global option"
-msgstr "regex_split no soporta la opción «global»"
+msgid "could not determine data type for argument %d"
+msgstr "no se pudo determinar el tipo de dato para el argumento %d"
 
-#: utils/adt/regproc.c:128 utils/adt/regproc.c:148
+#: utils/adt/json.c:1965
 #, c-format
-msgid "more than one function named \"%s\""
-msgstr "existe más de una función llamada «%s»"
+msgid "field name must not be null"
+msgstr "el nombre de campo no debe ser null"
 
-#: utils/adt/regproc.c:552 utils/adt/regproc.c:572
+#: utils/adt/json.c:2054
 #, c-format
-msgid "more than one operator named %s"
-msgstr "existe más de un operador llamado %s"
+msgid "argument list must have even number of elements"
+msgstr "la lista de argumentos debe tener un número par de elementos"
 
-#: utils/adt/regproc.c:739 utils/adt/regproc.c:780 gram.y:6855
+#: utils/adt/json.c:2055
 #, c-format
-msgid "missing argument"
-msgstr "falta un argumento"
+msgid "The arguments of json_build_object() must consist of alternating keys and values."
+msgstr "Los argumentos de json_build_object() deben consistir de llaves y valores alternados."
 
-#: utils/adt/regproc.c:740 utils/adt/regproc.c:781 gram.y:6856
+#: utils/adt/json.c:2070
 #, 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 "argument %d cannot be null"
+msgstr "el argumento %d no puede ser null"
 
-#: utils/adt/regproc.c:744 utils/adt/regproc.c:785 utils/adt/regproc.c:1703
-#: utils/adt/ruleutils.c:7900 utils/adt/ruleutils.c:8023
+#: utils/adt/json.c:2071
 #, c-format
-msgid "too many arguments"
-msgstr "demasiados argumentos"
+msgid "Object keys should be text."
+msgstr "Las llaves de un objeto deben ser de texto."
 
-#: utils/adt/regproc.c:745 utils/adt/regproc.c:786
+#: utils/adt/json.c:2177
 #, c-format
-msgid "Provide two argument types for operator."
-msgstr "Provea dos tipos de argumento para un operador."
+msgid "array must have two columns"
+msgstr "un array debe tener dos columnas"
 
-#: utils/adt/regproc.c:1538 utils/adt/regproc.c:1543 utils/adt/varlena.c:2313
-#: utils/adt/varlena.c:2318
+#: utils/adt/json.c:2201 utils/adt/json.c:2285
 #, c-format
-msgid "invalid name syntax"
-msgstr "la sintaxis de nombre no es válida"
+msgid "null value not allowed for object key"
+msgstr "no se permite el valor nulo como llave en un objeto"
 
-#: utils/adt/regproc.c:1601
+#: utils/adt/json.c:2274
 #, c-format
-msgid "expected a left parenthesis"
-msgstr "se esperaba un paréntesis izquierdo"
+msgid "mismatched array dimensions"
+msgstr "las dimensiones de array no coinciden"
 
-#: utils/adt/regproc.c:1617
+#: utils/adt/jsonb.c:202
 #, c-format
-msgid "expected a right parenthesis"
-msgstr "se esperaba un paréntesis derecho"
+msgid "string too long to represent as jsonb string"
+msgstr "la cadena es demasiado larga para representarla como cadena jsonb."
 
-#: utils/adt/regproc.c:1636
+#: utils/adt/jsonb.c:203
 #, c-format
-msgid "expected a type name"
-msgstr "se esperaba un nombre de tipo"
+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/regproc.c:1668
+#: utils/adt/jsonb_util.c:656
 #, c-format
-msgid "improper type name"
-msgstr "el nombre de tipo no es válido"
+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/ri_triggers.c:313 utils/adt/ri_triggers.c:370
-#: utils/adt/ri_triggers.c:789 utils/adt/ri_triggers.c:1012
-#: utils/adt/ri_triggers.c:1168 utils/adt/ri_triggers.c:1349
-#: utils/adt/ri_triggers.c:1514 utils/adt/ri_triggers.c:1690
-#: utils/adt/ri_triggers.c:1870 utils/adt/ri_triggers.c:2061
-#: utils/adt/ri_triggers.c:2119 utils/adt/ri_triggers.c:2224
-#: utils/adt/ri_triggers.c:2389 gram.y:3256
+#: utils/adt/jsonb_util.c:697
 #, c-format
-msgid "MATCH PARTIAL not yet implemented"
-msgstr "MATCH PARTIAL no está implementada"
+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/ri_triggers.c:342 utils/adt/ri_triggers.c:2477
-#: utils/adt/ri_triggers.c:3291
+#: utils/adt/jsonb_util.c:1524 utils/adt/jsonb_util.c:1544
 #, 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 "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/ri_triggers.c:345 utils/adt/ri_triggers.c:2480
+#: utils/adt/jsonb_util.c:1605 utils/adt/jsonb_util.c:1640
+#: utils/adt/jsonb_util.c:1660
 #, 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 "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/ri_triggers.c:2719
+#: utils/adt/jsonfuncs.c:263 utils/adt/jsonfuncs.c:428
+#: utils/adt/jsonfuncs.c:1968 utils/adt/jsonfuncs.c:2409
+#: utils/adt/jsonfuncs.c:2929
 #, c-format
-msgid "function \"%s\" must be fired for INSERT"
-msgstr "la función «%s» debe ser ejecutada en INSERT"
+msgid "cannot call %s on a scalar"
+msgstr "no se puede invocar %s en un escalar"
 
-#: utils/adt/ri_triggers.c:2725
+#: utils/adt/jsonfuncs.c:268 utils/adt/jsonfuncs.c:415
+#: utils/adt/jsonfuncs.c:2398
 #, c-format
-msgid "function \"%s\" must be fired for UPDATE"
-msgstr "la función «%s» debe ser ejecutada en UPDATE"
+msgid "cannot call %s on an array"
+msgstr "no se puede invocar %s en un array"
 
-#: utils/adt/ri_triggers.c:2731
+#: utils/adt/jsonfuncs.c:1276 utils/adt/jsonfuncs.c:1311
 #, c-format
-msgid "function \"%s\" must be fired for DELETE"
-msgstr "la función «%s» debe ser ejecutada en DELETE"
+msgid "cannot get array length of a scalar"
+msgstr "no se puede obtener el largo de array de un escalar"
 
-#: utils/adt/ri_triggers.c:2754
+#: utils/adt/jsonfuncs.c:1280 utils/adt/jsonfuncs.c:1299
 #, 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 "cannot get array length of a non-array"
+msgstr "no se puede obtener el largo de array de un no-array"
 
-#: utils/adt/ri_triggers.c:2756
+#: utils/adt/jsonfuncs.c:1376
 #, 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 "cannot call %s on a non-object"
+msgstr "no se puede invocar %s en un no-objeto"
 
-#: utils/adt/ri_triggers.c:3210
+#: utils/adt/jsonfuncs.c:1394 utils/adt/jsonfuncs.c:2081
+#: utils/adt/jsonfuncs.c:2626
 #, 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 "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"
 
-#: utils/adt/ri_triggers.c:3214
+#: utils/adt/jsonfuncs.c:1637
 #, 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 "cannot deconstruct an array as an object"
+msgstr "no se puede desconstruir un array como un objeto"
 
-#: utils/adt/ri_triggers.c:3295
+#: utils/adt/jsonfuncs.c:1649
 #, 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 deconstruct a scalar"
+msgstr "no se puede desconstruir un escalar"
 
-#: utils/adt/ri_triggers.c:3298
+#: utils/adt/jsonfuncs.c:1695
 #, c-format
-msgid "Key is not present in table \"%s\"."
-msgstr "La llave no está presente en la tabla «%s»."
+msgid "cannot extract elements from a scalar"
+msgstr "no se pueden extraer elementos de un escalar"
 
-#: utils/adt/ri_triggers.c:3304
+#: utils/adt/jsonfuncs.c:1699
 #, 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 extract elements from an object"
+msgstr "no se pudo extraer elementos de un objeto"
 
-#: utils/adt/ri_triggers.c:3309
+#: utils/adt/jsonfuncs.c:1955 utils/adt/jsonfuncs.c:2728
 #, 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 call %s on a non-array"
+msgstr "no se puede invocar %s en un no-array"
 
-#: utils/adt/ri_triggers.c:3312
+#: utils/adt/jsonfuncs.c:2042 utils/adt/jsonfuncs.c:2594
 #, c-format
-msgid "Key is still referenced from table \"%s\"."
-msgstr "La llave todavía es referida desde la tabla «%s»."
+msgid "first argument of %s must be a row type"
+msgstr "el primer argumento de %s debe ser un tipo de registro"
 
-#: utils/adt/rowtypes.c:103 utils/adt/rowtypes.c:479
+#: utils/adt/jsonfuncs.c:2083
 #, c-format
-msgid "input of anonymous composite types is not implemented"
-msgstr "el ingreso de tipos compuestos anónimos no está implementado"
+msgid "Try calling the function in the FROM clause using a column definition list."
+msgstr "Intente invocar la función desde la cláusula FROM usando una lista de definición de columnas"
 
-#: utils/adt/rowtypes.c:155 utils/adt/rowtypes.c:183 utils/adt/rowtypes.c:206
-#: utils/adt/rowtypes.c:214 utils/adt/rowtypes.c:266 utils/adt/rowtypes.c:274
+#: utils/adt/jsonfuncs.c:2744 utils/adt/jsonfuncs.c:2911
 #, c-format
-msgid "malformed record literal: \"%s\""
-msgstr "literal de record no es válido: «%s»"
+msgid "argument of %s must be an array of objects"
+msgstr "el argumento de %s debe ser un array de objetos"
 
-#: utils/adt/rowtypes.c:156
+#: utils/adt/jsonfuncs.c:2768
 #, c-format
-msgid "Missing left parenthesis."
-msgstr "Falta paréntesis izquierdo."
+msgid "cannot call %s on an object"
+msgstr "no se puede invocar %s en un objeto"
 
-#: utils/adt/rowtypes.c:184
+#: utils/adt/like.c:212 utils/adt/selfuncs.c:5353
 #, c-format
-msgid "Too few columns."
-msgstr "Muy pocas columnas."
+msgid "could not determine which collation to use for ILIKE"
+msgstr "no se pudo determinar qué ordenamiento (collation) usar para ILIKE"
 
-#: utils/adt/rowtypes.c:267
+#: utils/adt/like_match.c:107 utils/adt/like_match.c:167
 #, c-format
-msgid "Too many columns."
-msgstr "Demasiadas columnas."
+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/rowtypes.c:275
+#: utils/adt/like_match.c:292 utils/adt/regexp.c:698
 #, c-format
-msgid "Junk after right parenthesis."
-msgstr "Basura después del paréntesis derecho."
+msgid "invalid escape string"
+msgstr "cadena de escape no válida"
 
-#: utils/adt/rowtypes.c:528
+#: utils/adt/like_match.c:293 utils/adt/regexp.c:699
 #, c-format
-msgid "wrong number of columns: %d, expected %d"
-msgstr "número de columnas erróneo: %d, se esperaban %d"
+msgid "Escape string must be empty or one character."
+msgstr "La cadena de escape debe ser vacía o un carácter."
 
-#: utils/adt/rowtypes.c:555
+#: utils/adt/mac.c:65
 #, c-format
-msgid "wrong data type: %u, expected %u"
-msgstr "tipo de dato erróneo: %u, se esperaba %u"
+msgid "invalid input syntax for type macaddr: \"%s\""
+msgstr "sintaxis de entrada no válida para tipo macaddr: «%s»"
 
-#: utils/adt/rowtypes.c:616
+#: utils/adt/mac.c:72
 #, c-format
-msgid "improper binary format in record column %d"
-msgstr "formato binario incorrecto en la columna record %d"
+msgid "invalid octet value in \"macaddr\" value: \"%s\""
+msgstr "valor de octeto no válido en valor «macaddr»: «%s»"
 
-#: utils/adt/rowtypes.c:902 utils/adt/rowtypes.c:1142 utils/adt/rowtypes.c:1396
-#: utils/adt/rowtypes.c:1673
+#: utils/adt/misc.c:111
 #, 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 "PID %d is not a PostgreSQL server process"
+msgstr "PID %d no es un proceso servidor de PostgreSQL"
 
-#: utils/adt/rowtypes.c:991 utils/adt/rowtypes.c:1213 utils/adt/rowtypes.c:1529
-#: utils/adt/rowtypes.c:1769
+#: utils/adt/misc.c:154
 #, c-format
-msgid "cannot compare record types with different numbers of columns"
-msgstr "no se pueden comparar registros con cantidad distinta de columnas"
+msgid "must be superuser or have the same role to cancel queries running in other server processes"
+msgstr "debe ser superusuario o tener el mismo rol para cancelar consultas ejecutando en otros procesos de servidor"
 
-#: utils/adt/ruleutils.c:4110
+#: utils/adt/misc.c:171
 #, c-format
-msgid "rule \"%s\" has unsupported event type %d"
-msgstr "la regla «%s» tiene el tipo de evento no soportado %d"
+msgid "must be superuser or have the same role to terminate other server processes"
+msgstr "debe ser superusuario o tener el mismo rol para terminar otros procesos de servidor"
 
-#: utils/adt/selfuncs.c:5309
+#: utils/adt/misc.c:185
 #, 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 "must be superuser to signal the postmaster"
+msgstr "debe ser superusuario para enviar señales a postmaster"
 
-#: utils/adt/selfuncs.c:5412
+#: utils/adt/misc.c:190
 #, c-format
-msgid "regular-expression matching not supported on type bytea"
-msgstr "no está soportada la comparación con expresiones regulares en bytea"
+msgid "failed to send signal to postmaster: %m"
+msgstr "no se pudo enviar señal a postmaster: %m"
 
-#: utils/adt/tid.c:71 utils/adt/tid.c:79 utils/adt/tid.c:87
+#: utils/adt/misc.c:207
 #, c-format
-msgid "invalid input syntax for type tid: \"%s\""
-msgstr "la sintaxis de entrada no es válida para tipo tid: «%s»"
+msgid "must be superuser to rotate log files"
+msgstr "debe ser superusuario para rotar archivos de log"
 
-#: utils/adt/timestamp.c:107
+#: utils/adt/misc.c:212
 #, c-format
-msgid "TIMESTAMP(%d)%s precision must not be negative"
-msgstr "la precisión de TIMESTAMP(%d)%s no debe ser negativa"
+msgid "rotation not possible because log collection not active"
+msgstr "la rotación no es posible porque la recoleccion de log no está activa"
 
-#: utils/adt/timestamp.c:113
+#: utils/adt/misc.c:249
 #, 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 "global tablespace never has databases"
+msgstr "el tablespace global nunca tiene bases de datos"
 
-#: utils/adt/timestamp.c:178 utils/adt/timestamp.c:452
+#: utils/adt/misc.c:270
 #, c-format
-msgid "timestamp out of range: \"%s\""
-msgstr "timestamp fuera de rango: «%s»"
+msgid "%u is not a tablespace OID"
+msgstr "%u no es un OID de tablespace"
 
-#: utils/adt/timestamp.c:196 utils/adt/timestamp.c:470
-#: utils/adt/timestamp.c:925
-#, c-format
-msgid "date/time value \"%s\" is no longer supported"
-msgstr "el valor de date/time «%s» ya no está soportado"
+#: utils/adt/misc.c:465
+msgid "unreserved"
+msgstr "no reservado"
 
-#: utils/adt/timestamp.c:266
-#, c-format
-msgid "timestamp cannot be NaN"
-msgstr "el timestamp no puede ser NaN"
+#: utils/adt/misc.c:469
+msgid "unreserved (cannot be function or type name)"
+msgstr "no reservado (no puede ser nombre de función o de tipo)"
 
-#: utils/adt/timestamp.c:387
+#: utils/adt/misc.c:473
+msgid "reserved (can be function or type name)"
+msgstr "reservado (puede ser nombre de función o de tipo)"
+
+#: utils/adt/misc.c:477
+msgid "reserved"
+msgstr "reservado"
+
+#: utils/adt/nabstime.c:139
 #, 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 "invalid time zone name: \"%s\""
+msgstr "nombre de huso horario no válido: «%s»"
 
-#: utils/adt/timestamp.c:520
+#: utils/adt/nabstime.c:484 utils/adt/nabstime.c:557
 #, c-format
-msgid "invalid input syntax for numeric time zone: \"%s\""
-msgstr "la sintaxis de entrada no es válida para el huso horario numérico: «%s»"
+msgid "cannot convert abstime \"invalid\" to timestamp"
+msgstr "no se puede convertir el valor reservado de abstime «invalid» a timestamp"