Translation updates
authorPeter Eisentraut
Mon, 2 Sep 2013 06:28:21 +0000 (02:28 -0400)
committerPeter Eisentraut
Mon, 2 Sep 2013 06:43:18 +0000 (02:43 -0400)
86 files changed:
src/backend/nls.mk
src/backend/po/de.po
src/backend/po/es.po
src/backend/po/fr.po
src/backend/po/pl.po
src/backend/po/ru.po
src/backend/po/tr.po [deleted file]
src/bin/initdb/nls.mk
src/bin/initdb/po/es.po
src/bin/initdb/po/ko.po [deleted file]
src/bin/initdb/po/pl.po
src/bin/initdb/po/ro.po [deleted file]
src/bin/initdb/po/sv.po [deleted file]
src/bin/initdb/po/ta.po [deleted file]
src/bin/initdb/po/tr.po [deleted file]
src/bin/initdb/po/zh_TW.po [deleted file]
src/bin/pg_basebackup/nls.mk
src/bin/pg_basebackup/po/es.po
src/bin/pg_basebackup/po/pl.po
src/bin/pg_basebackup/po/zh_CN.po [deleted file]
src/bin/pg_config/po/es.po
src/bin/pg_config/po/sv.po
src/bin/pg_controldata/nls.mk
src/bin/pg_controldata/po/es.po
src/bin/pg_controldata/po/ko.po [deleted file]
src/bin/pg_controldata/po/pl.po
src/bin/pg_controldata/po/ro.po [deleted file]
src/bin/pg_controldata/po/sv.po [deleted file]
src/bin/pg_controldata/po/ta.po [deleted file]
src/bin/pg_controldata/po/tr.po [deleted file]
src/bin/pg_controldata/po/zh_TW.po [deleted file]
src/bin/pg_ctl/nls.mk
src/bin/pg_ctl/po/es.po
src/bin/pg_ctl/po/ko.po [deleted file]
src/bin/pg_ctl/po/pl.po
src/bin/pg_ctl/po/sv.po
src/bin/pg_ctl/po/ta.po [deleted file]
src/bin/pg_ctl/po/tr.po [deleted file]
src/bin/pg_dump/nls.mk
src/bin/pg_dump/po/es.po
src/bin/pg_dump/po/ko.po [deleted file]
src/bin/pg_dump/po/pl.po
src/bin/pg_dump/po/sv.po [deleted file]
src/bin/pg_dump/po/tr.po [deleted file]
src/bin/pg_dump/po/zh_TW.po [deleted file]
src/bin/pg_resetxlog/nls.mk
src/bin/pg_resetxlog/po/es.po
src/bin/pg_resetxlog/po/ko.po [deleted file]
src/bin/pg_resetxlog/po/pl.po
src/bin/pg_resetxlog/po/ro.po [deleted file]
src/bin/pg_resetxlog/po/sv.po [deleted file]
src/bin/pg_resetxlog/po/ta.po [deleted file]
src/bin/pg_resetxlog/po/tr.po [deleted file]
src/bin/pg_resetxlog/po/zh_TW.po [deleted file]
src/bin/psql/nls.mk
src/bin/psql/po/es.po
src/bin/psql/po/pl.po
src/bin/psql/po/sv.po [deleted file]
src/bin/psql/po/tr.po [deleted file]
src/bin/scripts/nls.mk
src/bin/scripts/po/es.po
src/bin/scripts/po/ko.po [deleted file]
src/bin/scripts/po/pl.po
src/bin/scripts/po/ro.po [deleted file]
src/bin/scripts/po/sv.po [deleted file]
src/bin/scripts/po/ta.po [deleted file]
src/bin/scripts/po/tr.po [deleted file]
src/bin/scripts/po/zh_TW.po [deleted file]
src/interfaces/ecpg/ecpglib/po/es.po
src/interfaces/ecpg/preproc/po/es.po
src/interfaces/libpq/nls.mk
src/interfaces/libpq/po/es.po
src/interfaces/libpq/po/ko.po [deleted file]
src/interfaces/libpq/po/pl.po
src/interfaces/libpq/po/ru.po
src/interfaces/libpq/po/sv.po [deleted file]
src/interfaces/libpq/po/ta.po [deleted file]
src/pl/plperl/po/es.po
src/pl/plpgsql/src/nls.mk
src/pl/plpgsql/src/po/es.po
src/pl/plpgsql/src/po/ko.po [deleted file]
src/pl/plpython/nls.mk
src/pl/plpython/po/es.po
src/pl/plpython/po/tr.po [deleted file]
src/pl/plpython/po/zh_TW.po [deleted file]
src/pl/tcl/po/es.po

index 9f27991ad5f341cc945d4e9fa2a505a7ca965e8d..4a7f2bdf1f9f2e2b88c71fd3be1c4365c39c56b2 100644 (file)
@@ -1,6 +1,6 @@
 # src/backend/nls.mk
 CATALOG_NAME     = postgres
-AVAIL_LANGUAGES  = de es fr it ja pl pt_BR ru tr zh_CN zh_TW
+AVAIL_LANGUAGES  = de es fr it ja pl pt_BR ru zh_CN zh_TW
 GETTEXT_FILES    = + gettext-files
 GETTEXT_TRIGGERS = $(BACKEND_COMMON_GETTEXT_TRIGGERS) \
     GUC_check_errmsg GUC_check_errdetail GUC_check_errhint \
index cf4690b9d630758ce2cc93a7108491192c8ec0a0..f4a910717f3159c590f10cb678b5f4ccfd14bfdb 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9.3\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2013-08-15 03:43+0000\n"
-"PO-Revision-Date: 2013-08-15 07:47-0400\n"
+"POT-Creation-Date: 2013-09-01 04:13+0000\n"
+"PO-Revision-Date: 2013-09-01 10:15-0400\n"
 "Last-Translator: Peter Eisentraut \n"
 "Language-Team: German \n"
 "Language: de\n"
@@ -476,14 +476,14 @@ msgstr ""
 msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with OID %u"
 msgstr "Datenbank nimmt keine Befehle an, die neue MultiXactIds erzeugen, um Datenverlust wegen Transaktionsnummernüberlauf in Datenbank mit OID %u zu vermeiden"
 
-#: access/transam/multixact.c:943 access/transam/multixact.c:1989
+#: access/transam/multixact.c:943 access/transam/multixact.c:2036
 #, c-format
 msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used"
 msgid_plural "database \"%s\" must be vacuumed before %u more MultiXactIds are used"
 msgstr[0] "Datenbank „%s“ muss gevacuumt werden, bevor %u weitere MultiXactId aufgebraucht ist"
 msgstr[1] "Datenbank „%s“ muss gevacuumt werden, bevor %u weitere MultiXactIds aufgebraucht sind"
 
-#: access/transam/multixact.c:952 access/transam/multixact.c:1998
+#: access/transam/multixact.c:952 access/transam/multixact.c:2045
 #, c-format
 msgid "database with OID %u must be vacuumed before %u more MultiXactId is used"
 msgid_plural "database with OID %u must be vacuumed before %u more MultiXactIds are used"
@@ -500,12 +500,12 @@ msgstr "MultiXactId %u existiert nicht mehr -- anscheinender Überlauf"
 msgid "MultiXactId %u has not been created yet -- apparent wraparound"
 msgstr "MultiXactId %u wurde noch nicht erzeugt -- anscheinender Überlauf"
 
-#: access/transam/multixact.c:1954
+#: access/transam/multixact.c:2001
 #, c-format
 msgid "MultiXactId wrap limit is %u, limited by database with OID %u"
 msgstr "Grenze für MultiXactId-Überlauf ist %u, begrenzt durch Datenbank mit OID %u"
 
-#: access/transam/multixact.c:1994 access/transam/multixact.c:2003
+#: access/transam/multixact.c:2041 access/transam/multixact.c:2050
 #: access/transam/varsup.c:137 access/transam/varsup.c:144
 #: access/transam/varsup.c:373 access/transam/varsup.c:380
 #, c-format
@@ -516,59 +516,59 @@ msgstr ""
 "Um ein Abschalten der Datenbank zu vermeiden, führen Sie ein komplettes VACUUM über diese Datenbank aus.\n"
 "Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen."
 
-#: access/transam/multixact.c:2451
+#: access/transam/multixact.c:2498
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "ungültige MultiXactId: %u"
 
-#: access/transam/slru.c:607
+#: access/transam/slru.c:651
 #, c-format
 msgid "file \"%s\" doesn't exist, reading as zeroes"
 msgstr "Datei „%s“ existiert nicht, wird als Nullen eingelesen"
 
-#: access/transam/slru.c:837 access/transam/slru.c:843
-#: access/transam/slru.c:850 access/transam/slru.c:857
-#: access/transam/slru.c:864 access/transam/slru.c:871
+#: access/transam/slru.c:881 access/transam/slru.c:887
+#: access/transam/slru.c:894 access/transam/slru.c:901
+#: access/transam/slru.c:908 access/transam/slru.c:915
 #, c-format
 msgid "could not access status of transaction %u"
 msgstr "konnte auf den Status von Transaktion %u nicht zugreifen"
 
-#: access/transam/slru.c:838
+#: access/transam/slru.c:882
 #, c-format
 msgid "Could not open file \"%s\": %m."
 msgstr "Konnte Datei „%s“ nicht öffnen: %m."
 
-#: access/transam/slru.c:844
+#: access/transam/slru.c:888
 #, c-format
 msgid "Could not seek in file \"%s\" to offset %u: %m."
 msgstr "Konnte Positionszeiger in Datei „%s“ nicht auf %u setzen: %m."
 
-#: access/transam/slru.c:851
+#: access/transam/slru.c:895
 #, c-format
 msgid "Could not read from file \"%s\" at offset %u: %m."
 msgstr "Konnte nicht aus Datei „%s“ bei Position %u lesen: %m."
 
-#: access/transam/slru.c:858
+#: access/transam/slru.c:902
 #, c-format
 msgid "Could not write to file \"%s\" at offset %u: %m."
 msgstr "Konnte nicht in Datei „%s“ bei Position %u schreiben: %m."
 
-#: access/transam/slru.c:865
+#: access/transam/slru.c:909
 #, c-format
 msgid "Could not fsync file \"%s\": %m."
 msgstr "Konnte Datei „%s“ nicht fsyncen: %m."
 
-#: access/transam/slru.c:872
+#: access/transam/slru.c:916
 #, c-format
 msgid "Could not close file \"%s\": %m."
 msgstr "Konnte Datei „%s“ nicht schließen: %m."
 
-#: access/transam/slru.c:1127
+#: access/transam/slru.c:1171
 #, c-format
 msgid "could not truncate directory \"%s\": apparent wraparound"
 msgstr "konnte Verzeichnis „%s“ nicht leeren: anscheinender Überlauf"
 
-#: access/transam/slru.c:1201 access/transam/slru.c:1219
+#: access/transam/slru.c:1245 access/transam/slru.c:1263
 #, c-format
 msgid "removing file \"%s\""
 msgstr "entferne Datei „%s“"
@@ -577,7 +577,7 @@ msgstr "entferne Datei „%s“"
 #: access/transam/timeline.c:333 access/transam/xlog.c:2271
 #: access/transam/xlog.c:2384 access/transam/xlog.c:2421
 #: access/transam/xlog.c:2696 access/transam/xlog.c:2774
-#: replication/basebackup.c:366 replication/basebackup.c:992
+#: replication/basebackup.c:374 replication/basebackup.c:1000
 #: replication/walsender.c:368 replication/walsender.c:1326
 #: storage/file/copydir.c:158 storage/file/copydir.c:248 storage/smgr/md.c:587
 #: storage/smgr/md.c:845 utils/error/elog.c:1650 utils/init/miscinit.c:1063
@@ -624,7 +624,7 @@ msgstr "Zeitleisten-IDs müssen kleiner als die Zeitleisten-ID des Kindes sein."
 #: access/transam/timeline.c:314 access/transam/timeline.c:471
 #: access/transam/xlog.c:2305 access/transam/xlog.c:2436
 #: access/transam/xlog.c:8687 access/transam/xlog.c:9004
-#: postmaster/postmaster.c:4090 storage/file/copydir.c:165
+#: postmaster/postmaster.c:4092 storage/file/copydir.c:165
 #: storage/smgr/md.c:305 utils/time/snapmgr.c:861
 #, c-format
 msgid "could not create file \"%s\": %m"
@@ -642,8 +642,8 @@ msgstr "konnte Datei „%s“ nicht lesen: %m"
 
 #: access/transam/timeline.c:366 access/transam/timeline.c:400
 #: access/transam/timeline.c:487 access/transam/xlog.c:2335
-#: access/transam/xlog.c:2468 postmaster/postmaster.c:4100
-#: postmaster/postmaster.c:4110 storage/file/copydir.c:190
+#: access/transam/xlog.c:2468 postmaster/postmaster.c:4102
+#: postmaster/postmaster.c:4112 storage/file/copydir.c:190
 #: utils/init/miscinit.c:1128 utils/init/miscinit.c:1137
 #: utils/init/miscinit.c:1144 utils/misc/guc.c:7596 utils/misc/guc.c:7610
 #: utils/time/snapmgr.c:866 utils/time/snapmgr.c:873
@@ -1415,10 +1415,10 @@ msgstr "starte Wiederherstellung aus Archiv"
 
 #: access/transam/xlog.c:4999 commands/sequence.c:1035 lib/stringinfo.c:266
 #: libpq/auth.c:1025 libpq/auth.c:1381 libpq/auth.c:1449 libpq/auth.c:1851
-#: postmaster/postmaster.c:2144 postmaster/postmaster.c:2175
-#: postmaster/postmaster.c:3632 postmaster/postmaster.c:4315
-#: postmaster/postmaster.c:4401 postmaster/postmaster.c:5079
-#: postmaster/postmaster.c:5255 postmaster/postmaster.c:5672
+#: postmaster/postmaster.c:2146 postmaster/postmaster.c:2177
+#: postmaster/postmaster.c:3634 postmaster/postmaster.c:4317
+#: postmaster/postmaster.c:4403 postmaster/postmaster.c:5081
+#: postmaster/postmaster.c:5257 postmaster/postmaster.c:5674
 #: storage/buffer/buf_init.c:154 storage/buffer/localbuf.c:397
 #: storage/file/fd.c:403 storage/file/fd.c:800 storage/file/fd.c:918
 #: storage/file/fd.c:1531 storage/ipc/procarray.c:894
@@ -1821,7 +1821,7 @@ msgstr "Das bedeutet, dass die aktuelle Datensicherung auf dem Standby-Server ve
 
 #: access/transam/xlog.c:8672 access/transam/xlog.c:8843
 #: access/transam/xlogarchive.c:106 access/transam/xlogarchive.c:265
-#: guc-file.l:771 replication/basebackup.c:372 replication/basebackup.c:427
+#: guc-file.l:771 replication/basebackup.c:380 replication/basebackup.c:435
 #: storage/file/copydir.c:75 storage/file/copydir.c:118 utils/adt/dbsize.c:68
 #: utils/adt/dbsize.c:218 utils/adt/dbsize.c:298 utils/adt/genfile.c:108
 #: utils/adt/genfile.c:280
@@ -1858,12 +1858,12 @@ msgstr "konnte Datei „%s“ nicht löschen: %m"
 msgid "invalid data in file \"%s\""
 msgstr "ungültige Daten in Datei „%s“"
 
-#: access/transam/xlog.c:8903 replication/basebackup.c:826
+#: access/transam/xlog.c:8903 replication/basebackup.c:834
 #, c-format
 msgid "the standby was promoted during online backup"
 msgstr "der Standby-Server wurde während der Online-Sicherung zum Primärserver befördert"
 
-#: access/transam/xlog.c:8904 replication/basebackup.c:827
+#: access/transam/xlog.c:8904 replication/basebackup.c:835
 #, c-format
 msgid "This means that the backup being taken is corrupt and should not be used. Try taking another online backup."
 msgstr "Das bedeutet, dass die aktuelle Online-Sicherung verfälscht ist und nicht verwendet werden sollte. Versuchen Sie, eine neue Online-Sicherung durchzuführen."
@@ -1934,12 +1934,12 @@ msgstr "konnte Positionszeiger von Logsegment %s nicht auf %u setzen: %m"
 msgid "could not read from log segment %s, offset %u: %m"
 msgstr "konnte nicht aus Logsegment %s, Position %u lesen: %m"
 
-#: access/transam/xlog.c:9946
+#: access/transam/xlog.c:9947
 #, c-format
 msgid "received promote request"
 msgstr "Anforderung zum Befördern empfangen"
 
-#: access/transam/xlog.c:9959
+#: access/transam/xlog.c:9960
 #, c-format
 msgid "trigger file found: %s"
 msgstr "Triggerdatei gefunden: %s"
@@ -7002,7 +7002,7 @@ msgid "tablespace \"%s\" already exists"
 msgstr "Tablespace „%s“ existiert bereits"
 
 #: commands/tablespace.c:372 commands/tablespace.c:530
-#: replication/basebackup.c:162 replication/basebackup.c:913
+#: replication/basebackup.c:162 replication/basebackup.c:921
 #: utils/adt/misc.c:372
 #, c-format
 msgid "tablespaces are not supported on this platform"
@@ -7056,8 +7056,8 @@ msgid "could not create symbolic link \"%s\": %m"
 msgstr "konnte symbolische Verknüpfung „%s“ nicht erstellen: %m"
 
 #: commands/tablespace.c:690 commands/tablespace.c:700
-#: postmaster/postmaster.c:1317 replication/basebackup.c:265
-#: replication/basebackup.c:553 storage/file/copydir.c:56
+#: postmaster/postmaster.c:1319 replication/basebackup.c:265
+#: replication/basebackup.c:561 storage/file/copydir.c:56
 #: storage/file/copydir.c:99 storage/file/fd.c:1896 utils/adt/genfile.c:354
 #: utils/adt/misc.c:272 utils/misc/tzparser.c:323
 #, c-format
@@ -10412,7 +10412,7 @@ msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join con
 msgstr "FULL JOIN wird nur für Merge- oder Hash-Verbund-fähige Verbundbedingungen unterstützt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/initsplan.c:876
+#: optimizer/plan/initsplan.c:1057
 #, c-format
 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"
@@ -10440,22 +10440,22 @@ msgstr "Einige Datentypen unterstützen nur Hashing, während andere nur Sortier
 msgid "could not implement DISTINCT"
 msgstr "konnte DISTINCT nicht implementieren"
 
-#: optimizer/plan/planner.c:3271
+#: optimizer/plan/planner.c:3290
 #, c-format
 msgid "could not implement window PARTITION BY"
 msgstr "konnte PARTITION BY für Fenster nicht implementieren"
 
-#: optimizer/plan/planner.c:3272
+#: optimizer/plan/planner.c:3291
 #, c-format
 msgid "Window partitioning columns must be of sortable datatypes."
 msgstr "Fensterpartitionierungsspalten müssen sortierbare Datentypen haben."
 
-#: optimizer/plan/planner.c:3276
+#: optimizer/plan/planner.c:3295
 #, c-format
 msgid "could not implement window ORDER BY"
 msgstr "konnte ORDER BY für Fenster nicht implementieren"
 
-#: optimizer/plan/planner.c:3277
+#: optimizer/plan/planner.c:3296
 #, c-format
 msgid "Window ordering columns must be of sortable datatypes."
 msgstr "Fenstersortierspalten müssen sortierbare Datentypen haben."
@@ -12189,7 +12189,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:620 postmaster/postmaster.c:3231
+#: postmaster/pgarch.c:620 postmaster/postmaster.c:3233
 #, 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."
@@ -12284,66 +12284,66 @@ msgstr "konnte Socket von Statistiksammelprozess nicht auf nicht blockierenden M
 msgid "disabling statistics collector for lack of working socket"
 msgstr "Statistiksammelprozess abgeschaltet wegen nicht funkionierender Socket"
 
-#: postmaster/pgstat.c:664
+#: postmaster/pgstat.c:684
 #, c-format
 msgid "could not fork statistics collector: %m"
 msgstr "konnte Statistiksammelprozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/pgstat.c:1200 postmaster/pgstat.c:1224 postmaster/pgstat.c:1255
+#: postmaster/pgstat.c:1220 postmaster/pgstat.c:1244 postmaster/pgstat.c:1275
 #, c-format
 msgid "must be superuser to reset statistics counters"
 msgstr "nur Superuser können Statistikzähler zurücksetzen"
 
-#: postmaster/pgstat.c:1231
+#: postmaster/pgstat.c:1251
 #, c-format
 msgid "unrecognized reset target: \"%s\""
 msgstr "unbekanntes Reset-Ziel: „%s“"
 
-#: postmaster/pgstat.c:1232
+#: postmaster/pgstat.c:1252
 #, c-format
 msgid "Target must be \"bgwriter\"."
 msgstr "Das Reset-Ziel muss „bgwriter“ sein."
 
-#: postmaster/pgstat.c:3177
+#: postmaster/pgstat.c:3197
 #, c-format
 msgid "could not read statistics message: %m"
 msgstr "konnte Statistiknachricht nicht lesen: %m"
 
-#: postmaster/pgstat.c:3506 postmaster/pgstat.c:3676
+#: postmaster/pgstat.c:3526 postmaster/pgstat.c:3697
 #, c-format
 msgid "could not open temporary statistics file \"%s\": %m"
 msgstr "konnte temporäre Statistikdatei „%s“ nicht öffnen: %m"
 
-#: postmaster/pgstat.c:3568 postmaster/pgstat.c:3721
+#: postmaster/pgstat.c:3588 postmaster/pgstat.c:3742
 #, c-format
 msgid "could not write temporary statistics file \"%s\": %m"
 msgstr "konnte temporäre Statistikdatei „%s“ nicht schreiben: %m"
 
-#: postmaster/pgstat.c:3577 postmaster/pgstat.c:3730
+#: postmaster/pgstat.c:3597 postmaster/pgstat.c:3751
 #, c-format
 msgid "could not close temporary statistics file \"%s\": %m"
 msgstr "konnte temporäre Statistikdatei „%s“ nicht schließen: %m"
 
-#: postmaster/pgstat.c:3585 postmaster/pgstat.c:3738
+#: postmaster/pgstat.c:3605 postmaster/pgstat.c:3759
 #, c-format
 msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
 msgstr "konnte temporäre Statistikdatei „%s“ nicht in „%s“ umbenennen: %m"
 
-#: postmaster/pgstat.c:3819 postmaster/pgstat.c:3994 postmaster/pgstat.c:4148
+#: postmaster/pgstat.c:3840 postmaster/pgstat.c:4015 postmaster/pgstat.c:4169
 #, c-format
 msgid "could not open statistics file \"%s\": %m"
 msgstr "konnte Statistikdatei „%s“ nicht öffnen: %m"
 
-#: postmaster/pgstat.c:3831 postmaster/pgstat.c:3841 postmaster/pgstat.c:3862
-#: postmaster/pgstat.c:3877 postmaster/pgstat.c:3935 postmaster/pgstat.c:4006
-#: postmaster/pgstat.c:4026 postmaster/pgstat.c:4044 postmaster/pgstat.c:4060
-#: postmaster/pgstat.c:4078 postmaster/pgstat.c:4094 postmaster/pgstat.c:4160
-#: postmaster/pgstat.c:4172 postmaster/pgstat.c:4197 postmaster/pgstat.c:4219
+#: postmaster/pgstat.c:3852 postmaster/pgstat.c:3862 postmaster/pgstat.c:3883
+#: postmaster/pgstat.c:3898 postmaster/pgstat.c:3956 postmaster/pgstat.c:4027
+#: postmaster/pgstat.c:4047 postmaster/pgstat.c:4065 postmaster/pgstat.c:4081
+#: postmaster/pgstat.c:4099 postmaster/pgstat.c:4115 postmaster/pgstat.c:4181
+#: postmaster/pgstat.c:4193 postmaster/pgstat.c:4218 postmaster/pgstat.c:4240
 #, c-format
 msgid "corrupted statistics file \"%s\""
 msgstr "verfälschte Statistikdatei „%s“"
 
-#: postmaster/pgstat.c:4646
+#: postmaster/pgstat.c:4667
 #, c-format
 msgid "database hash table corrupted during cleanup --- abort"
 msgstr "Datenbank-Hash-Tabelle beim Aufräumen verfälscht --- Abbruch"
@@ -12388,117 +12388,113 @@ msgstr "WAL-Streaming (max_wal_senders > 0) benötigt wal_level „archive“ od
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s: ungültige datetoken-Tabellen, bitte reparieren\n"
 
-#: postmaster/postmaster.c:930
+#: postmaster/postmaster.c:930 postmaster/postmaster.c:1028
+#: utils/init/miscinit.c:1259
 #, c-format
-msgid "invalid list syntax for \"listen_addresses\""
-msgstr "ungültige Listensyntax für Parameter „listen_addresses“"
+msgid "invalid list syntax in parameter \"%s\""
+msgstr "ungültige Listensyntax für Parameter „%s“"
 
-#: postmaster/postmaster.c:960
+#: postmaster/postmaster.c:961
 #, c-format
 msgid "could not create listen socket for \"%s\""
 msgstr "konnte Listen-Socket für „%s“ nicht erzeugen"
 
-#: postmaster/postmaster.c:966
+#: postmaster/postmaster.c:967
 #, c-format
 msgid "could not create any TCP/IP sockets"
 msgstr "konnte keine TCP/IP-Sockets erstellen"
 
-#: postmaster/postmaster.c:1027
-#, c-format
-msgid "invalid list syntax for \"unix_socket_directories\""
-msgstr "ungültige Listensyntax für Parameter „unix_socket_directories“"
-
-#: postmaster/postmaster.c:1048
+#: postmaster/postmaster.c:1050
 #, 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:1054
+#: postmaster/postmaster.c:1056
 #, c-format
 msgid "could not create any Unix-domain sockets"
 msgstr "konnte keine Unix-Domain-Sockets erzeugen"
 
-#: postmaster/postmaster.c:1066
+#: postmaster/postmaster.c:1068
 #, c-format
 msgid "no socket created for listening"
 msgstr "keine Listen-Socket erzeugt"
 
-#: postmaster/postmaster.c:1106
+#: postmaster/postmaster.c:1108
 #, 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:1135
+#: postmaster/postmaster.c:1137
 #, 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:1139
+#: postmaster/postmaster.c:1141
 #, 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:1193
+#: postmaster/postmaster.c:1195
 #, c-format
 msgid "ending log output to stderr"
 msgstr "Logausgabe nach stderr endet"
 
-#: postmaster/postmaster.c:1194
+#: postmaster/postmaster.c:1196
 #, c-format
 msgid "Future log output will go to log destination \"%s\"."
 msgstr "Die weitere Logausgabe geht an Logziel „%s“."
 
-#: postmaster/postmaster.c:1220 utils/init/postinit.c:199
+#: postmaster/postmaster.c:1222 utils/init/postinit.c:199
 #, c-format
 msgid "could not load pg_hba.conf"
 msgstr "konnte pg_hba.conf nicht laden"
 
-#: postmaster/postmaster.c:1296
+#: postmaster/postmaster.c:1298
 #, c-format
 msgid "%s: could not locate matching postgres executable"
 msgstr "%s: konnte kein passendes Programm „postgres“ finden"
 
-#: postmaster/postmaster.c:1319 utils/misc/tzparser.c:325
+#: postmaster/postmaster.c:1321 utils/misc/tzparser.c:325
 #, 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:1347
+#: postmaster/postmaster.c:1349
 #, c-format
 msgid "data directory \"%s\" does not exist"
 msgstr "Datenverzeichnis „%s“ existiert nicht"
 
-#: postmaster/postmaster.c:1352
+#: postmaster/postmaster.c:1354
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
 msgstr "konnte Zugriffsrechte von Verzeichnis „%s“ nicht lesen: %m"
 
-#: postmaster/postmaster.c:1360
+#: postmaster/postmaster.c:1362
 #, c-format
 msgid "specified data directory \"%s\" is not a directory"
 msgstr "angegebenes Datenverzeichnis „%s“ ist kein Verzeichnis"
 
-#: postmaster/postmaster.c:1376
+#: postmaster/postmaster.c:1378
 #, c-format
 msgid "data directory \"%s\" has wrong ownership"
 msgstr "Datenverzeichnis „%s“ hat falschen Eigentümer"
 
-#: postmaster/postmaster.c:1378
+#: postmaster/postmaster.c:1380
 #, 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:1398
+#: postmaster/postmaster.c:1400
 #, c-format
 msgid "data directory \"%s\" has group or world access"
 msgstr "Datenverzeichnis „%s“ erlaubt Zugriff von Gruppe oder Welt"
 
-#: postmaster/postmaster.c:1400
+#: postmaster/postmaster.c:1402
 #, c-format
 msgid "Permissions should be u=rwx (0700)."
 msgstr "Rechte sollten u=rwx (0700) sein."
 
-#: postmaster/postmaster.c:1411
+#: postmaster/postmaster.c:1413
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -12509,386 +12505,386 @@ msgstr ""
 "Es wurde im Verzeichnis „%s“ erwartet,\n"
 "aber die Datei „%s“ konnte nicht geöffnet werden: %s\n"
 
-#: postmaster/postmaster.c:1563
+#: postmaster/postmaster.c:1565
 #, c-format
 msgid "select() failed in postmaster: %m"
 msgstr "select() fehlgeschlagen im Postmaster: %m"
 
-#: postmaster/postmaster.c:1733 postmaster/postmaster.c:1764
+#: postmaster/postmaster.c:1735 postmaster/postmaster.c:1766
 #, c-format
 msgid "incomplete startup packet"
 msgstr "unvollständiges Startpaket"
 
-#: postmaster/postmaster.c:1745
+#: postmaster/postmaster.c:1747
 #, c-format
 msgid "invalid length of startup packet"
 msgstr "ungültige Länge des Startpakets"
 
-#: postmaster/postmaster.c:1802
+#: postmaster/postmaster.c:1804
 #, c-format
 msgid "failed to send SSL negotiation response: %m"
 msgstr "konnte SSL-Verhandlungsantwort nicht senden: %m"
 
-#: postmaster/postmaster.c:1831
+#: postmaster/postmaster.c:1833
 #, 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:1882
+#: postmaster/postmaster.c:1884
 #, c-format
 msgid "invalid value for boolean option \"replication\""
 msgstr "ungültiger Wert für Boole’sche Option „replication“"
 
-#: postmaster/postmaster.c:1902
+#: postmaster/postmaster.c:1904
 #, 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:1930
+#: postmaster/postmaster.c:1932
 #, c-format
 msgid "no PostgreSQL user name specified in startup packet"
 msgstr "kein PostgreSQL-Benutzername im Startpaket angegeben"
 
-#: postmaster/postmaster.c:1987
+#: postmaster/postmaster.c:1989
 #, c-format
 msgid "the database system is starting up"
 msgstr "das Datenbanksystem startet"
 
-#: postmaster/postmaster.c:1992
+#: postmaster/postmaster.c:1994
 #, c-format
 msgid "the database system is shutting down"
 msgstr "das Datenbanksystem fährt herunter"
 
-#: postmaster/postmaster.c:1997
+#: postmaster/postmaster.c:1999
 #, c-format
 msgid "the database system is in recovery mode"
 msgstr "das Datenbanksystem ist im Wiederherstellungsmodus"
 
-#: postmaster/postmaster.c:2002 storage/ipc/procarray.c:278
+#: postmaster/postmaster.c:2004 storage/ipc/procarray.c:278
 #: storage/ipc/sinvaladt.c:304 storage/lmgr/proc.c:339
 #, c-format
 msgid "sorry, too many clients already"
 msgstr "tut mir leid, schon zu viele Verbindungen"
 
-#: postmaster/postmaster.c:2064
+#: postmaster/postmaster.c:2066
 #, c-format
 msgid "wrong key in cancel request for process %d"
 msgstr "falscher Schlüssel in Stornierungsanfrage für Prozess %d"
 
-#: postmaster/postmaster.c:2072
+#: postmaster/postmaster.c:2074
 #, 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:2292
+#: postmaster/postmaster.c:2294
 #, c-format
 msgid "received SIGHUP, reloading configuration files"
 msgstr "SIGHUP empfangen, Konfigurationsdateien werden neu geladen"
 
-#: postmaster/postmaster.c:2318
+#: postmaster/postmaster.c:2320
 #, c-format
 msgid "pg_hba.conf not reloaded"
 msgstr "pg_hba.conf nicht neu geladen"
 
-#: postmaster/postmaster.c:2322
+#: postmaster/postmaster.c:2324
 #, c-format
 msgid "pg_ident.conf not reloaded"
 msgstr "pg_ident.conf nicht neu geladen"
 
-#: postmaster/postmaster.c:2363
+#: postmaster/postmaster.c:2365
 #, c-format
 msgid "received smart shutdown request"
 msgstr "intelligentes Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2416
+#: postmaster/postmaster.c:2418
 #, c-format
 msgid "received fast shutdown request"
 msgstr "schnelles Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2442
+#: postmaster/postmaster.c:2444
 #, c-format
 msgid "aborting any active transactions"
 msgstr "etwaige aktive Transaktionen werden abgebrochen"
 
-#: postmaster/postmaster.c:2472
+#: postmaster/postmaster.c:2474
 #, c-format
 msgid "received immediate shutdown request"
 msgstr "sofortiges Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2543 postmaster/postmaster.c:2564
+#: postmaster/postmaster.c:2545 postmaster/postmaster.c:2566
 msgid "startup process"
 msgstr "Startprozess"
 
-#: postmaster/postmaster.c:2546
+#: postmaster/postmaster.c:2548
 #, c-format
 msgid "aborting startup due to startup process failure"
 msgstr "Serverstart abgebrochen wegen Startprozessfehler"
 
-#: postmaster/postmaster.c:2603
+#: postmaster/postmaster.c:2605
 #, c-format
 msgid "database system is ready to accept connections"
 msgstr "Datenbanksystem ist bereit, um Verbindungen anzunehmen"
 
-#: postmaster/postmaster.c:2618
+#: postmaster/postmaster.c:2620
 msgid "background writer process"
 msgstr "Background-Writer-Prozess"
 
-#: postmaster/postmaster.c:2672
+#: postmaster/postmaster.c:2674
 msgid "checkpointer process"
 msgstr "Checkpointer-Prozess"
 
-#: postmaster/postmaster.c:2688
+#: postmaster/postmaster.c:2690
 msgid "WAL writer process"
 msgstr "WAL-Schreibprozess"
 
-#: postmaster/postmaster.c:2702
+#: postmaster/postmaster.c:2704
 msgid "WAL receiver process"
 msgstr "WAL-Receiver-Prozess"
 
-#: postmaster/postmaster.c:2717
+#: postmaster/postmaster.c:2719
 msgid "autovacuum launcher process"
 msgstr "Autovacuum-Launcher-Prozess"
 
-#: postmaster/postmaster.c:2732
+#: postmaster/postmaster.c:2734
 msgid "archiver process"
 msgstr "Archivierprozess"
 
-#: postmaster/postmaster.c:2748
+#: postmaster/postmaster.c:2750
 msgid "statistics collector process"
 msgstr "Statistiksammelprozess"
 
-#: postmaster/postmaster.c:2762
+#: postmaster/postmaster.c:2764
 msgid "system logger process"
 msgstr "Systemlogger-Prozess"
 
-#: postmaster/postmaster.c:2824
+#: postmaster/postmaster.c:2826
 msgid "worker process"
 msgstr "Worker-Prozess"
 
-#: postmaster/postmaster.c:2894 postmaster/postmaster.c:2913
-#: postmaster/postmaster.c:2920 postmaster/postmaster.c:2938
+#: postmaster/postmaster.c:2896 postmaster/postmaster.c:2915
+#: postmaster/postmaster.c:2922 postmaster/postmaster.c:2940
 msgid "server process"
 msgstr "Serverprozess"
 
-#: postmaster/postmaster.c:2974
+#: postmaster/postmaster.c:2976
 #, 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:3219
+#: postmaster/postmaster.c:3221
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) beendete mit Status %d"
 
-#: postmaster/postmaster.c:3221 postmaster/postmaster.c:3232
-#: postmaster/postmaster.c:3243 postmaster/postmaster.c:3252
-#: postmaster/postmaster.c:3262
+#: postmaster/postmaster.c:3223 postmaster/postmaster.c:3234
+#: postmaster/postmaster.c:3245 postmaster/postmaster.c:3254
+#: postmaster/postmaster.c:3264
 #, 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:3229
+#: postmaster/postmaster.c:3231
 #, 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:3239
+#: postmaster/postmaster.c:3241
 #, 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:3250
+#: postmaster/postmaster.c:3252
 #, 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:3260
+#: postmaster/postmaster.c:3262
 #, c-format
 msgid "%s (PID %d) exited with unrecognized status %d"
 msgstr "%s (PID %d) beendete mit unbekanntem Status %d"
 
-#: postmaster/postmaster.c:3445
+#: postmaster/postmaster.c:3447
 #, c-format
 msgid "abnormal database system shutdown"
 msgstr "abnormales Herunterfahren des Datenbanksystems"
 
-#: postmaster/postmaster.c:3484
+#: postmaster/postmaster.c:3486
 #, c-format
 msgid "all server processes terminated; reinitializing"
 msgstr "alle Serverprozesse beendet; initialisiere neu"
 
-#: postmaster/postmaster.c:3700
+#: postmaster/postmaster.c:3702
 #, 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:3742
+#: postmaster/postmaster.c:3744
 msgid "could not fork new process for connection: "
 msgstr "konnte neuen Prozess für Verbindung nicht starten (fork-Fehler): "
 
-#: postmaster/postmaster.c:3849
+#: postmaster/postmaster.c:3851
 #, c-format
 msgid "connection received: host=%s port=%s"
 msgstr "Verbindung empfangen: Host=%s Port=%s"
 
-#: postmaster/postmaster.c:3854
+#: postmaster/postmaster.c:3856
 #, c-format
 msgid "connection received: host=%s"
 msgstr "Verbindung empfangen: Host=%s"
 
-#: postmaster/postmaster.c:4129
+#: postmaster/postmaster.c:4131
 #, c-format
 msgid "could not execute server process \"%s\": %m"
 msgstr "konnte Serverprozess „%s“ nicht ausführen: %m"
 
-#: postmaster/postmaster.c:4668
+#: postmaster/postmaster.c:4670
 #, c-format
 msgid "database system is ready to accept read only connections"
 msgstr "Datenbanksystem ist bereit, um lesende Verbindungen anzunehmen"
 
-#: postmaster/postmaster.c:4979
+#: postmaster/postmaster.c:4981
 #, c-format
 msgid "could not fork startup process: %m"
 msgstr "konnte Startprozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:4983
+#: postmaster/postmaster.c:4985
 #, c-format
 msgid "could not fork background writer process: %m"
 msgstr "konnte Background-Writer-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:4987
+#: postmaster/postmaster.c:4989
 #, c-format
 msgid "could not fork checkpointer process: %m"
 msgstr "konnte Checkpointer-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:4991
+#: postmaster/postmaster.c:4993
 #, c-format
 msgid "could not fork WAL writer process: %m"
 msgstr "konnte WAL-Writer-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:4995
+#: postmaster/postmaster.c:4997
 #, c-format
 msgid "could not fork WAL receiver process: %m"
 msgstr "konnte WAL-Receiver-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:4999
+#: postmaster/postmaster.c:5001
 #, c-format
 msgid "could not fork process: %m"
 msgstr "konnte Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5178
+#: postmaster/postmaster.c:5180
 #, c-format
 msgid "registering background worker \"%s\""
 msgstr "registriere Background-Worker „%s“"
 
-#: postmaster/postmaster.c:5185
+#: postmaster/postmaster.c:5187
 #, c-format
 msgid "background worker \"%s\": must be registered in shared_preload_libraries"
 msgstr "Background-Worker „%s“: muss in shared_preload_libraries registriert sein"
 
-#: postmaster/postmaster.c:5198
+#: postmaster/postmaster.c:5200
 #, c-format
 msgid "background worker \"%s\": must attach to shared memory in order to be able to request a database connection"
 msgstr "Background-Worker „%s“: muss mit Shared Memory verbinden, um eine Datenbankverbindung anfordern zu können"
 
-#: postmaster/postmaster.c:5208
+#: postmaster/postmaster.c:5210
 #, c-format
 msgid "background worker \"%s\": cannot request database access if starting at postmaster start"
 msgstr "Background-Worker „%s“: kann kein Datenbankzugriff anfordern, wenn er nach Postmaster-Start gestartet hat"
 
-#: postmaster/postmaster.c:5223
+#: postmaster/postmaster.c:5225
 #, c-format
 msgid "background worker \"%s\": invalid restart interval"
 msgstr "Background-Worker „%s“: ungültiges Neustart-Intervall"
 
-#: postmaster/postmaster.c:5239
+#: postmaster/postmaster.c:5241
 #, c-format
 msgid "too many background workers"
 msgstr "zu viele Background-Worker"
 
-#: postmaster/postmaster.c:5240
+#: postmaster/postmaster.c:5242
 #, c-format
 msgid "Up to %d background worker can be registered with the current settings."
 msgid_plural "Up to %d background workers can be registered with the current settings."
 msgstr[0] "Mit den aktuellen Einstellungen können bis zu %d Background-Worker registriert werden."
 msgstr[1] "Mit den aktuellen Einstellungen können bis zu %d Background-Worker registriert werden."
 
-#: postmaster/postmaster.c:5283
+#: postmaster/postmaster.c:5285
 #, 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:5290
+#: postmaster/postmaster.c:5292
 #, c-format
 msgid "invalid processing mode in background worker"
 msgstr "ungültiger Verarbeitungsmodus in Background-Worker"
 
-#: postmaster/postmaster.c:5364
+#: postmaster/postmaster.c:5366
 #, c-format
 msgid "terminating background worker \"%s\" due to administrator command"
 msgstr "breche Background-Worker „%s“ ab aufgrund von Anweisung des Administrators"
 
-#: postmaster/postmaster.c:5581
+#: postmaster/postmaster.c:5583
 #, c-format
 msgid "starting background worker process \"%s\""
 msgstr "starte Background-Worker-Prozess „%s“"
 
-#: postmaster/postmaster.c:5592
+#: postmaster/postmaster.c:5594
 #, c-format
 msgid "could not fork worker process: %m"
 msgstr "konnte Worker-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5944
+#: postmaster/postmaster.c:5946
 #, 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:5976
+#: postmaster/postmaster.c:5978
 #, c-format
 msgid "could not create inherited socket: error code %d\n"
 msgstr "konnte geerbtes Socket nicht erzeugen: Fehlercode %d\n"
 
-#: postmaster/postmaster.c:6005 postmaster/postmaster.c:6012
+#: postmaster/postmaster.c:6007 postmaster/postmaster.c:6014
 #, 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:6021
+#: postmaster/postmaster.c:6023
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "konnte Datei „%s“ nicht löschen: %s\n"
 
-#: postmaster/postmaster.c:6038
+#: postmaster/postmaster.c:6040
 #, 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:6047
+#: postmaster/postmaster.c:6049
 #, 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:6054
+#: postmaster/postmaster.c:6056
 #, 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:6210
+#: postmaster/postmaster.c:6212
 #, c-format
 msgid "could not read exit code for process\n"
 msgstr "konnte Exitcode des Prozesses nicht lesen\n"
 
-#: postmaster/postmaster.c:6215
+#: postmaster/postmaster.c:6217
 #, c-format
 msgid "could not post child completion status\n"
 msgstr "konnte Child-Completion-Status nicht versenden\n"
@@ -12971,13 +12967,13 @@ msgstr "Zeichenkette in Anführungszeichen nicht abgeschlossen"
 msgid "syntax error: unexpected character \"%s\""
 msgstr "Syntaxfehler: unerwartetes Zeichen „%s“"
 
-#: replication/basebackup.c:135 replication/basebackup.c:893
+#: replication/basebackup.c:135 replication/basebackup.c:901
 #: utils/adt/misc.c:360
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "konnte symbolische Verknüpfung „%s“ nicht lesen: %m"
 
-#: replication/basebackup.c:142 replication/basebackup.c:897
+#: replication/basebackup.c:142 replication/basebackup.c:905
 #: utils/adt/misc.c:364
 #, c-format
 msgid "symbolic link \"%s\" target is too long"
@@ -12988,40 +12984,45 @@ msgstr "Ziel für symbolische Verknüpfung „%s“ ist zu lang"
 msgid "could not stat control file \"%s\": %m"
 msgstr "konnte „stat“ für Kontrolldatei „%s“ nicht ausführen: %m"
 
-#: replication/basebackup.c:317 replication/basebackup.c:331
-#: replication/basebackup.c:340
+#: replication/basebackup.c:312
+#, c-format
+msgid "could not find any WAL files"
+msgstr "konnte keine WAL-Dateien finden"
+
+#: replication/basebackup.c:325 replication/basebackup.c:339
+#: replication/basebackup.c:348
 #, c-format
 msgid "could not find WAL file \"%s\""
 msgstr "konnte WAL-Datei „%s“ nicht finden"
 
-#: replication/basebackup.c:379 replication/basebackup.c:402
+#: replication/basebackup.c:387 replication/basebackup.c:410
 #, c-format
 msgid "unexpected WAL file size \"%s\""
 msgstr "unerwartete WAL-Dateigröße „%s“"
 
-#: replication/basebackup.c:390 replication/basebackup.c:1011
+#: replication/basebackup.c:398 replication/basebackup.c:1019
 #, c-format
 msgid "base backup could not send data, aborting backup"
 msgstr "Basissicherung konnte keine Daten senden, Sicherung abgebrochen"
 
-#: replication/basebackup.c:474 replication/basebackup.c:483
-#: replication/basebackup.c:492 replication/basebackup.c:501
-#: replication/basebackup.c:510
+#: replication/basebackup.c:482 replication/basebackup.c:491
+#: replication/basebackup.c:500 replication/basebackup.c:509
+#: replication/basebackup.c:518
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "doppelte Option „%s“"
 
-#: replication/basebackup.c:763 replication/basebackup.c:847
+#: replication/basebackup.c:771 replication/basebackup.c:855
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr "konnte „stat“ für Datei oder Verzeichnis „%s“ nicht ausführen: %m"
 
-#: replication/basebackup.c:947
+#: replication/basebackup.c:955
 #, c-format
 msgid "skipping special file \"%s\""
 msgstr "überspringe besondere Datei „%s“"
 
-#: replication/basebackup.c:1001
+#: replication/basebackup.c:1009
 #, c-format
 msgid "archive member \"%s\" too large for tar format"
 msgstr "Archivmitglied „%s“ zu groß für Tar-Format"
@@ -17344,7 +17345,7 @@ msgstr "keine Eingabefunktion verfügbar für Typ %s"
 msgid "no output function available for type %s"
 msgstr "keine Ausgabefunktion verfügbar für Typ %s"
 
-#: utils/cache/plancache.c:695
+#: utils/cache/plancache.c:696
 #, c-format
 msgid "cached plan must not change result type"
 msgstr "gecachter Plan darf den Ergebnistyp nicht ändern"
@@ -17777,11 +17778,6 @@ msgstr "Sie müssen möglicherweise initdb ausführen."
 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:1259
-#, c-format
-msgid "invalid list syntax in parameter \"%s\""
-msgstr "ungültige Listensyntax für Parameter „%s“"
-
 #: utils/init/miscinit.c:1296
 #, c-format
 msgid "loaded library \"%s\""
index f6cb521a6226fc64e1e28a5fc0feb8b0173fe95c..84255868906517d73ade4a73f43199eef1e374ed 100644 (file)
@@ -34,6 +34,7 @@
 # privilege                privilegio
 # to revoke                revocar
 # row                  registro, fila
+# row type             tipo de registro
 # rule                 regla de reescritura
 # schema               esquema
 # to skip              ignorar
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL server 9.1\n"
+"Project-Id-Version: PostgreSQL server 9.3\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2013-01-29 13:41+0000\n"
-"PO-Revision-Date: 2013-01-29 16:07-0300\n"
+"POT-Creation-Date: 2013-08-29 23:13+0000\n"
+"PO-Revision-Date: 2013-08-30 13:05-0400\n"
 "Last-Translator: Álvaro Herrera \n"
 "Language-Team: PgSQL Español \n"
 "Language: es\n"
@@ -67,115 +68,90 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
-#: ../port/chklocale.c:328 ../port/chklocale.c:334
+#: ../port/chklocale.c:351 ../port/chklocale.c:357
 #, c-format
 msgid "could not determine encoding for locale \"%s\": codeset is \"%s\""
 msgstr "no se pudo determinar la codificación para la configuración regional «%s»: el codeset es «%s»"
 
-#: ../port/chklocale.c:336
+#: ../port/chklocale.c:359
 #, c-format
 msgid "Please report this to ."
 msgstr "Por favor reporte esto a ."
 
-#: ../port/dirmod.c:79 ../port/dirmod.c:92 ../port/dirmod.c:109
-#, c-format
-msgid "out of memory\n"
-msgstr "memoria agotada\n"
-
-#: ../port/dirmod.c:291
+#: ../port/dirmod.c:217
 #, c-format
 msgid "could not set junction for \"%s\": %s"
 msgstr "no se pudo definir un junction para «%s»: %s"
 
-#: ../port/dirmod.c:294
+#: ../port/dirmod.c:220
 #, c-format
 msgid "could not set junction for \"%s\": %s\n"
 msgstr "no se pudo definir un junction para «%s»: %s\n"
 
-#: ../port/dirmod.c:366
+#: ../port/dirmod.c:292
 #, c-format
 msgid "could not get junction for \"%s\": %s"
 msgstr "no se pudo obtener junction para «%s»: %s"
 
-#: ../port/dirmod.c:369
+#: ../port/dirmod.c:295
 #, c-format
 msgid "could not get junction for \"%s\": %s\n"
 msgstr "no se pudo obtener junction para «%s»: %s\n"
 
-#: ../port/dirmod.c:451
+#: ../port/dirmod.c:377
 #, c-format
 msgid "could not open directory \"%s\": %s\n"
 msgstr "no se pudo abrir el directorio «%s»: %s\n"
 
-#: ../port/dirmod.c:488
+#: ../port/dirmod.c:414
 #, c-format
 msgid "could not read directory \"%s\": %s\n"
 msgstr "no se pudo leer el directorio «%s»: %s\n"
 
-#: ../port/dirmod.c:571
+#: ../port/dirmod.c:497
 #, c-format
 msgid "could not stat file or directory \"%s\": %s\n"
 msgstr "no se pudo hacer stat al archivo o directorio «%s»: %s\n"
 
-#: ../port/dirmod.c:598 ../port/dirmod.c:615
+#: ../port/dirmod.c:524 ../port/dirmod.c:541
 #, c-format
 msgid "could not remove file or directory \"%s\": %s\n"
 msgstr "no se pudo eliminar el directorio «%s»: %s\n"
 
-#: ../port/exec.c:125 ../port/exec.c:239 ../port/exec.c:282
+#: ../port/exec.c:127 ../port/exec.c:241 ../port/exec.c:284
 #, c-format
 msgid "could not identify current directory: %s"
 msgstr "no se pudo identificar el directorio actual: %s"
 
-#: ../port/exec.c:144
+#: ../port/exec.c:146
 #, c-format
 msgid "invalid binary \"%s\""
 msgstr "el binario «%s» no es válido"
 
-#: ../port/exec.c:193
+#: ../port/exec.c:195
 #, c-format
 msgid "could not read binary \"%s\""
 msgstr "no se pudo leer el binario «%s»"
 
-#: ../port/exec.c:200
+#: ../port/exec.c:202
 #, c-format
 msgid "could not find a \"%s\" to execute"
 msgstr "no se pudo encontrar un «%s» para ejecutar"
 
-#: ../port/exec.c:255 ../port/exec.c:291
+#: ../port/exec.c:257 ../port/exec.c:293
 #, c-format
-msgid "could not change directory to \"%s\""
-msgstr "no se pudo cambiar al directorio «%s»"
+msgid "could not change directory to \"%s\": %s"
+msgstr "no se pudo cambiar el directorio a «%s»: %s"
 
-#: ../port/exec.c:270
+#: ../port/exec.c:272
 #, c-format
 msgid "could not read symbolic link \"%s\""
 msgstr "no se pudo leer el enlace simbólico «%s»"
 
-#: ../port/exec.c:526
-#, c-format
-msgid "child process exited with exit code %d"
-msgstr "el proceso hijo terminó con código de salida %d"
-
-#: ../port/exec.c:530
-#, c-format
-msgid "child process was terminated by exception 0x%X"
-msgstr "el proceso hijo fue terminado por la excepción 0x%X"
-
-#: ../port/exec.c:539
-#, c-format
-msgid "child process was terminated by signal %s"
-msgstr "el proceso hijo fue terminado por una señal %s"
-
-#: ../port/exec.c:542
-#, c-format
-msgid "child process was terminated by signal %d"
-msgstr "el proceso hijo fue terminado por una señal %d"
-
-#: ../port/exec.c:546
+#: ../port/exec.c:523
 #, c-format
-msgid "child process exited with unrecognized status %d"
-msgstr "el proceso hijo terminó con código no reconocido %d"
+msgid "pclose failed: %s"
+msgstr "pclose falló: %s"
 
 #: ../port/open.c:112
 #, c-format
@@ -205,6 +181,41 @@ msgstr "Es posible que tenga antivirus, sistema de respaldos, o software similar
 msgid "unrecognized error %d"
 msgstr "código de error no reconocido: %d"
 
+#: ../port/wait_error.c:47
+#, c-format
+msgid "command not executable"
+msgstr "la orden no es ejecutable"
+
+#: ../port/wait_error.c:51
+#, c-format
+msgid "command not found"
+msgstr "orden no encontrada"
+
+#: ../port/wait_error.c:56
+#, c-format
+msgid "child process exited with exit code %d"
+msgstr "el proceso hijo terminó con código de salida %d"
+
+#: ../port/wait_error.c:63
+#, c-format
+msgid "child process was terminated by exception 0x%X"
+msgstr "el proceso hijo fue terminado por una excepción 0x%X"
+
+#: ../port/wait_error.c:73
+#, c-format
+msgid "child process was terminated by signal %s"
+msgstr "el proceso hijo fue terminado por una señal %s"
+
+#: ../port/wait_error.c:77
+#, c-format
+msgid "child process was terminated by signal %d"
+msgstr "el proceso hijo fue terminado por una señal %d"
+
+#: ../port/wait_error.c:82
+#, c-format
+msgid "child process exited with unrecognized status %d"
+msgstr "el proceso hijo terminó con código no reconocido %d"
+
 #: ../port/win32error.c:188
 #, c-format
 msgid "mapped win32 error code %lu to %d"
@@ -230,94 +241,94 @@ msgstr "el número de columnas del índice (%d) excede el límite (%d)"
 msgid "index row requires %lu bytes, maximum size is %lu"
 msgstr "fila de índice requiere %lu bytes, tamaño máximo es %lu"
 
-#: access/common/printtup.c:278 tcop/fastpath.c:180 tcop/fastpath.c:567
-#: tcop/postgres.c:1671
+#: access/common/printtup.c:278 tcop/fastpath.c:182 tcop/fastpath.c:571
+#: tcop/postgres.c:1673
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "código de formato no soportado: %d"
 
-#: access/common/reloptions.c:351
+#: access/common/reloptions.c:352
 #, c-format
 msgid "user-defined relation parameter types limit exceeded"
 msgstr "el límite de tipos de parámetros de relación definidos por el usuario ha sido excedido"
 
-#: access/common/reloptions.c:635
+#: access/common/reloptions.c:636
 #, c-format
 msgid "RESET must not include values for parameters"
 msgstr "RESET no debe incluir valores de parámetros"
 
-#: access/common/reloptions.c:668
+#: access/common/reloptions.c:669
 #, c-format
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "espacio de nombre de parámetro «%s» no reconocido"
 
-#: access/common/reloptions.c:912
+#: access/common/reloptions.c:913 parser/parse_clause.c:267
 #, c-format
 msgid "unrecognized parameter \"%s\""
 msgstr "parámetro no reconocido «%s»"
 
-#: access/common/reloptions.c:937
+#: access/common/reloptions.c:938
 #, c-format
 msgid "parameter \"%s\" specified more than once"
 msgstr "el parámetro «%s» fue especificado más de una vez"
 
-#: access/common/reloptions.c:952
+#: access/common/reloptions.c:953
 #, c-format
 msgid "invalid value for boolean option \"%s\": %s"
 msgstr "valor no válido para la opción booleana «%s»: «%s»"
 
-#: access/common/reloptions.c:963
+#: access/common/reloptions.c:964
 #, c-format
 msgid "invalid value for integer option \"%s\": %s"
 msgstr "valor no válido para la opción entera «%s»: «%s»"
 
-#: access/common/reloptions.c:968 access/common/reloptions.c:986
+#: access/common/reloptions.c:969 access/common/reloptions.c:987
 #, c-format
 msgid "value %s out of bounds for option \"%s\""
 msgstr "el valor %s está fuera del rango de la opción «%s»"
 
-#: access/common/reloptions.c:970
+#: access/common/reloptions.c:971
 #, c-format
 msgid "Valid values are between \"%d\" and \"%d\"."
 msgstr "Los valores aceptables están entre «%d» y «%d»."
 
-#: access/common/reloptions.c:981
+#: access/common/reloptions.c:982
 #, c-format
 msgid "invalid value for floating point option \"%s\": %s"
 msgstr "valor no válido para la opción de coma flotante «%s»: «%s»"
 
-#: access/common/reloptions.c:988
+#: access/common/reloptions.c:989
 #, c-format
 msgid "Valid values are between \"%f\" and \"%f\"."
 msgstr "Valores aceptables están entre «%f» y «%f»."
 
-#: access/common/tupconvert.c:107
+#: access/common/tupconvert.c:108
 #, c-format
 msgid "Returned type %s does not match expected type %s in column %d."
 msgstr "El tipo retornado %s no coincide con el tipo de registro esperado %s en la columna %d."
 
-#: access/common/tupconvert.c:135
+#: access/common/tupconvert.c:136
 #, c-format
 msgid "Number of returned columns (%d) does not match expected column count (%d)."
 msgstr "La cantidad de columnas retornadas (%d) no coincide con la cantidad esperada de columnas (%d)."
 
-#: access/common/tupconvert.c:240
+#: access/common/tupconvert.c:241
 #, c-format
 msgid "Attribute \"%s\" of type %s does not match corresponding attribute of type %s."
 msgstr "El atributo «%s» de tipo %s no coincide el atributo correspondiente de tipo %s."
 
-#: access/common/tupconvert.c:252
+#: access/common/tupconvert.c:253
 #, c-format
 msgid "Attribute \"%s\" of type %s does not exist in type %s."
 msgstr "El atributo «%s» de tipo %s no existe en el tipo %s."
 
-#: access/common/tupdesc.c:584 parser/parse_relation.c:1183
+#: access/common/tupdesc.c:585 parser/parse_relation.c:1266
 #, c-format
 msgid "column \"%s\" cannot be declared SETOF"
 msgstr "la columna «%s» no puede ser declarada SETOF"
 
-#: access/gin/ginentrypage.c:100 access/nbtree/nbtinsert.c:530
-#: access/nbtree/nbtsort.c:482 access/spgist/spgdoinsert.c:1890
+#: access/gin/ginentrypage.c:100 access/nbtree/nbtinsert.c:540
+#: access/nbtree/nbtsort.c:485 access/spgist/spgdoinsert.c:1888
 #, c-format
 msgid "index row size %lu exceeds maximum %lu for index \"%s\""
 msgstr "el tamaño de fila de índice %lu excede el máximo %lu para el índice «%s»"
@@ -332,36 +343,31 @@ 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:76 access/gist/gistbuild.c:169
-#, c-format
-msgid "unlogged GiST indexes are not supported"
-msgstr "los índices GiST unlogged no están soportados"
-
-#: access/gist/gist.c:600 access/gist/gistvacuum.c:267
+#: access/gist/gist.c:610 access/gist/gistvacuum.c:266
 #, c-format
 msgid "index \"%s\" contains an inner tuple marked as invalid"
 msgstr "el índice «%s» contiene una tupla interna marcada como no válida"
 
-#: access/gist/gist.c:602 access/gist/gistvacuum.c:269
+#: access/gist/gist.c:612 access/gist/gistvacuum.c:268
 #, c-format
 msgid "This is caused by an incomplete page split at crash recovery before upgrading to PostgreSQL 9.1."
 msgstr "Esto es causado por una división de página incompleta durante una recuperación antes de actualizar a PostgreSQL 9.1."
 
-#: access/gist/gist.c:603 access/gist/gistutil.c:640
-#: access/gist/gistutil.c:651 access/gist/gistvacuum.c:270
+#: access/gist/gist.c:613 access/gist/gistutil.c:693
+#: access/gist/gistutil.c:704 access/gist/gistvacuum.c:269
 #: access/hash/hashutil.c:172 access/hash/hashutil.c:183
 #: access/hash/hashutil.c:195 access/hash/hashutil.c:216
-#: access/nbtree/nbtpage.c:434 access/nbtree/nbtpage.c:445
+#: access/nbtree/nbtpage.c:508 access/nbtree/nbtpage.c:519
 #, c-format
 msgid "Please REINDEX it."
 msgstr "Por favor aplíquele REINDEX."
 
-#: access/gist/gistbuild.c:265
+#: access/gist/gistbuild.c:254
 #, c-format
 msgid "invalid value for \"buffering\" option"
 msgstr "valor no válido para la opción «buffering»"
 
-#: access/gist/gistbuild.c:266
+#: access/gist/gistbuild.c:255
 #, c-format
 msgid "Valid values are \"on\", \"off\", and \"auto\"."
 msgstr "Valores aceptables son «on», «off» y «auto»."
@@ -371,34 +377,34 @@ msgstr "Valores aceptables son «on», «off» y «auto»."
 msgid "could not write block %ld of temporary file: %m"
 msgstr "no se pudo escribir el bloque %ld del archivo temporal: %m"
 
-#: access/gist/gistsplit.c:375
+#: access/gist/gistsplit.c:446
 #, c-format
 msgid "picksplit method for column %d of index \"%s\" failed"
 msgstr "el método picksplit para la columna %d del índice «%s» falló"
 
-#: access/gist/gistsplit.c:377
+#: access/gist/gistsplit.c:448
 #, c-format
 msgid "The index is not optimal. To optimize it, contact a developer, or try to use the column as the second one in the CREATE INDEX command."
 msgstr "El índice no es óptimo.  Para optimizarlo, contacte un desarrollador o trate de usar la columna en segunda posición en la orden CREATE INDEX."
 
-#: access/gist/gistutil.c:637 access/hash/hashutil.c:169
-#: access/nbtree/nbtpage.c:431
+#: access/gist/gistutil.c:690 access/hash/hashutil.c:169
+#: access/nbtree/nbtpage.c:505
 #, c-format
 msgid "index \"%s\" contains unexpected zero page at block %u"
 msgstr "índice «%s» contiene páginas vacías no esperadas en el bloque %u"
 
-#: access/gist/gistutil.c:648 access/hash/hashutil.c:180
-#: access/hash/hashutil.c:192 access/nbtree/nbtpage.c:442
+#: access/gist/gistutil.c:701 access/hash/hashutil.c:180
+#: access/hash/hashutil.c:192 access/nbtree/nbtpage.c:516
 #, c-format
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "el índice «%s» contiene una página corrupta en el bloque %u"
 
-#: access/hash/hashinsert.c:72
+#: access/hash/hashinsert.c:68
 #, c-format
 msgid "index row size %lu exceeds hash maximum %lu"
 msgstr "el tamaño de fila de índice %lu excede el máximo para hash %lu"
 
-#: access/hash/hashinsert.c:75 access/spgist/spgdoinsert.c:1894
+#: access/hash/hashinsert.c:71 access/spgist/spgdoinsert.c:1892
 #: access/spgist/spgutils.c:667
 #, c-format
 msgid "Values larger than a buffer page cannot be indexed."
@@ -409,7 +415,7 @@ msgstr "Valores mayores a una página del buffer no pueden ser indexados."
 msgid "out of overflow pages in hash index \"%s\""
 msgstr "se agotaron las páginas de desbordamiento en el índice hash «%s»"
 
-#: access/hash/hashsearch.c:151
+#: access/hash/hashsearch.c:153
 #, c-format
 msgid "hash indexes do not support whole-index scans"
 msgstr "los índices hash no soportan recorridos del índice completo"
@@ -424,33 +430,33 @@ msgstr "el índice «%s» no es un índice hash"
 msgid "index \"%s\" has wrong hash version"
 msgstr "el índice «%s» tiene una versión de hash incorrecta"
 
-#: access/heap/heapam.c:1085 access/heap/heapam.c:1113
-#: access/heap/heapam.c:1145 catalog/aclchk.c:1728
+#: access/heap/heapam.c:1197 access/heap/heapam.c:1225
+#: access/heap/heapam.c:1257 catalog/aclchk.c:1742
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "«%s» es un índice"
 
-#: access/heap/heapam.c:1090 access/heap/heapam.c:1118
-#: access/heap/heapam.c:1150 catalog/aclchk.c:1735 commands/tablecmds.c:8140
-#: commands/tablecmds.c:10386
+#: access/heap/heapam.c:1202 access/heap/heapam.c:1230
+#: access/heap/heapam.c:1262 catalog/aclchk.c:1749 commands/tablecmds.c:8208
+#: commands/tablecmds.c:10524
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "«%s» es un tipo compuesto"
 
-#: access/heap/heapam.c:3558 access/heap/heapam.c:3589
-#: access/heap/heapam.c:3624
+#: access/heap/heapam.c:4011 access/heap/heapam.c:4223
+#: access/heap/heapam.c:4278
 #, 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:239 access/heap/rewriteheap.c:592
+#: access/heap/hio.c:240 access/heap/rewriteheap.c:603
 #, c-format
 msgid "row is too big: size %lu, maximum size %lu"
 msgstr "fila es demasiado grande: tamaño %lu, tamaño máximo %lu"
 
-#: access/index/indexam.c:162 catalog/objectaddress.c:641
-#: commands/indexcmds.c:1745 commands/tablecmds.c:222
-#: commands/tablecmds.c:10377
+#: access/index/indexam.c:169 catalog/objectaddress.c:842
+#: commands/indexcmds.c:1738 commands/tablecmds.c:231
+#: commands/tablecmds.c:10515
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "«%s» no es un índice"
@@ -465,17 +471,17 @@ msgstr "llave duplicada viola restricción de unicidad «%s»"
 msgid "Key %s already exists."
 msgstr "Ya existe la llave %s."
 
-#: access/nbtree/nbtinsert.c:456
+#: access/nbtree/nbtinsert.c:462
 #, c-format
 msgid "failed to re-find tuple within index \"%s\""
 msgstr "no se pudo volver a encontrar la tupla dentro del índice «%s»"
 
-#: access/nbtree/nbtinsert.c:458
+#: access/nbtree/nbtinsert.c:464
 #, c-format
 msgid "This may be because of a non-immutable index expression."
 msgstr "Esto puede deberse a una expresión de índice no inmutable."
 
-#: access/nbtree/nbtinsert.c:534 access/nbtree/nbtsort.c:486
+#: access/nbtree/nbtinsert.c:544 access/nbtree/nbtsort.c:489
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -484,13 +490,14 @@ msgstr ""
 "Valores mayores a 1/3 de la página del buffer no pueden ser indexados.\n"
 "Considere un índice sobre una función que genere un hash MD5 del valor, o utilice un esquema de indexación de texto completo."
 
-#: access/nbtree/nbtpage.c:159 access/nbtree/nbtpage.c:363
-#: parser/parse_utilcmd.c:1584
+#: access/nbtree/nbtpage.c:159 access/nbtree/nbtpage.c:361
+#: access/nbtree/nbtpage.c:448 parser/parse_utilcmd.c:1625
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "el índice «%s» no es un btree"
 
-#: access/nbtree/nbtpage.c:165 access/nbtree/nbtpage.c:369
+#: access/nbtree/nbtpage.c:165 access/nbtree/nbtpage.c:367
+#: access/nbtree/nbtpage.c:454
 #, c-format
 msgid "version mismatch in index \"%s\": file version %d, code version %d"
 msgstr "discordancia de versión en índice «%s»: versión de archivo %d, versión de código %d"
@@ -500,84 +507,262 @@ msgstr "discordancia de versión en índice «%s»: versión de archivo %d, vers
 msgid "SP-GiST inner tuple size %lu exceeds maximum %lu"
 msgstr "el tamaño de tupla interna SP-GiST %lu excede el máximo %lu"
 
-#: access/transam/slru.c:607
+#: access/transam/multixact.c:924
+#, c-format
+msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database \"%s\""
+msgstr "la base de datos no está aceptando órdenes que generen nuevos MultiXactIds para evitar pérdida de datos debido al reciclaje de transacciones en la base de datos «%s»"
+
+#: access/transam/multixact.c:926 access/transam/multixact.c:933
+#: access/transam/multixact.c:948 access/transam/multixact.c:957
+#, c-format
+msgid ""
+"Execute a database-wide VACUUM in that database.\n"
+"You might also need to commit or roll back old prepared transactions."
+msgstr ""
+"Ejecute VACUUM en esa base de datos.\n"
+"Puede que además necesite comprometer o abortar transacciones preparadas antiguas."
+
+#: access/transam/multixact.c:931
+#, c-format
+msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with OID %u"
+msgstr "la base de datos no está aceptando órdenes que generen nuevos MultiXactIds para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base con OID %u"
+
+#: access/transam/multixact.c:943 access/transam/multixact.c:2036
+#, c-format
+msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used"
+msgid_plural "database \"%s\" must be vacuumed before %u more MultiXactIds are used"
+msgstr[0] "base de datos «%s» debe ser limpiada antes de que %u más MultiXactId sea usado"
+msgstr[1] "base de datos «%s» debe ser limpiada dentro de que %u más MultiXactIds sean usados"
+
+#: access/transam/multixact.c:952 access/transam/multixact.c:2045
+#, c-format
+msgid "database with OID %u must be vacuumed before %u more MultiXactId is used"
+msgid_plural "database with OID %u must be vacuumed before %u more MultiXactIds are used"
+msgstr[0] "base de datos con OID %u debe ser limpiada antes de que %u más MultiXactId sea usado"
+msgstr[1] "base de datos con OID %u debe ser limpiada antes de que %u más MultiXactIds sean usados"
+
+#: access/transam/multixact.c:1102
+#, c-format
+msgid "MultiXactId %u does no longer exist -- apparent wraparound"
+msgstr "el MultiXactId %u ya no existe -- aparente problema por reciclaje"
+
+#: access/transam/multixact.c:1110
+#, c-format
+msgid "MultiXactId %u has not been created yet -- apparent wraparound"
+msgstr "el MultiXactId %u no se ha creado aún -- aparente problema por reciclaje"
+
+#: access/transam/multixact.c:2001
+#, c-format
+msgid "MultiXactId wrap limit is %u, limited by database with OID %u"
+msgstr "el límite para el reciclaje de MultiXactId es %u, limitado por base de datos con OID %u"
+
+#: access/transam/multixact.c:2041 access/transam/multixact.c:2050
+#: access/transam/varsup.c:137 access/transam/varsup.c:144
+#: access/transam/varsup.c:373 access/transam/varsup.c:380
+#, c-format
+msgid ""
+"To avoid a database shutdown, execute a database-wide VACUUM in that database.\n"
+"You might also need to commit or roll back old prepared transactions."
+msgstr ""
+"Para evitar que la base de datos se desactive, ejecute VACUUM en esa base de datos.\n"
+"Puede que además necesite comprometer o abortar transacciones preparadas antiguas."
+
+#: access/transam/multixact.c:2498
+#, c-format
+msgid "invalid MultiXactId: %u"
+msgstr "el MultiXactId no es válido: %u"
+
+#: access/transam/slru.c:651
 #, c-format
 msgid "file \"%s\" doesn't exist, reading as zeroes"
 msgstr "el archivo «%s» no existe, leyendo como ceros"
 
-#: access/transam/slru.c:837 access/transam/slru.c:843
-#: access/transam/slru.c:850 access/transam/slru.c:857
-#: access/transam/slru.c:864 access/transam/slru.c:871
+#: access/transam/slru.c:881 access/transam/slru.c:887
+#: access/transam/slru.c:894 access/transam/slru.c:901
+#: access/transam/slru.c:908 access/transam/slru.c:915
 #, c-format
 msgid "could not access status of transaction %u"
 msgstr "no se pudo encontrar el estado de la transacción %u"
 
-#: access/transam/slru.c:838
+#: access/transam/slru.c:882
 #, c-format
 msgid "Could not open file \"%s\": %m."
 msgstr "No se pudo abrir el archivo «%s»: %m."
 
-#: access/transam/slru.c:844
+#: access/transam/slru.c:888
 #, c-format
 msgid "Could not seek in file \"%s\" to offset %u: %m."
 msgstr "No se pudo posicionar (seek) en el archivo «%s» a la posición %u: %m."
 
-#: access/transam/slru.c:851
+#: access/transam/slru.c:895
 #, c-format
 msgid "Could not read from file \"%s\" at offset %u: %m."
 msgstr "No se pudo leer desde el archivo «%s» en la posición %u: %m."
 
-#: access/transam/slru.c:858
+#: access/transam/slru.c:902
 #, c-format
 msgid "Could not write to file \"%s\" at offset %u: %m."
 msgstr "No se pudo escribir al archivo «%s» en la posición %u: %m."
 
-#: access/transam/slru.c:865
+#: access/transam/slru.c:909
 #, c-format
 msgid "Could not fsync file \"%s\": %m."
 msgstr "No se pudo sincronizar (fsync) archivo «%s»: %m."
 
-#: access/transam/slru.c:872
+#: access/transam/slru.c:916
 #, c-format
 msgid "Could not close file \"%s\": %m."
 msgstr "No se pudo cerrar el archivo «%s»: %m."
 
-#: access/transam/slru.c:1127
+#: access/transam/slru.c:1171
 #, c-format
 msgid "could not truncate directory \"%s\": apparent wraparound"
 msgstr "no se pudo truncar el directorio «%s»: aparente problema por reciclaje de transacciones"
 
-#: access/transam/slru.c:1201 access/transam/slru.c:1219
+#: access/transam/slru.c:1245 access/transam/slru.c:1263
 #, c-format
 msgid "removing file \"%s\""
 msgstr "eliminando el archivo «%s»"
 
-#: access/transam/twophase.c:252
+#: access/transam/timeline.c:110 access/transam/timeline.c:235
+#: access/transam/timeline.c:333 access/transam/xlog.c:2271
+#: access/transam/xlog.c:2384 access/transam/xlog.c:2421
+#: access/transam/xlog.c:2696 access/transam/xlog.c:2774
+#: replication/basebackup.c:374 replication/basebackup.c:1000
+#: replication/walsender.c:368 replication/walsender.c:1326
+#: storage/file/copydir.c:158 storage/file/copydir.c:248 storage/smgr/md.c:587
+#: storage/smgr/md.c:845 utils/error/elog.c:1650 utils/init/miscinit.c:1063
+#: utils/init/miscinit.c:1192
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "no se pudo abrir el archivo «%s»: %m"
+
+#: access/transam/timeline.c:147 access/transam/timeline.c:152
+#, c-format
+msgid "syntax error in history file: %s"
+msgstr "error de sintaxis en archivo de historia: %s"
+
+#: access/transam/timeline.c:148
+#, c-format
+msgid "Expected a numeric timeline ID."
+msgstr "Se esperaba un ID numérico de timeline."
+
+#: access/transam/timeline.c:153
+#, c-format
+msgid "Expected a transaction log switchpoint location."
+msgstr "Se esperaba una ubicación de punto de cambio del registro de transacciones."
+
+#: access/transam/timeline.c:157
+#, c-format
+msgid "invalid data in history file: %s"
+msgstr "datos no válidos en archivo de historia: %s"
+
+#: access/transam/timeline.c:158
+#, c-format
+msgid "Timeline IDs must be in increasing sequence."
+msgstr "IDs de timeline deben ser una secuencia creciente."
+
+#: access/transam/timeline.c:178
+#, c-format
+msgid "invalid data in history file \"%s\""
+msgstr "datos no válidos en archivo de historia «%s»"
+
+#: access/transam/timeline.c:179
+#, c-format
+msgid "Timeline IDs must be less than child timeline's ID."
+msgstr "IDs de timeline deben ser menores que el ID de timeline del hijo."
+
+#: access/transam/timeline.c:314 access/transam/timeline.c:471
+#: access/transam/xlog.c:2305 access/transam/xlog.c:2436
+#: access/transam/xlog.c:8687 access/transam/xlog.c:9004
+#: postmaster/postmaster.c:4092 storage/file/copydir.c:165
+#: storage/smgr/md.c:305 utils/time/snapmgr.c:861
+#, c-format
+msgid "could not create file \"%s\": %m"
+msgstr "no se pudo crear archivo «%s»: %m"
+
+#: access/transam/timeline.c:345 access/transam/xlog.c:2449
+#: access/transam/xlog.c:8855 access/transam/xlog.c:8868
+#: access/transam/xlog.c:9236 access/transam/xlog.c:9279
+#: access/transam/xlogfuncs.c:586 access/transam/xlogfuncs.c:605
+#: replication/walsender.c:393 storage/file/copydir.c:179
+#: utils/adt/genfile.c:139
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "no se pudo leer el archivo «%s»: %m"
+
+#: access/transam/timeline.c:366 access/transam/timeline.c:400
+#: access/transam/timeline.c:487 access/transam/xlog.c:2335
+#: access/transam/xlog.c:2468 postmaster/postmaster.c:4102
+#: postmaster/postmaster.c:4112 storage/file/copydir.c:190
+#: utils/init/miscinit.c:1128 utils/init/miscinit.c:1137
+#: utils/init/miscinit.c:1144 utils/misc/guc.c:7596 utils/misc/guc.c:7610
+#: utils/time/snapmgr.c:866 utils/time/snapmgr.c:873
+#, c-format
+msgid "could not write to file \"%s\": %m"
+msgstr "no se pudo escribir a archivo «%s»: %m"
+
+#: access/transam/timeline.c:406 access/transam/timeline.c:493
+#: access/transam/xlog.c:2345 access/transam/xlog.c:2475
+#: storage/file/copydir.c:262 storage/smgr/md.c:967 storage/smgr/md.c:1198
+#: storage/smgr/md.c:1371
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
+
+#: access/transam/timeline.c:411 access/transam/timeline.c:498
+#: access/transam/xlog.c:2351 access/transam/xlog.c:2480
+#: access/transam/xlogfuncs.c:611 commands/copy.c:1469
+#: storage/file/copydir.c:204
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "no se pudo cerrar el archivo «%s»: %m"
+
+#: access/transam/timeline.c:428 access/transam/timeline.c:515
+#, c-format
+msgid "could not link file \"%s\" to \"%s\": %m"
+msgstr "no se pudo enlazar (link) el archivo «%s» a «%s»: %m"
+
+#: access/transam/timeline.c:435 access/transam/timeline.c:522
+#: access/transam/xlog.c:4474 access/transam/xlog.c:5351
+#: access/transam/xlogarchive.c:457 access/transam/xlogarchive.c:474
+#: access/transam/xlogarchive.c:581 postmaster/pgarch.c:756
+#: utils/time/snapmgr.c:884
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
+
+#: access/transam/timeline.c:594
+#, c-format
+msgid "requested timeline %u is not in this server's history"
+msgstr "el timeline %u solicitado no está en la historia de este servidor"
+
+#: access/transam/twophase.c:253
 #, c-format
 msgid "transaction identifier \"%s\" is too long"
 msgstr "identificador de transacción «%s» es demasiado largo"
 
-#: access/transam/twophase.c:259
+#: access/transam/twophase.c:260
 #, c-format
 msgid "prepared transactions are disabled"
 msgstr "las transacciones preparadas están deshabilitadas"
 
-#: access/transam/twophase.c:260
+#: access/transam/twophase.c:261
 #, c-format
 msgid "Set max_prepared_transactions to a nonzero value."
 msgstr "Defina max_prepared_transactions a un valor distinto de cero."
 
-#: access/transam/twophase.c:293
+#: access/transam/twophase.c:294
 #, c-format
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "identificador de transacción «%s» ya está siendo utilizado"
 
-#: access/transam/twophase.c:302
+#: access/transam/twophase.c:303
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "se alcanzó el número máximo de transacciones preparadas"
 
-#: access/transam/twophase.c:303
+#: access/transam/twophase.c:304
 #, c-format
 msgid "Increase max_prepared_transactions (currently %d)."
 msgstr "Incremente max_prepared_transactions (actualmente es %d)."
@@ -617,101 +802,101 @@ msgstr "transacción preparada con identificador «%s» no existe"
 msgid "two-phase state file maximum length exceeded"
 msgstr "el largo máximo del archivo de estado de COMMIT en dos fases fue excedido"
 
-#: access/transam/twophase.c:987
+#: access/transam/twophase.c:982
 #, c-format
 msgid "could not create two-phase state file \"%s\": %m"
 msgstr "no se pudo crear el archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:1001 access/transam/twophase.c:1018
-#: access/transam/twophase.c:1074 access/transam/twophase.c:1494
-#: access/transam/twophase.c:1501
+#: access/transam/twophase.c:996 access/transam/twophase.c:1013
+#: access/transam/twophase.c:1062 access/transam/twophase.c:1482
+#: access/transam/twophase.c:1489
 #, c-format
 msgid "could not write two-phase state file: %m"
 msgstr "no se pudo escribir el archivo de estado de COMMIT en dos fases: %m"
 
-#: access/transam/twophase.c:1027
+#: access/transam/twophase.c:1022
 #, c-format
 msgid "could not seek in two-phase state file: %m"
 msgstr "no se pudo posicionar (seek) en el archivo de estado de COMMIT en dos fases: %m"
 
-#: access/transam/twophase.c:1080 access/transam/twophase.c:1519
+#: access/transam/twophase.c:1068 access/transam/twophase.c:1507
 #, 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:1160 access/transam/twophase.c:1600
+#: access/transam/twophase.c:1148 access/transam/twophase.c:1588
 #, 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:1177
+#: access/transam/twophase.c:1165
 #, c-format
 msgid "could not stat two-phase state file \"%s\": %m"
 msgstr "no se pudo verificar (stat) el archivo de estado de COMMIT en dos fases «%s»: %m"
 
-#: access/transam/twophase.c:1209
+#: access/transam/twophase.c:1197
 #, 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:1305
+#: access/transam/twophase.c:1293
 #, 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:1456
+#: access/transam/twophase.c:1444
 #, 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:1485
+#: access/transam/twophase.c:1473
 #, 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:1513
+#: access/transam/twophase.c:1501
 #, 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:1609
+#: access/transam/twophase.c:1597
 #, 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:1616
+#: access/transam/twophase.c:1604
 #, 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:1681
+#: access/transam/twophase.c:1669
 #, 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:1697 access/transam/twophase.c:1708
-#: access/transam/twophase.c:1827 access/transam/twophase.c:1838
-#: access/transam/twophase.c:1911
+#: access/transam/twophase.c:1685 access/transam/twophase.c:1696
+#: access/transam/twophase.c:1815 access/transam/twophase.c:1826
+#: access/transam/twophase.c:1899
 #, 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:1816 access/transam/twophase.c:1900
+#: access/transam/twophase.c:1804 access/transam/twophase.c:1888
 #, 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:1918
+#: access/transam/twophase.c:1906
 #, c-format
 msgid "recovering prepared transaction %u"
 msgstr "recuperando transacción preparada %u"
 
-#: access/transam/varsup.c:113
+#: access/transam/varsup.c:115
 #, c-format
 msgid "database is not accepting commands to avoid wraparound data loss in database \"%s\""
 msgstr "la base de datos no está aceptando órdenes para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base de datos «%s»"
 
-#: access/transam/varsup.c:115 access/transam/varsup.c:122
+#: access/transam/varsup.c:117 access/transam/varsup.c:124
 #, c-format
 msgid ""
 "Stop the postmaster and use a standalone backend to vacuum that database.\n"
@@ -720,1909 +905,1788 @@ msgstr ""
 "Detenga el proceso postmaster y utilice una conexión aislada (standalone) para limpiar (vacuum) esa base de datos.\n"
 "Puede que además necesite comprometer o abortar transacciones preparadas antiguas."
 
-#: access/transam/varsup.c:120
+#: access/transam/varsup.c:122
 #, c-format
 msgid "database is not accepting commands to avoid wraparound data loss in database with OID %u"
 msgstr "la base de datos no está aceptando órdenes para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base con OID %u"
 
-#: access/transam/varsup.c:132 access/transam/varsup.c:368
+#: access/transam/varsup.c:134 access/transam/varsup.c:370
 #, c-format
 msgid "database \"%s\" must be vacuumed within %u transactions"
 msgstr "base de datos «%s» debe ser limpiada dentro de %u transacciones"
 
-#: access/transam/varsup.c:135 access/transam/varsup.c:142
-#: access/transam/varsup.c:371 access/transam/varsup.c:378
-#, c-format
-msgid ""
-"To avoid a database shutdown, execute a database-wide VACUUM in that database.\n"
-"You might also need to commit or roll back old prepared transactions."
-msgstr ""
-"Para evitar que la base de datos se desactive, ejecute VACUUM en esa base de datos.\n"
-"Puede que además necesite comprometer o abortar transacciones preparadas antiguas."
-
-#: access/transam/varsup.c:139 access/transam/varsup.c:375
+#: access/transam/varsup.c:141 access/transam/varsup.c:377
 #, c-format
 msgid "database with OID %u must be vacuumed within %u transactions"
 msgstr "base de datos con OID %u debe ser limpiada dentro de %u transacciones"
 
-#: access/transam/varsup.c:333
+#: access/transam/varsup.c:335
 #, c-format
 msgid "transaction ID wrap limit is %u, limited by database with OID %u"
 msgstr "el límite para el reciclaje de ID de transacciones es %u, limitado por base de datos con OID %u"
 
-#: access/transam/xact.c:753
+#: access/transam/xact.c:774
 #, c-format
 msgid "cannot have more than 2^32-1 commands in a transaction"
 msgstr "no se pueden tener más de 2^32-1 órdenes en una transacción"
 
-#: access/transam/xact.c:1324
+#: access/transam/xact.c:1322
 #, c-format
 msgid "maximum number of committed subtransactions (%d) exceeded"
 msgstr "se superó el número máximo de subtransacciones comprometidas (%d)"
 
-#: access/transam/xact.c:2097
+#: access/transam/xact.c:2102
 #, 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:2107
+#: access/transam/xact.c:2112
 #, 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:2916
+#: access/transam/xact.c:2921
 #, 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:2926
+#: access/transam/xact.c:2931
 #, 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:2936
+#: access/transam/xact.c:2941
 #, 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:2987
+#: access/transam/xact.c:2992
 #, 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:3169
+#: access/transam/xact.c:3174
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "ya hay una transacción en curso"
 
-#: access/transam/xact.c:3337 access/transam/xact.c:3430
+#: access/transam/xact.c:3342 access/transam/xact.c:3435
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "no hay una transacción en curso"
 
-#: access/transam/xact.c:3526 access/transam/xact.c:3577
-#: access/transam/xact.c:3583 access/transam/xact.c:3627
-#: access/transam/xact.c:3676 access/transam/xact.c:3682
+#: access/transam/xact.c:3531 access/transam/xact.c:3582
+#: access/transam/xact.c:3588 access/transam/xact.c:3632
+#: access/transam/xact.c:3681 access/transam/xact.c:3687
 #, c-format
 msgid "no such savepoint"
 msgstr "no hay un savepoint con ese nombre"
 
-#: access/transam/xact.c:4335
+#: access/transam/xact.c:4344
 #, 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:1313 access/transam/xlog.c:1382
-#, c-format
-msgid "could not create archive status file \"%s\": %m"
-msgstr "no se pudo crear el archivo de estado «%s»: %m"
-
-#: access/transam/xlog.c:1321 access/transam/xlog.c:1390
-#, c-format
-msgid "could not write archive status file \"%s\": %m"
-msgstr "no se pudo escribir el archivo de estado «%s»: %m"
-
-#: access/transam/xlog.c:1370 access/transam/xlog.c:3002
-#: access/transam/xlog.c:3019 access/transam/xlog.c:4806
-#: access/transam/xlog.c:5789 access/transam/xlog.c:6547
-#: postmaster/pgarch.c:755 utils/time/snapmgr.c:883
-#, c-format
-msgid "could not rename file \"%s\" to \"%s\": %m"
-msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
-
-#: access/transam/xlog.c:1836 access/transam/xlog.c:10570
-#: replication/walreceiver.c:543 replication/walsender.c:1040
+#: access/transam/xlog.c:1616
 #, c-format
-msgid "could not seek in log file %u, segment %u to offset %u: %m"
-msgstr "no se pudo posicionar (seek) en archivo de registro %u, segmento %u a la posición %u: %m"
+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:1853 replication/walreceiver.c:560
+#: access/transam/xlog.c:1633
 #, c-format
-msgid "could not write to log file %u, segment %u at offset %u, length %lu: %m"
-msgstr "no se pudo escribir archivo de registro %u, segmento %u en la posición %u, largo %lu: %m"
+msgid "could not write to log file %s at offset %u, length %lu: %m"
+msgstr "no se pudo escribir archivo de registro %s en la posición %u, largo %lu: %m"
 
-#: access/transam/xlog.c:2082
+#: access/transam/xlog.c:1877
 #, c-format
-msgid "updated min recovery point to %X/%X"
-msgstr "el punto mínimo de recuperación fue actualizado a %X/%X"
+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:2459 access/transam/xlog.c:2563
-#: access/transam/xlog.c:2792 access/transam/xlog.c:2877
-#: access/transam/xlog.c:2934 replication/walsender.c:1028
-#, c-format
-msgid "could not open file \"%s\" (log file %u, segment %u): %m"
-msgstr "no se pudo abrir «%s» (archivo de registro %u, segmento %u): %m"
-
-#: access/transam/xlog.c:2484 access/transam/xlog.c:2617
-#: access/transam/xlog.c:4656 access/transam/xlog.c:9552
-#: access/transam/xlog.c:9857 postmaster/postmaster.c:3709
-#: storage/file/copydir.c:172 storage/smgr/md.c:297 utils/time/snapmgr.c:860
-#, c-format
-msgid "could not create file \"%s\": %m"
-msgstr "no se pudo crear archivo «%s»: %m"
-
-#: access/transam/xlog.c:2516 access/transam/xlog.c:2649
-#: access/transam/xlog.c:4708 access/transam/xlog.c:4771
-#: postmaster/postmaster.c:3719 postmaster/postmaster.c:3729
-#: storage/file/copydir.c:197 utils/init/miscinit.c:1089
-#: utils/init/miscinit.c:1098 utils/init/miscinit.c:1105 utils/misc/guc.c:7564
-#: utils/misc/guc.c:7578 utils/time/snapmgr.c:865 utils/time/snapmgr.c:872
-#, c-format
-msgid "could not write to file \"%s\": %m"
-msgstr "no se pudo escribir a archivo «%s»: %m"
-
-#: access/transam/xlog.c:2524 access/transam/xlog.c:2656
-#: access/transam/xlog.c:4777 storage/file/copydir.c:269 storage/smgr/md.c:959
-#: storage/smgr/md.c:1190 storage/smgr/md.c:1363
-#, c-format
-msgid "could not fsync file \"%s\": %m"
-msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
-
-#: access/transam/xlog.c:2529 access/transam/xlog.c:2661
-#: access/transam/xlog.c:4782 commands/copy.c:1341 storage/file/copydir.c:211
-#, c-format
-msgid "could not close file \"%s\": %m"
-msgstr "no se pudo cerrar el archivo «%s»: %m"
-
-#: access/transam/xlog.c:2602 access/transam/xlog.c:4413
-#: access/transam/xlog.c:4514 access/transam/xlog.c:4675
-#: replication/basebackup.c:362 replication/basebackup.c:966
-#: storage/file/copydir.c:165 storage/file/copydir.c:255 storage/smgr/md.c:579
-#: storage/smgr/md.c:837 utils/error/elog.c:1536 utils/init/miscinit.c:1038
-#: utils/init/miscinit.c:1153
-#, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "no se pudo abrir el archivo «%s»: %m"
-
-#: access/transam/xlog.c:2630 access/transam/xlog.c:4687
-#: access/transam/xlog.c:9713 access/transam/xlog.c:9726
-#: access/transam/xlog.c:10095 access/transam/xlog.c:10138
-#: storage/file/copydir.c:186 utils/adt/genfile.c:138
-#, c-format
-msgid "could not read file \"%s\": %m"
-msgstr "no se pudo leer el archivo «%s»: %m"
-
-#: access/transam/xlog.c:2633
+#: access/transam/xlog.c:2452
 #, c-format
 msgid "not enough data in file \"%s\""
 msgstr "los datos del archivo «%s» son insuficientes"
 
-#: access/transam/xlog.c:2752
-#, c-format
-msgid "could not link file \"%s\" to \"%s\" (initialization of log file %u, segment %u): %m"
-msgstr "no se pudo enlazar (link) el archivo «%s» a «%s» (inicialización de archivo de registro %u, segmento %u): %m"
-
-#: access/transam/xlog.c:2764
-#, c-format
-msgid "could not rename file \"%s\" to \"%s\" (initialization of log file %u, segment %u): %m"
-msgstr "no se pudo renombrar archivo de «%s» a «%s» (inicialización de archivo de registro %u, segmento %u): %m"
-
-#: access/transam/xlog.c:2961 replication/walreceiver.c:509
-#, c-format
-msgid "could not close log file %u, segment %u: %m"
-msgstr "no se pudo cerrar archivo de registro %u, segmento %u: %m"
-
-#: access/transam/xlog.c:3011 access/transam/xlog.c:3118
-#: access/transam/xlog.c:9731 storage/smgr/md.c:397 storage/smgr/md.c:446
-#: storage/smgr/md.c:1310
+#: access/transam/xlog.c:2571
 #, c-format
-msgid "could not remove file \"%s\": %m"
-msgstr "no se pudo eliminar el archivo «%s»: %m"
-
-#: access/transam/xlog.c:3110 access/transam/xlog.c:3270
-#: access/transam/xlog.c:9537 access/transam/xlog.c:9701
-#: replication/basebackup.c:368 replication/basebackup.c:422
-#: storage/file/copydir.c:86 storage/file/copydir.c:125 utils/adt/dbsize.c:66
-#: utils/adt/dbsize.c:216 utils/adt/dbsize.c:296 utils/adt/genfile.c:107
-#: utils/adt/genfile.c:279
-#, c-format
-msgid "could not stat file \"%s\": %m"
-msgstr "no se pudo verificar archivo «%s»: %m"
-
-#: access/transam/xlog.c:3249
-#, c-format
-msgid "archive file \"%s\" has wrong size: %lu instead of %lu"
-msgstr "el archivo «%s» tiene tamaño erróneo: %lu en lugar de %lu"
+msgid "could not link file \"%s\" to \"%s\" (initialization of log file): %m"
+msgstr "no se pudo enlazar (link) el archivo «%s» a «%s» (inicialización de archivo de registro): %m"
 
-#: access/transam/xlog.c:3258
+#: access/transam/xlog.c:2583
 #, c-format
-msgid "restored log file \"%s\" from archive"
-msgstr "se ha restaurado el archivo «%s» desde el área de archivado"
+msgid "could not rename file \"%s\" to \"%s\" (initialization of log file): %m"
+msgstr "no se pudo renombrar archivo de «%s» a «%s» (inicialización de archivo de registro): %m"
 
-#: access/transam/xlog.c:3308
+#: access/transam/xlog.c:2611
 #, c-format
-msgid "could not restore file \"%s\" from archive: return code %d"
-msgstr "no se pudo recuperar el archivo «%s»: código de retorno %d"
+msgid "could not open transaction log file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de registro de transacciones «%s»: %m"
 
-#. translator: First %s represents a recovery.conf parameter name like
-#. "recovery_end_command", and the 2nd is the value of that parameter.
-#: access/transam/xlog.c:3422
+#: access/transam/xlog.c:2800
 #, c-format
-msgid "%s \"%s\": return code %d"
-msgstr "%s «%s»: código de retorno %d"
+msgid "could not close log file %s: %m"
+msgstr "no se pudo cerrar el archivo de registro %s: %m"
 
-#: access/transam/xlog.c:3486 replication/walsender.c:1022
+#: access/transam/xlog.c:2859 replication/walsender.c:1321
 #, 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:3549 access/transam/xlog.c:3721
+#: access/transam/xlog.c:2916 access/transam/xlog.c:3093
 #, 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:3592
+#: access/transam/xlog.c:2964
 #, c-format
 msgid "recycled transaction log file \"%s\""
 msgstr "el archivo de registro de transacciones «%s» ha sido reciclado"
 
-#: access/transam/xlog.c:3608
+#: access/transam/xlog.c:2980
 #, c-format
 msgid "removing transaction log file \"%s\""
 msgstr "eliminando archivo de registro de transacciones «%s»"
 
-#: access/transam/xlog.c:3631
+#: access/transam/xlog.c:3003
 #, 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:3643
+#: access/transam/xlog.c:3015
 #, 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:3681 access/transam/xlog.c:3691
+#: access/transam/xlog.c:3053 access/transam/xlog.c:3063
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "no existe el directorio WAL «%s»"
 
-#: access/transam/xlog.c:3697
+#: access/transam/xlog.c:3069
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "creando el directorio WAL faltante «%s»"
 
-#: access/transam/xlog.c:3700
+#: access/transam/xlog.c:3072
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "no se pudo crear el directorio faltante «%s»: %m"
 
-#: access/transam/xlog.c:3734
+#: access/transam/xlog.c:3106
 #, 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:3876
+#: access/transam/xlog.c:3302
 #, c-format
-msgid "incorrect hole size in record at %X/%X"
-msgstr "tamaño de hueco en registro en %X/%X es incorrecto"
+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:3889
+#: access/transam/xlog.c:3424
 #, c-format
-msgid "incorrect total length in record at %X/%X"
-msgstr "longitud total de registro en %X/%X es incorrecta"
+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:3902
+#: access/transam/xlog.c:3438
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "la suma de verificación de datos del gestor de recursos en %X/%X es incorrecta"
+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:3980 access/transam/xlog.c:4018
+#: access/transam/xlog.c:3457
 #, c-format
-msgid "invalid record offset at %X/%X"
-msgstr "la posición de registro en %X/%X es incorrecta"
+msgid "new target timeline is %u"
+msgstr "el nuevo timeline destino es %u"
 
-#: access/transam/xlog.c:4026
+#: access/transam/xlog.c:3536
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord es requerido por %X/%X"
+msgid "could not create control file \"%s\": %m"
+msgstr "no se pudo crear archivo de control «%s»: %m"
 
-#: access/transam/xlog.c:4041
+#: access/transam/xlog.c:3547 access/transam/xlog.c:3772
 #, c-format
-msgid "invalid xlog switch record at %X/%X"
-msgstr "registro de cambio de archivo xlog no válido en %X/%X"
+msgid "could not write to control file: %m"
+msgstr "no se pudo escribir en el archivo de control: %m"
 
-#: access/transam/xlog.c:4049
+#: access/transam/xlog.c:3553 access/transam/xlog.c:3778
 #, c-format
-msgid "record with zero length at %X/%X"
-msgstr "registro de longitud cero en %X/%X"
+msgid "could not fsync control file: %m"
+msgstr "no se pudo sincronizar (fsync) el archivo de control: %m"
 
-#: access/transam/xlog.c:4058
+#: access/transam/xlog.c:3558 access/transam/xlog.c:3783
 #, c-format
-msgid "invalid record length at %X/%X"
-msgstr "longitud de registro no es válido en %X/%X"
+msgid "could not close control file: %m"
+msgstr "no se pudo cerrar el archivo de control: %m"
 
-#: access/transam/xlog.c:4065
+#: access/transam/xlog.c:3576 access/transam/xlog.c:3761
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "el ID de gestor de recursos %u no es válido en %X/%X"
+msgid "could not open control file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de control «%s»: %m"
 
-#: access/transam/xlog.c:4078 access/transam/xlog.c:4094
+#: access/transam/xlog.c:3582
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "registro con prev-link incorrecto %X/%X en %X/%X"
+msgid "could not read from control file: %m"
+msgstr "no se pudo leer desde el archivo de control: %m"
 
-#: access/transam/xlog.c:4123
+#: access/transam/xlog.c:3595 access/transam/xlog.c:3604
+#: access/transam/xlog.c:3628 access/transam/xlog.c:3635
+#: access/transam/xlog.c:3642 access/transam/xlog.c:3647
+#: access/transam/xlog.c:3654 access/transam/xlog.c:3661
+#: access/transam/xlog.c:3668 access/transam/xlog.c:3675
+#: access/transam/xlog.c:3682 access/transam/xlog.c:3689
+#: access/transam/xlog.c:3698 access/transam/xlog.c:3705
+#: access/transam/xlog.c:3714 access/transam/xlog.c:3721
+#: access/transam/xlog.c:3730 access/transam/xlog.c:3737
+#: utils/init/miscinit.c:1210
 #, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "el longitud %u del registro en %X/%X es demasiado grande"
+msgid "database files are incompatible with server"
+msgstr "los archivos de base de datos son incompatibles con el servidor"
 
-#: access/transam/xlog.c:4163
+#: access/transam/xlog.c:3596
 #, c-format
-msgid "there is no contrecord flag in log file %u, segment %u, offset %u"
-msgstr "no hay marca de contrecord en el archivo de registro %u, segmento %u, posición %u"
+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:4173
+#: access/transam/xlog.c:3600
 #, c-format
-msgid "invalid contrecord length %u in log file %u, segment %u, offset %u"
-msgstr "la longitud de contrecord %u no es válido en el archivo de registro %u, segmento %u, posición %u"
+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:4263
+#: access/transam/xlog.c:3605
 #, c-format
-msgid "invalid magic number %04X in log file %u, segment %u, offset %u"
-msgstr "el número mágico %04X no es válido en el archivo de registro %u, segmento %u, posición %u"
+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:4270 access/transam/xlog.c:4316
+#: access/transam/xlog.c:3608 access/transam/xlog.c:3632
+#: access/transam/xlog.c:3639 access/transam/xlog.c:3644
 #, c-format
-msgid "invalid info bits %04X in log file %u, segment %u, offset %u"
-msgstr "bits de información %04X no son válidos en el archivo de registro %u, segmento %u, posición %u"
+msgid "It looks like you need to initdb."
+msgstr "Parece que necesita ejecutar initdb."
 
-#: access/transam/xlog.c:4292 access/transam/xlog.c:4300
-#: access/transam/xlog.c:4307
+#: access/transam/xlog.c:3619
 #, c-format
-msgid "WAL file is from different database system"
-msgstr "el archivo WAL es de un sistema de bases de datos diferente"
+msgid "incorrect checksum in control file"
+msgstr "la suma de verificación es incorrecta en el archivo de control"
 
-#: access/transam/xlog.c:4293
+#: access/transam/xlog.c:3629
 #, c-format
-msgid "WAL file database system identifier is %s, pg_control database system identifier is %s."
-msgstr "El identificador de sistema del archivo WAL es %s, el identificador de sistema de pg_control es %s."
+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:4301
+#: access/transam/xlog.c:3636
 #, c-format
-msgid "Incorrect XLOG_SEG_SIZE in page header."
-msgstr "XLOG_SEG_SIZE incorrecto en encabezado de página."
+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:4308
+#: access/transam/xlog.c:3643
 #, c-format
-msgid "Incorrect XLOG_BLCKSZ in page header."
-msgstr "XLOG_BLCKSZ incorrecto en encabezado de página."
+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:4324
+#: access/transam/xlog.c:3648
 #, c-format
-msgid "unexpected pageaddr %X/%X in log file %u, segment %u, offset %u"
-msgstr "la dirección de página %X/%X en el archivo de registro %u, segmento %u, posición %u es inesperada"
+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:4336
+#: access/transam/xlog.c:3651 access/transam/xlog.c:3658
+#: access/transam/xlog.c:3665 access/transam/xlog.c:3672
+#: access/transam/xlog.c:3679 access/transam/xlog.c:3686
+#: access/transam/xlog.c:3693 access/transam/xlog.c:3701
+#: access/transam/xlog.c:3708 access/transam/xlog.c:3717
+#: access/transam/xlog.c:3724 access/transam/xlog.c:3733
+#: access/transam/xlog.c:3740
 #, c-format
-msgid "unexpected timeline ID %u in log file %u, segment %u, offset %u"
-msgstr "ID %u de timeline inesperado en archivo %u, segmento %u, posición %u"
+msgid "It looks like you need to recompile or initdb."
+msgstr "Parece que necesita recompilar o ejecutar initdb."
 
-#: access/transam/xlog.c:4363
+#: access/transam/xlog.c:3655
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in log file %u, segment %u, offset %u"
-msgstr "el ID de timeline %u está fuera de secuencia (después de %u) en el archivo de registro %u, segmento %u, posición %u"
+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:4442
-#, c-format
-msgid "syntax error in history file: %s"
-msgstr "error de sintaxis en archivo de historia: %s"
-
-#: access/transam/xlog.c:4443
-#, c-format
-msgid "Expected a numeric timeline ID."
-msgstr "Se esperaba un ID numérico de timeline."
-
-#: access/transam/xlog.c:4448
-#, c-format
-msgid "invalid data in history file: %s"
-msgstr "datos no válidos en archivo de historia: %s"
-
-#: access/transam/xlog.c:4449
-#, c-format
-msgid "Timeline IDs must be in increasing sequence."
-msgstr "IDs de timeline deben ser una secuencia creciente."
-
-#: access/transam/xlog.c:4462
-#, c-format
-msgid "invalid data in history file \"%s\""
-msgstr "datos no válidos en archivo de historia «%s»"
-
-#: access/transam/xlog.c:4463
-#, c-format
-msgid "Timeline IDs must be less than child timeline's ID."
-msgstr "IDs de timeline deben ser menores que el ID de timeline del hijo."
-
-#: access/transam/xlog.c:4556
-#, 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:4574
-#, c-format
-msgid "new target timeline is %u"
-msgstr "el nuevo timeline destino es %u"
-
-#: access/transam/xlog.c:4799
-#, c-format
-msgid "could not link file \"%s\" to \"%s\": %m"
-msgstr "no se pudo enlazar (link) el archivo «%s» a «%s»: %m"
-
-#: access/transam/xlog.c:4888
-#, c-format
-msgid "could not create control file \"%s\": %m"
-msgstr "no se pudo crear archivo de control «%s»: %m"
-
-#: access/transam/xlog.c:4899 access/transam/xlog.c:5124
-#, 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:4905 access/transam/xlog.c:5130
-#, c-format
-msgid "could not fsync control file: %m"
-msgstr "no se pudo sincronizar (fsync) el archivo de control: %m"
-
-#: access/transam/xlog.c:4910 access/transam/xlog.c:5135
-#, c-format
-msgid "could not close control file: %m"
-msgstr "no se pudo cerrar el archivo de control: %m"
-
-#: access/transam/xlog.c:4928 access/transam/xlog.c:5113
-#, 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:4934
-#, 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:4947 access/transam/xlog.c:4956
-#: access/transam/xlog.c:4980 access/transam/xlog.c:4987
-#: access/transam/xlog.c:4994 access/transam/xlog.c:4999
-#: access/transam/xlog.c:5006 access/transam/xlog.c:5013
-#: access/transam/xlog.c:5020 access/transam/xlog.c:5027
-#: access/transam/xlog.c:5034 access/transam/xlog.c:5041
-#: access/transam/xlog.c:5050 access/transam/xlog.c:5057
-#: access/transam/xlog.c:5066 access/transam/xlog.c:5073
-#: access/transam/xlog.c:5082 access/transam/xlog.c:5089
-#: utils/init/miscinit.c:1171
-#, 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:4948
-#, 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:4952
-#, 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:4957
-#, 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:4960 access/transam/xlog.c:4984
-#: access/transam/xlog.c:4991 access/transam/xlog.c:4996
-#, c-format
-msgid "It looks like you need to initdb."
-msgstr "Parece que necesita ejecutar initdb."
-
-#: access/transam/xlog.c:4971
-#, 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:4981
-#, 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:4988
-#, 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:4995
-#, 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:5000
-#, 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:5003 access/transam/xlog.c:5010
-#: access/transam/xlog.c:5017 access/transam/xlog.c:5024
-#: access/transam/xlog.c:5031 access/transam/xlog.c:5038
-#: access/transam/xlog.c:5045 access/transam/xlog.c:5053
-#: access/transam/xlog.c:5060 access/transam/xlog.c:5069
-#: access/transam/xlog.c:5076 access/transam/xlog.c:5085
-#: access/transam/xlog.c:5092
-#, c-format
-msgid "It looks like you need to recompile or initdb."
-msgstr "Parece que necesita recompilar o ejecutar initdb."
-
-#: access/transam/xlog.c:5007
-#, 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:5014
+#: access/transam/xlog.c:3662
 #, 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:5021
+#: access/transam/xlog.c:3669
 #, 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:5028
+#: access/transam/xlog.c:3676
 #, 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:5035
+#: access/transam/xlog.c:3683
 #, 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:5042
+#: access/transam/xlog.c:3690
 #, 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:5051
+#: access/transam/xlog.c:3699
 #, 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:5058
+#: access/transam/xlog.c:3706
 #, 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:5067
+#: access/transam/xlog.c:3715
 #, 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:5074
+#: access/transam/xlog.c:3722
 #, 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:5083
+#: access/transam/xlog.c:3731
 #, 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:5090
+#: access/transam/xlog.c:3738
 #, 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:5417
+#: access/transam/xlog.c:4101
 #, 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:5423
+#: access/transam/xlog.c:4107
 #, 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:5428
+#: access/transam/xlog.c:4112
 #, 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:5495
+#: access/transam/xlog.c:4181
 #, 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:5535 access/transam/xlog.c:5626
-#: access/transam/xlog.c:5637 commands/extension.c:525
-#: commands/extension.c:533 utils/misc/guc.c:5343
+#: access/transam/xlog.c:4221 access/transam/xlog.c:4312
+#: access/transam/xlog.c:4323 commands/extension.c:527
+#: commands/extension.c:535 utils/misc/guc.c:5375
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "opción «%s» requiere un valor lógico (booleano)"
 
-#: access/transam/xlog.c:5551
+#: access/transam/xlog.c:4237
 #, 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:5567
+#: access/transam/xlog.c:4253
 #, 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:5611
+#: access/transam/xlog.c:4297
 #, 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:5658
+#: access/transam/xlog.c:4344
 #, c-format
 msgid "unrecognized recovery parameter \"%s\""
 msgstr "parámetro de recuperación no reconocido: «%s»"
 
-#: access/transam/xlog.c:5669
+#: access/transam/xlog.c:4355
 #, 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:5671
+#: access/transam/xlog.c:4357
 #, 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:5677
+#: access/transam/xlog.c:4363
 #, 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:5697
+#: access/transam/xlog.c:4383
 #, 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:5793
+#: access/transam/xlog.c:4478
 #, c-format
 msgid "archive recovery complete"
 msgstr "recuperación completa"
 
-#: access/transam/xlog.c:5918
+#: access/transam/xlog.c:4603
 #, c-format
 msgid "recovery stopping after commit of transaction %u, time %s"
 msgstr "recuperación detenida después de comprometer la transacción %u, hora %s"
 
-#: access/transam/xlog.c:5923
+#: access/transam/xlog.c:4608
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr "recuperación detenida antes de comprometer la transacción %u, hora %s"
 
-#: access/transam/xlog.c:5931
+#: access/transam/xlog.c:4616
 #, c-format
 msgid "recovery stopping after abort of transaction %u, time %s"
 msgstr "recuperación detenida después de abortar la transacción %u, hora %s"
 
-#: access/transam/xlog.c:5936
+#: access/transam/xlog.c:4621
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr "recuperación detenida antes de abortar la transacción %u, hora %s"
 
-#: access/transam/xlog.c:5945
+#: access/transam/xlog.c:4630
 #, c-format
 msgid "recovery stopping at restore point \"%s\", time %s"
 msgstr "recuperación detenida en el punto de recuperación «%s», hora %s"
 
-#: access/transam/xlog.c:5979
+#: access/transam/xlog.c:4664
 #, c-format
 msgid "recovery has paused"
 msgstr "la recuperación está en pausa"
 
-#: access/transam/xlog.c:5980
+#: access/transam/xlog.c:4665
 #, c-format
 msgid "Execute pg_xlog_replay_resume() to continue."
 msgstr "Ejecute pg_xlog_replay_resume() para continuar."
 
-#: access/transam/xlog.c:6110
+#: access/transam/xlog.c:4795
 #, 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 "hoy 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:6132
+#: access/transam/xlog.c:4817
 #, 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:6133
+#: access/transam/xlog.c:4818
 #, 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:6144
+#: access/transam/xlog.c:4829
 #, c-format
 msgid "hot standby is not possible because wal_level was not set to \"hot_standby\" on the master server"
 msgstr "hot standby no es posible porque wal_level no estaba configurado como «hot_standby» en el servidor maestro"
 
-#: access/transam/xlog.c:6145
+#: access/transam/xlog.c:4830
 #, 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:6195
+#: access/transam/xlog.c:4883
 #, c-format
 msgid "control file contains invalid data"
 msgstr "el archivo de control contiene datos no válidos"
 
-#: access/transam/xlog.c:6199
+#: access/transam/xlog.c:4889
 #, 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:6203
+#: access/transam/xlog.c:4894
 #, 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:6207
+#: access/transam/xlog.c:4898
 #, 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:6211
+#: access/transam/xlog.c:4902
 #, 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:6213
+#: access/transam/xlog.c:4904
 #, 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:6217
+#: access/transam/xlog.c:4908
 #, 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:6219
+#: access/transam/xlog.c:4910
 #, 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:6223
+#: access/transam/xlog.c:4914
 #, 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:6272
-#, c-format
-msgid "requested timeline %u is not a child of database system timeline %u"
-msgstr "el timeline %u especificado no es hijo del timeline de sistema %u"
-
-#: access/transam/xlog.c:6290
+#: access/transam/xlog.c:4968
 #, c-format
 msgid "entering standby mode"
 msgstr "entrando al modo standby"
 
-#: access/transam/xlog.c:6293
+#: access/transam/xlog.c:4971
 #, 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:6297
+#: access/transam/xlog.c:4975
 #, c-format
 msgid "starting point-in-time recovery to %s"
 msgstr "comenzando el proceso de recuperación hasta %s"
 
-#: access/transam/xlog.c:6301
+#: access/transam/xlog.c:4979
 #, c-format
 msgid "starting point-in-time recovery to \"%s\""
 msgstr "comenzando el proceso de recuperación hasta «%s»"
 
-#: access/transam/xlog.c:6305
+#: access/transam/xlog.c:4983
 #, c-format
 msgid "starting archive recovery"
 msgstr "comenzando proceso de recuperación"
 
-#: access/transam/xlog.c:6328 access/transam/xlog.c:6368
+#: access/transam/xlog.c:4999 commands/sequence.c:1035 lib/stringinfo.c:266
+#: libpq/auth.c:1025 libpq/auth.c:1381 libpq/auth.c:1449 libpq/auth.c:1851
+#: postmaster/postmaster.c:2146 postmaster/postmaster.c:2177
+#: postmaster/postmaster.c:3634 postmaster/postmaster.c:4317
+#: postmaster/postmaster.c:4403 postmaster/postmaster.c:5081
+#: postmaster/postmaster.c:5257 postmaster/postmaster.c:5674
+#: storage/buffer/buf_init.c:154 storage/buffer/localbuf.c:397
+#: storage/file/fd.c:403 storage/file/fd.c:800 storage/file/fd.c:918
+#: storage/file/fd.c:1531 storage/ipc/procarray.c:894
+#: storage/ipc/procarray.c:1334 storage/ipc/procarray.c:1341
+#: storage/ipc/procarray.c:1658 storage/ipc/procarray.c:2148
+#: utils/adt/formatting.c:1524 utils/adt/formatting.c:1644
+#: utils/adt/formatting.c:1765 utils/adt/regexp.c:209 utils/adt/varlena.c:3652
+#: utils/adt/varlena.c:3673 utils/fmgr/dfmgr.c:224 utils/hash/dynahash.c:379
+#: utils/hash/dynahash.c:456 utils/hash/dynahash.c:970
+#: utils/init/miscinit.c:151 utils/init/miscinit.c:172
+#: utils/init/miscinit.c:182 utils/mb/mbutils.c:374 utils/mb/mbutils.c:675
+#: utils/misc/guc.c:3394 utils/misc/guc.c:3410 utils/misc/guc.c:3423
+#: utils/misc/tzparser.c:455 utils/mmgr/aset.c:416 utils/mmgr/aset.c:587
+#: utils/mmgr/aset.c:765 utils/mmgr/aset.c:966
+#, c-format
+msgid "out of memory"
+msgstr "memoria agotada"
+
+#: access/transam/xlog.c:5000
+#, c-format
+msgid "Failed while allocating an XLog reading processor."
+msgstr "Falló mientras se emplazaba un procesador de lectura de XLog."
+
+#: access/transam/xlog.c:5025 access/transam/xlog.c:5092
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr "el registro del punto de control está en %X/%X"
 
-#: access/transam/xlog.c:6342
+#: access/transam/xlog.c:5039
 #, 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:6343 access/transam/xlog.c:6350
+#: access/transam/xlog.c:5040 access/transam/xlog.c:5047
 #, 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:6349
+#: access/transam/xlog.c:5046
 #, 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:6378 access/transam/xlog.c:6393
+#: access/transam/xlog.c:5102 access/transam/xlog.c:5117
 #, 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:6387
+#: access/transam/xlog.c:5111
 #, 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:6402
+#: access/transam/xlog.c:5141
+#, c-format
+msgid "requested timeline %u is not a child of this server's history"
+msgstr "el timeline solicitado %u no es un hijo de la historia de este servidor"
+
+#: access/transam/xlog.c:5143
+#, c-format
+msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
+msgstr "El punto de control más reciente está en %X/%X en el timeline %u, pero en la historia del timeline solicitado, el servidor se desvió desde ese timeline en %X/%X."
+
+#: access/transam/xlog.c:5159
+#, c-format
+msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
+msgstr "el timeline solicitado %u no contiene el punto mínimo de recuperación %X/%X en el timeline %u"
+
+#: access/transam/xlog.c:5168
 #, c-format
 msgid "redo record is at %X/%X; shutdown %s"
 msgstr "registro de redo en %X/%X; apagado %s"
 
-#: access/transam/xlog.c:6406
+#: access/transam/xlog.c:5172
 #, 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:6410
+#: access/transam/xlog.c:5176
 #, c-format
 msgid "next MultiXactId: %u; next MultiXactOffset: %u"
 msgstr "siguiente MultiXactId: %u; siguiente MultiXactOffset: %u"
 
-#: access/transam/xlog.c:6413
+#: access/transam/xlog.c:5179
 #, 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:6417
+#: access/transam/xlog.c:5182
+#, c-format
+msgid "oldest MultiXactId: %u, in database %u"
+msgstr "MultiXactId más antiguo: %u, en base de datos %u"
+
+#: access/transam/xlog.c:5186
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "el siguiente ID de transacción no es válido"
 
-#: access/transam/xlog.c:6441
+#: access/transam/xlog.c:5235
 #, 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:6452
+#: access/transam/xlog.c:5246
 #, 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:6483
+#: access/transam/xlog.c:5277
 #, 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:6515
+#: access/transam/xlog.c:5281
+#, c-format
+msgid "crash recovery starts in timeline %u and has target timeline %u"
+msgstr "la recuperación comienza en el timeline %u y tiene un timeline de destino %u"
+
+#: access/transam/xlog.c:5318
 #, 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:6516
+#: access/transam/xlog.c:5319
 #, 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:6580
+#: access/transam/xlog.c:5384
 #, c-format
 msgid "initializing for hot standby"
 msgstr "inicializando para hot standby"
 
-#: access/transam/xlog.c:6711
+#: access/transam/xlog.c:5521
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "redo comienza en %X/%X"
 
-#: access/transam/xlog.c:6848
+#: access/transam/xlog.c:5712
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "redo listo en %X/%X"
 
-#: access/transam/xlog.c:6853 access/transam/xlog.c:8493
+#: access/transam/xlog.c:5717 access/transam/xlog.c:7537
 #, 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:6861
+#: access/transam/xlog.c:5725
 #, c-format
 msgid "redo is not required"
 msgstr "no se requiere redo"
 
-#: access/transam/xlog.c:6909
+#: access/transam/xlog.c:5773
 #, 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:6925 access/transam/xlog.c:6929
+#: access/transam/xlog.c:5789 access/transam/xlog.c:5793
 #, 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:6926
+#: access/transam/xlog.c:5790
 #, 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:6930
+#: access/transam/xlog.c:5794
 #, 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:6933
+#: access/transam/xlog.c:5797
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "WAL termina antes del punto de recuperación consistente"
 
-#: access/transam/xlog.c:6955
+#: access/transam/xlog.c:5824
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "seleccionado nuevo ID de timeline: %u"
 
-#: access/transam/xlog.c:7247
+#: access/transam/xlog.c:6185
 #, 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:7414
+#: access/transam/xlog.c:6356
 #, 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:7418
+#: access/transam/xlog.c:6360
 #, 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:7422
+#: access/transam/xlog.c:6364
 #, 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:7436
+#: access/transam/xlog.c:6381
 #, c-format
 msgid "invalid primary checkpoint record"
 msgstr "el registro del punto de control primario no es válido"
 
-#: access/transam/xlog.c:7440
+#: access/transam/xlog.c:6385
 #, c-format
 msgid "invalid secondary checkpoint record"
 msgstr "el registro del punto de control secundario no es válido"
 
-#: access/transam/xlog.c:7444
+#: access/transam/xlog.c:6389
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "el registro del punto de control no es válido"
 
-#: access/transam/xlog.c:7455
+#: access/transam/xlog.c:6400
 #, 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:7459
+#: access/transam/xlog.c:6404
 #, 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:7463
+#: access/transam/xlog.c:6408
 #, 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:7475
+#: access/transam/xlog.c:6420
 #, 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:7479
+#: access/transam/xlog.c:6424
 #, 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:7483
+#: access/transam/xlog.c:6428
 #, 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:7495
+#: access/transam/xlog.c:6440
 #, 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:7499
+#: access/transam/xlog.c:6444
 #, 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:7503
+#: access/transam/xlog.c:6448
 #, 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:7672
+#: access/transam/xlog.c:6601
 #, c-format
 msgid "shutting down"
 msgstr "apagando"
 
-#: access/transam/xlog.c:7694
+#: access/transam/xlog.c:6624
 #, c-format
 msgid "database system is shut down"
 msgstr "el sistema de bases de datos está apagado"
 
-#: access/transam/xlog.c:8140
+#: access/transam/xlog.c:7089
 #, 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:8351
+#: access/transam/xlog.c:7366
 #, 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:8374
+#: access/transam/xlog.c:7389
 #, 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:8491
+#: access/transam/xlog.c:7535
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "punto-de-reinicio de recuperación en %X/%X"
 
-#: access/transam/xlog.c:8635
+#: access/transam/xlog.c:7661
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "punto de recuperación «%s» creado en %X/%X"
 
-#: access/transam/xlog.c:8806
+#: access/transam/xlog.c:7876
 #, c-format
-msgid "online backup was canceled, recovery cannot continue"
-msgstr "el respaldo en línea fue cancelado, la recuperación no puede continuar"
+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:8869
+#: access/transam/xlog.c:7885
 #, 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:8918
+#: access/transam/xlog.c:7901
+#, c-format
+msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
+msgstr "timeline ID %u inesperado en registro de checkpoint, antes de alcanzar el punto mínimo de recuperación %X/%X en el timeline %u"
+
+#: access/transam/xlog.c:7968
+#, c-format
+msgid "online backup was canceled, recovery cannot continue"
+msgstr "el respaldo en línea fue cancelado, la recuperación no puede continuar"
+
+#: access/transam/xlog.c:8029 access/transam/xlog.c:8077
+#: access/transam/xlog.c:8100
 #, 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:9215 access/transam/xlog.c:9239
+#: access/transam/xlog.c:8333
+#, c-format
+msgid "could not fsync log segment %s: %m"
+msgstr "no se pudo sincronizar (fsync) el archivo de registro %s: %m"
+
+#: access/transam/xlog.c:8357
 #, c-format
-msgid "could not fsync log file %u, segment %u: %m"
-msgstr "no se pudo sincronizar (fsync) el archivo de registro %u, segmento %u: %m"
+msgid "could not fsync log file %s: %m"
+msgstr "no se pudo sincronizar (fsync) archivo de registro «%s»: %m"
 
-#: access/transam/xlog.c:9247
+#: access/transam/xlog.c:8365
 #, c-format
-msgid "could not fsync write-through log file %u, segment %u: %m"
-msgstr "no se pudo sincronizar (fsync write-through) el archivo de registro %u, segmento %u: %m"
+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:9256
+#: access/transam/xlog.c:8374
 #, c-format
-msgid "could not fdatasync log file %u, segment %u: %m"
-msgstr "no se pudo sincronizar (fdatasync) el archivo de registro %u, segmento %u: %m"
+msgid "could not fdatasync log file %s: %m"
+msgstr "no se pudo sincronizar (fdatasync) el archivo de registro %s: %m"
 
-#: access/transam/xlog.c:9312 access/transam/xlog.c:9642
+#: access/transam/xlog.c:8446 access/transam/xlog.c:8784
 #, c-format
 msgid "must be superuser or replication role to run a backup"
 msgstr "debe ser superusuario o el rol de replicación para ejecutar un respaldo"
 
-#: access/transam/xlog.c:9320 access/transam/xlog.c:9650
-#: access/transam/xlogfuncs.c:107 access/transam/xlogfuncs.c:139
-#: access/transam/xlogfuncs.c:181 access/transam/xlogfuncs.c:205
-#: access/transam/xlogfuncs.c:288 access/transam/xlogfuncs.c:365
+#: access/transam/xlog.c:8454 access/transam/xlog.c:8792
+#: access/transam/xlogfuncs.c:109 access/transam/xlogfuncs.c:141
+#: access/transam/xlogfuncs.c:183 access/transam/xlogfuncs.c:207
+#: access/transam/xlogfuncs.c:289 access/transam/xlogfuncs.c:363
 #, c-format
 msgid "recovery is in progress"
 msgstr "la recuperación está en proceso"
 
-#: access/transam/xlog.c:9321 access/transam/xlog.c:9651
-#: access/transam/xlogfuncs.c:108 access/transam/xlogfuncs.c:140
-#: access/transam/xlogfuncs.c:182 access/transam/xlogfuncs.c:206
+#: access/transam/xlog.c:8455 access/transam/xlog.c:8793
+#: access/transam/xlogfuncs.c:110 access/transam/xlogfuncs.c:142
+#: access/transam/xlogfuncs.c:184 access/transam/xlogfuncs.c:208
 #, 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:9330 access/transam/xlog.c:9660
+#: access/transam/xlog.c:8464 access/transam/xlog.c:8802
 #, 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:9331 access/transam/xlog.c:9661
-#: access/transam/xlogfuncs.c:146
+#: access/transam/xlog.c:8465 access/transam/xlog.c:8803
+#: access/transam/xlogfuncs.c:148
 #, c-format
 msgid "wal_level must be set to \"archive\" or \"hot_standby\" at server start."
 msgstr "wal_level debe ser definido a «archive» o «hot_standby» al inicio del servidor."
 
-#: access/transam/xlog.c:9336
+#: access/transam/xlog.c:8470
 #, 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:9367 access/transam/xlog.c:9543
+#: access/transam/xlog.c:8501 access/transam/xlog.c:8678
 #, c-format
 msgid "a backup is already in progress"
 msgstr "ya hay un respaldo en curso"
 
-#: access/transam/xlog.c:9368
+#: access/transam/xlog.c:8502
 #, c-format
 msgid "Run pg_stop_backup() and try again."
 msgstr "Ejecute pg_stop_backup() e intente nuevamente."
 
-#: access/transam/xlog.c:9461
+#: access/transam/xlog.c:8596
 #, 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:9463 access/transam/xlog.c:9810
+#: access/transam/xlog.c:8598 access/transam/xlog.c:8953
 #, 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:9544
+#: access/transam/xlog.c:8672 access/transam/xlog.c:8843
+#: access/transam/xlogarchive.c:106 access/transam/xlogarchive.c:265
+#: guc-file.l:771 replication/basebackup.c:380 replication/basebackup.c:435
+#: storage/file/copydir.c:75 storage/file/copydir.c:118 utils/adt/dbsize.c:68
+#: utils/adt/dbsize.c:218 utils/adt/dbsize.c:298 utils/adt/genfile.c:108
+#: utils/adt/genfile.c:280
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "no se pudo verificar archivo «%s»: %m"
+
+#: access/transam/xlog.c:8679
 #, 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:9561 access/transam/xlog.c:9869
+#: access/transam/xlog.c:8696 access/transam/xlog.c:9016
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "no se pudo escribir el archivo «%s»: %m"
 
-#: access/transam/xlog.c:9705
+#: access/transam/xlog.c:8847
 #, c-format
 msgid "a backup is not in progress"
 msgstr "no hay un respaldo en curso"
 
-#: access/transam/xlog.c:9744 access/transam/xlog.c:9756
-#: access/transam/xlog.c:10110 access/transam/xlog.c:10116
+#: access/transam/xlog.c:8873 access/transam/xlogarchive.c:114
+#: access/transam/xlogarchive.c:466 storage/smgr/md.c:405
+#: storage/smgr/md.c:454 storage/smgr/md.c:1318
+#, c-format
+msgid "could not remove file \"%s\": %m"
+msgstr "no se pudo eliminar el archivo «%s»: %m"
+
+#: access/transam/xlog.c:8886 access/transam/xlog.c:8899
+#: access/transam/xlog.c:9250 access/transam/xlog.c:9256
+#: access/transam/xlogfuncs.c:616
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "datos no válidos en archivo «%s»"
 
-#: access/transam/xlog.c:9760
+#: access/transam/xlog.c:8903 replication/basebackup.c:834
 #, 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:9761
+#: access/transam/xlog.c:8904 replication/basebackup.c:835
 #, 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:9808
+#: access/transam/xlog.c:8951
 #, 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:9918
+#: access/transam/xlog.c:9065
 #, 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:9928
+#: access/transam/xlog.c:9075
 #, 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:9930
+#: access/transam/xlog.c:9077
 #, 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:9937
+#: access/transam/xlog.c:9084
 #, 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:9941
+#: access/transam/xlog.c:9088
 #, c-format
 msgid "WAL archiving is not enabled; you must ensure that all required WAL segments are copied through other means to complete the backup"
 msgstr "el archivado de WAL no está activo; debe asegurarse que todos los segmentos WAL requeridos se copian por algún otro mecanism para completar el respaldo"
 
-#: access/transam/xlog.c:10160
+#: access/transam/xlog.c:9301
 #, c-format
 msgid "xlog redo %s"
 msgstr "xlog redo %s"
 
-#: access/transam/xlog.c:10200
+#: access/transam/xlog.c:9341
 #, c-format
 msgid "online backup mode canceled"
 msgstr "el modo de respaldo en línea fue cancelado"
 
-#: access/transam/xlog.c:10201
+#: access/transam/xlog.c:9342
 #, c-format
 msgid "\"%s\" was renamed to \"%s\"."
 msgstr "«%s» fue renombrado a «%s»."
 
-#: access/transam/xlog.c:10208
+#: access/transam/xlog.c:9349
 #, c-format
 msgid "online backup mode was not canceled"
 msgstr "el modo de respaldo en línea no fue cancelado"
 
-#: access/transam/xlog.c:10209
+#: access/transam/xlog.c:9350
 #, c-format
 msgid "Could not rename \"%s\" to \"%s\": %m."
 msgstr "No se pudo renombrar «%s» a «%s»: %m."
 
-#: access/transam/xlog.c:10556 access/transam/xlog.c:10578
+# XXX why talk about "log segment" instead of "file"?
+#: access/transam/xlog.c:9470 replication/walreceiver.c:930
+#: replication/walsender.c:1338
 #, c-format
-msgid "could not read from log file %u, segment %u, offset %u: %m"
-msgstr "no se pudo leer el archivo de registro %u, segmento %u, posición %u: %m"
+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"
 
-#: access/transam/xlog.c:10667
+# XXX why talk about "log segment" instead of "file"?
+#: access/transam/xlog.c:9482
+#, c-format
+msgid "could not read from log segment %s, offset %u: %m"
+msgstr "no se pudo leer del archivo de segmento %s, posición %u: %m"
+
+#: access/transam/xlog.c:9947
 #, c-format
 msgid "received promote request"
 msgstr "se recibió petición de promoción"
 
-#: access/transam/xlog.c:10680
+#: access/transam/xlog.c:9960
 #, c-format
 msgid "trigger file found: %s"
 msgstr "se encontró el archivo disparador: %s"
 
-#: access/transam/xlogfuncs.c:102
+#: access/transam/xlogarchive.c:244
+#, c-format
+msgid "archive file \"%s\" has wrong size: %lu instead of %lu"
+msgstr "el archivo «%s» tiene tamaño erróneo: %lu en lugar de %lu"
+
+#: access/transam/xlogarchive.c:253
+#, c-format
+msgid "restored log file \"%s\" from archive"
+msgstr "se ha restaurado el archivo «%s» desde el área de archivado"
+
+#: access/transam/xlogarchive.c:303
+#, c-format
+msgid "could not restore file \"%s\" from archive: return code %d"
+msgstr "no se pudo recuperar el archivo «%s»: código de retorno %d"
+
+#. translator: First %s represents a recovery.conf parameter name like
+#. "recovery_end_command", and the 2nd is the value of that parameter.
+#: access/transam/xlogarchive.c:414
+#, c-format
+msgid "%s \"%s\": return code %d"
+msgstr "%s «%s»: código de retorno %d"
+
+#: access/transam/xlogarchive.c:524 access/transam/xlogarchive.c:593
+#, c-format
+msgid "could not create archive status file \"%s\": %m"
+msgstr "no se pudo crear el archivo de estado «%s»: %m"
+
+#: access/transam/xlogarchive.c:532 access/transam/xlogarchive.c:601
+#, c-format
+msgid "could not write archive status file \"%s\": %m"
+msgstr "no se pudo escribir el archivo de estado «%s»: %m"
+
+#: access/transam/xlogfuncs.c:104
 #, c-format
 msgid "must be superuser to switch transaction log files"
 msgstr "debe ser superusuario para cambiar a un nuevo archivo de registro"
 
-#: access/transam/xlogfuncs.c:134
+#: access/transam/xlogfuncs.c:136
 #, c-format
 msgid "must be superuser to create a restore point"
 msgstr "debe ser superusuario para crear un punto de recuperación"
 
-#: access/transam/xlogfuncs.c:145
+#: access/transam/xlogfuncs.c:147
 #, c-format
 msgid "WAL level not sufficient for creating a restore point"
 msgstr "el nivel de WAL no es suficiente para crear un punto de recuperación"
 
-#: access/transam/xlogfuncs.c:153
+#: access/transam/xlogfuncs.c:155
 #, c-format
 msgid "value too long for restore point (maximum %d characters)"
 msgstr "el valor es demasiado largo para un punto de recuperación (máximo %d caracteres)"
 
-#: access/transam/xlogfuncs.c:289
+#: access/transam/xlogfuncs.c:290
 #, c-format
 msgid "pg_xlogfile_name_offset() cannot be executed during recovery."
 msgstr "pg_xlogfile_name_offset() no puede ejecutarse durante la recuperación."
 
-#: access/transam/xlogfuncs.c:301 access/transam/xlogfuncs.c:375
-#: access/transam/xlogfuncs.c:530 access/transam/xlogfuncs.c:534
+#: access/transam/xlogfuncs.c:302 access/transam/xlogfuncs.c:373
+#: access/transam/xlogfuncs.c:530 access/transam/xlogfuncs.c:536
 #, c-format
 msgid "could not parse transaction log location \"%s\""
 msgstr "no se pudo interpretar la ubicación del registro de transacciones «%s»"
 
-#: access/transam/xlogfuncs.c:366
+#: access/transam/xlogfuncs.c:364
 #, c-format
 msgid "pg_xlogfile_name() cannot be executed during recovery."
 msgstr "pg_xlogfile_name() no puede ejecutarse durante la recuperación."
 
-#: access/transam/xlogfuncs.c:396 access/transam/xlogfuncs.c:418
-#: access/transam/xlogfuncs.c:440
+#: access/transam/xlogfuncs.c:392 access/transam/xlogfuncs.c:414
+#: access/transam/xlogfuncs.c:436
 #, c-format
 msgid "must be superuser to control recovery"
 msgstr "debe ser superusuario para controlar la recuperación"
 
-#: access/transam/xlogfuncs.c:401 access/transam/xlogfuncs.c:423
-#: access/transam/xlogfuncs.c:445
+#: access/transam/xlogfuncs.c:397 access/transam/xlogfuncs.c:419
+#: access/transam/xlogfuncs.c:441
 #, c-format
 msgid "recovery is not in progress"
 msgstr "la recuperación no está en proceso"
 
-#: access/transam/xlogfuncs.c:402 access/transam/xlogfuncs.c:424
-#: access/transam/xlogfuncs.c:446
+#: access/transam/xlogfuncs.c:398 access/transam/xlogfuncs.c:420
+#: access/transam/xlogfuncs.c:442
 #, c-format
 msgid "Recovery control functions can only be executed during recovery."
 msgstr "Las funciones de control de recuperación sólo pueden ejecutarse durante la recuperación."
 
-#: access/transam/xlogfuncs.c:495 access/transam/xlogfuncs.c:501
+#: access/transam/xlogfuncs.c:491 access/transam/xlogfuncs.c:497
 #, c-format
 msgid "invalid input syntax for transaction log location: \"%s\""
 msgstr "sintaxis no válida para la ubicación del registro de transacciones: «%s»"
 
-#: access/transam/xlogfuncs.c:542 access/transam/xlogfuncs.c:546
-#, c-format
-msgid "xrecoff \"%X\" is out of valid range, 0..%X"
-msgstr "xrecoff «%X» está fuera del rango válido, 0..%X"
-
-#: bootstrap/bootstrap.c:279 postmaster/postmaster.c:701 tcop/postgres.c:3425
+#: bootstrap/bootstrap.c:286 postmaster/postmaster.c:764 tcop/postgres.c:3446
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s requiere un valor"
 
-#: bootstrap/bootstrap.c:284 postmaster/postmaster.c:706 tcop/postgres.c:3430
+#: bootstrap/bootstrap.c:291 postmaster/postmaster.c:769 tcop/postgres.c:3451
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s requiere un valor"
 
-#: bootstrap/bootstrap.c:295 postmaster/postmaster.c:718
-#: postmaster/postmaster.c:731
+#: bootstrap/bootstrap.c:302 postmaster/postmaster.c:781
+#: postmaster/postmaster.c:794
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Pruebe «%s --help» para mayor información.\n"
 
-#: bootstrap/bootstrap.c:304
+#: bootstrap/bootstrap.c:311
 #, c-format
 msgid "%s: invalid command-line arguments\n"
 msgstr "%s: argumentos de línea de órdenes no válidos\n"
 
-#: catalog/aclchk.c:203
+#: catalog/aclchk.c:206
 #, c-format
 msgid "grant options can only be granted to roles"
 msgstr "la opción de grant sólo puede ser otorgada a roles"
 
-#: catalog/aclchk.c:322
+#: catalog/aclchk.c:329
 #, c-format
 msgid "no privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "no se otorgaron privilegios para la columna «%s» de la relación «%s»"
 
-#: catalog/aclchk.c:327
+#: catalog/aclchk.c:334
 #, c-format
 msgid "no privileges were granted for \"%s\""
 msgstr "no se otorgaron privilegios para «%s»"
 
-#: catalog/aclchk.c:335
+#: catalog/aclchk.c:342
 #, c-format
 msgid "not all privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "no todos los privilegios fueron otorgados para la columna «%s» de la relación «%s»"
 
-#: catalog/aclchk.c:340
+#: catalog/aclchk.c:347
 #, c-format
 msgid "not all privileges were granted for \"%s\""
 msgstr "no todos los privilegios fueron otorgados para «%s»"
 
-#: catalog/aclchk.c:351
+#: catalog/aclchk.c:358
 #, c-format
 msgid "no privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "ningún privilegio pudo ser revocado para la columna «%s» de la relación «%s»"
 
-#: catalog/aclchk.c:356
+#: catalog/aclchk.c:363
 #, c-format
 msgid "no privileges could be revoked for \"%s\""
 msgstr "ningún privilegio pudo ser revocado para «%s»"
 
-#: catalog/aclchk.c:364
+#: catalog/aclchk.c:371
 #, c-format
 msgid "not all privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "no todos los privilegios pudieron ser revocados para la columna «%s» de la relación «%s»"
 
-#: catalog/aclchk.c:369
+#: catalog/aclchk.c:376
 #, c-format
 msgid "not all privileges could be revoked for \"%s\""
 msgstr "no todos los privilegios pudieron ser revocados para «%s»"
 
-#: catalog/aclchk.c:448 catalog/aclchk.c:925
+#: catalog/aclchk.c:455 catalog/aclchk.c:933
 #, c-format
 msgid "invalid privilege type %s for relation"
 msgstr "el tipo de privilegio %s no es válido para una relación"
 
-#: catalog/aclchk.c:452 catalog/aclchk.c:929
+#: catalog/aclchk.c:459 catalog/aclchk.c:937
 #, c-format
 msgid "invalid privilege type %s for sequence"
 msgstr "el tipo de privilegio %s no es válido para una secuencia"
 
-#: catalog/aclchk.c:456
+#: catalog/aclchk.c:463
 #, c-format
 msgid "invalid privilege type %s for database"
 msgstr "el tipo de privilegio %s no es válido para una base de datos"
 
-#: catalog/aclchk.c:460
+#: catalog/aclchk.c:467
 #, c-format
 msgid "invalid privilege type %s for domain"
 msgstr "el tipo de privilegio %s no es válido para un dominio"
 
-#: catalog/aclchk.c:464 catalog/aclchk.c:933
+#: catalog/aclchk.c:471 catalog/aclchk.c:941
 #, c-format
 msgid "invalid privilege type %s for function"
 msgstr "el tipo de privilegio %s no es válido para una función"
 
-#: catalog/aclchk.c:468
+#: catalog/aclchk.c:475
 #, c-format
 msgid "invalid privilege type %s for language"
 msgstr "el tipo de privilegio %s no es válido para un lenguaje"
 
-#: catalog/aclchk.c:472
+#: catalog/aclchk.c:479
 #, c-format
 msgid "invalid privilege type %s for large object"
 msgstr "el tipo de privilegio %s no es válido para un objeto grande"
 
-#: catalog/aclchk.c:476
+#: catalog/aclchk.c:483
 #, c-format
 msgid "invalid privilege type %s for schema"
 msgstr "el tipo de privilegio %s no es válido para un esquema"
 
-#: catalog/aclchk.c:480
+#: catalog/aclchk.c:487
 #, c-format
 msgid "invalid privilege type %s for tablespace"
 msgstr "el tipo de privilegio %s no es válido para un tablespace"
 
-#: catalog/aclchk.c:484 catalog/aclchk.c:937
+#: catalog/aclchk.c:491 catalog/aclchk.c:945
 #, c-format
 msgid "invalid privilege type %s for type"
 msgstr "el tipo de privilegio %s no es válido para un tipo"
 
-#: catalog/aclchk.c:488
+#: catalog/aclchk.c:495
 #, c-format
 msgid "invalid privilege type %s for foreign-data wrapper"
 msgstr "el tipo de privilegio %s no es válido para un conector de datos externos"
 
-#: catalog/aclchk.c:492
+#: catalog/aclchk.c:499
 #, c-format
 msgid "invalid privilege type %s for foreign server"
 msgstr "el tipo de privilegio %s no es válido para un servidor foráneo"
 
-#: catalog/aclchk.c:531
+#: catalog/aclchk.c:538
 #, c-format
 msgid "column privileges are only valid for relations"
 msgstr "los privilegios de columna son sólo válidos para relaciones"
 
-#: catalog/aclchk.c:681 catalog/aclchk.c:3879 catalog/aclchk.c:4656
-#: catalog/objectaddress.c:382 catalog/pg_largeobject.c:112
-#: catalog/pg_largeobject.c:172 storage/large_object/inv_api.c:273
+#: catalog/aclchk.c:688 catalog/aclchk.c:3901 catalog/aclchk.c:4678
+#: catalog/objectaddress.c:575 catalog/pg_largeobject.c:113
+#: storage/large_object/inv_api.c:277
 #, c-format
 msgid "large object %u does not exist"
 msgstr "no existe el objeto grande %u"
 
-#: catalog/aclchk.c:867 catalog/aclchk.c:875 commands/collationcmds.c:93
-#: commands/copy.c:873 commands/copy.c:891 commands/copy.c:899
-#: commands/copy.c:907 commands/copy.c:915 commands/copy.c:923
-#: commands/copy.c:931 commands/copy.c:939 commands/copy.c:955
-#: commands/copy.c:969 commands/dbcommands.c:144 commands/dbcommands.c:152
-#: commands/dbcommands.c:160 commands/dbcommands.c:168
-#: commands/dbcommands.c:176 commands/dbcommands.c:184
-#: commands/dbcommands.c:192 commands/dbcommands.c:1353
-#: commands/dbcommands.c:1361 commands/extension.c:1248
-#: commands/extension.c:1256 commands/extension.c:1264
-#: commands/extension.c:2662 commands/foreigncmds.c:543
-#: commands/foreigncmds.c:552 commands/functioncmds.c:507
-#: commands/functioncmds.c:599 commands/functioncmds.c:607
-#: commands/functioncmds.c:615 commands/functioncmds.c:1935
-#: commands/functioncmds.c:1943 commands/sequence.c:1156
-#: commands/sequence.c:1164 commands/sequence.c:1172 commands/sequence.c:1180
-#: commands/sequence.c:1188 commands/sequence.c:1196 commands/sequence.c:1204
-#: commands/sequence.c:1212 commands/typecmds.c:293 commands/typecmds.c:1300
-#: commands/typecmds.c:1309 commands/typecmds.c:1317 commands/typecmds.c:1325
-#: commands/typecmds.c:1333 commands/user.c:134 commands/user.c:151
-#: commands/user.c:159 commands/user.c:167 commands/user.c:175
-#: commands/user.c:183 commands/user.c:191 commands/user.c:199
-#: commands/user.c:207 commands/user.c:215 commands/user.c:223
-#: commands/user.c:231 commands/user.c:494 commands/user.c:506
-#: commands/user.c:514 commands/user.c:522 commands/user.c:530
-#: commands/user.c:538 commands/user.c:546 commands/user.c:554
-#: commands/user.c:563 commands/user.c:571
+#: catalog/aclchk.c:875 catalog/aclchk.c:883 commands/collationcmds.c:91
+#: commands/copy.c:923 commands/copy.c:941 commands/copy.c:949
+#: commands/copy.c:957 commands/copy.c:965 commands/copy.c:973
+#: commands/copy.c:981 commands/copy.c:989 commands/copy.c:997
+#: commands/copy.c:1013 commands/copy.c:1032 commands/copy.c:1047
+#: commands/dbcommands.c:148 commands/dbcommands.c:156
+#: commands/dbcommands.c:164 commands/dbcommands.c:172
+#: commands/dbcommands.c:180 commands/dbcommands.c:188
+#: commands/dbcommands.c:196 commands/dbcommands.c:1360
+#: commands/dbcommands.c:1368 commands/extension.c:1250
+#: commands/extension.c:1258 commands/extension.c:1266
+#: commands/extension.c:2674 commands/foreigncmds.c:483
+#: commands/foreigncmds.c:492 commands/functioncmds.c:496
+#: commands/functioncmds.c:588 commands/functioncmds.c:596
+#: commands/functioncmds.c:604 commands/functioncmds.c:1670
+#: commands/functioncmds.c:1678 commands/sequence.c:1164
+#: commands/sequence.c:1172 commands/sequence.c:1180 commands/sequence.c:1188
+#: commands/sequence.c:1196 commands/sequence.c:1204 commands/sequence.c:1212
+#: commands/sequence.c:1220 commands/typecmds.c:295 commands/typecmds.c:1330
+#: commands/typecmds.c:1339 commands/typecmds.c:1347 commands/typecmds.c:1355
+#: commands/typecmds.c:1363 commands/user.c:135 commands/user.c:152
+#: commands/user.c:160 commands/user.c:168 commands/user.c:176
+#: commands/user.c:184 commands/user.c:192 commands/user.c:200
+#: commands/user.c:208 commands/user.c:216 commands/user.c:224
+#: commands/user.c:232 commands/user.c:496 commands/user.c:508
+#: commands/user.c:516 commands/user.c:524 commands/user.c:532
+#: commands/user.c:540 commands/user.c:548 commands/user.c:556
+#: commands/user.c:565 commands/user.c:573
 #, c-format
 msgid "conflicting or redundant options"
 msgstr "opciones contradictorias o redundantes"
 
-#: catalog/aclchk.c:970
+#: catalog/aclchk.c:978
 #, c-format
 msgid "default privileges cannot be set for columns"
 msgstr "los privilegios por omisión no pueden definirse para columnas"
 
-#: catalog/aclchk.c:1478 catalog/objectaddress.c:813 commands/analyze.c:384
-#: commands/copy.c:3934 commands/sequence.c:1457 commands/tablecmds.c:4769
-#: commands/tablecmds.c:4861 commands/tablecmds.c:4908
-#: commands/tablecmds.c:5010 commands/tablecmds.c:5054
-#: commands/tablecmds.c:5133 commands/tablecmds.c:5217
-#: commands/tablecmds.c:7159 commands/tablecmds.c:7376
-#: commands/tablecmds.c:7765 commands/trigger.c:604 parser/analyze.c:2046
-#: parser/parse_relation.c:2057 parser/parse_relation.c:2114
-#: parser/parse_target.c:896 parser/parse_type.c:123 utils/adt/acl.c:2838
-#: utils/adt/ruleutils.c:1614
+#: catalog/aclchk.c:1492 catalog/objectaddress.c:1021 commands/analyze.c:386
+#: commands/copy.c:4159 commands/sequence.c:1466 commands/tablecmds.c:4823
+#: commands/tablecmds.c:4918 commands/tablecmds.c:4968
+#: commands/tablecmds.c:5072 commands/tablecmds.c:5119
+#: commands/tablecmds.c:5203 commands/tablecmds.c:5291
+#: commands/tablecmds.c:7231 commands/tablecmds.c:7435
+#: commands/tablecmds.c:7827 commands/trigger.c:592 parser/analyze.c:1973
+#: parser/parse_relation.c:2146 parser/parse_relation.c:2203
+#: parser/parse_target.c:918 parser/parse_type.c:124 utils/adt/acl.c:2840
+#: utils/adt/ruleutils.c:1780
 #, 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:1743 catalog/objectaddress.c:648 commands/sequence.c:1046
-#: commands/tablecmds.c:210 commands/tablecmds.c:10356 utils/adt/acl.c:2074
-#: utils/adt/acl.c:2104 utils/adt/acl.c:2136 utils/adt/acl.c:2168
-#: utils/adt/acl.c:2196 utils/adt/acl.c:2226
+#: catalog/aclchk.c:1757 catalog/objectaddress.c:849 commands/sequence.c:1053
+#: commands/tablecmds.c:213 commands/tablecmds.c:10489 utils/adt/acl.c:2076
+#: utils/adt/acl.c:2106 utils/adt/acl.c:2138 utils/adt/acl.c:2170
+#: utils/adt/acl.c:2198 utils/adt/acl.c:2228
 #, c-format
 msgid "\"%s\" is not a sequence"
 msgstr "«%s» no es una secuencia"
 
-#: catalog/aclchk.c:1781
+#: catalog/aclchk.c:1795
 #, c-format
 msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges"
 msgstr "la secuencia «%s» sólo soporta los privilegios USAGE, SELECT, y UPDATE"
 
-#: catalog/aclchk.c:1798
+#: catalog/aclchk.c:1812
 #, c-format
 msgid "invalid privilege type USAGE for table"
 msgstr "el tipo de privilegio USAGE no es válido para tablas"
 
-#: catalog/aclchk.c:1963
+#: catalog/aclchk.c:1977
 #, c-format
 msgid "invalid privilege type %s for column"
 msgstr "el tipo de privilegio %s no es válido para una columna"
 
-#: catalog/aclchk.c:1976
+#: catalog/aclchk.c:1990
 #, c-format
 msgid "sequence \"%s\" only supports SELECT column privileges"
 msgstr "la secuencia «%s» sólo soporta el privilegio SELECT"
 
-#: catalog/aclchk.c:2560
+#: catalog/aclchk.c:2574
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "el lenguaje «%s» no es confiable (trusted)"
 
-#: catalog/aclchk.c:2562
+#: catalog/aclchk.c:2576
 #, c-format
 msgid "Only superusers can use untrusted languages."
 msgstr "Sólo los superusuarios pueden usar lenguajes no confiables."
 
-#: catalog/aclchk.c:3078
+#: catalog/aclchk.c:3092
 #, c-format
 msgid "cannot set privileges of array types"
 msgstr "no se puede definir privilegios para tipos de array"
 
-#: catalog/aclchk.c:3079
+#: catalog/aclchk.c:3093
 #, c-format
 msgid "Set the privileges of the element type instead."
 msgstr "Defina los privilegios del tipo elemento en su lugar."
 
-#: catalog/aclchk.c:3086 catalog/objectaddress.c:864 commands/typecmds.c:3128
+#: catalog/aclchk.c:3100 catalog/objectaddress.c:1072 commands/typecmds.c:3179
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "«%s» no es un dominio"
 
-#: catalog/aclchk.c:3206
+#: catalog/aclchk.c:3220
 #, c-format
 msgid "unrecognized privilege type \"%s\""
 msgstr "tipo de privilegio no reconocido: «%s»"
 
-#: catalog/aclchk.c:3255
+#: catalog/aclchk.c:3269
 #, c-format
 msgid "permission denied for column %s"
 msgstr "permiso denegado a la columna %s"
 
-#: catalog/aclchk.c:3257
+#: catalog/aclchk.c:3271
 #, c-format
 msgid "permission denied for relation %s"
 msgstr "permiso denegado a la relación %s"
 
-#: catalog/aclchk.c:3259 commands/sequence.c:551 commands/sequence.c:765
-#: commands/sequence.c:807 commands/sequence.c:844 commands/sequence.c:1509
+#: catalog/aclchk.c:3273 commands/sequence.c:560 commands/sequence.c:773
+#: commands/sequence.c:815 commands/sequence.c:852 commands/sequence.c:1518
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "permiso denegado a la secuencia %s"
 
-#: catalog/aclchk.c:3261
+#: catalog/aclchk.c:3275
 #, c-format
 msgid "permission denied for database %s"
 msgstr "permiso denegado a la base de datos %s"
 
-#: catalog/aclchk.c:3263
+#: catalog/aclchk.c:3277
 #, c-format
 msgid "permission denied for function %s"
 msgstr "permiso denegado a la función %s"
 
-#: catalog/aclchk.c:3265
+#: catalog/aclchk.c:3279
 #, c-format
 msgid "permission denied for operator %s"
 msgstr "permiso denegado al operador %s"
 
-#: catalog/aclchk.c:3267
+#: catalog/aclchk.c:3281
 #, c-format
 msgid "permission denied for type %s"
 msgstr "permiso denegado al tipo %s"
 
-#: catalog/aclchk.c:3269
+#: catalog/aclchk.c:3283
 #, c-format
 msgid "permission denied for language %s"
 msgstr "permiso denegado al lenguaje %s"
 
-#: catalog/aclchk.c:3271
+#: catalog/aclchk.c:3285
 #, c-format
 msgid "permission denied for large object %s"
 msgstr "permiso denegado al objeto grande %s"
 
-#: catalog/aclchk.c:3273
+#: catalog/aclchk.c:3287
 #, c-format
 msgid "permission denied for schema %s"
 msgstr "permiso denegado al esquema %s"
 
-#: catalog/aclchk.c:3275
+#: catalog/aclchk.c:3289
 #, c-format
 msgid "permission denied for operator class %s"
 msgstr "permiso denegado a la clase de operadores %s"
 
-#: catalog/aclchk.c:3277
+#: catalog/aclchk.c:3291
 #, c-format
 msgid "permission denied for operator family %s"
 msgstr "permiso denegado a la familia de operadores %s"
 
-#: catalog/aclchk.c:3279
+#: catalog/aclchk.c:3293
 #, c-format
 msgid "permission denied for collation %s"
 msgstr "permiso denegado al ordenamiento (collation) %s"
 
-#: catalog/aclchk.c:3281
+#: catalog/aclchk.c:3295
 #, c-format
 msgid "permission denied for conversion %s"
 msgstr "permiso denegado a la conversión %s"
 
-#: catalog/aclchk.c:3283
+#: catalog/aclchk.c:3297
 #, c-format
 msgid "permission denied for tablespace %s"
 msgstr "permiso denegado al tablespace %s"
 
-#: catalog/aclchk.c:3285
+#: catalog/aclchk.c:3299
 #, c-format
 msgid "permission denied for text search dictionary %s"
 msgstr "permiso denegado a la configuración de búsqueda en texto %s"
 
-#: catalog/aclchk.c:3287
+#: catalog/aclchk.c:3301
 #, c-format
 msgid "permission denied for text search configuration %s"
 msgstr "permiso denegado a la configuración de búsqueda en texto %s"
 
-#: catalog/aclchk.c:3289
+#: catalog/aclchk.c:3303
 #, c-format
 msgid "permission denied for foreign-data wrapper %s"
 msgstr "permiso denegado al conector de datos externos %s"
 
-#: catalog/aclchk.c:3291
+#: catalog/aclchk.c:3305
 #, c-format
 msgid "permission denied for foreign server %s"
 msgstr "permiso denegado al servidor foráneo %s"
 
-#: catalog/aclchk.c:3293
+#: catalog/aclchk.c:3307
+#, c-format
+msgid "permission denied for event trigger %s"
+msgstr "permiso denegado al disparador por eventos %s"
+
+#: catalog/aclchk.c:3309
 #, c-format
 msgid "permission denied for extension %s"
 msgstr "permiso denegado a la extensión %s"
 
-#: catalog/aclchk.c:3299 catalog/aclchk.c:3301
+#: catalog/aclchk.c:3315 catalog/aclchk.c:3317
 #, c-format
 msgid "must be owner of relation %s"
 msgstr "debe ser dueño de la relación %s"
 
-#: catalog/aclchk.c:3303
+#: catalog/aclchk.c:3319
 #, c-format
 msgid "must be owner of sequence %s"
 msgstr "debe ser dueño de la secuencia %s"
 
-#: catalog/aclchk.c:3305
+#: catalog/aclchk.c:3321
 #, c-format
 msgid "must be owner of database %s"
 msgstr "debe ser dueño de la base de datos %s"
 
-#: catalog/aclchk.c:3307
+#: catalog/aclchk.c:3323
 #, c-format
 msgid "must be owner of function %s"
 msgstr "debe ser dueño de la función %s"
 
-#: catalog/aclchk.c:3309
+#: catalog/aclchk.c:3325
 #, c-format
 msgid "must be owner of operator %s"
 msgstr "debe ser dueño del operador %s"
 
-#: catalog/aclchk.c:3311
+#: catalog/aclchk.c:3327
 #, c-format
 msgid "must be owner of type %s"
 msgstr "debe ser dueño del tipo %s"
 
-#: catalog/aclchk.c:3313
+#: catalog/aclchk.c:3329
 #, c-format
 msgid "must be owner of language %s"
 msgstr "debe ser dueño del lenguaje %s"
 
-#: catalog/aclchk.c:3315
+#: catalog/aclchk.c:3331
 #, c-format
 msgid "must be owner of large object %s"
 msgstr "debe ser dueño del objeto grande %s"
 
-#: catalog/aclchk.c:3317
+#: catalog/aclchk.c:3333
 #, c-format
 msgid "must be owner of schema %s"
 msgstr "debe ser dueño del esquema %s"
 
-#: catalog/aclchk.c:3319
+#: catalog/aclchk.c:3335
 #, c-format
 msgid "must be owner of operator class %s"
 msgstr "debe ser dueño de la clase de operadores %s"
 
-#: catalog/aclchk.c:3321
+#: catalog/aclchk.c:3337
 #, c-format
 msgid "must be owner of operator family %s"
 msgstr "debe ser dueño de la familia de operadores %s"
 
-#: catalog/aclchk.c:3323
+#: catalog/aclchk.c:3339
 #, c-format
 msgid "must be owner of collation %s"
 msgstr "debe ser dueño del ordenamiento (collation) %s"
 
-#: catalog/aclchk.c:3325
+#: catalog/aclchk.c:3341
 #, c-format
 msgid "must be owner of conversion %s"
 msgstr "debe ser dueño de la conversión %s"
 
-#: catalog/aclchk.c:3327
+#: catalog/aclchk.c:3343
 #, c-format
 msgid "must be owner of tablespace %s"
 msgstr "debe ser dueño del tablespace %s"
 
-#: catalog/aclchk.c:3329
+#: catalog/aclchk.c:3345
 #, c-format
 msgid "must be owner of text search dictionary %s"
 msgstr "debe ser dueño del diccionario de búsqueda en texto %s"
 
-#: catalog/aclchk.c:3331
+#: catalog/aclchk.c:3347
 #, c-format
 msgid "must be owner of text search configuration %s"
 msgstr "debe ser dueño de la configuración de búsqueda en texto %s"
 
-#: catalog/aclchk.c:3333
+#: catalog/aclchk.c:3349
 #, c-format
 msgid "must be owner of foreign-data wrapper %s"
 msgstr "debe ser dueño del conector de datos externos %s"
 
-#: catalog/aclchk.c:3335
+#: catalog/aclchk.c:3351
 #, c-format
 msgid "must be owner of foreign server %s"
 msgstr "debe ser dueño del servidor foráneo %s"
 
-#: catalog/aclchk.c:3337
+#: catalog/aclchk.c:3353
+#, c-format
+msgid "must be owner of event trigger %s"
+msgstr "debe ser dueño del disparador por eventos %s"
+
+#: catalog/aclchk.c:3355
 #, c-format
 msgid "must be owner of extension %s"
 msgstr "debe ser dueño de la extensión %s"
 
-#: catalog/aclchk.c:3379
+#: catalog/aclchk.c:3397
 #, c-format
 msgid "permission denied for column \"%s\" of relation \"%s\""
 msgstr "permiso denegado a la columna «%s» de la relación «%s»"
 
-#: catalog/aclchk.c:3419
+#: catalog/aclchk.c:3437
 #, c-format
 msgid "role with OID %u does not exist"
 msgstr "no existe el rol con OID %u"
 
-#: catalog/aclchk.c:3514 catalog/aclchk.c:3522
+#: catalog/aclchk.c:3536 catalog/aclchk.c:3544
 #, c-format
 msgid "attribute %d of relation with OID %u does not exist"
 msgstr "no existe el atributo %d de la relación con OID %u"
 
-#: catalog/aclchk.c:3595 catalog/aclchk.c:4507
+#: catalog/aclchk.c:3617 catalog/aclchk.c:4529
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "no existe la relación con OID %u"
 
-#: catalog/aclchk.c:3695 catalog/aclchk.c:4898
+#: catalog/aclchk.c:3717 catalog/aclchk.c:4947
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "no existe la base de datos con OID %u"
 
-#: catalog/aclchk.c:3749 catalog/aclchk.c:4585 tcop/fastpath.c:221
+#: catalog/aclchk.c:3771 catalog/aclchk.c:4607 tcop/fastpath.c:223
 #, c-format
 msgid "function with OID %u does not exist"
 msgstr "no existe la función con OID %u"
 
-#: catalog/aclchk.c:3803 catalog/aclchk.c:4611
+#: catalog/aclchk.c:3825 catalog/aclchk.c:4633
 #, c-format
 msgid "language with OID %u does not exist"
 msgstr "no existe el lenguaje con OID %u"
 
-#: catalog/aclchk.c:3964 catalog/aclchk.c:4683
+#: catalog/aclchk.c:3986 catalog/aclchk.c:4705
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "no existe el esquema con OID %u"
 
-#: catalog/aclchk.c:4018 catalog/aclchk.c:4710
+#: catalog/aclchk.c:4040 catalog/aclchk.c:4732
 #, c-format
 msgid "tablespace with OID %u does not exist"
 msgstr "no existe el tablespace con OID %u"
 
-#: catalog/aclchk.c:4076 catalog/aclchk.c:4844 commands/foreigncmds.c:367
+#: catalog/aclchk.c:4098 catalog/aclchk.c:4866 commands/foreigncmds.c:299
 #, c-format
 msgid "foreign-data wrapper with OID %u does not exist"
 msgstr "no existe el conector de datos externos con OID %u"
 
-#: catalog/aclchk.c:4137 catalog/aclchk.c:4871 commands/foreigncmds.c:466
+#: catalog/aclchk.c:4159 catalog/aclchk.c:4893 commands/foreigncmds.c:406
 #, c-format
 msgid "foreign server with OID %u does not exist"
 msgstr "no existe el servidor foráneo con OID %u"
 
-#: catalog/aclchk.c:4196 catalog/aclchk.c:4210 catalog/aclchk.c:4533
+#: catalog/aclchk.c:4218 catalog/aclchk.c:4232 catalog/aclchk.c:4555
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "no existe el tipo con OID %u"
 
-#: catalog/aclchk.c:4559
+#: catalog/aclchk.c:4581
 #, c-format
 msgid "operator with OID %u does not exist"
 msgstr "no existe el operador con OID %u"
 
-#: catalog/aclchk.c:4736
+#: catalog/aclchk.c:4758
 #, c-format
 msgid "operator class with OID %u does not exist"
 msgstr "no existe la clase de operadores con OID %u"
 
-#: catalog/aclchk.c:4763
+#: catalog/aclchk.c:4785
 #, c-format
 msgid "operator family with OID %u does not exist"
 msgstr "no existe la familia de operadores con OID %u"
 
-#: catalog/aclchk.c:4790
+#: catalog/aclchk.c:4812
 #, c-format
 msgid "text search dictionary with OID %u does not exist"
 msgstr "no existe el diccionario de búsqueda en texto con OID %u"
 
-#: catalog/aclchk.c:4817
+#: catalog/aclchk.c:4839
 #, c-format
 msgid "text search configuration with OID %u does not exist"
 msgstr "no existe la configuración de búsqueda en texto con OID %u"
 
-#: catalog/aclchk.c:4924
+#: catalog/aclchk.c:4920 commands/event_trigger.c:506
+#, c-format
+msgid "event trigger with OID %u does not exist"
+msgstr "no existe el disparador por eventos con OID %u"
+
+#: catalog/aclchk.c:4973
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "no existe el ordenamiento (collation) con OID %u"
 
-#: catalog/aclchk.c:4950
+#: catalog/aclchk.c:4999
 #, c-format
 msgid "conversion with OID %u does not exist"
 msgstr "no existe la conversión con OID %u"
 
-#: catalog/aclchk.c:4991
+#: catalog/aclchk.c:5040
 #, c-format
 msgid "extension with OID %u does not exist"
 msgstr "no existe la extensión con OID %u"
 
-#: catalog/catalog.c:77
+#: catalog/catalog.c:63
 #, c-format
 msgid "invalid fork name"
 msgstr "nombre de «fork» no válido"
 
-#: catalog/catalog.c:78
+#: catalog/catalog.c:64
 #, c-format
 msgid "Valid fork names are \"main\", \"fsm\", and \"vm\"."
 msgstr "Los nombres válidos son «man», «fsm» y «vm»."
 
-#: catalog/dependency.c:605
+#: catalog/dependency.c:626
 #, c-format
 msgid "cannot drop %s because %s requires it"
 msgstr "no se puede eliminar %s porque %s lo requiere"
 
-#: catalog/dependency.c:608
+#: catalog/dependency.c:629
 #, c-format
 msgid "You can drop %s instead."
 msgstr "Puede eliminar %s en su lugar."
 
-#: catalog/dependency.c:769 catalog/pg_shdepend.c:566
+#: catalog/dependency.c:790 catalog/pg_shdepend.c:571
 #, c-format
 msgid "cannot drop %s because it is required by the database system"
 msgstr "no se puede eliminar %s porque es requerido por el sistema"
 
-#: catalog/dependency.c:885
+#: catalog/dependency.c:906
 #, c-format
 msgid "drop auto-cascades to %s"
 msgstr "eliminando automáticamente %s"
 
-#: catalog/dependency.c:897 catalog/dependency.c:906
+#: catalog/dependency.c:918 catalog/dependency.c:927
 #, c-format
 msgid "%s depends on %s"
 msgstr "%s depende de %s"
 
-#: catalog/dependency.c:918 catalog/dependency.c:927
+#: catalog/dependency.c:939 catalog/dependency.c:948
 #, c-format
 msgid "drop cascades to %s"
 msgstr "eliminando además %s"
 
-#: catalog/dependency.c:935 catalog/pg_shdepend.c:677
+#: catalog/dependency.c:956 catalog/pg_shdepend.c:682
 #, c-format
 msgid ""
 "\n"
@@ -2637,860 +2701,854 @@ msgstr[1] ""
 "\n"
 "y otros %d objetos (vea el registro del servidor para obtener la lista)"
 
-#: catalog/dependency.c:947
+#: catalog/dependency.c:968
 #, c-format
 msgid "cannot drop %s because other objects depend on it"
 msgstr "no se puede eliminar %s porque otros objetos dependen de él"
 
-#: catalog/dependency.c:949 catalog/dependency.c:950 catalog/dependency.c:956
-#: catalog/dependency.c:957 catalog/dependency.c:968 catalog/dependency.c:969
-#: catalog/objectaddress.c:555 commands/tablecmds.c:729 commands/user.c:960
+#: catalog/dependency.c:970 catalog/dependency.c:971 catalog/dependency.c:977
+#: catalog/dependency.c:978 catalog/dependency.c:989 catalog/dependency.c:990
+#: catalog/objectaddress.c:751 commands/tablecmds.c:737 commands/user.c:988
 #: port/win32/security.c:51 storage/lmgr/deadlock.c:955
-#: storage/lmgr/proc.c:1140 utils/misc/guc.c:5440 utils/misc/guc.c:5775
-#: utils/misc/guc.c:8136 utils/misc/guc.c:8170 utils/misc/guc.c:8204
-#: utils/misc/guc.c:8238 utils/misc/guc.c:8273
+#: storage/lmgr/proc.c:1174 utils/misc/guc.c:5472 utils/misc/guc.c:5807
+#: utils/misc/guc.c:8168 utils/misc/guc.c:8202 utils/misc/guc.c:8236
+#: utils/misc/guc.c:8270 utils/misc/guc.c:8305
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: catalog/dependency.c:951 catalog/dependency.c:958
+#: catalog/dependency.c:972 catalog/dependency.c:979
 #, c-format
 msgid "Use DROP ... CASCADE to drop the dependent objects too."
 msgstr "Use DROP ... CASCADE para eliminar además los objetos dependientes."
 
-#: catalog/dependency.c:955
+#: catalog/dependency.c:976
 #, c-format
 msgid "cannot drop desired object(s) because other objects depend on them"
 msgstr "no se puede eliminar el o los objetos deseados porque otros objetos dependen de ellos"
 
 #. translator: %d always has a value larger than 1
-#: catalog/dependency.c:964
+#: catalog/dependency.c:985
 #, c-format
 msgid "drop cascades to %d other object"
 msgid_plural "drop cascades to %d other objects"
 msgstr[0] "eliminando además %d objeto más"
 msgstr[1] "eliminando además %d objetos más"
 
-#: catalog/dependency.c:2313
+#: catalog/heap.c:266
 #, c-format
-msgid " column %s"
-msgstr " columna %s"
+msgid "permission denied to create \"%s.%s\""
+msgstr "se ha denegado el permiso para crear «%s.%s»"
 
-#: catalog/dependency.c:2319
+#: catalog/heap.c:268
 #, c-format
-msgid "function %s"
-msgstr "función %s"
+msgid "System catalog modifications are currently disallowed."
+msgstr "Las modificaciones al catálogo del sistema están actualmente deshabilitadas."
 
-#: catalog/dependency.c:2324
+#: catalog/heap.c:403 commands/tablecmds.c:1376 commands/tablecmds.c:1817
+#: commands/tablecmds.c:4468
 #, c-format
-msgid "type %s"
-msgstr "tipo %s"
+msgid "tables can have at most %d columns"
+msgstr "las tablas pueden tener a lo más %d columnas"
 
-#: catalog/dependency.c:2354
+#: catalog/heap.c:420 commands/tablecmds.c:4724
 #, c-format
-msgid "cast from %s to %s"
-msgstr "conversión de %s a %s"
+msgid "column name \"%s\" conflicts with a system column name"
+msgstr "el nombre de columna «%s» colisiona con nombre de una columna de sistema"
 
-#: catalog/dependency.c:2374
-#, c-format
-msgid "collation %s"
-msgstr "ordenamiento (collation) %s"
-
-#: catalog/dependency.c:2398
-#, c-format
-msgid "constraint %s on %s"
-msgstr "restricción «%s» en %s"
-
-#: catalog/dependency.c:2404
-#, c-format
-msgid "constraint %s"
-msgstr "restricción %s"
-
-#: catalog/dependency.c:2421
-#, c-format
-msgid "conversion %s"
-msgstr "conversión %s"
-
-#: catalog/dependency.c:2458
-#, c-format
-msgid "default for %s"
-msgstr "valor por omisión para %s"
-
-#: catalog/dependency.c:2475
-#, c-format
-msgid "language %s"
-msgstr "lenguaje %s"
-
-#: catalog/dependency.c:2481
-#, c-format
-msgid "large object %u"
-msgstr "objeto grande %u"
-
-#: catalog/dependency.c:2486
-#, c-format
-msgid "operator %s"
-msgstr "operador %s"
-
-#: catalog/dependency.c:2518
-#, c-format
-msgid "operator class %s for access method %s"
-msgstr "clase de operadores «%s» para el método de acceso «%s»"
-
-#. translator: %d is the operator strategy (a number), the
-#. 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/dependency.c:2568
-#, c-format
-msgid "operator %d (%s, %s) of %s: %s"
-msgstr "operador %d (%s, %s) de %s: %s"
-
-#. translator: %d is the function number, the 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
-#. function with arguments.
-#: catalog/dependency.c:2618
-#, c-format
-msgid "function %d (%s, %s) of %s: %s"
-msgstr "función %d (%s, %s) de %s: %s"
-
-#: catalog/dependency.c:2658
-#, c-format
-msgid "rule %s on "
-msgstr "regla «%s» en "
-
-#: catalog/dependency.c:2693
-#, c-format
-msgid "trigger %s on "
-msgstr "disparador %s en "
-
-#: catalog/dependency.c:2710
-#, c-format
-msgid "schema %s"
-msgstr "esquema %s"
-
-#: catalog/dependency.c:2723
-#, c-format
-msgid "text search parser %s"
-msgstr "analizador de búsqueda en texto %s"
-
-#: catalog/dependency.c:2738
-#, c-format
-msgid "text search dictionary %s"
-msgstr "diccionario de búsqueda en texto %s"
-
-#: catalog/dependency.c:2753
-#, c-format
-msgid "text search template %s"
-msgstr "plantilla de búsqueda en texto %s"
-
-#: catalog/dependency.c:2768
-#, c-format
-msgid "text search configuration %s"
-msgstr "configuración de búsqueda en texto %s"
-
-#: catalog/dependency.c:2776
-#, c-format
-msgid "role %s"
-msgstr "rol %s"
-
-#: catalog/dependency.c:2789
-#, c-format
-msgid "database %s"
-msgstr "base de datos %s"
-
-#: catalog/dependency.c:2801
-#, c-format
-msgid "tablespace %s"
-msgstr "tablespace %s"
-
-#: catalog/dependency.c:2810
-#, c-format
-msgid "foreign-data wrapper %s"
-msgstr "conector de datos externos %s"
-
-#: catalog/dependency.c:2819
-#, c-format
-msgid "server %s"
-msgstr "servidor %s"
-
-#: catalog/dependency.c:2844
-#, c-format
-msgid "user mapping for %s"
-msgstr "mapeo para el usuario %s"
-
-#: catalog/dependency.c:2878
-#, 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/dependency.c:2883
-#, 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/dependency.c:2888
-#, 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/dependency.c:2893
-#, 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/dependency.c:2899
-#, c-format
-msgid "default privileges belonging to role %s"
-msgstr "privilegios por omisión pertenecientes al rol %s"
-
-#: catalog/dependency.c:2907
-#, c-format
-msgid " in schema %s"
-msgstr " en esquema %s"
-
-#: catalog/dependency.c:2924
-#, c-format
-msgid "extension %s"
-msgstr "extensión %s"
-
-#: catalog/dependency.c:2982
-#, c-format
-msgid "table %s"
-msgstr "tabla %s"
-
-#: catalog/dependency.c:2986
-#, c-format
-msgid "index %s"
-msgstr "índice %s"
-
-#: catalog/dependency.c:2990
-#, c-format
-msgid "sequence %s"
-msgstr "secuencia %s"
-
-#: catalog/dependency.c:2994
-#, c-format
-msgid "uncataloged table %s"
-msgstr "tabla sin catalogar %s"
-
-#: catalog/dependency.c:2998
-#, c-format
-msgid "toast table %s"
-msgstr "tabla toast %s"
-
-#: catalog/dependency.c:3002
-#, c-format
-msgid "view %s"
-msgstr "vista %s"
-
-#: catalog/dependency.c:3006
-#, c-format
-msgid "composite type %s"
-msgstr "tipo compuesto %s"
-
-#: catalog/dependency.c:3010
-#, c-format
-msgid "foreign table %s"
-msgstr "tabla foránea %s"
-
-#: catalog/dependency.c:3015
-#, c-format
-msgid "relation %s"
-msgstr "relación %s"
-
-#: catalog/dependency.c:3052
-#, c-format
-msgid "operator family %s for access method %s"
-msgstr "familia de operadores %s para el método de acceso %s"
-
-#: catalog/heap.c:262
-#, c-format
-msgid "permission denied to create \"%s.%s\""
-msgstr "se ha denegado el permiso para crear «%s.%s»"
-
-#: catalog/heap.c:264
-#, c-format
-msgid "System catalog modifications are currently disallowed."
-msgstr "Las modificaciones al catálogo del sistema están actualmente deshabilitadas."
-
-#: catalog/heap.c:398 commands/tablecmds.c:1361 commands/tablecmds.c:1802
-#: commands/tablecmds.c:4409
-#, c-format
-msgid "tables can have at most %d columns"
-msgstr "las tablas pueden tener a lo más %d columnas"
-
-#: catalog/heap.c:415 commands/tablecmds.c:4670
-#, c-format
-msgid "column name \"%s\" conflicts with a system column name"
-msgstr "el nombre de columna «%s» colisiona con nombre de una columna de sistema"
-
-#: catalog/heap.c:431
+#: catalog/heap.c:436
 #, c-format
 msgid "column name \"%s\" specified more than once"
 msgstr "el nombre de columna «%s» fue especificado más de una vez"
 
-#: catalog/heap.c:481
+#: catalog/heap.c:486
 #, c-format
 msgid "column \"%s\" has type \"unknown\""
 msgstr "la columna «%s» tiene tipo «unknown» (desconocido)"
 
-#: catalog/heap.c:482
+#: catalog/heap.c:487
 #, c-format
 msgid "Proceeding with relation creation anyway."
 msgstr "Continuando con la creación de la relación de todas maneras."
 
-#: catalog/heap.c:495
+#: catalog/heap.c:500
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "la columna «%s» tiene pseudotipo %s"
 
-#: catalog/heap.c:525
+#: catalog/heap.c:530
 #, c-format
 msgid "composite type %s cannot be made a member of itself"
 msgstr "un tipo compuesto %s no puede ser hecho miembro de sí mismo"
 
-#: catalog/heap.c:567 commands/createas.c:291
+#: catalog/heap.c:572 commands/createas.c:342
 #, c-format
 msgid "no collation was derived for column \"%s\" with collatable type %s"
 msgstr "no se derivó ningún ordenamiento (collate) para la columna «%s» con tipo ordenable %s"
 
-#: catalog/heap.c:569 commands/createas.c:293 commands/indexcmds.c:1094
-#: commands/view.c:147 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1522
-#: utils/adt/formatting.c:1574 utils/adt/formatting.c:1647
-#: utils/adt/formatting.c:1699 utils/adt/formatting.c:1784
-#: utils/adt/formatting.c:1848 utils/adt/like.c:212 utils/adt/selfuncs.c:5186
-#: utils/adt/varlena.c:1372
+#: catalog/heap.c:574 commands/createas.c:344 commands/indexcmds.c:1085
+#: commands/view.c:96 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1515
+#: utils/adt/formatting.c:1567 utils/adt/formatting.c:1635
+#: utils/adt/formatting.c:1687 utils/adt/formatting.c:1756
+#: utils/adt/formatting.c:1820 utils/adt/like.c:212 utils/adt/selfuncs.c:5194
+#: 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:1027 catalog/index.c:771 commands/tablecmds.c:2483
+#: catalog/heap.c:1047 catalog/index.c:776 commands/tablecmds.c:2519
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "la relación «%s» ya existe"
 
-#: catalog/heap.c:1043 catalog/pg_type.c:402 catalog/pg_type.c:706
-#: commands/typecmds.c:235 commands/typecmds.c:733 commands/typecmds.c:1084
-#: commands/typecmds.c:1276 commands/typecmds.c:2026
+#: catalog/heap.c:1063 catalog/pg_type.c:402 catalog/pg_type.c:705
+#: commands/typecmds.c:237 commands/typecmds.c:737 commands/typecmds.c:1088
+#: commands/typecmds.c:1306 commands/typecmds.c:2058
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "ya existe un tipo «%s»"
 
-#: catalog/heap.c:1044
+#: catalog/heap.c:1064
 #, c-format
 msgid "A relation has an associated type of the same name, so you must use a name that doesn't conflict with any existing type."
 msgstr "Una relación tiene un tipo asociado del mismo nombre, de modo que debe usar un nombre que no entre en conflicto con un tipo existente."
 
-#: catalog/heap.c:2171
+#: catalog/heap.c:2249
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "la restricción «check» «%s» ya existe"
 
-#: catalog/heap.c:2324 catalog/pg_constraint.c:648 commands/tablecmds.c:5542
+#: catalog/heap.c:2402 catalog/pg_constraint.c:650 commands/tablecmds.c:5617
 #, 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:2334
+#: catalog/heap.c:2412
 #, 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:2348
+#: catalog/heap.c:2426
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "mezclando la restricción «%s» con la definición heredada"
 
-#: catalog/heap.c:2440
+#: catalog/heap.c:2519
 #, 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:2448
+#: catalog/heap.c:2530
 #, c-format
 msgid "default expression must not return a set"
 msgstr "expresiones default no pueden retornar conjuntos"
 
-#: catalog/heap.c:2456
-#, c-format
-msgid "cannot use subquery in default expression"
-msgstr "no se puede usar una subconsulta en expresión default"
-
-#: catalog/heap.c:2460
-#, c-format
-msgid "cannot use aggregate function in default expression"
-msgstr "no se puede usar una función de agregación en expresión default"
-
-#: catalog/heap.c:2464
-#, c-format
-msgid "cannot use window function in default expression"
-msgstr "no se puede usar una función de ventana deslizante en expresión default"
-
-#: catalog/heap.c:2483 rewrite/rewriteHandler.c:1030
+#: catalog/heap.c:2549 rewrite/rewriteHandler.c:1033
 #, 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:2488 commands/prepare.c:388 parser/parse_node.c:397
-#: parser/parse_target.c:490 parser/parse_target.c:736
-#: parser/parse_target.c:746 rewrite/rewriteHandler.c:1035
+#: catalog/heap.c:2554 commands/prepare.c:374 parser/parse_node.c:398
+#: parser/parse_target.c:509 parser/parse_target.c:758
+#: parser/parse_target.c:768 rewrite/rewriteHandler.c:1038
 #, 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:2534
+#: catalog/heap.c:2601
 #, 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:2543 commands/typecmds.c:2909
-#, c-format
-msgid "cannot use subquery in check constraint"
-msgstr "no se pueden usar subconsultas en una restricción «check»"
-
-#: catalog/heap.c:2547 commands/typecmds.c:2913
-#, c-format
-msgid "cannot use aggregate function in check constraint"
-msgstr "no se pueden usar funciones de agregación en una restricción «check»"
-
-#: catalog/heap.c:2551 commands/typecmds.c:2917
-#, c-format
-msgid "cannot use window function in check constraint"
-msgstr "no se pueden usar funciones de ventana deslizante en una restricción «check»"
-
-#: catalog/heap.c:2790
+#: catalog/heap.c:2841
 #, 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:2791
+#: catalog/heap.c:2842
 #, 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:2796
+#: catalog/heap.c:2847
 #, 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:2797
+#: catalog/heap.c:2848
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "La tabla «%s» hace referencia a «%s»."
 
-#: catalog/heap.c:2799
+#: catalog/heap.c:2850
 #, c-format
 msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE."
 msgstr "Trunque la tabla «%s» al mismo tiempo, o utilice TRUNCATE ... CASCADE."
 
-#: catalog/index.c:201 parser/parse_utilcmd.c:1357 parser/parse_utilcmd.c:1443
+#: catalog/index.c:203 parser/parse_utilcmd.c:1398 parser/parse_utilcmd.c:1484
 #, c-format
 msgid "multiple primary keys for table \"%s\" are not allowed"
 msgstr "no se permiten múltiples llaves primarias para la tabla «%s»"
 
-#: catalog/index.c:219
+#: catalog/index.c:221
 #, c-format
 msgid "primary keys cannot be expressions"
 msgstr "las llaves primarias no pueden ser expresiones"
 
-#: catalog/index.c:732 catalog/index.c:1131
+#: catalog/index.c:737 catalog/index.c:1142
 #, c-format
 msgid "user-defined indexes on system catalog tables are not supported"
 msgstr "los usuarios no pueden crear índices en tablas del sistema"
 
-#: catalog/index.c:742
+#: catalog/index.c:747
 #, c-format
 msgid "concurrent index creation on system catalog tables is not supported"
 msgstr "no se pueden crear índices de forma concurrente en tablas del sistema"
 
-#: catalog/index.c:760
+#: catalog/index.c:765
 #, c-format
 msgid "shared indexes cannot be created after initdb"
 msgstr "no se pueden crear índices compartidos después de initdb"
 
-#: catalog/index.c:1395
+#: catalog/index.c:1410
 #, 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:1963
+#: catalog/index.c:1978
 #, c-format
 msgid "building index \"%s\" on table \"%s\""
 msgstr "construyendo índice «%s» en la tabla «%s»"
 
-#: catalog/index.c:3138
+#: catalog/index.c:3154
 #, 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:244 catalog/namespace.c:434 catalog/namespace.c:528
-#: commands/trigger.c:4196
+#: catalog/namespace.c:247 catalog/namespace.c:445 catalog/namespace.c:539
+#: commands/trigger.c:4233
 #, c-format
 msgid "cross-database references are not implemented: \"%s.%s.%s\""
 msgstr "no están implementadas las referencias entre bases de datos: «%s.%s.%s»"
 
-#: catalog/namespace.c:296
+#: catalog/namespace.c:304
 #, c-format
 msgid "temporary tables cannot specify a schema name"
 msgstr "las tablas temporales no pueden especificar un nombre de esquema"
 
-#: catalog/namespace.c:372
+#: catalog/namespace.c:383
 #, c-format
 msgid "could not obtain lock on relation \"%s.%s\""
 msgstr "no se pudo bloquear un candado en la relación «%s.%s»"
 
-#: catalog/namespace.c:377 commands/lockcmds.c:144
+#: catalog/namespace.c:388 commands/lockcmds.c:146
 #, c-format
 msgid "could not obtain lock on relation \"%s\""
 msgstr "no se pudo bloquear un candado en la relación «%s»"
 
-#: catalog/namespace.c:401 parser/parse_relation.c:849
+#: catalog/namespace.c:412 parser/parse_relation.c:939
 #, c-format
 msgid "relation \"%s.%s\" does not exist"
 msgstr "no existe la relación «%s.%s»"
 
-#: catalog/namespace.c:406 parser/parse_relation.c:862
-#: parser/parse_relation.c:870 utils/adt/regproc.c:810
+#: catalog/namespace.c:417 parser/parse_relation.c:952
+#: parser/parse_relation.c:960 utils/adt/regproc.c:853
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "no existe la relación «%s»"
 
-#: catalog/namespace.c:474 catalog/namespace.c:2805
+#: catalog/namespace.c:485 catalog/namespace.c:2834 commands/extension.c:1400
+#: commands/extension.c:1406
 #, c-format
 msgid "no schema has been selected to create in"
 msgstr "no se ha seleccionado ningún esquema dentro del cual crear"
 
-#: catalog/namespace.c:626 catalog/namespace.c:639
+#: catalog/namespace.c:637 catalog/namespace.c:650
 #, c-format
 msgid "cannot create relations in temporary schemas of other sessions"
 msgstr "no se pueden crear relaciones en esquemas temporales de otras sesiones"
 
-#: catalog/namespace.c:630
+#: catalog/namespace.c:641
 #, c-format
 msgid "cannot create temporary relation in non-temporary schema"
 msgstr "no se pueden crear tablas temporales en esquemas no temporales"
 
-#: catalog/namespace.c:645
+#: catalog/namespace.c:656
 #, c-format
 msgid "only temporary relations may be created in temporary schemas"
 msgstr "sólo relaciones temporales pueden ser creadas en los esquemas temporales"
 
-#: catalog/namespace.c:2122
+#: catalog/namespace.c:2136
 #, c-format
 msgid "text search parser \"%s\" does not exist"
 msgstr "no existe el analizador de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2245
+#: catalog/namespace.c:2262
 #, c-format
 msgid "text search dictionary \"%s\" does not exist"
 msgstr "no existe el diccionario de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2369
+#: catalog/namespace.c:2389
 #, c-format
 msgid "text search template \"%s\" does not exist"
 msgstr "no existe la plantilla de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2492 commands/tsearchcmds.c:1654
-#: utils/cache/ts_cache.c:617
+#: catalog/namespace.c:2515 commands/tsearchcmds.c:1168
+#: utils/cache/ts_cache.c:619
 #, c-format
 msgid "text search configuration \"%s\" does not exist"
 msgstr "no existe la configuración de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2605 parser/parse_expr.c:777 parser/parse_target.c:1086
+#: catalog/namespace.c:2628 parser/parse_expr.c:787 parser/parse_target.c:1108
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "no están implementadas las referencias entre bases de datos: %s"
 
-#: catalog/namespace.c:2611 parser/parse_expr.c:784 parser/parse_target.c:1093
-#: gram.y:12027 gram.y:13218
+#: catalog/namespace.c:2634 gram.y:12433 gram.y:13637 parser/parse_expr.c:794
+#: parser/parse_target.c:1115
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "el nombre no es válido (demasiados puntos): %s"
 
-#: catalog/namespace.c:2739
+#: catalog/namespace.c:2768
 #, c-format
 msgid "%s is already in schema \"%s\""
 msgstr "%s ya está en el esquema «%s»"
 
-#: catalog/namespace.c:2747
+#: catalog/namespace.c:2776
 #, c-format
 msgid "cannot move objects into or out of temporary schemas"
 msgstr "no se puede mover objetos hacia o desde esquemas temporales"
 
-#: catalog/namespace.c:2753
+#: catalog/namespace.c:2782
 #, c-format
 msgid "cannot move objects into or out of TOAST schema"
 msgstr "no se puede mover objetos hacia o desde el esquema TOAST"
 
-#: catalog/namespace.c:2826 commands/schemacmds.c:189
-#: commands/schemacmds.c:258
+#: catalog/namespace.c:2855 commands/schemacmds.c:212
+#: commands/schemacmds.c:288
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "no existe el esquema «%s»"
 
-#: catalog/namespace.c:2857
+#: catalog/namespace.c:2886
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "el nombre de relación no es válido (demasiados puntos): %s"
 
-#: catalog/namespace.c:3274
+#: catalog/namespace.c:3327
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" does not exist"
 msgstr "no existe el ordenamiento (collation) «%s» para la codificación «%s»"
 
-#: catalog/namespace.c:3326
+#: catalog/namespace.c:3382
 #, c-format
 msgid "conversion \"%s\" does not exist"
 msgstr "no existe la conversión «%s»"
 
-#: catalog/namespace.c:3531
+#: catalog/namespace.c:3590
 #, c-format
 msgid "permission denied to create temporary tables in database \"%s\""
 msgstr "se ha denegado el permiso para crear tablas temporales en la base de datos «%s»"
 
-#: catalog/namespace.c:3547
+#: catalog/namespace.c:3606
 #, c-format
 msgid "cannot create temporary tables during recovery"
 msgstr "no se pueden crear tablas temporales durante la recuperación"
 
-#: catalog/namespace.c:3791 commands/tablespace.c:1168 commands/variable.c:60
-#: replication/syncrep.c:683 utils/misc/guc.c:8303
+#: catalog/namespace.c:3850 commands/tablespace.c:1079 commands/variable.c:61
+#: replication/syncrep.c:676 utils/misc/guc.c:8335
 #, c-format
 msgid "List syntax is invalid."
 msgstr "La sintaxis de lista no es válida."
 
-#: catalog/objectaddress.c:526
+#: catalog/objectaddress.c:719
 msgid "database name cannot be qualified"
 msgstr "un nombre de base de datos no puede ser calificado"
 
-#: catalog/objectaddress.c:529 commands/extension.c:2419
+#: catalog/objectaddress.c:722 commands/extension.c:2427
 #, c-format
 msgid "extension name cannot be qualified"
 msgstr "un nombre de extensión no puede ser calificado"
 
-#: catalog/objectaddress.c:532
+#: catalog/objectaddress.c:725
 msgid "tablespace name cannot be qualified"
 msgstr "un nombre de tablespace no puede ser calificado"
 
-#: catalog/objectaddress.c:535
+#: catalog/objectaddress.c:728
 msgid "role name cannot be qualified"
 msgstr "un nombre de rol no puede ser calificado"
 
-#: catalog/objectaddress.c:538
+#: catalog/objectaddress.c:731
 msgid "schema name cannot be qualified"
 msgstr "un nombre de esquema no puede ser calificado"
 
-#: catalog/objectaddress.c:541
+#: catalog/objectaddress.c:734
 msgid "language name cannot be qualified"
 msgstr "un nombre de lenguaje no puede ser calificado"
 
-#: catalog/objectaddress.c:544
+#: catalog/objectaddress.c:737
 msgid "foreign-data wrapper name cannot be qualified"
 msgstr "un nombre de conector de datos externos no puede ser calificado"
 
-#: catalog/objectaddress.c:547
+#: catalog/objectaddress.c:740
 msgid "server name cannot be qualified"
 msgstr "un nombre de servidor no puede ser calificado"
 
-#: catalog/objectaddress.c:655 catalog/toasting.c:92 commands/indexcmds.c:374
-#: commands/lockcmds.c:92 commands/tablecmds.c:204 commands/tablecmds.c:1222
-#: commands/tablecmds.c:3966 commands/tablecmds.c:7279
-#: commands/tablecmds.c:10281
+#: catalog/objectaddress.c:743
+msgid "event trigger name cannot be qualified"
+msgstr "un nombre de disparador por eventos no puede ser calificado"
+
+#: catalog/objectaddress.c:856 commands/lockcmds.c:94 commands/tablecmds.c:207
+#: commands/tablecmds.c:1237 commands/tablecmds.c:4015
+#: commands/tablecmds.c:7338
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "«%s» no es una tabla"
 
-#: catalog/objectaddress.c:662 commands/tablecmds.c:216
-#: commands/tablecmds.c:3981 commands/tablecmds.c:10361 commands/view.c:185
+#: catalog/objectaddress.c:863 commands/tablecmds.c:219
+#: commands/tablecmds.c:4039 commands/tablecmds.c:10494 commands/view.c:134
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "«%s» no es una vista"
 
-#: catalog/objectaddress.c:669 commands/tablecmds.c:234
-#: commands/tablecmds.c:3984 commands/tablecmds.c:10366
+#: catalog/objectaddress.c:870 commands/matview.c:144 commands/tablecmds.c:225
+#: commands/tablecmds.c:10499
+#, c-format
+msgid "\"%s\" is not a materialized view"
+msgstr "«%s» no es una vista materializada"
+
+#: catalog/objectaddress.c:877 commands/tablecmds.c:243
+#: commands/tablecmds.c:4042 commands/tablecmds.c:10504
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "«%s» no es una tabla foránea"
 
-#: catalog/objectaddress.c:800
+#: catalog/objectaddress.c:1008
 #, c-format
 msgid "column name must be qualified"
 msgstr "el nombre de columna debe ser calificado"
 
-#: catalog/objectaddress.c:853 commands/functioncmds.c:130
-#: commands/tablecmds.c:226 commands/typecmds.c:3192 parser/parse_func.c:1583
-#: parser/parse_type.c:202 utils/adt/acl.c:4372 utils/adt/regproc.c:974
+#: catalog/objectaddress.c:1061 commands/functioncmds.c:127
+#: commands/tablecmds.c:235 commands/typecmds.c:3245 parser/parse_func.c:1586
+#: parser/parse_type.c:203 utils/adt/acl.c:4374 utils/adt/regproc.c:1017
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "no existe el tipo «%s»"
 
-#: catalog/objectaddress.c:1003 catalog/pg_largeobject.c:196
-#: libpq/be-fsstubs.c:286
+#: catalog/objectaddress.c:1217 libpq/be-fsstubs.c:352
 #, c-format
 msgid "must be owner of large object %u"
 msgstr "debe ser dueño del objeto grande %u"
 
-#: catalog/objectaddress.c:1018 commands/functioncmds.c:1505
+#: catalog/objectaddress.c:1232 commands/functioncmds.c:1298
 #, c-format
 msgid "must be owner of type %s or type %s"
 msgstr "debe ser dueño del tipo %s o el tipo %s"
 
-#: catalog/objectaddress.c:1049 catalog/objectaddress.c:1065
+#: catalog/objectaddress.c:1263 catalog/objectaddress.c:1279
 #, c-format
 msgid "must be superuser"
 msgstr "debe ser superusuario"
 
-#: catalog/objectaddress.c:1056
+#: catalog/objectaddress.c:1270
 #, c-format
 msgid "must have CREATEROLE privilege"
 msgstr "debe tener privilegio CREATEROLE"
 
-#: catalog/pg_aggregate.c:101
+#: catalog/objectaddress.c:1516
 #, c-format
-msgid "cannot determine transition data type"
-msgstr "no se pudo determinar el tipo de dato de transición"
+msgid " column %s"
+msgstr " columna %s"
 
-#: catalog/pg_aggregate.c:102
+#: catalog/objectaddress.c:1522
 #, c-format
-msgid "An aggregate using a polymorphic transition type must have at least one polymorphic argument."
-msgstr "Una función de agregación que use un tipo de dato de transición polimórfico debe tener al menos un argumento de tipo polimórfico."
+msgid "function %s"
+msgstr "función %s"
 
-#: catalog/pg_aggregate.c:125
+#: catalog/objectaddress.c:1527
 #, c-format
-msgid "return type of transition function %s is not %s"
-msgstr "el tipo de retorno de la función de transición %s no es %s"
+msgid "type %s"
+msgstr "tipo %s"
 
-#: catalog/pg_aggregate.c:145
+#: catalog/objectaddress.c:1557
 #, c-format
-msgid "must not omit initial value when transition function is strict and transition type is not compatible with input type"
-msgstr "no se puede omitir el valor inicial cuando la función de transición es strict y el tipo de transición no es compatible con el tipo de entrada"
+msgid "cast from %s to %s"
+msgstr "conversión de %s a %s"
 
-#: catalog/pg_aggregate.c:176 catalog/pg_proc.c:240 catalog/pg_proc.c:247
+#: catalog/objectaddress.c:1577
 #, c-format
-msgid "cannot determine result data type"
-msgstr "no se puede determinar el tipo de dato del resultado"
+msgid "collation %s"
+msgstr "ordenamiento (collation) %s"
 
-#: catalog/pg_aggregate.c:177
+#: catalog/objectaddress.c:1601
 #, c-format
-msgid "An aggregate returning a polymorphic type must have at least one polymorphic argument."
-msgstr "Una función de agregación que retorne un tipo de datos polimórfico debe tener al menos un argumento de tipo polimórfico."
+msgid "constraint %s on %s"
+msgstr "restricción «%s» en %s"
 
-#: catalog/pg_aggregate.c:189 catalog/pg_proc.c:253
+#: catalog/objectaddress.c:1607
 #, c-format
-msgid "unsafe use of pseudo-type \"internal\""
-msgstr "uso inseguro de pseudotipo «internal»"
+msgid "constraint %s"
+msgstr "restricción %s"
 
-#: catalog/pg_aggregate.c:190 catalog/pg_proc.c:254
+#: catalog/objectaddress.c:1624
 #, c-format
-msgid "A function returning \"internal\" must have at least one \"internal\" argument."
-msgstr "Una función que retorne «internal» debe tener al menos un argumento de tipo «internal»."
+msgid "conversion %s"
+msgstr "conversión %s"
 
-#: catalog/pg_aggregate.c:198
+#: catalog/objectaddress.c:1661
 #, c-format
-msgid "sort operator can only be specified for single-argument aggregates"
-msgstr "el operador de ordenamiento sólo pueden ser especificado para funciones de agregación de un solo argumento"
+msgid "default for %s"
+msgstr "valor por omisión para %s"
 
-#: catalog/pg_aggregate.c:353 commands/typecmds.c:1623
-#: commands/typecmds.c:1674 commands/typecmds.c:1705 commands/typecmds.c:1728
-#: commands/typecmds.c:1749 commands/typecmds.c:1776 commands/typecmds.c:1803
-#: commands/typecmds.c:1880 commands/typecmds.c:1922 parser/parse_func.c:288
-#: parser/parse_func.c:299 parser/parse_func.c:1562
+#: catalog/objectaddress.c:1678
 #, c-format
-msgid "function %s does not exist"
-msgstr "no existe la función %s"
+msgid "language %s"
+msgstr "lenguaje %s"
 
-#: catalog/pg_aggregate.c:359
+#: catalog/objectaddress.c:1684
 #, c-format
-msgid "function %s returns a set"
-msgstr "la función %s retorna un conjunto"
+msgid "large object %u"
+msgstr "objeto grande %u"
 
-#: catalog/pg_aggregate.c:384
+#: catalog/objectaddress.c:1689
 #, c-format
-msgid "function %s requires run-time type coercion"
-msgstr "la función %s requiere conversión de tipos en tiempo de ejecución"
+msgid "operator %s"
+msgstr "operador %s"
 
-#: catalog/pg_collation.c:76
+#: catalog/objectaddress.c:1721
 #, c-format
-msgid "collation \"%s\" for encoding \"%s\" already exists"
-msgstr "la codificación «%2$s» ya tiene un ordenamiento llamado «%1$s»"
+msgid "operator class %s for access method %s"
+msgstr "clase de operadores «%s» para el método de acceso «%s»"
 
-#: catalog/pg_collation.c:90
-#, c-format
+#. translator: %d is the operator strategy (a number), the
+#. first two %s's are data type names, the third %s is the
+#. description of the operator family, and the last %s is the
+#. textual form of the operator with arguments.
+#: catalog/objectaddress.c:1771
+#, c-format
+msgid "operator %d (%s, %s) of %s: %s"
+msgstr "operador %d (%s, %s) de %s: %s"
+
+#. translator: %d is the function number, the 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
+#. function with arguments.
+#: catalog/objectaddress.c:1821
+#, c-format
+msgid "function %d (%s, %s) of %s: %s"
+msgstr "función %d (%s, %s) de %s: %s"
+
+#: catalog/objectaddress.c:1861
+#, c-format
+msgid "rule %s on "
+msgstr "regla «%s» en "
+
+#: catalog/objectaddress.c:1896
+#, c-format
+msgid "trigger %s on "
+msgstr "disparador %s en "
+
+#: catalog/objectaddress.c:1913
+#, c-format
+msgid "schema %s"
+msgstr "esquema %s"
+
+#: catalog/objectaddress.c:1926
+#, c-format
+msgid "text search parser %s"
+msgstr "analizador de búsqueda en texto %s"
+
+#: catalog/objectaddress.c:1941
+#, c-format
+msgid "text search dictionary %s"
+msgstr "diccionario de búsqueda en texto %s"
+
+#: catalog/objectaddress.c:1956
+#, c-format
+msgid "text search template %s"
+msgstr "plantilla de búsqueda en texto %s"
+
+#: catalog/objectaddress.c:1971
+#, c-format
+msgid "text search configuration %s"
+msgstr "configuración de búsqueda en texto %s"
+
+#: catalog/objectaddress.c:1979
+#, c-format
+msgid "role %s"
+msgstr "rol %s"
+
+#: catalog/objectaddress.c:1992
+#, c-format
+msgid "database %s"
+msgstr "base de datos %s"
+
+#: catalog/objectaddress.c:2004
+#, c-format
+msgid "tablespace %s"
+msgstr "tablespace %s"
+
+#: catalog/objectaddress.c:2013
+#, c-format
+msgid "foreign-data wrapper %s"
+msgstr "conector de datos externos %s"
+
+#: catalog/objectaddress.c:2022
+#, c-format
+msgid "server %s"
+msgstr "servidor %s"
+
+#: catalog/objectaddress.c:2047
+#, c-format
+msgid "user mapping for %s"
+msgstr "mapeo para el usuario %s"
+
+#: catalog/objectaddress.c:2081
+#, c-format
+msgid "default privileges on new relations belonging to role %s"
+msgstr "privilegios por omisión en nuevas relaciones pertenecientes al rol %s"
+
+#: catalog/objectaddress.c:2086
+#, c-format
+msgid "default privileges on new sequences belonging to role %s"
+msgstr "privilegios por omisión en nuevas secuencias pertenecientes al rol %s"
+
+#: catalog/objectaddress.c:2091
+#, c-format
+msgid "default privileges on new functions belonging to role %s"
+msgstr "privilegios por omisión en nuevas funciones pertenecientes al rol %s"
+
+#: catalog/objectaddress.c:2096
+#, c-format
+msgid "default privileges on new types belonging to role %s"
+msgstr "privilegios por omisión en nuevos tipos pertenecientes al rol %s"
+
+#: catalog/objectaddress.c:2102
+#, c-format
+msgid "default privileges belonging to role %s"
+msgstr "privilegios por omisión pertenecientes al rol %s"
+
+#: catalog/objectaddress.c:2110
+#, c-format
+msgid " in schema %s"
+msgstr " en esquema %s"
+
+#: catalog/objectaddress.c:2127
+#, c-format
+msgid "extension %s"
+msgstr "extensión %s"
+
+#: catalog/objectaddress.c:2140
+#, c-format
+msgid "event trigger %s"
+msgstr "disparador por eventos %s"
+
+#: catalog/objectaddress.c:2200
+#, c-format
+msgid "table %s"
+msgstr "tabla %s"
+
+#: catalog/objectaddress.c:2204
+#, c-format
+msgid "index %s"
+msgstr "índice %s"
+
+#: catalog/objectaddress.c:2208
+#, c-format
+msgid "sequence %s"
+msgstr "secuencia %s"
+
+#: catalog/objectaddress.c:2212
+#, c-format
+msgid "toast table %s"
+msgstr "tabla toast %s"
+
+#: catalog/objectaddress.c:2216
+#, c-format
+msgid "view %s"
+msgstr "vista %s"
+
+#: catalog/objectaddress.c:2220
+#, c-format
+msgid "materialized view %s"
+msgstr "vista materializada %s"
+
+#: catalog/objectaddress.c:2224
+#, c-format
+msgid "composite type %s"
+msgstr "tipo compuesto %s"
+
+#: catalog/objectaddress.c:2228
+#, c-format
+msgid "foreign table %s"
+msgstr "tabla foránea %s"
+
+#: catalog/objectaddress.c:2233
+#, c-format
+msgid "relation %s"
+msgstr "relación %s"
+
+#: catalog/objectaddress.c:2270
+#, c-format
+msgid "operator family %s for access method %s"
+msgstr "familia de operadores %s para el método de acceso %s"
+
+#: catalog/pg_aggregate.c:102
+#, c-format
+msgid "cannot determine transition data type"
+msgstr "no se pudo determinar el tipo de dato de transición"
+
+#: catalog/pg_aggregate.c:103
+#, c-format
+msgid "An aggregate using a polymorphic transition type must have at least one polymorphic argument."
+msgstr "Una función de agregación que use un tipo de dato de transición polimórfico debe tener al menos un argumento de tipo polimórfico."
+
+#: catalog/pg_aggregate.c:126
+#, c-format
+msgid "return type of transition function %s is not %s"
+msgstr "el tipo de retorno de la función de transición %s no es %s"
+
+#: catalog/pg_aggregate.c:146
+#, c-format
+msgid "must not omit initial value when transition function is strict and transition type is not compatible with input type"
+msgstr "no se puede omitir el valor inicial cuando la función de transición es strict y el tipo de transición no es compatible con el tipo de entrada"
+
+#: catalog/pg_aggregate.c:177 catalog/pg_proc.c:241 catalog/pg_proc.c:248
+#, c-format
+msgid "cannot determine result data type"
+msgstr "no se puede determinar el tipo de dato del resultado"
+
+#: catalog/pg_aggregate.c:178
+#, c-format
+msgid "An aggregate returning a polymorphic type must have at least one polymorphic argument."
+msgstr "Una función de agregación que retorne un tipo de datos polimórfico debe tener al menos un argumento de tipo polimórfico."
+
+#: catalog/pg_aggregate.c:190 catalog/pg_proc.c:254
+#, c-format
+msgid "unsafe use of pseudo-type \"internal\""
+msgstr "uso inseguro de pseudotipo «internal»"
+
+#: catalog/pg_aggregate.c:191 catalog/pg_proc.c:255
+#, c-format
+msgid "A function returning \"internal\" must have at least one \"internal\" argument."
+msgstr "Una función que retorne «internal» debe tener al menos un argumento de tipo «internal»."
+
+#: catalog/pg_aggregate.c:199
+#, c-format
+msgid "sort operator can only be specified for single-argument aggregates"
+msgstr "el operador de ordenamiento sólo pueden ser especificado para funciones de agregación de un solo argumento"
+
+#: catalog/pg_aggregate.c:356 commands/typecmds.c:1655
+#: commands/typecmds.c:1706 commands/typecmds.c:1737 commands/typecmds.c:1760
+#: commands/typecmds.c:1781 commands/typecmds.c:1808 commands/typecmds.c:1835
+#: commands/typecmds.c:1912 commands/typecmds.c:1954 parser/parse_func.c:290
+#: parser/parse_func.c:301 parser/parse_func.c:1565
+#, c-format
+msgid "function %s does not exist"
+msgstr "no existe la función %s"
+
+#: catalog/pg_aggregate.c:362
+#, c-format
+msgid "function %s returns a set"
+msgstr "la función %s retorna un conjunto"
+
+#: catalog/pg_aggregate.c:387
+#, c-format
+msgid "function %s requires run-time type coercion"
+msgstr "la función %s requiere conversión de tipos en tiempo de ejecución"
+
+#: catalog/pg_collation.c:77
+#, c-format
+msgid "collation \"%s\" for encoding \"%s\" already exists"
+msgstr "la codificación «%2$s» ya tiene un ordenamiento llamado «%1$s»"
+
+#: catalog/pg_collation.c:91
+#, c-format
 msgid "collation \"%s\" already exists"
 msgstr "el ordenamiento «%s» ya existe"
 
-#: catalog/pg_constraint.c:657
+#: catalog/pg_constraint.c:659
 #, c-format
 msgid "constraint \"%s\" for domain %s already exists"
 msgstr "el dominio %2$s ya contiene una restricción llamada «%1$s»"
 
-#: catalog/pg_constraint.c:786
+#: catalog/pg_constraint.c:792
 #, c-format
 msgid "table \"%s\" has multiple constraints named \"%s\""
 msgstr "hay múltiples restricciones llamadas «%2$s» en la tabla «%1$s»"
 
-#: catalog/pg_constraint.c:798
+#: catalog/pg_constraint.c:804
 #, c-format
 msgid "constraint \"%s\" for table \"%s\" does not exist"
 msgstr "no existe la restricción «%s» para la tabla «%s»"
 
-#: catalog/pg_constraint.c:844
+#: catalog/pg_constraint.c:850
 #, c-format
 msgid "domain \"%s\" has multiple constraints named \"%s\""
 msgstr "hay múltiples restricciones llamadas «%2$s» en el dominio «%1$s»"
 
-#: catalog/pg_constraint.c:856
+#: catalog/pg_constraint.c:862
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" does not exist"
 msgstr "no existe la restricción «%s» para el dominio «%s»"
 
-#: catalog/pg_conversion.c:65
+#: catalog/pg_conversion.c:67
 #, c-format
 msgid "conversion \"%s\" already exists"
 msgstr "ya existe la conversión «%s»"
 
-#: catalog/pg_conversion.c:78
+#: catalog/pg_conversion.c:80
 #, c-format
 msgid "default conversion for %s to %s already exists"
 msgstr "ya existe una conversión por omisión desde %s a %s"
 
-#: catalog/pg_depend.c:164 commands/extension.c:2914
+#: catalog/pg_depend.c:165 commands/extension.c:2930
 #, c-format
 msgid "%s is already a member of extension \"%s\""
 msgstr "«%s» ya es un miembro de la extensión «%s»"
 
-#: catalog/pg_depend.c:323
+#: catalog/pg_depend.c:324
 #, c-format
 msgid "cannot remove dependency on %s because it is a system object"
 msgstr "no se puede eliminar dependencia a %s porque es un objeto requerido por el sistema"
 
-#: catalog/pg_enum.c:112 catalog/pg_enum.c:198
+#: catalog/pg_enum.c:114 catalog/pg_enum.c:201
 #, c-format
 msgid "invalid enum label \"%s\""
 msgstr "la etiqueta enum «%s» no es válida"
 
-#: catalog/pg_enum.c:113 catalog/pg_enum.c:199
+#: catalog/pg_enum.c:115 catalog/pg_enum.c:202
 #, c-format
 msgid "Labels must be %d characters or less."
 msgstr "Las etiquetas deben ser de %d caracteres o menos."
 
-#: catalog/pg_enum.c:263
+#: catalog/pg_enum.c:230
+#, c-format
+msgid "enum label \"%s\" already exists, skipping"
+msgstr "la etiqueta de enum «%s» ya existe, ignorando"
+
+#: catalog/pg_enum.c:237
+#, c-format
+msgid "enum label \"%s\" already exists"
+msgstr "la etiqueta de enum «%s» ya existe"
+
+#: catalog/pg_enum.c:292
 #, c-format
 msgid "\"%s\" is not an existing enum label"
 msgstr "«%s» no es una etiqueta de enum existente"
 
-#: catalog/pg_enum.c:324
+#: catalog/pg_enum.c:353
 #, c-format
 msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade"
 msgstr "ALTER TYPE ADD BEFORE/AFTER es incompatible con la actualización binaria"
 
-#: catalog/pg_namespace.c:60 commands/schemacmds.c:195
+#: catalog/pg_namespace.c:61 commands/schemacmds.c:220
 #, c-format
 msgid "schema \"%s\" already exists"
 msgstr "ya existe el esquema «%s»"
 
-#: catalog/pg_operator.c:221 catalog/pg_operator.c:362
+#: catalog/pg_operator.c:222 catalog/pg_operator.c:362
 #, c-format
 msgid "\"%s\" is not a valid operator name"
 msgstr "«%s» no es un nombre válido de operador"
@@ -3545,110 +3603,110 @@ msgstr "sólo los operadores booleanos pueden ser usados en hash"
 msgid "operator %s already exists"
 msgstr "ya existe un operador %s"
 
-#: catalog/pg_operator.c:614
+#: catalog/pg_operator.c:615
 #, c-format
 msgid "operator cannot be its own negator or sort operator"
 msgstr "un operador no puede ser su propio negador u operador de ordenamiento"
 
-#: catalog/pg_proc.c:128 parser/parse_func.c:1607 parser/parse_func.c:1647
+#: catalog/pg_proc.c:129 parser/parse_func.c:1610 parser/parse_func.c:1650
 #, c-format
 msgid "functions cannot have more than %d argument"
 msgid_plural "functions cannot have more than %d arguments"
 msgstr[0] "las funciones no pueden tener más de %d argumento"
 msgstr[1] "las funciones no pueden tener más de %d argumentos"
 
-#: catalog/pg_proc.c:241
+#: catalog/pg_proc.c:242
 #, c-format
 msgid "A function returning a polymorphic type must have at least one polymorphic argument."
 msgstr "Una función que retorne un tipo polimórfico debe tener al menos un argumento de tipo polimórfico."
 
-#: catalog/pg_proc.c:248
+#: catalog/pg_proc.c:249
 #, c-format
-msgid "A function returning ANYRANGE must have at least one ANYRANGE argument."
-msgstr "Una función que retorne ANYRANGE debe tener al menos un argumento de tipo ANYRANGE."
+msgid "A function returning \"anyrange\" must have at least one \"anyrange\" argument."
+msgstr "Una función que retorne «anyrange» debe tener al menos un argumento de tipo «anyrange»."
 
-#: catalog/pg_proc.c:266
+#: catalog/pg_proc.c:267
 #, c-format
 msgid "\"%s\" is already an attribute of type %s"
 msgstr "«%s» ya es un atributo de tipo %s"
 
-#: catalog/pg_proc.c:392
+#: catalog/pg_proc.c:393
 #, c-format
 msgid "function \"%s\" already exists with same argument types"
 msgstr "ya existe una función «%s» con los mismos argumentos"
 
-#: catalog/pg_proc.c:406 catalog/pg_proc.c:428
+#: catalog/pg_proc.c:407 catalog/pg_proc.c:430
 #, c-format
 msgid "cannot change return type of existing function"
 msgstr "no se puede cambiar el tipo de retorno de una función existente"
 
-#: catalog/pg_proc.c:407 catalog/pg_proc.c:430 catalog/pg_proc.c:472
-#: catalog/pg_proc.c:495 catalog/pg_proc.c:521
+#: catalog/pg_proc.c:408 catalog/pg_proc.c:432 catalog/pg_proc.c:475
+#: catalog/pg_proc.c:499 catalog/pg_proc.c:526
 #, c-format
-msgid "Use DROP FUNCTION first."
-msgstr "Use DROP FUNCTION primero."
+msgid "Use DROP FUNCTION %s first."
+msgstr "Use DROP FUNCTION %s primero."
 
-#: catalog/pg_proc.c:429
+#: catalog/pg_proc.c:431
 #, c-format
 msgid "Row type defined by OUT parameters is different."
 msgstr "Tipo de registro definido por parámetros OUT es diferente."
 
-#: catalog/pg_proc.c:470
+#: catalog/pg_proc.c:473
 #, c-format
 msgid "cannot change name of input parameter \"%s\""
 msgstr "no se puede cambiar el nombre del parámetro de entrada «%s»"
 
-#: catalog/pg_proc.c:494
+#: catalog/pg_proc.c:498
 #, c-format
 msgid "cannot remove parameter defaults from existing function"
 msgstr "no se puede eliminar el valor por omisión de funciones existentes"
 
-#: catalog/pg_proc.c:520
+#: catalog/pg_proc.c:525
 #, c-format
 msgid "cannot change data type of existing parameter default value"
 msgstr "no se puede cambiar el tipo de dato del valor por omisión de un parámetro"
 
-#: catalog/pg_proc.c:532
+#: catalog/pg_proc.c:538
 #, c-format
 msgid "function \"%s\" is an aggregate function"
 msgstr "la función «%s» es una función de agregación"
 
-#: catalog/pg_proc.c:537
+#: catalog/pg_proc.c:543
 #, c-format
 msgid "function \"%s\" is not an aggregate function"
 msgstr "la función «%s» no es una función de agregación"
 
-#: catalog/pg_proc.c:545
+#: catalog/pg_proc.c:551
 #, c-format
 msgid "function \"%s\" is a window function"
 msgstr "la función %s es de tipo window"
 
-#: catalog/pg_proc.c:550
+#: catalog/pg_proc.c:556
 #, c-format
 msgid "function \"%s\" is not a window function"
 msgstr "la función «%s» no es de tipo window"
 
-#: catalog/pg_proc.c:728
+#: catalog/pg_proc.c:733
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "no hay ninguna función interna llamada «%s»"
 
-#: catalog/pg_proc.c:820
+#: catalog/pg_proc.c:825
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "las funciones SQL no pueden retornar el tipo %s"
 
-#: catalog/pg_proc.c:835
+#: catalog/pg_proc.c:840
 #, 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:921 executor/functions.c:1346
+#: catalog/pg_proc.c:926 executor/functions.c:1411
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "función SQL «%s»"
 
-#: catalog/pg_shdepend.c:684
+#: catalog/pg_shdepend.c:689
 #, c-format
 msgid ""
 "\n"
@@ -3663,45 +3721,45 @@ msgstr[1] ""
 "\n"
 "y objetos en otras %d bases de datos (vea el registro del servidor para obtener la lista)"
 
-#: catalog/pg_shdepend.c:996
+#: catalog/pg_shdepend.c:1001
 #, c-format
 msgid "role %u was concurrently dropped"
 msgstr "el rol %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1015
+#: catalog/pg_shdepend.c:1020
 #, c-format
 msgid "tablespace %u was concurrently dropped"
 msgstr "el tablespace %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1030
+#: catalog/pg_shdepend.c:1035
 #, c-format
 msgid "database %u was concurrently dropped"
 msgstr "la base de datos %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1074
+#: catalog/pg_shdepend.c:1079
 #, c-format
 msgid "owner of %s"
 msgstr "dueño de %s"
 
-#: catalog/pg_shdepend.c:1076
+#: catalog/pg_shdepend.c:1081
 #, c-format
 msgid "privileges for %s"
 msgstr "privilegios para %s"
 
 #. translator: %s will always be "database %s"
-#: catalog/pg_shdepend.c:1084
+#: catalog/pg_shdepend.c:1089
 #, c-format
 msgid "%d object in %s"
 msgid_plural "%d objects in %s"
 msgstr[0] "%d objeto en %s"
 msgstr[1] "%d objetos en %s"
 
-#: catalog/pg_shdepend.c:1195
+#: catalog/pg_shdepend.c:1200
 #, c-format
 msgid "cannot drop objects owned by %s because they are required by the database system"
 msgstr "no se puede eliminar objetos de propiedad de %s porque son requeridos por el sistema"
 
-#: catalog/pg_shdepend.c:1298
+#: catalog/pg_shdepend.c:1303
 #, c-format
 msgid "cannot reassign ownership of objects owned by %s because they are required by the database system"
 msgstr "no se puede reasignar la propiedad de objetos de %s porque son requeridos por el sistema"
@@ -3732,114 +3790,160 @@ msgstr "el alineamiento «%c» no es válido para un tipo de largo variable"
 msgid "fixed-size types must have storage PLAIN"
 msgstr "los tipos de tamaño fijo deben tener almacenamiento PLAIN"
 
-#: catalog/pg_type.c:771
+#: catalog/pg_type.c:772
 #, 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:143
+#: catalog/toasting.c:91 commands/indexcmds.c:375 commands/tablecmds.c:4024
+#: commands/tablecmds.c:10414
+#, c-format
+msgid "\"%s\" is not a table or materialized view"
+msgstr "«%s» no es una tabla o vista materializada"
+
+#: catalog/toasting.c:142
 #, c-format
 msgid "shared tables cannot be toasted after initdb"
 msgstr "no se puede crear tablas TOAST a relaciones compartidas después de initdb"
 
-#: commands/aggregatecmds.c:103
+#: commands/aggregatecmds.c:106
 #, c-format
 msgid "aggregate attribute \"%s\" not recognized"
 msgstr "el atributo de la función de agregación «%s» no es reconocido"
 
-#: commands/aggregatecmds.c:113
+#: commands/aggregatecmds.c:116
 #, c-format
 msgid "aggregate stype must be specified"
 msgstr "debe especificarse el tipo de transición (stype) de la función de agregación"
 
-#: commands/aggregatecmds.c:117
+#: commands/aggregatecmds.c:120
 #, c-format
 msgid "aggregate sfunc must be specified"
 msgstr "debe especificarse la función de transición (sfunc) de la función de agregación"
 
-#: commands/aggregatecmds.c:134
+#: commands/aggregatecmds.c:137
 #, c-format
 msgid "aggregate input type must be specified"
 msgstr "debe especificarse el tipo de entrada de la función de agregación"
 
-#: commands/aggregatecmds.c:159
+#: commands/aggregatecmds.c:162
 #, c-format
 msgid "basetype is redundant with aggregate input type specification"
 msgstr "el tipo base es redundante con el tipo de entrada en la función de agregación"
 
-#: commands/aggregatecmds.c:191
+#: commands/aggregatecmds.c:195
 #, c-format
 msgid "aggregate transition data type cannot be %s"
 msgstr "el tipo de transición de la función de agregación no puede ser %s"
 
-#: commands/aggregatecmds.c:243 commands/functioncmds.c:1090
+#: commands/alter.c:79 commands/event_trigger.c:194
 #, c-format
-msgid "function %s already exists in schema \"%s\""
-msgstr "ya existe una función llamada %s en el esquema «%s»"
+msgid "event trigger \"%s\" already exists"
+msgstr "el disparador por eventos «%s» ya existe"
 
-#: commands/alter.c:386
+#: commands/alter.c:82 commands/foreigncmds.c:541
 #, c-format
-msgid "must be superuser to set schema of %s"
-msgstr "debe ser superusuario para definir el esquema de %s"
+msgid "foreign-data wrapper \"%s\" already exists"
+msgstr "el conector de datos externos «%s» ya existe"
+
+#: commands/alter.c:85 commands/foreigncmds.c:834
+#, c-format
+msgid "server \"%s\" already exists"
+msgstr "el servidor «%s» ya existe"
+
+#: commands/alter.c:88 commands/proclang.c:356
+#, c-format
+msgid "language \"%s\" already exists"
+msgstr "ya existe el lenguaje «%s»"
+
+#: commands/alter.c:111
+#, c-format
+msgid "conversion \"%s\" already exists in schema \"%s\""
+msgstr "ya existe una conversión llamada «%s» en el esquema «%s»"
+
+#: commands/alter.c:115
+#, c-format
+msgid "text search parser \"%s\" already exists in schema \"%s\""
+msgstr "el analizador de búsqueda en texto «%s» ya existe en el esquema «%s»"
+
+#: commands/alter.c:119
+#, c-format
+msgid "text search dictionary \"%s\" already exists in schema \"%s\""
+msgstr "el diccionario de búsqueda en texto «%s» ya existe en el esquema «%s»"
+
+#: commands/alter.c:123
+#, c-format
+msgid "text search template \"%s\" already exists in schema \"%s\""
+msgstr "la plantilla de búsqueda en texto «%s» ya existe en el esquema «%s»"
+
+#: commands/alter.c:127
+#, c-format
+msgid "text search configuration \"%s\" already exists in schema \"%s\""
+msgstr "la configuración de búsqueda en texto «%s» ya existe en el esquema «%s»"
+
+#: commands/alter.c:201
+#, c-format
+msgid "must be superuser to rename %s"
+msgstr "debe ser superusuario para cambiar el nombre de «%s»"
 
-#: commands/alter.c:414
+#: commands/alter.c:585
 #, c-format
-msgid "%s already exists in schema \"%s\""
-msgstr "ya existe %s en el esquema «%s»"
+msgid "must be superuser to set schema of %s"
+msgstr "debe ser superusuario para definir el esquema de %s"
 
-#: commands/analyze.c:154
+#: commands/analyze.c:155
 #, c-format
 msgid "skipping analyze of \"%s\" --- lock not available"
 msgstr "omitiendo analyze de «%s»: el candado no está disponible"
 
-#: commands/analyze.c:171
+#: commands/analyze.c:172
 #, c-format
 msgid "skipping \"%s\" --- only superuser can analyze it"
 msgstr "omitiendo «%s»: sólo un superusuario puede analizarla"
 
-#: commands/analyze.c:175
+#: commands/analyze.c:176
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can analyze it"
 msgstr "omitiendo «%s»: sólo un superusuario o el dueño de la base de datos puede analizarla"
 
-#: commands/analyze.c:179
+#: commands/analyze.c:180
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can analyze it"
 msgstr "omitiendo «%s»: sólo su dueño o el de la base de datos puede analizarla"
 
-#: commands/analyze.c:238
+#: commands/analyze.c:240
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze this foreign table"
 msgstr "omitiendo «%s»: no se puede analizar esta tabla foránea"
 
-#: commands/analyze.c:249
+#: commands/analyze.c:251
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables"
 msgstr "omitiendo «%s»: no se pueden analizar objetos que no son tablas, ni tablas especiales de sistema"
 
-#: commands/analyze.c:326
+#: commands/analyze.c:328
 #, c-format
 msgid "analyzing \"%s.%s\" inheritance tree"
 msgstr "analizando la jerarquía de herencia «%s.%s»"
 
-#: commands/analyze.c:331
+#: commands/analyze.c:333
 #, c-format
 msgid "analyzing \"%s.%s\""
 msgstr "analizando «%s.%s»"
 
-#: commands/analyze.c:647
+#: commands/analyze.c:651
 #, 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:1289
+#: commands/analyze.c:1293
 #, 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:1553 executor/execQual.c:2837
+#: commands/analyze.c:1557 executor/execQual.c:2848
 msgid "could not convert row type"
-msgstr "no se pudo convertir el tipo de fila"
+msgstr "no se pudo convertir el tipo de registro"
 
 #: commands/async.c:546
 #, c-format
@@ -3856,97 +3960,97 @@ msgstr "el nombre de canal es demasiado largo"
 msgid "payload string too long"
 msgstr "la cadena de carga es demasiado larga"
 
-#: commands/async.c:742
+#: commands/async.c:743
 #, 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:847
+#: commands/async.c:846
 #, c-format
 msgid "too many notifications in the NOTIFY queue"
 msgstr "demasiadas notificaciones en la cola NOTIFY"
 
-#: commands/async.c:1426
+#: commands/async.c:1419
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "la cola NOTIFY está %.0f%% llena"
 
-#: commands/async.c:1428
+#: commands/async.c:1421
 #, 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:1431
+#: commands/async.c:1424
 #, c-format
 msgid "The NOTIFY queue cannot be emptied until that process ends its current transaction."
 msgstr "La cola NOTIFY no puede vaciarse hasta que ese proceso cierre su transacción actual."
 
-#: commands/cluster.c:124 commands/cluster.c:362
+#: commands/cluster.c:127 commands/cluster.c:365
 #, c-format
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "no se pueden reordenar tablas temporales de otras sesiones"
 
-#: commands/cluster.c:154
+#: commands/cluster.c:157
 #, c-format
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "no hay un índice de ordenamiento definido para la tabla «%s»"
 
-#: commands/cluster.c:168 commands/tablecmds.c:8436
+#: commands/cluster.c:171 commands/tablecmds.c:8508
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "no existe el índice «%s» en la tabla «%s»"
 
-#: commands/cluster.c:351
+#: commands/cluster.c:354
 #, c-format
 msgid "cannot cluster a shared catalog"
 msgstr "no se puede reordenar un catálogo compartido"
 
-#: commands/cluster.c:366
+#: commands/cluster.c:369
 #, c-format
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "no se puede hacer vacuum a tablas temporales de otras sesiones"
 
-#: commands/cluster.c:416
+#: commands/cluster.c:433
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "«%s» no es un índice de la tabla «%s»"
 
-#: commands/cluster.c:424
+#: commands/cluster.c:441
 #, c-format
 msgid "cannot cluster on index \"%s\" because access method does not support clustering"
 msgstr "no se puede reordenar en índice «%s» porque el método de acceso no soporta reordenamiento"
 
-#: commands/cluster.c:436
+#: commands/cluster.c:453
 #, c-format
 msgid "cannot cluster on partial index \"%s\""
 msgstr "no se puede reordenar en índice parcial «%s»"
 
-#: commands/cluster.c:450
+#: commands/cluster.c:467
 #, c-format
 msgid "cannot cluster on invalid index \"%s\""
 msgstr "no se puede reordenar en el índice no válido «%s»"
 
-#: commands/cluster.c:881
+#: commands/cluster.c:909
 #, c-format
 msgid "clustering \"%s.%s\" using index scan on \"%s\""
 msgstr "reordenando «%s.%s» usando un recorrido de índice en «%s»"
 
-#: commands/cluster.c:887
+#: commands/cluster.c:915
 #, c-format
 msgid "clustering \"%s.%s\" using sequential scan and sort"
 msgstr "reordenando «%s.%s» usando un recorrido secuencial y ordenamiento"
 
-#: commands/cluster.c:892 commands/vacuumlazy.c:405
+#: commands/cluster.c:920 commands/vacuumlazy.c:411
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "haciendo vacuum a «%s.%s»"
 
-#: commands/cluster.c:1052
+#: commands/cluster.c:1079
 #, c-format
 msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
 msgstr "«%s»: se encontraron %.0f versiones eliminables de filas y %.0f no eliminables en %u páginas"
 
-#: commands/cluster.c:1056
+#: commands/cluster.c:1083
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -3955,692 +4059,732 @@ msgstr ""
 "%.0f versiones muertas de filas no pueden ser eliminadas aún.\n"
 "%s."
 
-#: commands/collationcmds.c:81
+#: commands/collationcmds.c:79
 #, c-format
 msgid "collation attribute \"%s\" not recognized"
 msgstr "el atributo de ordenamiento (collation) «%s» no es reconocido"
 
-#: commands/collationcmds.c:126
+#: commands/collationcmds.c:124
 #, c-format
 msgid "parameter \"lc_collate\" must be specified"
 msgstr "debe especificarse el parámetro «lc_collate»"
 
-#: commands/collationcmds.c:131
+#: commands/collationcmds.c:129
 #, c-format
 msgid "parameter \"lc_ctype\" must be specified"
 msgstr "debe especificarse el parámetro «lc_ctype»"
 
-#: commands/collationcmds.c:176 commands/collationcmds.c:355
+#: commands/collationcmds.c:163
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un ordenamiento (collation) llamado «%s» para la codificación «%s» en el esquema «%s»"
 
-#: commands/collationcmds.c:188 commands/collationcmds.c:367
+#: commands/collationcmds.c:174
 #, c-format
 msgid "collation \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un ordenamiento llamado «%s» en el esquema «%s»"
 
-#: commands/comment.c:61 commands/dbcommands.c:791 commands/dbcommands.c:947
-#: commands/dbcommands.c:1046 commands/dbcommands.c:1219
-#: commands/dbcommands.c:1404 commands/dbcommands.c:1489
-#: commands/dbcommands.c:1917 utils/init/postinit.c:717
-#: utils/init/postinit.c:785 utils/init/postinit.c:802
+#: commands/comment.c:62 commands/dbcommands.c:797 commands/dbcommands.c:946
+#: commands/dbcommands.c:1049 commands/dbcommands.c:1222
+#: commands/dbcommands.c:1411 commands/dbcommands.c:1506
+#: commands/dbcommands.c:1946 utils/init/postinit.c:775
+#: utils/init/postinit.c:843 utils/init/postinit.c:860
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "no existe la base de datos «%s»"
 
-#: commands/comment.c:98 commands/seclabel.c:112 parser/parse_utilcmd.c:652
+#: commands/comment.c:101 commands/seclabel.c:114 parser/parse_utilcmd.c:693
 #, c-format
-msgid "\"%s\" is not a table, view, composite type, or foreign table"
-msgstr "«%s» no es una tabla, vista, tipo compuesto, o tabla foránea"
+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:3080
+#: commands/constraint.c:60 utils/adt/ri_triggers.c:2699
 #, 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:3089
+#: commands/constraint.c:67 utils/adt/ri_triggers.c:2708
 #, c-format
 msgid "function \"%s\" must be fired AFTER ROW"
 msgstr "la función «%s» debe ser ejecutada AFTER ROW"
 
-#: commands/constraint.c:81 utils/adt/ri_triggers.c:3110
+#: commands/constraint.c:81
 #, c-format
 msgid "function \"%s\" must be fired for INSERT or UPDATE"
 msgstr "la función «%s» debe ser ejecutada en INSERT o UPDATE"
 
-#: commands/conversioncmds.c:69
+#: commands/conversioncmds.c:67
 #, c-format
 msgid "source encoding \"%s\" does not exist"
 msgstr "no existe la codificación fuente «%s»"
 
-#: commands/conversioncmds.c:76
+#: commands/conversioncmds.c:74
 #, c-format
 msgid "destination encoding \"%s\" does not exist"
 msgstr "no existe la codificación de destino «%s»"
 
-#: commands/conversioncmds.c:90
+#: commands/conversioncmds.c:88
 #, c-format
 msgid "encoding conversion function %s must return type \"void\""
 msgstr "la función de conversión de codificación %s debe retornar tipo «void»"
 
-#: commands/conversioncmds.c:148
-#, c-format
-msgid "conversion \"%s\" already exists in schema \"%s\""
-msgstr "ya existe una conversión llamada «%s» en el esquema «%s»"
-
-#: commands/copy.c:347 commands/copy.c:359 commands/copy.c:393
-#: commands/copy.c:403
+#: commands/copy.c:358 commands/copy.c:370 commands/copy.c:404
+#: commands/copy.c:414
 #, c-format
 msgid "COPY BINARY is not supported to stdout or from stdin"
 msgstr "COPY BINARY no está soportado a la salida estándar o desde la entrada estándar"
 
-#: commands/copy.c:481
+#: commands/copy.c:512
+#, c-format
+msgid "could not write to COPY program: %m"
+msgstr "no se pudo escribir al programa COPY: %m"
+
+#: commands/copy.c:517
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "no se pudo escribir archivo COPY: %m"
 
-#: commands/copy.c:493
+#: commands/copy.c:530
 #, c-format
 msgid "connection lost during COPY to stdout"
 msgstr "se perdió la conexión durante COPY a la salida estándar"
 
-#: commands/copy.c:534
+#: commands/copy.c:571
 #, c-format
 msgid "could not read from COPY file: %m"
 msgstr "no se pudo leer desde archivo COPY: %m"
 
-#: commands/copy.c:550 commands/copy.c:569 commands/copy.c:573
-#: tcop/fastpath.c:291 tcop/postgres.c:349 tcop/postgres.c:385
+#: commands/copy.c:587 commands/copy.c:606 commands/copy.c:610
+#: tcop/fastpath.c:293 tcop/postgres.c:351 tcop/postgres.c:387
 #, c-format
 msgid "unexpected EOF on client connection with an open transaction"
 msgstr "se encontró fin de archivo inesperado en una conexión con una transacción abierta"
 
-#: commands/copy.c:585
+#: commands/copy.c:622
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "falló COPY desde la entrada estándar: %s"
 
-#: commands/copy.c:601
+#: commands/copy.c:638
 #, c-format
 msgid "unexpected message type 0x%02X during COPY from stdin"
 msgstr "se recibió un mensaje de tipo 0x%02X inesperado durante COPY desde la entrada estándar"
 
-#: commands/copy.c:753
+#: commands/copy.c:792
 #, c-format
-msgid "must be superuser to COPY to or from a file"
-msgstr "debe ser superusuario para usar COPY desde o hacia un archivo"
+msgid "must be superuser to COPY to or from an external program"
+msgstr "debe ser superusuario para usar COPY desde o hacia un programa externo"
 
-#: commands/copy.c:754
+#: commands/copy.c:793 commands/copy.c:799
 #, c-format
 msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works for anyone."
 msgstr "Cualquier usuario puede usar COPY hacia la salida estándar o desde la entrada estándar. La orden \\copy de psql también puede ser utilizado por cualquier usuario."
 
-#: commands/copy.c:884
+#: commands/copy.c:798
+#, c-format
+msgid "must be superuser to COPY to or from a file"
+msgstr "debe ser superusuario para usar COPY desde o hacia un archivo"
+
+#: commands/copy.c:934
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "el formato de COPY «%s» no es reconocido"
 
-#: commands/copy.c:947 commands/copy.c:961
+#: commands/copy.c:1005 commands/copy.c:1019 commands/copy.c:1039
 #, c-format
 msgid "argument to option \"%s\" must be a list of column names"
 msgstr "el argumento de la opción «%s» debe ser una lista de nombres de columna"
 
-#: commands/copy.c:974
+#: commands/copy.c:1052
 #, c-format
 msgid "argument to option \"%s\" must be a valid encoding name"
 msgstr "el argumento de la opción «%s» debe ser un nombre válido de codificación"
 
-#: commands/copy.c:980
+#: commands/copy.c:1058
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "no se reconoce la opción «%s»"
 
-#: commands/copy.c:991
+#: commands/copy.c:1069
 #, c-format
 msgid "cannot specify DELIMITER in BINARY mode"
 msgstr "no se puede especificar DELIMITER en modo BINARY"
 
-#: commands/copy.c:996
+#: commands/copy.c:1074
 #, c-format
 msgid "cannot specify NULL in BINARY mode"
 msgstr "no se puede especificar NULL en modo BINARY"
 
-#: commands/copy.c:1018
+#: commands/copy.c:1096
 #, c-format
 msgid "COPY delimiter must be a single one-byte character"
 msgstr "el delimitador de COPY debe ser un solo carácter de un byte"
 
-#: commands/copy.c:1025
+#: commands/copy.c:1103
 #, c-format
 msgid "COPY delimiter cannot be newline or carriage return"
 msgstr "el delimitador de COPY no puede ser el carácter de nueva línea ni el de retorno de carro"
 
-#: commands/copy.c:1031
+#: commands/copy.c:1109
 #, c-format
 msgid "COPY null representation cannot use newline or carriage return"
 msgstr "la representación de null de COPY no puede usar el carácter de nueva línea ni el de retorno de carro"
 
-#: commands/copy.c:1048
+#: commands/copy.c:1126
 #, c-format
 msgid "COPY delimiter cannot be \"%s\""
 msgstr "el delimitador de COPY no puede ser «%s»"
 
-#: commands/copy.c:1054
+#: commands/copy.c:1132
 #, c-format
 msgid "COPY HEADER available only in CSV mode"
 msgstr "el «header» de COPY está disponible sólo en modo CSV"
 
-#: commands/copy.c:1060
+#: commands/copy.c:1138
 #, c-format
 msgid "COPY quote available only in CSV mode"
 msgstr "el «quote» de COPY está disponible sólo en modo CSV"
 
-#: commands/copy.c:1065
+#: commands/copy.c:1143
 #, c-format
 msgid "COPY quote must be a single one-byte character"
 msgstr "la comilla («quote») de COPY debe ser un solo carácter de un byte"
 
-#: commands/copy.c:1070
+#: commands/copy.c:1148
 #, c-format
 msgid "COPY delimiter and quote must be different"
 msgstr "el delimitador de COPY y la comilla («quote») deben ser diferentes"
 
-#: commands/copy.c:1076
+#: commands/copy.c:1154
 #, c-format
 msgid "COPY escape available only in CSV mode"
 msgstr "escape de COPY disponible sólo en modo CSV"
 
-#: commands/copy.c:1081
+#: commands/copy.c:1159
 #, c-format
 msgid "COPY escape must be a single one-byte character"
 msgstr "el escape de COPY debe ser un sólo carácter de un byte"
 
-#: commands/copy.c:1087
+#: commands/copy.c:1165
 #, c-format
 msgid "COPY force quote available only in CSV mode"
 msgstr "el forzado de comillas de COPY sólo está disponible en modo CSV"
 
-#: commands/copy.c:1091
+#: commands/copy.c:1169
 #, c-format
 msgid "COPY force quote only available using COPY TO"
 msgstr "el forzado de comillas de COPY sólo está disponible en COPY TO"
 
-#: commands/copy.c:1097
+#: commands/copy.c:1175
 #, c-format
 msgid "COPY force not null available only in CSV mode"
 msgstr "el forzado de no nulos en COPY sólo está disponible en modo CSV"
 
-#: commands/copy.c:1101
+#: commands/copy.c:1179
 #, c-format
 msgid "COPY force not null only available using COPY FROM"
 msgstr "el forzado de no nulos en COPY sólo está disponible usando COPY FROM"
 
-#: commands/copy.c:1107
+#: commands/copy.c:1185
 #, c-format
 msgid "COPY delimiter must not appear in the NULL specification"
 msgstr "el delimitador de COPY no debe aparecer en la especificación NULL"
 
-#: commands/copy.c:1114
+#: commands/copy.c:1192
 #, c-format
 msgid "CSV quote character must not appear in the NULL specification"
 msgstr "el carácter de «quote» de CSV no debe aparecer en la especificación NULL"
 
-#: commands/copy.c:1176
+#: commands/copy.c:1254
 #, c-format
 msgid "table \"%s\" does not have OIDs"
 msgstr "la tabla «%s» no tiene OIDs"
 
-#: commands/copy.c:1193
+#: commands/copy.c:1271
 #, c-format
 msgid "COPY (SELECT) WITH OIDS is not supported"
 msgstr "COPY (SELECT) WITH OIDS no está soportado"
 
-#: commands/copy.c:1219
+#: commands/copy.c:1297
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) no está soportado"
 
-#: commands/copy.c:1282
+#: commands/copy.c:1360
 #, c-format
 msgid "FORCE QUOTE column \"%s\" not referenced by COPY"
 msgstr "la columna con comillas forzadas «%s» no es referenciada por COPY"
 
-#: commands/copy.c:1304
+#: commands/copy.c:1382
 #, c-format
 msgid "FORCE NOT NULL column \"%s\" not referenced by COPY"
 msgstr "la columna FORCE NOT NULL «%s» no fue mencionada en COPY"
 
-#: commands/copy.c:1368
+#: commands/copy.c:1446
+#, c-format
+msgid "could not close pipe to external command: %m"
+msgstr "no se pudo cerrar la tubería a la orden externa: %m"
+
+#: commands/copy.c:1449
+#, c-format
+msgid "program \"%s\" failed"
+msgstr "el programa «%s» falló"
+
+#: commands/copy.c:1498
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "no se puede copiar desde la vista «%s»"
 
-#: commands/copy.c:1370 commands/copy.c:1376
+#: commands/copy.c:1500 commands/copy.c:1506 commands/copy.c:1512
 #, c-format
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "Intente la forma COPY (SELECT ...) TO."
 
-#: commands/copy.c:1374
+#: commands/copy.c:1504
+#, c-format
+msgid "cannot copy from materialized view \"%s\""
+msgstr "no se puede copiar desde la vista materializada «%s»"
+
+#: commands/copy.c:1510
 #, c-format
 msgid "cannot copy from foreign table \"%s\""
 msgstr "no se puede copiar desde la tabla foránea «%s»"
 
-#: commands/copy.c:1380
+#: commands/copy.c:1516
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "no se puede copiar desde la secuencia «%s»"
 
-#: commands/copy.c:1385
+#: commands/copy.c:1521
 #, c-format
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "no se puede copiar desde la relación «%s» porque no es una tabla"
 
-#: commands/copy.c:1409
+#: commands/copy.c:1544 commands/copy.c:2545
+#, c-format
+msgid "could not execute command \"%s\": %m"
+msgstr "no se pudo ejecutar la orden «%s»: %m"
+
+#: commands/copy.c:1559
 #, c-format
 msgid "relative path not allowed for COPY to file"
 msgstr "no se permiten rutas relativas para COPY hacia un archivo"
 
-#: commands/copy.c:1419
+#: commands/copy.c:1567
 #, 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:1426 commands/copy.c:2347
+#: commands/copy.c:1574 commands/copy.c:2563
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "«%s» es un directorio"
 
-#: commands/copy.c:1750
+#: commands/copy.c:1899
 #, c-format
 msgid "COPY %s, line %d, column %s"
 msgstr "COPY %s, línea %d, columna %s"
 
-#: commands/copy.c:1754 commands/copy.c:1799
+#: commands/copy.c:1903 commands/copy.c:1950
 #, c-format
 msgid "COPY %s, line %d"
 msgstr "COPY %s, línea %d"
 
-#: commands/copy.c:1765
+#: commands/copy.c:1914
 #, c-format
 msgid "COPY %s, line %d, column %s: \"%s\""
 msgstr "COPY %s, línea %d, columna %s: «%s»"
 
-#: commands/copy.c:1773
+#: commands/copy.c:1922
 #, c-format
 msgid "COPY %s, line %d, column %s: null input"
 msgstr "COPY %s, línea %d, columna %s: entrada nula"
 
-#: commands/copy.c:1785
+#: commands/copy.c:1944
 #, c-format
 msgid "COPY %s, line %d: \"%s\""
 msgstr "COPY %s, línea %d: «%s»"
 
-#: commands/copy.c:1876
+#: commands/copy.c:2028
 #, c-format
 msgid "cannot copy to view \"%s\""
 msgstr "no se puede copiar hacia la vista «%s»"
 
-#: commands/copy.c:1881
+#: commands/copy.c:2033
+#, c-format
+msgid "cannot copy to materialized view \"%s\""
+msgstr "no se puede copiar hacia la vista materializada «%s»"
+
+#: commands/copy.c:2038
 #, c-format
 msgid "cannot copy to foreign table \"%s\""
 msgstr "no se puede copiar hacia la tabla foránea «%s»"
 
-#: commands/copy.c:1886
+#: commands/copy.c:2043
 #, c-format
 msgid "cannot copy to sequence \"%s\""
 msgstr "no se puede copiar hacia la secuencia «%s»"
 
-#: commands/copy.c:1891
+#: commands/copy.c:2048
 #, 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:2340 utils/adt/genfile.c:122
+#: commands/copy.c:2111
+#, c-format
+msgid "cannot perform FREEZE because of prior transaction activity"
+msgstr "no se puede ejecutar FREEZE debido a actividad anterior en la transacción"
+
+#: commands/copy.c:2117
+#, c-format
+msgid "cannot perform FREEZE because the table was not created or truncated in the current subtransaction"
+msgstr "no se puede ejecutar FREEZE porque la tabla no fue creada ni truncada en la subtransacción en curso"
+
+#: commands/copy.c:2556 utils/adt/genfile.c:123
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "no se pudo abrir archivo «%s» para lectura: %m"
 
-#: commands/copy.c:2366
+#: commands/copy.c:2583
 #, c-format
 msgid "COPY file signature not recognized"
 msgstr "el identificador del archivo COPY no es reconocido"
 
-#: commands/copy.c:2371
+#: commands/copy.c:2588
 #, c-format
 msgid "invalid COPY file header (missing flags)"
 msgstr "el encabezado del archivo COPY no es válido (faltan campos)"
 
-#: commands/copy.c:2377
+#: commands/copy.c:2594
 #, c-format
 msgid "unrecognized critical flags in COPY file header"
 msgstr "valores requeridos no reconocidos en encabezado de COPY"
 
-#: commands/copy.c:2383
+#: commands/copy.c:2600
 #, 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:2390
+#: commands/copy.c:2607
 #, c-format
 msgid "invalid COPY file header (wrong length)"
 msgstr "el encabezado del archivo COPY no es válido (largo incorrecto)"
 
-#: commands/copy.c:2523 commands/copy.c:3205 commands/copy.c:3435
+#: commands/copy.c:2740 commands/copy.c:3430 commands/copy.c:3660
 #, c-format
 msgid "extra data after last expected column"
 msgstr "datos extra después de la última columna esperada"
 
-#: commands/copy.c:2533
+#: commands/copy.c:2750
 #, c-format
 msgid "missing data for OID column"
 msgstr "faltan datos para la columna OID"
 
-#: commands/copy.c:2539
+#: commands/copy.c:2756
 #, c-format
 msgid "null OID in COPY data"
 msgstr "OID nulo en datos COPY"
 
-#: commands/copy.c:2549 commands/copy.c:2648
+#: commands/copy.c:2766 commands/copy.c:2872
 #, c-format
 msgid "invalid OID in COPY data"
 msgstr "OID no válido en datos COPY"
 
-#: commands/copy.c:2564
+#: commands/copy.c:2781
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "faltan datos en la columna «%s»"
 
-#: commands/copy.c:2623
+#: commands/copy.c:2847
 #, c-format
 msgid "received copy data after EOF marker"
 msgstr "se recibieron datos de copy después del marcador EOF"
 
-#: commands/copy.c:2630
+#: commands/copy.c:2854
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "la cantidad de registros es %d, pero se esperaban %d"
 
-#: commands/copy.c:2969 commands/copy.c:2986
+#: commands/copy.c:3194 commands/copy.c:3211
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "se encontró un retorno de carro literal en los datos"
 
-#: commands/copy.c:2970 commands/copy.c:2987
+#: commands/copy.c:3195 commands/copy.c:3212
 #, 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:2972 commands/copy.c:2989
+#: commands/copy.c:3197 commands/copy.c:3214
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Use «\\r» para representar el retorno de carro."
 
-#: commands/copy.c:2973 commands/copy.c:2990
+#: commands/copy.c:3198 commands/copy.c:3215
 #, 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:3002
+#: commands/copy.c:3227
 #, c-format
 msgid "literal newline found in data"
 msgstr "se encontró un salto de línea literal en los datos"
 
-#: commands/copy.c:3003
+#: commands/copy.c:3228
 #, 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:3005
+#: commands/copy.c:3230
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "Use «\\n» para representar un salto de línea."
 
-#: commands/copy.c:3006
+#: commands/copy.c:3231
 #, 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:3052 commands/copy.c:3088
+#: commands/copy.c:3277 commands/copy.c:3313
 #, 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:3061 commands/copy.c:3077
+#: commands/copy.c:3286 commands/copy.c:3302
 #, c-format
 msgid "end-of-copy marker corrupt"
 msgstr "marcador fin-de-copy corrupto"
 
-#: commands/copy.c:3519
+#: commands/copy.c:3744
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "un valor entre comillas está inconcluso"
 
-#: commands/copy.c:3596 commands/copy.c:3615
+#: commands/copy.c:3821 commands/copy.c:3840
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "EOF inesperado en datos de COPY"
 
-#: commands/copy.c:3605
+#: commands/copy.c:3830
 #, c-format
 msgid "invalid field size"
 msgstr "el tamaño de campo no es válido"
 
-#: commands/copy.c:3628
+#: commands/copy.c:3853
 #, c-format
 msgid "incorrect binary data format"
 msgstr "el formato de datos binarios es incorrecto"
 
-#: commands/copy.c:3939 commands/indexcmds.c:1007 commands/tablecmds.c:1386
-#: commands/tablecmds.c:2185 parser/parse_expr.c:766
+#: commands/copy.c:4164 commands/indexcmds.c:1006 commands/tablecmds.c:1401
+#: commands/tablecmds.c:2210 parser/parse_relation.c:2625
 #: utils/adt/tsvector_op.c:1417
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "no existe la columna «%s»"
 
-#: commands/copy.c:3946 commands/tablecmds.c:1412 commands/trigger.c:613
-#: parser/parse_target.c:912 parser/parse_target.c:923
+#: commands/copy.c:4171 commands/tablecmds.c:1427 commands/trigger.c:601
+#: parser/parse_target.c:934 parser/parse_target.c:945
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "la columna «%s» fue especificada más de una vez"
 
-#: commands/createas.c:301
+#: commands/createas.c:352
 #, c-format
-msgid "CREATE TABLE AS specifies too many column names"
-msgstr "CREATE TABLE AS especifica demasiados nombres de columna"
+msgid "too many column names were specified"
+msgstr "se especificaron demasiados nombres de columna"
 
-#: commands/dbcommands.c:199
+#: commands/dbcommands.c:203
 #, c-format
 msgid "LOCATION is not supported anymore"
 msgstr "LOCATION ya no está soportado"
 
-#: commands/dbcommands.c:200
+#: commands/dbcommands.c:204
 #, c-format
 msgid "Consider using tablespaces instead."
 msgstr "Considere usar tablespaces."
 
-#: commands/dbcommands.c:223 utils/adt/ascii.c:144
+#: commands/dbcommands.c:227 utils/adt/ascii.c:144
 #, c-format
 msgid "%d is not a valid encoding code"
 msgstr "%d no es un código válido de codificación"
 
-#: commands/dbcommands.c:233 utils/adt/ascii.c:126
+#: commands/dbcommands.c:237 utils/adt/ascii.c:126
 #, c-format
 msgid "%s is not a valid encoding name"
 msgstr "%s no es un nombre válido de codificación"
 
-#: commands/dbcommands.c:251 commands/dbcommands.c:1385 commands/user.c:259
-#: commands/user.c:599
+#: commands/dbcommands.c:255 commands/dbcommands.c:1392 commands/user.c:260
+#: commands/user.c:601
 #, c-format
 msgid "invalid connection limit: %d"
 msgstr "límite de conexión no válido: %d"
 
-#: commands/dbcommands.c:270
+#: commands/dbcommands.c:274
 #, c-format
 msgid "permission denied to create database"
 msgstr "se ha denegado el permiso para crear la base de datos"
 
-#: commands/dbcommands.c:293
+#: commands/dbcommands.c:297
 #, c-format
 msgid "template database \"%s\" does not exist"
 msgstr "no existe la base de datos patrón «%s»"
 
-#: commands/dbcommands.c:305
+#: commands/dbcommands.c:309
 #, c-format
 msgid "permission denied to copy database \"%s\""
 msgstr "se ha denegado el permiso para copiar la base de datos «%s»"
 
-#: commands/dbcommands.c:321
+#: commands/dbcommands.c:325
 #, c-format
 msgid "invalid server encoding %d"
 msgstr "la codificación de servidor %d no es válida"
 
-#: commands/dbcommands.c:327 commands/dbcommands.c:332
+#: commands/dbcommands.c:331 commands/dbcommands.c:336
 #, c-format
 msgid "invalid locale name: \"%s\""
 msgstr "nombre de configuración regional no válido: «%s»"
 
-#: commands/dbcommands.c:352
+#: commands/dbcommands.c:356
 #, c-format
 msgid "new encoding (%s) is incompatible with the encoding of the template database (%s)"
 msgstr "la nueva codificación (%s) es incompatible con la codificación de la base de datos patrón (%s)"
 
-#: commands/dbcommands.c:355
+#: commands/dbcommands.c:359
 #, c-format
 msgid "Use the same encoding as in the template database, or use template0 as template."
 msgstr "Use la misma codificación que en la base de datos patrón, o bien use template0 como patrón."
 
-#: commands/dbcommands.c:360
+#: commands/dbcommands.c:364
 #, c-format
 msgid "new collation (%s) is incompatible with the collation of the template database (%s)"
 msgstr "la nueva «collation» (%s) es incompatible con la «collation» de la base de datos patrón (%s)"
 
-#: commands/dbcommands.c:362
+#: commands/dbcommands.c:366
 #, c-format
 msgid "Use the same collation as in the template database, or use template0 as template."
 msgstr "Use la misma «collation» que en la base de datos patrón, o bien use template0 como patrón."
 
-#: commands/dbcommands.c:367
+#: commands/dbcommands.c:371
 #, c-format
 msgid "new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database (%s)"
 msgstr "el nuevo LC_CTYPE (%s) es incompatible con el LC_CTYPE de la base de datos patrón (%s)"
 
-#: commands/dbcommands.c:369
+#: commands/dbcommands.c:373
 #, c-format
 msgid "Use the same LC_CTYPE as in the template database, or use template0 as template."
 msgstr "Use el mismo LC_CTYPE que en la base de datos patrón, o bien use template0 como patrón."
 
-#: commands/dbcommands.c:391 commands/dbcommands.c:1092
+#: commands/dbcommands.c:395 commands/dbcommands.c:1095
 #, c-format
 msgid "pg_global cannot be used as default tablespace"
 msgstr "no puede usarse pg_global como tablespace por omisión"
 
-#: commands/dbcommands.c:417
+#: commands/dbcommands.c:421
 #, c-format
 msgid "cannot assign new default tablespace \"%s\""
 msgstr "no se puede asignar el nuevo tablespace por omisión «%s»"
 
-#: commands/dbcommands.c:419
+#: commands/dbcommands.c:423
 #, c-format
 msgid "There is a conflict because database \"%s\" already has some tables in this tablespace."
 msgstr "Hay un conflicto puesto que la base de datos «%s» ya tiene algunas tablas en este tablespace."
 
-#: commands/dbcommands.c:439 commands/dbcommands.c:967
+#: commands/dbcommands.c:443 commands/dbcommands.c:966
 #, c-format
 msgid "database \"%s\" already exists"
 msgstr "la base de datos «%s» ya existe"
 
-#: commands/dbcommands.c:453
+#: commands/dbcommands.c:457
 #, c-format
 msgid "source database \"%s\" is being accessed by other users"
 msgstr "la base de datos de origen «%s» está siendo utilizada por otros usuarios"
 
-#: commands/dbcommands.c:722 commands/dbcommands.c:737
+#: commands/dbcommands.c:728 commands/dbcommands.c:743
 #, c-format
 msgid "encoding \"%s\" does not match locale \"%s\""
 msgstr "la codificación «%s» no coincide con la configuración regional «%s»"
 
-#: commands/dbcommands.c:725
+#: commands/dbcommands.c:731
 #, c-format
 msgid "The chosen LC_CTYPE setting requires encoding \"%s\"."
 msgstr "El parámetro LC_CTYPE escogido requiere la codificación «%s»."
 
-#: commands/dbcommands.c:740
+#: commands/dbcommands.c:746
 #, c-format
 msgid "The chosen LC_COLLATE setting requires encoding \"%s\"."
 msgstr "El parámetro LC_COLLATE escogido requiere la codificación «%s»."
 
-#: commands/dbcommands.c:798
+#: commands/dbcommands.c:804
 #, c-format
 msgid "database \"%s\" does not exist, skipping"
 msgstr "no existe la base de datos «%s», ignorando"
 
-#: commands/dbcommands.c:829
+#: commands/dbcommands.c:828
 #, c-format
 msgid "cannot drop a template database"
 msgstr "no se puede borrar una base de datos patrón"
 
-#: commands/dbcommands.c:835
+#: commands/dbcommands.c:834
 #, c-format
 msgid "cannot drop the currently open database"
 msgstr "no se puede eliminar la base de datos activa"
 
-#: commands/dbcommands.c:846 commands/dbcommands.c:989
-#: commands/dbcommands.c:1114
+#: commands/dbcommands.c:845 commands/dbcommands.c:988
+#: commands/dbcommands.c:1117
 #, c-format
 msgid "database \"%s\" is being accessed by other users"
 msgstr "la base de datos «%s» está siendo utilizada por otros usuarios"
 
-#: commands/dbcommands.c:958
+#: commands/dbcommands.c:957
 #, c-format
 msgid "permission denied to rename database"
 msgstr "se ha denegado el permiso para cambiar el nombre a la base de datos"
 
-#: commands/dbcommands.c:978
+#: commands/dbcommands.c:977
 #, c-format
 msgid "current database cannot be renamed"
 msgstr "no se puede cambiar el nombre de la base de datos activa"
 
-#: commands/dbcommands.c:1070
+#: commands/dbcommands.c:1073
 #, c-format
 msgid "cannot change the tablespace of the currently open database"
 msgstr "no se puede cambiar el tablespace de la base de datos activa"
 
-#: commands/dbcommands.c:1154
+#: commands/dbcommands.c:1157
 #, c-format
 msgid "some relations of database \"%s\" are already in tablespace \"%s\""
 msgstr "algunas relaciones de la base de datos «%s» ya están en el tablespace «%s»"
 
-#: commands/dbcommands.c:1156
+#: commands/dbcommands.c:1159
 #, c-format
 msgid "You must move them back to the database's default tablespace before using this command."
 msgstr "Debe moverlas de vuelta al tablespace por omisión de la base de datos antes de ejecutar esta orden."
 
-#: commands/dbcommands.c:1284 commands/dbcommands.c:1763
-#: commands/dbcommands.c:1978 commands/dbcommands.c:2026
-#: commands/tablespace.c:589
+#: commands/dbcommands.c:1290 commands/dbcommands.c:1789
+#: commands/dbcommands.c:2007 commands/dbcommands.c:2055
+#: commands/tablespace.c:585
 #, c-format
 msgid "some useless files may be left behind in old database directory \"%s\""
 msgstr "algunos archivos inútiles pueden haber quedado en el directorio \"%s\""
 
-#: commands/dbcommands.c:1528
+#: commands/dbcommands.c:1546
 #, c-format
 msgid "permission denied to change owner of database"
 msgstr "se ha denegado el permiso para cambiar el dueño de la base de datos"
 
-#: commands/dbcommands.c:1861
+#: commands/dbcommands.c:1890
 #, c-format
 msgid "There are %d other session(s) and %d prepared transaction(s) using the database."
 msgstr "Hay otras %d sesiones y %d transacciones preparadas usando la base de datos."
 
-#: commands/dbcommands.c:1864
+#: commands/dbcommands.c:1893
 #, c-format
 msgid "There is %d other session using the database."
 msgid_plural "There are %d other sessions using the database."
 msgstr[0] "Hay %d otra sesión usando la base de datos."
 msgstr[1] "Hay otras %d sesiones usando la base de datos."
 
-#: commands/dbcommands.c:1869
+#: commands/dbcommands.c:1898
 #, c-format
 msgid "There is %d prepared transaction using the database."
 msgid_plural "There are %d prepared transactions using the database."
@@ -4684,9 +4828,8 @@ msgstr "%s requiere valor entero"
 msgid "invalid argument for %s: \"%s\""
 msgstr "argumento no válido para %s: «%s»"
 
-#: commands/dropcmds.c:100 commands/functioncmds.c:1076
-#: commands/functioncmds.c:1139 commands/functioncmds.c:1291
-#: utils/adt/ruleutils.c:1730
+#: commands/dropcmds.c:100 commands/functioncmds.c:1080
+#: utils/adt/ruleutils.c:1896
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "«%s» es una función de agregación"
@@ -4696,7 +4839,7 @@ 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:143 commands/tablecmds.c:227
+#: commands/dropcmds.c:143 commands/tablecmds.c:236
 #, c-format
 msgid "type \"%s\" does not exist, skipping"
 msgstr "el tipo «%s» no existe, ignorando"
@@ -4773,826 +4916,839 @@ msgstr "no existe el trigger «%s» para la tabla «%s», ignorando"
 
 #: commands/dropcmds.c:210
 #, c-format
+msgid "event trigger \"%s\" does not exist, skipping"
+msgstr "el disparador por eventos «%s» no existe, ignorando"
+
+#: commands/dropcmds.c:214
+#, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "la regla «%s» para la relación «%s» no existe, ignorando"
 
-#: commands/dropcmds.c:216
+#: commands/dropcmds.c:220
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist, skipping"
 msgstr "no existe el conector de datos externos «%s», ignorando"
 
-#: commands/dropcmds.c:220
+#: commands/dropcmds.c:224
 #, c-format
 msgid "server \"%s\" does not exist, skipping"
 msgstr "el servidor «%s» no existe, ignorando"
 
-#: commands/dropcmds.c:224
+#: commands/dropcmds.c:228
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\", skipping"
 msgstr "no existe la clase de operadores «%s» para el método de acceso «%s», ignorando"
 
-#: commands/dropcmds.c:229
+#: commands/dropcmds.c:233
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\", skipping"
 msgstr "no existe la familia de operadores «%s» para el método de acceso «%s», ignorando"
 
-#: commands/explain.c:158
+#: commands/event_trigger.c:149
+#, c-format
+msgid "permission denied to create event trigger \"%s\""
+msgstr "se ha denegado el permiso para crear el disparador por eventos «%s»"
+
+#: commands/event_trigger.c:151
+#, c-format
+msgid "Must be superuser to create an event trigger."
+msgstr "Debe ser superusuario para crear un disparador por eventos."
+
+#: commands/event_trigger.c:159
+#, c-format
+msgid "unrecognized event name \"%s\""
+msgstr "nomre de evento no reconocido «%s»"
+
+#: commands/event_trigger.c:176
+#, c-format
+msgid "unrecognized filter variable \"%s\""
+msgstr "variable de filtro «%s» no reconocida"
+
+#: commands/event_trigger.c:203
+#, c-format
+msgid "function \"%s\" must return type \"event_trigger\""
+msgstr "la función «%s» debe retornar tipo «event_trigger»"
+
+#: commands/event_trigger.c:228
+#, c-format
+msgid "filter value \"%s\" not recognized for filter variable \"%s\""
+msgstr "el valor de filtro «%s» no es reconocido por la variable de filtro «%s»"
+
+#. translator: %s represents an SQL statement name
+#: commands/event_trigger.c:234
+#, c-format
+msgid "event triggers are not supported for %s"
+msgstr "los disparadores por eventos no están soportados para %s"
+
+#: commands/event_trigger.c:289
+#, c-format
+msgid "filter variable \"%s\" specified more than once"
+msgstr "la variable de filtro «%s» fue especificada más de una vez"
+
+#: commands/event_trigger.c:434 commands/event_trigger.c:477
+#: commands/event_trigger.c:568
+#, c-format
+msgid "event trigger \"%s\" does not exist"
+msgstr "no existe el disparador por eventos «%s»"
+
+#: commands/event_trigger.c:536
+#, c-format
+msgid "permission denied to change owner of event trigger \"%s\""
+msgstr "se ha denegado el permiso para cambiar el dueño del disparador por eventos «%s»"
+
+#: commands/event_trigger.c:538
+#, c-format
+msgid "The owner of an event trigger must be a superuser."
+msgstr "El dueño de un disparador por eventos debe ser un superusuario."
+
+#: commands/event_trigger.c:1216
+#, c-format
+msgid "%s can only be called in a sql_drop event trigger function"
+msgstr "%s sólo puede invocarse en una función de un disparador en el evento sql_drop"
+
+#: commands/event_trigger.c:1223 commands/extension.c:1650
+#: commands/extension.c:1759 commands/extension.c:1952 commands/prepare.c:702
+#: executor/execQual.c:1719 executor/execQual.c:1744 executor/execQual.c:2113
+#: executor/execQual.c:5251 executor/functions.c:1011 foreign/foreign.c:421
+#: replication/walsender.c:1887 utils/adt/jsonfuncs.c:924
+#: utils/adt/jsonfuncs.c:1093 utils/adt/jsonfuncs.c:1593
+#: utils/fmgr/funcapi.c:61 utils/mmgr/portalmem.c:986
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "se llamó una función que retorna un conjunto en un contexto que no puede aceptarlo"
+
+#: commands/event_trigger.c:1227 commands/extension.c:1654
+#: commands/extension.c:1763 commands/extension.c:1956 commands/prepare.c:706
+#: foreign/foreign.c:426 replication/walsender.c:1891
+#: utils/mmgr/portalmem.c:990
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "se requiere un nodo «materialize», pero no está permitido en este contexto"
+
+#: commands/explain.c:163
 #, c-format
 msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\""
 msgstr "valor no reconocido para la opción de EXPLAIN «%s»: «%s»"
 
-#: commands/explain.c:164
+#: commands/explain.c:169
 #, c-format
 msgid "unrecognized EXPLAIN option \"%s\""
 msgstr "opción de EXPLAIN no reconocida «%s»"
 
-#: commands/explain.c:171
+#: commands/explain.c:176
 #, c-format
 msgid "EXPLAIN option BUFFERS requires ANALYZE"
 msgstr "la opción BUFFERS de EXPLAIN requiere ANALYZE"
 
-#: commands/explain.c:180
+#: commands/explain.c:185
 #, c-format
 msgid "EXPLAIN option TIMING requires ANALYZE"
 msgstr "la opción TIMING de EXPLAIN requiere ANALYZE"
 
-#: commands/extension.c:146 commands/extension.c:2620
+#: commands/extension.c:148 commands/extension.c:2632
 #, c-format
 msgid "extension \"%s\" does not exist"
 msgstr "no existe la extensión «%s»"
 
-#: commands/extension.c:245 commands/extension.c:254 commands/extension.c:266
-#: commands/extension.c:276
+#: commands/extension.c:247 commands/extension.c:256 commands/extension.c:268
+#: commands/extension.c:278
 #, c-format
 msgid "invalid extension name: \"%s\""
 msgstr "nombre de extensión no válido: «%s»"
 
-#: commands/extension.c:246
+#: commands/extension.c:248
 #, c-format
 msgid "Extension names must not be empty."
 msgstr "Los nombres de extensión no deben ser vacíos."
 
-#: commands/extension.c:255
+#: commands/extension.c:257
 #, c-format
 msgid "Extension names must not contain \"--\"."
 msgstr "Los nombres de extensión no deben contener «--»."
 
-#: commands/extension.c:267
+#: commands/extension.c:269
 #, c-format
 msgid "Extension names must not begin or end with \"-\"."
 msgstr "Los nombres de extensión no deben empezar ni terminar con «-»."
 
-#: commands/extension.c:277
+#: commands/extension.c:279
 #, c-format
 msgid "Extension names must not contain directory separator characters."
 msgstr "Los nombres de extensión no deben contener caracteres separadores de directorio."
 
-#: commands/extension.c:292 commands/extension.c:301 commands/extension.c:310
-#: commands/extension.c:320
+#: commands/extension.c:294 commands/extension.c:303 commands/extension.c:312
+#: commands/extension.c:322
 #, c-format
 msgid "invalid extension version name: \"%s\""
 msgstr "nombre de versión de extensión no válido: «%s»"
 
-#: commands/extension.c:293
+#: commands/extension.c:295
 #, c-format
 msgid "Version names must not be empty."
 msgstr "Los nombres de versión no deben ser vacíos."
 
-#: commands/extension.c:302
+#: commands/extension.c:304
 #, c-format
 msgid "Version names must not contain \"--\"."
 msgstr "Los nombres de versión no deben contener «--»."
 
-#: commands/extension.c:311
+#: commands/extension.c:313
 #, c-format
 msgid "Version names must not begin or end with \"-\"."
 msgstr "Los nombres de versión no deben empezar ni terminar con «-»."
 
-#: commands/extension.c:321
+#: commands/extension.c:323
 #, c-format
 msgid "Version names must not contain directory separator characters."
 msgstr "Los nombres de versión no deben contener caracteres separadores de directorio."
 
-#: commands/extension.c:471
+#: commands/extension.c:473
 #, c-format
 msgid "could not open extension control file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de control de extensión «%s»: %m"
 
-#: commands/extension.c:493 commands/extension.c:503
+#: commands/extension.c:495 commands/extension.c:505
 #, c-format
 msgid "parameter \"%s\" cannot be set in a secondary extension control file"
 msgstr "el parámetro «%s» no se puede cambiar en un archivo control secundario de extensión"
 
-#: commands/extension.c:542
+#: commands/extension.c:544
 #, c-format
 msgid "\"%s\" is not a valid encoding name"
 msgstr "«%s» no es un nombre válido de codificación"
 
-#: commands/extension.c:556
+#: commands/extension.c:558
 #, c-format
 msgid "parameter \"%s\" must be a list of extension names"
 msgstr "el parámetro «%s» debe ser una lista de nombres de extensión"
 
-#: commands/extension.c:563
+#: commands/extension.c:565
 #, c-format
 msgid "unrecognized parameter \"%s\" in file \"%s\""
 msgstr "parámetro no reconocido «%s» en el archivo «%s»"
 
-#: commands/extension.c:572
+#: commands/extension.c:574
 #, c-format
 msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true"
 msgstr "el parámetro «schema» no puede ser especificado cuando «relocatable» es verdadero"
 
-#: commands/extension.c:724
+#: commands/extension.c:726
 #, c-format
 msgid "transaction control statements are not allowed within an extension script"
 msgstr "las sentencias de control de transacción no están permitidos dentro de un guión de transacción"
 
-#: commands/extension.c:792
+#: commands/extension.c:794
 #, c-format
 msgid "permission denied to create extension \"%s\""
 msgstr "se ha denegado el permiso para crear la extensión «%s»"
 
-#: commands/extension.c:794
+#: commands/extension.c:796
 #, c-format
 msgid "Must be superuser to create this extension."
 msgstr "Debe ser superusuario para crear esta extensión."
 
-#: commands/extension.c:798
+#: commands/extension.c:800
 #, c-format
 msgid "permission denied to update extension \"%s\""
 msgstr "se ha denegado el permiso para actualizar la extensión «%s»"
 
-#: commands/extension.c:800
+#: commands/extension.c:802
 #, c-format
 msgid "Must be superuser to update this extension."
 msgstr "Debe ser superusuario para actualizar esta extensión."
 
-#: commands/extension.c:1082
+#: commands/extension.c:1084
 #, c-format
 msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\""
 msgstr "la extensión «%s» no tiene ruta de actualización desde la versión «%s» hasta la versión «%s»"
 
-#: commands/extension.c:1209
+#: commands/extension.c:1211
 #, c-format
 msgid "extension \"%s\" already exists, skipping"
 msgstr "la extensión «%s» ya existe, ignorando"
 
-#: commands/extension.c:1216
+#: commands/extension.c:1218
 #, c-format
 msgid "extension \"%s\" already exists"
 msgstr "la extensión «%s» ya existe"
 
-#: commands/extension.c:1227
+#: commands/extension.c:1229
 #, c-format
 msgid "nested CREATE EXTENSION is not supported"
 msgstr "los CREATE EXTENSION anidados no están soportados"
 
-#: commands/extension.c:1282 commands/extension.c:2680
+#: commands/extension.c:1284 commands/extension.c:2692
 #, c-format
 msgid "version to install must be specified"
 msgstr "la versión a instalar debe ser especificada"
 
-#: commands/extension.c:1299
+#: commands/extension.c:1301
 #, c-format
 msgid "FROM version must be different from installation target version \"%s\""
 msgstr "la versión FROM debe ser diferente de la versión destino de instalación «%s»"
 
-#: commands/extension.c:1354
+#: commands/extension.c:1356
 #, c-format
 msgid "extension \"%s\" must be installed in schema \"%s\""
 msgstr "la extensión «%s» debe ser instalada en el esquema «%s»"
 
-#: commands/extension.c:1433 commands/extension.c:2821
+#: commands/extension.c:1440 commands/extension.c:2835
 #, c-format
 msgid "required extension \"%s\" is not installed"
 msgstr "la extensión requerida «%s» no está instalada"
 
-#: commands/extension.c:1594
+#: commands/extension.c:1602
 #, c-format
 msgid "cannot drop extension \"%s\" because it is being modified"
 msgstr "no se puede eliminar la extensión «%s» porque está siendo modificada"
 
-#: commands/extension.c:1642 commands/extension.c:1751
-#: commands/extension.c:1944 commands/prepare.c:716 executor/execQual.c:1716
-#: executor/execQual.c:1741 executor/execQual.c:2102 executor/execQual.c:5232
-#: executor/functions.c:969 foreign/foreign.c:373 replication/walsender.c:1509
-#: utils/fmgr/funcapi.c:60 utils/mmgr/portalmem.c:986
-#, c-format
-msgid "set-valued function called in context that cannot accept a set"
-msgstr "se llamó una función que retorna un conjunto en un contexto que no puede aceptarlo"
-
-#: commands/extension.c:1646 commands/extension.c:1755
-#: commands/extension.c:1948 commands/prepare.c:720 foreign/foreign.c:378
-#: replication/walsender.c:1513 utils/mmgr/portalmem.c:990
-#, c-format
-msgid "materialize mode required, but it is not allowed in this context"
-msgstr "se requiere un nodo «materialize», pero no está permitido en este contexto"
-
-#: commands/extension.c:2065
+#: commands/extension.c:2073
 #, c-format
 msgid "pg_extension_config_dump() can only be called from an SQL script executed by CREATE EXTENSION"
 msgstr "pg_extension_config_dump() sólo puede ser llamado desde un guión SQL ejecutado por CREATE EXTENSION"
 
-#: commands/extension.c:2077
+#: commands/extension.c:2085
 #, c-format
 msgid "OID %u does not refer to a table"
 msgstr "el OID %u no hace referencia a una tabla"
 
-#: commands/extension.c:2082
+#: commands/extension.c:2090
 #, c-format
 msgid "table \"%s\" is not a member of the extension being created"
 msgstr "el tabla «%s» no es un miembro de la extensión que se está creando"
 
-#: commands/extension.c:2446
+#: commands/extension.c:2454
 #, c-format
 msgid "cannot move extension \"%s\" into schema \"%s\" because the extension contains the schema"
 msgstr "no se puede mover la extensión «%s» al esquema «%s» porque la extensión contiene al esquema"
 
-#: commands/extension.c:2486 commands/extension.c:2549
+#: commands/extension.c:2494 commands/extension.c:2557
 #, c-format
 msgid "extension \"%s\" does not support SET SCHEMA"
 msgstr "la extensión «%s» no soporta SET SCHEMA"
 
-#: commands/extension.c:2551
+#: commands/extension.c:2559
 #, c-format
 msgid "%s is not in the extension's schema \"%s\""
 msgstr "%s no está en el esquema de la extensión, «%s»"
 
-#: commands/extension.c:2600
+#: commands/extension.c:2612
 #, c-format
 msgid "nested ALTER EXTENSION is not supported"
 msgstr "los ALTER EXTENSION anidados no están soportados"
 
-#: commands/extension.c:2691
+#: commands/extension.c:2703
 #, c-format
 msgid "version \"%s\" of extension \"%s\" is already installed"
 msgstr "la versión «%s» de la extensión «%s» ya está instalada"
 
-#: commands/extension.c:2926
+#: commands/extension.c:2942
 #, c-format
 msgid "cannot add schema \"%s\" to extension \"%s\" because the schema contains the extension"
 msgstr "no se puede agregar el esquema «%s» a la extensión «%s» porque el esquema contiene la extensión"
 
-#: commands/extension.c:2944
+#: commands/extension.c:2960
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s no es un miembro de la extensión «%s»"
 
-#: commands/foreigncmds.c:134 commands/foreigncmds.c:143
+#: commands/foreigncmds.c:135 commands/foreigncmds.c:144
 #, c-format
 msgid "option \"%s\" not found"
 msgstr "opción «%s» no encontrada"
 
-#: commands/foreigncmds.c:153
+#: commands/foreigncmds.c:154
 #, c-format
 msgid "option \"%s\" provided more than once"
 msgstr "la opción «%s» fue especificada más de una vez"
 
-#: commands/foreigncmds.c:218 commands/foreigncmds.c:340
-#: commands/foreigncmds.c:711 foreign/foreign.c:548
-#, c-format
-msgid "foreign-data wrapper \"%s\" does not exist"
-msgstr "no existe el conector de datos externos «%s»"
-
-#: commands/foreigncmds.c:224 commands/foreigncmds.c:601
-#, c-format
-msgid "foreign-data wrapper \"%s\" already exists"
-msgstr "el conector de datos externos «%s» ya existe"
-
-#: commands/foreigncmds.c:256 commands/foreigncmds.c:441
-#: commands/foreigncmds.c:994 commands/foreigncmds.c:1328
-#: foreign/foreign.c:569
-#, c-format
-msgid "server \"%s\" does not exist"
-msgstr "no existe el servidor «%s»"
-
-#: commands/foreigncmds.c:262 commands/foreigncmds.c:889
-#, c-format
-msgid "server \"%s\" already exists"
-msgstr "el servidor «%s» ya existe"
-
-#: commands/foreigncmds.c:296 commands/foreigncmds.c:304
+#: commands/foreigncmds.c:220 commands/foreigncmds.c:228
 #, c-format
 msgid "permission denied to change owner of foreign-data wrapper \"%s\""
 msgstr "se ha denegado el permiso para cambiar el dueño del conector de datos externos «%s»"
 
-#: commands/foreigncmds.c:298
+#: commands/foreigncmds.c:222
 #, c-format
 msgid "Must be superuser to change owner of a foreign-data wrapper."
 msgstr "Debe ser superusuario para cambiar el dueño de un conector de datos externos."
 
-#: commands/foreigncmds.c:306
+#: commands/foreigncmds.c:230
 #, c-format
 msgid "The owner of a foreign-data wrapper must be a superuser."
 msgstr "El dueño de un conector de datos externos debe ser un superusuario."
 
-#: commands/foreigncmds.c:493
+#: commands/foreigncmds.c:268 commands/foreigncmds.c:652 foreign/foreign.c:600
+#, c-format
+msgid "foreign-data wrapper \"%s\" does not exist"
+msgstr "no existe el conector de datos externos «%s»"
+
+#: commands/foreigncmds.c:377 commands/foreigncmds.c:940
+#: commands/foreigncmds.c:1281 foreign/foreign.c:621
+#, c-format
+msgid "server \"%s\" does not exist"
+msgstr "no existe el servidor «%s»"
+
+#: commands/foreigncmds.c:433
 #, c-format
 msgid "function %s must return type \"fdw_handler\""
 msgstr "la función %s debe retornar tipo «fdw_handler»"
 
-#: commands/foreigncmds.c:588
+#: commands/foreigncmds.c:528
 #, c-format
 msgid "permission denied to create foreign-data wrapper \"%s\""
 msgstr "se ha denegado el permiso para crear el conector de datos externos «%s»"
 
-#: commands/foreigncmds.c:590
+#: commands/foreigncmds.c:530
 #, c-format
 msgid "Must be superuser to create a foreign-data wrapper."
 msgstr "Debe ser superusuario para crear un conector de datos externos."
 
-#: commands/foreigncmds.c:701
+#: commands/foreigncmds.c:642
 #, c-format
 msgid "permission denied to alter foreign-data wrapper \"%s\""
 msgstr "permiso denegado para cambiar el conector de datos externos «%s»"
 
-#: commands/foreigncmds.c:703
+#: commands/foreigncmds.c:644
 #, c-format
 msgid "Must be superuser to alter a foreign-data wrapper."
 msgstr "Debe ser superusuario para alterar un conector de datos externos."
 
-#: commands/foreigncmds.c:734
+#: commands/foreigncmds.c:675
 #, c-format
 msgid "changing the foreign-data wrapper handler can change behavior of existing foreign tables"
 msgstr "al cambiar el manejador del conector de datos externos, el comportamiento de las tablas foráneas existentes puede cambiar"
 
-#: commands/foreigncmds.c:748
+#: commands/foreigncmds.c:689
 #, c-format
 msgid "changing the foreign-data wrapper validator can cause the options for dependent objects to become invalid"
 msgstr "al cambiar el validador del conector de datos externos, las opciones para los objetos dependientes de él pueden volverse no válidas"
 
-#: commands/foreigncmds.c:1152
+#: commands/foreigncmds.c:1102
 #, c-format
 msgid "user mapping \"%s\" already exists for server %s"
 msgstr "ya existe un mapeo para el usuario «%s» en el servidor %s"
 
-#: commands/foreigncmds.c:1239 commands/foreigncmds.c:1344
+#: commands/foreigncmds.c:1190 commands/foreigncmds.c:1297
 #, 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:1331
+#: commands/foreigncmds.c:1284
 #, c-format
 msgid "server does not exist, skipping"
 msgstr "el servidor no existe, ignorando"
 
-#: commands/foreigncmds.c:1349
+#: commands/foreigncmds.c:1302
 #, c-format
 msgid "user mapping \"%s\" does not exist for the server, skipping"
 msgstr "el mapeo para el usuario «%s» no existe para el servidor, ignorando"
 
-#: commands/functioncmds.c:102
+#: commands/functioncmds.c:99
 #, c-format
 msgid "SQL function cannot return shell type %s"
 msgstr "una función SQL no puede retornar el tipo inconcluso %s"
 
-#: commands/functioncmds.c:107
+#: commands/functioncmds.c:104
 #, c-format
 msgid "return type %s is only a shell"
 msgstr "el tipo de retorno %s está inconcluso"
 
-#: commands/functioncmds.c:136 parser/parse_type.c:284
+#: commands/functioncmds.c:133 parser/parse_type.c:285
 #, c-format
 msgid "type modifier cannot be specified for shell type \"%s\""
 msgstr "no se puede especificar un modificador de tipo para el tipo inconcluso «%s»"
 
-#: commands/functioncmds.c:142
+#: commands/functioncmds.c:139
 #, c-format
 msgid "type \"%s\" is not yet defined"
 msgstr "el tipo «%s» no ha sido definido aún"
 
-#: commands/functioncmds.c:143
+#: commands/functioncmds.c:140
 #, c-format
 msgid "Creating a shell type definition."
 msgstr "Creando una definición de tipo inconclusa."
 
-#: commands/functioncmds.c:227
+#: commands/functioncmds.c:224
 #, c-format
 msgid "SQL function cannot accept shell type %s"
 msgstr "las funciones SQL no pueden aceptar el tipo inconcluso %s"
 
-#: commands/functioncmds.c:232
+#: commands/functioncmds.c:229
 #, c-format
 msgid "argument type %s is only a shell"
 msgstr "el tipo de argumento %s está inconcluso"
 
-#: commands/functioncmds.c:242
+#: commands/functioncmds.c:239
 #, c-format
 msgid "type %s does not exist"
 msgstr "no existe el tipo %s"
 
-#: commands/functioncmds.c:254
+#: commands/functioncmds.c:251
 #, c-format
 msgid "functions cannot accept set arguments"
 msgstr "funciones no pueden aceptar argumentos de conjunto"
 
-#: commands/functioncmds.c:263
+#: commands/functioncmds.c:260
 #, c-format
 msgid "VARIADIC parameter must be the last input parameter"
 msgstr "el parámetro VARIADIC debe ser el último parámetro de entrada"
 
-#: commands/functioncmds.c:290
+#: commands/functioncmds.c:287
 #, c-format
 msgid "VARIADIC parameter must be an array"
 msgstr "el parámetro VARIADIC debe ser un array"
 
-#: commands/functioncmds.c:330
+#: commands/functioncmds.c:327
 #, c-format
 msgid "parameter name \"%s\" used more than once"
 msgstr "el nombre de parámetro «%s» fue usado más de una vez"
 
-#: commands/functioncmds.c:345
+#: commands/functioncmds.c:342
 #, c-format
 msgid "only input parameters can have default values"
 msgstr "solo los parámetros de entrada pueden tener valores por omisión"
 
-#: commands/functioncmds.c:358
+#: commands/functioncmds.c:357
 #, c-format
 msgid "cannot use table references in parameter default value"
 msgstr "no se pueden usar referencias a tablas en el valor por omisión de un parámetro"
 
-#: commands/functioncmds.c:374
-#, c-format
-msgid "cannot use subquery in parameter default value"
-msgstr "no se puede usar una subconsulta en el valor por omisión de un parámetro"
-
-#: commands/functioncmds.c:378
-#, c-format
-msgid "cannot use aggregate function in parameter default value"
-msgstr "no se puede usar una función de agregación en el valor por omisión de un parámetro"
-
-#: commands/functioncmds.c:382
-#, c-format
-msgid "cannot use window function in parameter default value"
-msgstr "no se puede usar una función de ventana deslizante en el valor por omisión de un parámetro"
-
-#: commands/functioncmds.c:392
+#: commands/functioncmds.c:381
 #, c-format
 msgid "input parameters after one with a default value must also have defaults"
 msgstr "los parámetros de entrada después de uno que tenga valor por omisión también deben tener valores por omisión"
 
-#: commands/functioncmds.c:642
+#: commands/functioncmds.c:631
 #, c-format
 msgid "no function body specified"
 msgstr "no se ha especificado un cuerpo para la función"
 
-#: commands/functioncmds.c:652
+#: commands/functioncmds.c:641
 #, c-format
 msgid "no language specified"
 msgstr "no se ha especificado el lenguaje"
 
-#: commands/functioncmds.c:675 commands/functioncmds.c:1330
+#: commands/functioncmds.c:664 commands/functioncmds.c:1119
 #, c-format
 msgid "COST must be positive"
 msgstr "COST debe ser positivo"
 
-#: commands/functioncmds.c:683 commands/functioncmds.c:1338
+#: commands/functioncmds.c:672 commands/functioncmds.c:1127
 #, c-format
 msgid "ROWS must be positive"
 msgstr "ROWS debe ser positivo"
 
-#: commands/functioncmds.c:722
+#: commands/functioncmds.c:711
 #, c-format
 msgid "unrecognized function attribute \"%s\" ignored"
 msgstr "se ignoró el atributo de función no reconocido «%s»"
 
-#: commands/functioncmds.c:773
+#: commands/functioncmds.c:762
 #, c-format
 msgid "only one AS item needed for language \"%s\""
 msgstr "sólo se requiere un item AS para el lenguaje «%s»"
 
-#: commands/functioncmds.c:861 commands/functioncmds.c:1969
-#: commands/proclang.c:554 commands/proclang.c:591 commands/proclang.c:705
+#: commands/functioncmds.c:850 commands/functioncmds.c:1704
+#: commands/proclang.c:553
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "no existe el lenguaje «%s»"
 
-#: commands/functioncmds.c:863 commands/functioncmds.c:1971
+#: commands/functioncmds.c:852 commands/functioncmds.c:1706
 #, c-format
 msgid "Use CREATE LANGUAGE to load the language into the database."
 msgstr "Usar CREATE LANGUAGE para instalar el lenguaje en la base de datos."
 
-#: commands/functioncmds.c:898 commands/functioncmds.c:1321
+#: commands/functioncmds.c:887 commands/functioncmds.c:1110
 #, c-format
 msgid "only superuser can define a leakproof function"
 msgstr "sólo un superusuario puede definir funciones «leakproof»"
 
-#: commands/functioncmds.c:920
+#: commands/functioncmds.c:909
 #, c-format
 msgid "function result type must be %s because of OUT parameters"
 msgstr "tipo de retorno de función debe ser %s debido a los parámetros OUT"
 
-#: commands/functioncmds.c:933
+#: commands/functioncmds.c:922
 #, c-format
 msgid "function result type must be specified"
 msgstr "el tipo de retorno de la función debe ser especificado"
 
-#: commands/functioncmds.c:968 commands/functioncmds.c:1342
+#: commands/functioncmds.c:957 commands/functioncmds.c:1131
 #, c-format
 msgid "ROWS is not applicable when function does not return a set"
 msgstr "ROWS no es aplicable cuando una función no retorna un conjunto"
 
-#: commands/functioncmds.c:1078
-#, c-format
-msgid "Use ALTER AGGREGATE to rename aggregate functions."
-msgstr "Use ALTER AGGREGATE para cambiar el nombre a las funciones de agregación."
-
-#: commands/functioncmds.c:1141
-#, c-format
-msgid "Use ALTER AGGREGATE to change owner of aggregate functions."
-msgstr "Use ALTER AGGREGATE para cambiar el dueño a las funciones de agregación."
-
-#: commands/functioncmds.c:1491
+#: commands/functioncmds.c:1284
 #, c-format
 msgid "source data type %s is a pseudo-type"
 msgstr "el tipo de origen %s es un pseudotipo"
 
-#: commands/functioncmds.c:1497
+#: commands/functioncmds.c:1290
 #, c-format
 msgid "target data type %s is a pseudo-type"
 msgstr "el tipo de retorno %s es un pseudotipo"
 
-#: commands/functioncmds.c:1521
+#: commands/functioncmds.c:1314
 #, c-format
 msgid "cast will be ignored because the source data type is a domain"
 msgstr "el cast será ignorado porque el tipo de datos de origen es un dominio"
 
-#: commands/functioncmds.c:1526
+#: commands/functioncmds.c:1319
 #, c-format
 msgid "cast will be ignored because the target data type is a domain"
 msgstr "el cast será ignorado porque el tipo de datos de destino es un dominio"
 
-#: commands/functioncmds.c:1553
+#: commands/functioncmds.c:1346
 #, c-format
 msgid "cast function must take one to three arguments"
 msgstr "la función de conversión lleva de uno a tres argumentos"
 
-#: commands/functioncmds.c:1557
+#: commands/functioncmds.c:1350
 #, c-format
 msgid "argument of cast function must match or be binary-coercible from source data type"
 msgstr "el argumento de la función de conversión debe coincidir o ser binario-convertible con el tipo de origen"
 
-#: commands/functioncmds.c:1561
+#: commands/functioncmds.c:1354
 #, c-format
 msgid "second argument of cast function must be type integer"
 msgstr "el segundo argumento de la función de conversión debe ser entero"
 
-#: commands/functioncmds.c:1565
+#: commands/functioncmds.c:1358
 #, c-format
 msgid "third argument of cast function must be type boolean"
 msgstr "el tercer argumento de la función de conversión debe ser de tipo boolean"
 
-#: commands/functioncmds.c:1569
+#: commands/functioncmds.c:1362
 #, c-format
 msgid "return data type of cast function must match or be binary-coercible to target data type"
 msgstr "el tipo de salida de la función de conversión debe coincidir o ser binario-convertible con el tipo de retorno"
 
-#: commands/functioncmds.c:1580
+#: commands/functioncmds.c:1373
 #, c-format
 msgid "cast function must not be volatile"
 msgstr "la función de conversión no debe ser volatile"
 
-#: commands/functioncmds.c:1585
+#: commands/functioncmds.c:1378
 #, c-format
 msgid "cast function must not be an aggregate function"
 msgstr "la función de conversión no debe ser una función de agregación"
 
-#: commands/functioncmds.c:1589
+#: commands/functioncmds.c:1382
 #, c-format
 msgid "cast function must not be a window function"
 msgstr "la función de conversión no debe ser una función de ventana deslizante"
 
-#: commands/functioncmds.c:1593
+#: commands/functioncmds.c:1386
 #, c-format
 msgid "cast function must not return a set"
 msgstr "la función de conversión no debe retornar un conjunto"
 
-#: commands/functioncmds.c:1619
+#: commands/functioncmds.c:1412
 #, c-format
 msgid "must be superuser to create a cast WITHOUT FUNCTION"
 msgstr "debe ser superusuario para crear una conversión sin especificar función"
 
-#: commands/functioncmds.c:1634
+#: commands/functioncmds.c:1427
 #, c-format
 msgid "source and target data types are not physically compatible"
 msgstr "los tipos de datos de origen y destino no son físicamente compatibles"
 
-#: commands/functioncmds.c:1649
+#: commands/functioncmds.c:1442
 #, c-format
 msgid "composite data types are not binary-compatible"
 msgstr "los tipos de datos compuestos no son binario-compatibles"
 
-#: commands/functioncmds.c:1655
+#: commands/functioncmds.c:1448
 #, c-format
 msgid "enum data types are not binary-compatible"
 msgstr "los tipos de datos enum no son binario-compatibles"
 
-#: commands/functioncmds.c:1661
+#: commands/functioncmds.c:1454
 #, c-format
 msgid "array data types are not binary-compatible"
 msgstr "los tipos de datos de array no son binario-compatibles"
 
-#: commands/functioncmds.c:1678
+#: commands/functioncmds.c:1471
 #, c-format
 msgid "domain data types must not be marked binary-compatible"
 msgstr "los tipos de dato de dominio no deben ser marcados binario-compatibles"
 
-#: commands/functioncmds.c:1688
+#: commands/functioncmds.c:1481
 #, c-format
 msgid "source data type and target data type are the same"
 msgstr "el tipo de origen y el tipo de retorno son el mismo"
 
-#: commands/functioncmds.c:1721
+#: commands/functioncmds.c:1514
 #, c-format
 msgid "cast from type %s to type %s already exists"
 msgstr "ya existe una conversión del tipo %s al tipo %s"
 
-#: commands/functioncmds.c:1795
+#: commands/functioncmds.c:1589
 #, c-format
 msgid "cast from type %s to type %s does not exist"
 msgstr "no existe la conversión del tipo %s al tipo %s"
 
-#: commands/functioncmds.c:1883
+#: commands/functioncmds.c:1638
 #, c-format
-msgid "function \"%s\" already exists in schema \"%s\""
+msgid "function %s already exists in schema \"%s\""
 msgstr "ya existe una función llamada %s en el esquema «%s»"
 
-#: commands/functioncmds.c:1956
+#: commands/functioncmds.c:1691
 #, c-format
 msgid "no inline code specified"
 msgstr "no se ha especificado código"
 
-#: commands/functioncmds.c:2001
+#: commands/functioncmds.c:1736
 #, c-format
 msgid "language \"%s\" does not support inline code execution"
 msgstr "el lenguaje «%s» no soporta ejecución de código en línea"
 
-#: commands/indexcmds.c:159 commands/indexcmds.c:480
-#: commands/opclasscmds.c:369 commands/opclasscmds.c:788
-#: commands/opclasscmds.c:2121
+#: commands/indexcmds.c:160 commands/indexcmds.c:481
+#: commands/opclasscmds.c:364 commands/opclasscmds.c:784
+#: commands/opclasscmds.c:1743
 #, c-format
 msgid "access method \"%s\" does not exist"
 msgstr "no existe el método de acceso «%s»"
 
-#: commands/indexcmds.c:337
+#: commands/indexcmds.c:339
 #, c-format
 msgid "must specify at least one column"
 msgstr "debe especificar al menos una columna"
 
-#: commands/indexcmds.c:341
+#: commands/indexcmds.c:343
 #, c-format
 msgid "cannot use more than %d columns in an index"
 msgstr "no se puede usar más de %d columnas en un índice"
 
-#: commands/indexcmds.c:369
+#: commands/indexcmds.c:370
 #, c-format
 msgid "cannot create index on foreign table \"%s\""
 msgstr "no se puede crear un índice en la tabla foránea «%s»"
 
-#: commands/indexcmds.c:384
+#: commands/indexcmds.c:385
 #, c-format
 msgid "cannot create indexes on temporary tables of other sessions"
 msgstr "no se pueden crear índices en tablas temporales de otras sesiones"
 
-#: commands/indexcmds.c:439 commands/tablecmds.c:509 commands/tablecmds.c:8691
+#: commands/indexcmds.c:440 commands/tablecmds.c:519 commands/tablecmds.c:8773
 #, c-format
 msgid "only shared relations can be placed in pg_global tablespace"
 msgstr "sólo relaciones compartidas pueden ser puestas en el tablespace pg_global"
 
-#: commands/indexcmds.c:472
+#: commands/indexcmds.c:473
 #, c-format
 msgid "substituting access method \"gist\" for obsolete method \"rtree\""
 msgstr "sustituyendo el método de acceso obsoleto «rtree» por «gist»"
 
-#: commands/indexcmds.c:489
+#: commands/indexcmds.c:490
 #, c-format
 msgid "access method \"%s\" does not support unique indexes"
 msgstr "el método de acceso «%s» no soporta índices únicos"
 
-#: commands/indexcmds.c:494
+#: commands/indexcmds.c:495
 #, c-format
 msgid "access method \"%s\" does not support multicolumn indexes"
 msgstr "el método de acceso «%s» no soporta índices multicolumna"
 
-#: commands/indexcmds.c:499
+#: commands/indexcmds.c:500
 #, c-format
 msgid "access method \"%s\" does not support exclusion constraints"
 msgstr "el método de acceso «%s» no soporta restricciones por exclusión"
 
-#: commands/indexcmds.c:578
+#: commands/indexcmds.c:579
 #, c-format
 msgid "%s %s will create implicit index \"%s\" for table \"%s\""
 msgstr "%s %s creará el índice implícito «%s» para la tabla «%s»"
 
-#: commands/indexcmds.c:923
-#, c-format
-msgid "cannot use subquery in index predicate"
-msgstr "no se puede usar una subconsulta en un predicado de índice"
-
-#: commands/indexcmds.c:927
-#, c-format
-msgid "cannot use aggregate in index predicate"
-msgstr "no se puede usar una función de agregación en un predicado de índice"
-
-#: commands/indexcmds.c:936
+#: commands/indexcmds.c:935
 #, 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:1002 parser/parse_utilcmd.c:1761
+#: commands/indexcmds.c:1001 parser/parse_utilcmd.c:1802
 #, c-format
 msgid "column \"%s\" named in key does not exist"
 msgstr "no existe la columna «%s» en la llave"
 
-#: commands/indexcmds.c:1055
-#, c-format
-msgid "cannot use subquery in index expression"
-msgstr "no se puede usar una subconsulta en una expresión de índice"
-
-#: commands/indexcmds.c:1059
-#, c-format
-msgid "cannot use aggregate function in index expression"
-msgstr "no se puede usar una función de agregación en una expresión de índice"
-
-#: commands/indexcmds.c:1070
+#: commands/indexcmds.c:1061
 #, 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:1093
+#: commands/indexcmds.c:1084
 #, 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:1101 commands/typecmds.c:776 parser/parse_expr.c:2171
-#: parser/parse_type.c:498 parser/parse_utilcmd.c:2621 utils/adt/misc.c:518
+#: commands/indexcmds.c:1092 commands/typecmds.c:780 parser/parse_expr.c:2261
+#: parser/parse_type.c:499 parser/parse_utilcmd.c:2675 utils/adt/misc.c:527
 #, 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:1139
+#: commands/indexcmds.c:1130
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "el operador %s no es conmutativo"
 
-#: commands/indexcmds.c:1141
+#: commands/indexcmds.c:1132
 #, 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:1167
+#: commands/indexcmds.c:1158
 #, 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:1170
+#: commands/indexcmds.c:1161
 #, 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:1205
+#: commands/indexcmds.c:1196
 #, 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:1210
+#: commands/indexcmds.c:1201
 #, 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:1266 commands/typecmds.c:1853
+#: commands/indexcmds.c:1257 commands/typecmds.c:1885
 #, 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:1268
+#: commands/indexcmds.c:1259
 #, 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:1297 commands/indexcmds.c:1305
-#: commands/opclasscmds.c:212
+#: commands/indexcmds.c:1288 commands/indexcmds.c:1296
+#: commands/opclasscmds.c:208
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "no existe la clase de operadores «%s» para el método de acceso «%s»"
 
-#: commands/indexcmds.c:1318 commands/typecmds.c:1841
+#: commands/indexcmds.c:1309 commands/typecmds.c:1873
 #, 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:1408
+#: commands/indexcmds.c:1399
 #, 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:1780
+#: commands/indexcmds.c:1775
 #, c-format
 msgid "table \"%s\" has no indexes"
 msgstr "la tabla «%s» no tiene índices"
 
-#: commands/indexcmds.c:1808
+#: commands/indexcmds.c:1805
 #, c-format
 msgid "can only reindex the currently open database"
 msgstr "sólo se puede reindexar la base de datos actualmente abierta"
@@ -5602,211 +5758,209 @@ msgstr "sólo se puede reindexar la base de datos actualmente abierta"
 msgid "table \"%s.%s\" was reindexed"
 msgstr "la tabla «%s.%s» fue reindexada"
 
-#: commands/opclasscmds.c:136 commands/opclasscmds.c:1757
-#: commands/opclasscmds.c:1768 commands/opclasscmds.c:2002
-#: commands/opclasscmds.c:2013
+#: commands/opclasscmds.c:132
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\""
 msgstr "no existe la familia de operadores «%s» para el método de acceso «%s»"
 
-#: commands/opclasscmds.c:271
+#: commands/opclasscmds.c:267
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists"
 msgstr "ya exista una familia de operadores «%s» para el método de acceso «%s»"
 
-#: commands/opclasscmds.c:408
+#: commands/opclasscmds.c:403
 #, c-format
 msgid "must be superuser to create an operator class"
 msgstr "debe ser superusuario para crear una clase de operadores"
 
-#: commands/opclasscmds.c:479 commands/opclasscmds.c:862
-#: commands/opclasscmds.c:992
+#: commands/opclasscmds.c:474 commands/opclasscmds.c:860
+#: commands/opclasscmds.c:990
 #, c-format
 msgid "invalid operator number %d, must be between 1 and %d"
 msgstr "el número de operador %d es incorrecto, debe estar entre 1 y %d"
 
-#: commands/opclasscmds.c:530 commands/opclasscmds.c:913
-#: commands/opclasscmds.c:1007
+#: commands/opclasscmds.c:525 commands/opclasscmds.c:911
+#: commands/opclasscmds.c:1005
 #, c-format
 msgid "invalid procedure number %d, must be between 1 and %d"
 msgstr "el número de procedimiento %d no es válido, debe estar entre 1 y %d"
 
-#: commands/opclasscmds.c:560
+#: commands/opclasscmds.c:555
 #, c-format
 msgid "storage type specified more than once"
 msgstr "el tipo de almacenamiento fue especificado más de una vez"
 
-#: commands/opclasscmds.c:587
+#: commands/opclasscmds.c:582
 #, c-format
 msgid "storage type cannot be different from data type for access method \"%s\""
 msgstr "el tipo de almacenamiento no puede ser diferente del tipo de dato para el método de acceso «%s»"
 
-#: commands/opclasscmds.c:603
+#: commands/opclasscmds.c:598
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists"
 msgstr "ya exista una clase de operadores «%s» para el método de acceso «%s»"
 
-#: commands/opclasscmds.c:631
+#: commands/opclasscmds.c:626
 #, c-format
 msgid "could not make operator class \"%s\" be default for type %s"
 msgstr "no se pudo hacer que «%s» sea la clase de operadores por omisión para el tipo %s"
 
-#: commands/opclasscmds.c:634
+#: commands/opclasscmds.c:629
 #, c-format
 msgid "Operator class \"%s\" already is the default."
 msgstr "Actualmente, «%s» es la clase de operadores por omisión."
 
-#: commands/opclasscmds.c:758
+#: commands/opclasscmds.c:754
 #, c-format
 msgid "must be superuser to create an operator family"
 msgstr "debe ser superusuario para crear una familia de operadores"
 
-#: commands/opclasscmds.c:814
+#: commands/opclasscmds.c:810
 #, c-format
 msgid "must be superuser to alter an operator family"
 msgstr "debe ser superusuario para alterar una familia de operadores"
 
-#: commands/opclasscmds.c:878
+#: commands/opclasscmds.c:876
 #, c-format
 msgid "operator argument types must be specified in ALTER OPERATOR FAMILY"
 msgstr "los tipos de los argumentos de operador deben ser especificados en ALTER OPERATOR FAMILY"
 
-#: commands/opclasscmds.c:942
+#: commands/opclasscmds.c:940
 #, c-format
 msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY"
 msgstr "STORAGE no puede ser especificado en ALTER OPERATOR FAMILY"
 
-#: commands/opclasscmds.c:1058
+#: commands/opclasscmds.c:1056
 #, c-format
 msgid "one or two argument types must be specified"
 msgstr "uno o dos tipos de argumento debe/n ser especificado"
 
-#: commands/opclasscmds.c:1084
+#: commands/opclasscmds.c:1082
 #, c-format
 msgid "index operators must be binary"
 msgstr "los operadores de índice deben ser binarios"
 
-#: commands/opclasscmds.c:1109
+#: commands/opclasscmds.c:1107
 #, c-format
 msgid "access method \"%s\" does not support ordering operators"
 msgstr "el método de acceso «%s» no soporta operadores de ordenamiento"
 
-#: commands/opclasscmds.c:1122
+#: commands/opclasscmds.c:1120
 #, c-format
 msgid "index search operators must return boolean"
 msgstr "los operadores de búsqueda en índices deben retornar boolean"
 
-#: commands/opclasscmds.c:1164
+#: commands/opclasscmds.c:1162
 #, c-format
 msgid "btree comparison procedures must have two arguments"
 msgstr "los procedimientos de comparación btree deben tener dos argumentos"
 
-#: commands/opclasscmds.c:1168
+#: commands/opclasscmds.c:1166
 #, c-format
 msgid "btree comparison procedures must return integer"
 msgstr "los procedimientos de comparación btree deben retornar integer"
 
-#: commands/opclasscmds.c:1185
+#: commands/opclasscmds.c:1183
 #, c-format
 msgid "btree sort support procedures must accept type \"internal\""
 msgstr "los procedimientos de «sort support» de btree deben aceptar tipo «internal»"
 
-#: commands/opclasscmds.c:1189
+#: commands/opclasscmds.c:1187
 #, c-format
 msgid "btree sort support procedures must return void"
 msgstr "los procedimientos de «sort support» de btree deben retornar «void»"
 
-#: commands/opclasscmds.c:1201
+#: commands/opclasscmds.c:1199
 #, c-format
 msgid "hash procedures must have one argument"
 msgstr "los procedimientos de hash deben tener un argumento"
 
-#: commands/opclasscmds.c:1205
+#: commands/opclasscmds.c:1203
 #, c-format
 msgid "hash procedures must return integer"
 msgstr "los procedimientos de hash deben retornar integer"
 
-#: commands/opclasscmds.c:1229
+#: commands/opclasscmds.c:1227
 #, c-format
 msgid "associated data types must be specified for index support procedure"
 msgstr "los tipos de datos asociados deben ser especificados en el procedimiento de soporte de índice"
 
-#: commands/opclasscmds.c:1254
+#: commands/opclasscmds.c:1252
 #, c-format
 msgid "procedure number %d for (%s,%s) appears more than once"
 msgstr "el número de procedimiento %d para (%s,%s) aparece más de una vez"
 
-#: commands/opclasscmds.c:1261
+#: commands/opclasscmds.c:1259
 #, c-format
 msgid "operator number %d for (%s,%s) appears more than once"
 msgstr "el número de operador %d para (%s,%s) aparece más de una vez"
 
-#: commands/opclasscmds.c:1310
+#: commands/opclasscmds.c:1308
 #, c-format
 msgid "operator %d(%s,%s) already exists in operator family \"%s\""
 msgstr "ya existe un operador %d(%s,%s) en la familia de operadores «%s»"
 
-#: commands/opclasscmds.c:1423
+#: commands/opclasscmds.c:1424
 #, c-format
 msgid "function %d(%s,%s) already exists in operator family \"%s\""
 msgstr "ya existe una función %d(%s,%s) en la familia de operador «%s»"
 
-#: commands/opclasscmds.c:1510
+#: commands/opclasscmds.c:1514
 #, c-format
 msgid "operator %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "no existe el operador %d(%s,%s) en la familia de operadores «%s»"
 
-#: commands/opclasscmds.c:1550
+#: commands/opclasscmds.c:1554
 #, c-format
 msgid "function %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "no existe la función %d(%s,%s) en la familia de operadores «%s»"
 
-#: commands/opclasscmds.c:1697
+#: commands/opclasscmds.c:1699
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists in schema \"%s\""
 msgstr "ya existe una clase de operadores «%s» para el método de acceso «%s» en el esquema «%s»"
 
-#: commands/opclasscmds.c:1786
+#: commands/opclasscmds.c:1722
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists in schema \"%s\""
 msgstr "ya existe una familia de operadores «%s» para el método de acceso «%s» en el esquema «%s»"
 
-#: commands/operatorcmds.c:99
+#: commands/operatorcmds.c:97
 #, c-format
 msgid "=> is deprecated as an operator name"
 msgstr "=> es un nombre obsoleto de operador"
 
-#: commands/operatorcmds.c:100
+#: commands/operatorcmds.c:98
 #, c-format
 msgid "This name may be disallowed altogether in future versions of PostgreSQL."
 msgstr "Este nombre puede prohibirse por completo en futuras versiones de PostgreSQL."
 
-#: commands/operatorcmds.c:121 commands/operatorcmds.c:129
+#: commands/operatorcmds.c:119 commands/operatorcmds.c:127
 #, c-format
 msgid "SETOF type not allowed for operator argument"
 msgstr "no se permite un tipo SETOF en los argumentos de un operador"
 
-#: commands/operatorcmds.c:157
+#: commands/operatorcmds.c:155
 #, c-format
 msgid "operator attribute \"%s\" not recognized"
 msgstr "el atributo de operador «%s» no es reconocido"
 
-#: commands/operatorcmds.c:167
+#: commands/operatorcmds.c:165
 #, c-format
 msgid "operator procedure must be specified"
 msgstr "debe especificarse un procedimiento de operador"
 
-#: commands/operatorcmds.c:178
+#: commands/operatorcmds.c:176
 #, c-format
 msgid "at least one of leftarg or rightarg must be specified"
 msgstr "debe especificar al menos uno de los argumentos izquierdo o derecho"
 
-#: commands/operatorcmds.c:246
+#: commands/operatorcmds.c:244
 #, c-format
 msgid "restriction estimator function %s must return type \"float8\""
 msgstr "la función de estimación de restricción %s debe retornar tipo «float8»"
 
-#: commands/operatorcmds.c:285
+#: commands/operatorcmds.c:283
 #, c-format
 msgid "join estimator function %s must return type \"float8\""
 msgstr "la función de estimación de join %s debe retornar tipo «float8»"
@@ -5818,17 +5972,17 @@ 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:2387 utils/adt/xml.c:2551
+#: executor/execCurrent.c:67 utils/adt/xml.c:2395 utils/adt/xml.c:2562
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "no existe el cursor «%s»"
 
-#: commands/portalcmds.c:340 tcop/pquery.c:739 tcop/pquery.c:1402
+#: commands/portalcmds.c:341 tcop/pquery.c:740 tcop/pquery.c:1404
 #, c-format
 msgid "portal \"%s\" cannot be run"
 msgstr "el portal «%s» no puede ser ejecutado"
 
-#: commands/portalcmds.c:413
+#: commands/portalcmds.c:415
 #, c-format
 msgid "could not reposition held cursor"
 msgstr "no se pudo reposicionar cursor abierto"
@@ -5838,7 +5992,7 @@ msgstr "no se pudo reposicionar cursor abierto"
 msgid "invalid statement name: must not be empty"
 msgstr "el nombre de sentencia no es válido: no debe ser vacío"
 
-#: commands/prepare.c:129 parser/parse_param.c:303 tcop/postgres.c:1297
+#: commands/prepare.c:129 parser/parse_param.c:304 tcop/postgres.c:1299
 #, c-format
 msgid "could not determine data type of parameter $%d"
 msgstr "no se pudo determinar el tipo del parámetro $%d"
@@ -5863,1276 +6017,1235 @@ msgstr "el número de parámetros es incorrecto en la sentencia preparada «%s»
 msgid "Expected %d parameters but got %d."
 msgstr "Se esperaban %d parámetros pero se obtuvieron %d."
 
-#: commands/prepare.c:363
-#, c-format
-msgid "cannot use subquery in EXECUTE parameter"
-msgstr "no se puede usar una subconsulta en un parámetro a EXECUTE"
-
-#: commands/prepare.c:367
-#, c-format
-msgid "cannot use aggregate function in EXECUTE parameter"
-msgstr "no se puede usar una función de agregación en un parámetro a EXECUTE"
-
-#: commands/prepare.c:371
-#, c-format
-msgid "cannot use window function in EXECUTE parameter"
-msgstr "no se puede usar una función de ventana deslizante en un parámetro a EXECUTE"
-
-#: commands/prepare.c:384
+#: commands/prepare.c:370
 #, c-format
 msgid "parameter $%d of type %s cannot be coerced to the expected type %s"
 msgstr "el parámetro $%d de tipo %s no puede ser convertido al tipo esperado %s"
 
-#: commands/prepare.c:479
+#: commands/prepare.c:465
 #, c-format
 msgid "prepared statement \"%s\" already exists"
 msgstr "la sentencia preparada «%s» ya existe"
 
-#: commands/prepare.c:518
+#: commands/prepare.c:504
 #, c-format
 msgid "prepared statement \"%s\" does not exist"
 msgstr "no existe la sentencia preparada «%s»"
 
-#: commands/proclang.c:88
+#: commands/proclang.c:86
 #, c-format
 msgid "using pg_pltemplate information instead of CREATE LANGUAGE parameters"
 msgstr "usando información de pg_pltemplate en vez de los parámetros de CREATE LANGUAGE"
 
-#: commands/proclang.c:98
+#: commands/proclang.c:96
 #, c-format
 msgid "must be superuser to create procedural language \"%s\""
 msgstr "debe ser superusuario para crear el lenguaje procedural «%s»"
 
-#: commands/proclang.c:118 commands/proclang.c:280
+#: commands/proclang.c:116 commands/proclang.c:278
 #, c-format
 msgid "function %s must return type \"language_handler\""
 msgstr "la función %s debe retornar tipo «language_handler»"
 
-#: commands/proclang.c:244
+#: commands/proclang.c:242
 #, c-format
 msgid "unsupported language \"%s\""
 msgstr "lenguaje no soportado: «%s»"
 
-#: commands/proclang.c:246
+#: commands/proclang.c:244
 #, c-format
 msgid "The supported languages are listed in the pg_pltemplate system catalog."
 msgstr "Los lenguajes soportados están listados en el catálogo del sistema pg_pltemplate."
 
-#: commands/proclang.c:254
+#: commands/proclang.c:252
 #, c-format
 msgid "must be superuser to create custom procedural language"
 msgstr "debe ser superusuario para crear un lenguaje procedural personalizado"
 
-#: commands/proclang.c:273
+#: commands/proclang.c:271
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to \"language_handler\""
 msgstr "cambiando el tipo de retorno de la función %s de «opaque» a «language_handler»"
 
-#: commands/proclang.c:358 commands/proclang.c:560
-#, c-format
-msgid "language \"%s\" already exists"
-msgstr "ya existe el lenguaje «%s»"
-
-#: commands/schemacmds.c:81 commands/schemacmds.c:211
+#: commands/schemacmds.c:84 commands/schemacmds.c:236
 #, c-format
 msgid "unacceptable schema name \"%s\""
 msgstr "el nombre de schema «%s» es inaceptable"
 
-#: commands/schemacmds.c:82 commands/schemacmds.c:212
+#: commands/schemacmds.c:85 commands/schemacmds.c:237
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system schemas."
 msgstr "El prefijo «pg_» está reservado para esquemas del sistema."
 
-#: commands/seclabel.c:57
+#: commands/schemacmds.c:99
+#, c-format
+msgid "schema \"%s\" already exists, skipping"
+msgstr "el esquema «%s» ya existe, ignorando"
+
+#: commands/seclabel.c:58
 #, c-format
 msgid "no security label providers have been loaded"
 msgstr "no se ha cargado ningún proveedor de etiquetas de seguridad"
 
-#: commands/seclabel.c:61
+#: commands/seclabel.c:62
 #, c-format
 msgid "must specify provider when multiple security label providers have been loaded"
 msgstr "debe especificar un proveedor de etiquetas de seguridad cuando más de uno ha sido cargados"
 
-#: commands/seclabel.c:79
+#: commands/seclabel.c:80
 #, c-format
 msgid "security label provider \"%s\" is not loaded"
 msgstr "el proveedor de etiquetas de seguridad «%s» no está cargado"
 
-#: commands/sequence.c:124
+#: commands/sequence.c:127
 #, c-format
 msgid "unlogged sequences are not supported"
 msgstr "las secuencias unlogged no están soportadas"
 
-#: commands/sequence.c:419 commands/tablecmds.c:2264 commands/tablecmds.c:2436
-#: commands/tablecmds.c:9788 parser/parse_utilcmd.c:2321 tcop/utility.c:756
+#: commands/sequence.c:425 commands/tablecmds.c:2291 commands/tablecmds.c:2470
+#: commands/tablecmds.c:9902 parser/parse_utilcmd.c:2366 tcop/utility.c:1041
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "no existe la relación «%s», ignorando"
 
-#: commands/sequence.c:634
+#: commands/sequence.c:643
 #, c-format
 msgid "nextval: reached maximum value of sequence \"%s\" (%s)"
 msgstr "nextval: se alcanzó el valor máximo de la secuencia «%s» (%s)"
 
-#: commands/sequence.c:657
+#: commands/sequence.c:666
 #, c-format
 msgid "nextval: reached minimum value of sequence \"%s\" (%s)"
 msgstr "nextval: se alcanzó el valor mínimo de la secuencia «%s» (%s)"
 
-#: commands/sequence.c:771
+#: commands/sequence.c:779
 #, c-format
 msgid "currval of sequence \"%s\" is not yet defined in this session"
 msgstr "currval de la secuencia «%s» no está definido en esta sesión"
 
-#: commands/sequence.c:790 commands/sequence.c:796
+#: commands/sequence.c:798 commands/sequence.c:804
 #, c-format
 msgid "lastval is not yet defined in this session"
 msgstr "lastval no está definido en esta sesión"
 
-#: commands/sequence.c:865
+#: commands/sequence.c:873
 #, c-format
 msgid "setval: value %s is out of bounds for sequence \"%s\" (%s..%s)"
 msgstr "setval: el valor %s está fuera del rango de la secuencia «%s» (%s..%s)"
 
-#: commands/sequence.c:1028 lib/stringinfo.c:266 libpq/auth.c:1018
-#: libpq/auth.c:1378 libpq/auth.c:1446 libpq/auth.c:1848
-#: postmaster/postmaster.c:1921 postmaster/postmaster.c:1952
-#: postmaster/postmaster.c:3250 postmaster/postmaster.c:3934
-#: postmaster/postmaster.c:4020 postmaster/postmaster.c:4643
-#: storage/buffer/buf_init.c:154 storage/buffer/localbuf.c:393
-#: storage/file/fd.c:369 storage/file/fd.c:752 storage/file/fd.c:870
-#: storage/ipc/procarray.c:845 storage/ipc/procarray.c:1285
-#: storage/ipc/procarray.c:1292 storage/ipc/procarray.c:1611
-#: storage/ipc/procarray.c:2080 utils/adt/formatting.c:1531
-#: utils/adt/formatting.c:1656 utils/adt/formatting.c:1793
-#: utils/adt/regexp.c:209 utils/adt/varlena.c:3527 utils/adt/varlena.c:3548
-#: utils/fmgr/dfmgr.c:224 utils/hash/dynahash.c:373 utils/hash/dynahash.c:450
-#: utils/hash/dynahash.c:964 utils/init/miscinit.c:150
-#: utils/init/miscinit.c:171 utils/init/miscinit.c:181 utils/mb/mbutils.c:374
-#: utils/mb/mbutils.c:675 utils/misc/guc.c:3362 utils/misc/guc.c:3378
-#: utils/misc/guc.c:3391 utils/misc/tzparser.c:455 utils/mmgr/aset.c:416
-#: utils/mmgr/aset.c:587 utils/mmgr/aset.c:765 utils/mmgr/aset.c:966
-#, c-format
-msgid "out of memory"
-msgstr "memoria agotada"
-
-#: commands/sequence.c:1234
+#: commands/sequence.c:1242
 #, c-format
 msgid "INCREMENT must not be zero"
 msgstr "INCREMENT no debe ser cero"
 
-#: commands/sequence.c:1290
+#: commands/sequence.c:1298
 #, c-format
 msgid "MINVALUE (%s) must be less than MAXVALUE (%s)"
 msgstr "MINVALUE (%s) debe ser menor que MAXVALUE (%s)"
 
-#: commands/sequence.c:1315
+#: commands/sequence.c:1323
 #, c-format
 msgid "START value (%s) cannot be less than MINVALUE (%s)"
 msgstr "el valor START (%s) no puede ser menor que MINVALUE (%s)"
 
-#: commands/sequence.c:1327
+#: commands/sequence.c:1335
 #, c-format
 msgid "START value (%s) cannot be greater than MAXVALUE (%s)"
 msgstr "el valor START (%s) no puede ser mayor que MAXVALUE (%s)"
 
-#: commands/sequence.c:1357
+#: commands/sequence.c:1365
 #, c-format
 msgid "RESTART value (%s) cannot be less than MINVALUE (%s)"
 msgstr "el valor RESTART (%s) no puede ser menor que MINVALUE (%s)"
 
-#: commands/sequence.c:1369
+#: commands/sequence.c:1377
 #, c-format
 msgid "RESTART value (%s) cannot be greater than MAXVALUE (%s)"
 msgstr "el valor RESTART (%s) no puede ser mayor que MAXVALUE (%s)"
 
-#: commands/sequence.c:1384
+#: commands/sequence.c:1392
 #, c-format
 msgid "CACHE (%s) must be greater than zero"
 msgstr "CACHE (%s) debe ser mayor que cero"
 
-#: commands/sequence.c:1416
+#: commands/sequence.c:1424
 #, c-format
 msgid "invalid OWNED BY option"
 msgstr "opción OWNED BY no válida"
 
-#: commands/sequence.c:1417
+#: commands/sequence.c:1425
 #, c-format
 msgid "Specify OWNED BY table.column or OWNED BY NONE."
 msgstr "Especifique OWNED BY tabla.columna o OWNED BY NONE."
 
-#: commands/sequence.c:1439 commands/tablecmds.c:5740
+#: commands/sequence.c:1448
 #, c-format
-msgid "referenced relation \"%s\" is not a table"
-msgstr "la relación referida «%s» no es una tabla"
+msgid "referenced relation \"%s\" is not a table or foreign table"
+msgstr "la relación referida «%s» no es una tabla o tabla foránea"
 
-#: commands/sequence.c:1446
+#: commands/sequence.c:1455
 #, c-format
 msgid "sequence must have same owner as table it is linked to"
 msgstr "la secuencia debe tener el mismo dueño que la tabla a la que está enlazada"
 
-#: commands/sequence.c:1450
+#: commands/sequence.c:1459
 #, c-format
 msgid "sequence must be in same schema as table it is linked to"
 msgstr "la secuencia debe estar en el mismo esquema que la tabla a la que está enlazada"
 
-#: commands/tablecmds.c:202
+#: commands/tablecmds.c:205
 #, c-format
 msgid "table \"%s\" does not exist"
 msgstr "no existe la tabla «%s»"
 
-#: commands/tablecmds.c:203
+#: commands/tablecmds.c:206
 #, c-format
 msgid "table \"%s\" does not exist, skipping"
 msgstr "la tabla «%s» no existe, ignorando"
 
-#: commands/tablecmds.c:205
+#: commands/tablecmds.c:208
 msgid "Use DROP TABLE to remove a table."
 msgstr "Use DROP TABLE para eliminar una tabla."
 
-#: commands/tablecmds.c:208
+#: commands/tablecmds.c:211
 #, c-format
 msgid "sequence \"%s\" does not exist"
 msgstr "no existe la secuencia «%s»"
 
-#: commands/tablecmds.c:209
+#: commands/tablecmds.c:212
 #, c-format
 msgid "sequence \"%s\" does not exist, skipping"
 msgstr "la secuencia «%s» no existe, ignorando"
 
-#: commands/tablecmds.c:211
+#: commands/tablecmds.c:214
 msgid "Use DROP SEQUENCE to remove a sequence."
 msgstr "Use DROP SEQUENCE para eliminar una secuencia."
 
-#: commands/tablecmds.c:214
+#: commands/tablecmds.c:217
 #, c-format
 msgid "view \"%s\" does not exist"
 msgstr "no existe la vista «%s»"
 
-#: commands/tablecmds.c:215
+#: commands/tablecmds.c:218
 #, c-format
 msgid "view \"%s\" does not exist, skipping"
 msgstr "la vista «%s» no existe, ignorando"
 
-#: commands/tablecmds.c:217
+#: commands/tablecmds.c:220
 msgid "Use DROP VIEW to remove a view."
 msgstr "Use DROP VIEW para eliminar una vista."
 
-#: commands/tablecmds.c:220 parser/parse_utilcmd.c:1512
+#: commands/tablecmds.c:223
+#, c-format
+msgid "materialized view \"%s\" does not exist"
+msgstr "no existe la vista materializada «%s»"
+
+#: commands/tablecmds.c:224
+#, c-format
+msgid "materialized view \"%s\" does not exist, skipping"
+msgstr "la vista materializada «%s» no existe, ignorando"
+
+#: commands/tablecmds.c:226
+msgid "Use DROP MATERIALIZED VIEW to remove a materialized view."
+msgstr "Use DROP MATERIALIZED VIEW para eliminar una vista materializada."
+
+#: commands/tablecmds.c:229 parser/parse_utilcmd.c:1553
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "no existe el índice «%s»"
 
-#: commands/tablecmds.c:221
+#: commands/tablecmds.c:230
 #, c-format
 msgid "index \"%s\" does not exist, skipping"
 msgstr "el índice «%s» no existe, ignorando"
 
-#: commands/tablecmds.c:223
+#: commands/tablecmds.c:232
 msgid "Use DROP INDEX to remove an index."
 msgstr "Use DROP INDEX para eliminar un índice."
 
-#: commands/tablecmds.c:228
+#: commands/tablecmds.c:237
 #, c-format
 msgid "\"%s\" is not a type"
 msgstr "«%s» no es un tipo"
 
-#: commands/tablecmds.c:229
+#: commands/tablecmds.c:238
 msgid "Use DROP TYPE to remove a type."
 msgstr "Use DROP TYPE para eliminar un tipo."
 
-#: commands/tablecmds.c:232 commands/tablecmds.c:7751
-#: commands/tablecmds.c:9723
+#: commands/tablecmds.c:241 commands/tablecmds.c:7813
+#: commands/tablecmds.c:9834
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "no existe la tabla foránea «%s»"
 
-#: commands/tablecmds.c:233
+#: commands/tablecmds.c:242
 #, c-format
 msgid "foreign table \"%s\" does not exist, skipping"
 msgstr "la tabla foránea «%s» no existe, ignorando"
 
-#: commands/tablecmds.c:235
+#: commands/tablecmds.c:244
 msgid "Use DROP FOREIGN TABLE to remove a foreign table."
 msgstr "Use DROP FOREIGN TABLE para eliminar una tabla foránea."
 
-#: commands/tablecmds.c:453
+#: commands/tablecmds.c:463
 #, c-format
 msgid "ON COMMIT can only be used on temporary tables"
 msgstr "ON COMMIT sólo puede ser usado en tablas temporales"
 
-#: commands/tablecmds.c:457
+#: commands/tablecmds.c:467 parser/parse_utilcmd.c:528
+#: parser/parse_utilcmd.c:539 parser/parse_utilcmd.c:556
+#: parser/parse_utilcmd.c:618
 #, c-format
-msgid "constraints on foreign tables are not supported"
-msgstr "las restricciones en tablas foráneas no están soportadas"
+msgid "constraints are not supported on foreign tables"
+msgstr "las restricciones no están soportadas en tablas foráneas"
 
-#: commands/tablecmds.c:477
+#: commands/tablecmds.c:487
 #, c-format
 msgid "cannot create temporary table within security-restricted operation"
 msgstr "no se puede crear una tabla temporal dentro una operación restringida por seguridad"
 
-#: commands/tablecmds.c:583 commands/tablecmds.c:4489
-#, c-format
-msgid "default values on foreign tables are not supported"
-msgstr "los valores por omisión en tablas foráneas no están soportados"
-
-#: commands/tablecmds.c:755
+#: commands/tablecmds.c:763
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects"
 msgstr "DROP INDEX CONCURRENTLY no soporta eliminar múltiples objetos"
 
-#: commands/tablecmds.c:759
+#: commands/tablecmds.c:767
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
 msgstr "DROP INDEX CONCURRENTLY no soporta CASCADE"
 
-#: commands/tablecmds.c:900 commands/tablecmds.c:1235
-#: commands/tablecmds.c:2081 commands/tablecmds.c:3948
-#: commands/tablecmds.c:5746 commands/tablecmds.c:10317 commands/trigger.c:194
-#: commands/trigger.c:1085 commands/trigger.c:1191 rewrite/rewriteDefine.c:266
-#: tcop/utility.c:104
+#: commands/tablecmds.c:912 commands/tablecmds.c:1250
+#: commands/tablecmds.c:2106 commands/tablecmds.c:3997
+#: commands/tablecmds.c:5822 commands/tablecmds.c:10450 commands/trigger.c:196
+#: commands/trigger.c:1074 commands/trigger.c:1180 rewrite/rewriteDefine.c:274
+#: rewrite/rewriteDefine.c:860 tcop/utility.c:116
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "permiso denegado: «%s» es un catálogo de sistema"
 
-#: commands/tablecmds.c:1014
+#: commands/tablecmds.c:1026
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "truncando además la tabla «%s»"
 
-#: commands/tablecmds.c:1245
+#: commands/tablecmds.c:1260
 #, c-format
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "no se pueden truncar tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:1450 parser/parse_utilcmd.c:1724
+#: commands/tablecmds.c:1465 parser/parse_utilcmd.c:1765
 #, c-format
 msgid "inherited relation \"%s\" is not a table"
 msgstr "la relación heredada «%s» no es una tabla"
 
-#: commands/tablecmds.c:1457 commands/tablecmds.c:8923
+#: commands/tablecmds.c:1472 commands/tablecmds.c:9019
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "no se puede heredar de la tabla temporal «%s»"
 
-#: commands/tablecmds.c:1465 commands/tablecmds.c:8931
+#: commands/tablecmds.c:1480 commands/tablecmds.c:9027
 #, 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:1481 commands/tablecmds.c:8965
+#: commands/tablecmds.c:1496 commands/tablecmds.c:9061
 #, 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:1529
+#: commands/tablecmds.c:1544
 #, c-format
 msgid "merging multiple inherited definitions of column \"%s\""
 msgstr "mezclando múltiples definiciones heredadas de la columna «%s»"
 
-#: commands/tablecmds.c:1537
+#: commands/tablecmds.c:1552
 #, c-format
 msgid "inherited column \"%s\" has a type conflict"
 msgstr "columna heredada «%s» tiene conflicto de tipos"
 
-#: commands/tablecmds.c:1539 commands/tablecmds.c:1560
-#: commands/tablecmds.c:1747 commands/tablecmds.c:1769
-#: parser/parse_coerce.c:1591 parser/parse_coerce.c:1611
-#: parser/parse_coerce.c:1631 parser/parse_coerce.c:1676
-#: parser/parse_coerce.c:1713 parser/parse_param.c:217
+#: commands/tablecmds.c:1554 commands/tablecmds.c:1575
+#: commands/tablecmds.c:1762 commands/tablecmds.c:1784
+#: 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
 #, c-format
 msgid "%s versus %s"
 msgstr "%s versus %s"
 
-#: commands/tablecmds.c:1546
+#: commands/tablecmds.c:1561
 #, c-format
 msgid "inherited column \"%s\" has a collation conflict"
 msgstr "columna heredada «%s» tiene conflicto de ordenamiento (collation)"
 
-#: commands/tablecmds.c:1548 commands/tablecmds.c:1757
-#: commands/tablecmds.c:4362
+#: commands/tablecmds.c:1563 commands/tablecmds.c:1772
+#: commands/tablecmds.c:4421
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "«%s» versus «%s»"
 
-#: commands/tablecmds.c:1558
+#: commands/tablecmds.c:1573
 #, 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:1670 parser/parse_utilcmd.c:818
-#: parser/parse_utilcmd.c:1159 parser/parse_utilcmd.c:1235
+#: commands/tablecmds.c:1685 parser/parse_utilcmd.c:859
+#: parser/parse_utilcmd.c:1200 parser/parse_utilcmd.c:1276
 #, 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:1671 parser/parse_utilcmd.c:819
+#: commands/tablecmds.c:1686 parser/parse_utilcmd.c:860
 #, 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:1737
+#: commands/tablecmds.c:1752
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "mezclando la columna «%s» con la definición heredada"
 
-#: commands/tablecmds.c:1745
+#: commands/tablecmds.c:1760
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "la columna «%s» tiene conflicto de tipos"
 
-#: commands/tablecmds.c:1755
+#: commands/tablecmds.c:1770
 #, c-format
 msgid "column \"%s\" has a collation conflict"
 msgstr "la columna «%s» tiene conflicto de ordenamientos (collation)"
 
-#: commands/tablecmds.c:1767
+#: commands/tablecmds.c:1782
 #, c-format
 msgid "column \"%s\" has a storage parameter conflict"
 msgstr "la columna «%s» tiene conflicto de parámetros de almacenamiento"
 
-#: commands/tablecmds.c:1819
+#: commands/tablecmds.c:1834
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "la columna «%s» hereda valores por omisión no coincidentes"
 
-#: commands/tablecmds.c:1821
+#: commands/tablecmds.c:1836
 #, 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:1868
+#: commands/tablecmds.c:1883
 #, 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:2053
+#: commands/tablecmds.c:2077
 #, 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:2069
+#: commands/tablecmds.c:2094
 #, c-format
-msgid "\"%s\" is not a table, view, composite type, index, or foreign table"
-msgstr "«%s» no es una tabla, vista, tipo compuesto, índice o tabla foránea"
+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:2161
+#: commands/tablecmds.c:2186
 #, 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:2193
+#: commands/tablecmds.c:2218
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "no se puede cambiar el nombre a la columna de sistema «%s»"
 
-#: commands/tablecmds.c:2208
+#: commands/tablecmds.c:2233
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "no se puede cambiar el nombre a la columna heredada «%s»"
 
-#: commands/tablecmds.c:2350
+#: commands/tablecmds.c:2380
 #, 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:2357
+#: commands/tablecmds.c:2387
 #, 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:2559
+#: commands/tablecmds.c:2598
 #, 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:2568
+#: commands/tablecmds.c:2607
 #, 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:3467
+#: commands/tablecmds.c:3508
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "no se puede reescribir la relación de sistema «%s»"
 
-#: commands/tablecmds.c:3477
+#: commands/tablecmds.c:3518
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "no se puede reescribir tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:3703
+#: commands/tablecmds.c:3747
 #, c-format
 msgid "rewriting table \"%s\""
 msgstr "reescribiendo tabla «%s»"
 
-#: commands/tablecmds.c:3707
+#: commands/tablecmds.c:3751
 #, c-format
 msgid "verifying table \"%s\""
 msgstr "verificando tabla «%s»"
 
-#: commands/tablecmds.c:3814
+#: commands/tablecmds.c:3858
 #, c-format
 msgid "column \"%s\" contains null values"
 msgstr "la columna «%s» contiene valores nulos"
 
-#: commands/tablecmds.c:3828 commands/tablecmds.c:6645
+#: commands/tablecmds.c:3873 commands/tablecmds.c:6726
 #, 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:3969
-#, c-format
-msgid "\"%s\" is not a table or index"
-msgstr "«%s» no es una tabla o índice"
-
-#: commands/tablecmds.c:3972 commands/trigger.c:188 commands/trigger.c:1079
-#: commands/trigger.c:1183 rewrite/rewriteDefine.c:260
+#: commands/tablecmds.c:4018 commands/trigger.c:190 commands/trigger.c:1068
+#: commands/trigger.c:1172 rewrite/rewriteDefine.c:268
+#: rewrite/rewriteDefine.c:855
 #, c-format
 msgid "\"%s\" is not a table or view"
 msgstr "«%s» no es una tabla o vista"
 
-#: commands/tablecmds.c:3975
+#: commands/tablecmds.c:4021
+#, c-format
+msgid "\"%s\" is not a table, view, materialized view, or index"
+msgstr "«%s» no es una tabla, vista, vista materializada, o índice"
+
+#: commands/tablecmds.c:4027
+#, c-format
+msgid "\"%s\" is not a table, materialized view, or index"
+msgstr "«%s» no es una tabla, vista materializada, o índice"
+
+#: commands/tablecmds.c:4030
 #, c-format
 msgid "\"%s\" is not a table or foreign table"
 msgstr "«%s» no es una tabla o tabla foránea"
 
-#: commands/tablecmds.c:3978
+#: commands/tablecmds.c:4033
 #, 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:3988
+#: commands/tablecmds.c:4036
+#, c-format
+msgid "\"%s\" is not a table, materialized view, composite type, or foreign table"
+msgstr "«%s» no es una tabla, vista materializada, tipo compuesto, o tabla foránea"
+
+#: commands/tablecmds.c:4046
 #, c-format
 msgid "\"%s\" is of the wrong type"
 msgstr "«%s» es tipo equivocado"
 
-#: commands/tablecmds.c:4137 commands/tablecmds.c:4144
+#: commands/tablecmds.c:4196 commands/tablecmds.c:4203
 #, 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:4151
+#: commands/tablecmds.c:4210
 #, 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"
+msgstr "no se puede alterar la tabla foránea «%s» porque la columna «%s.%s» usa su tipo de registro"
 
-#: commands/tablecmds.c:4158
+#: commands/tablecmds.c:4217
 #, 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"
+msgstr "no se puede alterar la tabla «%s» porque la columna «%s.%s» usa su tipo de registro"
 
-#: commands/tablecmds.c:4220
+#: commands/tablecmds.c:4279
 #, 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:4222
+#: commands/tablecmds.c:4281
 #, 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:4266
+#: commands/tablecmds.c:4325
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "el tipo %s no es un tipo compuesto"
 
-#: commands/tablecmds.c:4292
+#: commands/tablecmds.c:4351
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "no se puede agregar una columna a una tabla tipada"
 
-#: commands/tablecmds.c:4354 commands/tablecmds.c:9119
+#: commands/tablecmds.c:4413 commands/tablecmds.c:9215
 #, 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:4360 commands/tablecmds.c:9126
+#: commands/tablecmds.c:4419 commands/tablecmds.c:9222
 #, 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:4370
+#: commands/tablecmds.c:4429
 #, 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:4382
+#: commands/tablecmds.c:4441
 #, 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:4608
+#: commands/tablecmds.c:4662
 #, 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:4675
+#: commands/tablecmds.c:4729
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "ya existe la columna «%s» en la relación «%s»"
 
-#: commands/tablecmds.c:4778 commands/tablecmds.c:4870
-#: commands/tablecmds.c:4915 commands/tablecmds.c:5017
-#: commands/tablecmds.c:5061 commands/tablecmds.c:5140
-#: commands/tablecmds.c:7168 commands/tablecmds.c:7773
+#: commands/tablecmds.c:4832 commands/tablecmds.c:4927
+#: commands/tablecmds.c:4975 commands/tablecmds.c:5079
+#: commands/tablecmds.c:5126 commands/tablecmds.c:5210
+#: commands/tablecmds.c:7240 commands/tablecmds.c:7835
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "no se puede alterar columna de sistema «%s»"
 
-#: commands/tablecmds.c:4814
+#: commands/tablecmds.c:4868
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "la columna «%s» está en la llave primaria"
 
-#: commands/tablecmds.c:4964
+#: commands/tablecmds.c:5026
 #, c-format
-msgid "\"%s\" is not a table, index, or foreign table"
-msgstr "«%s» no es una tabla, índice o tabla foránea"
+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:4991
+#: commands/tablecmds.c:5053
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "el valor de estadísticas %d es demasiado bajo"
 
-#: commands/tablecmds.c:4999
+#: commands/tablecmds.c:5061
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "bajando el valor de estadísticas a %d"
 
-#: commands/tablecmds.c:5121
+#: commands/tablecmds.c:5191
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "tipo de almacenamiento no válido «%s»"
 
-#: commands/tablecmds.c:5152
+#: commands/tablecmds.c:5222
 #, 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:5182
+#: commands/tablecmds.c:5256
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "no se pueden eliminar columnas de una tabla tipada"
 
-#: commands/tablecmds.c:5223
+#: commands/tablecmds.c:5297
 #, 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:5236
+#: commands/tablecmds.c:5310
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "no se puede eliminar la columna de sistema «%s»"
 
-#: commands/tablecmds.c:5243
+#: commands/tablecmds.c:5317
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "no se puede eliminar la columna heredada «%s»"
 
-#: commands/tablecmds.c:5472
+#: commands/tablecmds.c:5546
 #, 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:5673
+#: commands/tablecmds.c:5749
 #, 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:5763
+#: commands/tablecmds.c:5816
+#, c-format
+msgid "referenced relation \"%s\" is not a table"
+msgstr "la relación referida «%s» no es una tabla"
+
+#: commands/tablecmds.c:5839
 #, 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:5770
+#: commands/tablecmds.c:5846
 #, 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:5776
+#: commands/tablecmds.c:5852
 #, 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:5780
+#: commands/tablecmds.c:5856
 #, 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:5841
+#: commands/tablecmds.c:5917
 #, 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:5948
+#: commands/tablecmds.c:6024
 #, 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:5951
+#: commands/tablecmds.c:6027
 #, 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:6143 commands/tablecmds.c:7007
-#: commands/tablecmds.c:7063
+#: commands/tablecmds.c:6220 commands/tablecmds.c:7079
+#: commands/tablecmds.c:7135
 #, 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:6150
+#: commands/tablecmds.c:6227
 #, 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:6219
+#: commands/tablecmds.c:6296
 #, 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:6277
+#: commands/tablecmds.c:6358
 #, 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:6282
+#: commands/tablecmds.c:6363
 #, 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:6347
+#: commands/tablecmds.c:6428
 #, 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:6364
+#: commands/tablecmds.c:6445
 #, 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:6516
+#: commands/tablecmds.c:6597
 #, 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:6521
+#: commands/tablecmds.c:6602
 #, 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:6675
+#: commands/tablecmds.c:6757
 #, c-format
 msgid "validating foreign key constraint \"%s\""
 msgstr "validando restricción de llave foránea «%s»"
 
-#: commands/tablecmds.c:6969
+#: commands/tablecmds.c:7051
 #, 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:7013
+#: commands/tablecmds.c:7085
 #, 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:7152
+#: commands/tablecmds.c:7224
 #, 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:7175
+#: commands/tablecmds.c:7247
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "no se puede alterar la columna heredada «%s»"
 
-#: commands/tablecmds.c:7221
+#: commands/tablecmds.c:7294
 #, c-format
 msgid "transform expression must not return a set"
 msgstr "la expresión de transformación no puede retornar conjuntos"
 
-#: commands/tablecmds.c:7227
-#, c-format
-msgid "cannot use subquery in transform expression"
-msgstr "no se puede usar una subconsulta en una expresión de transformación"
-
-#: commands/tablecmds.c:7231
-#, c-format
-msgid "cannot use aggregate function in transform expression"
-msgstr "no se puede usar una función de agregación en una expresión de transformación"
-
-#: commands/tablecmds.c:7235
-#, c-format
-msgid "cannot use window function in transform expression"
-msgstr "no se puede usar una función de ventana deslizante en una expresión de transformación"
-
-#: commands/tablecmds.c:7254
+#: commands/tablecmds.c:7313
 #, c-format
 msgid "column \"%s\" cannot be cast automatically to type %s"
 msgstr "la columna «%s» no puede convertirse automáticamente al tipo %s"
 
-#: commands/tablecmds.c:7256
+#: commands/tablecmds.c:7315
 #, c-format
 msgid "Specify a USING expression to perform the conversion."
 msgstr "Especifique una expresión USING para llevar a cabo la conversión."
 
-#: commands/tablecmds.c:7305
+#: commands/tablecmds.c:7364
 #, 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:7386
+#: commands/tablecmds.c:7445
 #, 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:7422
+#: commands/tablecmds.c:7481
 #, 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:7548
+#: commands/tablecmds.c:7607
 #, 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:7549 commands/tablecmds.c:7568
+#: commands/tablecmds.c:7608 commands/tablecmds.c:7627
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s depende de la columna «%s»"
 
-#: commands/tablecmds.c:7567
+#: commands/tablecmds.c:7626
 #, 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:8110
+#: commands/tablecmds.c:8178
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "no se puede cambiar el dueño del índice «%s»"
 
-#: commands/tablecmds.c:8112
+#: commands/tablecmds.c:8180
 #, 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:8128
+#: commands/tablecmds.c:8196
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "no se puede cambiar el dueño de la secuencia «%s»"
 
-#: commands/tablecmds.c:8130 commands/tablecmds.c:9807
+#: commands/tablecmds.c:8198 commands/tablecmds.c:9921
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "La secuencia «%s» está enlazada a la tabla «%s»."
 
-#: commands/tablecmds.c:8142 commands/tablecmds.c:10387
+#: commands/tablecmds.c:8210 commands/tablecmds.c:10525
 #, c-format
 msgid "Use ALTER TYPE instead."
 msgstr "Considere usar ALTER TYPE."
 
-#: commands/tablecmds.c:8151 commands/tablecmds.c:10404
+#: commands/tablecmds.c:8219
 #, 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:8479
+#: commands/tablecmds.c:8551
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "no se pueden tener múltiples subórdenes SET TABLESPACE"
 
-#: commands/tablecmds.c:8548
+#: commands/tablecmds.c:8621
 #, c-format
-msgid "\"%s\" is not a table, index, or TOAST table"
-msgstr "«%s» no es una tabla, índice o tabla TOAST"
+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:8684
+#: commands/tablecmds.c:8766
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "no se puede mover la relación de sistema «%s»"
 
-#: commands/tablecmds.c:8700
+#: commands/tablecmds.c:8782
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "no se pueden mover tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:8892
+#: commands/tablecmds.c:8910 storage/buffer/bufmgr.c:479
+#, c-format
+msgid "invalid page in block %u of relation %s"
+msgstr "la página no es válida en el bloque %u de la relación %s"
+
+#: commands/tablecmds.c:8988
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "no se puede cambiar la herencia de una tabla tipada"
 
-#: commands/tablecmds.c:8938
+#: commands/tablecmds.c:9034
 #, 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:8992
+#: commands/tablecmds.c:9088
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "la herencia circular no está permitida"
 
-#: commands/tablecmds.c:8993
+#: commands/tablecmds.c:9089
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "«%s» ya es un hijo de «%s»."
 
-#: commands/tablecmds.c:9001
+#: commands/tablecmds.c:9097
 #, 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:9137
+#: commands/tablecmds.c:9233
 #, 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:9153
+#: commands/tablecmds.c:9249
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "tabla hija no tiene la columna «%s»"
 
-#: commands/tablecmds.c:9236
+#: commands/tablecmds.c:9332
 #, 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:9244
+#: commands/tablecmds.c:9340
 #, 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:9268
+#: commands/tablecmds.c:9364
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "tabla hija no tiene la restricción «%s»"
 
-#: commands/tablecmds.c:9348
+#: commands/tablecmds.c:9444
 #, 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:9565
+#: commands/tablecmds.c:9670
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "las tablas tipadas no pueden heredar"
 
-#: commands/tablecmds.c:9596
+#: commands/tablecmds.c:9701
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "la tabla no tiene la columna «%s»"
 
-#: commands/tablecmds.c:9606
+#: commands/tablecmds.c:9711
 #, 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:9615
+#: commands/tablecmds.c:9720
 #, 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:9628
+#: commands/tablecmds.c:9733
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "tabla tiene la columna extra «%s»"
 
-#: commands/tablecmds.c:9675
+#: commands/tablecmds.c:9783
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "«%s» no es una tabla tipada"
 
-#: commands/tablecmds.c:9806
+#: commands/tablecmds.c:9920
 #, 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:9897
+#: commands/tablecmds.c:10016
 #, 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:10371
+#: commands/tablecmds.c:10509
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "«%s» no es un tipo compuesto"
 
-#: commands/tablecmds.c:10392
+#: commands/tablecmds.c:10539
 #, c-format
-msgid "\"%s\" is a foreign table"
-msgstr "«%s» es una tabla foránea"
+msgid "\"%s\" is not a table, view, materialized view, sequence, or foreign table"
+msgstr "«%s» no es una tabla, vista, vista materializada, secuencia o tabla foránea"
 
-#: commands/tablecmds.c:10393
-#, c-format
-msgid "Use ALTER FOREIGN TABLE instead."
-msgstr "Considere usar ALTER FOREIGN TABLE."
-
-#: commands/tablespace.c:154 commands/tablespace.c:171
-#: commands/tablespace.c:182 commands/tablespace.c:190
-#: commands/tablespace.c:608 storage/file/copydir.c:61
+#: commands/tablespace.c:156 commands/tablespace.c:173
+#: commands/tablespace.c:184 commands/tablespace.c:192
+#: commands/tablespace.c:604 storage/file/copydir.c:50
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "no se pudo crear el directorio «%s»: %m"
 
-#: commands/tablespace.c:201
+#: commands/tablespace.c:203
 #, c-format
 msgid "could not stat directory \"%s\": %m"
 msgstr "no se pudo verificar el directorio «%s»: %m"
 
-#: commands/tablespace.c:210
+#: commands/tablespace.c:212
 #, c-format
 msgid "\"%s\" exists but is not a directory"
 msgstr "«%s» existe pero no es un directorio"
 
-#: commands/tablespace.c:240
+#: commands/tablespace.c:242
 #, c-format
 msgid "permission denied to create tablespace \"%s\""
 msgstr "se ha denegado el permiso para crear el tablespace «%s»"
 
-#: commands/tablespace.c:242
+#: commands/tablespace.c:244
 #, c-format
 msgid "Must be superuser to create a tablespace."
 msgstr "Debe ser superusuario para crear tablespaces."
 
-#: commands/tablespace.c:258
+#: commands/tablespace.c:260
 #, c-format
 msgid "tablespace location cannot contain single quotes"
 msgstr "la ruta del tablespace no puede contener comillas simples"
 
-#: commands/tablespace.c:268
+#: commands/tablespace.c:270
 #, c-format
 msgid "tablespace location must be an absolute path"
 msgstr "la ubicación del tablespace debe ser una ruta absoluta"
 
-#: commands/tablespace.c:279
+#: commands/tablespace.c:281
 #, c-format
 msgid "tablespace location \"%s\" is too long"
 msgstr "la ruta «%s» del tablespace es demasiado larga"
 
-#: commands/tablespace.c:289 commands/tablespace.c:858
+#: commands/tablespace.c:291 commands/tablespace.c:856
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "el nombre de tablespace «%s» es inaceptable"
 
-#: commands/tablespace.c:291 commands/tablespace.c:859
+#: commands/tablespace.c:293 commands/tablespace.c:857
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "El prefijo «pg_» está reservado para tablespaces del sistema."
 
-#: commands/tablespace.c:301 commands/tablespace.c:871
+#: commands/tablespace.c:303 commands/tablespace.c:869
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "el tablespace «%s» ya existe"
 
-#: commands/tablespace.c:371 commands/tablespace.c:534
-#: replication/basebackup.c:151 replication/basebackup.c:851
-#: utils/adt/misc.c:370
+#: commands/tablespace.c:372 commands/tablespace.c:530
+#: replication/basebackup.c:162 replication/basebackup.c:921
+#: utils/adt/misc.c:372
 #, c-format
 msgid "tablespaces are not supported on this platform"
 msgstr "tablespaces no están soportados en esta plataforma"
 
-#: commands/tablespace.c:409 commands/tablespace.c:842
-#: commands/tablespace.c:909 commands/tablespace.c:1014
-#: commands/tablespace.c:1080 commands/tablespace.c:1218
-#: commands/tablespace.c:1418
+#: commands/tablespace.c:412 commands/tablespace.c:839
+#: commands/tablespace.c:918 commands/tablespace.c:991
+#: commands/tablespace.c:1129 commands/tablespace.c:1329
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "no existe el tablespace «%s»"
 
-#: commands/tablespace.c:415
+#: commands/tablespace.c:418
 #, c-format
 msgid "tablespace \"%s\" does not exist, skipping"
 msgstr "el tablespace «%s» no existe, ignorando"
 
-#: commands/tablespace.c:491
+#: commands/tablespace.c:487
 #, c-format
 msgid "tablespace \"%s\" is not empty"
 msgstr "el tablespace «%s» no está vacío"
 
-#: commands/tablespace.c:565
+#: commands/tablespace.c:561
 #, c-format
 msgid "directory \"%s\" does not exist"
 msgstr "no existe el directorio «%s»"
 
-#: commands/tablespace.c:566
+#: commands/tablespace.c:562
 #, c-format
 msgid "Create this directory for the tablespace before restarting the server."
 msgstr "Cree este directorio para el tablespace antes de reiniciar el servidor."
 
-#: commands/tablespace.c:571
+#: commands/tablespace.c:567
 #, c-format
 msgid "could not set permissions on directory \"%s\": %m"
 msgstr "no se pudo definir los permisos del directorio «%s»: %m"
 
-#: commands/tablespace.c:603
+#: commands/tablespace.c:599
 #, c-format
 msgid "directory \"%s\" already in use as a tablespace"
 msgstr "el directorio «%s» ya está siendo usado como tablespace"
 
-#: commands/tablespace.c:618 commands/tablespace.c:779
+#: commands/tablespace.c:614 commands/tablespace.c:775
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "no se pudo eliminar el enlace simbólico «%s»: %m"
 
-#: commands/tablespace.c:628
+#: commands/tablespace.c:624
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "no se pudo crear el enlace simbólico «%s»: %m"
 
-#: commands/tablespace.c:694 commands/tablespace.c:704
-#: postmaster/postmaster.c:1177 replication/basebackup.c:260
-#: replication/basebackup.c:557 storage/file/copydir.c:67
-#: storage/file/copydir.c:106 storage/file/fd.c:1664 utils/adt/genfile.c:353
-#: utils/adt/misc.c:270 utils/misc/tzparser.c:323
+#: commands/tablespace.c:690 commands/tablespace.c:700
+#: postmaster/postmaster.c:1319 replication/basebackup.c:265
+#: replication/basebackup.c:561 storage/file/copydir.c:56
+#: storage/file/copydir.c:99 storage/file/fd.c:1896 utils/adt/genfile.c:354
+#: utils/adt/misc.c:272 utils/misc/tzparser.c:323
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "no se pudo abrir el directorio «%s»: %m"
 
-#: commands/tablespace.c:734 commands/tablespace.c:747
-#: commands/tablespace.c:771
+#: commands/tablespace.c:730 commands/tablespace.c:743
+#: commands/tablespace.c:767
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "no se pudo eliminar el directorio «%s»: %m"
 
-#: commands/tablespace.c:1085
+#: commands/tablespace.c:996
 #, c-format
 msgid "Tablespace \"%s\" does not exist."
 msgstr "No existe el tablespace «%s»."
 
-#: commands/tablespace.c:1517
+#: commands/tablespace.c:1428
 #, c-format
 msgid "directories for tablespace %u could not be removed"
 msgstr "algunos directorios para el tablespace %u no pudieron eliminarse"
 
-#: commands/tablespace.c:1519
+#: commands/tablespace.c:1430
 #, c-format
 msgid "You can remove the directories manually if necessary."
 msgstr "Puede eliminar los directorios manualmente, si es necesario."
 
-#: commands/trigger.c:161
+#: commands/trigger.c:163
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "«%s» es una tabla"
 
-#: commands/trigger.c:163
+#: commands/trigger.c:165
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "Las tablas no pueden tener disparadores INSTEAD OF."
 
-#: commands/trigger.c:174 commands/trigger.c:181
+#: commands/trigger.c:176 commands/trigger.c:183
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "«%s» es una vista"
 
-#: commands/trigger.c:176
+#: commands/trigger.c:178
 #, c-format
 msgid "Views cannot have row-level BEFORE or AFTER triggers."
 msgstr "Las vistas no pueden tener disparadores BEFORE o AFTER a nivel de fila."
 
-#: commands/trigger.c:183
+#: commands/trigger.c:185
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "Las vistas no pueden tener disparadores TRUNCATE."
 
-#: commands/trigger.c:239
+#: commands/trigger.c:241
 #, c-format
 msgid "TRUNCATE FOR EACH ROW triggers are not supported"
 msgstr "los disparadores TRUNCATE FOR EACH ROW no están soportados"
 
-#: commands/trigger.c:247
+#: commands/trigger.c:249
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "los disparadores INSTEAD OF deben ser FOR EACH ROW"
 
-#: commands/trigger.c:251
+#: commands/trigger.c:253
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "los disparadores INSTEAD OF no pueden tener condiciones WHEN"
 
-#: commands/trigger.c:255
+#: commands/trigger.c:257
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "los disparadores INSTEAD OF no pueden tener listas de columnas"
 
-#: commands/trigger.c:299
-#, c-format
-msgid "cannot use subquery in trigger WHEN condition"
-msgstr "no se puede usar una subconsulta en la condición WHEN de un trigger"
-
-#: commands/trigger.c:303
-#, c-format
-msgid "cannot use aggregate function in trigger WHEN condition"
-msgstr "no se pueden usar funciones de agregación en condición WHEN de un trigger"
-
-#: commands/trigger.c:307
-#, c-format
-msgid "cannot use window function in trigger WHEN condition"
-msgstr "no se pueden usar funciones de ventana deslizante en condición WHEN de un trigger"
-
-#: commands/trigger.c:329 commands/trigger.c:342
+#: commands/trigger.c:316 commands/trigger.c:329
 #, c-format
 msgid "statement trigger's WHEN condition cannot reference column values"
-msgstr "la condición WHEN de un trigger por sentencias no pueden referirse a los valores de las columnas"
+msgstr "la condición WHEN de un disparador por sentencias no pueden referirse a los valores de las columnas"
 
-#: commands/trigger.c:334
+#: commands/trigger.c:321
 #, c-format
 msgid "INSERT trigger's WHEN condition cannot reference OLD values"
-msgstr "la condición WHEN de un trigger en INSERT no puede referirse a valores OLD"
+msgstr "la condición WHEN de un disparador en INSERT no puede referirse a valores OLD"
 
-#: commands/trigger.c:347
+#: commands/trigger.c:334
 #, c-format
 msgid "DELETE trigger's WHEN condition cannot reference NEW values"
-msgstr "la condición WHEN de un trigger en DELETE no puede referirse a valores NEW"
+msgstr "la condición WHEN de un disparador en DELETE no puede referirse a valores NEW"
 
-#: commands/trigger.c:352
+#: commands/trigger.c:339
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns"
-msgstr "la condición WHEN de un trigger BEFORE no puede referirse a columnas de sistema de NEW"
+msgstr "la condición WHEN de un disparador BEFORE no puede referirse a columnas de sistema de NEW"
 
-#: commands/trigger.c:397
+#: commands/trigger.c:384
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to \"trigger\""
 msgstr "cambiando el tipo de retorno de la función %s de «opaque» a «trigger»"
 
-#: commands/trigger.c:404
+#: commands/trigger.c:391
 #, c-format
 msgid "function %s must return type \"trigger\""
 msgstr "la función %s debe retornar tipo «trigger»"
 
-#: commands/trigger.c:515 commands/trigger.c:1259
+#: commands/trigger.c:503 commands/trigger.c:1249
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "ya existe un trigger «%s» para la relación «%s»"
 
-#: commands/trigger.c:800
+#: commands/trigger.c:788
 msgid "Found referenced table's UPDATE trigger."
 msgstr "Se encontró el disparador UPDATE de la tabla referenciada."
 
-#: commands/trigger.c:801
+#: commands/trigger.c:789
 msgid "Found referenced table's DELETE trigger."
 msgstr "Se encontró el disparador DELETE de la tabla referenciada."
 
-#: commands/trigger.c:802
+#: commands/trigger.c:790
 msgid "Found referencing table's trigger."
 msgstr "Se encontró el disparador en la tabla que hace referencia."
 
-#: commands/trigger.c:911 commands/trigger.c:927
+#: commands/trigger.c:899 commands/trigger.c:915
 #, c-format
 msgid "ignoring incomplete trigger group for constraint \"%s\" %s"
 msgstr "ignorando el grupo de disparadores incompleto para la restricción «%s» %s"
 
-#: commands/trigger.c:939
+#: commands/trigger.c:927
 #, c-format
 msgid "converting trigger group into constraint \"%s\" %s"
 msgstr "convirtiendo el grupo de disparadores en la restricción «%s» %s"
 
-#: commands/trigger.c:1150 commands/trigger.c:1302 commands/trigger.c:1413
+#: commands/trigger.c:1139 commands/trigger.c:1297 commands/trigger.c:1413
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "no existe el trigger «%s» para la tabla «%s»"
 
-#: commands/trigger.c:1381
+#: commands/trigger.c:1378
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "permiso denegado: «%s» es un trigger de sistema"
@@ -7142,635 +7255,622 @@ msgstr "permiso denegado: «%s» es un trigger de sistema"
 msgid "trigger function %u returned null value"
 msgstr "la función de trigger %u ha retornado un valor null"
 
-#: commands/trigger.c:1933 commands/trigger.c:2132 commands/trigger.c:2316
-#: commands/trigger.c:2558
+#: commands/trigger.c:1933 commands/trigger.c:2132 commands/trigger.c:2320
+#: commands/trigger.c:2579
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "un trigger BEFORE STATEMENT no puede retornar un valor"
 
-#: commands/trigger.c:2620 executor/execMain.c:1883
-#: executor/nodeLockRows.c:138 executor/nodeModifyTable.c:367
-#: executor/nodeModifyTable.c:583
+#: commands/trigger.c:2641 executor/nodeModifyTable.c:428
+#: executor/nodeModifyTable.c:709
+#, c-format
+msgid "tuple to be updated was already modified by an operation triggered by the current command"
+msgstr "el registro a ser actualizado ya fue modificado por una operación disparada por la orden actual"
+
+#: commands/trigger.c:2642 executor/nodeModifyTable.c:429
+#: executor/nodeModifyTable.c:710
+#, c-format
+msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows."
+msgstr "Considere usar un disparador ANTES en lugar de un disparador BEFORE para propagar cambios a otros registros."
+
+#: commands/trigger.c:2656 executor/execMain.c:1978
+#: executor/nodeLockRows.c:165 executor/nodeModifyTable.c:441
+#: executor/nodeModifyTable.c:722
 #, 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:4247
+#: commands/trigger.c:4285
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "la restricción «%s» no es postergable"
 
-#: commands/trigger.c:4270
+#: commands/trigger.c:4308
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "no existe la restricción «%s»"
 
-#: commands/tsearchcmds.c:113 commands/tsearchcmds.c:912
+#: commands/tsearchcmds.c:114 commands/tsearchcmds.c:671
 #, c-format
 msgid "function %s should return type %s"
 msgstr "la función %s debería retornar el tipo %s"
 
-#: commands/tsearchcmds.c:185
+#: commands/tsearchcmds.c:186
 #, c-format
 msgid "must be superuser to create text search parsers"
 msgstr "debe ser superusuario para crear analizadores de búsqueda en texto"
 
-#: commands/tsearchcmds.c:233
+#: commands/tsearchcmds.c:234
 #, c-format
 msgid "text search parser parameter \"%s\" not recognized"
 msgstr "el parámetro de analizador de búsqueda en texto «%s» no es reconocido"
 
-#: commands/tsearchcmds.c:243
+#: commands/tsearchcmds.c:244
 #, c-format
 msgid "text search parser start method is required"
 msgstr "el método «start» del analizador de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:248
+#: commands/tsearchcmds.c:249
 #, c-format
 msgid "text search parser gettoken method is required"
 msgstr "el método «gettoken» del analizador de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:253
+#: commands/tsearchcmds.c:254
 #, c-format
 msgid "text search parser end method is required"
 msgstr "el método «end» del analizador de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:258
+#: commands/tsearchcmds.c:259
 #, c-format
 msgid "text search parser lextypes method is required"
 msgstr "el método «lextypes» del analizador de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:319
-#, c-format
-msgid "must be superuser to rename text search parsers"
-msgstr "debe ser superusuario para cambiar el nombre a analizadores de búsqueda en texto"
-
-#: commands/tsearchcmds.c:337
-#, c-format
-msgid "text search parser \"%s\" already exists"
-msgstr "el analizador de búsqueda en texto «%s» ya existe"
-
-#: commands/tsearchcmds.c:463
+#: commands/tsearchcmds.c:376
 #, c-format
 msgid "text search template \"%s\" does not accept options"
 msgstr "la plantilla de búsquede en texto «%s» no acepta opciones"
 
-#: commands/tsearchcmds.c:536
+#: commands/tsearchcmds.c:449
 #, c-format
 msgid "text search template is required"
 msgstr "la plantilla de búsqueda en texto es obligatoria"
 
-#: commands/tsearchcmds.c:605
-#, c-format
-msgid "text search dictionary \"%s\" already exists"
-msgstr "el diccionario de búsqueda en texto «%s» ya existe"
-
-#: commands/tsearchcmds.c:976
+#: commands/tsearchcmds.c:735
 #, c-format
 msgid "must be superuser to create text search templates"
 msgstr "debe ser superusuario para crear una plantilla de búsqueda en texto"
 
-#: commands/tsearchcmds.c:1013
+#: commands/tsearchcmds.c:772
 #, c-format
 msgid "text search template parameter \"%s\" not recognized"
 msgstr "el parámetro de la plantilla de búsqueda en texto «%s» no es reconocido"
 
-#: commands/tsearchcmds.c:1023
+#: commands/tsearchcmds.c:782
 #, c-format
 msgid "text search template lexize method is required"
 msgstr "el método «lexize» de la plantilla de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:1062
-#, c-format
-msgid "must be superuser to rename text search templates"
-msgstr "debe ser superusuario para cambiar el nombre a plantillas de búsqueda en texto"
-
-#: commands/tsearchcmds.c:1081
-#, c-format
-msgid "text search template \"%s\" already exists"
-msgstr "ya existe la plantilla de búsqueda en texto «%s»"
-
-#: commands/tsearchcmds.c:1318
+#: commands/tsearchcmds.c:988
 #, c-format
 msgid "text search configuration parameter \"%s\" not recognized"
 msgstr "el parámetro de configuración de búsqueda en texto «%s» no es reconocido"
 
-#: commands/tsearchcmds.c:1325
+#: commands/tsearchcmds.c:995
 #, c-format
 msgid "cannot specify both PARSER and COPY options"
 msgstr "no se puede especificar simultáneamente las opciones PARSER y COPY"
 
-#: commands/tsearchcmds.c:1353
+#: commands/tsearchcmds.c:1023
 #, c-format
 msgid "text search parser is required"
 msgstr "el analizador de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:1463
-#, c-format
-msgid "text search configuration \"%s\" already exists"
-msgstr "la configuración de búsqueda en texto «%s» ya existe"
-
-#: commands/tsearchcmds.c:1726
+#: commands/tsearchcmds.c:1247
 #, c-format
 msgid "token type \"%s\" does not exist"
 msgstr "no existe el tipo de elemento «%s»"
 
-#: commands/tsearchcmds.c:1948
+#: commands/tsearchcmds.c:1469
 #, c-format
 msgid "mapping for token type \"%s\" does not exist"
 msgstr "no existe un mapeo para el tipo de elemento «%s»"
 
-#: commands/tsearchcmds.c:1954
+#: commands/tsearchcmds.c:1475
 #, c-format
 msgid "mapping for token type \"%s\" does not exist, skipping"
 msgstr "el mapeo para el tipo de elemento «%s» no existe, ignorando"
 
-#: commands/tsearchcmds.c:2107 commands/tsearchcmds.c:2218
+#: commands/tsearchcmds.c:1628 commands/tsearchcmds.c:1739
 #, c-format
 msgid "invalid parameter list format: \"%s\""
 msgstr "el formato de la lista de parámetros no es válido: «%s»"
 
-#: commands/typecmds.c:180
+#: commands/typecmds.c:182
 #, c-format
 msgid "must be superuser to create a base type"
 msgstr "debe ser superusuario para crear un tipo base"
 
-#: commands/typecmds.c:286 commands/typecmds.c:1339
+#: commands/typecmds.c:288 commands/typecmds.c:1369
 #, c-format
 msgid "type attribute \"%s\" not recognized"
 msgstr "el atributo de tipo «%s» no es reconocido"
 
-#: commands/typecmds.c:340
+#: commands/typecmds.c:342
 #, c-format
 msgid "invalid type category \"%s\": must be simple ASCII"
 msgstr "la categoría de tipo «%s» no es válida: debe ser ASCII simple"
 
-#: commands/typecmds.c:359
+#: commands/typecmds.c:361
 #, c-format
 msgid "array element type cannot be %s"
 msgstr "el tipo de elemento de array no puede ser %s"
 
-#: commands/typecmds.c:391
+#: commands/typecmds.c:393
 #, c-format
 msgid "alignment \"%s\" not recognized"
 msgstr "el alineamiento «%s» no es reconocido"
 
-#: commands/typecmds.c:408
+#: commands/typecmds.c:410
 #, c-format
 msgid "storage \"%s\" not recognized"
 msgstr "el almacenamiento «%s» no es reconocido"
 
-#: commands/typecmds.c:419
+#: commands/typecmds.c:421
 #, c-format
 msgid "type input function must be specified"
 msgstr "debe especificarse la función de ingreso del tipo"
 
-#: commands/typecmds.c:423
+#: commands/typecmds.c:425
 #, c-format
 msgid "type output function must be specified"
 msgstr "debe especificarse la función de salida de tipo"
 
-#: commands/typecmds.c:428
+#: commands/typecmds.c:430
 #, c-format
 msgid "type modifier output function is useless without a type modifier input function"
 msgstr "la función de salida de modificadores de tipo es inútil sin una función de entrada de modificadores de tipo"
 
-#: commands/typecmds.c:451
+#: commands/typecmds.c:453
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to %s"
 msgstr "cambiando el tipo de retorno de la función %s de «opaque» a %s"
 
-#: commands/typecmds.c:458
+#: commands/typecmds.c:460
 #, c-format
 msgid "type input function %s must return type %s"
 msgstr "la función de entrada %s del tipo debe retornar %s"
 
-#: commands/typecmds.c:468
+#: commands/typecmds.c:470
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to \"cstring\""
 msgstr "cambiando el tipo de retorno de la función %s de «opaque» a «cstring»"
 
-#: commands/typecmds.c:475
+#: commands/typecmds.c:477
 #, c-format
 msgid "type output function %s must return type \"cstring\""
 msgstr "la función de salida %s del tipo debe retornar «cstring»"
 
-#: commands/typecmds.c:484
+#: commands/typecmds.c:486
 #, c-format
 msgid "type receive function %s must return type %s"
 msgstr "la función de recepción %s del tipo debe retornar %s"
 
-#: commands/typecmds.c:493
+#: commands/typecmds.c:495
 #, c-format
 msgid "type send function %s must return type \"bytea\""
 msgstr "la función de envío %s del tipo debe retornar «bytea»"
 
-#: commands/typecmds.c:756
+#: commands/typecmds.c:760
 #, c-format
 msgid "\"%s\" is not a valid base type for a domain"
 msgstr "«%s» no es un tipo de dato base válido para un dominio"
 
-#: commands/typecmds.c:842
+#: commands/typecmds.c:846
 #, c-format
 msgid "multiple default expressions"
 msgstr "múltiples expresiones default"
 
-#: commands/typecmds.c:906 commands/typecmds.c:915
+#: commands/typecmds.c:908 commands/typecmds.c:917
 #, c-format
 msgid "conflicting NULL/NOT NULL constraints"
 msgstr "las restricciones NULL/NOT NULL no coinciden"
 
-#: commands/typecmds.c:931
+#: commands/typecmds.c:933
 #, c-format
-msgid "CHECK constraints for domains cannot be marked NO INHERIT"
+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:940 commands/typecmds.c:2397
+#: commands/typecmds.c:942 commands/typecmds.c:2448
 #, c-format
 msgid "unique constraints not possible for domains"
 msgstr "no se pueden poner restricciones de unicidad a un dominio"
 
-#: commands/typecmds.c:946 commands/typecmds.c:2403
+#: commands/typecmds.c:948 commands/typecmds.c:2454
 #, 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:952 commands/typecmds.c:2409
+#: commands/typecmds.c:954 commands/typecmds.c:2460
 #, c-format
 msgid "exclusion constraints not possible for domains"
 msgstr "las restricciones por exclusión no son posibles para los dominios"
 
-#: commands/typecmds.c:958 commands/typecmds.c:2415
+#: commands/typecmds.c:960 commands/typecmds.c:2466
 #, 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:967 commands/typecmds.c:2424
+#: commands/typecmds.c:969 commands/typecmds.c:2475
 #, 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:1211 utils/cache/typcache.c:1064
+#: commands/typecmds.c:1241 utils/cache/typcache.c:1071
 #, c-format
 msgid "%s is not an enum"
 msgstr "%s no es un enum"
 
-#: commands/typecmds.c:1347
+#: commands/typecmds.c:1377
 #, c-format
 msgid "type attribute \"subtype\" is required"
 msgstr "el atributo de tipo «subtype» es obligatorio"
 
-#: commands/typecmds.c:1352
+#: commands/typecmds.c:1382
 #, c-format
 msgid "range subtype cannot be %s"
 msgstr "el subtipo de rango no puede ser %s"
 
-#: commands/typecmds.c:1371
+#: commands/typecmds.c:1401
 #, c-format
 msgid "range collation specified but subtype does not support collation"
 msgstr "se especificó un ordenamiento (collation) al rango, pero el subtipo no soporta ordenamiento"
 
-#: commands/typecmds.c:1605
+#: commands/typecmds.c:1637
 #, c-format
 msgid "changing argument type of function %s from \"opaque\" to \"cstring\""
 msgstr "cambiando el tipo de argumento de la función %s de «opaque» a «cstring»"
 
-#: commands/typecmds.c:1656
+#: commands/typecmds.c:1688
 #, c-format
 msgid "changing argument type of function %s from \"opaque\" to %s"
 msgstr "cambiando el tipo de argumento de la función %s de «opaque» a %s"
 
-#: commands/typecmds.c:1755
+#: commands/typecmds.c:1787
 #, c-format
 msgid "typmod_in function %s must return type \"integer\""
 msgstr "la función typmod_in %s debe retornar tipo «integer»"
 
-#: commands/typecmds.c:1782
+#: commands/typecmds.c:1814
 #, c-format
 msgid "typmod_out function %s must return type \"cstring\""
 msgstr "la función typmod_out %s debe retornar «cstring»"
 
-#: commands/typecmds.c:1809
+#: commands/typecmds.c:1841
 #, c-format
 msgid "type analyze function %s must return type \"boolean\""
 msgstr "la función de análisis %s del tipo debe retornar «boolean»"
 
-#: commands/typecmds.c:1855
+#: commands/typecmds.c:1887
 #, c-format
 msgid "You must specify an operator class for the range type or define a default operator class for the subtype."
 msgstr "Debe especificar una clase de operadores para el tipo de rango, o definir una clase de operadores por omisión para el subtipo."
 
-#: commands/typecmds.c:1886
+#: commands/typecmds.c:1918
 #, c-format
 msgid "range canonical function %s must return range type"
 msgstr "la función canónica %s del rango debe retornar tipo de rango"
 
-#: commands/typecmds.c:1892
+#: commands/typecmds.c:1924
 #, c-format
 msgid "range canonical function %s must be immutable"
 msgstr "la función canónica %s del rango debe ser inmutable"
 
-#: commands/typecmds.c:1928
+#: commands/typecmds.c:1960
 #, c-format
 msgid "range subtype diff function %s must return type double precision"
 msgstr "la función «diff» de subtipo, %s, debe retornar tipo doble precisión"
 
-#: commands/typecmds.c:1934
+#: commands/typecmds.c:1966
 #, c-format
 msgid "range subtype diff function %s must be immutable"
 msgstr "la función «diff» de subtipo, %s, debe ser inmutable"
 
-#: commands/typecmds.c:2240
+#: commands/typecmds.c:2283
 #, 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:2342 commands/typecmds.c:2516
+#: commands/typecmds.c:2391 commands/typecmds.c:2569
 #, 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:2346
+#: commands/typecmds.c:2395
 #, 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:2522
+#: commands/typecmds.c:2575
 #, 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:2609
+#: commands/typecmds.c:2677
 #, 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:2811 commands/typecmds.c:3206 commands/typecmds.c:3356
+#: commands/typecmds.c:2889 commands/typecmds.c:3259 commands/typecmds.c:3417
 #, c-format
 msgid "%s is not a domain"
 msgstr "%s no es un dominio"
 
-#: commands/typecmds.c:2844
+#: commands/typecmds.c:2922
 #, 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:2892 commands/typecmds.c:2901
+#: commands/typecmds.c:2972
 #, 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:3140 commands/typecmds.c:3218 commands/typecmds.c:3462
+#: commands/typecmds.c:3191 commands/typecmds.c:3271 commands/typecmds.c:3525
 #, c-format
 msgid "%s is a table's row type"
 msgstr "%s es el tipo de registro de una tabla"
 
-#: commands/typecmds.c:3142 commands/typecmds.c:3220 commands/typecmds.c:3464
+#: commands/typecmds.c:3193 commands/typecmds.c:3273 commands/typecmds.c:3527
 #, c-format
 msgid "Use ALTER TABLE instead."
 msgstr "Considere usar ALTER TABLE."
 
-#: commands/typecmds.c:3149 commands/typecmds.c:3227 commands/typecmds.c:3381
+#: commands/typecmds.c:3200 commands/typecmds.c:3280 commands/typecmds.c:3444
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "no se puede alterar el tipo de array «%s»"
 
-#: commands/typecmds.c:3151 commands/typecmds.c:3229 commands/typecmds.c:3383
+#: commands/typecmds.c:3202 commands/typecmds.c:3282 commands/typecmds.c:3446
 #, 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:3448
+#: commands/typecmds.c:3511
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un tipo llamado «%s» en el esquema «%s»"
 
-#: commands/user.c:144
+#: commands/user.c:145
 #, c-format
 msgid "SYSID can no longer be specified"
 msgstr "SYSID ya no puede ser especificado"
 
-#: commands/user.c:276
+#: commands/user.c:277
 #, c-format
 msgid "must be superuser to create superusers"
 msgstr "debe ser superusuario para crear superusuarios"
 
-#: commands/user.c:283
+#: commands/user.c:284
 #, c-format
 msgid "must be superuser to create replication users"
 msgstr "debe ser superusuario para crear usuarios de replicación"
 
-#: commands/user.c:290
+#: commands/user.c:291
 #, c-format
 msgid "permission denied to create role"
 msgstr "se ha denegado el permiso para crear el rol"
 
-#: commands/user.c:297 commands/user.c:1091
+#: commands/user.c:298 commands/user.c:1119
 #, c-format
 msgid "role name \"%s\" is reserved"
 msgstr "el nombre de rol «%s» está reservado"
 
-#: commands/user.c:310 commands/user.c:1085
+#: commands/user.c:311 commands/user.c:1113
 #, c-format
 msgid "role \"%s\" already exists"
 msgstr "el rol «%s» ya existe"
 
-#: commands/user.c:616 commands/user.c:818 commands/user.c:898
-#: commands/user.c:1060 commands/variable.c:855 commands/variable.c:927
-#: utils/adt/acl.c:5088 utils/init/miscinit.c:432
+#: commands/user.c:618 commands/user.c:827 commands/user.c:933
+#: commands/user.c:1088 commands/variable.c:856 commands/variable.c:928
+#: utils/adt/acl.c:5090 utils/init/miscinit.c:433
 #, c-format
 msgid "role \"%s\" does not exist"
 msgstr "no existe el rol «%s»"
 
-#: commands/user.c:629 commands/user.c:835 commands/user.c:1325
-#: commands/user.c:1462
+#: commands/user.c:631 commands/user.c:846 commands/user.c:1357
+#: commands/user.c:1494
 #, c-format
 msgid "must be superuser to alter superusers"
 msgstr "debe ser superusuario para alterar superusuarios"
 
-#: commands/user.c:636
+#: commands/user.c:638
 #, c-format
 msgid "must be superuser to alter replication users"
 msgstr "debe ser superusuario para alterar usuarios de replicación"
 
-#: commands/user.c:652 commands/user.c:843
+#: commands/user.c:654 commands/user.c:854
 #, c-format
 msgid "permission denied"
 msgstr "permiso denegado"
 
-#: commands/user.c:871
+#: commands/user.c:884
+#, c-format
+msgid "must be superuser to alter settings globally"
+msgstr "debe ser superusuario para alterar parámetros globalmente"
+
+#: commands/user.c:906
 #, c-format
 msgid "permission denied to drop role"
 msgstr "se ha denegado el permiso para eliminar el rol"
 
-#: commands/user.c:903
+#: commands/user.c:938
 #, c-format
 msgid "role \"%s\" does not exist, skipping"
 msgstr "el rol «%s» no existe, ignorando"
 
-#: commands/user.c:915 commands/user.c:919
+#: commands/user.c:950 commands/user.c:954
 #, c-format
 msgid "current user cannot be dropped"
 msgstr "el usuario activo no puede ser eliminado"
 
-#: commands/user.c:923
+#: commands/user.c:958
 #, c-format
 msgid "session user cannot be dropped"
 msgstr "no se puede eliminar un usuario de la sesión"
 
-#: commands/user.c:934
+#: commands/user.c:969
 #, c-format
 msgid "must be superuser to drop superusers"
 msgstr "debe ser superusuario para eliminar superusuarios"
 
-#: commands/user.c:957
+#: commands/user.c:985
 #, c-format
 msgid "role \"%s\" cannot be dropped because some objects depend on it"
 msgstr "no se puede eliminar el rol «%s» porque otros objetos dependen de él"
 
-#: commands/user.c:1075
+#: commands/user.c:1103
 #, c-format
 msgid "session user cannot be renamed"
 msgstr "no se puede cambiar el nombre a un usuario de la sesión"
 
-#: commands/user.c:1079
+#: commands/user.c:1107
 #, c-format
 msgid "current user cannot be renamed"
 msgstr "no se puede cambiar el nombre al usuario activo"
 
-#: commands/user.c:1102
+#: commands/user.c:1130
 #, c-format
 msgid "must be superuser to rename superusers"
 msgstr "debe ser superusuario para cambiar el nombre a superusuarios"
 
-#: commands/user.c:1109
+#: commands/user.c:1137
 #, c-format
 msgid "permission denied to rename role"
 msgstr "se ha denegado el permiso para cambiar el nombre al rol"
 
-#: commands/user.c:1130
+#: commands/user.c:1158
 #, c-format
 msgid "MD5 password cleared because of role rename"
 msgstr "la contraseña MD5 fue borrada debido al cambio de nombre del rol"
 
-#: commands/user.c:1186
+#: commands/user.c:1218
 #, c-format
 msgid "column names cannot be included in GRANT/REVOKE ROLE"
 msgstr "los nombres de columna no pueden ser incluidos en GRANT/REVOKE ROLE"
 
-#: commands/user.c:1224
+#: commands/user.c:1256
 #, c-format
 msgid "permission denied to drop objects"
 msgstr "se ha denegado el permiso para eliminar objetos"
 
-#: commands/user.c:1251 commands/user.c:1260
+#: commands/user.c:1283 commands/user.c:1292
 #, c-format
 msgid "permission denied to reassign objects"
 msgstr "se ha denegado el permiso para reasignar objetos"
 
-#: commands/user.c:1333 commands/user.c:1470
+#: commands/user.c:1365 commands/user.c:1502
 #, c-format
 msgid "must have admin option on role \"%s\""
 msgstr "debe tener opción de admin en rol «%s»"
 
-#: commands/user.c:1341
+#: commands/user.c:1373
 #, c-format
 msgid "must be superuser to set grantor"
 msgstr "debe ser superusuario para especificar el cedente (grantor)"
 
-#: commands/user.c:1366
+#: commands/user.c:1398
 #, c-format
 msgid "role \"%s\" is a member of role \"%s\""
 msgstr "el rol «%s» es un miembro del rol «%s»"
 
-#: commands/user.c:1381
+#: commands/user.c:1413
 #, c-format
 msgid "role \"%s\" is already a member of role \"%s\""
 msgstr "el rol «%s» ya es un miembro del rol «%s»"
 
-#: commands/user.c:1492
+#: commands/user.c:1524
 #, c-format
 msgid "role \"%s\" is not a member of role \"%s\""
 msgstr "el rol «%s» no es un miembro del rol «%s»"
 
-#: commands/vacuum.c:431
+#: commands/vacuum.c:437
 #, c-format
 msgid "oldest xmin is far in the past"
 msgstr "xmin más antiguo es demasiado antiguo"
 
-#: commands/vacuum.c:432
+#: commands/vacuum.c:438
 #, c-format
 msgid "Close open transactions soon to avoid wraparound problems."
 msgstr "Cierre transacciones pronto para prevenir problemas por reciclaje de transacciones."
 
-#: commands/vacuum.c:829
+#: commands/vacuum.c:892
 #, 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:830
+#: commands/vacuum.c:893
 #, 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:937
+#: commands/vacuum.c:1004
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "omitiendo el vacuum de «%s»: el candado no está disponible"
 
-#: commands/vacuum.c:963
+#: commands/vacuum.c:1030
 #, c-format
 msgid "skipping \"%s\" --- only superuser can vacuum it"
 msgstr "omitiendo «%s»: sólo un superusuario puede aplicarle VACUUM"
 
-#: commands/vacuum.c:967
+#: commands/vacuum.c:1034
 #, 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:971
+#: commands/vacuum.c:1038
 #, 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:988
+#: commands/vacuum.c:1056
 #, c-format
 msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables"
 msgstr "omitiendo «%s»: no se puede aplicar VACUUM a objetos que no son tablas o a tablas especiales de sistema"
 
-#: commands/vacuumlazy.c:308
+#: commands/vacuumlazy.c:314
 #, c-format
 msgid ""
 "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
 "pages: %d removed, %d remain\n"
 "tuples: %.0f removed, %.0f remain\n"
 "buffer usage: %d hits, %d misses, %d dirtied\n"
-"avg read rate: %.3f MiB/s, avg write rate: %.3f MiB/s\n"
+"avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
 "system usage: %s"
 msgstr ""
 "vacuum automático de la tabla «%s.%s.%s»: recorridos de índice: %d\n"
 "páginas: eliminadas %d, remanentes %d\n"
 "tuplas: eliminadas %.0f, remanentes %.0f\n"
 "uso de búfers: %d aciertos, %d fallas, %d ensuciados\n"
-"tasas promedio: de lectura: %.3f MiB/s, de escritura %.3f MiB/s\n"
+"tasas promedio: de lectura: %.3f MB/s, de escritura %.3f MB/s\n"
 "uso del sistema: %s"
 
-#: commands/vacuumlazy.c:639
+#: commands/vacuumlazy.c:645
 #, 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:1005
+#: commands/vacuumlazy.c:1033
 #, 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:1010
+#: commands/vacuumlazy.c:1038
 #, 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:1014
+#: commands/vacuumlazy.c:1042
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -7783,28 +7883,28 @@ msgstr ""
 "%u páginas están completamente vacías.\n"
 "%s."
 
-#: commands/vacuumlazy.c:1077
+#: commands/vacuumlazy.c:1113
 #, 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:1080 commands/vacuumlazy.c:1216
-#: commands/vacuumlazy.c:1393
+#: commands/vacuumlazy.c:1116 commands/vacuumlazy.c:1272
+#: commands/vacuumlazy.c:1443
 #, c-format
 msgid "%s."
 msgstr "%s."
 
-#: commands/vacuumlazy.c:1213
+#: commands/vacuumlazy.c:1269
 #, 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:1257
+#: commands/vacuumlazy.c:1314
 #, 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:1261
+#: commands/vacuumlazy.c:1318
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -7815,157 +7915,157 @@ msgstr ""
 "%u páginas de índice han sido eliminadas, %u son reusables.\n"
 "%s."
 
-#: commands/vacuumlazy.c:1321
+#: commands/vacuumlazy.c:1375
 #, c-format
-msgid "automatic vacuum of table \"%s.%s.%s\": cannot (re)acquire exclusive lock for truncate scan"
-msgstr "vacuum automático de la tabla «%s.%s.%s»: no se puede (re)adquirir candado exclusivo para el recorrido de truncado"
+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:1390
+#: commands/vacuumlazy.c:1440
 #, c-format
 msgid "\"%s\": truncated %u to %u pages"
 msgstr "«%s»: truncadas %u a %u páginas"
 
-#: commands/vacuumlazy.c:1445
+#: commands/vacuumlazy.c:1496
 #, 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:161 utils/misc/guc.c:8327
+#: commands/variable.c:162 utils/misc/guc.c:8359
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Palabra clave no reconocida: «%s»."
 
-#: commands/variable.c:173
+#: commands/variable.c:174
 #, c-format
 msgid "Conflicting \"datestyle\" specifications."
 msgstr "Especificaciones contradictorias de «datestyle»."
 
-#: commands/variable.c:312
+#: commands/variable.c:313
 #, c-format
 msgid "Cannot specify months in time zone interval."
 msgstr "No se pueden especificar meses en el intervalo de huso horario."
 
-#: commands/variable.c:318
+#: commands/variable.c:319
 #, c-format
 msgid "Cannot specify days in time zone interval."
 msgstr "No se pueden especificar días en el intervalo de huso horario."
 
-#: commands/variable.c:362 commands/variable.c:485
+#: commands/variable.c:363 commands/variable.c:486
 #, c-format
 msgid "time zone \"%s\" appears to use leap seconds"
 msgstr "el huso horario «%s» parece usar segundos intercalares (bisiestos)"
 
-#: commands/variable.c:364 commands/variable.c:487
+#: commands/variable.c:365 commands/variable.c:488
 #, c-format
 msgid "PostgreSQL does not support leap seconds."
 msgstr "PostgreSQL no soporta segundos intercalares."
 
-#: commands/variable.c:551
+#: commands/variable.c:552
 #, c-format
 msgid "cannot set transaction read-write mode inside a read-only transaction"
 msgstr "no se puede poner en modo de escritura dentro de una transacción de sólo lectura"
 
-#: commands/variable.c:558
+#: commands/variable.c:559
 #, c-format
 msgid "transaction read-write mode must be set before any query"
 msgstr "el modo de escritura debe ser activado antes de cualquier consulta"
 
-#: commands/variable.c:565
+#: commands/variable.c:566
 #, c-format
 msgid "cannot set transaction read-write mode during recovery"
 msgstr "no se puede poner en modo de escritura durante la recuperación"
 
-#: commands/variable.c:614
+#: commands/variable.c:615
 #, c-format
 msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query"
 msgstr "SET TRANSACTION ISOLATION LEVEL debe ser llamado antes de cualquier consulta"
 
-#: commands/variable.c:621
+#: commands/variable.c:622
 #, c-format
 msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction"
 msgstr "SET TRANSACTION ISOLATION LEVEL no debe ser llamado en una subtransacción"
 
-#: commands/variable.c:628 storage/lmgr/predicate.c:1582
+#: commands/variable.c:629 storage/lmgr/predicate.c:1585
 #, c-format
 msgid "cannot use serializable mode in a hot standby"
 msgstr "no se puede utilizar el modo serializable en un hot standby"
 
-#: commands/variable.c:629
+#: commands/variable.c:630
 #, c-format
 msgid "You can use REPEATABLE READ instead."
 msgstr "Puede utilizar REPEATABLE READ en su lugar."
 
-#: commands/variable.c:677
+#: commands/variable.c:678
 #, c-format
 msgid "SET TRANSACTION [NOT] DEFERRABLE cannot be called within a subtransaction"
 msgstr "SET TRANSACTION [NOT] DEFERRABLE no puede ser llamado en una subtransacción"
 
-#: commands/variable.c:683
+#: commands/variable.c:684
 #, c-format
 msgid "SET TRANSACTION [NOT] DEFERRABLE must be called before any query"
 msgstr "SET TRANSACTION [NOT] DEFERRABLE debe ser llamado antes de cualquier consulta"
 
-#: commands/variable.c:765
+#: commands/variable.c:766
 #, c-format
 msgid "Conversion between %s and %s is not supported."
 msgstr "La conversión entre %s y %s no está soportada."
 
-#: commands/variable.c:772
+#: commands/variable.c:773
 #, c-format
 msgid "Cannot change \"client_encoding\" now."
 msgstr "No se puede cambiar «client_encoding» ahora."
 
-#: commands/variable.c:942
+#: commands/variable.c:943
 #, c-format
 msgid "permission denied to set role \"%s\""
 msgstr "se ha denegado el permiso para definir el rol «%s»"
 
-#: commands/view.c:145
+#: commands/view.c:94
 #, c-format
 msgid "could not determine which collation to use for view column \"%s\""
 msgstr "no se pudo determinar el ordenamiento (collation) a usar para la columna «%s» de vista"
 
-#: commands/view.c:160
+#: commands/view.c:109
 #, c-format
 msgid "view must have at least one column"
 msgstr "una vista debe tener al menos una columna"
 
-#: commands/view.c:292 commands/view.c:304
+#: commands/view.c:240 commands/view.c:252
 #, c-format
 msgid "cannot drop columns from view"
 msgstr "no se pueden eliminar columnas de una vista"
 
-#: commands/view.c:309
+#: commands/view.c:257
 #, 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:317
+#: commands/view.c:265
 #, 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:450
+#: commands/view.c:398
 #, c-format
 msgid "views must not contain SELECT INTO"
 msgstr "una vista no puede tener SELECT INTO"
 
-#: commands/view.c:463
+#: commands/view.c:411
 #, 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:491
+#: commands/view.c:439
 #, 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:499
+#: commands/view.c:447
 #, 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:513
+#: commands/view.c:461
 #, c-format
 msgid "view \"%s\" will be a temporary view"
 msgstr "la vista «%s» será una vista temporal"
@@ -8000,387 +8100,437 @@ msgstr "el cursor «%s» no está posicionado en una fila"
 msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\""
 msgstr "el cursor «%s» no es un recorrido simplemente actualizable de la tabla «%s»"
 
-#: executor/execCurrent.c:231 executor/execQual.c:1136
+#: executor/execCurrent.c:231 executor/execQual.c:1138
 #, 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:1148
+#: executor/execCurrent.c:243 executor/execQual.c:1150
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "no se encontró un valor para parámetro %d"
 
-#: executor/execMain.c:947
+#: executor/execMain.c:952
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "no se puede cambiar la secuencia «%s»"
 
-#: executor/execMain.c:953
+#: executor/execMain.c:958
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "no se puede cambiar la relación TOAST «%s»"
 
-#: executor/execMain.c:963
+#: executor/execMain.c:976 rewrite/rewriteHandler.c:2318
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "no se puede insertar en la vista «%s»"
 
-#: executor/execMain.c:965
+#: executor/execMain.c:978 rewrite/rewriteHandler.c:2321
 #, c-format
-msgid "You need an unconditional ON INSERT DO INSTEAD rule or an INSTEAD OF INSERT trigger."
-msgstr "Necesita un regla incondicional ON INSERT DO INSTEAD o un disparador INSTEAD OF INSERT."
+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:971
+#: executor/execMain.c:984 rewrite/rewriteHandler.c:2326
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "no se puede actualizar la vista «%s»"
 
-#: executor/execMain.c:973
+#: executor/execMain.c:986 rewrite/rewriteHandler.c:2329
 #, c-format
-msgid "You need an unconditional ON UPDATE DO INSTEAD rule or an INSTEAD OF UPDATE trigger."
-msgstr "Necesita un regla incondicional ON UPDATE DO INSTEAD o un disparador INSTEAD OF UPDATE."
+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:979
+#: executor/execMain.c:992 rewrite/rewriteHandler.c:2334
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "no se puede eliminar de la vista «%s»"
 
-#: executor/execMain.c:981
+#: executor/execMain.c:994 rewrite/rewriteHandler.c:2337
+#, c-format
+msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule."
+msgstr "Para activar las eliminaciones en la vista, provea un disparador INSTEAD OF DELETE o una regla incondicional ON DELETE DO INSTEAD."
+
+#: executor/execMain.c:1004
+#, c-format
+msgid "cannot change materialized view \"%s\""
+msgstr "no se puede cambiar la vista materializada «%s»"
+
+#: executor/execMain.c:1016
+#, c-format
+msgid "cannot insert into foreign table \"%s\""
+msgstr "no se puede insertar en la tabla foránea «%s»"
+
+#: executor/execMain.c:1022
+#, c-format
+msgid "foreign table \"%s\" does not allow inserts"
+msgstr "la tabla foránea «%s» no permite inserciones"
+
+#: executor/execMain.c:1029
+#, c-format
+msgid "cannot update foreign table \"%s\""
+msgstr "no se puede actualizar la tabla foránea «%s»"
+
+#: executor/execMain.c:1035
+#, c-format
+msgid "foreign table \"%s\" does not allow updates"
+msgstr "la tabla foránea «%s» no permite actualizaciones"
+
+#: executor/execMain.c:1042
 #, c-format
-msgid "You need an unconditional ON DELETE DO INSTEAD rule or an INSTEAD OF DELETE trigger."
-msgstr "Necesita un regla incondicional ON DELETE DO INSTEAD o un disparador INSTEAD OF DELETE."
+msgid "cannot delete from foreign table \"%s\""
+msgstr "no se puede eliminar desde la tabla foránea «%s»"
 
-#: executor/execMain.c:991
+#: executor/execMain.c:1048
 #, c-format
-msgid "cannot change foreign table \"%s\""
-msgstr "no se puede cambiar la tabla foránea «%s»"
+msgid "foreign table \"%s\" does not allow deletes"
+msgstr "la tabla foránea «%s» no permite eliminaciones"
 
-#: executor/execMain.c:997
+#: executor/execMain.c:1059
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "no se puede cambiar la relación «%s»"
 
-#: executor/execMain.c:1021
+#: executor/execMain.c:1083
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "no se puede bloquear registros de la secuencia «%s»"
 
-#: executor/execMain.c:1028
+#: executor/execMain.c:1090
 #, 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:1035
+#: executor/execMain.c:1097
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "no se puede bloquear registros en la vista «%s»"
 
-#: executor/execMain.c:1042
+#: executor/execMain.c:1104
+#, c-format
+msgid "cannot lock rows in materialized view \"%s\""
+msgstr "no se puede bloquear registros en la vista materializada «%s»"
+
+#: executor/execMain.c:1111
 #, 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:1048
+#: executor/execMain.c:1117
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "no se puede bloquear registros en la tabla «%s»"
 
-#: executor/execMain.c:1524
+#: executor/execMain.c:1601
 #, 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:1526 executor/execMain.c:1540
+#: executor/execMain.c:1603 executor/execMain.c:1618
 #, c-format
 msgid "Failing row contains %s."
 msgstr "La fila que falla contiene %s."
 
-#: executor/execMain.c:1538
+#: executor/execMain.c:1616
 #, c-format
 msgid "new row for relation \"%s\" violates check constraint \"%s\""
 msgstr "el nuevo registro para la relación «%s» viola la restricción «check» «%s»"
 
-#: executor/execQual.c:303 executor/execQual.c:331 executor/execQual.c:3090
-#: utils/adt/array_userfuncs.c:430 utils/adt/arrayfuncs.c:227
-#: utils/adt/arrayfuncs.c:506 utils/adt/arrayfuncs.c:1241
-#: utils/adt/arrayfuncs.c:2914 utils/adt/arrayfuncs.c:4939
+#: executor/execQual.c:305 executor/execQual.c:333 executor/execQual.c:3101
+#: utils/adt/array_userfuncs.c:430 utils/adt/arrayfuncs.c:233
+#: utils/adt/arrayfuncs.c:512 utils/adt/arrayfuncs.c:1247
+#: utils/adt/arrayfuncs.c:2920 utils/adt/arrayfuncs.c:4945
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "el número de dimensiones del array (%d) excede el máximo permitido (%d)"
 
-#: executor/execQual.c:316 executor/execQual.c:344
+#: executor/execQual.c:318 executor/execQual.c:346
 #, c-format
 msgid "array subscript in assignment must not be null"
 msgstr "subíndice de array en asignación no puede ser nulo"
 
-#: executor/execQual.c:639 executor/execQual.c:4008
+#: executor/execQual.c:641 executor/execQual.c:4022
 #, c-format
 msgid "attribute %d has wrong type"
 msgstr "el atributo %d tiene tipo erróneo"
 
-#: executor/execQual.c:640 executor/execQual.c:4009
+#: executor/execQual.c:642 executor/execQual.c:4023
 #, c-format
 msgid "Table has type %s, but query expects %s."
 msgstr "La tabla tiene tipo %s, pero la consulta esperaba %s."
 
-#: executor/execQual.c:843 executor/execQual.c:860 executor/execQual.c:1024
-#: executor/nodeModifyTable.c:83 executor/nodeModifyTable.c:93
-#: executor/nodeModifyTable.c:110 executor/nodeModifyTable.c:118
+#: executor/execQual.c:845 executor/execQual.c:862 executor/execQual.c:1026
+#: executor/nodeModifyTable.c:85 executor/nodeModifyTable.c:95
+#: executor/nodeModifyTable.c:112 executor/nodeModifyTable.c:120
 #, c-format
 msgid "table row type and query-specified row type do not match"
-msgstr "el tipo de fila de la tabla no coincide con el tipo de la fila de la consulta"
+msgstr "el tipo de registro de la tabla no coincide con el tipo de registro de la consulta"
 
-#: executor/execQual.c:844
+#: executor/execQual.c:846
 #, c-format
 msgid "Table row contains %d attribute, but query expects %d."
 msgid_plural "Table row contains %d attributes, but query expects %d."
 msgstr[0] "La fila de la tabla contiene %d atributo, pero la consulta esperaba %d."
 msgstr[1] "La fila de la tabla contiene %d atributos, pero la consulta esperaba %d."
 
-#: executor/execQual.c:861 executor/nodeModifyTable.c:94
+#: executor/execQual.c:863 executor/nodeModifyTable.c:96
 #, c-format
 msgid "Table has type %s at ordinal position %d, but query expects %s."
 msgstr "La tabla tiene tipo %s en posición ordinal %d, pero la consulta esperaba %s."
 
-#: executor/execQual.c:1025 executor/execQual.c:1622
+#: executor/execQual.c:1027 executor/execQual.c:1625
 #, c-format
 msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
 msgstr "Discordancia de almacenamiento físico en atributo eliminado en la posición %d."
 
-#: executor/execQual.c:1301 parser/parse_func.c:91 parser/parse_func.c:323
-#: parser/parse_func.c:642
+#: executor/execQual.c:1304 parser/parse_func.c:93 parser/parse_func.c:325
+#: parser/parse_func.c:645
 #, c-format
 msgid "cannot pass more than %d argument to a function"
 msgid_plural "cannot pass more than %d arguments to a function"
 msgstr[0] "no se pueden pasar más de %d argumento a una función"
 msgstr[1] "no se pueden pasar más de %d argumentos a una función"
 
-#: executor/execQual.c:1490
+#: executor/execQual.c:1493
 #, c-format
 msgid "functions and operators can take at most one set argument"
 msgstr "las funciones y operadores pueden tomar a lo más un argumento que sea un conjunto"
 
-#: executor/execQual.c:1540
+#: executor/execQual.c:1543
 #, c-format
 msgid "function returning setof record called in context that cannot accept type record"
 msgstr "se llamó una función que retorna «setof record» en un contexto que no puede aceptar el tipo record"
 
-#: executor/execQual.c:1595 executor/execQual.c:1611 executor/execQual.c:1621
+#: executor/execQual.c:1598 executor/execQual.c:1614 executor/execQual.c:1624
 #, c-format
 msgid "function return row and query-specified return row do not match"
 msgstr "la fila de retorno especificada en la consulta no coincide con fila de retorno de la función"
 
-#: executor/execQual.c:1596
+#: executor/execQual.c:1599
 #, c-format
 msgid "Returned row contains %d attribute, but query expects %d."
 msgid_plural "Returned row contains %d attributes, but query expects %d."
 msgstr[0] "Fila retornada contiene %d atributo, pero la consulta esperaba %d."
 msgstr[1] "Fila retornada contiene %d atributos, pero la consulta esperaba %d."
 
-#: executor/execQual.c:1612
+#: executor/execQual.c:1615
 #, c-format
 msgid "Returned type %s at ordinal position %d, but query expects %s."
 msgstr "Tipo retornado %s en posición ordinal %d, pero la consulta esperaba %s."
 
-#: executor/execQual.c:1848 executor/execQual.c:2273
+#: executor/execQual.c:1859 executor/execQual.c:2284
 #, c-format
 msgid "table-function protocol for materialize mode was not followed"
 msgstr "no se siguió el protocolo de función tabular para el modo de materialización"
 
-#: executor/execQual.c:1868 executor/execQual.c:2280
+#: executor/execQual.c:1879 executor/execQual.c:2291
 #, c-format
 msgid "unrecognized table-function returnMode: %d"
 msgstr "modo de retorno (returnMode) de la función tabular no es reconocido: %d"
 
-#: executor/execQual.c:2190
+#: executor/execQual.c:2201
 #, c-format
 msgid "function returning set of rows cannot return null value"
 msgstr "una función que retorna un conjunto de registros no puede devolver un valor null"
 
-#: executor/execQual.c:2247
+#: executor/execQual.c:2258
 #, c-format
 msgid "rows returned by function are not all of the same row type"
-msgstr "las filas retornadas por la función no tienen todas el mismo tipo"
+msgstr "las filas retornadas por la función no tienen todas el mismo tipo de registro"
 
-#: executor/execQual.c:2438
+#: executor/execQual.c:2449
 #, c-format
 msgid "IS DISTINCT FROM does not support set arguments"
 msgstr "IS DISTINCT FROM no soporta argumentos que sean conjuntos"
 
-#: executor/execQual.c:2515
+#: executor/execQual.c:2526
 #, c-format
 msgid "op ANY/ALL (array) does not support set arguments"
 msgstr "op ANY/ALL (array) no soporta argumentos que sean conjuntos"
 
-#: executor/execQual.c:3068
+#: executor/execQual.c:3079
 #, c-format
 msgid "cannot merge incompatible arrays"
 msgstr "no se puede mezclar arrays incompatibles"
 
-#: executor/execQual.c:3069
+#: executor/execQual.c:3080
 #, c-format
 msgid "Array with element type %s cannot be included in ARRAY construct with element type %s."
 msgstr "El array con tipo de elemento %s no puede ser incluido en una sentencia ARRAY con tipo de elemento %s."
 
-#: executor/execQual.c:3110 executor/execQual.c:3137
-#: utils/adt/arrayfuncs.c:541
+#: executor/execQual.c:3121 executor/execQual.c:3148
+#: utils/adt/arrayfuncs.c:547
 #, c-format
 msgid "multidimensional arrays must have array expressions with matching dimensions"
 msgstr "los arrays multidimensionales deben tener expresiones de arrays con dimensiones coincidentes"
 
-#: executor/execQual.c:3652
+#: executor/execQual.c:3663
 #, c-format
 msgid "NULLIF does not support set arguments"
 msgstr "NULLIF no soporta argumentos que sean conjuntos"
 
-#: executor/execQual.c:3882 utils/adt/domains.c:127
+#: executor/execQual.c:3893 utils/adt/domains.c:131
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "el dominio %s no permite valores null"
 
-#: executor/execQual.c:3911 utils/adt/domains.c:163
+#: executor/execQual.c:3923 utils/adt/domains.c:168
 #, c-format
 msgid "value for domain %s violates check constraint \"%s\""
 msgstr "el valor para el dominio %s viola la restricción «check» «%s»"
 
-#: executor/execQual.c:4404 optimizer/util/clauses.c:570
-#: parser/parse_agg.c:162
+#: executor/execQual.c:4281
+#, c-format
+msgid "WHERE CURRENT OF is not supported for this table type"
+msgstr "WHERE CURRENT OF no está soportado para este tipo de tabla"
+
+#: executor/execQual.c:4423 optimizer/util/clauses.c:573
+#: parser/parse_agg.c:347
 #, c-format
 msgid "aggregate function calls cannot be nested"
 msgstr "no se pueden anidar llamadas a funciones de agregación"
 
-#: executor/execQual.c:4442 optimizer/util/clauses.c:644
-#: parser/parse_agg.c:209
+#: executor/execQual.c:4461 optimizer/util/clauses.c:647
+#: parser/parse_agg.c:443
 #, c-format
 msgid "window function calls cannot be nested"
 msgstr "no se pueden anidar llamadas a funciones de ventana deslizante"
 
-#: executor/execQual.c:4654
+#: executor/execQual.c:4673
 #, c-format
 msgid "target type is not an array"
 msgstr "el tipo de destino no es un array"
 
-#: executor/execQual.c:4768
+#: executor/execQual.c:4787
 #, c-format
 msgid "ROW() column has type %s instead of type %s"
 msgstr "la columna de ROW() es de tipo %s en lugar de ser de tipo %s"
 
-#: executor/execQual.c:4903 utils/adt/arrayfuncs.c:3377
-#: utils/adt/rowtypes.c:950
+#: executor/execQual.c:4922 utils/adt/arrayfuncs.c:3383
+#: utils/adt/rowtypes.c:951
 #, c-format
 msgid "could not identify a comparison function for type %s"
 msgstr "no se pudo identificar una función de comparación para el tipo %s"
 
-#: executor/execUtils.c:1307
+#: executor/execUtils.c:844
+#, c-format
+msgid "materialized view \"%s\" has not been populated"
+msgstr "la vista materializada «%s» no ha sido poblada"
+
+#: executor/execUtils.c:846
+#, c-format
+msgid "Use the REFRESH MATERIALIZED VIEW command."
+msgstr "Use la orden REFRESH MATERIALIZED VIEW."
+
+#: executor/execUtils.c:1323
 #, c-format
 msgid "could not create exclusion constraint \"%s\""
 msgstr "no se pudo crear la restricción por exclusión «%s»"
 
-#: executor/execUtils.c:1309
+#: executor/execUtils.c:1325
 #, c-format
 msgid "Key %s conflicts with key %s."
 msgstr "La llave %s está en conflicto con la llave %s."
 
-#: executor/execUtils.c:1314
+#: executor/execUtils.c:1332
 #, c-format
 msgid "conflicting key value violates exclusion constraint \"%s\""
 msgstr "llave en conflicto viola restricción por exclusión «%s»"
 
-#: executor/execUtils.c:1316
+#: executor/execUtils.c:1334
 #, c-format
 msgid "Key %s conflicts with existing key %s."
 msgstr "La llave %s está en conflicto con la llave existente %s."
 
-#: executor/functions.c:207
+#: executor/functions.c:225
 #, c-format
 msgid "could not determine actual type of argument declared %s"
 msgstr "no se pudo determinar el tipo de argumento declarado %s"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:480
+#: executor/functions.c:498
 #, c-format
 msgid "%s is not allowed in a SQL function"
 msgstr "%s no está permitido en una función SQL"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:487 executor/spi.c:1269 executor/spi.c:1982
+#: executor/functions.c:505 executor/spi.c:1359 executor/spi.c:2143
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s no está permitido en una función no-«volatile»"
 
-#: executor/functions.c:592
+#: executor/functions.c:630
 #, c-format
 msgid "could not determine actual result type for function declared to return type %s"
 msgstr "no se pudo determinar el tipo de resultado para función declarada retornando tipo %s"
 
-#: executor/functions.c:1330
+#: executor/functions.c:1395
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "función SQL «%s» en la sentencia %d"
 
-#: executor/functions.c:1356
+#: executor/functions.c:1421
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "función SQL «%s» durante el inicio"
 
-#: executor/functions.c:1515 executor/functions.c:1552
-#: executor/functions.c:1564 executor/functions.c:1677
-#: executor/functions.c:1710 executor/functions.c:1740
+#: executor/functions.c:1580 executor/functions.c:1617
+#: executor/functions.c:1629 executor/functions.c:1742
+#: executor/functions.c:1775 executor/functions.c:1805
 #, c-format
 msgid "return type mismatch in function declared to return %s"
 msgstr "el tipo de retorno de función declarada para retornar %s no concuerda"
 
-#: executor/functions.c:1517
+#: executor/functions.c:1582
 #, c-format
 msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING."
 msgstr "La sentencia final de la función debe ser un SELECT o INSERT/UPDATE/DELETE RETURNING."
 
-#: executor/functions.c:1554
+#: executor/functions.c:1619
 #, c-format
 msgid "Final statement must return exactly one column."
 msgstr "La sentencia final debe retornar exactamente una columna."
 
-#: executor/functions.c:1566
+#: executor/functions.c:1631
 #, c-format
 msgid "Actual return type is %s."
 msgstr "El verdadero tipo de retorno es %s."
 
-#: executor/functions.c:1679
+#: executor/functions.c:1744
 #, c-format
 msgid "Final statement returns too many columns."
 msgstr "La sentencia final retorna demasiadas columnas."
 
-#: executor/functions.c:1712
+#: executor/functions.c:1777
 #, c-format
 msgid "Final statement returns %s instead of %s at column %d."
 msgstr "La sentencia final retorna %s en lugar de %s en la columna %d."
 
-#: executor/functions.c:1742
+#: executor/functions.c:1807
 #, c-format
 msgid "Final statement returns too few columns."
 msgstr "La sentencia final retorna muy pocas columnas."
 
-#: executor/functions.c:1791
+#: executor/functions.c:1856
 #, c-format
 msgid "return type %s is not supported for SQL functions"
 msgstr "el tipo de retorno %s no es soportado en funciones SQL"
 
-#: executor/nodeAgg.c:1734 executor/nodeWindowAgg.c:1851
+#: executor/nodeAgg.c:1739 executor/nodeWindowAgg.c:1856
 #, c-format
 msgid "aggregate %u needs to have compatible input type and transition type"
 msgstr "la función de agregación %u necesita tener tipos de entrada y transición compatibles"
 
-#: executor/nodeHashjoin.c:822 executor/nodeHashjoin.c:852
+#: executor/nodeHashjoin.c:823 executor/nodeHashjoin.c:853
 #, c-format
 msgid "could not rewind hash-join temporary file: %m"
 msgstr "falló la búsqueda en el archivo temporal de hash-join: %m"
 
-#: executor/nodeHashjoin.c:887 executor/nodeHashjoin.c:893
+#: executor/nodeHashjoin.c:888 executor/nodeHashjoin.c:894
 #, c-format
 msgid "could not write to hash-join temporary file: %m"
 msgstr "no se pudo escribir el archivo temporal de hash-join: %m"
 
-#: executor/nodeHashjoin.c:927 executor/nodeHashjoin.c:937
+#: executor/nodeHashjoin.c:928 executor/nodeHashjoin.c:938
 #, c-format
 msgid "could not read from hash-join temporary file: %m"
 msgstr "no se pudo leer el archivo temporal de hash-join: %m"
@@ -8405,2153 +8555,2541 @@ msgstr "RIGHT JOIN sólo está soportado con condiciones que se pueden usar con
 msgid "FULL JOIN is only supported with merge-joinable join conditions"
 msgstr "FULL JOIN sólo está soportado con condiciones que se pueden usar con merge join"
 
-#: executor/nodeModifyTable.c:84
+#: executor/nodeModifyTable.c:86
 #, c-format
 msgid "Query has too many columns."
 msgstr "La consulta tiene demasiadas columnas."
 
-#: executor/nodeModifyTable.c:111
+#: executor/nodeModifyTable.c:113
 #, c-format
 msgid "Query provides a value for a dropped column at ordinal position %d."
 msgstr "La consulta entrega un valor para una columna eliminada en la posición %d."
 
-#: executor/nodeModifyTable.c:119
+#: executor/nodeModifyTable.c:121
 #, c-format
 msgid "Query has too few columns."
 msgstr "La consulta tiene muy pocas columnas."
 
-#: executor/nodeSubplan.c:302 executor/nodeSubplan.c:341
-#: executor/nodeSubplan.c:968
+#: executor/nodeSubplan.c:304 executor/nodeSubplan.c:343
+#: executor/nodeSubplan.c:970
 #, 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"
 
-#: executor/nodeWindowAgg.c:1238
+#: executor/nodeWindowAgg.c:1240
 #, c-format
 msgid "frame starting offset must not be null"
 msgstr "la posición inicial del marco no debe ser null"
 
-#: executor/nodeWindowAgg.c:1251
+#: executor/nodeWindowAgg.c:1253
 #, c-format
 msgid "frame starting offset must not be negative"
 msgstr "la posición inicial del marco no debe ser negativa"
 
-#: executor/nodeWindowAgg.c:1264
+#: executor/nodeWindowAgg.c:1266
 #, c-format
 msgid "frame ending offset must not be null"
 msgstr "la posición final del marco no debe ser null"
 
-#: executor/nodeWindowAgg.c:1277
+#: executor/nodeWindowAgg.c:1279
 #, c-format
 msgid "frame ending offset must not be negative"
 msgstr "la posición final del marco no debe ser negativa"
 
-#: executor/spi.c:211
+#: executor/spi.c:213
 #, c-format
 msgid "transaction left non-empty SPI stack"
 msgstr "transacción dejó un stack SPI no vacío"
 
-#: executor/spi.c:212 executor/spi.c:276
+#: executor/spi.c:214 executor/spi.c:278
 #, c-format
 msgid "Check for missing \"SPI_finish\" calls."
 msgstr "Revise llamadas a «SPI_finish» faltantes."
 
-#: executor/spi.c:275
+#: executor/spi.c:277
 #, c-format
 msgid "subtransaction left non-empty SPI stack"
 msgstr "subtransacción dejó un stack SPI no vacío"
 
-#: executor/spi.c:1145
+#: executor/spi.c:1223
 #, 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:1150
+#: executor/spi.c:1228
 #, c-format
 msgid "cannot open %s query as cursor"
 msgstr "no se puede abrir consulta %s como cursor"
 
-#: executor/spi.c:1246 parser/analyze.c:2205
+#: executor/spi.c:1336
 #, 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:1247 parser/analyze.c:2206
+#: executor/spi.c:1337 parser/analyze.c:2094
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Los cursores declarados SCROLL deben ser READ ONLY."
 
-#: executor/spi.c:2266
+#: executor/spi.c:2433
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "sentencia SQL: «%s»"
 
-#: foreign/foreign.c:188
+#: foreign/foreign.c:192
 #, c-format
 msgid "user mapping not found for \"%s\""
 msgstr "no se encontró un mapeo para el usuario «%s»"
 
-#: foreign/foreign.c:344
+#: foreign/foreign.c:348
 #, c-format
 msgid "foreign-data wrapper \"%s\" has no handler"
 msgstr "el conector de datos externos «%s» no tiene manejador"
 
-#: foreign/foreign.c:521
+#: foreign/foreign.c:573
 #, c-format
 msgid "invalid option \"%s\""
 msgstr "el nombre de opción «%s» no es válido"
 
-#: foreign/foreign.c:522
+#: foreign/foreign.c:574
 #, c-format
 msgid "Valid options in this context are: %s"
 msgstr "Las opciones válidas en este contexto son: %s"
 
-#: lib/stringinfo.c:267
+#: gram.y:944
 #, 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:257
+#: gram.y:1226 gram.y:1241
 #, 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:260
+#: gram.y:1383
 #, c-format
-msgid "Kerberos 5 authentication failed for user \"%s\""
-msgstr "la autentificación Kerberos 5 falló para el usuario «%s»"
+msgid "current database cannot be changed"
+msgstr "no se puede cambiar la base de datos activa"
 
-#: libpq/auth.c:263
+#: gram.y:1510 gram.y:1525
 #, c-format
-msgid "\"trust\" authentication failed for user \"%s\""
-msgstr "la autentificación «trust» 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:266
+#: gram.y:1530 gram.y:10031 gram.y:12558
 #, c-format
-msgid "Ident authentication failed for user \"%s\""
-msgstr "la autentificación Ident falló para el usuario «%s»"
+msgid "interval precision specified twice"
+msgstr "la precisión de interval fue especificada dos veces"
 
-#: libpq/auth.c:269
+#: gram.y:2362 gram.y:2391
 #, c-format
-msgid "Peer authentication failed for user \"%s\""
-msgstr "la autentificación Peer falló para el usuario «%s»"
+msgid "STDIN/STDOUT not allowed with PROGRAM"
+msgstr "STDIN/STDOUT no están permitidos con PROGRAM"
 
-#: libpq/auth.c:273
+#: gram.y:2649 gram.y:2656 gram.y:9314 gram.y:9322
 #, c-format
-msgid "password authentication failed for user \"%s\""
-msgstr "la autentificación password 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:278
+#: gram.y:3093 utils/adt/ri_triggers.c:310 utils/adt/ri_triggers.c:367
+#: utils/adt/ri_triggers.c:786 utils/adt/ri_triggers.c:1009
+#: utils/adt/ri_triggers.c:1165 utils/adt/ri_triggers.c:1346
+#: utils/adt/ri_triggers.c:1511 utils/adt/ri_triggers.c:1687
+#: utils/adt/ri_triggers.c:1867 utils/adt/ri_triggers.c:2058
+#: utils/adt/ri_triggers.c:2116 utils/adt/ri_triggers.c:2221
+#: utils/adt/ri_triggers.c:2386
 #, c-format
-msgid "GSSAPI authentication failed for user \"%s\""
-msgstr "la autentificación GSSAPI falló para el usuario «%s»"
-
-#: libpq/auth.c:281
-#, 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:284
-#, c-format
-msgid "PAM authentication failed for user \"%s\""
-msgstr "la autentificación PAM falló para el usuario «%s»"
+#: gram.y:4325
+msgid "duplicate trigger events specified"
+msgstr "se han especificado eventos de disparador duplicados"
 
-#: libpq/auth.c:287
+#: gram.y:4420 parser/parse_utilcmd.c:2596 parser/parse_utilcmd.c:2622
 #, c-format
-msgid "LDAP authentication failed for user \"%s\""
-msgstr "la autentificación LDAP 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:290
+#: gram.y:4427
 #, c-format
-msgid "certificate authentication failed for user \"%s\""
-msgstr "la autentificación por certificado falló para el usuario «%s»"
+msgid "conflicting constraint properties"
+msgstr "propiedades de restricción contradictorias"
 
-#: libpq/auth.c:293
+#: gram.y:4559
 #, c-format
-msgid "RADIUS authentication failed for user \"%s\""
-msgstr "la autentificación RADIUS falló para el usuario «%s»"
+msgid "CREATE ASSERTION is not yet implemented"
+msgstr "CREATE ASSERTION no está implementado"
 
-#: libpq/auth.c:296
+#: gram.y:4575
 #, 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 "DROP ASSERTION is not yet implemented"
+msgstr "DROP ASSERTION no está implementado"
 
-#: libpq/auth.c:352
+#: gram.y:4925
 #, c-format
-msgid "connection requires a valid client certificate"
-msgstr "la conexión requiere un certificado de cliente válido"
+msgid "RECHECK is no longer required"
+msgstr "RECHECK ya no es requerido"
 
-#: libpq/auth.c:394
+#: gram.y:4926
 #, c-format
-msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
-msgstr "pg_hba.conf rechaza la conexión de replicación para el servidor «%s», usuario «%s», %s"
-
-#: libpq/auth.c:396 libpq/auth.c:412 libpq/auth.c:460 libpq/auth.c:478
-msgid "SSL off"
-msgstr "SSL inactivo"
-
-#: libpq/auth.c:396 libpq/auth.c:412 libpq/auth.c:460 libpq/auth.c:478
-msgid "SSL on"
-msgstr "SSL activo"
+msgid "Update your data type."
+msgstr "Actualice su tipo de datos."
 
-#: libpq/auth.c:400
+#: gram.y:6628 utils/adt/regproc.c:656
 #, 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 "missing argument"
+msgstr "falta un argumento"
 
-#: libpq/auth.c:409
+#: gram.y:6629 utils/adt/regproc.c:657
 #, 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 "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:416
+#: gram.y:8024 gram.y:8030 gram.y:8036
 #, 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 "WITH CHECK OPTION is not implemented"
+msgstr "WITH CHECK OPTION no está implementado"
 
-#: libpq/auth.c:445
+#: gram.y:8959
 #, 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 "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:447
+#: gram.y:9418
 #, 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 "LIMIT #,# syntax is not supported"
+msgstr "la sintaxis LIMIT #,# no está soportada"
 
-#: libpq/auth.c:449
+#: gram.y:9419
 #, 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 "Use separate LIMIT and OFFSET clauses."
+msgstr "Use cláusulas LIMIT y OFFSET separadas."
 
-#: libpq/auth.c:458
+#: gram.y:9610 gram.y:9635
 #, 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 "VALUES in FROM must have an alias"
+msgstr "VALUES en FROM debe tener un alias"
 
-#: libpq/auth.c:465
+#: gram.y:9611 gram.y:9636
 #, 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 "For example, FROM (VALUES ...) [AS] foo."
+msgstr "Por ejemplo, FROM (VALUES ...) [AS] foo."
 
-#: libpq/auth.c:475
+#: gram.y:9616 gram.y:9641
 #, 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 "subquery in FROM must have an alias"
+msgstr "las subconsultas en FROM deben tener un alias"
 
-#: libpq/auth.c:483
+#: gram.y:9617 gram.y:9642
 #, 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 "For example, FROM (SELECT ...) [AS] foo."
+msgstr "Por ejemplo, FROM (SELECT ...) [AS] foo."
 
-#: libpq/auth.c:535 libpq/hba.c:1180
+#: gram.y:10157
 #, 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 "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:659
+#: gram.y:10166
 #, 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 "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:687
+#: gram.y:10880
 #, c-format
-msgid "invalid password packet size"
-msgstr "el tamaño del paquete de contraseña no es válido"
+msgid "UNIQUE predicate is not yet implemented"
+msgstr "el predicado UNIQUE no está implementado"
 
-#: libpq/auth.c:691
+#: gram.y:11825
 #, c-format
-msgid "received password packet"
-msgstr "se recibió un paquete de clave"
+msgid "RANGE PRECEDING is only supported with UNBOUNDED"
+msgstr "RANGE PRECEDING sólo está soportado con UNBOUNDED"
 
-#: libpq/auth.c:749
+#: gram.y:11831
 #, c-format
-msgid "Kerberos initialization returned error %d"
-msgstr "la inicialización de Kerberos retornó error %d"
+msgid "RANGE FOLLOWING is only supported with UNBOUNDED"
+msgstr "RANGE FOLLOWING sólo está soportado con UNBOUNDED"
 
-#: libpq/auth.c:759
+#: gram.y:11858 gram.y:11881
 #, c-format
-msgid "Kerberos keytab resolving returned error %d"
-msgstr "la resolución de keytab de Kerberos retornó error %d"
+msgid "frame start cannot be UNBOUNDED FOLLOWING"
+msgstr "el inicio de «frame» no puede ser UNBOUNDED FOLLOWING"
 
-#: libpq/auth.c:783
+#: gram.y:11863
 #, c-format
-msgid "Kerberos sname_to_principal(\"%s\", \"%s\") returned error %d"
-msgstr "sname_to_principal(\"%s\", \"%s\") de Kerberos retornó error %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:828
+#: gram.y:11886
 #, c-format
-msgid "Kerberos recvauth returned error %d"
-msgstr "recvauth de Kerberos retornó error %d"
+msgid "frame end cannot be UNBOUNDED PRECEDING"
+msgstr "el fin de «frame» no puede ser UNBOUNDED PRECEDING"
 
-#: libpq/auth.c:851
+#: gram.y:11892
 #, c-format
-msgid "Kerberos unparse_name returned error %d"
-msgstr "unparse_name de Kerberos retornó error %d"
+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:999
+#: gram.y:11899
 #, c-format
-msgid "GSSAPI is not supported in protocol version 2"
-msgstr "GSSAPI 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:1054
+#: gram.y:12533
 #, c-format
-msgid "expected GSS response, got message type %d"
-msgstr "se esperaba una respuesta GSS, se obtuvo mensaje de tipo %d"
-
-#: libpq/auth.c:1117
-msgid "accepting GSS security context failed"
-msgstr "falló la aceptación del contexto de seguridad GSS"
+msgid "type modifier cannot have parameter name"
+msgstr "el modificador de tipo no puede tener nombre de parámetro"
 
-#: libpq/auth.c:1143
-msgid "retrieving GSS user name failed"
-msgstr "falló la obtención del nombre de usuario GSS"
+#: gram.y:13144 gram.y:13352
+msgid "improper use of \"*\""
+msgstr "uso impropio de «*»"
 
-#: libpq/auth.c:1260
+#: gram.y:13283
 #, c-format
-msgid "SSPI is not supported in protocol version 2"
-msgstr "SSPI no está soportado por el protocolo versión 2"
-
-#: libpq/auth.c:1275
-msgid "could not acquire SSPI credentials"
-msgstr "no se pudo obtener las credenciales SSPI"
+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:1292
+#: gram.y:13290
 #, 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:1364
-msgid "could not accept SSPI security context"
-msgstr "no se pudo aceptar un contexto SSPI"
-
-#: libpq/auth.c:1426
-msgid "could not get token from SSPI security context"
-msgstr "no se pudo obtener un testigo (token) desde el contexto de seguridad SSPI"
+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:1670
+#: gram.y:13315 gram.y:13332 tsearch/spell.c:518 tsearch/spell.c:535
+#: tsearch/spell.c:552 tsearch/spell.c:569 tsearch/spell.c:591
 #, c-format
-msgid "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:1685
+#: gram.y:13403
 #, c-format
-msgid "could not bind to local address \"%s\": %m"
-msgstr "no se pudo enlazar a la dirección local «%s»: %m"
+msgid "multiple ORDER BY clauses not allowed"
+msgstr "no se permiten múltiples cláusulas ORDER BY"
 
-#: libpq/auth.c:1697
+#: gram.y:13414
 #, 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 OFFSET clauses not allowed"
+msgstr "no se permiten múltiples cláusulas OFFSET"
 
-#: libpq/auth.c:1717
+#: gram.y:13423
 #, 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 LIMIT clauses not allowed"
+msgstr "no se permiten múltiples cláusulas LIMIT"
 
-#: libpq/auth.c:1732
+#: gram.y:13432
 #, 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 WITH clauses not allowed"
+msgstr "no se permiten múltiples cláusulas WITH"
 
-#: libpq/auth.c:1742
+#: gram.y:13578
 #, c-format
-msgid "invalidly formatted response from Ident server: \"%s\""
-msgstr "respuesta del servidor Ident en formato no válido: «%s»"
+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:1781
+#: gram.y:13679
 #, 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 "multiple COLLATE clauses not allowed"
+msgstr "no se permiten múltiples cláusulas COLLATE"
 
-#: libpq/auth.c:1785
+#. translator: %s is CHECK, UNIQUE, or similar
+#: gram.y:13717 gram.y:13730
 #, c-format
-msgid "could not get peer credentials: %m"
-msgstr "no se pudo recibir credenciales: %m"
+msgid "%s constraints cannot be marked DEFERRABLE"
+msgstr "las restricciones %s no pueden ser marcadas DEFERRABLE"
 
-#: libpq/auth.c:1794
+#. translator: %s is CHECK, UNIQUE, or similar
+#: gram.y:13743
 #, c-format
-msgid "local user with ID %d does not exist"
-msgstr "no existe un usuario local con ID %d"
+msgid "%s constraints cannot be marked NOT VALID"
+msgstr "las restricciones %s no pueden ser marcadas NOT VALID"
 
-#: libpq/auth.c:1877 libpq/auth.c:2149 libpq/auth.c:2509
+#. translator: %s is CHECK, UNIQUE, or similar
+#: gram.y:13756
 #, c-format
-msgid "empty password returned by client"
-msgstr "el cliente retornó una contraseña vacía"
+msgid "%s constraints cannot be marked NO INHERIT"
+msgstr "las restricciones %s no pueden ser marcadas NO INHERIT"
 
-#: libpq/auth.c:1887
+#: guc-file.l:192
 #, c-format
-msgid "error from underlying PAM layer: %s"
-msgstr "se ha recibido un error de la biblioteca PAM: %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:1956
+#: guc-file.l:227 utils/misc/guc.c:5228 utils/misc/guc.c:5404
+#: utils/misc/guc.c:5508 utils/misc/guc.c:5609 utils/misc/guc.c:5730
+#: utils/misc/guc.c:5838
 #, c-format
-msgid "could not create PAM authenticator: %s"
-msgstr "no se pudo crear autenticador PAM: %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:1967
+#: guc-file.l:255
 #, c-format
-msgid "pam_set_item(PAM_USER) failed: %s"
-msgstr "pam_set_item(PAM_USER) 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:1978
+#: guc-file.l:317
 #, c-format
-msgid "pam_set_item(PAM_CONV) failed: %s"
-msgstr "pam_set_item(PAM_CONV) falló: %s"
+msgid "parameter \"%s\" changed to \"%s\""
+msgstr "el parámetro «%s» fue cambiado a «%s»"
 
-#: libpq/auth.c:1989
+#: guc-file.l:351
 #, c-format
-msgid "pam_authenticate failed: %s"
-msgstr "pam_authenticate falló: %s"
+msgid "configuration file \"%s\" contains errors"
+msgstr "el archivo de configuración «%s» contiene errores"
 
-#: libpq/auth.c:2000
+#: guc-file.l:356
 #, c-format
-msgid "pam_acct_mgmt failed: %s"
-msgstr "pam_acct_mgmt falló: %s"
+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:2011
+#: guc-file.l:361
 #, c-format
-msgid "could not release PAM authenticator: %s"
-msgstr "no se pudo liberar autenticador PAM: %s"
+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:2044 libpq/auth.c:2048
+#: guc-file.l:425
 #, c-format
-msgid "could not initialize LDAP: error code %d"
-msgstr "no se pudo inicializar LDAP: código de error %d"
+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:2058
+#: guc-file.l:438 libpq/hba.c:1802
 #, c-format
-msgid "could not set LDAP protocol version: error code %d"
-msgstr "no se pudo definir la versión de protocolo LDAP: código de error %d"
+msgid "could not open configuration file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de configuración «%s»: %m"
 
-#: libpq/auth.c:2087
+#: guc-file.l:444
 #, c-format
-msgid "could not load wldap32.dll"
-msgstr "no se pudo cargar wldap32.dll"
+msgid "skipping missing configuration file \"%s\""
+msgstr "saltando el archivo de configuración faltante «%s»"
 
-#: libpq/auth.c:2095
+#: guc-file.l:650
 #, 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 "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:2096
+#: guc-file.l:655
 #, 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 token \"%s\""
+msgstr "error de sintaxis en el archivo «%s» línea %u, cerca de la palabra «%s»"
 
-#: libpq/auth.c:2111
+#: guc-file.l:671
 #, c-format
-msgid "could not start LDAP TLS session: error code %d"
-msgstr "no se pudo iniciar sesión de LDAP TLS: código de error %d"
+msgid "too many syntax errors found, abandoning file \"%s\""
+msgstr "se encontraron demasiados errores de sintaxis, abandonando el archivo «%s»"
 
-#: libpq/auth.c:2133
+#: guc-file.l:716
 #, c-format
-msgid "LDAP server not specified"
-msgstr "servidor LDAP no especificado"
+msgid "could not open configuration directory \"%s\": %m"
+msgstr "no se pudo abrir el directorio de configuración «%s»: %m"
 
-#: libpq/auth.c:2185
+#: lib/stringinfo.c:267
 #, 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 "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:2200
+#: libpq/auth.c:257
 #, c-format
-msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": error code %d"
-msgstr "no se pudo hacer el enlace LDAP inicial para el ldapbinddb «%s» en el servidor «%s»: código de error %d"
+msgid "authentication failed for user \"%s\": host rejected"
+msgstr "la autentificación falló para el usuario «%s»: anfitrión rechazado"
 
-#: libpq/auth.c:2225
+#: libpq/auth.c:260
 #, c-format
-msgid "could not search LDAP for filter \"%s\" on server \"%s\": error code %d"
-msgstr "no se pudo hacer la búsqueda LDAP para el filtro «%s» en el servidor «%s»: código de error %d"
+msgid "Kerberos 5 authentication failed for user \"%s\""
+msgstr "la autentificación Kerberos 5 falló para el usuario «%s»"
 
-#: libpq/auth.c:2235
+#: libpq/auth.c:263
 #, c-format
-msgid "LDAP search failed for filter \"%s\" on server \"%s\": no such user"
-msgstr "La búsqueda LDAP falló para el filtro «%s» en el servidor «%s»: no existe el usuario"
+msgid "\"trust\" authentication failed for user \"%s\""
+msgstr "la autentificación «trust» falló para el usuario «%s»"
 
-#: libpq/auth.c:2239
+#: libpq/auth.c:266
 #, c-format
-msgid "LDAP search failed for filter \"%s\" on server \"%s\": user is not unique (%ld matches)"
-msgstr "La búsqueda LDAP falló para el filtro «%s» en el servidor «%s»: el usuario no es único (%ld coincidencias)"
+msgid "Ident authentication failed for user \"%s\""
+msgstr "la autentificación Ident falló para el usuario «%s»"
 
-#: libpq/auth.c:2256
+#: libpq/auth.c:269
 #, 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 "Peer authentication failed for user \"%s\""
+msgstr "la autentificación Peer falló para el usuario «%s»"
 
-#: libpq/auth.c:2276
+#: libpq/auth.c:273
 #, 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 "password authentication failed for user \"%s\""
+msgstr "la autentificación password falló para el usuario «%s»"
 
-#: libpq/auth.c:2313
+#: libpq/auth.c:278
 #, c-format
-msgid "LDAP login failed for user \"%s\" on server \"%s\": error code %d"
-msgstr "Falló el inicio de sesión LDAP para el usuario «%s» en el servidor «%s»: código de error %d"
+msgid "GSSAPI authentication failed for user \"%s\""
+msgstr "la autentificación GSSAPI falló para el usuario «%s»"
 
-#: libpq/auth.c:2341
+#: libpq/auth.c:281
 #, 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 "SSPI authentication failed for user \"%s\""
+msgstr "la autentificación SSPI falló para el usuario «%s»"
 
-#: libpq/auth.c:2465
+#: libpq/auth.c:284
 #, c-format
-msgid "RADIUS server not specified"
-msgstr "servidor RADIUS no especificado"
+msgid "PAM authentication failed for user \"%s\""
+msgstr "la autentificación PAM falló para el usuario «%s»"
 
-#: libpq/auth.c:2472
+#: libpq/auth.c:287
 #, c-format
-msgid "RADIUS secret not specified"
-msgstr "secreto RADIUS no especificado"
+msgid "LDAP authentication failed for user \"%s\""
+msgstr "la autentificación LDAP falló para el usuario «%s»"
 
-#: libpq/auth.c:2488 libpq/hba.c:1543
+#: libpq/auth.c:290
 #, 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 "certificate authentication failed for user \"%s\""
+msgstr "la autentificación por certificado falló para el usuario «%s»"
 
-#: libpq/auth.c:2516
+#: libpq/auth.c:293
 #, 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 "RADIUS authentication failed for user \"%s\""
+msgstr "la autentificación RADIUS falló para el usuario «%s»"
 
-#: libpq/auth.c:2527
+#: libpq/auth.c:296
 #, c-format
-msgid "could not generate random encryption vector"
-msgstr "no se pudo generar un vector aleatorio de encriptación"
+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:2550
+#: libpq/auth.c:304
 #, c-format
-msgid "could not perform MD5 encryption of password"
-msgstr "no se pudo efectuar cifrado MD5 de la contraseña"
+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:2572
+#: libpq/auth.c:359
 #, c-format
-msgid "could not create RADIUS socket: %m"
-msgstr "no se pudo crear el socket RADIUS: %m"
+msgid "connection requires a valid client certificate"
+msgstr "la conexión requiere un certificado de cliente válido"
 
-#: libpq/auth.c:2593
+#: libpq/auth.c:401
 #, c-format
-msgid "could not bind local RADIUS socket: %m"
-msgstr "no se pudo enlazar el socket RADIUS local: %m"
+msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
+msgstr "pg_hba.conf rechaza la conexión de replicación para el servidor «%s», usuario «%s», %s"
 
-#: libpq/auth.c:2603
-#, c-format
-msgid "could not send RADIUS packet: %m"
-msgstr "no se pudo enviar el paquete RADIUS: %m"
+#: libpq/auth.c:403 libpq/auth.c:419 libpq/auth.c:467 libpq/auth.c:485
+msgid "SSL off"
+msgstr "SSL inactivo"
+
+#: libpq/auth.c:403 libpq/auth.c:419 libpq/auth.c:467 libpq/auth.c:485
+msgid "SSL on"
+msgstr "SSL activo"
 
-#: libpq/auth.c:2632 libpq/auth.c:2657
+#: libpq/auth.c:407
 #, c-format
-msgid "timeout waiting for RADIUS response"
-msgstr "se agotó el tiempo de espera de la respuesta RADIUS"
+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:2650
+#: libpq/auth.c:416
 #, 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\", %s"
+msgstr "pg_hba.conf rechaza la conexión para el servidor «%s», usuario «%s», base de datos «%s», %s"
 
-#: libpq/auth.c:2679
+#: libpq/auth.c:423
 #, c-format
-msgid "could not read RADIUS response: %m"
-msgstr "no se pudo leer la respuesta RADIUS: %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:2691 libpq/auth.c:2695
+#: libpq/auth.c:452
 #, 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 matches."
+msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado es coincidente."
 
-#: libpq/auth.c:2704
+#: libpq/auth.c:454
 #, 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 not checked."
+msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado no fue verificado."
 
-#: libpq/auth.c:2711
+#: libpq/auth.c:456
 #, c-format
-msgid "RADIUS response has corrupt length: %d (actual length %d)"
-msgstr "la respuesta RADIUS tiene largo corrupto: %d (largo real %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:2719
+#: libpq/auth.c:465
 #, 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 "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:2744
+#: libpq/auth.c:472
 #, 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\""
+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:2753
+#: libpq/auth.c:482
 #, c-format
-msgid "RADIUS response has incorrect MD5 signature"
-msgstr "la respuesta RADIUS tiene firma MD5 incorrecta"
+msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s"
+msgstr "no hay una línea en pg_hba.conf para «%s», usuario «%s», base de datos «%s», %s"
 
-#: libpq/auth.c:2770
+#: libpq/auth.c:490
 #, 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\""
+msgstr "no hay una línea en pg_hba.conf para «%s», usuario «%s», base de datos «%s»"
 
-#: libpq/be-fsstubs.c:132 libpq/be-fsstubs.c:162 libpq/be-fsstubs.c:188
-#: libpq/be-fsstubs.c:224 libpq/be-fsstubs.c:271 libpq/be-fsstubs.c:518
+#: libpq/auth.c:542 libpq/hba.c:1206
 #, c-format
-msgid "invalid large-object descriptor: %d"
-msgstr "el descriptor de objeto grande no es válido: %d"
+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:172 libpq/be-fsstubs.c:204 libpq/be-fsstubs.c:528
+#: libpq/auth.c:666
 #, c-format
-msgid "permission denied for large object %u"
-msgstr "permiso denegado al objeto grande %u"
+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:193
+#: libpq/auth.c:694
 #, 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 "invalid password packet size"
+msgstr "el tamaño del paquete de contraseña no es válido"
 
-#: libpq/be-fsstubs.c:391
+#: libpq/auth.c:698
 #, 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:392
+#: libpq/auth.c:756
 #, 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 "Kerberos initialization returned error %d"
+msgstr "la inicialización de Kerberos retornó error %d"
 
-#: libpq/be-fsstubs.c:405
+#: libpq/auth.c:766
 #, c-format
-msgid "could not open server file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de servidor «%s»: %m"
+msgid "Kerberos keytab resolving returned error %d"
+msgstr "la resolución de keytab de Kerberos retornó error %d"
 
-#: libpq/be-fsstubs.c:427
+#: libpq/auth.c:790
 #, c-format
-msgid "could not read server file \"%s\": %m"
-msgstr "no se pudo leer el archivo de servidor «%s»: %m"
+msgid "Kerberos sname_to_principal(\"%s\", \"%s\") returned error %d"
+msgstr "sname_to_principal(\"%s\", \"%s\") de Kerberos retornó error %d"
 
-#: libpq/be-fsstubs.c:457
+#: libpq/auth.c:835
 #, 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"
+msgid "Kerberos recvauth returned error %d"
+msgstr "recvauth de Kerberos retornó error %d"
 
-#: libpq/be-fsstubs.c:458
+#: libpq/auth.c:858
 #, 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 "Kerberos unparse_name returned error %d"
+msgstr "unparse_name de Kerberos retornó error %d"
 
-#: libpq/be-fsstubs.c:483
+#: libpq/auth.c:1006
 #, c-format
-msgid "could not create server file \"%s\": %m"
-msgstr "no se pudo crear el archivo del servidor «%s»: %m"
+msgid "GSSAPI is not supported in protocol version 2"
+msgstr "GSSAPI no está soportado por el protocolo versión 2"
 
-#: libpq/be-fsstubs.c:495
+#: libpq/auth.c:1061
 #, c-format
-msgid "could not write server file \"%s\": %m"
-msgstr "no se pudo escribir el archivo del 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-secure.c:284 libpq/be-secure.c:379
+#: libpq/auth.c:1120
+msgid "accepting GSS security context failed"
+msgstr "falló la aceptación del contexto de seguridad GSS"
+
+#: libpq/auth.c:1146
+msgid "retrieving GSS user name failed"
+msgstr "falló la obtención del nombre de usuario GSS"
+
+#: libpq/auth.c:1263
 #, c-format
-msgid "SSL error: %s"
-msgstr "error SSL: %s"
+msgid "SSPI is not supported in protocol version 2"
+msgstr "SSPI no está soportado por el protocolo versión 2"
 
-#: libpq/be-secure.c:293 libpq/be-secure.c:388 libpq/be-secure.c:939
+#: libpq/auth.c:1278
+msgid "could not acquire SSPI credentials"
+msgstr "no se pudo obtener las credenciales SSPI"
+
+#: libpq/auth.c:1295
 #, c-format
-msgid "unrecognized SSL error code: %d"
-msgstr "código de error SSL no reconocido: %d"
+msgid "expected SSPI response, got message type %d"
+msgstr "se esperaba una respuesta SSPI, se obtuvo mensaje de tipo %d"
 
-#: libpq/be-secure.c:332 libpq/be-secure.c:336 libpq/be-secure.c:346
+#: libpq/auth.c:1367
+msgid "could not accept SSPI security context"
+msgstr "no se pudo aceptar un contexto SSPI"
+
+#: libpq/auth.c:1429
+msgid "could not get token from SSPI security context"
+msgstr "no se pudo obtener un testigo (token) desde el contexto de seguridad SSPI"
+
+#: libpq/auth.c:1673
 #, c-format
-msgid "SSL renegotiation failure"
-msgstr "ocurrió una falla en renegociación SSL"
+msgid "could not create socket for Ident connection: %m"
+msgstr "no se pudo crear un socket para conexión Ident: %m"
 
-#: libpq/be-secure.c:340
+#: libpq/auth.c:1688
 #, c-format
-msgid "SSL failed to send renegotiation request"
-msgstr "SSL no pudo enviar una petición de renegociación"
+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:737
+#: libpq/auth.c:1700
 #, c-format
-msgid "could not create SSL context: %s"
-msgstr "no se pudo crear un contexto SSL: %s"
+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:753
+#: libpq/auth.c:1720
 #, 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 "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:759
+#: libpq/auth.c:1735
 #, 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 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:774
+#: libpq/auth.c:1745
 #, 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 "invalidly formatted response from Ident server: \"%s\""
+msgstr "respuesta del servidor Ident en formato no válido: «%s»"
 
-#: libpq/be-secure.c:776
+#: libpq/auth.c:1784
 #, c-format
-msgid "Permissions should be u=rw (0600) or less."
-msgstr "Los permisos deberían ser u=rw (0500) o menos."
+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:783
+#: libpq/auth.c:1788
 #, 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 "could not get peer credentials: %m"
+msgstr "no se pudo recibir credenciales: %m"
 
-#: libpq/be-secure.c:788
+#: libpq/auth.c:1797
 #, c-format
-msgid "check of private key failed: %s"
-msgstr "falló la revisión de la llave privada: %s"
+msgid "local user with ID %d does not exist"
+msgstr "no existe un usuario local con ID %d"
 
-#: libpq/be-secure.c:808
+#: libpq/auth.c:1880 libpq/auth.c:2151 libpq/auth.c:2516
 #, 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 "empty password returned by client"
+msgstr "el cliente retornó una contraseña vacía"
 
-#: libpq/be-secure.c:832
+#: libpq/auth.c:1890
 #, c-format
-msgid "SSL certificate revocation list file \"%s\" ignored"
-msgstr "ignorando lista de revocación de certificados SSL «%s»"
+msgid "error from underlying PAM layer: %s"
+msgstr "se ha recibido un error de la biblioteca PAM: %s"
 
-#: libpq/be-secure.c:834
+#: libpq/auth.c:1959
 #, 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 create PAM authenticator: %s"
+msgstr "no se pudo crear autenticador PAM: %s"
 
-#: libpq/be-secure.c:839
+#: libpq/auth.c:1970
 #, 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 "pam_set_item(PAM_USER) failed: %s"
+msgstr "pam_set_item(PAM_USER) falló: %s"
 
-#: libpq/be-secure.c:884
+#: libpq/auth.c:1981
 #, c-format
-msgid "could not initialize SSL connection: %s"
-msgstr "no se pudo inicializar la conexión SSL: %s"
+msgid "pam_set_item(PAM_CONV) failed: %s"
+msgstr "pam_set_item(PAM_CONV) falló: %s"
 
-#: libpq/be-secure.c:893
+#: libpq/auth.c:1992
 #, c-format
-msgid "could not set SSL socket: %s"
-msgstr "no se definir un socket SSL: %s"
+msgid "pam_authenticate failed: %s"
+msgstr "pam_authenticate falló: %s"
 
-#: libpq/be-secure.c:919
+#: libpq/auth.c:2003
 #, c-format
-msgid "could not accept SSL connection: %m"
-msgstr "no se pudo aceptar una conexión SSL: %m"
+msgid "pam_acct_mgmt failed: %s"
+msgstr "pam_acct_mgmt falló: %s"
 
-#: libpq/be-secure.c:923 libpq/be-secure.c:934
+#: libpq/auth.c:2014
 #, 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 release PAM authenticator: %s"
+msgstr "no se pudo liberar autenticador PAM: %s"
 
-#: libpq/be-secure.c:928
+#: libpq/auth.c:2047
 #, c-format
-msgid "could not accept SSL connection: %s"
-msgstr "no se pudo aceptar una conexión SSL: %s"
+msgid "could not initialize LDAP: %m"
+msgstr "no se pudo inicializar LDAP: %m"
 
-#: libpq/be-secure.c:984
+#: libpq/auth.c:2050
 #, c-format
-msgid "SSL certificate's common name contains embedded null"
-msgstr "el «common name» del certificado SSL contiene un carácter null"
+msgid "could not initialize LDAP: error code %d"
+msgstr "no se pudo inicializar LDAP: código de error %d"
 
-#: libpq/be-secure.c:995
+#: libpq/auth.c:2060
 #, c-format
-msgid "SSL connection from \"%s\""
-msgstr "conexión SSL desde «%s»"
-
-#: libpq/be-secure.c:1046
-msgid "no SSL error reported"
-msgstr "código de error SSL no reportado"
+msgid "could not set LDAP protocol version: %s"
+msgstr "no se pudo definir la versión de protocolo LDAP: %s"
 
-#: libpq/be-secure.c:1050
+#: libpq/auth.c:2089
 #, c-format
-msgid "SSL error code %lu"
-msgstr "código de error SSL %lu"
+msgid "could not load wldap32.dll"
+msgstr "no se pudo cargar wldap32.dll"
 
-#: libpq/hba.c:181
+#: libpq/auth.c:2097
 #, 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 "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/hba.c:326
+#: libpq/auth.c:2098
 #, c-format
-msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m"
-msgstr "no se pudo abrir el archivo secundario de autentificación «@%s» como «%s»: %m"
+msgid "LDAP over SSL is not supported on this platform."
+msgstr "LDAP sobre SSL no está soportado en esta plataforma."
 
-#: libpq/hba.c:595
+#: libpq/auth.c:2113
 #, c-format
-msgid "could not translate host name \"%s\" to address: %s"
-msgstr "no se pudo traducir el nombre «%s» a una dirección: %s"
+msgid "could not start LDAP TLS session: %s"
+msgstr "no se pudo iniciar sesión de LDAP TLS: %s"
 
-#. translator: the second %s is a list of auth methods
-#: libpq/hba.c:746
+#: libpq/auth.c:2135
 #, 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 "LDAP server not specified"
+msgstr "servidor LDAP no especificado"
 
-#: libpq/hba.c:748 libpq/hba.c:764 libpq/hba.c:795 libpq/hba.c:841
-#: libpq/hba.c:854 libpq/hba.c:876 libpq/hba.c:885 libpq/hba.c:908
-#: libpq/hba.c:920 libpq/hba.c:939 libpq/hba.c:960 libpq/hba.c:971
-#: libpq/hba.c:1026 libpq/hba.c:1044 libpq/hba.c:1056 libpq/hba.c:1073
-#: libpq/hba.c:1083 libpq/hba.c:1097 libpq/hba.c:1113 libpq/hba.c:1128
-#: libpq/hba.c:1139 libpq/hba.c:1181 libpq/hba.c:1213 libpq/hba.c:1224
-#: libpq/hba.c:1244 libpq/hba.c:1255 libpq/hba.c:1266 libpq/hba.c:1283
-#: libpq/hba.c:1308 libpq/hba.c:1345 libpq/hba.c:1355 libpq/hba.c:1408
-#: libpq/hba.c:1420 libpq/hba.c:1433 libpq/hba.c:1467 libpq/hba.c:1545
-#: libpq/hba.c:1563 libpq/hba.c:1584 tsearch/ts_locale.c:182
+#: libpq/auth.c:2188
 #, c-format
-msgid "line %d of configuration file \"%s\""
-msgstr "línea %d del archivo de configuración «%s»"
+msgid "invalid character in user name for LDAP authentication"
+msgstr "carácter no válido en nombre de usuario para autentificación LDAP"
 
-#: libpq/hba.c:762
+#: libpq/auth.c:2203
 #, 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 "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/hba.c:783
+#: libpq/auth.c:2228
 #, 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 "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/hba.c:794
+#: libpq/auth.c:2239
 #, c-format
-msgid "multiple values in ident field"
-msgstr "múltiples valores en campo «ident»"
+msgid "LDAP user \"%s\" does not exist"
+msgstr "no existe el usuario LDAP «%s»"
 
-#: libpq/hba.c:839
+#: libpq/auth.c:2240
 #, c-format
-msgid "multiple values specified for connection type"
-msgstr "múltiples valores especificados para tipo de conexión"
+msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries."
+msgstr "La búsqueda LDAP para el filtro «%s» en el servidor «%s» no retornó elementos."
 
-#: libpq/hba.c:840
+#: libpq/auth.c:2244
 #, c-format
-msgid "Specify exactly one connection type per line."
-msgstr "Especifique exactamente un tipo de conexión por línea."
+msgid "LDAP user \"%s\" is not unique"
+msgstr "el usuario LDAP «%s» no es única"
 
-#: libpq/hba.c:853
+#: libpq/auth.c:2245
 #, c-format
-msgid "local connections are not supported by this build"
-msgstr "las conexiones locales no están soportadas en este servidor"
+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:874
+#: libpq/auth.c:2263
 #, c-format
-msgid "hostssl requires SSL to be turned on"
-msgstr "hostssl requiere que SSL esté activado"
+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:875
+#: libpq/auth.c:2283
 #, c-format
-msgid "Set ssl = on in postgresql.conf."
-msgstr "Defina «ssl = on» en postgresql.conf."
+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:883
+#: libpq/auth.c:2320
 #, c-format
-msgid "hostssl is not supported by this build"
-msgstr "hostssl no está soportado en este servidor"
+msgid "LDAP login failed for user \"%s\" on server \"%s\": %s"
+msgstr "falló el inicio de sesión LDAP para el usuario «%s» en el servidor «%s»: %s"
 
-#: libpq/hba.c:884
+#: libpq/auth.c:2348
 #, c-format
-msgid "Compile with --with-openssl to use SSL connections."
-msgstr "Compile con --with-openssl para usar conexiones SSL."
+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:906
+#: libpq/auth.c:2472
 #, c-format
-msgid "invalid connection type \"%s\""
-msgstr "tipo de conexión «%s» no válido"
+msgid "RADIUS server not specified"
+msgstr "servidor RADIUS no especificado"
 
-#: libpq/hba.c:919
+#: libpq/auth.c:2479
 #, c-format
-msgid "end-of-line before database specification"
-msgstr "fin de línea antes de especificación de base de datos"
+msgid "RADIUS secret not specified"
+msgstr "secreto RADIUS no especificado"
 
-#: libpq/hba.c:938
+#: libpq/auth.c:2495 libpq/hba.c:1622
 #, c-format
-msgid "end-of-line before role specification"
-msgstr "fin de línea antes de especificación de rol"
+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:959
+#: 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 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:969
+#: libpq/auth.c:2534
 #, c-format
-msgid "multiple values specified for host address"
-msgstr "múltiples valores especificados para la dirección de anfitrión"
+msgid "could not generate random encryption vector"
+msgstr "no se pudo generar un vector aleatorio de encriptación"
 
-#: libpq/hba.c:970
+#: libpq/auth.c:2557
 #, c-format
-msgid "Specify one address range per line."
-msgstr "Especifique un rango de direcciones por línea."
+msgid "could not perform MD5 encryption of password"
+msgstr "no se pudo efectuar cifrado MD5 de la contraseña"
 
-#: libpq/hba.c:1024
+#: libpq/auth.c:2579
 #, c-format
-msgid "invalid IP address \"%s\": %s"
-msgstr "dirección IP «%s» no válida: %s"
+msgid "could not create RADIUS socket: %m"
+msgstr "no se pudo crear el socket RADIUS: %m"
 
-#: libpq/hba.c:1042
+#: libpq/auth.c:2600
 #, 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 "could not bind local RADIUS socket: %m"
+msgstr "no se pudo enlazar el socket RADIUS local: %m"
 
-#: libpq/hba.c:1054
+#: libpq/auth.c:2610
 #, c-format
-msgid "invalid CIDR mask in address \"%s\""
-msgstr "máscara CIDR no válida en dirección «%s»"
+msgid "could not send RADIUS packet: %m"
+msgstr "no se pudo enviar el paquete RADIUS: %m"
 
-#: libpq/hba.c:1071
+#: libpq/auth.c:2639 libpq/auth.c:2664
 #, c-format
-msgid "end-of-line before netmask specification"
-msgstr "fin de línea antes de especificación de máscara de red"
+msgid "timeout waiting for RADIUS response"
+msgstr "se agotó el tiempo de espera de la respuesta RADIUS"
 
-#: libpq/hba.c:1072
+#: libpq/auth.c:2657
 #, 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 "could not check status on RADIUS socket: %m"
+msgstr "no se pudo verificar el estado en el socket %m"
 
-#: libpq/hba.c:1082
+#: libpq/auth.c:2686
 #, c-format
-msgid "multiple values specified for netmask"
-msgstr "múltiples valores especificados para la máscara de red"
+msgid "could not read RADIUS response: %m"
+msgstr "no se pudo leer la respuesta RADIUS: %m"
 
-#: libpq/hba.c:1095
+#: libpq/auth.c:2698 libpq/auth.c:2702
 #, c-format
-msgid "invalid IP mask \"%s\": %s"
-msgstr "máscara IP «%s» no válida: %s"
+msgid "RADIUS response was sent from incorrect port: %d"
+msgstr "la respuesta RADIUS fue enviada desde el port incorrecto: %d"
 
-#: libpq/hba.c:1112
+#: libpq/auth.c:2711
 #, c-format
-msgid "IP address and mask do not match"
-msgstr "La dirección y máscara IP no coinciden"
+msgid "RADIUS response too short: %d"
+msgstr "la respuesta RADIUS es demasiado corta: %d"
 
-#: libpq/hba.c:1127
+#: libpq/auth.c:2718
 #, 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 "RADIUS response has corrupt length: %d (actual length %d)"
+msgstr "la respuesta RADIUS tiene largo corrupto: %d (largo real %d)"
 
-#: libpq/hba.c:1137
+#: libpq/auth.c:2726
 #, c-format
-msgid "multiple values specified for authentication type"
-msgstr "múltiples valores especificados para el tipo de autentificación"
+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:1138
+#: libpq/auth.c:2751
 #, c-format
-msgid "Specify exactly one authentication type per line."
-msgstr "Especifique exactamente un tipo de autentificación por línea."
+msgid "could not perform MD5 encryption of received packet"
+msgstr "no se pudo realizar cifrado MD5 del paquete recibido"
 
-#: libpq/hba.c:1211
+#: libpq/auth.c:2760
 #, c-format
-msgid "invalid authentication method \"%s\""
-msgstr "método de autentificación «%s» no válido"
+msgid "RADIUS response has incorrect MD5 signature"
+msgstr "la respuesta RADIUS tiene firma MD5 incorrecta"
 
-#: libpq/hba.c:1222
+#: libpq/auth.c:2777
 #, 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 "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:1243
+#: libpq/be-fsstubs.c:134 libpq/be-fsstubs.c:165 libpq/be-fsstubs.c:199
+#: libpq/be-fsstubs.c:239 libpq/be-fsstubs.c:264 libpq/be-fsstubs.c:312
+#: libpq/be-fsstubs.c:335 libpq/be-fsstubs.c:583
 #, c-format
-msgid "krb5 authentication is not supported on local sockets"
-msgstr "la autentificación krb5 no está soportada en conexiones locales"
+msgid "invalid large-object descriptor: %d"
+msgstr "el descriptor de objeto grande no es válido: %d"
 
-#: libpq/hba.c:1254
+#: libpq/be-fsstubs.c:180 libpq/be-fsstubs.c:218 libpq/be-fsstubs.c:602
 #, c-format
-msgid "gssapi authentication is not supported on local sockets"
-msgstr "la autentificación gssapi no está soportada en conexiones locales"
+msgid "permission denied for large object %u"
+msgstr "permiso denegado al objeto grande %u"
 
-#: libpq/hba.c:1265
+#: libpq/be-fsstubs.c:205 libpq/be-fsstubs.c:589
 #, c-format
-msgid "peer authentication is only supported on local sockets"
-msgstr "la autentificación peer sólo está soportada en conexiones locales"
+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:1282
+#: libpq/be-fsstubs.c:247
 #, c-format
-msgid "cert authentication is only supported on hostssl connections"
-msgstr "la autentificación cert sólo está soportada en conexiones hostssl"
+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:1307
+#: libpq/be-fsstubs.c:320
 #, c-format
-msgid "authentication option not in name=value format: %s"
-msgstr "opción de autentificación en formato nombre=valor: %s"
+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:1344
+#: libpq/be-fsstubs.c:457
 #, c-format
-msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, or ldapsearchattribute together with ldapprefix"
-msgstr "no se puede usar ldapbasedn, ldapbinddn, ldapbindpasswd or ldapsearchattribute junto con ldapprefix"
+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:1354
+#: libpq/be-fsstubs.c:458
 #, 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:1394
-msgid "ident, peer, krb5, gssapi, sspi, and cert"
-msgstr "ident, peer, krb5, gssapi, sspi y cert"
+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:1407
+#: libpq/be-fsstubs.c:471
 #, c-format
-msgid "clientcert can only be configured for \"hostssl\" rows"
-msgstr "clientcert sólo puede ser configurado en líneas «hostssl»"
+msgid "could not open server file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de servidor «%s»: %m"
 
-#: libpq/hba.c:1418
+#: libpq/be-fsstubs.c:493
 #, 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 "could not read server file \"%s\": %m"
+msgstr "no se pudo leer el archivo de servidor «%s»: %m"
 
-#: libpq/hba.c:1419
+#: libpq/be-fsstubs.c:523
 #, 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 "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:1432
+#: libpq/be-fsstubs.c:524
 #, 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 "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:1466
+#: libpq/be-fsstubs.c:549
 #, c-format
-msgid "invalid LDAP port number: \"%s\""
-msgstr "número de puerto LDAP no válido: «%s»"
+msgid "could not create server file \"%s\": %m"
+msgstr "no se pudo crear el archivo del servidor «%s»: %m"
 
-#: libpq/hba.c:1512 libpq/hba.c:1520
-msgid "krb5, gssapi, and sspi"
-msgstr "krb5, gssapi y sspi"
+#: libpq/be-fsstubs.c:561
+#, c-format
+msgid "could not write server file \"%s\": %m"
+msgstr "no se pudo escribir el archivo del servidor «%s»: %m"
 
-#: libpq/hba.c:1562
+#: libpq/be-secure.c:284 libpq/be-secure.c:379
 #, c-format
-msgid "invalid RADIUS port number: \"%s\""
-msgstr "número de puerto RADIUS no válido: «%s»"
+msgid "SSL error: %s"
+msgstr "error de SSL: %s"
 
-#: libpq/hba.c:1582
+#: libpq/be-secure.c:293 libpq/be-secure.c:388 libpq/be-secure.c:939
 #, c-format
-msgid "unrecognized authentication option name: \"%s\""
-msgstr "nombre de opción de autentificación desconocido: «%s»"
+msgid "unrecognized SSL error code: %d"
+msgstr "código de error SSL no reconocido: %d"
 
-#: libpq/hba.c:1721 guc-file.l:430
+#: libpq/be-secure.c:332 libpq/be-secure.c:336 libpq/be-secure.c:346
 #, c-format
-msgid "could not open configuration file \"%s\": %m"
-msgstr "no se pudo abrir el archivo de configuración «%s»: %m"
+msgid "SSL renegotiation failure"
+msgstr "ocurrió una falla en renegociación SSL"
 
-#: libpq/hba.c:1771
+#: libpq/be-secure.c:340
 #, c-format
-msgid "configuration file \"%s\" contains no entries"
-msgstr "el archivo de configuración «%s» no contiene líneas"
+msgid "SSL failed to send renegotiation request"
+msgstr "SSL no pudo enviar una petición de renegociación"
 
-#: libpq/hba.c:1878
+#: libpq/be-secure.c:737
 #, c-format
-msgid "invalid regular expression \"%s\": %s"
-msgstr "la expresión regular «%s» no es válida: %s"
+msgid "could not create SSL context: %s"
+msgstr "no se pudo crear un contexto SSL: %s"
 
-#: libpq/hba.c:1901
+#: libpq/be-secure.c:753
 #, c-format
-msgid "regular expression match for \"%s\" failed: %s"
-msgstr "la coincidencia de expresión regular para «%s» falló: %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:1919
+#: libpq/be-secure.c:759
 #, c-format
-msgid "regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\""
-msgstr "la expresión regular «%s» no tiene subexpresiones según lo requiere la referencia hacia atrás en «%s»"
+msgid "could not access private key file \"%s\": %m"
+msgstr "no se pudo acceder al archivo de la llave privada «%s»: %m"
 
-#: libpq/hba.c:2018
+#: libpq/be-secure.c:774
 #, 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 "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:2039
+#: libpq/be-secure.c:776
 #, 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 "Permissions should be u=rw (0600) or less."
+msgstr "Los permisos deberían ser u=rw (0500) o menos."
 
-#: libpq/hba.c:2069
+#: libpq/be-secure.c:783
 #, 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 load private key file \"%s\": %s"
+msgstr "no se pudo cargar el archivo de la llave privada «%s»: %s"
 
-#: libpq/pqcomm.c:306
+#: libpq/be-secure.c:788
 #, 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 "check of private key failed: %s"
+msgstr "falló la revisión de la llave privada: %s"
 
-#: libpq/pqcomm.c:310
+#: libpq/be-secure.c:808
 #, 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 load root certificate file \"%s\": %s"
+msgstr "no se pudo cargar el archivo del certificado raíz «%s»: %s"
 
-#: libpq/pqcomm.c:337
+#: libpq/be-secure.c:832
 #, 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:346
-msgid "IPv4"
-msgstr "IPv4"
-
-#: libpq/pqcomm.c:350
-msgid "IPv6"
-msgstr "IPv6"
-
-#: libpq/pqcomm.c:355
-msgid "Unix"
-msgstr "Unix"
+msgid "SSL certificate revocation list file \"%s\" ignored"
+msgstr "ignorando lista de revocación de certificados SSL «%s»"
 
-#: libpq/pqcomm.c:360
+#: libpq/be-secure.c:834
 #, c-format
-msgid "unrecognized address family %d"
-msgstr "la familia de direcciones %d no es reconocida"
+msgid "SSL library does not support certificate revocation lists."
+msgstr "La libreria SSL no soporta listas de revocación de certificados."
 
-#. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:371
+#: libpq/be-secure.c:839
 #, c-format
-msgid "could not create %s socket: %m"
-msgstr "no se pudo crear el socket %s: %m"
+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/pqcomm.c:396
+#: libpq/be-secure.c:884
 #, c-format
-msgid "setsockopt(SO_REUSEADDR) failed: %m"
-msgstr "setsockopt(SO_REUSEADDR) falló: %m"
+msgid "could not initialize SSL connection: %s"
+msgstr "no se pudo inicializar la conexión SSL: %s"
 
-#: libpq/pqcomm.c:411
+#: libpq/be-secure.c:893
 #, c-format
-msgid "setsockopt(IPV6_V6ONLY) failed: %m"
-msgstr "setsockopt(IPV6_V6ONLY) falló: %m"
+msgid "could not set SSL socket: %s"
+msgstr "no se definir un socket SSL: %s"
 
-#. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:430
+#: libpq/be-secure.c:919
 #, c-format
-msgid "could not bind %s socket: %m"
-msgstr "no se pudo enlazar al socket %s: %m"
+msgid "could not accept SSL connection: %m"
+msgstr "no se pudo aceptar una conexión SSL: %m"
 
-#: libpq/pqcomm.c:433
+#: libpq/be-secure.c:923 libpq/be-secure.c:934
 #, c-format
-msgid "Is another postmaster already running on port %d? If not, remove socket file \"%s\" and retry."
-msgstr "¿Hay otro postmaster corriendo en el puerto %d? Si no, elimine el socket «%s» y reintente."
+msgid "could not accept SSL connection: EOF detected"
+msgstr "no se pudo aceptar una conexión SSL: se detectó EOF"
 
-#: libpq/pqcomm.c:436
+#: libpq/be-secure.c:928
 #, 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 accept SSL connection: %s"
+msgstr "no se pudo aceptar una conexión SSL: %s"
 
-#. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:469
+#: libpq/be-secure.c:984
 #, c-format
-msgid "could not listen on %s socket: %m"
-msgstr "no se pudo escuchar en el socket %s: %m"
+msgid "SSL certificate's common name contains embedded null"
+msgstr "el «common name» del certificado SSL contiene un carácter null"
 
-#: libpq/pqcomm.c:499
+#: libpq/be-secure.c:995
 #, 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 "SSL connection from \"%s\""
+msgstr "conexión SSL desde «%s»"
+
+#: libpq/be-secure.c:1046
+msgid "no SSL error reported"
+msgstr "código de error SSL no reportado"
 
-#: libpq/pqcomm.c:562
+#: libpq/be-secure.c:1050
 #, c-format
-msgid "group \"%s\" does not exist"
-msgstr "no existe el grupo «%s»"
+msgid "SSL error code %lu"
+msgstr "código de error SSL %lu"
 
-#: libpq/pqcomm.c:572
+#: libpq/hba.c:188
 #, c-format
-msgid "could not set group of file \"%s\": %m"
-msgstr "no se pudo definir el grupo del archivo «%s»: %m"
+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:583
+#: libpq/hba.c:332
 #, c-format
-msgid "could not set permissions of file \"%s\": %m"
-msgstr "no se pudo definir los permisos del archivo «%s»: %m"
+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"
 
-#: libpq/pqcomm.c:613
+#: libpq/hba.c:409
 #, c-format
-msgid "could not accept new connection: %m"
-msgstr "no se pudo aceptar una nueva conexión: %m"
+msgid "authentication file line too long"
+msgstr "línea en el archivo de autentificación demasiado larga"
 
-#: libpq/pqcomm.c:781
+#: libpq/hba.c:410 libpq/hba.c:775 libpq/hba.c:791 libpq/hba.c:821
+#: libpq/hba.c:867 libpq/hba.c:880 libpq/hba.c:902 libpq/hba.c:911
+#: libpq/hba.c:934 libpq/hba.c:946 libpq/hba.c:965 libpq/hba.c:986
+#: libpq/hba.c:997 libpq/hba.c:1052 libpq/hba.c:1070 libpq/hba.c:1082
+#: libpq/hba.c:1099 libpq/hba.c:1109 libpq/hba.c:1123 libpq/hba.c:1139
+#: libpq/hba.c:1154 libpq/hba.c:1165 libpq/hba.c:1207 libpq/hba.c:1239
+#: libpq/hba.c:1250 libpq/hba.c:1270 libpq/hba.c:1281 libpq/hba.c:1292
+#: libpq/hba.c:1309 libpq/hba.c:1334 libpq/hba.c:1371 libpq/hba.c:1381
+#: libpq/hba.c:1438 libpq/hba.c:1450 libpq/hba.c:1463 libpq/hba.c:1546
+#: libpq/hba.c:1624 libpq/hba.c:1642 libpq/hba.c:1663 tsearch/ts_locale.c:182
 #, c-format
-msgid "could not set socket to non-blocking mode: %m"
-msgstr "no se pudo establecer el socket en modo no bloqueante: %m"
+msgid "line %d of configuration file \"%s\""
+msgstr "línea %d del archivo de configuración «%s»"
 
-#: libpq/pqcomm.c:787
+#: libpq/hba.c:622
 #, c-format
-msgid "could not set socket to blocking mode: %m"
-msgstr "no se pudo poner el socket en modo bloqueante: %m"
+msgid "could not translate host name \"%s\" to address: %s"
+msgstr "no se pudo traducir el nombre «%s» a una dirección: %s"
 
-#: libpq/pqcomm.c:839 libpq/pqcomm.c:929
+#. translator: the second %s is a list of auth methods
+#: libpq/hba.c:773
 #, c-format
-msgid "could not receive data from client: %m"
-msgstr "no se pudo recibir datos del cliente: %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:1080
+#: libpq/hba.c:789
 #, c-format
-msgid "unexpected EOF within message length word"
-msgstr "EOF inesperado dentro de la palabra de tamaño del mensaje"
+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:1091
+#: libpq/hba.c:810
 #, c-format
-msgid "invalid message length"
-msgstr "el largo de mensaje no es válido"
+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:1113 libpq/pqcomm.c:1123
+#: libpq/hba.c:820
 #, c-format
-msgid "incomplete message from client"
-msgstr "mensaje incompleto del cliente"
+msgid "multiple values in ident field"
+msgstr "múltiples valores en campo «ident»"
 
-#: libpq/pqcomm.c:1253
+#: libpq/hba.c:865
 #, c-format
-msgid "could not send data to client: %m"
-msgstr "no se pudo enviar datos al cliente: %m"
+msgid "multiple values specified for connection type"
+msgstr "múltiples valores especificados para tipo de conexión"
 
-#: libpq/pqformat.c:436
+#: libpq/hba.c:866
 #, c-format
-msgid "no data left in message"
-msgstr "no hay datos restantes en el mensaje"
+msgid "Specify exactly one connection type per line."
+msgstr "Especifique exactamente un tipo de conexión por línea."
 
-#: libpq/pqformat.c:556 libpq/pqformat.c:574 libpq/pqformat.c:595
-#: utils/adt/arrayfuncs.c:1410 utils/adt/rowtypes.c:572
+#: libpq/hba.c:879
 #, c-format
-msgid "insufficient data left in message"
-msgstr "los datos restantes del mensaje son insuficientes"
+msgid "local connections are not supported by this build"
+msgstr "las conexiones locales no están soportadas en este servidor"
 
-#: libpq/pqformat.c:636
+#: libpq/hba.c:900
 #, c-format
-msgid "invalid string in message"
-msgstr "cadena inválida en el mensaje"
+msgid "hostssl requires SSL to be turned on"
+msgstr "hostssl requiere que SSL esté activado"
 
-#: libpq/pqformat.c:652
+#: libpq/hba.c:901
 #, c-format
-msgid "invalid message format"
-msgstr "formato de mensaje no válido"
+msgid "Set ssl = on in postgresql.conf."
+msgstr "Defina «ssl = on» en postgresql.conf."
 
-#: main/main.c:233
+#: libpq/hba.c:909
 #, c-format
-msgid "%s: setsysinfo failed: %s\n"
-msgstr "%s: setsysinfo falló: %s\n"
+msgid "hostssl is not supported by this build"
+msgstr "hostssl no está soportado en este servidor"
 
-#: main/main.c:255
+#: libpq/hba.c:910
 #, c-format
-msgid "%s: WSAStartup failed: %d\n"
-msgstr "%s: WSAStartup falló: %d\n"
+msgid "Compile with --with-openssl to use SSL connections."
+msgstr "Compile con --with-openssl para usar conexiones SSL."
 
-#: main/main.c:274
+#: libpq/hba.c:932
 #, c-format
-msgid ""
-"%s is the PostgreSQL server.\n"
-"\n"
-msgstr ""
-"%s es el servidor PostgreSQL.\n"
-"\n"
+msgid "invalid connection type \"%s\""
+msgstr "tipo de conexión «%s» no válido"
 
-#: main/main.c:275
+#: libpq/hba.c:945
 #, c-format
-msgid ""
-"Usage:\n"
-"  %s [OPTION]...\n"
-"\n"
-msgstr ""
-"Empleo:\n"
-"  %s [OPCION]...\n"
-"\n"
+msgid "end-of-line before database specification"
+msgstr "fin de línea antes de especificación de base de datos"
 
-#: main/main.c:276
+#: libpq/hba.c:964
 #, c-format
-msgid "Options:\n"
-msgstr "Opciones:\n"
+msgid "end-of-line before role specification"
+msgstr "fin de línea antes de especificación de rol"
 
-#: main/main.c:278
+#: libpq/hba.c:985
 #, 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 IP address specification"
+msgstr "fin de línea antes de especificación de dirección IP"
 
-#: main/main.c:280
+#: libpq/hba.c:995
 #, c-format
-msgid "  -B NBUFFERS        number of shared buffers\n"
-msgstr "  -B NBUFFERS     número de búfers de memoria compartida\n"
+msgid "multiple values specified for host address"
+msgstr "múltiples valores especificados para la dirección de anfitrión"
 
-#: main/main.c:281
+#: libpq/hba.c:996
 #, c-format
-msgid "  -c NAME=VALUE      set run-time parameter\n"
-msgstr "  -c VAR=VALOR    definir parámetro de ejecución\n"
+msgid "Specify one address range per line."
+msgstr "Especifique un rango de direcciones por línea."
 
-#: main/main.c:282
+#: libpq/hba.c:1050
 #, 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 address \"%s\": %s"
+msgstr "dirección IP «%s» no válida: %s"
 
-#: main/main.c:283
+#: libpq/hba.c:1068
 #, c-format
-msgid "  -d 1-5             debugging level\n"
-msgstr "  -d 1-5          nivel de depuració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:284
+#: libpq/hba.c:1080
 #, c-format
-msgid "  -D DATADIR         database directory\n"
-msgstr "  -D DATADIR      directorio de bases de datos\n"
+msgid "invalid CIDR mask in address \"%s\""
+msgstr "máscara CIDR no válida en dirección «%s»"
 
-#: main/main.c:285
+#: libpq/hba.c:1097
 #, c-format
-msgid "  -e                 use European date input format (DMY)\n"
-msgstr "  -e              usar estilo europeo de fechas (DMY)\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:286
+#: libpq/hba.c:1098
 #, c-format
-msgid "  -F                 turn fsync off\n"
-msgstr "  -F              desactivar fsync\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:287
+#: libpq/hba.c:1108
 #, 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 "multiple values specified for netmask"
+msgstr "múltiples valores especificados para la máscara de red"
 
-#: main/main.c:288
+#: libpq/hba.c:1121
 #, c-format
-msgid "  -i                 enable TCP/IP connections\n"
-msgstr "  -i              activar conexiones TCP/IP\n"
+msgid "invalid IP mask \"%s\": %s"
+msgstr "máscara IP «%s» no válida: %s"
 
-#: main/main.c:289
+#: libpq/hba.c:1138
 #, c-format
-msgid "  -k DIRECTORY       Unix-domain socket location\n"
-msgstr "  -k DIRECTORIO   ubicación del socket Unix\n"
+msgid "IP address and mask do not match"
+msgstr "La dirección y máscara IP no coinciden"
 
-#: main/main.c:291
+#: libpq/hba.c:1153
 #, c-format
-msgid "  -l                 enable SSL connections\n"
-msgstr "  -l              activar conexiones SSL\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:293
+#: libpq/hba.c:1163
 #, 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 "multiple values specified for authentication type"
+msgstr "múltiples valores especificados para el tipo de autentificación"
 
-#: main/main.c:294
+#: libpq/hba.c:1164
 #, 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 "Specify exactly one authentication type per line."
+msgstr "Especifique exactamente un tipo de autentificación por línea."
 
-#: main/main.c:295
+#: libpq/hba.c:1237
 #, c-format
-msgid "  -p PORT            port number to listen on\n"
-msgstr "  -p PUERTO       número de puerto en el cual escuchar\n"
+msgid "invalid authentication method \"%s\""
+msgstr "método de autentificación «%s» no válido"
 
-#: main/main.c:296
+#: libpq/hba.c:1248
 #, c-format
-msgid "  -s                 show statistics after each query\n"
-msgstr "  -s              mostrar estadísticas después de cada consulta\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:297
+#: libpq/hba.c:1269
 #, c-format
-msgid "  -S WORK-MEM        set amount of memory for sorts (in kB)\n"
-msgstr "  -S WORK-MEM     definir cantidad de memoria para ordenamientos (en kB)\n"
+msgid "krb5 authentication is not supported on local sockets"
+msgstr "la autentificación krb5 no está soportada en conexiones locales"
 
-#: main/main.c:298
+#: libpq/hba.c:1280
 #, 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 "gssapi authentication is not supported on local sockets"
+msgstr "la autentificación gssapi no está soportada en conexiones locales"
 
-#: main/main.c:299
+#: libpq/hba.c:1291
 #, c-format
-msgid "  --NAME=VALUE       set run-time parameter\n"
-msgstr "  --NOMBRE=VALOR  definir parámetro de ejecución\n"
+msgid "peer authentication is only supported on local sockets"
+msgstr "la autentificación peer sólo está soportada en conexiones locales"
 
-#: main/main.c:300
+#: libpq/hba.c:1308
 #, 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 "cert authentication is only supported on hostssl connections"
+msgstr "la autentificación cert sólo está soportada en conexiones hostssl"
 
-#: main/main.c:301
+#: libpq/hba.c:1333
 #, c-format
-msgid "  -?, --help         show this help, then exit\n"
-msgstr "  -?, --help      muestra esta ayuda, luego sale\n"
+msgid "authentication option not in name=value format: %s"
+msgstr "opción de autentificación en formato nombre=valor: %s"
 
-#: main/main.c:303
+#: libpq/hba.c:1370
 #, c-format
-msgid ""
-"\n"
-"Developer options:\n"
-msgstr ""
-"\n"
-"Opciones de desarrollador:\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:304
+#: libpq/hba.c:1380
 #, 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 "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:305
-#, 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"
+#: libpq/hba.c:1424
+msgid "ident, peer, krb5, gssapi, sspi, and cert"
+msgstr "ident, peer, krb5, gssapi, sspi y cert"
 
-#: main/main.c:306
+#: libpq/hba.c:1437
 #, c-format
-msgid "  -O                 allow system table structure changes\n"
-msgstr "  -O              permitir cambios en estructura de tablas de sistema\n"
+msgid "clientcert can only be configured for \"hostssl\" rows"
+msgstr "clientcert sólo puede ser configurado en líneas «hostssl»"
 
-#: main/main.c:307
+#: libpq/hba.c:1448
 #, c-format
-msgid "  -P                 disable system indexes\n"
-msgstr "  -P              desactivar índices de sistema\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:308
+#: libpq/hba.c:1449
 #, c-format
-msgid "  -t pa|pl|ex        show timings after each query\n"
-msgstr "  -t pa|pl|ex     mostrar tiempos después de cada consulta\n"
+msgid "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:309
+#: libpq/hba.c:1462
 #, 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 "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:310
+#: libpq/hba.c:1489
 #, 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 "could not parse LDAP URL \"%s\": %s"
+msgstr "no se pudo interpretar la URL LDAP «%s»: %s"
 
-#: main/main.c:312
+#: libpq/hba.c:1497
 #, c-format
-msgid ""
-"\n"
-"Options for single-user mode:\n"
-msgstr ""
-"\n"
-"Opciones para modo mono-usuario:\n"
+msgid "unsupported LDAP URL scheme: %s"
+msgstr "esquema de URL LDAP no soportado: %s"
 
-#: main/main.c:313
+#: libpq/hba.c:1513
 #, 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 "filters not supported in LDAP URLs"
+msgstr "los filtros no están soportados en URLs LDAP"
 
-#: main/main.c:314
+#: libpq/hba.c:1521
 #, 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 "LDAP URLs not supported on this platform"
+msgstr "las URLs LDAP no está soportado en esta plataforma"
 
-#: main/main.c:315
+#: libpq/hba.c:1545
 #, c-format
-msgid "  -d 0-5             override debugging level\n"
-msgstr "  -d 0-5          nivel de depuración\n"
+msgid "invalid LDAP port number: \"%s\""
+msgstr "número de puerto LDAP no válido: «%s»"
 
-#: main/main.c:316
-#, c-format
-msgid "  -E                 echo statement before execution\n"
-msgstr "  -E              mostrar las consultas antes de su ejecución\n"
+#: libpq/hba.c:1591 libpq/hba.c:1599
+msgid "krb5, gssapi, and sspi"
+msgstr "krb5, gssapi y sspi"
 
-#: main/main.c:317
+#: libpq/hba.c:1641
 #, 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 "invalid RADIUS port number: \"%s\""
+msgstr "número de puerto RADIUS no válido: «%s»"
 
-#: main/main.c:318 main/main.c:323
+#: libpq/hba.c:1661
 #, 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 "unrecognized authentication option name: \"%s\""
+msgstr "nombre de opción de autentificación desconocido: «%s»"
 
-#: main/main.c:320
+#: libpq/hba.c:1852
 #, c-format
-msgid ""
-"\n"
-"Options for bootstrapping mode:\n"
-msgstr ""
-"\n"
-"Opciones para modo de inicio (bootstrapping):\n"
+msgid "configuration file \"%s\" contains no entries"
+msgstr "el archivo de configuración «%s» no contiene líneas"
 
-#: main/main.c:321
+#: libpq/hba.c:1948
 #, 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 "invalid regular expression \"%s\": %s"
+msgstr "la expresión regular «%s» no es válida: %s"
 
-#: main/main.c:322
+#: libpq/hba.c:2008
 #, 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 "regular expression match for \"%s\" failed: %s"
+msgstr "la coincidencia de expresión regular para «%s» falló: %s"
 
-#: main/main.c:324
+#: libpq/hba.c:2025
 #, c-format
-msgid "  -x NUM             internal use\n"
-msgstr "  -x NUM          uso interno\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:326
+#: libpq/hba.c:2121
 #, 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 .\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 \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:340
+#: libpq/hba.c:2141
 #, 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 "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:357
+#: libpq/hba.c:2176
 #, 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 "could not open usermap file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de mapa de usuarios «%s»: %m"
 
-#: main/main.c:364
+#: libpq/pqcomm.c:314
 #, 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 "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:385
+#: libpq/pqcomm.c:335
 #, c-format
-msgid "%s: invalid effective UID: %d\n"
-msgstr "%s: el UID de usuario efectivo no es válido: %d\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:398
+#: libpq/pqcomm.c:339
 #, c-format
-msgid "%s: could not determine user name (GetUserName failed)\n"
-msgstr "%s: no se pudo determinar el nombre de usuario (falló GetUserName)\n"
+msgid "could not translate service \"%s\" to address: %s"
+msgstr "no se pudo traducir el servicio «%s» a dirección: %s"
 
-#: nodes/nodeFuncs.c:115 nodes/nodeFuncs.c:141 parser/parse_coerce.c:1781
-#: parser/parse_coerce.c:1809 parser/parse_coerce.c:1885
-#: parser/parse_expr.c:1632 parser/parse_func.c:367 parser/parse_oper.c:947
+#: libpq/pqcomm.c:366
 #, 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 "could not bind to all requested addresses: MAXLISTEN (%d) exceeded"
+msgstr "no se pudo enlazar a todas las direcciones pedidas: MAXLISTEN (%d) fue excedido"
 
-#: optimizer/path/joinrels.c:676
-#, 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"
+#: libpq/pqcomm.c:375
+msgid "IPv4"
+msgstr "IPv4"
 
-#: optimizer/plan/initsplan.c:592
-#, c-format
-msgid "SELECT FOR UPDATE/SHARE cannot be applied to the nullable side of an outer join"
-msgstr "SELECT FOR UPDATE/SHARE no puede ser aplicado al lado nulable de un outer join"
+#: libpq/pqcomm.c:379
+msgid "IPv6"
+msgstr "IPv6"
 
-#: optimizer/plan/planner.c:1031 parser/analyze.c:1384 parser/analyze.c:1579
-#: parser/analyze.c:2285
-#, c-format
-msgid "SELECT FOR UPDATE/SHARE is not allowed with UNION/INTERSECT/EXCEPT"
-msgstr "SELECT FOR UPDATE/SHARE no está permitido con UNION/INTERSECT/EXCEPT"
+#: libpq/pqcomm.c:384
+msgid "Unix"
+msgstr "Unix"
 
-#: optimizer/plan/planner.c:2359
+#: libpq/pqcomm.c:389
 #, c-format
-msgid "could not implement GROUP BY"
-msgstr "no se pudo implementar GROUP BY"
+msgid "unrecognized address family %d"
+msgstr "la familia de direcciones %d no es reconocida"
 
-#: optimizer/plan/planner.c:2360 optimizer/plan/planner.c:2532
-#: optimizer/prep/prepunion.c:822
+#. translator: %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:400
 #, 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 create %s socket: %m"
+msgstr "no se pudo crear el socket %s: %m"
 
-#: optimizer/plan/planner.c:2531
+#: libpq/pqcomm.c:425
 #, c-format
-msgid "could not implement DISTINCT"
-msgstr "no se pudo implementar DISTINCT"
+msgid "setsockopt(SO_REUSEADDR) failed: %m"
+msgstr "setsockopt(SO_REUSEADDR) falló: %m"
 
-#: optimizer/plan/planner.c:3122
+#: libpq/pqcomm.c:440
 #, c-format
-msgid "could not implement window PARTITION BY"
-msgstr "No se pudo implementar PARTITION BY de ventana"
+msgid "setsockopt(IPV6_V6ONLY) failed: %m"
+msgstr "setsockopt(IPV6_V6ONLY) falló: %m"
 
-#: optimizer/plan/planner.c:3123
+#. translator: %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:459
 #, 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 bind %s socket: %m"
+msgstr "no se pudo enlazar al socket %s: %m"
 
-#: optimizer/plan/planner.c:3127
+#: libpq/pqcomm.c:462
 #, c-format
-msgid "could not implement window ORDER BY"
-msgstr "no se pudo implementar ORDER BY de ventana"
+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/plan/planner.c:3128
+#: libpq/pqcomm.c:465
 #, 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 "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."
 
-#: optimizer/plan/setrefs.c:255
+#. translator: %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:498
 #, c-format
-msgid "too many range table entries"
-msgstr "demasiadas «range table entries»"
+msgid "could not listen on %s socket: %m"
+msgstr "no se pudo escuchar en el socket %s: %m"
 
-#: optimizer/prep/prepunion.c:416
+#: libpq/pqcomm.c:588
 #, c-format
-msgid "could not implement recursive UNION"
-msgstr "no se pudo implementar UNION recursivo"
+msgid "group \"%s\" does not exist"
+msgstr "no existe el grupo «%s»"
 
-#: optimizer/prep/prepunion.c:417
+#: libpq/pqcomm.c:598
 #, c-format
-msgid "All column datatypes must be hashable."
-msgstr "Todos los tipos de dato de las columnas deben ser tipos de los que se puedan hacer un hash."
+msgid "could not set group of file \"%s\": %m"
+msgstr "no se pudo definir el grupo del archivo «%s»: %m"
 
-#. translator: %s is UNION, INTERSECT, or EXCEPT
-#: optimizer/prep/prepunion.c:821
+#: libpq/pqcomm.c:609
 #, c-format
-msgid "could not implement %s"
-msgstr "no se pudo implementar %s"
+msgid "could not set permissions of file \"%s\": %m"
+msgstr "no se pudo definir los permisos del archivo «%s»: %m"
 
-#: optimizer/util/clauses.c:4358
+#: libpq/pqcomm.c:639
 #, c-format
-msgid "SQL function \"%s\" during inlining"
-msgstr "función SQL «%s», durante expansión en línea"
+msgid "could not accept new connection: %m"
+msgstr "no se pudo aceptar una nueva conexión: %m"
 
-#: optimizer/util/plancat.c:99
+#: libpq/pqcomm.c:811
 #, 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 "could not set socket to nonblocking mode: %m"
+msgstr "no se pudo establecer el socket en modo no bloqueante: %m"
 
-#: parser/analyze.c:621 parser/analyze.c:1129
+#: libpq/pqcomm.c:817
 #, c-format
-msgid "VALUES lists must all be the same length"
-msgstr "las listas VALUES deben ser todas de la misma longitud"
-
-#: parser/analyze.c:663 parser/analyze.c:1262
-#, c-format
-msgid "VALUES must not contain table references"
-msgstr "VALUES no debe contener referencias a tablas"
-
-#: parser/analyze.c:677 parser/analyze.c:1276
-#, c-format
-msgid "VALUES must not contain OLD or NEW references"
-msgstr "VALUES no debe contener referencias a OLD o NEW"
-
-#: parser/analyze.c:678 parser/analyze.c:1277
-#, c-format
-msgid "Use SELECT ... UNION ALL ... instead."
-msgstr "Use SELECT ... UNION ALL ... en su lugar."
+msgid "could not set socket to blocking mode: %m"
+msgstr "no se pudo poner el socket en modo bloqueante: %m"
 
-#: parser/analyze.c:783 parser/analyze.c:1289
+#: libpq/pqcomm.c:869 libpq/pqcomm.c:959
 #, c-format
-msgid "cannot use aggregate function in VALUES"
-msgstr "no se puede usar una función de agregación en VALUES"
+msgid "could not receive data from client: %m"
+msgstr "no se pudo recibir datos del cliente: %m"
 
-#: parser/analyze.c:789 parser/analyze.c:1295
+#: libpq/pqcomm.c:1110
 #, c-format
-msgid "cannot use window function in VALUES"
-msgstr "no se puede usar una función de ventana deslizante en VALUES"
+msgid "unexpected EOF within message length word"
+msgstr "EOF inesperado dentro de la palabra de tamaño del mensaje"
 
-#: parser/analyze.c:823
+#: libpq/pqcomm.c:1121
 #, c-format
-msgid "INSERT has more expressions than target columns"
-msgstr "INSERT tiene más expresiones que columnas de destino"
+msgid "invalid message length"
+msgstr "el largo de mensaje no es válido"
 
-#: parser/analyze.c:841
+#: libpq/pqcomm.c:1143 libpq/pqcomm.c:1153
 #, c-format
-msgid "INSERT has more target columns than expressions"
-msgstr "INSERT tiene más columnas de destino que expresiones"
+msgid "incomplete message from client"
+msgstr "mensaje incompleto del cliente"
 
-#: parser/analyze.c:845
+#: libpq/pqcomm.c:1283
 #, 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 "could not send data to client: %m"
+msgstr "no se pudo enviar datos al cliente: %m"
 
-#: parser/analyze.c:952 parser/analyze.c:1359
+#: libpq/pqformat.c:436
 #, c-format
-msgid "SELECT ... INTO is not allowed here"
-msgstr "SELECT ... INTO no está permitido aquí"
+msgid "no data left in message"
+msgstr "no hay datos restantes en el mensaje"
 
-#: parser/analyze.c:1143
+#: libpq/pqformat.c:556 libpq/pqformat.c:574 libpq/pqformat.c:595
+#: utils/adt/arrayfuncs.c:1416 utils/adt/rowtypes.c:573
 #, 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 "insufficient data left in message"
+msgstr "los datos restantes del mensaje son insuficientes"
 
-#: parser/analyze.c:1251 parser/analyze.c:2436
+#: libpq/pqformat.c:636
 #, c-format
-msgid "SELECT FOR UPDATE/SHARE cannot be applied to VALUES"
-msgstr "SELECT FOR UPDATE/SHARE no puede ser aplicado a VALUES"
+msgid "invalid string in message"
+msgstr "cadena inválida en el mensaje"
 
-#: parser/analyze.c:1507
+#: libpq/pqformat.c:652
 #, c-format
-msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
-msgstr "cláusula UNION/INTERSECT/EXCEPT ORDER BY no válida"
+msgid "invalid message format"
+msgstr "formato de mensaje no válido"
 
-#: parser/analyze.c:1508
+#: main/main.c:231
 #, 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 "%s: setsysinfo failed: %s\n"
+msgstr "%s: setsysinfo falló: %s\n"
 
-#: parser/analyze.c:1509
+#: main/main.c:253
 #, 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 "%s: WSAStartup failed: %d\n"
+msgstr "%s: WSAStartup falló: %d\n"
 
-#: parser/analyze.c:1571
+#: main/main.c:272
 #, 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 ""
+"%s is the PostgreSQL server.\n"
+"\n"
+msgstr ""
+"%s es el servidor PostgreSQL.\n"
+"\n"
 
-#: parser/analyze.c:1631
+#: main/main.c:273
 #, 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 ""
+"Usage:\n"
+"  %s [OPTION]...\n"
+"\n"
+msgstr ""
+"Empleo:\n"
+"  %s [OPCION]...\n"
+"\n"
 
-#: parser/analyze.c:1719
+#: main/main.c:274
 #, 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 "Options:\n"
+msgstr "Opciones:\n"
 
-#: parser/analyze.c:1995
+#: main/main.c:276
 #, c-format
-msgid "cannot use aggregate function in UPDATE"
-msgstr "no se puede usar una función de agregación en UPDATE"
+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:2001
+#: main/main.c:278
 #, c-format
-msgid "cannot use window function in UPDATE"
-msgstr "no se puede usar una función de ventana deslizante en UPDATE"
+msgid "  -B NBUFFERS        number of shared buffers\n"
+msgstr "  -B NBUFFERS     número de búfers de memoria compartida\n"
 
-#: parser/analyze.c:2110
+#: main/main.c:279
 #, c-format
-msgid "cannot use aggregate function in RETURNING"
-msgstr "no se puede usar una función de agregación en RETURNING"
+msgid "  -c NAME=VALUE      set run-time parameter\n"
+msgstr "  -c VAR=VALOR    definir parámetro de ejecución\n"
 
-#: parser/analyze.c:2116
+#: main/main.c:280
 #, c-format
-msgid "cannot use window function in RETURNING"
-msgstr "no se puede usar una función de ventana deslizante en RETURNING"
+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:2135
+#: main/main.c:281
 #, c-format
-msgid "RETURNING cannot contain references to other relations"
-msgstr "RETURNING no puede contener referencias a otras relaciones"
+msgid "  -d 1-5             debugging level\n"
+msgstr "  -d 1-5          nivel de depuración\n"
 
-#: parser/analyze.c:2174
+#: main/main.c:282
 #, c-format
-msgid "cannot specify both SCROLL and NO SCROLL"
-msgstr "no se puede especificar SCROLL y NO SCROLL"
+msgid "  -D DATADIR         database directory\n"
+msgstr "  -D DATADIR      directorio de bases de datos\n"
 
-#: parser/analyze.c:2192
+#: main/main.c:283
 #, 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 "  -e                 use European date input format (DMY)\n"
+msgstr "  -e              usar estilo europeo de fechas (DMY)\n"
 
-#: parser/analyze.c:2198
+#: main/main.c:284
 #, c-format
-msgid "DECLARE CURSOR WITH HOLD ... FOR UPDATE/SHARE is not supported"
-msgstr "DECLARE CURSOR WITH HOLD ... FOR UPDATE/SHARE no está soportado"
+msgid "  -F                 turn fsync off\n"
+msgstr "  -F              desactivar fsync\n"
 
-#: parser/analyze.c:2199
+#: main/main.c:285
 #, c-format
-msgid "Holdable cursors must be READ ONLY."
-msgstr "Los cursores declarados HOLD deben ser READ ONLY."
+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"
 
-#: parser/analyze.c:2212
+#: main/main.c:286
 #, c-format
-msgid "DECLARE INSENSITIVE CURSOR ... FOR UPDATE/SHARE is not supported"
-msgstr "DECLARE INSENSITIVE CURSOR ... FOR UPDATE/SHARE no está soportado"
+msgid "  -i                 enable TCP/IP connections\n"
+msgstr "  -i              activar conexiones TCP/IP\n"
 
-#: parser/analyze.c:2213
+#: main/main.c:287
 #, c-format
-msgid "Insensitive cursors must be READ ONLY."
-msgstr "Los cursores insensitivos deben ser READ ONLY."
+msgid "  -k DIRECTORY       Unix-domain socket location\n"
+msgstr "  -k DIRECTORIO   ubicación del socket Unix\n"
 
-#: parser/analyze.c:2289
+#: main/main.c:289
 #, c-format
-msgid "SELECT FOR UPDATE/SHARE is not allowed with DISTINCT clause"
-msgstr "SELECT FOR UPDATE/SHARE no está permitido con cláusulas DISTINCT"
+msgid "  -l                 enable SSL connections\n"
+msgstr "  -l              activar conexiones SSL\n"
 
-#: parser/analyze.c:2293
+#: main/main.c:291
 #, c-format
-msgid "SELECT FOR UPDATE/SHARE is not allowed with GROUP BY clause"
-msgstr "SELECT FOR UPDATE/SHARE no está permitido con cláusulas GROUP BY"
+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:2297
+#: main/main.c:292
 #, c-format
-msgid "SELECT FOR UPDATE/SHARE is not allowed with HAVING clause"
-msgstr "SELECT FOR UPDATE/SHARE no está permitido con cláusulas HAVING"
+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:2301
+#: main/main.c:293
 #, c-format
-msgid "SELECT FOR UPDATE/SHARE is not allowed with aggregate functions"
-msgstr "SELECT FOR UPDATE/SHARE no está permitido con funciones de agregación"
+msgid "  -p PORT            port number to listen on\n"
+msgstr "  -p PUERTO       número de puerto en el cual escuchar\n"
 
-#: parser/analyze.c:2305
+#: main/main.c:294
 #, c-format
-msgid "SELECT FOR UPDATE/SHARE is not allowed with window functions"
-msgstr "SELECT FOR UPDATE/SHARE no está permitido con funciones de ventana deslizante"
+msgid "  -s                 show statistics after each query\n"
+msgstr "  -s              mostrar estadísticas después de cada consulta\n"
 
-#: parser/analyze.c:2309
+#: main/main.c:295
 #, c-format
-msgid "SELECT FOR UPDATE/SHARE is not allowed with set-returning functions in the target list"
-msgstr "SELECT FOR UPDATE/SHARE no está permitido con funciones que retornan conjuntos en la lista de resultados"
+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:2388
+#: main/main.c:296
 #, c-format
-msgid "SELECT FOR UPDATE/SHARE must specify unqualified relation names"
-msgstr "SELECT FOR UPDATE/SHARE debe especificar nombres de relaciones sin calificar"
+msgid "  -V, --version      output version information, then exit\n"
+msgstr "  -V, --version   mostrar información de la versión, luego salir\n"
 
-#: parser/analyze.c:2405
+#: main/main.c:297
 #, c-format
-msgid "SELECT FOR UPDATE/SHARE cannot be used with foreign table \"%s\""
-msgstr "SELECT FOR UPDATE/SHARE no puede ser usado con la tabla foránea «%s»"
+msgid "  --NAME=VALUE       set run-time parameter\n"
+msgstr "  --NOMBRE=VALOR  definir parámetro de ejecución\n"
 
-#: parser/analyze.c:2424
+#: main/main.c:298
 #, c-format
-msgid "SELECT FOR UPDATE/SHARE cannot be applied to a join"
-msgstr "SELECT FOR UPDATE/SHARE no puede ser aplicado a un join"
+msgid "  --describe-config  describe configuration parameters, then exit\n"
+msgstr ""
+"  --describe-config\n"
+"                  mostrar parámetros de configuración y salir\n"
 
-#: parser/analyze.c:2430
+#: main/main.c:299
 #, c-format
-msgid "SELECT FOR UPDATE/SHARE cannot be applied to a function"
-msgstr "SELECT FOR UPDATE/SHARE no puede ser aplicado a una función"
+msgid "  -?, --help         show this help, then exit\n"
+msgstr "  -?, --help      muestra esta ayuda, luego sale\n"
 
-#: parser/analyze.c:2442
+#: main/main.c:301
 #, c-format
-msgid "SELECT FOR UPDATE/SHARE cannot be applied to a WITH query"
-msgstr "SELECT FOR UPDATE/SHARE no puede ser aplicado a una consulta WITH"
+msgid ""
+"\n"
+"Developer options:\n"
+msgstr ""
+"\n"
+"Opciones de desarrollador:\n"
 
-#: parser/analyze.c:2456
+#: main/main.c:302
 #, c-format
-msgid "relation \"%s\" in FOR UPDATE/SHARE clause not found in FROM clause"
-msgstr "la relación «%s» en la cláusula FOR UPDATE/SHARE no fue encontrada en la cláusula FROM"
+msgid "  -f s|i|n|m|h       forbid use of some plan types\n"
+msgstr "  -f s|i|n|m|h    impedir el uso de algunos tipos de planes\n"
 
-#: parser/parse_agg.c:129 parser/parse_oper.c:218
+#: main/main.c:303
 #, c-format
-msgid "could not identify an ordering operator for type %s"
-msgstr "no se pudo identificar un operador de ordenamiento para el tipo %s"
+msgid "  -n                 do not reinitialize shared memory after abnormal exit\n"
+msgstr "  -n              no reinicializar memoria compartida después de salida anormal\n"
 
-#: parser/parse_agg.c:131
+#: main/main.c:304
 #, c-format
-msgid "Aggregates with DISTINCT must be able to sort their inputs."
-msgstr "Las funciones de agregación con DISTINCT deben ser capaces de ordenar sus valores de entrada."
+msgid "  -O                 allow system table structure changes\n"
+msgstr "  -O              permitir cambios en estructura de tablas de sistema\n"
 
-#: parser/parse_agg.c:172
+#: main/main.c:305
 #, 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 "  -P                 disable system indexes\n"
+msgstr "  -P              desactivar índices de sistema\n"
 
-#: parser/parse_agg.c:243 parser/parse_clause.c:1630
+#: main/main.c:306
 #, c-format
-msgid "window \"%s\" does not exist"
-msgstr "la ventana «%s» no existe"
+msgid "  -t pa|pl|ex        show timings after each query\n"
+msgstr "  -t pa|pl|ex     mostrar tiempos después de cada consulta\n"
 
-#: parser/parse_agg.c:334
+#: main/main.c:307
 #, c-format
-msgid "aggregates not allowed in WHERE clause"
-msgstr "no se permiten funciones de agregación en la cláusula WHERE"
+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:340
+#: main/main.c:308
 #, c-format
-msgid "aggregates not allowed in JOIN conditions"
-msgstr "no se permiten funciones de agregación en las condiciones JOIN"
+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:361
+#: main/main.c:310
 #, c-format
-msgid "aggregates not allowed in GROUP BY clause"
-msgstr "no se permiten funciones de agregación en la cláusula GROUP BY"
+msgid ""
+"\n"
+"Options for single-user mode:\n"
+msgstr ""
+"\n"
+"Opciones para modo mono-usuario:\n"
 
-#: parser/parse_agg.c:431
+#: main/main.c:311
 #, c-format
-msgid "aggregate functions not allowed in a recursive query's recursive term"
-msgstr "las funciones de agregación no están permitidas en el término recursivo de una consulta recursiva"
+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:456
+#: main/main.c:312
 #, c-format
-msgid "window functions not allowed in WHERE clause"
-msgstr "no se permiten funciones de ventana deslizante en la cláusula WHERE"
+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:462
+#: main/main.c:313
 #, c-format
-msgid "window functions not allowed in JOIN conditions"
-msgstr "no se permiten funciones de ventana deslizante en las condiciones JOIN"
+msgid "  -d 0-5             override debugging level\n"
+msgstr "  -d 0-5          nivel de depuración\n"
 
-#: parser/parse_agg.c:468
+#: main/main.c:314
 #, c-format
-msgid "window functions not allowed in HAVING clause"
-msgstr "no se permiten funciones de ventana deslizante en la cláusula HAVING"
+msgid "  -E                 echo statement before execution\n"
+msgstr "  -E              mostrar las consultas antes de su ejecución\n"
 
-#: parser/parse_agg.c:481
+#: main/main.c:315
 #, c-format
-msgid "window functions not allowed in GROUP BY clause"
-msgstr "no se permiten funciones de ventana deslizante en la cláusula GROUP BY"
+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:500 parser/parse_agg.c:513
+#: main/main.c:316 main/main.c:321
 #, c-format
-msgid "window functions not allowed in window definition"
-msgstr "no se permiten funciones de ventana deslizante en definiciones de ventana deslizante"
+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:671
+#: main/main.c:318
 #, 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 ""
+"\n"
+"Options for bootstrapping mode:\n"
+msgstr ""
+"\n"
+"Opciones para modo de inicio (bootstrapping):\n"
 
-#: parser/parse_agg.c:677
+#: main/main.c:319
 #, 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 "  --boot             selects bootstrapping mode (must be first argument)\n"
+msgstr "  --boot          selecciona modo de inicio (debe ser el primer argumento)\n"
 
-#: parser/parse_clause.c:420
+#: main/main.c:320
 #, c-format
-msgid "JOIN/ON clause refers to \"%s\", which is not part of JOIN"
-msgstr "la cláusula JOIN/ON se refiere a «%s», que no es parte de JOIN"
+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_clause.c:517
+#: main/main.c:322
 #, c-format
-msgid "subquery in FROM cannot refer to other relations of same query level"
-msgstr "una subconsulta en FROM no puede referirse a otras relaciones en el mismo nivel de la consulta"
+msgid "  -x NUM             internal use\n"
+msgstr "  -x NUM          uso interno\n"
 
-#: parser/parse_clause.c:573
+#: main/main.c:324
 #, c-format
-msgid "function expression in FROM cannot refer to other relations of same query level"
-msgstr "una función en FROM no puede referirse a otras relaciones en el mismo nivel de la consulta"
+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 .\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 \n"
 
-#: parser/parse_clause.c:586
+#: main/main.c:338
 #, c-format
-msgid "cannot use aggregate function in function expression in FROM"
-msgstr "no se pueden usar funciones de agregación en una función en FROM"
+msgid ""
+"\"root\" execution of the PostgreSQL server is not permitted.\n"
+"The server must be started under an unprivileged user ID to prevent\n"
+"possible system security compromise.  See the documentation for\n"
+"more information on how to properly start the server.\n"
+msgstr ""
+"No se permite ejecución del servidor PostgreSQL como «root».\n"
+"El servidor debe ser iniciado con un usuario no privilegiado\n"
+"para prevenir posibles compromisos de seguridad del sistema.\n"
+"Vea la documentación para obtener más información acerca de cómo\n"
+"iniciar correctamente el servidor.\n"
 
-#: parser/parse_clause.c:593
+#: main/main.c:355
 #, c-format
-msgid "cannot use window function in function expression in FROM"
-msgstr "no se pueden usar funciones de ventana deslizante en una función en FROM"
+msgid "%s: real and effective user IDs must match\n"
+msgstr "%s: los IDs de usuario real y efectivo deben coincidir\n"
 
-#: parser/parse_clause.c:870
+#: main/main.c:362
 #, c-format
-msgid "column name \"%s\" appears more than once in USING clause"
+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"
+
+#: main/main.c:383
+#, c-format
+msgid "%s: invalid effective UID: %d\n"
+msgstr "%s: el UID de usuario efectivo no es válido: %d\n"
+
+#: main/main.c:396
+#, c-format
+msgid "%s: could not determine user name (GetUserName failed)\n"
+msgstr "%s: no se pudo determinar el nombre de usuario (falló GetUserName)\n"
+
+#: nodes/nodeFuncs.c:115 nodes/nodeFuncs.c:141 parser/parse_coerce.c:1782
+#: parser/parse_coerce.c:1810 parser/parse_coerce.c:1886
+#: parser/parse_expr.c:1722 parser/parse_func.c:369 parser/parse_oper.c:948
+#, 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"
+
+#: optimizer/path/joinrels.c:722
+#, 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"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: optimizer/plan/initsplan.c:1057
+#, c-format
+msgid "%s cannot be applied to the nullable side of an outer join"
+msgstr "%s no puede ser aplicado al lado nulable de un outer join"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: optimizer/plan/planner.c:1086 parser/analyze.c:1321 parser/analyze.c:1519
+#: parser/analyze.c:2253
+#, c-format
+msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
+msgstr "%s no está permitido con UNION/INTERSECT/EXCEPT"
+
+#: optimizer/plan/planner.c:2508
+#, c-format
+msgid "could not implement GROUP BY"
+msgstr "no se pudo implementar GROUP BY"
+
+#: optimizer/plan/planner.c:2509 optimizer/plan/planner.c:2681
+#: optimizer/prep/prepunion.c:824
+#, c-format
+msgid "Some of the datatypes only support hashing, while others only support sorting."
+msgstr "Algunos de los tipos sólo soportan hashing, mientras que otros sólo soportan ordenamiento."
+
+#: optimizer/plan/planner.c:2680
+#, c-format
+msgid "could not implement DISTINCT"
+msgstr "no se pudo implementar DISTINCT"
+
+#: optimizer/plan/planner.c:3290
+#, c-format
+msgid "could not implement window PARTITION BY"
+msgstr "No se pudo implementar PARTITION BY de ventana"
+
+#: optimizer/plan/planner.c:3291
+#, c-format
+msgid "Window partitioning columns must be of sortable datatypes."
+msgstr "Las columnas de particionamiento de ventana deben de tipos que se puedan ordenar."
+
+#: optimizer/plan/planner.c:3295
+#, c-format
+msgid "could not implement window ORDER BY"
+msgstr "no se pudo implementar ORDER BY de ventana"
+
+#: optimizer/plan/planner.c:3296
+#, c-format
+msgid "Window ordering columns must be of sortable datatypes."
+msgstr "Las columnas de ordenamiento de ventana debe ser de tipos que se puedan ordenar."
+
+#: optimizer/plan/setrefs.c:404
+#, c-format
+msgid "too many range table entries"
+msgstr "demasiadas «range table entries»"
+
+#: optimizer/prep/prepunion.c:418
+#, c-format
+msgid "could not implement recursive UNION"
+msgstr "no se pudo implementar UNION recursivo"
+
+#: optimizer/prep/prepunion.c:419
+#, c-format
+msgid "All column datatypes must be hashable."
+msgstr "Todos los tipos de dato de las columnas deben ser tipos de los que se puedan hacer un hash."
+
+#. translator: %s is UNION, INTERSECT, or EXCEPT
+#: optimizer/prep/prepunion.c:823
+#, c-format
+msgid "could not implement %s"
+msgstr "no se pudo implementar %s"
+
+#: optimizer/util/clauses.c:4373
+#, c-format
+msgid "SQL function \"%s\" during inlining"
+msgstr "función SQL «%s», durante expansión en línea"
+
+#: optimizer/util/plancat.c:104
+#, c-format
+msgid "cannot access temporary or unlogged relations during recovery"
+msgstr "no se pueden crear tablas temporales o unlogged durante la recuperación"
+
+#: parser/analyze.c:618 parser/analyze.c:1093
+#, c-format
+msgid "VALUES lists must all be the same length"
+msgstr "las listas VALUES deben ser todas de la misma longitud"
+
+#: parser/analyze.c:785
+#, c-format
+msgid "INSERT has more expressions than target columns"
+msgstr "INSERT tiene más expresiones que columnas de destino"
+
+#: parser/analyze.c:803
+#, c-format
+msgid "INSERT has more target columns than expressions"
+msgstr "INSERT tiene más columnas de destino que expresiones"
+
+#: parser/analyze.c:807
+#, c-format
+msgid "The insertion source is a row expression containing the same number of columns expected by the INSERT. Did you accidentally use extra parentheses?"
+msgstr "La fuente de inserción es una expresión de fila que contiene la misma cantidad de columnas que esperaba el INSERT. ¿Usó accidentalmente paréntesis extra?"
+
+#: parser/analyze.c:915 parser/analyze.c:1294
+#, c-format
+msgid "SELECT ... INTO is not allowed here"
+msgstr "SELECT ... INTO no está permitido aquí"
+
+#: parser/analyze.c:1107
+#, c-format
+msgid "DEFAULT can only appear in a VALUES list within INSERT"
+msgstr "DEFAULT sólo puede aparecer en listas VALUES dentro de un INSERT"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:1226 parser/analyze.c:2425
+#, c-format
+msgid "%s cannot be applied to VALUES"
+msgstr "%s no puede ser aplicado a VALUES"
+
+#: parser/analyze.c:1447
+#, c-format
+msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
+msgstr "cláusula UNION/INTERSECT/EXCEPT ORDER BY no válida"
+
+#: parser/analyze.c:1448
+#, c-format
+msgid "Only result column names can be used, not expressions or functions."
+msgstr "Sólo nombres de columna del resultado pueden usarse, no expresiones o funciones."
+
+#: parser/analyze.c:1449
+#, c-format
+msgid "Add the expression/function to every SELECT, or move the UNION into a FROM clause."
+msgstr "Agregue la función o expresión a todos los SELECT, o mueva el UNION dentro de una cláusula FROM."
+
+#: parser/analyze.c:1509
+#, c-format
+msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
+msgstr "sólo se permite INTO en el primer SELECT de UNION/INTERSECT/EXCEPT"
+
+#: parser/analyze.c:1573
+#, c-format
+msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level"
+msgstr "una sentencia miembro de UNION/INSERT/EXCEPT no puede referirse a otras relaciones del mismo nivel de la consulta"
+
+#: parser/analyze.c:1662
+#, c-format
+msgid "each %s query must have the same number of columns"
+msgstr "cada consulta %s debe tener el mismo número de columnas"
+
+#: parser/analyze.c:2054
+#, c-format
+msgid "cannot specify both SCROLL and NO SCROLL"
+msgstr "no se puede especificar SCROLL y NO SCROLL"
+
+#: parser/analyze.c:2072
+#, c-format
+msgid "DECLARE CURSOR must not contain data-modifying statements in WITH"
+msgstr "DECLARE CURSOR no debe contener sentencias que modifiquen datos en WITH"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2080
+#, c-format
+msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
+msgstr "DECLARE CURSOR WITH HOLD ... %s no está soportado"
+
+#: parser/analyze.c:2083
+#, c-format
+msgid "Holdable cursors must be READ ONLY."
+msgstr "Los cursores declarados HOLD deben ser READ ONLY."
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2091
+#, c-format
+msgid "DECLARE SCROLL CURSOR ... %s is not supported"
+msgstr "DECLARE SCROLL CURSOR ... %s no está soportado"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2102
+#, c-format
+msgid "DECLARE INSENSITIVE CURSOR ... %s is not supported"
+msgstr "DECLARE INSENSITIVE CURSOR ... %s no está soportado"
+
+#: parser/analyze.c:2105
+#, c-format
+msgid "Insensitive cursors must be READ ONLY."
+msgstr "Los cursores insensitivos deben ser READ ONLY."
+
+#: parser/analyze.c:2171
+#, c-format
+msgid "materialized views must not use data-modifying statements in WITH"
+msgstr "las vistas materializadas no deben usar sentencias que modifiquen datos en WITH"
+
+#: parser/analyze.c:2181
+#, c-format
+msgid "materialized views must not use temporary tables or views"
+msgstr "las vistas materializadas no deben usar tablas temporales o vistas"
+
+#: parser/analyze.c:2191
+#, c-format
+msgid "materialized views may not be defined using bound parameters"
+msgstr "las vistas materializadas no pueden definirse usando parámetros enlazados"
+
+#: parser/analyze.c:2203
+#, c-format
+msgid "materialized views cannot be UNLOGGED"
+msgstr "las vistas materializadas no pueden ser UNLOGGED"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2260
+#, c-format
+msgid "%s is not allowed with DISTINCT clause"
+msgstr "%s no está permitido con cláusulas DISTINCT"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2267
+#, c-format
+msgid "%s is not allowed with GROUP BY clause"
+msgstr "%s no está permitido con cláusulas GROUP BY"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2274
+#, c-format
+msgid "%s is not allowed with HAVING clause"
+msgstr "%s no está permitido con cláusulas HAVING"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2281
+#, c-format
+msgid "%s is not allowed with aggregate functions"
+msgstr "%s no está permitido con funciones de agregación"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2288
+#, c-format
+msgid "%s is not allowed with window functions"
+msgstr "%s no está permitido con funciones de ventana deslizante"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2295
+#, c-format
+msgid "%s is not allowed with set-returning functions in the target list"
+msgstr "%s no está permitido con funciones que retornan conjuntos en la lista de resultados"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2374
+#, c-format
+msgid "%s must specify unqualified relation names"
+msgstr "%s debe especificar nombres de relaciones sin calificar"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2407
+#, c-format
+msgid "%s cannot be applied to a join"
+msgstr "%s no puede ser aplicado a un join"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2416
+#, c-format
+msgid "%s cannot be applied to a function"
+msgstr "%s no puede ser aplicado a una función"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2434
+#, c-format
+msgid "%s cannot be applied to a WITH query"
+msgstr "%s no puede ser aplicado a una consulta WITH"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2451
+#, c-format
+msgid "relation \"%s\" in %s clause not found in FROM clause"
+msgstr "la relación «%s» en la cláusula %s no fue encontrada en la cláusula FROM"
+
+#: parser/parse_agg.c:144 parser/parse_oper.c:219
+#, c-format
+msgid "could not identify an ordering operator for type %s"
+msgstr "no se pudo identificar un operador de ordenamiento para el tipo %s"
+
+#: parser/parse_agg.c:146
+#, c-format
+msgid "Aggregates with DISTINCT must be able to sort their inputs."
+msgstr "Las funciones de agregación con DISTINCT deben ser capaces de ordenar sus valores de entrada."
+
+#: parser/parse_agg.c:193
+msgid "aggregate functions are not allowed in JOIN conditions"
+msgstr "no se permiten funciones de agregación en las condiciones de JOIN"
+
+#: parser/parse_agg.c:199
+msgid "aggregate functions are not allowed in FROM clause of their own query level"
+msgstr "las funciones de agregación no están permitidas en la cláusula FROM de su mismo nivel de consulta"
+
+#: parser/parse_agg.c:202
+msgid "aggregate functions are not allowed in functions in FROM"
+msgstr "no se permiten funciones de agregación en una función en FROM"
+
+#: parser/parse_agg.c:217
+msgid "aggregate functions are not allowed in window RANGE"
+msgstr "no se permiten funciones de agregación en RANGE de ventana deslizante"
+
+#: parser/parse_agg.c:220
+msgid "aggregate functions are not allowed in window ROWS"
+msgstr "no se permiten funciones de agregación en ROWS de ventana deslizante"
+
+#: parser/parse_agg.c:251
+msgid "aggregate functions are not allowed in check constraints"
+msgstr "no se permiten funciones de agregación en restricciones «check»"
+
+#: parser/parse_agg.c:255
+msgid "aggregate functions are not allowed in DEFAULT expressions"
+msgstr "no se permiten funciones de agregación en expresiones DEFAULT"
+
+#: parser/parse_agg.c:258
+msgid "aggregate functions are not allowed in index expressions"
+msgstr "no se permiten funciones de agregación en una expresión de índice"
+
+#: parser/parse_agg.c:261
+msgid "aggregate functions are not allowed in index predicates"
+msgstr "no se permiten funciones de agregación en predicados de índice"
+
+#: parser/parse_agg.c:264
+msgid "aggregate functions are not allowed in transform expressions"
+msgstr "no se permiten funciones de agregación en una expresión de transformación"
+
+#: parser/parse_agg.c:267
+msgid "aggregate functions are not allowed in EXECUTE parameters"
+msgstr "no se permiten funciones de agregación en un parámetro a EXECUTE"
+
+#: parser/parse_agg.c:270
+msgid "aggregate functions are not allowed in trigger WHEN conditions"
+msgstr "no se permiten funciones de agregación en condición WHEN de un disparador"
+
+#. translator: %s is name of a SQL construct, eg GROUP BY
+#: parser/parse_agg.c:290 parser/parse_clause.c:1286
+#, c-format
+msgid "aggregate functions are not allowed in %s"
+msgstr "no se permiten funciones de agregación en %s"
+
+#: parser/parse_agg.c:396
+#, c-format
+msgid "aggregate function calls cannot contain window function calls"
+msgstr "las llamadas a funciones de agregación no pueden contener llamadas a funciones de ventana deslizante"
+
+#: parser/parse_agg.c:469
+msgid "window functions are not allowed in JOIN conditions"
+msgstr "no se permiten funciones de ventana deslizante en condiciones JOIN"
+
+#: parser/parse_agg.c:476
+msgid "window functions are not allowed in functions in FROM"
+msgstr "no se permiten funciones de ventana deslizante en funciones en FROM"
+
+#: parser/parse_agg.c:488
+msgid "window functions are not allowed in window definitions"
+msgstr "no se permiten funciones de ventana deslizante en definiciones de ventana deslizante"
+
+#: parser/parse_agg.c:519
+msgid "window functions are not allowed in check constraints"
+msgstr "no se permiten funciones de ventana deslizante en restricciones «check»"
+
+#: parser/parse_agg.c:523
+msgid "window functions are not allowed in DEFAULT expressions"
+msgstr "no se permiten funciones de ventana deslizante en expresiones DEFAULT"
+
+#: parser/parse_agg.c:526
+msgid "window functions are not allowed in index expressions"
+msgstr "no se permiten funciones de ventana deslizante en expresiones de índice"
+
+#: parser/parse_agg.c:529
+msgid "window functions are not allowed in index predicates"
+msgstr "no se permiten funciones de ventana deslizante en predicados de índice"
+
+#: parser/parse_agg.c:532
+msgid "window functions are not allowed in transform expressions"
+msgstr "no se permiten funciones de ventana deslizante en expresiones de transformación"
+
+#: parser/parse_agg.c:535
+msgid "window functions are not allowed in EXECUTE parameters"
+msgstr "no se permiten funciones de ventana deslizante en parámetros a EXECUTE"
+
+#: parser/parse_agg.c:538
+msgid "window functions are not allowed in trigger WHEN conditions"
+msgstr "no se permiten funciones de ventana deslizante en condiciones WHEN de un disparador"
+
+#. translator: %s is name of a SQL construct, eg GROUP BY
+#: parser/parse_agg.c:558 parser/parse_clause.c:1295
+#, c-format
+msgid "window functions are not allowed in %s"
+msgstr "no se permiten funciones de ventana deslizante en %s"
+
+#: parser/parse_agg.c:592 parser/parse_clause.c:1706
+#, c-format
+msgid "window \"%s\" does not exist"
+msgstr "la ventana «%s» no existe"
+
+#: parser/parse_agg.c:754
+#, c-format
+msgid "aggregate functions are not allowed in a recursive query's recursive term"
+msgstr "no se permiten funciones de agregación en el término recursivo de una consulta recursiva"
+
+#: parser/parse_agg.c:909
+#, c-format
+msgid "column \"%s.%s\" must appear in the GROUP BY clause or be used in an aggregate function"
+msgstr "la columna «%s.%s» debe aparecer en la cláusula GROUP BY o ser usada en una función de agregación"
+
+#: parser/parse_agg.c:915
+#, c-format
+msgid "subquery uses ungrouped column \"%s.%s\" from outer query"
+msgstr "la subconsulta usa la columna «%s.%s» no agrupada de una consulta exterior"
+
+#: parser/parse_clause.c:846
+#, c-format
+msgid "column name \"%s\" appears more than once in USING clause"
 msgstr "la columna «%s» aparece más de una vez en la cláusula USING"
 
-#: parser/parse_clause.c:885
+#: parser/parse_clause.c:861
 #, c-format
 msgid "common column name \"%s\" appears more than once in left table"
 msgstr "la columna común «%s» aparece más de una vez en la tabla izquierda"
 
-#: parser/parse_clause.c:894
+#: parser/parse_clause.c:870
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in left table"
 msgstr "la columna «%s» especificada en la cláusula USING no existe en la tabla izquierda"
 
-#: parser/parse_clause.c:908
+#: parser/parse_clause.c:884
 #, c-format
 msgid "common column name \"%s\" appears more than once in right table"
 msgstr "la columna común «%s» aparece más de una vez en la tabla derecha"
 
-#: parser/parse_clause.c:917
+#: parser/parse_clause.c:893
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in right table"
 msgstr "la columna «%s» especificada en la cláusula USING no existe en la tabla derecha"
 
-#: parser/parse_clause.c:974
+#: parser/parse_clause.c:947
 #, c-format
 msgid "column alias list for \"%s\" has too many entries"
 msgstr "la lista de alias de columnas para «%s» tiene demasiadas entradas"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1221
+#: parser/parse_clause.c:1256
 #, c-format
 msgid "argument of %s must not contain variables"
 msgstr "el argumento de %s no puede contener variables"
 
-#. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1232
-#, c-format
-msgid "argument of %s must not contain aggregate functions"
-msgstr "el argumento de %s no puede contener funciones de agregación"
-
-#. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1243
-#, c-format
-msgid "argument of %s must not contain window functions"
-msgstr "el argumento de %s no puede contener funciones de ventana deslizante"
-
 #. translator: first %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1360
+#: parser/parse_clause.c:1421
 #, c-format
 msgid "%s \"%s\" is ambiguous"
 msgstr "%s «%s» es ambiguo"
 
 #. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1384
+#: parser/parse_clause.c:1450
 #, c-format
 msgid "non-integer constant in %s"
 msgstr "constante no entera en %s"
 
 #. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1402
+#: parser/parse_clause.c:1472
 #, c-format
 msgid "%s position %d is not in select list"
 msgstr "la posición %2$d de %1$s no está en la lista de resultados"
 
-#: parser/parse_clause.c:1618
+#: parser/parse_clause.c:1694
 #, c-format
 msgid "window \"%s\" is already defined"
 msgstr "la ventana «%s» ya está definida"
 
-#: parser/parse_clause.c:1672
+#: parser/parse_clause.c:1750
 #, c-format
 msgid "cannot override PARTITION BY clause of window \"%s\""
 msgstr "no se puede pasar a llevar la cláusula PARTITION BY de la ventana «%s»"
 
-#: parser/parse_clause.c:1684
+#: parser/parse_clause.c:1762
 #, c-format
 msgid "cannot override ORDER BY clause of window \"%s\""
 msgstr "no se puede pasar a llevar la cláusula ORDER BY de la ventana «%s»"
 
-#: parser/parse_clause.c:1706
+#: parser/parse_clause.c:1784
 #, c-format
 msgid "cannot override frame clause of window \"%s\""
 msgstr "no se puede pasar a llevar la cláusula de «frame» de la ventana «%s»"
 
-#: parser/parse_clause.c:1772
+#: parser/parse_clause.c:1850
 #, c-format
 msgid "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument list"
 msgstr "en una agregación con DISTINCT, las expresiones en ORDER BY deben aparecer en la lista de argumentos"
 
-#: parser/parse_clause.c:1773
+#: parser/parse_clause.c:1851
 #, c-format
 msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list"
 msgstr "para SELECT DISTINCT, las expresiones en ORDER BY deben aparecer en la lista de resultados"
 
-#: parser/parse_clause.c:1859 parser/parse_clause.c:1891
+#: parser/parse_clause.c:1937 parser/parse_clause.c:1969
 #, c-format
 msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
 msgstr "las expresiones de SELECT DISTINCT ON deben coincidir con las expresiones iniciales de ORDER BY"
 
-#: parser/parse_clause.c:2013
+#: parser/parse_clause.c:2091
 #, c-format
 msgid "operator %s is not a valid ordering operator"
 msgstr "el operador «%s» no es un operador válido de ordenamiento"
 
-#: parser/parse_clause.c:2015
+#: parser/parse_clause.c:2093
 #, c-format
 msgid "Ordering operators must be \"<\" or \">\" members of btree operator families."
 msgstr "Los operadores de ordenamiento deben ser miembros «<» o «>» de una familia de operadores btree."
 
-#: parser/parse_coerce.c:932 parser/parse_coerce.c:962
-#: parser/parse_coerce.c:980 parser/parse_coerce.c:995
-#: parser/parse_expr.c:1666 parser/parse_expr.c:2140 parser/parse_target.c:830
+#: parser/parse_coerce.c:933 parser/parse_coerce.c:963
+#: parser/parse_coerce.c:981 parser/parse_coerce.c:996
+#: parser/parse_expr.c:1756 parser/parse_expr.c:2230 parser/parse_target.c:852
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "no se puede convertir el tipo %s a %s"
 
-#: parser/parse_coerce.c:965
+#: parser/parse_coerce.c:966
 #, c-format
 msgid "Input has too few columns."
 msgstr "La entrada tiene muy pocas columnas."
 
-#: parser/parse_coerce.c:983
+#: parser/parse_coerce.c:984
 #, c-format
 msgid "Cannot cast type %s to %s in column %d."
 msgstr "No se puede convertir el tipo %s a %s en la columna %d."
 
-#: parser/parse_coerce.c:998
+#: parser/parse_coerce.c:999
 #, c-format
 msgid "Input has too many columns."
 msgstr "La entrada tiene demasiadas columnas."
 
 #. translator: first %s is name of a SQL construct, eg WHERE
-#: parser/parse_coerce.c:1041
+#: parser/parse_coerce.c:1042
 #, 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"
 
 #. translator: %s is name of a SQL construct, eg WHERE
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_coerce.c:1051 parser/parse_coerce.c:1100
+#: parser/parse_coerce.c:1052 parser/parse_coerce.c:1101
 #, c-format
 msgid "argument of %s must not return a set"
 msgstr "el argumento de %s no debe retornar un conjunto"
 
 #. translator: first %s is name of a SQL construct, eg LIMIT
-#: parser/parse_coerce.c:1088
+#: parser/parse_coerce.c:1089
 #, 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"
 
 #. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:1221
+#: parser/parse_coerce.c:1222
 #, 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"
 
 #. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:1288
+#: parser/parse_coerce.c:1289
 #, c-format
 msgid "%s could not convert type %s to %s"
 msgstr "%s no pudo convertir el tipo %s a %s"
 
-#: parser/parse_coerce.c:1590
+#: parser/parse_coerce.c:1591
 #, c-format
 msgid "arguments declared \"anyelement\" are not all alike"
 msgstr "los argumentos declarados «anyelement» no son de tipos compatibles"
 
-#: parser/parse_coerce.c:1610
+#: parser/parse_coerce.c:1611
 #, c-format
 msgid "arguments declared \"anyarray\" are not all alike"
 msgstr "los argumentos declarados «anyarray» no son de tipos compatibles"
 
-#: parser/parse_coerce.c:1630
+#: parser/parse_coerce.c:1631
 #, c-format
 msgid "arguments declared \"anyrange\" are not all alike"
 msgstr "los argumentos declarados «anyrange» no son de tipos compatibles"
 
-#: parser/parse_coerce.c:1659 parser/parse_coerce.c:1870
-#: parser/parse_coerce.c:1904
+#: parser/parse_coerce.c:1660 parser/parse_coerce.c:1871
+#: parser/parse_coerce.c:1905
 #, 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"
 
-#: parser/parse_coerce.c:1675
+#: parser/parse_coerce.c:1676
 #, 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»"
 
-#: parser/parse_coerce.c:1696 parser/parse_coerce.c:1917
+#: parser/parse_coerce.c:1697 parser/parse_coerce.c:1918
 #, c-format
-msgid "argument declared \"anyrange\" is not a range but type %s"
-msgstr "el argumento declarado «anyrange» no es un rango sino de tipo %s"
+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_coerce.c:1712
+#: 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_coerce.c:1732
+#: 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_coerce.c:1742
+#: 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_coerce.c:1752
+#: 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_coerce.c:1792 parser/parse_coerce.c:1822
+#: 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_collate.c:214 parser/parse_collate.c:538
+#: parser/parse_collate.c:214 parser/parse_collate.c:458
 #, c-format
 msgid "collation mismatch between implicit collations \"%s\" and \"%s\""
 msgstr "discordancia de ordenamientos (collation) entre los ordenamientos implícitos «%s» y «%s»"
 
-#: parser/parse_collate.c:217 parser/parse_collate.c:541
+#: parser/parse_collate.c:217 parser/parse_collate.c:461
 #, c-format
 msgid "You can choose the collation by applying the COLLATE clause to one or both expressions."
 msgstr "Puede elegir el ordenamiento aplicando la cláusula COLLATE a una o ambas expresiones."
 
-#: parser/parse_collate.c:763
+#: parser/parse_collate.c:772
 #, c-format
 msgid "collation mismatch between explicit collations \"%s\" and \"%s\""
 msgstr "discordancia de ordenamientos (collation) entre los ordenamientos explícitos «%s» y «%s»"
@@ -10656,720 +11194,751 @@ msgstr "FOR UPDATE/SHARE no está implementado en una consulta recursiva"
 msgid "recursive reference to query \"%s\" must not appear more than once"
 msgstr "la referencia recursiva a la consulta «%s» no debe aparecer más de una vez"
 
-#: parser/parse_expr.c:366 parser/parse_expr.c:759
+#: parser/parse_expr.c:388 parser/parse_relation.c:2611
 #, c-format
 msgid "column %s.%s does not exist"
 msgstr "no existe la columna %s.%s"
 
-#: parser/parse_expr.c:378
+#: parser/parse_expr.c:400
 #, c-format
 msgid "column \"%s\" not found in data type %s"
 msgstr "la columna «%s» no fue encontrado en el tipo %s"
 
-#: parser/parse_expr.c:384
+#: parser/parse_expr.c:406
 #, c-format
 msgid "could not identify column \"%s\" in record data type"
 msgstr "no se pudo identificar la columna «%s» en el tipo de dato record"
 
-#: parser/parse_expr.c:390
+#: parser/parse_expr.c:412
 #, c-format
 msgid "column notation .%s applied to type %s, which is not a composite type"
 msgstr "la notación de columna .%s fue aplicada al tipo %s, que no es un tipo compuesto"
 
-#: parser/parse_expr.c:420 parser/parse_target.c:618
+#: parser/parse_expr.c:442 parser/parse_target.c:640
 #, c-format
 msgid "row expansion via \"*\" is not supported here"
 msgstr "la expansión de filas a través de «*» no está soportado aquí"
 
-#: parser/parse_expr.c:743 parser/parse_relation.c:485
-#: parser/parse_relation.c:565 parser/parse_target.c:1065
+#: parser/parse_expr.c:765 parser/parse_relation.c:531
+#: parser/parse_relation.c:612 parser/parse_target.c:1087
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "la referencia a la columna «%s» es ambigua"
 
-#: parser/parse_expr.c:811 parser/parse_param.c:109 parser/parse_param.c:141
-#: parser/parse_param.c:198 parser/parse_param.c:297
+#: parser/parse_expr.c:821 parser/parse_param.c:110 parser/parse_param.c:142
+#: parser/parse_param.c:199 parser/parse_param.c:298
 #, c-format
 msgid "there is no parameter $%d"
 msgstr "no hay parámetro $%d"
 
-#: parser/parse_expr.c:1023
+#: parser/parse_expr.c:1033
 #, c-format
 msgid "NULLIF requires = operator to yield boolean"
 msgstr "NULLIF requiere que el operador = retorne boolean"
 
-#: parser/parse_expr.c:1202
-#, c-format
-msgid "arguments of row IN must all be row expressions"
-msgstr "los argumentos de IN de registros deben ser expresiones de registro"
+#: parser/parse_expr.c:1452
+msgid "cannot use subquery in check constraint"
+msgstr "no se pueden usar subconsultas en una restricción «check»"
 
-#: parser/parse_expr.c:1438
-#, c-format
-msgid "subquery must return a column"
+#: parser/parse_expr.c:1456
+msgid "cannot use subquery in DEFAULT expression"
+msgstr "no se puede usar una subconsulta en una expresión DEFAULT"
+
+#: parser/parse_expr.c:1459
+msgid "cannot use subquery in index expression"
+msgstr "no se puede usar una subconsulta en una expresión de índice"
+
+#: parser/parse_expr.c:1462
+msgid "cannot use subquery in index predicate"
+msgstr "no se puede usar una subconsulta en un predicado de índice"
+
+#: parser/parse_expr.c:1465
+msgid "cannot use subquery in transform expression"
+msgstr "no se puede usar una subconsulta en una expresión de transformación"
+
+#: parser/parse_expr.c:1468
+msgid "cannot use subquery in EXECUTE parameter"
+msgstr "no se puede usar una subconsulta en un parámetro a EXECUTE"
+
+#: parser/parse_expr.c:1471
+msgid "cannot use subquery in trigger WHEN condition"
+msgstr "no se puede usar una subconsulta en la condición WHEN de un disparador"
+
+#: parser/parse_expr.c:1528
+#, c-format
+msgid "subquery must return a column"
 msgstr "la subconsulta debe retornar una columna"
 
-#: parser/parse_expr.c:1445
+#: parser/parse_expr.c:1535
 #, c-format
 msgid "subquery must return only one column"
 msgstr "la subconsulta debe retornar sólo una columna"
 
-#: parser/parse_expr.c:1505
+#: parser/parse_expr.c:1595
 #, c-format
 msgid "subquery has too many columns"
 msgstr "la subconsulta tiene demasiadas columnas"
 
-#: parser/parse_expr.c:1510
+#: parser/parse_expr.c:1600
 #, c-format
 msgid "subquery has too few columns"
 msgstr "la subconsulta tiene muy pocas columnas"
 
-#: parser/parse_expr.c:1606
+#: parser/parse_expr.c:1696
 #, c-format
 msgid "cannot determine type of empty array"
 msgstr "no se puede determinar el tipo de un array vacío"
 
-#: parser/parse_expr.c:1607
+#: parser/parse_expr.c:1697
 #, c-format
 msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]."
 msgstr "Agregue una conversión de tipo explícita al tipo deseado, por ejemplo ARRAY[]::integer[]."
 
-#: parser/parse_expr.c:1621
+#: parser/parse_expr.c:1711
 #, c-format
 msgid "could not find element type for data type %s"
 msgstr "no se pudo encontrar el tipo de dato de elemento para el tipo de dato %s"
 
-#: parser/parse_expr.c:1847
+#: parser/parse_expr.c:1937
 #, c-format
 msgid "unnamed XML attribute value must be a column reference"
 msgstr "el valor del atributo XML sin nombre debe ser una referencia a una columna"
 
-#: parser/parse_expr.c:1848
+#: parser/parse_expr.c:1938
 #, c-format
 msgid "unnamed XML element value must be a column reference"
 msgstr "el valor del elemento XML sin nombre debe ser una referencia a una columna"
 
-#: parser/parse_expr.c:1863
+#: parser/parse_expr.c:1953
 #, c-format
 msgid "XML attribute name \"%s\" appears more than once"
 msgstr "el nombre de atributo XML «%s» aparece más de una vez"
 
-#: parser/parse_expr.c:1970
+#: parser/parse_expr.c:2060
 #, c-format
 msgid "cannot cast XMLSERIALIZE result to %s"
 msgstr "no se puede convertir el resultado de XMLSERIALIZE a %s"
 
-#: parser/parse_expr.c:2213 parser/parse_expr.c:2413
+#: parser/parse_expr.c:2303 parser/parse_expr.c:2503
 #, c-format
 msgid "unequal number of entries in row expressions"
 msgstr "número desigual de entradas en expresiones de registro"
 
-#: parser/parse_expr.c:2223
+#: parser/parse_expr.c:2313
 #, c-format
 msgid "cannot compare rows of zero length"
 msgstr "no se pueden comparar registros de largo cero"
 
-#: parser/parse_expr.c:2248
+#: parser/parse_expr.c:2338
 #, c-format
 msgid "row comparison operator must yield type boolean, not type %s"
 msgstr "el operador de comparación de registros debe retornar tipo boolean, no tipo %s"
 
-#: parser/parse_expr.c:2255
+#: parser/parse_expr.c:2345
 #, c-format
 msgid "row comparison operator must not return a set"
 msgstr "el operador de comparación de registros no puede retornar un conjunto"
 
-#: parser/parse_expr.c:2314 parser/parse_expr.c:2359
+#: parser/parse_expr.c:2404 parser/parse_expr.c:2449
 #, c-format
 msgid "could not determine interpretation of row comparison operator %s"
 msgstr "no se pudo determinar la interpretación del operador de comparación de registros %s"
 
-#: parser/parse_expr.c:2316
+#: parser/parse_expr.c:2406
 #, c-format
 msgid "Row comparison operators must be associated with btree operator families."
 msgstr "Los operadores de comparación de registros deben estar asociados a una familia de operadores btree."
 
-#: parser/parse_expr.c:2361
+#: parser/parse_expr.c:2451
 #, c-format
 msgid "There are multiple equally-plausible candidates."
 msgstr "Hay múltiples candidatos igualmente plausibles."
 
-#: parser/parse_expr.c:2453
+#: parser/parse_expr.c:2543
 #, c-format
 msgid "IS DISTINCT FROM requires = operator to yield boolean"
 msgstr "IS DISTINCT FROM requiere que el operador = retorne boolean"
 
-#: parser/parse_func.c:147
+#: parser/parse_func.c:149
 #, c-format
 msgid "argument name \"%s\" used more than once"
 msgstr "el nombre de argumento «%s» fue especificado más de una vez"
 
-#: parser/parse_func.c:158
+#: parser/parse_func.c:160
 #, c-format
 msgid "positional argument cannot follow named argument"
 msgstr "un argumento posicional no puede seguir a un argumento con nombre"
 
-#: parser/parse_func.c:236
+#: parser/parse_func.c:238
 #, c-format
 msgid "%s(*) specified, but %s is not an aggregate function"
 msgstr "se especificó %s(*), pero %s no es una función de agregación"
 
-#: parser/parse_func.c:243
+#: parser/parse_func.c:245
 #, c-format
 msgid "DISTINCT specified, but %s is not an aggregate function"
 msgstr "se especificó DISTINCT, pero %s no es una función de agregación"
 
-#: parser/parse_func.c:249
+#: parser/parse_func.c:251
 #, c-format
 msgid "ORDER BY specified, but %s is not an aggregate function"
 msgstr "se especificó ORDER BY, pero %s no es una función de agregación"
 
-#: parser/parse_func.c:255
+#: parser/parse_func.c:257
 #, c-format
 msgid "OVER specified, but %s is not a window function nor an aggregate function"
 msgstr "se especificó OVER, pero %s no es una función de ventana deslizante ni una función de agregación"
 
-#: parser/parse_func.c:277
+#: parser/parse_func.c:279
 #, c-format
 msgid "function %s is not unique"
 msgstr "la función %s no es única"
 
-#: parser/parse_func.c:280
+#: parser/parse_func.c:282
 #, c-format
 msgid "Could not choose a best candidate function. You might need to add explicit type casts."
 msgstr "No se pudo escoger la función más adecuada. Puede ser necesario agregar conversiones explícitas de tipos."
 
-#: parser/parse_func.c:291
+#: parser/parse_func.c:293
 #, c-format
 msgid "No aggregate function matches the given name and argument types. Perhaps you misplaced ORDER BY; ORDER BY must appear after all regular arguments of the aggregate."
 msgstr "Ninguna función coincide en el nombre y tipos de argumentos. Quizás puso ORDER BY en una mala posición; ORDER BY debe aparecer después de todos los argumentos normales de la función de agregación."
 
-#: parser/parse_func.c:302
+#: parser/parse_func.c:304
 #, c-format
 msgid "No function matches the given name and argument types. You might need to add explicit type casts."
 msgstr "Ninguna función coincide en el nombre y tipos de argumentos. Puede ser necesario agregar conversión explícita de tipos."
 
-#: parser/parse_func.c:412 parser/parse_func.c:478
+#: parser/parse_func.c:415 parser/parse_func.c:481
 #, c-format
 msgid "%s(*) must be used to call a parameterless aggregate function"
 msgstr "%s(*) debe ser usado para invocar una función de agregación sin parámetros"
 
-#: parser/parse_func.c:419
+#: parser/parse_func.c:422
 #, c-format
 msgid "aggregates cannot return sets"
 msgstr "las funciones de agregación no pueden retornar conjuntos"
 
-#: parser/parse_func.c:431
+#: parser/parse_func.c:434
 #, c-format
 msgid "aggregates cannot use named arguments"
 msgstr "las funciones de agregación no pueden usar argumentos con nombre"
 
-#: parser/parse_func.c:450
+#: parser/parse_func.c:453
 #, c-format
 msgid "window function call requires an OVER clause"
 msgstr "la invocación de una función de ventana deslizante requiere una cláusula OVER"
 
-#: parser/parse_func.c:468
+#: parser/parse_func.c:471
 #, c-format
 msgid "DISTINCT is not implemented for window functions"
 msgstr "DISTINCT no está implementado para funciones de ventana deslizante"
 
-#: parser/parse_func.c:488
+#: parser/parse_func.c:491
 #, c-format
 msgid "aggregate ORDER BY is not implemented for window functions"
 msgstr "el ORDER BY de funciones de agregación no está implementado para funciones de ventana deslizante"
 
-#: parser/parse_func.c:494
+#: parser/parse_func.c:497
 #, c-format
 msgid "window functions cannot return sets"
 msgstr "las funciones de ventana deslizante no pueden retornar conjuntos"
 
-#: parser/parse_func.c:505
+#: parser/parse_func.c:508
 #, c-format
 msgid "window functions cannot use named arguments"
 msgstr "las funciones de ventana deslizante no pueden usar argumentos con nombre"
 
-#: parser/parse_func.c:1670
+#: parser/parse_func.c:1673
 #, c-format
 msgid "aggregate %s(*) does not exist"
 msgstr "no existe la función de agregación %s(*)"
 
-#: parser/parse_func.c:1675
+#: parser/parse_func.c:1678
 #, c-format
 msgid "aggregate %s does not exist"
 msgstr "no existe la función de agregación %s"
 
-#: parser/parse_func.c:1694
+#: parser/parse_func.c:1697
 #, c-format
 msgid "function %s is not an aggregate"
 msgstr "la función %s no es una función de agregación"
 
-#: parser/parse_node.c:83
+#: parser/parse_node.c:84
 #, c-format
 msgid "target lists can have at most %d entries"
 msgstr "las listas de resultados pueden tener a lo más %d entradas"
 
-#: parser/parse_node.c:240
+#: parser/parse_node.c:241
 #, c-format
 msgid "cannot subscript type %s because it is not an array"
 msgstr "no se puede poner subíndices al tipo %s porque no es un array"
 
-#: parser/parse_node.c:342 parser/parse_node.c:369
+#: parser/parse_node.c:343 parser/parse_node.c:370
 #, c-format
 msgid "array subscript must have type integer"
 msgstr "los subíndices de arrays deben tener tipo entero"
 
-#: parser/parse_node.c:393
+#: parser/parse_node.c:394
 #, c-format
 msgid "array assignment requires type %s but expression is of type %s"
 msgstr "la asignación de array debe tener tipo %s pero la expresión es de tipo %s"
 
-#: parser/parse_oper.c:123 parser/parse_oper.c:717 utils/adt/regproc.c:464
-#: utils/adt/regproc.c:484 utils/adt/regproc.c:643
+#: parser/parse_oper.c:124 parser/parse_oper.c:718 utils/adt/regproc.c:490
+#: utils/adt/regproc.c:510 utils/adt/regproc.c:669
 #, c-format
 msgid "operator does not exist: %s"
 msgstr "el operador no existe: %s"
 
-#: parser/parse_oper.c:220
+#: parser/parse_oper.c:221
 #, c-format
 msgid "Use an explicit ordering operator or modify the query."
 msgstr "Use un operador de ordenamiento explícito o modifique la consulta."
 
-#: parser/parse_oper.c:224 utils/adt/arrayfuncs.c:3175
-#: utils/adt/arrayfuncs.c:3694 utils/adt/rowtypes.c:1185
+#: parser/parse_oper.c:225 utils/adt/arrayfuncs.c:3181
+#: utils/adt/arrayfuncs.c:3700 utils/adt/arrayfuncs.c:5253
+#: utils/adt/rowtypes.c:1186
 #, 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"
 
-#: parser/parse_oper.c:475
+#: parser/parse_oper.c:476
 #, c-format
 msgid "operator requires run-time type coercion: %s"
 msgstr "el operador requiere conversión explícita de tipos: %s"
 
-#: parser/parse_oper.c:709
+#: parser/parse_oper.c:710
 #, c-format
 msgid "operator is not unique: %s"
 msgstr "el operador no es único: %s"
 
-#: parser/parse_oper.c:711
+#: parser/parse_oper.c:712
 #, 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."
 
-#: parser/parse_oper.c:719
+#: parser/parse_oper.c:720
 #, 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."
 
-#: parser/parse_oper.c:778 parser/parse_oper.c:892
+#: parser/parse_oper.c:779 parser/parse_oper.c:893
 #, c-format
 msgid "operator is only a shell: %s"
 msgstr "el operador está inconcluso: %s"
 
-#: parser/parse_oper.c:880
+#: parser/parse_oper.c:881
 #, c-format
 msgid "op ANY/ALL (array) requires array on right side"
 msgstr "op ANY/ALL (array) requiere un array al lado derecho"
 
-#: parser/parse_oper.c:922
+#: parser/parse_oper.c:923
 #, c-format
 msgid "op ANY/ALL (array) requires operator to yield boolean"
 msgstr "op ANY/ALL (array) requiere un operador que entregue boolean"
 
-#: parser/parse_oper.c:927
+#: parser/parse_oper.c:928
 #, 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"
 
-#: parser/parse_param.c:215
+#: parser/parse_param.c:216
 #, c-format
 msgid "inconsistent types deduced for parameter $%d"
 msgstr "para el parámetro $%d se dedujeron tipos de dato inconsistentes"
 
-#: parser/parse_relation.c:147
+#: parser/parse_relation.c:158
 #, c-format
 msgid "table reference \"%s\" is ambiguous"
 msgstr "la referencia a la tabla «%s» es ambigua"
 
-#: parser/parse_relation.c:183
+#: parser/parse_relation.c:165 parser/parse_relation.c:217
+#: parser/parse_relation.c:619 parser/parse_relation.c:2575
+#, c-format
+msgid "invalid reference to FROM-clause entry for table \"%s\""
+msgstr "referencia a la entrada de la cláusula FROM para la tabla «%s» no válida"
+
+#: parser/parse_relation.c:167 parser/parse_relation.c:219
+#: parser/parse_relation.c:621
+#, 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."
+
+#: parser/parse_relation.c:210
 #, c-format
 msgid "table reference %u is ambiguous"
 msgstr "la referencia a la tabla %u es ambigua"
 
-#: parser/parse_relation.c:350
+#: parser/parse_relation.c:396
 #, c-format
 msgid "table name \"%s\" specified more than once"
 msgstr "el nombre de tabla «%s» fue especificado más de una vez"
 
-#: parser/parse_relation.c:768 parser/parse_relation.c:1059
-#: parser/parse_relation.c:1446
+#: parser/parse_relation.c:858 parser/parse_relation.c:1144
+#: parser/parse_relation.c:1521
 #, c-format
 msgid "table \"%s\" has %d columns available but %d columns specified"
 msgstr "la tabla «%s» tiene %d columnas pero se especificaron %d"
 
-#: parser/parse_relation.c:798
+#: parser/parse_relation.c:888
 #, c-format
 msgid "too many column aliases specified for function %s"
 msgstr "se especificaron demasiados alias de columna para la función %s"
 
-#: parser/parse_relation.c:864
+#: parser/parse_relation.c:954
 #, c-format
 msgid "There is a WITH item named \"%s\", but it cannot be referenced from this part of the query."
 msgstr "Hay un elemento WITH llamado «%s», pero no puede ser referenciada desde esta parte de la consulta."
 
-#: parser/parse_relation.c:866
+#: parser/parse_relation.c:956
 #, c-format
 msgid "Use WITH RECURSIVE, or re-order the WITH items to remove forward references."
 msgstr "Use WITH RECURSIVE, o reordene los elementos de WITH para eliminar referencias hacia adelante."
 
-#: parser/parse_relation.c:1139
+#: parser/parse_relation.c:1222
 #, c-format
 msgid "a column definition list is only allowed for functions returning \"record\""
 msgstr "sólo se permite una lista de definición de columnas en funciones que retornan «record»"
 
-#: parser/parse_relation.c:1147
+#: parser/parse_relation.c:1230
 #, c-format
 msgid "a column definition list is required for functions returning \"record\""
 msgstr "la lista de definición de columnas es obligatoria para funciones que retornan «record»"
 
-#: parser/parse_relation.c:1198
+#: parser/parse_relation.c:1281
 #, c-format
 msgid "function \"%s\" in FROM has unsupported return type %s"
 msgstr "la función «%s» en FROM tiene el tipo de retorno no soportado %s"
 
-#: parser/parse_relation.c:1272
+#: parser/parse_relation.c:1353
 #, c-format
 msgid "VALUES lists \"%s\" have %d columns available but %d columns specified"
 msgstr "la lista VALUES «%s» tiene %d columnas disponibles pero se especificaron %d"
 
-#: parser/parse_relation.c:1328
+#: parser/parse_relation.c:1406
 #, c-format
 msgid "joins can have at most %d columns"
 msgstr "los joins pueden tener a lo más %d columnas"
 
-#: parser/parse_relation.c:1419
+#: parser/parse_relation.c:1494
 #, c-format
 msgid "WITH query \"%s\" does not have a RETURNING clause"
 msgstr "la consulta WITH «%s» no tiene una cláusula RETURNING"
 
-#: parser/parse_relation.c:2101
+#: parser/parse_relation.c:2190
 #, c-format
 msgid "column %d of relation \"%s\" does not exist"
 msgstr "no existe la columna %d en la relación «%s»"
 
-#: parser/parse_relation.c:2485
-#, c-format
-msgid "invalid reference to FROM-clause entry for table \"%s\""
-msgstr "referencia a la entrada de la cláusula FROM para la tabla «%s» no válida"
-
-#: parser/parse_relation.c:2488
+#: parser/parse_relation.c:2578
 #, c-format
 msgid "Perhaps you meant to reference the table alias \"%s\"."
 msgstr "Probablemente quiera hacer referencia al alias de la tabla «%s»."
 
-#: parser/parse_relation.c:2490
+#: parser/parse_relation.c:2580
 #, c-format
 msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query."
 msgstr "Hay una entrada para la tabla «%s», pero no puede ser referenciada desde esta parte de la consulta."
 
-#: parser/parse_relation.c:2496
+#: parser/parse_relation.c:2586
 #, c-format
 msgid "missing FROM-clause entry for table \"%s\""
 msgstr "falta una entrada para la tabla «%s» en la cláusula FROM"
 
-#: parser/parse_target.c:383 parser/parse_target.c:671
+#: parser/parse_relation.c:2626
+#, 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."
+
+#: parser/parse_target.c:402 parser/parse_target.c:693
 #, c-format
 msgid "cannot assign to system column \"%s\""
 msgstr "no se puede asignar a la columna de sistema «%s»"
 
-#: parser/parse_target.c:411
+#: parser/parse_target.c:430
 #, c-format
 msgid "cannot set an array element to DEFAULT"
 msgstr "no se puede definir un elemento de array a DEFAULT"
 
-#: parser/parse_target.c:416
+#: parser/parse_target.c:435
 #, c-format
 msgid "cannot set a subfield to DEFAULT"
 msgstr "no se puede definir un subcampo a DEFAULT"
 
-#: parser/parse_target.c:485
+#: parser/parse_target.c:504
 #, 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"
 
-#: parser/parse_target.c:655
+#: parser/parse_target.c:677
 #, 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"
 
-#: parser/parse_target.c:664
+#: parser/parse_target.c:686
 #, 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"
 
-#: parser/parse_target.c:731
+#: parser/parse_target.c:753
 #, 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"
 
-#: parser/parse_target.c:741
+#: parser/parse_target.c:763
 #, 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"
 
-#: parser/parse_target.c:1127
+#: parser/parse_target.c:1177
 #, c-format
 msgid "SELECT * with no tables specified is not valid"
 msgstr "SELECT * sin especificar tablas no es válido"
 
-#: parser/parse_type.c:83
+#: parser/parse_type.c:84
 #, c-format
 msgid "improper %%TYPE reference (too few dotted names): %s"
 msgstr "referencia %%TYPE inapropiada (muy pocos nombres con punto): %s"
 
-#: parser/parse_type.c:105
+#: parser/parse_type.c:106
 #, c-format
 msgid "improper %%TYPE reference (too many dotted names): %s"
 msgstr "la referencia a %%TYPE es inapropiada (demasiados nombres con punto): %s"
 
-#: parser/parse_type.c:133
+#: parser/parse_type.c:134
 #, c-format
 msgid "type reference %s converted to %s"
 msgstr "la referencia al tipo %s convertida a %s"
 
-#: parser/parse_type.c:208 utils/cache/typcache.c:196
+#: parser/parse_type.c:209 utils/cache/typcache.c:198
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "el tipo «%s» está inconcluso"
 
-#: parser/parse_type.c:293
+#: parser/parse_type.c:294
 #, c-format
 msgid "type modifier is not allowed for type \"%s\""
 msgstr "un modificador de tipo no está permitido para el tipo «%s»"
 
-#: parser/parse_type.c:336
+#: parser/parse_type.c:337
 #, c-format
 msgid "type modifiers must be simple constants or identifiers"
 msgstr "los modificadores de tipo deben ser constantes simples o identificadores"
 
-#: parser/parse_type.c:647 parser/parse_type.c:746
+#: parser/parse_type.c:648 parser/parse_type.c:747
 #, c-format
 msgid "invalid type name \"%s\""
 msgstr "el nombre de tipo «%s» no es válido"
 
-#: parser/parse_utilcmd.c:175
+#: parser/parse_utilcmd.c:177
 #, c-format
 msgid "relation \"%s\" already exists, skipping"
 msgstr "la relación «%s» ya existe, ignorando"
 
-#: parser/parse_utilcmd.c:334
+#: parser/parse_utilcmd.c:342
 #, c-format
 msgid "array of serial is not implemented"
 msgstr "array de serial no está implementado"
 
-#: parser/parse_utilcmd.c:382
+#: parser/parse_utilcmd.c:390
 #, 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»"
 
-#: parser/parse_utilcmd.c:483 parser/parse_utilcmd.c:495
+#: parser/parse_utilcmd.c:491 parser/parse_utilcmd.c:503
 #, c-format
 msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
 msgstr "las declaraciones NULL/NOT NULL no son coincidentes para la columna «%s» de la tabla «%s»"
 
-#: parser/parse_utilcmd.c:507
+#: parser/parse_utilcmd.c:515
 #, c-format
 msgid "multiple default values specified for column \"%s\" of table \"%s\""
 msgstr "múltiples valores default especificados para columna «%s» de tabla «%s»"
 
-#: parser/parse_utilcmd.c:1160 parser/parse_utilcmd.c:1236
+#: parser/parse_utilcmd.c:682
+#, c-format
+msgid "LIKE is not supported for creating foreign tables"
+msgstr "LIKE no está soportado para la creación de tablas foráneas"
+
+#: parser/parse_utilcmd.c:1201 parser/parse_utilcmd.c:1277
 #, c-format
 msgid "Index \"%s\" contains a whole-row table reference."
 msgstr "El índice «%s» contiene una referencia a la fila completa (whole-row)."
 
-#: parser/parse_utilcmd.c:1503
+#: parser/parse_utilcmd.c:1544
 #, c-format
 msgid "cannot use an existing index in CREATE TABLE"
 msgstr "no se puede usar un índice existente en CREATE TABLE"
 
-#: parser/parse_utilcmd.c:1523
+#: parser/parse_utilcmd.c:1564
 #, c-format
 msgid "index \"%s\" is already associated with a constraint"
 msgstr "el índice «%s» ya está asociado a una restricción"
 
-#: parser/parse_utilcmd.c:1531
+#: parser/parse_utilcmd.c:1572
 #, c-format
 msgid "index \"%s\" does not belong to table \"%s\""
 msgstr "el índice «%s» no pertenece a la tabla «%s»"
 
-#: parser/parse_utilcmd.c:1538
+#: parser/parse_utilcmd.c:1579
 #, c-format
 msgid "index \"%s\" is not valid"
 msgstr "el índice «%s» no es válido"
 
-#: parser/parse_utilcmd.c:1544
+#: parser/parse_utilcmd.c:1585
 #, c-format
 msgid "\"%s\" is not a unique index"
 msgstr "«%s» no es un índice único"
 
-#: parser/parse_utilcmd.c:1545 parser/parse_utilcmd.c:1552
-#: parser/parse_utilcmd.c:1559 parser/parse_utilcmd.c:1629
+#: parser/parse_utilcmd.c:1586 parser/parse_utilcmd.c:1593
+#: parser/parse_utilcmd.c:1600 parser/parse_utilcmd.c:1670
 #, c-format
 msgid "Cannot create a primary key or unique constraint using such an index."
 msgstr "No se puede crear una restricción de llave primaria o única usando un índice así."
 
-#: parser/parse_utilcmd.c:1551
+#: parser/parse_utilcmd.c:1592
 #, c-format
 msgid "index \"%s\" contains expressions"
 msgstr "el índice «%s» contiene expresiones"
 
-#: parser/parse_utilcmd.c:1558
+#: parser/parse_utilcmd.c:1599
 #, c-format
 msgid "\"%s\" is a partial index"
 msgstr "«%s» es un índice parcial"
 
-#: parser/parse_utilcmd.c:1570
+#: parser/parse_utilcmd.c:1611
 #, c-format
 msgid "\"%s\" is a deferrable index"
 msgstr "«%s» no es un índice postergable (deferrable)"
 
-#: parser/parse_utilcmd.c:1571
+#: parser/parse_utilcmd.c:1612
 #, c-format
 msgid "Cannot create a non-deferrable constraint using a deferrable index."
 msgstr "No se puede crear una restricción no postergable usando un índice postergable."
 
-#: parser/parse_utilcmd.c:1628
+#: parser/parse_utilcmd.c:1669
 #, c-format
 msgid "index \"%s\" does not have default sorting behavior"
 msgstr "el índice «%s» no tiene el comportamiento de ordenamiento por omisión"
 
-#: parser/parse_utilcmd.c:1773
+#: parser/parse_utilcmd.c:1814
 #, c-format
 msgid "column \"%s\" appears twice in primary key constraint"
 msgstr "la columna «%s» aparece dos veces en llave primaria"
 
-#: parser/parse_utilcmd.c:1779
+#: parser/parse_utilcmd.c:1820
 #, c-format
 msgid "column \"%s\" appears twice in unique constraint"
 msgstr "la columna «%s» aparece dos veces en restricción unique"
 
-#: parser/parse_utilcmd.c:1944
+#: parser/parse_utilcmd.c:1991
 #, c-format
 msgid "index expression cannot return a set"
 msgstr "las expresiones de índice no pueden retornar conjuntos"
 
-#: parser/parse_utilcmd.c:1954
+#: parser/parse_utilcmd.c:2002
 #, c-format
 msgid "index expressions and predicates can refer only to the table being indexed"
 msgstr "las expresiones y predicados de índice sólo pueden referirse a la tabla en indexación"
 
-#: parser/parse_utilcmd.c:2051
-#, c-format
-msgid "rule WHERE condition cannot contain references to other relations"
-msgstr "la condición WHERE de la regla no puede contener referencias a otras relaciones"
-
-#: parser/parse_utilcmd.c:2057
+#: parser/parse_utilcmd.c:2045
 #, c-format
-msgid "cannot use aggregate function in rule WHERE condition"
-msgstr "no se pueden usar funciones de agregación en condición WHERE de una regla"
+msgid "rules on materialized views are not supported"
+msgstr "las reglas en vistas materializadas no están soportadas"
 
-#: parser/parse_utilcmd.c:2061
+#: parser/parse_utilcmd.c:2106
 #, c-format
-msgid "cannot use window function in rule WHERE condition"
-msgstr "no se pueden usar funciones de ventana deslizante en condición WHERE de una regla"
+msgid "rule WHERE condition cannot contain references to other relations"
+msgstr "la condición WHERE de la regla no puede contener referencias a otras relaciones"
 
-#: parser/parse_utilcmd.c:2133
+#: parser/parse_utilcmd.c:2178
 #, c-format
 msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions"
 msgstr "las reglas con condiciones WHERE sólo pueden tener acciones SELECT, INSERT, UPDATE o DELETE"
 
-#: parser/parse_utilcmd.c:2151 parser/parse_utilcmd.c:2250
-#: rewrite/rewriteHandler.c:442 rewrite/rewriteManip.c:1040
+#: parser/parse_utilcmd.c:2196 parser/parse_utilcmd.c:2295
+#: rewrite/rewriteHandler.c:443 rewrite/rewriteManip.c:1032
 #, c-format
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr "las sentencias UNION/INTERSECT/EXCEPT condicionales no están implementadas"
 
-#: parser/parse_utilcmd.c:2169
+#: parser/parse_utilcmd.c:2214
 #, c-format
 msgid "ON SELECT rule cannot use OLD"
 msgstr "una regla ON SELECT no puede usar OLD"
 
-#: parser/parse_utilcmd.c:2173
+#: parser/parse_utilcmd.c:2218
 #, c-format
 msgid "ON SELECT rule cannot use NEW"
 msgstr "una regla ON SELECT no puede usar NEW"
 
-#: parser/parse_utilcmd.c:2182
+#: parser/parse_utilcmd.c:2227
 #, c-format
 msgid "ON INSERT rule cannot use OLD"
 msgstr "una regla ON INSERT no puede usar OLD"
 
-#: parser/parse_utilcmd.c:2188
+#: parser/parse_utilcmd.c:2233
 #, c-format
 msgid "ON DELETE rule cannot use NEW"
 msgstr "una regla ON DELETE no puede usar NEW"
 
-#: parser/parse_utilcmd.c:2216
+#: parser/parse_utilcmd.c:2261
 #, c-format
 msgid "cannot refer to OLD within WITH query"
 msgstr "no se puede hacer referencia a OLD dentro de una consulta WITH"
 
-#: parser/parse_utilcmd.c:2223
+#: parser/parse_utilcmd.c:2268
 #, c-format
 msgid "cannot refer to NEW within WITH query"
 msgstr "no se puede hacer referencia a NEW dentro de una consulta WITH"
 
-#: parser/parse_utilcmd.c:2514
+#: parser/parse_utilcmd.c:2568
 #, c-format
 msgid "misplaced DEFERRABLE clause"
 msgstr "cláusula DEFERRABLE mal puesta"
 
-#: parser/parse_utilcmd.c:2519 parser/parse_utilcmd.c:2534
+#: parser/parse_utilcmd.c:2573 parser/parse_utilcmd.c:2588
 #, c-format
 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr "no se permiten múltiples cláusulas DEFERRABLE/NOT DEFERRABLE"
 
-#: parser/parse_utilcmd.c:2529
+#: parser/parse_utilcmd.c:2583
 #, c-format
 msgid "misplaced NOT DEFERRABLE clause"
 msgstr "la cláusula NOT DEFERRABLE está mal puesta"
 
-#: parser/parse_utilcmd.c:2542 parser/parse_utilcmd.c:2568 gram.y:4237
-#, c-format
-msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
-msgstr "una restricción declarada INITIALLY DEFERRED debe ser DEFERRABLE"
-
-#: parser/parse_utilcmd.c:2550
+#: parser/parse_utilcmd.c:2604
 #, c-format
 msgid "misplaced INITIALLY DEFERRED clause"
 msgstr "la cláusula INITIALLY DEFERRED está mal puesta"
 
-#: parser/parse_utilcmd.c:2555 parser/parse_utilcmd.c:2581
+#: parser/parse_utilcmd.c:2609 parser/parse_utilcmd.c:2635
 #, c-format
 msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr "no se permiten múltiples cláusulas INITIALLY IMMEDIATE/DEFERRED"
 
-#: parser/parse_utilcmd.c:2576
+#: parser/parse_utilcmd.c:2630
 #, c-format
 msgid "misplaced INITIALLY IMMEDIATE clause"
 msgstr "la cláusula INITIALLY IMMEDIATE está mal puesta"
 
-#: parser/parse_utilcmd.c:2767
+#: parser/parse_utilcmd.c:2821
 #, 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)"
 
-#: parser/scansup.c:190
+#: parser/scansup.c:194
 #, c-format
 msgid "identifier \"%s\" will be truncated to \"%s\""
 msgstr "el identificador «%s» se truncará a «%s»"
 
-#: port/pg_latch.c:334 port/unix_latch.c:334
+#: port/pg_latch.c:336 port/unix_latch.c:336
 #, c-format
 msgid "poll() failed: %m"
 msgstr "poll() fallida: %m"
 
-#: port/pg_latch.c:421 port/unix_latch.c:421
-#: replication/libpqwalreceiver/libpqwalreceiver.c:233
+#: port/pg_latch.c:423 port/unix_latch.c:423
+#: replication/libpqwalreceiver/libpqwalreceiver.c:356
 #, c-format
 msgid "select() failed: %m"
 msgstr "select() fallida: %m"
@@ -11399,46 +11968,54 @@ 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 "Probablemente necesita incrementar el valor SEMVMX del kernel hasta al menos %d.  Examine la documentación de PostgreSQL para obtener más detalles."
 
-#: port/pg_shmem.c:144 port/sysv_shmem.c:144
+#: port/pg_shmem.c:164 port/sysv_shmem.c:164
 #, c-format
 msgid "could not create shared memory segment: %m"
 msgstr "no se pudo crear el segmento de memoria compartida: %m"
 
-#: port/pg_shmem.c:145 port/sysv_shmem.c:145
+#: port/pg_shmem.c:165 port/sysv_shmem.c:165
 #, c-format
 msgid "Failed system call was shmget(key=%lu, size=%lu, 0%o)."
 msgstr "La llamada a sistema fallida fue shmget(key=%lu, size=%lu, 0%o)."
 
-#: port/pg_shmem.c:149 port/sysv_shmem.c:149
+#: port/pg_shmem.c:169 port/sysv_shmem.c:169
 #, c-format
 msgid ""
-"This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter.  You can either reduce the request size or reconfigure the kernel with larger SHMMAX.  To reduce the request size (currently %lu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.\n"
-"If the request size is already small, it's possible that it is less than your kernel's SHMMIN parameter, in which case raising the request size or reconfiguring SHMMIN is called for.\n"
+"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 una petición de PostgreSQL para obtener un segmento de memoria compartida excedió el parámetro SHMMAX del kernel.  Puede reducir el tamaño de la petición o reconfigurar el kernel con un SHMMAX superior.  Para reducir el tamaño de la petición (actualmente %lu bytes), reduzca el parámetro de PostgreSQL shared_buffers y/o el parámetro max_connections.\n"
-"Si el tamaño de la petición ya es pequeño, es posible que sea inferior al parámetro SHMMIN del kernel, en cuyo caso se requiere alzar el tamaño de la petición o disminuir SHMMIN.\n"
+"Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedió el parámetro SHMMAX del kernel, o posiblemente que es menor que el parámetro SHMMIN del kernel.\n"
 "La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida."
 
-#: port/pg_shmem.c:162 port/sysv_shmem.c:162
+#: port/pg_shmem.c:176 port/sysv_shmem.c:176
 #, c-format
 msgid ""
-"This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory or swap space, or exceeded your kernel's SHMALL parameter.  You can either reduce the request size or reconfigure the kernel with larger SHMALL.  To reduce the request size (currently %lu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.\n"
+"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 excedía la memoria disponible o el espacio de intercambio (swap), o excedía el valor SHMALL del kernel.  Para reducir el tamaño de la petición (actualmente %lu bytes), reduzca el parámetro de PostgreSQL shared_buffers y/o el parámetro max_connections.\n"
+"Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedió el parámetro SHMALL del kernel.  Puede ser necesario reconfigurar el kernel con un SHMALL mayor.\n"
 "La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida."
 
-#: port/pg_shmem.c:173 port/sysv_shmem.c:173
+#: port/pg_shmem.c:182 port/sysv_shmem.c:182
 #, 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.  If you cannot increase the shared memory limit, reduce PostgreSQL's shared memory request (currently %lu bytes), perhaps by reducing shared_buffers or max_connections.\n"
+"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.  Si no puede incrementar el límite de memoria compartida, reduzca el tamaño de petición de PostgreSQL (actualmente %lu bytes) reduciendo el parámetro shared_buffers y/o el parámetro max_connections.\n"
+"Este error *no* significa que se haya quedado sin espacio en disco.  Ocurre cuando se han usado todos los IDs de memoria compartida disponibles, en cuyo caso puede incrementar el parámetro SHMMNI del kernel, o bien porque se ha alcanzado el límite total de memoria compartida.\n"
 "La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida."
 
-#: port/pg_shmem.c:436 port/sysv_shmem.c:436
+#: port/pg_shmem.c:417 port/sysv_shmem.c:417
+#, c-format
+msgid "could not map anonymous shared memory: %m"
+msgstr "no se pudo mapear memoria compartida anónima: %m"
+
+#: port/pg_shmem.c:419 port/sysv_shmem.c:419
+#, c-format
+msgid "This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory or swap space. To reduce the request size (currently %lu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections."
+msgstr "Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedía la memoria disponible o el espacio de intercambio (swap).  Para reducir el tamaño de la petición (actualmente %lu bytes), reduzca el uso de memoria compartida de PostgreSQL, quizás reduciendo el parámetro shared_buffers o el parámetro max_connections."
+
+#: port/pg_shmem.c:505 port/sysv_shmem.c:505
 #, c-format
 msgid "could not stat data directory \"%s\": %m"
 msgstr "no se pudo verificar el directorio de datos «%s»: %m"
@@ -11483,17 +12060,17 @@ msgstr "no se pudo obtener el SID del grupo Administrators: código de error %lu
 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"
 
-#: port/win32/signal.c:189
+#: port/win32/signal.c:193
 #, 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"
 
-#: port/win32/signal.c:269 port/win32/signal.c:301
+#: port/win32/signal.c:273 port/win32/signal.c:305
 #, 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"
 
-#: port/win32/signal.c:312
+#: port/win32/signal.c:316
 #, 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"
@@ -11548,413 +12125,430 @@ msgstr "La llamada a sistema fallida fue DuplicateHandle."
 msgid "Failed system call was MapViewOfFileEx."
 msgstr "La llamada a sistema fallida fue MapViewOfFileEx."
 
-#: postmaster/autovacuum.c:362
+#: postmaster/autovacuum.c:372
 #, c-format
 msgid "could not fork autovacuum launcher process: %m"
 msgstr "no se pudo iniciar el lanzador autovacuum: %m"
 
-#: postmaster/autovacuum.c:407
+#: postmaster/autovacuum.c:417
 #, c-format
 msgid "autovacuum launcher started"
 msgstr "lanzador de autovacuum iniciado"
 
-#: postmaster/autovacuum.c:767
+#: postmaster/autovacuum.c:783
 #, c-format
 msgid "autovacuum launcher shutting down"
 msgstr "apagando lanzador de autovacuum"
 
-#: postmaster/autovacuum.c:1420
+#: postmaster/autovacuum.c:1447
 #, c-format
 msgid "could not fork autovacuum worker process: %m"
 msgstr "no se pudo lanzar el proceso «autovacuum worker»: %m"
 
-#: postmaster/autovacuum.c:1638
+#: postmaster/autovacuum.c:1666
 #, c-format
 msgid "autovacuum: processing database \"%s\""
 msgstr "autovacuum: procesando la base de datos «%s»"
 
-#: postmaster/autovacuum.c:2041
+#: postmaster/autovacuum.c:2060
 #, c-format
 msgid "autovacuum: dropping orphan temp table \"%s\".\"%s\" in database \"%s\""
 msgstr "autovacuum: eliminando la tabla temporal huérfana «%s».«%s» en la base de datos «%s»"
 
-#: postmaster/autovacuum.c:2053
+#: postmaster/autovacuum.c:2072
 #, c-format
 msgid "autovacuum: found orphan temp table \"%s\".\"%s\" in database \"%s\""
 msgstr "autovacuum: se encontró una tabla temporal huérfana «%s».«%s» en la base de datos «%s»"
 
-#: postmaster/autovacuum.c:2323
+#: postmaster/autovacuum.c:2336
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\""
 msgstr "vacuum automático de la tabla «%s.%s.%s»"
 
-#: postmaster/autovacuum.c:2326
+#: postmaster/autovacuum.c:2339
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\""
 msgstr "análisis automático de la tabla «%s.%s.%s»"
 
-#: postmaster/autovacuum.c:2812
+#: postmaster/autovacuum.c:2835
 #, c-format
 msgid "autovacuum not started because of misconfiguration"
 msgstr "autovacuum no fue iniciado debido a un error de configuración"
 
-#: postmaster/autovacuum.c:2813
+#: postmaster/autovacuum.c:2836
 #, c-format
 msgid "Enable the \"track_counts\" option."
 msgstr "Active la opción «track_counts»."
 
-#: postmaster/checkpointer.c:485
+#: postmaster/checkpointer.c:481
 #, 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)"
 
-#: postmaster/checkpointer.c:489
+#: postmaster/checkpointer.c:485
 #, c-format
 msgid "Consider increasing the configuration parameter \"checkpoint_segments\"."
 msgstr "Considere incrementar el parámetro de configuración «checkpoint_segments»."
 
-#: postmaster/checkpointer.c:634
+#: postmaster/checkpointer.c:630
 #, c-format
 msgid "transaction log switch forced (archive_timeout=%d)"
 msgstr "cambio forzado de registro de transacción (archive_timeout=%d)"
 
-#: postmaster/checkpointer.c:1090
+#: postmaster/checkpointer.c:1083
 #, c-format
 msgid "checkpoint request failed"
 msgstr "falló la petición de punto de control"
 
-#: postmaster/checkpointer.c:1091
+#: postmaster/checkpointer.c:1084
 #, 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."
 
-#: postmaster/checkpointer.c:1287
+#: postmaster/checkpointer.c:1280
 #, 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"
 
-#: postmaster/pgarch.c:164
+#: postmaster/pgarch.c:165
 #, c-format
 msgid "could not fork archiver: %m"
 msgstr "no se pudo lanzar el proceso archivador: %m"
 
-#: postmaster/pgarch.c:490
+#: postmaster/pgarch.c:491
 #, c-format
 msgid "archive_mode enabled, yet archive_command is not set"
 msgstr "archive_mode activado, pero archive_command no está definido"
 
-#: postmaster/pgarch.c:505
+#: postmaster/pgarch.c:506
 #, c-format
-msgid "transaction log file \"%s\" could not be archived: too many failures"
-msgstr "el archivo de transacción «%s» no pudo ser archivado: demasiadas fallas"
+msgid "archiving transaction log file \"%s\" failed too many times, will try again later"
+msgstr "el archivado del archivo de transacción «%s» falló demasiadas veces, se reintentará nuevamente más tarde"
 
-#: postmaster/pgarch.c:608
+#: postmaster/pgarch.c:609
 #, c-format
 msgid "archive command failed with exit code %d"
 msgstr "la orden de archivado falló con código de retorno %d"
 
-#: postmaster/pgarch.c:610 postmaster/pgarch.c:620 postmaster/pgarch.c:627
-#: postmaster/pgarch.c:633 postmaster/pgarch.c:642
+#: postmaster/pgarch.c:611 postmaster/pgarch.c:621 postmaster/pgarch.c:628
+#: postmaster/pgarch.c:634 postmaster/pgarch.c:643
 #, c-format
 msgid "The failed archive command was: %s"
 msgstr "La orden fallida era: «%s»"
 
-#: postmaster/pgarch.c:617
+#: postmaster/pgarch.c:618
 #, c-format
 msgid "archive command was terminated by exception 0x%X"
 msgstr "la orden de archivado fue terminada por una excepción 0x%X"
 
-#: postmaster/pgarch.c:619 postmaster/postmaster.c:2883
+#: postmaster/pgarch.c:620 postmaster/postmaster.c:3233
 #, c-format
 msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
 msgstr "Vea el archivo «ntstatus.h» para una descripción del valor hexadecimal."
 
-#: postmaster/pgarch.c:624
+#: postmaster/pgarch.c:625
 #, c-format
 msgid "archive command was terminated by signal %d: %s"
 msgstr "la orden de archivado fue terminada por una señal %d: %s"
 
-#: postmaster/pgarch.c:631
+#: postmaster/pgarch.c:632
 #, c-format
 msgid "archive command was terminated by signal %d"
 msgstr "la orden de archivado fue terminada por una señal %d"
 
-#: postmaster/pgarch.c:640
+#: postmaster/pgarch.c:641
 #, c-format
 msgid "archive command exited with unrecognized status %d"
 msgstr "la orden de archivado fue terminada con código no reconocido %d"
 
-#: postmaster/pgarch.c:652
+#: postmaster/pgarch.c:653
 #, c-format
 msgid "archived transaction log file \"%s\""
 msgstr "el archivo de registro «%s» ha sido archivado"
 
-#: postmaster/pgarch.c:701
+#: postmaster/pgarch.c:702
 #, c-format
 msgid "could not open archive status directory \"%s\": %m"
 msgstr "no se pudo abrir el directorio de estado de archivado «%s»: %m"
 
-#: postmaster/pgstat.c:333
+#: postmaster/pgstat.c:346
 #, c-format
 msgid "could not resolve \"localhost\": %s"
 msgstr "no se pudo resolver «localhost»: %s"
 
-#: postmaster/pgstat.c:356
+#: postmaster/pgstat.c:369
 #, c-format
 msgid "trying another address for the statistics collector"
 msgstr "intentando otra dirección para el recolector de estadísticas"
 
-#: postmaster/pgstat.c:365
+#: postmaster/pgstat.c:378
 #, c-format
 msgid "could not create socket for statistics collector: %m"
 msgstr "no se pudo crear el socket para el recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:377
+#: postmaster/pgstat.c:390
 #, c-format
 msgid "could not bind socket for statistics collector: %m"
 msgstr "no se pudo enlazar (bind) el socket para el recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:388
+#: postmaster/pgstat.c:401
 #, c-format
 msgid "could not get address of socket for statistics collector: %m"
 msgstr "no se pudo obtener la dirección del socket de estadísticas: %m"
 
-#: postmaster/pgstat.c:404
+#: postmaster/pgstat.c:417
 #, c-format
 msgid "could not connect socket for statistics collector: %m"
 msgstr "no se pudo conectar el socket para el recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:425
+#: postmaster/pgstat.c:438
 #, c-format
 msgid "could not send test message on socket for statistics collector: %m"
 msgstr "no se pudo enviar el mensaje de prueba al recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:451
+#: postmaster/pgstat.c:464
 #, c-format
 msgid "select() failed in statistics collector: %m"
 msgstr "select() falló en el recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:466
+#: postmaster/pgstat.c:479
 #, c-format
 msgid "test message did not get through on socket for statistics collector"
 msgstr "el mensaje de prueba al recolector de estadísticas no ha sido recibido en el socket"
 
-#: postmaster/pgstat.c:481
+#: postmaster/pgstat.c:494
 #, c-format
 msgid "could not receive test message on socket for statistics collector: %m"
 msgstr "no se pudo recibir el mensaje de prueba en el socket del recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:491
+#: postmaster/pgstat.c:504
 #, c-format
 msgid "incorrect test message transmission on socket for statistics collector"
 msgstr "transmisión del mensaje de prueba incorrecta en el socket del recolector de estadísticas"
 
-#: postmaster/pgstat.c:514
+#: postmaster/pgstat.c:527
 #, c-format
 msgid "could not set statistics collector socket to nonblocking mode: %m"
 msgstr "no se pudo poner el socket de estadísticas en modo no bloqueante: %m"
 
-#: postmaster/pgstat.c:524
+#: postmaster/pgstat.c:537
 #, c-format
 msgid "disabling statistics collector for lack of working socket"
 msgstr "desactivando el recolector de estadísticas por falla del socket"
 
-#: postmaster/pgstat.c:626
+#: postmaster/pgstat.c:684
 #, c-format
 msgid "could not fork statistics collector: %m"
 msgstr "no se pudo crear el proceso para el recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:1162 postmaster/pgstat.c:1186 postmaster/pgstat.c:1217
+#: postmaster/pgstat.c:1220 postmaster/pgstat.c:1244 postmaster/pgstat.c:1275
 #, c-format
 msgid "must be superuser to reset statistics counters"
 msgstr "debe ser superusuario para reinicializar los contadores de estadísticas"
 
-#: postmaster/pgstat.c:1193
+#: postmaster/pgstat.c:1251
 #, c-format
 msgid "unrecognized reset target: \"%s\""
 msgstr "destino de reset no reconocido: «%s»"
 
-#: postmaster/pgstat.c:1194
+#: postmaster/pgstat.c:1252
 #, c-format
 msgid "Target must be \"bgwriter\"."
 msgstr "El destino debe ser «bgwriter»."
 
-#: postmaster/pgstat.c:3139
+#: postmaster/pgstat.c:3197
 #, c-format
 msgid "could not read statistics message: %m"
 msgstr "no se pudo leer un mensaje de estadísticas: %m"
 
-#: postmaster/pgstat.c:3456
+#: postmaster/pgstat.c:3526 postmaster/pgstat.c:3697
 #, c-format
 msgid "could not open temporary statistics file \"%s\": %m"
 msgstr "no se pudo abrir el archivo temporal de estadísticas «%s»: %m"
 
-#: postmaster/pgstat.c:3533
+#: postmaster/pgstat.c:3588 postmaster/pgstat.c:3742
 #, c-format
 msgid "could not write temporary statistics file \"%s\": %m"
 msgstr "no se pudo escribir el archivo temporal de estadísticas «%s»: %m"
 
-#: postmaster/pgstat.c:3542
+#: postmaster/pgstat.c:3597 postmaster/pgstat.c:3751
 #, c-format
 msgid "could not close temporary statistics file \"%s\": %m"
 msgstr "no se pudo cerrar el archivo temporal de estadísticas «%s»: %m"
 
-#: postmaster/pgstat.c:3550
+#: postmaster/pgstat.c:3605 postmaster/pgstat.c:3759
 #, c-format
 msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
 msgstr "no se pudo cambiar el nombre al archivo temporal de estadísticas de «%s» a «%s»: %m"
 
-#: postmaster/pgstat.c:3656 postmaster/pgstat.c:3885
+#: postmaster/pgstat.c:3840 postmaster/pgstat.c:4015 postmaster/pgstat.c:4169
 #, c-format
 msgid "could not open statistics file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de estadísticas «%s»: %m"
 
-#: postmaster/pgstat.c:3668 postmaster/pgstat.c:3678 postmaster/pgstat.c:3700
-#: postmaster/pgstat.c:3715 postmaster/pgstat.c:3778 postmaster/pgstat.c:3796
-#: postmaster/pgstat.c:3812 postmaster/pgstat.c:3830 postmaster/pgstat.c:3846
-#: postmaster/pgstat.c:3897 postmaster/pgstat.c:3908
+#: postmaster/pgstat.c:3852 postmaster/pgstat.c:3862 postmaster/pgstat.c:3883
+#: postmaster/pgstat.c:3898 postmaster/pgstat.c:3956 postmaster/pgstat.c:4027
+#: postmaster/pgstat.c:4047 postmaster/pgstat.c:4065 postmaster/pgstat.c:4081
+#: postmaster/pgstat.c:4099 postmaster/pgstat.c:4115 postmaster/pgstat.c:4181
+#: postmaster/pgstat.c:4193 postmaster/pgstat.c:4218 postmaster/pgstat.c:4240
 #, c-format
 msgid "corrupted statistics file \"%s\""
 msgstr "el archivo de estadísticas «%s» está corrupto"
 
-#: postmaster/pgstat.c:4210
+#: postmaster/pgstat.c:4667
 #, c-format
 msgid "database hash table corrupted during cleanup --- abort"
 msgstr "el hash de bases de datos se corrompió durante la finalización; abortando"
 
-#: postmaster/postmaster.c:592
+#: postmaster/postmaster.c:655
 #, c-format
 msgid "%s: invalid argument for option -f: \"%s\"\n"
 msgstr "%s: argumento no válido para la opción -f: «%s»\n"
 
-#: postmaster/postmaster.c:678
+#: postmaster/postmaster.c:741
 #, c-format
 msgid "%s: invalid argument for option -t: \"%s\"\n"
 msgstr "%s: argumento no válido para la opción -t: «%s»\n"
 
-#: postmaster/postmaster.c:729
+#: postmaster/postmaster.c:792
 #, c-format
 msgid "%s: invalid argument: \"%s\"\n"
 msgstr "%s: argumento no válido: «%s»\n"
 
-#: postmaster/postmaster.c:764
+#: postmaster/postmaster.c:827
 #, c-format
 msgid "%s: superuser_reserved_connections must be less than max_connections\n"
 msgstr "%s: superuser_reserved_connections debe ser menor que max_connections\n"
 
-#: postmaster/postmaster.c:769
+#: postmaster/postmaster.c:832
 #, c-format
 msgid "%s: max_wal_senders must be less than max_connections\n"
 msgstr "%s: max_wal_senders debe ser menor que max_connections\n"
 
-#: postmaster/postmaster.c:774
+#: postmaster/postmaster.c:837
 #, c-format
 msgid "WAL archival (archive_mode=on) requires wal_level \"archive\" or \"hot_standby\""
 msgstr "el archivado de WAL (archive_mode=on) requiere wal_level «archive» o «hot_standby»"
 
-#: postmaster/postmaster.c:777
+#: postmaster/postmaster.c:840
 #, c-format
 msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"archive\" or \"hot_standby\""
 msgstr "el flujo de WAL (max_wal_senders > 0) requiere wal_level «archive» o «hot_standby»"
 
-#: postmaster/postmaster.c:785
+#: postmaster/postmaster.c:848
 #, c-format
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s: las tablas de palabras clave de fecha no son válidas, arréglelas\n"
 
-#: postmaster/postmaster.c:861
+#: postmaster/postmaster.c:930 postmaster/postmaster.c:1028
+#: utils/init/miscinit.c:1259
 #, c-format
-msgid "invalid list syntax for \"listen_addresses\""
-msgstr "la sintaxis de lista no es válida para el parámetro «listen_addresses»"
+msgid "invalid list syntax in parameter \"%s\""
+msgstr "la sintaxis de lista no es válida para el parámetro «%s»"
 
-#: postmaster/postmaster.c:891
+#: postmaster/postmaster.c:961
 #, c-format
 msgid "could not create listen socket for \"%s\""
 msgstr "no se pudo crear el socket de escucha para «%s»"
 
-#: postmaster/postmaster.c:897
+#: postmaster/postmaster.c:967
 #, c-format
 msgid "could not create any TCP/IP sockets"
 msgstr "no se pudo crear ningún socket TCP/IP"
 
-#: postmaster/postmaster.c:948
+#: postmaster/postmaster.c:1050
+#, c-format
+msgid "could not create Unix-domain socket in directory \"%s\""
+msgstr "no se pudo crear el socket de dominio Unix en el directorio «%s»"
+
+#: postmaster/postmaster.c:1056
 #, c-format
-msgid "could not create Unix-domain socket"
-msgstr "no se pudo crear el socket de dominio Unix"
+msgid "could not create any Unix-domain sockets"
+msgstr "no se pudo crear ningún socket de dominio Unix"
 
-#: postmaster/postmaster.c:956
+#: postmaster/postmaster.c:1068
 #, c-format
 msgid "no socket created for listening"
 msgstr "no se creó el socket de atención"
 
-#: postmaster/postmaster.c:1001
+#: postmaster/postmaster.c:1108
 #, c-format
 msgid "could not create I/O completion port for child queue"
 msgstr "no se pudo crear el port E/S de reporte de completitud para la cola de procesos hijos"
 
-#: postmaster/postmaster.c:1031
+#: postmaster/postmaster.c:1137
 #, c-format
 msgid "%s: could not change permissions of external PID file \"%s\": %s\n"
 msgstr "%s: no se pudo cambiar los permisos del archivo de PID externo «%s»: %s\n"
 
-#: postmaster/postmaster.c:1035
+#: postmaster/postmaster.c:1141
 #, c-format
 msgid "%s: could not write external PID file \"%s\": %s\n"
 msgstr "%s: no pudo escribir en el archivo externo de PID «%s»: %s\n"
 
-#: postmaster/postmaster.c:1103 utils/init/postinit.c:197
+#: postmaster/postmaster.c:1195
+#, c-format
+msgid "ending log output to stderr"
+msgstr "terminando la salida de registro a stderr"
+
+#: postmaster/postmaster.c:1196
+#, c-format
+msgid "Future log output will go to log destination \"%s\"."
+msgstr "La salida futura del registro será enviada al destino de log «%s»."
+
+#: postmaster/postmaster.c:1222 utils/init/postinit.c:199
 #, c-format
 msgid "could not load pg_hba.conf"
 msgstr "no se pudo cargar pg_hba.conf"
 
-#: postmaster/postmaster.c:1156
+#: postmaster/postmaster.c:1298
 #, c-format
 msgid "%s: could not locate matching postgres executable"
 msgstr "%s: no se pudo localizar el ejecutable postgres correspondiente"
 
-#: postmaster/postmaster.c:1179 utils/misc/tzparser.c:325
+#: postmaster/postmaster.c:1321 utils/misc/tzparser.c:325
 #, c-format
 msgid "This may indicate an incomplete PostgreSQL installation, or that the file \"%s\" has been moved away from its proper location."
 msgstr "Esto puede indicar una instalación de PostgreSQL incompleta, o que el archivo «%s» ha sido movido de la ubicación adecuada."
 
-#: postmaster/postmaster.c:1207
+#: postmaster/postmaster.c:1349
 #, c-format
 msgid "data directory \"%s\" does not exist"
 msgstr "no existe el directorio de datos «%s»"
 
-#: postmaster/postmaster.c:1212
+#: postmaster/postmaster.c:1354
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
 msgstr "no se pudo obtener los permisos del directorio «%s»: %m"
 
-#: postmaster/postmaster.c:1220
+#: postmaster/postmaster.c:1362
 #, c-format
 msgid "specified data directory \"%s\" is not a directory"
 msgstr "el directorio de datos especificado «%s» no es un directorio"
 
-#: postmaster/postmaster.c:1236
+#: postmaster/postmaster.c:1378
 #, c-format
 msgid "data directory \"%s\" has wrong ownership"
 msgstr "el directorio de datos «%s» tiene dueño equivocado"
 
-#: postmaster/postmaster.c:1238
+#: postmaster/postmaster.c:1380
 #, c-format
 msgid "The server must be started by the user that owns the data directory."
 msgstr "El servidor debe ser iniciado por el usuario dueño del directorio de datos."
 
-#: postmaster/postmaster.c:1258
+#: postmaster/postmaster.c:1400
 #, c-format
 msgid "data directory \"%s\" has group or world access"
 msgstr "el directorio de datos «%s» tiene acceso para el grupo u otros"
 
-#: postmaster/postmaster.c:1260
+#: postmaster/postmaster.c:1402
 #, c-format
 msgid "Permissions should be u=rwx (0700)."
 msgstr "Los permisos deberían ser u=rwx (0700)."
 
-#: postmaster/postmaster.c:1271
+#: postmaster/postmaster.c:1413
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -11965,365 +12559,441 @@ msgstr ""
 "Se esperaba encontrar en el directorio PGDATA «%s»,\n"
 "pero no se pudo abrir el archivo «%s»: %s\n"
 
-#: postmaster/postmaster.c:1343
+#: postmaster/postmaster.c:1565
 #, c-format
 msgid "select() failed in postmaster: %m"
 msgstr "select() falló en postmaster: %m"
 
-#: postmaster/postmaster.c:1510 postmaster/postmaster.c:1541
+#: postmaster/postmaster.c:1735 postmaster/postmaster.c:1766
 #, c-format
 msgid "incomplete startup packet"
 msgstr "el paquete de inicio está incompleto"
 
-#: postmaster/postmaster.c:1522
+#: postmaster/postmaster.c:1747
 #, c-format
 msgid "invalid length of startup packet"
 msgstr "el de paquete de inicio tiene largo incorrecto"
 
-#: postmaster/postmaster.c:1579
+#: postmaster/postmaster.c:1804
 #, c-format
 msgid "failed to send SSL negotiation response: %m"
 msgstr "no se pudo enviar la respuesta de negociación SSL: %m"
 
-#: postmaster/postmaster.c:1608
+#: postmaster/postmaster.c:1833
 #, c-format
 msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
 msgstr "el protocolo %u.%u no está soportado: servidor soporta %u.0 hasta %u.%u"
 
-#: postmaster/postmaster.c:1659
+#: postmaster/postmaster.c:1884
 #, c-format
 msgid "invalid value for boolean option \"replication\""
 msgstr "valor no válido para la opción booleana «replication»"
 
-#: postmaster/postmaster.c:1679
+#: postmaster/postmaster.c:1904
 #, c-format
 msgid "invalid startup packet layout: expected terminator as last byte"
 msgstr "el paquete de inicio no es válido: se esperaba un terminador en el último byte"
 
-#: postmaster/postmaster.c:1707
+#: postmaster/postmaster.c:1932
 #, c-format
 msgid "no PostgreSQL user name specified in startup packet"
 msgstr "no se especifica un nombre de usuario en el paquete de inicio"
 
-#: postmaster/postmaster.c:1764
+#: postmaster/postmaster.c:1989
 #, c-format
 msgid "the database system is starting up"
 msgstr "el sistema de base de datos está iniciándose"
 
-#: postmaster/postmaster.c:1769
+#: postmaster/postmaster.c:1994
 #, c-format
 msgid "the database system is shutting down"
 msgstr "el sistema de base de datos está apagándose"
 
-#: postmaster/postmaster.c:1774
+#: postmaster/postmaster.c:1999
 #, c-format
 msgid "the database system is in recovery mode"
 msgstr "el sistema de base de datos está en modo de recuperación"
 
-#: postmaster/postmaster.c:1779 storage/ipc/procarray.c:277
-#: storage/ipc/sinvaladt.c:304 storage/lmgr/proc.c:336
+#: postmaster/postmaster.c:2004 storage/ipc/procarray.c:278
+#: storage/ipc/sinvaladt.c:304 storage/lmgr/proc.c:339
 #, c-format
 msgid "sorry, too many clients already"
 msgstr "lo siento, ya tenemos demasiados clientes"
 
-#: postmaster/postmaster.c:1841
+#: postmaster/postmaster.c:2066
 #, c-format
 msgid "wrong key in cancel request for process %d"
 msgstr "llave incorrecta en la petición de cancelación para el proceso %d"
 
-#: postmaster/postmaster.c:1849
+#: postmaster/postmaster.c:2074
 #, c-format
 msgid "PID %d in cancel request did not match any process"
 msgstr "el PID %d en la petición de cancelación no coincidió con ningún proceso"
 
-#: postmaster/postmaster.c:2069
+#: postmaster/postmaster.c:2294
 #, c-format
 msgid "received SIGHUP, reloading configuration files"
 msgstr "se recibió SIGHUP, releyendo el archivo de configuración"
 
-#: postmaster/postmaster.c:2094
+#: postmaster/postmaster.c:2320
 #, c-format
 msgid "pg_hba.conf not reloaded"
 msgstr "pg_hba.conf no ha sido recargado"
 
-#: postmaster/postmaster.c:2137
+#: postmaster/postmaster.c:2324
+#, c-format
+msgid "pg_ident.conf not reloaded"
+msgstr "pg_ident.conf no ha sido recargado"
+
+#: postmaster/postmaster.c:2365
 #, c-format
 msgid "received smart shutdown request"
 msgstr "se recibió petición de apagado inteligente"
 
-#: postmaster/postmaster.c:2187
+#: postmaster/postmaster.c:2418
 #, c-format
 msgid "received fast shutdown request"
 msgstr "se recibió petición de apagado rápido"
 
-#: postmaster/postmaster.c:2211
+#: postmaster/postmaster.c:2444
 #, c-format
 msgid "aborting any active transactions"
 msgstr "abortando transacciones activas"
 
-#: postmaster/postmaster.c:2240
+#: postmaster/postmaster.c:2474
 #, c-format
 msgid "received immediate shutdown request"
 msgstr "se recibió petición de apagado inmediato"
 
-#: postmaster/postmaster.c:2330 postmaster/postmaster.c:2351
+#: postmaster/postmaster.c:2545 postmaster/postmaster.c:2566
 msgid "startup process"
 msgstr "proceso de inicio"
 
-#: postmaster/postmaster.c:2333
+#: postmaster/postmaster.c:2548
 #, c-format
 msgid "aborting startup due to startup process failure"
 msgstr "abortando el inicio debido a una falla en el procesamiento de inicio"
 
-#: postmaster/postmaster.c:2378
-#, c-format
-msgid "terminating all walsender processes to force cascaded standby(s) to update timeline and reconnect"
-msgstr "terminando todos los procesos walsender para forzar que los standby en cascada actualicen el «timeline» y se reconecten"
-
-#: postmaster/postmaster.c:2408
+#: postmaster/postmaster.c:2605
 #, c-format
 msgid "database system is ready to accept connections"
 msgstr "el sistema de bases de datos está listo para aceptar conexiones"
 
-#: postmaster/postmaster.c:2423
+#: postmaster/postmaster.c:2620
 msgid "background writer process"
 msgstr "proceso background writer"
 
-#: postmaster/postmaster.c:2477
+#: postmaster/postmaster.c:2674
 msgid "checkpointer process"
 msgstr "proceso checkpointer"
 
-#: postmaster/postmaster.c:2493
+#: postmaster/postmaster.c:2690
 msgid "WAL writer process"
 msgstr "proceso escritor de WAL"
 
-#: postmaster/postmaster.c:2507
+#: postmaster/postmaster.c:2704
 msgid "WAL receiver process"
 msgstr "proceso receptor de WAL"
 
-#: postmaster/postmaster.c:2522
+#: postmaster/postmaster.c:2719
 msgid "autovacuum launcher process"
 msgstr "proceso lanzador de autovacuum"
 
-#: postmaster/postmaster.c:2537
+#: postmaster/postmaster.c:2734
 msgid "archiver process"
 msgstr "proceso de archivado"
 
-#: postmaster/postmaster.c:2553
+#: postmaster/postmaster.c:2750
 msgid "statistics collector process"
 msgstr "recolector de estadísticas"
 
-#: postmaster/postmaster.c:2567
+#: postmaster/postmaster.c:2764
 msgid "system logger process"
 msgstr "proceso de log"
 
-#: postmaster/postmaster.c:2602 postmaster/postmaster.c:2621
-#: postmaster/postmaster.c:2628 postmaster/postmaster.c:2646
+#: postmaster/postmaster.c:2826
+msgid "worker process"
+msgstr "proceso «background worker»"
+
+#: postmaster/postmaster.c:2896 postmaster/postmaster.c:2915
+#: postmaster/postmaster.c:2922 postmaster/postmaster.c:2940
 msgid "server process"
 msgstr "proceso de servidor"
 
-#: postmaster/postmaster.c:2682
+#: postmaster/postmaster.c:2976
 #, c-format
 msgid "terminating any other active server processes"
 msgstr "terminando todos los otros procesos de servidor activos"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:2871
+#: postmaster/postmaster.c:3221
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) terminó con código de salida %d"
 
-#: postmaster/postmaster.c:2873 postmaster/postmaster.c:2884
-#: postmaster/postmaster.c:2895 postmaster/postmaster.c:2904
-#: postmaster/postmaster.c:2914
+#: postmaster/postmaster.c:3223 postmaster/postmaster.c:3234
+#: postmaster/postmaster.c:3245 postmaster/postmaster.c:3254
+#: postmaster/postmaster.c:3264
 #, c-format
 msgid "Failed process was running: %s"
 msgstr "El proceso que falló estaba ejecutando: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:2881
+#: postmaster/postmaster.c:3231
 #, c-format
 msgid "%s (PID %d) was terminated by exception 0x%X"
 msgstr "%s (PID %d) fue terminado por una excepción 0x%X"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:2891
+#: postmaster/postmaster.c:3241
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d: %s"
 msgstr "%s (PID %d) fue terminado por una señal %d: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:2902
+#: postmaster/postmaster.c:3252
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d"
 msgstr "%s (PID %d) fue terminado por una señal %d"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:2912
+#: postmaster/postmaster.c:3262
 #, c-format
 msgid "%s (PID %d) exited with unrecognized status %d"
 msgstr "%s (PID %d) terminó con código no reconocido %d"
 
-#: postmaster/postmaster.c:3096
+#: postmaster/postmaster.c:3447
 #, c-format
 msgid "abnormal database system shutdown"
 msgstr "apagado anormal del sistema de bases de datos"
 
-#: postmaster/postmaster.c:3135
+#: postmaster/postmaster.c:3486
 #, c-format
 msgid "all server processes terminated; reinitializing"
 msgstr "todos los procesos fueron terminados; reinicializando"
 
-#: postmaster/postmaster.c:3318
+#: postmaster/postmaster.c:3702
 #, c-format
 msgid "could not fork new process for connection: %m"
 msgstr "no se pudo lanzar el nuevo proceso para la conexión: %m"
 
-#: postmaster/postmaster.c:3360
+#: postmaster/postmaster.c:3744
 msgid "could not fork new process for connection: "
 msgstr "no se pudo lanzar el nuevo proceso para la conexión: "
 
-#: postmaster/postmaster.c:3474
+#: postmaster/postmaster.c:3851
 #, c-format
 msgid "connection received: host=%s port=%s"
 msgstr "conexión recibida: host=%s port=%s"
 
-#: postmaster/postmaster.c:3479
+#: postmaster/postmaster.c:3856
 #, c-format
 msgid "connection received: host=%s"
 msgstr "conexión recibida: host=%s"
 
-#: postmaster/postmaster.c:3748
+#: postmaster/postmaster.c:4131
 #, c-format
 msgid "could not execute server process \"%s\": %m"
 msgstr "no se pudo lanzar el proceso servidor «%s»: %m"
 
-#: postmaster/postmaster.c:4272
+#: postmaster/postmaster.c:4670
 #, c-format
 msgid "database system is ready to accept read only connections"
 msgstr "el sistema de bases de datos está listo para aceptar conexiones de sólo lectura"
 
-#: postmaster/postmaster.c:4542
+#: postmaster/postmaster.c:4981
 #, c-format
 msgid "could not fork startup process: %m"
 msgstr "no se pudo lanzar el proceso de inicio: %m"
 
-#: postmaster/postmaster.c:4546
+#: postmaster/postmaster.c:4985
 #, c-format
 msgid "could not fork background writer process: %m"
 msgstr "no se pudo lanzar el background writer: %m"
 
-#: postmaster/postmaster.c:4550
+#: postmaster/postmaster.c:4989
 #, c-format
 msgid "could not fork checkpointer process: %m"
 msgstr "no se pudo lanzar el checkpointer: %m"
 
-#: postmaster/postmaster.c:4554
+#: postmaster/postmaster.c:4993
 #, c-format
 msgid "could not fork WAL writer process: %m"
 msgstr "no se pudo lanzar el proceso escritor de WAL: %m"
 
-#: postmaster/postmaster.c:4558
+#: postmaster/postmaster.c:4997
 #, c-format
 msgid "could not fork WAL receiver process: %m"
 msgstr "no se pudo lanzar el proceso receptor de WAL: %m"
 
-#: postmaster/postmaster.c:4562
+#: postmaster/postmaster.c:5001
 #, c-format
 msgid "could not fork process: %m"
 msgstr "no se pudo lanzar el proceso: %m"
 
-#: postmaster/postmaster.c:4851
+#: postmaster/postmaster.c:5180
+#, c-format
+msgid "registering background worker \"%s\""
+msgstr "registrando el «background worker» «%s»"
+
+#: postmaster/postmaster.c:5187
+#, c-format
+msgid "background worker \"%s\": must be registered in shared_preload_libraries"
+msgstr "«background worker» «%s»: debe ser registrado en shared_preload_libraries"
+
+#: postmaster/postmaster.c:5200
+#, c-format
+msgid "background worker \"%s\": must attach to shared memory in order to be able to request a database connection"
+msgstr "«background worker» «%s»: debe acoplarse a memoria compartida para poder solicitar una conexión a base de datos"
+
+#: postmaster/postmaster.c:5210
+#, c-format
+msgid "background worker \"%s\": cannot request database access if starting at postmaster start"
+msgstr "«background worker» «%s»: no se puede solicitar una conexión a base de datos si está iniciando en el momento de inicio de postmaster"
+
+#: postmaster/postmaster.c:5225
+#, c-format
+msgid "background worker \"%s\": invalid restart interval"
+msgstr "«background worker» «%s»: intervalo de reinicio no válido"
+
+#: postmaster/postmaster.c:5241
+#, c-format
+msgid "too many background workers"
+msgstr "demasiados «background workers»"
+
+#: postmaster/postmaster.c:5242
+#, c-format
+msgid "Up to %d background worker can be registered with the current settings."
+msgid_plural "Up to %d background workers can be registered with the current settings."
+msgstr[0] "Hasta %d «background worker» puede registrarse con la configuración actual."
+msgstr[1] "Hasta %d «background workers» pueden registrarse con la configuración actual."
+
+#: postmaster/postmaster.c:5285
+#, c-format
+msgid "database connection requirement not indicated during registration"
+msgstr "el requerimiento de conexión a base de datos no fue indicado durante el registro"
+
+#: postmaster/postmaster.c:5292
+#, c-format
+msgid "invalid processing mode in background worker"
+msgstr "modo de procesamiento no válido en «background worker»"
+
+#: postmaster/postmaster.c:5366
+#, c-format
+msgid "terminating background worker \"%s\" due to administrator command"
+msgstr "terminando el «background worker» «%s» debido a una orden del administrador"
+
+#: postmaster/postmaster.c:5583
+#, c-format
+msgid "starting background worker process \"%s\""
+msgstr "iniciando el proceso «background worker» «%s»"
+
+#: postmaster/postmaster.c:5594
+#, c-format
+msgid "could not fork worker process: %m"
+msgstr "no se pudo lanzar el proceso «background worker»: %m"
+
+#: postmaster/postmaster.c:5946
 #, c-format
 msgid "could not duplicate socket %d for use in backend: error code %d"
 msgstr "no se pudo duplicar el socket %d para su empleo en el backend: código de error %d"
 
-#: postmaster/postmaster.c:4883
+#: postmaster/postmaster.c:5978
 #, c-format
 msgid "could not create inherited socket: error code %d\n"
 msgstr "no se pudo crear el socket heradado: código de error %d\n"
 
-#: postmaster/postmaster.c:4912 postmaster/postmaster.c:4919
+#: postmaster/postmaster.c:6007 postmaster/postmaster.c:6014
 #, c-format
 msgid "could not read from backend variables file \"%s\": %s\n"
 msgstr "no se pudo leer el archivo de variables de servidor «%s»: %s\n"
 
-#: postmaster/postmaster.c:4928
+#: postmaster/postmaster.c:6023
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "no se pudo eliminar el archivo «%s»: %s\n"
 
-#: postmaster/postmaster.c:4945
+#: postmaster/postmaster.c:6040
 #, c-format
 msgid "could not map view of backend variables: error code %lu\n"
 msgstr "no se pudo mapear la vista del archivo de variables: código de error %lu\n"
 
-#: postmaster/postmaster.c:4954
+#: postmaster/postmaster.c:6049
 #, c-format
 msgid "could not unmap view of backend variables: error code %lu\n"
 msgstr "no se pudo desmapear la vista del archivo de variables: código de error %lu\n"
 
-#: postmaster/postmaster.c:4961
+#: postmaster/postmaster.c:6056
 #, c-format
 msgid "could not close handle to backend parameter variables: error code %lu\n"
 msgstr "no se pudo cerrar el archivo de variables de servidor: código de error %lu\n"
 
-#: postmaster/postmaster.c:5111
+#: postmaster/postmaster.c:6212
 #, c-format
 msgid "could not read exit code for process\n"
 msgstr "no se pudo leer el código de salida del proceso\n"
 
-#: postmaster/postmaster.c:5116
+#: postmaster/postmaster.c:6217
 #, c-format
 msgid "could not post child completion status\n"
 msgstr "no se pudo publicar el estado de completitud del proceso hijo\n"
 
-#: postmaster/syslogger.c:467 postmaster/syslogger.c:1054
+#: postmaster/syslogger.c:468 postmaster/syslogger.c:1067
 #, c-format
 msgid "could not read from logger pipe: %m"
 msgstr "no se pudo leer desde la tubería de log: %m"
 
-#: postmaster/syslogger.c:516
+#: postmaster/syslogger.c:517
 #, c-format
 msgid "logger shutting down"
 msgstr "apagando proceso de log"
 
-#: postmaster/syslogger.c:560 postmaster/syslogger.c:574
+#: postmaster/syslogger.c:561 postmaster/syslogger.c:575
 #, c-format
 msgid "could not create pipe for syslog: %m"
 msgstr "no se pudo crear la tubería para syslog: %m"
 
-#: postmaster/syslogger.c:610
+#: postmaster/syslogger.c:611
 #, c-format
 msgid "could not fork system logger: %m"
 msgstr "no se pudo crear el proceso de log: %m"
 
-#: postmaster/syslogger.c:641
+#: postmaster/syslogger.c:647
+#, c-format
+msgid "redirecting log output to logging collector process"
+msgstr "redirigiendo la salida del registro al proceso recolector de registro"
+
+#: postmaster/syslogger.c:648
+#, c-format
+msgid "Future log output will appear in directory \"%s\"."
+msgstr "La salida futura del registro aparecerá en el directorio «%s»."
+
+#: postmaster/syslogger.c:656
 #, c-format
 msgid "could not redirect stdout: %m"
 msgstr "no se pudo redirigir stdout: %m"
 
-#: postmaster/syslogger.c:646 postmaster/syslogger.c:664
+#: postmaster/syslogger.c:661 postmaster/syslogger.c:677
 #, c-format
 msgid "could not redirect stderr: %m"
 msgstr "no se pudo redirigir stderr: %m"
 
-#: postmaster/syslogger.c:1009
+#: postmaster/syslogger.c:1022
 #, c-format
 msgid "could not write to log file: %s\n"
 msgstr "no se pudo escribir al archivo de log: %s\n"
 
-#: postmaster/syslogger.c:1149
+#: postmaster/syslogger.c:1162
 #, c-format
 msgid "could not open log file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de registro «%s»: %m"
 
-#: postmaster/syslogger.c:1211 postmaster/syslogger.c:1255
+#: postmaster/syslogger.c:1224 postmaster/syslogger.c:1268
 #, c-format
 msgid "disabling automatic rotation (use SIGHUP to re-enable)"
 msgstr "desactivando rotación automática (use SIGHUP para reactivarla)"
@@ -12333,592 +13003,874 @@ msgstr "desactivando rotación automática (use SIGHUP para reactivarla)"
 msgid "could not determine which collation to use for regular expression"
 msgstr "no se pudo determinar qué ordenamiento usar para la expresión regular"
 
-#: replication/basebackup.c:124 replication/basebackup.c:831
-#: utils/adt/misc.c:358
+#: repl_gram.y:183 repl_gram.y:200
+#, c-format
+msgid "invalid timeline %u"
+msgstr "timeline %u no válido"
+
+#: repl_scanner.l:94
+msgid "invalid streaming start location"
+msgstr "posición de inicio de flujo de WAL no válida"
+
+#: repl_scanner.l:116 scan.l:657
+msgid "unterminated quoted string"
+msgstr "una cadena de caracteres entre comillas está inconclusa"
+
+#: repl_scanner.l:126
+#, c-format
+msgid "syntax error: unexpected character \"%s\""
+msgstr "error de sintaxis: carácter «%s» inesperado"
+
+#: replication/basebackup.c:135 replication/basebackup.c:901
+#: utils/adt/misc.c:360
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "no se pudo leer el enlace simbólico «%s»: %m"
 
-#: replication/basebackup.c:131 replication/basebackup.c:835
-#: utils/adt/misc.c:362
+#: replication/basebackup.c:142 replication/basebackup.c:905
+#: utils/adt/misc.c:364
 #, c-format
 msgid "symbolic link \"%s\" target is too long"
 msgstr "la ruta «%s» del enlace simbólico es demasiado larga"
 
-#: replication/basebackup.c:192
+#: replication/basebackup.c:200
 #, c-format
 msgid "could not stat control file \"%s\": %m"
 msgstr "no se pudo hacer stat del archivo de control «%s»: %m"
 
-#: replication/basebackup.c:311 replication/basebackup.c:328
-#: replication/basebackup.c:336
+#: replication/basebackup.c:312
+#, c-format
+msgid "could not find any WAL files"
+msgstr "no se pudo encontrar ningún archivo de WAL"
+
+#: replication/basebackup.c:325 replication/basebackup.c:339
+#: replication/basebackup.c:348
 #, c-format
-msgid "could not find WAL file %s"
+msgid "could not find WAL file \"%s\""
 msgstr "no se pudo encontrar archivo de WAL «%s»"
 
-#: replication/basebackup.c:375 replication/basebackup.c:398
+#: replication/basebackup.c:387 replication/basebackup.c:410
 #, c-format
 msgid "unexpected WAL file size \"%s\""
 msgstr "tamaño del archivo WAL «%s» inesperado"
 
-#: replication/basebackup.c:386 replication/basebackup.c:985
+#: replication/basebackup.c:398 replication/basebackup.c:1019
 #, c-format
 msgid "base backup could not send data, aborting backup"
 msgstr "el respaldo base no pudo enviar datos, abortando el respaldo"
 
-#: replication/basebackup.c:469 replication/basebackup.c:478
-#: replication/basebackup.c:487 replication/basebackup.c:496
-#: replication/basebackup.c:505
+#: replication/basebackup.c:482 replication/basebackup.c:491
+#: replication/basebackup.c:500 replication/basebackup.c:509
+#: replication/basebackup.c:518
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "nombre de opción «%s» duplicada"
 
-#: replication/basebackup.c:767
-#, c-format
-msgid "shutdown requested, aborting active base backup"
-msgstr "apagado solicitado, abortando el respaldo base activo"
-
-#: replication/basebackup.c:785
+#: replication/basebackup.c:771 replication/basebackup.c:855
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo o directorio «%s»: %m"
 
-#: replication/basebackup.c:885
+#: replication/basebackup.c:955
 #, c-format
 msgid "skipping special file \"%s\""
 msgstr "ignorando el archivo especial «%s»"
 
-#: replication/basebackup.c:975
+#: replication/basebackup.c:1009
 #, c-format
 msgid "archive member \"%s\" too large for tar format"
 msgstr "el miembro de archivador «%s» es demasiado grande para el formato tar"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:101
+#: replication/libpqwalreceiver/libpqwalreceiver.c:105
 #, c-format
 msgid "could not connect to the primary server: %s"
 msgstr "no se pudo hacer la conexión al servidor primario: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:113
+#: replication/libpqwalreceiver/libpqwalreceiver.c:129
 #, c-format
 msgid "could not receive database system identifier and timeline ID from the primary server: %s"
 msgstr "no se pudo recibir el identificador de sistema y el ID de timeline del servidor primario: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:124
+#: replication/libpqwalreceiver/libpqwalreceiver.c:140
+#: replication/libpqwalreceiver/libpqwalreceiver.c:287
 #, c-format
 msgid "invalid response from primary server"
 msgstr "respuesta no válida del servidor primario"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:125
+#: replication/libpqwalreceiver/libpqwalreceiver.c:141
 #, c-format
 msgid "Expected 1 tuple with 3 fields, got %d tuples with %d fields."
 msgstr "Se esperaba 1 tupla con 3 campos, se obtuvieron %d tuplas con %d campos."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:140
+#: replication/libpqwalreceiver/libpqwalreceiver.c:156
 #, c-format
 msgid "database system identifier differs between the primary and standby"
 msgstr "el identificador de sistema difiere entre el primario y el standby"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:141
+#: replication/libpqwalreceiver/libpqwalreceiver.c:157
 #, c-format
 msgid "The primary's identifier is %s, the standby's identifier is %s."
 msgstr "El identificador del primario es %s, el identificador del standby es %s."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:153
-#, c-format
-msgid "timeline %u of the primary does not match recovery target timeline %u"
-msgstr "el timeline %u del primario no coincide con el timeline destino de recuperación %u"
-
-#: replication/libpqwalreceiver/libpqwalreceiver.c:165
+#: replication/libpqwalreceiver/libpqwalreceiver.c:194
 #, c-format
 msgid "could not start WAL streaming: %s"
 msgstr "no se pudo iniciar el flujo de WAL: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:171
+#: replication/libpqwalreceiver/libpqwalreceiver.c:212
 #, c-format
-msgid "streaming replication successfully connected to primary"
-msgstr "la replicación en flujo se ha conectado exitosamente al primario"
+msgid "could not send end-of-streaming message to primary: %s"
+msgstr "no se pudo enviar el mensaje fin-de-flujo al primario: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:193
+#: replication/libpqwalreceiver/libpqwalreceiver.c:234
+#, c-format
+msgid "unexpected result set after end-of-streaming"
+msgstr "conjunto de resultados inesperado después del fin-de-flujo"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:246
+#, c-format
+msgid "error reading result of streaming command: %s"
+msgstr "ocurrió un error mientras se leía la orden de flujo: %s"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:253
+#, c-format
+msgid "unexpected result after CommandComplete: %s"
+msgstr "resultado inesperado después de CommandComplete: %s"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:276
+#, c-format
+msgid "could not receive timeline history file from the primary server: %s"
+msgstr "no se pudo recibir el archivo de historia de timeline del servidor primario: %s"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:288
+#, c-format
+msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields."
+msgstr "Se esperaba 1 tupla con 2 campos, se obtuvieron %d tuplas con %d campos."
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:316
 #, c-format
 msgid "socket not open"
 msgstr "el socket no está abierto"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:367
-#: replication/libpqwalreceiver/libpqwalreceiver.c:388
-#: replication/libpqwalreceiver/libpqwalreceiver.c:393
+#: replication/libpqwalreceiver/libpqwalreceiver.c:489
+#: replication/libpqwalreceiver/libpqwalreceiver.c:512
+#: replication/libpqwalreceiver/libpqwalreceiver.c:518
 #, c-format
 msgid "could not receive data from WAL stream: %s"
 msgstr "no se pudo recibir datos desde el flujo de WAL: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:384
-#, c-format
-msgid "replication terminated by primary server"
-msgstr "replicación terminada por el servidor primario"
-
-#: replication/libpqwalreceiver/libpqwalreceiver.c:415
+#: replication/libpqwalreceiver/libpqwalreceiver.c:537
 #, c-format
 msgid "could not send data to WAL stream: %s"
 msgstr "no se pudo enviar datos al flujo de WAL: %s"
 
-#: replication/syncrep.c:208
+#: replication/syncrep.c:207
 #, 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"
 
-#: replication/syncrep.c:209 replication/syncrep.c:226
+#: replication/syncrep.c:208 replication/syncrep.c:225
 #, 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."
 
-#: replication/syncrep.c:225
+#: replication/syncrep.c:224
 #, 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"
 
-#: replication/syncrep.c:356
+#: replication/syncrep.c:354
 #, c-format
 msgid "standby \"%s\" now has synchronous standby priority %u"
 msgstr "el standby «%s» ahora tiene prioridad sincrónica %u"
 
-#: replication/syncrep.c:462
+#: replication/syncrep.c:456
 #, 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"
 
-#: replication/walreceiver.c:150
+#: replication/walreceiver.c:167
 #, c-format
 msgid "terminating walreceiver process due to administrator command"
 msgstr "terminando el proceso walreceiver debido a una orden del administrador"
 
-#: replication/walreceiver.c:306
+#: replication/walreceiver.c:330
+#, 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"
+
+#: replication/walreceiver.c:364
+#, 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"
+
+#: replication/walreceiver.c:369
+#, 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"
+
+#: replication/walreceiver.c:403
 #, 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"
 
-#: replication/walsender.c:270 replication/walsender.c:521
-#: replication/walsender.c:579
+#: replication/walreceiver.c:440
 #, c-format
-msgid "unexpected EOF on standby connection"
-msgstr "se encontró fin de archivo inesperado en la conexión standby"
+msgid "replication terminated by primary server"
+msgstr "replicación terminada por el servidor primario"
+
+#: replication/walreceiver.c:441
+#, 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."
+
+#: replication/walreceiver.c:488
+#, c-format
+msgid "terminating walreceiver due to timeout"
+msgstr "terminando el proceso walreceiver debido a que se agotó el tiempo de espera"
+
+#: replication/walreceiver.c:528
+#, 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"
+
+#: replication/walreceiver.c:543 replication/walreceiver.c:896
+#, c-format
+msgid "could not close log segment %s: %m"
+msgstr "no se pudo cerrar archivo de segmento %s: %m"
 
-#: replication/walsender.c:276
+#: replication/walreceiver.c:665
 #, c-format
-msgid "invalid standby handshake message type %d"
-msgstr "el tipo %d de mensaje de saludo del standby no es válido"
+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"
 
-#: replication/walsender.c:399 replication/walsender.c:1150
+#: replication/walreceiver.c:947
 #, c-format
-msgid "terminating walsender process to force cascaded standby to update timeline and reconnect"
-msgstr "terminando el proceso walsender para forzar que el standby en cascada actualice el «timeline» y se reconecte"
+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"
+
+#: replication/walsender.c:375 storage/smgr/md.c:1785
+#, c-format
+msgid "could not seek to end of file \"%s\": %m"
+msgstr "no se pudo posicionar (seek) al fin del archivo «%s»: %m"
+
+#: replication/walsender.c:379
+#, c-format
+msgid "could not seek to beginning of file \"%s\": %m"
+msgstr "no se pudo posicionar (seek) al comienzo del archivo «%s»: %m"
+
+#: replication/walsender.c:484
+#, 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"
+
+#: replication/walsender.c:488
+#, 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."
+
+#: replication/walsender.c:533
+#, 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"
+
+#: replication/walsender.c:707 replication/walsender.c:757
+#: replication/walsender.c:806
+#, c-format
+msgid "unexpected EOF on standby connection"
+msgstr "se encontró fin de archivo inesperado en la conexión standby"
 
-#: replication/walsender.c:493
+#: replication/walsender.c:726
 #, c-format
-msgid "invalid standby query string: %s"
-msgstr "la cadena de consulta de standby no es válida: %s"
+msgid "unexpected standby message type \"%c\", after receiving CopyDone"
+msgstr "mensaje de standby de tipo «%c» inesperado, después de recibir CopyDone"
 
-#: replication/walsender.c:550
+#: replication/walsender.c:774
 #, c-format
 msgid "invalid standby message type \"%c\""
 msgstr "el tipo «%c» de mensaje del standby no es válido"
 
-#: replication/walsender.c:601
+#: replication/walsender.c:828
 #, c-format
 msgid "unexpected message type \"%c\""
 msgstr "mensaje de tipo «%c» inesperado"
 
-#: replication/walsender.c:796
+#: replication/walsender.c:1042
 #, c-format
 msgid "standby \"%s\" has now caught up with primary"
 msgstr "el standby «%s» ahora está actualizado respecto del primario"
 
-#: replication/walsender.c:871
+#: replication/walsender.c:1135
 #, 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"
 
-#: replication/walsender.c:938
+#: replication/walsender.c:1205
 #, 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)"
 
-#: replication/walsender.c:1055
+#: replication/walsender.c:1355
 #, c-format
-msgid "could not read from log file %u, segment %u, offset %u, length %lu: %m"
-msgstr "no se pudo leer desde el archivo de registro %u, segmento %u en la posición %u, largo %lu: %m"
+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:107 rewrite/rewriteDefine.c:771
+#: rewrite/rewriteDefine.c:112 rewrite/rewriteDefine.c:915
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" already exists"
 msgstr "ya existe una regla llamada «%s» para la relación «%s»"
 
-#: rewrite/rewriteDefine.c:290
+#: rewrite/rewriteDefine.c:298
 #, c-format
 msgid "rule actions on OLD are not implemented"
 msgstr "las acciones de regla en OLD no están implementadas"
 
-#: rewrite/rewriteDefine.c:291
+#: rewrite/rewriteDefine.c:299
 #, c-format
 msgid "Use views or triggers instead."
 msgstr "Use vistas o triggers en su lugar."
 
-#: rewrite/rewriteDefine.c:295
+#: rewrite/rewriteDefine.c:303
 #, c-format
 msgid "rule actions on NEW are not implemented"
 msgstr "las acciones de regla en NEW no están implementadas"
 
-#: rewrite/rewriteDefine.c:296
+#: rewrite/rewriteDefine.c:304
 #, c-format
 msgid "Use triggers instead."
 msgstr "Use triggers en su lugar."
 
-#: rewrite/rewriteDefine.c:309
+#: rewrite/rewriteDefine.c:317
 #, c-format
 msgid "INSTEAD NOTHING rules on SELECT are not implemented"
 msgstr "las reglas INSTEAD NOTHING en SELECT no están implementadas"
 
-#: rewrite/rewriteDefine.c:310
+#: rewrite/rewriteDefine.c:318
 #, c-format
 msgid "Use views instead."
 msgstr "Use vistas en su lugar."
 
-#: rewrite/rewriteDefine.c:318
+#: rewrite/rewriteDefine.c:326
 #, 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"
 
-#: rewrite/rewriteDefine.c:329
+#: rewrite/rewriteDefine.c:337
 #, c-format
 msgid "rules on SELECT must have action INSTEAD SELECT"
 msgstr "las reglas en SELECT deben tener una acción INSTEAD SELECT"
 
-#: rewrite/rewriteDefine.c:337
+#: rewrite/rewriteDefine.c:345
 #, 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"
 
-#: rewrite/rewriteDefine.c:345
+#: rewrite/rewriteDefine.c:353
 #, 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"
 
-#: rewrite/rewriteDefine.c:370
+#: rewrite/rewriteDefine.c:378
 #, c-format
 msgid "\"%s\" is already a view"
 msgstr "«%s» ya es una vista"
 
-#: rewrite/rewriteDefine.c:394
+#: rewrite/rewriteDefine.c:402
 #, c-format
 msgid "view rule for \"%s\" must be named \"%s\""
 msgstr "la regla de vista para «%s» debe llamarse «%s»"
 
-#: rewrite/rewriteDefine.c:419
+#: rewrite/rewriteDefine.c:428
 #, 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"
 
-#: rewrite/rewriteDefine.c:426
+#: rewrite/rewriteDefine.c:435
 #, 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"
 
-#: rewrite/rewriteDefine.c:428
+#: rewrite/rewriteDefine.c:437
 #, 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."
 
-#: rewrite/rewriteDefine.c:433
+#: rewrite/rewriteDefine.c:442
 #, 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"
 
-#: rewrite/rewriteDefine.c:439
+#: rewrite/rewriteDefine.c:448
 #, 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"
 
-#: rewrite/rewriteDefine.c:466
+#: rewrite/rewriteDefine.c:475
 #, c-format
 msgid "cannot have multiple RETURNING lists in a rule"
 msgstr "no se pueden tener múltiples listas RETURNING en una regla"
 
-#: rewrite/rewriteDefine.c:471
+#: rewrite/rewriteDefine.c:480
 #, c-format
 msgid "RETURNING lists are not supported in conditional rules"
 msgstr "listas de RETURNING no están soportadas en reglas condicionales"
 
-#: rewrite/rewriteDefine.c:475
+#: rewrite/rewriteDefine.c:484
 #, 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"
 
-#: rewrite/rewriteDefine.c:554
+#: rewrite/rewriteDefine.c:644
 #, 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"
 
-#: rewrite/rewriteDefine.c:555
+#: rewrite/rewriteDefine.c:645
 #, c-format
 msgid "RETURNING list has too many entries"
 msgstr "la lista de RETURNING tiene demasiadas entradas"
 
-#: rewrite/rewriteDefine.c:571
+#: rewrite/rewriteDefine.c:661
 #, 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"
 
-#: rewrite/rewriteDefine.c:576
+#: rewrite/rewriteDefine.c:666
 #, c-format
 msgid "SELECT rule's target entry %d has different column name from \"%s\""
 msgstr "la entrada de destino %d de la regla de SELECT tiene un nombre de columna diferente de «%s»"
 
-#: rewrite/rewriteDefine.c:582
+#: rewrite/rewriteDefine.c:672
 #, 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»"
 
-#: rewrite/rewriteDefine.c:584
+#: rewrite/rewriteDefine.c:674
 #, 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»"
 
-#: rewrite/rewriteDefine.c:599
+#: rewrite/rewriteDefine.c:689
 #, 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»"
 
-#: rewrite/rewriteDefine.c:601
+#: rewrite/rewriteDefine.c:691
 #, 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»"
 
-#: rewrite/rewriteDefine.c:609
+#: rewrite/rewriteDefine.c:699
 #, 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"
 
-#: rewrite/rewriteDefine.c:610
+#: rewrite/rewriteDefine.c:700
 #, c-format
 msgid "RETURNING list has too few entries"
 msgstr "la lista de RETURNING tiene muy pocas entradas"
 
-#: rewrite/rewriteDefine.c:702 rewrite/rewriteDefine.c:764
-#: rewrite/rewriteSupport.c:116
+#: rewrite/rewriteDefine.c:792 rewrite/rewriteDefine.c:906
+#: rewrite/rewriteSupport.c:112
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist"
 msgstr "no existe la regla «%s» para la relación «%s»"
 
-#: rewrite/rewriteHandler.c:485
+#: rewrite/rewriteDefine.c:925
+#, c-format
+msgid "renaming an ON SELECT rule is not allowed"
+msgstr "no se permite cambiar el nombre de una regla ON SELECT"
+
+#: rewrite/rewriteHandler.c:486
 #, 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"
 
-#: rewrite/rewriteHandler.c:543
+#: rewrite/rewriteHandler.c:546
 #, c-format
 msgid "cannot have RETURNING lists in multiple rules"
 msgstr "no se puede usar RETURNING en múltiples reglas"
 
-#: rewrite/rewriteHandler.c:874 rewrite/rewriteHandler.c:892
+#: rewrite/rewriteHandler.c:877 rewrite/rewriteHandler.c:895
 #, c-format
 msgid "multiple assignments to same column \"%s\""
 msgstr "hay múltiples asignaciones a la misma columna «%s»"
 
-#: rewrite/rewriteHandler.c:1628 rewrite/rewriteHandler.c:2023
+#: rewrite/rewriteHandler.c:1657 rewrite/rewriteHandler.c:2781
 #, 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:1884
+# XXX a %s here would be nice ...
+#: rewrite/rewriteHandler.c:1978
+msgid "Views containing DISTINCT are not automatically updatable."
+msgstr "Las vistas que contienen DISTINCT no son automáticamente actualizables."
+
+#: rewrite/rewriteHandler.c:1981
+msgid "Views containing GROUP BY are not automatically updatable."
+msgstr "Las vistas que contienen GROUP BY no son automáticamente actualizables."
+
+#: rewrite/rewriteHandler.c:1984
+msgid "Views containing HAVING are not automatically updatable."
+msgstr "Las vistas que contienen HAVING no son automáticamente actualizables."
+
+#: rewrite/rewriteHandler.c:1987
+msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable."
+msgstr "Las vistas que contienen UNION, INTERSECT o EXCEPT no son automáticamente actualizables."
+
+#: rewrite/rewriteHandler.c:1990
+msgid "Views containing WITH are not automatically updatable."
+msgstr "Las vistas que contienen WITH no son automáticamente actualizables."
+
+#: rewrite/rewriteHandler.c:1993
+msgid "Views containing LIMIT or OFFSET are not automatically updatable."
+msgstr "Las vistas que contienen LIMIT u OFFSET no son automáticamente actualizables."
+
+#: rewrite/rewriteHandler.c:2001
+msgid "Security-barrier views are not automatically updatable."
+msgstr "Las vistas con barrera de seguridad no son automáticamente actualizables."
+
+#: rewrite/rewriteHandler.c:2008 rewrite/rewriteHandler.c:2012
+#: rewrite/rewriteHandler.c:2019
+msgid "Views that do not select from a single table or view are not automatically updatable."
+msgstr "Las vistas que no extraen desde una única tabla o vista no son automáticamente actualizables."
+
+#: rewrite/rewriteHandler.c:2042
+msgid "Views that return columns that are not columns of their base relation are not automatically updatable."
+msgstr "Las vistas que retornan columnas que no son columnas de su relación base no son automáticamente actualizables."
+
+#: rewrite/rewriteHandler.c:2045
+msgid "Views that return system columns are not automatically updatable."
+msgstr "las vistas que retornan columnas de sistema no son automáticamente actualizables."
+
+#: rewrite/rewriteHandler.c:2048
+msgid "Views that return whole-row references are not automatically updatable."
+msgstr "Las vistas que retornan referencias a la fila completa no son automáticamente actualizables."
+
+#: rewrite/rewriteHandler.c:2051
+msgid "Views that return the same column more than once are not automatically updatable."
+msgstr "Las vistas que retornan la misma columna más de una vez no son automáticamente actualizables."
+
+#: rewrite/rewriteHandler.c:2604
 #, 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"
 
-#: rewrite/rewriteHandler.c:1898
+#: rewrite/rewriteHandler.c:2618
 #, 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"
 
-#: rewrite/rewriteHandler.c:1902
+#: rewrite/rewriteHandler.c:2622
 #, 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"
 
-#: rewrite/rewriteHandler.c:1907
+#: rewrite/rewriteHandler.c:2627
 #, 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"
 
-#: rewrite/rewriteHandler.c:2061
+#: rewrite/rewriteHandler.c:2818
 #, c-format
 msgid "cannot perform INSERT RETURNING on relation \"%s\""
 msgstr "no se puede hacer INSERT RETURNING a la relación «%s»"
 
-#: rewrite/rewriteHandler.c:2063
+#: rewrite/rewriteHandler.c:2820
 #, 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."
 
-#: rewrite/rewriteHandler.c:2068
+#: rewrite/rewriteHandler.c:2825
 #, c-format
 msgid "cannot perform UPDATE RETURNING on relation \"%s\""
 msgstr "no se puede hacer UPDATE RETURNING a la relación «%s»"
 
-#: rewrite/rewriteHandler.c:2070
+#: rewrite/rewriteHandler.c:2827
 #, 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."
 
-#: rewrite/rewriteHandler.c:2075
+#: rewrite/rewriteHandler.c:2832
 #, c-format
 msgid "cannot perform DELETE RETURNING on relation \"%s\""
 msgstr "no se puede hacer DELETE RETURNING a la relación «%s»"
 
-#: rewrite/rewriteHandler.c:2077
+#: rewrite/rewriteHandler.c:2834
 #, 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."
 
-#: rewrite/rewriteHandler.c:2141
+#: rewrite/rewriteHandler.c:2898
 #, 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"
 
-#: rewrite/rewriteManip.c:1028
+#: rewrite/rewriteManip.c:1020
 #, c-format
 msgid "conditional utility statements are not implemented"
 msgstr "las sentencias condicionales de utilidad no están implementadas"
 
-#: rewrite/rewriteManip.c:1193
+#: rewrite/rewriteManip.c:1185
 #, c-format
 msgid "WHERE CURRENT OF on a view is not implemented"
 msgstr "WHERE CURRENT OF no está implementado en una vista"
 
-#: rewrite/rewriteSupport.c:158
+#: rewrite/rewriteSupport.c:154
 #, c-format
 msgid "rule \"%s\" does not exist"
 msgstr "no existe la regla «%s»"
 
-#: rewrite/rewriteSupport.c:171
+#: rewrite/rewriteSupport.c:167
 #, c-format
 msgid "there are multiple rules named \"%s\""
 msgstr "hay múltiples reglas llamadas «%s»"
 
-#: rewrite/rewriteSupport.c:172
+#: rewrite/rewriteSupport.c:168
 #, 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."
 
-#: snowball/dict_snowball.c:180
-#, 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»"
+#: scan.l:423
+msgid "unterminated /* comment"
+msgstr "un comentario /* está inconcluso"
 
-#: snowball/dict_snowball.c:203 tsearch/dict_ispell.c:73
-#: tsearch/dict_simple.c:48
-#, c-format
-msgid "multiple StopWords parameters"
-msgstr "parámetro StopWords duplicado"
+#: scan.l:452
+msgid "unterminated bit string literal"
+msgstr "una cadena de bits está inconclusa"
 
-#: snowball/dict_snowball.c:212
-#, c-format
-msgid "multiple Language parameters"
-msgstr "parámetro Language duplicado"
+#: scan.l:473
+msgid "unterminated hexadecimal string literal"
+msgstr "una cadena hexadecimal está inconclusa"
 
-#: snowball/dict_snowball.c:219
+#: scan.l:523
 #, c-format
-msgid "unrecognized Snowball parameter: \"%s\""
-msgstr "parámetro Snowball no reconocido: «%s»"
+msgid "unsafe use of string constant with Unicode escapes"
+msgstr "uso inseguro de literal de cadena con escapes Unicode"
 
-#: snowball/dict_snowball.c:227
+#: scan.l:524
 #, c-format
-msgid "missing Language parameter"
-msgstr "falta un parámetro Language"
+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/buffer/bufmgr.c:136 storage/buffer/bufmgr.c:241
-#, c-format
-msgid "cannot access temporary tables of other sessions"
-msgstr "no se pueden acceder tablas temporales de otras sesiones"
+#: scan.l:567 scan.l:759
+msgid "invalid Unicode escape character"
+msgstr "carácter de escape Unicode no válido"
 
-#: storage/buffer/bufmgr.c:378
-#, 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"
+#: scan.l:592 scan.l:600 scan.l:608 scan.l:609 scan.l:610 scan.l:1288
+#: scan.l:1315 scan.l:1319 scan.l:1357 scan.l:1361 scan.l:1383
+msgid "invalid Unicode surrogate pair"
+msgstr "par sustituto (surrogate) Unicode no válido"
 
-#: storage/buffer/bufmgr.c:380
+#: scan.l:614
 #, 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 "invalid Unicode escape"
+msgstr "valor de escape Unicode no válido"
 
-#: storage/buffer/bufmgr.c:466
+#: scan.l:615
 #, c-format
-msgid "invalid page header in block %u of relation %s; zeroing out page"
-msgstr "el encabezado de página no es válido en el bloque %u de la relación «%s»; reinicializando la página"
+msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX."
+msgstr "Los escapes Unicode deben ser \\uXXXX o \\UXXXXXXXX."
 
-#: storage/buffer/bufmgr.c:474
+#: scan.l:626
 #, c-format
-msgid "invalid page header in block %u of relation %s"
-msgstr "el encabezado de página no es válido en el bloque %u de la relación %s"
+msgid "unsafe use of \\' in a string literal"
+msgstr "uso inseguro de \\' en un literal de cadena"
 
-#: storage/buffer/bufmgr.c:2909
+#: scan.l:627
 #, c-format
-msgid "could not write block %u of %s"
-msgstr "no se pudo escribir el bloque %u de %s"
+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/buffer/bufmgr.c:2911
-#, c-format
-msgid "Multiple failures --- write error might be permanent."
-msgstr "Múltiples fallas --- el error de escritura puede ser permanente."
+#: scan.l:702
+msgid "unterminated dollar-quoted string"
+msgstr "una cadena separada por $ está inconclusa"
 
-#: storage/buffer/bufmgr.c:2932 storage/buffer/bufmgr.c:2951
-#, c-format
-msgid "writing block %u of relation %s"
-msgstr "escribiendo el bloque %u de la relación %s"
+#: scan.l:719 scan.l:741 scan.l:754
+msgid "zero-length delimited identifier"
+msgstr "un identificador delimitado tiene largo cero"
 
-#: storage/buffer/localbuf.c:189
-#, c-format
-msgid "no empty local buffer available"
-msgstr "no hay ningún búfer local disponible"
+#: scan.l:773
+msgid "unterminated quoted identifier"
+msgstr "un identificador entre comillas está inconcluso"
 
-#: storage/file/fd.c:416
-#, c-format
-msgid "getrlimit failed: %m"
-msgstr "getrlimit falló: %m"
+#: scan.l:877
+msgid "operator too long"
+msgstr "el operador es demasiado largo"
 
-#: storage/file/fd.c:506
+#. translator: %s is typically the translation of "syntax error"
+#: scan.l:1035
+#, c-format
+msgid "%s at end of input"
+msgstr "%s al final de la entrada"
+
+#. translator: first %s is typically the translation of "syntax error"
+#: scan.l:1043
+#, c-format
+msgid "%s at or near \"%s\""
+msgstr "%s en o cerca de «%s»"
+
+#: scan.l:1204 scan.l:1236
+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"
+
+#: scan.l:1232 scan.l:1375
+msgid "invalid Unicode escape value"
+msgstr "valor de escape Unicode no válido"
+
+#: scan.l:1431
+#, c-format
+msgid "nonstandard use of \\' in a string literal"
+msgstr "uso no estandar de \\' en un literal de cadena"
+
+#: scan.l:1432
+#, c-format
+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'...')."
+
+#: scan.l:1441
+#, c-format
+msgid "nonstandard use of \\\\ in a string literal"
+msgstr "uso no estandar de \\\\ en un literal de cadena"
+
+#: scan.l:1442
+#, c-format
+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'\\\\')."
+
+#: scan.l:1456
+#, c-format
+msgid "nonstandard use of escape in a string literal"
+msgstr "uso no estandar de escape en un literal de cadena"
+
+#: scan.l:1457
+#, c-format
+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'."
+
+#: snowball/dict_snowball.c:180
+#, 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»"
+
+#: snowball/dict_snowball.c:203 tsearch/dict_ispell.c:73
+#: tsearch/dict_simple.c:48
+#, c-format
+msgid "multiple StopWords parameters"
+msgstr "parámetro StopWords duplicado"
+
+#: snowball/dict_snowball.c:212
+#, c-format
+msgid "multiple Language parameters"
+msgstr "parámetro Language duplicado"
+
+#: snowball/dict_snowball.c:219
+#, c-format
+msgid "unrecognized Snowball parameter: \"%s\""
+msgstr "parámetro Snowball no reconocido: «%s»"
+
+#: snowball/dict_snowball.c:227
+#, c-format
+msgid "missing Language parameter"
+msgstr "falta un parámetro Language"
+
+#: storage/buffer/bufmgr.c:140 storage/buffer/bufmgr.c:245
+#, c-format
+msgid "cannot access temporary tables of other sessions"
+msgstr "no se pueden acceder tablas temporales de otras sesiones"
+
+#: storage/buffer/bufmgr.c:382
+#, 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"
+
+#: storage/buffer/bufmgr.c:384
+#, 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."
+
+#: storage/buffer/bufmgr.c:471
+#, 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"
+
+#: storage/buffer/bufmgr.c:3141
+#, c-format
+msgid "could not write block %u of %s"
+msgstr "no se pudo escribir el bloque %u de %s"
+
+#: storage/buffer/bufmgr.c:3143
+#, c-format
+msgid "Multiple failures --- write error might be permanent."
+msgstr "Múltiples fallas --- el error de escritura puede ser permanente."
+
+#: storage/buffer/bufmgr.c:3164 storage/buffer/bufmgr.c:3183
+#, c-format
+msgid "writing block %u of relation %s"
+msgstr "escribiendo el bloque %u de la relación %s"
+
+#: storage/buffer/localbuf.c:190
+#, c-format
+msgid "no empty local buffer available"
+msgstr "no hay ningún búfer local disponible"
+
+#: storage/file/fd.c:450
+#, c-format
+msgid "getrlimit failed: %m"
+msgstr "getrlimit falló: %m"
+
+#: storage/file/fd.c:540
 #, c-format
 msgid "insufficient file descriptors available to start server process"
 msgstr "los descriptores de archivo disponibles son insuficientes para iniciar un proceso servidor"
 
-#: storage/file/fd.c:507
+#: storage/file/fd.c:541
 #, c-format
 msgid "System allows %d, we need at least %d."
 msgstr "El sistema permite %d, se requieren al menos %d."
 
-#: storage/file/fd.c:548 storage/file/fd.c:1509 storage/file/fd.c:1625
+#: storage/file/fd.c:582 storage/file/fd.c:1616 storage/file/fd.c:1709
+#: storage/file/fd.c:1857
 #, c-format
 msgid "out of file descriptors: %m; release and retry"
 msgstr "se agotaron los descriptores de archivo: %m; libere e intente nuevamente"
 
-#: storage/file/fd.c:1108
+#: storage/file/fd.c:1156
 #, c-format
 msgid "temporary file: path \"%s\", size %lu"
 msgstr "archivo temporal: ruta «%s», tamaño %lu"
 
-#: storage/file/fd.c:1257
+#: storage/file/fd.c:1305
 #, c-format
 msgid "temporary file size exceeds temp_file_limit (%dkB)"
 msgstr "el tamaño del archivo temporal excede temp_file_limit permitido (%dkB)"
 
-#: storage/file/fd.c:1684
+#: storage/file/fd.c:1592 storage/file/fd.c:1642
+#, 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»"
+
+#: storage/file/fd.c:1682
+#, 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»"
+
+#: storage/file/fd.c:1833
+#, 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»"
+
+#: storage/file/fd.c:1916
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "no se pudo leer el directorio «%s»: %m"
 
-#: storage/ipc/shmem.c:190 storage/lmgr/lock.c:848 storage/lmgr/lock.c:876
-#: storage/lmgr/lock.c:2486 storage/lmgr/lock.c:3122 storage/lmgr/lock.c:3600
-#: storage/lmgr/lock.c:3665 storage/lmgr/lock.c:3954
-#: storage/lmgr/predicate.c:2317 storage/lmgr/predicate.c:2332
-#: storage/lmgr/predicate.c:3728 storage/lmgr/predicate.c:4872
-#: storage/lmgr/proc.c:205 utils/hash/dynahash.c:960
+#: storage/ipc/shmem.c:190 storage/lmgr/lock.c:863 storage/lmgr/lock.c:891
+#: storage/lmgr/lock.c:2556 storage/lmgr/lock.c:3655 storage/lmgr/lock.c:3720
+#: storage/lmgr/lock.c:4009 storage/lmgr/predicate.c:2320
+#: storage/lmgr/predicate.c:2335 storage/lmgr/predicate.c:3731
+#: storage/lmgr/predicate.c:4875 storage/lmgr/proc.c:198
+#: utils/hash/dynahash.c:966
 #, c-format
 msgid "out of shared memory"
 msgstr "memoria compartida agotada"
@@ -12943,25 +13895,30 @@ msgstr "el tamaño de la entrada ShmemIndex es incorrecto para la estructura «%
 msgid "requested shared memory size overflows size_t"
 msgstr "la petición de tamaño de memoria compartida desborda size_t"
 
-#: storage/ipc/standby.c:494 tcop/postgres.c:2919
+#: storage/ipc/standby.c:499 tcop/postgres.c:2936
 #, c-format
 msgid "canceling statement due to conflict with recovery"
 msgstr "cancelando la sentencia debido a un conflicto con la recuperación"
 
-#: storage/ipc/standby.c:495 tcop/postgres.c:2215
+#: storage/ipc/standby.c:500 tcop/postgres.c:2217
 #, c-format
 msgid "User transaction caused buffer deadlock with recovery."
 msgstr "La transacción del usuario causó un «deadlock» con la recuperación."
 
-#: storage/large_object/inv_api.c:551 storage/large_object/inv_api.c:748
+#: storage/large_object/inv_api.c:270
+#, c-format
+msgid "invalid flags for opening a large object: %d"
+msgstr "opciones no válidas para abrir un objeto grande: %d"
+
+#: storage/large_object/inv_api.c:410
 #, c-format
-msgid "large object %u was not opened for writing"
-msgstr "el objeto grande %u no fue abierto para escritura"
+msgid "invalid whence setting: %d"
+msgstr "parámetro «whence» no válido: %d"
 
-#: storage/large_object/inv_api.c:558 storage/large_object/inv_api.c:755
+#: storage/large_object/inv_api.c:573
 #, c-format
-msgid "large object %u was already dropped"
-msgstr "el objeto grande %u ya fue eliminado"
+msgid "invalid large object write request size: %d"
+msgstr "tamaño de petición de escritura de objeto grande no válido: %d"
 
 #: storage/lmgr/deadlock.c:925
 #, c-format
@@ -13034,583 +13991,593 @@ msgstr "candado consultivo [%u,%u,%u,%u]"
 msgid "unrecognized locktag type %d"
 msgstr "tipo de locktag %d no reconocido"
 
-#: storage/lmgr/lock.c:706
+#: storage/lmgr/lock.c:721
 #, 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"
 
-#: storage/lmgr/lock.c:708
+#: storage/lmgr/lock.c:723
 #, 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."
 
-#: storage/lmgr/lock.c:849 storage/lmgr/lock.c:877 storage/lmgr/lock.c:2487
-#: storage/lmgr/lock.c:3601 storage/lmgr/lock.c:3666 storage/lmgr/lock.c:3955
+#: storage/lmgr/lock.c:864 storage/lmgr/lock.c:892 storage/lmgr/lock.c:2557
+#: storage/lmgr/lock.c:3656 storage/lmgr/lock.c:3721 storage/lmgr/lock.c:4010
 #, c-format
 msgid "You might need to increase max_locks_per_transaction."
 msgstr "Puede ser necesario incrementar max_locks_per_transaction."
 
-#: storage/lmgr/lock.c:2918 storage/lmgr/lock.c:3031
+#: storage/lmgr/lock.c:2988 storage/lmgr/lock.c:3100
 #, 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"
 
-#: storage/lmgr/lock.c:3123
-#, c-format
-msgid "Not enough memory for reassigning the prepared transaction's locks."
-msgstr "No hay memoria suficiente para reasignar los bloqueos de la transacción preparada"
-
-#: storage/lmgr/predicate.c:668
+#: storage/lmgr/predicate.c:671
 #, 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"
 
-#: storage/lmgr/predicate.c:669 storage/lmgr/predicate.c:697
+#: storage/lmgr/predicate.c:672 storage/lmgr/predicate.c:700
 #, 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."
 
-#: storage/lmgr/predicate.c:696
+#: storage/lmgr/predicate.c:699
 #, 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"
 
-#: storage/lmgr/predicate.c:901
+#: storage/lmgr/predicate.c:904
 #, 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"
 
-#: storage/lmgr/predicate.c:902
+#: storage/lmgr/predicate.c:905
 #, 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."
 
-#: storage/lmgr/predicate.c:1184 storage/lmgr/predicate.c:1256
+#: storage/lmgr/predicate.c:1187 storage/lmgr/predicate.c:1259
 #, c-format
 msgid "not enough shared memory for elements of data structure \"%s\" (%lu bytes requested)"
 msgstr "el espacio de memoria compartida es insuficiente para la estructura «%s» (%lu bytes solicitados)"
 
-#: storage/lmgr/predicate.c:1544
+#: storage/lmgr/predicate.c:1547
 #, c-format
 msgid "deferrable snapshot was unsafe; trying a new one"
 msgstr "la instantánea postergada era insegura; intentando con una nueva"
 
-#: storage/lmgr/predicate.c:1583
+#: storage/lmgr/predicate.c:1586
 #, c-format
 msgid "\"default_transaction_isolation\" is set to \"serializable\"."
 msgstr "«default_transaction_isolation» está definido a «serializable»."
 
-#: storage/lmgr/predicate.c:1584
+#: storage/lmgr/predicate.c:1587
 #, 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."
 
-#: storage/lmgr/predicate.c:1623
+#: storage/lmgr/predicate.c:1626
 #, 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"
 
-#: storage/lmgr/predicate.c:1693 utils/time/snapmgr.c:282
+#: storage/lmgr/predicate.c:1696 utils/time/snapmgr.c:283
 #, c-format
 msgid "could not import the requested snapshot"
 msgstr "no se pudo importar el snapshot solicitado"
 
-#: storage/lmgr/predicate.c:1694 utils/time/snapmgr.c:283
+#: storage/lmgr/predicate.c:1697 utils/time/snapmgr.c:284
 #, c-format
 msgid "The source transaction %u is not running anymore."
 msgstr "La transacción de origen %u ya no está en ejecución."
 
-#: storage/lmgr/predicate.c:2318 storage/lmgr/predicate.c:2333
-#: storage/lmgr/predicate.c:3729
+#: storage/lmgr/predicate.c:2321 storage/lmgr/predicate.c:2336
+#: storage/lmgr/predicate.c:3732
 #, c-format
 msgid "You might need to increase max_pred_locks_per_transaction."
 msgstr "Puede ser necesario incrementar max_pred_locks_per_transaction."
 
-#: storage/lmgr/predicate.c:3883 storage/lmgr/predicate.c:3972
-#: storage/lmgr/predicate.c:3980 storage/lmgr/predicate.c:4019
-#: storage/lmgr/predicate.c:4258 storage/lmgr/predicate.c:4596
-#: storage/lmgr/predicate.c:4608 storage/lmgr/predicate.c:4650
-#: storage/lmgr/predicate.c:4688
+#: storage/lmgr/predicate.c:3886 storage/lmgr/predicate.c:3975
+#: storage/lmgr/predicate.c:3983 storage/lmgr/predicate.c:4022
+#: storage/lmgr/predicate.c:4261 storage/lmgr/predicate.c:4599
+#: storage/lmgr/predicate.c:4611 storage/lmgr/predicate.c:4653
+#: storage/lmgr/predicate.c:4691
 #, 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"
 
-#: storage/lmgr/predicate.c:3885 storage/lmgr/predicate.c:3974
-#: storage/lmgr/predicate.c:3982 storage/lmgr/predicate.c:4021
-#: storage/lmgr/predicate.c:4260 storage/lmgr/predicate.c:4598
-#: storage/lmgr/predicate.c:4610 storage/lmgr/predicate.c:4652
-#: storage/lmgr/predicate.c:4690
+#: storage/lmgr/predicate.c:3888 storage/lmgr/predicate.c:3977
+#: storage/lmgr/predicate.c:3985 storage/lmgr/predicate.c:4024
+#: storage/lmgr/predicate.c:4263 storage/lmgr/predicate.c:4601
+#: storage/lmgr/predicate.c:4613 storage/lmgr/predicate.c:4655
+#: storage/lmgr/predicate.c:4693
 #, c-format
 msgid "The transaction might succeed if retried."
 msgstr "La transacción podría tener éxito si es reintentada."
 
-#: storage/lmgr/proc.c:1128
+#: storage/lmgr/proc.c:1162
 #, c-format
 msgid "Process %d waits for %s on %s."
 msgstr "El proceso %d espera %s en %s."
 
-#: storage/lmgr/proc.c:1138
+#: storage/lmgr/proc.c:1172
 #, 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"
 
-#: storage/lmgr/proc.c:1150 utils/adt/misc.c:134
+#: storage/lmgr/proc.c:1184 utils/adt/misc.c:136
 #, c-format
 msgid "could not send signal to process %d: %m"
 msgstr "no se pudo enviar la señal al proceso %d: %m"
 
-#: storage/lmgr/proc.c:1184
+#: storage/lmgr/proc.c:1219
 #, 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"
 
-#: storage/lmgr/proc.c:1196
+#: storage/lmgr/proc.c:1231
 #, 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"
 
-#: storage/lmgr/proc.c:1202
+#: storage/lmgr/proc.c:1237
 #, 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"
 
-#: storage/lmgr/proc.c:1206
+#: storage/lmgr/proc.c:1241
 #, 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"
 
-#: storage/lmgr/proc.c:1222
+#: storage/lmgr/proc.c:1257
 #, 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"
 
-#: storage/page/bufpage.c:142 storage/page/bufpage.c:389
-#: storage/page/bufpage.c:622 storage/page/bufpage.c:752
+#: storage/page/bufpage.c:142
+#, 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"
+
+#: storage/page/bufpage.c:198 storage/page/bufpage.c:445
+#: storage/page/bufpage.c:678 storage/page/bufpage.c:808
 #, 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"
 
-#: storage/page/bufpage.c:432
+#: storage/page/bufpage.c:488
 #, c-format
 msgid "corrupted item pointer: %u"
 msgstr "el puntero de item está corrupto: %u"
 
-#: storage/page/bufpage.c:443 storage/page/bufpage.c:804
+#: storage/page/bufpage.c:499 storage/page/bufpage.c:860
 #, c-format
 msgid "corrupted item lengths: total %u, available space %u"
 msgstr "los largos de ítem están corruptos: total %u, espacio disponible %u"
 
-#: storage/page/bufpage.c:641 storage/page/bufpage.c:777
+#: storage/page/bufpage.c:697 storage/page/bufpage.c:833
 #, c-format
 msgid "corrupted item pointer: offset = %u, size = %u"
 msgstr "el puntero de ítem está corrupto: posición = %u, tamaño = %u"
 
-#: storage/smgr/md.c:419 storage/smgr/md.c:890
+#: storage/smgr/md.c:427 storage/smgr/md.c:898
 #, c-format
 msgid "could not truncate file \"%s\": %m"
 msgstr "no se pudo truncar el archivo «%s»: %m"
 
-#: storage/smgr/md.c:486
+#: storage/smgr/md.c:494
 #, c-format
 msgid "cannot extend file \"%s\" beyond %u blocks"
 msgstr "no se pudo extender el archivo «%s» más allá de %u bloques"
 
-#: storage/smgr/md.c:508 storage/smgr/md.c:669 storage/smgr/md.c:744
+#: storage/smgr/md.c:516 storage/smgr/md.c:677 storage/smgr/md.c:752
 #, 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"
 
-#: storage/smgr/md.c:516
+#: storage/smgr/md.c:524
 #, c-format
 msgid "could not extend file \"%s\": %m"
 msgstr "no se pudo extender el archivo «%s»: %m"
 
-#: storage/smgr/md.c:518 storage/smgr/md.c:525 storage/smgr/md.c:771
+#: storage/smgr/md.c:526 storage/smgr/md.c:533 storage/smgr/md.c:779
 #, c-format
 msgid "Check free disk space."
 msgstr "Verifique el espacio libre en disco."
 
-#: storage/smgr/md.c:522
+#: storage/smgr/md.c:530
 #, 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"
 
-#: storage/smgr/md.c:687
+#: storage/smgr/md.c:695
 #, c-format
 msgid "could not read block %u in file \"%s\": %m"
 msgstr "no se pudo leer el bloque %u del archivo «%s»: %m"
 
-#: storage/smgr/md.c:703
+#: storage/smgr/md.c:711
 #, 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"
 
-#: storage/smgr/md.c:762
+#: storage/smgr/md.c:770
 #, 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"
 
-#: storage/smgr/md.c:767
+#: storage/smgr/md.c:775
 #, 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"
 
-#: storage/smgr/md.c:866
+#: storage/smgr/md.c:874
 #, 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"
 
-#: storage/smgr/md.c:915
+#: storage/smgr/md.c:923
 #, c-format
 msgid "could not truncate file \"%s\" to %u blocks: %m"
 msgstr "no se pudo truncar el archivo «%s» a %u bloques: %m"
 
-#: storage/smgr/md.c:1195
+#: storage/smgr/md.c:1203
 #, c-format
 msgid "could not fsync file \"%s\" but retrying: %m"
 msgstr "no se pudo sincronizar (fsync) archivo «%s» pero reintentando: %m"
 
-#: storage/smgr/md.c:1358
+#: storage/smgr/md.c:1366
 #, 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"
 
-#: storage/smgr/md.c:1755
+#: storage/smgr/md.c:1763
 #, c-format
 msgid "could not open file \"%s\" (target block %u): %m"
 msgstr "no se pudo abrir el archivo «%s» (bloque buscado %u): %m"
 
-#: storage/smgr/md.c:1777
-#, c-format
-msgid "could not seek to end of file \"%s\": %m"
-msgstr "no se pudo posicionar (seek) al fin del archivo «%s»: %m"
-
-#: tcop/fastpath.c:109 tcop/fastpath.c:498 tcop/fastpath.c:628
+#: tcop/fastpath.c:111 tcop/fastpath.c:502 tcop/fastpath.c:632
 #, 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"
 
-#: tcop/fastpath.c:302 tcop/postgres.c:360 tcop/postgres.c:396
+#: tcop/fastpath.c:304 tcop/postgres.c:362 tcop/postgres.c:398
 #, c-format
 msgid "unexpected EOF on client connection"
 msgstr "se encontró fin de archivo inesperado en la conexión del cliente"
 
-#: tcop/fastpath.c:316 tcop/postgres.c:945 tcop/postgres.c:1255
-#: tcop/postgres.c:1513 tcop/postgres.c:1916 tcop/postgres.c:2283
-#: tcop/postgres.c:2358
+#: tcop/fastpath.c:318 tcop/postgres.c:947 tcop/postgres.c:1257
+#: tcop/postgres.c:1515 tcop/postgres.c:1918 tcop/postgres.c:2285
+#: tcop/postgres.c:2360
 #, 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"
 
-#: tcop/fastpath.c:344
+#: tcop/fastpath.c:346
 #, c-format
 msgid "fastpath function call: \"%s\" (OID %u)"
 msgstr "llamada a función fastpath: «%s» (OID %u)"
 
-#: tcop/fastpath.c:424 tcop/postgres.c:1115 tcop/postgres.c:1380
-#: tcop/postgres.c:1757 tcop/postgres.c:1974
+#: tcop/fastpath.c:428 tcop/postgres.c:1117 tcop/postgres.c:1382
+#: tcop/postgres.c:1759 tcop/postgres.c:1976
 #, c-format
 msgid "duration: %s ms"
 msgstr "duración: %s ms"
 
-#: tcop/fastpath.c:428
+#: tcop/fastpath.c:432
 #, 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)"
 
-#: tcop/fastpath.c:466 tcop/fastpath.c:593
+#: tcop/fastpath.c:470 tcop/fastpath.c:597
 #, 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"
 
-#: tcop/fastpath.c:474
+#: tcop/fastpath.c:478
 #, 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"
 
-#: tcop/fastpath.c:561 tcop/fastpath.c:644
+#: tcop/fastpath.c:565 tcop/fastpath.c:648
 #, 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"
 
-#: tcop/postgres.c:424 tcop/postgres.c:436 tcop/postgres.c:447
-#: tcop/postgres.c:459 tcop/postgres.c:4184
+#: tcop/postgres.c:426 tcop/postgres.c:438 tcop/postgres.c:449
+#: tcop/postgres.c:461 tcop/postgres.c:4223
 #, c-format
 msgid "invalid frontend message type %d"
 msgstr "el tipo de mensaje de frontend %d no es válido"
 
-#: tcop/postgres.c:886
+#: tcop/postgres.c:888
 #, c-format
 msgid "statement: %s"
 msgstr "sentencia: %s"
 
-#: tcop/postgres.c:1120
+#: tcop/postgres.c:1122
 #, c-format
 msgid "duration: %s ms  statement: %s"
 msgstr "duración: %s ms  sentencia: %s"
 
-#: tcop/postgres.c:1170
+#: tcop/postgres.c:1172
 #, c-format
 msgid "parse %s: %s"
 msgstr "parse %s: %s"
 
-#: tcop/postgres.c:1228
+#: tcop/postgres.c:1230
 #, c-format
 msgid "cannot insert multiple commands into a prepared statement"
 msgstr "no se pueden insertar múltiples órdenes en una sentencia preparada"
 
-#: tcop/postgres.c:1385
+#: tcop/postgres.c:1387
 #, c-format
 msgid "duration: %s ms  parse %s: %s"
 msgstr "duración: %s ms  parse: %s: %s"
 
-#: tcop/postgres.c:1430
+#: tcop/postgres.c:1432
 #, c-format
 msgid "bind %s to %s"
 msgstr "bind %s a %s"
 
-#: tcop/postgres.c:1449 tcop/postgres.c:2264
+#: tcop/postgres.c:1451 tcop/postgres.c:2266
 #, c-format
 msgid "unnamed prepared statement does not exist"
 msgstr "no existe una sentencia preparada sin nombre"
 
-#: tcop/postgres.c:1491
+#: tcop/postgres.c:1493
 #, 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"
 
-#: tcop/postgres.c:1497
+#: tcop/postgres.c:1499
 #, 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"
 
-#: tcop/postgres.c:1664
+#: tcop/postgres.c:1666
 #, 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"
 
-#: tcop/postgres.c:1762
+#: tcop/postgres.c:1764
 #, c-format
 msgid "duration: %s ms  bind %s%s%s: %s"
 msgstr "duración: %s ms  bind %s%s%s: %s"
 
-#: tcop/postgres.c:1810 tcop/postgres.c:2344
+#: tcop/postgres.c:1812 tcop/postgres.c:2346
 #, c-format
 msgid "portal \"%s\" does not exist"
 msgstr "no existe el portal «%s»"
 
-#: tcop/postgres.c:1895
+#: tcop/postgres.c:1897
 #, c-format
 msgid "%s %s%s%s: %s"
 msgstr "%s %s%s%s: %s"
 
-#: tcop/postgres.c:1897 tcop/postgres.c:1982
+#: tcop/postgres.c:1899 tcop/postgres.c:1984
 msgid "execute fetch from"
 msgstr "ejecutar fetch desde"
 
-#: tcop/postgres.c:1898 tcop/postgres.c:1983
+#: tcop/postgres.c:1900 tcop/postgres.c:1985
 msgid "execute"
 msgstr "ejecutar"
 
-#: tcop/postgres.c:1979
+#: tcop/postgres.c:1981
 #, c-format
 msgid "duration: %s ms  %s %s%s%s: %s"
 msgstr "duración: %s ms  %s %s%s%s: %s"
 
-#: tcop/postgres.c:2105
+#: tcop/postgres.c:2107
 #, c-format
 msgid "prepare: %s"
 msgstr "prepare: %s"
 
-#: tcop/postgres.c:2168
+#: tcop/postgres.c:2170
 #, c-format
 msgid "parameters: %s"
 msgstr "parámetros: %s"
 
-#: tcop/postgres.c:2187
+#: tcop/postgres.c:2189
 #, c-format
 msgid "abort reason: recovery conflict"
 msgstr "razón para abortar: conflicto en la recuperación"
 
-#: tcop/postgres.c:2203
+#: tcop/postgres.c:2205
 #, c-format
 msgid "User was holding shared buffer pin for too long."
 msgstr "El usuario mantuvo el búfer compartido «clavado» por demasiado tiempo."
 
-#: tcop/postgres.c:2206
+#: tcop/postgres.c:2208
 #, c-format
 msgid "User was holding a relation lock for too long."
 msgstr "El usuario mantuvo una relación bloqueada por demasiado tiempo."
 
-#: tcop/postgres.c:2209
+#: tcop/postgres.c:2211
 #, 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."
 
-#: tcop/postgres.c:2212
+#: tcop/postgres.c:2214
 #, 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."
 
-#: tcop/postgres.c:2218
+#: tcop/postgres.c:2220
 #, 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."
 
-#: tcop/postgres.c:2540
+#: tcop/postgres.c:2542
 #, 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"
 
-#: tcop/postgres.c:2541
+#: tcop/postgres.c:2543
 #, 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."
 
-#: tcop/postgres.c:2545 tcop/postgres.c:2914
+#: tcop/postgres.c:2547 tcop/postgres.c:2931
 #, 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."
 
-#: tcop/postgres.c:2658
+#: tcop/postgres.c:2660
 #, c-format
 msgid "floating-point exception"
 msgstr "excepción de coma flotante"
 
-#: tcop/postgres.c:2659
+#: tcop/postgres.c:2661
 #, 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."
 
-#: tcop/postgres.c:2833
+#: tcop/postgres.c:2835
 #, c-format
 msgid "terminating autovacuum process due to administrator command"
 msgstr "terminando el proceso autovacuum debido a una orden del administrador"
 
-#: tcop/postgres.c:2839 tcop/postgres.c:2849 tcop/postgres.c:2912
+#: tcop/postgres.c:2841 tcop/postgres.c:2851 tcop/postgres.c:2929
 #, c-format
 msgid "terminating connection due to conflict with recovery"
 msgstr "terminando la conexión debido a un conflicto con la recuperación"
 
-#: tcop/postgres.c:2855
+#: tcop/postgres.c:2857
 #, c-format
 msgid "terminating connection due to administrator command"
 msgstr "terminando la conexión debido a una orden del administrador"
 
-#: tcop/postgres.c:2867
+#: tcop/postgres.c:2869
 #, c-format
 msgid "connection to client lost"
 msgstr "se ha perdido la conexión al cliente"
 
-#: tcop/postgres.c:2882
+#: tcop/postgres.c:2884
 #, c-format
 msgid "canceling authentication due to timeout"
 msgstr "cancelando la autentificación debido a que se agotó el tiempo de espera"
 
-#: tcop/postgres.c:2891
+#: tcop/postgres.c:2899
+#, 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)"
+
+#: tcop/postgres.c:2908
 #, c-format
 msgid "canceling statement due to statement timeout"
 msgstr "cancelando la sentencia debido a que se agotó el tiempo de espera de sentencias"
 
-#: tcop/postgres.c:2900
+#: tcop/postgres.c:2917
 #, c-format
 msgid "canceling autovacuum task"
 msgstr "cancelando tarea de autovacuum"
 
-#: tcop/postgres.c:2935
+#: tcop/postgres.c:2952
 #, c-format
 msgid "canceling statement due to user request"
 msgstr "cancelando la sentencia debido a una petición del usuario"
 
-#: tcop/postgres.c:3063 tcop/postgres.c:3085
+#: tcop/postgres.c:3080 tcop/postgres.c:3102
 #, c-format
 msgid "stack depth limit exceeded"
 msgstr "límite de profundidad de stack alcanzado"
 
-#: tcop/postgres.c:3064 tcop/postgres.c:3086
+#: tcop/postgres.c:3081 tcop/postgres.c:3103
 #, 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."
 
-#: tcop/postgres.c:3102
+#: tcop/postgres.c:3119
 #, c-format
 msgid "\"max_stack_depth\" must not exceed %ldkB."
 msgstr "«max_stack_depth» no debe exceder %ldkB."
 
-#: tcop/postgres.c:3104
+#: tcop/postgres.c:3121
 #, 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."
 
-#: tcop/postgres.c:3467
+#: tcop/postgres.c:3485
 #, 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"
 
-#: tcop/postgres.c:3468 tcop/postgres.c:3474
+#: tcop/postgres.c:3486 tcop/postgres.c:3492
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Pruebe «%s --help» para mayor información."
 
-#: tcop/postgres.c:3472
+#: tcop/postgres.c:3490
 #, c-format
 msgid "%s: invalid command-line argument: %s"
 msgstr "%s: argumento de línea de órdenes no válido: %s"
 
-#: tcop/postgres.c:3559
+#: tcop/postgres.c:3577
 #, c-format
&