Translation updates
authorPeter Eisentraut <peter@eisentraut.org>
Mon, 5 May 2025 10:04:49 +0000 (12:04 +0200)
committerPeter Eisentraut <peter@eisentraut.org>
Mon, 5 May 2025 10:04:49 +0000 (12:04 +0200)
Source-Git-URL: https://git.postgresql.org/git/pgtranslation/messages.git
Source-Git-Hash: f90ee4803c30491e5c49996b973b8a30de47bfb2

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

index 0d6dead79e0387ac0ba2618f14a9d0b2e7897a30..e2593b522719ad39c1cbabde128b272fa59df9df 100644 (file)
@@ -12,6 +12,7 @@
 # Glosario:
 #
 # character                            carácter
+# checkpoint                           checkpoint
 # checksum                             suma de verificación
 # cluster (de la orden cluster)                reordenar
 # command                              orden
@@ -23,8 +24,8 @@
 # lexeme                               lexema
 # locale                               configuración regional
 # to lock                              bloquear
-# lock (sustantivo)                    candado
-# to obtain a lock                     bloquear un candado
+# lock (sustantivo)                    “lock”
+# to obtain a lock                     bloquear un “lock”
 # malformed                            mal formado
 # mapping                              mapeo
 # operator class                       clase de operadores
@@ -42,7 +43,8 @@
 # rule                                 regla de reescritura
 # schema                               esquema
 # to skip                              ignorar
-# trigger                              disparador
+# trigger                              “trigger”
+# wait event                           “wait event”
 # window function                      función de ventana deslizante
 #
 # FIXME varios:
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL server 15\n"
+"Project-Id-Version: PostgreSQL server 17\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:10+0000\n"
-"PO-Revision-Date: 2024-05-21 13:39+0200\n"
+"POT-Creation-Date: 2025-02-16 19:41+0000\n"
+"PO-Revision-Date: 2025-02-17 15:18+0100\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
 "Language: es\n"
@@ -73,6 +75,11 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: BlackCAT 1.1\n"
 
+#: ../common/binaryheap.c:121 ../common/binaryheap.c:159
+#, c-format
+msgid "out of binary heap slots"
+msgstr "se acabaron los slots de “binary heap”"
+
 #: ../common/compression.c:132 ../common/compression.c:141
 #: ../common/compression.c:150
 #, c-format
@@ -99,8 +106,7 @@ msgid "value for compression option \"%s\" must be an integer"
 msgstr "el valor para la opción de compresión «%s» debe ser un entero"
 
 #: ../common/compression.c:331
-#, fuzzy, c-format
-#| msgid "value for compression option \"%s\" must be a boolean"
+#, c-format
 msgid "value for compression option \"%s\" must be a Boolean value"
 msgstr "el valor para la opción de compresión «%s» debe ser un booleano"
 
@@ -131,64 +137,66 @@ msgstr "el algoritmo de compresión «%s» no acepta modo de larga distancia"
 msgid "not recorded"
 msgstr "no registrado"
 
-#: ../common/controldata_utils.c:69 ../common/controldata_utils.c:73
-#: commands/copyfrom.c:1669 commands/extension.c:3456 utils/adt/genfile.c:123
+#: ../common/controldata_utils.c:93 ../common/controldata_utils.c:97
+#: commands/copyfrom.c:1739 commands/extension.c:3538 utils/adt/genfile.c:123
+#: utils/time/snapmgr.c:1430
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "no se pudo abrir archivo «%s» para lectura: %m"
 
-#: ../common/controldata_utils.c:84 ../common/controldata_utils.c:86
+#: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110
 #: access/transam/timeline.c:143 access/transam/timeline.c:362
-#: access/transam/twophase.c:1346 access/transam/xlog.c:3193
-#: access/transam/xlog.c:3996 access/transam/xlogrecovery.c:1199
-#: access/transam/xlogrecovery.c:1291 access/transam/xlogrecovery.c:1328
-#: access/transam/xlogrecovery.c:1388 backup/basebackup.c:1842
-#: commands/extension.c:3466 libpq/hba.c:791 replication/logical/origin.c:745
-#: replication/logical/origin.c:781 replication/logical/reorderbuffer.c:5050
-#: replication/logical/snapbuild.c:2027 replication/slot.c:1946
-#: replication/slot.c:1987 replication/walsender.c:643
+#: access/transam/twophase.c:1353 access/transam/xlog.c:3477
+#: access/transam/xlog.c:4341 access/transam/xlogrecovery.c:1238
+#: access/transam/xlogrecovery.c:1336 access/transam/xlogrecovery.c:1373
+#: access/transam/xlogrecovery.c:1440 backup/basebackup.c:2123
+#: backup/walsummary.c:283 commands/extension.c:3548 libpq/hba.c:764
+#: replication/logical/origin.c:745 replication/logical/origin.c:781
+#: replication/logical/reorderbuffer.c:5113
+#: replication/logical/snapbuild.c:2052 replication/slot.c:2236
+#: replication/slot.c:2277 replication/walsender.c:655
 #: storage/file/buffile.c:470 storage/file/copydir.c:185
-#: utils/adt/genfile.c:197 utils/adt/misc.c:984 utils/cache/relmapper.c:827
+#: utils/adt/genfile.c:197 utils/adt/misc.c:1028 utils/cache/relmapper.c:829
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "no se pudo leer el archivo «%s»: %m"
 
-#: ../common/controldata_utils.c:92 ../common/controldata_utils.c:95
-#: access/transam/xlog.c:3198 access/transam/xlog.c:4001
-#: backup/basebackup.c:1846 replication/logical/origin.c:750
-#: replication/logical/origin.c:789 replication/logical/snapbuild.c:2032
-#: replication/slot.c:1950 replication/slot.c:1991 replication/walsender.c:648
-#: utils/cache/relmapper.c:831
+#: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119
+#: access/transam/xlog.c:3482 access/transam/xlog.c:4346
+#: replication/logical/origin.c:750 replication/logical/origin.c:789
+#: replication/logical/snapbuild.c:2057 replication/slot.c:2240
+#: replication/slot.c:2281 replication/walsender.c:660
+#: utils/cache/relmapper.c:833
 #, c-format
 msgid "could not read file \"%s\": read %d of %zu"
 msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu"
 
-#: ../common/controldata_utils.c:104 ../common/controldata_utils.c:108
-#: ../common/controldata_utils.c:233 ../common/controldata_utils.c:236
-#: access/heap/rewriteheap.c:1175 access/heap/rewriteheap.c:1280
+#: ../common/controldata_utils.c:128 ../common/controldata_utils.c:132
+#: ../common/controldata_utils.c:277 ../common/controldata_utils.c:280
+#: access/heap/rewriteheap.c:1141 access/heap/rewriteheap.c:1246
 #: access/transam/timeline.c:392 access/transam/timeline.c:438
-#: access/transam/timeline.c:512 access/transam/twophase.c:1358
-#: access/transam/twophase.c:1770 access/transam/xlog.c:3039
-#: access/transam/xlog.c:3233 access/transam/xlog.c:3238
-#: access/transam/xlog.c:3374 access/transam/xlog.c:3966
-#: access/transam/xlog.c:4885 commands/copyfrom.c:1729 commands/copyto.c:332
+#: access/transam/timeline.c:512 access/transam/twophase.c:1365
+#: access/transam/twophase.c:1784 access/transam/xlog.c:3323
+#: access/transam/xlog.c:3517 access/transam/xlog.c:3522
+#: access/transam/xlog.c:3658 access/transam/xlog.c:4311
+#: access/transam/xlog.c:5246 commands/copyfrom.c:1799 commands/copyto.c:325
 #: libpq/be-fsstubs.c:470 libpq/be-fsstubs.c:540
 #: replication/logical/origin.c:683 replication/logical/origin.c:822
-#: replication/logical/reorderbuffer.c:5102
-#: replication/logical/snapbuild.c:1798 replication/logical/snapbuild.c:1922
-#: replication/slot.c:1837 replication/slot.c:1998 replication/walsender.c:658
-#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:739
-#: storage/file/fd.c:3650 storage/file/fd.c:3756 utils/cache/relmapper.c:839
-#: utils/cache/relmapper.c:945
+#: replication/logical/reorderbuffer.c:5165
+#: replication/logical/snapbuild.c:1819 replication/logical/snapbuild.c:1943
+#: replication/slot.c:2126 replication/slot.c:2288 replication/walsender.c:670
+#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:828
+#: storage/file/fd.c:3753 storage/file/fd.c:3859 utils/cache/relmapper.c:841
+#: utils/cache/relmapper.c:956
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "no se pudo cerrar el archivo «%s»: %m"
 
-#: ../common/controldata_utils.c:124
+#: ../common/controldata_utils.c:168
 msgid "byte ordering mismatch"
 msgstr "discordancia en orden de bytes"
 
-#: ../common/controldata_utils.c:126
+#: ../common/controldata_utils.c:170
 #, c-format
 msgid ""
 "possible byte ordering mismatch\n"
@@ -202,141 +210,157 @@ msgstr ""
 "serían erróneos, y la instalación de PostgreSQL sería incompatible con este\n"
 "directorio de datos."
 
-#: ../common/controldata_utils.c:181 ../common/controldata_utils.c:186
-#: ../common/file_utils.c:228 ../common/file_utils.c:287
-#: ../common/file_utils.c:361 access/heap/rewriteheap.c:1263
-#: access/transam/timeline.c:111 access/transam/timeline.c:251
-#: access/transam/timeline.c:348 access/transam/twophase.c:1302
-#: access/transam/xlog.c:2946 access/transam/xlog.c:3109
-#: access/transam/xlog.c:3148 access/transam/xlog.c:3341
-#: access/transam/xlog.c:3986 access/transam/xlogrecovery.c:4179
-#: access/transam/xlogrecovery.c:4282 access/transam/xlogutils.c:838
-#: backup/basebackup.c:538 backup/basebackup.c:1512 libpq/hba.c:651
-#: postmaster/syslogger.c:1560 replication/logical/origin.c:735
-#: replication/logical/reorderbuffer.c:3706
-#: replication/logical/reorderbuffer.c:4257
-#: replication/logical/reorderbuffer.c:5030
-#: replication/logical/snapbuild.c:1753 replication/logical/snapbuild.c:1863
-#: replication/slot.c:1918 replication/walsender.c:616
-#: replication/walsender.c:2731 storage/file/copydir.c:151
-#: storage/file/fd.c:714 storage/file/fd.c:3407 storage/file/fd.c:3637
-#: storage/file/fd.c:3727 storage/smgr/md.c:660 utils/cache/relmapper.c:816
-#: utils/cache/relmapper.c:924 utils/error/elog.c:2082
-#: utils/init/miscinit.c:1530 utils/init/miscinit.c:1664
-#: utils/init/miscinit.c:1741 utils/misc/guc.c:4600 utils/misc/guc.c:4650
+#: ../common/controldata_utils.c:225 ../common/controldata_utils.c:230
+#: ../common/file_utils.c:70 ../common/file_utils.c:347
+#: ../common/file_utils.c:406 ../common/file_utils.c:480
+#: access/heap/rewriteheap.c:1229 access/transam/timeline.c:111
+#: access/transam/timeline.c:251 access/transam/timeline.c:348
+#: access/transam/twophase.c:1309 access/transam/xlog.c:3230
+#: access/transam/xlog.c:3393 access/transam/xlog.c:3432
+#: access/transam/xlog.c:3625 access/transam/xlog.c:4331
+#: access/transam/xlogrecovery.c:4264 access/transam/xlogrecovery.c:4367
+#: access/transam/xlogutils.c:836 backup/basebackup.c:547
+#: backup/basebackup.c:1598 backup/walsummary.c:220 libpq/hba.c:624
+#: postmaster/syslogger.c:1511 replication/logical/origin.c:735
+#: replication/logical/reorderbuffer.c:3766
+#: replication/logical/reorderbuffer.c:4320
+#: replication/logical/reorderbuffer.c:5093
+#: replication/logical/snapbuild.c:1774 replication/logical/snapbuild.c:1884
+#: replication/slot.c:2208 replication/walsender.c:628
+#: replication/walsender.c:3051 storage/file/copydir.c:151
+#: storage/file/fd.c:803 storage/file/fd.c:3510 storage/file/fd.c:3740
+#: storage/file/fd.c:3830 storage/smgr/md.c:661 utils/cache/relmapper.c:818
+#: utils/cache/relmapper.c:935 utils/error/elog.c:2124
+#: utils/init/miscinit.c:1580 utils/init/miscinit.c:1714
+#: utils/init/miscinit.c:1791 utils/misc/guc.c:4777 utils/misc/guc.c:4827
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "no se pudo abrir el archivo «%s»: %m"
 
-#: ../common/controldata_utils.c:202 ../common/controldata_utils.c:205
-#: access/transam/twophase.c:1743 access/transam/twophase.c:1752
-#: access/transam/xlog.c:8751 access/transam/xlogfuncs.c:708
-#: backup/basebackup_server.c:175 backup/basebackup_server.c:268
-#: postmaster/postmaster.c:5570 postmaster/syslogger.c:1571
-#: postmaster/syslogger.c:1584 postmaster/syslogger.c:1597
-#: utils/cache/relmapper.c:936
+#: ../common/controldata_utils.c:246 ../common/controldata_utils.c:249
+#: access/transam/twophase.c:1757 access/transam/twophase.c:1766
+#: access/transam/xlog.c:9280 access/transam/xlogfuncs.c:698
+#: backup/basebackup_server.c:173 backup/basebackup_server.c:266
+#: backup/walsummary.c:304 postmaster/postmaster.c:4127
+#: postmaster/syslogger.c:1522 postmaster/syslogger.c:1535
+#: postmaster/syslogger.c:1548 utils/cache/relmapper.c:947
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "no se pudo escribir el archivo «%s»: %m"
 
-#: ../common/controldata_utils.c:219 ../common/controldata_utils.c:224
-#: ../common/file_utils.c:299 ../common/file_utils.c:369
-#: access/heap/rewriteheap.c:959 access/heap/rewriteheap.c:1169
-#: access/heap/rewriteheap.c:1274 access/transam/timeline.c:432
-#: access/transam/timeline.c:506 access/transam/twophase.c:1764
-#: access/transam/xlog.c:3032 access/transam/xlog.c:3227
-#: access/transam/xlog.c:3959 access/transam/xlog.c:8141
-#: access/transam/xlog.c:8186 backup/basebackup_server.c:209
-#: replication/logical/snapbuild.c:1791 replication/slot.c:1823
-#: replication/slot.c:1928 storage/file/fd.c:731 storage/file/fd.c:3748
-#: storage/smgr/md.c:1132 storage/smgr/md.c:1177 storage/sync/sync.c:453
-#: utils/misc/guc.c:4370
+#: ../common/controldata_utils.c:263 ../common/controldata_utils.c:268
+#: ../common/file_utils.c:418 ../common/file_utils.c:488
+#: access/heap/rewriteheap.c:925 access/heap/rewriteheap.c:1135
+#: access/heap/rewriteheap.c:1240 access/transam/timeline.c:432
+#: access/transam/timeline.c:506 access/transam/twophase.c:1778
+#: access/transam/xlog.c:3316 access/transam/xlog.c:3511
+#: access/transam/xlog.c:4304 access/transam/xlog.c:8655
+#: access/transam/xlog.c:8700 backup/basebackup_server.c:207
+#: commands/dbcommands.c:514 replication/logical/snapbuild.c:1812
+#: replication/slot.c:2112 replication/slot.c:2218 storage/file/fd.c:820
+#: storage/file/fd.c:3851 storage/smgr/md.c:1331 storage/smgr/md.c:1376
+#: storage/sync/sync.c:446 utils/misc/guc.c:4530
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
 
-#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:133
-#: ../common/cryptohash_openssl.c:332 ../common/exec.c:550 ../common/exec.c:595
-#: ../common/exec.c:687 ../common/hmac.c:309 ../common/hmac.c:325
-#: ../common/hmac_openssl.c:132 ../common/hmac_openssl.c:327
-#: ../common/md5_common.c:155 ../common/psprintf.c:143
-#: ../common/scram-common.c:258 ../common/stringinfo.c:305 ../port/path.c:751
-#: ../port/path.c:789 ../port/path.c:806 access/transam/twophase.c:1411
-#: access/transam/xlogrecovery.c:589 lib/dshash.c:253 libpq/auth.c:1345
-#: libpq/auth.c:1389 libpq/auth.c:1946 libpq/be-secure-gssapi.c:524
-#: postmaster/bgworker.c:352 postmaster/bgworker.c:934
-#: postmaster/postmaster.c:2534 postmaster/postmaster.c:4127
-#: postmaster/postmaster.c:5495 postmaster/postmaster.c:5866
-#: replication/libpqwalreceiver/libpqwalreceiver.c:308
-#: replication/logical/logical.c:208 replication/walsender.c:686
-#: storage/buffer/localbuf.c:601 storage/file/fd.c:823 storage/file/fd.c:1354
-#: storage/file/fd.c:1515 storage/file/fd.c:2428 storage/ipc/procarray.c:1449
-#: storage/ipc/procarray.c:2232 storage/ipc/procarray.c:2239
-#: storage/ipc/procarray.c:2738 storage/ipc/procarray.c:3374
-#: utils/adt/formatting.c:1690 utils/adt/formatting.c:1812
-#: utils/adt/formatting.c:1935 utils/adt/pg_locale.c:469
-#: utils/adt/pg_locale.c:633 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:514
-#: utils/hash/dynahash.c:614 utils/hash/dynahash.c:1111 utils/mb/mbutils.c:402
-#: utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 utils/mb/mbutils.c:842
-#: utils/misc/guc.c:640 utils/misc/guc.c:665 utils/misc/guc.c:1053
-#: utils/misc/guc.c:4348 utils/misc/tzparser.c:476 utils/mmgr/aset.c:445
-#: utils/mmgr/dsa.c:713 utils/mmgr/dsa.c:735 utils/mmgr/dsa.c:816
-#: utils/mmgr/generation.c:205 utils/mmgr/mcxt.c:1046 utils/mmgr/mcxt.c:1082
-#: utils/mmgr/mcxt.c:1120 utils/mmgr/mcxt.c:1158 utils/mmgr/mcxt.c:1246
-#: utils/mmgr/mcxt.c:1277 utils/mmgr/mcxt.c:1313 utils/mmgr/mcxt.c:1502
-#: utils/mmgr/mcxt.c:1547 utils/mmgr/mcxt.c:1604 utils/mmgr/slab.c:366
+#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:158
+#: ../common/cryptohash_openssl.c:356 ../common/exec.c:562 ../common/exec.c:607
+#: ../common/exec.c:699 ../common/hmac.c:309 ../common/hmac.c:325
+#: ../common/hmac_openssl.c:160 ../common/hmac_openssl.c:357
+#: ../common/md5_common.c:156 ../common/parse_manifest.c:157
+#: ../common/parse_manifest.c:852 ../common/psprintf.c:143
+#: ../common/scram-common.c:268 ../common/stringinfo.c:314 ../port/path.c:828
+#: ../port/path.c:865 ../port/path.c:882 access/transam/twophase.c:1418
+#: access/transam/xlogrecovery.c:564 lib/dshash.c:253 libpq/auth.c:1352
+#: libpq/auth.c:1396 libpq/auth.c:1953 libpq/be-secure-gssapi.c:524
+#: postmaster/bgworker.c:355 postmaster/bgworker.c:945
+#: postmaster/postmaster.c:3560 postmaster/postmaster.c:4021
+#: postmaster/postmaster.c:4383 postmaster/walsummarizer.c:935
+#: replication/libpqwalreceiver/libpqwalreceiver.c:387
+#: replication/logical/logical.c:210 replication/walsender.c:835
+#: storage/buffer/localbuf.c:606 storage/file/fd.c:912 storage/file/fd.c:1443
+#: storage/file/fd.c:1604 storage/file/fd.c:2531 storage/ipc/procarray.c:1465
+#: storage/ipc/procarray.c:2219 storage/ipc/procarray.c:2226
+#: storage/ipc/procarray.c:2731 storage/ipc/procarray.c:3435
+#: utils/adt/formatting.c:1725 utils/adt/formatting.c:1873
+#: utils/adt/formatting.c:2075 utils/adt/pg_locale.c:532
+#: utils/adt/pg_locale.c:696 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:516
+#: utils/hash/dynahash.c:616 utils/hash/dynahash.c:1099 utils/mb/mbutils.c:401
+#: utils/mb/mbutils.c:429 utils/mb/mbutils.c:814 utils/mb/mbutils.c:841
+#: utils/misc/guc.c:649 utils/misc/guc.c:674 utils/misc/guc.c:1062
+#: utils/misc/guc.c:4508 utils/misc/tzparser.c:477 utils/mmgr/aset.c:451
+#: utils/mmgr/bump.c:183 utils/mmgr/dsa.c:707 utils/mmgr/dsa.c:729
+#: utils/mmgr/dsa.c:810 utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1154
+#: utils/mmgr/slab.c:370
 #, c-format
 msgid "out of memory"
 msgstr "memoria agotada"
 
 #: ../common/cryptohash.c:266 ../common/cryptohash.c:272
-#: ../common/cryptohash_openssl.c:344 ../common/cryptohash_openssl.c:352
-#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:339
-#: ../common/hmac_openssl.c:347
+#: ../common/cryptohash_openssl.c:368 ../common/cryptohash_openssl.c:376
+#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:369
+#: ../common/hmac_openssl.c:377
 msgid "success"
 msgstr "éxito"
 
-#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:346
-#: ../common/hmac_openssl.c:341
+#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:370
+#: ../common/hmac_openssl.c:371
 msgid "destination buffer too small"
 msgstr "el búfer de destino es demasiado pequeño"
 
-#: ../common/cryptohash_openssl.c:348 ../common/hmac_openssl.c:343
+#: ../common/cryptohash_openssl.c:372 ../common/hmac_openssl.c:373
 msgid "OpenSSL failure"
 msgstr "falla de openSSL"
 
-#: ../common/exec.c:172
+#: ../common/exec.c:174
 #, c-format
 msgid "invalid binary \"%s\": %m"
 msgstr "binario «%s» no válido: %m"
 
-#: ../common/exec.c:215
+#: ../common/exec.c:217
 #, c-format
 msgid "could not read binary \"%s\": %m"
 msgstr "no se pudo leer el binario «%s»: %m"
 
-#: ../common/exec.c:223
+#: ../common/exec.c:225
 #, c-format
 msgid "could not find a \"%s\" to execute"
 msgstr "no se pudo encontrar un «%s» para ejecutar"
 
-#: ../common/exec.c:250
+#: ../common/exec.c:252
 #, c-format
 msgid "could not resolve path \"%s\" to absolute form: %m"
 msgstr "no se pudo resolver la ruta «%s» a forma absoluta: %m"
 
-#: ../common/exec.c:412 libpq/pqcomm.c:728 storage/ipc/latch.c:1128
-#: storage/ipc/latch.c:1308 storage/ipc/latch.c:1541 storage/ipc/latch.c:1703
-#: storage/ipc/latch.c:1829
+#: ../common/exec.c:382 commands/collationcmds.c:876 commands/copyfrom.c:1723
+#: commands/copyto.c:654 libpq/be-secure-common.c:59
+#, c-format
+msgid "could not execute command \"%s\": %m"
+msgstr "no se pudo ejecutar la orden «%s»: %m"
+
+#: ../common/exec.c:394 libpq/be-secure-common.c:71
+#, c-format
+msgid "could not read from command \"%s\": %m"
+msgstr "no se pudo leer desde la orden «%s»: %m"
+
+#: ../common/exec.c:397
+#, c-format
+msgid "no data was returned by command \"%s\""
+msgstr "la orden «%s» no retornó datos"
+
+#: ../common/exec.c:424 libpq/pqcomm.c:192 storage/ipc/latch.c:1169
+#: storage/ipc/latch.c:1349 storage/ipc/latch.c:1589 storage/ipc/latch.c:1751
+#: storage/ipc/latch.c:1877
 #, c-format
 msgid "%s() failed: %m"
 msgstr "%s() falló: %m"
 
 #: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75
 #: ../common/fe_memutils.c:98 ../common/fe_memutils.c:161
-#: ../common/psprintf.c:145 ../port/path.c:753 ../port/path.c:791
-#: ../port/path.c:808 utils/misc/ps_status.c:168 utils/misc/ps_status.c:176
-#: utils/misc/ps_status.c:203 utils/misc/ps_status.c:211
+#: ../common/psprintf.c:145 ../port/path.c:830 ../port/path.c:867
+#: ../port/path.c:884 utils/misc/ps_status.c:193 utils/misc/ps_status.c:201
+#: utils/misc/ps_status.c:228 utils/misc/ps_status.c:236
 #, c-format
 msgid "out of memory\n"
 msgstr "memoria agotada\n"
@@ -346,39 +370,51 @@ msgstr "memoria agotada\n"
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "no se puede duplicar un puntero nulo (error interno)\n"
 
-#: ../common/file_utils.c:87 ../common/file_utils.c:447
-#: ../common/file_utils.c:451 access/transam/twophase.c:1314
-#: access/transam/xlogarchive.c:112 access/transam/xlogarchive.c:229
-#: backup/basebackup.c:346 backup/basebackup.c:544 backup/basebackup.c:615
-#: commands/copyfrom.c:1679 commands/copyto.c:702 commands/extension.c:3445
-#: commands/tablespace.c:810 commands/tablespace.c:899 postmaster/pgarch.c:590
-#: replication/logical/snapbuild.c:1649 storage/file/fd.c:1879
-#: storage/file/fd.c:1965 storage/file/fd.c:3461 utils/adt/dbsize.c:106
-#: utils/adt/dbsize.c:258 utils/adt/dbsize.c:338 utils/adt/genfile.c:483
-#: utils/adt/genfile.c:658 utils/adt/misc.c:340
+#: ../common/file_utils.c:76 storage/file/fd.c:3516
+#, c-format
+msgid "could not synchronize file system for file \"%s\": %m"
+msgstr "no se pudo sincronizar el sistema de archivos para el archivo «%s»: %m"
+
+#: ../common/file_utils.c:120 ../common/file_utils.c:566
+#: ../common/file_utils.c:570 access/transam/twophase.c:1321
+#: access/transam/xlogarchive.c:111 access/transam/xlogarchive.c:235
+#: backup/basebackup.c:355 backup/basebackup.c:553 backup/basebackup.c:624
+#: backup/walsummary.c:247 backup/walsummary.c:254 commands/copyfrom.c:1749
+#: commands/copyto.c:700 commands/extension.c:3527 commands/tablespace.c:804
+#: commands/tablespace.c:893 postmaster/pgarch.c:680
+#: replication/logical/snapbuild.c:1670 replication/logical/snapbuild.c:2173
+#: storage/file/fd.c:1968 storage/file/fd.c:2054 storage/file/fd.c:3564
+#: utils/adt/dbsize.c:105 utils/adt/dbsize.c:257 utils/adt/dbsize.c:337
+#: utils/adt/genfile.c:437 utils/adt/genfile.c:612 utils/adt/misc.c:340
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo «%s»: %m"
 
-#: ../common/file_utils.c:162 ../common/pgfnames.c:48 ../common/rmtree.c:63
-#: commands/tablespace.c:734 commands/tablespace.c:744
-#: postmaster/postmaster.c:1561 storage/file/fd.c:2830
-#: storage/file/reinit.c:126 utils/adt/misc.c:256 utils/misc/tzparser.c:338
+#: ../common/file_utils.c:130 ../common/file_utils.c:227
+#, c-format
+msgid "this build does not support sync method \"%s\""
+msgstr "esta instalación no soporta el método de sync «%s»"
+
+#: ../common/file_utils.c:151 ../common/file_utils.c:281
+#: ../common/pgfnames.c:48 ../common/rmtree.c:63 commands/tablespace.c:728
+#: commands/tablespace.c:738 postmaster/postmaster.c:1470
+#: storage/file/fd.c:2933 storage/file/reinit.c:126 utils/adt/misc.c:256
+#: utils/misc/tzparser.c:339
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "no se pudo abrir el directorio «%s»: %m"
 
-#: ../common/file_utils.c:196 ../common/pgfnames.c:69 ../common/rmtree.c:104
-#: storage/file/fd.c:2842
+#: ../common/file_utils.c:169 ../common/file_utils.c:315
+#: ../common/pgfnames.c:69 ../common/rmtree.c:106 storage/file/fd.c:2945
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "no se pudo leer el directorio «%s»: %m"
 
-#: ../common/file_utils.c:379 access/transam/xlogarchive.c:383
-#: postmaster/pgarch.c:746 postmaster/syslogger.c:1608
-#: replication/logical/snapbuild.c:1810 replication/slot.c:723
-#: replication/slot.c:1709 replication/slot.c:1851 storage/file/fd.c:749
-#: utils/time/snapmgr.c:1284
+#: ../common/file_utils.c:498 access/transam/xlogarchive.c:389
+#: postmaster/pgarch.c:834 postmaster/syslogger.c:1559
+#: replication/logical/snapbuild.c:1831 replication/slot.c:936
+#: replication/slot.c:1998 replication/slot.c:2140 storage/file/fd.c:838
+#: utils/time/snapmgr.c:1255
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
@@ -387,90 +423,102 @@ msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
 msgid "internal error"
 msgstr "error interno"
 
-#: ../common/jsonapi.c:1144
+#: ../common/jsonapi.c:2121
+msgid "Recursive descent parser cannot use incremental lexer."
+msgstr "El parser recursivo descendiente no puede usar el lexer incremental."
+
+#: ../common/jsonapi.c:2123
+msgid "Incremental parser requires incremental lexer."
+msgstr "El parser incremental requiere el lexer incremental."
+
+#: ../common/jsonapi.c:2125
+msgid "JSON nested too deep, maximum permitted depth is 6400."
+msgstr "JSON anidado demasiado profundamente, profundidad máxima es 6400."
+
+#: ../common/jsonapi.c:2127
 #, c-format
-msgid "Escape sequence \"\\%s\" is invalid."
-msgstr "La secuencia de escape «%s» no es válida."
+msgid "Escape sequence \"\\%.*s\" is invalid."
+msgstr "La secuencia de escape «\\%.*s» no es válida."
 
-#: ../common/jsonapi.c:1147
+#: ../common/jsonapi.c:2131
 #, c-format
 msgid "Character with value 0x%02x must be escaped."
 msgstr "Los caracteres con valor 0x%02x deben ser escapados."
 
-#: ../common/jsonapi.c:1150
+#: ../common/jsonapi.c:2135
 #, c-format
-msgid "Expected end of input, but found \"%s\"."
-msgstr "Se esperaba el fin de la entrada, se encontró «%s»."
+msgid "Expected end of input, but found \"%.*s\"."
+msgstr "Se esperaba el fin de la entrada, se encontró «%.*s»."
 
-#: ../common/jsonapi.c:1153
+#: ../common/jsonapi.c:2138
 #, c-format
-msgid "Expected array element or \"]\", but found \"%s\"."
-msgstr "Se esperaba un elemento de array o «]», se encontró «%s»."
+msgid "Expected array element or \"]\", but found \"%.*s\"."
+msgstr "Se esperaba un elemento de array o «]», se encontró «%.*s»."
 
-#: ../common/jsonapi.c:1156
+#: ../common/jsonapi.c:2141
 #, c-format
-msgid "Expected \",\" or \"]\", but found \"%s\"."
-msgstr "Se esperaba «,» o «]», se encontró «%s»."
+msgid "Expected \",\" or \"]\", but found \"%.*s\"."
+msgstr "Se esperaba «,» o «]», se encontró «%.*s»."
 
-#: ../common/jsonapi.c:1159
+#: ../common/jsonapi.c:2144
 #, c-format
-msgid "Expected \":\", but found \"%s\"."
-msgstr "Se esperaba «:», se encontró «%s»."
+msgid "Expected \":\", but found \"%.*s\"."
+msgstr "Se esperaba «:», se encontró «%.*s»."
 
-#: ../common/jsonapi.c:1162
+#: ../common/jsonapi.c:2147
 #, c-format
-msgid "Expected JSON value, but found \"%s\"."
-msgstr "Se esperaba un valor JSON, se encontró «%s»."
+msgid "Expected JSON value, but found \"%.*s\"."
+msgstr "Se esperaba un valor JSON, se encontró «%.*s»."
 
-#: ../common/jsonapi.c:1165
+#: ../common/jsonapi.c:2150
 msgid "The input string ended unexpectedly."
 msgstr "La cadena de entrada terminó inesperadamente."
 
-#: ../common/jsonapi.c:1167
+#: ../common/jsonapi.c:2152
 #, c-format
-msgid "Expected string or \"}\", but found \"%s\"."
-msgstr "Se esperaba una cadena o «}», se encontró «%s»."
+msgid "Expected string or \"}\", but found \"%.*s\"."
+msgstr "Se esperaba una cadena o «}», se encontró «%.*s»."
 
-#: ../common/jsonapi.c:1170
+#: ../common/jsonapi.c:2155
 #, c-format
-msgid "Expected \",\" or \"}\", but found \"%s\"."
-msgstr "Se esperaba «,» o «}», se encontró «%s»."
+msgid "Expected \",\" or \"}\", but found \"%.*s\"."
+msgstr "Se esperaba «,» o «}», se encontró «%.*s»."
 
-#: ../common/jsonapi.c:1173
+#: ../common/jsonapi.c:2158
 #, c-format
-msgid "Expected string, but found \"%s\"."
-msgstr "Se esperaba una cadena, se encontró «%s»."
+msgid "Expected string, but found \"%.*s\"."
+msgstr "Se esperaba una cadena, se encontró «%.*s»."
 
-#: ../common/jsonapi.c:1176
+#: ../common/jsonapi.c:2161
 #, c-format
-msgid "Token \"%s\" is invalid."
-msgstr "El elemento «%s» no es válido."
+msgid "Token \"%.*s\" is invalid."
+msgstr "El elemento «%.*s» no es válido."
 
-#: ../common/jsonapi.c:1179 jsonpath_scan.l:597
+#: ../common/jsonapi.c:2164 jsonpath_scan.l:608
 #, c-format
 msgid "\\u0000 cannot be converted to text."
 msgstr "\\u0000 no puede ser convertido a text."
 
-#: ../common/jsonapi.c:1181
+#: ../common/jsonapi.c:2166
 msgid "\"\\u\" must be followed by four hexadecimal digits."
 msgstr "«\\u» debe ser seguido por cuatro dígitos hexadecimales."
 
-#: ../common/jsonapi.c:1184
+#: ../common/jsonapi.c:2169
 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8."
 msgstr "Los valores de escape Unicode no se pueden utilizar para valores de código superiores a 007F cuando la codificación no es UTF8."
 
-#: ../common/jsonapi.c:1187
+#: ../common/jsonapi.c:2178
 #, c-format
 msgid "Unicode escape value could not be translated to the server's encoding %s."
 msgstr "El valor de escape Unicode no pudo ser traducido a la codificación del servidor %s."
 
-#: ../common/jsonapi.c:1190 jsonpath_scan.l:630
+#: ../common/jsonapi.c:2185 jsonpath_scan.l:641
 #, c-format
 msgid "Unicode high surrogate must not follow a high surrogate."
 msgstr "Un «high-surrogate» Unicode no puede venir después de un «high-surrogate»."
 
-#: ../common/jsonapi.c:1192 jsonpath_scan.l:641 jsonpath_scan.l:651
-#: jsonpath_scan.l:702
+#: ../common/jsonapi.c:2187 jsonpath_scan.l:652 jsonpath_scan.l:662
+#: jsonpath_scan.l:713
 #, c-format
 msgid "Unicode low surrogate must follow a high surrogate."
 msgstr "Un «low-surrogate» Unicode debe seguir a un «high-surrogate»."
@@ -495,11 +543,168 @@ msgstr "detalle: "
 msgid "hint: "
 msgstr "consejo: "
 
+#: ../common/parse_manifest.c:159 ../common/parse_manifest.c:854
+#, c-format
+msgid "could not initialize checksum of manifest"
+msgstr "no se pudo inicializar la suma de verificación del manifiesto"
+
+#: ../common/parse_manifest.c:203 ../common/parse_manifest.c:260
+msgid "manifest ended unexpectedly"
+msgstr "el manifiesto terminó inesperadamente"
+
+#: ../common/parse_manifest.c:209 ../common/parse_manifest.c:861
+#, c-format
+msgid "could not update checksum of manifest"
+msgstr "no se pudo actualizar la suma de verificación del manifiesto"
+
+#: ../common/parse_manifest.c:301
+msgid "unexpected object start"
+msgstr "inicio de objeto inesperado"
+
+#: ../common/parse_manifest.c:336
+msgid "unexpected object end"
+msgstr "fin de objeto inesperado"
+
+#: ../common/parse_manifest.c:365
+msgid "unexpected array start"
+msgstr "inicio de array inesperado"
+
+#: ../common/parse_manifest.c:390
+msgid "unexpected array end"
+msgstr "fin de array inesperado"
+
+#: ../common/parse_manifest.c:417
+msgid "expected version indicator"
+msgstr "se esperaba indicador de versión"
+
+#: ../common/parse_manifest.c:453
+msgid "unrecognized top-level field"
+msgstr "campo de nivel superior no reconocido"
+
+#: ../common/parse_manifest.c:472
+msgid "unexpected file field"
+msgstr "campo de archivo inesperado"
+
+#: ../common/parse_manifest.c:486
+msgid "unexpected WAL range field"
+msgstr "campo de rango de WAL inesperado"
+
+#: ../common/parse_manifest.c:492
+msgid "unexpected object field"
+msgstr "campo de objeto inesperado"
+
+#: ../common/parse_manifest.c:582
+msgid "unexpected scalar"
+msgstr "escalar inesperado"
+
+#: ../common/parse_manifest.c:608
+msgid "manifest version not an integer"
+msgstr "la versión de manifiesto no es un número entero"
+
+#: ../common/parse_manifest.c:612
+msgid "unexpected manifest version"
+msgstr "versión de manifiesto inesperada"
+
+#: ../common/parse_manifest.c:636
+msgid "system identifier in manifest not an integer"
+msgstr "el identificador de sistema en el manifiesto no es un número entero"
+
+#: ../common/parse_manifest.c:661
+msgid "missing path name"
+msgstr "ruta de archivo faltante"
+
+#: ../common/parse_manifest.c:664
+msgid "both path name and encoded path name"
+msgstr "hay ambos ruta de archivo (path name) y ruta codificada (encoded path name)"
+
+#: ../common/parse_manifest.c:666
+msgid "missing size"
+msgstr "tamaño faltante"
+
+#: ../common/parse_manifest.c:669
+msgid "checksum without algorithm"
+msgstr "suma de comprobación sin algoritmo"
+
+#: ../common/parse_manifest.c:683
+msgid "could not decode file name"
+msgstr "no se pudo decodificar el nombre del archivo"
+
+#: ../common/parse_manifest.c:693
+msgid "file size is not an integer"
+msgstr "el tamaño del archivo no es un número entero"
+
+#: ../common/parse_manifest.c:699 backup/basebackup.c:870
+#, c-format
+msgid "unrecognized checksum algorithm: \"%s\""
+msgstr "algoritmo de suma de comprobación no reconocido: \"%s\""
+
+#: ../common/parse_manifest.c:718
+#, c-format
+msgid "invalid checksum for file \"%s\": \"%s\""
+msgstr "suma de comprobación no válida para el archivo \"%s\": \"%s\""
+
+#: ../common/parse_manifest.c:761
+msgid "missing timeline"
+msgstr "falta el timeline"
+
+#: ../common/parse_manifest.c:763
+msgid "missing start LSN"
+msgstr "falta el LSN de inicio"
+
+#: ../common/parse_manifest.c:765
+msgid "missing end LSN"
+msgstr "falta el LSN de término"
+
+#: ../common/parse_manifest.c:771
+msgid "timeline is not an integer"
+msgstr "el timeline no es un número entero"
+
+#: ../common/parse_manifest.c:774
+msgid "could not parse start LSN"
+msgstr "no se pudo interpretar el LSN de inicio"
+
+#: ../common/parse_manifest.c:777
+msgid "could not parse end LSN"
+msgstr "no se pudo interpretar el LSN de término"
+
+#: ../common/parse_manifest.c:842
+msgid "expected at least 2 lines"
+msgstr "esperado al menos 2 líneas"
+
+#: ../common/parse_manifest.c:845
+msgid "last line not newline-terminated"
+msgstr "última línea no termina en nueva línea"
+
+#: ../common/parse_manifest.c:864
+#, c-format
+msgid "could not finalize checksum of manifest"
+msgstr "no se pudo finalizar la suma de verificación del manifiesto"
+
+#: ../common/parse_manifest.c:868
+#, c-format
+msgid "manifest has no checksum"
+msgstr "el manifiesto no tiene suma de comprobación"
+
+#: ../common/parse_manifest.c:872
+#, c-format
+msgid "invalid manifest checksum: \"%s\""
+msgstr "suma de comprobación de manifiesto no válida: \"%s\""
+
+#: ../common/parse_manifest.c:876
+#, c-format
+msgid "manifest checksum mismatch"
+msgstr "discordancia en la suma de comprobación del manifiesto"
+
+#: ../common/parse_manifest.c:891
+#, c-format
+msgid "could not parse backup manifest: %s"
+msgstr "no se pudo analizar el manifiesto de la copia de seguridad: %s"
+
 #: ../common/percentrepl.c:79 ../common/percentrepl.c:85
 #: ../common/percentrepl.c:118 ../common/percentrepl.c:124
-#: postmaster/postmaster.c:2208 utils/misc/guc.c:3118 utils/misc/guc.c:3154
-#: utils/misc/guc.c:3224 utils/misc/guc.c:4547 utils/misc/guc.c:6721
-#: utils/misc/guc.c:6762
+#: tcop/backend_startup.c:741 utils/misc/guc.c:3167 utils/misc/guc.c:3208
+#: utils/misc/guc.c:3283 utils/misc/guc.c:4712 utils/misc/guc.c:6931
+#: utils/misc/guc.c:6972
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "valor no válido para el parámetro «%s»: «%s»"
@@ -510,10 +715,9 @@ msgid "String ends unexpectedly after escape character \"%%\"."
 msgstr "La cadena termina inesperadamente luego del carácter de escape: «%%»"
 
 #: ../common/percentrepl.c:119 ../common/percentrepl.c:125
-#, fuzzy, c-format
-#| msgid "String contains unexpected escape sequence \"%c\"."
+#, c-format
 msgid "String contains unexpected placeholder \"%%%c\"."
-msgstr "La cadena contiene la secuencia de escape inesperada «%c»."
+msgstr "La cadena contiene la secuencia de reemplazo inesperada «%c»."
 
 #: ../common/pgfnames.c:74
 #, c-format
@@ -560,45 +764,45 @@ msgstr "no se pudo re-ejecutar con el token restringido: código de error %lu"
 msgid "could not get exit code from subprocess: error code %lu"
 msgstr "no se pudo obtener el código de salida del subproceso»: código de error %lu"
 
-#: ../common/rmtree.c:95 access/heap/rewriteheap.c:1248
-#: access/transam/twophase.c:1703 access/transam/xlogarchive.c:120
-#: access/transam/xlogarchive.c:393 postmaster/postmaster.c:1143
-#: postmaster/syslogger.c:1537 replication/logical/origin.c:591
-#: replication/logical/reorderbuffer.c:4526
-#: replication/logical/snapbuild.c:1691 replication/logical/snapbuild.c:2121
-#: replication/slot.c:1902 storage/file/fd.c:789 storage/file/fd.c:3275
-#: storage/file/fd.c:3337 storage/file/reinit.c:262 storage/ipc/dsm.c:316
-#: storage/smgr/md.c:380 storage/smgr/md.c:439 storage/sync/sync.c:250
-#: utils/time/snapmgr.c:1608
+#: ../common/rmtree.c:97 access/heap/rewriteheap.c:1214
+#: access/transam/twophase.c:1717 access/transam/xlogarchive.c:119
+#: access/transam/xlogarchive.c:399 postmaster/postmaster.c:1048
+#: postmaster/syslogger.c:1488 replication/logical/origin.c:591
+#: replication/logical/reorderbuffer.c:4589
+#: replication/logical/snapbuild.c:1712 replication/logical/snapbuild.c:2146
+#: replication/slot.c:2192 storage/file/fd.c:878 storage/file/fd.c:3378
+#: storage/file/fd.c:3440 storage/file/reinit.c:261 storage/ipc/dsm.c:343
+#: storage/smgr/md.c:381 storage/smgr/md.c:440 storage/sync/sync.c:243
+#: utils/time/snapmgr.c:1591
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "no se pudo eliminar el archivo «%s»: %m"
 
-#: ../common/rmtree.c:122 commands/tablespace.c:773 commands/tablespace.c:786
-#: commands/tablespace.c:821 commands/tablespace.c:911 storage/file/fd.c:3267
-#: storage/file/fd.c:3676
+#: ../common/rmtree.c:124 commands/tablespace.c:767 commands/tablespace.c:780
+#: commands/tablespace.c:815 commands/tablespace.c:905 storage/file/fd.c:3370
+#: storage/file/fd.c:3779
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "no se pudo eliminar el directorio «%s»: %m"
 
-#: ../common/scram-common.c:271
+#: ../common/scram-common.c:281
 msgid "could not encode salt"
 msgstr "no se pudo codificar la sal"
 
-#: ../common/scram-common.c:287
+#: ../common/scram-common.c:297
 msgid "could not encode stored key"
 msgstr "no se pudo codificar la llave almacenada"
 
-#: ../common/scram-common.c:304
+#: ../common/scram-common.c:314
 msgid "could not encode server key"
 msgstr "no se pudo codificar la llave del servidor"
 
-#: ../common/stringinfo.c:306
+#: ../common/stringinfo.c:315
 #, c-format
 msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes."
 msgstr "No se puede agrandar el búfer de cadena que ya tiene %d bytes en %d bytes adicionales."
 
-#: ../common/stringinfo.c:310
+#: ../common/stringinfo.c:319
 #, c-format
 msgid ""
 "out of memory\n"
@@ -614,7 +818,7 @@ msgstr ""
 msgid "could not look up effective user ID %ld: %s"
 msgstr "no se pudo encontrar el ID de usuario efectivo %ld: %s"
 
-#: ../common/username.c:45 libpq/auth.c:1881
+#: ../common/username.c:45 libpq/auth.c:1888
 msgid "user does not exist"
 msgstr "usuario no existe"
 
@@ -706,22 +910,22 @@ msgstr "Reintentando durante 30 segundos."
 msgid "You might have antivirus, backup, or similar software interfering with the database system."
 msgstr "Es posible que tenga antivirus, sistema de respaldos, o software similar interfiriendo con el sistema de bases de datos."
 
-#: ../port/path.c:775
+#: ../port/path.c:852
 #, c-format
-msgid "could not get current working directory: %s\n"
-msgstr "no se pudo obtener el directorio de trabajo actual: %s\n"
+msgid "could not get current working directory: %m\n"
+msgstr "no se pudo obtener el directorio de trabajo actual: %m\n"
 
 #: ../port/strerror.c:72
 #, c-format
 msgid "operating system error %d"
 msgstr "error %d de sistema operativo"
 
-#: ../port/thread.c:50 ../port/thread.c:86
+#: ../port/user.c:43 ../port/user.c:79
 #, c-format
 msgid "could not look up local user ID %d: %s"
 msgstr "no se pudo buscar el usuario local de ID %d: %s"
 
-#: ../port/thread.c:55 ../port/thread.c:91
+#: ../port/user.c:48 ../port/user.c:84
 #, c-format
 msgid "local user with ID %d does not exist"
 msgstr "no existe un usuario local con ID %d"
@@ -741,115 +945,104 @@ msgstr "no se pudo obtener el SID del grupo PowerUsers: código de error %lu\n"
 msgid "could not check access token membership: error code %lu\n"
 msgstr "no se pudo verificar el token de proceso: código de error %lu\n"
 
-#: access/brin/brin.c:216
+#: access/brin/brin.c:405
 #, c-format
 msgid "request for BRIN range summarization for index \"%s\" page %u was not recorded"
 msgstr "petición para sumarización BRIN de rango para el índice «%s» página %u no fue registrada"
 
-#: access/brin/brin.c:1036 access/brin/brin.c:1137 access/gin/ginfast.c:1035
-#: access/transam/xlogfuncs.c:189 access/transam/xlogfuncs.c:214
-#: access/transam/xlogfuncs.c:247 access/transam/xlogfuncs.c:286
-#: access/transam/xlogfuncs.c:307 access/transam/xlogfuncs.c:328
-#: access/transam/xlogfuncs.c:398 access/transam/xlogfuncs.c:456
+#: access/brin/brin.c:1385 access/brin/brin.c:1493 access/gin/ginfast.c:1040
+#: access/transam/xlogfuncs.c:183 access/transam/xlogfuncs.c:208
+#: access/transam/xlogfuncs.c:241 access/transam/xlogfuncs.c:280
+#: access/transam/xlogfuncs.c:301 access/transam/xlogfuncs.c:322
+#: access/transam/xlogfuncs.c:388 access/transam/xlogfuncs.c:446
 #, c-format
 msgid "recovery is in progress"
 msgstr "la recuperación está en proceso"
 
-#: access/brin/brin.c:1037 access/brin/brin.c:1138
+#: access/brin/brin.c:1386 access/brin/brin.c:1494
 #, c-format
 msgid "BRIN control functions cannot be executed during recovery."
 msgstr "Las funciones de control de BRIN no pueden ejecutarse durante la recuperación."
 
-#: access/brin/brin.c:1042 access/brin/brin.c:1143
+#: access/brin/brin.c:1391 access/brin/brin.c:1499
 #, c-format
 msgid "block number out of range: %lld"
 msgstr "número de bloque fuera de rango: %lld"
 
-#: access/brin/brin.c:1086 access/brin/brin.c:1169
+#: access/brin/brin.c:1436 access/brin/brin.c:1525
 #, c-format
 msgid "\"%s\" is not a BRIN index"
 msgstr "«%s» no es un índice BRIN"
 
-#: access/brin/brin.c:1102 access/brin/brin.c:1185
+#: access/brin/brin.c:1452 access/brin/brin.c:1541
 #, c-format
 msgid "could not open parent table of index \"%s\""
 msgstr "no se pudo abrir la tabla padre del índice «%s»"
 
-#: access/brin/brin_bloom.c:750 access/brin/brin_bloom.c:792
-#: access/brin/brin_minmax_multi.c:3011 access/brin/brin_minmax_multi.c:3148
-#: statistics/dependencies.c:663 statistics/dependencies.c:716
-#: statistics/mcv.c:1484 statistics/mcv.c:1515 statistics/mvdistinct.c:344
-#: statistics/mvdistinct.c:397 utils/adt/pseudotypes.c:43
-#: utils/adt/pseudotypes.c:77 utils/adt/tsgistidx.c:93
+#: access/brin/brin.c:1461 access/brin/brin.c:1557 access/gin/ginfast.c:1085
+#: parser/parse_utilcmd.c:2277
 #, c-format
-msgid "cannot accept a value of type %s"
-msgstr "no se puede aceptar un valor de tipo %s"
+msgid "index \"%s\" is not valid"
+msgstr "el índice «%s» no es válido"
 
-#: access/brin/brin_minmax_multi.c:2171 access/brin/brin_minmax_multi.c:2178
-#: access/brin/brin_minmax_multi.c:2185 utils/adt/timestamp.c:941
-#: utils/adt/timestamp.c:1518 utils/adt/timestamp.c:2708
-#: utils/adt/timestamp.c:2778 utils/adt/timestamp.c:2795
-#: utils/adt/timestamp.c:2848 utils/adt/timestamp.c:2887
-#: utils/adt/timestamp.c:3184 utils/adt/timestamp.c:3189
-#: utils/adt/timestamp.c:3194 utils/adt/timestamp.c:3244
-#: utils/adt/timestamp.c:3251 utils/adt/timestamp.c:3258
-#: utils/adt/timestamp.c:3278 utils/adt/timestamp.c:3285
-#: utils/adt/timestamp.c:3292 utils/adt/timestamp.c:3322
-#: utils/adt/timestamp.c:3330 utils/adt/timestamp.c:3374
-#: utils/adt/timestamp.c:3796 utils/adt/timestamp.c:3920
-#: utils/adt/timestamp.c:4440
+#: access/brin/brin_bloom.c:783 access/brin/brin_bloom.c:825
+#: access/brin/brin_minmax_multi.c:2993 access/brin/brin_minmax_multi.c:3130
+#: statistics/dependencies.c:661 statistics/dependencies.c:714
+#: statistics/mcv.c:1480 statistics/mcv.c:1511 statistics/mvdistinct.c:343
+#: statistics/mvdistinct.c:396 utils/adt/pseudotypes.c:40
+#: utils/adt/pseudotypes.c:74 utils/adt/tsgistidx.c:94
 #, c-format
-msgid "interval out of range"
-msgstr "interval fuera de rango"
+msgid "cannot accept a value of type %s"
+msgstr "no se puede aceptar un valor de tipo %s"
 
-#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362
-#: access/brin/brin_pageops.c:852 access/gin/ginentrypage.c:110
-#: access/gist/gist.c:1442 access/spgist/spgdoinsert.c:2002
-#: access/spgist/spgdoinsert.c:2279
+#: access/brin/brin_pageops.c:75 access/brin/brin_pageops.c:361
+#: access/brin/brin_pageops.c:851 access/gin/ginentrypage.c:109
+#: access/gist/gist.c:1463 access/spgist/spgdoinsert.c:2001
+#: access/spgist/spgdoinsert.c:2278
 #, c-format
 msgid "index row size %zu exceeds maximum %zu for index \"%s\""
 msgstr "el tamaño de fila de índice %zu excede el máximo %zu para el índice «%s»"
 
-#: access/brin/brin_revmap.c:393 access/brin/brin_revmap.c:399
+#: access/brin/brin_revmap.c:383 access/brin/brin_revmap.c:389
 #, c-format
 msgid "corrupted BRIN index: inconsistent range map"
 msgstr "índice BRIN corrompido: mapa de rango inconsistente"
 
-#: access/brin/brin_revmap.c:593
+#: access/brin/brin_revmap.c:583
 #, c-format
 msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u"
 msgstr "tipo de página 0x%04X inesperado en el índice BRIN «%s» bloque %u"
 
-#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:151
-#: access/gist/gistvalidate.c:153 access/hash/hashvalidate.c:139
+#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:149
+#: access/gist/gistvalidate.c:152 access/hash/hashvalidate.c:139
 #: access/nbtree/nbtvalidate.c:120 access/spgist/spgvalidate.c:189
 #, c-format
 msgid "operator family \"%s\" of access method %s contains function %s with invalid support number %d"
 msgstr "familia de operadores «%s» de método de acceso %s contiene la función %s con número de soporte %d no válido"
 
-#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:163
-#: access/gist/gistvalidate.c:165 access/hash/hashvalidate.c:118
+#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:161
+#: access/gist/gistvalidate.c:164 access/hash/hashvalidate.c:118
 #: access/nbtree/nbtvalidate.c:132 access/spgist/spgvalidate.c:201
 #, c-format
 msgid "operator family \"%s\" of access method %s contains function %s with wrong signature for support number %d"
 msgstr "familia de operadores «%s» de método de acceso %s contiene la función %s con signatura incorrecta para el número de soporte %d"
 
-#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:182
-#: access/gist/gistvalidate.c:185 access/hash/hashvalidate.c:160
+#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:180
+#: access/gist/gistvalidate.c:184 access/hash/hashvalidate.c:160
 #: access/nbtree/nbtvalidate.c:152 access/spgist/spgvalidate.c:221
 #, c-format
 msgid "operator family \"%s\" of access method %s contains operator %s with invalid strategy number %d"
 msgstr "familia de operadores «%s» de método de acceso %s contiene el operador %s con número de estrategia %d no válido"
 
-#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:195
+#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:193
 #: access/hash/hashvalidate.c:173 access/nbtree/nbtvalidate.c:165
 #: access/spgist/spgvalidate.c:237
 #, c-format
 msgid "operator family \"%s\" of access method %s contains invalid ORDER BY specification for operator %s"
 msgstr "familia de operadores «%s» de método de acceso %s contiene especificación ORDER BY no válida para el operador %s"
 
-#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:208
-#: access/gist/gistvalidate.c:233 access/hash/hashvalidate.c:186
+#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:206
+#: access/gist/gistvalidate.c:232 access/hash/hashvalidate.c:186
 #: access/nbtree/nbtvalidate.c:178 access/spgist/spgvalidate.c:253
 #, c-format
 msgid "operator family \"%s\" of access method %s contains operator %s with wrong signature"
@@ -872,38 +1065,38 @@ msgstr "la(s) función/funciones de soporte para los tipos %3$s y %4$s faltan de
 msgid "operator class \"%s\" of access method %s is missing operator(s)"
 msgstr "faltan operadores de la clase de operadores «%s» del método de acceso %s"
 
-#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:250
-#: access/gist/gistvalidate.c:274
+#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:248
+#: access/gist/gistvalidate.c:273
 #, c-format
 msgid "operator class \"%s\" of access method %s is missing support function %d"
 msgstr "falta la función de soporte %3$d de la clase de operadores «%1$s» del método de acceso %2$s"
 
-#: access/common/attmap.c:122
+#: access/common/attmap.c:121
 #, c-format
 msgid "Returned type %s does not match expected type %s in column %d."
 msgstr "El tipo retornado %s no coincide con el tipo de registro esperado %s en la columna %d."
 
-#: access/common/attmap.c:150
+#: access/common/attmap.c:149
 #, c-format
 msgid "Number of returned columns (%d) does not match expected column count (%d)."
 msgstr "La cantidad de columnas retornadas (%d) no coincide con la cantidad esperada de columnas (%d)."
 
-#: access/common/attmap.c:234 access/common/attmap.c:246
+#: access/common/attmap.c:233 access/common/attmap.c:245
 #, c-format
 msgid "could not convert row type"
 msgstr "no se pudo convertir el tipo de registro"
 
-#: access/common/attmap.c:235
+#: access/common/attmap.c:234
 #, c-format
 msgid "Attribute \"%s\" of type %s does not match corresponding attribute of type %s."
 msgstr "El atributo «%s» de tipo %s no coincide con el atributo correspondiente de tipo %s."
 
-#: access/common/attmap.c:247
+#: access/common/attmap.c:246
 #, c-format
 msgid "Attribute \"%s\" of type %s does not exist in type %s."
 msgstr "El atributo «%s» de tipo %s no existe en el tipo %s."
 
-#: access/common/heaptuple.c:1036 access/common/heaptuple.c:1371
+#: access/common/heaptuple.c:1132 access/common/heaptuple.c:1467
 #, c-format
 msgid "number of columns (%d) exceeds limit (%d)"
 msgstr "el número de columnas (%d) excede el límite (%d)"
@@ -913,124 +1106,110 @@ msgstr "el número de columnas (%d) excede el límite (%d)"
 msgid "number of index columns (%d) exceeds limit (%d)"
 msgstr "el número de columnas del índice (%d) excede el límite (%d)"
 
-#: access/common/indextuple.c:209 access/spgist/spgutils.c:950
+#: access/common/indextuple.c:209 access/spgist/spgutils.c:970
 #, c-format
 msgid "index row requires %zu bytes, maximum size is %zu"
 msgstr "fila de índice requiere %zu bytes, tamaño máximo es %zu"
 
-#: access/common/printtup.c:292 tcop/fastpath.c:107 tcop/fastpath.c:454
-#: tcop/postgres.c:1944
+#: access/common/printtup.c:292 commands/explain.c:5376 tcop/fastpath.c:107
+#: tcop/fastpath.c:454 tcop/postgres.c:1956
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "código de formato no soportado: %d"
 
-#: access/common/reloptions.c:521 access/common/reloptions.c:532
+#: access/common/reloptions.c:519 access/common/reloptions.c:530
 msgid "Valid values are \"on\", \"off\", and \"auto\"."
 msgstr "Los valores aceptables son «on», «off» y «auto»."
 
-#: access/common/reloptions.c:543
+#: access/common/reloptions.c:541
 msgid "Valid values are \"local\" and \"cascaded\"."
 msgstr "Los valores aceptables son «local» y «cascaded»."
 
-#: access/common/reloptions.c:691
+#: access/common/reloptions.c:689
 #, c-format
 msgid "user-defined relation parameter types limit exceeded"
 msgstr "el límite de tipos de parámetros de relación definidos por el usuario ha sido excedido"
 
-#: access/common/reloptions.c:1233
+#: access/common/reloptions.c:1231
 #, c-format
 msgid "RESET must not include values for parameters"
 msgstr "RESET no debe incluir valores de parámetros"
 
-#: access/common/reloptions.c:1265
+#: access/common/reloptions.c:1263
 #, c-format
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "espacio de nombre de parámetro «%s» no reconocido"
 
-#: access/common/reloptions.c:1302 commands/variable.c:1167
+#: access/common/reloptions.c:1300 commands/variable.c:1214
 #, c-format
 msgid "tables declared WITH OIDS are not supported"
 msgstr "las tablas declaradas WITH OIDS no están soportadas"
 
-#: access/common/reloptions.c:1470
+#: access/common/reloptions.c:1468
 #, c-format
 msgid "unrecognized parameter \"%s\""
 msgstr "parámetro «%s» no reconocido"
 
-#: access/common/reloptions.c:1582
+#: access/common/reloptions.c:1580
 #, c-format
 msgid "parameter \"%s\" specified more than once"
 msgstr "el parámetro «%s» fue especificado más de una vez"
 
-#: access/common/reloptions.c:1598
+#: access/common/reloptions.c:1596
 #, c-format
 msgid "invalid value for boolean option \"%s\": %s"
 msgstr "valor no válido para la opción booleana «%s»: «%s»"
 
-#: access/common/reloptions.c:1610
+#: access/common/reloptions.c:1608
 #, c-format
 msgid "invalid value for integer option \"%s\": %s"
 msgstr "valor no válido para la opción entera «%s»: «%s»"
 
-#: access/common/reloptions.c:1616 access/common/reloptions.c:1636
+#: access/common/reloptions.c:1614 access/common/reloptions.c:1634
 #, c-format
 msgid "value %s out of bounds for option \"%s\""
 msgstr "el valor %s está fuera del rango de la opción «%s»"
 
-#: access/common/reloptions.c:1618
+#: access/common/reloptions.c:1616
 #, c-format
 msgid "Valid values are between \"%d\" and \"%d\"."
 msgstr "Los valores aceptables están entre «%d» y «%d»."
 
-#: access/common/reloptions.c:1630
+#: access/common/reloptions.c:1628
 #, c-format
 msgid "invalid value for floating point option \"%s\": %s"
 msgstr "valor no válido para la opción de coma flotante «%s»: «%s»"
 
-#: access/common/reloptions.c:1638
+#: access/common/reloptions.c:1636
 #, c-format
 msgid "Valid values are between \"%f\" and \"%f\"."
 msgstr "Valores aceptables están entre «%f» y «%f»."
 
-#: access/common/reloptions.c:1660
+#: access/common/reloptions.c:1658
 #, c-format
 msgid "invalid value for enum option \"%s\": %s"
 msgstr "valor no válido para la opción enum «%s»: %s"
 
-#: access/common/reloptions.c:1991
-#, fuzzy, c-format
-#| msgid "cannot truncate only a partitioned table"
+#: access/common/reloptions.c:1989
+#, c-format
 msgid "cannot specify storage parameters for a partitioned table"
-msgstr "no se puede truncar ONLY una tabla particionada"
+msgstr "no se puede especificar parámetros de almacenamiento para una tabla particionada"
 
-#: access/common/reloptions.c:1992
+#: access/common/reloptions.c:1990
 #, c-format
-msgid "Specify storage parameters for its leaf partitions, instead."
-msgstr ""
+msgid "Specify storage parameters for its leaf partitions instead."
+msgstr "Especifique parámetros de almacenamiento para sus particiones hijas en su lugar."
 
-#: access/common/toast_compression.c:33
+#: access/common/toast_compression.c:31
 #, c-format
 msgid "compression method lz4 not supported"
 msgstr "el método de compresión lz4 no está soportado"
 
-#: access/common/toast_compression.c:34
+#: access/common/toast_compression.c:32
 #, c-format
 msgid "This functionality requires the server to be built with lz4 support."
 msgstr "Esta funcionalidad requiere que el servidor haya sido construido con soporte lz4."
 
-#: access/common/tupdesc.c:837 commands/tablecmds.c:6953
-#: commands/tablecmds.c:12973
-#, fuzzy, c-format
-#| msgid "mismatched array dimensions"
-msgid "too many array dimensions"
-msgstr "las dimensiones de array no coinciden"
-
-#: access/common/tupdesc.c:842 parser/parse_clause.c:772
-#: parser/parse_relation.c:1912
-#, c-format
-msgid "column \"%s\" cannot be declared SETOF"
-msgstr "la columna «%s» no puede ser declarada SETOF"
-
 #: access/gin/ginbulk.c:44
 #, c-format
 msgid "posting list is too long"
@@ -1038,20 +1217,20 @@ msgstr "la «posting list» es demasiado larga"
 
 #: access/gin/ginbulk.c:45
 #, c-format
-msgid "Reduce maintenance_work_mem."
-msgstr "Reduzca maintenance_work_mem."
+msgid "Reduce \"maintenance_work_mem\"."
+msgstr "Reduzca «maintenance_work_mem»."
 
-#: access/gin/ginfast.c:1036
+#: access/gin/ginfast.c:1041
 #, c-format
 msgid "GIN pending list cannot be cleaned up during recovery."
 msgstr "La lista de pendientes GIN no puede limpiarse durante la recuperación."
 
-#: access/gin/ginfast.c:1043
+#: access/gin/ginfast.c:1048
 #, c-format
 msgid "\"%s\" is not a GIN index"
 msgstr "«%s» no es un índice GIN"
 
-#: access/gin/ginfast.c:1054
+#: access/gin/ginfast.c:1059
 #, c-format
 msgid "cannot access temporary indexes of other sessions"
 msgstr "no se pueden acceder índices temporales de otras sesiones"
@@ -1071,50 +1250,50 @@ msgstr "los índices GIN antiguos no soportan recorridos del índice completo ni
 msgid "To fix this, do REINDEX INDEX \"%s\"."
 msgstr "Para corregir esto, ejecute REINDEX INDEX \"%s\"."
 
-#: access/gin/ginutil.c:146 executor/execExpr.c:2169
-#: utils/adt/arrayfuncs.c:3996 utils/adt/arrayfuncs.c:6683
-#: utils/adt/rowtypes.c:984
+#: access/gin/ginutil.c:147 executor/execExpr.c:2200
+#: utils/adt/arrayfuncs.c:4016 utils/adt/arrayfuncs.c:6712
+#: utils/adt/rowtypes.c:974
 #, c-format
 msgid "could not identify a comparison function for type %s"
 msgstr "no se pudo identificar una función de comparación para el tipo %s"
 
-#: access/gin/ginvalidate.c:92 access/gist/gistvalidate.c:93
+#: access/gin/ginvalidate.c:90 access/gist/gistvalidate.c:92
 #: access/hash/hashvalidate.c:102 access/spgist/spgvalidate.c:102
 #, c-format
 msgid "operator family \"%s\" of access method %s contains support function %s with different left and right input types"
 msgstr "la familia de operadores «%s» del método de acceso %s contiene el procedimiento de soporte %s registrado entre tipos distintos"
 
-#: access/gin/ginvalidate.c:260
+#: access/gin/ginvalidate.c:258
 #, c-format
 msgid "operator class \"%s\" of access method %s is missing support function %d or %d"
 msgstr "falta la función de soporte %3$d o %4$d de la clase de operadores «%1$s» del método de accesso %2$s"
 
-#: access/gin/ginvalidate.c:333 access/gist/gistvalidate.c:350
+#: access/gin/ginvalidate.c:331 access/gist/gistvalidate.c:349
 #: access/spgist/spgvalidate.c:387
 #, c-format
 msgid "support function number %d is invalid for access method %s"
 msgstr "el número de función de soporte %d no es válido para el método de acceso %s"
 
-#: access/gist/gist.c:759 access/gist/gistvacuum.c:426
+#: access/gist/gist.c:760 access/gist/gistvacuum.c:426
 #, c-format
 msgid "index \"%s\" contains an inner tuple marked as invalid"
 msgstr "el índice «%s» contiene una tupla interna marcada como no válida"
 
-#: access/gist/gist.c:761 access/gist/gistvacuum.c:428
+#: access/gist/gist.c:762 access/gist/gistvacuum.c:428
 #, c-format
 msgid "This is caused by an incomplete page split at crash recovery before upgrading to PostgreSQL 9.1."
 msgstr "Esto es causado por una división de página incompleta durante una recuperación antes de actualizar a PostgreSQL 9.1."
 
-#: access/gist/gist.c:762 access/gist/gistutil.c:801 access/gist/gistutil.c:812
-#: access/gist/gistvacuum.c:429 access/hash/hashutil.c:227
-#: access/hash/hashutil.c:238 access/hash/hashutil.c:250
-#: access/hash/hashutil.c:271 access/nbtree/nbtpage.c:809
-#: access/nbtree/nbtpage.c:820
+#: access/gist/gist.c:763 access/gist/gistutil.c:800 access/gist/gistutil.c:811
+#: access/gist/gistvacuum.c:429 access/hash/hashutil.c:226
+#: access/hash/hashutil.c:237 access/hash/hashutil.c:249
+#: access/hash/hashutil.c:270 access/nbtree/nbtpage.c:813
+#: access/nbtree/nbtpage.c:824
 #, c-format
 msgid "Please REINDEX it."
 msgstr "Por favor aplíquele REINDEX."
 
-#: access/gist/gist.c:1176
+#: access/gist/gist.c:1196
 #, c-format
 msgid "fixing incomplete split in index \"%s\", block %u"
 msgstr "arreglando división incompleta en el índice «%s», bloque %u"
@@ -1129,52 +1308,52 @@ msgstr "el método picksplit para la columna %d del índice «%s» falló"
 msgid "The index is not optimal. To optimize it, contact a developer, or try to use the column as the second one in the CREATE INDEX command."
 msgstr "El índice no es óptimo.  Para optimizarlo, contacte un desarrollador o trate de usar la columna en segunda posición en la orden CREATE INDEX."
 
-#: access/gist/gistutil.c:798 access/hash/hashutil.c:224
-#: access/nbtree/nbtpage.c:806
+#: access/gist/gistutil.c:797 access/hash/hashutil.c:223
+#: access/nbtree/nbtpage.c:810
 #, c-format
 msgid "index \"%s\" contains unexpected zero page at block %u"
 msgstr "índice «%s» contiene páginas vacías no esperadas en el bloque %u"
 
-#: access/gist/gistutil.c:809 access/hash/hashutil.c:235
-#: access/hash/hashutil.c:247 access/nbtree/nbtpage.c:817
+#: access/gist/gistutil.c:808 access/hash/hashutil.c:234
+#: access/hash/hashutil.c:246 access/nbtree/nbtpage.c:821
 #, c-format
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "el índice «%s» contiene una página corrupta en el bloque %u"
 
-#: access/gist/gistvalidate.c:203
+#: access/gist/gistvalidate.c:202
 #, c-format
 msgid "operator family \"%s\" of access method %s contains unsupported ORDER BY specification for operator %s"
 msgstr "la familia de operadores «%s» del método de acceso %s contiene una especificación ORDER BY no soportada para el operador %s"
 
-#: access/gist/gistvalidate.c:214
+#: access/gist/gistvalidate.c:213
 #, c-format
 msgid "operator family \"%s\" of access method %s contains incorrect ORDER BY opfamily specification for operator %s"
 msgstr "la familia de operadores «%s» del método de acceso %s contiene una especificación de familia en ORDER BY incorrecta para el operador %s"
 
-#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:333
-#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1064
+#: access/hash/hashfunc.c:277 access/hash/hashfunc.c:333
+#: utils/adt/varchar.c:1008 utils/adt/varchar.c:1065
 #, c-format
 msgid "could not determine which collation to use for string hashing"
 msgstr "no se pudo determinar qué ordenamiento usar para el hashing de cadenas"
 
-#: access/hash/hashfunc.c:280 access/hash/hashfunc.c:334 catalog/heap.c:668
-#: catalog/heap.c:674 commands/createas.c:206 commands/createas.c:515
-#: commands/indexcmds.c:2023 commands/tablecmds.c:17490 commands/view.c:86
-#: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1648
-#: utils/adt/formatting.c:1770 utils/adt/formatting.c:1893 utils/adt/like.c:191
-#: utils/adt/like_support.c:1025 utils/adt/varchar.c:739
-#: utils/adt/varchar.c:1010 utils/adt/varchar.c:1065 utils/adt/varlena.c:1518
+#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334 catalog/heap.c:672
+#: catalog/heap.c:678 commands/createas.c:201 commands/createas.c:508
+#: commands/indexcmds.c:2021 commands/tablecmds.c:18178 commands/view.c:81
+#: regex/regc_pg_locale.c:245 utils/adt/formatting.c:1653
+#: utils/adt/formatting.c:1801 utils/adt/formatting.c:1991 utils/adt/like.c:189
+#: utils/adt/like_support.c:1024 utils/adt/varchar.c:738
+#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1066 utils/adt/varlena.c:1521
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Use la cláusula COLLATE para establecer el ordenamiento explícitamente."
 
-#: access/hash/hashinsert.c:86
+#: access/hash/hashinsert.c:84
 #, c-format
 msgid "index row size %zu exceeds hash maximum %zu"
 msgstr "el tamaño de fila de índice %zu excede el máximo para hash %zu"
 
-#: access/hash/hashinsert.c:88 access/spgist/spgdoinsert.c:2006
-#: access/spgist/spgdoinsert.c:2283 access/spgist/spgutils.c:1011
+#: access/hash/hashinsert.c:86 access/spgist/spgdoinsert.c:2005
+#: access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1031
 #, c-format
 msgid "Values larger than a buffer page cannot be indexed."
 msgstr "Valores mayores a una página del buffer no pueden ser indexados."
@@ -1189,17 +1368,17 @@ msgstr "número no válido de bloque de «overflow» %u"
 msgid "out of overflow pages in hash index \"%s\""
 msgstr "se agotaron las páginas de desbordamiento en el índice hash «%s»"
 
-#: access/hash/hashsearch.c:315
+#: access/hash/hashsearch.c:311
 #, c-format
 msgid "hash indexes do not support whole-index scans"
 msgstr "los índices hash no soportan recorridos del índice completo"
 
-#: access/hash/hashutil.c:263
+#: access/hash/hashutil.c:262
 #, c-format
 msgid "index \"%s\" is not a hash index"
 msgstr "el índice «%s» no es un índice hash"
 
-#: access/hash/hashutil.c:269
+#: access/hash/hashutil.c:268
 #, c-format
 msgid "index \"%s\" has wrong hash version"
 msgstr "el índice «%s» tiene una versión de hash incorrecta"
@@ -1214,229 +1393,235 @@ msgstr "la familia de operadores «%s» del método de acceso %s no tiene funci
 msgid "operator family \"%s\" of access method %s is missing cross-type operator(s)"
 msgstr "faltan operadores entre tipos en la familia de operadores «%s» del método de acceso %s"
 
-#: access/heap/heapam.c:2026
+#: access/heap/heapam.c:2206
 #, c-format
 msgid "cannot insert tuples in a parallel worker"
 msgstr "no se pueden insertar tuplas en un ayudante paralelo"
 
-#: access/heap/heapam.c:2545
+#: access/heap/heapam.c:2725
 #, c-format
 msgid "cannot delete tuples during a parallel operation"
 msgstr "no se pueden eliminar tuplas durante una operación paralela"
 
-#: access/heap/heapam.c:2592
+#: access/heap/heapam.c:2772
 #, c-format
 msgid "attempted to delete invisible tuple"
 msgstr "se intentó eliminar una tupla invisible"
 
-#: access/heap/heapam.c:3035 access/heap/heapam.c:5902
+#: access/heap/heapam.c:3220 access/heap/heapam.c:6501 access/index/genam.c:818
 #, c-format
 msgid "cannot update tuples during a parallel operation"
 msgstr "no se pueden actualizar tuplas durante una operación paralela"
 
-#: access/heap/heapam.c:3163
+#: access/heap/heapam.c:3397
 #, c-format
 msgid "attempted to update invisible tuple"
 msgstr "se intentó actualizar una tupla invisible"
 
-#: access/heap/heapam.c:4550 access/heap/heapam.c:4588
-#: access/heap/heapam.c:4853 access/heap/heapam_handler.c:467
+#: access/heap/heapam.c:4908 access/heap/heapam.c:4946
+#: access/heap/heapam.c:5211 access/heap/heapam_handler.c:468
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
-msgstr "no se pudo bloquear un candado en la fila de la relación «%s»"
+msgstr "no se pudo bloquear un “lock” en la fila de la relación «%s»"
+
+#: access/heap/heapam.c:6314 commands/trigger.c:3340
+#: executor/nodeModifyTable.c:2376 executor/nodeModifyTable.c:2467
+#, 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"
 
-#: access/heap/heapam_handler.c:412
+#: access/heap/heapam_handler.c:413
 #, c-format
 msgid "tuple to be locked was already moved to another partition due to concurrent update"
 msgstr "el registro a ser bloqueado ya fue movido a otra partición por un update concurrente"
 
-#: access/heap/hio.c:517 access/heap/rewriteheap.c:659
+#: access/heap/hio.c:535 access/heap/rewriteheap.c:640
 #, c-format
 msgid "row is too big: size %zu, maximum size %zu"
 msgstr "fila es demasiado grande: tamaño %zu, tamaño máximo %zu"
 
-#: access/heap/rewriteheap.c:919
+#: access/heap/rewriteheap.c:885
 #, c-format
 msgid "could not write to file \"%s\", wrote %d of %d: %m"
 msgstr "no se pudo escribir al archivo «%s», se escribió %d de %d: %m"
 
-#: access/heap/rewriteheap.c:1011 access/heap/rewriteheap.c:1128
+#: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094
 #: access/transam/timeline.c:329 access/transam/timeline.c:481
-#: access/transam/xlog.c:2971 access/transam/xlog.c:3162
-#: access/transam/xlog.c:3938 access/transam/xlog.c:8740
-#: access/transam/xlogfuncs.c:702 backup/basebackup_server.c:151
-#: backup/basebackup_server.c:244 commands/dbcommands.c:518
-#: postmaster/postmaster.c:4554 postmaster/postmaster.c:5557
-#: replication/logical/origin.c:603 replication/slot.c:1770
-#: storage/file/copydir.c:157 storage/smgr/md.c:232 utils/time/snapmgr.c:1263
+#: access/transam/xlog.c:3255 access/transam/xlog.c:3446
+#: access/transam/xlog.c:4283 access/transam/xlog.c:9269
+#: access/transam/xlogfuncs.c:692 backup/basebackup_server.c:149
+#: backup/basebackup_server.c:242 commands/dbcommands.c:494
+#: postmaster/launch_backend.c:340 postmaster/postmaster.c:4114
+#: postmaster/walsummarizer.c:1212 replication/logical/origin.c:603
+#: replication/slot.c:2059 storage/file/copydir.c:157 storage/smgr/md.c:230
+#: utils/time/snapmgr.c:1234
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "no se pudo crear archivo «%s»: %m"
 
-#: access/heap/rewriteheap.c:1138
+#: access/heap/rewriteheap.c:1104
 #, c-format
 msgid "could not truncate file \"%s\" to %u: %m"
 msgstr "no se pudo truncar el archivo «%s» a %u: %m"
 
-#: access/heap/rewriteheap.c:1156 access/transam/timeline.c:384
+#: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384
 #: access/transam/timeline.c:424 access/transam/timeline.c:498
-#: access/transam/xlog.c:3021 access/transam/xlog.c:3218
-#: access/transam/xlog.c:3950 commands/dbcommands.c:530
-#: postmaster/postmaster.c:4564 postmaster/postmaster.c:4574
+#: access/transam/xlog.c:3305 access/transam/xlog.c:3502
+#: access/transam/xlog.c:4295 commands/dbcommands.c:506
+#: postmaster/launch_backend.c:351 postmaster/launch_backend.c:363
 #: replication/logical/origin.c:615 replication/logical/origin.c:657
-#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1767
-#: replication/slot.c:1805 storage/file/buffile.c:545
-#: storage/file/copydir.c:197 utils/init/miscinit.c:1605
-#: utils/init/miscinit.c:1616 utils/init/miscinit.c:1624 utils/misc/guc.c:4331
-#: utils/misc/guc.c:4362 utils/misc/guc.c:5490 utils/misc/guc.c:5508
-#: utils/time/snapmgr.c:1268 utils/time/snapmgr.c:1275
+#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1788
+#: replication/slot.c:2094 storage/file/buffile.c:545
+#: storage/file/copydir.c:197 utils/init/miscinit.c:1655
+#: utils/init/miscinit.c:1666 utils/init/miscinit.c:1674 utils/misc/guc.c:4491
+#: utils/misc/guc.c:4522 utils/misc/guc.c:5675 utils/misc/guc.c:5693
+#: utils/time/snapmgr.c:1239 utils/time/snapmgr.c:1246
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "no se pudo escribir a archivo «%s»: %m"
 
-#: access/heap/vacuumlazy.c:482
+#: access/heap/vacuumlazy.c:473
 #, c-format
 msgid "aggressively vacuuming \"%s.%s.%s\""
 msgstr "haciendo vacuum agresivamente a «%s.%s.%s»"
 
-#: access/heap/vacuumlazy.c:487
+#: access/heap/vacuumlazy.c:478
 #, c-format
 msgid "vacuuming \"%s.%s.%s\""
 msgstr "haciendo vacuum a «%s.%s.%s»"
 
-#: access/heap/vacuumlazy.c:635
+#: access/heap/vacuumlazy.c:626
 #, c-format
 msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n"
 msgstr "se terminó el vacuum de «%s.%s.%s»: recorridos de índice: %d\n"
 
-#: access/heap/vacuumlazy.c:646
+#: access/heap/vacuumlazy.c:637
 #, c-format
 msgid "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "vacuum agresivo automático para prevenir wraparound de la tabla «%s.%s.%s»: recorridos de índice: %d\n"
 
-#: access/heap/vacuumlazy.c:648
+#: access/heap/vacuumlazy.c:639
 #, c-format
 msgid "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "vacuum automático para prevenir wraparound de la tabla «%s.%s.%s»: recorridos de índice: %d\n"
 
-#: access/heap/vacuumlazy.c:653
+#: access/heap/vacuumlazy.c:644
 #, c-format
 msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "vacuum agresivo automático de la tabla «%s.%s.%s»: recorridos de índice: %d\n"
 
-#: access/heap/vacuumlazy.c:655
+#: access/heap/vacuumlazy.c:646
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "vacuum automático de la tabla «%s.%s.%s»: recorridos de índice: %d\n"
 
-#: access/heap/vacuumlazy.c:662
+#: access/heap/vacuumlazy.c:653
 #, c-format
 msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n"
 msgstr "páginas: %u eliminadas, %u quedan, %u recorridas (%.2f%% del total)\n"
 
-#: access/heap/vacuumlazy.c:669
+#: access/heap/vacuumlazy.c:660
 #, c-format
 msgid "tuples: %lld removed, %lld remain, %lld are dead but not yet removable\n"
 msgstr "tuplas: %lld eliminadas, %lld permanecen, %lld están muertas pero aún no se pueden quitar\n"
 
-#: access/heap/vacuumlazy.c:675
+#: access/heap/vacuumlazy.c:666
 #, c-format
 msgid "tuples missed: %lld dead from %u pages not removed due to cleanup lock contention\n"
 msgstr "tuplas faltantes: %lld muertas en %u páginas no eliminadas debido a contención del lock de limpieza\n"
 
-#: access/heap/vacuumlazy.c:681
+#: access/heap/vacuumlazy.c:672
 #, c-format
 msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n"
-msgstr ""
+msgstr "punto de corte de eliminación: %u, que era %d XIDs de antiguo cuando la operación terminó\n"
 
-#: access/heap/vacuumlazy.c:688
+#: access/heap/vacuumlazy.c:679
 #, c-format
 msgid "new relfrozenxid: %u, which is %d XIDs ahead of previous value\n"
 msgstr "nuevo relfrozenxid: %u, que está %d XIDs más adelante del valor anterior\n"
 
-#: access/heap/vacuumlazy.c:696
+#: access/heap/vacuumlazy.c:687
 #, c-format
 msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n"
 msgstr "nuevo relminmxid: %u, que está %d MXIDs más adelante del valor anterior\n"
 
-#: access/heap/vacuumlazy.c:699
-#, fuzzy, c-format
-#| msgid "%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n"
+#: access/heap/vacuumlazy.c:690
+#, c-format
 msgid "frozen: %u pages from table (%.2f%% of total) had %lld tuples frozen\n"
-msgstr "en %u páginas de la tabla (%.2f%% del total) se eliminaron %lld identificadores de elementos muertos\n"
+msgstr "congelado: %u páginas de la tabla (%.2f%% del total) tuvieron %lld tuplas congeladas\n"
 
-#: access/heap/vacuumlazy.c:707
+#: access/heap/vacuumlazy.c:698
 msgid "index scan not needed: "
 msgstr "recorrido de índice no necesario: "
 
-#: access/heap/vacuumlazy.c:709
+#: access/heap/vacuumlazy.c:700
 msgid "index scan needed: "
 msgstr "recorrido de índice necesario: "
 
-#: access/heap/vacuumlazy.c:711
+#: access/heap/vacuumlazy.c:702
 #, c-format
 msgid "%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n"
 msgstr "en %u páginas de la tabla (%.2f%% del total) se eliminaron %lld identificadores de elementos muertos\n"
 
-#: access/heap/vacuumlazy.c:716
+#: access/heap/vacuumlazy.c:707
 msgid "index scan bypassed: "
 msgstr "recorrido de índice pasado por alto: "
 
-#: access/heap/vacuumlazy.c:718
+#: access/heap/vacuumlazy.c:709
 msgid "index scan bypassed by failsafe: "
 msgstr "recorrido de índice pasado por alto debido a modo failsafe: "
 
-#: access/heap/vacuumlazy.c:720
+#: access/heap/vacuumlazy.c:711
 #, c-format
 msgid "%u pages from table (%.2f%% of total) have %lld dead item identifiers\n"
 msgstr "%u páginas de la tabla (%.2f%% del total) tienen %lld identificadores de elementos muertos\n"
 
-#: access/heap/vacuumlazy.c:735
+#: access/heap/vacuumlazy.c:726
 #, c-format
 msgid "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u reusable\n"
 msgstr "índice «%s»: páginas: %u en total, %u recientemente eliminadas, %u eliminadas hasta ahora, %u reusables\n"
 
-#: access/heap/vacuumlazy.c:747 commands/analyze.c:795
+#: access/heap/vacuumlazy.c:738 commands/analyze.c:794
 #, c-format
 msgid "I/O timings: read: %.3f ms, write: %.3f ms\n"
 msgstr "tiempos de E/S: lectura: %.3f ms, escritura: %.3f ms\n"
 
-#: access/heap/vacuumlazy.c:757 commands/analyze.c:798
+#: access/heap/vacuumlazy.c:748 commands/analyze.c:797
 #, c-format
 msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
 msgstr "tasa lectura promedio: %.3f MB/s, tasa escritura promedio: %.3f MB/s\n"
 
-#: access/heap/vacuumlazy.c:760 commands/analyze.c:800
+#: access/heap/vacuumlazy.c:751 commands/analyze.c:799
 #, c-format
 msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n"
 msgstr "uso de búfers: %lld aciertos, %lld fallos, %lld ensuciados\n"
 
-#: access/heap/vacuumlazy.c:765
+#: access/heap/vacuumlazy.c:756
 #, c-format
 msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n"
 msgstr "uso de WAL: %lld registros, %lld imágenes de página completa, %llu bytes\n"
 
-#: access/heap/vacuumlazy.c:769 commands/analyze.c:804
+#: access/heap/vacuumlazy.c:760 commands/analyze.c:803
 #, c-format
 msgid "system usage: %s"
 msgstr "uso de sistema: %s"
 
-#: access/heap/vacuumlazy.c:2482
+#: access/heap/vacuumlazy.c:2170
 #, c-format
 msgid "table \"%s\": removed %lld dead item identifiers in %u pages"
 msgstr "tabla «%s»: se eliminaron %lld identificadores de elementos muertos en %u páginas"
 
-#: access/heap/vacuumlazy.c:2642
+#: access/heap/vacuumlazy.c:2324
 #, c-format
 msgid "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after %d index scans"
 msgstr "pasando por alto el mantenimiento no esencial de la tabla «%s.%s.%s» como mecanismo de seguridad (failsafe) luego de %d recorridos de índice"
 
-#: access/heap/vacuumlazy.c:2645
+#: access/heap/vacuumlazy.c:2327
 #, c-format
 msgid "The table's relfrozenxid or relminmxid is too far in the past."
 msgstr "El relfrozenxid o el relminmxid de la tabla es demasiado antiguo."
 
-#: access/heap/vacuumlazy.c:2646
+#: access/heap/vacuumlazy.c:2328
 #, c-format
 msgid ""
 "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n"
@@ -1445,67 +1630,67 @@ msgstr ""
 "Considere incrementar el parámetro de configuración «maintenance_work_mem» o «autovacuum_work_mem».\n"
 "Es probable que también deba considerar otras formas para que VACUUM pueda mantener el paso de la asignación de IDs de transacción."
 
-#: access/heap/vacuumlazy.c:2891
+#: access/heap/vacuumlazy.c:2590
 #, c-format
 msgid "\"%s\": stopping truncate due to conflicting lock request"
-msgstr "«%s»: suspendiendo el truncado debido a una petición de candado en conflicto"
+msgstr "«%s»: suspendiendo el truncado debido a una petición de “lock” en conflicto"
 
-#: access/heap/vacuumlazy.c:2961
+#: access/heap/vacuumlazy.c:2660
 #, c-format
 msgid "table \"%s\": truncated %u to %u pages"
 msgstr "tabla «%s»: truncadas %u a %u páginas"
 
-#: access/heap/vacuumlazy.c:3023
+#: access/heap/vacuumlazy.c:2722
 #, c-format
 msgid "table \"%s\": suspending truncate due to conflicting lock request"
 msgstr "tabla «%s»: suspendiendo el truncado debido a una petición de bloqueo en conflicto"
 
-#: access/heap/vacuumlazy.c:3183
+#: access/heap/vacuumlazy.c:2841
 #, c-format
 msgid "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary tables in parallel"
 msgstr "desactivando el comportamiento paralelo de vacuum en «%s» --- no se puede hacer vacuum de tablas temporales en paralelo"
 
-#: access/heap/vacuumlazy.c:3399
+#: access/heap/vacuumlazy.c:3108
 #, c-format
 msgid "while scanning block %u offset %u of relation \"%s.%s\""
 msgstr "recorriendo el bloque %u posición %u de la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3402
+#: access/heap/vacuumlazy.c:3111
 #, c-format
 msgid "while scanning block %u of relation \"%s.%s\""
 msgstr "recorriendo el bloque %u de la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3406
+#: access/heap/vacuumlazy.c:3115
 #, c-format
 msgid "while scanning relation \"%s.%s\""
 msgstr "recorriendo la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3414
+#: access/heap/vacuumlazy.c:3123
 #, c-format
 msgid "while vacuuming block %u offset %u of relation \"%s.%s\""
 msgstr "haciendo «vacuum» al bloque %u posición %u de la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3417
+#: access/heap/vacuumlazy.c:3126
 #, c-format
 msgid "while vacuuming block %u of relation \"%s.%s\""
 msgstr "haciendo «vacuum» al bloque %u de la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3421
+#: access/heap/vacuumlazy.c:3130
 #, c-format
 msgid "while vacuuming relation \"%s.%s\""
 msgstr "mientras se hacía «vacuum» a la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3426 commands/vacuumparallel.c:1074
+#: access/heap/vacuumlazy.c:3135 commands/vacuumparallel.c:1112
 #, c-format
 msgid "while vacuuming index \"%s\" of relation \"%s.%s\""
 msgstr "mientras se hacía «vacuum» al índice «%s» de la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3431 commands/vacuumparallel.c:1080
+#: access/heap/vacuumlazy.c:3140 commands/vacuumparallel.c:1118
 #, c-format
 msgid "while cleaning up index \"%s\" of relation \"%s.%s\""
 msgstr "mientras se limpiaba el índice «%s» de la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3437
+#: access/heap/vacuumlazy.c:3146
 #, c-format
 msgid "while truncating relation \"%s.%s\" to %u blocks"
 msgstr "error mientras se truncaba la relación «%s.%s» a %u bloques"
@@ -1520,19 +1705,24 @@ msgstr "el método de acceso «%s» no es de tipo %s"
 msgid "index access method \"%s\" does not have a handler"
 msgstr "el método de acceso «%s» no tiene manejador"
 
-#: access/index/genam.c:490
+#: access/index/genam.c:489
 #, c-format
 msgid "transaction aborted during system catalog scan"
 msgstr "transacción abortada durante recorrido de catálogos de sistema"
 
-#: access/index/indexam.c:142 catalog/objectaddress.c:1394
-#: commands/indexcmds.c:2852 commands/tablecmds.c:272 commands/tablecmds.c:296
-#: commands/tablecmds.c:17191 commands/tablecmds.c:18959
+#: access/index/genam.c:657 access/index/indexam.c:82
+#, c-format
+msgid "cannot access index \"%s\" while it is being reindexed"
+msgstr "no se puede acceder el índice «%s» mientras está siendo reindexado"
+
+#: access/index/indexam.c:203 catalog/objectaddress.c:1356
+#: commands/indexcmds.c:2851 commands/tablecmds.c:281 commands/tablecmds.c:305
+#: commands/tablecmds.c:17873 commands/tablecmds.c:19762
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "«%s» no es un índice"
 
-#: access/index/indexam.c:979
+#: access/index/indexam.c:1028
 #, c-format
 msgid "operator class %s has no options"
 msgstr "clase de operadores «%s» no tiene opciones"
@@ -1552,38 +1742,38 @@ msgstr "Ya existe la llave %s."
 msgid "This may be because of a non-immutable index expression."
 msgstr "Esto puede deberse a una expresión de índice no inmutable."
 
-#: access/nbtree/nbtpage.c:158 access/nbtree/nbtpage.c:607
-#: parser/parse_utilcmd.c:2317
+#: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611
+#: parser/parse_utilcmd.c:2323
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "el índice «%s» no es un btree"
 
-#: access/nbtree/nbtpage.c:165 access/nbtree/nbtpage.c:614
+#: access/nbtree/nbtpage.c:164 access/nbtree/nbtpage.c:618
 #, c-format
 msgid "version mismatch in index \"%s\": file version %d, current version %d, minimal supported version %d"
 msgstr "discordancia de versión en índice «%s»: versión de archivo %d, versión de código %d, mínima versión soportada %d"
 
-#: access/nbtree/nbtpage.c:1862
+#: access/nbtree/nbtpage.c:1861
 #, c-format
 msgid "index \"%s\" contains a half-dead internal page"
 msgstr "el índice «%s» contiene una página interna parcialmente muerta"
 
-#: access/nbtree/nbtpage.c:1864
+#: access/nbtree/nbtpage.c:1863
 #, c-format
 msgid "This can be caused by an interrupted VACUUM in version 9.3 or older, before upgrade. Please REINDEX it."
 msgstr "Esto puede ser causado por la interrupción de un VACUUM en la versión 9.3 o anteriores, antes de actualizar. Ejecute REINDEX por favor."
 
-#: access/nbtree/nbtutils.c:2663
+#: access/nbtree/nbtutils.c:5108
 #, c-format
 msgid "index row size %zu exceeds btree version %u maximum %zu for index \"%s\""
 msgstr "el tamaño de fila de índice %1$zu excede el máximo %3$zu para btree versión %2$u para el índice «%4$s»"
 
-#: access/nbtree/nbtutils.c:2669
+#: access/nbtree/nbtutils.c:5114
 #, c-format
 msgid "Index row references tuple (%u,%u) in relation \"%s\"."
 msgstr "La tupla de índice hace referencia a la tupla (%u,%u) en la relación «%s»."
 
-#: access/nbtree/nbtutils.c:2673
+#: access/nbtree/nbtutils.c:5118
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -1597,12 +1787,18 @@ msgstr ""
 msgid "operator family \"%s\" of access method %s is missing support function for types %s and %s"
 msgstr "falta una función de soporte para los tipos %3$s y %4$s en la familia de operadores «%1$s» del método de acceso %2$s"
 
+#: access/sequence/sequence.c:75 access/table/table.c:145
+#: optimizer/util/plancat.c:144
+#, c-format
+msgid "cannot open relation \"%s\""
+msgstr "no se puede abrir la relación «%s»"
+
 #: access/spgist/spgutils.c:245
 #, c-format
 msgid "compress method must be defined when leaf type is different from input type"
 msgstr "método «compress» debe estar definido cuando el tipo hoja es distinto del tipo de entrada"
 
-#: access/spgist/spgutils.c:1008
+#: access/spgist/spgutils.c:1028
 #, c-format
 msgid "SP-GiST inner tuple size %zu exceeds maximum %zu"
 msgstr "el tamaño de tupla interna SP-GiST %zu excede el máximo %zu"
@@ -1617,69 +1813,64 @@ msgstr "el tipo de dato hoja SP-GiST %s no coincide con el tipo declarado %s"
 msgid "operator family \"%s\" of access method %s is missing support function %d for type %s"
 msgstr "falta la función de soporte %3$d para el tipo %4$s de la clase de operadores «%1$s» del método de accesso %2$s"
 
-#: access/table/table.c:145 optimizer/util/plancat.c:145
-#, fuzzy, c-format
-#| msgid "cannot change relation \"%s\""
-msgid "cannot open relation \"%s\""
-msgstr "no se puede cambiar la relación «%s»"
-
-#: access/table/tableam.c:265
+#: access/table/tableam.c:255
 #, c-format
 msgid "tid (%u, %u) is not valid for relation \"%s\""
 msgstr "el tid (%u, %u) no es válido para la relación «%s»"
 
-#: access/table/tableamapi.c:116
+#: access/table/tableamapi.c:109
 #, c-format
-msgid "%s cannot be empty."
-msgstr "%s no puede ser vacío."
+msgid "\"%s\" cannot be empty."
+msgstr "«%s» no puede ser vacío."
 
-#: access/table/tableamapi.c:123 access/transam/xlogrecovery.c:4774
+#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4859
 #, c-format
-msgid "%s is too long (maximum %d characters)."
-msgstr "%s es demasiado largo (máximo %d caracteres)."
+msgid "\"%s\" is too long (maximum %d characters)."
+msgstr "«%s» es demasiado largo (máximo %d caracteres)."
 
-#: access/table/tableamapi.c:146
+#: access/table/tableamapi.c:139
 #, c-format
 msgid "table access method \"%s\" does not exist"
 msgstr "no existe el método de acceso de tabla «%s»"
 
-#: access/table/tableamapi.c:151
+#: access/table/tableamapi.c:144
 #, c-format
 msgid "Table access method \"%s\" does not exist."
 msgstr "No existe el método de acceso de tabla «%s»."
 
-#: access/tablesample/bernoulli.c:148 access/tablesample/system.c:152
+#: access/tablesample/bernoulli.c:148 access/tablesample/system.c:151
 #, c-format
 msgid "sample percentage must be between 0 and 100"
 msgstr "el porcentaje de muestreo debe estar entre 0 y 100"
 
-#: access/transam/commit_ts.c:279
+#: access/transam/commit_ts.c:287
 #, c-format
 msgid "cannot retrieve commit timestamp for transaction %u"
 msgstr "no se puede obtener el timestamp de compromiso de la transacción %u"
 
-#: access/transam/commit_ts.c:377
+#: access/transam/commit_ts.c:385
 #, c-format
 msgid "could not get commit timestamp data"
 msgstr "no se pudo obtener datos de compromiso de transacción"
 
-#: access/transam/commit_ts.c:379
+#: access/transam/commit_ts.c:387
 #, c-format
 msgid "Make sure the configuration parameter \"%s\" is set on the primary server."
 msgstr "Asegúrese que el parámetro de configuración «%s» esté definido en el servidor primario."
 
-#: access/transam/commit_ts.c:381
+#: access/transam/commit_ts.c:389
 #, c-format
 msgid "Make sure the configuration parameter \"%s\" is set."
 msgstr "Asegúrese que el parámetro de configuración «%s» esté definido."
 
-#: access/transam/multixact.c:1023
+#: access/transam/multixact.c:1091
 #, c-format
-msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database \"%s\""
-msgstr "la base de datos no está aceptando órdenes que generen nuevos MultiXactIds para evitar pérdida de datos debido al reciclaje de transacciones en la base de datos «%s»"
+msgid "database is not accepting commands that assign new MultiXactIds to avoid wraparound data loss in database \"%s\""
+msgstr "la base de datos no está aceptando órdenes que asignen nuevos MultiXactIds para evitar pérdida de datos debido al “wraparound” en la base de datos «%s»"
 
-#: access/transam/multixact.c:1025 access/transam/multixact.c:1032
-#: access/transam/multixact.c:1056 access/transam/multixact.c:1065
+#: access/transam/multixact.c:1093 access/transam/multixact.c:1100
+#: access/transam/multixact.c:1124 access/transam/multixact.c:1133
+#: access/transam/varsup.c:158 access/transam/varsup.c:165
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in that database.\n"
@@ -1688,247 +1879,250 @@ msgstr ""
 "Ejecute VACUUM de la base completa en esa base de datos.\n"
 "Puede que además necesite comprometer o abortar transacciones preparadas antiguas, o eliminar slots de replicación añejos."
 
-#: access/transam/multixact.c:1030
+#: access/transam/multixact.c:1098
 #, c-format
-msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with OID %u"
-msgstr "la base de datos no está aceptando órdenes que generen nuevos MultiXactIds para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base con OID %u"
+msgid "database is not accepting commands that assign new MultiXactIds to avoid wraparound data loss in database with OID %u"
+msgstr "la base de datos no está aceptando órdenes que asignen nuevos MultiXactIds para evitar pérdida de datos debido al “wraparound” en la base con OID %u"
 
-#: access/transam/multixact.c:1051 access/transam/multixact.c:2333
+#: access/transam/multixact.c:1119 access/transam/multixact.c:2474
 #, c-format
 msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used"
 msgid_plural "database \"%s\" must be vacuumed before %u more MultiXactIds are used"
 msgstr[0] "base de datos «%s» debe ser limpiada antes de que %u más MultiXactId sea usado"
 msgstr[1] "base de datos «%s» debe ser limpiada dentro de que %u más MultiXactIds sean usados"
 
-#: access/transam/multixact.c:1060 access/transam/multixact.c:2342
+#: access/transam/multixact.c:1128 access/transam/multixact.c:2483
 #, c-format
 msgid "database with OID %u must be vacuumed before %u more MultiXactId is used"
 msgid_plural "database with OID %u must be vacuumed before %u more MultiXactIds are used"
 msgstr[0] "base de datos con OID %u debe ser limpiada antes de que %u más MultiXactId sea usado"
 msgstr[1] "base de datos con OID %u debe ser limpiada antes de que %u más MultiXactIds sean usados"
 
-#: access/transam/multixact.c:1121
+#: access/transam/multixact.c:1189
 #, c-format
 msgid "multixact \"members\" limit exceeded"
 msgstr "límite de miembros de multixact alcanzado"
 
-#: access/transam/multixact.c:1122
+#: access/transam/multixact.c:1190
 #, c-format
 msgid "This command would create a multixact with %u members, but the remaining space is only enough for %u member."
 msgid_plural "This command would create a multixact with %u members, but the remaining space is only enough for %u members."
 msgstr[0] "Esta orden crearía un multixact con %u miembros, pero el espacio que queda sólo sirve para %u miembro."
 msgstr[1] "Esta orden crearía un multixact con %u miembros, pero el espacio que queda sólo sirve para %u miembros."
 
-#: access/transam/multixact.c:1127
+#: access/transam/multixact.c:1195
 #, c-format
-msgid "Execute a database-wide VACUUM in database with OID %u with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings."
-msgstr "Ejecute un VACUUM de la base completa en la base de datos con OID %u con vacuum_multixact_freeze_min_age y vacuum_multixact_freeze_table_age reducidos."
+msgid "Execute a database-wide VACUUM in database with OID %u with reduced \"vacuum_multixact_freeze_min_age\" and \"vacuum_multixact_freeze_table_age\" settings."
+msgstr "Ejecute un VACUUM de la base completa en la base de datos con OID %u con «vacuum_multixact_freeze_min_age» y «vacuum_multixact_freeze_table_age» reducidos."
 
-#: access/transam/multixact.c:1158
+#: access/transam/multixact.c:1226
 #, c-format
 msgid "database with OID %u must be vacuumed before %d more multixact member is used"
 msgid_plural "database with OID %u must be vacuumed before %d more multixact members are used"
 msgstr[0] "base de datos con OID %u debe ser limpiada antes de que %d miembro más de multixact sea usado"
 msgstr[1] "base de datos con OID %u debe ser limpiada antes de que %d más miembros de multixact sean usados"
 
-#: access/transam/multixact.c:1163
+#: access/transam/multixact.c:1231
 #, c-format
-msgid "Execute a database-wide VACUUM in that database with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings."
-msgstr "Ejecute un VACUUM de la base completa en esa base de datos con vacuum_multixact_freeze_min_age y vacuum_multixact_freeze_table_age reducidos."
+msgid "Execute a database-wide VACUUM in that database with reduced \"vacuum_multixact_freeze_min_age\" and \"vacuum_multixact_freeze_table_age\" settings."
+msgstr "Ejecute un VACUUM de la base completa en esa base de datos con «vacuum_multixact_freeze_min_age» y «vacuum_multixact_freeze_table_age» reducidos."
 
-#: access/transam/multixact.c:1302
+#: access/transam/multixact.c:1371
 #, c-format
 msgid "MultiXactId %u does no longer exist -- apparent wraparound"
-msgstr "el MultiXactId %u ya no existe -- aparente problema por reciclaje"
+msgstr "el MultiXactId %u ya no existe -- “wraparound” aparente"
 
-#: access/transam/multixact.c:1308
+#: access/transam/multixact.c:1377
 #, c-format
 msgid "MultiXactId %u has not been created yet -- apparent wraparound"
-msgstr "el MultiXactId %u no se ha creado aún -- aparente problema por reciclaje"
+msgstr "el MultiXactId %u no se ha creado aún -- “wraparound” aparente"
 
-#: access/transam/multixact.c:2338 access/transam/multixact.c:2347
-#: access/transam/varsup.c:151 access/transam/varsup.c:158
-#: access/transam/varsup.c:466 access/transam/varsup.c:473
+#: access/transam/multixact.c:2479 access/transam/multixact.c:2488
 #, c-format
 msgid ""
-"To avoid a database shutdown, execute a database-wide VACUUM in that database.\n"
+"To avoid MultiXactId assignment failures, execute a database-wide VACUUM in that database.\n"
 "You might also need to commit or roll back old prepared transactions, or drop stale replication slots."
 msgstr ""
-"Para evitar que la base de datos se desactive, ejecute VACUUM en esa base de datos.\n"
+"Para evitar fallos de asignación de MultiXactId, ejecute VACUUM en esa base de datos.\n"
 "Puede que además necesite comprometer o abortar transacciones preparadas antiguas, o eliminar slots de replicación añejos."
 
-#: access/transam/multixact.c:2622
+#: access/transam/multixact.c:2767
 #, c-format
 msgid "MultiXact member wraparound protections are disabled because oldest checkpointed MultiXact %u does not exist on disk"
-msgstr "las protecciones de reciclaje de miembros de multixact están inhabilitadas porque el multixact más antiguo %u en checkpoint no existe en disco"
+msgstr "las protecciones de “wraparound” de multixact están inhabilitadas porque el multixact más antiguo %u en checkpoint no existe en disco"
 
-#: access/transam/multixact.c:2644
+#: access/transam/multixact.c:2789
 #, c-format
 msgid "MultiXact member wraparound protections are now enabled"
-msgstr "las protecciones de reciclaje de miembros de multixact están habilitadas"
+msgstr "las protecciones de “wraparound” de miembros de multixact están habilitadas"
 
-#: access/transam/multixact.c:3027
+#: access/transam/multixact.c:3180
 #, c-format
 msgid "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation"
 msgstr "multixact más antiguo %u no encontrado, multixact más antiguo es %u, omitiendo el truncado"
 
-#: access/transam/multixact.c:3045
+#: access/transam/multixact.c:3198
 #, c-format
 msgid "cannot truncate up to MultiXact %u because it does not exist on disk, skipping truncation"
 msgstr "no se puede truncar hasta el MultiXact %u porque no existe en disco, omitiendo el truncado"
 
-#: access/transam/multixact.c:3359
+#: access/transam/multixact.c:3517
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "el MultiXactId no es válido: %u"
 
-#: access/transam/parallel.c:729 access/transam/parallel.c:848
+#: access/transam/parallel.c:748 access/transam/parallel.c:867
 #, c-format
 msgid "parallel worker failed to initialize"
 msgstr "el ayudante paralelo no pudo iniciar"
 
-#: access/transam/parallel.c:730 access/transam/parallel.c:849
+#: access/transam/parallel.c:749 access/transam/parallel.c:868
 #, c-format
 msgid "More details may be available in the server log."
 msgstr "Puede haber más detalles disponibles en el log del servidor."
 
-#: access/transam/parallel.c:910
+#: access/transam/parallel.c:929
 #, c-format
 msgid "postmaster exited during a parallel transaction"
 msgstr "postmaster terminó durante una transacción paralela"
 
-#: access/transam/parallel.c:1097
+#: access/transam/parallel.c:1116
 #, c-format
 msgid "lost connection to parallel worker"
 msgstr "se ha perdido la conexión al ayudante paralelo"
 
-#: access/transam/parallel.c:1163 access/transam/parallel.c:1165
+#: access/transam/parallel.c:1172 access/transam/parallel.c:1174
 msgid "parallel worker"
 msgstr "ayudante paralelo"
 
-#: access/transam/parallel.c:1319
+#: access/transam/parallel.c:1344 replication/logical/applyparallelworker.c:890
 #, c-format
 msgid "could not map dynamic shared memory segment"
 msgstr "no se pudo mapear el segmento de memoria compartida dinámica"
 
-#: access/transam/parallel.c:1324
+#: access/transam/parallel.c:1349 replication/logical/applyparallelworker.c:896
 #, c-format
 msgid "invalid magic number in dynamic shared memory segment"
 msgstr "número mágico no válido en segmento de memoria compartida dinámica"
 
-#: access/transam/rmgr.c:84
+#: access/transam/rmgr.c:93
 #, c-format
 msgid "resource manager with ID %d not registered"
 msgstr "el gestor de recursos con ID %d no está registrado"
 
-#: access/transam/rmgr.c:85
+#: access/transam/rmgr.c:94
 #, c-format
-msgid "Include the extension module that implements this resource manager in shared_preload_libraries."
-msgstr "Incluya el módulo de extensión que implementa este gestor de recursos en shared_preload_libraries."
+msgid "Include the extension module that implements this resource manager in \"shared_preload_libraries\"."
+msgstr "Incluya el módulo de extensión que implementa este gestor de recursos en «shared_preload_libraries»."
 
-#: access/transam/rmgr.c:101
+#: access/transam/rmgr.c:110
 #, c-format
 msgid "custom resource manager name is invalid"
 msgstr "el nombre de gestor de recursos personalizado no es válido"
 
-#: access/transam/rmgr.c:102
+#: access/transam/rmgr.c:111
 #, c-format
 msgid "Provide a non-empty name for the custom resource manager."
 msgstr "Provea un nombre no vacío para el gestor de recursos personalizado."
 
-#: access/transam/rmgr.c:105
+#: access/transam/rmgr.c:114
 #, c-format
 msgid "custom resource manager ID %d is out of range"
 msgstr "el ID %d de gestor de recursos está fuera de rango"
 
-#: access/transam/rmgr.c:106
+#: access/transam/rmgr.c:115
 #, c-format
 msgid "Provide a custom resource manager ID between %d and %d."
 msgstr "Provea un ID de gestor de recursos personalizado entre %d y %d."
 
-#: access/transam/rmgr.c:111 access/transam/rmgr.c:116
-#: access/transam/rmgr.c:128
+#: access/transam/rmgr.c:120 access/transam/rmgr.c:125
+#: access/transam/rmgr.c:137
 #, c-format
 msgid "failed to register custom resource manager \"%s\" with ID %d"
 msgstr "no se pudo registrar un gestor de recursos personalizado «%s» con ID %d"
 
-#: access/transam/rmgr.c:112
+#: access/transam/rmgr.c:121
 #, c-format
-msgid "Custom resource manager must be registered while initializing modules in shared_preload_libraries."
-msgstr "El gestor de recursos personalizado debe ser registrado en shared_preload_libraries."
+msgid "Custom resource manager must be registered while initializing modules in \"shared_preload_libraries\"."
+msgstr "El gestor de recursos personalizado debe ser registrado en «shared_preload_libraries» al inicializar módulos."
 
-#: access/transam/rmgr.c:117
+#: access/transam/rmgr.c:126
 #, c-format
 msgid "Custom resource manager \"%s\" already registered with the same ID."
 msgstr "El gestor de recursos «%s» ya está registrado con el mismo ID."
 
-#: access/transam/rmgr.c:129
+#: access/transam/rmgr.c:138
 #, c-format
 msgid "Existing resource manager with ID %d has the same name."
 msgstr "El gestor de recursos con ID %d tiene el mismo nombre."
 
-#: access/transam/rmgr.c:135
+#: access/transam/rmgr.c:144
 #, c-format
 msgid "registered custom resource manager \"%s\" with ID %d"
 msgstr "se registró el gestor de recursos «%s» con ID %d"
 
-#: access/transam/slru.c:714
+#: access/transam/slru.c:361
+#, c-format
+msgid "\"%s\" must be a multiple of %d"
+msgstr "«%s» debe ser múltiple de %d"
+
+#: access/transam/slru.c:830
 #, c-format
 msgid "file \"%s\" doesn't exist, reading as zeroes"
 msgstr "el archivo «%s» no existe, leyendo como ceros"
 
-#: access/transam/slru.c:946 access/transam/slru.c:952
-#: access/transam/slru.c:960 access/transam/slru.c:965
-#: access/transam/slru.c:972 access/transam/slru.c:977
-#: access/transam/slru.c:984 access/transam/slru.c:991
+#: access/transam/slru.c:1059 access/transam/slru.c:1065
+#: access/transam/slru.c:1073 access/transam/slru.c:1078
+#: access/transam/slru.c:1085 access/transam/slru.c:1090
+#: access/transam/slru.c:1097 access/transam/slru.c:1104
 #, c-format
 msgid "could not access status of transaction %u"
 msgstr "no se pudo encontrar el estado de la transacción %u"
 
-#: access/transam/slru.c:947
+#: access/transam/slru.c:1060
 #, c-format
 msgid "Could not open file \"%s\": %m."
 msgstr "No se pudo abrir el archivo «%s»: %m."
 
-#: access/transam/slru.c:953
+#: access/transam/slru.c:1066
 #, c-format
 msgid "Could not seek in file \"%s\" to offset %d: %m."
 msgstr "No se pudo posicionar (seek) en el archivo «%s» a la posición %d: %m."
 
-#: access/transam/slru.c:961
+#: access/transam/slru.c:1074
 #, c-format
 msgid "Could not read from file \"%s\" at offset %d: %m."
 msgstr "No se pudo leer desde el archivo «%s» en la posición %d: %m."
 
-#: access/transam/slru.c:966
+#: access/transam/slru.c:1079
 #, c-format
 msgid "Could not read from file \"%s\" at offset %d: read too few bytes."
 msgstr "No se pudo leer desde el archivo «%s» en la posición %d: se leyeron muy pocos bytes."
 
-#: access/transam/slru.c:973
+#: access/transam/slru.c:1086
 #, c-format
 msgid "Could not write to file \"%s\" at offset %d: %m."
 msgstr "No se pudo escribir al archivo «%s» en la posición %d: %m."
 
-#: access/transam/slru.c:978
+#: access/transam/slru.c:1091
 #, c-format
 msgid "Could not write to file \"%s\" at offset %d: wrote too few bytes."
 msgstr "No se pudo escribir al archivo «%s» en la posición %d: se escribieron muy pocos bytes."
 
-#: access/transam/slru.c:985
+#: access/transam/slru.c:1098
 #, c-format
 msgid "Could not fsync file \"%s\": %m."
 msgstr "No se pudo sincronizar (fsync) archivo «%s»: %m."
 
-#: access/transam/slru.c:992
+#: access/transam/slru.c:1105
 #, c-format
 msgid "Could not close file \"%s\": %m."
 msgstr "No se pudo cerrar el archivo «%s»: %m."
 
-#: access/transam/slru.c:1253
+#: access/transam/slru.c:1431
 #, c-format
 msgid "could not truncate directory \"%s\": apparent wraparound"
-msgstr "no se pudo truncar el directorio «%s»: aparente problema por reciclaje de transacciones"
+msgstr "no se pudo truncar el directorio «%s»: “wraparound” aparente"
 
 #: access/transam/timeline.c:163 access/transam/timeline.c:168
 #, c-format
@@ -1970,773 +2164,824 @@ msgstr "IDs de timeline deben ser menores que el ID de timeline del hijo."
 msgid "requested timeline %u is not in this server's history"
 msgstr "el timeline %u solicitado no está en la historia de este servidor"
 
-#: access/transam/twophase.c:385
+#: access/transam/twophase.c:368
 #, c-format
 msgid "transaction identifier \"%s\" is too long"
 msgstr "identificador de transacción «%s» es demasiado largo"
 
-#: access/transam/twophase.c:392
+#: access/transam/twophase.c:375
 #, c-format
 msgid "prepared transactions are disabled"
 msgstr "las transacciones preparadas están deshabilitadas"
 
-#: access/transam/twophase.c:393
+#: access/transam/twophase.c:376
 #, c-format
-msgid "Set max_prepared_transactions to a nonzero value."
-msgstr "Defina max_prepared_transactions a un valor distinto de cero."
+msgid "Set \"max_prepared_transactions\" to a nonzero value."
+msgstr "Defina «max_prepared_transactions» a un valor distinto de cero."
 
-#: access/transam/twophase.c:412
+#: access/transam/twophase.c:395
 #, c-format
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "identificador de transacción «%s» ya está siendo utilizado"
 
-#: access/transam/twophase.c:421 access/transam/twophase.c:2484
+#: access/transam/twophase.c:404 access/transam/twophase.c:2531
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "se alcanzó el número máximo de transacciones preparadas"
 
-#: access/transam/twophase.c:422 access/transam/twophase.c:2485
+#: access/transam/twophase.c:405 access/transam/twophase.c:2532
 #, c-format
-msgid "Increase max_prepared_transactions (currently %d)."
-msgstr "Incremente max_prepared_transactions (actualmente es %d)."
+msgid "Increase \"max_prepared_transactions\" (currently %d)."
+msgstr "Incremente «max_prepared_transactions» (actualmente es %d)."
 
-#: access/transam/twophase.c:598
+#: access/transam/twophase.c:580
 #, c-format
 msgid "prepared transaction with identifier \"%s\" is busy"
 msgstr "transacción preparada con identificador «%s» está ocupada"
 
-#: access/transam/twophase.c:604
+#: access/transam/twophase.c:586
 #, c-format
 msgid "permission denied to finish prepared transaction"
 msgstr "se ha denegado el permiso para finalizar la transacción preparada"
 
-#: access/transam/twophase.c:605
+#: access/transam/twophase.c:587
 #, c-format
 msgid "Must be superuser or the user that prepared the transaction."
 msgstr "Debe ser superusuario o el usuario que preparó la transacción."
 
-#: access/transam/twophase.c:616
+#: access/transam/twophase.c:598
 #, c-format
 msgid "prepared transaction belongs to another database"
 msgstr "la transacción preparada pertenece a otra base de datos"
 
-#: access/transam/twophase.c:617
+#: access/transam/twophase.c:599
 #, c-format
 msgid "Connect to the database where the transaction was prepared to finish it."
 msgstr "Conéctese a la base de datos donde la transacción fue preparada para terminarla."
 
-#: access/transam/twophase.c:632
+#: access/transam/twophase.c:614
 #, c-format
 msgid "prepared transaction with identifier \"%s\" does not exist"
 msgstr "transacción preparada con identificador «%s» no existe"
 
-#: access/transam/twophase.c:1167
+#: access/transam/twophase.c:1174
 #, c-format
 msgid "two-phase state file maximum length exceeded"
 msgstr "el largo máximo del archivo de estado de dos fases fue excedido"
 
-#: access/transam/twophase.c:1322
+#: access/transam/twophase.c:1329
 #, c-format
 msgid "incorrect size of file \"%s\": %lld byte"
 msgid_plural "incorrect size of file \"%s\": %lld bytes"
 msgstr[0] "tamaño incorrecto de archivo «%s»: %lld byte"
 msgstr[1] "tamaño incorrecto de archivo «%s»: %lld bytes"
 
-#: access/transam/twophase.c:1331
+#: access/transam/twophase.c:1338
 #, c-format
 msgid "incorrect alignment of CRC offset for file \"%s\""
 msgstr "alineamiento incorrecto del offset del CRC para el archivo «%s»"
 
-#: access/transam/twophase.c:1349
+#: access/transam/twophase.c:1356
 #, c-format
 msgid "could not read file \"%s\": read %d of %lld"
 msgstr "no se pudo leer el archivo «%s»: leídos %d de %lld"
 
-#: access/transam/twophase.c:1364
+#: access/transam/twophase.c:1371
 #, c-format
 msgid "invalid magic number stored in file \"%s\""
 msgstr "número mágico no válido almacenado en archivo «%s»"
 
-#: access/transam/twophase.c:1370
+#: access/transam/twophase.c:1377
 #, c-format
 msgid "invalid size stored in file \"%s\""
 msgstr "tamaño no válido en archivo «%s»"
 
-#: access/transam/twophase.c:1382
+#: access/transam/twophase.c:1389
 #, c-format
 msgid "calculated CRC checksum does not match value stored in file \"%s\""
 msgstr "la suma de verificación calculada no coincide con el valor almacenado en el archivo «%s»"
 
-#: access/transam/twophase.c:1412 access/transam/xlogrecovery.c:590
-#: replication/logical/logical.c:209 replication/walsender.c:687
+#: access/transam/twophase.c:1419 access/transam/xlogrecovery.c:565
+#: postmaster/walsummarizer.c:936 replication/logical/logical.c:211
+#: replication/walsender.c:836
 #, c-format
 msgid "Failed while allocating a WAL reading processor."
 msgstr "Falló mientras se emplazaba un procesador de lectura de WAL."
 
-#: access/transam/twophase.c:1422
+#: access/transam/twophase.c:1429
 #, c-format
 msgid "could not read two-phase state from WAL at %X/%X: %s"
 msgstr "no se pudo leer el archivo de estado de dos fases desde WAL en %X/%X: %s"
 
-#: access/transam/twophase.c:1427
+#: access/transam/twophase.c:1434
 #, c-format
 msgid "could not read two-phase state from WAL at %X/%X"
 msgstr "no se pudo leer el archivo de estado de dos fases desde WAL en %X/%X"
 
-#: access/transam/twophase.c:1435
+#: access/transam/twophase.c:1442
 #, c-format
 msgid "expected two-phase state data is not present in WAL at %X/%X"
 msgstr "los datos de estado de dos fases esperados no están presentes en WAL en %X/%X"
 
-#: access/transam/twophase.c:1731
+#: access/transam/twophase.c:1745
 #, c-format
 msgid "could not recreate file \"%s\": %m"
 msgstr "no se pudo recrear archivo «%s»: %m"
 
-#: access/transam/twophase.c:1858
+#: access/transam/twophase.c:1872
 #, c-format
 msgid "%u two-phase state file was written for a long-running prepared transaction"
 msgid_plural "%u two-phase state files were written for long-running prepared transactions"
 msgstr[0] "%u archivo de estado de dos fases fue escrito para transacción de larga duración"
 msgstr[1] "%u archivos de estado de dos fases fueron escritos para transacciones de larga duración"
 
-#: access/transam/twophase.c:2092
+#: access/transam/twophase.c:2107
 #, c-format
 msgid "recovering prepared transaction %u from shared memory"
 msgstr "recuperando transacción preparada %u desde memoria compartida"
 
-#: access/transam/twophase.c:2185
+#: access/transam/twophase.c:2200
 #, c-format
 msgid "removing stale two-phase state file for transaction %u"
 msgstr "eliminando archivo obsoleto de estado de dos fases para transacción %u"
 
-#: access/transam/twophase.c:2192
+#: access/transam/twophase.c:2207
 #, c-format
 msgid "removing stale two-phase state from memory for transaction %u"
 msgstr "eliminando de memoria estado de dos fases obsoleto para transacción %u"
 
-#: access/transam/twophase.c:2205
+#: access/transam/twophase.c:2220
 #, c-format
 msgid "removing future two-phase state file for transaction %u"
 msgstr "eliminando archivo futuro de estado de dos fases para transacción %u"
 
-#: access/transam/twophase.c:2212
+#: access/transam/twophase.c:2227
 #, c-format
 msgid "removing future two-phase state from memory for transaction %u"
 msgstr "eliminando estado de dos fases futuro de memoria para transacción %u"
 
-#: access/transam/twophase.c:2237
+#: access/transam/twophase.c:2252
 #, c-format
 msgid "corrupted two-phase state file for transaction %u"
 msgstr "archivo de estado de dos fases corrupto para transacción %u"
 
-#: access/transam/twophase.c:2242
+#: access/transam/twophase.c:2257
 #, c-format
 msgid "corrupted two-phase state in memory for transaction %u"
 msgstr "estado de dos fases en memoria corrupto para transacción %u"
 
-#: access/transam/varsup.c:129
+#: access/transam/twophase.c:2514
 #, c-format
-msgid "database is not accepting commands to avoid wraparound data loss in database \"%s\""
-msgstr "la base de datos no está aceptando órdenes para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base de datos «%s»"
+msgid "could not recover two-phase state file for transaction %u"
+msgstr "no se pudo recuperar el archivo de estado de dos fases para la transacción %u"
 
-#: access/transam/varsup.c:131 access/transam/varsup.c:138
+#: access/transam/twophase.c:2516
 #, c-format
-msgid ""
-"Stop the postmaster and vacuum that database in single-user mode.\n"
-"You might also need to commit or roll back old prepared transactions, or drop stale replication slots."
-msgstr ""
-"Detenga el postmaster y ejecute VACUUM de la base completa en esa base de datos.\n"
-"Puede que además necesite comprometer o abortar transacciones preparadas antiguas, o eliminar slots de replicación añejos."
+msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk."
+msgstr "El archivo de estado en dos fases ha sido encontrado en el registro de WAL %X/%X, pero esta transacción ya ha sido restaurada desde disco."
+
+#: access/transam/twophase.c:2524 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209
+#, c-format
+msgid "could not access file \"%s\": %m"
+msgstr "no se pudo acceder al archivo «%s»: %m"
+
+#: access/transam/varsup.c:156
+#, c-format
+msgid "database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database \"%s\""
+msgstr "la base de datos no está aceptando órdenes que asignen nuevos IDs de transacción para evitar pérdida de datos debido al “wraparound” en la base de datos «%s»"
 
-#: access/transam/varsup.c:136
+#: access/transam/varsup.c:163
 #, c-format
-msgid "database is not accepting commands to avoid wraparound data loss in database with OID %u"
-msgstr "la base de datos no está aceptando órdenes para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base con OID %u"
+msgid "database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database with OID %u"
+msgstr "la base de datos no está aceptando órdenes que generen nuevos IDs de transacción para evitar pérdida de datos debido al “wraparound” en la base con OID %u"
 
-#: access/transam/varsup.c:148 access/transam/varsup.c:463
+#: access/transam/varsup.c:175 access/transam/varsup.c:490
 #, c-format
 msgid "database \"%s\" must be vacuumed within %u transactions"
 msgstr "base de datos «%s» debe ser limpiada dentro de %u transacciones"
 
-#: access/transam/varsup.c:155 access/transam/varsup.c:470
+#: access/transam/varsup.c:178
+#, c-format
+msgid ""
+"To avoid transaction ID assignment failures, execute a database-wide VACUUM in that database.\n"
+"You might also need to commit or roll back old prepared transactions, or drop stale replication slots."
+msgstr ""
+"Para evitar fallas de asignación de IDs de transacción, ejecute VACUUM en esa base de datos.\n"
+"Puede que además necesite comprometer o abortar transacciones preparadas antiguas, o eliminar slots de replicación añejos."
+
+#: access/transam/varsup.c:182 access/transam/varsup.c:497
 #, c-format
 msgid "database with OID %u must be vacuumed within %u transactions"
 msgstr "base de datos con OID %u debe ser limpiada dentro de %u transacciones"
 
-#: access/transam/xact.c:1102
+#: access/transam/varsup.c:185 access/transam/varsup.c:493
+#: access/transam/varsup.c:500
+#, c-format
+msgid ""
+"To avoid XID assignment failures, execute a database-wide VACUUM in that database.\n"
+"You might also need to commit or roll back old prepared transactions, or drop stale replication slots."
+msgstr ""
+"Para evitar que la base de datos se desactive, ejecute VACUUM en esa base de datos.\n"
+"Puede que además necesite comprometer o abortar transacciones preparadas antiguas, o eliminar slots de replicación añejos."
+
+#: access/transam/xact.c:649
+#, c-format
+msgid "cannot assign transaction IDs during a parallel operation"
+msgstr "no se puede asignar IDs de transacción durante una operación paralela"
+
+#: access/transam/xact.c:840
+#, c-format
+msgid "cannot modify data in a parallel worker"
+msgstr "no se pueden modificar datos en un proceso ayudante paralelo"
+
+#: access/transam/xact.c:1115
+#, c-format
+msgid "cannot start commands during a parallel operation"
+msgstr "no se puede iniciar órdenes durante una operación paralela"
+
+#: access/transam/xact.c:1123
 #, c-format
 msgid "cannot have more than 2^32-2 commands in a transaction"
 msgstr "no se pueden tener más de 2^32-2 órdenes en una transacción"
 
-#: access/transam/xact.c:1643
+#: access/transam/xact.c:1664
 #, c-format
 msgid "maximum number of committed subtransactions (%d) exceeded"
 msgstr "se superó el número máximo de subtransacciones comprometidas (%d)"
 
-#: access/transam/xact.c:2513
+#: access/transam/xact.c:2561
 #, c-format
 msgid "cannot PREPARE a transaction that has operated on temporary objects"
 msgstr "no se puede hacer PREPARE de una transacción que ha operado en objetos temporales"
 
-#: access/transam/xact.c:2523
+#: access/transam/xact.c:2571
 #, c-format
 msgid "cannot PREPARE a transaction that has exported snapshots"
 msgstr "no se puede hacer PREPARE de una transacción que ha exportado snapshots"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3489
+#: access/transam/xact.c:3593
 #, c-format
 msgid "%s cannot run inside a transaction block"
 msgstr "%s no puede ser ejecutado dentro de un bloque de transacción"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3499
+#: access/transam/xact.c:3603
 #, c-format
 msgid "%s cannot run inside a subtransaction"
 msgstr "%s no puede ser ejecutado dentro de una subtransacción"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3509
-#, fuzzy, c-format
-#| msgid "%s cannot be executed from a function"
+#: access/transam/xact.c:3613
+#, c-format
 msgid "%s cannot be executed within a pipeline"
-msgstr "%s no puede ser ejecutado desde una función"
+msgstr "%s no puede ser ejecutado en un “pipeline”"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3519
+#: access/transam/xact.c:3623
 #, c-format
 msgid "%s cannot be executed from a function"
 msgstr "%s no puede ser ejecutado desde una función"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3590 access/transam/xact.c:3915
-#: access/transam/xact.c:3994 access/transam/xact.c:4117
-#: access/transam/xact.c:4268 access/transam/xact.c:4337
-#: access/transam/xact.c:4448
+#: access/transam/xact.c:3694 access/transam/xact.c:4019
+#: access/transam/xact.c:4098 access/transam/xact.c:4221
+#: access/transam/xact.c:4372 access/transam/xact.c:4441
+#: access/transam/xact.c:4552
 #, c-format
 msgid "%s can only be used in transaction blocks"
 msgstr "la orden %s sólo puede ser usada en bloques de transacción"
 
-#: access/transam/xact.c:3801
+#: access/transam/xact.c:3905
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "ya hay una transacción en curso"
 
-#: access/transam/xact.c:3920 access/transam/xact.c:3999
-#: access/transam/xact.c:4122
+#: access/transam/xact.c:4024 access/transam/xact.c:4103
+#: access/transam/xact.c:4226
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "no hay una transacción en curso"
 
-#: access/transam/xact.c:4010
+#: access/transam/xact.c:4114
 #, c-format
 msgid "cannot commit during a parallel operation"
 msgstr "no se puede comprometer una transacción durante una operación paralela"
 
-#: access/transam/xact.c:4133
+#: access/transam/xact.c:4237
 #, c-format
 msgid "cannot abort during a parallel operation"
 msgstr "no se puede abortar durante una operación paralela"
 
-#: access/transam/xact.c:4232
+#: access/transam/xact.c:4336
 #, c-format
 msgid "cannot define savepoints during a parallel operation"
 msgstr "no se pueden definir savepoints durante una operación paralela"
 
-#: access/transam/xact.c:4319
+#: access/transam/xact.c:4423
 #, c-format
 msgid "cannot release savepoints during a parallel operation"
 msgstr "no se pueden liberar savepoints durante una operación paralela"
 
-#: access/transam/xact.c:4329 access/transam/xact.c:4380
-#: access/transam/xact.c:4440 access/transam/xact.c:4489
+#: access/transam/xact.c:4433 access/transam/xact.c:4484
+#: access/transam/xact.c:4544 access/transam/xact.c:4593
 #, c-format
 msgid "savepoint \"%s\" does not exist"
 msgstr "no existe el «savepoint» «%s»"
 
-#: access/transam/xact.c:4386 access/transam/xact.c:4495
+#: access/transam/xact.c:4490 access/transam/xact.c:4599
 #, c-format
 msgid "savepoint \"%s\" does not exist within current savepoint level"
 msgstr "el «savepoint» «%s» no existe dentro del nivel de savepoint actual"
 
-#: access/transam/xact.c:4428
+#: access/transam/xact.c:4532
 #, c-format
 msgid "cannot rollback to savepoints during a parallel operation"
 msgstr "no se puede hacer rollback a un savepoint durante una operación paralela"
 
-#: access/transam/xact.c:4556
-#, c-format
-msgid "cannot start subtransactions during a parallel operation"
-msgstr "no se pueden iniciar subtransacciones durante una operación paralela"
-
-#: access/transam/xact.c:4624
-#, c-format
-msgid "cannot commit subtransactions during a parallel operation"
-msgstr "no se pueden comprometer subtransacciones durante una operación paralela"
-
-#: access/transam/xact.c:5270
+#: access/transam/xact.c:5376
 #, c-format
 msgid "cannot have more than 2^32-1 subtransactions in a transaction"
 msgstr "no se pueden tener más de 2^32-1 subtransacciones en una transacción"
 
-#: access/transam/xlog.c:1466
+#: access/transam/xlog.c:1542
 #, c-format
 msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X"
 msgstr "petición para sincronizar (flush) más allá del final del WAL generado; petición %X/%X, posición actual %X/%X"
 
+#: access/transam/xlog.c:1769
+#, c-format
+msgid "cannot read past end of generated WAL: requested %X/%X, current position %X/%X"
+msgstr "no se puede ler más allá del final del WAL generado; petición %X/%X, posición actual %X/%X"
+
+#: access/transam/xlog.c:2210 access/transam/xlog.c:4501
+#, c-format
+msgid "The WAL segment size must be a power of two between 1 MB and 1 GB."
+msgstr "El tamaño de segmento de WAL debe ser una potencia de dos entre 1 MB y 1 GB."
+
 #: access/transam/xlog.c:2228
 #, c-format
-msgid "could not write to log file %s at offset %u, length %zu: %m"
-msgstr "no se pudo escribir archivo de registro %s en la posición %u, largo %zu: %m"
+msgid "\"%s\" must be set to -1 during binary upgrade mode."
+msgstr "«%s» debe ser establecido a -1 durante el modo de actualización binaria."
+
+#: access/transam/xlog.c:2477
+#, c-format
+msgid "could not write to log file \"%s\" at offset %u, length %zu: %m"
+msgstr "no se pudo escribir archivo de registro «%s» en la posición %u, largo %zu: %m"
 
-#: access/transam/xlog.c:3455 access/transam/xlogutils.c:833
-#: replication/walsender.c:2725
+#: access/transam/xlog.c:3739 access/transam/xlogutils.c:831
+#: replication/walsender.c:3045
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "el segmento de WAL solicitado %s ya ha sido eliminado"
 
-#: access/transam/xlog.c:3739
+#: access/transam/xlog.c:4061
 #, c-format
 msgid "could not rename file \"%s\": %m"
 msgstr "no se pudo renombrar el archivo «%s»: %m"
 
-#: access/transam/xlog.c:3781 access/transam/xlog.c:3791
+#: access/transam/xlog.c:4104 access/transam/xlog.c:4115
+#: access/transam/xlog.c:4136
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "no existe el directorio WAL «%s»"
 
-#: access/transam/xlog.c:3797
+#: access/transam/xlog.c:4121 access/transam/xlog.c:4142
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "creando el directorio WAL faltante «%s»"
 
-#: access/transam/xlog.c:3800 commands/dbcommands.c:3095
+#: access/transam/xlog.c:4125 access/transam/xlog.c:4145
+#: commands/dbcommands.c:3262
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "no se pudo crear el directorio faltante «%s»: %m"
 
-#: access/transam/xlog.c:3867
+#: access/transam/xlog.c:4212
 #, c-format
 msgid "could not generate secret authorization token"
 msgstr "no se pudo generar un token de autorización secreto"
 
-#: access/transam/xlog.c:4017 access/transam/xlog.c:4026
-#: access/transam/xlog.c:4050 access/transam/xlog.c:4057
-#: access/transam/xlog.c:4064 access/transam/xlog.c:4069
-#: access/transam/xlog.c:4076 access/transam/xlog.c:4083
-#: access/transam/xlog.c:4090 access/transam/xlog.c:4097
-#: access/transam/xlog.c:4104 access/transam/xlog.c:4111
-#: access/transam/xlog.c:4120 access/transam/xlog.c:4127
-#: utils/init/miscinit.c:1762
+#: access/transam/xlog.c:4363 access/transam/xlog.c:4373
+#: access/transam/xlog.c:4399 access/transam/xlog.c:4407
+#: access/transam/xlog.c:4415 access/transam/xlog.c:4421
+#: access/transam/xlog.c:4429 access/transam/xlog.c:4437
+#: access/transam/xlog.c:4445 access/transam/xlog.c:4453
+#: access/transam/xlog.c:4461 access/transam/xlog.c:4469
+#: access/transam/xlog.c:4479 access/transam/xlog.c:4487
+#: utils/init/miscinit.c:1812
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "los archivos de base de datos son incompatibles con el servidor"
 
-#: access/transam/xlog.c:4018
+#: access/transam/xlog.c:4364
 #, c-format
 msgid "The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), but the server was compiled with PG_CONTROL_VERSION %d (0x%08x)."
 msgstr "Los archivos de base de datos fueron inicializados con PG_CONTROL_VERSION %d (0x%08x), pero el servidor fue compilado con PG_CONTROL_VERSION %d (0x%08x)."
 
-#: access/transam/xlog.c:4022
+#: access/transam/xlog.c:4368
 #, c-format
 msgid "This could be a problem of mismatched byte ordering.  It looks like you need to initdb."
 msgstr "Este puede ser un problema de discordancia en el orden de bytes. Parece que necesitará ejecutar initdb."
 
-#: access/transam/xlog.c:4027
+#: access/transam/xlog.c:4374
 #, c-format
 msgid "The database cluster was initialized with PG_CONTROL_VERSION %d, but the server was compiled with PG_CONTROL_VERSION %d."
 msgstr "Los archivos de base de datos fueron inicializados con PG_CONTROL_VERSION %d, pero el servidor fue compilado con PG_CONTROL_VERSION %d."
 
-#: access/transam/xlog.c:4030 access/transam/xlog.c:4054
-#: access/transam/xlog.c:4061 access/transam/xlog.c:4066
+#: access/transam/xlog.c:4377 access/transam/xlog.c:4403
+#: access/transam/xlog.c:4411 access/transam/xlog.c:4417
 #, c-format
 msgid "It looks like you need to initdb."
 msgstr "Parece que necesita ejecutar initdb."
 
-#: access/transam/xlog.c:4041
+#: access/transam/xlog.c:4389
 #, c-format
 msgid "incorrect checksum in control file"
 msgstr "la suma de verificación es incorrecta en el archivo de control"
 
-#: access/transam/xlog.c:4051
+#: access/transam/xlog.c:4400
 #, c-format
 msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d."
 msgstr "Los archivos de base de datos fueron inicializados con CATALOG_VERSION_NO %d, pero el servidor fue compilado con CATALOG_VERSION_NO %d."
 
-#: access/transam/xlog.c:4058
+#: access/transam/xlog.c:4408
 #, c-format
 msgid "The database cluster was initialized with MAXALIGN %d, but the server was compiled with MAXALIGN %d."
 msgstr "Los archivos de la base de datos fueron inicializados con MAXALIGN %d, pero el servidor fue compilado con MAXALIGN %d."
 
-#: access/transam/xlog.c:4065
+#: access/transam/xlog.c:4416
 #, c-format
 msgid "The database cluster appears to use a different floating-point number format than the server executable."
 msgstr "Los archivos de la base de datos parecen usar un formato de número de coma flotante distinto al del ejecutable del servidor."
 
-#: access/transam/xlog.c:4070
+#: access/transam/xlog.c:4422
 #, c-format
 msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d."
 msgstr "Los archivos de base de datos fueron inicializados con BLCKSZ %d, pero el servidor fue compilado con BLCKSZ %d."
 
-#: access/transam/xlog.c:4073 access/transam/xlog.c:4080
-#: access/transam/xlog.c:4087 access/transam/xlog.c:4094
-#: access/transam/xlog.c:4101 access/transam/xlog.c:4108
-#: access/transam/xlog.c:4115 access/transam/xlog.c:4123
-#: access/transam/xlog.c:4130
+#: access/transam/xlog.c:4425 access/transam/xlog.c:4433
+#: access/transam/xlog.c:4441 access/transam/xlog.c:4449
+#: access/transam/xlog.c:4457 access/transam/xlog.c:4465
+#: access/transam/xlog.c:4473 access/transam/xlog.c:4482
+#: access/transam/xlog.c:4490
 #, c-format
 msgid "It looks like you need to recompile or initdb."
 msgstr "Parece que necesita recompilar o ejecutar initdb."
 
-#: access/transam/xlog.c:4077
+#: access/transam/xlog.c:4430
 #, c-format
 msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d."
 msgstr "Los archivos de la base de datos fueron inicializados con RELSEG_SIZE %d, pero el servidor fue compilado con RELSEG_SIZE %d."
 
-#: access/transam/xlog.c:4084
+#: access/transam/xlog.c:4438
 #, c-format
 msgid "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was compiled with XLOG_BLCKSZ %d."
 msgstr "Los archivos de base de datos fueron inicializados con XLOG_BLCKSZ %d, pero el servidor fue compilado con XLOG_BLCKSZ %d."
 
-#: access/transam/xlog.c:4091
+#: access/transam/xlog.c:4446
 #, c-format
 msgid "The database cluster was initialized with NAMEDATALEN %d, but the server was compiled with NAMEDATALEN %d."
 msgstr "Los archivos de la base de datos fueron inicializados con NAMEDATALEN %d, pero el servidor fue compilado con NAMEDATALEN %d."
 
-#: access/transam/xlog.c:4098
+#: access/transam/xlog.c:4454
 #, c-format
 msgid "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server was compiled with INDEX_MAX_KEYS %d."
 msgstr "Los archivos de la base de datos fueron inicializados con INDEX_MAX_KEYS %d, pero el servidor fue compilado con INDEX_MAX_KEYS %d."
 
-#: access/transam/xlog.c:4105
+#: access/transam/xlog.c:4462
 #, c-format
 msgid "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the server was compiled with TOAST_MAX_CHUNK_SIZE %d."
 msgstr "Los archivos de la base de datos fueron inicializados con TOAST_MAX_CHUNK_SIZE %d, pero el servidor fue compilado con TOAST_MAX_CHUNK_SIZE %d."
 
-#: access/transam/xlog.c:4112
+#: access/transam/xlog.c:4470
 #, c-format
 msgid "The database cluster was initialized with LOBLKSIZE %d, but the server was compiled with LOBLKSIZE %d."
 msgstr "Los archivos de base de datos fueron inicializados con LOBLKSIZE %d, pero el servidor fue compilado con LOBLKSIZE %d."
 
-#: access/transam/xlog.c:4121
+#: access/transam/xlog.c:4480
 #, c-format
 msgid "The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL."
 msgstr "Los archivos de base de datos fueron inicializados sin USE_FLOAT8_BYVAL, pero el servidor fue compilado con USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:4128
+#: access/transam/xlog.c:4488
 #, c-format
 msgid "The database cluster was initialized with USE_FLOAT8_BYVAL but the server was compiled without USE_FLOAT8_BYVAL."
 msgstr "Los archivos de base de datos fueron inicializados con USE_FLOAT8_BYVAL, pero el servidor fue compilado sin USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:4137
+#: access/transam/xlog.c:4497
 #, c-format
-msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte"
-msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes"
-msgstr[0] "El tamaño del segmento de WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero el archivo de control especifica %d byte"
-msgstr[1] "El tamaño del segmento de WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero el archivo de control especifica %d bytes"
+msgid "invalid WAL segment size in control file (%d byte)"
+msgid_plural "invalid WAL segment size in control file (%d bytes)"
+msgstr[0] "tamaño de segmento de WAL no válido (%d byte) en archivo de control"
+msgstr[1] "tamaño de segmento de WAL no válido (%d bytes) en archivo de control"
 
-#: access/transam/xlog.c:4149
+#: access/transam/xlog.c:4510
 #, c-format
 msgid "\"min_wal_size\" must be at least twice \"wal_segment_size\""
 msgstr "«min_wal_size» debe ser al menos el doble de «wal_segment_size»"
 
-#: access/transam/xlog.c:4153
+#: access/transam/xlog.c:4514
 #, c-format
 msgid "\"max_wal_size\" must be at least twice \"wal_segment_size\""
 msgstr "«max_wal_size» debe ser al menos el doble de «wal_segment_size»"
 
-#: access/transam/xlog.c:4308 catalog/namespace.c:4335
-#: commands/tablespace.c:1216 commands/user.c:2536 commands/variable.c:72
-#: utils/error/elog.c:2205
+#: access/transam/xlog.c:4662 catalog/namespace.c:4696
+#: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72
+#: replication/slot.c:2429 tcop/postgres.c:3715 utils/error/elog.c:2247
 #, c-format
 msgid "List syntax is invalid."
 msgstr "La sintaxis de lista no es válida."
 
-#: access/transam/xlog.c:4354 commands/user.c:2552 commands/variable.c:173
-#: utils/error/elog.c:2231
+#: access/transam/xlog.c:4708 commands/user.c:2545 commands/variable.c:173
+#: tcop/postgres.c:3731 utils/error/elog.c:2273
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Palabra clave no reconocida: «%s»."
 
-#: access/transam/xlog.c:4768
+#: access/transam/xlog.c:5129
 #, c-format
 msgid "could not write bootstrap write-ahead log file: %m"
 msgstr "no se pudo escribir el archivo WAL de boostrap: %m"
 
-#: access/transam/xlog.c:4776
+#: access/transam/xlog.c:5137
 #, c-format
 msgid "could not fsync bootstrap write-ahead log file: %m"
 msgstr "no se pudo sincronizar (fsync) el archivo de WAL de bootstrap: %m"
 
-#: access/transam/xlog.c:4782
+#: access/transam/xlog.c:5143
 #, c-format
 msgid "could not close bootstrap write-ahead log file: %m"
 msgstr "no se pudo cerrar el archivo WAL de bootstrap: %m"
 
-#: access/transam/xlog.c:4999
+#: access/transam/xlog.c:5368
 #, c-format
-msgid "WAL was generated with wal_level=minimal, cannot continue recovering"
-msgstr "el WAL fue generado con wal_level=minimal, no se puede continuar con la recuperación"
+msgid "WAL was generated with \"wal_level=minimal\", cannot continue recovering"
+msgstr "el WAL fue generado con «wal_level=minimal», no se puede continuar con la recuperación"
 
-#: access/transam/xlog.c:5000
+#: access/transam/xlog.c:5369
 #, c-format
-msgid "This happens if you temporarily set wal_level=minimal on the server."
-msgstr "Esto sucede si temporalmente define wal_level=minimal en el servidor."
+msgid "This happens if you temporarily set \"wal_level=minimal\" on the server."
+msgstr "Esto sucede si temporalmente define «wal_level=minimal» en el servidor."
 
-#: access/transam/xlog.c:5001
+#: access/transam/xlog.c:5370
 #, c-format
-msgid "Use a backup taken after setting wal_level to higher than minimal."
-msgstr "Utilice un respaldo tomado después de establecer wal_level a un valor superior a minimal."
+msgid "Use a backup taken after setting \"wal_level\" to higher than \"minimal\"."
+msgstr "Utilice un respaldo tomado después de establecer «wal_level» a un valor superior a «minimal»."
 
-#: access/transam/xlog.c:5065
+#: access/transam/xlog.c:5435
 #, c-format
 msgid "control file contains invalid checkpoint location"
-msgstr "el archivo de control contiene una ubicación no válida de punto de control"
+msgstr "el archivo de control contiene una ubicación no válida de checkpoint"
 
-#: access/transam/xlog.c:5076
+#: access/transam/xlog.c:5446
 #, c-format
 msgid "database system was shut down at %s"
 msgstr "el sistema de bases de datos fue apagado en %s"
 
-#: access/transam/xlog.c:5082
+#: access/transam/xlog.c:5452
 #, c-format
 msgid "database system was shut down in recovery at %s"
 msgstr "el sistema de bases de datos fue apagado durante la recuperación en %s"
 
-#: access/transam/xlog.c:5088
+#: access/transam/xlog.c:5458
 #, c-format
 msgid "database system shutdown was interrupted; last known up at %s"
 msgstr "el apagado del sistema de datos fue interrumpido; última vez registrada en funcionamiento en %s"
 
-#: access/transam/xlog.c:5094
+#: access/transam/xlog.c:5464
 #, c-format
 msgid "database system was interrupted while in recovery at %s"
 msgstr "el sistema de bases de datos fue interrumpido durante la recuperación en %s"
 
-#: access/transam/xlog.c:5096
+#: access/transam/xlog.c:5466
 #, c-format
 msgid "This probably means that some data is corrupted and you will have to use the last backup for recovery."
 msgstr "Esto probablemente significa que algunos datos están corruptos y tendrá que usar el respaldo más reciente para la recuperación."
 
-#: access/transam/xlog.c:5102
+#: access/transam/xlog.c:5472
 #, c-format
 msgid "database system was interrupted while in recovery at log time %s"
 msgstr "el sistema de bases de datos fue interrumpido durante la recuperación en el instante de registro %s"
 
-#: access/transam/xlog.c:5104
+#: access/transam/xlog.c:5474
 #, c-format
 msgid "If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target."
 msgstr "Si esto ha ocurrido más de una vez, algunos datos podrían estar corruptos y podría ser necesario escoger un punto de recuperación anterior."
 
-#: access/transam/xlog.c:5110
+#: access/transam/xlog.c:5480
 #, c-format
 msgid "database system was interrupted; last known up at %s"
 msgstr "el sistema de bases de datos fue interrumpido; última vez en funcionamiento en %s"
 
-#: access/transam/xlog.c:5116
+#: access/transam/xlog.c:5487
 #, c-format
 msgid "control file contains invalid database cluster state"
 msgstr "el archivo de control contiene un estado no válido del clúster"
 
-#: access/transam/xlog.c:5500
+#: access/transam/xlog.c:5875
 #, c-format
 msgid "WAL ends before end of online backup"
 msgstr "WAL termina antes del fin del respaldo en línea"
 
-#: access/transam/xlog.c:5501
+#: access/transam/xlog.c:5876
 #, c-format
 msgid "All WAL generated while online backup was taken must be available at recovery."
 msgstr "Todo el WAL generado durante el respaldo en línea debe estar disponible durante la recuperación."
 
-#: access/transam/xlog.c:5504
+#: access/transam/xlog.c:5880
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "WAL termina antes del punto de recuperación consistente"
 
-#: access/transam/xlog.c:5550
+#: access/transam/xlog.c:5926
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "seleccionado nuevo ID de timeline: %u"
 
-#: access/transam/xlog.c:5583
+#: access/transam/xlog.c:5959
 #, c-format
 msgid "archive recovery complete"
 msgstr "recuperación completa"
 
-#: access/transam/xlog.c:6185
+#: access/transam/xlog.c:6612
 #, c-format
 msgid "shutting down"
 msgstr "apagando"
 
 #. translator: the placeholders show checkpoint options
-#: access/transam/xlog.c:6224
+#: access/transam/xlog.c:6651
 #, c-format
 msgid "restartpoint starting:%s%s%s%s%s%s%s%s"
 msgstr "empezando restartpoint:%s%s%s%s%s%s%s%s"
 
 #. translator: the placeholders show checkpoint options
-#: access/transam/xlog.c:6236
+#: access/transam/xlog.c:6663
 #, c-format
 msgid "checkpoint starting:%s%s%s%s%s%s%s%s"
 msgstr "empezando checkpoint:%s%s%s%s%s%s%s%s"
 
-#: access/transam/xlog.c:6301
+#: access/transam/xlog.c:6728
 #, c-format
 msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
-msgstr ""
+msgstr "restartpoint completo: escritos %d búfers (%.1f%%); %d archivos WAL añadidos, %d eliminados, %d reciclados; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; archivos sincronizados=%d, más largo=%ld.%03d s, promedio=%ld.%03d s; distancia=%d kB, estimación=%d kB; lsn=%X/%X, lsn de redo=%X/%X"
 
-#: access/transam/xlog.c:6324
+#: access/transam/xlog.c:6751
 #, c-format
 msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
-msgstr ""
+msgstr "checkpoint completo: escritos %d búfers (%.1f%%); %d archivos WAL añadidos, %d eliminados, %d reciclados; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; archivos sincronizados=%d, más largo=%ld.%03d s, promedio=%ld.%03d s; distancia=%d kB, estimación=%d kB; lsn=%X/%X, lsn de redo=%X/%X"
 
-#: access/transam/xlog.c:6762
+#: access/transam/xlog.c:7233
 #, c-format
 msgid "concurrent write-ahead log activity while database system is shutting down"
 msgstr "hay actividad de WAL mientras el sistema se está apagando"
 
-#: access/transam/xlog.c:7323
+#: access/transam/xlog.c:7818
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "restartpoint de recuperación en %X/%X"
 
-#: access/transam/xlog.c:7325
+#: access/transam/xlog.c:7820
 #, c-format
 msgid "Last completed transaction was at log time %s."
 msgstr "Última transacción completada al tiempo de registro %s."
 
-#: access/transam/xlog.c:7573
+#: access/transam/xlog.c:8082
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "punto de recuperación «%s» creado en %X/%X"
 
-#: access/transam/xlog.c:7780
+#: access/transam/xlog.c:8289
 #, c-format
 msgid "online backup was canceled, recovery cannot continue"
 msgstr "el respaldo en línea fue cancelado, la recuperación no puede continuar"
 
-#: access/transam/xlog.c:7837
+#: access/transam/xlog.c:8347
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record"
 msgstr "ID de timeline %u inesperado (debería ser %u) en el registro de checkpoint de detención"
 
-#: access/transam/xlog.c:7895
+#: access/transam/xlog.c:8405
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in online checkpoint record"
 msgstr "ID de timeline %u inesperado (debería ser %u) en el registro de checkpoint «online»"
 
-#: access/transam/xlog.c:7924
+#: access/transam/xlog.c:8434
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record"
 msgstr "ID de timeline %u inesperado (debería ser %u) en el registro de fin-de-recuperación"
 
-#: access/transam/xlog.c:8191
+#: access/transam/xlog.c:8705
 #, c-format
 msgid "could not fsync write-through file \"%s\": %m"
 msgstr "no se pudo sincronizar (fsync write-through) el archivo «%s»: %m"
 
-#: access/transam/xlog.c:8196
+#: access/transam/xlog.c:8710
 #, c-format
 msgid "could not fdatasync file \"%s\": %m"
 msgstr "no se pudo sincronizar (fdatasync) archivo «%s»: %m"
 
-#: access/transam/xlog.c:8281 access/transam/xlog.c:8604
+#: access/transam/xlog.c:8797 access/transam/xlog.c:9133
 #, c-format
 msgid "WAL level not sufficient for making an online backup"
 msgstr "el nivel de WAL no es suficiente para hacer un respaldo en línea"
 
-#: access/transam/xlog.c:8282 access/transam/xlog.c:8605
-#: access/transam/xlogfuncs.c:254
+#: access/transam/xlog.c:8798 access/transam/xlogfuncs.c:248
 #, c-format
-msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
-msgstr "wal_level debe ser definido a «replica» o «logical» al inicio del servidor."
+msgid "\"wal_level\" must be set to \"replica\" or \"logical\" at server start."
+msgstr "«wal_level» debe ser definido a «replica» o «logical» al inicio del servidor."
 
-#: access/transam/xlog.c:8287
+#: access/transam/xlog.c:8803
 #, c-format
 msgid "backup label too long (max %d bytes)"
 msgstr "la etiqueta de respaldo es demasiado larga (máximo %d bytes)"
 
-#: access/transam/xlog.c:8408
+#: access/transam/xlog.c:8924
 #, c-format
-msgid "WAL generated with full_page_writes=off was replayed since last restartpoint"
-msgstr "el WAL generado con full_page_writes=off fue restaurado desde el último restartpoint"
+msgid "WAL generated with \"full_page_writes=off\" was replayed since last restartpoint"
+msgstr "el WAL generado con «full_page_writes=off» fue restaurado desde el último restartpoint"
 
-#: access/transam/xlog.c:8410 access/transam/xlog.c:8693
+#: access/transam/xlog.c:8926 access/transam/xlog.c:9222
 #, c-format
-msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the primary, and then try an online backup again."
-msgstr "Esto significa que el respaldo que estaba siendo tomado en el standby está corrupto y no debería usarse. Active full_page_writes y ejecute CHECKPOINT en el primario, luego trate de ejecutar un respaldo en línea nuevamente."
+msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable \"full_page_writes\" and run CHECKPOINT on the primary, and then try an online backup again."
+msgstr "Esto significa que el respaldo que estaba siendo tomado en el standby está corrupto y no debería usarse. Active «full_page_writes» y ejecute CHECKPOINT en el primario, luego trate de ejecutar un respaldo en línea nuevamente."
 
-#: access/transam/xlog.c:8477 backup/basebackup.c:1351 utils/adt/misc.c:354
+#: access/transam/xlog.c:9006 backup/basebackup.c:1417 utils/adt/misc.c:354
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "no se pudo leer el enlace simbólico «%s»: %m"
 
-#: access/transam/xlog.c:8484 backup/basebackup.c:1356 utils/adt/misc.c:359
+#: access/transam/xlog.c:9013 backup/basebackup.c:1422 utils/adt/misc.c:359
 #, c-format
 msgid "symbolic link \"%s\" target is too long"
 msgstr "la ruta «%s» del enlace simbólico es demasiado larga"
 
-#: access/transam/xlog.c:8643 backup/basebackup.c:1217
+#: access/transam/xlog.c:9134
+#, c-format
+msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
+msgstr "wal_level debe ser definido a «replica» o «logical» al inicio del servidor."
+
+#: access/transam/xlog.c:9172 backup/basebackup.c:1281
 #, c-format
 msgid "the standby was promoted during online backup"
 msgstr "el standby fue promovido durante el respaldo en línea"
 
-#: access/transam/xlog.c:8644 backup/basebackup.c:1218
+#: access/transam/xlog.c:9173 backup/basebackup.c:1282
 #, c-format
 msgid "This means that the backup being taken is corrupt and should not be used. Try taking another online backup."
 msgstr "Esto significa que el respaldo que se estaba tomando está corrupto y no debería ser usado. Trate de ejecutar un nuevo respaldo en línea."
 
-#: access/transam/xlog.c:8691
+#: access/transam/xlog.c:9220
 #, c-format
-msgid "WAL generated with full_page_writes=off was replayed during online backup"
-msgstr "el WAL generado con full_page_writes=off fue restaurado durante el respaldo en línea"
+msgid "WAL generated with \"full_page_writes=off\" was replayed during online backup"
+msgstr "el WAL generado con «full_page_writes=off» fue restaurado durante el respaldo en línea"
 
-#: access/transam/xlog.c:8807
+#: access/transam/xlog.c:9336
 #, c-format
 msgid "base backup done, waiting for required WAL segments to be archived"
 msgstr "respaldo base completo, esperando que se archiven los segmentos WAL requeridos"
 
-#: access/transam/xlog.c:8821
+#: access/transam/xlog.c:9350
 #, c-format
 msgid "still waiting for all required WAL segments to be archived (%d seconds elapsed)"
 msgstr "todavía en espera de que todos los segmentos WAL requeridos sean archivados (han pasado %d segundos)"
 
-#: access/transam/xlog.c:8823
+#: access/transam/xlog.c:9352
 #, c-format
-msgid "Check that your archive_command is executing properly.  You can safely cancel this backup, but the database backup will not be usable without all the WAL segments."
-msgstr "Verifique que su archive_command se esté ejecutando con normalidad.  Puede cancelar este respaldo con confianza, pero el respaldo de la base de datos no será utilizable a menos que disponga de todos los segmentos de WAL."
+msgid "Check that your \"archive_command\" is executing properly.  You can safely cancel this backup, but the database backup will not be usable without all the WAL segments."
+msgstr "Verifique que su «archive_command» se esté ejecutando con normalidad.  Puede cancelar este respaldo con confianza, pero el respaldo de la base de datos no será utilizable a menos que disponga de todos los segmentos de WAL."
 
-#: access/transam/xlog.c:8830
+#: access/transam/xlog.c:9359
 #, c-format
 msgid "all required WAL segments have been archived"
 msgstr "todos los segmentos de WAL requeridos han sido archivados"
 
-#: access/transam/xlog.c:8834
+#: access/transam/xlog.c:9363
 #, c-format
 msgid "WAL archiving is not enabled; you must ensure that all required WAL segments are copied through other means to complete the backup"
 msgstr "el archivado de WAL no está activo; debe asegurarse que todos los segmentos WAL requeridos se copian por algún otro mecanismo para completar el respaldo"
 
-#: access/transam/xlog.c:8873
+#: access/transam/xlog.c:9402
 #, c-format
 msgid "aborting backup due to backend exiting before pg_backup_stop was called"
 msgstr "abortando el backup porque el proceso servidor terminó antes de que pg_backup_stop fuera invocada"
 
-#: access/transam/xlogarchive.c:207
+#: access/transam/xlogarchive.c:213
 #, c-format
 msgid "archive file \"%s\" has wrong size: %lld instead of %lld"
 msgstr "el archivo «%s» tiene tamaño erróneo: %lld en lugar de %lld"
 
-#: access/transam/xlogarchive.c:216
+#: access/transam/xlogarchive.c:222
 #, c-format
 msgid "restored log file \"%s\" from archive"
 msgstr "se ha restaurado el archivo «%s» desde el área de archivado"
 
-#: access/transam/xlogarchive.c:230
+#: access/transam/xlogarchive.c:236
 #, c-format
-msgid "restore_command returned a zero exit status, but stat() failed."
-msgstr "restore_command retornó un estado de salida cero, pero stat() falló."
+msgid "\"restore_command\" returned a zero exit status, but stat() failed."
+msgstr "«restore_command» retornó un estado de salida cero, pero stat() falló."
 
-#: access/transam/xlogarchive.c:262
+#: access/transam/xlogarchive.c:268
 #, c-format
 msgid "could not restore file \"%s\" from archive: %s"
 msgstr "no se pudo recuperar el archivo «%s»: %s"
@@ -2744,1028 +2989,1097 @@ msgstr "no se pudo recuperar el archivo «%s»: %s"
 #. translator: First %s represents a postgresql.conf parameter name like
 #. "recovery_end_command", the 2nd is the value of that parameter, the
 #. third an already translated error message.
-#: access/transam/xlogarchive.c:340
+#: access/transam/xlogarchive.c:346
 #, c-format
 msgid "%s \"%s\": %s"
 msgstr "%s «%s»: %s"
 
-#: access/transam/xlogarchive.c:450 access/transam/xlogarchive.c:530
+#: access/transam/xlogarchive.c:456 access/transam/xlogarchive.c:536
 #, c-format
 msgid "could not create archive status file \"%s\": %m"
 msgstr "no se pudo crear el archivo de estado «%s»: %m"
 
-#: access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:538
+#: access/transam/xlogarchive.c:464 access/transam/xlogarchive.c:544
 #, c-format
 msgid "could not write archive status file \"%s\": %m"
 msgstr "no se pudo escribir el archivo de estado «%s»: %m"
 
-#: access/transam/xlogfuncs.c:75 backup/basebackup.c:973
+#: access/transam/xlogfuncs.c:69 backup/basebackup.c:997
 #, c-format
 msgid "a backup is already in progress in this session"
 msgstr "ya hay un respaldo en curso en esta sesión"
 
-#: access/transam/xlogfuncs.c:146
+#: access/transam/xlogfuncs.c:140
 #, c-format
 msgid "backup is not in progress"
 msgstr "no hay respaldo en curso"
 
-#: access/transam/xlogfuncs.c:147
+#: access/transam/xlogfuncs.c:141
 #, c-format
 msgid "Did you call pg_backup_start()?"
 msgstr "¿Invocó pg_backup_start()?"
 
-#: access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:248
-#: access/transam/xlogfuncs.c:287 access/transam/xlogfuncs.c:308
-#: access/transam/xlogfuncs.c:329
+#: access/transam/xlogfuncs.c:184 access/transam/xlogfuncs.c:242
+#: access/transam/xlogfuncs.c:281 access/transam/xlogfuncs.c:302
+#: access/transam/xlogfuncs.c:323
 #, c-format
 msgid "WAL control functions cannot be executed during recovery."
 msgstr "Las funciones de control de WAL no pueden ejecutarse durante la recuperación."
 
-#: access/transam/xlogfuncs.c:215 access/transam/xlogfuncs.c:399
-#: access/transam/xlogfuncs.c:457
+#: access/transam/xlogfuncs.c:209 access/transam/xlogfuncs.c:389
+#: access/transam/xlogfuncs.c:447
 #, c-format
 msgid "%s cannot be executed during recovery."
 msgstr "No se puede ejecutar %s durante la recuperación."
 
-# FIXME see logical.c:81
-#: access/transam/xlogfuncs.c:221
-#, fuzzy, c-format
-#| msgid "replication slots can only be used if wal_level >= replica"
-msgid "pg_log_standby_snapshot() can only be used if wal_level >= replica"
-msgstr "los slots de replicación sólo pueden usarse si wal_level >= replica"
+#: access/transam/xlogfuncs.c:215
+#, c-format
+msgid "pg_log_standby_snapshot() can only be used if \"wal_level\" >= \"replica\""
+msgstr "pg_log_standby_snapshot() sólo puede usarse si «wal_level» >= «replica»"
 
-#: access/transam/xlogfuncs.c:253
+#: access/transam/xlogfuncs.c:247
 #, c-format
 msgid "WAL level not sufficient for creating a restore point"
 msgstr "el nivel de WAL no es suficiente para crear un punto de recuperación"
 
-#: access/transam/xlogfuncs.c:261
+#: access/transam/xlogfuncs.c:255
 #, c-format
 msgid "value too long for restore point (maximum %d characters)"
 msgstr "el valor es demasiado largo para un punto de recuperación (máximo %d caracteres)"
 
-#: access/transam/xlogfuncs.c:496
-#, fuzzy, c-format
-#| msgid "invalid locale name \"%s\""
+#: access/transam/xlogfuncs.c:486
+#, c-format
 msgid "invalid WAL file name \"%s\""
-msgstr "nombre de configuración regional «%s» no es válido"
+msgstr "nombre de archivo WAL «%s» no válido"
 
-#: access/transam/xlogfuncs.c:532 access/transam/xlogfuncs.c:562
-#: access/transam/xlogfuncs.c:586 access/transam/xlogfuncs.c:609
-#: access/transam/xlogfuncs.c:689
+#: access/transam/xlogfuncs.c:522 access/transam/xlogfuncs.c:552
+#: access/transam/xlogfuncs.c:576 access/transam/xlogfuncs.c:599
+#: access/transam/xlogfuncs.c:679
 #, c-format
 msgid "recovery is not in progress"
 msgstr "la recuperación no está en proceso"
 
-#: access/transam/xlogfuncs.c:533 access/transam/xlogfuncs.c:563
-#: access/transam/xlogfuncs.c:587 access/transam/xlogfuncs.c:610
-#: access/transam/xlogfuncs.c:690
+#: access/transam/xlogfuncs.c:523 access/transam/xlogfuncs.c:553
+#: access/transam/xlogfuncs.c:577 access/transam/xlogfuncs.c:600
+#: access/transam/xlogfuncs.c:680
 #, c-format
 msgid "Recovery control functions can only be executed during recovery."
 msgstr "Las funciones de control de recuperación sólo pueden ejecutarse durante la recuperación."
 
-#: access/transam/xlogfuncs.c:538 access/transam/xlogfuncs.c:568
+#: access/transam/xlogfuncs.c:528 access/transam/xlogfuncs.c:558
 #, c-format
 msgid "standby promotion is ongoing"
 msgstr "la promoción del standby está en curso"
 
-#: access/transam/xlogfuncs.c:539 access/transam/xlogfuncs.c:569
+#: access/transam/xlogfuncs.c:529 access/transam/xlogfuncs.c:559
 #, c-format
 msgid "%s cannot be executed after promotion is triggered."
 msgstr "%s no puede ser ejecutado después que una promoción es solicitada."
 
-#: access/transam/xlogfuncs.c:695
+#: access/transam/xlogfuncs.c:685
 #, c-format
 msgid "\"wait_seconds\" must not be negative or zero"
 msgstr "«wait_seconds» no puede ser negativo o cero"
 
-#: access/transam/xlogfuncs.c:715 storage/ipc/signalfuncs.c:260
+#: access/transam/xlogfuncs.c:707 storage/ipc/signalfuncs.c:265
 #, c-format
 msgid "failed to send signal to postmaster: %m"
 msgstr "no se pudo enviar señal a postmaster: %m"
 
-#: access/transam/xlogfuncs.c:751
+#: access/transam/xlogfuncs.c:739 libpq/be-secure.c:237 libpq/be-secure.c:346
+#, c-format
+msgid "terminating connection due to unexpected postmaster exit"
+msgstr "terminando la conexión debido al término inesperado de postmaster"
+
+#: access/transam/xlogfuncs.c:740
+#, c-format
+msgid "while waiting on promotion"
+msgstr "mientras se esperaba la promoción"
+
+#: access/transam/xlogfuncs.c:744
 #, c-format
 msgid "server did not promote within %d second"
 msgid_plural "server did not promote within %d seconds"
 msgstr[0] "el servidor no se promovió en %d segundo"
 msgstr[1] "el servidor no se promovió en %d segundos"
 
-#: access/transam/xlogprefetcher.c:1092
+#: access/transam/xlogprefetcher.c:1088
 #, c-format
-msgid "recovery_prefetch is not supported on platforms that lack posix_fadvise()."
-msgstr "recovery_prefetch no está soportado en plataformas que no tienen posix_fadvise()."
+msgid "\"recovery_prefetch\" is not supported on platforms that lack posix_fadvise()."
+msgstr "«recovery_prefetch» no está soportado en plataformas que no tienen posix_fadvise()."
 
-#: access/transam/xlogreader.c:626
+#: access/transam/xlogreader.c:619
 #, c-format
 msgid "invalid record offset at %X/%X: expected at least %u, got %u"
 msgstr "desplazamiento de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u"
 
-#: access/transam/xlogreader.c:635
+#: access/transam/xlogreader.c:628
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "contrecord solicitado por %X/%X"
 
-#: access/transam/xlogreader.c:676 access/transam/xlogreader.c:1123
+#: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1134
 #, c-format
 msgid "invalid record length at %X/%X: expected at least %u, got %u"
 msgstr "largo de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u"
 
-#: access/transam/xlogreader.c:705
-#, c-format
-msgid "out of memory while trying to decode a record of length %u"
-msgstr "memoria agotada mientras se intentaba decodificar un registro de largo %u"
-
-#: access/transam/xlogreader.c:727
-#, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "largo de registro %u en %X/%X demasiado largo"
-
-#: access/transam/xlogreader.c:776
+#: access/transam/xlogreader.c:758
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "no hay bandera de contrecord en %X/%X"
 
-#: access/transam/xlogreader.c:789
+#: access/transam/xlogreader.c:771
 #, c-format
 msgid "invalid contrecord length %u (expected %lld) at %X/%X"
 msgstr "largo de contrecord %u no válido (se esperaba %lld) en %X/%X"
 
-#: access/transam/xlogreader.c:924
-#, c-format
-msgid "missing contrecord at %X/%X"
-msgstr "falta un contrecord en %X/%X"
-
-#: access/transam/xlogreader.c:1131
+#: access/transam/xlogreader.c:1142
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "ID de gestor de recursos %u no válido en %X/%X"
 
-#: access/transam/xlogreader.c:1144 access/transam/xlogreader.c:1160
+#: access/transam/xlogreader.c:1155 access/transam/xlogreader.c:1171
 #, c-format
 msgid "record with incorrect prev-link %X/%X at %X/%X"
 msgstr "registro con prev-link %X/%X incorrecto en %X/%X"
 
-#: access/transam/xlogreader.c:1196
+#: access/transam/xlogreader.c:1209
 #, c-format
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr "suma de verificación de los datos del gestor de recursos incorrecta en el registro en %X/%X"
 
-#: access/transam/xlogreader.c:1230
+#: access/transam/xlogreader.c:1243
 #, c-format
 msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "número mágico %04X no válido en segmento WAL %s, LSN %X/%X, posición %u"
 
-#: access/transam/xlogreader.c:1245 access/transam/xlogreader.c:1287
+#: access/transam/xlogreader.c:1258 access/transam/xlogreader.c:1300
 #, c-format
 msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "info bits %04X no válidos en segment WAL %s, LSN %X/%X, posición %u"
 
-#: access/transam/xlogreader.c:1261
+#: access/transam/xlogreader.c:1274
 #, c-format
 msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu"
 msgstr "archivo WAL es de un sistema de bases de datos distinto: identificador de sistema en archivo WAL es %llu, identificador en pg_control es %llu"
 
-#: access/transam/xlogreader.c:1269
+#: access/transam/xlogreader.c:1282
 #, c-format
 msgid "WAL file is from different database system: incorrect segment size in page header"
 msgstr "archivo WAL es de un sistema de bases de datos distinto: tamaño de segmento incorrecto en cabecera de paǵina"
 
-#: access/transam/xlogreader.c:1275
+#: access/transam/xlogreader.c:1288
 #, c-format
 msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
 msgstr "archivo WAL es de un sistema de bases de datos distinto: XLOG_BLCKSZ incorrecto en cabecera de paǵina"
 
-#: access/transam/xlogreader.c:1307
+#: access/transam/xlogreader.c:1320
 #, c-format
 msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "pageaddr %X/%X inesperado en segmento WAL %s, LSN %X/%X, posición %u"
 
-#: access/transam/xlogreader.c:1333
+#: access/transam/xlogreader.c:1346
 #, c-format
 msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "ID de timeline %u fuera de secuencia (después de %u) en segmento WAL %s, LSN %X/%X, posición %u"
 
-#: access/transam/xlogreader.c:1739
+#: access/transam/xlogreader.c:1749
 #, c-format
 msgid "out-of-order block_id %u at %X/%X"
 msgstr "block_id %u fuera de orden en %X/%X"
 
-#: access/transam/xlogreader.c:1763
+#: access/transam/xlogreader.c:1773
 #, c-format
 msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA está definido, pero no hay datos en %X/%X"
 
-#: access/transam/xlogreader.c:1770
+#: access/transam/xlogreader.c:1780
 #, c-format
 msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA no está definido, pero el largo de los datos es %u en %X/%X"
 
-#: access/transam/xlogreader.c:1806
+#: access/transam/xlogreader.c:1816
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
 msgstr "BKPIMAGE_HAS_HOLE está definido, pero posición del agujero es %u largo %u largo de imagen %u en %X/%X"
 
-#: access/transam/xlogreader.c:1822
+#: access/transam/xlogreader.c:1832
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
 msgstr "BKPIMAGE_HAS_HOLE no está definido, pero posición del agujero es %u largo %u en %X/%X"
 
-#: access/transam/xlogreader.c:1836
+#: access/transam/xlogreader.c:1846
 #, c-format
 msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
 msgstr "BKPIMAGE_COMPRESSED definido, pero largo de imagen de bloque es %u en %X/%X"
 
-#: access/transam/xlogreader.c:1851
+#: access/transam/xlogreader.c:1861
 #, c-format
 msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
 msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED están definidos, pero el largo de imagen de bloque es %u en %X/%X"
 
-#: access/transam/xlogreader.c:1867
+#: access/transam/xlogreader.c:1877
 #, c-format
 msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
 msgstr "BKPBLOCK_SAME_REL está definido, pero no hay «rel» anterior en %X/%X "
 
-#: access/transam/xlogreader.c:1879
+#: access/transam/xlogreader.c:1889
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "block_id %u no válido en %X/%X"
 
-#: access/transam/xlogreader.c:1946
+#: access/transam/xlogreader.c:1956
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "registro con largo no válido en %X/%X"
 
-#: access/transam/xlogreader.c:1972
+#: access/transam/xlogreader.c:1982
 #, c-format
 msgid "could not locate backup block with ID %d in WAL record"
 msgstr "no se pudo localizar un bloque de respaldo con ID %d en el registro WAL"
 
-#: access/transam/xlogreader.c:2056
+#: access/transam/xlogreader.c:2066
 #, c-format
 msgid "could not restore image at %X/%X with invalid block %d specified"
 msgstr "no se pudo restaurar la imagen en %X/%X con bloque especifica %d no válido"
 
-#: access/transam/xlogreader.c:2063
+#: access/transam/xlogreader.c:2073
 #, c-format
 msgid "could not restore image at %X/%X with invalid state, block %d"
 msgstr "no se pudo restaurar la imagen en %X/%X con estado no válido, bloque %d"
 
-#: access/transam/xlogreader.c:2090 access/transam/xlogreader.c:2107
+#: access/transam/xlogreader.c:2100 access/transam/xlogreader.c:2117
 #, c-format
 msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
 msgstr "no se pudo restaurar la imagen en %X/%X comprimida con %s que no está soportado por esta instalación, bloque %d"
 
-#: access/transam/xlogreader.c:2116
+#: access/transam/xlogreader.c:2126
 #, c-format
 msgid "could not restore image at %X/%X compressed with unknown method, block %d"
 msgstr "no se pudo restaurar la imagen en %X/%X comprimida con un método desconocido, bloque %d"
 
-#: access/transam/xlogreader.c:2124
+#: access/transam/xlogreader.c:2134
 #, c-format
 msgid "could not decompress image at %X/%X, block %d"
 msgstr "no se pudo descomprimir la imagen en %X/%X, bloque %d"
 
-#: access/transam/xlogrecovery.c:547
-#, c-format
-msgid "entering standby mode"
-msgstr "entrando al modo standby"
-
-#: access/transam/xlogrecovery.c:550
-#, c-format
-msgid "starting point-in-time recovery to XID %u"
-msgstr "comenzando el proceso de recuperación hasta el XID %u"
-
-#: access/transam/xlogrecovery.c:554
-#, c-format
-msgid "starting point-in-time recovery to %s"
-msgstr "comenzando el proceso de recuperación hasta %s"
-
-#: access/transam/xlogrecovery.c:558
-#, c-format
-msgid "starting point-in-time recovery to \"%s\""
-msgstr "comenzando el proceso de recuperación hasta «%s»"
-
-#: access/transam/xlogrecovery.c:562
-#, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
-msgstr "comenzando el proceso de recuperación punto-en-el-tiempo a la ubicación (LSN) de WAL «%X/%X»"
-
-#: access/transam/xlogrecovery.c:566
-#, c-format
-msgid "starting point-in-time recovery to earliest consistent point"
-msgstr "comenzando recuperación a un punto en el tiempo hasta alcanzar un estado consistente"
-
-#: access/transam/xlogrecovery.c:569
+#: access/transam/xlogrecovery.c:617
 #, c-format
-msgid "starting archive recovery"
-msgstr "comenzando proceso de recuperación"
+msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on timeline ID %u"
+msgstr "iniciando recuperación de backup con LSN de redo %X/%X, LSN de checkpoint %X/%X, en timeline %u"
 
-#: access/transam/xlogrecovery.c:653
+#: access/transam/xlogrecovery.c:649
 #, c-format
-msgid "could not find redo location referenced by checkpoint record"
-msgstr "no se pudo encontrar la ubicación de redo referida por el registro de punto de control"
+msgid "could not find redo location %X/%X referenced by checkpoint record at %X/%X"
+msgstr "no se pudo encontrar la ubicación de redo %X/%X referida por el registro de checkpoint en %X/%X"
 
 # Purposefully deviate from quoting convention here, since argument is a shell command.
-#: access/transam/xlogrecovery.c:654 access/transam/xlogrecovery.c:664
+#: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662
 #, c-format
 msgid ""
-"If you are restoring from a backup, touch \"%s/recovery.signal\" and add required recovery options.\n"
+"If you are restoring from a backup, touch \"%s/recovery.signal\" or \"%s/standby.signal\" and add required recovery options.\n"
 "If you are not restoring from a backup, try removing the file \"%s/backup_label\".\n"
 "Be careful: removing \"%s/backup_label\" will result in a corrupt cluster if restoring from a backup."
 msgstr ""
-"Si está restaurando de un respaldo, ejecute «touch \"%s.recovery.signal\"» y agregue las opciones de restauración necesarias.\n"
+"Si está restaurando de un respaldo, ejecute «touch \"%s/recovery.signal\"» o «%s/standby.signal» y agregue las opciones de restauración necesarias.\n"
 "Si no está restaurando de un respaldo, intente eliminar el archivo \"%s/backup_label\".\n"
 "Tenga cuidado: eliminar \"%s/backup_label\" resultará en un clúster corrupto si está restaurando de un respaldo."
 
-#: access/transam/xlogrecovery.c:663
+#: access/transam/xlogrecovery.c:660
 #, c-format
-msgid "could not locate required checkpoint record"
-msgstr "no se pudo localizar el registro del punto de control requerido"
+msgid "could not locate required checkpoint record at %X/%X"
+msgstr "no se pudo localizar el registro de checkpoint requerido en %X/%X"
 
-#: access/transam/xlogrecovery.c:692 commands/tablespace.c:670
+#: access/transam/xlogrecovery.c:690 commands/tablespace.c:664
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "no se pudo crear el enlace simbólico «%s»: %m"
 
-#: access/transam/xlogrecovery.c:724 access/transam/xlogrecovery.c:730
+#: access/transam/xlogrecovery.c:723 access/transam/xlogrecovery.c:729
 #, c-format
 msgid "ignoring file \"%s\" because no file \"%s\" exists"
 msgstr "ignorando el archivo «%s» porque no existe un archivo «%s»"
 
-#: access/transam/xlogrecovery.c:726
+#: access/transam/xlogrecovery.c:725
 #, c-format
 msgid "File \"%s\" was renamed to \"%s\"."
 msgstr "El archivo «%s» fue renombrado a «%s»."
 
-#: access/transam/xlogrecovery.c:732
+#: access/transam/xlogrecovery.c:731
 #, c-format
 msgid "Could not rename file \"%s\" to \"%s\": %m."
 msgstr "No se pudo renombrar el archivo de «%s» a «%s»: %m."
 
-#: access/transam/xlogrecovery.c:786
+#: access/transam/xlogrecovery.c:770
+#, c-format
+msgid "restarting backup recovery with redo LSN %X/%X"
+msgstr "reiniciando recuperación del backup con LSN de redo «%X/%X»"
+
+#: access/transam/xlogrecovery.c:795
+#, c-format
+msgid "could not locate a valid checkpoint record at %X/%X"
+msgstr "no se pudo localizar un registro de válido en %X/%X"
+
+#: access/transam/xlogrecovery.c:806
+#, c-format
+msgid "entering standby mode"
+msgstr "entrando al modo standby"
+
+#: access/transam/xlogrecovery.c:809
+#, c-format
+msgid "starting point-in-time recovery to XID %u"
+msgstr "comenzando el proceso de recuperación hasta el XID %u"
+
+#: access/transam/xlogrecovery.c:813
 #, c-format
-msgid "could not locate a valid checkpoint record"
-msgstr "no se pudo localizar un registro de punto de control válido"
+msgid "starting point-in-time recovery to %s"
+msgstr "comenzando el proceso de recuperación hasta %s"
+
+#: access/transam/xlogrecovery.c:817
+#, c-format
+msgid "starting point-in-time recovery to \"%s\""
+msgstr "comenzando el proceso de recuperación hasta «%s»"
+
+#: access/transam/xlogrecovery.c:821
+#, c-format
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
+msgstr "comenzando el proceso de recuperación punto-en-el-tiempo a la ubicación (LSN) de WAL «%X/%X»"
+
+#: access/transam/xlogrecovery.c:825
+#, c-format
+msgid "starting point-in-time recovery to earliest consistent point"
+msgstr "comenzando recuperación a un punto en el tiempo hasta alcanzar un estado consistente"
+
+#: access/transam/xlogrecovery.c:828
+#, c-format
+msgid "starting archive recovery"
+msgstr "comenzando proceso de recuperación"
 
-#: access/transam/xlogrecovery.c:810
+#: access/transam/xlogrecovery.c:849
 #, c-format
 msgid "requested timeline %u is not a child of this server's history"
 msgstr "el timeline solicitado %u no es un hijo de la historia de este servidor"
 
-#: access/transam/xlogrecovery.c:812
+#: access/transam/xlogrecovery.c:851
 #, c-format
 msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
-msgstr "El punto de control más reciente está en %X/%X en el timeline %u, pero en la historia del timeline solicitado, el servidor se desvió desde ese timeline en %X/%X."
+msgstr "El checkpoint más reciente está en %X/%X en el timeline %u, pero en la historia del timeline solicitado, el servidor se desvió desde ese timeline en %X/%X."
 
-#: access/transam/xlogrecovery.c:826
+#: access/transam/xlogrecovery.c:865
 #, c-format
 msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
 msgstr "el timeline solicitado %u no contiene el punto mínimo de recuperación %X/%X en el timeline %u"
 
-#: access/transam/xlogrecovery.c:854
+#: access/transam/xlogrecovery.c:893
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "el siguiente ID de transacción no es válido"
 
-#: access/transam/xlogrecovery.c:859
+#: access/transam/xlogrecovery.c:898
 #, c-format
 msgid "invalid redo in checkpoint record"
-msgstr "redo no es válido en el registro de punto de control"
+msgstr "redo no es válido en el registro de checkpoint"
 
-#: access/transam/xlogrecovery.c:870
+#: access/transam/xlogrecovery.c:909
 #, c-format
 msgid "invalid redo record in shutdown checkpoint"
-msgstr "registro redo no es válido en el punto de control de apagado"
+msgstr "registro redo no es válido en el checkpoint de apagado"
 
-#: access/transam/xlogrecovery.c:899
+#: access/transam/xlogrecovery.c:938
 #, c-format
 msgid "database system was not properly shut down; automatic recovery in progress"
 msgstr "el sistema de bases de datos no fue apagado apropiadamente; se está efectuando la recuperación automática"
 
-#: access/transam/xlogrecovery.c:903
+#: access/transam/xlogrecovery.c:942
 #, c-format
 msgid "crash recovery starts in timeline %u and has target timeline %u"
 msgstr "la recuperación comienza en el timeline %u y tiene un timeline de destino %u"
 
-#: access/transam/xlogrecovery.c:946
+#: access/transam/xlogrecovery.c:985
 #, c-format
 msgid "backup_label contains data inconsistent with control file"
 msgstr "backup_label contiene datos inconsistentes con el archivo de control"
 
-#: access/transam/xlogrecovery.c:947
+#: access/transam/xlogrecovery.c:986
 #, c-format
 msgid "This means that the backup is corrupted and you will have to use another backup for recovery."
 msgstr "Esto significa que el respaldo está corrupto y deberá usar otro respaldo para la recuperación."
 
-#: access/transam/xlogrecovery.c:1001
+#: access/transam/xlogrecovery.c:1040
 #, c-format
 msgid "using recovery command file \"%s\" is not supported"
 msgstr "el uso del archivo de configuración de recuperación «%s» no está soportado"
 
-#: access/transam/xlogrecovery.c:1066
+#: access/transam/xlogrecovery.c:1105
 #, c-format
 msgid "standby mode is not supported by single-user servers"
 msgstr "el modo standby no está soportado en el modo mono-usuario"
 
-#: access/transam/xlogrecovery.c:1083
+#: access/transam/xlogrecovery.c:1122
 #, c-format
-msgid "specified neither primary_conninfo nor restore_command"
-msgstr "no se especifica primary_conninfo ni restore_command"
+msgid "specified neither \"primary_conninfo\" nor \"restore_command\""
+msgstr "no se especifica «primary_conninfo» ni «restore_command»"
 
-#: access/transam/xlogrecovery.c:1084
+#: access/transam/xlogrecovery.c:1123
 #, c-format
 msgid "The database server will regularly poll the pg_wal subdirectory to check for files placed there."
 msgstr "El servidor de bases de datos monitoreará el subdirectorio pg_wal con regularidad en búsqueda de archivos almacenados ahí."
 
-#: access/transam/xlogrecovery.c:1092
+#: access/transam/xlogrecovery.c:1131
 #, c-format
-msgid "must specify restore_command when standby mode is not enabled"
-msgstr "debe especificarse restore_command cuando el modo standby no está activo"
+msgid "must specify \"restore_command\" when standby mode is not enabled"
+msgstr "debe especificarse «restore_command» cuando el modo standby no está activo"
 
-#: access/transam/xlogrecovery.c:1130
+#: access/transam/xlogrecovery.c:1169
 #, c-format
 msgid "recovery target timeline %u does not exist"
 msgstr "no existe el timeline %u especificado como destino de recuperación"
 
-#: access/transam/xlogrecovery.c:1213 access/transam/xlogrecovery.c:1220
-#: access/transam/xlogrecovery.c:1279 access/transam/xlogrecovery.c:1359
-#: access/transam/xlogrecovery.c:1383
+#: access/transam/xlogrecovery.c:1252 access/transam/xlogrecovery.c:1259
+#: access/transam/xlogrecovery.c:1318 access/transam/xlogrecovery.c:1406
+#: access/transam/xlogrecovery.c:1415 access/transam/xlogrecovery.c:1435
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "datos no válidos en archivo «%s»"
 
-#: access/transam/xlogrecovery.c:1280
+#: access/transam/xlogrecovery.c:1319
 #, c-format
 msgid "Timeline ID parsed is %u, but expected %u."
 msgstr "El ID de timeline interpretado es %u, pero se esperaba %u."
 
-#: access/transam/xlogrecovery.c:1662
+#: access/transam/xlogrecovery.c:1330
+#, c-format
+msgid "this is an incremental backup, not a data directory"
+msgstr "esto es un backup incremental, no un directorio de datos"
+
+#: access/transam/xlogrecovery.c:1331
+#, c-format
+msgid "Use pg_combinebackup to reconstruct a valid data directory."
+msgstr "Use pg_combinebackup para reconstruir un directorio de datos válido."
+
+#: access/transam/xlogrecovery.c:1717
+#, c-format
+msgid "unexpected record type found at redo point %X/%X"
+msgstr "se encontró registro de tipo inesperada en el punto de redo %X/%X"
+
+#: access/transam/xlogrecovery.c:1740
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "redo comienza en %X/%X"
 
-#: access/transam/xlogrecovery.c:1675
+#: access/transam/xlogrecovery.c:1753
 #, c-format
 msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X"
 msgstr "redo en progreso, tiempo transcurrido: %ld.%02d s, LSN actual: %X/%X"
 
-#: access/transam/xlogrecovery.c:1767
+#: access/transam/xlogrecovery.c:1843
 #, c-format
 msgid "requested recovery stop point is before consistent recovery point"
 msgstr "el punto de detención de recuperación pedido es antes del punto de recuperación consistente"
 
-#: access/transam/xlogrecovery.c:1799
+#: access/transam/xlogrecovery.c:1875
 #, c-format
 msgid "redo done at %X/%X system usage: %s"
 msgstr "redo listo en %X/%X utilización del sistema: %s"
 
-#: access/transam/xlogrecovery.c:1805
+#: access/transam/xlogrecovery.c:1881
 #, c-format
 msgid "last completed transaction was at log time %s"
 msgstr "última transacción completada al tiempo de registro %s"
 
-#: access/transam/xlogrecovery.c:1814
+#: access/transam/xlogrecovery.c:1890
 #, c-format
 msgid "redo is not required"
 msgstr "no se requiere redo"
 
-#: access/transam/xlogrecovery.c:1825
+#: access/transam/xlogrecovery.c:1901
 #, c-format
 msgid "recovery ended before configured recovery target was reached"
 msgstr "la recuperación terminó antes de alcanzar el punto configurado como destino de recuperación"
 
-#: access/transam/xlogrecovery.c:2019
+#: access/transam/xlogrecovery.c:2095
 #, c-format
 msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s"
 msgstr "se omitió con éxito contrecord no encontrado en %X/%X, sobrescrito en %s"
 
-#: access/transam/xlogrecovery.c:2086
+#: access/transam/xlogrecovery.c:2162
 #, c-format
 msgid "unexpected directory entry \"%s\" found in %s"
 msgstr "entrada de directorio inesperada «%s» fue encontrada en %s"
 
-#: access/transam/xlogrecovery.c:2088
+#: access/transam/xlogrecovery.c:2164
 #, c-format
 msgid "All directory entries in pg_tblspc/ should be symbolic links."
 msgstr "Todas las entradas de directorio en pg_tblspc deberían ser enlaces simbólicos"
 
-#: access/transam/xlogrecovery.c:2089
+#: access/transam/xlogrecovery.c:2165
 #, c-format
-msgid "Remove those directories, or set allow_in_place_tablespaces to ON transiently to let recovery complete."
-msgstr "Elimine esos directorios, o defina allow_in_place_tablespaces a ON transitoriamente para permitir que la recuperación pueda completarse."
+msgid "Remove those directories, or set \"allow_in_place_tablespaces\" to ON transiently to let recovery complete."
+msgstr "Elimine esos directorios, o defina «allow_in_place_tablespaces» a ON transitoriamente para permitir que la recuperación pueda completarse."
 
-#: access/transam/xlogrecovery.c:2163
+#: access/transam/xlogrecovery.c:2217
+#, c-format
+msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X"
+msgstr "se completó la recuperación de backup con LSN de redo %X/%X y LSN de término %X/%X"
+
+#: access/transam/xlogrecovery.c:2247
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "el estado de recuperación consistente fue alcanzado en %X/%X"
 
 #. translator: %s is a WAL record description
-#: access/transam/xlogrecovery.c:2201
+#: access/transam/xlogrecovery.c:2285
 #, c-format
 msgid "WAL redo at %X/%X for %s"
 msgstr "redo WAL en %X/%X para %s"
 
-#: access/transam/xlogrecovery.c:2299
+#: access/transam/xlogrecovery.c:2383
 #, c-format
 msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record"
-msgstr "ID de timeline previo %u inesperado (timeline actual %u) en el registro de punto de control"
+msgstr "ID de timeline previo %u inesperado (timeline actual %u) en el registro de checkpoint"
 
-#: access/transam/xlogrecovery.c:2308
+#: access/transam/xlogrecovery.c:2392
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
-msgstr "ID de timeline %u inesperado (después de %u) en el registro de punto de control"
+msgstr "ID de timeline %u inesperado (después de %u) en el registro de checkpoint"
 
-#: access/transam/xlogrecovery.c:2324
+#: access/transam/xlogrecovery.c:2408
 #, c-format
 msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
 msgstr "timeline ID %u inesperado en registro de checkpoint, antes de alcanzar el punto mínimo de recuperación %X/%X en el timeline %u"
 
-#: access/transam/xlogrecovery.c:2508 access/transam/xlogrecovery.c:2784
+#: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868
 #, c-format
 msgid "recovery stopping after reaching consistency"
 msgstr "deteniendo recuperación al alcanzar un estado consistente"
 
-#: access/transam/xlogrecovery.c:2529
+#: access/transam/xlogrecovery.c:2613
 #, c-format
 msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
 msgstr "deteniendo recuperación antes de la ubicación (LSN) de WAL «%X/%X»"
 
-#: access/transam/xlogrecovery.c:2619
+#: access/transam/xlogrecovery.c:2703
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr "deteniendo recuperación antes de comprometer la transacción %u, hora %s"
 
-#: access/transam/xlogrecovery.c:2626
+#: access/transam/xlogrecovery.c:2710
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr "deteniendo recuperación antes de abortar la transacción %u, hora %s"
 
-#: access/transam/xlogrecovery.c:2679
+#: access/transam/xlogrecovery.c:2763
 #, c-format
 msgid "recovery stopping at restore point \"%s\", time %s"
 msgstr "deteniendo recuperación en el punto de recuperación «%s», hora %s"
 
-#: access/transam/xlogrecovery.c:2697
+#: access/transam/xlogrecovery.c:2781
 #, c-format
 msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
 msgstr "deteniendo recuperación después de la ubicación (LSN) de WAL «%X/%X»"
 
-#: access/transam/xlogrecovery.c:2764
+#: access/transam/xlogrecovery.c:2848
 #, c-format
 msgid "recovery stopping after commit of transaction %u, time %s"
 msgstr "deteniendo recuperación de comprometer la transacción %u, hora %s"
 
-#: access/transam/xlogrecovery.c:2772
+#: access/transam/xlogrecovery.c:2856
 #, c-format
 msgid "recovery stopping after abort of transaction %u, time %s"
 msgstr "deteniendo recuperación después de abortar la transacción %u, hora %s"
 
-#: access/transam/xlogrecovery.c:2853
+#: access/transam/xlogrecovery.c:2937
 #, c-format
 msgid "pausing at the end of recovery"
 msgstr "pausando al final de la recuperación"
 
-#: access/transam/xlogrecovery.c:2854
+#: access/transam/xlogrecovery.c:2938
 #, c-format
 msgid "Execute pg_wal_replay_resume() to promote."
 msgstr "Ejecute pg_wal_replay_resume() para promover."
 
-#: access/transam/xlogrecovery.c:2857 access/transam/xlogrecovery.c:4594
+#: access/transam/xlogrecovery.c:2941 access/transam/xlogrecovery.c:4679
 #, c-format
 msgid "recovery has paused"
 msgstr "la recuperación está en pausa"
 
-#: access/transam/xlogrecovery.c:2858
+#: access/transam/xlogrecovery.c:2942
 #, c-format
 msgid "Execute pg_wal_replay_resume() to continue."
 msgstr "Ejecute pg_wal_replay_resume() para continuar."
 
-#: access/transam/xlogrecovery.c:3121
-#, fuzzy, c-format
-#| msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
+#: access/transam/xlogrecovery.c:3205
+#, c-format
 msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "pageaddr %X/%X inesperado en segmento WAL %s, LSN %X/%X, posición %u"
+msgstr "ID de timeline %u inesperado en segmento WAL %s, LSN %X/%X, posición %u"
 
-#: access/transam/xlogrecovery.c:3329
-#, fuzzy, c-format
-#| msgid "could not read from file %s, offset %d: %m"
+#: access/transam/xlogrecovery.c:3413
+#, c-format
 msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m"
-msgstr "no se pudo leer desde el archivo «%s» en la posición %d: %m"
+msgstr "no se pudo leer desde el segmento de WAL %s, LSN %X/%X, posición %u: %m"
 
-#: access/transam/xlogrecovery.c:3336
-#, fuzzy, c-format
-#| msgid "could not read from file %s, offset %d: read %d of %d"
+#: access/transam/xlogrecovery.c:3420
+#, c-format
 msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu"
-msgstr "no se pudo leer del archivo %s, posición %d: leídos %d de %d"
+msgstr "no se pudo leer del segmento de WAL %s, LSN %X/%X, posición %u: leídos %d de %zu"
 
-#: access/transam/xlogrecovery.c:3976
-#, fuzzy, c-format
-#| msgid "invalid checkpoint record"
+#: access/transam/xlogrecovery.c:4061
+#, c-format
 msgid "invalid checkpoint location"
-msgstr "el registro del punto de control no es válido"
+msgstr "ubicación de checkpoint no válida"
 
-#: access/transam/xlogrecovery.c:3986
+#: access/transam/xlogrecovery.c:4071
 #, c-format
 msgid "invalid checkpoint record"
-msgstr "el registro del punto de control no es válido"
+msgstr "el registro del checkpoint no es válido"
 
-#: access/transam/xlogrecovery.c:3992
+#: access/transam/xlogrecovery.c:4077
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
-msgstr "el ID de gestor de recursos en el registro del punto de control no es válido"
+msgstr "el ID de gestor de recursos en el registro del checkpoint no es válido"
 
-#: access/transam/xlogrecovery.c:4000
+#: access/transam/xlogrecovery.c:4085
 #, c-format
 msgid "invalid xl_info in checkpoint record"
-msgstr "xl_info en el registro del punto de control no es válido"
+msgstr "xl_info en el registro del checkpoint no es válido"
 
-#: access/transam/xlogrecovery.c:4006
+#: access/transam/xlogrecovery.c:4091
 #, c-format
 msgid "invalid length of checkpoint record"
-msgstr "la longitud del registro de punto de control no es válida"
+msgstr "la longitud del registro de checkpoint no es válida"
 
-#: access/transam/xlogrecovery.c:4060
+#: access/transam/xlogrecovery.c:4145
 #, c-format
 msgid "new timeline %u is not a child of database system timeline %u"
 msgstr "el nuevo timeline %u especificado no es hijo del timeline de sistema %u"
 
-#: access/transam/xlogrecovery.c:4074
+#: access/transam/xlogrecovery.c:4159
 #, c-format
 msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
 msgstr "el nuevo timeline %u bifurcó del timeline del sistema actual %u antes del punto re recuperación actual %X/%X"
 
-#: access/transam/xlogrecovery.c:4093
+#: access/transam/xlogrecovery.c:4178
 #, c-format
 msgid "new target timeline is %u"
 msgstr "el nuevo timeline destino es %u"
 
-#: access/transam/xlogrecovery.c:4296
+#: access/transam/xlogrecovery.c:4381
 #, c-format
 msgid "WAL receiver process shutdown requested"
 msgstr "se recibió una petición de apagado para el proceso receptor de wal"
 
-#: access/transam/xlogrecovery.c:4356
+#: access/transam/xlogrecovery.c:4441
 #, c-format
 msgid "received promote request"
 msgstr "se recibió petición de promoción"
 
-#: access/transam/xlogrecovery.c:4585
+#: access/transam/xlogrecovery.c:4670
 #, c-format
 msgid "hot standby is not possible because of insufficient parameter settings"
 msgstr "hot standby no es posible porque la configuración de parámetros no es suficiente"
 
-#: access/transam/xlogrecovery.c:4586 access/transam/xlogrecovery.c:4613
-#: access/transam/xlogrecovery.c:4643
+#: access/transam/xlogrecovery.c:4671 access/transam/xlogrecovery.c:4698
+#: access/transam/xlogrecovery.c:4728
 #, c-format
 msgid "%s = %d is a lower setting than on the primary server, where its value was %d."
 msgstr "%s = %d es una configuración menor que en el servidor primario, donde su valor era %d."
 
-#: access/transam/xlogrecovery.c:4595
+#: access/transam/xlogrecovery.c:4680
 #, c-format
 msgid "If recovery is unpaused, the server will shut down."
 msgstr "Si se continúa con la recuperación, el servidor se apagará."
 
-#: access/transam/xlogrecovery.c:4596
+#: access/transam/xlogrecovery.c:4681
 #, c-format
 msgid "You can then restart the server after making the necessary configuration changes."
 msgstr "Luego puede reiniciar el servidor después de hacer los cambios necesarios en la configuración."
 
-#: access/transam/xlogrecovery.c:4607
+#: access/transam/xlogrecovery.c:4692
 #, c-format
 msgid "promotion is not possible because of insufficient parameter settings"
 msgstr "la promoción no es posible porque la configuración de parámetros no es suficiente"
 
-#: access/transam/xlogrecovery.c:4617
+#: access/transam/xlogrecovery.c:4702
 #, c-format
 msgid "Restart the server after making the necessary configuration changes."
 msgstr "Reinicie el servidor luego de hacer los cambios necesarios en la configuración."
 
-#: access/transam/xlogrecovery.c:4641
+#: access/transam/xlogrecovery.c:4726
 #, c-format
 msgid "recovery aborted because of insufficient parameter settings"
 msgstr "se abortó la recuperación porque la configuración de parámetros no es suficiente"
 
-#: access/transam/xlogrecovery.c:4647
+#: access/transam/xlogrecovery.c:4732
 #, c-format
 msgid "You can restart the server after making the necessary configuration changes."
 msgstr "Puede reiniciar el servidor luego de hacer los cambios necesarios en la configuración."
 
-#: access/transam/xlogrecovery.c:4689
+#: access/transam/xlogrecovery.c:4774
 #, c-format
 msgid "multiple recovery targets specified"
 msgstr "múltiples valores de destino de recuperación especificados"
 
-#: access/transam/xlogrecovery.c:4690
+#: access/transam/xlogrecovery.c:4775
 #, c-format
-msgid "At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid may be set."
-msgstr "A lo más uno de recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid puede estar definido."
+msgid "At most one of \"recovery_target\", \"recovery_target_lsn\", \"recovery_target_name\", \"recovery_target_time\", \"recovery_target_xid\" may be set."
+msgstr "A lo más uno de «recovery_target», «recovery_target_lsn», «recovery_target_name», «recovery_target_time», «recovery_target_xid» puede estar definido."
 
-#: access/transam/xlogrecovery.c:4701
+#: access/transam/xlogrecovery.c:4786
 #, c-format
 msgid "The only allowed value is \"immediate\"."
 msgstr "El único valor permitido es «immediate»."
 
-#: access/transam/xlogrecovery.c:4853 utils/adt/timestamp.c:186
-#: utils/adt/timestamp.c:439
+#: access/transam/xlogrecovery.c:4938 utils/adt/timestamp.c:202
+#: utils/adt/timestamp.c:455
 #, c-format
 msgid "timestamp out of range: \"%s\""
 msgstr "timestamp fuera de rango: «%s»"
 
-#: access/transam/xlogrecovery.c:4898
+#: access/transam/xlogrecovery.c:4983
 #, c-format
-msgid "recovery_target_timeline is not a valid number."
-msgstr "recovery_target_timeline no es un número válido."
+msgid "\"recovery_target_timeline\" is not a valid number."
+msgstr "«recovery_target_timeline» no es un número válido."
 
-#: access/transam/xlogutils.c:1039
-#, fuzzy, c-format
-#| msgid "could not read from file %s, offset %d: %m"
+#: access/transam/xlogutils.c:1032
+#, c-format
 msgid "could not read from WAL segment %s, offset %d: %m"
-msgstr "no se pudo leer desde el archivo «%s» en la posición %d: %m"
+msgstr "no se pudo leer desde el segmento de WAL %s, posición %d: %m"
 
-#: access/transam/xlogutils.c:1046
-#, fuzzy, c-format
-#| msgid "could not read from file %s, offset %d: read %d of %d"
+#: access/transam/xlogutils.c:1039
+#, c-format
 msgid "could not read from WAL segment %s, offset %d: read %d of %d"
-msgstr "no se pudo leer del archivo %s, posición %d: leídos %d de %d"
+msgstr "no se pudo leer del segmento de WAL %s, posición %d: leídos %d de %d"
 
-#: archive/shell_archive.c:96
+#: archive/shell_archive.c:98
 #, c-format
 msgid "archive command failed with exit code %d"
 msgstr "la orden de archivado falló con código de retorno %d"
 
-#: archive/shell_archive.c:98 archive/shell_archive.c:108
-#: archive/shell_archive.c:114 archive/shell_archive.c:123
+#: archive/shell_archive.c:100 archive/shell_archive.c:110
+#: archive/shell_archive.c:116 archive/shell_archive.c:125
 #, c-format
 msgid "The failed archive command was: %s"
 msgstr "La orden fallida era: «%s»"
 
-#: archive/shell_archive.c:105
+#: archive/shell_archive.c:107
 #, c-format
 msgid "archive command was terminated by exception 0x%X"
 msgstr "la orden de archivado fue terminada por una excepción 0x%X"
 
-#: archive/shell_archive.c:107 postmaster/postmaster.c:3675
+#: archive/shell_archive.c:109 postmaster/postmaster.c:3095
 #, c-format
 msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
 msgstr "Vea el archivo «ntstatus.h» para una descripción del valor hexadecimal."
 
-#: archive/shell_archive.c:112
+#: archive/shell_archive.c:114
 #, c-format
 msgid "archive command was terminated by signal %d: %s"
 msgstr "la orden de archivado fue terminada por una señal %d: %s"
 
-#: archive/shell_archive.c:121
+#: archive/shell_archive.c:123
 #, c-format
 msgid "archive command exited with unrecognized status %d"
 msgstr "la orden de archivado fue terminada con código %d no reconocido"
 
-#: backup/backup_manifest.c:253
+#: backup/backup_manifest.c:254
 #, c-format
 msgid "expected end timeline %u but found timeline %u"
 msgstr "se esperaba el timeline de término %u pero se encontró el timeline %u"
 
-#: backup/backup_manifest.c:277
+#: backup/backup_manifest.c:278
 #, c-format
 msgid "expected start timeline %u but found timeline %u"
 msgstr "se esperaba el timeline de inicio %u pero se encontró el timeline %u"
 
-#: backup/backup_manifest.c:304
+#: backup/backup_manifest.c:305
 #, c-format
 msgid "start timeline %u not found in history of timeline %u"
 msgstr "el timeline de inicio %u no fue encontrado en la historia del timeline %u"
 
-#: backup/backup_manifest.c:355
+#: backup/backup_manifest.c:356
 #, c-format
 msgid "could not rewind temporary file"
 msgstr "no se puede rebobinar el archivo temporal"
 
-#: backup/basebackup.c:470
+#: backup/basebackup.c:479
 #, c-format
 msgid "could not find any WAL files"
 msgstr "no se pudo encontrar ningún archivo de WAL"
 
-#: backup/basebackup.c:485 backup/basebackup.c:500 backup/basebackup.c:509
+#: backup/basebackup.c:494 backup/basebackup.c:509 backup/basebackup.c:518
 #, c-format
 msgid "could not find WAL file \"%s\""
 msgstr "no se pudo encontrar archivo de WAL «%s»"
 
-#: backup/basebackup.c:551 backup/basebackup.c:576
+#: backup/basebackup.c:560 backup/basebackup.c:585
 #, c-format
 msgid "unexpected WAL file size \"%s\""
 msgstr "tamaño del archivo WAL «%s» inesperado"
 
-#: backup/basebackup.c:646
+#: backup/basebackup.c:656
 #, c-format
 msgid "%lld total checksum verification failure"
 msgid_plural "%lld total checksum verification failures"
 msgstr[0] "%lld falla de verificación de suma de comprobación en total"
 msgstr[1] "%lld fallas de verificación de suma de comprobación en total"
 
-#: backup/basebackup.c:653
+#: backup/basebackup.c:663
 #, c-format
 msgid "checksum verification failure during base backup"
 msgstr "falla en verificación de checksums durante respaldo base"
 
-#: backup/basebackup.c:722 backup/basebackup.c:731 backup/basebackup.c:742
-#: backup/basebackup.c:759 backup/basebackup.c:768 backup/basebackup.c:779
-#: backup/basebackup.c:796 backup/basebackup.c:805 backup/basebackup.c:817
-#: backup/basebackup.c:841 backup/basebackup.c:855 backup/basebackup.c:866
-#: backup/basebackup.c:877 backup/basebackup.c:890
+#: backup/basebackup.c:733 backup/basebackup.c:742 backup/basebackup.c:753
+#: backup/basebackup.c:770 backup/basebackup.c:779 backup/basebackup.c:788
+#: backup/basebackup.c:803 backup/basebackup.c:820 backup/basebackup.c:829
+#: backup/basebackup.c:841 backup/basebackup.c:865 backup/basebackup.c:879
+#: backup/basebackup.c:890 backup/basebackup.c:901 backup/basebackup.c:914
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "nombre de opción «%s» duplicada"
 
-#: backup/basebackup.c:750
-#, fuzzy, c-format
-#| msgid "unrecognized object type \"%s\""
+#: backup/basebackup.c:761
+#, c-format
 msgid "unrecognized checkpoint type: \"%s\""
-msgstr "tipo de objeto «%s» no reconocido"
+msgstr "tipo de checkpoint no reconocido: «%s»"
+
+#: backup/basebackup.c:793
+#, c-format
+msgid "incremental backups cannot be taken unless WAL summarization is enabled"
+msgstr "los backups incrementales no pueden tomarse a menos que la sumarización de WAL esté activada"
 
-#: backup/basebackup.c:785
+#: backup/basebackup.c:809
 #, c-format
 msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
 msgstr "%d está fuera del rango aceptable para el parámetro «%s» (%d .. %d)"
 
-#: backup/basebackup.c:830
+#: backup/basebackup.c:854
 #, c-format
 msgid "unrecognized manifest option: \"%s\""
 msgstr "opción de manifiesto «%s» no reconocida"
 
-#: backup/basebackup.c:846
-#, c-format
-msgid "unrecognized checksum algorithm: \"%s\""
-msgstr "algoritmo de suma de comprobación no reconocido: \"%s\""
-
-#: backup/basebackup.c:881
+#: backup/basebackup.c:905
 #, c-format
 msgid "unrecognized compression algorithm: \"%s\""
 msgstr "algoritmo de compresión no reconocido: «%s»"
 
-#: backup/basebackup.c:897
-#, fuzzy, c-format
-#| msgid "unrecognized column option \"%s\""
+#: backup/basebackup.c:921
+#, c-format
 msgid "unrecognized base backup option: \"%s\""
-msgstr "opción de columna «%s» no reconocida"
+msgstr "opción de respaldo base no reconocida: «%s»"
 
-#: backup/basebackup.c:908
+#: backup/basebackup.c:932
 #, c-format
 msgid "manifest checksums require a backup manifest"
 msgstr "la suma de comprobación del manifiesto requiere un manifiesto de la copia de seguridad"
 
-#: backup/basebackup.c:917
-#, fuzzy, c-format
-#| msgid "--no-slot cannot be used with slot name"
+#: backup/basebackup.c:941
+#, c-format
 msgid "target detail cannot be used without target"
-msgstr "no se puede usar --no-slot junto con nombre de slot"
+msgstr "no se puede usar “target detail” sin un destino"
 
-#: backup/basebackup.c:926 backup/basebackup_target.c:218
-#, fuzzy, c-format
-#| msgid "operator class \"%s\" does not accept data type %s"
+#: backup/basebackup.c:950 backup/basebackup_target.c:218
+#, c-format
 msgid "target \"%s\" does not accept a target detail"
-msgstr "la clase de operadores «%s» no acepta el tipo de datos %s"
+msgstr "el destino «%s» no acepta “target details”"
 
-#: backup/basebackup.c:937
-#, fuzzy, c-format
-#| msgid "%s cannot be specified unless locale provider \"%s\" is chosen"
+#: backup/basebackup.c:961
+#, c-format
 msgid "compression detail cannot be specified unless compression is enabled"
-msgstr "%s no puede especificarse a menos que el proveedor de locale «%s» sea escogido"
+msgstr "el detalle de compresión no puede especificarse a menos que la compresión esté activada"
 
-#: backup/basebackup.c:950
+#: backup/basebackup.c:974
 #, c-format
 msgid "invalid compression specification: %s"
 msgstr "especificación de compresión no válida: %s"
 
-#: backup/basebackup.c:1116 backup/basebackup.c:1294
+#: backup/basebackup.c:1024
+#, c-format
+msgid "must UPLOAD_MANIFEST before performing an incremental BASE_BACKUP"
+msgstr "debe ejecutar UPLOAD_MANIFEST antes de lanzar un BASE_BACKUP incremental"
+
+#: backup/basebackup.c:1157 backup/basebackup.c:1358
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo o directorio «%s»: %m"
 
-#: backup/basebackup.c:1430
+#: backup/basebackup.c:1544
 #, c-format
 msgid "skipping special file \"%s\""
 msgstr "omitiendo el archivo especial «%s»"
 
-#: backup/basebackup.c:1542
-#, c-format
-msgid "invalid segment number %d in file \"%s\""
-msgstr "número de segmento %d no válido en archivo «%s»"
-
-#: backup/basebackup.c:1574
+#: backup/basebackup.c:1751
 #, c-format
 msgid "could not verify checksum in file \"%s\", block %u: read buffer size %d and page size %d differ"
 msgstr "no se pudo verificar el checksum en el archivo «%s», bloque %u: el tamaño de búfer de lectura %d y el tamaño de página %d difieren"
 
-#: backup/basebackup.c:1658
+#: backup/basebackup.c:1813
+#, c-format
+msgid "file \"%s\" has a total of %d checksum verification failure"
+msgid_plural "file \"%s\" has a total of %d checksum verification failures"
+msgstr[0] "el archivo «%s» tiene un total de %d falla de verificación de checksum"
+msgstr[1] "el archivo «%s» tiene un total de %d fallas de verificación de checksums"
+
+#: backup/basebackup.c:1917
 #, c-format
 msgid "checksum verification failed in file \"%s\", block %u: calculated %X but expected %X"
 msgstr "verificación de checksums falló en archivo «%s», bloque %u: calculado %X pero se esperaba %X"
 
-#: backup/basebackup.c:1665
+#: backup/basebackup.c:1924
 #, c-format
 msgid "further checksum verification failures in file \"%s\" will not be reported"
 msgstr "subsiguientes fallas de verificación de checksums en el archivo «%s» no se reportarán"
 
-#: backup/basebackup.c:1721
-#, c-format
-msgid "file \"%s\" has a total of %d checksum verification failure"
-msgid_plural "file \"%s\" has a total of %d checksum verification failures"
-msgstr[0] "el archivo «%s» tiene un total de %d falla de verificación de checksum"
-msgstr[1] "el archivo «%s» tiene un total de %d fallas de verificación de checksums"
-
-#: backup/basebackup.c:1767
+#: backup/basebackup.c:2048
 #, c-format
 msgid "file name too long for tar format: \"%s\""
 msgstr "nombre de archivo demasiado largo para el formato tar: «%s»"
 
-#: backup/basebackup.c:1772
+#: backup/basebackup.c:2053
 #, c-format
 msgid "symbolic link target too long for tar format: file name \"%s\", target \"%s\""
 msgstr "destino de enlace simbólico demasiado largo para el formato tar: nombre de archivo «%s», destino «%s»"
 
+#: backup/basebackup.c:2127
+#, c-format
+msgid "could not read file \"%s\": read %zd of %zu"
+msgstr "no se pudo leer el archivo «%s»: leídos %zd de %zu"
+
 #: backup/basebackup_gzip.c:67
-#, fuzzy, c-format
-#| msgid "Bonjour is not supported by this build"
+#, c-format
 msgid "gzip compression is not supported by this build"
-msgstr "Bonjour no está soportado en este servidor"
+msgstr "la compresión gzip no está soportada en este servidor"
 
 #: backup/basebackup_gzip.c:143
 #, c-format
 msgid "could not initialize compression library"
 msgstr "no se pudo inicializar la biblioteca de compresión"
 
+#: backup/basebackup_incremental.c:294
+#, c-format
+msgid "manifest contains no required WAL ranges"
+msgstr "el manifiesto no contiene ningún rango WAL requerido"
+
+#: backup/basebackup_incremental.c:349
+#, c-format
+msgid "timeline %u found in manifest, but not in this server's history"
+msgstr "el timeline %u fue encontrado en el manifiesto, pero no en la historia de este servidor"
+
+#: backup/basebackup_incremental.c:414
+#, c-format
+msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X"
+msgstr "el manifiesto requiere WAL en el timeline inicial %u desde %X/%X, pero ese timeline inicia en %X/%X"
+
+#: backup/basebackup_incremental.c:424
+#, c-format
+msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X"
+msgstr "el manifiesto requiere WAL del timeline de continuación %u desde %X/%X, pero ese timeline empieza en %X/%X"
+
+#: backup/basebackup_incremental.c:435
+#, c-format
+msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X"
+msgstr "el manifiesto requiere WAL del timeline final %u terminado en %X/%X, pero este backup empieza en %X/%X"
+
+#: backup/basebackup_incremental.c:439
+#, c-format
+msgid "This can happen for incremental backups on a standby if there was little activity since the previous backup."
+msgstr "Esto puede pasar para backups incrementales en un standby si hubo insuficiente actividad desde el backup anterior."
+
+#: backup/basebackup_incremental.c:446
+#, c-format
+msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X"
+msgstr "el manifiesto requiere WAL del timeline no-final %u terminando en %X/%X, pero este servidor cambió de timelines en %X/%X"
+
+#: backup/basebackup_incremental.c:527
+#, c-format
+msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist"
+msgstr "se requieren sumarizaciones de WAL en el timeline %u desde %X/%X hasta %X/%X, pero no existen sumarizaciones para ese timeline y rango de LSN"
+
+#: backup/basebackup_incremental.c:534
+#, c-format
+msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete"
+msgstr "se requieren sumarizaciones de WAL en el timeline %u desde %X/%X hasta %X/%X, pero las sumarizaciones en ese timeline y rango de LSN están incompletos"
+
+#: backup/basebackup_incremental.c:538
+#, c-format
+msgid "The first unsummarized LSN in this range is %X/%X."
+msgstr "El primer LSN sin sumarización en este rango es %X/%X."
+
+#: backup/basebackup_incremental.c:938
+#, c-format
+msgid "backup manifest version 1 does not support incremental backup"
+msgstr "el manifiesto de backup versión 1 no soporta backups incrementales"
+
+#: backup/basebackup_incremental.c:956
+#, c-format
+msgid "system identifier in backup manifest is %llu, but database system identifier is %llu"
+msgstr "el identificador de sistema en el manifiesto de backup es %llu, pero el identificador en el sistema es %llu"
+
 #: backup/basebackup_lz4.c:67
-#, fuzzy, c-format
-#| msgid "Bonjour is not supported by this build"
+#, c-format
 msgid "lz4 compression is not supported by this build"
-msgstr "Bonjour no está soportado en este servidor"
+msgstr "la compresión lz4 no está soportada en este servidor"
 
-#: backup/basebackup_server.c:75
-#, fuzzy, c-format
-#| msgid "permission denied to create role"
+#: backup/basebackup_server.c:73
+#, c-format
 msgid "permission denied to create backup stored on server"
-msgstr "se ha denegado el permiso para crear el rol"
+msgstr "se ha denegado el permiso para crear un respaldo almacenado en el servidor"
 
-#: backup/basebackup_server.c:76
+#: backup/basebackup_server.c:74
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may create a backup stored on the server."
-msgstr ""
+msgstr "Sólo los roles con privilegio del rol «%s» pueden crear un respaldo almacenado en el servidor."
 
-#: backup/basebackup_server.c:91
-#, fuzzy, c-format
-#| msgid "relative path not allowed for COPY to file"
+#: backup/basebackup_server.c:89
+#, c-format
 msgid "relative path not allowed for backup stored on server"
-msgstr "no se permiten rutas relativas para COPY hacia un archivo"
+msgstr "no se permiten rutas relativas para un respaldo almacenado en el servidor"
 
-#: backup/basebackup_server.c:104 commands/dbcommands.c:501
-#: commands/tablespace.c:163 commands/tablespace.c:179
-#: commands/tablespace.c:599 commands/tablespace.c:644 replication/slot.c:1697
+#: backup/basebackup_server.c:102 commands/dbcommands.c:477
+#: commands/tablespace.c:157 commands/tablespace.c:173
+#: commands/tablespace.c:593 commands/tablespace.c:638 replication/slot.c:1986
 #: storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "no se pudo crear el directorio «%s»: %m"
 
-#: backup/basebackup_server.c:117
+#: backup/basebackup_server.c:115
 #, c-format
 msgid "directory \"%s\" exists but is not empty"
 msgstr "el directorio «%s» existe pero no está vacío"
 
-#: backup/basebackup_server.c:125 utils/init/postinit.c:1154
+#: backup/basebackup_server.c:123 utils/init/postinit.c:1178
 #, c-format
 msgid "could not access directory \"%s\": %m"
 msgstr "no se pudo acceder al directorio «%s»: %m"
 
-#: backup/basebackup_server.c:177 backup/basebackup_server.c:184
-#: backup/basebackup_server.c:270 backup/basebackup_server.c:277
-#: storage/smgr/md.c:501 storage/smgr/md.c:508 storage/smgr/md.c:590
-#: storage/smgr/md.c:612 storage/smgr/md.c:862
+#: backup/basebackup_server.c:175 backup/basebackup_server.c:182
+#: backup/basebackup_server.c:268 backup/basebackup_server.c:275
+#: backup/walsummary.c:312 storage/smgr/md.c:502 storage/smgr/md.c:509
+#: storage/smgr/md.c:591 storage/smgr/md.c:613 storage/smgr/md.c:999
 #, c-format
 msgid "Check free disk space."
 msgstr "Verifique el espacio libre en disco."
 
-#: backup/basebackup_server.c:181 backup/basebackup_server.c:274
-#, fuzzy, c-format
-#| msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
+#: backup/basebackup_server.c:179 backup/basebackup_server.c:272
+#: backup/walsummary.c:309
+#, c-format
 msgid "could not write file \"%s\": wrote only %d of %d bytes at offset %u"
-msgstr "no se pudo extender el archivo «%s»: sólo se escribieron %d de %d bytes en el bloque %u"
+msgstr "no se pudo escribir en el archivo «%s»: sólo se escribieron %d de %d bytes en la posición %u"
 
 #: backup/basebackup_target.c:146
-#, fuzzy, c-format
-#| msgid "unrecognized reset target: \"%s\""
+#, c-format
 msgid "unrecognized target: \"%s\""
-msgstr "destino de reset no reconocido: «%s»"
+msgstr "destino no reconocido: «%s»"
 
 #: backup/basebackup_target.c:237
-#, fuzzy, c-format
-#| msgid "parameter \"%s\" requires a Boolean value"
+#, c-format
 msgid "target \"%s\" requires a target detail"
-msgstr "el parámetro «%s» requiere un valor lógico (booleano)"
+msgstr "el destino «%s» requiere un “target detail”"
 
 #: backup/basebackup_zstd.c:66
-#, fuzzy, c-format
-#| msgid "Bonjour is not supported by this build"
+#, c-format
 msgid "zstd compression is not supported by this build"
-msgstr "Bonjour no está soportado en este servidor"
+msgstr "la compresión zstd no está soportada en este servidor"
 
 #: backup/basebackup_zstd.c:117
 #, c-format
@@ -3774,714 +4088,723 @@ msgstr "no se pudo definir la cantidad de procesos ayudantes de compresión a %d
 
 #: backup/basebackup_zstd.c:129
 #, c-format
-msgid "could not set compression flag for %s: %s"
-msgstr "no se pudo definir una opción de compresión para %s: %s"
+msgid "could not enable long-distance mode: %s"
+msgstr "no se pudo habilitar el modo “long-distance”: %s"
 
-#: bootstrap/bootstrap.c:243 postmaster/postmaster.c:721 tcop/postgres.c:3819
+#: backup/walsummaryfuncs.c:95
+#, c-format
+msgid "invalid timeline %lld"
+msgstr "timeline %lld no válido"
+
+#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3946
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s requiere un valor"
 
-#: bootstrap/bootstrap.c:248 postmaster/postmaster.c:726 tcop/postgres.c:3824
+#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3951
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s requiere un valor"
 
-#: bootstrap/bootstrap.c:289
-#, c-format
-msgid "-X requires a power of two value between 1 MB and 1 GB"
-msgstr "-X require un valor potencia de dos entre 1 MB y 1 GB"
-
-#: bootstrap/bootstrap.c:295 postmaster/postmaster.c:844
-#: postmaster/postmaster.c:857
+#: bootstrap/bootstrap.c:282 postmaster/postmaster.c:746
+#: postmaster/postmaster.c:759
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Pruebe «%s --help» para mayor información.\n"
 
-#: bootstrap/bootstrap.c:304
+#: bootstrap/bootstrap.c:291
 #, c-format
 msgid "%s: invalid command-line arguments\n"
 msgstr "%s: argumentos de línea de órdenes no válidos\n"
 
-#: catalog/aclchk.c:201
+#: catalog/aclchk.c:211
 #, c-format
 msgid "grant options can only be granted to roles"
 msgstr "la opción de grant sólo puede ser otorgada a roles"
 
-#: catalog/aclchk.c:323
+#: catalog/aclchk.c:333
 #, c-format
 msgid "no privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "no se otorgaron privilegios para la columna «%s» de la relación «%s»"
 
-#: catalog/aclchk.c:328
+#: catalog/aclchk.c:338
 #, c-format
 msgid "no privileges were granted for \"%s\""
 msgstr "no se otorgaron privilegios para «%s»"
 
-#: catalog/aclchk.c:336
+#: catalog/aclchk.c:346
 #, c-format
 msgid "not all privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "no todos los privilegios fueron otorgados para la columna «%s» de la relación «%s»"
 
-#: catalog/aclchk.c:341
+#: catalog/aclchk.c:351
 #, c-format
 msgid "not all privileges were granted for \"%s\""
 msgstr "no todos los privilegios fueron otorgados para «%s»"
 
-#: catalog/aclchk.c:352
+#: catalog/aclchk.c:362
 #, c-format
 msgid "no privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "ningún privilegio pudo ser revocado para la columna «%s» de la relación «%s»"
 
-#: catalog/aclchk.c:357
+#: catalog/aclchk.c:367
 #, c-format
 msgid "no privileges could be revoked for \"%s\""
 msgstr "ningún privilegio pudo ser revocado para «%s»"
 
-#: catalog/aclchk.c:365
+#: catalog/aclchk.c:375
 #, c-format
 msgid "not all privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "no todos los privilegios pudieron ser revocados para la columna «%s» de la relación «%s»"
 
-#: catalog/aclchk.c:370
+#: catalog/aclchk.c:380
 #, c-format
 msgid "not all privileges could be revoked for \"%s\""
 msgstr "no todos los privilegios pudieron ser revocados para «%s»"
 
-#: catalog/aclchk.c:402
+#: catalog/aclchk.c:412
 #, c-format
 msgid "grantor must be current user"
 msgstr "el cedente (grantor) debe ser el usuario actual"
 
-#: catalog/aclchk.c:470 catalog/aclchk.c:1045
+#: catalog/aclchk.c:480 catalog/aclchk.c:1055
 #, c-format
 msgid "invalid privilege type %s for relation"
 msgstr "el tipo de privilegio %s no es válido para una relación"
 
-#: catalog/aclchk.c:474 catalog/aclchk.c:1049
+#: catalog/aclchk.c:484 catalog/aclchk.c:1059
 #, c-format
 msgid "invalid privilege type %s for sequence"
 msgstr "el tipo de privilegio %s no es válido para una secuencia"
 
-#: catalog/aclchk.c:478
+#: catalog/aclchk.c:488
 #, c-format
 msgid "invalid privilege type %s for database"
 msgstr "el tipo de privilegio %s no es válido para una base de datos"
 
-#: catalog/aclchk.c:482
+#: catalog/aclchk.c:492
 #, c-format
 msgid "invalid privilege type %s for domain"
 msgstr "el tipo de privilegio %s no es válido para un dominio"
 
-#: catalog/aclchk.c:486 catalog/aclchk.c:1053
+#: catalog/aclchk.c:496 catalog/aclchk.c:1063
 #, c-format
 msgid "invalid privilege type %s for function"
 msgstr "el tipo de privilegio %s no es válido para una función"
 
-#: catalog/aclchk.c:490
+#: catalog/aclchk.c:500
 #, c-format
 msgid "invalid privilege type %s for language"
 msgstr "el tipo de privilegio %s no es válido para un lenguaje"
 
-#: catalog/aclchk.c:494
+#: catalog/aclchk.c:504
 #, c-format
 msgid "invalid privilege type %s for large object"
 msgstr "el tipo de privilegio %s no es válido para un objeto grande"
 
-#: catalog/aclchk.c:498 catalog/aclchk.c:1069
+#: catalog/aclchk.c:508 catalog/aclchk.c:1079
 #, c-format
 msgid "invalid privilege type %s for schema"
 msgstr "el tipo de privilegio %s no es válido para un esquema"
 
-#: catalog/aclchk.c:502 catalog/aclchk.c:1057
+#: catalog/aclchk.c:512 catalog/aclchk.c:1067
 #, c-format
 msgid "invalid privilege type %s for procedure"
 msgstr "el tipo de privilegio %s no es válido para un procedimiento"
 
-#: catalog/aclchk.c:506 catalog/aclchk.c:1061
+#: catalog/aclchk.c:516 catalog/aclchk.c:1071
 #, c-format
 msgid "invalid privilege type %s for routine"
 msgstr "el tipo de privilegio %s no es válido para una rutina"
 
-#: catalog/aclchk.c:510
+#: catalog/aclchk.c:520
 #, c-format
 msgid "invalid privilege type %s for tablespace"
 msgstr "el tipo de privilegio %s no es válido para un tablespace"
 
-#: catalog/aclchk.c:514 catalog/aclchk.c:1065
+#: catalog/aclchk.c:524 catalog/aclchk.c:1075
 #, c-format
 msgid "invalid privilege type %s for type"
 msgstr "el tipo de privilegio %s no es válido para un tipo"
 
-#: catalog/aclchk.c:518
+#: catalog/aclchk.c:528
 #, c-format
 msgid "invalid privilege type %s for foreign-data wrapper"
 msgstr "el tipo de privilegio %s no es válido para un conector de datos externos"
 
-#: catalog/aclchk.c:522
+#: catalog/aclchk.c:532
 #, c-format
 msgid "invalid privilege type %s for foreign server"
 msgstr "el tipo de privilegio %s no es válido para un servidor foráneo"
 
-#: catalog/aclchk.c:526
+#: catalog/aclchk.c:536
 #, c-format
 msgid "invalid privilege type %s for parameter"
 msgstr "el tipo de privilegio %s no es válido para un parámetro"
 
-#: catalog/aclchk.c:565
+#: catalog/aclchk.c:575
 #, c-format
 msgid "column privileges are only valid for relations"
 msgstr "los privilegios de columna son sólo válidos para relaciones"
 
-#: catalog/aclchk.c:728 catalog/aclchk.c:3570 catalog/objectaddress.c:1092
-#: catalog/pg_largeobject.c:116 storage/large_object/inv_api.c:287
+#: catalog/aclchk.c:738 catalog/aclchk.c:3629 catalog/objectaddress.c:1054
+#: catalog/pg_largeobject.c:113 storage/large_object/inv_api.c:285
 #, c-format
 msgid "large object %u does not exist"
 msgstr "no existe el objeto grande %u"
 
-#: catalog/aclchk.c:1102
+#: catalog/aclchk.c:1112
 #, c-format
 msgid "default privileges cannot be set for columns"
 msgstr "los privilegios por omisión no pueden definirse para columnas"
 
-#: catalog/aclchk.c:1138
-#, fuzzy, c-format
-#| msgid "permission denied to create role"
+#: catalog/aclchk.c:1148
+#, c-format
 msgid "permission denied to change default privileges"
-msgstr "se ha denegado el permiso para crear el rol"
+msgstr "se ha denegado el permiso para cambiar los privilegios por omisión"
 
-#: catalog/aclchk.c:1256
+#: catalog/aclchk.c:1266
 #, c-format
 msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS"
 msgstr "No puede utilizar la cláusula IN SCHEMA cuando se utiliza GRANT / REVOKE ON SCHEMAS"
 
-#: catalog/aclchk.c:1595 catalog/catalog.c:631 catalog/objectaddress.c:1561
-#: catalog/pg_publication.c:533 commands/analyze.c:389 commands/copy.c:837
-#: commands/sequence.c:1663 commands/tablecmds.c:7339 commands/tablecmds.c:7495
-#: commands/tablecmds.c:7545 commands/tablecmds.c:7619
-#: commands/tablecmds.c:7689 commands/tablecmds.c:7801
-#: commands/tablecmds.c:7895 commands/tablecmds.c:7954
-#: commands/tablecmds.c:8043 commands/tablecmds.c:8073
-#: commands/tablecmds.c:8201 commands/tablecmds.c:8283
-#: commands/tablecmds.c:8417 commands/tablecmds.c:8525
-#: commands/tablecmds.c:12240 commands/tablecmds.c:12421
-#: commands/tablecmds.c:12582 commands/tablecmds.c:13744
-#: commands/tablecmds.c:16273 commands/trigger.c:949 parser/analyze.c:2480
-#: parser/parse_relation.c:737 parser/parse_target.c:1054
-#: parser/parse_type.c:144 parser/parse_utilcmd.c:3413
-#: parser/parse_utilcmd.c:3449 parser/parse_utilcmd.c:3491 utils/adt/acl.c:2884
-#: utils/adt/ruleutils.c:2799
+#: catalog/aclchk.c:1617 catalog/catalog.c:659 catalog/objectaddress.c:1523
+#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:951
+#: commands/sequence.c:1655 commands/tablecmds.c:7541 commands/tablecmds.c:7695
+#: commands/tablecmds.c:7745 commands/tablecmds.c:7819
+#: commands/tablecmds.c:7889 commands/tablecmds.c:8019
+#: commands/tablecmds.c:8148 commands/tablecmds.c:8242
+#: commands/tablecmds.c:8343 commands/tablecmds.c:8470
+#: commands/tablecmds.c:8500 commands/tablecmds.c:8642
+#: commands/tablecmds.c:8735 commands/tablecmds.c:8869
+#: commands/tablecmds.c:8981 commands/tablecmds.c:12797
+#: commands/tablecmds.c:12989 commands/tablecmds.c:13150
+#: commands/tablecmds.c:14339 commands/tablecmds.c:16966 commands/trigger.c:942
+#: parser/analyze.c:2530 parser/parse_relation.c:737 parser/parse_target.c:1067
+#: parser/parse_type.c:144 parser/parse_utilcmd.c:3409
+#: parser/parse_utilcmd.c:3449 parser/parse_utilcmd.c:3491 utils/adt/acl.c:2923
+#: utils/adt/ruleutils.c:2812
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "no existe la columna «%s» en la relación «%s»"
 
-#: catalog/aclchk.c:1840
+#: catalog/aclchk.c:1862
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "«%s» es un índice"
 
-#: catalog/aclchk.c:1847 commands/tablecmds.c:13901 commands/tablecmds.c:17200
+#: catalog/aclchk.c:1869 commands/tablecmds.c:14496 commands/tablecmds.c:17882
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "«%s» es un tipo compuesto"
 
-#: catalog/aclchk.c:1855 catalog/objectaddress.c:1401 commands/sequence.c:1171
-#: commands/tablecmds.c:254 commands/tablecmds.c:17164 utils/adt/acl.c:2092
-#: utils/adt/acl.c:2122 utils/adt/acl.c:2154 utils/adt/acl.c:2186
-#: utils/adt/acl.c:2214 utils/adt/acl.c:2244
+#: catalog/aclchk.c:1877 catalog/objectaddress.c:1363 commands/tablecmds.c:263
+#: commands/tablecmds.c:17846 utils/adt/acl.c:2107 utils/adt/acl.c:2137
+#: utils/adt/acl.c:2170 utils/adt/acl.c:2206 utils/adt/acl.c:2237
+#: utils/adt/acl.c:2268
 #, c-format
 msgid "\"%s\" is not a sequence"
 msgstr "«%s» no es una secuencia"
 
-#: catalog/aclchk.c:1893
+#: catalog/aclchk.c:1915
 #, c-format
 msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges"
 msgstr "la secuencia «%s» sólo soporta los privilegios USAGE, SELECT, y UPDATE"
 
-#: catalog/aclchk.c:1910
+#: catalog/aclchk.c:1932
 #, c-format
 msgid "invalid privilege type %s for table"
 msgstr "el tipo de privilegio %s no es válido para una tabla"
 
-#: catalog/aclchk.c:2072
+#: catalog/aclchk.c:2097
 #, c-format
 msgid "invalid privilege type %s for column"
 msgstr "el tipo de privilegio %s no es válido para una columna"
 
-#: catalog/aclchk.c:2085
+#: catalog/aclchk.c:2110
 #, c-format
 msgid "sequence \"%s\" only supports SELECT column privileges"
 msgstr "la secuencia «%s» sólo soporta el privilegio SELECT"
 
-#: catalog/aclchk.c:2275
+#: catalog/aclchk.c:2301
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "el lenguaje «%s» no es confiable (trusted)"
 
-#: catalog/aclchk.c:2277
+#: catalog/aclchk.c:2303
 #, c-format
 msgid "GRANT and REVOKE are not allowed on untrusted languages, because only superusers can use untrusted languages."
 msgstr "GRANT y REVOKE no están permitidos en lenguajes no confiables, porque sólo los superusuarios pueden usar lenguajes no confiables."
 
-#: catalog/aclchk.c:2427
+#: catalog/aclchk.c:2454
 #, c-format
 msgid "cannot set privileges of array types"
 msgstr "no se puede definir privilegios para tipos de array"
 
-#: catalog/aclchk.c:2428
+#: catalog/aclchk.c:2455
 #, c-format
 msgid "Set the privileges of the element type instead."
 msgstr "Defina los privilegios del tipo elemento en su lugar."
 
-#: catalog/aclchk.c:2435 catalog/objectaddress.c:1667
+#: catalog/aclchk.c:2459
+#, c-format
+msgid "cannot set privileges of multirange types"
+msgstr "no se puede definir privilegios para tipos multirango"
+
+#: catalog/aclchk.c:2460
+#, c-format
+msgid "Set the privileges of the range type instead."
+msgstr "Defina los privilegios del tipo de rango en su lugar."
+
+#: catalog/aclchk.c:2467 catalog/objectaddress.c:1629
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "«%s» no es un dominio"
 
-#: catalog/aclchk.c:2621
+#: catalog/aclchk.c:2653
 #, c-format
 msgid "unrecognized privilege type \"%s\""
 msgstr "tipo de privilegio «%s» no reconocido"
 
-#: catalog/aclchk.c:2688
+#: catalog/aclchk.c:2720
 #, c-format
 msgid "permission denied for aggregate %s"
 msgstr "permiso denegado a la función de agregación %s"
 
-#: catalog/aclchk.c:2691
+#: catalog/aclchk.c:2723
 #, c-format
 msgid "permission denied for collation %s"
 msgstr "permiso denegado al ordenamiento (collation) %s"
 
-#: catalog/aclchk.c:2694
+#: catalog/aclchk.c:2726
 #, c-format
 msgid "permission denied for column %s"
 msgstr "permiso denegado a la columna %s"
 
-#: catalog/aclchk.c:2697
+#: catalog/aclchk.c:2729
 #, c-format
 msgid "permission denied for conversion %s"
 msgstr "permiso denegado a la conversión %s"
 
-#: catalog/aclchk.c:2700
+#: catalog/aclchk.c:2732
 #, c-format
 msgid "permission denied for database %s"
 msgstr "permiso denegado a la base de datos %s"
 
-#: catalog/aclchk.c:2703
+#: catalog/aclchk.c:2735
 #, c-format
 msgid "permission denied for domain %s"
 msgstr "permiso denegado al dominio %s"
 
-#: catalog/aclchk.c:2706
+#: catalog/aclchk.c:2738
 #, c-format
 msgid "permission denied for event trigger %s"
-msgstr "permiso denegado al disparador por eventos %s"
+msgstr "permiso denegado al “trigger” por eventos %s"
 
-#: catalog/aclchk.c:2709
+#: catalog/aclchk.c:2741
 #, c-format
 msgid "permission denied for extension %s"
 msgstr "permiso denegado a la extensión %s"
 
-#: catalog/aclchk.c:2712
+#: catalog/aclchk.c:2744
 #, c-format
 msgid "permission denied for foreign-data wrapper %s"
 msgstr "permiso denegado al conector de datos externos %s"
 
-#: catalog/aclchk.c:2715
+#: catalog/aclchk.c:2747
 #, c-format
 msgid "permission denied for foreign server %s"
 msgstr "permiso denegado al servidor foráneo %s"
 
-#: catalog/aclchk.c:2718
+#: catalog/aclchk.c:2750
 #, c-format
 msgid "permission denied for foreign table %s"
 msgstr "permiso denegado a la tabla foránea %s"
 
-#: catalog/aclchk.c:2721
+#: catalog/aclchk.c:2753
 #, c-format
 msgid "permission denied for function %s"
 msgstr "permiso denegado a la función %s"
 
-#: catalog/aclchk.c:2724
+#: catalog/aclchk.c:2756
 #, c-format
 msgid "permission denied for index %s"
 msgstr "permiso denegado al índice %s"
 
-#: catalog/aclchk.c:2727
+#: catalog/aclchk.c:2759
 #, c-format
 msgid "permission denied for language %s"
 msgstr "permiso denegado al lenguaje %s"
 
-#: catalog/aclchk.c:2730
+#: catalog/aclchk.c:2762
 #, c-format
 msgid "permission denied for large object %s"
 msgstr "permiso denegado al objeto grande %s"
 
-#: catalog/aclchk.c:2733
+#: catalog/aclchk.c:2765
 #, c-format
 msgid "permission denied for materialized view %s"
 msgstr "permiso denegado a la vista materializada %s"
 
-#: catalog/aclchk.c:2736
+#: catalog/aclchk.c:2768
 #, c-format
 msgid "permission denied for operator class %s"
 msgstr "permiso denegado a la clase de operadores %s"
 
-#: catalog/aclchk.c:2739
+#: catalog/aclchk.c:2771
 #, c-format
 msgid "permission denied for operator %s"
 msgstr "permiso denegado al operador %s"
 
-#: catalog/aclchk.c:2742
+#: catalog/aclchk.c:2774
 #, c-format
 msgid "permission denied for operator family %s"
 msgstr "permiso denegado a la familia de operadores %s"
 
-#: catalog/aclchk.c:2745
+#: catalog/aclchk.c:2777
 #, c-format
 msgid "permission denied for parameter %s"
 msgstr "permiso denegado al parámetro %s"
 
-#: catalog/aclchk.c:2748
+#: catalog/aclchk.c:2780
 #, c-format
 msgid "permission denied for policy %s"
 msgstr "permiso denegado a la política %s"
 
-#: catalog/aclchk.c:2751
+#: catalog/aclchk.c:2783
 #, c-format
 msgid "permission denied for procedure %s"
 msgstr "permiso denegado al procedimiento %s"
 
-#: catalog/aclchk.c:2754
+#: catalog/aclchk.c:2786
 #, c-format
 msgid "permission denied for publication %s"
 msgstr "permiso denegado a la publicación %s"
 
-#: catalog/aclchk.c:2757
+#: catalog/aclchk.c:2789
 #, c-format
 msgid "permission denied for routine %s"
 msgstr "permiso denegado a la rutina %s"
 
-#: catalog/aclchk.c:2760
+#: catalog/aclchk.c:2792
 #, c-format
 msgid "permission denied for schema %s"
 msgstr "permiso denegado al esquema %s"
 
-#: catalog/aclchk.c:2763 commands/sequence.c:659 commands/sequence.c:885
-#: commands/sequence.c:927 commands/sequence.c:968 commands/sequence.c:1761
-#: commands/sequence.c:1810
+#: catalog/aclchk.c:2795 commands/sequence.c:654 commands/sequence.c:880
+#: commands/sequence.c:922 commands/sequence.c:963 commands/sequence.c:1753
+#: commands/sequence.c:1799
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "permiso denegado a la secuencia %s"
 
-#: catalog/aclchk.c:2766
+#: catalog/aclchk.c:2798
 #, c-format
 msgid "permission denied for statistics object %s"
 msgstr "permiso denegado al objeto de estadísticas %s"
 
-#: catalog/aclchk.c:2769
+#: catalog/aclchk.c:2801
 #, c-format
 msgid "permission denied for subscription %s"
 msgstr "permiso denegado a la suscripción %s"
 
-#: catalog/aclchk.c:2772
+#: catalog/aclchk.c:2804
 #, c-format
 msgid "permission denied for table %s"
 msgstr "permiso denegado a la tabla %s"
 
-#: catalog/aclchk.c:2775
+#: catalog/aclchk.c:2807
 #, c-format
 msgid "permission denied for tablespace %s"
 msgstr "permiso denegado al tablespace %s"
 
-#: catalog/aclchk.c:2778
+#: catalog/aclchk.c:2810
 #, c-format
 msgid "permission denied for text search configuration %s"
 msgstr "permiso denegado a la configuración de búsqueda en texto %s"
 
-#: catalog/aclchk.c:2781
+#: catalog/aclchk.c:2813
 #, c-format
 msgid "permission denied for text search dictionary %s"
 msgstr "permiso denegado a la configuración de búsqueda en texto %s"
 
-#: catalog/aclchk.c:2784
+#: catalog/aclchk.c:2816
 #, c-format
 msgid "permission denied for type %s"
 msgstr "permiso denegado al tipo %s"
 
-#: catalog/aclchk.c:2787
+#: catalog/aclchk.c:2819
 #, c-format
 msgid "permission denied for view %s"
 msgstr "permiso denegado a la vista %s"
 
-#: catalog/aclchk.c:2823
+#: catalog/aclchk.c:2855
 #, c-format
 msgid "must be owner of aggregate %s"
 msgstr "debe ser dueño de la función de agregación %s"
 
-#: catalog/aclchk.c:2826
+#: catalog/aclchk.c:2858
 #, c-format
 msgid "must be owner of collation %s"
 msgstr "debe ser dueño del ordenamiento (collation) %s"
 
-#: catalog/aclchk.c:2829
+#: catalog/aclchk.c:2861
 #, c-format
 msgid "must be owner of conversion %s"
 msgstr "debe ser dueño de la conversión %s"
 
-#: catalog/aclchk.c:2832
+#: catalog/aclchk.c:2864
 #, c-format
 msgid "must be owner of database %s"
 msgstr "debe ser dueño de la base de datos %s"
 
-#: catalog/aclchk.c:2835
+#: catalog/aclchk.c:2867
 #, c-format
 msgid "must be owner of domain %s"
 msgstr "debe ser dueño del dominio %s"
 
-#: catalog/aclchk.c:2838
+#: catalog/aclchk.c:2870
 #, c-format
 msgid "must be owner of event trigger %s"
-msgstr "debe ser dueño del disparador por eventos %s"
+msgstr "debe ser dueño del “trigger” por eventos %s"
 
-#: catalog/aclchk.c:2841
+#: catalog/aclchk.c:2873
 #, c-format
 msgid "must be owner of extension %s"
 msgstr "debe ser dueño de la extensión %s"
 
-#: catalog/aclchk.c:2844
+#: catalog/aclchk.c:2876
 #, c-format
 msgid "must be owner of foreign-data wrapper %s"
 msgstr "debe ser dueño del conector de datos externos %s"
 
-#: catalog/aclchk.c:2847
+#: catalog/aclchk.c:2879
 #, c-format
 msgid "must be owner of foreign server %s"
 msgstr "debe ser dueño del servidor foráneo %s"
 
-#: catalog/aclchk.c:2850
+#: catalog/aclchk.c:2882
 #, c-format
 msgid "must be owner of foreign table %s"
 msgstr "debe ser dueño de la tabla foránea %s"
 
-#: catalog/aclchk.c:2853
+#: catalog/aclchk.c:2885
 #, c-format
 msgid "must be owner of function %s"
 msgstr "debe ser dueño de la función %s"
 
-#: catalog/aclchk.c:2856
+#: catalog/aclchk.c:2888
 #, c-format
 msgid "must be owner of index %s"
 msgstr "debe ser dueño del índice %s"
 
-#: catalog/aclchk.c:2859
+#: catalog/aclchk.c:2891
 #, c-format
 msgid "must be owner of language %s"
 msgstr "debe ser dueño del lenguaje %s"
 
-#: catalog/aclchk.c:2862
+#: catalog/aclchk.c:2894
 #, c-format
 msgid "must be owner of large object %s"
 msgstr "debe ser dueño del objeto grande %s"
 
-#: catalog/aclchk.c:2865
+#: catalog/aclchk.c:2897
 #, c-format
 msgid "must be owner of materialized view %s"
 msgstr "debe ser dueño de la vista materializada %s"
 
-#: catalog/aclchk.c:2868
+#: catalog/aclchk.c:2900
 #, c-format
 msgid "must be owner of operator class %s"
 msgstr "debe ser dueño de la clase de operadores %s"
 
-#: catalog/aclchk.c:2871
+#: catalog/aclchk.c:2903
 #, c-format
 msgid "must be owner of operator %s"
 msgstr "debe ser dueño del operador %s"
 
-#: catalog/aclchk.c:2874
+#: catalog/aclchk.c:2906
 #, c-format
 msgid "must be owner of operator family %s"
 msgstr "debe ser dueño de la familia de operadores %s"
 
-#: catalog/aclchk.c:2877
+#: catalog/aclchk.c:2909
 #, c-format
 msgid "must be owner of procedure %s"
 msgstr "debe ser dueño del procedimiento %s"
 
-#: catalog/aclchk.c:2880
+#: catalog/aclchk.c:2912
 #, c-format
 msgid "must be owner of publication %s"
 msgstr "debe ser dueño de la publicación %s"
 
-#: catalog/aclchk.c:2883
+#: catalog/aclchk.c:2915
 #, c-format
 msgid "must be owner of routine %s"
 msgstr "debe ser dueño de la rutina %s"
 
-#: catalog/aclchk.c:2886
+#: catalog/aclchk.c:2918
 #, c-format
 msgid "must be owner of sequence %s"
 msgstr "debe ser dueño de la secuencia %s"
 
-#: catalog/aclchk.c:2889
+#: catalog/aclchk.c:2921
 #, c-format
 msgid "must be owner of subscription %s"
 msgstr "debe ser dueño de la suscripción %s"
 
-#: catalog/aclchk.c:2892
+#: catalog/aclchk.c:2924
 #, c-format
 msgid "must be owner of table %s"
 msgstr "debe ser dueño de la tabla %s"
 
-#: catalog/aclchk.c:2895
+#: catalog/aclchk.c:2927
 #, c-format
 msgid "must be owner of type %s"
 msgstr "debe ser dueño del tipo %s"
 
-#: catalog/aclchk.c:2898
+#: catalog/aclchk.c:2930
 #, c-format
 msgid "must be owner of view %s"
 msgstr "debe ser dueño de la vista %s"
 
-#: catalog/aclchk.c:2901
+#: catalog/aclchk.c:2933
 #, c-format
 msgid "must be owner of schema %s"
 msgstr "debe ser dueño del esquema %s"
 
-#: catalog/aclchk.c:2904
+#: catalog/aclchk.c:2936
 #, c-format
 msgid "must be owner of statistics object %s"
 msgstr "debe ser dueño del objeto de estadísticas %s"
 
-#: catalog/aclchk.c:2907
+#: catalog/aclchk.c:2939
 #, c-format
 msgid "must be owner of tablespace %s"
 msgstr "debe ser dueño del tablespace %s"
 
-#: catalog/aclchk.c:2910
+#: catalog/aclchk.c:2942
 #, c-format
 msgid "must be owner of text search configuration %s"
 msgstr "debe ser dueño de la configuración de búsqueda en texto %s"
 
-#: catalog/aclchk.c:2913
+#: catalog/aclchk.c:2945
 #, c-format
 msgid "must be owner of text search dictionary %s"
 msgstr "debe ser dueño del diccionario de búsqueda en texto %s"
 
-#: catalog/aclchk.c:2927
+#: catalog/aclchk.c:2959
 #, c-format
 msgid "must be owner of relation %s"
 msgstr "debe ser dueño de la relación %s"
 
-#: catalog/aclchk.c:2973
+#: catalog/aclchk.c:3005
 #, c-format
 msgid "permission denied for column \"%s\" of relation \"%s\""
 msgstr "permiso denegado a la columna «%s» de la relación «%s»"
 
-#: catalog/aclchk.c:3108 catalog/aclchk.c:3994 catalog/aclchk.c:4026
-#, fuzzy, c-format
-#| msgid "schema with OID %u does not exist"
+#: catalog/aclchk.c:3162 catalog/aclchk.c:4170 catalog/aclchk.c:4201
+#, c-format
 msgid "%s with OID %u does not exist"
-msgstr "no existe el esquema con OID %u"
+msgstr "%s con el OID %u no existe"
 
-#: catalog/aclchk.c:3192 catalog/aclchk.c:3211
+#: catalog/aclchk.c:3245 catalog/aclchk.c:3264
 #, c-format
 msgid "attribute %d of relation with OID %u does not exist"
 msgstr "no existe el atributo %d de la relación con OID %u"
 
-#: catalog/aclchk.c:3306
+#: catalog/aclchk.c:3302 catalog/aclchk.c:3365 catalog/aclchk.c:4004
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "no existe la relación con OID %u"
 
-#: catalog/aclchk.c:3491
+#: catalog/aclchk.c:3550
 #, c-format
 msgid "parameter ACL with OID %u does not exist"
 msgstr "no existe el ACL de parámetro con OID %u"
 
-#: catalog/aclchk.c:3655 commands/collationcmds.c:808
-#: commands/publicationcmds.c:1746
+#: catalog/aclchk.c:3723 commands/collationcmds.c:853
+#: commands/publicationcmds.c:1739
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "no existe el esquema con OID %u"
 
-#: catalog/aclchk.c:3720 utils/cache/typcache.c:385 utils/cache/typcache.c:440
+#: catalog/aclchk.c:3797 catalog/aclchk.c:3824 catalog/aclchk.c:3853
+#: utils/cache/typcache.c:392 utils/cache/typcache.c:447
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "no existe el tipo con OID %u"
 
-#: catalog/catalog.c:449
+#: catalog/catalog.c:477
 #, c-format
 msgid "still searching for an unused OID in relation \"%s\""
 msgstr "aún se está buscando algún OID sin utilizar en la relación «%s»"
 
-#: catalog/catalog.c:451
+#: catalog/catalog.c:479
 #, c-format
 msgid "OID candidates have been checked %llu time, but no unused OID has been found yet."
 msgid_plural "OID candidates have been checked %llu times, but no unused OID has been found yet."
 msgstr[0] "se han revisado los OID candidatos %llu vez, pero aún no se ha encontrado algún OID sin utilizar."
 msgstr[1] "se han revisado los OID candidatos %llu veces, pero aún no se ha encontrado algún OID sin utilizar."
 
-#: catalog/catalog.c:476
+#: catalog/catalog.c:504
 #, c-format
 msgid "new OID has been assigned in relation \"%s\" after %llu retry"
 msgid_plural "new OID has been assigned in relation \"%s\" after %llu retries"
 msgstr[0] "se ha asignado un nuevo OID en la relación «%s» luego de %llu reintento"
 msgstr[1] "se ha asignado un nuevo OID en la relación «%s» luego de %llu reintentos"
 
-#: catalog/catalog.c:609 catalog/catalog.c:676
+#: catalog/catalog.c:637 catalog/catalog.c:704
 #, c-format
 msgid "must be superuser to call %s()"
 msgstr "debe ser superusuario para invocar %s()"
 
-#: catalog/catalog.c:618
+#: catalog/catalog.c:646
 #, c-format
 msgid "pg_nextoid() can only be used on system catalogs"
 msgstr "pg_nextoid() sólo puede usarse en catálogos de sistema"
 
-#: catalog/catalog.c:623 parser/parse_utilcmd.c:2264
+#: catalog/catalog.c:651 parser/parse_utilcmd.c:2270
 #, c-format
 msgid "index \"%s\" does not belong to table \"%s\""
 msgstr "el índice «%s» no pertenece a la tabla «%s»"
 
-#: catalog/catalog.c:640
+#: catalog/catalog.c:668
 #, c-format
 msgid "column \"%s\" is not of type oid"
 msgstr "la columna «%s» no es de tipo oid"
 
-#: catalog/catalog.c:647
+#: catalog/catalog.c:675
 #, c-format
 msgid "index \"%s\" is not the index for column \"%s\""
 msgstr "«el índice %s» no es el índice para la columna «%s»"
 
-#: catalog/dependency.c:546 catalog/pg_shdepend.c:658
+#: catalog/dependency.c:497 catalog/pg_shdepend.c:703
 #, c-format
 msgid "cannot drop %s because it is required by the database system"
 msgstr "no se puede eliminar %s porque es requerido por el sistema"
 
-#: catalog/dependency.c:838 catalog/dependency.c:1065
+#: catalog/dependency.c:789 catalog/dependency.c:1016
 #, c-format
 msgid "cannot drop %s because %s requires it"
 msgstr "no se puede eliminar %s porque %s lo requiere"
 
-#: catalog/dependency.c:840 catalog/dependency.c:1067
+#: catalog/dependency.c:791 catalog/dependency.c:1018
 #, c-format
 msgid "You can drop %s instead."
 msgstr "Puede eliminar %s en su lugar."
 
-#: catalog/dependency.c:1146 catalog/dependency.c:1155
+#: catalog/dependency.c:1097 catalog/dependency.c:1106
 #, c-format
 msgid "%s depends on %s"
 msgstr "%s depende de %s"
 
-#: catalog/dependency.c:1170 catalog/dependency.c:1179
+#: catalog/dependency.c:1121 catalog/dependency.c:1130
 #, c-format
 msgid "drop cascades to %s"
 msgstr "eliminando además %s"
 
-#: catalog/dependency.c:1187 catalog/pg_shdepend.c:823
+#: catalog/dependency.c:1138 catalog/pg_shdepend.c:868
 #, c-format
 msgid ""
 "\n"
@@ -4496,720 +4819,715 @@ msgstr[1] ""
 "\n"
 "y otros %d objetos (vea el registro del servidor para obtener la lista)"
 
-#: catalog/dependency.c:1199
+#: catalog/dependency.c:1150
 #, c-format
 msgid "cannot drop %s because other objects depend on it"
 msgstr "no se puede eliminar %s porque otros objetos dependen de él"
 
-#: catalog/dependency.c:1202 catalog/dependency.c:1209
-#: catalog/dependency.c:1220 commands/tablecmds.c:1335
-#: commands/tablecmds.c:14386 commands/tablespace.c:466 commands/user.c:1309
-#: commands/vacuum.c:212 commands/view.c:446 libpq/auth.c:326
-#: replication/logical/applyparallelworker.c:1044 replication/syncrep.c:1017
-#: storage/lmgr/deadlock.c:1135 storage/lmgr/proc.c:1358 utils/misc/guc.c:3120
-#: utils/misc/guc.c:3156 utils/misc/guc.c:3226 utils/misc/guc.c:6615
-#: utils/misc/guc.c:6649 utils/misc/guc.c:6683 utils/misc/guc.c:6726
-#: utils/misc/guc.c:6768
+#: catalog/dependency.c:1153 catalog/dependency.c:1160
+#: catalog/dependency.c:1171 commands/tablecmds.c:1459
+#: commands/tablecmds.c:15088 commands/tablespace.c:460 commands/user.c:1302
+#: commands/vacuum.c:211 commands/view.c:441 executor/execExprInterp.c:4655
+#: executor/execExprInterp.c:4663 libpq/auth.c:324
+#: replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1011
+#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1432 utils/misc/guc.c:3169
+#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6825
+#: utils/misc/guc.c:6859 utils/misc/guc.c:6893 utils/misc/guc.c:6936
+#: utils/misc/guc.c:6978
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: catalog/dependency.c:1203 catalog/dependency.c:1210
+#: catalog/dependency.c:1154 catalog/dependency.c:1161
 #, c-format
 msgid "Use DROP ... CASCADE to drop the dependent objects too."
 msgstr "Use DROP ... CASCADE para eliminar además los objetos dependientes."
 
-#: catalog/dependency.c:1207
+#: catalog/dependency.c:1158
 #, c-format
 msgid "cannot drop desired object(s) because other objects depend on them"
 msgstr "no se puede eliminar el o los objetos deseados porque otros objetos dependen de ellos"
 
-#: catalog/dependency.c:1215
+#: catalog/dependency.c:1166
 #, c-format
 msgid "drop cascades to %d other object"
 msgid_plural "drop cascades to %d other objects"
 msgstr[0] "eliminando además %d objeto más"
 msgstr[1] "eliminando además %d objetos más"
 
-#: catalog/dependency.c:1899
+#: catalog/dependency.c:1850
 #, c-format
 msgid "constant of the type %s cannot be used here"
 msgstr "no se puede usar una constante de tipo %s aquí"
 
-#: catalog/dependency.c:2420 parser/parse_relation.c:3403
-#: parser/parse_relation.c:3413
+#: catalog/dependency.c:2375 parser/parse_relation.c:3407
+#: parser/parse_relation.c:3417
 #, c-format
 msgid "column %d of relation \"%s\" does not exist"
 msgstr "no existe la columna %d en la relación «%s»"
 
-#: catalog/heap.c:324
+#: catalog/heap.c:325
 #, c-format
 msgid "permission denied to create \"%s.%s\""
 msgstr "se ha denegado el permiso para crear «%s.%s»"
 
-#: catalog/heap.c:326
+#: catalog/heap.c:327
 #, c-format
 msgid "System catalog modifications are currently disallowed."
 msgstr "Las modificaciones al catálogo del sistema están actualmente deshabilitadas."
 
-#: catalog/heap.c:466 commands/tablecmds.c:2374 commands/tablecmds.c:3047
-#: commands/tablecmds.c:6922
+#: catalog/heap.c:467 commands/tablecmds.c:2495 commands/tablecmds.c:2917
+#: commands/tablecmds.c:7163
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "las tablas pueden tener a lo más %d columnas"
 
-#: catalog/heap.c:484 commands/tablecmds.c:7229
+#: catalog/heap.c:485 commands/tablecmds.c:7432
 #, c-format
 msgid "column name \"%s\" conflicts with a system column name"
 msgstr "el nombre de columna «%s» colisiona con nombre de una columna de sistema"
 
-#: catalog/heap.c:500
+#: catalog/heap.c:501
 #, c-format
 msgid "column name \"%s\" specified more than once"
 msgstr "el nombre de columna «%s» fue especificado más de una vez"
 
 #. translator: first %s is an integer not a name
-#: catalog/heap.c:575
+#: catalog/heap.c:579
 #, c-format
 msgid "partition key column %s has pseudo-type %s"
 msgstr "la columna %s de la llave de partición tiene pseudotipo %s"
 
-#: catalog/heap.c:580
+#: catalog/heap.c:584
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "la columna «%s» tiene pseudotipo %s"
 
-#: catalog/heap.c:611
+#: catalog/heap.c:615
 #, c-format
 msgid "composite type %s cannot be made a member of itself"
 msgstr "un tipo compuesto %s no puede ser hecho miembro de sí mismo"
 
 #. translator: first %s is an integer not a name
-#: catalog/heap.c:666
+#: catalog/heap.c:670
 #, c-format
 msgid "no collation was derived for partition key column %s with collatable type %s"
 msgstr "no se derivó ningún ordenamiento (collate) para la columna %s de llave de partición con tipo ordenable %s"
 
-#: catalog/heap.c:672 commands/createas.c:203 commands/createas.c:512
+#: catalog/heap.c:676 commands/createas.c:198 commands/createas.c:505
 #, c-format
 msgid "no collation was derived for column \"%s\" with collatable type %s"
 msgstr "no se derivó ningún ordenamiento (collate) para la columna «%s» con tipo ordenable %s"
 
-#: catalog/heap.c:1148 catalog/index.c:886 commands/createas.c:408
-#: commands/tablecmds.c:3987
+#: catalog/heap.c:1161 catalog/index.c:899 commands/createas.c:401
+#: commands/tablecmds.c:4171
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "la relación «%s» ya existe"
 
-#: catalog/heap.c:1164 catalog/pg_type.c:434 catalog/pg_type.c:782
-#: catalog/pg_type.c:954 commands/typecmds.c:249 commands/typecmds.c:261
-#: commands/typecmds.c:754 commands/typecmds.c:1169 commands/typecmds.c:1395
-#: commands/typecmds.c:1575 commands/typecmds.c:2546
+#: catalog/heap.c:1177 catalog/pg_type.c:434 catalog/pg_type.c:805
+#: catalog/pg_type.c:977 commands/typecmds.c:253 commands/typecmds.c:265
+#: commands/typecmds.c:758 commands/typecmds.c:1179 commands/typecmds.c:1405
+#: commands/typecmds.c:1585 commands/typecmds.c:2556
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "ya existe un tipo «%s»"
 
-#: catalog/heap.c:1165
+#: catalog/heap.c:1178
 #, c-format
 msgid "A relation has an associated type of the same name, so you must use a name that doesn't conflict with any existing type."
 msgstr "Una relación tiene un tipo asociado del mismo nombre, de modo que debe usar un nombre que no entre en conflicto con un tipo existente."
 
-#: catalog/heap.c:1205
-#, fuzzy, c-format
-#| msgid "pg_enum OID value not set when in binary upgrade mode"
+#: catalog/heap.c:1218
+#, c-format
 msgid "toast relfilenumber value not set when in binary upgrade mode"
-msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria"
+msgstr "el valor de relfilenumber de toast no se definió en modo de actualización binaria"
 
-#: catalog/heap.c:1216
+#: catalog/heap.c:1229
 #, c-format
 msgid "pg_class heap OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de heap de pg_class no se definió en modo de actualización binaria"
 
-#: catalog/heap.c:1226
-#, fuzzy, c-format
-#| msgid "pg_enum OID value not set when in binary upgrade mode"
+#: catalog/heap.c:1239
+#, c-format
 msgid "relfilenumber value not set when in binary upgrade mode"
-msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria"
+msgstr "el valor de relfilenumber no se definió en modo de actualización binaria"
 
-#: catalog/heap.c:2119
+#: catalog/heap.c:2130
 #, c-format
 msgid "cannot add NO INHERIT constraint to partitioned table \"%s\""
 msgstr "no se puede agregar una restricción NO INHERIT a la tabla particionada «%s»"
 
-#: catalog/heap.c:2393
+#: catalog/heap.c:2402
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "la restricción «check» «%s» ya existe"
 
-#: catalog/heap.c:2563 catalog/index.c:900 catalog/pg_constraint.c:682
-#: commands/tablecmds.c:8900
+#: catalog/heap.c:2574 catalog/index.c:913 catalog/pg_constraint.c:724
+#: commands/tablecmds.c:9356
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "la restricción «%s» para la relación «%s» ya existe"
 
-#: catalog/heap.c:2570
+#: catalog/heap.c:2581
 #, c-format
 msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\""
 msgstr "la restricción «%s» está en conflicto con la restricción no heredada de la relación «%s»"
 
-#: catalog/heap.c:2581
+#: catalog/heap.c:2592
 #, c-format
 msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\""
 msgstr "la restricción «%s» está en conflicto con la restricción heredada de la relación «%s»"
 
-#: catalog/heap.c:2591
+#: catalog/heap.c:2602
 #, c-format
 msgid "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\""
 msgstr "la restricción «%s» está en conflicto con la restricción NOT VALID de la relación «%s»"
 
-#: catalog/heap.c:2596
+#: catalog/heap.c:2607
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "mezclando la restricción «%s» con la definición heredada"
 
-#: catalog/heap.c:2622 catalog/pg_constraint.c:811 commands/tablecmds.c:2672
-#: commands/tablecmds.c:3199 commands/tablecmds.c:6858
-#: commands/tablecmds.c:15208 commands/tablecmds.c:15349
-#, fuzzy, c-format
-#| msgid "too many command-line arguments"
+#: catalog/heap.c:2633 catalog/pg_constraint.c:853 commands/tablecmds.c:3074
+#: commands/tablecmds.c:3377 commands/tablecmds.c:7089
+#: commands/tablecmds.c:15907 commands/tablecmds.c:16038
+#, c-format
 msgid "too many inheritance parents"
-msgstr "demasiados argumentos de línea de órdenes"
+msgstr "demasiados padres de herencia"
 
-#: catalog/heap.c:2706
+#: catalog/heap.c:2717
 #, c-format
 msgid "cannot use generated column \"%s\" in column generation expression"
 msgstr "no se puede usar la columna generada «%s» en una expresión de generación de columna"
 
-#: catalog/heap.c:2708
+#: catalog/heap.c:2719
 #, c-format
 msgid "A generated column cannot reference another generated column."
 msgstr "Una columna generada no puede hacer referencia a otra columna generada."
 
-#: catalog/heap.c:2714
+#: catalog/heap.c:2725
 #, c-format
 msgid "cannot use whole-row variable in column generation expression"
 msgstr "no se puede usar una variable de fila completa (whole-row) en una expresión de generación de columna"
 
-#: catalog/heap.c:2715
+#: catalog/heap.c:2726
 #, c-format
 msgid "This would cause the generated column to depend on its own value."
 msgstr "Esto causaría que la columna generada dependa de su propio valor."
 
-#: catalog/heap.c:2768
+#: catalog/heap.c:2781
 #, c-format
 msgid "generation expression is not immutable"
 msgstr "la expresión de generación no es inmutable"
 
-#: catalog/heap.c:2796 rewrite/rewriteHandler.c:1295
+#: catalog/heap.c:2809 rewrite/rewriteHandler.c:1276
 #, c-format
 msgid "column \"%s\" is of type %s but default expression is of type %s"
 msgstr "la columna «%s» es de tipo %s pero la expresión default es de tipo %s"
 
-#: catalog/heap.c:2801 commands/prepare.c:334 parser/analyze.c:2704
-#: parser/parse_target.c:593 parser/parse_target.c:874
-#: parser/parse_target.c:884 rewrite/rewriteHandler.c:1300
+#: catalog/heap.c:2814 commands/prepare.c:331 parser/analyze.c:2758
+#: parser/parse_target.c:592 parser/parse_target.c:882
+#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1281
 #, c-format
 msgid "You will need to rewrite or cast the expression."
 msgstr "Necesitará reescribir la expresión o aplicarle una conversión de tipo."
 
-#: catalog/heap.c:2848
+#: catalog/heap.c:2861
 #, c-format
 msgid "only table \"%s\" can be referenced in check constraint"
 msgstr "sólo la tabla «%s» puede ser referenciada en una restricción «check»"
 
-#: catalog/heap.c:3154
+#: catalog/heap.c:3167
 #, c-format
 msgid "unsupported ON COMMIT and foreign key combination"
 msgstr "combinación de ON COMMIT y llaves foráneas no soportada"
 
-#: catalog/heap.c:3155
+#: catalog/heap.c:3168
 #, c-format
 msgid "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT setting."
 msgstr "La tabla «%s» se refiere a «%s», pero no tienen la misma expresión para ON COMMIT."
 
-#: catalog/heap.c:3160
+#: catalog/heap.c:3173
 #, c-format
 msgid "cannot truncate a table referenced in a foreign key constraint"
 msgstr "no se puede truncar una tabla referida en una llave foránea"
 
-#: catalog/heap.c:3161
+#: catalog/heap.c:3174
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "La tabla «%s» hace referencia a «%s»."
 
-#: catalog/heap.c:3163
+#: catalog/heap.c:3176
 #, c-format
 msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE."
 msgstr "Trunque la tabla «%s» al mismo tiempo, o utilice TRUNCATE ... CASCADE."
 
-#: catalog/index.c:224 parser/parse_utilcmd.c:2170
+#: catalog/index.c:219 parser/parse_utilcmd.c:2176
 #, c-format
 msgid "multiple primary keys for table \"%s\" are not allowed"
 msgstr "no se permiten múltiples llaves primarias para la tabla «%s»"
 
-#: catalog/index.c:238
-#, fuzzy, c-format
-#| msgid "primary keys cannot be expressions"
+#: catalog/index.c:233
+#, c-format
 msgid "primary keys cannot use NULLS NOT DISTINCT indexes"
-msgstr "las llaves primarias no pueden ser expresiones"
+msgstr "las llaves primarias no pueden usar índices NULLS NOT DISTINCT"
 
-#: catalog/index.c:255
+#: catalog/index.c:250
 #, c-format
 msgid "primary keys cannot be expressions"
 msgstr "las llaves primarias no pueden ser expresiones"
 
-#: catalog/index.c:272
+#: catalog/index.c:267
 #, c-format
 msgid "primary key column \"%s\" is not marked NOT NULL"
 msgstr "columna de llave primaria «%s» no está marcada NOT NULL"
 
-#: catalog/index.c:785 catalog/index.c:1941
+#: catalog/index.c:798 catalog/index.c:1915
 #, c-format
 msgid "user-defined indexes on system catalog tables are not supported"
 msgstr "los usuarios no pueden crear índices en tablas del sistema"
 
-#: catalog/index.c:825
+#: catalog/index.c:838
 #, c-format
 msgid "nondeterministic collations are not supported for operator class \"%s\""
 msgstr "los ordenamientos no determinísticos no están soportados para la clase de operadores «%s»"
 
-#: catalog/index.c:840
+#: catalog/index.c:853
 #, c-format
 msgid "concurrent index creation on system catalog tables is not supported"
 msgstr "no se pueden crear índices de forma concurrente en tablas del sistema"
 
-#: catalog/index.c:849 catalog/index.c:1317
+#: catalog/index.c:862 catalog/index.c:1331
 #, c-format
 msgid "concurrent index creation for exclusion constraints is not supported"
 msgstr "no se pueden crear índices para restricciones de exclusión de forma concurrente"
 
-#: catalog/index.c:858
+#: catalog/index.c:871
 #, c-format
 msgid "shared indexes cannot be created after initdb"
 msgstr "no se pueden crear índices compartidos después de initdb"
 
-#: catalog/index.c:878 commands/createas.c:423 commands/sequence.c:158
+#: catalog/index.c:891 commands/createas.c:416 commands/sequence.c:159
 #: parser/parse_utilcmd.c:209
 #, c-format
 msgid "relation \"%s\" already exists, skipping"
 msgstr "la relación «%s» ya existe, omitiendo"
 
-#: catalog/index.c:928
+#: catalog/index.c:941
 #, c-format
 msgid "pg_class index OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de índice de pg_class no se definió en modo de actualización binaria"
 
-#: catalog/index.c:938 utils/cache/relcache.c:3730
-#, fuzzy, c-format
-#| msgid "pg_enum OID value not set when in binary upgrade mode"
+#: catalog/index.c:951 utils/cache/relcache.c:3791
+#, c-format
 msgid "index relfilenumber value not set when in binary upgrade mode"
-msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria"
+msgstr "el valor relfilenumber de índice no se definió en modo de actualización binaria"
 
-#: catalog/index.c:2240
+#: catalog/index.c:2214
 #, c-format
 msgid "DROP INDEX CONCURRENTLY must be first action in transaction"
 msgstr "DROP INDEX CONCURRENTLY debe ser la primera acción en una transacción"
 
-#: catalog/index.c:3647
+#: catalog/index.c:3668
 #, c-format
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "no se puede hacer reindex de tablas temporales de otras sesiones"
 
-#: catalog/index.c:3658 commands/indexcmds.c:3623
+#: catalog/index.c:3679 commands/indexcmds.c:3626
 #, c-format
 msgid "cannot reindex invalid index on TOAST table"
 msgstr "no es posible reindexar un índice no válido en tabla TOAST"
 
-#: catalog/index.c:3674 commands/indexcmds.c:3503 commands/indexcmds.c:3647
-#: commands/tablecmds.c:3402
+#: catalog/index.c:3695 commands/indexcmds.c:3504 commands/indexcmds.c:3650
+#: commands/tablecmds.c:3581
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "no se puede mover la relación de sistema «%s»"
 
-#: catalog/index.c:3818
+#: catalog/index.c:3832
 #, c-format
 msgid "index \"%s\" was reindexed"
 msgstr "el índice «%s» fue reindexado"
 
-#: catalog/index.c:3955
+#: catalog/index.c:3998
 #, c-format
 msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping"
 msgstr "no se puede reindexar el índice no válido «%s.%s» en tabla TOAST, omitiendo"
 
-#: catalog/namespace.c:260 catalog/namespace.c:464 catalog/namespace.c:556
-#: commands/trigger.c:5687
+#: catalog/namespace.c:462 catalog/namespace.c:666 catalog/namespace.c:758
+#: commands/trigger.c:5729
 #, c-format
 msgid "cross-database references are not implemented: \"%s.%s.%s\""
 msgstr "no están implementadas las referencias entre bases de datos: «%s.%s.%s»"
 
-#: catalog/namespace.c:317
+#: catalog/namespace.c:519
 #, c-format
 msgid "temporary tables cannot specify a schema name"
 msgstr "las tablas temporales no pueden especificar un nombre de esquema"
 
-#: catalog/namespace.c:398
+#: catalog/namespace.c:600
 #, c-format
 msgid "could not obtain lock on relation \"%s.%s\""
-msgstr "no se pudo bloquear un candado en la relación «%s.%s»"
+msgstr "no se pudo bloquear un “lock” en la relación «%s.%s»"
 
-#: catalog/namespace.c:403 commands/lockcmds.c:145 commands/lockcmds.c:225
+#: catalog/namespace.c:605 commands/lockcmds.c:143 commands/lockcmds.c:223
 #, c-format
 msgid "could not obtain lock on relation \"%s\""
-msgstr "no se pudo bloquear un candado en la relación «%s»"
+msgstr "no se pudo bloquear un “lock” en la relación «%s»"
 
-#: catalog/namespace.c:431 parser/parse_relation.c:1429
+#: catalog/namespace.c:633 parser/parse_relation.c:1430
 #, c-format
 msgid "relation \"%s.%s\" does not exist"
 msgstr "no existe la relación «%s.%s»"
 
-#: catalog/namespace.c:436 parser/parse_relation.c:1442
-#: parser/parse_relation.c:1450 utils/adt/regproc.c:913
+#: catalog/namespace.c:638 parser/parse_relation.c:1443
+#: parser/parse_relation.c:1451 utils/adt/regproc.c:913
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "no existe la relación «%s»"
 
-#: catalog/namespace.c:502 catalog/namespace.c:3073 commands/extension.c:1584
-#: commands/extension.c:1590
+#: catalog/namespace.c:704 catalog/namespace.c:3522 commands/extension.c:1607
+#: commands/extension.c:1613
 #, c-format
 msgid "no schema has been selected to create in"
 msgstr "no se ha seleccionado ningún esquema dentro del cual crear"
 
-#: catalog/namespace.c:654 catalog/namespace.c:667
+#: catalog/namespace.c:856 catalog/namespace.c:869
 #, c-format
 msgid "cannot create relations in temporary schemas of other sessions"
 msgstr "no se pueden crear relaciones en esquemas temporales de otras sesiones"
 
-#: catalog/namespace.c:658
+#: catalog/namespace.c:860
 #, c-format
 msgid "cannot create temporary relation in non-temporary schema"
 msgstr "no se pueden crear tablas temporales en esquemas no temporales"
 
-#: catalog/namespace.c:673
+#: catalog/namespace.c:875
 #, c-format
 msgid "only temporary relations may be created in temporary schemas"
 msgstr "sólo relaciones temporales pueden ser creadas en los esquemas temporales"
 
-#: catalog/namespace.c:2265
+#: catalog/namespace.c:2619
 #, c-format
 msgid "statistics object \"%s\" does not exist"
 msgstr "no existe el objeto de estadísticas «%s»"
 
-#: catalog/namespace.c:2388
+#: catalog/namespace.c:2761
 #, c-format
 msgid "text search parser \"%s\" does not exist"
 msgstr "no existe el analizador de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2514 utils/adt/regproc.c:1439
+#: catalog/namespace.c:2906 utils/adt/regproc.c:1459
 #, c-format
 msgid "text search dictionary \"%s\" does not exist"
 msgstr "no existe el diccionario de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2641
+#: catalog/namespace.c:3052
 #, c-format
 msgid "text search template \"%s\" does not exist"
 msgstr "no existe la plantilla de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2767 commands/tsearchcmds.c:1162
-#: utils/adt/regproc.c:1329 utils/cache/ts_cache.c:635
+#: catalog/namespace.c:3197 commands/tsearchcmds.c:1168
+#: utils/adt/regproc.c:1349 utils/cache/ts_cache.c:635
 #, c-format
 msgid "text search configuration \"%s\" does not exist"
 msgstr "no existe la configuración de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2880 parser/parse_expr.c:832 parser/parse_target.c:1246
+#: catalog/namespace.c:3329 parser/parse_expr.c:868 parser/parse_target.c:1259
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "no están implementadas las referencias entre bases de datos: %s"
 
-#: catalog/namespace.c:2886 parser/parse_expr.c:839 parser/parse_target.c:1253
-#: gram.y:18570 gram.y:18610
+#: catalog/namespace.c:3335 parser/parse_expr.c:875 parser/parse_target.c:1266
+#: gram.y:19181 gram.y:19221
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "el nombre no es válido (demasiados puntos): %s"
 
-#: catalog/namespace.c:3016
+#: catalog/namespace.c:3465
 #, c-format
 msgid "cannot move objects into or out of temporary schemas"
 msgstr "no se puede mover objetos hacia o desde esquemas temporales"
 
-#: catalog/namespace.c:3022
+#: catalog/namespace.c:3471
 #, c-format
 msgid "cannot move objects into or out of TOAST schema"
 msgstr "no se puede mover objetos hacia o desde el esquema TOAST"
 
-#: catalog/namespace.c:3095 commands/schemacmds.c:264 commands/schemacmds.c:344
-#: commands/tablecmds.c:1280 utils/adt/regproc.c:1668
+#: catalog/namespace.c:3544 commands/schemacmds.c:264 commands/schemacmds.c:344
+#: commands/tablecmds.c:1404 utils/adt/regproc.c:1688
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "no existe el esquema «%s»"
 
-#: catalog/namespace.c:3126
+#: catalog/namespace.c:3575
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "el nombre de relación no es válido (demasiados puntos): %s"
 
-#: catalog/namespace.c:3693 utils/adt/regproc.c:1056
+#: catalog/namespace.c:4016 utils/adt/regproc.c:1056
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" does not exist"
 msgstr "no existe el ordenamiento (collation) «%s» para la codificación «%s»"
 
-#: catalog/namespace.c:3748
+#: catalog/namespace.c:4071
 #, c-format
 msgid "conversion \"%s\" does not exist"
 msgstr "no existe la conversión «%s»"
 
-#: catalog/namespace.c:4012
+#: catalog/namespace.c:4412
 #, c-format
 msgid "permission denied to create temporary tables in database \"%s\""
 msgstr "se ha denegado el permiso para crear tablas temporales en la base de datos «%s»"
 
-#: catalog/namespace.c:4028
+#: catalog/namespace.c:4428
 #, c-format
 msgid "cannot create temporary tables during recovery"
 msgstr "no se pueden crear tablas temporales durante la recuperación"
 
-#: catalog/namespace.c:4034
+#: catalog/namespace.c:4434
 #, c-format
 msgid "cannot create temporary tables during a parallel operation"
 msgstr "no se pueden crear tablas temporales durante una operación paralela"
 
-#: catalog/objectaddress.c:1409 commands/policy.c:96 commands/policy.c:376
-#: commands/tablecmds.c:248 commands/tablecmds.c:290 commands/tablecmds.c:2206
-#: commands/tablecmds.c:12357
+#: catalog/objectaddress.c:1371 commands/policy.c:93 commands/policy.c:373
+#: commands/tablecmds.c:257 commands/tablecmds.c:299 commands/tablecmds.c:2327
+#: commands/tablecmds.c:12925
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "«%s» no es una tabla"
 
-#: catalog/objectaddress.c:1416 commands/tablecmds.c:260
-#: commands/tablecmds.c:17169 commands/view.c:119
+#: catalog/objectaddress.c:1378 commands/tablecmds.c:269
+#: commands/tablecmds.c:17851 commands/view.c:114
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "«%s» no es una vista"
 
-#: catalog/objectaddress.c:1423 commands/matview.c:187 commands/tablecmds.c:266
-#: commands/tablecmds.c:17174
+#: catalog/objectaddress.c:1385 commands/matview.c:199 commands/tablecmds.c:275
+#: commands/tablecmds.c:17856
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "«%s» no es una vista materializada"
 
-#: catalog/objectaddress.c:1430 commands/tablecmds.c:284
-#: commands/tablecmds.c:17179
+#: catalog/objectaddress.c:1392 commands/tablecmds.c:293
+#: commands/tablecmds.c:17861
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "«%s» no es una tabla foránea"
 
-#: catalog/objectaddress.c:1471
+#: catalog/objectaddress.c:1433
 #, c-format
 msgid "must specify relation and object name"
 msgstr "debe especificar nombre de relación y nombre de objeto"
 
-#: catalog/objectaddress.c:1547 catalog/objectaddress.c:1600
+#: catalog/objectaddress.c:1509 catalog/objectaddress.c:1562
 #, c-format
 msgid "column name must be qualified"
 msgstr "el nombre de columna debe ser calificado"
 
-#: catalog/objectaddress.c:1619
+#: catalog/objectaddress.c:1581
 #, c-format
 msgid "default value for column \"%s\" of relation \"%s\" does not exist"
 msgstr "no existe el valor por omisión para la columna «%s» de la relación «%s»"
 
-#: catalog/objectaddress.c:1656 commands/functioncmds.c:137
-#: commands/tablecmds.c:276 commands/typecmds.c:274 commands/typecmds.c:3689
+#: catalog/objectaddress.c:1618 commands/functioncmds.c:132
+#: commands/tablecmds.c:285 commands/typecmds.c:278 commands/typecmds.c:3843
 #: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:801
-#: utils/adt/acl.c:4449
+#: utils/adt/acl.c:4560
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "no existe el tipo «%s»"
 
-#: catalog/objectaddress.c:1775
+#: catalog/objectaddress.c:1737
 #, c-format
 msgid "operator %d (%s, %s) of %s does not exist"
 msgstr "no existe el operador %d (%s, %s) de %s"
 
-#: catalog/objectaddress.c:1806
+#: catalog/objectaddress.c:1768
 #, c-format
 msgid "function %d (%s, %s) of %s does not exist"
 msgstr "no existe la función %d (%s, %s) de %s"
 
-#: catalog/objectaddress.c:1857 catalog/objectaddress.c:1883
+#: catalog/objectaddress.c:1819 catalog/objectaddress.c:1845
 #, c-format
 msgid "user mapping for user \"%s\" on server \"%s\" does not exist"
 msgstr "no existe el mapeo para el usuario «%s» en el servidor «%s»"
 
-#: catalog/objectaddress.c:1872 commands/foreigncmds.c:430
-#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:700
+#: catalog/objectaddress.c:1834 commands/foreigncmds.c:430
+#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:713
 #, c-format
 msgid "server \"%s\" does not exist"
 msgstr "no existe el servidor «%s»"
 
-#: catalog/objectaddress.c:1939
+#: catalog/objectaddress.c:1901
 #, c-format
 msgid "publication relation \"%s\" in publication \"%s\" does not exist"
 msgstr "no existe la relación «%s» en la publicación «%s»"
 
-#: catalog/objectaddress.c:1986
-#, fuzzy, c-format
-#| msgid "publication relation \"%s\" in publication \"%s\" does not exist"
+#: catalog/objectaddress.c:1948
+#, c-format
 msgid "publication schema \"%s\" in publication \"%s\" does not exist"
-msgstr "no existe la relación «%s» en la publicación «%s»"
+msgstr "no existe el esquema de publicación «%s» en la publicación «%s»"
 
-#: catalog/objectaddress.c:2044
+#: catalog/objectaddress.c:2006
 #, c-format
 msgid "unrecognized default ACL object type \"%c\""
 msgstr "tipo de objeto para ACL por omisión «%c» no reconocido"
 
-#: catalog/objectaddress.c:2045
+#: catalog/objectaddress.c:2007
 #, c-format
 msgid "Valid object types are \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"."
 msgstr "Tipos válidos de objeto son «%c», «%c», «%c», «%c» y «%c»."
 
-#: catalog/objectaddress.c:2096
+#: catalog/objectaddress.c:2058
 #, c-format
 msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist"
 msgstr "no existe el ACL por omisión para el usuario «%s» en el esquema «%s» en %s"
 
-#: catalog/objectaddress.c:2101
+#: catalog/objectaddress.c:2063
 #, c-format
 msgid "default ACL for user \"%s\" on %s does not exist"
 msgstr "no existe el ACL por omisión para el usuario «%s» en %s"
 
-#: catalog/objectaddress.c:2127 catalog/objectaddress.c:2184
-#: catalog/objectaddress.c:2239
+#: catalog/objectaddress.c:2089 catalog/objectaddress.c:2146
+#: catalog/objectaddress.c:2201
 #, c-format
 msgid "name or argument lists may not contain nulls"
 msgstr "las listas de nombres o argumentos no pueden contener nulls"
 
-#: catalog/objectaddress.c:2161
+#: catalog/objectaddress.c:2123
 #, c-format
 msgid "unsupported object type \"%s\""
 msgstr "tipo de objeto «%s» no soportado"
 
-#: catalog/objectaddress.c:2180 catalog/objectaddress.c:2197
-#: catalog/objectaddress.c:2262 catalog/objectaddress.c:2346
+#: catalog/objectaddress.c:2142 catalog/objectaddress.c:2159
+#: catalog/objectaddress.c:2224 catalog/objectaddress.c:2308
 #, c-format
 msgid "name list length must be exactly %d"
 msgstr "el largo de la lista de nombres debe ser exactamente %d"
 
-#: catalog/objectaddress.c:2201
+#: catalog/objectaddress.c:2163
 #, c-format
 msgid "large object OID may not be null"
 msgstr "el OID de objeto grande no puede ser null"
 
-#: catalog/objectaddress.c:2210 catalog/objectaddress.c:2280
-#: catalog/objectaddress.c:2287
+#: catalog/objectaddress.c:2172 catalog/objectaddress.c:2242
+#: catalog/objectaddress.c:2249
 #, c-format
 msgid "name list length must be at least %d"
 msgstr "el largo de la lista de nombres debe ser al menos %d"
 
-#: catalog/objectaddress.c:2273 catalog/objectaddress.c:2294
+#: catalog/objectaddress.c:2235 catalog/objectaddress.c:2256
 #, c-format
 msgid "argument list length must be exactly %d"
 msgstr "el largo de la lista de argumentos debe ser exactamente %d"
 
-#: catalog/objectaddress.c:2508 libpq/be-fsstubs.c:329
+#: catalog/objectaddress.c:2470 libpq/be-fsstubs.c:329
 #, c-format
 msgid "must be owner of large object %u"
 msgstr "debe ser dueño del objeto grande %u"
 
-#: catalog/objectaddress.c:2523 commands/functioncmds.c:1561
+#: catalog/objectaddress.c:2485 commands/functioncmds.c:1560
 #, c-format
 msgid "must be owner of type %s or type %s"
 msgstr "debe ser dueño del tipo %s o el tipo %s"
 
-#: catalog/objectaddress.c:2550 catalog/objectaddress.c:2559
-#: catalog/objectaddress.c:2565
+#: catalog/objectaddress.c:2512 catalog/objectaddress.c:2521
+#: catalog/objectaddress.c:2527
 #, c-format
 msgid "permission denied"
 msgstr "permiso denegado"
 
-#: catalog/objectaddress.c:2551 catalog/objectaddress.c:2560
+#: catalog/objectaddress.c:2513 catalog/objectaddress.c:2522
 #, c-format
 msgid "The current user must have the %s attribute."
-msgstr ""
+msgstr "El usuario actual debe tener el atributo %s."
 
-#: catalog/objectaddress.c:2566
+#: catalog/objectaddress.c:2528
 #, c-format
 msgid "The current user must have the %s option on role \"%s\"."
-msgstr ""
+msgstr "El usuario actual debe tener la opción %s en el rol «%s»."
 
-#: catalog/objectaddress.c:2580
+#: catalog/objectaddress.c:2542
 #, c-format
 msgid "must be superuser"
 msgstr "debe ser superusuario"
 
-#: catalog/objectaddress.c:2649
+#: catalog/objectaddress.c:2611
 #, c-format
 msgid "unrecognized object type \"%s\""
 msgstr "tipo de objeto «%s» no reconocido"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:2941
+#: catalog/objectaddress.c:2928
 #, c-format
 msgid "column %s of %s"
 msgstr "columna %s de %s"
 
-#: catalog/objectaddress.c:2956
+#: catalog/objectaddress.c:2943
 #, c-format
 msgid "function %s"
 msgstr "función %s"
 
-#: catalog/objectaddress.c:2969
+#: catalog/objectaddress.c:2956
 #, c-format
 msgid "type %s"
 msgstr "tipo %s"
 
-#: catalog/objectaddress.c:3006
+#: catalog/objectaddress.c:2993
 #, c-format
 msgid "cast from %s to %s"
 msgstr "conversión de %s a %s"
 
-#: catalog/objectaddress.c:3039
+#: catalog/objectaddress.c:3026
 #, c-format
 msgid "collation %s"
 msgstr "ordenamiento (collation) %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3070
+#: catalog/objectaddress.c:3057
 #, c-format
 msgid "constraint %s on %s"
 msgstr "restricción «%s» en %s"
 
-#: catalog/objectaddress.c:3076
+#: catalog/objectaddress.c:3063
 #, c-format
 msgid "constraint %s"
 msgstr "restricción %s"
 
-#: catalog/objectaddress.c:3108
+#: catalog/objectaddress.c:3095
 #, c-format
 msgid "conversion %s"
 msgstr "conversión %s"
 
 #. translator: %s is typically "column %s of table %s"
-#: catalog/objectaddress.c:3130
+#: catalog/objectaddress.c:3117
 #, c-format
 msgid "default value for %s"
 msgstr "valor por omisión para %s"
 
-#: catalog/objectaddress.c:3141
+#: catalog/objectaddress.c:3128
 #, c-format
 msgid "language %s"
 msgstr "lenguaje %s"
 
-#: catalog/objectaddress.c:3149
+#: catalog/objectaddress.c:3136
 #, c-format
 msgid "large object %u"
 msgstr "objeto grande %u"
 
-#: catalog/objectaddress.c:3162
+#: catalog/objectaddress.c:3149
 #, c-format
 msgid "operator %s"
 msgstr "operador %s"
 
-#: catalog/objectaddress.c:3199
+#: catalog/objectaddress.c:3186
 #, c-format
 msgid "operator class %s for access method %s"
 msgstr "clase de operadores «%s» para el método de acceso «%s»"
 
-#: catalog/objectaddress.c:3227
+#: catalog/objectaddress.c:3214
 #, c-format
 msgid "access method %s"
 msgstr "método de acceso %s"
@@ -5218,7 +5536,7 @@ msgstr "método de acceso %s"
 #. first two %s's are data type names, the third %s is the
 #. description of the operator family, and the last %s is the
 #. textual form of the operator with arguments.
-#: catalog/objectaddress.c:3276
+#: catalog/objectaddress.c:3269
 #, c-format
 msgid "operator %d (%s, %s) of %s: %s"
 msgstr "operador %d (%s, %s) de %s: %s"
@@ -5227,237 +5545,236 @@ msgstr "operador %d (%s, %s) de %s: %s"
 #. are data type names, the third %s is the description of the
 #. operator family, and the last %s is the textual form of the
 #. function with arguments.
-#: catalog/objectaddress.c:3333
+#: catalog/objectaddress.c:3334
 #, c-format
 msgid "function %d (%s, %s) of %s: %s"
 msgstr "función %d (%s, %s) de %s: %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3385
+#: catalog/objectaddress.c:3388
 #, c-format
 msgid "rule %s on %s"
 msgstr "regla %s en %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3431
+#: catalog/objectaddress.c:3434
 #, c-format
 msgid "trigger %s on %s"
-msgstr "disparador %s en %s"
+msgstr "“trigger” %s en %s"
 
-#: catalog/objectaddress.c:3451
+#: catalog/objectaddress.c:3454
 #, c-format
 msgid "schema %s"
 msgstr "esquema %s"
 
-#: catalog/objectaddress.c:3479
+#: catalog/objectaddress.c:3482
 #, c-format
 msgid "statistics object %s"
 msgstr "objeto de estadísticas %s"
 
-#: catalog/objectaddress.c:3510
+#: catalog/objectaddress.c:3513
 #, c-format
 msgid "text search parser %s"
 msgstr "analizador de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:3541
+#: catalog/objectaddress.c:3544
 #, c-format
 msgid "text search dictionary %s"
 msgstr "diccionario de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:3572
+#: catalog/objectaddress.c:3575
 #, c-format
 msgid "text search template %s"
 msgstr "plantilla de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:3603
+#: catalog/objectaddress.c:3606
 #, c-format
 msgid "text search configuration %s"
 msgstr "configuración de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:3616
+#: catalog/objectaddress.c:3619
 #, c-format
 msgid "role %s"
 msgstr "rol %s"
 
-#: catalog/objectaddress.c:3653 catalog/objectaddress.c:5505
-#, fuzzy, c-format
-#| msgid "removal of role \"%s\" failed: %s"
+#: catalog/objectaddress.c:3656 catalog/objectaddress.c:5505
+#, c-format
 msgid "membership of role %s in role %s"
-msgstr "falló la eliminación del rol «%s»: %s"
+msgstr "membresía del rol %s en el rol %s"
 
-#: catalog/objectaddress.c:3674
+#: catalog/objectaddress.c:3677
 #, c-format
 msgid "database %s"
 msgstr "base de datos %s"
 
-#: catalog/objectaddress.c:3690
+#: catalog/objectaddress.c:3693
 #, c-format
 msgid "tablespace %s"
 msgstr "tablespace %s"
 
-#: catalog/objectaddress.c:3701
+#: catalog/objectaddress.c:3704
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "conector de datos externos %s"
 
-#: catalog/objectaddress.c:3711
+#: catalog/objectaddress.c:3714
 #, c-format
 msgid "server %s"
 msgstr "servidor %s"
 
-#: catalog/objectaddress.c:3744
+#: catalog/objectaddress.c:3747
 #, c-format
 msgid "user mapping for %s on server %s"
 msgstr "mapeo para el usuario %s en el servidor %s"
 
-#: catalog/objectaddress.c:3796
+#: catalog/objectaddress.c:3799
 #, c-format
 msgid "default privileges on new relations belonging to role %s in schema %s"
 msgstr "privilegios por omisión en nuevas relaciones pertenecientes al rol %s en el esquema %s"
 
-#: catalog/objectaddress.c:3800
+#: catalog/objectaddress.c:3803
 #, c-format
 msgid "default privileges on new relations belonging to role %s"
 msgstr "privilegios por omisión en nuevas relaciones pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:3806
+#: catalog/objectaddress.c:3809
 #, c-format
 msgid "default privileges on new sequences belonging to role %s in schema %s"
 msgstr "privilegios por omisión en nuevas secuencias pertenecientes al rol %s en el esquema %s"
 
-#: catalog/objectaddress.c:3810
+#: catalog/objectaddress.c:3813
 #, c-format
 msgid "default privileges on new sequences belonging to role %s"
 msgstr "privilegios por omisión en nuevas secuencias pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:3816
+#: catalog/objectaddress.c:3819
 #, c-format
 msgid "default privileges on new functions belonging to role %s in schema %s"
 msgstr "privilegios por omisión en nuevas funciones pertenecientes al rol %s en el esquema %s"
 
-#: catalog/objectaddress.c:3820
+#: catalog/objectaddress.c:3823
 #, c-format
 msgid "default privileges on new functions belonging to role %s"
 msgstr "privilegios por omisión en nuevas funciones pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:3826
+#: catalog/objectaddress.c:3829
 #, c-format
 msgid "default privileges on new types belonging to role %s in schema %s"
 msgstr "privilegios por omisión en nuevos tipos pertenecientes al rol %s en el esquema %s"
 
-#: catalog/objectaddress.c:3830
+#: catalog/objectaddress.c:3833
 #, c-format
 msgid "default privileges on new types belonging to role %s"
 msgstr "privilegios por omisión en nuevos tipos pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:3836
+#: catalog/objectaddress.c:3839
 #, c-format
 msgid "default privileges on new schemas belonging to role %s"
 msgstr "privilegios por omisión en nuevos esquemas pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:3843
+#: catalog/objectaddress.c:3846
 #, c-format
 msgid "default privileges belonging to role %s in schema %s"
 msgstr "privilegios por omisión pertenecientes al rol %s en el esquema %s"
 
-#: catalog/objectaddress.c:3847
+#: catalog/objectaddress.c:3850
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "privilegios por omisión pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:3869
+#: catalog/objectaddress.c:3872
 #, c-format
 msgid "extension %s"
 msgstr "extensión %s"
 
-#: catalog/objectaddress.c:3886
+#: catalog/objectaddress.c:3889
 #, c-format
 msgid "event trigger %s"
-msgstr "disparador por eventos %s"
+msgstr "“trigger” por eventos %s"
 
-#: catalog/objectaddress.c:3910
+#: catalog/objectaddress.c:3913
 #, c-format
 msgid "parameter %s"
 msgstr "parámetro %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3953
+#: catalog/objectaddress.c:3956
 #, c-format
 msgid "policy %s on %s"
 msgstr "política %s en %s"
 
-#: catalog/objectaddress.c:3967
+#: catalog/objectaddress.c:3970
 #, c-format
 msgid "publication %s"
 msgstr "publicación %s"
 
-#: catalog/objectaddress.c:3980
+#: catalog/objectaddress.c:3983
 #, c-format
 msgid "publication of schema %s in publication %s"
 msgstr "publicación de esquema %s en la publicación %s"
 
 #. translator: first %s is, e.g., "table %s"
-#: catalog/objectaddress.c:4011
+#: catalog/objectaddress.c:4014
 #, c-format
 msgid "publication of %s in publication %s"
 msgstr "publicación de %s en la publicación %s"
 
-#: catalog/objectaddress.c:4024
+#: catalog/objectaddress.c:4027
 #, c-format
 msgid "subscription %s"
 msgstr "suscripción %s"
 
-#: catalog/objectaddress.c:4045
+#: catalog/objectaddress.c:4048
 #, c-format
 msgid "transform for %s language %s"
 msgstr "transformación para %s lenguaje %s"
 
-#: catalog/objectaddress.c:4116
+#: catalog/objectaddress.c:4117
 #, c-format
 msgid "table %s"
 msgstr "tabla %s"
 
-#: catalog/objectaddress.c:4121
+#: catalog/objectaddress.c:4122
 #, c-format
 msgid "index %s"
 msgstr "índice %s"
 
-#: catalog/objectaddress.c:4125
+#: catalog/objectaddress.c:4126
 #, c-format
 msgid "sequence %s"
 msgstr "secuencia %s"
 
-#: catalog/objectaddress.c:4129
+#: catalog/objectaddress.c:4130
 #, c-format
 msgid "toast table %s"
 msgstr "tabla toast %s"
 
-#: catalog/objectaddress.c:4133
+#: catalog/objectaddress.c:4134
 #, c-format
 msgid "view %s"
 msgstr "vista %s"
 
-#: catalog/objectaddress.c:4137
+#: catalog/objectaddress.c:4138
 #, c-format
 msgid "materialized view %s"
 msgstr "vista materializada %s"
 
-#: catalog/objectaddress.c:4141
+#: catalog/objectaddress.c:4142
 #, c-format
 msgid "composite type %s"
 msgstr "tipo compuesto %s"
 
-#: catalog/objectaddress.c:4145
+#: catalog/objectaddress.c:4146
 #, c-format
 msgid "foreign table %s"
 msgstr "tabla foránea %s"
 
-#: catalog/objectaddress.c:4150
+#: catalog/objectaddress.c:4151
 #, c-format
 msgid "relation %s"
 msgstr "relación %s"
 
-#: catalog/objectaddress.c:4191
+#: catalog/objectaddress.c:4192
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "familia de operadores %s para el método de acceso %s"
@@ -5499,7 +5816,7 @@ msgstr "no se puede omitir el valor inicial cuando la función de transición es
 msgid "return type of inverse transition function %s is not %s"
 msgstr "el tipo de retorno de la función inversa de transición %s no es %s"
 
-#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:3009
+#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:2991
 #, c-format
 msgid "strictness of aggregate's forward and inverse transition functions must match"
 msgstr "la opción «strict» de las funciones de transición directa e inversa deben coincidir exactamente en la función de agregación"
@@ -5514,7 +5831,7 @@ msgstr "la función final con argumentos extra no debe declararse STRICT"
 msgid "return type of combine function %s is not %s"
 msgstr "el tipo de retorno de la función «combine» %s no es %s"
 
-#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3903
+#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3902
 #, c-format
 msgid "combine function with transition type %s must not be declared STRICT"
 msgstr "la función «combine» con tipo de transición %s no debe declararse STRICT"
@@ -5529,12 +5846,12 @@ msgstr "el tipo de retorno de la función de serialización %s no es %s"
 msgid "return type of deserialization function %s is not %s"
 msgstr "el tipo de retorno de la función de deserialización %s no es %s"
 
-#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:191 catalog/pg_proc.c:225
+#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:189 catalog/pg_proc.c:223
 #, c-format
 msgid "cannot determine result data type"
 msgstr "no se puede determinar el tipo de dato del resultado"
 
-#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:204 catalog/pg_proc.c:233
+#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:202 catalog/pg_proc.c:231
 #, c-format
 msgid "unsafe use of pseudo-type \"internal\""
 msgstr "uso inseguro de pseudotipo «internal»"
@@ -5549,7 +5866,7 @@ msgstr "la implementación de la función de agregación en modo «moving» devu
 msgid "sort operator can only be specified for single-argument aggregates"
 msgstr "el operador de ordenamiento sólo puede ser especificado para funciones de agregación de un solo argumento"
 
-#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:386
+#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:384
 #, c-format
 msgid "cannot change routine kind"
 msgstr "no se puede cambiar el tipo de rutina"
@@ -5574,13 +5891,13 @@ msgstr "«%s» es una agregación de conjunto hipotético."
 msgid "cannot change number of direct arguments of an aggregate function"
 msgstr "no se puede cambiar cantidad de argumentos directos de una función de agregación"
 
-#: catalog/pg_aggregate.c:858 commands/functioncmds.c:691
-#: commands/typecmds.c:1975 commands/typecmds.c:2021 commands/typecmds.c:2073
-#: commands/typecmds.c:2110 commands/typecmds.c:2144 commands/typecmds.c:2178
-#: commands/typecmds.c:2212 commands/typecmds.c:2241 commands/typecmds.c:2328
-#: commands/typecmds.c:2370 parser/parse_func.c:417 parser/parse_func.c:448
+#: catalog/pg_aggregate.c:858 commands/functioncmds.c:686
+#: commands/typecmds.c:1985 commands/typecmds.c:2031 commands/typecmds.c:2083
+#: commands/typecmds.c:2120 commands/typecmds.c:2154 commands/typecmds.c:2188
+#: commands/typecmds.c:2222 commands/typecmds.c:2251 commands/typecmds.c:2338
+#: commands/typecmds.c:2380 parser/parse_func.c:417 parser/parse_func.c:448
 #: parser/parse_func.c:475 parser/parse_func.c:489 parser/parse_func.c:611
-#: parser/parse_func.c:631 parser/parse_func.c:2171 parser/parse_func.c:2444
+#: parser/parse_func.c:631 parser/parse_func.c:2172 parser/parse_func.c:2445
 #, c-format
 msgid "function %s does not exist"
 msgstr "no existe la función %s"
@@ -5655,133 +5972,133 @@ msgstr "Esta operación no está soportada en tablas particionadas."
 msgid "This operation is not supported for partitioned indexes."
 msgstr "Esta operación no está soportada en índices particionados."
 
-#: catalog/pg_collation.c:102 catalog/pg_collation.c:160
+#: catalog/pg_collation.c:101 catalog/pg_collation.c:159
 #, c-format
 msgid "collation \"%s\" already exists, skipping"
 msgstr "el ordenamiento «%s» ya existe, omitiendo"
 
-#: catalog/pg_collation.c:104
+#: catalog/pg_collation.c:103
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists, skipping"
 msgstr "el ordenamiento «%s» para la codificación «%s» ya existe, omitiendo"
 
-#: catalog/pg_collation.c:112 catalog/pg_collation.c:167
+#: catalog/pg_collation.c:111 catalog/pg_collation.c:166
 #, c-format
 msgid "collation \"%s\" already exists"
 msgstr "el ordenamiento «%s» ya existe"
 
-#: catalog/pg_collation.c:114
+#: catalog/pg_collation.c:113
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists"
 msgstr "la codificación «%2$s» ya tiene un ordenamiento llamado «%1$s»"
 
-#: catalog/pg_constraint.c:690
+#: catalog/pg_constraint.c:732
 #, c-format
 msgid "constraint \"%s\" for domain %s already exists"
 msgstr "el dominio %2$s ya contiene una restricción llamada «%1$s»"
 
-#: catalog/pg_constraint.c:890 catalog/pg_constraint.c:983
+#: catalog/pg_constraint.c:932 catalog/pg_constraint.c:1025
 #, c-format
 msgid "constraint \"%s\" for table \"%s\" does not exist"
 msgstr "no existe la restricción «%s» para la tabla «%s»"
 
-#: catalog/pg_constraint.c:1083
+#: catalog/pg_constraint.c:1125
 #, c-format
 msgid "constraint \"%s\" for domain %s does not exist"
 msgstr "no existe la restricción «%s» para el dominio %s"
 
-#: catalog/pg_conversion.c:67
+#: catalog/pg_conversion.c:64
 #, c-format
 msgid "conversion \"%s\" already exists"
 msgstr "ya existe la conversión «%s»"
 
-#: catalog/pg_conversion.c:80
+#: catalog/pg_conversion.c:77
 #, c-format
 msgid "default conversion for %s to %s already exists"
 msgstr "ya existe una conversión por omisión desde %s a %s"
 
-#: catalog/pg_depend.c:222 commands/extension.c:3344
+#: catalog/pg_depend.c:224 commands/extension.c:3397
 #, c-format
 msgid "%s is already a member of extension \"%s\""
 msgstr "«%s» ya es un miembro de la extensión «%s»"
 
-#: catalog/pg_depend.c:229 catalog/pg_depend.c:280 commands/extension.c:3384
+#: catalog/pg_depend.c:231 catalog/pg_depend.c:282 commands/extension.c:3437
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s no es un miembro de la extensión «%s»"
 
-#: catalog/pg_depend.c:232
+#: catalog/pg_depend.c:234
 #, c-format
 msgid "An extension is not allowed to replace an object that it does not own."
 msgstr "A una extensión no se le permite reemplazar un objeto que no posee."
 
-#: catalog/pg_depend.c:283
+#: catalog/pg_depend.c:285
 #, c-format
 msgid "An extension may only use CREATE ... IF NOT EXISTS to skip object creation if the conflicting object is one that it already owns."
 msgstr "Una extensión sólo puede usar CREATE ... IF NOT EXISTS para omitir la creación de un objeto si el objeto en conflicto es uno de cual ya es dueña."
 
-#: catalog/pg_depend.c:646
+#: catalog/pg_depend.c:648
 #, c-format
 msgid "cannot remove dependency on %s because it is a system object"
 msgstr "no se puede eliminar dependencia a %s porque es un objeto requerido por el sistema"
 
-#: catalog/pg_enum.c:137 catalog/pg_enum.c:259 catalog/pg_enum.c:554
+#: catalog/pg_enum.c:175 catalog/pg_enum.c:314 catalog/pg_enum.c:624
 #, c-format
 msgid "invalid enum label \"%s\""
 msgstr "la etiqueta enum «%s» no es válida"
 
-#: catalog/pg_enum.c:138 catalog/pg_enum.c:260 catalog/pg_enum.c:555
+#: catalog/pg_enum.c:176 catalog/pg_enum.c:315 catalog/pg_enum.c:625
 #, c-format
 msgid "Labels must be %d bytes or less."
 msgstr "Las etiquetas deben ser de %d bytes o menos."
 
-#: catalog/pg_enum.c:288
+#: catalog/pg_enum.c:343
 #, c-format
 msgid "enum label \"%s\" already exists, skipping"
 msgstr "la etiqueta de enum «%s» ya existe, omitiendo"
 
-#: catalog/pg_enum.c:295 catalog/pg_enum.c:598
+#: catalog/pg_enum.c:350 catalog/pg_enum.c:668
 #, c-format
 msgid "enum label \"%s\" already exists"
 msgstr "la etiqueta de enum «%s» ya existe"
 
-#: catalog/pg_enum.c:350 catalog/pg_enum.c:593
+#: catalog/pg_enum.c:405 catalog/pg_enum.c:663
 #, c-format
 msgid "\"%s\" is not an existing enum label"
 msgstr "«%s» no es una etiqueta de enum existente"
 
-#: catalog/pg_enum.c:408
+#: catalog/pg_enum.c:463
 #, c-format
 msgid "pg_enum OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria"
 
-#: catalog/pg_enum.c:418
+#: catalog/pg_enum.c:473
 #, c-format
 msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade"
 msgstr "ALTER TYPE ADD BEFORE/AFTER es incompatible con la actualización binaria"
 
-#: catalog/pg_inherits.c:593
+#: catalog/pg_inherits.c:592
 #, c-format
 msgid "cannot detach partition \"%s\""
 msgstr "no se puede desprender la partición «%s»"
 
-#: catalog/pg_inherits.c:595
+#: catalog/pg_inherits.c:594
 #, c-format
 msgid "The partition is being detached concurrently or has an unfinished detach."
 msgstr "La partición está siendo desprendida de forma concurrente o tiene un desprendimiento sin terminar."
 
-#: catalog/pg_inherits.c:596 commands/tablecmds.c:4583
-#: commands/tablecmds.c:15464
+#: catalog/pg_inherits.c:595 commands/tablecmds.c:4800
+#: commands/tablecmds.c:16153
 #, c-format
 msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation."
 msgstr "Utilice ALTER TABLE ... DETACH PARTITION ... FINALIZE para completar la operación de desprendimiento pendiente."
 
-#: catalog/pg_inherits.c:600
+#: catalog/pg_inherits.c:599
 #, c-format
 msgid "cannot complete detaching partition \"%s\""
 msgstr "no se puede completar el desprendimiento de la partición «%s»"
 
-#: catalog/pg_inherits.c:602
+#: catalog/pg_inherits.c:601
 #, c-format
 msgid "There's no pending concurrent detach."
 msgstr "No hay desprendimientos concurrentes pendientes."
@@ -5791,116 +6108,129 @@ msgstr "No hay desprendimientos concurrentes pendientes."
 msgid "schema \"%s\" already exists"
 msgstr "ya existe el esquema «%s»"
 
-#: catalog/pg_operator.c:219 catalog/pg_operator.c:361
+#: catalog/pg_operator.c:213 catalog/pg_operator.c:355
 #, c-format
 msgid "\"%s\" is not a valid operator name"
 msgstr "«%s» no es un nombre válido de operador"
 
-#: catalog/pg_operator.c:370
+#: catalog/pg_operator.c:379
+#, c-format
+msgid "operator %s already exists"
+msgstr "ya existe un operador %s"
+
+#: catalog/pg_operator.c:445 commands/operatorcmds.c:600
+#, c-format
+msgid "operator cannot be its own negator"
+msgstr "un operador no puede ser su propio negador"
+
+#: catalog/pg_operator.c:572
 #, c-format
 msgid "only binary operators can have commutators"
 msgstr "sólo los operadores binarios pueden tener conmutadores"
 
-#: catalog/pg_operator.c:374 commands/operatorcmds.c:509
+#: catalog/pg_operator.c:576
 #, c-format
 msgid "only binary operators can have join selectivity"
 msgstr "sólo los operadores binarios pueden tener selectividad de join"
 
-#: catalog/pg_operator.c:378
+#: catalog/pg_operator.c:580
 #, c-format
 msgid "only binary operators can merge join"
 msgstr "sólo los operadores binarios pueden ser usados en merge join"
 
-#: catalog/pg_operator.c:382
+#: catalog/pg_operator.c:584
 #, c-format
 msgid "only binary operators can hash"
 msgstr "sólo los operadores binarios pueden ser usados en hash"
 
-#: catalog/pg_operator.c:393
+#: catalog/pg_operator.c:593
 #, c-format
 msgid "only boolean operators can have negators"
 msgstr "sólo los operadores booleanos pueden tener negadores"
 
-#: catalog/pg_operator.c:397 commands/operatorcmds.c:517
+#: catalog/pg_operator.c:597
 #, c-format
 msgid "only boolean operators can have restriction selectivity"
 msgstr "sólo los operadores booleanos pueden tener selectividad de restricción"
 
-#: catalog/pg_operator.c:401 commands/operatorcmds.c:521
+#: catalog/pg_operator.c:601
 #, c-format
 msgid "only boolean operators can have join selectivity"
 msgstr "sólo los operadores booleanos pueden tener selectividad de join"
 
-#: catalog/pg_operator.c:405
+#: catalog/pg_operator.c:605
 #, c-format
 msgid "only boolean operators can merge join"
 msgstr "sólo los operadores booleanos pueden ser usados en merge join"
 
-#: catalog/pg_operator.c:409
+#: catalog/pg_operator.c:609
 #, c-format
 msgid "only boolean operators can hash"
 msgstr "sólo los operadores booleanos pueden ser usados en hash"
 
-#: catalog/pg_operator.c:421
+#: catalog/pg_operator.c:739
 #, c-format
-msgid "operator %s already exists"
-msgstr "ya existe un operador %s"
+msgid "commutator operator %s is already the commutator of operator %s"
+msgstr "el operator de conmutación %s ya es el conmutador del operador %s"
 
-#: catalog/pg_operator.c:621
+#: catalog/pg_operator.c:744
 #, c-format
-msgid "operator cannot be its own negator or sort operator"
-msgstr "un operador no puede ser su propio negador u operador de ordenamiento"
+msgid "commutator operator %s is already the commutator of operator %u"
+msgstr "el operator de conmutación %s ya es el conmutador del operador %u"
 
-#: catalog/pg_parameter_acl.c:53
-#, fuzzy, c-format
-#| msgid "parameter ACL with OID %u does not exist"
-msgid "parameter ACL \"%s\" does not exist"
-msgstr "no existe el ACL de parámetro con OID %u"
+#: catalog/pg_operator.c:807
+#, c-format
+msgid "negator operator %s is already the negator of operator %s"
+msgstr "el operator de negación %s ya es el negador del operador %s"
 
-#: catalog/pg_parameter_acl.c:88
-#, fuzzy, c-format
-#| msgid "invalid type name \"%s\""
-msgid "invalid parameter name \"%s\""
-msgstr "el nombre de tipo «%s» no es válido"
+#: catalog/pg_operator.c:812
+#, c-format
+msgid "negator operator %s is already the negator of operator %u"
+msgstr "el operator de negación %s ya es el negador del operador %u"
+
+#: catalog/pg_parameter_acl.c:50
+#, c-format
+msgid "parameter ACL \"%s\" does not exist"
+msgstr "no existe el ACL de parámetro «%s»"
 
-#: catalog/pg_proc.c:132 parser/parse_func.c:2233
+#: catalog/pg_proc.c:130 parser/parse_func.c:2234
 #, c-format
 msgid "functions cannot have more than %d argument"
 msgid_plural "functions cannot have more than %d arguments"
 msgstr[0] "las funciones no pueden tener más de %d argumento"
 msgstr[1] "las funciones no pueden tener más de %d argumentos"
 
-#: catalog/pg_proc.c:376
+#: catalog/pg_proc.c:374
 #, c-format
 msgid "function \"%s\" already exists with same argument types"
 msgstr "ya existe una función «%s» con los mismos argumentos"
 
-#: catalog/pg_proc.c:388
+#: catalog/pg_proc.c:386
 #, c-format
 msgid "\"%s\" is an aggregate function."
 msgstr "«%s» es una función de agregación."
 
-#: catalog/pg_proc.c:390
+#: catalog/pg_proc.c:388
 #, c-format
 msgid "\"%s\" is a function."
 msgstr "«%s» es una función de agregación."
 
-#: catalog/pg_proc.c:392
+#: catalog/pg_proc.c:390
 #, c-format
 msgid "\"%s\" is a procedure."
 msgstr "«%s» es un índice parcial."
 
-#: catalog/pg_proc.c:394
+#: catalog/pg_proc.c:392
 #, c-format
 msgid "\"%s\" is a window function."
 msgstr "«%s» es una función de ventana deslizante."
 
-#: catalog/pg_proc.c:414
+#: catalog/pg_proc.c:412
 #, c-format
 msgid "cannot change whether a procedure has output parameters"
 msgstr "no se puede cambiar que un procedimiento tenga parámetros de salida"
 
-#: catalog/pg_proc.c:415 catalog/pg_proc.c:445
+#: catalog/pg_proc.c:413 catalog/pg_proc.c:443
 #, c-format
 msgid "cannot change return type of existing function"
 msgstr "no se puede cambiar el tipo de retorno de una función existente"
@@ -5909,120 +6239,114 @@ msgstr "no se puede cambiar el tipo de retorno de una función existente"
 #. AGGREGATE
 #.
 #. translator: first %s is DROP FUNCTION or DROP PROCEDURE
-#: catalog/pg_proc.c:421 catalog/pg_proc.c:448 catalog/pg_proc.c:493
-#: catalog/pg_proc.c:519 catalog/pg_proc.c:543
+#: catalog/pg_proc.c:419 catalog/pg_proc.c:446 catalog/pg_proc.c:491
+#: catalog/pg_proc.c:517 catalog/pg_proc.c:541
 #, c-format
 msgid "Use %s %s first."
 msgstr "Use %s %s primero."
 
-#: catalog/pg_proc.c:446
+#: catalog/pg_proc.c:444
 #, c-format
 msgid "Row type defined by OUT parameters is different."
 msgstr "Tipo de registro definido por parámetros OUT es diferente."
 
-#: catalog/pg_proc.c:490
+#: catalog/pg_proc.c:488
 #, c-format
 msgid "cannot change name of input parameter \"%s\""
 msgstr "no se puede cambiar el nombre del parámetro de entrada «%s»"
 
-#: catalog/pg_proc.c:517
+#: catalog/pg_proc.c:515
 #, c-format
 msgid "cannot remove parameter defaults from existing function"
 msgstr "no se puede eliminar el valor por omisión de funciones existentes"
 
-#: catalog/pg_proc.c:541
+#: catalog/pg_proc.c:539
 #, c-format
 msgid "cannot change data type of existing parameter default value"
 msgstr "no se puede cambiar el tipo de dato del valor por omisión de un parámetro"
 
-#: catalog/pg_proc.c:752
+#: catalog/pg_proc.c:750
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "no hay ninguna función interna llamada «%s»"
 
-#: catalog/pg_proc.c:845
+#: catalog/pg_proc.c:843
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "las funciones SQL no pueden retornar el tipo %s"
 
-#: catalog/pg_proc.c:860
+#: catalog/pg_proc.c:858
 #, c-format
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "las funciones SQL no pueden tener argumentos de tipo %s"
 
-#: catalog/pg_proc.c:987 executor/functions.c:1466
+#: catalog/pg_proc.c:986 executor/functions.c:1468
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "función SQL «%s»"
 
-#: catalog/pg_publication.c:71 catalog/pg_publication.c:79
-#: catalog/pg_publication.c:87 catalog/pg_publication.c:93
+#: catalog/pg_publication.c:66 catalog/pg_publication.c:74
+#: catalog/pg_publication.c:82 catalog/pg_publication.c:88
 #, c-format
 msgid "cannot add relation \"%s\" to publication"
 msgstr "no se puede agregar la relación «%s» a la publicación"
 
-#: catalog/pg_publication.c:81
+#: catalog/pg_publication.c:76
 #, c-format
 msgid "This operation is not supported for system tables."
 msgstr "Esta operación no está soportada en tablas de sistema."
 
-#: catalog/pg_publication.c:89
+#: catalog/pg_publication.c:84
 #, c-format
 msgid "This operation is not supported for temporary tables."
 msgstr "Esta operación no está soportada en tablas temporales."
 
-#: catalog/pg_publication.c:95
+#: catalog/pg_publication.c:90
 #, c-format
 msgid "This operation is not supported for unlogged tables."
 msgstr "Esta característica no está soportada en tablas «unlogged»."
 
-#: catalog/pg_publication.c:109 catalog/pg_publication.c:117
+#: catalog/pg_publication.c:104 catalog/pg_publication.c:112
 #, c-format
 msgid "cannot add schema \"%s\" to publication"
 msgstr "no se puede agregar el esquema «%s» a la partición"
 
-#: catalog/pg_publication.c:111
-#, fuzzy, c-format
-#| msgid "This operation is not supported for system tables."
+#: catalog/pg_publication.c:106
+#, c-format
 msgid "This operation is not supported for system schemas."
-msgstr "Esta operación no está soportada en tablas de sistema."
+msgstr "Esta operación no está soportada en esquemas de sistema."
 
-#: catalog/pg_publication.c:119
-#, fuzzy, c-format
-#| msgid "Unlogged relations cannot be replicated."
+#: catalog/pg_publication.c:114
+#, c-format
 msgid "Temporary schemas cannot be replicated."
-msgstr "Las tablas «unlogged» no pueden replicarse."
+msgstr "Los esquemas temporales no pueden replicarse."
 
-#: catalog/pg_publication.c:397
+#: catalog/pg_publication.c:392
 #, c-format
 msgid "relation \"%s\" is already member of publication \"%s\""
 msgstr "la relación «%s» ya es un miembro de la publicación «%s»"
 
-#: catalog/pg_publication.c:539
-#, fuzzy, c-format
-#| msgid "cannot use system column \"%s\" in partition key"
+#: catalog/pg_publication.c:534
+#, c-format
 msgid "cannot use system column \"%s\" in publication column list"
-msgstr "no se puede usar la columna de sistema «%s» en llave de particionamiento"
+msgstr "no se puede usar la columna de sistema «%s» en lista de columnas de publicación"
 
-#: catalog/pg_publication.c:545
-#, fuzzy, c-format
-#| msgid "cannot use generated column in partition key"
+#: catalog/pg_publication.c:540
+#, c-format
 msgid "cannot use generated column \"%s\" in publication column list"
-msgstr "no se puede usar una columna generada en llave de particionamiento"
+msgstr "no se puede usar la columna generada «%s» en lista de columnas de publicación"
 
-#: catalog/pg_publication.c:551
-#, fuzzy, c-format
-#| msgid "publication of %s in publication %s"
+#: catalog/pg_publication.c:546
+#, c-format
 msgid "duplicate column \"%s\" in publication column list"
-msgstr "publicación de %s en la publicación %s"
+msgstr "columna «%s» duplicada en lista de columnas de publicación"
 
-#: catalog/pg_publication.c:641
-#, fuzzy, c-format
-#| msgid "relation \"%s\" is already member of publication \"%s\""
+#: catalog/pg_publication.c:636
+#, c-format
 msgid "schema \"%s\" is already member of publication \"%s\""
-msgstr "la relación «%s» ya es un miembro de la publicación «%s»"
+msgstr "el esquema «%s» ya es miembro de la publicación «%s»"
 
-#: catalog/pg_shdepend.c:830
+#: catalog/pg_shdepend.c:875
 #, c-format
 msgid ""
 "\n"
@@ -6037,65 +6361,70 @@ msgstr[1] ""
 "\n"
 "y objetos en otras %d bases de datos (vea el registro del servidor para obtener la lista)"
 
-#: catalog/pg_shdepend.c:1177
+#: catalog/pg_shdepend.c:1222
 #, c-format
 msgid "role %u was concurrently dropped"
 msgstr "el rol %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1189
+#: catalog/pg_shdepend.c:1234
 #, c-format
 msgid "tablespace %u was concurrently dropped"
 msgstr "el tablespace %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1203
+#: catalog/pg_shdepend.c:1248
 #, c-format
 msgid "database %u was concurrently dropped"
 msgstr "la base de datos %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1254
+#: catalog/pg_shdepend.c:1299
 #, c-format
 msgid "owner of %s"
 msgstr "dueño de %s"
 
-#: catalog/pg_shdepend.c:1256
+#: catalog/pg_shdepend.c:1301
 #, c-format
 msgid "privileges for %s"
 msgstr "privilegios para %s"
 
-#: catalog/pg_shdepend.c:1258
+#: catalog/pg_shdepend.c:1303
+#, c-format
+msgid "initial privileges for %s"
+msgstr "privilegios iniciales para %s"
+
+#: catalog/pg_shdepend.c:1305
 #, c-format
 msgid "target of %s"
 msgstr "destino de %s"
 
-#: catalog/pg_shdepend.c:1260
+#: catalog/pg_shdepend.c:1307
 #, c-format
 msgid "tablespace for %s"
 msgstr "tablespace para %s"
 
 #. translator: %s will always be "database %s"
-#: catalog/pg_shdepend.c:1268
+#: catalog/pg_shdepend.c:1315
 #, c-format
 msgid "%d object in %s"
 msgid_plural "%d objects in %s"
 msgstr[0] "%d objeto en %s"
 msgstr[1] "%d objetos en %s"
 
-#: catalog/pg_shdepend.c:1332
+#: catalog/pg_shdepend.c:1379
 #, c-format
 msgid "cannot drop objects owned by %s because they are required by the database system"
 msgstr "no se puede eliminar objetos de propiedad de %s porque son requeridos por el sistema"
 
-#: catalog/pg_shdepend.c:1498
+#: catalog/pg_shdepend.c:1560
 #, c-format
 msgid "cannot reassign ownership of objects owned by %s because they are required by the database system"
 msgstr "no se puede reasignar la propiedad de objetos de %s porque son requeridos por el sistema"
 
-#: catalog/pg_subscription.c:424
+#: catalog/pg_subscription.c:438
 #, c-format
 msgid "could not drop relation mapping for subscription \"%s\""
 msgstr "no se pudo eliminar mapeo de relación para suscripción «%s»"
 
-#: catalog/pg_subscription.c:426
+#: catalog/pg_subscription.c:440
 #, c-format
 msgid "Table synchronization for relation \"%s\" is in progress and is in state \"%c\"."
 msgstr "La sincronización de tabla para la relación «%s» está en progreso y su estado es «%c»."
@@ -6103,227 +6432,227 @@ msgstr "La sincronización de tabla para la relación «%s» está en progreso y
 #. translator: first %s is a SQL ALTER command and second %s is a
 #. SQL DROP command
 #.
-#: catalog/pg_subscription.c:433
+#: catalog/pg_subscription.c:447
 #, c-format
 msgid "Use %s to enable subscription if not already enabled or use %s to drop the subscription."
 msgstr "Utilice %s para activar la suscripción si aún no está activada, o utilice %s para eliminar la suscripción."
 
-#: catalog/pg_type.c:134 catalog/pg_type.c:474
+#: catalog/pg_type.c:133 catalog/pg_type.c:474
 #, c-format
 msgid "pg_type OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de pg_type no se definió en modo de actualización binaria"
 
-#: catalog/pg_type.c:254
+#: catalog/pg_type.c:253
 #, c-format
 msgid "invalid type internal size %d"
 msgstr "el tamaño interno de tipo %d no es válido"
 
-#: catalog/pg_type.c:270 catalog/pg_type.c:278 catalog/pg_type.c:286
-#: catalog/pg_type.c:295
+#: catalog/pg_type.c:269 catalog/pg_type.c:277 catalog/pg_type.c:285
+#: catalog/pg_type.c:294
 #, c-format
 msgid "alignment \"%c\" is invalid for passed-by-value type of size %d"
 msgstr "el alineamiento «%c» no es válido para un tipo pasado por valor de tamaño %d"
 
-#: catalog/pg_type.c:302
+#: catalog/pg_type.c:301
 #, c-format
 msgid "internal size %d is invalid for passed-by-value type"
 msgstr "el tamaño interno %d no es válido para un tipo pasado por valor"
 
-#: catalog/pg_type.c:312 catalog/pg_type.c:318
+#: catalog/pg_type.c:311 catalog/pg_type.c:317
 #, c-format
 msgid "alignment \"%c\" is invalid for variable-length type"
 msgstr "el alineamiento «%c» no es válido para un tipo de largo variable"
 
-#: catalog/pg_type.c:326 commands/typecmds.c:4140
+#: catalog/pg_type.c:325 commands/typecmds.c:4363
 #, c-format
 msgid "fixed-size types must have storage PLAIN"
 msgstr "los tipos de tamaño fijo deben tener almacenamiento PLAIN"
 
-#: catalog/pg_type.c:955
+#: catalog/pg_type.c:978
 #, c-format
 msgid "Failed while creating a multirange type for type \"%s\"."
 msgstr "Falla al crear un tipo de multirango para el tipo «%s»."
 
-#: catalog/pg_type.c:956
+#: catalog/pg_type.c:979
 #, c-format
 msgid "You can manually specify a multirange type name using the \"multirange_type_name\" attribute."
 msgstr "Puede especificar manualmente un nombre para el tipo de multirango usando el atributo «multirange_type_name»."
 
-#: catalog/storage.c:505 storage/buffer/bufmgr.c:1145
+#: catalog/storage.c:533 storage/buffer/bufmgr.c:1540
 #, c-format
 msgid "invalid page in block %u of relation %s"
 msgstr "la página no es válida en el bloque %u de la relación %s"
 
-#: commands/aggregatecmds.c:171
+#: commands/aggregatecmds.c:167
 #, c-format
 msgid "only ordered-set aggregates can be hypothetical"
 msgstr "sólo las funciones de agregación de conjuntos ordenados pueden ser hipotéticas"
 
-#: commands/aggregatecmds.c:196
+#: commands/aggregatecmds.c:192
 #, c-format
 msgid "aggregate attribute \"%s\" not recognized"
 msgstr "el atributo de la función de agregación «%s» no es reconocido"
 
-#: commands/aggregatecmds.c:206
+#: commands/aggregatecmds.c:202
 #, c-format
 msgid "aggregate stype must be specified"
 msgstr "debe especificarse el tipo de transición (stype) de la función de agregación"
 
-#: commands/aggregatecmds.c:210
+#: commands/aggregatecmds.c:206
 #, c-format
 msgid "aggregate sfunc must be specified"
 msgstr "debe especificarse la función de transición (sfunc) de la función de agregación"
 
-#: commands/aggregatecmds.c:222
+#: commands/aggregatecmds.c:218
 #, c-format
 msgid "aggregate msfunc must be specified when mstype is specified"
 msgstr "debe especificarse la función de transición msfunc cuando se especifica mstype"
 
-#: commands/aggregatecmds.c:226
+#: commands/aggregatecmds.c:222
 #, c-format
 msgid "aggregate minvfunc must be specified when mstype is specified"
 msgstr "debe especificarse la función de transición minvfunc cuando se especifica mstype"
 
-#: commands/aggregatecmds.c:233
+#: commands/aggregatecmds.c:229
 #, c-format
 msgid "aggregate msfunc must not be specified without mstype"
 msgstr "no debe especificarse msfunc sin mstype"
 
-#: commands/aggregatecmds.c:237
+#: commands/aggregatecmds.c:233
 #, c-format
 msgid "aggregate minvfunc must not be specified without mstype"
 msgstr "no debe especificarse minvfunc sin mstype"
 
-#: commands/aggregatecmds.c:241
+#: commands/aggregatecmds.c:237
 #, c-format
 msgid "aggregate mfinalfunc must not be specified without mstype"
 msgstr "no debe especificarse mfinalfunc sin mstype"
 
-#: commands/aggregatecmds.c:245
+#: commands/aggregatecmds.c:241
 #, c-format
 msgid "aggregate msspace must not be specified without mstype"
 msgstr "no debe especificarse msspace sin mstype"
 
-#: commands/aggregatecmds.c:249
+#: commands/aggregatecmds.c:245
 #, c-format
 msgid "aggregate minitcond must not be specified without mstype"
 msgstr "no debe especificarse minitcond sin mstype"
 
-#: commands/aggregatecmds.c:278
+#: commands/aggregatecmds.c:274
 #, c-format
 msgid "aggregate input type must be specified"
 msgstr "debe especificarse el tipo de entrada de la función de agregación"
 
-#: commands/aggregatecmds.c:308
+#: commands/aggregatecmds.c:304
 #, c-format
 msgid "basetype is redundant with aggregate input type specification"
 msgstr "el tipo base es redundante con el tipo de entrada en la función de agregación"
 
-#: commands/aggregatecmds.c:351 commands/aggregatecmds.c:392
+#: commands/aggregatecmds.c:347 commands/aggregatecmds.c:388
 #, c-format
 msgid "aggregate transition data type cannot be %s"
 msgstr "el tipo de transición de la función de agregación no puede ser %s"
 
-#: commands/aggregatecmds.c:363
+#: commands/aggregatecmds.c:359
 #, c-format
 msgid "serialization functions may be specified only when the aggregate transition data type is %s"
 msgstr "las funciones de serialización pueden especificarse sólo cuando el tipo de transición de la función de agregación es %s"
 
-#: commands/aggregatecmds.c:373
+#: commands/aggregatecmds.c:369
 #, c-format
 msgid "must specify both or neither of serialization and deserialization functions"
 msgstr "debe especificar ambas o ninguna de las funciones de serialización y deserialización"
 
-#: commands/aggregatecmds.c:438 commands/functioncmds.c:639
+#: commands/aggregatecmds.c:434 commands/functioncmds.c:634
 #, c-format
 msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE"
 msgstr "el parámetro «parallel» debe ser SAFE, RESTRICTED o UNSAFE"
 
-#: commands/aggregatecmds.c:494
+#: commands/aggregatecmds.c:490
 #, c-format
 msgid "parameter \"%s\" must be READ_ONLY, SHAREABLE, or READ_WRITE"
 msgstr "el parámetro «%s» debe ser READ_ONLY, SHAREABLE o READ_WRITE"
 
-#: commands/alter.c:86 commands/event_trigger.c:174
+#: commands/alter.c:83 commands/event_trigger.c:191
 #, c-format
 msgid "event trigger \"%s\" already exists"
-msgstr "el disparador por eventos «%s» ya existe"
+msgstr "el “trigger” por eventos «%s» ya existe"
 
-#: commands/alter.c:89 commands/foreigncmds.c:593
+#: commands/alter.c:86 commands/foreigncmds.c:593
 #, c-format
 msgid "foreign-data wrapper \"%s\" already exists"
 msgstr "el conector de datos externos «%s» ya existe"
 
-#: commands/alter.c:92 commands/foreigncmds.c:884
+#: commands/alter.c:89 commands/foreigncmds.c:884
 #, c-format
 msgid "server \"%s\" already exists"
 msgstr "el servidor «%s» ya existe"
 
-#: commands/alter.c:95 commands/proclang.c:133
+#: commands/alter.c:92 commands/proclang.c:131
 #, c-format
 msgid "language \"%s\" already exists"
 msgstr "ya existe el lenguaje «%s»"
 
-#: commands/alter.c:98 commands/publicationcmds.c:771
+#: commands/alter.c:95 commands/publicationcmds.c:764
 #, c-format
 msgid "publication \"%s\" already exists"
 msgstr "la publicación «%s» ya existe"
 
-#: commands/alter.c:101 commands/subscriptioncmds.c:657
+#: commands/alter.c:98 commands/subscriptioncmds.c:669
 #, c-format
 msgid "subscription \"%s\" already exists"
 msgstr "la suscripción «%s» ya existe"
 
-#: commands/alter.c:124
+#: commands/alter.c:121
 #, c-format
 msgid "conversion \"%s\" already exists in schema \"%s\""
 msgstr "ya existe una conversión llamada «%s» en el esquema «%s»"
 
-#: commands/alter.c:128
+#: commands/alter.c:125
 #, c-format
 msgid "statistics object \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un objeto de estadísticas llamado «%s» en el esquema «%s»"
 
-#: commands/alter.c:132
+#: commands/alter.c:129
 #, c-format
 msgid "text search parser \"%s\" already exists in schema \"%s\""
 msgstr "el analizador de búsqueda en texto «%s» ya existe en el esquema «%s»"
 
-#: commands/alter.c:136
+#: commands/alter.c:133
 #, c-format
 msgid "text search dictionary \"%s\" already exists in schema \"%s\""
 msgstr "el diccionario de búsqueda en texto «%s» ya existe en el esquema «%s»"
 
-#: commands/alter.c:140
+#: commands/alter.c:137
 #, c-format
 msgid "text search template \"%s\" already exists in schema \"%s\""
 msgstr "la plantilla de búsqueda en texto «%s» ya existe en el esquema «%s»"
 
-#: commands/alter.c:144
+#: commands/alter.c:141
 #, c-format
 msgid "text search configuration \"%s\" already exists in schema \"%s\""
 msgstr "la configuración de búsqueda en texto «%s» ya existe en el esquema «%s»"
 
-#: commands/alter.c:217
+#: commands/alter.c:214
 #, c-format
 msgid "must be superuser to rename %s"
 msgstr "debe ser superusuario para cambiar el nombre de «%s»"
 
-#: commands/alter.c:259 commands/subscriptioncmds.c:636
-#: commands/subscriptioncmds.c:1116 commands/subscriptioncmds.c:1198
-#: commands/subscriptioncmds.c:1830
+#: commands/alter.c:256 commands/subscriptioncmds.c:648
+#: commands/subscriptioncmds.c:1129 commands/subscriptioncmds.c:1212
+#: commands/subscriptioncmds.c:1918
 #, c-format
 msgid "password_required=false is superuser-only"
-msgstr ""
+msgstr "password_required=false es sólo para superusuario"
 
-#: commands/alter.c:260 commands/subscriptioncmds.c:637
-#: commands/subscriptioncmds.c:1117 commands/subscriptioncmds.c:1199
-#: commands/subscriptioncmds.c:1831
+#: commands/alter.c:257 commands/subscriptioncmds.c:649
+#: commands/subscriptioncmds.c:1130 commands/subscriptioncmds.c:1213
+#: commands/subscriptioncmds.c:1919
 #, c-format
 msgid "Subscriptions with the password_required option set to false may only be created or modified by the superuser."
-msgstr ""
+msgstr "Las suscripciones con la opción password_required puesta en falso sólo pueden ser creadas o modificadas por el superusuario."
 
-#: commands/alter.c:775
+#: commands/alter.c:735
 #, c-format
 msgid "must be superuser to set schema of %s"
 msgstr "debe ser superusuario para definir el esquema de %s"
@@ -6343,7 +6672,7 @@ msgstr "Debe ser superusuario para crear un método de acceso."
 msgid "access method \"%s\" already exists"
 msgstr "el método de acceso «%s» ya existe"
 
-#: commands/amcmds.c:154 commands/indexcmds.c:217 commands/indexcmds.c:840
+#: commands/amcmds.c:154 commands/indexcmds.c:224 commands/indexcmds.c:850
 #: commands/opclasscmds.c:375 commands/opclasscmds.c:833
 #, c-format
 msgid "access method \"%s\" does not exist"
@@ -6354,175 +6683,174 @@ msgstr "no existe el método de acceso «%s»"
 msgid "handler function is not specified"
 msgstr "no se ha especificado una función manejadora"
 
-#: commands/amcmds.c:264 commands/event_trigger.c:183
-#: commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:709
-#: parser/parse_clause.c:941
+#: commands/amcmds.c:264 commands/event_trigger.c:200
+#: commands/foreigncmds.c:489 commands/proclang.c:78 commands/trigger.c:702
+#: parser/parse_clause.c:943
 #, c-format
 msgid "function %s must return type %s"
 msgstr "la función %s debe retornar el tipo %s"
 
-#: commands/analyze.c:227
+#: commands/analyze.c:217
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze this foreign table"
 msgstr "omitiendo «%s»: no se puede analizar esta tabla foránea"
 
-#: commands/analyze.c:244
+#: commands/analyze.c:234
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables"
 msgstr "omitiendo «%s»: no se pueden analizar objetos que no son tablas, ni tablas especiales de sistema"
 
-#: commands/analyze.c:324
+#: commands/analyze.c:314
 #, c-format
 msgid "analyzing \"%s.%s\" inheritance tree"
 msgstr "analizando la jerarquía de herencia «%s.%s»"
 
-#: commands/analyze.c:329
+#: commands/analyze.c:319
 #, c-format
 msgid "analyzing \"%s.%s\""
 msgstr "analizando «%s.%s»"
 
-#: commands/analyze.c:394
+#: commands/analyze.c:385
 #, c-format
 msgid "column \"%s\" of relation \"%s\" appears more than once"
 msgstr "la columna «%s» aparece más de una vez en la relación «%s»"
 
-#: commands/analyze.c:786
+#: commands/analyze.c:785
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\"\n"
 msgstr "análisis automático de la tabla «%s.%s.%s»\n"
 
-#: commands/analyze.c:1333
+#: commands/analyze.c:1300
 #, c-format
 msgid "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead rows; %d rows in sample, %.0f estimated total rows"
 msgstr "«%s»: se procesaron %d de %u páginas, que contenían %.0f filas vigentes y %.0f filas no vigentes; %d filas en la muestra, %.0f total de filas estimadas"
 
-#: commands/analyze.c:1417
+#: commands/analyze.c:1384
 #, c-format
 msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables"
 msgstr "omitiendo el análisis del árbol de herencia «%s.%s» --- este árbol no contiene tablas hijas"
 
-#: commands/analyze.c:1515
+#: commands/analyze.c:1482
 #, c-format
 msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables"
 msgstr "omitiendo el análisis del árbol de herencia «%s.%s» --- este árbol no contiene tablas hijas analizables"
 
-#: commands/async.c:646
+#: commands/async.c:612
 #, c-format
 msgid "channel name cannot be empty"
 msgstr "el nombre de canal no puede ser vacío"
 
-#: commands/async.c:652
+#: commands/async.c:618
 #, c-format
 msgid "channel name too long"
 msgstr "el nombre de canal es demasiado largo"
 
-#: commands/async.c:657
+#: commands/async.c:623
 #, c-format
 msgid "payload string too long"
 msgstr "la cadena de carga es demasiado larga"
 
-#: commands/async.c:876
+#: commands/async.c:842
 #, c-format
 msgid "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY"
 msgstr "no se puede hacer PREPARE de una transacción que ha ejecutado LISTEN, UNLISTEN o NOTIFY"
 
-#: commands/async.c:980
+#: commands/async.c:946
 #, c-format
 msgid "too many notifications in the NOTIFY queue"
 msgstr "demasiadas notificaciones en la cola NOTIFY"
 
-#: commands/async.c:1602
+#: commands/async.c:1553
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "la cola NOTIFY está %.0f%% llena"
 
-#: commands/async.c:1604
+#: commands/async.c:1555
 #, c-format
 msgid "The server process with PID %d is among those with the oldest transactions."
 msgstr "El proceso servidor con PID %d está entre aquellos con transacciones más antiguas."
 
-#: commands/async.c:1607
+#: commands/async.c:1558
 #, c-format
 msgid "The NOTIFY queue cannot be emptied until that process ends its current transaction."
 msgstr "La cola NOTIFY no puede vaciarse hasta que ese proceso cierre su transacción actual."
 
-#: commands/cluster.c:131
+#: commands/cluster.c:128
 #, c-format
 msgid "unrecognized CLUSTER option \"%s\""
 msgstr "opción de CLUSTER «%s» no reconocida"
 
-#: commands/cluster.c:162 commands/cluster.c:435
+#: commands/cluster.c:159 commands/cluster.c:433
 #, c-format
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "no se pueden reordenar tablas temporales de otras sesiones"
 
-#: commands/cluster.c:180
+#: commands/cluster.c:177
 #, c-format
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "no hay un índice de ordenamiento definido para la tabla «%s»"
 
-#: commands/cluster.c:194 commands/tablecmds.c:14200 commands/tablecmds.c:16043
+#: commands/cluster.c:191 commands/tablecmds.c:14797 commands/tablecmds.c:16729
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "no existe el índice «%s» en la tabla «%s»"
 
-#: commands/cluster.c:424
+#: commands/cluster.c:422
 #, c-format
 msgid "cannot cluster a shared catalog"
 msgstr "no se puede reordenar un catálogo compartido"
 
-#: commands/cluster.c:439
+#: commands/cluster.c:437
 #, c-format
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "no se puede hacer vacuum a tablas temporales de otras sesiones"
 
-#: commands/cluster.c:515 commands/tablecmds.c:16053
+#: commands/cluster.c:513 commands/tablecmds.c:16739
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "«%s» no es un índice de la tabla «%s»"
 
-#: commands/cluster.c:523
+#: commands/cluster.c:521
 #, c-format
 msgid "cannot cluster on index \"%s\" because access method does not support clustering"
 msgstr "no se puede reordenar en índice «%s» porque el método de acceso no soporta reordenamiento"
 
-#: commands/cluster.c:535
+#: commands/cluster.c:533
 #, c-format
 msgid "cannot cluster on partial index \"%s\""
 msgstr "no se puede reordenar en índice parcial «%s»"
 
-#: commands/cluster.c:549
+#: commands/cluster.c:547
 #, c-format
 msgid "cannot cluster on invalid index \"%s\""
 msgstr "no se puede reordenar en el índice no válido «%s»"
 
-#: commands/cluster.c:573
+#: commands/cluster.c:571
 #, c-format
 msgid "cannot mark index clustered in partitioned table"
 msgstr "no se puede marcar un índice «clustered» en una tabla particionada"
 
-#: commands/cluster.c:952
+#: commands/cluster.c:956
 #, c-format
 msgid "clustering \"%s.%s\" using index scan on \"%s\""
 msgstr "reordenando «%s.%s» usando un recorrido de índice en «%s»"
 
-#: commands/cluster.c:958
+#: commands/cluster.c:962
 #, c-format
 msgid "clustering \"%s.%s\" using sequential scan and sort"
 msgstr "reordenando «%s.%s» usando un recorrido secuencial y ordenamiento"
 
-#: commands/cluster.c:963
+#: commands/cluster.c:967
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "haciendo vacuum a «%s.%s»"
 
-#: commands/cluster.c:990
-#, fuzzy, c-format
-#| msgid "index \"%s\" now contains %.0f row versions in %u pages"
+#: commands/cluster.c:994
+#, c-format
 msgid "\"%s.%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
-msgstr "el índice «%s» ahora contiene %.0f versiones de filas en %u páginas"
+msgstr "«%s.%s»: se encontraron %.0f versiones de filas eliminables, %.0f no eliminables en %u páginas"
 
-#: commands/cluster.c:995
+#: commands/cluster.c:999
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -6531,40 +6859,39 @@ msgstr ""
 "%.0f versiones muertas de filas no pueden ser eliminadas aún.\n"
 "%s."
 
-#: commands/cluster.c:1728
-#, fuzzy, c-format
-#| msgid "permission denied to set role \"%s\""
+#: commands/cluster.c:1744
+#, c-format
 msgid "permission denied to cluster \"%s\", skipping it"
-msgstr "se ha denegado el permiso para definir el rol «%s»"
+msgstr "permiso denegado a hacer cluster a «%s», ignorando"
 
-#: commands/collationcmds.c:112
+#: commands/collationcmds.c:110
 #, c-format
 msgid "collation attribute \"%s\" not recognized"
 msgstr "el atributo de ordenamiento (collation) «%s» no es reconocido"
 
-#: commands/collationcmds.c:125 commands/collationcmds.c:131
-#: commands/define.c:389 commands/tablecmds.c:7876
-#: replication/pgoutput/pgoutput.c:310 replication/pgoutput/pgoutput.c:333
-#: replication/pgoutput/pgoutput.c:347 replication/pgoutput/pgoutput.c:357
-#: replication/pgoutput/pgoutput.c:367 replication/pgoutput/pgoutput.c:377
-#: replication/pgoutput/pgoutput.c:387 replication/walsender.c:996
-#: replication/walsender.c:1018 replication/walsender.c:1028
+#: commands/collationcmds.c:123 commands/collationcmds.c:129
+#: commands/define.c:388 commands/tablecmds.c:8129
+#: replication/pgoutput/pgoutput.c:314 replication/pgoutput/pgoutput.c:337
+#: replication/pgoutput/pgoutput.c:351 replication/pgoutput/pgoutput.c:361
+#: replication/pgoutput/pgoutput.c:371 replication/pgoutput/pgoutput.c:381
+#: replication/pgoutput/pgoutput.c:393 replication/walsender.c:1146
+#: replication/walsender.c:1168 replication/walsender.c:1178
+#: replication/walsender.c:1187 replication/walsender.c:1426
 #, c-format
 msgid "conflicting or redundant options"
 msgstr "opciones contradictorias o redundantes"
 
-#: commands/collationcmds.c:126
+#: commands/collationcmds.c:124
 #, c-format
 msgid "LOCALE cannot be specified together with LC_COLLATE or LC_CTYPE."
 msgstr "LOCALE no puede configurarse junto con LC_COLLATE o LC_CTYPE."
 
-#: commands/collationcmds.c:132
-#, fuzzy, c-format
-#| msgid "option \"%s\" cannot be specified with other options"
+#: commands/collationcmds.c:130
+#, c-format
 msgid "FROM cannot be specified together with any other options."
-msgstr "la opción «%s» no puede ser especificada con otras opciones"
+msgstr "FROM no puede especificarse junto con otras opciones."
 
-#: commands/collationcmds.c:191
+#: commands/collationcmds.c:189
 #, c-format
 msgid "collation \"default\" cannot be copied"
 msgstr "el ordenamiento «default» no puede copiarse"
@@ -6574,435 +6901,364 @@ msgstr "el ordenamiento «default» no puede copiarse"
 msgid "unrecognized collation provider: %s"
 msgstr "proveedor de ordenamiento no reconocido: %s"
 
-#: commands/collationcmds.c:253
+#: commands/collationcmds.c:253 commands/collationcmds.c:264
+#: commands/collationcmds.c:270 commands/collationcmds.c:278
 #, c-format
-msgid "parameter \"lc_collate\" must be specified"
-msgstr "debe especificarse el parámetro «lc_collate»"
+msgid "parameter \"%s\" must be specified"
+msgstr "el parámetro «%s» debe especificarse"
 
-#: commands/collationcmds.c:258
+#: commands/collationcmds.c:293 commands/dbcommands.c:1134
 #, c-format
-msgid "parameter \"lc_ctype\" must be specified"
-msgstr "debe especificarse el parámetro «lc_ctype»"
-
-#: commands/collationcmds.c:265
-#, fuzzy, c-format
-#| msgid "parameter \"lc_collate\" must be specified"
-msgid "parameter \"locale\" must be specified"
-msgstr "debe especificarse el parámetro «lc_collate»"
-
-#: commands/collationcmds.c:279 commands/dbcommands.c:1074
-#, fuzzy, c-format
-#| msgid "Using language tag \"%s\" for ICU locale \"%s\".\n"
-msgid "using standard form \"%s\" for locale \"%s\""
-msgstr "Usando la marca de lenguaje «%s» para la configuración regional ICU «%s».\n"
+msgid "using standard form \"%s\" for ICU locale \"%s\""
+msgstr "usando la forma estándar «%s» para la configuración regional ICU «%s»"
 
-#: commands/collationcmds.c:298
+#: commands/collationcmds.c:312
 #, c-format
 msgid "nondeterministic collations not supported with this provider"
 msgstr "los ordenamientos no determinísticos no están soportados con este proveedor"
 
-#: commands/collationcmds.c:303 commands/dbcommands.c:1093
-#, fuzzy, c-format
-#| msgid "ICU locale cannot be specified unless locale provider is ICU"
+#: commands/collationcmds.c:317 commands/dbcommands.c:1087
+#, c-format
 msgid "ICU rules cannot be specified unless locale provider is ICU"
-msgstr "no se puede especificar una configuración regional ICU a menos que el proveedor de configuración regional sea ICU"
+msgstr "no se pueden especificar reglas ICU a menos que el proveedor de configuración regional sea ICU"
 
-#: commands/collationcmds.c:322
+#: commands/collationcmds.c:340
 #, c-format
 msgid "current database's encoding is not supported with this provider"
 msgstr "la codificación de la base de datos actual no está soportada con este proveedor"
 
-#: commands/collationcmds.c:382
+#: commands/collationcmds.c:409
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un ordenamiento (collation) llamado «%s» para la codificación «%s» en el esquema «%s»"
 
-#: commands/collationcmds.c:393
+#: commands/collationcmds.c:420
 #, c-format
 msgid "collation \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un ordenamiento llamado «%s» en el esquema «%s»"
 
-#: commands/collationcmds.c:418
-#, fuzzy, c-format
-#| msgid "change the definition of a collation"
+#: commands/collationcmds.c:445
+#, c-format
 msgid "cannot refresh version of default collation"
-msgstr "cambia la definición de un ordenamiento"
+msgstr "no se puede refrescar la versión del ordenamiento por omisión"
 
-#: commands/collationcmds.c:419
-#, fuzzy, c-format
-#| msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead."
-msgid "Use ALTER DATABASE ... REFRESH COLLATION VERSION instead."
-msgstr "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION en su lugar."
+#. translator: %s is an SQL command
+#. translator: %s is an SQL ALTER command
+#: commands/collationcmds.c:447 commands/subscriptioncmds.c:1376
+#: commands/tablecmds.c:7905 commands/tablecmds.c:7915
+#: commands/tablecmds.c:7917 commands/tablecmds.c:14499
+#: commands/tablecmds.c:17884 commands/tablecmds.c:17905
+#: commands/typecmds.c:3787 commands/typecmds.c:3872 commands/typecmds.c:4226
+#, c-format
+msgid "Use %s instead."
+msgstr "Use %s en su lugar."
 
-#: commands/collationcmds.c:446 commands/dbcommands.c:2447
+#: commands/collationcmds.c:480 commands/dbcommands.c:2566
 #, c-format
 msgid "changing version from %s to %s"
 msgstr "cambiando versión de %s a %s"
 
-#: commands/collationcmds.c:461 commands/dbcommands.c:2460
+#: commands/collationcmds.c:495 commands/dbcommands.c:2579
 #, c-format
 msgid "version has not changed"
 msgstr "la versión no ha cambiado"
 
-#: commands/collationcmds.c:494 commands/dbcommands.c:2626
+#: commands/collationcmds.c:528 commands/dbcommands.c:2749
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "no existe la base de datos con OID %u"
 
-#: commands/collationcmds.c:515
+#: commands/collationcmds.c:554
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "no existe el ordenamiento (collation) con OID %u"
 
-#: commands/collationcmds.c:803
+#: commands/collationcmds.c:848
 #, c-format
 msgid "must be superuser to import system collations"
 msgstr "debe ser superusuario para importar ordenamientos del sistema"
 
-#: commands/collationcmds.c:831 commands/copyfrom.c:1653 commands/copyto.c:656
-#: libpq/be-secure-common.c:59
-#, c-format
-msgid "could not execute command \"%s\": %m"
-msgstr "no se pudo ejecutar la orden «%s»: %m"
-
-#: commands/collationcmds.c:923 commands/collationcmds.c:1008
+#: commands/collationcmds.c:968 commands/collationcmds.c:1053
 #, c-format
 msgid "no usable system locales were found"
 msgstr "no se encontraron locales de sistema utilizables"
 
-#: commands/comment.c:61 commands/dbcommands.c:1594 commands/dbcommands.c:1791
-#: commands/dbcommands.c:1901 commands/dbcommands.c:2099
-#: commands/dbcommands.c:2337 commands/dbcommands.c:2420
-#: commands/dbcommands.c:2530 commands/dbcommands.c:3030
-#: utils/init/postinit.c:1025 utils/init/postinit.c:1130
-#: utils/init/postinit.c:1147
+#: commands/comment.c:61 commands/dbcommands.c:1665 commands/dbcommands.c:1883
+#: commands/dbcommands.c:1995 commands/dbcommands.c:2193
+#: commands/dbcommands.c:2433 commands/dbcommands.c:2526
+#: commands/dbcommands.c:2650 commands/dbcommands.c:3161
+#: utils/init/postinit.c:1034 utils/init/postinit.c:1098
+#: utils/init/postinit.c:1171
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "no existe la base de datos «%s»"
 
 #: commands/comment.c:101
-#, fuzzy, c-format
-#| msgid "cannot alter constraint \"%s\" on relation \"%s\""
+#, c-format
 msgid "cannot set comment on relation \"%s\""
-msgstr "no se puede modificar la restricción «%s» en la relación «%s»"
+msgstr "no se puede definir comentario en la relación «%s»"
 
-#: commands/constraint.c:63 utils/adt/ri_triggers.c:2028
+#: commands/constraint.c:61 utils/adt/ri_triggers.c:2019
 #, c-format
 msgid "function \"%s\" was not called by trigger manager"
 msgstr "la función «%s» no fue ejecutada por el manejador de triggers"
 
-#: commands/constraint.c:70 utils/adt/ri_triggers.c:2037
+#: commands/constraint.c:68 utils/adt/ri_triggers.c:2028
 #, c-format
 msgid "function \"%s\" must be fired AFTER ROW"
 msgstr "la función «%s» debe ser ejecutada AFTER ROW"
 
-#: commands/constraint.c:84
+#: commands/constraint.c:82
 #, c-format
 msgid "function \"%s\" must be fired for INSERT or UPDATE"
 msgstr "la función «%s» debe ser ejecutada en INSERT o UPDATE"
 
-#: commands/conversioncmds.c:69
+#: commands/conversioncmds.c:62
 #, c-format
 msgid "source encoding \"%s\" does not exist"
 msgstr "no existe la codificación fuente «%s»"
 
-#: commands/conversioncmds.c:76
+#: commands/conversioncmds.c:69
 #, c-format
 msgid "destination encoding \"%s\" does not exist"
 msgstr "no existe la codificación de destino «%s»"
 
-#: commands/conversioncmds.c:89
+#: commands/conversioncmds.c:82
 #, c-format
 msgid "encoding conversion to or from \"SQL_ASCII\" is not supported"
 msgstr "la conversión de codificación desde o hacia a «SQL_ASCII» no está soportada"
 
-#: commands/conversioncmds.c:102
+#: commands/conversioncmds.c:95
 #, c-format
 msgid "encoding conversion function %s must return type %s"
 msgstr "la función de conversión de codificación %s debe retornar tipo %s"
 
-#: commands/conversioncmds.c:132
+#: commands/conversioncmds.c:125
 #, c-format
 msgid "encoding conversion function %s returned incorrect result for empty input"
 msgstr "la función de conversión de codificación %s retornó un resultado incorrecto para una entrada vacía"
 
-#: commands/copy.c:86
-#, fuzzy, c-format
-#| msgid "permission denied to create role"
+#: commands/copy.c:84
+#, c-format
 msgid "permission denied to COPY to or from an external program"
-msgstr "se ha denegado el permiso para crear el rol"
+msgstr "se ha denegado el permiso para hacer COPY hacia o desde un programa externo"
 
-#: commands/copy.c:87
+#: commands/copy.c:85
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may COPY to or from an external program."
-msgstr ""
+msgstr "Sólo los roles con privilegios del rol «%s» pueden hacer COPY desde o hacia un programa externo."
 
-#: commands/copy.c:89 commands/copy.c:100 commands/copy.c:109
+#: commands/copy.c:87 commands/copy.c:98 commands/copy.c:107
 #, c-format
 msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works for anyone."
 msgstr "Cualquier usuario puede usar COPY hacia la salida estándar o desde la entrada estándar. La orden \\copy de psql también puede ser utilizado por cualquier usuario."
 
-#: commands/copy.c:97
-#, fuzzy, c-format
-#| msgid "permission denied to drop role"
+#: commands/copy.c:95
+#, c-format
 msgid "permission denied to COPY from a file"
-msgstr "se ha denegado el permiso para eliminar el rol"
+msgstr "se ha denegado el permiso para hacer COPY desde un archivo"
 
-#: commands/copy.c:98
+#: commands/copy.c:96
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may COPY from a file."
-msgstr ""
+msgstr "Sólo los roles con privilegios del rol «%s» pueden hacer COPY desde un archivo."
 
-#: commands/copy.c:106
-#, fuzzy, c-format
-#| msgid "permission denied to drop role"
+#: commands/copy.c:104
+#, c-format
 msgid "permission denied to COPY to a file"
-msgstr "se ha denegado el permiso para eliminar el rol"
+msgstr "se ha denegado el permiso para hacer COPY a un archivo"
 
-#: commands/copy.c:107
+#: commands/copy.c:105
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may COPY to a file."
-msgstr ""
+msgstr "Sólo los roles con privilegios del rol «%s» pueden hacer COPY hacia un archivo."
 
-#: commands/copy.c:195
+#: commands/copy.c:193
 #, c-format
 msgid "COPY FROM not supported with row-level security"
 msgstr "COPY FROM no está soportado con seguridad a nivel de registros"
 
-#: commands/copy.c:196
+#: commands/copy.c:194
 #, c-format
 msgid "Use INSERT statements instead."
 msgstr "Use sentencias INSERT en su lugar."
 
-#: commands/copy.c:290
-#, fuzzy, c-format
-#| msgid "\"EEEE\" not supported for input"
-msgid "MERGE not supported in COPY"
-msgstr "«EEEE» no está soportado en la entrada"
-
-#: commands/copy.c:383
+#: commands/copy.c:375
 #, c-format
 msgid "cannot use \"%s\" with HEADER in COPY TO"
 msgstr "no se puede usar «%s» con HEADER en COPY TO"
 
-#: commands/copy.c:392
-#, fuzzy, c-format
-#| msgid "%s requires a Boolean value"
+#: commands/copy.c:384
+#, c-format
 msgid "%s requires a Boolean value or \"match\""
-msgstr "«%s» requiere un valor lógico (booleano)"
+msgstr "«%s» requiere un valor lógico (booleano) o «match»"
+
+#. translator: first %s is the name of a COPY option, e.g. ON_ERROR,
+#. second %s is a COPY with direction, e.g. COPY TO
+#: commands/copy.c:402 commands/copy.c:782 commands/copy.c:798
+#: commands/copy.c:815 commands/copy.c:841 commands/copy.c:851
+#, c-format
+msgid "COPY %s cannot be used with %s"
+msgstr "COPY %s no puede usarse con %s"
+
+#. translator: first %s is the name of a COPY option, e.g. ON_ERROR
+#: commands/copy.c:416 commands/copy.c:441
+#, c-format
+msgid "COPY %s \"%s\" not recognized"
+msgstr "no se reconoce el valor «%2$s» para COPY %1$s"
 
-#: commands/copy.c:451
+#: commands/copy.c:502
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "el formato de COPY «%s» no es reconocido"
 
-#: commands/copy.c:509 commands/copy.c:522 commands/copy.c:535
-#: commands/copy.c:554
+#: commands/copy.c:560 commands/copy.c:575 commands/copy.c:590
+#: commands/copy.c:609
 #, c-format
 msgid "argument to option \"%s\" must be a list of column names"
 msgstr "el argumento de la opción «%s» debe ser una lista de nombres de columna"
 
-#: commands/copy.c:566
+#: commands/copy.c:621
 #, c-format
 msgid "argument to option \"%s\" must be a valid encoding name"
 msgstr "el argumento de la opción «%s» debe ser un nombre válido de codificación"
 
-#: commands/copy.c:573 commands/dbcommands.c:859 commands/dbcommands.c:2285
+#: commands/copy.c:642 commands/dbcommands.c:866 commands/dbcommands.c:2381
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "no se reconoce la opción «%s»"
 
-#: commands/copy.c:585
+#. translator: %s is the name of a COPY option, e.g. ON_ERROR
+#: commands/copy.c:655 commands/copy.c:660 commands/copy.c:665
+#: commands/copy.c:740
 #, c-format
-msgid "cannot specify DELIMITER in BINARY mode"
-msgstr "no se puede especificar DELIMITER en modo BINARY"
+msgid "cannot specify %s in BINARY mode"
+msgstr "no se puede especificar %s en modo BINARY"
 
-#: commands/copy.c:590
+#: commands/copy.c:670
 #, c-format
-msgid "cannot specify NULL in BINARY mode"
-msgstr "no se puede especificar NULL en modo BINARY"
+msgid "only ON_ERROR STOP is allowed in BINARY mode"
+msgstr "sólo ON ERROR STOP es permitido en modo BINARY"
 
-#: commands/copy.c:595
-#, fuzzy, c-format
-#| msgid "cannot specify NULL in BINARY mode"
-msgid "cannot specify DEFAULT in BINARY mode"
-msgstr "no se puede especificar NULL en modo BINARY"
-
-#: commands/copy.c:617
+#: commands/copy.c:692
 #, c-format
 msgid "COPY delimiter must be a single one-byte character"
 msgstr "el delimitador de COPY debe ser un solo carácter de un byte"
 
-#: commands/copy.c:624
+#: commands/copy.c:699
 #, c-format
 msgid "COPY delimiter cannot be newline or carriage return"
 msgstr "el delimitador de COPY no puede ser el carácter de nueva línea ni el de retorno de carro"
 
-#: commands/copy.c:630
+#: commands/copy.c:705
 #, c-format
 msgid "COPY null representation cannot use newline or carriage return"
 msgstr "la representación de null de COPY no puede usar el carácter de nueva línea ni el de retorno de carro"
 
-#: commands/copy.c:640
-#, fuzzy, c-format
-#| msgid "COPY null representation cannot use newline or carriage return"
+#: commands/copy.c:715
+#, c-format
 msgid "COPY default representat