es: mechanical update, no new translations
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 1 Aug 2024 16:10:08 +0000 (12:10 -0400)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 1 Aug 2024 16:10:08 +0000 (12:10 -0400)
26 files changed:
es/ecpg.po
es/ecpglib.po
es/initdb.po
es/libpq.po
es/pg_amcheck.po
es/pg_archivecleanup.po
es/pg_basebackup.po
es/pg_checksums.po
es/pg_config.po
es/pg_controldata.po
es/pg_ctl.po
es/pg_dump.po
es/pg_resetwal.po
es/pg_rewind.po
es/pg_test_fsync.po
es/pg_test_timing.po
es/pg_upgrade.po
es/pg_verifybackup.po
es/pg_waldump.po
es/pgscripts.po
es/plperl.po
es/plpgsql.po
es/plpython.po
es/pltcl.po
es/postgres.po
es/psql.po

index 5a550b56e18823da6b4aa3aa0cebce01885c634e..f046fa861f723cfac50ffe4e94707c264efe45a0 100644 (file)
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ecpg (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:10+0000\n"
+"POT-Creation-Date: 2024-08-01 11:10+0000\n"
 "PO-Revision-Date: 2023-05-22 12:05+0200\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
@@ -191,177 +191,178 @@ msgstr ""
 msgid "%s home page: <%s>\n"
 msgstr "Sitio web de %s: <%s>\n"
 
-#: ecpg.c:141
+#: ecpg.c:152
 #, c-format
 msgid "%s: could not locate my own executable path\n"
 msgstr "%s: no se pudo localizar la ruta de mi propio ejecutable\n"
 
-#: ecpg.c:184 ecpg.c:235 ecpg.c:249 ecpg.c:275
+#: ecpg.c:195 ecpg.c:246 ecpg.c:260 ecpg.c:286
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Utilice «%s --help» para obtener mayor información.\n"
 
-#: ecpg.c:192
+#: ecpg.c:203
 #, c-format
 msgid "%s: parser debug support (-d) not available\n"
 msgstr "%s: la depuración del analizador (parser, -d) no está disponible)\n"
 
-#: ecpg.c:219 ecpg.c:334 ecpg.c:345
-#, c-format
-msgid "%s: could not open file \"%s\": %s\n"
+#: ecpg.c:230 ecpg.c:345 ecpg.c:356
+#, fuzzy, c-format
+#| msgid "%s: could not open file \"%s\": %s\n"
+msgid "%s: could not open file \"%s\": %m\n"
 msgstr "%s: no se pudo abrir el archivo «%s»: %s\n"
 
-#: ecpg.c:263
+#: ecpg.c:274
 #, c-format
 msgid "%s, the PostgreSQL embedded C preprocessor, version %s\n"
 msgstr "%s, el preprocesador de C incrustado de PostgreSQL, versión %s\n"
 
-#: ecpg.c:265
+#: ecpg.c:276
 #, c-format
 msgid "EXEC SQL INCLUDE ... search starts here:\n"
 msgstr "EXEC SQL INCLUDE ... la búsqueda comienza aquí:\n"
 
-#: ecpg.c:268
+#: ecpg.c:279
 #, c-format
 msgid "end of search list\n"
 msgstr "fin de la lista de búsqueda\n"
 
-#: ecpg.c:274
+#: ecpg.c:285
 #, c-format
 msgid "%s: no input files specified\n"
 msgstr "%s: no se especificaron archivos de entrada\n"
 
-#: ecpg.c:478
+#: ecpg.c:491
 #, c-format
 msgid "cursor \"%s\" has been declared but not opened"
 msgstr "el cursor «%s» fue declarado pero no abierto"
 
-#: ecpg.c:491 preproc.y:130
+#: ecpg.c:504 preproc.y:130
 #, c-format
 msgid "could not remove output file \"%s\"\n"
 msgstr "no se pudo eliminar el archivo de salida «%s»\n"
 
-#: pgc.l:520
+#: pgc.l:528
 #, c-format
 msgid "unterminated /* comment"
 msgstr "comentario /* no cerrado"
 
-#: pgc.l:537
+#: pgc.l:545
 #, c-format
 msgid "unterminated bit string literal"
 msgstr "una cadena de bits está inconclusa"
 
-#: pgc.l:545
+#: pgc.l:553
 #, c-format
 msgid "unterminated hexadecimal string literal"
 msgstr "una cadena hexadecimal está inconclusa"
 
-#: pgc.l:620
+#: pgc.l:628
 #, c-format
 msgid "invalid bit string literal"
 msgstr "cadena de bits no válida"
 
-#: pgc.l:625
+#: pgc.l:633
 #, c-format
 msgid "invalid hexadecimal string literal"
 msgstr "cadena hexadecimal no válida"
 
-#: pgc.l:643
+#: pgc.l:651
 #, c-format
 msgid "unhandled previous state in xqs\n"
 msgstr "estado previo no manejado en xqs\n"
 
-#: pgc.l:669 pgc.l:778
+#: pgc.l:677 pgc.l:786
 #, c-format
 msgid "unterminated quoted string"
 msgstr "una cadena en comillas está inconclusa"
 
-#: pgc.l:720
+#: pgc.l:728
 #, c-format
 msgid "unterminated dollar-quoted string"
 msgstr "una cadena separada por $ está inconclusa"
 
-#: pgc.l:738 pgc.l:758
+#: pgc.l:746 pgc.l:766
 #, c-format
 msgid "zero-length delimited identifier"
 msgstr "identificador delimitado de longitud cero"
 
-#: pgc.l:769
+#: pgc.l:777
 #, c-format
 msgid "unterminated quoted identifier"
 msgstr "un identificador en comillas está inconcluso"
 
-#: pgc.l:938
+#: pgc.l:946
 #, c-format
 msgid "trailing junk after parameter"
 msgstr "basura sigue después de un parámetro"
 
-#: pgc.l:990 pgc.l:993 pgc.l:996 pgc.l:999 pgc.l:1002 pgc.l:1005
+#: pgc.l:998 pgc.l:1001 pgc.l:1004 pgc.l:1007 pgc.l:1010 pgc.l:1013
 #, c-format
 msgid "trailing junk after numeric literal"
 msgstr "basura sigue después de un literal numérico"
 
-#: pgc.l:1127
+#: pgc.l:1136
 #, c-format
 msgid "nested /* ... */ comments"
 msgstr "comentarios /* ... */ anidados"
 
-#: pgc.l:1220
+#: pgc.l:1235
 #, c-format
 msgid "missing identifier in EXEC SQL UNDEF command"
 msgstr "falta un identificador en la orden EXEC SQL UNDEF"
 
-#: pgc.l:1238 pgc.l:1251 pgc.l:1267 pgc.l:1280
+#: pgc.l:1253 pgc.l:1266 pgc.l:1282 pgc.l:1295
 #, c-format
 msgid "too many nested EXEC SQL IFDEF conditions"
 msgstr "demasiadas condiciones EXEC SQL IFDEF anidadas"
 
-#: pgc.l:1296 pgc.l:1307 pgc.l:1322 pgc.l:1344
+#: pgc.l:1311 pgc.l:1322 pgc.l:1337 pgc.l:1359
 #, c-format
 msgid "missing matching \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\""
 msgstr "falta el «EXEC SQL IFDEF» / «EXEC SQL IFNDEF»"
 
-#: pgc.l:1298 pgc.l:1309 pgc.l:1490
+#: pgc.l:1313 pgc.l:1324 pgc.l:1517
 #, c-format
 msgid "missing \"EXEC SQL ENDIF;\""
 msgstr "falta el «EXEC SQL ENDIF;»"
 
-#: pgc.l:1324 pgc.l:1346
+#: pgc.l:1339 pgc.l:1361
 #, c-format
 msgid "more than one EXEC SQL ELSE"
 msgstr "hay más de un EXEC SQL ELSE"
 
-#: pgc.l:1369 pgc.l:1383
+#: pgc.l:1384 pgc.l:1398
 #, c-format
 msgid "unmatched EXEC SQL ENDIF"
 msgstr "EXEC SQL ENDIF sin coincidencia"
 
-#: pgc.l:1438
+#: pgc.l:1459
 #, c-format
 msgid "missing identifier in EXEC SQL IFDEF command"
 msgstr "identificador faltante en la orden EXEC SQL IFDEF"
 
-#: pgc.l:1447
+#: pgc.l:1468
 #, c-format
 msgid "missing identifier in EXEC SQL DEFINE command"
 msgstr "identificador faltante en la orden EXEC SQL DEFINE"
 
-#: pgc.l:1480
+#: pgc.l:1506
 #, c-format
 msgid "syntax error in EXEC SQL INCLUDE command"
 msgstr "error de sintaxis en orden EXEC SQL INCLUDE"
 
-#: pgc.l:1530
+#: pgc.l:1561
 #, c-format
 msgid "internal error: unreachable state; please report this to <%s>"
 msgstr "error interno: estado no esperado; por favor reporte a <%s>"
 
-#: pgc.l:1682
+#: pgc.l:1713
 #, c-format
 msgid "Error: include path \"%s/%s\" is too long on line %d, skipping\n"
 msgstr "Error: ruta de inclusión «%s/%s» es demasiada larga en la línea %d, omitiendo\n"
 
-#: pgc.l:1705
+#: pgc.l:1736
 #, c-format
 msgid "could not open include file \"%s\" on line %d"
 msgstr "no se pudo abrir el archivo a incluir «%s» en la línea %d"
@@ -395,12 +396,12 @@ msgstr "inicializador no permitido en definición de tipo"
 msgid "type name \"string\" is reserved in Informix mode"
 msgstr "el nombre de tipo «string» está reservado en modo Informix"
 
-#: preproc.y:552 preproc.y:18392
+#: preproc.y:552 preproc.y:19072
 #, c-format
 msgid "type \"%s\" is already defined"
 msgstr "el tipo «%s» ya está definido"
 
-#: preproc.y:577 preproc.y:19027 preproc.y:19349 variable.c:625
+#: preproc.y:577 preproc.y:19707 preproc.y:20029 variable.c:625
 #, c-format
 msgid "multidimensional arrays for simple data types are not supported"
 msgstr "los arrays multidimensionales para tipos de datos simples no están soportados"
@@ -410,175 +411,174 @@ msgstr "los arrays multidimensionales para tipos de datos simples no están sopo
 msgid "connection %s is overwritten with %s by DECLARE statement %s"
 msgstr "la conexión %s es sobrescrita con %s por la sentencia DECLARE %s"
 
-#: preproc.y:1792
+#: preproc.y:1833
 #, c-format
 msgid "AT option not allowed in CLOSE DATABASE statement"
 msgstr "la opción AT no está permitida en la sentencia CLOSE DATABASE"
 
-#: preproc.y:2042
+#: preproc.y:2083
 #, c-format
 msgid "AT option not allowed in CONNECT statement"
 msgstr "la opción AT no está permitida en la sentencia CONNECT"
 
-#: preproc.y:2082
+#: preproc.y:2123
 #, c-format
 msgid "AT option not allowed in DISCONNECT statement"
 msgstr "la opción AT no está permitida en la sentencia DISCONNECT"
 
-#: preproc.y:2137
+#: preproc.y:2178
 #, c-format
 msgid "AT option not allowed in SET CONNECTION statement"
 msgstr "la opción AT no está permitida en la sentencia SET CONNECTION"
 
-#: preproc.y:2159
+#: preproc.y:2200
 #, c-format
 msgid "AT option not allowed in TYPE statement"
 msgstr "la opción AT no está permitida en la sentencia TYPE"
 
-#: preproc.y:2168
+#: preproc.y:2209
 #, c-format
 msgid "AT option not allowed in VAR statement"
 msgstr "la opción AT no está permitida en la sentencia VAR"
 
-#: preproc.y:2175
+#: preproc.y:2216
 #, c-format
 msgid "AT option not allowed in WHENEVER statement"
 msgstr "la opción AT no está permitida en la sentencia WHENEVER"
 
-#: preproc.y:2300 preproc.y:2472 preproc.y:2477 preproc.y:2589 preproc.y:4248
-#: preproc.y:4322 preproc.y:4913 preproc.y:5446 preproc.y:5784 preproc.y:6084
-#: preproc.y:7648 preproc.y:9252 preproc.y:9257 preproc.y:12206
+#: preproc.y:2341 preproc.y:2628 preproc.y:4379 preproc.y:5043 preproc.y:5913
+#: preproc.y:6117 preproc.y:6218 preproc.y:12482
 #, c-format
 msgid "unsupported feature will be passed to server"
 msgstr "característica no soportada será pasada al servidor"
 
-#: preproc.y:2847
+#: preproc.y:2886
 #, c-format
 msgid "SHOW ALL is not implemented"
 msgstr "SHOW ALL no está implementado"
 
-#: preproc.y:3531
+#: preproc.y:3626
 #, c-format
 msgid "COPY FROM STDIN is not implemented"
 msgstr "COPY FROM STDIN no está implementado"
 
-#: preproc.y:10303 preproc.y:17889
+#: preproc.y:10466 preproc.y:18541
 #, c-format
 msgid "\"database\" cannot be used as cursor name in INFORMIX mode"
 msgstr "no se puede usar «database» como nombre de cursor en modo INFORMIX"
 
-#: preproc.y:10310 preproc.y:17899
+#: preproc.y:10473 preproc.y:18551
 #, c-format
 msgid "using variable \"%s\" in different declare statements is not supported"
 msgstr "el uso de la variable «%s» en diferentes sentencias declare no está soportado"
 
-#: preproc.y:10312 preproc.y:17901
+#: preproc.y:10475 preproc.y:18553
 #, c-format
 msgid "cursor \"%s\" is already defined"
 msgstr "el cursor «%s» ya está definido"
 
-#: preproc.y:10786
+#: preproc.y:10949
 #, c-format
 msgid "no longer supported LIMIT #,# syntax passed to server"
 msgstr "la sintaxis LIMIT #,# que ya no está soportada ha sido pasada al servidor"
 
-#: preproc.y:17581 preproc.y:17588
+#: preproc.y:18233 preproc.y:18240
 #, c-format
 msgid "CREATE TABLE AS cannot specify INTO"
 msgstr "CREATE TABLE AS no puede especificar INTO"
 
-#: preproc.y:17624
+#: preproc.y:18276
 #, c-format
 msgid "expected \"@\", found \"%s\""
 msgstr "se esperaba «@», se encontró «%s»"
 
-#: preproc.y:17636
+#: preproc.y:18288
 #, c-format
 msgid "only protocols \"tcp\" and \"unix\" and database type \"postgresql\" are supported"
 msgstr "sólo los protocolos «tcp» y «unix» y tipo de bases de datos «postgresql» están soportados"
 
-#: preproc.y:17639
+#: preproc.y:18291
 #, c-format
 msgid "expected \"://\", found \"%s\""
 msgstr "se esperaba «://», se encontró «%s»"
 
-#: preproc.y:17644
+#: preproc.y:18296
 #, c-format
 msgid "Unix-domain sockets only work on \"localhost\" but not on \"%s\""
 msgstr "los sockets de dominio unix sólo trabajan en «localhost» pero no en «%s»"
 
-#: preproc.y:17670
+#: preproc.y:18322
 #, c-format
 msgid "expected \"postgresql\", found \"%s\""
 msgstr "se esperaba «postgresql», se encontró «%s»"
 
-#: preproc.y:17673
+#: preproc.y:18325
 #, c-format
 msgid "invalid connection type: %s"
 msgstr "tipo de conexión no válido: %s"
 
-#: preproc.y:17682
+#: preproc.y:18334
 #, c-format
 msgid "expected \"@\" or \"://\", found \"%s\""
 msgstr "se esperaba «@» o «://», se encontró «%s»"
 
-#: preproc.y:17757 preproc.y:17775
+#: preproc.y:18409 preproc.y:18427
 #, c-format
 msgid "invalid data type"
 msgstr "tipo de dato no válido"
 
-#: preproc.y:17786 preproc.y:17803
+#: preproc.y:18438 preproc.y:18455
 #, c-format
 msgid "incomplete statement"
 msgstr "sentencia incompleta"
 
-#: preproc.y:17789 preproc.y:17806
+#: preproc.y:18441 preproc.y:18458
 #, c-format
 msgid "unrecognized token \"%s\""
 msgstr "elemento «%s» no reconocido"
 
-#: preproc.y:17851
+#: preproc.y:18503
 #, c-format
 msgid "name \"%s\" is already declared"
 msgstr "el nombre «%s» ya está declarado"
 
-#: preproc.y:18140
+#: preproc.y:18792
 #, c-format
 msgid "only data types numeric and decimal have precision/scale argument"
 msgstr "sólo los tipos de dato numeric y decimal tienen argumento de precisión/escala"
 
-#: preproc.y:18211
+#: preproc.y:18891
 #, c-format
 msgid "interval specification not allowed here"
 msgstr "la especificación de intervalo no está permitida aquí"
 
-#: preproc.y:18367 preproc.y:18419
+#: preproc.y:19047 preproc.y:19099
 #, c-format
 msgid "too many levels in nested structure/union definition"
 msgstr "demasiados niveles en la definición anidada de estructura/unión"
 
-#: preproc.y:18542
+#: preproc.y:19222
 #, c-format
 msgid "pointers to varchar are not implemented"
 msgstr "los punteros a varchar no están implementados"
 
-#: preproc.y:18993
+#: preproc.y:19673
 #, c-format
 msgid "initializer not allowed in EXEC SQL VAR command"
 msgstr "inicializador no permitido en la orden EXEC SQL VAR"
 
-#: preproc.y:19307
+#: preproc.y:19987
 #, c-format
 msgid "arrays of indicators are not allowed on input"
 msgstr "no se permiten los arrays de indicadores en la entrada"
 
-#: preproc.y:19494
+#: preproc.y:20174
 #, c-format
 msgid "operator not allowed in variable definition"
 msgstr "operador no permitido en definición de variable"
 
 #. translator: %s is typically the translation of "syntax error"
-#: preproc.y:19535
+#: preproc.y:20215
 #, c-format
 msgid "%s at or near \"%s\""
 msgstr "%s en o cerca de «%s»"
index 8dec975e62ef026740984bcbd5cbce6a2a93ca1e..47f98914be91c15d9cdd5c7b0b297c4252538557 100644 (file)
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ecpglib (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:09+0000\n"
+"POT-Creation-Date: 2024-08-01 11:09+0000\n"
 "PO-Revision-Date: 2023-05-22 12:04+0200\n"
 "Last-Translator: Emanuel Calvo Franco <postgres-arg@gmail.com>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
@@ -18,15 +18,15 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: connect.c:243
+#: connect.c:221
 msgid "empty message text"
 msgstr "mensaje de texto vacío"
 
-#: connect.c:410 connect.c:675
+#: connect.c:386 connect.c:645
 msgid "<DEFAULT>"
 msgstr "<POR OMISIÓN>"
 
-#: descriptor.c:876 misc.c:119
+#: descriptor.c:866 misc.c:88
 msgid "NULL"
 msgstr "NULL"
 
@@ -195,6 +195,6 @@ msgstr "se ha perdido la conexión al servidor"
 msgid "SQL error: %s\n"
 msgstr "error SQL: %s\n"
 
-#: execute.c:2188 execute.c:2195
+#: execute.c:2186 execute.c:2193
 msgid "<empty>"
 msgstr "<vacío>"
index 449d2020a6ecde11c033f6d2ca92c4b4e47029f3..2b0021641fcf137028b406098ea5314765d1e9fd 100644 (file)
@@ -10,8 +10,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: initdb (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-10-03 07:20+0000\n"
-"PO-Revision-Date: 2023-10-04 11:47+0200\n"
+"POT-Creation-Date: 2024-08-01 11:21+0000\n"
+"PO-Revision-Date: 2024-08-01 12:05-0400\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
 "Language: es\n"
@@ -40,33 +40,49 @@ msgstr "detalle: "
 msgid "hint: "
 msgstr "consejo: "
 
-#: ../../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
+#: ../../common/exec.c:382 initdb.c:695
+#, c-format
+msgid "could not execute command \"%s\": %m"
+msgstr "no se pudo ejecutar la orden «%s»: %m"
+
+#: ../../common/exec.c:394
+#, c-format
+msgid "could not read from command \"%s\": %m"
+msgstr "no se pudo leer desde la orden «%s»: %m"
+
+#: ../../common/exec.c:397
+#, fuzzy, c-format
+#| msgid "no data returned from server"
+msgid "no data was returned by command \"%s\""
+msgstr "el servidor no retornó datos"
+
+#: ../../common/exec.c:424
 #, c-format
 msgid "%s() failed: %m"
 msgstr "%s() falló: %m"
 
-#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687
-#: initdb.c:349
+#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699
+#: initdb.c:353
 #, c-format
 msgid "out of memory"
 msgstr "memoria agotada"
@@ -82,35 +98,47 @@ 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:70 ../../common/file_utils.c:347
+#: ../../common/file_utils.c:406 ../../common/file_utils.c:480
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "no se pudo abrir el archivo «%s»: %m"
+
+#: ../../common/file_utils.c:76
+#, 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
 #, 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
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, fuzzy, c-format
+#| msgid "this build does not support compression with %s"
+msgid "this build does not support sync method \"%s\""
+msgstr "esta instalación no soporta compresión con %s"
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#: ../../common/pgfnames.c:48 ../../common/rmtree.c:63
 #, 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
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#: ../../common/pgfnames.c:69 ../../common/rmtree.c:106
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "no se pudo leer el directorio «%s»: %m"
 
-#: ../../common/file_utils.c:228 ../../common/file_utils.c:287
-#: ../../common/file_utils.c:361
-#, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "no se pudo abrir el archivo «%s»: %m"
-
-#: ../../common/file_utils.c:299 ../../common/file_utils.c:369
+#: ../../common/file_utils.c:418 ../../common/file_utils.c:488
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
 
-#: ../../common/file_utils.c:379
+#: ../../common/file_utils.c:498
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
@@ -150,12 +178,12 @@ 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
+#: ../../common/rmtree.c:97
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "no se pudo eliminar el archivo «%s»: %m"
 
-#: ../../common/rmtree.c:122
+#: ../../common/rmtree.c:124
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "no se pudo eliminar el directorio «%s»: %m"
@@ -204,6 +232,34 @@ msgstr "el proceso hijo fue terminado por una señal %d: %s"
 msgid "child process exited with unrecognized status %d"
 msgstr "el proceso hijo terminó con código no reconocido %d"
 
+#: ../../fe_utils/option_utils.c:69
+#, c-format
+msgid "invalid value \"%s\" for option %s"
+msgstr "el valor «%s» no es válido para la opción %s"
+
+#: ../../fe_utils/option_utils.c:76
+#, c-format
+msgid "%s must be in range %d..%d"
+msgstr "%s debe estar en el rango %d..%d"
+
+#: ../../fe_utils/option_utils.c:106
+#, fuzzy, c-format
+#| msgid "unrecognized key word: \"%s\""
+msgid "unrecognized sync method: %s"
+msgstr "palabra clave no reconocida: «%s»"
+
+#: ../../fe_utils/string_utils.c:434
+#, fuzzy, c-format
+#| msgid "shell command argument contains a newline or carriage return: \"%s\""
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»"
+
+#: ../../fe_utils/string_utils.c:607
+#, fuzzy, c-format
+#| msgid "shell command argument contains a newline or carriage return: \"%s\""
+msgid "database name contains a newline or carriage return: \"%s\"\n"
+msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»"
+
 #: ../../port/dirmod.c:287
 #, c-format
 msgid "could not set junction for \"%s\": %s\n"
@@ -214,276 +270,281 @@ msgstr "no se pudo definir un junction para «%s»: %s\n"
 msgid "could not get junction for \"%s\": %s\n"
 msgstr "no se pudo obtener junction para «%s»: %s\n"
 
-#: initdb.c:618 initdb.c:1613
+#: initdb.c:627 initdb.c:1619
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "no se pudo abrir archivo «%s» para lectura: %m"
 
-#: initdb.c:662 initdb.c:966 initdb.c:986
+#: initdb.c:671 initdb.c:975 initdb.c:995
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "no se pudo abrir el archivo «%s» para escritura: %m"
 
-#: initdb.c:666 initdb.c:969 initdb.c:988
+#: initdb.c:675 initdb.c:978 initdb.c:997
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "no se pudo escribir el archivo «%s»: %m"
 
-#: initdb.c:670
+#: initdb.c:679
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "no se pudo cerrar el archivo «%s»: %m"
 
-#: initdb.c:686
-#, c-format
-msgid "could not execute command \"%s\": %m"
-msgstr "no se pudo ejecutar la orden «%s»: %m"
-
-#: initdb.c:704
+#: initdb.c:713
 #, c-format
 msgid "removing data directory \"%s\""
 msgstr "eliminando el directorio de datos «%s»"
 
-#: initdb.c:706
+#: initdb.c:715
 #, c-format
 msgid "failed to remove data directory"
 msgstr "no se pudo eliminar el directorio de datos"
 
-#: initdb.c:710
+#: initdb.c:719
 #, c-format
 msgid "removing contents of data directory \"%s\""
 msgstr "eliminando el contenido del directorio «%s»"
 
-#: initdb.c:713
+#: initdb.c:722
 #, c-format
 msgid "failed to remove contents of data directory"
 msgstr "no se pudo eliminar el contenido del directorio de datos"
 
-#: initdb.c:718
+#: initdb.c:727
 #, c-format
 msgid "removing WAL directory \"%s\""
 msgstr "eliminando el directorio de WAL «%s»"
 
-#: initdb.c:720
+#: initdb.c:729
 #, c-format
 msgid "failed to remove WAL directory"
 msgstr "no se pudo eliminar el directorio de WAL"
 
-#: initdb.c:724
+#: initdb.c:733
 #, c-format
 msgid "removing contents of WAL directory \"%s\""
 msgstr "eliminando el contenido del directorio de WAL «%s»"
 
-#: initdb.c:726
+#: initdb.c:735
 #, c-format
 msgid "failed to remove contents of WAL directory"
 msgstr "no se pudo eliminar el contenido del directorio de WAL"
 
-#: initdb.c:733
+#: initdb.c:742
 #, c-format
 msgid "data directory \"%s\" not removed at user's request"
 msgstr "directorio de datos «%s» no eliminado a petición del usuario"
 
-#: initdb.c:737
+#: initdb.c:746
 #, c-format
 msgid "WAL directory \"%s\" not removed at user's request"
 msgstr "directorio de WAL «%s» no eliminado a petición del usuario"
 
-#: initdb.c:755
+#: initdb.c:764
 #, c-format
 msgid "cannot be run as root"
 msgstr "no se puede ejecutar como «root»"
 
-#: initdb.c:756
+#: initdb.c:765
 #, c-format
 msgid "Please log in (using, e.g., \"su\") as the (unprivileged) user that will own the server process."
 msgstr "Por favor conéctese (usando, por ejemplo, «su») con un usuario no privilegiado, quien ejecutará el proceso servidor."
 
-#: initdb.c:788
+#: initdb.c:797
 #, c-format
 msgid "\"%s\" is not a valid server encoding name"
 msgstr "«%s» no es un nombre válido de codificación"
 
-#: initdb.c:932
+#: initdb.c:941
 #, c-format
 msgid "file \"%s\" does not exist"
 msgstr "el archivo «%s» no existe"
 
-#: initdb.c:933 initdb.c:938 initdb.c:945
+#: initdb.c:942 initdb.c:947 initdb.c:954
 #, c-format
 msgid "This might mean you have a corrupted installation or identified the wrong directory with the invocation option -L."
 msgstr "Esto puede significar que tiene una instalación corrupta o ha identificado el directorio equivocado con la opción -L."
 
-#: initdb.c:937
+#: initdb.c:946
 #, c-format
 msgid "could not access file \"%s\": %m"
 msgstr "no se pudo acceder al archivo «%s»: %m"
 
-#: initdb.c:944
+#: initdb.c:953
 #, c-format
 msgid "file \"%s\" is not a regular file"
 msgstr "el archivo «%s» no es un archivo regular"
 
-#: initdb.c:1077
+#: initdb.c:1086
 #, c-format
 msgid "selecting dynamic shared memory implementation ... "
 msgstr "seleccionando implementación de memoria compartida dinámica ... "
 
-#: initdb.c:1086
-#, c-format
-msgid "selecting default max_connections ... "
+#: initdb.c:1095
+#, fuzzy, c-format
+#| msgid "selecting default max_connections ... "
+msgid "selecting default \"max_connections\" ... "
 msgstr "seleccionando el valor para max_connections ... "
 
-#: initdb.c:1106
-#, c-format
-msgid "selecting default shared_buffers ... "
+#: initdb.c:1115
+#, fuzzy, c-format
+#| msgid "selecting default shared_buffers ... "
+msgid "selecting default \"shared_buffers\" ... "
 msgstr "seleccionando el valor para shared_buffers ... "
 
-#: initdb.c:1129
+#: initdb.c:1138
 #, c-format
 msgid "selecting default time zone ... "
 msgstr "seleccionando el huso horario por omisión ... "
 
-#: initdb.c:1206
+#: initdb.c:1217
 msgid "creating configuration files ... "
 msgstr "creando archivos de configuración ... "
 
-#: initdb.c:1367 initdb.c:1381 initdb.c:1448 initdb.c:1459
+#: initdb.c:1370 initdb.c:1384 initdb.c:1451 initdb.c:1462
 #, c-format
 msgid "could not change permissions of \"%s\": %m"
 msgstr "no se pudo cambiar los permisos de «%s»: %m"
 
-#: initdb.c:1477
+#: initdb.c:1481
 #, c-format
 msgid "running bootstrap script ... "
 msgstr "ejecutando script de inicio (bootstrap) ... "
 
-#: initdb.c:1489
+#: initdb.c:1493
 #, c-format
 msgid "input file \"%s\" does not belong to PostgreSQL %s"
 msgstr "el archivo de entrada «%s» no pertenece a PostgreSQL %s"
 
-#: initdb.c:1491
+#: initdb.c:1495
 #, c-format
 msgid "Specify the correct path using the option -L."
 msgstr "Especifique la ruta correcta usando la opción -L."
 
-#: initdb.c:1591
+#: initdb.c:1597
 msgid "Enter new superuser password: "
 msgstr "Ingrese la nueva contraseña del superusuario: "
 
-#: initdb.c:1592
+#: initdb.c:1598
 msgid "Enter it again: "
 msgstr "Ingrésela nuevamente: "
 
-#: initdb.c:1595
+#: initdb.c:1601
 #, c-format
 msgid "Passwords didn't match.\n"
 msgstr "Las contraseñas no coinciden.\n"
 
-#: initdb.c:1619
+#: initdb.c:1625
 #, c-format
 msgid "could not read password from file \"%s\": %m"
 msgstr "no se pudo leer la contraseña desde el archivo «%s»: %m"
 
-#: initdb.c:1622
+#: initdb.c:1628
 #, c-format
 msgid "password file \"%s\" is empty"
 msgstr "el archivo de contraseña «%s» está vacío"
 
-#: initdb.c:2034
+#: initdb.c:2040
 #, c-format
 msgid "caught signal\n"
 msgstr "se ha capturado una señal\n"
 
-#: initdb.c:2040
+#: initdb.c:2046
 #, c-format
 msgid "could not write to child process: %s\n"
 msgstr "no se pudo escribir al proceso hijo: %s\n"
 
-#: initdb.c:2048
+#: initdb.c:2054
 #, c-format
 msgid "ok\n"
 msgstr "hecho\n"
 
-#: initdb.c:2137
+#: initdb.c:2143
 #, c-format
 msgid "setlocale() failed"
 msgstr "setlocale() falló"
 
-#: initdb.c:2155
+#: initdb.c:2161
 #, c-format
 msgid "failed to restore old locale \"%s\""
 msgstr "no se pudo restaurar la configuración regional anterior «%s»"
 
-#: initdb.c:2163
+#: initdb.c:2169
 #, c-format
 msgid "invalid locale name \"%s\""
 msgstr "nombre de configuración regional «%s» no es válido"
 
-#: initdb.c:2164
+#: initdb.c:2170
 #, c-format
 msgid "If the locale name is specific to ICU, use --icu-locale."
-msgstr "Si el nombre de configuración regional es específico de ICU, use --icu-locale."
+msgstr ""
 
-#: initdb.c:2177
+#: initdb.c:2183
 #, c-format
 msgid "invalid locale settings; check LANG and LC_* environment variables"
 msgstr "configuración regional inválida; revise las variables de entorno LANG y LC_*"
 
-#: initdb.c:2203 initdb.c:2227
+#: initdb.c:2209 initdb.c:2233
 #, c-format
 msgid "encoding mismatch"
 msgstr "codificaciones no coinciden"
 
-#: initdb.c:2204
+#: initdb.c:2210
 #, c-format
 msgid "The encoding you selected (%s) and the encoding that the selected locale uses (%s) do not match. This would lead to misbehavior in various character string processing functions."
 msgstr "La codificación que seleccionó (%s) y la codificación de la configuración regional elegida (%s) no coinciden.  Esto llevaría a comportamientos erráticos en ciertas funciones de procesamiento de cadenas de caracteres."
 
-#: initdb.c:2209 initdb.c:2230
+#: initdb.c:2215 initdb.c:2236
 #, c-format
 msgid "Rerun %s and either do not specify an encoding explicitly, or choose a matching combination."
 msgstr ""
 "Vuelva a ejecutar %s sin escoger explícitamente una codificación, o bien\n"
 "escoja una combinación coincidente."
 
-#: initdb.c:2228
+#: initdb.c:2234
 #, c-format
 msgid "The encoding you selected (%s) is not supported with the ICU provider."
 msgstr "La codificación que seleccionó (%s) no está soportada con el proveedor ICU."
 
-#: initdb.c:2279
+#: initdb.c:2285
 #, c-format
 msgid "could not convert locale name \"%s\" to language tag: %s"
 msgstr "no se pudo convertir el nombre de configuración regional «%s» a etiqueta de lenguaje: %s"
 
-#: initdb.c:2285 initdb.c:2337 initdb.c:2416
+#: initdb.c:2291 initdb.c:2343 initdb.c:2435
 #, c-format
 msgid "ICU is not supported in this build"
 msgstr "ICU no está soportado en este servidor"
 
-#: initdb.c:2308
+#: initdb.c:2314
 #, c-format
 msgid "could not get language from locale \"%s\": %s"
-msgstr "no se pudo obtener el lenguaje de la configuración regional «%s»: %s"
+msgstr "no se pudo el lenguaje de la configuración regional «%s»: %s"
 
-#: initdb.c:2334
-#, c-format
+#: initdb.c:2340
+#, fuzzy, c-format
+#| msgid "cursor \"%s\" has no argument named \"%s\""
 msgid "locale \"%s\" has unknown language \"%s\""
-msgstr "la configuración regional «%s» tiene lenguaje «%s» desconocido"
-
-#: initdb.c:2400
-#, c-format
-msgid "ICU locale must be specified"
-msgstr "el locale ICU debe ser especificado"
+msgstr "el cursor «%s» no tiene un argumento llamado «%s»"
+
+#: initdb.c:2401
+#, fuzzy, c-format
+#| msgid "ICU locale cannot be specified unless locale provider is ICU"
+msgid "locale must be specified if provider is %s"
+msgstr "no se puede especificar una configuración regional ICU a menos que el proveedor de configuración regional sea ICU"
+
+#: initdb.c:2412
+#, fuzzy, c-format
+#| msgid "invalid locale name \"%s\""
+msgid "invalid locale name \"%s\" for builtin provider"
+msgstr "nombre de configuración regional «%s» no es válido"
 
-#: initdb.c:2404
+#: initdb.c:2423
 #, c-format
 msgid "Using language tag \"%s\" for ICU locale \"%s\".\n"
-msgstr "Usando la marca de lenguaje «%s» para la configuración regional ICU «%s».\n"
+msgstr ""
 
-#: initdb.c:2427
+#: initdb.c:2446
 #, c-format
 msgid ""
 "%s initializes a PostgreSQL database cluster.\n"
@@ -492,17 +553,17 @@ msgstr ""
 "%s inicializa un cluster de base de datos PostgreSQL.\n"
 "\n"
 
-#: initdb.c:2428
+#: initdb.c:2447
 #, c-format
 msgid "Usage:\n"
 msgstr "Empleo:\n"
 
-#: initdb.c:2429
+#: initdb.c:2448
 #, c-format
 msgid "  %s [OPTION]... [DATADIR]\n"
 msgstr "  %s [OPCIÓN]... [DATADIR]\n"
 
-#: initdb.c:2430
+#: initdb.c:2449
 #, c-format
 msgid ""
 "\n"
@@ -511,69 +572,70 @@ msgstr ""
 "\n"
 "Opciones:\n"
 
-#: initdb.c:2431
+#: initdb.c:2450
 #, c-format
 msgid "  -A, --auth=METHOD         default authentication method for local connections\n"
 msgstr ""
 "  -A, --auth=MÉTODO         método de autentificación por omisión para\n"
 "                            conexiones locales\n"
 
-#: initdb.c:2432
+#: initdb.c:2451
 #, c-format
 msgid "      --auth-host=METHOD    default authentication method for local TCP/IP connections\n"
 msgstr ""
 "  --auth-host=MÉTODO        método de autentificación por omisión para\n"
 "                            conexiones locales TCP/IP\n"
 
-#: initdb.c:2433
+#: initdb.c:2452
 #, c-format
 msgid "      --auth-local=METHOD   default authentication method for local-socket connections\n"
 msgstr ""
 "  --auth-local=MÉTODO       método de autentificación por omisión para\n"
 "                            conexiones de socket local\n"
 
-#: initdb.c:2434
+#: initdb.c:2453
 #, c-format
 msgid " [-D, --pgdata=]DATADIR     location for this database cluster\n"
 msgstr " [-D, --pgdata=]DATADIR     ubicación para este cluster de bases de datos\n"
 
-#: initdb.c:2435
+#: initdb.c:2454
 #, c-format
 msgid "  -E, --encoding=ENCODING   set default encoding for new databases\n"
 msgstr "  -E, --encoding=CODIF      codificación por omisión para nuevas bases de datos\n"
 
-#: initdb.c:2436
+#: initdb.c:2455
 #, c-format
 msgid "  -g, --allow-group-access  allow group read/execute on data directory\n"
 msgstr ""
 "  -g, --allow-group-access  dar al grupo permisos de lectura/ejecución sobre\n"
 "                            el directorio de datos\n"
 
-#: initdb.c:2437
+#: initdb.c:2456
 #, c-format
 msgid "      --icu-locale=LOCALE   set ICU locale ID for new databases\n"
 msgstr ""
 "      --icu-locale=LOCALE   definir el ID de configuración regional ICU para\n"
 "                            nuevas bases de datos\n"
 
-#: initdb.c:2438
-#, c-format
+#: initdb.c:2457
+#, fuzzy, c-format
+#| msgid "      --icu-rules=RULES        ICU rules setting for the database\n"
 msgid "      --icu-rules=RULES     set additional ICU collation rules for new databases\n"
-msgstr "      --icu-rules=REGLAS    reglas adicionales ICU en nuevas bases de datos\n"
+msgstr "      --icu-rules=REGLAS    configuración de reglas ICU para la base de datos\n"
 
-#: initdb.c:2439
+#: initdb.c:2458
 #, c-format
 msgid "  -k, --data-checksums      use data page checksums\n"
 msgstr "  -k, --data-checksums      activar sumas de verificación en páginas de datos\n"
 
-#: initdb.c:2440
+#: initdb.c:2459
 #, c-format
 msgid "      --locale=LOCALE       set default locale for new databases\n"
 msgstr ""
 "      --locale=LOCALE       configuración regional por omisión para \n"
 "                            nuevas bases de datos\n"
 
-#: initdb.c:2441
+#: initdb.c:2460
 #, c-format
 msgid ""
 "      --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n"
@@ -587,27 +649,43 @@ msgstr ""
 "                            en la categoría respectiva (el valor por omisión\n"
 "                            es tomado de variables de ambiente)\n"
 
-#: initdb.c:2445
+#: initdb.c:2464
 #, c-format
 msgid "      --no-locale           equivalent to --locale=C\n"
 msgstr "      --no-locale           equivalente a --locale=C\n"
 
-#: initdb.c:2446
-#, c-format
+#: initdb.c:2465
+#, fuzzy, c-format
+#| msgid ""
+#| "      --locale-provider={libc|icu}\n"
+#| "                            set default locale provider for new databases\n"
 msgid ""
+"      --builtin-locale=LOCALE\n"
+"                            set builtin locale name for new databases\n"
+msgstr ""
 "      --locale-provider={libc|icu}\n"
+"                            define el proveedor de configuración regional\n"
+"                            para nuevas bases de datos\n"
+
+#: initdb.c:2467
+#, fuzzy, c-format
+#| msgid ""
+#| "      --locale-provider={libc|icu}\n"
+#| "                            set default locale provider for new databases\n"
+msgid ""
+"      --locale-provider={builtin|libc|icu}\n"
 "                            set default locale provider for new databases\n"
 msgstr ""
 "      --locale-provider={libc|icu}\n"
 "                            define el proveedor de configuración regional\n"
 "                            para nuevas bases de datos\n"
 
-#: initdb.c:2448
+#: initdb.c:2469
 #, c-format
 msgid "      --pwfile=FILE         read password for the new superuser from file\n"
 msgstr "      --pwfile=ARCHIVO      leer contraseña del nuevo superusuario del archivo\n"
 
-#: initdb.c:2449
+#: initdb.c:2470
 #, c-format
 msgid ""
 "  -T, --text-search-config=CFG\n"
@@ -616,27 +694,27 @@ msgstr ""
 "  -T, --text-search-config=CONF\n"
 "                            configuración de búsqueda en texto por omisión\n"
 
-#: initdb.c:2451
+#: initdb.c:2472
 #, c-format
 msgid "  -U, --username=NAME       database superuser name\n"
 msgstr "  -U, --username=USUARIO    nombre del superusuario del cluster\n"
 
-#: initdb.c:2452
+#: initdb.c:2473
 #, c-format
 msgid "  -W, --pwprompt            prompt for a password for the new superuser\n"
 msgstr "  -W, --pwprompt            pedir una contraseña para el nuevo superusuario\n"
 
-#: initdb.c:2453
+#: initdb.c:2474
 #, c-format
 msgid "  -X, --waldir=WALDIR       location for the write-ahead log directory\n"
 msgstr "  -X, --waldir=WALDIR       ubicación del directorio WAL\n"
 
-#: initdb.c:2454
+#: initdb.c:2475
 #, c-format
 msgid "      --wal-segsize=SIZE    size of WAL segments, in megabytes\n"
 msgstr "      --wal-segsize=TAMAÑO  tamaño de los segmentos de WAL, en megabytes\n"
 
-#: initdb.c:2455
+#: initdb.c:2476
 #, c-format
 msgid ""
 "\n"
@@ -645,52 +723,59 @@ msgstr ""
 "\n"
 "Opciones menos usadas:\n"
 
-#: initdb.c:2456
-#, c-format
+#: initdb.c:2477
+#, fuzzy, c-format
+#| msgid "  -c NAME=VALUE      set run-time parameter\n"
 msgid "  -c, --set NAME=VALUE      override default setting for server parameter\n"
-msgstr "  -c, --set NOMBRE=VALOR    sobreescribe valor por omisión de parámetro de servidor\n"
+msgstr "  -c VAR=VALOR    definir parámetro de ejecución\n"
 
-#: initdb.c:2457
+#: initdb.c:2478
 #, c-format
 msgid "  -d, --debug               generate lots of debugging output\n"
 msgstr "  -d, --debug               genera mucha salida de depuración\n"
 
-#: initdb.c:2458
+#: initdb.c:2479
 #, c-format
 msgid "      --discard-caches      set debug_discard_caches=1\n"
 msgstr "      --discard-caches      establece debug_discard_caches=1\n"
 
-#: initdb.c:2459
+#: initdb.c:2480
 #, c-format
 msgid "  -L DIRECTORY              where to find the input files\n"
 msgstr "  -L DIRECTORIO             donde encontrar los archivos de entrada\n"
 
-#: initdb.c:2460
+#: initdb.c:2481
 #, c-format
 msgid "  -n, --no-clean            do not clean up after errors\n"
 msgstr "  -n, --no-clean            no limpiar después de errores\n"
 
-#: initdb.c:2461
+#: initdb.c:2482
 #, c-format
 msgid "  -N, --no-sync             do not wait for changes to be written safely to disk\n"
 msgstr "  -N, --no-sync             no esperar que los cambios se sincronicen a disco\n"
 
-#: initdb.c:2462
+#: initdb.c:2483
 #, c-format
 msgid "      --no-instructions     do not print instructions for next steps\n"
 msgstr "      --no-instructions     no mostrar instrucciones para los siguientes pasos\n"
 
-#: initdb.c:2463
-#, c-format
-msgid "  -s, --show                show internal settings\n"
+#: initdb.c:2484
+#, fuzzy, c-format
+#| msgid "  -s, --show                show internal settings\n"
+msgid "  -s, --show                show internal settings, then exit\n"
 msgstr "  -s, --show                muestra variables internas\n"
 
-#: initdb.c:2464
+#: initdb.c:2485
+#, c-format
+msgid "      --sync-method=METHOD  set method for syncing files to disk\n"
+msgstr ""
+
+#: initdb.c:2486
 #, c-format
 msgid "  -S, --sync-only           only sync database files to disk, then exit\n"
 msgstr "  -S, --sync-only           sólo sincronizar el directorio de datos y salir\n"
 
-#: initdb.c:2465
+#: initdb.c:2487
 #, c-format
 msgid ""
 "\n"
@@ -699,17 +784,17 @@ msgstr ""
 "\n"
 "Otras opciones:\n"
 
-#: initdb.c:2466
+#: initdb.c:2488
 #, c-format
 msgid "  -V, --version             output version information, then exit\n"
 msgstr "  -V, --version             mostrar información de version y salir\n"
 
-#: initdb.c:2467
+#: initdb.c:2489
 #, c-format
 msgid "  -?, --help                show this help, then exit\n"
 msgstr "  -?, --help                mostrar esta ayuda y salir\n"
 
-#: initdb.c:2468
+#: initdb.c:2490
 #, c-format
 msgid ""
 "\n"
@@ -720,7 +805,7 @@ msgstr ""
 "Si el directorio de datos no es especificado, se usa la variable de\n"
 "ambiente PGDATA.\n"
 
-#: initdb.c:2470
+#: initdb.c:2492
 #, c-format
 msgid ""
 "\n"
@@ -729,72 +814,74 @@ msgstr ""
 "\n"
 "Reporte errores a <%s>.\n"
 
-#: initdb.c:2471
+#: initdb.c:2493
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sitio web de %s: <%s>\n"
 
-#: initdb.c:2499
+#: initdb.c:2517
 #, c-format
 msgid "invalid authentication method \"%s\" for \"%s\" connections"
 msgstr "método de autentificación «%s» no válido para conexiones «%s»"
 
-#: initdb.c:2513
+#: initdb.c:2531
 #, c-format
 msgid "must specify a password for the superuser to enable password authentication"
 msgstr "debe especificar una contraseña al superusuario para activar autentificación mediante contraseña"
 
-#: initdb.c:2532
+#: initdb.c:2550
 #, c-format
 msgid "no data directory specified"
 msgstr "no se especificó un directorio de datos"
 
-#: initdb.c:2533
+#: initdb.c:2551
 #, c-format
 msgid "You must identify the directory where the data for this database system will reside.  Do this with either the invocation option -D or the environment variable PGDATA."
 msgstr "Debe especificar el directorio donde residirán los datos para este clúster.  Hágalo usando la opción -D o la variable de ambiente PGDATA."
 
-#: initdb.c:2550
+#: initdb.c:2568
 #, c-format
 msgid "could not set environment"
 msgstr "no se pudo establecer el ambiente"
 
-#: initdb.c:2568
+#: initdb.c:2586
 #, c-format
 msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\""
 msgstr "el programa «%s» es requerido por %s pero se encontró en el mismo directorio que «%s»"
 
-#: initdb.c:2571
+#: initdb.c:2589
 #, c-format
 msgid "program \"%s\" was found by \"%s\" but was not the same version as %s"
 msgstr "El programa «%s» fue encontrado por «%s», pero no es de la misma versión que %s"
 
-#: initdb.c:2586
+#: initdb.c:2604
 #, c-format
 msgid "input file location must be an absolute path"
 msgstr "la ubicación de archivos de entrada debe ser una ruta absoluta"
 
-#: initdb.c:2603
+#: initdb.c:2621
 #, c-format
 msgid "The database cluster will be initialized with locale \"%s\".\n"
 msgstr "El cluster será inicializado con configuración regional «%s».\n"
 
-#: initdb.c:2606
+#: initdb.c:2624
 #, c-format
 msgid "The database cluster will be initialized with this locale configuration:\n"
 msgstr "El cluster será inicializado con esta configuración regional:\n"
 
-#: initdb.c:2607
-#, c-format
-msgid "  provider:    %s\n"
+#: initdb.c:2625
+#, fuzzy, c-format
+#| msgid "  provider:    %s\n"
+msgid "  locale provider:   %s\n"
 msgstr "  proveedor:    %s\n"
 
-#: initdb.c:2609
-#, c-format
-msgid "  ICU locale:  %s\n"
-msgstr "  Locale ICU:   %s\n"
+#: initdb.c:2627
+#, fuzzy, c-format
+#| msgid "invalid collation \"%s\""
+msgid "  default collation: %s\n"
+msgstr "ordenamiento \"%s\" no válido"
 
-#: initdb.c:2610
+#: initdb.c:2628
 #, c-format
 msgid ""
 "  LC_COLLATE:  %s\n"
@@ -811,22 +898,22 @@ msgstr ""
 "  LC_NUMERIC:  %s\n"
 "  LC_TIME:     %s\n"
 
-#: initdb.c:2640
+#: initdb.c:2658
 #, c-format
 msgid "could not find suitable encoding for locale \"%s\""
 msgstr "no se pudo encontrar una codificación apropiada para la configuración regional «%s»"
 
-#: initdb.c:2642
+#: initdb.c:2660
 #, c-format
 msgid "Rerun %s with the -E option."
 msgstr "Ejecute %s nuevamente con la opción -E."
 
-#: initdb.c:2643 initdb.c:3176 initdb.c:3284 initdb.c:3304
+#: initdb.c:2661 initdb.c:3204 initdb.c:3324 initdb.c:3344
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Pruebe «%s --help» para mayor información."
 
-#: initdb.c:2655
+#: initdb.c:2673
 #, c-format
 msgid ""
 "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n"
@@ -836,109 +923,115 @@ msgstr ""
 "no puede ser usada como codificación del lado del servidor.\n"
 "La codificación por omisión será «%s».\n"
 
-#: initdb.c:2660
+#: initdb.c:2678
 #, c-format
 msgid "locale \"%s\" requires unsupported encoding \"%s\""
 msgstr "la configuración regional «%s» requiere la codificación no soportada «%s»"
 
-#: initdb.c:2662
+#: initdb.c:2680
 #, c-format
 msgid "Encoding \"%s\" is not allowed as a server-side encoding."
 msgstr "La codificación «%s» no puede ser usada como codificación del lado del servidor."
 
-#: initdb.c:2664
+#: initdb.c:2682
 #, c-format
 msgid "Rerun %s with a different locale selection."
 msgstr "Ejecute %s nuevamente con opciones de configuración regional diferente."
 
-#: initdb.c:2672
+#: initdb.c:2690
 #, c-format
 msgid "The default database encoding has accordingly been set to \"%s\".\n"
 msgstr "La codificación por omisión ha sido por lo tanto definida a «%s».\n"
 
-#: initdb.c:2741
+#: initdb.c:2704
+#, fuzzy, c-format
+#| msgid "locale \"%s\" requires unsupported encoding \"%s\""
+msgid "builtin provider locale \"%s\" requires encoding \"%s\""
+msgstr "la configuración regional «%s» requiere la codificación no soportada «%s»"
+
+#: initdb.c:2766
 #, c-format
 msgid "could not find suitable text search configuration for locale \"%s\""
 msgstr ""
 "no se pudo encontrar una configuración para búsqueda en texto apropiada\n"
 "para la configuración regional «%s»"
 
-#: initdb.c:2752
+#: initdb.c:2777
 #, c-format
 msgid "suitable text search configuration for locale \"%s\" is unknown"
 msgstr "la configuración de búsqueda en texto apropiada para la configuración regional «%s» es desconocida"
 
-#: initdb.c:2757
+#: initdb.c:2782
 #, c-format
 msgid "specified text search configuration \"%s\" might not match locale \"%s\""
 msgstr "la configuración de búsqueda en texto «%s» especificada podría no coincidir con la configuración regional «%s»"
 
-#: initdb.c:2762
+#: initdb.c:2787
 #, c-format
 msgid "The default text search configuration will be set to \"%s\".\n"
 msgstr "La configuración de búsqueda en texto ha sido definida a «%s».\n"
 
-#: initdb.c:2805 initdb.c:2876
+#: initdb.c:2830 initdb.c:2901
 #, c-format
 msgid "creating directory %s ... "
 msgstr "creando el directorio %s ... "
 
-#: initdb.c:2810 initdb.c:2881 initdb.c:2929 initdb.c:2985
+#: initdb.c:2835 initdb.c:2906 initdb.c:2954 initdb.c:3011
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "no se pudo crear el directorio «%s»: %m"
 
-#: initdb.c:2819 initdb.c:2891
+#: initdb.c:2844 initdb.c:2916
 #, c-format
 msgid "fixing permissions on existing directory %s ... "
 msgstr "corrigiendo permisos en el directorio existente %s ... "
 
-#: initdb.c:2824 initdb.c:2896
+#: initdb.c:2849 initdb.c:2921
 #, c-format
 msgid "could not change permissions of directory \"%s\": %m"
 msgstr "no se pudo cambiar los permisos del directorio «%s»: %m"
 
-#: initdb.c:2836 initdb.c:2908
+#: initdb.c:2861 initdb.c:2933
 #, c-format
 msgid "directory \"%s\" exists but is not empty"
 msgstr "el directorio «%s» existe pero no está vacío"
 
-#: initdb.c:2840
+#: initdb.c:2865
 #, c-format
 msgid "If you want to create a new database system, either remove or empty the directory \"%s\" or run %s with an argument other than \"%s\"."
 msgstr "Si quiere crear un nuevo cluster de bases de datos, elimine o vacíe el directorio «%s», o ejecute %s con un argumento distinto de «%s»."
 
-#: initdb.c:2848 initdb.c:2918 initdb.c:3325
+#: initdb.c:2873 initdb.c:2943 initdb.c:3369
 #, c-format
 msgid "could not access directory \"%s\": %m"
 msgstr "no se pudo acceder al directorio «%s»: %m"
 
-#: initdb.c:2869
+#: initdb.c:2894
 #, c-format
 msgid "WAL directory location must be an absolute path"
 msgstr "la ubicación del directorio de WAL debe ser una ruta absoluta"
 
-#: initdb.c:2912
+#: initdb.c:2937
 #, c-format
 msgid "If you want to store the WAL there, either remove or empty the directory \"%s\"."
 msgstr "Si quiere almacenar el WAL ahí, elimine o vacíe el directorio «%s»."
 
-#: initdb.c:2922
+#: initdb.c:2947
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "no se pudo crear el enlace simbólico «%s»: %m"
 
-#: initdb.c:2941
+#: initdb.c:2966
 #, c-format
 msgid "It contains a dot-prefixed/invisible file, perhaps due to it being a mount point."
 msgstr "Contiene un archivo invisible o que empieza con un punto (.), quizás por ser un punto de montaje."
 
-#: initdb.c:2943
+#: initdb.c:2968
 #, c-format
 msgid "It contains a lost+found directory, perhaps due to it being a mount point."
 msgstr "Contiene un directorio lost+found, quizás por ser un punto de montaje."
 
-#: initdb.c:2945
+#: initdb.c:2970
 #, c-format
 msgid ""
 "Using a mount point directly as the data directory is not recommended.\n"
@@ -947,72 +1040,68 @@ msgstr ""
 "Usar un punto de montaje directamente como directorio de datos no es recomendado.\n"
 "Cree un subdirectorio bajo el punto de montaje."
 
-#: initdb.c:2971
+#: initdb.c:2997
 #, c-format
 msgid "creating subdirectories ... "
 msgstr "creando subdirectorios ... "
 
-#: initdb.c:3014
+#: initdb.c:3040
 msgid "performing post-bootstrap initialization ... "
 msgstr "realizando inicialización post-bootstrap ... "
 
-#: initdb.c:3175
+#: initdb.c:3203
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s requiere un valor"
 
-#: initdb.c:3200
+#: initdb.c:3228
 #, c-format
 msgid "Running in debug mode.\n"
 msgstr "Ejecutando en modo de depuración.\n"
 
-#: initdb.c:3204
+#: initdb.c:3232
 #, c-format
 msgid "Running in no-clean mode.  Mistakes will not be cleaned up.\n"
 msgstr "Ejecutando en modo no-clean.  Los errores no serán limpiados.\n"
 
-#: initdb.c:3274
+#: initdb.c:3305
 #, c-format
 msgid "unrecognized locale provider: %s"
 msgstr "proveedor de ordenamiento no reconocido: %s"
 
-#: initdb.c:3302
+#: initdb.c:3342
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)"
 
-#: initdb.c:3309 initdb.c:3313
+#: initdb.c:3349 initdb.c:3353 initdb.c:3357
 #, c-format
 msgid "%s cannot be specified unless locale provider \"%s\" is chosen"
 msgstr "%s no puede especificarse a menos que el proveedor de locale «%s» sea escogido"
 
-#: initdb.c:3327 initdb.c:3404
+#: initdb.c:3371 initdb.c:3434
 msgid "syncing data to disk ... "
 msgstr "sincronizando los datos a disco ... "
 
-#: initdb.c:3335
+#: initdb.c:3379
 #, c-format
 msgid "password prompt and password file cannot be specified together"
 msgstr ""
 "la petición de contraseña y el archivo de contraseña no pueden\n"
 "ser especificados simultáneamente"
 
-#: initdb.c:3357
-#, c-format
-msgid "argument of --wal-segsize must be a number"
-msgstr "el argumento de --wal-segsize debe ser un número"
-
-#: initdb.c:3359
-#, c-format
-msgid "argument of --wal-segsize must be a power of two between 1 and 1024"
+#: initdb.c:3390
+#, fuzzy, c-format
+#| msgid "argument of --wal-segsize must be a power of two between 1 and 1024"
+msgid "argument of %s must be a power of two between 1 and 1024"
 msgstr "el argumento de --wal-segsize debe ser una potencia de dos entre 1 y 1024"
 
-#: initdb.c:3373
+#: initdb.c:3403
 #, c-format
 msgid "superuser name \"%s\" is disallowed; role names cannot begin with \"pg_\""
 msgstr "nombre de superusuario «%s» no permitido; los nombres de rol no pueden comenzar con «pg_»"
 
-#: initdb.c:3375
+#: initdb.c:3405
 #, c-format
 msgid ""
 "The files belonging to this database system will be owned by user \"%s\".\n"
@@ -1023,17 +1112,17 @@ msgstr ""
 "Este usuario también debe ser quien ejecute el proceso servidor.\n"
 "\n"
 
-#: initdb.c:3391
+#: initdb.c:3421
 #, c-format
 msgid "Data page checksums are enabled.\n"
 msgstr "Las sumas de verificación en páginas de datos han sido activadas.\n"
 
-#: initdb.c:3393
+#: initdb.c:3423
 #, c-format
 msgid "Data page checksums are disabled.\n"
 msgstr "Las sumas de verificación en páginas de datos han sido desactivadas.\n"
 
-#: initdb.c:3410
+#: initdb.c:3440
 #, c-format
 msgid ""
 "\n"
@@ -1045,22 +1134,22 @@ msgstr ""
 "El directorio de datos podría corromperse si el sistema operativo sufre\n"
 "una caída.\n"
 
-#: initdb.c:3415
+#: initdb.c:3445
 #, c-format
 msgid "enabling \"trust\" authentication for local connections"
 msgstr "activando el método de autentificación «trust» para conexiones locales"
 
-#: initdb.c:3416
+#: initdb.c:3446
 #, c-format
 msgid "You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb."
 msgstr "Puede cambiar esto editando pg_hba.conf o usando el parámetro -A, o --auth-local y --auth-host la próxima vez que ejecute initdb."
 
 #. translator: This is a placeholder in a shell command.
-#: initdb.c:3446
+#: initdb.c:3476
 msgid "logfile"
 msgstr "archivo_de_registro"
 
-#: initdb.c:3448
+#: initdb.c:3478
 #, c-format
 msgid ""
 "\n"
index 98349a8ad1f067bb4db04f4f35ab2330bf1946e2..adcd2d090eb468fe4cb0466d942345fbd293092b 100644 (file)
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libpq (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-10-03 07:10+0000\n"
+"POT-Creation-Date: 2024-08-01 11:10+0000\n"
 "PO-Revision-Date: 2023-10-06 13:28+0200\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
@@ -23,131 +23,151 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: BlackCAT 1.1\n"
 
-#: ../../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"
 
-#: fe-auth-scram.c:227
-#, c-format
+#: fe-auth-scram.c:223
+#, fuzzy, c-format
+#| msgid "malformed SCRAM message (empty message)"
 msgid "malformed SCRAM message (empty message)"
 msgstr "mensaje SCRAM mal formado (mensaje vacío)"
 
-#: fe-auth-scram.c:232
-#, c-format
+#: fe-auth-scram.c:228
+#, fuzzy, c-format
+#| msgid "malformed SCRAM message (length mismatch)"
 msgid "malformed SCRAM message (length mismatch)"
 msgstr "mensaje SCRAM mal formado (longitud no coincide)"
 
-#: fe-auth-scram.c:275
-#, c-format
+#: fe-auth-scram.c:272
+#, fuzzy, c-format
+#| msgid "could not verify server signature: %s"
 msgid "could not verify server signature: %s"
 msgstr "no se pudo verificar la signatura del servidor: %s"
 
-#: fe-auth-scram.c:281
-#, c-format
+#: fe-auth-scram.c:278
+#, fuzzy, c-format
+#| msgid "incorrect server signature"
 msgid "incorrect server signature"
 msgstr "signatura de servidor incorrecta"
 
-#: fe-auth-scram.c:290
-#, c-format
+#: fe-auth-scram.c:287
+#, fuzzy, c-format
+#| msgid "invalid SCRAM exchange state"
 msgid "invalid SCRAM exchange state"
 msgstr "estado de intercambio SCRAM no es válido"
 
-#: fe-auth-scram.c:317
-#, c-format
+#: fe-auth-scram.c:311
+#, fuzzy, c-format
+#| msgid "malformed SCRAM message (attribute \"%c\" expected)"
 msgid "malformed SCRAM message (attribute \"%c\" expected)"
 msgstr "mensaje SCRAM mal formado (se esperaba atributo «%c»)"
 
-#: fe-auth-scram.c:326
-#, c-format
+#: fe-auth-scram.c:320
+#, fuzzy, c-format
+#| msgid "malformed SCRAM message (expected character \"=\" for attribute \"%c\")"
 msgid "malformed SCRAM message (expected character \"=\" for attribute \"%c\")"
 msgstr "mensaje SCRAM mal formado (se esperaba el carácter «=» para el atributo «%c»)"
 
-#: fe-auth-scram.c:366
-#, c-format
+#: fe-auth-scram.c:360
+#, fuzzy, c-format
+#| msgid "could not generate nonce"
 msgid "could not generate nonce"
 msgstr "no se pudo generar nonce"
 
-#: fe-auth-scram.c:375 fe-auth-scram.c:448 fe-auth-scram.c:600
-#: fe-auth-scram.c:620 fe-auth-scram.c:644 fe-auth-scram.c:658
-#: fe-auth-scram.c:704 fe-auth-scram.c:740 fe-auth-scram.c:914 fe-auth.c:296
-#: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:729 fe-auth.c:1210
-#: fe-auth.c:1375 fe-connect.c:925 fe-connect.c:1759 fe-connect.c:1921
-#: fe-connect.c:3291 fe-connect.c:4496 fe-connect.c:5161 fe-connect.c:5416
-#: fe-connect.c:5534 fe-connect.c:5781 fe-connect.c:5861 fe-connect.c:5959
-#: fe-connect.c:6210 fe-connect.c:6237 fe-connect.c:6313 fe-connect.c:6336
-#: fe-connect.c:6360 fe-connect.c:6395 fe-connect.c:6481 fe-connect.c:6489
-#: fe-connect.c:6846 fe-connect.c:6996 fe-exec.c:527 fe-exec.c:1321
-#: fe-exec.c:3111 fe-exec.c:4071 fe-exec.c:4235 fe-gssapi-common.c:109
-#: fe-lobj.c:870 fe-protocol3.c:204 fe-protocol3.c:228 fe-protocol3.c:256
-#: fe-protocol3.c:273 fe-protocol3.c:353 fe-protocol3.c:720 fe-protocol3.c:959
-#: fe-protocol3.c:1770 fe-protocol3.c:2170 fe-secure-common.c:110
-#: fe-secure-gssapi.c:500 fe-secure-openssl.c:434 fe-secure-openssl.c:1285
+#: fe-auth-scram.c:369 fe-auth-scram.c:442 fe-auth-scram.c:594
+#: fe-auth-scram.c:614 fe-auth-scram.c:638 fe-auth-scram.c:652
+#: fe-auth-scram.c:698 fe-auth-scram.c:734 fe-auth-scram.c:908 fe-auth.c:296
+#: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:727 fe-auth.c:1200
+#: fe-auth.c:1363 fe-cancel.c:159 fe-connect.c:936 fe-connect.c:976
+#: fe-connect.c:1860 fe-connect.c:2022 fe-connect.c:3430 fe-connect.c:4775
+#: fe-connect.c:5087 fe-connect.c:5342 fe-connect.c:5460 fe-connect.c:5707
+#: fe-connect.c:5787 fe-connect.c:5885 fe-connect.c:6136 fe-connect.c:6163
+#: fe-connect.c:6239 fe-connect.c:6262 fe-connect.c:6286 fe-connect.c:6321
+#: fe-connect.c:6407 fe-connect.c:6415 fe-connect.c:6772 fe-connect.c:6922
+#: fe-exec.c:530 fe-exec.c:1315 fe-exec.c:3254 fe-exec.c:4234 fe-exec.c:4398
+#: fe-gssapi-common.c:109 fe-lobj.c:870 fe-protocol3.c:209 fe-protocol3.c:232
+#: fe-protocol3.c:255 fe-protocol3.c:272 fe-protocol3.c:293 fe-protocol3.c:369
+#: fe-protocol3.c:737 fe-protocol3.c:976 fe-protocol3.c:1787
+#: fe-protocol3.c:2187 fe-secure-common.c:110 fe-secure-gssapi.c:496
+#: fe-secure-openssl.c:427 fe-secure-openssl.c:1277
 #, c-format
 msgid "out of memory"
 msgstr "memoria agotada"
 
-#: fe-auth-scram.c:382
-#, c-format
+#: fe-auth-scram.c:376
+#, fuzzy, c-format
+#| msgid "could not encode nonce"
 msgid "could not encode nonce"
 msgstr "no se pudo codificar nonce"
 
-#: fe-auth-scram.c:570
-#, c-format
+#: fe-auth-scram.c:564
+#, fuzzy, c-format
+#| msgid "could not calculate client proof: %s"
 msgid "could not calculate client proof: %s"
 msgstr "no se pudo calcular la prueba del cliente: %s"
 
-#: fe-auth-scram.c:585
-#, c-format
+#: fe-auth-scram.c:579
+#, fuzzy, c-format
+#| msgid "could not encode client proof"
 msgid "could not encode client proof"
 msgstr "no se pudo codificar la prueba del cliente"
 
-#: fe-auth-scram.c:637
-#, c-format
+#: fe-auth-scram.c:631
+#, fuzzy, c-format
+#| msgid "invalid SCRAM response (nonce mismatch)"
 msgid "invalid SCRAM response (nonce mismatch)"
 msgstr "respuesta SCRAM no es válida (nonce no coincide)"
 
-#: fe-auth-scram.c:667
-#, c-format
+#: fe-auth-scram.c:661
+#, fuzzy, c-format
+#| msgid "malformed SCRAM message (invalid salt)"
 msgid "malformed SCRAM message (invalid salt)"
 msgstr "mensaje SCRAM mal formado (sal no válida)"
 
-#: fe-auth-scram.c:680
-#, c-format
+#: fe-auth-scram.c:674
+#, fuzzy, c-format
+#| msgid "malformed SCRAM message (invalid iteration count)"
 msgid "malformed SCRAM message (invalid iteration count)"
 msgstr "mensaje SCRAM mal formado (el conteo de iteración no es válido)"
 
-#: fe-auth-scram.c:685
-#, c-format
+#: fe-auth-scram.c:679
+#, fuzzy, c-format
+#| msgid "malformed SCRAM message (garbage at end of server-first-message)"
 msgid "malformed SCRAM message (garbage at end of server-first-message)"
 msgstr "mensaje SCRAM mal formado (se encontró basura al final de server-first-message)"
 
-#: fe-auth-scram.c:719
-#, c-format
+#: fe-auth-scram.c:713
+#, fuzzy, c-format
+#| msgid "error received from server in SCRAM exchange: %s"
 msgid "error received from server in SCRAM exchange: %s"
 msgstr "se recibió un error desde el servidor durante el intercambio SCRAM: %s"
 
-#: fe-auth-scram.c:734
-#, c-format
+#: fe-auth-scram.c:728
+#, fuzzy, c-format
+#| msgid "malformed SCRAM message (garbage at end of server-final-message)"
 msgid "malformed SCRAM message (garbage at end of server-final-message)"
 msgstr "mensaje SCRAM mal formado (se encontró basura al final de server-final-message)"
 
-#: fe-auth-scram.c:751
-#, c-format
+#: fe-auth-scram.c:745
+#, fuzzy, c-format
+#| msgid "malformed SCRAM message (invalid server signature)"
 msgid "malformed SCRAM message (invalid server signature)"
 msgstr "mensaje SCRAM mal formado (la signatura del servidor no es válida)"
 
-#: fe-auth-scram.c:923
+#: fe-auth-scram.c:917
 msgid "could not generate random salt"
 msgstr "no se pudo generar una sal aleatoria"
 
 #: fe-auth.c:77
-#, c-format
+#, fuzzy, c-format
+#| msgid "out of memory allocating GSSAPI buffer (%d)"
 msgid "out of memory allocating GSSAPI buffer (%d)"
 msgstr "memoria agotada creando el búfer GSSAPI (%d)"
 
@@ -157,17 +177,20 @@ msgstr "error en continuación de GSSAPI"
 
 #: fe-auth.c:168 fe-auth.c:397 fe-gssapi-common.c:97 fe-secure-common.c:99
 #: fe-secure-common.c:173
-#, c-format
+#, fuzzy, c-format
+#| msgid "host name must be specified"
 msgid "host name must be specified"
 msgstr "el nombre de servidor debe ser especificado"
 
 #: fe-auth.c:174
-#, c-format
+#, fuzzy, c-format
+#| msgid "duplicate GSS authentication request"
 msgid "duplicate GSS authentication request"
 msgstr "petición de autentificación GSS duplicada"
 
 #: fe-auth.c:238
-#, c-format
+#, fuzzy, c-format
+#| msgid "out of memory allocating SSPI buffer (%d)"
 msgid "out of memory allocating SSPI buffer (%d)"
 msgstr "memoria agotada creando el búfer SSPI (%d)"
 
@@ -176,7 +199,8 @@ msgid "SSPI continuation error"
 msgstr "error en continuación de SSPI"
 
 #: fe-auth.c:359
-#, c-format
+#, fuzzy, c-format
+#| msgid "duplicate SSPI authentication request"
 msgid "duplicate SSPI authentication request"
 msgstr "petición de autentificación SSPI duplicada"
 
@@ -184,757 +208,940 @@ msgstr "petición de autentificación SSPI duplicada"
 msgid "could not acquire SSPI credentials"
 msgstr "no se pudo obtener las credenciales SSPI"
 
-#: fe-auth.c:437
-#, c-format
+#: fe-auth.c:436
+#, fuzzy, c-format
+#| msgid "channel binding required, but SSL not in use"
 msgid "channel binding required, but SSL not in use"
 msgstr "se requiere enlazado de canal (channel binding), pero no se está usando SSL"
 
-#: fe-auth.c:443
-#, c-format
+#: fe-auth.c:442
+#, fuzzy, c-format
+#| msgid "duplicate SASL authentication request"
 msgid "duplicate SASL authentication request"
 msgstr "petición de autentificación SASL duplicada"
 
-#: fe-auth.c:501
-#, c-format
+#: fe-auth.c:500
+#, fuzzy, c-format
+#| msgid "channel binding is required, but client does not support it"
 msgid "channel binding is required, but client does not support it"
 msgstr "se requiere enlazado de canal (channel binding), pero no está soportado en el cliente"
 
-#: fe-auth.c:517
-#, c-format
+#: fe-auth.c:516
+#, fuzzy, c-format
+#| msgid "server offered SCRAM-SHA-256-PLUS authentication over a non-SSL connection"
 msgid "server offered SCRAM-SHA-256-PLUS authentication over a non-SSL connection"
 msgstr "el servidor ofreció autenticación SCRAM-SHA-256-PLUS sobre una conexión no-SSL"
 
 #: fe-auth.c:531
-#, c-format
+#, fuzzy, c-format
+#| msgid "none of the server's SASL authentication mechanisms are supported"
 msgid "none of the server's SASL authentication mechanisms are supported"
 msgstr "ningún método de autentificación SASL del servidor está soportado"
 
 #: fe-auth.c:538
-#, c-format
+#, fuzzy, c-format
+#| msgid "channel binding is required, but server did not offer an authentication method that supports channel binding"
 msgid "channel binding is required, but server did not offer an authentication method that supports channel binding"
 msgstr "se requiere enlazado de canal (channel binding), pero el servidor no ofrece un método de autenticación que lo soporte"
 
-#: fe-auth.c:641
-#, c-format
+#: fe-auth.c:640
+#, fuzzy, c-format
+#| msgid "out of memory allocating SASL buffer (%d)"
 msgid "out of memory allocating SASL buffer (%d)"
 msgstr "memoria agotada creando el búfer SASL (%d)"
 
-#: fe-auth.c:665
-#, c-format
+#: fe-auth.c:663
+#, fuzzy, c-format
+#| msgid "AuthenticationSASLFinal received from server, but SASL authentication was not completed"
 msgid "AuthenticationSASLFinal received from server, but SASL authentication was not completed"
 msgstr "Se recibió AuthenticationSASLFinal desde el servidor, pero la autentificación SASL no se completó"
 
-#: fe-auth.c:675
-#, c-format
+#: fe-auth.c:673
+#, fuzzy, c-format
+#| msgid "no client response found after SASL exchange success"
 msgid "no client response found after SASL exchange success"
 msgstr "no se encontró respuesta del cliente luego del intercambio SASL exitoso"
 
-#: fe-auth.c:738 fe-auth.c:745 fe-auth.c:1358 fe-auth.c:1369
-#, c-format
+#: fe-auth.c:736 fe-auth.c:743 fe-auth.c:1346 fe-auth.c:1357
+#, fuzzy, c-format
+#| msgid "could not encrypt password: %s"
 msgid "could not encrypt password: %s"
 msgstr "no se pudo cifrar contraseña: %s"
 
-#: fe-auth.c:773
+#: fe-auth.c:772
 msgid "server requested a cleartext password"
-msgstr "el servidor solicitó una contraseña en texto claro"
+msgstr ""
 
-#: fe-auth.c:775
+#: fe-auth.c:774
 msgid "server requested a hashed password"
-msgstr "el servidor solicitó una contraseña cifrada"
+msgstr ""
 
-#: fe-auth.c:778
+#: fe-auth.c:777
+#, fuzzy
+#| msgid "duplicate SSPI authentication request"
 msgid "server requested GSSAPI authentication"
-msgstr "el servidor solicitó autentificación GSSAPI"
+msgstr "petición de autentificación SSPI duplicada"
 
-#: fe-auth.c:780
+#: fe-auth.c:779
+#, fuzzy
+#| msgid "duplicate SSPI authentication request"
 msgid "server requested SSPI authentication"
-msgstr "el servidor solicitó autentificación SSPI"
+msgstr "petición de autentificación SSPI duplicada"
 
-#: fe-auth.c:784
+#: fe-auth.c:783
+#, fuzzy
+#| msgid "duplicate SASL authentication request"
 msgid "server requested SASL authentication"
-msgstr "el servidor solicitó autentificación SASL"
+msgstr "petición de autentificación SASL duplicada"
 
-#: fe-auth.c:787
+#: fe-auth.c:786
+#, fuzzy
+#| msgid "multiple values specified for authentication type"
 msgid "server requested an unknown authentication type"
 msgstr "múltiples valores especificados para el tipo de autentificación"
 
-#: fe-auth.c:820
-#, c-format
+#: fe-auth.c:819
+#, fuzzy, c-format
+#| msgid "%s: server did not start in time\n"
 msgid "server did not request an SSL certificate"
-msgstr "el servidor no solicitó un certificado SSL"
+msgstr "%s: el servidor no inició a tiempo\n"
 
-#: fe-auth.c:825
-#, c-format
+#: fe-auth.c:824
+#, fuzzy, c-format
+#| msgid "connection requires a valid client certificate"
 msgid "server accepted connection without a valid SSL certificate"
-msgstr "el servidor aceptó la conexión sin un certificado SSL válido"
+msgstr "la conexión requiere un certificado de cliente válido"
 
-#: fe-auth.c:879
+#: fe-auth.c:878
+#, fuzzy
+#| msgid "server did not promote within %d second"
+#| msgid_plural "server did not promote within %d seconds"
 msgid "server did not complete authentication"
-msgstr "el servidor no completó la autentificación"
+msgstr "el servidor no se promovió en %d segundo"
 
-#: fe-auth.c:913
-#, c-format
+#: fe-auth.c:912
+#, fuzzy, c-format
+#| msgid "authentication method \"%s\" requires argument \"%s\" to be set"
 msgid "authentication method requirement \"%s\" failed: %s"
-msgstr "el método de autentificación «%s» requerido falló: %s"
+msgstr "el método de autentificación «%s» requiere que el argumento «%s» esté definido"
 
-#: fe-auth.c:936
-#, c-format
+#: fe-auth.c:935
+#, fuzzy, c-format
+#| msgid "channel binding required, but server authenticated client without channel binding"
 msgid "channel binding required, but server authenticated client without channel binding"
 msgstr "se requiere enlazado de canal (channel binding), pero el servidor autenticó al cliente sin enlazado de canal"
 
-#: fe-auth.c:941
-#, c-format
+#: fe-auth.c:940
+#, fuzzy, c-format
+#| msgid "channel binding required but not supported by server's authentication request"
 msgid "channel binding required but not supported by server's authentication request"
 msgstr "se requiere enlazado de canal (channel binding), pero no es compatible con la solicitud de autenticación del servidor"
 
-#: fe-auth.c:975
-#, c-format
+#: fe-auth.c:974
+#, fuzzy, c-format
+#| msgid "Kerberos 4 authentication not supported"
 msgid "Kerberos 4 authentication not supported"
 msgstr "el método de autentificación Kerberos 4 no está soportado"
 
-#: fe-auth.c:979
-#, c-format
+#: fe-auth.c:978
+#, fuzzy, c-format
+#| msgid "Kerberos 5 authentication not supported"
 msgid "Kerberos 5 authentication not supported"
 msgstr "el método de autentificación Kerberos 5 no está soportado"
 
-#: fe-auth.c:1049
-#, c-format
+#: fe-auth.c:1048
+#, fuzzy, c-format
+#| msgid "GSSAPI authentication not supported"
 msgid "GSSAPI authentication not supported"
 msgstr "el método de autentificación GSSAPI no está soportado"
 
-#: fe-auth.c:1080
-#, c-format
+#: fe-auth.c:1079
+#, fuzzy, c-format
+#| msgid "SSPI authentication not supported"
 msgid "SSPI authentication not supported"
 msgstr "el método de autentificación SSPI no está soportado"
 
-#: fe-auth.c:1087
-#, c-format
+#: fe-auth.c:1086
+#, fuzzy, c-format
+#| msgid "Crypt authentication not supported"
 msgid "Crypt authentication not supported"
 msgstr "el método de autentificación Crypt no está soportado"
 
-#: fe-auth.c:1151
-#, c-format
+#: fe-auth.c:1150
+#, fuzzy, c-format
+#| msgid "authentication method %u not supported"
 msgid "authentication method %u not supported"
 msgstr "el método de autentificación %u no está soportado"
 
-#: fe-auth.c:1197
+#: fe-auth.c:1187
 #, c-format
 msgid "user name lookup failure: error code %lu"
 msgstr "fallo en la búsqueda de nombre de usuario: código de error %lu"
 
-#: fe-auth.c:1321
-#, c-format
+#: fe-auth.c:1309
+#, fuzzy, c-format
+#| msgid "unexpected shape of result set returned for SHOW"
 msgid "unexpected shape of result set returned for SHOW"
 msgstr "SHOW retornó un conjunto de resultados con estructura inesperada"
 
-#: fe-auth.c:1329
-#, c-format
-msgid "password_encryption value too long"
+#: fe-auth.c:1317
+#, fuzzy, c-format
+#| msgid "password_encryption value too long"
+msgid "\"password_encryption\" value too long"
 msgstr "el valor para password_encryption es demasiado largo"
 
-#: fe-auth.c:1379
-#, c-format
+#: fe-auth.c:1367
+#, fuzzy, c-format
+#| msgid "unrecognized password encryption algorithm \"%s\""
 msgid "unrecognized password encryption algorithm \"%s\""
 msgstr "algoritmo para cifrado de contraseña «%s» desconocido"
 
-#: fe-connect.c:1132
-#, c-format
+#: fe-cancel.c:76
+#, fuzzy, c-format
+#| msgid "connection pointer is NULL\n"
+msgid "connection pointer is NULL"
+msgstr "el puntero de conexión es NULL\n"
+
+#: fe-cancel.c:82 fe-misc.c:572
+#, fuzzy, c-format
+#| msgid "connection not open\n"
+msgid "connection not open"
+msgstr "la conexión no está abierta\n"
+
+#: fe-cancel.c:193
+#, fuzzy, c-format
+#| msgid "a backup is already in progress in this session"
+msgid "cancel request is already being sent on this connection"
+msgstr "ya hay un respaldo en curso en esta sesión"
+
+#: fe-cancel.c:263
+#, fuzzy, c-format
+#| msgid "unexpected result set from query"
+msgid "unexpected response from server"
+msgstr "conjunto de resultados inesperados de la consulta"
+
+#: fe-connect.c:1182
+#, fuzzy, c-format
+#| msgid "could not match %d host names to %d hostaddr values"
 msgid "could not match %d host names to %d hostaddr values"
 msgstr "no se pudo emparejar %d nombres de host a %d direcciones de host"
 
-#: fe-connect.c:1212
-#, c-format
+#: fe-connect.c:1262
+#, fuzzy, c-format
+#| msgid "could not match %d port numbers to %d hosts"
 msgid "could not match %d port numbers to %d hosts"
 msgstr "no se pudo emparejar %d números de puertos a %d hosts"
 
-#: fe-connect.c:1337
+#: fe-connect.c:1387
 #, c-format
 msgid "negative require_auth method \"%s\" cannot be mixed with non-negative methods"
-msgstr "el método require_auth negativo «%s» no puede ser mezclado con métodos no-negativos"
+msgstr ""
 
-#: fe-connect.c:1350
+#: fe-connect.c:1400
 #, c-format
 msgid "require_auth method \"%s\" cannot be mixed with negative methods"
-msgstr "el método require_auth «%s» no puede ser mezclado con métodos negativos"
+msgstr ""
 
-#: fe-connect.c:1410 fe-connect.c:1461 fe-connect.c:1503 fe-connect.c:1559
-#: fe-connect.c:1567 fe-connect.c:1598 fe-connect.c:1644 fe-connect.c:1684
-#: fe-connect.c:1705
-#, c-format
+#: fe-connect.c:1460 fe-connect.c:1511 fe-connect.c:1553 fe-connect.c:1596
+#: fe-connect.c:1699 fe-connect.c:1745 fe-connect.c:1785 fe-connect.c:1806
+#, fuzzy, c-format
+#| msgid "invalid %s value: \"%s\""
 msgid "invalid %s value: \"%s\""
 msgstr "valor %s no válido: «%s»"
 
-#: fe-connect.c:1443
-#, c-format
+#: fe-connect.c:1493
+#, fuzzy, c-format
+#| msgid "parameter \"%s\" specified more than once"
 msgid "require_auth method \"%s\" is specified more than once"
-msgstr "el método “require_auth” «%s» se especifica más de una vez"
+msgstr "el parámetro «%s» fue especificado más de una vez"
 
-#: fe-connect.c:1484 fe-connect.c:1523 fe-connect.c:1606
-#, c-format
+#: fe-connect.c:1534 fe-connect.c:1573 fe-connect.c:1605 fe-connect.c:1707
+#, fuzzy, c-format
+#| msgid "%s value \"%s\" invalid when SSL support is not compiled in"
 msgid "%s value \"%s\" invalid when SSL support is not compiled in"
 msgstr "el valor «%2$s» de %1$s no es válido cuando el soporte SSL no está compilado"
 
-#: fe-connect.c:1546
+#: fe-connect.c:1625
 #, c-format
-msgid "weak sslmode \"%s\" may not be used with sslrootcert=system (use \"verify-full\")"
-msgstr "el sslmode débil «%s» no puede ser usado con sslrootcert=system (use «verify-full»)"
+msgid "weak sslmode \"%s\" may not be used with sslnegotiation=direct (use \"require\", \"verify-ca\", or \"verify-full\")"
+msgstr ""
 
-#: fe-connect.c:1584
+#: fe-connect.c:1647
 #, c-format
+msgid "weak sslmode \"%s\" may not be used with sslrootcert=system (use \"verify-full\")"
+msgstr ""
+
+#: fe-connect.c:1660 fe-connect.c:1668
+#, fuzzy, c-format
+#| msgid "invalid %s value: \"%s\""
+msgid "invalid \"%s\" value: \"%s\""
+msgstr "valor %s no válido: «%s»"
+
+#: fe-connect.c:1685
+#, fuzzy, c-format
+#| msgid "invalid SSL protocol version range"
 msgid "invalid SSL protocol version range"
 msgstr "rango de versión de protocolo SSL no válido "
 
-#: fe-connect.c:1621
+#: fe-connect.c:1722
 #, c-format
 msgid "%s value \"%s\" is not supported (check OpenSSL version)"
-msgstr "el valor «%2$s» de %1$s no está soportado (verifique la versión de OpenSSL)"
+msgstr ""
 
-#: fe-connect.c:1651
-#, c-format
+#: fe-connect.c:1752
+#, fuzzy, c-format
+#| msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in"
 msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in"
 msgstr "el valor gssencmode «%s» no es válido cuando no se ha compilado con soporte GSSAPI"
 
-#: fe-connect.c:1944
-#, c-format
+#: fe-connect.c:2045
+#, fuzzy, c-format
+#| msgid "could not set socket to TCP no delay mode: %s"
 msgid "could not set socket to TCP no delay mode: %s"
 msgstr "no se pudo establecer el socket en modo TCP sin retardo: %s"
 
-#: fe-connect.c:2003
+#: fe-connect.c:2104
 #, c-format
 msgid "connection to server on socket \"%s\" failed: "
 msgstr "falló la conexión al servidor en el socket «%s»: "
 
-#: fe-connect.c:2029
+#: fe-connect.c:2130
 #, c-format
 msgid "connection to server at \"%s\" (%s), port %s failed: "
 msgstr "falló la conexión al servidor en «%s» (%s), puerto %s: "
 
-#: fe-connect.c:2034
+#: fe-connect.c:2135
 #, c-format
 msgid "connection to server at \"%s\", port %s failed: "
 msgstr "falló la conexión al servidor en «%s», puerto %s: "
 
-#: fe-connect.c:2057
-#, c-format
+#: fe-connect.c:2158
+#, fuzzy, c-format
+#| msgid "\tIs the server running locally and accepting connections on that socket?"
 msgid "\tIs the server running locally and accepting connections on that socket?"
 msgstr "\t¿Está el servidor en ejecución localmente y aceptando conexiones en ese socket?"
 
-#: fe-connect.c:2059
-#, c-format
+#: fe-connect.c:2160
+#, fuzzy, c-format
+#| msgid "\tIs the server running on that host and accepting TCP/IP connections?"
 msgid "\tIs the server running on that host and accepting TCP/IP connections?"
 msgstr "\t¿Está el servidor en ejecución en ese host y aceptando conexiones TCP/IP?"
 
-#: fe-connect.c:2122
-#, c-format
-msgid "invalid integer value \"%s\" for connection option \"%s\""
-msgstr "valor entero «%s» no válido para la opción de conexión «%s»"
-
-#: fe-connect.c:2151 fe-connect.c:2185 fe-connect.c:2220 fe-connect.c:2318
-#: fe-connect.c:2973
-#, c-format
+#: fe-connect.c:2206 fe-connect.c:2240 fe-connect.c:2275 fe-connect.c:2373
+#: fe-connect.c:3098
+#, fuzzy, c-format
+#| msgid "%s(%s) failed: %s"
 msgid "%s(%s) failed: %s"
 msgstr "%s(%s) falló: %s"
 
-#: fe-connect.c:2284
+#: fe-connect.c:2339
 #, c-format
 msgid "%s(%s) failed: error code %d"
 msgstr "%s(%s) falló: código de error %d"
 
-#: fe-connect.c:2597
-#, c-format
+#: fe-connect.c:2650
+#, fuzzy, c-format
+#| msgid "invalid connection state, probably indicative of memory corruption"
 msgid "invalid connection state, probably indicative of memory corruption"
 msgstr "el estado de conexión no es válido, probablemente por corrupción de memoria"
 
-#: fe-connect.c:2676
-#, c-format
+#: fe-connect.c:2733
+#, fuzzy, c-format
+#| msgid "invalid port number: \"%s\""
 msgid "invalid port number: \"%s\""
 msgstr "número de puerto no válido: «%s»"
 
-#: fe-connect.c:2690
-#, c-format
+#: fe-connect.c:2747
+#, fuzzy, c-format
+#| msgid "could not translate host name \"%s\" to address: %s"
 msgid "could not translate host name \"%s\" to address: %s"
 msgstr "no se pudo traducir el nombre «%s» a una dirección: %s"
 
-#: fe-connect.c:2702
-#, c-format
+#: fe-connect.c:2759
+#, fuzzy, c-format
+#| msgid "could not parse network address \"%s\": %s"
 msgid "could not parse network address \"%s\": %s"
 msgstr "no se pudo interpretar la dirección de red «%s»: %s"
 
-#: fe-connect.c:2713
+#: fe-connect.c:2770
 #, c-format
 msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)"
 msgstr "la ruta al socket de dominio Unix «%s» es demasiado larga (máximo %d bytes)"
 
-#: fe-connect.c:2727
-#, c-format
+#: fe-connect.c:2784
+#, fuzzy, c-format
+#| msgid "could not translate Unix-domain socket path \"%s\" to address: %s"
 msgid "could not translate Unix-domain socket path \"%s\" to address: %s"
 msgstr "no se pudo traducir la ruta del socket Unix «%s» a una dirección: %s"
 
-#: fe-connect.c:2901
+#: fe-connect.c:2950 fe-connect.c:4319
+#, fuzzy, c-format
+#| msgid "GSSAPI encryption required but was impossible (possibly no credential cache, no server support, or using a local socket)"
+msgid "GSSAPI encryption required but it is not supported over a local socket"
+msgstr "cifrado GSSAPI requerido, pero fue imposible (posiblemente no hay cache de credenciales, no hay soporte de servidor, o se está usando un socket local)"
+
+#: fe-connect.c:2958 fe-connect.c:4448
 #, c-format
+msgid "GSSAPI encryption required but no credential cache"
+msgstr ""
+
+#: fe-connect.c:3026
+#, fuzzy, c-format
+#| msgid "could not create socket: %s"
 msgid "could not create socket: %s"
 msgstr "no se pudo crear el socket: %s"
 
-#: fe-connect.c:2932
-#, c-format
+#: fe-connect.c:3057
+#, fuzzy, c-format
+#| msgid "could not set socket to nonblocking mode: %s"
 msgid "could not set socket to nonblocking mode: %s"
 msgstr "no se pudo establecer el socket en modo no bloqueante: %s"
 
-#: fe-connect.c:2943
-#, c-format
+#: fe-connect.c:3068
+#, fuzzy, c-format
+#| msgid "could not set socket to close-on-exec mode: %s"
 msgid "could not set socket to close-on-exec mode: %s"
 msgstr "no se pudo poner el socket en modo close-on-exec: %s"
 
-#: fe-connect.c:2961
-#, c-format
+#: fe-connect.c:3086
+#, fuzzy, c-format
+#| msgid "keepalives parameter must be an integer"
 msgid "keepalives parameter must be an integer"
 msgstr "el parámetro de keepalives debe ser un entero"
 
-#: fe-connect.c:3100
-#, c-format
+#: fe-connect.c:3225
+#, fuzzy, c-format
+#| msgid "could not get socket error status: %s"
 msgid "could not get socket error status: %s"
 msgstr "no se pudo determinar el estado de error del socket: %s"
 
-#: fe-connect.c:3127
-#, c-format
+#: fe-connect.c:3252
+#, fuzzy, c-format
+#| msgid "could not get client address from socket: %s"
 msgid "could not get client address from socket: %s"
 msgstr "no se pudo obtener la dirección del cliente desde el socket: %s"
 
-#: fe-connect.c:3165
-#, c-format
+#: fe-connect.c:3278
+#, fuzzy, c-format
+#| msgid "requirepeer parameter is not supported on this platform"
 msgid "requirepeer parameter is not supported on this platform"
 msgstr "el parámetro requirepeer no está soportado en esta plataforma"
 
-#: fe-connect.c:3167
-#, c-format
+#: fe-connect.c:3280
+#, fuzzy, c-format
+#| msgid "could not get peer credentials: %s"
 msgid "could not get peer credentials: %s"
 msgstr "no se pudo obtener credenciales de la contraparte: %s"
 
-#: fe-connect.c:3180
-#, c-format
+#: fe-connect.c:3293
+#, fuzzy, c-format
+#| msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\""
 msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\""
 msgstr "requirepeer especifica «%s», pero el nombre de usuario de la contraparte es «%s»"
 
-#: fe-connect.c:3221
-#, c-format
+#: fe-connect.c:3331
+#, fuzzy, c-format
+#| msgid "could not send GSSAPI negotiation packet: %s"
 msgid "could not send GSSAPI negotiation packet: %s"
 msgstr "no se pudo enviar el paquete de negociación GSSAPI: %s"
 
-#: fe-connect.c:3233
-#, c-format
-msgid "GSSAPI encryption required but was impossible (possibly no credential cache, no server support, or using a local socket)"
-msgstr "cifrado GSSAPI requerido, pero fue imposible (posiblemente no hay cache de credenciales, no hay soporte de servidor, o se está usando un socket local)"
-
-#: fe-connect.c:3274
-#, c-format
+#: fe-connect.c:3380
+#, fuzzy, c-format
+#| msgid "could not send SSL negotiation packet: %s"
 msgid "could not send SSL negotiation packet: %s"
 msgstr "no se pudo enviar el paquete de negociación SSL: %s"
 
-#: fe-connect.c:3303
-#, c-format
+#: fe-connect.c:3412
+#, fuzzy, c-format
+#| msgid "could not send copy-end packet: %s"
+msgid "could not send cancel packet: %s"
+msgstr "no se pudo enviar el paquete copy-end: %s"
+
+#: fe-connect.c:3442
+#, fuzzy, c-format
+#| msgid "could not send startup packet: %s"
 msgid "could not send startup packet: %s"
 msgstr "no se pudo enviar el paquete de inicio: %s"
 
-#: fe-connect.c:3378
-#, c-format
+#: fe-connect.c:3509
+#, fuzzy
+#| msgid "server does not support SSL, but SSL was required"
 msgid "server does not support SSL, but SSL was required"
 msgstr "el servidor no soporta SSL, pero SSL es requerida"
 
-#: fe-connect.c:3404
-#, c-format
+#: fe-connect.c:3534
+#, fuzzy, c-format
+#| msgid "received invalid response to SSL negotiation: %c"
 msgid "received invalid response to SSL negotiation: %c"
 msgstr "se ha recibido una respuesta no válida en la negociación SSL: %c"
 
-#: fe-connect.c:3424
-#, c-format
+#: fe-connect.c:3562
+#, fuzzy, c-format
+#| msgid "received unencrypted data after SSL response"
 msgid "received unencrypted data after SSL response"
 msgstr "se recibieron datos no cifrados después de la respuesta SSL"
 
-#: fe-connect.c:3504
-#, c-format
+#: fe-connect.c:3643
+#, fuzzy
+#| msgid "server doesn't support GSSAPI encryption, but it was required"
 msgid "server doesn't support GSSAPI encryption, but it was required"
 msgstr "el servidor no soporta cifrado GSSAPI, pero es requerida"
 
-#: fe-connect.c:3515
-#, c-format
+#: fe-connect.c:3647
+#, fuzzy, c-format
+#| msgid "received invalid response to GSSAPI negotiation: %c"
 msgid "received invalid response to GSSAPI negotiation: %c"
 msgstr "se ha recibido una respuesta no válida en la negociación GSSAPI: %c"
 
-#: fe-connect.c:3533
-#, c-format
+#: fe-connect.c:3665
+#, fuzzy, c-format
+#| msgid "received unencrypted data after GSSAPI encryption response"
 msgid "received unencrypted data after GSSAPI encryption response"
 msgstr "se recibieron datos no cifrados después de la respuesta de cifrado GSSAPI"
 
-#: fe-connect.c:3598
-#, c-format
+#: fe-connect.c:3725
+#, fuzzy, c-format
+#| msgid "expected authentication request from server, but received %c"
 msgid "expected authentication request from server, but received %c"
 msgstr "se esperaba una petición de autentificación desde el servidor, pero se ha recibido %c"
 
-#: fe-connect.c:3625 fe-connect.c:3794
-#, c-format
+#: fe-connect.c:3753 fe-connect.c:3876
+#, fuzzy, c-format
+#| msgid "invalid authentication method \"%s\""
 msgid "received invalid authentication request"
-msgstr "se recibió una solicitud de autentificación no válida"
+msgstr "método de autentificación «%s» no válido"
 
-#: fe-connect.c:3630 fe-connect.c:3779
-#, c-format
+#: fe-connect.c:3759 fe-connect.c:3861
+#, fuzzy, c-format
+#| msgid "received invalid response to SSL negotiation: %c"
 msgid "received invalid protocol negotiation message"
-msgstr "se recibió un mensaje de negociación de protocolo no válido"
+msgstr "se ha recibido una respuesta no válida en la negociación SSL: %c"
 
-#: fe-connect.c:3648 fe-connect.c:3702
-#, c-format
+#: fe-connect.c:3778 fe-connect.c:3832
+#, fuzzy, c-format
+#| msgid "invalid string in message"
 msgid "received invalid error message"
-msgstr "se recibió un mensaje de error no válido"
+msgstr "cadena no válida en el mensaje"
 
-#: fe-connect.c:3865
-#, c-format
+#: fe-connect.c:3947
+#, fuzzy, c-format
+#| msgid "unexpected message from server during startup"
 msgid "unexpected message from server during startup"
 msgstr "se ha recibido un mensaje inesperado del servidor durante el inicio"
 
-#: fe-connect.c:3956
-#, c-format
+#: fe-connect.c:4038
+#, fuzzy, c-format
+#| msgid "session is read-only"
 msgid "session is read-only"
 msgstr "la sesión es de solo lectura"
 
-#: fe-connect.c:3958
-#, c-format
+#: fe-connect.c:4040
+#, fuzzy, c-format
+#| msgid "session is not read-only"
 msgid "session is not read-only"
 msgstr "la sesión no es de solo lectura"
 
-#: fe-connect.c:4011
-#, c-format
+#: fe-connect.c:4093
+#, fuzzy, c-format
+#| msgid "server is in hot standby mode"
 msgid "server is in hot standby mode"
 msgstr "el servidor está en modo hot standby"
 
-#: fe-connect.c:4013
-#, c-format
+#: fe-connect.c:4095
+#, fuzzy, c-format
+#| msgid "server is not in hot standby mode"
 msgid "server is not in hot standby mode"
 msgstr "el servidor no está en modo hot standby"
 
-#: fe-connect.c:4129 fe-connect.c:4179
-#, c-format
+#: fe-connect.c:4217 fe-connect.c:4267
+#, fuzzy, c-format
+#| msgid "\"%s\" failed"
 msgid "\"%s\" failed"
 msgstr "«%s» falló"
 
-#: fe-connect.c:4193
-#, c-format
+#: fe-connect.c:4281
+#, fuzzy, c-format
+#| msgid "invalid connection state %d, probably indicative of memory corruption"
 msgid "invalid connection state %d, probably indicative of memory corruption"
 msgstr "estado de conexión no válido %d, probablemente por corrupción de memoria"
 
-#: fe-connect.c:5174
-#, c-format
+#: fe-connect.c:5100
+#, fuzzy, c-format
+#| msgid "invalid LDAP URL \"%s\": scheme must be ldap://"
 msgid "invalid LDAP URL \"%s\": scheme must be ldap://"
 msgstr "URL LDAP no válida «%s»: el esquema debe ser ldap://"
 
-#: fe-connect.c:5189
-#, c-format
+#: fe-connect.c:5115
+#, fuzzy, c-format
+#| msgid "invalid LDAP URL \"%s\": missing distinguished name"
 msgid "invalid LDAP URL \"%s\": missing distinguished name"
 msgstr "URL LDAP no válida «%s»: distinguished name faltante"
 
-#: fe-connect.c:5201 fe-connect.c:5259
-#, c-format
+#: fe-connect.c:5127 fe-connect.c:5185
+#, fuzzy, c-format
+#| msgid "invalid LDAP URL \"%s\": must have exactly one attribute"
 msgid "invalid LDAP URL \"%s\": must have exactly one attribute"
 msgstr "URL LDAP no válida «%s»: debe tener exactamente un atributo"
 
-#: fe-connect.c:5213 fe-connect.c:5275
-#, c-format
+#: fe-connect.c:5139 fe-connect.c:5201
+#, fuzzy, c-format
+#| msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)"
 msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)"
 msgstr "URL LDAP no válida «%s»: debe tener ámbito de búsqueda (base/one/sub)"
 
-#: fe-connect.c:5225
-#, c-format
+#: fe-connect.c:5151
+#, fuzzy, c-format
+#| msgid "invalid LDAP URL \"%s\": no filter"
 msgid "invalid LDAP URL \"%s\": no filter"
 msgstr "URL LDAP no válida «%s»: no tiene filtro"
 
-#: fe-connect.c:5247
-#, c-format
+#: fe-connect.c:5173
+#, fuzzy, c-format
+#| msgid "invalid LDAP URL \"%s\": invalid port number"
 msgid "invalid LDAP URL \"%s\": invalid port number"
 msgstr "URL LDAP no válida «%s»: número de puerto no válido"
 
-#: fe-connect.c:5284
-#, c-format
+#: fe-connect.c:5210
+#, fuzzy, c-format
+#| msgid "could not create LDAP structure"
 msgid "could not create LDAP structure"
 msgstr "no se pudo crear estructura LDAP"
 
-#: fe-connect.c:5359
-#, c-format
+#: fe-connect.c:5285
+#, fuzzy, c-format
+#| msgid "lookup on LDAP server failed: %s"
 msgid "lookup on LDAP server failed: %s"
 msgstr "búsqueda en servidor LDAP falló: %s"
 
-#: fe-connect.c:5369
-#, c-format
+#: fe-connect.c:5295
+#, fuzzy, c-format
+#| msgid "more than one entry found on LDAP lookup"
 msgid "more than one entry found on LDAP lookup"
 msgstr "se encontro más de una entrada en búsqueda LDAP"
 
-#: fe-connect.c:5371 fe-connect.c:5382
-#, c-format
+#: fe-connect.c:5297 fe-connect.c:5308
+#, fuzzy, c-format
+#| msgid "no entry found on LDAP lookup"
 msgid "no entry found on LDAP lookup"
 msgstr "no se encontró ninguna entrada en búsqueda LDAP"
 
-#: fe-connect.c:5392 fe-connect.c:5404
-#, c-format
+#: fe-connect.c:5318 fe-connect.c:5330
+#, fuzzy, c-format
+#| msgid "attribute has no values on LDAP lookup"
 msgid "attribute has no values on LDAP lookup"
 msgstr "la búsqueda LDAP entregó atributo sin valores"
 
-#: fe-connect.c:5455 fe-connect.c:5474 fe-connect.c:5998
-#, c-format
+#: fe-connect.c:5381 fe-connect.c:5400 fe-connect.c:5924
+#, fuzzy, c-format
+#| msgid "missing \"=\" after \"%s\" in connection info string"
 msgid "missing \"=\" after \"%s\" in connection info string"
 msgstr "falta «=» después de «%s» en la cadena de información de la conexión"
 
-#: fe-connect.c:5545 fe-connect.c:6181 fe-connect.c:6979
-#, c-format
+#: fe-connect.c:5471 fe-connect.c:6107 fe-connect.c:6905
+#, fuzzy, c-format
+#| msgid "invalid connection option \"%s\""
 msgid "invalid connection option \"%s\""
 msgstr "opción de conexión no válida «%s»"
 
-#: fe-connect.c:5560 fe-connect.c:6046
-#, c-format
+#: fe-connect.c:5486 fe-connect.c:5972
+#, fuzzy, c-format
+#| msgid "unterminated quoted string in connection info string"
 msgid "unterminated quoted string in connection info string"
 msgstr "cadena de caracteres entre comillas sin terminar en la cadena de información de conexión"
 
-#: fe-connect.c:5640
-#, c-format
+#: fe-connect.c:5566
+#, fuzzy, c-format
+#| msgid "definition of service \"%s\" not found"
 msgid "definition of service \"%s\" not found"
 msgstr "la definición de servicio «%s» no fue encontrada"
 
-#: fe-connect.c:5666
-#, c-format
+#: fe-connect.c:5592
+#, fuzzy, c-format
+#| msgid "service file \"%s\" not found"
 msgid "service file \"%s\" not found"
 msgstr "el archivo de servicio «%s» no fue encontrado"
 
-#: fe-connect.c:5679
-#, c-format
+#: fe-connect.c:5605
+#, fuzzy, c-format
+#| msgid "line %d too long in service file \"%s\""
 msgid "line %d too long in service file \"%s\""
 msgstr "la línea %d es demasiado larga en archivo de servicio «%s»"
 
-#: fe-connect.c:5750 fe-connect.c:5793
-#, c-format
+#: fe-connect.c:5676 fe-connect.c:5719
+#, fuzzy, c-format
+#| msgid "syntax error in service file \"%s\", line %d"
 msgid "syntax error in service file \"%s\", line %d"
 msgstr "error de sintaxis en archivo de servicio «%s», línea %d"
 
-#: fe-connect.c:5761
-#, c-format
+#: fe-connect.c:5687
+#, fuzzy, c-format
+#| msgid "nested service specifications not supported in service file \"%s\", line %d"
 msgid "nested service specifications not supported in service file \"%s\", line %d"
 msgstr "especificaciones de servicio anidadas no soportadas en archivo de servicio «%s», línea %d"
 
-#: fe-connect.c:6500
-#, c-format
+#: fe-connect.c:6426
+#, fuzzy, c-format
+#| msgid "invalid URI propagated to internal parser routine: \"%s\""
 msgid "invalid URI propagated to internal parser routine: \"%s\""
 msgstr "URI no válida propagada a rutina interna de procesamiento: «%s»"
 
-#: fe-connect.c:6577
-#, c-format
+#: fe-connect.c:6503
+#, fuzzy, c-format
+#| msgid "end of string reached when looking for matching \"]\" in IPv6 host address in URI: \"%s\""
 msgid "end of string reached when looking for matching \"]\" in IPv6 host address in URI: \"%s\""
 msgstr "se encontró el fin de la cadena mientras se buscaba el «]» correspondiente en dirección IPv6 en URI: «%s»"
 
-#: fe-connect.c:6584
-#, c-format
+#: fe-connect.c:6510
+#, fuzzy, c-format
+#| msgid "IPv6 host address may not be empty in URI: \"%s\""
 msgid "IPv6 host address may not be empty in URI: \"%s\""
 msgstr "la dirección IPv6 no puede ser vacía en la URI: «%s»"
 
-#: fe-connect.c:6599
-#, c-format
+#: fe-connect.c:6525
+#, fuzzy, c-format
+#| msgid "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): \"%s\""
 msgid "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): \"%s\""
 msgstr "carácter «%c» inesperado en la posición %d en URI (se esperaba «:» o «/»): «%s»"
 
-#: fe-connect.c:6728
-#, c-format
+#: fe-connect.c:6654
+#, fuzzy, c-format
+#| msgid "extra key/value separator \"=\" in URI query parameter: \"%s\""
 msgid "extra key/value separator \"=\" in URI query parameter: \"%s\""
 msgstr "separador llave/valor «=» extra en parámetro de la URI: «%s»"
 
-#: fe-connect.c:6748
-#, c-format
+#: fe-connect.c:6674
+#, fuzzy, c-format
+#| msgid "missing key/value separator \"=\" in URI query parameter: \"%s\""
 msgid "missing key/value separator \"=\" in URI query parameter: \"%s\""
 msgstr "separador llave/valor «=» faltante en parámetro de la URI: «%s»"
 
-#: fe-connect.c:6800
-#, c-format
+#: fe-connect.c:6726
+#, fuzzy, c-format
+#| msgid "invalid URI query parameter: \"%s\""
 msgid "invalid URI query parameter: \"%s\""
 msgstr "parámetro de URI no válido: «%s»"
 
-#: fe-connect.c:6874
-#, c-format
+#: fe-connect.c:6800
+#, fuzzy, c-format
+#| msgid "invalid percent-encoded token: \"%s\""
 msgid "invalid percent-encoded token: \"%s\""
 msgstr "elemento escapado con %% no válido: «%s»"
 
-#: fe-connect.c:6884
-#, c-format
+#: fe-connect.c:6810
+#, fuzzy, c-format
+#| msgid "forbidden value %%00 in percent-encoded value: \"%s\""
 msgid "forbidden value %%00 in percent-encoded value: \"%s\""
 msgstr "valor no permitido %%00 en valor escapado con %%: «%s»"
 
-#: fe-connect.c:7248
+#: fe-connect.c:7174
 msgid "connection pointer is NULL\n"
 msgstr "el puntero de conexión es NULL\n"
 
-#: fe-connect.c:7256 fe-exec.c:710 fe-exec.c:970 fe-exec.c:3292
-#: fe-protocol3.c:974 fe-protocol3.c:1007
+#: fe-connect.c:7182 fe-exec.c:713 fe-exec.c:975 fe-exec.c:3459
+#: fe-protocol3.c:991 fe-protocol3.c:1024
 msgid "out of memory\n"
 msgstr "memoria agotada\n"
 
-#: fe-connect.c:7547
+#: fe-connect.c:7473
 #, c-format
 msgid "WARNING: password file \"%s\" is not a plain file\n"
 msgstr "ADVERTENCIA: El archivo de claves «%s» no es un archivo plano\n"
 
-#: fe-connect.c:7556
+#: fe-connect.c:7482
 #, c-format
 msgid "WARNING: password file \"%s\" has group or world access; permissions should be u=rw (0600) or less\n"
 msgstr "ADVERTENCIA: El archivo de claves «%s» tiene permiso de lectura para el grupo u otros; los permisos deberían ser u=rw (0600) o menos\n"
 
-#: fe-connect.c:7663
-#, c-format
+#: fe-connect.c:7589
+#, fuzzy, c-format
+#| msgid "password retrieved from file \"%s\""
 msgid "password retrieved from file \"%s\""
 msgstr "contraseña obtenida desde el archivo «%s»"
 
-#: fe-exec.c:466 fe-exec.c:3366
+#: fe-connect.c:7741
+#, fuzzy, c-format
+#| msgid "invalid integer value \"%s\" for connection option \"%s\""
+msgid "invalid integer value \"%s\" for connection option \"%s\""
+msgstr "valor entero «%s» no válido para la opción de conexión «%s»"
+
+#: fe-exec.c:469 fe-exec.c:3533
 #, c-format
 msgid "row number %d is out of range 0..%d"
 msgstr "el número de fila %d está fuera del rango 0..%d"
 
-#: fe-exec.c:528 fe-protocol3.c:1976
+#: fe-exec.c:531 fe-protocol3.c:1993
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: fe-exec.c:831
-#, c-format
+#: fe-exec.c:834
+#, fuzzy, c-format
+#| msgid "write to server failed"
 msgid "write to server failed"
 msgstr "falló escritura al servidor"
 
-#: fe-exec.c:869
-#, c-format
+#: fe-exec.c:874
+#, fuzzy, c-format
+#| msgid "no error text available"
 msgid "no error text available"
 msgstr "no hay mensaje de error disponible"
 
-#: fe-exec.c:958
+#: fe-exec.c:963
 msgid "NOTICE"
 msgstr "AVISO"
 
-#: fe-exec.c:1016
+#: fe-exec.c:1021
 msgid "PGresult cannot support more than INT_MAX tuples"
 msgstr "PGresult no puede soportar un número de tuplas mayor que INT_MAX"
 
-#: fe-exec.c:1028
+#: fe-exec.c:1033
 msgid "size_t overflow"
 msgstr "desbordamiento de size_t"
 
-#: fe-exec.c:1444 fe-exec.c:1513 fe-exec.c:1559
-#, c-format
+#: fe-exec.c:1438 fe-exec.c:1507 fe-exec.c:1553
+#, fuzzy, c-format
+#| msgid "command string is a null pointer"
 msgid "command string is a null pointer"
 msgstr "la cadena de orden es un puntero nulo"
 
-#: fe-exec.c:1450 fe-exec.c:2888
-#, c-format
+#: fe-exec.c:1444 fe-exec.c:3003
+#, fuzzy, c-format
+#| msgid "%s not allowed in pipeline mode"
 msgid "%s not allowed in pipeline mode"
 msgstr "no se permite %s en modo pipeline"
 
-#: fe-exec.c:1518 fe-exec.c:1564 fe-exec.c:1658
-#, c-format
+#: fe-exec.c:1512 fe-exec.c:1558 fe-exec.c:1652
+#, fuzzy, c-format
+#| msgid "number of parameters must be between 0 and %d"
 msgid "number of parameters must be between 0 and %d"
 msgstr "el número de parámetros debe estar entre 0 y %d"
 
-#: fe-exec.c:1554 fe-exec.c:1653
-#, c-format
+#: fe-exec.c:1548 fe-exec.c:1647
+#, fuzzy, c-format
+#| msgid "statement name is a null pointer"
 msgid "statement name is a null pointer"
 msgstr "el nombre de sentencia es un puntero nulo"
 
-#: fe-exec.c:1695 fe-exec.c:3220
-#, c-format
+#: fe-exec.c:1689 fe-exec.c:3379
+#, fuzzy, c-format
+#| msgid "no connection to the server"
 msgid "no connection to the server"
 msgstr "no hay conexión con el servidor"
 
-#: fe-exec.c:1703 fe-exec.c:3228
-#, c-format
+#: fe-exec.c:1697 fe-exec.c:3387
+#, fuzzy, c-format
+#| msgid "another command is already in progress"
 msgid "another command is already in progress"
 msgstr "hay otra orden en ejecución"
 
-#: fe-exec.c:1733
-#, c-format
+#: fe-exec.c:1727
+#, fuzzy, c-format
+#| msgid "cannot queue commands during COPY"
 msgid "cannot queue commands during COPY"
 msgstr "no se puede agregar órdenes a la cola mientras se hace COPY"
 
-#: fe-exec.c:1850
-#, c-format
+#: fe-exec.c:1846
+#, fuzzy, c-format
+#| msgid "length must be given for binary parameter"
 msgid "length must be given for binary parameter"
 msgstr "el largo debe ser especificado para un parámetro binario"
 
-#: fe-exec.c:2171
-#, c-format
+#: fe-exec.c:2205
+#, fuzzy, c-format
+#| msgid "unexpected asyncStatus: %d"
 msgid "unexpected asyncStatus: %d"
 msgstr "asyncStatus no esperado: %d"
 
-#: fe-exec.c:2327
-#, c-format
+#: fe-exec.c:2361
+#, fuzzy, c-format
+#| msgid "synchronous command execution functions are not allowed in pipeline mode"
 msgid "synchronous command execution functions are not allowed in pipeline mode"
 msgstr "no se permiten funciones que ejecuten órdenes sincrónicas en modo pipeline"
 
-#: fe-exec.c:2344
+#: fe-exec.c:2378
 msgid "COPY terminated by new PQexec"
 msgstr "COPY terminado por un nuevo PQexec"
 
-#: fe-exec.c:2360
-#, c-format
+#: fe-exec.c:2394
+#, fuzzy, c-format
+#| msgid "PQexec not allowed during COPY BOTH"
 msgid "PQexec not allowed during COPY BOTH"
 msgstr "PQexec no está permitido durante COPY BOTH"
 
-#: fe-exec.c:2586 fe-exec.c:2641 fe-exec.c:2709 fe-protocol3.c:1907
-#, c-format
+#: fe-exec.c:2630
+#, fuzzy, c-format
+#| msgid "unexpected message type \"%c\""
+msgid "unrecognized message type \"%c\""
+msgstr "mensaje de tipo «%c» inesperado"
+
+#: fe-exec.c:2702 fe-exec.c:2756 fe-exec.c:2824 fe-protocol3.c:1924
+#, fuzzy, c-format
+#| msgid "no COPY in progress"
 msgid "no COPY in progress"
 msgstr "no hay COPY alguno en ejecución"
 
-#: fe-exec.c:2895
-#, c-format
+#: fe-exec.c:3010
+#, fuzzy, c-format
+#| msgid "connection in wrong state"
 msgid "connection in wrong state"
 msgstr "la conexión está en un estado incorrecto"
 
-#: fe-exec.c:2938
-#, c-format
+#: fe-exec.c:3053
+#, fuzzy, c-format
+#| msgid "cannot enter pipeline mode, connection not idle"
 msgid "cannot enter pipeline mode, connection not idle"
 msgstr "no se puede entrar en modo pipeline, la conexión no está inactiva"
 
-#: fe-exec.c:2974 fe-exec.c:2995
-#, c-format
+#: fe-exec.c:3089 fe-exec.c:3110
+#, fuzzy, c-format
+#| msgid "cannot exit pipeline mode with uncollected results"
 msgid "cannot exit pipeline mode with uncollected results"
 msgstr "no se puede salir de modo pipeline al tener resultados sin recolectar"
 
-#: fe-exec.c:2978
-#, c-format
+#: fe-exec.c:3093
+#, fuzzy, c-format
+#| msgid "cannot exit pipeline mode while busy"
 msgid "cannot exit pipeline mode while busy"
 msgstr "no se puede salir de modo pipeline mientras haya actividad"
 
-#: fe-exec.c:2989
-#, c-format
+#: fe-exec.c:3104
+#, fuzzy, c-format
+#| msgid "cannot exit pipeline mode while in COPY"
 msgid "cannot exit pipeline mode while in COPY"
 msgstr "no se puede salir de modo pipeline mientras se está en COPY"
 
-#: fe-exec.c:3154
-#, c-format
+#: fe-exec.c:3303
+#, fuzzy, c-format
+#| msgid "cannot send pipeline when not in pipeline mode"
 msgid "cannot send pipeline when not in pipeline mode"
 msgstr "no se puede enviar pipeline cuando no se está en modo pipeline"
 
-#: fe-exec.c:3255
+#: fe-exec.c:3422
 msgid "invalid ExecStatusType code"
 msgstr "el código de ExecStatusType no es válido"
 
-#: fe-exec.c:3282
+#: fe-exec.c:3449
 msgid "PGresult is not an error result\n"
 msgstr "PGresult no es un resultado de error\n"
 
-#: fe-exec.c:3350 fe-exec.c:3373
+#: fe-exec.c:3517 fe-exec.c:3540
 #, c-format
 msgid "column number %d is out of range 0..%d"
 msgstr "el número de columna %d está fuera del rango 0..%d"
 
-#: fe-exec.c:3388
+#: fe-exec.c:3555
 #, c-format
 msgid "parameter number %d is out of range 0..%d"
 msgstr "el número de parámetro %d está fuera del rango 0..%d"
 
-#: fe-exec.c:3699
+#: fe-exec.c:3866
 #, c-format
 msgid "could not interpret result from server: %s"
 msgstr "no se pudo interpretar el resultado del servidor: %s"
 
-#: fe-exec.c:3964 fe-exec.c:4054
-#, c-format
+#: fe-exec.c:4127 fe-exec.c:4217
+#, fuzzy, c-format
+#| msgid "incomplete multibyte character"
 msgid "incomplete multibyte character"
 msgstr "carácter multibyte incompleto"
 
@@ -945,22 +1152,26 @@ msgstr "error de importación de nombre de GSSAPI"
 #: fe-lobj.c:144 fe-lobj.c:207 fe-lobj.c:397 fe-lobj.c:487 fe-lobj.c:560
 #: fe-lobj.c:956 fe-lobj.c:963 fe-lobj.c:970 fe-lobj.c:977 fe-lobj.c:984
 #: fe-lobj.c:991 fe-lobj.c:998 fe-lobj.c:1005
-#, c-format
+#, fuzzy, c-format
+#| msgid "cannot determine OID of function %s"
 msgid "cannot determine OID of function %s"
 msgstr "no se puede determinar el OID de la función %s"
 
 #: fe-lobj.c:160
-#, c-format
+#, fuzzy, c-format
+#| msgid "argument of lo_truncate exceeds integer range"
 msgid "argument of lo_truncate exceeds integer range"
 msgstr "el argumento de lo_truncate excede el rango de enteros"
 
 #: fe-lobj.c:262
-#, c-format
+#, fuzzy, c-format
+#| msgid "argument of lo_read exceeds integer range"
 msgid "argument of lo_read exceeds integer range"
 msgstr "el argumento de lo_read excede el rango de enteros"
 
 #: fe-lobj.c:313
-#, c-format
+#, fuzzy, c-format
+#| msgid "argument of lo_write exceeds integer range"
 msgid "argument of lo_write exceeds integer range"
 msgstr "el argumento de lo_write excede el rango de enteros"
 
@@ -970,38 +1181,40 @@ msgid "could not open file \"%s\": %s"
 msgstr "no se pudo abrir el archivo «%s»: %s"
 
 #: fe-lobj.c:725
-#, c-format
+#, fuzzy, c-format
+#| msgid "could not read from file \"%s\": %s"
 msgid "could not read from file \"%s\": %s"
 msgstr "no se pudo leer el archivo «%s»: %s"
 
 #: fe-lobj.c:801 fe-lobj.c:824
-#, c-format
+#, fuzzy, c-format
+#| msgid "could not write to file \"%s\": %s"
 msgid "could not write to file \"%s\": %s"
 msgstr "no se pudo escribir a archivo «%s»: %s"
 
 #: fe-lobj.c:908
-#, c-format
+#, fuzzy, c-format
+#| msgid "query to initialize large object functions did not return data"
 msgid "query to initialize large object functions did not return data"
 msgstr "la consulta para inicializar las funciones de objetos grandes no devuelve datos"
 
-#: fe-misc.c:240
+#: fe-misc.c:239
 #, c-format
 msgid "integer of size %lu not supported by pqGetInt"
 msgstr "el entero de tamaño %lu no está soportado por pqGetInt"
 
-#: fe-misc.c:273
+#: fe-misc.c:272
 #, c-format
 msgid "integer of size %lu not supported by pqPutInt"
 msgstr "el entero de tamaño %lu no está soportado por pqPutInt"
 
-#: fe-misc.c:573
-#, c-format
-msgid "connection not open"
-msgstr "la conexión no está abierta"
-
-#: fe-misc.c:751 fe-secure-openssl.c:215 fe-secure-openssl.c:315
-#: fe-secure.c:257 fe-secure.c:419
-#, c-format
+#: fe-misc.c:750 fe-secure-openssl.c:203 fe-secure-openssl.c:309
+#: fe-secure.c:237 fe-secure.c:404
+#, fuzzy, c-format
+#| msgid ""
+#| "server closed the connection unexpectedly\n"
+#| "\tThis probably means the server terminated abnormally\n"
+#| "\tbefore or while processing the request."
 msgid ""
 "server closed the connection unexpectedly\n"
 "\tThis probably means the server terminated abnormally\n"
@@ -1011,340 +1224,378 @@ msgstr ""
 "\tProbablemente se debe a que el servidor terminó de manera anormal\n"
 "\tantes o durante el procesamiento de la petición."
 
-#: fe-misc.c:818
+#: fe-misc.c:817
 msgid "connection not open\n"
 msgstr "la conexión no está abierta\n"
 
-#: fe-misc.c:1003
-#, c-format
+#: fe-misc.c:1005
+#, fuzzy, c-format
+#| msgid "timeout expired"
 msgid "timeout expired"
 msgstr "tiempo de espera agotado"
 
-#: fe-misc.c:1047
-#, c-format
+#: fe-misc.c:1049
+#, fuzzy, c-format
+#| msgid "invalid socket"
 msgid "invalid socket"
 msgstr "socket no válido"
 
-#: fe-misc.c:1069
+#: fe-misc.c:1071
 #, c-format
 msgid "%s() failed: %s"
 msgstr "%s() falló: %s"
 
-#: fe-protocol3.c:182
+#: fe-protocol3.c:187
 #, c-format
 msgid "message type 0x%02x arrived from server while idle"
 msgstr "un mensaje de tipo 0x%02x llegó del servidor estando inactivo"
 
-#: fe-protocol3.c:385
-#, c-format
+#: fe-protocol3.c:402
+#, fuzzy, c-format
+#| msgid "server sent data (\"D\" message) without prior row description (\"T\" message)"
 msgid "server sent data (\"D\" message) without prior row description (\"T\" message)"
 msgstr "el servidor envió datos (mensaje «D») sin precederlos con una descripción de fila (mensaje «T»)"
 
-#: fe-protocol3.c:427
-#, c-format
+#: fe-protocol3.c:444
+#, fuzzy, c-format
+#| msgid "unexpected response from server; first received character was \"%c\""
 msgid "unexpected response from server; first received character was \"%c\""
 msgstr "se ha recibido una respuesta inesperada del servidor; el primer carácter recibido fue «%c»"
 
-#: fe-protocol3.c:450
-#, c-format
+#: fe-protocol3.c:467
+#, fuzzy, c-format
+#| msgid "message contents do not agree with length in message type \"%c\""
 msgid "message contents do not agree with length in message type \"%c\""
 msgstr "el contenido del mensaje no concuerda con el largo, en el mensaje tipo «%c»"
 
-#: fe-protocol3.c:468
-#, c-format
+#: fe-protocol3.c:485
+#, fuzzy, c-format
+#| msgid "lost synchronization with server: got message type \"%c\", length %d"
 msgid "lost synchronization with server: got message type \"%c\", length %d"
 msgstr "se perdió la sincronía con el servidor: se recibió un mensaje de tipo «%c», largo %d"
 
-#: fe-protocol3.c:520 fe-protocol3.c:560
+#: fe-protocol3.c:537 fe-protocol3.c:577
 msgid "insufficient data in \"T\" message"
 msgstr "datos insuficientes en el mensaje «T»"
 
-#: fe-protocol3.c:631 fe-protocol3.c:837
+#: fe-protocol3.c:648 fe-protocol3.c:854
 msgid "out of memory for query result"
 msgstr "no hay suficiente memoria para el resultado de la consulta"
 
-#: fe-protocol3.c:700
+#: fe-protocol3.c:717
 msgid "insufficient data in \"t\" message"
 msgstr "datos insuficientes en el mensaje «t»"
 
-#: fe-protocol3.c:759 fe-protocol3.c:791 fe-protocol3.c:809
+#: fe-protocol3.c:776 fe-protocol3.c:808 fe-protocol3.c:826
 msgid "insufficient data in \"D\" message"
 msgstr "datos insuficientes en el mensaje «D»"
 
-#: fe-protocol3.c:765
+#: fe-protocol3.c:782
 msgid "unexpected field count in \"D\" message"
 msgstr "cantidad de campos inesperada en mensaje «D»"
 
-#: fe-protocol3.c:1020
+#: fe-protocol3.c:1037
 msgid "no error message available\n"
 msgstr "no hay mensaje de error disponible\n"
 
 #. translator: %s represents a digit string
-#: fe-protocol3.c:1068 fe-protocol3.c:1087
+#: fe-protocol3.c:1085 fe-protocol3.c:1104
 #, c-format
 msgid " at character %s"
 msgstr " en el carácter %s"
 
-#: fe-protocol3.c:1100
+#: fe-protocol3.c:1117
 #, c-format
 msgid "DETAIL:  %s\n"
 msgstr "DETALLE:  %s\n"
 
-#: fe-protocol3.c:1103
+#: fe-protocol3.c:1120
 #, c-format
 msgid "HINT:  %s\n"
 msgstr "SUGERENCIA:  %s\n"
 
-#: fe-protocol3.c:1106
+#: fe-protocol3.c:1123
 #, c-format
 msgid "QUERY:  %s\n"
 msgstr "CONSULTA:  %s\n"
 
-#: fe-protocol3.c:1113
+#: fe-protocol3.c:1130
 #, c-format
 msgid "CONTEXT:  %s\n"
 msgstr "CONTEXTO:  %s\n"
 
-#: fe-protocol3.c:1122
+#: fe-protocol3.c:1139
 #, c-format
 msgid "SCHEMA NAME:  %s\n"
 msgstr "NOMBRE DE ESQUEMA:  %s\n"
 
-#: fe-protocol3.c:1126
+#: fe-protocol3.c:1143
 #, c-format
 msgid "TABLE NAME:  %s\n"
 msgstr "NOMBRE DE TABLA:  %s\n"
 
-#: fe-protocol3.c:1130
+#: fe-protocol3.c:1147
 #, c-format
 msgid "COLUMN NAME:  %s\n"
 msgstr "NOMBRE DE COLUMNA:  %s\n"
 
-#: fe-protocol3.c:1134
+#: fe-protocol3.c:1151
 #, c-format
 msgid "DATATYPE NAME:  %s\n"
 msgstr "NOMBRE TIPO DE DATO:  %s\n"
 
-#: fe-protocol3.c:1138
+#: fe-protocol3.c:1155
 #, c-format
 msgid "CONSTRAINT NAME:  %s\n"
 msgstr "NOMBRE DE RESTRICCIÓN:  %s\n"
 
-#: fe-protocol3.c:1150
+#: fe-protocol3.c:1167
 msgid "LOCATION:  "
 msgstr "UBICACIÓN:  "
 
-#: fe-protocol3.c:1152
+#: fe-protocol3.c:1169
 #, c-format
 msgid "%s, "
 msgstr "%s, "
 
-#: fe-protocol3.c:1154
+#: fe-protocol3.c:1171
 #, c-format
 msgid "%s:%s"
 msgstr "%s:%s"
 
-#: fe-protocol3.c:1349
+#: fe-protocol3.c:1366
 #, c-format
 msgid "LINE %d: "
 msgstr "LÍNEA %d: "
 
-#: fe-protocol3.c:1423
-#, c-format
+#: fe-protocol3.c:1440
+#, fuzzy, c-format
+#| msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
 msgid "protocol version not supported by server: client uses %u.%u, server supports up to %u.%u"
-msgstr "versión de protocolo no soportada por el servidor: cliente usa %u.%u, servidor soporta hasta %u.%u"
+msgstr "el protocolo %u.%u no está soportado: servidor soporta %u.0 hasta %u.%u"
 
-#: fe-protocol3.c:1429
-#, c-format
+#: fe-protocol3.c:1446
+#, fuzzy, c-format
+#| msgid "collations are not supported by type %s"
 msgid "protocol extension not supported by server: %s"
 msgid_plural "protocol extensions not supported by server: %s"
-msgstr[0] "extensión del protocolo no soportada por el servidor: %s"
-msgstr[1] "extensiones del protocolo no soportadas por el servidor: %s"
+msgstr[0] "los ordenamientos (collation) no están soportados por el tipo %s"
+msgstr[1] "los ordenamientos (collation) no están soportados por el tipo %s"
 
-#: fe-protocol3.c:1437
-#, c-format
+#: fe-protocol3.c:1454
+#, fuzzy, c-format
+#| msgid "invalid string in message"
 msgid "invalid %s message"
-msgstr "mensaje %s no válido"
+msgstr "cadena no válida en el mensaje"
 
-#: fe-protocol3.c:1802
-#, c-format
+#: fe-protocol3.c:1819
+#, fuzzy, c-format
+#| msgid "PQgetline: not doing text COPY OUT"
 msgid "PQgetline: not doing text COPY OUT"
 msgstr "PQgetline: no se está haciendo COPY OUT de texto"
 
-#: fe-protocol3.c:2176
-#, c-format
+#: fe-protocol3.c:2193
+#, fuzzy, c-format
+#| msgid "protocol error: no function result"
 msgid "protocol error: no function result"
 msgstr "error de protocolo: no hay resultado de función"
 
-#: fe-protocol3.c:2187
-#, c-format
+#: fe-protocol3.c:2204
+#, fuzzy, c-format
+#| msgid "protocol error: id=0x%x"
 msgid "protocol error: id=0x%x"
 msgstr "error de protocolo: id=0x%x"
 
 #: fe-secure-common.c:123
-#, c-format
+#, fuzzy, c-format
+#| msgid "SSL certificate's name contains embedded null"
 msgid "SSL certificate's name contains embedded null"
 msgstr "el elemento de nombre en el certificado SSL contiene un carácter null"
 
 #: fe-secure-common.c:228
-#, c-format
+#, fuzzy, c-format
+#| msgid "certificate contains IP address with invalid length %zu"
 msgid "certificate contains IP address with invalid length %zu"
 msgstr "el certificado contiene una dirección IP con largo %zu no válido"
 
 #: fe-secure-common.c:237
-#, c-format
+#, fuzzy, c-format
+#| msgid "could not convert certificate's IP address to string: %s"
 msgid "could not convert certificate's IP address to string: %s"
 msgstr "no se pudo convertir la dirección IP del certificado a cadena: %s"
 
 #: fe-secure-common.c:269
-#, c-format
+#, fuzzy, c-format
+#| msgid "host name must be specified for a verified SSL connection"
 msgid "host name must be specified for a verified SSL connection"
 msgstr "el nombre de servidor debe ser especificado para una conexión SSL verificada"
 
 #: fe-secure-common.c:286
-#, c-format
+#, fuzzy, c-format
+#| msgid "server certificate for \"%s\" does not match host name \"%s\""
 msgid "server certificate for \"%s\" (and %d other name) does not match host name \"%s\""
 msgid_plural "server certificate for \"%s\" (and %d other names) does not match host name \"%s\""
-msgstr[0] "el certificado de servidor para «%s» (y %d otro nombre) no coincide con el nombre de servidor «%s»"
-msgstr[1] "el certificado de servidor para «%s» (y %d otros nombres) no coincide con el nombre de servidor «%s»"
+msgstr[0] "el certificado de servidor para «%s» no coincide con el nombre de servidor «%s»"
+msgstr[1] "el certificado de servidor para «%s» no coincide con el nombre de servidor «%s»"
 
 #: fe-secure-common.c:294
-#, c-format
+#, fuzzy, c-format
+#| msgid "server certificate for \"%s\" does not match host name \"%s\""
 msgid "server certificate for \"%s\" does not match host name \"%s\""
 msgstr "el certificado de servidor para «%s» no coincide con el nombre de servidor «%s»"
 
 #: fe-secure-common.c:299
-#, c-format
+#, fuzzy, c-format
+#| msgid "could not get server's host name from server certificate"
 msgid "could not get server's host name from server certificate"
 msgstr "no se pudo obtener el nombre de servidor desde el certificado del servidor"
 
-#: fe-secure-gssapi.c:201
+#: fe-secure-gssapi.c:194
 msgid "GSSAPI wrap error"
 msgstr "error de «wrap» de GSSAPI"
 
-#: fe-secure-gssapi.c:208
+#: fe-secure-gssapi.c:201
 #, c-format
 msgid "outgoing GSSAPI message would not use confidentiality"
 msgstr "mensaje saliente GSSAPI no proveería confidencialidad"
 
-#: fe-secure-gssapi.c:215
-#, c-format
+#: fe-secure-gssapi.c:208
+#, fuzzy, c-format
+#| msgid "client tried to send oversize GSSAPI packet (%zu > %zu)"
 msgid "client tried to send oversize GSSAPI packet (%zu > %zu)"
 msgstr "el cliente intentó enviar un paquete GSSAPI demasiado grande (%zu > %zu)"
 
-#: fe-secure-gssapi.c:351 fe-secure-gssapi.c:593
-#, c-format
+#: fe-secure-gssapi.c:347 fe-secure-gssapi.c:589
+#, fuzzy, c-format
+#| msgid "oversize GSSAPI packet sent by the server (%zu > %zu)"
 msgid "oversize GSSAPI packet sent by the server (%zu > %zu)"
 msgstr "paquete GSSAPI demasiado grande enviado por el servidor (%zu > %zu)"
 
-#: fe-secure-gssapi.c:390
+#: fe-secure-gssapi.c:386
 msgid "GSSAPI unwrap error"
 msgstr "error de «unwrap» de GSSAPI"
 
-#: fe-secure-gssapi.c:399
+#: fe-secure-gssapi.c:395
 #, c-format
 msgid "incoming GSSAPI message did not use confidentiality"
 msgstr "mensaje GSSAPI entrante no usó confidencialidad"
 
-#: fe-secure-gssapi.c:656
+#: fe-secure-gssapi.c:652
 msgid "could not initiate GSSAPI security context"
 msgstr "no se pudo iniciar un contexto de seguridad GSSAPI"
 
-#: fe-secure-gssapi.c:685
+#: fe-secure-gssapi.c:681
 msgid "GSSAPI size check error"
 msgstr "error de verificación de tamaño GSSAPI"
 
-#: fe-secure-gssapi.c:696
+#: fe-secure-gssapi.c:692
 msgid "GSSAPI context establishment error"
 msgstr "error de establecimiento de contexto de GSSAPI"
 
-#: fe-secure-openssl.c:219 fe-secure-openssl.c:319 fe-secure-openssl.c:1531
-#, c-format
+#: fe-secure-openssl.c:207 fe-secure-openssl.c:313 fe-secure-openssl.c:1524
+#, fuzzy, c-format
+#| msgid "SSL SYSCALL error: %s"
 msgid "SSL SYSCALL error: %s"
 msgstr "ERROR en llamada SSL: %s"
 
-#: fe-secure-openssl.c:225 fe-secure-openssl.c:325 fe-secure-openssl.c:1534
-#, c-format
+#: fe-secure-openssl.c:213 fe-secure-openssl.c:319 fe-secure-openssl.c:1527
+#, fuzzy, c-format
+#| msgid "SSL SYSCALL error: EOF detected"
 msgid "SSL SYSCALL error: EOF detected"
 msgstr "ERROR en llamada SSL: detectado fin de archivo"
 
-#: fe-secure-openssl.c:235 fe-secure-openssl.c:335 fe-secure-openssl.c:1542
+#: fe-secure-openssl.c:223 fe-secure-openssl.c:329 fe-secure-openssl.c:1535
 #, c-format
 msgid "SSL error: %s"
 msgstr "error de SSL: %s"
 
-#: fe-secure-openssl.c:249 fe-secure-openssl.c:349
-#, c-format
+#: fe-secure-openssl.c:237 fe-secure-openssl.c:343
+#, fuzzy, c-format
+#| msgid "SSL connection has been closed unexpectedly"
 msgid "SSL connection has been closed unexpectedly"
 msgstr "la conexión SSL se ha cerrado inesperadamente"
 
-#: fe-secure-openssl.c:254 fe-secure-openssl.c:354 fe-secure-openssl.c:1589
+#: fe-secure-openssl.c:242 fe-secure-openssl.c:348 fe-secure-openssl.c:1582
 #, c-format
 msgid "unrecognized SSL error code: %d"
 msgstr "código de error SSL no reconocido: %d"
 
-#: fe-secure-openssl.c:397
-#, c-format
+#: fe-secure-openssl.c:390
+#, fuzzy, c-format
+#| msgid "could not determine server certificate signature algorithm"
 msgid "could not determine server certificate signature algorithm"
 msgstr "no se pudo determinar el algoritmo de firma del certificado del servidor"
 
-#: fe-secure-openssl.c:417
-#, c-format
+#: fe-secure-openssl.c:410
+#, fuzzy, c-format
+#| msgid "could not find digest for NID %s"
 msgid "could not find digest for NID %s"
 msgstr "no se pudo encontrar «digest» para el NID %s"
 
-#: fe-secure-openssl.c:426
-#, c-format
+#: fe-secure-openssl.c:419
+#, fuzzy, c-format
+#| msgid "could not generate peer certificate hash"
 msgid "could not generate peer certificate hash"
 msgstr "no se pudo generar hash de certificado de la contraparte"
 
-#: fe-secure-openssl.c:509
-#, c-format
+#: fe-secure-openssl.c:501
+#, fuzzy, c-format
+#| msgid "SSL certificate's name entry is missing"
 msgid "SSL certificate's name entry is missing"
 msgstr "falta el elemento de nombre en el certificado SSL"
 
-#: fe-secure-openssl.c:543
-#, c-format
+#: fe-secure-openssl.c:535
+#, fuzzy, c-format
+#| msgid "SSL certificate's address entry is missing"
 msgid "SSL certificate's address entry is missing"
 msgstr "falta el elemento de dirección en el certificado SSL"
 
-#: fe-secure-openssl.c:960
+#: fe-secure-openssl.c:935
 #, c-format
 msgid "could not create SSL context: %s"
 msgstr "no se pudo crear un contexto SSL: %s"
 
-#: fe-secure-openssl.c:1002
-#, c-format
+#: fe-secure-openssl.c:977
+#, fuzzy, c-format
+#| msgid "invalid value \"%s\" for minimum SSL protocol version"
 msgid "invalid value \"%s\" for minimum SSL protocol version"
 msgstr "valor entero «%s» no válido para la versión mínima del protocolo SSL"
 
-#: fe-secure-openssl.c:1012
-#, c-format
+#: fe-secure-openssl.c:987
+#, fuzzy, c-format
+#| msgid "could not set minimum SSL protocol version: %s"
 msgid "could not set minimum SSL protocol version: %s"
 msgstr "no se pudo definir la versión mínima de protocolo SSL: %s"
 
-#: fe-secure-openssl.c:1028
-#, c-format
+#: fe-secure-openssl.c:1003
+#, fuzzy, c-format
+#| msgid "invalid value \"%s\" for maximum SSL protocol version"
 msgid "invalid value \"%s\" for maximum SSL protocol version"
 msgstr "valor entero «%s» no válido para la versión máxima del protocolo SSL"
 
-#: fe-secure-openssl.c:1038
-#, c-format
+#: fe-secure-openssl.c:1013
+#, fuzzy, c-format
+#| msgid "could not set maximum SSL protocol version: %s"
 msgid "could not set maximum SSL protocol version: %s"
 msgstr "no se pudo definir la versión máxima de protocolo SSL: %s"
 
-#: fe-secure-openssl.c:1076
-#, c-format
+#: fe-secure-openssl.c:1051
+#, fuzzy, c-format
+#| msgid "could not load root certificate file \"%s\": %s"
 msgid "could not load system root certificate paths: %s"
-msgstr "no se pudo cargar las rutas de los certificados raíz del sistema: %s"
+msgstr "no se pudo cargar el archivo del certificado raíz «%s»: %s"
 
-#: fe-secure-openssl.c:1093
-#, c-format
+#: fe-secure-openssl.c:1068
+#, fuzzy, c-format
+#| msgid "could not read root certificate file \"%s\": %s"
 msgid "could not read root certificate file \"%s\": %s"
 msgstr "no se pudo leer la lista de certificado raíz «%s»: %s"
 
-#: fe-secure-openssl.c:1145
-#, c-format
+#: fe-secure-openssl.c:1120
+#, fuzzy, c-format
+#| msgid ""
+#| "could not get home directory to locate root certificate file\n"
+#| "Either provide the file, use the system's trusted roots with sslrootcert=system, or change sslmode to disable server certificate verification."
 msgid ""
 "could not get home directory to locate root certificate file\n"
 "Either provide the file, use the system's trusted roots with sslrootcert=system, or change sslmode to disable server certificate verification."
@@ -1352,8 +1603,11 @@ msgstr ""
 "no se pudo obtener el directorio «home» para ubicar el archivo del certificado raíz\n"
 "Debe ya sea entregar este archivo, usar las raíces confiadas por el sistema con sslrootcert=system, o bien cambiar sslmode para inhabilitarla verificación de certificados del servidor."
 
-#: fe-secure-openssl.c:1148
-#, c-format
+#: fe-secure-openssl.c:1123
+#, fuzzy, c-format
+#| msgid ""
+#| "root certificate file \"%s\" does not exist\n"
+#| "Either provide the file, use the system's trusted roots with sslrootcert=system, or change sslmode to disable server certificate verification."
 msgid ""
 "root certificate file \"%s\" does not exist\n"
 "Either provide the file, use the system's trusted roots with sslrootcert=system, or change sslmode to disable server certificate verification."
@@ -1361,113 +1615,147 @@ msgstr ""
 "el archivo de certificado raíz «%s» no existe\n"
 "Debe ya sea entregar este archivo, usar las raíces confiadas por el sistema con sslrootcert=system, o bien cambiar sslmode para inhabilitar la verificación de certificados del servidor."
 
-#: fe-secure-openssl.c:1183
-#, c-format
+#: fe-secure-openssl.c:1158
+#, fuzzy, c-format
+#| msgid "could not open certificate file \"%s\": %s"
 msgid "could not open certificate file \"%s\": %s"
 msgstr "no se pudo abrir el archivo de certificado «%s»: %s"
 
-#: fe-secure-openssl.c:1201
-#, c-format
+#: fe-secure-openssl.c:1176
+#, fuzzy, c-format
+#| msgid "could not read certificate file \"%s\": %s"
 msgid "could not read certificate file \"%s\": %s"
 msgstr "no se pudo leer el archivo de certificado «%s»: %s"
 
-#: fe-secure-openssl.c:1225
-#, c-format
+#: fe-secure-openssl.c:1200
+#, fuzzy, c-format
+#| msgid "could not establish SSL connection: %s"
 msgid "could not establish SSL connection: %s"
 msgstr "no se pudo establecer conexión SSL: %s"
 
-#: fe-secure-openssl.c:1257
-#, c-format
+#: fe-secure-openssl.c:1232
+#, fuzzy, c-format
+#| msgid "could not set SSL Server Name Indication (SNI): %s"
 msgid "could not set SSL Server Name Indication (SNI): %s"
 msgstr "no se pudo establecer el Indicador de Nombre del Servidor (SNI) de SSL: %s"
 
-#: fe-secure-openssl.c:1300
-#, c-format
+#: fe-secure-openssl.c:1249
+#, fuzzy, c-format
+#| msgid "could not set SSL socket: %s"
+msgid "could not set SSL ALPN extension: %s"
+msgstr "no se definir un socket SSL: %s"
+
+#: fe-secure-openssl.c:1292
+#, fuzzy, c-format
+#| msgid "could not load SSL engine \"%s\": %s"
 msgid "could not load SSL engine \"%s\": %s"
 msgstr "no se pudo cargar el motor SSL «%s»: %s"
 
-#: fe-secure-openssl.c:1311
-#, c-format
+#: fe-secure-openssl.c:1303
+#, fuzzy, c-format
+#| msgid "could not initialize SSL engine \"%s\": %s"
 msgid "could not initialize SSL engine \"%s\": %s"
 msgstr "no se pudo inicializar el motor SSL «%s»: %s"
 
-#: fe-secure-openssl.c:1326
-#, c-format
+#: fe-secure-openssl.c:1318
+#, fuzzy, c-format
+#| msgid "could not read private SSL key \"%s\" from engine \"%s\": %s"
 msgid "could not read private SSL key \"%s\" from engine \"%s\": %s"
 msgstr "no se pudo leer el archivo de la llave privada SSL «%s» desde el motor «%s»: %s"
 
-#: fe-secure-openssl.c:1339
-#, c-format
+#: fe-secure-openssl.c:1331
+#, fuzzy, c-format
+#| msgid "could not load private SSL key \"%s\" from engine \"%s\": %s"
 msgid "could not load private SSL key \"%s\" from engine \"%s\": %s"
 msgstr "no se pudo leer la llave privada SSL «%s» desde el motor «%s»: %s"
 
-#: fe-secure-openssl.c:1376
-#, c-format
+#: fe-secure-openssl.c:1368
+#, fuzzy, c-format
+#| msgid "certificate present, but not private key file \"%s\""
 msgid "certificate present, but not private key file \"%s\""
 msgstr "el certificado está presente, pero no la llave privada «%s»"
 
-#: fe-secure-openssl.c:1379
-#, c-format
+#: fe-secure-openssl.c:1371
+#, fuzzy, c-format
+#| msgid "could not stat private key file \"%s\": %m"
 msgid "could not stat private key file \"%s\": %m"
 msgstr "no se pudo hacer stat del archivo de la llave privada «%s»: %m"
 
-#: fe-secure-openssl.c:1387
+#: fe-secure-openssl.c:1379
 #, c-format
 msgid "private key file \"%s\" is not a regular file"
 msgstr "el archivo de llave privada «%s» no es un archivo regular"
 
-#: fe-secure-openssl.c:1420
-#, c-format
+#: fe-secure-openssl.c:1412
+#, fuzzy, c-format
+#| msgid "private key file \"%s\" has group or world access; file must have permissions u=rw (0600) or less if owned by the current user, or permissions u=rw,g=r (0640) or less if owned by root"
 msgid "private key file \"%s\" has group or world access; file must have permissions u=rw (0600) or less if owned by the current user, or permissions u=rw,g=r (0640) or less if owned by root"
 msgstr "el archivo de llave privada «%s» tiene acceso de grupo o para todos; debe tener permisos u=rw (0600) o menos si es de propiedad del usuario de base de datos, o permisos u=rw,g=r (0640) o menos si es de root"
 
-#: fe-secure-openssl.c:1444
+#: fe-secure-openssl.c:1436
 #, c-format
 msgid "could not load private key file \"%s\": %s"
 msgstr "no se pudo cargar el archivo de la llave privada «%s»: %s"
 
-#: fe-secure-openssl.c:1460
-#, c-format
+#: fe-secure-openssl.c:1452
+#, fuzzy, c-format
+#| msgid "certificate does not match private key file \"%s\": %s"
 msgid "certificate does not match private key file \"%s\": %s"
 msgstr "el certificado no coincide con la llave privada «%s»: %s"
 
-#: fe-secure-openssl.c:1528
-#, c-format
+#: fe-secure-openssl.c:1521
+#, fuzzy, c-format
+#| msgid "check of private key failed: %s"
 msgid "SSL error: certificate verify failed: %s"
-msgstr "error SSL: falló la verificación de certificado: %s"
+msgstr "falló la revisión de la llave privada: %s"
 
-#: fe-secure-openssl.c:1573
-#, c-format
+#: fe-secure-openssl.c:1566
+#, fuzzy, c-format
+#| msgid "This may indicate that the server does not support any SSL protocol version between %s and %s."
 msgid "This may indicate that the server does not support any SSL protocol version between %s and %s."
 msgstr "Esto puede indicar que el servidor no soporta ninguna versión del protocolo SSL entre %s y %s."
 
-#: fe-secure-openssl.c:1606
+#: fe-secure-openssl.c:1598
 #, c-format
+msgid "direct SSL connection was established without ALPN protocol negotiation extension"
+msgstr ""
+
+#: fe-secure-openssl.c:1610
+#, fuzzy, c-format
+#| msgid "SSL connection has been closed unexpectedly"
+msgid "SSL connection was established with unexpected ALPN protocol"
+msgstr "la conexión SSL se ha cerrado inesperadamente"
+
+#: fe-secure-openssl.c:1627
+#, fuzzy, c-format
+#| msgid "certificate could not be obtained: %s"
 msgid "certificate could not be obtained: %s"
 msgstr "el certificado no pudo ser obtenido: %s"
 
-#: fe-secure-openssl.c:1711
+#: fe-secure-openssl.c:1734
 #, c-format
 msgid "no SSL error reported"
 msgstr "código de error SSL no reportado"
 
-#: fe-secure-openssl.c:1720
+#: fe-secure-openssl.c:1777
 #, c-format
 msgid "SSL error code %lu"
 msgstr "código de error SSL %lu"
 
-#: fe-secure-openssl.c:1986
+#: fe-secure-openssl.c:2076
 #, c-format
 msgid "WARNING: sslpassword truncated\n"
 msgstr "ADVERTENCIA: sslpassword truncada\n"
 
-#: fe-secure.c:263
-#, c-format
+#: fe-secure.c:248
+#, fuzzy, c-format
+#| msgid "could not receive data from server: %s"
 msgid "could not receive data from server: %s"
 msgstr "no se pudo recibir datos del servidor: %s"
 
-#: fe-secure.c:434
-#, c-format
+#: fe-secure.c:419
+#, fuzzy, c-format
+#| msgid "could not send data to server: %s"
 msgid "could not send data to server: %s"
 msgstr "no se pudo enviar datos al servidor: %s"
 
index ed8cb6e5503c0d1265051cc11ab00b5b061c438b..5944a00b401d47584fafcf4a6a656d272426aebc 100644 (file)
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_amcheck (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2022-09-24 23:20+0000\n"
+"POT-Creation-Date: 2024-08-01 11:23+0000\n"
 "PO-Revision-Date: 2023-05-22 12:05+0200\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
@@ -39,11 +39,79 @@ msgstr "detalle: "
 msgid "hint: "
 msgstr "consejo: "
 
-#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "memoria agotada\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "no se puede duplicar un puntero nulo (error interno)\n"
+
+#: ../../common/file_utils.c:70 ../../common/file_utils.c:347
+#: ../../common/file_utils.c:406 ../../common/file_utils.c:480
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "no se pudo abrir el archivo «%s»: %m"
+
+#: ../../common/file_utils.c:76
+#, 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
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "no se pudo hacer stat al archivo «%s»: %m"
+
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, fuzzy, c-format
+#| msgid "this build does not support compression with %s"
+msgid "this build does not support sync method \"%s\""
+msgstr "esta instalación no soporta compresión con %s"
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "no se pudo abrir el directorio «%s»: %m"
+
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "no se pudo leer el directorio «%s»: %m"
+
+#: ../../common/file_utils.c:418 ../../common/file_utils.c:488
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
+
+#: ../../common/file_utils.c:498
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
+
+#: ../../common/username.c:43
+#, c-format
+msgid "could not look up effective user ID %ld: %s"
+msgstr "no se pudo buscar el ID de usuario efectivo %ld: %s"
+
+#: ../../common/username.c:45
+msgid "user does not exist"
+msgstr "el usuario no existe"
+
+#: ../../common/username.c:60
+#, c-format
+msgid "user name lookup failure: error code %lu"
+msgstr "fallo en la búsqueda de nombre de usuario: código de error %lu"
+
+#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235
 msgid "Cancel request sent\n"
 msgstr "Petición de cancelación enviada\n"
 
-#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239
+#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236
 msgid "Could not send cancel request: "
 msgstr "No se pudo enviar la petición de cancelación: "
 
@@ -52,7 +120,7 @@ msgstr "No se pudo enviar la petición de cancelación: "
 msgid "could not connect to database %s: out of memory"
 msgstr "no se pudo conectar a la base de datos %s: memoria agotada"
 
-#: ../../fe_utils/connect_utils.c:117
+#: ../../fe_utils/connect_utils.c:116
 #, c-format
 msgid "%s"
 msgstr "%s"
@@ -67,174 +135,220 @@ msgstr "el valor «%s» no es válido para la opción %s"
 msgid "%s must be in range %d..%d"
 msgstr "%s debe estar en el rango %d..%d"
 
+#: ../../fe_utils/option_utils.c:106
+#, fuzzy, c-format
+#| msgid "unrecognized key word: \"%s\""
+msgid "unrecognized sync method: %s"
+msgstr "palabra clave no reconocida: «%s»"
+
+#: ../../fe_utils/parallel_slot.c:317
+#, fuzzy, c-format
+#| msgid "too many jobs for this platform"
+msgid "too many jobs for this platform: %d"
+msgstr "demasiados procesos para esta plataforma"
+
+#: ../../fe_utils/parallel_slot.c:326
+#, fuzzy, c-format
+#| msgid "descriptor index out of range on line %d"
+msgid "socket file descriptor out of range for select(): %d"
+msgstr "índice de descriptor fuera de rango en línea %d"
+
+#: ../../fe_utils/parallel_slot.c:328
+#, c-format
+msgid "Try fewer jobs."
+msgstr ""
+
+#: ../../fe_utils/parallel_slot.c:553
+#, c-format
+msgid "processing of database \"%s\" failed: %s"
+msgstr "falló el procesamiento de la base de datos «%s»: %s"
+
 #: ../../fe_utils/query_utils.c:33 ../../fe_utils/query_utils.c:58
-#: pg_amcheck.c:1647 pg_amcheck.c:2092
+#: pg_amcheck.c:1693 pg_amcheck.c:2138
 #, c-format
 msgid "query failed: %s"
 msgstr "la consulta falló: %s"
 
 #: ../../fe_utils/query_utils.c:34 ../../fe_utils/query_utils.c:59
-#: pg_amcheck.c:571 pg_amcheck.c:1102 pg_amcheck.c:1648 pg_amcheck.c:2093
+#: pg_amcheck.c:578 pg_amcheck.c:1147 pg_amcheck.c:1694 pg_amcheck.c:2139
 #, c-format
 msgid "Query was: %s"
 msgstr "La consulta era: %s"
 
-#: pg_amcheck.c:399
+#: ../../fe_utils/string_utils.c:434
+#, fuzzy, c-format
+#| msgid "shell command argument contains a newline or carriage return: \"%s\""
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»"
+
+#: ../../fe_utils/string_utils.c:607
+#, fuzzy, c-format
+#| msgid "shell command argument contains a newline or carriage return: \"%s\""
+msgid "database name contains a newline or carriage return: \"%s\"\n"
+msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»"
+
+#: pg_amcheck.c:403
 #, c-format
 msgid "invalid argument for option %s"
 msgstr "argumento no válido para la opción %s"
 
-#: pg_amcheck.c:405
+#: pg_amcheck.c:409
 #, c-format
 msgid "invalid start block"
 msgstr "bloque de inicio no válido"
 
-#: pg_amcheck.c:407
+#: pg_amcheck.c:411
 #, c-format
 msgid "start block out of bounds"
 msgstr "bloque de inicio fuera de rango"
 
-#: pg_amcheck.c:414
+#: pg_amcheck.c:418
 #, c-format
 msgid "invalid end block"
 msgstr "bloque final no válido"
 
-#: pg_amcheck.c:416
+#: pg_amcheck.c:420
 #, c-format
 msgid "end block out of bounds"
 msgstr "bloque final fuera de rango"
 
-#: pg_amcheck.c:439 pg_amcheck.c:461
+#: pg_amcheck.c:446 pg_amcheck.c:468
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Pruebe «%s --help» para mayor información."
 
-#: pg_amcheck.c:445
+#: pg_amcheck.c:452
 #, c-format
 msgid "end block precedes start block"
 msgstr "bloque final precede al bloque de inicio"
 
-#: pg_amcheck.c:459
+#: pg_amcheck.c:466
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)"
 
-#: pg_amcheck.c:479
+#: pg_amcheck.c:486
 #, c-format
 msgid "cannot specify a database name with --all"
 msgstr "no se puede especificar un nombre de base de datos al usar --all"
 
-#: pg_amcheck.c:485
+#: pg_amcheck.c:492
 #, c-format
 msgid "cannot specify both a database name and database patterns"
 msgstr "no se puede especificar al mismo tiempo un nombre de base de datos junto con patrones de bases de datos"
 
-#: pg_amcheck.c:513
+#: pg_amcheck.c:520
 #, c-format
 msgid "no databases to check"
 msgstr "no hay bases de datos para revisar"
 
-#: pg_amcheck.c:569
+#: pg_amcheck.c:576
 #, c-format
 msgid "database \"%s\": %s"
 msgstr "base de datos «%s»: %s"
 
-#: pg_amcheck.c:580
+#: pg_amcheck.c:587
 #, c-format
 msgid "skipping database \"%s\": amcheck is not installed"
 msgstr "omitiendo la base de datos «%s»: amcheck no está instalado"
 
-#: pg_amcheck.c:588
+#: pg_amcheck.c:595
 #, c-format
 msgid "in database \"%s\": using amcheck version \"%s\" in schema \"%s\""
 msgstr "en base de datos «%s»: usando amcheck versión «%s» en esquema «%s»"
 
-#: pg_amcheck.c:610
+#: pg_amcheck.c:624
+#, fuzzy, c-format
+#| msgid "sequence option \"%s\" not supported here"
+msgid "--checkunique option is not supported by amcheck version \"%s\""
+msgstr "la opción de secuencia «%s» no está soportada aquí"
+
+#: pg_amcheck.c:650
 #, c-format
 msgid "no heap tables to check matching \"%s\""
 msgstr "no hay tablas heap para revisar que coincidan con «%s»"
 
-#: pg_amcheck.c:613
+#: pg_amcheck.c:653
 #, c-format
 msgid "no btree indexes to check matching \"%s\""
 msgstr "no hay índices btree para revisar que coincidan con «%s»"
 
-#: pg_amcheck.c:616
+#: pg_amcheck.c:656
 #, c-format
 msgid "no relations to check in schemas matching \"%s\""
 msgstr "no hay relaciones para revisar en esquemas que coincidan con «%s»"
 
-#: pg_amcheck.c:619
+#: pg_amcheck.c:659
 #, c-format
 msgid "no relations to check matching \"%s\""
 msgstr "no hay relaciones para revisar que coincidan con «%s»"
 
-#: pg_amcheck.c:647
+#: pg_amcheck.c:687
 #, c-format
 msgid "no relations to check"
 msgstr "no hay relaciones para revisar"
 
-#: pg_amcheck.c:730
+#: pg_amcheck.c:770
 #, c-format
 msgid "checking heap table \"%s.%s.%s\""
 msgstr "revisando tabla heap «%s.%s.%s»"
 
-#: pg_amcheck.c:746
+#: pg_amcheck.c:786
 #, c-format
 msgid "checking btree index \"%s.%s.%s\""
 msgstr "revisando índice btree «%s.%s.%s»"
 
-#: pg_amcheck.c:893
+#: pg_amcheck.c:937
 #, c-format
 msgid "error sending command to database \"%s\": %s"
 msgstr "error al enviar orden a la base de datos «%s»: %s"
 
-#: pg_amcheck.c:896
+#: pg_amcheck.c:940
 #, c-format
 msgid "Command was: %s"
 msgstr "La orden era: % s"
 
-#: pg_amcheck.c:1015
+#: pg_amcheck.c:1060
 #, c-format
 msgid "heap table \"%s.%s.%s\", block %s, offset %s, attribute %s:\n"
 msgstr "tabla heap «%s.%s.%s», bloque %s, posición %s, atributo %s:\n"
 
-#: pg_amcheck.c:1022
+#: pg_amcheck.c:1067
 #, c-format
 msgid "heap table \"%s.%s.%s\", block %s, offset %s:\n"
 msgstr "tabla heap «%s.%s.%s», bloque %s, posición %s:\n"
 
-#: pg_amcheck.c:1028
+#: pg_amcheck.c:1073
 #, c-format
 msgid "heap table \"%s.%s.%s\", block %s:\n"
 msgstr "tabla heap «%s.%s.%s», bloque %s:\n"
 
-#: pg_amcheck.c:1033 pg_amcheck.c:1044
+#: pg_amcheck.c:1078 pg_amcheck.c:1089
 #, c-format
 msgid "heap table \"%s.%s.%s\":\n"
 msgstr "tabla heap «%s.%s.%s»:\n"
 
-#: pg_amcheck.c:1048 pg_amcheck.c:1117
+#: pg_amcheck.c:1093 pg_amcheck.c:1162
 #, c-format
 msgid "query was: %s\n"
 msgstr "la consulta era: %s\n"
 
-#: pg_amcheck.c:1099
+#: pg_amcheck.c:1144
 #, c-format
 msgid "btree index \"%s.%s.%s\": btree checking function returned unexpected number of rows: %d"
 msgstr "índice btree «%s.%s.%s»: la función de comprobación de btree devolvió un número inesperado de registros: %d"
 
-#: pg_amcheck.c:1103
+#: pg_amcheck.c:1148
 #, c-format
 msgid "Are %s's and amcheck's versions compatible?"
 msgstr "¿Son compatibles la versión de %s con la de amcheck?"
 
-#: pg_amcheck.c:1113
+#: pg_amcheck.c:1158
 #, c-format
 msgid "btree index \"%s.%s.%s\":\n"
 msgstr "índice btree «%s.%s.%s»:\n"
 
-#: pg_amcheck.c:1138
+#: pg_amcheck.c:1183
 #, c-format
 msgid ""
 "%s checks objects in a PostgreSQL database for corruption.\n"
@@ -243,17 +357,17 @@ msgstr ""
 "%s busca corrupción en objetos de una base de datos PostgreSQL.\n"
 "\n"
 
-#: pg_amcheck.c:1139
+#: pg_amcheck.c:1184
 #, c-format
 msgid "Usage:\n"
 msgstr "Empleo:\n"
 
-#: pg_amcheck.c:1140
+#: pg_amcheck.c:1185
 #, c-format
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [OPCIÓN]... [BASE-DE-DATOS]\n"
 
-#: pg_amcheck.c:1141
+#: pg_amcheck.c:1186
 #, c-format
 msgid ""
 "\n"
@@ -262,77 +376,77 @@ msgstr ""
 "\n"
 "Opciones de objetivo:\n"
 
-#: pg_amcheck.c:1142
+#: pg_amcheck.c:1187
 #, c-format
 msgid "  -a, --all                       check all databases\n"
 msgstr "  -a, --all                       revisar todas las bases de datos\n"
 
-#: pg_amcheck.c:1143
+#: pg_amcheck.c:1188
 #, c-format
 msgid "  -d, --database=PATTERN          check matching database(s)\n"
 msgstr "  -d, --database=PATRÓN           revisar la(s) base(s) de datos que coincida(n)\n"
 
-#: pg_amcheck.c:1144
+#: pg_amcheck.c:1189
 #, c-format
 msgid "  -D, --exclude-database=PATTERN  do NOT check matching database(s)\n"
 msgstr "  -D, --exclude-database=PATRÓN   NO revisar la(s) base(s) de datos que coincida(n)\n"
 
-#: pg_amcheck.c:1145
+#: pg_amcheck.c:1190
 #, c-format
 msgid "  -i, --index=PATTERN             check matching index(es)\n"
 msgstr "  -i, --index=PATRÓN              revisar el(los) índice(s) que coincida(n)\n"
 
-#: pg_amcheck.c:1146
+#: pg_amcheck.c:1191
 #, c-format
 msgid "  -I, --exclude-index=PATTERN     do NOT check matching index(es)\n"
 msgstr "  -I, --exclude-index=PATRÓN      NO revisar el(los) índice(s) que coincida(n)\n"
 
-#: pg_amcheck.c:1147
+#: pg_amcheck.c:1192
 #, c-format
 msgid "  -r, --relation=PATTERN          check matching relation(s)\n"
 msgstr "  -r, --relation=PATRÓN           revisar la(s) relación(es) que coincida(n)\n"
 
-#: pg_amcheck.c:1148
+#: pg_amcheck.c:1193
 #, c-format
 msgid "  -R, --exclude-relation=PATTERN  do NOT check matching relation(s)\n"
 msgstr "  -R, --exclude-relation=PATRÓN   NO revisar la(s) relación(es) que coincida(n)\n"
 
-#: pg_amcheck.c:1149
+#: pg_amcheck.c:1194
 #, c-format
 msgid "  -s, --schema=PATTERN            check matching schema(s)\n"
 msgstr "  -s, --schema=PATRÓN             revisar el(los) esquema(s) que coincida(n)\n"
 
-#: pg_amcheck.c:1150
+#: pg_amcheck.c:1195
 #, c-format
 msgid "  -S, --exclude-schema=PATTERN    do NOT check matching schema(s)\n"
 msgstr "  -S, --exclude-schema=PATRÓN     NO revisar el(los) esquema(s) que coincida(n)\n"
 
-#: pg_amcheck.c:1151
+#: pg_amcheck.c:1196
 #, c-format
 msgid "  -t, --table=PATTERN             check matching table(s)\n"
 msgstr "  -t, --table=PATRÓN              revisar la(s) tabla(s) que coincida(n)\n"
 
-#: pg_amcheck.c:1152
+#: pg_amcheck.c:1197
 #, c-format
 msgid "  -T, --exclude-table=PATTERN     do NOT check matching table(s)\n"
 msgstr "  -T, --exclude-table=PATRÓN      NO revisar la(s) tabla(s) que coincida(n)\n"
 
-#: pg_amcheck.c:1153
+#: pg_amcheck.c:1198
 #, c-format
 msgid "      --no-dependent-indexes      do NOT expand list of relations to include indexes\n"
 msgstr "      --no-dependent-indexes      NO expandir la lista de relaciones para incluir índices\n"
 
-#: pg_amcheck.c:1154
+#: pg_amcheck.c:1199
 #, c-format
 msgid "      --no-dependent-toast        do NOT expand list of relations to include TOAST tables\n"
 msgstr "      --no-dependent-toast        NO expandir lista de relaciones para incluir tablas TOAST\n"
 
-#: pg_amcheck.c:1155
+#: pg_amcheck.c:1200
 #, c-format
 msgid "      --no-strict-names           do NOT require patterns to match objects\n"
 msgstr "      --no-strict-names           NO requerir que los patrones coincidan con los objetos\n"
 
-#: pg_amcheck.c:1156
+#: pg_amcheck.c:1201
 #, c-format
 msgid ""
 "\n"
@@ -341,32 +455,32 @@ msgstr ""
 "\n"
 "Opciones para revisión de tabla:\n"
 
-#: pg_amcheck.c:1157
+#: pg_amcheck.c:1202
 #, c-format
 msgid "      --exclude-toast-pointers    do NOT follow relation TOAST pointers\n"
 msgstr "      --exclude-toast-pointers    NO seguir punteros TOAST de la relación\n"
 
-#: pg_amcheck.c:1158
+#: pg_amcheck.c:1203
 #, c-format
 msgid "      --on-error-stop             stop checking at end of first corrupt page\n"
 msgstr "      --on-error-stop             detener la revisión al final de la primera página corrupta\n"
 
-#: pg_amcheck.c:1159
+#: pg_amcheck.c:1204
 #, c-format
 msgid "      --skip=OPTION               do NOT check \"all-frozen\" or \"all-visible\" blocks\n"
 msgstr "      --skip=OPTION               NO revisar bloques «all-frozen» u «all-visible»\n"
 
-#: pg_amcheck.c:1160
+#: pg_amcheck.c:1205
 #, c-format
 msgid "      --startblock=BLOCK          begin checking table(s) at the given block number\n"
 msgstr "      --startblock=BLOQUE         empezar la revisión de la(s) tabla(s) en el número de bloque especificado\n"
 
-#: pg_amcheck.c:1161
+#: pg_amcheck.c:1206
 #, c-format
 msgid "      --endblock=BLOCK            check table(s) only up to the given block number\n"
 msgstr "      --endblock=BLOQUE           solo revisar la(s) tabla(s) hasta el número de bloque especificado\n"
 
-#: pg_amcheck.c:1162
+#: pg_amcheck.c:1207
 #, c-format
 msgid ""
 "\n"
@@ -375,22 +489,28 @@ msgstr ""
 "\n"
 "Opciones para revisión de índices B-tree:\n"
 
-#: pg_amcheck.c:1163
+#: pg_amcheck.c:1208
+#, fuzzy, c-format
+#| msgid "      --parent-check              check index parent/child relationships\n"
+msgid "      --checkunique               check unique constraint if index is unique\n"
+msgstr "      --parent-check              revisar relaciones padre/hijo de índice\n"
+
+#: pg_amcheck.c:1209
 #, c-format
 msgid "      --heapallindexed            check that all heap tuples are found within indexes\n"
 msgstr "      --heapallindexed            revisar que todas las tuplas heap se encuentren en los índices\n"
 
-#: pg_amcheck.c:1164
+#: pg_amcheck.c:1210
 #, c-format
 msgid "      --parent-check              check index parent/child relationships\n"
 msgstr "      --parent-check              revisar relaciones padre/hijo de índice\n"
 
-#: pg_amcheck.c:1165
+#: pg_amcheck.c:1211
 #, c-format
 msgid "      --rootdescend               search from root page to refind tuples\n"
 msgstr "      --rootdescend               buscar desde la página raíz para volver a encontrar tuplas\n"
 
-#: pg_amcheck.c:1166
+#: pg_amcheck.c:1212
 #, c-format
 msgid ""
 "\n"
@@ -399,37 +519,37 @@ msgstr ""
 "\n"
 "Opciones de conexión:\n"
 
-#: pg_amcheck.c:1167
+#: pg_amcheck.c:1213
 #, c-format
 msgid "  -h, --host=HOSTNAME             database server host or socket directory\n"
 msgstr "  -h, --host=ANFITRIÓN            nombre del servidor o directorio del socket\n"
 
-#: pg_amcheck.c:1168
+#: pg_amcheck.c:1214
 #, c-format
 msgid "  -p, --port=PORT                 database server port\n"
 msgstr "  -p, --port=PUERTO               puerto del servidor de base de datos\n"
 
-#: pg_amcheck.c:1169
+#: pg_amcheck.c:1215
 #, c-format
 msgid "  -U, --username=USERNAME         user name to connect as\n"
 msgstr "  -U, --username=USUARIO          nombre de usuario para la conexión\n"
 
-#: pg_amcheck.c:1170
+#: pg_amcheck.c:1216
 #, c-format
 msgid "  -w, --no-password               never prompt for password\n"
 msgstr "  -w, --no-password               nunca pedir contraseña\n"
 
-#: pg_amcheck.c:1171
+#: pg_amcheck.c:1217
 #, c-format
 msgid "  -W, --password                  force password prompt\n"
 msgstr "  -W, --password                  forzar la petición de contraseña\n"
 
-#: pg_amcheck.c:1172
+#: pg_amcheck.c:1218
 #, c-format
 msgid "      --maintenance-db=DBNAME     alternate maintenance database\n"
 msgstr "      --maintenance-db=BASE       base de datos de mantención alternativa\n"
 
-#: pg_amcheck.c:1173
+#: pg_amcheck.c:1219
 #, c-format
 msgid ""
 "\n"
@@ -438,42 +558,42 @@ msgstr ""
 "\n"
 "Otras opciones:\n"
 
-#: pg_amcheck.c:1174
+#: pg_amcheck.c:1220
 #, c-format
 msgid "  -e, --echo                      show the commands being sent to the server\n"
 msgstr "  -e, --echo                      mostrar las órdenes enviadas al servidor\n"
 
-#: pg_amcheck.c:1175
+#: pg_amcheck.c:1221
 #, c-format
 msgid "  -j, --jobs=NUM                  use this many concurrent connections to the server\n"
 msgstr "  -j, --jobs=NUM                  usar esta cantidad de conexiones concurrentes hacia el servidor\n"
 
-#: pg_amcheck.c:1176
+#: pg_amcheck.c:1222
 #, c-format
 msgid "  -P, --progress                  show progress information\n"
 msgstr "  -P, --progress                  mostrar información de progreso\n"
 
-#: pg_amcheck.c:1177
+#: pg_amcheck.c:1223
 #, c-format
 msgid "  -v, --verbose                   write a lot of output\n"
 msgstr "  -v, --verbose                   desplegar varios mensajes informativos\n"
 
-#: pg_amcheck.c:1178
+#: pg_amcheck.c:1224
 #, c-format
 msgid "  -V, --version                   output version information, then exit\n"
 msgstr "  -V, --version                   mostrar información de versión y salir\n"
 
-#: pg_amcheck.c:1179
+#: pg_amcheck.c:1225
 #, c-format
 msgid "      --install-missing           install missing extensions\n"
 msgstr "      --install-missing           instalar extensiones faltantes\n"
 
-#: pg_amcheck.c:1180
+#: pg_amcheck.c:1226
 #, c-format
 msgid "  -?, --help                      show this help, then exit\n"
 msgstr "  -?, --help                      mostrar esta ayuda y salir\n"
 
-#: pg_amcheck.c:1182
+#: pg_amcheck.c:1228
 #, c-format
 msgid ""
 "\n"
@@ -482,52 +602,52 @@ msgstr ""
 "\n"
 "Reporte errores a <%s>.\n"
 
-#: pg_amcheck.c:1183
+#: pg_amcheck.c:1229
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sitio web de %s: <%s>\n"
 
-#: pg_amcheck.c:1236
+#: pg_amcheck.c:1282
 #, c-format
 msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%) %*s"
 msgstr "%*s/%s relaciones (%d%%), %*s/%s páginas (%d%%) %*s"
 
-#: pg_amcheck.c:1247
+#: pg_amcheck.c:1293
 #, c-format
 msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%) (%s%-*.*s)"
 msgstr "%*s/%s relaciones (%d%%), %*s/%s páginas (%d%%), (%s%-*.*s)"
 
-#: pg_amcheck.c:1262
+#: pg_amcheck.c:1308
 #, c-format
 msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%)"
 msgstr "%*s/%s relaciones (%d%%), %*s/%s páginas (%d%%)"
 
-#: pg_amcheck.c:1321 pg_amcheck.c:1354
+#: pg_amcheck.c:1367 pg_amcheck.c:1400
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "el nombre no es válido (demasiados puntos): %s"
 
-#: pg_amcheck.c:1399
+#: pg_amcheck.c:1445
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "el nombre de relación no es válido (demasiados puntos): %s"
 
-#: pg_amcheck.c:1552 pg_amcheck.c:1691
+#: pg_amcheck.c:1598 pg_amcheck.c:1737
 #, c-format
 msgid "including database \"%s\""
 msgstr "incluyendo base de datos «%s»"
 
-#: pg_amcheck.c:1673
+#: pg_amcheck.c:1719
 #, c-format
 msgid "internal error: received unexpected database pattern_id %d"
 msgstr "error interno: se recibió pattern_id de base de datos inesperado (%d)"
 
-#: pg_amcheck.c:1675
+#: pg_amcheck.c:1721
 #, c-format
 msgid "no connectable databases to check matching \"%s\""
 msgstr "no hay bases de datos a las que se pueda conectar que coincidan con «%s»"
 
-#: pg_amcheck.c:2133
+#: pg_amcheck.c:2179
 #, c-format
 msgid "internal error: received unexpected relation pattern_id %d"
 msgstr "error interno: se recibió pattern_id de relación inesperado (%d)"
index 902f4a849d7a1709a99deedc1bc262ee20b02a01..c2664b1874246187fe451e4fb50a3d405888335c 100644 (file)
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_archivecleanup (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:21+0000\n"
-"PO-Revision-Date: 2023-05-22 12:05+0200\n"
+"POT-Creation-Date: 2024-08-01 11:23+0000\n"
+"PO-Revision-Date: 2024-08-01 12:05-0400\n"
 "Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
 "Language: es\n"
@@ -38,43 +38,54 @@ msgstr "detalle: "
 msgid "hint: "
 msgstr "consejo: "
 
-#: pg_archivecleanup.c:66
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "memoria agotada\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "no se puede duplicar un puntero nulo (error interno)\n"
+
+#: pg_archivecleanup.c:68
 #, c-format
 msgid "archive location \"%s\" does not exist"
 msgstr "ubicación de archivador «%s» no existe"
 
-#: pg_archivecleanup.c:151
+#: pg_archivecleanup.c:100
+#, c-format
+msgid "could not open archive location \"%s\": %m"
+msgstr "no se pudo abrir la ubicación del archivador «%s»: %m"
+
+#: pg_archivecleanup.c:164
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "no se pudo eliminar el archivo «%s»: %m"
 
-#: pg_archivecleanup.c:157
+#: pg_archivecleanup.c:169
 #, c-format
 msgid "could not read archive location \"%s\": %m"
 msgstr "no se pudo leer la ubicación del archivador «%s»: %m"
 
-#: pg_archivecleanup.c:160
+#: pg_archivecleanup.c:172
 #, c-format
 msgid "could not close archive location \"%s\": %m"
 msgstr "no se pudo cerrar la ubicación del archivador «%s»: %m"
 
-#: pg_archivecleanup.c:164
-#, c-format
-msgid "could not open archive location \"%s\": %m"
-msgstr "no se pudo abrir la ubicación del archivador «%s»: %m"
-
-#: pg_archivecleanup.c:237
+#: pg_archivecleanup.c:245
 #, c-format
 msgid "invalid file name argument"
 msgstr "el nombre de archivo usado como argumento no es válido"
 
-#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333
-#: pg_archivecleanup.c:345 pg_archivecleanup.c:352
+#: pg_archivecleanup.c:246 pg_archivecleanup.c:334 pg_archivecleanup.c:354
+#: pg_archivecleanup.c:366 pg_archivecleanup.c:373
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Pruebe «%s --help» para mayor información."
 
-#: pg_archivecleanup.c:251
+#: pg_archivecleanup.c:259
 #, c-format
 msgid ""
 "%s removes older WAL files from PostgreSQL archives.\n"
@@ -83,17 +94,17 @@ msgstr ""
 "%s elimina archivos de WAL antiguos del archivador de PostgreSQL.\n"
 "\n"
 
-#: pg_archivecleanup.c:252
+#: pg_archivecleanup.c:260
 #, c-format
 msgid "Usage:\n"
 msgstr "Empleo:\n"
 
-#: pg_archivecleanup.c:253
+#: pg_archivecleanup.c:261
 #, c-format
 msgid "  %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n"
 msgstr "  %s [OPCIÓN].... UBICACIÓNARCHIVADOR WALMÁSANTIGUOAMANTENER\n"
 
-#: pg_archivecleanup.c:254
+#: pg_archivecleanup.c:262
 #, c-format
 msgid ""
 "\n"
@@ -102,32 +113,48 @@ msgstr ""
 "\n"
 "Opciones:\n"
 
-#: pg_archivecleanup.c:255
+#: pg_archivecleanup.c:263
 #, c-format
-msgid "  -d             generate debug output (verbose mode)\n"
+msgid "  -b, --clean-backup-history  clean up files including backup history files\n"
+msgstr ""
+
+#: pg_archivecleanup.c:264
+#, fuzzy, c-format
+#| msgid "  -d             generate debug output (verbose mode)\n"
+msgid "  -d, --debug                 generate debug output (verbose mode)\n"
 msgstr "  -d             genera salida de depuración (modo verboso)\n"
 
-#: pg_archivecleanup.c:256
-#, c-format
-msgid "  -n             dry run, show the names of the files that would be removed\n"
+#: pg_archivecleanup.c:265
+#, fuzzy, c-format
+#| msgid "  -n             dry run, show the names of the files that would be removed\n"
+msgid ""
+"  -n, --dry-run               dry run, show the names of the files that would be\n"
+"                              removed\n"
 msgstr "  -n             simulacro, muestra el nombre de los archivos que se eliminarían\n"
 
-#: pg_archivecleanup.c:257
+#: pg_archivecleanup.c:267
 #, c-format
-msgid "  -V, --version  output version information, then exit\n"
-msgstr "  -V, --version  muestra información de la versión, luego sale\n"
+msgid "  -V, --version               output version information, then exit\n"
+msgstr "  -V, --version               mostrar la información de la versión, luego salir\n"
 
-#: pg_archivecleanup.c:258
-#, c-format
-msgid "  -x EXT         clean up files if they have this extension\n"
-msgstr "  -x EXT         hace limpieza de archivos que tengan esta extensión\n"
+#: pg_archivecleanup.c:268
+#, fuzzy, c-format
+#| msgid ""
+#| "  -L, --use-list=FILENAME      use table of contents from this file for\n"
+#| "                               selecting/ordering output\n"
+msgid ""
+"  -x, --strip-extension=EXT   strip this extension before identifying files for\n"
+"                              clean up\n"
+msgstr ""
+"  -L, --use-list=ARCHIVO       usa la tabla de contenido especificada para ordenar\n"
+"                               la salida de este archivo\n"
 
-#: pg_archivecleanup.c:259
+#: pg_archivecleanup.c:270
 #, c-format
-msgid "  -?, --help     show this help, then exit\n"
-msgstr "  -?, --help     muestra esta ayuda, luego sale\n"
+msgid "  -?, --help                  show this help, then exit\n"
+msgstr "  -?, --help                  muestra esta ayuda, luego salir\n"
 
-#: pg_archivecleanup.c:260
+#: pg_archivecleanup.c:271
 #, c-format
 msgid ""
 "\n"
@@ -142,7 +169,7 @@ msgstr ""
 "por ej.\n"
 "  archive_cleanup_command = 'pg_archivecleanup /mnt/servidor/directorioarchivador %%r'\n"
 
-#: pg_archivecleanup.c:265
+#: pg_archivecleanup.c:276
 #, c-format
 msgid ""
 "\n"
@@ -155,7 +182,7 @@ msgstr ""
 "por ej.\n"
 "  pg_archivecleanup /mnt/servidor/directorioarchivador 000000010000000000000010.00000020.backup\n"
 
-#: pg_archivecleanup.c:269
+#: pg_archivecleanup.c:280
 #, c-format
 msgid ""
 "\n"
@@ -164,22 +191,22 @@ msgstr ""
 "\n"
 "Reporte errores a <%s>.\n"
 
-#: pg_archivecleanup.c:270
+#: pg_archivecleanup.c:281
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sitio web de %s: <%s>\n"
 
-#: pg_archivecleanup.c:332
+#: pg_archivecleanup.c:353
 #, c-format
 msgid "must specify archive location"
 msgstr "debe especificar la ubicación del archivador"
 
-#: pg_archivecleanup.c:344
+#: pg_archivecleanup.c:365
 #, c-format
 msgid "must specify oldest kept WAL file"
 msgstr "debe especificar el fichero WAL más antiguo a mantener"
 
-#: pg_archivecleanup.c:351
+#: pg_archivecleanup.c:372
 #, c-format
 msgid "too many command-line arguments"
 msgstr "demasiados argumentos de línea de órdenes"
index c4dbf4ab2b251b6e8c9ee33987f51da130c07297..4e1ff1b967a2467451e9d80130cb4e48b56b8991 100644 (file)
@@ -10,8 +10,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_basebackup (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:19+0000\n"
-"PO-Revision-Date: 2023-10-04 11:47+0200\n"
+"POT-Creation-Date: 2024-08-01 11:20+0000\n"
+"PO-Revision-Date: 2024-08-01 12:05-0400\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
 "Language: es\n"
@@ -71,7 +71,7 @@ msgstr "el valor para la opción de compresión «%s» debe ser un entero"
 #: ../../common/compression.c:331
 #, 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 booleano"
+msgstr "el valor para la opción de compresión «%s» debe ser un booleano"
 
 #: ../../common/compression.c:379
 #, c-format
@@ -93,6 +93,65 @@ msgstr "el algoritmo de compresión «%s» no acepta una cantidad de procesos ay
 msgid "compression algorithm \"%s\" does not support long-distance mode"
 msgstr "el algoritmo de compresión «%s» no acepta modo de larga distancia"
 
+#: ../../common/controldata_utils.c:97
+#, 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:110 pg_basebackup.c:1873
+#: pg_receivewal.c:402
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "no se pudo leer el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:119
+#, 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:132 ../../common/controldata_utils.c:280
+#: bbstreamer_file.c:138 pg_recvlogical.c:650
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "no se pudo cerrar el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:168
+msgid "byte ordering mismatch"
+msgstr "discordancia en orden de bytes"
+
+#: ../../common/controldata_utils.c:170
+#, c-format
+msgid ""
+"possible byte ordering mismatch\n"
+"The byte ordering used to store the pg_control file might not match the one\n"
+"used by this program.  In that case the results below would be incorrect, and\n"
+"the PostgreSQL installation would be incompatible with this data directory."
+msgstr ""
+"posible discordancia en orden de bytes\n"
+"El ordenamiento de bytes usado para almacenar el archivo pg_control puede no\n"
+"coincidir con el usado por este programa.  En tal caso los resultados de abajo\n"
+"serían erróneos, y la instalación de PostgreSQL sería incompatible con este\n"
+"directorio de datos."
+
+#: ../../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 ../../fe_utils/recovery_gen.c:140
+#: pg_basebackup.c:1846 pg_receivewal.c:386
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "no se pudo abrir el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:249
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "no se pudo escribir el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:418
+#: ../../common/file_utils.c:488 pg_recvlogical.c:204
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
+
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
 #, c-format
@@ -104,39 +163,70 @@ 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
-#: pg_receivewal.c:319 pg_recvlogical.c:339
+#: ../../common/file_utils.c:76
+#, 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
+#: pg_receivewal.c:319 pg_recvlogical.c:352
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo «%s»: %m"
 
-#: ../../common/file_utils.c:162 pg_receivewal.c:242
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, fuzzy, c-format
+#| msgid "this build does not support compression with %s"
+msgid "this build does not support sync method \"%s\""
+msgstr "esta instalación no soporta compresión con %s"
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#: pg_receivewal.c:242
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "no se pudo abrir el directorio «%s»: %m"
 
-#: ../../common/file_utils.c:196 pg_receivewal.c:471
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#: pg_receivewal.c:471
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "no se pudo leer el directorio «%s»: %m"
 
-#: ../../common/file_utils.c:228 ../../common/file_utils.c:287
-#: ../../common/file_utils.c:361 ../../fe_utils/recovery_gen.c:121
-#: pg_receivewal.c:386
+#: ../../common/file_utils.c:498 pg_basebackup.c:2344 walmethods.c:462
 #, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "no se pudo abrir el archivo «%s»: %m"
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
 
-#: ../../common/file_utils.c:299 ../../common/file_utils.c:369
-#: pg_recvlogical.c:194
+#: ../../common/restricted_token.c:60
 #, c-format
-msgid "could not fsync file \"%s\": %m"
-msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
+msgid "could not open process token: error code %lu"
+msgstr "no se pudo abrir el token de proceso: código de error %lu"
 
-#: ../../common/file_utils.c:379 pg_basebackup.c:2237 walmethods.c:462
+#: ../../common/restricted_token.c:74
 #, c-format
-msgid "could not rename file \"%s\" to \"%s\": %m"
-msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
+msgid "could not allocate SIDs: error code %lu"
+msgstr "no se pudo emplazar los SIDs: código de error %lu"
+
+#: ../../common/restricted_token.c:94
+#, c-format
+msgid "could not create restricted token: error code %lu"
+msgstr "no se pudo crear el token restringido: código de error %lu"
+
+#: ../../common/restricted_token.c:115
+#, c-format
+msgid "could not start process for command \"%s\": error code %lu"
+msgstr "no se pudo iniciar el proceso para la orden «%s»: código de error %lu"
+
+#: ../../common/restricted_token.c:153
+#, c-format
+msgid "could not re-execute with restricted token: error code %lu"
+msgstr "no se pudo re-ejecutar con el token restringido: código de error %lu"
+
+#: ../../common/restricted_token.c:168
+#, c-format
+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"
 
 #: ../../fe_utils/option_utils.c:69
 #, c-format
@@ -148,51 +238,65 @@ msgstr "el valor «%s» no es válido para la opción «%s»"
 msgid "%s must be in range %d..%d"
 msgstr "%s debe estar en el rango %d..%d"
 
-#: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45
-#: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90
-#: ../../fe_utils/recovery_gen.c:149 pg_basebackup.c:1609
+#: ../../fe_utils/option_utils.c:106
+#, fuzzy, c-format
+#| msgid "unrecognized key word: \"%s\""
+msgid "unrecognized sync method: %s"
+msgstr "palabra clave no reconocida: «%s»"
+
+#: ../../fe_utils/recovery_gen.c:39 ../../fe_utils/recovery_gen.c:50
+#: ../../fe_utils/recovery_gen.c:89 ../../fe_utils/recovery_gen.c:109
+#: ../../fe_utils/recovery_gen.c:168 pg_basebackup.c:1636 streamutil.c:331
 #, c-format
 msgid "out of memory"
 msgstr "memoria agotada"
 
-#: ../../fe_utils/recovery_gen.c:124 bbstreamer_file.c:121
-#: bbstreamer_file.c:258 pg_basebackup.c:1406 pg_basebackup.c:1700
+#: ../../fe_utils/recovery_gen.c:143 bbstreamer_file.c:121
+#: bbstreamer_file.c:258 pg_basebackup.c:1433 pg_basebackup.c:1727
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "no se pudo escribir a archivo «%s»: %m"
 
-#: ../../fe_utils/recovery_gen.c:133 bbstreamer_file.c:93 bbstreamer_file.c:360
-#: pg_basebackup.c:1470 pg_basebackup.c:1679
+#: ../../fe_utils/recovery_gen.c:152 bbstreamer_file.c:93 bbstreamer_file.c:361
+#: pg_basebackup.c:1497 pg_basebackup.c:1706
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "no se pudo crear archivo «%s»: %m"
 
-#: bbstreamer_file.c:138 pg_recvlogical.c:633
-#, c-format
-msgid "could not close file \"%s\": %m"
-msgstr "no se pudo cerrar el archivo «%s»: %m"
+#: ../../fe_utils/string_utils.c:434
+#, fuzzy, c-format
+#| msgid "shell command argument contains a newline or carriage return: \"%s\""
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»"
+
+#: ../../fe_utils/string_utils.c:607
+#, fuzzy, c-format
+#| msgid "shell command argument contains a newline or carriage return: \"%s\""
+msgid "database name contains a newline or carriage return: \"%s\"\n"
+msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»"
 
 #: bbstreamer_file.c:275
 #, c-format
 msgid "unexpected state while extracting archive"
 msgstr "estado inesperado mientras se extraía el archivo"
 
-#: bbstreamer_file.c:320 pg_basebackup.c:686 pg_basebackup.c:730
+#: bbstreamer_file.c:321 pg_basebackup.c:698 pg_basebackup.c:712
+#: pg_basebackup.c:757
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "no se pudo crear el directorio «%s»: %m"
 
-#: bbstreamer_file.c:325
+#: bbstreamer_file.c:326
 #, c-format
 msgid "could not set permissions on directory \"%s\": %m"
 msgstr "no se pudo definir los permisos del directorio «%s»: %m"
 
-#: bbstreamer_file.c:344
+#: bbstreamer_file.c:345
 #, c-format
 msgid "could not create symbolic link from \"%s\" to \"%s\": %m"
 msgstr "no se pudo crear un enlace simbólico desde «%s» a «%s»: %m"
 
-#: bbstreamer_file.c:364
+#: bbstreamer_file.c:365
 #, c-format
 msgid "could not set permissions on file \"%s\": %m"
 msgstr "no se pudo definir los permisos al archivo «%s»: %m"
@@ -227,7 +331,7 @@ msgstr "no se pudo escribir al archivo comprimido «%s»: %s"
 msgid "could not close compressed file \"%s\": %m"
 msgstr "no se pudo cerrar el archivo comprimido «%s»: %m"
 
-#: bbstreamer_gzip.c:245 walmethods.c:876
+#: bbstreamer_gzip.c:245 walmethods.c:880
 #, c-format
 msgid "could not initialize compression library"
 msgstr "no se pudo inicializar la biblioteca de compresión"
@@ -277,12 +381,12 @@ msgstr "la terminación del archivo tar excede de 2 bloques"
 msgid "unexpected state while parsing tar archive"
 msgstr "se encontró un estado inesperado mientras se interpretaba el archivo tar"
 
-#: bbstreamer_tar.c:296
+#: bbstreamer_tar.c:292
 #, c-format
 msgid "tar member has empty name"
 msgstr "miembro de tar tiene nombre vacío"
 
-#: bbstreamer_tar.c:328
+#: bbstreamer_tar.c:326
 #, c-format
 msgid "COPY stream ended before last file was finished"
 msgstr "el flujo COPY terminó antes que el último archivo estuviera completo"
@@ -303,96 +407,97 @@ msgid "could not set compression worker count to %d: %s"
 msgstr "no se pudo definir la cantidad de procesos ayudantes de compresión a %d: %s"
 
 #: bbstreamer_zstd.c:116
-#, c-format
+#, fuzzy, c-format
+#| msgid "could not enable user right \"%s\""
 msgid "could not enable long-distance mode: %s"
-msgstr "no se pudo habilitar el modo “long-distance”: %s"
+msgstr "no se pudo habilitar el privilegio de usuario «%s»"
 
 #: bbstreamer_zstd.c:275
 #, c-format
 msgid "could not create zstd decompression context"
 msgstr "no se pudo crear el contexto de descompresión zstd"
 
-#: pg_basebackup.c:238
+#: pg_basebackup.c:245
 #, c-format
 msgid "removing data directory \"%s\""
 msgstr "eliminando el directorio de datos «%s»"
 
-#: pg_basebackup.c:240
+#: pg_basebackup.c:247
 #, c-format
 msgid "failed to remove data directory"
 msgstr "no se pudo eliminar el directorio de datos"
 
-#: pg_basebackup.c:244
+#: pg_basebackup.c:251
 #, c-format
 msgid "removing contents of data directory \"%s\""
 msgstr "eliminando el contenido del directorio «%s»"
 
-#: pg_basebackup.c:246
+#: pg_basebackup.c:253
 #, c-format
 msgid "failed to remove contents of data directory"
 msgstr "no se pudo eliminar el contenido del directorio de datos"
 
-#: pg_basebackup.c:251
+#: pg_basebackup.c:258
 #, c-format
 msgid "removing WAL directory \"%s\""
 msgstr "eliminando el directorio de WAL «%s»"
 
-#: pg_basebackup.c:253
+#: pg_basebackup.c:260
 #, c-format
 msgid "failed to remove WAL directory"
 msgstr "no se pudo eliminar el directorio de WAL"
 
-#: pg_basebackup.c:257
+#: pg_basebackup.c:264
 #, c-format
 msgid "removing contents of WAL directory \"%s\""
 msgstr "eliminando el contenido del directorio de WAL «%s»"
 
-#: pg_basebackup.c:259
+#: pg_basebackup.c:266
 #, c-format
 msgid "failed to remove contents of WAL directory"
 msgstr "no se pudo eliminar el contenido del directorio de WAL"
 
-#: pg_basebackup.c:265
+#: pg_basebackup.c:272
 #, c-format
 msgid "data directory \"%s\" not removed at user's request"
 msgstr "directorio de datos «%s» no eliminado a petición del usuario"
 
-#: pg_basebackup.c:268
+#: pg_basebackup.c:275
 #, c-format
 msgid "WAL directory \"%s\" not removed at user's request"
 msgstr "directorio de WAL «%s» no eliminado a petición del usuario"
 
-#: pg_basebackup.c:272
+#: pg_basebackup.c:279
 #, c-format
 msgid "changes to tablespace directories will not be undone"
 msgstr "los cambios a los directorios de tablespaces no se desharán"
 
-#: pg_basebackup.c:324
+#: pg_basebackup.c:331
 #, c-format
 msgid "directory name too long"
 msgstr "nombre de directorio demasiado largo"
 
-#: pg_basebackup.c:331
+#: pg_basebackup.c:338
 #, c-format
 msgid "multiple \"=\" signs in tablespace mapping"
 msgstr "múltiples signos «=» en mapeo de tablespace"
 
-#: pg_basebackup.c:340
+#: pg_basebackup.c:347
 #, c-format
 msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\""
 msgstr "formato de mapeo de tablespace «%s» no válido, debe ser «ANTIGUO=NUEVO»"
 
-#: pg_basebackup.c:359
+#: pg_basebackup.c:366
 #, c-format
 msgid "old directory is not an absolute path in tablespace mapping: %s"
 msgstr "directorio antiguo no es una ruta absoluta en mapeo de tablespace: %s"
 
-#: pg_basebackup.c:363
+#: pg_basebackup.c:370
 #, c-format
 msgid "new directory is not an absolute path in tablespace mapping: %s"
 msgstr "directorio nuevo no es una ruta absoluta en mapeo de tablespace: %s"
 
-#: pg_basebackup.c:385
+#: pg_basebackup.c:392
 #, c-format
 msgid ""
 "%s takes a base backup of a running PostgreSQL server.\n"
@@ -401,17 +506,19 @@ msgstr ""
 "%s obtiene un respaldo base a partir de un servidor PostgreSQL en ejecución.\n"
 "\n"
 
-#: pg_basebackup.c:387 pg_receivewal.c:79 pg_recvlogical.c:76
+#: pg_basebackup.c:394 pg_createsubscriber.c:221 pg_receivewal.c:79
+#: pg_recvlogical.c:86
 #, c-format
 msgid "Usage:\n"
 msgstr "Empleo:\n"
 
-#: pg_basebackup.c:388 pg_receivewal.c:80 pg_recvlogical.c:77
+#: pg_basebackup.c:395 pg_createsubscriber.c:222 pg_receivewal.c:80
+#: pg_recvlogical.c:87
 #, c-format
 msgid "  %s [OPTION]...\n"
 msgstr "  %s [OPCIÓN]...\n"
 
-#: pg_basebackup.c:389
+#: pg_basebackup.c:396
 #, c-format
 msgid ""
 "\n"
@@ -420,17 +527,24 @@ msgstr ""
 "\n"
 "Opciones que controlan la salida:\n"
 
-#: pg_basebackup.c:390
+#: pg_basebackup.c:397
 #, c-format
 msgid "  -D, --pgdata=DIRECTORY receive base backup into directory\n"
 msgstr "  -D, --pgdata=DIR       directorio en el cual recibir el respaldo base\n"
 
-#: pg_basebackup.c:391
+#: pg_basebackup.c:398
 #, c-format
 msgid "  -F, --format=p|t       output format (plain (default), tar)\n"
 msgstr "  -F, --format=p|t       formato de salida (plano (por omisión), tar)\n"
 
-#: pg_basebackup.c:392
+#: pg_basebackup.c:399
+#, c-format
+msgid ""
+"  -i, --incremental=OLDMANIFEST\n"
+"                         take incremental backup\n"
+msgstr ""
+
+#: pg_basebackup.c:401
 #, c-format
 msgid ""
 "  -r, --max-rate=RATE    maximum transfer rate to transfer data directory\n"
@@ -439,7 +553,7 @@ msgstr ""
 "  -r, --max-rate=TASA    máxima tasa a la que transferir el directorio de datos\n"
 "                         (en kB/s, o use sufijos «k» o «M»)\n"
 
-#: pg_basebackup.c:394
+#: pg_basebackup.c:403
 #, c-format
 msgid ""
 "  -R, --write-recovery-conf\n"
@@ -448,7 +562,7 @@ msgstr ""
 "  -R, --write-recovery-conf\n"
 "                         escribe configuración para replicación\n"
 
-#: pg_basebackup.c:396
+#: pg_basebackup.c:405
 #, c-format
 msgid ""
 "  -t, --target=TARGET[:DETAIL]\n"
@@ -457,7 +571,7 @@ msgstr ""
 "  -t, --target=DESTINO:[DETALLE]\n"
 "                         destino del respaldo base (si no es el cliente)\n"
 
-#: pg_basebackup.c:398
+#: pg_basebackup.c:407
 #, c-format
 msgid ""
 "  -T, --tablespace-mapping=OLDDIR=NEWDIR\n"
@@ -466,12 +580,12 @@ msgstr ""
 "  -T, --tablespace-mapping=ANTIGUO=NUEVO\n"
 "                         reubicar el directorio de tablespace de ANTIGUO a NUEVO\n"
 
-#: pg_basebackup.c:400
+#: pg_basebackup.c:409
 #, c-format
 msgid "      --waldir=WALDIR    location for the write-ahead log directory\n"
 msgstr "      --waldir=DIRWAL    ubicación para el directorio WAL\n"
 
-#: pg_basebackup.c:401
+#: pg_basebackup.c:410
 #, c-format
 msgid ""
 "  -X, --wal-method=none|fetch|stream\n"
@@ -481,12 +595,12 @@ msgstr ""
 "                         incluye los archivos WAL necesarios,\n"
 "                         en el modo especificado\n"
 
-#: pg_basebackup.c:403
+#: pg_basebackup.c:412
 #, c-format
 msgid "  -z, --gzip             compress tar output\n"
 msgstr "  -z, --gzip             comprimir la salida de tar\n"
 
-#: pg_basebackup.c:404
+#: pg_basebackup.c:413
 #, c-format
 msgid ""
 "  -Z, --compress=[{client|server}-]METHOD[:DETAIL]\n"
@@ -495,12 +609,12 @@ msgstr ""
 "  -Z, --compress=[{client|server}-]MÉTODO[:DETALLE]\n"
 "                         comprimir en cliente o servidor como se especifica\n"
 
-#: pg_basebackup.c:406
+#: pg_basebackup.c:415
 #, c-format
 msgid "  -Z, --compress=none    do not compress tar output\n"
 msgstr "  -Z, --compress=none    no comprimir la salida tar\n"
 
-#: pg_basebackup.c:407
+#: pg_basebackup.c:416
 #, c-format
 msgid ""
 "\n"
@@ -509,56 +623,59 @@ msgstr ""
 "\n"
 "Opciones generales:\n"
 
-#: pg_basebackup.c:408
-#, c-format
+#: pg_basebackup.c:417
+#, fuzzy, c-format
+#| msgid ""
+#| "  -c, --checkpoint=fast|spread\n"
+#| "                         set fast or spread checkpointing\n"
 msgid ""
 "  -c, --checkpoint=fast|spread\n"
-"                         set fast or spread checkpointing\n"
+"                         set fast or spread (default) checkpointing\n"
 msgstr ""
 "  -c, --checkpoint=fast|spread\n"
 "                         utilizar checkpoint rápido o extendido\n"
 
-#: pg_basebackup.c:410
+#: pg_basebackup.c:419
 #, c-format
 msgid "  -C, --create-slot      create replication slot\n"
 msgstr "  -C, --create-slot      crear un slot de replicación\n"
 
-#: pg_basebackup.c:411
+#: pg_basebackup.c:420
 #, c-format
 msgid "  -l, --label=LABEL      set backup label\n"
 msgstr "  -l, --label=ETIQUETA   establecer etiqueta del respaldo\n"
 
-#: pg_basebackup.c:412
+#: pg_basebackup.c:421
 #, c-format
 msgid "  -n, --no-clean         do not clean up after errors\n"
 msgstr "  -n, --no-clean         no hacer limpieza tras errores\n"
 
-#: pg_basebackup.c:413
+#: pg_basebackup.c:422
 #, c-format
 msgid "  -N, --no-sync          do not wait for changes to be written safely to disk\n"
 msgstr "  -N, --no-sync          no esperar que los cambios se sincronicen a disco\n"
 
-#: pg_basebackup.c:414
+#: pg_basebackup.c:423
 #, c-format
 msgid "  -P, --progress         show progress information\n"
 msgstr "  -P, --progress         mostrar información de progreso\n"
 
-#: pg_basebackup.c:415 pg_receivewal.c:89
+#: pg_basebackup.c:424 pg_receivewal.c:89
 #, c-format
 msgid "  -S, --slot=SLOTNAME    replication slot to use\n"
 msgstr "  -S, --slot=NOMBRE      slot de replicación a usar\n"
 
-#: pg_basebackup.c:416 pg_receivewal.c:91 pg_recvlogical.c:98
+#: pg_basebackup.c:425 pg_receivewal.c:91 pg_recvlogical.c:108
 #, c-format
 msgid "  -v, --verbose          output verbose messages\n"
 msgstr "  -v, --verbose          desplegar mensajes verbosos\n"
 
-#: pg_basebackup.c:417 pg_receivewal.c:92 pg_recvlogical.c:99
+#: pg_basebackup.c:426 pg_receivewal.c:92 pg_recvlogical.c:109
 #, c-format
 msgid "  -V, --version          output version information, then exit\n"
 msgstr "  -V, --version          mostrar información de versión, luego salir\n"
 
-#: pg_basebackup.c:418
+#: pg_basebackup.c:427
 #, c-format
 msgid ""
 "      --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n"
@@ -567,7 +684,7 @@ msgstr ""
 "      --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n"
 "                         usar algoritmo para sumas de comprobación del manifiesto\n"
 
-#: pg_basebackup.c:420
+#: pg_basebackup.c:429
 #, c-format
 msgid ""
 "      --manifest-force-encode\n"
@@ -576,22 +693,22 @@ msgstr ""
 "      --manifest-force-encode\n"
 "                         codifica a hexadecimal todos los nombres de archivo en el manifiesto\n"
 
-#: pg_basebackup.c:422
+#: pg_basebackup.c:431
 #, c-format
 msgid "      --no-estimate-size do not estimate backup size in server side\n"
 msgstr "      --no-estimate-size no estimar el tamaño del la copia de seguridad en el lado del servidor\n"
 
-#: pg_basebackup.c:423
+#: pg_basebackup.c:432
 #, c-format
 msgid "      --no-manifest      suppress generation of backup manifest\n"
 msgstr "      --no-manifest      suprimir la generación del manifiesto de la copia de seguridad\n"
 
-#: pg_basebackup.c:424
+#: pg_basebackup.c:433
 #, c-format
 msgid "      --no-slot          prevent creation of temporary replication slot\n"
 msgstr "      --no-slot          evitar la creación de un slot de replicación temporal\n"
 
-#: pg_basebackup.c:425
+#: pg_basebackup.c:434
 #, c-format
 msgid ""
 "      --no-verify-checksums\n"
@@ -600,12 +717,20 @@ msgstr ""
 "      --no-verify-checksums\n"
 "                         no verificar checksums\n"
 
-#: pg_basebackup.c:427 pg_receivewal.c:95 pg_recvlogical.c:100
+#: pg_basebackup.c:436
+#, fuzzy, c-format
+#| msgid "  --clone                       clone instead of copying files to new cluster\n"
+msgid ""
+"      --sync-method=METHOD\n"
+"                         set method for syncing files to disk\n"
+msgstr "  --clone                       clonar los archivos en vez de copiarlos\n"
+
+#: pg_basebackup.c:438 pg_receivewal.c:95 pg_recvlogical.c:110
 #, c-format
 msgid "  -?, --help             show this help, then exit\n"
 msgstr "  -?, --help             mostrar esta ayuda, luego salir\n"
 
-#: pg_basebackup.c:428 pg_receivewal.c:96 pg_recvlogical.c:101
+#: pg_basebackup.c:439 pg_receivewal.c:96 pg_recvlogical.c:111
 #, c-format
 msgid ""
 "\n"
@@ -614,22 +739,22 @@ msgstr ""
 "\n"
 "Opciones de conexión:\n"
 
-#: pg_basebackup.c:429 pg_receivewal.c:97
+#: pg_basebackup.c:440 pg_receivewal.c:97
 #, c-format
 msgid "  -d, --dbname=CONNSTR   connection string\n"
 msgstr "  -d, --dbname=CONSTR    cadena de conexión\n"
 
-#: pg_basebackup.c:430 pg_receivewal.c:98 pg_recvlogical.c:103
+#: pg_basebackup.c:441 pg_receivewal.c:98 pg_recvlogical.c:113
 #, c-format
 msgid "  -h, --host=HOSTNAME    database server host or socket directory\n"
 msgstr "  -h, --host=ANFITRIÓN   dirección del servidor o directorio del socket\n"
 
-#: pg_basebackup.c:431 pg_receivewal.c:99 pg_recvlogical.c:104
+#: pg_basebackup.c:442 pg_receivewal.c:99 pg_recvlogical.c:114
 #, c-format
 msgid "  -p, --port=PORT        database server port number\n"
 msgstr "  -p, --port=PORT        número de port del servidor\n"
 
-#: pg_basebackup.c:432
+#: pg_basebackup.c:443
 #, c-format
 msgid ""
 "  -s, --status-interval=INTERVAL\n"
@@ -638,24 +763,25 @@ msgstr ""
 "  -s, --status-interval=INTERVALO (segundos)\n"
 "                         tiempo entre envíos de paquetes de estado al servidor\n"
 
-#: pg_basebackup.c:434 pg_receivewal.c:100 pg_recvlogical.c:105
+#: pg_basebackup.c:445 pg_receivewal.c:100 pg_recvlogical.c:115
 #, c-format
 msgid "  -U, --username=NAME    connect as specified database user\n"
 msgstr "  -U, --username=NOMBRE  conectarse con el usuario especificado\n"
 
-#: pg_basebackup.c:435 pg_receivewal.c:101 pg_recvlogical.c:106
+#: pg_basebackup.c:446 pg_receivewal.c:101 pg_recvlogical.c:116
 #, c-format
 msgid "  -w, --no-password      never prompt for password\n"
 msgstr "  -w, --no-password      nunca pedir contraseña\n"
 
-#: pg_basebackup.c:436 pg_receivewal.c:102 pg_recvlogical.c:107
+#: pg_basebackup.c:447 pg_receivewal.c:102 pg_recvlogical.c:117
 #, c-format
 msgid "  -W, --password         force password prompt (should happen automatically)\n"
 msgstr ""
 "  -W, --password         forzar un prompt para la contraseña\n"
 "                         (debería ser automático)\n"
 
-#: pg_basebackup.c:437 pg_receivewal.c:106 pg_recvlogical.c:108
+#: pg_basebackup.c:448 pg_createsubscriber.c:240 pg_receivewal.c:106
+#: pg_recvlogical.c:118
 #, c-format
 msgid ""
 "\n"
@@ -664,484 +790,558 @@ msgstr ""
 "\n"
 "Reporte errores a <%s>.\n"
 
-#: pg_basebackup.c:438 pg_receivewal.c:107 pg_recvlogical.c:109
+#: pg_basebackup.c:449 pg_createsubscriber.c:241 pg_receivewal.c:107
+#: pg_recvlogical.c:119
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sitio web de %s: <%s>\n"
 
-#: pg_basebackup.c:477
+#: pg_basebackup.c:488
 #, c-format
 msgid "could not read from ready pipe: %m"
 msgstr "no se pudo leer desde la tubería: %m"
 
-#: pg_basebackup.c:480 pg_basebackup.c:622 pg_basebackup.c:2151
-#: streamutil.c:441
+#: pg_basebackup.c:491 pg_basebackup.c:633 pg_basebackup.c:2258
+#: streamutil.c:518
 #, c-format
 msgid "could not parse write-ahead log location \"%s\""
 msgstr "no se pudo interpretar la ubicación del WAL «%s»"
 
-#: pg_basebackup.c:585 pg_receivewal.c:600
+#: pg_basebackup.c:596 pg_receivewal.c:600
 #, c-format
 msgid "could not finish writing WAL files: %m"
 msgstr "no se pudo completar la escritura de archivos WAL: %m"
 
-#: pg_basebackup.c:631
+#: pg_basebackup.c:642
 #, c-format
 msgid "could not create pipe for background process: %m"
 msgstr "no se pudo crear la tubería para el proceso en segundo plano: %m"
 
-#: pg_basebackup.c:664
+#: pg_basebackup.c:676
 #, c-format
 msgid "created temporary replication slot \"%s\""
 msgstr "se creó slot temporal de replicación «%s»"
 
-#: pg_basebackup.c:667
+#: pg_basebackup.c:679
 #, c-format
 msgid "created replication slot \"%s\""
 msgstr "se creó el slot de replicación «%s»"
 
-#: pg_basebackup.c:701
+#: pg_basebackup.c:728
 #, c-format
 msgid "could not create background process: %m"
 msgstr "no se pudo lanzar el proceso en segundo plano: %m"
 
-#: pg_basebackup.c:710
+#: pg_basebackup.c:737
 #, c-format
 msgid "could not create background thread: %m"
 msgstr "no se pudo lanzar el hilo en segundo plano: %m"
 
-#: pg_basebackup.c:749
+#: pg_basebackup.c:776
 #, c-format
 msgid "directory \"%s\" exists but is not empty"
 msgstr "el directorio «%s» existe pero no está vacío"
 
-#: pg_basebackup.c:755
+#: pg_basebackup.c:782 pg_createsubscriber.c:390
 #, c-format
 msgid "could not access directory \"%s\": %m"
 msgstr "no se pudo acceder al directorio «%s»: %m"
 
-#: pg_basebackup.c:831
+#: pg_basebackup.c:858
 #, c-format
 msgid "%*s/%s kB (100%%), %d/%d tablespace %*s"
 msgid_plural "%*s/%s kB (100%%), %d/%d tablespaces %*s"
 msgstr[0] "%*s/%s kB (100%%), %d/%d tablespace %*s"
 msgstr[1] "%*s/%s kB (100%%), %d/%d tablespaces %*s"
 
-#: pg_basebackup.c:843
+#: pg_basebackup.c:870
 #, c-format
 msgid "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)"
 msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces (%s%-*.*s)"
 msgstr[0] "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)"
 msgstr[1] "%*s/%s kB (%d%%), %d/%d tablespaces (%s%-*.*s)"
 
-#: pg_basebackup.c:859
+#: pg_basebackup.c:886
 #, c-format
 msgid "%*s/%s kB (%d%%), %d/%d tablespace"
 msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces"
 msgstr[0] "%*s/%s kB (%d%%), %d/%d tablespace"
 msgstr[1] "%*s/%s kB (%d%%), %d/%d tablespaces"
 
-#: pg_basebackup.c:883
+#: pg_basebackup.c:910
 #, c-format
 msgid "transfer rate \"%s\" is not a valid value"
 msgstr "tasa de transferencia «%s» no es un valor válido"
 
-#: pg_basebackup.c:885
+#: pg_basebackup.c:912
 #, c-format
 msgid "invalid transfer rate \"%s\": %m"
 msgstr "tasa de transferencia «%s» no válida: %m"
 
-#: pg_basebackup.c:892
+#: pg_basebackup.c:919
 #, c-format
 msgid "transfer rate must be greater than zero"
 msgstr "tasa de transferencia debe ser mayor que cero"
 
-#: pg_basebackup.c:922
+#: pg_basebackup.c:949
 #, c-format
 msgid "invalid --max-rate unit: \"%s\""
 msgstr "unidad de --max-rato no válida: «%s»"
 
-#: pg_basebackup.c:926
+#: pg_basebackup.c:953
 #, c-format
 msgid "transfer rate \"%s\" exceeds integer range"
 msgstr "la tasa de transferencia «%s» excede el rango de enteros"
 
-#: pg_basebackup.c:933
+#: pg_basebackup.c:960
 #, c-format
 msgid "transfer rate \"%s\" is out of range"
 msgstr "la tasa de transferencia «%s» está fuera de rango"
 
-#: pg_basebackup.c:995
+#: pg_basebackup.c:1022
 #, c-format
 msgid "could not get COPY data stream: %s"
 msgstr "no se pudo obtener un flujo de datos COPY: %s"
 
-#: pg_basebackup.c:1012 pg_recvlogical.c:436 pg_recvlogical.c:608
+#: pg_basebackup.c:1039 pg_recvlogical.c:449 pg_recvlogical.c:625
 #: receivelog.c:973
 #, c-format
 msgid "could not read COPY data: %s"
 msgstr "no fue posible leer datos COPY: %s"
 
-#: pg_basebackup.c:1016
+#: pg_basebackup.c:1043
 #, c-format
 msgid "background process terminated unexpectedly"
 msgstr "un proceso en segundo plano terminó inesperadamente"
 
-#: pg_basebackup.c:1087
+#: pg_basebackup.c:1114
 #, c-format
 msgid "cannot inject manifest into a compressed tar file"
 msgstr "no se pueden inyectar un manifiesto en un archivo tar comprimido"
 
-#: pg_basebackup.c:1088
+#: pg_basebackup.c:1115
 #, c-format
 msgid "Use client-side compression, send the output to a directory rather than standard output, or use %s."
 msgstr "Use compresión del lado del cliente, envíe la salida a un directorio en lugar de a salida estándar, o use %s."
 
-#: pg_basebackup.c:1104
+#: pg_basebackup.c:1131
 #, c-format
 msgid "cannot parse archive \"%s\""
 msgstr "no se pudo interpretar el archivo «%s»"
 
-#: pg_basebackup.c:1105
+#: pg_basebackup.c:1132
 #, c-format
 msgid "Only tar archives can be parsed."
 msgstr "Sólo los archivos tar pueden ser interpretados."
 
-#: pg_basebackup.c:1107
+#: pg_basebackup.c:1134
 #, c-format
 msgid "Plain format requires pg_basebackup to parse the archive."
 msgstr "El formato plano requiere que pg_basebackup interprete el archivo."
 
-#: pg_basebackup.c:1109
+#: pg_basebackup.c:1136
 #, c-format
 msgid "Using - as the output directory requires pg_basebackup to parse the archive."
 msgstr "Usar - como directorio de salida requiere que pg_basebackup interprete el archivo."
 
-#: pg_basebackup.c:1111
+#: pg_basebackup.c:1138
 #, c-format
 msgid "The -R option requires pg_basebackup to parse the archive."
 msgstr "La opción -R requiere que pg_basebackup interprete el archivo."
 
-#: pg_basebackup.c:1330
+#: pg_basebackup.c:1357
 #, c-format
 msgid "archives must precede manifest"
 msgstr "los archivos deben preceder al manifiesto"
 
-#: pg_basebackup.c:1345
+#: pg_basebackup.c:1372
 #, c-format
 msgid "invalid archive name: \"%s\""
 msgstr "nombre de archivo no válido: «%s»"
 
-#: pg_basebackup.c:1417
+#: pg_basebackup.c:1444
 #, c-format
 msgid "unexpected payload data"
 msgstr "datos inesperados"
 
-#: pg_basebackup.c:1560
+#: pg_basebackup.c:1587
 #, c-format
 msgid "empty COPY message"
 msgstr "mensaje COPY vacío"
 
-#: pg_basebackup.c:1562
+#: pg_basebackup.c:1589
 #, c-format
 msgid "malformed COPY message of type %d, length %zu"
 msgstr "mensaje COPY mal formado de tipo %d, largo %zu"
 
-#: pg_basebackup.c:1760
+#: pg_basebackup.c:1789
 #, c-format
 msgid "incompatible server version %s"
 msgstr "versión del servidor %s incompatible"
 
-#: pg_basebackup.c:1776
+#: pg_basebackup.c:1805
 #, c-format
 msgid "Use -X none or -X fetch to disable log streaming."
 msgstr "Use -X none o -X fetch para deshabilitar el flujo de log."
 
-#: pg_basebackup.c:1844
+#: pg_basebackup.c:1841
+#, fuzzy, c-format
+#| msgid "server does not support server-side compression"
+msgid "server does not support incremental backup"
+msgstr "el servidor no soporta compresión del lado del servidor"
+
+#: pg_basebackup.c:1850 pg_basebackup.c:2008 pg_recvlogical.c:272
+#: receivelog.c:543 receivelog.c:582 streamutil.c:364 streamutil.c:438
+#: streamutil.c:490 streamutil.c:578 streamutil.c:730 streamutil.c:775
+#, c-format
+msgid "could not send replication command \"%s\": %s"
+msgstr "no se pudo ejecutar la orden de replicación «%s»: %s"
+
+#: pg_basebackup.c:1856 pg_basebackup.c:1883
+#, fuzzy, c-format
+#| msgid "could not parse backup manifest: %s"
+msgid "could not upload manifest: %s"
+msgstr "no se pudo analizar el manifiesto de la copia de seguridad: %s"
+
+#: pg_basebackup.c:1859 pg_basebackup.c:1886
+#, fuzzy, c-format
+#| msgid "could not get socket error status: %s"
+msgid "could not upload manifest: unexpected status %s"
+msgstr "no se pudo determinar el estado de error del socket: %s"
+
+#: pg_basebackup.c:1867
+#, fuzzy, c-format
+#| msgid "could not read COPY data: %s"
+msgid "could not send COPY data: %s"
+msgstr "no fue posible leer datos COPY: %s"
+
+#: pg_basebackup.c:1877
+#, fuzzy, c-format
+#| msgid "could not send query: %s"
+msgid "could not send end-of-COPY: %s"
+msgstr "no se pudo enviar la consulta: %s"
+
+#: pg_basebackup.c:1892
+#, fuzzy, c-format
+#| msgid "unexpected result set while fetching file list"
+msgid "unexpected extra result while sending manifest"
+msgstr "conjunto de resultados inesperado mientras se obtenía el listado de archivos"
+
+#: pg_basebackup.c:1950
 #, c-format
 msgid "backup targets are not supported by this server version"
 msgstr "los destinos de respaldo no están soportados por esta versión de servidor"
 
-#: pg_basebackup.c:1847
+#: pg_basebackup.c:1953
 #, c-format
 msgid "recovery configuration cannot be written when a backup target is used"
 msgstr "la configuración de recuperación no puede ser escrita cuando se usa un destino de respaldo base"
 
-#: pg_basebackup.c:1874
+#: pg_basebackup.c:1980
 #, c-format
 msgid "server does not support server-side compression"
 msgstr "el servidor no soporta compresión del lado del servidor"
 
-#: pg_basebackup.c:1884
+#: pg_basebackup.c:1990
 #, c-format
 msgid "initiating base backup, waiting for checkpoint to complete"
 msgstr "iniciando el respaldo base, esperando que el checkpoint se complete"
 
-#: pg_basebackup.c:1888
+#: pg_basebackup.c:1994
 #, c-format
 msgid "waiting for checkpoint"
 msgstr "esperando al checkpoint"
 
-#: pg_basebackup.c:1901 pg_recvlogical.c:260 receivelog.c:543 receivelog.c:582
-#: streamutil.c:288 streamutil.c:361 streamutil.c:413 streamutil.c:501
-#: streamutil.c:653 streamutil.c:698
-#, c-format
-msgid "could not send replication command \"%s\": %s"
-msgstr "no se pudo ejecutar la orden de replicación «%s»: %s"
-
-#: pg_basebackup.c:1909
+#: pg_basebackup.c:2016
 #, c-format
 msgid "could not initiate base backup: %s"
 msgstr "no se pudo iniciar el respaldo base: %s"
 
-#: pg_basebackup.c:1912
+#: pg_basebackup.c:2019
 #, c-format
 msgid "server returned unexpected response to BASE_BACKUP command; got %d rows and %d fields, expected %d rows and %d fields"
 msgstr "el servidor envió una respuesta inesperada a la orden BASE_BACKUP; se obtuvieron %d filas y %d campos, se esperaban %d filas y %d campos"
 
-#: pg_basebackup.c:1918
+#: pg_basebackup.c:2025
 #, c-format
 msgid "checkpoint completed"
 msgstr "el checkpoint se ha completado"
 
-#: pg_basebackup.c:1932
+#: pg_basebackup.c:2039
 #, c-format
 msgid "write-ahead log start point: %s on timeline %u"
 msgstr "punto de inicio del WAL: %s en el timeline %u"
 
-#: pg_basebackup.c:1940
+#: pg_basebackup.c:2047
 #, c-format
 msgid "could not get backup header: %s"
 msgstr "no se pudo obtener la cabecera de respaldo: %s"
 
-#: pg_basebackup.c:1943
+#: pg_basebackup.c:2050
 #, c-format
 msgid "no data returned from server"
 msgstr "el servidor no retornó datos"
 
-#: pg_basebackup.c:1986
+#: pg_basebackup.c:2093
 #, c-format
 msgid "can only write single tablespace to stdout, database has %d"
 msgstr "sólo se puede escribir un tablespace a stdout, la base de datos tiene %d"
 
-#: pg_basebackup.c:1999
+#: pg_basebackup.c:2106
 #, c-format
 msgid "starting background WAL receiver"
 msgstr "iniciando el receptor de WAL en segundo plano"
 
-#: pg_basebackup.c:2082
+#: pg_basebackup.c:2189
 #, c-format
 msgid "backup failed: %s"
 msgstr "el respaldo falló: %s"
 
-#: pg_basebackup.c:2085
+#: pg_basebackup.c:2192
 #, c-format
 msgid "no write-ahead log end position returned from server"
 msgstr "el servidor no retornó la posición final del WAL"
 
-#: pg_basebackup.c:2088
+#: pg_basebackup.c:2195
 #, c-format
 msgid "write-ahead log end point: %s"
 msgstr "posición final del WAL: %s"
 
-#: pg_basebackup.c:2099
+#: pg_basebackup.c:2206
 #, c-format
 msgid "checksum error occurred"
 msgstr "ocurrió un error de checksums"
 
-#: pg_basebackup.c:2104
+#: pg_basebackup.c:2211
 #, c-format
 msgid "final receive failed: %s"
 msgstr "la recepción final falló: %s"
 
-#: pg_basebackup.c:2128
+#: pg_basebackup.c:2235
 #, c-format
 msgid "waiting for background process to finish streaming ..."
 msgstr "esperando que el proceso en segundo plano complete el flujo..."
 
-#: pg_basebackup.c:2132
+#: pg_basebackup.c:2239
 #, c-format
 msgid "could not send command to background pipe: %m"
 msgstr "no se pudo enviar una orden a la tubería de segundo plano: %m"
 
-#: pg_basebackup.c:2137
+#: pg_basebackup.c:2244
 #, c-format
 msgid "could not wait for child process: %m"
 msgstr "no se pudo esperar al proceso hijo: %m"
 
-#: pg_basebackup.c:2139
+#: pg_basebackup.c:2246
 #, c-format
 msgid "child %d died, expected %d"
 msgstr "el hijo %d murió, pero se esperaba al %d"
 
-#: pg_basebackup.c:2141 streamutil.c:91 streamutil.c:196
+#: pg_basebackup.c:2248 streamutil.c:89 streamutil.c:204 streamutil.c:316
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pg_basebackup.c:2161
+#: pg_basebackup.c:2268
 #, c-format
 msgid "could not wait for child thread: %m"
 msgstr "no se pudo esperar el hilo hijo: %m"
 
-#: pg_basebackup.c:2166
+#: pg_basebackup.c:2273
 #, c-format
 msgid "could not get child thread exit status: %m"
 msgstr "no se pudo obtener la cabecera de respaldo: %m"
 
-#: pg_basebackup.c:2169
+#: pg_basebackup.c:2276
 #, c-format
 msgid "child thread exited with error %u"
 msgstr "el hilo hijo terminó con error %u"
 
-#: pg_basebackup.c:2198
+#: pg_basebackup.c:2305
 #, c-format
 msgid "syncing data to disk ..."
 msgstr "sincronizando datos a disco ..."
 
-#: pg_basebackup.c:2223
+#: pg_basebackup.c:2330
 #, c-format
 msgid "renaming backup_manifest.tmp to backup_manifest"
 msgstr "renombrando backup_manifest.tmp a backup_manifest"
 
-#: pg_basebackup.c:2243
+#: pg_basebackup.c:2350
 #, c-format
 msgid "base backup completed"
 msgstr "el respaldo base se ha completado"
 
-#: pg_basebackup.c:2326
+#: pg_basebackup.c:2436
 #, c-format
 msgid "invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\""
 msgstr "argumento de checkpoint «%s» no válido, debe ser «fast» o «spread»"
 
-#: pg_basebackup.c:2344
+#: pg_basebackup.c:2454
 #, c-format
 msgid "invalid output format \"%s\", must be \"plain\" or \"tar\""
 msgstr "formato de salida «%s» no válido, debe ser «plain» o «tar»"
 
-#: pg_basebackup.c:2422
+#: pg_basebackup.c:2535
 #, c-format
 msgid "invalid wal-method option \"%s\", must be \"fetch\", \"stream\", or \"none\""
 msgstr "opción de wal-method «%s» no válida, debe ser «fetch», «stream» o «none»"
 
-#: pg_basebackup.c:2457 pg_basebackup.c:2469 pg_basebackup.c:2491
-#: pg_basebackup.c:2503 pg_basebackup.c:2509 pg_basebackup.c:2561
-#: pg_basebackup.c:2572 pg_basebackup.c:2582 pg_basebackup.c:2588
-#: pg_basebackup.c:2595 pg_basebackup.c:2607 pg_basebackup.c:2619
-#: pg_basebackup.c:2627 pg_basebackup.c:2640 pg_basebackup.c:2646
-#: pg_basebackup.c:2655 pg_basebackup.c:2667 pg_basebackup.c:2678
-#: pg_basebackup.c:2686 pg_receivewal.c:748 pg_receivewal.c:760
+#: pg_basebackup.c:2574 pg_basebackup.c:2586 pg_basebackup.c:2608
+#: pg_basebackup.c:2620 pg_basebackup.c:2626 pg_basebackup.c:2678
+#: pg_basebackup.c:2689 pg_basebackup.c:2699 pg_basebackup.c:2705
+#: pg_basebackup.c:2712 pg_basebackup.c:2724 pg_basebackup.c:2736
+#: pg_basebackup.c:2744 pg_basebackup.c:2757 pg_basebackup.c:2763
+#: pg_basebackup.c:2772 pg_basebackup.c:2784 pg_basebackup.c:2795
+#: pg_basebackup.c:2803 pg_createsubscriber.c:2037 pg_createsubscriber.c:2047
+#: pg_createsubscriber.c:2055 pg_createsubscriber.c:2083
+#: pg_createsubscriber.c:2115 pg_receivewal.c:748 pg_receivewal.c:760
 #: pg_receivewal.c:767 pg_receivewal.c:776 pg_receivewal.c:783
-#: pg_receivewal.c:793 pg_recvlogical.c:835 pg_recvlogical.c:847
-#: pg_recvlogical.c:857 pg_recvlogical.c:864 pg_recvlogical.c:871
-#: pg_recvlogical.c:878 pg_recvlogical.c:885 pg_recvlogical.c:892
-#: pg_recvlogical.c:899 pg_recvlogical.c:906
+#: pg_receivewal.c:793 pg_recvlogical.c:853 pg_recvlogical.c:865
+#: pg_recvlogical.c:875 pg_recvlogical.c:882 pg_recvlogical.c:889
+#: pg_recvlogical.c:896 pg_recvlogical.c:903 pg_recvlogical.c:910
+#: pg_recvlogical.c:917 pg_recvlogical.c:924
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Pruebe «%s --help» para mayor información."
 
-#: pg_basebackup.c:2467 pg_receivewal.c:758 pg_recvlogical.c:845
+#: pg_basebackup.c:2584 pg_createsubscriber.c:2045 pg_receivewal.c:758
+#: pg_recvlogical.c:863
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)"
 
-#: pg_basebackup.c:2490
+#: pg_basebackup.c:2607
 #, c-format
 msgid "cannot specify both format and backup target"
 msgstr "no se puede especificar un formato junto con un destino de respaldo"
 
-#: pg_basebackup.c:2502
+#: pg_basebackup.c:2619
 #, c-format
 msgid "must specify output directory or backup target"
 msgstr "debe especificar un directorio de salida o destino de respaldo base"
 
-#: pg_basebackup.c:2508
+#: pg_basebackup.c:2625
 #, c-format
 msgid "cannot specify both output directory and backup target"
 msgstr "no se puede especificar un directorio de salida junto con un destino de respaldo"
 
-#: pg_basebackup.c:2538 pg_receivewal.c:802
+#: pg_basebackup.c:2655 pg_receivewal.c:802
 #, c-format
 msgid "unrecognized compression algorithm: \"%s\""
 msgstr "algoritmo de compresión no reconocido: «%s»"
 
-#: pg_basebackup.c:2544 pg_receivewal.c:809
+#: pg_basebackup.c:2661 pg_receivewal.c:809
 #, c-format
 msgid "invalid compression specification: %s"
 msgstr "especificación de compresión no válida: %s"
 
-#: pg_basebackup.c:2560
+#: pg_basebackup.c:2677
 #, c-format
 msgid "client-side compression is not possible when a backup target is specified"
 msgstr "la compresión del lado del cliente no es posible cuando se especifica un destino del respaldo base"
 
-#: pg_basebackup.c:2571
+#: pg_basebackup.c:2688
 #, c-format
 msgid "only tar mode backups can be compressed"
 msgstr "sólo los respaldos de modo tar pueden ser comprimidos"
 
-#: pg_basebackup.c:2581
+#: pg_basebackup.c:2698
 #, c-format
 msgid "WAL cannot be streamed when a backup target is specified"
 msgstr "no se puede enviar WAL cuando se especifica un destino del respaldo base"
 
-#: pg_basebackup.c:2587
+#: pg_basebackup.c:2704
 #, c-format
 msgid "cannot stream write-ahead logs in tar mode to stdout"
 msgstr "no se puede enviar WALs en modo tar a stdout"
 
-#: pg_basebackup.c:2594
+#: pg_basebackup.c:2711
 #, c-format
 msgid "replication slots can only be used with WAL streaming"
 msgstr "los slots de replicación sólo pueden usarse con flujo de WAL"
 
-#: pg_basebackup.c:2606
+#: pg_basebackup.c:2723
 #, c-format
 msgid "--no-slot cannot be used with slot name"
 msgstr "no se puede usar --no-slot junto con nombre de slot"
 
 #. translator: second %s is an option name
-#: pg_basebackup.c:2617 pg_receivewal.c:774
+#: pg_basebackup.c:2734 pg_receivewal.c:774
 #, c-format
 msgid "%s needs a slot to be specified using --slot"
 msgstr "la opcón %s necesita que se especifique un slot con --slot"
 
-#: pg_basebackup.c:2625 pg_basebackup.c:2665 pg_basebackup.c:2676
-#: pg_basebackup.c:2684
+#: pg_basebackup.c:2742 pg_basebackup.c:2782 pg_basebackup.c:2793
+#: pg_basebackup.c:2801
 #, c-format
 msgid "%s and %s are incompatible options"
 msgstr "%s y %s son opciones incompatibles"
 
-#: pg_basebackup.c:2639
+#: pg_basebackup.c:2756
 #, c-format
 msgid "WAL directory location cannot be specified along with a backup target"
 msgstr "la ubicación del directorio de WAL no puede especificarse junto con un destino de respaldo"
 
-#: pg_basebackup.c:2645
+#: pg_basebackup.c:2762
 #, c-format
 msgid "WAL directory location can only be specified in plain mode"
 msgstr "la ubicación del directorio de WAL sólo puede especificarse en modo «plain»"
 
-#: pg_basebackup.c:2654
+#: pg_basebackup.c:2771
 #, c-format
 msgid "WAL directory location must be an absolute path"
 msgstr "la ubicación del directorio de WAL debe ser una ruta absoluta"
 
-#: pg_basebackup.c:2754
+#: pg_basebackup.c:2871
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "no se pudo crear el enlace simbólico «%s»: %m"
 
-#: pg_receivewal.c:77
+#: pg_createsubscriber.c:169
+#, fuzzy, c-format
+#| msgid "pausing at the end of recovery"
+msgid "failed after the end of recovery"
+msgstr "pausando al final de la recuperación"
+
+#: pg_createsubscriber.c:170
+#, c-format
+msgid "The target server cannot be used as a physical replica anymore.  You must recreate the physical replica before continuing."
+msgstr ""
+
+#: pg_createsubscriber.c:198
+#, c-format
+msgid "publication \"%s\" in database \"%s\" on primary might be left behind"
+msgstr ""
+
+#: pg_createsubscriber.c:200
+#, c-format
+msgid "Consider dropping this publication before trying again."
+msgstr ""
+
+#: pg_createsubscriber.c:204
 #, c-format
+msgid "replication slot \"%s\" in database \"%s\" on primary might be left behind"
+msgstr ""
+
+#: pg_createsubscriber.c:206 pg_createsubscriber.c:1260
+#, c-format
+msgid "Drop this replication slot soon to avoid retention of WAL files."
+msgstr ""
+
+#: pg_createsubscriber.c:219
+#, fuzzy, c-format
+#| msgid ""
+#| "%s creates a new PostgreSQL role.\n"
+#| "\n"
 msgid ""
-"%s receives PostgreSQL streaming write-ahead logs.\n"
+"%s creates a new logical replica from a standby server.\n"
 "\n"
 msgstr ""
-"%s recibe flujos del WAL de PostgreSQL.\n"
+"%s crea un nuevo rol de PostgreSQL.\n"
 "\n"
 
-#: pg_receivewal.c:81 pg_recvlogical.c:82
+#: pg_createsubscriber.c:223 pg_receivewal.c:81 pg_recvlogical.c:92
 #, c-format
 msgid ""
 "\n"
@@ -1150,22 +1350,734 @@ msgstr ""
 "\n"
 "Opciones:\n"
 
+#: pg_createsubscriber.c:224
+#, fuzzy, c-format
+#| msgid "  -d, --dbname=DBNAME          database to reindex\n"
+msgid "  -d, --database=DBNAME           database to create a subscription\n"
+msgstr "  -d, --dbname=BASE-DATOS   base de datos a reindexar\n"
+
+#: pg_createsubscriber.c:225
+#, fuzzy, c-format
+#| msgid " [-D, --pgdata=]DATADIR            data directory\n"
+msgid "  -D, --pgdata=DATADIR            location for the subscriber data directory\n"
+msgstr " [-D, --pgdata=]DATADIR    directorio de datos\n"
+
+#: pg_createsubscriber.c:226
+#, fuzzy, c-format
+#| msgid "  -n, --dry-run                    no update, just show what would be done\n"
+msgid "  -n, --dry-run                   dry run, just show what would be done\n"
+msgstr "  -n, --dry-run            no actualiza, sólo muestra lo que se haría\n"
+
+#: pg_createsubscriber.c:227
+#, fuzzy, c-format
+#| msgid "  -p, --old-port=PORT           old cluster port number (default %d)\n"
+msgid "  -p, --subscriber-port=PORT      subscriber port number (default %s)\n"
+msgstr "  -p, --old-port=PUERTO         número de puerto del clúster antiguo (def. %d)\n"
+
+#: pg_createsubscriber.c:228
+#, fuzzy, c-format
+#| msgid "  -d, --dbname=CONNSTR   connection string\n"
+msgid "  -P, --publisher-server=CONNSTR  publisher connection string\n"
+msgstr "  -d, --dbname=CONSTR    cadena de conexión\n"
+
+#: pg_createsubscriber.c:229
+#, fuzzy, c-format
+#| msgid "  -s, --socketdir=DIR           socket directory to use (default current dir.)\n"
+msgid "  -s, --socketdir=DIR             socket directory to use (default current dir.)\n"
+msgstr "  -s, --socketdir=DIR           directorio de sockets a usar (omisión: dir. actual)\n"
+
+#: pg_createsubscriber.c:230
+#, fuzzy, c-format
+#| msgid "  -t, --timeout=SECS     seconds to wait when using -w option\n"
+msgid "  -t, --recovery-timeout=SECS     seconds to wait for recovery to end\n"
+msgstr "  -t, --timeout=SEGS     segundos a esperar cuando se use la opción -w\n"
+
+#: pg_createsubscriber.c:231
+#, fuzzy, c-format
+#| msgid "  -U, --username=NAME       database superuser name\n"
+msgid "  -U, --subscriber-username=NAME  subscriber username\n"
+msgstr "  -U, --username=USUARIO    nombre del superusuario del cluster\n"
+
+#: pg_createsubscriber.c:232
+#, fuzzy, c-format
+#| msgid "  -v, --verbose            output verbose messages\n"
+msgid "  -v, --verbose                   output verbose messages\n"
+msgstr "  -v, --verbose            desplegar mensajes verbosos\n"
+
+#: pg_createsubscriber.c:233
+#, fuzzy, c-format
+#| msgid ""
+#| "      --config-file=FILENAME     use specified main server configuration\n"
+#| "                                 file when running target cluster\n"
+msgid ""
+"      --config-file=FILENAME      use specified main server configuration\n"
+"                                  file when running target cluster\n"
+msgstr ""
+"      --config-file=ARCHIVO      utilizar el archivo de configuración del servidor\n"
+"                                 principal especificado al ejecutar el clúster de destino\n"
+
+#: pg_createsubscriber.c:235
+#, fuzzy, c-format
+#| msgid "  --no-publications            do not dump publications\n"
+msgid "      --publication=NAME          publication name\n"
+msgstr "  --no-publications            no volcar las publicaciones\n"
+
+#: pg_createsubscriber.c:236
+#, fuzzy, c-format
+#| msgid "  -S, --slot=SLOTNAME    replication slot to use\n"
+msgid "      --replication-slot=NAME     replication slot name\n"
+msgstr "  -S, --slot=NOMBRE      slot de replicación a usar\n"
+
+#: pg_createsubscriber.c:237
+#, fuzzy, c-format
+#| msgid "  --no-subscriptions           do not dump subscriptions\n"
+msgid "      --subscription=NAME         subscription name\n"
+msgstr "  --no-subscriptions           no volcar las suscripciones\n"
+
+#: pg_createsubscriber.c:238
+#, c-format
+msgid "  -V, --version                   output version information, then exit\n"
+msgstr "  -V, --version                   mostrar información de versión y salir\n"
+
+#: pg_createsubscriber.c:239
+#, c-format
+msgid "  -?, --help                      show this help, then exit\n"
+msgstr "  -?, --help                      mostrar esta ayuda y salir\n"
+
+#: pg_createsubscriber.c:282
+#, c-format
+msgid "could not parse connection string: %s"
+msgstr "no se pudo interpretar la cadena de conexión: %s"
+
+#: pg_createsubscriber.c:359
+#, c-format
+msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\""
+msgstr "el programa «%s» es requerido por %s pero se encontró en el mismo directorio que «%s»"
+
+#: pg_createsubscriber.c:362
+#, c-format
+msgid "program \"%s\" was found by \"%s\" but was not the same version as %s"
+msgstr "El programa «%s» fue encontrado por «%s», pero no es de la misma versión que %s"
+
+#: pg_createsubscriber.c:382
+#, fuzzy, c-format
+#| msgid "specified data directory \"%s\" is not a directory"
+msgid "checking if directory \"%s\" is a cluster data directory"
+msgstr "el directorio de datos especificado «%s» no es un directorio"
+
+#: pg_createsubscriber.c:388
+#, c-format
+msgid "data directory \"%s\" does not exist"
+msgstr "no existe el directorio de datos «%s»"
+
+#: pg_createsubscriber.c:396
+#, fuzzy, c-format
+#| msgid "%s: directory \"%s\" is not a database cluster directory\n"
+msgid "directory \"%s\" is not a database cluster directory"
+msgstr "%s: el directorio «%s» no es un directorio de base de datos\n"
+
+#: pg_createsubscriber.c:513
+#, fuzzy, c-format
+#| msgid "reconnection failed: %s"
+msgid "connection to database failed: %s"
+msgstr "falló la reconexión: %s"
+
+#: pg_createsubscriber.c:526
+#, c-format
+msgid "could not clear search_path: %s"
+msgstr "no se pudo limpiar search_path: %s"
+
+#: pg_createsubscriber.c:566
+#, c-format
+msgid "getting system identifier from publisher"
+msgstr ""
+
+#: pg_createsubscriber.c:573
+#, fuzzy, c-format
+#| msgid "could not get peer credentials: %s"
+msgid "could not get system identifier: %s"
+msgstr "no se pudo obtener credenciales de la contraparte: %s"
+
+#: pg_createsubscriber.c:579
+#, fuzzy, c-format
+#| msgid "could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields"
+msgid "could not get system identifier: got %d rows, expected %d row"
+msgstr "no se pudo identificar al sistema: se obtuvieron %d filas y %d campos, se esperaban %d filas y %d o más campos"
+
+#: pg_createsubscriber.c:586
+#, c-format
+msgid "system identifier is %llu on publisher"
+msgstr ""
+
+#: pg_createsubscriber.c:607
+#, c-format
+msgid "getting system identifier from subscriber"
+msgstr ""
+
+#: pg_createsubscriber.c:611 pg_createsubscriber.c:641
+#, fuzzy, c-format
+#| msgid "%s: control file appears to be corrupt\n"
+msgid "control file appears to be corrupt"
+msgstr "%s: el archivo de control parece estar corrupto\n"
+
+#: pg_createsubscriber.c:615 pg_createsubscriber.c:656
+#, c-format
+msgid "system identifier is %llu on subscriber"
+msgstr ""
+
+#: pg_createsubscriber.c:637
+#, c-format
+msgid "modifying system identifier of subscriber"
+msgstr ""
+
+#: pg_createsubscriber.c:659
+#, c-format
+msgid "running pg_resetwal on the subscriber"
+msgstr ""
+
+#: pg_createsubscriber.c:671
+#, c-format
+msgid "subscriber successfully changed the system identifier"
+msgstr ""
+
+#: pg_createsubscriber.c:673
+#, c-format
+msgid "subscriber failed to change system identifier: exit code: %d"
+msgstr ""
+
+#: pg_createsubscriber.c:697
+#, fuzzy, c-format
+#| msgid "could not connect to database \"%s\""
+msgid "could not obtain database OID: %s"
+msgstr "no se pudo establecer la conexión a la base de datos «%s»"
+
+#: pg_createsubscriber.c:704
+#, fuzzy, c-format
+#| msgid "could not drop replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields"
+msgid "could not obtain database OID: got %d rows, expected %d row"
+msgstr "no se pudo eliminar el slot de replicación «%s»: se obtuvieron %d filas y %d campos, se esperaban %d filas y %d campos"
+
+#: pg_createsubscriber.c:776
+#, fuzzy, c-format
+#| msgid "created replication slot \"%s\" on publisher"
+msgid "create replication slot \"%s\" on publisher"
+msgstr "se creó el slot de replicación «%s» en el editor (publisher)"
+
+#: pg_createsubscriber.c:796
+#, fuzzy, c-format
+#| msgid "could not read WAL record at %X/%X: %s"
+msgid "could not write an additional WAL record: %s"
+msgstr "no se pudo leer el registro WAL en %X/%X: %s"
+
+#: pg_createsubscriber.c:822
+#, fuzzy, c-format
+#| msgid "could not fork archiver process: %m"
+msgid "could not obtain recovery progress: %s"
+msgstr "no se pudo lanzar el proceso de archivado: %m"
+
+#: pg_createsubscriber.c:854
+#, fuzzy, c-format
+#| msgid "created replication slot \"%s\" on publisher"
+msgid "checking settings on publisher"
+msgstr "se creó el slot de replicación «%s» en el editor (publisher)"
+
+#: pg_createsubscriber.c:864
+#, fuzzy, c-format
+#| msgid "primary keys cannot be expressions"
+msgid "primary server cannot be in recovery"
+msgstr "las llaves primarias no pueden ser expresiones"
+
+#: pg_createsubscriber.c:888
+#, fuzzy, c-format
+#| msgid "could not connect to the publisher: %s"
+msgid "could not obtain publisher settings: %s"
+msgstr "no se pudo connectar con el editor (publisher): %s"
+
+# FIXME see slot.c:779.  See also  postmaster.c:835
+#: pg_createsubscriber.c:914
+#, fuzzy, c-format
+#| msgid "logical decoding requires wal_level >= logical"
+msgid "publisher requires wal_level >= \"logical\""
+msgstr "la decodificación lógica requiere wal_level >= logical"
+
+#: pg_createsubscriber.c:920
+#, fuzzy, c-format
+#| msgid "Field requires %d characters, but only %d remain."
+msgid "publisher requires %d replication slots, but only %d remain"
+msgstr "El campo requiere %d caractéres, pero solo quedan %d."
+
+#: pg_createsubscriber.c:922 pg_createsubscriber.c:931
+#: pg_createsubscriber.c:1028 pg_createsubscriber.c:1037
+#: pg_createsubscriber.c:1046
+#, fuzzy, c-format
+#| msgid "Make sure the configuration parameter \"%s\" is set."
+msgid "Increase the configuration parameter \"%s\" to at least %d."
+msgstr "Asegúrese que el parámetro de configuración «%s» esté definido."
+
+#: pg_createsubscriber.c:929
+#, fuzzy, c-format
+#| msgid "Field requires %d characters, but only %d remain."
+msgid "publisher requires %d wal sender processes, but only %d remain"
+msgstr "El campo requiere %d caractéres, pero solo quedan %d."
+
+#: pg_createsubscriber.c:938
+#, c-format
+msgid "two_phase option will not be enabled for slots"
+msgstr ""
+
+#: pg_createsubscriber.c:939
+#, c-format
+msgid "Subscriptions will be created with the two_phase option disabled.  Prepared transactions will be replicated at COMMIT PREPARED."
+msgstr ""
+
+#: pg_createsubscriber.c:971
+#, c-format
+msgid "checking settings on subscriber"
+msgstr ""
+
+#: pg_createsubscriber.c:978
+#, fuzzy, c-format
+#| msgid "target server must be shut down cleanly"
+msgid "target server must be a standby"
+msgstr "el directorio de destino debe estar apagado limpiamente"
+
+#: pg_createsubscriber.c:1002
+#, fuzzy, c-format
+#| msgid "could not obtain lock on relation \"%s\""
+msgid "could not obtain subscriber settings: %s"
+msgstr "no se pudo bloquear un candado en la relación «%s»"
+
+#: pg_createsubscriber.c:1026
+#, fuzzy, c-format
+#| msgid "Field requires %d characters, but only %d remain."
+msgid "subscriber requires %d replication slots, but only %d remain"
+msgstr "El campo requiere %d caractéres, pero solo quedan %d."
+
+#: pg_createsubscriber.c:1035
+#, fuzzy, c-format
+#| msgid "Field requires %d characters, but only %d remain."
+msgid "subscriber requires %d logical replication workers, but only %d remain"
+msgstr "El campo requiere %d caractéres, pero solo quedan %d."
+
+#: pg_createsubscriber.c:1044
+#, fuzzy, c-format
+#| msgid "Field requires %d characters, but only %d remain."
+msgid "subscriber requires %d worker processes, but only %d remain"
+msgstr "El campo requiere %d caractéres, pero solo quedan %d."
+
+#: pg_createsubscriber.c:1079
+#, fuzzy, c-format
+#| msgid "dropping replication slot \"%s\""
+msgid "dropping subscription \"%s\" in database \"%s\""
+msgstr "eliminando el slot de replicación «%s»"
+
+#: pg_createsubscriber.c:1088
+#, fuzzy, c-format
+#| msgid "could not drop relation mapping for subscription \"%s\""
+msgid "could not drop a subscription \"%s\" settings: %s"
+msgstr "no se pudo eliminar mapeo de relación para suscripción «%s»"
+
+#: pg_createsubscriber.c:1123
+#, fuzzy, c-format
+#| msgid "could not drop relation mapping for subscription \"%s\""
+msgid "could not obtain pre-existing subscriptions: %s"
+msgstr "no se pudo eliminar mapeo de relación para suscripción «%s»"
+
+#: pg_createsubscriber.c:1258
+#, fuzzy, c-format
+#| msgid "could not drop replication slot \"%s\" on publisher: %s"
+msgid "could not drop replication slot \"%s\" on primary"
+msgstr "no se pudo eliminar el slot de replicación «%s» en editor (publisher): %s"
+
+#: pg_createsubscriber.c:1292
+#, fuzzy, c-format
+#| msgid "could not obtain lock on row in relation \"%s\""
+msgid "could not obtain failover replication slot information: %s"
+msgstr "no se pudo bloquear un candado en la fila de la relación «%s»"
+
+#: pg_createsubscriber.c:1294 pg_createsubscriber.c:1303
+#, c-format
+msgid "Drop the failover replication slots on subscriber soon to avoid retention of WAL files."
+msgstr ""
+
+#: pg_createsubscriber.c:1302
+#, fuzzy, c-format
+#| msgid "could not copy replication slot \"%s\""
+msgid "could not drop failover replication slot"
+msgstr "no se pudo copiar el slot de replicación «%s»"
+
+#: pg_createsubscriber.c:1324
+#, fuzzy, c-format
+#| msgid "creating replication slot \"%s\""
+msgid "creating the replication slot \"%s\" in database \"%s\""
+msgstr "creando el slot de replicación «%s»"
+
+#: pg_createsubscriber.c:1342
+#, fuzzy, c-format
+#| msgid "could not create replication slot \"%s\": %s"
+msgid "could not create replication slot \"%s\" in database \"%s\": %s"
+msgstr "no se pudo create el slot de replicación «%s»: %s"
+
+#: pg_createsubscriber.c:1372
+#, fuzzy, c-format
+#| msgid "dropping replication slot \"%s\""
+msgid "dropping the replication slot \"%s\" in database \"%s\""
+msgstr "eliminando el slot de replicación «%s»"
+
+#: pg_createsubscriber.c:1388
+#, fuzzy, c-format
+#| msgid "could not drop replication slot \"%s\" on publisher: %s"
+msgid "could not drop replication slot \"%s\" in database \"%s\": %s"
+msgstr "no se pudo eliminar el slot de replicación «%s» en editor (publisher): %s"
+
+#: pg_createsubscriber.c:1409
+#, fuzzy, c-format
+#| msgid "archive command failed with exit code %d"
+msgid "pg_ctl failed with exit code %d"
+msgstr "la orden de archivado falló con código de retorno %d"
+
+#: pg_createsubscriber.c:1414
+#, fuzzy, c-format
+#| msgid "child process was terminated by exception 0x%X"
+msgid "pg_ctl was terminated by exception 0x%X"
+msgstr "el proceso hijo fue terminado por una excepción 0x%X"
+
+#: pg_createsubscriber.c:1416
+#, 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."
+
+#: pg_createsubscriber.c:1418
+#, fuzzy, c-format
+#| msgid "child process was terminated by signal %d: %s"
+msgid "pg_ctl was terminated by signal %d: %s"
+msgstr "el proceso hijo fue terminado por una señal %d: %s"
+
+#: pg_createsubscriber.c:1424
+#, fuzzy, c-format
+#| msgid "child process exited with unrecognized status %d"
+msgid "pg_ctl exited with unrecognized status %d"
+msgstr "el proceso hijo terminó con código no reconocido %d"
+
+#: pg_createsubscriber.c:1427
+#, fuzzy, c-format
+#| msgid "The failed archive command was: %s"
+msgid "The failed command was: %s"
+msgstr "La orden fallida era: «%s»"
+
+#: pg_createsubscriber.c:1473
+#, fuzzy, c-format
+#| msgid "server started\n"
+msgid "server was started"
+msgstr "servidor iniciado\n"
+
+#: pg_createsubscriber.c:1488
+#, fuzzy, c-format
+#| msgid "server stopped\n"
+msgid "server was stopped"
+msgstr "servidor detenido\n"
+
+#: pg_createsubscriber.c:1507
+#, c-format
+msgid "waiting for the target server to reach the consistent state"
+msgstr ""
+
+#: pg_createsubscriber.c:1530
+#, c-format
+msgid "recovery timed out"
+msgstr ""
+
+#: pg_createsubscriber.c:1543
+#, fuzzy, c-format
+#| msgid "server did not promote within %d second"
+#| msgid_plural "server did not promote within %d seconds"
+msgid "server did not end recovery"
+msgstr "el servidor no se promovió en %d segundo"
+
+#: pg_createsubscriber.c:1545
+#, c-format
+msgid "target server reached the consistent state"
+msgstr ""
+
+#: pg_createsubscriber.c:1546
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "If pg_upgrade fails after this point, you must re-initdb the\n"
+#| "new cluster before continuing."
+msgid "If pg_createsubscriber fails after this point, you must recreate the physical replica before continuing."
+msgstr ""
+"\n"
+"Si pg_upgrade falla a partir de este punto, deberá re-ejecutar initdb\n"
+"en el clúster nuevo antes de continuar."
+
+#: pg_createsubscriber.c:1573
+#, fuzzy, c-format
+#| msgid "could not obtain lock on relation \"%s\""
+msgid "could not obtain publication information: %s"
+msgstr "no se pudo bloquear un candado en la relación «%s»"
+
+#: pg_createsubscriber.c:1587
+#, c-format
+msgid "publication \"%s\" already exists"
+msgstr "la publicación «%s» ya existe"
+
+#: pg_createsubscriber.c:1588
+#, c-format
+msgid "Consider renaming this publication before continuing."
+msgstr ""
+
+#: pg_createsubscriber.c:1595
+#, fuzzy, c-format
+#| msgid "creating replication slot \"%s\""
+msgid "creating publication \"%s\" in database \"%s\""
+msgstr "creando el slot de replicación «%s»"
+
+#: pg_createsubscriber.c:1608
+#, fuzzy, c-format
+#| msgid "could not create replication slot \"%s\": %s"
+msgid "could not create publication \"%s\" in database \"%s\": %s"
+msgstr "no se pudo create el slot de replicación «%s»: %s"
+
+#: pg_createsubscriber.c:1637
+#, fuzzy, c-format
+#| msgid "dropping replication slot \"%s\""
+msgid "dropping publication \"%s\" in database \"%s\""
+msgstr "eliminando el slot de replicación «%s»"
+
+#: pg_createsubscriber.c:1651
+#, fuzzy, c-format
+#| msgid "could not drop replication slot \"%s\" on publisher: %s"
+msgid "could not drop publication \"%s\" in database \"%s\": %s"
+msgstr "no se pudo eliminar el slot de replicación «%s» en editor (publisher): %s"
+
+#: pg_createsubscriber.c:1697
+#, fuzzy, c-format
+#| msgid "connecting to new database \"%s\""
+msgid "creating subscription \"%s\" in database \"%s\""
+msgstr "conectando a nueva base de datos «%s»"
+
+#: pg_createsubscriber.c:1718
+#, fuzzy, c-format
+#| msgid "could not create replication slot \"%s\": %s"
+msgid "could not create subscription \"%s\" in database \"%s\": %s"
+msgstr "no se pudo create el slot de replicación «%s»: %s"
+
+#: pg_createsubscriber.c:1763
+#, fuzzy, c-format
+#| msgid "could not obtain lock on relation \"%s\""
+msgid "could not obtain subscription OID: %s"
+msgstr "no se pudo bloquear un candado en la relación «%s»"
+
+#: pg_createsubscriber.c:1770
+#, fuzzy, c-format
+#| msgid "could not read replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields"
+msgid "could not obtain subscription OID: got %d rows, expected %d row"
+msgstr "no se pudo leer el slot de replicación «%s»: se obtuvieron %d filas y %d campos, se esperaban %d filas y %d campos"
+
+#: pg_createsubscriber.c:1794
+#, c-format
+msgid "setting the replication progress (node name \"%s\" ; LSN %s) in database \"%s\""
+msgstr ""
+
+#: pg_createsubscriber.c:1809
+#, fuzzy, c-format
+#| msgid "could not drop relation mapping for subscription \"%s\""
+msgid "could not set replication progress for the subscription \"%s\": %s"
+msgstr "no se pudo eliminar mapeo de relación para suscripción «%s»"
+
+#: pg_createsubscriber.c:1840
+#, fuzzy, c-format
+#| msgid "reindexing of index \"%s\" in database \"%s\" failed: %s"
+msgid "enabling subscription \"%s\" in database \"%s\""
+msgstr "falló la reindexación del índice «%s» en la base de datos «%s»: %s"
+
+#: pg_createsubscriber.c:1852
+#, fuzzy, c-format
+#| msgid "could not enable user right \"%s\""
+msgid "could not enable subscription \"%s\": %s"
+msgstr "no se pudo habilitar el privilegio de usuario «%s»"
+
+#: pg_createsubscriber.c:1944
+#, c-format
+msgid "cannot be executed by \"root\""
+msgstr "no puede ser ejecutado con el usuario «root»"
+
+#: pg_createsubscriber.c:1945
+#, c-format
+msgid "You must run %s as the PostgreSQL superuser."
+msgstr "Debe ejecutar %s con el superusuario de PostgreSQL."
+
+#: pg_createsubscriber.c:1966
+#, fuzzy, c-format
+#| msgid "dumping database \"%s\""
+msgid "duplicate database \"%s\""
+msgstr "extrayendo base de datos «%s»"
+
+#: pg_createsubscriber.c:2007
+#, fuzzy, c-format
+#| msgid "duplicate option \"%s\""
+msgid "duplicate publication \"%s\""
+msgstr "nombre de opción «%s» duplicada"
+
+#: pg_createsubscriber.c:2019
+#, fuzzy, c-format
+#| msgid "created replication slot \"%s\""
+msgid "duplicate replication slot \"%s\""
+msgstr "se creó el slot de replicación «%s»"
+
+#: pg_createsubscriber.c:2031
+#, fuzzy, c-format
+#| msgid "duplicate option \"%s\""
+msgid "duplicate subscription \"%s\""
+msgstr "nombre de opción «%s» duplicada"
+
+#: pg_createsubscriber.c:2054
+#, fuzzy, c-format
+#| msgid "no data directory specified"
+msgid "no subscriber data directory specified"
+msgstr "no se especificó un directorio de datos"
+
+#: pg_createsubscriber.c:2065
+#, fuzzy, c-format
+#| msgid "could not determine current directory"
+msgid "could not determine current directory"
+msgstr "no se pudo identificar el directorio actual"
+
+#: pg_createsubscriber.c:2082
+#, fuzzy, c-format
+#| msgid "could not parse connection string: %s"
+msgid "no publisher connection string specified"
+msgstr "no se pudo interpretar la cadena de conexión: %s"
+
+#: pg_createsubscriber.c:2086
+#, fuzzy, c-format
+#| msgid "invalid connection string syntax: %s"
+msgid "validating connection string on publisher"
+msgstr "sintaxis de cadena de conexión no válida: %s"
+
+#: pg_createsubscriber.c:2092
+#, fuzzy, c-format
+#| msgid "invalid connection string syntax: %s"
+msgid "validating connection string on subscriber"
+msgstr "sintaxis de cadena de conexión no válida: %s"
+
+#: pg_createsubscriber.c:2097
+#, fuzzy, c-format
+#| msgid "no database specified"
+msgid "no database was specified"
+msgstr "no se especificó una base de datos"
+
+#: pg_createsubscriber.c:2109
+#, fuzzy, c-format
+#| msgid "database \"%s\" is not currently accepting connections"
+msgid "database \"%s\" was extracted from the publisher connection string"
+msgstr "la base de datos «%s» no acepta conexiones"
+
+#: pg_createsubscriber.c:2114
+#, fuzzy, c-format
+#| msgid "no database specified"
+msgid "no database name specified"
+msgstr "no se especificó una base de datos"
+
+#: pg_createsubscriber.c:2124
+#, fuzzy, c-format
+#| msgid "must be owner of publication %s"
+msgid "wrong number of publication names"
+msgstr "debe ser dueño de la publicación %s"
+
+#: pg_createsubscriber.c:2125
+#, fuzzy, c-format
+#| msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)"
+msgid "Number of publication names (%d) must match number of database names (%d)."
+msgstr "el número de columnas de particionamiento (%d) no coincide con el número de llaves de particionamiento provistas (%d)"
+
+#: pg_createsubscriber.c:2131
+#, fuzzy, c-format
+#| msgid "wrong number of array subscripts"
+msgid "wrong number of subscription names"
+msgstr "número incorrecto de subíndices del array"
+
+#: pg_createsubscriber.c:2132
+#, fuzzy, c-format
+#| msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)"
+msgid "Number of subscription names (%d) must match number of database names (%d)."
+msgstr "el número de columnas de particionamiento (%d) no coincide con el número de llaves de particionamiento provistas (%d)"
+
+#: pg_createsubscriber.c:2138
+#, fuzzy, c-format
+#| msgid "dropping replication slot \"%s\""
+msgid "wrong number of replication slot names"
+msgstr "eliminando el slot de replicación «%s»"
+
+#: pg_createsubscriber.c:2139
+#, fuzzy, c-format
+#| msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)"
+msgid "Number of replication slot names (%d) must match number of database names (%d)."
+msgstr "el número de columnas de particionamiento (%d) no coincide con el número de llaves de particionamiento provistas (%d)"
+
+#: pg_createsubscriber.c:2168
+#, fuzzy, c-format
+#| msgid "Finding the real data directory for the source cluster"
+msgid "subscriber data directory is not a copy of the source database cluster"
+msgstr "Buscando el directorio de datos real para el clúster de origen"
+
+#: pg_createsubscriber.c:2181
+#, c-format
+msgid "standby is up and running"
+msgstr ""
+
+#: pg_createsubscriber.c:2182
+#, c-format
+msgid "Stop the standby and try again."
+msgstr ""
+
+#: pg_createsubscriber.c:2191
+#, c-format
+msgid "starting the standby with command-line options"
+msgstr ""
+
+#: pg_createsubscriber.c:2207 pg_createsubscriber.c:2242
+#, c-format
+msgid "stopping the subscriber"
+msgstr ""
+
+#: pg_createsubscriber.c:2221
+#, fuzzy, c-format
+#| msgid "starting archive recovery"
+msgid "starting the subscriber"
+msgstr "comenzando proceso de recuperación"
+
+#: pg_createsubscriber.c:2250
+#, c-format
+msgid "Done!"
+msgstr "¡Listo!"
+
+#: pg_receivewal.c:77
+#, c-format
+msgid ""
+"%s receives PostgreSQL streaming write-ahead logs.\n"
+"\n"
+msgstr ""
+"%s recibe flujos del WAL de PostgreSQL.\n"
+"\n"
+
 #: pg_receivewal.c:82
 #, c-format
 msgid "  -D, --directory=DIR    receive write-ahead log files into this directory\n"
 msgstr "  -D, --directory=DIR    recibir los archivos de WAL en este directorio\n"
 
-#: pg_receivewal.c:83 pg_recvlogical.c:83
+#: pg_receivewal.c:83 pg_recvlogical.c:93
 #, c-format
 msgid "  -E, --endpos=LSN       exit after receiving the specified LSN\n"
 msgstr "  -E, --endpos=LSN       salir luego de recibir el LSN especificado\n"
 
-#: pg_receivewal.c:84 pg_recvlogical.c:87
+#: pg_receivewal.c:84 pg_recvlogical.c:97
 #, c-format
 msgid "      --if-not-exists    do not error if slot already exists when creating a slot\n"
 msgstr "      --if-not-exists    no abandonar si el slot ya existe al crear un slot\n"
 
-#: pg_receivewal.c:85 pg_recvlogical.c:89
+#: pg_receivewal.c:85 pg_recvlogical.c:99
 #, c-format
 msgid "  -n, --no-loop          do not loop on connection lost\n"
 msgstr "  -n, --no-loop          no entrar en bucle al perder la conexión\n"
@@ -1175,7 +2087,7 @@ msgstr "  -n, --no-loop          no entrar en bucle al perder la conexión\n"
 msgid "      --no-sync          do not wait for changes to be written safely to disk\n"
 msgstr "      --no-sync          no esperar que los cambios se sincronicen a disco\n"
 
-#: pg_receivewal.c:87 pg_recvlogical.c:94
+#: pg_receivewal.c:87 pg_recvlogical.c:104
 #, c-format
 msgid ""
 "  -s, --status-interval=SECS\n"
@@ -1208,12 +2120,12 @@ msgstr ""
 "\n"
 "Acciones optativas:\n"
 
-#: pg_receivewal.c:104 pg_recvlogical.c:79
+#: pg_receivewal.c:104 pg_recvlogical.c:89
 #, c-format
 msgid "      --create-slot      create a new replication slot (for the slot's name see --slot)\n"
 msgstr "      --create-slot      crear un nuevo slot de replicación (para el nombre, vea --slot)\n"
 
-#: pg_receivewal.c:105 pg_recvlogical.c:80
+#: pg_receivewal.c:105 pg_recvlogical.c:90
 #, c-format
 msgid "      --drop-slot        drop the replication slot (for the slot's name see --slot)\n"
 msgstr "      --drop-slot        eliminar un slot de replicación (para el nombre, vea --slot)\n"
@@ -1233,7 +2145,7 @@ msgstr "detenido el flujo de log en %X/%X (timeline %u)"
 msgid "switched to timeline %u at %X/%X"
 msgstr "cambiado al timeline %u en %X/%X"
 
-#: pg_receivewal.c:224
+#: pg_receivewal.c:224 pg_recvlogical.c:1053
 #, c-format
 msgid "received interrupt signal, exiting"
 msgstr "se recibió una señal de interrupción, saliendo"
@@ -1278,11 +2190,6 @@ msgstr "el archivo de segmento «%s» tiene tamaño incorrecto %d al descomprimi
 msgid "could not create LZ4 decompression context: %s"
 msgstr "no se pudo crear un contexto de descompresión LZ4: %s"
 
-#: pg_receivewal.c:402
-#, c-format
-msgid "could not read file \"%s\": %m"
-msgstr "no se pudo leer el archivo «%s»: %m"
-
 #: pg_receivewal.c:420
 #, c-format
 msgid "could not decompress file \"%s\": %s"
@@ -1308,7 +2215,7 @@ msgstr "no se puede verificar el archivo «%s»: la compresión con %s no está
 msgid "starting log streaming at %X/%X (timeline %u)"
 msgstr "iniciando el flujo de log en %X/%X (timeline %u)"
 
-#: pg_receivewal.c:693 pg_recvlogical.c:783
+#: pg_receivewal.c:693 pg_recvlogical.c:801
 #, c-format
 msgid "could not parse end position \"%s\""
 msgstr "no se pudo interpretar la posición final «%s»"
@@ -1338,28 +2245,28 @@ msgstr "el método de compresión %s no está soportado aún"
 msgid "replication connection using slot \"%s\" is unexpectedly database specific"
 msgstr "la conexión de replicación usando el slot «%s» es inesperadamente específica a una base de datos"
 
-#: pg_receivewal.c:878 pg_recvlogical.c:954
+#: pg_receivewal.c:878 pg_recvlogical.c:972
 #, c-format
 msgid "dropping replication slot \"%s\""
 msgstr "eliminando el slot de replicación «%s»"
 
-#: pg_receivewal.c:889 pg_recvlogical.c:964
+#: pg_receivewal.c:889 pg_recvlogical.c:982
 #, c-format
 msgid "creating replication slot \"%s\""
 msgstr "creando el slot de replicación «%s»"
 
-#: pg_receivewal.c:918 pg_recvlogical.c:988
+#: pg_receivewal.c:918 pg_recvlogical.c:1006
 #, c-format
 msgid "disconnected"
 msgstr "desconectado"
 
 #. translator: check source for value for %d
-#: pg_receivewal.c:922 pg_recvlogical.c:992
+#: pg_receivewal.c:922 pg_recvlogical.c:1010
 #, c-format
 msgid "disconnected; waiting %d seconds to try again"
 msgstr "desconectado; esperando %d segundos para intentar nuevamente"
 
-#: pg_recvlogical.c:74
+#: pg_recvlogical.c:84
 #, c-format
 msgid ""
 "%s controls PostgreSQL logical decoding streams.\n"
@@ -1368,7 +2275,7 @@ msgstr ""
 "%s controla flujos de decodificación lógica de PostgreSQL.\n"
 "\n"
 
-#: pg_recvlogical.c:78
+#: pg_recvlogical.c:88
 #, c-format
 msgid ""
 "\n"
@@ -1377,17 +2284,17 @@ msgstr ""
 "\n"
 "Acciones a ejecutar:\n"
 
-#: pg_recvlogical.c:81
+#: pg_recvlogical.c:91
 #, c-format
 msgid "      --start            start streaming in a replication slot (for the slot's name see --slot)\n"
 msgstr "      --start            iniciar flujo en un slot de replicación (para el nombre, vea --slot)\n"
 
-#: pg_recvlogical.c:84
+#: pg_recvlogical.c:94
 #, c-format
 msgid "  -f, --file=FILE        receive log into this file, - for stdout\n"
 msgstr "  -f, --file=ARCHIVO     recibir el log en este archivo, - para stdout\n"
 
-#: pg_recvlogical.c:85
+#: pg_recvlogical.c:95
 #, c-format
 msgid ""
 "  -F  --fsync-interval=SECS\n"
@@ -1396,12 +2303,12 @@ msgstr ""
 "  -F, --fsync-interval=SEGS\n"
 "                         tiempo entre fsyncs del archivo de salida (omisión: %d)\n"
 
-#: pg_recvlogical.c:88
+#: pg_recvlogical.c:98
 #, c-format
 msgid "  -I, --startpos=LSN     where in an existing slot should the streaming start\n"
 msgstr "  -I, --startpos=LSN     dónde en un slot existente debe empezar el flujo\n"
 
-#: pg_recvlogical.c:90
+#: pg_recvlogical.c:100
 #, c-format
 msgid ""
 "  -o, --option=NAME[=VALUE]\n"
@@ -1412,143 +2319,143 @@ msgstr ""
 "                         pasar opción NOMBRE con valor opcional VALOR al\n"
 "                         plugin de salida\n"
 
-#: pg_recvlogical.c:93
+#: pg_recvlogical.c:103
 #, c-format
 msgid "  -P, --plugin=PLUGIN    use output plugin PLUGIN (default: %s)\n"
 msgstr "  -P, --plugin=PLUGIN    usar plug-in de salida PLUGIN (omisión: %s)\n"
 
-#: pg_recvlogical.c:96
+#: pg_recvlogical.c:106
 #, c-format
 msgid "  -S, --slot=SLOTNAME    name of the logical replication slot\n"
 msgstr "  -S, --slot=NOMBRE-SLOT nombre del slot de replicación lógica\n"
 
-#: pg_recvlogical.c:97
+#: pg_recvlogical.c:107
 #, c-format
 msgid "  -t, --two-phase        enable decoding of prepared transactions when creating a slot\n"
 msgstr "  -t, --two-phase        activa decodificación de transacciones preparadas al crear un slot\n"
 
-#: pg_recvlogical.c:102
+#: pg_recvlogical.c:112
 #, c-format
 msgid "  -d, --dbname=DBNAME    database to connect to\n"
 msgstr "  -d, --dbname=BASE      base de datos a la cual conectarse\n"
 
-#: pg_recvlogical.c:135
+#: pg_recvlogical.c:145
 #, c-format
 msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)"
 msgstr "confirmando escritura hasta %X/%X, fsync hasta %X/%X (slot %s)"
 
-#: pg_recvlogical.c:159 receivelog.c:360
+#: pg_recvlogical.c:169 receivelog.c:360
 #, c-format
 msgid "could not send feedback packet: %s"
 msgstr "no se pudo enviar el paquete de retroalimentación: %s"
 
-#: pg_recvlogical.c:227
+#: pg_recvlogical.c:239
 #, c-format
 msgid "starting log streaming at %X/%X (slot %s)"
 msgstr "iniciando el flujo de log en %X/%X (slot %s)"
 
-#: pg_recvlogical.c:269
+#: pg_recvlogical.c:281
 #, c-format
 msgid "streaming initiated"
 msgstr "flujo iniciado"
 
-#: pg_recvlogical.c:333
+#: pg_recvlogical.c:346
 #, c-format
 msgid "could not open log file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de registro «%s»: %m"
 
-#: pg_recvlogical.c:362 receivelog.c:882
+#: pg_recvlogical.c:375 receivelog.c:882
 #, c-format
 msgid "invalid socket: %s"
 msgstr "el socket no es válido: %s"
 
-#: pg_recvlogical.c:415 receivelog.c:910
+#: pg_recvlogical.c:428 receivelog.c:910
 #, c-format
 msgid "%s() failed: %m"
 msgstr "%s() falló: %m"
 
-#: pg_recvlogical.c:422 receivelog.c:959
+#: pg_recvlogical.c:435 receivelog.c:959
 #, c-format
 msgid "could not receive data from WAL stream: %s"
 msgstr "no se pudo recibir datos desde el flujo de WAL: %s"
 
-#: pg_recvlogical.c:464 pg_recvlogical.c:515 receivelog.c:1003
+#: pg_recvlogical.c:477 pg_recvlogical.c:528 receivelog.c:1003
 #: receivelog.c:1066
 #, c-format
 msgid "streaming header too small: %d"
 msgstr "cabecera de flujo demasiado pequeña: %d"
 
-#: pg_recvlogical.c:499 receivelog.c:843
+#: pg_recvlogical.c:512 receivelog.c:843
 #, c-format
 msgid "unrecognized streaming header: \"%c\""
 msgstr "cabecera de flujo no reconocida: «%c»"
 
-#: pg_recvlogical.c:553 pg_recvlogical.c:565
+#: pg_recvlogical.c:566 pg_recvlogical.c:578
 #, c-format
 msgid "could not write %d bytes to log file \"%s\": %m"
 msgstr "no se pudo escribir %d bytes al archivo de registro «%s»: %m"
 
-#: pg_recvlogical.c:619 receivelog.c:642 receivelog.c:679
+#: pg_recvlogical.c:636 receivelog.c:642 receivelog.c:679
 #, c-format
 msgid "unexpected termination of replication stream: %s"
 msgstr "término inesperado del flujo de replicación: %s"
 
-#: pg_recvlogical.c:778
+#: pg_recvlogical.c:796
 #, c-format
 msgid "could not parse start position \"%s\""
 msgstr "no se pudo interpretar la posición de inicio «%s»"
 
-#: pg_recvlogical.c:856
+#: pg_recvlogical.c:874
 #, c-format
 msgid "no slot specified"
 msgstr "no se especificó slot"
 
-#: pg_recvlogical.c:863
+#: pg_recvlogical.c:881
 #, c-format
 msgid "no target file specified"
 msgstr "no se especificó un archivo de destino"
 
-#: pg_recvlogical.c:870
+#: pg_recvlogical.c:888
 #, c-format
 msgid "no database specified"
 msgstr "no se especificó una base de datos"
 
-#: pg_recvlogical.c:877
+#: pg_recvlogical.c:895
 #, c-format
 msgid "at least one action needs to be specified"
 msgstr "debe especificarse al menos una operación"
 
-#: pg_recvlogical.c:884
+#: pg_recvlogical.c:902
 #, c-format
 msgid "cannot use --create-slot or --start together with --drop-slot"
 msgstr "no puede usarse --create-slot o --start junto con --drop-slot"
 
-#: pg_recvlogical.c:891
+#: pg_recvlogical.c:909
 #, c-format
 msgid "cannot use --create-slot or --drop-slot together with --startpos"
 msgstr "no puede usarse --create-slot o --drop-slot junto con --startpos"
 
-#: pg_recvlogical.c:898
+#: pg_recvlogical.c:916
 #, c-format
 msgid "--endpos may only be specified with --start"
 msgstr "--endpos sólo se puede utilizar con --start"
 
-#: pg_recvlogical.c:905
+#: pg_recvlogical.c:923
 #, c-format
 msgid "--two-phase may only be specified with --create-slot"
 msgstr "--two-phase sólo se puede utilizar con --create-slot"
 
-#: pg_recvlogical.c:938
+#: pg_recvlogical.c:956
 #, c-format
 msgid "could not establish database-specific replication connection"
 msgstr "no se pudo establecer una conexión de replicación específica a una base de datos"
 
-#: pg_recvlogical.c:1032
+#: pg_recvlogical.c:1056
 #, c-format
 msgid "end position %X/%X reached by keepalive"
 msgstr "ubicación de término %X/%X alcanzado por «keep-alive»"
 
-#: pg_recvlogical.c:1035
+#: pg_recvlogical.c:1061
 #, c-format
 msgid "end position %X/%X reached by WAL record at %X/%X"
 msgstr "ubicación de término %X/%X alcanzado por registro WAL en %X/%X"
@@ -1665,7 +2572,7 @@ msgstr "respuesta inesperada después del fin-de-timeline: se obtuvieron %d fila
 msgid "could not parse next timeline's starting point \"%s\""
 msgstr "no se pudo interpretar el punto de inicio del siguiente timeline «%s»"
 
-#: receivelog.c:775 receivelog.c:1022 walmethods.c:1201
+#: receivelog.c:775 receivelog.c:1022 walmethods.c:1206
 #, c-format
 msgid "could not fsync file \"%s\": %s"
 msgstr "no se pudo sincronizar (fsync) archivo «%s»: %s"
@@ -1690,120 +2597,127 @@ msgstr "no se pudo escribir %d bytes al archivo WAL «%s»: %s"
 msgid "could not send copy-end packet: %s"
 msgstr "no se pudo enviar el paquete copy-end: %s"
 
-#: streamutil.c:158
+#: streamutil.c:162
 msgid "Password: "
 msgstr "Contraseña: "
 
-#: streamutil.c:181
+#: streamutil.c:189
 #, c-format
 msgid "could not connect to server"
 msgstr "no se pudo conectar al servidor"
 
-#: streamutil.c:222
-#, c-format
-msgid "could not clear search_path: %s"
+#: streamutil.c:230
+#, fuzzy, c-format
+#| msgid "could not clear search_path: %s"
+msgid "could not clear \"search_path\": %s"
 msgstr "no se pudo limpiar search_path: %s"
 
-#: streamutil.c:238
-#, c-format
-msgid "could not determine server setting for integer_datetimes"
+#: streamutil.c:246
+#, fuzzy, c-format
+#| msgid "could not determine server setting for integer_datetimes"
+msgid "could not determine server setting for \"integer_datetimes\""
 msgstr "no se pudo determinar la opción integer_datetimes del servidor"
 
-#: streamutil.c:245
-#, c-format
-msgid "integer_datetimes compile flag does not match server"
+#: streamutil.c:253
+#, fuzzy, c-format
+#| msgid "integer_datetimes compile flag does not match server"
+msgid "\"integer_datetimes\" compile flag does not match server"
 msgstr "la opción de compilación integer_datetimes no coincide con el servidor"
 
-#: streamutil.c:296
+#: streamutil.c:372
 #, c-format
 msgid "could not fetch WAL segment size: got %d rows and %d fields, expected %d rows and %d or more fields"
 msgstr "no se pudo obtener el tamaño del segmento de WAL: se obtuvo %d filas y %d campos, se esperaban %d filas y %d o más campos"
 
-#: streamutil.c:306
+#: streamutil.c:382
 #, c-format
 msgid "WAL segment size could not be parsed"
 msgstr "el tamaño de segmento de WAL no pudo ser analizado"
 
-#: streamutil.c:324
-#, c-format
-msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the remote server reported a value of %d byte"
-msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the remote server reported a value of %d bytes"
-msgstr[0] "el tamaño de segmento de WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero el servidor remoto reportó un valor de %d byte"
-msgstr[1] "el tamaño de segmento de WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero el servidor remoto reportó un valor de %d bytes"
+#: streamutil.c:400
+#, fuzzy, c-format
+#| msgid "pg_control specifies invalid WAL segment size (%d byte); proceed with caution"
+#| msgid_plural "pg_control specifies invalid WAL segment size (%d bytes); proceed with caution"
+msgid "remote server reported invalid WAL segment size (%d byte)"
+msgid_plural "remote server reported invalid WAL segment size (%d bytes)"
+msgstr[0] "pg_control especifica un tamaño de segmento de WAL no válido (%d byte), proceda con precaución"
+msgstr[1] "pg_control especifica un tamaño de segmento de WAL no válido (%d bytes), proceda con precaución"
+
+#: streamutil.c:404
+#, fuzzy, c-format
+#| msgid "argument of --wal-segsize must be a power of two between 1 and 1024"
+msgid "The WAL segment size must be a power of two between 1 MB and 1 GB."
+msgstr "el argumento de --wal-segsize debe ser una potencia de dos entre 1 y 1024"
 
-#: streamutil.c:369
+#: streamutil.c:446
 #, c-format
 msgid "could not fetch group access flag: got %d rows and %d fields, expected %d rows and %d or more fields"
 msgstr "no se pudo obtener el indicador de acceso de grupo: se obtuvo %d filas y %d campos, se esperaban %d filas y %d o más campos"
 
-#: streamutil.c:378
+#: streamutil.c:455
 #, c-format
 msgid "group access flag could not be parsed: %s"
 msgstr "el indicador de acceso de grupo no pudo ser analizado: %s"
 
-#: streamutil.c:421 streamutil.c:458
+#: streamutil.c:498 streamutil.c:535
 #, c-format
 msgid "could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields"
 msgstr "no se pudo identificar al sistema: se obtuvieron %d filas y %d campos, se esperaban %d filas y %d o más campos"
 
-#: streamutil.c:510
+#: streamutil.c:587
 #, c-format
 msgid "could not read replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields"
 msgstr "no se pudo leer el slot de replicación «%s»: se obtuvieron %d filas y %d campos, se esperaban %d filas y %d campos"
 
-#: streamutil.c:522
+#: streamutil.c:599
 #, c-format
 msgid "replication slot \"%s\" does not exist"
 msgstr "no existe el slot de replicación «%s»"
 
-#: streamutil.c:533
+#: streamutil.c:610
 #, c-format
 msgid "expected a physical replication slot, got type \"%s\" instead"
 msgstr "se esperaba un slot de replicación físico, en cambio se obtuvo tipo «%s»"
 
-#: streamutil.c:547
+#: streamutil.c:624
 #, c-format
 msgid "could not parse restart_lsn \"%s\" for replication slot \"%s\""
 msgstr "no se pudo interpretar restart_lsn de WAL «%s» para el slot de replicación «%s»"
 
-#: streamutil.c:664
+#: streamutil.c:741
 #, c-format
 msgid "could not create replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields"
 msgstr "no se pudo create el slot de replicación «%s»: se obtuvieron %d filas y %d campos, se esperaban %d filas y %d campos"
 
-#: streamutil.c:708
+#: streamutil.c:785
 #, c-format
 msgid "could not drop replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields"
 msgstr "no se pudo eliminar el slot de replicación «%s»: se obtuvieron %d filas y %d campos, se esperaban %d filas y %d campos"
 
-#: walmethods.c:721 walmethods.c:1264
+#: walmethods.c:726 walmethods.c:1269
 msgid "could not compress data"
 msgstr "no se pudo comprimir datos"
 
-#: walmethods.c:750
+#: walmethods.c:755
 msgid "could not reset compression stream"
 msgstr "no se pudo restablecer el flujo comprimido"
 
-#: walmethods.c:888
+#: walmethods.c:892
 msgid "implementation error: tar files can't have more than one open file"
 msgstr "error de implementación: los archivos tar no pueden tener abierto más de un fichero"
 
-#: walmethods.c:903
+#: walmethods.c:907
 msgid "could not create tar header"
 msgstr "no se pudo crear la cabecera del archivo tar"
 
-#: walmethods.c:920 walmethods.c:961 walmethods.c:1166 walmethods.c:1179
+#: walmethods.c:924 walmethods.c:965 walmethods.c:1171 walmethods.c:1184
 msgid "could not change compression parameters"
 msgstr "no se pudo cambiar los parámetros de compresión"
 
-#: walmethods.c:1052
+#: walmethods.c:1056
 msgid "unlink not supported with compression"
 msgstr "unlink no soportado con compresión"
 
-#: walmethods.c:1288
+#: walmethods.c:1293
 msgid "could not close compression stream"
 msgstr "no se pudo cerrar el flujo comprimido"
-
-#, 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"
index 475406d9037203af49da1f5e5d4347ca879c8778..8319c56d8b96164fcb4d6977d78ad3e598e65704 100644 (file)
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_checksums (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:23+0000\n"
+"POT-Creation-Date: 2024-08-01 11:24+0000\n"
 "PO-Revision-Date: 2023-05-22 12:05+0200\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: pgsql-es-ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
@@ -40,6 +40,107 @@ msgstr "detalle: "
 msgid "hint: "
 msgstr "consejo: "
 
+#: ../../common/controldata_utils.c:97
+#, 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:110
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "no se pudo leer el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:119
+#, 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:132 ../../common/controldata_utils.c:280
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "no se pudo cerrar el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:168
+msgid "byte ordering mismatch"
+msgstr "discordancia en orden de bytes"
+
+#: ../../common/controldata_utils.c:170
+#, c-format
+msgid ""
+"possible byte ordering mismatch\n"
+"The byte ordering used to store the pg_control file might not match the one\n"
+"used by this program.  In that case the results below would be incorrect, and\n"
+"the PostgreSQL installation would be incompatible with this data directory."
+msgstr ""
+"posible discordancia en orden de bytes\n"
+"El ordenamiento de bytes usado para almacenar el archivo pg_control puede no\n"
+"coincidir con el usado por este programa.  En tal caso los resultados de abajo\n"
+"serían erróneos, y la instalación de PostgreSQL sería incompatible con este\n"
+"directorio de datos."
+
+#: ../../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 pg_checksums.c:192
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "no se pudo abrir el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:249
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "no se pudo escribir el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:418
+#: ../../common/file_utils.c:488
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "memoria agotada\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "no se puede duplicar un puntero nulo (error interno)\n"
+
+#: ../../common/file_utils.c:76
+#, 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
+#: pg_checksums.c:338 pg_checksums.c:407
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "no se pudo hacer stat al archivo «%s»: %m"
+
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, fuzzy, c-format
+#| msgid "this build does not support compression with %s"
+msgid "this build does not support sync method \"%s\""
+msgstr "esta instalación no soporta compresión con %s"
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#: pg_checksums.c:310
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "no se pudo abrir el directorio «%s»: %m"
+
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "no se pudo leer el directorio «%s»: %m"
+
+#: ../../common/file_utils.c:498
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
+
 #: ../../fe_utils/option_utils.c:69
 #, c-format
 msgid "invalid value \"%s\" for option %s"
@@ -50,7 +151,13 @@ msgstr "el valor «%s» no es válido para la opción %s"
 msgid "%s must be in range %d..%d"
 msgstr "%s debe estar en el rango %d..%d"
 
-#: pg_checksums.c:79
+#: ../../fe_utils/option_utils.c:106
+#, fuzzy, c-format
+#| msgid "unrecognized key word: \"%s\""
+msgid "unrecognized sync method: %s"
+msgstr "palabra clave no reconocida: «%s»"
+
+#: pg_checksums.c:70
 #, c-format
 msgid ""
 "%s enables, disables, or verifies data checksums in a PostgreSQL database cluster.\n"
@@ -59,17 +166,17 @@ msgstr ""
 "%s activa, desactiva o verifica checksums de datos en un clúster PostgreSQL.\n"
 "\n"
 
-#: pg_checksums.c:80
+#: pg_checksums.c:71
 #, c-format
 msgid "Usage:\n"
 msgstr "Empleo:\n"
 
-#: pg_checksums.c:81
+#: pg_checksums.c:72
 #, c-format
 msgid "  %s [OPTION]... [DATADIR]\n"
 msgstr "  %s [OPCIÓN]... [DATADIR]\n"
 
-#: pg_checksums.c:82
+#: pg_checksums.c:73
 #, c-format
 msgid ""
 "\n"
@@ -78,57 +185,63 @@ msgstr ""
 "\n"
 "Opciones:\n"
 
-#: pg_checksums.c:83
+#: pg_checksums.c:74
 #, c-format
 msgid " [-D, --pgdata=]DATADIR    data directory\n"
 msgstr " [-D, --pgdata=]DATADIR    directorio de datos\n"
 
-#: pg_checksums.c:84
+#: pg_checksums.c:75
 #, c-format
 msgid "  -c, --check              check data checksums (default)\n"
 msgstr "  -c, --check              verificar checksums (por omisión)\n"
 
-#: pg_checksums.c:85
+#: pg_checksums.c:76
 #, c-format
 msgid "  -d, --disable            disable data checksums\n"
 msgstr "  -d, --disable            desactivar checksums\n"
 
-#: pg_checksums.c:86
+#: pg_checksums.c:77
 #, c-format
 msgid "  -e, --enable             enable data checksums\n"
 msgstr "  -e, --enable             activar checksums\n"
 
-#: pg_checksums.c:87
+#: pg_checksums.c:78
 #, c-format
 msgid "  -f, --filenode=FILENODE  check only relation with specified filenode\n"
 msgstr "  -f, --filenode=FILENODE  verificar sólo la relación con el filenode dado\n"
 
-#: pg_checksums.c:88
+#: pg_checksums.c:79
 #, c-format
 msgid "  -N, --no-sync            do not wait for changes to be written safely to disk\n"
 msgstr "  -N, --no-sync            no esperar que los cambios se sincronicen a disco\n"
 
-#: pg_checksums.c:89
+#: pg_checksums.c:80
 #, c-format
 msgid "  -P, --progress           show progress information\n"
 msgstr "  -P, --progress           mostrar información de progreso\n"
 
-#: pg_checksums.c:90
+#: pg_checksums.c:81
+#, fuzzy, c-format
+#| msgid "  --clone                       clone instead of copying files to new cluster\n"
+msgid "      --sync-method=METHOD set method for syncing files to disk\n"
+msgstr "  --clone                       clonar los archivos en vez de copiarlos\n"
+
+#: pg_checksums.c:82
 #, c-format
 msgid "  -v, --verbose            output verbose messages\n"
 msgstr "  -v, --verbose            desplegar mensajes verbosos\n"
 
-#: pg_checksums.c:91
+#: pg_checksums.c:83
 #, c-format
 msgid "  -V, --version            output version information, then exit\n"
 msgstr "  -V, --version            mostrar información de versión y salir\n"
 
-#: pg_checksums.c:92
+#: pg_checksums.c:84
 #, c-format
 msgid "  -?, --help               show this help, then exit\n"
 msgstr "  -?, --help               mostrar esta ayuda y salir\n"
 
-#: pg_checksums.c:93
+#: pg_checksums.c:85
 #, c-format
 msgid ""
 "\n"
@@ -141,192 +254,177 @@ msgstr ""
 "la variable de entorno PGDATA.\n"
 "\n"
 
-#: pg_checksums.c:95
+#: pg_checksums.c:87
 #, c-format
 msgid "Report bugs to <%s>.\n"
 msgstr "Reporte errores a <%s>.\n"
 
-#: pg_checksums.c:96
+#: pg_checksums.c:88
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sitio web de %s: <%s>\n"
 
-#: pg_checksums.c:153
+#: pg_checksums.c:145
 #, c-format
 msgid "%lld/%lld MB (%d%%) computed"
 msgstr "%lld/%lld MB (%d%%) calculado"
 
-#: pg_checksums.c:200
-#, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "no se pudo abrir el archivo «%s»: %m"
-
-#: pg_checksums.c:214
+#: pg_checksums.c:206
 #, c-format
 msgid "could not read block %u in file \"%s\": %m"
 msgstr "no se pudo leer el bloque %u del archivo «%s»: %m"
 
-#: pg_checksums.c:217
+#: pg_checksums.c:209
 #, c-format
 msgid "could not read block %u in file \"%s\": read %d of %d"
 msgstr "no se pudo leer bloque %u en archivo «%s»: leídos %d de %d"
 
-#: pg_checksums.c:240
+#: pg_checksums.c:232
 #, c-format
 msgid "checksum verification failed in file \"%s\", block %u: calculated checksum %X but block contains %X"
 msgstr "verificación de checksums falló en archivo «%s», bloque %u: checksum calculado %X pero bloque contiene %X"
 
-#: pg_checksums.c:263
+#: pg_checksums.c:255
 #, c-format
 msgid "seek failed for block %u in file \"%s\": %m"
 msgstr "posicionamiento (seek) falló para el bloque %u en archivo «%s»: %m"
 
-#: pg_checksums.c:270
+#: pg_checksums.c:262
 #, c-format
 msgid "could not write block %u in file \"%s\": %m"
 msgstr "no se pudo escribir el bloque %u en el archivo «%s»: %m"
 
-#: pg_checksums.c:273
+#: pg_checksums.c:265
 #, c-format
 msgid "could not write block %u in file \"%s\": wrote %d of %d"
 msgstr "no se pudo escribir el bloque %u en el archivo «%s»: se escribieron %d de %d"
 
-#: pg_checksums.c:285
+#: pg_checksums.c:277
 #, c-format
 msgid "checksums verified in file \"%s\""
 msgstr "checksums verificados en archivo «%s»"
 
-#: pg_checksums.c:287
+#: pg_checksums.c:279
 #, c-format
 msgid "checksums enabled in file \"%s\""
 msgstr "checksums activados en archivo «%s»"
 
-#: pg_checksums.c:318
-#, c-format
-msgid "could not open directory \"%s\": %m"
-msgstr "no se pudo abrir el directorio «%s»: %m"
-
-#: pg_checksums.c:342 pg_checksums.c:411
-#, c-format
-msgid "could not stat file \"%s\": %m"
-msgstr "no se pudo hacer stat al archivo «%s»: %m"
-
-#: pg_checksums.c:366
+#: pg_checksums.c:362
 #, c-format
 msgid "invalid segment number %d in file name \"%s\""
 msgstr "número de segmento %d no válido en nombre de archivo «%s»"
 
-#: pg_checksums.c:508 pg_checksums.c:524 pg_checksums.c:534 pg_checksums.c:542
+#: pg_checksums.c:509 pg_checksums.c:525 pg_checksums.c:535 pg_checksums.c:543
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Pruebe «%s --help» para mayor información."
 
-#: pg_checksums.c:523
+#: pg_checksums.c:524
 #, c-format
 msgid "no data directory specified"
 msgstr "no se especificó el directorio de datos"
 
-#: pg_checksums.c:532
+#: pg_checksums.c:533
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)"
 
-#: pg_checksums.c:541
+#: pg_checksums.c:542
 #, c-format
 msgid "option -f/--filenode can only be used with --check"
 msgstr "la opción -f/--filenode sólo puede usarse con --check"
 
-#: pg_checksums.c:549
+#: pg_checksums.c:550
 #, c-format
 msgid "pg_control CRC value is incorrect"
 msgstr "el valor de CRC de pg_control es incorrecto"
 
-#: pg_checksums.c:552
+#: pg_checksums.c:553
 #, c-format
 msgid "cluster is not compatible with this version of pg_checksums"
 msgstr "el clúster no es compatible con esta versión de pg_checksums"
 
-#: pg_checksums.c:556
+#: pg_checksums.c:557
 #, c-format
 msgid "database cluster is not compatible"
 msgstr "el clúster de bases de datos no es compatible"
 
-#: pg_checksums.c:557
+#: pg_checksums.c:558
 #, c-format
 msgid "The database cluster was initialized with block size %u, but pg_checksums was compiled with block size %u."
 msgstr "El clúster fue inicializado con tamaño de bloque %u, pero pg_checksums fue compilado con tamaño de bloques %u."
 
-#: pg_checksums.c:569
+#: pg_checksums.c:570
 #, c-format
 msgid "cluster must be shut down"
 msgstr "el clúster debe estar apagado"
 
-#: pg_checksums.c:573
+#: pg_checksums.c:574
 #, c-format
 msgid "data checksums are not enabled in cluster"
 msgstr "los checksums de datos no están activados en el clúster"
 
-#: pg_checksums.c:577
+#: pg_checksums.c:578
 #, c-format
 msgid "data checksums are already disabled in cluster"
 msgstr "los checksums de datos ya están desactivados en el clúster"
 
-#: pg_checksums.c:581
+#: pg_checksums.c:582
 #, c-format
 msgid "data checksums are already enabled in cluster"
 msgstr "los checksums de datos ya están activados en el clúster"
 
-#: pg_checksums.c:605
+#: pg_checksums.c:606
 #, c-format
 msgid "Checksum operation completed\n"
 msgstr "Operación de checksums completa\n"
 
-#: pg_checksums.c:606
+#: pg_checksums.c:607
 #, c-format
 msgid "Files scanned:   %lld\n"
 msgstr "Archivos recorridos:   %lld\n"
 
-#: pg_checksums.c:607
+#: pg_checksums.c:608
 #, c-format
 msgid "Blocks scanned:  %lld\n"
 msgstr "Bloques recorridos:    %lld\n"
 
-#: pg_checksums.c:610
+#: pg_checksums.c:611
 #, c-format
 msgid "Bad checksums:  %lld\n"
 msgstr "Checksums incorrectos: %lld\n"
 
-#: pg_checksums.c:611 pg_checksums.c:643
+#: pg_checksums.c:612 pg_checksums.c:644
 #, c-format
 msgid "Data checksum version: %u\n"
 msgstr "Versión de checksums de datos: %u\n"
 
-#: pg_checksums.c:618
+#: pg_checksums.c:619
 #, c-format
 msgid "Files written:  %lld\n"
 msgstr "Archivos escritos:   %lld\n"
 
-#: pg_checksums.c:619
+#: pg_checksums.c:620
 #, c-format
 msgid "Blocks written: %lld\n"
 msgstr "Bloques escritos:    %lld\n"
 
-#: pg_checksums.c:635
+#: pg_checksums.c:636
 #, c-format
 msgid "syncing data directory"
 msgstr "sincronizando directorio de datos"
 
-#: pg_checksums.c:639
+#: pg_checksums.c:640
 #, c-format
 msgid "updating control file"
 msgstr "actualizando archivo de control"
 
-#: pg_checksums.c:645
+#: pg_checksums.c:646
 #, c-format
 msgid "Checksums enabled in cluster\n"
 msgstr "Checksums activos en el clúster\n"
 
-#: pg_checksums.c:647
+#: pg_checksums.c:648
 #, c-format
 msgid "Checksums disabled in cluster\n"
 msgstr "Checksums inactivos en el clúster\n"
index 4ea583846477ac0768d7962d0a2f398a566116bc..a8e64f979d7ce5d6d9e01e0bd9b0a5f780b2dfdb 100644 (file)
@@ -10,8 +10,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_config (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:18+0000\n"
-"PO-Revision-Date: 2023-05-22 12:05+0200\n"
+"POT-Creation-Date: 2024-08-01 11:19+0000\n"
+"PO-Revision-Date: 2024-08-01 12:06-0400\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
 "Language: es\n"
@@ -27,35 +27,62 @@ msgstr ""
 msgid "not recorded"
 msgstr "no registrado"
 
-#: ../../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
+#: ../../common/exec.c:382
+#, c-format
+msgid "could not execute command \"%s\": %m"
+msgstr "no se pudo ejecutar la orden «%s»: %m"
+
+#: ../../common/exec.c:394
+#, c-format
+msgid "could not read from command \"%s\": %m"
+msgstr "no se pudo leer desde la orden «%s»: %m"
+
+#: ../../common/exec.c:397
+#, fuzzy, c-format
+#| msgid "no data returned from server"
+msgid "no data was returned by command \"%s\""
+msgstr "el servidor no retornó datos"
+
+#: ../../common/exec.c:424
 #, c-format
 msgid "%s() failed: %m"
 msgstr "%s() falló: %m"
 
-#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687
+#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699
 msgid "out of memory"
 msgstr "memoria agotada"
 
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "memoria agotada\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "no se puede duplicar un puntero nulo (error interno)\n"
+
 #: pg_config.c:74
 #, c-format
 msgid ""
index 58127cba51d81a97599b1a6e201ac5e823b6ae20..acb57b2490008f07bd64381e4461d5ea890a1e03 100644 (file)
@@ -11,8 +11,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_controldata (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:22+0000\n"
-"PO-Revision-Date: 2023-05-22 12:05+0200\n"
+"POT-Creation-Date: 2024-08-01 11:23+0000\n"
+"PO-Revision-Date: 2024-08-01 12:06-0400\n"
 "Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
 "Language: es\n"
@@ -22,31 +22,31 @@ msgstr ""
 "X-Generator: Poedit 2.0.2\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../../common/controldata_utils.c:73
+#: ../../common/controldata_utils.c:97
 #, 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:86
+#: ../../common/controldata_utils.c:110
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "no se pudo leer el archivo «%s»: %m"
 
-#: ../../common/controldata_utils.c:95
+#: ../../common/controldata_utils.c:119
 #, 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:108 ../../common/controldata_utils.c:236
+#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280
 #, 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"
@@ -60,21 +60,32 @@ msgstr ""
 "serían erróneos, y la instalación de PostgreSQL sería incompatible con este\n"
 "directorio de datos."
 
-#: ../../common/controldata_utils.c:186
+#: ../../common/controldata_utils.c:230
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "no se pudo abrir el archivo «%s»: %m"
 
-#: ../../common/controldata_utils.c:205
+#: ../../common/controldata_utils.c:249
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "no se pudo escribir el archivo «%s»: %m"
 
-#: ../../common/controldata_utils.c:224
+#: ../../common/controldata_utils.c:268
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
 
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "memoria agotada\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "no se puede duplicar un puntero nulo (error interno)\n"
+
 #: pg_controldata.c:35
 #, c-format
 msgid ""
@@ -174,7 +185,9 @@ msgid "unrecognized status code"
 msgstr "código de estado no reconocido"
 
 #: pg_controldata.c:84
-msgid "unrecognized wal_level"
+#, fuzzy
+#| msgid "unrecognized wal_level"
+msgid "unrecognized \"wal_level\""
 msgstr "wal_level no reconocido"
 
 #: pg_controldata.c:138 pg_controldata.c:156 pg_controldata.c:163
@@ -192,13 +205,20 @@ msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)"
 msgid "no data directory specified"
 msgstr "no se especificó el directorio de datos"
 
-#: pg_controldata.c:170
-#, c-format
-msgid ""
-"WARNING: Calculated CRC checksum does not match value stored in file.\n"
-"Either the file is corrupt, or it has a different layout than this program\n"
-"is expecting.  The results below are untrustworthy.\n"
-"\n"
+#: pg_controldata.c:171
+#, fuzzy, c-format
+#| msgid "calculated CRC checksum does not match value stored in file"
+msgid "calculated CRC checksum does not match value stored in control file"
+msgstr "la suma de verificación calculada no coincide con el valor almacenado en el archivo"
+
+#: pg_controldata.c:172
+#, fuzzy, c-format
+#| msgid ""
+#| "WARNING: Calculated CRC checksum does not match value stored in file.\n"
+#| "Either the file is corrupt, or it has a different layout than this program\n"
+#| "is expecting.  The results below are untrustworthy.\n"
+#| "\n"
+msgid "Either the control file is corrupt, or it has a different layout than this program is expecting.  The results below are untrustworthy."
 msgstr ""
 "ATENCIÓN: La suma de verificación calculada no coincide con el valor\n"
 "almacenado en el archivo. Puede ser que el archivo esté corrupto, o\n"
@@ -206,310 +226,304 @@ msgstr ""
 "esperando.  Los resultados presentados a continuación no son confiables.\n"
 "\n"
 
-#: pg_controldata.c:179
-#, c-format
-msgid "WARNING: invalid WAL segment size\n"
-msgstr "PRECAUCIÓN: tamaño de segmento de WAL no válido\n"
+#: pg_controldata.c:181
+#, fuzzy, c-format
+#| msgid "pg_control specifies invalid WAL segment size (%d byte); proceed with caution"
+#| msgid_plural "pg_control specifies invalid WAL segment size (%d bytes); proceed with caution"
+msgid "invalid WAL segment size in control file (%d byte)"
+msgid_plural "invalid WAL segment size in control file (%d bytes)"
+msgstr[0] "pg_control especifica un tamaño de segmento de WAL no válido (%d byte), proceda con precaución"
+msgstr[1] "pg_control especifica un tamaño de segmento de WAL no válido (%d bytes), proceda con precaución"
 
-#: pg_controldata.c:180
+#: pg_controldata.c:185
+#, fuzzy, c-format
+#| msgid "argument of --wal-segsize must be a power of two between 1 and 1024"
+msgid "The WAL segment size must be a power of two between 1 MB and 1 GB."
+msgstr "el argumento de --wal-segsize debe ser una potencia de dos entre 1 y 1024"
+
+#: pg_controldata.c:186
 #, c-format
-msgid ""
-"The WAL segment size stored in the file, %d byte, is not a power of two\n"
-"between 1 MB and 1 GB.  The file is corrupt and the results below are\n"
-"untrustworthy.\n"
-"\n"
-msgid_plural ""
-"The WAL segment size stored in the file, %d bytes, is not a power of two\n"
-"between 1 MB and 1 GB.  The file is corrupt and the results below are\n"
-"untrustworthy.\n"
-"\n"
-msgstr[0] ""
-"El tamaño de segmento de WAL almacenado en el archivo, %d byte,\n"
-"no es una potencia de dos entre 1 MB y 1 GB. El archivo está corrupto y los\n"
-"resultados de abajo no son confiables.\n"
-msgstr[1] ""
-"El tamaño de segmento de WAL almacenado en el archivo, %d bytes,\n"
-"no es una potencia de dos entre 1 MB y 1 GB. El archivo está corrupto y los\n"
-"resultados de abajo no son confiables.\n"
-
-#: pg_controldata.c:222
+msgid "The file is corrupt and the results below are untrustworthy."
+msgstr ""
+
+#: pg_controldata.c:221
 msgid "???"
 msgstr "???"
 
-#: pg_controldata.c:228
+#: pg_controldata.c:227
 #, c-format
 msgid "pg_control version number:            %u\n"
 msgstr "Número de versión de pg_control:            %u\n"
 
-#: pg_controldata.c:230
+#: pg_controldata.c:229
 #, c-format
 msgid "Catalog version number:               %u\n"
 msgstr "Número de versión del catálogo:             %u\n"
 
-#: pg_controldata.c:232
+#: pg_controldata.c:231
 #, c-format
 msgid "Database system identifier:           %llu\n"
 msgstr "Identificador de sistema:                   %llu\n"
 
-#: pg_controldata.c:234
+#: pg_controldata.c:233
 #, c-format
 msgid "Database cluster state:               %s\n"
 msgstr "Estado del sistema de base de datos:        %s\n"
 
-#: pg_controldata.c:236
+#: pg_controldata.c:235
 #, c-format
 msgid "pg_control last modified:             %s\n"
 msgstr "Última modificación de pg_control:          %s\n"
 
-#: pg_controldata.c:238
+#: pg_controldata.c:237
 #, c-format
 msgid "Latest checkpoint location:           %X/%X\n"
 msgstr "Ubicación del último checkpoint:            %X/%X\n"
 
-#: pg_controldata.c:240
+#: pg_controldata.c:239
 #, c-format
 msgid "Latest checkpoint's REDO location:    %X/%X\n"
 msgstr "Ubicación de REDO de último checkpoint:     %X/%X\n"
 
-#: pg_controldata.c:242
+#: pg_controldata.c:241
 #, c-format
 msgid "Latest checkpoint's REDO WAL file:    %s\n"
 msgstr "Ubicación de REDO de último checkpoint:     %s\n"
 
-#: pg_controldata.c:244
+#: pg_controldata.c:243
 #, c-format
 msgid "Latest checkpoint's TimeLineID:       %u\n"
 msgstr "TimeLineID del último checkpoint:           %u\n"
 
-#: pg_controldata.c:246
+#: pg_controldata.c:245
 #, c-format
 msgid "Latest checkpoint's PrevTimeLineID:   %u\n"
 msgstr "PrevTimeLineID del último checkpoint:       %u\n"
 
-#: pg_controldata.c:248
+#: pg_controldata.c:247
 #, c-format
 msgid "Latest checkpoint's full_page_writes: %s\n"
 msgstr "full_page_writes del último checkpoint:     %s\n"
 
-#: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302
+#: pg_controldata.c:248 pg_controldata.c:289 pg_controldata.c:301
 msgid "off"
 msgstr "desactivado"
 
-#: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302
+#: pg_controldata.c:248 pg_controldata.c:289 pg_controldata.c:301
 msgid "on"
 msgstr "activado"
 
-#: pg_controldata.c:250
+#: pg_controldata.c:249
 #, c-format
 msgid "Latest checkpoint's NextXID:          %u:%u\n"
 msgstr "NextXID de último checkpoint:               %u/%u\n"
 
-#: pg_controldata.c:253
+#: pg_controldata.c:252
 #, c-format
 msgid "Latest checkpoint's NextOID:          %u\n"
 msgstr "NextOID de último checkpoint:               %u\n"
 
-#: pg_controldata.c:255
+#: pg_controldata.c:254
 #, c-format
 msgid "Latest checkpoint's NextMultiXactId:  %u\n"
 msgstr "NextMultiXactId de último checkpoint:       %u\n"
 
-#: pg_controldata.c:257
+#: pg_controldata.c:256
 #, c-format
 msgid "Latest checkpoint's NextMultiOffset:  %u\n"
 msgstr "NextMultiOffset de último checkpoint:       %u\n"
 
-#: pg_controldata.c:259
+#: pg_controldata.c:258
 #, c-format
 msgid "Latest checkpoint's oldestXID:        %u\n"
 msgstr "oldestXID del último checkpoint:            %u\n"
 
-#: pg_controldata.c:261
+#: pg_controldata.c:260
 #, c-format
 msgid "Latest checkpoint's oldestXID's DB:   %u\n"
 msgstr "DB del oldestXID del último checkpoint:     %u\n"
 
-#: pg_controldata.c:263
+#: pg_controldata.c:262
 #, c-format
 msgid "Latest checkpoint's oldestActiveXID:  %u\n"
 msgstr "oldestActiveXID del último checkpoint:      %u\n"
 
-#: pg_controldata.c:265
+#: pg_controldata.c:264
 #, c-format
 msgid "Latest checkpoint's oldestMultiXid:   %u\n"
 msgstr "oldestMultiXid del último checkpoint:       %u\n"
 
-#: pg_controldata.c:267
+#: pg_controldata.c:266
 #, c-format
 msgid "Latest checkpoint's oldestMulti's DB: %u\n"
 msgstr "DB del oldestMultiXid del últ. checkpoint:  %u\n"
 
-#: pg_controldata.c:269
+#: pg_controldata.c:268
 #, c-format
 msgid "Latest checkpoint's oldestCommitTsXid:%u\n"
 msgstr "oldestCommitTsXid del último checkpoint:    %u\n"
 
-#: pg_controldata.c:271
+#: pg_controldata.c:270
 #, c-format
 msgid "Latest checkpoint's newestCommitTsXid:%u\n"
 msgstr "newestCommitTsXid del último checkpoint:    %u\n"
 
-#: pg_controldata.c:273
+#: pg_controldata.c:272
 #, c-format
 msgid "Time of latest checkpoint:            %s\n"
 msgstr "Instante de último checkpoint:              %s\n"
 
-#: pg_controldata.c:275
+#: pg_controldata.c:274
 #, c-format
 msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
 msgstr "Contador de LSN falsas para rels. unlogged: %X/%X\n"
 
-#: pg_controldata.c:277
+#: pg_controldata.c:276
 #, c-format
 msgid "Minimum recovery ending location:     %X/%X\n"
 msgstr "Punto final mínimo de recuperación:         %X/%X\n"
 
-#: pg_controldata.c:279
+#: pg_controldata.c:278
 #, c-format
 msgid "Min recovery ending loc's timeline:   %u\n"
 msgstr "Timeline de dicho punto final mínimo:       %u\n"
 
-#: pg_controldata.c:281
+#: pg_controldata.c:280
 #, c-format
 msgid "Backup start location:                %X/%X\n"
 msgstr "Ubicación del inicio de backup:             %X/%X\n"
 
-#: pg_controldata.c:283
+#: pg_controldata.c:282
 #, c-format
 msgid "Backup end location:                  %X/%X\n"
 msgstr "Ubicación del fin de backup:                %X/%X\n"
 
-#: pg_controldata.c:285
+#: pg_controldata.c:284
 #, c-format
 msgid "End-of-backup record required:        %s\n"
 msgstr "Registro fin-de-backup requerido:           %s\n"
 
-#: pg_controldata.c:286
+#: pg_controldata.c:285
 msgid "no"
 msgstr "no"
 
-#: pg_controldata.c:286
+#: pg_controldata.c:285
 msgid "yes"
 msgstr "sí"
 
-#: pg_controldata.c:287
+#: pg_controldata.c:286
 #, c-format
 msgid "wal_level setting:                    %s\n"
 msgstr "Parámetro wal_level:                        %s\n"
 
-#: pg_controldata.c:289
+#: pg_controldata.c:288
 #, c-format
 msgid "wal_log_hints setting:                %s\n"
 msgstr "Parámetro wal_log_hings:                    %s\n"
 
-#: pg_controldata.c:291
+#: pg_controldata.c:290
 #, c-format
 msgid "max_connections setting:              %d\n"
 msgstr "Parámetro max_connections:                  %d\n"
 
-#: pg_controldata.c:293
+#: pg_controldata.c:292
 #, c-format
 msgid "max_worker_processes setting:         %d\n"
 msgstr "Parámetro max_worker_processes:             %d\n"
 
-#: pg_controldata.c:295
+#: pg_controldata.c:294
 #, c-format
 msgid "max_wal_senders setting:              %d\n"
 msgstr "Parámetro max_wal_senders:                  %d\n"
 
-#: pg_controldata.c:297
+#: pg_controldata.c:296
 #, c-format
 msgid "max_prepared_xacts setting:           %d\n"
 msgstr "Parámetro max_prepared_xacts:               %d\n"
 
-#: pg_controldata.c:299
+#: pg_controldata.c:298
 #, c-format
 msgid "max_locks_per_xact setting:           %d\n"
 msgstr "Parámetro max_locks_per_xact:               %d\n"
 
-#: pg_controldata.c:301
+#: pg_controldata.c:300
 #, c-format
 msgid "track_commit_timestamp setting:       %s\n"
 msgstr "Parámetro track_commit_timestamp:           %s\n"
 
-#: pg_controldata.c:303
+#: pg_controldata.c:302
 #, c-format
 msgid "Maximum data alignment:               %u\n"
 msgstr "Alineamiento máximo de datos:               %u\n"
 
-#: pg_controldata.c:306
+#: pg_controldata.c:305
 #, c-format
 msgid "Database block size:                  %u\n"
 msgstr "Tamaño de bloque de la base de datos:       %u\n"
 
-#: pg_controldata.c:308
+#: pg_controldata.c:307
 #, c-format
 msgid "Blocks per segment of large relation: %u\n"
 msgstr "Bloques por segmento en relación grande:    %u\n"
 
-#: pg_controldata.c:310
+#: pg_controldata.c:309
 #, c-format
 msgid "WAL block size:                       %u\n"
 msgstr "Tamaño del bloque de WAL:                   %u\n"
 
-#: pg_controldata.c:312
+#: pg_controldata.c:311
 #, c-format
 msgid "Bytes per WAL segment:                %u\n"
 msgstr "Bytes por segmento WAL:                     %u\n"
 
-#: pg_controldata.c:314
+#: pg_controldata.c:313
 #, c-format
 msgid "Maximum length of identifiers:        %u\n"
 msgstr "Máxima longitud de identificadores:         %u\n"
 
-#: pg_controldata.c:316
+#: pg_controldata.c:315
 #, c-format
 msgid "Maximum columns in an index:          %u\n"
 msgstr "Máximo número de columnas de un índice:     %u\n"
 
-#: pg_controldata.c:318
+#: pg_controldata.c:317
 #, c-format
 msgid "Maximum size of a TOAST chunk:        %u\n"
 msgstr "Longitud máxima de un trozo TOAST:          %u\n"
 
-#: pg_controldata.c:320
+#: pg_controldata.c:319
 #, c-format
 msgid "Size of a large-object chunk:         %u\n"
 msgstr "Longitud máx. de un trozo de objeto grande: %u\n"
 
-#: pg_controldata.c:323
+#: pg_controldata.c:322
 #, c-format
 msgid "Date/time type storage:               %s\n"
 msgstr "Tipo de almacenamiento de horas y fechas:   %s\n"
 
-#: pg_controldata.c:324
+#: pg_controldata.c:323
 msgid "64-bit integers"
 msgstr "enteros de 64 bits"
 
-#: pg_controldata.c:325
+#: pg_controldata.c:324
 #, c-format
 msgid "Float8 argument passing:              %s\n"
 msgstr "Paso de parámetros float8:                  %s\n"
 
-#: pg_controldata.c:326
+#: pg_controldata.c:325
 msgid "by reference"
 msgstr "por referencia"
 
-#: pg_controldata.c:326
+#: pg_controldata.c:325
 msgid "by value"
 msgstr "por valor"
 
-#: pg_controldata.c:327
+#: pg_controldata.c:326
 #, c-format
 msgid "Data page checksum version:           %u\n"
 msgstr "Versión de sumas de verificación de datos:  %u\n"
 
-#: pg_controldata.c:329
+#: pg_controldata.c:328
 #, c-format
 msgid "Mock authentication nonce:            %s\n"
 msgstr "Nonce para autentificación simulada:        %s\n"
index ea82807aee75f19ed51dc77bb59a4468425de14b..fd7e4c29cdb78204e09d0e879971beba99587a88 100644 (file)
@@ -11,8 +11,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_ctl (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:18+0000\n"
-"PO-Revision-Date: 2023-05-22 12:05+0200\n"
+"POT-Creation-Date: 2024-08-01 11:20+0000\n"
+"PO-Revision-Date: 2024-08-01 12:06-0400\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
 "Language: es\n"
@@ -21,38 +21,58 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 2.4.2\n"
 
-#: ../../common/exec.c:172
+#: ../../common/controldata_utils.c:168
+msgid "byte ordering mismatch"
+msgstr "discordancia en orden de bytes"
+
+#: ../../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
+#: ../../common/exec.c:382
+#, c-format
+msgid "could not execute command \"%s\": %m"
+msgstr "no se pudo ejecutar la orden «%s»: %m"
+
+#: ../../common/exec.c:394
+#, c-format
+msgid "could not read from command \"%s\": %m"
+msgstr "no se pudo leer desde la orden «%s»: %m"
+
+#: ../../common/exec.c:397
+#, fuzzy, c-format
+#| msgid "no data returned from server"
+msgid "no data was returned by command \"%s\""
+msgstr "el servidor no retornó datos"
+
+#: ../../common/exec.c:424
 #, c-format
 msgid "%s() failed: %m"
 msgstr "%s() falló: %m"
 
-#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687
+#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699
 msgid "out of memory"
 msgstr "memoria agotada"
 
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
-#: ../../port/path.c:753 ../../port/path.c:791 ../../port/path.c:808
+#: ../../port/path.c:753 ../../port/path.c:790 ../../port/path.c:807
 #, c-format
 msgid "out of memory\n"
 msgstr "memoria agotada\n"
@@ -93,124 +113,131 @@ msgid "child process exited with unrecognized status %d"
 msgstr "el proceso hijo terminó con código no reconocido %d"
 
 #: ../../port/path.c:775
-#, c-format
-msgid "could not get current working directory: %s\n"
+#, fuzzy, c-format
+#| msgid "could not get current working directory: %s\n"
+msgid "could not get current working directory: %m\n"
 msgstr "no se pudo obtener el directorio de trabajo actual: %s\n"
 
-#: pg_ctl.c:255
+#: pg_ctl.c:254
 #, c-format
 msgid "%s: directory \"%s\" does not exist\n"
 msgstr "%s: el directorio «%s» no existe\n"
 
-#: pg_ctl.c:258
-#, c-format
-msgid "%s: could not access directory \"%s\": %s\n"
+#: pg_ctl.c:257
+#, fuzzy, c-format
+#| msgid "%s: could not access directory \"%s\": %s\n"
+msgid "%s: could not access directory \"%s\": %m\n"
 msgstr "%s: no se pudo acceder al directorio «%s»: %s\n"
 
-#: pg_ctl.c:271
+#: pg_ctl.c:270
 #, c-format
 msgid "%s: directory \"%s\" is not a database cluster directory\n"
 msgstr "%s: el directorio «%s» no es un directorio de base de datos\n"
 
-#: pg_ctl.c:284
-#, c-format
-msgid "%s: could not open PID file \"%s\": %s\n"
+#: pg_ctl.c:283
+#, fuzzy, c-format
+#| msgid "%s: could not open PID file \"%s\": %s\n"
+msgid "%s: could not open PID file \"%s\": %m\n"
 msgstr "%s: no se pudo abrir el archivo de PID «%s»: %s\n"
 
-#: pg_ctl.c:293
+#: pg_ctl.c:292
 #, c-format
 msgid "%s: the PID file \"%s\" is empty\n"
 msgstr "%s: el archivo de PID «%s» está vacío\n"
 
-#: pg_ctl.c:296
+#: pg_ctl.c:295
 #, c-format
 msgid "%s: invalid data in PID file \"%s\"\n"
 msgstr "%s: datos no válidos en archivo de PID «%s»\n"
 
-#: pg_ctl.c:458 pg_ctl.c:500
-#, c-format
-msgid "%s: could not start server: %s\n"
+#: pg_ctl.c:457 pg_ctl.c:499
+#, fuzzy, c-format
+#| msgid "%s: could not start server: %s\n"
+msgid "%s: could not start server: %m\n"
 msgstr "%s: no se pudo iniciar el servidor: %s\n"
 
-#: pg_ctl.c:478
-#, c-format
-msgid "%s: could not start server due to setsid() failure: %s\n"
+#: pg_ctl.c:477
+#, fuzzy, c-format
+#| msgid "%s: could not start server due to setsid() failure: %s\n"
+msgid "%s: could not start server due to setsid() failure: %m\n"
 msgstr "%s: no se pudo iniciar el servidor debido a falla en setsid(): %s\n"
 
-#: pg_ctl.c:548
-#, c-format
-msgid "%s: could not open log file \"%s\": %s\n"
+#: pg_ctl.c:547
+#, fuzzy, c-format
+#| msgid "%s: could not open log file \"%s\": %s\n"
+msgid "%s: could not open log file \"%s\": %m\n"
 msgstr "%s: no se pudo abrir el archivo de log «%s»: %s\n"
 
-#: pg_ctl.c:565
+#: pg_ctl.c:564
 #, c-format
 msgid "%s: could not start server: error code %lu\n"
 msgstr "%s: no se pudo iniciar el servidor: código de error %lu\n"
 
-#: pg_ctl.c:782
+#: pg_ctl.c:781
 #, c-format
 msgid "%s: cannot set core file size limit; disallowed by hard limit\n"
 msgstr ""
 "%s: no se puede establecer el límite de archivos de volcado;\n"
 "impedido por un límite duro\n"
 
-#: pg_ctl.c:808
+#: pg_ctl.c:807
 #, c-format
 msgid "%s: could not read file \"%s\"\n"
 msgstr "%s: no se pudo leer el archivo «%s»\n"
 
-#: pg_ctl.c:813
+#: pg_ctl.c:812
 #, c-format
 msgid "%s: option file \"%s\" must have exactly one line\n"
 msgstr "%s: archivo de opciones «%s» debe tener exactamente una línea\n"
 
-#: pg_ctl.c:855 pg_ctl.c:1039 pg_ctl.c:1107
-#, c-format
-msgid "%s: could not send stop signal (PID: %d): %s\n"
+#: pg_ctl.c:854 pg_ctl.c:1038 pg_ctl.c:1105
+#, fuzzy, c-format
+#| msgid "%s: could not send stop signal (PID: %d): %s\n"
+msgid "%s: could not send stop signal (PID: %d): %m\n"
 msgstr "%s: falló la señal de detención (PID: %d): %s\n"
 
-#: pg_ctl.c:883
+#: pg_ctl.c:882
 #, c-format
 msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"\n"
 msgstr "el programa «%s» es requerido por %s, pero no fue encontrado en el mismo directorio que «%s»\n"
 
-#: pg_ctl.c:886
+#: pg_ctl.c:885
 #, c-format
 msgid "program \"%s\" was found by \"%s\" but was not the same version as %s\n"
 msgstr "El programa «%s» fue encontrado por «%s», pero no es de la misma versión que %s\n"
 
-#: pg_ctl.c:918
+#: pg_ctl.c:917
 #, c-format
 msgid "%s: database system initialization failed\n"
 msgstr "%s: falló la creación de la base de datos\n"
 
-#: pg_ctl.c:933
+#: pg_ctl.c:932
 #, c-format
 msgid "%s: another server might be running; trying to start server anyway\n"
 msgstr "%s: otro servidor puede estar en ejecución; tratando de iniciarlo de todas formas.\n"
 
-#: pg_ctl.c:981
+#: pg_ctl.c:980
 msgid "waiting for server to start..."
 msgstr "esperando que el servidor se inicie..."
 
-#: pg_ctl.c:986 pg_ctl.c:1063 pg_ctl.c:1126 pg_ctl.c:1238
+#: pg_ctl.c:985 pg_ctl.c:1061 pg_ctl.c:1123 pg_ctl.c:1235
 msgid " done\n"
 msgstr " listo\n"
 
-#: pg_ctl.c:987
+#: pg_ctl.c:986
 msgid "server started\n"
 msgstr "servidor iniciado\n"
 
-#: pg_ctl.c:990 pg_ctl.c:996 pg_ctl.c:1243
+#: pg_ctl.c:989 pg_ctl.c:995 pg_ctl.c:1240
 msgid " stopped waiting\n"
 msgstr " abandonando la espera\n"
 
-#: pg_ctl.c:991
+#: pg_ctl.c:990
 #, c-format
 msgid "%s: server did not start in time\n"
 msgstr "%s: el servidor no inició a tiempo\n"
 
-#: pg_ctl.c:997
+#: pg_ctl.c:996
 #, c-format
 msgid ""
 "%s: could not start server\n"
@@ -219,44 +246,45 @@ msgstr ""
 "%s: no se pudo iniciar el servidor.\n"
 "Examine el registro del servidor.\n"
 
-#: pg_ctl.c:1005
+#: pg_ctl.c:1004
 msgid "server starting\n"
 msgstr "servidor iniciándose\n"
 
-#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1147 pg_ctl.c:1186 pg_ctl.c:1267
+#: pg_ctl.c:1023 pg_ctl.c:1081 pg_ctl.c:1144 pg_ctl.c:1183 pg_ctl.c:1264
 #, c-format
 msgid "%s: PID file \"%s\" does not exist\n"
 msgstr "%s: el archivo de PID «%s» no existe\n"
 
-#: pg_ctl.c:1025 pg_ctl.c:1085 pg_ctl.c:1148 pg_ctl.c:1187 pg_ctl.c:1268
+#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1145 pg_ctl.c:1184 pg_ctl.c:1265
 msgid "Is server running?\n"
 msgstr "¿Está el servidor en ejecución?\n"
 
-#: pg_ctl.c:1031
-#, c-format
+#: pg_ctl.c:1030
+#, fuzzy, c-format
+#| msgid "%s: cannot stop server; single-user server is running (PID: %d)\n"
 msgid "%s: cannot stop server; single-user server is running (PID: %d)\n"
 msgstr ""
 "%s: no se puede detener el servidor;\n"
 "un servidor en modo mono-usuario está en ejecución (PID: %d)\n"
 
-#: pg_ctl.c:1046
+#: pg_ctl.c:1044
 msgid "server shutting down\n"
 msgstr "servidor deteniéndose\n"
 
-#: pg_ctl.c:1051 pg_ctl.c:1112
+#: pg_ctl.c:1049 pg_ctl.c:1109
 msgid "waiting for server to shut down..."
 msgstr "esperando que el servidor se detenga..."
 
-#: pg_ctl.c:1055 pg_ctl.c:1117
+#: pg_ctl.c:1053 pg_ctl.c:1114
 msgid " failed\n"
 msgstr " falló\n"
 
-#: pg_ctl.c:1057 pg_ctl.c:1119
+#: pg_ctl.c:1055 pg_ctl.c:1116
 #, c-format
 msgid "%s: server does not shut down\n"
 msgstr "%s: el servidor no se detiene\n"
 
-#: pg_ctl.c:1059 pg_ctl.c:1121
+#: pg_ctl.c:1057 pg_ctl.c:1118
 msgid ""
 "HINT: The \"-m fast\" option immediately disconnects sessions rather than\n"
 "waiting for session-initiated disconnection.\n"
@@ -264,243 +292,260 @@ msgstr ""
 "SUGERENCIA: La opción «-m fast» desconecta las sesiones inmediatamente\n"
 "en lugar de esperar que cada sesión finalice por sí misma.\n"
 
-#: pg_ctl.c:1065 pg_ctl.c:1127
+#: pg_ctl.c:1063 pg_ctl.c:1124
 msgid "server stopped\n"
 msgstr "servidor detenido\n"
 
-#: pg_ctl.c:1086
+#: pg_ctl.c:1084
 msgid "trying to start server anyway\n"
 msgstr "intentando iniciae el servidor de todas maneras\n"
 
-#: pg_ctl.c:1095
-#, c-format
+#: pg_ctl.c:1093
+#, fuzzy, c-format
+#| msgid "%s: cannot restart server; single-user server is running (PID: %d)\n"
 msgid "%s: cannot restart server; single-user server is running (PID: %d)\n"
 msgstr ""
 "%s: no se puede reiniciar el servidor;\n"
 "un servidor en modo mono-usuario está en ejecución (PID: %d)\n"
 
-#: pg_ctl.c:1098 pg_ctl.c:1157
+#: pg_ctl.c:1096 pg_ctl.c:1154
 msgid "Please terminate the single-user server and try again.\n"
 msgstr "Por favor termine el servidor mono-usuario e intente nuevamente.\n"
 
-#: pg_ctl.c:1131
-#, c-format
+#: pg_ctl.c:1128
+#, fuzzy, c-format
+#| msgid "%s: old server process (PID: %d) seems to be gone\n"
 msgid "%s: old server process (PID: %d) seems to be gone\n"
 msgstr "%s: el proceso servidor antiguo (PID: %d) parece no estar\n"
 
-#: pg_ctl.c:1133
+#: pg_ctl.c:1130
 msgid "starting server anyway\n"
 msgstr "iniciando el servidor de todas maneras\n"
 
-#: pg_ctl.c:1154
-#, c-format
+#: pg_ctl.c:1151
+#, fuzzy, c-format
+#| msgid "%s: cannot reload server; single-user server is running (PID: %d)\n"
 msgid "%s: cannot reload server; single-user server is running (PID: %d)\n"
 msgstr ""
 "%s: no se puede recargar el servidor;\n"
 "un servidor en modo mono-usuario está en ejecución (PID: %d)\n"
 
-#: pg_ctl.c:1163
-#, c-format
-msgid "%s: could not send reload signal (PID: %d): %s\n"
+#: pg_ctl.c:1160
+#, fuzzy, c-format
+#| msgid "%s: could not send reload signal (PID: %d): %s\n"
+msgid "%s: could not send reload signal (PID: %d): %m\n"
 msgstr "%s: la señal de recarga falló (PID: %d): %s\n"
 
-#: pg_ctl.c:1168
+#: pg_ctl.c:1165
 msgid "server signaled\n"
 msgstr "se ha enviado una señal al servidor\n"
 
-#: pg_ctl.c:1193
-#, c-format
+#: pg_ctl.c:1190
+#, fuzzy, c-format
+#| msgid "%s: cannot promote server; single-user server is running (PID: %d)\n"
 msgid "%s: cannot promote server; single-user server is running (PID: %d)\n"
 msgstr ""
 "%s: no se puede promover el servidor;\n"
 "un servidor en modo mono-usuario está en ejecución (PID: %d)\n"
 
-#: pg_ctl.c:1201
+#: pg_ctl.c:1198
 #, c-format
 msgid "%s: cannot promote server; server is not in standby mode\n"
 msgstr ""
 "%s: no se puede promover el servidor;\n"
 "el servidor no está en modo «standby»\n"
 
-#: pg_ctl.c:1211
-#, c-format
-msgid "%s: could not create promote signal file \"%s\": %s\n"
+#: pg_ctl.c:1208
+#, fuzzy, c-format
+#| msgid "%s: could not create promote signal file \"%s\": %s\n"
+msgid "%s: could not create promote signal file \"%s\": %m\n"
 msgstr "%s: no se pudo crear el archivo de señal de promoción «%s»: %s\n"
 
-#: pg_ctl.c:1217
-#, c-format
-msgid "%s: could not write promote signal file \"%s\": %s\n"
+#: pg_ctl.c:1214
+#, fuzzy, c-format
+#| msgid "%s: could not write promote signal file \"%s\": %s\n"
+msgid "%s: could not write promote signal file \"%s\": %m\n"
 msgstr "%s: no se pudo escribir al archivo de señal de promoción «%s»: %s\n"
 
-#: pg_ctl.c:1225
-#, c-format
-msgid "%s: could not send promote signal (PID: %d): %s\n"
+#: pg_ctl.c:1222
+#, fuzzy, c-format
+#| msgid "%s: could not send promote signal (PID: %d): %s\n"
+msgid "%s: could not send promote signal (PID: %d): %m\n"
 msgstr "%s: no se pudo enviar la señal de promoción (PID: %d): %s\n"
 
-#: pg_ctl.c:1228
-#, c-format
-msgid "%s: could not remove promote signal file \"%s\": %s\n"
+#: pg_ctl.c:1225
+#, fuzzy, c-format
+#| msgid "%s: could not remove promote signal file \"%s\": %s\n"
+msgid "%s: could not remove promote signal file \"%s\": %m\n"
 msgstr "%s: no se pudo eliminar el archivo de señal de promoción «%s»: %s\n"
 
-#: pg_ctl.c:1235
+#: pg_ctl.c:1232
 msgid "waiting for server to promote..."
 msgstr "esperando que el servidor se promueva..."
 
-#: pg_ctl.c:1239
+#: pg_ctl.c:1236
 msgid "server promoted\n"
 msgstr "servidor promovido\n"
 
-#: pg_ctl.c:1244
+#: pg_ctl.c:1241
 #, c-format
 msgid "%s: server did not promote in time\n"
 msgstr "%s: el servidor no se promovió a tiempo\n"
 
-#: pg_ctl.c:1250
+#: pg_ctl.c:1247
 msgid "server promoting\n"
 msgstr "servidor promoviendo\n"
 
-#: pg_ctl.c:1274
-#, c-format
+#: pg_ctl.c:1271
+#, fuzzy, c-format
+#| msgid "%s: cannot rotate log file; single-user server is running (PID: %d)\n"
 msgid "%s: cannot rotate log file; single-user server is running (PID: %d)\n"
 msgstr "%s: no se puede rotar el archivo de log; un servidor en modo mono-usuario está en ejecución (PID: %d)\n"
 
-#: pg_ctl.c:1284
-#, c-format
-msgid "%s: could not create log rotation signal file \"%s\": %s\n"
+#: pg_ctl.c:1281
+#, fuzzy, c-format
+#| msgid "%s: could not create log rotation signal file \"%s\": %s\n"
+msgid "%s: could not create log rotation signal file \"%s\": %m\n"
 msgstr "%s: no se pudo crear el archivo de señal de rotación de log «%s»: %s\n"
 
-#: pg_ctl.c:1290
-#, c-format
-msgid "%s: could not write log rotation signal file \"%s\": %s\n"
+#: pg_ctl.c:1287
+#, fuzzy, c-format
+#| msgid "%s: could not write log rotation signal file \"%s\": %s\n"
+msgid "%s: could not write log rotation signal file \"%s\": %m\n"
 msgstr "%s: no se pudo escribir al archivo de señal de rotación de log «%s»: %s\n"
 
-#: pg_ctl.c:1298
-#, c-format
-msgid "%s: could not send log rotation signal (PID: %d): %s\n"
+#: pg_ctl.c:1295
+#, fuzzy, c-format
+#| msgid "%s: could not send log rotation signal (PID: %d): %s\n"
+msgid "%s: could not send log rotation signal (PID: %d): %m\n"
 msgstr "%s: no se pudo enviar la señal de rotación de log (PID: %d): %s\n"
 
-#: pg_ctl.c:1301
-#, c-format
-msgid "%s: could not remove log rotation signal file \"%s\": %s\n"
+#: pg_ctl.c:1298
+#, fuzzy, c-format
+#| msgid "%s: could not remove log rotation signal file \"%s\": %s\n"
+msgid "%s: could not remove log rotation signal file \"%s\": %m\n"
 msgstr "%s: no se pudo eliminar el archivo de señal de rotación de log «%s»: %s\n"
 
-#: pg_ctl.c:1306
+#: pg_ctl.c:1303
 msgid "server signaled to rotate log file\n"
 msgstr "se ha enviado una señal de rotación de log al servidor\n"
 
-#: pg_ctl.c:1353
-#, c-format
+#: pg_ctl.c:1350
+#, fuzzy, c-format
+#| msgid "%s: single-user server is running (PID: %d)\n"
 msgid "%s: single-user server is running (PID: %d)\n"
 msgstr "%s: un servidor en modo mono-usuario está en ejecución (PID: %d)\n"
 
-#: pg_ctl.c:1367
-#, c-format
+#: pg_ctl.c:1364
+#, fuzzy, c-format
+#| msgid "%s: server is running (PID: %d)\n"
 msgid "%s: server is running (PID: %d)\n"
 msgstr "%s: el servidor está en ejecución (PID: %d)\n"
 
-#: pg_ctl.c:1383
+#: pg_ctl.c:1380
 #, c-format
 msgid "%s: no server running\n"
 msgstr "%s: no hay servidor en ejecución\n"
 
-#: pg_ctl.c:1400
-#, c-format
-msgid "%s: could not send signal %d (PID: %d): %s\n"
+#: pg_ctl.c:1397
+#, fuzzy, c-format
+#| msgid "%s: could not send signal %d (PID: %d): %s\n"
+msgid "%s: could not send signal %d (PID: %d): %m\n"
 msgstr "%s: no se pudo enviar la señal %d (PID: %d): %s\n"
 
-#: pg_ctl.c:1431
+#: pg_ctl.c:1428
 #, c-format
 msgid "%s: could not find own program executable\n"
 msgstr "%s: no se pudo encontrar el ejecutable propio\n"
 
-#: pg_ctl.c:1441
+#: pg_ctl.c:1438
 #, c-format
 msgid "%s: could not find postgres program executable\n"
 msgstr "%s: no se pudo encontrar el ejecutable postgres\n"
 
-#: pg_ctl.c:1511 pg_ctl.c:1545
+#: pg_ctl.c:1508 pg_ctl.c:1542
 #, c-format
 msgid "%s: could not open service manager\n"
 msgstr "%s: no se pudo abrir el gestor de servicios\n"
 
-#: pg_ctl.c:1517
+#: pg_ctl.c:1514
 #, c-format
 msgid "%s: service \"%s\" already registered\n"
 msgstr "%s: el servicio «%s» ya está registrado\n"
 
-#: pg_ctl.c:1528
+#: pg_ctl.c:1525
 #, c-format
 msgid "%s: could not register service \"%s\": error code %lu\n"
 msgstr "%s: no se pudo registrar el servicio «%s»: código de error %lu\n"
 
-#: pg_ctl.c:1551
+#: pg_ctl.c:1548
 #, c-format
 msgid "%s: service \"%s\" not registered\n"
 msgstr "%s: el servicio «%s» no ha sido registrado\n"
 
-#: pg_ctl.c:1558
+#: pg_ctl.c:1555
 #, c-format
 msgid "%s: could not open service \"%s\": error code %lu\n"
 msgstr "%s: no se pudo abrir el servicio «%s»: código de error %lu\n"
 
-#: pg_ctl.c:1567
+#: pg_ctl.c:1564
 #, c-format
 msgid "%s: could not unregister service \"%s\": error code %lu\n"
 msgstr "%s: no se pudo dar de baja el servicio «%s»: código de error %lu\n"
 
-#: pg_ctl.c:1654
+#: pg_ctl.c:1651
 msgid "Waiting for server startup...\n"
 msgstr "Esperando que el servidor se inicie...\n"
 
-#: pg_ctl.c:1657
+#: pg_ctl.c:1654
 msgid "Timed out waiting for server startup\n"
 msgstr "Se agotó el tiempo de espera al inicio del servidor\n"
 
-#: pg_ctl.c:1661
+#: pg_ctl.c:1658
 msgid "Server started and accepting connections\n"
 msgstr "Servidor iniciado y aceptando conexiones\n"
 
-#: pg_ctl.c:1716
+#: pg_ctl.c:1713
 #, c-format
 msgid "%s: could not start service \"%s\": error code %lu\n"
 msgstr "%s: no se pudo iniciar el servicio «%s»: código de error %lu\n"
 
-#: pg_ctl.c:1789
+#: pg_ctl.c:1786
 #, c-format
 msgid "%s: could not open process token: error code %lu\n"
 msgstr "%s: no se pudo abrir el token de proceso: código de error %lu\n"
 
-#: pg_ctl.c:1803
+#: pg_ctl.c:1800
 #, c-format
 msgid "%s: could not allocate SIDs: error code %lu\n"
 msgstr "%s: no se pudo emplazar los SIDs: código de error %lu\n"
 
-#: pg_ctl.c:1829
+#: pg_ctl.c:1826
 #, c-format
 msgid "%s: could not create restricted token: error code %lu\n"
 msgstr "%s: no se pudo crear el token restringido: código de error %lu\n"
 
-#: pg_ctl.c:1911
+#: pg_ctl.c:1908
 #, c-format
 msgid "%s: could not get LUIDs for privileges: error code %lu\n"
 msgstr "%s: no se pudo obtener LUIDs para privilegios: código de error %lu\n"
 
-#: pg_ctl.c:1919 pg_ctl.c:1934
+#: pg_ctl.c:1916 pg_ctl.c:1931
 #, c-format
 msgid "%s: could not get token information: error code %lu\n"
 msgstr "%s: no se pudo obtener información de token: código de error %lu\n"
 
-#: pg_ctl.c:1928
+#: pg_ctl.c:1925
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: memoria agotada\n"
 
-#: pg_ctl.c:1958
+#: pg_ctl.c:1955
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Use «%s --help» para obtener más información.\n"
 
-#: pg_ctl.c:1966
+#: pg_ctl.c:1963
 #, c-format
 msgid ""
 "%s is a utility to initialize, start, stop, or control a PostgreSQL server.\n"
@@ -510,17 +555,17 @@ msgstr ""
 "un servidor PostgreSQL.\n"
 "\n"
 
-#: pg_ctl.c:1967
+#: pg_ctl.c:1964
 #, c-format
 msgid "Usage:\n"
 msgstr "Empleo:\n"
 
-#: pg_ctl.c:1968
+#: pg_ctl.c:1965
 #, c-format
 msgid "  %s init[db]   [-D DATADIR] [-s] [-o OPTIONS]\n"
 msgstr "  %s init[db]   [-D DATADIR] [-s] [-o OPCIONES]\n"
 
-#: pg_ctl.c:1969
+#: pg_ctl.c:1966
 #, c-format
 msgid ""
 "  %s start      [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s]\n"
@@ -529,12 +574,12 @@ msgstr ""
 "  %s start      [-D DATADIR] [-l ARCHIVO] [-W] [-t SEGS] [-s]\n"
 "                    [-o OPCIONES] [-p RUTA] [-c]\n"
 
-#: pg_ctl.c:1971
+#: pg_ctl.c:1968
 #, c-format
 msgid "  %s stop       [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n"
 msgstr "  %s stop       [-D DATADIR] [-m MODO-DETENCIÓN] [-W] [-t SEGS] [-s]\n"
 
-#: pg_ctl.c:1972
+#: pg_ctl.c:1969
 #, c-format
 msgid ""
 "  %s restart    [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n"
@@ -543,32 +588,32 @@ msgstr ""
 "  %s restart    [-D DATADIR] [-m MODO-DETENCIÓN] [-W] [-t SEGS] [-s]\n"
 "                    [-o OPCIONES]\n"
 
-#: pg_ctl.c:1974
+#: pg_ctl.c:1971
 #, c-format
 msgid "  %s reload     [-D DATADIR] [-s]\n"
 msgstr "  %s reload     [-D DATADIR] [-s]\n"
 
-#: pg_ctl.c:1975
+#: pg_ctl.c:1972
 #, c-format
 msgid "  %s status     [-D DATADIR]\n"
 msgstr "  %s status     [-D DATADIR]\n"
 
-#: pg_ctl.c:1976
+#: pg_ctl.c:1973
 #, c-format
 msgid "  %s promote    [-D DATADIR] [-W] [-t SECS] [-s]\n"
 msgstr "  %s promote    [-D DATADIR] [-W] [-t SEGS] [-s]\n"
 
-#: pg_ctl.c:1977
+#: pg_ctl.c:1974
 #, c-format
 msgid "  %s logrotate  [-D DATADIR] [-s]\n"
 msgstr "  %s logrotate  [-D DATADIR] [-s]\n"
 
-#: pg_ctl.c:1978
+#: pg_ctl.c:1975
 #, c-format
 msgid "  %s kill       SIGNALNAME PID\n"
 msgstr "  %s kill       NOMBRE-SEÑAL ID-DE-PROCESO\n"
 
-#: pg_ctl.c:1980
+#: pg_ctl.c:1977
 #, c-format
 msgid ""
 "  %s register   [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n"
@@ -577,12 +622,12 @@ msgstr ""
 "  %s register   [-D DATADIR] [-N SERVICIO] [-U USUARIO] [-P PASSWORD]\n"
 "                    [-S TIPO-INICIO] [-e ORIGEN] [-W] [-t SEGS] [-o OPCIONES]\n"
 
-#: pg_ctl.c:1982
+#: pg_ctl.c:1979
 #, c-format
 msgid "  %s unregister [-N SERVICENAME]\n"
 msgstr "  %s unregister [-N SERVICIO]\n"
 
-#: pg_ctl.c:1985
+#: pg_ctl.c:1982
 #, c-format
 msgid ""
 "\n"
@@ -591,52 +636,52 @@ msgstr ""
 "\n"
 "Opciones comunes:\n"
 
-#: pg_ctl.c:1986
+#: pg_ctl.c:1983
 #, c-format
 msgid "  -D, --pgdata=DATADIR   location of the database storage area\n"
 msgstr "  -D, --pgdata DATADIR   ubicación del área de almacenamiento de datos\n"
 
-#: pg_ctl.c:1988
+#: pg_ctl.c:1985
 #, c-format
 msgid "  -e SOURCE              event source for logging when running as a service\n"
 msgstr "  -e ORIGEN              origen para el log de eventos cuando se ejecuta como servicio\n"
 
-#: pg_ctl.c:1990
+#: pg_ctl.c:1987
 #, c-format
 msgid "  -s, --silent           only print errors, no informational messages\n"
 msgstr "  -s, --silent           mostrar sólo errores, no mensajes de información\n"
 
-#: pg_ctl.c:1991
+#: pg_ctl.c:1988
 #, c-format
 msgid "  -t, --timeout=SECS     seconds to wait when using -w option\n"
 msgstr "  -t, --timeout=SEGS     segundos a esperar cuando se use la opción -w\n"
 
-#: pg_ctl.c:1992
+#: pg_ctl.c:1989
 #, c-format
 msgid "  -V, --version          output version information, then exit\n"
 msgstr "  -V, --version          mostrar información de versión, luego salir\n"
 
-#: pg_ctl.c:1993
+#: pg_ctl.c:1990
 #, c-format
 msgid "  -w, --wait             wait until operation completes (default)\n"
 msgstr "  -w, --wait             esperar hasta que la operación se haya completado (por omisión)\n"
 
-#: pg_ctl.c:1994
+#: pg_ctl.c:1991
 #, c-format
 msgid "  -W, --no-wait          do not wait until operation completes\n"
 msgstr "  -W, --no-wait          no esperar hasta que la operación se haya completado\n"
 
-#: pg_ctl.c:1995
+#: pg_ctl.c:1992
 #, c-format
 msgid "  -?, --help             show this help, then exit\n"
 msgstr "  -?, --help             mostrar esta ayuda, luego salir\n"
 
-#: pg_ctl.c:1996
+#: pg_ctl.c:1993
 #, c-format
 msgid "If the -D option is omitted, the environment variable PGDATA is used.\n"
 msgstr "Si la opción -D es omitida, se usa la variable de ambiente PGDATA.\n"
 
-#: pg_ctl.c:1998
+#: pg_ctl.c:1995
 #, c-format
 msgid ""
 "\n"
@@ -645,24 +690,24 @@ msgstr ""
 "\n"
 "Opciones para inicio y reinicio:\n"
 
-#: pg_ctl.c:2000
+#: pg_ctl.c:1997
 #, c-format
 msgid "  -c, --core-files       allow postgres to produce core files\n"
 msgstr ""
 "  -c, --core-files       permite que postgres produzca archivos\n"
 "                         de volcado (core)\n"
 
-#: pg_ctl.c:2002
+#: pg_ctl.c:1999
 #, c-format
 msgid "  -c, --core-files       not applicable on this platform\n"
 msgstr "  -c, --core-files       no aplicable en esta plataforma\n"
 
-#: pg_ctl.c:2004
+#: pg_ctl.c:2001
 #, c-format
 msgid "  -l, --log=FILENAME     write (or append) server log to FILENAME\n"
 msgstr "  -l  --log=ARCHIVO      guardar el registro del servidor en ARCHIVO.\n"
 
-#: pg_ctl.c:2005
+#: pg_ctl.c:2002
 #, c-format
 msgid ""
 "  -o, --options=OPTIONS  command line options to pass to postgres\n"
@@ -671,12 +716,12 @@ msgstr ""
 "  -o, --options=OPCIONES parámetros de línea de órdenes a pasar a postgres\n"
 "                         (ejecutable del servidor de PostgreSQL) o initdb\n"
 
-#: pg_ctl.c:2007
+#: pg_ctl.c:2004
 #, c-format
 msgid "  -p PATH-TO-POSTGRES    normally not necessary\n"
 msgstr "  -p RUTA-A-POSTGRES     normalmente no es necesario\n"
 
-#: pg_ctl.c:2008
+#: pg_ctl.c:2005
 #, c-format
 msgid ""
 "\n"
@@ -685,12 +730,12 @@ msgstr ""
 "\n"
 "Opciones para detener o reiniciar:\n"
 
-#: pg_ctl.c:2009
+#: pg_ctl.c:2006
 #, c-format
 msgid "  -m, --mode=MODE        MODE can be \"smart\", \"fast\", or \"immediate\"\n"
 msgstr "  -m, --mode=MODO        puede ser «smart», «fast» o «immediate»\n"
 
-#: pg_ctl.c:2011
+#: pg_ctl.c:2008
 #, c-format
 msgid ""
 "\n"
@@ -699,24 +744,24 @@ msgstr ""
 "\n"
 "Modos de detención son:\n"
 
-#: pg_ctl.c:2012
+#: pg_ctl.c:2009
 #, c-format
 msgid "  smart       quit after all clients have disconnected\n"
 msgstr "  smart       salir después que todos los clientes se hayan desconectado\n"
 
-#: pg_ctl.c:2013
+#: pg_ctl.c:2010
 #, c-format
 msgid "  fast        quit directly, with proper shutdown (default)\n"
 msgstr "  fast        salir directamente, con apagado apropiado (por omisión)\n"
 
-#: pg_ctl.c:2014
+#: pg_ctl.c:2011
 #, c-format
 msgid "  immediate   quit without complete shutdown; will lead to recovery on restart\n"
 msgstr ""
 "  immediate   salir sin apagado completo; se ejecutará recuperación\n"
 "              en el próximo inicio\n"
 
-#: pg_ctl.c:2016
+#: pg_ctl.c:2013
 #, c-format
 msgid ""
 "\n"
@@ -725,7 +770,7 @@ msgstr ""
 "\n"
 "Nombres de señales permitidos para kill:\n"
 
-#: pg_ctl.c:2020
+#: pg_ctl.c:2017
 #, c-format
 msgid ""
 "\n"
@@ -734,35 +779,35 @@ msgstr ""
 "\n"
 "Opciones para registrar y dar de baja:\n"
 
-#: pg_ctl.c:2021
+#: pg_ctl.c:2018
 #, c-format
 msgid "  -N SERVICENAME  service name with which to register PostgreSQL server\n"
 msgstr ""
 "  -N SERVICIO            nombre de servicio con el cual registrar\n"
 "                         el servidor PostgreSQL\n"
 
-#: pg_ctl.c:2022
+#: pg_ctl.c:2019
 #, c-format
 msgid "  -P PASSWORD     password of account to register PostgreSQL server\n"
 msgstr ""
 "  -P CONTRASEÑA          contraseña de la cuenta con la cual registrar\n"
 "                         el servidor PostgreSQL\n"
 
-#: pg_ctl.c:2023
+#: pg_ctl.c:2020
 #, c-format
 msgid "  -U USERNAME     user name of account to register PostgreSQL server\n"
 msgstr ""
 "  -U USUARIO             nombre de usuario de la cuenta con la cual\n"
 "                         registrar el servidor PostgreSQL\n"
 
-#: pg_ctl.c:2024
+#: pg_ctl.c:2021
 #, c-format
 msgid "  -S START-TYPE   service start type to register PostgreSQL server\n"
 msgstr ""
 "  -S TIPO-INICIO         tipo de inicio de servicio con que registrar\n"
 "                         el servidor PostgreSQL\n"
 
-#: pg_ctl.c:2026
+#: pg_ctl.c:2023
 #, c-format
 msgid ""
 "\n"
@@ -771,17 +816,17 @@ msgstr ""
 "\n"
 "Tipos de inicio del servicio son:\n"
 
-#: pg_ctl.c:2027
+#: pg_ctl.c:2024
 #, c-format
 msgid "  auto       start service automatically during system startup (default)\n"
 msgstr "  auto       iniciar automáticamente al inicio del sistema (por omisión)\n"
 
-#: pg_ctl.c:2028
+#: pg_ctl.c:2025
 #, c-format
 msgid "  demand     start service on demand\n"
 msgstr "  demand     iniciar el servicio en demanda\n"
 
-#: pg_ctl.c:2031
+#: pg_ctl.c:2028
 #, c-format
 msgid ""
 "\n"
@@ -790,37 +835,37 @@ msgstr ""
 "\n"
 "Reporte errores a <%s>.\n"
 
-#: pg_ctl.c:2032
+#: pg_ctl.c:2029
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sitio web de %s: <%s>\n"
 
-#: pg_ctl.c:2057
+#: pg_ctl.c:2054
 #, c-format
 msgid "%s: unrecognized shutdown mode \"%s\"\n"
 msgstr "%s: modo de apagado «%s» no reconocido\n"
 
-#: pg_ctl.c:2086
+#: pg_ctl.c:2083
 #, c-format
 msgid "%s: unrecognized signal name \"%s\"\n"
 msgstr "%s: nombre de señal «%s» no reconocido\n"
 
-#: pg_ctl.c:2103
+#: pg_ctl.c:2100
 #, c-format
 msgid "%s: unrecognized start type \"%s\"\n"
 msgstr "%s: tipo de inicio «%s» no reconocido\n"
 
-#: pg_ctl.c:2159
+#: pg_ctl.c:2156
 #, c-format
 msgid "%s: could not determine the data directory using command \"%s\"\n"
 msgstr "%s: no se pudo determinar el directorio de datos usando la orden «%s»\n"
 
-#: pg_ctl.c:2182
+#: pg_ctl.c:2179
 #, c-format
 msgid "%s: control file appears to be corrupt\n"
 msgstr "%s: el archivo de control parece estar corrupto\n"
 
-#: pg_ctl.c:2250
+#: pg_ctl.c:2247
 #, c-format
 msgid ""
 "%s: cannot be run as root\n"
@@ -831,32 +876,32 @@ msgstr ""
 "Por favor conéctese (usando, por ejemplo, «su») con un usuario no privilegiado,\n"
 "quien ejecutará el proceso servidor.\n"
 
-#: pg_ctl.c:2333
+#: pg_ctl.c:2319
 #, c-format
 msgid "%s: -S option not supported on this platform\n"
 msgstr "%s: la opción -S no está soportada en esta plataforma\n"
 
-#: pg_ctl.c:2370
-#, c-format
-msgid "%s: too many command-line arguments (first is \"%s\")\n"
-msgstr "%s: demasiados argumentos de línea de órdenes (el primero es «%s»)\n"
-
-#: pg_ctl.c:2396
+#: pg_ctl.c:2375
 #, c-format
 msgid "%s: missing arguments for kill mode\n"
 msgstr "%s: argumentos faltantes para envío de señal\n"
 
-#: pg_ctl.c:2414
+#: pg_ctl.c:2393
 #, c-format
 msgid "%s: unrecognized operation mode \"%s\"\n"
 msgstr "%s: modo de operación «%s» no reconocido\n"
 
-#: pg_ctl.c:2424
+#: pg_ctl.c:2402
+#, c-format
+msgid "%s: too many command-line arguments (first is \"%s\")\n"
+msgstr "%s: demasiados argumentos de línea de órdenes (el primero es «%s»)\n"
+
+#: pg_ctl.c:2409
 #, c-format
 msgid "%s: no operation specified\n"
 msgstr "%s: no se especificó operación\n"
 
-#: pg_ctl.c:2445
+#: pg_ctl.c:2430
 #, c-format
 msgid "%s: no database directory specified and environment variable PGDATA unset\n"
 msgstr "%s: no se especificó directorio de datos y la variable PGDATA no está definida\n"
index ac8e807dbd441ed7dae24a4999dfe789111b569b..c8746d047aa2b474b8cd1fcdd7f2e507f8ceb6f3 100644 (file)
@@ -11,8 +11,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_dump (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-10-03 07:20+0000\n"
-"PO-Revision-Date: 2023-10-03 16:15+0200\n"
+"POT-Creation-Date: 2024-08-01 11:22+0000\n"
+"PO-Revision-Date: 2024-08-01 12:06-0400\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
 "Language: es\n"
@@ -94,32 +94,48 @@ msgstr "el algoritmo de compresión «%s» no acepta una cantidad de procesos ay
 msgid "compression algorithm \"%s\" does not support long-distance mode"
 msgstr "el algoritmo de compresión «%s» no acepta modo de larga distancia"
 
-#: ../../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 parallel.c:1609
+#: ../../common/exec.c:382
+#, c-format
+msgid "could not execute command \"%s\": %m"
+msgstr "no se pudo ejecutar la orden «%s»: %m"
+
+#: ../../common/exec.c:394
+#, c-format
+msgid "could not read from command \"%s\": %m"
+msgstr "no se pudo leer desde la orden «%s»: %m"
+
+#: ../../common/exec.c:397
+#, fuzzy, c-format
+#| msgid "no data returned from server"
+msgid "no data was returned by command \"%s\""
+msgstr "el servidor no retornó datos"
+
+#: ../../common/exec.c:424 parallel.c:1609
 #, c-format
 msgid "%s() failed: %m"
 msgstr "%s() falló: %m"
 
-#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687
+#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699
 msgid "out of memory"
 msgstr "memoria agotada"
 
@@ -134,6 +150,50 @@ 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:70 ../../common/file_utils.c:347
+#: ../../common/file_utils.c:406 ../../common/file_utils.c:480
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "no se pudo abrir el archivo «%s»: %m"
+
+#: ../../common/file_utils.c:76
+#, 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
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "no se pudo hacer stat al archivo «%s»: %m"
+
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, fuzzy, c-format
+#| msgid "this build does not support compression with %s"
+msgid "this build does not support sync method \"%s\""
+msgstr "esta instalación no soporta compresión con %s"
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "no se pudo abrir el directorio «%s»: %m"
+
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#: pg_backup_directory.c:182
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "no se pudo leer el directorio «%s»: %m"
+
+#: ../../common/file_utils.c:418 ../../common/file_utils.c:488
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
+
+#: ../../common/file_utils.c:498
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
+
 #: ../../common/wait_error.c:55
 #, c-format
 msgid "command not executable"
@@ -174,227 +234,251 @@ msgstr "el valor «%s» no es válido para la opción %s"
 msgid "%s must be in range %d..%d"
 msgstr "%s debe estar en el rango %d..%d"
 
-#: common.c:132
+#: ../../fe_utils/option_utils.c:106
+#, fuzzy, c-format
+#| msgid "unrecognized key word: \"%s\""
+msgid "unrecognized sync method: %s"
+msgstr "palabra clave no reconocida: «%s»"
+
+#: ../../fe_utils/string_utils.c:434
+#, fuzzy, c-format
+#| msgid "shell command argument contains a newline or carriage return: \"%s\""
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»"
+
+#: ../../fe_utils/string_utils.c:607
+#, fuzzy, c-format
+#| msgid "shell command argument contains a newline or carriage return: \"%s\""
+msgid "database name contains a newline or carriage return: \"%s\"\n"
+msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»"
+
+#: common.c:135
 #, c-format
 msgid "reading extensions"
 msgstr "leyendo las extensiones"
 
-#: common.c:135
+#: common.c:138
 #, c-format
 msgid "identifying extension members"
 msgstr "identificando miembros de extensión"
 
-#: common.c:138
+#: common.c:141
 #, c-format
 msgid "reading schemas"
 msgstr "leyendo esquemas"
 
-#: common.c:147
+#: common.c:150
 #, c-format
 msgid "reading user-defined tables"
 msgstr "leyendo las tablas definidas por el usuario"
 
-#: common.c:152
+#: common.c:155
 #, c-format
 msgid "reading user-defined functions"
 msgstr "leyendo las funciones definidas por el usuario"
 
-#: common.c:156
+#: common.c:159
 #, c-format
 msgid "reading user-defined types"
 msgstr "leyendo los tipos definidos por el usuario"
 
-#: common.c:160
+#: common.c:163
 #, c-format
 msgid "reading procedural languages"
 msgstr "leyendo los lenguajes procedurales"
 
-#: common.c:163
+#: common.c:166
 #, c-format
 msgid "reading user-defined aggregate functions"
 msgstr "leyendo las funciones de agregación definidas por el usuario"
 
-#: common.c:166
+#: common.c:169
 #, c-format
 msgid "reading user-defined operators"
 msgstr "leyendo los operadores definidos por el usuario"
 
-#: common.c:169
+#: common.c:172
 #, c-format
 msgid "reading user-defined access methods"
 msgstr "leyendo los métodos de acceso definidos por el usuario"
 
-#: common.c:172
+#: common.c:175
 #, c-format
 msgid "reading user-defined operator classes"
 msgstr "leyendo las clases de operadores definidos por el usuario"
 
-#: common.c:175
+#: common.c:178
 #, c-format
 msgid "reading user-defined operator families"
 msgstr "leyendo las familias de operadores definidas por el usuario"
 
-#: common.c:178
+#: common.c:181
 #, c-format
 msgid "reading user-defined text search parsers"
 msgstr "leyendo los procesadores (parsers) de búsqueda en texto definidos por el usuario"
 
-#: common.c:181
+#: common.c:184
 #, c-format
 msgid "reading user-defined text search templates"
 msgstr "leyendo las plantillas de búsqueda en texto definidas por el usuario"
 
-#: common.c:184
+#: common.c:187
 #, c-format
 msgid "reading user-defined text search dictionaries"
 msgstr "leyendo los diccionarios de búsqueda en texto definidos por el usuario"
 
-#: common.c:187
+#: common.c:190
 #, c-format
 msgid "reading user-defined text search configurations"
 msgstr "leyendo las configuraciones de búsqueda en texto definidas por el usuario"
 
-#: common.c:190
+#: common.c:193
 #, c-format
 msgid "reading user-defined foreign-data wrappers"
 msgstr "leyendo los conectores de datos externos definidos por el usuario"
 
-#: common.c:193
+#: common.c:196
 #, c-format
 msgid "reading user-defined foreign servers"
 msgstr "leyendo los servidores foráneos definidas por el usuario"
 
-#: common.c:196
+#: common.c:199
 #, c-format
 msgid "reading default privileges"
 msgstr "leyendo los privilegios por omisión"
 
-#: common.c:199
+#: common.c:202
 #, c-format
 msgid "reading user-defined collations"
 msgstr "leyendo los ordenamientos definidos por el usuario"
 
-#: common.c:202
+#: common.c:205
 #, c-format
 msgid "reading user-defined conversions"
 msgstr "leyendo las conversiones definidas por el usuario"
 
-#: common.c:205
+#: common.c:208
 #, c-format
 msgid "reading type casts"
 msgstr "leyendo conversiones de tipo"
 
-#: common.c:208
+#: common.c:211
 #, c-format
 msgid "reading transforms"
 msgstr "leyendo las transformaciones"
 
-#: common.c:211
+#: common.c:214
 #, c-format
 msgid "reading table inheritance information"
 msgstr "leyendo la información de herencia de las tablas"
 
-#: common.c:214
+#: common.c:217
 #, c-format
 msgid "reading event triggers"
 msgstr "leyendo los disparadores por eventos"
 
-#: common.c:218
+#: common.c:221
 #, c-format
 msgid "finding extension tables"
 msgstr "buscando tablas de extensión"
 
-#: common.c:222
+#: common.c:225
 #, c-format
 msgid "finding inheritance relationships"
 msgstr "buscando relaciones de herencia"
 
-#: common.c:225
+#: common.c:228
 #, c-format
 msgid "reading column info for interesting tables"
 msgstr "leyendo la información de columnas para las tablas interesantes"
 
-#: common.c:228
+#: common.c:231
 #, c-format
 msgid "flagging inherited columns in subtables"
 msgstr "marcando las columnas heredadas en las subtablas"
 
-#: common.c:231
+#: common.c:234
 #, c-format
 msgid "reading partitioning data"
 msgstr "leyendo datos de particionamiento"
 
-#: common.c:234
+#: common.c:237
 #, c-format
 msgid "reading indexes"
 msgstr "leyendo los índices"
 
-#: common.c:237
+#: common.c:240
 #, c-format
 msgid "flagging indexes in partitioned tables"
 msgstr "marcando índices en las tablas particionadas"
 
-#: common.c:240
+#: common.c:243
 #, c-format
 msgid "reading extended statistics"
 msgstr "leyendo estadísticas extendidas"
 
-#: common.c:243
+#: common.c:246
 #, c-format
 msgid "reading constraints"
 msgstr "leyendo las restricciones"
 
-#: common.c:246
+#: common.c:249
 #, c-format
 msgid "reading triggers"
 msgstr "leyendo los disparadores (triggers)"
 
-#: common.c:249
+#: common.c:252
 #, c-format
 msgid "reading rewrite rules"
 msgstr "leyendo las reglas de reescritura"
 
-#: common.c:252
+#: common.c:255
 #, c-format
 msgid "reading policies"
 msgstr "leyendo políticas"
 
-#: common.c:255
+#: common.c:258
 #, c-format
 msgid "reading publications"
 msgstr "leyendo publicaciones"
 
-#: common.c:258
+#: common.c:261
 #, c-format
 msgid "reading publication membership of tables"
 msgstr "leyendo membresía de tablas en publicaciones"
 
-#: common.c:261
+#: common.c:264
 #, c-format
 msgid "reading publication membership of schemas"
 msgstr "leyendo membresía de esquemas en publicaciones"
 
-#: common.c:264
+#: common.c:267
 #, c-format
 msgid "reading subscriptions"
 msgstr "leyendo las suscripciones"
 
-#: common.c:327
+#: common.c:270
+#, fuzzy, c-format
+#| msgid "reading publication membership of tables"
+msgid "reading subscription membership of tables"
+msgstr "leyendo membresía de tablas en publicaciones"
+
+#: common.c:333
 #, c-format
 msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found"
 msgstr "falló la revisión de integridad, el OID %u del padre de la tabla «%s» (OID %u) no se encontró"
 
-#: common.c:369
+#: common.c:375
 #, c-format
 msgid "invalid number of parents %d for table \"%s\""
 msgstr "número de padres %d para la tabla «%s» no es válido"
 
-#: common.c:1049
+#: common.c:1098
 #, c-format
 msgid "could not parse numeric array \"%s\": too many numbers"
 msgstr "no se pudo interpretar el arreglo numérico «%s»: demasiados números"
 
-#: common.c:1061
+#: common.c:1110
 #, c-format
 msgid "could not parse numeric array \"%s\": invalid character in number"
 msgstr "no se pudo interpretar el arreglo numérico «%s»: carácter no válido en número"
@@ -424,15 +508,20 @@ msgstr "no se pudo descomprimir datos: %s"
 msgid "could not close compression library: %s"
 msgstr "no se pudo cerrar la biblioteca de compresión: %s"
 
-#: compress_gzip.c:266 compress_gzip.c:295 compress_lz4.c:608
-#: compress_lz4.c:628 compress_lz4.c:647 compress_none.c:97 compress_none.c:140
+#: compress_gzip.c:266 compress_lz4.c:608 compress_lz4.c:628 compress_lz4.c:647
 #, c-format
 msgid "could not read from input file: %s"
 msgstr "no se pudo leer el archivo de entrada: %s"
 
-#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:142
-#: compress_zstd.c:371 pg_backup_custom.c:653 pg_backup_directory.c:558
-#: pg_backup_tar.c:725 pg_backup_tar.c:748
+#: compress_gzip.c:295 compress_none.c:97 compress_none.c:139
+#: compress_zstd.c:373 pg_backup_custom.c:651
+#, c-format
+msgid "could not read from input file: %m"
+msgstr "no se pudo leer el archivo de entrada: %m"
+
+#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:141
+#: compress_zstd.c:371 pg_backup_custom.c:649 pg_backup_directory.c:565
+#: pg_backup_tar.c:740 pg_backup_tar.c:763
 #, c-format
 msgid "could not read from input file: end of file"
 msgstr "no se pudo leer desde el archivo de entrada: fin de archivo"
@@ -483,16 +572,72 @@ msgstr "no se pudo inicializar la biblioteca de compresión"
 msgid "could not decompress data: %s"
 msgstr "no se pudo descomprimir datos: %s"
 
-#: compress_zstd.c:373 pg_backup_custom.c:655
-#, c-format
-msgid "could not read from input file: %m"
-msgstr "no se pudo leer el archivo de entrada: %m"
-
 #: compress_zstd.c:501
 #, c-format
 msgid "unhandled mode \"%s\""
 msgstr "modo «%s» sin manejar"
 
+#: filter.c:49
+#, fuzzy, c-format
+#| msgid "could not open input file \"%s\": %m"
+msgid "could not open filter file \"%s\": %m"
+msgstr "no se pudo abrir el archivo de entrada «%s»: %m"
+
+#: filter.c:72
+#, fuzzy, c-format
+#| msgid "could not close file \"%s\": %m"
+msgid "could not close filter file \"%s\": %m"
+msgstr "no se pudo cerrar el archivo «%s»: %m"
+
+#: filter.c:165
+#, c-format
+msgid "invalid format in filter read from standard input on line %d: %s"
+msgstr ""
+
+#: filter.c:168
+#, fuzzy, c-format
+#| msgid "invalid syntax in time zone file \"%s\", line %d"
+msgid "invalid format in filter read from file \"%s\" on line %d: %s"
+msgstr "sintaxis no válida en archivo de huso horario «%s», línea %d"
+
+#: filter.c:241 filter.c:468
+#, fuzzy, c-format
+#| msgid "could not read from file \"%s\": %m"
+msgid "could not read from filter file \"%s\": %m"
+msgstr "no se pudo leer el archivo «%s»: %m"
+
+#: filter.c:244
+#, fuzzy
+#| msgid "unexpected end of line"
+msgid "unexpected end of file"
+msgstr "fin de línea inesperado"
+
+#: filter.c:311
+#, fuzzy
+#| msgid "missing Language parameter"
+msgid "missing object name pattern"
+msgstr "falta un parámetro Language"
+
+#: filter.c:422
+msgid "no filter command found (expected \"include\" or \"exclude\")"
+msgstr ""
+
+#: filter.c:433
+msgid "invalid filter command (expected \"include\" or \"exclude\")"
+msgstr ""
+
+#: filter.c:440
+#, fuzzy
+#| msgid "saving large objects"
+msgid "missing filter object type"
+msgstr "salvando objetos grandes"
+
+#: filter.c:447
+#, fuzzy, c-format
+#| msgid "unsupported object type \"%s\""
+msgid "unsupported filter object type: \"%.*s\""
+msgstr "tipo de objeto «%s» no soportado"
+
 #: parallel.c:251
 #, c-format
 msgid "%s() failed: error code %d"
@@ -572,512 +717,523 @@ msgstr "pgpipe: no se pudo conectar el socket: código de error %d"
 msgid "pgpipe: could not accept connection: error code %d"
 msgstr "pgpipe: no se pudo aceptar la conexión: código de error %d"
 
-#: pg_backup_archiver.c:276 pg_backup_archiver.c:1603
+#: pg_backup_archiver.c:261 pg_backup_archiver.c:1706
 #, c-format
 msgid "could not close output file: %m"
 msgstr "no se pudo cerrar el archivo de salida: %m"
 
-#: pg_backup_archiver.c:320 pg_backup_archiver.c:324
+#: pg_backup_archiver.c:305 pg_backup_archiver.c:309
 #, c-format
 msgid "archive items not in correct section order"
 msgstr "elementos del archivo no están en el orden correcto de secciones"
 
-#: pg_backup_archiver.c:330
+#: pg_backup_archiver.c:315
 #, c-format
 msgid "unexpected section code %d"
 msgstr "código de sección %d inesperado"
 
-#: pg_backup_archiver.c:367
+#: pg_backup_archiver.c:352
 #, c-format
 msgid "parallel restore is not supported with this archive file format"
 msgstr "la restauración en paralelo no está soportada con este formato de archivo"
 
-#: pg_backup_archiver.c:371
+#: pg_backup_archiver.c:356
 #, c-format
 msgid "parallel restore is not supported with archives made by pre-8.0 pg_dump"
 msgstr "la restauración en paralelo no está soportada con archivos construidos con pg_dump anterior a 8.0"
 
-#: pg_backup_archiver.c:392
-#, c-format
+#: pg_backup_archiver.c:377
+#, fuzzy, c-format
+#| msgid "cannot parse archive \"%s\""
 msgid "cannot restore from compressed archive (%s)"
-msgstr "no se pudo restaurar desde archivo comprimido (%s)"
+msgstr "no se pudo interpretar el archivo «%s»"
 
-#: pg_backup_archiver.c:412
+#: pg_backup_archiver.c:397
 #, c-format
 msgid "connecting to database for restore"
 msgstr "conectando a la base de datos para reestablecimiento"
 
-#: pg_backup_archiver.c:414
+#: pg_backup_archiver.c:399
 #, c-format
 msgid "direct database connections are not supported in pre-1.3 archives"
 msgstr "las conexiones directas a la base de datos no están soportadas en archivadores pre-1.3"
 
-#: pg_backup_archiver.c:457
+#: pg_backup_archiver.c:442
 #, c-format
 msgid "implied data-only restore"
 msgstr "asumiendo reestablecimiento de sólo datos"
 
-#: pg_backup_archiver.c:523
+#: pg_backup_archiver.c:510
 #, c-format
 msgid "dropping %s %s"
 msgstr "eliminando %s %s"
 
-#: pg_backup_archiver.c:623
+#: pg_backup_archiver.c:642
 #, c-format
 msgid "could not find where to insert IF EXISTS in statement \"%s\""
 msgstr "no se pudo encontrar dónde insertar IF EXISTS en la sentencia «%s»"
 
-#: pg_backup_archiver.c:778 pg_backup_archiver.c:780
+#: pg_backup_archiver.c:828 pg_backup_archiver.c:830
 #, c-format
 msgid "warning from original dump file: %s"
 msgstr "precaución desde el archivo original: %s"
 
-#: pg_backup_archiver.c:795
+#: pg_backup_archiver.c:864
 #, c-format
 msgid "creating %s \"%s.%s\""
 msgstr "creando %s «%s.%s»"
 
-#: pg_backup_archiver.c:798
+#: pg_backup_archiver.c:867
 #, c-format
 msgid "creating %s \"%s\""
 msgstr "creando %s «%s»"
 
-#: pg_backup_archiver.c:848
+#: pg_backup_archiver.c:917
 #, c-format
 msgid "connecting to new database \"%s\""
 msgstr "conectando a nueva base de datos «%s»"
 
-#: pg_backup_archiver.c:875
+#: pg_backup_archiver.c:944
 #, c-format
 msgid "processing %s"
 msgstr "procesando %s"
 
-#: pg_backup_archiver.c:897
+#: pg_backup_archiver.c:966
 #, c-format
 msgid "processing data for table \"%s.%s\""
 msgstr "procesando datos de la tabla «%s.%s»"
 
-#: pg_backup_archiver.c:967
+#: pg_backup_archiver.c:1036
 #, c-format
 msgid "executing %s %s"
 msgstr "ejecutando %s %s"
 
-#: pg_backup_archiver.c:1008
+#: pg_backup_archiver.c:1096
 #, c-format
 msgid "disabling triggers for %s"
 msgstr "deshabilitando disparadores (triggers) para %s"
 
-#: pg_backup_archiver.c:1034
+#: pg_backup_archiver.c:1122
 #, c-format
 msgid "enabling triggers for %s"
 msgstr "habilitando disparadores (triggers) para %s"
 
-#: pg_backup_archiver.c:1099
+#: pg_backup_archiver.c:1187
 #, c-format
 msgid "internal error -- WriteData cannot be called outside the context of a DataDumper routine"
 msgstr "error interno -- WriteData no puede ser llamada fuera del contexto de una rutina DataDumper"
 
-#: pg_backup_archiver.c:1287
+#: pg_backup_archiver.c:1379
 #, c-format
 msgid "large-object output not supported in chosen format"
 msgstr "la extracción de objetos grandes no está soportada en el formato seleccionado"
 
-#: pg_backup_archiver.c:1345
+#: pg_backup_archiver.c:1442
 #, c-format
 msgid "restored %d large object"
 msgid_plural "restored %d large objects"
 msgstr[0] "se reestableció %d objeto grande"
 msgstr[1] "se reestablecieron %d objetos grandes"
 
-#: pg_backup_archiver.c:1366 pg_backup_tar.c:668
+#: pg_backup_archiver.c:1469 pg_backup_tar.c:683
 #, c-format
 msgid "restoring large object with OID %u"
 msgstr "reestableciendo objeto grande con OID %u"
 
-#: pg_backup_archiver.c:1378
+#: pg_backup_archiver.c:1481
 #, c-format
 msgid "could not create large object %u: %s"
 msgstr "no se pudo crear el objeto grande %u: %s"
 
-#: pg_backup_archiver.c:1383 pg_dump.c:3718
+#: pg_backup_archiver.c:1486 pg_dump.c:3863
 #, c-format
 msgid "could not open large object %u: %s"
 msgstr "no se pudo abrir el objeto grande %u: %s"
 
-#: pg_backup_archiver.c:1439
+#: pg_backup_archiver.c:1542
 #, c-format
 msgid "could not open TOC file \"%s\": %m"
 msgstr "no se pudo abrir el archivo TOC «%s»: %m"
 
-#: pg_backup_archiver.c:1467
+#: pg_backup_archiver.c:1570
 #, c-format
 msgid "line ignored: %s"
 msgstr "línea ignorada: %s"
 
-#: pg_backup_archiver.c:1474
+#: pg_backup_archiver.c:1577 pg_backup_db.c:609
 #, c-format
 msgid "could not find entry for ID %d"
 msgstr "no se pudo encontrar una entrada para el ID %d"
 
-#: pg_backup_archiver.c:1497 pg_backup_directory.c:221
-#: pg_backup_directory.c:606
+#: pg_backup_archiver.c:1600 pg_backup_directory.c:219
+#: pg_backup_directory.c:613
 #, c-format
 msgid "could not close TOC file: %m"
 msgstr "no se pudo cerrar el archivo TOC: %m"
 
-#: pg_backup_archiver.c:1584 pg_backup_custom.c:156 pg_backup_directory.c:332
-#: pg_backup_directory.c:593 pg_backup_directory.c:658
-#: pg_backup_directory.c:676 pg_dumpall.c:501
+#: pg_backup_archiver.c:1687 pg_backup_custom.c:152 pg_backup_directory.c:333
+#: pg_backup_directory.c:600 pg_backup_directory.c:666
+#: pg_backup_directory.c:684 pg_dumpall.c:506
 #, c-format
 msgid "could not open output file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de salida «%s»: %m"
 
-#: pg_backup_archiver.c:1586 pg_backup_custom.c:162
+#: pg_backup_archiver.c:1689 pg_backup_custom.c:158
 #, c-format
 msgid "could not open output file: %m"
 msgstr "no se pudo abrir el archivo de salida: %m"
 
-#: pg_backup_archiver.c:1669
+#: pg_backup_archiver.c:1772
 #, c-format
 msgid "wrote %zu byte of large object data (result = %d)"
 msgid_plural "wrote %zu bytes of large object data (result = %d)"
 msgstr[0] "se escribió %zu byte de los datos del objeto grande (resultado = %d)"
 msgstr[1] "se escribieron %zu bytes de los datos del objeto grande (resultado = %d)"
 
-#: pg_backup_archiver.c:1675
+#: pg_backup_archiver.c:1778
 #, c-format
 msgid "could not write to large object: %s"
 msgstr "no se pudo escribir en objeto grande: %s"
 
-#: pg_backup_archiver.c:1765
+#: pg_backup_archiver.c:1868
 #, c-format
 msgid "while INITIALIZING:"
 msgstr "durante INICIALIZACIÓN:"
 
-#: pg_backup_archiver.c:1770
+#: pg_backup_archiver.c:1873
 #, c-format
 msgid "while PROCESSING TOC:"
 msgstr "durante PROCESAMIENTO DE TABLA DE CONTENIDOS:"
 
-#: pg_backup_archiver.c:1775
+#: pg_backup_archiver.c:1878
 #, c-format
 msgid "while FINALIZING:"
 msgstr "durante FINALIZACIÓN:"
 
-#: pg_backup_archiver.c:1780
+#: pg_backup_archiver.c:1883
 #, c-format
 msgid "from TOC entry %d; %u %u %s %s %s"
 msgstr "en entrada de la tabla de contenidos %d; %u %u %s %s %s"
 
-#: pg_backup_archiver.c:1856
+#: pg_backup_archiver.c:1959
 #, c-format
 msgid "bad dumpId"
 msgstr "dumpId incorrecto"
 
-#: pg_backup_archiver.c:1877
+#: pg_backup_archiver.c:1980
 #, c-format
 msgid "bad table dumpId for TABLE DATA item"
 msgstr "dumpId de tabla incorrecto para elemento TABLE DATA"
 
-#: pg_backup_archiver.c:1969
+#: pg_backup_archiver.c:2072
 #, c-format
 msgid "unexpected data offset flag %d"
 msgstr "bandera de posición inesperada %d"
 
-#: pg_backup_archiver.c:1982
+#: pg_backup_archiver.c:2085
 #, c-format
 msgid "file offset in dump file is too large"
 msgstr "el posición en el archivo es demasiado grande"
 
-#: pg_backup_archiver.c:2093
+#: pg_backup_archiver.c:2196
 #, c-format
 msgid "directory name too long: \"%s\""
 msgstr "nombre de directorio demasiado largo: «%s»"
 
-#: pg_backup_archiver.c:2143
+#: pg_backup_archiver.c:2246
 #, c-format
 msgid "directory \"%s\" does not appear to be a valid archive (\"toc.dat\" does not exist)"
 msgstr "el directorio «%s» no parece ser un archivador válido (no existe «toc.dat»)"
 
-#: pg_backup_archiver.c:2151 pg_backup_custom.c:173 pg_backup_custom.c:816
-#: pg_backup_directory.c:206 pg_backup_directory.c:395
+#: pg_backup_archiver.c:2254 pg_backup_custom.c:169 pg_backup_custom.c:812
+#: pg_backup_directory.c:204 pg_backup_directory.c:396
 #, c-format
 msgid "could not open input file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de entrada «%s»: %m"
 
-#: pg_backup_archiver.c:2158 pg_backup_custom.c:179
+#: pg_backup_archiver.c:2261 pg_backup_custom.c:175
 #, c-format
 msgid "could not open input file: %m"
 msgstr "no se pudo abrir el archivo de entrada: %m"
 
-#: pg_backup_archiver.c:2164
+#: pg_backup_archiver.c:2267
 #, c-format
 msgid "could not read input file: %m"
 msgstr "no se pudo leer el archivo de entrada: %m"
 
-#: pg_backup_archiver.c:2166
+#: pg_backup_archiver.c:2269
 #, c-format
 msgid "input file is too short (read %lu, expected 5)"
 msgstr "el archivo de entrada es demasiado corto (leidos %lu, esperados 5)"
 
-#: pg_backup_archiver.c:2198
+#: pg_backup_archiver.c:2301
 #, c-format
 msgid "input file appears to be a text format dump. Please use psql."
 msgstr "el archivo de entrada parece ser un volcado de texto. Por favor use psql."
 
-#: pg_backup_archiver.c:2204
+#: pg_backup_archiver.c:2307
 #, c-format
 msgid "input file does not appear to be a valid archive (too short?)"
 msgstr "el archivo de entrada no parece ser un archivador válido (¿demasiado corto?)"
 
-#: pg_backup_archiver.c:2210
+#: pg_backup_archiver.c:2313
 #, c-format
 msgid "input file does not appear to be a valid archive"
 msgstr "el archivo de entrada no parece ser un archivador válido"
 
-#: pg_backup_archiver.c:2219
+#: pg_backup_archiver.c:2322
 #, c-format
 msgid "could not close input file: %m"
 msgstr "no se pudo cerrar el archivo de entrada: %m"
 
-#: pg_backup_archiver.c:2297
+#: pg_backup_archiver.c:2401
 #, c-format
 msgid "could not open stdout for appending: %m"
 msgstr "no se pudo abrir stdout para agregar datos: %m"
 
-#: pg_backup_archiver.c:2342
+#: pg_backup_archiver.c:2446
 #, c-format
 msgid "unrecognized file format \"%d\""
 msgstr "formato de archivo no reconocido «%d»"
 
-#: pg_backup_archiver.c:2423 pg_backup_archiver.c:4466
+#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4647
 #, c-format
 msgid "finished item %d %s %s"
 msgstr "terminó el elemento %d %s %s"
 
-#: pg_backup_archiver.c:2427 pg_backup_archiver.c:4479
+#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4660
 #, c-format
 msgid "worker process failed: exit code %d"
 msgstr "el proceso hijo falló: código de salida %d"
 
-#: pg_backup_archiver.c:2548
+#: pg_backup_archiver.c:2653
 #, c-format
 msgid "entry ID %d out of range -- perhaps a corrupt TOC"
 msgstr "la entrada con ID %d está fuera de rango -- tal vez la tabla de contenido está corrupta"
 
-#: pg_backup_archiver.c:2628
+#: pg_backup_archiver.c:2736
 #, c-format
 msgid "restoring tables WITH OIDS is not supported anymore"
 msgstr "restaurar tablas WITH OIDS ya no está soportado"
 
-#: pg_backup_archiver.c:2710
+#: pg_backup_archiver.c:2818
 #, c-format
 msgid "unrecognized encoding \"%s\""
 msgstr "no se reconoce la codificación: «%s»"
 
-#: pg_backup_archiver.c:2715
+#: pg_backup_archiver.c:2823
 #, c-format
 msgid "invalid ENCODING item: %s"
 msgstr "elemento ENCODING no válido: %s"
 
-#: pg_backup_archiver.c:2733
+#: pg_backup_archiver.c:2841
 #, c-format
 msgid "invalid STDSTRINGS item: %s"
 msgstr "elemento STDSTRINGS no válido: %s"
 
-#: pg_backup_archiver.c:2758
+#: pg_backup_archiver.c:2866
 #, c-format
 msgid "schema \"%s\" not found"
 msgstr "esquema «%s» no encontrado"
 
-#: pg_backup_archiver.c:2765
+#: pg_backup_archiver.c:2873
 #, c-format
 msgid "table \"%s\" not found"
 msgstr "tabla «%s» no encontrada"
 
-#: pg_backup_archiver.c:2772
+#: pg_backup_archiver.c:2880
 #, c-format
 msgid "index \"%s\" not found"
 msgstr "índice «%s» no encontrado"
 
-#: pg_backup_archiver.c:2779
+#: pg_backup_archiver.c:2887
 #, c-format
 msgid "function \"%s\" not found"
 msgstr "función «%s» no encontrada"
 
-#: pg_backup_archiver.c:2786
+#: pg_backup_archiver.c:2894
 #, c-format
 msgid "trigger \"%s\" not found"
 msgstr "disparador «%s» no encontrado"
 
-#: pg_backup_archiver.c:3201
+#: pg_backup_archiver.c:3325
 #, c-format
 msgid "could not set session user to \"%s\": %s"
 msgstr "no se pudo establecer el usuario de sesión a «%s»: %s"
 
-#: pg_backup_archiver.c:3333
-#, c-format
-msgid "could not set search_path to \"%s\": %s"
+#: pg_backup_archiver.c:3457
+#, fuzzy, c-format
+#| msgid "could not set search_path to \"%s\": %s"
+msgid "could not set \"search_path\" to \"%s\": %s"
 msgstr "no se pudo definir search_path a «%s»: %s"
 
-#: pg_backup_archiver.c:3394
-#, c-format
-msgid "could not set default_tablespace to %s: %s"
+#: pg_backup_archiver.c:3518
+#, fuzzy, c-format
+#| msgid "could not set default_tablespace to %s: %s"
+msgid "could not set \"default_tablespace\" to %s: %s"
 msgstr "no se pudo definir default_tablespace a %s: %s"
 
-#: pg_backup_archiver.c:3443
-#, c-format
-msgid "could not set default_table_access_method: %s"
+#: pg_backup_archiver.c:3567
+#, fuzzy, c-format
+#| msgid "could not set default_table_access_method: %s"
+msgid "could not set \"default_table_access_method\": %s"
 msgstr "no se pudo definir default_table_access_method: %s"
 
-#: pg_backup_archiver.c:3548
+#: pg_backup_archiver.c:3616
+#, fuzzy, c-format
+#| msgid "could not set default_table_access_method: %s"
+msgid "could not alter table access method: %s"
+msgstr "no se pudo definir default_table_access_method: %s"
+
+#: pg_backup_archiver.c:3717
 #, c-format
 msgid "don't know how to set owner for object type \"%s\""
 msgstr "no se sabe cómo establecer el dueño para el objeto de tipo «%s»"
 
-#: pg_backup_archiver.c:3770
+#: pg_backup_archiver.c:4004
 #, c-format
 msgid "did not find magic string in file header"
 msgstr "no se encontró la cadena mágica en el encabezado del archivo"
 
-#: pg_backup_archiver.c:3784
+#: pg_backup_archiver.c:4018
 #, c-format
 msgid "unsupported version (%d.%d) in file header"
 msgstr "versión no soportada (%d.%d) en el encabezado del archivo"
 
-#: pg_backup_archiver.c:3789
+#: pg_backup_archiver.c:4023
 #, c-format
 msgid "sanity check on integer size (%lu) failed"
 msgstr "revisión de integridad en el tamaño del entero (%lu) falló"
 
-#: pg_backup_archiver.c:3793
+#: pg_backup_archiver.c:4027
 #, c-format
 msgid "archive was made on a machine with larger integers, some operations might fail"
 msgstr "el archivador fue hecho en una máquina con enteros más grandes, algunas operaciones podrían fallar"
 
-#: pg_backup_archiver.c:3803
+#: pg_backup_archiver.c:4037
 #, c-format
 msgid "expected format (%d) differs from format found in file (%d)"
 msgstr "el formato esperado (%d) difiere del formato encontrado en el archivo (%d)"
 
-#: pg_backup_archiver.c:3825
-#, c-format
+#: pg_backup_archiver.c:4059
+#, fuzzy, c-format
+#| msgid "archive is compressed, but this installation does not support compression (%s) -- no data will be available"
 msgid "archive is compressed, but this installation does not support compression (%s) -- no data will be available"
 msgstr "el archivo está comprimido, pero esta instalación no soporta compresión (%s) -- los datos no estarán disponibles"
 
-#: pg_backup_archiver.c:3861
+#: pg_backup_archiver.c:4095
 #, c-format
 msgid "invalid creation date in header"
 msgstr "la fecha de creación en el encabezado no es válida"
 
-#: pg_backup_archiver.c:3995
+#: pg_backup_archiver.c:4229
 #, c-format
 msgid "processing item %d %s %s"
 msgstr "procesando el elemento %d %s %s"
 
-#: pg_backup_archiver.c:4070
+#: pg_backup_archiver.c:4314
 #, c-format
 msgid "entering main parallel loop"
 msgstr "ingresando al bucle paralelo principal"
 
-#: pg_backup_archiver.c:4081
+#: pg_backup_archiver.c:4325
 #, c-format
 msgid "skipping item %d %s %s"
 msgstr "saltando el elemento %d %s %s"
 
-#: pg_backup_archiver.c:4090
+#: pg_backup_archiver.c:4334
 #, c-format
 msgid "launching item %d %s %s"
 msgstr "lanzando el elemento %d %s %s"
 
-#: pg_backup_archiver.c:4144
+#: pg_backup_archiver.c:4388
 #, c-format
 msgid "finished main parallel loop"
 msgstr "terminó el bucle paralelo principal"
 
-#: pg_backup_archiver.c:4180
+#: pg_backup_archiver.c:4424
 #, c-format
 msgid "processing missed item %d %s %s"
 msgstr "procesando el elemento saltado %d %s %s"
 
-#: pg_backup_archiver.c:4785
+#: pg_backup_archiver.c:4966
 #, c-format
 msgid "table \"%s\" could not be created, will not restore its data"
 msgstr "la tabla «%s» no pudo ser creada, no se recuperarán sus datos"
 
-#: pg_backup_custom.c:380 pg_backup_null.c:147
+#: pg_backup_custom.c:376 pg_backup_null.c:143
 #, c-format
 msgid "invalid OID for large object"
 msgstr "OID no válido para objeto grande"
 
-#: pg_backup_custom.c:445 pg_backup_custom.c:511 pg_backup_custom.c:640
-#: pg_backup_custom.c:874 pg_backup_tar.c:1014 pg_backup_tar.c:1019
+#: pg_backup_custom.c:441 pg_backup_custom.c:507 pg_backup_custom.c:636
+#: pg_backup_custom.c:870 pg_backup_tar.c:1029 pg_backup_tar.c:1034
 #, c-format
 msgid "error during file seek: %m"
 msgstr "error durante el posicionamiento (seek) en el archivo: %m"
 
-#: pg_backup_custom.c:484
+#: pg_backup_custom.c:480
 #, c-format
 msgid "data block %d has wrong seek position"
 msgstr "el bloque de datos %d tiene una posición de búsqueda incorrecta"
 
-#: pg_backup_custom.c:501
+#: pg_backup_custom.c:497
 #, c-format
 msgid "unrecognized data block type (%d) while searching archive"
 msgstr "tipo de bloque de datos (%d) no conocido al buscar en el archivador"
 
-#: pg_backup_custom.c:523
+#: pg_backup_custom.c:519
 #, c-format
 msgid "could not find block ID %d in archive -- possibly due to out-of-order restore request, which cannot be handled due to non-seekable input file"
 msgstr "no se pudo encontrar el bloque con ID %d en archivo -- posiblemente debido a una petición de restauración fuera de orden, la que no puede ser completada debido a que en el archivo de entrada no es reposicionable (seekable)"
 
-#: pg_backup_custom.c:528
+#: pg_backup_custom.c:524
 #, c-format
 msgid "could not find block ID %d in archive -- possibly corrupt archive"
 msgstr "no se pudo encontrar el bloque con ID %d en archivo -- posiblemente el archivo está corrupto"
 
-#: pg_backup_custom.c:535
+#: pg_backup_custom.c:531
 #, c-format
 msgid "found unexpected block ID (%d) when reading data -- expected %d"
 msgstr "se encontró un bloque no esperado ID (%d) mientras se leían los datos -- se esperaba %d"
 
-#: pg_backup_custom.c:549
+#: pg_backup_custom.c:545
 #, c-format
 msgid "unrecognized data block type %d while restoring archive"
 msgstr "se encontró un bloque tipo %d no reconocido al restablecer el archivador"
 
-#: pg_backup_custom.c:755 pg_backup_custom.c:807 pg_backup_custom.c:952
-#: pg_backup_tar.c:1017
+#: pg_backup_custom.c:751 pg_backup_custom.c:803 pg_backup_custom.c:945
+#: pg_backup_tar.c:1032
 #, c-format
 msgid "could not determine seek position in archive file: %m"
 msgstr "no se pudo determinar la posición (seek) en el archivo del archivador: %m"
 
-#: pg_backup_custom.c:771 pg_backup_custom.c:811
+#: pg_backup_custom.c:767 pg_backup_custom.c:807
 #, c-format
 msgid "could not close archive file: %m"
 msgstr "no se pudo cerrar el archivo del archivador: %m"
 
-#: pg_backup_custom.c:794
+#: pg_backup_custom.c:790
 #, c-format
 msgid "can only reopen input archives"
 msgstr "sólo se pueden reabrir archivos de entrada"
 
-#: pg_backup_custom.c:801
+#: pg_backup_custom.c:797
 #, c-format
 msgid "parallel restore from standard input is not supported"
 msgstr "la restauración en paralelo desde entrada estándar (stdin) no está soportada"
 
-#: pg_backup_custom.c:803
+#: pg_backup_custom.c:799
 #, c-format
 msgid "parallel restore from non-seekable file is not supported"
 msgstr "la restauración en paralelo desde un archivo no posicionable no está soportada"
 
-#: pg_backup_custom.c:819
+#: pg_backup_custom.c:815
 #, c-format
 msgid "could not set seek position in archive file: %m"
 msgstr "no se pudo posicionar (seek) en el archivo del archivador: %m"
 
-#: pg_backup_custom.c:898
+#: pg_backup_custom.c:894
 #, c-format
 msgid "compressor active"
 msgstr "compresor activo"
@@ -1087,12 +1243,12 @@ msgstr "compresor activo"
 msgid "could not get server_version from libpq"
 msgstr "no se pudo obtener server_version desde libpq"
 
-#: pg_backup_db.c:53 pg_dumpall.c:1809
+#: pg_backup_db.c:53 pg_dumpall.c:1830
 #, c-format
 msgid "aborting because of server version mismatch"
 msgstr "abortando debido a que no coincide la versión del servidor"
 
-#: pg_backup_db.c:54 pg_dumpall.c:1810
+#: pg_backup_db.c:54 pg_dumpall.c:1831
 #, c-format
 msgid "server version: %s; %s version: %s"
 msgstr "versión del servidor: %s; versión de %s: %s"
@@ -1102,7 +1258,7 @@ msgstr "versión del servidor: %s; versión de %s: %s"
 msgid "already connected to a database"
 msgstr "ya está conectado a una base de datos"
 
-#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1656 pg_dumpall.c:1758
+#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1677 pg_dumpall.c:1779
 msgid "Password: "
 msgstr "Contraseña: "
 
@@ -1116,18 +1272,18 @@ msgstr "no se pudo hacer la conexión a la base de datos"
 msgid "reconnection failed: %s"
 msgstr "falló la reconexión: %s"
 
-#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:756 pg_dump_sort.c:1280
-#: pg_dump_sort.c:1300 pg_dumpall.c:1683 pg_dumpall.c:1767
+#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:787 pg_dump_sort.c:1213
+#: pg_dump_sort.c:1233 pg_dumpall.c:1704 pg_dumpall.c:1788
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pg_backup_db.c:271 pg_dumpall.c:1872 pg_dumpall.c:1895
+#: pg_backup_db.c:271 pg_dumpall.c:1893 pg_dumpall.c:1916
 #, c-format
 msgid "query failed: %s"
 msgstr "la consulta falló: %s"
 
-#: pg_backup_db.c:273 pg_dumpall.c:1873 pg_dumpall.c:1896
+#: pg_backup_db.c:273 pg_dumpall.c:1894 pg_dumpall.c:1917
 #, c-format
 msgid "Query was: %s"
 msgstr "La consulta era: %s"
@@ -1163,7 +1319,7 @@ msgstr "PQputCopyEnd regresó un error: %s"
 msgid "COPY failed for table \"%s\": %s"
 msgstr "COPY falló para la tabla «%s»: %s"
 
-#: pg_backup_db.c:521 pg_dump.c:2202
+#: pg_backup_db.c:521 pg_dump.c:2271
 #, c-format
 msgid "unexpected extra results during COPY of table \"%s\""
 msgstr "resultados extra inesperados durante el COPY de la tabla «%s»"
@@ -1176,161 +1332,158 @@ msgstr "no se pudo iniciar la transacción en la base de datos"
 msgid "could not commit database transaction"
 msgstr "no se pudo terminar la transacción a la base de datos"
 
-#: pg_backup_directory.c:155
+#: pg_backup_directory.c:153
 #, c-format
 msgid "no output directory specified"
 msgstr "no se especificó un directorio de salida"
 
-#: pg_backup_directory.c:184
-#, c-format
-msgid "could not read directory \"%s\": %m"
-msgstr "no se pudo leer el directorio «%s»: %m"
-
-#: pg_backup_directory.c:188
+#: pg_backup_directory.c:186
 #, c-format
 msgid "could not close directory \"%s\": %m"
 msgstr "no se pudo abrir el directorio «%s»: %m"
 
-#: pg_backup_directory.c:194
+#: pg_backup_directory.c:192
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "no se pudo crear el directorio «%s»: %m"
 
-#: pg_backup_directory.c:356 pg_backup_directory.c:499
-#: pg_backup_directory.c:537
+#: pg_backup_directory.c:357 pg_backup_directory.c:506
+#: pg_backup_directory.c:544
 #, c-format
 msgid "could not write to output file: %s"
 msgstr "no se pudo escribir al archivo de salida: %s"
 
-#: pg_backup_directory.c:374
+#: pg_backup_directory.c:375
 #, c-format
 msgid "could not close data file: %m"
 msgstr "no se pudo cerrar el archivo de datos: %m"
 
-#: pg_backup_directory.c:407
+#: pg_backup_directory.c:408
 #, c-format
 msgid "could not close data file \"%s\": %m"
 msgstr "no se pudo cerrar el archivo de datos «%s»: %m"
 
-#: pg_backup_directory.c:448
+#: pg_backup_directory.c:455
 #, c-format
 msgid "could not open large object TOC file \"%s\" for input: %m"
 msgstr "no se pudo abrir el archivo de la tabla de contenidos de objetos grandes «%s» para su lectura: %m"
 
-#: pg_backup_directory.c:459
+#: pg_backup_directory.c:466
 #, c-format
 msgid "invalid line in large object TOC file \"%s\": \"%s\""
 msgstr "línea no válida en el archivo de la tabla de contenido de objetos grandes «%s»: «%s»"
 
-#: pg_backup_directory.c:468
+#: pg_backup_directory.c:475
 #, c-format
 msgid "error reading large object TOC file \"%s\""
 msgstr "error al leer el archivo de la tabla de contenidos de objetos grandes «%s»"
 
-#: pg_backup_directory.c:472
+#: pg_backup_directory.c:479
 #, c-format
 msgid "could not close large object TOC file \"%s\": %m"
 msgstr "no se pudo cerrar el archivo de la tabla de contenido de los objetos grandes «%s»: %m"
 
-#: pg_backup_directory.c:694
+#: pg_backup_directory.c:702
 #, c-format
 msgid "could not close LO data file: %m"
 msgstr "no se pudo cerrar el archivo de datos LO: %m"
 
-#: pg_backup_directory.c:704
-#, c-format
+#: pg_backup_directory.c:712
+#, fuzzy, c-format
+#| msgid "could not write to LOs TOC file: %s"
 msgid "could not write to LOs TOC file: %s"
 msgstr "no se pudo escribir archivo TOC de LOs: %s"
 
-#: pg_backup_directory.c:720
-#, c-format
+#: pg_backup_directory.c:728
+#, fuzzy, c-format
+#| msgid "could not close TOC file: %m"
 msgid "could not close LOs TOC file: %m"
-msgstr "no se pudo cerrar el archivo TOC de LOs: %m"
+msgstr "no se pudo cerrar el archivo TOC: %m"
 
-#: pg_backup_directory.c:739
+#: pg_backup_directory.c:747
 #, c-format
 msgid "file name too long: \"%s\""
 msgstr "nombre de archivo demasiado largo: «%s»"
 
-#: pg_backup_null.c:74
+#: pg_backup_null.c:70
 #, c-format
 msgid "this format cannot be read"
 msgstr "no se puede leer este formato"
 
-#: pg_backup_tar.c:172
+#: pg_backup_tar.c:168
 #, c-format
 msgid "could not open TOC file \"%s\" for output: %m"
 msgstr "no se pudo abrir el archivo de tabla de contenido «%s» para escribir: %m"
 
-#: pg_backup_tar.c:179
+#: pg_backup_tar.c:175
 #, c-format
 msgid "could not open TOC file for output: %m"
 msgstr "no se pudo abrir la tabla de contenido para escribir: %m"
 
-#: pg_backup_tar.c:198 pg_backup_tar.c:334 pg_backup_tar.c:389
-#: pg_backup_tar.c:405 pg_backup_tar.c:891
+#: pg_backup_tar.c:194 pg_backup_tar.c:330 pg_backup_tar.c:385
+#: pg_backup_tar.c:401 pg_backup_tar.c:906
 #, c-format
 msgid "compression is not supported by tar archive format"
 msgstr "la compresión no está soportada por el formato de salida tar"
 
-#: pg_backup_tar.c:206
+#: pg_backup_tar.c:202
 #, c-format
 msgid "could not open TOC file \"%s\" for input: %m"
 msgstr "no se pudo abrir el archivo de tabla de contenido «%s» para leer: %m"
 
-#: pg_backup_tar.c:213
+#: pg_backup_tar.c:209
 #, c-format
 msgid "could not open TOC file for input: %m"
 msgstr "no se pudo abrir la tabla de contenido para leer: %m"
 
-#: pg_backup_tar.c:322
+#: pg_backup_tar.c:318
 #, c-format
 msgid "could not find file \"%s\" in archive"
 msgstr "no se pudo encontrar el archivo «%s» en el archivador"
 
-#: pg_backup_tar.c:382
+#: pg_backup_tar.c:378
 #, c-format
 msgid "could not generate temporary file name: %m"
 msgstr "no se pudo generar el nombre de archivo temporal: %m"
 
-#: pg_backup_tar.c:623
+#: pg_backup_tar.c:619
 #, c-format
 msgid "unexpected COPY statement syntax: \"%s\""
 msgstr "sintaxis de sentencia COPY inesperada: «%s»"
 
-#: pg_backup_tar.c:888
+#: pg_backup_tar.c:903
 #, c-format
 msgid "invalid OID for large object (%u)"
 msgstr "el OID del objeto grande no es válido (%u)"
 
-#: pg_backup_tar.c:1033
+#: pg_backup_tar.c:1048
 #, c-format
 msgid "could not close temporary file: %m"
 msgstr "no se pudo abrir archivo temporal: %m"
 
-#: pg_backup_tar.c:1036
+#: pg_backup_tar.c:1051
 #, c-format
 msgid "actual file length (%lld) does not match expected (%lld)"
 msgstr "el tamaño real del archivo (%lld) no coincide con el esperado (%lld)"
 
-#: pg_backup_tar.c:1082 pg_backup_tar.c:1113
+#: pg_backup_tar.c:1097 pg_backup_tar.c:1128
 #, c-format
 msgid "could not find header for file \"%s\" in tar archive"
 msgstr "no se pudo encontrar el encabezado para el archivo «%s» en el archivo tar"
 
-#: pg_backup_tar.c:1100
+#: pg_backup_tar.c:1115
 #, c-format
 msgid "restoring data out of order is not supported in this archive format: \"%s\" is required, but comes before \"%s\" in the archive file."
 msgstr "la extracción de datos fuera de orden no está soportada en este formato: se requiere «%s», pero viene antes de «%s» en el archivador."
 
-#: pg_backup_tar.c:1147
+#: pg_backup_tar.c:1162
 #, c-format
 msgid "incomplete tar header found (%lu byte)"
 msgid_plural "incomplete tar header found (%lu bytes)"
 msgstr[0] "se encontró un encabezado incompleto (%lu byte)"
 msgstr[1] "se encontró un encabezado incompleto (%lu bytes)"
 
-#: pg_backup_tar.c:1186
+#: pg_backup_tar.c:1201
 #, c-format
 msgid "corrupt tar header found in %s (expected %d, computed %d) file position %llu"
 msgstr "se encontró un encabezado corrupto en %s (esperado %d, calculado %d) en la posición %llu"
@@ -1340,10 +1493,10 @@ msgstr "se encontró un encabezado corrupto en %s (esperado %d, calculado %d) en
 msgid "unrecognized section name: \"%s\""
 msgstr "nombre de sección «%s» no reconocido"
 
-#: pg_backup_utils.c:55 pg_dump.c:662 pg_dump.c:679 pg_dumpall.c:365
-#: pg_dumpall.c:375 pg_dumpall.c:383 pg_dumpall.c:391 pg_dumpall.c:398
-#: pg_dumpall.c:408 pg_dumpall.c:483 pg_restore.c:291 pg_restore.c:307
-#: pg_restore.c:321
+#: pg_backup_utils.c:55 pg_dump.c:693 pg_dump.c:710 pg_dumpall.c:370
+#: pg_dumpall.c:380 pg_dumpall.c:388 pg_dumpall.c:396 pg_dumpall.c:403
+#: pg_dumpall.c:413 pg_dumpall.c:488 pg_restore.c:307 pg_restore.c:323
+#: pg_restore.c:337
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Pruebe «%s --help» para mayor información."
@@ -1353,82 +1506,82 @@ msgstr "Pruebe «%s --help» para mayor información."
 msgid "out of on_exit_nicely slots"
 msgstr "elementos on_exit_nicely agotados"
 
-#: pg_dump.c:677 pg_dumpall.c:373 pg_restore.c:305
+#: pg_dump.c:708 pg_dumpall.c:378 pg_restore.c:321
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)"
 
-#: pg_dump.c:696 pg_restore.c:328
+#: pg_dump.c:727 pg_restore.c:344
 #, c-format
 msgid "options -s/--schema-only and -a/--data-only cannot be used together"
 msgstr "las opciones -s/--schema-only y -a/--data-only no pueden usarse juntas"
 
-#: pg_dump.c:699
+#: pg_dump.c:730
 #, c-format
 msgid "options -s/--schema-only and --include-foreign-data cannot be used together"
 msgstr "las opciones -s/--schema-only y --include-foreign-data no pueden usarse juntas"
 
-#: pg_dump.c:702
+#: pg_dump.c:733
 #, c-format
 msgid "option --include-foreign-data is not supported with parallel backup"
 msgstr "la opción --include-foreign-data no está soportado con respaldo en paralelo"
 
-#: pg_dump.c:705 pg_restore.c:331
+#: pg_dump.c:736 pg_restore.c:347
 #, c-format
 msgid "options -c/--clean and -a/--data-only cannot be used together"
 msgstr "las opciones -c/--clean y -a/--data-only no pueden usarse juntas"
 
-#: pg_dump.c:708 pg_dumpall.c:403 pg_restore.c:356
+#: pg_dump.c:739 pg_dumpall.c:408 pg_restore.c:375
 #, c-format
 msgid "option --if-exists requires option -c/--clean"
 msgstr "la opción --if-exists requiere la opción -c/--clean"
 
-#: pg_dump.c:715
+#: pg_dump.c:746
 #, c-format
 msgid "option --on-conflict-do-nothing requires option --inserts, --rows-per-insert, or --column-inserts"
 msgstr "la opción --on-conflict-do-nothing requiere la opción --inserts, --rows-per-insert o --column-inserts"
 
-#: pg_dump.c:744
+#: pg_dump.c:775
 #, c-format
 msgid "unrecognized compression algorithm: \"%s\""
 msgstr "algoritmo de compresión no reconocido: «%s»"
 
-#: pg_dump.c:751
+#: pg_dump.c:782
 #, c-format
 msgid "invalid compression specification: %s"
 msgstr "especificación de compresión no válida: %s"
 
-#: pg_dump.c:764
+#: pg_dump.c:795
 #, c-format
 msgid "compression option \"%s\" is not currently supported by pg_dump"
 msgstr "la opción de compresión «%s» no está soportada por pg_dump actualmente"
 
-#: pg_dump.c:776
+#: pg_dump.c:807
 #, c-format
 msgid "parallel backup only supported by the directory format"
 msgstr "el volcado en paralelo sólo está soportado por el formato «directory»"
 
-#: pg_dump.c:822
+#: pg_dump.c:853
 #, c-format
 msgid "last built-in OID is %u"
 msgstr "el último OID interno es %u"
 
-#: pg_dump.c:831
+#: pg_dump.c:862
 #, c-format
 msgid "no matching schemas were found"
 msgstr "no se encontraron esquemas coincidentes"
 
-#: pg_dump.c:848
+#: pg_dump.c:879
 #, c-format
 msgid "no matching tables were found"
 msgstr "no se encontraron tablas coincidentes"
 
-#: pg_dump.c:876
+#: pg_dump.c:907
 #, c-format
 msgid "no matching extensions were found"
 msgstr "no se encontraron extensiones coincidentes"
 
-#: pg_dump.c:1056
+#: pg_dump.c:1091
 #, c-format
 msgid ""
 "%s dumps a database as a text file or to other formats.\n"
@@ -1437,17 +1590,17 @@ msgstr ""
 "%s extrae una base de datos en formato de texto o en otros formatos.\n"
 "\n"
 
-#: pg_dump.c:1057 pg_dumpall.c:630 pg_restore.c:433
+#: pg_dump.c:1092 pg_dumpall.c:635 pg_restore.c:452
 #, c-format
 msgid "Usage:\n"
 msgstr "Empleo:\n"
 
-#: pg_dump.c:1058
+#: pg_dump.c:1093
 #, c-format
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [OPCIÓN]... [NOMBREDB]\n"
 
-#: pg_dump.c:1060 pg_dumpall.c:633 pg_restore.c:436
+#: pg_dump.c:1095 pg_dumpall.c:638 pg_restore.c:455
 #, c-format
 msgid ""
 "\n"
@@ -1456,12 +1609,12 @@ msgstr ""
 "\n"
 "Opciones generales:\n"
 
-#: pg_dump.c:1061
+#: pg_dump.c:1096
 #, c-format
 msgid "  -f, --file=FILENAME          output file or directory name\n"
 msgstr "  -f, --file=ARCHIVO       nombre del archivo o directorio de salida\n"
 
-#: pg_dump.c:1062
+#: pg_dump.c:1097
 #, c-format
 msgid ""
 "  -F, --format=c|d|t|p         output file format (custom, directory, tar,\n"
@@ -1470,22 +1623,22 @@ msgstr ""
 "  -F, --format=c|d|t|p     Formato del archivo de salida (c=personalizado, \n"
 "                           d=directorio, t=tar, p=texto (por omisión))\n"
 
-#: pg_dump.c:1064
+#: pg_dump.c:1099
 #, c-format
 msgid "  -j, --jobs=NUM               use this many parallel jobs to dump\n"
 msgstr "  -j, --jobs=NUM           máximo de procesos paralelos para volcar\n"
 
-#: pg_dump.c:1065 pg_dumpall.c:635
+#: pg_dump.c:1100 pg_dumpall.c:640
 #, c-format
 msgid "  -v, --verbose                verbose mode\n"
 msgstr "  -v, --verbose            modo verboso\n"
 
-#: pg_dump.c:1066 pg_dumpall.c:636
+#: pg_dump.c:1101 pg_dumpall.c:641
 #, c-format
 msgid "  -V, --version                output version information, then exit\n"
 msgstr "  -V, --version            mostrar información de version y salir\n"
 
-#: pg_dump.c:1067
+#: pg_dump.c:1102
 #, c-format
 msgid ""
 "  -Z, --compress=METHOD[:DETAIL]\n"
@@ -1494,22 +1647,28 @@ msgstr ""
 "  -Z, --compress=MÉTODO[:DETALLE]\n"
 "                         comprimir como se indica\n"
 
-#: pg_dump.c:1069 pg_dumpall.c:637
+#: pg_dump.c:1104 pg_dumpall.c:642
 #, c-format
 msgid "  --lock-wait-timeout=TIMEOUT  fail after waiting TIMEOUT for a table lock\n"
 msgstr "  --lock-wait-timeout=SEGS espera a lo más SEGS segundos obtener un lock\n"
 
-#: pg_dump.c:1070 pg_dumpall.c:664
+#: pg_dump.c:1105 pg_dumpall.c:670
 #, c-format
 msgid "  --no-sync                    do not wait for changes to be written safely to disk\n"
 msgstr "  --no-sync                no esperar que los cambios se sincronicen a disco\n"
 
-#: pg_dump.c:1071 pg_dumpall.c:638
+#: pg_dump.c:1106
+#, fuzzy, c-format
+#| msgid "  --clone                       clone instead of copying files to new cluster\n"
+msgid "  --sync-method=METHOD         set method for syncing files to disk\n"
+msgstr "  --clone                       clonar los archivos en vez de copiarlos\n"
+
+#: pg_dump.c:1107 pg_dumpall.c:643
 #, c-format
 msgid "  -?, --help                   show this help, then exit\n"
 msgstr "  -?, --help               mostrar esta ayuda y salir\n"
 
-#: pg_dump.c:1073 pg_dumpall.c:639
+#: pg_dump.c:1109 pg_dumpall.c:644
 #, c-format
 msgid ""
 "\n"
@@ -1518,64 +1677,66 @@ msgstr ""
 "\n"
 "Opciones que controlan el contenido de la salida:\n"
 
-#: pg_dump.c:1074 pg_dumpall.c:640
+#: pg_dump.c:1110 pg_dumpall.c:645
 #, c-format
 msgid "  -a, --data-only              dump only the data, not the schema\n"
 msgstr "  -a, --data-only              extrae sólo los datos, no el esquema\n"
 
-#: pg_dump.c:1075
-#, c-format
+#: pg_dump.c:1111
+#, fuzzy, c-format
+#| msgid "  -b, --large-objects          include large objects in dump\n"
 msgid "  -b, --large-objects          include large objects in dump\n"
 msgstr "  -b, --large-objects          incluir “large objects” en la extracción\n"
 
-#: pg_dump.c:1076
+#: pg_dump.c:1112
 #, c-format
 msgid "  --blobs                      (same as --large-objects, deprecated)\n"
 msgstr "  --blobs                      (igual que --large-objects, deprecado)\n"
 
-#: pg_dump.c:1077
-#, c-format
+#: pg_dump.c:1113
+#, fuzzy, c-format
+#| msgid "  -B, --no-large-objects       exclude large objects in dump\n"
 msgid "  -B, --no-large-objects       exclude large objects in dump\n"
 msgstr "  -B, --no-large-objects       excluir “large objects” en la extracción\n"
 
-#: pg_dump.c:1078
+#: pg_dump.c:1114
 #, c-format
 msgid "  --no-blobs                   (same as --no-large-objects, deprecated)\n"
 msgstr "  --no-blobs                   (igual que --no-large-objects, deprecado)\n"
 
-#: pg_dump.c:1079 pg_restore.c:447
+#: pg_dump.c:1115 pg_restore.c:466
 #, c-format
 msgid "  -c, --clean                  clean (drop) database objects before recreating\n"
 msgstr "  -c, --clean                  tira (drop) la base de datos antes de crearla\n"
 
-#: pg_dump.c:1080
+#: pg_dump.c:1116
 #, c-format
 msgid "  -C, --create                 include commands to create database in dump\n"
 msgstr ""
 "  -C, --create                 incluye órdenes para crear la base de datos\n"
 "                               en la extracción\n"
 
-#: pg_dump.c:1081
+#: pg_dump.c:1117
 #, c-format
 msgid "  -e, --extension=PATTERN      dump the specified extension(s) only\n"
 msgstr "  -e, --extension=PATRÓN       extrae sólo la o las extensiones nombradas\n"
 
-#: pg_dump.c:1082 pg_dumpall.c:642
+#: pg_dump.c:1118 pg_dumpall.c:647
 #, c-format
 msgid "  -E, --encoding=ENCODING      dump the data in encoding ENCODING\n"
 msgstr "  -E, --encoding=CODIF         extrae los datos con la codificación CODIF\n"
 
-#: pg_dump.c:1083
+#: pg_dump.c:1119
 #, c-format
 msgid "  -n, --schema=PATTERN         dump the specified schema(s) only\n"
 msgstr "  -n, --schema=PATRÓN          extrae sólo el o los esquemas nombrados\n"
 
-#: pg_dump.c:1084
+#: pg_dump.c:1120
 #, c-format
 msgid "  -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n"
 msgstr "  -N, --exclude-schema=PATRÓN  NO extrae el o los esquemas nombrados\n"
 
-#: pg_dump.c:1085
+#: pg_dump.c:1121
 #, c-format
 msgid ""
 "  -O, --no-owner               skip restoration of object ownership in\n"
@@ -1584,58 +1745,59 @@ msgstr ""
 "  -O, --no-owner               en formato de sólo texto, no reestablece\n"
 "                               los dueños de los objetos\n"
 
-#: pg_dump.c:1087 pg_dumpall.c:646
+#: pg_dump.c:1123 pg_dumpall.c:651
 #, c-format
 msgid "  -s, --schema-only            dump only the schema, no data\n"
 msgstr "  -s, --schema-only            extrae sólo el esquema, no los datos\n"
 
-#: pg_dump.c:1088
+#: pg_dump.c:1124
 #, c-format
 msgid "  -S, --superuser=NAME         superuser user name to use in plain-text format\n"
 msgstr "  -S, --superuser=NAME         superusuario a utilizar en el volcado de texto\n"
 
-#: pg_dump.c:1089
-#, c-format
+#: pg_dump.c:1125
+#, fuzzy, c-format
+#| msgid "  -t, --table=PATTERN          dump only the specified table(s)\n"
 msgid "  -t, --table=PATTERN          dump only the specified table(s)\n"
 msgstr "  -t, --table=PATRÓN           extrae sólo la o las tablas nombradas\n"
 
-#: pg_dump.c:1090
+#: pg_dump.c:1126
 #, c-format
 msgid "  -T, --exclude-table=PATTERN  do NOT dump the specified table(s)\n"
 msgstr "  -T, --exclude-table=PATRÓN   NO extrae la o las tablas nombradas\n"
 
-#: pg_dump.c:1091 pg_dumpall.c:649
+#: pg_dump.c:1127 pg_dumpall.c:654
 #, c-format
 msgid "  -x, --no-privileges          do not dump privileges (grant/revoke)\n"
 msgstr "  -x, --no-privileges          no extrae los privilegios (grant/revoke)\n"
 
-#: pg_dump.c:1092 pg_dumpall.c:650
+#: pg_dump.c:1128 pg_dumpall.c:655
 #, c-format
 msgid "  --binary-upgrade             for use by upgrade utilities only\n"
 msgstr "  --binary-upgrade             sólo para uso de utilidades de upgrade\n"
 
-#: pg_dump.c:1093 pg_dumpall.c:651
+#: pg_dump.c:1129 pg_dumpall.c:656
 #, c-format
 msgid "  --column-inserts             dump data as INSERT commands with column names\n"
 msgstr ""
 "  --column-inserts             extrae los datos usando INSERT con nombres\n"
 "                               de columnas\n"
 
-#: pg_dump.c:1094 pg_dumpall.c:652
+#: pg_dump.c:1130 pg_dumpall.c:657
 #, c-format
 msgid "  --disable-dollar-quoting     disable dollar quoting, use SQL standard quoting\n"
 msgstr ""
 "  --disable-dollar-quoting     deshabilita el uso de «delimitadores de dólar»,\n"
 "                               usa delimitadores de cadena estándares\n"
 
-#: pg_dump.c:1095 pg_dumpall.c:653 pg_restore.c:464
+#: pg_dump.c:1131 pg_dumpall.c:658 pg_restore.c:483
 #, c-format
 msgid "  --disable-triggers           disable triggers during data-only restore\n"
 msgstr ""
 "  --disable-triggers           deshabilita los disparadores (triggers) durante el\n"
 "                               restablecimiento de la extracción de sólo-datos\n"
 
-#: pg_dump.c:1096
+#: pg_dump.c:1132
 #, c-format
 msgid ""
 "  --enable-row-security        enable row security (dump only content user has\n"
@@ -1644,7 +1806,13 @@ msgstr ""
 "  --enable-row-security        activa seguridad de filas (volcar sólo el\n"
 "                               contenido al que el usuario tiene acceso)\n"
 
-#: pg_dump.c:1098
+#: pg_dump.c:1134
+#, fuzzy, c-format
+#| msgid "  -e, --extension=PATTERN      dump the specified extension(s) only\n"
+msgid "  --exclude-extension=PATTERN  do NOT dump the specified extension(s)\n"
+msgstr "  -e, --extension=PATRÓN       extrae sólo la o las extensiones nombradas\n"
+
+#: pg_dump.c:1135
 #, c-format
 msgid ""
 "  --exclude-table-and-children=PATTERN\n"
@@ -1655,12 +1823,12 @@ msgstr ""
 "                               NO extrae la o las tablas especificadas,\n"
 "                               incluyendo tablas hijas y particiones\n"
 
-#: pg_dump.c:1101
+#: pg_dump.c:1138
 #, c-format
 msgid "  --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n"
 msgstr "  --exclude-table-data=PATRÓN  NO extrae los datos de la(s) tablas nombradas\n"
 
-#: pg_dump.c:1102
+#: pg_dump.c:1139
 #, c-format
 msgid ""
 "  --exclude-table-data-and-children=PATTERN\n"
@@ -1671,17 +1839,24 @@ msgstr ""
 "                               NO extrae datos para la o las tablas\n"
 "                               especificadas, incluyendo hijas y particiones\n"
 
-#: pg_dump.c:1105 pg_dumpall.c:655
+#: pg_dump.c:1142 pg_dumpall.c:660
 #, c-format
 msgid "  --extra-float-digits=NUM     override default setting for extra_float_digits\n"
 msgstr "  --extra-float-digits=NUM     usa este valor para extra_float_digits\n"
 
-#: pg_dump.c:1106 pg_dumpall.c:656 pg_restore.c:466
+#: pg_dump.c:1143
+#, c-format
+msgid ""
+"  --filter=FILENAME            include or exclude objects and data from dump\n"
+"                               based on expressions in FILENAME\n"
+msgstr ""
+
+#: pg_dump.c:1145 pg_dumpall.c:662 pg_restore.c:487
 #, c-format
 msgid "  --if-exists                  use IF EXISTS when dropping objects\n"
 msgstr "  --if-exists                  usa IF EXISTS al eliminar objetos\n"
 
-#: pg_dump.c:1107
+#: pg_dump.c:1146
 #, c-format
 msgid ""
 "  --include-foreign-data=PATTERN\n"
@@ -1692,93 +1867,93 @@ msgstr ""
 "                               incluye datos de tablas foráneas en servidores\n"
 "                               que coinciden con PATRÓN\n"
 
-#: pg_dump.c:1110 pg_dumpall.c:657
+#: pg_dump.c:1149 pg_dumpall.c:663
 #, c-format
 msgid "  --inserts                    dump data as INSERT commands, rather than COPY\n"
 msgstr "  --inserts                    extrae los datos usando INSERT, en vez de COPY\n"
 
-#: pg_dump.c:1111 pg_dumpall.c:658
+#: pg_dump.c:1150 pg_dumpall.c:664
 #, c-format
 msgid "  --load-via-partition-root    load partitions via the root table\n"
 msgstr "  --load-via-partition-root    cargar particiones a través de tabla raíz\n"
 
-#: pg_dump.c:1112 pg_dumpall.c:659
+#: pg_dump.c:1151 pg_dumpall.c:665
 #, c-format
 msgid "  --no-comments                do not dump comments\n"
 msgstr "  --no-comments                no volcar los comentarios\n"
 
-#: pg_dump.c:1113 pg_dumpall.c:660
+#: pg_dump.c:1152 pg_dumpall.c:666
 #, c-format
 msgid "  --no-publications            do not dump publications\n"
 msgstr "  --no-publications            no volcar las publicaciones\n"
 
-#: pg_dump.c:1114 pg_dumpall.c:662
+#: pg_dump.c:1153 pg_dumpall.c:668
 #, c-format
 msgid "  --no-security-labels         do not dump security label assignments\n"
 msgstr "  --no-security-labels         no volcar asignaciones de etiquetas de seguridad\n"
 
-#: pg_dump.c:1115 pg_dumpall.c:663
+#: pg_dump.c:1154 pg_dumpall.c:669
 #, c-format
 msgid "  --no-subscriptions           do not dump subscriptions\n"
 msgstr "  --no-subscriptions           no volcar las suscripciones\n"
 
-#: pg_dump.c:1116 pg_dumpall.c:665
+#: pg_dump.c:1155 pg_dumpall.c:671
 #, c-format
 msgid "  --no-table-access-method     do not dump table access methods\n"
 msgstr "  --no-table-access-method     no volcar métodos de acceso de tablas\n"
 
-#: pg_dump.c:1117 pg_dumpall.c:666
+#: pg_dump.c:1156 pg_dumpall.c:672
 #, c-format
 msgid "  --no-tablespaces             do not dump tablespace assignments\n"
 msgstr "  --no-tablespaces             no volcar asignaciones de tablespace\n"
 
-#: pg_dump.c:1118 pg_dumpall.c:667
+#: pg_dump.c:1157 pg_dumpall.c:673
 #, c-format
 msgid "  --no-toast-compression       do not dump TOAST compression methods\n"
 msgstr "  --no-toast-compression       no volcar métodos de compresión TOAST\n"
 
-#: pg_dump.c:1119 pg_dumpall.c:668
+#: pg_dump.c:1158 pg_dumpall.c:674
 #, c-format
 msgid "  --no-unlogged-table-data     do not dump unlogged table data\n"
 msgstr "  --no-unlogged-table-data     no volcar datos de tablas unlogged\n"
 
-#: pg_dump.c:1120 pg_dumpall.c:669
+#: pg_dump.c:1159 pg_dumpall.c:675
 #, c-format
 msgid "  --on-conflict-do-nothing     add ON CONFLICT DO NOTHING to INSERT commands\n"
 msgstr "  --on-conflict-do-nothing     agregar ON CONFLICT DO NOTHING a órdenes INSERT\n"
 
-#: pg_dump.c:1121 pg_dumpall.c:670
+#: pg_dump.c:1160 pg_dumpall.c:676
 #, c-format
 msgid "  --quote-all-identifiers      quote all identifiers, even if not key words\n"
 msgstr ""
 "  --quote-all-identifiers      entrecomilla todos los identificadores, incluso\n"
 "                               si no son palabras clave\n"
 
-#: pg_dump.c:1122 pg_dumpall.c:671
+#: pg_dump.c:1161 pg_dumpall.c:677
 #, c-format
 msgid "  --rows-per-insert=NROWS      number of rows per INSERT; implies --inserts\n"
 msgstr "  --rows-per-insert=NUMFILAS   número de filas por INSERT; implica --inserts\n"
 
-#: pg_dump.c:1123
+#: pg_dump.c:1162
 #, c-format
 msgid "  --section=SECTION            dump named section (pre-data, data, or post-data)\n"
 msgstr ""
 "  --section=SECCIÓN            volcar la sección nombrada (pre-data, data,\n"
 "                               post-data)\n"
 
-#: pg_dump.c:1124
+#: pg_dump.c:1163
 #, c-format
 msgid "  --serializable-deferrable    wait until the dump can run without anomalies\n"
 msgstr ""
 "  --serializable-deferrable    espera hasta que el respaldo pueda completarse\n"
 "                               sin anomalías\n"
 
-#: pg_dump.c:1125
+#: pg_dump.c:1164
 #, c-format
 msgid "  --snapshot=SNAPSHOT          use given snapshot for the dump\n"
 msgstr "  --snapshot=SNAPSHOT          use el snapshot dado para la extracción\n"
 
-#: pg_dump.c:1126 pg_restore.c:476
+#: pg_dump.c:1165 pg_restore.c:497
 #, c-format
 msgid ""
 "  --strict-names               require table and/or schema include patterns to\n"
@@ -1787,7 +1962,7 @@ msgstr ""
 "  --strict-names               requerir al menos una coincidencia para cada patrón\n"
 "                               de nombre de tablas y esquemas\n"
 
-#: pg_dump.c:1128
+#: pg_dump.c:1167
 #, c-format
 msgid ""
 "  --table-and-children=PATTERN dump only the specified table(s), including\n"
@@ -1796,7 +1971,7 @@ msgstr ""
 "  --table-and-children=PATRÓN  volcar sólo la o las tablas especificadas,\n"
 "                               incluyendo tablas hijas y particiones\n"
 
-#: pg_dump.c:1130 pg_dumpall.c:672 pg_restore.c:478
+#: pg_dump.c:1169 pg_dumpall.c:678 pg_restore.c:500
 #, c-format
 msgid ""
 "  --use-set-session-authorization\n"
@@ -1807,7 +1982,7 @@ msgstr ""
 "                               usa órdenes SESSION AUTHORIZATION en lugar de\n"
 "                               ALTER OWNER para cambiar los dueño de los objetos\n"
 
-#: pg_dump.c:1134 pg_dumpall.c:676 pg_restore.c:482
+#: pg_dump.c:1173 pg_dumpall.c:682 pg_restore.c:504
 #, c-format
 msgid ""
 "\n"
@@ -1816,46 +1991,46 @@ msgstr ""
 "\n"
 "Opciones de conexión:\n"
 
-#: pg_dump.c:1135
+#: pg_dump.c:1174
 #, c-format
 msgid "  -d, --dbname=DBNAME      database to dump\n"
 msgstr "  -d, --dbname=NOMBRE      nombre de la base de datos que volcar\n"
 
-#: pg_dump.c:1136 pg_dumpall.c:678 pg_restore.c:483
+#: pg_dump.c:1175 pg_dumpall.c:684 pg_restore.c:505
 #, c-format
 msgid "  -h, --host=HOSTNAME      database server host or socket directory\n"
 msgstr ""
 "  -h, --host=ANFITRIÓN     anfitrión de la base de datos o\n"
 "                           directorio del enchufe (socket)\n"
 
-#: pg_dump.c:1137 pg_dumpall.c:680 pg_restore.c:484
+#: pg_dump.c:1176 pg_dumpall.c:686 pg_restore.c:506
 #, c-format
 msgid "  -p, --port=PORT          database server port number\n"
 msgstr "  -p, --port=PUERTO        número del puerto de la base de datos\n"
 
-#: pg_dump.c:1138 pg_dumpall.c:681 pg_restore.c:485
+#: pg_dump.c:1177 pg_dumpall.c:687 pg_restore.c:507
 #, c-format
 msgid "  -U, --username=NAME      connect as specified database user\n"
 msgstr "  -U, --username=USUARIO   nombre de usuario con el cual conectarse\n"
 
-#: pg_dump.c:1139 pg_dumpall.c:682 pg_restore.c:486
+#: pg_dump.c:1178 pg_dumpall.c:688 pg_restore.c:508
 #, c-format
 msgid "  -w, --no-password        never prompt for password\n"
 msgstr "  -w, --no-password        nunca pedir una contraseña\n"
 
-#: pg_dump.c:1140 pg_dumpall.c:683 pg_restore.c:487
+#: pg_dump.c:1179 pg_dumpall.c:689 pg_restore.c:509
 #, c-format
 msgid "  -W, --password           force password prompt (should happen automatically)\n"
 msgstr ""
 "  -W, --password           fuerza un prompt para la contraseña\n"
 "                           (debería ser automático)\n"
 
-#: pg_dump.c:1141 pg_dumpall.c:684
+#: pg_dump.c:1180 pg_dumpall.c:690
 #, c-format
 msgid "  --role=ROLENAME          do SET ROLE before dump\n"
 msgstr "  --role=ROL               ejecuta SET ROLE antes del volcado\n"
 
-#: pg_dump.c:1143
+#: pg_dump.c:1182
 #, c-format
 msgid ""
 "\n"
@@ -1868,530 +2043,543 @@ msgstr ""
 "de la variable de ambiente PGDATABASE.\n"
 "\n"
 
-#: pg_dump.c:1145 pg_dumpall.c:688 pg_restore.c:494
+#: pg_dump.c:1184 pg_dumpall.c:694 pg_restore.c:516
 #, c-format
 msgid "Report bugs to <%s>.\n"
 msgstr "Reporte errores a <%s>.\n"
 
-#: pg_dump.c:1146 pg_dumpall.c:689 pg_restore.c:495
+#: pg_dump.c:1185 pg_dumpall.c:695 pg_restore.c:517
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sitio web de %s: <%s>\n"
 
-#: pg_dump.c:1165 pg_dumpall.c:513
+#: pg_dump.c:1204 pg_dumpall.c:518
 #, c-format
 msgid "invalid client encoding \"%s\" specified"
 msgstr "la codificación de cliente especificada «%s» no es válida"
 
-#: pg_dump.c:1303
+#: pg_dump.c:1344
 #, c-format
 msgid "parallel dumps from standby servers are not supported by this server version"
 msgstr "Los volcados en paralelo desde servidores standby no están soportados por esta versión de servidor."
 
-#: pg_dump.c:1368
+#: pg_dump.c:1409
 #, c-format
 msgid "invalid output format \"%s\" specified"
 msgstr "el formato de salida especificado «%s» no es válido"
 
-#: pg_dump.c:1409 pg_dump.c:1465 pg_dump.c:1518 pg_dumpall.c:1449
+#: pg_dump.c:1450 pg_dump.c:1506 pg_dump.c:1559 pg_dumpall.c:1467
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "el nombre no es válido (demasiados puntos): %s"
 
-#: pg_dump.c:1417
+#: pg_dump.c:1458
 #, c-format
 msgid "no matching schemas were found for pattern \"%s\""
 msgstr "no se encontraron esquemas coincidentes para el patrón «%s»"
 
-#: pg_dump.c:1470
+#: pg_dump.c:1511
 #, c-format
 msgid "no matching extensions were found for pattern \"%s\""
 msgstr "no se encontraron extensiones coincidentes para el patrón «%s»"
 
-#: pg_dump.c:1523
+#: pg_dump.c:1564
 #, c-format
 msgid "no matching foreign servers were found for pattern \"%s\""
 msgstr "no se encontraron servidores foráneos coincidentes para el patrón «%s»"
 
-#: pg_dump.c:1594
+#: pg_dump.c:1635
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "el nombre de relación no es válido (demasiados puntos): %s"
 
-#: pg_dump.c:1616
+#: pg_dump.c:1657
 #, c-format
 msgid "no matching tables were found for pattern \"%s\""
 msgstr "no se encontraron tablas coincidentes para el patrón «%s»"
 
-#: pg_dump.c:1643
+#: pg_dump.c:1684
 #, c-format
 msgid "You are currently not connected to a database."
 msgstr "No está conectado a una base de datos."
 
-#: pg_dump.c:1646
+#: pg_dump.c:1687
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "no están implementadas las referencias entre bases de datos: %s"
 
-#: pg_dump.c:2077
+#: pg_dump.c:2146
 #, c-format
 msgid "dumping contents of table \"%s.%s\""
 msgstr "extrayendo el contenido de la tabla «%s.%s»"
 
-#: pg_dump.c:2183
+#: pg_dump.c:2252
 #, c-format
 msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed."
 msgstr "Falló la extracción del contenido de la tabla «%s»: PQgetCopyData() falló."
 
-#: pg_dump.c:2184 pg_dump.c:2194
+#: pg_dump.c:2253 pg_dump.c:2263
 #, c-format
 msgid "Error message from server: %s"
 msgstr "Mensaje de error del servidor: %s"
 
-#: pg_dump.c:2185 pg_dump.c:2195
+#: pg_dump.c:2254 pg_dump.c:2264
 #, c-format
 msgid "Command was: %s"
 msgstr "La orden era: % s"
 
-#: pg_dump.c:2193
+#: pg_dump.c:2262
 #, c-format
 msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed."
 msgstr "Falló la extracción del contenido de la tabla «%s»: PQgetResult() falló."
 
-#: pg_dump.c:2275
+#: pg_dump.c:2344
 #, c-format
 msgid "wrong number of fields retrieved from table \"%s\""
 msgstr "se obtuvo un número incorrecto de campos de la tabla «%s»"
 
-#: pg_dump.c:2973
+#: pg_dump.c:3042
 #, c-format
 msgid "saving database definition"
 msgstr "salvando las definiciones de la base de datos"
 
-#: pg_dump.c:3078
+#: pg_dump.c:3151
 #, c-format
 msgid "unrecognized locale provider: %s"
 msgstr "proveedor de configuración regional no reconocido: %s"
 
-#: pg_dump.c:3429
+#: pg_dump.c:3512
 #, c-format
 msgid "saving encoding = %s"
 msgstr "salvando codificaciones = %s"
 
-#: pg_dump.c:3454
-#, c-format
-msgid "saving standard_conforming_strings = %s"
+#: pg_dump.c:3537
+#, fuzzy, c-format
+#| msgid "saving standard_conforming_strings = %s"
+msgid "saving \"standard_conforming_strings = %s\""
 msgstr "salvando standard_conforming_strings = %s"
 
-#: pg_dump.c:3493
+#: pg_dump.c:3576
 #, c-format
 msgid "could not parse result of current_schemas()"
 msgstr "no se pudo interpretar la salida de current_schemas()"
 
-#: pg_dump.c:3512
-#, c-format
-msgid "saving search_path = %s"
+#: pg_dump.c:3595
+#, fuzzy, c-format
+#| msgid "saving search_path = %s"
+msgid "saving \"search_path = %s\""
 msgstr "salvando search_path = %s"
 
-#: pg_dump.c:3549
+#: pg_dump.c:3631
 #, c-format
 msgid "reading large objects"
 msgstr "leyendo objetos grandes"
 
-#: pg_dump.c:3687
-#, c-format
-msgid "saving large objects"
+#: pg_dump.c:3852
+#, fuzzy, c-format
+#| msgid "saving large objects"
+msgid "saving large objects \"%s\""
 msgstr "salvando objetos grandes"
 
-#: pg_dump.c:3728
+#: pg_dump.c:3873
 #, c-format
 msgid "error reading large object %u: %s"
 msgstr "error al leer el objeto grande %u: %s"
 
-#: pg_dump.c:3834
+#: pg_dump.c:3976
 #, c-format
 msgid "reading row-level security policies"
 msgstr "leyendo políticas de seguridad a nivel de registros"
 
-#: pg_dump.c:3975
+#: pg_dump.c:4117
 #, c-format
 msgid "unexpected policy command type: %c"
 msgstr "tipo de orden inesperada en política: %c"
 
-#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11984 pg_dump.c:17894
-#: pg_dump.c:17896 pg_dump.c:18517
+#: pg_dump.c:4567 pg_dump.c:5103 pg_dump.c:12315 pg_dump.c:18199
+#: pg_dump.c:18201 pg_dump.c:18823
 #, c-format
 msgid "could not parse %s array"
 msgstr "no se pudo interpretar el arreglo %s"
 
-#: pg_dump.c:4613
+#: pg_dump.c:4759
 #, c-format
 msgid "subscriptions not dumped because current user is not a superuser"
 msgstr "no se volcaron las suscripciones porque el usuario actual no es un superusuario"
 
-#: pg_dump.c:5149
+#: pg_dump.c:4965
+#, c-format
+msgid "subscription with OID %u does not exist"
+msgstr "no existe la suscripción con OID %u"
+
+#: pg_dump.c:4972
+#, fuzzy, c-format
+#| msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found"
+msgid "failed sanity check, table with OID %u not found"
+msgstr "falló la revisión de integridad, el OID %u del padre de la tabla «%s» (OID %u) no se encontró"
+
+#: pg_dump.c:5535
 #, c-format
 msgid "could not find parent extension for %s %s"
 msgstr "no se pudo encontrar la extensión padre para %s %s"
 
-#: pg_dump.c:5294
+#: pg_dump.c:5680
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "no existe el esquema con OID %u"
 
-#: pg_dump.c:6776 pg_dump.c:17158
+#: pg_dump.c:7162 pg_dump.c:17570
 #, c-format
 msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found"
 msgstr "falló la revisión de integridad, no se encontró la tabla padre con OID %u de la secuencia con OID %u"
 
-#: pg_dump.c:6919
+#: pg_dump.c:7305
 #, c-format
 msgid "failed sanity check, table OID %u appearing in pg_partitioned_table not found"
 msgstr "falló la revisión de integridad, el OID %u que aparece en pg_partitioned_table no se encontró"
 
-#: pg_dump.c:7150 pg_dump.c:7417 pg_dump.c:7888 pg_dump.c:8552 pg_dump.c:8671
-#: pg_dump.c:8819
+#: pg_dump.c:7536 pg_dump.c:7810 pg_dump.c:8257 pg_dump.c:8871 pg_dump.c:8993
+#: pg_dump.c:9141
 #, c-format
 msgid "unrecognized table OID %u"
 msgstr "OID de tabla %u no reconocido"
 
-#: pg_dump.c:7154
+#: pg_dump.c:7540
 #, c-format
 msgid "unexpected index data for table \"%s\""
 msgstr "datos de índice inesperados para la tabla «%s»"
 
-#: pg_dump.c:7649
+#: pg_dump.c:8042
 #, c-format
 msgid "failed sanity check, parent table with OID %u of pg_rewrite entry with OID %u not found"
 msgstr "falló la revisión de integridad, no se encontró la tabla padre con OID %u del elemento con OID %u de pg_rewrite"
 
-#: pg_dump.c:7940
-#, c-format
-msgid "query produced null referenced table name for foreign key trigger \"%s\" on table \"%s\" (OID of table: %u)"
-msgstr "la consulta produjo un nombre de tabla nulo para la llave foránea del disparador \"%s\" en la tabla «%s» (OID de la tabla: %u)"
-
-#: pg_dump.c:8556
+#: pg_dump.c:8875
 #, c-format
 msgid "unexpected column data for table \"%s\""
 msgstr "información de columnas para la tabla «%s» inesperada"
 
-#: pg_dump.c:8585
+#: pg_dump.c:8904
 #, c-format
 msgid "invalid column numbering in table \"%s\""
 msgstr "numeración de columnas no válida en la tabla «%s»"
 
-#: pg_dump.c:8633
+#: pg_dump.c:8955
 #, c-format
 msgid "finding table default expressions"
 msgstr "encontrando expresiones default de tablas"
 
-#: pg_dump.c:8675
+#: pg_dump.c:8997
 #, c-format
 msgid "invalid adnum value %d for table \"%s\""
 msgstr "el valor de adnum %d para la tabla «%s» no es válido"
 
-#: pg_dump.c:8769
+#: pg_dump.c:9091
 #, c-format
 msgid "finding table check constraints"
 msgstr "encontrando restricciones CHECK de tablas"
 
-#: pg_dump.c:8823
+#: pg_dump.c:9145
 #, c-format
 msgid "expected %d check constraint on table \"%s\" but found %d"
 msgid_plural "expected %d check constraints on table \"%s\" but found %d"
 msgstr[0] "se esperaban %d restricciones CHECK en la tabla «%s» pero se encontraron %d"
 msgstr[1] "se esperaban %d restricciones CHECK en la tabla «%s» pero se encontraron %d"
 
-#: pg_dump.c:8827
+#: pg_dump.c:9149
 #, c-format
 msgid "The system catalogs might be corrupted."
 msgstr "Los catálogos del sistema podrían estar corruptos."
 
-#: pg_dump.c:9517
+#: pg_dump.c:9839
 #, c-format
 msgid "role with OID %u does not exist"
 msgstr "no existe el rol con OID %u"
 
-#: pg_dump.c:9629 pg_dump.c:9658
+#: pg_dump.c:9951 pg_dump.c:9980
 #, c-format
 msgid "unsupported pg_init_privs entry: %u %u %d"
 msgstr "entrada en pg_init_privs no soportada: %u %u %d"
 
-#: pg_dump.c:10479
+#: pg_dump.c:10527
+#, fuzzy, c-format
+#| msgid "permission denied for large object %s"
+msgid "missing metadata for large objects \"%s\""
+msgstr "permiso denegado al objeto grande %s"
+
+#: pg_dump.c:10810
 #, c-format
 msgid "typtype of data type \"%s\" appears to be invalid"
 msgstr "el typtype del tipo «%s» parece no ser válido"
 
-#: pg_dump.c:12053
+#: pg_dump.c:12384
 #, c-format
 msgid "unrecognized provolatile value for function \"%s\""
 msgstr "el valor del atributo «provolatile» para la función «%s» es desconocido"
 
-#: pg_dump.c:12103 pg_dump.c:13985
+#: pg_dump.c:12434 pg_dump.c:14330
 #, c-format
 msgid "unrecognized proparallel value for function \"%s\""
 msgstr "el valor del atributo «proparallel» para la función «%s» es desconocido"
 
-#: pg_dump.c:12233 pg_dump.c:12339 pg_dump.c:12346
+#: pg_dump.c:12564 pg_dump.c:12670 pg_dump.c:12677
 #, c-format
 msgid "could not find function definition for function with OID %u"
 msgstr "no se encontró la definición de la función con OID %u"
 
-#: pg_dump.c:12272
+#: pg_dump.c:12603
 #, c-format
 msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field"
 msgstr "valor no válido en los campos pg_cast.castfunc o pg_cast.castmethod"
 
-#: pg_dump.c:12275
+#: pg_dump.c:12606
 #, c-format
 msgid "bogus value in pg_cast.castmethod field"
 msgstr "valor no válido en el campo pg_cast.castmethod"
 
-#: pg_dump.c:12365
+#: pg_dump.c:12696
 #, c-format
 msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero"
 msgstr "definición errónea de transformación; al menos uno de trffromsql y trftosql debe ser distinto de cero"
 
-#: pg_dump.c:12382
+#: pg_dump.c:12713
 #, c-format
 msgid "bogus value in pg_transform.trffromsql field"
 msgstr "valor erróneo en el campo pg_transform.trffromsql"
 
-#: pg_dump.c:12403
+#: pg_dump.c:12734
 #, c-format
 msgid "bogus value in pg_transform.trftosql field"
 msgstr "valor erróneo en el campo pg_transform.trftosql"
 
-#: pg_dump.c:12548
+#: pg_dump.c:12879
 #, c-format
 msgid "postfix operators are not supported anymore (operator \"%s\")"
 msgstr "los operadores postfix ya no están soportados (operador «%s»)"
 
-#: pg_dump.c:12718
+#: pg_dump.c:13049
 #, c-format
 msgid "could not find operator with OID %s"
 msgstr "no se pudo encontrar el operador con OID %s"
 
-#: pg_dump.c:12786
+#: pg_dump.c:13117
 #, c-format
 msgid "invalid type \"%c\" of access method \"%s\""
 msgstr "el tipo «%c» para el método de acceso «%s» no es válido"
 
-#: pg_dump.c:13455 pg_dump.c:13514
+#: pg_dump.c:13791 pg_dump.c:13859
 #, c-format
 msgid "unrecognized collation provider: %s"
 msgstr "proveedor de ordenamiento no reconocido: %s"
 
-#: pg_dump.c:13464 pg_dump.c:13473 pg_dump.c:13483 pg_dump.c:13498
+#: pg_dump.c:13800 pg_dump.c:13807 pg_dump.c:13818 pg_dump.c:13828
+#: pg_dump.c:13843
 #, c-format
 msgid "invalid collation \"%s\""
 msgstr "ordenamiento \"%s\" no válido"
 
-#: pg_dump.c:13904
+#: pg_dump.c:14249
 #, c-format
 msgid "unrecognized aggfinalmodify value for aggregate \"%s\""
 msgstr "valor de aggfinalmodify no reconocido para la agregación «%s»"
 
-#: pg_dump.c:13960
+#: pg_dump.c:14305
 #, c-format
 msgid "unrecognized aggmfinalmodify value for aggregate \"%s\""
 msgstr "valor de aggmfinalmodify no reconocido para la agregación «%s»"
 
-#: pg_dump.c:14677
+#: pg_dump.c:15022
 #, c-format
 msgid "unrecognized object type in default privileges: %d"
 msgstr "tipo de objeto desconocido en privilegios por omisión: %d"
 
-#: pg_dump.c:14693
+#: pg_dump.c:15038
 #, c-format
 msgid "could not parse default ACL list (%s)"
 msgstr "no se pudo interpretar la lista de ACL (%s)"
 
-#: pg_dump.c:14775
+#: pg_dump.c:15122
 #, c-format
 msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)"
 msgstr "no se pudo interpretar la lista ACL inicial (%s) o por defecto (%s) para el objeto «%s» (%s)"
 
-#: pg_dump.c:14800
+#: pg_dump.c:15147
 #, c-format
 msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)"
 msgstr "no se pudo interpretar la lista de ACL (%s) o por defecto (%s) para el objeto «%s» (%s)"
 
-#: pg_dump.c:15341
+#: pg_dump.c:15690
 #, c-format
 msgid "query to obtain definition of view \"%s\" returned no data"
 msgstr "la consulta para obtener la definición de la vista «%s» no regresó datos"
 
-#: pg_dump.c:15344
+#: pg_dump.c:15693
 #, c-format
 msgid "query to obtain definition of view \"%s\" returned more than one definition"
 msgstr "la consulta para obtener la definición de la vista «%s» regresó más de una definición"
 
-#: pg_dump.c:15351
+#: pg_dump.c:15700
 #, c-format
 msgid "definition of view \"%s\" appears to be empty (length zero)"
 msgstr "la definición de la vista «%s» parece estar vacía (tamaño cero)"
 
-#: pg_dump.c:15435
+#: pg_dump.c:15785
 #, c-format
 msgid "WITH OIDS is not supported anymore (table \"%s\")"
 msgstr "WITH OIDS ya no está soportado (tabla «%s»)"
 
-#: pg_dump.c:16359
+#: pg_dump.c:16772
 #, c-format
 msgid "invalid column number %d for table \"%s\""
 msgstr "el número de columna %d no es válido para la tabla «%s»"
 
-#: pg_dump.c:16437
+#: pg_dump.c:16850
 #, c-format
 msgid "could not parse index statistic columns"
 msgstr "no se pudieron interpretar columnas de estadísticas de índices"
 
-#: pg_dump.c:16439
+#: pg_dump.c:16852
 #, c-format
 msgid "could not parse index statistic values"
 msgstr "no se pudieron interpretar valores de estadísticas de índices"
 
-#: pg_dump.c:16441
+#: pg_dump.c:16854
 #, c-format
 msgid "mismatched number of columns and values for index statistics"
 msgstr "no coincide el número de columnas con el de valores para estadísticas de índices"
 
-#: pg_dump.c:16657
+#: pg_dump.c:17069
 #, c-format
 msgid "missing index for constraint \"%s\""
 msgstr "falta un índice para restricción «%s»"
 
-#: pg_dump.c:16892
+#: pg_dump.c:17304
 #, c-format
 msgid "unrecognized constraint type: %c"
 msgstr "tipo de restricción inesperado: %c"
 
-#: pg_dump.c:16993 pg_dump.c:17222
+#: pg_dump.c:17405 pg_dump.c:17634
 #, c-format
 msgid "query to get data of sequence \"%s\" returned %d row (expected 1)"
 msgid_plural "query to get data of sequence \"%s\" returned %d rows (expected 1)"
 msgstr[0] "la consulta para obtener los datos de la secuencia «%s» regresó %d entrada, pero se esperaba 1"
 msgstr[1] "la consulta para obtener los datos de la secuencia «%s» regresó %d entradas, pero se esperaba 1"
 
-#: pg_dump.c:17025
+#: pg_dump.c:17437
 #, c-format
 msgid "unrecognized sequence type: %s"
 msgstr "tipo no reconocido de secuencia: %s"
 
-#: pg_dump.c:17314
-#, c-format
-msgid "unexpected tgtype value: %d"
-msgstr "tgtype no esperado: %d"
-
-#: pg_dump.c:17386
-#, c-format
-msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\""
-msgstr "argumento de cadena (%s) no válido para el disparador (trigger) «%s» en la tabla «%s»"
-
-#: pg_dump.c:17655
+#: pg_dump.c:17951
 #, c-format
 msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned"
 msgstr "la consulta para obtener la regla «%s» asociada con la tabla «%s» falló: retornó un número incorrecto de renglones"
 
-#: pg_dump.c:17808
+#: pg_dump.c:18104
 #, c-format
 msgid "could not find referenced extension %u"
 msgstr "no se pudo encontrar la extensión referenciada %u"
 
-#: pg_dump.c:17898
+#: pg_dump.c:18203
 #, c-format
 msgid "mismatched number of configurations and conditions for extension"
 msgstr "no coincide el número de configuraciones con el de condiciones para extensión"
 
-#: pg_dump.c:18030
+#: pg_dump.c:18335
 #, c-format
 msgid "reading dependency data"
 msgstr "obteniendo datos de dependencias"
 
-#: pg_dump.c:18116
+#: pg_dump.c:18421
 #, c-format
 msgid "no referencing object %u %u"
 msgstr "no existe el objeto referenciante %u %u"
 
-#: pg_dump.c:18127
+#: pg_dump.c:18432
 #, c-format
 msgid "no referenced object %u %u"
 msgstr "no existe el objeto referenciado %u %u"
 
-#: pg_dump_sort.c:422
+#: pg_dump.c:18857 pg_dump.c:18895 pg_dumpall.c:1962 pg_restore.c:551
+#: pg_restore.c:597
+#, fuzzy, c-format
+#| msgid "access to library \"%s\" is not allowed"
+msgid "%s filter for \"%s\" is not allowed"
+msgstr "no está permitido el acceso a la biblioteca «%s»"
+
+#: pg_dump_sort.c:424
 #, c-format
 msgid "invalid dumpId %d"
 msgstr "dumpId %d no válido"
 
-#: pg_dump_sort.c:428
+#: pg_dump_sort.c:430
 #, c-format
 msgid "invalid dependency %d"
 msgstr "dependencia %d no válida"
 
-#: pg_dump_sort.c:661
+#: pg_dump_sort.c:594
 #, c-format
 msgid "could not identify dependency loop"
 msgstr "no se pudo identificar bucle de dependencia"
 
-#: pg_dump_sort.c:1276
+#: pg_dump_sort.c:1209
 #, c-format
 msgid "there are circular foreign-key constraints on this table:"
 msgid_plural "there are circular foreign-key constraints among these tables:"
 msgstr[0] "hay restricciones de llave foránea circulares en la siguiente tabla:"
 msgstr[1] "hay restricciones de llave foránea circulares entre las siguientes tablas:"
 
-#: pg_dump_sort.c:1281
+#: pg_dump_sort.c:1214
 #, c-format
 msgid "You might not be able to restore the dump without using --disable-triggers or temporarily dropping the constraints."
 msgstr "Puede no ser capaz de restaurar el respaldo sin usar --disable-triggers o temporalmente eliminar las restricciones."
 
-#: pg_dump_sort.c:1282
+#: pg_dump_sort.c:1215
 #, c-format
 msgid "Consider using a full dump instead of a --data-only dump to avoid this problem."
 msgstr "Considere usar un volcado completo en lugar de --data-only para evitar este problema."
 
-#: pg_dump_sort.c:1294
+#: pg_dump_sort.c:1227
 #, c-format
 msgid "could not resolve dependency loop among these items:"
 msgstr "no se pudo resolver el bucle de dependencias entre los siguientes elementos:"
 
-#: pg_dumpall.c:230
+#: pg_dumpall.c:231
 #, c-format
 msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\""
 msgstr "el programa «%s» es requerido por %s, pero no fue encontrado en el mismo directorio que «%s»"
 
-#: pg_dumpall.c:233
+#: pg_dumpall.c:234
 #, c-format
 msgid "program \"%s\" was found by \"%s\" but was not the same version as %s"
 msgstr "el programa «%s» fue encontrado por «%s», pero no es de la misma versión que %s"
 
-#: pg_dumpall.c:382
+#: pg_dumpall.c:387
 #, c-format
 msgid "option --exclude-database cannot be used together with -g/--globals-only, -r/--roles-only, or -t/--tablespaces-only"
 msgstr "la opción --exclude-database no puede ser usada junto con -g/--globals-only, -r/--roles-only o -t/--tablespaces-only"
 
-#: pg_dumpall.c:390
+#: pg_dumpall.c:395
 #, c-format
 msgid "options -g/--globals-only and -r/--roles-only cannot be used together"
 msgstr "las opciones -g/--globals-only y -r/--roles-only no pueden usarse juntas"
 
-#: pg_dumpall.c:397
+#: pg_dumpall.c:402
 #, c-format
 msgid "options -g/--globals-only and -t/--tablespaces-only cannot be used together"
 msgstr "las opciones -g/--globals-only y -t/--tablespaces-only no pueden usarse juntas"
 
-#: pg_dumpall.c:407
+#: pg_dumpall.c:412
 #, c-format
 msgid "options -r/--roles-only and -t/--tablespaces-only cannot be used together"
 msgstr "las opciones -r/--roles-only y -t/--tablespaces-only no pueden usarse juntas"
 
-#: pg_dumpall.c:469 pg_dumpall.c:1750
+#: pg_dumpall.c:474 pg_dumpall.c:1771
 #, c-format
 msgid "could not connect to database \"%s\""
 msgstr "no se pudo establecer la conexión a la base de datos «%s»"
 
-#: pg_dumpall.c:481
+#: pg_dumpall.c:486
 #, c-format
 msgid ""
 "could not connect to databases \"postgres\" or \"template1\"\n"
@@ -2400,7 +2588,7 @@ msgstr ""
 "no se pudo establecer la conexión a las bases de datos «postgres» o\n"
 "«template1».  Por favor especifique una base de datos para conectarse."
 
-#: pg_dumpall.c:629
+#: pg_dumpall.c:634
 #, c-format
 msgid ""
 "%s extracts a PostgreSQL database cluster into an SQL script file.\n"
@@ -2410,73 +2598,79 @@ msgstr ""
 "guión (script) SQL.\n"
 "\n"
 
-#: pg_dumpall.c:631
+#: pg_dumpall.c:636
 #, c-format
 msgid "  %s [OPTION]...\n"
 msgstr "  %s [OPCIÓN]...\n"
 
-#: pg_dumpall.c:634
+#: pg_dumpall.c:639
 #, c-format
 msgid "  -f, --file=FILENAME          output file name\n"
 msgstr "  -f, --file=ARCHIVO       nombre del archivo de salida\n"
 
-#: pg_dumpall.c:641
+#: pg_dumpall.c:646
 #, c-format
 msgid "  -c, --clean                  clean (drop) databases before recreating\n"
 msgstr "  -c, --clean              tira (drop) la base de datos antes de crearla\n"
 
-#: pg_dumpall.c:643
+#: pg_dumpall.c:648
 #, c-format
 msgid "  -g, --globals-only           dump only global objects, no databases\n"
 msgstr "  -g, --globals-only       extrae sólo los objetos globales, no bases de datos\n"
 
-#: pg_dumpall.c:644 pg_restore.c:456
+#: pg_dumpall.c:649 pg_restore.c:475
 #, c-format
 msgid "  -O, --no-owner               skip restoration of object ownership\n"
 msgstr "  -O, --no-owner           no reestablece los dueños de los objetos\n"
 
-#: pg_dumpall.c:645
+#: pg_dumpall.c:650
 #, c-format
 msgid "  -r, --roles-only             dump only roles, no databases or tablespaces\n"
 msgstr ""
 "  -r, --roles-only         extrae sólo los roles, no bases de datos\n"
 "                           ni tablespaces\n"
 
-#: pg_dumpall.c:647
+#: pg_dumpall.c:652
 #, c-format
 msgid "  -S, --superuser=NAME         superuser user name to use in the dump\n"
 msgstr ""
 "  -S, --superuser=NAME     especifica el nombre del superusuario a usar en\n"
 "                           el volcado\n"
 
-#: pg_dumpall.c:648
+#: pg_dumpall.c:653
 #, c-format
 msgid "  -t, --tablespaces-only       dump only tablespaces, no databases or roles\n"
 msgstr ""
 "  -t, --tablespaces-only   extrae sólo los tablespaces, no bases de datos\n"
 "                           ni roles\n"
 
-#: pg_dumpall.c:654
+#: pg_dumpall.c:659
 #, c-format
 msgid "  --exclude-database=PATTERN   exclude databases whose name matches PATTERN\n"
 msgstr "  --exclude-database=PATRÓN excluir bases de datos cuyos nombres coinciden con el patrón\n"
 
 #: pg_dumpall.c:661
+#, fuzzy, c-format
+#| msgid "  -f, --file=FILENAME          output file name\n"
+msgid "  --filter=FILENAME            exclude databases specified in FILENAME\n"
+msgstr "  -f, --file=ARCHIVO       nombre del archivo de salida\n"
+
+#: pg_dumpall.c:667
 #, c-format
 msgid "  --no-role-passwords          do not dump passwords for roles\n"
 msgstr "  --no-role-passwords      no extraer contraseñas para roles\n"
 
-#: pg_dumpall.c:677
+#: pg_dumpall.c:683
 #, c-format
 msgid "  -d, --dbname=CONNSTR     connect using connection string\n"
 msgstr "  -d, --dbname=CONNSTR     conectar usando la cadena de conexión\n"
 
-#: pg_dumpall.c:679
+#: pg_dumpall.c:685
 #, c-format
 msgid "  -l, --database=DBNAME    alternative default database\n"
 msgstr "  -l, --database=NOMBRE    especifica la base de datos a la cual conectarse\n"
 
-#: pg_dumpall.c:686
+#: pg_dumpall.c:692
 #, c-format
 msgid ""
 "\n"
@@ -2488,97 +2682,109 @@ msgstr ""
 "Si no se usa -f/--file, el volcado de SQL será escrito a la salida estándar.\n"
 "\n"
 
-#: pg_dumpall.c:828
+#: pg_dumpall.c:837
 #, c-format
 msgid "role name starting with \"pg_\" skipped (%s)"
 msgstr "omitido nombre de rol que empieza con «pg_» (%s)"
 
-#: pg_dumpall.c:1050
+#: pg_dumpall.c:1059
 #, c-format
 msgid "could not find a legal dump ordering for memberships in role \"%s\""
 msgstr "no se pudo encontrar un orden legal para membresías del rol «%s»"
 
-#: pg_dumpall.c:1185
+#: pg_dumpall.c:1194
 #, c-format
 msgid "could not parse ACL list (%s) for parameter \"%s\""
 msgstr "no se pudo interpretar la lista de control de acceso (%s) del parámetro «%s»"
 
-#: pg_dumpall.c:1303
+#: pg_dumpall.c:1321
 #, c-format
 msgid "could not parse ACL list (%s) for tablespace \"%s\""
 msgstr "no se pudo interpretar la lista de control de acceso (%s) del tablespace «%s»"
 
-#: pg_dumpall.c:1510
+#: pg_dumpall.c:1528
 #, c-format
 msgid "excluding database \"%s\""
 msgstr "excluyendo base de datos «%s»"
 
-#: pg_dumpall.c:1514
+#: pg_dumpall.c:1532
 #, c-format
 msgid "dumping database \"%s\""
 msgstr "extrayendo base de datos «%s»"
 
-#: pg_dumpall.c:1545
+#: pg_dumpall.c:1563
 #, c-format
 msgid "pg_dump failed on database \"%s\", exiting"
 msgstr "pg_dump falló en la base de datos «%s», saliendo"
 
-#: pg_dumpall.c:1551
+#: pg_dumpall.c:1569
 #, c-format
 msgid "could not re-open the output file \"%s\": %m"
 msgstr "no se pudo reabrir el archivo de salida «%s»: %m"
 
-#: pg_dumpall.c:1592
+#: pg_dumpall.c:1613
 #, c-format
 msgid "running \"%s\""
 msgstr "ejecutando «%s»"
 
-#: pg_dumpall.c:1793
+#: pg_dumpall.c:1814
 #, c-format
 msgid "could not get server version"
 msgstr "no se pudo obtener la versión del servidor"
 
-#: pg_dumpall.c:1796
+#: pg_dumpall.c:1817
 #, c-format
 msgid "could not parse server version \"%s\""
 msgstr "no se pudo interpretar la versión del servidor «%s»"
 
-#: pg_dumpall.c:1866 pg_dumpall.c:1889
+#: pg_dumpall.c:1887 pg_dumpall.c:1910
 #, c-format
 msgid "executing %s"
 msgstr "ejecutando %s"
 
-#: pg_restore.c:313
+#: pg_dumpall.c:1982
+#, fuzzy
+#| msgid "unsupported object type \"%s\""
+msgid "unsupported filter object"
+msgstr "tipo de objeto «%s» no soportado"
+
+#: pg_restore.c:329
 #, c-format
 msgid "one of -d/--dbname and -f/--file must be specified"
 msgstr "una de las opciones -d/--dbname y -f/--file debe especificarse"
 
-#: pg_restore.c:320
+#: pg_restore.c:336
 #, c-format
 msgid "options -d/--dbname and -f/--file cannot be used together"
 msgstr "las opciones -d/--dbname y -f/--file no pueden usarse juntas"
 
-#: pg_restore.c:338
+#: pg_restore.c:350
+#, fuzzy, c-format
+#| msgid "options -C/--create and -1/--single-transaction cannot be used together"
+msgid "options -1/--single-transaction and --transaction-size cannot be used together"
+msgstr "las opciones -c/--clean y -1/--single-transaction no pueden usarse juntas"
+
+#: pg_restore.c:357
 #, c-format
 msgid "options -C/--create and -1/--single-transaction cannot be used together"
 msgstr "las opciones -c/--clean y -1/--single-transaction no pueden usarse juntas"
 
-#: pg_restore.c:342
+#: pg_restore.c:361
 #, c-format
 msgid "cannot specify both --single-transaction and multiple jobs"
 msgstr "no se puede especificar --single-transaction junto con múltiples tareas"
 
-#: pg_restore.c:380
+#: pg_restore.c:399
 #, c-format
 msgid "unrecognized archive format \"%s\"; please specify \"c\", \"d\", or \"t\""
 msgstr "formato de archivo «%s» no reconocido; por favor especifique «c», «d» o «t»"
 
-#: pg_restore.c:419
+#: pg_restore.c:438
 #, c-format
 msgid "errors ignored on restore: %d"
 msgstr "errores ignorados durante la recuperación: %d"
 
-#: pg_restore.c:432
+#: pg_restore.c:451
 #, c-format
 msgid ""
 "%s restores a PostgreSQL database from an archive created by pg_dump.\n"
@@ -2588,49 +2794,49 @@ msgstr ""
 "creado por pg_dump.\n"
 "\n"
 
-#: pg_restore.c:434
+#: pg_restore.c:453
 #, c-format
 msgid "  %s [OPTION]... [FILE]\n"
 msgstr "  %s [OPCIÓN]... [ARCHIVO]\n"
 
-#: pg_restore.c:437
+#: pg_restore.c:456
 #, c-format
 msgid "  -d, --dbname=NAME        connect to database name\n"
 msgstr "  -d, --dbname=NOMBRE      nombre de la base de datos a la que conectarse\n"
 
-#: pg_restore.c:438
+#: pg_restore.c:457
 #, c-format
 msgid "  -f, --file=FILENAME      output file name (- for stdout)\n"
 msgstr "  -f, --file=ARCHIVO       nombre del archivo de salida (- para stdout)\n"
 
-#: pg_restore.c:439
+#: pg_restore.c:458
 #, c-format
 msgid "  -F, --format=c|d|t       backup file format (should be automatic)\n"
 msgstr "  -F, --format=c|d|t       formato del volcado (debería ser automático)\n"
 
-#: pg_restore.c:440
+#: pg_restore.c:459
 #, c-format
 msgid "  -l, --list               print summarized TOC of the archive\n"
 msgstr ""
 "  -l, --list               imprime una tabla resumida de contenidos\n"
 "                           del archivador\n"
 
-#: pg_restore.c:441
+#: pg_restore.c:460
 #, c-format
 msgid "  -v, --verbose            verbose mode\n"
 msgstr "  -v, --verbose            modo verboso\n"
 
-#: pg_restore.c:442
+#: pg_restore.c:461
 #, c-format
 msgid "  -V, --version            output version information, then exit\n"
 msgstr "  -V, --version            mostrar información de versión y salir\n"
 
-#: pg_restore.c:443
+#: pg_restore.c:462
 #, c-format
 msgid "  -?, --help               show this help, then exit\n"
 msgstr "  -?, --help               mostrar esta ayuda y salir\n"
 
-#: pg_restore.c:445
+#: pg_restore.c:464
 #, c-format
 msgid ""
 "\n"
@@ -2639,34 +2845,34 @@ msgstr ""
 "\n"
 "Opciones que controlan la recuperación:\n"
 
-#: pg_restore.c:446
+#: pg_restore.c:465
 #, c-format
 msgid "  -a, --data-only              restore only the data, no schema\n"
 msgstr "  -a, --data-only              reestablece sólo los datos, no el esquema\n"
 
-#: pg_restore.c:448
+#: pg_restore.c:467
 #, c-format
 msgid "  -C, --create                 create the target database\n"
 msgstr "  -C, --create                 crea la base de datos de destino\n"
 
-#: pg_restore.c:449
+#: pg_restore.c:468
 #, c-format
 msgid "  -e, --exit-on-error          exit on error, default is to continue\n"
 msgstr ""
 "  -e, --exit-on-error          abandonar al encontrar un error\n"
 "                               por omisión, se continúa la restauración\n"
 
-#: pg_restore.c:450
+#: pg_restore.c:469
 #, c-format
 msgid "  -I, --index=NAME             restore named index\n"
 msgstr "  -I, --index=NOMBRE           reestablece el índice nombrado\n"
 
-#: pg_restore.c:451
+#: pg_restore.c:470
 #, c-format
 msgid "  -j, --jobs=NUM               use this many parallel jobs to restore\n"
 msgstr "  -j, --jobs=NUM               máximo de procesos paralelos para restaurar\n"
 
-#: pg_restore.c:452
+#: pg_restore.c:471
 #, c-format
 msgid ""
 "  -L, --use-list=FILENAME      use table of contents from this file for\n"
@@ -2675,64 +2881,76 @@ msgstr ""
 "  -L, --use-list=ARCHIVO       usa la tabla de contenido especificada para ordenar\n"
 "                               la salida de este archivo\n"
 
-#: pg_restore.c:454
+#: pg_restore.c:473
 #, c-format
 msgid "  -n, --schema=NAME            restore only objects in this schema\n"
 msgstr "  -n, --schema=NAME            reestablece sólo los objetos en este esquema\n"
 
-#: pg_restore.c:455
+#: pg_restore.c:474
 #, c-format
 msgid "  -N, --exclude-schema=NAME    do not restore objects in this schema\n"
 msgstr "  -N, --exclude-schema=NAME    no reestablecer los objetos en este esquema\n"
 
-#: pg_restore.c:457
+#: pg_restore.c:476
 #, c-format
 msgid "  -P, --function=NAME(args)    restore named function\n"
 msgstr "  -P, --function=NOMBRE(args)  reestablece la función nombrada\n"
 
-#: pg_restore.c:458
+#: pg_restore.c:477
 #, c-format
 msgid "  -s, --schema-only            restore only the schema, no data\n"
 msgstr "  -s, --schema-only            reestablece el esquema únicamente, no los datos\n"
 
-#: pg_restore.c:459
+#: pg_restore.c:478
 #, c-format
 msgid "  -S, --superuser=NAME         superuser user name to use for disabling triggers\n"
 msgstr ""
 "  -S, --superuser=NOMBRE       especifica el nombre del superusuario que se usa\n"
 "                               para deshabilitar los disparadores (triggers)\n"
 
-#: pg_restore.c:460
+#: pg_restore.c:479
 #, c-format
 msgid "  -t, --table=NAME             restore named relation (table, view, etc.)\n"
 msgstr "  -t, --table=NOMBRE           reestablece la relación (tabla, vista, etc.) nombrada\n"
 
-#: pg_restore.c:461
+#: pg_restore.c:480
 #, c-format
 msgid "  -T, --trigger=NAME           restore named trigger\n"
 msgstr "  -T, --trigger=NOMBRE         reestablece el disparador (trigger) nombrado\n"
 
-#: pg_restore.c:462
+#: pg_restore.c:481
 #, c-format
 msgid "  -x, --no-privileges          skip restoration of access privileges (grant/revoke)\n"
 msgstr "  -x, --no-privileges          no reestablece los privilegios (grant/revoke)\n"
 
-#: pg_restore.c:463
+#: pg_restore.c:482
 #, c-format
 msgid "  -1, --single-transaction     restore as a single transaction\n"
 msgstr "  -1, --single-transaction     reestablece en una única transacción\n"
 
-#: pg_restore.c:465
+#: pg_restore.c:484
 #, c-format
 msgid "  --enable-row-security        enable row security\n"
 msgstr "  --enable-row-security        activa seguridad de filas\n"
 
-#: pg_restore.c:467
+#: pg_restore.c:485
+#, fuzzy, c-format
+#| msgid ""
+#| "  -O, --no-owner               skip restoration of object ownership in\n"
+#| "                               plain-text format\n"
+msgid ""
+"  --filter=FILENAME            restore or skip objects based on expressions\n"
+"                               in FILENAME\n"
+msgstr ""
+"  -O, --no-owner               en formato de sólo texto, no reestablece\n"
+"                               los dueños de los objetos\n"
+
+#: pg_restore.c:488
 #, c-format
 msgid "  --no-comments                do not restore comments\n"
 msgstr "  --no-comments                no restaurar comentarios\n"
 
-#: pg_restore.c:468
+#: pg_restore.c:489
 #, c-format
 msgid ""
 "  --no-data-for-failed-tables  do not restore data of tables that could not be\n"
@@ -2741,44 +2959,49 @@ msgstr ""
 "  --no-data-for-failed-tables  no reestablece datos de tablas que no pudieron\n"
 "                               ser creadas\n"
 
-#: pg_restore.c:470
+#: pg_restore.c:491
 #, c-format
 msgid "  --no-publications            do not restore publications\n"
 msgstr "  --no-publications            no restaurar publicaciones\n"
 
-#: pg_restore.c:471
+#: pg_restore.c:492
 #, c-format
 msgid "  --no-security-labels         do not restore security labels\n"
 msgstr "  --no-security-labels         no restaura etiquetas de seguridad\n"
 
-#: pg_restore.c:472
+#: pg_restore.c:493
 #, c-format
 msgid "  --no-subscriptions           do not restore subscriptions\n"
 msgstr "  --no-subscriptions           no restaurar suscripciones\n"
 
-#: pg_restore.c:473
+#: pg_restore.c:494
 #, c-format
 msgid "  --no-table-access-method     do not restore table access methods\n"
 msgstr "  --no-table-access-method     no restaura métodos de acceso de tablas\n"
 
-#: pg_restore.c:474
+#: pg_restore.c:495
 #, c-format
 msgid "  --no-tablespaces             do not restore tablespace assignments\n"
 msgstr "  --no-tablespaces             no restaura asignaciones de tablespace\n"
 
-#: pg_restore.c:475
+#: pg_restore.c:496
 #, c-format
 msgid "  --section=SECTION            restore named section (pre-data, data, or post-data)\n"
 msgstr ""
 "  --section=SECCIÓN            reestablece la sección nombrada (pre-data, data\n"
 "                               post-data)\n"
 
-#: pg_restore.c:488
+#: pg_restore.c:499
+#, c-format
+msgid "  --transaction-size=N         commit after every N objects\n"
+msgstr ""
+
+#: pg_restore.c:510
 #, c-format
 msgid "  --role=ROLENAME          do SET ROLE before restore\n"
 msgstr "  --role=ROLENAME              hace SET ROLE antes de restaurar\n"
 
-#: pg_restore.c:490
+#: pg_restore.c:512
 #, c-format
 msgid ""
 "\n"
@@ -2789,7 +3012,7 @@ msgstr ""
 "Las opciones -I, -n, -N, -P, -t, -T, y --section pueden ser combinadas y especificadas\n"
 "varias veces para seleccionar varios objetos.\n"
 
-#: pg_restore.c:493
+#: pg_restore.c:515
 #, c-format
 msgid ""
 "\n"
index cc3e5666478ccb919235b2b17831f1286f3165fd..e0d8d6528fb8c9c30230e21a8ec1060defa60c34 100644 (file)
@@ -12,8 +12,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_resetwal (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-10-03 07:19+0000\n"
-"PO-Revision-Date: 2023-10-03 16:16+0200\n"
+"POT-Creation-Date: 2024-08-01 11:21+0000\n"
+"PO-Revision-Date: 2024-08-01 12:06-0400\n"
 "Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
 "Language: es\n"
@@ -43,6 +43,108 @@ msgstr "detalle: "
 msgid "hint: "
 msgstr "consejo: "
 
+#: ../../common/controldata_utils.c:97 pg_resetwal.c:370 pg_resetwal.c:525
+#: pg_resetwal.c:573
+#, 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:110 pg_resetwal.c:534 pg_resetwal.c:588
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "no se pudo leer el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:119
+#, 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:132 ../../common/controldata_utils.c:280
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "no se pudo cerrar el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:168
+msgid "byte ordering mismatch"
+msgstr "discordancia en orden de bytes"
+
+#: ../../common/controldata_utils.c:170
+#, c-format
+msgid ""
+"possible byte ordering mismatch\n"
+"The byte ordering used to store the pg_control file might not match the one\n"
+"used by this program.  In that case the results below would be incorrect, and\n"
+"the PostgreSQL installation would be incompatible with this data directory."
+msgstr ""
+"posible discordancia en orden de bytes\n"
+"El ordenamiento de bytes usado para almacenar el archivo pg_control puede no\n"
+"coincidir con el usado por este programa.  En tal caso los resultados de abajo\n"
+"serían erróneos, y la instalación de PostgreSQL sería incompatible con este\n"
+"directorio de datos."
+
+#: ../../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 pg_resetwal.c:1134
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "no se pudo abrir el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:249 pg_resetwal.c:1142 pg_resetwal.c:1154
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "no se pudo escribir el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:418
+#: ../../common/file_utils.c:488
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
+
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "memoria agotada\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "no se puede duplicar un puntero nulo (error interno)\n"
+
+#: ../../common/file_utils.c:76
+#, 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
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "no se pudo hacer stat al archivo «%s»: %m"
+
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, fuzzy, c-format
+#| msgid "this build does not support compression with %s"
+msgid "this build does not support sync method \"%s\""
+msgstr "esta instalación no soporta compresión con %s"
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#: pg_resetwal.c:928 pg_resetwal.c:981 pg_resetwal.c:1016 pg_resetwal.c:1054
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "no se pudo abrir el directorio «%s»: %m"
+
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#: pg_resetwal.c:954 pg_resetwal.c:995 pg_resetwal.c:1033 pg_resetwal.c:1068
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "no se pudo leer el directorio «%s»: %m"
+
+#: ../../common/file_utils.c:498
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
+
 #: ../../common/restricted_token.c:60
 #, c-format
 msgid "could not open process token: error code %lu"
@@ -73,163 +175,182 @@ 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"
 
+#: ../../fe_utils/option_utils.c:69
+#, c-format
+msgid "invalid value \"%s\" for option %s"
+msgstr "el valor «%s» no es válido para la opción %s"
+
+#: ../../fe_utils/option_utils.c:76
+#, c-format
+msgid "%s must be in range %d..%d"
+msgstr "%s debe estar en el rango %d..%d"
+
+#: ../../fe_utils/option_utils.c:106
+#, fuzzy, c-format
+#| msgid "unrecognized key word: \"%s\""
+msgid "unrecognized sync method: %s"
+msgstr "palabra clave no reconocida: «%s»"
+
 #. translator: the second %s is a command line argument (-e, etc)
-#: pg_resetwal.c:163 pg_resetwal.c:176 pg_resetwal.c:189 pg_resetwal.c:202
-#: pg_resetwal.c:209 pg_resetwal.c:228 pg_resetwal.c:241 pg_resetwal.c:249
-#: pg_resetwal.c:269 pg_resetwal.c:280
+#: pg_resetwal.c:164 pg_resetwal.c:177 pg_resetwal.c:190 pg_resetwal.c:203
+#: pg_resetwal.c:210 pg_resetwal.c:229 pg_resetwal.c:242 pg_resetwal.c:250
+#: pg_resetwal.c:270 pg_resetwal.c:281
 #, c-format
 msgid "invalid argument for option %s"
 msgstr "argumento no válido para la opción %s"
 
-#: pg_resetwal.c:164 pg_resetwal.c:177 pg_resetwal.c:190 pg_resetwal.c:203
-#: pg_resetwal.c:210 pg_resetwal.c:229 pg_resetwal.c:242 pg_resetwal.c:250
-#: pg_resetwal.c:270 pg_resetwal.c:281 pg_resetwal.c:303 pg_resetwal.c:316
-#: pg_resetwal.c:323
+#: pg_resetwal.c:165 pg_resetwal.c:178 pg_resetwal.c:191 pg_resetwal.c:204
+#: pg_resetwal.c:211 pg_resetwal.c:230 pg_resetwal.c:243 pg_resetwal.c:251
+#: pg_resetwal.c:271 pg_resetwal.c:282 pg_resetwal.c:307 pg_resetwal.c:320
+#: pg_resetwal.c:327
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Pruebe «%s --help» para mayor información."
 
-#: pg_resetwal.c:168
+#: pg_resetwal.c:169
 #, c-format
 msgid "transaction ID epoch (-e) must not be -1"
 msgstr "el «epoch» de ID de transacción (-e) no debe ser -1"
 
-#: pg_resetwal.c:181
+#: pg_resetwal.c:182
 #, c-format
 msgid "oldest transaction ID (-u) must be greater than or equal to %u"
 msgstr "el ID de transacción más antiguo (-u) debe ser mayor o igual a %u"
 
-#: pg_resetwal.c:194
+#: pg_resetwal.c:195
 #, c-format
 msgid "transaction ID (-x) must be greater than or equal to %u"
 msgstr "el ID de transacción (-x) debe ser mayor o igual a %u"
 
-#: pg_resetwal.c:216 pg_resetwal.c:220
-#, c-format
-msgid "transaction ID (-c) must be either 0 or greater than or equal to 2"
+#: pg_resetwal.c:217 pg_resetwal.c:221
+#, fuzzy, c-format
+#| msgid "transaction ID (-c) must be either 0 or greater than or equal to 2"
+msgid "transaction ID (-c) must be either %u or greater than or equal to %u"
 msgstr "el ID de transacción (-c) debe ser 0 o bien mayor o igual a 2"
 
-#: pg_resetwal.c:233
+#: pg_resetwal.c:234
 #, c-format
 msgid "OID (-o) must not be 0"
 msgstr "OID (-o) no debe ser cero"
 
-#: pg_resetwal.c:254
+#: pg_resetwal.c:255
 #, c-format
 msgid "multitransaction ID (-m) must not be 0"
 msgstr "el ID de multitransacción (-m) no debe ser 0"
 
-#: pg_resetwal.c:261
+#: pg_resetwal.c:262
 #, c-format
 msgid "oldest multitransaction ID (-m) must not be 0"
 msgstr "el ID de multitransacción más antiguo (-m) no debe ser 0"
 
-#: pg_resetwal.c:274
+#: pg_resetwal.c:275
 #, c-format
 msgid "multitransaction offset (-O) must not be -1"
 msgstr "la posición de multitransacción (-O) no debe ser -1"
 
-#: pg_resetwal.c:296
-#, c-format
-msgid "argument of --wal-segsize must be a number"
-msgstr "el argumento de --wal-segsize debe ser un número"
-
-#: pg_resetwal.c:298
-#, c-format
-msgid "argument of --wal-segsize must be a power of two between 1 and 1024"
+#: pg_resetwal.c:301
+#, fuzzy, c-format
+#| msgid "argument of --wal-segsize must be a power of two between 1 and 1024"
+msgid "argument of %s must be a power of two between 1 and 1024"
 msgstr "el argumento de --wal-segsize debe ser una potencia de dos entre 1 y 1024"
 
-#: pg_resetwal.c:314
+#: pg_resetwal.c:318
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)"
 
-#: pg_resetwal.c:322
+#: pg_resetwal.c:326
 #, c-format
 msgid "no data directory specified"
 msgstr "directorio de datos no especificado"
 
-#: pg_resetwal.c:336
+#: pg_resetwal.c:340
 #, c-format
 msgid "cannot be executed by \"root\""
 msgstr "no puede ser ejecutado con el usuario «root»"
 
-#: pg_resetwal.c:337
+#: pg_resetwal.c:341
 #, c-format
 msgid "You must run %s as the PostgreSQL superuser."
 msgstr "Debe ejecutar %s con el superusuario de PostgreSQL."
 
-#: pg_resetwal.c:347
+#: pg_resetwal.c:351
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
 msgstr "no se pudo obtener los permisos del directorio «%s»: %m"
 
-#: pg_resetwal.c:353
+#: pg_resetwal.c:357
 #, c-format
 msgid "could not change directory to \"%s\": %m"
 msgstr "no se pudo cambiar al directorio «%s»: %m"
 
-#: pg_resetwal.c:366 pg_resetwal.c:518 pg_resetwal.c:566
-#, c-format
-msgid "could not open file \"%s\" for reading: %m"
-msgstr "no se pudo abrir archivo «%s» para lectura: %m"
-
-#: pg_resetwal.c:371
+#: pg_resetwal.c:375
 #, c-format
 msgid "lock file \"%s\" exists"
 msgstr "el archivo candado «%s» existe"
 
-#: pg_resetwal.c:372
+#: pg_resetwal.c:376
 #, c-format
 msgid "Is a server running?  If not, delete the lock file and try again."
 msgstr "¿Hay un servidor corriendo? Si no, borre el archivo candado e inténtelo de nuevo."
 
-#: pg_resetwal.c:467
+#: pg_resetwal.c:475
 #, c-format
-msgid ""
-"\n"
-"If these values seem acceptable, use -f to force reset.\n"
+msgid "not proceeding because control file values were guessed"
+msgstr ""
+
+#: pg_resetwal.c:476
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "If these values seem acceptable, use -f to force reset.\n"
+msgid "If these values seem acceptable, use -f to force reset."
 msgstr ""
 "\n"
 "Si estos valores parecen aceptables, use -f para forzar reinicio.\n"
 
-#: pg_resetwal.c:479
+#: pg_resetwal.c:485
+#, fuzzy, c-format
+#| msgid "target server must be shut down cleanly"
+msgid "database server was not shut down cleanly"
+msgstr "el directorio de destino debe estar apagado limpiamente"
+
+#: pg_resetwal.c:486
 #, c-format
-msgid ""
-"The database server was not shut down cleanly.\n"
-"Resetting the write-ahead log might cause data to be lost.\n"
-"If you want to proceed anyway, use -f to force reset.\n"
+msgid "Resetting the write-ahead log might cause data to be lost."
+msgstr ""
+
+#: pg_resetwal.c:487
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "If these values seem acceptable, use -f to force reset.\n"
+msgid "If you want to proceed anyway, use -f to force reset."
 msgstr ""
-"El servidor de bases de datos no se apagó limpiamente.\n"
-"Restablecer el WAL puede causar pérdida de datos.\n"
-"Si quiere continuar de todas formas, use -f para forzar el restablecimiento.\n"
+"\n"
+"Si estos valores parecen aceptables, use -f para forzar reinicio.\n"
 
-#: pg_resetwal.c:493
+#: pg_resetwal.c:500
 #, c-format
 msgid "Write-ahead log reset\n"
 msgstr "«Write-ahead log» restablecido\n"
 
-#: pg_resetwal.c:525
+#: pg_resetwal.c:532
 #, c-format
 msgid "unexpected empty file \"%s\""
 msgstr "archivo vacío inesperado «%s»"
 
-#: pg_resetwal.c:527 pg_resetwal.c:581
-#, c-format
-msgid "could not read file \"%s\": %m"
-msgstr "no se pudo leer el archivo «%s»: %m"
-
-#: pg_resetwal.c:535
+#: pg_resetwal.c:542
 #, c-format
 msgid "data directory is of wrong version"
 msgstr "el directorio de datos tiene la versión equivocada"
 
-#: pg_resetwal.c:536
+#: pg_resetwal.c:543
 #, c-format
 msgid "File \"%s\" contains \"%s\", which is not compatible with this program's version \"%s\"."
 msgstr "El archivo «%s» contiene «%s», que no es compatible con la versión «%s» de este programa."
 
-#: pg_resetwal.c:569
+#: pg_resetwal.c:576
 #, c-format
 msgid ""
 "If you are sure the data directory path is correct, execute\n"
@@ -240,24 +361,24 @@ msgstr ""
 "   touch %s\n"
 "y pruebe de nuevo."
 
-#: pg_resetwal.c:597
+#: pg_resetwal.c:604
 #, c-format
 msgid "pg_control exists but has invalid CRC; proceed with caution"
 msgstr "existe pg_control pero tiene un CRC no válido, proceda con precaución"
 
-#: pg_resetwal.c:606
+#: pg_resetwal.c:613
 #, c-format
 msgid "pg_control specifies invalid WAL segment size (%d byte); proceed with caution"
 msgid_plural "pg_control specifies invalid WAL segment size (%d bytes); proceed with caution"
 msgstr[0] "pg_control especifica un tamaño de segmento de WAL no válido (%d byte), proceda con precaución"
 msgstr[1] "pg_control especifica un tamaño de segmento de WAL no válido (%d bytes), proceda con precaución"
 
-#: pg_resetwal.c:617
+#: pg_resetwal.c:624
 #, c-format
 msgid "pg_control exists but is broken or wrong version; ignoring it"
 msgstr "existe pg_control pero está roto o tiene la versión equivocada; ignorándolo"
 
-#: pg_resetwal.c:712
+#: pg_resetwal.c:719
 #, c-format
 msgid ""
 "Guessed pg_control values:\n"
@@ -266,7 +387,7 @@ msgstr ""
 "Valores de pg_control asumidos:\n"
 "\n"
 
-#: pg_resetwal.c:714
+#: pg_resetwal.c:721
 #, c-format
 msgid ""
 "Current pg_control values:\n"
@@ -275,167 +396,167 @@ msgstr ""
 "Valores actuales de pg_control:\n"
 "\n"
 
-#: pg_resetwal.c:716
+#: pg_resetwal.c:723
 #, c-format
 msgid "pg_control version number:            %u\n"
 msgstr "Número de versión de pg_control:                 %u\n"
 
-#: pg_resetwal.c:718
+#: pg_resetwal.c:725
 #, c-format
 msgid "Catalog version number:               %u\n"
 msgstr "Número de versión de catálogo:                   %u\n"
 
-#: pg_resetwal.c:720
+#: pg_resetwal.c:727
 #, c-format
 msgid "Database system identifier:           %llu\n"
 msgstr "Identificador de sistema:                        %llu\n"
 
-#: pg_resetwal.c:722
+#: pg_resetwal.c:729
 #, c-format
 msgid "Latest checkpoint's TimeLineID:       %u\n"
 msgstr "TimeLineID del checkpoint más reciente:          %u\n"
 
-#: pg_resetwal.c:724
+#: pg_resetwal.c:731
 #, c-format
 msgid "Latest checkpoint's full_page_writes: %s\n"
 msgstr "full_page_writes del checkpoint más reciente:    %s\n"
 
-#: pg_resetwal.c:725
+#: pg_resetwal.c:732
 msgid "off"
 msgstr "desactivado"
 
-#: pg_resetwal.c:725
+#: pg_resetwal.c:732
 msgid "on"
 msgstr "activado"
 
-#: pg_resetwal.c:726
+#: pg_resetwal.c:733
 #, c-format
 msgid "Latest checkpoint's NextXID:          %u:%u\n"
 msgstr "NextXID del checkpoint más reciente:             %u:%u\n"
 
-#: pg_resetwal.c:729
+#: pg_resetwal.c:736
 #, c-format
 msgid "Latest checkpoint's NextOID:          %u\n"
 msgstr "NextOID del checkpoint más reciente:             %u\n"
 
-#: pg_resetwal.c:731
+#: pg_resetwal.c:738
 #, c-format
 msgid "Latest checkpoint's NextMultiXactId:  %u\n"
 msgstr "NextMultiXactId del checkpoint más reciente:     %u\n"
 
-#: pg_resetwal.c:733
+#: pg_resetwal.c:740
 #, c-format
 msgid "Latest checkpoint's NextMultiOffset:  %u\n"
 msgstr "NextMultiOffset del checkpoint más reciente:     %u\n"
 
-#: pg_resetwal.c:735
+#: pg_resetwal.c:742
 #, c-format
 msgid "Latest checkpoint's oldestXID:        %u\n"
 msgstr "oldestXID del checkpoint más reciente:           %u\n"
 
-#: pg_resetwal.c:737
+#: pg_resetwal.c:744
 #, c-format
 msgid "Latest checkpoint's oldestXID's DB:   %u\n"
 msgstr "BD del oldestXID del checkpoint más reciente:    %u\n"
 
-#: pg_resetwal.c:739
+#: pg_resetwal.c:746
 #, c-format
 msgid "Latest checkpoint's oldestActiveXID:  %u\n"
 msgstr "oldestActiveXID del checkpoint más reciente:     %u\n"
 
-#: pg_resetwal.c:741
+#: pg_resetwal.c:748
 #, c-format
 msgid "Latest checkpoint's oldestMultiXid:   %u\n"
 msgstr "oldestMultiXid del checkpoint más reciente:      %u\n"
 
-#: pg_resetwal.c:743
+#: pg_resetwal.c:750
 #, c-format
 msgid "Latest checkpoint's oldestMulti's DB: %u\n"
 msgstr "BD del oldestMultiXid del checkpt. más reciente: %u\n"
 
-#: pg_resetwal.c:745
+#: pg_resetwal.c:752
 #, c-format
 msgid "Latest checkpoint's oldestCommitTsXid:%u\n"
 msgstr "oldestCommitTsXid del último checkpoint:         %u\n"
 
-#: pg_resetwal.c:747
+#: pg_resetwal.c:754
 #, c-format
 msgid "Latest checkpoint's newestCommitTsXid:%u\n"
 msgstr "newestCommitTsXid del último checkpoint:         %u\n"
 
-#: pg_resetwal.c:749
+#: pg_resetwal.c:756
 #, c-format
 msgid "Maximum data alignment:               %u\n"
 msgstr "Máximo alineamiento de datos:                    %u\n"
 
-#: pg_resetwal.c:752
+#: pg_resetwal.c:759
 #, c-format
 msgid "Database block size:                  %u\n"
 msgstr "Tamaño del bloque de la base de datos:           %u\n"
 
-#: pg_resetwal.c:754
+#: pg_resetwal.c:761
 #, c-format
 msgid "Blocks per segment of large relation: %u\n"
 msgstr "Bloques por segmento de relación grande:         %u\n"
 
-#: pg_resetwal.c:756
+#: pg_resetwal.c:763
 #, c-format
 msgid "WAL block size:                       %u\n"
 msgstr "Tamaño del bloque de WAL:                        %u\n"
 
-#: pg_resetwal.c:758 pg_resetwal.c:844
+#: pg_resetwal.c:765 pg_resetwal.c:851
 #, c-format
 msgid "Bytes per WAL segment:                %u\n"
 msgstr "Bytes por segmento WAL:                          %u\n"
 
-#: pg_resetwal.c:760
+#: pg_resetwal.c:767
 #, c-format
 msgid "Maximum length of identifiers:        %u\n"
 msgstr "Longitud máxima de identificadores:              %u\n"
 
-#: pg_resetwal.c:762
+#: pg_resetwal.c:769
 #, c-format
 msgid "Maximum columns in an index:          %u\n"
 msgstr "Máximo número de columnas en un índice:          %u\n"
 
-#: pg_resetwal.c:764
+#: pg_resetwal.c:771
 #, c-format
 msgid "Maximum size of a TOAST chunk:        %u\n"
 msgstr "Longitud máxima de un trozo TOAST:               %u\n"
 
-#: pg_resetwal.c:766
+#: pg_resetwal.c:773
 #, c-format
 msgid "Size of a large-object chunk:         %u\n"
 msgstr "Longitud máxima de un trozo de objeto grande:    %u\n"
 
-#: pg_resetwal.c:769
+#: pg_resetwal.c:776
 #, c-format
 msgid "Date/time type storage:               %s\n"
 msgstr "Tipo de almacenamiento hora/fecha:               %s\n"
 
-#: pg_resetwal.c:770
+#: pg_resetwal.c:777
 msgid "64-bit integers"
 msgstr "enteros de 64 bits"
 
-#: pg_resetwal.c:771
+#: pg_resetwal.c:778
 #, c-format
 msgid "Float8 argument passing:              %s\n"
 msgstr "Paso de parámetros float8:                       %s\n"
 
-#: pg_resetwal.c:772
+#: pg_resetwal.c:779
 msgid "by reference"
 msgstr "por referencia"
 
-#: pg_resetwal.c:772
+#: pg_resetwal.c:779
 msgid "by value"
 msgstr "por valor"
 
-#: pg_resetwal.c:773
+#: pg_resetwal.c:780
 #, c-format
 msgid "Data page checksum version:           %u\n"
 msgstr "Versión de suma de verificación de datos:        %u\n"
 
-#: pg_resetwal.c:787
+#: pg_resetwal.c:794
 #, c-format
 msgid ""
 "\n"
@@ -448,102 +569,82 @@ msgstr ""
 "Valores a cambiar:\n"
 "\n"
 
-#: pg_resetwal.c:791
+#: pg_resetwal.c:798
 #, c-format
 msgid "First log segment after reset:        %s\n"
 msgstr "Primer segmento de log después de reiniciar:     %s\n"
 
-#: pg_resetwal.c:795
+#: pg_resetwal.c:802
 #, c-format
 msgid "NextMultiXactId:                      %u\n"
 msgstr "NextMultiXactId:                      %u\n"
 
-#: pg_resetwal.c:797
+#: pg_resetwal.c:804
 #, c-format
 msgid "OldestMultiXid:                       %u\n"
 msgstr "OldestMultiXid:                       %u\n"
 
-#: pg_resetwal.c:799
+#: pg_resetwal.c:806
 #, c-format
 msgid "OldestMulti's DB:                     %u\n"
 msgstr "Base de datos del OldestMulti:        %u\n"
 
-#: pg_resetwal.c:805
+#: pg_resetwal.c:812
 #, c-format
 msgid "NextMultiOffset:                      %u\n"
 msgstr "NextMultiOffset:                      %u\n"
 
-#: pg_resetwal.c:811
+#: pg_resetwal.c:818
 #, c-format
 msgid "NextOID:                              %u\n"
 msgstr "NextOID:                              %u\n"
 
-#: pg_resetwal.c:817
+#: pg_resetwal.c:824
 #, c-format
 msgid "NextXID:                              %u\n"
 msgstr "NextXID:                              %u\n"
 
-#: pg_resetwal.c:819
+#: pg_resetwal.c:826
 #, c-format
 msgid "OldestXID:                            %u\n"
 msgstr "OldestXID:                            %u\n"
 
-#: pg_resetwal.c:821
+#: pg_resetwal.c:828
 #, c-format
 msgid "OldestXID's DB:                       %u\n"
 msgstr "Base de datos del OldestXID:          %u\n"
 
-#: pg_resetwal.c:827
+#: pg_resetwal.c:834
 #, c-format
 msgid "NextXID epoch:                        %u\n"
 msgstr "Epoch del NextXID:                    %u\n"
 
-#: pg_resetwal.c:833
+#: pg_resetwal.c:840
 #, c-format
 msgid "oldestCommitTsXid:                    %u\n"
 msgstr "oldestCommitTsXid:                    %u\n"
 
-#: pg_resetwal.c:838
+#: pg_resetwal.c:845
 #, c-format
 msgid "newestCommitTsXid:                    %u\n"
 msgstr "newestCommitTsXid:                    %u\n"
 
-#: pg_resetwal.c:921 pg_resetwal.c:974 pg_resetwal.c:1009
-#, c-format
-msgid "could not open directory \"%s\": %m"
-msgstr "no se pudo abrir el directorio «%s»: %m"
-
-#: pg_resetwal.c:947 pg_resetwal.c:988 pg_resetwal.c:1026
-#, c-format
-msgid "could not read directory \"%s\": %m"
-msgstr "no se pudo leer el directorio «%s»: %m"
-
-#: pg_resetwal.c:950 pg_resetwal.c:991 pg_resetwal.c:1029
+#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 pg_resetwal.c:1071
 #, c-format
 msgid "could not close directory \"%s\": %m"
 msgstr "no se pudo abrir el directorio «%s»: %m"
 
-#: pg_resetwal.c:983 pg_resetwal.c:1021
+#: pg_resetwal.c:990 pg_resetwal.c:1028 pg_resetwal.c:1063
 #, c-format
 msgid "could not delete file \"%s\": %m"
 msgstr "no se pudo borrar el archivo «%s»: %m"
 
-#: pg_resetwal.c:1093
-#, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "no se pudo abrir el archivo «%s»: %m"
-
-#: pg_resetwal.c:1101 pg_resetwal.c:1113
-#, c-format
-msgid "could not write file \"%s\": %m"
-msgstr "no se pudo escribir el archivo «%s»: %m"
-
-#: pg_resetwal.c:1118
+#: pg_resetwal.c:1159
 #, c-format
 msgid "fsync error: %m"
 msgstr "error de fsync: %m"
 
-#: pg_resetwal.c:1127
+#: pg_resetwal.c:1168
 #, c-format
 msgid ""
 "%s resets the PostgreSQL write-ahead log.\n"
@@ -552,23 +653,72 @@ msgstr ""
 "%s restablece el WAL («write-ahead log») de PostgreSQL.\n"
 "\n"
 
-#: pg_resetwal.c:1128
+#: pg_resetwal.c:1169
+#, c-format
+msgid "Usage:\n"
+msgstr "Empleo:\n"
+
+#: pg_resetwal.c:1170
+#, fuzzy, c-format
+#| msgid "  %s [OPTION]... [DATADIR]\n"
+msgid "  %s [OPTION]... DATADIR\n"
+msgstr "  %s [OPCIÓN]... [DATADIR]\n"
+
+#: pg_resetwal.c:1172
 #, c-format
 msgid ""
-"Usage:\n"
-"  %s [OPTION]... DATADIR\n"
 "\n"
+"Options:\n"
 msgstr ""
-"Uso:\n"
-"   %s [OPCIÓN]... DATADIR\n"
 "\n"
+"Opciones:\n"
+
+#: pg_resetwal.c:1173
+#, c-format
+msgid " [-D, --pgdata=]DATADIR  data directory\n"
+msgstr " [-D, --pgdata=]DATADIR    directorio de datos\n"
+
+#: pg_resetwal.c:1174
+#, fuzzy, c-format
+#| msgid ""
+#| "  -i, --interactive         prompt before deleting anything, and prompt for\n"
+#| "                            role name if not specified\n"
+msgid ""
+"  -f, --force            force update to be done even after unclean shutdown or\n"
+"                         if pg_control values had to be guessed\n"
+msgstr ""
+"  -i, --interactive         preguntar antes de eliminar cualquier cosa, y\n"
+"                            preguntar el nombre de rol si no se especifica\n"
+
+#: pg_resetwal.c:1176
+#, fuzzy, c-format
+#| msgid "  -n, --dry-run                    no update, just show what would be done\n"
+msgid "  -n, --dry-run          no update, just show what would be done\n"
+msgstr "  -n, --dry-run            no actualiza, sólo muestra lo que se haría\n"
+
+#: pg_resetwal.c:1177
+#, c-format
+msgid "  -V, --version          output version information, then exit\n"
+msgstr "  -V, --version          mostrar información de versión, luego salir\n"
 
-#: pg_resetwal.c:1129
+#: pg_resetwal.c:1178
 #, c-format
-msgid "Options:\n"
-msgstr "Opciones:\n"
+msgid "  -?, --help             show this help, then exit\n"
+msgstr "  -?, --help             mostrar esta ayuda, luego salir\n"
 
-#: pg_resetwal.c:1130
+#: pg_resetwal.c:1180
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "Options controlling the restore:\n"
+msgid ""
+"\n"
+"Options to override control file values:\n"
+msgstr ""
+"\n"
+"Opciones que controlan la recuperación:\n"
+
+#: pg_resetwal.c:1181
 #, c-format
 msgid ""
 "  -c, --commit-timestamp-ids=XID,XID\n"
@@ -580,29 +730,19 @@ msgstr ""
 "                           que llevan timestamp de commit (cero significa no\n"
 "                           cambiar)\n"
 
-#: pg_resetwal.c:1133
-#, c-format
-msgid " [-D, --pgdata=]DATADIR            data directory\n"
-msgstr " [-D, --pgdata=]DATADIR    directorio de datos\n"
-
-#: pg_resetwal.c:1134
+#: pg_resetwal.c:1184
 #, c-format
 msgid "  -e, --epoch=XIDEPOCH             set next transaction ID epoch\n"
 msgstr "  -e, --epoch=XIDEPOCH     asigna el siguiente «epoch» de ID de transacción\n"
 
-#: pg_resetwal.c:1135
-#, c-format
-msgid "  -f, --force                      force update to be done\n"
-msgstr "  -f, --force              fuerza que la actualización sea hecha\n"
-
-#: pg_resetwal.c:1136
+#: pg_resetwal.c:1185
 #, c-format
 msgid "  -l, --next-wal-file=WALFILE      set minimum starting location for new WAL\n"
 msgstr ""
 "  -l, --next-wal-file=ARCHIVOWAL\n"
 "                           fuerza una ubicación inicial mínima para nuevo WAL\n"
 
-#: pg_resetwal.c:1137
+#: pg_resetwal.c:1186
 #, c-format
 msgid "  -m, --multixact-ids=MXID,MXID    set next and oldest multitransaction ID\n"
 msgstr ""
@@ -610,53 +750,38 @@ msgstr ""
 "                           asigna el siguiente ID de multitransacción y\n"
 "                           el más antiguo\n"
 
-#: pg_resetwal.c:1138
-#, c-format
-msgid "  -n, --dry-run                    no update, just show what would be done\n"
-msgstr "  -n, --dry-run            no actualiza, sólo muestra lo que se haría\n"
-
-#: pg_resetwal.c:1139
+#: pg_resetwal.c:1187
 #, c-format
 msgid "  -o, --next-oid=OID               set next OID\n"
 msgstr "  -o, --next-oid=OID       asigna el siguiente OID\n"
 
-#: pg_resetwal.c:1140
+#: pg_resetwal.c:1188
 #, c-format
 msgid "  -O, --multixact-offset=OFFSET    set next multitransaction offset\n"
 msgstr ""
 "  -O, --multixact-offset=OFFSET\n"
 "                           asigna la siguiente posición de multitransacción\n"
 
-#: pg_resetwal.c:1141
+#: pg_resetwal.c:1189
 #, c-format
 msgid "  -u, --oldest-transaction-id=XID  set oldest transaction ID\n"
 msgstr ""
 "  -u, --oldest-transaction-id=XID\n"
 "                           asigna el ID de transacción más antiguo\n"
 
-#: pg_resetwal.c:1142
-#, c-format
-msgid "  -V, --version                    output version information, then exit\n"
-msgstr "  -V, --version            mostrar información de versión y salir\n"
-
-#: pg_resetwal.c:1143
+#: pg_resetwal.c:1190
 #, c-format
 msgid "  -x, --next-transaction-id=XID    set next transaction ID\n"
 msgstr ""
 "  -x, --next-transaction-id=XID\n"
 "                           asigna el siguiente ID de transacción\n"
 
-#: pg_resetwal.c:1144
+#: pg_resetwal.c:1191
 #, c-format
 msgid "      --wal-segsize=SIZE           size of WAL segments, in megabytes\n"
 msgstr "      --wal-segsize=TAMAÑO tamaño de segmentos de WAL, en megabytes\n"
 
-#: pg_resetwal.c:1145
-#, c-format
-msgid "  -?, --help                       show this help, then exit\n"
-msgstr "  -?, --help               mostrar esta ayuda y salir\n"
-
-#: pg_resetwal.c:1146
+#: pg_resetwal.c:1193
 #, c-format
 msgid ""
 "\n"
@@ -665,7 +790,7 @@ msgstr ""
 "\n"
 "Reporte errores a <%s>.\n"
 
-#: pg_resetwal.c:1147
+#: pg_resetwal.c:1194
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sitio web de %s: <%s>\n"
index af9a810c7c1d56cde330de504c4f023eef5251ee..a688e6c6099fe8f2e1a7bc70aef72d7d264350d2 100644 (file)
@@ -10,8 +10,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_rewind (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:22+0000\n"
-"PO-Revision-Date: 2023-10-04 11:47+0200\n"
+"POT-Creation-Date: 2024-08-01 11:23+0000\n"
+"PO-Revision-Date: 2024-08-01 12:07-0400\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
 "Language: es\n"
@@ -41,6 +41,65 @@ msgstr "detalle: "
 msgid "hint: "
 msgstr "consejo: "
 
+#: ../../common/controldata_utils.c:97 file_ops.c:326 file_ops.c:330
+#, 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:110 file_ops.c:341 local_source.c:104
+#: local_source.c:163 parsexlog.c:350
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "no se pudo leer el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:119 file_ops.c:344 parsexlog.c:352
+#, 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:132 ../../common/controldata_utils.c:280
+#: local_source.c:121 local_source.c:172
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "no se pudo cerrar el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:168
+msgid "byte ordering mismatch"
+msgstr "discordancia en orden de bytes"
+
+#: ../../common/controldata_utils.c:170
+#, c-format
+msgid ""
+"possible byte ordering mismatch\n"
+"The byte ordering used to store the pg_control file might not match the one\n"
+"used by this program.  In that case the results below would be incorrect, and\n"
+"the PostgreSQL installation would be incompatible with this data directory."
+msgstr ""
+"posible discordancia en orden de bytes\n"
+"El ordenamiento de bytes usado para almacenar el archivo pg_control puede no\n"
+"coincidir con el usado por este programa.  En tal caso los resultados de abajo\n"
+"serían erróneos, y la instalación de PostgreSQL sería incompatible con este\n"
+"directorio de datos."
+
+#: ../../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 ../../fe_utils/recovery_gen.c:140
+#: parsexlog.c:312
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "no se pudo abrir el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:249 file_ops.c:117
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "no se pudo escribir el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:418
+#: ../../common/file_utils.c:488
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
+
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
 #, c-format
@@ -52,6 +111,39 @@ 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:76
+#, 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
+#: ../../fe_utils/archive.c:86 file_ops.c:417
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "no se pudo hacer stat al archivo «%s»: %m"
+
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, fuzzy, c-format
+#| msgid "this build does not support compression with %s"
+msgid "this build does not support sync method \"%s\""
+msgstr "esta instalación no soporta compresión con %s"
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 file_ops.c:388
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "no se pudo abrir el directorio «%s»: %m"
+
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 file_ops.c:462
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "no se pudo leer el directorio «%s»: %m"
+
+#: ../../common/file_utils.c:498
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
+
 #: ../../common/percentrepl.c:79 ../../common/percentrepl.c:118
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
@@ -107,14 +199,10 @@ msgstr "el archivo «%s» tiene tamaño inesperado: %lld en lugar de %lld"
 msgid "could not open file \"%s\" restored from archive: %m"
 msgstr "no se pudo abrir el archivo «%s» restaurado del archivo: %m"
 
-#: ../../fe_utils/archive.c:86 file_ops.c:417
-#, c-format
-msgid "could not stat file \"%s\": %m"
-msgstr "no se pudo hacer stat al archivo «%s»: %m"
-
 #: ../../fe_utils/archive.c:98
-#, c-format
-msgid "restore_command failed: %s"
+#, fuzzy, c-format
+#| msgid "restore_command failed: %s"
+msgid "\"restore_command\" failed: %s"
 msgstr "restore_command falló: %s"
 
 #: ../../fe_utils/archive.c:105
@@ -122,28 +210,51 @@ msgstr "restore_command falló: %s"
 msgid "could not restore file \"%s\" from archive"
 msgstr "no se pudo recuperar el archivo «%s» del archivo"
 
-#: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45
-#: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90
-#: ../../fe_utils/recovery_gen.c:149
+#: ../../fe_utils/option_utils.c:69
 #, c-format
-msgid "out of memory"
-msgstr "memoria agotada"
+msgid "invalid value \"%s\" for option %s"
+msgstr "el valor «%s» no es válido para la opción %s"
 
-#: ../../fe_utils/recovery_gen.c:121 parsexlog.c:312
+#: ../../fe_utils/option_utils.c:76
 #, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "no se pudo abrir el archivo «%s»: %m"
+msgid "%s must be in range %d..%d"
+msgstr "%s debe estar en el rango %d..%d"
+
+#: ../../fe_utils/option_utils.c:106
+#, fuzzy, c-format
+#| msgid "unrecognized key word: \"%s\""
+msgid "unrecognized sync method: %s"
+msgstr "palabra clave no reconocida: «%s»"
+
+#: ../../fe_utils/recovery_gen.c:39 ../../fe_utils/recovery_gen.c:50
+#: ../../fe_utils/recovery_gen.c:89 ../../fe_utils/recovery_gen.c:109
+#: ../../fe_utils/recovery_gen.c:168
+#, c-format
+msgid "out of memory"
+msgstr "memoria agotada"
 
-#: ../../fe_utils/recovery_gen.c:124
+#: ../../fe_utils/recovery_gen.c:143
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "no se pudo escribir a archivo «%s»: %m"
 
-#: ../../fe_utils/recovery_gen.c:133
+#: ../../fe_utils/recovery_gen.c:152
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "no se pudo crear archivo «%s»: %m"
 
+#: ../../fe_utils/string_utils.c:434
+#, fuzzy, c-format
+#| msgid "shell command argument contains a newline or carriage return: \"%s\""
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»"
+
+#: ../../fe_utils/string_utils.c:607
+#, fuzzy, c-format
+#| msgid "shell command argument contains a newline or carriage return: \"%s\""
+msgid "database name contains a newline or carriage return: \"%s\"\n"
+msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»"
+
 #: file_ops.c:67
 #, c-format
 msgid "could not open target file \"%s\": %m"
@@ -159,11 +270,6 @@ msgstr "no se pudo cerrar el archivo de destino «%s»: %m"
 msgid "could not seek in target file \"%s\": %m"
 msgstr "no se pudo posicionar en archivo de destino «%s»: %m"
 
-#: file_ops.c:117
-#, c-format
-msgid "could not write file \"%s\": %m"
-msgstr "no se pudo escribir el archivo «%s»: %m"
-
 #: file_ops.c:150 file_ops.c:177
 #, c-format
 msgid "undefined file type for \"%s\""
@@ -209,26 +315,6 @@ msgstr "no se pudo crear el link simbólico en «%s»: %m"
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "no se pudo eliminar el enlace simbólico «%s»: %m"
 
-#: file_ops.c:326 file_ops.c:330
-#, c-format
-msgid "could not open file \"%s\" for reading: %m"
-msgstr "no se pudo abrir archivo «%s» para lectura: %m"
-
-#: file_ops.c:341 local_source.c:104 local_source.c:163 parsexlog.c:350
-#, c-format
-msgid "could not read file \"%s\": %m"
-msgstr "no se pudo leer el archivo «%s»: %m"
-
-#: file_ops.c:344 parsexlog.c:352
-#, 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"
-
-#: file_ops.c:388
-#, c-format
-msgid "could not open directory \"%s\": %m"
-msgstr "no se pudo abrir el directorio «%s»: %m"
-
 #: file_ops.c:441
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
@@ -239,162 +325,159 @@ msgstr "no se pudo leer el enlace simbólico «%s»: %m"
 msgid "symbolic link \"%s\" target is too long"
 msgstr "la ruta «%s» del enlace simbólico es demasiado larga"
 
-#: file_ops.c:462
-#, c-format
-msgid "could not read directory \"%s\": %m"
-msgstr "no se pudo leer el directorio «%s»: %m"
-
 #: file_ops.c:466
 #, c-format
 msgid "could not close directory \"%s\": %m"
 msgstr "no se pudo abrir el directorio «%s»: %m"
 
-#: filemap.c:236
+#: filemap.c:235
 #, c-format
 msgid "data file \"%s\" in source is not a regular file"
 msgstr "el archivo de datos «%s» en el origen no es un archivo regular"
 
-#: filemap.c:241 filemap.c:274
+#: filemap.c:240 filemap.c:273
 #, c-format
 msgid "duplicate source file \"%s\""
 msgstr "archivo origen duplicado «%s»"
 
-#: filemap.c:329
+#: filemap.c:328
 #, c-format
 msgid "unexpected page modification for non-regular file \"%s\""
 msgstr "modificación de página inesperada para el archivo no regular «%s»"
 
-#: filemap.c:679 filemap.c:773
+#: filemap.c:682 filemap.c:776
 #, c-format
 msgid "unknown file type for \"%s\""
 msgstr "tipo de archivo desconocido para «%s»"
 
-#: filemap.c:706
+#: filemap.c:709
 #, c-format
 msgid "file \"%s\" is of different type in source and target"
 msgstr "el archivo «%s» tiene un tipo diferente en el origen y en el destino"
 
-#: filemap.c:778
+#: filemap.c:781
 #, c-format
 msgid "could not decide what to do with file \"%s\""
 msgstr "no se pudo decidir qué hacer con el archivo «%s»"
 
-#: libpq_source.c:130
-#, c-format
-msgid "could not clear search_path: %s"
+#: libpq_source.c:131
+#, fuzzy, c-format
+#| msgid "could not clear search_path: %s"
+msgid "could not clear \"search_path\": %s"
 msgstr "no se pudo limpiar search_path: %s"
 
-#: libpq_source.c:141
-#, c-format
-msgid "full_page_writes must be enabled in the source server"
+#: libpq_source.c:142
+#, fuzzy, c-format
+#| msgid "full_page_writes must be enabled in the source server"
+msgid "\"full_page_writes\" must be enabled in the source server"
 msgstr "full_page_writes debe estar activado en el servidor de origen"
 
-#: libpq_source.c:152
+#: libpq_source.c:153
 #, c-format
 msgid "could not prepare statement to fetch file contents: %s"
 msgstr "no se pudo preparar sentencia para obtener el contenido del archivo: %s"
 
-#: libpq_source.c:171
+#: libpq_source.c:172
 #, c-format
 msgid "error running query (%s) on source server: %s"
 msgstr "error ejecutando consulta (%s) en el servidor de origen: %s"
 
-#: libpq_source.c:176
+#: libpq_source.c:177
 #, c-format
 msgid "unexpected result set from query"
 msgstr "conjunto de resultados inesperados de la consulta"
 
-#: libpq_source.c:198
+#: libpq_source.c:199
 #, c-format
 msgid "error running query (%s) in source server: %s"
 msgstr "error ejecutando consulta (%s) en el servidor de origen: %s"
 
-#: libpq_source.c:219
+#: libpq_source.c:220
 #, c-format
 msgid "unrecognized result \"%s\" for current WAL insert location"
 msgstr "resultado «%s» no reconocido para la ubicación de inserción WAL actual"
 
-#: libpq_source.c:270
+#: libpq_source.c:271
 #, c-format
 msgid "could not fetch file list: %s"
 msgstr "no se pudo obtener el listado de archivos: %s"
 
-#: libpq_source.c:275
+#: libpq_source.c:276
 #, c-format
 msgid "unexpected result set while fetching file list"
 msgstr "conjunto de resultados inesperado mientras se obtenía el listado de archivos"
 
-#: libpq_source.c:467
+#: libpq_source.c:477
 #, c-format
 msgid "could not send query: %s"
 msgstr "no se pudo enviar la consulta: %s"
 
-#: libpq_source.c:470
+#: libpq_source.c:480
 #, c-format
 msgid "could not set libpq connection to single row mode"
 msgstr "no se pudo establecer la coneción libpq a modo «single row»"
 
-#: libpq_source.c:500
+#: libpq_source.c:510
 #, c-format
 msgid "unexpected result while fetching remote files: %s"
 msgstr "resultados inesperados mientras se obtenían archivos remotos: %s"
 
-#: libpq_source.c:505
+#: libpq_source.c:515
 #, c-format
 msgid "received more data chunks than requested"
 msgstr "se recibieron más trozos de datos que los solicitados"
 
-#: libpq_source.c:509
+#: libpq_source.c:519
 #, c-format
 msgid "unexpected result set size while fetching remote files"
 msgstr "tamaño del conjunto de resultados inesperado mientras se obtenían archivos remotos"
 
-#: libpq_source.c:515
+#: libpq_source.c:525
 #, c-format
 msgid "unexpected data types in result set while fetching remote files: %u %u %u"
 msgstr "tipos de dato inesperados en el conjunto de resultados mientras se obtenían archivos remotos: %u %u %u"
 
-#: libpq_source.c:523
+#: libpq_source.c:533
 #, c-format
 msgid "unexpected result format while fetching remote files"
 msgstr "formato de resultados inesperado mientras se obtenían archivos remotos"
 
-#: libpq_source.c:529
+#: libpq_source.c:539
 #, c-format
 msgid "unexpected null values in result while fetching remote files"
 msgstr "valores nulos inesperados en el resultado mientras se obtenían archivos remotos"
 
-#: libpq_source.c:533
+#: libpq_source.c:543
 #, c-format
 msgid "unexpected result length while fetching remote files"
 msgstr "largo del resultado inesperado mientras se obtenían los archivos remotos"
 
-#: libpq_source.c:566
+#: libpq_source.c:576
 #, c-format
 msgid "received data for file \"%s\", when requested for \"%s\""
 msgstr "se recibieron datos para el archivo «%s», cuando se solicitó para «%s»"
 
-#: libpq_source.c:570
+#: libpq_source.c:580
 #, c-format
 msgid "received data at offset %lld of file \"%s\", when requested for offset %lld"
 msgstr "se recibieron datos en la posición %lld del archivo «%s», cuando se solicitó para la posición %lld"
 
-#: libpq_source.c:582
+#: libpq_source.c:592
 #, c-format
 msgid "received more than requested for file \"%s\""
 msgstr "se recibió más de lo solicitado para el archivo «%s»"
 
-#: libpq_source.c:595
+#: libpq_source.c:605
 #, c-format
 msgid "unexpected number of data chunks received"
 msgstr "se recibió un número inesperado de trozos de datos"
 
-#: libpq_source.c:638
+#: libpq_source.c:648
 #, c-format
 msgid "could not fetch remote file \"%s\": %s"
 msgstr "no se pudo obtener el archivo remoto «%s»: %s"
 
-#: libpq_source.c:643
+#: libpq_source.c:653
 #, c-format
 msgid "unexpected result set while fetching remote file \"%s\""
 msgstr "conjunto de resultados inesperado mientras se obtenía el archivo remoto «%s»"
@@ -409,11 +492,6 @@ msgstr "no se pudo abrir el archivo de origen «%s»: %m"
 msgid "size of source file \"%s\" changed concurrently: %d bytes expected, %d copied"
 msgstr "el tamaño del archivo de origen «%s» cambió concurrentemente: se esperaban %d bytes, se copiaron %d"
 
-#: local_source.c:121 local_source.c:172
-#, c-format
-msgid "could not close file \"%s\": %m"
-msgstr "no se pudo cerrar el archivo «%s»: %m"
-
 #: local_source.c:146
 #, c-format
 msgid "could not seek in source file: %m"
@@ -464,7 +542,7 @@ msgstr "no se pudo posicionar (seek) el archivo «%s»: %m"
 msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
 msgstr "el registro WAL modifica una relación, pero el tipo de registro no es reconocido: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
 
-#: pg_rewind.c:92
+#: pg_rewind.c:94
 #, c-format
 msgid ""
 "%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n"
@@ -473,7 +551,7 @@ msgstr ""
 "%s resincroniza un cluster PostgreSQL con otra copia del cluster.\n"
 "\n"
 
-#: pg_rewind.c:93
+#: pg_rewind.c:95
 #, c-format
 msgid ""
 "Usage:\n"
@@ -484,53 +562,56 @@ msgstr ""
 "  %s [OPCION]...\n"
 "\n"
 
-#: pg_rewind.c:94
+#: pg_rewind.c:96
 #, c-format
 msgid "Options:\n"
 msgstr "Opciones:\n"
 
-#: pg_rewind.c:95
-#, c-format
+#: pg_rewind.c:97
+#, fuzzy, c-format
+#| msgid ""
+#| "  -c, --restore-target-wal       use restore_command in target configuration to\n"
+#| "                                 retrieve WAL files from archives\n"
 msgid ""
-"  -c, --restore-target-wal       use restore_command in target configuration to\n"
+"  -c, --restore-target-wal       use \"restore_command\" in target configuration to\n"
 "                                 retrieve WAL files from archives\n"
 msgstr ""
 "  -c, --restore-target-wal       utilizar restore_command de la configuración\n"
 "                                 de destino para obtener archivos WAL\n"
 
-#: pg_rewind.c:97
+#: pg_rewind.c:99
 #, c-format
 msgid "  -D, --target-pgdata=DIRECTORY  existing data directory to modify\n"
 msgstr "  -D, --target-pgdata=DIRECTORIO directorio de datos existente a modificar\n"
 
-#: pg_rewind.c:98
+#: pg_rewind.c:100
 #, c-format
 msgid "      --source-pgdata=DIRECTORY  source data directory to synchronize with\n"
 msgstr "      --source-pgdata=DIRECTORIO directorio de datos de origen a sincronizar\n"
 
-#: pg_rewind.c:99
+#: pg_rewind.c:101
 #, c-format
 msgid "      --source-server=CONNSTR    source server to synchronize with\n"
 msgstr "      --source-server=CONN       servidor de origen a sincronizar\n"
 
-#: pg_rewind.c:100
+#: pg_rewind.c:102
 #, c-format
 msgid "  -n, --dry-run                  stop before modifying anything\n"
 msgstr "  -n, --dry-run                  detener antes de modificar nada\n"
 
-#: pg_rewind.c:101
+#: pg_rewind.c:103
 #, c-format
 msgid ""
 "  -N, --no-sync                  do not wait for changes to be written\n"
 "                                 safely to disk\n"
 msgstr "  -N, --no-sync                  no esperar que los cambios se sincronicen a disco\n"
 
-#: pg_rewind.c:103
+#: pg_rewind.c:105
 #, c-format
 msgid "  -P, --progress                 write progress messages\n"
 msgstr "  -P, --progress                 escribir mensajes de progreso\n"
 
-#: pg_rewind.c:104
+#: pg_rewind.c:106
 #, c-format
 msgid ""
 "  -R, --write-recovery-conf      write configuration for replication\n"
@@ -539,7 +620,7 @@ msgstr ""
 "  -R, --write-recovery-conf      escribe configuración para replicación\n"
 "                                 (requiere --source-server)\n"
 
-#: pg_rewind.c:106
+#: pg_rewind.c:108
 #, c-format
 msgid ""
 "      --config-file=FILENAME     use specified main server configuration\n"
@@ -548,29 +629,35 @@ msgstr ""
 "      --config-file=ARCHIVO      utilizar el archivo de configuración del servidor\n"
 "                                 principal especificado al ejecutar el clúster de destino\n"
 
-#: pg_rewind.c:108
+#: pg_rewind.c:110
 #, c-format
 msgid "      --debug                    write a lot of debug messages\n"
 msgstr "      --debug                    escribir muchos mensajes de depuración\n"
 
-#: pg_rewind.c:109
+#: pg_rewind.c:111
 #, c-format
 msgid "      --no-ensure-shutdown       do not automatically fix unclean shutdown\n"
 msgstr ""
 "  --no-ensure-shutdown           no corregir automáticamente un apagado\n"
 "                                 no-limpio\n"
 
-#: pg_rewind.c:110
+#: pg_rewind.c:112
+#, fuzzy, c-format
+#| msgid "  --clone                       clone instead of copying files to new cluster\n"
+msgid "      --sync-method=METHOD       set method for syncing files to disk\n"
+msgstr "  --clone                       clonar los archivos en vez de copiarlos\n"
+
+#: pg_rewind.c:113
 #, c-format
 msgid "  -V, --version                  output version information, then exit\n"
 msgstr "  -V, --version                  mostrar información de versión y salir\n"
 
-#: pg_rewind.c:111
+#: pg_rewind.c:114
 #, c-format
 msgid "  -?, --help                     show this help, then exit\n"
 msgstr "  -?, --help                     mostrar esta ayuda y salir\n"
 
-#: pg_rewind.c:112
+#: pg_rewind.c:115
 #, c-format
 msgid ""
 "\n"
@@ -579,425 +666,425 @@ msgstr ""
 "\n"
 "Reporte errores a <%s>.\n"
 
-#: pg_rewind.c:113
+#: pg_rewind.c:116
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sitio web de %s: <%s>\n"
 
-#: pg_rewind.c:223 pg_rewind.c:231 pg_rewind.c:238 pg_rewind.c:245
-#: pg_rewind.c:252 pg_rewind.c:260
+#: pg_rewind.c:232 pg_rewind.c:240 pg_rewind.c:247 pg_rewind.c:254
+#: pg_rewind.c:261 pg_rewind.c:269
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Pruebe «%s --help» para mayor información."
 
-#: pg_rewind.c:230
+#: pg_rewind.c:239
 #, c-format
 msgid "no source specified (--source-pgdata or --source-server)"
 msgstr "no se especificó origen (--source-pgdata o --source-server)"
 
-#: pg_rewind.c:237
+#: pg_rewind.c:246
 #, c-format
 msgid "only one of --source-pgdata or --source-server can be specified"
 msgstr "sólo uno de --source-pgdata o --source-server puede ser especificado"
 
-#: pg_rewind.c:244
+#: pg_rewind.c:253
 #, c-format
 msgid "no target data directory specified (--target-pgdata)"
 msgstr "no se especificó directorio de datos de destino (--target-pgdata)"
 
-#: pg_rewind.c:251
+#: pg_rewind.c:260
 #, c-format
 msgid "no source server information (--source-server) specified for --write-recovery-conf"
 msgstr "no se especificó información de servidor de origen (--source-server) para --write-recovery-conf"
 
-#: pg_rewind.c:258
+#: pg_rewind.c:267
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)"
 
-#: pg_rewind.c:273
+#: pg_rewind.c:282
 #, c-format
 msgid "cannot be executed by \"root\""
 msgstr "no puede ser ejecutado por «root»"
 
-#: pg_rewind.c:274
+#: pg_rewind.c:283
 #, c-format
 msgid "You must run %s as the PostgreSQL superuser."
 msgstr "Debe ejecutar %s con el superusuario de PostgreSQL."
 
-#: pg_rewind.c:284
+#: pg_rewind.c:293
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
 msgstr "no se pudo obtener los permisos del directorio «%s»: %m"
 
-#: pg_rewind.c:302
+#: pg_rewind.c:311
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pg_rewind.c:305
+#: pg_rewind.c:314
 #, c-format
 msgid "connected to server"
 msgstr "conectado al servidor"
 
-#: pg_rewind.c:366
+#: pg_rewind.c:375
 #, c-format
 msgid "source and target cluster are on the same timeline"
 msgstr "el cluster de origen y destino están en el mismo timeline"
 
-#: pg_rewind.c:387
+#: pg_rewind.c:396
 #, c-format
 msgid "servers diverged at WAL location %X/%X on timeline %u"
 msgstr "servidores divergieron en la posición de WAL %X/%X en el timeline %u"
 
-#: pg_rewind.c:442
+#: pg_rewind.c:451
 #, c-format
 msgid "no rewind required"
 msgstr "no se requiere rebobinar"
 
-#: pg_rewind.c:451
+#: pg_rewind.c:460
 #, c-format
 msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
 msgstr "rebobinando desde el último checkpoint común en %X/%X en el timeline %u"
 
-#: pg_rewind.c:461
+#: pg_rewind.c:470
 #, c-format
 msgid "reading source file list"
 msgstr "leyendo la lista de archivos de origen"
 
-#: pg_rewind.c:465
+#: pg_rewind.c:474
 #, c-format
 msgid "reading target file list"
 msgstr "leyendo la lista de archivos de destino"
 
-#: pg_rewind.c:474
+#: pg_rewind.c:483
 #, c-format
 msgid "reading WAL in target"
 msgstr "leyendo WAL en destino"
 
-#: pg_rewind.c:495
+#: pg_rewind.c:504
 #, c-format
 msgid "need to copy %lu MB (total source directory size is %lu MB)"
 msgstr "se necesitan copiar %lu MB (tamaño total de directorio de origen es %lu MB)"
 
-#: pg_rewind.c:513
+#: pg_rewind.c:522
 #, c-format
 msgid "syncing target data directory"
 msgstr "sincronizando directorio de datos de destino"
 
-#: pg_rewind.c:529
+#: pg_rewind.c:538
 #, c-format
 msgid "Done!"
 msgstr "¡Listo!"
 
-#: pg_rewind.c:609
+#: pg_rewind.c:618
 #, c-format
 msgid "no action decided for file \"%s\""
 msgstr "no se decidió una acción para el archivo «%s»"
 
-#: pg_rewind.c:641
+#: pg_rewind.c:650
 #, c-format
 msgid "source system was modified while pg_rewind was running"
 msgstr "el sistema origen fue modificado mientras pg_rewind estaba en ejecución"
 
-#: pg_rewind.c:645
+#: pg_rewind.c:654
 #, c-format
 msgid "creating backup label and updating control file"
 msgstr "creando etiqueta de respaldo y actualizando archivo de control"
 
-#: pg_rewind.c:695
+#: pg_rewind.c:704
 #, c-format
 msgid "source system was in unexpected state at end of rewind"
 msgstr "el sistema origen estaba en un estado inesperado al final del rebobinado"
 
-#: pg_rewind.c:727
+#: pg_rewind.c:736
 #, c-format
 msgid "source and target clusters are from different systems"
 msgstr "clusters de origen y destino son de sistemas diferentes"
 
-#: pg_rewind.c:735
+#: pg_rewind.c:744
 #, c-format
 msgid "clusters are not compatible with this version of pg_rewind"
 msgstr "los clusters no son compatibles con esta versión de pg_rewind"
 
-#: pg_rewind.c:745
+#: pg_rewind.c:754
 #, c-format
 msgid "target server needs to use either data checksums or \"wal_log_hints = on\""
 msgstr "el servidor de destino necesita tener sumas de verificación de datos o «wal_log_hints» activados"
 
-#: pg_rewind.c:756
+#: pg_rewind.c:765
 #, c-format
 msgid "target server must be shut down cleanly"
 msgstr "el directorio de destino debe estar apagado limpiamente"
 
-#: pg_rewind.c:766
+#: pg_rewind.c:775
 #, c-format
 msgid "source data directory must be shut down cleanly"
 msgstr "el directorio de origen debe estar apagado limpiamente"
 
-#: pg_rewind.c:813
+#: pg_rewind.c:822
 #, c-format
 msgid "%*s/%s kB (%d%%) copied"
 msgstr "%*s/%s kB (%d%%) copiados"
 
-#: pg_rewind.c:941
+#: pg_rewind.c:950
 #, c-format
 msgid "could not find common ancestor of the source and target cluster's timelines"
 msgstr "no se pudo encontrar un ancestro común en el timeline de los clusters de origen y destino"
 
-#: pg_rewind.c:982
+#: pg_rewind.c:991
 #, c-format
 msgid "backup label buffer too small"
 msgstr "el búfer del backup label es demasiado pequeño"
 
-#: pg_rewind.c:1005
+#: pg_rewind.c:1014
 #, c-format
 msgid "unexpected control file CRC"
 msgstr "CRC de archivo de control inesperado"
 
-#: pg_rewind.c:1017
+#: pg_rewind.c:1026
 #, c-format
 msgid "unexpected control file size %d, expected %d"
 msgstr "tamaño del archivo de control %d inesperado, se esperaba %d"
 
-#: pg_rewind.c:1026
-#, 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"
+#: pg_rewind.c:1036
+#, fuzzy, c-format
+#| msgid "pg_control specifies invalid WAL segment size (%d byte); proceed with caution"
+#| msgid_plural "pg_control specifies invalid WAL segment size (%d bytes); proceed with caution"
+msgid "invalid WAL segment size in control file (%d byte)"
+msgid_plural "invalid WAL segment size in control file (%d bytes)"
+msgstr[0] "pg_control especifica un tamaño de segmento de WAL no válido (%d byte), proceda con precaución"
+msgstr[1] "pg_control especifica un tamaño de segmento de WAL no válido (%d bytes), proceda con precaución"
+
+#: pg_rewind.c:1040
+#, fuzzy, c-format
+#| msgid "argument of --wal-segsize must be a power of two between 1 and 1024"
+msgid "The WAL segment size must be a power of two between 1 MB and 1 GB."
+msgstr "el argumento de --wal-segsize debe ser una potencia de dos entre 1 y 1024"
 
-#: pg_rewind.c:1065 pg_rewind.c:1135
+#: pg_rewind.c:1077 pg_rewind.c:1145
 #, c-format
 msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\""
 msgstr "el programa «%s» es requerido por %s, pero no se encontró en el mismo directorio que «%s»"
 
-#: pg_rewind.c:1068 pg_rewind.c:1138
+#: pg_rewind.c:1080 pg_rewind.c:1148
 #, c-format
 msgid "program \"%s\" was found by \"%s\" but was not the same version as %s"
 msgstr "el programa «%s» fue encontrado por «%s» pero no es de la misma versión que %s"
 
-#: pg_rewind.c:1101
-#, c-format
-msgid "restore_command is not set in the target cluster"
+#: pg_rewind.c:1109
+#, fuzzy, c-format
+#| msgid "restore_command is not set in the target cluster"
+msgid "unable to read restore_command from target cluster"
+msgstr "restore_command no está definido en el clúster de destino"
+
+#: pg_rewind.c:1114
+#, fuzzy, c-format
+#| msgid "restore_command is not set in the target cluster"
+msgid "\"restore_command\" is not set in the target cluster"
 msgstr "restore_command no está definido en el clúster de destino"
 
-#: pg_rewind.c:1142
+#: pg_rewind.c:1152
 #, c-format
 msgid "executing \"%s\" for target server to complete crash recovery"
 msgstr "ejecutando «%s» en el servidor de destino para completar la recuperación de caídas"
 
-#: pg_rewind.c:1180
+#: pg_rewind.c:1190
 #, c-format
 msgid "postgres single-user mode in target cluster failed"
 msgstr "el modo «single-user» en el servidor de destino falló"
 
-#: pg_rewind.c:1181
+#: pg_rewind.c:1191
 #, c-format
 msgid "Command was: %s"
 msgstr "La orden era: % s"
 
-#: timeline.c:75 timeline.c:81
+#: timeline.c:74 timeline.c:80
 #, c-format
 msgid "syntax error in history file: %s"
 msgstr "error de sintaxis en archivo de historia: %s"
 
-#: timeline.c:76
+#: timeline.c:75
 #, c-format
 msgid "Expected a numeric timeline ID."
 msgstr "Se esperaba un ID numérico de timeline."
 
-#: timeline.c:82
+#: timeline.c:81
 #, c-format
 msgid "Expected a write-ahead log switchpoint location."
 msgstr "Se esperaba una ubicación de punto de cambio del «write-ahead log»."
 
-#: timeline.c:87
+#: timeline.c:86
 #, c-format
 msgid "invalid data in history file: %s"
 msgstr "datos no válidos en archivo de historia: %s"
 
-#: timeline.c:88
+#: timeline.c:87
 #, c-format
 msgid "Timeline IDs must be in increasing sequence."
 msgstr "IDs de timeline deben ser una secuencia creciente."
 
-#: timeline.c:108
+#: timeline.c:107
 #, c-format
 msgid "invalid data in history file"
 msgstr "datos no válidos en archivo de historia"
 
-#: timeline.c:109
+#: timeline.c:108
 #, c-format
 msgid "Timeline IDs must be less than child timeline's ID."
 msgstr "IDs de timeline deben ser menores que el ID de timeline del hijo."
 
-#: xlogreader.c:626
+#: 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"
 
-#: xlogreader.c:635
+#: xlogreader.c:628
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "contrecord solicitado por %X/%X"
 
-#: xlogreader.c:676 xlogreader.c:1123
+#: xlogreader.c:669 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"
 
-#: 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"
-
-#: xlogreader.c:727
-#, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "largo de registro %u en %X/%X demasiado largo"
-
-#: xlogreader.c:776
+#: xlogreader.c:758
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "no hay bandera de contrecord en %X/%X"
 
-#: xlogreader.c:789
+#: 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"
 
-#: xlogreader.c:924
-#, c-format
-msgid "missing contrecord at %X/%X"
-msgstr "falta un contrecord en %X/%X"
-
-#: xlogreader.c:1131
+#: 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"
 
-#: xlogreader.c:1144 xlogreader.c:1160
+#: xlogreader.c:1155 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"
 
-#: xlogreader.c:1196
+#: 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"
 
-#: xlogreader.c:1230
+#: 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"
 
-#: xlogreader.c:1245 xlogreader.c:1287
+#: xlogreader.c:1258 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"
 
-#: xlogreader.c:1261
+#: 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"
 
-#: xlogreader.c:1269
+#: 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"
 
-#: xlogreader.c:1275
+#: 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"
 
-#: xlogreader.c:1307
+#: 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"
 
-#: xlogreader.c:1333
+#: 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"
 
-#: xlogreader.c:1739
+#: 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"
 
-#: xlogreader.c:1763
+#: 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"
 
-#: xlogreader.c:1770
+#: 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"
 
-#: xlogreader.c:1806
+#: 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"
 
-#: xlogreader.c:1822
+#: 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"
 
-#: xlogreader.c:1836
+#: 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"
 
-#: xlogreader.c:1851
+#: 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"
 
-#: xlogreader.c:1867
+#: 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 "
 
-#: xlogreader.c:1879
+#: xlogreader.c:1889
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "block_id %u no válido en %X/%X"
 
-#: xlogreader.c:1946
+#: xlogreader.c:1956
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "registro con largo no válido en %X/%X"
 
-#: xlogreader.c:1972
+#: 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"
 
-#: xlogreader.c:2056
+#: 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 especificado %d no válido"
 
-#: xlogreader.c:2063
+#: 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"
 
-#: xlogreader.c:2090 xlogreader.c:2107
+#: xlogreader.c:2100 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"
 
-#: xlogreader.c:2116
+#: 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"
 
-#: xlogreader.c:2124
+#: 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"
index b522bdd5b2043d6848c673e17e70e1bc005d7ff7..1b85709d2ad70e082143303cab536516dc445c43 100644 (file)
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_test_fsync (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:22+0000\n"
+"POT-Creation-Date: 2024-08-01 11:24+0000\n"
 "PO-Revision-Date: 2023-05-22 12:06+0200\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
@@ -40,88 +40,99 @@ msgstr "detalle: "
 msgid "hint: "
 msgstr "consejo: "
 
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "memoria agotada\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "no se puede duplicar un puntero nulo (error interno)\n"
+
 #. translator: maintain alignment with NA_FORMAT
-#: pg_test_fsync.c:32
+#: pg_test_fsync.c:38
 #, c-format
 msgid "%13.3f ops/sec  %6.0f usecs/op\n"
 msgstr "%13.3f ops/seg  %6.0f usegs/op\n"
 
-#: pg_test_fsync.c:50
+#: pg_test_fsync.c:56
 #, c-format
 msgid "could not create thread for alarm"
 msgstr "no se pudo crear el thread para la alarma"
 
-#: pg_test_fsync.c:95
+#: pg_test_fsync.c:101
 #, c-format
 msgid "%s: %m"
 msgstr "%s: %m"
 
-#: pg_test_fsync.c:159
+#: pg_test_fsync.c:165
 #, c-format
 msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n"
 msgstr "Empleo: %s [-f ARCHIVO] [-s SEG-POR-PRUEBA]\n"
 
-#: pg_test_fsync.c:185
+#: pg_test_fsync.c:191
 #, c-format
 msgid "invalid argument for option %s"
 msgstr "argumento no válido para la opción %s"
 
-#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207
+#: pg_test_fsync.c:192 pg_test_fsync.c:204 pg_test_fsync.c:213
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Pruebe «%s --help» para mayor información."
 
-#: pg_test_fsync.c:192
+#: pg_test_fsync.c:198
 #, c-format
 msgid "%s must be in range %u..%u"
 msgstr "%s debe estar en el rango %u..%u"
 
-#: pg_test_fsync.c:205
+#: pg_test_fsync.c:211
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)"
 
-#: pg_test_fsync.c:211
+#: pg_test_fsync.c:217
 #, c-format
 msgid "%u second per test\n"
 msgid_plural "%u seconds per test\n"
 msgstr[0] "%u segundo por prueba\n"
 msgstr[1] "%u segundos por prueba\n"
 
-#: pg_test_fsync.c:216
+#: pg_test_fsync.c:222
 #, c-format
 msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n"
 msgstr "O_DIRECT tiene soporte en esta plataforma para open_datasync y open_sync.\n"
 
-#: pg_test_fsync.c:218
+#: pg_test_fsync.c:224
 #, c-format
 msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n"
 msgstr "F_NOCACHE tiene soporte en esta plataforma para open_datasync y open_sync.\n"
 
-#: pg_test_fsync.c:220
+#: pg_test_fsync.c:226
 #, c-format
 msgid "Direct I/O is not supported on this platform.\n"
 msgstr "Direct I/O no está soportado en esta plataforma.\n"
 
-#: pg_test_fsync.c:245 pg_test_fsync.c:335 pg_test_fsync.c:357
-#: pg_test_fsync.c:381 pg_test_fsync.c:525 pg_test_fsync.c:537
-#: pg_test_fsync.c:553 pg_test_fsync.c:559 pg_test_fsync.c:581
+#: pg_test_fsync.c:251 pg_test_fsync.c:341 pg_test_fsync.c:363
+#: pg_test_fsync.c:387 pg_test_fsync.c:531 pg_test_fsync.c:543
+#: pg_test_fsync.c:559 pg_test_fsync.c:565 pg_test_fsync.c:587
 msgid "could not open output file"
 msgstr "no se pudo abrir el archivo de salida"
 
-#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:344
-#: pg_test_fsync.c:366 pg_test_fsync.c:390 pg_test_fsync.c:429
-#: pg_test_fsync.c:488 pg_test_fsync.c:527 pg_test_fsync.c:555
-#: pg_test_fsync.c:586
+#: pg_test_fsync.c:255 pg_test_fsync.c:325 pg_test_fsync.c:350
+#: pg_test_fsync.c:372 pg_test_fsync.c:396 pg_test_fsync.c:435
+#: pg_test_fsync.c:494 pg_test_fsync.c:533 pg_test_fsync.c:561
+#: pg_test_fsync.c:592
 msgid "write failed"
 msgstr "escritura falló"
 
-#: pg_test_fsync.c:253 pg_test_fsync.c:368 pg_test_fsync.c:392
-#: pg_test_fsync.c:529 pg_test_fsync.c:561
+#: pg_test_fsync.c:259 pg_test_fsync.c:374 pg_test_fsync.c:398
+#: pg_test_fsync.c:535 pg_test_fsync.c:567
 msgid "fsync failed"
 msgstr "fsync falló"
 
-#: pg_test_fsync.c:292
+#: pg_test_fsync.c:298
 #, c-format
 msgid ""
 "\n"
@@ -130,7 +141,7 @@ msgstr ""
 "\n"
 "Comparar métodos de sincronización de archivos usando una escritura de %dkB:\n"
 
-#: pg_test_fsync.c:294
+#: pg_test_fsync.c:300
 #, c-format
 msgid ""
 "\n"
@@ -139,21 +150,22 @@ msgstr ""
 "\n"
 "Comparar métodos de sincronización de archivos usando dos escrituras de %dkB:\n"
 
-#: pg_test_fsync.c:295
-#, c-format
-msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n"
+#: pg_test_fsync.c:301
+#, fuzzy, c-format
+#| msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n"
+msgid "(in \"wal_sync_method\" preference order, except fdatasync is Linux's default)\n"
 msgstr "(en orden de preferencia de wal_sync_method, excepto en Linux donde fdatasync es el predeterminado)\n"
 
-#: pg_test_fsync.c:306 pg_test_fsync.c:409 pg_test_fsync.c:476
+#: pg_test_fsync.c:312 pg_test_fsync.c:415 pg_test_fsync.c:482
 msgid "n/a*"
 msgstr "n/a*"
 
-#: pg_test_fsync.c:325 pg_test_fsync.c:397 pg_test_fsync.c:435
-#: pg_test_fsync.c:494
+#: pg_test_fsync.c:331 pg_test_fsync.c:403 pg_test_fsync.c:441
+#: pg_test_fsync.c:500
 msgid "n/a"
 msgstr "n/a"
 
-#: pg_test_fsync.c:440
+#: pg_test_fsync.c:446
 #, c-format
 msgid ""
 "* This file system and its mount options do not support direct\n"
@@ -162,7 +174,7 @@ msgstr ""
 "* Este sistema de archivos con sus opciones de montaje no soportan\n"
 "  Direct I/O, e.g. ext4 en modo journal.\n"
 
-#: pg_test_fsync.c:448
+#: pg_test_fsync.c:454
 #, c-format
 msgid ""
 "\n"
@@ -171,7 +183,7 @@ msgstr ""
 "\n"
 "Comparar open_sync con diferentes tamaños de escritura:\n"
 
-#: pg_test_fsync.c:449
+#: pg_test_fsync.c:455
 #, c-format
 msgid ""
 "(This is designed to compare the cost of writing 16kB in different write\n"
@@ -180,27 +192,27 @@ msgstr ""
 "(Esto está diseñado para comparar el costo de escribir 16kB en diferentes\n"
 "tamaños de escrituras open_sync.)\n"
 
-#: pg_test_fsync.c:452
+#: pg_test_fsync.c:458
 msgid " 1 * 16kB open_sync write"
 msgstr " 1 * 16kB escritura open_sync"
 
-#: pg_test_fsync.c:453
+#: pg_test_fsync.c:459
 msgid " 2 *  8kB open_sync writes"
 msgstr " 2 *  8kB escrituras open_sync"
 
-#: pg_test_fsync.c:454
+#: pg_test_fsync.c:460
 msgid " 4 *  4kB open_sync writes"
 msgstr " 4 *  4kB escrituras open_sync"
 
-#: pg_test_fsync.c:455
+#: pg_test_fsync.c:461
 msgid " 8 *  2kB open_sync writes"
 msgstr " 8 *  2kB escrituras open_sync"
 
-#: pg_test_fsync.c:456
+#: pg_test_fsync.c:462
 msgid "16 *  1kB open_sync writes"
 msgstr "16 *  1kB escrituras open_sync"
 
-#: pg_test_fsync.c:510
+#: pg_test_fsync.c:516
 #, c-format
 msgid ""
 "\n"
@@ -209,7 +221,7 @@ msgstr ""
 "\n"
 "Probar si se respeta fsync en un descriptor de archivo que no es de escritura:\n"
 
-#: pg_test_fsync.c:511
+#: pg_test_fsync.c:517
 #, c-format
 msgid ""
 "(If the times are similar, fsync() can sync data written on a different\n"
@@ -218,7 +230,7 @@ msgstr ""
 "(Si los tiempos son similares, fsync() puede sincronizar datos escritos\n"
 "en un descriptor diferente.)\n"
 
-#: pg_test_fsync.c:576
+#: pg_test_fsync.c:582
 #, c-format
 msgid ""
 "\n"
index 47cb27d9a0f69fb535b5858ee6ebc99f8c59949b..473f0494028bf2e63ecc596586010c23380fe228 100644 (file)
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_test_timing (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:19+0000\n"
+"POT-Creation-Date: 2024-08-01 11:21+0000\n"
 "PO-Revision-Date: 2023-05-22 12:06+0200\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
@@ -20,6 +20,17 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Poedit 2.4.2\n"
 
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "memoria agotada\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "no se puede duplicar un puntero nulo (error interno)\n"
+
 #: pg_test_timing.c:59
 #, c-format
 msgid "Usage: %s [-d DURATION]\n"
index 327cc36f53370ff13dec9967451a69142690681b..eac63629c9d3f681033c86ed8abafc97738f72e1 100644 (file)
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_upgrade (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-10-03 07:19+0000\n"
+"POT-Creation-Date: 2024-08-01 11:20+0000\n"
 "PO-Revision-Date: 2023-10-03 16:20+0200\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
@@ -20,8 +20,362 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: BlackCAT 1.1\n"
 
-#: check.c:72
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
 #, c-format
+msgid "out of memory\n"
+msgstr "memoria agotada\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "no se puede duplicar un puntero nulo (error interno)\n"
+
+#: ../../common/restricted_token.c:168
+#, c-format
+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/username.c:43
+#, c-format
+msgid "could not look up effective user ID %ld: %s"
+msgstr "no se pudo buscar el ID de usuario efectivo %ld: %s"
+
+#: ../../common/username.c:45
+msgid "user does not exist"
+msgstr "el usuario no existe"
+
+#: ../../common/username.c:60
+#, c-format
+msgid "user name lookup failure: error code %lu"
+msgstr "fallo en la búsqueda de nombre de usuario: código de error %lu"
+
+#: ../../fe_utils/string_utils.c:434
+#, fuzzy, c-format
+#| msgid "shell command argument contains a newline or carriage return: \"%s\""
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»"
+
+#: ../../fe_utils/string_utils.c:607
+#, fuzzy, c-format
+#| msgid "shell command argument contains a newline or carriage return: \"%s\""
+msgid "database name contains a newline or carriage return: \"%s\"\n"
+msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»"
+
+#: check.c:111
+msgid "Checking for system-defined composite types in user tables"
+msgstr "Verificando tipos compuestos definidos por el sistema en tablas de usuario"
+
+#: check.c:118
+#, fuzzy
+#| msgid ""
+#| "Your installation contains system-defined composite types in user tables.\n"
+#| "These type OIDs are not stable across PostgreSQL versions,\n"
+#| "so this cluster cannot currently be upgraded.  You can\n"
+#| "drop the problem columns and restart the upgrade.\n"
+#| "A list of the problem columns is in the file:\n"
+#| "    %s"
+msgid ""
+"Your installation contains system-defined composite types in user tables.\n"
+"These type OIDs are not stable across PostgreSQL versions,\n"
+"so this cluster cannot currently be upgraded.  You can drop the\n"
+"problem columns and restart the upgrade.\n"
+msgstr ""
+"Su instalación contiene tipos compuestos definidos por el sistema en\n"
+"tablas de usuario. Los OIDs de estos tipos no son estables entre diferentes\n"
+"versiones de PostgreSQL, por lo que este clúster no puede ser actualizado.\n"
+"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n"
+"Un listado de las columnas problemáticas está en el archivo:\n"
+"    %s"
+
+#: check.c:132
+msgid "Checking for incompatible \"line\" data type"
+msgstr "Verificando datos de usuario de tipo «line» incompatible"
+
+#: check.c:137
+#, fuzzy
+#| msgid ""
+#| "Your installation contains the \"line\" data type in user tables.\n"
+#| "This data type changed its internal and input/output format\n"
+#| "between your old and new versions so this\n"
+#| "cluster cannot currently be upgraded.  You can\n"
+#| "drop the problem columns and restart the upgrade.\n"
+#| "A list of the problem columns is in the file:\n"
+#| "    %s"
+msgid ""
+"Your installation contains the \"line\" data type in user tables.\n"
+"This data type changed its internal and input/output format\n"
+"between your old and new versions so this\n"
+"cluster cannot currently be upgraded.  You can\n"
+"drop the problem columns and restart the upgrade.\n"
+msgstr ""
+"Su instalación contiene el tipo de dato «line» en tablas de usuario.  Este\n"
+"tipo de dato cambió su formato interno y de entrada/salida entre las\n"
+"versiones de sus clústers antiguo y nuevo, por lo que este clúster no puede\n"
+"actualmente ser actualizado.  Puede eliminar las columnas problemáticas y\n"
+"reiniciar la actualización.  Un listado de las columnas problemáticas está\n"
+"en el archivo:\n"
+"    %s"
+
+#: check.c:154
+msgid "Checking for reg* data types in user tables"
+msgstr "Verificando tipos de datos reg* en datos de usuario"
+
+#: check.c:181
+#, fuzzy
+#| msgid ""
+#| "Your installation contains one of the reg* data types in user tables.\n"
+#| "These data types reference system OIDs that are not preserved by\n"
+#| "pg_upgrade, so this cluster cannot currently be upgraded.  You can\n"
+#| "drop the problem columns and restart the upgrade.\n"
+#| "A list of the problem columns is in the file:\n"
+#| "    %s"
+msgid ""
+"Your installation contains one of the reg* data types in user tables.\n"
+"These data types reference system OIDs that are not preserved by\n"
+"pg_upgrade, so this cluster cannot currently be upgraded.  You can\n"
+"drop the problem columns and restart the upgrade.\n"
+msgstr ""
+"Su instalación contiene uno de los tipos reg* en tablas de usuario. Estos tipos\n"
+"de dato hacen referencia a OIDs de sistema que no son preservados por pg_upgrade,\n"
+"por lo que este clúster no puede ser actualizado.\n"
+"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n"
+"Un listado de las columnas problemáticas está en el archivo:\n"
+"    %s"
+
+#: check.c:193
+#, fuzzy
+#| msgid "Checking for incompatible \"line\" data type"
+msgid "Checking for incompatible \"aclitem\" data type"
+msgstr "Verificando datos de usuario de tipo «line» incompatible"
+
+#: check.c:198
+#, fuzzy
+#| msgid ""
+#| "Your installation contains the \"aclitem\" data type in user tables.\n"
+#| "The internal format of \"aclitem\" changed in PostgreSQL version 16\n"
+#| "so this cluster cannot currently be upgraded.  You can drop the\n"
+#| "problem columns and restart the upgrade.  A list of the problem\n"
+#| "columns is in the file:\n"
+#| "    %s"
+msgid ""
+"Your installation contains the \"aclitem\" data type in user tables.\n"
+"The internal format of \"aclitem\" changed in PostgreSQL version 16\n"
+"so this cluster cannot currently be upgraded.  You can drop the\n"
+"problem columns and restart the upgrade.\n"
+msgstr ""
+"Su instalación contiene el tipo «jsonb» en tablas de usuario.\n"
+"El formato interno de «jsonb» cambió durante 9.4 beta,\n"
+"por lo que este clúster no puede ser actualizado.\n"
+"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n"
+"Un listado de las columnas problemáticas está en el archivo:\n"
+"    %s"
+
+#: check.c:217
+msgid "Checking for invalid \"unknown\" user columns"
+msgstr "Verificando columnas de usuario del tipo no válido «unknown»"
+
+#: check.c:222
+#, fuzzy
+#| msgid ""
+#| "Your installation contains the \"unknown\" data type in user tables.\n"
+#| "This data type is no longer allowed in tables, so this\n"
+#| "cluster cannot currently be upgraded.  You can\n"
+#| "drop the problem columns and restart the upgrade.\n"
+#| "A list of the problem columns is in the file:\n"
+#| "    %s"
+msgid ""
+"Your installation contains the \"unknown\" data type in user tables.\n"
+"This data type is no longer allowed in tables, so this cluster\n"
+"cannot currently be upgraded.  You can drop the problem columns\n"
+"and restart the upgrade.\n"
+msgstr ""
+"Su instalación contiene el tipo «unknown» en tablas de usuario.\n"
+"Este tipo ya no es permitido en tablas,\n"
+"por lo que este clúster no puede ser actualizado. Puede\n"
+"eliminar las columnas problemáticas y reiniciar la actualización.\n"
+"Un listado de las columnas problemáticas está en el archivo:\n"
+"    %s"
+
+#: check.c:239
+msgid "Checking for invalid \"sql_identifier\" user columns"
+msgstr "Verificando columnas de usuario del tipo «sql_identifier»"
+
+#: check.c:244
+#, fuzzy
+#| msgid ""
+#| "Your installation contains the \"sql_identifier\" data type in user tables.\n"
+#| "The on-disk format for this data type has changed, so this\n"
+#| "cluster cannot currently be upgraded.  You can\n"
+#| "drop the problem columns and restart the upgrade.\n"
+#| "A list of the problem columns is in the file:\n"
+#| "    %s"
+msgid ""
+"Your installation contains the \"sql_identifier\" data type in user tables.\n"
+"The on-disk format for this data type has changed, so this\n"
+"cluster cannot currently be upgraded.  You can drop the problem\n"
+"columns and restart the upgrade.\n"
+msgstr ""
+"Su instalación contiene el tipo de dato «sql_identifier» en tablas de usuario.\n"
+"El formato en disco para este tipo de dato ha cambiado, por lo que\n"
+"este clúster no puede ser actualizado.\n"
+"Puede eliminar las columnas problemáticas y reiniciar la actualización\n"
+"Un listado de las columnas problemáticas está en el archivo:\n"
+"    %s"
+
+#: check.c:255
+#, fuzzy
+#| msgid "Checking for incompatible \"%s\" data type in user tables"
+msgid "Checking for incompatible \"jsonb\" data type in user tables"
+msgstr "Verificando datos de usuario de tipo «%s» incompatible"
+
+#: check.c:260
+#, fuzzy
+#| msgid ""
+#| "Your installation contains the \"jsonb\" data type in user tables.\n"
+#| "The internal format of \"jsonb\" changed during 9.4 beta so this\n"
+#| "cluster cannot currently be upgraded.  You can\n"
+#| "drop the problem columns and restart the upgrade.\n"
+#| "A list of the problem columns is in the file:\n"
+#| "    %s"
+msgid ""
+"Your installation contains the \"jsonb\" data type in user tables.\n"
+"The internal format of \"jsonb\" changed during 9.4 beta so this\n"
+"cluster cannot currently be upgraded.  You can drop the problem \n"
+"columns and restart the upgrade.\n"
+msgstr ""
+"Su instalación contiene el tipo «jsonb» en tablas de usuario.\n"
+"El formato interno de «jsonb» cambió durante 9.4 beta,\n"
+"por lo que este clúster no puede ser actualizado.\n"
+"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n"
+"Un listado de las columnas problemáticas está en el archivo:\n"
+"    %s"
+
+#: check.c:272
+#, fuzzy
+#| msgid "Checking for removed \"%s\" data type in user tables"
+msgid "Checking for removed \"abstime\" data type in user tables"
+msgstr "Verificando tipo de datos «%s» eliminado en tablas de usuario"
+
+#: check.c:277
+#, fuzzy
+#| msgid ""
+#| "Your installation contains the \"%s\" data type in user tables.\n"
+#| "The \"%s\" type has been removed in PostgreSQL version %s,\n"
+#| "so this cluster cannot currently be upgraded.  You can drop the\n"
+#| "problem columns, or change them to another data type, and restart\n"
+#| "the upgrade.  A list of the problem columns is in the file:\n"
+#| "    %s"
+msgid ""
+"Your installation contains the \"abstime\" data type in user tables.\n"
+"The \"abstime\" type has been removed in PostgreSQL version 12,\n"
+"so this cluster cannot currently be upgraded.  You can drop the\n"
+"problem columns, or change them to another data type, and restart\n"
+"the upgrade.\n"
+msgstr ""
+"Su instalación contiene el tipo «%s» en tablas de usuario.\n"
+"El tipo «%s» fue eliminado en la versión %s de PostgreSQL,\n"
+"por lo que este clúster no puede ser actualizado.\n"
+"Puede eliminar las columnas problemáticas, o cambiarlas a otro\n"
+"tipo de dato, y reiniciar la actualización.\n"
+"Un listado de las columnas problemáticas está en el archivo:\n"
+"    %s"
+
+#: check.c:285
+#, fuzzy
+#| msgid "Checking for removed \"%s\" data type in user tables"
+msgid "Checking for removed \"reltime\" data type in user tables"
+msgstr "Verificando tipo de datos «%s» eliminado en tablas de usuario"
+
+#: check.c:290
+#, fuzzy
+#| msgid ""
+#| "Your installation contains the \"%s\" data type in user tables.\n"
+#| "The \"%s\" type has been removed in PostgreSQL version %s,\n"
+#| "so this cluster cannot currently be upgraded.  You can drop the\n"
+#| "problem columns, or change them to another data type, and restart\n"
+#| "the upgrade.  A list of the problem columns is in the file:\n"
+#| "    %s"
+msgid ""
+"Your installation contains the \"reltime\" data type in user tables.\n"
+"The \"reltime\" type has been removed in PostgreSQL version 12,\n"
+"so this cluster cannot currently be upgraded.  You can drop the\n"
+"problem columns, or change them to another data type, and restart\n"
+"the upgrade.\n"
+msgstr ""
+"Su instalación contiene el tipo «%s» en tablas de usuario.\n"
+"El tipo «%s» fue eliminado en la versión %s de PostgreSQL,\n"
+"por lo que este clúster no puede ser actualizado.\n"
+"Puede eliminar las columnas problemáticas, o cambiarlas a otro\n"
+"tipo de dato, y reiniciar la actualización.\n"
+"Un listado de las columnas problemáticas está en el archivo:\n"
+"    %s"
+
+#: check.c:298
+#, fuzzy
+#| msgid "Checking for removed \"%s\" data type in user tables"
+msgid "Checking for removed \"tinterval\" data type in user tables"
+msgstr "Verificando tipo de datos «%s» eliminado en tablas de usuario"
+
+#: check.c:303
+#, fuzzy
+#| msgid ""
+#| "Your installation contains the \"%s\" data type in user tables.\n"
+#| "The \"%s\" type has been removed in PostgreSQL version %s,\n"
+#| "so this cluster cannot currently be upgraded.  You can drop the\n"
+#| "problem columns, or change them to another data type, and restart\n"
+#| "the upgrade.  A list of the problem columns is in the file:\n"
+#| "    %s"
+msgid ""
+"Your installation contains the \"tinterval\" data type in user tables.\n"
+"The \"tinterval\" type has been removed in PostgreSQL version 12,\n"
+"so this cluster cannot currently be upgraded.  You can drop the\n"
+"problem columns, or change them to another data type, and restart\n"
+"the upgrade.\n"
+msgstr ""
+"Su instalación contiene el tipo «%s» en tablas de usuario.\n"
+"El tipo «%s» fue eliminado en la versión %s de PostgreSQL,\n"
+"por lo que este clúster no puede ser actualizado.\n"
+"Puede eliminar las columnas problemáticas, o cambiarlas a otro\n"
+"tipo de dato, y reiniciar la actualización.\n"
+"Un listado de las columnas problemáticas está en el archivo:\n"
+"    %s"
+
+#: check.c:345
+#, fuzzy, c-format
+#| msgid "Checking for reg* data types in user tables"
+msgid "Checking for data type usage"
+msgstr "Verificando tipos de datos reg* en datos de usuario"
+
+#: check.c:480
+#, fuzzy, c-format
+#| msgid "%s() failed: %s"
+msgid "    failed check: %s"
+msgstr "%s() falló: %s"
+
+#: check.c:483
+msgid "A list of the problem columns is in the file:"
+msgstr ""
+
+#: check.c:495 check.c:963 check.c:1136 check.c:1251 check.c:1345 check.c:1473
+#: check.c:1549 check.c:1613 check.c:1686 check.c:1865 check.c:1884
+#: check.c:1953 check.c:2005 file.c:378 file.c:415 function.c:189 option.c:493
+#: version.c:79 version.c:177
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "no se pudo abrir el archivo «%s»: %m"
+
+#: check.c:522
+#, fuzzy, c-format
+#| msgid "Data page checksums are disabled.\n"
+msgid "Data type checks failed: %s"
+msgstr "Las sumas de verificación en páginas de datos han sido desactivadas.\n"
+
+#: check.c:563
+#, fuzzy, c-format
+#| msgid ""
+#| "Performing Consistency Checks on Old Live Server\n"
+#| "------------------------------------------------"
 msgid ""
 "Performing Consistency Checks on Old Live Server\n"
 "------------------------------------------------"
@@ -29,8 +383,11 @@ msgstr ""
 "Verificando Consistencia en Vivo en el Servidor Antiguo\n"
 "-------------------------------------------------------"
 
-#: check.c:78
-#, c-format
+#: check.c:569
+#, fuzzy, c-format
+#| msgid ""
+#| "Performing Consistency Checks\n"
+#| "-----------------------------"
 msgid ""
 "Performing Consistency Checks\n"
 "-----------------------------"
@@ -38,8 +395,11 @@ msgstr ""
 "Verificando Consistencia\n"
 "------------------------"
 
-#: check.c:234
-#, c-format
+#: check.c:718
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "*Clusters are compatible*"
 msgid ""
 "\n"
 "*Clusters are compatible*"
@@ -47,8 +407,12 @@ msgstr ""
 "\n"
 "*Los clústers son compatibles*"
 
-#: check.c:242
-#, c-format
+#: check.c:726
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "If pg_upgrade fails after this point, you must re-initdb the\n"
+#| "new cluster before continuing."
 msgid ""
 "\n"
 "If pg_upgrade fails after this point, you must re-initdb the\n"
@@ -58,8 +422,12 @@ msgstr ""
 "Si pg_upgrade falla a partir de este punto, deberá re-ejecutar initdb\n"
 "en el clúster nuevo antes de continuar."
 
-#: check.c:283
-#, c-format
+#: check.c:767
+#, fuzzy, c-format
+#| msgid ""
+#| "Optimizer statistics are not transferred by pg_upgrade.\n"
+#| "Once you start the new server, consider running:\n"
+#| "    %s/vacuumdb %s--all --analyze-in-stages"
 msgid ""
 "Optimizer statistics are not transferred by pg_upgrade.\n"
 "Once you start the new server, consider running:\n"
@@ -69,8 +437,11 @@ msgstr ""
 "Una vez que inicie el servidor nuevo, considere ejecutar:\n"
 "    %s/vacuumdb %s--all --analyze-in-stages"
 
-#: check.c:289
-#, c-format
+#: check.c:773
+#, fuzzy, c-format
+#| msgid ""
+#| "Running this script will delete the old cluster's data files:\n"
+#| "    %s"
 msgid ""
 "Running this script will delete the old cluster's data files:\n"
 "    %s"
@@ -78,8 +449,13 @@ msgstr ""
 "Ejecutando este script se borrarán los archivos de datos del servidor antiguo:\n"
 "    %s"
 
-#: check.c:294
-#, c-format
+#: check.c:778
+#, fuzzy, c-format
+#| msgid ""
+#| "Could not create a script to delete the old cluster's data files\n"
+#| "because user-defined tablespaces or the new cluster's data directory\n"
+#| "exist in the old cluster directory.  The old cluster's contents must\n"
+#| "be deleted manually."
 msgid ""
 "Could not create a script to delete the old cluster's data files\n"
 "because user-defined tablespaces or the new cluster's data directory\n"
@@ -91,58 +467,69 @@ msgstr ""
 "o el directorio de datos del servidor nuevo.  El contenido del servidor\n"
 "antiguo debe ser borrado manualmente."
 
-#: check.c:306
+#: check.c:790
 #, c-format
 msgid "Checking cluster versions"
 msgstr "Verificando las versiones de los clústers"
 
-#: check.c:318
-#, c-format
+#: check.c:802
+#, fuzzy, c-format
+#| msgid "This utility can only upgrade from PostgreSQL version %s and later."
 msgid "This utility can only upgrade from PostgreSQL version %s and later."
 msgstr "Este programa sólo puede actualizar desde PostgreSQL versión %s y posterior."
 
-#: check.c:323
-#, c-format
+#: check.c:807
+#, fuzzy, c-format
+#| msgid "This utility can only upgrade to PostgreSQL version %s."
 msgid "This utility can only upgrade to PostgreSQL version %s."
 msgstr "Este programa sólo puede actualizar a PostgreSQL versión %s."
 
-#: check.c:332
-#, c-format
+#: check.c:816
+#, fuzzy, c-format
+#| msgid "This utility cannot be used to downgrade to older major PostgreSQL versions."
 msgid "This utility cannot be used to downgrade to older major PostgreSQL versions."
 msgstr "Este programa no puede usarse para volver a versiones anteriores de PostgreSQL."
 
-#: check.c:337
-#, c-format
+#: check.c:821
+#, fuzzy, c-format
+#| msgid "Old cluster data and binary directories are from different major versions."
 msgid "Old cluster data and binary directories are from different major versions."
 msgstr "El directorio de datos antiguo y el directorio de binarios antiguo son de versiones diferentes."
 
-#: check.c:340
-#, c-format
+#: check.c:824
+#, fuzzy, c-format
+#| msgid "New cluster data and binary directories are from different major versions."
 msgid "New cluster data and binary directories are from different major versions."
 msgstr "El directorio de datos nuevo y el directorio de binarios nuevo son de versiones diferentes."
 
-#: check.c:355
-#, c-format
+#: check.c:839
+#, fuzzy, c-format
+#| msgid "When checking a live server, the old and new port numbers must be different."
 msgid "When checking a live server, the old and new port numbers must be different."
 msgstr "Al verificar servidores en caliente, los números de port antiguo y nuevo deben ser diferentes."
 
-#: check.c:375
-#, c-format
+#: check.c:859
+#, fuzzy, c-format
+#| msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\""
 msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\""
 msgstr "La base de datos «%s» del clúster nuevo no está vacía: se encontró la relación «%s.%s»"
 
-#: check.c:398
+#: check.c:882
 #, c-format
 msgid "Checking for new cluster tablespace directories"
 msgstr "Verificando los directorios de tablespaces para el nuevo clúster"
 
-#: check.c:409
-#, c-format
+#: check.c:893
+#, fuzzy, c-format
+#| msgid "new cluster tablespace directory already exists: \"%s\""
 msgid "new cluster tablespace directory already exists: \"%s\""
 msgstr "directorio de tablespace para el nuevo clúster ya existe: «%s»"
 
-#: check.c:442
-#, c-format
+#: check.c:926
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "WARNING:  new data directory should not be inside the old data directory, i.e. %s"
 msgid ""
 "\n"
 "WARNING:  new data directory should not be inside the old data directory, i.e. %s"
@@ -151,8 +538,11 @@ msgstr ""
 "ADVERTENCIA: el directorio de datos nuevo no debería estar dentro del directorio antiguo,\n"
 "esto es, %s"
 
-#: check.c:466
-#, c-format
+#: check.c:950
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "WARNING:  user-defined tablespace locations should not be inside the data directory, i.e. %s"
 msgid ""
 "\n"
 "WARNING:  user-defined tablespace locations should not be inside the data directory, i.e. %s"
@@ -160,62 +550,68 @@ msgstr ""
 "\n"
 "ADVERTENCIA: las ubicaciones de tablespaces definidos por el usuario no deberían estar dentro del directorio de datos, esto es, %s"
 
-#: check.c:476
+#: check.c:960
 #, c-format
 msgid "Creating script to delete old cluster"
 msgstr "Creando un script para borrar el clúster antiguo"
 
-#: check.c:479 check.c:652 check.c:768 check.c:863 check.c:992 check.c:1069
-#: check.c:1348 check.c:1422 file.c:339 function.c:163 option.c:476
-#: version.c:116 version.c:292 version.c:426
-#, c-format
-msgid "could not open file \"%s\": %s"
-msgstr "no se pudo abrir el archivo «%s»: %s"
-
-#: check.c:530
-#, c-format
-msgid "could not add execute permission to file \"%s\": %s"
+#: check.c:1014
+#, fuzzy, c-format
+#| msgid "could not add execute permission to file \"%s\": %s"
+msgid "could not add execute permission to file \"%s\": %m"
 msgstr "no se pudo agregar permisos de ejecución al archivo «%s»: %s"
 
-#: check.c:550
+#: check.c:1034
 #, c-format
 msgid "Checking database user is the install user"
 msgstr "Verificando que el usuario de base de datos es el usuario de instalación"
 
-#: check.c:566
-#, c-format
+#: check.c:1050
+#, fuzzy, c-format
+#| msgid "database user \"%s\" is not the install user"
 msgid "database user \"%s\" is not the install user"
 msgstr "el usuario de base de datos «%s» no es el usuario de instalación"
 
-#: check.c:577
-#, c-format
+#: check.c:1061
+#, fuzzy, c-format
+#| msgid "could not determine the number of users"
 msgid "could not determine the number of users"
 msgstr "no se pudo determinar el número de usuarios"
 
-#: check.c:585
-#, c-format
+#: check.c:1069
+#, fuzzy, c-format
+#| msgid "Only the install user can be defined in the new cluster."
 msgid "Only the install user can be defined in the new cluster."
 msgstr "Sólo el usuario de instalación puede estar definido en el nuevo clúster."
 
-#: check.c:614
+#: check.c:1098
 #, c-format
 msgid "Checking database connection settings"
 msgstr "Verificando los parámetros de conexión de bases de datos"
 
-#: check.c:640
-#, c-format
+#: check.c:1124
+#, fuzzy, c-format
+#| msgid "template0 must not allow connections, i.e. its pg_database.datallowconn must be false"
 msgid "template0 must not allow connections, i.e. its pg_database.datallowconn must be false"
 msgstr "template0 no debe permitir conexiones, es decir su pg_database.datallowconn debe ser «false»"
 
-#: check.c:667 check.c:788 check.c:886 check.c:1012 check.c:1089 check.c:1148
-#: check.c:1209 check.c:1238 check.c:1272 check.c:1303 check.c:1362
-#: check.c:1443 function.c:185 version.c:192 version.c:232 version.c:378
-#, c-format
+#: check.c:1150 check.c:1270 check.c:1367 check.c:1492 check.c:1568
+#: check.c:1626 check.c:1706 check.c:1897 check.c:2022 function.c:210
+#, fuzzy, c-format
+#| msgid "fatal"
 msgid "fatal"
 msgstr "fatal"
 
-#: check.c:668
-#, c-format
+#: check.c:1151
+#, fuzzy, c-format
+#| msgid ""
+#| "All non-template0 databases must allow connections, i.e. their\n"
+#| "pg_database.datallowconn must be true.  Your installation contains\n"
+#| "non-template0 databases with their pg_database.datallowconn set to\n"
+#| "false.  Consider allowing connection for all non-template0 databases\n"
+#| "or drop the databases which do not allow connections.  A list of\n"
+#| "databases with the problem is in the file:\n"
+#| "    %s"
 msgid ""
 "All non-template0 databases must allow connections, i.e. their\n"
 "pg_database.datallowconn must be true.  Your installation contains\n"
@@ -233,28 +629,38 @@ msgstr ""
 "conexión. Un listado de las bases de datos con el problema se encuentra en:\n"
 "    %s"
 
-#: check.c:693
+#: check.c:1176
 #, c-format
 msgid "Checking for prepared transactions"
 msgstr "Verificando transacciones preparadas"
 
-#: check.c:702
-#, c-format
+#: check.c:1185
+#, fuzzy, c-format
+#| msgid "The source cluster contains prepared transactions"
 msgid "The source cluster contains prepared transactions"
 msgstr "El clúster de origen contiene transacciones preparadas"
 
-#: check.c:704
-#, c-format
+#: check.c:1187
+#, fuzzy, c-format
+#| msgid "The target cluster contains prepared transactions"
 msgid "The target cluster contains prepared transactions"
 msgstr "El clúster de destino contiene transacciones preparadas"
 
-#: check.c:729
+#: check.c:1212
 #, c-format
 msgid "Checking for contrib/isn with bigint-passing mismatch"
 msgstr "Verificando contrib/isn con discordancia en mecanismo de paso de bigint"
 
-#: check.c:789
-#, c-format
+#: check.c:1271
+#, fuzzy, c-format
+#| msgid ""
+#| "Your installation contains \"contrib/isn\" functions which rely on the\n"
+#| "bigint data type.  Your old and new clusters pass bigint values\n"
+#| "differently so this cluster cannot currently be upgraded.  You can\n"
+#| "manually dump databases in the old cluster that use \"contrib/isn\"\n"
+#| "facilities, drop them, perform the upgrade, and then restore them.  A\n"
+#| "list of the problem functions is in the file:\n"
+#| "    %s"
 msgid ""
 "Your installation contains \"contrib/isn\" functions which rely on the\n"
 "bigint data type.  Your old and new clusters pass bigint values\n"
@@ -272,13 +678,19 @@ msgstr ""
 "Un listado de funciones problemáticas está en el archivo:\n"
 "    %s"
 
-#: check.c:811
+#: check.c:1293
 #, c-format
 msgid "Checking for user-defined postfix operators"
 msgstr "Verificando operadores postfix definidos por el usuario"
 
-#: check.c:887
-#, c-format
+#: check.c:1368
+#, fuzzy, c-format
+#| msgid ""
+#| "Your installation contains user-defined postfix operators, which are not\n"
+#| "supported anymore.  Consider dropping the postfix operators and replacing\n"
+#| "them with prefix operators or function calls.\n"
+#| "A list of user-defined postfix operators is in the file:\n"
+#| "    %s"
 msgid ""
 "Your installation contains user-defined postfix operators, which are not\n"
 "supported anymore.  Consider dropping the postfix operators and replacing\n"
@@ -292,13 +704,21 @@ msgstr ""
 "Una lista de operadores postfix definidos por el usuario aparece en el archivo:\n"
 "    %s"
 
-#: check.c:911
+#: check.c:1392
 #, c-format
 msgid "Checking for incompatible polymorphic functions"
 msgstr "Verificando funciones polimórficas incompatibles"
 
-#: check.c:1013
-#, c-format
+#: check.c:1493
+#, fuzzy, c-format
+#| msgid ""
+#| "Your installation contains user-defined objects that refer to internal\n"
+#| "polymorphic functions with arguments of type \"anyarray\" or \"anyelement\".\n"
+#| "These user-defined objects must be dropped before upgrading and restored\n"
+#| "afterwards, changing them to refer to the new corresponding functions with\n"
+#| "arguments of type \"anycompatiblearray\" and \"anycompatible\".\n"
+#| "A list of the problematic objects is in the file:\n"
+#| "    %s"
 msgid ""
 "Your installation contains user-defined objects that refer to internal\n"
 "polymorphic functions with arguments of type \"anyarray\" or \"anyelement\".\n"
@@ -316,13 +736,19 @@ msgstr ""
 "«anycompatible». Una lista de los objetos problemáticos está en el archivo:\n"
 "    %s"
 
-#: check.c:1037
+#: check.c:1517
 #, c-format
 msgid "Checking for tables WITH OIDS"
 msgstr "Verificando tablas WITH OIDS"
 
-#: check.c:1090
-#, c-format
+#: check.c:1569
+#, fuzzy, c-format
+#| msgid ""
+#| "Your installation contains tables declared WITH OIDS, which is not\n"
+#| "supported anymore.  Consider removing the oid column using\n"
+#| "    ALTER TABLE ... SET WITHOUT OIDS;\n"
+#| "A list of tables with the problem is in the file:\n"
+#| "    %s"
 msgid ""
 "Your installation contains tables declared WITH OIDS, which is not\n"
 "supported anymore.  Consider removing the oid column using\n"
@@ -336,123 +762,12 @@ msgstr ""
 "Una lista de tablas con este problema aparece en el archivo:\n"
 "    %s"
 
-#: check.c:1118
-#, c-format
-msgid "Checking for system-defined composite types in user tables"
-msgstr "Verificando tipos compuestos definidos por el sistema en tablas de usuario"
-
-#: check.c:1149
-#, c-format
-msgid ""
-"Your installation contains system-defined composite types in user tables.\n"
-"These type OIDs are not stable across PostgreSQL versions,\n"
-"so this cluster cannot currently be upgraded.  You can\n"
-"drop the problem columns and restart the upgrade.\n"
-"A list of the problem columns is in the file:\n"
-"    %s"
-msgstr ""
-"Su instalación contiene tipos compuestos definidos por el sistema en\n"
-"tablas de usuario. Los OIDs de estos tipos no son estables entre diferentes\n"
-"versiones de PostgreSQL, por lo que este clúster no puede ser actualizado.\n"
-"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n"
-"Un listado de las columnas problemáticas está en el archivo:\n"
-"    %s"
-
-#: check.c:1177
-#, c-format
-msgid "Checking for reg* data types in user tables"
-msgstr "Verificando tipos de datos reg* en datos de usuario"
-
-#: check.c:1210
-#, c-format
-msgid ""
-"Your installation contains one of the reg* data types in user tables.\n"
-"These data types reference system OIDs that are not preserved by\n"
-"pg_upgrade, so this cluster cannot currently be upgraded.  You can\n"
-"drop the problem columns and restart the upgrade.\n"
-"A list of the problem columns is in the file:\n"
-"    %s"
-msgstr ""
-"Su instalación contiene uno de los tipos reg* en tablas de usuario. Estos tipos\n"
-"de dato hacen referencia a OIDs de sistema que no son preservados por pg_upgrade,\n"
-"por lo que este clúster no puede ser actualizado.\n"
-"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n"
-"Un listado de las columnas problemáticas está en el archivo:\n"
-"    %s"
-
-#: check.c:1231
-#, c-format
-msgid "Checking for incompatible \"%s\" data type in user tables"
-msgstr "Verificando datos de usuario de tipo «%s» incompatible"
-
-#: check.c:1239
-#, c-format
-msgid ""
-"Your installation contains the \"aclitem\" data type in user tables.\n"
-"The internal format of \"aclitem\" changed in PostgreSQL version 16\n"
-"so this cluster cannot currently be upgraded.  You can drop the\n"
-"problem columns and restart the upgrade.  A list of the problem\n"
-"columns is in the file:\n"
-"    %s"
-msgstr ""
-"Su instalación contiene el tipo «jsonb» en tablas de usuario.\n"
-"El formato interno de «jsonb» cambió durante 9.4 beta,\n"
-"por lo que este clúster no puede ser actualizado.\n"
-"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n"
-"Un listado de las columnas problemáticas está en el archivo:\n"
-"    %s"
-
-#: check.c:1263
-#, c-format
-msgid "Checking for removed \"%s\" data type in user tables"
-msgstr "Verificando tipo de datos «%s» eliminado en tablas de usuario"
-
-#: check.c:1273
-#, c-format
-msgid ""
-"Your installation contains the \"%s\" data type in user tables.\n"
-"The \"%s\" type has been removed in PostgreSQL version %s,\n"
-"so this cluster cannot currently be upgraded.  You can drop the\n"
-"problem columns, or change them to another data type, and restart\n"
-"the upgrade.  A list of the problem columns is in the file:\n"
-"    %s"
-msgstr ""
-"Su instalación contiene el tipo «%s» en tablas de usuario.\n"
-"El tipo «%s» fue eliminado en la versión %s de PostgreSQL,\n"
-"por lo que este clúster no puede ser actualizado.\n"
-"Puede eliminar las columnas problemáticas, o cambiarlas a otro\n"
-"tipo de dato, y reiniciar la actualización.\n"
-"Un listado de las columnas problemáticas está en el archivo:\n"
-"    %s"
-
-#: check.c:1295
-#, c-format
-msgid "Checking for incompatible \"jsonb\" data type"
-msgstr "Verificando datos de usuario en tipo «jsonb» incompatible"
-
-#: check.c:1304
-#, c-format
-msgid ""
-"Your installation contains the \"jsonb\" data type in user tables.\n"
-"The internal format of \"jsonb\" changed during 9.4 beta so this\n"
-"cluster cannot currently be upgraded.  You can\n"
-"drop the problem columns and restart the upgrade.\n"
-"A list of the problem columns is in the file:\n"
-"    %s"
-msgstr ""
-"Su instalación contiene el tipo «jsonb» en tablas de usuario.\n"
-"El formato interno de «jsonb» cambió durante 9.4 beta,\n"
-"por lo que este clúster no puede ser actualizado.\n"
-"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n"
-"Un listado de las columnas problemáticas está en el archivo:\n"
-"    %s"
-
-#: check.c:1331
+#: check.c:1596
 #, c-format
 msgid "Checking for roles starting with \"pg_\""
 msgstr "Verificando roles que empiecen con «pg_»"
 
-#: check.c:1363
+#: check.c:1627
 #, c-format
 msgid ""
 "Your installation contains roles starting with \"pg_\".\n"
@@ -467,13 +782,20 @@ msgstr ""
 "Un listado de los roles que empiezan con «pg_» está en el archivo:\n"
 "    %s"
 
-#: check.c:1383
+#: check.c:1647
 #, c-format
 msgid "Checking for user-defined encoding conversions"
 msgstr "Verificando conversiones de codificación definidas por el usuario"
 
-#: check.c:1444
-#, c-format
+#: check.c:1707
+#, fuzzy, c-format
+#| msgid ""
+#| "Your installation contains user-defined encoding conversions.\n"
+#| "The conversion function parameters changed in PostgreSQL version 14\n"
+#| "so this cluster cannot currently be upgraded.  You can remove the\n"
+#| "encoding conversions in the old cluster and restart the upgrade.\n"
+#| "A list of user-defined encoding conversions is in the file:\n"
+#| "    %s"
 msgid ""
 "Your installation contains user-defined encoding conversions.\n"
 "The conversion function parameters changed in PostgreSQL version 14\n"
@@ -489,180 +811,324 @@ msgstr ""
 "Un listado de las conversiones de codificación definidas por el usuario está en el archivo:\n"
 "    %s"
 
-#: controldata.c:129 controldata.c:175 controldata.c:199 controldata.c:508
-#, c-format
-msgid "could not get control data using %s: %s"
+#: check.c:1746
+#, fuzzy, c-format
+#| msgid "Checking for new cluster tablespace directories"
+msgid "Checking for new cluster logical replication slots"
+msgstr "Verificando los directorios de tablespaces para el nuevo clúster"
+
+#: check.c:1754
+#, fuzzy, c-format
+#| msgid "cannot use relation \"%s.%s\" as logical replication target"
+msgid "could not count the number of logical replication slots"
+msgstr "no se puede usar la relación «%s.%s» como destino de replicación lógica"
+
+#: check.c:1759
+#, fuzzy, c-format
+#| msgid "cannot copy unfinished logical replication slot \"%s\""
+msgid "Expected 0 logical replication slots but found %d."
+msgstr "no se puede copiar el slot de replicación lógica no terminado «%s»"
+
+#: check.c:1769 check.c:1820
+#, fuzzy, c-format
+#| msgid "could not determine server setting for integer_datetimes"
+msgid "could not determine parameter settings on new cluster"
+msgstr "no se pudo determinar la opción integer_datetimes del servidor"
+
+#: check.c:1774
+#, fuzzy, c-format
+#| msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
+msgid "\"wal_level\" must be \"logical\", but is set to \"%s\""
+msgstr "wal_level debe ser definido a «replica» o «logical» al inicio del servidor."
+
+#: check.c:1780
+#, c-format
+msgid "\"max_replication_slots\" (%d) must be greater than or equal to the number of logical replication slots (%d) on the old cluster"
+msgstr ""
+
+#: check.c:1812
+#, fuzzy, c-format
+#| msgid "Checking for new cluster tablespace directories"
+msgid "Checking for new cluster configuration for subscriptions"
+msgstr "Verificando los directorios de tablespaces para el nuevo clúster"
+
+#: check.c:1824
+#, c-format
+msgid "\"max_replication_slots\" (%d) must be greater than or equal to the number of subscriptions (%d) on the old cluster"
+msgstr ""
+
+#: check.c:1846
+#, fuzzy, c-format
+#| msgid "cannot copy unfinished logical replication slot \"%s\""
+msgid "Checking for valid logical replication slots"
+msgstr "no se puede copiar el slot de replicación lógica no terminado «%s»"
+
+#: check.c:1898
+#, fuzzy, c-format
+#| msgid ""
+#| "Your installation contains the \"unknown\" data type in user tables.\n"
+#| "This data type is no longer allowed in tables, so this\n"
+#| "cluster cannot currently be upgraded.  You can\n"
+#| "drop the problem columns and restart the upgrade.\n"
+#| "A list of the problem columns is in the file:\n"
+#| "    %s"
+msgid ""
+"Your installation contains logical replication slots that can't be upgraded.\n"
+"You can remove invalid slots and/or consume the pending WAL for other slots,\n"
+"and then restart the upgrade.\n"
+"A list of the problematic slots is in the file:\n"
+"    %s"
+msgstr ""
+"Su instalación contiene el tipo «unknown» en tablas de usuario.\n"
+"Este tipo ya no es permitido en tablas,\n"
+"por lo que este clúster no puede ser actualizado. Puede\n"
+"eliminar las columnas problemáticas y reiniciar la actualización.\n"
+"Un listado de las columnas problemáticas está en el archivo:\n"
+"    %s"
+
+#: check.c:1922
+#, fuzzy, c-format
+#| msgid "reading subscriptions"
+msgid "Checking for subscription state"
+msgstr "leyendo las suscripciones"
+
+#: check.c:2023
+#, fuzzy, c-format
+#| msgid ""
+#| "Your installation contains the \"unknown\" data type in user tables.\n"
+#| "This data type is no longer allowed in tables, so this\n"
+#| "cluster cannot currently be upgraded.  You can\n"
+#| "drop the problem columns and restart the upgrade.\n"
+#| "A list of the problem columns is in the file:\n"
+#| "    %s"
+msgid ""
+"Your installation contains subscriptions without origin or having relations not in i (initialize) or r (ready) state.\n"
+"You can allow the initial sync to finish for all relations and then restart the upgrade.\n"
+"A list of the problematic subscriptions is in the file:\n"
+"    %s"
+msgstr ""
+"Su instalación contiene el tipo «unknown» en tablas de usuario.\n"
+"Este tipo ya no es permitido en tablas,\n"
+"por lo que este clúster no puede ser actualizado. Puede\n"
+"eliminar las columnas problemáticas y reiniciar la actualización.\n"
+"Un listado de las columnas problemáticas está en el archivo:\n"
+"    %s"
+
+#: controldata.c:129 controldata.c:199
+#, fuzzy, c-format
+#| msgid "could not get control data using %s: %s"
+msgid "could not get control data using %s: %m"
 msgstr "no se pudo obtener datos de control usando %s: %s"
 
-#: controldata.c:140
-#, c-format
+#: controldata.c:139
+#, fuzzy, c-format
+#| msgid "%d: database cluster state problem"
 msgid "%d: database cluster state problem"
 msgstr "%d: problema de estado del clúster"
 
 #: controldata.c:158
-#, c-format
+#, fuzzy, c-format
+#| msgid "The source cluster was shut down while in recovery mode.  To upgrade, use \"rsync\" as documented or shut it down as a primary."
 msgid "The source cluster was shut down while in recovery mode.  To upgrade, use \"rsync\" as documented or shut it down as a primary."
 msgstr "El clúster de origen fue apagado mientras estaba en modo de recuperación. Para actualizarlo, use «rsync» como está documentado, o apáguelo siendo primario."
 
 #: controldata.c:160
-#, c-format
+#, fuzzy, c-format
+#| msgid "The target cluster was shut down while in recovery mode.  To upgrade, use \"rsync\" as documented or shut it down as a primary."
 msgid "The target cluster was shut down while in recovery mode.  To upgrade, use \"rsync\" as documented or shut it down as a primary."
 msgstr "El clúster de destino fue apagado mientras estaba en modo de recuperación. Para actualizarlo, use «rsync» como está documentado, o apáguelo siendo primario."
 
 #: controldata.c:165
-#, c-format
-msgid "The source cluster was not shut down cleanly."
+#, fuzzy, c-format
+#| msgid "The source cluster was not shut down cleanly."
+msgid "The source cluster was not shut down cleanly, state reported as: \"%s\""
 msgstr "El clúster de origen no fue apagado limpiamente."
 
 #: controldata.c:167
-#, c-format
-msgid "The target cluster was not shut down cleanly."
+#, fuzzy, c-format
+#| msgid "The target cluster was not shut down cleanly."
+msgid "The target cluster was not shut down cleanly, state reported as: \"%s\""
 msgstr "El clúster de destino no fue apagado limpiamente."
 
+#: controldata.c:175 controldata.c:507
+#, fuzzy, c-format
+#| msgid "could not get control data using %s: %s"
+msgid "could not get control data using %s: %s"
+msgstr "no se pudo obtener datos de control usando %s: %s"
+
 #: controldata.c:181
-#, c-format
+#, fuzzy, c-format
+#| msgid "The source cluster lacks cluster state information:"
 msgid "The source cluster lacks cluster state information:"
 msgstr "Al clúster de origen le falta información de estado:"
 
 #: controldata.c:183
-#, c-format
+#, fuzzy, c-format
+#| msgid "The target cluster lacks cluster state information:"
 msgid "The target cluster lacks cluster state information:"
 msgstr "Al cluster de destino le falta información de estado:"
 
-#: controldata.c:214 dump.c:50 exec.c:119 pg_upgrade.c:517 pg_upgrade.c:554
-#: relfilenumber.c:231 server.c:34 util.c:337
+#: controldata.c:213 dump.c:50 exec.c:118 pg_upgrade.c:556 pg_upgrade.c:596
+#: pg_upgrade.c:945 relfilenumber.c:233 server.c:34 util.c:337
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: controldata.c:221
-#, c-format
+#: controldata.c:220
+#, fuzzy, c-format
+#| msgid "%d: pg_resetwal problem"
 msgid "%d: pg_resetwal problem"
 msgstr "%d: problema en pg_resetwal"
 
-#: controldata.c:231 controldata.c:241 controldata.c:252 controldata.c:263
-#: controldata.c:274 controldata.c:293 controldata.c:304 controldata.c:315
-#: controldata.c:326 controldata.c:337 controldata.c:348 controldata.c:359
-#: controldata.c:362 controldata.c:366 controldata.c:376 controldata.c:388
-#: controldata.c:399 controldata.c:410 controldata.c:421 controldata.c:432
-#: controldata.c:443 controldata.c:454 controldata.c:465 controldata.c:476
-#: controldata.c:487 controldata.c:498
-#, c-format
+#: controldata.c:230 controldata.c:240 controldata.c:251 controldata.c:262
+#: controldata.c:273 controldata.c:292 controldata.c:303 controldata.c:314
+#: controldata.c:325 controldata.c:336 controldata.c:347 controldata.c:358
+#: controldata.c:361 controldata.c:365 controldata.c:375 controldata.c:387
+#: controldata.c:398 controldata.c:409 controldata.c:420 controldata.c:431
+#: controldata.c:442 controldata.c:453 controldata.c:464 controldata.c:475
+#: controldata.c:486 controldata.c:497
+#, fuzzy, c-format
+#| msgid "%d: controldata retrieval problem"
 msgid "%d: controldata retrieval problem"
 msgstr "%d: problema de extracción de controldata"
 
-#: controldata.c:579
-#, c-format
+#: controldata.c:578
+#, fuzzy, c-format
+#| msgid "The source cluster lacks some required control information:"
 msgid "The source cluster lacks some required control information:"
 msgstr "Al clúster de origen le falta información de control requerida:"
 
-#: controldata.c:582
-#, c-format
+#: controldata.c:581
+#, fuzzy, c-format
+#| msgid "The target cluster lacks some required control information:"
 msgid "The target cluster lacks some required control information:"
 msgstr "Al clúster de destino le falta información de control requerida:"
 
-#: controldata.c:585
-#, c-format
+#: controldata.c:584
+#, fuzzy, c-format
+#| msgid "  checkpoint next XID"
 msgid "  checkpoint next XID"
 msgstr "  siguiente XID del último checkpoint"
 
-#: controldata.c:588
-#, c-format
+#: controldata.c:587
+#, fuzzy, c-format
+#| msgid "  latest checkpoint next OID"
 msgid "  latest checkpoint next OID"
 msgstr "  siguiente OID del último checkpoint"
 
-#: controldata.c:591
-#, c-format
+#: controldata.c:590
+#, fuzzy, c-format
+#| msgid "  latest checkpoint next MultiXactId"
 msgid "  latest checkpoint next MultiXactId"
 msgstr "  siguiente MultiXactId del último checkpoint"
 
-#: controldata.c:595
-#, c-format
+#: controldata.c:594
+#, fuzzy, c-format
+#| msgid "  latest checkpoint oldest MultiXactId"
 msgid "  latest checkpoint oldest MultiXactId"
 msgstr "  MultiXactId más antiguo del último checkpoint"
 
-#: controldata.c:598
-#, c-format
+#: controldata.c:597
+#, fuzzy, c-format
+#| msgid "  latest checkpoint oldestXID"
 msgid "  latest checkpoint oldestXID"
 msgstr "  XID más antiguo del último checkpoint"
 
-#: controldata.c:601
-#, c-format
+#: controldata.c:600
+#, fuzzy, c-format
+#| msgid "  latest checkpoint next MultiXactOffset"
 msgid "  latest checkpoint next MultiXactOffset"
 msgstr "  siguiente MultiXactOffset del siguiente checkpoint"
 
-#: controldata.c:604
-#, c-format
+#: controldata.c:603
+#, fuzzy, c-format
+#| msgid "  first WAL segment after reset"
 msgid "  first WAL segment after reset"
 msgstr "  primer segmento de WAL después del reinicio"
 
-#: controldata.c:607
-#, c-format
+#: controldata.c:606
+#, fuzzy, c-format
+#| msgid "  float8 argument passing method"
 msgid "  float8 argument passing method"
 msgstr "  método de paso de argumentos float8"
 
-#: controldata.c:610
-#, c-format
+#: controldata.c:609
+#, fuzzy, c-format
+#| msgid "  maximum alignment"
 msgid "  maximum alignment"
 msgstr "  alineamiento máximo"
 
-#: controldata.c:613
-#, c-format
+#: controldata.c:612
+#, fuzzy, c-format
+#| msgid "  block size"
 msgid "  block size"
 msgstr "  tamaño de bloques"
 
-#: controldata.c:616
-#, c-format
+#: controldata.c:615
+#, fuzzy, c-format
+#| msgid "  large relation segment size"
 msgid "  large relation segment size"
 msgstr "  tamaño de segmento de relación grande"
 
-#: controldata.c:619
-#, c-format
+#: controldata.c:618
+#, fuzzy, c-format
+#| msgid "  WAL block size"
 msgid "  WAL block size"
 msgstr "  tamaño de bloque de WAL"
 
-#: controldata.c:622
-#, c-format
+#: controldata.c:621
+#, fuzzy, c-format
+#| msgid "  WAL segment size"
 msgid "  WAL segment size"
 msgstr "  tamaño de segmento de WAL"
 
-#: controldata.c:625
-#, c-format
+#: controldata.c:624
+#, fuzzy, c-format
+#| msgid "  maximum identifier length"
 msgid "  maximum identifier length"
 msgstr "  máximo largo de identificadores"
 
-#: controldata.c:628
-#, c-format
+#: controldata.c:627
+#, fuzzy, c-format
+#| msgid "  maximum number of indexed columns"
 msgid "  maximum number of indexed columns"
 msgstr "  máximo número de columnas indexadas"
 
-#: controldata.c:631
-#, c-format
+#: controldata.c:630
+#, fuzzy, c-format
+#| msgid "  maximum TOAST chunk size"
 msgid "  maximum TOAST chunk size"
 msgstr "  tamaño máximo de trozos TOAST"
 
-#: controldata.c:635
-#, c-format
+#: controldata.c:634
+#, fuzzy, c-format
+#| msgid "  large-object chunk size"
 msgid "  large-object chunk size"
 msgstr "  tamaño de trozos de objetos grandes"
 
-#: controldata.c:638
-#, c-format
+#: controldata.c:637
+#, fuzzy, c-format
+#| msgid "  dates/times are integers?"
 msgid "  dates/times are integers?"
 msgstr "  fechas/horas son enteros?"
 
-#: controldata.c:642
-#, c-format
+#: controldata.c:641
+#, fuzzy, c-format
+#| msgid "  data checksum version"
 msgid "  data checksum version"
 msgstr "  versión del checksum de datos"
 
-#: controldata.c:644
-#, c-format
+#: controldata.c:643
+#, fuzzy, c-format
+#| msgid "Cannot continue without required control information, terminating"
 msgid "Cannot continue without required control information, terminating"
 msgstr "No se puede continuar sin la información de control requerida. Terminando"
 
-#: controldata.c:659
-#, c-format
+#: controldata.c:658
+#, fuzzy, c-format
+#| msgid ""
+#| "old and new pg_controldata alignments are invalid or do not match.\n"
+#| "Likely one cluster is a 32-bit install, the other 64-bit"
 msgid ""
 "old and new pg_controldata alignments are invalid or do not match.\n"
 "Likely one cluster is a 32-bit install, the other 64-bit"
@@ -670,78 +1136,96 @@ msgstr ""
 "Alineamientos de pg_controldata antiguo y nuevo no son válidos o no coinciden.\n"
 "Seguramente un clúster es 32-bit y el otro es 64-bit"
 
-#: controldata.c:663
-#, c-format
+#: controldata.c:662
+#, fuzzy, c-format
+#| msgid "old and new pg_controldata block sizes are invalid or do not match"
 msgid "old and new pg_controldata block sizes are invalid or do not match"
 msgstr "Los tamaños de bloque antiguo y nuevo no son válidos o no coinciden"
 
-#: controldata.c:666
-#, c-format
+#: controldata.c:665
+#, fuzzy, c-format
+#| msgid "old and new pg_controldata maximum relation segment sizes are invalid or do not match"
 msgid "old and new pg_controldata maximum relation segment sizes are invalid or do not match"
 msgstr "El tamaño máximo de segmento de relación antiguo y nuevo no son válidos o no coinciden"
 
-#: controldata.c:669
-#, c-format
+#: controldata.c:668
+#, fuzzy, c-format
+#| msgid "old and new pg_controldata WAL block sizes are invalid or do not match"
 msgid "old and new pg_controldata WAL block sizes are invalid or do not match"
 msgstr "El tamaño de bloques de WAL antiguo y nuevo no son válidos o no coinciden"
 
-#: controldata.c:672
-#, c-format
+#: controldata.c:671
+#, fuzzy, c-format
+#| msgid "old and new pg_controldata WAL segment sizes are invalid or do not match"
 msgid "old and new pg_controldata WAL segment sizes are invalid or do not match"
 msgstr "El tamaño de segmentos de WAL antiguo y nuevo no son válidos o no coinciden"
 
-#: controldata.c:675
-#, c-format
+#: controldata.c:674
+#, fuzzy, c-format
+#| msgid "old and new pg_controldata maximum identifier lengths are invalid or do not match"
 msgid "old and new pg_controldata maximum identifier lengths are invalid or do not match"
 msgstr "Los máximos largos de identificador antiguo y nuevo no son válidos o no coinciden"
 
-#: controldata.c:678
-#, c-format
+#: controldata.c:677
+#, fuzzy, c-format
+#| msgid "old and new pg_controldata maximum indexed columns are invalid or do not match"
 msgid "old and new pg_controldata maximum indexed columns are invalid or do not match"
 msgstr "La cantidad máxima de columnas indexadas antigua y nueva no son válidos o no coinciden"
 
-#: controldata.c:681
-#, c-format
+#: controldata.c:680
+#, fuzzy, c-format
+#| msgid "old and new pg_controldata maximum TOAST chunk sizes are invalid or do not match"
 msgid "old and new pg_controldata maximum TOAST chunk sizes are invalid or do not match"
 msgstr "Los máximos de trozos TOAST antiguo y nuevo no son válidos o no coinciden"
 
-#: controldata.c:686
-#, c-format
+#: controldata.c:685
+#, fuzzy, c-format
+#| msgid "old and new pg_controldata large-object chunk sizes are invalid or do not match"
 msgid "old and new pg_controldata large-object chunk sizes are invalid or do not match"
 msgstr "Los tamaños de trozos de objetos grandes antiguo y nuevo no son válidos o no coinciden"
 
-#: controldata.c:689
-#, c-format
+#: controldata.c:688
+#, fuzzy, c-format
+#| msgid "old and new pg_controldata date/time storage types do not match"
 msgid "old and new pg_controldata date/time storage types do not match"
 msgstr "Los tipos de almacenamiento de fecha/hora antiguo y nuevo no coinciden"
 
-#: controldata.c:702
-#, c-format
+#: controldata.c:701
+#, fuzzy, c-format
+#| msgid "old cluster does not use data checksums but the new one does"
 msgid "old cluster does not use data checksums but the new one does"
 msgstr "El clúster antiguo no usa checksums de datos pero el nuevo sí"
 
-#: controldata.c:705
-#, c-format
+#: controldata.c:704
+#, fuzzy, c-format
+#| msgid "old cluster uses data checksums but the new one does not"
 msgid "old cluster uses data checksums but the new one does not"
 msgstr "El clúster antiguo usa checksums de datos pero el nuevo no"
 
-#: controldata.c:707
-#, c-format
+#: controldata.c:706
+#, fuzzy, c-format
+#| msgid "old and new cluster pg_controldata checksum versions do not match"
 msgid "old and new cluster pg_controldata checksum versions do not match"
 msgstr "Las versiones de checksum de datos antigua y nueva no coinciden"
 
-#: controldata.c:718
+#: controldata.c:717
 #, c-format
 msgid "Adding \".old\" suffix to old global/pg_control"
 msgstr "Agregando el sufijo «.old» a global/pg_control"
 
-#: controldata.c:723
+#: controldata.c:722
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
 
-#: controldata.c:727
-#, c-format
+#: controldata.c:726
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "If you want to start the old cluster, you will need to remove\n"
+#| "the \".old\" suffix from %s/global/pg_control.old.\n"
+#| "Because \"link\" mode was used, the old cluster cannot be safely\n"
+#| "started once the new cluster has been started."
 msgid ""
 "\n"
 "If you want to start the old cluster, you will need to remove\n"
@@ -765,27 +1249,36 @@ msgstr "Creando el volcado de objetos globales"
 msgid "Creating dump of database schemas"
 msgstr "Creando el volcado de esquemas de bases de datos"
 
-#: exec.c:47 exec.c:52
-#, c-format
+#: exec.c:47
+#, fuzzy, c-format
+#| msgid "could not get pg_ctl version data using %s: %s"
+msgid "could not get pg_ctl version data using %s: %m"
+msgstr "no se pudo obtener datos de versión de pg_ctl usando %s: %s"
+
+#: exec.c:51
+#, fuzzy, c-format
+#| msgid "could not get pg_ctl version data using %s: %s"
 msgid "could not get pg_ctl version data using %s: %s"
 msgstr "no se pudo obtener datos de versión de pg_ctl usando %s: %s"
 
-#: exec.c:56
-#, c-format
+#: exec.c:55
+#, fuzzy, c-format
+#| msgid "could not get pg_ctl version output from %s"
 msgid "could not get pg_ctl version output from %s"
 msgstr "no se pudo obtener la salida de versión de pg_ctl de %s"
 
-#: exec.c:113 exec.c:117
-#, c-format
+#: exec.c:112 exec.c:116
+#, fuzzy, c-format
+#| msgid "command too long"
 msgid "command too long"
 msgstr "orden demasiado larga"
 
-#: exec.c:161 pg_upgrade.c:286
+#: exec.c:160 pg_upgrade.c:311
 #, c-format
 msgid "could not open log file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de registro «%s»: %m"
 
-#: exec.c:193
+#: exec.c:192
 #, c-format
 msgid ""
 "\n"
@@ -794,13 +1287,17 @@ msgstr ""
 "\n"
 "*falló*"
 
-#: exec.c:196
-#, c-format
+#: exec.c:195
+#, fuzzy, c-format
+#| msgid "There were problems executing \"%s\""
 msgid "There were problems executing \"%s\""
 msgstr "Hubo problemas ejecutando «%s»"
 
-#: exec.c:199
-#, c-format
+#: exec.c:198
+#, fuzzy, c-format
+#| msgid ""
+#| "Consult the last few lines of \"%s\" or \"%s\" for\n"
+#| "the probable cause of the failure."
 msgid ""
 "Consult the last few lines of \"%s\" or \"%s\" for\n"
 "the probable cause of the failure."
@@ -808,8 +1305,11 @@ msgstr ""
 "Consulte las últimas línea de «%s» o «%s» para\n"
 "saber la causa probable de la falla."
 
-#: exec.c:204
-#, c-format
+#: exec.c:203
+#, fuzzy, c-format
+#| msgid ""
+#| "Consult the last few lines of \"%s\" for\n"
+#| "the probable cause of the failure."
 msgid ""
 "Consult the last few lines of \"%s\" for\n"
 "the probable cause of the failure."
@@ -817,142 +1317,188 @@ msgstr ""
 "Consulte las últimas líneas de «%s» para saber\n"
 "la causa probable de la falla."
 
-#: exec.c:219 pg_upgrade.c:296
-#, c-format
+#: exec.c:218 pg_upgrade.c:321
+#, fuzzy, c-format
+#| msgid "could not write to log file \"%s\": %m"
 msgid "could not write to log file \"%s\": %m"
 msgstr "no se pudo escribir al archivo de log «%s»"
 
-#: exec.c:245
+#: exec.c:244
 #, c-format
-msgid "could not open file \"%s\" for reading: %s"
-msgstr "no se pudo abrir el archivo «%s» para lectura: %s"
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "no se pudo abrir archivo «%s» para lectura: %m"
 
-#: exec.c:272
-#, c-format
+#: exec.c:270
+#, fuzzy, c-format
+#| msgid "You must have read and write access in the current directory."
 msgid "You must have read and write access in the current directory."
 msgstr "Debe tener privilegios de lectura y escritura en el directorio actual."
 
-#: exec.c:325 exec.c:391
+#: exec.c:323 exec.c:389 exec.c:439
 #, c-format
-msgid "check for \"%s\" failed: %s"
-msgstr "la comprobación de «%s» falló: %s"
+msgid "check for \"%s\" failed: %m"
+msgstr "la comprobación de «%s» falló: %m"
 
-#: exec.c:328 exec.c:394
-#, c-format
+#: exec.c:326 exec.c:392
+#, fuzzy, c-format
+#| msgid "\"%s\" is not a directory"
 msgid "\"%s\" is not a directory"
 msgstr "«%s» no es un directorio"
 
-#: exec.c:441
-#, c-format
-msgid "check for \"%s\" failed: %m"
-msgstr "la comprobación de «%s» falló: %m"
-
-#: exec.c:446
-#, c-format
+#: exec.c:444
+#, fuzzy, c-format
+#| msgid "check for \"%s\" failed: cannot execute"
 msgid "check for \"%s\" failed: cannot execute"
 msgstr "La comprobación de «%s» falló: no se puede ejecutar"
 
-#: exec.c:456
-#, c-format
+#: exec.c:454
+#, fuzzy, c-format
+#| msgid "check for \"%s\" failed: incorrect version: found \"%s\", expected \"%s\""
 msgid "check for \"%s\" failed: incorrect version: found \"%s\", expected \"%s\""
 msgstr "La comprobación de «%s» falló: versión incorrecta: se encontró «%s», se esperaba «%s»"
 
-#: file.c:43 file.c:64
-#, c-format
-msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s"
+#: file.c:44
+#, fuzzy, c-format
+#| msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s"
+msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %m"
 msgstr "error mientras se clonaba la relación «%s.%s» («%s» a «%s»): %s"
 
-#: file.c:50
-#, c-format
-msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %s"
+#: file.c:51
+#, fuzzy, c-format
+#| msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %s"
+msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %m"
 msgstr "error mientras se clonaba la relación «%s.%s»: no se pudo abrir el archivo «%s»: %s"
 
-#: file.c:55
-#, c-format
-msgid "error while cloning relation \"%s.%s\": could not create file \"%s\": %s"
+#: file.c:56
+#, fuzzy, c-format
+#| msgid "error while cloning relation \"%s.%s\": could not create file \"%s\": %s"
+msgid "error while cloning relation \"%s.%s\": could not create file \"%s\": %m"
 msgstr "error mientras se clonaba la relación «%s.%s»: no se pudo crear el archivo «%s»: %s"
 
-#: file.c:90 file.c:193
-#, c-format
-msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %s"
+#: file.c:65
+#, fuzzy, c-format
+#| msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s"
+msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s"
+msgstr "error mientras se clonaba la relación «%s.%s» («%s» a «%s»): %s"
+
+#: file.c:91 file.c:160 file.c:233
+#, fuzzy, c-format
+#| msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %s"
+msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %m"
 msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo leer el archivo «%s»: %s"
 
-#: file.c:95 file.c:202
-#, c-format
-msgid "error while copying relation \"%s.%s\": could not create file \"%s\": %s"
+#: file.c:96 file.c:165 file.c:242
+#, fuzzy, c-format
+#| msgid "error while copying relation \"%s.%s\": could not create file \"%s\": %s"
+msgid "error while copying relation \"%s.%s\": could not create file \"%s\": %m"
 msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo crear el archivo «%s»: %s"
 
-#: file.c:109 file.c:226
-#, c-format
-msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %s"
+#: file.c:110 file.c:266
+#, fuzzy, c-format
+#| msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %s"
+msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %m"
 msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo leer el archivo «%s»: %s"
 
-#: file.c:121 file.c:304
-#, c-format
-msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %s"
+#: file.c:122 file.c:344
+#, fuzzy, c-format
+#| msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %s"
+msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %m"
 msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo escribir el archivo «%s»: %s"
 
-#: file.c:135
-#, c-format
-msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %s"
+#: file.c:136
+#, fuzzy, c-format
+#| msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %s"
+msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %m"
 msgstr "error mientras se copiaba la relación «%s.%s» («%s» a «%s»): %s"
 
-#: file.c:154
-#, c-format
-msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %s"
+#: file.c:172
+#, fuzzy, c-format
+#| msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %s"
+msgid "error while copying relation \"%s.%s\": could not copy file range from \"%s\" to \"%s\": %m"
+msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo leer el archivo «%s»: %s"
+
+#: file.c:194
+#, fuzzy, c-format
+#| msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %s"
+msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %m"
 msgstr "error mientras se creaba el link para la relación «%s.%s» («%s» a «%s»): %s"
 
-#: file.c:197
-#, c-format
-msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %s"
+#: file.c:237
+#, fuzzy, c-format
+#| msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %s"
+msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %m"
 msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo hacer stat a «%s»: %s"
 
-#: file.c:229
-#, c-format
+#: file.c:269
+#, fuzzy, c-format
+#| msgid "error while copying relation \"%s.%s\": partial page found in file \"%s\""
 msgid "error while copying relation \"%s.%s\": partial page found in file \"%s\""
 msgstr "error mientras se copiaba la relación «%s.%s»: se encontró una página parcial en el archivo «%s»"
 
-#: file.c:331 file.c:348
-#, c-format
-msgid "could not clone file between old and new data directories: %s"
+#: file.c:371 file.c:387
+#, fuzzy, c-format
+#| msgid "could not clone file between old and new data directories: %s"
+msgid "could not clone file between old and new data directories: %m"
 msgstr "no se pudo clonar el archivo entre los directorios viejo y nuevo: %s"
 
-#: file.c:344
+#: file.c:383 file.c:420
 #, c-format
-msgid "could not create file \"%s\": %s"
-msgstr "no se pudo crear el archivo «%s»: %s"
+msgid "could not create file \"%s\": %m"
+msgstr "no se pudo crear archivo «%s»: %m"
 
-#: file.c:355
-#, c-format
+#: file.c:393
+#, fuzzy, c-format
+#| msgid "file cloning not supported on this platform"
 msgid "file cloning not supported on this platform"
 msgstr "el clonado de archivos no está soportado en esta plataforma"
 
-#: file.c:372
-#, c-format
+#: file.c:424
+#, fuzzy, c-format
+#| msgid "could not clone file between old and new data directories: %s"
+msgid "could not copy file range between old and new data directories: %m"
+msgstr "no se pudo clonar el archivo entre los directorios viejo y nuevo: %s"
+
+#: file.c:430
+#, fuzzy, c-format
+#| msgid "file cloning not supported on this platform"
+msgid "copy_file_range not supported on this platform"
+msgstr "el clonado de archivos no está soportado en esta plataforma"
+
+#: file.c:447
+#, fuzzy, c-format
+#| msgid ""
+#| "could not create hard link between old and new data directories: %s\n"
+#| "In link mode the old and new data directories must be on the same file system."
 msgid ""
-"could not create hard link between old and new data directories: %s\n"
+"could not create hard link between old and new data directories: %m\n"
 "In link mode the old and new data directories must be on the same file system."
 msgstr ""
 "No se pudo crear un link duro entre los directorios de datos nuevo y antiguo: %s\n"
 "En modo link los directorios de dato nuevo y antiguo deben estar en el mismo sistema de archivos."
 
-#: function.c:128
+#: function.c:154
 #, c-format
 msgid "Checking for presence of required libraries"
 msgstr "Verificando la presencia de las bibliotecas requeridas"
 
-#: function.c:165
+#: function.c:190
 #, c-format
 msgid "could not load library \"%s\": %s"
 msgstr "no se pudo cargar la biblioteca «%s»: %s"
 
-#: function.c:176
+#: function.c:201
 #, c-format
 msgid "In database: %s\n"
 msgstr "En la base de datos: %s\n"
 
-#: function.c:186
-#, c-format
+#: function.c:211
+#, fuzzy, c-format
+#| msgid ""
+#| "Your installation references loadable libraries that are missing from the\n"
+#| "new installation.  You can add these libraries to the new installation,\n"
+#| "or remove the functions using them from the old installation.  A list of\n"
+#| "problem libraries is in the file:\n"
+#| "    %s"
 msgid ""
 "Your installation references loadable libraries that are missing from the\n"
 "new installation.  You can add these libraries to the new installation,\n"
@@ -966,52 +1512,59 @@ msgstr ""
 "de las bibliotecas problemáticas está en el archivo:\n"
 "    %s"
 
-#: info.c:126
-#, c-format
+#: info.c:128
+#, fuzzy, c-format
+#| msgid "Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s\", new name \"%s.%s\""
 msgid "Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s\", new name \"%s.%s\""
 msgstr "Los nombres de relación para OID %u en la base de datos «%s» no coinciden: nombre antiguo «%s.%s», nombre nuevo «%s.%s»"
 
-#: info.c:146
-#, c-format
+#: info.c:148
+#, fuzzy, c-format
+#| msgid "Failed to match up old and new tables in database \"%s\""
 msgid "Failed to match up old and new tables in database \"%s\""
 msgstr "No hubo coincidencia en las tablas nueva y antigua en la base de datos «%s»"
 
-#: info.c:227
+#: info.c:229
 #, c-format
 msgid " which is an index on \"%s.%s\""
 msgstr " que es un índice en «%s.%s»"
 
-#: info.c:237
+#: info.c:239
 #, c-format
 msgid " which is an index on OID %u"
 msgstr " que es un índice en el OID %u"
 
-#: info.c:249
+#: info.c:251
 #, c-format
 msgid " which is the TOAST table for \"%s.%s\""
 msgstr " que es la tabla TOAST para «%s.%s»"
 
-#: info.c:257
+#: info.c:259
 #, c-format
 msgid " which is the TOAST table for OID %u"
 msgstr " que es la tabla TOAST para el OID %u"
 
-#: info.c:261
-#, c-format
+#: info.c:263
+#, fuzzy, c-format
+#| msgid "No match found in old cluster for new relation with OID %u in database \"%s\": %s"
 msgid "No match found in old cluster for new relation with OID %u in database \"%s\": %s"
 msgstr ""
 "No se encontró equivalente en el clúster antiguo para la relación nueva con OID %u\n"
 "en la base de datos «%s»: %s"
 
-#: info.c:264
-#, c-format
+#: info.c:266
+#, fuzzy, c-format
+#| msgid "No match found in new cluster for old relation with OID %u in database \"%s\": %s"
 msgid "No match found in new cluster for old relation with OID %u in database \"%s\": %s"
 msgstr ""
 "No se encontró equivalente en el clúster nuevo para la antigua relación con OID %u\n"
 "en la base de datos «%s»: %s"
 
-#: info.c:289
-#, c-format
+#: info.c:300
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "source databases:"
 msgid ""
 "\n"
 "source databases:"
@@ -1019,8 +1572,11 @@ msgstr ""
 "\n"
 "bases de datos de origen:"
 
-#: info.c:291
-#, c-format
+#: info.c:302
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "target databases:"
 msgid ""
 "\n"
 "target databases:"
@@ -1028,94 +1584,115 @@ msgstr ""
 "\n"
 "bases de datos de destino:"
 
-#: info.c:329
+#: info.c:346
 #, c-format
 msgid "template0 not found"
 msgstr "template0 no encontrado"
 
-#: info.c:645
-#, c-format
-msgid "Database: %s"
+#: info.c:805
+#, fuzzy, c-format
+#| msgid "Database: %s"
+msgid "Database: \"%s\""
 msgstr "Base de datos: %s"
 
-#: info.c:657
-#, c-format
-msgid "relname: %s.%s: reloid: %u reltblspace: %s"
+#: info.c:818
+#, fuzzy, c-format
+#| msgid "relname: %s.%s: reloid: %u reltblspace: %s"
+msgid "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\""
 msgstr "relname: %s.%s: reloid: %u reltblspace: %s"
 
-#: option.c:101
-#, c-format
+#: info.c:832
+#, fuzzy, c-format
+#| msgid "replication slot \"%s\" was not created in this database"
+msgid "Logical replication slots within the database:"
+msgstr "el slot de replicación «%s» no fue creado en esta base de datos"
+
+# FIXME must quote callback name?  Need a translator: comment?
+#: info.c:838
+#, fuzzy, c-format
+#| msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
+msgid "slot_name: \"%s\", plugin: \"%s\", two_phase: %s"
+msgstr "slot «%s», plugin de salida «%s», en el callback %s"
+
+#: option.c:105
+#, fuzzy, c-format
+#| msgid "%s: cannot be run as root"
 msgid "%s: cannot be run as root"
 msgstr "%s: no puede ejecutarse como root"
 
-#: option.c:168
-#, c-format
+#: option.c:172
+#, fuzzy, c-format
+#| msgid "invalid old port number"
 msgid "invalid old port number"
 msgstr "número de puerto antiguo no válido"
 
-#: option.c:173
-#, c-format
+#: option.c:177
+#, fuzzy, c-format
+#| msgid "invalid new port number"
 msgid "invalid new port number"
 msgstr "número de puerto nuevo no válido"
 
-#: option.c:203
+#: option.c:216
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Pruebe «%s --help» para mayor información.\n"
 
-#: option.c:210
+#: option.c:223
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)"
 
-#: option.c:213
-#, c-format
+#: option.c:229
+#, fuzzy, c-format
+#| msgid "Running in verbose mode"
 msgid "Running in verbose mode"
 msgstr "Ejecutando en modo verboso"
 
-#: option.c:231
+#: option.c:247
 msgid "old cluster binaries reside"
 msgstr "residen los binarios del clúster antiguo"
 
-#: option.c:233
+#: option.c:249
 msgid "new cluster binaries reside"
 msgstr "residen los binarios del clúster nuevo"
 
-#: option.c:235
+#: option.c:251
 msgid "old cluster data resides"
 msgstr "residen los datos del clúster antiguo"
 
-#: option.c:237
+#: option.c:253
 msgid "new cluster data resides"
 msgstr "residen los datos del clúster nuevo"
 
-#: option.c:239
+#: option.c:255
 msgid "sockets will be created"
 msgstr "se crearán los sockets"
 
-#: option.c:256 option.c:356
-#, c-format
+#: option.c:272 option.c:374
+#, fuzzy, c-format
+#| msgid "could not determine current directory"
 msgid "could not determine current directory"
 msgstr "no se pudo identificar el directorio actual"
 
-#: option.c:259
-#, c-format
+#: option.c:275
+#, fuzzy, c-format
+#| msgid "cannot run pg_upgrade from inside the new cluster data directory on Windows"
 msgid "cannot run pg_upgrade from inside the new cluster data directory on Windows"
 msgstr "no se puede ejecutar pg_upgrade desde dentro del directorio de datos del clúster nuevo en Windows"
 
-#: option.c:268
+#: option.c:284
 #, c-format
 msgid ""
 "pg_upgrade upgrades a PostgreSQL cluster to a different major version.\n"
 "\n"
 msgstr "pg_upgrade actualiza un clúster PostgreSQL a una versión «mayor» diferente.\n"
 
-#: option.c:269
+#: option.c:285
 #, c-format
 msgid "Usage:\n"
 msgstr "Empleo:\n"
 
-#: option.c:270
+#: option.c:286
 #, c-format
 msgid ""
 "  pg_upgrade [OPTION]...\n"
@@ -1124,17 +1701,17 @@ msgstr ""
 "  pg_upgrade [OPCIÓN]...\n"
 "\n"
 
-#: option.c:271
+#: option.c:287
 #, c-format
 msgid "Options:\n"
 msgstr "Opciones:\n"
 
-#: option.c:272
+#: option.c:288
 #, c-format
 msgid "  -b, --old-bindir=BINDIR       old cluster executable directory\n"
 msgstr "  -b, --old-bindir=BINDIR       directorio de ejecutables del clúster antiguo\n"
 
-#: option.c:273
+#: option.c:289
 #, c-format
 msgid ""
 "  -B, --new-bindir=BINDIR       new cluster executable directory (default\n"
@@ -1143,97 +1720,109 @@ msgstr ""
 "  -B, --new-bindir=BINDIR       directorio de ejecutables del clúster nuevo\n"
 "                                (por omisión el mismo directorio que pg_upgrade)\n"
 
-#: option.c:275
+#: option.c:291
 #, c-format
 msgid "  -c, --check                   check clusters only, don't change any data\n"
 msgstr "  -c, --check                   sólo verificar clústers, no cambiar datos\n"
 
-#: option.c:276
+#: option.c:292
 #, c-format
 msgid "  -d, --old-datadir=DATADIR     old cluster data directory\n"
 msgstr "  -d, --old-datadir=DATADIR     directorio de datos del clúster antiguo\n"
 
-#: option.c:277
+#: option.c:293
 #, c-format
 msgid "  -D, --new-datadir=DATADIR     new cluster data directory\n"
 msgstr "  -D, --new-datadir=DATADIR     directorio de datos del clúster nuevo\n"
 
-#: option.c:278
+#: option.c:294
 #, c-format
 msgid "  -j, --jobs=NUM                number of simultaneous processes or threads to use\n"
 msgstr "  -j, --jobs=NUM                máximo de procesos paralelos para restaurar\n"
 
-#: option.c:279
+#: option.c:295
 #, c-format
 msgid "  -k, --link                    link instead of copying files to new cluster\n"
 msgstr "  -k, --link                    enlazar (link) archivos en vez de copiarlos\n"
 
-#: option.c:280
+#: option.c:296
 #, c-format
 msgid "  -N, --no-sync                 do not wait for changes to be written safely to disk\n"
 msgstr "  -N, --no-sync                 no esperar que los cambios se sincronicen a disco\n"
 
-#: option.c:281
+#: option.c:297
 #, c-format
 msgid "  -o, --old-options=OPTIONS     old cluster options to pass to the server\n"
 msgstr "  -o, --old-options=OPCIONES    opciones a pasar al servidor antiguo\n"
 
-#: option.c:282
+#: option.c:298
 #, c-format
 msgid "  -O, --new-options=OPTIONS     new cluster options to pass to the server\n"
 msgstr "  -O, --new-options=OPCIONES    opciones a pasar al servidor nuevo\n"
 
-#: option.c:283
+#: option.c:299
 #, c-format
 msgid "  -p, --old-port=PORT           old cluster port number (default %d)\n"
 msgstr "  -p, --old-port=PUERTO         número de puerto del clúster antiguo (def. %d)\n"
 
-#: option.c:284
+#: option.c:300
 #, c-format
 msgid "  -P, --new-port=PORT           new cluster port number (default %d)\n"
 msgstr "  -P, --new-port=PUERTO         número de puerto del clúster nuevo (def. %d)\n"
 
-#: option.c:285
+#: option.c:301
 #, c-format
 msgid "  -r, --retain                  retain SQL and log files after success\n"
 msgstr "  -r, --retain                  preservar archivos SQL y logs en caso de éxito\n"
 
-#: option.c:286
+#: option.c:302
 #, c-format
 msgid "  -s, --socketdir=DIR           socket directory to use (default current dir.)\n"
 msgstr "  -s, --socketdir=DIR           directorio de sockets a usar (omisión: dir. actual)\n"
 
-#: option.c:287
+#: option.c:303
 #, c-format
 msgid "  -U, --username=NAME           cluster superuser (default \"%s\")\n"
 msgstr "  -U, --username=NOMBRE         superusuario del clúster (def. «%s»)\n"
 
-#: option.c:288
+#: option.c:304
 #, c-format
 msgid "  -v, --verbose                 enable verbose internal logging\n"
 msgstr "  -v, --verbose                 activar registro interno verboso\n"
 
-#: option.c:289
+#: option.c:305
 #, c-format
 msgid "  -V, --version                 display version information, then exit\n"
 msgstr "  -V, --version                 mostrar información de versión y salir\n"
 
-#: option.c:290
+#: option.c:306
 #, c-format
 msgid "  --clone                       clone instead of copying files to new cluster\n"
 msgstr "  --clone                       clonar los archivos en vez de copiarlos\n"
 
-#: option.c:291
+#: option.c:307
 #, c-format
 msgid "  --copy                        copy files to new cluster (default)\n"
 msgstr "  --copy                        copiar los archivos al clúster nuevo (por omisión)\n"
 
-#: option.c:292
+#: option.c:308
+#, fuzzy, c-format
+#| msgid "  --copy                        copy files to new cluster (default)\n"
+msgid "  --copy-file-range             copy files to new cluster with copy_file_range\n"
+msgstr "  --copy                        copiar los archivos al clúster nuevo (por omisión)\n"
+
+#: option.c:309
+#, fuzzy, c-format
+#| msgid "  --clone                       clone instead of copying files to new cluster\n"
+msgid "  --sync-method=METHOD          set method for syncing files to disk\n"
+msgstr "  --clone                       clonar los archivos en vez de copiarlos\n"
+
+#: option.c:310
 #, c-format
 msgid "  -?, --help                    show this help, then exit\n"
 msgstr "  -?, --help                    mostrar esta ayuda y salir\n"
 
-#: option.c:293
+#: option.c:311
 #, c-format
 msgid ""
 "\n"
@@ -1248,7 +1837,7 @@ msgstr ""
 "  apagar el postmaster que atiende al clúster antiguo\n"
 "  apagar el postmaster que atiende al clúster nuevo\n"
 
-#: option.c:298
+#: option.c:316
 #, c-format
 msgid ""
 "\n"
@@ -1265,7 +1854,7 @@ msgstr ""
 "  el directorio «bin» para la versión antigua (-b BINDIR)\n"
 "  el directorio «bin» para la versión nueva   (-B BINDIR)\n"
 
-#: option.c:304
+#: option.c:322
 #, c-format
 msgid ""
 "\n"
@@ -1278,7 +1867,7 @@ msgstr ""
 "  pg_upgrade -d oldCluster/data -D newCluster/data -b oldCluster/bin -B newCluster/bin\n"
 "o\n"
 
-#: option.c:309
+#: option.c:327
 #, c-format
 msgid ""
 "  $ export PGDATAOLD=oldCluster/data\n"
@@ -1293,7 +1882,7 @@ msgstr ""
 "  $ export PGBINNEW=clusterNuevo/bin\n"
 "  $ pg_upgrade\n"
 
-#: option.c:315
+#: option.c:333
 #, c-format
 msgid ""
 "  C:\\> set PGDATAOLD=oldCluster/data\n"
@@ -1308,7 +1897,7 @@ msgstr ""
 "  C:\\> set PGBINNEW=clusterNuevo/bin\n"
 "  C:\\> pg_upgrade\n"
 
-#: option.c:321
+#: option.c:339
 #, c-format
 msgid ""
 "\n"
@@ -1317,13 +1906,16 @@ msgstr ""
 "\n"
 "Reporte errores a <%s>.\n"
 
-#: option.c:322
+#: option.c:340
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sitio web de %s: <%s>\n"
 
-#: option.c:362
-#, c-format
+#: option.c:380
+#, fuzzy, c-format
+#| msgid ""
+#| "You must identify the directory where the %s.\n"
+#| "Please use the %s command-line option or the %s environment variable."
 msgid ""
 "You must identify the directory where the %s.\n"
 "Please use the %s command-line option or the %s environment variable."
@@ -1331,63 +1923,79 @@ msgstr ""
 "Debe identificar el directorio donde %s.\n"
 "Por favor use la opción %s o la variable de ambiente %s."
 
-#: option.c:415
+#: option.c:433
 #, c-format
 msgid "Finding the real data directory for the source cluster"
 msgstr "Buscando el directorio de datos real para el clúster de origen"
 
-#: option.c:417
+#: option.c:435
 #, c-format
 msgid "Finding the real data directory for the target cluster"
 msgstr "Buscando el directorio de datos real para el clúster de destino"
 
-#: option.c:430 option.c:435
-#, c-format
+#: option.c:448
+#, fuzzy, c-format
+#| msgid "could not get data directory using %s: %s"
+msgid "could not get data directory using %s: %m"
+msgstr "no se pudo obtener el directorio de datos usando %s: %s"
+
+#: option.c:452
+#, fuzzy, c-format
+#| msgid "could not get data directory using %s: %s"
 msgid "could not get data directory using %s: %s"
 msgstr "no se pudo obtener el directorio de datos usando %s: %s"
 
-#: option.c:484
-#, c-format
-msgid "could not read line %d from file \"%s\": %s"
+#: option.c:500
+#, fuzzy, c-format
+#| msgid "could not read line %d from file \"%s\": %s"
+msgid "could not read line %d from file \"%s\": %m"
 msgstr "no se pudo leer la línea %d del archivo «%s»: %s"
 
-#: option.c:501
-#, c-format
+#: option.c:517
+#, fuzzy, c-format
+#| msgid "user-supplied old port number %hu corrected to %hu"
 msgid "user-supplied old port number %hu corrected to %hu"
 msgstr "número de port entregado por el usuario %hu corregido a %hu"
 
 #: parallel.c:127 parallel.c:235
 #, c-format
-msgid "could not create worker process: %s"
-msgstr "no se pudo crear el proceso hijo: %s"
+msgid "could not create worker process: %m"
+msgstr "no se pudo crear el proceso hijo: %m"
 
 #: parallel.c:143 parallel.c:253
-#, c-format
-msgid "could not create worker thread: %s"
+#, fuzzy, c-format
+#| msgid "could not create worker thread: %s"
+msgid "could not create worker thread: %m"
 msgstr "no se pudo crear el thread: %s"
 
 #: parallel.c:294
 #, c-format
-msgid "%s() failed: %s"
-msgstr "%s() falló: %s"
+msgid "%s() failed: %m"
+msgstr "%s() falló: %m"
 
 #: parallel.c:298
-#, c-format
+#, fuzzy, c-format
+#| msgid "child process exited abnormally: status %d"
 msgid "child process exited abnormally: status %d"
 msgstr "el proceso hijo terminó anormalmente: estado %d"
 
 #: parallel.c:313
-#, c-format
-msgid "child worker exited abnormally: %s"
+#, fuzzy, c-format
+#| msgid "child worker exited abnormally: %s"
+msgid "child worker exited abnormally: %m"
 msgstr "el thread terminó anormalmente: %s"
 
-#: pg_upgrade.c:107
+#: pg_upgrade.c:115
 #, c-format
-msgid "could not read permissions of directory \"%s\": %s"
-msgstr "no se pudo obtener los permisos del directorio «%s»: %s"
+msgid "could not read permissions of directory \"%s\": %m"
+msgstr "no se pudo obtener los permisos del directorio «%s»: %m"
 
-#: pg_upgrade.c:139
-#, c-format
+#: pg_upgrade.c:147
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "Performing Upgrade\n"
+#| "------------------"
 msgid ""
 "\n"
 "Performing Upgrade\n"
@@ -1397,18 +2005,22 @@ msgstr ""
 "Llevando a cabo el Upgrade\n"
 "--------------------------"
 
-#: pg_upgrade.c:184
+#: pg_upgrade.c:192
 #, c-format
 msgid "Setting next OID for new cluster"
 msgstr "Seteando siguiente OID para el nuevo clúster"
 
-#: pg_upgrade.c:193
+#: pg_upgrade.c:216
 #, c-format
 msgid "Sync data directory to disk"
 msgstr "Sincronizando directorio de datos a disco"
 
-#: pg_upgrade.c:205
-#, c-format
+#: pg_upgrade.c:230
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "Upgrade Complete\n"
+#| "----------------"
 msgid ""
 "\n"
 "Upgrade Complete\n"
@@ -1418,24 +2030,28 @@ msgstr ""
 "Actualización Completa\n"
 "----------------------"
 
-#: pg_upgrade.c:238 pg_upgrade.c:251 pg_upgrade.c:258 pg_upgrade.c:265
-#: pg_upgrade.c:283 pg_upgrade.c:294
-#, c-format
+#: pg_upgrade.c:263 pg_upgrade.c:276 pg_upgrade.c:283 pg_upgrade.c:290
+#: pg_upgrade.c:308 pg_upgrade.c:319
+#, fuzzy, c-format
+#| msgid "directory path for new cluster is too long"
 msgid "directory path for new cluster is too long"
 msgstr "nombre de directorio para el nuevo clúster es demasiado largo"
 
-#: pg_upgrade.c:272 pg_upgrade.c:274 pg_upgrade.c:276 pg_upgrade.c:278
+#: pg_upgrade.c:297 pg_upgrade.c:299 pg_upgrade.c:301 pg_upgrade.c:303
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "no se pudo crear el directorio «%s»: %m"
 
-#: pg_upgrade.c:327
+#: pg_upgrade.c:352
 #, c-format
 msgid "%s: could not find own program executable"
 msgstr "%s: no se pudo encontrar el ejecutable propio"
 
-#: pg_upgrade.c:353
-#, c-format
+#: pg_upgrade.c:378
+#, fuzzy, c-format
+#| msgid ""
+#| "There seems to be a postmaster servicing the old cluster.\n"
+#| "Please shutdown that postmaster and try again."
 msgid ""
 "There seems to be a postmaster servicing the old cluster.\n"
 "Please shutdown that postmaster and try again."
@@ -1443,8 +2059,11 @@ msgstr ""
 "Parece haber un postmaster sirviendo el clúster antiguo.\n"
 "Por favor detenga ese postmaster e inténtelo nuevamente."
 
-#: pg_upgrade.c:366
-#, c-format
+#: pg_upgrade.c:391
+#, fuzzy, c-format
+#| msgid ""
+#| "There seems to be a postmaster servicing the new cluster.\n"
+#| "Please shutdown that postmaster and try again."
 msgid ""
 "There seems to be a postmaster servicing the new cluster.\n"
 "Please shutdown that postmaster and try again."
@@ -1452,81 +2071,88 @@ msgstr ""
 "Parece haber un postmaster sirviendo el clúster nuevo.\n"
 "Por favor detenga ese postmaster e inténtelo nuevamente."
 
-#: pg_upgrade.c:388
+#: pg_upgrade.c:413
 #, c-format
 msgid "Setting locale and encoding for new cluster"
 msgstr "Estableciendo la configuración regional y codificación para el nuevo clúster"
 
-#: pg_upgrade.c:450
+#: pg_upgrade.c:489
 #, c-format
 msgid "Analyzing all rows in the new cluster"
 msgstr "Analizando todas las filas en el clúster nuevo"
 
-#: pg_upgrade.c:463
+#: pg_upgrade.c:502
 #, c-format
 msgid "Freezing all rows in the new cluster"
 msgstr "Congelando todas las filas en el nuevo clúster"
 
-#: pg_upgrade.c:483
+#: pg_upgrade.c:522
 #, c-format
 msgid "Restoring global objects in the new cluster"
 msgstr "Restaurando objetos globales en el nuevo clúster"
 
-#: pg_upgrade.c:499
+#: pg_upgrade.c:538
 #, c-format
 msgid "Restoring database schemas in the new cluster"
 msgstr "Restaurando esquemas de bases de datos en el clúster nuevo"
 
-#: pg_upgrade.c:605
+#: pg_upgrade.c:662
 #, c-format
 msgid "Deleting files from new %s"
 msgstr "Eliminando archivos del nuevo %s"
 
-#: pg_upgrade.c:609
-#, c-format
+#: pg_upgrade.c:666
+#, fuzzy, c-format
+#| msgid "could not delete directory \"%s\""
 msgid "could not delete directory \"%s\""
 msgstr "no se pudo eliminar directorio «%s»"
 
-#: pg_upgrade.c:628
+#: pg_upgrade.c:685
 #, c-format
 msgid "Copying old %s to new server"
 msgstr "Copiando el %s antiguo al nuevo servidor"
 
-#: pg_upgrade.c:654
+#: pg_upgrade.c:711
 #, c-format
 msgid "Setting oldest XID for new cluster"
 msgstr "Estableciendo XID más antiguo para el nuevo clúster"
 
-#: pg_upgrade.c:662
+#: pg_upgrade.c:719
 #, c-format
 msgid "Setting next transaction ID and epoch for new cluster"
 msgstr "Seteando el ID de transacción y «época» siguientes en el nuevo clúster"
 
-#: pg_upgrade.c:692
+#: pg_upgrade.c:749
 #, c-format
 msgid "Setting next multixact ID and offset for new cluster"
 msgstr "Seteando el multixact ID y offset siguientes en el nuevo clúster"
 
-#: pg_upgrade.c:716
+#: pg_upgrade.c:773
 #, c-format
 msgid "Setting oldest multixact ID in new cluster"
 msgstr "Seteando el multixact ID más antiguo en el nuevo clúster"
 
-#: pg_upgrade.c:736
+#: pg_upgrade.c:793
 #, c-format
 msgid "Resetting WAL archives"
 msgstr "Reseteando los archivos de WAL"
 
-#: pg_upgrade.c:779
+#: pg_upgrade.c:836
 #, c-format
 msgid "Setting frozenxid and minmxid counters in new cluster"
 msgstr "Seteando contadores frozenxid y minmxid en el clúster nuevo"
 
-#: pg_upgrade.c:781
+#: pg_upgrade.c:838
 #, c-format
 msgid "Setting minmxid counter in new cluster"
 msgstr "Seteando contador minmxid en el clúster nuevo"
 
+#: pg_upgrade.c:929
+#, fuzzy, c-format
+#| msgid "Restoring global objects in the new cluster"
+msgid "Restoring logical replication slots in the new cluster"
+msgstr "Restaurando objetos globales en el nuevo clúster"
+
 #: relfilenumber.c:35
 #, c-format
 msgid "Cloning user relation files"
@@ -1538,37 +2164,55 @@ msgid "Copying user relation files"
 msgstr "Copiando archivos de relaciones de usuario"
 
 #: relfilenumber.c:41
+#, fuzzy, c-format
+#| msgid "Copying user relation files"
+msgid "Copying user relation files with copy_file_range"
+msgstr "Copiando archivos de relaciones de usuario"
+
+#: relfilenumber.c:44
 #, c-format
 msgid "Linking user relation files"
 msgstr "Enlazando archivos de relaciones de usuario"
 
-#: relfilenumber.c:115
-#, c-format
+#: relfilenumber.c:118
+#, fuzzy, c-format
+#| msgid "old database \"%s\" not found in the new cluster"
 msgid "old database \"%s\" not found in the new cluster"
 msgstr "la base de datos «%s» no se encontró en el clúster nuevo"
 
-#: relfilenumber.c:218
-#, c-format
-msgid "error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s"
+#: relfilenumber.c:221
+#, fuzzy, c-format
+#| msgid "error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s"
+msgid "error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %m"
 msgstr "error mientras se comprobaba la existencia del archivo «%s.%s» («%s» a «%s»); %s"
 
-#: relfilenumber.c:236
-#, c-format
+#: relfilenumber.c:238
+#, fuzzy, c-format
+#| msgid "rewriting \"%s\" to \"%s\""
 msgid "rewriting \"%s\" to \"%s\""
 msgstr "reescribiendo «%s» a «%s»"
 
-#: relfilenumber.c:244
-#, c-format
+#: relfilenumber.c:246
+#, fuzzy, c-format
+#| msgid "cloning \"%s\" to \"%s\""
 msgid "cloning \"%s\" to \"%s\""
 msgstr "clonando «%s» a «%s»"
 
-#: relfilenumber.c:249
-#, c-format
+#: relfilenumber.c:251
+#, fuzzy, c-format
+#| msgid "copying \"%s\" to \"%s\""
 msgid "copying \"%s\" to \"%s\""
 msgstr "copiando «%s» a «%s»"
 
-#: relfilenumber.c:254
-#, c-format
+#: relfilenumber.c:256
+#, fuzzy, c-format
+#| msgid "copying \"%s\" to \"%s\""
+msgid "copying \"%s\" to \"%s\" with copy_file_range"
+msgstr "copiando «%s» a «%s»"
+
+#: relfilenumber.c:261
+#, fuzzy, c-format
+#| msgid "linking \"%s\" to \"%s\""
 msgid "linking \"%s\" to \"%s\""
 msgstr "enlazando «%s» a «%s»"
 
@@ -1578,7 +2222,8 @@ msgid "Failure, exiting\n"
 msgstr "Falló, saliendo\n"
 
 #: server.c:133
-#, c-format
+#, fuzzy, c-format
+#| msgid "executing: %s"
 msgid "executing: %s"
 msgstr "ejecutando: %s"
 
@@ -1594,16 +2239,18 @@ msgstr ""
 "%s"
 
 #: server.c:169
-#, c-format
+#, fuzzy, c-format
+#| msgid "could not open version file \"%s\": %m"
 msgid "could not open version file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de versión «%s»: %m"
 
 #: server.c:173
-#, c-format
+#, fuzzy, c-format
+#| msgid "could not parse version file \"%s\""
 msgid "could not parse version file \"%s\""
 msgstr "no se pudo interpretar el archivo de versión «%s»"
 
-#: server.c:288
+#: server.c:310
 #, c-format
 msgid ""
 "\n"
@@ -1612,8 +2259,11 @@ msgstr ""
 "\n"
 "%s"
 
-#: server.c:292
-#, c-format
+#: server.c:314
+#, fuzzy, c-format
+#| msgid ""
+#| "could not connect to source postmaster started with the command:\n"
+#| "%s"
 msgid ""
 "could not connect to source postmaster started with the command:\n"
 "%s"
@@ -1621,8 +2271,11 @@ msgstr ""
 "no se pudo conectar al postmaster de origen iniciado con la orden:\n"
 "%s"
 
-#: server.c:296
-#, c-format
+#: server.c:318
+#, fuzzy, c-format
+#| msgid ""
+#| "could not connect to target postmaster started with the command:\n"
+#| "%s"
 msgid ""
 "could not connect to target postmaster started with the command:\n"
 "%s"
@@ -1630,28 +2283,34 @@ msgstr ""
 "no se pudo conectar al postmaster de destino iniciado con la orden:\n"
 "%s"
 
-#: server.c:310
-#, c-format
+#: server.c:332
+#, fuzzy, c-format
+#| msgid "pg_ctl failed to start the source server, or connection failed"
 msgid "pg_ctl failed to start the source server, or connection failed"
 msgstr "pg_ctl no pudo iniciar el servidor de origen, o la conexión falló"
 
-#: server.c:312
-#, c-format
+#: server.c:334
+#, fuzzy, c-format
+#| msgid "pg_ctl failed to start the target server, or connection failed"
 msgid "pg_ctl failed to start the target server, or connection failed"
 msgstr "pg_ctl no pudo iniciar el servidor de destino, o la conexión falló"
 
-#: server.c:357
+#: server.c:379
 #, c-format
 msgid "out of memory"
 msgstr "memoria agotada"
 
-#: server.c:370
-#, c-format
+#: server.c:392
+#, fuzzy, c-format
+#| msgid "libpq environment variable %s has a non-local server value: %s"
 msgid "libpq environment variable %s has a non-local server value: %s"
 msgstr "la variable de ambiente libpq %s tiene un valor de servidor no-local: %s"
 
 #: tablespace.c:28
-#, c-format
+#, fuzzy, c-format
+#| msgid ""
+#| "Cannot upgrade to/from the same system catalog version when\n"
+#| "using tablespaces."
 msgid ""
 "Cannot upgrade to/from the same system catalog version when\n"
 "using tablespaces."
@@ -1660,17 +2319,20 @@ msgstr ""
 "cuando se están usando tablespaces."
 
 #: tablespace.c:83
-#, c-format
+#, fuzzy, c-format
+#| msgid "tablespace directory \"%s\" does not exist"
 msgid "tablespace directory \"%s\" does not exist"
 msgstr "el directorio de tablespace «%s» no existe"
 
 #: tablespace.c:87
-#, c-format
-msgid "could not stat tablespace directory \"%s\": %s"
+#, fuzzy, c-format
+#| msgid "could not stat tablespace directory \"%s\": %s"
+msgid "could not stat tablespace directory \"%s\": %m"
 msgstr "no se pudo hace stat al directorio de tablespace «%s»: %s"
 
 #: tablespace.c:92
-#, c-format
+#, fuzzy, c-format
+#| msgid "tablespace path \"%s\" is not a directory"
 msgid "tablespace path \"%s\" is not a directory"
 msgstr "la ruta de tablespace «%s» no es un directorio"
 
@@ -1689,64 +2351,24 @@ msgstr "no se pudo acceder al directorio «%s»: %m"
 msgid "ok"
 msgstr "éxito"
 
-#: version.c:184
-#, c-format
-msgid "Checking for incompatible \"line\" data type"
-msgstr "Verificando datos de usuario de tipo «line» incompatible"
-
-#: version.c:193
-#, c-format
-msgid ""
-"Your installation contains the \"line\" data type in user tables.\n"
-"This data type changed its internal and input/output format\n"
-"between your old and new versions so this\n"
-"cluster cannot currently be upgraded.  You can\n"
-"drop the problem columns and restart the upgrade.\n"
-"A list of the problem columns is in the file:\n"
-"    %s"
-msgstr ""
-"Su instalación contiene el tipo de dato «line» en tablas de usuario.  Este\n"
-"tipo de dato cambió su formato interno y de entrada/salida entre las\n"
-"versiones de sus clústers antiguo y nuevo, por lo que este clúster no puede\n"
-"actualmente ser actualizado.  Puede eliminar las columnas problemáticas y\n"
-"reiniciar la actualización.  Un listado de las columnas problemáticas está\n"
-"en el archivo:\n"
-"    %s"
-
-#: version.c:224
-#, c-format
-msgid "Checking for invalid \"unknown\" user columns"
-msgstr "Verificando columnas de usuario del tipo no válido «unknown»"
-
-#: version.c:233
-#, c-format
-msgid ""
-"Your installation contains the \"unknown\" data type in user tables.\n"
-"This data type is no longer allowed in tables, so this\n"
-"cluster cannot currently be upgraded.  You can\n"
-"drop the problem columns and restart the upgrade.\n"
-"A list of the problem columns is in the file:\n"
-"    %s"
-msgstr ""
-"Su instalación contiene el tipo «unknown» en tablas de usuario.\n"
-"Este tipo ya no es permitido en tablas,\n"
-"por lo que este clúster no puede ser actualizado. Puede\n"
-"eliminar las columnas problemáticas y reiniciar la actualización.\n"
-"Un listado de las columnas problemáticas está en el archivo:\n"
-"    %s"
-
-#: version.c:257
+#: version.c:44
 #, c-format
 msgid "Checking for hash indexes"
 msgstr "Verificando índices hash"
 
-#: version.c:335
+#: version.c:121
 #, c-format
 msgid "warning"
 msgstr "atención"
 
-#: version.c:337
-#, c-format
+#: version.c:123
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "Your installation contains hash indexes.  These indexes have different\n"
+#| "internal formats between your old and new clusters, so they must be\n"
+#| "reindexed with the REINDEX command.  After upgrading, you will be given\n"
+#| "REINDEX instructions."
 msgid ""
 "\n"
 "Your installation contains hash indexes.  These indexes have different\n"
@@ -1760,8 +2382,16 @@ msgstr ""
 "con la orden REINDEX.  Después de la actualización, se le entregarán\n"
 "instrucciones de REINDEX."
 
-#: version.c:343
-#, c-format
+#: version.c:129
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "Your installation contains hash indexes.  These indexes have different\n"
+#| "internal formats between your old and new clusters, so they must be\n"
+#| "reindexed with the REINDEX command.  The file\n"
+#| "    %s\n"
+#| "when executed by psql by the database superuser will recreate all invalid\n"
+#| "indexes; until then, none of these indexes will be used."
 msgid ""
 "\n"
 "Your installation contains hash indexes.  These indexes have different\n"
@@ -1779,40 +2409,25 @@ msgstr ""
 "cuando se ejecute en psql con el superusuario de la base de datos recreará\n"
 "los índices no válidos; hasta entonces, ninguno de esos índices será usado."
 
-#: version.c:369
-#, c-format
-msgid "Checking for invalid \"sql_identifier\" user columns"
-msgstr "Verificando columnas de usuario del tipo «sql_identifier»"
-
-#: version.c:379
-#, c-format
-msgid ""
-"Your installation contains the \"sql_identifier\" data type in user tables.\n"
-"The on-disk format for this data type has changed, so this\n"
-"cluster cannot currently be upgraded.  You can\n"
-"drop the problem columns and restart the upgrade.\n"
-"A list of the problem columns is in the file:\n"
-"    %s"
-msgstr ""
-"Su instalación contiene el tipo de dato «sql_identifier» en tablas de usuario.\n"
-"El formato en disco para este tipo de dato ha cambiado, por lo que\n"
-"este clúster no puede ser actualizado.\n"
-"Puede eliminar las columnas problemáticas y reiniciar la actualización\n"
-"Un listado de las columnas problemáticas está en el archivo:\n"
-"    %s"
-
-#: version.c:402
+#: version.c:153
 #, c-format
 msgid "Checking for extension updates"
 msgstr "Verificando actualizaciones para extensiones"
 
-#: version.c:450
+#: version.c:200
 #, c-format
 msgid "notice"
 msgstr "aviso"
 
-#: version.c:451
-#, c-format
+#: version.c:201
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| "Your installation contains extensions that should be updated\n"
+#| "with the ALTER EXTENSION command.  The file\n"
+#| "    %s\n"
+#| "when executed by psql by the database superuser will update\n"
+#| "these extensions."
 msgid ""
 "\n"
 "Your installation contains extensions that should be updated\n"
@@ -1827,3 +2442,11 @@ msgstr ""
 "    %s\n"
 "cuando se ejecute en psql con el superusuario de la base de datos\n"
 "actualizará estas extensiones."
+
+#, c-format
+#~ msgid "Checking for incompatible \"jsonb\" data type"
+#~ msgstr "Verificando datos de usuario en tipo «jsonb» incompatible"
+
+#, c-format
+#~ msgid "%s: could not find own program executable\n"
+#~ msgstr "%s: no se pudo encontrar el ejecutable propio\n"
index 0cb958f34488aa0bc80de45533e37b10b4885fa5..460d7cd3a783eaff32c43335f72eef8a74021f66 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_verifybackup (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:17+0000\n"
+"POT-Creation-Date: 2024-08-01 11:18+0000\n"
 "PO-Revision-Date: 2023-05-22 12:06+0200\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
@@ -39,6 +39,81 @@ msgstr "detalle: "
 msgid "hint: "
 msgstr "consejo: "
 
+#: ../../common/controldata_utils.c:97
+#, 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:110 pg_verifybackup.c:438
+#: pg_verifybackup.c:476 pg_verifybackup.c:896
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "no se pudo leer el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:119
+#, 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:132 ../../common/controldata_utils.c:280
+#: pg_verifybackup.c:902
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "no se pudo cerrar el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:168
+msgid "byte ordering mismatch"
+msgstr "discordancia en orden de bytes"
+
+#: ../../common/controldata_utils.c:170
+#, c-format
+msgid ""
+"possible byte ordering mismatch\n"
+"The byte ordering used to store the pg_control file might not match the one\n"
+"used by this program.  In that case the results below would be incorrect, and\n"
+"the PostgreSQL installation would be incompatible with this data directory."
+msgstr ""
+"posible discordancia en orden de bytes\n"
+"El ordenamiento de bytes usado para almacenar el archivo pg_control puede no\n"
+"coincidir con el usado por este programa.  En tal caso los resultados de abajo\n"
+"serían erróneos, y la instalación de PostgreSQL sería incompatible con este\n"
+"directorio de datos."
+
+#: ../../common/controldata_utils.c:230 pg_verifybackup.c:406
+#: pg_verifybackup.c:865
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "no se pudo abrir el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:249
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "no se pudo escribir el archivo «%s»: %m"
+
+#: ../../common/controldata_utils.c:268
+#, 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:356
+#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853
+#, c-format
+msgid "out of memory"
+msgstr "memoria agotada"
+
+#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272
+#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376
+msgid "success"
+msgstr "éxito"
+
+#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370
+msgid "destination buffer too small"
+msgstr "el búfer de destino es demasiado pequeño"
+
+#: ../../common/cryptohash_openssl.c:372
+msgid "OpenSSL failure"
+msgstr "falla de openSSL"
+
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
 #, c-format
@@ -50,390 +125,422 @@ msgstr "memoria agotada\n"
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "no se puede duplicar un puntero nulo (error interno)\n"
 
-#: ../../common/jsonapi.c:1144
-#, c-format
-msgid "Escape sequence \"\\%s\" is invalid."
+#: ../../common/jsonapi.c:2121
+msgid "Recursive descent parser cannot use incremental lexer."
+msgstr ""
+
+#: ../../common/jsonapi.c:2123
+msgid "Incremental parser requires incremental lexer."
+msgstr ""
+
+#: ../../common/jsonapi.c:2125
+msgid "JSON nested too deep, maximum permitted depth is 6400."
+msgstr ""
+
+#: ../../common/jsonapi.c:2127
+#, fuzzy, c-format
+#| msgid "Escape sequence \"\\%s\" is invalid."
+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
-#, c-format
-msgid "Expected end of input, but found \"%s\"."
+#: ../../common/jsonapi.c:2135
+#, fuzzy, c-format
+#| msgid "Expected end of input, but found \"%s\"."
+msgid "Expected end of input, but found \"%.*s\"."
 msgstr "Se esperaba el fin de la entrada, se encontró «%s»."
 
-#: ../../common/jsonapi.c:1153
-#, c-format
-msgid "Expected array element or \"]\", but found \"%s\"."
+#: ../../common/jsonapi.c:2138
+#, fuzzy, c-format
+#| msgid "Expected array element or \"]\", but found \"%s\"."
+msgid "Expected array element or \"]\", but found \"%.*s\"."
 msgstr "Se esperaba un elemento de array o «]», se encontró «%s»."
 
-#: ../../common/jsonapi.c:1156
-#, c-format
-msgid "Expected \",\" or \"]\", but found \"%s\"."
+#: ../../common/jsonapi.c:2141
+#, fuzzy, c-format
+#| msgid "Expected \",\" or \"]\", but found \"%s\"."
+msgid "Expected \",\" or \"]\", but found \"%.*s\"."
 msgstr "Se esperaba «,» o «]», se encontró «%s»."
 
-#: ../../common/jsonapi.c:1159
-#, c-format
-msgid "Expected \":\", but found \"%s\"."
+#: ../../common/jsonapi.c:2144
+#, fuzzy, c-format
+#| msgid "Expected \":\", but found \"%s\"."
+msgid "Expected \":\", but found \"%.*s\"."
 msgstr "Se esperaba «:», se encontró «%s»."
 
-#: ../../common/jsonapi.c:1162
-#, c-format
-msgid "Expected JSON value, but found \"%s\"."
+#: ../../common/jsonapi.c:2147
+#, fuzzy, c-format
+#| msgid "Expected JSON value, but found \"%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
-#, c-format
-msgid "Expected string or \"}\", but found \"%s\"."
+#: ../../common/jsonapi.c:2152
+#, fuzzy, c-format
+#| msgid "Expected string or \"}\", but found \"%s\"."
+msgid "Expected string or \"}\", but found \"%.*s\"."
 msgstr "Se esperaba una cadena o «}», se encontró «%s»."
 
-#: ../../common/jsonapi.c:1170
-#, c-format
-msgid "Expected \",\" or \"}\", but found \"%s\"."
+#: ../../common/jsonapi.c:2155
+#, fuzzy, c-format
+#| msgid "Expected \",\" or \"}\", but found \"%s\"."
+msgid "Expected \",\" or \"}\", but found \"%.*s\"."
 msgstr "Se esperaba «,» o «}», se encontró «%s»."
 
-#: ../../common/jsonapi.c:1173
-#, c-format
-msgid "Expected string, but found \"%s\"."
+#: ../../common/jsonapi.c:2158
+#, fuzzy, c-format
+#| msgid "Expected string, but found \"%s\"."
+msgid "Expected string, but found \"%.*s\"."
 msgstr "Se esperaba una cadena, se encontró «%s»."
 
-#: ../../common/jsonapi.c:1176
-#, c-format
-msgid "Token \"%s\" is invalid."
+#: ../../common/jsonapi.c:2161
+#, fuzzy, c-format
+#| msgid "Token \"%s\" is invalid."
+msgid "Token \"%.*s\" is invalid."
 msgstr "El elemento «%s» no es válido."
 
-#: ../../common/jsonapi.c:1179
+#: ../../common/jsonapi.c:2164
 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
+#: ../../common/jsonapi.c:2185
 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
+#: ../../common/jsonapi.c:2187
 msgid "Unicode low surrogate must follow a high surrogate."
 msgstr "Un «low-surrogate» Unicode debe seguir a un «high-surrogate»."
 
-# XXX change upstream message
-#: parse_manifest.c:150
-msgid "parsing failed"
-msgstr "procesamiento falló"
+#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855
+#, c-format
+msgid "could not initialize checksum of manifest"
+msgstr "no se pudo inicializar la suma de verificación del manifiesto"
 
-#: parse_manifest.c:152
+#: ../../common/parse_manifest.c:204 ../../common/parse_manifest.c:261
 msgid "manifest ended unexpectedly"
 msgstr "el manifiesto terminó inesperadamente"
 
-#: parse_manifest.c:191
+#: ../../common/parse_manifest.c:210 ../../common/parse_manifest.c:862
+#, 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:302
 msgid "unexpected object start"
 msgstr "inicio de objeto inesperado"
 
-#: parse_manifest.c:226
+#: ../../common/parse_manifest.c:337
 msgid "unexpected object end"
 msgstr "fin de objeto inesperado"
 
-#: parse_manifest.c:255
+#: ../../common/parse_manifest.c:366
 msgid "unexpected array start"
 msgstr "inicio de array inesperado"
 
-#: parse_manifest.c:280
+#: ../../common/parse_manifest.c:391
 msgid "unexpected array end"
 msgstr "fin de array inesperado"
 
-#: parse_manifest.c:307
+#: ../../common/parse_manifest.c:418
 msgid "expected version indicator"
 msgstr "se esperaba indicador de versión"
 
-#: parse_manifest.c:336
+#: ../../common/parse_manifest.c:454
 msgid "unrecognized top-level field"
 msgstr "campo de nivel superior no reconocido"
 
-#: parse_manifest.c:355
+#: ../../common/parse_manifest.c:473
 msgid "unexpected file field"
 msgstr "campo de archivo inesperado"
 
-#: parse_manifest.c:369
+#: ../../common/parse_manifest.c:487
 msgid "unexpected WAL range field"
 msgstr "campo de rango de WAL inesperado"
 
-#: parse_manifest.c:375
+#: ../../common/parse_manifest.c:493
 msgid "unexpected object field"
 msgstr "campo de objeto inesperado"
 
-#: parse_manifest.c:407
+#: ../../common/parse_manifest.c:583
+msgid "unexpected scalar"
+msgstr "escalar inesperado"
+
+#: ../../common/parse_manifest.c:609
+#, fuzzy
+#| msgid "timeline is not an integer"
+msgid "manifest version not an integer"
+msgstr "el timeline no es un número entero"
+
+#: ../../common/parse_manifest.c:613
 msgid "unexpected manifest version"
 msgstr "versión de manifiesto inesperada"
 
-#: parse_manifest.c:458
-msgid "unexpected scalar"
-msgstr "escalar inesperado"
+#: ../../common/parse_manifest.c:637
+#, fuzzy
+#| msgid "file size is not an integer"
+msgid "manifest system identifier not an integer"
+msgstr "el tamaño del archivo no es un número entero"
 
-#: parse_manifest.c:484
+#: ../../common/parse_manifest.c:662
 msgid "missing path name"
 msgstr "ruta de archivo faltante"
 
-#: parse_manifest.c:487
+#: ../../common/parse_manifest.c:665
 msgid "both path name and encoded path name"
 msgstr "hay ambos ruta de archivo (path name) y ruta codificada (encoded path name)"
 
-#: parse_manifest.c:489
+#: ../../common/parse_manifest.c:667
 msgid "missing size"
 msgstr "tamaño faltante"
 
-#: parse_manifest.c:492
+#: ../../common/parse_manifest.c:670
 msgid "checksum without algorithm"
 msgstr "suma de comprobación sin algoritmo"
 
-#: parse_manifest.c:506
+#: ../../common/parse_manifest.c:684
 msgid "could not decode file name"
 msgstr "no se pudo decodificar el nombre del archivo"
 
-#: parse_manifest.c:516
+#: ../../common/parse_manifest.c:694
 msgid "file size is not an integer"
 msgstr "el tamaño del archivo no es un número entero"
 
-#: parse_manifest.c:522
+#: ../../common/parse_manifest.c:700
 #, c-format
 msgid "unrecognized checksum algorithm: \"%s\""
 msgstr "algoritmo de suma de comprobación no reconocido: \"%s\""
 
-#: parse_manifest.c:541
+#: ../../common/parse_manifest.c:719
 #, c-format
 msgid "invalid checksum for file \"%s\": \"%s\""
 msgstr "suma de comprobación no válida para el archivo \"%s\": \"%s\""
 
-#: parse_manifest.c:584
+#: ../../common/parse_manifest.c:762
 msgid "missing timeline"
 msgstr "falta el timeline"
 
-#: parse_manifest.c:586
+#: ../../common/parse_manifest.c:764
 msgid "missing start LSN"
 msgstr "falta el LSN de inicio"
 
-#: parse_manifest.c:588
+#: ../../common/parse_manifest.c:766
 msgid "missing end LSN"
 msgstr "falta el LSN de término"
 
-#: parse_manifest.c:594
+#: ../../common/parse_manifest.c:772
 msgid "timeline is not an integer"
 msgstr "el timeline no es un número entero"
 
-#: parse_manifest.c:597
+#: ../../common/parse_manifest.c:775
 msgid "could not parse start LSN"
 msgstr "no se pudo interpretar el LSN de inicio"
 
-#: parse_manifest.c:600
+#: ../../common/parse_manifest.c:778
 msgid "could not parse end LSN"
 msgstr "no se pudo interpretar el LSN de término"
 
-#: parse_manifest.c:661
+#: ../../common/parse_manifest.c:843
 msgid "expected at least 2 lines"
 msgstr "esperado al menos 2 líneas"
 
-#: parse_manifest.c:664
+#: ../../common/parse_manifest.c:846
 msgid "last line not newline-terminated"
 msgstr "última línea no termina en nueva línea"
 
-#: parse_manifest.c:669
-#, c-format
-msgid "out of memory"
-msgstr "memoria agotada"
-
-#: parse_manifest.c:671
-#, c-format
-msgid "could not initialize checksum of manifest"
-msgstr "no se pudo inicializar la suma de verificación del manifiesto"
-
-#: parse_manifest.c:673
-#, c-format
-msgid "could not update checksum of manifest"
-msgstr "no se pudo actualizar la suma de verificación del manifiesto"
-
-#: parse_manifest.c:676
+#: ../../common/parse_manifest.c:865
 #, c-format
 msgid "could not finalize checksum of manifest"
 msgstr "no se pudo finalizar la suma de verificación del manifiesto"
 
-#: parse_manifest.c:680
+#: ../../common/parse_manifest.c:869
 #, c-format
 msgid "manifest has no checksum"
 msgstr "el manifiesto no tiene suma de comprobación"
 
-#: parse_manifest.c:684
+#: ../../common/parse_manifest.c:873
 #, c-format
 msgid "invalid manifest checksum: \"%s\""
 msgstr "suma de comprobación de manifiesto no válida: \"%s\""
 
-#: parse_manifest.c:688
+#: ../../common/parse_manifest.c:877
 #, c-format
 msgid "manifest checksum mismatch"
 msgstr "discordancia en la suma de comprobación del manifiesto"
 
-#: parse_manifest.c:703
+#: ../../common/parse_manifest.c:892
 #, c-format
 msgid "could not parse backup manifest: %s"
 msgstr "no se pudo analizar el manifiesto de la copia de seguridad: %s"
 
-#: pg_verifybackup.c:273 pg_verifybackup.c:282 pg_verifybackup.c:293
+#: pg_verifybackup.c:277 pg_verifybackup.c:286 pg_verifybackup.c:297
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Pruebe «%s --help» para mayor información."
 
-#: pg_verifybackup.c:281
+#: pg_verifybackup.c:285
 #, c-format
 msgid "no backup directory specified"
 msgstr "no fue especificado el directorio de respaldo"
 
-#: pg_verifybackup.c:291
+#: pg_verifybackup.c:295
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)"
 
-#: pg_verifybackup.c:299
+#: pg_verifybackup.c:303
 #, c-format
 msgid "cannot specify both %s and %s"
 msgstr "no se puede especificar %s junto con %s"
 
-#: pg_verifybackup.c:319
+#: pg_verifybackup.c:323
 #, c-format
 msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\""
 msgstr "el programa «%s» es requerido por %s, pero no pudo encontrarlo en el mismo directorio que «%s»"
 
-#: pg_verifybackup.c:322
+#: pg_verifybackup.c:326
 #, c-format
 msgid "program \"%s\" was found by \"%s\" but was not the same version as %s"
 msgstr "el programa «%s» fue encontrado por «%s», pero no es de la misma versión que %s"
 
-#: pg_verifybackup.c:378
+#: pg_verifybackup.c:381
 #, c-format
 msgid "backup successfully verified\n"
 msgstr "copia de seguridad verificada correctamente\n"
 
-#: pg_verifybackup.c:404 pg_verifybackup.c:748
-#, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "no se pudo abrir el archivo «%s»: %m"
-
-#: pg_verifybackup.c:408
+#: pg_verifybackup.c:410
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo «%s»: %m"
 
-#: pg_verifybackup.c:428 pg_verifybackup.c:779
-#, c-format
-msgid "could not read file \"%s\": %m"
-msgstr "no se pudo leer el archivo «%s»: %m"
-
-#: pg_verifybackup.c:431
+#: pg_verifybackup.c:440
 #, 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"
 
-#: pg_verifybackup.c:491
+#: pg_verifybackup.c:478
+#, fuzzy, c-format
+#| msgid "could not read file \"%s\": read %d of %lld"
+msgid "could not read file \"%s\": read %lld of %lld"
+msgstr "no se pudo leer el archivo «%s»: leídos %d de %lld"
+
+#: pg_verifybackup.c:561
 #, c-format
 msgid "duplicate path name in backup manifest: \"%s\""
 msgstr "nombre de ruta duplicado en el manifiesto de la copia de seguridad: \"%s\""
 
-#: pg_verifybackup.c:554 pg_verifybackup.c:561
+#: pg_verifybackup.c:624 pg_verifybackup.c:631
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "no se pudo abrir el directorio «%s»: %m"
 
-#: pg_verifybackup.c:593
+#: pg_verifybackup.c:663
 #, c-format
 msgid "could not close directory \"%s\": %m"
 msgstr "no se pudo abrir el directorio «%s»: %m"
 
-#: pg_verifybackup.c:613
+#: pg_verifybackup.c:683
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo o directorio «%s»: %m"
 
-#: pg_verifybackup.c:636
+#: pg_verifybackup.c:706
 #, c-format
 msgid "\"%s\" is not a file or directory"
 msgstr "\"%s\" no es un archivo o directorio"
 
-#: pg_verifybackup.c:646
+#: pg_verifybackup.c:716
 #, c-format
 msgid "\"%s\" is present on disk but not in the manifest"
 msgstr "\"%s\" está presente en el disco pero no en el manifiesto"
 
-#: pg_verifybackup.c:658
+#: pg_verifybackup.c:728
 #, c-format
 msgid "\"%s\" has size %lld on disk but size %zu in the manifest"
 msgstr "\"%s\" tiene un tamaño %lld en el disco pero un tamaño %zu en el manifiesto"
 
-#: pg_verifybackup.c:689
+#: pg_verifybackup.c:768
+#, fuzzy, c-format
+#| msgid "pg_control CRC value is incorrect"
+msgid "%s: CRC is incorrect"
+msgstr "el valor de CRC de pg_control es incorrecto"
+
+#: pg_verifybackup.c:772
+#, fuzzy, c-format
+#| msgid "unexpected control file CRC"
+msgid "%s: unexpected control file version"
+msgstr "CRC de archivo de control inesperado"
+
+#: pg_verifybackup.c:777
+#, c-format
+msgid "%s: manifest system identifier is %llu, but control file has %llu"
+msgstr ""
+
+#: pg_verifybackup.c:801
 #, c-format
 msgid "\"%s\" is present in the manifest but not on disk"
 msgstr "\"%s\" está presente en el manifiesto pero no en el disco"
 
-#: pg_verifybackup.c:756
+#: pg_verifybackup.c:873
 #, c-format
 msgid "could not initialize checksum of file \"%s\""
 msgstr "no se pudo inicializar la suma de verificación para el archivo «%s»"
 
-#: pg_verifybackup.c:768
+#: pg_verifybackup.c:885
 #, c-format
 msgid "could not update checksum of file \"%s\""
 msgstr "no se pudo actualizar la suma de verificación para el archivo «%s»"
 
-#: pg_verifybackup.c:785
-#, c-format
-msgid "could not close file \"%s\": %m"
-msgstr "no se pudo cerrar el archivo «%s»: %m"
-
-#: pg_verifybackup.c:804
+#: pg_verifybackup.c:921
 #, c-format
 msgid "file \"%s\" should contain %zu bytes, but read %zu bytes"
 msgstr "el archivo \"%s\" debe contener %zu bytes, pero se leyeron %zu bytes"
 
-#: pg_verifybackup.c:814
+#: pg_verifybackup.c:931
 #, c-format
 msgid "could not finalize checksum of file \"%s\""
 msgstr "no se pudo finalizar la suma de verificación para el archivo «%s»"
 
-#: pg_verifybackup.c:822
+#: pg_verifybackup.c:939
 #, c-format
 msgid "file \"%s\" has checksum of length %d, but expected %d"
 msgstr "el archivo \"%s\" tiene una suma de comprobación de longitud %d, pero se esperaba %d"
 
-#: pg_verifybackup.c:826
+#: pg_verifybackup.c:943
 #, c-format
 msgid "checksum mismatch for file \"%s\""
 msgstr "no coincide la suma de comprobación para el archivo \"%s\""
 
-#: pg_verifybackup.c:851
+#: pg_verifybackup.c:969
 #, c-format
 msgid "WAL parsing failed for timeline %u"
 msgstr "Error al interpretar el WAL para el timeline %u"
 
-#: pg_verifybackup.c:965
+#: pg_verifybackup.c:1072
 #, c-format
 msgid "%*s/%s kB (%d%%) verified"
 msgstr "%*s/%s kB (%d%%) verificados"
 
-#: pg_verifybackup.c:982
+#: pg_verifybackup.c:1089
 #, c-format
 msgid ""
 "%s verifies a backup against the backup manifest.\n"
@@ -442,7 +549,7 @@ msgstr ""
 "%s verifica una copia de seguridad con el fichero de manifiesto de la copia de seguridad.\n"
 "\n"
 
-#: pg_verifybackup.c:983
+#: pg_verifybackup.c:1090
 #, c-format
 msgid ""
 "Usage:\n"
@@ -453,62 +560,62 @@ msgstr ""
 "  %s [OPCIÓN]... BACKUPDIR\n"
 "\n"
 
-#: pg_verifybackup.c:984
+#: pg_verifybackup.c:1091
 #, c-format
 msgid "Options:\n"
 msgstr "Opciones:\n"
 
-#: pg_verifybackup.c:985
+#: pg_verifybackup.c:1092
 #, c-format
 msgid "  -e, --exit-on-error         exit immediately on error\n"
 msgstr "  -e, --exit-on-error         salir inmediatamente en caso de error\n"
 
-#: pg_verifybackup.c:986
+#: pg_verifybackup.c:1093
 #, c-format
 msgid "  -i, --ignore=RELATIVE_PATH  ignore indicated path\n"
 msgstr "  -i, --ignore=RELATIVE_PATH  ignorar la ruta indicada\n"
 
-#: pg_verifybackup.c:987
+#: pg_verifybackup.c:1094
 #, c-format
 msgid "  -m, --manifest-path=PATH    use specified path for manifest\n"
 msgstr "  -m, --manifest-path=PATH    usar la ruta especificada para el manifiesto\n"
 
-#: pg_verifybackup.c:988
+#: pg_verifybackup.c:1095
 #, c-format
 msgid "  -n, --no-parse-wal          do not try to parse WAL files\n"
 msgstr "  -n, --no-parse-wal          no intentar analizar archivos WAL\n"
 
-#: pg_verifybackup.c:989
+#: pg_verifybackup.c:1096
 #, c-format
 msgid "  -P, --progress              show progress information\n"
 msgstr "  -P, --progress              mostrar información de progreso\n"
 
-#: pg_verifybackup.c:990
+#: pg_verifybackup.c:1097
 #, c-format
 msgid "  -q, --quiet                 do not print any output, except for errors\n"
 msgstr "  -q, --quiet                 no escribir ningún mensaje, excepto errores\n"
 
-#: pg_verifybackup.c:991
+#: pg_verifybackup.c:1098
 #, c-format
 msgid "  -s, --skip-checksums        skip checksum verification\n"
 msgstr "  -s, --skip-checksums        omitir la verificación de la suma de comprobación\n"
 
-#: pg_verifybackup.c:992
+#: pg_verifybackup.c:1099
 #, c-format
 msgid "  -w, --wal-directory=PATH    use specified path for WAL files\n"
 msgstr "  -w, --wal-directory=PATH    utilizar la ruta especificada para los archivos WAL\n"
 
-#: pg_verifybackup.c:993
+#: pg_verifybackup.c:1100
 #, c-format
 msgid "  -V, --version               output version information, then exit\n"
 msgstr "  -V, --version               mostrar la información de la versión, luego salir\n"
 
-#: pg_verifybackup.c:994
+#: pg_verifybackup.c:1101
 #, c-format
 msgid "  -?, --help                  show this help, then exit\n"
 msgstr "  -?, --help                  muestra esta ayuda, luego salir\n"
 
-#: pg_verifybackup.c:995
+#: pg_verifybackup.c:1102
 #, c-format
 msgid ""
 "\n"
@@ -517,7 +624,51 @@ msgstr ""
 "\n"
 "Reporte errores a <%s>.\n"
 
-#: pg_verifybackup.c:996
+#: pg_verifybackup.c:1103
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sitio web de %s: <%s>\n"
+
+#, c-format
+#~ msgid "Escape sequence \"\\%s\" is invalid."
+#~ msgstr "La secuencia de escape «%s» no es válida."
+
+#, c-format
+#~ msgid "Expected end of input, but found \"%s\"."
+#~ msgstr "Se esperaba el fin de la entrada, se encontró «%s»."
+
+#, c-format
+#~ msgid "Expected array element or \"]\", but found \"%s\"."
+#~ msgstr "Se esperaba un elemento de array o «]», se encontró «%s»."
+
+#, c-format
+#~ msgid "Expected \",\" or \"]\", but found \"%s\"."
+#~ msgstr "Se esperaba «,» o «]», se encontró «%s»."
+
+#, c-format
+#~ msgid "Expected \":\", but found \"%s\"."
+#~ msgstr "Se esperaba «:», se encontró «%s»."
+
+#, c-format
+#~ msgid "Expected JSON value, but found \"%s\"."
+#~ msgstr "Se esperaba un valor JSON, se encontró «%s»."
+
+#, c-format
+#~ msgid "Expected string or \"}\", but found \"%s\"."
+#~ msgstr "Se esperaba una cadena o «}», se encontró «%s»."
+
+#, c-format
+#~ msgid "Expected \",\" or \"}\", but found \"%s\"."
+#~ msgstr "Se esperaba «,» o «}», se encontró «%s»."
+
+#, c-format
+#~ msgid "Expected string, but found \"%s\"."
+#~ msgstr "Se esperaba una cadena, se encontró «%s»."
+
+#, c-format
+#~ msgid "Token \"%s\" is invalid."
+#~ msgstr "El elemento «%s» no es válido."
+
+# XXX change upstream message
+#~ msgid "parsing failed"
+#~ msgstr "procesamiento falló"
index 67a0cf3e2b0f51c999e2a202d2b27032142e88c5..415868797c6635529acc066369df4741957c74a8 100644 (file)
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pg_waldump (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:18+0000\n"
+"POT-Creation-Date: 2024-08-01 11:19+0000\n"
 "PO-Revision-Date: 2023-09-05 07:35+0200\n"
 "Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
@@ -40,6 +40,61 @@ msgstr "detalle: "
 msgid "hint: "
 msgstr "consejo: "
 
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "memoria agotada\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "no se puede duplicar un puntero nulo (error interno)\n"
+
+#: ../../common/file_utils.c:70 ../../common/file_utils.c:347
+#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 pg_waldump.c:199
+#: pg_waldump.c:532
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "no se pudo abrir el archivo «%s»: %m"
+
+#: ../../common/file_utils.c:76
+#, 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
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "no se pudo hacer stat al archivo «%s»: %m"
+
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#, fuzzy, c-format
+#| msgid "this build does not support compression with %s"
+msgid "this build does not support sync method \"%s\""
+msgstr "esta instalación no soporta compresión con %s"
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#: pg_waldump.c:1104 pg_waldump.c:1127
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "no se pudo abrir el directorio «%s»: %m"
+
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "no se pudo leer el directorio «%s»: %m"
+
+#: ../../common/file_utils.c:418 ../../common/file_utils.c:488
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
+
+#: ../../common/file_utils.c:498
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
+
 #: pg_waldump.c:137
 #, c-format
 msgid "could not create directory \"%s\": %m"
@@ -55,74 +110,79 @@ msgstr "el directorio «%s» existe pero no está vacío"
 msgid "could not access directory \"%s\": %m"
 msgstr "no se pudo acceder al directorio «%s»: %m"
 
-#: pg_waldump.c:199 pg_waldump.c:527
-#, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "no se pudo abrir el archivo «%s»: %m"
+#: pg_waldump.c:256
+#, fuzzy, c-format
+#| msgid "pg_control specifies invalid WAL segment size (%d byte); proceed with caution"
+#| msgid_plural "pg_control specifies invalid WAL segment size (%d bytes); proceed with caution"
+msgid "invalid WAL segment size in WAL file \"%s\" (%d byte)"
+msgid_plural "invalid WAL segment size in WAL file \"%s\" (%d bytes)"
+msgstr[0] "pg_control especifica un tamaño de segmento de WAL no válido (%d byte), proceda con precaución"
+msgstr[1] "pg_control especifica un tamaño de segmento de WAL no válido (%d bytes), proceda con precaución"
 
-#: pg_waldump.c:255
-#, c-format
-msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte"
-msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes"
-msgstr[0] "el tamaño de segmento WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero la cabecera del archivo WAL «%s» especifica %d byte"
-msgstr[1] "el tamaño de segmento WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero la cabecera del archivo WAL «%s» especifica %d bytes"
+#: pg_waldump.c:260
+#, fuzzy, c-format
+#| msgid "argument of --wal-segsize must be a power of two between 1 and 1024"
+msgid "The WAL segment size must be a power of two between 1 MB and 1 GB."
+msgstr "el argumento de --wal-segsize debe ser una potencia de dos entre 1 y 1024"
 
-#: pg_waldump.c:261
+#: pg_waldump.c:265
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "no se pudo leer el archivo «%s»: %m"
 
-#: pg_waldump.c:264
+#: pg_waldump.c:268
 #, c-format
 msgid "could not read file \"%s\": read %d of %d"
 msgstr "no se pudo leer el archivo «%s»: leídos %d de %d"
 
-#: pg_waldump.c:325
+#: pg_waldump.c:329
 #, c-format
 msgid "could not locate WAL file \"%s\""
 msgstr "no se pudo ubicar el archivo WAL «%s»"
 
-#: pg_waldump.c:327
+#: pg_waldump.c:331
 #, c-format
 msgid "could not find any WAL file"
 msgstr "no se pudo encontrar ningún archivo WAL"
 
-#: pg_waldump.c:368
+#: pg_waldump.c:372
 #, c-format
 msgid "could not find file \"%s\": %m"
 msgstr "no se pudo encontrar el archivo «%s»: %m"
 
-#: pg_waldump.c:417
-#, c-format
-msgid "could not read from file %s, offset %d: %m"
+#: pg_waldump.c:421
+#, fuzzy, c-format
+#| msgid "could not read from file %s, offset %d: %m"
+msgid "could not read from file \"%s\", offset %d: %m"
 msgstr "no se pudo leer desde el archivo «%s» en la posición %d: %m"
 
-#: pg_waldump.c:421
-#, c-format
-msgid "could not read from file %s, offset %d: read %d of %d"
+#: pg_waldump.c:425
+#, fuzzy, c-format
+#| msgid "could not read from file %s, offset %d: read %d of %d"
+msgid "could not read from file \"%s\", offset %d: read %d of %d"
 msgstr "no se pudo leer del archivo %s, posición %d: leídos %d de %d"
 
-#: pg_waldump.c:511
+#: pg_waldump.c:515
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pg_waldump.c:519
+#: pg_waldump.c:523
 #, c-format
 msgid "invalid fork number: %u"
 msgstr "número de “fork” no válido: %u"
 
-#: pg_waldump.c:530
+#: pg_waldump.c:535
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "no se pudo escribir el archivo «%s»: %m"
 
-#: pg_waldump.c:533
+#: pg_waldump.c:538
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "no se pudo cerrar el archivo «%s»: %m"
 
-#: pg_waldump.c:753
+#: pg_waldump.c:758
 #, c-format
 msgid ""
 "%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
@@ -131,17 +191,17 @@ msgstr ""
 "%s decodifica y muestra segmentos de WAL de PostgreSQL para depuración.\n"
 "\n"
 
-#: pg_waldump.c:755
+#: pg_waldump.c:760
 #, c-format
 msgid "Usage:\n"
 msgstr "Empleo:\n"
 
-#: pg_waldump.c:756
+#: pg_waldump.c:761
 #, c-format
 msgid "  %s [OPTION]... [STARTSEG [ENDSEG]]\n"
 msgstr "  %s [OPCIÓN]... [SEGINICIAL [SEGFINAL]]\n"
 
-#: pg_waldump.c:757
+#: pg_waldump.c:762
 #, c-format
 msgid ""
 "\n"
@@ -150,29 +210,29 @@ msgstr ""
 "\n"
 "Opciones:\n"
 
-#: pg_waldump.c:758
+#: pg_waldump.c:763
 #, c-format
 msgid "  -b, --bkp-details      output detailed information about backup blocks\n"
 msgstr "  -b, --bkp-details        mostrar información detallada sobre bloques de respaldo\n"
 
-#: pg_waldump.c:759
+#: pg_waldump.c:764
 #, c-format
 msgid "  -B, --block=N          with --relation, only show records that modify block N\n"
 msgstr ""
 "  -B, --block=N            con --relation, sólo mostrar registros que modifican\n"
 "                           el bloque N\n"
 
-#: pg_waldump.c:760
+#: pg_waldump.c:765
 #, c-format
 msgid "  -e, --end=RECPTR       stop reading at WAL location RECPTR\n"
 msgstr "  -e, --end=RECPTR         detener la lectura del WAL en la posición RECPTR\n"
 
-#: pg_waldump.c:761
+#: pg_waldump.c:766
 #, c-format
 msgid "  -f, --follow           keep retrying after reaching end of WAL\n"
 msgstr "  -f, --follow             seguir reintentando después de alcanzar el final del WAL\n"
 
-#: pg_waldump.c:762
+#: pg_waldump.c:767
 #, c-format
 msgid ""
 "  -F, --fork=FORK        only show records that modify blocks in fork FORK;\n"
@@ -181,13 +241,17 @@ msgstr ""
 "  -F, --form=FORK          sólo mostrar registros que modifican bloques en el\n"
 "                           «fork» FORK; nombres válidos son main, fsm, vm, init\n"
 
-#: pg_waldump.c:764
+#: pg_waldump.c:769
 #, c-format
 msgid "  -n, --limit=N          number of records to display\n"
 msgstr "  -n, --limit=N            número de registros a mostrar\n"
 
-#: pg_waldump.c:765
-#, c-format
+#: pg_waldump.c:770
+#, fuzzy, c-format
+#| msgid ""
+#| "  -p, --path=PATH        directory in which to find WAL segment files or a\n"
+#| "                         directory with a ./pg_wal that contains such files\n"
+#| "                         (default: current directory, ./pg_wal, $PGDATA/pg_wal)\n"
 msgid ""
 "  -p, --path=PATH        directory in which to find WAL segment files or a\n"
 "                         directory with a ./pg_wal that contains such files\n"
@@ -197,12 +261,12 @@ msgstr ""
 "                           contenga un directorio ./pg_wal con dichos archivos\n"
 "                           (por omisión: directorio actual, ./pg_wal, $PGDATA/pg_wal)\n"
 
-#: pg_waldump.c:768
+#: pg_waldump.c:773
 #, c-format
 msgid "  -q, --quiet            do not print any output, except for errors\n"
 msgstr "  -q, --quiet              no escribir ningún mensaje, excepto errores\n"
 
-#: pg_waldump.c:769
+#: pg_waldump.c:774
 #, c-format
 msgid ""
 "  -r, --rmgr=RMGR        only show records generated by resource manager RMGR;\n"
@@ -211,18 +275,21 @@ msgstr ""
 "  -r, --rmgr=GREC          sólo mostrar registros generados por el gestor de\n"
 "                           recursos GREC; use --rmgr=list para listar nombres válidos\n"
 
-#: pg_waldump.c:771
+#: pg_waldump.c:776
 #, c-format
 msgid "  -R, --relation=T/D/R   only show records that modify blocks in relation T/D/R\n"
 msgstr "  -R, --relation=T/D/R     sólo mostrar registros que modifican bloques en relación T/D/R\n"
 
-#: pg_waldump.c:772
+#: pg_waldump.c:777
 #, c-format
 msgid "  -s, --start=RECPTR     start reading at WAL location RECPTR\n"
 msgstr "  -s, --start=RECPTR       empezar a leer el WAL en la posición RECPTR\n"
 
-#: pg_waldump.c:773
-#, c-format
+#: pg_waldump.c:778
+#, fuzzy, c-format
+#| msgid ""
+#| "  -t, --timeline=TLI     timeline from which to read WAL records\n"
+#| "                         (default: 1 or the value used in STARTSEG)\n"
 msgid ""
 "  -t, --timeline=TLI     timeline from which to read WAL records\n"
 "                         (default: 1 or the value used in STARTSEG)\n"
@@ -230,22 +297,22 @@ msgstr ""
 "  -t, --timeline=TLI       “timeline” del cual leer registros WAL\n"
 "                           (por omisión: 1 o el valor usado en SEGINICIAL)\n"
 
-#: pg_waldump.c:775
+#: pg_waldump.c:780
 #, c-format
 msgid "  -V, --version          output version information, then exit\n"
 msgstr "  -V, --version            mostrar información de versión, luego salir\n"
 
-#: pg_waldump.c:776
+#: pg_waldump.c:781
 #, c-format
 msgid "  -w, --fullpage         only show records with a full page write\n"
 msgstr "  -w, --fullpage           sólo mostrar registros con escrituras de página completa\n"
 
-#: pg_waldump.c:777
+#: pg_waldump.c:782
 #, c-format
 msgid "  -x, --xid=XID          only show records with transaction ID XID\n"
 msgstr "  -x, --xid=XID            sólo mostrar registros con el id de transacción XID\n"
 
-#: pg_waldump.c:778
+#: pg_waldump.c:783
 #, c-format
 msgid ""
 "  -z, --stats[=record]   show statistics instead of records\n"
@@ -254,17 +321,17 @@ msgstr ""
 "  -z, --stats[=registro]   mostrar estadísticas en lugar de registros\n"
 "                           (opcionalmente, mostrar estadísticas por registro)\n"
 
-#: pg_waldump.c:780
+#: pg_waldump.c:785
 #, c-format
 msgid "  --save-fullpage=DIR    save full page images to DIR\n"
 msgstr "  --save-fullpage=DIR      guardar imágenes de página completa en DIR\n"
 
-#: pg_waldump.c:781
+#: pg_waldump.c:786
 #, c-format
 msgid "  -?, --help             show this help, then exit\n"
 msgstr "  -?, --help               mostrar esta ayuda, luego salir\n"
 
-#: pg_waldump.c:782
+#: pg_waldump.c:787
 #, c-format
 msgid ""
 "\n"
@@ -273,304 +340,292 @@ msgstr ""
 "\n"
 "Reporte errores a <%s>.\n"
 
-#: pg_waldump.c:783
+#: pg_waldump.c:788
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sitio web de %s: <%s>\n"
 
-#: pg_waldump.c:879
+#: pg_waldump.c:884
 #, c-format
 msgid "no arguments specified"
 msgstr "no se especificó ningún argumento"
 
-#: pg_waldump.c:895
+#: pg_waldump.c:900
 #, c-format
 msgid "invalid block number: \"%s\""
 msgstr "número de bloque no válido: «%s»"
 
-#: pg_waldump.c:904 pg_waldump.c:1002
+#: pg_waldump.c:909 pg_waldump.c:1007
 #, c-format
 msgid "invalid WAL location: \"%s\""
 msgstr "ubicación de WAL no válida: «%s»"
 
-#: pg_waldump.c:917
+#: pg_waldump.c:922
 #, c-format
 msgid "invalid fork name: \"%s\""
 msgstr "nombre de «fork» no válido: «%s»"
 
-#: pg_waldump.c:925 pg_waldump.c:1028
+#: pg_waldump.c:930 pg_waldump.c:1033
 #, c-format
 msgid "invalid value \"%s\" for option %s"
 msgstr "el valor «%s» no es válido para la opción «%s»"
 
-#: pg_waldump.c:956
+#: pg_waldump.c:961
 #, c-format
 msgid "custom resource manager \"%s\" does not exist"
 msgstr "el gestor de recursos personalizado «%s» no existe"
 
-#: pg_waldump.c:977
+#: pg_waldump.c:982
 #, c-format
 msgid "resource manager \"%s\" does not exist"
 msgstr "el gestor de recursos «%s» no existe"
 
-#: pg_waldump.c:992
+#: pg_waldump.c:997
 #, c-format
 msgid "invalid relation specification: \"%s\""
 msgstr "especificación de relación no válida: «%s»"
 
-#: pg_waldump.c:993
+#: pg_waldump.c:998
 #, c-format
 msgid "Expecting \"tablespace OID/database OID/relation filenode\"."
 msgstr "Se esperaba «OID de tablespace/OID de base de datos/filenode de relación»."
 
-#: pg_waldump.c:1035
+#: pg_waldump.c:1040
 #, c-format
 msgid "%s must be in range %u..%u"
 msgstr "%s debe estar en el rango %u..%u"
 
-#: pg_waldump.c:1050
+#: pg_waldump.c:1055
 #, c-format
 msgid "invalid transaction ID specification: \"%s\""
 msgstr "especificación de ID de transacción no válida: «%s»"
 
-#: pg_waldump.c:1065
+#: pg_waldump.c:1070
 #, c-format
 msgid "unrecognized value for option %s: %s"
 msgstr "valor no reconocido para la opción %s: %s"
 
-#: pg_waldump.c:1082
+#: pg_waldump.c:1087
 #, c-format
 msgid "option %s requires option %s to be specified"
 msgstr "la opción %s requiere que se especifique la opción %s"
 
-#: pg_waldump.c:1089
+#: pg_waldump.c:1094
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)"
 
-#: pg_waldump.c:1099 pg_waldump.c:1122
-#, c-format
-msgid "could not open directory \"%s\": %m"
-msgstr "no se pudo abrir el directorio «%s»: %m"
-
-#: pg_waldump.c:1128 pg_waldump.c:1158
+#: pg_waldump.c:1133 pg_waldump.c:1163
 #, c-format
 msgid "could not open file \"%s\""
 msgstr "no se pudo abrir el archivo «%s»"
 
-#: pg_waldump.c:1138
+#: pg_waldump.c:1143
 #, c-format
 msgid "start WAL location %X/%X is not inside file \"%s\""
 msgstr "la posición inicial de WAL %X/%X no está en el archivo «%s»"
 
-#: pg_waldump.c:1165
+#: pg_waldump.c:1170
 #, c-format
 msgid "ENDSEG %s is before STARTSEG %s"
 msgstr "SEGFINAL %s está antes del SEGINICIAL %s"
 
-#: pg_waldump.c:1180
+#: pg_waldump.c:1185
 #, c-format
 msgid "end WAL location %X/%X is not inside file \"%s\""
 msgstr "la posición final de WAL %X/%X no está en el archivo «%s»"
 
-#: pg_waldump.c:1192
+#: pg_waldump.c:1197
 #, c-format
 msgid "no start WAL location given"
 msgstr "no se especificó posición inicial de WAL"
 
-#: pg_waldump.c:1206
+#: pg_waldump.c:1211
 #, c-format
 msgid "out of memory while allocating a WAL reading processor"
 msgstr "se agotó la memoria mientras se emplazaba un procesador de lectura de WAL"
 
-#: pg_waldump.c:1212
+#: pg_waldump.c:1217
 #, c-format
 msgid "could not find a valid record after %X/%X"
 msgstr "no se pudo encontrar un registro válido después de %X/%X"
 
-#: pg_waldump.c:1222
-#, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
+#: pg_waldump.c:1227
+#, fuzzy, c-format
+#| msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
+#| msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
+msgid "first record is after %X/%X, at %X/%X, skipping over %u byte"
+msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes"
 msgstr[0] "el primer registro está ubicado después de %X/%X, en %X/%X, saltándose %u byte\n"
 msgstr[1] "el primer registro está ubicado después de %X/%X, en %X/%X, saltándose %u bytes\n"
 
-#: pg_waldump.c:1307
+#: pg_waldump.c:1312
 #, c-format
 msgid "error in WAL record at %X/%X: %s"
 msgstr "error en registro de WAL en %X/%X: %s"
 
-#: pg_waldump.c:1316
+#: pg_waldump.c:1321
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Pruebe «%s --help» para mayor información."
 
-#: xlogreader.c:626
+#: 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"
 
-#: xlogreader.c:635
+#: xlogreader.c:628
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "contrecord solicitado por %X/%X"
 
-#: xlogreader.c:676 xlogreader.c:1123
+#: xlogreader.c:669 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"
 
-#: 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"
-
-#: xlogreader.c:727
-#, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "largo de registro %u en %X/%X demasiado largo"
-
-#: xlogreader.c:776
+#: xlogreader.c:758
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "no hay bandera de contrecord en %X/%X"
 
-#: xlogreader.c:789
+#: 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"
 
-#: xlogreader.c:924
-#, c-format
-msgid "missing contrecord at %X/%X"
-msgstr "falta contrecord en %X/%X"
-
-#: xlogreader.c:1131
+#: 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"
 
-#: xlogreader.c:1144 xlogreader.c:1160
+#: xlogreader.c:1155 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"
 
-#: xlogreader.c:1196
+#: 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"
 
-#: xlogreader.c:1230
+#: 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"
 
-#: xlogreader.c:1245 xlogreader.c:1287
+#: xlogreader.c:1258 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"
 
-#: xlogreader.c:1261
+#: 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"
 
-#: xlogreader.c:1269
+#: 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"
 
-#: xlogreader.c:1275
+#: 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"
 
-#: xlogreader.c:1307
+#: 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"
 
-#: xlogreader.c:1333
+#: 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"
 
-#: xlogreader.c:1739
+#: 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"
 
-#: xlogreader.c:1763
+#: 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"
 
-#: xlogreader.c:1770
+#: 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"
 
-#: xlogreader.c:1806
+#: 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"
 
-#: xlogreader.c:1822
+#: 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"
 
-#: xlogreader.c:1836
+#: 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"
 
-#: xlogreader.c:1851
+#: 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"
 
-#: xlogreader.c:1867
+#: 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 "
 
-#: xlogreader.c:1879
+#: xlogreader.c:1889
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "block_id %u no válido en %X/%X"
 
-#: xlogreader.c:1946
+#: xlogreader.c:1956
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "registro con largo no válido en %X/%X"
 
-#: xlogreader.c:1972
+#: 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"
 
-#: xlogreader.c:2056
+#: xlogreader.c:2066
 #, c-format
 msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "no se pudo restaurar imagen en %X/%X con bloque especificado %d no válido"
+msgstr "no se pudo restaurar la imagen en %X/%X con bloque especificado %d no válido"
 
-#: xlogreader.c:2063
+#: xlogreader.c:2073
 #, c-format
 msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "no se pudo restaurar imagen en %X/%X con estado no válido, bloque %d"
+msgstr "no se pudo restaurar la imagen en %X/%X con estado no válido, bloque %d"
 
-#: xlogreader.c:2090 xlogreader.c:2107
+#: xlogreader.c:2100 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 imagen en %X/%X comprimida con %s no soportado por esta instalación, bloque %d"
+msgstr "no se pudo restaurar la imagen en %X/%X comprimida con %s que no está soportado por esta instalación, bloque %d"
 
-#: xlogreader.c:2116
+#: xlogreader.c:2126
 #, c-format
 msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "no se pudo restaurar imagen en %X/%X comprimida método desconocido, bloque %d"
+msgstr "no se pudo restaurar la imagen en %X/%X comprimida con un método desconocido, bloque %d"
 
-#: xlogreader.c:2124
+#: xlogreader.c:2134
 #, c-format
 msgid "could not decompress image at %X/%X, block %d"
-msgstr "no se pudo descomprimir imagen en %X/%X, bloque %d"
+msgstr "no se pudo descomprimir la imagen en %X/%X, bloque %d"
+
+#, c-format
+#~ msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte"
+#~ msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes"
+#~ msgstr[0] "el tamaño de segmento WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero la cabecera del archivo WAL «%s» especifica %d byte"
+#~ msgstr[1] "el tamaño de segmento WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero la cabecera del archivo WAL «%s» especifica %d bytes"
index 82ffa20755691be8cdcd09c97badba7574e64084..6835d8a0ada9c87d87e52d1d7fc221db1faee117 100644 (file)
@@ -12,8 +12,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pgscripts (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-10-03 07:20+0000\n"
-"PO-Revision-Date: 2023-10-03 16:25+0200\n"
+"POT-Creation-Date: 2024-08-01 11:22+0000\n"
+"PO-Revision-Date: 2024-08-01 12:07-0400\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
 "Language: es\n"
@@ -54,6 +54,49 @@ 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:70 ../../common/file_utils.c:347
+#: ../../common/file_utils.c:406 ../../common/file_utils.c:480
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "no se pudo abrir el archivo «%s»: %m"
+
+#: ../../common/file_utils.c:76
+#, 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
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "no se pudo hacer stat al archivo «%s»: %m"
+
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, fuzzy, c-format
+#| msgid "this build does not support compression with %s"
+msgid "this build does not support sync method \"%s\""
+msgstr "esta instalación no soporta compresión con %s"
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "no se pudo abrir el directorio «%s»: %m"
+
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "no se pudo leer el directorio «%s»: %m"
+
+#: ../../common/file_utils.c:418 ../../common/file_utils.c:488
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
+
+#: ../../common/file_utils.c:498
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
+
 #: ../../common/username.c:43
 #, c-format
 msgid "could not look up effective user ID %ld: %s"
@@ -68,11 +111,11 @@ msgstr "el usuario no existe"
 msgid "user name lookup failure: error code %lu"
 msgstr "fallo en la búsqueda de nombre de usuario: código de error %lu"
 
-#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238
+#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235
 msgid "Cancel request sent\n"
 msgstr "Petición de cancelación enviada\n"
 
-#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239
+#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236
 msgid "Could not send cancel request: "
 msgstr "No se pudo enviar el paquete de cancelación: "
 
@@ -100,12 +143,30 @@ msgstr "el valor «%s» no es válido para la opción %s"
 msgid "%s must be in range %d..%d"
 msgstr "%s debe estar en el rango %d..%d"
 
-#: ../../fe_utils/parallel_slot.c:299
-#, c-format
-msgid "too many jobs for this platform"
+#: ../../fe_utils/option_utils.c:106
+#, fuzzy, c-format
+#| msgid "unrecognized key word: \"%s\""
+msgid "unrecognized sync method: %s"
+msgstr "palabra clave no reconocida: «%s»"
+
+#: ../../fe_utils/parallel_slot.c:317
+#, fuzzy, c-format
+#| msgid "too many jobs for this platform"
+msgid "too many jobs for this platform: %d"
 msgstr "demasiados procesos para esta plataforma"
 
-#: ../../fe_utils/parallel_slot.c:520
+#: ../../fe_utils/parallel_slot.c:326
+#, fuzzy, c-format
+#| msgid "descriptor index out of range on line %d"
+msgid "socket file descriptor out of range for select(): %d"
+msgstr "índice de descriptor fuera de rango en línea %d"
+
+#: ../../fe_utils/parallel_slot.c:328
+#, c-format
+msgid "Try fewer jobs."
+msgstr ""
+
+#: ../../fe_utils/parallel_slot.c:553
 #, c-format
 msgid "processing of database \"%s\" failed: %s"
 msgstr "falló el procesamiento de la base de datos «%s»: %s"
@@ -122,17 +183,23 @@ msgstr[1] "(%lu filas)"
 msgid "Interrupted\n"
 msgstr "Interrumpido\n"
 
-#: ../../fe_utils/print.c:3218
+#: ../../fe_utils/print.c:3188
+#, c-format
+msgid "Cannot print table contents: number of cells %lld is equal to or exceeds maximum %lld.\n"
+msgstr ""
+
+#: ../../fe_utils/print.c:3229
 #, c-format
 msgid "Cannot add header to table content: column count of %d exceeded.\n"
 msgstr "No se puede agregar un encabezado al contenido de la tabla: la cantidad de columnas de %d ha sido excedida.\n"
 
-#: ../../fe_utils/print.c:3258
-#, c-format
-msgid "Cannot add cell to table content: total cell count of %d exceeded.\n"
+#: ../../fe_utils/print.c:3272
+#, fuzzy, c-format
+#| msgid "Cannot add cell to table content: total cell count of %d exceeded.\n"
+msgid "Cannot add cell to table content: total cell count of %lld exceeded.\n"
 msgstr "No se puede agregar una celda al contenido de la tabla: la cantidad de celdas de %d ha sido excedida.\n"
 
-#: ../../fe_utils/print.c:3516
+#: ../../fe_utils/print.c:3530
 #, c-format
 msgid "invalid output format (internal error): %d"
 msgstr "formato de salida no válido (error interno): %d"
@@ -147,36 +214,43 @@ msgstr "la consulta falló: %s"
 msgid "Query was: %s"
 msgstr "La consulta era: %s"
 
-#: clusterdb.c:113 clusterdb.c:132 createdb.c:144 createdb.c:163
+#: ../../fe_utils/string_utils.c:434
+#, fuzzy, c-format
+#| msgid "shell command argument contains a newline or carriage return: \"%s\""
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»"
+
+#: ../../fe_utils/string_utils.c:607
+#, fuzzy, c-format
+#| msgid "shell command argument contains a newline or carriage return: \"%s\""
+msgid "database name contains a newline or carriage return: \"%s\"\n"
+msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»"
+
+#: clusterdb.c:114 clusterdb.c:133 createdb.c:149 createdb.c:168
 #: createuser.c:195 createuser.c:210 dropdb.c:104 dropdb.c:113 dropdb.c:121
 #: dropuser.c:95 dropuser.c:110 dropuser.c:123 pg_isready.c:97 pg_isready.c:111
-#: reindexdb.c:174 reindexdb.c:193 vacuumdb.c:279 vacuumdb.c:299
+#: reindexdb.c:177 reindexdb.c:196 vacuumdb.c:280 vacuumdb.c:300
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Pruebe «%s --help» para mayor información."
 
-#: clusterdb.c:130 createdb.c:161 createuser.c:208 dropdb.c:119 dropuser.c:108
-#: pg_isready.c:109 reindexdb.c:191 vacuumdb.c:297
+#: clusterdb.c:131 createdb.c:166 createuser.c:208 dropdb.c:119 dropuser.c:108
+#: pg_isready.c:109 reindexdb.c:194 vacuumdb.c:298
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)"
 
-#: clusterdb.c:148
+#: clusterdb.c:149
 #, c-format
 msgid "cannot cluster all databases and a specific one at the same time"
 msgstr "no se puede reordenar todas las bases de datos y una de ellas en particular simultáneamente"
 
-#: clusterdb.c:151
-#, c-format
-msgid "cannot cluster specific table(s) in all databases"
-msgstr "no es posible reordenar tablas específicas en todas las bases de datos"
-
-#: clusterdb.c:215
+#: clusterdb.c:214
 #, c-format
 msgid "clustering of table \"%s\" in database \"%s\" failed: %s"
 msgstr "falló el reordenamiento de la tabla «%s» en la base de datos «%s»: %s"
 
-#: clusterdb.c:218
+#: clusterdb.c:217
 #, c-format
 msgid "clustering of database \"%s\" failed: %s"
 msgstr "falló el reordenamiento de la base de datos «%s»: %s"
@@ -186,7 +260,7 @@ msgstr "falló el reordenamiento de la base de datos «%s»: %s"
 msgid "%s: clustering database \"%s\"\n"
 msgstr "%s: reordenando la base de datos «%s»\n"
 
-#: clusterdb.c:264
+#: clusterdb.c:274
 #, c-format
 msgid ""
 "%s clusters all previously clustered tables in a database.\n"
@@ -196,19 +270,19 @@ msgstr ""
 "en una base de datos.\n"
 "\n"
 
-#: clusterdb.c:265 createdb.c:288 createuser.c:415 dropdb.c:172 dropuser.c:170
-#: pg_isready.c:226 reindexdb.c:750 vacuumdb.c:1156
+#: clusterdb.c:275 createdb.c:298 createuser.c:415 dropdb.c:172 dropuser.c:170
+#: pg_isready.c:226 reindexdb.c:868 vacuumdb.c:1147
 #, c-format
 msgid "Usage:\n"
 msgstr "Empleo:\n"
 
-#: clusterdb.c:266 reindexdb.c:751 vacuumdb.c:1157
+#: clusterdb.c:276 reindexdb.c:869 vacuumdb.c:1148
 #, c-format
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [OPCIÓN]... [BASE-DE-DATOS]\n"
 
-#: clusterdb.c:267 createdb.c:290 createuser.c:417 dropdb.c:174 dropuser.c:172
-#: pg_isready.c:229 reindexdb.c:752 vacuumdb.c:1158
+#: clusterdb.c:277 createdb.c:300 createuser.c:417 dropdb.c:174 dropuser.c:172
+#: pg_isready.c:229 reindexdb.c:870 vacuumdb.c:1149
 #, c-format
 msgid ""
 "\n"
@@ -217,48 +291,48 @@ msgstr ""
 "\n"
 "Opciones:\n"
 
-#: clusterdb.c:268
+#: clusterdb.c:278
 #, c-format
 msgid "  -a, --all                 cluster all databases\n"
 msgstr "  -a, --all                 reordenar todas las bases de datos\n"
 
-#: clusterdb.c:269
+#: clusterdb.c:279
 #, c-format
 msgid "  -d, --dbname=DBNAME       database to cluster\n"
 msgstr "  -d, --dbname=BASE         base de datos a reordenar\n"
 
-#: clusterdb.c:270 createuser.c:423 dropdb.c:175 dropuser.c:173
+#: clusterdb.c:280 createuser.c:423 dropdb.c:175 dropuser.c:173
 #, c-format
 msgid "  -e, --echo                show the commands being sent to the server\n"
 msgstr "  -e, --echo                mostrar las órdenes a medida que se ejecutan\n"
 
-#: clusterdb.c:271
+#: clusterdb.c:281
 #, c-format
 msgid "  -q, --quiet               don't write any messages\n"
 msgstr "  -q, --quiet               no escribir ningún mensaje\n"
 
-#: clusterdb.c:272
+#: clusterdb.c:282
 #, c-format
 msgid "  -t, --table=TABLE         cluster specific table(s) only\n"
 msgstr "  -t, --table=TABLA         reordenar sólo esta(s) tabla(s)\n"
 
-#: clusterdb.c:273
+#: clusterdb.c:283
 #, c-format
 msgid "  -v, --verbose             write a lot of output\n"
 msgstr "  -v, --verbose             desplegar varios mensajes informativos\n"
 
-#: clusterdb.c:274 createuser.c:439 dropdb.c:178 dropuser.c:176
+#: clusterdb.c:284 createuser.c:439 dropdb.c:178 dropuser.c:176
 #, c-format
 msgid "  -V, --version             output version information, then exit\n"
 msgstr "  -V, --version             mostrar información de versión y salir\n"
 
-#: clusterdb.c:275 createuser.c:447 dropdb.c:180 dropuser.c:178
+#: clusterdb.c:285 createuser.c:447 dropdb.c:180 dropuser.c:178
 #, c-format
 msgid "  -?, --help                show this help, then exit\n"
 msgstr "  -?, --help                mostrar esta ayuda y salir\n"
 
-#: clusterdb.c:276 createdb.c:306 createuser.c:448 dropdb.c:181 dropuser.c:179
-#: pg_isready.c:235 reindexdb.c:767 vacuumdb.c:1187
+#: clusterdb.c:286 createdb.c:317 createuser.c:448 dropdb.c:181 dropuser.c:179
+#: pg_isready.c:235 reindexdb.c:885 vacuumdb.c:1178
 #, c-format
 msgid ""
 "\n"
@@ -267,37 +341,37 @@ msgstr ""
 "\n"
 "Opciones de conexión:\n"
 
-#: clusterdb.c:277 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1188
+#: clusterdb.c:287 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1179
 #, c-format
 msgid "  -h, --host=HOSTNAME       database server host or socket directory\n"
 msgstr "  -h, --host=ANFITRIÓN      nombre del servidor o directorio del socket\n"
 
-#: clusterdb.c:278 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1189
+#: clusterdb.c:288 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1180
 #, c-format
 msgid "  -p, --port=PORT           database server port\n"
 msgstr "  -p, --port=PUERTO         puerto del servidor\n"
 
-#: clusterdb.c:279 dropdb.c:184 vacuumdb.c:1190
+#: clusterdb.c:289 dropdb.c:184 vacuumdb.c:1181
 #, c-format
 msgid "  -U, --username=USERNAME   user name to connect as\n"
 msgstr "  -U, --username=USUARIO    nombre de usuario para la conexión\n"
 
-#: clusterdb.c:280 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1191
+#: clusterdb.c:290 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1182
 #, c-format
 msgid "  -w, --no-password         never prompt for password\n"
 msgstr "  -w, --no-password         nunca pedir contraseña\n"
 
-#: clusterdb.c:281 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1192
+#: clusterdb.c:291 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1183
 #, c-format
 msgid "  -W, --password            force password prompt\n"
 msgstr "  -W, --password            forzar la petición de contraseña\n"
 
-#: clusterdb.c:282 dropdb.c:187 vacuumdb.c:1193
+#: clusterdb.c:292 dropdb.c:187 vacuumdb.c:1184
 #, c-format
 msgid "  --maintenance-db=DBNAME   alternate maintenance database\n"
 msgstr "  --maintenance-db=BASE     base de datos de mantención alternativa\n"
 
-#: clusterdb.c:283
+#: clusterdb.c:293
 #, c-format
 msgid ""
 "\n"
@@ -306,8 +380,8 @@ msgstr ""
 "\n"
 "Lea la descripción de la orden CLUSTER de SQL para obtener mayores detalles.\n"
 
-#: clusterdb.c:284 createdb.c:314 createuser.c:454 dropdb.c:188 dropuser.c:185
-#: pg_isready.c:240 reindexdb.c:775 vacuumdb.c:1195
+#: clusterdb.c:294 createdb.c:325 createuser.c:454 dropdb.c:188 dropuser.c:185
+#: pg_isready.c:240 reindexdb.c:893 vacuumdb.c:1186
 #, c-format
 msgid ""
 "\n"
@@ -316,8 +390,8 @@ msgstr ""
 "\n"
 "Reporte errores a <%s>.\n"
 
-#: clusterdb.c:285 createdb.c:315 createuser.c:455 dropdb.c:189 dropuser.c:186
-#: pg_isready.c:241 reindexdb.c:776 vacuumdb.c:1196
+#: clusterdb.c:295 createdb.c:326 createuser.c:455 dropdb.c:189 dropuser.c:186
+#: pg_isready.c:241 reindexdb.c:894 vacuumdb.c:1187
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Sitio web de %s: <%s>\n"
@@ -351,22 +425,22 @@ msgstr "%s (%s/%s) "
 msgid "Please answer \"%s\" or \"%s\".\n"
 msgstr "Por favor conteste «%s» o «%s».\n"
 
-#: createdb.c:170
+#: createdb.c:175
 #, c-format
 msgid "\"%s\" is not a valid encoding name"
 msgstr "«%s» no es un nombre válido de codificación"
 
-#: createdb.c:250
+#: createdb.c:260
 #, c-format
 msgid "database creation failed: %s"
 msgstr "falló la creación de la base de datos: %s"
 
-#: createdb.c:269
+#: createdb.c:279
 #, c-format
 msgid "comment creation failed (database was created): %s"
 msgstr "falló la creación del comentario (la base de datos fue creada): %s"
 
-#: createdb.c:287
+#: createdb.c:297
 #, c-format
 msgid ""
 "%s creates a PostgreSQL database.\n"
@@ -375,119 +449,128 @@ msgstr ""
 "%s crea una base de datos PostgreSQL.\n"
 "\n"
 
-#: createdb.c:289
+#: createdb.c:299
 #, c-format
 msgid "  %s [OPTION]... [DBNAME] [DESCRIPTION]\n"
 msgstr "  %s [OPCIÓN]... [NOMBRE] [DESCRIPCIÓN]\n"
 
-#: createdb.c:291
+#: createdb.c:301
 #, c-format
 msgid "  -D, --tablespace=TABLESPACE  default tablespace for the database\n"
 msgstr "  -D, --tablespace=TBLSPC   tablespace por omisión de la base de datos\n"
 
-#: createdb.c:292 reindexdb.c:756
+#: createdb.c:302 reindexdb.c:874
 #, c-format
 msgid "  -e, --echo                   show the commands being sent to the server\n"
 msgstr "  -e, --echo                mostrar las órdenes enviadas al servidor\n"
 
-#: createdb.c:293
+#: createdb.c:303
 #, c-format
 msgid "  -E, --encoding=ENCODING      encoding for the database\n"
 msgstr "  -E, --encoding=CODIF      codificación para la base de datos\n"
 
-#: createdb.c:294
+#: createdb.c:304
 #, c-format
 msgid "  -l, --locale=LOCALE          locale settings for the database\n"
 msgstr "  -l, --locale=LOCALE       configuración regional para la base de datos\n"
 
-#: createdb.c:295
+#: createdb.c:305
 #, c-format
 msgid "      --lc-collate=LOCALE      LC_COLLATE setting for the database\n"
 msgstr "      --lc-collate=LOCALE   configuración LC_COLLATE para la base de datos\n"
 
-#: createdb.c:296
+#: createdb.c:306
 #, c-format
 msgid "      --lc-ctype=LOCALE        LC_CTYPE setting for the database\n"
 msgstr "      --lc-ctype=LOCALE     configuración LC_CTYPE para la base de datos\n"
 
-#: createdb.c:297
+#: createdb.c:307
+#, fuzzy, c-format
+#| msgid "      --icu-locale=LOCALE      ICU locale setting for the database\n"
+msgid "      --builtin-locale=LOCALE  builtin locale setting for the database\n"
+msgstr "      --icu-locale=LOCALE   configuración regional ICU para la base de datos\n"
+
+#: createdb.c:308
 #, c-format
 msgid "      --icu-locale=LOCALE      ICU locale setting for the database\n"
 msgstr "      --icu-locale=LOCALE   configuración regional ICU para la base de datos\n"
 
-#: createdb.c:298
+#: createdb.c:309
 #, c-format
 msgid "      --icu-rules=RULES        ICU rules setting for the database\n"
 msgstr "      --icu-rules=REGLAS    configuración de reglas ICU para la base de datos\n"
 
-#: createdb.c:299
-#, c-format
+#: createdb.c:310
+#, fuzzy, c-format
+#| msgid ""
+#| "      --locale-provider={libc|icu}\n"
+#| "                               locale provider for the database's default collation\n"
 msgid ""
-"      --locale-provider={libc|icu}\n"
+"      --locale-provider={builtin|libc|icu}\n"
 "                               locale provider for the database's default collation\n"
 msgstr ""
 "      --locale-provider={libc|icu}\n"
 "                            proveedor de configuración regional para el ordenamiento\n"
 "                            por omisión de las bases de datos\n"
 
-#: createdb.c:301
+#: createdb.c:312
 #, c-format
 msgid "  -O, --owner=OWNER            database user to own the new database\n"
 msgstr "  -O, --owner=DUEÑO         usuario que será dueño de la base de datos\n"
 
-#: createdb.c:302
+#: createdb.c:313
 #, c-format
 msgid "  -S, --strategy=STRATEGY      database creation strategy wal_log or file_copy\n"
 msgstr ""
 "  -S, --strategy=ESTRATEGIA estrategia de creación de bases de datos\n"
 "                            wal_log o file_copy\n"
 
-#: createdb.c:303
+#: createdb.c:314
 #, c-format
 msgid "  -T, --template=TEMPLATE      template database to copy\n"
 msgstr "  -T, --template=PATRÓN     base de datos patrón a copiar\n"
 
-#: createdb.c:304 reindexdb.c:765
+#: createdb.c:315 reindexdb.c:883
 #, c-format
 msgid "  -V, --version                output version information, then exit\n"
 msgstr "  -V, --version             mostrar información de versión y salir\n"
 
-#: createdb.c:305 reindexdb.c:766
+#: createdb.c:316 reindexdb.c:884
 #, c-format
 msgid "  -?, --help                   show this help, then exit\n"
 msgstr "  -?, --help                mostrar esta ayuda y salir\n"
 
-#: createdb.c:307 reindexdb.c:768
+#: createdb.c:318 reindexdb.c:886
 #, c-format
 msgid "  -h, --host=HOSTNAME          database server host or socket directory\n"
 msgstr "  -h, --host=ANFITRIÓN      nombre del servidor o directorio del socket\n"
 
-#: createdb.c:308 reindexdb.c:769
+#: createdb.c:319 reindexdb.c:887
 #, c-format
 msgid "  -p, --port=PORT              database server port\n"
 msgstr "  -p, --port=PUERTO         puerto del servidor\n"
 
-#: createdb.c:309 reindexdb.c:770
+#: createdb.c:320 reindexdb.c:888
 #, c-format
 msgid "  -U, --username=USERNAME      user name to connect as\n"
 msgstr "  -U, --username=USUARIO    nombre de usuario para la conexión\n"
 
-#: createdb.c:310 reindexdb.c:771
+#: createdb.c:321 reindexdb.c:889
 #, c-format
 msgid "  -w, --no-password            never prompt for password\n"
 msgstr "  -w, --no-password         nunca pedir contraseña\n"
 
-#: createdb.c:311 reindexdb.c:772
+#: createdb.c:322 reindexdb.c:890
 #, c-format
 msgid "  -W, --password               force password prompt\n"
 msgstr "  -W, --password            forzar la petición de contraseña\n"
 
-#: createdb.c:312 reindexdb.c:773
+#: createdb.c:323 reindexdb.c:891
 #, c-format
 msgid "  --maintenance-db=DBNAME      alternate maintenance database\n"
 msgstr "  --maintenance-db=BASE     base de datos de mantención alternativa\n"
 
-#: createdb.c:313
+#: createdb.c:324
 #, c-format
 msgid ""
 "\n"
@@ -575,7 +658,8 @@ msgid "  -D, --no-createdb         role cannot create databases (default)\n"
 msgstr "  -D, --no-createdb         el rol no podrá crear bases de datos (predeterm.)\n"
 
 #: createuser.c:424
-#, c-format
+#, fuzzy, c-format
+#| msgid "  -g, --member-of=ROLE      new role will be a member of ROLE\n"
 msgid "  -g, --member-of=ROLE      new role will be a member of ROLE\n"
 msgstr "  -g, --member-of=ROL       el nuevo rol será un miembro de ROL\n"
 
@@ -872,94 +956,54 @@ msgstr ""
 msgid "  -U, --username=USERNAME  user name to connect as\n"
 msgstr "  -U, --username=USUARIO   nombre de usuario para la conexión\n"
 
-#: reindexdb.c:209
-#, c-format
-msgid "cannot reindex all databases and a specific one at the same time"
-msgstr "no se puede reindexar todas las bases de datos y una de ellas en particular simultáneamente"
-
-#: reindexdb.c:211
-#, c-format
-msgid "cannot reindex all databases and system catalogs at the same time"
-msgstr "no se puede reindexar todas las bases de datos y los catálogos del sistema simultáneamente"
-
-#: reindexdb.c:213
-#, c-format
-msgid "cannot reindex specific schema(s) in all databases"
-msgstr "no es posible reindexar esquemas específicos en todas las bases de datos"
-
-#: reindexdb.c:215
-#, c-format
-msgid "cannot reindex specific table(s) in all databases"
-msgstr "no es posible reindexar tablas específicas en todas las bases de datos"
-
-#: reindexdb.c:217
-#, c-format
-msgid "cannot reindex specific index(es) in all databases"
-msgstr "no es posible reindexar índices específicos en todas las bases de datos"
-
-#: reindexdb.c:227
-#, c-format
-msgid "cannot reindex specific schema(s) and system catalogs at the same time"
-msgstr "no es posible reindexar esquemas específicos y los catálogos del sistema simultáneamente"
-
-#: reindexdb.c:229
-#, c-format
-msgid "cannot reindex specific table(s) and system catalogs at the same time"
-msgstr "no es posible reindexar tablas específicas y los catálogos del sistema simultáneamente"
-
-#: reindexdb.c:231
-#, c-format
-msgid "cannot reindex specific index(es) and system catalogs at the same time"
-msgstr "no es posible reindexar índices específicos y los catálogos del sistema simultáneamente"
-
-#: reindexdb.c:234
+#: reindexdb.c:210
 #, c-format
 msgid "cannot use multiple jobs to reindex system catalogs"
 msgstr "no se puede usar múltiples procesos para reindexar índices de sistema"
 
-#: reindexdb.c:260
+#: reindexdb.c:215
 #, c-format
-msgid "cannot use multiple jobs to reindex indexes"
-msgstr "no se puede usar múltiples procesos para reindexar índices"
+msgid "cannot reindex all databases and a specific one at the same time"
+msgstr "no se puede reindexar todas las bases de datos y una de ellas en particular simultáneamente"
 
-#: reindexdb.c:323 reindexdb.c:330 vacuumdb.c:525 vacuumdb.c:532 vacuumdb.c:539
-#: vacuumdb.c:546 vacuumdb.c:553 vacuumdb.c:560 vacuumdb.c:567 vacuumdb.c:572
-#: vacuumdb.c:576 vacuumdb.c:580 vacuumdb.c:584
+#: reindexdb.c:296 reindexdb.c:303 vacuumdb.c:515 vacuumdb.c:522 vacuumdb.c:529
+#: vacuumdb.c:536 vacuumdb.c:543 vacuumdb.c:550 vacuumdb.c:557 vacuumdb.c:562
+#: vacuumdb.c:566 vacuumdb.c:570 vacuumdb.c:574
 #, c-format
 msgid "cannot use the \"%s\" option on server versions older than PostgreSQL %s"
 msgstr "no se puede usar la opción «%s» cuando con versiones más antiguas que PostgreSQL %s"
 
-#: reindexdb.c:561
+#: reindexdb.c:584
 #, c-format
 msgid "reindexing of database \"%s\" failed: %s"
 msgstr "falló la reindexación de la base de datos «%s»: %s"
 
-#: reindexdb.c:565
+#: reindexdb.c:588
 #, c-format
 msgid "reindexing of index \"%s\" in database \"%s\" failed: %s"
 msgstr "falló la reindexación del índice «%s» en la base de datos «%s»: %s"
 
-#: reindexdb.c:569
+#: reindexdb.c:592
 #, c-format
 msgid "reindexing of schema \"%s\" in database \"%s\" failed: %s"
 msgstr "falló la reindexación del esquema «%s» en la base de datos «%s»: %s"
 
-#: reindexdb.c:573
+#: reindexdb.c:596
 #, c-format
 msgid "reindexing of system catalogs in database \"%s\" failed: %s"
 msgstr "falló la reindexación de los catálogos de sistema en la base de datos «%s»: %s"
 
-#: reindexdb.c:577
+#: reindexdb.c:600
 #, c-format
 msgid "reindexing of table \"%s\" in database \"%s\" failed: %s"
 msgstr "falló la reindexación de la tabla «%s» en la base de datos «%s»: %s"
 
-#: reindexdb.c:732
+#: reindexdb.c:824
 #, c-format
 msgid "%s: reindexing database \"%s\"\n"
 msgstr "%s: reindexando la base de datos «%s»\n"
 
-#: reindexdb.c:749
+#: reindexdb.c:867
 #, c-format
 msgid ""
 "%s reindexes a PostgreSQL database.\n"
@@ -968,62 +1012,62 @@ msgstr ""
 "%s reindexa una base de datos PostgreSQL.\n"
 "\n"
 
-#: reindexdb.c:753
+#: reindexdb.c:871
 #, c-format
 msgid "  -a, --all                    reindex all databases\n"
 msgstr "  -a, --all                 reindexar todas las bases de datos\n"
 
-#: reindexdb.c:754
+#: reindexdb.c:872
 #, c-format
 msgid "      --concurrently           reindex concurrently\n"
 msgstr "      --concurrently        reindexar en modo concurrente\n"
 
-#: reindexdb.c:755
+#: reindexdb.c:873
 #, c-format
 msgid "  -d, --dbname=DBNAME          database to reindex\n"
 msgstr "  -d, --dbname=BASE-DATOS   base de datos a reindexar\n"
 
-#: reindexdb.c:757
+#: reindexdb.c:875
 #, c-format
 msgid "  -i, --index=INDEX            recreate specific index(es) only\n"
 msgstr "  -i, --index=ÍNDICE        recrear sólo este o estos índice(s)\n"
 
-#: reindexdb.c:758
+#: reindexdb.c:876
 #, c-format
 msgid "  -j, --jobs=NUM               use this many concurrent connections to reindex\n"
 msgstr "  -j, --jobs=NÚM            usar esta cantidad de conexiones concurrentes\n"
 
-#: reindexdb.c:759
+#: reindexdb.c:877
 #, c-format
 msgid "  -q, --quiet                  don't write any messages\n"
 msgstr "  -q, --quiet               no desplegar mensajes\n"
 
-#: reindexdb.c:760
+#: reindexdb.c:878
 #, c-format
 msgid "  -s, --system                 reindex system catalogs only\n"
 msgstr "  -s, --system              sólo reindexar los catálogos del sistema\n"
 
-#: reindexdb.c:761
+#: reindexdb.c:879
 #, c-format
 msgid "  -S, --schema=SCHEMA          reindex specific schema(s) only\n"
 msgstr "  -S, --schema=ESQUEMA      reindexar sólo este o estos esquemas\n"
 
-#: reindexdb.c:762
+#: reindexdb.c:880
 #, c-format
 msgid "  -t, --table=TABLE            reindex specific table(s) only\n"
 msgstr "  -t, --table=TABLA         reindexar sólo esta(s) tabla(s)\n"
 
-#: reindexdb.c:763
+#: reindexdb.c:881
 #, c-format
 msgid "      --tablespace=TABLESPACE  tablespace where indexes are rebuilt\n"
 msgstr "      --tablespace=TABLESPACE  tablespace donde se reconstruirán los índices\n"
 
-#: reindexdb.c:764
+#: reindexdb.c:882
 #, c-format
 msgid "  -v, --verbose                write a lot of output\n"
 msgstr "  -v, --verbose             desplegar varios mensajes informativos\n"
 
-#: reindexdb.c:774
+#: reindexdb.c:892
 #, c-format
 msgid ""
 "\n"
@@ -1032,95 +1076,80 @@ msgstr ""
 "\n"
 "Lea la descripción de la orden REINDEX de SQL para obtener mayores detalles.\n"
 
-#: vacuumdb.c:312 vacuumdb.c:315 vacuumdb.c:318 vacuumdb.c:321 vacuumdb.c:324
-#: vacuumdb.c:327 vacuumdb.c:330 vacuumdb.c:333 vacuumdb.c:342
+#: vacuumdb.c:313 vacuumdb.c:316 vacuumdb.c:319 vacuumdb.c:322 vacuumdb.c:325
+#: vacuumdb.c:328 vacuumdb.c:331 vacuumdb.c:334 vacuumdb.c:343
 #, c-format
 msgid "cannot use the \"%s\" option when performing only analyze"
 msgstr "no se puede usar la opción «%s» cuando se está sólo actualizando estadísticas"
 
-#: vacuumdb.c:345
+#: vacuumdb.c:346
 #, c-format
 msgid "cannot use the \"%s\" option when performing full vacuum"
 msgstr "no se puede usar la opción «%s» cuando se está ejecutando vacuum full"
 
-#: vacuumdb.c:351 vacuumdb.c:359
+#: vacuumdb.c:352 vacuumdb.c:360
 #, c-format
 msgid "cannot use the \"%s\" option with the \"%s\" option"
 msgstr "no se puede usar la opción «%s» junto con la opción «%s»"
 
-#: vacuumdb.c:430
+#: vacuumdb.c:432
 #, c-format
 msgid "cannot vacuum all databases and a specific one at the same time"
 msgstr "no se puede limpiar todas las bases de datos y una de ellas en particular simultáneamente"
 
-#: vacuumdb.c:434
-#, c-format
-msgid "cannot vacuum specific table(s) in all databases"
-msgstr "no es posible limpiar tablas específicas en todas las bases de datos"
-
-#: vacuumdb.c:438
-#, c-format
-msgid "cannot vacuum specific schema(s) in all databases"
-msgstr "no es posible limpiar esquemas específicos en todas las bases de datos"
-
-#: vacuumdb.c:442
-#, c-format
-msgid "cannot exclude specific schema(s) in all databases"
-msgstr "no es posible excluir esquemas específicos en todas las bases de datos"
-
-#: vacuumdb.c:446
+#: vacuumdb.c:436
 #, c-format
 msgid "cannot vacuum all tables in schema(s) and specific table(s) at the same time"
 msgstr "no se puede limpiar todas las tablas en esquema(s) y tabla(s) específicas simultáneamente"
 
-#: vacuumdb.c:450
+#: vacuumdb.c:440
 #, c-format
 msgid "cannot vacuum specific table(s) and exclude schema(s) at the same time"
 msgstr "no es posible limpiar tablas específicas y excluir esquema(s) simultáneamente"
 
-#: vacuumdb.c:454
+#: vacuumdb.c:444
 #, c-format
 msgid "cannot vacuum all tables in schema(s) and exclude schema(s) at the same time"
 msgstr "no se puede limpiar todas las tablas en esquema(s) y excluir esquema(s) simultáneamente"
 
-#: vacuumdb.c:467
+#: vacuumdb.c:457
 #, c-format
 msgid "out of memory"
 msgstr "memoria agotada"
 
-#: vacuumdb.c:512
+#: vacuumdb.c:502
 msgid "Generating minimal optimizer statistics (1 target)"
 msgstr "Generando estadísticas mínimas para el optimizador (tamaño = 1)"
 
-#: vacuumdb.c:513
+#: vacuumdb.c:503
 msgid "Generating medium optimizer statistics (10 targets)"
 msgstr "Generando estadísticas medias para el optimizador (tamaño = 10)"
 
-#: vacuumdb.c:514
+#: vacuumdb.c:504
 msgid "Generating default (full) optimizer statistics"
 msgstr "Generando estadísticas predeterminadas (completas) para el optimizador"
 
-#: vacuumdb.c:593
+#: vacuumdb.c:583
 #, c-format
 msgid "%s: processing database \"%s\": %s\n"
 msgstr "%s: procesando la base de datos «%s»: %s\n"
 
-#: vacuumdb.c:596
+#: vacuumdb.c:586
 #, c-format
 msgid "%s: vacuuming database \"%s\"\n"
 msgstr "%s: limpiando la base de datos «%s»\n"
 
-#: vacuumdb.c:1144
+#: vacuumdb.c:1135
 #, c-format
 msgid "vacuuming of table \"%s\" in database \"%s\" failed: %s"
 msgstr "falló la limpieza de la tabla «%s» en la base de datos «%s»: %s"
 
-#: vacuumdb.c:1147
+#: vacuumdb.c:1138
 #, c-format
 msgid "vacuuming of database \"%s\" failed: %s"
 msgstr "falló la limpieza de la base de datos «%s»: %s"
 
-#: vacuumdb.c:1155
+#: vacuumdb.c:1146
 #, c-format
 msgid ""
 "%s cleans and analyzes a PostgreSQL database.\n"
@@ -1129,136 +1158,136 @@ msgstr ""
 "%s limpia (VACUUM) y analiza una base de datos PostgreSQL.\n"
 "\n"
 
-#: vacuumdb.c:1159
+#: vacuumdb.c:1150
 #, c-format
 msgid "  -a, --all                       vacuum all databases\n"
 msgstr "  -a, --all                    limpia todas las bases de datos\n"
 
-#: vacuumdb.c:1160
+#: vacuumdb.c:1151
 #, c-format
 msgid "      --buffer-usage-limit=SIZE   size of ring buffer used for vacuum\n"
 msgstr "      --buffer-usage-limit=SZ  tamaño de anillo de búfers a usar para vacuum\n"
 
-#: vacuumdb.c:1161
+#: vacuumdb.c:1152
 #, c-format
 msgid "  -d, --dbname=DBNAME             database to vacuum\n"
 msgstr "  -d, --dbname=BASE            base de datos a limpiar\n"
 
-#: vacuumdb.c:1162
+#: vacuumdb.c:1153
 #, c-format
 msgid "      --disable-page-skipping     disable all page-skipping behavior\n"
 msgstr "      --disable-page-skipping  desactiva todo comportamiento de saltar páginas\n"
 
-#: vacuumdb.c:1163
+#: vacuumdb.c:1154
 #, c-format
 msgid "  -e, --echo                      show the commands being sent to the server\n"
 msgstr "  -e, --echo                   mostrar las órdenes enviadas al servidor\n"
 
-#: vacuumdb.c:1164
+#: vacuumdb.c:1155
 #, c-format
 msgid "  -f, --full                      do full vacuuming\n"
 msgstr "  -f, --full                   usar «vacuum full»\n"
 
-#: vacuumdb.c:1165
+#: vacuumdb.c:1156
 #, c-format
 msgid "  -F, --freeze                    freeze row transaction information\n"
 msgstr "  -F, --freeze                 usar «vacuum freeze»\n"
 
-#: vacuumdb.c:1166
+#: vacuumdb.c:1157
 #, c-format
 msgid "      --force-index-cleanup       always remove index entries that point to dead tuples\n"
 msgstr "      --force-index-cleanup    siempre eliminar entradas de índice que apunten a tuplas muertas\n"
 
-#: vacuumdb.c:1167
+#: vacuumdb.c:1158
 #, c-format
 msgid "  -j, --jobs=NUM                  use this many concurrent connections to vacuum\n"
 msgstr "  -j, --jobs=NUM               usar esta cantidad de conexiones concurrentes\n"
 
-#: vacuumdb.c:1168
+#: vacuumdb.c:1159
 #, c-format
 msgid "      --min-mxid-age=MXID_AGE     minimum multixact ID age of tables to vacuum\n"
 msgstr "      --min-mxid-age=EDAD_MXID edad de multixact ID mínima de tablas a limpiar\n"
 
-#: vacuumdb.c:1169
+#: vacuumdb.c:1160
 #, c-format
 msgid "      --min-xid-age=XID_AGE       minimum transaction ID age of tables to vacuum\n"
 msgstr "      --min-xid-age=EDAD_XID   edad de ID de transacción mínima de tablas a limpiar\n"
 
-#: vacuumdb.c:1170
+#: vacuumdb.c:1161
 #, c-format
 msgid "      --no-index-cleanup          don't remove index entries that point to dead tuples\n"
 msgstr "      --no-index-cleanup       no eliminar entradas de índice que apunten a tuplas muertas\n"
 
-#: vacuumdb.c:1171
+#: vacuumdb.c:1162
 #, c-format
 msgid "      --no-process-main           skip the main relation\n"
 msgstr "      --no-process-main        omitir la relación principal\n"
 
-#: vacuumdb.c:1172
+#: vacuumdb.c:1163
 #, c-format
 msgid "      --no-process-toast          skip the TOAST table associated with the table to vacuum\n"
 msgstr "      --no-process-toast       omitir la tabla TOAST asociada con la tabla a la que se hará vacuum\n"
 
-#: vacuumdb.c:1173
+#: vacuumdb.c:1164
 #, c-format
 msgid "      --no-truncate               don't truncate empty pages at the end of the table\n"
 msgstr "      --no-truncate            no truncar las páginas vacías al final de la tabla\n"
 
-#: vacuumdb.c:1174
+#: vacuumdb.c:1165
 #, c-format
 msgid "  -n, --schema=SCHEMA             vacuum tables in the specified schema(s) only\n"
 msgstr "  -n, --schema=ESQUEMA         limpia sólo tablas en el/los esquemas especificados\n"
 
-#: vacuumdb.c:1175
+#: vacuumdb.c:1166
 #, c-format
 msgid "  -N, --exclude-schema=SCHEMA     do not vacuum tables in the specified schema(s)\n"
 msgstr "  -N, --exclude-schema=ESQUEMA no limpia tablas en el/los esquemas especificados\n"
 
-#: vacuumdb.c:1176
+#: vacuumdb.c:1167
 #, c-format
 msgid "  -P, --parallel=PARALLEL_WORKERS use this many background workers for vacuum, if available\n"
 msgstr "  -P, --parallel=NPROCS        usar esta cantidad de procesos para vacuum, si están disponibles\n"
 
-#: vacuumdb.c:1177
+#: vacuumdb.c:1168
 #, c-format
 msgid "  -q, --quiet                     don't write any messages\n"
 msgstr "  -q, --quiet                  no desplegar mensajes\n"
 
-#: vacuumdb.c:1178
+#: vacuumdb.c:1169
 #, c-format
 msgid "      --skip-locked               skip relations that cannot be immediately locked\n"
 msgstr "      --skip-locked            ignorar relaciones que no pueden bloquearse inmediatamente\n"
 
-#: vacuumdb.c:1179
+#: vacuumdb.c:1170
 #, c-format
 msgid "  -t, --table='TABLE[(COLUMNS)]'  vacuum specific table(s) only\n"
 msgstr ""
 "  -t, --table='TABLA[(COLUMNAS)]'\n"
 "                               limpiar sólo esta(s) tabla(s)\n"
 
-#: vacuumdb.c:1180
+#: vacuumdb.c:1171
 #, c-format
 msgid "  -v, --verbose                   write a lot of output\n"
 msgstr "  -v, --verbose                desplegar varios mensajes informativos\n"
 
-#: vacuumdb.c:1181
+#: vacuumdb.c:1172
 #, c-format
 msgid "  -V, --version                   output version information, then exit\n"
 msgstr "  -V, --version                mostrar información de versión y salir\n"
 
-#: vacuumdb.c:1182
+#: vacuumdb.c:1173
 #, c-format
 msgid "  -z, --analyze                   update optimizer statistics\n"
 msgstr "  -z, --analyze                actualizar las estadísticas del optimizador\n"
 
-#: vacuumdb.c:1183
+#: vacuumdb.c:1174
 #, c-format
 msgid "  -Z, --analyze-only              only update optimizer statistics; no vacuum\n"
 msgstr ""
 "  -Z, --analyze-only           sólo actualizar las estadísticas del optimizador;\n"
 "                               no hacer vacuum\n"
 
-#: vacuumdb.c:1184
+#: vacuumdb.c:1175
 #, c-format
 msgid ""
 "      --analyze-in-stages         only update optimizer statistics, in multiple\n"
@@ -1268,12 +1297,12 @@ msgstr ""
 "                               en múltiples etapas para resultados más rápidos;\n"
 "                               no hacer vacuum\n"
 
-#: vacuumdb.c:1186
+#: vacuumdb.c:1177
 #, c-format
 msgid "  -?, --help                      show this help, then exit\n"
 msgstr "  -?, --help                   mostrar esta ayuda y salir\n"
 
-#: vacuumdb.c:1194
+#: vacuumdb.c:1185
 #, c-format
 msgid ""
 "\n"
index f0ca724b25a58250a8706e2a796d05980bc7fc92..4aed7c3bd43554da5247025e78d1884f692c482d 100644 (file)
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: plperl (PostgreSQL) 15\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:09+0000\n"
+"POT-Creation-Date: 2024-08-01 11:09+0000\n"
 "PO-Revision-Date: 2022-10-20 09:06+0200\n"
 "Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
@@ -100,8 +100,8 @@ msgstr "los arrays multidimensionales deben tener expresiones de arrays con dime
 
 #: plperl.c:1204
 #, c-format
-msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
-msgstr "el número de dimensiones del array (%d) excede el máximo permitido (%d)"
+msgid "number of array dimensions exceeds the maximum allowed (%d)"
+msgstr "el número de dimensiones del array excede el máximo permitido (%d)"
 
 #: plperl.c:1274
 #, c-format
@@ -227,3 +227,7 @@ msgstr "compilación de la función PL/Perl «%s»"
 #, c-format
 msgid "PL/Perl anonymous code block"
 msgstr "bloque de código anónimo de PL/Perl"
+
+#, c-format
+#~ msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
+#~ msgstr "el número de dimensiones del array (%d) excede el máximo permitido (%d)"
index 1c12451409bfd4e6a0206f074d9d7c3ea8616e51..f2b019c7490eb3b26bca7a964d972a111caab0f2 100644 (file)
@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: plpgsql (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:09+0000\n"
+"POT-Creation-Date: 2024-08-01 11:09+0000\n"
 "PO-Revision-Date: 2023-05-22 12:06+0200\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
@@ -78,104 +78,119 @@ msgstr "la referencia a la columna «%s» es ambigua"
 msgid "It could refer to either a PL/pgSQL variable or a table column."
 msgstr "Podría referirse tanto a una variable PL/pgSQL como a una columna de una tabla."
 
-#: pl_comp.c:1314 pl_exec.c:5255 pl_exec.c:5428 pl_exec.c:5515 pl_exec.c:5606
-#: pl_exec.c:6624
+#: pl_comp.c:1314 pl_exec.c:5258 pl_exec.c:5431 pl_exec.c:5518 pl_exec.c:5609
+#: pl_exec.c:6634
 #, c-format
 msgid "record \"%s\" has no field \"%s\""
 msgstr "el registro «%s» no tiene un campo «%s»"
 
-#: pl_comp.c:1808
+#: pl_comp.c:1633 pl_gram.y:645 pl_gram.y:660 pl_gram.y:686
+#, c-format
+msgid "variable \"%s\" does not exist"
+msgstr "no existe la variable «%s»"
+
+#: pl_comp.c:1722
+#, c-format
+msgid "column \"%s\" of relation \"%s\" does not exist"
+msgstr "no existe la columna «%s» en la relación «%s»"
+
+#: pl_comp.c:1775
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "no existe la relación «%s»"
 
-#: pl_comp.c:1815 pl_comp.c:1857
+#: pl_comp.c:1782 pl_comp.c:1820
 #, c-format
 msgid "relation \"%s\" does not have a composite type"
 msgstr "la relación «%s» no contiene un tipo compuesto"
 
-#: pl_comp.c:1923
+#: pl_comp.c:1886
 #, c-format
 msgid "variable \"%s\" has pseudo-type %s"
 msgstr "la variable «%s» tiene pseudotipo %s"
 
-#: pl_comp.c:2112
+#: pl_comp.c:2075
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "el tipo «%s» está inconcluso"
 
-#: pl_comp.c:2194 pl_exec.c:6925
+#: pl_comp.c:2157 pl_exec.c:6935
 #, c-format
 msgid "type %s is not composite"
 msgstr "el tipo %s no es compuesto"
 
-#: pl_comp.c:2242 pl_comp.c:2295
+#: pl_comp.c:2193
+#, c-format
+msgid "could not find array type for data type %s"
+msgstr "no se pudo encontrar un tipo de array para el tipo de dato %s"
+
+#: pl_comp.c:2232 pl_comp.c:2285
 #, c-format
 msgid "unrecognized exception condition \"%s\""
 msgstr "no se reconoce la condición de excepción «%s»"
 
-#: pl_comp.c:2524
+#: pl_comp.c:2514
 #, c-format
 msgid "could not determine actual argument type for polymorphic function \"%s\""
 msgstr "no se pudo determinar el verdadero tipo de argumento para la función polimórfica «%s»"
 
-#: pl_exec.c:511 pl_exec.c:950 pl_exec.c:1185
+#: pl_exec.c:512 pl_exec.c:951 pl_exec.c:1186
 msgid "during initialization of execution state"
 msgstr "durante la inicialización del estado de ejecución"
 
-#: pl_exec.c:517
+#: pl_exec.c:518
 msgid "while storing call arguments into local variables"
 msgstr "mientras se almacenaban los argumentos de invocación en variables locales"
 
-#: pl_exec.c:605 pl_exec.c:1023
+#: pl_exec.c:606 pl_exec.c:1024
 msgid "during function entry"
 msgstr "durante el ingreso a la función"
 
-#: pl_exec.c:628
+#: pl_exec.c:629
 #, c-format
 msgid "control reached end of function without RETURN"
 msgstr "la ejecución alcanzó el fin de la función sin encontrar RETURN"
 
-#: pl_exec.c:634
+#: pl_exec.c:635
 msgid "while casting return value to function's return type"
 msgstr "mientras se hacía la conversión del valor de retorno al tipo de retorno de la función"
 
-#: pl_exec.c:646 pl_exec.c:3681
+#: pl_exec.c:647 pl_exec.c:3682
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr "se llamó una función que retorna un conjunto en un contexto que no puede aceptarlo"
 
-#: pl_exec.c:651 pl_exec.c:3687
+#: pl_exec.c:652 pl_exec.c:3688
 #, c-format
 msgid "materialize mode required, but it is not allowed in this context"
 msgstr "se requiere un nodo «materialize», pero no está permitido en este contexto"
 
-#: pl_exec.c:778 pl_exec.c:1049 pl_exec.c:1207
+#: pl_exec.c:779 pl_exec.c:1050 pl_exec.c:1208
 msgid "during function exit"
 msgstr "durante la salida de la función"
 
-#: pl_exec.c:833 pl_exec.c:897 pl_exec.c:3480
+#: pl_exec.c:834 pl_exec.c:898 pl_exec.c:3481
 msgid "returned record type does not match expected record type"
 msgstr "el tipo de registro retornado no coincide con el tipo de registro esperado"
 
-#: pl_exec.c:1046 pl_exec.c:1204
+#: pl_exec.c:1047 pl_exec.c:1205
 #, c-format
 msgid "control reached end of trigger procedure without RETURN"
 msgstr "la ejecución alcanzó el fin del procedimiento disparador sin encontrar RETURN"
 
-#: pl_exec.c:1054
+#: pl_exec.c:1055
 #, c-format
 msgid "trigger procedure cannot return a set"
 msgstr "los procedimientos disparadores no pueden retornar conjuntos"
 
-#: pl_exec.c:1093 pl_exec.c:1121
+#: pl_exec.c:1094 pl_exec.c:1122
 msgid "returned row structure does not match the structure of the triggering table"
 msgstr "la estructura de fila retornada no coincide con la estructura de la tabla que generó el evento de disparador"
 
 #. translator: last %s is a phrase such as "during statement block
 #. local variable initialization"
 #.
-#: pl_exec.c:1262
+#: pl_exec.c:1263
 #, c-format
 msgid "PL/pgSQL function %s line %d %s"
 msgstr "función PL/pgSQL %s en la línea %d %s"
@@ -183,336 +198,336 @@ msgstr "función PL/pgSQL %s en la línea %d %s"
 #. translator: last %s is a phrase such as "while storing call
 #. arguments into local variables"
 #.
-#: pl_exec.c:1273
+#: pl_exec.c:1274
 #, c-format
 msgid "PL/pgSQL function %s %s"
 msgstr "función PL/pgSQL %s %s"
 
 #. translator: last %s is a plpgsql statement type name
-#: pl_exec.c:1281
+#: pl_exec.c:1282
 #, c-format
 msgid "PL/pgSQL function %s line %d at %s"
 msgstr "función PL/pgSQL %s en la línea %d en %s"
 
-#: pl_exec.c:1287
+#: pl_exec.c:1288
 #, c-format
 msgid "PL/pgSQL function %s"
 msgstr "función PL/pgSQL %s"
 
-#: pl_exec.c:1658
+#: pl_exec.c:1659
 msgid "during statement block local variable initialization"
 msgstr "durante inicialización de variables locales en el bloque de sentencias"
 
-#: pl_exec.c:1763
+#: pl_exec.c:1764
 msgid "during statement block entry"
 msgstr "durante la entrada al bloque de sentencias"
 
-#: pl_exec.c:1795
+#: pl_exec.c:1796
 msgid "during statement block exit"
 msgstr "durante la salida del bloque de sentencias"
 
-#: pl_exec.c:1833
+#: pl_exec.c:1834
 msgid "during exception cleanup"
 msgstr "durante la finalización por excepción"
 
-#: pl_exec.c:2370
+#: pl_exec.c:2371
 #, c-format
 msgid "procedure parameter \"%s\" is an output parameter but corresponding argument is not writable"
 msgstr "el parámetro de procedimiento «%s» es un parámetro de salida pero el argumento correspondiente no es escribible"
 
-#: pl_exec.c:2375
+#: pl_exec.c:2376
 #, c-format
 msgid "procedure parameter %d is an output parameter but corresponding argument is not writable"
 msgstr "el parámetro de procedimiento %d es un parámetro de salida pero el argumento correspondiente no es escribible"
 
-#: pl_exec.c:2409
+#: pl_exec.c:2410
 #, c-format
 msgid "GET STACKED DIAGNOSTICS cannot be used outside an exception handler"
 msgstr "GET STACKED DIAGNOSTICS no puede ser usado fuera de un manejador de excepción"
 
-#: pl_exec.c:2615
+#: pl_exec.c:2616
 #, c-format
 msgid "case not found"
 msgstr "caso no encontrado"
 
-#: pl_exec.c:2616
+#: pl_exec.c:2617
 #, c-format
 msgid "CASE statement is missing ELSE part."
 msgstr "A la sentencia CASE le falta la parte ELSE."
 
-#: pl_exec.c:2709
+#: pl_exec.c:2710
 #, c-format
 msgid "lower bound of FOR loop cannot be null"
 msgstr "el límite inferior de un ciclo FOR no puede ser null"
 
-#: pl_exec.c:2725
+#: pl_exec.c:2726
 #, c-format
 msgid "upper bound of FOR loop cannot be null"
 msgstr "el límite superior de un ciclo FOR no puede ser null"
 
-#: pl_exec.c:2743
+#: pl_exec.c:2744
 #, c-format
 msgid "BY value of FOR loop cannot be null"
 msgstr "el valor BY de un ciclo FOR no puede ser null"
 
-#: pl_exec.c:2749
+#: pl_exec.c:2750
 #, c-format
 msgid "BY value of FOR loop must be greater than zero"
 msgstr "el valor BY de un ciclo FOR debe ser mayor que cero"
 
-#: pl_exec.c:2883 pl_exec.c:4688
+#: pl_exec.c:2884 pl_exec.c:4691
 #, c-format
 msgid "cursor \"%s\" already in use"
 msgstr "el cursor «%s» ya está en uso"
 
-#: pl_exec.c:2906 pl_exec.c:4758
+#: pl_exec.c:2907 pl_exec.c:4761
 #, c-format
 msgid "arguments given for cursor without arguments"
 msgstr "se dieron argumentos a un cursor sin argumentos"
 
-#: pl_exec.c:2925 pl_exec.c:4777
+#: pl_exec.c:2926 pl_exec.c:4780
 #, c-format
 msgid "arguments required for cursor"
 msgstr "se requieren argumentos para el cursor"
 
-#: pl_exec.c:3016
+#: pl_exec.c:3017
 #, c-format
 msgid "FOREACH expression must not be null"
 msgstr "la expresión FOREACH no debe ser nula"
 
-#: pl_exec.c:3031
+#: pl_exec.c:3032
 #, c-format
 msgid "FOREACH expression must yield an array, not type %s"
 msgstr "una expresión FOREACH debe retornar un array, no tipo %s"
 
-#: pl_exec.c:3048
+#: pl_exec.c:3049
 #, c-format
 msgid "slice dimension (%d) is out of the valid range 0..%d"
 msgstr "la dimensión del slice (%d) está fuera de rango 0..%d"
 
-#: pl_exec.c:3075
+#: pl_exec.c:3076
 #, c-format
 msgid "FOREACH ... SLICE loop variable must be of an array type"
 msgstr "las variables de bucles FOREACH ... SLICE deben ser de un tipo array"
 
-#: pl_exec.c:3079
+#: pl_exec.c:3080
 #, c-format
 msgid "FOREACH loop variable must not be of an array type"
 msgstr "la variable de bucle FOREACH no debe ser de tipo array"
 
-#: pl_exec.c:3241 pl_exec.c:3298 pl_exec.c:3473
+#: pl_exec.c:3242 pl_exec.c:3299 pl_exec.c:3474
 #, c-format
 msgid "cannot return non-composite value from function returning composite type"
 msgstr "no se puede retornar un valor no-compuesto desde una función que retorne tipos compuestos"
 
-#: pl_exec.c:3337 pl_gram.y:3295
+#: pl_exec.c:3338 pl_gram.y:3375
 #, c-format
 msgid "cannot use RETURN NEXT in a non-SETOF function"
 msgstr "no se puede usar RETURN NEXT en una función que no es SETOF"
 
-#: pl_exec.c:3378 pl_exec.c:3510
+#: pl_exec.c:3379 pl_exec.c:3511
 #, c-format
 msgid "wrong result type supplied in RETURN NEXT"
 msgstr "se pasó un tipo incorrecto de resultado a RETURN NEXT"
 
-#: pl_exec.c:3416 pl_exec.c:3437
+#: pl_exec.c:3417 pl_exec.c:3438
 #, c-format
 msgid "wrong record type supplied in RETURN NEXT"
 msgstr "se pasó un tipo de registro incorrecto a RETURN NEXT"
 
-#: pl_exec.c:3529
+#: pl_exec.c:3530
 #, c-format
 msgid "RETURN NEXT must have a parameter"
 msgstr "RETURN NEXT debe tener un parámetro"
 
-#: pl_exec.c:3557 pl_gram.y:3359
+#: pl_exec.c:3558 pl_gram.y:3439
 #, c-format
 msgid "cannot use RETURN QUERY in a non-SETOF function"
 msgstr "no se puede usar RETURN QUERY en una función que no ha sido declarada SETOF"
 
-#: pl_exec.c:3575
+#: pl_exec.c:3576
 msgid "structure of query does not match function result type"
 msgstr "la estructura de la consulta no coincide con el tipo del resultado de la función"
 
-#: pl_exec.c:3630 pl_exec.c:4465 pl_exec.c:8724
+#: pl_exec.c:3631 pl_exec.c:4467 pl_exec.c:8757
 #, c-format
 msgid "query string argument of EXECUTE is null"
 msgstr "el argumento de consulta a ejecutar en EXECUTE es null"
 
-#: pl_exec.c:3715 pl_exec.c:3853
+#: pl_exec.c:3716 pl_exec.c:3854
 #, c-format
 msgid "RAISE option already specified: %s"
 msgstr "la opción de RAISE ya se especificó: %s"
 
-#: pl_exec.c:3749
+#: pl_exec.c:3750
 #, c-format
 msgid "RAISE without parameters cannot be used outside an exception handler"
 msgstr "RAISE sin parámetros no puede ser usado fuera de un manejador de excepción"
 
-#: pl_exec.c:3843
+#: pl_exec.c:3844
 #, c-format
 msgid "RAISE statement option cannot be null"
 msgstr "la opción de sentencia en RAISE no puede ser null"
 
-#: pl_exec.c:3913
+#: pl_exec.c:3914
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pl_exec.c:3968
+#: pl_exec.c:3969
 #, c-format
 msgid "assertion failed"
 msgstr "aseveración falló"
 
-#: pl_exec.c:4338 pl_exec.c:4527
+#: pl_exec.c:4340 pl_exec.c:4530
 #, c-format
 msgid "cannot COPY to/from client in PL/pgSQL"
 msgstr "no se puede ejecutar COPY desde/a un cliente en PL/pgSQL"
 
-#: pl_exec.c:4344
+#: pl_exec.c:4346
 #, c-format
 msgid "unsupported transaction command in PL/pgSQL"
 msgstr "orden de transacción no soportada en PL/pgSQL"
 
-#: pl_exec.c:4367 pl_exec.c:4556
+#: pl_exec.c:4369 pl_exec.c:4559
 #, c-format
 msgid "INTO used with a command that cannot return data"
 msgstr "INTO es utilizado con una orden que no puede retornar datos"
 
-#: pl_exec.c:4390 pl_exec.c:4579
+#: pl_exec.c:4392 pl_exec.c:4582
 #, c-format
 msgid "query returned no rows"
 msgstr "la consulta no regresó filas"
 
-#: pl_exec.c:4412 pl_exec.c:4598 pl_exec.c:5750
+#: pl_exec.c:4414 pl_exec.c:4601 pl_exec.c:5753
 #, c-format
 msgid "query returned more than one row"
 msgstr "la consulta regresó más de una fila"
 
-#: pl_exec.c:4414
+#: pl_exec.c:4416
 #, c-format
 msgid "Make sure the query returns a single row, or use LIMIT 1."
 msgstr "Asegúrese que la consulta retorne una única fila, o use LIMIT 1."
 
-#: pl_exec.c:4430
+#: pl_exec.c:4432
 #, c-format
 msgid "query has no destination for result data"
 msgstr "la consulta no tiene un destino para los datos de resultado"
 
-#: pl_exec.c:4431
+#: pl_exec.c:4433
 #, c-format
 msgid "If you want to discard the results of a SELECT, use PERFORM instead."
 msgstr "Si quiere descartar los resultados de un SELECT, utilice PERFORM."
 
-#: pl_exec.c:4519
+#: pl_exec.c:4522
 #, c-format
 msgid "EXECUTE of SELECT ... INTO is not implemented"
 msgstr "no está implementado EXECUTE de un SELECT ... INTO"
 
-#: pl_exec.c:4520
+#: pl_exec.c:4523
 #, c-format
 msgid "You might want to use EXECUTE ... INTO or EXECUTE CREATE TABLE ... AS instead."
 msgstr "Puede desear usar EXECUTE ... INTO o EXECUTE CREATE TABLE ... AS en su lugar."
 
-#: pl_exec.c:4533
+#: pl_exec.c:4536
 #, c-format
 msgid "EXECUTE of transaction commands is not implemented"
 msgstr "no está implementado EXECUTE de órdenes de transacción"
 
-#: pl_exec.c:4843 pl_exec.c:4931
+#: pl_exec.c:4846 pl_exec.c:4934
 #, c-format
 msgid "cursor variable \"%s\" is null"
 msgstr "variable cursor «%s» es null"
 
-#: pl_exec.c:4854 pl_exec.c:4942
+#: pl_exec.c:4857 pl_exec.c:4945
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "no existe el cursor «%s»"
 
-#: pl_exec.c:4867
+#: pl_exec.c:4870
 #, c-format
 msgid "relative or absolute cursor position is null"
 msgstr "la posición relativa o absoluta del cursor es null"
 
-#: pl_exec.c:5105 pl_exec.c:5200
+#: pl_exec.c:5108 pl_exec.c:5203
 #, c-format
 msgid "null value cannot be assigned to variable \"%s\" declared NOT NULL"
 msgstr "no puede asignarse un valor null a la variable «%s» que fue declarada NOT NULL"
 
-#: pl_exec.c:5181
+#: pl_exec.c:5184
 #, c-format
 msgid "cannot assign non-composite value to a row variable"
 msgstr "no se puede asignar un valor no compuesto a una variable de tipo row"
 
-#: pl_exec.c:5213
+#: pl_exec.c:5216
 #, c-format
 msgid "cannot assign non-composite value to a record variable"
 msgstr "no se puede asignar un valor no compuesto a una variable de tipo record"
 
-#: pl_exec.c:5264
+#: pl_exec.c:5267
 #, c-format
 msgid "cannot assign to system column \"%s\""
 msgstr "no se puede asignar a la columna de sistema «%s»"
 
-#: pl_exec.c:5713
+#: pl_exec.c:5716
 #, c-format
 msgid "query did not return data"
 msgstr "la consulta no retornó datos"
 
-#: pl_exec.c:5714 pl_exec.c:5726 pl_exec.c:5751 pl_exec.c:5827 pl_exec.c:5832
+#: pl_exec.c:5717 pl_exec.c:5729 pl_exec.c:5754 pl_exec.c:5830 pl_exec.c:5835
 #, c-format
 msgid "query: %s"
 msgstr "consulta: %s"
 
-#: pl_exec.c:5722
+#: pl_exec.c:5725
 #, c-format
 msgid "query returned %d column"
 msgid_plural "query returned %d columns"
 msgstr[0] "la consulta retornó %d columna"
 msgstr[1] "la consulta retornó %d columnas"
 
-#: pl_exec.c:5826
+#: pl_exec.c:5829
 #, c-format
 msgid "query is SELECT INTO, but it should be plain SELECT"
 msgstr "la consulta es SELECT INTO, pero debería ser un SELECT simple"
 
-#: pl_exec.c:5831
+#: pl_exec.c:5834
 #, c-format
 msgid "query is not a SELECT"
 msgstr "la consulta no es un SELECT"
 
-#: pl_exec.c:6638 pl_exec.c:6678 pl_exec.c:6718
+#: pl_exec.c:6648 pl_exec.c:6688 pl_exec.c:6728
 #, c-format
 msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)"
 msgstr "el tipo del parámetro %d (%s) no coincide aquel con que fue preparado el plan (%s)"
 
-#: pl_exec.c:7129 pl_exec.c:7163 pl_exec.c:7237 pl_exec.c:7263
+#: pl_exec.c:7139 pl_exec.c:7173 pl_exec.c:7247 pl_exec.c:7273
 #, c-format
 msgid "number of source and target fields in assignment does not match"
 msgstr "no coincide el número de campos de origen y destino en la asignación"
 
 #. translator: %s represents a name of an extra check
-#: pl_exec.c:7131 pl_exec.c:7165 pl_exec.c:7239 pl_exec.c:7265
+#: pl_exec.c:7141 pl_exec.c:7175 pl_exec.c:7249 pl_exec.c:7275
 #, c-format
 msgid "%s check of %s is active."
 msgstr "El chequeo %s de %s está activo."
 
-#: pl_exec.c:7135 pl_exec.c:7169 pl_exec.c:7243 pl_exec.c:7269
+#: pl_exec.c:7145 pl_exec.c:7179 pl_exec.c:7253 pl_exec.c:7279
 #, c-format
 msgid "Make sure the query returns the exact list of columns."
 msgstr "Asegúrese que la consulta retorna la lista exacta de columnas."
 
-#: pl_exec.c:7656
+#: pl_exec.c:7666
 #, c-format
 msgid "record \"%s\" is not assigned yet"
 msgstr "el registro «%s» no ha sido asignado aún"
 
-#: pl_exec.c:7657
+#: pl_exec.c:7667
 #, c-format
 msgid "The tuple structure of a not-yet-assigned record is indeterminate."
 msgstr "La estructura de fila de un registro aún no asignado no está determinado."
 
-#: pl_exec.c:8322 pl_gram.y:3418
+#: pl_exec.c:8355 pl_gram.y:3498
 #, c-format
 msgid "variable \"%s\" is declared CONSTANT"
 msgstr "la variable «%s» esta declarada como CONSTANT"
@@ -564,11 +579,6 @@ msgstr "los ordenamientos (collation) no están soportados por el tipo %s"
 msgid "variable \"%s\" must have a default value, since it's declared NOT NULL"
 msgstr "la variable «%s» debe tener valor por omisión, puesto que está declarado NOT NULL"
 
-#: pl_gram.y:645 pl_gram.y:660 pl_gram.y:686
-#, c-format
-msgid "variable \"%s\" does not exist"
-msgstr "no existe la variable «%s»"
-
 #: pl_gram.y:704 pl_gram.y:732
 msgid "duplicate declaration"
 msgstr "declaración duplicada"
@@ -578,36 +588,36 @@ msgstr "declaración duplicada"
 msgid "variable \"%s\" shadows a previously defined variable"
 msgstr "la variable «%s» oculta una variable definida anteriormente"
 
-#: pl_gram.y:1016
+#: pl_gram.y:1017
 #, c-format
 msgid "diagnostics item %s is not allowed in GET STACKED DIAGNOSTICS"
 msgstr "elemento de diagnóstico %s no se permite en GET STACKED DIAGNOSTICS"
 
-#: pl_gram.y:1034
+#: pl_gram.y:1035
 #, c-format
 msgid "diagnostics item %s is not allowed in GET CURRENT DIAGNOSTICS"
 msgstr "elemento de diagnóstico %s no se permite en GET STACKED DIAGNOSTICS"
 
-#: pl_gram.y:1132
+#: pl_gram.y:1133
 msgid "unrecognized GET DIAGNOSTICS item"
 msgstr "elemento de GET DIAGNOSTICS no reconocido"
 
-#: pl_gram.y:1148 pl_gram.y:3534
+#: pl_gram.y:1149 pl_gram.y:3614
 #, c-format
 msgid "\"%s\" is not a scalar variable"
 msgstr "«%s» no es una variable escalar"
 
-#: pl_gram.y:1378 pl_gram.y:1572
+#: pl_gram.y:1379 pl_gram.y:1572
 #, c-format
 msgid "loop variable of loop over rows must be a record variable or list of scalar variables"
 msgstr "la variable de bucle de un bucle sobre filas debe ser una variable de tipo record o una lista de variables escalares"
 
-#: pl_gram.y:1413
+#: pl_gram.y:1414
 #, c-format
 msgid "cursor FOR loop must have only one target variable"
 msgstr "un bucle FOR de un cursor debe tener sólo una variable de destino"
 
-#: pl_gram.y:1420
+#: pl_gram.y:1421
 #, c-format
 msgid "cursor FOR loop must use a bound cursor variable"
 msgstr "un bucle FOR en torno a un cursor debe usar un cursor enlazado (bound)"
@@ -647,14 +657,14 @@ msgstr "EXIT no puede usarse fuera de un bucle, a menos que tenga una etiqueta"
 msgid "CONTINUE cannot be used outside a loop"
 msgstr "CONTINUE no puede usarse fuera de un bucle"
 
-#: pl_gram.y:1765 pl_gram.y:1803 pl_gram.y:1851 pl_gram.y:2981 pl_gram.y:3069
-#: pl_gram.y:3180 pl_gram.y:3933
+#: pl_gram.y:1765 pl_gram.y:1803 pl_gram.y:1851 pl_gram.y:3061 pl_gram.y:3149
+#: pl_gram.y:3260 pl_gram.y:4009
 msgid "unexpected end of function definition"
 msgstr "fin inesperado de la definición de la función"
 
 #: pl_gram.y:1871 pl_gram.y:1895 pl_gram.y:1911 pl_gram.y:1917 pl_gram.y:2042
 #: pl_gram.y:2050 pl_gram.y:2064 pl_gram.y:2159 pl_gram.y:2383 pl_gram.y:2473
-#: pl_gram.y:2632 pl_gram.y:3776 pl_gram.y:3837 pl_gram.y:3914
+#: pl_gram.y:2632 pl_gram.y:3856 pl_gram.y:3917 pl_gram.y:3990
 msgid "syntax error"
 msgstr "error de sintaxis"
 
@@ -686,138 +696,144 @@ msgstr "la variable «%s» debe ser de tipo cursor o refcursor"
 msgid "\"%s\" is not a known variable"
 msgstr "«%s» no es una variable conocida"
 
-#: pl_gram.y:2720 pl_gram.y:2730 pl_gram.y:2886
+#: pl_gram.y:2719 pl_gram.y:2729 pl_gram.y:2911
 msgid "mismatched parentheses"
 msgstr "no coinciden los paréntesis"
 
-#: pl_gram.y:2734
+#: pl_gram.y:2733
 #, c-format
 msgid "missing \"%s\" at end of SQL expression"
 msgstr "falta «%s» al final de la expresión SQL"
 
-#: pl_gram.y:2740
+#: pl_gram.y:2739
 #, c-format
 msgid "missing \"%s\" at end of SQL statement"
 msgstr "falta «%s» al final de la sentencia SQL"
 
-#: pl_gram.y:2757
+#: pl_gram.y:2758
 msgid "missing expression"
 msgstr "expresión faltante"
 
-#: pl_gram.y:2759
+#: pl_gram.y:2760
 msgid "missing SQL statement"
 msgstr "sentencia SQL faltante"
 
-#: pl_gram.y:2888
+#: pl_gram.y:2889
+#, fuzzy
+#| msgid "syntax error, expected \"=\""
+msgid "syntax error, expected \"]\""
+msgstr "error de sintaxis, se esperaba «=»"
+
+#: pl_gram.y:2913
 msgid "incomplete data type declaration"
 msgstr "declaración de tipo de dato incompleta"
 
-#: pl_gram.y:2911
+#: pl_gram.y:2936
 msgid "missing data type declaration"
 msgstr "declaración de tipo de dato faltante"
 
-#: pl_gram.y:2991
+#: pl_gram.y:3071
 msgid "INTO specified more than once"
 msgstr "INTO fue especificado más de una vez"
 
-#: pl_gram.y:3161
+#: pl_gram.y:3241
 msgid "expected FROM or IN"
 msgstr "se espera FROM o IN"
 
-#: pl_gram.y:3222
+#: pl_gram.y:3302
 #, c-format
 msgid "RETURN cannot have a parameter in function returning set"
 msgstr "RETURN no puede tener un parámetro en una función que retorna un conjunto"
 
-#: pl_gram.y:3223
+#: pl_gram.y:3303
 #, c-format
 msgid "Use RETURN NEXT or RETURN QUERY."
 msgstr "Use RETURN NEXT o RETURN QUERY."
 
-#: pl_gram.y:3233
+#: pl_gram.y:3313
 #, c-format
 msgid "RETURN cannot have a parameter in a procedure"
 msgstr "RETURN no puede tener un parámetro un procedimiento"
 
-#: pl_gram.y:3238
+#: pl_gram.y:3318
 #, c-format
 msgid "RETURN cannot have a parameter in function returning void"
 msgstr "RETURN no puede tener parámetro en una función que retorna void"
 
-#: pl_gram.y:3247
+#: pl_gram.y:3327
 #, c-format
 msgid "RETURN cannot have a parameter in function with OUT parameters"
 msgstr "RETURN no puede tener parámetros en una función con parámetros OUT"
 
-#: pl_gram.y:3310
+#: pl_gram.y:3390
 #, c-format
 msgid "RETURN NEXT cannot have a parameter in function with OUT parameters"
 msgstr "RETURN NEXT no puede tener parámetros en una función con parámetros OUT"
 
-#: pl_gram.y:3476
+#: pl_gram.y:3556
 #, c-format
 msgid "record variable cannot be part of multiple-item INTO list"
 msgstr "una variable de tipo record no puede ser parte de una lista INTO de múltiples elementos"
 
-#: pl_gram.y:3522
+#: pl_gram.y:3602
 #, c-format
 msgid "too many INTO variables specified"
 msgstr "se especificaron demasiadas variables INTO"
 
-#: pl_gram.y:3730
+#: pl_gram.y:3810
 #, c-format
 msgid "end label \"%s\" specified for unlabeled block"
 msgstr "etiqueta de término «%s» especificada para un bloque sin etiqueta"
 
-#: pl_gram.y:3737
+#: pl_gram.y:3817
 #, c-format
 msgid "end label \"%s\" differs from block's label \"%s\""
 msgstr "etiqueta de término «%s» difiere de la etiqueta de bloque «%s»"
 
-#: pl_gram.y:3771
+#: pl_gram.y:3851
 #, c-format
 msgid "cursor \"%s\" has no arguments"
 msgstr "el cursor «%s» no tiene argumentos"
 
-#: pl_gram.y:3785
+#: pl_gram.y:3865
 #, c-format
 msgid "cursor \"%s\" has arguments"
 msgstr "el cursor «%s» tiene argumentos"
 
-#: pl_gram.y:3827
+#: pl_gram.y:3907
 #, c-format
 msgid "cursor \"%s\" has no argument named \"%s\""
 msgstr "el cursor «%s» no tiene un argumento llamado «%s»"
 
-#: pl_gram.y:3847
+#: pl_gram.y:3927
 #, c-format
 msgid "value for parameter \"%s\" of cursor \"%s\" specified more than once"
 msgstr "el valor para el parámetro «%s» del cursor «%s» fue especificado más de una vez"
 
-#: pl_gram.y:3872
+#: pl_gram.y:3948
 #, c-format
 msgid "not enough arguments for cursor \"%s\""
 msgstr "no hay suficientes argumentos para el cursor «%s»"
 
-#: pl_gram.y:3879
+#: pl_gram.y:3955
 #, c-format
 msgid "too many arguments for cursor \"%s\""
 msgstr "demasiados argumentos para el cursor «%s»"
 
-#: pl_gram.y:3965
+#: pl_gram.y:4041
 msgid "unrecognized RAISE statement option"
 msgstr "no se reconoce la opción de sentencia RAISE"
 
-#: pl_gram.y:3969
+#: pl_gram.y:4045
 msgid "syntax error, expected \"=\""
 msgstr "error de sintaxis, se esperaba «=»"
 
-#: pl_gram.y:4010
+#: pl_gram.y:4086
 #, c-format
 msgid "too many parameters specified for RAISE"
 msgstr "se especificaron demasiados parámetros a RAISE"
 
-#: pl_gram.y:4014
+#: pl_gram.y:4090
 #, c-format
 msgid "too few parameters specified for RAISE"
 msgstr "se especificaron muy pocos parámetros a RAISE"
@@ -843,13 +859,13 @@ msgid "List of programming constructs that should produce an error."
 msgstr "Listado de estructuras de programación que deben dar un error."
 
 #. translator: %s is typically the translation of "syntax error"
-#: pl_scanner.c:508
+#: pl_scanner.c:525
 #, c-format
 msgid "%s at end of input"
 msgstr "%s al final de la entrada"
 
 #. translator: first %s is typically the translation of "syntax error"
-#: pl_scanner.c:524
+#: pl_scanner.c:541
 #, c-format
 msgid "%s at or near \"%s\""
 msgstr "%s en o cerca de «%s»"
index 8186ef8622b497f5811adf616d71a553b04e7650..4bcc11d69b96a4959d5ef5fe56af646ca5a129d5 100644 (file)
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: plpython (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:08+0000\n"
+"POT-Creation-Date: 2024-08-01 11:09+0000\n"
 "PO-Revision-Date: 2023-05-22 12:06+0200\n"
 "Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
@@ -68,7 +68,7 @@ msgstr "el resultado de la consulta tiene demasiados registros y no entran en un
 msgid "closing a cursor in an aborted subtransaction"
 msgstr "cerrando un cursor en una subtransacción abortada"
 
-#: plpy_elog.c:125 plpy_elog.c:126 plpy_plpymodule.c:530
+#: plpy_elog.c:122 plpy_elog.c:123 plpy_plpymodule.c:530
 #, c-format
 msgid "%s"
 msgstr "%s"
@@ -108,83 +108,83 @@ msgstr "procedimiento PL/Python no returnó None"
 msgid "PL/Python function with return type \"void\" did not return None"
 msgstr "función PL/Python con tipo de retorno «void» no retorna None"
 
-#: plpy_exec.c:369 plpy_exec.c:393
+#: plpy_exec.c:246
+#, c-format
+msgid "function returning record called in context that cannot accept type record"
+msgstr "se llamó una función que retorna un registro en un contexto que no puede aceptarlo"
+
+#: plpy_exec.c:392 plpy_exec.c:416
 #, c-format
 msgid "unexpected return value from trigger procedure"
 msgstr "valor de retorno no esperado desde el procedimiento disparador"
 
-#: plpy_exec.c:370
+#: plpy_exec.c:393
 #, c-format
 msgid "Expected None or a string."
 msgstr "Se esperaba None o una cadena."
 
-#: plpy_exec.c:383
+#: plpy_exec.c:406
 #, c-format
 msgid "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
 msgstr "función de disparador de PL/Python retorno «MODIFY» en un disparador de tipo DELETE -- ignorado"
 
-#: plpy_exec.c:394
+#: plpy_exec.c:417
 #, c-format
 msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"."
 msgstr "Se esperaba None, «OK», «SKIP» o «MODIFY»."
 
-#: plpy_exec.c:444
+#: plpy_exec.c:468
 #, c-format
 msgid "PyList_SetItem() failed, while setting up arguments"
 msgstr "PyList_SetItem() falló, mientras se inicializaban los argumentos"
 
-#: plpy_exec.c:448
+#: plpy_exec.c:472
 #, c-format
 msgid "PyDict_SetItemString() failed, while setting up arguments"
 msgstr "PyDict_SetItemString() falló, mientras se inicializaban los argumentos"
 
-#: plpy_exec.c:460
-#, c-format
-msgid "function returning record called in context that cannot accept type record"
-msgstr "se llamó una función que retorna un registro en un contexto que no puede aceptarlo"
-
-#: plpy_exec.c:677
+#: plpy_exec.c:701
 #, c-format
 msgid "while creating return value"
 msgstr "mientras se creaba el valor de retorno"
 
-#: plpy_exec.c:924
+#: plpy_exec.c:952
 #, c-format
 msgid "TD[\"new\"] deleted, cannot modify row"
 msgstr "TD[\"new\"] borrado, no se puede modicar el registro"
 
-#: plpy_exec.c:929
+#: plpy_exec.c:957
 #, c-format
 msgid "TD[\"new\"] is not a dictionary"
 msgstr "TD[\"new\"] no es un diccionario"
 
-#: plpy_exec.c:954
+#: plpy_exec.c:982
 #, c-format
 msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string"
 msgstr "el nombre del atributo de TD[\"new\"] en la posición %d no es una cadena"
 
-#: plpy_exec.c:961
+#: plpy_exec.c:989
 #, c-format
 msgid "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering row"
 msgstr "la llave «%s» en TD[\"new\"] no existe como columna en la fila disparadora"
 
-#: plpy_exec.c:966
+#: plpy_exec.c:994
 #, c-format
 msgid "cannot set system attribute \"%s\""
 msgstr "no se puede definir el atributo de sistema «%s»"
 
-#: plpy_exec.c:971
+#: plpy_exec.c:999
 #, c-format
 msgid "cannot set generated column \"%s\""
 msgstr "no se puede definir el atributo generado «%s»"
 
-#: plpy_exec.c:1029
+#: plpy_exec.c:1057
 #, c-format
 msgid "while modifying trigger row"
 msgstr "mientras se modificaba la fila de disparador"
 
 # FIXME not very happy with this
-#: plpy_exec.c:1087
+#: plpy_exec.c:1115
 #, c-format
 msgid "forcibly aborting a subtransaction that has not been exited"
 msgstr "abortando una subtransacción que no se ha cerrado"
@@ -273,27 +273,27 @@ msgstr "«%s» no es un argumento válido para esta función"
 msgid "invalid SQLSTATE code"
 msgstr "código SQLSTATE no válido"
 
-#: plpy_procedure.c:225
+#: plpy_procedure.c:226
 #, c-format
 msgid "trigger functions can only be called as triggers"
 msgstr "las funciones disparadoras sólo pueden ser llamadas como disparadores"
 
-#: plpy_procedure.c:229
+#: plpy_procedure.c:230
 #, c-format
 msgid "PL/Python functions cannot return type %s"
 msgstr "las funciones PL/Python no pueden retornar el tipo %s"
 
-#: plpy_procedure.c:307
+#: plpy_procedure.c:308
 #, c-format
 msgid "PL/Python functions cannot accept type %s"
 msgstr "la funciones PL/Python no pueden aceptar el tipo %s"
 
-#: plpy_procedure.c:395
+#: plpy_procedure.c:396
 #, c-format
 msgid "could not compile PL/Python function \"%s\""
 msgstr "no se pudo compilar la función PL/Python «%s»"
 
-#: plpy_procedure.c:398
+#: plpy_procedure.c:399
 #, c-format
 msgid "could not compile anonymous PL/Python code block"
 msgstr "no se pudo compilar el bloque anónimo PL/Python"
index ff271b40461001a582df1d37a264ebfca0c4ec24..5a2649bedcdc5fde396b954f018f962071168da8 100644 (file)
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pltcl (PostgreSQL) 16\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:08+0000\n"
+"POT-Creation-Date: 2024-08-01 11:08+0000\n"
 "PO-Revision-Date: 2023-05-22 12:06+0200\n"
 "Last-Translator: Carlos Chapi <carlos.chapi@2ndquadrant.com>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
@@ -59,17 +59,24 @@ msgstr "se requiere un nodo «materialize», pero no está permitido en este con
 msgid "function returning record called in context that cannot accept type record"
 msgstr "se llamó una función que retorna un registro en un contexto que no puede aceptarlo"
 
-#: pltcl.c:1295
-#, c-format
-msgid "could not split return value from trigger: %s"
-msgstr "no se pudo separar el valor de retorno del disparador: %s"
+#: pltcl.c:1031
+#, fuzzy, c-format
+#| msgid "could not parse connection string: %s"
+msgid "could not parse function return value: %s"
+msgstr "no se pudo interpretar la cadena de conexión: %s"
+
+#: pltcl.c:1298
+#, fuzzy, c-format
+#| msgid "could not parse file name \"%s\""
+msgid "could not parse trigger return value: %s"
+msgstr "no se pudo interpretar el nombre de archivo «%s»"
 
-#: pltcl.c:1376 pltcl.c:1803
+#: pltcl.c:1383 pltcl.c:1810
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pltcl.c:1377
+#: pltcl.c:1384
 #, c-format
 msgid ""
 "%s\n"
@@ -78,42 +85,46 @@ msgstr ""
 "%s\n"
 "en función PL/Tcl \"%s\""
 
-#: pltcl.c:1540
+#: pltcl.c:1547
 #, c-format
 msgid "trigger functions can only be called as triggers"
 msgstr "las funciones disparadoras sólo pueden ser invocadas como disparadores"
 
-#: pltcl.c:1544
+#: pltcl.c:1551
 #, c-format
 msgid "PL/Tcl functions cannot return type %s"
 msgstr "las funciones PL/Tcl no pueden retornar tipo %s"
 
-#: pltcl.c:1583
+#: pltcl.c:1590
 #, c-format
 msgid "PL/Tcl functions cannot accept type %s"
 msgstr "las funciones PL/Tcl no pueden aceptar el tipog%s"
 
-#: pltcl.c:1695
+#: pltcl.c:1702
 #, c-format
 msgid "could not create internal procedure \"%s\": %s"
 msgstr "no se pudo crear procedimiento interno «%s»: %s"
 
-#: pltcl.c:3199
+#: pltcl.c:3207
 #, c-format
 msgid "column name/value list must have even number of elements"
 msgstr "la lista de nombres de columnas y valores debe tener un número par de elementos"
 
-#: pltcl.c:3217
+#: pltcl.c:3225
 #, c-format
 msgid "column name/value list contains nonexistent column name \"%s\""
 msgstr "la lista de nombres de columnas y valores contiene el nombre de columna no existente «%s»"
 
-#: pltcl.c:3224
+#: pltcl.c:3232
 #, c-format
 msgid "cannot set system attribute \"%s\""
 msgstr "no se puede definir el atributo de sistema «%s»"
 
-#: pltcl.c:3230
+#: pltcl.c:3238
 #, c-format
 msgid "cannot set generated column \"%s\""
 msgstr "no se puede definir el atributo generado «%s»"
+
+#, c-format
+#~ msgid "could not split return value from trigger: %s"
+#~ msgstr "no se pudo separar el valor de retorno del disparador: %s"
index 0d6dead79e0387ac0ba2618f14a9d0b2e7897a30..626562c8e3bb16728a76083945043cc75b79c76c 100644 (file)
@@ -62,8 +62,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL server 15\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-05-22 07:10+0000\n"
-"PO-Revision-Date: 2024-05-21 13:39+0200\n"
+"POT-Creation-Date: 2024-08-01 11:11+0000\n"
+"PO-Revision-Date: 2024-08-01 12:07-0400\n"
 "Last-Translator: Carlos Chapi <carloswaldo@babelruins.org>\n"
 "Language-Team: PgSQL-es-Ayuda <pgsql-es-ayuda@lists.postgresql.org>\n"
 "Language: es\n"
@@ -73,6 +73,12 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: BlackCAT 1.1\n"
 
+#: ../common/binaryheap.c:121 ../common/binaryheap.c:159
+#, fuzzy, c-format
+#| msgid "out of background worker slots"
+msgid "out of binary heap slots"
+msgstr "se acabaron los slots de procesos ayudante"
+
 #: ../common/compression.c:132 ../common/compression.c:141
 #: ../common/compression.c:150
 #, c-format
@@ -99,8 +105,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 +136,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:1737 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:1369 access/transam/xlog.c:3476
+#: access/transam/xlog.c:4340 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:5084
+#: 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:3481 access/transam/xlog.c:4345
+#: 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:1381
+#: access/transam/twophase.c:1793 access/transam/xlog.c:3322
+#: access/transam/xlog.c:3516 access/transam/xlog.c:3521
+#: access/transam/xlog.c:3657 access/transam/xlog.c:4310
+#: access/transam/xlog.c:5245 commands/copyfrom.c:1797 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:5136
+#: 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 +209,158 @@ 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:1325 access/transam/xlog.c:3229
+#: access/transam/xlog.c:3392 access/transam/xlog.c:3431
+#: access/transam/xlog.c:3624 access/transam/xlog.c:4330
+#: access/transam/xlogrecovery.c:4263 access/transam/xlogrecovery.c:4366
+#: 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:3737
+#: replication/logical/reorderbuffer.c:4291
+#: replication/logical/reorderbuffer.c:5064
+#: 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:2107
+#: utils/init/miscinit.c:1526 utils/init/miscinit.c:1660
+#: utils/init/miscinit.c:1737 utils/misc/guc.c:4727 utils/misc/guc.c:4777
 #, 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:1766 access/transam/twophase.c:1775
+#: access/transam/xlog.c:9255 access/transam/xlogfuncs.c:698
+#: backup/basebackup_server.c:173 backup/basebackup_server.c:266
+#: backup/walsummary.c:304 postmaster/postmaster.c:4125
+#: 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:1787
+#: access/transam/xlog.c:3315 access/transam/xlog.c:3510
+#: access/transam/xlog.c:4303 access/transam/xlog.c:8630
+#: access/transam/xlog.c:8675 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:1329 storage/smgr/md.c:1374
+#: storage/sync/sync.c:446 utils/misc/guc.c:4480
 #, 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:853 ../common/psprintf.c:143
+#: ../common/scram-common.c:269 ../common/stringinfo.c:314 ../port/path.c:751
+#: ../port/path.c:788 ../port/path.c:805 access/transam/twophase.c:1434
+#: 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:3559 postmaster/postmaster.c:4019
+#: postmaster/postmaster.c:4381 postmaster/walsummarizer.c:933
+#: 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:509
+#: utils/adt/pg_locale.c:673 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:4458 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:1721
+#: commands/copyto.c:649 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
+#, fuzzy, c-format
+#| msgid "no data returned from server"
+msgid "no data was returned by command \"%s\""
+msgstr "el servidor 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:1582 storage/ipc/latch.c:1744
+#: storage/ipc/latch.c:1870
 #, 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:753 ../port/path.c:790
+#: ../port/path.c:807 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,52 @@ 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:1337
+#: 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:1747
+#: commands/copyto.c:695 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
+#, fuzzy, c-format
+#| msgid "this build does not support compression with %s"
+msgid "this build does not support sync method \"%s\""
+msgstr "esta instalación no soporta compresión con %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:1468
+#: 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 +424,112 @@ msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
 msgid "internal error"
 msgstr "error interno"
 
-#: ../common/jsonapi.c:1144
-#, c-format
-msgid "Escape sequence \"\\%s\" is invalid."
+#: ../common/jsonapi.c:2121
+msgid "Recursive descent parser cannot use incremental lexer."
+msgstr ""
+
+#: ../common/jsonapi.c:2123
+msgid "Incremental parser requires incremental lexer."
+msgstr ""
+
+#: ../common/jsonapi.c:2125
+msgid "JSON nested too deep, maximum permitted depth is 6400."
+msgstr ""
+
+#: ../common/jsonapi.c:2127
+#, fuzzy, c-format
+#| msgid "Escape sequence \"\\%s\" is invalid."
+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
-#, c-format
-msgid "Expected end of input, but found \"%s\"."
+#: ../common/jsonapi.c:2135
+#, fuzzy, c-format
+#| msgid "Expected end of input, but found \"%s\"."
+msgid "Expected end of input, but found \"%.*s\"."
 msgstr "Se esperaba el fin de la entrada, se encontró «%s»."
 
-#: ../common/jsonapi.c:1153
-#, c-format
-msgid "Expected array element or \"]\", but found \"%s\"."
+#: ../common/jsonapi.c:2138
+#, fuzzy, c-format
+#| msgid "Expected array element or \"]\", but found \"%s\"."
+msgid "Expected array element or \"]\", but found \"%.*s\"."
 msgstr "Se esperaba un elemento de array o «]», se encontró «%s»."
 
-#: ../common/jsonapi.c:1156
-#, c-format
-msgid "Expected \",\" or \"]\", but found \"%s\"."
+#: ../common/jsonapi.c:2141
+#, fuzzy, c-format
+#| msgid "Expected \",\" or \"]\", but found \"%s\"."
+msgid "Expected \",\" or \"]\", but found \"%.*s\"."
 msgstr "Se esperaba «,» o «]», se encontró «%s»."
 
-#: ../common/jsonapi.c:1159
-#, c-format
-msgid "Expected \":\", but found \"%s\"."
+#: ../common/jsonapi.c:2144
+#, fuzzy, c-format
+#| msgid "Expected \":\", but found \"%s\"."
+msgid "Expected \":\", but found \"%.*s\"."
 msgstr "Se esperaba «:», se encontró «%s»."
 
-#: ../common/jsonapi.c:1162
-#, c-format
-msgid "Expected JSON value, but found \"%s\"."
+#: ../common/jsonapi.c:2147
+#, fuzzy, c-format
+#| msgid "Expected JSON value, but found \"%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
-#, c-format
-msgid "Expected string or \"}\", but found \"%s\"."
+#: ../common/jsonapi.c:2152
+#, fuzzy, c-format
+#| msgid "Expected string or \"}\", but found \"%s\"."
+msgid "Expected string or \"}\", but found \"%.*s\"."
 msgstr "Se esperaba una cadena o «}», se encontró «%s»."
 
-#: ../common/jsonapi.c:1170
-#, c-format
-msgid "Expected \",\" or \"}\", but found \"%s\"."
+#: ../common/jsonapi.c:2155
+#, fuzzy, c-format
+#| msgid "Expected \",\" or \"}\", but found \"%s\"."
+msgid "Expected \",\" or \"}\", but found \"%.*s\"."
 msgstr "Se esperaba «,» o «}», se encontró «%s»."
 
-#: ../common/jsonapi.c:1173
-#, c-format
-msgid "Expected string, but found \"%s\"."
+#: ../common/jsonapi.c:2158
+#, fuzzy, c-format
+#| msgid "Expected string, but found \"%s\"."
+msgid "Expected string, but found \"%.*s\"."
 msgstr "Se esperaba una cadena, se encontró «%s»."
 
-#: ../common/jsonapi.c:1176
-#, c-format
-msgid "Token \"%s\" is invalid."
+#: ../common/jsonapi.c:2161
+#, fuzzy, c-format
+#| msgid "Token \"%s\" is invalid."
+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 +554,172 @@ msgstr "detalle: "
 msgid "hint: "
 msgstr "consejo: "
 
+#: ../common/parse_manifest.c:159 ../common/parse_manifest.c:855
+#, 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:204 ../common/parse_manifest.c:261
+msgid "manifest ended unexpectedly"
+msgstr "el manifiesto terminó inesperadamente"
+
+#: ../common/parse_manifest.c:210 ../common/parse_manifest.c:862
+#, 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:302
+msgid "unexpected object start"
+msgstr "inicio de objeto inesperado"
+
+#: ../common/parse_manifest.c:337
+msgid "unexpected object end"
+msgstr "fin de objeto inesperado"
+
+#: ../common/parse_manifest.c:366
+msgid "unexpected array start"
+msgstr "inicio de array inesperado"
+
+#: ../common/parse_manifest.c:391
+msgid "unexpected array end"
+msgstr "fin de array inesperado"
+
+#: ../common/parse_manifest.c:418
+msgid "expected version indicator"
+msgstr "se esperaba indicador de versión"
+
+#: ../common/parse_manifest.c:454
+msgid "unrecognized top-level field"
+msgstr "campo de nivel superior no reconocido"
+
+#: ../common/parse_manifest.c:473
+msgid "unexpected file field"
+msgstr "campo de archivo inesperado"
+
+#: ../common/parse_manifest.c:487
+msgid "unexpected WAL range field"
+msgstr "campo de rango de WAL inesperado"
+
+#: ../common/parse_manifest.c:493
+msgid "unexpected object field"
+msgstr "campo de objeto inesperado"
+
+#: ../common/parse_manifest.c:583
+msgid "unexpected scalar"
+msgstr "escalar inesperado"
+
+#: ../common/parse_manifest.c:609
+#, fuzzy
+#| msgid "timeline is not an integer"
+msgid "manifest version not an integer"
+msgstr "el timeline no es un número entero"
+
+#: ../common/parse_manifest.c:613
+msgid "unexpected manifest version"
+msgstr "versión de manifiesto inesperada"
+
+#: ../common/parse_manifest.c:637
+#, fuzzy
+#| msgid "file size is not an integer"
+msgid "manifest system identifier not an integer"
+msgstr "el tamaño del archivo no es un número entero"
+
+#: ../common/parse_manifest.c:662
+msgid "missing path name"
+msgstr "ruta de archivo faltante"
+
+#: ../common/parse_manifest.c:665
+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:667
+msgid "missing size"
+msgstr "tamaño faltante"
+
+#: ../common/parse_manifest.c:670
+msgid "checksum without algorithm"
+msgstr "suma de comprobación sin algoritmo"
+
+#: ../common/parse_manifest.c:684
+msgid "could not decode file name"
+msgstr "no se pudo decodificar el nombre del archivo"
+
+#: ../common/parse_manifest.c:694
+msgid "file size is not an integer"
+msgstr "el tamaño del archivo no es un número entero"
+
+#: ../common/parse_manifest.c:700 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:719
+#, 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:762
+msgid "missing timeline"
+msgstr "falta el timeline"
+
+#: ../common/parse_manifest.c:764
+msgid "missing start LSN"
+msgstr "falta el LSN de inicio"
+
+#: ../common/parse_manifest.c:766
+msgid "missing end LSN"
+msgstr "falta el LSN de término"
+
+#: ../common/parse_manifest.c:772
+msgid "timeline is not an integer"
+msgstr "el timeline no es un número entero"
+
+#: ../common/parse_manifest.c:775
+msgid "could not parse start LSN"
+msgstr "no se pudo interpretar el LSN de inicio"
+
+#: ../common/parse_manifest.c:778
+msgid "could not parse end LSN"
+msgstr "no se pudo interpretar el LSN de término"
+
+#: ../common/parse_manifest.c:843
+msgid "expected at least 2 lines"
+msgstr "esperado al menos 2 líneas"
+
+#: ../common/parse_manifest.c:846
+msgid "last line not newline-terminated"
+msgstr "última línea no termina en nueva línea"
+
+#: ../common/parse_manifest.c:865
+#, 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:869
+#, c-format
+msgid "manifest has no checksum"
+msgstr "el manifiesto no tiene suma de comprobación"
+
+#: ../common/parse_manifest.c:873
+#, c-format
+msgid "invalid manifest checksum: \"%s\""
+msgstr "suma de comprobación de manifiesto no válida: \"%s\""
+
+#: ../common/parse_manifest.c:877
+#, c-format
+msgid "manifest checksum mismatch"
+msgstr "discordancia en la suma de comprobación del manifiesto"
+
+#: ../common/parse_manifest.c:892
+#, 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:4662 utils/misc/guc.c:6887
+#: utils/misc/guc.c:6928
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "valor no válido para el parámetro «%s»: «%s»"
@@ -510,10 +730,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 +779,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:1726 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:4560
+#: 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:282
 msgid "could not encode salt"
 msgstr "no se pudo codificar la sal"
 
-#: ../common/scram-common.c:287
+#: ../common/scram-common.c:298
 msgid "could not encode stored key"
 msgstr "no se pudo codificar la llave almacenada"
 
-#: ../common/scram-common.c:304
+#: ../common/scram-common.c:315
 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 +833,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"
 
@@ -707,8 +926,9 @@ msgid "You might have antivirus, backup, or similar software interfering with th
 msgstr "Es posible que tenga antivirus, sistema de respaldos, o software similar interfiriendo con el sistema de bases de datos."
 
 #: ../port/path.c:775
-#, c-format
-msgid "could not get current working directory: %s\n"
+#, fuzzy, c-format
+#| msgid "could not get current working directory: %s\n"
+msgid "could not get current working directory: %m\n"
 msgstr "no se pudo obtener el directorio de trabajo actual: %s\n"
 
 #: ../port/strerror.c:72
@@ -716,12 +936,12 @@ msgstr "no se pudo obtener el directorio de trabajo actual: %s\n"
 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 +961,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:2252
 #, 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 +1081,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,145 +1122,133 @@ 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:1940
 #, 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:1191
 #, 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
+#: access/common/reloptions.c:1989
 #, fuzzy, c-format
-#| msgid "cannot truncate only a partitioned table"
+#| msgid "cannot change inheritance of partitioned table"
 msgid "cannot specify storage parameters for a partitioned table"
-msgstr "no se puede truncar ONLY una tabla particionada"
+msgstr "no se puede cambiar la herencia de una tabla particionada"
 
-#: access/common/reloptions.c:1992
+#: access/common/reloptions.c:1990
 #, c-format
-msgid "Specify storage parameters for its leaf partitions, instead."
+msgid "Specify storage parameters for its leaf partitions instead."
 msgstr ""
 
-#: 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"
 msgstr "la «posting list» es demasiado larga"
 
 #: access/gin/ginbulk.c:45
-#, c-format
-msgid "Reduce maintenance_work_mem."
+#, fuzzy, c-format
+#| msgid "Reduce 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 +1268,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:2192
+#: 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 +1326,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:2047 commands/tablecmds.c:18083 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 +1386,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 +1411,230 @@ 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:2195
 #, 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:2714
 #, 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:2761
 #, 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:3209 access/heap/heapam.c:6082
 #, 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:3337
 #, 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:4726 access/heap/heapam.c:4764
+#: access/heap/heapam.c:5029 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»"
 
-#: 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:3254 access/transam/xlog.c:3445
+#: access/transam/xlog.c:4282 access/transam/xlog.c:9244
+#: 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:4112
+#: postmaster/walsummarizer.c:1210 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:3304 access/transam/xlog.c:3501
+#: access/transam/xlog.c:4294 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:1601
+#: utils/init/miscinit.c:1612 utils/init/miscinit.c:1620 utils/misc/guc.c:4441
+#: utils/misc/guc.c:4472 utils/misc/guc.c:5625 utils/misc/guc.c:5643
+#: 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 ""
 
-#: 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
+#: access/heap/vacuumlazy.c:690
 #, fuzzy, c-format
 #| msgid "%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n"
 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"
 
-#: 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:2172
 #, 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:2326
 #, 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:2329
 #, 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:2330
 #, c-format
 msgid ""
 "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n"
@@ -1445,67 +1643,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:2592
 #, c-format
 msgid "\"%s\": stopping truncate due to conflicting lock request"
 msgstr "«%s»: suspendiendo el truncado debido a una petición de candado en conflicto"
 
-#: access/heap/vacuumlazy.c:2961
+#: access/heap/vacuumlazy.c:2662
 #, 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:2724
 #, 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:2843
 #, 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:3113
 #, 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:3116
 #, 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:3120
 #, c-format
 msgid "while scanning relation \"%s.%s\""
 msgstr "recorriendo la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:3414
+#: access/heap/vacuumlazy.c:3128
 #, 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:3131
 #, 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:3135
 #, 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:3140 commands/vacuumparallel.c:1113
 #, 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:3145 commands/vacuumparallel.c:1119
 #, 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:3151
 #, 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 +1718,25 @@ 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:487
 #, 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:655 access/index/indexam.c:82
+#, fuzzy, c-format
+#| msgid "cannot drop extension \"%s\" because it is being modified"
+msgid "cannot access index \"%s\" while it is being reindexed"
+msgstr "no se puede eliminar la extensión «%s» porque está siendo modificada"
+
+#: access/index/indexam.c:203 catalog/objectaddress.c:1356
+#: commands/indexcmds.c:2877 commands/tablecmds.c:281 commands/tablecmds.c:305
+#: commands/tablecmds.c:17778 commands/tablecmds.c:19605
 #, 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 +1756,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:2298
 #, 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:5102
 #, 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:5108
 #, 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:5112
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -1597,12 +1801,19 @@ 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:143
+#, fuzzy, c-format
+#| msgid "cannot lock rows in relation \"%s\""
+msgid "cannot open relation \"%s\""
+msgstr "no se puede bloquear registros en la tabla «%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 +1828,67 @@ 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
-#, c-format
-msgid "%s cannot be empty."
+#: access/table/tableamapi.c:109
+#, fuzzy, c-format
+#| msgid "%s cannot be empty."
+msgid "\"%s\" cannot be empty."
 msgstr "%s no puede ser vacío."
 
-#: access/table/tableamapi.c:123 access/transam/xlogrecovery.c:4774
-#, c-format
-msgid "%s is too long (maximum %d characters)."
+#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4858
+#, fuzzy, c-format
+#| msgid "%s is too long (maximum %d characters)."
+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
-#, c-format
-msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database \"%s\""
+#: access/transam/multixact.c:1091
+#, fuzzy, c-format
+#| msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database \"%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 generen nuevos MultiXactIds para evitar pérdida de datos debido al reciclaje de transacciones 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,244 +1897,256 @@ 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
-#, c-format
-msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with OID %u"
+#: access/transam/multixact.c:1098
+#, fuzzy, c-format
+#| msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with 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 generen nuevos MultiXactIds para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base con OID %u"
 
-#: access/transam/multixact.c: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
-#, 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."
+#: access/transam/multixact.c:1195
+#, fuzzy, 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."
+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
-#, 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."
+#: access/transam/multixact.c:1231
+#, fuzzy, 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."
+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"
 
-#: 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"
 
-#: 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
-#, c-format
+#: access/transam/multixact.c:2479 access/transam/multixact.c:2488
+#, fuzzy, c-format
+#| msgid ""
+#| "To avoid a database shutdown, execute a database-wide VACUUM in that database.\n"
+#| "You might also need to commit or roll back old prepared transactions, or drop stale replication slots."
 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"
 "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"
 
-#: 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"
 
-#: 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:731 access/transam/parallel.c:850
 #, 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:732 access/transam/parallel.c:851
 #, 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:912
 #, 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:1099
 #, 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:1155 access/transam/parallel.c:1157
 msgid "parallel worker"
 msgstr "ayudante paralelo"
 
-#: access/transam/parallel.c:1319
+#: access/transam/parallel.c:1327 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:1332 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
-#, c-format
-msgid "Include the extension module that implements this resource manager in shared_preload_libraries."
+#: access/transam/rmgr.c:94
+#, fuzzy, c-format
+#| msgid "Include the extension module that implements this resource manager in 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
-#, c-format
-msgid "Custom resource manager must be registered while initializing modules in shared_preload_libraries."
+#: access/transam/rmgr.c:121
+#, fuzzy, c-format
+#| msgid "Custom resource manager must be registered while initializing modules in 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."
 
-#: 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
+#, fuzzy, c-format
+#| msgid "\"9\" must be ahead of \"PR\""
+msgid "\"%s\" must be a multiple of %d"
+msgstr "«9» debe ir antes de «PR»"
+
+#: 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"
@@ -1970,773 +2191,842 @@ 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
-#, c-format
-msgid "Set max_prepared_transactions to a nonzero value."
+#: access/transam/twophase.c:376
+#, fuzzy, c-format
+#| msgid "Set max_prepared_transactions to a nonzero value."
+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:2540
 #, 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
-#, c-format
-msgid "Increase max_prepared_transactions (currently %d)."
+#: access/transam/twophase.c:405 access/transam/twophase.c:2541
+#, fuzzy, c-format
+#| msgid "Increase max_prepared_transactions (currently %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:1190
 #, 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:1345
 #, 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:1354
 #, 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:1372
 #, 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:1387
 #, 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:1393
 #, 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:1405
 #, 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:1435 access/transam/xlogrecovery.c:565
+#: postmaster/walsummarizer.c:934 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:1445
 #, 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:1450
 #, 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:1458
 #, 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:1754
 #, 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:1881
 #, 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:2116
 #, 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:2209
 #, 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:2216
 #, 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:2229
 #, 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:2236
 #, 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:2261
 #, 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:2266
 #, 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
-#, c-format
-msgid "database is not accepting commands to avoid wraparound data loss in database \"%s\""
-msgstr "la base de datos no está aceptando órdenes para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base de datos «%s»"
+#: access/transam/twophase.c:2523
+#, fuzzy, c-format
+#| msgid "corrupted two-phase state file for transaction %u"
+msgid "could not recover two-phase state file for transaction %u"
+msgstr "archivo de estado de dos fases corrupto para transacción %u"
 
-#: access/transam/varsup.c:131 access/transam/varsup.c:138
+#: access/transam/twophase.c:2525
 #, 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."
+msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk."
 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."
 
-#: access/transam/varsup.c:136
+#: access/transam/twophase.c:2533 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209
 #, 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 "could not access file \"%s\": %m"
+msgstr "no se pudo acceder al archivo «%s»: %m"
+
+#: access/transam/varsup.c:156
+#, fuzzy, c-format
+#| msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database \"%s\""
+msgid "database is not accepting commands that assign new XIDs to avoid wraparound data loss in database \"%s\""
+msgstr "la base de datos no está aceptando órdenes que generen nuevos MultiXactIds para evitar pérdida de datos debido al reciclaje de transacciones en la base de datos «%s»"
 
-#: access/transam/varsup.c:148 access/transam/varsup.c:463
+#: access/transam/varsup.c:163
+#, fuzzy, c-format
+#| msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with OID %u"
+msgid "database is not accepting commands that assign new XIDs to avoid wraparound data loss in database with OID %u"
+msgstr "la base de datos no está aceptando órdenes que generen nuevos MultiXactIds para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base con OID %u"
+
+#: access/transam/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 access/transam/varsup.c:185
+#: access/transam/varsup.c:493 access/transam/varsup.c:500
+#, fuzzy, c-format
+#| msgid ""
+#| "To avoid a database shutdown, execute a database-wide VACUUM in that database.\n"
+#| "You might also need to commit or roll back old prepared transactions, or drop stale replication slots."
+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/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/xact.c:649
+#, fuzzy, c-format
+#| msgid "cannot abort during a parallel operation"
+msgid "cannot assign XIDs during a parallel operation"
+msgstr "no se puede abortar durante una operación paralela"
+
+#: access/transam/xact.c:840
+#, fuzzy, c-format
+#| msgid "cannot insert tuples in a parallel worker"
+msgid "cannot modify data in a parallel worker"
+msgstr "no se pueden insertar tuplas en un ayudante paralelo"
+
+#: access/transam/xact.c:1115
+#, fuzzy, c-format
+#| msgid "cannot commit during a parallel operation"
+msgid "cannot start commands during a parallel operation"
+msgstr "no se puede comprometer una transacción 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
+#: access/transam/xact.c:3613
 #, fuzzy, c-format
 #| msgid "%s cannot be executed from a function"
 msgid "%s cannot be executed within a pipeline"
 msgstr "%s no puede ser ejecutado desde una función"
 
 #. 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:1541
 #, 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:2228
-#, c-format
-msgid "could not write to log file %s at offset %u, length %zu: %m"
+#: access/transam/xlog.c:1768
+#, fuzzy, c-format
+#| msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X"
+msgid "cannot read past end of generated WAL: requested %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:2209 access/transam/xlog.c:4500
+#, fuzzy, c-format
+#| msgid "argument of --wal-segsize must be a power of two between 1 and 1024"
+msgid "The WAL segment size must be a power of two between 1 MB and 1 GB."
+msgstr "el argumento de --wal-segsize debe ser una potencia de dos entre 1 y 1024"
+
+#: access/transam/xlog.c:2227
+#, fuzzy, c-format
+#| msgid "must be superuser to connect in binary upgrade mode"
+msgid "\"%s\" must be set to -1 during binary upgrade mode."
+msgstr "debe ser superusuario para conectarse en modo de actualización binaria"
+
+#: access/transam/xlog.c:2476
+#, fuzzy, c-format
+#| msgid "could not write to log file %s at offset %u, length %zu: %m"
+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:3738 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:4060
 #, 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:4103 access/transam/xlog.c:4114
+#: access/transam/xlog.c:4135
 #, 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:4120 access/transam/xlog.c:4141
 #, 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:4124 access/transam/xlog.c:4144
+#: commands/dbcommands.c:3242
 #, 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:4211
 #, 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:4362 access/transam/xlog.c:4372
+#: access/transam/xlog.c:4398 access/transam/xlog.c:4406
+#: access/transam/xlog.c:4414 access/transam/xlog.c:4420
+#: access/transam/xlog.c:4428 access/transam/xlog.c:4436
+#: access/transam/xlog.c:4444 access/transam/xlog.c:4452
+#: access/transam/xlog.c:4460 access/transam/xlog.c:4468
+#: access/transam/xlog.c:4478 access/transam/xlog.c:4486
+#: utils/init/miscinit.c:1758
 #, 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:4363
 #, 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:4367
 #, 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:4373
 #, 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:4376 access/transam/xlog.c:4402
+#: access/transam/xlog.c:4410 access/transam/xlog.c:4416
 #, 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:4388
 #, 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:4399
 #, 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:4407
 #, 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:4415
 #, 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:4421
 #, 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:4424 access/transam/xlog.c:4432
+#: access/transam/xlog.c:4440 access/transam/xlog.c:4448
+#: access/transam/xlog.c:4456 access/transam/xlog.c:4464
+#: access/transam/xlog.c:4472 access/transam/xlog.c:4481
+#: access/transam/xlog.c:4489
 #, 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:4429
 #, 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:4437
 #, 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:4445
 #, 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:4453
 #, 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:4461
 #, 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:4469
 #, 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:4479
 #, 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:4487
 #, 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
-#, 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"
+#: access/transam/xlog.c:4496
+#, fuzzy, c-format
+#| msgid "pg_control specifies invalid WAL segment size (%d byte); proceed with caution"
+#| msgid_plural "pg_control specifies invalid WAL segment size (%d bytes); proceed with caution"
+msgid "invalid WAL segment size in control file (%d byte)"
+msgid_plural "invalid WAL segment size in control file (%d bytes)"
+msgstr[0] "pg_control especifica un tamaño de segmento de WAL no válido (%d byte), proceda con precaución"
+msgstr[1] "pg_control especifica un tamaño de segmento de WAL no válido (%d bytes), proceda con precaución"
 
-#: access/transam/xlog.c:4149
+#: access/transam/xlog.c:4509
 #, 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:4513
 #, 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:4661 catalog/namespace.c:4681
+#: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72
+#: replication/slot.c:2429 utils/error/elog.c:2230
 #, 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:4707 commands/user.c:2545 commands/variable.c:173
+#: utils/error/elog.c:2256
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Palabra clave no reconocida: «%s»."
 
-#: access/transam/xlog.c:4768
+#: access/transam/xlog.c:5128
 #, 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:5136
 #, 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:5142
 #, 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
-#, c-format
-msgid "WAL was generated with wal_level=minimal, cannot continue recovering"
+#: access/transam/xlog.c:5367
+#, fuzzy, c-format
+#| msgid "WAL was generated with wal_level=minimal, cannot continue recovering"
+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
-#, c-format
-msgid "This happens if you temporarily set wal_level=minimal on the server."
+#: access/transam/xlog.c:5368
+#, fuzzy, c-format
+#| msgid "This happens if you temporarily set wal_level=minimal on the server."
+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
-#, c-format
-msgid "Use a backup taken after setting wal_level to higher than minimal."
+#: access/transam/xlog.c:5369
+#, fuzzy, c-format
+#| msgid "Use a backup taken after setting wal_level to higher than 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:5434
 #, c-format
 msgid "control file contains invalid checkpoint location"
 msgstr "el archivo de control contiene una ubicación no válida de punto de control"
 
-#: access/transam/xlog.c:5076
+#: access/transam/xlog.c:5445
 #, 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:5451
 #, 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:5457
 #, 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:5463
 #, 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:5465
 #, 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:5471
 #, 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:5473
 #, 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:5479
 #, 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:5486
 #, 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:5874
 #, 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:5875
 #, 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:5879
 #, 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:5925
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "seleccionado nuevo ID de timeline: %u"
 
-#: access/transam/xlog.c:5583
+#: access/transam/xlog.c:5958
 #, c-format
 msgid "archive recovery complete"
 msgstr "recuperación completa"
 
-#: access/transam/xlog.c:6185
+#: access/transam/xlog.c:6587
 #, c-format
 msgid "shutting down"
 msgstr "apagando"
 
 #. translator: the placeholders show checkpoint options
-#: access/transam/xlog.c:6224
+#: access/transam/xlog.c:6626
 #, 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:6638
 #, 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:6703
 #, 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 ""
 
-#: access/transam/xlog.c:6324
+#: access/transam/xlog.c:6726
 #, 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 ""
 
-#: access/transam/xlog.c:6762
+#: access/transam/xlog.c:7208
 #, 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:7793
 #, 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:7795
 #, 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:8057
 #, 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:8264
 #, 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:8322
 #, 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:8380
 #, 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:8409
 #, 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:8680
 #, 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:8685
 #, 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:8772 access/transam/xlog.c:9108
 #, 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
-#, c-format
-msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
+#: access/transam/xlog.c:8773 access/transam/xlogfuncs.c:248
+#, fuzzy, c-format
+#| msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
+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:8778
 #, 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
-#, c-format
-msgid "WAL generated with full_page_writes=off was replayed since last restartpoint"
+#: access/transam/xlog.c:8899
+#, fuzzy, c-format
+#| msgid "WAL generated with full_page_writes=off was replayed since last 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
-#, 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."
+#: access/transam/xlog.c:8901 access/transam/xlog.c:9197
+#, fuzzy, 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."
+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:8981 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:8988 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:9109
+#, 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:9147 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:9148 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
-#, c-format
-msgid "WAL generated with full_page_writes=off was replayed during online backup"
+#: access/transam/xlog.c:9195
+#, fuzzy, c-format
+#| msgid "WAL generated with full_page_writes=off was replayed during online backup"
+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:9311
 #, 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:9325
 #, 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
-#, 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."
+#: access/transam/xlog.c:9327
+#, fuzzy, 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."
+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:9334
 #, 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:9338
 #, 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:9377
 #, 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
-#, c-format
-msgid "restore_command returned a zero exit status, but stat() failed."
+#: access/transam/xlogarchive.c:236
+#, fuzzy, c-format
+#| msgid "restore_command returned a zero exit status, but stat() failed."
+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,333 +3034,305 @@ 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
+#: access/transam/xlogfuncs.c:215
 #, 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"
+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: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
+#: access/transam/xlogfuncs.c:486
 #, fuzzy, c-format
 #| msgid "invalid locale name \"%s\""
 msgid "invalid WAL file name \"%s\""
 msgstr "nombre de configuración regional «%s» no es 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 ""
+
+#: 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
-#, c-format
-msgid "recovery_prefetch is not supported on platforms that lack posix_fadvise()."
+#: access/transam/xlogprefetcher.c:1088
+#, fuzzy, c-format
+#| msgid "recovery_prefetch is not supported on platforms that lack 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
-#, c-format
-msgid "starting archive recovery"
-msgstr "comenzando proceso de recuperación"
+#: access/transam/xlogrecovery.c:617
+#, fuzzy, c-format
+#| msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
+msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on timeline ID %u"
+msgstr "rebobinando desde el último checkpoint común en %X/%X en el timeline %u"
 
-#: access/transam/xlogrecovery.c:653
-#, c-format
-msgid "could not find redo location referenced by checkpoint record"
+#: access/transam/xlogrecovery.c:649
+#, fuzzy, c-format
+#| msgid "could not find redo location referenced by checkpoint record"
+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 referida por el registro de punto de control"
 
 # Purposefully deviate from quoting convention here, since argument is a shell command.
-#: access/transam/xlogrecovery.c:654 access/transam/xlogrecovery.c:664
-#, c-format
+#: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662
+#, fuzzy, c-format
+#| msgid ""
+#| "If you are restoring from a backup, touch \"%s/recovery.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."
 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 ""
@@ -3078,611 +3340,689 @@ msgstr ""
 "Si no está restaurando de un respaldo, intente eliminar el archivo \"%s/backup_label\".\n"
 "Tenga cuidado: eliminar \"%s/backup_label\" resultará en un clúster corrupto si está restaurando de un respaldo."
 
-#: access/transam/xlogrecovery.c:663
-#, c-format
-msgid "could not locate required checkpoint record"
+#: access/transam/xlogrecovery.c:660
+#, fuzzy, c-format
+#| msgid "could not locate required checkpoint record"
+msgid "could not locate required checkpoint record at %X/%X"
 msgstr "no se pudo localizar el registro del punto de control requerido"
 
-#: 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
-#, c-format
-msgid "could not locate a valid checkpoint record"
+#: access/transam/xlogrecovery.c:770
+#, fuzzy, c-format
+#| msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
+msgid "restarting backup recovery with redo 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:795
+#, fuzzy, c-format
+#| msgid "could not locate a valid checkpoint record"
+msgid "could not locate a valid checkpoint record at %X/%X"
 msgstr "no se pudo localizar un registro de punto de control válido"
 
-#: access/transam/xlogrecovery.c:810
+#: 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 "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: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."
 
-#: 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"
 
-#: 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"
 
-#: 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
-#, c-format
-msgid "specified neither primary_conninfo nor restore_command"
+#: access/transam/xlogrecovery.c:1122
+#, fuzzy, c-format
+#| msgid "specified neither primary_conninfo nor 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
-#, c-format
-msgid "must specify restore_command when standby mode is not enabled"
+#: access/transam/xlogrecovery.c:1131
+#, fuzzy, c-format
+#| msgid "must specify restore_command when standby mode is not enabled"
+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
+#, fuzzy, c-format
+#| msgid "\"%s\" is not a valid data directory"
+msgid "this is an incremental backup, not a data directory"
+msgstr "«%s» no es un directorio de datos válido"
+
+#: access/transam/xlogrecovery.c:1331
+#, fuzzy, c-format
+#| msgid "\"%s\" is not a valid data directory"
+msgid "Use pg_combinebackup to reconstruct a valid data directory."
+msgstr "«%s» no es un directorio de datos válido"
+
+#: access/transam/xlogrecovery.c:1717
+#, fuzzy, c-format
+#| msgid "unexpected directory entry \"%s\" found in %s"
+msgid "unexpected record type found at redo point %X/%X"
+msgstr "entrada de directorio inesperada «%s» fue encontrada en %s"
+
+#: 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
-#, c-format
-msgid "Remove those directories, or set allow_in_place_tablespaces to ON transiently to let recovery complete."
+#: access/transam/xlogrecovery.c:2165
+#, fuzzy, c-format
+#| msgid "Remove those directories, or set allow_in_place_tablespaces to ON transiently to let recovery complete."
+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 ""
+
+#: 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"
 
-#: 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"
 
-#: 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:4678
 #, 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
+#: access/transam/xlogrecovery.c:3205
 #, fuzzy, c-format
 #| msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
 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"
 
-#: access/transam/xlogrecovery.c:3329
+#: access/transam/xlogrecovery.c:3413
 #, fuzzy, c-format
 #| msgid "could not read from file %s, offset %d: %m"
 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"
 
-#: access/transam/xlogrecovery.c:3336
+#: access/transam/xlogrecovery.c:3420
 #, fuzzy, c-format
 #| msgid "could not read from file %s, offset %d: read %d of %d"
 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"
 
-#: access/transam/xlogrecovery.c:3976
+#: access/transam/xlogrecovery.c:4060
 #, fuzzy, c-format
 #| msgid "invalid checkpoint record"
 msgid "invalid checkpoint location"
 msgstr "el registro del punto de control no es válido"
 
-#: access/transam/xlogrecovery.c:3986
+#: access/transam/xlogrecovery.c:4070
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "el registro del punto de control no es válido"
 
-#: access/transam/xlogrecovery.c:3992
+#: access/transam/xlogrecovery.c:4076
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "el ID de gestor de recursos en el registro del punto de control no es válido"
 
-#: access/transam/xlogrecovery.c:4000
+#: access/transam/xlogrecovery.c:4084
 #, c-format
 msgid "invalid xl_info in checkpoint record"
 msgstr "xl_info en el registro del punto de control no es válido"
 
-#: access/transam/xlogrecovery.c:4006
+#: access/transam/xlogrecovery.c:4090
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "la longitud del registro de punto de control no es válida"
 
-#: access/transam/xlogrecovery.c:4060
+#: access/transam/xlogrecovery.c:4144
 #, 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:4158
 #, 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:4177
 #, c-format
 msgid "new target timeline is %u"
 msgstr "el nuevo timeline destino es %u"
 
-#: access/transam/xlogrecovery.c:4296
+#: access/transam/xlogrecovery.c:4380
 #, 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:4440
 #, c-format
 msgid "received promote request"
 msgstr "se recibió petición de promoción"
 
-#: access/transam/xlogrecovery.c:4585
+#: access/transam/xlogrecovery.c:4669
 #, 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:4670 access/transam/xlogrecovery.c:4697
+#: access/transam/xlogrecovery.c:4727
 #, 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:4679
 #, 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:4680
 #, 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:4691
 #, 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:4701
 #, 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:4725
 #, 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:4731
 #, 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:4773
 #, c-format
 msgid "multiple recovery targets specified"
 msgstr "múltiples valores de destino de recuperación especificados"
 
-#: access/transam/xlogrecovery.c:4690
-#, c-format
-msgid "At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid may be set."
+#: access/transam/xlogrecovery.c:4774
+#, fuzzy, c-format
+#| msgid "At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid may be set."
+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:4785
 #, 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:4937 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
-#, c-format
-msgid "recovery_target_timeline is not a valid number."
+#: access/transam/xlogrecovery.c:4982
+#, fuzzy, c-format
+#| msgid "recovery_target_timeline is not a valid number."
+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
+#: access/transam/xlogutils.c:1032
 #, fuzzy, c-format
 #| msgid "could not read from file %s, offset %d: %m"
 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"
 
-#: access/transam/xlogutils.c:1046
+#: access/transam/xlogutils.c:1039
 #, fuzzy, c-format
 #| msgid "could not read from file %s, offset %d: read %d of %d"
 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"
 
-#: 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:3094
 #, 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
+#: backup/basebackup.c:761
 #, fuzzy, c-format
 #| msgid "unrecognized object type \"%s\""
 msgid "unrecognized checkpoint type: \"%s\""
 msgstr "tipo de objeto «%s» no reconocido"
 
-#: backup/basebackup.c:785
+#: backup/basebackup.c:793
+#, fuzzy, c-format
+#| msgid "%s cannot be specified unless locale provider \"%s\" is chosen"
+msgid "incremental backups cannot be taken unless WAL summarization is enabled"
+msgstr "%s no puede especificarse a menos que el proveedor de locale «%s» sea escogido"
+
+#: 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
+#: backup/basebackup.c:921
 #, fuzzy, c-format
 #| msgid "unrecognized column option \"%s\""
 msgid "unrecognized base backup option: \"%s\""
 msgstr "opción de columna «%s» no reconocida"
 
-#: 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
+#: backup/basebackup.c:941
 #, fuzzy, c-format
 #| msgid "--no-slot cannot be used with slot name"
 msgid "target detail cannot be used without target"
 msgstr "no se puede usar --no-slot junto con nombre de slot"
 
-#: backup/basebackup.c:926 backup/basebackup_target.c:218
+#: backup/basebackup.c:950 backup/basebackup_target.c:218
 #, fuzzy, c-format
 #| msgid "operator class \"%s\" does not accept data type %s"
 msgid "target \"%s\" does not accept a target detail"
 msgstr "la clase de operadores «%s» no acepta el tipo de datos %s"
 
-#: backup/basebackup.c:937
+#: backup/basebackup.c:961
 #, fuzzy, c-format
 #| msgid "%s cannot be specified unless locale provider \"%s\" is chosen"
 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"
 
-#: 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 ""
+
+#: 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
+#, fuzzy, c-format
+#| msgid "could not read file \"%s\": read %d of %zu"
+msgid "could not read file \"%s\": read %zd of %zu"
+msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu"
+
 #: backup/basebackup_gzip.c:67
 #, fuzzy, c-format
 #| msgid "Bonjour is not supported by this build"
@@ -3694,56 +4034,124 @@ msgstr "Bonjour no está soportado en este servidor"
 msgid "could not initialize compression library"
 msgstr "no se pudo inicializar la biblioteca de compresión"
 
+#: backup/basebackup_incremental.c:294
+#, fuzzy, c-format
+#| msgid "configuration file \"%s\" contains no entries"
+msgid "manifest contains no required WAL ranges"
+msgstr "el archivo de configuración «%s» no contiene líneas"
+
+#: backup/basebackup_incremental.c:349
+#, fuzzy, c-format
+#| msgid "requested timeline %u is not in this server's history"
+msgid "timeline %u found in manifest, but not in this server's history"
+msgstr "el timeline %u solicitado no está en la historia de este servidor"
+
+#: backup/basebackup_incremental.c:414
+#, fuzzy, c-format
+#| msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
+msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X"
+msgstr "el servidor paró la transmisión del timeline %u en %X/%X, pero reportó que el siguiente timeline %u comienza en %X/%X"
+
+#: backup/basebackup_incremental.c:424
+#, fuzzy, c-format
+#| msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
+msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X"
+msgstr "el servidor paró la transmisión del timeline %u en %X/%X, pero reportó que el siguiente timeline %u comienza 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 ""
+
+#: 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 ""
+
+#: backup/basebackup_incremental.c:446
+#, fuzzy, c-format
+#| msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
+msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X"
+msgstr "el servidor paró la transmisión del timeline %u en %X/%X, pero reportó que el siguiente timeline %u comienza 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 ""
+
+#: 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 ""
+
+#: backup/basebackup_incremental.c:538
+#, c-format
+msgid "The first unsummarized LSN in this range is %X/%X."
+msgstr ""
+
+#: backup/basebackup_incremental.c:938
+#, fuzzy, c-format
+#| msgid "server does not support server-side compression"
+msgid "backup manifest version 1 does not support incremental backup"
+msgstr "el servidor no soporta compresión del lado del servidor"
+
+#: backup/basebackup_incremental.c:956
+#, fuzzy, c-format
+#| msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu"
+msgid "manifest system identifier is %llu, but 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"
+
 #: backup/basebackup_lz4.c:67
 #, fuzzy, c-format
 #| msgid "Bonjour is not supported by this build"
 msgid "lz4 compression is not supported by this build"
 msgstr "Bonjour no está soportado en este servidor"
 
-#: backup/basebackup_server.c:75
+#: backup/basebackup_server.c:73
 #, fuzzy, c-format
 #| msgid "permission denied to create role"
 msgid "permission denied to create backup stored on server"
 msgstr "se ha denegado el permiso para crear el rol"
 
-#: 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 ""
 
-#: backup/basebackup_server.c:91
+#: backup/basebackup_server.c:89
 #, fuzzy, c-format
 #| msgid "relative path not allowed for COPY to file"
 msgid "relative path not allowed for backup stored on server"
 msgstr "no se permiten rutas relativas para COPY hacia un archivo"
 
-#: 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:1177
 #, 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
+#: backup/basebackup_server.c:179 backup/basebackup_server.c:272
+#: backup/walsummary.c:309
 #, fuzzy, c-format
 #| msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
 msgid "could not write file \"%s\": wrote only %d of %d bytes at offset %u"
@@ -3773,715 +4181,730 @@ msgid "could not set compression worker count to %d: %s"
 msgstr "no se pudo definir la cantidad de procesos ayudantes de compresión a %d: %s"
 
 #: 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"
+#, fuzzy, c-format
+#| msgid "could not enable user right \"%s\""
+msgid "could not enable long-distance mode: %s"
+msgstr "no se pudo habilitar el privilegio de usuario «%s»"
+
+#: backup/walsummaryfuncs.c:95
+#, fuzzy, c-format
+#| msgid "invalid timeline %u"
+msgid "invalid timeline %lld"
+msgstr "timeline %u no válido"
 
-#: bootstrap/bootstrap.c:243 postmaster/postmaster.c:721 tcop/postgres.c:3819
+#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3858
 #, 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:3863
 #, 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:210
 #, 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:332
 #, 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:337
 #, c-format
 msgid "no privileges were granted for \"%s\""
 msgstr "no se otorgaron privilegios para «%s»"
 
-#: catalog/aclchk.c:336
+#: catalog/aclchk.c:345
 #, 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:350
 #, 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:361
 #, 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:366
 #, 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:374
 #, 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:379
 #, 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:411
 #, 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:479 catalog/aclchk.c:1054
 #, 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:483 catalog/aclchk.c:1058
 #, 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:487
 #, 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:491
 #, 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:495 catalog/aclchk.c:1062
 #, 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:499
 #, 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:503
 #, 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:507 catalog/aclchk.c:1078
 #, 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:511 catalog/aclchk.c:1066
 #, 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:515 catalog/aclchk.c:1070
 #, 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:519
 #, 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:523 catalog/aclchk.c:1074
 #, 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:527
 #, 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:531
 #, 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:535
 #, 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:574
 #, 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:737 catalog/aclchk.c:3624 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:1111
 #, 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
+#: catalog/aclchk.c:1147
 #, fuzzy, c-format
 #| msgid "permission denied to create role"
 msgid "permission denied to change default privileges"
 msgstr "se ha denegado el permiso para crear el rol"
 
-#: catalog/aclchk.c:1256
+#: catalog/aclchk.c:1265
 #, 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:1616 catalog/catalog.c:650 catalog/objectaddress.c:1523
+#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:913
+#: commands/sequence.c:1652 commands/tablecmds.c:7561 commands/tablecmds.c:7715
+#: commands/tablecmds.c:7765 commands/tablecmds.c:7839
+#: commands/tablecmds.c:7909 commands/tablecmds.c:8039
+#: commands/tablecmds.c:8168 commands/tablecmds.c:8262
+#: commands/tablecmds.c:8363 commands/tablecmds.c:8490
+#: commands/tablecmds.c:8520 commands/tablecmds.c:8662
+#: commands/tablecmds.c:8755 commands/tablecmds.c:8889
+#: commands/tablecmds.c:9001 commands/tablecmds.c:12721
+#: commands/tablecmds.c:12902 commands/tablecmds.c:13063
+#: commands/tablecmds.c:14252 commands/tablecmds.c:16878 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:3538
+#: parser/parse_utilcmd.c:3578 parser/parse_utilcmd.c:3620 utils/adt/acl.c:2923
+#: utils/adt/ruleutils.c:2811
 #, 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:1861
 #, 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:1868 commands/tablecmds.c:14409 commands/tablecmds.c:17787
 #, 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:1876 catalog/objectaddress.c:1363 commands/tablecmds.c:263
+#: commands/tablecmds.c:17751 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:1914
 #, 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:1931
 #, 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:2093
 #, 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:2106
 #, 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:2296
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "el lenguaje «%s» no es confiable (trusted)"
 
-#: catalog/aclchk.c:2277
+#: catalog/aclchk.c:2298
 #, 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:2449
 #, 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:2450
 #, 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:2454
+#, fuzzy, c-format
+#| msgid "cannot set privileges of array types"
+msgid "cannot set privileges of multirange types"
+msgstr "no se puede definir privilegios para tipos de array"
+
+#: catalog/aclchk.c:2455
+#, fuzzy, c-format
+#| msgid "Set the privileges of the element type instead."
+msgid "Set the privileges of the range type instead."
+msgstr "Defina los privilegios del tipo elemento en su lugar."
+
+#: catalog/aclchk.c:2462 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:2648
 #, c-format
 msgid "unrecognized privilege type \"%s\""
 msgstr "tipo de privilegio «%s» no reconocido"
 
-#: catalog/aclchk.c:2688
+#: catalog/aclchk.c:2715
 #, 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:2718
 #, c-format
 msgid "permission denied for collation %s"
 msgstr "permiso denegado al ordenamiento (collation) %s"
 
-#: catalog/aclchk.c:2694
+#: catalog/aclchk.c:2721
 #, c-format
 msgid "permission denied for column %s"
 msgstr "permiso denegado a la columna %s"
 
-#: catalog/aclchk.c:2697
+#: catalog/aclchk.c:2724
 #, c-format
 msgid "permission denied for conversion %s"
 msgstr "permiso denegado a la conversión %s"
 
-#: catalog/aclchk.c:2700
+#: catalog/aclchk.c:2727
 #, c-format
 msgid "permission denied for database %s"
 msgstr "permiso denegado a la base de datos %s"
 
-#: catalog/aclchk.c:2703
+#: catalog/aclchk.c:2730
 #, c-format
 msgid "permission denied for domain %s"
 msgstr "permiso denegado al dominio %s"
 
-#: catalog/aclchk.c:2706
+#: catalog/aclchk.c:2733
 #, c-format
 msgid "permission denied for event trigger %s"
 msgstr "permiso denegado al disparador por eventos %s"
 
-#: catalog/aclchk.c:2709
+#: catalog/aclchk.c:2736
 #, c-format
 msgid "permission denied for extension %s"
 msgstr "permiso denegado a la extensión %s"
 
-#: catalog/aclchk.c:2712
+#: catalog/aclchk.c:2739
 #, 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:2742
 #, c-format
 msgid "permission denied for foreign server %s"
 msgstr "permiso denegado al servidor foráneo %s"
 
-#: catalog/aclchk.c:2718
+#: catalog/aclchk.c:2745
 #, 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:2748
 #, c-format
 msgid "permission denied for function %s"
 msgstr "permiso denegado a la función %s"
 
-#: catalog/aclchk.c:2724
+#: catalog/aclchk.c:2751
 #, c-format
 msgid "permission denied for index %s"
 msgstr "permiso denegado al índice %s"
 
-#: catalog/aclchk.c:2727
+#: catalog/aclchk.c:2754
 #, c-format
 msgid "permission denied for language %s"
 msgstr "permiso denegado al lenguaje %s"
 
-#: catalog/aclchk.c:2730
+#: catalog/aclchk.c:2757
 #, c-format
 msgid "permission denied for large object %s"
 msgstr "permiso denegado al objeto grande %s"
 
-#: catalog/aclchk.c:2733
+#: catalog/aclchk.c:2760
 #, c-format
 msgid "permission denied for materialized view %s"
 msgstr "permiso denegado a la vista materializada %s"
 
-#: catalog/aclchk.c:2736
+#: catalog/aclchk.c:2763
 #, 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:2766
 #, c-format
 msgid "permission denied for operator %s"
 msgstr "permiso denegado al operador %s"
 
-#: catalog/aclchk.c:2742
+#: catalog/aclchk.c:2769
 #, 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:2772
 #, c-format
 msgid "permission denied for parameter %s"
 msgstr "permiso denegado al parámetro %s"
 
-#: catalog/aclchk.c:2748
+#: catalog/aclchk.c:2775
 #, c-format
 msgid "permission denied for policy %s"
 msgstr "permiso denegado a la política %s"
 
-#: catalog/aclchk.c:2751
+#: catalog/aclchk.c:2778
 #, c-format
 msgid "permission denied for procedure %s"
 msgstr "permiso denegado al procedimiento %s"
 
-#: catalog/aclchk.c:2754
+#: catalog/aclchk.c:2781
 #, c-format
 msgid "permission denied for publication %s"
 msgstr "permiso denegado a la publicación %s"
 
-#: catalog/aclchk.c:2757
+#: catalog/aclchk.c:2784
 #, c-format
 msgid "permission denied for routine %s"
 msgstr "permiso denegado a la rutina %s"
 
-#: catalog/aclchk.c:2760
+#: catalog/aclchk.c:2787
 #, 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:2790 commands/sequence.c:654 commands/sequence.c:880
+#: commands/sequence.c:922 commands/sequence.c:963 commands/sequence.c:1750
+#: commands/sequence.c:1796
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "permiso denegado a la secuencia %s"
 
-#: catalog/aclchk.c:2766
+#: catalog/aclchk.c:2793
 #, 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:2796
 #, c-format
 msgid "permission denied for subscription %s"
 msgstr "permiso denegado a la suscripción %s"
 
-#: catalog/aclchk.c:2772
+#: catalog/aclchk.c:2799
 #, c-format
 msgid "permission denied for table %s"
 msgstr "permiso denegado a la tabla %s"
 
-#: catalog/aclchk.c:2775
+#: catalog/aclchk.c:2802
 #, c-format
 msgid "permission denied for tablespace %s"
 msgstr "permiso denegado al tablespace %s"
 
-#: catalog/aclchk.c:2778
+#: catalog/aclchk.c:2805
 #, 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:2808
 #, 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:2811
 #, c-format
 msgid "permission denied for type %s"
 msgstr "permiso denegado al tipo %s"
 
-#: catalog/aclchk.c:2787
+#: catalog/aclchk.c:2814
 #, c-format
 msgid "permission denied for view %s"
 msgstr "permiso denegado a la vista %s"
 
-#: catalog/aclchk.c:2823
+#: catalog/aclchk.c:2850
 #, 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:2853
 #, 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:2856
 #, 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:2859
 #, 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:2862
 #, c-format
 msgid "must be owner of domain %s"
 msgstr "debe ser dueño del dominio %s"
 
-#: catalog/aclchk.c:2838
+#: catalog/aclchk.c:2865
 #, c-format
 msgid "must be owner of event trigger %s"
 msgstr "debe ser dueño del disparador por eventos %s"
 
-#: catalog/aclchk.c:2841
+#: catalog/aclchk.c:2868
 #, 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:2871
 #, 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:2874
 #, 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:2877
 #, 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:2880
 #, 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:2883
 #, c-format
 msgid "must be owner of index %s"
 msgstr "debe ser dueño del índice %s"
 
-#: catalog/aclchk.c:2859
+#: catalog/aclchk.c:2886
 #, c-format
 msgid "must be owner of language %s"
 msgstr "debe ser dueño del lenguaje %s"
 
-#: catalog/aclchk.c:2862
+#: catalog/aclchk.c:2889
 #, 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:2892
 #, 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:2895
 #, 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:2898
 #, c-format
 msgid "must be owner of operator %s"
 msgstr "debe ser dueño del operador %s"
 
-#: catalog/aclchk.c:2874
+#: catalog/aclchk.c:2901
 #, 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:2904
 #, c-format
 msgid "must be owner of procedure %s"
 msgstr "debe ser dueño del procedimiento %s"
 
-#: catalog/aclchk.c:2880
+#: catalog/aclchk.c:2907
 #, 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:2910
 #, 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:2913
 #, 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:2916
 #, 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:2919
 #, 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:2922
 #, c-format
 msgid "must be owner of type %s"
 msgstr "debe ser dueño del tipo %s"
 
-#: catalog/aclchk.c:2898
+#: catalog/aclchk.c:2925
 #, 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:2928
 #, c-format
 msgid "must be owner of schema %s"
 msgstr "debe ser dueño del esquema %s"
 
-#: catalog/aclchk.c:2904
+#: catalog/aclchk.c:2931
 #, 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:2934
 #, c-format
 msgid "must be owner of tablespace %s"
 msgstr "debe ser dueño del tablespace %s"
 
-#: catalog/aclchk.c:2910
+#: catalog/aclchk.c:2937
 #, 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:2940
 #, 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:2954
 #, 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:3000
 #, 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
+#: catalog/aclchk.c:3157 catalog/aclchk.c:4165 catalog/aclchk.c:4196
 #, fuzzy, c-format
 #| msgid "schema with OID %u does not exist"
 msgid "%s with OID %u does not exist"
 msgstr "no existe el esquema con OID %u"
 
-#: catalog/aclchk.c:3192 catalog/aclchk.c:3211
+#: catalog/aclchk.c:3240 catalog/aclchk.c:3259
 #, 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:3297 catalog/aclchk.c:3360 catalog/aclchk.c:3999
 #, 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:3545
 #, 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:3718 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:3792 catalog/aclchk.c:3819 catalog/aclchk.c:3848
+#: 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:468
 #, 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:470
 #, 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:495
 #, 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:628 catalog/catalog.c:695
 #, c-format
 msgid "must be superuser to call %s()"
 msgstr "debe ser superusuario para invocar %s()"
 
-#: catalog/catalog.c:618
+#: catalog/catalog.c:637
 #, 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:642 parser/parse_utilcmd.c:2245
 #, 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:659
 #, 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:666
 #, 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 +4919,723 @@ 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:1447
+#: commands/tablecmds.c:15001 commands/tablespace.c:460 commands/user.c:1302
+#: commands/vacuum.c:211 commands/view.c:441 executor/execExprInterp.c:4639
+#: executor/execExprInterp.c:4645 libpq/auth.c:324
+#: replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1011
+#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1427 utils/misc/guc.c:3169
+#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6781
+#: utils/misc/guc.c:6815 utils/misc/guc.c:6849 utils/misc/guc.c:6892
+#: utils/misc/guc.c:6934
 #, 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:2483 commands/tablecmds.c:2905
+#: commands/tablecmds.c:7183
 #, 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:7452
 #, 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:4154 commands/tablecmds.c:20484
+#: commands/tablecmds.c:20746
 #, 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
+#: catalog/heap.c:1218
 #, fuzzy, c-format
 #| msgid "pg_enum OID value not set when in binary upgrade mode"
 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"
 
-#: 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
+#: catalog/heap.c:1239
 #, fuzzy, c-format
 #| msgid "pg_enum OID value not set when in binary upgrade mode"
 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"
 
-#: catalog/heap.c:2119
+#: catalog/heap.c:2128
 #, 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:2400
 #, 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:2572 catalog/index.c:913 catalog/pg_constraint.c:724
+#: commands/tablecmds.c:9376
 #, 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:2579
 #, 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:2590
 #, 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:2600
 #, 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:2605
 #, 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
+#: catalog/heap.c:2631 catalog/pg_constraint.c:853 commands/tablecmds.c:3062
+#: commands/tablecmds.c:3365 commands/tablecmds.c:7109
+#: commands/tablecmds.c:15819 commands/tablecmds.c:15950
 #, fuzzy, c-format
 #| msgid "too many command-line arguments"
 msgid "too many inheritance parents"
 msgstr "demasiados argumentos de línea de órdenes"
 
-#: catalog/heap.c:2706
+#: catalog/heap.c:2715
 #, 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:2717
 #, 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:2723
 #, 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:2724
 #, 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:2779
 #, 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:2807 rewrite/rewriteHandler.c:1281
 #, 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:2812 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:1286
 #, 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:2859
 #, 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:3165
 #, 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:3166
 #, 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:3171
 #, 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:3172
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "La tabla «%s» hace referencia a «%s»."
 
-#: catalog/heap.c:3163
+#: catalog/heap.c:3174
 #, 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:2151
 #, 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
+#: catalog/index.c:233
 #, fuzzy, c-format
 #| msgid "primary keys cannot be expressions"
 msgid "primary keys cannot use NULLS NOT DISTINCT indexes"
 msgstr "las llaves primarias no pueden ser expresiones"
 
-#: 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
-#: parser/parse_utilcmd.c:209
+#: catalog/index.c:891 commands/createas.c:416 commands/sequence.c:159
+#: parser/parse_utilcmd.c:212
 #, 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
+#: catalog/index.c:951 utils/cache/relcache.c:3790
 #, fuzzy, c-format
 #| msgid "pg_enum OID value not set when in binary upgrade mode"
 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"
 
-#: 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:3670
 #, 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:3681 commands/indexcmds.c:3652
 #, 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:3697 commands/indexcmds.c:3530 commands/indexcmds.c:3676
+#: commands/tablecmds.c:3569
 #, 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:3834
 #, c-format
 msgid "index \"%s\" was reindexed"
 msgstr "el índice «%s» fue reindexado"
 
-#: catalog/index.c:3955
+#: catalog/index.c:4000
 #, 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:447 catalog/namespace.c:651 catalog/namespace.c:743
+#: commands/trigger.c:5731
 #, 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:504
 #, 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:585
 #, c-format
 msgid "could not obtain lock on relation \"%s.%s\""
 msgstr "no se pudo bloquear un candado en la relación «%s.%s»"
 
-#: catalog/namespace.c:403 commands/lockcmds.c:145 commands/lockcmds.c:225
+#: catalog/namespace.c:590 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»"
 
-#: catalog/namespace.c:431 parser/parse_relation.c:1429
+#: catalog/namespace.c:618 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:623 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:689 catalog/namespace.c:3507 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:841 catalog/namespace.c:854
 #, 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:845
 #, 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:860
 #, 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:2604
 #, 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:2746
 #, 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:2891 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:3037
 #, 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:3182 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:3314 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:3320 parser/parse_expr.c:875 parser/parse_target.c:1266
+#: gram.y:19230 gram.y:19270
 #, 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:3450
 #, 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:3456
 #, 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:3529 commands/schemacmds.c:264 commands/schemacmds.c:344
+#: commands/tablecmds.c:1392 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:3560
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "el nombre de relación no es válido (demasiados puntos): %s"
 
-#: catalog/namespace.c:3693 utils/adt/regproc.c:1056
+#: catalog/namespace.c:4001 utils/adt/regproc.c:1056
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" does not exist"
 msgstr "no existe el ordenamiento (collation) «%s» para la codificación «%s»"
 
-#: catalog/namespace.c:3748
+#: catalog/namespace.c:4056
 #, c-format
 msgid "conversion \"%s\" does not exist"
 msgstr "no existe la conversión «%s»"
 
-#: catalog/namespace.c:4012
+#: catalog/namespace.c:4397
 #, c-format
 msgid "permission denied to create temporary tables in database \"%s\""
 msgstr "se ha denegado el permiso para crear tablas temporales en la base de datos «%s»"
 
-#: catalog/namespace.c:4028
+#: catalog/namespace.c:4413
 #, c-format
 msgid "cannot create temporary tables during recovery"
 msgstr "no se pueden crear tablas temporales durante la recuperación"
 
-#: catalog/namespace.c:4034
+#: catalog/namespace.c:4419
 #, c-format
 msgid "cannot create temporary tables during a parallel operation"
 msgstr "no se pueden crear tablas temporales durante una operación paralela"
 
-#: catalog/objectaddress.c:1409 commands/policy.c:96 commands/policy.c:376
-#: commands/tablecmds.c:248 commands/tablecmds.c:290 commands/tablecmds.c:2206
-#: commands/tablecmds.c:12357
+#: catalog/objectaddress.c:1371 commands/policy.c:93 commands/policy.c:373
+#: commands/tablecmds.c:257 commands/tablecmds.c:299 commands/tablecmds.c:2315
+#: commands/tablecmds.c:12838 parser/parse_utilcmd.c:3249
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "«%s» no es una tabla"
 
-#: catalog/objectaddress.c:1416 commands/tablecmds.c:260
-#: commands/tablecmds.c:17169 commands/view.c:119
+#: catalog/objectaddress.c:1378 commands/tablecmds.c:269
+#: commands/tablecmds.c:17756 commands/view.c:114
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "«%s» no es una vista"
 
-#: catalog/objectaddress.c:1423 commands/matview.c:187 commands/tablecmds.c:266
-#: commands/tablecmds.c:17174
+#: catalog/objectaddress.c:1385 commands/matview.c:199 commands/tablecmds.c:275
+#: commands/tablecmds.c:17761
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "«%s» no es una vista materializada"
 
-#: catalog/objectaddress.c:1430 commands/tablecmds.c:284
-#: commands/tablecmds.c:17179
+#: catalog/objectaddress.c:1392 commands/tablecmds.c:293
+#: commands/tablecmds.c:17766
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "«%s» no es una tabla foránea"
 
-#: catalog/objectaddress.c:1471
+#: catalog/objectaddress.c:1433
 #, c-format
 msgid "must specify relation and object name"
 msgstr "debe especificar nombre de relación y nombre de objeto"
 
-#: catalog/objectaddress.c:1547 catalog/objectaddress.c:1600
+#: catalog/objectaddress.c:1509 catalog/objectaddress.c:1562
 #, c-format
 msgid "column name must be qualified"
 msgstr "el nombre de columna debe ser calificado"
 
-#: catalog/objectaddress.c:1619
+#: catalog/objectaddress.c:1581
 #, c-format
 msgid "default value for column \"%s\" of relation \"%s\" does not exist"
 msgstr "no existe el valor por omisión para la columna «%s» de la relación «%s»"
 
-#: catalog/objectaddress.c:1656 commands/functioncmds.c:137
-#: commands/tablecmds.c:276 commands/typecmds.c:274 commands/typecmds.c:3689
+#: catalog/objectaddress.c:1618 commands/functioncmds.c:132
+#: commands/tablecmds.c:285 commands/typecmds.c:278 commands/typecmds.c:3843
 #: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:801
-#: utils/adt/acl.c:4449
+#: utils/adt/acl.c:4560
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "no existe el tipo «%s»"
 
-#: catalog/objectaddress.c:1775
+#: catalog/objectaddress.c:1737
 #, c-format
 msgid "operator %d (%s, %s) of %s does not exist"
 msgstr "no existe el operador %d (%s, %s) de %s"
 
-#: catalog/objectaddress.c:1806
+#: catalog/objectaddress.c:1768
 #, c-format
 msgid "function %d (%s, %s) of %s does not exist"
 msgstr "no existe la función %d (%s, %s) de %s"
 
-#: catalog/objectaddress.c:1857 catalog/objectaddress.c:1883
+#: catalog/objectaddress.c:1819 catalog/objectaddress.c:1845
 #, c-format
 msgid "user mapping for user \"%s\" on server \"%s\" does not exist"
 msgstr "no existe el mapeo para el usuario «%s» en el servidor «%s»"
 
-#: catalog/objectaddress.c:1872 commands/foreigncmds.c:430
-#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:700
+#: catalog/objectaddress.c:1834 commands/foreigncmds.c:430
+#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:703
 #, c-format
 msgid "server \"%s\" does not exist"
 msgstr "no existe el servidor «%s»"
 
-#: catalog/objectaddress.c:1939
+#: catalog/objectaddress.c:1901
 #, c-format
 msgid "publication relation \"%s\" in publication \"%s\" does not exist"
 msgstr "no existe la relación «%s» en la publicación «%s»"
 
-#: catalog/objectaddress.c:1986
+#: catalog/objectaddress.c:1948
 #, fuzzy, c-format
 #| msgid "publication relation \"%s\" in publication \"%s\" does not exist"
 msgid "publication schema \"%s\" in publication \"%s\" does not exist"
 msgstr "no existe la relación «%s» en la publicación «%s»"
 
-#: catalog/objectaddress.c:2044
+#: catalog/objectaddress.c:2006
 #, c-format
 msgid "unrecognized default ACL object type \"%c\""
 msgstr "tipo de objeto para ACL por omisión «%c» no reconocido"
 
-#: catalog/objectaddress.c:2045
+#: catalog/objectaddress.c:2007
 #, c-format
 msgid "Valid object types are \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"."
 msgstr "Tipos válidos de objeto son «%c», «%c», «%c», «%c» y «%c»."
 
-#: catalog/objectaddress.c:2096
+#: catalog/objectaddress.c:2058
 #, c-format
 msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist"
 msgstr "no existe el ACL por omisión para el usuario «%s» en el esquema «%s» en %s"
 
-#: catalog/objectaddress.c:2101
+#: catalog/objectaddress.c:2063
 #, c-format
 msgid "default ACL for user \"%s\" on %s does not exist"
 msgstr "no existe el ACL por omisión para el usuario «%s» en %s"
 
-#: catalog/objectaddress.c:2127 catalog/objectaddress.c:2184
-#: catalog/objectaddress.c:2239
+#: catalog/objectaddress.c:2089 catalog/objectaddress.c:2146
+#: catalog/objectaddress.c:2201
 #, c-format
 msgid "name or argument lists may not contain nulls"
 msgstr "las listas de nombres o argumentos no pueden contener nulls"
 
-#: catalog/objectaddress.c:2161
+#: catalog/objectaddress.c:2123
 #, c-format
 msgid "unsupported object type \"%s\""
 msgstr "tipo de objeto «%s» no soportado"
 
-#: catalog/objectaddress.c:2180 catalog/objectaddress.c:2197
-#: catalog/objectaddress.c:2262 catalog/objectaddress.c:2346
+#: catalog/objectaddress.c:2142 catalog/objectaddress.c:2159
+#: catalog/objectaddress.c:2224 catalog/objectaddress.c:2308
 #, c-format
 msgid "name list length must be exactly %d"
 msgstr "el largo de la lista de nombres debe ser exactamente %d"
 
-#: catalog/objectaddress.c:2201
+#: catalog/objectaddress.c:2163
 #, c-format
 msgid "large object OID may not be null"
 msgstr "el OID de objeto grande no puede ser null"
 
-#: catalog/objectaddress.c:2210 catalog/objectaddress.c:2280
-#: catalog/objectaddress.c:2287
+#: catalog/objectaddress.c:2172 catalog/objectaddress.c:2242
+#: catalog/objectaddress.c:2249
 #, c-format
 msgid "name list length must be at least %d"
 msgstr "el largo de la lista de nombres debe ser al menos %d"
 
-#: catalog/objectaddress.c:2273 catalog/objectaddress.c:2294
+#: catalog/objectaddress.c:2235 catalog/objectaddress.c:2256
 #, c-format
 msgid "argument list length must be exactly %d"
 msgstr "el largo de la lista de argumentos debe ser exactamente %d"
 
-#: catalog/objectaddress.c:2508 libpq/be-fsstubs.c:329
+#: catalog/objectaddress.c:2470 libpq/be-fsstubs.c:329
 #, c-format
 msgid "must be owner of large object %u"
 msgstr "debe ser dueño del objeto grande %u"
 
-#: catalog/objectaddress.c:2523 commands/functioncmds.c:1561
+#: catalog/objectaddress.c:2485 commands/functioncmds.c:1560
 #, c-format
 msgid "must be owner of type %s or type %s"
 msgstr "debe ser dueño del tipo %s o el tipo %s"
 
-#: catalog/objectaddress.c:2550 catalog/objectaddress.c:2559
-#: catalog/objectaddress.c:2565
+#: catalog/objectaddress.c:2512 catalog/objectaddress.c:2521
+#: catalog/objectaddress.c:2527
 #, c-format
 msgid "permission denied"
 msgstr "permiso denegado"
 
-#: catalog/objectaddress.c:2551 catalog/objectaddress.c:2560
+#: catalog/objectaddress.c:2513 catalog/objectaddress.c:2522
 #, c-format
 msgid "The current user must have the %s attribute."
 msgstr ""
 
-#: catalog/objectaddress.c:2566
-#, c-format
+#: catalog/objectaddress.c:2528
+#, fuzzy, c-format
+#| msgid "cannot use the \"%s\" option with the \"%s\" option"
 msgid "The current user must have the %s option on role \"%s\"."
-msgstr ""
+msgstr "no se puede usar la opción «%s» junto con la opción «%s»"
 
-#: catalog/objectaddress.c:2580
+#: catalog/objectaddress.c:2542
 #, c-format
 msgid "must be superuser"
 msgstr "debe ser superusuario"
 
-#: catalog/objectaddress.c:2649
+#: catalog/objectaddress.c:2611
 #, c-format
 msgid "unrecognized object type \"%s\""
 msgstr "tipo de objeto «%s» no reconocido"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:2941
+#: catalog/objectaddress.c:2903
 #, c-format
 msgid "column %s of %s"
 msgstr "columna %s de %s"
 
-#: catalog/objectaddress.c:2956
+#: catalog/objectaddress.c:2918
 #, c-format
 msgid "function %s"
 msgstr "función %s"
 
-#: catalog/objectaddress.c:2969
+#: catalog/objectaddress.c:2931
 #, c-format
 msgid "type %s"
 msgstr "tipo %s"
 
-#: catalog/objectaddress.c:3006
+#: catalog/objectaddress.c:2968
 #, c-format
 msgid "cast from %s to %s"
 msgstr "conversión de %s a %s"
 
-#: catalog/objectaddress.c:3039
+#: catalog/objectaddress.c:3001
 #, c-format
 msgid "collation %s"
 msgstr "ordenamiento (collation) %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3070
+#: catalog/objectaddress.c:3032
 #, c-format
 msgid "constraint %s on %s"
 msgstr "restricción «%s» en %s"
 
-#: catalog/objectaddress.c:3076
+#: catalog/objectaddress.c:3038
 #, c-format
 msgid "constraint %s"
 msgstr "restricción %s"
 
-#: catalog/objectaddress.c:3108
+#: catalog/objectaddress.c:3070
 #, c-format
 msgid "conversion %s"
 msgstr "conversión %s"
 
 #. translator: %s is typically "column %s of table %s"
-#: catalog/objectaddress.c:3130
+#: catalog/objectaddress.c:3092
 #, c-format
 msgid "default value for %s"
 msgstr "valor por omisión para %s"
 
-#: catalog/objectaddress.c:3141
+#: catalog/objectaddress.c:3103
 #, c-format
 msgid "language %s"
 msgstr "lenguaje %s"
 
-#: catalog/objectaddress.c:3149
+#: catalog/objectaddress.c:3111
 #, c-format
 msgid "large object %u"
 msgstr "objeto grande %u"
 
-#: catalog/objectaddress.c:3162
+#: catalog/objectaddress.c:3124
 #, c-format
 msgid "operator %s"
 msgstr "operador %s"
 
-#: catalog/objectaddress.c:3199
+#: catalog/objectaddress.c:3161
 #, c-format
 msgid "operator class %s for access method %s"
 msgstr "clase de operadores «%s» para el método de acceso «%s»"
 
-#: catalog/objectaddress.c:3227
+#: catalog/objectaddress.c:3189
 #, c-format
 msgid "access method %s"
 msgstr "método de acceso %s"
@@ -5218,7 +5644,7 @@ msgstr "método de acceso %s"
 #. first two %s's are data type names, the third %s is the
 #. description of the operator family, and the last %s is the
 #. textual form of the operator with arguments.
-#: catalog/objectaddress.c:3276
+#: catalog/objectaddress.c:3238
 #, c-format
 msgid "operator %d (%s, %s) of %s: %s"
 msgstr "operador %d (%s, %s) de %s: %s"
@@ -5227,237 +5653,237 @@ msgstr "operador %d (%s, %s) de %s: %s"
 #. are data type names, the third %s is the description of the
 #. operator family, and the last %s is the textual form of the
 #. function with arguments.
-#: catalog/objectaddress.c:3333
+#: catalog/objectaddress.c:3295
 #, c-format
 msgid "function %d (%s, %s) of %s: %s"
 msgstr "función %d (%s, %s) de %s: %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3385
+#: catalog/objectaddress.c:3347
 #, c-format
 msgid "rule %s on %s"
 msgstr "regla %s en %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3431
+#: catalog/objectaddress.c:3393
 #, c-format
 msgid "trigger %s on %s"
 msgstr "disparador %s en %s"
 
-#: catalog/objectaddress.c:3451
+#: catalog/objectaddress.c:3413
 #, c-format
 msgid "schema %s"
 msgstr "esquema %s"
 
-#: catalog/objectaddress.c:3479
+#: catalog/objectaddress.c:3441
 #, c-format
 msgid "statistics object %s"
 msgstr "objeto de estadísticas %s"
 
-#: catalog/objectaddress.c:3510
+#: catalog/objectaddress.c:3472
 #, c-format
 msgid "text search parser %s"
 msgstr "analizador de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:3541
+#: catalog/objectaddress.c:3503
 #, c-format
 msgid "text search dictionary %s"
 msgstr "diccionario de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:3572
+#: catalog/objectaddress.c:3534
 #, c-format
 msgid "text search template %s"
 msgstr "plantilla de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:3603
+#: catalog/objectaddress.c:3565
 #, c-format
 msgid "text search configuration %s"
 msgstr "configuración de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:3616
+#: catalog/objectaddress.c:3578
 #, c-format
 msgid "role %s"
 msgstr "rol %s"
 
-#: catalog/objectaddress.c:3653 catalog/objectaddress.c:5505
+#: catalog/objectaddress.c:3615 catalog/objectaddress.c:5464
 #, fuzzy, c-format
 #| msgid "removal of role \"%s\" failed: %s"
 msgid "membership of role %s in role %s"
 msgstr "falló la eliminación del rol «%s»: %s"
 
-#: catalog/objectaddress.c:3674
+#: catalog/objectaddress.c:3636
 #, c-format
 msgid "database %s"
 msgstr "base de datos %s"
 
-#: catalog/objectaddress.c:3690
+#: catalog/objectaddress.c:3652
 #, c-format
 msgid "tablespace %s"
 msgstr "tablespace %s"
 
-#: catalog/objectaddress.c:3701
+#: catalog/objectaddress.c:3663
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "conector de datos externos %s"
 
-#: catalog/objectaddress.c:3711
+#: catalog/objectaddress.c:3673
 #, c-format
 msgid "server %s"
 msgstr "servidor %s"
 
-#: catalog/objectaddress.c:3744
+#: catalog/objectaddress.c:3706
 #, c-format
 msgid "user mapping for %s on server %s"
 msgstr "mapeo para el usuario %s en el servidor %s"
 
-#: catalog/objectaddress.c:3796
+#: catalog/objectaddress.c:3758
 #, c-format
 msgid "default privileges on new relations belonging to role %s in schema %s"
 msgstr "privilegios por omisión en nuevas relaciones pertenecientes al rol %s en el esquema %s"
 
-#: catalog/objectaddress.c:3800
+#: catalog/objectaddress.c:3762
 #, c-format
 msgid "default privileges on new relations belonging to role %s"
 msgstr "privilegios por omisión en nuevas relaciones pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:3806
+#: catalog/objectaddress.c:3768
 #, c-format
 msgid "default privileges on new sequences belonging to role %s in schema %s"
 msgstr "privilegios por omisión en nuevas secuencias pertenecientes al rol %s en el esquema %s"
 
-#: catalog/objectaddress.c:3810
+#: catalog/objectaddress.c:3772
 #, c-format
 msgid "default privileges on new sequences belonging to role %s"
 msgstr "privilegios por omisión en nuevas secuencias pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:3816
+#: catalog/objectaddress.c:3778
 #, c-format
 msgid "default privileges on new functions belonging to role %s in schema %s"
 msgstr "privilegios por omisión en nuevas funciones pertenecientes al rol %s en el esquema %s"
 
-#: catalog/objectaddress.c:3820
+#: catalog/objectaddress.c:3782
 #, c-format
 msgid "default privileges on new functions belonging to role %s"
 msgstr "privilegios por omisión en nuevas funciones pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:3826
+#: catalog/objectaddress.c:3788
 #, c-format
 msgid "default privileges on new types belonging to role %s in schema %s"
 msgstr "privilegios por omisión en nuevos tipos pertenecientes al rol %s en el esquema %s"
 
-#: catalog/objectaddress.c:3830
+#: catalog/objectaddress.c:3792
 #, c-format
 msgid "default privileges on new types belonging to role %s"
 msgstr "privilegios por omisión en nuevos tipos pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:3836
+#: catalog/objectaddress.c:3798
 #, c-format
 msgid "default privileges on new schemas belonging to role %s"
 msgstr "privilegios por omisión en nuevos esquemas pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:3843
+#: catalog/objectaddress.c:3805
 #, c-format
 msgid "default privileges belonging to role %s in schema %s"
 msgstr "privilegios por omisión pertenecientes al rol %s en el esquema %s"
 
-#: catalog/objectaddress.c:3847
+#: catalog/objectaddress.c:3809
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "privilegios por omisión pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:3869
+#: catalog/objectaddress.c:3831
 #, c-format
 msgid "extension %s"
 msgstr "extensión %s"
 
-#: catalog/objectaddress.c:3886
+#: catalog/objectaddress.c:3848
 #, c-format
 msgid "event trigger %s"
 msgstr "disparador por eventos %s"
 
-#: catalog/objectaddress.c:3910
+#: catalog/objectaddress.c:3872
 #, c-format
 msgid "parameter %s"
 msgstr "parámetro %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3953
+#: catalog/objectaddress.c:3915
 #, c-format
 msgid "policy %s on %s"
 msgstr "política %s en %s"
 
-#: catalog/objectaddress.c:3967
+#: catalog/objectaddress.c:3929
 #, c-format
 msgid "publication %s"
 msgstr "publicación %s"
 
-#: catalog/objectaddress.c:3980
+#: catalog/objectaddress.c:3942
 #, c-format
 msgid "publication of schema %s in publication %s"
 msgstr "publicación de esquema %s en la publicación %s"
 
 #. translator: first %s is, e.g., "table %s"
-#: catalog/objectaddress.c:4011
+#: catalog/objectaddress.c:3973
 #, c-format
 msgid "publication of %s in publication %s"
 msgstr "publicación de %s en la publicación %s"
 
-#: catalog/objectaddress.c:4024
+#: catalog/objectaddress.c:3986
 #, c-format
 msgid "subscription %s"
 msgstr "suscripción %s"
 
-#: catalog/objectaddress.c:4045
+#: catalog/objectaddress.c:4007
 #, c-format
 msgid "transform for %s language %s"
 msgstr "transformación para %s lenguaje %s"
 
-#: catalog/objectaddress.c:4116
+#: catalog/objectaddress.c:4076
 #, c-format
 msgid "table %s"
 msgstr "tabla %s"
 
-#: catalog/objectaddress.c:4121
+#: catalog/objectaddress.c:4081
 #, c-format
 msgid "index %s"
 msgstr "índice %s"
 
-#: catalog/objectaddress.c:4125
+#: catalog/objectaddress.c:4085
 #, c-format
 msgid "sequence %s"
 msgstr "secuencia %s"
 
-#: catalog/objectaddress.c:4129
+#: catalog/objectaddress.c:4089
 #, c-format
 msgid "toast table %s"
 msgstr "tabla toast %s"
 
-#: catalog/objectaddress.c:4133
+#: catalog/objectaddress.c:4093
 #, c-format
 msgid "view %s"
 msgstr "vista %s"
 
-#: catalog/objectaddress.c:4137
+#: catalog/objectaddress.c:4097
 #, c-format
 msgid "materialized view %s"
 msgstr "vista materializada %s"
 
-#: catalog/objectaddress.c:4141
+#: catalog/objectaddress.c:4101
 #, c-format
 msgid "composite type %s"
 msgstr "tipo compuesto %s"
 
-#: catalog/objectaddress.c:4145
+#: catalog/objectaddress.c:4105
 #, c-format
 msgid "foreign table %s"
 msgstr "tabla foránea %s"
 
-#: catalog/objectaddress.c:4150
+#: catalog/objectaddress.c:4110
 #, c-format
 msgid "relation %s"
 msgstr "relación %s"
 
-#: catalog/objectaddress.c:4191
+#: catalog/objectaddress.c:4151
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "familia de operadores %s para el método de acceso %s"
@@ -5499,7 +5925,7 @@ msgstr "no se puede omitir el valor inicial cuando la función de transición es
 msgid "return type of inverse transition function %s is not %s"
 msgstr "el tipo de retorno de la función inversa de transición %s no es %s"
 
-#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:3009
+#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:2992
 #, c-format
 msgid "strictness of aggregate's forward and inverse transition functions must match"
 msgstr "la opción «strict» de las funciones de transición directa e inversa deben coincidir exactamente en la función de agregación"
@@ -5514,7 +5940,7 @@ msgstr "la función final con argumentos extra no debe declararse STRICT"
 msgid "return type of combine function %s is not %s"
 msgstr "el tipo de retorno de la función «combine» %s no es %s"
 
-#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3903
+#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3902
 #, c-format
 msgid "combine function with transition type %s must not be declared STRICT"
 msgstr "la función «combine» con tipo de transición %s no debe declararse STRICT"
@@ -5529,12 +5955,12 @@ msgstr "el tipo de retorno de la función de serialización %s no es %s"
 msgid "return type of deserialization function %s is not %s"
 msgstr "el tipo de retorno de la función de deserialización %s no es %s"
 
-#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:191 catalog/pg_proc.c:225
+#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:189 catalog/pg_proc.c:223
 #, c-format
 msgid "cannot determine result data type"
 msgstr "no se puede determinar el tipo de dato del resultado"
 
-#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:204 catalog/pg_proc.c:233
+#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:202 catalog/pg_proc.c:231
 #, c-format
 msgid "unsafe use of pseudo-type \"internal\""
 msgstr "uso inseguro de pseudotipo «internal»"
@@ -5549,7 +5975,7 @@ msgstr "la implementación de la función de agregación en modo «moving» devu
 msgid "sort operator can only be specified for single-argument aggregates"
 msgstr "el operador de ordenamiento sólo puede ser especificado para funciones de agregación de un solo argumento"
 
-#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:386
+#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:384
 #, c-format
 msgid "cannot change routine kind"
 msgstr "no se puede cambiar el tipo de rutina"
@@ -5574,13 +6000,13 @@ msgstr "«%s» es una agregación de conjunto hipotético."
 msgid "cannot change number of direct arguments of an aggregate function"
 msgstr "no se puede cambiar cantidad de argumentos directos de una función de agregación"
 
-#: catalog/pg_aggregate.c:858 commands/functioncmds.c:691
-#: commands/typecmds.c:1975 commands/typecmds.c:2021 commands/typecmds.c:2073
-#: commands/typecmds.c:2110 commands/typecmds.c:2144 commands/typecmds.c:2178
-#: commands/typecmds.c:2212 commands/typecmds.c:2241 commands/typecmds.c:2328
-#: commands/typecmds.c:2370 parser/parse_func.c:417 parser/parse_func.c:448
+#: catalog/pg_aggregate.c:858 commands/functioncmds.c:686
+#: commands/typecmds.c:1985 commands/typecmds.c:2031 commands/typecmds.c:2083
+#: commands/typecmds.c:2120 commands/typecmds.c:2154 commands/typecmds.c:2188
+#: commands/typecmds.c:2222 commands/typecmds.c:2251 commands/typecmds.c:2338
+#: commands/typecmds.c:2380 parser/parse_func.c:417 parser/parse_func.c:448
 #: parser/parse_func.c:475 parser/parse_func.c:489 parser/parse_func.c:611
-#: parser/parse_func.c:631 parser/parse_func.c:2171 parser/parse_func.c:2444
+#: parser/parse_func.c:631 parser/parse_func.c:2172 parser/parse_func.c:2445
 #, c-format
 msgid "function %s does not exist"
 msgstr "no existe la función %s"
@@ -5655,133 +6081,133 @@ msgstr "Esta operación no está soportada en tablas particionadas."
 msgid "This operation is not supported for partitioned indexes."
 msgstr "Esta operación no está soportada en índices particionados."
 
-#: catalog/pg_collation.c:102 catalog/pg_collation.c:160
+#: catalog/pg_collation.c:101 catalog/pg_collation.c:159
 #, c-format
 msgid "collation \"%s\" already exists, skipping"
 msgstr "el ordenamiento «%s» ya existe, omitiendo"
 
-#: catalog/pg_collation.c:104
+#: catalog/pg_collation.c:103
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists, skipping"
 msgstr "el ordenamiento «%s» para la codificación «%s» ya existe, omitiendo"
 
-#: catalog/pg_collation.c:112 catalog/pg_collation.c:167
+#: catalog/pg_collation.c:111 catalog/pg_collation.c:166
 #, c-format
 msgid "collation \"%s\" already exists"
 msgstr "el ordenamiento «%s» ya existe"
 
-#: catalog/pg_collation.c:114
+#: catalog/pg_collation.c:113
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists"
 msgstr "la codificación «%2$s» ya tiene un ordenamiento llamado «%1$s»"
 
-#: catalog/pg_constraint.c:690
+#: catalog/pg_constraint.c:732
 #, c-format
 msgid "constraint \"%s\" for domain %s already exists"
 msgstr "el dominio %2$s ya contiene una restricción llamada «%1$s»"
 
-#: catalog/pg_constraint.c:890 catalog/pg_constraint.c:983
+#: catalog/pg_constraint.c:932 catalog/pg_constraint.c:1025
 #, c-format
 msgid "constraint \"%s\" for table \"%s\" does not exist"
 msgstr "no existe la restricción «%s» para la tabla «%s»"
 
-#: catalog/pg_constraint.c:1083
+#: catalog/pg_constraint.c:1125
 #, c-format
 msgid "constraint \"%s\" for domain %s does not exist"
 msgstr "no existe la restricción «%s» para el dominio %s"
 
-#: catalog/pg_conversion.c:67
+#: catalog/pg_conversion.c:64
 #, c-format
 msgid "conversion \"%s\" already exists"
 msgstr "ya existe la conversión «%s»"
 
-#: catalog/pg_conversion.c:80
+#: catalog/pg_conversion.c:77
 #, c-format
 msgid "default conversion for %s to %s already exists"
 msgstr "ya existe una conversión por omisión desde %s a %s"
 
-#: catalog/pg_depend.c:222 commands/extension.c:3344
+#: catalog/pg_depend.c:224 commands/extension.c:3397
 #, c-format
 msgid "%s is already a member of extension \"%s\""
 msgstr "«%s» ya es un miembro de la extensión «%s»"
 
-#: catalog/pg_depend.c:229 catalog/pg_depend.c:280 commands/extension.c:3384
+#: catalog/pg_depend.c:231 catalog/pg_depend.c:282 commands/extension.c:3437
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s no es un miembro de la extensión «%s»"
 
-#: catalog/pg_depend.c:232
+#: catalog/pg_depend.c:234
 #, c-format
 msgid "An extension is not allowed to replace an object that it does not own."
 msgstr "A una extensión no se le permite reemplazar un objeto que no posee."
 
-#: catalog/pg_depend.c:283
+#: catalog/pg_depend.c:285
 #, c-format
 msgid "An extension may only use CREATE ... IF NOT EXISTS to skip object creation if the conflicting object is one that it already owns."
 msgstr "Una extensión sólo puede usar CREATE ... IF NOT EXISTS para omitir la creación de un objeto si el objeto en conflicto es uno de cual ya es dueña."
 
-#: catalog/pg_depend.c:646
+#: catalog/pg_depend.c:648
 #, c-format
 msgid "cannot remove dependency on %s because it is a system object"
 msgstr "no se puede eliminar dependencia a %s porque es un objeto requerido por el sistema"
 
-#: catalog/pg_enum.c:137 catalog/pg_enum.c:259 catalog/pg_enum.c:554
+#: catalog/pg_enum.c:175 catalog/pg_enum.c:314 catalog/pg_enum.c:624
 #, c-format
 msgid "invalid enum label \"%s\""
 msgstr "la etiqueta enum «%s» no es válida"
 
-#: catalog/pg_enum.c:138 catalog/pg_enum.c:260 catalog/pg_enum.c:555
+#: catalog/pg_enum.c:176 catalog/pg_enum.c:315 catalog/pg_enum.c:625
 #, c-format
 msgid "Labels must be %d bytes or less."
 msgstr "Las etiquetas deben ser de %d bytes o menos."
 
-#: catalog/pg_enum.c:288
+#: catalog/pg_enum.c:343
 #, c-format
 msgid "enum label \"%s\" already exists, skipping"
 msgstr "la etiqueta de enum «%s» ya existe, omitiendo"
 
-#: catalog/pg_enum.c:295 catalog/pg_enum.c:598
+#: catalog/pg_enum.c:350 catalog/pg_enum.c:668
 #, c-format
 msgid "enum label \"%s\" already exists"
 msgstr "la etiqueta de enum «%s» ya existe"
 
-#: catalog/pg_enum.c:350 catalog/pg_enum.c:593
+#: catalog/pg_enum.c:405 catalog/pg_enum.c:663
 #, c-format
 msgid "\"%s\" is not an existing enum label"
 msgstr "«%s» no es una etiqueta de enum existente"
 
-#: catalog/pg_enum.c:408
+#: catalog/pg_enum.c:463
 #, c-format
 msgid "pg_enum OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria"
 
-#: catalog/pg_enum.c:418
+#: catalog/pg_enum.c:473
 #, c-format
 msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade"
 msgstr "ALTER TYPE ADD BEFORE/AFTER es incompatible con la actualización binaria"
 
-#: catalog/pg_inherits.c:593
+#: catalog/pg_inherits.c:592
 #, c-format
 msgid "cannot detach partition \"%s\""
 msgstr "no se puede desprender la partición «%s»"
 
-#: catalog/pg_inherits.c:595
+#: catalog/pg_inherits.c:594
 #, c-format
 msgid "The partition is being detached concurrently or has an unfinished detach."
 msgstr "La partición está siendo desprendida de forma concurrente o tiene un desprendimiento sin terminar."
 
-#: catalog/pg_inherits.c:596 commands/tablecmds.c:4583
-#: commands/tablecmds.c:15464
+#: catalog/pg_inherits.c:595 commands/tablecmds.c:4790
+#: commands/tablecmds.c:16065
 #, c-format
 msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation."
 msgstr "Utilice ALTER TABLE ... DETACH PARTITION ... FINALIZE para completar la operación de desprendimiento pendiente."
 
-#: catalog/pg_inherits.c:600
+#: catalog/pg_inherits.c:599
 #, c-format
 msgid "cannot complete detaching partition \"%s\""
 msgstr "no se puede completar el desprendimiento de la partición «%s»"
 
-#: catalog/pg_inherits.c:602
+#: catalog/pg_inherits.c:601
 #, c-format
 msgid "There's no pending concurrent detach."
 msgstr "No hay desprendimientos concurrentes pendientes."
@@ -5791,116 +6217,134 @@ msgstr "No hay desprendimientos concurrentes pendientes."
 msgid "schema \"%s\" already exists"
 msgstr "ya existe el esquema «%s»"
 
-#: catalog/pg_operator.c:219 catalog/pg_operator.c:361
+#: catalog/pg_operator.c:213 catalog/pg_operator.c:355
 #, c-format
 msgid "\"%s\" is not a valid operator name"
 msgstr "«%s» no es un nombre válido de operador"
 
-#: catalog/pg_operator.c:370
+#: catalog/pg_operator.c:379
+#, c-format
+msgid "operator %s already exists"
+msgstr "ya existe un operador %s"
+
+#: catalog/pg_operator.c:445 commands/operatorcmds.c:600
+#, fuzzy, c-format
+#| msgid "operator cannot be its own negator or sort operator"
+msgid "operator cannot be its own negator"
+msgstr "un operador no puede ser su propio negador u operador de ordenamiento"
+
+#: catalog/pg_operator.c:572
 #, c-format
 msgid "only binary operators can have commutators"
 msgstr "sólo los operadores binarios pueden tener conmutadores"
 
-#: catalog/pg_operator.c:374 commands/operatorcmds.c:509
+#: catalog/pg_operator.c:576
 #, c-format
 msgid "only binary operators can have join selectivity"
 msgstr "sólo los operadores binarios pueden tener selectividad de join"
 
-#: catalog/pg_operator.c:378
+#: catalog/pg_operator.c:580
 #, c-format
 msgid "only binary operators can merge join"
 msgstr "sólo los operadores binarios pueden ser usados en merge join"
 
-#: catalog/pg_operator.c:382
+#: catalog/pg_operator.c:584
 #, c-format
 msgid "only binary operators can hash"
 msgstr "sólo los operadores binarios pueden ser usados en hash"
 
-#: catalog/pg_operator.c:393
+#: catalog/pg_operator.c:593
 #, c-format
 msgid "only boolean operators can have negators"
 msgstr "sólo los operadores booleanos pueden tener negadores"
 
-#: catalog/pg_operator.c:397 commands/operatorcmds.c:517
+#: catalog/pg_operator.c:597
 #, c-format
 msgid "only boolean operators can have restriction selectivity"
 msgstr "sólo los operadores booleanos pueden tener selectividad de restricción"
 
-#: catalog/pg_operator.c:401 commands/operatorcmds.c:521
+#: catalog/pg_operator.c:601
 #, c-format
 msgid "only boolean operators can have join selectivity"
 msgstr "sólo los operadores booleanos pueden tener selectividad de join"
 
-#: catalog/pg_operator.c:405
+#: catalog/pg_operator.c:605
 #, c-format
 msgid "only boolean operators can merge join"
 msgstr "sólo los operadores booleanos pueden ser usados en merge join"
 
-#: catalog/pg_operator.c:409
+#: catalog/pg_operator.c:609
 #, c-format
 msgid "only boolean operators can hash"
 msgstr "sólo los operadores booleanos pueden ser usados en hash"
 
-#: catalog/pg_operator.c:421
-#, c-format
-msgid "operator %s already exists"
-msgstr "ya existe un operador %s"
+#: catalog/pg_operator.c:739
+#, fuzzy, c-format
+#| msgid "operator %s is not a member of operator family \"%s\""
+msgid "commutator operator %s is already the commutator of operator %s"
+msgstr "el operador %s no es un miembro de la familia de operadores «%s»"
 
-#: catalog/pg_operator.c:621
+#: catalog/pg_operator.c:744
 #, c-format
-msgid "operator cannot be its own negator or sort operator"
-msgstr "un operador no puede ser su propio negador u operador de ordenamiento"
+msgid "commutator operator %s is already the commutator of operator %u"
+msgstr ""
+
+#: catalog/pg_operator.c:807
+#, fuzzy, c-format
+#| msgid "operator %s is not a member of operator family \"%s\""
+msgid "negator operator %s is already the negator of operator %s"
+msgstr "el operador %s no es un miembro de la familia de operadores «%s»"
+
+#: catalog/pg_operator.c:812
+#, fuzzy, c-format
+#| msgid "operator %s is not a member of operator family \"%s\""
+msgid "negator operator %s is already the negator of operator %u"
+msgstr "el operador %s no es un miembro de la familia de operadores «%s»"
 
-#: catalog/pg_parameter_acl.c:53
+#: catalog/pg_parameter_acl.c:50
 #, fuzzy, c-format
 #| msgid "parameter ACL with OID %u does not exist"
 msgid "parameter ACL \"%s\" does not exist"
 msgstr "no existe el ACL de parámetro con OID %u"
 
-#: catalog/pg_parameter_acl.c:88
-#, fuzzy, c-format
-#| msgid "invalid type name \"%s\""
-msgid "invalid parameter name \"%s\""
-msgstr "el nombre de tipo «%s» no es válido"
-
-#: catalog/pg_proc.c:132 parser/parse_func.c:2233
+#: catalog/pg_proc.c:130 parser/parse_func.c:2234
 #, c-format
 msgid "functions cannot have more than %d argument"
 msgid_plural "functions cannot have more than %d arguments"
 msgstr[0] "las funciones no pueden tener más de %d argumento"
 msgstr[1] "las funciones no pueden tener más de %d argumentos"
 
-#: catalog/pg_proc.c:376
+#: catalog/pg_proc.c:374
 #, c-format
 msgid "function \"%s\" already exists with same argument types"
 msgstr "ya existe una función «%s» con los mismos argumentos"
 
-#: catalog/pg_proc.c:388
+#: catalog/pg_proc.c:386
 #, c-format
 msgid "\"%s\" is an aggregate function."
 msgstr "«%s» es una función de agregación."
 
-#: catalog/pg_proc.c:390
+#: catalog/pg_proc.c:388
 #, c-format
 msgid "\"%s\" is a function."
 msgstr "«%s» es una función de agregación."
 
-#: catalog/pg_proc.c:392
+#: catalog/pg_proc.c:390
 #, c-format
 msgid "\"%s\" is a procedure."
 msgstr "«%s» es un índice parcial."
 
-#: catalog/pg_proc.c:394
+#: catalog/pg_proc.c:392
 #, c-format
 msgid "\"%s\" is a window function."
 msgstr "«%s» es una función de ventana deslizante."
 
-#: catalog/pg_proc.c:414
+#: catalog/pg_proc.c:412
 #, c-format
 msgid "cannot change whether a procedure has output parameters"
 msgstr "no se puede cambiar que un procedimiento tenga parámetros de salida"
 
-#: catalog/pg_proc.c:415 catalog/pg_proc.c:445
+#: catalog/pg_proc.c:413 catalog/pg_proc.c:443
 #, c-format
 msgid "cannot change return type of existing function"
 msgstr "no se puede cambiar el tipo de retorno de una función existente"
@@ -5909,120 +6353,120 @@ msgstr "no se puede cambiar el tipo de retorno de una función existente"
 #. AGGREGATE
 #.
 #. translator: first %s is DROP FUNCTION or DROP PROCEDURE
-#: catalog/pg_proc.c:421 catalog/pg_proc.c:448 catalog/pg_proc.c:493
-#: catalog/pg_proc.c:519 catalog/pg_proc.c:543
+#: catalog/pg_proc.c:419 catalog/pg_proc.c:446 catalog/pg_proc.c:491
+#: catalog/pg_proc.c:517 catalog/pg_proc.c:541
 #, c-format
 msgid "Use %s %s first."
 msgstr "Use %s %s primero."
 
-#: catalog/pg_proc.c:446
+#: catalog/pg_proc.c:444
 #, c-format
 msgid "Row type defined by OUT parameters is different."
 msgstr "Tipo de registro definido por parámetros OUT es diferente."
 
-#: catalog/pg_proc.c:490
+#: catalog/pg_proc.c:488
 #, c-format
 msgid "cannot change name of input parameter \"%s\""
 msgstr "no se puede cambiar el nombre del parámetro de entrada «%s»"
 
-#: catalog/pg_proc.c:517
+#: catalog/pg_proc.c:515
 #, c-format
 msgid "cannot remove parameter defaults from existing function"
 msgstr "no se puede eliminar el valor por omisión de funciones existentes"
 
-#: catalog/pg_proc.c:541
+#: catalog/pg_proc.c:539
 #, c-format
 msgid "cannot change data type of existing parameter default value"
 msgstr "no se puede cambiar el tipo de dato del valor por omisión de un parámetro"
 
-#: catalog/pg_proc.c:752
+#: catalog/pg_proc.c:750
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "no hay ninguna función interna llamada «%s»"
 
-#: catalog/pg_proc.c:845
+#: catalog/pg_proc.c:843
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "las funciones SQL no pueden retornar el tipo %s"
 
-#: catalog/pg_proc.c:860
+#: catalog/pg_proc.c:858
 #, c-format
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "las funciones SQL no pueden tener argumentos de tipo %s"
 
-#: catalog/pg_proc.c:987 executor/functions.c:1466
+#: catalog/pg_proc.c:986 executor/functions.c:1468
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "función SQL «%s»"
 
-#: catalog/pg_publication.c:71 catalog/pg_publication.c:79
-#: catalog/pg_publication.c:87 catalog/pg_publication.c:93
+#: catalog/pg_publication.c:66 catalog/pg_publication.c:74
+#: catalog/pg_publication.c:82 catalog/pg_publication.c:88
 #, c-format
 msgid "cannot add relation \"%s\" to publication"
 msgstr "no se puede agregar la relación «%s» a la publicación"
 
-#: catalog/pg_publication.c:81
+#: catalog/pg_publication.c:76
 #, c-format
 msgid "This operation is not supported for system tables."
 msgstr "Esta operación no está soportada en tablas de sistema."
 
-#: catalog/pg_publication.c:89
+#: catalog/pg_publication.c:84
 #, c-format
 msgid "This operation is not supported for temporary tables."
 msgstr "Esta operación no está soportada en tablas temporales."
 
-#: catalog/pg_publication.c:95
+#: catalog/pg_publication.c:90
 #, c-format
 msgid "This operation is not supported for unlogged tables."
 msgstr "Esta característica no está soportada en tablas «unlogged»."
 
-#: catalog/pg_publication.c:109 catalog/pg_publication.c:117
+#: catalog/pg_publication.c:104 catalog/pg_publication.c:112
 #, c-format
 msgid "cannot add schema \"%s\" to publication"
 msgstr "no se puede agregar el esquema «%s» a la partición"
 
-#: catalog/pg_publication.c:111
+#: catalog/pg_publication.c:106
 #, fuzzy, c-format
 #| msgid "This operation is not supported for system tables."
 msgid "This operation is not supported for system schemas."
 msgstr "Esta operación no está soportada en tablas de sistema."
 
-#: catalog/pg_publication.c:119
+#: catalog/pg_publication.c:114
 #, fuzzy, c-format
 #| msgid "Unlogged relations cannot be replicated."
 msgid "Temporary schemas cannot be replicated."
 msgstr "Las tablas «unlogged» no pueden replicarse."
 
-#: catalog/pg_publication.c:397
+#: catalog/pg_publication.c:392
 #, c-format
 msgid "relation \"%s\" is already member of publication \"%s\""
 msgstr "la relación «%s» ya es un miembro de la publicación «%s»"
 
-#: catalog/pg_publication.c:539
+#: catalog/pg_publication.c:534
 #, fuzzy, c-format
 #| msgid "cannot use system column \"%s\" in partition key"
 msgid "cannot use system column \"%s\" in publication column list"
 msgstr "no se puede usar la columna de sistema «%s» en llave de particionamiento"
 
-#: catalog/pg_publication.c:545
+#: catalog/pg_publication.c:540
 #, fuzzy, c-format
 #| msgid "cannot use generated column in partition key"
 msgid "cannot use generated column \"%s\" in publication column list"
 msgstr "no se puede usar una columna generada en llave de particionamiento"
 
-#: catalog/pg_publication.c:551
+#: catalog/pg_publication.c:546
 #, fuzzy, c-format
 #| msgid "publication of %s in publication %s"
 msgid "duplicate column \"%s\" in publication column list"
 msgstr "publicación de %s en la publicación %s"
 
-#: catalog/pg_publication.c:641
+#: catalog/pg_publication.c:636
 #, fuzzy, c-format
 #| msgid "relation \"%s\" is already member of publication \"%s\""
 msgid "schema \"%s\" is already member of publication \"%s\""
 msgstr "la relación «%s» ya es un miembro de la publicación «%s»"
 
-#: catalog/pg_shdepend.c:830
+#: catalog/pg_shdepend.c:875
 #, c-format
 msgid ""
 "\n"
@@ -6037,65 +6481,71 @@ msgstr[1] ""
 "\n"
 "y objetos en otras %d bases de datos (vea el registro del servidor para obtener la lista)"
 
-#: catalog/pg_shdepend.c:1177
+#: catalog/pg_shdepend.c:1222
 #, c-format
 msgid "role %u was concurrently dropped"
 msgstr "el rol %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1189
+#: catalog/pg_shdepend.c:1234
 #, c-format
 msgid "tablespace %u was concurrently dropped"
 msgstr "el tablespace %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1203
+#: catalog/pg_shdepend.c:1248
 #, c-format
 msgid "database %u was concurrently dropped"
 msgstr "la base de datos %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1254
+#: catalog/pg_shdepend.c:1299
 #, c-format
 msgid "owner of %s"
 msgstr "dueño de %s"
 
-#: catalog/pg_shdepend.c:1256
+#: catalog/pg_shdepend.c:1301
 #, c-format
 msgid "privileges for %s"
 msgstr "privilegios para %s"
 
-#: catalog/pg_shdepend.c:1258
+#: catalog/pg_shdepend.c:1303
+#, fuzzy, c-format
+#| msgid "privileges for %s"
+msgid "initial privileges for %s"
+msgstr "privilegios para %s"
+
+#: catalog/pg_shdepend.c:1305
 #, c-format
 msgid "target of %s"
 msgstr "destino de %s"
 
-#: catalog/pg_shdepend.c:1260
+#: catalog/pg_shdepend.c:1307
 #, c-format
 msgid "tablespace for %s"
 msgstr "tablespace para %s"
 
 #. translator: %s will always be "database %s"
-#: catalog/pg_shdepend.c:1268
+#: catalog/pg_shdepend.c:1315
 #, c-format
 msgid "%d object in %s"
 msgid_plural "%d objects in %s"
 msgstr[0] "%d objeto en %s"
 msgstr[1] "%d objetos en %s"
 
-#: catalog/pg_shdepend.c:1332
+#: catalog/pg_shdepend.c:1379
 #, c-format
 msgid "cannot drop objects owned by %s because they are required by the database system"
 msgstr "no se puede eliminar objetos de propiedad de %s porque son requeridos por el sistema"
 
-#: catalog/pg_shdepend.c:1498
+#: catalog/pg_shdepend.c:1560
 #, c-format
 msgid "cannot reassign ownership of objects owned by %s because they are required by the database system"
 msgstr "no se puede reasignar la propiedad de objetos de %s porque son requeridos por el sistema"
 
-#: catalog/pg_subscription.c:424
+#: catalog/pg_subscription.c:438
 #, c-format
 msgid "could not drop relation mapping for subscription \"%s\""
 msgstr "no se pudo eliminar mapeo de relación para suscripción «%s»"
 
-#: catalog/pg_subscription.c:426
+#: catalog/pg_subscription.c:440
 #, c-format
 msgid "Table synchronization for relation \"%s\" is in progress and is in state \"%c\"."
 msgstr "La sincronización de tabla para la relación «%s» está en progreso y su estado es «%c»."
@@ -6103,227 +6553,227 @@ msgstr "La sincronización de tabla para la relación «%s» está en progreso y
 #. translator: first %s is a SQL ALTER command and second %s is a
 #. SQL DROP command
 #.
-#: catalog/pg_subscription.c:433
+#: catalog/pg_subscription.c:447
 #, c-format
 msgid "Use %s to enable subscription if not already enabled or use %s to drop the subscription."
 msgstr "Utilice %s para activar la suscripción si aún no está activada, o utilice %s para eliminar la suscripción."
 
-#: catalog/pg_type.c:134 catalog/pg_type.c:474
+#: catalog/pg_type.c:133 catalog/pg_type.c:474
 #, c-format
 msgid "pg_type OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de pg_type no se definió en modo de actualización binaria"
 
-#: catalog/pg_type.c:254
+#: catalog/pg_type.c:253
 #, c-format
 msgid "invalid type internal size %d"
 msgstr "el tamaño interno de tipo %d no es válido"
 
-#: catalog/pg_type.c:270 catalog/pg_type.c:278 catalog/pg_type.c:286
-#: catalog/pg_type.c:295
+#: catalog/pg_type.c:269 catalog/pg_type.c:277 catalog/pg_type.c:285
+#: catalog/pg_type.c:294
 #, c-format
 msgid "alignment \"%c\" is invalid for passed-by-value type of size %d"
 msgstr "el alineamiento «%c» no es válido para un tipo pasado por valor de tamaño %d"
 
-#: catalog/pg_type.c:302
+#: catalog/pg_type.c:301
 #, c-format
 msgid "internal size %d is invalid for passed-by-value type"
 msgstr "el tamaño interno %d no es válido para un tipo pasado por valor"
 
-#: catalog/pg_type.c:312 catalog/pg_type.c:318
+#: catalog/pg_type.c:311 catalog/pg_type.c:317
 #, c-format
 msgid "alignment \"%c\" is invalid for variable-length type"
 msgstr "el alineamiento «%c» no es válido para un tipo de largo variable"
 
-#: catalog/pg_type.c:326 commands/typecmds.c:4140
+#: catalog/pg_type.c:325 commands/typecmds.c:4363
 #, c-format
 msgid "fixed-size types must have storage PLAIN"
 msgstr "los tipos de tamaño fijo deben tener almacenamiento PLAIN"
 
-#: catalog/pg_type.c:955
+#: catalog/pg_type.c:978
 #, c-format
 msgid "Failed while creating a multirange type for type \"%s\"."
 msgstr "Falla al crear un tipo de multirango para el tipo «%s»."
 
-#: catalog/pg_type.c:956
+#: catalog/pg_type.c:979
 #, c-format
 msgid "You can manually specify a multirange type name using the \"multirange_type_name\" attribute."
 msgstr "Puede especificar manualmente un nombre para el tipo de multirango usando el atributo «multirange_type_name»."
 
-#: catalog/storage.c:505 storage/buffer/bufmgr.c:1145
+#: catalog/storage.c:508 storage/buffer/bufmgr.c:1540
 #, c-format
 msgid "invalid page in block %u of relation %s"
 msgstr "la página no es válida en el bloque %u de la relación %s"
 
-#: commands/aggregatecmds.c:171
+#: commands/aggregatecmds.c:167
 #, c-format
 msgid "only ordered-set aggregates can be hypothetical"
 msgstr "sólo las funciones de agregación de conjuntos ordenados pueden ser hipotéticas"
 
-#: commands/aggregatecmds.c:196
+#: commands/aggregatecmds.c:192
 #, c-format
 msgid "aggregate attribute \"%s\" not recognized"
 msgstr "el atributo de la función de agregación «%s» no es reconocido"
 
-#: commands/aggregatecmds.c:206
+#: commands/aggregatecmds.c:202
 #, c-format
 msgid "aggregate stype must be specified"
 msgstr "debe especificarse el tipo de transición (stype) de la función de agregación"
 
-#: commands/aggregatecmds.c:210
+#: commands/aggregatecmds.c:206
 #, c-format
 msgid "aggregate sfunc must be specified"
 msgstr "debe especificarse la función de transición (sfunc) de la función de agregación"
 
-#: commands/aggregatecmds.c:222
+#: commands/aggregatecmds.c:218
 #, c-format
 msgid "aggregate msfunc must be specified when mstype is specified"
 msgstr "debe especificarse la función de transición msfunc cuando se especifica mstype"
 
-#: commands/aggregatecmds.c:226
+#: commands/aggregatecmds.c:222
 #, c-format
 msgid "aggregate minvfunc must be specified when mstype is specified"
 msgstr "debe especificarse la función de transición minvfunc cuando se especifica mstype"
 
-#: commands/aggregatecmds.c:233
+#: commands/aggregatecmds.c:229
 #, c-format
 msgid "aggregate msfunc must not be specified without mstype"
 msgstr "no debe especificarse msfunc sin mstype"
 
-#: commands/aggregatecmds.c:237
+#: commands/aggregatecmds.c:233
 #, c-format
 msgid "aggregate minvfunc must not be specified without mstype"
 msgstr "no debe especificarse minvfunc sin mstype"
 
-#: commands/aggregatecmds.c:241
+#: commands/aggregatecmds.c:237
 #, c-format
 msgid "aggregate mfinalfunc must not be specified without mstype"
 msgstr "no debe especificarse mfinalfunc sin mstype"
 
-#: commands/aggregatecmds.c:245
+#: commands/aggregatecmds.c:241
 #, c-format
 msgid "aggregate msspace must not be specified without mstype"
 msgstr "no debe especificarse msspace sin mstype"
 
-#: commands/aggregatecmds.c:249
+#: commands/aggregatecmds.c:245
 #, c-format
 msgid "aggregate minitcond must not be specified without mstype"
 msgstr "no debe especificarse minitcond sin mstype"
 
-#: commands/aggregatecmds.c:278
+#: commands/aggregatecmds.c:274
 #, c-format
 msgid "aggregate input type must be specified"
 msgstr "debe especificarse el tipo de entrada de la función de agregación"
 
-#: commands/aggregatecmds.c:308
+#: commands/aggregatecmds.c:304
 #, c-format
 msgid "basetype is redundant with aggregate input type specification"
 msgstr "el tipo base es redundante con el tipo de entrada en la función de agregación"
 
-#: commands/aggregatecmds.c:351 commands/aggregatecmds.c:392
+#: commands/aggregatecmds.c:347 commands/aggregatecmds.c:388
 #, c-format
 msgid "aggregate transition data type cannot be %s"
 msgstr "el tipo de transición de la función de agregación no puede ser %s"
 
-#: commands/aggregatecmds.c:363
+#: commands/aggregatecmds.c:359
 #, c-format
 msgid "serialization functions may be specified only when the aggregate transition data type is %s"
 msgstr "las funciones de serialización pueden especificarse sólo cuando el tipo de transición de la función de agregación es %s"
 
-#: commands/aggregatecmds.c:373
+#: commands/aggregatecmds.c:369
 #, c-format
 msgid "must specify both or neither of serialization and deserialization functions"
 msgstr "debe especificar ambas o ninguna de las funciones de serialización y deserialización"
 
-#: commands/aggregatecmds.c:438 commands/functioncmds.c:639
+#: commands/aggregatecmds.c:434 commands/functioncmds.c:634
 #, c-format
 msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE"
 msgstr "el parámetro «parallel» debe ser SAFE, RESTRICTED o UNSAFE"
 
-#: commands/aggregatecmds.c:494
+#: commands/aggregatecmds.c:490
 #, c-format
 msgid "parameter \"%s\" must be READ_ONLY, SHAREABLE, or READ_WRITE"
 msgstr "el parámetro «%s» debe ser READ_ONLY, SHAREABLE o READ_WRITE"
 
-#: commands/alter.c:86 commands/event_trigger.c:174
+#: commands/alter.c:82 commands/event_trigger.c:191
 #, c-format
 msgid "event trigger \"%s\" already exists"
 msgstr "el disparador por eventos «%s» ya existe"
 
-#: commands/alter.c:89 commands/foreigncmds.c:593
+#: commands/alter.c:85 commands/foreigncmds.c:593
 #, c-format
 msgid "foreign-data wrapper \"%s\" already exists"
 msgstr "el conector de datos externos «%s» ya existe"
 
-#: commands/alter.c:92 commands/foreigncmds.c:884
+#: commands/alter.c:88 commands/foreigncmds.c:884
 #, c-format
 msgid "server \"%s\" already exists"
 msgstr "el servidor «%s» ya existe"
 
-#: commands/alter.c:95 commands/proclang.c:133
+#: commands/alter.c:91 commands/proclang.c:131
 #, c-format
 msgid "language \"%s\" already exists"
 msgstr "ya existe el lenguaje «%s»"
 
-#: commands/alter.c:98 commands/publicationcmds.c:771
+#: commands/alter.c:94 commands/publicationcmds.c:764
 #, c-format
 msgid "publication \"%s\" already exists"
 msgstr "la publicación «%s» ya existe"
 
-#: commands/alter.c:101 commands/subscriptioncmds.c:657
+#: commands/alter.c:97 commands/subscriptioncmds.c:669
 #, c-format
 msgid "subscription \"%s\" already exists"
 msgstr "la suscripción «%s» ya existe"
 
-#: commands/alter.c:124
+#: commands/alter.c:120
 #, c-format
 msgid "conversion \"%s\" already exists in schema \"%s\""
 msgstr "ya existe una conversión llamada «%s» en el esquema «%s»"
 
-#: commands/alter.c:128
+#: commands/alter.c:124
 #, c-format
 msgid "statistics object \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un objeto de estadísticas llamado «%s» en el esquema «%s»"
 
-#: commands/alter.c:132
+#: commands/alter.c:128
 #, c-format
 msgid "text search parser \"%s\" already exists in schema \"%s\""
 msgstr "el analizador de búsqueda en texto «%s» ya existe en el esquema «%s»"
 
-#: commands/alter.c:136
+#: commands/alter.c:132
 #, c-format
 msgid "text search dictionary \"%s\" already exists in schema \"%s\""
 msgstr "el diccionario de búsqueda en texto «%s» ya existe en el esquema «%s»"
 
-#: commands/alter.c:140
+#: commands/alter.c:136
 #, c-format
 msgid "text search template \"%s\" already exists in schema \"%s\""
 msgstr "la plantilla de búsqueda en texto «%s» ya existe en el esquema «%s»"
 
-#: commands/alter.c:144
+#: commands/alter.c:140
 #, c-format
 msgid "text search configuration \"%s\" already exists in schema \"%s\""
 msgstr "la configuración de búsqueda en texto «%s» ya existe en el esquema «%s»"
 
-#: commands/alter.c:217
+#: commands/alter.c:213
 #, c-format
 msgid "must be superuser to rename %s"
 msgstr "debe ser superusuario para cambiar el nombre de «%s»"
 
-#: commands/alter.c:259 commands/subscriptioncmds.c:636
-#: commands/subscriptioncmds.c:1116 commands/subscriptioncmds.c:1198
-#: commands/subscriptioncmds.c:1830
+#: commands/alter.c:255 commands/subscriptioncmds.c:648
+#: commands/subscriptioncmds.c:1129 commands/subscriptioncmds.c:1212
+#: commands/subscriptioncmds.c:1918
 #, c-format
 msgid "password_required=false is superuser-only"
 msgstr ""
 
-#: commands/alter.c:260 commands/subscriptioncmds.c:637
-#: commands/subscriptioncmds.c:1117 commands/subscriptioncmds.c:1199
-#: commands/subscriptioncmds.c:1831
+#: commands/alter.c:256 commands/subscriptioncmds.c:649
+#: commands/subscriptioncmds.c:1130 commands/subscriptioncmds.c:1213
+#: commands/subscriptioncmds.c:1919
 #, c-format
 msgid "Subscriptions with the password_required option set to false may only be created or modified by the superuser."
 msgstr ""
 
-#: commands/alter.c:775
+#: commands/alter.c:734
 #, c-format
 msgid "must be superuser to set schema of %s"
 msgstr "debe ser superusuario para definir el esquema de %s"
@@ -6343,8 +6793,8 @@ msgstr "Debe ser superusuario para crear un método de acceso."
 msgid "access method \"%s\" already exists"
 msgstr "el método de acceso «%s» ya existe"
 
-#: commands/amcmds.c:154 commands/indexcmds.c:217 commands/indexcmds.c:840
-#: commands/opclasscmds.c:375 commands/opclasscmds.c:833
+#: commands/amcmds.c:154 commands/indexcmds.c:221 commands/indexcmds.c:841
+#: commands/opclasscmds.c:374 commands/opclasscmds.c:832
 #, c-format
 msgid "access method \"%s\" does not exist"
 msgstr "no existe el método de acceso «%s»"
@@ -6354,175 +6804,175 @@ msgstr "no existe el método de acceso «%s»"
 msgid "handler function is not specified"
 msgstr "no se ha especificado una función manejadora"
 
-#: commands/amcmds.c:264 commands/event_trigger.c:183
-#: commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:709
-#: parser/parse_clause.c:941
+#: commands/amcmds.c:264 commands/event_trigger.c:200
+#: commands/foreigncmds.c:489 commands/proclang.c:78 commands/trigger.c:702
+#: parser/parse_clause.c:943
 #, c-format
 msgid "function %s must return type %s"
 msgstr "la función %s debe retornar el tipo %s"
 
-#: commands/analyze.c:227
+#: commands/analyze.c:217
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze this foreign table"
 msgstr "omitiendo «%s»: no se puede analizar esta tabla foránea"
 
-#: commands/analyze.c:244
+#: commands/analyze.c:234
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables"
 msgstr "omitiendo «%s»: no se pueden analizar objetos que no son tablas, ni tablas especiales de sistema"
 
-#: commands/analyze.c:324
+#: commands/analyze.c:314
 #, c-format
 msgid "analyzing \"%s.%s\" inheritance tree"
 msgstr "analizando la jerarquía de herencia «%s.%s»"
 
-#: commands/analyze.c:329
+#: commands/analyze.c:319
 #, c-format
 msgid "analyzing \"%s.%s\""
 msgstr "analizando «%s.%s»"
 
-#: commands/analyze.c:394
+#: commands/analyze.c:385
 #, c-format
 msgid "column \"%s\" of relation \"%s\" appears more than once"
 msgstr "la columna «%s» aparece más de una vez en la relación «%s»"
 
-#: commands/analyze.c:786
+#: commands/analyze.c:785
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\"\n"
 msgstr "análisis automático de la tabla «%s.%s.%s»\n"
 
-#: commands/analyze.c:1333
+#: commands/analyze.c:1300
 #, c-format
 msgid "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead rows; %d rows in sample, %.0f estimated total rows"
 msgstr "«%s»: se procesaron %d de %u páginas, que contenían %.0f filas vigentes y %.0f filas no vigentes; %d filas en la muestra, %.0f total de filas estimadas"
 
-#: commands/analyze.c:1417
+#: commands/analyze.c:1384
 #, c-format
 msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables"
 msgstr "omitiendo el análisis del árbol de herencia «%s.%s» --- este árbol no contiene tablas hijas"
 
-#: commands/analyze.c:1515
+#: commands/analyze.c:1482
 #, c-format
 msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables"
 msgstr "omitiendo el análisis del árbol de herencia «%s.%s» --- este árbol no contiene tablas hijas analizables"
 
-#: commands/async.c:646
+#: commands/async.c:612
 #, c-format
 msgid "channel name cannot be empty"
 msgstr "el nombre de canal no puede ser vacío"
 
-#: commands/async.c:652
+#: commands/async.c:618
 #, c-format
 msgid "channel name too long"
 msgstr "el nombre de canal es demasiado largo"
 
-#: commands/async.c:657
+#: commands/async.c:623
 #, c-format
 msgid "payload string too long"
 msgstr "la cadena de carga es demasiado larga"
 
-#: commands/async.c:876
+#: commands/async.c:842
 #, c-format
 msgid "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY"
 msgstr "no se puede hacer PREPARE de una transacción que ha ejecutado LISTEN, UNLISTEN o NOTIFY"
 
-#: commands/async.c:980
+#: commands/async.c:946
 #, c-format
 msgid "too many notifications in the NOTIFY queue"
 msgstr "demasiadas notificaciones en la cola NOTIFY"
 
-#: commands/async.c:1602
+#: commands/async.c:1553
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "la cola NOTIFY está %.0f%% llena"
 
-#: commands/async.c:1604
+#: commands/async.c:1555
 #, c-format
 msgid "The server process with PID %d is among those with the oldest transactions."
 msgstr "El proceso servidor con PID %d está entre aquellos con transacciones más antiguas."
 
-#: commands/async.c:1607
+#: commands/async.c:1558
 #, c-format
 msgid "The NOTIFY queue cannot be emptied until that process ends its current transaction."
 msgstr "La cola NOTIFY no puede vaciarse hasta que ese proceso cierre su transacción actual."
 
-#: commands/cluster.c:131
+#: commands/cluster.c:128
 #, c-format
 msgid "unrecognized CLUSTER option \"%s\""
 msgstr "opción de CLUSTER «%s» no reconocida"
 
-#: commands/cluster.c:162 commands/cluster.c:435
+#: commands/cluster.c:159 commands/cluster.c:433
 #, c-format
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "no se pueden reordenar tablas temporales de otras sesiones"
 
-#: commands/cluster.c:180
+#: commands/cluster.c:177
 #, c-format
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "no hay un índice de ordenamiento definido para la tabla «%s»"
 
-#: commands/cluster.c:194 commands/tablecmds.c:14200 commands/tablecmds.c:16043
+#: commands/cluster.c:191 commands/tablecmds.c:14710 commands/tablecmds.c:16641
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "no existe el índice «%s» en la tabla «%s»"
 
-#: commands/cluster.c:424
+#: commands/cluster.c:422
 #, c-format
 msgid "cannot cluster a shared catalog"
 msgstr "no se puede reordenar un catálogo compartido"
 
-#: commands/cluster.c:439
+#: commands/cluster.c:437
 #, c-format
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "no se puede hacer vacuum a tablas temporales de otras sesiones"
 
-#: commands/cluster.c:515 commands/tablecmds.c:16053
+#: commands/cluster.c:513 commands/tablecmds.c:16651
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "«%s» no es un índice de la tabla «%s»"
 
-#: commands/cluster.c:523
+#: commands/cluster.c:521
 #, c-format
 msgid "cannot cluster on index \"%s\" because access method does not support clustering"
 msgstr "no se puede reordenar en índice «%s» porque el método de acceso no soporta reordenamiento"
 
-#: commands/cluster.c:535
+#: commands/cluster.c:533
 #, c-format
 msgid "cannot cluster on partial index \"%s\""
 msgstr "no se puede reordenar en índice parcial «%s»"
 
-#: commands/cluster.c:549
+#: commands/cluster.c:547
 #, c-format
 msgid "cannot cluster on invalid index \"%s\""
 msgstr "no se puede reordenar en el índice no válido «%s»"
 
-#: commands/cluster.c:573
+#: commands/cluster.c:571
 #, c-format
 msgid "cannot mark index clustered in partitioned table"
 msgstr "no se puede marcar un índice «clustered» en una tabla particionada"
 
-#: commands/cluster.c:952
+#: commands/cluster.c:956
 #, c-format
 msgid "clustering \"%s.%s\" using index scan on \"%s\""
 msgstr "reordenando «%s.%s» usando un recorrido de índice en «%s»"
 
-#: commands/cluster.c:958
+#: commands/cluster.c:962
 #, c-format
 msgid "clustering \"%s.%s\" using sequential scan and sort"
 msgstr "reordenando «%s.%s» usando un recorrido secuencial y ordenamiento"
 
-#: commands/cluster.c:963
+#: commands/cluster.c:967
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "haciendo vacuum a «%s.%s»"
 
-#: commands/cluster.c:990
+#: commands/cluster.c:994
 #, fuzzy, c-format
 #| msgid "index \"%s\" now contains %.0f row versions in %u pages"
 msgid "\"%s.%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
 msgstr "el índice «%s» ahora contiene %.0f versiones de filas en %u páginas"
 
-#: commands/cluster.c:995
+#: commands/cluster.c:999
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -6531,40 +6981,41 @@ msgstr ""
 "%.0f versiones muertas de filas no pueden ser eliminadas aún.\n"
 "%s."
 
-#: commands/cluster.c:1728
+#: commands/cluster.c:1744
 #, fuzzy, c-format
 #| msgid "permission denied to set role \"%s\""
 msgid "permission denied to cluster \"%s\", skipping it"
 msgstr "se ha denegado el permiso para definir el rol «%s»"
 
-#: commands/collationcmds.c:112
+#: commands/collationcmds.c:110
 #, c-format
 msgid "collation attribute \"%s\" not recognized"
 msgstr "el atributo de ordenamiento (collation) «%s» no es reconocido"
 
-#: commands/collationcmds.c:125 commands/collationcmds.c:131
-#: commands/define.c:389 commands/tablecmds.c:7876
-#: replication/pgoutput/pgoutput.c:310 replication/pgoutput/pgoutput.c:333
-#: replication/pgoutput/pgoutput.c:347 replication/pgoutput/pgoutput.c:357
-#: replication/pgoutput/pgoutput.c:367 replication/pgoutput/pgoutput.c:377
-#: replication/pgoutput/pgoutput.c:387 replication/walsender.c:996
-#: replication/walsender.c:1018 replication/walsender.c:1028
+#: commands/collationcmds.c:123 commands/collationcmds.c:129
+#: commands/define.c:388 commands/tablecmds.c:8149
+#: replication/pgoutput/pgoutput.c:307 replication/pgoutput/pgoutput.c:330
+#: replication/pgoutput/pgoutput.c:344 replication/pgoutput/pgoutput.c:354
+#: replication/pgoutput/pgoutput.c:364 replication/pgoutput/pgoutput.c:374
+#: replication/pgoutput/pgoutput.c:386 replication/walsender.c:1146
+#: replication/walsender.c:1168 replication/walsender.c:1178
+#: replication/walsender.c:1187 replication/walsender.c:1426
 #, c-format
 msgid "conflicting or redundant options"
 msgstr "opciones contradictorias o redundantes"
 
-#: commands/collationcmds.c:126
+#: commands/collationcmds.c:124
 #, c-format
 msgid "LOCALE cannot be specified together with LC_COLLATE or LC_CTYPE."
 msgstr "LOCALE no puede configurarse junto con LC_COLLATE o LC_CTYPE."
 
-#: commands/collationcmds.c:132
+#: commands/collationcmds.c:130
 #, fuzzy, c-format
 #| msgid "option \"%s\" cannot be specified with other options"
 msgid "FROM cannot be specified together with any other options."
 msgstr "la opción «%s» no puede ser especificada con otras opciones"
 
-#: commands/collationcmds.c:191
+#: commands/collationcmds.c:189
 #, c-format
 msgid "collation \"default\" cannot be copied"
 msgstr "el ordenamiento «default» no puede copiarse"
@@ -6574,108 +7025,98 @@ msgstr "el ordenamiento «default» no puede copiarse"
 msgid "unrecognized collation provider: %s"
 msgstr "proveedor de ordenamiento no reconocido: %s"
 
-#: commands/collationcmds.c:253
-#, c-format
-msgid "parameter \"lc_collate\" must be specified"
-msgstr "debe especificarse el parámetro «lc_collate»"
-
-#: commands/collationcmds.c:258
-#, c-format
-msgid "parameter \"lc_ctype\" must be specified"
-msgstr "debe especificarse el parámetro «lc_ctype»"
-
-#: commands/collationcmds.c:265
+#: commands/collationcmds.c:253 commands/collationcmds.c:264
+#: commands/collationcmds.c:270 commands/collationcmds.c:278
 #, fuzzy, c-format
 #| msgid "parameter \"lc_collate\" must be specified"
-msgid "parameter \"locale\" must be specified"
+msgid "parameter \"%s\" must be specified"
 msgstr "debe especificarse el parámetro «lc_collate»"
 
-#: commands/collationcmds.c:279 commands/dbcommands.c:1074
-#, fuzzy, c-format
-#| msgid "Using language tag \"%s\" for ICU locale \"%s\".\n"
-msgid "using standard form \"%s\" for locale \"%s\""
-msgstr "Usando la marca de lenguaje «%s» para la configuración regional ICU «%s».\n"
+#: commands/collationcmds.c:293 commands/dbcommands.c:1134
+#, c-format
+msgid "using standard form \"%s\" for ICU locale \"%s\""
+msgstr ""
 
-#: commands/collationcmds.c:298
+#: commands/collationcmds.c:312
 #, c-format
 msgid "nondeterministic collations not supported with this provider"
 msgstr "los ordenamientos no determinísticos no están soportados con este proveedor"
 
-#: commands/collationcmds.c:303 commands/dbcommands.c:1093
+#: commands/collationcmds.c:317 commands/dbcommands.c:1087
 #, fuzzy, c-format
 #| msgid "ICU locale cannot be specified unless locale provider is ICU"
 msgid "ICU rules cannot be specified unless locale provider is ICU"
 msgstr "no se puede especificar una configuración regional ICU a menos que el proveedor de configuración regional sea ICU"
 
-#: commands/collationcmds.c:322
+#: commands/collationcmds.c:340
 #, c-format
 msgid "current database's encoding is not supported with this provider"
 msgstr "la codificación de la base de datos actual no está soportada con este proveedor"
 
-#: commands/collationcmds.c:382
+#: commands/collationcmds.c:409
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un ordenamiento (collation) llamado «%s» para la codificación «%s» en el esquema «%s»"
 
-#: commands/collationcmds.c:393
+#: commands/collationcmds.c:420
 #, c-format
 msgid "collation \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un ordenamiento llamado «%s» en el esquema «%s»"
 
-#: commands/collationcmds.c:418
+#: commands/collationcmds.c:445
 #, fuzzy, c-format
 #| msgid "change the definition of a collation"
 msgid "cannot refresh version of default collation"
 msgstr "cambia la definición de un ordenamiento"
 
-#: commands/collationcmds.c:419
+#. translator: %s is an SQL command
+#. translator: %s is an SQL ALTER command
+#: commands/collationcmds.c:447 commands/subscriptioncmds.c:1376
+#: commands/tablecmds.c:7925 commands/tablecmds.c:7935
+#: commands/tablecmds.c:7937 commands/tablecmds.c:14412
+#: commands/tablecmds.c:17789 commands/tablecmds.c:17810
+#: commands/typecmds.c:3787 commands/typecmds.c:3872 commands/typecmds.c:4226
 #, fuzzy, c-format
-#| msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead."
-msgid "Use ALTER DATABASE ... REFRESH COLLATION VERSION instead."
-msgstr "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION en su lugar."
+#| msgid "Use views instead."
+msgid "Use %s instead."
+msgstr "Use vistas en su lugar."
 
-#: commands/collationcmds.c:446 commands/dbcommands.c:2447
+#: commands/collationcmds.c:480 commands/dbcommands.c:2550
 #, c-format
 msgid "changing version from %s to %s"
 msgstr "cambiando versión de %s a %s"
 
-#: commands/collationcmds.c:461 commands/dbcommands.c:2460
+#: commands/collationcmds.c:495 commands/dbcommands.c:2563
 #, c-format
 msgid "version has not changed"
 msgstr "la versión no ha cambiado"
 
-#: commands/collationcmds.c:494 commands/dbcommands.c:2626
+#: commands/collationcmds.c:528 commands/dbcommands.c:2729
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "no existe la base de datos con OID %u"
 
-#: commands/collationcmds.c:515
+#: commands/collationcmds.c:554
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "no existe el ordenamiento (collation) con OID %u"
 
-#: commands/collationcmds.c:803
+#: commands/collationcmds.c:848
 #, c-format
 msgid "must be superuser to import system collations"
 msgstr "debe ser superusuario para importar ordenamientos del sistema"
 
-#: commands/collationcmds.c:831 commands/copyfrom.c:1653 commands/copyto.c:656
-#: libpq/be-secure-common.c:59
-#, c-format
-msgid "could not execute command \"%s\": %m"
-msgstr "no se pudo ejecutar la orden «%s»: %m"
-
-#: commands/collationcmds.c:923 commands/collationcmds.c:1008
+#: commands/collationcmds.c:968 commands/collationcmds.c:1053
 #, c-format
 msgid "no usable system locales were found"
 msgstr "no se encontraron locales de sistema utilizables"
 
-#: commands/comment.c:61 commands/dbcommands.c:1594 commands/dbcommands.c:1791
-#: commands/dbcommands.c:1901 commands/dbcommands.c:2099
-#: commands/dbcommands.c:2337 commands/dbcommands.c:2420
-#: commands/dbcommands.c:2530 commands/dbcommands.c:3030
-#: utils/init/postinit.c:1025 utils/init/postinit.c:1130
-#: utils/init/postinit.c:1147
+#: commands/comment.c:61 commands/dbcommands.c:1663 commands/dbcommands.c:1875
+#: commands/dbcommands.c:1985 commands/dbcommands.c:2183
+#: commands/dbcommands.c:2421 commands/dbcommands.c:2512
+#: commands/dbcommands.c:2633 commands/dbcommands.c:3141
+#: utils/init/postinit.c:1033 utils/init/postinit.c:1097
+#: utils/init/postinit.c:1170
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "no existe la base de datos «%s»"
@@ -6686,320 +7127,347 @@ msgstr "no existe la base de datos «%s»"
 msgid "cannot set comment on relation \"%s\""
 msgstr "no se puede modificar la restricción «%s» en la relación «%s»"
 
-#: commands/constraint.c:63 utils/adt/ri_triggers.c:2028
+#: commands/constraint.c:61 utils/adt/ri_triggers.c:2019
 #, c-format
 msgid "function \"%s\" was not called by trigger manager"
 msgstr "la función «%s» no fue ejecutada por el manejador de triggers"
 
-#: commands/constraint.c:70 utils/adt/ri_triggers.c:2037
+#: commands/constraint.c:68 utils/adt/ri_triggers.c:2028
 #, c-format
 msgid "function \"%s\" must be fired AFTER ROW"
 msgstr "la función «%s» debe ser ejecutada AFTER ROW"
 
-#: commands/constraint.c:84
+#: commands/constraint.c:82
 #, c-format
 msgid "function \"%s\" must be fired for INSERT or UPDATE"
 msgstr "la función «%s» debe ser ejecutada en INSERT o UPDATE"
 
-#: commands/conversioncmds.c:69
+#: commands/conversioncmds.c:62
 #, c-format
 msgid "source encoding \"%s\" does not exist"
 msgstr "no existe la codificación fuente «%s»"
 
-#: commands/conversioncmds.c:76
+#: commands/conversioncmds.c:69
 #, c-format
 msgid "destination encoding \"%s\" does not exist"
 msgstr "no existe la codificación de destino «%s»"
 
-#: commands/conversioncmds.c:89
+#: commands/conversioncmds.c:82
 #, c-format
 msgid "encoding conversion to or from \"SQL_ASCII\" is not supported"
 msgstr "la conversión de codificación desde o hacia a «SQL_ASCII» no está soportada"
 
-#: commands/conversioncmds.c:102
+#: commands/conversioncmds.c:95
 #, c-format
 msgid "encoding conversion function %s must return type %s"
 msgstr "la función de conversión de codificación %s debe retornar tipo %s"
 
-#: commands/conversioncmds.c:132
+#: commands/conversioncmds.c:125
 #, c-format
 msgid "encoding conversion function %s returned incorrect result for empty input"
 msgstr "la función de conversión de codificación %s retornó un resultado incorrecto para una entrada vacía"
 
-#: commands/copy.c:86
+#: commands/copy.c:84
 #, fuzzy, c-format
 #| msgid "permission denied to create role"
 msgid "permission denied to COPY to or from an external program"
 msgstr "se ha denegado el permiso para crear el rol"
 
-#: commands/copy.c:87
+#: commands/copy.c:85
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may COPY to or from an external program."
 msgstr ""
 
-#: commands/copy.c:89 commands/copy.c:100 commands/copy.c:109
+#: commands/copy.c:87 commands/copy.c:98 commands/copy.c:107
 #, c-format
 msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works for anyone."
 msgstr "Cualquier usuario puede usar COPY hacia la salida estándar o desde la entrada estándar. La orden \\copy de psql también puede ser utilizado por cualquier usuario."
 
-#: commands/copy.c:97
+#: commands/copy.c:95
 #, fuzzy, c-format
 #| msgid "permission denied to drop role"
 msgid "permission denied to COPY from a file"
 msgstr "se ha denegado el permiso para eliminar el rol"
 
-#: commands/copy.c:98
+#: commands/copy.c:96
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may COPY from a file."
 msgstr ""
 
-#: commands/copy.c:106
+#: commands/copy.c:104
 #, fuzzy, c-format
 #| msgid "permission denied to drop role"
 msgid "permission denied to COPY to a file"
 msgstr "se ha denegado el permiso para eliminar el rol"
 
-#: commands/copy.c:107
+#: commands/copy.c:105
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may COPY to a file."
 msgstr ""
 
-#: commands/copy.c:195
+#: commands/copy.c:193
 #, c-format
 msgid "COPY FROM not supported with row-level security"
 msgstr "COPY FROM no está soportado con seguridad a nivel de registros"
 
-#: commands/copy.c:196
+#: commands/copy.c:194
 #, c-format
 msgid "Use INSERT statements instead."
 msgstr "Use sentencias INSERT en su lugar."
 
-#: commands/copy.c:290
-#, fuzzy, c-format
-#| msgid "\"EEEE\" not supported for input"
-msgid "MERGE not supported in COPY"
-msgstr "«EEEE» no está soportado en la entrada"
-
-#: commands/copy.c:383
+#: commands/copy.c:375
 #, c-format
 msgid "cannot use \"%s\" with HEADER in COPY TO"
 msgstr "no se puede usar «%s» con HEADER en COPY TO"
 
-#: commands/copy.c:392
+#: commands/copy.c:384
 #, fuzzy, c-format
 #| msgid "%s requires a Boolean value"
 msgid "%s requires a Boolean value or \"match\""
 msgstr "«%s» requiere un valor lógico (booleano)"
 
-#: commands/copy.c:451
+#: commands/copy.c:400
+#, fuzzy, c-format
+#| msgid "\\watch cannot be used with an empty query"
+msgid "COPY ON_ERROR cannot be used with COPY TO"
+msgstr "\\watch no puede ser usado con una consulta vacía"
+
+#: commands/copy.c:413
+#, fuzzy, c-format
+#| msgid "COPY format \"%s\" not recognized"
+msgid "COPY ON_ERROR \"%s\" not recognized"
+msgstr "el formato de COPY «%s» no es reconocido"
+
+#: commands/copy.c:437
+#, fuzzy, c-format
+#| msgid "COPY format \"%s\" not recognized"
+msgid "COPY LOG_VERBOSITY \"%s\" not recognized"
+msgstr "el formato de COPY «%s» no es reconocido"
+
+#: commands/copy.c:498
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "el formato de COPY «%s» no es reconocido"
 
-#: commands/copy.c:509 commands/copy.c:522 commands/copy.c:535
-#: commands/copy.c:554
+#: commands/copy.c:556 commands/copy.c:571 commands/copy.c:586
+#: commands/copy.c:605
 #, c-format
 msgid "argument to option \"%s\" must be a list of column names"
 msgstr "el argumento de la opción «%s» debe ser una lista de nombres de columna"
 
-#: commands/copy.c:566
+#: commands/copy.c:617
 #, c-format
 msgid "argument to option \"%s\" must be a valid encoding name"
 msgstr "el argumento de la opción «%s» debe ser un nombre válido de codificación"
 
-#: commands/copy.c:573 commands/dbcommands.c:859 commands/dbcommands.c:2285
+#: commands/copy.c:638 commands/dbcommands.c:866 commands/dbcommands.c:2369
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "no se reconoce la opción «%s»"
 
-#: commands/copy.c:585
+#: commands/copy.c:650
 #, c-format
 msgid "cannot specify DELIMITER in BINARY mode"
 msgstr "no se puede especificar DELIMITER en modo BINARY"
 
-#: commands/copy.c:590
+#: commands/copy.c:655
 #, c-format
 msgid "cannot specify NULL in BINARY mode"
 msgstr "no se puede especificar NULL en modo BINARY"
 
-#: commands/copy.c:595
+#: commands/copy.c:660
 #, fuzzy, c-format
 #| msgid "cannot specify NULL in BINARY mode"
 msgid "cannot specify DEFAULT in BINARY mode"
 msgstr "no se puede especificar NULL en modo BINARY"
 
-#: commands/copy.c:617
+#: commands/copy.c:665
+#, c-format
+msgid "only ON_ERROR STOP is allowed in BINARY mode"
+msgstr ""
+
+#: commands/copy.c:687
 #, c-format
 msgid "COPY delimiter must be a single one-byte character"
 msgstr "el delimitador de COPY debe ser un solo carácter de un byte"
 
-#: commands/copy.c:624
+#: commands/copy.c:694
 #, c-format
 msgid "COPY delimiter cannot be newline or carriage return"
 msgstr "el delimitador de COPY no puede ser el carácter de nueva línea ni el de retorno de carro"
 
-#: commands/copy.c:630
+#: commands/copy.c:700
 #, c-format
 msgid "COPY null representation cannot use newline or carriage return"
 msgstr "la representación de null de COPY no puede usar el carácter de nueva línea ni el de retorno de carro"
 
-#: commands/copy.c:640
+#: commands/copy.c:710
 #, fuzzy, c-format
 #| msgid "COPY null representation cannot use newline or carriage return"
 msgid "COPY default representation cannot use newline or carriage return"
 msgstr "la representación de null de COPY no puede usar el carácter de nueva línea ni el de retorno de carro"
 
-#: commands/copy.c:658
+#: commands/copy.c:728
 #, c-format
 msgid "COPY delimiter cannot be \"%s\""
 msgstr "el delimitador de COPY no puede ser «%s»"
 
-#: commands/copy.c:664
+#: commands/copy.c:734
 #, fuzzy, c-format
 #| msgid "cannot specify DELIMITER in BINARY mode"
 msgid "cannot specify HEADER in BINARY mode"
 msgstr "no se puede especificar DELIMITER en modo BINARY"
 
-#: commands/copy.c:670
+#: commands/copy.c:740
 #, c-format
-msgid "COPY quote available only in CSV mode"
-msgstr "el «quote» de COPY está disponible sólo en modo CSV"
+msgid "COPY QUOTE requires CSV mode"
+msgstr ""
 
-#: commands/copy.c:675
+#: commands/copy.c:745
 #, c-format
 msgid "COPY quote must be a single one-byte character"
 msgstr "la comilla («quote») de COPY debe ser un solo carácter de un byte"
 
-#: commands/copy.c:680
+#: commands/copy.c:750
 #, c-format
 msgid "COPY delimiter and quote must be different"
 msgstr "el delimitador de COPY y la comilla («quote») deben ser diferentes"
 
-#: commands/copy.c:686
+#: commands/copy.c:756
 #, c-format
-msgid "COPY escape available only in CSV mode"
-msgstr "escape de COPY disponible sólo en modo CSV"
+msgid "COPY ESCAPE requires CSV mode"
+msgstr ""
 
-#: commands/copy.c:691
+#: commands/copy.c:761
 #, c-format
 msgid "COPY escape must be a single one-byte character"
 msgstr "el escape de COPY debe ser un sólo carácter de un byte"
 
-#: commands/copy.c:697
+#: commands/copy.c:767
 #, c-format
-msgid "COPY force quote available only in CSV mode"
-msgstr "el forzado de comillas de COPY sólo está disponible en modo CSV"
+msgid "COPY FORCE_QUOTE requires CSV mode"
+msgstr ""
 
-#: commands/copy.c:701
-#, c-format
-msgid "COPY force quote only available using COPY TO"
-msgstr "el forzado de comillas de COPY sólo está disponible en COPY TO"
+#: commands/copy.c:771
+#, fuzzy, c-format
+#| msgid "\\watch cannot be used with an empty query"
+msgid "COPY FORCE_QUOTE cannot be used with COPY FROM"
+msgstr "\\watch no puede ser usado con una consulta vacía"
 
-#: commands/copy.c:707
+#: commands/copy.c:777
 #, c-format
-msgid "COPY force not null available only in CSV mode"
-msgstr "el forzado de no nulos en COPY sólo está disponible en modo CSV"
+msgid "COPY FORCE_NOT_NULL requires CSV mode"
+msgstr ""
 
-#: commands/copy.c:711
-#, c-format
-msgid "COPY force not null only available using COPY FROM"
-msgstr "el forzado de no nulos en COPY sólo está disponible usando COPY FROM"
+#: commands/copy.c:781
+#, fuzzy, c-format
+#| msgid "\\watch cannot be used with an empty query"
+msgid "COPY FORCE_NOT_NULL cannot be used with COPY TO"
+msgstr "\\watch no puede ser usado con una consulta vacía"
 
-#: commands/copy.c:717
+#: commands/copy.c:787
 #, c-format
-msgid "COPY force null available only in CSV mode"
-msgstr "el forzado de nulos en COPY sólo está disponible en modo CSV"
+msgid "COPY FORCE_NULL requires CSV mode"
+msgstr ""
 
-#: commands/copy.c:722
-#, c-format
-msgid "COPY force null only available using COPY FROM"
-msgstr "el forzado de nulos en COPY sólo está disponible usando COPY FROM"
+#: commands/copy.c:792
+#, fuzzy, c-format
+#| msgid "\\watch cannot be used with an empty query"
+msgid "COPY FORCE_NULL cannot be used with COPY TO"
+msgstr "\\watch no puede ser usado con una consulta vacía"
 
-#: commands/copy.c:728
-#, c-format
-msgid "COPY delimiter must not appear in the NULL specification"
+#: commands/copy.c:798
+#, fuzzy, c-format
+#| msgid "COPY delimiter must not appear in the NULL specification"
+msgid "COPY delimiter character must not appear in the NULL specification"
 msgstr "el delimitador de COPY no debe aparecer en la especificación NULL"
 
-#: commands/copy.c:735
+#: commands/copy.c:805
 #, c-format
 msgid "CSV quote character must not appear in the NULL specification"
 msgstr "el carácter de «quote» de CSV no debe aparecer en la especificación NULL"
 
-#: commands/copy.c:742
+#: commands/copy.c:811
+#, fuzzy, c-format
+#| msgid "\\watch cannot be used with an empty query"
+msgid "COPY FREEZE cannot be used with COPY TO"
+msgstr "\\watch no puede ser usado con una consulta vacía"
+
+#: commands/copy.c:818
 #, fuzzy, c-format
 #| msgid "COPY force null only available using COPY FROM"
 msgid "COPY DEFAULT only available using COPY FROM"
 msgstr "el forzado de nulos en COPY sólo está disponible usando COPY FROM"
 
-#: commands/copy.c:748
+#: commands/copy.c:824
 #, fuzzy, c-format
 #| msgid "COPY delimiter must not appear in the NULL specification"
 msgid "COPY delimiter must not appear in the DEFAULT specification"
 msgstr "el delimitador de COPY no debe aparecer en la especificación NULL"
 
-#: commands/copy.c:755
+#: commands/copy.c:831
 #, fuzzy, c-format
 #| msgid "CSV quote character must not appear in the NULL specification"
 msgid "CSV quote character must not appear in the DEFAULT specification"
 msgstr "el carácter de «quote» de CSV no debe aparecer en la especificación NULL"
 
-#: commands/copy.c:763
+#: commands/copy.c:839
 #, c-format
 msgid "NULL specification and DEFAULT specification cannot be the same"
 msgstr ""
 
-#: commands/copy.c:825
+#: commands/copy.c:901
 #, c-format
 msgid "column \"%s\" is a generated column"
 msgstr "la columna «%s» es una columna generada"
 
-#: commands/copy.c:827
+#: commands/copy.c:903
 #, c-format
 msgid "Generated columns cannot be used in COPY."
 msgstr "Las columnas generadas no pueden usarse en COPY."
 
-#: commands/copy.c:842 commands/indexcmds.c:1894 commands/statscmds.c:242
-#: commands/tablecmds.c:2405 commands/tablecmds.c:3127
-#: commands/tablecmds.c:3626 parser/parse_relation.c:3688
-#: parser/parse_relation.c:3698 parser/parse_relation.c:3716
-#: parser/parse_relation.c:3723 parser/parse_relation.c:3737
-#: utils/adt/tsvector_op.c:2855
+#: commands/copy.c:918 commands/indexcmds.c:1916 commands/statscmds.c:239
+#: commands/tablecmds.c:2514 commands/tablecmds.c:2985
+#: commands/tablecmds.c:3793 parser/parse_relation.c:3692
+#: parser/parse_relation.c:3702 parser/parse_relation.c:3720
+#: parser/parse_relation.c:3727 parser/parse_relation.c:3741
+#: utils/adt/tsvector_op.c:2853
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "no existe la columna «%s»"
 
-#: commands/copy.c:849 commands/tablecmds.c:2431 commands/trigger.c:958
-#: parser/parse_target.c:1070 parser/parse_target.c:1081
+#: commands/copy.c:925 commands/tablecmds.c:2540 commands/trigger.c:951
+#: parser/parse_target.c:1083 parser/parse_target.c:1094
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "la columna «%s» fue especificada más de una vez"
 
-#: commands/copyfrom.c:122
+#: commands/copyfrom.c:118
 #, c-format
 msgid "COPY %s"
 msgstr ""
 
-#: commands/copyfrom.c:130
+#: commands/copyfrom.c:126
 #, c-format
 msgid "COPY %s, line %llu, column %s"
 msgstr ""
 
-#: commands/copyfrom.c:135 commands/copyfrom.c:181
+#: commands/copyfrom.c:131 commands/copyfrom.c:177
 #, c-format
 msgid "COPY %s, line %llu"
 msgstr ""
 
-#: commands/copyfrom.c:147
+#: commands/copyfrom.c:143
 #, c-format
 msgid "COPY %s, line %llu, column %s: \"%s\""
 msgstr ""
 
-#: commands/copyfrom.c:157
+#: commands/copyfrom.c:153
 #, c-format
 msgid "COPY %s, line %llu, column %s: null input"
 msgstr ""
 
-#: commands/copyfrom.c:174
+#: commands/copyfrom.c:170
 #, c-format
 msgid "COPY %s, line %llu: \"%s\""
 msgstr ""
@@ -7044,32 +7512,44 @@ msgstr "no se puede ejecutar COPY FREEZE debido a actividad anterior en la trans
 msgid "cannot perform COPY FREEZE because the table was not created or truncated in the current subtransaction"
 msgstr "no se puede ejecutar COPY FREEZE porque la tabla no fue creada ni truncada en la subtransacción en curso"
 
-#: commands/copyfrom.c:1411
+#: commands/copyfrom.c:1313
+#, c-format
+msgid "%llu row was skipped due to data type incompatibility"
+msgid_plural "%llu rows were skipped due to data type incompatibility"
+msgstr[0] ""
+msgstr[1] ""
+
+#: commands/copyfrom.c:1447
 #, c-format
 msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY"
 msgstr "la columna FORCE_NOT_NULL «%s» no es referenciada en COPY"
 
-#: commands/copyfrom.c:1434
+#: commands/copyfrom.c:1489
 #, c-format
 msgid "FORCE_NULL column \"%s\" not referenced by COPY"
 msgstr "la columna FORCE_NULL «%s» no es referenciada en COPY"
 
-#: commands/copyfrom.c:1672
+#: commands/copyfrom.c:1542 utils/mb/mbutils.c:385
+#, c-format
+msgid "default conversion function for encoding \"%s\" to \"%s\" does not exist"
+msgstr "no existe el procedimiento por omisión de conversión desde la codificación «%s» a «%s»"
+
+#: commands/copyfrom.c:1740
 #, c-format
 msgid "COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \\copy."
 msgstr "COPY FROM indica al proceso servidor de PostgreSQL leer un archivo. Puede desear usar una facilidad del lado del cliente como \\copy de psql."
 
-#: commands/copyfrom.c:1685 commands/copyto.c:708
+#: commands/copyfrom.c:1753 commands/copyto.c:701
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "«%s» es un directorio"
 
-#: commands/copyfrom.c:1753 commands/copyto.c:306 libpq/be-secure-common.c:83
+#: commands/copyfrom.c:1821 commands/copyto.c:299 libpq/be-secure-common.c:83
 #, c-format
 msgid "could not close pipe to external command: %m"
 msgstr "no se pudo cerrar la tubería a la orden externa: %m"
 
-#: commands/copyfrom.c:1768 commands/copyto.c:311
+#: commands/copyfrom.c:1836 commands/copyto.c:304
 #, c-format
 msgid "program \"%s\" failed"
 msgstr "el programa «%s» falló"
@@ -7110,17 +7590,17 @@ msgid "could not read from COPY file: %m"
 msgstr "no se pudo leer desde archivo COPY: %m"
 
 #: commands/copyfromparse.c:278 commands/copyfromparse.c:303
-#: tcop/postgres.c:377
+#: replication/walsender.c:756 replication/walsender.c:782 tcop/postgres.c:377
 #, c-format
 msgid "unexpected EOF on client connection with an open transaction"
 msgstr "se encontró fin de archivo inesperado en una conexión con una transacción abierta"
 
-#: commands/copyfromparse.c:294
+#: commands/copyfromparse.c:294 replication/walsender.c:772
 #, c-format
 msgid "unexpected message type 0x%02X during COPY from stdin"
 msgstr "se recibió un mensaje de tipo 0x%02X inesperado durante COPY desde la entrada estándar"
 
-#: commands/copyfromparse.c:317
+#: commands/copyfromparse.c:317 replication/walsender.c:803
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "falló COPY desde la entrada estándar: %s"
@@ -7141,8 +7621,8 @@ msgstr "discordancia de nombre de columna en campo %d de la línea de encabezado
 msgid "column name mismatch in header line field %d: got \"%s\", expected \"%s\""
 msgstr "discordancia en nombre de columna en campo %d de la línea de encabezado: se obtuvo «%s», se esperaba «%s»"
 
-#: commands/copyfromparse.c:892 commands/copyfromparse.c:1514
-#: commands/copyfromparse.c:1770
+#: commands/copyfromparse.c:892 commands/copyfromparse.c:1554
+#: commands/copyfromparse.c:1810
 #, c-format
 msgid "extra data after last expected column"
 msgstr "datos extra después de la última columna esperada"
@@ -7152,1126 +7632,1210 @@ msgstr "datos extra después de la última columna esperada"
 msgid "missing data for column \"%s\""
 msgstr "faltan datos en la columna «%s»"
 
-#: commands/copyfromparse.c:999
+#: commands/copyfromparse.c:990
+#, c-format
+msgid "skipping row due to data type incompatibility at line %llu for column %s: \"%s\""
+msgstr ""
+
+#: commands/copyfromparse.c:998
+#, c-format
+msgid "skipping row due to data type incompatibility at line %llu for column %s: null input"
+msgstr ""
+
+#: commands/copyfromparse.c:1044
 #, c-format
 msgid "received copy data after EOF marker"
 msgstr "se recibieron datos de copy después del marcador EOF"
 
-#: commands/copyfromparse.c:1006
+#: commands/copyfromparse.c:1051
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "la cantidad de registros es %d, pero se esperaban %d"
 
-#: commands/copyfromparse.c:1296 commands/copyfromparse.c:1313
+#: commands/copyfromparse.c:1336 commands/copyfromparse.c:1353
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "se encontró un retorno de carro literal en los datos"
 
-#: commands/copyfromparse.c:1297 commands/copyfromparse.c:1314
+#: commands/copyfromparse.c:1337 commands/copyfromparse.c:1354
 #, c-format
 msgid "unquoted carriage return found in data"
 msgstr "se encontró un retorno de carro fuera de comillas en los datos"
 
-#: commands/copyfromparse.c:1299 commands/copyfromparse.c:1316
+#: commands/copyfromparse.c:1339 commands/copyfromparse.c:1356
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Use «\\r» para representar el retorno de carro."
 
-#: commands/copyfromparse.c:1300 commands/copyfromparse.c:1317
+#: commands/copyfromparse.c:1340 commands/copyfromparse.c:1357
 #, c-format
 msgid "Use quoted CSV field to represent carriage return."
 msgstr "Use un campo CSV entre comillas para representar el retorno de carro."
 
-#: commands/copyfromparse.c:1329
+#: commands/copyfromparse.c:1369
 #, c-format
 msgid "literal newline found in data"
 msgstr "se encontró un salto de línea literal en los datos"
 
-#: commands/copyfromparse.c:1330
+#: commands/copyfromparse.c:1370
 #, c-format
 msgid "unquoted newline found in data"
 msgstr "se encontró un salto de línea fuera de comillas en los datos"
 
-#: commands/copyfromparse.c:1332
+#: commands/copyfromparse.c:1372
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "Use «\\n» para representar un salto de línea."
 
-#: commands/copyfromparse.c:1333
+#: commands/copyfromparse.c:1373
 #, c-format
 msgid "Use quoted CSV field to represent newline."
 msgstr "Use un campo CSV entre comillas para representar un salto de línea."
 
-#: commands/copyfromparse.c:1379 commands/copyfromparse.c:1415
+#: commands/copyfromparse.c:1419 commands/copyfromparse.c:1455
 #, c-format
 msgid "end-of-copy marker does not match previous newline style"
 msgstr "el marcador fin-de-copy no coincide con el estilo previo de salto de línea"
 
-#: commands/copyfromparse.c:1388 commands/copyfromparse.c:1404
+#: commands/copyfromparse.c:1428 commands/copyfromparse.c:1444
 #, c-format
 msgid "end-of-copy marker corrupt"
 msgstr "marcador fin-de-copy corrupto"
 
-#: commands/copyfromparse.c:1706 commands/copyfromparse.c:1921
+#: commands/copyfromparse.c:1746 commands/copyfromparse.c:1961
 #, fuzzy, c-format
 #| msgid "unexpected EOF in COPY data"
-msgid "unexpected DEFAULT in COPY data"
+msgid "unexpected default marker in COPY data"
 msgstr "EOF inesperado en datos de COPY"
 
-#: commands/copyfromparse.c:1707 commands/copyfromparse.c:1922
+#: commands/copyfromparse.c:1747 commands/copyfromparse.c:1962
 #, fuzzy, c-format
-#| msgid "column \"%s\" can only be updated to DEFAULT"
-msgid "Column \"%s\" has no DEFAULT value."
-msgstr "la columna «%s» sólo puede actualizarse a DEFAULT"
+#| msgid "column \"%s\" inherits conflicting default values"
+msgid "Column \"%s\" has no default value."
+msgstr "la columna «%s» hereda valores por omisión no coincidentes"
 
-#: commands/copyfromparse.c:1854
+#: commands/copyfromparse.c:1894
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "un valor entre comillas está inconcluso"
 
-#: commands/copyfromparse.c:1956 commands/copyfromparse.c:1975
+#: commands/copyfromparse.c:1996 commands/copyfromparse.c:2015
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "EOF inesperado en datos de COPY"
 
-#: commands/copyfromparse.c:1965
+#: commands/copyfromparse.c:2005
 #, c-format
 msgid "invalid field size"
 msgstr "el tamaño de campo no es válido"
 
-#: commands/copyfromparse.c:1988
+#: commands/copyfromparse.c:2028
 #, c-format
 msgid "incorrect binary data format"
 msgstr "el formato de datos binarios es incorrecto"
 
-#: commands/copyto.c:236
+#: commands/copyto.c:229
 #, c-format
 msgid "could not write to COPY program: %m"
 msgstr "no se pudo escribir al programa COPY: %m"
 
-#: commands/copyto.c:241
+#: commands/copyto.c:234
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "no se pudo escribir archivo COPY: %m"
 
-#: commands/copyto.c:386
+#: commands/copyto.c:379
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "no se puede copiar desde la vista «%s»"
 
-#: commands/copyto.c:388 commands/copyto.c:394 commands/copyto.c:400
-#: commands/copyto.c:411
+#: commands/copyto.c:381 commands/copyto.c:387 commands/copyto.c:393
+#: commands/copyto.c:404
 #, c-format
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "Intente la forma COPY (SELECT ...) TO."
 
-#: commands/copyto.c:392
+#: commands/copyto.c:385
 #, c-format
 msgid "cannot copy from materialized view \"%s\""
 msgstr "no se puede copiar desde la vista materializada «%s»"
 
-#: commands/copyto.c:398
+#: commands/copyto.c:391
 #, c-format
 msgid "cannot copy from foreign table \"%s\""
 msgstr "no se puede copiar desde la tabla foránea «%s»"
 
-#: commands/copyto.c:404
+#: commands/copyto.c:397
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "no se puede copiar desde la secuencia «%s»"
 
-#: commands/copyto.c:409
+#: commands/copyto.c:402
 #, c-format
 msgid "cannot copy from partitioned table \"%s\""
 msgstr "no se puede hacer copy de la tabla particionada «%s»"
 
-#: commands/copyto.c:415
+#: commands/copyto.c:408
 #, c-format
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "no se puede copiar desde la relación «%s» porque no es una tabla"
 
-#: commands/copyto.c:467
+#: commands/copyto.c:460
 #, c-format
 msgid "DO INSTEAD NOTHING rules are not supported for COPY"
 msgstr "las reglas DO INSTEAD NOTHING no están soportadas para COPY"
 
-#: commands/copyto.c:481
+#: commands/copyto.c:474
 #, c-format
 msgid "conditional DO INSTEAD rules are not supported for COPY"
 msgstr "las reglas DO INSTEAD condicionales no están soportadas para COPY"
 
-#: commands/copyto.c:485
+#: commands/copyto.c:478
 #, c-format
 msgid "DO ALSO rules are not supported for the COPY"
 msgstr "las reglas DO ALSO no están soportadas para COPY"
 
-#: commands/copyto.c:490
+#: commands/copyto.c:483
 #, c-format
 msgid "multi-statement DO INSTEAD rules are not supported for COPY"
 msgstr "las reglas DO INSTEAD de múltiples sentencias no están soportadas para COPY"
 
-#: commands/copyto.c:500
+#: commands/copyto.c:493
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) no está soportado"
 
-#: commands/copyto.c:517
+#: commands/copyto.c:511
 #, c-format
 msgid "COPY query must have a RETURNING clause"
 msgstr "la consulta COPY debe tener una cláusula RETURNING"
 
-#: commands/copyto.c:546
+#: commands/copyto.c:540
 #, c-format
 msgid "relation referenced by COPY statement has changed"
 msgstr "la relación referenciada por la sentencia COPY ha cambiado"
 
-#: commands/copyto.c:605
+#: commands/copyto.c:596
 #, c-format
 msgid "FORCE_QUOTE column \"%s\" not referenced by COPY"
 msgstr "la columna FORCE_QUOTE «%s» no es referenciada en COPY"
 
-#: commands/copyto.c:673
+#: commands/copyto.c:666
 #, c-format
 msgid "relative path not allowed for COPY to file"
 msgstr "no se permiten rutas relativas para COPY hacia un archivo"
 
-#: commands/copyto.c:692
+#: commands/copyto.c:685
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "no se pudo abrir el archivo «%s» para escritura: %m"
 
-#: commands/copyto.c:695
+#: commands/copyto.c:688
 #, c-format
 msgid "COPY TO instructs the PostgreSQL server process to write a file. You may want a client-side facility such as psql's \\copy."
 msgstr "COPY TO indica al proceso servidor PostgreSQL escribir a un archivo. Puede desear usar facilidades del lado del cliente, como \\copy de psql."
 
-#: commands/createas.c:215 commands/createas.c:523
+#: commands/createas.c:210 commands/createas.c:516
 #, c-format
 msgid "too many column names were specified"
 msgstr "se especificaron demasiados nombres de columna"
 
-#: commands/createas.c:546
+#: commands/createas.c:539
 #, c-format
 msgid "policies not yet implemented for this command"
 msgstr "las políticas no están implementadas para esta orden"
 
-#: commands/dbcommands.c:822
+#: commands/dbcommands.c:829
 #, c-format
 msgid "LOCATION is not supported anymore"
 msgstr "LOCATION ya no está soportado"
 
-#: commands/dbcommands.c:823
+#: commands/dbcommands.c:830
 #, c-format
 msgid "Consider using tablespaces instead."
 msgstr "Considere usar tablespaces."
 
-#: commands/dbcommands.c:848
+#: commands/dbcommands.c:855
 #, c-format
 msgid "OIDs less than %u are reserved for system objects"
 msgstr "los OIDs menores que %u están reservados para objetos del sistema"
 
-#: commands/dbcommands.c:879 utils/adt/ascii.c:146
+#: commands/dbcommands.c:886 utils/adt/ascii.c:146
 #, c-format
 msgid "%d is not a valid encoding code"
 msgstr "%d no es un código válido de codificación"
 
-#: commands/dbcommands.c:890 utils/adt/ascii.c:128
+#: commands/dbcommands.c:897 utils/adt/ascii.c:128
 #, c-format
 msgid "%s is not a valid encoding name"
 msgstr "%s no es un nombre válido de codificación"
 
-#: commands/dbcommands.c:919
+#: commands/dbcommands.c:931
 #, c-format
 msgid "unrecognized locale provider: %s"
 msgstr "proveedor de ordenamiento no reconocido: %s"
 
-#: commands/dbcommands.c:932 commands/dbcommands.c:2318 commands/user.c:300
-#: commands/user.c:740
+#: commands/dbcommands.c:944 commands/dbcommands.c:2402 commands/user.c:299
+#: commands/user.c:739
 #, c-format
 msgid "invalid connection limit: %d"
 msgstr "límite de conexión no válido: %d"
 
-#: commands/dbcommands.c:953
+#: commands/dbcommands.c:965
 #, c-format
 msgid "permission denied to create database"
 msgstr "se ha denegado el permiso para crear la base de datos"
 
-#: commands/dbcommands.c:977
+#: commands/dbcommands.c:989
 #, c-format
 msgid "template database \"%s\" does not exist"
 msgstr "no existe la base de datos patrón «%s»"
 
-#: commands/dbcommands.c:989
+#: commands/dbcommands.c:999
+#, fuzzy, c-format
+#| msgid "cannot use partial index \"%s\" as replica identity"
+msgid "cannot use invalid database \"%s\" as template"
+msgstr "no se puede usar el índice parcial «%s» como identidad de réplica"
+
+#: commands/dbcommands.c:1000 commands/dbcommands.c:2431
+#: utils/init/postinit.c:1112
+#, fuzzy, c-format
+#| msgid "Use DROP TABLE to remove a table."
+msgid "Use DROP DATABASE to drop invalid databases."
+msgstr "Use DROP TABLE para eliminar una tabla."
+
+#: commands/dbcommands.c:1011
 #, c-format
 msgid "permission denied to copy database \"%s\""
 msgstr "se ha denegado el permiso para copiar la base de datos «%s»"
 
-#: commands/dbcommands.c:1006
+#: commands/dbcommands.c:1028
 #, fuzzy, c-format
 #| msgid "invalid parameter list format: \"%s\""
 msgid "invalid create database strategy \"%s\""
 msgstr "el formato de la lista de parámetros no es válido: «%s»"
 
-#: commands/dbcommands.c:1007
+#: commands/dbcommands.c:1029
 #, fuzzy, c-format
 #| msgid "Valid values are \"local\" and \"cascaded\"."
-msgid "Valid strategies are \"wal_log\", and \"file_copy\"."
+msgid "Valid strategies are \"wal_log\" and \"file_copy\"."
 msgstr "Los valores aceptables son «local» y «cascaded»."
 
-#: commands/dbcommands.c:1028
+#: commands/dbcommands.c:1050
 #, c-format
 msgid "invalid server encoding %d"
 msgstr "la codificación de servidor %d no es válida"
 
-#: commands/dbcommands.c:1034 commands/dbcommands.c:1039
+#: commands/dbcommands.c:1056
+#, fuzzy, c-format
+#| msgid "invalid locale name: \"%s\""
+msgid "invalid LC_COLLATE locale name: \"%s\""
+msgstr "nombre de configuración regional no válido: «%s»"
+
+#: commands/dbcommands.c:1057 commands/dbcommands.c:1063
 #, c-format
-msgid "invalid locale name: \"%s\""
+msgid "If the locale name is specific to ICU, use ICU_LOCALE."
+msgstr ""
+
+#: commands/dbcommands.c:1062
+#, fuzzy, c-format
+#| msgid "invalid locale name: \"%s\""
+msgid "invalid LC_CTYPE locale name: \"%s\""
 msgstr "nombre de configuración regional no válido: «%s»"
 
-#: commands/dbcommands.c:1049
+#: commands/dbcommands.c:1074
+#, fuzzy, c-format
+#| msgid "ICU locale cannot be specified unless locale provider is ICU"
+msgid "BUILTIN_LOCALE cannot be specified unless locale provider is builtin"
+msgstr "no se puede especificar una configuración regional ICU a menos que el proveedor de configuración regional sea ICU"
+
+#: commands/dbcommands.c:1082
+#, c-format
+msgid "ICU locale cannot be specified unless locale provider is ICU"
+msgstr "no se puede especificar una configuración regional ICU a menos que el proveedor de configuración regional sea ICU"
+
+#: commands/dbcommands.c:1100
+#, fuzzy, c-format
+#| msgid "ICU locale must be specified"
+msgid "LOCALE or BUILTIN_LOCALE must be specified"
+msgstr "el locale ICU debe ser especificado"
+
+#: commands/dbcommands.c:1109
 #, fuzzy, c-format
 #| msgid "encoding \"%s\" not supported by ICU"
 msgid "encoding \"%s\" is not supported with ICU provider"
 msgstr "la codificación «%s» no estæ soportada por ICU"
 
-#: commands/dbcommands.c:1059
-#, c-format
-msgid "ICU locale must be specified"
+#: commands/dbcommands.c:1119
+#, fuzzy, c-format
+#| msgid "ICU locale must be specified"
+msgid "LOCALE or ICU_LOCALE must be specified"
 msgstr "el locale ICU debe ser especificado"
 
-#: commands/dbcommands.c:1088
-#, c-format
-msgid "ICU locale cannot be specified unless locale provider is ICU"
-msgstr "no se puede especificar una configuración regional ICU a menos que el proveedor de configuración regional sea ICU"
-
-#: commands/dbcommands.c:1111
+#: commands/dbcommands.c:1163
 #, c-format
 msgid "new encoding (%s) is incompatible with the encoding of the template database (%s)"
 msgstr "la nueva codificación (%s) es incompatible con la codificación de la base de datos patrón (%s)"
 
-#: commands/dbcommands.c:1114
+#: commands/dbcommands.c:1166
 #, c-format
 msgid "Use the same encoding as in the template database, or use template0 as template."
 msgstr "Use la misma codificación que en la base de datos patrón, o bien use template0 como patrón."
 
-#: commands/dbcommands.c:1119
+#: commands/dbcommands.c:1171
 #, c-format
 msgid "new collation (%s) is incompatible with the collation of the template database (%s)"
 msgstr "la nueva «collation» (%s) es incompatible con la «collation» de la base de datos patrón (%s)"
 
-#: commands/dbcommands.c:1121
+#: commands/dbcommands.c:1173
 #, c-format
 msgid "Use the same collation as in the template database, or use template0 as template."
 msgstr "Use la misma «collation» que en la base de datos patrón, o bien use template0 como patrón."
 
-#: commands/dbcommands.c:1126
+#: commands/dbcommands.c:1178
 #, c-format
 msgid "new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database (%s)"
 msgstr "el nuevo LC_CTYPE (%s) es incompatible con el LC_CTYPE de la base de datos patrón (%s)"
 
-#: commands/dbcommands.c:1128
+#: commands/dbcommands.c:1180
 #, c-format
 msgid "Use the same LC_CTYPE as in the template database, or use template0 as template."
 msgstr "Use el mismo LC_CTYPE que en la base de datos patrón, o bien use template0 como patrón."
 
-#: commands/dbcommands.c:1133
+#: commands/dbcommands.c:1185
 #, fuzzy, c-format
 #| msgid "new encoding (%s) is incompatible with the encoding of the template database (%s)"
 msgid "new locale provider (%s) does not match locale provider of the template database (%s)"
 msgstr "la nueva codificación (%s) es incompatible con la codificación de la base de datos patrón (%s)"
 
-#: commands/dbcommands.c:1135
+#: commands/dbcommands.c:1187
 #, fuzzy, c-format
 #| msgid "Use the same encoding as in the template database, or use template0 as template."
 msgid "Use the same locale provider as in the template database, or use template0 as template."
 msgstr "Use la misma codificación que en la base de datos patrón, o bien use template0 como patrón."
 
-#: commands/dbcommands.c:1147
+#: commands/dbcommands.c:1199
 #, fuzzy, c-format
 #| msgid "new collation (%s) is incompatible with the collation of the template database (%s)"
 msgid "new ICU locale (%s) is incompatible with the ICU locale of the template database (%s)"
 msgstr "la nueva «collation» (%s) es incompatible con la «collation» de la base de datos patrón (%s)"
 
-#: commands/dbcommands.c:1149
+#: commands/dbcommands.c:1201
 #, fuzzy, c-format
 #| msgid "Use the same collation as in the template database, or use template0 as template."
 msgid "Use the same ICU locale as in the template database, or use template0 as template."
 msgstr "Use la misma «collation» que en la base de datos patrón, o bien use template0 como patrón."
 
-#: commands/dbcommands.c:1160
+#: commands/dbcommands.c:1212
 #, fuzzy, c-format
 #| msgid "new collation (%s) is incompatible with the collation of the template database (%s)"
 msgid "new ICU collation rules (%s) are incompatible with the ICU collation rules of the template database (%s)"
 msgstr "la nueva «collation» (%s) es incompatible con la «collation» de la base de datos patrón (%s)"
 
-#: commands/dbcommands.c:1162
+#: commands/dbcommands.c:1214
 #, fuzzy, c-format
 #| msgid "Use the same collation as in the template database, or use template0 as template."
 msgid "Use the same ICU collation rules as in the template database, or use template0 as template."
 msgstr "Use la misma «collation» que en la base de datos patrón, o bien use template0 como patrón."
 
-#: commands/dbcommands.c:1185
+#: commands/dbcommands.c:1243
 #, c-format
 msgid "template database \"%s\" has a collation version, but no actual collation version could be determined"
 msgstr ""
 
-#: commands/dbcommands.c:1190
+#: commands/dbcommands.c:1248
 #, fuzzy, c-format
 #| msgid "template database \"%s\" does not exist"
 msgid "template database \"%s\" has a collation version mismatch"
 msgstr "no existe la base de datos patrón «%s»"
 
-#: commands/dbcommands.c:1192
+#: commands/dbcommands.c:1250
 #, fuzzy, c-format
 #| msgid "The collation in the database was created using version %s, but the operating system provides version %s."
 msgid "The template database was created using collation version %s, but the operating system provides version %s."
 msgstr "El ordenamiento en la base de datos fue creado usando la versión %s, pero el sistema operativo provee la versión %s."
 
-#: commands/dbcommands.c:1195
+#: commands/dbcommands.c:1253
 #, fuzzy, c-format
 #| msgid "Rebuild all objects affected by this collation and run ALTER COLLATION %s REFRESH VERSION, or build PostgreSQL with the right library version."
 msgid "Rebuild all objects in the template database that use the default collation and run ALTER DATABASE %s REFRESH COLLATION VERSION, or build PostgreSQL with the right library version."
 msgstr "Reconstruya todos los objetos afectados por este ordenamiento y ejecute ALTER COLLATION %s REFRESH VERSION, o construya PostgreSQL con la versión correcta de la biblioteca."
 
-#: commands/dbcommands.c:1231 commands/dbcommands.c:1947
+#: commands/dbcommands.c:1298 commands/dbcommands.c:2031
 #, c-format
 msgid "pg_global cannot be used as default tablespace"
 msgstr "no puede usarse pg_global como tablespace por omisión"
 
-#: commands/dbcommands.c:1257
+#: commands/dbcommands.c:1324
 #, c-format
 msgid "cannot assign new default tablespace \"%s\""
 msgstr "no se puede asignar el nuevo tablespace por omisión «%s»"
 
-#: commands/dbcommands.c:1259
+#: commands/dbcommands.c:1326
 #, c-format
 msgid "There is a conflict because database \"%s\" already has some tables in this tablespace."
 msgstr "Hay un conflicto puesto que la base de datos «%s» ya tiene algunas tablas en este tablespace."
 
-#: commands/dbcommands.c:1289 commands/dbcommands.c:1820
+#: commands/dbcommands.c:1356 commands/dbcommands.c:1904
 #, c-format
 msgid "database \"%s\" already exists"
 msgstr "la base de datos «%s» ya existe"
 
-#: commands/dbcommands.c:1303
+#: commands/dbcommands.c:1370
 #, c-format
 msgid "source database \"%s\" is being accessed by other users"
 msgstr "la base de datos de origen «%s» está siendo utilizada por otros usuarios"
 
-#: commands/dbcommands.c:1325
+#: commands/dbcommands.c:1392
 #, fuzzy, c-format
 #| msgid "database \"%s\" already exists"
 msgid "database OID %u is already in use by database \"%s\""
 msgstr "la base de datos «%s» ya existe"
 
-#: commands/dbcommands.c:1331
+#: commands/dbcommands.c:1398
 #, c-format
 msgid "data directory with the specified OID %u already exists"
 msgstr "el directorio de datos con el OID %u especificado ya existe"
 
-#: commands/dbcommands.c:1503 commands/dbcommands.c:1518
+#: commands/dbcommands.c:1571 commands/dbcommands.c:1586
+#: utils/adt/pg_locale.c:2565
 #, c-format
 msgid "encoding \"%s\" does not match locale \"%s\""
 msgstr "la codificación «%s» no coincide con la configuración regional «%s»"
 
-#: commands/dbcommands.c:1506
+#: commands/dbcommands.c:1574
 #, c-format
 msgid "The chosen LC_CTYPE setting requires encoding \"%s\"."
 msgstr "El parámetro LC_CTYPE escogido requiere la codificación «%s»."
 
-#: commands/dbcommands.c:1521
+#: commands/dbcommands.c:1589
 #, c-format
 msgid "The chosen LC_COLLATE setting requires encoding \"%s\"."
 msgstr "El parámetro LC_COLLATE escogido requiere la codificación «%s»."
 
-#: commands/dbcommands.c:1601
+#: commands/dbcommands.c:1670
 #, c-format
 msgid "database \"%s\" does not exist, skipping"
 msgstr "no existe la base de datos «%s», omitiendo"
 
-#: commands/dbcommands.c:1625
+#: commands/dbcommands.c:1694
 #, c-format
 msgid "cannot drop a template database"
 msgstr "no se puede borrar una base de datos patrón"
 
-#: commands/dbcommands.c:1631
+#: commands/dbcommands.c:1700
 #, c-format
 msgid "cannot drop the currently open database"
 msgstr "no se puede eliminar la base de datos activa"
 
-#: commands/dbcommands.c:1644
+#: commands/dbcommands.c:1713
 #, c-format
 msgid "database \"%s\" is used by an active logical replication slot"
 msgstr "la base de datos «%s» está en uso por un slot de replicación activo"
 
-#: commands/dbcommands.c:1646
+#: commands/dbcommands.c:1715
 #, c-format
 msgid "There is %d active slot."
 msgid_plural "There are %d active slots."
 msgstr[0] "Hay %d slot activo."
 msgstr[1] "Hay %d slots activos."
 
-#: commands/dbcommands.c:1660
+#: commands/dbcommands.c:1729
 #, c-format
 msgid "database \"%s\" is being used by logical replication subscription"
 msgstr "la base de datos «%s» está siendo utilizada por suscripciones de replicación lógica"
 
-#: commands/dbcommands.c:1662
+#: commands/dbcommands.c:1731
 #, c-format
 msgid "There is %d subscription."
 msgid_plural "There are %d subscriptions."
 msgstr[0] "Hay %d suscripción."
 msgstr[1] "Hay %d suscripciones."
 
-#: commands/dbcommands.c:1683 commands/dbcommands.c:1842
-#: commands/dbcommands.c:1969
+#: commands/dbcommands.c:1752 commands/dbcommands.c:1926
+#: commands/dbcommands.c:2053
 #, c-format
 msgid "database \"%s\" is being accessed by other users"
 msgstr "la base de datos «%s» está siendo utilizada por otros usuarios"
 
-#: commands/dbcommands.c:1802
+#: commands/dbcommands.c:1886
 #, c-format
 msgid "permission denied to rename database"
 msgstr "se ha denegado el permiso para cambiar el nombre a la base de datos"
 
-#: commands/dbcommands.c:1831
+#: commands/dbcommands.c:1915
 #, c-format
 msgid "current database cannot be renamed"
 msgstr "no se puede cambiar el nombre de la base de datos activa"
 
-#: commands/dbcommands.c:1925
+#: commands/dbcommands.c:2009
 #, c-format
 msgid "cannot change the tablespace of the currently open database"
 msgstr "no se puede cambiar el tablespace de la base de datos activa"
 
-#: commands/dbcommands.c:2031
+#: commands/dbcommands.c:2115
 #, c-format
 msgid "some relations of database \"%s\" are already in tablespace \"%s\""
 msgstr "algunas relaciones de la base de datos «%s» ya están en el tablespace «%s»"
 
-#: commands/dbcommands.c:2033
+#: commands/dbcommands.c:2117
 #, c-format
 msgid "You must move them back to the database's default tablespace before using this command."
 msgstr "Debe moverlas de vuelta al tablespace por omisión de la base de datos antes de ejecutar esta orden."
 
-#: commands/dbcommands.c:2160 commands/dbcommands.c:2868
-#: commands/dbcommands.c:3132 commands/dbcommands.c:3245
+#: commands/dbcommands.c:2244 commands/dbcommands.c:2979
+#: commands/dbcommands.c:3279 commands/dbcommands.c:3392
 #, c-format
 msgid "some useless files may be left behind in old database directory \"%s\""
 msgstr "algunos archivos inútiles pueden haber quedado en el directorio \"%s\""
 
-#: commands/dbcommands.c:2221
+#: commands/dbcommands.c:2305
 #, c-format
 msgid "unrecognized DROP DATABASE option \"%s\""
 msgstr "opción de DROP DATABASE «%s» no reconocida"
 
-#: commands/dbcommands.c:2299
+#: commands/dbcommands.c:2383
 #, c-format
 msgid "option \"%s\" cannot be specified with other options"
 msgstr "la opción «%s» no puede ser especificada con otras opciones"
 
-#: commands/dbcommands.c:2355
+#: commands/dbcommands.c:2430
+#, fuzzy, c-format
+#| msgid "cannot cluster on invalid index \"%s\""
+msgid "cannot alter invalid database \"%s\""
+msgstr "no se puede reordenar en el índice no válido «%s»"
+
+#: commands/dbcommands.c:2447
 #, c-format
 msgid "cannot disallow connections for current database"
 msgstr "no se pueden prohibir las conexiones para la base de datos actual"
 
-#: commands/dbcommands.c:2570
+#: commands/dbcommands.c:2673
 #, c-format
 msgid "permission denied to change owner of database"
 msgstr "se ha denegado el permiso para cambiar el dueño de la base de datos"
 
-#: commands/dbcommands.c:2974
+#: commands/dbcommands.c:3085
 #, c-format
 msgid "There are %d other session(s) and %d prepared transaction(s) using the database."
 msgstr "Hay otras %d sesiones y %d transacciones preparadas usando la base de datos."
 
-#: commands/dbcommands.c:2977
+#: commands/dbcommands.c:3088
 #, c-format
 msgid "There is %d other session using the database."
 msgid_plural "There are %d other sessions using the database."
 msgstr[0] "Hay %d otra sesión usando la base de datos."
 msgstr[1] "Hay otras %d sesiones usando la base de datos."
 
-#: commands/dbcommands.c:2982 storage/ipc/procarray.c:3798
+#: commands/dbcommands.c:3093 storage/ipc/procarray.c:3859
 #, c-format
 msgid "There is %d prepared transaction using the database."
 msgid_plural "There are %d prepared transactions using the database."
 msgstr[0] "Hay %d otra transacción preparada usando la base de datos."
 msgstr[1] "Hay otras %d transacciones preparadas usando la base de datos."
 
-#: commands/dbcommands.c:3088
+#: commands/dbcommands.c:3235
 #, fuzzy, c-format
 #| msgid "removing WAL directory \"%s\""
 msgid "missing directory \"%s\""
 msgstr "eliminando el directorio de WAL «%s»"
 
-#: commands/dbcommands.c:3146 commands/tablespace.c:190
-#: commands/tablespace.c:639
+#: commands/dbcommands.c:3293 commands/tablespace.c:184
+#: commands/tablespace.c:633
 #, c-format
 msgid "could not stat directory \"%s\": %m"
 msgstr "no se pudo hacer stat al directorio «%s»: %m"
 
-#: commands/define.c:54 commands/define.c:258 commands/define.c:290
-#: commands/define.c:318 commands/define.c:364
+#: commands/define.c:53 commands/define.c:257 commands/define.c:289
+#: commands/define.c:317 commands/define.c:363
 #, c-format
 msgid "%s requires a parameter"
 msgstr "%s requiere un parámetro"
 
-#: commands/define.c:87 commands/define.c:98 commands/define.c:192
-#: commands/define.c:210 commands/define.c:225 commands/define.c:243
+#: commands/define.c:86 commands/define.c:97 commands/define.c:191
+#: commands/define.c:209 commands/define.c:224 commands/define.c:242
 #, c-format
 msgid "%s requires a numeric value"
 msgstr "%s requiere un valor numérico"
 
-#: commands/define.c:154
+#: commands/define.c:153
 #, c-format
 msgid "%s requires a Boolean value"
 msgstr "«%s» requiere un valor lógico (booleano)"
 
-#: commands/define.c:168 commands/define.c:177 commands/define.c:327
+#: commands/define.c:167 commands/define.c:176 commands/define.c:326
 #, c-format
 msgid "%s requires an integer value"
 msgstr "%s requiere valor entero"
 
-#: commands/define.c:272
+#: commands/define.c:271
 #, c-format
 msgid "argument of %s must be a name"
 msgstr "el argumento de %s debe ser un nombre"
 
-#: commands/define.c:302
+#: commands/define.c:301
 #, c-format
 msgid "argument of %s must be a type name"
 msgstr "el argumento de %s debe ser un nombre de tipo"
 
-#: commands/define.c:348
+#: commands/define.c:347
 #, c-format
 msgid "invalid argument for %s: \"%s\""
 msgstr "argumento no válido para %s: «%s»"
 
-#: commands/dropcmds.c:101 commands/functioncmds.c:1387
-#: utils/adt/ruleutils.c:2897
+#: commands/dropcmds.c:96 commands/functioncmds.c:1382
+#: utils/adt/ruleutils.c:2909
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "«%s» es una función de agregación"
 
-#: commands/dropcmds.c:103
+#: commands/dropcmds.c:98
 #, c-format
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Use DROP AGGREGATE para eliminar funciones de agregación."
 
-#: commands/dropcmds.c:158 commands/sequence.c:474 commands/tablecmds.c:3710
-#: commands/tablecmds.c:3868 commands/tablecmds.c:3920
-#: commands/tablecmds.c:16468 tcop/utility.c:1335
+#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3877
+#: commands/tablecmds.c:4035 commands/tablecmds.c:4087
+#: commands/tablecmds.c:17073 tcop/utility.c:1325
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "no existe la relación «%s», omitiendo"
 
-#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1285
+#: commands/dropcmds.c:183 commands/dropcmds.c:282 commands/tablecmds.c:1397
 #, c-format
 msgid "schema \"%s\" does not exist, skipping"
 msgstr "el esquema «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:228 commands/dropcmds.c:267 commands/tablecmds.c:277
+#: commands/dropcmds.c:223 commands/dropcmds.c:262 commands/tablecmds.c:286
 #, c-format
 msgid "type \"%s\" does not exist, skipping"
 msgstr "el tipo «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:257
+#: commands/dropcmds.c:252
 #, c-format
 msgid "access method \"%s\" does not exist, skipping"
 msgstr "no existe el método de acceso «%s», omitiendo"
 
-#: commands/dropcmds.c:275
+#: commands/dropcmds.c:270
 #, c-format
 msgid "collation \"%s\" does not exist, skipping"
 msgstr "no existe el ordenamiento (collation) «%s», omitiendo"
 
-#: commands/dropcmds.c:282
+#: commands/dropcmds.c:277
 #, c-format
 msgid "conversion \"%s\" does not exist, skipping"
 msgstr "no existe la conversión «%s», omitiendo"
 
-#: commands/dropcmds.c:293 commands/statscmds.c:654
+#: commands/dropcmds.c:288 commands/statscmds.c:664
 #, c-format
 msgid "statistics object \"%s\" does not exist, skipping"
 msgstr "no existe el objeto de estadísticas «%s», omitiendo"
 
-#: commands/dropcmds.c:300
+#: commands/dropcmds.c:295
 #, c-format
 msgid "text search parser \"%s\" does not exist, skipping"
 msgstr "el analizador de búsqueda en texto «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:307
+#: commands/dropcmds.c:302
 #, c-format
 msgid "text search dictionary \"%s\" does not exist, skipping"
 msgstr "el diccionario de búsqueda en texto «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:314
+#: commands/dropcmds.c:309
 #, c-format
 msgid "text search template \"%s\" does not exist, skipping"
 msgstr "la plantilla de búsqueda en texto «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:321
+#: commands/dropcmds.c:316
 #, c-format
 msgid "text search configuration \"%s\" does not exist, skipping"
 msgstr "no existe la configuración de búsqueda en texto «%s», omitiendo"
 
-#: commands/dropcmds.c:326
+#: commands/dropcmds.c:321
 #, c-format
 msgid "extension \"%s\" does not exist, skipping"
 msgstr "no existe la extensión «%s», omitiendo"
 
-#: commands/dropcmds.c:336
+#: commands/dropcmds.c:331
 #, c-format
 msgid "function %s(%s) does not exist, skipping"
 msgstr "no existe la función %s(%s), omitiendo"
 
-#: commands/dropcmds.c:349
+#: commands/dropcmds.c:344
 #, c-format
 msgid "procedure %s(%s) does not exist, skipping"
 msgstr "el procedimiento %s(%s) no existe, omitiendo"
 
-#: commands/dropcmds.c:362
+#: commands/dropcmds.c:357
 #, c-format
 msgid "routine %s(%s) does not exist, skipping"
 msgstr "no existe la rutina %s(%s), omitiendo"
 
-#: commands/dropcmds.c:375
+#: commands/dropcmds.c:370
 #, c-format
 msgid "aggregate %s(%s) does not exist, skipping"
 msgstr "la función de agregación %s(%s) no existe, omitiendo"
 
-#: commands/dropcmds.c:388
+#: commands/dropcmds.c:383
 #, c-format
 msgid "operator %s does not exist, skipping"
 msgstr "el operador %s no existe, omitiendo"
 
-#: commands/dropcmds.c:394
+#: commands/dropcmds.c:389
 #, c-format
 msgid "language \"%s\" does not exist, skipping"
 msgstr "el lenguaje «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:403
+#: commands/dropcmds.c:398
 #, c-format
 msgid "cast from type %s to type %s does not exist, skipping"
 msgstr "no existe la conversión del tipo %s al tipo %s, omitiendo"
 
-#: commands/dropcmds.c:412
+#: commands/dropcmds.c:407
 #, c-format
 msgid "transform for type %s language \"%s\" does not exist, skipping"
 msgstr "la transformación para el tipo %s lenguaje «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:420
+#: commands/dropcmds.c:415
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "disparador «%s» para la relación «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:429
+#: commands/dropcmds.c:424
 #, c-format
 msgid "policy \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "la política «%s» para la relación «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:436
+#: commands/dropcmds.c:431
 #, c-format
 msgid "event trigger \"%s\" does not exist, skipping"
 msgstr "el disparador por eventos «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:442
+#: commands/dropcmds.c:437
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "la regla «%s» para la relación «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:449
+#: commands/dropcmds.c:444
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist, skipping"
 msgstr "no existe el conector de datos externos «%s», omitiendo"
 
-#: commands/dropcmds.c:453 commands/foreigncmds.c:1360
+#: commands/dropcmds.c:448 commands/foreigncmds.c:1360
 #, c-format
 msgid "server \"%s\" does not exist, skipping"
 msgstr "el servidor «%s» no existe, omitiendo"
 
-#: commands/dropcmds.c:462
+#: commands/dropcmds.c:457
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\", skipping"
 msgstr "no existe la clase de operadores «%s» para el método de acceso «%s», omitiendo"
 
-#: commands/dropcmds.c:474
+#: commands/dropcmds.c:469
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\", skipping"
 msgstr "no existe la familia de operadores «%s» para el método de acceso «%s», omitiendo"
 
-#: commands/dropcmds.c:481
+#: commands/dropcmds.c:476
 #, c-format
 msgid "publication \"%s\" does not exist, skipping"
 msgstr "no existe la publicación «%s», omitiendo"
 
-#: commands/event_trigger.c:125
+#: commands/event_trigger.c:137
 #, c-format
 msgid "permission denied to create event trigger \"%s\""
 msgstr "se ha denegado el permiso para crear el disparador por eventos «%s»"
 
-#: commands/event_trigger.c:127
+#: commands/event_trigger.c:139
 #, c-format
 msgid "Must be superuser to create an event trigger."
 msgstr "Debe ser superusuario para crear un disparador por eventos."
 
-#: commands/event_trigger.c:136
+#: commands/event_trigger.c:149
 #, c-format
 msgid "unrecognized event name \"%s\""
 msgstr "nommre de evento «%s» no reconocido"
 
-#: commands/event_trigger.c:153
+#: commands/event_trigger.c:166
 #, c-format
 msgid "unrecognized filter variable \"%s\""
 msgstr "variable de filtro «%s» no reconocida"
 
-#: commands/event_trigger.c:207
+#: commands/event_trigger.c:181
+#, fuzzy, c-format
+#| msgid "This operation is not supported for unlogged tables."
+msgid "tag filtering is not supported for login event triggers"
+msgstr "Esta característica no está soportada en tablas «unlogged»."
+
+#: commands/event_trigger.c:224
 #, c-format
 msgid "filter value \"%s\" not recognized for filter variable \"%s\""
 msgstr "el valor de filtro «%s» no es reconocido por la variable de filtro «%s»"
 
 #. translator: %s represents an SQL statement name
-#: commands/event_trigger.c:213 commands/event_trigger.c:235
+#: commands/event_trigger.c:230 commands/event_trigger.c:252
 #, c-format
 msgid "event triggers are not supported for %s"
 msgstr "los disparadores por eventos no están soportados para %s"
 
-#: commands/event_trigger.c:248
+#: commands/event_trigger.c:265
 #, c-format
 msgid "filter variable \"%s\" specified more than once"
 msgstr "la variable de filtro «%s» fue especificada más de una vez"
 
-#: commands/event_trigger.c:376 commands/event_trigger.c:420
-#: commands/event_trigger.c:514
+#: commands/event_trigger.c:435 commands/event_trigger.c:487
+#: commands/event_trigger.c:581
 #, c-format
 msgid "event trigger \"%s\" does not exist"
 msgstr "no existe el disparador por eventos «%s»"
 
-#: commands/event_trigger.c:452
+#: commands/event_trigger.c:519
 #, c-format
 msgid "event trigger with OID %u does not exist"
 msgstr "no existe el disparador por eventos con OID %u"
 
-#: commands/event_trigger.c:482
+#: commands/event_trigger.c:549
 #, c-format
 msgid "permission denied to change owner of event trigger \"%s\""
 msgstr "se ha denegado el permiso para cambiar el dueño del disparador por eventos «%s»"
 
-#: commands/event_trigger.c:484
+#: commands/event_trigger.c:551
 #, c-format
 msgid "The owner of an event trigger must be a superuser."
 msgstr "El dueño de un disparador por eventos debe ser un superusuario."
 
-#: commands/event_trigger.c:1304
+#: commands/event_trigger.c:1411
 #, c-format
 msgid "%s can only be called in a sql_drop event trigger function"
 msgstr "%s sólo puede invocarse en una función de un disparador en el evento sql_drop"
 
-#: commands/event_trigger.c:1397 commands/event_trigger.c:1418
+#: commands/event_trigger.c:1504 commands/event_trigger.c:1525
 #, c-format
 msgid "%s can only be called in a table_rewrite event trigger function"
 msgstr "%s sólo puede invocarse en una función de un disparador en el evento table_rewrite"
 
-#: commands/event_trigger.c:1831
+#: commands/event_trigger.c:1938
 #, c-format
 msgid "%s can only be called in an event trigger function"
 msgstr "%s sólo puede invocarse en una función de un disparador por eventos"
 
-#: commands/explain.c:220
+#: commands/explain.c:241 commands/explain.c:266
 #, c-format
 msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\""
 msgstr "valor no reconocido para la opción de EXPLAIN «%s»: «%s»"
 
-#: commands/explain.c:227
+#: commands/explain.c:273
 #, c-format
 msgid "unrecognized EXPLAIN option \"%s\""
 msgstr "opción de EXPLAIN «%s» no reconocida"
 
-#: commands/explain.c:236
+#: commands/explain.c:282
 #, c-format
 msgid "EXPLAIN option WAL requires ANALYZE"
 msgstr "la opción WAL de EXPLAIN requiere ANALYZE"
 
-#: commands/explain.c:245
+#: commands/explain.c:291
 #, c-format
 msgid "EXPLAIN option TIMING requires ANALYZE"
 msgstr "la opción TIMING de EXPLAIN requiere ANALYZE"
 
-#: commands/explain.c:251
+#: commands/explain.c:297
+#, fuzzy, c-format
+#| msgid "EXPLAIN option WAL requires ANALYZE"
+msgid "EXPLAIN option SERIALIZE requires ANALYZE"
+msgstr "la opción WAL de EXPLAIN requiere ANALYZE"
+
+#: commands/explain.c:303
 #, fuzzy, c-format
 #| msgid "options -d/--dbname and -f/--file cannot be used together"
 msgid "EXPLAIN options ANALYZE and GENERIC_PLAN cannot be used together"
 msgstr "las opciones -d/--dbname y -f/--file no pueden usarse juntas"
 
-#: commands/extension.c:177 commands/extension.c:3009
+#: commands/extension.c:178 commands/extension.c:3031
 #, c-format
 msgid "extension \"%s\" does not exist"
 msgstr "no existe la extensión «%s»"
 
-#: commands/extension.c:276 commands/extension.c:285 commands/extension.c:297
-#: commands/extension.c:307
+#: commands/extension.c:277 commands/extension.c:286 commands/extension.c:298
+#: commands/extension.c:308
 #, c-format
 msgid "invalid extension name: \"%s\""
 msgstr "nombre de extensión no válido: «%s»"
 
-#: commands/extension.c:277
+#: commands/extension.c:278
 #, c-format
 msgid "Extension names must not be empty."
 msgstr "Los nombres de extensión no deben ser vacíos."
 
-#: commands/extension.c:286
+#: commands/extension.c:287
 #, c-format
 msgid "Extension names must not contain \"--\"."
 msgstr "Los nombres de extensión no deben contener «--»."
 
-#: commands/extension.c:298
+#: commands/extension.c:299
 #, c-format
 msgid "Extension names must not begin or end with \"-\"."
 msgstr "Los nombres de extensión no deben empezar ni terminar con «-»."
 
-#: commands/extension.c:308
+#: commands/extension.c:309
 #, c-format
 msgid "Extension names must not contain directory separator characters."
 msgstr "Los nombres de extensión no deben contener caracteres separadores de directorio."
 
-#: commands/extension.c:323 commands/extension.c:332 commands/extension.c:341
-#: commands/extension.c:351
+#: commands/extension.c:324 commands/extension.c:333 commands/extension.c:342
+#: commands/extension.c:352
 #, c-format
 msgid "invalid extension version name: \"%s\""
 msgstr "nombre de versión de extensión no válido: «%s»"
 
-#: commands/extension.c:324
+#: commands/extension.c:325
 #, c-format
 msgid "Version names must not be empty."
 msgstr "Los nombres de versión no deben ser vacíos."
 
-#: commands/extension.c:333
+#: commands/extension.c:334
 #, c-format
 msgid "Version names must not contain \"--\"."
 msgstr "Los nombres de versión no deben contener «--»."
 
-#: commands/extension.c:342
+#: commands/extension.c:343
 #, c-format
 msgid "Version names must not begin or end with \"-\"."
 msgstr "Los nombres de versión no deben empezar ni terminar con «-»."
 
-#: commands/extension.c:352
+#: commands/extension.c:353
 #, c-format
 msgid "Version names must not contain directory separator characters."
 msgstr "Los nombres de versión no deben contener caracteres separadores de directorio."
 
-#: commands/extension.c:506
+#: commands/extension.c:507
 #, fuzzy, c-format
 #| msgid "extension \"%s\" does not exist"
 msgid "extension \"%s\" is not available"
 msgstr "no existe la extensión «%s»"
 
-#: commands/extension.c:507
+#: commands/extension.c:508
 #, fuzzy, c-format
 #| msgid "could not open extension control file \"%s\": %m"
 msgid "Could not open extension control file \"%s\": %m."
 msgstr "no se pudo abrir el archivo de control de extensión «%s»: %m"
 
-#: commands/extension.c:509
+#: commands/extension.c:510
 #, c-format
 msgid "The extension must first be installed on the system where PostgreSQL is running."
 msgstr "La extensión debe primero ser instalada en el sistema donde PostgreSQL está ejecutándose."
 
-#: commands/extension.c:513
+#: commands/extension.c:514
 #, c-format
 msgid "could not open extension control file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de control de extensión «%s»: %m"
 
-#: commands/extension.c:536 commands/extension.c:546
+#: commands/extension.c:537 commands/extension.c:547
 #, c-format
 msgid "parameter \"%s\" cannot be set in a secondary extension control file"
 msgstr "el parámetro «%s» no se puede cambiar en un archivo control secundario de extensión"
 
-#: commands/extension.c:568 commands/extension.c:576 commands/extension.c:584
-#: utils/misc/guc.c:3098
+#: commands/extension.c:569 commands/extension.c:577 commands/extension.c:585
+#: utils/misc/guc.c:3147
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "el parámetro «%s» requiere un valor lógico (booleano)"
 
-#: commands/extension.c:593
+#: commands/extension.c:594
 #, c-format
 msgid "\"%s\" is not a valid encoding name"
 msgstr "«%s» no es un nombre válido de codificación"
 
-#: commands/extension.c:607 commands/extension.c:622
+#: commands/extension.c:608 commands/extension.c:623
 #, c-format
 msgid "parameter \"%s\" must be a list of extension names"
 msgstr "el parámetro «%s» debe ser una lista de nombres de extensión"
 
-#: commands/extension.c:629
+#: commands/extension.c:630
 #, c-format
 msgid "unrecognized parameter \"%s\" in file \"%s\""
 msgstr "parámetro no reconocido «%s» en el archivo «%s»"
 
-#: commands/extension.c:638
+#: commands/extension.c:639
 #, c-format
 msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true"
 msgstr "el parámetro «schema» no puede ser especificado cuando «relocatable» es verdadero"
 
-#: commands/extension.c:816
+#: commands/extension.c:817
 #, c-format
 msgid "transaction control statements are not allowed within an extension script"
 msgstr "las sentencias de control de transacción no están permitidos dentro de un guión de transacción"
 
-#: commands/extension.c:896
+#: commands/extension.c:897
 #, c-format
 msgid "permission denied to create extension \"%s\""
 msgstr "se ha denegado el permiso para crear la extensión «%s»"
 
-#: commands/extension.c:899
+#: commands/extension.c:900
 #, c-format
 msgid "Must have CREATE privilege on current database to create this extension."
 msgstr "Debe tener privilegio CREATE en la base de datos actual para crear esta extensión."
 
-#: commands/extension.c:900
+#: commands/extension.c:901
 #, c-format
 msgid "Must be superuser to create this extension."
 msgstr "Debe ser superusuario para crear esta extensión."
 
-#: commands/extension.c:904
+#: commands/extension.c:905
 #, c-format
 msgid "permission denied to update extension \"%s\""
 msgstr "se ha denegado el permiso para actualizar la extensión «%s»"
 
-#: commands/extension.c:907
+#: commands/extension.c:908
 #, c-format
 msgid "Must have CREATE privilege on current database to update this extension."
 msgstr "Debe tener privilegio CREATE en la base de datos actual para actualizar esta extensión."
 
-#: commands/extension.c:908
+#: commands/extension.c:909
 #, c-format
 msgid "Must be superuser to update this extension."
 msgstr "Debe ser superusuario para actualizar esta extensión."
 
-#: commands/extension.c:1265
+#: commands/extension.c:1042
+#, fuzzy, c-format
+#| msgid "invalid mode character: must be one of \"%s\""
+msgid "invalid character in extension owner: must not contain any of \"%s\""
+msgstr "carácter de modo no válido: debe ser uno de «%s»"
+
+#: commands/extension.c:1066 commands/extension.c:1093
+#, fuzzy, c-format
+#| msgid "invalid mode character: must be one of \"%s\""
+msgid "invalid character in extension \"%s\" schema: must not contain any of \"%s\""
+msgstr "carácter de modo no válido: debe ser uno de «%s»"
+
+#: commands/extension.c:1288
 #, c-format
 msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\""
 msgstr "la extensión «%s» no tiene ruta de actualización desde la versión «%s» hasta la versión «%s»"
 
-#: commands/extension.c:1473 commands/extension.c:3067
+#: commands/extension.c:1496 commands/extension.c:3089
 #, c-format
 msgid "version to install must be specified"
 msgstr "la versión a instalar debe ser especificada"
 
-#: commands/extension.c:1510
+#: commands/extension.c:1533
 #, c-format
 msgid "extension \"%s\" has no installation script nor update path for version \"%s\""
 msgstr "la extensión «%s» no tiene script de instalación ni ruta de actualización para la versión «%s»"
 
-#: commands/extension.c:1544
+#: commands/extension.c:1567
 #, c-format
 msgid "extension \"%s\" must be installed in schema \"%s\""
 msgstr "la extensión «%s» debe ser instalada en el esquema «%s»"
 
-#: commands/extension.c:1704
+#: commands/extension.c:1727
 #, c-format
 msgid "cyclic dependency detected between extensions \"%s\" and \"%s\""
 msgstr "detectada una dependencia cíclica entre las extensiones «%s» y «%s»"
 
-#: commands/extension.c:1709
+#: commands/extension.c:1732
 #, c-format
 msgid "installing required extension \"%s\""
 msgstr "instalando la extensión requerida «%s»"
 
-#: commands/extension.c:1732
+#: commands/extension.c:1755
 #, c-format
 msgid "required extension \"%s\" is not installed"
 msgstr "la extensión requerida «%s» no está instalada"
 
-#: commands/extension.c:1735
+#: commands/extension.c:1758
 #, c-format
 msgid "Use CREATE EXTENSION ... CASCADE to install required extensions too."
 msgstr "Use CREATE EXTENSION ... CASCADE para instalar además las extensiones requeridas."
 
-#: commands/extension.c:1770
+#: commands/extension.c:1793
 #, c-format
 msgid "extension \"%s\" already exists, skipping"
 msgstr "la extensión «%s» ya existe, omitiendo"
 
-#: commands/extension.c:1777
+#: commands/extension.c:1800
 #, c-format
 msgid "extension \"%s\" already exists"
 msgstr "la extensión «%s» ya existe"
 
-#: commands/extension.c:1788
+#: commands/extension.c:1811
 #, c-format
 msgid "nested CREATE EXTENSION is not supported"
 msgstr "los CREATE EXTENSION anidados no están soportados"
 
-#: commands/extension.c:1952
+#: commands/extension.c:1975
 #, c-format
 msgid "cannot drop extension \"%s\" because it is being modified"
 msgstr "no se puede eliminar la extensión «%s» porque está siendo modificada"
 
-#: commands/extension.c:2427
+#: commands/extension.c:2450
 #, c-format
 msgid "%s can only be called from an SQL script executed by CREATE EXTENSION"
 msgstr "%s sólo puede invocarse desde un script SQL ejecutado por CREATE EXTENSION"
 
-#: commands/extension.c:2439
+#: commands/extension.c:2462
 #, c-format
 msgid "OID %u does not refer to a table"
 msgstr "el OID %u no hace referencia a una tabla"
 
-#: commands/extension.c:2444
+#: commands/extension.c:2467
 #, c-format
 msgid "table \"%s\" is not a member of the extension being created"
 msgstr "el tabla «%s» no es un miembro de la extensión que se está creando"
 
-#: commands/extension.c:2790
+#: commands/extension.c:2813
 #, c-format
 msgid "cannot move extension \"%s\" into schema \"%s\" because the extension contains the schema"
 msgstr "no se puede mover la extensión «%s» al esquema «%s» porque la extensión contiene al esquema"
 
-#: commands/extension.c:2831 commands/extension.c:2928
+#: commands/extension.c:2854 commands/extension.c:2948
 #, c-format
 msgid "extension \"%s\" does not support SET SCHEMA"
 msgstr "la extensión «%s» no soporta SET SCHEMA"
 
-#: commands/extension.c:2885
+#: commands/extension.c:2911
 #, fuzzy, c-format
 #| msgid "cannot drop extension \"%s\" because it is being modified"
 msgid "cannot SET SCHEMA of extension \"%s\" because other extensions prevent it"
 msgstr "no se puede eliminar la extensión «%s» porque está siendo modificada"
 
-#: commands/extension.c:2887
+#: commands/extension.c:2913
 #, fuzzy, c-format
 #| msgid "relation \"%s\" is not a partition of relation \"%s\""
 msgid "Extension \"%s\" requests no relocation of extension \"%s\"."
 msgstr "relación «%s» no es una partición de la relación «%s»"
 
-#: commands/extension.c:2930
+#: commands/extension.c:2950
 #, c-format
 msgid "%s is not in the extension's schema \"%s\""
 msgstr "%s no está en el esquema de la extensión, «%s»"
 
-#: commands/extension.c:2989
+#: commands/extension.c:3011
 #, c-format
 msgid "nested ALTER EXTENSION is not supported"
 msgstr "los ALTER EXTENSION anidados no están soportados"
 
-#: commands/extension.c:3078
+#: commands/extension.c:3100
 #, c-format
 msgid "version \"%s\" of extension \"%s\" is already installed"
 msgstr "la versión «%s» de la extensión «%s» ya está instalada"
 
-#: commands/extension.c:3290
+#: commands/extension.c:3311
 #, c-format
 msgid "cannot add an object of this type to an extension"
 msgstr "no se puede añadir un objeto de este tipo a una extensión"
 
-#: commands/extension.c:3356
+#: commands/extension.c:3409
 #, c-format
 msgid "cannot add schema \"%s\" to extension \"%s\" because the schema contains the extension"
 msgstr "no se puede agregar el esquema «%s» a la extensión «%s» porque el esquema contiene la extensión"
 
-#: commands/extension.c:3450
+#: commands/extension.c:3491 commands/typecmds.c:4042 utils/fmgr/funcapi.c:725
+#, c-format
+msgid "could not find multirange type for data type %s"
+msgstr "no se pudo encontrar un tipo de multirango para el tipo de dato %s"
+
+#: commands/extension.c:3532
 #, c-format
 msgid "file \"%s\" is too large"
 msgstr "el archivo «%s» es demasiado grande"
@@ -8301,7 +8865,7 @@ msgstr "Debe ser superusuario para cambiar el dueño de un conector de datos ext
 msgid "The owner of a foreign-data wrapper must be a superuser."
 msgstr "El dueño de un conector de datos externos debe ser un superusuario."
 
-#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:678
+#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:681
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist"
 msgstr "no existe el conector de datos externos «%s»"
@@ -8371,7 +8935,7 @@ msgstr "no existe el mapeo de usuario «%s» para el servidor «%s»"
 msgid "user mapping for \"%s\" does not exist for server \"%s\", skipping"
 msgstr "no existe el mapeo de usuario «%s» para el servidor «%s», omitiendo"
 
-#: commands/foreigncmds.c:1507 foreign/foreign.c:391
+#: commands/foreigncmds.c:1507 foreign/foreign.c:394
 #, c-format
 msgid "foreign-data wrapper \"%s\" has no handler"
 msgstr "el conector de datos externos «%s» no tiene manejador"
@@ -8386,920 +8950,928 @@ msgstr "el conector de datos externos «%s» no soporta IMPORT FOREIGN SCHEMA"
 msgid "importing foreign table \"%s\""
 msgstr "importando la tabla foránea «%s»"
 
-#: commands/functioncmds.c:109
+#: commands/functioncmds.c:104
 #, c-format
 msgid "SQL function cannot return shell type %s"
 msgstr "una función SQL no puede retornar el tipo inconcluso %s"
 
-#: commands/functioncmds.c:114
+#: commands/functioncmds.c:109
 #, c-format
 msgid "return type %s is only a shell"
 msgstr "el tipo de retorno %s está inconcluso"
 
-#: commands/functioncmds.c:143 parser/parse_type.c:354
+#: commands/functioncmds.c:138 parser/parse_type.c:354
 #, c-format
 msgid "type modifier cannot be specified for shell type \"%s\""
 msgstr "no se puede especificar un modificador de tipo para el tipo inconcluso «%s»"
 
-#: commands/functioncmds.c:149
+#: commands/functioncmds.c:144
 #, c-format
 msgid "type \"%s\" is not yet defined"
 msgstr "el tipo «%s» no ha sido definido aún"
 
-#: commands/functioncmds.c:150
+#: commands/functioncmds.c:145
 #, c-format
 msgid "Creating a shell type definition."
 msgstr "Creando una definición de tipo inconclusa."
 
-#: commands/functioncmds.c:249
+#: commands/functioncmds.c:244
 #, c-format
 msgid "SQL function cannot accept shell type %s"
 msgstr "las funciones SQL no pueden aceptar el tipo inconcluso %s"
 
-#: commands/functioncmds.c:255
+#: commands/functioncmds.c:250
 #, c-format
 msgid "aggregate cannot accept shell type %s"
 msgstr "las funciones de agregación no pueden aceptar el tipo inconcluso %s"
 
-#: commands/functioncmds.c:260
+#: commands/functioncmds.c:255
 #, c-format
 msgid "argument type %s is only a shell"
 msgstr "el tipo de argumento %s está inconcluso"
 
-#: commands/functioncmds.c:270
+#: commands/functioncmds.c:265
 #, c-format
 msgid "type %s does not exist"
 msgstr "no existe el tipo %s"
 
-#: commands/functioncmds.c:284
+#: commands/functioncmds.c:279
 #, c-format
 msgid "aggregates cannot accept set arguments"
 msgstr "las funciones de agregación no pueden aceptar argumentos de conjunto"
 
-#: commands/functioncmds.c:288
+#: commands/functioncmds.c:283
 #, c-format
 msgid "procedures cannot accept set arguments"
 msgstr "los procedimientos no pueden aceptar argumentos de conjunto"
 
-#: commands/functioncmds.c:292
+#: commands/functioncmds.c:287
 #, c-format
 msgid "functions cannot accept set arguments"
 msgstr "funciones no pueden aceptar argumentos de conjunto"
 
-#: commands/functioncmds.c:302
+#: commands/functioncmds.c:297
 #, c-format
 msgid "VARIADIC parameter must be the last input parameter"
 msgstr "el parámetro VARIADIC debe ser el último parámetro de entrada"
 
-#: commands/functioncmds.c:322
+#: commands/functioncmds.c:317
 #, c-format
 msgid "VARIADIC parameter must be the last parameter"
 msgstr "el parámetro VARIADIC debe ser el último parámetro"
 
-#: commands/functioncmds.c:347
+#: commands/functioncmds.c:342
 #, c-format
 msgid "VARIADIC parameter must be an array"
 msgstr "el parámetro VARIADIC debe ser un array"
 
-#: commands/functioncmds.c:392
+#: commands/functioncmds.c:387
 #, c-format
 msgid "parameter name \"%s\" used more than once"
 msgstr "nombre de parámetro «%s» usado más de una vez"
 
-#: commands/functioncmds.c:410
+#: commands/functioncmds.c:405
 #, c-format
 msgid "only input parameters can have default values"
 msgstr "solo los parámetros de entrada pueden tener valores por omisión"
 
-#: commands/functioncmds.c:425
+#: commands/functioncmds.c:420
 #, c-format
 msgid "cannot use table references in parameter default value"
 msgstr "no se pueden usar referencias a tablas en el valor por omisión de un parámetro"
 
-#: commands/functioncmds.c:449
+#: commands/functioncmds.c:444
 #, c-format
 msgid "input parameters after one with a default value must also have defaults"
 msgstr "los parámetros de entrada después de uno que tenga valor por omisión también deben tener valores por omisión"
 
-#: commands/functioncmds.c:459
+#: commands/functioncmds.c:454
 #, c-format
 msgid "procedure OUT parameters cannot appear after one with a default value"
 msgstr "los parámetros OUT no pueden aparecer después de uno que tenga valor por omisión"
 
-#: commands/functioncmds.c:601 commands/functioncmds.c:780
+#: commands/functioncmds.c:596 commands/functioncmds.c:775
 #, c-format
 msgid "invalid attribute in procedure definition"
 msgstr "atributo no válido en definición de procedimiento"
 
-#: commands/functioncmds.c:697
+#: commands/functioncmds.c:692
 #, c-format
 msgid "support function %s must return type %s"
 msgstr "la función de soporte %s debe retornar el tipo %s"
 
-#: commands/functioncmds.c:708
+#: commands/functioncmds.c:703
 #, c-format
 msgid "must be superuser to specify a support function"
 msgstr "debe ser superusuario para especificar una función de soporte"
 
-#: commands/functioncmds.c:829 commands/functioncmds.c:1432
+#: commands/functioncmds.c:824 commands/functioncmds.c:1427
 #, c-format
 msgid "COST must be positive"
 msgstr "COST debe ser positivo"
 
-#: commands/functioncmds.c:837 commands/functioncmds.c:1440
+#: commands/functioncmds.c:832 commands/functioncmds.c:1435
 #, c-format
 msgid "ROWS must be positive"
 msgstr "ROWS debe ser positivo"
 
-#: commands/functioncmds.c:866
+#: commands/functioncmds.c:861
 #, c-format
 msgid "no function body specified"
 msgstr "no se ha especificado un cuerpo para la función"
 
-#: commands/functioncmds.c:871
+#: commands/functioncmds.c:866
 #, c-format
 msgid "duplicate function body specified"
 msgstr "se ha especificado por duplicado el cuerpo para la función"
 
-#: commands/functioncmds.c:876
+#: commands/functioncmds.c:871
 #, c-format
 msgid "inline SQL function body only valid for language SQL"
 msgstr "cuerpo de función SQL en línea solo es válido para lenguaje SQL"
 
-#: commands/functioncmds.c:918
+#: commands/functioncmds.c:913
 #, c-format
 msgid "SQL function with unquoted function body cannot have polymorphic arguments"
 msgstr "una función SQL con el cuerpo de la función fuera de comillas no puede tener argumentos polimórficos"
 
-#: commands/functioncmds.c:944 commands/functioncmds.c:963
+#: commands/functioncmds.c:939 commands/functioncmds.c:958
 #, c-format
 msgid "%s is not yet supported in unquoted SQL function body"
 msgstr "%s aún no está soportado en una función SQL con el cuerpo fuera de comillas"
 
-#: commands/functioncmds.c:991
+#: commands/functioncmds.c:986
 #, c-format
 msgid "only one AS item needed for language \"%s\""
 msgstr "sólo se requiere un item AS para el lenguaje «%s»"
 
-#: commands/functioncmds.c:1096
+#: commands/functioncmds.c:1091
 #, c-format
 msgid "no language specified"
 msgstr "no se ha especificado el lenguaje"
 
-#: commands/functioncmds.c:1104 commands/functioncmds.c:2105
-#: commands/proclang.c:237
+#: commands/functioncmds.c:1099 commands/functioncmds.c:2104
+#: commands/proclang.c:235
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "no existe el lenguaje «%s»"
 
-#: commands/functioncmds.c:1106 commands/functioncmds.c:2107
+#: commands/functioncmds.c:1101 commands/functioncmds.c:2106
 #, c-format
 msgid "Use CREATE EXTENSION to load the language into the database."
 msgstr "Use CREATE EXTENSION para cargar el lenguaje en la base de datos."
 
-#: commands/functioncmds.c:1139 commands/functioncmds.c:1424
+#: commands/functioncmds.c:1134 commands/functioncmds.c:1419
 #, c-format
 msgid "only superuser can define a leakproof function"
 msgstr "sólo un superusuario puede definir funciones «leakproof»"
 
-#: commands/functioncmds.c:1190
+#: commands/functioncmds.c:1185
 #, c-format
 msgid "function result type must be %s because of OUT parameters"
 msgstr "tipo de retorno de función debe ser %s debido a los parámetros OUT"
 
-#: commands/functioncmds.c:1203
+#: commands/functioncmds.c:1198
 #, c-format
 msgid "function result type must be specified"
 msgstr "el tipo de retorno de la función debe ser especificado"
 
-#: commands/functioncmds.c:1256 commands/functioncmds.c:1444
+#: commands/functioncmds.c:1251 commands/functioncmds.c:1439
 #, c-format
 msgid "ROWS is not applicable when function does not return a set"
 msgstr "ROWS no es aplicable cuando una función no retorna un conjunto"
 
-#: commands/functioncmds.c:1547
+#: commands/functioncmds.c:1546
 #, c-format
 msgid "source data type %s is a pseudo-type"
 msgstr "el tipo de origen %s es un pseudotipo"
 
-#: commands/functioncmds.c:1553
+#: commands/functioncmds.c:1552
 #, c-format
 msgid "target data type %s is a pseudo-type"
 msgstr "el tipo de retorno %s es un pseudotipo"
 
-#: commands/functioncmds.c:1577
+#: commands/functioncmds.c:1576
 #, c-format
 msgid "cast will be ignored because the source data type is a domain"
 msgstr "el cast será ignorado porque el tipo de datos de origen es un dominio"
 
-#: commands/functioncmds.c:1582
+#: commands/functioncmds.c:1581
 #, c-format
 msgid "cast will be ignored because the target data type is a domain"
 msgstr "el cast será ignorado porque el tipo de datos de destino es un dominio"
 
-#: commands/functioncmds.c:1607
+#: commands/functioncmds.c:1606
 #, c-format
 msgid "cast function must take one to three arguments"
 msgstr "la función de conversión lleva de uno a tres argumentos"
 
-#: commands/functioncmds.c:1613
+#: commands/functioncmds.c:1612
 #, c-format
 msgid "argument of cast function must match or be binary-coercible from source data type"
 msgstr "el argumento de la función de conversión debe coincidir o ser binario-convertible con el tipo de origen"
 
-#: commands/functioncmds.c:1617
+#: commands/functioncmds.c:1616
 #, c-format
 msgid "second argument of cast function must be type %s"
 msgstr "el segundo argumento de la función de conversión debe ser de tipo %s"
 
-#: commands/functioncmds.c:1622
+#: commands/functioncmds.c:1621
 #, c-format
 msgid "third argument of cast function must be type %s"
 msgstr "el tercer argumento de la función de conversión debe ser de tipo %s"
 
-#: commands/functioncmds.c:1629
+#: commands/functioncmds.c:1628
 #, c-format
 msgid "return data type of cast function must match or be binary-coercible to target data type"
 msgstr "el tipo de salida de la función de conversión debe coincidir o ser binario-convertible con el tipo de retorno"
 
-#: commands/functioncmds.c:1640
+#: commands/functioncmds.c:1639
 #, c-format
 msgid "cast function must not be volatile"
 msgstr "la función de conversión no debe ser volatile"
 
-#: commands/functioncmds.c:1645
+#: commands/functioncmds.c:1644
 #, c-format
 msgid "cast function must be a normal function"
 msgstr "la función de conversión debe ser una función normal"
 
-#: commands/functioncmds.c:1649
+#: commands/functioncmds.c:1648
 #, c-format
 msgid "cast function must not return a set"
 msgstr "la función de conversión no debe retornar un conjunto"
 
-#: commands/functioncmds.c:1675
+#: commands/functioncmds.c:1674
 #, c-format
 msgid "must be superuser to create a cast WITHOUT FUNCTION"
 msgstr "debe ser superusuario para crear una conversión sin especificar función"
 
-#: commands/functioncmds.c:1690
+#: commands/functioncmds.c:1689
 #, c-format
 msgid "source and target data types are not physically compatible"
 msgstr "los tipos de datos de origen y destino no son físicamente compatibles"
 
-#: commands/functioncmds.c:1705
+#: commands/functioncmds.c:1704
 #, c-format
 msgid "composite data types are not binary-compatible"
 msgstr "los tipos de datos compuestos no son binario-compatibles"
 
-#: commands/functioncmds.c:1711
+#: commands/functioncmds.c:1710
 #, c-format
 msgid "enum data types are not binary-compatible"
 msgstr "los tipos de datos enum no son binario-compatibles"
 
-#: commands/functioncmds.c:1717
+#: commands/functioncmds.c:1716
 #, c-format
 msgid "array data types are not binary-compatible"
 msgstr "los tipos de datos de array no son binario-compatibles"
 
-#: commands/functioncmds.c:1734
+#: commands/functioncmds.c:1733
 #, c-format
 msgid "domain data types must not be marked binary-compatible"
 msgstr "los tipos de dato de dominio no deben ser marcados binario-compatibles"
 
-#: commands/functioncmds.c:1744
+#: commands/functioncmds.c:1743
 #, c-format
 msgid "source data type and target data type are the same"
 msgstr "el tipo de origen y el tipo de retorno son el mismo"
 
-#: commands/functioncmds.c:1777
+#: commands/functioncmds.c:1776
 #, c-format
 msgid "transform function must not be volatile"
 msgstr "la función de transformación no debe ser volatile"
 
-#: commands/functioncmds.c:1781
+#: commands/functioncmds.c:1780
 #, c-format
 msgid "transform function must be a normal function"
 msgstr "la función de transformación debe ser una función normal"
 
-#: commands/functioncmds.c:1785
+#: commands/functioncmds.c:1784
 #, c-format
 msgid "transform function must not return a set"
 msgstr "la función de transformación no debe retornar un conjunto"
 
-#: commands/functioncmds.c:1789
+#: commands/functioncmds.c:1788
 #, c-format
 msgid "transform function must take one argument"
 msgstr "la función de transformación debe recibir un argumento"
 
-#: commands/functioncmds.c:1793
+#: commands/functioncmds.c:1792
 #, c-format
 msgid "first argument of transform function must be type %s"
 msgstr "el primer argumento de la función de transformación debe ser de tipo %s"
 
-#: commands/functioncmds.c:1832
+#: commands/functioncmds.c:1831
 #, c-format
 msgid "data type %s is a pseudo-type"
 msgstr "el tipo de dato %s es un pseudo-tipo"
 
-#: commands/functioncmds.c:1838
+#: commands/functioncmds.c:1837
 #, c-format
 msgid "data type %s is a domain"
 msgstr "tipo de dato «%s» es un dominio"
 
-#: commands/functioncmds.c:1878
+#: commands/functioncmds.c:1877
 #, c-format
 msgid "return data type of FROM SQL function must be %s"
 msgstr "el tipo de dato de retorno de la función FROM SQL debe ser %s"
 
-#: commands/functioncmds.c:1904
+#: commands/functioncmds.c:1903
 #, c-format
 msgid "return data type of TO SQL function must be the transform data type"
 msgstr "el tipo de dato de retorno de la función TO SQL debe ser el tipo de dato de la transformación"
 
-#: commands/functioncmds.c:1931
+#: commands/functioncmds.c:1930
 #, c-format
 msgid "transform for type %s language \"%s\" already exists"
 msgstr "la transformación para el tipo %s lenguaje «%s» ya existe"
 
-#: commands/functioncmds.c:2017
+#: commands/functioncmds.c:2016
 #, c-format
 msgid "transform for type %s language \"%s\" does not exist"
 msgstr "la transformación para el tipo %s lenguaje «%s» no existe"
 
-#: commands/functioncmds.c:2041
+#: commands/functioncmds.c:2040
 #, c-format
 msgid "function %s already exists in schema \"%s\""
 msgstr "ya existe una función llamada %s en el esquema «%s»"
 
-#: commands/functioncmds.c:2092
+#: commands/functioncmds.c:2091
 #, c-format
 msgid "no inline code specified"
 msgstr "no se ha especificado código"
 
-#: commands/functioncmds.c:2138
+#: commands/functioncmds.c:2137
 #, c-format
 msgid "language \"%s\" does not support inline code execution"
 msgstr "el lenguaje «%s» no soporta ejecución de código en línea"
 
-#: commands/functioncmds.c:2233
+#: commands/functioncmds.c:2232
 #, c-format
 msgid "cannot pass more than %d argument to a procedure"
 msgid_plural "cannot pass more than %d arguments to a procedure"
 msgstr[0] "no se pueden pasar más de %d argumento a un procedimiento"
 msgstr[1] "no se pueden pasar más de %d argumentos a un procedimiento"
 
-#: commands/indexcmds.c:641
+#: commands/indexcmds.c:647
 #, c-format
 msgid "must specify at least one column"
 msgstr "debe especificar al menos una columna"
 
-#: commands/indexcmds.c:645
+#: commands/indexcmds.c:651
 #, c-format
 msgid "cannot use more than %d columns in an index"
 msgstr "no se puede usar más de %d columnas en un índice"
 
-#: commands/indexcmds.c:688
+#: commands/indexcmds.c:694
 #, fuzzy, c-format
 #| msgid "cannot change relation \"%s\""
 msgid "cannot create index on relation \"%s\""
 msgstr "no se puede cambiar la relación «%s»"
 
-#: commands/indexcmds.c:714
+#: commands/indexcmds.c:720
 #, c-format
 msgid "cannot create index on partitioned table \"%s\" concurrently"
 msgstr "no se puede crear un índice en la tabla particionada «%s» concurrentemente"
 
-#: commands/indexcmds.c:719
-#, c-format
-msgid "cannot create exclusion constraints on partitioned table \"%s\""
-msgstr "no se pueden create restricciones de exclusión en la tabla particionada «%s»"
-
-#: commands/indexcmds.c:729
+#: commands/indexcmds.c:730
 #, c-format
 msgid "cannot create indexes on temporary tables of other sessions"
 msgstr "no se pueden crear índices en tablas temporales de otras sesiones"
 
-#: commands/indexcmds.c:767 commands/tablecmds.c:784 commands/tablespace.c:1184
+#: commands/indexcmds.c:768 commands/tablecmds.c:806 commands/tablespace.c:1178
 #, c-format
 msgid "cannot specify default tablespace for partitioned relations"
 msgstr "no se puede especificar el tablespace por omisión para las relaciones particionadas"
 
-#: commands/indexcmds.c:799 commands/tablecmds.c:819 commands/tablecmds.c:3409
+#: commands/indexcmds.c:800 commands/tablecmds.c:837 commands/tablecmds.c:3576
 #, c-format
 msgid "only shared relations can be placed in pg_global tablespace"
 msgstr "sólo relaciones compartidas pueden ser puestas en el tablespace pg_global"
 
-#: commands/indexcmds.c:832
+#: commands/indexcmds.c:833
 #, c-format
 msgid "substituting access method \"gist\" for obsolete method \"rtree\""
 msgstr "sustituyendo el método de acceso obsoleto «rtree» por «gist»"
 
-#: commands/indexcmds.c:853
+#: commands/indexcmds.c:854
 #, c-format
 msgid "access method \"%s\" does not support unique indexes"
 msgstr "el método de acceso «%s» no soporta índices únicos"
 
-#: commands/indexcmds.c:858
+#: commands/indexcmds.c:859
 #, c-format
 msgid "access method \"%s\" does not support included columns"
 msgstr "el método de acceso «%s» no soporta columnas incluidas"
 
-#: commands/indexcmds.c:863
+#: commands/indexcmds.c:864
 #, c-format
 msgid "access method \"%s\" does not support multicolumn indexes"
 msgstr "el método de acceso «%s» no soporta índices multicolumna"
 
-#: commands/indexcmds.c:868
+#: commands/indexcmds.c:869
 #, c-format
 msgid "access method \"%s\" does not support exclusion constraints"
 msgstr "el método de acceso «%s» no soporta restricciones de exclusión"
 
-#: commands/indexcmds.c:995
+#: commands/indexcmds.c:998
 #, c-format
 msgid "cannot match partition key to an index using access method \"%s\""
 msgstr "no se puede hacer coincidir la llave de partición a un índice usando el método de acceso «%s»"
 
-#: commands/indexcmds.c:1005
+#: commands/indexcmds.c:1008
 #, c-format
 msgid "unsupported %s constraint with partition key definition"
 msgstr "restricción %s no soportada con definición de llave de particionamiento"
 
-#: commands/indexcmds.c:1007
+#: commands/indexcmds.c:1010
 #, c-format
 msgid "%s constraints cannot be used when partition keys include expressions."
 msgstr "No se pueden usar restricciones %s cuando las llaves de particionamiento incluyen expresiones."
 
-#: commands/indexcmds.c:1046
+#: commands/indexcmds.c:1060
+#, fuzzy, c-format
+#| msgid "cannot match partition key to an index using access method \"%s\""
+msgid "cannot match partition key to index on column \"%s\" using non-equal operator \"%s\""
+msgstr "no se puede hacer coincidir la llave de partición a un índice usando el método de acceso «%s»"
+
+#: commands/indexcmds.c:1076
 #, c-format
 msgid "unique constraint on partitioned table must include all partitioning columns"
 msgstr "las restricciones unique en tablas particionadas deben incluir todas las columnas de particionamiento"
 
-#: commands/indexcmds.c:1047
+#: commands/indexcmds.c:1077
 #, c-format
 msgid "%s constraint on table \"%s\" lacks column \"%s\" which is part of the partition key."
 msgstr "La restricción %s en la tabla «%s» no incluye la columna «%s» que es parte de la llave de particionamiento."
 
-#: commands/indexcmds.c:1066 commands/indexcmds.c:1085
+#: commands/indexcmds.c:1096 commands/indexcmds.c:1115
 #, c-format
 msgid "index creation on system columns is not supported"
 msgstr "la creación de índices en columnas de sistema no está soportada"
 
-#: commands/indexcmds.c:1314 tcop/utility.c:1525
+#: commands/indexcmds.c:1345 tcop/utility.c:1515
 #, c-format
 msgid "cannot create unique index on partitioned table \"%s\""
 msgstr "no se puede crear un índice único en la tabla particionada «%s»"
 
-#: commands/indexcmds.c:1316 tcop/utility.c:1527
+#: commands/indexcmds.c:1347 tcop/utility.c:1517
 #, c-format
 msgid "Table \"%s\" contains partitions that are foreign tables."
 msgstr "La tabla «%s» contiene particiones que son tablas foráneas."
 
-#: commands/indexcmds.c:1811
+#: commands/indexcmds.c:1832
 #, c-format
 msgid "functions in index predicate must be marked IMMUTABLE"
 msgstr "las funciones utilizadas en predicados de índice deben estar marcadas IMMUTABLE"
 
-#: commands/indexcmds.c:1889 parser/parse_utilcmd.c:2513
-#: parser/parse_utilcmd.c:2648
+#: commands/indexcmds.c:1911 parser/parse_utilcmd.c:2494
+#: parser/parse_utilcmd.c:2629
 #, c-format
 msgid "column \"%s\" named in key does not exist"
 msgstr "no existe la columna «%s» en la llave"
 
-#: commands/indexcmds.c:1913 parser/parse_utilcmd.c:1812
+#: commands/indexcmds.c:1935 parser/parse_utilcmd.c:1782
 #, c-format
 msgid "expressions are not supported in included columns"
 msgstr "las expresiones no están soportadas en columnas incluidas"
 
-#: commands/indexcmds.c:1954
+#: commands/indexcmds.c:1976
 #, c-format
 msgid "functions in index expression must be marked IMMUTABLE"
 msgstr "las funciones utilizadas en expresiones de índice deben estar marcadas IMMUTABLE"
 
-#: commands/indexcmds.c:1969
+#: commands/indexcmds.c:1991
 #, c-format
 msgid "including column does not support a collation"
 msgstr "la columna incluida no permite un ordenamiento (collation)"
 
-#: commands/indexcmds.c:1973
+#: commands/indexcmds.c:1995
 #, c-format
 msgid "including column does not support an operator class"
 msgstr "la columna incluida no permite una clase de operadores"
 
-#: commands/indexcmds.c:1977
+#: commands/indexcmds.c:1999
 #, c-format
 msgid "including column does not support ASC/DESC options"
 msgstr "la columna incluida no permite las opciones ASC/DESC"
 
-#: commands/indexcmds.c:1981
+#: commands/indexcmds.c:2003
 #, c-format
 msgid "including column does not support NULLS FIRST/LAST options"
 msgstr "la columna incluida no permite las opciones NULLS FIRST/LAST"
 
-#: commands/indexcmds.c:2022
+#: commands/indexcmds.c:2046
 #, c-format
 msgid "could not determine which collation to use for index expression"
 msgstr "no se pudo determinar qué ordenamiento (collation) usar para la expresión de índice"
 
-#: commands/indexcmds.c:2030 commands/tablecmds.c:17497 commands/typecmds.c:807
-#: parser/parse_expr.c:2722 parser/parse_type.c:568 parser/parse_utilcmd.c:3774
-#: utils/adt/misc.c:586
+#: commands/indexcmds.c:2054 commands/tablecmds.c:18090 commands/typecmds.c:811
+#: parser/parse_expr.c:2784 parser/parse_type.c:568 parser/parse_utilcmd.c:3918
+#: utils/adt/misc.c:630
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "los ordenamientos (collation) no están soportados por el tipo %s"
 
-#: commands/indexcmds.c:2095
+#: commands/indexcmds.c:2121
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "el operador %s no es conmutativo"
 
-#: commands/indexcmds.c:2097
+#: commands/indexcmds.c:2123
 #, c-format
 msgid "Only commutative operators can be used in exclusion constraints."
 msgstr "Sólo operadores conmutativos pueden ser usados en restricciones de exclusión."
 
-#: commands/indexcmds.c:2123
+#: commands/indexcmds.c:2149
 #, c-format
 msgid "operator %s is not a member of operator family \"%s\""
 msgstr "el operador %s no es un miembro de la familia de operadores «%s»"
 
-#: commands/indexcmds.c:2126
+#: commands/indexcmds.c:2152
 #, c-format
 msgid "The exclusion operator must be related to the index operator class for the constraint."
 msgstr "El operador de exclusión debe estar relacionado con la clase de operadores del índice para la restricción."
 
-#: commands/indexcmds.c:2161
+#: commands/indexcmds.c:2187
 #, c-format
 msgid "access method \"%s\" does not support ASC/DESC options"
 msgstr "el método de acceso «%s» no soporta las opciones ASC/DESC"
 
-#: commands/indexcmds.c:2166
+#: commands/indexcmds.c:2192
 #, c-format
 msgid "access method \"%s\" does not support NULLS FIRST/LAST options"
 msgstr "el método de acceso «%s» no soporta las opciones NULLS FIRST/LAST"
 
-#: commands/indexcmds.c:2212 commands/tablecmds.c:17522
-#: commands/tablecmds.c:17528 commands/typecmds.c:2301
+#: commands/indexcmds.c:2236 commands/tablecmds.c:18115
+#: commands/tablecmds.c:18121 commands/typecmds.c:2311
 #, c-format
 msgid "data type %s has no default operator class for access method \"%s\""
 msgstr "el tipo de dato %s no tiene una clase de operadores por omisión para el método de acceso «%s»"
 
-#: commands/indexcmds.c:2214
+#: commands/indexcmds.c:2238
 #, c-format
 msgid "You must specify an operator class for the index or define a default operator class for the data type."
 msgstr "Debe especificar una clase de operadores para el índice, o definir una clase de operadores por omisión para el tipo de datos."
 
-#: commands/indexcmds.c:2243 commands/indexcmds.c:2251
-#: commands/opclasscmds.c:205
+#: commands/indexcmds.c:2267 commands/indexcmds.c:2275
+#: commands/opclasscmds.c:204
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "no existe la clase de operadores «%s» para el método de acceso «%s»"
 
-#: commands/indexcmds.c:2265 commands/typecmds.c:2289
+#: commands/indexcmds.c:2289 commands/typecmds.c:2299
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr "la clase de operadores «%s» no acepta el tipo de datos %s"
 
-#: commands/indexcmds.c:2355
+#: commands/indexcmds.c:2379
 #, c-format
 msgid "there are multiple default operator classes for data type %s"
 msgstr "hay múltiples clases de operadores por omisión para el tipo de datos %s"
 
-#: commands/indexcmds.c:2683
+#: commands/indexcmds.c:2707
 #, c-format
 msgid "unrecognized REINDEX option \"%s\""
 msgstr "opción de REINDEX «%s» no reconocida"
 
-#: commands/indexcmds.c:2910
+#: commands/indexcmds.c:2939
 #, c-format
 msgid "table \"%s\" has no indexes that can be reindexed concurrently"
 msgstr "la tabla «%s» no tiene índices que puedan ser reindexados concurrentemente"
 
-#: commands/indexcmds.c:2924
+#: commands/indexcmds.c:2953
 #, c-format
 msgid "table \"%s\" has no indexes to reindex"
 msgstr "la tabla «%s» no tiene índices para reindexar"
 
-#: commands/indexcmds.c:2969 commands/indexcmds.c:3484
-#: commands/indexcmds.c:3612
+#: commands/indexcmds.c:3000 commands/indexcmds.c:3511
+#: commands/indexcmds.c:3641
 #, c-format
 msgid "cannot reindex system catalogs concurrently"
 msgstr "no se pueden reindexar catálogos de sistema concurrentemente"
 
-#: commands/indexcmds.c:2993
+#: commands/indexcmds.c:3024
 #, c-format
 msgid "can only reindex the currently open database"
 msgstr "sólo se puede reindexar la base de datos actualmente abierta"
 
-#: commands/indexcmds.c:3091
+#: commands/indexcmds.c:3116
 #, c-format
 msgid "cannot reindex system catalogs concurrently, skipping all"
 msgstr "no se puede reindexar un catálogo de sistema concurrentemente, omitiéndolos todos"
 
-#: commands/indexcmds.c:3124
+#: commands/indexcmds.c:3149
 #, c-format
 msgid "cannot move system relations, skipping all"
 msgstr "no se puede mover las relaciones de sistema, omitiendo todas"
 
-#: commands/indexcmds.c:3170
+#: commands/indexcmds.c:3195
 #, c-format
 msgid "while reindexing partitioned table \"%s.%s\""
 msgstr "al reindexar tabla particionada «%s.%s»"
 
-#: commands/indexcmds.c:3173
+#: commands/indexcmds.c:3198
 #, c-format
 msgid "while reindexing partitioned index \"%s.%s\""
 msgstr "al reindexar índice particionado «%s.%s»"
 
-#: commands/indexcmds.c:3364 commands/indexcmds.c:4220
+#: commands/indexcmds.c:3391 commands/indexcmds.c:4259
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "la tabla «%s.%s» fue reindexada"
 
-#: commands/indexcmds.c:3516 commands/indexcmds.c:3568
-#, c-format
-msgid "cannot reindex invalid index \"%s.%s\" concurrently, skipping"
-msgstr "no se puede reindexar el índice no válido «%s.%s» concurrentemente, omitiendo"
+#: commands/indexcmds.c:3543 commands/indexcmds.c:3596
+#, fuzzy, c-format
+#| msgid "while reindexing partitioned index \"%s.%s\""
+msgid "skipping reindex of invalid index \"%s.%s\""
+msgstr "al reindexar índice particionado «%s.%s»"
 
-#: commands/indexcmds.c:3522
+#: commands/indexcmds.c:3546 commands/indexcmds.c:3599
+#, fuzzy, c-format
+#| msgid "Use DROP INDEX to remove an index."
+msgid "Use DROP INDEX or REINDEX INDEX."
+msgstr "Use DROP INDEX para eliminar un índice."
+
+#: commands/indexcmds.c:3550
 #, c-format
 msgid "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping"
 msgstr "no se puede reindexar el índice de restricción de exclusión «%s.%s» concurrentemente, omitiendo"
 
-#: commands/indexcmds.c:3677
+#: commands/indexcmds.c:3706
 #, c-format
 msgid "cannot reindex this type of relation concurrently"
 msgstr "no se puede reindexar este tipo de relación concurrentemente"
 
-#: commands/indexcmds.c:3698
+#: commands/indexcmds.c:3724
 #, c-format
 msgid "cannot move non-shared relation to tablespace \"%s\""
 msgstr "no se puede mover relación no compartida al tablespace «%s»"
 
-#: commands/indexcmds.c:4201 commands/indexcmds.c:4213
+#: commands/indexcmds.c:4240 commands/indexcmds.c:4252
 #, c-format
 msgid "index \"%s.%s\" was reindexed"
 msgstr "el índice «%s.%s» fue reindexado"
 
-#: commands/indexcmds.c:4203 commands/indexcmds.c:4222
+#: commands/indexcmds.c:4242 commands/indexcmds.c:4261
 #, c-format
 msgid "%s."
 msgstr "%s."
 
-#: commands/lockcmds.c:93
+#: commands/lockcmds.c:91
 #, fuzzy, c-format
 #| msgid "cannot lock rows in relation \"%s\""
 msgid "cannot lock relation \"%s\""
 msgstr "no se puede bloquear registros en la tabla «%s»"
 
-#: commands/matview.c:194
+#: commands/matview.c:206
 #, c-format
 msgid "CONCURRENTLY cannot be used when the materialized view is not populated"
 msgstr "no se puede usar CONCURRENTLY cuando la vista materializada no contiene datos"
 
-#: commands/matview.c:200 gram.y:18307
+#: commands/matview.c:212 gram.y:18967
 #, c-format
 msgid "%s and %s options cannot be used together"
 msgstr "las opciones %s y %s no pueden usarse juntas"
 
-#: commands/matview.c:257
+#: commands/matview.c:269
 #, c-format
 msgid "cannot refresh materialized view \"%s\" concurrently"
 msgstr "no se puede refrescar la vista materializada «%s» concurrentemente"
 
-#: commands/matview.c:260
+#: commands/matview.c:272
 #, c-format
 msgid "Create a unique index with no WHERE clause on one or more columns of the materialized view."
 msgstr "Cree un índice único sin cláusula WHERE en una o más columnas de la vista materializada."
 
-#: commands/matview.c:654
+#: commands/matview.c:666
 #, c-format
 msgid "new data for materialized view \"%s\" contains duplicate rows without any null columns"
 msgstr "nuevos datos para la vista materializada «%s» contiene filas duplicadas sin columnas nulas"
 
-#: commands/matview.c:656
+#: commands/matview.c:668
 #, c-format
 msgid "Row: %s"
 msgstr "Fila: %s"
 
-#: commands/opclasscmds.c:124
+#: commands/opclasscmds.c:123
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\""
 msgstr "no existe la familia de operadores «%s» para el método de acceso «%s»"
 
-#: commands/opclasscmds.c:267
+#: commands/opclasscmds.c:266
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists"
 msgstr "ya exista una familia de operadores «%s» para el método de acceso «%s»"
 
-#: commands/opclasscmds.c:416
+#: commands/opclasscmds.c:415
 #, c-format
 msgid "must be superuser to create an operator class"
 msgstr "debe ser superusuario para crear una clase de operadores"
 
-#: commands/opclasscmds.c:493 commands/opclasscmds.c:910
-#: commands/opclasscmds.c:1056
+#: commands/opclasscmds.c:492 commands/opclasscmds.c:909
+#: commands/opclasscmds.c:1055
 #, c-format
 msgid "invalid operator number %d, must be between 1 and %d"
 msgstr "el número de operador %d es incorrecto, debe estar entre 1 y %d"
 
-#: commands/opclasscmds.c:538 commands/opclasscmds.c:960
-#: commands/opclasscmds.c:1072
+#: commands/opclasscmds.c:537 commands/opclasscmds.c:959
+#: commands/opclasscmds.c:1071
 #, c-format
 msgid "invalid function number %d, must be between 1 and %d"
 msgstr "número de función %d no válido, debe estar entre 1 y %d"
 
-#: commands/opclasscmds.c:567
+#: commands/opclasscmds.c:566
 #, c-format
 msgid "storage type specified more than once"
 msgstr "el tipo de almacenamiento fue especificado más de una vez"
 
-#: commands/opclasscmds.c:594
+#: commands/opclasscmds.c:593
 #, c-format
 msgid "storage type cannot be different from data type for access method \"%s\""
 msgstr "el tipo de almacenamiento no puede ser diferente del tipo de dato para el método de acceso «%s»"
 
-#: commands/opclasscmds.c:610
+#: commands/opclasscmds.c:609
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists"
 msgstr "ya exista una clase de operadores «%s» para el método de acceso «%s»"
 
-#: commands/opclasscmds.c:638
+#: commands/opclasscmds.c:637
 #, c-format
 msgid "could not make operator class \"%s\" be default for type %s"
 msgstr "no se pudo hacer que «%s» sea la clase de operadores por omisión para el tipo %s"
 
-#: commands/opclasscmds.c:641
+#: commands/opclasscmds.c:640
 #, c-format
 msgid "Operator class \"%s\" already is the default."
 msgstr "Actualmente, «%s» es la clase de operadores por omisión."
 
-#: commands/opclasscmds.c:801
+#: commands/opclasscmds.c:800
 #, c-format
 msgid "must be superuser to create an operator family"
 msgstr "debe ser superusuario para crear una familia de operadores"
 
-#: commands/opclasscmds.c:861
+#: commands/opclasscmds.c:860
 #, c-format
 msgid "must be superuser to alter an operator family"
 msgstr "debe ser superusuario para alterar una familia de operadores"
 
-#: commands/opclasscmds.c:919
+#: commands/opclasscmds.c:918
 #, c-format
 msgid "operator argument types must be specified in ALTER OPERATOR FAMILY"
 msgstr "los tipos de los argumentos de operador deben ser especificados en ALTER OPERATOR FAMILY"
 
-#: commands/opclasscmds.c:994
+#: commands/opclasscmds.c:993
 #, c-format
 msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY"
 msgstr "STORAGE no puede ser especificado en ALTER OPERATOR FAMILY"
 
-#: commands/opclasscmds.c:1128
+#: commands/opclasscmds.c:1127
 #, c-format
 msgid "one or two argument types must be specified"
 msgstr "uno o dos tipos de argumento debe/n ser especificado"
 
-#: commands/opclasscmds.c:1154
+#: commands/opclasscmds.c:1153
 #, c-format
 msgid "index operators must be binary"
 msgstr "los operadores de índice deben ser binarios"
 
-#: commands/opclasscmds.c:1173
+#: commands/opclasscmds.c:1172
 #, c-format
 msgid "access method \"%s\" does not support ordering operators"
 msgstr "el método de acceso «%s» no soporta operadores de ordenamiento"
 
-#: commands/opclasscmds.c:1184
+#: commands/opclasscmds.c:1183
 #, c-format
 msgid "index search operators must return boolean"
 msgstr "los operadores de búsqueda en índices deben retornar boolean"
 
-#: commands/opclasscmds.c:1224
+#: commands/opclasscmds.c:1223
 #, c-format
 msgid "associated data types for operator class options parsing functions must match opclass input type"
 msgstr "los tipos de dato asociados a las funciones de interpretación de opciones de la clase de operadores deben coincidir exactamente con el tipo de entrada de la clase de operadores"
 
-#: commands/opclasscmds.c:1231
+#: commands/opclasscmds.c:1230
 #, c-format
 msgid "left and right associated data types for operator class options parsing functions must match"
 msgstr "los tipos de dato izquierdo y derecho asociados a las funciones de interpretación de opciones de la clase de operadores deben coincidir"
 
-#: commands/opclasscmds.c:1239
+#: commands/opclasscmds.c:1238
 #, c-format
 msgid "invalid operator class options parsing function"
 msgstr "función de interpretación de opciones de la clase de operadores no válida"
 
-#: commands/opclasscmds.c:1240
+#: commands/opclasscmds.c:1239
 #, c-format
 msgid "Valid signature of operator class options parsing function is %s."
 msgstr "La signatura válida para la función de interpretación de opciones de una clase de operadores es '%s'."
 
-#: commands/opclasscmds.c:1259
+#: commands/opclasscmds.c:1258
 #, c-format
 msgid "btree comparison functions must have two arguments"
 msgstr "las funciones de comparación btree deben tener dos argumentos"
 
-#: commands/opclasscmds.c:1263
+#: commands/opclasscmds.c:1262
 #, c-format
 msgid "btree comparison functions must return integer"
 msgstr "las funciones de comparación btree deben retornar entero"
 
-#: commands/opclasscmds.c:1280
+#: commands/opclasscmds.c:1279
 #, c-format
 msgid "btree sort support functions must accept type \"internal\""
 msgstr "las funciones btree de soporte de ordenamiento deben aceptar tipo «internal»"
 
-#: commands/opclasscmds.c:1284
+#: commands/opclasscmds.c:1283
 #, c-format
 msgid "btree sort support functions must return void"
 msgstr "las funciones btree de soporte de ordenamiento deben retornar void"
 
-#: commands/opclasscmds.c:1295
+#: commands/opclasscmds.c:1294
 #, c-format
 msgid "btree in_range functions must have five arguments"
 msgstr "las funciones btree in_range deben tener cinco argumentos"
 
-#: commands/opclasscmds.c:1299
+#: commands/opclasscmds.c:1298
 #, c-format
 msgid "btree in_range functions must return boolean"
 msgstr "las funciones btree in_range deben retornar booleano"
 
-#: commands/opclasscmds.c:1315
+#: commands/opclasscmds.c:1314
 #, c-format
 msgid "btree equal image functions must have one argument"
 msgstr "las funciones btree de igualdad de imagen deben tener un argumento"
 
-#: commands/opclasscmds.c:1319
+#: commands/opclasscmds.c:1318
 #, c-format
 msgid "btree equal image functions must return boolean"
 msgstr "las funciones btree de igualdad de imagen deben retornar booleano"
 
-#: commands/opclasscmds.c:1332
+#: commands/opclasscmds.c:1331
 #, c-format
 msgid "btree equal image functions must not be cross-type"
 msgstr "las funciones btree de igualdad de imagen no deben ser entre distintos tipos"
 
-#: commands/opclasscmds.c:1342
+#: commands/opclasscmds.c:1341
 #, c-format
 msgid "hash function 1 must have one argument"
 msgstr "la función de hash 1 debe tener un argumento"
 
-#: commands/opclasscmds.c:1346
+#: commands/opclasscmds.c:1345
 #, c-format
 msgid "hash function 1 must return integer"
 msgstr "la función de hash 1 debe retornar integer"
 
-#: commands/opclasscmds.c:1353
+#: commands/opclasscmds.c:1352
 #, c-format
 msgid "hash function 2 must have two arguments"
 msgstr "la función de hash 2 debe tener dos argumentos"
 
-#: commands/opclasscmds.c:1357
+#: commands/opclasscmds.c:1356
 #, c-format
 msgid "hash function 2 must return bigint"
 msgstr "la función de hash 2 debe retornar bigint"
 
-#: commands/opclasscmds.c:1382
+#: commands/opclasscmds.c:1381
 #, c-format
 msgid "associated data types must be specified for index support function"
 msgstr "los tipos de datos asociados deben ser especificados para una función de soporte de índice"
 
-#: commands/opclasscmds.c:1407
+#: commands/opclasscmds.c:1406
 #, c-format
 msgid "function number %d for (%s,%s) appears more than once"
 msgstr "la función número %d para (%s,%s) aparece más de una vez"
 
-#: commands/opclasscmds.c:1414
+#: commands/opclasscmds.c:1413
 #, c-format
 msgid "operator number %d for (%s,%s) appears more than once"
 msgstr "el número de operador %d para (%s,%s) aparece más de una vez"
 
-#: commands/opclasscmds.c:1460
+#: commands/opclasscmds.c:1459
 #, c-format
 msgid "operator %d(%s,%s) already exists in operator family \"%s\""
 msgstr "ya existe un operador %d(%s,%s) en la familia de operadores «%s»"
 
-#: commands/opclasscmds.c:1566
+#: commands/opclasscmds.c:1565
 #, c-format
 msgid "function %d(%s,%s) already exists in operator family \"%s\""
 msgstr "ya existe una función %d(%s,%s) en la familia de operador «%s»"
 
-#: commands/opclasscmds.c:1647
+#: commands/opclasscmds.c:1646
 #, c-format
 msgid "operator %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "no existe el operador %d(%s,%s) en la familia de operadores «%s»"
 
-#: commands/opclasscmds.c:1687
+#: commands/opclasscmds.c:1686
 #, c-format
 msgid "function %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "no existe la función %d(%s,%s) en la familia de operadores «%s»"
 
-#: commands/opclasscmds.c:1718
+#: commands/opclasscmds.c:1717
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists in schema \"%s\""
 msgstr "ya existe una clase de operadores «%s» para el método de acceso «%s» en el esquema «%s»"
 
-#: commands/opclasscmds.c:1741
+#: commands/opclasscmds.c:1740
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists in schema \"%s\""
 msgstr "ya existe una familia de operadores «%s» para el método de acceso «%s» en el esquema «%s»"
@@ -9309,7 +9881,7 @@ msgstr "ya existe una familia de operadores «%s» para el método de acceso «%
 msgid "SETOF type not allowed for operator argument"
 msgstr "no se permite un tipo SETOF en los argumentos de un operador"
 
-#: commands/operatorcmds.c:154 commands/operatorcmds.c:481
+#: commands/operatorcmds.c:154 commands/operatorcmds.c:554
 #, c-format
 msgid "operator attribute \"%s\" not recognized"
 msgstr "el atributo de operador «%s» no es reconocido"
@@ -9349,53 +9921,71 @@ msgstr "la función de estimación de join %s tiene múltiples coincidencias"
 msgid "join estimator function %s must return type %s"
 msgstr "la función de estimación de join %s debe retornar tipo %s"
 
-#: commands/operatorcmds.c:475
+#: commands/operatorcmds.c:388 parser/parse_oper.c:119 parser/parse_oper.c:637
+#: utils/adt/regproc.c:509 utils/adt/regproc.c:683
+#, c-format
+msgid "operator does not exist: %s"
+msgstr "el operador no existe: %s"
+
+#: commands/operatorcmds.c:396 parser/parse_oper.c:702 parser/parse_oper.c:815
+#, c-format
+msgid "operator is only a shell: %s"
+msgstr "el operador está inconcluso: %s"
+
+#: commands/operatorcmds.c:548
 #, c-format
 msgid "operator attribute \"%s\" cannot be changed"
 msgstr "el atributo de operador «%s» no puede ser cambiado"
 
-#: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:149
-#: commands/tablecmds.c:1616 commands/tablecmds.c:2219
-#: commands/tablecmds.c:3520 commands/tablecmds.c:6369
-#: commands/tablecmds.c:9181 commands/tablecmds.c:17090
-#: commands/tablecmds.c:17125 commands/trigger.c:323 commands/trigger.c:1339
-#: commands/trigger.c:1449 rewrite/rewriteDefine.c:275
-#: rewrite/rewriteDefine.c:786 rewrite/rewriteRemove.c:80
+#: commands/operatorcmds.c:615 commands/operatorcmds.c:622
+#: commands/operatorcmds.c:628 commands/operatorcmds.c:634
+#, fuzzy, c-format
+#| msgid "operator attribute \"%s\" cannot be changed"
+msgid "operator attribute \"%s\" cannot be changed if it has already been set"
+msgstr "el atributo de operador «%s» no puede ser cambiado"
+
+#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:146
+#: commands/tablecmds.c:1728 commands/tablecmds.c:2328
+#: commands/tablecmds.c:3687 commands/tablecmds.c:6625
+#: commands/tablecmds.c:9657 commands/tablecmds.c:17677
+#: commands/tablecmds.c:17712 commands/trigger.c:316 commands/trigger.c:1332
+#: commands/trigger.c:1442 rewrite/rewriteDefine.c:268
+#: rewrite/rewriteDefine.c:779 rewrite/rewriteRemove.c:74
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "permiso denegado: «%s» es un catálogo de sistema"
 
-#: commands/policy.c:172
+#: commands/policy.c:169
 #, c-format
 msgid "ignoring specified roles other than PUBLIC"
 msgstr "ignorando los roles especificados que no son PUBLIC"
 
-#: commands/policy.c:173
+#: commands/policy.c:170
 #, c-format
 msgid "All roles are members of the PUBLIC role."
 msgstr "Todos los roles son miembros del rol PUBLIC."
 
-#: commands/policy.c:606
+#: commands/policy.c:603
 #, c-format
 msgid "WITH CHECK cannot be applied to SELECT or DELETE"
 msgstr "WITH CHECK no puede ser aplicado a SELECT o DELETE"
 
-#: commands/policy.c:615 commands/policy.c:918
+#: commands/policy.c:612 commands/policy.c:915
 #, c-format
 msgid "only WITH CHECK expression allowed for INSERT"
 msgstr "sólo se permite una expresión WITH CHECK para INSERT"
 
-#: commands/policy.c:689 commands/policy.c:1141
+#: commands/policy.c:686 commands/policy.c:1138
 #, c-format
 msgid "policy \"%s\" for table \"%s\" already exists"
 msgstr "la política «%s» para la tabla «%s» ya existe"
 
-#: commands/policy.c:890 commands/policy.c:1169 commands/policy.c:1240
+#: commands/policy.c:887 commands/policy.c:1166 commands/policy.c:1237
 #, c-format
 msgid "policy \"%s\" for table \"%s\" does not exist"
 msgstr "no existe la política «%s» para la tabla «%s»"
 
-#: commands/policy.c:908
+#: commands/policy.c:905
 #, c-format
 msgid "only USING expression allowed for SELECT, DELETE"
 msgstr "sólo se permite una expresión USING para SELECT, DELETE"
@@ -9411,270 +10001,271 @@ msgid "cannot create a cursor WITH HOLD within security-restricted operation"
 msgstr "no se puede crear un cursor WITH HOLD dentro de una operación restringida por seguridad"
 
 #: commands/portalcmds.c:189 commands/portalcmds.c:242
-#: executor/execCurrent.c:70 utils/adt/xml.c:2844 utils/adt/xml.c:3014
+#: executor/execCurrent.c:70 utils/adt/xml.c:2915 utils/adt/xml.c:3085
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "no existe el cursor «%s»"
 
-#: commands/prepare.c:75
+#: commands/prepare.c:72
 #, c-format
 msgid "invalid statement name: must not be empty"
 msgstr "el nombre de sentencia no es válido: no debe ser vacío"
 
-#: commands/prepare.c:230 commands/prepare.c:235
+#: commands/prepare.c:227 commands/prepare.c:232
 #, c-format
 msgid "prepared statement is not a SELECT"
 msgstr "la sentencia preparada no es un SELECT"
 
-#: commands/prepare.c:295
+#: commands/prepare.c:292
 #, c-format
 msgid "wrong number of parameters for prepared statement \"%s\""
 msgstr "el número de parámetros es incorrecto en la sentencia preparada «%s»"
 
-#: commands/prepare.c:297
+#: commands/prepare.c:294
 #, c-format
 msgid "Expected %d parameters but got %d."
 msgstr "Se esperaban %d parámetros pero se obtuvieron %d."
 
-#: commands/prepare.c:330
+#: commands/prepare.c:327
 #, c-format
 msgid "parameter $%d of type %s cannot be coerced to the expected type %s"
 msgstr "el parámetro $%d de tipo %s no puede ser convertido al tipo esperado %s"
 
-#: commands/prepare.c:414
+#: commands/prepare.c:411
 #, c-format
 msgid "prepared statement \"%s\" already exists"
 msgstr "la sentencia preparada «%s» ya existe"
 
-#: commands/prepare.c:453
+#: commands/prepare.c:450
 #, c-format
 msgid "prepared statement \"%s\" does not exist"
 msgstr "no existe la sentencia preparada «%s»"
 
-#: commands/proclang.c:68
+#: commands/proclang.c:66
 #, c-format
 msgid "must be superuser to create custom procedural language"
 msgstr "debe ser superusuario para crear un lenguaje procedural personalizado"
 
-#: commands/publicationcmds.c:131 postmaster/postmaster.c:1205
-#: postmaster/postmaster.c:1303 storage/file/fd.c:3861
-#: utils/init/miscinit.c:1815
+#: commands/publicationcmds.c:124 postmaster/postmaster.c:1108
+#: postmaster/postmaster.c:1210 utils/init/miscinit.c:1811
 #, c-format
 msgid "invalid list syntax in parameter \"%s\""
 msgstr "la sintaxis de lista no es válida para el parámetro «%s»"
 
-#: commands/publicationcmds.c:150
+#: commands/publicationcmds.c:143
 #, fuzzy, c-format
 #| msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\""
 msgid "unrecognized value for publication option \"%s\": \"%s\""
 msgstr "valor no reconocido para la opción de EXPLAIN «%s»: «%s»"
 
-#: commands/publicationcmds.c:164
+#: commands/publicationcmds.c:157
 #, c-format
 msgid "unrecognized publication parameter: \"%s\""
 msgstr "parámetro de publicación no reconocido: «%s»"
 
-#: commands/publicationcmds.c:205
+#: commands/publicationcmds.c:198
 #, fuzzy, c-format
 #| msgid "no schema has been selected to create in"
 msgid "no schema has been selected for CURRENT_SCHEMA"
 msgstr "no se ha seleccionado ningún esquema dentro del cual crear"
 
-#: commands/publicationcmds.c:502
+#: commands/publicationcmds.c:495
 #, fuzzy
 #| msgid "System catalog modifications are currently disallowed."
 msgid "System columns are not allowed."
 msgstr "Las modificaciones al catálogo del sistema están actualmente deshabilitadas."
 
-#: commands/publicationcmds.c:509 commands/publicationcmds.c:514
-#: commands/publicationcmds.c:531
+#: commands/publicationcmds.c:502 commands/publicationcmds.c:507
+#: commands/publicationcmds.c:524
 #, fuzzy
 #| msgid "grouping operations are not allowed in %s"
 msgid "User-defined operators are not allowed."
 msgstr "no se permiten operaciones «grouping» en %s"
 
-#: commands/publicationcmds.c:555
+#: commands/publicationcmds.c:548
 msgid "Only columns, constants, built-in operators, built-in data types, built-in collations, and immutable built-in functions are allowed."
 msgstr ""
 
-#: commands/publicationcmds.c:567
+#: commands/publicationcmds.c:560
 #, fuzzy
 #| msgid "set-returning functions are not allowed in %s"
 msgid "User-defined types are not allowed."
 msgstr "no se permiten funciones que retornan conjuntos en %s"
 
-#: commands/publicationcmds.c:570
+#: commands/publicationcmds.c:563
 #, fuzzy
 #| msgid "set-returning functions are not allowed in %s"
 msgid "User-defined or built-in mutable functions are not allowed."
 msgstr "no se permiten funciones que retornan conjuntos en %s"
 
-#: commands/publicationcmds.c:573
+#: commands/publicationcmds.c:566
 #, fuzzy
 #| msgid "set-returning functions are not allowed in %s"
 msgid "User-defined collations are not allowed."
 msgstr "no se permiten funciones que retornan conjuntos en %s"
 
-#: commands/publicationcmds.c:583
+#: commands/publicationcmds.c:576
 #, fuzzy, c-format
 #| msgid "invalid publication_names syntax"
 msgid "invalid publication WHERE expression"
 msgstr "sintaxis de publication_names no válida"
 
-#: commands/publicationcmds.c:636
+#: commands/publicationcmds.c:629
 #, fuzzy, c-format
 #| msgid "cannot alter constraint \"%s\" on relation \"%s\""
 msgid "cannot use publication WHERE clause for relation \"%s\""
 msgstr "no se puede modificar la restricción «%s» en la relación «%s»"
 
-#: commands/publicationcmds.c:638
+#: commands/publicationcmds.c:631
 #, c-format
 msgid "WHERE clause cannot be used for a partitioned table when %s is false."
 msgstr ""
 
-#: commands/publicationcmds.c:709 commands/publicationcmds.c:723
+#: commands/publicationcmds.c:702 commands/publicationcmds.c:716
 #, fuzzy, c-format
-#| msgid "cannot alter constraint \"%s\" on relation \"%s\""
+#| msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\""
 msgid "cannot use column list for relation \"%s.%s\" in publication \"%s\""
-msgstr "no se puede modificar la restricción «%s» en la relación «%s»"
+msgstr "no se puede usar ONLY para una llave foránea en la tabla particionada «%s» haciendo referencia a la relación «%s»"
 
-#: commands/publicationcmds.c:712
+#: commands/publicationcmds.c:705
 #, c-format
 msgid "Column lists cannot be specified in publications containing FOR TABLES IN SCHEMA elements."
 msgstr ""
 
-#: commands/publicationcmds.c:726
-#, c-format
+#: commands/publicationcmds.c:719
+#, fuzzy, c-format
+#| msgid "The publication contains a WHERE clause for partitioned table \"%s\", which is not allowed when \"%s\" is false."
 msgid "Column lists cannot be specified for partitioned tables when %s is false."
-msgstr ""
+msgstr "La publicación contiene una cláusula WHERE para la tabla particionada «%s», que no está permitido cuando «%s» es falso."
 
-#: commands/publicationcmds.c:761
+#: commands/publicationcmds.c:754
 #, c-format
 msgid "must be superuser to create FOR ALL TABLES publication"
 msgstr "debe ser superusuario para crear publicaciones FOR ALL TABLES"
 
-#: commands/publicationcmds.c:832
+#: commands/publicationcmds.c:825
 #, fuzzy, c-format
 #| msgid "must be superuser to create FOR ALL TABLES publication"
 msgid "must be superuser to create FOR TABLES IN SCHEMA publication"
 msgstr "debe ser superusuario para crear publicaciones FOR ALL TABLES"
 
-#: commands/publicationcmds.c:868
-#, c-format
-msgid "wal_level is insufficient to publish logical changes"
+#: commands/publicationcmds.c:861
+#, fuzzy, c-format
+#| msgid "wal_level is insufficient to publish logical changes"
+msgid "\"wal_level\" is insufficient to publish logical changes"
 msgstr "wal_level es insuficiente para publicar cambios lógicos"
 
-#: commands/publicationcmds.c:869
+#: commands/publicationcmds.c:862
 #, fuzzy, c-format
 #| msgid "Change wal_level to be logical or higher."
-msgid "Set wal_level to \"logical\" before creating subscriptions."
+msgid "Set \"wal_level\" to \"logical\" before creating subscriptions."
 msgstr "Cambie wal_level a logical o superior."
 
-#: commands/publicationcmds.c:965 commands/publicationcmds.c:973
+#: commands/publicationcmds.c:958 commands/publicationcmds.c:966
 #, fuzzy, c-format
 #| msgid "cannot set parameter \"%s\" within security-definer function"
 msgid "cannot set parameter \"%s\" to false for publication \"%s\""
 msgstr "no se puede definir el parámetro «%s» dentro una función security-definer"
 
-#: commands/publicationcmds.c:968
+#: commands/publicationcmds.c:961
 #, c-format
 msgid "The publication contains a WHERE clause for partitioned table \"%s\", which is not allowed when \"%s\" is false."
 msgstr "La publicación contiene una cláusula WHERE para la tabla particionada «%s», que no está permitido cuando «%s» es falso."
 
-#: commands/publicationcmds.c:976
+#: commands/publicationcmds.c:969
 #, c-format
 msgid "The publication contains a column list for partitioned table \"%s\", which is not allowed when \"%s\" is false."
 msgstr "La publicación contiene una lista de columns para la tabla particionada «%s», que no está permitido cuando «%s» es falso."
 
-#: commands/publicationcmds.c:1299
+#: commands/publicationcmds.c:1292
 #, fuzzy, c-format
 #| msgid "cannot add schema \"%s\" to publication"
 msgid "cannot add schema to publication \"%s\""
 msgstr "no se puede agregar el esquema «%s» a la partición"
 
-#: commands/publicationcmds.c:1301
+#: commands/publicationcmds.c:1294
 #, c-format
 msgid "Schemas cannot be added if any tables that specify a column list are already part of the publication."
 msgstr ""
 
-#: commands/publicationcmds.c:1349
+#: commands/publicationcmds.c:1342
 #, c-format
 msgid "must be superuser to add or set schemas"
 msgstr "debe ser superusuario para agregar o definir esquemas"
 
-#: commands/publicationcmds.c:1358 commands/publicationcmds.c:1366
+#: commands/publicationcmds.c:1351 commands/publicationcmds.c:1359
 #, c-format
 msgid "publication \"%s\" is defined as FOR ALL TABLES"
 msgstr "la publicación \"%s\" se define como FOR ALL TABLES"
 
-#: commands/publicationcmds.c:1360
+#: commands/publicationcmds.c:1353
 #, fuzzy, c-format
 #| msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications."
 msgid "Schemas cannot be added to or dropped from FOR ALL TABLES publications."
 msgstr "Las tablas no se pueden agregar ni eliminar de las publicaciones FOR ALL TABLES."
 
-#: commands/publicationcmds.c:1368
+#: commands/publicationcmds.c:1361
 #, c-format
 msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications."
 msgstr "Las tablas no se pueden agregar ni eliminar de las publicaciones FOR ALL TABLES."
 
-#: commands/publicationcmds.c:1392 commands/publicationcmds.c:1431
-#: commands/publicationcmds.c:1968 utils/cache/lsyscache.c:3592
+#: commands/publicationcmds.c:1385 commands/publicationcmds.c:1424
+#: commands/publicationcmds.c:1961 utils/cache/lsyscache.c:3634
 #, c-format
 msgid "publication \"%s\" does not exist"
 msgstr "no existe la publicación «%s»"
 
-#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1657
+#: commands/publicationcmds.c:1587 commands/publicationcmds.c:1650
 #, fuzzy, c-format
 #| msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\""
 msgid "conflicting or redundant WHERE clauses for table \"%s\""
 msgstr "declaraciones NULL/NOT NULL en conflicto o redundantes para la columna «%s»"
 
-#: commands/publicationcmds.c:1601 commands/publicationcmds.c:1669
+#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1662
 #, fuzzy, c-format
 #| msgid "conflicting or redundant options"
 msgid "conflicting or redundant column lists for table \"%s\""
 msgstr "opciones contradictorias o redundantes"
 
-#: commands/publicationcmds.c:1803
+#: commands/publicationcmds.c:1796
 #, fuzzy, c-format
 #| msgid "operator argument types must be specified in ALTER OPERATOR FAMILY"
 msgid "column list must not be specified in ALTER PUBLICATION ... DROP"
 msgstr "los tipos de los argumentos de operador deben ser especificados en ALTER OPERATOR FAMILY"
 
-#: commands/publicationcmds.c:1815
+#: commands/publicationcmds.c:1808
 #, c-format
 msgid "relation \"%s\" is not part of the publication"
 msgstr "relación «%s» no es parte de la publicación"
 
-#: commands/publicationcmds.c:1822
+#: commands/publicationcmds.c:1815
 #, c-format
 msgid "cannot use a WHERE clause when removing a table from a publication"
 msgstr "no se puede usar una cláusula WHERE cuando se elimina una tabla de una publicación"
 
-#: commands/publicationcmds.c:1882
+#: commands/publicationcmds.c:1875
 #, fuzzy, c-format
 #| msgid "relation \"%s\" is not part of the publication"
 msgid "tables from schema \"%s\" are not part of the publication"
 msgstr "relación «%s» no es parte de la publicación"
 
-#: commands/publicationcmds.c:1925 commands/publicationcmds.c:1932
+#: commands/publicationcmds.c:1918 commands/publicationcmds.c:1925
 #, c-format
 msgid "permission denied to change owner of publication \"%s\""
 msgstr "se ha denegado el permiso para cambiar el dueño de la publicación «%s»"
 
-#: commands/publicationcmds.c:1927
+#: commands/publicationcmds.c:1920
 #, c-format
 msgid "The owner of a FOR ALL TABLES publication must be a superuser."
 msgstr "El dueño de una publicación FOR ALL TABLES debe ser un superusuario."
 
-#: commands/publicationcmds.c:1934
+#: commands/publicationcmds.c:1927
 #, fuzzy, c-format
 #| msgid "The owner of a FOR ALL TABLES publication must be a superuser."
 msgid "The owner of a FOR TABLES IN SCHEMA publication must be a superuser."
 msgstr "El dueño de una publicación FOR ALL TABLES debe ser un superusuario."
 
-#: commands/publicationcmds.c:2000
+#: commands/publicationcmds.c:1993
 #, c-format
 msgid "publication with OID %u does not exist"
 msgstr "no existe la publicación con OID %u"
@@ -9720,251 +10311,251 @@ msgstr "las etiquetas de seguirdad no están soportadas para este tipo de objeto
 msgid "cannot set security label on relation \"%s\""
 msgstr "no se puede modificar la restricción «%s» en la relación «%s»"
 
-#: commands/sequence.c:754
+#: commands/sequence.c:748
 #, c-format
 msgid "nextval: reached maximum value of sequence \"%s\" (%lld)"
 msgstr ""
 
-#: commands/sequence.c:773
+#: commands/sequence.c:767
 #, c-format
 msgid "nextval: reached minimum value of sequence \"%s\" (%lld)"
 msgstr ""
 
-#: commands/sequence.c:891
+#: commands/sequence.c:886
 #, c-format
 msgid "currval of sequence \"%s\" is not yet defined in this session"
 msgstr "currval de la secuencia «%s» no está definido en esta sesión"
 
-#: commands/sequence.c:910 commands/sequence.c:916
+#: commands/sequence.c:905 commands/sequence.c:911
 #, c-format
 msgid "lastval is not yet defined in this session"
 msgstr "lastval no está definido en esta sesión"
 
-#: commands/sequence.c:996
+#: commands/sequence.c:991
 #, fuzzy, c-format
 #| msgid "value %s out of bounds for option \"%s\""
 msgid "setval: value %lld is out of bounds for sequence \"%s\" (%lld..%lld)"
 msgstr "el valor %s está fuera del rango de la opción «%s»"
 
-#: commands/sequence.c:1365
+#: commands/sequence.c:1354
 #, c-format
 msgid "invalid sequence option SEQUENCE NAME"
 msgstr "opción de secuencia no válida SEQUENCE NAME"
 
-#: commands/sequence.c:1391
+#: commands/sequence.c:1380
 #, c-format
 msgid "identity column type must be smallint, integer, or bigint"
 msgstr "el tipo de columna de identidad debe ser smallint, integer o bigint"
 
-#: commands/sequence.c:1392
+#: commands/sequence.c:1381
 #, c-format
 msgid "sequence type must be smallint, integer, or bigint"
 msgstr "el tipo de secuencia debe ser smallint, integer o bigint"
 
-#: commands/sequence.c:1426
+#: commands/sequence.c:1415
 #, c-format
 msgid "INCREMENT must not be zero"
 msgstr "INCREMENT no debe ser cero"
 
-#: commands/sequence.c:1474
+#: commands/sequence.c:1463
 #, fuzzy, c-format
 #| msgid "value \"%s\" is out of range for type %s"
 msgid "MAXVALUE (%lld) is out of range for sequence data type %s"
 msgstr "el valor «%s» está fuera de rango para el tipo %s"
 
-#: commands/sequence.c:1506
+#: commands/sequence.c:1495
 #, fuzzy, c-format
 #| msgid "value \"%s\" is out of range for type %s"
 msgid "MINVALUE (%lld) is out of range for sequence data type %s"
 msgstr "el valor «%s» está fuera de rango para el tipo %s"
 
-#: commands/sequence.c:1514
+#: commands/sequence.c:1503
 #, c-format
 msgid "MINVALUE (%lld) must be less than MAXVALUE (%lld)"
 msgstr ""
 
-#: commands/sequence.c:1535
+#: commands/sequence.c:1524
 #, c-format
 msgid "START value (%lld) cannot be less than MINVALUE (%lld)"
 msgstr ""
 
-#: commands/sequence.c:1541
+#: commands/sequence.c:1530
 #, c-format
 msgid "START value (%lld) cannot be greater than MAXVALUE (%lld)"
 msgstr ""
 
-#: commands/sequence.c:1565
+#: commands/sequence.c:1554
 #, c-format
 msgid "RESTART value (%lld) cannot be less than MINVALUE (%lld)"
 msgstr ""
 
-#: commands/sequence.c:1571
+#: commands/sequence.c:1560
 #, c-format
 msgid "RESTART value (%lld) cannot be greater than MAXVALUE (%lld)"
 msgstr ""
 
-#: commands/sequence.c:1582
+#: commands/sequence.c:1571
 #, fuzzy, c-format
 #| msgid "stride must be greater than zero"
 msgid "CACHE (%lld) must be greater than zero"
 msgstr "el intervalo de paso (stride) debe ser mayor que cero"
 
-#: commands/sequence.c:1618
+#: commands/sequence.c:1607
 #, c-format
 msgid "invalid OWNED BY option"
 msgstr "opción OWNED BY no válida"
 
-#: commands/sequence.c:1619
+#: commands/sequence.c:1608
 #, c-format
 msgid "Specify OWNED BY table.column or OWNED BY NONE."
 msgstr "Especifique OWNED BY tabla.columna o OWNED BY NONE."
 
-#: commands/sequence.c:1644
+#: commands/sequence.c:1633
 #, fuzzy, c-format
 #| msgid "cannot move system relation \"%s\""
 msgid "sequence cannot be owned by relation \"%s\""
 msgstr "no se puede mover la relación de sistema «%s»"
 
-#: commands/sequence.c:1652
+#: commands/sequence.c:1641
 #, c-format
 msgid "sequence must have same owner as table it is linked to"
 msgstr "la secuencia debe tener el mismo dueño que la tabla a la que está enlazada"
 
-#: commands/sequence.c:1656
+#: commands/sequence.c:1645
 #, c-format
 msgid "sequence must be in same schema as table it is linked to"
 msgstr "la secuencia debe estar en el mismo esquema que la tabla a la que está enlazada"
 
-#: commands/sequence.c:1678
+#: commands/sequence.c:1667
 #, c-format
 msgid "cannot change ownership of identity sequence"
 msgstr "no se puede cambiar el dueño de la secuencia de identidad"
 
-#: commands/sequence.c:1679 commands/tablecmds.c:13891
-#: commands/tablecmds.c:16488
+#: commands/sequence.c:1668 commands/tablecmds.c:14399
+#: commands/tablecmds.c:17093
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "La secuencia «%s» está enlazada a la tabla «%s»."
 
-#: commands/statscmds.c:109 commands/statscmds.c:118 tcop/utility.c:1886
+#: commands/statscmds.c:106 commands/statscmds.c:115 tcop/utility.c:1883
 #, c-format
 msgid "only a single relation is allowed in CREATE STATISTICS"
 msgstr "sólo se permite una relación en CREATE STATISTICS"
 
-#: commands/statscmds.c:136
+#: commands/statscmds.c:133
 #, fuzzy, c-format
 #| msgid "cannot rewrite system relation \"%s\""
 msgid "cannot define statistics for relation \"%s\""
 msgstr "no se puede reescribir la relación de sistema «%s»"
 
-#: commands/statscmds.c:190
+#: commands/statscmds.c:187
 #, c-format
 msgid "statistics object \"%s\" already exists, skipping"
 msgstr "el objeto de estadísticas «%s» ya existe, omitiendo"
 
-#: commands/statscmds.c:198
+#: commands/statscmds.c:195
 #, c-format
 msgid "statistics object \"%s\" already exists"
 msgstr "el objeto de estadísticas «%s» ya existe"
 
-#: commands/statscmds.c:209
+#: commands/statscmds.c:206
 #, c-format
 msgid "cannot have more than %d columns in statistics"
 msgstr "no se puede tener más de %d columnas en estadísticas"
 
-#: commands/statscmds.c:250 commands/statscmds.c:273 commands/statscmds.c:307
+#: commands/statscmds.c:247 commands/statscmds.c:270 commands/statscmds.c:304
 #, c-format
 msgid "statistics creation on system columns is not supported"
 msgstr "la creación de estadísticas en columnas de sistema no está soportada"
 
-#: commands/statscmds.c:257 commands/statscmds.c:280
+#: commands/statscmds.c:254 commands/statscmds.c:277
 #, c-format
 msgid "column \"%s\" cannot be used in statistics because its type %s has no default btree operator class"
 msgstr "la columna «%s» no puede ser usado en estadísticas porque su tipo %s no tiene una clase de operadores por omisión para btree"
 
-#: commands/statscmds.c:324
+#: commands/statscmds.c:321
 #, c-format
 msgid "expression cannot be used in multivariate statistics because its type %s has no default btree operator class"
 msgstr "la expresión no puede ser usada en estadísticas multivariantes porque su tipo %s no tiene una clase de operadores por omisión para btree"
 
-#: commands/statscmds.c:345
+#: commands/statscmds.c:342
 #, c-format
 msgid "when building statistics on a single expression, statistics kinds may not be specified"
 msgstr "al crear estadísticas sobre una sola expresión, no se deben especificar tipos de estadísticas"
 
-#: commands/statscmds.c:374
+#: commands/statscmds.c:371
 #, c-format
 msgid "unrecognized statistics kind \"%s\""
 msgstr "tipo de estadísticas «%s» no reconocido"
 
-#: commands/statscmds.c:403
+#: commands/statscmds.c:400
 #, c-format
 msgid "extended statistics require at least 2 columns"
 msgstr "las estadísticas extendidas requieren al menos 2 columnas"
 
-#: commands/statscmds.c:421
+#: commands/statscmds.c:418
 #, c-format
 msgid "duplicate column name in statistics definition"
 msgstr "nombre de columna duplicado en definición de estadísticas"
 
-#: commands/statscmds.c:456
+#: commands/statscmds.c:453
 #, c-format
 msgid "duplicate expression in statistics definition"
 msgstr "expresión duplicada en definición de estadísticas"
 
-#: commands/statscmds.c:619 commands/tablecmds.c:8180
+#: commands/statscmds.c:628 commands/tablecmds.c:8640
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "el valor de estadísticas %d es demasiado bajo"
 
-#: commands/statscmds.c:627 commands/tablecmds.c:8188
+#: commands/statscmds.c:636 commands/tablecmds.c:8648
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "bajando el valor de estadísticas a %d"
 
-#: commands/statscmds.c:650
+#: commands/statscmds.c:660
 #, c-format
 msgid "statistics object \"%s.%s\" does not exist, skipping"
 msgstr "no existe el objeto de estadísticas «%s.%s», omitiendo"
 
-#: commands/subscriptioncmds.c:271 commands/subscriptioncmds.c:359
+#: commands/subscriptioncmds.c:275 commands/subscriptioncmds.c:372
 #, c-format
 msgid "unrecognized subscription parameter: \"%s\""
 msgstr "parámetro de suscripción no reconocido: «%s»"
 
-#: commands/subscriptioncmds.c:327 replication/pgoutput/pgoutput.c:398
+#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:397
 #, fuzzy, c-format
 #| msgid "unrecognized section name: \"%s\""
 msgid "unrecognized origin value: \"%s\""
 msgstr "nombre de sección «%s» no reconocido"
 
-#: commands/subscriptioncmds.c:350
+#: commands/subscriptioncmds.c:363
 #, fuzzy, c-format
 #| msgid "invalid WAL location: \"%s\""
 msgid "invalid WAL location (LSN): %s"
 msgstr "ubicación de WAL no válida: «%s»"
 
 #. translator: both %s are strings of the form "option = value"
-#: commands/subscriptioncmds.c:374 commands/subscriptioncmds.c:381
-#: commands/subscriptioncmds.c:388 commands/subscriptioncmds.c:410
-#: commands/subscriptioncmds.c:426
+#: commands/subscriptioncmds.c:387 commands/subscriptioncmds.c:394
+#: commands/subscriptioncmds.c:401 commands/subscriptioncmds.c:423
+#: commands/subscriptioncmds.c:439
 #, c-format
 msgid "%s and %s are mutually exclusive options"
 msgstr "%s y %s son opciones mutuamente excluyentes"
 
 #. translator: both %s are strings of the form "option = value"
-#: commands/subscriptioncmds.c:416 commands/subscriptioncmds.c:432
+#: commands/subscriptioncmds.c:429 commands/subscriptioncmds.c:445
 #, c-format
 msgid "subscription with %s must also set %s"
 msgstr "suscripción con %s también debe activar %s"
 
-#: commands/subscriptioncmds.c:494
+#: commands/subscriptioncmds.c:506
 #, fuzzy, c-format
 #| msgid "could not receive list of replicated tables from the publisher: %s"
 msgid "could not receive list of publications from the publisher: %s"
 msgstr "no se pudo recibir la lista de tablas replicadas desde el editor (publisher): %s"
 
-#: commands/subscriptioncmds.c:526
+#: commands/subscriptioncmds.c:538
 #, fuzzy, c-format
 #| msgid "publication \"%s\" does not exist"
 msgid "publication %s does not exist on the publisher"
@@ -9972,2952 +10563,3043 @@ msgid_plural "publications %s do not exist on the publisher"
 msgstr[0] "no existe la publicación «%s»"
 msgstr[1] "no existe la publicación «%s»"
 
-#: commands/subscriptioncmds.c:614
+#: commands/subscriptioncmds.c:626
 #, fuzzy, c-format
 #| msgid "permission denied for subscription %s"
 msgid "permission denied to create subscription"
 msgstr "permiso denegado a la suscripción %s"
 
-#: commands/subscriptioncmds.c:615
+#: commands/subscriptioncmds.c:627
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may create subscriptions."
 msgstr ""
 
-#: commands/subscriptioncmds.c:745 commands/subscriptioncmds.c:878
-#: replication/logical/tablesync.c:1304 replication/logical/worker.c:4616
+#: commands/subscriptioncmds.c:758 commands/subscriptioncmds.c:891
+#: commands/subscriptioncmds.c:1524 replication/logical/tablesync.c:1345
+#: replication/logical/worker.c:4503
 #, c-format
 msgid "could not connect to the publisher: %s"
 msgstr "no se pudo connectar con el editor (publisher): %s"
 
-#: commands/subscriptioncmds.c:816
+#: commands/subscriptioncmds.c:829
 #, c-format
 msgid "created replication slot \"%s\" on publisher"
 msgstr "se creó el slot de replicación «%s» en el editor (publisher)"
 
-#: commands/subscriptioncmds.c:828
+#: commands/subscriptioncmds.c:841
 #, fuzzy, c-format
 #| msgid "subscription has no replication slot set"
 msgid "subscription was created, but is not connected"
 msgstr "la suscripción no tiene un slot de replicación establecido"
 
-#: commands/subscriptioncmds.c:829
+#: commands/subscriptioncmds.c:842
 #, c-format
 msgid "To initiate replication, you must manually create the replication slot, enable the subscription, and refresh the subscription."
 msgstr ""
 
-#: commands/subscriptioncmds.c:1096 commands/subscriptioncmds.c:1502
-#: commands/subscriptioncmds.c:1885 utils/cache/lsyscache.c:3642
+#: commands/subscriptioncmds.c:1109 commands/subscriptioncmds.c:1590
+#: commands/subscriptioncmds.c:1973 utils/cache/lsyscache.c:3684
 #, c-format
 msgid "subscription \"%s\" does not exist"
 msgstr "no existe la suscripción «%s»"
 
-#: commands/subscriptioncmds.c:1152
+#: commands/subscriptioncmds.c:1166 commands/subscriptioncmds.c:1245
 #, c-format
 msgid "cannot set %s for enabled subscription"
 msgstr "no se puede establecer %s para la suscripción activada"
 
-#: commands/subscriptioncmds.c:1227
+#: commands/subscriptioncmds.c:1233
+#, fuzzy, c-format
+#| msgid "cannot enable subscription that does not have a slot name"
+msgid "cannot set %s for a subscription that does not have a slot name"
+msgstr "no se puede habilitar la suscripción que no tiene un nombre de slot"
+
+#: commands/subscriptioncmds.c:1279
 #, c-format
 msgid "cannot enable subscription that does not have a slot name"
 msgstr "no se puede habilitar la suscripción que no tiene un nombre de slot"
 
-#: commands/subscriptioncmds.c:1271 commands/subscriptioncmds.c:1322
+#: commands/subscriptioncmds.c:1323 commands/subscriptioncmds.c:1374
 #, c-format
 msgid "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions"
 msgstr "ALTER SUBSCRIPTION con actualización no está permitido para las suscripciones desactivadas"
 
-#: commands/subscriptioncmds.c:1272
+#: commands/subscriptioncmds.c:1324
 #, c-format
 msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 msgstr "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 
-#: commands/subscriptioncmds.c:1281 commands/subscriptioncmds.c:1336
+#: commands/subscriptioncmds.c:1333 commands/subscriptioncmds.c:1388
 #, fuzzy, c-format
 #| msgid "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions"
 msgid "ALTER SUBSCRIPTION with refresh and copy_data is not allowed when two_phase is enabled"
 msgstr "ALTER SUBSCRIPTION con actualización no está permitido para las suscripciones desactivadas"
 
-#: commands/subscriptioncmds.c:1282
+#: commands/subscriptioncmds.c:1334
 #, fuzzy, c-format
 #| msgid "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/CREATE SUBSCRIPTION."
 msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION with refresh = false, or with copy_data = false, or use DROP/CREATE SUBSCRIPTION."
 msgstr "Use ALTER SUBSCRIPTION ... REFRESH con copy_data = false, o use DROP/CREATE SUBSCRIPTION."
 
 #. translator: %s is an SQL ALTER command
-#: commands/subscriptioncmds.c:1324
-#, fuzzy, c-format
-#| msgid "Use views instead."
-msgid "Use %s instead."
-msgstr "Use vistas en su lugar."
-
-#. translator: %s is an SQL ALTER command
-#: commands/subscriptioncmds.c:1338
+#: commands/subscriptioncmds.c:1390
 #, fuzzy, c-format
 #| msgid "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/CREATE SUBSCRIPTION."
 msgid "Use %s with refresh = false, or with copy_data = false, or use DROP/CREATE SUBSCRIPTION."
 msgstr "Use ALTER SUBSCRIPTION ... REFRESH con copy_data = false, o use DROP/CREATE SUBSCRIPTION."
 
-#: commands/subscriptioncmds.c:1360
+#: commands/subscriptioncmds.c:1412
 #, c-format
 msgid "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions"
 msgstr "ALTER SUBSCRIPTION ... REFRESH no está permitido para las suscripciones desactivadas"
 
-#: commands/subscriptioncmds.c:1385
+#: commands/subscriptioncmds.c:1437
 #, fuzzy, c-format
 #| msgid "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions"
 msgid "ALTER SUBSCRIPTION ... REFRESH with copy_data is not allowed when two_phase is enabled"
 msgstr "ALTER SUBSCRIPTION ... REFRESH no está permitido para las suscripciones desactivadas"
 
-#: commands/subscriptioncmds.c:1386
+#: commands/subscriptioncmds.c:1438
 #, c-format
 msgid "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/CREATE SUBSCRIPTION."
 msgstr "Use ALTER SUBSCRIPTION ... REFRESH con copy_data = false, o use DROP/CREATE SUBSCRIPTION."
 
-#: commands/subscriptioncmds.c:1421
+#: commands/subscriptioncmds.c:1473
 #, c-format
 msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X"
 msgstr "la ubicación de WAL a saltar (LSN %X/%X) debe ser mayor que el LSN de origen %X/%X"
 
-#: commands/subscriptioncmds.c:1506
+#: commands/subscriptioncmds.c:1594
 #, c-format
 msgid "subscription \"%s\" does not exist, skipping"
 msgstr "no existe la suscripción «%s», omitiendo"
 
-#: commands/subscriptioncmds.c:1775
+#: commands/subscriptioncmds.c:1863
 #, c-format
 msgid "dropped replication slot \"%s\" on publisher"
 msgstr "eliminando el slot de replicación «%s» en editor (publisher)"
 
-#: commands/subscriptioncmds.c:1784 commands/subscriptioncmds.c:1792
+#: commands/subscriptioncmds.c:1872 commands/subscriptioncmds.c:1880
 #, c-format
 msgid "could not drop replication slot \"%s\" on publisher: %s"
 msgstr "no se pudo eliminar el slot de replicación «%s» en editor (publisher): %s"
 
-#: commands/subscriptioncmds.c:1917
+#: commands/subscriptioncmds.c:2005
 #, c-format
 msgid "subscription with OID %u does not exist"
 msgstr "no existe la suscripción con OID %u"
 
-#: commands/subscriptioncmds.c:1988 commands/subscriptioncmds.c:2113
+#: commands/subscriptioncmds.c:2076 commands/subscriptioncmds.c:2201
 #, c-format
 msgid "could not receive list of replicated tables from the publisher: %s"
 msgstr "no se pudo recibir la lista de tablas replicadas desde el editor (publisher): %s"
 
-#: commands/subscriptioncmds.c:2024
+#: commands/subscriptioncmds.c:2112
 #, c-format
 msgid "subscription \"%s\" requested copy_data with origin = NONE but might copy data that had a different origin"
 msgstr ""
 
-#: commands/subscriptioncmds.c:2026
-#, fuzzy, c-format
-#| msgid "relation \"%s\" is not part of the publication"
-msgid "Subscribed publication %s is subscribing to other publications."
-msgid_plural "Subscribed publications %s are subscribing to other publications."
-msgstr[0] "relación «%s» no es parte de la publicación"
-msgstr[1] "relación «%s» no es parte de la publicación"
+#: commands/subscriptioncmds.c:2114
+#, c-format
+msgid "The subscription being created subscribes to a publication (%s) that contains tables that are written to by other subscriptions."
+msgid_plural "The subscription being created subscribes to publications (%s) that contain tables that are written to by other subscriptions."
+msgstr[0] ""
+msgstr[1] ""
 
-#: commands/subscriptioncmds.c:2029
+#: commands/subscriptioncmds.c:2117
 #, c-format
 msgid "Verify that initial data copied from the publisher tables did not come from other origins."
 msgstr ""
 
-#: commands/subscriptioncmds.c:2135 replication/logical/tablesync.c:875
-#: replication/pgoutput/pgoutput.c:1115
+#: commands/subscriptioncmds.c:2223 replication/logical/tablesync.c:906
+#: replication/pgoutput/pgoutput.c:1117
 #, fuzzy, c-format
 #| msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\""
 msgid "cannot use different column lists for table \"%s.%s\" in different publications"
 msgstr "no se puede usar ONLY para una llave foránea en la tabla particionada «%s» haciendo referencia a la relación «%s»"
 
-#: commands/subscriptioncmds.c:2185
+#: commands/subscriptioncmds.c:2273
 #, c-format
 msgid "could not connect to publisher when attempting to drop replication slot \"%s\": %s"
 msgstr "no se pudo conectar con el editor (publisher) al intentar eliminar el slot de replicación \"%s\": %s"
 
 #. translator: %s is an SQL ALTER command
-#: commands/subscriptioncmds.c:2188
-#, c-format
-msgid "Use %s to disassociate the subscription from the slot."
+#: commands/subscriptioncmds.c:2276
+#, fuzzy, c-format
+#| msgid "Use %s to disassociate the subscription from the slot."
+msgid "Use %s to disable the subscription, and then use %s to disassociate it from the slot."
 msgstr "Use %s para disociar la suscripción del slot."
 
-#: commands/subscriptioncmds.c:2218
+#: commands/subscriptioncmds.c:2307
 #, c-format
 msgid "publication name \"%s\" used more than once"
 msgstr "nombre de publicación «%s» usado más de una vez"
 
-#: commands/subscriptioncmds.c:2262
+#: commands/subscriptioncmds.c:2351
 #, c-format
 msgid "publication \"%s\" is already in subscription \"%s\""
 msgstr "la publicación «%s» ya existe en la suscripción «%s»"
 
-#: commands/subscriptioncmds.c:2276
+#: commands/subscriptioncmds.c:2365
 #, c-format
 msgid "publication \"%s\" is not in subscription \"%s\""
 msgstr "la publicación «%s» no está en la suscripción «%s»"
 
-#: commands/subscriptioncmds.c:2287
+#: commands/subscriptioncmds.c:2376
 #, c-format
 msgid "cannot drop all the publications from a subscription"
 msgstr "no se puede eliminar todas las publicaciones de una suscripción"
 
-#: commands/subscriptioncmds.c:2344
+#: commands/subscriptioncmds.c:2433
 #, fuzzy, c-format
 #| msgid "%s requires a Boolean value"
 msgid "%s requires a Boolean value or \"parallel\""
 msgstr "«%s» requiere un valor lógico (booleano)"
 
-#: commands/tablecmds.c:246 commands/tablecmds.c:288
+#: commands/tablecmds.c:255 commands/tablecmds.c:297
 #, c-format
 msgid "table \"%s\" does not exist"
 msgstr "no existe la tabla «%s»"
 
-#: commands/tablecmds.c:247 commands/tablecmds.c:289
+#: commands/tablecmds.c:256 commands/tablecmds.c:298
 #, c-format
 msgid "table \"%s\" does not exist, skipping"
 msgstr "la tabla «%s» no existe, omitiendo"
 
-#: commands/tablecmds.c:249 commands/tablecmds.c:291
+#: commands/tablecmds.c:258 commands/tablecmds.c:300
 msgid "Use DROP TABLE to remove a table."
 msgstr "Use DROP TABLE para eliminar una tabla."
 
-#: commands/tablecmds.c:252
+#: commands/tablecmds.c:261
 #, c-format
 msgid "sequence \"%s\" does not exist"
 msgstr "no existe la secuencia «%s»"
 
-#: commands/tablecmds.c:253
+#: commands/tablecmds.c:262
 #, c-format
 msgid "sequence \"%s\" does not exist, skipping"
 msgstr "la secuencia «%s» no existe, omitiendo"
 
-#: commands/tablecmds.c:255
+#: commands/tablecmds.c:264
 msgid "Use DROP SEQUENCE to remove a sequence."
 msgstr "Use DROP SEQUENCE para eliminar una secuencia."
 
-#: commands/tablecmds.c:258
+#: commands/tablecmds.c:267
 #, c-format
 msgid "view \"%s\" does not exist"
 msgstr "no existe la vista «%s»"
 
-#: commands/tablecmds.c:259
+#: commands/tablecmds.c:268
 #, c-format
 msgid "view \"%s\" does not exist, skipping"
 msgstr "la vista «%s» no existe, omitiendo"
 
-#: commands/tablecmds.c:261
+#: commands/tablecmds.c:270
 msgid "Use DROP VIEW to remove a view."
 msgstr "Use DROP VIEW para eliminar una vista."
 
-#: commands/tablecmds.c:264
+#: commands/tablecmds.c:273
 #, c-format
 msgid "materialized view \"%s\" does not exist"
 msgstr "no existe la vista materializada «%s»"
 
-#: commands/tablecmds.c:265
+#: commands/tablecmds.c:274
 #, c-format
 msgid "materialized view \"%s\" does not exist, skipping"
 msgstr "la vista materializada «%s» no existe, omitiendo"
 
-#: commands/tablecmds.c:267
+#: commands/tablecmds.c:276
 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view."
 msgstr "Use DROP MATERIALIZED VIEW para eliminar una vista materializada."
 
-#: commands/tablecmds.c:270 commands/tablecmds.c:294 commands/tablecmds.c:19002
-#: parser/parse_utilcmd.c:2245
+#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19648
+#: parser/parse_utilcmd.c:2226
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "no existe el índice «%s»"
 
-#: commands/tablecmds.c:271 commands/tablecmds.c:295
+#: commands/tablecmds.c:280 commands/tablecmds.c:304
 #, c-format
 msgid "index \"%s\" does not exist, skipping"
 msgstr "el índice «%s» no existe, omitiendo"
 
-#: commands/tablecmds.c:273 commands/tablecmds.c:297
+#: commands/tablecmds.c:282 commands/tablecmds.c:306
 msgid "Use DROP INDEX to remove an index."
 msgstr "Use DROP INDEX para eliminar un índice."
 
-#: commands/tablecmds.c:278
+#: commands/tablecmds.c:287
 #, c-format
 msgid "\"%s\" is not a type"
 msgstr "«%s» no es un tipo"
 
-#: commands/tablecmds.c:279
+#: commands/tablecmds.c:288
 msgid "Use DROP TYPE to remove a type."
 msgstr "Use DROP TYPE para eliminar un tipo."
 
-#: commands/tablecmds.c:282 commands/tablecmds.c:13730
-#: commands/tablecmds.c:16193
+#: commands/tablecmds.c:291 commands/tablecmds.c:14238
+#: commands/tablecmds.c:16798
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "no existe la tabla foránea «%s»"
 
-#: commands/tablecmds.c:283
+#: commands/tablecmds.c:292
 #, c-format
 msgid "foreign table \"%s\" does not exist, skipping"
 msgstr "la tabla foránea «%s» no existe, omitiendo"
 
-#: commands/tablecmds.c:285
+#: commands/tablecmds.c:294
 msgid "Use DROP FOREIGN TABLE to remove a foreign table."
 msgstr "Use DROP FOREIGN TABLE para eliminar una tabla foránea."
 
-#: commands/tablecmds.c:700
+#: commands/tablecmds.c:722
 #, c-format
 msgid "ON COMMIT can only be used on temporary tables"
 msgstr "ON COMMIT sólo puede ser usado en tablas temporales"
 
-#: commands/tablecmds.c:731
+#: commands/tablecmds.c:753
 #, c-format
 msgid "cannot create temporary table within security-restricted operation"
 msgstr "no se puede crear una tabla temporal dentro una operación restringida por seguridad"
 
-#: commands/tablecmds.c:767 commands/tablecmds.c:15038
+#: commands/tablecmds.c:789 commands/tablecmds.c:15657
 #, c-format
 msgid "relation \"%s\" would be inherited from more than once"
 msgstr "se heredaría de la relación «%s» más de una vez"
 
-#: commands/tablecmds.c:955
-#, c-format
-msgid "specifying a table access method is not supported on a partitioned table"
-msgstr "especificar un método de acceso de tablas no está soportado en tablas particionadas"
-
-#: commands/tablecmds.c:1048
+#: commands/tablecmds.c:1055
 #, c-format
 msgid "\"%s\" is not partitioned"
 msgstr "«%s» no está particionada"
 
-#: commands/tablecmds.c:1142
+#: commands/tablecmds.c:1149
 #, c-format
 msgid "cannot partition using more than %d columns"
 msgstr "no se puede particionar usando más de %d columnas"
 
-#: commands/tablecmds.c:1198
+#: commands/tablecmds.c:1205
 #, c-format
 msgid "cannot create foreign partition of partitioned table \"%s\""
 msgstr "no se puede crear una partición foránea en la tabla particionada «%s»"
 
-#: commands/tablecmds.c:1200
+#: commands/tablecmds.c:1207
 #, c-format
 msgid "Table \"%s\" contains indexes that are unique."
 msgstr "La tabla «%s» contiene índices que son únicos."
 
-#: commands/tablecmds.c:1365
+#: commands/tablecmds.c:1326 commands/tablecmds.c:13254
+#, fuzzy, c-format
+#| msgid "mismatched array dimensions"
+msgid "too many array dimensions"
+msgstr "las dimensiones de array no coinciden"
+
+#: commands/tablecmds.c:1331 parser/parse_clause.c:774
+#: parser/parse_relation.c:1912
+#, c-format
+msgid "column \"%s\" cannot be declared SETOF"
+msgstr "la columna «%s» no puede ser declarada SETOF"
+
+#: commands/tablecmds.c:1477
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects"
 msgstr "DROP INDEX CONCURRENTLY no soporta eliminar múltiples objetos"
 
-#: commands/tablecmds.c:1369
+#: commands/tablecmds.c:1481
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
 msgstr "DROP INDEX CONCURRENTLY no soporta CASCADE"
 
-#: commands/tablecmds.c:1473
+#: commands/tablecmds.c:1585
 #, c-format
 msgid "cannot drop partitioned index \"%s\" concurrently"
 msgstr "no se puede eliminar el índice particionado «%s» concurrentemente"
 
-#: commands/tablecmds.c:1761
+#: commands/tablecmds.c:1873
 #, c-format
 msgid "cannot truncate only a partitioned table"
 msgstr "no se puede truncar ONLY una tabla particionada"
 
-#: commands/tablecmds.c:1762
+#: commands/tablecmds.c:1874
 #, c-format
 msgid "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions directly."
 msgstr "No especifique la opción ONLY, o ejecute TRUNCATE ONLY en las particiones directamente."
 
-#: commands/tablecmds.c:1835
+#: commands/tablecmds.c:1947
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "truncando además la tabla «%s»"
 
-#: commands/tablecmds.c:2199
+#: commands/tablecmds.c:2308
 #, c-format
 msgid "cannot truncate foreign table \"%s\""
 msgstr "no se puede truncar la tabla foránea «%s»"
 
-#: commands/tablecmds.c:2256
+#: commands/tablecmds.c:2365
 #, c-format
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "no se pueden truncar tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:2488 commands/tablecmds.c:14935
+#: commands/tablecmds.c:2594 commands/tablecmds.c:15554
 #, c-format
 msgid "cannot inherit from partitioned table \"%s\""
 msgstr "no se puede heredar de la tabla particionada «%s»"
 
-#: commands/tablecmds.c:2493
+#: commands/tablecmds.c:2599
 #, c-format
 msgid "cannot inherit from partition \"%s\""
 msgstr "no se puede heredar de la partición «%s»"
 
-#: commands/tablecmds.c:2501 parser/parse_utilcmd.c:2475
-#: parser/parse_utilcmd.c:2617
+#: commands/tablecmds.c:2607 parser/parse_utilcmd.c:2456
+#: parser/parse_utilcmd.c:2598
 #, c-format
 msgid "inherited relation \"%s\" is not a table or foreign table"
 msgstr "la relación heredada «%s» no es una tabla o tabla foránea"
 
-#: commands/tablecmds.c:2513
+#: commands/tablecmds.c:2619 commands/tablecmds.c:20412
 #, c-format
 msgid "cannot create a temporary relation as partition of permanent relation \"%s\""
 msgstr "no se puede crear una relación temporal como partición de la relación permanente «%s»"
 
-#: commands/tablecmds.c:2522 commands/tablecmds.c:14914
+#: commands/tablecmds.c:2628 commands/tablecmds.c:15533
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "no se puede heredar de la tabla temporal «%s»"
 
-#: commands/tablecmds.c:2532 commands/tablecmds.c:14922
+#: commands/tablecmds.c:2638 commands/tablecmds.c:15541
 #, c-format
 msgid "cannot inherit from temporary relation of another session"
 msgstr "no se puede heredar de una tabla temporal de otra sesión"
 
-#: commands/tablecmds.c:2585
+#: commands/tablecmds.c:2779 commands/tablecmds.c:2833
+#: commands/tablecmds.c:12937 parser/parse_utilcmd.c:1240
+#: parser/parse_utilcmd.c:1283 parser/parse_utilcmd.c:1710
+#: parser/parse_utilcmd.c:1818
 #, c-format
-msgid "merging multiple inherited definitions of column \"%s\""
-msgstr "mezclando múltiples definiciones heredadas de la columna «%s»"
+msgid "cannot convert whole-row table reference"
+msgstr "no se puede convertir una referencia a la fila completa (whole-row)"
 
-#: commands/tablecmds.c:2597
+#: commands/tablecmds.c:2780 parser/parse_utilcmd.c:1241
 #, c-format
-msgid "inherited column \"%s\" has a type conflict"
-msgstr "columna heredada «%s» tiene conflicto de tipos"
+msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"."
+msgstr "La expresión de generación para la columna «%s» contiene una referencia a la fila completa (whole-row) de la tabla «%s»."
 
-#: commands/tablecmds.c:2599 commands/tablecmds.c:2628
-#: commands/tablecmds.c:2647 commands/tablecmds.c:2919
-#: commands/tablecmds.c:2955 commands/tablecmds.c:2971
-#: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175
-#: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216
-#: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305
-#: parser/parse_coerce.c:2381 parser/parse_coerce.c:2412
-#: parser/parse_coerce.c:2451 parser/parse_coerce.c:2518
-#: parser/parse_param.c:223
+#: commands/tablecmds.c:2834 parser/parse_utilcmd.c:1284
 #, c-format
-msgid "%s versus %s"
-msgstr "%s versus %s"
+msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"."
+msgstr "La restricción «%s» contiene una referencia a la fila completa (whole-row) de la tabla «%s»."
 
-#: commands/tablecmds.c:2612
+#: commands/tablecmds.c:2944 commands/tablecmds.c:3215
 #, c-format
-msgid "inherited column \"%s\" has a collation conflict"
-msgstr "columna heredada «%s» tiene conflicto de ordenamiento (collation)"
+msgid "column \"%s\" inherits from generated column but specifies default"
+msgstr "la columna «%s» hereda de una columna generada pero especifica un valor por omisión"
 
-#: commands/tablecmds.c:2614 commands/tablecmds.c:2935
-#: commands/tablecmds.c:6849
+#: commands/tablecmds.c:2949 commands/tablecmds.c:3220
 #, c-format
-msgid "\"%s\" versus \"%s\""
-msgstr "«%s» versus «%s»"
+msgid "column \"%s\" inherits from generated column but specifies identity"
+msgstr "la columna «%s» hereda de una columna generada pero especifica una identidad"
 
-#: commands/tablecmds.c:2626
+#: commands/tablecmds.c:2957 commands/tablecmds.c:3228
 #, c-format
-msgid "inherited column \"%s\" has a storage parameter conflict"
-msgstr "columna heredada «%s» tiene conflicto de parámetros de almacenamiento"
+msgid "child column \"%s\" specifies generation expression"
+msgstr "la columna hija «%s» especifica una expresión de generación de columna"
 
-#: commands/tablecmds.c:2645 commands/tablecmds.c:2969
-#, c-format
-msgid "column \"%s\" has a compression method conflict"
-msgstr "la columna «%s» tiene conflicto de método de compresión"
+#: commands/tablecmds.c:2959 commands/tablecmds.c:3230
+#, fuzzy, c-format
+#| msgid "A generated column cannot reference another generated column."
+msgid "A child table column cannot be generated unless its parent column is."
+msgstr "Una columna generada no puede hacer referencia a otra columna generada."
 
-#: commands/tablecmds.c:2661
+#: commands/tablecmds.c:3005
 #, c-format
-msgid "inherited column \"%s\" has a generation conflict"
-msgstr "columna heredada «%s» tiene conflicto de generación"
+msgid "column \"%s\" inherits conflicting generation expressions"
+msgstr "la columna «%s» hereda expresiones de generación en conflicto"
+
+#: commands/tablecmds.c:3007
+#, fuzzy, c-format
+#| msgid "To resolve the conflict, specify a default explicitly."
+msgid "To resolve the conflict, specify a generation expression explicitly."
+msgstr "Para resolver el conflicto, indique explícitamente un valor por omisión."
 
-#: commands/tablecmds.c:2767 commands/tablecmds.c:2822
-#: commands/tablecmds.c:12456 parser/parse_utilcmd.c:1298
-#: parser/parse_utilcmd.c:1341 parser/parse_utilcmd.c:1740
-#: parser/parse_utilcmd.c:1848
+#: commands/tablecmds.c:3011
 #, c-format
-msgid "cannot convert whole-row table reference"
-msgstr "no se puede convertir una referencia a la fila completa (whole-row)"
+msgid "column \"%s\" inherits conflicting default values"
+msgstr "la columna «%s» hereda valores por omisión no coincidentes"
 
-#: commands/tablecmds.c:2768 parser/parse_utilcmd.c:1299
+#: commands/tablecmds.c:3013
 #, c-format
-msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"."
-msgstr "La expresión de generación para la columna «%s» contiene una referencia a la fila completa (whole-row) de la tabla «%s»."
+msgid "To resolve the conflict, specify a default explicitly."
+msgstr "Para resolver el conflicto, indique explícitamente un valor por omisión."
 
-#: commands/tablecmds.c:2823 parser/parse_utilcmd.c:1342
+#: commands/tablecmds.c:3068
 #, c-format
-msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"."
-msgstr "La restricción «%s» contiene una referencia a la fila completa (whole-row) de la tabla «%s»."
+msgid "check constraint name \"%s\" appears multiple times but with different expressions"
+msgstr "la restricción «check» «%s» aparece más de una vez con diferentes expresiones"
 
-#: commands/tablecmds.c:2901
+#: commands/tablecmds.c:3119
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "mezclando la columna «%s» con la definición heredada"
 
-#: commands/tablecmds.c:2905
+#: commands/tablecmds.c:3123
 #, c-format
 msgid "moving and merging column \"%s\" with inherited definition"
 msgstr "moviendo y mezclando la columna «%s» con la definición heredada"
 
-#: commands/tablecmds.c:2906
+#: commands/tablecmds.c:3124
 #, c-format
 msgid "User-specified column moved to the position of the inherited column."
 msgstr "La columna especificada por el usuario fue movida a la posición de la columna heredada."
 
-#: commands/tablecmds.c:2917
+#: commands/tablecmds.c:3136
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "la columna «%s» tiene conflicto de tipos"
 
-#: commands/tablecmds.c:2933
+#: commands/tablecmds.c:3138 commands/tablecmds.c:3172
+#: commands/tablecmds.c:3188 commands/tablecmds.c:3295
+#: commands/tablecmds.c:3328 commands/tablecmds.c:3344
+#: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175
+#: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216
+#: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305
+#: parser/parse_coerce.c:2381 parser/parse_coerce.c:2412
+#: parser/parse_coerce.c:2451 parser/parse_coerce.c:2518
+#: parser/parse_param.c:223
+#, c-format
+msgid "%s versus %s"
+msgstr "%s versus %s"
+
+#: commands/tablecmds.c:3150
 #, c-format
 msgid "column \"%s\" has a collation conflict"
 msgstr "la columna «%s» tiene conflicto de ordenamientos (collation)"
 
-#: commands/tablecmds.c:2953
+#: commands/tablecmds.c:3152 commands/tablecmds.c:3314
+#: commands/tablecmds.c:7100
 #, c-format
-msgid "column \"%s\" has a storage parameter conflict"
-msgstr "la columna «%s» tiene conflicto de parámetros de almacenamiento"
+msgid "\"%s\" versus \"%s\""
+msgstr "«%s» versus «%s»"
 
-#: commands/tablecmds.c:2999 commands/tablecmds.c:3086
+#: commands/tablecmds.c:3170
 #, c-format
-msgid "column \"%s\" inherits from generated column but specifies default"
-msgstr "la columna «%s» hereda de una columna generada pero especifica un valor por omisión"
+msgid "column \"%s\" has a storage parameter conflict"
+msgstr "la columna «%s» tiene conflicto de parámetros de almacenamiento"
 
-#: commands/tablecmds.c:3004 commands/tablecmds.c:3091
+#: commands/tablecmds.c:3186 commands/tablecmds.c:3342
 #, c-format
-msgid "column \"%s\" inherits from generated column but specifies identity"
-msgstr "la columna «%s» hereda de una columna generada pero especifica una identidad"
+msgid "column \"%s\" has a compression method conflict"
+msgstr "la columna «%s» tiene conflicto de método de compresión"
 
-#: commands/tablecmds.c:3012 commands/tablecmds.c:3099
+#: commands/tablecmds.c:3281
 #, c-format
-msgid "child column \"%s\" specifies generation expression"
-msgstr "la columna hija «%s» especifica una expresión de generación de columna"
-
-#: commands/tablecmds.c:3014 commands/tablecmds.c:3101
-#, fuzzy, c-format
-#| msgid "A generated column cannot reference another generated column."
-msgid "A child table column cannot be generated unless its parent column is."
-msgstr "Una columna generada no puede hacer referencia a otra columna generada."
+msgid "merging multiple inherited definitions of column \"%s\""
+msgstr "mezclando múltiples definiciones heredadas de la columna «%s»"
 
-#: commands/tablecmds.c:3147
+#: commands/tablecmds.c:3293
 #, c-format
-msgid "column \"%s\" inherits conflicting generation expressions"
-msgstr "la columna «%s» hereda expresiones de generación en conflicto"
-
-#: commands/tablecmds.c:3149
-#, fuzzy, c-format
-#| msgid "To resolve the conflict, specify a default explicitly."
-msgid "To resolve the conflict, specify a generation expression explicitly."
-msgstr "Para resolver el conflicto, indique explícitamente un valor por omisión."
+msgid "inherited column \"%s\" has a type conflict"
+msgstr "columna heredada «%s» tiene conflicto de tipos"
 
-#: commands/tablecmds.c:3153
+#: commands/tablecmds.c:3312
 #, c-format
-msgid "column \"%s\" inherits conflicting default values"
-msgstr "la columna «%s» hereda valores por omisión no coincidentes"
+msgid "inherited column \"%s\" has a collation conflict"
+msgstr "columna heredada «%s» tiene conflicto de ordenamiento (collation)"
 
-#: commands/tablecmds.c:3155
+#: commands/tablecmds.c:3326
 #, c-format
-msgid "To resolve the conflict, specify a default explicitly."
-msgstr "Para resolver el conflicto, indique explícitamente un valor por omisión."
+msgid "inherited column \"%s\" has a storage parameter conflict"
+msgstr "columna heredada «%s» tiene conflicto de parámetros de almacenamiento"
 
-#: commands/tablecmds.c:3205
+#: commands/tablecmds.c:3354
 #, c-format
-msgid "check constraint name \"%s\" appears multiple times but with different expressions"
-msgstr "la restricción «check» «%s» aparece más de una vez con diferentes expresiones"
+msgid "inherited column \"%s\" has a generation conflict"
+msgstr "columna heredada «%s» tiene conflicto de generación"
 
-#: commands/tablecmds.c:3418
+#: commands/tablecmds.c:3585
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "no se pueden mover tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:3488
+#: commands/tablecmds.c:3655
 #, c-format
 msgid "cannot rename column of typed table"
 msgstr "no se puede cambiar el nombre a una columna de una tabla tipada"
 
-#: commands/tablecmds.c:3507
+#: commands/tablecmds.c:3674
 #, fuzzy, c-format
 #| msgid "cannot alter inherited column \"%s\" of relation \"%s\""
 msgid "cannot rename columns of relation \"%s\""
 msgstr "no se puede alterar la columna heredada «%s» de la relación «%s»"
 
-#: commands/tablecmds.c:3602
+#: commands/tablecmds.c:3769
 #, c-format
 msgid "inherited column \"%s\" must be renamed in child tables too"
 msgstr "debe cambiar el nombre a la columna heredada «%s» en las tablas hijas también"
 
-#: commands/tablecmds.c:3634
+#: commands/tablecmds.c:3801
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "no se puede cambiar el nombre a la columna de sistema «%s»"
 
-#: commands/tablecmds.c:3649
+#: commands/tablecmds.c:3816
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "no se puede cambiar el nombre a la columna heredada «%s»"
 
-#: commands/tablecmds.c:3801
+#: commands/tablecmds.c:3968
 #, c-format
 msgid "inherited constraint \"%s\" must be renamed in child tables too"
 msgstr "debe cambiar el nombre a la restricción heredada «%s» en las tablas hijas también"
 
-#: commands/tablecmds.c:3808
+#: commands/tablecmds.c:3975
 #, c-format
 msgid "cannot rename inherited constraint \"%s\""
 msgstr "no se puede cambiar el nombre a la restricción heredada «%s»"
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:4105
+#: commands/tablecmds.c:4272
 #, c-format
 msgid "cannot %s \"%s\" because it is being used by active queries in this session"
 msgstr "no se puede hacer %s en «%s» porque está siendo usada por consultas activas en esta sesión"
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:4114
+#: commands/tablecmds.c:4281
 #, c-format
 msgid "cannot %s \"%s\" because it has pending trigger events"
 msgstr "no se puede hacer %s en «%s» porque tiene eventos de disparador pendientes"
 
-#: commands/tablecmds.c:4581
+#: commands/tablecmds.c:4307
+#, fuzzy, c-format
+#| msgid "cannot cluster temporary tables of other sessions"
+msgid "cannot alter temporary tables of other sessions"
+msgstr "no se pueden reordenar tablas temporales de otras sesiones"
+
+#: commands/tablecmds.c:4788
 #, c-format
 msgid "cannot alter partition \"%s\" with an incomplete detach"
 msgstr "no se puede modificar la partición «%s» teniendo un desprendimiento incompleto"
 
-#: commands/tablecmds.c:4774 commands/tablecmds.c:4789
+#: commands/tablecmds.c:4992 commands/tablecmds.c:5007
 #, c-format
 msgid "cannot change persistence setting twice"
 msgstr "no se puede cambiar la opción de persistencia dos veces"
 
-#: commands/tablecmds.c:4810
-#, fuzzy, c-format
-#| msgid "cannot change inheritance of partitioned table"
-msgid "cannot change access method of a partitioned table"
-msgstr "no se puede cambiar la herencia de una tabla particionada"
-
-#: commands/tablecmds.c:4816
+#: commands/tablecmds.c:5028
 #, fuzzy, c-format
 #| msgid "cannot have multiple SET TABLESPACE subcommands"
 msgid "cannot have multiple SET ACCESS METHOD subcommands"
 msgstr "no se pueden tener múltiples subórdenes SET TABLESPACE"
 
-#: commands/tablecmds.c:5537
+#: commands/tablecmds.c:5784
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "no se puede reescribir la relación de sistema «%s»"
 
-#: commands/tablecmds.c:5543
+#: commands/tablecmds.c:5790
 #, c-format
 msgid "cannot rewrite table \"%s\" used as a catalog table"
 msgstr "no se puede reescribir la tabla «%s» que es usada como tabla de catálogo"
 
-#: commands/tablecmds.c:5553
+#: commands/tablecmds.c:5802
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "no se puede reescribir tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:6048
+#: commands/tablecmds.c:6297
 #, c-format
 msgid "column \"%s\" of relation \"%s\" contains null values"
 msgstr "la columna «%s» de la relación «%s» contiene valores null"
 
-#: commands/tablecmds.c:6065
+#: commands/tablecmds.c:6314
 #, c-format
 msgid "check constraint \"%s\" of relation \"%s\" is violated by some row"
 msgstr "la restricción check «%s» de la relación «%s» es violada por alguna fila"
 
-#: commands/tablecmds.c:6084 partitioning/partbounds.c:3388
+#: commands/tablecmds.c:6333 partitioning/partbounds.c:3388
 #, c-format
 msgid "updated partition constraint for default partition \"%s\" would be violated by some row"
 msgstr "la restricción de partición actualizada para la partición default «%s» sería violada por alguna fila"
 
-#: commands/tablecmds.c:6090
+#: commands/tablecmds.c:6339
 #, c-format
 msgid "partition constraint of relation \"%s\" is violated by some row"
 msgstr "la restricción de partición de la relación «%s» es violada por alguna fila"
 
 #. translator: %s is a group of some SQL keywords
-#: commands/tablecmds.c:6352
+#: commands/tablecmds.c:6608
 #, fuzzy, c-format
 #| msgid "relation \"%s\" is not a parent of relation \"%s\""
 msgid "ALTER action %s cannot be performed on relation \"%s\""
 msgstr "relación «%s» no es un padre de la relación «%s»"
 
-#: commands/tablecmds.c:6607 commands/tablecmds.c:6614
+#: commands/tablecmds.c:6863 commands/tablecmds.c:6870
 #, c-format
 msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it"
 msgstr "no se puede alterar el tipo «%s» porque la columna «%s.%s» lo usa"
 
-#: commands/tablecmds.c:6621
+#: commands/tablecmds.c:6877
 #, c-format
 msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr "no se puede alterar la tabla foránea «%s» porque la columna «%s.%s» usa su tipo de registro"
 
-#: commands/tablecmds.c:6628
+#: commands/tablecmds.c:6884
 #, c-format
 msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr "no se puede alterar la tabla «%s» porque la columna «%s.%s» usa su tipo de registro"
 
-#: commands/tablecmds.c:6684
+#: commands/tablecmds.c:6940
 #, c-format
 msgid "cannot alter type \"%s\" because it is the type of a typed table"
 msgstr "no se puede cambiar el tipo «%s» porque es el tipo de una tabla tipada"
 
-#: commands/tablecmds.c:6686
+#: commands/tablecmds.c:6942
 #, c-format
 msgid "Use ALTER ... CASCADE to alter the typed tables too."
 msgstr "Use ALTER ... CASCADE para eliminar además las tablas tipadas."
 
-#: commands/tablecmds.c:6732
+#: commands/tablecmds.c:6988
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "el tipo %s no es un tipo compuesto"
 
-#: commands/tablecmds.c:6759
+#: commands/tablecmds.c:7015
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "no se puede agregar una columna a una tabla tipada"
 
-#: commands/tablecmds.c:6812
+#: commands/tablecmds.c:7063
 #, c-format
 msgid "cannot add column to a partition"
 msgstr "no se puede agregar una columna a una partición"
 
-#: commands/tablecmds.c:6841 commands/tablecmds.c:15165
+#: commands/tablecmds.c:7092 commands/tablecmds.c:15772
 #, c-format
 msgid "child table \"%s\" has different type for column \"%s\""
 msgstr "la tabla hija «%s» tiene un tipo diferente para la columna «%s»"
 
-#: commands/tablecmds.c:6847 commands/tablecmds.c:15172
+#: commands/tablecmds.c:7098 commands/tablecmds.c:15778
 #, c-format
 msgid "child table \"%s\" has different collation for column \"%s\""
 msgstr "la tabla hija «%s» tiene un ordenamiento (collation) diferente para la columna «%s»"
 
-#: commands/tablecmds.c:6865
+#: commands/tablecmds.c:7116
 #, c-format
 msgid "merging definition of column \"%s\" for child \"%s\""
 msgstr "mezclando la definición de la columna «%s» en la tabla hija «%s»"
 
-#: commands/tablecmds.c:6908
+#: commands/tablecmds.c:7169
 #, c-format
 msgid "cannot recursively add identity column to table that has child tables"
 msgstr "no se puede agregar una columna de identidad recursivamente a una tabla que tiene tablas hijas"
 
-#: commands/tablecmds.c:7159
+#: commands/tablecmds.c:7382
 #, c-format
 msgid "column must be added to child tables too"
 msgstr "la columna debe ser agregada a las tablas hijas también"
 
-#: commands/tablecmds.c:7237
+#: commands/tablecmds.c:7460
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists, skipping"
 msgstr "la columna «%s» de la relación «%s» ya existe, omitiendo"
 
-#: commands/tablecmds.c:7244
+#: commands/tablecmds.c:7467
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "ya existe la columna «%s» en la relación «%s»"
 
-#: commands/tablecmds.c:7310 commands/tablecmds.c:12094
+#: commands/tablecmds.c:7533 commands/tablecmds.c:12576
 #, c-format
 msgid "cannot remove constraint from only the partitioned table when partitions exist"
 msgstr "no se pueden eliminar restricciones sólo de la tabla particionada cuando existen particiones"
 
-#: commands/tablecmds.c:7311 commands/tablecmds.c:7628
-#: commands/tablecmds.c:8593 commands/tablecmds.c:12095
+#: commands/tablecmds.c:7534 commands/tablecmds.c:7848
+#: commands/tablecmds.c:8026 commands/tablecmds.c:8133
+#: commands/tablecmds.c:8250 commands/tablecmds.c:9069
+#: commands/tablecmds.c:12577
 #, c-format
 msgid "Do not specify the ONLY keyword."
 msgstr "No especifique la opción ONLY."
 
-#: commands/tablecmds.c:7348 commands/tablecmds.c:7554
-#: commands/tablecmds.c:7696 commands/tablecmds.c:7810
-#: commands/tablecmds.c:7904 commands/tablecmds.c:7963
-#: commands/tablecmds.c:8082 commands/tablecmds.c:8221
-#: commands/tablecmds.c:8291 commands/tablecmds.c:8425
-#: commands/tablecmds.c:12249 commands/tablecmds.c:13753
-#: commands/tablecmds.c:16282
+#: commands/tablecmds.c:7570 commands/tablecmds.c:7774
+#: commands/tablecmds.c:7916 commands/tablecmds.c:8048
+#: commands/tablecmds.c:8177 commands/tablecmds.c:8271
+#: commands/tablecmds.c:8372 commands/tablecmds.c:8529
+#: commands/tablecmds.c:8682 commands/tablecmds.c:8763
+#: commands/tablecmds.c:8897 commands/tablecmds.c:12730
+#: commands/tablecmds.c:14261 commands/tablecmds.c:16887
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "no se puede alterar columna de sistema «%s»"
 
-#: commands/tablecmds.c:7354 commands/tablecmds.c:7702
+#: commands/tablecmds.c:7576 commands/tablecmds.c:7922
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is an identity column"
 msgstr "la columna «%s» en la relación «%s» es una columna de identidad"
 
-#: commands/tablecmds.c:7397
+#: commands/tablecmds.c:7617
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "la columna «%s» está en la llave primaria"
 
-#: commands/tablecmds.c:7402
+#: commands/tablecmds.c:7622
 #, c-format
 msgid "column \"%s\" is in index used as replica identity"
 msgstr "la columna «%s» se encuentra en un índice utilizado como identidad de réplica"
 
-#: commands/tablecmds.c:7425
+#: commands/tablecmds.c:7645
 #, c-format
 msgid "column \"%s\" is marked NOT NULL in parent table"
 msgstr "columna «%s» está marcada NOT NULL en la tabla padre"
 
-#: commands/tablecmds.c:7625 commands/tablecmds.c:9077
+#: commands/tablecmds.c:7845 commands/tablecmds.c:9553
 #, c-format
 msgid "constraint must be added to child tables too"
 msgstr "la restricción debe ser agregada a las tablas hijas también"
 
-#: commands/tablecmds.c:7626
+#: commands/tablecmds.c:7846
 #, c-format
 msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL."
 msgstr "La columna «%s» de la relación «%s» no está previamente marcada NOT NULL."
 
-#: commands/tablecmds.c:7704
-#, c-format
-msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead."
-msgstr "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY en su lugar."
-
-#: commands/tablecmds.c:7709
+#: commands/tablecmds.c:7931
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is a generated column"
 msgstr "la columna «%s» en la relación «%s» es una columna generada"
 
-#: commands/tablecmds.c:7712
-#, c-format
-msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead."
-msgstr "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION en su lugar."
+#: commands/tablecmds.c:8025
+#, fuzzy, c-format
+#| msgid "cannot drop column from only the partitioned table when partitions exist"
+msgid "cannot add identity to a column of only the partitioned table"
+msgstr "no se pueden eliminar columnas sólo de una tabla particionada cuando existe particiones"
 
-#: commands/tablecmds.c:7821
+#: commands/tablecmds.c:8031
+#, fuzzy, c-format
+#| msgid "cannot add column to a partition"
+msgid "cannot add identity to a column of a partition"
+msgstr "no se puede agregar una columna a una partición"
+
+#: commands/tablecmds.c:8059
 #, c-format
 msgid "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity can be added"
 msgstr "la columna «%s» en la relación «%s» debe ser declarada NOT NULL antes de que una identidad pueda agregarse"
 
-#: commands/tablecmds.c:7827
+#: commands/tablecmds.c:8065
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is already an identity column"
 msgstr "la columna «%s» en la relación «%s» ya es una columna de identidad"
 
-#: commands/tablecmds.c:7833
+#: commands/tablecmds.c:8071
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already has a default value"
 msgstr "la columna «%s» en la relación «%s» ya tiene un valor por omisión"
 
-#: commands/tablecmds.c:7910 commands/tablecmds.c:7971
+#: commands/tablecmds.c:8132
+#, fuzzy, c-format
+#| msgid "cannot change inheritance of partitioned table"
+msgid "cannot change identity column of only the partitioned table"
+msgstr "no se puede cambiar la herencia de una tabla particionada"
+
+#: commands/tablecmds.c:8138
+#, fuzzy, c-format
+#| msgid "cannot change inheritance of a partition"
+msgid "cannot change identity column of a partition"
+msgstr "no puede cambiar la herencia de una partición"
+
+#: commands/tablecmds.c:8183 commands/tablecmds.c:8279
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not an identity column"
 msgstr "la columna «%s» en la relación «%s» no es una columna identidad"
 
-#: commands/tablecmds.c:7976
+#: commands/tablecmds.c:8249
+#, fuzzy, c-format
+#| msgid "cannot drop column from only the partitioned table when partitions exist"
+msgid "cannot drop identity from a column of only the partitioned table"
+msgstr "no se pueden eliminar columnas sólo de una tabla particionada cuando existe particiones"
+
+#: commands/tablecmds.c:8255
+#, fuzzy, c-format
+#| msgid "cannot add column to a partition"
+msgid "cannot drop identity from a column of a partition"
+msgstr "no se puede agregar una columna a una partición"
+
+#: commands/tablecmds.c:8284
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping"
 msgstr "la columna «%s» de la relación «%s» no es una columna identidad, omitiendo"
 
-#: commands/tablecmds.c:8029
+#: commands/tablecmds.c:8378
+#, fuzzy, c-format
+#| msgid "column \"%s\" of relation \"%s\" is a generated column"
+msgid "column \"%s\" of relation \"%s\" is not a generated column"
+msgstr "la columna «%s» en la relación «%s» es una columna generada"
+
+#: commands/tablecmds.c:8476
 #, c-format
 msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too"
 msgstr "ALTER TABLE / DROP EXPRESSION se debe aplicar a las tablas hijas también"
 
-#: commands/tablecmds.c:8051
+#: commands/tablecmds.c:8498
 #, c-format
 msgid "cannot drop generation expression from inherited column"
 msgstr "no se puede eliminar la expresión de generación de una columna heredada"
 
-#: commands/tablecmds.c:8090
+#: commands/tablecmds.c:8537
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not a stored generated column"
 msgstr "la columna «%s» en la relación «%s» no es una columna generada almacenada"
 
-#: commands/tablecmds.c:8095
+#: commands/tablecmds.c:8542
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping"
 msgstr "la columna «%s» de la relación «%s» no es una columna generada almacenada, omitiendo"
 
-#: commands/tablecmds.c:8168
+#: commands/tablecmds.c:8620
 #, c-format
 msgid "cannot refer to non-index column by number"
 msgstr "no se puede referir a columnas que no son de índice por número"
 
-#: commands/tablecmds.c:8211
+#: commands/tablecmds.c:8672
 #, c-format
 msgid "column number %d of relation \"%s\" does not exist"
 msgstr "no existe la columna número %d en la relación «%s»"
 
-#: commands/tablecmds.c:8230
+#: commands/tablecmds.c:8691
 #, c-format
 msgid "cannot alter statistics on included column \"%s\" of index \"%s\""
 msgstr "no se puede alterar estadísticas en la columna incluida «%s» del índice «%s»"
 
-#: commands/tablecmds.c:8235
+#: commands/tablecmds.c:8696
 #, c-format
 msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\""
 msgstr "no se puede alterar estadísticas en la columna no-de-expresión «%s» del índice «%s»"
 
-#: commands/tablecmds.c:8237
+#: commands/tablecmds.c:8698
 #, c-format
 msgid "Alter statistics on table column instead."
 msgstr "Altere las estadísticas en la columna de la tabla en su lugar."
 
-#: commands/tablecmds.c:8472
+#: commands/tablecmds.c:8944
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "no se pueden eliminar columnas de una tabla tipada"
 
-#: commands/tablecmds.c:8531
+#: commands/tablecmds.c:9007
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "no existe la columna «%s» en la relación «%s», omitiendo"
 
-#: commands/tablecmds.c:8544
+#: commands/tablecmds.c:9020
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "no se puede eliminar la columna de sistema «%s»"
 
-#: commands/tablecmds.c:8554
+#: commands/tablecmds.c:9030
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "no se puede eliminar la columna heredada «%s»"
 
-#: commands/tablecmds.c:8567
+#: commands/tablecmds.c:9043
 #, c-format
 msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\""
 msgstr "no se puede eliminar la columna «%s» porque es parte de la llave de partición de la relación «%s»"
 
-#: commands/tablecmds.c:8592
+#: commands/tablecmds.c:9068
 #, c-format
 msgid "cannot drop column from only the partitioned table when partitions exist"
 msgstr "no se pueden eliminar columnas sólo de una tabla particionada cuando existe particiones"
 
-#: commands/tablecmds.c:8797
+#: commands/tablecmds.c:9273
 #, c-format
 msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables"
 msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX no está soportado en tablas particionadas"
 
-#: commands/tablecmds.c:8822
+#: commands/tablecmds.c:9298
 #, c-format
 msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\""
 msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX renombrará el índice «%s» a «%s»"
 
-#: commands/tablecmds.c:9159
+#: commands/tablecmds.c:9635
 #, c-format
 msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\""
 msgstr "no se puede usar ONLY para una llave foránea en la tabla particionada «%s» haciendo referencia a la relación «%s»"
 
-#: commands/tablecmds.c:9165
+#: commands/tablecmds.c:9641
 #, c-format
 msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\""
 msgstr "no se puede agregar una llave foránea NOT VALID a la tabla particionada «%s» haciendo referencia a la relación «%s»"
 
-#: commands/tablecmds.c:9168
+#: commands/tablecmds.c:9644
 #, c-format
 msgid "This feature is not yet supported on partitioned tables."
 msgstr "Esta característica no está aún soportada en tablas particionadas."
 
-#: commands/tablecmds.c:9175 commands/tablecmds.c:9631
+#: commands/tablecmds.c:9651 commands/tablecmds.c:10107
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "la relación referida «%s» no es una tabla"
 
-#: commands/tablecmds.c:9198
+#: commands/tablecmds.c:9674
 #, c-format
 msgid "constraints on permanent tables may reference only permanent tables"
 msgstr "las restricciones en tablas permanentes sólo pueden hacer referencia a tablas permanentes"
 
-#: commands/tablecmds.c:9205
+#: commands/tablecmds.c:9681
 #, c-format
 msgid "constraints on unlogged tables may reference only permanent or unlogged tables"
 msgstr "las restricciones en tablas «unlogged» sólo pueden hacer referencia a tablas permanentes o «unlogged»"
 
-#: commands/tablecmds.c:9211
+#: commands/tablecmds.c:9687
 #, c-format
 msgid "constraints on temporary tables may reference only temporary tables"
 msgstr "las restricciones en tablas temporales sólo pueden hacer referencia a tablas temporales"
 
-#: commands/tablecmds.c:9215
+#: commands/tablecmds.c:9691
 #, c-format
 msgid "constraints on temporary tables must involve temporary tables of this session"
 msgstr "las restricciones en tablas temporales sólo pueden hacer referencia a tablas temporales de esta sesión"
 
-#: commands/tablecmds.c:9279 commands/tablecmds.c:9285
+#: commands/tablecmds.c:9755 commands/tablecmds.c:9761
 #, c-format
 msgid "invalid %s action for foreign key constraint containing generated column"
 msgstr "acción %s no válida para restricción de llave foránea que contiene columnas generadas"
 
-#: commands/tablecmds.c:9301
+#: commands/tablecmds.c:9777
 #, c-format
 msgid "number of referencing and referenced columns for foreign key disagree"
 msgstr "el número de columnas referidas en la llave foránea no coincide con el número de columnas de referencia"
 
-#: commands/tablecmds.c:9408
+#: commands/tablecmds.c:9884
 #, c-format
 msgid "foreign key constraint \"%s\" cannot be implemented"
 msgstr "la restricción de llave foránea «%s» no puede ser implementada"
 
-#: commands/tablecmds.c:9410
+#: commands/tablecmds.c:9886
 #, c-format
 msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s."
 msgstr "Las columnas llave «%s» y «%s» son de tipos incompatibles: %s y %s"
 
-#: commands/tablecmds.c:9567
+#: commands/tablecmds.c:10043
 #, c-format
 msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key"
 msgstr "la columna «%s» referenciada en la acción ON DELETE SET debe ser parte de la llave foránea"
 
-#: commands/tablecmds.c:9841 commands/tablecmds.c:10311
-#: parser/parse_utilcmd.c:791 parser/parse_utilcmd.c:920
+#: commands/tablecmds.c:10317 commands/tablecmds.c:10787
+#: parser/parse_utilcmd.c:797 parser/parse_utilcmd.c:920
 #, c-format
 msgid "foreign key constraints are not supported on foreign tables"
 msgstr "las restricciones de llave foránea no están soportadas en tablas foráneas"
 
-#: commands/tablecmds.c:10864 commands/tablecmds.c:11142
-#: commands/tablecmds.c:12051 commands/tablecmds.c:12126
+#: commands/tablecmds.c:11340 commands/tablecmds.c:11621
+#: commands/tablecmds.c:12533 commands/tablecmds.c:12607
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist"
 msgstr "no existe la restricción «%s» en la relación «%s»"
 
-#: commands/tablecmds.c:10871
+#: commands/tablecmds.c:11347
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint"
 msgstr "la restricción «%s» de la relación «%s» no es una restricción de llave foránea"
 
-#: commands/tablecmds.c:10909
+#: commands/tablecmds.c:11385
 #, c-format
 msgid "cannot alter constraint \"%s\" on relation \"%s\""
 msgstr "no se puede modificar la restricción «%s» en la relación «%s»"
 
-#: commands/tablecmds.c:10912
+#: commands/tablecmds.c:11388
 #, c-format
 msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"."
 msgstr "La restricción «%s» deriva de la restricción «%s» de la relación «%s»."
 
-#: commands/tablecmds.c:10914
-#, c-format
-msgid "You may alter the constraint it derives from, instead."
+#: commands/tablecmds.c:11390
+#, fuzzy, c-format
+#| msgid "You may alter the constraint it derives from, instead."
+msgid "You may alter the constraint it derives from instead."
 msgstr "En su lugar, puede modificar la restricción de la cual deriva."
 
-#: commands/tablecmds.c:11150
+#: commands/tablecmds.c:11629
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint"
 msgstr "la restricción «%s» de la relación «%s» no es una llave foránea o restricción «check»"
 
-#: commands/tablecmds.c:11227
+#: commands/tablecmds.c:11706
 #, c-format
 msgid "constraint must be validated on child tables too"
 msgstr "la restricción debe ser validada en las tablas hijas también"
 
-#: commands/tablecmds.c:11314
+#: commands/tablecmds.c:11793
 #, c-format
 msgid "column \"%s\" referenced in foreign key constraint does not exist"
 msgstr "no existe la columna «%s» referida en la llave foránea"
 
-#: commands/tablecmds.c:11320
+#: commands/tablecmds.c:11799
 #, fuzzy, c-format
 #| msgid "Generated columns cannot be used in COPY."
 msgid "system columns cannot be used in foreign keys"
 msgstr "Las columnas generadas no pueden usarse en COPY."
 
-#: commands/tablecmds.c:11324
+#: commands/tablecmds.c:11803
 #, c-format
 msgid "cannot have more than %d keys in a foreign key"
 msgstr "no se puede tener más de %d columnas en una llave foránea"
 
-#: commands/tablecmds.c:11389
+#: commands/tablecmds.c:11868
 #, c-format
 msgid "cannot use a deferrable primary key for referenced table \"%s\""
 msgstr "no se puede usar una llave primaria postergable para la tabla referenciada «%s»"
 
-#: commands/tablecmds.c:11406
+#: commands/tablecmds.c:11885
 #, c-format
 msgid "there is no primary key for referenced table \"%s\""
 msgstr "no hay llave primaria para la tabla referida «%s»"
 
-#: commands/tablecmds.c:11470
+#: commands/tablecmds.c:11953
 #, c-format
 msgid "foreign key referenced-columns list must not contain duplicates"
 msgstr "la lista de columnas referidas en una llave foránea no debe contener duplicados"
 
-#: commands/tablecmds.c:11562
+#: commands/tablecmds.c:12045
 #, c-format
 msgid "cannot use a deferrable unique constraint for referenced table \"%s\""
 msgstr "no se puede usar una restricción unique postergable para la tabla referenciada «%s»"
 
-#: commands/tablecmds.c:11567
+#: commands/tablecmds.c:12050
 #, c-format
 msgid "there is no unique constraint matching given keys for referenced table \"%s\""
 msgstr "no hay restricción unique que coincida con las columnas dadas en la tabla referida «%s»"
 
-#: commands/tablecmds.c:12007
+#: commands/tablecmds.c:12489
 #, c-format
 msgid "cannot drop inherited constraint \"%s\" of relation \"%s\""
 msgstr "no se puede eliminar la restricción «%s» heredada de la relación «%s»"
 
-#: commands/tablecmds.c:12057
+#: commands/tablecmds.c:12539
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "no existe la restricción «%s» en la relación «%s», omitiendo"
 
-#: commands/tablecmds.c:12233
+#: commands/tablecmds.c:12714
 #, c-format
 msgid "cannot alter column type of typed table"
 msgstr "no se puede cambiar el tipo de una columna de una tabla tipada"
 
-#: commands/tablecmds.c:12260
+#: commands/tablecmds.c:12741
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "no se puede alterar la columna heredada «%s»"
 
-#: commands/tablecmds.c:12269
+#: commands/tablecmds.c:12750
 #, c-format
 msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\""
 msgstr "no se puede alterar la columna «%s» porque es parte de la llave de partición de la relación «%s»"
 
-#: commands/tablecmds.c:12319
+#: commands/tablecmds.c:12800
 #, c-format
 msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s"
 msgstr "el resultado de la cláusula USING para la columna «%s» no puede ser convertido automáticamente al tipo %s"
 
-#: commands/tablecmds.c:12322
+#: commands/tablecmds.c:12803
 #, c-format
 msgid "You might need to add an explicit cast."
 msgstr "Puede ser necesario agregar un cast explícito."
 
-#: commands/tablecmds.c:12326
+#: commands/tablecmds.c:12807
 #, c-format
 msgid "column \"%s\" cannot be cast automatically to type %s"
 msgstr "la columna «%s» no puede convertirse automáticamente al tipo %s"
 
 #. translator: USING is SQL, don't translate it
-#: commands/tablecmds.c:12329
+#: commands/tablecmds.c:12810
 #, c-format
 msgid "You might need to specify \"USING %s::%s\"."
 msgstr "Puede ser necesario especificar «USING %s::%s»."
 
-#: commands/tablecmds.c:12428
+#: commands/tablecmds.c:12909
 #, c-format
 msgid "cannot alter inherited column \"%s\" of relation \"%s\""
 msgstr "no se puede alterar la columna heredada «%s» de la relación «%s»"
 
-#: commands/tablecmds.c:12457
+#: commands/tablecmds.c:12938
 #, c-format
 msgid "USING expression contains a whole-row table reference."
 msgstr "La expresión USING contiene una referencia a la fila completa (whole-row)."
 
-#: commands/tablecmds.c:12468
+#: commands/tablecmds.c:12949
 #, c-format
 msgid "type of inherited column \"%s\" must be changed in child tables too"
 msgstr "debe cambiar el tipo a la columna heredada «%s» en las tablas hijas también"
 
-#: commands/tablecmds.c:12593
+#: commands/tablecmds.c:13074
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "no se puede alterar el tipo de la columna «%s» dos veces"
 
-#: commands/tablecmds.c:12631
+#: commands/tablecmds.c:13112
 #, c-format
 msgid "generation expression for column \"%s\" cannot be cast automatically to type %s"
 msgstr "la expresión de generación para la columna «%s» no puede ser convertido automáticamente al tipo %s"
 
-#: commands/tablecmds.c:12636
+#: commands/tablecmds.c:13117
 #, c-format
 msgid "default for column \"%s\" cannot be cast automatically to type %s"
 msgstr "el valor por omisión para la columna «%s» no puede ser convertido automáticamente al tipo %s"
 
-#: commands/tablecmds.c:12717
-#, c-format
-msgid "cannot alter type of a column used by a view or rule"
+#: commands/tablecmds.c:13421
+#, fuzzy, c-format
+#| msgid "cannot alter type of a column used by a view or rule"
+msgid "cannot alter type of a column used by a function or procedure"
 msgstr "no se puede alterar el tipo de una columna usada en una regla o vista"
 
-#: commands/tablecmds.c:12718 commands/tablecmds.c:12737
-#: commands/tablecmds.c:12755
+#: commands/tablecmds.c:13422 commands/tablecmds.c:13437
+#: commands/tablecmds.c:13457 commands/tablecmds.c:13476
+#: commands/tablecmds.c:13535
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s depende de la columna «%s»"
 
-#: commands/tablecmds.c:12736
+#: commands/tablecmds.c:13436
+#, c-format
+msgid "cannot alter type of a column used by a view or rule"
+msgstr "no se puede alterar el tipo de una columna usada en una regla o vista"
+
+#: commands/tablecmds.c:13456
 #, c-format
 msgid "cannot alter type of a column used in a trigger definition"
 msgstr "no se puede alterar el tipo de una columna usada en una definición de trigger"
 
-#: commands/tablecmds.c:12754
+#: commands/tablecmds.c:13475
 #, c-format
 msgid "cannot alter type of a column used in a policy definition"
 msgstr "no se puede alterar el tipo de una columna usada en una definición de política"
 
-#: commands/tablecmds.c:12785
+#: commands/tablecmds.c:13506
 #, c-format
 msgid "cannot alter type of a column used by a generated column"
 msgstr "no se puede alterar el tipo de una columna usada por una columna generada"
 
-#: commands/tablecmds.c:12786
+#: commands/tablecmds.c:13507
 #, c-format
 msgid "Column \"%s\" is used by generated column \"%s\"."
 msgstr "La columna «%s» es usada por la columna generada «%s»."
 
-#: commands/tablecmds.c:13861 commands/tablecmds.c:13873
+#: commands/tablecmds.c:13534
+#, fuzzy, c-format
+#| msgid "cannot alter type of a column used by a view or rule"
+msgid "cannot alter type of a column used by a publication WHERE clause"
+msgstr "no se puede alterar el tipo de una columna usada en una regla o vista"
+
+#: commands/tablecmds.c:14369 commands/tablecmds.c:14381
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "no se puede cambiar el dueño del índice «%s»"
 
-#: commands/tablecmds.c:13863 commands/tablecmds.c:13875
-#, c-format
-msgid "Change the ownership of the index's table, instead."
+#: commands/tablecmds.c:14371 commands/tablecmds.c:14383
+#, fuzzy, c-format
+#| msgid "Change the ownership of the index's table, instead."
+msgid "Change the ownership of the index's table instead."
 msgstr "Considere cambiar el dueño de la tabla en vez de cambiar el dueño del índice."
 
-#: commands/tablecmds.c:13889
+#: commands/tablecmds.c:14397
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "no se puede cambiar el dueño de la secuencia «%s»"
 
-#: commands/tablecmds.c:13903 commands/tablecmds.c:17201
-#: commands/tablecmds.c:17220
-#, c-format
-msgid "Use ALTER TYPE instead."
-msgstr "Considere usar ALTER TYPE."
-
-#: commands/tablecmds.c:13912
+#: commands/tablecmds.c:14422
 #, fuzzy, c-format
 #| msgid "cannot change owner of index \"%s\""
 msgid "cannot change owner of relation \"%s\""
 msgstr "no se puede cambiar el dueño del índice «%s»"
 
-#: commands/tablecmds.c:14274
+#: commands/tablecmds.c:14889
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "no se pueden tener múltiples subórdenes SET TABLESPACE"
 
-#: commands/tablecmds.c:14351
+#: commands/tablecmds.c:14966
 #, fuzzy, c-format
 #| msgid "cannot alter constraint \"%s\" on relation \"%s\""
 msgid "cannot set options for relation \"%s\""
 msgstr "no se puede modificar la restricción «%s» en la relación «%s»"
 
-#: commands/tablecmds.c:14385 commands/view.c:445
+#: commands/tablecmds.c:15000 commands/view.c:440
 #, c-format
 msgid "WITH CHECK OPTION is supported only on automatically updatable views"
 msgstr "WITH CHECK OPTION sólo puede usarse en vistas automáticamente actualizables"
 
-#: commands/tablecmds.c:14635
+#: commands/tablecmds.c:15250
 #, c-format
 msgid "only tables, indexes, and materialized views exist in tablespaces"
 msgstr "solamente tablas, índices y vistas materializadas existen en tablespaces"
 
-#: commands/tablecmds.c:14647
+#: commands/tablecmds.c:15262
 #, c-format
 msgid "cannot move relations in to or out of pg_global tablespace"
 msgstr "no se puede mover objetos hacia o desde el tablespace pg_global"
 
-#: commands/tablecmds.c:14739
+#: commands/tablecmds.c:15354
 #, c-format
 msgid "aborting because lock on relation \"%s.%s\" is not available"
 msgstr "cancelando porque el lock en la relación «%s.%s» no está disponible"
 
-#: commands/tablecmds.c:14755
+#: commands/tablecmds.c:15370
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "no se encontraron relaciones coincidentes en el tablespace «%s»"
 
-#: commands/tablecmds.c:14873
+#: commands/tablecmds.c:15492
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "no se puede cambiar la herencia de una tabla tipada"
 
-#: commands/tablecmds.c:14878 commands/tablecmds.c:15396
+#: commands/tablecmds.c:15497 commands/tablecmds.c:15997
 #, c-format
 msgid "cannot change inheritance of a partition"
 msgstr "no puede cambiar la herencia de una partición"
 
-#: commands/tablecmds.c:14883
+#: commands/tablecmds.c:15502
 #, c-format
 msgid "cannot change inheritance of partitioned table"
 msgstr "no se puede cambiar la herencia de una tabla particionada"
 
-#: commands/tablecmds.c:14929
+#: commands/tablecmds.c:15548
 #, c-format
 msgid "cannot inherit to temporary relation of another session"
 msgstr "no se puede agregar herencia a tablas temporales de otra sesión"
 
-#: commands/tablecmds.c:14942
+#: commands/tablecmds.c:15561
 #, c-format
 msgid "cannot inherit from a partition"
 msgstr "no se puede heredar de una partición"
 
-#: commands/tablecmds.c:14964 commands/tablecmds.c:17841
+#: commands/tablecmds.c:15583 commands/tablecmds.c:18465
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "la herencia circular no está permitida"
 
-#: commands/tablecmds.c:14965 commands/tablecmds.c:17842
+#: commands/tablecmds.c:15584 commands/tablecmds.c:18466
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "«%s» ya es un hijo de «%s»."
 
-#: commands/tablecmds.c:14978
+#: commands/tablecmds.c:15597
 #, c-format
 msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child"
 msgstr "el trigger «%s» impide a la tabla «%s» convertirse en hija de herencia"
 
-#: commands/tablecmds.c:14980
+#: commands/tablecmds.c:15599
 #, c-format
 msgid "ROW triggers with transition tables are not supported in inheritance hierarchies."
 msgstr "Los triggers ROW con tablas de transición no están permitidos en jerarquías de herencia."
 
-#: commands/tablecmds.c:15183
+#: commands/tablecmds.c:15788
 #, c-format
 msgid "column \"%s\" in child table must be marked NOT NULL"
 msgstr "columna «%s» en tabla hija debe marcarse como NOT NULL"
 
-#: commands/tablecmds.c:15192
+#: commands/tablecmds.c:15797
 #, c-format
 msgid "column \"%s\" in child table must be a generated column"
 msgstr "columna «%s» en tabla hija debe ser una columna generada"
 
-#: commands/tablecmds.c:15197
+#: commands/tablecmds.c:15801
 #, fuzzy, c-format
 #| msgid "column \"%s\" in child table must be a generated column"
 msgid "column \"%s\" in child table must not be a generated column"
 msgstr "columna «%s» en tabla hija debe ser una columna generada"
 
-#: commands/tablecmds.c:15228
+#: commands/tablecmds.c:15839
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "tabla hija no tiene la columna «%s»"
 
-#: commands/tablecmds.c:15316
+#: commands/tablecmds.c:15920
 #, c-format
 msgid "child table \"%s\" has different definition for check constraint \"%s\""
 msgstr "la tabla hija «%s» tiene una definición diferente para la restricción «check» «%s»"
 
-#: commands/tablecmds.c:15324
+#: commands/tablecmds.c:15927
 #, c-format
 msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\""
 msgstr "la restricción «%s» está en conflicto con la restricción no heredada en la tabla hija «%s»"
 
-#: commands/tablecmds.c:15335
+#: commands/tablecmds.c:15937
 #, c-format
 msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\""
 msgstr "la restricción «%s» está en conflicto con la restricción NOT VALID en la tabla hija «%s»"
 
-#: commands/tablecmds.c:15374
+#: commands/tablecmds.c:15975
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "tabla hija no tiene la restricción «%s»"
 
-#: commands/tablecmds.c:15460
+#: commands/tablecmds.c:16061
 #, c-format
 msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\""
 msgstr "la partición «%s» ya tiene un desprendimiento pendiente en la tabla particionada «%s.%s»"
 
-#: commands/tablecmds.c:15489 commands/tablecmds.c:15537
+#: commands/tablecmds.c:16090 commands/tablecmds.c:16136
+#: parser/parse_utilcmd.c:3261
 #, c-format
 msgid "relation \"%s\" is not a partition of relation \"%s\""
 msgstr "relación «%s» no es una partición de la relación «%s»"
 
-#: commands/tablecmds.c:15543
+#: commands/tablecmds.c:16142
 #, c-format
 msgid "relation \"%s\" is not a parent of relation \"%s\""
 msgstr "relación «%s» no es un padre de la relación «%s»"
 
-#: commands/tablecmds.c:15771
+#: commands/tablecmds.c:16369
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "las tablas tipadas no pueden heredar"
 
-#: commands/tablecmds.c:15801
+#: commands/tablecmds.c:16399
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "la tabla no tiene la columna «%s»"
 
-#: commands/tablecmds.c:15812
+#: commands/tablecmds.c:16410
 #, c-format
 msgid "table has column \"%s\" where type requires \"%s\""
 msgstr "la tabla tiene columna «%s» en la posición en que el tipo requiere «%s»."
 
-#: commands/tablecmds.c:15821
+#: commands/tablecmds.c:16419
 #, c-format
 msgid "table \"%s\" has different type for column \"%s\""
 msgstr "la tabla «%s» tiene un tipo diferente para la columna «%s»"
 
-#: commands/tablecmds.c:15835
+#: commands/tablecmds.c:16433
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "tabla tiene la columna extra «%s»"
 
-#: commands/tablecmds.c:15887
+#: commands/tablecmds.c:16485
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "«%s» no es una tabla tipada"
 
-#: commands/tablecmds.c:16061
+#: commands/tablecmds.c:16659
 #, c-format
 msgid "cannot use non-unique index \"%s\" as replica identity"
 msgstr "no se puede usar el índice no-único «%s» como identidad de réplica"
 
-#: commands/tablecmds.c:16067
+#: commands/tablecmds.c:16665
 #, c-format
 msgid "cannot use non-immediate index \"%s\" as replica identity"
 msgstr "no puede usar el índice no-inmediato «%s» como identidad de réplica"
 
-#: commands/tablecmds.c:16073
+#: commands/tablecmds.c:16671
 #, c-format
 msgid "cannot use expression index \"%s\" as replica identity"
 msgstr "no se puede usar el índice funcional «%s» como identidad de réplica"
 
-#: commands/tablecmds.c:16079
+#: commands/tablecmds.c:16677
 #, c-format
 msgid "cannot use partial index \"%s\" as replica identity"
 msgstr "no se puede usar el índice parcial «%s» como identidad de réplica"
 
-#: commands/tablecmds.c:16096
+#: commands/tablecmds.c:16694
 #, c-format
 msgid "index \"%s\" cannot be used as replica identity because column %d is a system column"
 msgstr "el índice «%s» no puede usarse como identidad de réplica porque la column %d es una columna de sistema"
 
-#: commands/tablecmds.c:16103
+#: commands/tablecmds.c:16701
 #, c-format
 msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable"
 msgstr "el índice «%s» no puede usarse como identidad de réplica porque la column «%s» acepta valores nulos"
 
-#: commands/tablecmds.c:16348
+#: commands/tablecmds.c:16953
 #, c-format
 msgid "cannot change logged status of table \"%s\" because it is temporary"
 msgstr "no se puede cambiar el estado «logged» de la tabla «%s» porque es temporal"
 
-#: commands/tablecmds.c:16372
+#: commands/tablecmds.c:16977
 #, c-format
 msgid "cannot change table \"%s\" to unlogged because it is part of a publication"
 msgstr "no se pudo cambiar la tabla «%s» a «unlogged» porque es parte de una publicación"
 
-#: commands/tablecmds.c:16374
+#: commands/tablecmds.c:16979
 #, c-format
 msgid "Unlogged relations cannot be replicated."
 msgstr "Las tablas «unlogged» no pueden replicarse."
 
-#: commands/tablecmds.c:16419
+#: commands/tablecmds.c:17024
 #, c-format
 msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\""
 msgstr "no se pudo cambiar la tabla «%s» a «logged» porque hace referencia a la tabla «unlogged» «%s»"
 
-#: commands/tablecmds.c:16429
+#: commands/tablecmds.c:17034
 #, c-format
 msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\""
 msgstr "no se pudo cambiar la tabla «%s» a «unlogged» porque hace referencia a la tabla «logged» «%s»"
 
-#: commands/tablecmds.c:16487
+#: commands/tablecmds.c:17092
 #, c-format
 msgid "cannot move an owned sequence into another schema"
 msgstr "no se puede mover una secuencia enlazada a una tabla hacia otro esquema"
 
-#: commands/tablecmds.c:16594
+#: commands/tablecmds.c:17197
 #, c-format
 msgid "relation \"%s\" already exists in schema \"%s\""
 msgstr "ya existe una relación llamada «%s» en el esquema «%s»"
 
-#: commands/tablecmds.c:17006
+#: commands/tablecmds.c:17618
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "«%s» no es una tabla o vista materializada"
 
-#: commands/tablecmds.c:17184
+#: commands/tablecmds.c:17771
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "«%s» no es un tipo compuesto"
 
-#: commands/tablecmds.c:17212
+#: commands/tablecmds.c:17801
 #, fuzzy, c-format
 #| msgid "cannot change owner of index \"%s\""
 msgid "cannot change schema of index \"%s\""
 msgstr "no se puede cambiar el dueño del índice «%s»"
 
-#: commands/tablecmds.c:17214 commands/tablecmds.c:17226
+#: commands/tablecmds.c:17803 commands/tablecmds.c:17817
 #, fuzzy, c-format
 #| msgid "Change the ownership of the index's table, instead."
 msgid "Change the schema of the table instead."
 msgstr "Considere cambiar el dueño de la tabla en vez de cambiar el dueño del índice."
 
-#: commands/tablecmds.c:17218
+#: commands/tablecmds.c:17807
 #, fuzzy, c-format
 #| msgid "cannot convert Perl hash to non-composite type %s"
 msgid "cannot change schema of composite type \"%s\""
 msgstr "no se puede convertir un hash de Perl al tipo no compuesto %s"
 
-#: commands/tablecmds.c:17224
+#: commands/tablecmds.c:17815
 #, fuzzy, c-format
 #| msgid "cannot change TOAST relation \"%s\""
 msgid "cannot change schema of TOAST table \"%s\""
 msgstr "no se puede cambiar la relación TOAST «%s»"
 
-#: commands/tablecmds.c:17256
+#: commands/tablecmds.c:17847
 #, c-format
 msgid "cannot use \"list\" partition strategy with more than one column"
 msgstr "no se puede usar la estrategia de particionamiento «list» con más de una columna"
 
-#: commands/tablecmds.c:17322
+#: commands/tablecmds.c:17913
 #, c-format
 msgid "column \"%s\" named in partition key does not exist"
 msgstr "la columna «%s» nombrada en llave de particionamiento no existe"
 
-#: commands/tablecmds.c:17330
+#: commands/tablecmds.c:17921
 #, c-format
 msgid "cannot use system column \"%s\" in partition key"
 msgstr "no se puede usar la columna de sistema «%s» en llave de particionamiento"
 
-#: commands/tablecmds.c:17341 commands/tablecmds.c:17455
+#: commands/tablecmds.c:17932 commands/tablecmds.c:18022
 #, c-format
 msgid "cannot use generated column in partition key"
 msgstr "no se puede usar una columna generada en llave de particionamiento"
 
-#: commands/tablecmds.c:17342 commands/tablecmds.c:17456 commands/trigger.c:663
+#: commands/tablecmds.c:17933 commands/tablecmds.c:18023 commands/trigger.c:656
 #: rewrite/rewriteHandler.c:934 rewrite/rewriteHandler.c:969
 #, c-format
 msgid "Column \"%s\" is a generated column."
 msgstr "La columna «%s» es una columna generada."
 
-#: commands/tablecmds.c:17418
-#, c-format
-msgid "functions in partition key expression must be marked IMMUTABLE"
-msgstr "las funciones utilizadas en expresiones de la llave de particionamiento deben estar marcadas IMMUTABLE"
-
-#: commands/tablecmds.c:17438
+#: commands/tablecmds.c:18005
 #, c-format
 msgid "partition key expressions cannot contain system column references"
 msgstr "las expresiones en la llave de particionamiento no pueden contener referencias a columnas de sistema"
 
-#: commands/tablecmds.c:17468
+#: commands/tablecmds.c:18052
+#, c-format
+msgid "functions in partition key expression must be marked IMMUTABLE"
+msgstr "las funciones utilizadas en expresiones de la llave de particionamiento deben estar marcadas IMMUTABLE"
+
+#: commands/tablecmds.c:18061
 #, c-format
 msgid "cannot use constant expression as partition key"
 msgstr "no se pueden usar expresiones constantes como llave de particionamiento"
 
-#: commands/tablecmds.c:17489
+#: commands/tablecmds.c:18082
 #, c-format
 msgid "could not determine which collation to use for partition expression"
 msgstr "no se pudo determinar qué ordenamiento (collation) usar para la expresión de particionamiento"
 
-#: commands/tablecmds.c:17524
+#: commands/tablecmds.c:18117
 #, c-format
 msgid "You must specify a hash operator class or define a default hash operator class for the data type."
 msgstr "Debe especificar una clase de operadores hash, o definir una clase de operadores por omisión para hash para el tipo de datos."
 
-#: commands/tablecmds.c:17530
+#: commands/tablecmds.c:18123
 #, c-format
 msgid "You must specify a btree operator class or define a default btree operator class for the data type."
 msgstr "Debe especificar una clase de operadores btree, o definir una clase de operadores por omisión para btree para el tipo de datos."
 
-#: commands/tablecmds.c:17781
+#: commands/tablecmds.c:18405
 #, c-format
 msgid "\"%s\" is already a partition"
 msgstr "«%s» ya es una partición"
 
-#: commands/tablecmds.c:17787
+#: commands/tablecmds.c:18411
 #, c-format
 msgid "cannot attach a typed table as partition"
 msgstr "no puede adjuntar tabla tipada como partición"
 
-#: commands/tablecmds.c:17803
+#: commands/tablecmds.c:18427
 #, c-format
 msgid "cannot attach inheritance child as partition"
 msgstr "no puede adjuntar hija de herencia como partición"
 
-#: commands/tablecmds.c:17817
+#: commands/tablecmds.c:18441
 #, c-format
 msgid "cannot attach inheritance parent as partition"
 msgstr "no puede adjuntar ancestro de herencia como partición"
 
-#: commands/tablecmds.c:17851
+#: commands/tablecmds.c:18475
 #, c-format
 msgid "cannot attach a temporary relation as partition of permanent relation \"%s\""
 msgstr "no se puede adjuntar una relación temporal como partición de la relación permanente «%s»"
 
-#: commands/tablecmds.c:17859
+#: commands/tablecmds.c:18483
 #, c-format
 msgid "cannot attach a permanent relation as partition of temporary relation \"%s\""
 msgstr "no se puede adjuntar una relación permanente como partición de la relación temporal «%s»"
 
-#: commands/tablecmds.c:17867
+#: commands/tablecmds.c:18491
 #, c-format
 msgid "cannot attach as partition of temporary relation of another session"
 msgstr "no se puede adjuntar como partición de una relación temporal de otra sesión"
 
-#: commands/tablecmds.c:17874
+#: commands/tablecmds.c:18498
 #, c-format
 msgid "cannot attach temporary relation of another session as partition"
 msgstr "no se adjuntar una relación temporal de otra sesión como partición"
 
-#: commands/tablecmds.c:17894
+#: commands/tablecmds.c:18518
+#, fuzzy, c-format
+#| msgid "table \"%s\" has different type for column \"%s\""
+msgid "table \"%s\" being attached contains an identity column \"%s\""
+msgstr "la tabla «%s» tiene un tipo diferente para la columna «%s»"
+
+#: commands/tablecmds.c:18520
+#, fuzzy, c-format
+#| msgid "The new partition may contain only the columns present in parent."
+msgid "The new partition may not contain an identity column."
+msgstr "La nueva partición sólo puede contener las columnas presentes en el padre."
+
+#: commands/tablecmds.c:18528
 #, c-format
 msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\""
 msgstr "la tabla «%s» contiene la columna «%s» no encontrada en el padre «%s»"
 
-#: commands/tablecmds.c:17897
+#: commands/tablecmds.c:18531
 #, c-format
 msgid "The new partition may contain only the columns present in parent."
 msgstr "La nueva partición sólo puede contener las columnas presentes en el padre."
 
-#: commands/tablecmds.c:17909
+#: commands/tablecmds.c:18543
 #, c-format
 msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition"
 msgstr "el trigger «%s» impide a la tabla «%s» devenir partición"
 
-#: commands/tablecmds.c:17911
+#: commands/tablecmds.c:18545
 #, c-format
 msgid "ROW triggers with transition tables are not supported on partitions."
 msgstr "Los triggers ROW con tablas de transición no están soportados en particiones."
 
-#: commands/tablecmds.c:18090
+#: commands/tablecmds.c:18706
 #, c-format
 msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\""
 msgstr "no se puede adjuntar la tabla foránea «%s» como partición de la tabla particionada «%s»"
 
-#: commands/tablecmds.c:18093
+#: commands/tablecmds.c:18709
 #, c-format
 msgid "Partitioned table \"%s\" contains unique indexes."
 msgstr "La tabla particionada «%s» contiene índices únicos."
 
-#: commands/tablecmds.c:18406
+#: commands/tablecmds.c:19031
 #, c-format
 msgid "cannot detach partitions concurrently when a default partition exists"
 msgstr "no se puede desprender particiones concurrentemente cuando existe una partición por omisión"
 
-#: commands/tablecmds.c:18515
+#: commands/tablecmds.c:19140
 #, c-format
 msgid "partitioned table \"%s\" was removed concurrently"
 msgstr "la tabla particionada «%s» fue eliminada concurrentemente"
 
-#: commands/tablecmds.c:18521
+#: commands/tablecmds.c:19146
 #, c-format
 msgid "partition \"%s\" was removed concurrently"
 msgstr "la partición «%s» fue eliminada concurrentemente"
 
-#: commands/tablecmds.c:19036 commands/tablecmds.c:19056
-#: commands/tablecmds.c:19077 commands/tablecmds.c:19096
-#: commands/tablecmds.c:19138
+#: commands/tablecmds.c:19682 commands/tablecmds.c:19702
+#: commands/tablecmds.c:19723 commands/tablecmds.c:19742
+#: commands/tablecmds.c:19784
 #, c-format
 msgid "cannot attach index \"%s\" as a partition of index \"%s\""
 msgstr "no se puede adjuntar el índice «%s» como partición del índice «%s»"
 
-#: commands/tablecmds.c:19039
+#: commands/tablecmds.c:19685
 #, c-format
 msgid "Index \"%s\" is already attached to another index."
 msgstr "El índice «%s» ya está adjunto a otro índice."
 
-#: commands/tablecmds.c:19059
+#: commands/tablecmds.c:19705
 #, c-format
 msgid "Index \"%s\" is not an index on any partition of table \"%s\"."
 msgstr "El índice «%s» no es un índice en una partición de la tabla «%s»."
 
-#: commands/tablecmds.c:19080
+#: commands/tablecmds.c:19726
 #, c-format
 msgid "The index definitions do not match."
 msgstr "Las definiciones de los índices no coinciden."
 
-#: commands/tablecmds.c:19099
+#: commands/tablecmds.c:19745
 #, c-format
 msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"."
 msgstr "El índice «%s» pertenece a una restricción en la tabla «%s», pero no existe una restricción para el índice «%s»."
 
-#: commands/tablecmds.c:19141
+#: commands/tablecmds.c:19787
 #, c-format
 msgid "Another index is already attached for partition \"%s\"."
 msgstr "Otro índice ya está adjunto para la partición «%s»."
 
-#: commands/tablecmds.c:19370
+#: commands/tablecmds.c:20023
 #, c-format
 msgid "column data type %s does not support compression"
 msgstr "el tipo de dato de columna %s no soporta compresión"
 
-#: commands/tablecmds.c:19377
+#: commands/tablecmds.c:20030
 #, c-format
 msgid "invalid compression method \"%s\""
 msgstr "método de compresión «%s» no válido"
 
-#: commands/tablecmds.c:19403
+#: commands/tablecmds.c:20056
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "tipo de almacenamiento no válido «%s»"
 
-#: commands/tablecmds.c:19413
+#: commands/tablecmds.c:20066
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
 msgstr "el tipo de datos %s de la columna sólo puede tener almacenamiento PLAIN"
 
-#: commands/tablespace.c:199 commands/tablespace.c:650
+#: commands/tablecmds.c:20263
+#, fuzzy, c-format
+#| msgid "cannot inherit from a partition"
+msgid "can not find partition for split partition row"
+msgstr "no se puede heredar de una partición"
+
+#: commands/tablecmds.c:20349
+#, fuzzy, c-format
+#| msgid "cannot attach as partition of temporary relation of another session"
+msgid "cannot create as partition of temporary relation of another session"
+msgstr "no se puede adjuntar como partición de una relación temporal de otra sesión"
+
+#: commands/tablecmds.c:20420
+#, fuzzy, c-format
+#| msgid "cannot attach a permanent relation as partition of temporary relation \"%s\""
+msgid "cannot create a permanent relation as partition of temporary relation \"%s\""
+msgstr "no se puede adjuntar una relación permanente como partición de la relación temporal «%s»"
+
+#: commands/tablespace.c:193 commands/tablespace.c:644
 #, c-format
 msgid "\"%s\" exists but is not a directory"
 msgstr "«%s» existe pero no es un directorio"
 
-#: commands/tablespace.c:230
+#: commands/tablespace.c:224
 #, c-format
 msgid "permission denied to create tablespace \"%s\""
 msgstr "se ha denegado el permiso para crear el tablespace «%s»"
 
-#: commands/tablespace.c:232
+#: commands/tablespace.c:226
 #, c-format
 msgid "Must be superuser to create a tablespace."
 msgstr "Debe ser superusuario para crear tablespaces."
 
-#: commands/tablespace.c:248
+#: commands/tablespace.c:242
 #, c-format
 msgid "tablespace location cannot contain single quotes"
 msgstr "la ruta del tablespace no puede contener comillas simples"
 
-#: commands/tablespace.c:261
+#: commands/tablespace.c:255
 #, c-format
 msgid "tablespace location must be an absolute path"
 msgstr "la ubicación del tablespace debe ser una ruta absoluta"
 
-#: commands/tablespace.c:273
+#: commands/tablespace.c:267
 #, c-format
 msgid "tablespace location \"%s\" is too long"
 msgstr "la ruta «%s» del tablespace es demasiado larga"
 
-#: commands/tablespace.c:280
+#: commands/tablespace.c:274
 #, c-format
 msgid "tablespace location should not be inside the data directory"
 msgstr "la ubicación del tablespace no debe estar dentro del directorio de datos"
 
-#: commands/tablespace.c:289 commands/tablespace.c:976
+#: commands/tablespace.c:283 commands/tablespace.c:970
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "el nombre de tablespace «%s» es inaceptable"
 
-#: commands/tablespace.c:291 commands/tablespace.c:977
+#: commands/tablespace.c:285 commands/tablespace.c:971
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "El prefijo «pg_» está reservado para tablespaces del sistema."
 
-#: commands/tablespace.c:310 commands/tablespace.c:998
+#: commands/tablespace.c:304 commands/tablespace.c:992
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "el tablespace «%s» ya existe"
 
-#: commands/tablespace.c:326
+#: commands/tablespace.c:320
 #, fuzzy, c-format
 #| msgid "pg_type OID value not set when in binary upgrade mode"
 msgid "pg_tablespace OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de pg_type no se definió en modo de actualización binaria"
 
-#: commands/tablespace.c:431 commands/tablespace.c:959
-#: commands/tablespace.c:1048 commands/tablespace.c:1117
-#: commands/tablespace.c:1263 commands/tablespace.c:1466
+#: commands/tablespace.c:425 commands/tablespace.c:953
+#: commands/tablespace.c:1042 commands/tablespace.c:1111
+#: commands/tablespace.c:1257 commands/tablespace.c:1460
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "no existe el tablespace «%s»"
 
-#: commands/tablespace.c:437
+#: commands/tablespace.c:431
 #, c-format
 msgid "tablespace \"%s\" does not exist, skipping"
 msgstr "el tablespace «%s» no existe, omitiendo"
 
-#: commands/tablespace.c:463
+#: commands/tablespace.c:457
 #, c-format
 msgid "tablespace \"%s\" cannot be dropped because some objects depend on it"
 msgstr "no se puede eliminar el tablespace «%s» porque otros objetos dependen de él"
 
-#: commands/tablespace.c:530
+#: commands/tablespace.c:524
 #, c-format
 msgid "tablespace \"%s\" is not empty"
 msgstr "el tablespace «%s» no está vacío"
 
-#: commands/tablespace.c:617
+#: commands/tablespace.c:611
 #, c-format
 msgid "directory \"%s\" does not exist"
 msgstr "no existe el directorio «%s»"
 
-#: commands/tablespace.c:618
+#: commands/tablespace.c:612
 #, c-format
 msgid "Create this directory for the tablespace before restarting the server."
 msgstr "Cree este directorio para el tablespace antes de reiniciar el servidor."
 
-#: commands/tablespace.c:623
+#: commands/tablespace.c:617
 #, c-format
 msgid "could not set permissions on directory \"%s\": %m"
 msgstr "no se pudo definir los permisos del directorio «%s»: %m"
 
-#: commands/tablespace.c:655
+#: commands/tablespace.c:649
 #, c-format
 msgid "directory \"%s\" already in use as a tablespace"
 msgstr "el directorio «%s» ya está siendo usado como tablespace"
 
-#: commands/tablespace.c:833 commands/tablespace.c:919
+#: commands/tablespace.c:827 commands/tablespace.c:913
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "no se pudo eliminar el enlace simbólico «%s»: %m"
 
-#: commands/tablespace.c:842 commands/tablespace.c:927
+#: commands/tablespace.c:836 commands/tablespace.c:921
 #, c-format
 msgid "\"%s\" is not a directory or symbolic link"
 msgstr "«%s» no es un directorio o enlace simbólico"
 
-#: commands/tablespace.c:1122
+#: commands/tablespace.c:1116
 #, c-format
 msgid "Tablespace \"%s\" does not exist."
 msgstr "No existe el tablespace «%s»."
 
-#: commands/tablespace.c:1568
+#: commands/tablespace.c:1562
 #, c-format
 msgid "directories for tablespace %u could not be removed"
 msgstr "algunos directorios para el tablespace %u no pudieron eliminarse"
 
-#: commands/tablespace.c:1570
+#: commands/tablespace.c:1564
 #, c-format
 msgid "You can remove the directories manually if necessary."
 msgstr "Puede eliminar los directorios manualmente, si es necesario."
 
-#: commands/trigger.c:232 commands/trigger.c:243
+#: commands/trigger.c:225 commands/trigger.c:236
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "«%s» es una tabla"
 
-#: commands/trigger.c:234 commands/trigger.c:245
+#: commands/trigger.c:227 commands/trigger.c:238
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "Las tablas no pueden tener disparadores INSTEAD OF."
 
-#: commands/trigger.c:266
+#: commands/trigger.c:259
 #, c-format
 msgid "\"%s\" is a partitioned table"
 msgstr "«%s» es una tabla particionada"
 
-#: commands/trigger.c:268
+#: commands/trigger.c:261
 #, fuzzy, c-format
 #| msgid "ROW triggers with transition tables are not supported on partitions."
 msgid "ROW triggers with transition tables are not supported on partitioned tables."
 msgstr "Los triggers ROW con tablas de transición no están soportados en particiones."
 
-#: commands/trigger.c:280 commands/trigger.c:287 commands/trigger.c:451
+#: commands/trigger.c:273 commands/trigger.c:280 commands/trigger.c:444
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "«%s» es una vista"
 
-#: commands/trigger.c:282
+#: commands/trigger.c:275
 #, c-format
 msgid "Views cannot have row-level BEFORE or AFTER triggers."
 msgstr "Las vistas no pueden tener disparadores BEFORE o AFTER a nivel de fila."
 
-#: commands/trigger.c:289
+#: commands/trigger.c:282
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "Las vistas no pueden tener disparadores TRUNCATE."
 
-#: commands/trigger.c:297 commands/trigger.c:309 commands/trigger.c:444
+#: commands/trigger.c:290 commands/trigger.c:302 commands/trigger.c:437
 #, c-format
 msgid "\"%s\" is a foreign table"
 msgstr "«%s» es una tabla foránea"
 
-#: commands/trigger.c:299
+#: commands/trigger.c:292
 #, c-format
 msgid "Foreign tables cannot have INSTEAD OF triggers."
 msgstr "Las tablas foráneas no pueden tener disparadores INSTEAD OF."
 
-#: commands/trigger.c:311
+#: commands/trigger.c:304
 #, c-format
 msgid "Foreign tables cannot have constraint triggers."
 msgstr "Las tablas foráneas no pueden tener disparadores de restricción."
 
-#: commands/trigger.c:316 commands/trigger.c:1332 commands/trigger.c:1439
+#: commands/trigger.c:309 commands/trigger.c:1325 commands/trigger.c:1432
 #, fuzzy, c-format
 #| msgid "relation \"%s\" does not exist"
 msgid "relation \"%s\" cannot have triggers"
 msgstr "no existe la relación «%s»"
 
-#: commands/trigger.c:387
+#: commands/trigger.c:380
 #, c-format
 msgid "TRUNCATE FOR EACH ROW triggers are not supported"
 msgstr "los disparadores TRUNCATE FOR EACH ROW no están soportados"
 
-#: commands/trigger.c:395
+#: commands/trigger.c:388
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "los disparadores INSTEAD OF deben ser FOR EACH ROW"
 
-#: commands/trigger.c:399
+#: commands/trigger.c:392
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "los disparadores INSTEAD OF no pueden tener condiciones WHEN"
 
-#: commands/trigger.c:403
+#: commands/trigger.c:396
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "los disparadores INSTEAD OF no pueden tener listas de columnas"
 
-#: commands/trigger.c:432
+#: commands/trigger.c:425
 #, c-format
 msgid "ROW variable naming in the REFERENCING clause is not supported"
 msgstr "dar nombre a una variable ROW en la cláusula REFERENCING no está soportado"
 
-#: commands/trigger.c:433
+#: commands/trigger.c:426
 #, c-format
 msgid "Use OLD TABLE or NEW TABLE for naming transition tables."
 msgstr "utilice OLD TABLE o NEW TABLE para nombrar tablas de transición."
 
-#: commands/trigger.c:446
+#: commands/trigger.c:439
 #, c-format
 msgid "Triggers on foreign tables cannot have transition tables."
 msgstr "Las tablas foráneas no pueden tener tablas de transición."
 
-#: commands/trigger.c:453
+#: commands/trigger.c:446
 #, c-format
 msgid "Triggers on views cannot have transition tables."
 msgstr "Las triggers en vistas no pueden tener tablas de transición."
 
-#: commands/trigger.c:469
+#: commands/trigger.c:462
 #, c-format
 msgid "ROW triggers with transition tables are not supported on partitions"
 msgstr "los triggers ROW con tablas de transición no están soportados en particiones"
 
-#: commands/trigger.c:473
+#: commands/trigger.c:466
 #, c-format
 msgid "ROW triggers with transition tables are not supported on inheritance children"
 msgstr "los triggers ROW con tablas de transición no están soportados con hijas de herencia"
 
-#: commands/trigger.c:479
+#: commands/trigger.c:472
 #, c-format
 msgid "transition table name can only be specified for an AFTER trigger"
 msgstr "el nombre de la tabla de transición solo se puede especificar para un disparador AFTER"
 
-#: commands/trigger.c:484
+#: commands/trigger.c:477
 #, c-format
 msgid "TRUNCATE triggers with transition tables are not supported"
 msgstr "los triggers TRUNCATE con tablas de transición no están soportados"
 
-#: commands/trigger.c:501
+#: commands/trigger.c:494
 #, c-format
 msgid "transition tables cannot be specified for triggers with more than one event"
 msgstr "las tablas de transición no pueden especificarse para triggers con más de un evento"
 
-#: commands/trigger.c:512
+#: commands/trigger.c:505
 #, c-format
 msgid "transition tables cannot be specified for triggers with column lists"
 msgstr "las tablas de transición no pueden especificarse para triggers con lista de columnas"
 
-#: commands/trigger.c:529
+#: commands/trigger.c:522
 #, c-format
 msgid "NEW TABLE can only be specified for an INSERT or UPDATE trigger"
 msgstr "NEW TABLE sólo se puede especificar para un disparador INSERT o UPDATE"
 
-#: commands/trigger.c:534
+#: commands/trigger.c:527
 #, c-format
 msgid "NEW TABLE cannot be specified multiple times"
 msgstr "NEW TABLE no se puede especificar varias veces"
 
-#: commands/trigger.c:544
+#: commands/trigger.c:537
 #, c-format
 msgid "OLD TABLE can only be specified for a DELETE or UPDATE trigger"
 msgstr "OLD TABLE sólo se puede especificar para un disparador DELETE o UPDATE"
 
-#: commands/trigger.c:549
+#: commands/trigger.c:542
 #, c-format
 msgid "OLD TABLE cannot be specified multiple times"
 msgstr "OLD TABLE no se puede especificar varias veces"
 
-#: commands/trigger.c:559
+#: commands/trigger.c:552
 #, c-format
 msgid "OLD TABLE name and NEW TABLE name cannot be the same"
 msgstr "el nombre de OLD TABLE y el nombre de NEW TABLE no pueden ser iguales"
 
-#: commands/trigger.c:623 commands/trigger.c:636
+#: commands/trigger.c:616 commands/trigger.c:629
 #, c-format
 msgid "statement trigger's WHEN condition cannot reference column values"
 msgstr "la condición WHEN de un disparador por sentencias no pueden referirse a los valores de las columnas"
 
-#: commands/trigger.c:628
+#: commands/trigger.c:621
 #, c-format
 msgid "INSERT trigger's WHEN condition cannot reference OLD values"
 msgstr "la condición WHEN de un disparador en INSERT no puede referirse a valores OLD"
 
-#: commands/trigger.c:641
+#: commands/trigger.c:634
 #, c-format
 msgid "DELETE trigger's WHEN condition cannot reference NEW values"
 msgstr "la condición WHEN de un disparador en DELETE no puede referirse a valores NEW"
 
-#: commands/trigger.c:646
+#: commands/trigger.c:639
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns"
 msgstr "la condición WHEN de un disparador BEFORE no puede referirse a columnas de sistema de NEW"
 
-#: commands/trigger.c:654 commands/trigger.c:662
+#: commands/trigger.c:647 commands/trigger.c:655
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW generated columns"
 msgstr "la condición WHEN del trigger BEFORE no puede hacer referencia a columnas NEW generadas"
 
-#: commands/trigger.c:655
+#: commands/trigger.c:648
 #, c-format
 msgid "A whole-row reference is used and the table contains generated columns."
 msgstr "Se utiliza una referencia de la tupla completa, y la tabla contiene columnas generadas"
 
-#: commands/trigger.c:770 commands/trigger.c:1614
+#: commands/trigger.c:763 commands/trigger.c:1607
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "ya existe un trigger «%s» para la relación «%s»"
 
-#: commands/trigger.c:783
+#: commands/trigger.c:776
 #, fuzzy, c-format
 #| msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger"
 msgid "trigger \"%s\" for relation \"%s\" is an internal or a child trigger"
 msgstr "disparador «%s» para la relación «%s» es un disparador de restricción"
 
-#: commands/trigger.c:802
+#: commands/trigger.c:795
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger"
 msgstr "disparador «%s» para la relación «%s» es un disparador de restricción"
 
-#: commands/trigger.c:1404 commands/trigger.c:1557 commands/trigger.c:1838
+#: commands/trigger.c:1397 commands/trigger.c:1550 commands/trigger.c:1831
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "no existe el trigger «%s» para la tabla «%s»"
 
-#: commands/trigger.c:1529
+#: commands/trigger.c:1522
 #, fuzzy, c-format
 #| msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\""
 msgid "cannot rename trigger \"%s\" on table \"%s\""
 msgstr "no hay una entrada en pg_constraint para el trigger «%s» en tabla «%s»"
 
-#: commands/trigger.c:1531
+#: commands/trigger.c:1524
 #, fuzzy, c-format
 #| msgid "Change the ownership of the index's table, instead."
 msgid "Rename the trigger on the partitioned table \"%s\" instead."
 msgstr "Considere cambiar el dueño de la tabla en vez de cambiar el dueño del índice."
 
-#: commands/trigger.c:1631
+#: commands/trigger.c:1624
 #, fuzzy, c-format
 #| msgid "cannot alter constraint \"%s\" on relation \"%s\""
 msgid "renamed trigger \"%s\" on relation \"%s\""
 msgstr "no se puede modificar la restricción «%s» en la relación «%s»"
 
-#: commands/trigger.c:1777
+#: commands/trigger.c:1770
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "permiso denegado: «%s» es un trigger de sistema"
 
-#: commands/trigger.c:2386
+#: commands/trigger.c:2379
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "la función de trigger %u ha retornado un valor null"
 
-#: commands/trigger.c:2446 commands/trigger.c:2664 commands/trigger.c:2917
-#: commands/trigger.c:3252
+#: commands/trigger.c:2439 commands/trigger.c:2657 commands/trigger.c:2910
+#: commands/trigger.c:3263
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "un trigger BEFORE STATEMENT no puede retornar un valor"
 
-#: commands/trigger.c:2522
+#: commands/trigger.c:2515
 #, c-format
 msgid "moving row to another partition during a BEFORE FOR EACH ROW trigger is not supported"
 msgstr "mover registros a otra partición durante un trigger BEFORE FOR EACH ROW no está soportado"
 
-#: commands/trigger.c:2523
+#: commands/trigger.c:2516
 #, c-format
 msgid "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"."
 msgstr "Antes de ejecutar el trigger «%s», la fila iba a estar en la partición «%s.%s»."
 
-#: commands/trigger.c:3329 executor/nodeModifyTable.c:2363
-#: executor/nodeModifyTable.c:2446
+#: commands/trigger.c:3340 executor/nodeModifyTable.c:2373
+#: executor/nodeModifyTable.c:2456
 #, c-format
 msgid "tuple to be updated was already modified by an operation triggered by the current command"
 msgstr "el registro a ser actualizado ya fue modificado por una operación disparada por la orden actual"
 
-#: commands/trigger.c:3330 executor/nodeModifyTable.c:1531
-#: executor/nodeModifyTable.c:1605 executor/nodeModifyTable.c:2364
-#: executor/nodeModifyTable.c:2447 executor/nodeModifyTable.c:3077
+#: commands/trigger.c:3341 executor/nodeModifyTable.c:1541
+#: executor/nodeModifyTable.c:1615 executor/nodeModifyTable.c:2374
+#: executor/nodeModifyTable.c:2457 executor/nodeModifyTable.c:3093
+#: executor/nodeModifyTable.c:3254
 #, c-format
 msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows."
 msgstr "Considere usar un disparador AFTER en lugar de un disparador BEFORE para propagar cambios a otros registros."
 
-#: commands/trigger.c:3371 executor/nodeLockRows.c:228
-#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:308
-#: executor/nodeModifyTable.c:1547 executor/nodeModifyTable.c:2381
-#: executor/nodeModifyTable.c:2589
+#: commands/trigger.c:3382 executor/nodeLockRows.c:228
+#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:314
+#: executor/nodeModifyTable.c:1557 executor/nodeModifyTable.c:2391
+#: executor/nodeModifyTable.c:2599
 #, c-format
 msgid "could not serialize access due to concurrent update"
 msgstr "no se pudo serializar el acceso debido a un update concurrente"
 
-#: commands/trigger.c:3379 executor/nodeModifyTable.c:1637
-#: executor/nodeModifyTable.c:2464 executor/nodeModifyTable.c:2613
-#: executor/nodeModifyTable.c:2965
+#: commands/trigger.c:3390 executor/nodeModifyTable.c:1647
+#: executor/nodeModifyTable.c:2474 executor/nodeModifyTable.c:2623
+#: executor/nodeModifyTable.c:3111
 #, c-format
 msgid "could not serialize access due to concurrent delete"
 msgstr "no se pudo serializar el acceso debido a un delete concurrente"
 
-#: commands/trigger.c:4555
+#: commands/trigger.c:4601
 #, c-format
 msgid "cannot fire deferred trigger within security-restricted operation"
 msgstr "no se puede ejecutar un disparador postergado dentro de una operación restringida por seguridad"
 
-#: commands/trigger.c:5738
+#: commands/trigger.c:5782
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "la restricción «%s» no es postergable"
 
-#: commands/trigger.c:5761
+#: commands/trigger.c:5805
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "no existe la restricción «%s»"
 
-#: commands/tsearchcmds.c:118 commands/tsearchcmds.c:635
+#: commands/tsearchcmds.c:124 commands/tsearchcmds.c:641
 #, c-format
 msgid "function %s should return type %s"
 msgstr "la función %s debería retornar el tipo %s"
 
-#: commands/tsearchcmds.c:194
+#: commands/tsearchcmds.c:200
 #, c-format
 msgid "must be superuser to create text search parsers"
 msgstr "debe ser superusuario para crear analizadores de búsqueda en texto"
 
-#: commands/tsearchcmds.c:247
+#: commands/tsearchcmds.c:253
 #, c-format
 msgid "text search parser parameter \"%s\" not recognized"
 msgstr "el parámetro de analizador de búsqueda en texto «%s» no es reconocido"
 
-#: commands/tsearchcmds.c:257
+#: commands/tsearchcmds.c:263
 #, c-format
 msgid "text search parser start method is required"
 msgstr "el método «start» del analizador de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:262
+#: commands/tsearchcmds.c:268
 #, c-format
 msgid "text search parser gettoken method is required"
 msgstr "el método «gettoken» del analizador de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:267
+#: commands/tsearchcmds.c:273
 #, c-format
 msgid "text search parser end method is required"
 msgstr "el método «end» del analizador de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:272
+#: commands/tsearchcmds.c:278
 #, c-format
 msgid "text search parser lextypes method is required"
 msgstr "el método «lextypes» del analizador de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:366
+#: commands/tsearchcmds.c:372
 #, c-format
 msgid "text search template \"%s\" does not accept options"
 msgstr "la plantilla de búsquede en texto «%s» no acepta opciones"
 
-#: commands/tsearchcmds.c:440
+#: commands/tsearchcmds.c:446
 #, c-format
 msgid "text search template is required"
 msgstr "la plantilla de búsqueda en texto es obligatoria"
 
-#: commands/tsearchcmds.c:701
+#: commands/tsearchcmds.c:707
 #, c-format
 msgid "must be superuser to create text search templates"
 msgstr "debe ser superusuario para crear una plantilla de búsqueda en texto"
 
-#: commands/tsearchcmds.c:743
+#: commands/tsearchcmds.c:749
 #, c-format
 msgid "text search template parameter \"%s\" not recognized"
 msgstr "el parámetro de la plantilla de búsqueda en texto «%s» no es reconocido"
 
-#: commands/tsearchcmds.c:753
+#: commands/tsearchcmds.c:759
 #, c-format
 msgid "text search template lexize method is required"
 msgstr "el método «lexize» de la plantilla de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:933
+#: commands/tsearchcmds.c:939
 #, c-format
 msgid "text search configuration parameter \"%s\" not recognized"
 msgstr "el parámetro de configuración de búsqueda en texto «%s» no es reconocido"
 
-#: commands/tsearchcmds.c:940
+#: commands/tsearchcmds.c:946
 #, c-format
 msgid "cannot specify both PARSER and COPY options"
 msgstr "no se puede especificar simultáneamente las opciones PARSER y COPY"
 
-#: commands/tsearchcmds.c:976
+#: commands/tsearchcmds.c:982
 #, c-format
 msgid "text search parser is required"
 msgstr "el analizador de búsqueda en texto es obligatorio"
 
-#: commands/tsearchcmds.c:1241
+#: commands/tsearchcmds.c:1277
 #, c-format
 msgid "token type \"%s\" does not exist"
 msgstr "no existe el tipo de elemento «%s»"
 
-#: commands/tsearchcmds.c:1501
+#: commands/tsearchcmds.c:1540
 #, c-format
 msgid "mapping for token type \"%s\" does not exist"
 msgstr "no existe un mapeo para el tipo de elemento «%s»"
 
-#: commands/tsearchcmds.c:1507
+#: commands/tsearchcmds.c:1546
 #, c-format
 msgid "mapping for token type \"%s\" does not exist, skipping"
 msgstr "el mapeo para el tipo de elemento «%s» no existe, omitiendo"
 
-#: commands/tsearchcmds.c:1670 commands/tsearchcmds.c:1785
+#: commands/tsearchcmds.c:1707 commands/tsearchcmds.c:1822
 #, c-format
 msgid "invalid parameter list format: \"%s\""
 msgstr "el formato de la lista de parámetros no es válido: «%s»"
 
-#: commands/typecmds.c:217
+#: commands/typecmds.c:221
 #, c-format
 msgid "must be superuser to create a base type"
 msgstr "debe ser superusuario para crear un tipo base"
 
-#: commands/typecmds.c:275
+#: commands/typecmds.c:279
 #, c-format
 msgid "Create the type as a shell type, then create its I/O functions, then do a full CREATE TYPE."
 msgstr "Cree el tipo como un tipo inconcluso, luego cree sus funciones de I/O, luego haga un CREATE TYPE completo."
 
-#: commands/typecmds.c:327 commands/typecmds.c:1450 commands/typecmds.c:4257
+#: commands/typecmds.c:331 commands/typecmds.c:1460 commands/typecmds.c:4480
 #, c-format
 msgid "type attribute \"%s\" not recognized"
 msgstr "el atributo de tipo «%s» no es reconocido"
 
-#: commands/typecmds.c:382
+#: commands/typecmds.c:386
 #, c-format
 msgid "invalid type category \"%s\": must be simple ASCII"
 msgstr "la categoría de tipo «%s» no es válida: debe ser ASCII simple"
 
-#: commands/typecmds.c:401
+#: commands/typecmds.c:405
 #, c-format
 msgid "array element type cannot be %s"
 msgstr "el tipo de elemento de array no puede ser %s"
 
-#: commands/typecmds.c:433
+#: commands/typecmds.c:437
 #, c-format
 msgid "alignment \"%s\" not recognized"
 msgstr "el alineamiento «%s» no es reconocido"
 
-#: commands/typecmds.c:450 commands/typecmds.c:4131
+#: commands/typecmds.c:454 commands/typecmds.c:4354
 #, c-format
 msgid "storage \"%s\" not recognized"
 msgstr "el almacenamiento «%s» no es reconocido"
 
-#: commands/typecmds.c:461
+#: commands/typecmds.c:465
 #, c-format
 msgid "type input function must be specified"
 msgstr "debe especificarse la función de ingreso del tipo"
 
-#: commands/typecmds.c:465
+#: commands/typecmds.c:469
 #, c-format
 msgid "type output function must be specified"
 msgstr "debe especificarse la función de salida de tipo"
 
-#: commands/typecmds.c:470
+#: commands/typecmds.c:474
 #, c-format
 msgid "type modifier output function is useless without a type modifier input function"
 msgstr "la función de salida de modificadores de tipo es inútil sin una función de entrada de modificadores de tipo"
 
-#: commands/typecmds.c:512
+#: commands/typecmds.c:516
 #, c-format
 msgid "element type cannot be specified without a subscripting function"
 msgstr "no se puede especificar tipo de elemento sin una función de subindexación"
 
-#: commands/typecmds.c:781
+#: commands/typecmds.c:785
 #, c-format
 msgid "\"%s\" is not a valid base type for a domain"
 msgstr "«%s» no es un tipo de dato base válido para un dominio"
 
-#: commands/typecmds.c:879
+#: commands/typecmds.c:883
 #, c-format
 msgid "multiple default expressions"
 msgstr "múltiples expresiones default"
 
-#: commands/typecmds.c:942 commands/typecmds.c:951
+#: commands/typecmds.c:946 commands/typecmds.c:955
 #, c-format
 msgid "conflicting NULL/NOT NULL constraints"
 msgstr "las restricciones NULL/NOT NULL no coinciden"
 
-#: commands/typecmds.c:967
+#: commands/typecmds.c:971
 #, c-format
 msgid "check constraints for domains cannot be marked NO INHERIT"
 msgstr "las restricciones «check» en dominios no pueden ser marcadas NO INHERIT"
 
-#: commands/typecmds.c:976 commands/typecmds.c:2956
+#: commands/typecmds.c:980 commands/typecmds.c:2940
 #, c-format
 msgid "unique constraints not possible for domains"
 msgstr "no se pueden poner restricciones de unicidad a un dominio"
 
-#: commands/typecmds.c:982 commands/typecmds.c:2962
+#: commands/typecmds.c:986 commands/typecmds.c:2946
 #, c-format
 msgid "primary key constraints not possible for domains"
 msgstr "no se pueden poner restricciones de llave primaria a un dominio"
 
-#: commands/typecmds.c:988 commands/typecmds.c:2968
+#: commands/typecmds.c:992 commands/typecmds.c:2952
 #, c-format
 msgid "exclusion constraints not possible for domains"
 msgstr "las restricciones de exclusión no son posibles para los dominios"
 
-#: commands/typecmds.c:994 commands/typecmds.c:2974
+#: commands/typecmds.c:998 commands/typecmds.c:2958
 #, c-format
 msgid "foreign key constraints not possible for domains"
 msgstr "no se pueden poner restricciones de llave foránea a un dominio"
 
-#: commands/typecmds.c:1003 commands/typecmds.c:2983
+#: commands/typecmds.c:1007 commands/typecmds.c:2967
 #, c-format
 msgid "specifying constraint deferrability not supported for domains"
 msgstr "no se puede especificar la postergabilidad de las restricciones a un dominio"
 
-#: commands/typecmds.c:1317 utils/cache/typcache.c:2561
+#: commands/typecmds.c:1327 utils/cache/typcache.c:2570
 #, c-format
 msgid "%s is not an enum"
 msgstr "%s no es un enum"
 
-#: commands/typecmds.c:1458
+#: commands/typecmds.c:1468
 #, c-format
 msgid "type attribute \"subtype\" is required"
 msgstr "el atributo de tipo «subtype» es obligatorio"
 
-#: commands/typecmds.c:1463
+#: commands/typecmds.c:1473
 #, c-format
 msgid "range subtype cannot be %s"
 msgstr "el subtipo de rango no puede ser %s"
 
-#: commands/typecmds.c:1482
+#: commands/typecmds.c:1492
 #, c-format
 msgid "range collation specified but subtype does not support collation"
 msgstr "se especificó un ordenamiento (collation) al rango, pero el subtipo no soporta ordenamiento"
 
-#: commands/typecmds.c:1492
+#: commands/typecmds.c:1502
 #, c-format
 msgid "cannot specify a canonical function without a pre-created shell type"
 msgstr "no se puede especificar una función canónica sin antes crear un tipo inconcluso"
 
-#: commands/typecmds.c:1493
+#: commands/typecmds.c:1503
 #, c-format
 msgid "Create the type as a shell type, then create its canonicalization function, then do a full CREATE TYPE."
 msgstr "Cree el tipo como un tipo inconcluso, luego cree su función de canonicalización, luego haga un CREATE TYPE completo."
 
-#: commands/typecmds.c:1965
+#: commands/typecmds.c:1975
 #, c-format
 msgid "type input function %s has multiple matches"
 msgstr "la función de entrada %s del tipo tiene múltiples coincidencias"
 
-#: commands/typecmds.c:1983
+#: commands/typecmds.c:1993
 #, c-format
 msgid "type input function %s must return type %s"
 msgstr "la función de entrada %s del tipo debe retornar %s"
 
-#: commands/typecmds.c:1999
+#: commands/typecmds.c:2009
 #, c-format
 msgid "type input function %s should not be volatile"
 msgstr "la función de entrada %s no debe ser volatile"
 
-#: commands/typecmds.c:2027
+#: commands/typecmds.c:2037
 #, c-format
 msgid "type output function %s must return type %s"
 msgstr "la función de salida %s del tipo debe retornar %s"
 
-#: commands/typecmds.c:2034
+#: commands/typecmds.c:2044
 #, c-format
 msgid "type output function %s should not be volatile"
 msgstr "la función de salida %s no debe ser volatile"
 
-#: commands/typecmds.c:2063
+#: commands/typecmds.c:2073
 #, c-format
 msgid "type receive function %s has multiple matches"
 msgstr "la función de recepción %s del tipo tiene múltiples coincidencias"
 
-#: commands/typecmds.c:2081
+#: commands/typecmds.c:2091
 #, c-format
 msgid "type receive function %s must return type %s"
 msgstr "la función de recepción %s del tipo debe retornar %s"
 
-#: commands/typecmds.c:2088
+#: commands/typecmds.c:2098
 #, c-format
 msgid "type receive function %s should not be volatile"
 msgstr "la función «receive» %s del tipo no debe ser volatile"
 
-#: commands/typecmds.c:2116
+#: commands/typecmds.c:2126
 #, c-format
 msgid "type send function %s must return type %s"
 msgstr "la función «send» %s del tipo debe retornar %s"
 
-#: commands/typecmds.c:2123
+#: commands/typecmds.c:2133
 #, c-format
 msgid "type send function %s should not be volatile"
 msgstr "la función «send» %s no debe ser volatile"
 
-#: commands/typecmds.c:2150
+#: commands/typecmds.c:2160
 #, c-format
 msgid "typmod_in function %s must return type %s"
 msgstr "la función typmod_in %s debe retornar tipo %s"
 
-#: commands/typecmds.c:2157
+#: commands/typecmds.c:2167
 #, c-format
 msgid "type modifier input function %s should not be volatile"
 msgstr "la función de modificadores de tipo %s no debe ser volatile"
 
-#: commands/typecmds.c:2184
+#: commands/typecmds.c:2194
 #, c-format
 msgid "typmod_out function %s must return type %s"
 msgstr "la función typmod_out %s debe retornar tipo %s"
 
-#: commands/typecmds.c:2191
+#: commands/typecmds.c:2201
 #, c-format
 msgid "type modifier output function %s should not be volatile"
 msgstr "la función de salida de modificadores de tipo %s no debe ser volatile"
 
-#: commands/typecmds.c:2218
+#: commands/typecmds.c:2228
 #, c-format
 msgid "type analyze function %s must return type %s"
 msgstr "la función de análisis %s del tipo debe retornar %s"
 
-#: commands/typecmds.c:2247
+#: commands/typecmds.c:2257
 #, c-format
 msgid "type subscripting function %s must return type %s"
 msgstr "la función de subindexación %s del tipo debe retornar %s"
 
-#: commands/typecmds.c:2257
+#: commands/typecmds.c:2267
 #, c-format
 msgid "user-defined types cannot use subscripting function %s"
 msgstr "los tipos definidos por el usuario no pueden usar la función de subindexación %s"
 
-#: commands/typecmds.c:2303
+#: commands/typecmds.c:2313
 #, c-format
 msgid "You must specify an operator class for the range type or define a default operator class for the subtype."
 msgstr "Debe especificar una clase de operadores para el tipo de rango, o definir una clase de operadores por omisión para el subtipo."
 
-#: commands/typecmds.c:2334
+#: commands/typecmds.c:2344
 #, c-format
 msgid "range canonical function %s must return range type"
 msgstr "la función canónica %s del rango debe retornar tipo de rango"
 
-#: commands/typecmds.c:2340
+#: commands/typecmds.c:2350
 #, c-format
 msgid "range canonical function %s must be immutable"
 msgstr "la función canónica %s del rango debe ser inmutable"
 
-#: commands/typecmds.c:2376
+#: commands/typecmds.c:2386
 #, c-format
 msgid "range subtype diff function %s must return type %s"
 msgstr "la función «diff» de subtipo, %s, debe retornar tipo %s"
 
-#: commands/typecmds.c:2383
+#: commands/typecmds.c:2393
 #, c-format
 msgid "range subtype diff function %s must be immutable"
 msgstr "la función «diff» de subtipo, %s, debe ser inmutable"
 
-#: commands/typecmds.c:2410
+#: commands/typecmds.c:2420
 #, c-format
 msgid "pg_type array OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de pg_type no se definió en modo de actualización binaria"
 
-#: commands/typecmds.c:2443
+#: commands/typecmds.c:2453
 #, c-format
 msgid "pg_type multirange OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de multirango de pg_type no se definió en modo de actualización binaria"
 
-#: commands/typecmds.c:2476
+#: commands/typecmds.c:2486
 #, c-format
 msgid "pg_type multirange array OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de arreglo de multirango de pg_type no se definió en modo de actualización binaria"
 
-#: commands/typecmds.c:2772
-#, c-format
-msgid "column \"%s\" of table \"%s\" contains null values"
-msgstr "la columna «%s» de la tabla «%s» contiene valores null"
-
-#: commands/typecmds.c:2885 commands/typecmds.c:3086
+#: commands/typecmds.c:2868 commands/typecmds.c:3093
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist"
 msgstr "no existe la restricción «%s» en el dominio «%s»"
 
-#: commands/typecmds.c:2889
+#: commands/typecmds.c:2872
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping"
 msgstr "no existe la restricción «%s» en el dominio «%s», omitiendo"
 
-#: commands/typecmds.c:3093
+#: commands/typecmds.c:3100
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" is not a check constraint"
 msgstr "la restricción «%s» en el dominio «%s» no es una restricción «check»"
 
-#: commands/typecmds.c:3194
+#: commands/typecmds.c:3180
+#, c-format
+msgid "column \"%s\" of table \"%s\" contains null values"
+msgstr "la columna «%s» de la tabla «%s» contiene valores null"
+
+#: commands/typecmds.c:3269
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains values that violate the new constraint"
 msgstr "la columna «%s» de la relación «%s» contiene valores que violan la nueva restricción"
 
-#: commands/typecmds.c:3423 commands/typecmds.c:3622 commands/typecmds.c:3703
-#: commands/typecmds.c:3889
+#: commands/typecmds.c:3498 commands/typecmds.c:3772 commands/typecmds.c:3857
+#: commands/typecmds.c:4073
 #, c-format
 msgid "%s is not a domain"
 msgstr "%s no es un dominio"
 
-#: commands/typecmds.c:3455
+#: commands/typecmds.c:3532 commands/typecmds.c:3686
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" already exists"
 msgstr "el dominio «%2$s» ya contiene una restricción llamada «%1$s»"
 
-#: commands/typecmds.c:3506
+#: commands/typecmds.c:3583
 #, c-format
 msgid "cannot use table references in domain check constraint"
 msgstr "no se pueden usar referencias a tablas en restricción «check» para un dominio"
 
-#: commands/typecmds.c:3634 commands/typecmds.c:3715 commands/typecmds.c:4006
+#: commands/typecmds.c:3784 commands/typecmds.c:3869 commands/typecmds.c:4223
 #, c-format
 msgid "%s is a table's row type"
 msgstr "%s es el tipo de registro de una tabla"
 
-#: commands/typecmds.c:3636 commands/typecmds.c:3717 commands/typecmds.c:4008
-#, c-format
-msgid "Use ALTER TABLE instead."
-msgstr "Considere usar ALTER TABLE."
-
-#: commands/typecmds.c:3642 commands/typecmds.c:3723 commands/typecmds.c:3921
+#: commands/typecmds.c:3794 commands/typecmds.c:3879 commands/typecmds.c:4121
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "no se puede alterar el tipo de array «%s»"
 
-#: commands/typecmds.c:3644 commands/typecmds.c:3725 commands/typecmds.c:3923
+#: commands/typecmds.c:3796 commands/typecmds.c:3881 commands/typecmds.c:4123
 #, c-format
 msgid "You can alter type %s, which will alter the array type as well."
 msgstr "Puede alterar el tipo %s, lo cual alterará el tipo de array también."
 
-#: commands/typecmds.c:3991
+#: commands/typecmds.c:3892
+#, fuzzy, c-format
+#| msgid "cannot alter array type %s"
+msgid "cannot alter multirange type %s"
+msgstr "no se puede alterar el tipo de array «%s»"
+
+#: commands/typecmds.c:3895
+#, fuzzy, c-format
+#| msgid "You can alter type %s, which will alter the array type as well."
+msgid "You can alter type %s, which will alter the multirange type as well."
+msgstr "Puede alterar el tipo %s, lo cual alterará el tipo de array también."
+
+#: commands/typecmds.c:4202
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un tipo llamado «%s» en el esquema «%s»"
 
-#: commands/typecmds.c:4159
+#: commands/typecmds.c:4382
 #, c-format
 msgid "cannot change type's storage to PLAIN"
 msgstr "no se puede cambiar el almacenamiento del tipo a PLAIN"
 
-#: commands/typecmds.c:4252
+#: commands/typecmds.c:4475
 #, c-format
 msgid "type attribute \"%s\" cannot be changed"
 msgstr "el atributo de tipo «%s» no puede ser cambiado"
 
-#: commands/typecmds.c:4270
+#: commands/typecmds.c:4493
 #, c-format
 msgid "must be superuser to alter a type"
 msgstr "debe ser superusuario para alterar un tipo"
 
-#: commands/typecmds.c:4291 commands/typecmds.c:4300
+#: commands/typecmds.c:4514 commands/typecmds.c:4523
 #, c-format
 msgid "%s is not a base type"
 msgstr "«%s» no es un tipo base"
 
-#: commands/user.c:201
+#: commands/user.c:200
 #, c-format
 msgid "SYSID can no longer be specified"
 msgstr "SYSID ya no puede ser especificado"
 
-#: commands/user.c:319 commands/user.c:325 commands/user.c:331
-#: commands/user.c:337 commands/user.c:343
+#: commands/user.c:318 commands/user.c:324 commands/user.c:330
+#: commands/user.c:336 commands/user.c:342
 #, c-format
 msgid "permission denied to create role"
 msgstr "se ha denegado el permiso para crear el rol"
 
-#: commands/user.c:320
+#: commands/user.c:319
 #, c-format
 msgid "Only roles with the %s attribute may create roles."
 msgstr ""
 
-#: commands/user.c:326 commands/user.c:332 commands/user.c:338
-#: commands/user.c:344
+#: commands/user.c:325 commands/user.c:331 commands/user.c:337
+#: commands/user.c:343
 #, c-format
-msgid "Only roles with the %s attribute may create roles with %s."
+msgid "Only roles with the %s attribute may create roles with the %s attribute."
 msgstr ""
 
-#: commands/user.c:355 commands/user.c:1393 commands/user.c:1400
-#: utils/adt/acl.c:5409 utils/adt/acl.c:5415 gram.y:16727 gram.y:16773
+#: commands/user.c:354 commands/user.c:1386 commands/user.c:1393
+#: utils/adt/acl.c:5574 utils/adt/acl.c:5580 gram.y:17355 gram.y:17401
 #, c-format
 msgid "role name \"%s\" is reserved"
 msgstr "el nombre de rol «%s» está reservado"
 
-#: commands/user.c:357 commands/user.c:1395 commands/user.c:1402
+#: commands/user.c:356 commands/user.c:1388 commands/user.c:1395
 #, c-format
 msgid "Role names starting with \"pg_\" are reserved."
 msgstr "Los nombres de rol que empiezan con «pg_» están reservados."
 
-#: commands/user.c:378 commands/user.c:1417
+#: commands/user.c:377 commands/user.c:1410
 #, c-format
 msgid "role \"%s\" already exists"
 msgstr "el rol «%s» ya existe"
 
-#: commands/user.c:440 commands/user.c:925
+#: commands/user.c:439 commands/user.c:924
 #, c-format
 msgid "empty string is not a valid password, clearing password"
 msgstr "la cadena vacía no es una contraseña válida, limpiando la contraseña"
 
-#: commands/user.c:469
+#: commands/user.c:468
 #, c-format
 msgid "pg_authid OID value not set when in binary upgrade mode"
 msgstr "el valor de OID de pg_authid no se definió en modo de actualización binaria"
 
-#: commands/user.c:653 commands/user.c:1011
+#: commands/user.c:652 commands/user.c:1010
 #, fuzzy
 #| msgid "cannot alter inherited column \"%s\""
 msgid "Cannot alter reserved roles."
 msgstr "no se puede alterar la columna heredada «%s»"
 
-#: commands/user.c:760 commands/user.c:766 commands/user.c:782
-#: commands/user.c:790 commands/user.c:804 commands/user.c:810
-#: commands/user.c:816 commands/user.c:825 commands/user.c:870
-#: commands/user.c:1033 commands/user.c:1044
+#: commands/user.c:759 commands/user.c:765 commands/user.c:781
+#: commands/user.c:789 commands/user.c:803 commands/user.c:809
+#: commands/user.c:815 commands/user.c:824 commands/user.c:869
+#: commands/user.c:1032 commands/user.c:1043
 #, fuzzy, c-format
 #| msgid "permission denied to create role"
 msgid "permission denied to alter role"
 msgstr "se ha denegado el permiso para crear el rol"
 
-#: commands/user.c:761 commands/user.c:1034
+#: commands/user.c:760 commands/user.c:1033
 #, c-format
-msgid "Only roles with the %s attribute may alter roles with %s."
+msgid "Only roles with the %s attribute may alter roles with the %s attribute."
 msgstr ""
 
-#: commands/user.c:767 commands/user.c:805 commands/user.c:811
-#: commands/user.c:817
+#: commands/user.c:766 commands/user.c:804 commands/user.c:810
+#: commands/user.c:816
 #, c-format
 msgid "Only roles with the %s attribute may change the %s attribute."
 msgstr ""
 
-#: commands/user.c:783 commands/user.c:1045
+#: commands/user.c:782 commands/user.c:1044
 #, c-format
 msgid "Only roles with the %s attribute and the %s option on role \"%s\" may alter this role."
 msgstr ""
 
-#: commands/user.c:791
+#: commands/user.c:790
 #, c-format
 msgid "To change another role's password, the current user must have the %s attribute and the %s option on the role."
 msgstr ""
 
-#: commands/user.c:826
+#: commands/user.c:825
 #, c-format
 msgid "Only roles with the %s option on role \"%s\" may add members."
 msgstr ""
 
-#: commands/user.c:871
-#, c-format
-msgid "The bootstrap user must have the %s attribute."
-msgstr ""
+#: commands/user.c:870
+#, fuzzy, c-format
+#| msgid "must be superuser to create a base type"
+msgid "The bootstrap superuser must have the %s attribute."
+msgstr "debe ser superusuario para crear un tipo base"
 
-#: commands/user.c:1076
+#: commands/user.c:1075
 #, fuzzy, c-format
 #| msgid "permission denied to create role"
 msgid "permission denied to alter setting"
 msgstr "se ha denegado el permiso para crear el rol"
 
-#: commands/user.c:1077
-#, c-format
+#: commands/user.c:1076
+#, fuzzy, c-format
+#| msgid "must be superuser to alter a type"
 msgid "Only roles with the %s attribute may alter settings globally."
-msgstr ""
+msgstr "debe ser superusuario para alterar un tipo"
 
-#: commands/user.c:1101 commands/user.c:1173 commands/user.c:1179
+#: commands/user.c:1100 commands/user.c:1171 commands/user.c:1177
 #, c-format
 msgid "permission denied to drop role"
 msgstr "se ha denegado el permiso para eliminar el rol"
 
-#: commands/user.c:1102
+#: commands/user.c:1101
 #, c-format
 msgid "Only roles with the %s attribute and the %s option on the target roles may drop roles."
 msgstr ""
 
-#: commands/user.c:1127
+#: commands/user.c:1125
 #, c-format
 msgid "cannot use special role specifier in DROP ROLE"
 msgstr "no se puede usar un especificador especial de rol en DROP ROLE"
 
-#: commands/user.c:1137 commands/user.c:1364 commands/variable.c:836
-#: commands/variable.c:839 commands/variable.c:923 commands/variable.c:926
-#: utils/adt/acl.c:359 utils/adt/acl.c:379 utils/adt/acl.c:5264
-#: utils/adt/acl.c:5312 utils/adt/acl.c:5340 utils/adt/acl.c:5359
-#: utils/adt/regproc.c:1551 utils/init/miscinit.c:757
+#: commands/user.c:1135 commands/user.c:1357 commands/variable.c:838
+#: commands/variable.c:841 commands/variable.c:947 commands/variable.c:950
+#: utils/adt/acl.c:365 utils/adt/acl.c:385 utils/adt/acl.c:5429
+#: utils/adt/acl.c:5477 utils/adt/acl.c:5505 utils/adt/acl.c:5524
+#: utils/adt/regproc.c:1571 utils/init/miscinit.c:762
 #, c-format
 msgid "role \"%s\" does not exist"
 msgstr "no existe el rol «%s»"
 
-#: commands/user.c:1142
+#: commands/user.c:1140
 #, c-format
 msgid "role \"%s\" does not exist, skipping"
 msgstr "el rol «%s» no existe, omitiendo"
 
-#: commands/user.c:1155 commands/user.c:1159
+#: commands/user.c:1153 commands/user.c:1157
 #, c-format
 msgid "current user cannot be dropped"
 msgstr "el usuario activo no puede ser eliminado"
 
-#: commands/user.c:1163
+#: commands/user.c:1161
 #, c-format
 msgid "session user cannot be dropped"
 msgstr "no se puede eliminar un usuario de la sesión"
 
-#: commands/user.c:1174
+#: commands/user.c:1172
 #, c-format
-msgid "Only roles with the %s attribute may drop roles with %s."
+msgid "Only roles with the %s attribute may drop roles with the %s attribute."
 msgstr ""
 
-#: commands/user.c:1180
+#: commands/user.c:1178
 #, c-format
 msgid "Only roles with the %s attribute and the %s option on role \"%s\" may drop this role."
 msgstr ""
 
-#: commands/user.c:1306
+#: commands/user.c:1299
 #, c-format
 msgid "role \"%s\" cannot be dropped because some objects depend on it"
 msgstr "no se puede eliminar el rol «%s» porque otros objetos dependen de él"
 
-#: commands/user.c:1380
+#: commands/user.c:1373
 #, c-format
 msgid "session user cannot be renamed"
 msgstr "no se puede cambiar el nombre a un usuario de la sesión"
 
-#: commands/user.c:1384
+#: commands/user.c:1377
 #, c-format
 msgid "current user cannot be renamed"
 msgstr "no se puede cambiar el nombre al usuario activo"
 
-#: commands/user.c:1428 commands/user.c:1438
+#: commands/user.c:1421 commands/user.c:1431
 #, c-format
 msgid "permission denied to rename role"
 msgstr "se ha denegado el permiso para cambiar el nombre al rol"
 
-#: commands/user.c:1429
+#: commands/user.c:1422
 #, c-format
-msgid "Only roles with the %s attribute may rename roles with %s."
+msgid "Only roles with the %s attribute may rename roles with the %s attribute."
 msgstr ""
 
-#: commands/user.c:1439
+#: commands/user.c:1432
 #, c-format
 msgid "Only roles with the %s attribute and the %s option on role \"%s\" may rename this role."
 msgstr ""
 
-#: commands/user.c:1461
+#: commands/user.c:1454
 #, c-format
 msgid "MD5 password cleared because of role rename"
 msgstr "la contraseña MD5 fue borrada debido al cambio de nombre del rol"
 
-#: commands/user.c:1525 gram.y:1263
+#: commands/user.c:1518 gram.y:1297
 #, c-format
 msgid "unrecognized role option \"%s\""
 msgstr "opción de rol «%s» no reconocida"
 
-#: commands/user.c:1530
+#: commands/user.c:1523
 #, fuzzy, c-format
 #| msgid "unrecognized value for option %s: %s"
 msgid "unrecognized value for role option \"%s\": \"%s\""
 msgstr "valor no reconocido para la opción %s: %s"
 
-#: commands/user.c:1563
+#: commands/user.c:1556
 #, c-format
 msgid "column names cannot be included in GRANT/REVOKE ROLE"
 msgstr "los nombres de columna no pueden ser incluidos en GRANT/REVOKE ROLE"
 
-#: commands/user.c:1603
+#: commands/user.c:1596
 #, c-format
 msgid "permission denied to drop objects"
 msgstr "se ha denegado el permiso para eliminar objetos"
 
-#: commands/user.c:1604
+#: commands/user.c:1597
 #, c-format
 msgid "Only roles with privileges of role \"%s\" may drop objects owned by it."
 msgstr ""
 
-#: commands/user.c:1632 commands/user.c:1643
+#: commands/user.c:1625 commands/user.c:1636
 #, c-format
 msgid "permission denied to reassign objects"
 msgstr "se ha denegado el permiso para reasignar objetos"
 
-#: commands/user.c:1633
+#: commands/user.c:1626
 #, c-format
 msgid "Only roles with privileges of role \"%s\" may reassign objects owned by it."
 msgstr ""
 
-#: commands/user.c:1644
+#: commands/user.c:1637
 #, c-format
 msgid "Only roles with privileges of role \"%s\" may reassign objects to it."
 msgstr ""
 
-#: commands/user.c:1740
+#: commands/user.c:1733
 #, c-format
 msgid "role \"%s\" cannot be a member of any role"
 msgstr "el rol «%s» no puede ser miembro de ningún rol"
 
-#: commands/user.c:1753
+#: commands/user.c:1746
 #, c-format
 msgid "role \"%s\" is a member of role \"%s\""
 msgstr "el rol «%s» es un miembro del rol «%s»"
 
-#: commands/user.c:1793 commands/user.c:1819
+#: commands/user.c:1786 commands/user.c:1812
 #, fuzzy, c-format
 #| msgid "grant options cannot be granted back to your own grantor"
 msgid "%s option cannot be granted back to your own grantor"
 msgstr "la opción de grant no puede ser otorgada de vuelta a quien la otorgó"
 
-#: commands/user.c:1896
+#: commands/user.c:1889
 #, fuzzy, c-format
 #| msgid "role \"%s\" is a member of role \"%s\""
 msgid "role \"%s\" has already been granted membership in role \"%s\" by role \"%s\""
 msgstr "el rol «%s» es un miembro del rol «%s»"
 
-#: commands/user.c:2031
+#: commands/user.c:2024
 #, fuzzy, c-format
-#| msgid "role \"%s\" cannot be a member of any role"
+#| msgid "role \"%s\" is a member of role \"%s\""
 msgid "role \"%s\" has not been granted membership in role \"%s\" by role \"%s\""
-msgstr "el rol «%s» no puede ser miembro de ningún rol"
+msgstr "el rol «%s» es un miembro del rol «%s»"
 
-#: commands/user.c:2131
+#: commands/user.c:2124
 #, c-format
 msgid "role \"%s\" cannot have explicit members"
 msgstr "el rol «%s» no puede tener miembros explícitos"
 
-#: commands/user.c:2142 commands/user.c:2165
+#: commands/user.c:2135 commands/user.c:2158
 #, fuzzy, c-format
 #| msgid "permission denied to set role \"%s\""
 msgid "permission denied to grant role \"%s\""
 msgstr "se ha denegado el permiso para definir el rol «%s»"
 
-#: commands/user.c:2144
+#: commands/user.c:2137
 #, c-format
-msgid "Only roles with the %s attribute may grant roles with %s."
+msgid "Only roles with the %s attribute may grant roles with the %s attribute."
 msgstr ""
 
-#: commands/user.c:2149 commands/user.c:2172
+#: commands/user.c:2142 commands/user.c:2165
 #, fuzzy, c-format
 #| msgid "permission denied to set role \"%s\""
 msgid "permission denied to revoke role \"%s\""
 msgstr "se ha denegado el permiso para definir el rol «%s»"
 
-#: commands/user.c:2151
+#: commands/user.c:2144
 #, c-format
-msgid "Only roles with the %s attribute may revoke roles with %s."
+msgid "Only roles with the %s attribute may revoke roles with the %s attribute."
 msgstr ""
 
-#: commands/user.c:2167
+#: commands/user.c:2160
 #, c-format
 msgid "Only roles with the %s option on role \"%s\" may grant this role."
 msgstr ""
 
-#: commands/user.c:2174
+#: commands/user.c:2167
 #, c-format
 msgid "Only roles with the %s option on role \"%s\" may revoke this role."
 msgstr ""
 
-#: commands/user.c:2254 commands/user.c:2263
+#: commands/user.c:2247 commands/user.c:2256
 #, fuzzy, c-format
 #| msgid "permission denied to set role \"%s\""
 msgid "permission denied to grant privileges as role \"%s\""
 msgstr "se ha denegado el permiso para definir el rol «%s»"
 
-#: commands/user.c:2256
+#: commands/user.c:2249
 #, c-format
 msgid "Only roles with privileges of role \"%s\" may grant privileges as this role."
 msgstr ""
 
-#: commands/user.c:2265
+#: commands/user.c:2258
 #, fuzzy, c-format
 #| msgid "cannot use the \"%s\" option with the \"%s\" option"
 msgid "The grantor must have the %s option on role \"%s\"."
 msgstr "no se puede usar la opción «%s» junto con la opción «%s»"
 
-#: commands/user.c:2273
+#: commands/user.c:2266
 #, fuzzy, c-format
 #| msgid "permission denied to set role \"%s\""
 msgid "permission denied to revoke privileges granted by role \"%s\""
 msgstr "se ha denegado el permiso para definir el rol «%s»"
 
-#: commands/user.c:2275
+#: commands/user.c:2268
 #, c-format
 msgid "Only roles with privileges of role \"%s\" may revoke privileges granted by this role."
 msgstr ""
 
-#: commands/user.c:2498 utils/adt/acl.c:1312
+#: commands/user.c:2491 utils/adt/acl.c:1324
 #, c-format
 msgid "dependent privileges exist"
 msgstr "existen privilegios dependientes"
 
-#: commands/user.c:2499 utils/adt/acl.c:1313
+#: commands/user.c:2492 utils/adt/acl.c:1325
 #, c-format
 msgid "Use CASCADE to revoke them too."
 msgstr "Use CASCADE para revocarlos también."
 
-#: commands/vacuum.c:138
+#: commands/vacuum.c:134
 #, c-format
 msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB"
 msgstr ""
 
-#: commands/vacuum.c:210
+#: commands/vacuum.c:209
 #, fuzzy, c-format
 #| msgid "NUMERIC precision %d must be between 1 and %d"
 msgid "BUFFER_USAGE_LIMIT option must be 0 or between %d kB and %d kB"
 msgstr "la precisión %d de NUMERIC debe estar entre 1 y %d"
 
-#: commands/vacuum.c:220
+#: commands/vacuum.c:219
 #, c-format
 msgid "unrecognized ANALYZE option \"%s\""
 msgstr "opción de ANALYZE «%s» no reconocida"
 
-#: commands/vacuum.c:260
+#: commands/vacuum.c:259
 #, c-format
 msgid "parallel option requires a value between 0 and %d"
 msgstr "la opción parallel requiere un valor entre 0 y %d"
 
-#: commands/vacuum.c:272
+#: commands/vacuum.c:271
 #, c-format
 msgid "parallel workers for vacuum must be between 0 and %d"
 msgstr "el número de procesos paralelos para vacuum debe estar entre 0 y %d"
 
-#: commands/vacuum.c:293
+#: commands/vacuum.c:292
 #, c-format
 msgid "unrecognized VACUUM option \"%s\""
 msgstr "opción de VACUUM «%s» no reconocida"
 
-#: commands/vacuum.c:319
+#: commands/vacuum.c:318
 #, c-format
 msgid "VACUUM FULL cannot be performed in parallel"
 msgstr "VACUUM FULL no puede ser ejecutado en paralelo"
 
-#: commands/vacuum.c:330
+#: commands/vacuum.c:329
 #, c-format
 msgid "BUFFER_USAGE_LIMIT cannot be specified for VACUUM FULL"
 msgstr ""
 
-#: commands/vacuum.c:344
+#: commands/vacuum.c:343
 #, c-format
 msgid "ANALYZE option must be specified when a column list is provided"
 msgstr "la opción ANALYZE debe especificarse cuando se provee una lista de columnas"
 
-#: commands/vacuum.c:356
+#: commands/vacuum.c:355
 #, c-format
 msgid "VACUUM option DISABLE_PAGE_SKIPPING cannot be used with FULL"
 msgstr "la opción DISABLE_PAGE_SKIPPING de VACUUM no puede usarse con FULL"
 
-#: commands/vacuum.c:363
+#: commands/vacuum.c:362
 #, c-format
 msgid "PROCESS_TOAST required with VACUUM FULL"
 msgstr "se requiere especificar PROCESS_TOAST al hacer VACUUM FULL"
 
-#: commands/vacuum.c:372
+#: commands/vacuum.c:371
 #, fuzzy, c-format
 #| msgid "OLD TABLE cannot be specified multiple times"
 msgid "ONLY_DATABASE_STATS cannot be specified with a list of tables"
 msgstr "OLD TABLE no se puede especificar varias veces"
 
-#: commands/vacuum.c:381
+#: commands/vacuum.c:380
 #, fuzzy, c-format
 #| msgid "option \"%s\" cannot be specified with other options"
 msgid "ONLY_DATABASE_STATS cannot be specified with other VACUUM options"
 msgstr "la opción «%s» no puede ser especificada con otras opciones"
 
-#: commands/vacuum.c:516
+#: commands/vacuum.c:515
 #, c-format
 msgid "%s cannot be executed from VACUUM or ANALYZE"
 msgstr "%s no puede ejecutarse desde VACUUM o ANALYZE"
 
-#: commands/vacuum.c:736
+#: commands/vacuum.c:730
 #, fuzzy, c-format
 #| msgid "permission denied for column %s"
 msgid "permission denied to vacuum \"%s\", skipping it"
 msgstr "permiso denegado a la columna %s"
 
-#: commands/vacuum.c:749
+#: commands/vacuum.c:743
 #, fuzzy, c-format
 #| msgid "permission denied to set role \"%s\""
 msgid "permission denied to analyze \"%s\", skipping it"
 msgstr "se ha denegado el permiso para definir el rol «%s»"
 
-#: commands/vacuum.c:827 commands/vacuum.c:924
+#: commands/vacuum.c:821 commands/vacuum.c:918
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "omitiendo el vacuum de «%s»: el candado no está disponible"
 
-#: commands/vacuum.c:832
+#: commands/vacuum.c:826
 #, c-format
 msgid "skipping vacuum of \"%s\" --- relation no longer exists"
 msgstr "omitiendo el vacuum de «%s» --- la relación ya no existe"
 
-#: commands/vacuum.c:848 commands/vacuum.c:929
+#: commands/vacuum.c:842 commands/vacuum.c:923
 #, c-format
 msgid "skipping analyze of \"%s\" --- lock not available"
 msgstr "omitiendo analyze de «%s»: el candado no está disponible"
 
-#: commands/vacuum.c:853
+#: commands/vacuum.c:847
 #, c-format
 msgid "skipping analyze of \"%s\" --- relation no longer exists"
 msgstr "omitiendo analyze de «%s» --- la relación ya no existe"
 
-#: commands/vacuum.c:1164
+#: commands/vacuum.c:1139
 #, c-format
 msgid "cutoff for removing and freezing tuples is far in the past"
 msgstr ""
 
-#: commands/vacuum.c:1165 commands/vacuum.c:1170
+#: commands/vacuum.c:1140 commands/vacuum.c:1145
 #, c-format
 msgid ""
 "Close open transactions soon to avoid wraparound problems.\n"
@@ -12926,37 +13608,39 @@ msgstr ""
 "Cierre transaciones abiertas pronto para impedir problemas por reciclaje de contadores.\n"
 "Puede que además necesite comprometer o abortar transacciones preparadas antiguas, o eliminar slots de replicación añejos."
 
-#: commands/vacuum.c:1169
-#, c-format
+#: commands/vacuum.c:1144
+#, fuzzy, c-format
+#| msgid "Setting oldest multixact ID in new cluster"
 msgid "cutoff for freezing multixacts is far in the past"
-msgstr ""
+msgstr "Seteando el multixact ID más antiguo en el nuevo clúster"
 
-#: commands/vacuum.c:1897
+#: commands/vacuum.c:1890
 #, c-format
 msgid "some databases have not been vacuumed in over 2 billion transactions"
 msgstr "algunas bases de datos no han tenido VACUUM en más de 2 mil millones de transacciones"
 
-#: commands/vacuum.c:1898
+#: commands/vacuum.c:1891
 #, c-format
 msgid "You might have already suffered transaction-wraparound data loss."
 msgstr "Puede haber sufrido ya problemas de pérdida de datos por reciclaje del contador de transacciones."
 
-#: commands/vacuum.c:2063
+#: commands/vacuum.c:2070
 #, c-format
 msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables"
 msgstr "omitiendo «%s»: no se puede aplicar VACUUM a objetos que no son tablas o a tablas especiales de sistema"
 
-#: commands/vacuum.c:2488
-#, c-format
-msgid "scanned index \"%s\" to remove %d row versions"
+#: commands/vacuum.c:2502
+#, fuzzy, c-format
+#| msgid "scanned index \"%s\" to remove %d row versions"
+msgid "scanned index \"%s\" to remove %lld row versions"
 msgstr "se recorrió el índice «%s» para eliminar %d versiones de filas"
 
-#: commands/vacuum.c:2507
+#: commands/vacuum.c:2521
 #, c-format
 msgid "index \"%s\" now contains %.0f row versions in %u pages"
 msgstr "el índice «%s» ahora contiene %.0f versiones de filas en %u páginas"
 
-#: commands/vacuum.c:2511
+#: commands/vacuum.c:2525
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -12964,14 +13648,14 @@ msgid ""
 "%u index pages are currently deleted, of which %u are currently reusable."
 msgstr ""
 
-#: commands/vacuumparallel.c:677
+#: commands/vacuumparallel.c:708
 #, c-format
 msgid "launched %d parallel vacuum worker for index vacuuming (planned: %d)"
 msgid_plural "launched %d parallel vacuum workers for index vacuuming (planned: %d)"
 msgstr[0] "se lanzó %d proceso asistente para «vacuum» de índices (planeados: %d)"
 msgstr[1] "se lanzaron %d procesos asistentes para «vacuum» índices (planeados: %d)"
 
-#: commands/vacuumparallel.c:683
+#: commands/vacuumparallel.c:714
 #, c-format
 msgid "launched %d parallel vacuum worker for index cleanup (planned: %d)"
 msgid_plural "launched %d parallel vacuum workers for index cleanup (planned: %d)"
@@ -13033,7 +13717,7 @@ msgstr "SET TRANSACTION ISOLATION LEVEL debe ser llamado antes de cualquier cons
 msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction"
 msgstr "SET TRANSACTION ISOLATION LEVEL no debe ser llamado en una subtransacción"
 
-#: commands/variable.c:606 storage/lmgr/predicate.c:1629
+#: commands/variable.c:606 storage/lmgr/predicate.c:1680
 #, c-format
 msgid "cannot use serializable mode in a hot standby"
 msgstr "no se puede utilizar el modo serializable en un hot standby"
@@ -13064,92 +13748,107 @@ msgid "Cannot change \"client_encoding\" now."
 msgstr "No se puede cambiar «client_encoding» ahora."
 
 #: commands/variable.c:781
-#, c-format
-msgid "cannot change client_encoding during a parallel operation"
+#, fuzzy, c-format
+#| msgid "cannot change client_encoding during a parallel operation"
+msgid "cannot change \"client_encoding\" during a parallel operation"
 msgstr "no se puede cambiar «client_encoding» durante una operación paralela"
 
-#: commands/variable.c:948
+#: commands/variable.c:863
+#, fuzzy, c-format
+#| msgid "permission denied to set session authorization"
+msgid "permission will be denied to set session authorization \"%s\""
+msgstr "se ha denegado el permiso para cambiar el usuario actual"
+
+#: commands/variable.c:868
+#, fuzzy, c-format
+#| msgid "permission denied to set session authorization"
+msgid "permission denied to set session authorization \"%s\""
+msgstr "se ha denegado el permiso para cambiar el usuario actual"
+
+#: commands/variable.c:972
 #, c-format
 msgid "permission will be denied to set role \"%s\""
 msgstr "se denegará el permiso para definir el rol «%s»"
 
-#: commands/variable.c:953
+#: commands/variable.c:977
 #, c-format
 msgid "permission denied to set role \"%s\""
 msgstr "se ha denegado el permiso para definir el rol «%s»"
 
-#: commands/variable.c:1153
+#: commands/variable.c:1177
 #, c-format
 msgid "Bonjour is not supported by this build"
 msgstr "Bonjour no está soportado en este servidor"
 
-#: commands/variable.c:1181
-#, c-format
-msgid "effective_io_concurrency must be set to 0 on platforms that lack posix_fadvise()."
+#: commands/variable.c:1205
+#, fuzzy, c-format
+#| msgid "effective_io_concurrency must be set to 0 on platforms that lack posix_fadvise()."
+msgid "\"effective_io_concurrency\" must be set to 0 on platforms that lack posix_fadvise()."
 msgstr "effective_io_concurrency debe ser 0 en plataformas que no tienen posix_fadvise()."
 
-#: commands/variable.c:1194
-#, c-format
-msgid "maintenance_io_concurrency must be set to 0 on platforms that lack posix_fadvise()."
+#: commands/variable.c:1218
+#, fuzzy, c-format
+#| msgid "maintenance_io_concurrency must be set to 0 on platforms that lack posix_fadvise()."
+msgid "\"maintenance_io_concurrency\" must be set to 0 on platforms that lack posix_fadvise()."
 msgstr "maintenance_io_concurrency debe ser 0 en plataformas que no tienen posix_fadvise()."
 
-#: commands/variable.c:1207
+#: commands/variable.c:1231
 #, c-format
 msgid "SSL is not supported by this build"
 msgstr "SSL no está soportado en este servidor"
 
-#: commands/view.c:84
+#: commands/view.c:79
 #, c-format
 msgid "could not determine which collation to use for view column \"%s\""
 msgstr "no se pudo determinar el ordenamiento (collation) a usar para la columna «%s» de vista"
 
-#: commands/view.c:279 commands/view.c:290
+#: commands/view.c:274 commands/view.c:285
 #, c-format
 msgid "cannot drop columns from view"
 msgstr "no se pueden eliminar columnas de una vista"
 
-#: commands/view.c:295
+#: commands/view.c:290
 #, c-format
 msgid "cannot change name of view column \"%s\" to \"%s\""
 msgstr "no se puede cambiar el nombre de la columna «%s» de la vista a «%s»"
 
-#: commands/view.c:298
+#: commands/view.c:293
 #, c-format
 msgid "Use ALTER VIEW ... RENAME COLUMN ... to change name of view column instead."
 msgstr "Use ALTER VIEW ... RENAME COLUMN ... para cambiar el nombre de una columna de una vista."
 
-#: commands/view.c:309
+#: commands/view.c:304
 #, c-format
 msgid "cannot change data type of view column \"%s\" from %s to %s"
 msgstr "no se puede cambiar el tipo de dato de la columna «%s» de la vista de %s a %s"
 
-#: commands/view.c:323
+#: commands/view.c:318
 #, fuzzy, c-format
 #| msgid "cannot change data type of view column \"%s\" from %s to %s"
 msgid "cannot change collation of view column \"%s\" from \"%s\" to \"%s\""
 msgstr "no se puede cambiar el tipo de dato de la columna «%s» de la vista de %s a %s"
 
-#: commands/view.c:392
+#: commands/view.c:387
 #, c-format
 msgid "views must not contain SELECT INTO"
 msgstr "una vista no puede tener SELECT INTO"
 
-#: commands/view.c:404
+#: commands/view.c:399
 #, c-format
 msgid "views must not contain data-modifying statements in WITH"
 msgstr "las vistas no deben contener sentencias que modifiquen datos en WITH"
 
-#: commands/view.c:474
+#: commands/view.c:469
 #, c-format
 msgid "CREATE VIEW specifies more column names than columns"
 msgstr "CREATE VIEW especifica más nombres de columna que columnas"
 
-#: commands/view.c:482
+#: commands/view.c:477
 #, c-format
 msgid "views cannot be unlogged because they do not have storage"
 msgstr "las vistas no pueden ser «unlogged» porque no tienen almacenamiento"
 
-#: commands/view.c:496
+#: commands/view.c:491
 #, c-format
 msgid "view \"%s\" will be a temporary view"
 msgstr "la vista «%s» será una vista temporal"
@@ -13185,515 +13884,514 @@ msgstr "el cursor «%s» no está posicionado en una fila"
 msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\""
 msgstr "el cursor «%s» no es un recorrido simplemente actualizable de la tabla «%s»"
 
-#: executor/execCurrent.c:280 executor/execExprInterp.c:2497
+#: executor/execCurrent.c:280 executor/execExprInterp.c:2543
 #, c-format
 msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)"
 msgstr "el tipo del parámetro %d (%s) no coincide aquel con que fue preparado el plan (%s)"
 
-#: executor/execCurrent.c:292 executor/execExprInterp.c:2509
+#: executor/execCurrent.c:292 executor/execExprInterp.c:2555
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "no se encontró un valor para parámetro %d"
 
-#: executor/execExpr.c:637 executor/execExpr.c:644 executor/execExpr.c:650
-#: executor/execExprInterp.c:4229 executor/execExprInterp.c:4246
-#: executor/execExprInterp.c:4345 executor/nodeModifyTable.c:197
-#: executor/nodeModifyTable.c:208 executor/nodeModifyTable.c:225
-#: executor/nodeModifyTable.c:233
+#: executor/execExpr.c:642 executor/execExpr.c:649 executor/execExpr.c:655
+#: executor/execExprInterp.c:4834 executor/execExprInterp.c:4851
+#: executor/execExprInterp.c:4950 executor/nodeModifyTable.c:203
+#: executor/nodeModifyTable.c:214 executor/nodeModifyTable.c:231
+#: executor/nodeModifyTable.c:239
 #, c-format
 msgid "table row type and query-specified row type do not match"
 msgstr "el tipo de registro de la tabla no coincide con el tipo de registro de la consulta"
 
-#: executor/execExpr.c:638 executor/nodeModifyTable.c:198
+#: executor/execExpr.c:643 executor/nodeModifyTable.c:204
 #, c-format
 msgid "Query has too many columns."
 msgstr "La consulta tiene demasiadas columnas."
 
-#: executor/execExpr.c:645 executor/nodeModifyTable.c:226
+#: executor/execExpr.c:650 executor/nodeModifyTable.c:232
 #, c-format
 msgid "Query provides a value for a dropped column at ordinal position %d."
 msgstr "La consulta entrega un valor para una columna eliminada en la posición %d."
 
-#: executor/execExpr.c:651 executor/execExprInterp.c:4247
-#: executor/nodeModifyTable.c:209
+#: executor/execExpr.c:656 executor/execExprInterp.c:4852
+#: executor/nodeModifyTable.c:215
 #, c-format
 msgid "Table has type %s at ordinal position %d, but query expects %s."
 msgstr "La tabla tiene tipo %s en posición ordinal %d, pero la consulta esperaba %s."
 
-#: executor/execExpr.c:1099 parser/parse_agg.c:827
+#: executor/execExpr.c:1104 parser/parse_agg.c:840
 #, c-format
 msgid "window function calls cannot be nested"
 msgstr "no se pueden anidar llamadas a funciones de ventana deslizante"
 
-#: executor/execExpr.c:1618
+#: executor/execExpr.c:1641
 #, c-format
 msgid "target type is not an array"
 msgstr "el tipo de destino no es un array"
 
-#: executor/execExpr.c:1958
+#: executor/execExpr.c:1981
 #, c-format
 msgid "ROW() column has type %s instead of type %s"
 msgstr "la columna de ROW() es de tipo %s en lugar de ser de tipo %s"
 
-#: executor/execExpr.c:2587 executor/execSRF.c:719 parser/parse_func.c:138
-#: parser/parse_func.c:655 parser/parse_func.c:1032
+#: executor/execExpr.c:2643 executor/execSRF.c:718 parser/parse_func.c:138
+#: parser/parse_func.c:655 parser/parse_func.c:1033
 #, c-format
 msgid "cannot pass more than %d argument to a function"
 msgid_plural "cannot pass more than %d arguments to a function"
 msgstr[0] "no se pueden pasar más de %d argumento a una función"
 msgstr[1] "no se pueden pasar más de %d argumentos a una función"
 
-#: executor/execExpr.c:2614 executor/execSRF.c:739 executor/functions.c:1066
-#: utils/adt/jsonfuncs.c:3780 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143
+#: executor/execExpr.c:2670 executor/execSRF.c:738 executor/functions.c:1068
+#: utils/adt/jsonfuncs.c:4054 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr "se llamó una función que retorna un conjunto en un contexto que no puede aceptarlo"
 
-#: executor/execExpr.c:3020 parser/parse_node.c:277 parser/parse_node.c:327
+#: executor/execExpr.c:3076 parser/parse_node.c:272 parser/parse_node.c:322
 #, c-format
 msgid "cannot subscript type %s because it does not support subscripting"
 msgstr "no se puede poner subíndices al tipo %s porque no soporta subíndices"
 
-#: executor/execExpr.c:3148 executor/execExpr.c:3170
+#: executor/execExpr.c:3204 executor/execExpr.c:3226
 #, c-format
 msgid "type %s does not support subscripted assignment"
 msgstr "el tipo %s no soporta asignación subindexada"
 
-#: executor/execExprInterp.c:1962
+#: executor/execExprInterp.c:2007
 #, c-format
 msgid "attribute %d of type %s has been dropped"
 msgstr "El atributo %d de tipo %s ha sido eliminado"
 
-#: executor/execExprInterp.c:1968
+#: executor/execExprInterp.c:2013
 #, c-format
 msgid "attribute %d of type %s has wrong type"
 msgstr "el atributo %d del tipo %s tiene tipo erróneo"
 
-#: executor/execExprInterp.c:1970 executor/execExprInterp.c:3103
-#: executor/execExprInterp.c:3149
+#: executor/execExprInterp.c:2015 executor/execExprInterp.c:3214
+#: executor/execExprInterp.c:3260
 #, c-format
 msgid "Table has type %s, but query expects %s."
 msgstr "La tabla tiene tipo %s, pero la consulta esperaba %s."
 
-#: executor/execExprInterp.c:2049 utils/adt/expandedrecord.c:99
-#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1743
-#: utils/cache/typcache.c:1902 utils/cache/typcache.c:2049
-#: utils/fmgr/funcapi.c:561
+#: executor/execExprInterp.c:2095 utils/adt/expandedrecord.c:99
+#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1752
+#: utils/cache/typcache.c:1911 utils/cache/typcache.c:2058
+#: utils/fmgr/funcapi.c:569
 #, c-format
 msgid "type %s is not composite"
 msgstr "el tipo %s no es compuesto"
 
-#: executor/execExprInterp.c:2587
+#: executor/execExprInterp.c:2698
 #, c-format
 msgid "WHERE CURRENT OF is not supported for this table type"
 msgstr "WHERE CURRENT OF no está soportado para este tipo de tabla"
 
-#: executor/execExprInterp.c:2800
+#: executor/execExprInterp.c:2911
 #, c-format
 msgid "cannot merge incompatible arrays"
 msgstr "no se puede mezclar arrays incompatibles"
 
-#: executor/execExprInterp.c:2801
+#: executor/execExprInterp.c:2912
 #, c-format
 msgid "Array with element type %s cannot be included in ARRAY construct with element type %s."
 msgstr "El array con tipo de elemento %s no puede ser incluido en una sentencia ARRAY con tipo de elemento %s."
 
-#: executor/execExprInterp.c:2822 utils/adt/arrayfuncs.c:265
-#: utils/adt/arrayfuncs.c:575 utils/adt/arrayfuncs.c:1329
-#: utils/adt/arrayfuncs.c:3483 utils/adt/arrayfuncs.c:5567
-#: utils/adt/arrayfuncs.c:6084 utils/adt/arraysubs.c:150
+#: executor/execExprInterp.c:2933 utils/adt/arrayfuncs.c:1305
+#: utils/adt/arrayfuncs.c:3503 utils/adt/arrayfuncs.c:5593
+#: utils/adt/arrayfuncs.c:6110 utils/adt/arraysubs.c:150
 #: utils/adt/arraysubs.c:488
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "el número de dimensiones del array (%d) excede el máximo permitido (%d)"
 
-#: executor/execExprInterp.c:2842 executor/execExprInterp.c:2877
+#: executor/execExprInterp.c:2953 executor/execExprInterp.c:2988
 #, c-format
 msgid "multidimensional arrays must have array expressions with matching dimensions"
 msgstr "los arrays multidimensionales deben tener expresiones de arrays con dimensiones coincidentes"
 
-#: executor/execExprInterp.c:2854 utils/adt/array_expanded.c:274
-#: utils/adt/arrayfuncs.c:959 utils/adt/arrayfuncs.c:1568
-#: utils/adt/arrayfuncs.c:3285 utils/adt/arrayfuncs.c:3513
-#: utils/adt/arrayfuncs.c:6176 utils/adt/arrayfuncs.c:6517
-#: utils/adt/arrayutils.c:104 utils/adt/arrayutils.c:113
-#: utils/adt/arrayutils.c:120
+#: executor/execExprInterp.c:2965 utils/adt/array_expanded.c:274
+#: utils/adt/arrayfuncs.c:335 utils/adt/arrayfuncs.c:494
+#: utils/adt/arrayfuncs.c:727 utils/adt/arrayfuncs.c:1533
+#: utils/adt/arrayfuncs.c:2341 utils/adt/arrayfuncs.c:2356
+#: utils/adt/arrayfuncs.c:2618 utils/adt/arrayfuncs.c:2634
+#: utils/adt/arrayfuncs.c:2895 utils/adt/arrayfuncs.c:2949
+#: utils/adt/arrayfuncs.c:2964 utils/adt/arrayfuncs.c:3305
+#: utils/adt/arrayfuncs.c:3533 utils/adt/arrayfuncs.c:5365
+#: utils/adt/arrayfuncs.c:6202 utils/adt/arrayfuncs.c:6546
+#: utils/adt/arrayutils.c:83 utils/adt/arrayutils.c:92
+#: utils/adt/arrayutils.c:99
 #, c-format
 msgid "array size exceeds the maximum allowed (%d)"
 msgstr "el tamaño del array excede el máximo permitido (%d)"
 
-#: executor/execExprInterp.c:3102 executor/execExprInterp.c:3148
+#: executor/execExprInterp.c:3213 executor/execExprInterp.c:3259
 #, c-format
 msgid "attribute %d has wrong type"
 msgstr "el atributo %d tiene tipo erróneo"
 
-#: executor/execExprInterp.c:3730 utils/adt/domains.c:155
+#: executor/execExprInterp.c:3845 utils/adt/domains.c:158
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "el dominio %s no permite valores null"
 
-#: executor/execExprInterp.c:3745 utils/adt/domains.c:193
+#: executor/execExprInterp.c:3860 utils/adt/domains.c:196
 #, c-format
 msgid "value for domain %s violates check constraint \"%s\""
 msgstr "el valor para el dominio %s viola la restricción «check» «%s»"
 
-#: executor/execExprInterp.c:4230
+#: executor/execExprInterp.c:4434
+#, c-format
+msgid "no SQL/JSON item found for specified path of column \"%s\""
+msgstr ""
+
+#: executor/execExprInterp.c:4439
+#, c-format
+msgid "no SQL/JSON item found for specified path"
+msgstr ""
+
+#: executor/execExprInterp.c:4637
+#, c-format
+msgid "could not coerce ON ERROR expression (%s) to the RETURNING type"
+msgstr ""
+
+#: executor/execExprInterp.c:4643
+#, c-format
+msgid "could not coerce ON EMPTY expression (%s) to the RETURNING type"
+msgstr ""
+
+#: executor/execExprInterp.c:4835
 #, c-format
 msgid "Table row contains %d attribute, but query expects %d."
 msgid_plural "Table row contains %d attributes, but query expects %d."
 msgstr[0] "La fila de la tabla contiene %d atributo, pero la consulta esperaba %d."
 msgstr[1] "La fila de la tabla contiene %d atributos, pero la consulta esperaba %d."
 
-#: executor/execExprInterp.c:4346 executor/execSRF.c:978
+#: executor/execExprInterp.c:4951 executor/execSRF.c:977
 #, c-format
 msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
 msgstr "Discordancia de almacenamiento físico en atributo eliminado en la posición %d."
 
-#: executor/execIndexing.c:588
+#: executor/execIndexing.c:593
 #, c-format
 msgid "ON CONFLICT does not support deferrable unique constraints/exclusion constraints as arbiters"
 msgstr "ON CONFLICT no soporta las restricciones únicas o de exclusión postergables como árbitros"
 
-#: executor/execIndexing.c:865
+#: executor/execIndexing.c:870
 #, c-format
 msgid "could not create exclusion constraint \"%s\""
 msgstr "no se pudo crear la restricción de exclusión «%s»"
 
-#: executor/execIndexing.c:868
+#: executor/execIndexing.c:873
 #, c-format
 msgid "Key %s conflicts with key %s."
 msgstr "La llave %s está en conflicto con la llave %s."
 
-#: executor/execIndexing.c:870
+#: executor/execIndexing.c:875
 #, c-format
 msgid "Key conflicts exist."
 msgstr "Existe un conflicto de llave."
 
-#: executor/execIndexing.c:876
+#: executor/execIndexing.c:881
 #, c-format
 msgid "conflicting key value violates exclusion constraint \"%s\""
 msgstr "llave en conflicto viola la restricción de exclusión «%s»"
 
-#: executor/execIndexing.c:879
+#: executor/execIndexing.c:884
 #, c-format
 msgid "Key %s conflicts with existing key %s."
 msgstr "La llave %s está en conflicto con la llave existente %s."
 
-#: executor/execIndexing.c:881
+#: executor/execIndexing.c:886
 #, c-format
 msgid "Key conflicts with existing key."
 msgstr "La llave está en conflicto con una llave existente."
 
-#: executor/execMain.c:1030
+#: executor/execMain.c:1041
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "no se puede cambiar la secuencia «%s»"
 
-#: executor/execMain.c:1036
+#: executor/execMain.c:1047
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "no se puede cambiar la relación TOAST «%s»"
 
-#: executor/execMain.c:1054 rewrite/rewriteHandler.c:3078
-#: rewrite/rewriteHandler.c:3965
-#, c-format
-msgid "cannot insert into view \"%s\""
-msgstr "no se puede insertar en la vista «%s»"
-
-#: executor/execMain.c:1056 rewrite/rewriteHandler.c:3081
-#: rewrite/rewriteHandler.c:3968
-#, c-format
-msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule."
-msgstr "Para posibilitar las inserciones en la vista, provea un disparador INSTEAD OF INSERT o una regla incodicional ON INSERT DO INSTEAD."
-
-#: executor/execMain.c:1062 rewrite/rewriteHandler.c:3086
-#: rewrite/rewriteHandler.c:3973
-#, c-format
-msgid "cannot update view \"%s\""
-msgstr "no se puede actualizar la vista «%s»"
-
-#: executor/execMain.c:1064 rewrite/rewriteHandler.c:3089
-#: rewrite/rewriteHandler.c:3976
-#, c-format
-msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule."
-msgstr "Para posibilitar las actualizaciones en la vista, provea un disparador INSTEAD OF UPDATE o una regla incondicional ON UPDATE DO INSTEAD."
-
-#: executor/execMain.c:1070 rewrite/rewriteHandler.c:3094
-#: rewrite/rewriteHandler.c:3981
-#, c-format
-msgid "cannot delete from view \"%s\""
-msgstr "no se puede eliminar de la vista «%s»"
-
-#: executor/execMain.c:1072 rewrite/rewriteHandler.c:3097
-#: rewrite/rewriteHandler.c:3984
-#, c-format
-msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule."
-msgstr "Para posibilitar las eliminaciones en la vista, provea un disparador INSTEAD OF DELETE o una regla incondicional ON DELETE DO INSTEAD."
-
-#: executor/execMain.c:1083
+#: executor/execMain.c:1066
 #, c-format
 msgid "cannot change materialized view \"%s\""
 msgstr "no se puede cambiar la vista materializada «%s»"
 
-#: executor/execMain.c:1095
+#: executor/execMain.c:1078
 #, c-format
 msgid "cannot insert into foreign table \"%s\""
 msgstr "no se puede insertar en la tabla foránea «%s»"
 
-#: executor/execMain.c:1101
+#: executor/execMain.c:1084
 #, c-format
 msgid "foreign table \"%s\" does not allow inserts"
 msgstr "la tabla foránea «%s» no permite inserciones"
 
-#: executor/execMain.c:1108
+#: executor/execMain.c:1091
 #, c-format
 msgid "cannot update foreign table \"%s\""
 msgstr "no se puede actualizar la tabla foránea «%s»"
 
-#: executor/execMain.c:1114
+#: executor/execMain.c:1097
 #, c-format
 msgid "foreign table \"%s\" does not allow updates"
 msgstr "la tabla foránea «%s» no permite actualizaciones"
 
-#: executor/execMain.c:1121
+#: executor/execMain.c:1104
 #, c-format
 msgid "cannot delete from foreign table \"%s\""
 msgstr "no se puede eliminar desde la tabla foránea «%s»"
 
-#: executor/execMain.c:1127
+#: executor/execMain.c:1110
 #, c-format
 msgid "foreign table \"%s\" does not allow deletes"
 msgstr "la tabla foránea «%s» no permite eliminaciones"
 
-#: executor/execMain.c:1138
+#: executor/execMain.c:1121
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "no se puede cambiar la relación «%s»"
 
-#: executor/execMain.c:1165
+#: executor/execMain.c:1148
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "no se puede bloquear registros de la secuencia «%s»"
 
-#: executor/execMain.c:1172
+#: executor/execMain.c:1155
 #, c-format
 msgid "cannot lock rows in TOAST relation \"%s\""
 msgstr "no se puede bloquear registros en la relación TOAST «%s»"
 
-#: executor/execMain.c:1179
+#: executor/execMain.c:1162
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "no se puede bloquear registros en la vista «%s»"
 
-#: executor/execMain.c:1187
+#: executor/execMain.c:1170
 #, c-format
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "no se puede bloquear registros en la vista materializada «%s»"
 
-#: executor/execMain.c:1196 executor/execMain.c:2699
+#: executor/execMain.c:1179 executor/execMain.c:2684
 #: executor/nodeLockRows.c:135
 #, c-format
 msgid "cannot lock rows in foreign table \"%s\""
 msgstr "no se puede bloquear registros en la tabla foránea «%s»"
 
-#: executor/execMain.c:1202
+#: executor/execMain.c:1185
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "no se puede bloquear registros en la tabla «%s»"
 
-#: executor/execMain.c:1913
+#: executor/execMain.c:1898
 #, c-format
 msgid "new row for relation \"%s\" violates partition constraint"
 msgstr "el nuevo registro para la relación «%s» viola la restricción de partición"
 
-#: executor/execMain.c:1915 executor/execMain.c:1999 executor/execMain.c:2050
-#: executor/execMain.c:2160
+#: executor/execMain.c:1900 executor/execMain.c:1984 executor/execMain.c:2035
+#: executor/execMain.c:2145
 #, c-format
 msgid "Failing row contains %s."
 msgstr "La fila que falla contiene %s."
 
-#: executor/execMain.c:1996
+#: executor/execMain.c:1981
 #, c-format
 msgid "null value in column \"%s\" of relation \"%s\" violates not-null constraint"
 msgstr "el valor nulo en la columna «%s» de la relación «%s» viola la restricción de no nulo"
 
-#: executor/execMain.c:2048
+#: executor/execMain.c:2033
 #, c-format
 msgid "new row for relation \"%s\" violates check constraint \"%s\""
 msgstr "el nuevo registro para la relación «%s» viola la restricción «check» «%s»"
 
-#: executor/execMain.c:2158
+#: executor/execMain.c:2143
 #, c-format
 msgid "new row violates check option for view \"%s\""
 msgstr "el nuevo registro para la vista «%s» viola la opción check"
 
-#: executor/execMain.c:2168
+#: executor/execMain.c:2153
 #, c-format
 msgid "new row violates row-level security policy \"%s\" for table \"%s\""
 msgstr "el nuevo registro viola la política de seguridad de registros «%s» para la tabla «%s»"
 
-#: executor/execMain.c:2173
+#: executor/execMain.c:2158
 #, c-format
 msgid "new row violates row-level security policy for table \"%s\""
 msgstr "el nuevo registro viola la política de seguridad de registros para la tabla «%s»"
 
-#: executor/execMain.c:2181
+#: executor/execMain.c:2166
 #, fuzzy, c-format
 #| msgid "new row violates row-level security policy \"%s\" (USING expression) for table \"%s\""
 msgid "target row violates row-level security policy \"%s\" (USING expression) for table \"%s\""
 msgstr "el nuevo registro viola la política de seguridad de registros «%s» (expresión USING) para la tabla «%s»"
 
-#: executor/execMain.c:2186
+#: executor/execMain.c:2171
 #, fuzzy, c-format
 #| msgid "new row violates row-level security policy (USING expression) for table \"%s\""
 msgid "target row violates row-level security policy (USING expression) for table \"%s\""
 msgstr "el nuevo registro viola la política de seguridad de registros (expresión USING) para la tabla «%s»"
 
-#: executor/execMain.c:2193
+#: executor/execMain.c:2178
 #, c-format
 msgid "new row violates row-level security policy \"%s\" (USING expression) for table \"%s\""
 msgstr "el nuevo registro viola la política de seguridad de registros «%s» (expresión USING) para la tabla «%s»"
 
-#: executor/execMain.c:2198
+#: executor/execMain.c:2183
 #, c-format
 msgid "new row violates row-level security policy (USING expression) for table \"%s\""
 msgstr "el nuevo registro viola la política de seguridad de registros (expresión USING) para la tabla «%s»"
 
-#: executor/execPartition.c:330
+#: executor/execPartition.c:327
 #, c-format
 msgid "no partition of relation \"%s\" found for row"
 msgstr "no se encontró una partición de «%s» para el registro"
 
-#: executor/execPartition.c:333
+#: executor/execPartition.c:330
 #, c-format
 msgid "Partition key of the failing row contains %s."
 msgstr "La llave de particionamiento de la fila que falla contiene %s."
 
-#: executor/execReplication.c:240 executor/execReplication.c:424
+#: executor/execReplication.c:272 executor/execReplication.c:456
 #, c-format
 msgid "tuple to be locked was already moved to another partition due to concurrent update, retrying"
 msgstr "el registro a ser bloqueado ya fue movido a otra partición debido a un update concurrente, reintentando"
 
-#: executor/execReplication.c:244 executor/execReplication.c:428
+#: executor/execReplication.c:276 executor/execReplication.c:460
 #, c-format
 msgid "concurrent update, retrying"
 msgstr "actualización simultánea, reintentando"
 
-#: executor/execReplication.c:250 executor/execReplication.c:434
+#: executor/execReplication.c:282 executor/execReplication.c:466
 #, c-format
 msgid "concurrent delete, retrying"
 msgstr "eliminacón concurrente, reintentando"
 
-#: executor/execReplication.c:320 parser/parse_cte.c:308
-#: parser/parse_oper.c:233 utils/adt/array_userfuncs.c:1348
-#: utils/adt/array_userfuncs.c:1491 utils/adt/arrayfuncs.c:3832
-#: utils/adt/arrayfuncs.c:4387 utils/adt/arrayfuncs.c:6397
-#: utils/adt/rowtypes.c:1230
+#: executor/execReplication.c:352 parser/parse_cte.c:302
+#: parser/parse_oper.c:221 utils/adt/array_userfuncs.c:1334
+#: utils/adt/array_userfuncs.c:1477 utils/adt/arrayfuncs.c:3852
+#: utils/adt/arrayfuncs.c:4407 utils/adt/arrayfuncs.c:6426
+#: utils/adt/rowtypes.c:1220
 #, c-format
 msgid "could not identify an equality operator for type %s"
 msgstr "no se pudo identificar un operador de igualdad para el tipo %s"
 
-#: executor/execReplication.c:651 executor/execReplication.c:657
+#: executor/execReplication.c:683 executor/execReplication.c:689
 #, fuzzy, c-format
 #| msgid "cannot update foreign table \"%s\""
 msgid "cannot update table \"%s\""
 msgstr "no se puede actualizar la tabla foránea «%s»"
 
-#: executor/execReplication.c:653 executor/execReplication.c:665
+#: executor/execReplication.c:685 executor/execReplication.c:697
 #, c-format
 msgid "Column used in the publication WHERE expression is not part of the replica identity."
 msgstr "La columna usada en la expresión WHERE de la publicación no es parte de la identidad de replicación."
 
-#: executor/execReplication.c:659 executor/execReplication.c:671
+#: executor/execReplication.c:691 executor/execReplication.c:703
 #, c-format
 msgid "Column list used by the publication does not cover the replica identity."
 msgstr "La lista de columnas usada por la publicación no incluye la identidad de replicación."
 
-#: executor/execReplication.c:663 executor/execReplication.c:669
+#: executor/execReplication.c:695 executor/execReplication.c:701
 #, fuzzy, c-format
 #| msgid "cannot delete from foreign table \"%s\""
 msgid "cannot delete from table \"%s\""
 msgstr "no se puede eliminar desde la tabla foránea «%s»"
 
-#: executor/execReplication.c:689
+#: executor/execReplication.c:721
 #, c-format
 msgid "cannot update table \"%s\" because it does not have a replica identity and publishes updates"
 msgstr "no se puede actualizar la tabla «%s» porque no tiene identidad de replicación y publica updates"
 
-#: executor/execReplication.c:691
+#: executor/execReplication.c:723
 #, c-format
 msgid "To enable updating the table, set REPLICA IDENTITY using ALTER TABLE."
 msgstr "Para habilitar la actualización de la tabla, configure REPLICA IDENTITY utilizando ALTER TABLE."
 
-#: executor/execReplication.c:695
+#: executor/execReplication.c:727
 #, c-format
 msgid "cannot delete from table \"%s\" because it does not have a replica identity and publishes deletes"
 msgstr "no se puede eliminar de la tabla «%s» porque no tiene una identidad de replicación y publica deletes"
 
-#: executor/execReplication.c:697
+#: executor/execReplication.c:729
 #, c-format
 msgid "To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE."
 msgstr "para habilitar la eliminación en la tabla, configure REPLICA IDENTITY utilizando ALTER TABLE."
 
-#: executor/execReplication.c:713
+#: executor/execReplication.c:745
 #, c-format
 msgid "cannot use relation \"%s.%s\" as logical replication target"
 msgstr "no se puede usar la relación «%s.%s» como destino de replicación lógica"
 
-#: executor/execSRF.c:316
+#: executor/execSRF.c:315
 #, c-format
 msgid "rows returned by function are not all of the same row type"
 msgstr "las filas retornadas por la función no tienen todas el mismo tipo de registro"
 
-#: executor/execSRF.c:366
+#: executor/execSRF.c:365
 #, c-format
 msgid "table-function protocol for value-per-call mode was not followed"
 msgstr "no se siguió el protocolo de función tabular para el modo de valor por llamada"
 
-#: executor/execSRF.c:374 executor/execSRF.c:668
+#: executor/execSRF.c:373 executor/execSRF.c:667
 #, c-format
 msgid "table-function protocol for materialize mode was not followed"
 msgstr "no se siguió el protocolo de función tabular para el modo de materialización"
 
-#: executor/execSRF.c:381 executor/execSRF.c:686
+#: executor/execSRF.c:380 executor/execSRF.c:685
 #, c-format
 msgid "unrecognized table-function returnMode: %d"
 msgstr "modo de retorno de la función tabular no es reconocido: %d"
 
-#: executor/execSRF.c:895
+#: executor/execSRF.c:894
 #, c-format
 msgid "function returning setof record called in context that cannot accept type record"
 msgstr "se llamó una función que retorna «setof record» en un contexto que no puede aceptar el tipo record"
 
-#: executor/execSRF.c:951 executor/execSRF.c:967 executor/execSRF.c:977
+#: executor/execSRF.c:950 executor/execSRF.c:966 executor/execSRF.c:976
 #, c-format
 msgid "function return row and query-specified return row do not match"
 msgstr "la fila de retorno especificada en la consulta no coincide con fila de retorno de la función"
 
-#: executor/execSRF.c:952
+#: executor/execSRF.c:951
 #, c-format
 msgid "Returned row contains %d attribute, but query expects %d."
 msgid_plural "Returned row contains %d attributes, but query expects %d."
 msgstr[0] "Fila retornada contiene %d atributo, pero la consulta esperaba %d."
 msgstr[1] "Fila retornada contiene %d atributos, pero la consulta esperaba %d."
 
-#: executor/execSRF.c:968
+#: executor/execSRF.c:967
 #, c-format
 msgid "Returned type %s at ordinal position %d, but query expects %s."
 msgstr "Tipo retornado %s en posición ordinal %d, pero la consulta esperaba %s."
 
-#: executor/execTuples.c:146 executor/execTuples.c:353
-#: executor/execTuples.c:521 executor/execTuples.c:713
+#: executor/execTuples.c:147 executor/execTuples.c:368
+#: executor/execTuples.c:563 executor/execTuples.c:772
 #, c-format
 msgid "cannot retrieve a system column in this context"
 msgstr "no se puede obtener una columna de sistema en este contexto"
 
-#: executor/execUtils.c:744
+#: executor/execTuples.c:163 executor/execTuples.c:580
+#, c-format
+msgid "don't have transaction information for this type of tuple"
+msgstr ""
+
+#: executor/execTuples.c:390 executor/execTuples.c:794
+#, fuzzy, c-format
+#| msgid "cannot retrieve a system column in this context"
+msgid "don't have a storage tuple in this context"
+msgstr "no se puede obtener una columna de sistema en este contexto"
+
+#: executor/execUtils.c:713
 #, c-format
 msgid "materialized view \"%s\" has not been populated"
 msgstr "la vista materializada «%s» no ha sido poblada"
 
-#: executor/execUtils.c:746
+#: executor/execUtils.c:715
 #, c-format
 msgid "Use the REFRESH MATERIALIZED VIEW command."
 msgstr "Use la orden REFRESH MATERIALIZED VIEW."
@@ -13703,111 +14401,112 @@ msgstr "Use la orden REFRESH MATERIALIZED VIEW."
 msgid "could not determine actual type of argument declared %s"
 msgstr "no se pudo determinar el tipo de argumento declarado %s"
 
-#: executor/functions.c:512
+#: executor/functions.c:513
 #, c-format
 msgid "cannot COPY to/from client in an SQL function"
 msgstr "no se puede ejecutar COPY desde/a un cliente en una función SQL"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:518
+#: executor/functions.c:519
 #, c-format
 msgid "%s is not allowed in an SQL function"
 msgstr "%s no está permitido en una función SQL"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:526 executor/spi.c:1742 executor/spi.c:2635
+#: executor/functions.c:527 executor/spi.c:1741 executor/spi.c:2649
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s no está permitido en una función no-«volatile»"
 
-#: executor/functions.c:1450
+#: executor/functions.c:1452
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "función SQL «%s» en la sentencia %d"
 
-#: executor/functions.c:1476
+#: executor/functions.c:1478
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "función SQL «%s» durante el inicio"
 
-#: executor/functions.c:1561
+#: executor/functions.c:1563
 #, c-format
 msgid "calling procedures with output arguments is not supported in SQL functions"
 msgstr "no está permitido invocar procedimientos con argumentos de salida en funciones SQL"
 
-#: executor/functions.c:1694 executor/functions.c:1732
-#: executor/functions.c:1746 executor/functions.c:1836
-#: executor/functions.c:1869 executor/functions.c:1883
+#: executor/functions.c:1698 executor/functions.c:1736
+#: executor/functions.c:1750 executor/functions.c:1845
+#: executor/functions.c:1878 executor/functions.c:1892
 #, c-format
 msgid "return type mismatch in function declared to return %s"
 msgstr "el tipo de retorno de función declarada para retornar %s no concuerda"
 
-#: executor/functions.c:1696
-#, c-format
-msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING."
+#: executor/functions.c:1700
+#, fuzzy, c-format
+#| msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING."
+msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE/MERGE RETURNING."
 msgstr "La sentencia final de la función debe ser un SELECT o INSERT/UPDATE/DELETE RETURNING."
 
-#: executor/functions.c:1734
+#: executor/functions.c:1738
 #, c-format
 msgid "Final statement must return exactly one column."
 msgstr "La sentencia final debe retornar exactamente una columna."
 
-#: executor/functions.c:1748
+#: executor/functions.c:1752
 #, c-format
 msgid "Actual return type is %s."
 msgstr "El verdadero tipo de retorno es %s."
 
-#: executor/functions.c:1838
+#: executor/functions.c:1847
 #, c-format
 msgid "Final statement returns too many columns."
 msgstr "La sentencia final retorna demasiadas columnas."
 
-#: executor/functions.c:1871
+#: executor/functions.c:1880
 #, c-format
 msgid "Final statement returns %s instead of %s at column %d."
 msgstr "La sentencia final retorna %s en lugar de %s en la columna %d."
 
-#: executor/functions.c:1885
+#: executor/functions.c:1894
 #, c-format
 msgid "Final statement returns too few columns."
 msgstr "La sentencia final retorna muy pocas columnas."
 
-#: executor/functions.c:1913
+#: executor/functions.c:1922
 #, c-format
 msgid "return type %s is not supported for SQL functions"
 msgstr "el tipo de retorno %s no es soportado en funciones SQL"
 
-#: executor/nodeAgg.c:3937 executor/nodeWindowAgg.c:2993
+#: executor/nodeAgg.c:3936 executor/nodeWindowAgg.c:2976
 #, c-format
 msgid "aggregate %u needs to have compatible input type and transition type"
 msgstr "la función de agregación %u necesita tener tipos de entrada y transición compatibles"
 
-#: executor/nodeAgg.c:3967 parser/parse_agg.c:669 parser/parse_agg.c:697
+#: executor/nodeAgg.c:3966 parser/parse_agg.c:682 parser/parse_agg.c:710
 #, c-format
 msgid "aggregate function calls cannot be nested"
 msgstr "no se pueden anidar llamadas a funciones de agregación"
 
-#: executor/nodeCustom.c:154 executor/nodeCustom.c:165
+#: executor/nodeCustom.c:144 executor/nodeCustom.c:155
 #, c-format
 msgid "custom scan \"%s\" does not support MarkPos"
 msgstr "el scan personalizado «%s» no soporta MarkPos"
 
-#: executor/nodeHashjoin.c:1143 executor/nodeHashjoin.c:1173
+#: executor/nodeHashjoin.c:1131 executor/nodeHashjoin.c:1161
 #, c-format
 msgid "could not rewind hash-join temporary file"
 msgstr "no se puede rebobinar el archivo temporal del hash-join"
 
-#: executor/nodeIndexonlyscan.c:238
+#: executor/nodeIndexonlyscan.c:239
 #, c-format
 msgid "lossy distance functions are not supported in index-only scans"
 msgstr "no se permiten funciones de ventana deslizante en predicados de índice"
 
-#: executor/nodeLimit.c:374
+#: executor/nodeLimit.c:373
 #, c-format
 msgid "OFFSET must not be negative"
 msgstr "OFFSET no debe ser negativo"
 
-#: executor/nodeLimit.c:400
+#: executor/nodeLimit.c:399
 #, c-format
 msgid "LIMIT must not be negative"
 msgstr "LIMIT no debe ser negativo"
@@ -13822,76 +14521,77 @@ msgstr "RIGHT JOIN sólo está soportado con condiciones que se pueden usar con
 msgid "FULL JOIN is only supported with merge-joinable join conditions"
 msgstr "FULL JOIN sólo está soportado con condiciones que se pueden usar con merge join"
 
-#: executor/nodeModifyTable.c:234
+#: executor/nodeModifyTable.c:240
 #, c-format
 msgid "Query has too few columns."
 msgstr "La consulta tiene muy pocas columnas."
 
-#: executor/nodeModifyTable.c:1530 executor/nodeModifyTable.c:1604
+#: executor/nodeModifyTable.c:1540 executor/nodeModifyTable.c:1614
 #, c-format
 msgid "tuple to be deleted was already modified by an operation triggered by the current command"
 msgstr "el registro a ser eliminado ya fue modificado por una operación disparada por la orden actual"
 
-#: executor/nodeModifyTable.c:1758
+#: executor/nodeModifyTable.c:1769
 #, c-format
 msgid "invalid ON UPDATE specification"
 msgstr "especificación ON UPDATE no válida"
 
-#: executor/nodeModifyTable.c:1759
+#: executor/nodeModifyTable.c:1770
 #, c-format
 msgid "The result tuple would appear in a different partition than the original tuple."
 msgstr "La tupla de resultado aparecería en una partición diferente que la tupla original."
 
-#: executor/nodeModifyTable.c:2217
+#: executor/nodeModifyTable.c:2226
 #, c-format
 msgid "cannot move tuple across partitions when a non-root ancestor of the source partition is directly referenced in a foreign key"
 msgstr "no se puede mover una tupla entre particiones cuando un ancestro no-raíz de la partición de origen es referenciada directamente en una llave foránea"
 
-#: executor/nodeModifyTable.c:2218
+#: executor/nodeModifyTable.c:2227
 #, c-format
 msgid "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"."
 msgstr ""
 
-#: executor/nodeModifyTable.c:2221
+#: executor/nodeModifyTable.c:2230
 #, fuzzy, c-format
 #| msgid "cannot insert into foreign table \"%s\""
 msgid "Consider defining the foreign key on table \"%s\"."
 msgstr "no se puede insertar en la tabla foránea «%s»"
 
 #. translator: %s is a SQL command name
-#: executor/nodeModifyTable.c:2567 executor/nodeModifyTable.c:2954
+#: executor/nodeModifyTable.c:2577 executor/nodeModifyTable.c:3099
+#: executor/nodeModifyTable.c:3260
 #, c-format
 msgid "%s command cannot affect row a second time"
 msgstr ""
 
-#: executor/nodeModifyTable.c:2569
+#: executor/nodeModifyTable.c:2579
 #, c-format
 msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values."
 msgstr "Asegúrese de que ningún registro propuesto para inserción dentro de la misma orden tenga valores duplicados restringidos."
 
-#: executor/nodeModifyTable.c:2956
+#: executor/nodeModifyTable.c:3092 executor/nodeModifyTable.c:3253
+#, fuzzy, c-format
+#| msgid "tuple to be updated was already modified by an operation triggered by the current command"
+msgid "tuple to be updated or deleted 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"
+
+#: executor/nodeModifyTable.c:3101 executor/nodeModifyTable.c:3262
 #, c-format
 msgid "Ensure that not more than one source row matches any one target row."
 msgstr "Asegúrese que no más de un registro de origen coincide con cada registro de destino."
 
-#: executor/nodeModifyTable.c:3037
+#: executor/nodeModifyTable.c:3170
 #, fuzzy, c-format
 #| msgid "tuple to be locked was already moved to another partition due to concurrent update"
-msgid "tuple to be deleted was already moved to another partition due to concurrent update"
+msgid "tuple to be merged 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"
 
-#: executor/nodeModifyTable.c:3076
-#, fuzzy, c-format
-#| msgid "tuple to be updated was already modified by an operation triggered by the current command"
-msgid "tuple to be updated or deleted 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"
-
-#: executor/nodeSamplescan.c:260
+#: executor/nodeSamplescan.c:244
 #, c-format
 msgid "TABLESAMPLE parameter cannot be null"
 msgstr "el parámetro TABLESAMPLE no puede ser null"
 
-#: executor/nodeSamplescan.c:272
+#: executor/nodeSamplescan.c:256
 #, c-format
 msgid "TABLESAMPLE REPEATABLE parameter cannot be null"
 msgstr "el parámetro TABLESAMPLE REPEATABLE no puede ser null"
@@ -13902,7 +14602,7 @@ msgstr "el parámetro TABLESAMPLE REPEATABLE no puede ser null"
 msgid "more than one row returned by a subquery used as an expression"
 msgstr "una subconsulta utilizada como expresión retornó más de un registro"
 
-#: executor/nodeTableFuncscan.c:375
+#: executor/nodeTableFuncscan.c:370
 #, c-format
 msgid "namespace URI must not be null"
 msgstr "la URI del espacio de nombres no debe ser null"
@@ -13912,17 +14612,17 @@ msgstr "la URI del espacio de nombres no debe ser null"
 msgid "row filter expression must not be null"
 msgstr "la expresión filtro de filas no debe ser null"
 
-#: executor/nodeTableFuncscan.c:415
+#: executor/nodeTableFuncscan.c:416
 #, c-format
 msgid "column filter expression must not be null"
 msgstr "la expresión filtro de columnas no debe ser null"
 
-#: executor/nodeTableFuncscan.c:416
+#: executor/nodeTableFuncscan.c:417
 #, c-format
 msgid "Filter for column \"%s\" is null."
 msgstr "El filtro para la columna «%s» es null."
 
-#: executor/nodeTableFuncscan.c:506
+#: executor/nodeTableFuncscan.c:507
 #, c-format
 msgid "null is not allowed in column \"%s\""
 msgstr "null no está permitido en la columna «%s»"
@@ -13952,84 +14652,84 @@ msgstr "la posición final del marco no debe ser null"
 msgid "frame ending offset must not be negative"
 msgstr "la posición final del marco no debe ser negativa"
 
-#: executor/nodeWindowAgg.c:2909
+#: executor/nodeWindowAgg.c:2892
 #, c-format
 msgid "aggregate function %s does not support use as a window function"
 msgstr "la función de agregación %s no permite ser usada como función ventana"
 
-#: executor/spi.c:242 executor/spi.c:342
+#: executor/spi.c:241 executor/spi.c:341
 #, c-format
 msgid "invalid transaction termination"
 msgstr "terminación de transacción no válida"
 
-#: executor/spi.c:257
+#: executor/spi.c:256
 #, c-format
 msgid "cannot commit while a subtransaction is active"
 msgstr "no se puede comprometer mientras hay una subtransacción activa"
 
-#: executor/spi.c:348
+#: executor/spi.c:347
 #, c-format
 msgid "cannot roll back while a subtransaction is active"
 msgstr "no se puede hacer rollback mientras hay una subtransacción activa"
 
-#: executor/spi.c:472
+#: executor/spi.c:471
 #, c-format
 msgid "transaction left non-empty SPI stack"
 msgstr "transacción dejó un stack SPI no vacío"
 
-#: executor/spi.c:473 executor/spi.c:533
+#: executor/spi.c:472 executor/spi.c:532
 #, c-format
 msgid "Check for missing \"SPI_finish\" calls."
 msgstr "Revise llamadas a «SPI_finish» faltantes."
 
-#: executor/spi.c:532
+#: executor/spi.c:531
 #, c-format
 msgid "subtransaction left non-empty SPI stack"
 msgstr "subtransacción dejó un stack SPI no vacío"
 
-#: executor/spi.c:1600
+#: executor/spi.c:1599
 #, c-format
 msgid "cannot open multi-query plan as cursor"
 msgstr "no se puede abrir plan de varias consultas como cursor"
 
 #. translator: %s is name of a SQL command, eg INSERT
-#: executor/spi.c:1610
+#: executor/spi.c:1609
 #, c-format
 msgid "cannot open %s query as cursor"
 msgstr "no se puede abrir consulta %s como cursor"
 
-#: executor/spi.c:1716
+#: executor/spi.c:1715
 #, c-format
 msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
 msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE no está soportado"
 
-#: executor/spi.c:1717 parser/analyze.c:2874
+#: executor/spi.c:1716 parser/analyze.c:2928
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Los cursores declarados SCROLL deben ser READ ONLY."
 
-#: executor/spi.c:2474
+#: executor/spi.c:2488
 #, c-format
 msgid "empty query does not return tuples"
 msgstr "la consulta vacía no retorna tuplas"
 
 #. translator: %s is name of a SQL command, eg INSERT
-#: executor/spi.c:2548
+#: executor/spi.c:2562
 #, c-format
 msgid "%s query does not return tuples"
 msgstr "la consulta «%s» no retorna tuplas"
 
-#: executor/spi.c:2963
+#: executor/spi.c:2979
 #, c-format
 msgid "SQL expression \"%s\""
 msgstr "expresión SQL «%s»"
 
-#: executor/spi.c:2968
+#: executor/spi.c:2984
 #, c-format
 msgid "PL/pgSQL assignment \"%s\""
 msgstr "asignación PL/pgSQL «%s»"
 
-#: executor/spi.c:2971
+#: executor/spi.c:2987
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "sentencia SQL: «%s»"
@@ -14039,35 +14739,31 @@ msgstr "sentencia SQL: «%s»"
 msgid "could not send tuple to shared-memory queue"
 msgstr "no se pudo enviar la tupla a la cola en memoria compartida"
 
-#: foreign/foreign.c:222
-#, c-format
-msgid "user mapping not found for \"%s\""
+#: foreign/foreign.c:224
+#, fuzzy, c-format
+#| msgid "user mapping not found for \"%s\""
+msgid "user mapping not found for user \"%s\", server \"%s\""
 msgstr "no se encontró un mapeo para el usuario «%s»"
 
-#: foreign/foreign.c:647 storage/file/fd.c:3881
+#: foreign/foreign.c:650
 #, c-format
 msgid "invalid option \"%s\""
 msgstr "el nombre de opción «%s» no es válido"
 
-#: foreign/foreign.c:649
+#: foreign/foreign.c:652
 #, fuzzy, c-format
 #| msgid "Perhaps you meant to reference the column \"%s.%s\"."
 msgid "Perhaps you meant the option \"%s\"."
 msgstr "Probablemente quiera hacer referencia a la columna «%s.%s»."
 
-#: foreign/foreign.c:651
+#: foreign/foreign.c:654
 #, fuzzy, c-format
 #| msgid "There are no old transactions anymore."
 msgid "There are no valid options in this context."
 msgstr "Ya no hay transacciones antiguas en ejecución."
 
-#: jit/jit.c:205 utils/fmgr/dfmgr.c:209 utils/fmgr/dfmgr.c:415
-#, c-format
-msgid "could not access file \"%s\": %m"
-msgstr "no se pudo acceder al archivo «%s»: %m"
-
-#: lib/dshash.c:254 utils/mmgr/dsa.c:714 utils/mmgr/dsa.c:736
-#: utils/mmgr/dsa.c:817
+#: lib/dshash.c:254 utils/mmgr/dsa.c:708 utils/mmgr/dsa.c:730
+#: utils/mmgr/dsa.c:811
 #, c-format
 msgid "Failed on DSA request of size %zu."
 msgstr "Falla en petición DSA de tamaño %zu."
@@ -14077,708 +14773,704 @@ msgstr "Falla en petición DSA de tamaño %zu."
 msgid "expected SASL response, got message type %d"
 msgstr "se esperaba una respuesta SASL, se obtuvo mensaje de tipo %d"
 
-#: libpq/auth-scram.c:270
+#: libpq/auth-scram.c:263
 #, c-format
 msgid "client selected an invalid SASL authentication mechanism"
 msgstr "cliente eligió un mecanismo de autentificación SASL no válido"
 
-#: libpq/auth-scram.c:294 libpq/auth-scram.c:543 libpq/auth-scram.c:554
+#: libpq/auth-scram.c:287 libpq/auth-scram.c:536 libpq/auth-scram.c:547
 #, c-format
 msgid "invalid SCRAM secret for user \"%s\""
 msgstr "el secreto SCRAM para el usuario «%s» no es válido"
 
-#: libpq/auth-scram.c:305
+#: libpq/auth-scram.c:298
 #, c-format
 msgid "User \"%s\" does not have a valid SCRAM secret."
 msgstr "El usuario «%s» no tiene un secreto SCRAM válido."
 
-#: libpq/auth-scram.c:385 libpq/auth-scram.c:390 libpq/auth-scram.c:744
-#: libpq/auth-scram.c:752 libpq/auth-scram.c:857 libpq/auth-scram.c:870
-#: libpq/auth-scram.c:880 libpq/auth-scram.c:988 libpq/auth-scram.c:995
-#: libpq/auth-scram.c:1010 libpq/auth-scram.c:1025 libpq/auth-scram.c:1039
-#: libpq/auth-scram.c:1057 libpq/auth-scram.c:1072 libpq/auth-scram.c:1386
-#: libpq/auth-scram.c:1394
+#: libpq/auth-scram.c:378 libpq/auth-scram.c:383 libpq/auth-scram.c:737
+#: libpq/auth-scram.c:745 libpq/auth-scram.c:850 libpq/auth-scram.c:863
+#: libpq/auth-scram.c:873 libpq/auth-scram.c:981 libpq/auth-scram.c:988
+#: libpq/auth-scram.c:1003 libpq/auth-scram.c:1018 libpq/auth-scram.c:1032
+#: libpq/auth-scram.c:1050 libpq/auth-scram.c:1065 libpq/auth-scram.c:1379
+#: libpq/auth-scram.c:1387
 #, c-format
 msgid "malformed SCRAM message"
 msgstr "mensaje SCRAM mal formado"
 
-#: libpq/auth-scram.c:386
+#: libpq/auth-scram.c:379
 #, c-format
 msgid "The message is empty."
 msgstr "El mensaje está vacío."
 
-#: libpq/auth-scram.c:391
+#: libpq/auth-scram.c:384
 #, c-format
 msgid "Message length does not match input length."
 msgstr "El largo del mensaje no coincide con el largo de entrada."
 
-#: libpq/auth-scram.c:423
+#: libpq/auth-scram.c:416
 #, c-format
 msgid "invalid SCRAM response"
 msgstr "respuesta SCRAM no válida"
 
-#: libpq/auth-scram.c:424
+#: libpq/auth-scram.c:417
 #, c-format
 msgid "Nonce does not match."
 msgstr "El «nonce» no coincide."
 
-#: libpq/auth-scram.c:500
+#: libpq/auth-scram.c:493
 #, c-format
 msgid "could not generate random salt"
 msgstr "no se pudo generar una sal aleatoria"
 
-#: libpq/auth-scram.c:745
+#: libpq/auth-scram.c:738
 #, c-format
 msgid "Expected attribute \"%c\" but found \"%s\"."
 msgstr "Se esperaba un atributo «%c» pero se encontró «%s»."
 
-#: libpq/auth-scram.c:753 libpq/auth-scram.c:881
+#: libpq/auth-scram.c:746 libpq/auth-scram.c:874
 #, c-format
 msgid "Expected character \"=\" for attribute \"%c\"."
 msgstr "Se esperaba el carácter «=» para el atributo «%c»."
 
-#: libpq/auth-scram.c:858
+#: libpq/auth-scram.c:851
 #, c-format
 msgid "Attribute expected, but found end of string."
 msgstr "Se esperaba un atributo, se encontró el fin de la cadena."
 
-#: libpq/auth-scram.c:871
+#: libpq/auth-scram.c:864
 #, c-format
 msgid "Attribute expected, but found invalid character \"%s\"."
 msgstr "Se esperaba un atributo, se encontró el carácter no válido «%s»."
 
-#: libpq/auth-scram.c:989 libpq/auth-scram.c:1011
+#: libpq/auth-scram.c:982 libpq/auth-scram.c:1004
 #, c-format
 msgid "The client selected SCRAM-SHA-256-PLUS, but the SCRAM message does not include channel binding data."
 msgstr "El cliente seleccionó SCRAM-SHA-256-PLUS, pero el mensaje SCRAM no incluye los datos de enlazado (binding) del canal."
 
-#: libpq/auth-scram.c:996 libpq/auth-scram.c:1026
+#: libpq/auth-scram.c:989 libpq/auth-scram.c:1019
 #, c-format
 msgid "Comma expected, but found character \"%s\"."
 msgstr "Se esperaba una coma, se encontró el carácter «%s»."
 
-#: libpq/auth-scram.c:1017
+#: libpq/auth-scram.c:1010
 #, c-format
 msgid "SCRAM channel binding negotiation error"
 msgstr "error de negociación de enlazado (binding) de canal SCRAM"
 
-#: libpq/auth-scram.c:1018
+#: libpq/auth-scram.c:1011
 #, c-format
 msgid "The client supports SCRAM channel binding but thinks the server does not.  However, this server does support channel binding."
 msgstr "El cliente soporta enlazado (binding) de canal SCRAM, pero piensa que el servidor no. Sin embargo, este servidor sí soporta enlazado de canal."
 
-#: libpq/auth-scram.c:1040
+#: libpq/auth-scram.c:1033
 #, c-format
 msgid "The client selected SCRAM-SHA-256 without channel binding, but the SCRAM message includes channel binding data."
 msgstr "El cliente seleccionó SCRAM-SHA-256 sin enlazado de canal, pero el mensaje SCRAM incluye datos de enlazado de canal."
 
-#: libpq/auth-scram.c:1051
+#: libpq/auth-scram.c:1044
 #, c-format
 msgid "unsupported SCRAM channel-binding type \"%s\""
 msgstr "tipo de enlazado de canal SCRAM «%s» no soportado"
 
-#: libpq/auth-scram.c:1058
+#: libpq/auth-scram.c:1051
 #, c-format
 msgid "Unexpected channel-binding flag \"%s\"."
 msgstr "Indicador de enlazado de canal «%s» inesperado."
 
-#: libpq/auth-scram.c:1068
+#: libpq/auth-scram.c:1061
 #, c-format
 msgid "client uses authorization identity, but it is not supported"
 msgstr "el cliente usa identidad de autorización, pero no está soportada"
 
-#: libpq/auth-scram.c:1073
+#: libpq/auth-scram.c:1066
 #, c-format
 msgid "Unexpected attribute \"%s\" in client-first-message."
 msgstr "Atributo inesperado \"%s\" en client-first-message."
 
-#: libpq/auth-scram.c:1089
+#: libpq/auth-scram.c:1082
 #, c-format
 msgid "client requires an unsupported SCRAM extension"
 msgstr "el cliente requiere una extensión SCRAM no soportada"
 
-#: libpq/auth-scram.c:1103
+#: libpq/auth-scram.c:1096
 #, c-format
 msgid "non-printable characters in SCRAM nonce"
 msgstr "caracteres no imprimibles en el «nonce» SCRAM"
 
-#: libpq/auth-scram.c:1234
+#: libpq/auth-scram.c:1227
 #, c-format
 msgid "could not generate random nonce"
 msgstr "no se pudo generar un «nonce» aleatorio"
 
-#: libpq/auth-scram.c:1244
+#: libpq/auth-scram.c:1237
 #, c-format
 msgid "could not encode random nonce"
 msgstr "no se pudo codificar un «nonce» aleatorio"
 
-#: libpq/auth-scram.c:1350
+#: libpq/auth-scram.c:1343
 #, c-format
 msgid "SCRAM channel binding check failed"
 msgstr "la verificación de enlazado (binding) de canal SCRAM falló"
 
-#: libpq/auth-scram.c:1368
+#: libpq/auth-scram.c:1361
 #, c-format
 msgid "unexpected SCRAM channel-binding attribute in client-final-message"
 msgstr "atributo de enlazado de canal SCRAM inesperado en client-final-message"
 
-#: libpq/auth-scram.c:1387
+#: libpq/auth-scram.c:1380
 #, c-format
 msgid "Malformed proof in client-final-message."
 msgstr "Prueba (proof) mal formada en client-final-message."
 
-#: libpq/auth-scram.c:1395
+#: libpq/auth-scram.c:1388
 #, c-format
 msgid "Garbage found at the end of client-final-message."
 msgstr "Basura encontrada al final de client-final-message."
 
-#: libpq/auth.c:271
+#: libpq/auth.c:269
 #, c-format
 msgid "authentication failed for user \"%s\": host rejected"
 msgstr "la autentificación falló para el usuario «%s»: anfitrión rechazado"
 
-#: libpq/auth.c:274
+#: libpq/auth.c:272
 #, c-format
 msgid "\"trust\" authentication failed for user \"%s\""
 msgstr "la autentificación «trust» falló para el usuario «%s»"
 
-#: libpq/auth.c:277
+#: libpq/auth.c:275
 #, c-format
 msgid "Ident authentication failed for user \"%s\""
 msgstr "la autentificación Ident falló para el usuario «%s»"
 
-#: libpq/auth.c:280
+#: libpq/auth.c:278
 #, c-format
 msgid "Peer authentication failed for user \"%s\""
 msgstr "la autentificación Peer falló para el usuario «%s»"
 
-#: libpq/auth.c:285
+#: libpq/auth.c:283
 #, c-format
 msgid "password authentication failed for user \"%s\""
 msgstr "la autentificación password falló para el usuario «%s»"
 
-#: libpq/auth.c:290
+#: libpq/auth.c:288
 #, c-format
 msgid "GSSAPI authentication failed for user \"%s\""
 msgstr "la autentificación GSSAPI falló para el usuario «%s»"
 
-#: libpq/auth.c:293
+#: libpq/auth.c:291
 #, c-format
 msgid "SSPI authentication failed for user \"%s\""
 msgstr "la autentificación SSPI falló para el usuario «%s»"
 
-#: libpq/auth.c:296
+#: libpq/auth.c:294
 #, c-format
 msgid "PAM authentication failed for user \"%s\""
 msgstr "la autentificación PAM falló para el usuario «%s»"
 
-#: libpq/auth.c:299
+#: libpq/auth.c:297
 #, c-format
 msgid "BSD authentication failed for user \"%s\""
 msgstr "la autentificación BSD falló para el usuario «%s»"
 
-#: libpq/auth.c:302
+#: libpq/auth.c:300
 #, c-format
 msgid "LDAP authentication failed for user \"%s\""
 msgstr "la autentificación LDAP falló para el usuario «%s»"
 
-#: libpq/auth.c:305
+#: libpq/auth.c:303
 #, c-format
 msgid "certificate authentication failed for user \"%s\""
 msgstr "la autentificación por certificado falló para el usuario «%s»"
 
-#: libpq/auth.c:308
+#: libpq/auth.c:306
 #, c-format
 msgid "RADIUS authentication failed for user \"%s\""
 msgstr "la autentificación RADIUS falló para el usuario «%s»"
 
-#: libpq/auth.c:311
+#: libpq/auth.c:309
 #, c-format
 msgid "authentication failed for user \"%s\": invalid authentication method"
 msgstr "la autentificación falló para el usuario «%s»: método de autentificación no válido"
 
-#: libpq/auth.c:315
+#: libpq/auth.c:313
 #, fuzzy, c-format
 #| msgid "reconnection failed: %s"
-msgid "Connection matched %s line %d: \"%s\""
+msgid "Connection matched file \"%s\" line %d: \"%s\""
 msgstr "falló la reconexión: %s"
 
-#: libpq/auth.c:359
+#: libpq/auth.c:357
 #, c-format
 msgid "authentication identifier set more than once"
 msgstr "identificador de autentificación establecido más de una vez"
 
-#: libpq/auth.c:360
+#: libpq/auth.c:358
 #, c-format
 msgid "previous identifier: \"%s\"; new identifier: \"%s\""
 msgstr "identificador anterior: «%s»; nuevo identificador: «%s»"
 
-#: libpq/auth.c:370
+#: libpq/auth.c:368
 #, c-format
 msgid "connection authenticated: identity=\"%s\" method=%s (%s:%d)"
 msgstr "conexión autenticada: identidad=«%s» método=%s (%s:%d)"
 
-#: libpq/auth.c:410
+#: libpq/auth.c:408
 #, c-format
 msgid "client certificates can only be checked if a root certificate store is available"
 msgstr "los certificados de cliente sólo pueden verificarse si un almacén de certificado raíz está disponible"
 
-#: libpq/auth.c:421
+#: libpq/auth.c:419
 #, c-format
 msgid "connection requires a valid client certificate"
 msgstr "la conexión requiere un certificado de cliente válido"
 
-#: libpq/auth.c:452 libpq/auth.c:498
+#: libpq/auth.c:450 libpq/auth.c:496
 msgid "GSS encryption"
 msgstr "cifrado GSS"
 
-#: libpq/auth.c:455 libpq/auth.c:501
+#: libpq/auth.c:453 libpq/auth.c:499
 msgid "SSL encryption"
 msgstr "cifrado SSL"
 
-#: libpq/auth.c:457 libpq/auth.c:503
+#: libpq/auth.c:455 libpq/auth.c:501
 msgid "no encryption"
 msgstr "sin cifrado"
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:463
+#: libpq/auth.c:461
 #, c-format
 msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
 msgstr "pg_hba.conf rechaza la conexión de replicación para el servidor «%s», usuario «%s», %s"
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:470
+#: libpq/auth.c:468
 #, c-format
 msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\", %s"
 msgstr "pg_hba.conf rechaza la conexión para el servidor «%s», usuario «%s», base de datos «%s», %s"
 
-#: libpq/auth.c:508
+#: libpq/auth.c:506
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup matches."
 msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado es coincidente."
 
-#: libpq/auth.c:511
+#: libpq/auth.c:509
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup not checked."
 msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado no fue verificado."
 
-#: libpq/auth.c:514
+#: libpq/auth.c:512
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup does not match."
 msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado no es coincidente."
 
-#: libpq/auth.c:517
+#: libpq/auth.c:515
 #, c-format
 msgid "Could not translate client host name \"%s\" to IP address: %s."
 msgstr "No se pudo traducir el nombre de host del cliente «%s» a una dirección IP: %s."
 
-#: libpq/auth.c:522
+#: libpq/auth.c:520
 #, c-format
 msgid "Could not resolve client IP address to a host name: %s."
 msgstr "No se pudo obtener la dirección IP del cliente a un nombre de host: %s."
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:530
+#: libpq/auth.c:528
 #, c-format
 msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\", %s"
 msgstr "no hay una línea en pg_hba.conf para la conexión de replicación desde el servidor «%s», usuario «%s», %s"
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:538
+#: libpq/auth.c:536
 #, c-format
 msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s"
 msgstr "no hay una línea en pg_hba.conf para «%s», usuario «%s», base de datos «%s», %s"
 
-#: libpq/auth.c:711
+#: libpq/auth.c:656
+#, fuzzy, c-format
+#| msgid "connection authenticated: identity=\"%s\" method=%s (%s:%d)"
+msgid "connection authenticated: user=\"%s\" method=%s (%s:%d)"
+msgstr "conexión autenticada: identidad=«%s» método=%s (%s:%d)"
+
+#: libpq/auth.c:725
 #, c-format
 msgid "expected password response, got message type %d"
 msgstr "se esperaba una respuesta de contraseña, se obtuvo mensaje de tipo %d"
 
-#: libpq/auth.c:732
+#: libpq/auth.c:746
 #, c-format
 msgid "invalid password packet size"
 msgstr "el tamaño del paquete de contraseña no es válido"
 
-#: libpq/auth.c:750
+#: libpq/auth.c:764
 #, c-format
 msgid "empty password returned by client"
 msgstr "el cliente retornó una contraseña vacía"
 
-#: libpq/auth.c:879 libpq/hba.c:1749
-#, c-format
-msgid "MD5 authentication is not supported when \"db_user_namespace\" is enabled"
-msgstr "la autentificación MD5 no está soportada cuando «db_user_namespace» está activo"
-
-#: libpq/auth.c:885
+#: libpq/auth.c:892
 #, c-format
 msgid "could not generate random MD5 salt"
 msgstr "no se pudo generar una sal MD5 aleatoria"
 
-#: libpq/auth.c:936 libpq/be-secure-gssapi.c:540
+#: libpq/auth.c:943 libpq/be-secure-gssapi.c:540
 #, c-format
 msgid "could not set environment: %m"
 msgstr "no se pudo establecer el ambiente: %m"
 
-#: libpq/auth.c:975
+#: libpq/auth.c:982