Translation updates
authorPeter Eisentraut <[email protected]>
Mon, 5 May 2025 10:04:49 +0000 (12:04 +0200)
committerPeter Eisentraut <[email protected]>
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: [email protected]\n"
-"POT-Creation-Date: 2023-05-22 07:10+0000\n"
-"PO-Revision-Date: 2024-05-21 13:39+0200\n"
+"POT-Creation-Date: 2025-02-16 19:41+0000\n"
+"PO-Revision-Date: 2025-02-17 15:18+0100\n"
 "Last-Translator: Carlos Chapi <[email protected]>\n"
 "Language-Team: PgSQL-es-Ayuda <[email protected]>\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: