Translation updates
authorPeter Eisentraut
Mon, 16 May 2022 09:12:42 +0000 (11:12 +0200)
committerPeter Eisentraut
Mon, 16 May 2022 09:12:42 +0000 (11:12 +0200)
Source-Git-URL: https://git.postgresql.org/git/pgtranslation/messages.git
Source-Git-Hash: dde45df385dab9032155c1f867b677d55695310c

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

index 6b136250cf55cf9fed853ae2d7fb1e3106a549c8..47d316ac839ae3b5c39720a7ca332c8b3b984191 100644 (file)
@@ -1,14 +1,14 @@
 # German message translation file for PostgreSQL server
-# Peter Eisentraut , 2001 - 2021.
+# Peter Eisentraut , 2001 - 2022.
 #
 # Use these quotes: »%s«
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 14\n"
+"Project-Id-Version: PostgreSQL 15\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2021-06-05 07:40+0000\n"
-"PO-Revision-Date: 2021-06-05 22:31+0200\n"
+"POT-Creation-Date: 2022-05-14 15:40+0000\n"
+"PO-Revision-Date: 2022-05-15 17:48+0200\n"
 "Last-Translator: Peter Eisentraut \n"
 "Language-Team: German \n"
 "Language: de\n"
@@ -17,6 +17,45 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#: ../common/compression.c:157
+msgid "found empty string where a compression option was expected"
+msgstr ""
+
+#: ../common/compression.c:187
+#, fuzzy, c-format
+#| msgid "invalid compression method \"%s\""
+msgid "unknown compression option \"%s\""
+msgstr "ungültige Komprimierungsmethode »%s«"
+
+#: ../common/compression.c:226
+#, fuzzy, c-format
+#| msgid "-c %s requires a value"
+msgid "compression option \"%s\" requires a value"
+msgstr "-c %s benötigt einen Wert"
+
+#: ../common/compression.c:235
+#, fuzzy, c-format
+#| msgid "btree comparison functions must return integer"
+msgid "value for compression option \"%s\" must be an integer"
+msgstr "btree-Vergleichsfunktionen müssen Typ integer zurückgeben"
+
+#: ../common/compression.c:273
+#, fuzzy, c-format
+#| msgid "relation \"%s\" does not have a composite type"
+msgid "compression algorithm \"%s\" does not accept a compression level"
+msgstr "Relation »%s« hat keinen zusammengesetzten Typ"
+
+#: ../common/compression.c:277
+#, c-format
+msgid "compression algorithm \"%s\" expects a compression level between %d and %d"
+msgstr ""
+
+#: ../common/compression.c:289
+#, fuzzy, c-format
+#| msgid "operator class \"%s\" does not accept data type %s"
+msgid "compression algorithm \"%s\" does not accept a worker count"
+msgstr "Operatorklasse »%s« akzeptiert Datentyp %s nicht"
+
 #: ../common/config_info.c:134 ../common/config_info.c:142
 #: ../common/config_info.c:150 ../common/config_info.c:158
 #: ../common/config_info.c:166 ../common/config_info.c:174
@@ -24,68 +63,66 @@ msgstr ""
 msgid "not recorded"
 msgstr "nicht aufgezeichnet"
 
-#: ../common/controldata_utils.c:68 ../common/controldata_utils.c:73
-#: commands/copyfrom.c:1516 commands/extension.c:3455 utils/adt/genfile.c:128
+#: ../common/controldata_utils.c:69 ../common/controldata_utils.c:73
+#: commands/copyfrom.c:1515 commands/extension.c:3379 utils/adt/genfile.c:123
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "konnte Datei »%s« nicht zum Lesen öffnen: %m"
 
-#: ../common/controldata_utils.c:86 ../common/controldata_utils.c:89
+#: ../common/controldata_utils.c:84 ../common/controldata_utils.c:86
 #: access/transam/timeline.c:143 access/transam/timeline.c:362
-#: access/transam/twophase.c:1271 access/transam/xlog.c:3547
-#: access/transam/xlog.c:4772 access/transam/xlog.c:11338
-#: access/transam/xlog.c:11351 access/transam/xlog.c:11804
-#: access/transam/xlog.c:11884 access/transam/xlog.c:11921
-#: access/transam/xlog.c:11981 access/transam/xlogfuncs.c:703
-#: access/transam/xlogfuncs.c:722 commands/extension.c:3465 libpq/hba.c:534
-#: replication/basebackup.c:2020 replication/logical/origin.c:729
-#: replication/logical/origin.c:765 replication/logical/reorderbuffer.c:4880
-#: replication/logical/snapbuild.c:1733 replication/logical/snapbuild.c:1775
-#: replication/logical/snapbuild.c:1802 replication/slot.c:1658
-#: replication/slot.c:1699 replication/walsender.c:544
-#: storage/file/buffile.c:445 storage/file/copydir.c:195
-#: utils/adt/genfile.c:202 utils/adt/misc.c:859 utils/cache/relmapper.c:741
+#: access/transam/twophase.c:1348 access/transam/xlog.c:3207
+#: access/transam/xlog.c:4022 access/transam/xlogrecovery.c:1177
+#: access/transam/xlogrecovery.c:1269 access/transam/xlogrecovery.c:1306
+#: access/transam/xlogrecovery.c:1366 commands/extension.c:3389 libpq/hba.c:505
+#: replication/basebackup.c:1836 replication/logical/origin.c:729
+#: replication/logical/origin.c:765 replication/logical/reorderbuffer.c:4924
+#: replication/logical/snapbuild.c:1756 replication/logical/snapbuild.c:1798
+#: replication/logical/snapbuild.c:1825 replication/slot.c:1815
+#: replication/slot.c:1856 replication/walsender.c:659
+#: storage/file/buffile.c:463 storage/file/copydir.c:195
+#: utils/adt/genfile.c:197 utils/adt/misc.c:863 utils/cache/relmapper.c:813
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht lesen: %m"
 
-#: ../common/controldata_utils.c:97 ../common/controldata_utils.c:101
-#: access/transam/xlog.c:3552 access/transam/xlog.c:4777
-#: replication/basebackup.c:2024 replication/logical/origin.c:734
-#: replication/logical/origin.c:773 replication/logical/snapbuild.c:1738
-#: replication/logical/snapbuild.c:1780 replication/logical/snapbuild.c:1807
-#: replication/slot.c:1662 replication/slot.c:1703 replication/walsender.c:549
-#: utils/cache/relmapper.c:745
+#: ../common/controldata_utils.c:92 ../common/controldata_utils.c:95
+#: access/transam/xlog.c:3212 access/transam/xlog.c:4027
+#: replication/basebackup.c:1840 replication/logical/origin.c:734
+#: replication/logical/origin.c:773 replication/logical/snapbuild.c:1761
+#: replication/logical/snapbuild.c:1803 replication/logical/snapbuild.c:1830
+#: replication/slot.c:1819 replication/slot.c:1860 replication/walsender.c:664
+#: utils/cache/relmapper.c:817
 #, c-format
 msgid "could not read file \"%s\": read %d of %zu"
 msgstr "konnte Datei »%s« nicht lesen: %d von %zu gelesen"
 
-#: ../common/controldata_utils.c:112 ../common/controldata_utils.c:117
-#: ../common/controldata_utils.c:256 ../common/controldata_utils.c:259
-#: access/heap/rewriteheap.c:1185 access/heap/rewriteheap.c:1288
+#: ../common/controldata_utils.c:104 ../common/controldata_utils.c:108
+#: ../common/controldata_utils.c:241 ../common/controldata_utils.c:244
+#: access/heap/rewriteheap.c:1178 access/heap/rewriteheap.c:1281
 #: access/transam/timeline.c:392 access/transam/timeline.c:438
-#: access/transam/timeline.c:516 access/transam/twophase.c:1283
-#: access/transam/twophase.c:1680 access/transam/xlog.c:3419
-#: access/transam/xlog.c:3587 access/transam/xlog.c:3592
-#: access/transam/xlog.c:3920 access/transam/xlog.c:4742
-#: access/transam/xlog.c:5667 access/transam/xlogfuncs.c:728
-#: commands/copyfrom.c:1576 commands/copyto.c:328 libpq/be-fsstubs.c:462
-#: libpq/be-fsstubs.c:533 replication/logical/origin.c:667
-#: replication/logical/origin.c:806 replication/logical/reorderbuffer.c:4938
-#: replication/logical/snapbuild.c:1642 replication/logical/snapbuild.c:1815
-#: replication/slot.c:1549 replication/slot.c:1710 replication/walsender.c:559
-#: storage/file/copydir.c:218 storage/file/copydir.c:223 storage/file/fd.c:738
-#: storage/file/fd.c:3534 storage/file/fd.c:3637 utils/cache/relmapper.c:753
-#: utils/cache/relmapper.c:892
+#: access/transam/timeline.c:516 access/transam/twophase.c:1360
+#: access/transam/twophase.c:1772 access/transam/xlog.c:3054
+#: access/transam/xlog.c:3247 access/transam/xlog.c:3252
+#: access/transam/xlog.c:3390 access/transam/xlog.c:3992
+#: access/transam/xlog.c:4729 commands/copyfrom.c:1575 commands/copyto.c:327
+#: libpq/be-fsstubs.c:455 libpq/be-fsstubs.c:525
+#: replication/logical/origin.c:667 replication/logical/origin.c:806
+#: replication/logical/reorderbuffer.c:4982
+#: replication/logical/snapbuild.c:1665 replication/logical/snapbuild.c:1838
+#: replication/slot.c:1706 replication/slot.c:1867 replication/walsender.c:674
+#: storage/file/copydir.c:218 storage/file/copydir.c:223 storage/file/fd.c:745
+#: storage/file/fd.c:3643 storage/file/fd.c:3749 utils/cache/relmapper.c:828
+#: utils/cache/relmapper.c:956
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht schließen: %m"
 
-#: ../common/controldata_utils.c:135
+#: ../common/controldata_utils.c:124
 msgid "byte ordering mismatch"
 msgstr "falsche Byte-Reihenfolge"
 
-#: ../common/controldata_utils.c:137
+#: ../common/controldata_utils.c:126
 #, c-format
 msgid ""
 "possible byte ordering mismatch\n"
@@ -99,132 +136,155 @@ msgstr ""
 "diesem Fall wären die Ergebnisse unten falsch und die PostgreSQL-Installation\n"
 "wäre inkompatibel mit diesem Datenverzeichnis."
 
-#: ../common/controldata_utils.c:197 ../common/controldata_utils.c:203
+#: ../common/controldata_utils.c:189 ../common/controldata_utils.c:194
 #: ../common/file_utils.c:232 ../common/file_utils.c:291
-#: ../common/file_utils.c:365 access/heap/rewriteheap.c:1271
+#: ../common/file_utils.c:365 access/heap/rewriteheap.c:1264
 #: access/transam/timeline.c:111 access/transam/timeline.c:251
-#: access/transam/timeline.c:348 access/transam/twophase.c:1227
-#: access/transam/xlog.c:3305 access/transam/xlog.c:3461
-#: access/transam/xlog.c:3502 access/transam/xlog.c:3700
-#: access/transam/xlog.c:3785 access/transam/xlog.c:3888
-#: access/transam/xlog.c:4762 access/transam/xlogutils.c:803
-#: postmaster/syslogger.c:1488 replication/basebackup.c:616
-#: replication/basebackup.c:1610 replication/logical/origin.c:719
-#: replication/logical/reorderbuffer.c:3548
-#: replication/logical/reorderbuffer.c:4095
-#: replication/logical/reorderbuffer.c:4860
-#: replication/logical/snapbuild.c:1597 replication/logical/snapbuild.c:1704
-#: replication/slot.c:1630 replication/walsender.c:517
-#: replication/walsender.c:2526 storage/file/copydir.c:161
-#: storage/file/fd.c:713 storage/file/fd.c:3521 storage/file/fd.c:3608
-#: storage/smgr/md.c:502 utils/cache/relmapper.c:724
-#: utils/cache/relmapper.c:836 utils/error/elog.c:1938
-#: utils/init/miscinit.c:1346 utils/init/miscinit.c:1480
-#: utils/init/miscinit.c:1557 utils/misc/guc.c:8604 utils/misc/guc.c:8636
+#: access/transam/timeline.c:348 access/transam/twophase.c:1304
+#: access/transam/xlog.c:2941 access/transam/xlog.c:3123
+#: access/transam/xlog.c:3162 access/transam/xlog.c:3357
+#: access/transam/xlog.c:4012 access/transam/xlogrecovery.c:4114
+#: access/transam/xlogrecovery.c:4217 access/transam/xlogutils.c:850
+#: postmaster/syslogger.c:1560 replication/basebackup.c:522
+#: replication/basebackup.c:1513 replication/logical/origin.c:719
+#: replication/logical/reorderbuffer.c:3579
+#: replication/logical/reorderbuffer.c:4128
+#: replication/logical/reorderbuffer.c:4904
+#: replication/logical/snapbuild.c:1620 replication/logical/snapbuild.c:1727
+#: replication/slot.c:1787 replication/walsender.c:632
+#: replication/walsender.c:2723 storage/file/copydir.c:161
+#: storage/file/fd.c:720 storage/file/fd.c:3395 storage/file/fd.c:3630
+#: storage/file/fd.c:3720 storage/smgr/md.c:507 utils/cache/relmapper.c:792
+#: utils/cache/relmapper.c:900 utils/error/elog.c:1933
+#: utils/init/miscinit.c:1366 utils/init/miscinit.c:1500
+#: utils/init/miscinit.c:1577 utils/misc/guc.c:8923 utils/misc/guc.c:8972
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht öffnen: %m"
 
-#: ../common/controldata_utils.c:221 ../common/controldata_utils.c:224
-#: access/transam/twophase.c:1653 access/transam/twophase.c:1662
-#: access/transam/xlog.c:11095 access/transam/xlog.c:11133
-#: access/transam/xlog.c:11546 access/transam/xlogfuncs.c:782
-#: postmaster/postmaster.c:5659 postmaster/syslogger.c:1499
-#: postmaster/syslogger.c:1512 utils/cache/relmapper.c:870
+#: ../common/controldata_utils.c:210 ../common/controldata_utils.c:213
+#: access/transam/twophase.c:1745 access/transam/twophase.c:1754
+#: access/transam/xlog.c:8652 access/transam/xlogfuncs.c:600
+#: postmaster/postmaster.c:5631 postmaster/syslogger.c:1571
+#: postmaster/syslogger.c:1584 postmaster/syslogger.c:1597
+#: replication/basebackup_server.c:173 replication/basebackup_server.c:266
+#: utils/cache/relmapper.c:934
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht schreiben: %m"
 
-#: ../common/controldata_utils.c:239 ../common/controldata_utils.c:245
+#: ../common/controldata_utils.c:227 ../common/controldata_utils.c:232
 #: ../common/file_utils.c:303 ../common/file_utils.c:373
-#: access/heap/rewriteheap.c:967 access/heap/rewriteheap.c:1179
-#: access/heap/rewriteheap.c:1282 access/transam/timeline.c:432
-#: access/transam/timeline.c:510 access/transam/twophase.c:1674
-#: access/transam/xlog.c:3412 access/transam/xlog.c:3581
-#: access/transam/xlog.c:4735 access/transam/xlog.c:10586
-#: access/transam/xlog.c:10627 replication/logical/snapbuild.c:1635
-#: replication/slot.c:1535 replication/slot.c:1640 storage/file/fd.c:730
-#: storage/file/fd.c:3629 storage/smgr/md.c:950 storage/smgr/md.c:991
-#: storage/sync/sync.c:417 utils/cache/relmapper.c:885 utils/misc/guc.c:8391
+#: access/heap/rewriteheap.c:960 access/heap/rewriteheap.c:1172
+#: access/heap/rewriteheap.c:1275 access/transam/timeline.c:432
+#: access/transam/timeline.c:510 access/transam/twophase.c:1766
+#: access/transam/xlog.c:3047 access/transam/xlog.c:3241
+#: access/transam/xlog.c:3985 access/transam/xlog.c:7950
+#: access/transam/xlog.c:7993 replication/basebackup_server.c:207
+#: replication/logical/snapbuild.c:1658 replication/slot.c:1692
+#: replication/slot.c:1797 storage/file/fd.c:737 storage/file/fd.c:3741
+#: storage/smgr/md.c:958 storage/smgr/md.c:999 storage/sync/sync.c:453
+#: utils/cache/relmapper.c:949 utils/misc/guc.c:8692
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht fsyncen: %m"
 
-#: ../common/cryptohash_openssl.c:104 ../common/exec.c:522 ../common/exec.c:567
-#: ../common/exec.c:659 ../common/hmac_openssl.c:103 ../common/psprintf.c:143
-#: ../common/stringinfo.c:305 ../port/path.c:630 ../port/path.c:668
-#: ../port/path.c:685 access/transam/twophase.c:1341 access/transam/xlog.c:6633
-#: lib/dshash.c:246 libpq/auth.c:1482 libpq/auth.c:1550 libpq/auth.c:2108
-#: libpq/be-secure-gssapi.c:520 postmaster/bgworker.c:349
-#: postmaster/bgworker.c:948 postmaster/postmaster.c:2516
-#: postmaster/postmaster.c:4175 postmaster/postmaster.c:4845
-#: postmaster/postmaster.c:5584 postmaster/postmaster.c:5948
-#: replication/libpqwalreceiver/libpqwalreceiver.c:282
-#: replication/logical/logical.c:205 replication/walsender.c:591
-#: storage/buffer/localbuf.c:442 storage/file/fd.c:882 storage/file/fd.c:1352
-#: storage/file/fd.c:1513 storage/file/fd.c:2321 storage/ipc/procarray.c:1388
-#: storage/ipc/procarray.c:2182 storage/ipc/procarray.c:2189
-#: storage/ipc/procarray.c:2678 storage/ipc/procarray.c:3302
-#: utils/adt/cryptohashfuncs.c:46 utils/adt/cryptohashfuncs.c:66
-#: utils/adt/formatting.c:1699 utils/adt/formatting.c:1823
-#: utils/adt/formatting.c:1948 utils/adt/pg_locale.c:450
-#: utils/adt/pg_locale.c:614 utils/adt/regexp.c:223 utils/fmgr/dfmgr.c:229
+#: ../common/cryptohash.c:266 ../common/cryptohash_openssl.c:133
+#: ../common/cryptohash_openssl.c:332 ../common/exec.c:560 ../common/exec.c:605
+#: ../common/exec.c:697 ../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:247 ../common/stringinfo.c:305 ../port/path.c:751
+#: ../port/path.c:789 ../port/path.c:806 access/transam/twophase.c:1413
+#: access/transam/xlogrecovery.c:567 lib/dshash.c:254 libpq/auth.c:1338
+#: libpq/auth.c:1406 libpq/auth.c:1964 libpq/be-secure-gssapi.c:520
+#: postmaster/bgworker.c:349 postmaster/bgworker.c:931
+#: postmaster/postmaster.c:2584 postmaster/postmaster.c:4170
+#: postmaster/postmaster.c:4842 postmaster/postmaster.c:5556
+#: postmaster/postmaster.c:5919
+#: replication/libpqwalreceiver/libpqwalreceiver.c:296
+#: replication/logical/logical.c:205 replication/walsender.c:702
+#: storage/buffer/localbuf.c:442 storage/file/fd.c:892 storage/file/fd.c:1434
+#: storage/file/fd.c:1595 storage/file/fd.c:2409 storage/ipc/procarray.c:1432
+#: storage/ipc/procarray.c:2264 storage/ipc/procarray.c:2271
+#: storage/ipc/procarray.c:2777 storage/ipc/procarray.c:3408
+#: utils/adt/formatting.c:1727 utils/adt/formatting.c:1849
+#: utils/adt/formatting.c:1972 utils/adt/pg_locale.c:450
+#: utils/adt/pg_locale.c:614 utils/adt/regexp.c:224 utils/fmgr/dfmgr.c:229
 #: utils/hash/dynahash.c:513 utils/hash/dynahash.c:613
 #: utils/hash/dynahash.c:1116 utils/mb/mbutils.c:401 utils/mb/mbutils.c:429
-#: utils/mb/mbutils.c:814 utils/mb/mbutils.c:841 utils/misc/guc.c:5035
-#: utils/misc/guc.c:5051 utils/misc/guc.c:5064 utils/misc/guc.c:8369
+#: utils/mb/mbutils.c:814 utils/mb/mbutils.c:841 utils/misc/guc.c:5201
+#: utils/misc/guc.c:5217 utils/misc/guc.c:5230 utils/misc/guc.c:8670
 #: utils/misc/tzparser.c:467 utils/mmgr/aset.c:476 utils/mmgr/dsa.c:701
-#: utils/mmgr/dsa.c:723 utils/mmgr/dsa.c:804 utils/mmgr/generation.c:234
+#: utils/mmgr/dsa.c:723 utils/mmgr/dsa.c:804 utils/mmgr/generation.c:266
 #: utils/mmgr/mcxt.c:888 utils/mmgr/mcxt.c:924 utils/mmgr/mcxt.c:962
-#: utils/mmgr/mcxt.c:1000 utils/mmgr/mcxt.c:1082 utils/mmgr/mcxt.c:1113
-#: utils/mmgr/mcxt.c:1149 utils/mmgr/mcxt.c:1201 utils/mmgr/mcxt.c:1236
-#: utils/mmgr/mcxt.c:1271 utils/mmgr/slab.c:236
+#: utils/mmgr/mcxt.c:1000 utils/mmgr/mcxt.c:1088 utils/mmgr/mcxt.c:1119
+#: utils/mmgr/mcxt.c:1155 utils/mmgr/mcxt.c:1207 utils/mmgr/mcxt.c:1242
+#: utils/mmgr/mcxt.c:1277 utils/mmgr/slab.c:236
 #, c-format
 msgid "out of memory"
 msgstr "Speicher aufgebraucht"
 
-#: ../common/exec.c:136 ../common/exec.c:253 ../common/exec.c:299
+#: ../common/cryptohash.c:271 ../common/cryptohash.c:277
+#: ../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
+msgid "success"
+msgstr ""
+
+#: ../common/cryptohash.c:273 ../common/cryptohash_openssl.c:346
+#: ../common/hmac_openssl.c:341
+#, fuzzy
+#| msgid "backup label buffer too small"
+msgid "destination buffer too small"
+msgstr "Puffer für Backup-Label ist zu klein"
+
+#: ../common/cryptohash_openssl.c:348 ../common/hmac_openssl.c:343
+msgid "OpenSSL failure"
+msgstr ""
+
+#: ../common/exec.c:149 ../common/exec.c:266 ../common/exec.c:312
 #, c-format
 msgid "could not identify current directory: %m"
 msgstr "konnte aktuelles Verzeichnis nicht ermitteln: %m"
 
-#: ../common/exec.c:155
+#: ../common/exec.c:168
 #, c-format
 msgid "invalid binary \"%s\""
 msgstr "ungültige Programmdatei »%s«"
 
-#: ../common/exec.c:205
+#: ../common/exec.c:218
 #, c-format
 msgid "could not read binary \"%s\""
 msgstr "konnte Programmdatei »%s« nicht lesen"
 
-#: ../common/exec.c:213
+#: ../common/exec.c:226
 #, c-format
 msgid "could not find a \"%s\" to execute"
 msgstr "konnte kein »%s« zum Ausführen finden"
 
-#: ../common/exec.c:269 ../common/exec.c:308 utils/init/miscinit.c:425
+#: ../common/exec.c:282 ../common/exec.c:321 utils/init/miscinit.c:439
 #, c-format
 msgid "could not change directory to \"%s\": %m"
 msgstr "konnte nicht in Verzeichnis »%s« wechseln: %m"
 
-#: ../common/exec.c:286 access/transam/xlog.c:10969
-#: replication/basebackup.c:1428 utils/adt/misc.c:340
+#: ../common/exec.c:299 access/transam/xlog.c:8301
+#: replication/basebackup.c:1333 utils/adt/misc.c:342
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "konnte symbolische Verknüpfung »%s« nicht lesen: %m"
 
-#: ../common/exec.c:409 libpq/pqcomm.c:746 storage/ipc/latch.c:1064
-#: storage/ipc/latch.c:1233 storage/ipc/latch.c:1462 storage/ipc/latch.c:1614
-#: storage/ipc/latch.c:1730
+#: ../common/exec.c:422 libpq/pqcomm.c:746 storage/ipc/latch.c:1067
+#: storage/ipc/latch.c:1247 storage/ipc/latch.c:1476 storage/ipc/latch.c:1637
+#: storage/ipc/latch.c:1763
 #, c-format
 msgid "%s() failed: %m"
 msgstr "%s() fehlgeschlagen: %m"
 
 #: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75
 #: ../common/fe_memutils.c:98 ../common/fe_memutils.c:162
-#: ../common/psprintf.c:145 ../port/path.c:632 ../port/path.c:670
-#: ../port/path.c:687 utils/misc/ps_status.c:181 utils/misc/ps_status.c:189
+#: ../common/psprintf.c:145 ../port/path.c:753 ../port/path.c:791
+#: ../port/path.c:808 utils/misc/ps_status.c:181 utils/misc/ps_status.c:189
 #: utils/misc/ps_status.c:219 utils/misc/ps_status.c:227
 #, c-format
 msgid "out of memory\n"
@@ -236,166 +296,151 @@ msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "kann NULL-Zeiger nicht kopieren (interner Fehler)\n"
 
 #: ../common/file_utils.c:87 ../common/file_utils.c:451
-#: ../common/file_utils.c:455 access/transam/twophase.c:1239
-#: access/transam/xlog.c:11071 access/transam/xlog.c:11109
-#: access/transam/xlog.c:11326 access/transam/xlogarchive.c:110
-#: access/transam/xlogarchive.c:227 commands/copyfrom.c:1526
-#: commands/copyto.c:734 commands/extension.c:3444 commands/tablespace.c:807
-#: commands/tablespace.c:898 guc-file.l:1060 replication/basebackup.c:439
-#: replication/basebackup.c:622 replication/basebackup.c:698
-#: replication/logical/snapbuild.c:1514 storage/file/copydir.c:68
-#: storage/file/copydir.c:107 storage/file/fd.c:1863 storage/file/fd.c:1949
-#: storage/file/fd.c:3149 storage/file/fd.c:3353 utils/adt/dbsize.c:70
-#: utils/adt/dbsize.c:222 utils/adt/dbsize.c:302 utils/adt/genfile.c:418
-#: utils/adt/genfile.c:644
+#: ../common/file_utils.c:455 access/transam/twophase.c:1316
+#: access/transam/xlogarchive.c:111 access/transam/xlogarchive.c:230
+#: commands/copyfrom.c:1525 commands/copyto.c:725 commands/extension.c:3368
+#: commands/tablespace.c:848 commands/tablespace.c:939 guc-file.l:1062
+#: postmaster/pgarch.c:603 replication/basebackup.c:338
+#: replication/basebackup.c:528 replication/basebackup.c:599
+#: replication/logical/snapbuild.c:1537 storage/file/copydir.c:68
+#: storage/file/copydir.c:107 storage/file/fd.c:1951 storage/file/fd.c:2037
+#: storage/file/fd.c:3243 storage/file/fd.c:3450 utils/adt/dbsize.c:92
+#: utils/adt/dbsize.c:244 utils/adt/dbsize.c:324 utils/adt/genfile.c:413
+#: utils/adt/genfile.c:588 utils/adt/misc.c:327
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "konnte »stat« für Datei »%s« nicht ausführen: %m"
 
-#: ../common/file_utils.c:166 ../common/pgfnames.c:48 commands/tablespace.c:730
-#: commands/tablespace.c:740 postmaster/postmaster.c:1515
-#: storage/file/fd.c:2724 storage/file/reinit.c:122 utils/adt/misc.c:262
+#: ../common/file_utils.c:166 ../common/pgfnames.c:48 commands/tablespace.c:771
+#: commands/tablespace.c:781 postmaster/postmaster.c:1576
+#: storage/file/fd.c:2812 storage/file/reinit.c:126 utils/adt/misc.c:235
 #: utils/misc/tzparser.c:338
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "konnte Verzeichnis »%s« nicht öffnen: %m"
 
-#: ../common/file_utils.c:200 ../common/pgfnames.c:69 storage/file/fd.c:2736
+#: ../common/file_utils.c:200 ../common/pgfnames.c:69 storage/file/fd.c:2824
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "konnte Verzeichnis »%s« nicht lesen: %m"
 
-#: ../common/file_utils.c:383 access/transam/xlogarchive.c:412
-#: postmaster/syslogger.c:1523 replication/logical/snapbuild.c:1654
-#: replication/slot.c:668 replication/slot.c:1421 replication/slot.c:1563
-#: storage/file/fd.c:748 storage/file/fd.c:846 utils/time/snapmgr.c:1265
+#: ../common/file_utils.c:383 access/transam/xlogarchive.c:419
+#: postmaster/syslogger.c:1608 replication/logical/snapbuild.c:1677
+#: replication/slot.c:709 replication/slot.c:1578 replication/slot.c:1720
+#: storage/file/fd.c:755 storage/file/fd.c:853 utils/time/snapmgr.c:1282
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "konnte Datei »%s« nicht in »%s« umbenennen: %m"
 
-#: ../common/hex.c:54
-#, c-format
-msgid "invalid hexadecimal digit"
-msgstr "ungültige hexadezimale Ziffer"
-
-#: ../common/hex.c:59
-#, c-format
-msgid "invalid hexadecimal digit: \"%.*s\""
-msgstr "ungültige hexadezimale Ziffer: »%.*s«"
-
-#: ../common/hex.c:90
-#, c-format
-msgid "overflow of destination buffer in hex encoding"
-msgstr "Zielpufferüberlauf bei Hex-Kodierung"
-
-#: ../common/hex.c:136 ../common/hex.c:141
-#, c-format
-msgid "invalid hexadecimal data: odd number of digits"
-msgstr "ungültige hexadezimale Daten: ungerade Anzahl Ziffern"
-
-#: ../common/hex.c:152
-#, c-format
-msgid "overflow of destination buffer in hex decoding"
-msgstr "Zielpufferüberlauf bei Hex-Dekodierung"
+#: ../common/hmac.c:323
+#, fuzzy
+#| msgid "syntax error"
+msgid "internal error"
+msgstr "Syntaxfehler"
 
-#: ../common/jsonapi.c:1066
+#: ../common/jsonapi.c:1075
 #, c-format
 msgid "Escape sequence \"\\%s\" is invalid."
 msgstr "Escape-Sequenz »\\%s« ist nicht gültig."
 
-#: ../common/jsonapi.c:1069
+#: ../common/jsonapi.c:1078
 #, c-format
 msgid "Character with value 0x%02x must be escaped."
 msgstr "Zeichen mit Wert 0x%02x muss escapt werden."
 
-#: ../common/jsonapi.c:1072
+#: ../common/jsonapi.c:1081
 #, c-format
 msgid "Expected end of input, but found \"%s\"."
 msgstr "Ende der Eingabe erwartet, aber »%s« gefunden."
 
-#: ../common/jsonapi.c:1075
+#: ../common/jsonapi.c:1084
 #, c-format
 msgid "Expected array element or \"]\", but found \"%s\"."
 msgstr "Array-Element oder »]« erwartet, aber »%s« gefunden."
 
-#: ../common/jsonapi.c:1078
+#: ../common/jsonapi.c:1087
 #, c-format
 msgid "Expected \",\" or \"]\", but found \"%s\"."
 msgstr "»,« oder »]« erwartet, aber »%s« gefunden."
 
-#: ../common/jsonapi.c:1081
+#: ../common/jsonapi.c:1090
 #, c-format
 msgid "Expected \":\", but found \"%s\"."
 msgstr "»:« erwartet, aber »%s« gefunden."
 
-#: ../common/jsonapi.c:1084
+#: ../common/jsonapi.c:1093
 #, c-format
 msgid "Expected JSON value, but found \"%s\"."
 msgstr "JSON-Wert erwartet, aber »%s« gefunden."
 
-#: ../common/jsonapi.c:1087
+#: ../common/jsonapi.c:1096
 msgid "The input string ended unexpectedly."
 msgstr "Die Eingabezeichenkette endete unerwartet."
 
-#: ../common/jsonapi.c:1089
+#: ../common/jsonapi.c:1098
 #, c-format
 msgid "Expected string or \"}\", but found \"%s\"."
 msgstr "Zeichenkette oder »}« erwartet, aber »%s« gefunden."
 
-#: ../common/jsonapi.c:1092
+#: ../common/jsonapi.c:1101
 #, c-format
 msgid "Expected \",\" or \"}\", but found \"%s\"."
 msgstr "»,« oder »}« erwartet, aber »%s« gefunden."
 
-#: ../common/jsonapi.c:1095
+#: ../common/jsonapi.c:1104
 #, c-format
 msgid "Expected string, but found \"%s\"."
 msgstr "Zeichenkette erwartet, aber »%s« gefunden."
 
-#: ../common/jsonapi.c:1098
+#: ../common/jsonapi.c:1107
 #, c-format
 msgid "Token \"%s\" is invalid."
 msgstr "Token »%s« ist ungültig."
 
-#: ../common/jsonapi.c:1101 jsonpath_scan.l:499
+#: ../common/jsonapi.c:1110 jsonpath_scan.l:495
 #, c-format
 msgid "\\u0000 cannot be converted to text."
 msgstr "\\u0000 kann nicht in »text« umgewandelt werden."
 
-#: ../common/jsonapi.c:1103
+#: ../common/jsonapi.c:1112
 msgid "\"\\u\" must be followed by four hexadecimal digits."
 msgstr "Nach »\\u« müssen vier Hexadezimalziffern folgen."
 
-#: ../common/jsonapi.c:1106
+#: ../common/jsonapi.c:1115
 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8."
 msgstr "Unicode-Escape-Werte können nicht für Code-Punkt-Werte über 007F verwendet werden, wenn die Kodierung nicht UTF8 ist."
 
-#: ../common/jsonapi.c:1108 jsonpath_scan.l:520
+#: ../common/jsonapi.c:1117 jsonpath_scan.l:516
 #, c-format
 msgid "Unicode high surrogate must not follow a high surrogate."
 msgstr "Unicode-High-Surrogate darf nicht auf ein High-Surrogate folgen."
 
-#: ../common/jsonapi.c:1110 jsonpath_scan.l:531 jsonpath_scan.l:541
-#: jsonpath_scan.l:583
+#: ../common/jsonapi.c:1119 jsonpath_scan.l:527 jsonpath_scan.l:537
+#: jsonpath_scan.l:579
 #, c-format
 msgid "Unicode low surrogate must follow a high surrogate."
 msgstr "Unicode-Low-Surrogate muss auf ein High-Surrogate folgen."
 
-#: ../common/logging.c:259
-#, c-format
-msgid "fatal: "
-msgstr "Fatal: "
-
-#: ../common/logging.c:266
+#: ../common/logging.c:277
 #, c-format
 msgid "error: "
 msgstr "Fehler: "
 
-#: ../common/logging.c:273
+#: ../common/logging.c:284
 #, c-format
 msgid "warning: "
 msgstr "Warnung: "
 
+#: ../common/logging.c:295
+#, c-format
+msgid "detail: "
+msgstr "Detail: "
+
+#: ../common/logging.c:302
+#, c-format
+msgid "hint: "
+msgstr "Tipp: "
+
 #: ../common/pgfnames.c:74
 #, c-format
 msgid "could not close directory \"%s\": %m"
@@ -411,7 +456,7 @@ msgstr "ungültiger Fork-Name"
 msgid "Valid fork names are \"main\", \"fsm\", \"vm\", and \"init\"."
 msgstr "Gültige Fork-Namen sind »main«, »fsm«, »vm« und »init«."
 
-#: ../common/restricted_token.c:64 libpq/auth.c:1512 libpq/auth.c:2544
+#: ../common/restricted_token.c:64 libpq/auth.c:1368 libpq/auth.c:2400
 #, c-format
 msgid "could not load library \"%s\": error code %lu"
 msgstr "konnte Bibliothek »%s« nicht laden: Fehlercode %lu"
@@ -446,13 +491,13 @@ msgstr "konnte Prozess für Befehl »%s« nicht starten: Fehlercode %lu"
 msgid "could not re-execute with restricted token: error code %lu"
 msgstr "konnte Prozess nicht mit beschränktem Token neu starten: Fehlercode %lu"
 
-#: ../common/restricted_token.c:194
+#: ../common/restricted_token.c:193
 #, c-format
 msgid "could not get exit code from subprocess: error code %lu"
 msgstr "konnte Statuscode des Subprozesses nicht ermitteln: Fehlercode %lu"
 
-#: ../common/rmtree.c:79 replication/basebackup.c:1181
-#: replication/basebackup.c:1357
+#: ../common/rmtree.c:79 replication/basebackup.c:1093
+#: replication/basebackup.c:1269
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr "konnte »stat« für Datei oder Verzeichnis »%s« nicht ausführen: %m"
@@ -462,6 +507,24 @@ msgstr "konnte »stat« für Datei oder Verzeichnis »%s« nicht ausführen: %m"
 msgid "could not remove file or directory \"%s\": %m"
 msgstr "konnte Datei oder Verzeichnis »%s« nicht entfernen: %m"
 
+#: ../common/scram-common.c:260
+#, fuzzy
+#| msgid "could not encode nonce\n"
+msgid "could not encode salt"
+msgstr "konnte Nonce nicht kodieren\n"
+
+#: ../common/scram-common.c:276
+#, fuzzy
+#| msgid "could not encode nonce\n"
+msgid "could not encode stored key"
+msgstr "konnte Nonce nicht kodieren\n"
+
+#: ../common/scram-common.c:293
+#, fuzzy
+#| msgid "could not connect to server"
+msgid "could not encode server key"
+msgstr "konnte nicht mit Server verbinden"
+
 #: ../common/stringinfo.c:306
 #, c-format
 msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes."
@@ -483,7 +546,7 @@ msgstr ""
 msgid "could not look up effective user ID %ld: %s"
 msgstr "konnte effektive Benutzer-ID %ld nicht nachschlagen: %s"
 
-#: ../common/username.c:45 libpq/auth.c:2044
+#: ../common/username.c:45 libpq/auth.c:1900
 msgid "user does not exist"
 msgstr "Benutzer existiert nicht"
 
@@ -522,12 +585,12 @@ msgstr "Kindprozess wurde von Signal %d beendet: %s"
 msgid "child process exited with unrecognized status %d"
 msgstr "Kindprozess hat mit unbekanntem Status %d beendet"
 
-#: ../port/chklocale.c:307
+#: ../port/chklocale.c:306
 #, c-format
 msgid "could not determine encoding for codeset \"%s\""
 msgstr "konnte Kodierung für Codeset »%s« nicht bestimmen"
 
-#: ../port/chklocale.c:428 ../port/chklocale.c:434
+#: ../port/chklocale.c:427 ../port/chklocale.c:433
 #, c-format
 msgid "could not determine encoding for locale \"%s\": codeset is \"%s\""
 msgstr "konnte Kodierung für Locale »%s« nicht bestimmen: Codeset ist »%s«"
@@ -552,30 +615,30 @@ msgstr "konnte Junction für »%s« nicht ermitteln: %s"
 msgid "could not get junction for \"%s\": %s\n"
 msgstr "konnte Junction für »%s« nicht ermitteln: %s\n"
 
-#: ../port/open.c:126
+#: ../port/open.c:117
 #, c-format
 msgid "could not open file \"%s\": %s"
 msgstr "konnte Datei »%s« nicht öffnen: %s"
 
-#: ../port/open.c:127
+#: ../port/open.c:118
 msgid "lock violation"
 msgstr "Sperrverletzung"
 
-#: ../port/open.c:127
+#: ../port/open.c:118
 msgid "sharing violation"
 msgstr "Zugriffsverletzung (Sharing Violation)"
 
-#: ../port/open.c:128
+#: ../port/open.c:119
 #, c-format
 msgid "Continuing to retry for 30 seconds."
 msgstr "Versuche werden für 30 Sekunden wiederholt."
 
-#: ../port/open.c:129
+#: ../port/open.c:120
 #, c-format
 msgid "You might have antivirus, backup, or similar software interfering with the database system."
 msgstr "Möglicherweise stört eine Antivirus-, Datensicherungs- oder ähnliche Software das Datenbanksystem."
 
-#: ../port/path.c:654
+#: ../port/path.c:775
 #, c-format
 msgid "could not get current working directory: %s\n"
 msgstr "konnte aktuelles Arbeitsverzeichnis nicht ermitteln: %s\n"
@@ -585,6 +648,16 @@ msgstr "konnte aktuelles Arbeitsverzeichnis nicht ermitteln: %s\n"
 msgid "operating system error %d"
 msgstr "Betriebssystemfehler %d"
 
+#: ../port/thread.c:100 ../port/thread.c:136
+#, c-format
+msgid "could not look up local user ID %d: %s"
+msgstr "konnte lokale Benutzer-ID %d nicht nachschlagen: %s"
+
+#: ../port/thread.c:105 ../port/thread.c:141
+#, c-format
+msgid "local user with ID %d does not exist"
+msgstr "lokaler Benutzer mit ID %d existiert nicht"
+
 #: ../port/win32security.c:62
 #, c-format
 msgid "could not get SID for Administrators group: error code %lu\n"
@@ -600,70 +673,71 @@ msgstr "konnte SID der PowerUsers-Gruppe nicht ermitteln: Fehlercode %lu\n"
 msgid "could not check access token membership: error code %lu\n"
 msgstr "konnte Access-Token-Mitgliedschaft nicht prüfen: Fehlercode %lu\n"
 
-#: access/brin/brin.c:214
+#: access/brin/brin.c:215
 #, c-format
 msgid "request for BRIN range summarization for index \"%s\" page %u was not recorded"
 msgstr "Aufforderung für BRIN-Range-Summarization für Index »%s« Seite %u wurde nicht aufgezeichnet"
 
-#: access/brin/brin.c:1015 access/brin/brin.c:1092 access/gin/ginfast.c:1035
-#: access/transam/xlog.c:10748 access/transam/xlog.c:11277
-#: access/transam/xlogfuncs.c:274 access/transam/xlogfuncs.c:301
-#: access/transam/xlogfuncs.c:340 access/transam/xlogfuncs.c:361
-#: access/transam/xlogfuncs.c:382 access/transam/xlogfuncs.c:452
-#: access/transam/xlogfuncs.c:509
+#: access/brin/brin.c:1019 access/brin/brin.c:1114 access/gin/ginfast.c:1035
+#: access/transam/xlogfuncs.c:165 access/transam/xlogfuncs.c:192
+#: access/transam/xlogfuncs.c:231 access/transam/xlogfuncs.c:252
+#: access/transam/xlogfuncs.c:273 access/transam/xlogfuncs.c:343
+#: access/transam/xlogfuncs.c:401
 #, c-format
 msgid "recovery is in progress"
 msgstr "Wiederherstellung läuft"
 
-#: access/brin/brin.c:1016 access/brin/brin.c:1093
+#: access/brin/brin.c:1020 access/brin/brin.c:1115
 #, c-format
 msgid "BRIN control functions cannot be executed during recovery."
 msgstr "Während der Wiederherstellung können keine BRIN-Kontrollfunktionen ausgeführt werden."
 
-#: access/brin/brin.c:1024 access/brin/brin.c:1101
-#, c-format
-msgid "block number out of range: %s"
+#: access/brin/brin.c:1025 access/brin/brin.c:1120
+#, fuzzy, c-format
+#| msgid "block number out of range: %s"
+msgid "block number out of range: %lld"
 msgstr "Blocknummer ist außerhalb des gültigen Bereichs: %s"
 
-#: access/brin/brin.c:1047 access/brin/brin.c:1124
+#: access/brin/brin.c:1063 access/brin/brin.c:1146
 #, c-format
 msgid "\"%s\" is not a BRIN index"
 msgstr "»%s« ist kein BRIN-Index"
 
-#: access/brin/brin.c:1063 access/brin/brin.c:1140
+#: access/brin/brin.c:1079 access/brin/brin.c:1162
 #, c-format
 msgid "could not open parent table of index \"%s\""
 msgstr "konnte Basistabelle von Index »%s« nicht öffnen"
 
-#: access/brin/brin_bloom.c:751 access/brin/brin_bloom.c:793
-#: access/brin/brin_minmax_multi.c:2986 access/brin/brin_minmax_multi.c:3129
-#: statistics/dependencies.c:651 statistics/dependencies.c:704
-#: statistics/mcv.c:1480 statistics/mcv.c:1511 statistics/mvdistinct.c:343
-#: statistics/mvdistinct.c:396 utils/adt/pseudotypes.c:43
+#: access/brin/brin_bloom.c:750 access/brin/brin_bloom.c:792
+#: access/brin/brin_minmax_multi.c:3004 access/brin/brin_minmax_multi.c:3147
+#: 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/pseudotypes.c:252
 #, c-format
 msgid "cannot accept a value of type %s"
 msgstr "kann keinen Wert vom Typ %s annehmen"
 
-#: access/brin/brin_minmax_multi.c:2144 access/brin/brin_minmax_multi.c:2151
-#: access/brin/brin_minmax_multi.c:2158 utils/adt/timestamp.c:941
-#: utils/adt/timestamp.c:1515 utils/adt/timestamp.c:1982
-#: utils/adt/timestamp.c:3059 utils/adt/timestamp.c:3064
-#: utils/adt/timestamp.c:3069 utils/adt/timestamp.c:3119
-#: utils/adt/timestamp.c:3126 utils/adt/timestamp.c:3133
-#: utils/adt/timestamp.c:3153 utils/adt/timestamp.c:3160
-#: utils/adt/timestamp.c:3167 utils/adt/timestamp.c:3197
-#: utils/adt/timestamp.c:3205 utils/adt/timestamp.c:3249
-#: utils/adt/timestamp.c:3676 utils/adt/timestamp.c:3801
-#: utils/adt/timestamp.c:4349
+#: access/brin/brin_minmax_multi.c:2163 access/brin/brin_minmax_multi.c:2170
+#: access/brin/brin_minmax_multi.c:2177 utils/adt/timestamp.c:938
+#: utils/adt/timestamp.c:1509 utils/adt/timestamp.c:2761
+#: utils/adt/timestamp.c:2778 utils/adt/timestamp.c:2831
+#: utils/adt/timestamp.c:2870 utils/adt/timestamp.c:3115
+#: utils/adt/timestamp.c:3120 utils/adt/timestamp.c:3125
+#: utils/adt/timestamp.c:3175 utils/adt/timestamp.c:3182
+#: utils/adt/timestamp.c:3189 utils/adt/timestamp.c:3209
+#: utils/adt/timestamp.c:3216 utils/adt/timestamp.c:3223
+#: utils/adt/timestamp.c:3253 utils/adt/timestamp.c:3261
+#: utils/adt/timestamp.c:3305 utils/adt/timestamp.c:3731
+#: utils/adt/timestamp.c:3855 utils/adt/timestamp.c:4405
 #, c-format
 msgid "interval out of range"
 msgstr "interval-Wert ist außerhalb des gültigen Bereichs"
 
 #: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362
 #: access/brin/brin_pageops.c:843 access/gin/ginentrypage.c:110
-#: access/gist/gist.c:1441 access/spgist/spgdoinsert.c:2000
-#: access/spgist/spgdoinsert.c:2275
+#: access/gist/gist.c:1443 access/spgist/spgdoinsert.c:2001
+#: access/spgist/spgdoinsert.c:2278
 #, c-format
 msgid "index row size %zu exceeds maximum %zu for index \"%s\""
 msgstr "Größe %zu der Indexzeile überschreitet Maximum %zu für Index »%s«"
@@ -771,109 +845,102 @@ msgstr "Anzahl der Spalten (%d) überschreitet Maximum (%d)"
 msgid "number of index columns (%d) exceeds limit (%d)"
 msgstr "Anzahl der Indexspalten (%d) überschreitet Maximum (%d)"
 
-#: access/common/indextuple.c:190 access/spgist/spgutils.c:947
+#: access/common/indextuple.c:190 access/spgist/spgutils.c:959
 #, c-format
 msgid "index row requires %zu bytes, maximum size is %zu"
 msgstr "Indexzeile benötigt %zu Bytes, Maximalgröße ist %zu"
 
 #: access/common/printtup.c:292 tcop/fastpath.c:106 tcop/fastpath.c:453
-#: tcop/postgres.c:1900
+#: tcop/postgres.c:1914
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "nicht unterstützter Formatcode: %d"
 
-#: access/common/reloptions.c:506
+#: access/common/reloptions.c:521 access/common/reloptions.c:532
 msgid "Valid values are \"on\", \"off\", and \"auto\"."
 msgstr "Gültige Werte sind »on«, »off« und »auto«."
 
-#: access/common/reloptions.c:517
+#: access/common/reloptions.c:543
 msgid "Valid values are \"local\" and \"cascaded\"."
 msgstr "Gültige Werte sind »local« und »cascaded«."
 
-#: access/common/reloptions.c:665
+#: access/common/reloptions.c:691
 #, c-format
 msgid "user-defined relation parameter types limit exceeded"
 msgstr "Wertebereich des Typs für benutzerdefinierte Relationsparameter überschritten"
 
-#: access/common/reloptions.c:1208
+#: access/common/reloptions.c:1234
 #, c-format
 msgid "RESET must not include values for parameters"
 msgstr "RESET darf keinen Parameterwert enthalten"
 
-#: access/common/reloptions.c:1240
+#: access/common/reloptions.c:1266
 #, c-format
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "unbekannter Parameter-Namensraum »%s«"
 
-#: access/common/reloptions.c:1277 utils/misc/guc.c:12514
+#: access/common/reloptions.c:1303 utils/misc/guc.c:12885
 #, c-format
 msgid "tables declared WITH OIDS are not supported"
 msgstr "Tabellen mit WITH OIDS werden nicht unterstützt"
 
-#: access/common/reloptions.c:1447
+#: access/common/reloptions.c:1473
 #, c-format
 msgid "unrecognized parameter \"%s\""
 msgstr "unbekannter Parameter »%s«"
 
-#: access/common/reloptions.c:1559
+#: access/common/reloptions.c:1585
 #, c-format
 msgid "parameter \"%s\" specified more than once"
 msgstr "Parameter »%s« mehrmals angegeben"
 
-#: access/common/reloptions.c:1575
+#: access/common/reloptions.c:1601
 #, c-format
 msgid "invalid value for boolean option \"%s\": %s"
 msgstr "ungültiger Wert für Boole’sche Option »%s«: »%s«"
 
-#: access/common/reloptions.c:1587
+#: access/common/reloptions.c:1613
 #, c-format
 msgid "invalid value for integer option \"%s\": %s"
 msgstr "ungültiger Wert für ganzzahlige Option »%s«: »%s«"
 
-#: access/common/reloptions.c:1593 access/common/reloptions.c:1613
+#: access/common/reloptions.c:1619 access/common/reloptions.c:1639
 #, c-format
 msgid "value %s out of bounds for option \"%s\""
 msgstr "Wert %s ist außerhalb des gültigen Bereichs für Option »%s«"
 
-#: access/common/reloptions.c:1595
+#: access/common/reloptions.c:1621
 #, c-format
 msgid "Valid values are between \"%d\" and \"%d\"."
 msgstr "Gültige Werte sind zwischen »%d« und »%d«."
 
-#: access/common/reloptions.c:1607
+#: access/common/reloptions.c:1633
 #, c-format
 msgid "invalid value for floating point option \"%s\": %s"
 msgstr "ungültiger Wert für Gleitkommaoption »%s«: »%s«"
 
-#: access/common/reloptions.c:1615
+#: access/common/reloptions.c:1641
 #, c-format
 msgid "Valid values are between \"%f\" and \"%f\"."
 msgstr "Gültige Werte sind zwischen »%f« und »%f«."
 
-#: access/common/reloptions.c:1637
+#: access/common/reloptions.c:1663
 #, c-format
 msgid "invalid value for enum option \"%s\": %s"
 msgstr "ungültiger Wert für Enum-Option »%s«: »%s«"
 
 #: access/common/toast_compression.c:32
-#, fuzzy, c-format
-#| msgid "unlink not supported with compression"
-msgid "unsupported LZ4 compression method"
-msgstr "Unlink wird bei Komprimierung nicht unterstützt"
+#, c-format
+msgid "compression method lz4 not supported"
+msgstr "Komprimierungsmethode lz4 nicht unterstützt"
 
 #: access/common/toast_compression.c:33
 #, c-format
 msgid "This functionality requires the server to be built with lz4 support."
 msgstr "Diese Funktionalität verlangt, dass der Server mit lz4-Unterstützung gebaut wird."
 
-#: access/common/toast_compression.c:34 utils/adt/pg_locale.c:1589
-#: utils/adt/xml.c:224
-#, c-format
-msgid "You need to rebuild PostgreSQL using %s."
-msgstr "Sie müssen PostgreSQL mit %s neu bauen."
-
-#: access/common/tupdesc.c:825 parser/parse_clause.c:772
-#: parser/parse_relation.c:1838
+#: access/common/tupdesc.c:825 parser/parse_clause.c:773
+#: parser/parse_relation.c:1849
 #, c-format
 msgid "column \"%s\" cannot be declared SETOF"
 msgstr "Spalte »%s« kann nicht als SETOF deklariert werden"
@@ -903,7 +970,7 @@ msgstr "»%s« ist kein GIN-Index"
 msgid "cannot access temporary indexes of other sessions"
 msgstr "auf temporäre Indexe anderer Sitzungen kann nicht zugegriffen werden"
 
-#: access/gin/ginget.c:270 access/nbtree/nbtinsert.c:759
+#: access/gin/ginget.c:271 access/nbtree/nbtinsert.c:760
 #, c-format
 msgid "failed to re-find tuple within index \"%s\""
 msgstr "konnte Tupel mit Index »%s« nicht erneut finden"
@@ -918,8 +985,8 @@ msgstr "alte GIN-Indexe unterstützen keine Scans des ganzen Index oder Suchen n
 msgid "To fix this, do REINDEX INDEX \"%s\"."
 msgstr "Um das zu reparieren, führen Sie REINDEX INDEX \"%s\" aus."
 
-#: access/gin/ginutil.c:145 executor/execExpr.c:2166
-#: utils/adt/arrayfuncs.c:3818 utils/adt/arrayfuncs.c:6452
+#: access/gin/ginutil.c:146 executor/execExpr.c:2182
+#: utils/adt/arrayfuncs.c:3819 utils/adt/arrayfuncs.c:6488
 #: utils/adt/rowtypes.c:957
 #, c-format
 msgid "could not identify a comparison function for type %s"
@@ -942,18 +1009,18 @@ msgstr "in Operatorklasse »%s« für Zugriffsmethode %s fehlt Support-Funktion
 msgid "support function number %d is invalid for access method %s"
 msgstr "Support-Funktionsnummer %d ist ungültig für Zugriffsmethode %s"
 
-#: access/gist/gist.c:758 access/gist/gistvacuum.c:420
+#: access/gist/gist.c:760 access/gist/gistvacuum.c:426
 #, c-format
 msgid "index \"%s\" contains an inner tuple marked as invalid"
 msgstr "Index »%s« enthält ein inneres Tupel, das als ungültig markiert ist"
 
-#: access/gist/gist.c:760 access/gist/gistvacuum.c:422
+#: 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 "Das kommt von einem unvollständigen Page-Split bei der Crash-Recovery vor dem Upgrade auf PostgreSQL 9.1."
 
-#: access/gist/gist.c:761 access/gist/gistutil.c:801 access/gist/gistutil.c:812
-#: access/gist/gistvacuum.c:423 access/hash/hashutil.c:227
+#: access/gist/gist.c:763 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:810
 #: access/nbtree/nbtpage.c:821
@@ -961,7 +1028,7 @@ msgstr "Das kommt von einem unvollständigen Page-Split bei der Crash-Recovery v
 msgid "Please REINDEX it."
 msgstr "Bitte führen Sie REINDEX für den Index aus."
 
-#: access/gist/gist.c:1175
+#: access/gist/gist.c:1177
 #, c-format
 msgid "fixing incomplete split in index \"%s\", block %u"
 msgstr "repariere unvollständiges Teilen in Index »%s«, Block %u"
@@ -998,40 +1065,40 @@ msgstr "Operatorfamilie »%s« für Zugriffsmethode %s enthält nicht unterstüt
 msgid "operator family \"%s\" of access method %s contains incorrect ORDER BY opfamily specification for operator %s"
 msgstr "Operatorfamilie »%s« für Zugriffsmethode %s enthält ungültige ORDER-BY-Operatorfamilienangabe für Operator %s"
 
-#: access/hash/hashfunc.c:255 access/hash/hashfunc.c:311
-#: utils/adt/varchar.c:993 utils/adt/varchar.c:1053
+#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334
+#: utils/adt/varchar.c:1003 utils/adt/varchar.c:1063
 #, c-format
 msgid "could not determine which collation to use for string hashing"
 msgstr "konnte die für das Zeichenketten-Hashing zu verwendende Sortierfolge nicht bestimmen"
 
-#: access/hash/hashfunc.c:256 access/hash/hashfunc.c:312 catalog/heap.c:713
-#: catalog/heap.c:719 commands/createas.c:206 commands/createas.c:509
-#: commands/indexcmds.c:1869 commands/tablecmds.c:16795 commands/view.c:86
-#: regex/regc_pg_locale.c:263 utils/adt/formatting.c:1666
-#: utils/adt/formatting.c:1790 utils/adt/formatting.c:1915 utils/adt/like.c:194
-#: utils/adt/like_support.c:1003 utils/adt/varchar.c:733
-#: utils/adt/varchar.c:994 utils/adt/varchar.c:1054 utils/adt/varlena.c:1524
+#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:335 catalog/heap.c:665
+#: catalog/heap.c:671 commands/createas.c:206 commands/createas.c:503
+#: commands/indexcmds.c:1912 commands/tablecmds.c:17413 commands/view.c:86
+#: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1685
+#: utils/adt/formatting.c:1807 utils/adt/formatting.c:1930 utils/adt/like.c:190
+#: utils/adt/like_support.c:1024 utils/adt/varchar.c:733
+#: utils/adt/varchar.c:1004 utils/adt/varchar.c:1064 utils/adt/varlena.c:1499
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Verwenden Sie die COLLATE-Klausel, um die Sortierfolge explizit zu setzen."
 
-#: access/hash/hashinsert.c:82
+#: access/hash/hashinsert.c:83
 #, c-format
 msgid "index row size %zu exceeds hash maximum %zu"
 msgstr "Größe der Indexzeile %zu überschreitet Maximum für Hash-Index %zu"
 
-#: access/hash/hashinsert.c:84 access/spgist/spgdoinsert.c:2004
-#: access/spgist/spgdoinsert.c:2279 access/spgist/spgutils.c:1008
+#: access/hash/hashinsert.c:85 access/spgist/spgdoinsert.c:2005
+#: access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1020
 #, c-format
 msgid "Values larger than a buffer page cannot be indexed."
 msgstr "Werte, die größer sind als eine Pufferseite, können nicht indiziert werden."
 
-#: access/hash/hashovfl.c:87
+#: access/hash/hashovfl.c:88
 #, c-format
 msgid "invalid overflow block number %u"
 msgstr "ungültige Überlaufblocknummer %u"
 
-#: access/hash/hashovfl.c:283 access/hash/hashpage.c:453
+#: access/hash/hashovfl.c:284 access/hash/hashpage.c:454
 #, c-format
 msgid "out of overflow pages in hash index \"%s\""
 msgstr "keine Überlaufseiten in Hash-Index »%s« mehr"
@@ -1061,385 +1128,307 @@ msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlt Support-Funktion
 msgid "operator family \"%s\" of access method %s is missing cross-type operator(s)"
 msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlen typübergreifende Operatoren"
 
-#: access/heap/heapam.c:2260
+#: access/heap/heapam.c:2226
 #, c-format
 msgid "cannot insert tuples in a parallel worker"
 msgstr "in einem parallelen Arbeitsprozess können keine Tupel eingefügt werden"
 
-#: access/heap/heapam.c:2731
+#: access/heap/heapam.c:2697
 #, c-format
 msgid "cannot delete tuples during a parallel operation"
 msgstr "während einer parallelen Operation können keine Tupel gelöscht werden"
 
-#: access/heap/heapam.c:2777
+#: access/heap/heapam.c:2743
 #, c-format
 msgid "attempted to delete invisible tuple"
 msgstr "Versuch ein unsichtbares Tupel zu löschen"
 
-#: access/heap/heapam.c:3209 access/heap/heapam.c:6010
+#: access/heap/heapam.c:3175 access/heap/heapam.c:6017
 #, c-format
 msgid "cannot update tuples during a parallel operation"
 msgstr "während einer parallelen Operation können keine Tupel aktualisiert werden"
 
-#: access/heap/heapam.c:3342
+#: access/heap/heapam.c:3299
 #, c-format
 msgid "attempted to update invisible tuple"
 msgstr "Versuch ein unsichtbares Tupel zu aktualisieren"
 
-#: access/heap/heapam.c:4663 access/heap/heapam.c:4701
-#: access/heap/heapam.c:4957 access/heap/heapam_handler.c:454
+#: access/heap/heapam.c:4661 access/heap/heapam.c:4699
+#: access/heap/heapam.c:4964 access/heap/heapam_handler.c:456
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "konnte Sperre für Zeile in Relation »%s« nicht setzen"
 
-#: access/heap/heapam_handler.c:403
+#: access/heap/heapam_handler.c:401
 #, c-format
 msgid "tuple to be locked was already moved to another partition due to concurrent update"
 msgstr "das zu sperrende Tupel wurde schon durch ein gleichzeitiges Update in eine andere Partition verschoben"
 
-#: access/heap/hio.c:360 access/heap/rewriteheap.c:665
+#: access/heap/hio.c:360 access/heap/rewriteheap.c:660
 #, c-format
 msgid "row is too big: size %zu, maximum size %zu"
 msgstr "Zeile ist zu groß: Größe ist %zu, Maximalgröße ist %zu"
 
-#: access/heap/rewriteheap.c:927
+#: access/heap/rewriteheap.c:920
 #, c-format
 msgid "could not write to file \"%s\", wrote %d of %d: %m"
 msgstr "konnte nicht in Datei »%s« schreiben, %d von %d geschrieben: %m"
 
-#: access/heap/rewriteheap.c:1020 access/heap/rewriteheap.c:1138
+#: access/heap/rewriteheap.c:1013 access/heap/rewriteheap.c:1131
 #: access/transam/timeline.c:329 access/transam/timeline.c:485
-#: access/transam/xlog.c:3328 access/transam/xlog.c:3516
-#: access/transam/xlog.c:4714 access/transam/xlog.c:11086
-#: access/transam/xlog.c:11124 access/transam/xlog.c:11529
-#: access/transam/xlogfuncs.c:776 postmaster/postmaster.c:4600
-#: postmaster/postmaster.c:5646 replication/logical/origin.c:587
-#: replication/slot.c:1482 storage/file/copydir.c:167 storage/smgr/md.c:218
-#: utils/time/snapmgr.c:1244
+#: access/transam/xlog.c:2963 access/transam/xlog.c:3176
+#: access/transam/xlog.c:3964 access/transam/xlog.c:8635
+#: access/transam/xlogfuncs.c:594 commands/dbcommands.c:521
+#: postmaster/postmaster.c:4597 postmaster/postmaster.c:5618
+#: replication/basebackup_server.c:149 replication/basebackup_server.c:242
+#: replication/logical/origin.c:587 replication/slot.c:1639
+#: storage/file/copydir.c:167 storage/smgr/md.c:222 utils/time/snapmgr.c:1261
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht erstellen: %m"
 
-#: access/heap/rewriteheap.c:1148
+#: access/heap/rewriteheap.c:1141
 #, c-format
 msgid "could not truncate file \"%s\" to %u: %m"
 msgstr "konnte Datei »%s« nicht auf %u kürzen: %m"
 
-#: access/heap/rewriteheap.c:1166 access/transam/timeline.c:384
+#: access/heap/rewriteheap.c:1159 access/transam/timeline.c:384
 #: access/transam/timeline.c:424 access/transam/timeline.c:502
-#: access/transam/xlog.c:3400 access/transam/xlog.c:3572
-#: access/transam/xlog.c:4726 postmaster/postmaster.c:4610
-#: postmaster/postmaster.c:4620 replication/logical/origin.c:599
-#: replication/logical/origin.c:641 replication/logical/origin.c:660
-#: replication/logical/snapbuild.c:1611 replication/slot.c:1517
-#: storage/file/buffile.c:506 storage/file/copydir.c:207
-#: utils/init/miscinit.c:1421 utils/init/miscinit.c:1432
-#: utils/init/miscinit.c:1440 utils/misc/guc.c:8352 utils/misc/guc.c:8383
-#: utils/misc/guc.c:10292 utils/misc/guc.c:10306 utils/time/snapmgr.c:1249
-#: utils/time/snapmgr.c:1256
+#: access/transam/xlog.c:3035 access/transam/xlog.c:3232
+#: access/transam/xlog.c:3976 commands/dbcommands.c:533
+#: postmaster/postmaster.c:4607 postmaster/postmaster.c:4617
+#: replication/logical/origin.c:599 replication/logical/origin.c:641
+#: replication/logical/origin.c:660 replication/logical/snapbuild.c:1634
+#: replication/slot.c:1674 storage/file/buffile.c:537
+#: storage/file/copydir.c:207 utils/init/miscinit.c:1441
+#: utils/init/miscinit.c:1452 utils/init/miscinit.c:1460 utils/misc/guc.c:8653
+#: utils/misc/guc.c:8684 utils/misc/guc.c:10655 utils/misc/guc.c:10669
+#: utils/time/snapmgr.c:1266 utils/time/snapmgr.c:1273
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "konnte nicht in Datei »%s« schreiben: %m"
 
-#: access/heap/rewriteheap.c:1256 access/transam/twophase.c:1613
-#: access/transam/xlogarchive.c:118 access/transam/xlogarchive.c:422
-#: postmaster/postmaster.c:1096 postmaster/syslogger.c:1465
-#: replication/logical/origin.c:575 replication/logical/reorderbuffer.c:4362
-#: replication/logical/snapbuild.c:1556 replication/logical/snapbuild.c:1972
-#: replication/slot.c:1614 storage/file/fd.c:788 storage/file/fd.c:3169
-#: storage/file/fd.c:3231 storage/file/reinit.c:250 storage/ipc/dsm.c:315
-#: storage/smgr/md.c:344 storage/smgr/md.c:394 storage/sync/sync.c:231
-#: utils/time/snapmgr.c:1589
+#: access/heap/rewriteheap.c:1249 access/transam/twophase.c:1705
+#: access/transam/xlogarchive.c:119 access/transam/xlogarchive.c:429
+#: postmaster/postmaster.c:1157 postmaster/syslogger.c:1537
+#: replication/logical/origin.c:575 replication/logical/reorderbuffer.c:4397
+#: replication/logical/snapbuild.c:1579 replication/logical/snapbuild.c:1995
+#: replication/slot.c:1771 storage/file/fd.c:795 storage/file/fd.c:3263
+#: storage/file/fd.c:3325 storage/file/reinit.c:262 storage/ipc/dsm.c:317
+#: storage/smgr/md.c:348 storage/smgr/md.c:398 storage/sync/sync.c:250
+#: utils/time/snapmgr.c:1606
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht löschen: %m"
 
-#: access/heap/vacuumlazy.c:745
+#: access/heap/vacuumlazy.c:407
+#, c-format
+msgid "aggressively vacuuming \"%s.%s.%s\""
+msgstr "aggressives Vacuum von »%s.%s.%s«"
+
+#: access/heap/vacuumlazy.c:412
+#, c-format
+msgid "vacuuming \"%s.%s.%s\""
+msgstr "Vacuum von »%s.%s.%s«"
+
+#: access/heap/vacuumlazy.c:663
+#, fuzzy, c-format
+#| msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
+msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n"
+msgstr "automatisches Vacuum der Tabelle »%s.%s.%s«: Index-Scans: %d\n"
+
+#: access/heap/vacuumlazy.c:674
 #, c-format
 msgid "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "automatisches aggressives Vacuum um Überlauf zu verhindern in der Tabelle »%s.%s.%s«: Index-Scans: %d\n"
 
-#: access/heap/vacuumlazy.c:747
+#: access/heap/vacuumlazy.c:676
 #, c-format
 msgid "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "automatisches Vacuum um Überlauf zu verhindern in der Tabelle »%s.%s.%s«: Index-Scans: %d\n"
 
-#: access/heap/vacuumlazy.c:752
+#: access/heap/vacuumlazy.c:681
 #, c-format
 msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "automatisches aggressives Vacuum der Tabelle »%s.%s.%s«: Index-Scans: %d\n"
 
-#: access/heap/vacuumlazy.c:754
+#: access/heap/vacuumlazy.c:683
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "automatisches Vacuum der Tabelle »%s.%s.%s«: Index-Scans: %d\n"
 
-#: access/heap/vacuumlazy.c:761
-#, c-format
-msgid "pages: %u removed, %u remain, %u skipped due to pins, %u skipped frozen\n"
+#: access/heap/vacuumlazy.c:690
+#, fuzzy, c-format
+#| msgid "pages: %u removed, %u remain, %u skipped due to pins, %u skipped frozen\n"
+msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n"
 msgstr "Seiten: %u entfernt, %u verbleiben, %u übersprungen wegen Pins, %u übersprungen weil eingefroren\n"
 
-#: access/heap/vacuumlazy.c:767
-#, c-format
-msgid "tuples: %lld removed, %lld remain, %lld are dead but not yet removable, oldest xmin: %u\n"
-msgstr "Tupel: %lld entfernt, %lld verbleiben, %lld sind tot aber noch nicht entfernbar, ältestes xmin: %u\n"
-
-#: access/heap/vacuumlazy.c:773 commands/analyze.c:794
+#: access/heap/vacuumlazy.c:697
 #, c-format
-msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n"
-msgstr "Puffer-Verwendung: %lld Treffer, %lld Verfehlen, %lld geändert\n"
+msgid "tuples: %lld removed, %lld remain, %lld are dead but not yet removable\n"
+msgstr "Tupel: %lld entfernt, %lld verbleiben, %lld sind tot aber noch nicht entfernbar\n"
 
-#: access/heap/vacuumlazy.c:783
+#: access/heap/vacuumlazy.c:703
 #, c-format
-msgid " %u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n"
+msgid "tuples missed: %lld dead from %u pages not removed due to cleanup lock contention\n"
 msgstr ""
 
-#: access/heap/vacuumlazy.c:786
-#, fuzzy
-#| msgid "index \"%s\" not found"
-msgid "index scan not needed:"
-msgstr "Index »%s« nicht gefunden"
-
-#: access/heap/vacuumlazy.c:788
-#, fuzzy
-#| msgid "index \"%s\" was reindexed"
-msgid "index scan needed:"
-msgstr "Index »%s« wurde neu indiziert"
-
-#: access/heap/vacuumlazy.c:792
+#: access/heap/vacuumlazy.c:708
 #, c-format
-msgid " %u pages from table (%.2f%% of total) have %lld dead item identifiers\n"
-msgstr ""
-
-#: access/heap/vacuumlazy.c:795
-msgid "index scan bypassed:"
-msgstr ""
-
-#: access/heap/vacuumlazy.c:797
-msgid "index scan bypassed by failsafe:"
+msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n"
 msgstr ""
 
-#: access/heap/vacuumlazy.c:813
+#: access/heap/vacuumlazy.c:714
 #, c-format
-msgid "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u reusable\n"
+msgid "new relfrozenxid: %u, which is %d XIDs ahead of previous value\n"
 msgstr ""
 
-#: access/heap/vacuumlazy.c:820 commands/analyze.c:798
+#: access/heap/vacuumlazy.c:721
 #, c-format
-msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
-msgstr "durchschn. Leserate: %.3f MB/s, durchschn. Schreibrate: %.3f MB/s\n"
-
-#: access/heap/vacuumlazy.c:824 commands/analyze.c:802
-msgid "I/O Timings:"
+msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n"
 msgstr ""
 
-#: access/heap/vacuumlazy.c:826 commands/analyze.c:804
-#, c-format
-msgid " read=%.3f"
-msgstr ""
+#: access/heap/vacuumlazy.c:727
+msgid "index scan not needed: "
+msgstr "Index-Scan nicht benötigt: "
 
-#: access/heap/vacuumlazy.c:829 commands/analyze.c:807
-#, c-format
-msgid " write=%.3f"
-msgstr ""
+#: access/heap/vacuumlazy.c:729
+msgid "index scan needed: "
+msgstr "Index-Scan benötigt: "
 
-#: access/heap/vacuumlazy.c:833
+#: access/heap/vacuumlazy.c:731
 #, c-format
-msgid "system usage: %s\n"
-msgstr "Systembenutzung: %s\n"
+msgid "%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n"
+msgstr "in %u Seiten der Tabelle (%.2f%% der Gesamtzahl) wurden %lld tote Item-Bezeichner entfernt\n"
 
-#: access/heap/vacuumlazy.c:835
-#, fuzzy, c-format
-#| msgid "WAL usage: %ld records, %ld full page images, %llu bytes"
-msgid "WAL usage: %lld records, %lld full page images, %llu bytes"
-msgstr "WAL-Benutzung: %ld Einträge, %ld Full Page Images, %llu Bytes"
+#: access/heap/vacuumlazy.c:736
+msgid "index scan bypassed: "
+msgstr "Index-Scan umgangen: "
 
-#: access/heap/vacuumlazy.c:911
-#, c-format
-msgid "aggressively vacuuming \"%s.%s\""
-msgstr "aggressives Vacuum von »%s.%s«"
+#: access/heap/vacuumlazy.c:738
+msgid "index scan bypassed by failsafe: "
+msgstr "Index-Scan umgangen durch Ausfallsicherung: "
 
-#: access/heap/vacuumlazy.c:916 commands/cluster.c:898
+#: access/heap/vacuumlazy.c:740
 #, c-format
-msgid "vacuuming \"%s.%s\""
-msgstr "Vacuum von »%s.%s«"
-
-#: access/heap/vacuumlazy.c:1627
-#, fuzzy, c-format
-#| msgid "\"%s\": removed %d row versions in %d pages"
-msgid "\"%s\": removed %lld dead item identifiers in %u pages"
-msgstr "»%s«: %d Zeilenversionen in %d Seiten entfernt"
+msgid "%u pages from table (%.2f%% of total) have %lld dead item identifiers\n"
+msgstr "%u Seiten der Tabelle (%.2f%% der Gesamtzahl) haben %lld tote Item-Bezeichner\n"
 
-#: access/heap/vacuumlazy.c:1633
+#: access/heap/vacuumlazy.c:755
 #, c-format
-msgid "%lld dead row versions cannot be removed yet, oldest xmin: %u\n"
-msgstr "%lld tote Zeilenversionen können noch nicht entfernt werden, ältestes xmin: %u\n"
+msgid "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u reusable\n"
+msgstr "Index »%s«: Seiten: %u gesamt, %u neu gelöscht, %u gegenwärtig gelöscht, %u wiederverwendbar\n"
 
-#: access/heap/vacuumlazy.c:1635
+#: access/heap/vacuumlazy.c:767 commands/analyze.c:796
 #, c-format
-msgid "%u page removed.\n"
-msgid_plural "%u pages removed.\n"
-msgstr[0] ""
-msgstr[1] ""
+msgid "I/O timings: read: %.3f ms, write: %.3f ms\n"
+msgstr "I/O-Zeitmessungen: Lesen: %.3f ms, Schreiben: %.3f ms\n"
 
-#: access/heap/vacuumlazy.c:1639
+#: access/heap/vacuumlazy.c:777 commands/analyze.c:799
 #, c-format
-msgid "Skipped %u page due to buffer pins, "
-msgid_plural "Skipped %u pages due to buffer pins, "
-msgstr[0] "%u Seite wegen Buffer-Pins übersprungen, "
-msgstr[1] "%u Seiten wegen Buffer-Pins übersprungen, "
+msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
+msgstr "durchschn. Leserate: %.3f MB/s, durchschn. Schreibrate: %.3f MB/s\n"
 
-#: access/heap/vacuumlazy.c:1643
+#: access/heap/vacuumlazy.c:780 commands/analyze.c:801
 #, c-format
-msgid "%u frozen page.\n"
-msgid_plural "%u frozen pages.\n"
-msgstr[0] "%u eingefrorene Seite.\n"
-msgstr[1] "%u eingefrorene Seiten.\n"
+msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n"
+msgstr "Puffer-Verwendung: %lld Treffer, %lld Verfehlen, %lld geändert\n"
 
-#: access/heap/vacuumlazy.c:1647 commands/indexcmds.c:3986
-#: commands/indexcmds.c:4005
+#: access/heap/vacuumlazy.c:785
 #, c-format
-msgid "%s."
-msgstr "%s."
+msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n"
+msgstr "WAL-Benutzung: %lld Einträge, %lld Full Page Images, %llu Bytes\n"
 
-#: access/heap/vacuumlazy.c:1650
+#: access/heap/vacuumlazy.c:789 commands/analyze.c:805
 #, c-format
-msgid "\"%s\": found %lld removable, %lld nonremovable row versions in %u out of %u pages"
-msgstr "»%s«: %lld entfernbare, %lld nicht entfernbare Zeilenversionen in %u von %u Seiten gefunden"
+msgid "system usage: %s"
+msgstr "Systembenutzung: %s"
 
-#: access/heap/vacuumlazy.c:2155
+#: access/heap/vacuumlazy.c:2463
 #, c-format
-msgid "\"%s\": index scan bypassed: %u pages from table (%.2f%% of total) have %lld dead item identifiers"
-msgstr ""
-
-#: access/heap/vacuumlazy.c:2366
-#, fuzzy, c-format
-#| msgid "\"%s\": removed %d row versions in %d pages"
-msgid "\"%s\": removed %d dead item identifiers in %u pages"
-msgstr "»%s«: %d Zeilenversionen in %d Seiten entfernt"
+msgid "table \"%s\": removed %lld dead item identifiers in %u pages"
+msgstr "Tabelle »%s«: %lld tote Item-Bezeichner in %u Seiten entfernt"
 
-#: access/heap/vacuumlazy.c:2598
-#, fuzzy, c-format
-#| msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
+#: access/heap/vacuumlazy.c:2629
+#, c-format
 msgid "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after %d index scans"
-msgstr "automatisches Vacuum der Tabelle »%s.%s.%s«: Index-Scans: %d\n"
+msgstr "umgehe nicht essentielle Wartung der Tabelle »%s.%s.%s« als Ausfallsicherung nach %d Index-Scans"
 
-#: access/heap/vacuumlazy.c:2603
-#, fuzzy, c-format
-#| msgid "oldest xmin is far in the past"
-msgid "table's relfrozenxid or relminmxid is too far in the past"
-msgstr "älteste xmin ist weit in der Vergangenheit"
+#: access/heap/vacuumlazy.c:2634
+#, c-format
+msgid "The table's relfrozenxid or relminmxid is too far in the past."
+msgstr "relfrozenxid oder relminmxid der Tabelle ist zu weit in der Vergangenheit."
 
-#: access/heap/vacuumlazy.c:2604
+#: access/heap/vacuumlazy.c:2635
 #, c-format
 msgid ""
 "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n"
 "You might also need to consider other ways for VACUUM to keep up with the allocation of transaction IDs."
 msgstr ""
+"Erhöhen Sie eventuell die Konfigurationsparameter »maintenance_work_mem« oder »autovacuum_work_mem«.\n"
+"Sie müssen möglicherweise auch andere Wege in Betracht ziehen, wie VACUUM mit der Benutzung von Transaktions-IDs mithalten kann."
 
-#: access/heap/vacuumlazy.c:2744
-#, 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)"
-msgstr[0] "%d parallelen Vacuum-Worker für Index-Cleanup gestartet (geplant: %d)"
-msgstr[1] "%d parallele Vacuum-Worker für Index-Cleanup gestartet (geplant: %d)"
-
-#: access/heap/vacuumlazy.c:2750
-#, 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] "%d parallelen Vacuum-Worker für Index-Vacuum gestartet (geplant: %d)"
-msgstr[1] "%d parallele Vacuum-Worker für Index-Vacuum gestartet (geplant: %d)"
-
-#: access/heap/vacuumlazy.c:3039
-#, c-format
-msgid "scanned index \"%s\" to remove %d row versions"
-msgstr "Index »%s« gelesen und %d Zeilenversionen entfernt"
-
-#: access/heap/vacuumlazy.c:3096
-#, c-format
-msgid "index \"%s\" now contains %.0f row versions in %u pages"
-msgstr "Index »%s« enthält %.0f Zeilenversionen in %u Seiten"
-
-#: access/heap/vacuumlazy.c:3100
-#, fuzzy, c-format
-#| msgid ""
-#| "%.0f index row versions were removed.\n"
-#| "%u index pages have been deleted, %u are currently reusable.\n"
-#| "%s."
-msgid ""
-"%.0f index row versions were removed.\n"
-"%u index pages were newly deleted.\n"
-"%u index pages are currently deleted, of which %u are currently reusable.\n"
-"%s."
-msgstr ""
-"%.0f Indexzeilenversionen wurde entfernt.\n"
-"%u Indexseiten wurden gelöscht, %u sind gegenwärtig wiederverwendbar.\n"
-"%s."
-
-#: access/heap/vacuumlazy.c:3212
+#: access/heap/vacuumlazy.c:2878
 #, c-format
 msgid "\"%s\": stopping truncate due to conflicting lock request"
 msgstr "»%s«: Truncate wird gestoppt wegen Sperrkonflikt"
 
-#: access/heap/vacuumlazy.c:3278
+#: access/heap/vacuumlazy.c:2948
 #, c-format
-msgid "\"%s\": truncated %u to %u pages"
-msgstr "»%s«: von %u auf %u Seiten verkürzt"
+msgid "table \"%s\": truncated %u to %u pages"
+msgstr "Tabelle »%s«: von %u auf %u Seiten verkürzt"
 
-#: access/heap/vacuumlazy.c:3343
+#: access/heap/vacuumlazy.c:3010
 #, c-format
-msgid "\"%s\": suspending truncate due to conflicting lock request"
-msgstr "»%s«: Truncate wird ausgesetzt wegen Sperrkonflikt"
+msgid "table \"%s\": suspending truncate due to conflicting lock request"
+msgstr "Tabelle »%s«: Truncate wird ausgesetzt wegen Sperrkonflikt"
 
-#: access/heap/vacuumlazy.c:3489
+#: access/heap/vacuumlazy.c:3170
 #, c-format
 msgid "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary tables in parallel"
 msgstr "Paralleloption für Vacuum von »%s« wird deaktiviert --- Vacuum in temporären Tabellen kann nicht parallel ausgeführt werden"
 
-#: access/heap/vacuumlazy.c:4244
-#, fuzzy, c-format
-#| msgid "while scanning block %u of relation \"%s.%s\""
-msgid "while scanning block %u and offset %u of relation \"%s.%s\""
-msgstr "beim Scannen von Block %u von Relation »%s.%s«"
+#: access/heap/vacuumlazy.c:3383
+#, c-format
+msgid "while scanning block %u offset %u of relation \"%s.%s\""
+msgstr "beim Scannen von Block %u Offset %u von Relation »%s.%s«"
 
-#: access/heap/vacuumlazy.c:4247
+#: access/heap/vacuumlazy.c:3386
 #, c-format
 msgid "while scanning block %u of relation \"%s.%s\""
 msgstr "beim Scannen von Block %u von Relation »%s.%s«"
 
-#: access/heap/vacuumlazy.c:4251
+#: access/heap/vacuumlazy.c:3390
 #, c-format
 msgid "while scanning relation \"%s.%s\""
 msgstr "beim Scannen von Relation »%s.%s«"
 
-#: access/heap/vacuumlazy.c:4259
-#, fuzzy, c-format
-#| msgid "while vacuuming block %u of relation \"%s.%s\""
-msgid "while vacuuming block %u and offset %u of relation \"%s.%s\""
-msgstr "beim Vacuum von Block %u von Relation »%s.%s«"
+#: access/heap/vacuumlazy.c:3398
+#, c-format
+msgid "while vacuuming block %u offset %u of relation \"%s.%s\""
+msgstr "beim Vacuum von Block %u Offset %u von Relation »%s.%s«"
 
-#: access/heap/vacuumlazy.c:4262
+#: access/heap/vacuumlazy.c:3401
 #, c-format
 msgid "while vacuuming block %u of relation \"%s.%s\""
 msgstr "beim Vacuum von Block %u von Relation »%s.%s«"
 
-#: access/heap/vacuumlazy.c:4266
+#: access/heap/vacuumlazy.c:3405
 #, c-format
 msgid "while vacuuming relation \"%s.%s\""
 msgstr "beim Vacuum von Relation »%s.%s«"
 
-#: access/heap/vacuumlazy.c:4271
+#: access/heap/vacuumlazy.c:3410 commands/vacuumparallel.c:1057
 #, c-format
 msgid "while vacuuming index \"%s\" of relation \"%s.%s\""
 msgstr "beim Vacuum von Index »%s« von Relation »%s.%s«"
 
-#: access/heap/vacuumlazy.c:4276
+#: access/heap/vacuumlazy.c:3415 commands/vacuumparallel.c:1063
 #, c-format
 msgid "while cleaning up index \"%s\" of relation \"%s.%s\""
 msgstr "beim Säubern von Index »%s« von Relation »%s.%s«"
 
-#: access/heap/vacuumlazy.c:4282
+#: access/heap/vacuumlazy.c:3421
 #, c-format
 msgid "while truncating relation \"%s.%s\" to %u blocks"
 msgstr "beim Trunkieren von Relation »%s.%s« auf %u Blöcke"
@@ -1454,14 +1443,14 @@ msgstr "Zugriffsmethode »%s« ist nicht vom Typ %s"
 msgid "index access method \"%s\" does not have a handler"
 msgstr "Indexzugriffsmethode »%s« hat keinen Handler"
 
-#: access/index/genam.c:486
+#: access/index/genam.c:489
 #, c-format
 msgid "transaction aborted during system catalog scan"
 msgstr "Transaktion während eines Systemkatalog-Scans abgebrochen"
 
-#: access/index/indexam.c:142 catalog/objectaddress.c:1355
-#: commands/indexcmds.c:2670 commands/tablecmds.c:267 commands/tablecmds.c:291
-#: commands/tablecmds.c:16493 commands/tablecmds.c:18195
+#: access/index/indexam.c:142 catalog/objectaddress.c:1376
+#: commands/indexcmds.c:2713 commands/tablecmds.c:270 commands/tablecmds.c:294
+#: commands/tablecmds.c:17101 commands/tablecmds.c:18869
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "»%s« ist kein Index"
@@ -1471,23 +1460,23 @@ msgstr "»%s« ist kein Index"
 msgid "operator class %s has no options"
 msgstr "Operatorklasse %s hat keine Optionen"
 
-#: access/nbtree/nbtinsert.c:665
+#: access/nbtree/nbtinsert.c:666
 #, c-format
 msgid "duplicate key value violates unique constraint \"%s\""
 msgstr "doppelter Schlüsselwert verletzt Unique-Constraint »%s«"
 
-#: access/nbtree/nbtinsert.c:667
+#: access/nbtree/nbtinsert.c:668
 #, c-format
 msgid "Key %s already exists."
 msgstr "Schlüssel »%s« existiert bereits."
 
-#: access/nbtree/nbtinsert.c:761
+#: access/nbtree/nbtinsert.c:762
 #, c-format
 msgid "This may be because of a non-immutable index expression."
 msgstr "Das kann daran liegen, dass der Indexausdruck nicht »immutable« ist."
 
 #: access/nbtree/nbtpage.c:159 access/nbtree/nbtpage.c:608
-#: parser/parse_utilcmd.c:2329
+#: parser/parse_utilcmd.c:2322
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "Index »%s« ist kein B-Tree"
@@ -1497,27 +1486,27 @@ msgstr "Index »%s« ist kein B-Tree"
 msgid "version mismatch in index \"%s\": file version %d, current version %d, minimal supported version %d"
 msgstr "keine Versionsübereinstimmung in Index »%s«: Dateiversion %d, aktuelle Version %d, kleinste unterstützte Version %d"
 
-#: access/nbtree/nbtpage.c:1875
+#: access/nbtree/nbtpage.c:1874
 #, c-format
 msgid "index \"%s\" contains a half-dead internal page"
 msgstr "Index »%s« enthält eine halbtote interne Seite"
 
-#: access/nbtree/nbtpage.c:1877
+#: access/nbtree/nbtpage.c:1876
 #, c-format
 msgid "This can be caused by an interrupted VACUUM in version 9.3 or older, before upgrade. Please REINDEX it."
 msgstr "Die Ursache kann ein unterbrochenes VACUUM in Version 9.3 oder älter vor dem Upgrade sein. Bitte REINDEX durchführen."
 
-#: access/nbtree/nbtutils.c:2665
+#: access/nbtree/nbtutils.c:2669
 #, c-format
 msgid "index row size %zu exceeds btree version %u maximum %zu for index \"%s\""
 msgstr "Größe %zu der Indexzeile überschreitet btree-Version %u Maximum %zu für Index »%s«"
 
-#: access/nbtree/nbtutils.c:2671
+#: access/nbtree/nbtutils.c:2675
 #, c-format
 msgid "Index row references tuple (%u,%u) in relation \"%s\"."
 msgstr "Indexzeile verweist auf Tupel (%u,%u) in Relation »%s«."
 
-#: access/nbtree/nbtutils.c:2675
+#: access/nbtree/nbtutils.c:2679
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -1531,12 +1520,12 @@ msgstr ""
 msgid "operator family \"%s\" of access method %s is missing support function for types %s and %s"
 msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlt Support-Funktion für Typen %s und %s"
 
-#: access/spgist/spgutils.c:232
+#: access/spgist/spgutils.c:245
 #, c-format
 msgid "compress method must be defined when leaf type is different from input type"
 msgstr "Compress-Methode muss definiert sein, wenn der Leaf-Typ verschieden vom Eingabetyp ist"
 
-#: access/spgist/spgutils.c:1005
+#: access/spgist/spgutils.c:1017
 #, c-format
 msgid "SP-GiST inner tuple size %zu exceeds maximum %zu"
 msgstr "innere Tupelgröße %zu überschreitet SP-GiST-Maximum %zu"
@@ -1552,14 +1541,14 @@ msgid "operator family \"%s\" of access method %s is missing support function %d
 msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlt Support-Funktion %d für Typ %s"
 
 #: access/table/table.c:49 access/table/table.c:83 access/table/table.c:112
-#: access/table/table.c:145 catalog/aclchk.c:1792
+#: access/table/table.c:145 catalog/aclchk.c:1835
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "»%s« ist ein Index"
 
 #: access/table/table.c:54 access/table/table.c:88 access/table/table.c:117
-#: access/table/table.c:150 catalog/aclchk.c:1799 commands/tablecmds.c:13198
-#: commands/tablecmds.c:16502
+#: access/table/table.c:150 catalog/aclchk.c:1842 commands/tablecmds.c:13754
+#: commands/tablecmds.c:17110
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "»%s« ist ein zusammengesetzter Typ"
@@ -1574,7 +1563,7 @@ msgstr "tid (%u, %u) ist nicht gültig für Relation »%s«"
 msgid "%s cannot be empty."
 msgstr "%s kann nicht leer sein."
 
-#: access/table/tableamapi.c:122 utils/misc/guc.c:12438
+#: access/table/tableamapi.c:122 utils/misc/guc.c:12809
 #, c-format
 msgid "%s is too long (maximum %d characters)."
 msgstr "%s ist zu lang (maximal %d Zeichen)."
@@ -1594,22 +1583,22 @@ msgstr "Tabellenzugriffsmethode »%s« existiert nicht."
 msgid "sample percentage must be between 0 and 100"
 msgstr "Stichprobenprozentsatz muss zwischen 0 und 100 sein"
 
-#: access/transam/commit_ts.c:278
+#: access/transam/commit_ts.c:282
 #, c-format
 msgid "cannot retrieve commit timestamp for transaction %u"
 msgstr "Commit-Timestamp von Transaktion %u kann nicht abgefragt werden"
 
-#: access/transam/commit_ts.c:376
+#: access/transam/commit_ts.c:380
 #, c-format
 msgid "could not get commit timestamp data"
 msgstr "konnte Commit-Timestamp-Daten nicht auslesen"
 
-#: access/transam/commit_ts.c:378
+#: access/transam/commit_ts.c:382
 #, c-format
 msgid "Make sure the configuration parameter \"%s\" is set on the primary server."
 msgstr "Stellen Sie sicher, dass der Konfigurationsparameter »%s« auf dem Primärserver gesetzt ist."
 
-#: access/transam/commit_ts.c:380
+#: access/transam/commit_ts.c:384
 #, c-format
 msgid "Make sure the configuration parameter \"%s\" is set."
 msgstr "Stellen Sie sicher, dass der Konfigurationsparameter »%s« gesetzt ist."
@@ -1634,14 +1623,14 @@ msgstr ""
 msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with OID %u"
 msgstr "Datenbank nimmt keine Befehle an, die neue MultiXactIds erzeugen, um Datenverlust wegen Transaktionsnummernüberlauf in Datenbank mit OID %u zu vermeiden"
 
-#: access/transam/multixact.c:1049 access/transam/multixact.c:2330
+#: access/transam/multixact.c:1049 access/transam/multixact.c:2333
 #, c-format
 msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used"
 msgid_plural "database \"%s\" must be vacuumed before %u more MultiXactIds are used"
 msgstr[0] "Datenbank »%s« muss gevacuumt werden, bevor %u weitere MultiXactId aufgebraucht ist"
 msgstr[1] "Datenbank »%s« muss gevacuumt werden, bevor %u weitere MultiXactIds aufgebraucht sind"
 
-#: access/transam/multixact.c:1058 access/transam/multixact.c:2339
+#: access/transam/multixact.c:1058 access/transam/multixact.c:2342
 #, 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"
@@ -1677,7 +1666,7 @@ msgstr[1] "Datenbank mit OID %u muss gevacuumt werden, bevor %d weitere Multixac
 msgid "Execute a database-wide VACUUM in that database with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings."
 msgstr "Führen Sie ein datenbankweites VACUUM in dieser Datenbank aus, mit reduzierten Einstellungen für vacuum_multixact_freeze_min_age und vacuum_multixact_freeze_table_age."
 
-#: access/transam/multixact.c:1298
+#: access/transam/multixact.c:1300
 #, c-format
 msgid "MultiXactId %u does no longer exist -- apparent wraparound"
 msgstr "MultiXactId %u existiert nicht mehr -- anscheinender Überlauf"
@@ -1687,7 +1676,7 @@ msgstr "MultiXactId %u existiert nicht mehr -- anscheinender Überlauf"
 msgid "MultiXactId %u has not been created yet -- apparent wraparound"
 msgstr "MultiXactId %u wurde noch nicht erzeugt -- anscheinender Überlauf"
 
-#: access/transam/multixact.c:2335 access/transam/multixact.c:2344
+#: 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
@@ -1698,119 +1687,183 @@ msgstr ""
 "Um ein Abschalten der Datenbank zu vermeiden, führen Sie ein komplettes VACUUM über diese Datenbank aus.\n"
 "Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen oder unbenutzte Replikations-Slots löschen."
 
-#: access/transam/multixact.c:2618
+#: access/transam/multixact.c:2621
 #, c-format
 msgid "MultiXact member wraparound protections are disabled because oldest checkpointed MultiXact %u does not exist on disk"
 msgstr "MultiXact-Member-Wraparound-Schutz ist deaktiviert, weil die älteste gecheckpointete MultiXact %u nicht auf der Festplatte existiert"
 
-#: access/transam/multixact.c:2640
+#: access/transam/multixact.c:2643
 #, c-format
 msgid "MultiXact member wraparound protections are now enabled"
 msgstr "MultiXact-Member-Wraparound-Schutz ist jetzt aktiviert"
 
-#: access/transam/multixact.c:3027
+#: access/transam/multixact.c:3030
 #, c-format
 msgid "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation"
 msgstr "älteste MultiXact %u nicht gefunden, älteste ist MultiXact %u, Truncate wird ausgelassen"
 
-#: access/transam/multixact.c:3045
+#: access/transam/multixact.c:3048
 #, c-format
 msgid "cannot truncate up to MultiXact %u because it does not exist on disk, skipping truncation"
 msgstr "kann nicht bis MultiXact %u trunkieren, weil sie nicht auf der Festplatte existiert, Trunkierung wird ausgelassen"
 
-#: access/transam/multixact.c:3359
+#: access/transam/multixact.c:3362
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "ungültige MultiXactId: %u"
 
-#: access/transam/parallel.c:707 access/transam/parallel.c:826
+#: access/transam/parallel.c:718 access/transam/parallel.c:837
 #, c-format
 msgid "parallel worker failed to initialize"
 msgstr "Initialisierung von parallelem Arbeitsprozess fehlgeschlagen"
 
-#: access/transam/parallel.c:708 access/transam/parallel.c:827
+#: access/transam/parallel.c:719 access/transam/parallel.c:838
 #, c-format
 msgid "More details may be available in the server log."
 msgstr "Weitere Einzelheiten sind möglicherweise im Serverlog zu finden."
 
-#: access/transam/parallel.c:888
+#: access/transam/parallel.c:899
 #, c-format
 msgid "postmaster exited during a parallel transaction"
 msgstr "Postmaster beendete während einer parallelen Transaktion"
 
-#: access/transam/parallel.c:1075
+#: access/transam/parallel.c:1086
 #, c-format
 msgid "lost connection to parallel worker"
 msgstr "Verbindung mit parallelem Arbeitsprozess verloren"
 
-#: access/transam/parallel.c:1141 access/transam/parallel.c:1143
+#: access/transam/parallel.c:1152 access/transam/parallel.c:1154
 msgid "parallel worker"
 msgstr "paralleler Arbeitsprozess"
 
-#: access/transam/parallel.c:1294
+#: access/transam/parallel.c:1307
 #, c-format
 msgid "could not map dynamic shared memory segment"
 msgstr "konnte dynamisches Shared-Memory-Segment nicht mappen"
 
-#: access/transam/parallel.c:1299
+#: access/transam/parallel.c:1312
 #, c-format
 msgid "invalid magic number in dynamic shared memory segment"
 msgstr "ungültige magische Zahl in dynamischem Shared-Memory-Segment"
 
-#: access/transam/slru.c:712
+#: access/transam/rmgr.c:84
+#, fuzzy, c-format
+#| msgid "resource manager \"%s\" does not exist"
+msgid "resource manager with ID %d not registered"
+msgstr "Resouce-Manager »%s« existiert nicht"
+
+#: access/transam/rmgr.c:85
+#, c-format
+msgid "Include the extension module that implements this resource manager in shared_preload_libraries."
+msgstr ""
+
+#: access/transam/rmgr.c:101
+#, fuzzy, c-format
+#| msgid "custom resource manager \"%s\" does not exist"
+msgid "custom resource manager name is invalid"
+msgstr "Custom-Resouce-Manager »%s« existiert nicht"
+
+#: access/transam/rmgr.c:102
+#, c-format
+msgid "Provide a non-empty name for the custom resource manager."
+msgstr ""
+
+#: access/transam/rmgr.c:105
+#, fuzzy, c-format
+#| msgid "custom resource manager \"%s\" does not exist"
+msgid "custom resource manager ID %d is out of range"
+msgstr "Custom-Resouce-Manager »%s« existiert nicht"
+
+#: access/transam/rmgr.c:106
+#, fuzzy, c-format
+#| msgid "invalid resource manager ID %u at %X/%X"
+msgid "Provide a custom resource manager ID between %d and %d."
+msgstr "ungültige Resource-Manager-ID %u bei %X/%X"
+
+#: access/transam/rmgr.c:111 access/transam/rmgr.c:116
+#: access/transam/rmgr.c:128
+#, fuzzy, c-format
+#| msgid "custom resource manager \"%s\" does not exist"
+msgid "failed to register custom resource manager \"%s\" with ID %d"
+msgstr "Custom-Resouce-Manager »%s« existiert nicht"
+
+#: access/transam/rmgr.c:112
+#, fuzzy, c-format
+#| msgid "background worker \"%s\": must be registered in shared_preload_libraries"
+msgid "Custom resource manager must be registered while initializing modules in shared_preload_libraries."
+msgstr "Background-Worker »%s«: muss in shared_preload_libraries registriert sein"
+
+#: access/transam/rmgr.c:117
+#, fuzzy, c-format
+#| msgid "custom resource manager \"%s\" does not exist"
+msgid "Custom resource manager \"%s\" already registered with the same ID."
+msgstr "Custom-Resouce-Manager »%s« existiert nicht"
+
+#: access/transam/rmgr.c:129
+#, c-format
+msgid "Existing resource manager with ID %d has the same name."
+msgstr ""
+
+#: access/transam/rmgr.c:135
+#, fuzzy, c-format
+#| msgid "custom resource manager \"%s\" does not exist"
+msgid "registered custom resource manager \"%s\" with ID %d"
+msgstr "Custom-Resouce-Manager »%s« existiert nicht"
+
+#: access/transam/slru.c:713
 #, c-format
 msgid "file \"%s\" doesn't exist, reading as zeroes"
 msgstr "Datei »%s« existiert nicht, wird als Nullen eingelesen"
 
-#: access/transam/slru.c:944 access/transam/slru.c:950
-#: access/transam/slru.c:958 access/transam/slru.c:963
-#: access/transam/slru.c:970 access/transam/slru.c:975
-#: access/transam/slru.c:982 access/transam/slru.c:989
+#: access/transam/slru.c:945 access/transam/slru.c:951
+#: access/transam/slru.c:959 access/transam/slru.c:964
+#: access/transam/slru.c:971 access/transam/slru.c:976
+#: access/transam/slru.c:983 access/transam/slru.c:990
 #, c-format
 msgid "could not access status of transaction %u"
 msgstr "konnte auf den Status von Transaktion %u nicht zugreifen"
 
-#: access/transam/slru.c:945
+#: access/transam/slru.c:946
 #, c-format
 msgid "Could not open file \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht öffnen: %m."
 
-#: access/transam/slru.c:951
+#: access/transam/slru.c:952
 #, c-format
-msgid "Could not seek in file \"%s\" to offset %u: %m."
-msgstr "Konnte Positionszeiger in Datei »%s« nicht auf %u setzen: %m."
+msgid "Could not seek in file \"%s\" to offset %d: %m."
+msgstr "Konnte Positionszeiger in Datei »%s« nicht auf %d setzen: %m."
 
-#: access/transam/slru.c:959
+#: access/transam/slru.c:960
 #, c-format
-msgid "Could not read from file \"%s\" at offset %u: %m."
-msgstr "Konnte nicht aus Datei »%s« bei Position %u lesen: %m."
+msgid "Could not read from file \"%s\" at offset %d: %m."
+msgstr "Konnte nicht aus Datei »%s« bei Position %d lesen: %m."
 
-#: access/transam/slru.c:964
+#: access/transam/slru.c:965
 #, c-format
-msgid "Could not read from file \"%s\" at offset %u: read too few bytes."
-msgstr "Konnte nicht aus Datei »%s« bei Position %u lesen: zu wenige Bytes gelesen."
+msgid "Could not read from file \"%s\" at offset %d: read too few bytes."
+msgstr "Konnte nicht aus Datei »%s« bei Position %d lesen: zu wenige Bytes gelesen."
 
-#: access/transam/slru.c:971
+#: access/transam/slru.c:972
 #, c-format
-msgid "Could not write to file \"%s\" at offset %u: %m."
-msgstr "Konnte nicht in Datei »%s« bei Position %u schreiben: %m."
+msgid "Could not write to file \"%s\" at offset %d: %m."
+msgstr "Konnte nicht in Datei »%s« bei Position %d schreiben: %m."
 
-#: access/transam/slru.c:976
+#: access/transam/slru.c:977
 #, c-format
-msgid "Could not write to file \"%s\" at offset %u: wrote too few bytes."
-msgstr "Konnte nicht in Datei »%s« bei Position %u schreiben: zu wenige Bytes geschrieben."
+msgid "Could not write to file \"%s\" at offset %d: wrote too few bytes."
+msgstr "Konnte nicht in Datei »%s« bei Position %d schreiben: zu wenige Bytes geschrieben."
 
-#: access/transam/slru.c:983
+#: access/transam/slru.c:984
 #, c-format
 msgid "Could not fsync file \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht fsyncen: %m."
 
-#: access/transam/slru.c:990
+#: access/transam/slru.c:991
 #, c-format
 msgid "Could not close file \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht schließen: %m."
 
-#: access/transam/slru.c:1251
+#: access/transam/slru.c:1252
 #, c-format
 msgid "could not truncate directory \"%s\": apparent wraparound"
 msgstr "konnte Verzeichnis »%s« nicht leeren: anscheinender Überlauf"
@@ -1855,161 +1908,167 @@ msgstr "Zeitleisten-IDs müssen kleiner als die Zeitleisten-ID des Kindes sein."
 msgid "requested timeline %u is not in this server's history"
 msgstr "angeforderte Zeitleiste %u ist nicht in der History dieses Servers"
 
-#: access/transam/twophase.c:381
+#: access/transam/twophase.c:385
 #, c-format
 msgid "transaction identifier \"%s\" is too long"
 msgstr "Transaktionsbezeichner »%s« ist zu lang"
 
-#: access/transam/twophase.c:388
+#: access/transam/twophase.c:392
 #, c-format
 msgid "prepared transactions are disabled"
 msgstr "vorbereitete Transaktionen sind abgeschaltet"
 
-#: access/transam/twophase.c:389
+#: access/transam/twophase.c:393
 #, c-format
 msgid "Set max_prepared_transactions to a nonzero value."
 msgstr "Setzen Sie max_prepared_transactions auf einen Wert höher als null."
 
-#: access/transam/twophase.c:408
+#: access/transam/twophase.c:412
 #, c-format
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "Transaktionsbezeichner »%s« wird bereits verwendet"
 
-#: access/transam/twophase.c:417 access/transam/twophase.c:2385
+#: access/transam/twophase.c:421 access/transam/twophase.c:2486
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "maximale Anzahl vorbereiteter Transaktionen erreicht"
 
-#: access/transam/twophase.c:418 access/transam/twophase.c:2386
+#: access/transam/twophase.c:422 access/transam/twophase.c:2487
 #, c-format
 msgid "Increase max_prepared_transactions (currently %d)."
 msgstr "Erhöhen Sie max_prepared_transactions (aktuell %d)."
 
-#: access/transam/twophase.c:584
+#: access/transam/twophase.c:598
 #, c-format
 msgid "prepared transaction with identifier \"%s\" is busy"
 msgstr "vorbereitete Transaktion mit Bezeichner »%s« ist beschäftigt"
 
-#: access/transam/twophase.c:590
+#: access/transam/twophase.c:604
 #, c-format
 msgid "permission denied to finish prepared transaction"
 msgstr "keine Berechtigung, um vorbereitete Transaktion abzuschließen"
 
-#: access/transam/twophase.c:591
+#: access/transam/twophase.c:605
 #, c-format
 msgid "Must be superuser or the user that prepared the transaction."
 msgstr "Sie müssen Superuser oder der Benutzer sein, der die Transaktion vorbereitet hat."
 
-#: access/transam/twophase.c:602
+#: access/transam/twophase.c:616
 #, c-format
 msgid "prepared transaction belongs to another database"
 msgstr "vorbereitete Transaktion gehört zu einer anderen Datenbank"
 
-#: access/transam/twophase.c:603
+#: access/transam/twophase.c:617
 #, c-format
 msgid "Connect to the database where the transaction was prepared to finish it."
 msgstr "Verbinden Sie sich mit der Datenbank, wo die Transaktion vorbereitet wurde, um sie zu beenden."
 
-#: access/transam/twophase.c:618
+#: access/transam/twophase.c:632
 #, c-format
 msgid "prepared transaction with identifier \"%s\" does not exist"
 msgstr "vorbereitete Transaktion mit Bezeichner »%s« existiert nicht"
 
-#: access/transam/twophase.c:1093
+#: access/transam/twophase.c:1169
 #, c-format
 msgid "two-phase state file maximum length exceeded"
 msgstr "maximale Länge der Zweiphasen-Statusdatei überschritten"
 
-#: access/transam/twophase.c:1247
+#: access/transam/twophase.c:1324
 #, c-format
 msgid "incorrect size of file \"%s\": %lld byte"
 msgid_plural "incorrect size of file \"%s\": %lld bytes"
 msgstr[0] "falsche Größe von Datei »%s«: %lld Byte"
 msgstr[1] "falsche Größe von Datei »%s«: %lld Bytes"
 
-#: access/transam/twophase.c:1256
+#: access/transam/twophase.c:1333
 #, c-format
 msgid "incorrect alignment of CRC offset for file \"%s\""
 msgstr "falsche Ausrichtung des CRC-Offsets für Datei »%s«"
 
-#: access/transam/twophase.c:1274
+#: access/transam/twophase.c:1351
 #, c-format
 msgid "could not read file \"%s\": read %d of %lld"
 msgstr "konnte Datei »%s« nicht lesen: %d von %lld gelesen"
 
-#: access/transam/twophase.c:1289
+#: access/transam/twophase.c:1366
 #, c-format
 msgid "invalid magic number stored in file \"%s\""
 msgstr "ungültige magische Zahl in Datei »%s gespeichert«"
 
-#: access/transam/twophase.c:1295
+#: access/transam/twophase.c:1372
 #, c-format
 msgid "invalid size stored in file \"%s\""
 msgstr "ungültige Größe in Datei »%s« gespeichert"
 
-#: access/transam/twophase.c:1307
+#: access/transam/twophase.c:1384
 #, c-format
 msgid "calculated CRC checksum does not match value stored in file \"%s\""
 msgstr "berechnete CRC-Prüfsumme stimmt nicht mit dem Wert in Datei »%s« überein"
 
-#: access/transam/twophase.c:1342 access/transam/xlog.c:6634
+#: access/transam/twophase.c:1414 access/transam/xlogrecovery.c:568
+#: replication/logical/logical.c:206 replication/walsender.c:703
 #, c-format
 msgid "Failed while allocating a WAL reading processor."
 msgstr "Fehlgeschlagen beim Anlegen eines WAL-Leseprozessors."
 
-#: access/transam/twophase.c:1357
+#: access/transam/twophase.c:1424
+#, c-format
+msgid "could not read two-phase state from WAL at %X/%X: %s"
+msgstr "konnte Zweiphasen-Status nicht aus dem WAL bei %X/%X lesen: %s"
+
+#: access/transam/twophase.c:1429
 #, c-format
 msgid "could not read two-phase state from WAL at %X/%X"
 msgstr "konnte Zweiphasen-Status nicht aus dem WAL bei %X/%X lesen"
 
-#: access/transam/twophase.c:1364
+#: access/transam/twophase.c:1437
 #, c-format
 msgid "expected two-phase state data is not present in WAL at %X/%X"
 msgstr "erwartete Zweiphasen-Status-Daten sind nicht im WAL bei %X/%X vorhanden"
 
-#: access/transam/twophase.c:1641
+#: access/transam/twophase.c:1733
 #, c-format
 msgid "could not recreate file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht neu erzeugen: %m"
 
-#: access/transam/twophase.c:1768
+#: access/transam/twophase.c:1860
 #, 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 Zweiphasen-Statusdatei wurde für eine lange laufende vorbereitete Transaktion geschrieben"
 msgstr[1] "%u Zweiphasen-Statusdateien wurden für lange laufende vorbereitete Transaktionen geschrieben"
 
-#: access/transam/twophase.c:2002
+#: access/transam/twophase.c:2094
 #, c-format
 msgid "recovering prepared transaction %u from shared memory"
 msgstr "Wiederherstellung der vorbereiteten Transaktion %u aus dem Shared Memory"
 
-#: access/transam/twophase.c:2093
+#: access/transam/twophase.c:2187
 #, c-format
 msgid "removing stale two-phase state file for transaction %u"
 msgstr "entferne abgelaufene Zweiphasen-Statusdatei für Transaktion %u"
 
-#: access/transam/twophase.c:2100
+#: access/transam/twophase.c:2194
 #, c-format
 msgid "removing stale two-phase state from memory for transaction %u"
 msgstr "entferne abgelaufenen Zweiphasen-Status aus dem Speicher für Transaktion %u"
 
-#: access/transam/twophase.c:2113
+#: access/transam/twophase.c:2207
 #, c-format
 msgid "removing future two-phase state file for transaction %u"
 msgstr "entferne zukünftige Zweiphasen-Statusdatei für Transaktion %u"
 
-#: access/transam/twophase.c:2120
+#: access/transam/twophase.c:2214
 #, c-format
 msgid "removing future two-phase state from memory for transaction %u"
 msgstr "entferne zukünftigen Zweiphasen-Status aus dem Speicher für Transaktion %u"
 
-#: access/transam/twophase.c:2145
+#: access/transam/twophase.c:2239
 #, c-format
 msgid "corrupted two-phase state file for transaction %u"
 msgstr "verfälschte Zweiphasen-Statusdatei für Transaktion %u"
 
-#: access/transam/twophase.c:2150
+#: access/transam/twophase.c:2244
 #, c-format
 msgid "corrupted two-phase state in memory for transaction %u"
 msgstr "verfälschter Zweiphasen-Status im Speicher für Transaktion %u"
@@ -2043,2126 +2102,2053 @@ msgstr "Datenbank »%s« muss innerhalb von %u Transaktionen gevacuumt werden"
 msgid "database with OID %u must be vacuumed within %u transactions"
 msgstr "Datenbank mit OID %u muss innerhalb von %u Transaktionen gevacuumt werden"
 
-#: access/transam/xact.c:1045
+#: access/transam/xact.c:1098
 #, c-format
 msgid "cannot have more than 2^32-2 commands in a transaction"
 msgstr "kann nicht mehr als 2^32-2 Befehle in einer Transaktion ausführen"
 
-#: access/transam/xact.c:1582
+#: access/transam/xact.c:1644
 #, c-format
 msgid "maximum number of committed subtransactions (%d) exceeded"
 msgstr "maximale Anzahl committeter Subtransaktionen (%d) überschritten"
 
-#: access/transam/xact.c:2423
+#: access/transam/xact.c:2501
 #, c-format
 msgid "cannot PREPARE a transaction that has operated on temporary objects"
 msgstr "PREPARE kann nicht für eine Transaktion ausgeführt werden, die temporäre Objekte bearbeitet hat"
 
-#: access/transam/xact.c:2433
+#: access/transam/xact.c:2511
 #, c-format
 msgid "cannot PREPARE a transaction that has exported snapshots"
 msgstr "PREPARE kann nicht für eine Transaktion ausgeführt werden, die Snapshots exportiert hat"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3388
+#: access/transam/xact.c:3471
 #, c-format
 msgid "%s cannot run inside a transaction block"
 msgstr "%s kann nicht in einem Transaktionsblock laufen"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3398
+#: access/transam/xact.c:3481
 #, c-format
 msgid "%s cannot run inside a subtransaction"
 msgstr "%s kann nicht in einer Subtransaktion laufen"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3408
+#: access/transam/xact.c:3491
 #, c-format
 msgid "%s cannot be executed from a function"
 msgstr "%s kann nicht aus einer Funktion ausgeführt werden"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3477 access/transam/xact.c:3783
-#: access/transam/xact.c:3862 access/transam/xact.c:3985
-#: access/transam/xact.c:4136 access/transam/xact.c:4205
-#: access/transam/xact.c:4316
+#: access/transam/xact.c:3560 access/transam/xact.c:3866
+#: access/transam/xact.c:3945 access/transam/xact.c:4068
+#: access/transam/xact.c:4219 access/transam/xact.c:4288
+#: access/transam/xact.c:4399
 #, c-format
 msgid "%s can only be used in transaction blocks"
 msgstr "%s kann nur in Transaktionsblöcken verwendet werden"
 
-#: access/transam/xact.c:3669
+#: access/transam/xact.c:3752
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "eine Transaktion ist bereits begonnen"
 
-#: access/transam/xact.c:3788 access/transam/xact.c:3867
-#: access/transam/xact.c:3990
+#: access/transam/xact.c:3871 access/transam/xact.c:3950
+#: access/transam/xact.c:4073
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "keine Transaktion offen"
 
-#: access/transam/xact.c:3878
+#: access/transam/xact.c:3961
 #, c-format
 msgid "cannot commit during a parallel operation"
 msgstr "während einer parallelen Operation kann nicht committet werden"
 
-#: access/transam/xact.c:4001
+#: access/transam/xact.c:4084
 #, c-format
 msgid "cannot abort during a parallel operation"
 msgstr "während einer parallelen Operation kann nicht abgebrochen werden"
 
-#: access/transam/xact.c:4100
+#: access/transam/xact.c:4183
 #, c-format
 msgid "cannot define savepoints during a parallel operation"
 msgstr "während einer parallelen Operation können keine Sicherungspunkte definiert werden"
 
-#: access/transam/xact.c:4187
+#: access/transam/xact.c:4270
 #, c-format
 msgid "cannot release savepoints during a parallel operation"
 msgstr "während einer parallelen Operation können keine Sicherungspunkte freigegeben werden"
 
-#: access/transam/xact.c:4197 access/transam/xact.c:4248
-#: access/transam/xact.c:4308 access/transam/xact.c:4357
+#: access/transam/xact.c:4280 access/transam/xact.c:4331
+#: access/transam/xact.c:4391 access/transam/xact.c:4440
 #, c-format
 msgid "savepoint \"%s\" does not exist"
 msgstr "Sicherungspunkt »%s« existiert nicht"
 
-#: access/transam/xact.c:4254 access/transam/xact.c:4363
+#: access/transam/xact.c:4337 access/transam/xact.c:4446
 #, c-format
 msgid "savepoint \"%s\" does not exist within current savepoint level"
 msgstr "Sicherungspunkt »%s« existiert nicht innerhalb der aktuellen Sicherungspunktebene"
 
-#: access/transam/xact.c:4296
+#: access/transam/xact.c:4379
 #, c-format
 msgid "cannot rollback to savepoints during a parallel operation"
 msgstr "während einer parallelen Operation kann nicht auf einen Sicherungspunkt zurückgerollt werden"
 
-#: access/transam/xact.c:4424
+#: access/transam/xact.c:4507
 #, c-format
 msgid "cannot start subtransactions during a parallel operation"
 msgstr "während einer parallelen Operation können keine Subtransaktionen gestartet werden"
 
-#: access/transam/xact.c:4492
+#: access/transam/xact.c:4575
 #, c-format
 msgid "cannot commit subtransactions during a parallel operation"
 msgstr "während einer parallelen Operation können keine Subtransaktionen committet werden"
 
-#: access/transam/xact.c:5133
+#: access/transam/xact.c:5222
 #, c-format
 msgid "cannot have more than 2^32-1 subtransactions in a transaction"
 msgstr "kann nicht mehr als 2^32-1 Subtransaktionen in einer Transaktion haben"
 
-#: access/transam/xlog.c:1825
+#: access/transam/xlog.c:1463
 #, c-format
 msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X"
-msgstr ""
+msgstr "Flush hinter das Ende des erzeugten WAL angefordert; Anforderung %X/%X, aktuelle Position %X/%X"
 
-#: access/transam/xlog.c:2586
+#: access/transam/xlog.c:2224
 #, c-format
 msgid "could not write to log file %s at offset %u, length %zu: %m"
 msgstr "konnte nicht in Logdatei %s bei Position %u, Länge %zu schreiben: %m"
 
-#: access/transam/xlog.c:3988 access/transam/xlogutils.c:798
-#: replication/walsender.c:2520
+#: access/transam/xlog.c:3471 access/transam/xlogutils.c:845
+#: replication/walsender.c:2717
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "das angeforderte WAL-Segment %s wurde schon entfernt"
 
-#: access/transam/xlog.c:4263
+#: access/transam/xlog.c:3756
 #, c-format
 msgid "could not rename file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht umbenennen: %m"
 
-#: access/transam/xlog.c:4305 access/transam/xlog.c:4315
+#: access/transam/xlog.c:3798 access/transam/xlog.c:3808
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "benötigtes WAL-Verzeichnis »%s« existiert nicht"
 
-#: access/transam/xlog.c:4321
+#: access/transam/xlog.c:3814
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "erzeuge fehlendes WAL-Verzeichnis »%s«"
 
-#: access/transam/xlog.c:4324
+#: access/transam/xlog.c:3817
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "konnte fehlendes Verzeichnis »%s« nicht erzeugen: %m"
 
-#: access/transam/xlog.c:4427
-#, c-format
-msgid "unexpected timeline ID %u in log segment %s, offset %u"
-msgstr "unerwartete Zeitleisten-ID %u in Logsegment %s, Offset %u"
-
-#: access/transam/xlog.c:4565
-#, c-format
-msgid "new timeline %u is not a child of database system timeline %u"
-msgstr "neue Zeitleiste %u ist kein Kind der Datenbanksystemzeitleiste %u"
-
-#: access/transam/xlog.c:4579
-#, c-format
-msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
-msgstr "neue Zeitleiste %u zweigte von der aktuellen Datenbanksystemzeitleiste %u vor dem aktuellen Wiederherstellungspunkt %X/%X ab"
-
-#: access/transam/xlog.c:4598
-#, c-format
-msgid "new target timeline is %u"
-msgstr "neue Zielzeitleiste ist %u"
-
-#: access/transam/xlog.c:4634
+#: access/transam/xlog.c:3884
 #, c-format
 msgid "could not generate secret authorization token"
 msgstr "konnte geheimes Autorisierungstoken nicht erzeugen"
 
-#: access/transam/xlog.c:4793 access/transam/xlog.c:4802
-#: access/transam/xlog.c:4826 access/transam/xlog.c:4833
-#: access/transam/xlog.c:4840 access/transam/xlog.c:4845
-#: access/transam/xlog.c:4852 access/transam/xlog.c:4859
-#: access/transam/xlog.c:4866 access/transam/xlog.c:4873
-#: access/transam/xlog.c:4880 access/transam/xlog.c:4887
-#: access/transam/xlog.c:4896 access/transam/xlog.c:4903
-#: utils/init/miscinit.c:1578
+#: access/transam/xlog.c:4043 access/transam/xlog.c:4052
+#: access/transam/xlog.c:4076 access/transam/xlog.c:4083
+#: access/transam/xlog.c:4090 access/transam/xlog.c:4095
+#: access/transam/xlog.c:4102 access/transam/xlog.c:4109
+#: access/transam/xlog.c:4116 access/transam/xlog.c:4123
+#: access/transam/xlog.c:4130 access/transam/xlog.c:4137
+#: access/transam/xlog.c:4146 access/transam/xlog.c:4153
+#: utils/init/miscinit.c:1598
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "Datenbankdateien sind inkompatibel mit Server"
 
-#: access/transam/xlog.c:4794
+#: access/transam/xlog.c:4044
 #, 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 "Der Datenbank-Cluster wurde mit PG_CONTROL_VERSION %d (0x%08x) initialisiert, aber der Server wurde mit PG_CONTROL_VERSION %d (0x%08x) kompiliert."
 
-#: access/transam/xlog.c:4798
+#: access/transam/xlog.c:4048
 #, c-format
 msgid "This could be a problem of mismatched byte ordering.  It looks like you need to initdb."
 msgstr "Das Problem könnte eine falsche Byte-Reihenfolge sein. Es sieht so aus, dass Sie initdb ausführen müssen."
 
-#: access/transam/xlog.c:4803
+#: access/transam/xlog.c:4053
 #, c-format
 msgid "The database cluster was initialized with PG_CONTROL_VERSION %d, but the server was compiled with PG_CONTROL_VERSION %d."
 msgstr "Der Datenbank-Cluster wurde mit PG_CONTROL_VERSION %d initialisiert, aber der Server wurde mit PG_CONTROL_VERSION %d kompiliert."
 
-#: access/transam/xlog.c:4806 access/transam/xlog.c:4830
-#: access/transam/xlog.c:4837 access/transam/xlog.c:4842
+#: access/transam/xlog.c:4056 access/transam/xlog.c:4080
+#: access/transam/xlog.c:4087 access/transam/xlog.c:4092
 #, c-format
 msgid "It looks like you need to initdb."
 msgstr "Es sieht so aus, dass Sie initdb ausführen müssen."
 
-#: access/transam/xlog.c:4817
+#: access/transam/xlog.c:4067
 #, c-format
 msgid "incorrect checksum in control file"
 msgstr "falsche Prüfsumme in Kontrolldatei"
 
-#: access/transam/xlog.c:4827
+#: access/transam/xlog.c:4077
 #, c-format
 msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d."
 msgstr "Der Datenbank-Cluster wurde mit CATALOG_VERSION_NO %d initialisiert, aber der Server wurde mit CATALOG_VERSION_NO %d kompiliert."
 
-#: access/transam/xlog.c:4834
+#: access/transam/xlog.c:4084
 #, c-format
 msgid "The database cluster was initialized with MAXALIGN %d, but the server was compiled with MAXALIGN %d."
 msgstr "Der Datenbank-Cluster wurde mit MAXALIGN %d initialisiert, aber der Server wurde mit MAXALIGN %d kompiliert."
 
-#: access/transam/xlog.c:4841
+#: access/transam/xlog.c:4091
 #, c-format
 msgid "The database cluster appears to use a different floating-point number format than the server executable."
 msgstr "Der Datenbank-Cluster verwendet anscheinend ein anderes Fließkommazahlenformat als das Serverprogramm."
 
-#: access/transam/xlog.c:4846
+#: access/transam/xlog.c:4096
 #, c-format
 msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d."
 msgstr "Der Datenbank-Cluster wurde mit BLCKSZ %d initialisiert, aber der Server wurde mit BLCKSZ %d kompiliert."
 
-#: access/transam/xlog.c:4849 access/transam/xlog.c:4856
-#: access/transam/xlog.c:4863 access/transam/xlog.c:4870
-#: access/transam/xlog.c:4877 access/transam/xlog.c:4884
-#: access/transam/xlog.c:4891 access/transam/xlog.c:4899
-#: access/transam/xlog.c:4906
+#: access/transam/xlog.c:4099 access/transam/xlog.c:4106
+#: access/transam/xlog.c:4113 access/transam/xlog.c:4120
+#: access/transam/xlog.c:4127 access/transam/xlog.c:4134
+#: access/transam/xlog.c:4141 access/transam/xlog.c:4149
+#: access/transam/xlog.c:4156
 #, c-format
 msgid "It looks like you need to recompile or initdb."
 msgstr "Es sieht so aus, dass Sie neu kompilieren oder initdb ausführen müssen."
 
-#: access/transam/xlog.c:4853
+#: access/transam/xlog.c:4103
 #, c-format
 msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d."
 msgstr "Der Datenbank-Cluster wurde mit RELSEG_SIZE %d initialisiert, aber der Server wurde mit RELSEGSIZE %d kompiliert."
 
-#: access/transam/xlog.c:4860
+#: access/transam/xlog.c:4110
 #, c-format
 msgid "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was compiled with XLOG_BLCKSZ %d."
 msgstr "Der Datenbank-Cluster wurde mit XLOG_BLCKSZ %d initialisiert, aber der Server wurde mit XLOG_BLCKSZ %d kompiliert."
 
-#: access/transam/xlog.c:4867
+#: access/transam/xlog.c:4117
 #, c-format
 msgid "The database cluster was initialized with NAMEDATALEN %d, but the server was compiled with NAMEDATALEN %d."
 msgstr "Der Datenbank-Cluster wurde mit NAMEDATALEN %d initialisiert, aber der Server wurde mit NAMEDATALEN %d kompiliert."
 
-#: access/transam/xlog.c:4874
+#: access/transam/xlog.c:4124
 #, c-format
 msgid "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server was compiled with INDEX_MAX_KEYS %d."
 msgstr "Der Datenbank-Cluster wurde mit INDEX_MAX_KEYS %d initialisiert, aber der Server wurde mit INDEX_MAX_KEYS %d kompiliert."
 
-#: access/transam/xlog.c:4881
+#: access/transam/xlog.c:4131
 #, 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 "Der Datenbank-Cluster wurde mit TOAST_MAX_CHUNK_SIZE %d initialisiert, aber der Server wurde mit TOAST_MAX_CHUNK_SIZE %d kompiliert."
 
-#: access/transam/xlog.c:4888
+#: access/transam/xlog.c:4138
 #, c-format
 msgid "The database cluster was initialized with LOBLKSIZE %d, but the server was compiled with LOBLKSIZE %d."
 msgstr "Der Datenbank-Cluster wurde mit LOBLKSIZE %d initialisiert, aber der Server wurde mit LOBLKSIZE %d kompiliert."
 
-#: access/transam/xlog.c:4897
+#: access/transam/xlog.c:4147
 #, c-format
 msgid "The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL."
 msgstr "Der Datenbank-Cluster wurde ohne USE_FLOAT8_BYVAL initialisiert, aber der Server wurde mit USE_FLOAT8_BYVAL kompiliert."
 
-#: access/transam/xlog.c:4904
+#: access/transam/xlog.c:4154
 #, c-format
 msgid "The database cluster was initialized with USE_FLOAT8_BYVAL but the server was compiled without USE_FLOAT8_BYVAL."
 msgstr "Der Datenbank-Cluster wurde mit USE_FLOAT8_BYVAL initialisiert, aber der Server wurde ohne USE_FLOAT8_BYVAL kompiliert."
 
-#: access/transam/xlog.c:4913
+#: access/transam/xlog.c:4163
 #, 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] "WAL-Segmentgröße muss eine Zweierpotenz zwischen 1 MB und 1 GB sein, aber die Kontrolldatei gibt %d Byte an"
 msgstr[1] "WAL-Segmentgröße muss eine Zweierpotenz zwischen 1 MB und 1 GB sein, aber die Kontrolldatei gibt %d Bytes an"
 
-#: access/transam/xlog.c:4925
+#: access/transam/xlog.c:4175
 #, c-format
 msgid "\"min_wal_size\" must be at least twice \"wal_segment_size\""
 msgstr "»min_wal_size« muss mindestens zweimal so groß wie »wal_segment_size« sein"
 
-#: access/transam/xlog.c:4929
+#: access/transam/xlog.c:4179
 #, c-format
 msgid "\"max_wal_size\" must be at least twice \"wal_segment_size\""
 msgstr "»max_wal_size« muss mindestens zweimal so groß wie »wal_segment_size« sein"
 
-#: access/transam/xlog.c:5363
+#: access/transam/xlog.c:4611
 #, c-format
 msgid "could not write bootstrap write-ahead log file: %m"
 msgstr "konnte Bootstrap-Write-Ahead-Log-Datei nicht schreiben: %m"
 
-#: access/transam/xlog.c:5371
+#: access/transam/xlog.c:4619
 #, c-format
 msgid "could not fsync bootstrap write-ahead log file: %m"
 msgstr "konnte Bootstrap-Write-Ahead-Log-Datei nicht fsyncen: %m"
 
-#: access/transam/xlog.c:5377
+#: access/transam/xlog.c:4625
 #, c-format
 msgid "could not close bootstrap write-ahead log file: %m"
 msgstr "konnte Bootstrap-Write-Ahead-Log-Datei nicht schließen: %m"
 
-#: access/transam/xlog.c:5438
+#: access/transam/xlog.c:4843
 #, c-format
-msgid "using recovery command file \"%s\" is not supported"
-msgstr "Verwendung von Recovery-Befehlsdatei »%s« wird nicht unterstützt"
+msgid "WAL was generated with wal_level=minimal, cannot continue recovering"
+msgstr "WAL wurde mit wal_level=minimal erzeugt, Wiederherstellung kann nicht fortgesetzt werden"
 
-#: access/transam/xlog.c:5503
+#: access/transam/xlog.c:4844
 #, c-format
-msgid "standby mode is not supported by single-user servers"
-msgstr "Standby-Modus wird von Servern im Einzelbenutzermodus nicht unterstützt"
+msgid "This happens if you temporarily set wal_level=minimal on the server."
+msgstr "Das passiert, wenn auf dem Server vorübergehend wal_level=minimal gesetzt wurde."
 
-#: access/transam/xlog.c:5520
+#: access/transam/xlog.c:4845
 #, c-format
-msgid "specified neither primary_conninfo nor restore_command"
-msgstr "weder primary_conninfo noch restore_command angegeben"
+msgid "Use a backup taken after setting wal_level to higher than minimal."
+msgstr "Verwenden Sie ein Backup, das durchgeführt wurde, nachdem wal_level auf höher als minimal gesetzt wurde."
 
-#: access/transam/xlog.c:5521
+#: access/transam/xlog.c:4909
 #, c-format
-msgid "The database server will regularly poll the pg_wal subdirectory to check for files placed there."
-msgstr "Der Datenbankserver prüft das Unterverzeichnis pg_wal regelmäßig auf dort abgelegte Dateien."
+msgid "control file contains invalid checkpoint location"
+msgstr "Kontrolldatei enthält ungültige Checkpoint-Position"
 
-#: access/transam/xlog.c:5529
+#: access/transam/xlog.c:4920
 #, c-format
-msgid "must specify restore_command when standby mode is not enabled"
-msgstr "restore_command muss angegeben werden, wenn der Standby-Modus nicht eingeschaltet ist"
+msgid "database system was shut down at %s"
+msgstr "Datenbanksystem wurde am %s heruntergefahren"
 
-#: access/transam/xlog.c:5567
+#: access/transam/xlog.c:4926
 #, c-format
-msgid "recovery target timeline %u does not exist"
-msgstr "recovery_target_timeline %u existiert nicht"
+msgid "database system was shut down in recovery at %s"
+msgstr "Datenbanksystem wurde während der Wiederherstellung am %s heruntergefahren"
 
-#: access/transam/xlog.c:5689
+#: access/transam/xlog.c:4932
 #, c-format
-msgid "archive recovery complete"
-msgstr "Wiederherstellung aus Archiv abgeschlossen"
+msgid "database system shutdown was interrupted; last known up at %s"
+msgstr "Datenbanksystem wurde beim Herunterfahren unterbrochen; letzte bekannte Aktion am %s"
 
-#: access/transam/xlog.c:5755 access/transam/xlog.c:6026
+#: access/transam/xlog.c:4938
 #, c-format
-msgid "recovery stopping after reaching consistency"
-msgstr "Wiederherstellung beendet nachdem Konsistenz erreicht wurde"
+msgid "database system was interrupted while in recovery at %s"
+msgstr "Datenbanksystem wurde während der Wiederherstellung am %s unterbrochen"
 
-#: access/transam/xlog.c:5776
+#: access/transam/xlog.c:4940
 #, c-format
-msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
-msgstr "Wiederherstellung beendet vor WAL-Position (LSN) »%X/%X«"
+msgid "This probably means that some data is corrupted and you will have to use the last backup for recovery."
+msgstr "Das bedeutet wahrscheinlich, dass einige Daten verfälscht sind und Sie die letzte Datensicherung zur Wiederherstellung verwenden müssen."
 
-#: access/transam/xlog.c:5861
+#: access/transam/xlog.c:4946
 #, c-format
-msgid "recovery stopping before commit of transaction %u, time %s"
-msgstr "Wiederherstellung beendet vor Commit der Transaktion %u, Zeit %s"
+msgid "database system was interrupted while in recovery at log time %s"
+msgstr "Datenbanksystem wurde während der Wiederherstellung bei Logzeit %s unterbrochen"
 
-#: access/transam/xlog.c:5868
+#: access/transam/xlog.c:4948
 #, c-format
-msgid "recovery stopping before abort of transaction %u, time %s"
-msgstr "Wiederherstellung beendet vor Abbruch der Transaktion %u, Zeit %s"
+msgid "If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target."
+msgstr "Wenn dies mehr als einmal vorgekommen ist, dann sind einige Daten möglicherweise verfälscht und Sie müssen ein früheres Wiederherstellungsziel wählen."
 
-#: access/transam/xlog.c:5921
+#: access/transam/xlog.c:4954
 #, c-format
-msgid "recovery stopping at restore point \"%s\", time %s"
-msgstr "Wiederherstellung beendet bei Restore-Punkt »%s«, Zeit %s"
+msgid "database system was interrupted; last known up at %s"
+msgstr "Datenbanksystem wurde unterbrochen; letzte bekannte Aktion am %s"
 
-#: access/transam/xlog.c:5939
+#: access/transam/xlog.c:4960
 #, c-format
-msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
-msgstr "Wiederherstellung beendet nach WAL-Position (LSN) »%X/%X«"
+msgid "control file contains invalid database cluster state"
+msgstr "Kontrolldatei enthält ungültigen Datenbankclusterstatus"
 
-#: access/transam/xlog.c:6006
+#: access/transam/xlog.c:5338
 #, c-format
-msgid "recovery stopping after commit of transaction %u, time %s"
-msgstr "Wiederherstellung beendet nach Commit der Transaktion %u, Zeit %s"
+msgid "WAL ends before end of online backup"
+msgstr "WAL endet vor dem Ende der Online-Sicherung"
 
-#: access/transam/xlog.c:6014
+#: access/transam/xlog.c:5339
 #, c-format
-msgid "recovery stopping after abort of transaction %u, time %s"
-msgstr "Wiederherstellung beendet nach Abbruch der Transaktion %u, Zeit %s"
+msgid "All WAL generated while online backup was taken must be available at recovery."
+msgstr "Der komplette WAL, der während der Online-Sicherung erzeugt wurde, muss bei der Wiederherstellung verfügbar sein."
 
-#: access/transam/xlog.c:6059
+#: access/transam/xlog.c:5342
 #, c-format
-msgid "pausing at the end of recovery"
-msgstr "pausiere am Ende der Wiederherstellung"
+msgid "WAL ends before consistent recovery point"
+msgstr "WAL endet vor einem konsistenten Wiederherstellungspunkt"
 
-#: access/transam/xlog.c:6060
+#: access/transam/xlog.c:5390
 #, c-format
-msgid "Execute pg_wal_replay_resume() to promote."
-msgstr "Führen Sie pg_wal_replay_resume() aus, um den Server zum Primärserver zu befördern."
+msgid "selected new timeline ID: %u"
+msgstr "gewählte neue Zeitleisten-ID: %u"
 
-#: access/transam/xlog.c:6063 access/transam/xlog.c:6336
+#: access/transam/xlog.c:5423
 #, c-format
-msgid "recovery has paused"
-msgstr "Wiederherstellung wurde pausiert"
+msgid "archive recovery complete"
+msgstr "Wiederherstellung aus Archiv abgeschlossen"
 
-#: access/transam/xlog.c:6064
+#: access/transam/xlog.c:6017
 #, c-format
-msgid "Execute pg_wal_replay_resume() to continue."
-msgstr "Führen Sie pg_wal_replay_resume() aus um fortzusetzen."
+msgid "shutting down"
+msgstr "fahre herunter"
 
-#: access/transam/xlog.c:6327
+#. translator: the placeholders show checkpoint options
+#: access/transam/xlog.c:6056
 #, c-format
-msgid "hot standby is not possible because of insufficient parameter settings"
-msgstr "Hot Standby ist nicht möglich wegen unzureichender Parametereinstellungen"
+msgid "restartpoint starting:%s%s%s%s%s%s%s%s"
+msgstr "Restart-Punkt beginnt:%s%s%s%s%s%s%s%s"
 
-#: access/transam/xlog.c:6328 access/transam/xlog.c:6355
-#: access/transam/xlog.c:6385
+#. translator: the placeholders show checkpoint options
+#: access/transam/xlog.c:6068
 #, c-format
-msgid "%s = %d is a lower setting than on the primary server, where its value was %d."
-msgstr "%s = %d ist eine niedrigere Einstellung als auf dem Primärserver, wo der Wert %d war."
+msgid "checkpoint starting:%s%s%s%s%s%s%s%s"
+msgstr "Checkpoint beginnt:%s%s%s%s%s%s%s%s"
 
-#: access/transam/xlog.c:6337
+#: access/transam/xlog.c:6128
 #, c-format
-msgid "If recovery is unpaused, the server will shut down."
-msgstr "Wenn die Wiederherstellungspause beendet wird, wird der Server herunterfahren."
+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"
+msgstr "Restart-Punkt komplett: %d Puffer geschrieben (%.1f%%); %d WAL-Datei(en) hinzugefügt, %d entfernt, %d wiederverwendet; Schreiben=%ld,%03d s, Sync=%ld,%03d s, gesamt=%ld,%03d s; sync. Dateien=%d, längste=%ld,%03d s, Durchschnitt=%ld.%03d s; Entfernung=%d kB, Schätzung=%d kB"
 
-#: access/transam/xlog.c:6338
+#: access/transam/xlog.c:6148
 #, c-format
-msgid "You can then restart the server after making the necessary configuration changes."
-msgstr "Sie können den Server dann neu starten, nachdem die nötigen Konfigurationsänderungen getätigt worden sind."
+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"
+msgstr "Checkpoint komplett: %d Puffer geschrieben (%.1f%%); %d WAL-Datei(en) hinzugefügt, %d entfernt, %d wiederverwendet; Schreiben=%ld,%03d s, Sync=%ld,%03d s, gesamt=%ld,%03d s; sync. Dateien=%d, längste=%ld,%03d s, Durchschnitt=%ld.%03d s; Entfernung=%d kB, Schätzung=%d kB"
 
-#: access/transam/xlog.c:6349
+#: access/transam/xlog.c:6583
 #, c-format
-msgid "promotion is not possible because of insufficient parameter settings"
-msgstr "Beförderung ist nicht möglich wegen unzureichender Parametereinstellungen"
+msgid "concurrent write-ahead log activity while database system is shutting down"
+msgstr "gleichzeitige Write-Ahead-Log-Aktivität während das Datenbanksystem herunterfährt"
 
-#: access/transam/xlog.c:6359
+#: access/transam/xlog.c:7140
 #, c-format
-msgid "Restart the server after making the necessary configuration changes."
-msgstr "Starten Sie den Server neu, nachdem die nötigen Konfigurationsänderungen getätigt worden sind."
+msgid "recovery restart point at %X/%X"
+msgstr "Recovery-Restart-Punkt bei %X/%X"
 
-#: access/transam/xlog.c:6383
+#: access/transam/xlog.c:7142
 #, c-format
-msgid "recovery aborted because of insufficient parameter settings"
-msgstr "Wiederherstellung abgebrochen wegen unzureichender Parametereinstellungen"
+msgid "Last completed transaction was at log time %s."
+msgstr "Die letzte vollständige Transaktion war bei Logzeit %s."
 
-#: access/transam/xlog.c:6389
+#: access/transam/xlog.c:7389
 #, c-format
-msgid "You can restart the server after making the necessary configuration changes."
-msgstr "Sie können den Server neu starten, nachdem die nötigen Konfigurationsänderungen getätigt worden sind."
+msgid "restore point \"%s\" created at %X/%X"
+msgstr "Restore-Punkt »%s« erzeugt bei %X/%X"
 
-#: access/transam/xlog.c:6411
+#: access/transam/xlog.c:7596
 #, c-format
-msgid "WAL was generated with wal_level=minimal, cannot continue recovering"
-msgstr "WAL wurde mit wal_level=minimal erzeugt, Wiederherstellung kann nicht fortgesetzt werden"
+msgid "online backup was canceled, recovery cannot continue"
+msgstr "Online-Sicherung wurde storniert, Wiederherstellung kann nicht fortgesetzt werden"
 
-#: access/transam/xlog.c:6412
+#: access/transam/xlog.c:7653
 #, c-format
-msgid "This happens if you temporarily set wal_level=minimal on the server."
-msgstr "Das passiert, wenn auf dem Server vorübergehend wal_level=minimal gesetzt wurde."
+msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record"
+msgstr "unerwartete Zeitleisten-ID %u (sollte %u sein) im Shutdown-Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:6413
+#: access/transam/xlog.c:7711
 #, c-format
-msgid "Use a backup taken after setting wal_level to higher than minimal."
-msgstr "Verwenden Sie ein Backup, das durchgeführt wurde, nachdem wal_level auf höher als minimal gesetzt wurde."
+msgid "unexpected timeline ID %u (should be %u) in online checkpoint record"
+msgstr "unerwartete Zeitleisten-ID %u (sollte %u sein) im Online-Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:6482
-#, c-format
-msgid "control file contains invalid checkpoint location"
-msgstr "Kontrolldatei enthält ungültige Checkpoint-Position"
+#: access/transam/xlog.c:7740
+#, fuzzy, c-format
+#| msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
+msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record"
+msgstr "unerwartete Zeitleisten-ID %u (sollte %u sein) im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:6493
+#: access/transam/xlog.c:7998
 #, c-format
-msgid "database system was shut down at %s"
-msgstr "Datenbanksystem wurde am %s heruntergefahren"
+msgid "could not fsync write-through file \"%s\": %m"
+msgstr "konnte Write-Through-Logdatei »%s« nicht fsyncen: %m"
 
-#: access/transam/xlog.c:6499
+#: access/transam/xlog.c:8004
 #, c-format
-msgid "database system was shut down in recovery at %s"
-msgstr "Datenbanksystem wurde während der Wiederherstellung am %s heruntergefahren"
+msgid "could not fdatasync file \"%s\": %m"
+msgstr "konnte Datei »%s« nicht fdatasyncen: %m"
 
-#: access/transam/xlog.c:6505
+#: access/transam/xlog.c:8099 access/transam/xlog.c:8471
 #, c-format
-msgid "database system shutdown was interrupted; last known up at %s"
-msgstr "Datenbanksystem wurde beim Herunterfahren unterbrochen; letzte bekannte Aktion am %s"
+msgid "WAL level not sufficient for making an online backup"
+msgstr "WAL-Level nicht ausreichend, um Online-Sicherung durchzuführen"
 
-#: access/transam/xlog.c:6511
+#: access/transam/xlog.c:8100 access/transam/xlog.c:8472
+#: access/transam/xlogfuncs.c:199
 #, c-format
-msgid "database system was interrupted while in recovery at %s"
-msgstr "Datenbanksystem wurde während der Wiederherstellung am %s unterbrochen"
+msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
+msgstr "wal_level muss beim Serverstart auf »replica« oder »logical« gesetzt werden."
 
-#: access/transam/xlog.c:6513
+#: access/transam/xlog.c:8105
 #, c-format
-msgid "This probably means that some data is corrupted and you will have to use the last backup for recovery."
-msgstr "Das bedeutet wahrscheinlich, dass einige Daten verfälscht sind und Sie die letzte Datensicherung zur Wiederherstellung verwenden müssen."
+msgid "backup label too long (max %d bytes)"
+msgstr "Backup-Label zu lang (maximal %d Bytes)"
 
-#: access/transam/xlog.c:6519
+#: access/transam/xlog.c:8221
 #, c-format
-msgid "database system was interrupted while in recovery at log time %s"
-msgstr "Datenbanksystem wurde während der Wiederherstellung bei Logzeit %s unterbrochen"
+msgid "WAL generated with full_page_writes=off was replayed since last restartpoint"
+msgstr "mit full_page_writes=off erzeugtes WAL wurde seit dem letzten Restart-Punkt zurückgespielt"
 
-#: access/transam/xlog.c:6521
+#: access/transam/xlog.c:8223 access/transam/xlog.c:8584
 #, 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 "Wenn dies mehr als einmal vorgekommen ist, dann sind einige Daten möglicherweise verfälscht und Sie müssen ein früheres Wiederherstellungsziel wählen."
+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 "Das bedeutet, dass die aktuelle Datensicherung auf dem Standby-Server verfälscht ist und nicht verwendet werden sollte. Schalten Sie auf dem Primärserver full_page_writes ein, führen Sie dort CHECKPOINT aus und versuchen Sie dann die Online-Sicherung erneut."
 
-#: access/transam/xlog.c:6527
+#: access/transam/xlog.c:8308 replication/basebackup.c:1338
+#: utils/adt/misc.c:347
 #, c-format
-msgid "database system was interrupted; last known up at %s"
-msgstr "Datenbanksystem wurde unterbrochen; letzte bekannte Aktion am %s"
+msgid "symbolic link \"%s\" target is too long"
+msgstr "Ziel für symbolische Verknüpfung »%s« ist zu lang"
 
-#: access/transam/xlog.c:6533
+#: access/transam/xlog.c:8358 commands/tablespace.c:421
+#: commands/tablespace.c:603 replication/basebackup.c:1353 utils/adt/misc.c:355
 #, c-format
-msgid "control file contains invalid database cluster state"
-msgstr "Kontrolldatei enthält ungültigen Datenbankclusterstatus"
+msgid "tablespaces are not supported on this platform"
+msgstr "Tablespaces werden auf dieser Plattform nicht unterstützt"
 
-#: access/transam/xlog.c:6590
+#: access/transam/xlog.c:8517 access/transam/xlog.c:8530
+#: access/transam/xlogrecovery.c:1191 access/transam/xlogrecovery.c:1198
+#: access/transam/xlogrecovery.c:1257 access/transam/xlogrecovery.c:1337
+#: access/transam/xlogrecovery.c:1361
 #, c-format
-msgid "entering standby mode"
-msgstr "Standby-Modus eingeschaltet"
+msgid "invalid data in file \"%s\""
+msgstr "ungültige Daten in Datei »%s«"
 
-#: access/transam/xlog.c:6593
+#: access/transam/xlog.c:8534 replication/basebackup.c:1193
 #, c-format
-msgid "starting point-in-time recovery to XID %u"
-msgstr "starte Point-in-Time-Recovery bis XID %u"
+msgid "the standby was promoted during online backup"
+msgstr "der Standby-Server wurde während der Online-Sicherung zum Primärserver befördert"
 
-#: access/transam/xlog.c:6597
+#: access/transam/xlog.c:8535 replication/basebackup.c:1194
 #, c-format
-msgid "starting point-in-time recovery to %s"
-msgstr "starte Point-in-Time-Recovery bis %s"
+msgid "This means that the backup being taken is corrupt and should not be used. Try taking another online backup."
+msgstr "Das bedeutet, dass die aktuelle Online-Sicherung verfälscht ist und nicht verwendet werden sollte. Versuchen Sie, eine neue Online-Sicherung durchzuführen."
 
-#: access/transam/xlog.c:6601
+#: access/transam/xlog.c:8582
 #, c-format
-msgid "starting point-in-time recovery to \"%s\""
-msgstr "starte Point-in-Time-Recovery bis »%s«"
+msgid "WAL generated with full_page_writes=off was replayed during online backup"
+msgstr "mit full_page_writes=off erzeugtes WAL wurde während der Online-Sicherung zurückgespielt"
 
-#: access/transam/xlog.c:6605
+#: access/transam/xlog.c:8707
 #, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
-msgstr "starte Point-in-Time-Recovery bis WAL-Position (LSN) »%X/%X«"
+msgid "base backup done, waiting for required WAL segments to be archived"
+msgstr "Basissicherung beendet, warte bis die benötigten WAL-Segmente archiviert sind"
 
-#: access/transam/xlog.c:6609
+#: access/transam/xlog.c:8721
 #, c-format
-msgid "starting point-in-time recovery to earliest consistent point"
-msgstr "starte Point-in-Time-Recovery bis zum frühesten konsistenten Punkt"
+msgid "still waiting for all required WAL segments to be archived (%d seconds elapsed)"
+msgstr "warte immer noch, bis alle benötigten WAL-Segmente archiviert sind (%d Sekunden abgelaufen)"
 
-#: access/transam/xlog.c:6612
+#: access/transam/xlog.c:8723
 #, c-format
-msgid "starting archive recovery"
-msgstr "starte Wiederherstellung aus Archiv"
+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 "Prüfen Sie, ob das archive_command korrekt ausgeführt wird. Dieser Sicherungsvorgang kann gefahrlos abgebrochen werden, aber die Datenbanksicherung wird ohne die fehlenden WAL-Segmente nicht benutzbar sein."
 
-#: access/transam/xlog.c:6686
+#: access/transam/xlog.c:8730
 #, c-format
-msgid "could not find redo location referenced by checkpoint record"
-msgstr "konnte die vom Checkpoint-Datensatz referenzierte Redo-Position nicht finden"
+msgid "all required WAL segments have been archived"
+msgstr "alle benötigten WAL-Segmente wurden archiviert"
 
-#: access/transam/xlog.c:6687 access/transam/xlog.c:6697
+#: access/transam/xlog.c:8734
 #, 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."
-msgstr ""
-"Wenn Sie gerade ein Backup wiederherstellen, dann erzeugen Sie »%s/recovery.signal« und setzen Sie die notwendigen Recovery-Optionen.\n"
-"Wenn Sie gerade kein Backup wiederherstellen, dann versuchen Sie, die Datei »%s/backup_label« zu entfernen.\n"
-"Vorsicht: Wenn ein Backup wiederhergestellt wird und »%s/backup_label« gelöscht wird, dann wird das den Cluster verfälschen."
+msgid "WAL archiving is not enabled; you must ensure that all required WAL segments are copied through other means to complete the backup"
+msgstr "WAL-Archivierung ist nicht eingeschaltet; Sie müssen dafür sorgen, dass alle benötigten WAL-Segmente auf andere Art kopiert werden, um die Sicherung abzuschließen"
 
-#: access/transam/xlog.c:6696
+#: access/transam/xlog.c:8781
 #, c-format
-msgid "could not locate required checkpoint record"
-msgstr "konnte den nötigen Checkpoint-Datensatz nicht finden"
+msgid "aborting backup due to backend exiting before pg_backup_stop was called"
+msgstr "Backup wird abgebrochen, weil Backend-Prozess beendete, bevor pg_backup_stop aufgerufen wurde"
 
-#: access/transam/xlog.c:6725 commands/tablespace.c:666
+#: access/transam/xlogarchive.c:208
 #, c-format
-msgid "could not create symbolic link \"%s\": %m"
-msgstr "konnte symbolische Verknüpfung »%s« nicht erstellen: %m"
+msgid "archive file \"%s\" has wrong size: %lld instead of %lld"
+msgstr "Archivdatei »%s« hat falsche Größe: %lld statt %lld"
 
-#: access/transam/xlog.c:6757 access/transam/xlog.c:6763
+#: access/transam/xlogarchive.c:217
 #, c-format
-msgid "ignoring file \"%s\" because no file \"%s\" exists"
-msgstr "ignoriere Datei »%s«, weil keine Datei »%s« existiert"
+msgid "restored log file \"%s\" from archive"
+msgstr "Logdatei »%s« aus Archiv wiederhergestellt"
 
-#: access/transam/xlog.c:6759 access/transam/xlog.c:12060
+#: access/transam/xlogarchive.c:231
 #, c-format
-msgid "File \"%s\" was renamed to \"%s\"."
-msgstr "Datei »%s« wurde in »%s« umbenannt."
+msgid "restore_command returned a zero exit status, but stat() failed."
+msgstr "restore_command endete mit Statuscode null, aber stat() schlug fehlt."
 
-#: access/transam/xlog.c:6765
+#: access/transam/xlogarchive.c:263
 #, c-format
-msgid "Could not rename file \"%s\" to \"%s\": %m."
-msgstr "Konnte Datei »%s« nicht in »%s« umbenennen: %m."
+msgid "could not restore file \"%s\" from archive: %s"
+msgstr "konnte Datei »%s« nicht aus Archiv wiederherstellen: %s"
 
-#: access/transam/xlog.c:6816
+#. 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:376
 #, c-format
-msgid "could not locate a valid checkpoint record"
-msgstr "konnte keinen gültigen Checkpoint-Datensatz finden"
+msgid "%s \"%s\": %s"
+msgstr "%s »%s«: %s"
 
-#: access/transam/xlog.c:6854
+#: access/transam/xlogarchive.c:486 access/transam/xlogarchive.c:566
 #, c-format
-msgid "requested timeline %u is not a child of this server's history"
-msgstr "angeforderte Zeitleiste %u ist kein Kind der History dieses Servers"
+msgid "could not create archive status file \"%s\": %m"
+msgstr "konnte Archivstatusdatei »%s« nicht erstellen: %m"
 
-#: access/transam/xlog.c:6856
+#: access/transam/xlogarchive.c:494 access/transam/xlogarchive.c:574
 #, 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 "Neuester Checkpoint ist bei %X/%X auf Zeitleiste %u, aber in der History der angeforderten Zeitleiste zweigte der Server von dieser Zeitleiste bei %X/%X ab."
+msgid "could not write archive status file \"%s\": %m"
+msgstr "konnte Archivstatusdatei »%s« nicht schreiben: %m"
 
-#: access/transam/xlog.c:6870
+#: access/transam/xlogfuncs.c:74
 #, c-format
-msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
-msgstr "angeforderte Zeitleiste %u enthält nicht den minimalen Wiederherstellungspunkt %X/%X auf Zeitleiste %u"
+msgid "a backup is already in progress in this session"
+msgstr "ein Backup läuft bereits in dieser Sitzung"
 
-#: access/transam/xlog.c:6900
-#, c-format
-msgid "invalid next transaction ID"
-msgstr "ungültige nächste Transaktions-ID"
+#: access/transam/xlogfuncs.c:126
+#, fuzzy, c-format
+#| msgid "a backup is not in progress"
+msgid "backup is not in progress"
+msgstr "es läuft kein Backup"
 
-#: access/transam/xlog.c:7000
-#, c-format
-msgid "invalid redo in checkpoint record"
-msgstr "ungültiges Redo im Checkpoint-Datensatz"
+#: access/transam/xlogfuncs.c:127
+#, fuzzy, c-format
+#| msgid "Did you mean to use pg_stop_backup('f')?"
+msgid "Did you call pg_backup_start()?"
+msgstr "Meinten Sie pg_stop_backup('f')?"
 
-#: access/transam/xlog.c:7011
+#: access/transam/xlogfuncs.c:166 access/transam/xlogfuncs.c:193
+#: access/transam/xlogfuncs.c:232 access/transam/xlogfuncs.c:253
+#: access/transam/xlogfuncs.c:274
 #, c-format
-msgid "invalid redo record in shutdown checkpoint"
-msgstr "ungültiger Redo-Datensatz im Shutdown-Checkpoint"
+msgid "WAL control functions cannot be executed during recovery."
+msgstr "Während der Wiederherstellung können keine WAL-Kontrollfunktionen ausgeführt werden."
 
-#: access/transam/xlog.c:7045
+#: access/transam/xlogfuncs.c:198
 #, c-format
-msgid "database system was not properly shut down; automatic recovery in progress"
-msgstr "Datenbanksystem wurde nicht richtig heruntergefahren; automatische Wiederherstellung läuft"
+msgid "WAL level not sufficient for creating a restore point"
+msgstr "WAL-Level nicht ausreichend, um Restore-Punkt anzulegen"
 
-#: access/transam/xlog.c:7049
+#: access/transam/xlogfuncs.c:206
 #, c-format
-msgid "crash recovery starts in timeline %u and has target timeline %u"
-msgstr "Wiederherstellung nach Absturz beginnt in Zeitleiste %u und hat Zielzeitleiste %u"
+msgid "value too long for restore point (maximum %d characters)"
+msgstr "Wert zu lang für Restore-Punkt (maximal %d Zeichen)"
 
-#: access/transam/xlog.c:7096
+#: access/transam/xlogfuncs.c:344 access/transam/xlogfuncs.c:402
 #, c-format
-msgid "backup_label contains data inconsistent with control file"
-msgstr "Daten in backup_label stimmen nicht mit Kontrolldatei überein"
+msgid "%s cannot be executed during recovery."
+msgstr "%s kann nicht während der Wiederherstellung ausgeführt werden."
 
-#: access/transam/xlog.c:7097
+#: access/transam/xlogfuncs.c:424 access/transam/xlogfuncs.c:454
+#: access/transam/xlogfuncs.c:478 access/transam/xlogfuncs.c:501
+#: access/transam/xlogfuncs.c:581
 #, c-format
-msgid "This means that the backup is corrupted and you will have to use another backup for recovery."
-msgstr "Das bedeutet, dass die Datensicherung verfälscht ist und Sie eine andere Datensicherung zur Wiederherstellung verwenden werden müssen."
+msgid "recovery is not in progress"
+msgstr "Wiederherstellung läuft nicht"
 
-#: access/transam/xlog.c:7323
+#: access/transam/xlogfuncs.c:425 access/transam/xlogfuncs.c:455
+#: access/transam/xlogfuncs.c:479 access/transam/xlogfuncs.c:502
+#: access/transam/xlogfuncs.c:582
 #, c-format
-msgid "redo starts at %X/%X"
-msgstr "Redo beginnt bei %X/%X"
+msgid "Recovery control functions can only be executed during recovery."
+msgstr "Wiederherstellungskontrollfunktionen können nur während der Wiederherstellung ausgeführt werden."
 
-#: access/transam/xlog.c:7548
+#: access/transam/xlogfuncs.c:430 access/transam/xlogfuncs.c:460
 #, c-format
-msgid "requested recovery stop point is before consistent recovery point"
-msgstr "angeforderter Recovery-Endpunkt ist vor konsistentem Recovery-Punkt"
-
-#: access/transam/xlog.c:7586
-#, fuzzy, c-format
-#| msgid "redo done at %X/%X"
-msgid "redo done at %X/%X system usage: %s"
-msgstr "Redo fertig bei %X/%X"
+msgid "standby promotion is ongoing"
+msgstr "Beförderung des Standby läuft"
 
-#: access/transam/xlog.c:7592
+#: access/transam/xlogfuncs.c:431 access/transam/xlogfuncs.c:461
 #, c-format
-msgid "last completed transaction was at log time %s"
-msgstr "letzte vollständige Transaktion war bei Logzeit %s"
+msgid "%s cannot be executed after promotion is triggered."
+msgstr "%s kann nicht ausgeführt werden, nachdem eine Beförderung angestoßen wurde."
 
-#: access/transam/xlog.c:7601
+#: access/transam/xlogfuncs.c:587
 #, c-format
-msgid "redo is not required"
-msgstr "Redo nicht nötig"
+msgid "\"wait_seconds\" must not be negative or zero"
+msgstr "»wait_seconds« darf nicht negativ oder null sein"
 
-#: access/transam/xlog.c:7613
+#: access/transam/xlogfuncs.c:607 storage/ipc/signalfuncs.c:252
 #, c-format
-msgid "recovery ended before configured recovery target was reached"
-msgstr "Wiederherstellung endete bevor das konfigurierte Wiederherstellungsziel erreicht wurde"
+msgid "failed to send signal to postmaster: %m"
+msgstr "konnte Signal nicht an Postmaster senden: %m"
 
-#: access/transam/xlog.c:7692 access/transam/xlog.c:7696
+#: access/transam/xlogfuncs.c:643
 #, c-format
-msgid "WAL ends before end of online backup"
-msgstr "WAL endet vor dem Ende der Online-Sicherung"
+msgid "server did not promote within %d second"
+msgid_plural "server did not promote within %d seconds"
+msgstr[0] "Befördern des Servers wurde nicht innerhalb von %d Sekunde abgeschlossen"
+msgstr[1] "Befördern des Servers wurde nicht innerhalb von %d Sekunden abgeschlossen"
 
-#: access/transam/xlog.c:7693
-#, c-format
-msgid "All WAL generated while online backup was taken must be available at recovery."
-msgstr "Der komplette WAL, der während der Online-Sicherung erzeugt wurde, muss bei der Wiederherstellung verfügbar sein."
+#: access/transam/xlogprefetcher.c:1072
+#, fuzzy, c-format
+#| msgid "effective_io_concurrency must be set to 0 on platforms that lack posix_fadvise()."
+msgid "recovery_prefetch not supported on platforms that lack posix_fadvise()."
+msgstr "effective_io_concurrency muss auf Plattformen ohne posix_fadvise() auf 0 gesetzt sein."
 
-#: access/transam/xlog.c:7697
+#: access/transam/xlogreader.c:621
 #, c-format
-msgid "Online backup started with pg_start_backup() must be ended with pg_stop_backup(), and all WAL up to that point must be available at recovery."
-msgstr "Die mit pg_start_backup() begonnene Online-Sicherung muss mit pg_stop_backup() beendet werden und der ganze WAL bis zu diesem Punkt muss bei der Wiederherstellung verfügbar sein."
+msgid "invalid record offset at %X/%X"
+msgstr "ungültiger Datensatz-Offset bei %X/%X"
 
-#: access/transam/xlog.c:7700
+#: access/transam/xlogreader.c:629
 #, c-format
-msgid "WAL ends before consistent recovery point"
-msgstr "WAL endet vor einem konsistenten Wiederherstellungspunkt"
+msgid "contrecord is requested by %X/%X"
+msgstr "Contrecord angefordert von %X/%X"
 
-#: access/transam/xlog.c:7735
+#: access/transam/xlogreader.c:670 access/transam/xlogreader.c:1102
 #, c-format
-msgid "selected new timeline ID: %u"
-msgstr "gewählte neue Zeitleisten-ID: %u"
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "ungültige Datensatzlänge bei %X/%X: %u erwartet, %u erhalten"
 
-#: access/transam/xlog.c:8178
+#: access/transam/xlogreader.c:699
 #, c-format
-msgid "consistent recovery state reached at %X/%X"
-msgstr "konsistenter Wiederherstellungszustand erreicht bei %X/%X"
+msgid "out of memory while trying to decode a record of length %u"
+msgstr "Speicher aufgebraucht beim Versuch einen Datensatz mit Länge %u zu dekodieren"
 
-#: access/transam/xlog.c:8387
+#: access/transam/xlogreader.c:721
 #, c-format
-msgid "invalid primary checkpoint link in control file"
-msgstr "ungültige primäre Checkpoint-Verknüpfung in Kontrolldatei"
+msgid "record length %u at %X/%X too long"
+msgstr "Datensatzlänge %u bei %X/%X ist zu lang"
 
-#: access/transam/xlog.c:8391
+#: access/transam/xlogreader.c:770
 #, c-format
-msgid "invalid checkpoint link in backup_label file"
-msgstr "ungültige Checkpoint-Verknüpfung in backup_label-Datei"
+msgid "there is no contrecord flag at %X/%X"
+msgstr "keine Contrecord-Flag bei %X/%X"
 
-#: access/transam/xlog.c:8409
+#: access/transam/xlogreader.c:783
 #, c-format
-msgid "invalid primary checkpoint record"
-msgstr "ungültiger primärer Checkpoint-Datensatz"
+msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgstr "ungültige Contrecord-Länge %u (erwartet %lld) bei %X/%X"
 
-#: access/transam/xlog.c:8413
+#: access/transam/xlogreader.c:1110
 #, c-format
-msgid "invalid checkpoint record"
-msgstr "ungültiger Checkpoint-Datensatz"
+msgid "invalid resource manager ID %u at %X/%X"
+msgstr "ungültige Resource-Manager-ID %u bei %X/%X"
 
-#: access/transam/xlog.c:8424
+#: access/transam/xlogreader.c:1123 access/transam/xlogreader.c:1139
 #, c-format
-msgid "invalid resource manager ID in primary checkpoint record"
-msgstr "ungültige Resource-Manager-ID im primären Checkpoint-Datensatz"
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "Datensatz mit falschem Prev-Link %X/%X bei %X/%X"
 
-#: access/transam/xlog.c:8428
+#: access/transam/xlogreader.c:1175
 #, c-format
-msgid "invalid resource manager ID in checkpoint record"
-msgstr "ungültige Resource-Manager-ID im Checkpoint-Datensatz"
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "ungültige Resource-Manager-Datenprüfsumme in Datensatz bei %X/%X"
 
-#: access/transam/xlog.c:8441
+#: access/transam/xlogreader.c:1212
 #, c-format
-msgid "invalid xl_info in primary checkpoint record"
-msgstr "ungültige xl_info im primären Checkpoint-Datensatz"
+msgid "invalid magic number %04X in log segment %s, offset %u"
+msgstr "ungültige magische Zahl %04X in Logsegment %s, Offset %u"
 
-#: access/transam/xlog.c:8445
+#: access/transam/xlogreader.c:1226 access/transam/xlogreader.c:1267
 #, c-format
-msgid "invalid xl_info in checkpoint record"
-msgstr "ungültige xl_info im Checkpoint-Datensatz"
+msgid "invalid info bits %04X in log segment %s, offset %u"
+msgstr "ungültige Info-Bits %04X in Logsegment %s, Offset %u"
 
-#: access/transam/xlog.c:8456
+#: access/transam/xlogreader.c:1241
 #, c-format
-msgid "invalid length of primary checkpoint record"
-msgstr "ungültige Länge des primären Checkpoint-Datensatzes"
+msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu"
+msgstr "WAL-Datei ist von einem anderen Datenbanksystem: Datenbanksystemidentifikator in WAL-Datei ist %llu, Datenbanksystemidentifikator in pg_control ist %llu"
 
-#: access/transam/xlog.c:8460
+#: access/transam/xlogreader.c:1249
 #, c-format
-msgid "invalid length of checkpoint record"
-msgstr "ungültige Länge des Checkpoint-Datensatzes"
+msgid "WAL file is from different database system: incorrect segment size in page header"
+msgstr "WAL-Datei ist von einem anderen Datenbanksystem: falsche Segmentgröße im Seitenkopf"
 
-#: access/transam/xlog.c:8641
+#: access/transam/xlogreader.c:1255
 #, c-format
-msgid "shutting down"
-msgstr "fahre herunter"
+msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
+msgstr "WAL-Datei ist von einem anderen Datenbanksystem: falsche XLOG_BLCKSZ im Seitenkopf"
 
-#. translator: the placeholders show checkpoint options
-#: access/transam/xlog.c:8680
+#: access/transam/xlogreader.c:1286
 #, c-format
-msgid "restartpoint starting:%s%s%s%s%s%s%s%s"
-msgstr "Restart-Punkt beginnt:%s%s%s%s%s%s%s%s"
+msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgstr "unerwartete Pageaddr %X/%X in Logsegment %s, Offset %u"
 
-#. translator: the placeholders show checkpoint options
-#: access/transam/xlog.c:8692
+#: access/transam/xlogreader.c:1311
 #, c-format
-msgid "checkpoint starting:%s%s%s%s%s%s%s%s"
-msgstr "Checkpoint beginnt:%s%s%s%s%s%s%s%s"
+msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
+msgstr "Zeitleisten-ID %u außer der Reihe (nach %u) in Logsegment %s, Offset %u"
 
-#: access/transam/xlog.c:8752
+#: access/transam/xlogreader.c:1706
 #, 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"
-msgstr ""
+msgid "out-of-order block_id %u at %X/%X"
+msgstr "block_id %u außer der Reihe bei %X/%X"
 
-#: access/transam/xlog.c:8772
+#: access/transam/xlogreader.c:1730
 #, 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"
-msgstr ""
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA gesetzt, aber keine Daten enthalten bei %X/%X"
 
-#: access/transam/xlog.c:9205
+#: access/transam/xlogreader.c:1737
 #, c-format
-msgid "concurrent write-ahead log activity while database system is shutting down"
-msgstr "gleichzeitige Write-Ahead-Log-Aktivität während das Datenbanksystem herunterfährt"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgstr "BKPBLOCK_HAS_DATA nicht gesetzt, aber Datenlänge ist %u bei %X/%X"
 
-#: access/transam/xlog.c:9661
+#: access/transam/xlogreader.c:1773
 #, c-format
-msgid "recovery restart point at %X/%X"
-msgstr "Recovery-Restart-Punkt bei %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE gesetzt, aber Loch Offset %u Länge %u Block-Abbild-Länge %u bei %X/%X"
 
-#: access/transam/xlog.c:9663
+#: access/transam/xlogreader.c:1789
 #, c-format
-msgid "Last completed transaction was at log time %s."
-msgstr "Die letzte vollständige Transaktion war bei Logzeit %s."
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgstr "BKPIMAGE_HAS_HOLE nicht gesetzt, aber Loch Offset %u Länge %u bei %X/%X"
 
-#: access/transam/xlog.c:9903
+#: access/transam/xlogreader.c:1803
 #, c-format
-msgid "restore point \"%s\" created at %X/%X"
-msgstr "Restore-Punkt »%s« erzeugt bei %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgstr "BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge %u bei %X/%X"
 
-#: access/transam/xlog.c:10048
+#: access/transam/xlogreader.c:1818
 #, c-format
-msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record"
-msgstr "unerwartete vorherige Zeitleisten-ID %u (aktuelle Zeitleisten-ID %u) im Checkpoint-Datensatz"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
+msgstr "weder BKPIMAGE_HAS_HOLE noch BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge ist %u bei %X/%X"
 
-#: access/transam/xlog.c:10057
+#: access/transam/xlogreader.c:1834
 #, c-format
-msgid "unexpected timeline ID %u (after %u) in checkpoint record"
-msgstr "unerwartete Zeitleisten-ID %u (nach %u) im Checkpoint-Datensatz"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgstr "BKPBLOCK_SAME_REL gesetzt, aber keine vorangehende Relation bei %X/%X"
 
-#: access/transam/xlog.c:10073
+#: access/transam/xlogreader.c:1846
 #, c-format
-msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
-msgstr "unerwartete Zeitleisten-ID %u in Checkpoint-Datensatz, bevor der minimale Wiederherstellungspunkt %X/%X auf Zeitleiste %u erreicht wurde"
+msgid "invalid block_id %u at %X/%X"
+msgstr "ungültige block_id %u bei %X/%X"
 
-#: access/transam/xlog.c:10148
+#: access/transam/xlogreader.c:1913
 #, c-format
-msgid "online backup was canceled, recovery cannot continue"
-msgstr "Online-Sicherung wurde storniert, Wiederherstellung kann nicht fortgesetzt werden"
+msgid "record with invalid length at %X/%X"
+msgstr "Datensatz mit ungültiger Länge bei %X/%X"
 
-#: access/transam/xlog.c:10204 access/transam/xlog.c:10260
-#: access/transam/xlog.c:10283
+#: access/transam/xlogreader.c:1938
 #, c-format
-msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
-msgstr "unerwartete Zeitleisten-ID %u (sollte %u sein) im Checkpoint-Datensatz"
+msgid "failed to locate backup block with ID %d in WAL record"
+msgstr "konnte Backup-Block mit ID %d nicht im WAL-Eintrag finden"
 
-#: access/transam/xlog.c:10632
+#: access/transam/xlogreader.c:2044 access/transam/xlogreader.c:2061
 #, c-format
-msgid "could not fsync write-through file \"%s\": %m"
-msgstr "konnte Write-Through-Logdatei »%s« nicht fsyncen: %m"
+msgid "image at %X/%X compressed with %s not supported by build, block %d"
+msgstr "Abbild bei %X/%X komprimiert mit %s nicht unterstützt von dieser Installation, Block %d"
 
-#: access/transam/xlog.c:10638
+#: access/transam/xlogreader.c:2070
 #, c-format
-msgid "could not fdatasync file \"%s\": %m"
-msgstr "konnte Datei »%s« nicht fdatasyncen: %m"
+msgid "image at %X/%X compressed with unknown method, block %d"
+msgstr "Abbild bei %X/%X, komprimiert mit unbekannter Methode, Block %d"
 
-#: access/transam/xlog.c:10749 access/transam/xlog.c:11278
-#: access/transam/xlogfuncs.c:275 access/transam/xlogfuncs.c:302
-#: access/transam/xlogfuncs.c:341 access/transam/xlogfuncs.c:362
-#: access/transam/xlogfuncs.c:383
+#: access/transam/xlogreader.c:2078
 #, c-format
-msgid "WAL control functions cannot be executed during recovery."
-msgstr "Während der Wiederherstellung können keine WAL-Kontrollfunktionen ausgeführt werden."
+msgid "invalid compressed image at %X/%X, block %d"
+msgstr "ungültiges komprimiertes Abbild bei %X/%X, Block %d"
 
-#: access/transam/xlog.c:10758 access/transam/xlog.c:11287
+#: access/transam/xlogrecovery.c:525
 #, c-format
-msgid "WAL level not sufficient for making an online backup"
-msgstr "WAL-Level nicht ausreichend, um Online-Sicherung durchzuführen"
+msgid "entering standby mode"
+msgstr "Standby-Modus eingeschaltet"
 
-#: access/transam/xlog.c:10759 access/transam/xlog.c:11288
-#: access/transam/xlogfuncs.c:308
+#: access/transam/xlogrecovery.c:528
 #, c-format
-msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
-msgstr "wal_level muss beim Serverstart auf »replica« oder »logical« gesetzt werden."
+msgid "starting point-in-time recovery to XID %u"
+msgstr "starte Point-in-Time-Recovery bis XID %u"
 
-#: access/transam/xlog.c:10764
+#: access/transam/xlogrecovery.c:532
 #, c-format
-msgid "backup label too long (max %d bytes)"
-msgstr "Backup-Label zu lang (maximal %d Bytes)"
+msgid "starting point-in-time recovery to %s"
+msgstr "starte Point-in-Time-Recovery bis %s"
 
-#: access/transam/xlog.c:10801 access/transam/xlog.c:11077
-#: access/transam/xlog.c:11115
+#: access/transam/xlogrecovery.c:536
 #, c-format
-msgid "a backup is already in progress"
-msgstr "ein Backup läuft bereits"
+msgid "starting point-in-time recovery to \"%s\""
+msgstr "starte Point-in-Time-Recovery bis »%s«"
 
-#: access/transam/xlog.c:10802
+#: access/transam/xlogrecovery.c:540
 #, c-format
-msgid "Run pg_stop_backup() and try again."
-msgstr "Führen Sie pg_stop_backup() aus und versuchen Sie es nochmal."
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
+msgstr "starte Point-in-Time-Recovery bis WAL-Position (LSN) »%X/%X«"
 
-#: access/transam/xlog.c:10898
+#: access/transam/xlogrecovery.c:544
 #, c-format
-msgid "WAL generated with full_page_writes=off was replayed since last restartpoint"
-msgstr "mit full_page_writes=off erzeugtes WAL wurde seit dem letzten Restart-Punkt zurückgespielt"
+msgid "starting point-in-time recovery to earliest consistent point"
+msgstr "starte Point-in-Time-Recovery bis zum frühesten konsistenten Punkt"
 
-#: access/transam/xlog.c:10900 access/transam/xlog.c:11483
+#: access/transam/xlogrecovery.c:547
 #, c-format
-msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the primary, and then try an online backup again."
-msgstr "Das bedeutet, dass die aktuelle Datensicherung auf dem Standby-Server verfälscht ist und nicht verwendet werden sollte. Schalten Sie auf dem Primärserver full_page_writes ein, führen Sie dort CHECKPOINT aus und versuchen Sie dann die Online-Sicherung erneut."
+msgid "starting archive recovery"
+msgstr "starte Wiederherstellung aus Archiv"
 
-#: access/transam/xlog.c:10976 replication/basebackup.c:1433
-#: utils/adt/misc.c:345
+#: access/transam/xlogrecovery.c:631
 #, c-format
-msgid "symbolic link \"%s\" target is too long"
-msgstr "Ziel für symbolische Verknüpfung »%s« ist zu lang"
+msgid "could not find redo location referenced by checkpoint record"
+msgstr "konnte die vom Checkpoint-Datensatz referenzierte Redo-Position nicht finden"
 
-#: access/transam/xlog.c:11026 commands/tablespace.c:402
-#: commands/tablespace.c:578 replication/basebackup.c:1448 utils/adt/misc.c:353
+#: access/transam/xlogrecovery.c:632 access/transam/xlogrecovery.c:642
 #, c-format
-msgid "tablespaces are not supported on this platform"
-msgstr "Tablespaces werden auf dieser Plattform nicht unterstützt"
+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."
+msgstr ""
+"Wenn Sie gerade ein Backup wiederherstellen, dann erzeugen Sie »%s/recovery.signal« und setzen Sie die notwendigen Recovery-Optionen.\n"
+"Wenn Sie gerade kein Backup wiederherstellen, dann versuchen Sie, die Datei »%s/backup_label« zu entfernen.\n"
+"Vorsicht: Wenn ein Backup wiederhergestellt wird und »%s/backup_label« gelöscht wird, dann wird das den Cluster verfälschen."
 
-#: access/transam/xlog.c:11078 access/transam/xlog.c:11116
+#: access/transam/xlogrecovery.c:641
 #, c-format
-msgid "If you're sure there is no backup in progress, remove file \"%s\" and try again."
-msgstr "Wenn Sie sicher sind, dass noch kein Backup läuft, entfernen Sie die Datei »%s« und versuchen Sie es noch einmal."
+msgid "could not locate required checkpoint record"
+msgstr "konnte den nötigen Checkpoint-Datensatz nicht finden"
 
-#: access/transam/xlog.c:11303
+#: access/transam/xlogrecovery.c:670 commands/tablespace.c:707
 #, c-format
-msgid "exclusive backup not in progress"
-msgstr "es läuft kein exklusives Backup"
+msgid "could not create symbolic link \"%s\": %m"
+msgstr "konnte symbolische Verknüpfung »%s« nicht erstellen: %m"
 
-#: access/transam/xlog.c:11330
+#: access/transam/xlogrecovery.c:702 access/transam/xlogrecovery.c:708
 #, c-format
-msgid "a backup is not in progress"
-msgstr "es läuft kein Backup"
+msgid "ignoring file \"%s\" because no file \"%s\" exists"
+msgstr "ignoriere Datei »%s«, weil keine Datei »%s« existiert"
 
-#: access/transam/xlog.c:11416 access/transam/xlog.c:11429
-#: access/transam/xlog.c:11818 access/transam/xlog.c:11824
-#: access/transam/xlog.c:11872 access/transam/xlog.c:11952
-#: access/transam/xlog.c:11976 access/transam/xlogfuncs.c:733
+#: access/transam/xlogrecovery.c:704
 #, c-format
-msgid "invalid data in file \"%s\""
-msgstr "ungültige Daten in Datei »%s«"
+msgid "File \"%s\" was renamed to \"%s\"."
+msgstr "Datei »%s« wurde in »%s« umbenannt."
 
-#: access/transam/xlog.c:11433 replication/basebackup.c:1281
+#: access/transam/xlogrecovery.c:710
 #, c-format
-msgid "the standby was promoted during online backup"
-msgstr "der Standby-Server wurde während der Online-Sicherung zum Primärserver befördert"
+msgid "Could not rename file \"%s\" to \"%s\": %m."
+msgstr "Konnte Datei »%s« nicht in »%s« umbenennen: %m."
 
-#: access/transam/xlog.c:11434 replication/basebackup.c:1282
+#: access/transam/xlogrecovery.c:764
 #, c-format
-msgid "This means that the backup being taken is corrupt and should not be used. Try taking another online backup."
-msgstr "Das bedeutet, dass die aktuelle Online-Sicherung verfälscht ist und nicht verwendet werden sollte. Versuchen Sie, eine neue Online-Sicherung durchzuführen."
+msgid "could not locate a valid checkpoint record"
+msgstr "konnte keinen gültigen Checkpoint-Datensatz finden"
 
-#: access/transam/xlog.c:11481
+#: access/transam/xlogrecovery.c:788
 #, c-format
-msgid "WAL generated with full_page_writes=off was replayed during online backup"
-msgstr "mit full_page_writes=off erzeugtes WAL wurde während der Online-Sicherung zurückgespielt"
+msgid "requested timeline %u is not a child of this server's history"
+msgstr "angeforderte Zeitleiste %u ist kein Kind der History dieses Servers"
 
-#: access/transam/xlog.c:11601
+#: access/transam/xlogrecovery.c:790
 #, c-format
-msgid "base backup done, waiting for required WAL segments to be archived"
-msgstr "Basissicherung beendet, warte bis die benötigten WAL-Segmente archiviert sind"
+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 "Neuester Checkpoint ist bei %X/%X auf Zeitleiste %u, aber in der History der angeforderten Zeitleiste zweigte der Server von dieser Zeitleiste bei %X/%X ab."
+
+#: access/transam/xlogrecovery.c:804
+#, c-format
+msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
+msgstr "angeforderte Zeitleiste %u enthält nicht den minimalen Wiederherstellungspunkt %X/%X auf Zeitleiste %u"
 
-#: access/transam/xlog.c:11613
+#: access/transam/xlogrecovery.c:832
 #, c-format
-msgid "still waiting for all required WAL segments to be archived (%d seconds elapsed)"
-msgstr "warte immer noch, bis alle benötigten WAL-Segmente archiviert sind (%d Sekunden abgelaufen)"
+msgid "invalid next transaction ID"
+msgstr "ungültige nächste Transaktions-ID"
 
-#: access/transam/xlog.c:11615
+#: access/transam/xlogrecovery.c:837
 #, c-format
-msgid "Check that your archive_command is executing properly.  You can safely cancel this backup, but the database backup will not be usable without all the WAL segments."
-msgstr "Prüfen Sie, ob das archive_command korrekt ausgeführt wird. Dieser Sicherungsvorgang kann gefahrlos abgebrochen werden, aber die Datenbanksicherung wird ohne die fehlenden WAL-Segmente nicht benutzbar sein."
+msgid "invalid redo in checkpoint record"
+msgstr "ungültiges Redo im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:11622
+#: access/transam/xlogrecovery.c:848
 #, c-format
-msgid "all required WAL segments have been archived"
-msgstr "alle benötigten WAL-Segmente wurden archiviert"
+msgid "invalid redo record in shutdown checkpoint"
+msgstr "ungültiger Redo-Datensatz im Shutdown-Checkpoint"
 
-#: access/transam/xlog.c:11626
+#: access/transam/xlogrecovery.c:877
 #, 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 "WAL-Archivierung ist nicht eingeschaltet; Sie müssen dafür sorgen, dass alle benötigten WAL-Segmente auf andere Art kopiert werden, um die Sicherung abzuschließen"
+msgid "database system was not properly shut down; automatic recovery in progress"
+msgstr "Datenbanksystem wurde nicht richtig heruntergefahren; automatische Wiederherstellung läuft"
 
-#: access/transam/xlog.c:11679
+#: access/transam/xlogrecovery.c:881
 #, c-format
-msgid "aborting backup due to backend exiting before pg_stop_backup was called"
-msgstr "Backup wird abgebrochen, weil Backend-Prozess beendete, bevor pg_stop_backup aufgerufen wurde"
+msgid "crash recovery starts in timeline %u and has target timeline %u"
+msgstr "Wiederherstellung nach Absturz beginnt in Zeitleiste %u und hat Zielzeitleiste %u"
 
-#: access/transam/xlog.c:11873
+#: access/transam/xlogrecovery.c:924
 #, c-format
-msgid "Timeline ID parsed is %u, but expected %u."
-msgstr "Gelesene Zeitleisten-ID ist %u, aber %u wurde erwartet."
+msgid "backup_label contains data inconsistent with control file"
+msgstr "Daten in backup_label stimmen nicht mit Kontrolldatei überein"
 
-#. translator: %s is a WAL record description
-#: access/transam/xlog.c:12001
+#: access/transam/xlogrecovery.c:925
 #, c-format
-msgid "WAL redo at %X/%X for %s"
-msgstr "WAL-Redo bei %X/%X für %s"
+msgid "This means that the backup is corrupted and you will have to use another backup for recovery."
+msgstr "Das bedeutet, dass die Datensicherung verfälscht ist und Sie eine andere Datensicherung zur Wiederherstellung verwenden werden müssen."
 
-#: access/transam/xlog.c:12049
+#: access/transam/xlogrecovery.c:979
 #, c-format
-msgid "online backup mode was not canceled"
-msgstr "Online-Sicherungsmodus wurde nicht storniert"
+msgid "using recovery command file \"%s\" is not supported"
+msgstr "Verwendung von Recovery-Befehlsdatei »%s« wird nicht unterstützt"
 
-#: access/transam/xlog.c:12050
+#: access/transam/xlogrecovery.c:1044
 #, c-format
-msgid "File \"%s\" could not be renamed to \"%s\": %m."
-msgstr "Konnte Datei »%s« nicht in »%s« umbenennen: %m."
+msgid "standby mode is not supported by single-user servers"
+msgstr "Standby-Modus wird von Servern im Einzelbenutzermodus nicht unterstützt"
 
-#: access/transam/xlog.c:12059 access/transam/xlog.c:12071
-#: access/transam/xlog.c:12081
+#: access/transam/xlogrecovery.c:1061
 #, c-format
-msgid "online backup mode canceled"
-msgstr "Online-Sicherungsmodus storniert"
+msgid "specified neither primary_conninfo nor restore_command"
+msgstr "weder primary_conninfo noch restore_command angegeben"
 
-#: access/transam/xlog.c:12072
+#: access/transam/xlogrecovery.c:1062
 #, c-format
-msgid "Files \"%s\" and \"%s\" were renamed to \"%s\" and \"%s\", respectively."
-msgstr "Dateien »%s« und »%s« wurden in »%s« und »%s« umbenannt."
+msgid "The database server will regularly poll the pg_wal subdirectory to check for files placed there."
+msgstr "Der Datenbankserver prüft das Unterverzeichnis pg_wal regelmäßig auf dort abgelegte Dateien."
 
-#: access/transam/xlog.c:12082
+#: access/transam/xlogrecovery.c:1070
 #, c-format
-msgid "File \"%s\" was renamed to \"%s\", but file \"%s\" could not be renamed to \"%s\": %m."
-msgstr "Datei »%s« wurde in »%s« umbenannt, aber Datei »%s« konnte nicht in »%s« umbenannt werden: %m."
+msgid "must specify restore_command when standby mode is not enabled"
+msgstr "restore_command muss angegeben werden, wenn der Standby-Modus nicht eingeschaltet ist"
 
-#: access/transam/xlog.c:12215 access/transam/xlogutils.c:967
+#: access/transam/xlogrecovery.c:1108
 #, c-format
-msgid "could not read from log segment %s, offset %u: %m"
-msgstr "konnte nicht aus Logsegment %s, Position %u lesen: %m"
+msgid "recovery target timeline %u does not exist"
+msgstr "recovery_target_timeline %u existiert nicht"
 
-#: access/transam/xlog.c:12221 access/transam/xlogutils.c:974
+#: access/transam/xlogrecovery.c:1258
 #, c-format
-msgid "could not read from log segment %s, offset %u: read %d of %zu"
-msgstr "konnte nicht aus Logsegment %s bei Position %u lesen: %d von %zu gelesen"
+msgid "Timeline ID parsed is %u, but expected %u."
+msgstr "Gelesene Zeitleisten-ID ist %u, aber %u wurde erwartet."
 
-#: access/transam/xlog.c:12758
+#: access/transam/xlogrecovery.c:1640
 #, c-format
-msgid "WAL receiver process shutdown requested"
-msgstr "Herunterfahren des WAL-Receiver-Prozesses verlangt"
+msgid "redo starts at %X/%X"
+msgstr "Redo beginnt bei %X/%X"
 
-#: access/transam/xlog.c:12853
+#: access/transam/xlogrecovery.c:1653
 #, c-format
-msgid "received promote request"
-msgstr "Anforderung zum Befördern empfangen"
+msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X"
+msgstr ""
 
-#: access/transam/xlog.c:12866
+#: access/transam/xlogrecovery.c:1745
 #, c-format
-msgid "promote trigger file found: %s"
-msgstr "Promote-Triggerdatei gefunden: %s"
+msgid "requested recovery stop point is before consistent recovery point"
+msgstr "angeforderter Recovery-Endpunkt ist vor konsistentem Recovery-Punkt"
 
-#: access/transam/xlog.c:12874
+#: access/transam/xlogrecovery.c:1777
 #, c-format
-msgid "could not stat promote trigger file \"%s\": %m"
-msgstr "konnte »stat« für Promote-Triggerdatei »%s« nicht ausführen: %m"
+msgid "redo done at %X/%X system usage: %s"
+msgstr "Redo fertig bei %X/%X Systembenutzung: %s"
 
-#: access/transam/xlogarchive.c:205
+#: access/transam/xlogrecovery.c:1783
 #, c-format
-msgid "archive file \"%s\" has wrong size: %lld instead of %lld"
-msgstr "Archivdatei »%s« hat falsche Größe: %lld statt %lld"
+msgid "last completed transaction was at log time %s"
+msgstr "letzte vollständige Transaktion war bei Logzeit %s"
 
-#: access/transam/xlogarchive.c:214
+#: access/transam/xlogrecovery.c:1792
 #, c-format
-msgid "restored log file \"%s\" from archive"
-msgstr "Logdatei »%s« aus Archiv wiederhergestellt"
+msgid "redo is not required"
+msgstr "Redo nicht nötig"
 
-#: access/transam/xlogarchive.c:228
+#: access/transam/xlogrecovery.c:1803
 #, c-format
-msgid "restore_command returned a zero exit status, but stat() failed."
-msgstr ""
+msgid "recovery ended before configured recovery target was reached"
+msgstr "Wiederherstellung endete bevor das konfigurierte Wiederherstellungsziel erreicht wurde"
 
-#: access/transam/xlogarchive.c:260
+#: access/transam/xlogrecovery.c:1978
 #, c-format
-msgid "could not restore file \"%s\" from archive: %s"
-msgstr "konnte Datei »%s« nicht aus Archiv wiederherstellen: %s"
+msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s"
+msgstr "fehlender Contrecord bei %X/%X erfolgreich übersprungen, überschrieben am %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:369
+#: access/transam/xlogrecovery.c:2073
 #, c-format
-msgid "%s \"%s\": %s"
-msgstr "%s »%s«: %s"
+msgid "consistent recovery state reached at %X/%X"
+msgstr "konsistenter Wiederherstellungszustand erreicht bei %X/%X"
 
-#: access/transam/xlogarchive.c:479 access/transam/xlogarchive.c:543
+#. translator: %s is a WAL record description
+#: access/transam/xlogrecovery.c:2111
 #, c-format
-msgid "could not create archive status file \"%s\": %m"
-msgstr "konnte Archivstatusdatei »%s« nicht erstellen: %m"
+msgid "WAL redo at %X/%X for %s"
+msgstr "WAL-Redo bei %X/%X für %s"
 
-#: access/transam/xlogarchive.c:487 access/transam/xlogarchive.c:551
+#: access/transam/xlogrecovery.c:2207
 #, c-format
-msgid "could not write archive status file \"%s\": %m"
-msgstr "konnte Archivstatusdatei »%s« nicht schreiben: %m"
+msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record"
+msgstr "unerwartete vorherige Zeitleisten-ID %u (aktuelle Zeitleisten-ID %u) im Checkpoint-Datensatz"
 
-#: access/transam/xlogfuncs.c:74
+#: access/transam/xlogrecovery.c:2216
 #, c-format
-msgid "a backup is already in progress in this session"
-msgstr "ein Backup läuft bereits in dieser Sitzung"
+msgid "unexpected timeline ID %u (after %u) in checkpoint record"
+msgstr "unerwartete Zeitleisten-ID %u (nach %u) im Checkpoint-Datensatz"
 
-#: access/transam/xlogfuncs.c:132 access/transam/xlogfuncs.c:213
+#: access/transam/xlogrecovery.c:2232
 #, c-format
-msgid "non-exclusive backup in progress"
-msgstr "es läuft ein nicht-exklusives Backup"
+msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
+msgstr "unerwartete Zeitleisten-ID %u in Checkpoint-Datensatz, bevor der minimale Wiederherstellungspunkt %X/%X auf Zeitleiste %u erreicht wurde"
 
-#: access/transam/xlogfuncs.c:133 access/transam/xlogfuncs.c:214
+#: access/transam/xlogrecovery.c:2414 access/transam/xlogrecovery.c:2685
 #, c-format
-msgid "Did you mean to use pg_stop_backup('f')?"
-msgstr "Meinten Sie pg_stop_backup('f')?"
+msgid "recovery stopping after reaching consistency"
+msgstr "Wiederherstellung beendet nachdem Konsistenz erreicht wurde"
 
-#: access/transam/xlogfuncs.c:185 commands/event_trigger.c:1311
-#: commands/event_trigger.c:1869 commands/extension.c:1944
-#: commands/extension.c:2052 commands/extension.c:2337 commands/prepare.c:712
-#: executor/execExpr.c:2507 executor/execSRF.c:738 executor/functions.c:1058
-#: foreign/foreign.c:520 libpq/hba.c:2718 replication/logical/launcher.c:937
-#: replication/logical/logicalfuncs.c:157 replication/logical/origin.c:1494
-#: replication/slotfuncs.c:255 replication/walsender.c:3291
-#: storage/ipc/shmem.c:554 utils/adt/datetime.c:4812 utils/adt/genfile.c:507
-#: utils/adt/genfile.c:590 utils/adt/jsonfuncs.c:1933
-#: utils/adt/jsonfuncs.c:2045 utils/adt/jsonfuncs.c:2233
-#: utils/adt/jsonfuncs.c:2342 utils/adt/jsonfuncs.c:3803
-#: utils/adt/mcxtfuncs.c:132 utils/adt/misc.c:218 utils/adt/pgstatfuncs.c:477
-#: utils/adt/pgstatfuncs.c:587 utils/adt/pgstatfuncs.c:1887
-#: utils/adt/varlena.c:4832 utils/fmgr/funcapi.c:74 utils/misc/guc.c:9993
-#: utils/mmgr/portalmem.c:1141
+#: access/transam/xlogrecovery.c:2435
 #, c-format
-msgid "set-valued function called in context that cannot accept a set"
-msgstr "Funktion mit Mengenergebnis in einem Zusammenhang aufgerufen, der keine Mengenergebnisse verarbeiten kann"
+msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
+msgstr "Wiederherstellung beendet vor WAL-Position (LSN) »%X/%X«"
 
-#: access/transam/xlogfuncs.c:189 commands/event_trigger.c:1315
-#: commands/event_trigger.c:1873 commands/extension.c:1948
-#: commands/extension.c:2056 commands/extension.c:2341 commands/prepare.c:716
-#: foreign/foreign.c:525 libpq/hba.c:2722 replication/logical/launcher.c:941
-#: replication/logical/logicalfuncs.c:161 replication/logical/origin.c:1498
-#: replication/slotfuncs.c:259 replication/walsender.c:3295
-#: storage/ipc/shmem.c:558 utils/adt/datetime.c:4816 utils/adt/genfile.c:511
-#: utils/adt/genfile.c:594 utils/adt/mcxtfuncs.c:136 utils/adt/misc.c:222
-#: utils/adt/pgstatfuncs.c:481 utils/adt/pgstatfuncs.c:591
-#: utils/adt/pgstatfuncs.c:1891 utils/adt/varlena.c:4836 utils/misc/guc.c:9997
-#: utils/misc/pg_config.c:43 utils/mmgr/portalmem.c:1145
+#: access/transam/xlogrecovery.c:2520
 #, c-format
-msgid "materialize mode required, but it is not allowed in this context"
-msgstr "Materialisierungsmodus wird benötigt, ist aber in diesem Zusammenhang nicht erlaubt"
+msgid "recovery stopping before commit of transaction %u, time %s"
+msgstr "Wiederherstellung beendet vor Commit der Transaktion %u, Zeit %s"
 
-#: access/transam/xlogfuncs.c:230
+#: access/transam/xlogrecovery.c:2527
 #, c-format
-msgid "non-exclusive backup is not in progress"
-msgstr "es läuft kein nicht-exklusives Backup"
+msgid "recovery stopping before abort of transaction %u, time %s"
+msgstr "Wiederherstellung beendet vor Abbruch der Transaktion %u, Zeit %s"
 
-#: access/transam/xlogfuncs.c:231
+#: access/transam/xlogrecovery.c:2580
 #, c-format
-msgid "Did you mean to use pg_stop_backup('t')?"
-msgstr "Meinten Sie pg_stop_backup('t')?"
+msgid "recovery stopping at restore point \"%s\", time %s"
+msgstr "Wiederherstellung beendet bei Restore-Punkt »%s«, Zeit %s"
 
-#: access/transam/xlogfuncs.c:307
+#: access/transam/xlogrecovery.c:2598
 #, c-format
-msgid "WAL level not sufficient for creating a restore point"
-msgstr "WAL-Level nicht ausreichend, um Restore-Punkt anzulegen"
+msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
+msgstr "Wiederherstellung beendet nach WAL-Position (LSN) »%X/%X«"
 
-#: access/transam/xlogfuncs.c:315
+#: access/transam/xlogrecovery.c:2665
 #, c-format
-msgid "value too long for restore point (maximum %d characters)"
-msgstr "Wert zu lang für Restore-Punkt (maximal %d Zeichen)"
+msgid "recovery stopping after commit of transaction %u, time %s"
+msgstr "Wiederherstellung beendet nach Commit der Transaktion %u, Zeit %s"
 
-#: access/transam/xlogfuncs.c:453 access/transam/xlogfuncs.c:510
+#: access/transam/xlogrecovery.c:2673
 #, c-format
-msgid "%s cannot be executed during recovery."
-msgstr "%s kann nicht während der Wiederherstellung ausgeführt werden."
+msgid "recovery stopping after abort of transaction %u, time %s"
+msgstr "Wiederherstellung beendet nach Abbruch der Transaktion %u, Zeit %s"
 
-#: access/transam/xlogfuncs.c:531 access/transam/xlogfuncs.c:561
-#: access/transam/xlogfuncs.c:585 access/transam/xlogfuncs.c:608
-#: access/transam/xlogfuncs.c:763
+#: access/transam/xlogrecovery.c:2754
 #, c-format
-msgid "recovery is not in progress"
-msgstr "Wiederherstellung läuft nicht"
+msgid "pausing at the end of recovery"
+msgstr "pausiere am Ende der Wiederherstellung"
 
-#: access/transam/xlogfuncs.c:532 access/transam/xlogfuncs.c:562
-#: access/transam/xlogfuncs.c:586 access/transam/xlogfuncs.c:609
-#: access/transam/xlogfuncs.c:764
+#: access/transam/xlogrecovery.c:2755
 #, c-format
-msgid "Recovery control functions can only be executed during recovery."
-msgstr "Wiederherstellungskontrollfunktionen können nur während der Wiederherstellung ausgeführt werden."
+msgid "Execute pg_wal_replay_resume() to promote."
+msgstr "Führen Sie pg_wal_replay_resume() aus, um den Server zum Primärserver zu befördern."
 
-#: access/transam/xlogfuncs.c:537 access/transam/xlogfuncs.c:567
+#: access/transam/xlogrecovery.c:2758 access/transam/xlogrecovery.c:4549
 #, c-format
-msgid "standby promotion is ongoing"
-msgstr "Beförderung des Standby läuft"
+msgid "recovery has paused"
+msgstr "Wiederherstellung wurde pausiert"
 
-#: access/transam/xlogfuncs.c:538 access/transam/xlogfuncs.c:568
+#: access/transam/xlogrecovery.c:2759
 #, c-format
-msgid "%s cannot be executed after promotion is triggered."
-msgstr "%s kann nicht ausgeführt werden, nachdem eine Beförderung angestoßen wurde."
+msgid "Execute pg_wal_replay_resume() to continue."
+msgstr "Führen Sie pg_wal_replay_resume() aus um fortzusetzen."
 
-#: access/transam/xlogfuncs.c:769
+#: access/transam/xlogrecovery.c:3019
 #, c-format
-msgid "\"wait_seconds\" must not be negative or zero"
-msgstr "»wait_seconds« darf nicht negativ oder null sein"
+msgid "unexpected timeline ID %u in log segment %s, offset %u"
+msgstr "unerwartete Zeitleisten-ID %u in Logsegment %s, Offset %u"
 
-#: access/transam/xlogfuncs.c:789 storage/ipc/signalfuncs.c:281
+#: access/transam/xlogrecovery.c:3224
 #, c-format
-msgid "failed to send signal to postmaster: %m"
-msgstr "konnte Signal nicht an Postmaster senden: %m"
+msgid "could not read from log segment %s, offset %u: %m"
+msgstr "konnte nicht aus Logsegment %s, Position %u lesen: %m"
 
-#: access/transam/xlogfuncs.c:825
+#: access/transam/xlogrecovery.c:3230
 #, c-format
-msgid "server did not promote within %d second"
-msgid_plural "server did not promote within %d seconds"
-msgstr[0] "Befördern des Servers wurde nicht innerhalb von %d Sekunde abgeschlossen"
-msgstr[1] "Befördern des Servers wurde nicht innerhalb von %d Sekunden abgeschlossen"
+msgid "could not read from log segment %s, offset %u: read %d of %zu"
+msgstr "konnte nicht aus Logsegment %s bei Position %u lesen: %d von %zu gelesen"
 
-#: access/transam/xlogreader.c:349
+#: access/transam/xlogrecovery.c:3866
 #, c-format
-msgid "invalid record offset at %X/%X"
-msgstr "ungültiger Datensatz-Offset bei %X/%X"
+msgid "invalid primary checkpoint link in control file"
+msgstr "ungültige primäre Checkpoint-Verknüpfung in Kontrolldatei"
 
-#: access/transam/xlogreader.c:357
+#: access/transam/xlogrecovery.c:3870
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "Contrecord angefordert von %X/%X"
+msgid "invalid checkpoint link in backup_label file"
+msgstr "ungültige Checkpoint-Verknüpfung in backup_label-Datei"
 
-#: access/transam/xlogreader.c:398 access/transam/xlogreader.c:695
+#: access/transam/xlogrecovery.c:3888
 #, c-format
-msgid "invalid record length at %X/%X: wanted %u, got %u"
-msgstr "ungültige Datensatzlänge bei %X/%X: %u erwartet, %u erhalten"
+msgid "invalid primary checkpoint record"
+msgstr "ungültiger primärer Checkpoint-Datensatz"
 
-#: access/transam/xlogreader.c:422
+#: access/transam/xlogrecovery.c:3892
 #, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "Datensatzlänge %u bei %X/%X ist zu lang"
+msgid "invalid checkpoint record"
+msgstr "ungültiger Checkpoint-Datensatz"
 
-#: access/transam/xlogreader.c:453
+#: access/transam/xlogrecovery.c:3903
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "keine Contrecord-Flag bei %X/%X"
+msgid "invalid resource manager ID in primary checkpoint record"
+msgstr "ungültige Resource-Manager-ID im primären Checkpoint-Datensatz"
 
-#: access/transam/xlogreader.c:466
+#: access/transam/xlogrecovery.c:3907
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "ungültige Contrecord-Länge %u (erwartet %lld) bei %X/%X"
+msgid "invalid resource manager ID in checkpoint record"
+msgstr "ungültige Resource-Manager-ID im Checkpoint-Datensatz"
 
-#: access/transam/xlogreader.c:703
+#: access/transam/xlogrecovery.c:3920
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "ungültige Resource-Manager-ID %u bei %X/%X"
+msgid "invalid xl_info in primary checkpoint record"
+msgstr "ungültige xl_info im primären Checkpoint-Datensatz"
 
-#: access/transam/xlogreader.c:716 access/transam/xlogreader.c:732
+#: access/transam/xlogrecovery.c:3924
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "Datensatz mit falschem Prev-Link %X/%X bei %X/%X"
+msgid "invalid xl_info in checkpoint record"
+msgstr "ungültige xl_info im Checkpoint-Datensatz"
 
-#: access/transam/xlogreader.c:768
+#: access/transam/xlogrecovery.c:3935
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "ungültige Resource-Manager-Datenprüfsumme in Datensatz bei %X/%X"
+msgid "invalid length of primary checkpoint record"
+msgstr "ungültige Länge des primären Checkpoint-Datensatzes"
 
-#: access/transam/xlogreader.c:805
+#: access/transam/xlogrecovery.c:3939
 #, c-format
-msgid "invalid magic number %04X in log segment %s, offset %u"
-msgstr "ungültige magische Zahl %04X in Logsegment %s, Offset %u"
+msgid "invalid length of checkpoint record"
+msgstr "ungültige Länge des Checkpoint-Datensatzes"
 
-#: access/transam/xlogreader.c:819 access/transam/xlogreader.c:860
+#: access/transam/xlogrecovery.c:3995
 #, c-format
-msgid "invalid info bits %04X in log segment %s, offset %u"
-msgstr "ungültige Info-Bits %04X in Logsegment %s, Offset %u"
+msgid "new timeline %u is not a child of database system timeline %u"
+msgstr "neue Zeitleiste %u ist kein Kind der Datenbanksystemzeitleiste %u"
 
-#: access/transam/xlogreader.c:834
+#: access/transam/xlogrecovery.c:4009
 #, 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 "WAL-Datei ist von einem anderen Datenbanksystem: Datenbanksystemidentifikator in WAL-Datei ist %llu, Datenbanksystemidentifikator in pg_control ist %llu"
+msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
+msgstr "neue Zeitleiste %u zweigte von der aktuellen Datenbanksystemzeitleiste %u vor dem aktuellen Wiederherstellungspunkt %X/%X ab"
 
-#: access/transam/xlogreader.c:842
+#: access/transam/xlogrecovery.c:4028
 #, c-format
-msgid "WAL file is from different database system: incorrect segment size in page header"
-msgstr "WAL-Datei ist von einem anderen Datenbanksystem: falsche Segmentgröße im Seitenkopf"
+msgid "new target timeline is %u"
+msgstr "neue Zielzeitleiste ist %u"
 
-#: access/transam/xlogreader.c:848
+#: access/transam/xlogrecovery.c:4231
 #, c-format
-msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
-msgstr "WAL-Datei ist von einem anderen Datenbanksystem: falsche XLOG_BLCKSZ im Seitenkopf"
+msgid "WAL receiver process shutdown requested"
+msgstr "Herunterfahren des WAL-Receiver-Prozesses verlangt"
 
-#: access/transam/xlogreader.c:879
+#: access/transam/xlogrecovery.c:4294
 #, c-format
-msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
-msgstr "unerwartete Pageaddr %X/%X in Logsegment %s, Offset %u"
+msgid "received promote request"
+msgstr "Anforderung zum Befördern empfangen"
 
-#: access/transam/xlogreader.c:904
+#: access/transam/xlogrecovery.c:4307
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
-msgstr "Zeitleisten-ID %u außer der Reihe (nach %u) in Logsegment %s, Offset %u"
+msgid "promote trigger file found: %s"
+msgstr "Promote-Triggerdatei gefunden: %s"
 
-#: access/transam/xlogreader.c:1249
+#: access/transam/xlogrecovery.c:4315
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id %u außer der Reihe bei %X/%X"
+msgid "could not stat promote trigger file \"%s\": %m"
+msgstr "konnte »stat« für Promote-Triggerdatei »%s« nicht ausführen: %m"
 
-#: access/transam/xlogreader.c:1271
+#: access/transam/xlogrecovery.c:4540
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA gesetzt, aber keine Daten enthalten bei %X/%X"
+msgid "hot standby is not possible because of insufficient parameter settings"
+msgstr "Hot Standby ist nicht möglich wegen unzureichender Parametereinstellungen"
 
-#: access/transam/xlogreader.c:1278
+#: access/transam/xlogrecovery.c:4541 access/transam/xlogrecovery.c:4568
+#: access/transam/xlogrecovery.c:4598
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA nicht gesetzt, aber Datenlänge ist %u bei %X/%X"
+msgid "%s = %d is a lower setting than on the primary server, where its value was %d."
+msgstr "%s = %d ist eine niedrigere Einstellung als auf dem Primärserver, wo der Wert %d war."
 
-#: access/transam/xlogreader.c:1314
+#: access/transam/xlogrecovery.c:4550
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE gesetzt, aber Loch Offset %u Länge %u Block-Abbild-Länge %u bei %X/%X"
+msgid "If recovery is unpaused, the server will shut down."
+msgstr "Wenn die Wiederherstellungspause beendet wird, wird der Server herunterfahren."
 
-#: access/transam/xlogreader.c:1330
+#: access/transam/xlogrecovery.c:4551
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE nicht gesetzt, aber Loch Offset %u Länge %u bei %X/%X"
+msgid "You can then restart the server after making the necessary configuration changes."
+msgstr "Sie können den Server dann neu starten, nachdem die nötigen Konfigurationsänderungen getätigt worden sind."
 
-#: access/transam/xlogreader.c:1345
+#: access/transam/xlogrecovery.c:4562
 #, c-format
-msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_IS_COMPRESSED gesetzt, aber Block-Abbild-Länge %u bei %X/%X"
+msgid "promotion is not possible because of insufficient parameter settings"
+msgstr "Beförderung ist nicht möglich wegen unzureichender Parametereinstellungen"
 
-#: access/transam/xlogreader.c:1360
+#: access/transam/xlogrecovery.c:4572
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "weder BKPIMAGE_HAS_HOLE noch BKPIMAGE_IS_COMPRESSED gesetzt, aber Block-Abbild-Länge ist %u bei %X/%X"
+msgid "Restart the server after making the necessary configuration changes."
+msgstr "Starten Sie den Server neu, nachdem die nötigen Konfigurationsänderungen getätigt worden sind."
 
-#: access/transam/xlogreader.c:1376
+#: access/transam/xlogrecovery.c:4596
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL gesetzt, aber keine vorangehende Relation bei %X/%X"
+msgid "recovery aborted because of insufficient parameter settings"
+msgstr "Wiederherstellung abgebrochen wegen unzureichender Parametereinstellungen"
 
-#: access/transam/xlogreader.c:1388
+#: access/transam/xlogrecovery.c:4602
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "ungültige block_id %u bei %X/%X"
+msgid "You can restart the server after making the necessary configuration changes."
+msgstr "Sie können den Server neu starten, nachdem die nötigen Konfigurationsänderungen getätigt worden sind."
 
-#: access/transam/xlogreader.c:1475
+#: access/transam/xlogutils.c:1051
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "Datensatz mit ungültiger Länge bei %X/%X"
+msgid "could not read from log segment %s, offset %d: %m"
+msgstr "konnte nicht aus Logsegment %s, Position %d lesen: %m"
 
-#: access/transam/xlogreader.c:1564
+#: access/transam/xlogutils.c:1058
 #, c-format
-msgid "invalid compressed image at %X/%X, block %d"
-msgstr "ungültiges komprimiertes Abbild bei %X/%X, Block %d"
+msgid "could not read from log segment %s, offset %d: read %d of %d"
+msgstr "konnte nicht aus Logsegment %s bei Position %d lesen: %d von %d gelesen"
 
-#: bootstrap/bootstrap.c:270
+#: bootstrap/bootstrap.c:263
 #, c-format
 msgid "-X requires a power of two value between 1 MB and 1 GB"
 msgstr "-X benötigt eine Zweierpotenz zwischen 1 MB und 1 GB"
 
-#: bootstrap/bootstrap.c:287 postmaster/postmaster.c:847 tcop/postgres.c:3858
+#: bootstrap/bootstrap.c:280 postmaster/postmaster.c:846 tcop/postgres.c:3889
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s benötigt einen Wert"
 
-#: bootstrap/bootstrap.c:292 postmaster/postmaster.c:852 tcop/postgres.c:3863
+#: bootstrap/bootstrap.c:285 postmaster/postmaster.c:851 tcop/postgres.c:3894
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s benötigt einen Wert"
 
-#: bootstrap/bootstrap.c:303 postmaster/postmaster.c:864
-#: postmaster/postmaster.c:877
+#: bootstrap/bootstrap.c:296 postmaster/postmaster.c:863
+#: postmaster/postmaster.c:876
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Versuchen Sie »%s --help« für weitere Informationen.\n"
 
-#: bootstrap/bootstrap.c:312
+#: bootstrap/bootstrap.c:305
 #, c-format
 msgid "%s: invalid command-line arguments\n"
 msgstr "%s: ungültige Kommandozeilenargumente\n"
 
-#: catalog/aclchk.c:181
+#: catalog/aclchk.c:185
 #, c-format
 msgid "grant options can only be granted to roles"
 msgstr "Grant-Optionen können nur Rollen gewährt werden"
 
-#: catalog/aclchk.c:300
+#: catalog/aclchk.c:307
 #, c-format
 msgid "no privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "es wurden keine Privilegien für Spalte »%s« von Relation »%s« gewährt"
 
-#: catalog/aclchk.c:305
+#: catalog/aclchk.c:312
 #, c-format
 msgid "no privileges were granted for \"%s\""
 msgstr "es wurden keine Privilegien für »%s« gewährt"
 
-#: catalog/aclchk.c:313
+#: catalog/aclchk.c:320
 #, c-format
 msgid "not all privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "es wurden nicht alle Priviligien für Spalte »%s« von Relation »%s« gewährt"
 
-#: catalog/aclchk.c:318
+#: catalog/aclchk.c:325
 #, c-format
 msgid "not all privileges were granted for \"%s\""
 msgstr "es wurden nicht alle Priviligien für »%s« gewährt"
 
-#: catalog/aclchk.c:329
+#: catalog/aclchk.c:336
 #, c-format
 msgid "no privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "es konnten keine Privilegien für Spalte »%s« von Relation »%s« entzogen werden"
 
-#: catalog/aclchk.c:334
+#: catalog/aclchk.c:341
 #, c-format
 msgid "no privileges could be revoked for \"%s\""
 msgstr "es konnten keine Privilegien für »%s« entzogen werden"
 
-#: catalog/aclchk.c:342
+#: catalog/aclchk.c:349
 #, c-format
 msgid "not all privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "es konnten nicht alle Privilegien für Spalte »%s« von Relation »%s« entzogen werden"
 
-#: catalog/aclchk.c:347
+#: catalog/aclchk.c:354
 #, c-format
 msgid "not all privileges could be revoked for \"%s\""
 msgstr "es konnten nicht alle Privilegien für »%s« entzogen werden"
 
-#: catalog/aclchk.c:379
-#, fuzzy, c-format
-#| msgid "must be superuser"
+#: catalog/aclchk.c:386
+#, c-format
 msgid "grantor must be current user"
-msgstr "Berechtigung nur für Superuser"
+msgstr "Grantor muss aktueller Benutzer sein"
 
-#: catalog/aclchk.c:446 catalog/aclchk.c:989
+#: catalog/aclchk.c:454 catalog/aclchk.c:1029
 #, c-format
 msgid "invalid privilege type %s for relation"
 msgstr "ungültiger Privilegtyp %s für Relation"
 
-#: catalog/aclchk.c:450 catalog/aclchk.c:993
+#: catalog/aclchk.c:458 catalog/aclchk.c:1033
 #, c-format
 msgid "invalid privilege type %s for sequence"
 msgstr "ungültiger Privilegtyp %s für Sequenz"
 
-#: catalog/aclchk.c:454
+#: catalog/aclchk.c:462
 #, c-format
 msgid "invalid privilege type %s for database"
 msgstr "ungültiger Privilegtyp %s für Datenbank"
 
-#: catalog/aclchk.c:458
+#: catalog/aclchk.c:466
 #, c-format
 msgid "invalid privilege type %s for domain"
 msgstr "ungültiger Privilegtyp %s für Domäne"
 
-#: catalog/aclchk.c:462 catalog/aclchk.c:997
+#: catalog/aclchk.c:470 catalog/aclchk.c:1037
 #, c-format
 msgid "invalid privilege type %s for function"
 msgstr "ungültiger Privilegtyp %s für Funktion"
 
-#: catalog/aclchk.c:466
+#: catalog/aclchk.c:474
 #, c-format
 msgid "invalid privilege type %s for language"
 msgstr "ungültiger Privilegtyp %s für Sprache"
 
-#: catalog/aclchk.c:470
+#: catalog/aclchk.c:478
 #, c-format
 msgid "invalid privilege type %s for large object"
 msgstr "ungültiger Privilegtyp %s für Large Object"
 
-#: catalog/aclchk.c:474 catalog/aclchk.c:1013
+#: catalog/aclchk.c:482 catalog/aclchk.c:1053
 #, c-format
 msgid "invalid privilege type %s for schema"
 msgstr "ungültiger Privilegtyp %s für Schema"
 
-#: catalog/aclchk.c:478 catalog/aclchk.c:1001
+#: catalog/aclchk.c:486 catalog/aclchk.c:1041
 #, c-format
 msgid "invalid privilege type %s for procedure"
 msgstr "ungültiger Privilegtyp %s für Prozedur"
 
-#: catalog/aclchk.c:482 catalog/aclchk.c:1005
+#: catalog/aclchk.c:490 catalog/aclchk.c:1045
 #, c-format
 msgid "invalid privilege type %s for routine"
 msgstr "ungültiger Privilegtyp %s für Routine"
 
-#: catalog/aclchk.c:486
+#: catalog/aclchk.c:494
 #, c-format
 msgid "invalid privilege type %s for tablespace"
 msgstr "ungültiger Privilegtyp %s für Tablespace"
 
-#: catalog/aclchk.c:490 catalog/aclchk.c:1009
+#: catalog/aclchk.c:498 catalog/aclchk.c:1049
 #, c-format
 msgid "invalid privilege type %s for type"
 msgstr "ungültiger Privilegtyp %s für Typ"
 
-#: catalog/aclchk.c:494
+#: catalog/aclchk.c:502
 #, c-format
 msgid "invalid privilege type %s for foreign-data wrapper"
 msgstr "ungültiger Privilegtyp %s für Fremddaten-Wrapper"
 
-#: catalog/aclchk.c:498
+#: catalog/aclchk.c:506
 #, c-format
 msgid "invalid privilege type %s for foreign server"
 msgstr "ungültiger Privilegtyp %s für Fremdserver"
 
-#: catalog/aclchk.c:537
+#: catalog/aclchk.c:510
+#, c-format
+msgid "invalid privilege type %s for parameter"
+msgstr "ungültiger Privilegtyp %s für Parameter"
+
+#: catalog/aclchk.c:549
 #, c-format
 msgid "column privileges are only valid for relations"
 msgstr "Spaltenprivilegien sind nur für Relation gültig"
 
-#: catalog/aclchk.c:697 catalog/aclchk.c:4164 catalog/aclchk.c:4985
-#: catalog/objectaddress.c:1060 catalog/pg_largeobject.c:116
-#: storage/large_object/inv_api.c:285
+#: catalog/aclchk.c:712 catalog/aclchk.c:4486 catalog/aclchk.c:5333
+#: catalog/objectaddress.c:1072 catalog/pg_largeobject.c:116
+#: storage/large_object/inv_api.c:287
 #, c-format
 msgid "large object %u does not exist"
 msgstr "Large Object %u existiert nicht"
 
-#: catalog/aclchk.c:926 catalog/aclchk.c:935 commands/collationcmds.c:119
-#: commands/copy.c:362 commands/copy.c:382 commands/copy.c:392
-#: commands/copy.c:401 commands/copy.c:410 commands/copy.c:420
-#: commands/copy.c:429 commands/copy.c:438 commands/copy.c:456
-#: commands/copy.c:472 commands/copy.c:492 commands/copy.c:509
-#: commands/dbcommands.c:157 commands/dbcommands.c:166
-#: commands/dbcommands.c:175 commands/dbcommands.c:184
-#: commands/dbcommands.c:193 commands/dbcommands.c:202
-#: commands/dbcommands.c:211 commands/dbcommands.c:220
-#: commands/dbcommands.c:229 commands/dbcommands.c:238
-#: commands/dbcommands.c:260 commands/dbcommands.c:1502
-#: commands/dbcommands.c:1511 commands/dbcommands.c:1520
-#: commands/dbcommands.c:1529 commands/extension.c:1735
-#: commands/extension.c:1745 commands/extension.c:1755
-#: commands/extension.c:3055 commands/foreigncmds.c:539
-#: commands/foreigncmds.c:548 commands/functioncmds.c:579
-#: commands/functioncmds.c:745 commands/functioncmds.c:754
-#: commands/functioncmds.c:763 commands/functioncmds.c:772
-#: commands/functioncmds.c:2069 commands/functioncmds.c:2077
-#: commands/publicationcmds.c:90 commands/publicationcmds.c:133
-#: commands/sequence.c:1266 commands/sequence.c:1276 commands/sequence.c:1286
-#: commands/sequence.c:1296 commands/sequence.c:1306 commands/sequence.c:1316
-#: commands/sequence.c:1326 commands/sequence.c:1336 commands/sequence.c:1346
-#: commands/subscriptioncmds.c:124 commands/subscriptioncmds.c:134
-#: commands/subscriptioncmds.c:144 commands/subscriptioncmds.c:154
-#: commands/subscriptioncmds.c:168 commands/subscriptioncmds.c:179
-#: commands/subscriptioncmds.c:193 commands/subscriptioncmds.c:203
-#: commands/subscriptioncmds.c:213 commands/tablecmds.c:7500
-#: commands/typecmds.c:335 commands/typecmds.c:1416 commands/typecmds.c:1425
-#: commands/typecmds.c:1433 commands/typecmds.c:1441 commands/typecmds.c:1449
-#: commands/typecmds.c:1457 commands/user.c:133 commands/user.c:147
-#: commands/user.c:156 commands/user.c:165 commands/user.c:174
-#: commands/user.c:183 commands/user.c:192 commands/user.c:201
-#: commands/user.c:210 commands/user.c:219 commands/user.c:228
-#: commands/user.c:237 commands/user.c:246 commands/user.c:582
-#: commands/user.c:590 commands/user.c:598 commands/user.c:606
-#: commands/user.c:614 commands/user.c:622 commands/user.c:630
-#: commands/user.c:638 commands/user.c:647 commands/user.c:655
-#: commands/user.c:663 parser/parse_utilcmd.c:407
-#: replication/pgoutput/pgoutput.c:189 replication/pgoutput/pgoutput.c:210
-#: replication/pgoutput/pgoutput.c:224 replication/pgoutput/pgoutput.c:234
-#: replication/pgoutput/pgoutput.c:244 replication/walsender.c:882
-#: replication/walsender.c:893 replication/walsender.c:903
-#, c-format
-msgid "conflicting or redundant options"
-msgstr "widersprüchliche oder überflüssige Optionen"
-
-#: catalog/aclchk.c:1046
+#: catalog/aclchk.c:1086
 #, c-format
 msgid "default privileges cannot be set for columns"
 msgstr "Vorgabeprivilegien können nicht für Spalten gesetzt werden"
 
-#: catalog/aclchk.c:1206
+#: catalog/aclchk.c:1246
 #, c-format
 msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS"
 msgstr "Klausel IN SCHEMA kann nicht verwendet werden, wenn GRANT/REVOKE ON SCHEMAS verwendet wird"
 
-#: catalog/aclchk.c:1544 catalog/catalog.c:553 catalog/objectaddress.c:1522
-#: commands/analyze.c:390 commands/copy.c:741 commands/sequence.c:1701
-#: commands/tablecmds.c:6976 commands/tablecmds.c:7119
-#: commands/tablecmds.c:7169 commands/tablecmds.c:7243
-#: commands/tablecmds.c:7313 commands/tablecmds.c:7425
-#: commands/tablecmds.c:7519 commands/tablecmds.c:7578
-#: commands/tablecmds.c:7667 commands/tablecmds.c:7696
-#: commands/tablecmds.c:7851 commands/tablecmds.c:7933
-#: commands/tablecmds.c:8089 commands/tablecmds.c:8207
-#: commands/tablecmds.c:11556 commands/tablecmds.c:11738
-#: commands/tablecmds.c:11898 commands/tablecmds.c:13041
-#: commands/tablecmds.c:15602 commands/trigger.c:924 parser/analyze.c:2413
-#: parser/parse_relation.c:714 parser/parse_target.c:1064
-#: parser/parse_type.c:144 parser/parse_utilcmd.c:3453
-#: parser/parse_utilcmd.c:3488 parser/parse_utilcmd.c:3530 utils/adt/acl.c:2845
-#: utils/adt/ruleutils.c:2708
+#: catalog/aclchk.c:1587 catalog/catalog.c:627 catalog/objectaddress.c:1543
+#: catalog/pg_publication.c:510 commands/analyze.c:391 commands/copy.c:763
+#: commands/sequence.c:1655 commands/tablecmds.c:7200 commands/tablecmds.c:7356
+#: commands/tablecmds.c:7406 commands/tablecmds.c:7480
+#: commands/tablecmds.c:7550 commands/tablecmds.c:7662
+#: commands/tablecmds.c:7756 commands/tablecmds.c:7815
+#: commands/tablecmds.c:7904 commands/tablecmds.c:7934
+#: commands/tablecmds.c:8062 commands/tablecmds.c:8144
+#: commands/tablecmds.c:8300 commands/tablecmds.c:8418
+#: commands/tablecmds.c:12092 commands/tablecmds.c:12273
+#: commands/tablecmds.c:12433 commands/tablecmds.c:13597
+#: commands/tablecmds.c:16183 commands/trigger.c:958 parser/analyze.c:2468
+#: parser/parse_relation.c:725 parser/parse_target.c:1063
+#: parser/parse_type.c:144 parser/parse_utilcmd.c:3424
+#: parser/parse_utilcmd.c:3460 parser/parse_utilcmd.c:3502 utils/adt/acl.c:2869
+#: utils/adt/ruleutils.c:2815
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "Spalte »%s« von Relation »%s« existiert nicht"
 
-#: catalog/aclchk.c:1807 catalog/objectaddress.c:1362 commands/sequence.c:1139
-#: commands/tablecmds.c:249 commands/tablecmds.c:16466 utils/adt/acl.c:2053
-#: utils/adt/acl.c:2083 utils/adt/acl.c:2115 utils/adt/acl.c:2147
-#: utils/adt/acl.c:2175 utils/adt/acl.c:2205
+#: catalog/aclchk.c:1850 catalog/objectaddress.c:1383 commands/sequence.c:1164
+#: commands/tablecmds.c:252 commands/tablecmds.c:17074 utils/adt/acl.c:2077
+#: utils/adt/acl.c:2107 utils/adt/acl.c:2139 utils/adt/acl.c:2171
+#: utils/adt/acl.c:2199 utils/adt/acl.c:2229
 #, c-format
 msgid "\"%s\" is not a sequence"
 msgstr "»%s« ist keine Sequenz"
 
-#: catalog/aclchk.c:1845
+#: catalog/aclchk.c:1888
 #, c-format
 msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges"
 msgstr "Sequenz »%s« unterstützt nur die Privilegien USAGE, SELECT und UPDATE"
 
-#: catalog/aclchk.c:1862
+#: catalog/aclchk.c:1905
 #, c-format
 msgid "invalid privilege type %s for table"
 msgstr "ungültiger Privilegtyp %s für Tabelle"
 
-#: catalog/aclchk.c:2028
+#: catalog/aclchk.c:2071
 #, c-format
 msgid "invalid privilege type %s for column"
 msgstr "ungültiger Privilegtyp %s für Spalte"
 
-#: catalog/aclchk.c:2041
+#: catalog/aclchk.c:2084
 #, c-format
 msgid "sequence \"%s\" only supports SELECT column privileges"
 msgstr "Sequenz »%s« unterstützt nur den Spaltenprivilegientyp SELECT"
 
-#: catalog/aclchk.c:2623
+#: catalog/aclchk.c:2666
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "Sprache »%s« ist nicht »trusted«"
 
-#: catalog/aclchk.c:2625
+#: catalog/aclchk.c:2668
 #, c-format
 msgid "GRANT and REVOKE are not allowed on untrusted languages, because only superusers can use untrusted languages."
 msgstr "GRANT und REVOKE sind für nicht vertrauenswürdige Sprachen nicht erlaubt, weil nur Superuser nicht vertrauenswürdige Sprachen verwenden können."
 
-#: catalog/aclchk.c:3139
+#: catalog/aclchk.c:3182
 #, c-format
 msgid "cannot set privileges of array types"
 msgstr "für Array-Typen können keine Privilegien gesetzt werden"
 
-#: catalog/aclchk.c:3140
+#: catalog/aclchk.c:3183
 #, c-format
 msgid "Set the privileges of the element type instead."
 msgstr "Setzen Sie stattdessen die Privilegien des Elementtyps."
 
-#: catalog/aclchk.c:3147 catalog/objectaddress.c:1656
+#: catalog/aclchk.c:3190 catalog/objectaddress.c:1649
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "»%s« ist keine Domäne"
 
-#: catalog/aclchk.c:3267
+#: catalog/aclchk.c:3462
 #, c-format
 msgid "unrecognized privilege type \"%s\""
 msgstr "unbekannter Privilegtyp »%s«"
 
-#: catalog/aclchk.c:3328
+#: catalog/aclchk.c:3527
 #, c-format
 msgid "permission denied for aggregate %s"
 msgstr "keine Berechtigung für Aggregatfunktion %s"
 
-#: catalog/aclchk.c:3331
+#: catalog/aclchk.c:3530
 #, c-format
 msgid "permission denied for collation %s"
 msgstr "keine Berechtigung für Sortierfolge %s"
 
-#: catalog/aclchk.c:3334
+#: catalog/aclchk.c:3533
 #, c-format
 msgid "permission denied for column %s"
 msgstr "keine Berechtigung für Spalte %s"
 
-#: catalog/aclchk.c:3337
+#: catalog/aclchk.c:3536
 #, c-format
 msgid "permission denied for conversion %s"
 msgstr "keine Berechtigung für Konversion %s"
 
-#: catalog/aclchk.c:3340
+#: catalog/aclchk.c:3539
 #, c-format
 msgid "permission denied for database %s"
 msgstr "keine Berechtigung für Datenbank %s"
 
-#: catalog/aclchk.c:3343
+#: catalog/aclchk.c:3542
 #, c-format
 msgid "permission denied for domain %s"
 msgstr "keine Berechtigung für Domäne %s"
 
-#: catalog/aclchk.c:3346
+#: catalog/aclchk.c:3545
 #, c-format
 msgid "permission denied for event trigger %s"
 msgstr "keine Berechtigung für Ereignistrigger %s"
 
-#: catalog/aclchk.c:3349
+#: catalog/aclchk.c:3548
 #, c-format
 msgid "permission denied for extension %s"
 msgstr "keine Berechtigung für Erweiterung %s"
 
-#: catalog/aclchk.c:3352
+#: catalog/aclchk.c:3551
 #, c-format
 msgid "permission denied for foreign-data wrapper %s"
 msgstr "keine Berechtigung für Fremddaten-Wrapper %s"
 
-#: catalog/aclchk.c:3355
+#: catalog/aclchk.c:3554
 #, c-format
 msgid "permission denied for foreign server %s"
 msgstr "keine Berechtigung für Fremdserver %s"
 
-#: catalog/aclchk.c:3358
+#: catalog/aclchk.c:3557
 #, c-format
 msgid "permission denied for foreign table %s"
 msgstr "keine Berechtigung für Fremdtabelle %s"
 
-#: catalog/aclchk.c:3361
+#: catalog/aclchk.c:3560
 #, c-format
 msgid "permission denied for function %s"
 msgstr "keine Berechtigung für Funktion %s"
 
-#: catalog/aclchk.c:3364
+#: catalog/aclchk.c:3563
 #, c-format
 msgid "permission denied for index %s"
 msgstr "keine Berechtigung für Index %s"
 
-#: catalog/aclchk.c:3367
+#: catalog/aclchk.c:3566
 #, c-format
 msgid "permission denied for language %s"
 msgstr "keine Berechtigung für Sprache %s"
 
-#: catalog/aclchk.c:3370
+#: catalog/aclchk.c:3569
 #, c-format
 msgid "permission denied for large object %s"
 msgstr "keine Berechtigung für Large Object %s"
 
-#: catalog/aclchk.c:3373
+#: catalog/aclchk.c:3572
 #, c-format
 msgid "permission denied for materialized view %s"
 msgstr "keine Berechtigung für materialisierte Sicht %s"
 
-#: catalog/aclchk.c:3376
+#: catalog/aclchk.c:3575
 #, c-format
 msgid "permission denied for operator class %s"
 msgstr "keine Berechtigung für Operatorklasse %s"
 
-#: catalog/aclchk.c:3379
+#: catalog/aclchk.c:3578
 #, c-format
 msgid "permission denied for operator %s"
 msgstr "keine Berechtigung für Operator %s"
 
-#: catalog/aclchk.c:3382
+#: catalog/aclchk.c:3581
 #, c-format
 msgid "permission denied for operator family %s"
 msgstr "keine Berechtigung für Operatorfamilie %s"
 
-#: catalog/aclchk.c:3385
+#: catalog/aclchk.c:3584
+#, c-format
+msgid "permission denied for parameter %s"
+msgstr "keine Berechtigung für Parameter %s"
+
+#: catalog/aclchk.c:3587
 #, c-format
 msgid "permission denied for policy %s"
 msgstr "keine Berechtigung für Policy %s"
 
-#: catalog/aclchk.c:3388
+#: catalog/aclchk.c:3590
 #, c-format
 msgid "permission denied for procedure %s"
 msgstr "keine Berechtigung für Prozedur %s"
 
-#: catalog/aclchk.c:3391
+#: catalog/aclchk.c:3593
 #, c-format
 msgid "permission denied for publication %s"
 msgstr "keine Berechtigung für Publikation %s"
 
-#: catalog/aclchk.c:3394
+#: catalog/aclchk.c:3596
 #, c-format
 msgid "permission denied for routine %s"
 msgstr "keine Berechtigung für Routine %s"
 
-#: catalog/aclchk.c:3397
+#: catalog/aclchk.c:3599
 #, c-format
 msgid "permission denied for schema %s"
 msgstr "keine Berechtigung für Schema %s"
 
-#: catalog/aclchk.c:3400 commands/sequence.c:610 commands/sequence.c:844
-#: commands/sequence.c:886 commands/sequence.c:927 commands/sequence.c:1799
-#: commands/sequence.c:1863
+#: catalog/aclchk.c:3602 commands/sequence.c:652 commands/sequence.c:878
+#: commands/sequence.c:920 commands/sequence.c:961 commands/sequence.c:1753
+#: commands/sequence.c:1817
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "keine Berechtigung für Sequenz %s"
 
-#: catalog/aclchk.c:3403
+#: catalog/aclchk.c:3605
 #, c-format
 msgid "permission denied for statistics object %s"
 msgstr "keine Berechtigung für Statistikobjekt %s"
 
-#: catalog/aclchk.c:3406
+#: catalog/aclchk.c:3608
 #, c-format
 msgid "permission denied for subscription %s"
 msgstr "keine Berechtigung für Subskription %s"
 
-#: catalog/aclchk.c:3409
+#: catalog/aclchk.c:3611
 #, c-format
 msgid "permission denied for table %s"
 msgstr "keine Berechtigung für Tabelle %s"
 
-#: catalog/aclchk.c:3412
+#: catalog/aclchk.c:3614
 #, c-format
 msgid "permission denied for tablespace %s"
 msgstr "keine Berechtigung für Tablespace %s"
 
-#: catalog/aclchk.c:3415
+#: catalog/aclchk.c:3617
 #, c-format
 msgid "permission denied for text search configuration %s"
 msgstr "keine Berechtigung für Textsuchekonfiguration %s"
 
-#: catalog/aclchk.c:3418
+#: catalog/aclchk.c:3620
 #, c-format
 msgid "permission denied for text search dictionary %s"
 msgstr "keine Berechtigung für Textsuchewörterbuch %s"
 
-#: catalog/aclchk.c:3421
+#: catalog/aclchk.c:3623
 #, c-format
 msgid "permission denied for type %s"
 msgstr "keine Berechtigung für Typ %s"
 
-#: catalog/aclchk.c:3424
+#: catalog/aclchk.c:3626
 #, c-format
 msgid "permission denied for view %s"
 msgstr "keine Berechtigung für Sicht %s"
 
-#: catalog/aclchk.c:3459
+#: catalog/aclchk.c:3662
 #, c-format
 msgid "must be owner of aggregate %s"
 msgstr "Berechtigung nur für Eigentümer der Aggregatfunktion %s"
 
-#: catalog/aclchk.c:3462
+#: catalog/aclchk.c:3665
 #, c-format
 msgid "must be owner of collation %s"
 msgstr "Berechtigung nur für Eigentümer der Sortierfolge %s"
 
-#: catalog/aclchk.c:3465
+#: catalog/aclchk.c:3668
 #, c-format
 msgid "must be owner of conversion %s"
 msgstr "Berechtigung nur für Eigentümer der Konversion %s"
 
-#: catalog/aclchk.c:3468
+#: catalog/aclchk.c:3671
 #, c-format
 msgid "must be owner of database %s"
 msgstr "Berechtigung nur für Eigentümer der Datenbank %s"
 
-#: catalog/aclchk.c:3471
+#: catalog/aclchk.c:3674
 #, c-format
 msgid "must be owner of domain %s"
 msgstr "Berechtigung nur für Eigentümer der Domäne %s"
 
-#: catalog/aclchk.c:3474
+#: catalog/aclchk.c:3677
 #, c-format
 msgid "must be owner of event trigger %s"
 msgstr "Berechtigung nur für Eigentümer des Ereignistriggers %s"
 
-#: catalog/aclchk.c:3477
+#: catalog/aclchk.c:3680
 #, c-format
 msgid "must be owner of extension %s"
 msgstr "Berechtigung nur für Eigentümer der Erweiterung %s"
 
-#: catalog/aclchk.c:3480
+#: catalog/aclchk.c:3683
 #, c-format
 msgid "must be owner of foreign-data wrapper %s"
 msgstr "Berechtigung nur für Eigentümer des Fremddaten-Wrappers %s"
 
-#: catalog/aclchk.c:3483
+#: catalog/aclchk.c:3686
 #, c-format
 msgid "must be owner of foreign server %s"
 msgstr "Berechtigung nur für Eigentümer des Fremdservers %s"
 
-#: catalog/aclchk.c:3486
+#: catalog/aclchk.c:3689
 #, c-format
 msgid "must be owner of foreign table %s"
 msgstr "Berechtigung nur für Eigentümer der Fremdtabelle %s"
 
-#: catalog/aclchk.c:3489
+#: catalog/aclchk.c:3692
 #, c-format
 msgid "must be owner of function %s"
 msgstr "Berechtigung nur für Eigentümer der Funktion %s"
 
-#: catalog/aclchk.c:3492
+#: catalog/aclchk.c:3695
 #, c-format
 msgid "must be owner of index %s"
 msgstr "Berechtigung nur für Eigentümer des Index %s"
 
-#: catalog/aclchk.c:3495
+#: catalog/aclchk.c:3698
 #, c-format
 msgid "must be owner of language %s"
 msgstr "Berechtigung nur für Eigentümer der Sprache %s"
 
-#: catalog/aclchk.c:3498
+#: catalog/aclchk.c:3701
 #, c-format
 msgid "must be owner of large object %s"
 msgstr "Berechtigung nur für Eigentümer des Large Object %s"
 
-#: catalog/aclchk.c:3501
+#: catalog/aclchk.c:3704
 #, c-format
 msgid "must be owner of materialized view %s"
 msgstr "Berechtigung nur für Eigentümer der materialisierten Sicht %s"
 
-#: catalog/aclchk.c:3504
+#: catalog/aclchk.c:3707
 #, c-format
 msgid "must be owner of operator class %s"
 msgstr "Berechtigung nur für Eigentümer der Operatorklasse %s"
 
-#: catalog/aclchk.c:3507
+#: catalog/aclchk.c:3710
 #, c-format
 msgid "must be owner of operator %s"
 msgstr "Berechtigung nur für Eigentümer des Operators %s"
 
-#: catalog/aclchk.c:3510
+#: catalog/aclchk.c:3713
 #, c-format
 msgid "must be owner of operator family %s"
 msgstr "Berechtigung nur für Eigentümer der Operatorfamilie %s"
 
-#: catalog/aclchk.c:3513
+#: catalog/aclchk.c:3716
 #, c-format
 msgid "must be owner of procedure %s"
 msgstr "Berechtigung nur für Eigentümer der Prozedur %s"
 
-#: catalog/aclchk.c:3516
+#: catalog/aclchk.c:3719
 #, c-format
 msgid "must be owner of publication %s"
 msgstr "Berechtigung nur für Eigentümer der Publikation %s"
 
-#: catalog/aclchk.c:3519
+#: catalog/aclchk.c:3722
 #, c-format
 msgid "must be owner of routine %s"
 msgstr "Berechtigung nur für Eigentümer der Routine %s"
 
-#: catalog/aclchk.c:3522
+#: catalog/aclchk.c:3725
 #, c-format
 msgid "must be owner of sequence %s"
 msgstr "Berechtigung nur für Eigentümer der Sequenz %s"
 
-#: catalog/aclchk.c:3525
+#: catalog/aclchk.c:3728
 #, c-format
 msgid "must be owner of subscription %s"
 msgstr "Berechtigung nur für Eigentümer der Subskription %s"
 
-#: catalog/aclchk.c:3528
+#: catalog/aclchk.c:3731
 #, c-format
 msgid "must be owner of table %s"
 msgstr "Berechtigung nur für Eigentümer der Tabelle %s"
 
-#: catalog/aclchk.c:3531
+#: catalog/aclchk.c:3734
 #, c-format
 msgid "must be owner of type %s"
 msgstr "Berechtigung nur für Eigentümer des Typs %s"
 
-#: catalog/aclchk.c:3534
+#: catalog/aclchk.c:3737
 #, c-format
 msgid "must be owner of view %s"
 msgstr "Berechtigung nur für Eigentümer der Sicht %s"
 
-#: catalog/aclchk.c:3537
+#: catalog/aclchk.c:3740
 #, c-format
 msgid "must be owner of schema %s"
 msgstr "Berechtigung nur für Eigentümer des Schemas %s"
 
-#: catalog/aclchk.c:3540
+#: catalog/aclchk.c:3743
 #, c-format
 msgid "must be owner of statistics object %s"
 msgstr "Berechtigung nur für Eigentümer des Statistikobjekts %s"
 
-#: catalog/aclchk.c:3543
+#: catalog/aclchk.c:3746
 #, c-format
 msgid "must be owner of tablespace %s"
 msgstr "Berechtigung nur für Eigentümer des Tablespace %s"
 
-#: catalog/aclchk.c:3546
+#: catalog/aclchk.c:3749
 #, c-format
 msgid "must be owner of text search configuration %s"
 msgstr "Berechtigung nur für Eigentümer der Textsuchekonfiguration %s"
 
-#: catalog/aclchk.c:3549
+#: catalog/aclchk.c:3752
 #, c-format
 msgid "must be owner of text search dictionary %s"
 msgstr "Berechtigung nur für Eigentümer des Textsuchewörterbuches %s"
 
-#: catalog/aclchk.c:3563
+#: catalog/aclchk.c:3766
 #, c-format
 msgid "must be owner of relation %s"
 msgstr "Berechtigung nur für Eigentümer der Relation %s"
 
-#: catalog/aclchk.c:3607
+#: catalog/aclchk.c:3812
 #, c-format
 msgid "permission denied for column \"%s\" of relation \"%s\""
 msgstr "keine Berechtigung für Spalte »%s« von Relation »%s«"
 
-#: catalog/aclchk.c:3750 catalog/aclchk.c:3769
+#: catalog/aclchk.c:3957 catalog/aclchk.c:3976
 #, c-format
 msgid "attribute %d of relation with OID %u does not exist"
 msgstr "Attribut %d der Relation mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:3864 catalog/aclchk.c:4836
+#: catalog/aclchk.c:4071 catalog/aclchk.c:5184
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "Relation mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:3977 catalog/aclchk.c:5254
+#: catalog/aclchk.c:4184 catalog/aclchk.c:5602 commands/dbcommands.c:2582
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "Datenbank mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4031 catalog/aclchk.c:4914 tcop/fastpath.c:141
-#: utils/fmgr/fmgr.c:2051
+#: catalog/aclchk.c:4299
+#, c-format
+msgid "parameter ACL with OID %u does not exist"
+msgstr "Parameter-ACL mit OID %u existiert nicht"
+
+#: catalog/aclchk.c:4353 catalog/aclchk.c:5262 tcop/fastpath.c:141
+#: utils/fmgr/fmgr.c:2037
 #, c-format
 msgid "function with OID %u does not exist"
 msgstr "Funktion mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4085 catalog/aclchk.c:4940
+#: catalog/aclchk.c:4407 catalog/aclchk.c:5288
 #, c-format
 msgid "language with OID %u does not exist"
 msgstr "Sprache mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4249 catalog/aclchk.c:5012 commands/collationcmds.c:517
+#: catalog/aclchk.c:4571 catalog/aclchk.c:5360 commands/collationcmds.c:595
+#: commands/publicationcmds.c:1794
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "Schema mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4313 catalog/aclchk.c:5039 utils/adt/genfile.c:688
+#: catalog/aclchk.c:4635 catalog/aclchk.c:5387 utils/adt/genfile.c:632
 #, c-format
 msgid "tablespace with OID %u does not exist"
 msgstr "Tablespace mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4372 catalog/aclchk.c:5173 commands/foreigncmds.c:325
+#: catalog/aclchk.c:4694 catalog/aclchk.c:5521 commands/foreigncmds.c:325
 #, c-format
 msgid "foreign-data wrapper with OID %u does not exist"
 msgstr "Fremddaten-Wrapper mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4434 catalog/aclchk.c:5200 commands/foreigncmds.c:462
+#: catalog/aclchk.c:4756 catalog/aclchk.c:5548 commands/foreigncmds.c:462
 #, c-format
 msgid "foreign server with OID %u does not exist"
 msgstr "Fremdserver mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4494 catalog/aclchk.c:4862 utils/cache/typcache.c:384
-#: utils/cache/typcache.c:439
+#: catalog/aclchk.c:4816 catalog/aclchk.c:5210 utils/cache/typcache.c:385
+#: utils/cache/typcache.c:440
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "Typ mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4888
+#: catalog/aclchk.c:5236
 #, c-format
 msgid "operator with OID %u does not exist"
 msgstr "Operator mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5065
+#: catalog/aclchk.c:5413
 #, c-format
 msgid "operator class with OID %u does not exist"
 msgstr "Operatorklasse mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5092
+#: catalog/aclchk.c:5440
 #, c-format
 msgid "operator family with OID %u does not exist"
 msgstr "Operatorfamilie mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5119
+#: catalog/aclchk.c:5467
 #, c-format
 msgid "text search dictionary with OID %u does not exist"
 msgstr "Textsuchewörterbuch mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5146
+#: catalog/aclchk.c:5494
 #, c-format
 msgid "text search configuration with OID %u does not exist"
 msgstr "Textsuchekonfiguration mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5227 commands/event_trigger.c:453
+#: catalog/aclchk.c:5575 commands/event_trigger.c:453
 #, c-format
 msgid "event trigger with OID %u does not exist"
 msgstr "Ereignistrigger mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5280 commands/collationcmds.c:368
+#: catalog/aclchk.c:5628 commands/collationcmds.c:439
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "Sortierfolge mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5306
+#: catalog/aclchk.c:5654
 #, c-format
 msgid "conversion with OID %u does not exist"
 msgstr "Konversion mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5347
+#: catalog/aclchk.c:5695
 #, c-format
 msgid "extension with OID %u does not exist"
 msgstr "Erweiterung mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5374 commands/publicationcmds.c:771
+#: catalog/aclchk.c:5722 commands/publicationcmds.c:2048
 #, c-format
 msgid "publication with OID %u does not exist"
 msgstr "Publikation mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5400 commands/subscriptioncmds.c:1459
+#: catalog/aclchk.c:5748 commands/subscriptioncmds.c:1745
 #, c-format
 msgid "subscription with OID %u does not exist"
 msgstr "Subskription mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5426
+#: catalog/aclchk.c:5774
 #, c-format
 msgid "statistics object with OID %u does not exist"
 msgstr "Statistikobjekt mit OID %u existiert nicht"
 
-#: catalog/catalog.c:378
-#, fuzzy, c-format
-#| msgid "while inserting index tuple (%u,%u) in relation \"%s\""
-msgid "still finding an unused OID within relation \"%s\""
-msgstr "beim Einfügen von Indextupel (%u,%u) in Relation »%s«"
-
-#: catalog/catalog.c:380
+#: catalog/catalog.c:447
 #, c-format
-msgid "OID candidates were checked \"%llu\"  times, but no unused OID is yet found."
-msgstr ""
+msgid "still searching for an unused OID in relation \"%s\""
+msgstr "suche immer noch nach einer unbenutzten OID in in Relation »%s«"
 
-#: catalog/catalog.c:403
+#: catalog/catalog.c:449
 #, c-format
-msgid "new OID has been assigned in relation \"%s\" after \"%llu\" retries"
-msgstr ""
+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] "OID-Kandidaten wurden %llu mal geprüft, aber es wurde bisher keine unbenutzte OID gefunden."
+msgstr[1] "OID-Kandidaten wurden %llu mal geprüft, aber es wurde bisher keine unbenutzte OID gefunden."
 
-#: catalog/catalog.c:532
+#: catalog/catalog.c:474
 #, c-format
-msgid "must be superuser to call pg_nextoid()"
-msgstr "nur Superuser können pg_nextoid() aufrufen"
+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] "neue OID in Relation »%s« wurde zugewiesen nach %llu Versuch"
+msgstr[1] "neue OID in Relation »%s« wurde zugewiesen nach %llu Versuchen"
 
-#: catalog/catalog.c:540
+#: catalog/catalog.c:605 catalog/catalog.c:672
+#, fuzzy, c-format
+#| msgid "must be superuser to rename %s"
+msgid "must be superuser to call %s()"
+msgstr "nur Superuser können %s umbenennen"
+
+#: catalog/catalog.c:614
 #, c-format
 msgid "pg_nextoid() can only be used on system catalogs"
 msgstr "pg_nextoid() kann nur mit Systemkatalogen verwendet werden"
 
-#: catalog/catalog.c:545 parser/parse_utilcmd.c:2276
+#: catalog/catalog.c:619 parser/parse_utilcmd.c:2269
 #, c-format
 msgid "index \"%s\" does not belong to table \"%s\""
 msgstr "Index »%s« gehört nicht zu Tabelle »%s«"
 
-#: catalog/catalog.c:562
+#: catalog/catalog.c:636
 #, c-format
 msgid "column \"%s\" is not of type oid"
 msgstr "Spalte »%s« hat nicht Typ oid"
 
-#: catalog/catalog.c:569
+#: catalog/catalog.c:643
 #, c-format
 msgid "index \"%s\" is not the index for column \"%s\""
 msgstr "»%s« ist kein Index für Spalte »%s«"
 
-#: catalog/dependency.c:821 catalog/dependency.c:1060
+#: catalog/dependency.c:535 catalog/pg_shdepend.c:657
+#, c-format
+msgid "cannot drop %s because it is required by the database system"
+msgstr "kann %s nicht löschen, wird vom Datenbanksystem benötigt"
+
+#: catalog/dependency.c:827 catalog/dependency.c:1054
 #, c-format
 msgid "cannot drop %s because %s requires it"
 msgstr "kann %s nicht löschen, wird von %s benötigt"
 
-#: catalog/dependency.c:823 catalog/dependency.c:1062
+#: catalog/dependency.c:829 catalog/dependency.c:1056
 #, c-format
 msgid "You can drop %s instead."
 msgstr "Sie können stattdessen %s löschen."
 
-#: catalog/dependency.c:931 catalog/pg_shdepend.c:696
-#, c-format
-msgid "cannot drop %s because it is required by the database system"
-msgstr "kann %s nicht löschen, wird vom Datenbanksystem benötigt"
-
 #: catalog/dependency.c:1135 catalog/dependency.c:1144
 #, c-format
 msgid "%s depends on %s"
 msgstr "%s hängt von %s ab"
 
-#: catalog/dependency.c:1156 catalog/dependency.c:1165
+#: catalog/dependency.c:1159 catalog/dependency.c:1168
 #, c-format
 msgid "drop cascades to %s"
 msgstr "Löschvorgang löscht ebenfalls %s"
 
-#: catalog/dependency.c:1173 catalog/pg_shdepend.c:825
+#: catalog/dependency.c:1176 catalog/pg_shdepend.c:822
 #, c-format
 msgid ""
 "\n"
@@ -4177,674 +4163,697 @@ msgstr[1] ""
 "\n"
 "und %d weitere Objekte (Liste im Serverlog)"
 
-#: catalog/dependency.c:1185
+#: catalog/dependency.c:1188
 #, c-format
 msgid "cannot drop %s because other objects depend on it"
 msgstr "kann %s nicht löschen, weil andere Objekte davon abhängen"
 
-#: catalog/dependency.c:1187 catalog/dependency.c:1188
-#: catalog/dependency.c:1194 catalog/dependency.c:1195
-#: catalog/dependency.c:1206 catalog/dependency.c:1207
-#: commands/tablecmds.c:1298 commands/tablecmds.c:13659
-#: commands/tablespace.c:481 commands/user.c:1095 commands/view.c:495
-#: libpq/auth.c:338 replication/syncrep.c:1043 storage/lmgr/deadlock.c:1152
-#: storage/lmgr/proc.c:1433 utils/adt/acl.c:5250 utils/adt/jsonfuncs.c:618
-#: utils/adt/jsonfuncs.c:624 utils/misc/guc.c:7114 utils/misc/guc.c:7150
-#: utils/misc/guc.c:7220 utils/misc/guc.c:11400 utils/misc/guc.c:11434
-#: utils/misc/guc.c:11468 utils/misc/guc.c:11511 utils/misc/guc.c:11553
+#: catalog/dependency.c:1190 catalog/dependency.c:1191
+#: catalog/dependency.c:1197 catalog/dependency.c:1198
+#: catalog/dependency.c:1208 catalog/dependency.c:1209
+#: commands/publicationcmds.c:632 commands/tablecmds.c:1326
+#: commands/tablecmds.c:14239 commands/tablespace.c:498 commands/user.c:1008
+#: commands/view.c:508 libpq/auth.c:329 replication/syncrep.c:1043
+#: storage/lmgr/deadlock.c:1152 storage/lmgr/proc.c:1409 utils/adt/acl.c:5333
+#: utils/adt/jsonfuncs.c:618 utils/adt/jsonfuncs.c:624 utils/misc/guc.c:7394
+#: utils/misc/guc.c:7430 utils/misc/guc.c:7500 utils/misc/guc.c:11763
+#: utils/misc/guc.c:11797 utils/misc/guc.c:11831 utils/misc/guc.c:11874
+#: utils/misc/guc.c:11916
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: catalog/dependency.c:1189 catalog/dependency.c:1196
+#: catalog/dependency.c:1192 catalog/dependency.c:1199
 #, c-format
 msgid "Use DROP ... CASCADE to drop the dependent objects too."
 msgstr "Verwenden Sie DROP ... CASCADE, um die abhängigen Objekte ebenfalls zu löschen."
 
-#: catalog/dependency.c:1193
+#: catalog/dependency.c:1196
 #, c-format
 msgid "cannot drop desired object(s) because other objects depend on them"
 msgstr "kann gewünschte Objekte nicht löschen, weil andere Objekte davon abhängen"
 
-#. translator: %d always has a value larger than 1
-#: catalog/dependency.c:1202
+#: catalog/dependency.c:1204
 #, c-format
 msgid "drop cascades to %d other object"
 msgid_plural "drop cascades to %d other objects"
 msgstr[0] "Löschvorgang löscht ebenfalls %d weiteres Objekt"
 msgstr[1] "Löschvorgang löscht ebenfalls %d weitere Objekte"
 
-#: catalog/dependency.c:1863
+#: catalog/dependency.c:1873
 #, c-format
 msgid "constant of the type %s cannot be used here"
 msgstr "Konstante vom Typ %s kann hier nicht verwendet werden"
 
-#: catalog/heap.c:332
+#: catalog/heap.c:324
 #, c-format
 msgid "permission denied to create \"%s.%s\""
 msgstr "keine Berechtigung, um »%s.%s« zu erzeugen"
 
-#: catalog/heap.c:334
+#: catalog/heap.c:326
 #, c-format
 msgid "System catalog modifications are currently disallowed."
 msgstr "Änderungen an Systemkatalogen sind gegenwärtig nicht erlaubt."
 
-#: catalog/heap.c:511 commands/tablecmds.c:2335 commands/tablecmds.c:2972
-#: commands/tablecmds.c:6567
+#: catalog/heap.c:463 commands/tablecmds.c:2338 commands/tablecmds.c:2975
+#: commands/tablecmds.c:6790
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "Tabellen können höchstens %d Spalten haben"
 
-#: catalog/heap.c:529 commands/tablecmds.c:6866
+#: catalog/heap.c:481 commands/tablecmds.c:7090
 #, c-format
 msgid "column name \"%s\" conflicts with a system column name"
 msgstr "Spaltenname »%s« steht im Konflikt mit dem Namen einer Systemspalte"
 
-#: catalog/heap.c:545
+#: catalog/heap.c:497
 #, c-format
 msgid "column name \"%s\" specified more than once"
 msgstr "Spaltenname »%s« mehrmals angegeben"
 
 #. translator: first %s is an integer not a name
-#: catalog/heap.c:620
+#: catalog/heap.c:572
 #, c-format
 msgid "partition key column %s has pseudo-type %s"
 msgstr "Partitionierungsschlüsselspalte %s hat Pseudotyp %s"
 
-#: catalog/heap.c:625
+#: catalog/heap.c:577
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "Spalte »%s« hat Pseudotyp %s"
 
-#: catalog/heap.c:656
+#: catalog/heap.c:608
 #, c-format
 msgid "composite type %s cannot be made a member of itself"
 msgstr "zusammengesetzter Typ %s kann nicht Teil von sich selbst werden"
 
 #. translator: first %s is an integer not a name
-#: catalog/heap.c:711
+#: catalog/heap.c:663
 #, c-format
 msgid "no collation was derived for partition key column %s with collatable type %s"
 msgstr "für Partitionierungsschlüsselspalte %s mit sortierbarem Typ %s wurde keine Sortierfolge abgeleitet"
 
-#: catalog/heap.c:717 commands/createas.c:203 commands/createas.c:506
+#: catalog/heap.c:669 commands/createas.c:203 commands/createas.c:500
 #, c-format
 msgid "no collation was derived for column \"%s\" with collatable type %s"
 msgstr "für Spalte »%s« mit sortierbarem Typ %s wurde keine Sortierfolge abgeleitet"
 
-#: catalog/heap.c:1199 catalog/index.c:870 commands/createas.c:411
-#: commands/tablecmds.c:3853
+#: catalog/heap.c:1145 catalog/index.c:874 commands/createas.c:405
+#: commands/tablecmds.c:3880
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "Relation »%s« existiert bereits"
 
-#: catalog/heap.c:1215 catalog/pg_type.c:435 catalog/pg_type.c:773
-#: catalog/pg_type.c:920 commands/typecmds.c:249 commands/typecmds.c:261
-#: commands/typecmds.c:757 commands/typecmds.c:1172 commands/typecmds.c:1398
-#: commands/typecmds.c:1590 commands/typecmds.c:2563
+#: catalog/heap.c:1161 catalog/pg_type.c:436 catalog/pg_type.c:781
+#: catalog/pg_type.c:928 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:2547
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "Typ »%s« existiert bereits"
 
-#: catalog/heap.c:1216
+#: catalog/heap.c:1162
 #, 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 "Eine Relation hat einen zugehörigen Typ mit dem selben Namen, daher müssen Sie einen Namen wählen, der nicht mit einem bestehenden Typ kollidiert."
 
-#: catalog/heap.c:1245
+#: catalog/heap.c:1202
+#, fuzzy, c-format
+#| msgid "pg_class index OID value not set when in binary upgrade mode"
+msgid "toast relfilenode value not set when in binary upgrade mode"
+msgstr "Index-OID-Wert für pg_class ist im Binary-Upgrade-Modus nicht gesetzt"
+
+#: catalog/heap.c:1213
 #, c-format
 msgid "pg_class heap OID value not set when in binary upgrade mode"
 msgstr "Heap-OID-Wert für pg_class ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: catalog/heap.c:2450
+#: catalog/heap.c:1223
+#, fuzzy, c-format
+#| msgid "pg_class index OID value not set when in binary upgrade mode"
+msgid "relfilenode value not set when in binary upgrade mode"
+msgstr "Index-OID-Wert für pg_class ist im Binary-Upgrade-Modus nicht gesetzt"
+
+#: catalog/heap.c:2127
 #, c-format
 msgid "cannot add NO INHERIT constraint to partitioned table \"%s\""
 msgstr "zur partitionierten Tabelle »%s« kann kein NO-INHERIT-Constraint hinzugefügt werden"
 
-#: catalog/heap.c:2722
+#: catalog/heap.c:2401
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "Check-Constraint »%s« existiert bereits"
 
-#: catalog/heap.c:2892 catalog/index.c:884 catalog/pg_constraint.c:670
-#: commands/tablecmds.c:8581
+#: catalog/heap.c:2571 catalog/index.c:888 catalog/pg_constraint.c:689
+#: commands/tablecmds.c:8792
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "Constraint »%s« existiert bereits für Relation »%s«"
 
-#: catalog/heap.c:2899
+#: catalog/heap.c:2578
 #, c-format
 msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\""
 msgstr "Constraint »%s« kollidiert mit nicht vererbtem Constraint für Relation »%s«"
 
-#: catalog/heap.c:2910
+#: catalog/heap.c:2589
 #, c-format
 msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\""
 msgstr "Constraint »%s« kollidiert mit vererbtem Constraint für Relation »%s«"
 
-#: catalog/heap.c:2920
+#: catalog/heap.c:2599
 #, c-format
 msgid "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\""
 msgstr "Constraint »%s« kollidiert mit NOT-VALID-Constraint für Relation »%s«"
 
-#: catalog/heap.c:2925
+#: catalog/heap.c:2604
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "Constraint »%s« wird mit geerbter Definition zusammengeführt"
 
-#: catalog/heap.c:3030
+#: catalog/heap.c:2709
 #, c-format
 msgid "cannot use generated column \"%s\" in column generation expression"
 msgstr "generierte Spalte »%s« kann nicht im Spaltengenerierungsausdruck verwendet werden"
 
-#: catalog/heap.c:3032
+#: catalog/heap.c:2711
 #, c-format
 msgid "A generated column cannot reference another generated column."
 msgstr "Eine generierte Spalte kann nicht auf eine andere generierte Spalte verweisen."
 
-#: catalog/heap.c:3038
+#: catalog/heap.c:2717
 #, c-format
 msgid "cannot use whole-row variable in column generation expression"
 msgstr "Variable mit Verweis auf die ganze Zeile kann nicht im Spaltengenerierungsausdruck verwendet werden"
 
-#: catalog/heap.c:3039
+#: catalog/heap.c:2718
 #, c-format
 msgid "This would cause the generated column to depend on its own value."
 msgstr "Dadurch würde die generierte Spalte von ihrem eigenen Wert abhängen."
 
-#: catalog/heap.c:3092
+#: catalog/heap.c:2771
 #, c-format
 msgid "generation expression is not immutable"
 msgstr "Generierungsausdruck ist nicht »immutable«"
 
-#: catalog/heap.c:3120 rewrite/rewriteHandler.c:1245
+#: catalog/heap.c:2799 rewrite/rewriteHandler.c:1268
 #, c-format
 msgid "column \"%s\" is of type %s but default expression is of type %s"
 msgstr "Spalte »%s« hat Typ %s, aber der Vorgabeausdruck hat Typ %s"
 
-#: catalog/heap.c:3125 commands/prepare.c:367 parser/analyze.c:2637
-#: parser/parse_target.c:595 parser/parse_target.c:883
-#: parser/parse_target.c:893 rewrite/rewriteHandler.c:1250
+#: catalog/heap.c:2804 commands/prepare.c:334 parser/analyze.c:2692
+#: parser/parse_target.c:594 parser/parse_target.c:882
+#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1273
 #, c-format
 msgid "You will need to rewrite or cast the expression."
 msgstr "Sie müssen den Ausdruck umschreiben oder eine Typumwandlung vornehmen."
 
-#: catalog/heap.c:3172
+#: catalog/heap.c:2851
 #, c-format
 msgid "only table \"%s\" can be referenced in check constraint"
 msgstr "nur Verweise auf Tabelle »%s« sind im Check-Constraint zugelassen"
 
-#: catalog/heap.c:3470
+#: catalog/heap.c:3149
 #, c-format
 msgid "unsupported ON COMMIT and foreign key combination"
 msgstr "nicht unterstützte Kombination aus ON COMMIT und Fremdschlüssel"
 
-#: catalog/heap.c:3471
+#: catalog/heap.c:3150
 #, c-format
 msgid "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT setting."
 msgstr "Tabelle »%s« verweist auf »%s«, aber sie haben nicht die gleiche ON-COMMIT-Einstellung."
 
-#: catalog/heap.c:3476
+#: catalog/heap.c:3155
 #, c-format
 msgid "cannot truncate a table referenced in a foreign key constraint"
 msgstr "kann eine Tabelle, die in einen Fremdschlüssel-Constraint eingebunden ist, nicht leeren"
 
-#: catalog/heap.c:3477
+#: catalog/heap.c:3156
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "Tabelle »%s« verweist auf »%s«."
 
-#: catalog/heap.c:3479
+#: catalog/heap.c:3158
 #, c-format
 msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE."
 msgstr "Leeren Sie die Tabelle »%s« gleichzeitig oder verwenden Sie TRUNCATE ... CASCADE."
 
-#: catalog/index.c:221 parser/parse_utilcmd.c:2182
+#: catalog/index.c:223 parser/parse_utilcmd.c:2174
 #, c-format
 msgid "multiple primary keys for table \"%s\" are not allowed"
 msgstr "mehrere Primärschlüssel für Tabelle »%s« nicht erlaubt"
 
-#: catalog/index.c:239
+#: catalog/index.c:241
 #, c-format
 msgid "primary keys cannot be expressions"
 msgstr "Primärschlüssel können keine Ausdrücke sein"
 
-#: catalog/index.c:256
+#: catalog/index.c:258
 #, c-format
 msgid "primary key column \"%s\" is not marked NOT NULL"
 msgstr "Primärschlüsselspalte »%s« ist nicht als NOT NULL markiert"
 
-#: catalog/index.c:769 catalog/index.c:1905
+#: catalog/index.c:773 catalog/index.c:1932
 #, c-format
 msgid "user-defined indexes on system catalog tables are not supported"
 msgstr "benutzerdefinierte Indexe für Systemkatalogtabellen werden nicht unterstützt"
 
-#: catalog/index.c:809
+#: catalog/index.c:813
 #, c-format
 msgid "nondeterministic collations are not supported for operator class \"%s\""
 msgstr "nichtdeterministische Sortierfolgen werden von Operatorklasse »%s« nicht unterstützt"
 
-#: catalog/index.c:824
+#: catalog/index.c:828
 #, c-format
 msgid "concurrent index creation on system catalog tables is not supported"
 msgstr "nebenläufige Indexerzeugung für Systemkatalogtabellen wird nicht unterstützt"
 
-#: catalog/index.c:833 catalog/index.c:1284
+#: catalog/index.c:837 catalog/index.c:1305
 #, c-format
 msgid "concurrent index creation for exclusion constraints is not supported"
 msgstr "nebenläufige Indexerzeugung für Exclusion-Constraints wird nicht unterstützt"
 
-#: catalog/index.c:842
+#: catalog/index.c:846
 #, c-format
 msgid "shared indexes cannot be created after initdb"
 msgstr "Cluster-globale Indexe können nicht nach initdb erzeugt werden"
 
-#: catalog/index.c:862 commands/createas.c:417 commands/sequence.c:154
-#: parser/parse_utilcmd.c:211
+#: catalog/index.c:866 commands/createas.c:411 commands/sequence.c:150
+#: parser/parse_utilcmd.c:201
 #, c-format
 msgid "relation \"%s\" already exists, skipping"
 msgstr "Relation »%s« existiert bereits, wird übersprungen"
 
-#: catalog/index.c:912
+#: catalog/index.c:916
 #, c-format
 msgid "pg_class index OID value not set when in binary upgrade mode"
 msgstr "Index-OID-Wert für pg_class ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: catalog/index.c:2191
+#: catalog/index.c:926
+#, fuzzy, c-format
+#| msgid "pg_class index OID value not set when in binary upgrade mode"
+msgid "index relfilenode value not set when in binary upgrade mode"
+msgstr "Index-OID-Wert für pg_class ist im Binary-Upgrade-Modus nicht gesetzt"
+
+#: catalog/index.c:2231
 #, c-format
 msgid "DROP INDEX CONCURRENTLY must be first action in transaction"
 msgstr "DROP INDEX CONCURRENTLY muss die erste Aktion in einer Transaktion sein"
 
-#: catalog/index.c:3576
+#: catalog/index.c:3633
 #, c-format
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht reindizieren"
 
-#: catalog/index.c:3587 commands/indexcmds.c:3426
+#: catalog/index.c:3644 commands/indexcmds.c:3466
 #, c-format
 msgid "cannot reindex invalid index on TOAST table"
 msgstr "ungültiger Index einer TOAST-Tabelle kann nicht reindiziert werden"
 
-#: catalog/index.c:3603 commands/indexcmds.c:3306 commands/indexcmds.c:3450
-#: commands/tablecmds.c:3292
+#: catalog/index.c:3660 commands/indexcmds.c:3346 commands/indexcmds.c:3490
+#: commands/tablecmds.c:3295
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "Systemrelation »%s« kann nicht verschoben werden"
 
-#: catalog/index.c:3747
+#: catalog/index.c:3804
 #, c-format
 msgid "index \"%s\" was reindexed"
 msgstr "Index »%s« wurde neu indiziert"
 
-#: catalog/index.c:3878
+#: catalog/index.c:3941
 #, c-format
 msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping"
 msgstr "ungültiger Index »%s.%s« einer TOAST-Tabelle kann nicht reindizert werden, wird übersprungen"
 
-#: catalog/namespace.c:257 catalog/namespace.c:461 catalog/namespace.c:553
-#: commands/trigger.c:5134
+#: catalog/namespace.c:259 catalog/namespace.c:463 catalog/namespace.c:555
+#: commands/trigger.c:5668
 #, c-format
 msgid "cross-database references are not implemented: \"%s.%s.%s\""
 msgstr "Verweise auf andere Datenbanken sind nicht implementiert: »%s.%s.%s«"
 
-#: catalog/namespace.c:314
+#: catalog/namespace.c:316
 #, c-format
 msgid "temporary tables cannot specify a schema name"
 msgstr "temporäre Tabellen können keinen Schemanamen angeben"
 
-#: catalog/namespace.c:395
+#: catalog/namespace.c:397
 #, c-format
 msgid "could not obtain lock on relation \"%s.%s\""
 msgstr "konnte Sperre für Relation »%s.%s« nicht setzen"
 
-#: catalog/namespace.c:400 commands/lockcmds.c:143 commands/lockcmds.c:228
+#: catalog/namespace.c:402 commands/lockcmds.c:144 commands/lockcmds.c:233
 #, c-format
 msgid "could not obtain lock on relation \"%s\""
 msgstr "konnte Sperre für Relation »%s« nicht setzen"
 
-#: catalog/namespace.c:428 parser/parse_relation.c:1362
+#: catalog/namespace.c:430 parser/parse_relation.c:1373
 #, c-format
 msgid "relation \"%s.%s\" does not exist"
 msgstr "Relation »%s.%s« existiert nicht"
 
-#: catalog/namespace.c:433 parser/parse_relation.c:1375
-#: parser/parse_relation.c:1383
+#: catalog/namespace.c:435 parser/parse_relation.c:1386
+#: parser/parse_relation.c:1394
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "Relation »%s« existiert nicht"
 
-#: catalog/namespace.c:499 catalog/namespace.c:3029 commands/extension.c:1519
-#: commands/extension.c:1525
+#: catalog/namespace.c:501 catalog/namespace.c:3076 commands/extension.c:1531
+#: commands/extension.c:1537
 #, c-format
 msgid "no schema has been selected to create in"
 msgstr "kein Schema für die Objekterzeugung ausgewählt"
 
-#: catalog/namespace.c:651 catalog/namespace.c:664
+#: catalog/namespace.c:653 catalog/namespace.c:666
 #, c-format
 msgid "cannot create relations in temporary schemas of other sessions"
 msgstr "kann keine Relationen in temporären Schemas anderer Sitzungen erzeugen"
 
-#: catalog/namespace.c:655
+#: catalog/namespace.c:657
 #, c-format
 msgid "cannot create temporary relation in non-temporary schema"
 msgstr "kann keine temporäre Relation in einem nicht-temporären Schema erzeugen"
 
-#: catalog/namespace.c:670
+#: catalog/namespace.c:672
 #, c-format
 msgid "only temporary relations may be created in temporary schemas"
 msgstr "nur temporäre Relationen können in temporären Schemas erzeugt werden"
 
-#: catalog/namespace.c:2221
+#: catalog/namespace.c:2268
 #, c-format
 msgid "statistics object \"%s\" does not exist"
 msgstr "Statistikobjekt »%s« existiert nicht"
 
-#: catalog/namespace.c:2344
+#: catalog/namespace.c:2391
 #, c-format
 msgid "text search parser \"%s\" does not exist"
 msgstr "Textsucheparser »%s« existiert nicht"
 
-#: catalog/namespace.c:2470
+#: catalog/namespace.c:2517
 #, c-format
 msgid "text search dictionary \"%s\" does not exist"
 msgstr "Textsuchewörterbuch »%s« existiert nicht"
 
-#: catalog/namespace.c:2597
+#: catalog/namespace.c:2644
 #, c-format
 msgid "text search template \"%s\" does not exist"
 msgstr "Textsuchevorlage »%s« existiert nicht"
 
-#: catalog/namespace.c:2723 commands/tsearchcmds.c:1121
+#: catalog/namespace.c:2770 commands/tsearchcmds.c:1121
 #: utils/cache/ts_cache.c:613
 #, c-format
 msgid "text search configuration \"%s\" does not exist"
 msgstr "Textsuchekonfiguration »%s« existiert nicht"
 
-#: catalog/namespace.c:2836 parser/parse_expr.c:810 parser/parse_target.c:1256
+#: catalog/namespace.c:2883 parser/parse_expr.c:868 parser/parse_target.c:1255
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "Verweise auf andere Datenbanken sind nicht implementiert: %s"
 
-#: catalog/namespace.c:2842 gram.y:15126 gram.y:17084 parser/parse_expr.c:817
-#: parser/parse_target.c:1263
+#: catalog/namespace.c:2889 gram.y:19330 gram.y:19370 parser/parse_expr.c:875
+#: parser/parse_target.c:1262
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "falscher qualifizierter Name (zu viele Namensteile): %s"
 
-#: catalog/namespace.c:2972
+#: catalog/namespace.c:3019
 #, c-format
 msgid "cannot move objects into or out of temporary schemas"
 msgstr "Objekte können nicht in oder aus temporären Schemas verschoben werden"
 
-#: catalog/namespace.c:2978
+#: catalog/namespace.c:3025
 #, c-format
 msgid "cannot move objects into or out of TOAST schema"
 msgstr "Objekte können nicht in oder aus TOAST-Schemas verschoben werden"
 
-#: catalog/namespace.c:3051 commands/schemacmds.c:233 commands/schemacmds.c:313
-#: commands/tablecmds.c:1243
+#: catalog/namespace.c:3098 commands/schemacmds.c:234 commands/schemacmds.c:314
+#: commands/tablecmds.c:1271
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "Schema »%s« existiert nicht"
 
-#: catalog/namespace.c:3082
+#: catalog/namespace.c:3129
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "falscher Relationsname (zu viele Namensteile): %s"
 
-#: catalog/namespace.c:3645
+#: catalog/namespace.c:3692
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" does not exist"
 msgstr "Sortierfolge »%s« für Kodierung »%s« existiert nicht"
 
-#: catalog/namespace.c:3700
+#: catalog/namespace.c:3747
 #, c-format
 msgid "conversion \"%s\" does not exist"
 msgstr "Konversion »%s« existiert nicht"
 
-#: catalog/namespace.c:3964
+#: catalog/namespace.c:4011
 #, c-format
 msgid "permission denied to create temporary tables in database \"%s\""
 msgstr "keine Berechtigung, um temporäre Tabellen in Datenbank »%s« zu erzeugen"
 
-#: catalog/namespace.c:3980
+#: catalog/namespace.c:4027
 #, c-format
 msgid "cannot create temporary tables during recovery"
 msgstr "während der Wiederherstellung können keine temporären Tabellen erzeugt werden"
 
-#: catalog/namespace.c:3986
+#: catalog/namespace.c:4033
 #, c-format
 msgid "cannot create temporary tables during a parallel operation"
 msgstr "während einer parallelen Operation können keine temporären Tabellen erzeugt werden"
 
-#: catalog/namespace.c:4285 commands/tablespace.c:1217 commands/variable.c:64
-#: utils/misc/guc.c:11585 utils/misc/guc.c:11663
+#: catalog/namespace.c:4334 commands/tablespace.c:1258 commands/variable.c:64
+#: utils/misc/guc.c:11948 utils/misc/guc.c:12050
 #, c-format
 msgid "List syntax is invalid."
 msgstr "Die Listensyntax ist ungültig."
 
-#: catalog/objectaddress.c:1370 catalog/pg_publication.c:57
-#: commands/policy.c:95 commands/policy.c:375 commands/policy.c:465
-#: commands/tablecmds.c:243 commands/tablecmds.c:285 commands/tablecmds.c:2145
-#: commands/tablecmds.c:6016 commands/tablecmds.c:11673
+#: catalog/objectaddress.c:1391 commands/policy.c:96 commands/policy.c:376
+#: commands/tablecmds.c:246 commands/tablecmds.c:288 commands/tablecmds.c:2182
+#: commands/tablecmds.c:12209
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "»%s« ist keine Tabelle"
 
-#: catalog/objectaddress.c:1377 commands/tablecmds.c:255
-#: commands/tablecmds.c:6046 commands/tablecmds.c:16471 commands/view.c:119
+#: catalog/objectaddress.c:1398 commands/tablecmds.c:258
+#: commands/tablecmds.c:17079 commands/view.c:119
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "»%s« ist keine Sicht"
 
-#: catalog/objectaddress.c:1384 commands/matview.c:175 commands/tablecmds.c:261
-#: commands/tablecmds.c:16476
+#: catalog/objectaddress.c:1405 commands/matview.c:186 commands/tablecmds.c:264
+#: commands/tablecmds.c:17084
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "»%s« ist keine materialisierte Sicht"
 
-#: catalog/objectaddress.c:1391 commands/tablecmds.c:279
-#: commands/tablecmds.c:6049 commands/tablecmds.c:16481
+#: catalog/objectaddress.c:1412 commands/tablecmds.c:282
+#: commands/tablecmds.c:17089
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "»%s« ist keine Fremdtabelle"
 
-#: catalog/objectaddress.c:1432
+#: catalog/objectaddress.c:1453
 #, c-format
 msgid "must specify relation and object name"
 msgstr "Relations- und Objektname müssen angegeben werden"
 
-#: catalog/objectaddress.c:1508 catalog/objectaddress.c:1561
+#: catalog/objectaddress.c:1529 catalog/objectaddress.c:1582
 #, c-format
 msgid "column name must be qualified"
 msgstr "Spaltenname muss qualifiziert werden"
 
-#: catalog/objectaddress.c:1608
+#: catalog/objectaddress.c:1601
 #, c-format
 msgid "default value for column \"%s\" of relation \"%s\" does not exist"
 msgstr "Vorgabewert für Spalte »%s« von Relation »%s« existiert nicht"
 
-#: catalog/objectaddress.c:1645 commands/functioncmds.c:137
-#: commands/tablecmds.c:271 commands/typecmds.c:274 commands/typecmds.c:3713
-#: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:791
-#: utils/adt/acl.c:4411
+#: catalog/objectaddress.c:1638 commands/functioncmds.c:138
+#: commands/tablecmds.c:274 commands/typecmds.c:274 commands/typecmds.c:3700
+#: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:795
+#: utils/adt/acl.c:4434
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "Typ »%s« existiert nicht"
 
-#: catalog/objectaddress.c:1764
+#: catalog/objectaddress.c:1757
 #, c-format
 msgid "operator %d (%s, %s) of %s does not exist"
 msgstr "Operator %d (%s, %s) von %s existiert nicht"
 
-#: catalog/objectaddress.c:1795
+#: catalog/objectaddress.c:1788
 #, c-format
 msgid "function %d (%s, %s) of %s does not exist"
 msgstr "Funktion %d (%s, %s) von %s existiert nicht"
 
-#: catalog/objectaddress.c:1846 catalog/objectaddress.c:1872
+#: catalog/objectaddress.c:1839 catalog/objectaddress.c:1865
 #, c-format
 msgid "user mapping for user \"%s\" on server \"%s\" does not exist"
 msgstr "Benutzerabbildung für Benutzer »%s« auf Server »%s« existiert nicht"
 
-#: catalog/objectaddress.c:1861 commands/foreigncmds.c:430
-#: commands/foreigncmds.c:988 commands/foreigncmds.c:1347 foreign/foreign.c:723
+#: catalog/objectaddress.c:1854 commands/foreigncmds.c:430
+#: commands/foreigncmds.c:984 commands/foreigncmds.c:1343 foreign/foreign.c:691
 #, c-format
 msgid "server \"%s\" does not exist"
 msgstr "Server »%s« existiert nicht"
 
-#: catalog/objectaddress.c:1928
+#: catalog/objectaddress.c:1921
 #, c-format
 msgid "publication relation \"%s\" in publication \"%s\" does not exist"
 msgstr "Publikationsrelation »%s« in Publikation »%s« existiert nicht"
 
-#: catalog/objectaddress.c:1990
+#: catalog/objectaddress.c:1968
+#, fuzzy, c-format
+#| msgid "publication relation \"%s\" in publication \"%s\" does not exist"
+msgid "publication schema \"%s\" in publication \"%s\" does not exist"
+msgstr "Publikationsrelation »%s« in Publikation »%s« existiert nicht"
+
+#: catalog/objectaddress.c:2026
 #, c-format
 msgid "unrecognized default ACL object type \"%c\""
 msgstr "unbekannter Standard-ACL-Objekttyp »%c«"
 
-#: catalog/objectaddress.c:1991
+#: catalog/objectaddress.c:2027
 #, c-format
 msgid "Valid object types are \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"."
 msgstr "Gültige Objekttypen sind »%c«, »%c«, »%c«, »%c«, »%c«."
 
-#: catalog/objectaddress.c:2042
+#: catalog/objectaddress.c:2078
 #, c-format
 msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist"
 msgstr "Standard-ACL für Benutzer »%s« in Schema »%s« für %s existiert nicht"
 
-#: catalog/objectaddress.c:2047
+#: catalog/objectaddress.c:2083
 #, c-format
 msgid "default ACL for user \"%s\" on %s does not exist"
 msgstr "Standard-ACL für Benutzer »%s« für %s existiert nicht"
 
-#: catalog/objectaddress.c:2074 catalog/objectaddress.c:2132
-#: catalog/objectaddress.c:2189
+#: catalog/objectaddress.c:2110 catalog/objectaddress.c:2168
+#: catalog/objectaddress.c:2225
 #, c-format
 msgid "name or argument lists may not contain nulls"
 msgstr "Namens- oder Argumentlisten dürfen keine NULL-Werte enthalten"
 
-#: catalog/objectaddress.c:2108
+#: catalog/objectaddress.c:2144
 #, c-format
 msgid "unsupported object type \"%s\""
 msgstr "nicht unterstützter Objekttyp »%s«"
 
-#: catalog/objectaddress.c:2128 catalog/objectaddress.c:2146
-#: catalog/objectaddress.c:2287
+#: catalog/objectaddress.c:2164 catalog/objectaddress.c:2182
+#: catalog/objectaddress.c:2325
 #, c-format
 msgid "name list length must be exactly %d"
 msgstr "Länge der Namensliste muss genau %d sein"
 
-#: catalog/objectaddress.c:2150
+#: catalog/objectaddress.c:2186
 #, c-format
 msgid "large object OID may not be null"
 msgstr "Large-Object-OID darf nicht NULL sein"
 
-#: catalog/objectaddress.c:2159 catalog/objectaddress.c:2222
-#: catalog/objectaddress.c:2229
+#: catalog/objectaddress.c:2195 catalog/objectaddress.c:2259
+#: catalog/objectaddress.c:2266
 #, c-format
 msgid "name list length must be at least %d"
 msgstr "Länge der Namensliste muss mindestens %d sein"
 
-#: catalog/objectaddress.c:2215 catalog/objectaddress.c:2236
+#: catalog/objectaddress.c:2252 catalog/objectaddress.c:2273
 #, c-format
 msgid "argument list length must be exactly %d"
 msgstr "Länge der Argumentliste muss genau %d sein"
 
-#: catalog/objectaddress.c:2488 libpq/be-fsstubs.c:321
+#: catalog/objectaddress.c:2527 libpq/be-fsstubs.c:318
 #, c-format
 msgid "must be owner of large object %u"
 msgstr "Berechtigung nur für Eigentümer des Large Object %u"
 
-#: catalog/objectaddress.c:2503 commands/functioncmds.c:1556
+#: catalog/objectaddress.c:2542 commands/functioncmds.c:1566
 #, c-format
 msgid "must be owner of type %s or type %s"
 msgstr "Berechtigung nur für Eigentümer des Typs %s oder des Typs %s"
 
-#: catalog/objectaddress.c:2553 catalog/objectaddress.c:2570
+#: catalog/objectaddress.c:2592 catalog/objectaddress.c:2610
 #, c-format
 msgid "must be superuser"
 msgstr "Berechtigung nur für Superuser"
 
-#: catalog/objectaddress.c:2560
+#: catalog/objectaddress.c:2599
 #, c-format
 msgid "must have CREATEROLE privilege"
 msgstr "Berechtigung nur mit CREATEROLE-Privileg"
 
-#: catalog/objectaddress.c:2639
+#: catalog/objectaddress.c:2680
 #, c-format
 msgid "unrecognized object type \"%s\""
 msgstr "unbekannter Objekttyp »%s«"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:2882
+#: catalog/objectaddress.c:2972
 #, c-format
 msgid "column %s of %s"
 msgstr "Spalte %s von %s"
 
-#: catalog/objectaddress.c:2897
+#: catalog/objectaddress.c:2987
 #, c-format
 msgid "function %s"
 msgstr "Funktion %s"
 
-#: catalog/objectaddress.c:2910
+#: catalog/objectaddress.c:3000
 #, c-format
 msgid "type %s"
 msgstr "Typ %s"
 
-#: catalog/objectaddress.c:2947
+#: catalog/objectaddress.c:3037
 #, c-format
 msgid "cast from %s to %s"
 msgstr "Typumwandlung von %s in %s"
 
-#: catalog/objectaddress.c:2980
+#: catalog/objectaddress.c:3070
 #, c-format
 msgid "collation %s"
 msgstr "Sortierfolge %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3011
+#: catalog/objectaddress.c:3101
 #, c-format
 msgid "constraint %s on %s"
 msgstr "Constraint %s für %s"
 
-#: catalog/objectaddress.c:3017
+#: catalog/objectaddress.c:3107
 #, c-format
 msgid "constraint %s"
 msgstr "Constraint %s"
 
-#: catalog/objectaddress.c:3049
+#: catalog/objectaddress.c:3139
 #, c-format
 msgid "conversion %s"
 msgstr "Konversion %s"
 
 #. translator: %s is typically "column %s of table %s"
-#: catalog/objectaddress.c:3095
+#: catalog/objectaddress.c:3161
 #, c-format
 msgid "default value for %s"
 msgstr "Vorgabewert für %s"
 
-#: catalog/objectaddress.c:3109
+#: catalog/objectaddress.c:3172
 #, c-format
 msgid "language %s"
 msgstr "Sprache %s"
 
-#: catalog/objectaddress.c:3117
+#: catalog/objectaddress.c:3180
 #, c-format
 msgid "large object %u"
 msgstr "Large Object %u"
 
-#: catalog/objectaddress.c:3130
+#: catalog/objectaddress.c:3193
 #, c-format
 msgid "operator %s"
 msgstr "Operator %s"
 
-#: catalog/objectaddress.c:3167
+#: catalog/objectaddress.c:3230
 #, c-format
 msgid "operator class %s for access method %s"
 msgstr "Operatorklasse %s für Zugriffsmethode %s"
 
-#: catalog/objectaddress.c:3195
+#: catalog/objectaddress.c:3258
 #, c-format
 msgid "access method %s"
 msgstr "Zugriffsmethode %s"
@@ -4853,7 +4862,7 @@ msgstr "Zugriffsmethode %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:3244
+#: catalog/objectaddress.c:3307
 #, c-format
 msgid "operator %d (%s, %s) of %s: %s"
 msgstr "Operator %d (%s, %s) von %s: %s"
@@ -4862,221 +4871,232 @@ msgstr "Operator %d (%s, %s) von %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:3301
+#: catalog/objectaddress.c:3364
 #, c-format
 msgid "function %d (%s, %s) of %s: %s"
 msgstr "Funktion %d (%s, %s) von %s: %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3353
+#: catalog/objectaddress.c:3416
 #, c-format
 msgid "rule %s on %s"
 msgstr "Regel %s für %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3399
+#: catalog/objectaddress.c:3462
 #, c-format
 msgid "trigger %s on %s"
 msgstr "Trigger %s für %s"
 
-#: catalog/objectaddress.c:3419
+#: catalog/objectaddress.c:3482
 #, c-format
 msgid "schema %s"
 msgstr "Schema %s"
 
-#: catalog/objectaddress.c:3447
+#: catalog/objectaddress.c:3510
 #, c-format
 msgid "statistics object %s"
 msgstr "Statistikobjekt %s"
 
-#: catalog/objectaddress.c:3478
+#: catalog/objectaddress.c:3541
 #, c-format
 msgid "text search parser %s"
 msgstr "Textsucheparser %s"
 
-#: catalog/objectaddress.c:3509
+#: catalog/objectaddress.c:3572
 #, c-format
 msgid "text search dictionary %s"
 msgstr "Textsuchewörterbuch %s"
 
-#: catalog/objectaddress.c:3540
+#: catalog/objectaddress.c:3603
 #, c-format
 msgid "text search template %s"
 msgstr "Textsuchevorlage %s"
 
-#: catalog/objectaddress.c:3571
+#: catalog/objectaddress.c:3634
 #, c-format
 msgid "text search configuration %s"
 msgstr "Textsuchekonfiguration %s"
 
-#: catalog/objectaddress.c:3584
+#: catalog/objectaddress.c:3647
 #, c-format
 msgid "role %s"
 msgstr "Rolle %s"
 
-#: catalog/objectaddress.c:3600
+#: catalog/objectaddress.c:3663
 #, c-format
 msgid "database %s"
 msgstr "Datenbank %s"
 
-#: catalog/objectaddress.c:3616
+#: catalog/objectaddress.c:3679
 #, c-format
 msgid "tablespace %s"
 msgstr "Tablespace %s"
 
-#: catalog/objectaddress.c:3627
+#: catalog/objectaddress.c:3690
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "Fremddaten-Wrapper %s"
 
-#: catalog/objectaddress.c:3637
+#: catalog/objectaddress.c:3700
 #, c-format
 msgid "server %s"
 msgstr "Server %s"
 
-#: catalog/objectaddress.c:3670
+#: catalog/objectaddress.c:3733
 #, c-format
 msgid "user mapping for %s on server %s"
 msgstr "Benutzerabbildung für %s auf Server %s"
 
-#: catalog/objectaddress.c:3722
+#: catalog/objectaddress.c:3785
 #, c-format
 msgid "default privileges on new relations belonging to role %s in schema %s"
 msgstr "Vorgabeprivilegien für neue Relationen von Rolle %s in Schema %s"
 
-#: catalog/objectaddress.c:3726
+#: catalog/objectaddress.c:3789
 #, c-format
 msgid "default privileges on new relations belonging to role %s"
 msgstr "Vorgabeprivilegien für neue Relationen von Rolle %s"
 
-#: catalog/objectaddress.c:3732
+#: catalog/objectaddress.c:3795
 #, c-format
 msgid "default privileges on new sequences belonging to role %s in schema %s"
 msgstr "Vorgabeprivilegien für neue Sequenzen von Rolle %s in Schema %s"
 
-#: catalog/objectaddress.c:3736
+#: catalog/objectaddress.c:3799
 #, c-format
 msgid "default privileges on new sequences belonging to role %s"
 msgstr "Vorgabeprivilegien für neue Sequenzen von Rolle %s"
 
-#: catalog/objectaddress.c:3742
+#: catalog/objectaddress.c:3805
 #, c-format
 msgid "default privileges on new functions belonging to role %s in schema %s"
 msgstr "Vorgabeprivilegien für neue Funktionen von Rolle %s in Schema %s"
 
-#: catalog/objectaddress.c:3746
+#: catalog/objectaddress.c:3809
 #, c-format
 msgid "default privileges on new functions belonging to role %s"
 msgstr "Vorgabeprivilegien für neue Funktionen von Rolle %s"
 
-#: catalog/objectaddress.c:3752
+#: catalog/objectaddress.c:3815
 #, c-format
 msgid "default privileges on new types belonging to role %s in schema %s"
 msgstr "Vorgabeprivilegien für neue Typen von Rolle %s in Schema %s"
 
-#: catalog/objectaddress.c:3756
+#: catalog/objectaddress.c:3819
 #, c-format
 msgid "default privileges on new types belonging to role %s"
 msgstr "Vorgabeprivilegien für neue Typen von Rolle %s"
 
-#: catalog/objectaddress.c:3762
+#: catalog/objectaddress.c:3825
 #, c-format
 msgid "default privileges on new schemas belonging to role %s"
 msgstr "Vorgabeprivilegien für neue Schemas von Rolle %s"
 
-#: catalog/objectaddress.c:3769
+#: catalog/objectaddress.c:3832
 #, c-format
 msgid "default privileges belonging to role %s in schema %s"
 msgstr "Vorgabeprivilegien von Rolle %s in Schema %s"
 
-#: catalog/objectaddress.c:3773
+#: catalog/objectaddress.c:3836
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "Vorgabeprivilegien von Rolle %s"
 
-#: catalog/objectaddress.c:3795
+#: catalog/objectaddress.c:3858
 #, c-format
 msgid "extension %s"
 msgstr "Erweiterung %s"
 
-#: catalog/objectaddress.c:3812
+#: catalog/objectaddress.c:3875
 #, c-format
 msgid "event trigger %s"
 msgstr "Ereignistrigger %s"
 
+#: catalog/objectaddress.c:3902
+#, c-format
+msgid "parameter %s"
+msgstr "Parameter %s"
+
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3856
+#: catalog/objectaddress.c:3945
 #, c-format
 msgid "policy %s on %s"
 msgstr "Policy %s für %s"
 
-#: catalog/objectaddress.c:3870
+#: catalog/objectaddress.c:3959
 #, c-format
 msgid "publication %s"
 msgstr "Publikation %s"
 
+#: catalog/objectaddress.c:3972
+#, fuzzy, c-format
+#| msgid "publication of %s in publication %s"
+msgid "publication of schema %s in publication %s"
+msgstr "Publikation von %s in Publikation %s"
+
 #. translator: first %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3898
+#: catalog/objectaddress.c:4003
 #, c-format
 msgid "publication of %s in publication %s"
 msgstr "Publikation von %s in Publikation %s"
 
-#: catalog/objectaddress.c:3911
+#: catalog/objectaddress.c:4016
 #, c-format
 msgid "subscription %s"
 msgstr "Subskription %s"
 
-#: catalog/objectaddress.c:3932
+#: catalog/objectaddress.c:4037
 #, c-format
 msgid "transform for %s language %s"
 msgstr "Transformation %s für Sprache %s"
 
-#: catalog/objectaddress.c:4003
+#: catalog/objectaddress.c:4108
 #, c-format
 msgid "table %s"
 msgstr "Tabelle %s"
 
-#: catalog/objectaddress.c:4008
+#: catalog/objectaddress.c:4113
 #, c-format
 msgid "index %s"
 msgstr "Index %s"
 
-#: catalog/objectaddress.c:4012
+#: catalog/objectaddress.c:4117
 #, c-format
 msgid "sequence %s"
 msgstr "Sequenz %s"
 
-#: catalog/objectaddress.c:4016
+#: catalog/objectaddress.c:4121
 #, c-format
 msgid "toast table %s"
 msgstr "TOAST-Tabelle %s"
 
-#: catalog/objectaddress.c:4020
+#: catalog/objectaddress.c:4125
 #, c-format
 msgid "view %s"
 msgstr "Sicht %s"
 
-#: catalog/objectaddress.c:4024
+#: catalog/objectaddress.c:4129
 #, c-format
 msgid "materialized view %s"
 msgstr "materialisierte Sicht %s"
 
-#: catalog/objectaddress.c:4028
+#: catalog/objectaddress.c:4133
 #, c-format
 msgid "composite type %s"
 msgstr "zusammengesetzter Typ %s"
 
-#: catalog/objectaddress.c:4032
+#: catalog/objectaddress.c:4137
 #, c-format
 msgid "foreign table %s"
 msgstr "Fremdtabelle %s"
 
-#: catalog/objectaddress.c:4037
+#: catalog/objectaddress.c:4142
 #, c-format
 msgid "relation %s"
 msgstr "Relation %s"
 
-#: catalog/objectaddress.c:4078
+#: catalog/objectaddress.c:4183
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "Operatorfamilie %s für Zugriffsmethode %s"
@@ -5118,7 +5138,7 @@ msgstr "Anfangswert darf nicht ausgelassen werden, wenn Übergangsfunktion strik
 msgid "return type of inverse transition function %s is not %s"
 msgstr "Rückgabetyp der inversen Übergangsfunktion %s ist nicht %s"
 
-#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:2852
+#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:2978
 #, c-format
 msgid "strictness of aggregate's forward and inverse transition functions must match"
 msgstr "Striktheit der vorwärtigen und inversen Übergangsfunktionen einer Aggregatfunktion müssen übereinstimmen"
@@ -5133,7 +5153,7 @@ msgstr "Abschlussfunktion mit zusätzlichen Argumenten darf nicht als STRICT dek
 msgid "return type of combine function %s is not %s"
 msgstr "Rückgabetyp der Kombinierfunktion %s ist nicht %s"
 
-#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:4128
+#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3883
 #, c-format
 msgid "combine function with transition type %s must not be declared STRICT"
 msgstr "Kombinierfunktion mit Übergangstyp %s darf nicht als STRICT deklariert sein"
@@ -5148,12 +5168,12 @@ msgstr "Rückgabetyp der Serialisierungsfunktion %s ist nicht %s"
 msgid "return type of deserialization function %s is not %s"
 msgstr "Rückgabetyp der Deserialisierungsfunktion %s ist nicht %s"
 
-#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:189 catalog/pg_proc.c:223
+#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:191 catalog/pg_proc.c:225
 #, c-format
 msgid "cannot determine result data type"
 msgstr "kann Ergebnisdatentyp nicht bestimmen"
 
-#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:202 catalog/pg_proc.c:231
+#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:204 catalog/pg_proc.c:233
 #, c-format
 msgid "unsafe use of pseudo-type \"internal\""
 msgstr "unsichere Verwendung des Pseudotyps »internal«"
@@ -5168,7 +5188,7 @@ msgstr "Moving-Aggregat-Implementierung gibt Typ %s zurück, aber die normale Im
 msgid "sort operator can only be specified for single-argument aggregates"
 msgstr "Sortieroperator kann nur für Aggregatfunktionen mit einem Argument angegeben werden"
 
-#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:384
+#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:386
 #, c-format
 msgid "cannot change routine kind"
 msgstr "kann Routinenart nicht ändern"
@@ -5193,13 +5213,13 @@ msgstr "»%s« ist eine Hypothetical-Set-Aggregatfunktion."
 msgid "cannot change number of direct arguments of an aggregate function"
 msgstr "die Anzahl direkter Argumente einer Aggregatfunktion kann nicht geändert werden"
 
-#: catalog/pg_aggregate.c:858 commands/functioncmds.c:676
-#: commands/typecmds.c:1992 commands/typecmds.c:2038 commands/typecmds.c:2090
-#: commands/typecmds.c:2127 commands/typecmds.c:2161 commands/typecmds.c:2195
-#: commands/typecmds.c:2229 commands/typecmds.c:2258 commands/typecmds.c:2345
-#: commands/typecmds.c:2387 parser/parse_func.c:416 parser/parse_func.c:447
-#: parser/parse_func.c:474 parser/parse_func.c:488 parser/parse_func.c:610
-#: parser/parse_func.c:630 parser/parse_func.c:2143 parser/parse_func.c:2334
+#: catalog/pg_aggregate.c:858 commands/functioncmds.c:695
+#: commands/typecmds.c:1976 commands/typecmds.c:2022 commands/typecmds.c:2074
+#: commands/typecmds.c:2111 commands/typecmds.c:2145 commands/typecmds.c:2179
+#: commands/typecmds.c:2213 commands/typecmds.c:2242 commands/typecmds.c:2329
+#: commands/typecmds.c:2371 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:2173 parser/parse_func.c:2446
 #, c-format
 msgid "function %s does not exist"
 msgstr "Funktion %s existiert nicht"
@@ -5224,37 +5244,97 @@ msgstr "Funktion %s erfordert Typumwandlung zur Laufzeit"
 msgid "cast from type %s to type %s already exists"
 msgstr "Typumwandlung von Typ %s in Typ %s existiert bereits"
 
-#: catalog/pg_collation.c:93 catalog/pg_collation.c:140
+#: catalog/pg_class.c:29
+#, fuzzy, c-format
+#| msgid "This feature is not yet supported on partitioned tables."
+msgid "This operation is not supported for tables."
+msgstr "Dieses Feature wird für partitionierte Tabellen noch nicht unterstützt."
+
+#: catalog/pg_class.c:31
+#, fuzzy, c-format
+#| msgid "This feature is not yet supported on partitioned tables."
+msgid "This operation is not supported for indexes."
+msgstr "Dieses Feature wird für partitionierte Tabellen noch nicht unterstützt."
+
+#: catalog/pg_class.c:33
+#, fuzzy, c-format
+#| msgid "sequence option \"%s\" not supported here"
+msgid "This operation is not supported for sequences."
+msgstr "Sequenzoption »%s« wird hier nicht unterstützt"
+
+#: catalog/pg_class.c:35
+#, fuzzy, c-format
+#| msgid "This feature is not yet supported on partitioned tables."
+msgid "This operation is not supported for TOAST tables."
+msgstr "Dieses Feature wird für partitionierte Tabellen noch nicht unterstützt."
+
+#: catalog/pg_class.c:37
+#, fuzzy, c-format
+#| msgid "sequence option \"%s\" not supported here"
+msgid "This operation is not supported for views."
+msgstr "Sequenzoption »%s« wird hier nicht unterstützt"
+
+#: catalog/pg_class.c:39
+#, fuzzy, c-format
+#| msgid "This feature is not yet supported on partitioned tables."
+msgid "This operation is not supported for materialized views."
+msgstr "Dieses Feature wird für partitionierte Tabellen noch nicht unterstützt."
+
+#: catalog/pg_class.c:41
+#, fuzzy, c-format
+#| msgid "This feature is not yet supported on partitioned tables."
+msgid "This operation is not supported for composite types."
+msgstr "Dieses Feature wird für partitionierte Tabellen noch nicht unterstützt."
+
+#: catalog/pg_class.c:43
+#, fuzzy, c-format
+#| msgid "unique constraints are not supported on foreign tables"
+msgid "This operation is not supported for foreign tables."
+msgstr "Unique-Constraints auf Fremdtabellen werden nicht unterstützt"
+
+#: catalog/pg_class.c:45
+#, fuzzy, c-format
+#| msgid "This feature is not yet supported on partitioned tables."
+msgid "This operation is not supported for partitioned tables."
+msgstr "Dieses Feature wird für partitionierte Tabellen noch nicht unterstützt."
+
+#: catalog/pg_class.c:47
+#, fuzzy, c-format
+#| msgid "This feature is not yet supported on partitioned tables."
+msgid "This operation is not supported for partitioned indexes."
+msgstr "Dieses Feature wird für partitionierte Tabellen noch nicht unterstützt."
+
+#: catalog/pg_collation.c:91 catalog/pg_collation.c:138
 #, c-format
 msgid "collation \"%s\" already exists, skipping"
 msgstr "Sortierfolge »%s« existiert bereits, wird übersprungen"
 
-#: catalog/pg_collation.c:95
+#: catalog/pg_collation.c:93
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists, skipping"
 msgstr "Sortierfolge »%s« für Kodierung »%s« existiert bereits, wird übersprungen"
 
-#: catalog/pg_collation.c:103 catalog/pg_collation.c:147
+#: catalog/pg_collation.c:101 catalog/pg_collation.c:145
 #, c-format
 msgid "collation \"%s\" already exists"
 msgstr "Sortierfolge »%s« existiert bereits"
 
-#: catalog/pg_collation.c:105
+#: catalog/pg_collation.c:103
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists"
 msgstr "Sortierfolge »%s« für Kodierung »%s« existiert bereits"
 
-#: catalog/pg_constraint.c:678
+#: catalog/pg_constraint.c:697
 #, c-format
 msgid "constraint \"%s\" for domain %s already exists"
 msgstr "Constraint »%s« für Domäne %s existiert bereits"
 
-#: catalog/pg_constraint.c:874 catalog/pg_constraint.c:967
+#: catalog/pg_constraint.c:893 catalog/pg_constraint.c:986
 #, c-format
 msgid "constraint \"%s\" for table \"%s\" does not exist"
 msgstr "Constraint »%s« für Tabelle »%s« existiert nicht"
 
-#: catalog/pg_constraint.c:1056
+#: catalog/pg_constraint.c:1075
 #, c-format
 msgid "constraint \"%s\" for domain %s does not exist"
 msgstr "Constraint »%s« für Domäne %s existiert nicht"
@@ -5269,12 +5349,12 @@ msgstr "Konversion »%s« existiert bereits"
 msgid "default conversion for %s to %s already exists"
 msgstr "Standardumwandlung von %s nach %s existiert bereits"
 
-#: catalog/pg_depend.c:204 commands/extension.c:3343
+#: catalog/pg_depend.c:215 commands/extension.c:3267
 #, c-format
 msgid "%s is already a member of extension \"%s\""
 msgstr "%s ist schon Mitglied der Erweiterung »%s«"
 
-#: catalog/pg_depend.c:580
+#: catalog/pg_depend.c:589
 #, c-format
 msgid "cannot remove dependency on %s because it is a system object"
 msgstr "kann Abhängigkeit von %s nicht entfernen, weil es ein Systemobjekt ist"
@@ -5315,33 +5395,32 @@ msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade"
 msgstr "ALTER TYPE ADD BEFORE/AFTER ist mit Binary Upgrade inkompatibel"
 
 #: catalog/pg_inherits.c:593
-#, fuzzy, c-format
-#| msgid "cannot inherit from partition \"%s\""
+#, c-format
 msgid "cannot detach partition \"%s\""
-msgstr "von Partition »%s« kann nicht geerbt werden"
+msgstr "Partition »%s« kann nicht abgetrennt werden"
 
 #: catalog/pg_inherits.c:595
 #, c-format
 msgid "The partition is being detached concurrently or has an unfinished detach."
-msgstr ""
+msgstr "Die Partition wird nebenläufig abgetrennt oder hat eine unfertige Abtrennoperation."
 
-#: catalog/pg_inherits.c:596
+#: catalog/pg_inherits.c:596 commands/tablecmds.c:4474
+#: commands/tablecmds.c:15352
 #, c-format
-msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation"
-msgstr ""
+msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation."
+msgstr "Verwendet Sie ALTER TABLE ... DETACH PARTITION ... FINALIZE, um die unerledigte Abtrennoperation abzuschließen."
 
 #: catalog/pg_inherits.c:600
-#, fuzzy, c-format
-#| msgid "cannot cluster on partial index \"%s\""
+#, c-format
 msgid "cannot complete detaching partition \"%s\""
-msgstr "kann nicht anhand des partiellen Index »%s« clustern"
+msgstr "kann Abtrennen der Partition »%s« nicht abschließen"
 
 #: catalog/pg_inherits.c:602
 #, c-format
 msgid "There's no pending concurrent detach."
-msgstr ""
+msgstr "Es gibt keine unerledigte nebenläufige Abtrennoperation."
 
-#: catalog/pg_namespace.c:64 commands/schemacmds.c:242
+#: catalog/pg_namespace.c:64 commands/schemacmds.c:243
 #, c-format
 msgid "schema \"%s\" already exists"
 msgstr "Schema »%s« existiert bereits"
@@ -5406,44 +5485,54 @@ msgstr "Operator %s existiert bereits"
 msgid "operator cannot be its own negator or sort operator"
 msgstr "Operator kann nicht sein eigener Negator oder Sortierungsoperator sein"
 
-#: catalog/pg_proc.c:130 parser/parse_func.c:2205
+#: catalog/pg_parameter_acl.c:52
+#, c-format
+msgid "parameter ACL \"%s\" does not exist"
+msgstr "Parameter-ACL »%s« existiert nicht"
+
+#: catalog/pg_parameter_acl.c:87
+#, c-format
+msgid "invalid parameter name \"%s\""
+msgstr "ungültiger Parametername »%s«"
+
+#: catalog/pg_proc.c:132 parser/parse_func.c:2235
 #, c-format
 msgid "functions cannot have more than %d argument"
 msgid_plural "functions cannot have more than %d arguments"
 msgstr[0] "Funktionen können nicht mehr als %d Argument haben"
 msgstr[1] "Funktionen können nicht mehr als %d Argumente haben"
 
-#: catalog/pg_proc.c:374
+#: catalog/pg_proc.c:376
 #, c-format
 msgid "function \"%s\" already exists with same argument types"
 msgstr "Funktion »%s« existiert bereits mit den selben Argumenttypen"
 
-#: catalog/pg_proc.c:386
+#: catalog/pg_proc.c:388
 #, c-format
 msgid "\"%s\" is an aggregate function."
 msgstr "»%s« ist eine Aggregatfunktion."
 
-#: catalog/pg_proc.c:388
+#: catalog/pg_proc.c:390
 #, c-format
 msgid "\"%s\" is a function."
 msgstr "»%s« ist eine Funktion."
 
-#: catalog/pg_proc.c:390
+#: catalog/pg_proc.c:392
 #, c-format
 msgid "\"%s\" is a procedure."
 msgstr "»%s« ist eine Prozedur."
 
-#: catalog/pg_proc.c:392
+#: catalog/pg_proc.c:394
 #, c-format
 msgid "\"%s\" is a window function."
 msgstr "»%s« ist eine Fensterfunktion."
 
-#: catalog/pg_proc.c:412
+#: catalog/pg_proc.c:414
 #, c-format
 msgid "cannot change whether a procedure has output parameters"
 msgstr "man kann nicht ändern, ob eine Prozedur Ausgabeparameter hat"
 
-#: catalog/pg_proc.c:413 catalog/pg_proc.c:443
+#: catalog/pg_proc.c:415 catalog/pg_proc.c:445
 #, c-format
 msgid "cannot change return type of existing function"
 msgstr "kann Rückgabetyp einer bestehenden Funktion nicht ändern"
@@ -5452,13 +5541,13 @@ msgstr "kann Rückgabetyp einer bestehenden Funktion nicht ändern"
 #. AGGREGATE
 #.
 #. translator: first %s is DROP FUNCTION or DROP PROCEDURE
-#: catalog/pg_proc.c:419 catalog/pg_proc.c:446 catalog/pg_proc.c:493
+#: catalog/pg_proc.c:421 catalog/pg_proc.c:448 catalog/pg_proc.c:493
 #: catalog/pg_proc.c:519 catalog/pg_proc.c:545
 #, c-format
 msgid "Use %s %s first."
 msgstr "Verwenden Sie zuerst %s %s."
 
-#: catalog/pg_proc.c:444
+#: catalog/pg_proc.c:446
 #, c-format
 msgid "Row type defined by OUT parameters is different."
 msgstr "Der von OUT-Parametern bestimmte Zeilentyp ist verschieden."
@@ -5478,63 +5567,106 @@ msgstr "kann Parametervorgabewerte einer bestehenden Funktion nicht entfernen"
 msgid "cannot change data type of existing parameter default value"
 msgstr "kann Datentyp eines bestehenden Parametervorgabewerts nicht ändern"
 
-#: catalog/pg_proc.c:753
+#: catalog/pg_proc.c:757
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "es gibt keine eingebaute Funktion namens %s"
 
-#: catalog/pg_proc.c:851
+#: catalog/pg_proc.c:855
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "SQL-Funktionen können keinen Rückgabetyp »%s« haben"
 
-#: catalog/pg_proc.c:866
+#: catalog/pg_proc.c:870
 #, c-format
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "SQL-Funktionen können keine Argumente vom Typ »%s« haben"
 
-#: catalog/pg_proc.c:978 executor/functions.c:1458
+#: catalog/pg_proc.c:1000 executor/functions.c:1458
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "SQL-Funktion »%s«"
 
-#: catalog/pg_publication.c:59
-#, c-format
-msgid "Only tables can be added to publications."
-msgstr "Nur Tabellen können Teil einer Publikationen sein."
+#: catalog/pg_publication.c:63 catalog/pg_publication.c:71
+#: catalog/pg_publication.c:79 catalog/pg_publication.c:85
+#, fuzzy, c-format
+#| msgid "cannot use relation \"%s.%s\" as logical replication target"
+msgid "cannot add relation \"%s\" to publication"
+msgstr "Relation »%s.%s« kann nicht als Ziel für logische Replikation verwendet werden"
 
-#: catalog/pg_publication.c:65
-#, c-format
-msgid "\"%s\" is a system table"
-msgstr "»%s« ist eine Systemtabelle"
+#: catalog/pg_publication.c:73
+#, fuzzy, c-format
+#| msgid "This feature is not yet supported on partitioned tables."
+msgid "This operation is not supported for system tables."
+msgstr "Dieses Feature wird für partitionierte Tabellen noch nicht unterstützt."
 
-#: catalog/pg_publication.c:67
-#, c-format
-msgid "System tables cannot be added to publications."
-msgstr "Systemtabellen können nicht Teil einer Publikationen sein."
+#: catalog/pg_publication.c:81
+#, fuzzy, c-format
+#| msgid "This feature is not yet supported on partitioned tables."
+msgid "This operation is not supported for temporary tables."
+msgstr "Dieses Feature wird für partitionierte Tabellen noch nicht unterstützt."
 
-#: catalog/pg_publication.c:73
-#, c-format
-msgid "table \"%s\" cannot be replicated"
-msgstr "Tabelle »%s« kann nicht repliziert werden"
+#: catalog/pg_publication.c:87
+#, fuzzy, c-format
+#| msgid "This feature is not yet supported on partitioned tables."
+msgid "This operation is not supported for unlogged tables."
+msgstr "Dieses Feature wird für partitionierte Tabellen noch nicht unterstützt."
 
-#: catalog/pg_publication.c:75
-#, c-format
-msgid "Temporary and unlogged relations cannot be replicated."
+#: catalog/pg_publication.c:101 catalog/pg_publication.c:109
+#: commands/publicationcmds.c:238
+#, fuzzy, c-format
+#| msgid "cannot add column to a partition"
+msgid "cannot add schema \"%s\" to publication"
+msgstr "zu einer Partition kann keine Spalte hinzugefügt werden"
+
+#: catalog/pg_publication.c:103
+#, fuzzy, c-format
+#| msgid "The prefix \"pg_\" is reserved for system schemas."
+msgid "This operation is not supported for system schemas."
+msgstr "Der Präfix »pg_« ist für Systemschemas reserviert."
+
+#: catalog/pg_publication.c:111
+#, fuzzy, c-format
+#| msgid "Temporary and unlogged relations cannot be replicated."
+msgid "Temporary schemas cannot be replicated."
 msgstr "Temporäre und ungeloggte Tabellen können nicht repliziert werden."
 
-#: catalog/pg_publication.c:174
+#: catalog/pg_publication.c:374
 #, c-format
 msgid "relation \"%s\" is already member of publication \"%s\""
 msgstr "Relation »%s« ist schon Mitglied der Publikation »%s«"
 
-#: catalog/pg_publication.c:470 commands/publicationcmds.c:451
-#: commands/publicationcmds.c:739
+#: catalog/pg_publication.c:516
+#, fuzzy, c-format
+#| msgid "cannot use system column \"%s\" in partition key"
+msgid "cannot reference system column \"%s\" in publication column list"
+msgstr "Systemspalte »%s« kann nicht im Partitionierungsschlüssel verwendet werden"
+
+#: catalog/pg_publication.c:522
+#, fuzzy, c-format
+#| msgid "cannot use generated column \"%s\" in column generation expression"
+msgid "cannot reference generated column \"%s\" in publication column list"
+msgstr "generierte Spalte »%s« kann nicht im Spaltengenerierungsausdruck verwendet werden"
+
+#: catalog/pg_publication.c:528
+#, fuzzy, c-format
+#| msgid "publication of %s in publication %s"
+msgid "duplicate column \"%s\" in publication column list"
+msgstr "Publikation von %s in Publikation %s"
+
+#: catalog/pg_publication.c:618
+#, fuzzy, c-format
+#| msgid "relation \"%s\" is already member of publication \"%s\""
+msgid "schema \"%s\" is already member of publication \"%s\""
+msgstr "Relation »%s« ist schon Mitglied der Publikation »%s«"
+
+#: catalog/pg_publication.c:1045 commands/publicationcmds.c:1407
+#: commands/publicationcmds.c:1453 commands/publicationcmds.c:2016
 #, c-format
 msgid "publication \"%s\" does not exist"
 msgstr "Publikation »%s« existiert nicht"
 
-#: catalog/pg_shdepend.c:832
+#: catalog/pg_shdepend.c:829
 #, c-format
 msgid ""
 "\n"
@@ -5564,57 +5696,56 @@ msgstr "Tablespace %u wurde gleichzeitig gelöscht"
 msgid "database %u was concurrently dropped"
 msgstr "Datenbank %u wurde gleichzeitig gelöscht"
 
-#: catalog/pg_shdepend.c:1247
+#: catalog/pg_shdepend.c:1253
 #, c-format
 msgid "owner of %s"
 msgstr "Eigentümer von %s"
 
-#: catalog/pg_shdepend.c:1249
+#: catalog/pg_shdepend.c:1255
 #, c-format
 msgid "privileges for %s"
 msgstr "Privilegien für %s"
 
-#: catalog/pg_shdepend.c:1251
+#: catalog/pg_shdepend.c:1257
 #, c-format
 msgid "target of %s"
 msgstr "Ziel von %s"
 
-#: catalog/pg_shdepend.c:1253
+#: catalog/pg_shdepend.c:1259
 #, c-format
 msgid "tablespace for %s"
 msgstr "Tablespace für %s"
 
 #. translator: %s will always be "database %s"
-#: catalog/pg_shdepend.c:1261
+#: catalog/pg_shdepend.c:1267
 #, c-format
 msgid "%d object in %s"
 msgid_plural "%d objects in %s"
 msgstr[0] "%d Objekt in %s"
 msgstr[1] "%d Objekte in %s"
 
-#: catalog/pg_shdepend.c:1372
+#: catalog/pg_shdepend.c:1331
 #, c-format
 msgid "cannot drop objects owned by %s because they are required by the database system"
 msgstr "kann Objekte, die %s gehören, nicht löschen, weil sie vom Datenbanksystem benötigt werden"
 
-#: catalog/pg_shdepend.c:1519
+#: catalog/pg_shdepend.c:1477
 #, c-format
 msgid "cannot reassign ownership of objects owned by %s because they are required by the database system"
 msgstr "kann den Eigentümer von den Objekten, die %s gehören, nicht ändern, weil die Objekte vom Datenbanksystem benötigt werden"
 
-#: catalog/pg_subscription.c:174 commands/subscriptioncmds.c:775
-#: commands/subscriptioncmds.c:1085 commands/subscriptioncmds.c:1427
+#: catalog/pg_subscription.c:216 commands/subscriptioncmds.c:991
+#: commands/subscriptioncmds.c:1356 commands/subscriptioncmds.c:1713
 #, c-format
 msgid "subscription \"%s\" does not exist"
 msgstr "Subskription »%s« existiert nicht"
 
-#: catalog/pg_subscription.c:432
-#, fuzzy, c-format
-#| msgid "could not find function information for function \"%s\""
+#: catalog/pg_subscription.c:474
+#, c-format
 msgid "could not drop relation mapping for subscription \"%s\""
-msgstr "konnte Funktionsinformationen für Funktion »%s« nicht finden"
+msgstr "konnte Relation-Mapping für Subskription »%s« nicht löschen"
 
-#: catalog/pg_subscription.c:434
+#: catalog/pg_subscription.c:476
 #, c-format
 msgid "Table synchronization for relation \"%s\" is in progress and is in state \"%c\"."
 msgstr "Tabellensynchronisierung für Relation »%s« ist im Gang und hat Status »%c«."
@@ -5622,69 +5753,62 @@ msgstr "Tabellensynchronisierung für Relation »%s« ist im Gang und hat Status
 #. translator: first %s is a SQL ALTER command and second %s is a
 #. SQL DROP command
 #.
-#: catalog/pg_subscription.c:441
+#: catalog/pg_subscription.c:483
 #, c-format
 msgid "Use %s to enable subscription if not already enabled or use %s to drop the subscription."
 msgstr "Verwenden Sie %s um die Subskription zu aktivieren, falls noch nicht aktiviert, oder %s um die Subskription zu löschen."
 
-#: catalog/pg_type.c:136 catalog/pg_type.c:475
+#: catalog/pg_type.c:136 catalog/pg_type.c:476
 #, c-format
 msgid "pg_type OID value not set when in binary upgrade mode"
 msgstr "OID-Wert für pg_type ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: catalog/pg_type.c:255
+#: catalog/pg_type.c:256
 #, c-format
 msgid "invalid type internal size %d"
 msgstr "ungültige interne Typgröße %d"
 
-#: catalog/pg_type.c:271 catalog/pg_type.c:279 catalog/pg_type.c:287
-#: catalog/pg_type.c:296
+#: catalog/pg_type.c:272 catalog/pg_type.c:280 catalog/pg_type.c:288
+#: catalog/pg_type.c:297
 #, c-format
 msgid "alignment \"%c\" is invalid for passed-by-value type of size %d"
 msgstr "Ausrichtung »%c« ist ungültig für Typen mit Wertübergabe mit Größe %d"
 
-#: catalog/pg_type.c:303
+#: catalog/pg_type.c:304
 #, c-format
 msgid "internal size %d is invalid for passed-by-value type"
 msgstr "interne Größe %d ist ungültig für Typen mit Wertübergabe"
 
-#: catalog/pg_type.c:313 catalog/pg_type.c:319
+#: catalog/pg_type.c:314 catalog/pg_type.c:320
 #, c-format
 msgid "alignment \"%c\" is invalid for variable-length type"
 msgstr "Ausrichtung »%c« ist ungültig für Typen variabler Länge"
 
-#: catalog/pg_type.c:327 commands/typecmds.c:4164
+#: catalog/pg_type.c:328 commands/typecmds.c:4151
 #, c-format
 msgid "fixed-size types must have storage PLAIN"
 msgstr "Typen mit fester Größe müssen Storage-Typ PLAIN haben"
 
-#: catalog/pg_type.c:816
+#: catalog/pg_type.c:824
 #, c-format
 msgid "could not form array type name for type \"%s\""
 msgstr "konnte keinen Arraytypnamen für Datentyp »%s« erzeugen"
 
-#: catalog/pg_type.c:921
-#, fuzzy, c-format
-#| msgid "Failed while creating memory context \"%s\"."
+#: catalog/pg_type.c:929
+#, c-format
 msgid "Failed while creating a multirange type for type \"%s\"."
-msgstr "Fehler während der Erzeugung des Speicherkontexts »%s«."
+msgstr "Fehler während der Erzeugung eines Multirange-Typs für Typ »%s«."
 
-#: catalog/pg_type.c:922
+#: catalog/pg_type.c:930
 #, c-format
-msgid "You can manually specify a multirange type name using the \"multirange_type_name\" attribute"
-msgstr ""
+msgid "You can manually specify a multirange type name using the \"multirange_type_name\" attribute."
+msgstr "Sie können einen Multirange-Typnamen manuell angeben, mit dem Attribut »multirange_type_name«."
 
-#: catalog/storage.c:450 storage/buffer/bufmgr.c:1026
+#: catalog/storage.c:505 storage/buffer/bufmgr.c:1037
 #, c-format
 msgid "invalid page in block %u of relation %s"
 msgstr "ungültige Seite in Block %u von Relation %s"
 
-#: catalog/toasting.c:104 commands/indexcmds.c:667 commands/tablecmds.c:6028
-#: commands/tablecmds.c:16336
-#, c-format
-msgid "\"%s\" is not a table or materialized view"
-msgstr "»%s« ist keine Tabelle oder materialisierte Sicht"
-
 #: commands/aggregatecmds.c:170
 #, c-format
 msgid "only ordered-set aggregates can be hypothetical"
@@ -5765,7 +5889,7 @@ msgstr "Serialisierungsfunktionen dürfen nur angegeben werden, wenn der Überga
 msgid "must specify both or neither of serialization and deserialization functions"
 msgstr "Serialisierungs- und Deserialisierungsfunktionen müssen zusammen angegeben werden"
 
-#: commands/aggregatecmds.c:437 commands/functioncmds.c:624
+#: commands/aggregatecmds.c:437 commands/functioncmds.c:643
 #, c-format
 msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE"
 msgstr "Parameter »parallel« muss SAFE, RESTRICTED oder UNSAFE sein"
@@ -5780,12 +5904,12 @@ msgstr "Parameter »%s« muss READ_ONLY, SHAREABLE oder READ_WRITE sein"
 msgid "event trigger \"%s\" already exists"
 msgstr "Ereignistrigger »%s« existiert bereits"
 
-#: commands/alter.c:87 commands/foreigncmds.c:597
+#: commands/alter.c:87 commands/foreigncmds.c:593
 #, c-format
 msgid "foreign-data wrapper \"%s\" already exists"
 msgstr "Fremddaten-Wrapper »%s« existiert bereits"
 
-#: commands/alter.c:90 commands/foreigncmds.c:879
+#: commands/alter.c:90 commands/foreigncmds.c:875
 #, c-format
 msgid "server \"%s\" already exists"
 msgstr "Server »%s« existiert bereits"
@@ -5795,12 +5919,12 @@ msgstr "Server »%s« existiert bereits"
 msgid "language \"%s\" already exists"
 msgstr "Sprache »%s« existiert bereits"
 
-#: commands/alter.c:96 commands/publicationcmds.c:183
+#: commands/alter.c:96 commands/publicationcmds.c:792
 #, c-format
 msgid "publication \"%s\" already exists"
 msgstr "Publikation »%s« existiert bereits"
 
-#: commands/alter.c:99 commands/subscriptioncmds.c:398
+#: commands/alter.c:99 commands/subscriptioncmds.c:569
 #, c-format
 msgid "subscription \"%s\" already exists"
 msgstr "Subskription »%s« existiert bereits"
@@ -5840,7 +5964,7 @@ msgstr "Textsuchekonfiguration »%s« existiert bereits in Schema »%s«"
 msgid "must be superuser to rename %s"
 msgstr "nur Superuser können %s umbenennen"
 
-#: commands/alter.c:744
+#: commands/alter.c:746
 #, c-format
 msgid "must be superuser to set schema of %s"
 msgstr "nur Superuser können Schema von %s setzen"
@@ -5872,179 +5996,173 @@ msgid "handler function is not specified"
 msgstr "keine Handler-Funktion angegeben"
 
 #: commands/amcmds.c:264 commands/event_trigger.c:183
-#: commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:681
-#: parser/parse_clause.c:941
+#: commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:713
+#: parser/parse_clause.c:942
 #, c-format
 msgid "function %s must return type %s"
 msgstr "Funktion %s muss Rückgabetyp %s haben"
 
-#: commands/analyze.c:227
+#: commands/analyze.c:228
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze this foreign table"
 msgstr "überspringe »%s« --- kann diese Fremdtabelle nicht analysieren"
 
-#: commands/analyze.c:244
+#: commands/analyze.c:245
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables"
 msgstr "überspringe »%s« --- kann Nicht-Tabellen oder besondere Systemtabellen nicht analysieren"
 
-#: commands/analyze.c:324
+#: commands/analyze.c:325
 #, c-format
 msgid "analyzing \"%s.%s\" inheritance tree"
 msgstr "analysiere Vererbungsbaum von »%s.%s«"
 
-#: commands/analyze.c:329
+#: commands/analyze.c:330
 #, c-format
 msgid "analyzing \"%s.%s\""
 msgstr "analysiere »%s.%s«"
 
-#: commands/analyze.c:395
+#: commands/analyze.c:396
 #, c-format
 msgid "column \"%s\" of relation \"%s\" appears more than once"
 msgstr "Spalte »%s« von Relation »%s« erscheint mehrmals"
 
-#: commands/analyze.c:790
-#, fuzzy, c-format
-#| msgid "automatic analyze of table \"%s.%s.%s\""
-msgid "automatic analyze of table \"%s.%s.%s\"\n"
-msgstr "automatisches Analysieren der Tabelle »%s.%s.%s«"
-
-#: commands/analyze.c:811
+#: commands/analyze.c:787
 #, c-format
-msgid "system usage: %s"
-msgstr "Systembenutzung: %s"
+msgid "automatic analyze of table \"%s.%s.%s\"\n"
+msgstr "automatisches Analysieren der Tabelle »%s.%s.%s«\n"
 
-#: commands/analyze.c:1350
+#: commands/analyze.c:1333
 #, 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«: %d von %u Seiten gelesen, enthalten %.0f lebende Zeilen und %.0f tote Zeilen; %d Zeilen in Stichprobe, schätzungsweise %.0f Zeilen insgesamt"
 
-#: commands/analyze.c:1430
+#: commands/analyze.c:1413
 #, c-format
 msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables"
 msgstr "überspringe Analysieren des Vererbungsbaums »%s.%s« --- dieser Vererbungsbaum enthält keine abgeleiteten Tabellen"
 
-#: commands/analyze.c:1528
+#: commands/analyze.c:1511
 #, c-format
 msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables"
 msgstr "überspringe Analysieren des Vererbungsbaums »%s.%s« --- dieser Vererbungsbaum enthält keine analysierbaren abgeleiteten Tabellen"
 
-#: commands/async.c:639
+#: commands/async.c:646
 #, c-format
 msgid "channel name cannot be empty"
 msgstr "Kanalname kann nicht leer sein"
 
-#: commands/async.c:645
+#: commands/async.c:652
 #, c-format
 msgid "channel name too long"
 msgstr "Kanalname zu lang"
 
-#: commands/async.c:650
+#: commands/async.c:657
 #, c-format
 msgid "payload string too long"
 msgstr "Payload-Zeichenkette zu lang"
 
-#: commands/async.c:869
+#: commands/async.c:876
 #, c-format
 msgid "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY"
 msgstr "PREPARE kann nicht in einer Transaktion ausgeführt werden, die LISTEN, UNLISTEN oder NOTIFY ausgeführt hat"
 
-#: commands/async.c:975
+#: commands/async.c:980
 #, c-format
 msgid "too many notifications in the NOTIFY queue"
 msgstr "zu viele Benachrichtigungen in NOTIFY-Schlange"
 
-#: commands/async.c:1646
+#: commands/async.c:1602
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "NOTIFY-Schlange ist %.0f%% voll"
 
-#: commands/async.c:1648
+#: commands/async.c:1604
 #, c-format
 msgid "The server process with PID %d is among those with the oldest transactions."
 msgstr "Der Serverprozess mit PID %d gehört zu denen mit den ältesten Transaktionen."
 
-#: commands/async.c:1651
+#: commands/async.c:1607
 #, c-format
 msgid "The NOTIFY queue cannot be emptied until that process ends its current transaction."
 msgstr "Die NOTIFY-Schlange kann erst geleert werden, wenn dieser Prozess seine aktuelle Transaktion beendet."
 
-#: commands/cluster.c:119
+#: commands/cluster.c:128
 #, c-format
 msgid "unrecognized CLUSTER option \"%s\""
 msgstr "unbekannte CLUSTER-Option »%s«"
 
-#: commands/cluster.c:147 commands/cluster.c:386
+#: commands/cluster.c:158 commands/cluster.c:431
 #, c-format
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht clustern"
 
-#: commands/cluster.c:155
-#, c-format
-msgid "cannot cluster a partitioned table"
-msgstr "eine partitionierte Tabelle kann nicht geclustert werden"
-
-#: commands/cluster.c:173
+#: commands/cluster.c:176
 #, c-format
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "es gibt keinen bereits geclusterten Index für Tabelle »%s«"
 
-#: commands/cluster.c:187 commands/tablecmds.c:13496 commands/tablecmds.c:15364
+#: commands/cluster.c:190 commands/tablecmds.c:14053 commands/tablecmds.c:15945
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "Index »%s« für Tabelle »%s« existiert nicht"
 
-#: commands/cluster.c:375
+#: commands/cluster.c:420
 #, c-format
 msgid "cannot cluster a shared catalog"
 msgstr "globaler Katalog kann nicht geclustert werden"
 
-#: commands/cluster.c:390
+#: commands/cluster.c:435
 #, c-format
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "temporäre Tabellen anderer Sitzungen können nicht gevacuumt werden"
 
-#: commands/cluster.c:456 commands/tablecmds.c:15374
+#: commands/cluster.c:511 commands/tablecmds.c:15955
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "»%s« ist kein Index für Tabelle »%s«"
 
-#: commands/cluster.c:464
+#: commands/cluster.c:519
 #, c-format
 msgid "cannot cluster on index \"%s\" because access method does not support clustering"
 msgstr "kann nicht anhand des Index »%s« clustern, weil die Indexmethode Clustern nicht unterstützt"
 
-#: commands/cluster.c:476
+#: commands/cluster.c:531
 #, c-format
 msgid "cannot cluster on partial index \"%s\""
 msgstr "kann nicht anhand des partiellen Index »%s« clustern"
 
-#: commands/cluster.c:490
+#: commands/cluster.c:545
 #, c-format
 msgid "cannot cluster on invalid index \"%s\""
 msgstr "kann nicht anhand des ungültigen Index »%s« clustern"
 
-#: commands/cluster.c:514
+#: commands/cluster.c:569
 #, c-format
 msgid "cannot mark index clustered in partitioned table"
 msgstr "ein Index kann nicht als anhand einer partitionierten Tabelle geclustert markiert werden"
 
-#: commands/cluster.c:887
+#: commands/cluster.c:948
 #, c-format
 msgid "clustering \"%s.%s\" using index scan on \"%s\""
 msgstr "clustere »%s.%s« durch Index-Scan von »%s«"
 
-#: commands/cluster.c:893
+#: commands/cluster.c:954
 #, c-format
 msgid "clustering \"%s.%s\" using sequential scan and sort"
 msgstr "clustere »%s.%s« durch sequenziellen Scan und Sortieren"
 
-#: commands/cluster.c:924
+#: commands/cluster.c:959
+#, c-format
+msgid "vacuuming \"%s.%s\""
+msgstr "Vacuum von »%s.%s«"
+
+#: commands/cluster.c:985
 #, c-format
-msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
-msgstr "»%s«: %.0f entfernbare, %.0f nicht entfernbare Zeilenversionen in %u Seiten gefunden"
+msgid "\"%s.%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
+msgstr "»%s.%s«: %.0f entfernbare, %.0f nicht entfernbare Zeilenversionen in %u Seiten gefunden"
 
-#: commands/cluster.c:928
+#: commands/cluster.c:990
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -6058,92 +6176,126 @@ msgstr ""
 msgid "collation attribute \"%s\" not recognized"
 msgstr "Attribut »%s« für Sortierfolge unbekannt"
 
-#: commands/collationcmds.c:149
+#: commands/collationcmds.c:119 commands/collationcmds.c:125
+#: commands/define.c:356 commands/tablecmds.c:7737
+#: replication/pgoutput/pgoutput.c:311 replication/pgoutput/pgoutput.c:334
+#: replication/pgoutput/pgoutput.c:348 replication/pgoutput/pgoutput.c:358
+#: replication/pgoutput/pgoutput.c:368 replication/pgoutput/pgoutput.c:378
+#: replication/walsender.c:1002 replication/walsender.c:1024
+#: replication/walsender.c:1034
+#, c-format
+msgid "conflicting or redundant options"
+msgstr "widersprüchliche oder überflüssige Optionen"
+
+#: commands/collationcmds.c:120
+#, c-format
+msgid "LOCALE cannot be specified together with LC_COLLATE or LC_CTYPE."
+msgstr "LOCALE kann nicht zusammen mit LC_COLLATE oder LC_CTYPE angegeben werden."
+
+#: commands/collationcmds.c:126
+#, fuzzy, c-format
+#| msgid "option \"%s\" cannot be specified with other options"
+msgid "FROM cannot be specified together with any other options."
+msgstr "Option »%s« kann nicht mit anderen Optionen angegeben werden"
+
+#: commands/collationcmds.c:174
 #, c-format
 msgid "collation \"default\" cannot be copied"
 msgstr "Sortierfolge »default« kann nicht kopiert werden"
 
-#: commands/collationcmds.c:182
+#: commands/collationcmds.c:204
 #, c-format
 msgid "unrecognized collation provider: %s"
 msgstr "unbekannter Sortierfolgen-Provider: %s"
 
-#: commands/collationcmds.c:191
+#: commands/collationcmds.c:232
 #, c-format
 msgid "parameter \"lc_collate\" must be specified"
 msgstr "Parameter »lc_collate« muss angegeben werden"
 
-#: commands/collationcmds.c:196
+#: commands/collationcmds.c:237
 #, c-format
 msgid "parameter \"lc_ctype\" must be specified"
 msgstr "Parameter »lc_ctype« muss angegeben werden"
 
-#: commands/collationcmds.c:206
+#: commands/collationcmds.c:244
+#, c-format
+msgid "parameter \"locale\" must be specified"
+msgstr "Parameter »locale« muss angegeben werden"
+
+#: commands/collationcmds.c:256
 #, c-format
 msgid "nondeterministic collations not supported with this provider"
 msgstr "nichtdeterministische Sortierfolgen werden von diesem Provider nicht unterstützt"
 
-#: commands/collationcmds.c:266
+#: commands/collationcmds.c:275
+#, c-format
+msgid "current database's encoding is not supported with this provider"
+msgstr "Kodierung der aktuellen Datenbank wird von diesem Provider nicht unterstützt"
+
+#: commands/collationcmds.c:334
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\""
 msgstr "Sortierfolge »%s« für Kodierung »%s« existiert bereits in Schema »%s«"
 
-#: commands/collationcmds.c:277
+#: commands/collationcmds.c:345
 #, c-format
 msgid "collation \"%s\" already exists in schema \"%s\""
 msgstr "Sortierfolge »%s« existiert bereits in Schema »%s«"
 
-#: commands/collationcmds.c:325
+#: commands/collationcmds.c:395 commands/dbcommands.c:2399
 #, c-format
 msgid "changing version from %s to %s"
 msgstr "Version wird von %s in %s geändert"
 
-#: commands/collationcmds.c:340
+#: commands/collationcmds.c:410 commands/dbcommands.c:2412
 #, c-format
 msgid "version has not changed"
 msgstr "Version hat sich nicht geändert"
 
-#: commands/collationcmds.c:454
+#: commands/collationcmds.c:532
 #, c-format
 msgid "could not convert locale name \"%s\" to language tag: %s"
 msgstr "konnte Locale-Namen »%s« nicht in Sprach-Tag umwandeln: %s"
 
-#: commands/collationcmds.c:512
+#: commands/collationcmds.c:590
 #, c-format
 msgid "must be superuser to import system collations"
 msgstr "nur Superuser können Systemsortierfolgen importieren"
 
-#: commands/collationcmds.c:540 commands/copyfrom.c:1500 commands/copyto.c:688
+#: commands/collationcmds.c:618 commands/copyfrom.c:1499 commands/copyto.c:679
 #: libpq/be-secure-common.c:81
 #, c-format
 msgid "could not execute command \"%s\": %m"
 msgstr "konnte Befehl »%s« nicht ausführen: %m"
 
-#: commands/collationcmds.c:671
+#: commands/collationcmds.c:753
 #, c-format
 msgid "no usable system locales were found"
 msgstr "keine brauchbaren System-Locales gefunden"
 
-#: commands/comment.c:61 commands/dbcommands.c:841 commands/dbcommands.c:1037
-#: commands/dbcommands.c:1150 commands/dbcommands.c:1340
-#: commands/dbcommands.c:1588 commands/dbcommands.c:1702
-#: commands/dbcommands.c:2142 utils/init/postinit.c:887
-#: utils/init/postinit.c:992 utils/init/postinit.c:1009
+#: commands/comment.c:61 commands/dbcommands.c:1539 commands/dbcommands.c:1736
+#: commands/dbcommands.c:1849 commands/dbcommands.c:2043
+#: commands/dbcommands.c:2285 commands/dbcommands.c:2372
+#: commands/dbcommands.c:2482 commands/dbcommands.c:2981
+#: utils/init/postinit.c:923 utils/init/postinit.c:1028
+#: utils/init/postinit.c:1045
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "Datenbank »%s« existiert nicht"
 
-#: commands/comment.c:101 commands/seclabel.c:191 parser/parse_utilcmd.c:989
-#, c-format
-msgid "\"%s\" is not a table, view, materialized view, composite type, or foreign table"
-msgstr "»%s« ist weder Tabelle, Sicht, materialisierte Sicht, zusammengesetzter Typ noch Fremdtabelle"
+#: commands/comment.c:101
+#, fuzzy, c-format
+#| msgid "cannot alter constraint \"%s\" on relation \"%s\""
+msgid "cannot set comment on relation \"%s\""
+msgstr "Constraint »%s« von Relation »%s« kann nicht geändert werden"
 
-#: commands/constraint.c:63 utils/adt/ri_triggers.c:1948
+#: commands/constraint.c:63 utils/adt/ri_triggers.c:2014
 #, c-format
 msgid "function \"%s\" was not called by trigger manager"
 msgstr "Funktion »%s« wurde nicht von Triggermanager aufgerufen"
 
-#: commands/constraint.c:70 utils/adt/ri_triggers.c:1957
+#: commands/constraint.c:70 utils/adt/ri_triggers.c:2023
 #, c-format
 msgid "function \"%s\" must be fired AFTER ROW"
 msgstr "Funktion »%s« muss AFTER ROW ausgelöst werden"
@@ -6179,8 +6331,9 @@ msgid "encoding conversion function %s returned incorrect result for empty input
 msgstr "Kodierungskonversionsfunktion %s hat falsches Ergebnis für leere Eingabe zurückgegeben"
 
 #: commands/copy.c:86
-#, c-format
-msgid "must be superuser or a member of the pg_execute_server_program role to COPY to or from an external program"
+#, fuzzy, c-format
+#| msgid "must be superuser or a member of the pg_execute_server_program role to COPY to or from an external program"
+msgid "must be superuser or have privileges of the pg_execute_server_program role to COPY to or from an external program"
 msgstr "nur Superuser oder Mitglieder von pg_execute_server_program können COPY mit externen Programmen verwenden"
 
 #: commands/copy.c:87 commands/copy.c:96 commands/copy.c:103
@@ -6189,13 +6342,15 @@ msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works
 msgstr "Jeder kann COPY mit STDOUT oder STDIN verwenden. Der Befehl \\copy in psql funktioniert auch für jeden."
 
 #: commands/copy.c:95
-#, c-format
-msgid "must be superuser or a member of the pg_read_server_files role to COPY from a file"
+#, fuzzy, c-format
+#| msgid "must be superuser or a member of the pg_read_server_files role to COPY from a file"
+msgid "must be superuser or have privileges of the pg_read_server_files role to COPY from a file"
 msgstr "nur Superuser oder Mitglieder von pg_read_server_files können mit COPY aus einer Datei lesen"
 
 #: commands/copy.c:102
-#, c-format
-msgid "must be superuser or a member of the pg_write_server_files role to COPY to a file"
+#, fuzzy, c-format
+#| msgid "must be superuser or a member of the pg_write_server_files role to COPY to a file"
+msgid "must be superuser or have privileges of the pg_write_server_files role to COPY to a file"
 msgstr "nur Superuser oder Mitglieder von pg_write_server_files können mit COPY in eine Datei schreiben"
 
 #: commands/copy.c:188
@@ -6208,780 +6363,891 @@ msgstr "COPY FROM wird nicht unterstützt mit Sicherheit auf Zeilenebene"
 msgid "Use INSERT statements instead."
 msgstr "Verwenden Sie stattdessen INSERT-Anweisungen."
 
-#: commands/copy.c:374
+#: commands/copy.c:369
+#, fuzzy, c-format
+#| msgid "%s requires a Boolean value"
+msgid "%s requires a Boolean value or \"match\""
+msgstr "%s erfordert einen Boole’schen Wert"
+
+#: commands/copy.c:428
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "COPY-Format »%s« nicht erkannt"
 
-#: commands/copy.c:447 commands/copy.c:463 commands/copy.c:478
-#: commands/copy.c:500
+#: commands/copy.c:480 commands/copy.c:493 commands/copy.c:506
+#: commands/copy.c:525
 #, c-format
 msgid "argument to option \"%s\" must be a list of column names"
 msgstr "Argument von Option »%s« muss eine Liste aus Spaltennamen sein"
 
-#: commands/copy.c:515
+#: commands/copy.c:537
 #, c-format
 msgid "argument to option \"%s\" must be a valid encoding name"
 msgstr "Argument von Option »%s« muss ein gültiger Kodierungsname sein"
 
-#: commands/copy.c:522 commands/dbcommands.c:253 commands/dbcommands.c:1536
+#: commands/copy.c:544 commands/dbcommands.c:853 commands/dbcommands.c:2233
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "Option »%s« nicht erkannt"
 
-#: commands/copy.c:534
+#: commands/copy.c:556
 #, c-format
 msgid "cannot specify DELIMITER in BINARY mode"
 msgstr "DELIMITER kann nicht im BINARY-Modus angegeben werden"
 
-#: commands/copy.c:539
+#: commands/copy.c:561
 #, c-format
 msgid "cannot specify NULL in BINARY mode"
 msgstr "NULL kann nicht im BINARY-Modus angegeben werden"
 
-#: commands/copy.c:561
+#: commands/copy.c:583
 #, c-format
 msgid "COPY delimiter must be a single one-byte character"
 msgstr "DELIMITER für COPY muss ein einzelnes Ein-Byte-Zeichen sein"
 
-#: commands/copy.c:568
+#: commands/copy.c:590
 #, c-format
 msgid "COPY delimiter cannot be newline or carriage return"
 msgstr "COPY-Trennzeichen kann nicht Newline oder Carriage Return sein"
 
-#: commands/copy.c:574
+#: commands/copy.c:596
 #, c-format
 msgid "COPY null representation cannot use newline or carriage return"
 msgstr "COPY NULL-Darstellung kann nicht Newline oder Carriage Return enthalten"
 
-#: commands/copy.c:591
+#: commands/copy.c:613
 #, c-format
 msgid "COPY delimiter cannot be \"%s\""
 msgstr "DELIMITER für COPY darf nicht »%s« sein"
 
-#: commands/copy.c:597
+#: commands/copy.c:619
 #, c-format
-msgid "COPY HEADER available only in CSV mode"
-msgstr "COPY HEADER ist nur im CSV-Modus verfügbar"
+msgid "cannot specify HEADER in BINARY mode"
+msgstr "HEADER kann nicht im BINARY-Modus angegeben werden"
 
-#: commands/copy.c:603
+#: commands/copy.c:625
 #, c-format
 msgid "COPY quote available only in CSV mode"
 msgstr "Quote-Zeichen für COPY ist nur im CSV-Modus verfügbar"
 
-#: commands/copy.c:608
+#: commands/copy.c:630
 #, c-format
 msgid "COPY quote must be a single one-byte character"
 msgstr "Quote-Zeichen für COPY muss ein einzelnes Ein-Byte-Zeichen sein"
 
-#: commands/copy.c:613
+#: commands/copy.c:635
 #, c-format
 msgid "COPY delimiter and quote must be different"
 msgstr "DELIMITER und QUOTE für COPY müssen verschieden sein"
 
-#: commands/copy.c:619
+#: commands/copy.c:641
 #, c-format
 msgid "COPY escape available only in CSV mode"
 msgstr "Escape-Zeichen für COPY ist nur im CSV-Modus verfügbar"
 
-#: commands/copy.c:624
+#: commands/copy.c:646
 #, c-format
 msgid "COPY escape must be a single one-byte character"
 msgstr "Escape-Zeichen für COPY muss ein einzelnes Ein-Byte-Zeichen sein"
 
-#: commands/copy.c:630
+#: commands/copy.c:652
 #, c-format
 msgid "COPY force quote available only in CSV mode"
 msgstr "FORCE_QUOTE für COPY ist nur im CSV-Modus verfügbar"
 
-#: commands/copy.c:634
+#: commands/copy.c:656
 #, c-format
 msgid "COPY force quote only available using COPY TO"
 msgstr "FORCE_QUOTE ist nur bei COPY TO verfügbar"
 
-#: commands/copy.c:640
+#: commands/copy.c:662
 #, c-format
 msgid "COPY force not null available only in CSV mode"
 msgstr "FORCE_NOT_NULL für COPY ist nur im CSV-Modus verfügbar"
 
-#: commands/copy.c:644
+#: commands/copy.c:666
 #, c-format
 msgid "COPY force not null only available using COPY FROM"
 msgstr "FORCE_NOT_NULL ist nur bei COPY FROM verfügbar"
 
-#: commands/copy.c:650
+#: commands/copy.c:672
 #, c-format
 msgid "COPY force null available only in CSV mode"
 msgstr "FORCE_NULL für COPY ist nur im CSV-Modus verfügbar"
 
-#: commands/copy.c:655
+#: commands/copy.c:677
 #, c-format
 msgid "COPY force null only available using COPY FROM"
 msgstr "FORCE_NULL ist nur bei COPY FROM verfügbar"
 
-#: commands/copy.c:661
+#: commands/copy.c:683
 #, c-format
 msgid "COPY delimiter must not appear in the NULL specification"
 msgstr "Trennzeichen für COPY darf nicht in der NULL-Darstellung erscheinen"
 
-#: commands/copy.c:668
+#: commands/copy.c:690
 #, c-format
 msgid "CSV quote character must not appear in the NULL specification"
 msgstr "CSV-Quote-Zeichen darf nicht in der NULL-Darstellung erscheinen"
 
-#: commands/copy.c:729
+#: commands/copy.c:751
 #, c-format
 msgid "column \"%s\" is a generated column"
 msgstr "Spalte »%s« ist eine generierte Spalte"
 
-#: commands/copy.c:731
+#: commands/copy.c:753
 #, c-format
 msgid "Generated columns cannot be used in COPY."
 msgstr "Generierte Spalten können nicht in COPY verwendet werden."
 
-#: commands/copy.c:746 commands/indexcmds.c:1754 commands/statscmds.c:238
-#: commands/tablecmds.c:2366 commands/tablecmds.c:3022
-#: commands/tablecmds.c:3515 parser/parse_relation.c:3593
-#: parser/parse_relation.c:3613 utils/adt/tsvector_op.c:2680
+#: commands/copy.c:768 commands/indexcmds.c:1797 commands/statscmds.c:239
+#: commands/tablecmds.c:2369 commands/tablecmds.c:3025
+#: commands/tablecmds.c:3519 parser/parse_relation.c:3609
+#: parser/parse_relation.c:3629 utils/adt/tsvector_op.c:2685
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "Spalte »%s« existiert nicht"
 
-#: commands/copy.c:753 commands/tablecmds.c:2392 commands/trigger.c:933
-#: parser/parse_target.c:1080 parser/parse_target.c:1091
+#: commands/copy.c:775 commands/tablecmds.c:2395 commands/trigger.c:967
+#: parser/parse_target.c:1079 parser/parse_target.c:1090
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "Spalte »%s« mehrmals angegeben"
 
-#: commands/copyfrom.c:127
+#: commands/copyfrom.c:123
 #, c-format
-msgid "COPY %s, line %s, column %s"
-msgstr "COPY %s, Zeile %s, Spalte %s"
+msgid "COPY %s, line %llu, column %s"
+msgstr "COPY %s, Zeile %llu, Spalte %s"
 
-#: commands/copyfrom.c:131 commands/copyfrom.c:172
+#: commands/copyfrom.c:128 commands/copyfrom.c:174
 #, c-format
-msgid "COPY %s, line %s"
-msgstr "COPY %s, Zeile %s"
+msgid "COPY %s, line %llu"
+msgstr "COPY %s, Zeile %llu"
 
-#: commands/copyfrom.c:142
+#: commands/copyfrom.c:140
 #, c-format
-msgid "COPY %s, line %s, column %s: \"%s\""
-msgstr "COPY %s, Zeile %s, Spalte %s: »%s«"
+msgid "COPY %s, line %llu, column %s: \"%s\""
+msgstr "COPY %s, Zeile %llu, Spalte %s: »%s«"
 
 #: commands/copyfrom.c:150
 #, c-format
-msgid "COPY %s, line %s, column %s: null input"
-msgstr "COPY %s, Zeile %s, Spalte %s: NULL Eingabe"
+msgid "COPY %s, line %llu, column %s: null input"
+msgstr "COPY %s, Zeile %llu, Spalte %s: NULL Eingabe"
 
-#: commands/copyfrom.c:166
+#: commands/copyfrom.c:167
 #, c-format
-msgid "COPY %s, line %s: \"%s\""
-msgstr "COPY %s, Zeile %s: »%s«"
+msgid "COPY %s, line %llu: \"%s\""
+msgstr "COPY %s, Zeile %llu: »%s«"
 
-#: commands/copyfrom.c:566
+#: commands/copyfrom.c:569
 #, c-format
 msgid "cannot copy to view \"%s\""
 msgstr "kann nicht in Sicht »%s« kopieren"
 
-#: commands/copyfrom.c:568
+#: commands/copyfrom.c:571
 #, c-format
 msgid "To enable copying to a view, provide an INSTEAD OF INSERT trigger."
 msgstr "Um Kopieren in eine Sicht zu ermöglichen, richten Sie einen INSTEAD OF INSERT Trigger ein."
 
-#: commands/copyfrom.c:572
+#: commands/copyfrom.c:575
 #, c-format
 msgid "cannot copy to materialized view \"%s\""
 msgstr "kann nicht in materialisierte Sicht »%s« kopieren"
 
-#: commands/copyfrom.c:577
+#: commands/copyfrom.c:580
 #, c-format
 msgid "cannot copy to sequence \"%s\""
 msgstr "kann nicht in Sequenz »%s« kopieren"
 
-#: commands/copyfrom.c:582
+#: commands/copyfrom.c:585
 #, c-format
 msgid "cannot copy to non-table relation \"%s\""
 msgstr "kann nicht in Relation »%s« kopieren, die keine Tabelle ist"
 
-#: commands/copyfrom.c:622
+#: commands/copyfrom.c:625
 #, c-format
 msgid "cannot perform COPY FREEZE on a partitioned table"
 msgstr "COPY FREEZE kann nicht in einer partitionierten Tabelle durchgeführt werden"
 
-#: commands/copyfrom.c:637
+#: commands/copyfrom.c:640
 #, c-format
 msgid "cannot perform COPY FREEZE because of prior transaction activity"
 msgstr "COPY FREEZE kann nicht durchgeführt werden wegen vorheriger Aktivität in dieser Transaktion"
 
-#: commands/copyfrom.c:643
+#: commands/copyfrom.c:646
 #, c-format
 msgid "cannot perform COPY FREEZE because the table was not created or truncated in the current subtransaction"
 msgstr "COPY FREEZE kann nicht durchgeführt werden, weil die Tabelle nicht in der aktuellen Transaktion erzeugt oder geleert wurde"
 
-#: commands/copyfrom.c:1264 commands/copyto.c:618
+#: commands/copyfrom.c:1267 commands/copyto.c:611
 #, c-format
 msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY"
 msgstr "Spalte »%s« mit FORCE_NOT_NULL wird von COPY nicht verwendet"
 
-#: commands/copyfrom.c:1287 commands/copyto.c:641
+#: commands/copyfrom.c:1290 commands/copyto.c:634
 #, c-format
 msgid "FORCE_NULL column \"%s\" not referenced by COPY"
 msgstr "Spalte »%s« mit FORCE_NULL wird von COPY nicht verwendet"
 
-#: commands/copyfrom.c:1519
+#: commands/copyfrom.c:1518
 #, 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 "Mit COPY FROM liest der PostgreSQL-Serverprozess eine Datei. Möglicherweise möchten Sie Funktionalität auf Client-Seite verwenden, wie zum Beispiel \\copy in psql."
 
-#: commands/copyfrom.c:1532 commands/copyto.c:740
+#: commands/copyfrom.c:1531 commands/copyto.c:731
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "»%s« ist ein Verzeichnis"
 
-#: commands/copyfrom.c:1600 commands/copyto.c:302 libpq/be-secure-common.c:105
+#: commands/copyfrom.c:1599 commands/copyto.c:301 libpq/be-secure-common.c:105
 #, c-format
 msgid "could not close pipe to external command: %m"
 msgstr "konnte Pipe zu externem Programm nicht schließen: %m"
 
-#: commands/copyfrom.c:1615 commands/copyto.c:307
+#: commands/copyfrom.c:1614 commands/copyto.c:306
 #, c-format
 msgid "program \"%s\" failed"
 msgstr "Programm »%s« fehlgeschlagen"
 
-#: commands/copyfromparse.c:199
+#: commands/copyfromparse.c:200
 #, c-format
 msgid "COPY file signature not recognized"
 msgstr "COPY-Datei-Signatur nicht erkannt"
 
-#: commands/copyfromparse.c:204
+#: commands/copyfromparse.c:205
 #, c-format
 msgid "invalid COPY file header (missing flags)"
 msgstr "ungültiger COPY-Dateikopf (Flags fehlen)"
 
-#: commands/copyfromparse.c:208
+#: commands/copyfromparse.c:209
 #, c-format
 msgid "invalid COPY file header (WITH OIDS)"
 msgstr "ungültiger COPY-Dateikopf (WITH OIDS)"
 
-#: commands/copyfromparse.c:213
+#: commands/copyfromparse.c:214
 #, c-format
 msgid "unrecognized critical flags in COPY file header"
 msgstr "unbekannte kritische Flags im COPY-Dateikopf"
 
-#: commands/copyfromparse.c:219
+#: commands/copyfromparse.c:220
 #, c-format
 msgid "invalid COPY file header (missing length)"
 msgstr "ungültiger COPY-Dateikopf (Länge fehlt)"
 
-#: commands/copyfromparse.c:226
+#: commands/copyfromparse.c:227
 #, c-format
 msgid "invalid COPY file header (wrong length)"
 msgstr "ungültiger COPY-Dateikopf (falsche Länge)"
 
-#: commands/copyfromparse.c:255
+#: commands/copyfromparse.c:256
 #, c-format
 msgid "could not read from COPY file: %m"
 msgstr "konnte nicht aus COPY-Datei lesen: %m"
 
-#: commands/copyfromparse.c:277 commands/copyfromparse.c:302
-#: tcop/postgres.c:360
+#: commands/copyfromparse.c:278 commands/copyfromparse.c:303
+#: tcop/postgres.c:358
 #, c-format
 msgid "unexpected EOF on client connection with an open transaction"
 msgstr "unerwartetes EOF auf Client-Verbindung mit einer offenen Transaktion"
 
-#: commands/copyfromparse.c:293
+#: commands/copyfromparse.c:294
 #, c-format
 msgid "unexpected message type 0x%02X during COPY from stdin"
 msgstr "unerwarteter Messagetyp 0x%02X während COPY FROM STDIN"
 
-#: commands/copyfromparse.c:316
+#: commands/copyfromparse.c:317
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "COPY FROM STDIN fehlgeschlagen: %s"
 
-#: commands/copyfromparse.c:841 commands/copyfromparse.c:1451
-#: commands/copyfromparse.c:1681
+#: commands/copyfromparse.c:785
+#, fuzzy, c-format
+#| msgid "wrong number of columns: %d, expected %d"
+msgid "wrong number of fields in header line: field count is %d, expected %d"
+msgstr "falsche Anzahl der Spalten: %d, erwartet wurden %d"
+
+#: commands/copyfromparse.c:800
+#, c-format
+msgid "column name mismatch in header line field %d: got null value (\"%s\"), expected \"%s\""
+msgstr ""
+
+#: commands/copyfromparse.c:807
+#, c-format
+msgid "column name mismatch in header line field %d: got \"%s\", expected \"%s\""
+msgstr ""
+
+#: commands/copyfromparse.c:889 commands/copyfromparse.c:1499
+#: commands/copyfromparse.c:1729
 #, c-format
 msgid "extra data after last expected column"
 msgstr "zusätzliche Daten nach letzter erwarteter Spalte"
 
-#: commands/copyfromparse.c:855
+#: commands/copyfromparse.c:903
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "fehlende Daten für Spalte »%s«"
 
-#: commands/copyfromparse.c:933
+#: commands/copyfromparse.c:981
 #, c-format
 msgid "received copy data after EOF marker"
 msgstr "COPY-Daten nach EOF-Markierung empfangen"
 
-#: commands/copyfromparse.c:940
+#: commands/copyfromparse.c:988
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "Feldanzahl in Zeile ist %d, erwartet wurden %d"
 
-#: commands/copyfromparse.c:1233 commands/copyfromparse.c:1250
+#: commands/copyfromparse.c:1281 commands/copyfromparse.c:1298
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "Carriage-Return-Zeichen in Daten gefunden"
 
-#: commands/copyfromparse.c:1234 commands/copyfromparse.c:1251
+#: commands/copyfromparse.c:1282 commands/copyfromparse.c:1299
 #, c-format
 msgid "unquoted carriage return found in data"
 msgstr "ungequotetes Carriage-Return-Zeichen in Daten gefunden"
 
-#: commands/copyfromparse.c:1236 commands/copyfromparse.c:1253
+#: commands/copyfromparse.c:1284 commands/copyfromparse.c:1301
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Verwenden Sie »\\r«, um ein Carriage-Return-Zeichen darzustellen."
 
-#: commands/copyfromparse.c:1237 commands/copyfromparse.c:1254
+#: commands/copyfromparse.c:1285 commands/copyfromparse.c:1302
 #, c-format
 msgid "Use quoted CSV field to represent carriage return."
 msgstr "Verwenden Sie ein gequotetes CSV-Feld, um ein Carriage-Return-Zeichen darzustellen."
 
-#: commands/copyfromparse.c:1266
+#: commands/copyfromparse.c:1314
 #, c-format
 msgid "literal newline found in data"
 msgstr "Newline-Zeichen in Daten gefunden"
 
-#: commands/copyfromparse.c:1267
+#: commands/copyfromparse.c:1315
 #, c-format
 msgid "unquoted newline found in data"
 msgstr "ungequotetes Newline-Zeichen in Daten gefunden"
 
-#: commands/copyfromparse.c:1269
+#: commands/copyfromparse.c:1317
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "Verwenden Sie »\\n«, um ein Newline-Zeichen darzustellen."
 
-#: commands/copyfromparse.c:1270
+#: commands/copyfromparse.c:1318
 #, c-format
 msgid "Use quoted CSV field to represent newline."
 msgstr "Verwenden Sie ein gequotetes CSV-Feld, um ein Newline-Zeichen darzustellen."
 
-#: commands/copyfromparse.c:1316 commands/copyfromparse.c:1352
+#: commands/copyfromparse.c:1364 commands/copyfromparse.c:1400
 #, c-format
 msgid "end-of-copy marker does not match previous newline style"
 msgstr "COPY-Ende-Markierung stimmt nicht mit vorherigem Newline-Stil überein"
 
-#: commands/copyfromparse.c:1325 commands/copyfromparse.c:1341
+#: commands/copyfromparse.c:1373 commands/copyfromparse.c:1389
 #, c-format
 msgid "end-of-copy marker corrupt"
 msgstr "COPY-Ende-Markierung verfälscht"
 
-#: commands/copyfromparse.c:1765
+#: commands/copyfromparse.c:1813
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "Quotes in CSV-Feld nicht abgeschlossen"
 
-#: commands/copyfromparse.c:1841 commands/copyfromparse.c:1860
+#: commands/copyfromparse.c:1889 commands/copyfromparse.c:1908
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "unerwartetes EOF in COPY-Daten"
 
-#: commands/copyfromparse.c:1850
+#: commands/copyfromparse.c:1898
 #, c-format
 msgid "invalid field size"
 msgstr "ungültige Feldgröße"
 
-#: commands/copyfromparse.c:1873
+#: commands/copyfromparse.c:1921
 #, c-format
 msgid "incorrect binary data format"
 msgstr "falsches Binärdatenformat"
 
-#: commands/copyto.c:235
+#: commands/copyto.c:234
 #, c-format
 msgid "could not write to COPY program: %m"
 msgstr "konnte nicht zum COPY-Programm schreiben: %m"
 
-#: commands/copyto.c:240
+#: commands/copyto.c:239
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "konnte nicht in COPY-Datei schreiben: %m"
 
-#: commands/copyto.c:370
+#: commands/copyto.c:369
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "kann nicht aus Sicht »%s« kopieren"
 
-#: commands/copyto.c:372 commands/copyto.c:378 commands/copyto.c:384
-#: commands/copyto.c:395
+#: commands/copyto.c:371 commands/copyto.c:377 commands/copyto.c:383
+#: commands/copyto.c:394
 #, c-format
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "Versuchen Sie die Variante COPY (SELECT ...) TO."
 
-#: commands/copyto.c:376
+#: commands/copyto.c:375
 #, c-format
 msgid "cannot copy from materialized view \"%s\""
 msgstr "kann nicht aus materialisierter Sicht »%s« kopieren"
 
-#: commands/copyto.c:382
+#: commands/copyto.c:381
 #, c-format
 msgid "cannot copy from foreign table \"%s\""
 msgstr "kann nicht aus Fremdtabelle »%s« kopieren"
 
-#: commands/copyto.c:388
+#: commands/copyto.c:387
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "kann nicht aus Sequenz »%s« kopieren"
 
-#: commands/copyto.c:393
+#: commands/copyto.c:392
 #, c-format
 msgid "cannot copy from partitioned table \"%s\""
 msgstr "kann nicht aus partitionierter Tabelle »%s« kopieren"
 
-#: commands/copyto.c:399
+#: commands/copyto.c:398
 #, c-format
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "kann nicht aus Relation »%s«, die keine Tabelle ist, kopieren"
 
-#: commands/copyto.c:457
+#: commands/copyto.c:450
 #, c-format
 msgid "DO INSTEAD NOTHING rules are not supported for COPY"
 msgstr "DO-INSTEAD-NOTHING-Regeln werden für COPY nicht unterstützt"
 
-#: commands/copyto.c:471
+#: commands/copyto.c:464
 #, c-format
 msgid "conditional DO INSTEAD rules are not supported for COPY"
 msgstr "DO-INSTEAD-Regeln mit Bedingung werden für COPY nicht unterstützt"
 
-#: commands/copyto.c:475
+#: commands/copyto.c:468
 #, c-format
 msgid "DO ALSO rules are not supported for the COPY"
 msgstr "DO-ALSO-Regeln werden für COPY nicht unterstützt"
 
-#: commands/copyto.c:480
+#: commands/copyto.c:473
 #, c-format
 msgid "multi-statement DO INSTEAD rules are not supported for COPY"
 msgstr "DO-INSTEAD-Regeln mit mehreren Anweisungen werden für COPY nicht unterstützt"
 
-#: commands/copyto.c:490
+#: commands/copyto.c:483
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) wird nicht unterstützt"
 
-#: commands/copyto.c:507
+#: commands/copyto.c:500
 #, c-format
 msgid "COPY query must have a RETURNING clause"
 msgstr "COPY-Anfrage muss eine RETURNING-Klausel haben"
 
-#: commands/copyto.c:536
+#: commands/copyto.c:529
 #, c-format
 msgid "relation referenced by COPY statement has changed"
 msgstr "die von der COPY-Anweisung verwendete Relation hat sich geändert"
 
-#: commands/copyto.c:595
+#: commands/copyto.c:588
 #, c-format
 msgid "FORCE_QUOTE column \"%s\" not referenced by COPY"
 msgstr "FORCE_QUOTE-Spalte »%s« wird von COPY nicht verwendet"
 
-#: commands/copyto.c:705
+#: commands/copyto.c:696
 #, c-format
 msgid "relative path not allowed for COPY to file"
 msgstr "relativer Pfad bei COPY in Datei nicht erlaubt"
 
-#: commands/copyto.c:724
+#: commands/copyto.c:715
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "konnte Datei »%s« nicht zum Schreiben öffnen: %m"
 
-#: commands/copyto.c:727
+#: commands/copyto.c:718
 #, 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 "Mit COPY TO schreibt der PostgreSQL-Serverprozess eine Datei. Möglicherweise möchten Sie Funktionalität auf Client-Seite verwenden, wie zum Beispiel \\copy in psql."
 
-#: commands/createas.c:215 commands/createas.c:517
+#: commands/createas.c:215 commands/createas.c:511
 #, c-format
 msgid "too many column names were specified"
 msgstr "zu viele Spaltennamen wurden angegeben"
 
-#: commands/createas.c:540
+#: commands/createas.c:534
 #, c-format
 msgid "policies not yet implemented for this command"
 msgstr "Policys sind für diesen Befehl noch nicht implementiert"
 
-#: commands/dbcommands.c:246
+#: commands/dbcommands.c:504 commands/tablespace.c:165
+#: commands/tablespace.c:182 commands/tablespace.c:193
+#: commands/tablespace.c:201 commands/tablespace.c:636
+#: commands/tablespace.c:681 replication/basebackup_server.c:102
+#: replication/slot.c:1566 storage/file/copydir.c:47
+#, c-format
+msgid "could not create directory \"%s\": %m"
+msgstr "konnte Verzeichnis »%s« nicht erzeugen: %m"
+
+#: commands/dbcommands.c:816
 #, c-format
 msgid "LOCATION is not supported anymore"
 msgstr "LOCATION wird nicht mehr unterstützt"
 
-#: commands/dbcommands.c:247
+#: commands/dbcommands.c:817
 #, c-format
 msgid "Consider using tablespaces instead."
 msgstr "Verwenden Sie stattdessen Tablespaces."
 
-#: commands/dbcommands.c:261
+#: commands/dbcommands.c:842
 #, c-format
-msgid "LOCALE cannot be specified together with LC_COLLATE or LC_CTYPE."
-msgstr "LOCALE kann nicht zusammen mit LC_COLLATE oder LC_CTYPE angegeben werden."
+msgid "OIDs less than %u are reserved for system objects"
+msgstr ""
 
-#: commands/dbcommands.c:279 utils/adt/ascii.c:145
+#: commands/dbcommands.c:873 utils/adt/ascii.c:145
 #, c-format
 msgid "%d is not a valid encoding code"
 msgstr "%d ist kein gültiger Kodierungscode"
 
-#: commands/dbcommands.c:290 utils/adt/ascii.c:127
+#: commands/dbcommands.c:884 utils/adt/ascii.c:127
 #, c-format
 msgid "%s is not a valid encoding name"
 msgstr "%s ist kein gültiger Kodierungsname"
 
-#: commands/dbcommands.c:314 commands/dbcommands.c:1569 commands/user.c:275
-#: commands/user.c:691
+#: commands/dbcommands.c:911
+#, c-format
+msgid "unrecognized locale provider: %s"
+msgstr "unbekannter Locale-Provider: %s"
+
+#: commands/dbcommands.c:917
+#, c-format
+msgid "ICU locale cannot be specified unless locale provider is ICU"
+msgstr ""
+
+#: commands/dbcommands.c:933 commands/dbcommands.c:2266 commands/user.c:237
+#: commands/user.c:611
 #, c-format
 msgid "invalid connection limit: %d"
 msgstr "ungültige Verbindungshöchstgrenze: %d"
 
-#: commands/dbcommands.c:333
+#: commands/dbcommands.c:954
 #, c-format
 msgid "permission denied to create database"
 msgstr "keine Berechtigung, um Datenbank zu erzeugen"
 
-#: commands/dbcommands.c:356
+#: commands/dbcommands.c:978
 #, c-format
 msgid "template database \"%s\" does not exist"
 msgstr "Template-Datenbank »%s« existiert nicht"
 
-#: commands/dbcommands.c:368
+#: commands/dbcommands.c:990
 #, c-format
 msgid "permission denied to copy database \"%s\""
 msgstr "keine Berechtigung, um Datenbank »%s« zu kopieren"
 
-#: commands/dbcommands.c:384
+#: commands/dbcommands.c:1007
+#, fuzzy, c-format
+#| msgid "invalid creation date in header"
+msgid "invalid create database strategy %s"
+msgstr "ungültiges Erstellungsdatum im Kopf"
+
+#: commands/dbcommands.c:1008
+#, fuzzy, c-format
+#| msgid "Valid values are \"local\" and \"cascaded\"."
+msgid "Valid strategies are \"wal_log\", and \"file_copy\"."
+msgstr "Gültige Werte sind »local« und »cascaded«."
+
+#: commands/dbcommands.c:1027
 #, c-format
 msgid "invalid server encoding %d"
 msgstr "ungültige Serverkodierung %d"
 
-#: commands/dbcommands.c:390 commands/dbcommands.c:395
+#: commands/dbcommands.c:1033 commands/dbcommands.c:1038
 #, c-format
 msgid "invalid locale name: \"%s\""
 msgstr "ungültiger Locale-Name: »%s«"
 
-#: commands/dbcommands.c:415
+#: commands/dbcommands.c:1052
+#, c-format
+msgid "ICU locale must be specified"
+msgstr "ICU-Locale muss angegeben werden"
+
+#: commands/dbcommands.c:1073
 #, c-format
 msgid "new encoding (%s) is incompatible with the encoding of the template database (%s)"
 msgstr "neue Kodierung (%s) ist inkompatibel mit der Kodierung der Template-Datenbank (%s)"
 
-#: commands/dbcommands.c:418
+#: commands/dbcommands.c:1076
 #, c-format
 msgid "Use the same encoding as in the template database, or use template0 as template."
 msgstr "Verwenden Sie die gleiche Kodierung wie die Template-Datenbank oder verwenden Sie template0 als Template."
 
-#: commands/dbcommands.c:423
+#: commands/dbcommands.c:1081
 #, c-format
 msgid "new collation (%s) is incompatible with the collation of the template database (%s)"
 msgstr "neue Sortierreihenfolge (%s) ist inkompatibel mit der Sortierreihenfolge der Template-Datenbank (%s)"
 
-#: commands/dbcommands.c:425
+#: commands/dbcommands.c:1083
 #, c-format
 msgid "Use the same collation as in the template database, or use template0 as template."
 msgstr "Verwenden Sie die gleiche Sortierreihenfolge wie die Template-Datenbank oder verwenden Sie template0 als Template."
 
-#: commands/dbcommands.c:430
+#: commands/dbcommands.c:1088
 #, c-format
 msgid "new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database (%s)"
 msgstr "neues LC_CTYPE (%s) ist inkompatibel mit dem LC_CTYPE der Template-Datenbank (%s)"
 
-#: commands/dbcommands.c:432
-#, c-format
-msgid "Use the same LC_CTYPE as in the template database, or use template0 as template."
-msgstr "Verwenden Sie das gleiche LC_CTYPE wie die Template-Datenbank oder verwenden Sie template0 als Template."
+#: commands/dbcommands.c:1090
+#, c-format
+msgid "Use the same LC_CTYPE as in the template database, or use template0 as template."
+msgstr "Verwenden Sie das gleiche LC_CTYPE wie die Template-Datenbank oder verwenden Sie template0 als Template."
+
+#: commands/dbcommands.c:1095
+#, c-format
+msgid "new locale provider (%s) does not match locale provider of the template database (%s)"
+msgstr "neuer Locale-Provider (%s) stimmt nicht mit dem Locale-Provider der Template-Datenbank (%s) überein"
+
+#: commands/dbcommands.c:1097
+#, c-format
+msgid "Use the same locale provider as in the template database, or use template0 as template."
+msgstr "Verwenden Sie den gleichen Locale-Provider wie die Template-Datenbank oder verwenden Sie template0 als Template."
+
+#: commands/dbcommands.c:1106
+#, c-format
+msgid "new ICU locale (%s) is incompatible with the ICU locale of the template database (%s)"
+msgstr "neue ICU-Locale (%s) ist inkompatibel mit der ICU-Locale der Template-Datenbank (%s)"
+
+#: commands/dbcommands.c:1108
+#, c-format
+msgid "Use the same ICU locale as in the template database, or use template0 as template."
+msgstr "Verwenden Sie die gleiche ICU-Locale wie die Template-Datenbank oder verwenden Sie template0 als Template."
+
+#: commands/dbcommands.c:1131
+#, c-format
+msgid "template database \"%s\" has a collation version, but no actual collation version could be determined"
+msgstr ""
+
+#: commands/dbcommands.c:1136
+#, fuzzy, c-format
+#| msgid "template database \"%s\" does not exist"
+msgid "template database \"%s\" has a collation version mismatch"
+msgstr "Template-Datenbank »%s« existiert nicht"
+
+#: commands/dbcommands.c:1138
+#, 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 "Die Sortierfolge in der Datenbank wurde mit Version %s erzeugt, aber das Betriebssystem hat Version %s."
+
+#: commands/dbcommands.c:1141
+#, 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 "Bauen Sie alle von dieser Sortierfolge beinflussten Objekte neu und führen Sie ALTER COLLATION %s REFRESH VERSION aus, oder bauen Sie PostgreSQL mit der richtigen Bibliotheksversion."
 
-#: commands/dbcommands.c:454 commands/dbcommands.c:1196
+#: commands/dbcommands.c:1177 commands/dbcommands.c:1895
 #, c-format
 msgid "pg_global cannot be used as default tablespace"
 msgstr "pg_global kann nicht als Standard-Tablespace verwendet werden"
 
-#: commands/dbcommands.c:480
+#: commands/dbcommands.c:1203
 #, c-format
 msgid "cannot assign new default tablespace \"%s\""
 msgstr "kann neuen Standard-Tablespace »%s« nicht setzen"
 
-#: commands/dbcommands.c:482
+#: commands/dbcommands.c:1205
 #, c-format
 msgid "There is a conflict because database \"%s\" already has some tables in this tablespace."
 msgstr "Es gibt einen Konflikt, weil Datenbank »%s« schon einige Tabellen in diesem Tablespace hat."
 
-#: commands/dbcommands.c:512 commands/dbcommands.c:1066
+#: commands/dbcommands.c:1235 commands/dbcommands.c:1765
 #, c-format
 msgid "database \"%s\" already exists"
 msgstr "Datenbank »%s« existiert bereits"
 
-#: commands/dbcommands.c:526
+#: commands/dbcommands.c:1249
 #, c-format
 msgid "source database \"%s\" is being accessed by other users"
 msgstr "auf Quelldatenbank »%s« wird gerade von anderen Benutzern zugegriffen"
 
-#: commands/dbcommands.c:769 commands/dbcommands.c:784
+#: commands/dbcommands.c:1271
+#, fuzzy, c-format
+#| msgid "database \"%s\" already exists"
+msgid "database OID %u is already in use by database \"%s\""
+msgstr "Datenbank »%s« existiert bereits"
+
+#: commands/dbcommands.c:1277
+#, c-format
+msgid "data directory with the specified OID %u already exists"
+msgstr ""
+
+#: commands/dbcommands.c:1448 commands/dbcommands.c:1463
 #, c-format
 msgid "encoding \"%s\" does not match locale \"%s\""
 msgstr "Kodierung »%s« stimmt nicht mit Locale »%s« überein"
 
-#: commands/dbcommands.c:772
+#: commands/dbcommands.c:1451
 #, c-format
 msgid "The chosen LC_CTYPE setting requires encoding \"%s\"."
 msgstr "Die gewählte LC_CTYPE-Einstellung verlangt die Kodierung »%s«."
 
-#: commands/dbcommands.c:787
+#: commands/dbcommands.c:1466
 #, c-format
 msgid "The chosen LC_COLLATE setting requires encoding \"%s\"."
 msgstr "Die gewählte LC_COLLATE-Einstellung verlangt die Kodierung »%s«."
 
-#: commands/dbcommands.c:848
+#: commands/dbcommands.c:1546
 #, c-format
 msgid "database \"%s\" does not exist, skipping"
 msgstr "Datenbank »%s« existiert nicht, wird übersprungen"
 
-#: commands/dbcommands.c:872
+#: commands/dbcommands.c:1570
 #, c-format
 msgid "cannot drop a template database"
 msgstr "Template-Datenbank kann nicht gelöscht werden"
 
-#: commands/dbcommands.c:878
+#: commands/dbcommands.c:1576
 #, c-format
 msgid "cannot drop the currently open database"
 msgstr "kann aktuell geöffnete Datenbank nicht löschen"
 
-#: commands/dbcommands.c:891
+#: commands/dbcommands.c:1589
 #, c-format
 msgid "database \"%s\" is used by an active logical replication slot"
 msgstr "Datenbank »%s« wird von einem aktiven logischen Replikations-Slot verwendet"
 
-#: commands/dbcommands.c:893
+#: commands/dbcommands.c:1591
 #, c-format
 msgid "There is %d active slot."
 msgid_plural "There are %d active slots."
 msgstr[0] "%d Slot ist vorhanden."
 msgstr[1] "%d Slots sind vorhanden."
 
-#: commands/dbcommands.c:907
+#: commands/dbcommands.c:1605
 #, c-format
 msgid "database \"%s\" is being used by logical replication subscription"
 msgstr "Datenbank »%s« wird von einer Subskription für logische Replikation verwendet"
 
-#: commands/dbcommands.c:909
+#: commands/dbcommands.c:1607
 #, c-format
 msgid "There is %d subscription."
 msgid_plural "There are %d subscriptions."
 msgstr[0] "%d Subskription ist vorhanden."
 msgstr[1] "%d Subskriptionen sind vorhanden."
 
-#: commands/dbcommands.c:930 commands/dbcommands.c:1088
-#: commands/dbcommands.c:1218
+#: commands/dbcommands.c:1628 commands/dbcommands.c:1787
+#: commands/dbcommands.c:1917
 #, c-format
 msgid "database \"%s\" is being accessed by other users"
 msgstr "auf Datenbank »%s« wird von anderen Benutzern zugegriffen"
 
-#: commands/dbcommands.c:1048
+#: commands/dbcommands.c:1747
 #, c-format
 msgid "permission denied to rename database"
 msgstr "keine Berechtigung, um Datenbank umzubenennen"
 
-#: commands/dbcommands.c:1077
+#: commands/dbcommands.c:1776
 #, c-format
 msgid "current database cannot be renamed"
 msgstr "aktuelle Datenbank kann nicht umbenannt werden"
 
-#: commands/dbcommands.c:1174
+#: commands/dbcommands.c:1873
 #, c-format
 msgid "cannot change the tablespace of the currently open database"
 msgstr "kann den Tablespace der aktuell geöffneten Datenbank nicht ändern"
 
-#: commands/dbcommands.c:1277
+#: commands/dbcommands.c:1979
 #, c-format
 msgid "some relations of database \"%s\" are already in tablespace \"%s\""
 msgstr "einige Relationen von Datenbank »%s« ist bereits in Tablespace »%s«"
 
-#: commands/dbcommands.c:1279
+#: commands/dbcommands.c:1981
 #, c-format
 msgid "You must move them back to the database's default tablespace before using this command."
 msgstr "Sie müssen sie zurück in den Standard-Tablespace der Datenbank verschieben, bevor Sie diesen Befehl verwenden können."
 
-#: commands/dbcommands.c:1404 commands/dbcommands.c:1980
-#: commands/dbcommands.c:2203 commands/dbcommands.c:2261
-#: commands/tablespace.c:631
+#: commands/dbcommands.c:2108 commands/dbcommands.c:2819
+#: commands/dbcommands.c:3043 commands/dbcommands.c:3123
 #, c-format
 msgid "some useless files may be left behind in old database directory \"%s\""
 msgstr "einige nutzlose Dateien wurde möglicherweise im alten Datenbankverzeichnis »%s« zurückgelassen"
 
-#: commands/dbcommands.c:1460
+#: commands/dbcommands.c:2169
 #, c-format
 msgid "unrecognized DROP DATABASE option \"%s\""
 msgstr "unbekannte DROP-DATABASE-Option »%s«"
 
-#: commands/dbcommands.c:1550
+#: commands/dbcommands.c:2247
 #, c-format
 msgid "option \"%s\" cannot be specified with other options"
 msgstr "Option »%s« kann nicht mit anderen Optionen angegeben werden"
 
-#: commands/dbcommands.c:1606
+#: commands/dbcommands.c:2303
 #, c-format
 msgid "cannot disallow connections for current database"
 msgstr "Verbindungen mit der aktuellen Datenbank können nicht verboten werden"
 
-#: commands/dbcommands.c:1742
+#: commands/dbcommands.c:2522
 #, c-format
 msgid "permission denied to change owner of database"
 msgstr "keine Berechtigung, um Eigentümer der Datenbank zu ändern"
 
-#: commands/dbcommands.c:2086
+#: commands/dbcommands.c:2925
 #, c-format
 msgid "There are %d other session(s) and %d prepared transaction(s) using the database."
 msgstr "%d andere Sitzung(en) und %d vorbereitete Transaktion(en) verwenden die Datenbank."
 
-#: commands/dbcommands.c:2089
+#: commands/dbcommands.c:2928
 #, c-format
 msgid "There is %d other session using the database."
 msgid_plural "There are %d other sessions using the database."
 msgstr[0] "%d andere Sitzung verwendet die Datenbank."
 msgstr[1] "%d andere Sitzungen verwenden die Datenbank."
 
-#: commands/dbcommands.c:2094 storage/ipc/procarray.c:3726
+#: commands/dbcommands.c:2933 storage/ipc/procarray.c:3832
 #, c-format
 msgid "There is %d prepared transaction using the database."
 msgid_plural "There are %d prepared transactions using the database."
 msgstr[0] "%d vorbereitete Transaktion verwendet die Datenbank."
 msgstr[1] "%d vorbereitete Transaktionen verwenden die Datenbank."
 
-#: commands/define.c:54 commands/define.c:228 commands/define.c:260
-#: commands/define.c:288 commands/define.c:334
+#: commands/define.c:54 commands/define.c:225 commands/define.c:257
+#: commands/define.c:285 commands/define.c:331
 #, c-format
 msgid "%s requires a parameter"
 msgstr "%s erfordert einen Parameter"
 
-#: commands/define.c:90 commands/define.c:101 commands/define.c:195
-#: commands/define.c:213
+#: commands/define.c:87 commands/define.c:98 commands/define.c:192
+#: commands/define.c:210
 #, c-format
 msgid "%s requires a numeric value"
 msgstr "%s erfordert einen numerischen Wert"
 
-#: commands/define.c:157
+#: commands/define.c:154
 #, c-format
 msgid "%s requires a Boolean value"
 msgstr "%s erfordert einen Boole’schen Wert"
 
-#: commands/define.c:171 commands/define.c:180 commands/define.c:297
+#: commands/define.c:168 commands/define.c:177 commands/define.c:294
 #, c-format
 msgid "%s requires an integer value"
 msgstr "%s erfordert einen ganzzahligen Wert"
 
-#: commands/define.c:242
+#: commands/define.c:239
 #, c-format
 msgid "argument of %s must be a name"
 msgstr "Argument von %s muss ein Name sein"
 
-#: commands/define.c:272
+#: commands/define.c:269
 #, c-format
 msgid "argument of %s must be a type name"
 msgstr "Argument von %s muss ein Typname sein"
 
-#: commands/define.c:318
+#: commands/define.c:315
 #, c-format
 msgid "invalid argument for %s: \"%s\""
 msgstr "ungültiges Argument für %s: »%s«"
 
-#: commands/dropcmds.c:100 commands/functioncmds.c:1385
-#: utils/adt/ruleutils.c:2806
+#: commands/dropcmds.c:100 commands/functioncmds.c:1394
+#: utils/adt/ruleutils.c:2913
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "»%s« ist eine Aggregatfunktion"
@@ -6991,19 +7257,19 @@ msgstr "»%s« ist eine Aggregatfunktion"
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Verwenden Sie DROP AGGREGATE, um Aggregatfunktionen zu löschen."
 
-#: commands/dropcmds.c:158 commands/sequence.c:447 commands/tablecmds.c:3599
-#: commands/tablecmds.c:3757 commands/tablecmds.c:3802
-#: commands/tablecmds.c:15797 tcop/utility.c:1291
+#: commands/dropcmds.c:158 commands/sequence.c:467 commands/tablecmds.c:3603
+#: commands/tablecmds.c:3761 commands/tablecmds.c:3813
+#: commands/tablecmds.c:16378 tcop/utility.c:1332
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "Relation »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1248
+#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1276
 #, c-format
 msgid "schema \"%s\" does not exist, skipping"
 msgstr "Schema »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:228 commands/dropcmds.c:267 commands/tablecmds.c:272
+#: commands/dropcmds.c:228 commands/dropcmds.c:267 commands/tablecmds.c:275
 #, c-format
 msgid "type \"%s\" does not exist, skipping"
 msgstr "Typ »%s« existiert nicht, wird übersprungen"
@@ -7023,7 +7289,7 @@ msgstr "Sortierfolge »%s« existiert nicht, wird übersprungen"
 msgid "conversion \"%s\" does not exist, skipping"
 msgstr "Konversion »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:293 commands/statscmds.c:630
+#: commands/dropcmds.c:293 commands/statscmds.c:651
 #, c-format
 msgid "statistics object \"%s\" does not exist, skipping"
 msgstr "Statistikobjekt »%s« existiert nicht, wird übersprungen"
@@ -7118,7 +7384,7 @@ msgstr "Regel »%s« für Relation »%s« existiert nicht, wird übersprungen"
 msgid "foreign-data wrapper \"%s\" does not exist, skipping"
 msgstr "Fremddaten-Wrapper »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:453 commands/foreigncmds.c:1351
+#: commands/dropcmds.c:453 commands/foreigncmds.c:1347
 #, c-format
 msgid "server \"%s\" does not exist, skipping"
 msgstr "Server »%s« existiert nicht, wird übersprungen"
@@ -7195,12 +7461,12 @@ msgstr "Der Eigentümer eines Ereignistriggers muss ein Superuser sein."
 msgid "%s can only be called in a sql_drop event trigger function"
 msgstr "%s kann nur in einer sql_drop-Ereignistriggerfunktion aufgerufen werden"
 
-#: commands/event_trigger.c:1424 commands/event_trigger.c:1445
+#: commands/event_trigger.c:1400 commands/event_trigger.c:1421
 #, c-format
 msgid "%s can only be called in a table_rewrite event trigger function"
 msgstr "%s kann nur in einer table_rewrite-Ereignistriggerfunktion aufgerufen werden"
 
-#: commands/event_trigger.c:1862
+#: commands/event_trigger.c:1834
 #, c-format
 msgid "%s can only be called in an event trigger function"
 msgstr "%s kann nur in einer Ereignistriggerfunktion aufgerufen werden"
@@ -7225,7 +7491,7 @@ msgstr "EXPLAIN-Option WAL erfordert ANALYZE"
 msgid "EXPLAIN option TIMING requires ANALYZE"
 msgstr "EXPLAIN-Option TIMING erfordert ANALYZE"
 
-#: commands/extension.c:173 commands/extension.c:3013
+#: commands/extension.c:173 commands/extension.c:2932
 #, c-format
 msgid "extension \"%s\" does not exist"
 msgstr "Erweiterung »%s« existiert nicht"
@@ -7282,193 +7548,210 @@ msgstr "Versionsnamen dürfen nicht mit »-« anfangen oder aufhören."
 msgid "Version names must not contain directory separator characters."
 msgstr "Versionsnamen dürfen keine Verzeichnistrennzeichen enthalten."
 
-#: commands/extension.c:498
+#: commands/extension.c:502
+#, fuzzy, c-format
+#| msgid "extension \"%s\" does not exist"
+msgid "extension \"%s\" is not available"
+msgstr "Erweiterung »%s« existiert nicht"
+
+#: commands/extension.c:503
+#, fuzzy, c-format
+#| msgid "could not open extension control file \"%s\": %m"
+msgid "Could not open extension control file \"%s\": %m."
+msgstr "konnte Erweiterungskontrolldatei »%s« nicht öffnen: %m"
+
+#: commands/extension.c:505
+#, c-format
+msgid "The extension must first be installed on the system where PostgreSQL is running."
+msgstr ""
+
+#: commands/extension.c:509
 #, c-format
 msgid "could not open extension control file \"%s\": %m"
 msgstr "konnte Erweiterungskontrolldatei »%s« nicht öffnen: %m"
 
-#: commands/extension.c:520 commands/extension.c:530
+#: commands/extension.c:531 commands/extension.c:541
 #, c-format
 msgid "parameter \"%s\" cannot be set in a secondary extension control file"
 msgstr "Parameter »%s« kann nicht in einer sekundären Erweitungskontrolldatei gesetzt werden"
 
-#: commands/extension.c:552 commands/extension.c:560 commands/extension.c:568
-#: utils/misc/guc.c:7092
+#: commands/extension.c:563 commands/extension.c:571 commands/extension.c:579
+#: utils/misc/guc.c:7372
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "Parameter »%s« erfordert einen Boole’schen Wert"
 
-#: commands/extension.c:577
+#: commands/extension.c:588
 #, c-format
 msgid "\"%s\" is not a valid encoding name"
 msgstr "»%s« ist kein gültiger Kodierungsname"
 
-#: commands/extension.c:591
+#: commands/extension.c:602
 #, c-format
 msgid "parameter \"%s\" must be a list of extension names"
 msgstr "Parameter »%s« muss eine Liste von Erweiterungsnamen sein"
 
-#: commands/extension.c:598
+#: commands/extension.c:609
 #, c-format
 msgid "unrecognized parameter \"%s\" in file \"%s\""
 msgstr "unbekannter Parameter »%s« in Datei »%s«"
 
-#: commands/extension.c:607
+#: commands/extension.c:618
 #, c-format
 msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true"
 msgstr "Parameter »schema« kann nicht angegeben werden, wenn »relocatable« an ist"
 
-#: commands/extension.c:785
+#: commands/extension.c:796
 #, c-format
 msgid "transaction control statements are not allowed within an extension script"
 msgstr "Transaktionskontrollanweisungen sind nicht in einem Erweiterungsskript erlaubt"
 
-#: commands/extension.c:861
+#: commands/extension.c:873
 #, c-format
 msgid "permission denied to create extension \"%s\""
 msgstr "keine Berechtigung, um Erweiterung »%s« zu erzeugen"
 
-#: commands/extension.c:864
+#: commands/extension.c:876
 #, c-format
 msgid "Must have CREATE privilege on current database to create this extension."
 msgstr "CREATE-Privileg für die aktuelle Datenbank wird benötigt, um diese Erweiterung anzulegen."
 
-#: commands/extension.c:865
+#: commands/extension.c:877
 #, c-format
 msgid "Must be superuser to create this extension."
 msgstr "Nur Superuser können diese Erweiterung anlegen."
 
-#: commands/extension.c:869
+#: commands/extension.c:881
 #, c-format
 msgid "permission denied to update extension \"%s\""
 msgstr "keine Berechtigung, um Erweiterung »%s« zu aktualisieren"
 
-#: commands/extension.c:872
+#: commands/extension.c:884
 #, c-format
 msgid "Must have CREATE privilege on current database to update this extension."
 msgstr "CREATE-Privileg für die aktuelle Datenbank wird benötigt, um diese Erweiterung zu aktualisieren."
 
-#: commands/extension.c:873
+#: commands/extension.c:885
 #, c-format
 msgid "Must be superuser to update this extension."
 msgstr "Nur Superuser können diese Erweiterung aktualisieren."
 
-#: commands/extension.c:1200
+#: commands/extension.c:1212
 #, c-format
 msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\""
 msgstr "Erweiterung »%s« hat keinen Aktualisierungspfad von Version »%s« auf Version »%s«"
 
-#: commands/extension.c:1408 commands/extension.c:3074
+#: commands/extension.c:1420 commands/extension.c:2990
 #, c-format
 msgid "version to install must be specified"
 msgstr "die zu installierende Version muss angegeben werden"
 
-#: commands/extension.c:1445
+#: commands/extension.c:1457
 #, c-format
 msgid "extension \"%s\" has no installation script nor update path for version \"%s\""
 msgstr "Erweiterung »%s« hat kein Installationsskript und keinen Aktualisierungspfad für Version »%s«"
 
-#: commands/extension.c:1479
+#: commands/extension.c:1491
 #, c-format
 msgid "extension \"%s\" must be installed in schema \"%s\""
 msgstr "Erweiterung »%s« muss in Schema »%s« installiert werden"
 
-#: commands/extension.c:1639
+#: commands/extension.c:1651
 #, c-format
 msgid "cyclic dependency detected between extensions \"%s\" and \"%s\""
 msgstr "zyklische Abhängigkeit zwischen Erweiterungen »%s« und »%s« entdeckt"
 
-#: commands/extension.c:1644
+#: commands/extension.c:1656
 #, c-format
 msgid "installing required extension \"%s\""
 msgstr "installiere benötigte Erweiterung »%s«"
 
-#: commands/extension.c:1667
+#: commands/extension.c:1679
 #, c-format
 msgid "required extension \"%s\" is not installed"
 msgstr "benötigte Erweiterung »%s« ist nicht installiert"
 
-#: commands/extension.c:1670
+#: commands/extension.c:1682
 #, c-format
 msgid "Use CREATE EXTENSION ... CASCADE to install required extensions too."
 msgstr "Verwenden Sie CREATE EXTENSION ... CASCADE, um die benötigten Erweiterungen ebenfalls zu installieren."
 
-#: commands/extension.c:1705
+#: commands/extension.c:1717
 #, c-format
 msgid "extension \"%s\" already exists, skipping"
 msgstr "Erweiterung »%s« existiert bereits, wird übersprungen"
 
-#: commands/extension.c:1712
+#: commands/extension.c:1724
 #, c-format
 msgid "extension \"%s\" already exists"
 msgstr "Erweiterung »%s« existiert bereits"
 
-#: commands/extension.c:1723
+#: commands/extension.c:1735
 #, c-format
 msgid "nested CREATE EXTENSION is not supported"
 msgstr "geschachteltes CREATE EXTENSION wird nicht unterstützt"
 
-#: commands/extension.c:1896
+#: commands/extension.c:1899
 #, c-format
 msgid "cannot drop extension \"%s\" because it is being modified"
 msgstr "Erweiterung »%s« kann nicht gelöscht werden, weil sie gerade geändert wird"
 
-#: commands/extension.c:2457
+#: commands/extension.c:2376
 #, c-format
 msgid "%s can only be called from an SQL script executed by CREATE EXTENSION"
 msgstr "%s kann nur von einem SQL-Skript aufgerufen werden, das von CREATE EXTENSION ausgeführt wird"
 
-#: commands/extension.c:2469
+#: commands/extension.c:2388
 #, c-format
 msgid "OID %u does not refer to a table"
 msgstr "OID %u bezieht sich nicht auf eine Tabelle"
 
-#: commands/extension.c:2474
+#: commands/extension.c:2393
 #, c-format
 msgid "table \"%s\" is not a member of the extension being created"
 msgstr "Tabelle »%s« ist kein Mitglied der anzulegenden Erweiterung"
 
-#: commands/extension.c:2828
+#: commands/extension.c:2747
 #, c-format
 msgid "cannot move extension \"%s\" into schema \"%s\" because the extension contains the schema"
 msgstr "kann Erweiterung »%s« nicht in Schema »%s« verschieben, weil die Erweiterung das Schema enthält"
 
-#: commands/extension.c:2869 commands/extension.c:2932
+#: commands/extension.c:2788 commands/extension.c:2851
 #, c-format
 msgid "extension \"%s\" does not support SET SCHEMA"
 msgstr "Erweiterung »%s« unterstützt SET SCHEMA nicht"
 
-#: commands/extension.c:2934
+#: commands/extension.c:2853
 #, c-format
 msgid "%s is not in the extension's schema \"%s\""
 msgstr "%s ist nicht im Schema der Erweiterung (»%s«)"
 
-#: commands/extension.c:2993
+#: commands/extension.c:2912
 #, c-format
 msgid "nested ALTER EXTENSION is not supported"
 msgstr "geschachteltes ALTER EXTENSION wird nicht unterstützt"
 
-#: commands/extension.c:3085
+#: commands/extension.c:3001
 #, c-format
 msgid "version \"%s\" of extension \"%s\" is already installed"
 msgstr "Version »%s« von Erweiterung »%s« ist bereits installiert"
 
-#: commands/extension.c:3297
+#: commands/extension.c:3213
 #, c-format
 msgid "cannot add an object of this type to an extension"
 msgstr "ein Objekt dieses Typs kann nicht zu einer Erweiterung hinzugefügt werden"
 
-#: commands/extension.c:3355
+#: commands/extension.c:3279
 #, c-format
 msgid "cannot add schema \"%s\" to extension \"%s\" because the schema contains the extension"
 msgstr "kann Schema »%s« nicht zu Erweiterung »%s« hinzufügen, weil das Schema die Erweiterung enthält"
 
-#: commands/extension.c:3383
+#: commands/extension.c:3307
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s ist kein Mitglied der Erweiterung »%s«"
 
-#: commands/extension.c:3449
+#: commands/extension.c:3373
 #, c-format
 msgid "file \"%s\" is too large"
 msgstr "Datei »%s« ist zu groß"
@@ -7498,448 +7781,458 @@ msgstr "Nur Superuser können den Eigentümer eines Fremddaten-Wrappers ändern.
 msgid "The owner of a foreign-data wrapper must be a superuser."
 msgstr "Der Eigentümer eines Fremddaten-Wrappers muss ein Superuser sein."
 
-#: commands/foreigncmds.c:291 commands/foreigncmds.c:711 foreign/foreign.c:701
+#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:669
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist"
 msgstr "Fremddaten-Wrapper »%s« existiert nicht"
 
-#: commands/foreigncmds.c:584
+#: commands/foreigncmds.c:580
 #, c-format
 msgid "permission denied to create foreign-data wrapper \"%s\""
 msgstr "keine Berechtigung, um Fremddaten-Wrapper »%s« zu erzeugen"
 
-#: commands/foreigncmds.c:586
+#: commands/foreigncmds.c:582
 #, c-format
 msgid "Must be superuser to create a foreign-data wrapper."
 msgstr "Nur Superuser können Fremddaten-Wrapper anlegen."
 
-#: commands/foreigncmds.c:701
+#: commands/foreigncmds.c:697
 #, c-format
 msgid "permission denied to alter foreign-data wrapper \"%s\""
 msgstr "keine Berechtigung, um Fremddaten-Wrapper »%s« zu ändern"
 
-#: commands/foreigncmds.c:703
+#: commands/foreigncmds.c:699
 #, c-format
 msgid "Must be superuser to alter a foreign-data wrapper."
 msgstr "Nur Superuser können Fremddaten-Wrapper ändern."
 
-#: commands/foreigncmds.c:734
+#: commands/foreigncmds.c:730
 #, c-format
 msgid "changing the foreign-data wrapper handler can change behavior of existing foreign tables"
 msgstr "das Ändern des Handlers des Fremddaten-Wrappers kann das Verhalten von bestehenden Fremdtabellen verändern"
 
-#: commands/foreigncmds.c:749
+#: commands/foreigncmds.c:745
 #, c-format
 msgid "changing the foreign-data wrapper validator can cause the options for dependent objects to become invalid"
 msgstr "durch Ändern des Validators des Fremddaten-Wrappers können die Optionen von abhängigen Objekten ungültig werden"
 
-#: commands/foreigncmds.c:871
+#: commands/foreigncmds.c:867
 #, c-format
 msgid "server \"%s\" already exists, skipping"
 msgstr "Server »%s« existiert bereits, wird übersprungen"
 
-#: commands/foreigncmds.c:1135
+#: commands/foreigncmds.c:1131
 #, c-format
 msgid "user mapping for \"%s\" already exists for server \"%s\", skipping"
 msgstr "Benutzerabbildung für »%s« existiert bereits für Server »%s«, wird übersprungen"
 
-#: commands/foreigncmds.c:1145
+#: commands/foreigncmds.c:1141
 #, c-format
 msgid "user mapping for \"%s\" already exists for server \"%s\""
 msgstr "Benutzerabbildung für »%s« existiert bereits für Server »%s«"
 
-#: commands/foreigncmds.c:1245 commands/foreigncmds.c:1365
+#: commands/foreigncmds.c:1241 commands/foreigncmds.c:1361
 #, c-format
 msgid "user mapping for \"%s\" does not exist for server \"%s\""
 msgstr "Benutzerabbildung für »%s« existiert nicht für Server »%s«"
 
-#: commands/foreigncmds.c:1370
+#: commands/foreigncmds.c:1366
 #, c-format
 msgid "user mapping for \"%s\" does not exist for server \"%s\", skipping"
 msgstr "Benutzerabbildung für »%s« existiert nicht für Server »%s«, wird übersprungen"
 
-#: commands/foreigncmds.c:1498 foreign/foreign.c:389
+#: commands/foreigncmds.c:1494 foreign/foreign.c:390
 #, c-format
 msgid "foreign-data wrapper \"%s\" has no handler"
 msgstr "Fremddaten-Wrapper »%s« hat keinen Handler"
 
-#: commands/foreigncmds.c:1504
+#: commands/foreigncmds.c:1500
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not support IMPORT FOREIGN SCHEMA"
 msgstr "Fremddaten-Wrapper »%s« unterstützt IMPORT FOREIGN SCHEMA nicht"
 
-#: commands/foreigncmds.c:1607
+#: commands/foreigncmds.c:1602
 #, c-format
 msgid "importing foreign table \"%s\""
 msgstr "importiere Fremdtabelle »%s«"
 
-#: commands/functioncmds.c:108
+#: commands/functioncmds.c:109
 #, c-format
 msgid "SQL function cannot return shell type %s"
 msgstr "SQL-Funktion kann keinen Hüllen-Rückgabetyp %s haben"
 
-#: commands/functioncmds.c:113
+#: commands/functioncmds.c:114
 #, c-format
 msgid "return type %s is only a shell"
 msgstr "Rückgabetyp %s ist nur eine Hülle"
 
-#: commands/functioncmds.c:143 parser/parse_type.c:354
+#: commands/functioncmds.c:144 parser/parse_type.c:354
 #, c-format
 msgid "type modifier cannot be specified for shell type \"%s\""
 msgstr "Typmodifikator kann für Hüllentyp »%s« nicht angegeben werden"
 
-#: commands/functioncmds.c:149
+#: commands/functioncmds.c:150
 #, c-format
 msgid "type \"%s\" is not yet defined"
 msgstr "Typ »%s« ist noch nicht definiert"
 
-#: commands/functioncmds.c:150
+#: commands/functioncmds.c:151
 #, c-format
 msgid "Creating a shell type definition."
 msgstr "Hüllentypdefinition wird erzeugt."
 
-#: commands/functioncmds.c:244
+#: commands/functioncmds.c:250
 #, c-format
 msgid "SQL function cannot accept shell type %s"
 msgstr "SQL-Funktion kann keinen Hüllentyp %s annehmen"
 
-#: commands/functioncmds.c:250
+#: commands/functioncmds.c:256
 #, c-format
 msgid "aggregate cannot accept shell type %s"
 msgstr "Aggregatfunktion kann keinen Hüllentyp %s annehmen"
 
-#: commands/functioncmds.c:255
+#: commands/functioncmds.c:261
 #, c-format
 msgid "argument type %s is only a shell"
 msgstr "Argumenttyp %s ist nur eine Hülle"
 
-#: commands/functioncmds.c:265
+#: commands/functioncmds.c:271
 #, c-format
 msgid "type %s does not exist"
 msgstr "Typ %s existiert nicht"
 
-#: commands/functioncmds.c:279
+#: commands/functioncmds.c:285
 #, c-format
 msgid "aggregates cannot accept set arguments"
 msgstr "Aggregatfunktionen können keine SETOF-Argumente haben"
 
-#: commands/functioncmds.c:283
+#: commands/functioncmds.c:289
 #, c-format
 msgid "procedures cannot accept set arguments"
 msgstr "Prozeduren können keine SETOF-Argumente haben"
 
-#: commands/functioncmds.c:287
+#: commands/functioncmds.c:293
 #, c-format
 msgid "functions cannot accept set arguments"
 msgstr "Funktionen können keine SETOF-Argumente haben"
 
-#: commands/functioncmds.c:307
+#: commands/functioncmds.c:303
+#, c-format
+msgid "VARIADIC parameter must be the last input parameter"
+msgstr "VARIADIC-Parameter muss der letzte Eingabeparameter sein"
+
+#: commands/functioncmds.c:323
 #, c-format
-msgid "VARIADIC parameter must be the last signature parameter"
-msgstr "VARIADIC-Parameter muss der letzte Signaturparameter sein"
+msgid "VARIADIC parameter must be the last parameter"
+msgstr "VARIADIC-Parameter muss der letzte Parameter sein"
 
-#: commands/functioncmds.c:337
+#: commands/functioncmds.c:348
 #, c-format
 msgid "VARIADIC parameter must be an array"
 msgstr "VARIADIC-Parameter muss ein Array sein"
 
-#: commands/functioncmds.c:377
+#: commands/functioncmds.c:393
 #, c-format
 msgid "parameter name \"%s\" used more than once"
 msgstr "Parametername »%s« mehrmals angegeben"
 
-#: commands/functioncmds.c:395
+#: commands/functioncmds.c:411
 #, c-format
 msgid "only input parameters can have default values"
 msgstr "nur Eingabeparameter können Vorgabewerte haben"
 
-#: commands/functioncmds.c:410
+#: commands/functioncmds.c:426
 #, c-format
 msgid "cannot use table references in parameter default value"
 msgstr "Tabellenverweise können nicht in Parametervorgabewerten verwendet werden"
 
-#: commands/functioncmds.c:434
+#: commands/functioncmds.c:450
 #, c-format
 msgid "input parameters after one with a default value must also have defaults"
 msgstr "Eingabeparameter hinter einem mit Vorgabewert müssen auch einen Vorgabewert haben"
 
-#: commands/functioncmds.c:586 commands/functioncmds.c:777
+#: commands/functioncmds.c:460
+#, c-format
+msgid "procedure OUT parameters cannot appear after one with a default value"
+msgstr "Prozedur-OUT-Parameter können nicht nach einem Parameter mit Vorgabewert stehen"
+
+#: commands/functioncmds.c:605 commands/functioncmds.c:784
 #, c-format
 msgid "invalid attribute in procedure definition"
 msgstr "ungültiges Attribut in Prozedurdefinition"
 
-#: commands/functioncmds.c:682
+#: commands/functioncmds.c:701
 #, c-format
 msgid "support function %s must return type %s"
 msgstr "Unterstützungsfunktion %s muss Rückgabetyp %s haben"
 
-#: commands/functioncmds.c:693
+#: commands/functioncmds.c:712
 #, c-format
 msgid "must be superuser to specify a support function"
 msgstr "nur Superuser können eine Support-Funktion angeben"
 
-#: commands/functioncmds.c:826 commands/functioncmds.c:1430
+#: commands/functioncmds.c:833 commands/functioncmds.c:1439
 #, c-format
 msgid "COST must be positive"
 msgstr "COST muss positiv sein"
 
-#: commands/functioncmds.c:834 commands/functioncmds.c:1438
+#: commands/functioncmds.c:841 commands/functioncmds.c:1447
 #, c-format
 msgid "ROWS must be positive"
 msgstr "ROWS muss positiv sein"
 
-#: commands/functioncmds.c:863
+#: commands/functioncmds.c:870
 #, c-format
 msgid "no function body specified"
 msgstr "kein Funktionskörper angegeben"
 
-#: commands/functioncmds.c:868
+#: commands/functioncmds.c:875
 #, c-format
 msgid "duplicate function body specified"
 msgstr "doppelter Funktionskörper angegeben"
 
-#: commands/functioncmds.c:873
+#: commands/functioncmds.c:880
 #, c-format
 msgid "inline SQL function body only valid for language SQL"
 msgstr "Inline-SQL-Funktionskörper ist nur gültig für Sprache SQL"
 
-#: commands/functioncmds.c:915
+#: commands/functioncmds.c:922
 #, c-format
 msgid "SQL function with unquoted function body cannot have polymorphic arguments"
 msgstr "SQL-Funktion mit Funktionsrumpf nicht in Anführungszeichen kann keine polymorphen Argumente haben"
 
-#: commands/functioncmds.c:941 commands/functioncmds.c:960
+#: commands/functioncmds.c:948 commands/functioncmds.c:967
 #, c-format
 msgid "%s is not yet supported in unquoted SQL function body"
 msgstr "%s ist in SQL-Funktionen nicht in Anführungszeichen noch nicht erlaubt"
 
-#: commands/functioncmds.c:988
+#: commands/functioncmds.c:995
 #, c-format
 msgid "only one AS item needed for language \"%s\""
 msgstr "nur ein AS-Element benötigt für Sprache »%s«"
 
-#: commands/functioncmds.c:1093
+#: commands/functioncmds.c:1100
 #, c-format
 msgid "no language specified"
 msgstr "keine Sprache angegeben"
 
-#: commands/functioncmds.c:1101 commands/functioncmds.c:2103
+#: commands/functioncmds.c:1108 commands/functioncmds.c:2109
 #: commands/proclang.c:237
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "Sprache »%s« existiert nicht"
 
-#: commands/functioncmds.c:1103 commands/functioncmds.c:2105
+#: commands/functioncmds.c:1110 commands/functioncmds.c:2111
 #, c-format
 msgid "Use CREATE EXTENSION to load the language into the database."
 msgstr "Verwenden Sie CREATE EXTENSION, um die Sprache in die Datenbank zu laden."
 
-#: commands/functioncmds.c:1138 commands/functioncmds.c:1422
+#: commands/functioncmds.c:1145 commands/functioncmds.c:1431
 #, c-format
 msgid "only superuser can define a leakproof function"
 msgstr "nur Superuser können eine »leakproof«-Funktion definieren"
 
-#: commands/functioncmds.c:1189
+#: commands/functioncmds.c:1196
 #, c-format
 msgid "function result type must be %s because of OUT parameters"
 msgstr "Ergebnistyp der Funktion muss %s sein wegen OUT-Parametern"
 
-#: commands/functioncmds.c:1202
+#: commands/functioncmds.c:1209
 #, c-format
 msgid "function result type must be specified"
 msgstr "Ergebnistyp der Funktion muss angegeben werden"
 
-#: commands/functioncmds.c:1256 commands/functioncmds.c:1442
+#: commands/functioncmds.c:1263 commands/functioncmds.c:1451
 #, c-format
 msgid "ROWS is not applicable when function does not return a set"
 msgstr "ROWS ist nicht anwendbar, wenn die Funktion keine Ergebnismenge zurückgibt"
 
-#: commands/functioncmds.c:1542
+#: commands/functioncmds.c:1552
 #, c-format
 msgid "source data type %s is a pseudo-type"
 msgstr "Quelldatentyp %s ist ein Pseudotyp"
 
-#: commands/functioncmds.c:1548
+#: commands/functioncmds.c:1558
 #, c-format
 msgid "target data type %s is a pseudo-type"
 msgstr "Zieldatentyp %s ist ein Pseudotyp"
 
-#: commands/functioncmds.c:1572
+#: commands/functioncmds.c:1582
 #, c-format
 msgid "cast will be ignored because the source data type is a domain"
 msgstr "Typumwandlung wird ignoriert werden, weil der Quelldatentyp eine Domäne ist"
 
-#: commands/functioncmds.c:1577
+#: commands/functioncmds.c:1587
 #, c-format
 msgid "cast will be ignored because the target data type is a domain"
 msgstr "Typumwandlung wird ignoriert werden, weil der Zieldatentyp eine Domäne ist"
 
-#: commands/functioncmds.c:1602
+#: commands/functioncmds.c:1612
 #, c-format
 msgid "cast function must take one to three arguments"
 msgstr "Typumwandlungsfunktion muss ein bis drei Argumente haben"
 
-#: commands/functioncmds.c:1606
+#: commands/functioncmds.c:1616
 #, c-format
 msgid "argument of cast function must match or be binary-coercible from source data type"
 msgstr "Argument der Typumwandlungsfunktion muss mit Quelldatentyp übereinstimmen oder in ihn binär-umwandelbar sein"
 
-#: commands/functioncmds.c:1610
+#: commands/functioncmds.c:1620
 #, c-format
 msgid "second argument of cast function must be type %s"
 msgstr "zweites Argument der Typumwandlungsfunktion muss Typ %s haben"
 
-#: commands/functioncmds.c:1615
+#: commands/functioncmds.c:1625
 #, c-format
 msgid "third argument of cast function must be type %s"
 msgstr "drittes Argument der Typumwandlungsfunktion muss Typ %s haben"
 
-#: commands/functioncmds.c:1620
+#: commands/functioncmds.c:1630
 #, c-format
 msgid "return data type of cast function must match or be binary-coercible to target data type"
 msgstr "Rückgabetyp der Typumwandlungsfunktion muss mit Zieldatentyp übereinstimmen oder in ihn binär-umwandelbar sein"
 
-#: commands/functioncmds.c:1631
+#: commands/functioncmds.c:1641
 #, c-format
 msgid "cast function must not be volatile"
 msgstr "Typumwandlungsfunktion darf nicht VOLATILE sein"
 
-#: commands/functioncmds.c:1636
+#: commands/functioncmds.c:1646
 #, c-format
 msgid "cast function must be a normal function"
 msgstr "Typumwandlungsfunktion muss eine normale Funktion sein"
 
-#: commands/functioncmds.c:1640
+#: commands/functioncmds.c:1650
 #, c-format
 msgid "cast function must not return a set"
 msgstr "Typumwandlungsfunktion darf keine Ergebnismenge zurückgeben"
 
-#: commands/functioncmds.c:1666
+#: commands/functioncmds.c:1676
 #, c-format
 msgid "must be superuser to create a cast WITHOUT FUNCTION"
 msgstr "nur Superuser können Typumwandlungen mit WITHOUT FUNCTION erzeugen"
 
-#: commands/functioncmds.c:1681
+#: commands/functioncmds.c:1691
 #, c-format
 msgid "source and target data types are not physically compatible"
 msgstr "Quelldatentyp und Zieldatentyp sind nicht physikalisch kompatibel"
 
-#: commands/functioncmds.c:1696
+#: commands/functioncmds.c:1706
 #, c-format
 msgid "composite data types are not binary-compatible"
 msgstr "zusammengesetzte Datentypen sind nicht binärkompatibel"
 
-#: commands/functioncmds.c:1702
+#: commands/functioncmds.c:1712
 #, c-format
 msgid "enum data types are not binary-compatible"
 msgstr "Enum-Datentypen sind nicht binärkompatibel"
 
-#: commands/functioncmds.c:1708
+#: commands/functioncmds.c:1718
 #, c-format
 msgid "array data types are not binary-compatible"
 msgstr "Array-Datentypen sind nicht binärkompatibel"
 
-#: commands/functioncmds.c:1725
+#: commands/functioncmds.c:1735
 #, c-format
 msgid "domain data types must not be marked binary-compatible"
 msgstr "Domänendatentypen dürfen nicht als binärkompatibel markiert werden"
 
-#: commands/functioncmds.c:1735
+#: commands/functioncmds.c:1745
 #, c-format
 msgid "source data type and target data type are the same"
 msgstr "Quelldatentyp und Zieldatentyp sind der selbe"
 
-#: commands/functioncmds.c:1768
+#: commands/functioncmds.c:1778
 #, c-format
 msgid "transform function must not be volatile"
 msgstr "Transformationsfunktion darf nicht VOLATILE sein"
 
-#: commands/functioncmds.c:1772
+#: commands/functioncmds.c:1782
 #, c-format
 msgid "transform function must be a normal function"
 msgstr "Transformationsfunktion muss eine normale Funktion sein"
 
-#: commands/functioncmds.c:1776
+#: commands/functioncmds.c:1786
 #, c-format
 msgid "transform function must not return a set"
 msgstr "Transformationsfunktion darf keine Ergebnismenge zurückgeben"
 
-#: commands/functioncmds.c:1780
+#: commands/functioncmds.c:1790
 #, c-format
 msgid "transform function must take one argument"
 msgstr "Transformationsfunktion muss ein Argument haben"
 
-#: commands/functioncmds.c:1784
+#: commands/functioncmds.c:1794
 #, c-format
 msgid "first argument of transform function must be type %s"
 msgstr "erstes Argument der Transformationsfunktion muss Typ %s haben"
 
-#: commands/functioncmds.c:1823
+#: commands/functioncmds.c:1833
 #, c-format
 msgid "data type %s is a pseudo-type"
 msgstr "Datentyp %s ist ein Pseudotyp"
 
-#: commands/functioncmds.c:1829
+#: commands/functioncmds.c:1839
 #, c-format
 msgid "data type %s is a domain"
 msgstr "Datentyp %s ist eine Domäne"
 
-#: commands/functioncmds.c:1869
+#: commands/functioncmds.c:1879
 #, c-format
 msgid "return data type of FROM SQL function must be %s"
 msgstr "Rückgabetyp der FROM-SQL-Funktion muss %s sein"
 
-#: commands/functioncmds.c:1895
+#: commands/functioncmds.c:1905
 #, c-format
 msgid "return data type of TO SQL function must be the transform data type"
 msgstr "Rückgabetyp der TO-SQL-Funktion muss der zu transformierende Datentyp sein"
 
-#: commands/functioncmds.c:1924
+#: commands/functioncmds.c:1934
 #, c-format
 msgid "transform for type %s language \"%s\" already exists"
 msgstr "Transformation für Typ %s Sprache »%s« existiert bereits"
 
-#: commands/functioncmds.c:2011
+#: commands/functioncmds.c:2021
 #, c-format
 msgid "transform for type %s language \"%s\" does not exist"
 msgstr "Transformation für Typ %s Sprache »%s« existiert nicht"
 
-#: commands/functioncmds.c:2035
+#: commands/functioncmds.c:2045
 #, c-format
 msgid "function %s already exists in schema \"%s\""
 msgstr "Funktion %s existiert bereits in Schema »%s«"
 
-#: commands/functioncmds.c:2090
+#: commands/functioncmds.c:2096
 #, c-format
 msgid "no inline code specified"
 msgstr "kein Inline-Code angegeben"
 
-#: commands/functioncmds.c:2136
+#: commands/functioncmds.c:2142
 #, c-format
 msgid "language \"%s\" does not support inline code execution"
 msgstr "Sprache »%s« unterstützt das Ausführen von Inline-Code nicht"
 
-#: commands/functioncmds.c:2253
+#: commands/functioncmds.c:2237
 #, 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] "kann nicht mehr als %d Argument an eine Prozedur übergeben"
 msgstr[1] "kann nicht mehr als %d Argumente an eine Prozedur übergeben"
 
-#: commands/indexcmds.c:618
+#: commands/indexcmds.c:619
 #, c-format
 msgid "must specify at least one column"
 msgstr "mindestens eine Spalte muss angegeben werden"
 
-#: commands/indexcmds.c:622
+#: commands/indexcmds.c:623
 #, c-format
 msgid "cannot use more than %d columns in an index"
 msgstr "Index kann nicht mehr als %d Spalten enthalten"
 
-#: commands/indexcmds.c:661
+#: commands/indexcmds.c:666
 #, c-format
-msgid "cannot create index on foreign table \"%s\""
-msgstr "kann keinen Index für Fremdtabelle »%s« erzeugen"
+msgid "cannot create index on relation \"%s\""
+msgstr "kann keinen Index für Relation »%s« erzeugen"
 
 #: commands/indexcmds.c:692
 #, c-format
@@ -7956,12 +8249,12 @@ msgstr "kann keinen Exclusion-Constraint für partitionierte Tabelle »%s« erze
 msgid "cannot create indexes on temporary tables of other sessions"
 msgstr "kann keine Indexe für temporäre Tabellen anderer Sitzungen erzeugen"
 
-#: commands/indexcmds.c:745 commands/tablecmds.c:748 commands/tablespace.c:1185
+#: commands/indexcmds.c:745 commands/tablecmds.c:779 commands/tablespace.c:1226
 #, c-format
 msgid "cannot specify default tablespace for partitioned relations"
 msgstr "für partitionierte Relationen kann kein Standard-Tablespace angegeben werden"
 
-#: commands/indexcmds.c:777 commands/tablecmds.c:783 commands/tablecmds.c:3299
+#: commands/indexcmds.c:777 commands/tablecmds.c:814 commands/tablecmds.c:3302
 #, c-format
 msgid "only shared relations can be placed in pg_global tablespace"
 msgstr "nur geteilte Relationen können in den Tablespace »pg_global« gelegt werden"
@@ -7991,264 +8284,268 @@ msgstr "Zugriffsmethode »%s« unterstützt keine mehrspaltigen Indexe"
 msgid "access method \"%s\" does not support exclusion constraints"
 msgstr "Zugriffsmethode »%s« unterstützt keine Exclusion-Constraints"
 
-#: commands/indexcmds.c:969
+#: commands/indexcmds.c:970
 #, c-format
 msgid "cannot match partition key to an index using access method \"%s\""
 msgstr "Partitionierungsschlüssel kann nicht mit Zugriffsmethode »%s« mit einem Index gepaart werden"
 
-#: commands/indexcmds.c:979
+#: commands/indexcmds.c:980
 #, c-format
 msgid "unsupported %s constraint with partition key definition"
 msgstr "nicht unterstützter %s-Constraint mit Partitionierungsschlüsseldefinition"
 
-#: commands/indexcmds.c:981
+#: commands/indexcmds.c:982
 #, c-format
 msgid "%s constraints cannot be used when partition keys include expressions."
 msgstr "%s-Constraints können nicht verwendet werden, wenn Partitionierungsschlüssel Ausdrücke enthalten."
 
-#: commands/indexcmds.c:1020
+#: commands/indexcmds.c:1021
 #, c-format
 msgid "unique constraint on partitioned table must include all partitioning columns"
 msgstr "Unique-Constraint für partitionierte Tabelle muss alle Partitionierungsspalten enthalten"
 
-#: commands/indexcmds.c:1021
+#: commands/indexcmds.c:1022
 #, c-format
 msgid "%s constraint on table \"%s\" lacks column \"%s\" which is part of the partition key."
 msgstr "Im %s-Constraint in Tabelle »%s« fehlt Spalte »%s«, welche Teil des Partitionierungsschlüssels ist."
 
-#: commands/indexcmds.c:1040 commands/indexcmds.c:1059
+#: commands/indexcmds.c:1041 commands/indexcmds.c:1060
 #, c-format
 msgid "index creation on system columns is not supported"
 msgstr "Indexerzeugung für Systemspalten wird nicht unterstützt"
 
-#: commands/indexcmds.c:1231 tcop/utility.c:1477
+#: commands/indexcmds.c:1254 tcop/utility.c:1518
 #, c-format
 msgid "cannot create unique index on partitioned table \"%s\""
 msgstr "kann keinen Unique Index für partitionierte Tabelle »%s« erzeugen"
 
-#: commands/indexcmds.c:1233 tcop/utility.c:1479
+#: commands/indexcmds.c:1256 tcop/utility.c:1520
 #, c-format
 msgid "Table \"%s\" contains partitions that are foreign tables."
 msgstr "Tabelle »%s« enthält Partitionen, die Fremdtabellen sind."
 
-#: commands/indexcmds.c:1683
+#: commands/indexcmds.c:1726
 #, c-format
 msgid "functions in index predicate must be marked IMMUTABLE"
 msgstr "Funktionen im Indexprädikat müssen als IMMUTABLE markiert sein"
 
-#: commands/indexcmds.c:1749 parser/parse_utilcmd.c:2525
-#: parser/parse_utilcmd.c:2660
+#: commands/indexcmds.c:1792 parser/parse_utilcmd.c:2518
+#: parser/parse_utilcmd.c:2653
 #, c-format
 msgid "column \"%s\" named in key does not exist"
 msgstr "Spalte »%s«, die im Schlüssel verwendet wird, existiert nicht"
 
-#: commands/indexcmds.c:1773 parser/parse_utilcmd.c:1824
+#: commands/indexcmds.c:1816 parser/parse_utilcmd.c:1815
 #, c-format
 msgid "expressions are not supported in included columns"
 msgstr "in eingeschlossenen Spalten werden keine Ausdrücke unterstützt"
 
-#: commands/indexcmds.c:1814
+#: commands/indexcmds.c:1857
 #, c-format
 msgid "functions in index expression must be marked IMMUTABLE"
 msgstr "Funktionen im Indexausdruck müssen als IMMUTABLE markiert sein"
 
-#: commands/indexcmds.c:1829
+#: commands/indexcmds.c:1872
 #, c-format
 msgid "including column does not support a collation"
 msgstr "inkludierte Spalte unterstützt keine Sortierfolge"
 
-#: commands/indexcmds.c:1833
+#: commands/indexcmds.c:1876
 #, c-format
 msgid "including column does not support an operator class"
 msgstr "inkludierte Spalte unterstützt keine Operatorklasse"
 
-#: commands/indexcmds.c:1837
+#: commands/indexcmds.c:1880
 #, c-format
 msgid "including column does not support ASC/DESC options"
 msgstr "inkludierte Spalte unterstützt die Optionen ASC/DESC nicht"
 
-#: commands/indexcmds.c:1841
+#: commands/indexcmds.c:1884
 #, c-format
 msgid "including column does not support NULLS FIRST/LAST options"
 msgstr "inkludierte Spalte unterstützt die Optionen NULLS FIRST/LAST nicht"
 
-#: commands/indexcmds.c:1868
+#: commands/indexcmds.c:1911
 #, c-format
 msgid "could not determine which collation to use for index expression"
 msgstr "konnte die für den Indexausdruck zu verwendende Sortierfolge nicht bestimmen"
 
-#: commands/indexcmds.c:1876 commands/tablecmds.c:16802 commands/typecmds.c:810
-#: parser/parse_expr.c:2680 parser/parse_type.c:566 parser/parse_utilcmd.c:3813
-#: utils/adt/misc.c:599
+#: commands/indexcmds.c:1919 commands/tablecmds.c:17420 commands/typecmds.c:807
+#: parser/parse_expr.c:2744 parser/parse_type.c:570 parser/parse_utilcmd.c:3785
+#: utils/adt/misc.c:601
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "Sortierfolgen werden von Typ %s nicht unterstützt"
 
-#: commands/indexcmds.c:1914
+#: commands/indexcmds.c:1957
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "Operator %s ist nicht kommutativ"
 
-#: commands/indexcmds.c:1916
+#: commands/indexcmds.c:1959
 #, c-format
 msgid "Only commutative operators can be used in exclusion constraints."
 msgstr "In Exclusion-Constraints können nur kommutative Operatoren verwendet werden."
 
-#: commands/indexcmds.c:1942
+#: commands/indexcmds.c:1985
 #, c-format
 msgid "operator %s is not a member of operator family \"%s\""
 msgstr "Operator %s ist kein Mitglied der Operatorfamilie »%s«"
 
-#: commands/indexcmds.c:1945
+#: commands/indexcmds.c:1988
 #, c-format
 msgid "The exclusion operator must be related to the index operator class for the constraint."
 msgstr "Der Exklusionsoperator muss in Beziehung zur Indexoperatorklasse des Constraints stehen."
 
-#: commands/indexcmds.c:1980
+#: commands/indexcmds.c:2023
 #, c-format
 msgid "access method \"%s\" does not support ASC/DESC options"
 msgstr "Zugriffsmethode »%s« unterstützt die Optionen ASC/DESC nicht"
 
-#: commands/indexcmds.c:1985
+#: commands/indexcmds.c:2028
 #, c-format
 msgid "access method \"%s\" does not support NULLS FIRST/LAST options"
 msgstr "Zugriffsmethode »%s« unterstützt die Optionen NULLS FIRST/LAST nicht"
 
-#: commands/indexcmds.c:2031 commands/tablecmds.c:16827
-#: commands/tablecmds.c:16833 commands/typecmds.c:2318
+#: commands/indexcmds.c:2074 commands/tablecmds.c:17445
+#: commands/tablecmds.c:17451 commands/typecmds.c:2302
 #, c-format
 msgid "data type %s has no default operator class for access method \"%s\""
 msgstr "Datentyp %s hat keine Standardoperatorklasse für Zugriffsmethode »%s«"
 
-#: commands/indexcmds.c:2033
+#: commands/indexcmds.c:2076
 #, c-format
 msgid "You must specify an operator class for the index or define a default operator class for the data type."
 msgstr "Sie müssen für den Index eine Operatorklasse angeben oder eine Standardoperatorklasse für den Datentyp definieren."
 
-#: commands/indexcmds.c:2062 commands/indexcmds.c:2070
+#: commands/indexcmds.c:2105 commands/indexcmds.c:2113
 #: commands/opclasscmds.c:205
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "Operatorklasse »%s« existiert nicht für Zugriffsmethode »%s«"
 
-#: commands/indexcmds.c:2084 commands/typecmds.c:2306
+#: commands/indexcmds.c:2127 commands/typecmds.c:2290
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr "Operatorklasse »%s« akzeptiert Datentyp %s nicht"
 
-#: commands/indexcmds.c:2174
+#: commands/indexcmds.c:2217
 #, c-format
 msgid "there are multiple default operator classes for data type %s"
 msgstr "es gibt mehrere Standardoperatorklassen für Datentyp %s"
 
-#: commands/indexcmds.c:2502
+#: commands/indexcmds.c:2545
 #, c-format
 msgid "unrecognized REINDEX option \"%s\""
 msgstr "unbekannte REINDEX-Option »%s«"
 
-#: commands/indexcmds.c:2726
+#: commands/indexcmds.c:2769
 #, c-format
 msgid "table \"%s\" has no indexes that can be reindexed concurrently"
 msgstr "Tabelle »%s« hat keine Indexe, die nebenläufig reindiziert werden können"
 
-#: commands/indexcmds.c:2740
+#: commands/indexcmds.c:2783
 #, c-format
 msgid "table \"%s\" has no indexes to reindex"
 msgstr "Tabelle »%s« hat keine zu reindizierenden Indexe"
 
-#: commands/indexcmds.c:2780 commands/indexcmds.c:3287
-#: commands/indexcmds.c:3415
+#: commands/indexcmds.c:2823 commands/indexcmds.c:3327
+#: commands/indexcmds.c:3455
 #, c-format
 msgid "cannot reindex system catalogs concurrently"
 msgstr "Systemkataloge können nicht nebenläufig reindiziert werden"
 
-#: commands/indexcmds.c:2803
+#: commands/indexcmds.c:2846
 #, c-format
 msgid "can only reindex the currently open database"
 msgstr "nur die aktuell geöffnete Datenbank kann reindiziert werden"
 
-#: commands/indexcmds.c:2891
+#: commands/indexcmds.c:2934
 #, c-format
 msgid "cannot reindex system catalogs concurrently, skipping all"
 msgstr "Systemkataloge können nicht nebenläufig reindiziert werden, werden alle übersprungen"
 
-#: commands/indexcmds.c:2924
+#: commands/indexcmds.c:2967
 #, c-format
 msgid "cannot move system relations, skipping all"
 msgstr "Systemrelationen können nicht verschoben werden, werden alle übersprungen"
 
-#: commands/indexcmds.c:2971
+#: commands/indexcmds.c:3013
 #, c-format
 msgid "while reindexing partitioned table \"%s.%s\""
 msgstr "beim Reindizieren der partitionierten Tabelle »%s.%s«"
 
-#: commands/indexcmds.c:2974
+#: commands/indexcmds.c:3016
 #, c-format
 msgid "while reindexing partitioned index \"%s.%s\""
 msgstr "beim Reindizieren des partitionierten Index »%s.%s«"
 
-#: commands/indexcmds.c:3167 commands/indexcmds.c:4003
+#: commands/indexcmds.c:3207 commands/indexcmds.c:4063
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "Tabelle »%s.%s« wurde neu indiziert"
 
-#: commands/indexcmds.c:3319 commands/indexcmds.c:3371
+#: commands/indexcmds.c:3359 commands/indexcmds.c:3411
 #, c-format
 msgid "cannot reindex invalid index \"%s.%s\" concurrently, skipping"
 msgstr "ungültiger Index »%s.%s« kann nicht nebenläufig reindizert werden, wird übersprungen"
 
-#: commands/indexcmds.c:3325
+#: commands/indexcmds.c:3365
 #, c-format
 msgid "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping"
 msgstr "Exclusion-Constraint-Index »%s.%s« kann nicht nebenläufig reindizert werden, wird übersprungen"
 
-#: commands/indexcmds.c:3480
+#: commands/indexcmds.c:3520
 #, c-format
 msgid "cannot reindex this type of relation concurrently"
 msgstr "diese Art Relation kann nicht nebenläufig reindiziert werden"
 
-#: commands/indexcmds.c:3501
+#: commands/indexcmds.c:3541
 #, c-format
 msgid "cannot move non-shared relation to tablespace \"%s\""
 msgstr "nicht geteilte Relation kann nicht nach Tablespace »%s« verschoben werden"
 
-#: commands/indexcmds.c:3984 commands/indexcmds.c:3996
+#: commands/indexcmds.c:4044 commands/indexcmds.c:4056
 #, c-format
 msgid "index \"%s.%s\" was reindexed"
 msgstr "Index »%s.%s« wurde neu indiziert"
 
-#: commands/lockcmds.c:92 commands/tablecmds.c:6019 commands/trigger.c:289
-#: rewrite/rewriteDefine.c:271 rewrite/rewriteDefine.c:938
+#: commands/indexcmds.c:4046 commands/indexcmds.c:4065
+#, c-format
+msgid "%s."
+msgstr "%s."
+
+#: commands/lockcmds.c:92
 #, c-format
-msgid "\"%s\" is not a table or view"
-msgstr "»%s« ist keine Tabelle oder Sicht"
+msgid "cannot lock relation \"%s\""
+msgstr "kann Relation »%s« nicht sperren"
 
-#: commands/matview.c:182
+#: commands/matview.c:193
 #, c-format
 msgid "CONCURRENTLY cannot be used when the materialized view is not populated"
 msgstr "CONCURRENTLY kann nicht verwendet werden, wenn die materialisierte Sicht nicht befüllt ist"
 
-#: commands/matview.c:188
+#: commands/matview.c:199 gram.y:19067
 #, c-format
-msgid "CONCURRENTLY and WITH NO DATA options cannot be used together"
-msgstr "Optionen CONCURRENTLY und WITH NO DATA können nicht zusammen verwendet werden"
+msgid "%s and %s options cannot be used together"
+msgstr "Optionen %s und %s können nicht zusammen verwendet werden"
 
-#: commands/matview.c:244
+#: commands/matview.c:256
 #, c-format
 msgid "cannot refresh materialized view \"%s\" concurrently"
 msgstr "kann materialisierte Sicht »%s« nicht nebenläufig auffrischen"
 
-#: commands/matview.c:247
+#: commands/matview.c:259
 #, c-format
 msgid "Create a unique index with no WHERE clause on one or more columns of the materialized view."
 msgstr "Erzeugen Sie einen Unique Index ohne WHERE-Klausel für eine oder mehrere Spalten der materialisierten Sicht."
 
-#: commands/matview.c:652
+#: commands/matview.c:653
 #, c-format
 msgid "new data for materialized view \"%s\" contains duplicate rows without any null columns"
 msgstr "neue Daten für materialisierte Sicht »%s« enthalten doppelte Zeilen ohne Spalten mit NULL-Werten"
 
-#: commands/matview.c:654
+#: commands/matview.c:655
 #, c-format
 msgid "Row: %s"
 msgstr "Zeile: %s"
@@ -8525,58 +8822,53 @@ msgstr "Join-Schätzfunktion %s muss Typ %s zurückgeben"
 msgid "operator attribute \"%s\" cannot be changed"
 msgstr "Operator-Attribut »%s« kann nicht geändert werden"
 
-#: commands/policy.c:88 commands/policy.c:381 commands/policy.c:471
-#: commands/statscmds.c:150 commands/tablecmds.c:1561 commands/tablecmds.c:2150
-#: commands/tablecmds.c:3409 commands/tablecmds.c:5998
-#: commands/tablecmds.c:8860 commands/tablecmds.c:16392
-#: commands/tablecmds.c:16427 commands/trigger.c:295 commands/trigger.c:1271
-#: commands/trigger.c:1380 rewrite/rewriteDefine.c:277
-#: rewrite/rewriteDefine.c:943 rewrite/rewriteRemove.c:80
+#: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:149
+#: commands/tablecmds.c:1607 commands/tablecmds.c:2187
+#: commands/tablecmds.c:3413 commands/tablecmds.c:6281
+#: commands/tablecmds.c:9073 commands/tablecmds.c:17000
+#: commands/tablecmds.c:17035 commands/trigger.c:327 commands/trigger.c:1382
+#: commands/trigger.c:1492 rewrite/rewriteDefine.c:278
+#: rewrite/rewriteDefine.c:945 rewrite/rewriteRemove.c:80
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "keine Berechtigung: »%s« ist ein Systemkatalog"
 
-#: commands/policy.c:171
+#: commands/policy.c:172
 #, c-format
 msgid "ignoring specified roles other than PUBLIC"
 msgstr "angegebene Rollen außer PUBLIC werden ignoriert"
 
-#: commands/policy.c:172
+#: commands/policy.c:173
 #, c-format
 msgid "All roles are members of the PUBLIC role."
 msgstr "Alle Rollen sind Mitglieder der Rolle PUBLIC."
 
-#: commands/policy.c:495
-#, c-format
-msgid "role \"%s\" could not be removed from policy \"%s\" on \"%s\""
-msgstr "Rolle »%s« konnte nicht aus Policy »%s« für »%s« entfernt werden"
-
-#: commands/policy.c:704
+#: commands/policy.c:607
 #, c-format
 msgid "WITH CHECK cannot be applied to SELECT or DELETE"
 msgstr "WITH CHECK kann nicht auf SELECT oder DELETE angewendet werden"
 
-#: commands/policy.c:713 commands/policy.c:1018
+#: commands/policy.c:616 commands/policy.c:921
 #, c-format
 msgid "only WITH CHECK expression allowed for INSERT"
 msgstr "für INSERT sind nur WITH-CHECK-Ausdrücke erlaubt"
 
-#: commands/policy.c:788 commands/policy.c:1241
+#: commands/policy.c:691 commands/policy.c:1144
 #, c-format
 msgid "policy \"%s\" for table \"%s\" already exists"
 msgstr "Policy »%s« für Tabelle »%s« existiert bereits"
 
-#: commands/policy.c:990 commands/policy.c:1269 commands/policy.c:1340
+#: commands/policy.c:893 commands/policy.c:1172 commands/policy.c:1243
 #, c-format
 msgid "policy \"%s\" for table \"%s\" does not exist"
 msgstr "Policy »%s« für Tabelle »%s« existiert nicht"
 
-#: commands/policy.c:1008
+#: commands/policy.c:911
 #, c-format
 msgid "only USING expression allowed for SELECT, DELETE"
 msgstr "für SELECT und DELETE sind nur USING-Ausdrücke erlaubt"
 
-#: commands/portalcmds.c:60 commands/portalcmds.c:187 commands/portalcmds.c:238
+#: commands/portalcmds.c:60 commands/portalcmds.c:181 commands/portalcmds.c:232
 #, c-format
 msgid "invalid cursor name: must not be empty"
 msgstr "ungültiger Cursorname: darf nicht leer sein"
@@ -8586,53 +8878,43 @@ msgstr "ungültiger Cursorname: darf nicht leer sein"
 msgid "cannot create a cursor WITH HOLD within security-restricted operation"
 msgstr "kann WITH-HOLD-Cursor nicht in einer sicherheitsbeschränkten Operation erzeugen"
 
-#: commands/portalcmds.c:195 commands/portalcmds.c:248
-#: executor/execCurrent.c:70 utils/adt/xml.c:2594 utils/adt/xml.c:2764
+#: commands/portalcmds.c:189 commands/portalcmds.c:242
+#: executor/execCurrent.c:70 utils/adt/xml.c:2593 utils/adt/xml.c:2763
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "Cursor »%s« existiert nicht"
 
-#: commands/prepare.c:76
+#: commands/prepare.c:75
 #, c-format
 msgid "invalid statement name: must not be empty"
 msgstr "ungültiger Anweisungsname: darf nicht leer sein"
 
-#: commands/prepare.c:134 parser/parse_param.c:313 tcop/postgres.c:1473
-#, c-format
-msgid "could not determine data type of parameter $%d"
-msgstr "konnte Datentyp von Parameter $%d nicht ermitteln"
-
-#: commands/prepare.c:152
-#, c-format
-msgid "utility statements cannot be prepared"
-msgstr "Utility-Anweisungen können nicht vorbereitet werden"
-
-#: commands/prepare.c:256 commands/prepare.c:261
+#: commands/prepare.c:230 commands/prepare.c:235
 #, c-format
 msgid "prepared statement is not a SELECT"
 msgstr "vorbereitete Anweisung ist kein SELECT"
 
-#: commands/prepare.c:328
+#: commands/prepare.c:295
 #, c-format
 msgid "wrong number of parameters for prepared statement \"%s\""
 msgstr "falsche Anzahl Parameter für vorbereitete Anweisung »%s«"
 
-#: commands/prepare.c:330
+#: commands/prepare.c:297
 #, c-format
 msgid "Expected %d parameters but got %d."
 msgstr "%d Parameter erwartet aber %d erhalten."
 
-#: commands/prepare.c:363
+#: commands/prepare.c:330
 #, c-format
 msgid "parameter $%d of type %s cannot be coerced to the expected type %s"
 msgstr "Parameter $%d mit Typ %s kann nicht in erwarteten Typ %s umgewandelt werden"
 
-#: commands/prepare.c:447
+#: commands/prepare.c:414
 #, c-format
 msgid "prepared statement \"%s\" already exists"
 msgstr "vorbereitete Anweisung »%s« existiert bereits"
 
-#: commands/prepare.c:486
+#: commands/prepare.c:453
 #, c-format
 msgid "prepared statement \"%s\" does not exist"
 msgstr "vorbereitete Anweisung »%s« existiert nicht"
@@ -8642,67 +8924,223 @@ msgstr "vorbereitete Anweisung »%s« existiert nicht"
 msgid "must be superuser to create custom procedural language"
 msgstr "nur Superuser können maßgeschneiderte prozedurale Sprachen erzeugen"
 
-#: commands/publicationcmds.c:107
+#: commands/publicationcmds.c:129
 #, c-format
 msgid "invalid list syntax for \"publish\" option"
 msgstr "ungültige Listensyntax für »publish«-Option"
 
-#: commands/publicationcmds.c:125
+#: commands/publicationcmds.c:147
 #, c-format
 msgid "unrecognized \"publish\" value: \"%s\""
 msgstr "unbekannter »publish«-Wert: »%s«"
 
-#: commands/publicationcmds.c:140
+#: commands/publicationcmds.c:160
 #, c-format
 msgid "unrecognized publication parameter: \"%s\""
 msgstr "unbekannter Publikationsparameter: »%s«"
 
-#: commands/publicationcmds.c:172
+#: commands/publicationcmds.c:201
+#, fuzzy, c-format
+#| msgid "no schema has been selected to create in"
+msgid "no schema has been selected for CURRENT_SCHEMA"
+msgstr "kein Schema für die Objekterzeugung ausgewählt"
+
+#: commands/publicationcmds.c:240
+#, c-format
+msgid "Table \"%s\" in schema \"%s\" is already part of the publication, adding the same schema is not supported."
+msgstr ""
+
+#: commands/publicationcmds.c:246
+#, fuzzy, c-format
+#| msgid "cannot use relation \"%s.%s\" as logical replication target"
+msgid "cannot add relation \"%s.%s\" to publication"
+msgstr "Relation »%s.%s« kann nicht als Ziel für logische Replikation verwendet werden"
+
+#: commands/publicationcmds.c:249
+#, c-format
+msgid "Table's schema \"%s\" is already part of the publication or part of the specified schema list."
+msgstr ""
+
+#: commands/publicationcmds.c:504
+#, fuzzy
+#| msgid "set-returning functions are not allowed in %s"
+msgid "User-defined types are not allowed."
+msgstr "Funktionen mit Ergebnismenge sind in %s nicht erlaubt"
+
+#: commands/publicationcmds.c:507
+#, fuzzy
+#| msgid "set-returning functions are not allowed in %s"
+msgid "User-defined or built-in mutable functions are not allowed."
+msgstr "Funktionen mit Ergebnismenge sind in %s nicht erlaubt"
+
+#: commands/publicationcmds.c:510
+#, fuzzy
+#| msgid "set-returning functions are not allowed in %s"
+msgid "User-defined collations are not allowed."
+msgstr "Funktionen mit Ergebnismenge sind in %s nicht erlaubt"
+
+#: commands/publicationcmds.c:564
+#, fuzzy
+#| msgid "System catalog modifications are currently disallowed."
+msgid "System columns are not allowed."
+msgstr "Änderungen an Systemkatalogen sind gegenwärtig nicht erlaubt."
+
+#: commands/publicationcmds.c:571 commands/publicationcmds.c:576
+#: commands/publicationcmds.c:593
+#, fuzzy
+#| msgid "grouping operations are not allowed in %s"
+msgid "User-defined operators are not allowed."
+msgstr "Gruppieroperationen sind in %s nicht erlaubt"
+
+#: commands/publicationcmds.c:617
+msgid "Expressions only allow columns, constants, built-in operators, built-in data types, built-in collations, and immutable built-in functions."
+msgstr ""
+
+#: commands/publicationcmds.c:631
+#, fuzzy, c-format
+#| msgid "invalid publication_names syntax"
+msgid "invalid publication WHERE expression"
+msgstr "ungültige Syntax für publication_names"
+
+#: commands/publicationcmds.c:684
+#, fuzzy, c-format
+#| msgid "cannot alter constraint \"%s\" on relation \"%s\""
+msgid "cannot use publication WHERE clause for relation \"%s\""
+msgstr "Constraint »%s« von Relation »%s« kann nicht geändert werden"
+
+#: commands/publicationcmds.c:686
+#, fuzzy, c-format
+#| msgid "cannot cluster a partitioned table"
+msgid "WHERE clause cannot be used for a partitioned table when %s is false."
+msgstr "eine partitionierte Tabelle kann nicht geclustert werden"
+
+#: commands/publicationcmds.c:744
+#, fuzzy, c-format
+#| msgid "cannot alter inherited column \"%s\" of relation \"%s\""
+msgid "cannot use publication column list for relation \"%s\""
+msgstr "geerbte Spalte »%s« von Relation »%s« kann nicht geändert werden"
+
+#: commands/publicationcmds.c:746
+#, fuzzy, c-format
+#| msgid "cannot cluster a partitioned table"
+msgid "column list cannot be used for a partitioned table when %s is false."
+msgstr "eine partitionierte Tabelle kann nicht geclustert werden"
+
+#: commands/publicationcmds.c:781
 #, c-format
 msgid "must be superuser to create FOR ALL TABLES publication"
 msgstr "nur Superuser können eine Publikation FOR ALL TABLES erzeugen"
 
-#: commands/publicationcmds.c:248
+#: commands/publicationcmds.c:854
+#, fuzzy, c-format
+#| msgid "must be superuser to create FOR ALL TABLES publication"
+msgid "must be superuser to create FOR ALL TABLES IN SCHEMA publication"
+msgstr "nur Superuser können eine Publikation FOR ALL TABLES erzeugen"
+
+#: commands/publicationcmds.c:893
 #, c-format
 msgid "wal_level is insufficient to publish logical changes"
 msgstr "wal_level ist nicht ausreichend, um logische Veränderungen zu publizieren"
 
-#: commands/publicationcmds.c:249
+#: commands/publicationcmds.c:894
 #, c-format
 msgid "Set wal_level to logical before creating subscriptions."
 msgstr "Setzen Sie wal_level auf »logical« bevor Sie Subskriptionen erzeugen."
 
-#: commands/publicationcmds.c:369
+#: commands/publicationcmds.c:991 commands/publicationcmds.c:999
+#, fuzzy, c-format
+#| msgid "cannot set parameter \"%s\" within security-definer function"
+msgid "cannot set parameter \"%s\" to false for publication \"%s\""
+msgstr "Parameter »%s« kann nicht in einer Security-Definer-Funktion gesetzt werden"
+
+#: commands/publicationcmds.c:994
+#, c-format
+msgid "The publication contains a WHERE clause for partitioned table \"%s\", which is not allowed when \"%s\" is false."
+msgstr ""
+
+#: commands/publicationcmds.c:1002
+#, c-format
+msgid "The publication contains a column list for partitioned table \"%s\", which is not allowed when \"%s\" is false."
+msgstr ""
+
+#: commands/publicationcmds.c:1364
+#, fuzzy, c-format
+#| msgid "must be superuser to set schema of %s"
+msgid "must be superuser to add or set schemas"
+msgstr "nur Superuser können Schema von %s setzen"
+
+#: commands/publicationcmds.c:1373 commands/publicationcmds.c:1381
 #, c-format
 msgid "publication \"%s\" is defined as FOR ALL TABLES"
 msgstr "Publikation »%s« ist als FOR ALL TABLES definiert"
 
-#: commands/publicationcmds.c:371
+#: commands/publicationcmds.c:1375
+#, fuzzy, c-format
+#| msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications."
+msgid "Tables from schema cannot be added to, dropped from, or set on FOR ALL TABLES publications."
+msgstr "In einer FOR-ALL-TABLES-Publikation können keine Tabellen hinzugefügt oder entfernt werden."
+
+#: commands/publicationcmds.c:1383
 #, c-format
 msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications."
 msgstr "In einer FOR-ALL-TABLES-Publikation können keine Tabellen hinzugefügt oder entfernt werden."
 
-#: commands/publicationcmds.c:660
+#: commands/publicationcmds.c:1642 commands/publicationcmds.c:1705
+#, fuzzy, c-format
+#| msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\""
+msgid "conflicting or redundant WHERE clauses for table \"%s\""
+msgstr "widersprüchliche oder überflüssige NULL/NOT NULL-Deklarationen für Spalte »%s«"
+
+#: commands/publicationcmds.c:1649 commands/publicationcmds.c:1717
+#, fuzzy, c-format
+#| msgid "conflicting or redundant options"
+msgid "conflicting or redundant column lists for table \"%s\""
+msgstr "widersprüchliche oder überflüssige Optionen"
+
+#: commands/publicationcmds.c:1851
+#, 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 "Operatorargumenttypen müssen in ALTER OPERATOR FAMILY angegeben werden"
+
+#: commands/publicationcmds.c:1863
 #, c-format
 msgid "relation \"%s\" is not part of the publication"
 msgstr "Relation »%s« ist nicht Teil der Publikation"
 
-#: commands/publicationcmds.c:703
+#: commands/publicationcmds.c:1870
+#, c-format
+msgid "cannot use a WHERE clause when removing a table from a publication"
+msgstr ""
+
+#: commands/publicationcmds.c:1930
+#, fuzzy, c-format
+#| msgid "relation \"%s\" is not part of the publication"
+msgid "tables from schema \"%s\" are not part of the publication"
+msgstr "Relation »%s« ist nicht Teil der Publikation"
+
+#: commands/publicationcmds.c:1973 commands/publicationcmds.c:1980
 #, c-format
 msgid "permission denied to change owner of publication \"%s\""
 msgstr "keine Berechtigung, um Eigentümer der Publikation »%s« zu ändern"
 
-#: commands/publicationcmds.c:705
+#: commands/publicationcmds.c:1975
 #, c-format
 msgid "The owner of a FOR ALL TABLES publication must be a superuser."
 msgstr "Der Eigentümer einer FOR-ALL-TABLES-Publikation muss ein Superuser sein."
 
-#: commands/schemacmds.c:105 commands/schemacmds.c:258
+#: commands/publicationcmds.c:1982
+#, fuzzy, c-format
+#| msgid "The owner of a FOR ALL TABLES publication must be a superuser."
+msgid "The owner of a FOR ALL TABLES IN SCHEMA publication must be a superuser."
+msgstr "Der Eigentümer einer FOR-ALL-TABLES-Publikation muss ein Superuser sein."
+
+#: commands/schemacmds.c:105 commands/schemacmds.c:259
 #, c-format
 msgid "unacceptable schema name \"%s\""
 msgstr "inakzeptabler Schemaname »%s«"
 
-#: commands/schemacmds.c:106 commands/schemacmds.c:259
+#: commands/schemacmds.c:106 commands/schemacmds.c:260
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system schemas."
 msgstr "Der Präfix »pg_« ist für Systemschemas reserviert."
@@ -8712,2206 +9150,2311 @@ msgstr "Der Präfix »pg_« ist für Systemschemas reserviert."
 msgid "schema \"%s\" already exists, skipping"
 msgstr "Schema »%s« existiert bereits, wird übersprungen"
 
-#: commands/seclabel.c:129
+#: commands/seclabel.c:131
 #, c-format
 msgid "no security label providers have been loaded"
 msgstr "es sind keine Security-Label-Provider geladen"
 
-#: commands/seclabel.c:133
+#: commands/seclabel.c:135
 #, c-format
 msgid "must specify provider when multiple security label providers have been loaded"
 msgstr "Provider muss angegeben werden, wenn mehrere Security-Label-Provider geladen sind"
 
-#: commands/seclabel.c:151
+#: commands/seclabel.c:153
 #, c-format
 msgid "security label provider \"%s\" is not loaded"
 msgstr "Security-Label-Provider »%s« ist nicht geladen"
 
-#: commands/seclabel.c:158
+#: commands/seclabel.c:160
 #, c-format
 msgid "security labels are not supported for this type of object"
 msgstr "Security-Labels werden für diese Art Objekt nicht unterstützt"
 
-#: commands/sequence.c:140
-#, c-format
-msgid "unlogged sequences are not supported"
-msgstr "ungeloggte Sequenzen werden nicht unterstützt"
+#: commands/seclabel.c:193
+#, fuzzy, c-format
+#| msgid "cannot alter constraint \"%s\" on relation \"%s\""
+msgid "cannot set security label on relation \"%s\""
+msgstr "Constraint »%s« von Relation »%s« kann nicht geändert werden"
 
-#: commands/sequence.c:709
+#: commands/sequence.c:747
 #, c-format
-msgid "nextval: reached maximum value of sequence \"%s\" (%s)"
-msgstr "nextval: Maximalwert von Sequenz »%s« erreicht (%s)"
+msgid "nextval: reached maximum value of sequence \"%s\" (%lld)"
+msgstr "nextval: Maximalwert von Sequenz »%s« erreicht (%lld)"
 
-#: commands/sequence.c:732
+#: commands/sequence.c:766
 #, c-format
-msgid "nextval: reached minimum value of sequence \"%s\" (%s)"
-msgstr "nextval: Minimalwert von Sequenz »%s« erreicht (%s)"
+msgid "nextval: reached minimum value of sequence \"%s\" (%lld)"
+msgstr "nextval: Minimalwert von Sequenz »%s« erreicht (%lld)"
 
-#: commands/sequence.c:850
+#: commands/sequence.c:884
 #, c-format
 msgid "currval of sequence \"%s\" is not yet defined in this session"
 msgstr "currval von Sequenz »%s« ist in dieser Sitzung noch nicht definiert"
 
-#: commands/sequence.c:869 commands/sequence.c:875
+#: commands/sequence.c:903 commands/sequence.c:909
 #, c-format
 msgid "lastval is not yet defined in this session"
 msgstr "lastval ist in dieser Sitzung noch nicht definiert"
 
-#: commands/sequence.c:963
+#: commands/sequence.c:989
 #, c-format
-msgid "setval: value %s is out of bounds for sequence \"%s\" (%s..%s)"
-msgstr "setval: Wert %s ist außerhalb des gültigen Bereichs von Sequenz »%s« (%s..%s)"
+msgid "setval: value %lld is out of bounds for sequence \"%s\" (%lld..%lld)"
+msgstr "setval: Wert %lld ist außerhalb des gültigen Bereichs von Sequenz »%s« (%lld..%lld)"
 
-#: commands/sequence.c:1359
+#: commands/sequence.c:1357
 #, c-format
 msgid "invalid sequence option SEQUENCE NAME"
 msgstr "ungültige Sequenzoption SEQUENCE NAME"
 
-#: commands/sequence.c:1385
+#: commands/sequence.c:1383
 #, c-format
 msgid "identity column type must be smallint, integer, or bigint"
 msgstr "Typ von Identitätsspalte muss smallint, integer oder bigint sein"
 
-#: commands/sequence.c:1386
+#: commands/sequence.c:1384
 #, c-format
 msgid "sequence type must be smallint, integer, or bigint"
 msgstr "Sequenztyp muss smallint, integer oder bigint sein"
 
-#: commands/sequence.c:1420
+#: commands/sequence.c:1418
 #, c-format
 msgid "INCREMENT must not be zero"
 msgstr "INCREMENT darf nicht null sein"
 
-#: commands/sequence.c:1473
-#, c-format
-msgid "MAXVALUE (%s) is out of range for sequence data type %s"
+#: commands/sequence.c:1466
+#, fuzzy, c-format
+#| msgid "MAXVALUE (%s) is out of range for sequence data type %s"
+msgid "MAXVALUE (%lld) is out of range for sequence data type %s"
 msgstr "MAXVALUE (%s) ist außerhalb des gültigen Bereichs für Sequenzdatentyp %s"
 
-#: commands/sequence.c:1510
-#, c-format
-msgid "MINVALUE (%s) is out of range for sequence data type %s"
+#: commands/sequence.c:1498
+#, fuzzy, c-format
+#| msgid "MINVALUE (%s) is out of range for sequence data type %s"
+msgid "MINVALUE (%lld) is out of range for sequence data type %s"
 msgstr "MINVALUE (%s) ist außerhalb des gültigen Bereichs für Sequenzdatentyp %s"
 
-#: commands/sequence.c:1524
-#, c-format
-msgid "MINVALUE (%s) must be less than MAXVALUE (%s)"
+#: commands/sequence.c:1506
+#, fuzzy, c-format
+#| msgid "MINVALUE (%s) must be less than MAXVALUE (%s)"
+msgid "MINVALUE (%lld) must be less than MAXVALUE (%lld)"
 msgstr "MINVALUE (%s) muss kleiner als MAXVALUE (%s) sein"
 
-#: commands/sequence.c:1551
-#, c-format
-msgid "START value (%s) cannot be less than MINVALUE (%s)"
+#: commands/sequence.c:1527
+#, fuzzy, c-format
+#| msgid "START value (%s) cannot be less than MINVALUE (%s)"
+msgid "START value (%lld) cannot be less than MINVALUE (%lld)"
 msgstr "START-Wert (%s) kann nicht kleiner als MINVALUE (%s) sein"
 
-#: commands/sequence.c:1563
-#, c-format
-msgid "START value (%s) cannot be greater than MAXVALUE (%s)"
+#: commands/sequence.c:1533
+#, fuzzy, c-format
+#| msgid "START value (%s) cannot be greater than MAXVALUE (%s)"
+msgid "START value (%lld) cannot be greater than MAXVALUE (%lld)"
 msgstr "START-Wert (%s) kann nicht größer als MAXVALUE (%s) sein"
 
-#: commands/sequence.c:1593
-#, c-format
-msgid "RESTART value (%s) cannot be less than MINVALUE (%s)"
+#: commands/sequence.c:1557
+#, fuzzy, c-format
+#| msgid "RESTART value (%s) cannot be less than MINVALUE (%s)"
+msgid "RESTART value (%lld) cannot be less than MINVALUE (%lld)"
 msgstr "RESTART-Wert (%s) kann nicht kleiner als MINVALUE (%s) sein"
 
-#: commands/sequence.c:1605
-#, c-format
-msgid "RESTART value (%s) cannot be greater than MAXVALUE (%s)"
+#: commands/sequence.c:1563
+#, fuzzy, c-format
+#| msgid "RESTART value (%s) cannot be greater than MAXVALUE (%s)"
+msgid "RESTART value (%lld) cannot be greater than MAXVALUE (%lld)"
 msgstr "RESTART-Wert (%s) kann nicht größer als MAXVALUE (%s) sein"
 
-#: commands/sequence.c:1620
-#, c-format
-msgid "CACHE (%s) must be greater than zero"
+#: commands/sequence.c:1574
+#, fuzzy, c-format
+#| msgid "CACHE (%s) must be greater than zero"
+msgid "CACHE (%lld) must be greater than zero"
 msgstr "CACHE (%s) muss größer als null sein"
 
-#: commands/sequence.c:1657
+#: commands/sequence.c:1610
 #, c-format
 msgid "invalid OWNED BY option"
 msgstr "ungültige OWNED BY Option"
 
-#: commands/sequence.c:1658
+#: commands/sequence.c:1611
 #, c-format
 msgid "Specify OWNED BY table.column or OWNED BY NONE."
 msgstr "Geben Sie OWNED BY tabelle.spalte oder OWNED BY NONE an."
 
-#: commands/sequence.c:1683
-#, c-format
-msgid "referenced relation \"%s\" is not a table or foreign table"
-msgstr "Relation »%s«, auf die verwiesen wird, ist keine Tabelle oder Fremdtabelle"
+#: commands/sequence.c:1636
+#, fuzzy, c-format
+#| msgid "cannot move system relation \"%s\""
+msgid "sequence cannot be owned by relation \"%s\""
+msgstr "Systemrelation »%s« kann nicht verschoben werden"
 
-#: commands/sequence.c:1690
+#: commands/sequence.c:1644
 #, c-format
 msgid "sequence must have same owner as table it is linked to"
 msgstr "Sequenz muss selben Eigentümer wie die verknüpfte Tabelle haben"
 
-#: commands/sequence.c:1694
+#: commands/sequence.c:1648
 #, c-format
 msgid "sequence must be in same schema as table it is linked to"
 msgstr "Sequenz muss im selben Schema wie die verknüpfte Tabelle sein"
 
-#: commands/sequence.c:1716
+#: commands/sequence.c:1670
 #, c-format
 msgid "cannot change ownership of identity sequence"
 msgstr "kann Eigentümer einer Identitätssequenz nicht ändern"
 
-#: commands/sequence.c:1717 commands/tablecmds.c:13188
-#: commands/tablecmds.c:15817
+#: commands/sequence.c:1671 commands/tablecmds.c:13744
+#: commands/tablecmds.c:16398
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "Sequenz »%s« ist mit Tabelle »%s« verknüpft."
 
-#: commands/statscmds.c:111 commands/statscmds.c:120 tcop/utility.c:1827
+#: commands/statscmds.c:109 commands/statscmds.c:118 tcop/utility.c:1870
 #, c-format
 msgid "only a single relation is allowed in CREATE STATISTICS"
 msgstr "in CREATE STATISTICS ist nur eine einzelne Relation erlaubt"
 
-#: commands/statscmds.c:138
-#, c-format
-msgid "relation \"%s\" is not a table, foreign table, or materialized view"
-msgstr "Relation »%s« ist keine Tabelle, Fremdtabelle oder materialisierte Sicht"
+#: commands/statscmds.c:136
+#, fuzzy, c-format
+#| msgid "cannot rewrite system relation \"%s\""
+msgid "cannot define statistics for relation \"%s\""
+msgstr "Systemrelation »%s« kann nicht neu geschrieben werden"
 
-#: commands/statscmds.c:188
+#: commands/statscmds.c:187
 #, c-format
 msgid "statistics object \"%s\" already exists, skipping"
 msgstr "Statistikobjekt »%s« existiert bereits, wird übersprungen"
 
-#: commands/statscmds.c:196
+#: commands/statscmds.c:195
 #, c-format
 msgid "statistics object \"%s\" already exists"
 msgstr "Statistikobjekt »%s« existiert bereits"
 
-#: commands/statscmds.c:207
+#: commands/statscmds.c:206
 #, c-format
 msgid "cannot have more than %d columns in statistics"
 msgstr "Statistiken können nicht mehr als %d Spalten enthalten"
 
-#: commands/statscmds.c:246
+#: commands/statscmds.c:247 commands/statscmds.c:270 commands/statscmds.c:304
 #, c-format
 msgid "statistics creation on system columns is not supported"
 msgstr "Statistikerzeugung für Systemspalten wird nicht unterstützt"
 
-#: commands/statscmds.c:253
+#: 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 "Spalte »%s« kann nicht in Statistiken verwendet werden, weil ihr Typ %s keine Standardoperatorklasse für btree hat"
 
-#: commands/statscmds.c:282
+#: 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 "Ausdruck kann nicht in multivariaten Statistiken verwendet werden, weil sein Typ %s keine Standardoperatorklasse für btree hat"
 
-#: commands/statscmds.c:303
+#: commands/statscmds.c:342
 #, c-format
 msgid "when building statistics on a single expression, statistics kinds may not be specified"
-msgstr ""
+msgstr "wenn Statistiken für einen einzelnen Ausdruck gebaut werden, kann die Statistikart nicht angegeben werden"
 
-#: commands/statscmds.c:332
+#: commands/statscmds.c:371
 #, c-format
 msgid "unrecognized statistics kind \"%s\""
 msgstr "unbekannte Statistikart »%s«"
 
-#: commands/statscmds.c:361
+#: commands/statscmds.c:400
 #, c-format
 msgid "extended statistics require at least 2 columns"
 msgstr "erweiterte Statistiken benötigen mindestens 2 Spalten"
 
-#: commands/statscmds.c:379
+#: commands/statscmds.c:418
 #, c-format
 msgid "duplicate column name in statistics definition"
 msgstr "doppelter Spaltenname in Statistikdefinition"
 
-#: commands/statscmds.c:414
+#: commands/statscmds.c:453
 #, c-format
 msgid "duplicate expression in statistics definition"
 msgstr "doppelter Ausdruck in Statistikdefinition"
 
-#: commands/statscmds.c:595 commands/tablecmds.c:7830
+#: commands/statscmds.c:616 commands/tablecmds.c:8041
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "Statistikziel %d ist zu niedrig"
 
-#: commands/statscmds.c:603 commands/tablecmds.c:7838
+#: commands/statscmds.c:624 commands/tablecmds.c:8049
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "setze Statistikziel auf %d herab"
 
-#: commands/statscmds.c:626
+#: commands/statscmds.c:647
 #, c-format
 msgid "statistics object \"%s.%s\" does not exist, skipping"
 msgstr "Statistikobjekt »%s.%s« existiert nicht, wird übersprungen"
 
-#: commands/subscriptioncmds.c:221
+#: commands/subscriptioncmds.c:251 commands/subscriptioncmds.c:298
 #, c-format
 msgid "unrecognized subscription parameter: \"%s\""
 msgstr "unbekannter Subskriptionsparameter: »%s«"
 
+#: commands/subscriptioncmds.c:289
+#, fuzzy, c-format
+#| msgid "invalid connection type: %s"
+msgid "invalid WAL location (LSN): %s"
+msgstr "ungültiger Verbindungstyp: %s"
+
 #. translator: both %s are strings of the form "option = value"
-#: commands/subscriptioncmds.c:235 commands/subscriptioncmds.c:241
-#: commands/subscriptioncmds.c:247 commands/subscriptioncmds.c:266
-#: commands/subscriptioncmds.c:272
+#: commands/subscriptioncmds.c:313 commands/subscriptioncmds.c:320
+#: commands/subscriptioncmds.c:327 commands/subscriptioncmds.c:349
+#: commands/subscriptioncmds.c:365
 #, c-format
 msgid "%s and %s are mutually exclusive options"
 msgstr "die Optionen %s und %s schließen einander aus"
 
 #. translator: both %s are strings of the form "option = value"
-#: commands/subscriptioncmds.c:279 commands/subscriptioncmds.c:285
+#: commands/subscriptioncmds.c:355 commands/subscriptioncmds.c:371
 #, c-format
 msgid "subscription with %s must also set %s"
 msgstr "Subskription mit %s muss auch %s setzen"
 
-#: commands/subscriptioncmds.c:378
+#: commands/subscriptioncmds.c:433
+#, fuzzy, c-format
+#| msgid "could not receive list of replicated tables from the publisher: %s"
+msgid "could not receive publication from the publisher: %s"
+msgid_plural "could not receive list of publications from the publisher: %s"
+msgstr[0] "konnte Liste der replizierten Tabellen nicht vom Publikationsserver empfangen: %s"
+msgstr[1] "konnte Liste der replizierten Tabellen nicht vom Publikationsserver empfangen: %s"
+
+#: commands/subscriptioncmds.c:467
+#, fuzzy, c-format
+#| msgid "publication \"%s\" does not exist, skipping"
+msgid "publication %s does not exist in the publisher"
+msgid_plural "publications %s do not exist in the publisher"
+msgstr[0] "Publikation »%s« existiert nicht, wird übersprungen"
+msgstr[1] "Publikation »%s« existiert nicht, wird übersprungen"
+
+#: commands/subscriptioncmds.c:549
 #, c-format
 msgid "must be superuser to create subscriptions"
 msgstr "nur Superuser können Subskriptionen erzeugen"
 
-#: commands/subscriptioncmds.c:471 commands/subscriptioncmds.c:568
-#: replication/logical/tablesync.c:970 replication/logical/worker.c:3143
+#: commands/subscriptioncmds.c:650 commands/subscriptioncmds.c:778
+#: replication/logical/tablesync.c:1238 replication/logical/worker.c:3704
 #, c-format
 msgid "could not connect to the publisher: %s"
 msgstr "konnte nicht mit dem Publikationsserver verbinden: %s"
 
-#: commands/subscriptioncmds.c:513
+#: commands/subscriptioncmds.c:719
 #, c-format
 msgid "created replication slot \"%s\" on publisher"
 msgstr "Replikations-Slot »%s« wurde auf dem Publikationsserver erzeugt"
 
 #. translator: %s is an SQL ALTER statement
-#: commands/subscriptioncmds.c:526
+#: commands/subscriptioncmds.c:732
 #, c-format
 msgid "tables were not subscribed, you will have to run %s to subscribe the tables"
 msgstr "keine Tabellen wurden zur Subskription hinzugefügt; Sie müssen %s ausführen, um Tabellen zur Subskription hinzuzufügen"
 
-#: commands/subscriptioncmds.c:824
+#: commands/subscriptioncmds.c:1035
 #, c-format
 msgid "cannot set %s for enabled subscription"
 msgstr "für eine aktivierte Subskription kann nicht %s gesetzt werden"
 
-#: commands/subscriptioncmds.c:880
+#: commands/subscriptioncmds.c:1088
 #, c-format
 msgid "cannot enable subscription that does not have a slot name"
 msgstr "eine Subskription ohne Slot-Name kann nicht aktiviert werden"
 
-#: commands/subscriptioncmds.c:932 commands/subscriptioncmds.c:980
+#: commands/subscriptioncmds.c:1131 commands/subscriptioncmds.c:1183
 #, c-format
 msgid "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions"
 msgstr "ALTER SUBSCRIPTION mit Refresh ist für deaktivierte Subskriptionen nicht erlaubt"
 
-#: commands/subscriptioncmds.c:933 commands/subscriptioncmds.c:981
+#: commands/subscriptioncmds.c:1132 commands/subscriptioncmds.c:1184
 #, c-format
 msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 msgstr "Verwenden Sie ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 
-#: commands/subscriptioncmds.c:1001
+#: commands/subscriptioncmds.c:1141 commands/subscriptioncmds.c:1193
+#, 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 mit Refresh ist für deaktivierte Subskriptionen nicht erlaubt"
+
+#: commands/subscriptioncmds.c:1142 commands/subscriptioncmds.c:1194
+#, fuzzy, c-format
+#| msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
+msgid "Use ALTER SUBSCRIPTION ...SET PUBLICATION with refresh = false, or with copy_data = false, or use DROP/CREATE SUBSCRIPTION."
+msgstr "Verwenden Sie ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
+
+#: commands/subscriptioncmds.c:1214
 #, c-format
 msgid "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions"
 msgstr "ALTER SUBSCRIPTION ... REFRESH ist für eine deaktivierte Subskription nicht erlaubt"
 
-#: commands/subscriptioncmds.c:1089
+#: commands/subscriptioncmds.c:1239
+#, 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 ist für eine deaktivierte Subskription nicht erlaubt"
+
+#: commands/subscriptioncmds.c:1240
+#, c-format
+msgid "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/CREATE SUBSCRIPTION."
+msgstr ""
+
+#: commands/subscriptioncmds.c:1260
+#, fuzzy, c-format
+#| msgid "must be superuser to set grantor"
+msgid "must be superuser to skip transaction"
+msgstr "nur Superuser können Grantor setzen"
+
+#: commands/subscriptioncmds.c:1280
+#, c-format
+msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X"
+msgstr ""
+
+#: commands/subscriptioncmds.c:1360
 #, c-format
 msgid "subscription \"%s\" does not exist, skipping"
 msgstr "Subskription »%s« existiert nicht, wird übersprungen"
 
-#: commands/subscriptioncmds.c:1341
+#: commands/subscriptioncmds.c:1624
 #, c-format
 msgid "dropped replication slot \"%s\" on publisher"
 msgstr "Replikations-Slot »%s« auf dem Publikationsserver wurde gelöscht"
 
-#: commands/subscriptioncmds.c:1350 commands/subscriptioncmds.c:1357
+#: commands/subscriptioncmds.c:1633 commands/subscriptioncmds.c:1641
 #, c-format
 msgid "could not drop replication slot \"%s\" on publisher: %s"
 msgstr "konnte Replikations-Slot »%s« auf dem Publikationsserver nicht löschen: %s"
 
-#: commands/subscriptioncmds.c:1391
+#: commands/subscriptioncmds.c:1675
 #, c-format
 msgid "permission denied to change owner of subscription \"%s\""
 msgstr "keine Berechtigung, um Eigentümer der Subskription »%s« zu ändern"
 
-#: commands/subscriptioncmds.c:1393
+#: commands/subscriptioncmds.c:1677
 #, c-format
 msgid "The owner of a subscription must be a superuser."
 msgstr "Der Eigentümer einer Subskription muss ein Superuser sein."
 
-#: commands/subscriptioncmds.c:1508
+#: commands/subscriptioncmds.c:1780
 #, c-format
 msgid "could not receive list of replicated tables from the publisher: %s"
 msgstr "konnte Liste der replizierten Tabellen nicht vom Publikationsserver empfangen: %s"
 
-#: commands/subscriptioncmds.c:1572
+#: commands/subscriptioncmds.c:1845
 #, c-format
 msgid "could not connect to publisher when attempting to drop replication slot \"%s\": %s"
 msgstr "konnte beim Versuch den Replikations-Slot »%s« zu löschen nicht mit dem Publikationsserver verbinden: %s"
 
 #. translator: %s is an SQL ALTER command
-#: commands/subscriptioncmds.c:1575
+#: commands/subscriptioncmds.c:1848
 #, c-format
 msgid "Use %s to disassociate the subscription from the slot."
 msgstr "Verwenden Sie %s, um die Subskription vom Slot zu trennen."
 
-#: commands/subscriptioncmds.c:1605
+#: commands/subscriptioncmds.c:1878
 #, c-format
 msgid "publication name \"%s\" used more than once"
 msgstr "Publikationsname »%s« mehrmals angegeben"
 
-#: commands/subscriptioncmds.c:1649
+#: commands/subscriptioncmds.c:1922
 #, c-format
 msgid "publication \"%s\" is already in subscription \"%s\""
 msgstr "Publikation »%s« ist bereits in Subskription »%s«"
 
-#: commands/subscriptioncmds.c:1663
+#: commands/subscriptioncmds.c:1936
 #, c-format
 msgid "publication \"%s\" is not in subscription \"%s\""
 msgstr "Publikation »%s« ist nicht in Subskription »%s«"
 
-#: commands/subscriptioncmds.c:1674
+#: commands/subscriptioncmds.c:1947
 #, c-format
-msgid "subscription must contain at least one publication"
-msgstr "Subskription muss mindestens eine Publikation enthalten"
+msgid "cannot drop all the publications from a subscription"
+msgstr "kann nicht alle Publikationen von einer Subskription löschen"
 
-#: commands/tablecmds.c:241 commands/tablecmds.c:283
+#: commands/tablecmds.c:244 commands/tablecmds.c:286
 #, c-format
 msgid "table \"%s\" does not exist"
 msgstr "Tabelle »%s« existiert nicht"
 
-#: commands/tablecmds.c:242 commands/tablecmds.c:284
+#: commands/tablecmds.c:245 commands/tablecmds.c:287
 #, c-format
 msgid "table \"%s\" does not exist, skipping"
 msgstr "Tabelle »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:244 commands/tablecmds.c:286
+#: commands/tablecmds.c:247 commands/tablecmds.c:289
 msgid "Use DROP TABLE to remove a table."
 msgstr "Verwenden Sie DROP TABLE, um eine Tabelle zu löschen."
 
-#: commands/tablecmds.c:247
+#: commands/tablecmds.c:250
 #, c-format
 msgid "sequence \"%s\" does not exist"
 msgstr "Sequenz »%s« existiert nicht"
 
-#: commands/tablecmds.c:248
+#: commands/tablecmds.c:251
 #, c-format
 msgid "sequence \"%s\" does not exist, skipping"
 msgstr "Sequenz »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:250
+#: commands/tablecmds.c:253
 msgid "Use DROP SEQUENCE to remove a sequence."
 msgstr "Verwenden Sie DROP SEQUENCE, um eine Sequenz zu löschen."
 
-#: commands/tablecmds.c:253
+#: commands/tablecmds.c:256
 #, c-format
 msgid "view \"%s\" does not exist"
 msgstr "Sicht »%s« existiert nicht"
 
-#: commands/tablecmds.c:254
+#: commands/tablecmds.c:257
 #, c-format
 msgid "view \"%s\" does not exist, skipping"
 msgstr "Sicht »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:256
+#: commands/tablecmds.c:259
 msgid "Use DROP VIEW to remove a view."
 msgstr "Verwenden Sie DROP VIEW, um eine Sicht zu löschen."
 
-#: commands/tablecmds.c:259
+#: commands/tablecmds.c:262
 #, c-format
 msgid "materialized view \"%s\" does not exist"
 msgstr "materialisierte Sicht »%s« existiert nicht"
 
-#: commands/tablecmds.c:260
+#: commands/tablecmds.c:263
 #, c-format
 msgid "materialized view \"%s\" does not exist, skipping"
 msgstr "materialisierte Sicht »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:262
+#: commands/tablecmds.c:265
 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view."
 msgstr "Verwenden Sie DROP MATERIALIZED VIEW, um eine materialisierte Sicht zu löschen."
 
-#: commands/tablecmds.c:265 commands/tablecmds.c:289 commands/tablecmds.c:18238
-#: parser/parse_utilcmd.c:2257
+#: commands/tablecmds.c:268 commands/tablecmds.c:292 commands/tablecmds.c:18912
+#: parser/parse_utilcmd.c:2250
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "Index »%s« existiert nicht"
 
-#: commands/tablecmds.c:266 commands/tablecmds.c:290
+#: commands/tablecmds.c:269 commands/tablecmds.c:293
 #, c-format
 msgid "index \"%s\" does not exist, skipping"
 msgstr "Index »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:268 commands/tablecmds.c:292
+#: commands/tablecmds.c:271 commands/tablecmds.c:295
 msgid "Use DROP INDEX to remove an index."
 msgstr "Verwenden Sie DROP INDEX, um einen Index zu löschen."
 
-#: commands/tablecmds.c:273
+#: commands/tablecmds.c:276
 #, c-format
 msgid "\"%s\" is not a type"
 msgstr "»%s« ist kein Typ"
 
-#: commands/tablecmds.c:274
+#: commands/tablecmds.c:277
 msgid "Use DROP TYPE to remove a type."
 msgstr "Verwenden Sie DROP TYPE, um einen Typen zu löschen."
 
-#: commands/tablecmds.c:277 commands/tablecmds.c:13027
-#: commands/tablecmds.c:15520
+#: commands/tablecmds.c:280 commands/tablecmds.c:13583
+#: commands/tablecmds.c:16101
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "Fremdtabelle »%s« existiert nicht"
 
-#: commands/tablecmds.c:278
+#: commands/tablecmds.c:281
 #, c-format
 msgid "foreign table \"%s\" does not exist, skipping"
 msgstr "Fremdtabelle »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:280
+#: commands/tablecmds.c:283
 msgid "Use DROP FOREIGN TABLE to remove a foreign table."
 msgstr "Verwenden Sie DROP FOREIGN TABLE, um eine Fremdtabelle zu löschen."
 
-#: commands/tablecmds.c:664
+#: commands/tablecmds.c:695
 #, c-format
 msgid "ON COMMIT can only be used on temporary tables"
 msgstr "ON COMMIT kann nur mit temporären Tabellen verwendet werden"
 
-#: commands/tablecmds.c:695
+#: commands/tablecmds.c:726
 #, c-format
 msgid "cannot create temporary table within security-restricted operation"
 msgstr "kann temporäre Tabelle nicht in einer sicherheitsbeschränkten Operation erzeugen"
 
-#: commands/tablecmds.c:731 commands/tablecmds.c:14311
+#: commands/tablecmds.c:762 commands/tablecmds.c:14888
 #, c-format
 msgid "relation \"%s\" would be inherited from more than once"
 msgstr "von der Relation »%s« würde mehrmals geerbt werden"
 
-#: commands/tablecmds.c:916
+#: commands/tablecmds.c:947
 #, c-format
 msgid "specifying a table access method is not supported on a partitioned table"
 msgstr "Angabe einer Tabellenzugriffsmethode wird für partitionierte Tabellen nicht unterstützt"
 
-#: commands/tablecmds.c:1012
+#: commands/tablecmds.c:1040
 #, c-format
 msgid "\"%s\" is not partitioned"
 msgstr "»%s« ist nicht partitioniert"
 
-#: commands/tablecmds.c:1107
+#: commands/tablecmds.c:1135
 #, c-format
 msgid "cannot partition using more than %d columns"
 msgstr "Partitionierung kann nicht mehr als %d Spalten verwenden"
 
-#: commands/tablecmds.c:1163
+#: commands/tablecmds.c:1191
 #, c-format
 msgid "cannot create foreign partition of partitioned table \"%s\""
 msgstr "kann keine Fremdpartition der partitionierten Tabelle »%s« erzeugen"
 
-#: commands/tablecmds.c:1165
+#: commands/tablecmds.c:1193
 #, c-format
 msgid "Table \"%s\" contains indexes that are unique."
 msgstr "Tabelle »%s« enthält Unique Indexe."
 
-#: commands/tablecmds.c:1328
+#: commands/tablecmds.c:1356
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects"
 msgstr "DROP INDEX CONCURRENTLY unterstützt das Löschen von mehreren Objekten nicht"
 
-#: commands/tablecmds.c:1332
+#: commands/tablecmds.c:1360
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
 msgstr "DROP INDEX CONCURRENTLY unterstützt kein CASCADE"
 
-#: commands/tablecmds.c:1433
+#: commands/tablecmds.c:1464
 #, c-format
 msgid "cannot drop partitioned index \"%s\" concurrently"
 msgstr "kann partitionierten Index »%s« nicht nebenläufig löschen"
 
-#: commands/tablecmds.c:1705
+#: commands/tablecmds.c:1752
 #, c-format
 msgid "cannot truncate only a partitioned table"
 msgstr "kann nicht nur eine partitionierte Tabelle leeren"
 
-#: commands/tablecmds.c:1706
+#: commands/tablecmds.c:1753
 #, c-format
 msgid "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions directly."
 msgstr "Lassen Sie das Schlüsselwort ONLY weg oder wenden Sie TRUNCATE ONLY direkt auf die Partitionen an."
 
-#: commands/tablecmds.c:1779
+#: commands/tablecmds.c:1825
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "Truncate-Vorgang leert ebenfalls Tabelle »%s«"
 
-#: commands/tablecmds.c:2138
+#: commands/tablecmds.c:2175
 #, c-format
 msgid "cannot truncate foreign table \"%s\""
 msgstr "kann Fremdtabelle »%s« nicht leeren"
 
-#: commands/tablecmds.c:2187
+#: commands/tablecmds.c:2224
 #, c-format
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht leeren"
 
-#: commands/tablecmds.c:2449 commands/tablecmds.c:14208
+#: commands/tablecmds.c:2452 commands/tablecmds.c:14785
 #, c-format
 msgid "cannot inherit from partitioned table \"%s\""
 msgstr "von partitionierter Tabelle »%s« kann nicht geerbt werden"
 
-#: commands/tablecmds.c:2454
+#: commands/tablecmds.c:2457
 #, c-format
 msgid "cannot inherit from partition \"%s\""
 msgstr "von Partition »%s« kann nicht geerbt werden"
 
-#: commands/tablecmds.c:2462 parser/parse_utilcmd.c:2487
-#: parser/parse_utilcmd.c:2629
+#: commands/tablecmds.c:2465 parser/parse_utilcmd.c:2480
+#: parser/parse_utilcmd.c:2622
 #, c-format
 msgid "inherited relation \"%s\" is not a table or foreign table"
 msgstr "geerbte Relation »%s« ist keine Tabelle oder Fremdtabelle"
 
-#: commands/tablecmds.c:2474
+#: commands/tablecmds.c:2477
 #, c-format
 msgid "cannot create a temporary relation as partition of permanent relation \"%s\""
 msgstr "eine temporäre Relation kann nicht als Partition der permanenten Relation »%s« erzeugt werden"
 
-#: commands/tablecmds.c:2483 commands/tablecmds.c:14187
+#: commands/tablecmds.c:2486 commands/tablecmds.c:14764
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "von temporärer Relation »%s« kann nicht geerbt werden"
 
-#: commands/tablecmds.c:2493 commands/tablecmds.c:14195
+#: commands/tablecmds.c:2496 commands/tablecmds.c:14772
 #, c-format
 msgid "cannot inherit from temporary relation of another session"
 msgstr "von temporärer Relation einer anderen Sitzung kann nicht geerbt werden"
 
-#: commands/tablecmds.c:2547
+#: commands/tablecmds.c:2550
 #, c-format
 msgid "merging multiple inherited definitions of column \"%s\""
 msgstr "geerbte Definitionen von Spalte »%s« werden zusammengeführt"
 
-#: commands/tablecmds.c:2555
+#: commands/tablecmds.c:2558
 #, c-format
 msgid "inherited column \"%s\" has a type conflict"
 msgstr "geerbte Spalte »%s« hat Typkonflikt"
 
-#: commands/tablecmds.c:2557 commands/tablecmds.c:2580
-#: commands/tablecmds.c:2597 commands/tablecmds.c:2853
-#: commands/tablecmds.c:2883 commands/tablecmds.c:2897
-#: parser/parse_coerce.c:2090 parser/parse_coerce.c:2110
-#: parser/parse_coerce.c:2130 parser/parse_coerce.c:2150
-#: parser/parse_coerce.c:2205 parser/parse_coerce.c:2238
-#: parser/parse_coerce.c:2316 parser/parse_coerce.c:2348
-#: parser/parse_coerce.c:2382 parser/parse_coerce.c:2402
+#: commands/tablecmds.c:2560 commands/tablecmds.c:2583
+#: commands/tablecmds.c:2600 commands/tablecmds.c:2856
+#: commands/tablecmds.c:2886 commands/tablecmds.c:2900
+#: 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:227
 #, c-format
 msgid "%s versus %s"
 msgstr "%s gegen %s"
 
-#: commands/tablecmds.c:2566
+#: commands/tablecmds.c:2569
 #, c-format
 msgid "inherited column \"%s\" has a collation conflict"
 msgstr "geerbte Spalte »%s« hat Sortierfolgenkonflikt"
 
-#: commands/tablecmds.c:2568 commands/tablecmds.c:2865
-#: commands/tablecmds.c:6498
+#: commands/tablecmds.c:2571 commands/tablecmds.c:2868
+#: commands/tablecmds.c:6721
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "»%s« gegen »%s«"
 
-#: commands/tablecmds.c:2578
+#: commands/tablecmds.c:2581
 #, c-format
 msgid "inherited column \"%s\" has a storage parameter conflict"
 msgstr "geerbte Spalte »%s« hat einen Konflikt bei einem Storage-Parameter"
 
-#: commands/tablecmds.c:2595 commands/tablecmds.c:2895
+#: commands/tablecmds.c:2598 commands/tablecmds.c:2898
 #, c-format
 msgid "column \"%s\" has a compression method conflict"
 msgstr "für Spalte »%s« besteht ein Komprimierungsmethodenkonflikt"
 
-#: commands/tablecmds.c:2610
+#: commands/tablecmds.c:2613
 #, c-format
 msgid "inherited column \"%s\" has a generation conflict"
 msgstr "geerbte Spalte »%s« hat einen Generierungskonflikt"
 
-#: commands/tablecmds.c:2704 commands/tablecmds.c:2759
-#: commands/tablecmds.c:11772 parser/parse_utilcmd.c:1301
-#: parser/parse_utilcmd.c:1344 parser/parse_utilcmd.c:1752
-#: parser/parse_utilcmd.c:1860
+#: commands/tablecmds.c:2707 commands/tablecmds.c:2762
+#: commands/tablecmds.c:12307 parser/parse_utilcmd.c:1291
+#: parser/parse_utilcmd.c:1334 parser/parse_utilcmd.c:1743
+#: parser/parse_utilcmd.c:1851
 #, c-format
 msgid "cannot convert whole-row table reference"
 msgstr "kann Verweis auf ganze Zeile der Tabelle nicht umwandeln"
 
-#: commands/tablecmds.c:2705 parser/parse_utilcmd.c:1302
+#: commands/tablecmds.c:2708 parser/parse_utilcmd.c:1292
 #, c-format
 msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"."
 msgstr "Generierungsausdruck für Spalte »%s« enthält einen Verweis auf die ganze Zeile der Tabelle »%s«."
 
-#: commands/tablecmds.c:2760 parser/parse_utilcmd.c:1345
+#: commands/tablecmds.c:2763 parser/parse_utilcmd.c:1335
 #, c-format
 msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"."
 msgstr "Constraint »%s« enthält einen Verweis auf die ganze Zeile der Tabelle »%s«."
 
-#: commands/tablecmds.c:2839
+#: commands/tablecmds.c:2842
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "Spalte »%s« wird mit geerbter Definition zusammengeführt"
 
-#: commands/tablecmds.c:2843
+#: commands/tablecmds.c:2846
 #, c-format
 msgid "moving and merging column \"%s\" with inherited definition"
 msgstr "Spalte »%s« wird verschoben und mit geerbter Definition zusammengeführt"
 
-#: commands/tablecmds.c:2844
+#: commands/tablecmds.c:2847
 #, c-format
 msgid "User-specified column moved to the position of the inherited column."
 msgstr "Benutzerdefinierte Spalte wurde auf die Position der geerbten Spalte verschoben."
 
-#: commands/tablecmds.c:2851
+#: commands/tablecmds.c:2854
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "für Spalte »%s« besteht ein Typkonflikt"
 
-#: commands/tablecmds.c:2863
+#: commands/tablecmds.c:2866
 #, c-format
 msgid "column \"%s\" has a collation conflict"
 msgstr "für Spalte »%s« besteht ein Sortierfolgenkonflikt"
 
-#: commands/tablecmds.c:2881
+#: commands/tablecmds.c:2884
 #, c-format
 msgid "column \"%s\" has a storage parameter conflict"
 msgstr "für Spalte »%s« besteht ein Konflikt bei einem Storage-Parameter"
 
-#: commands/tablecmds.c:2922
+#: commands/tablecmds.c:2925
 #, c-format
 msgid "child column \"%s\" specifies generation expression"
 msgstr "abgeleitete Spalte »%s« gibt einen Generierungsausdruck an"
 
-#: commands/tablecmds.c:2924
+#: commands/tablecmds.c:2927
 #, c-format
 msgid "Omit the generation expression in the definition of the child table column to inherit the generation expression from the parent table."
 msgstr "Lassen Sie den Generierungsausdruck in der Definition der abgeleiteten Spalte weg, um den Generierungsausdruck der Elterntabelle zu erben."
 
-#: commands/tablecmds.c:2928
+#: commands/tablecmds.c:2931
 #, c-format
 msgid "column \"%s\" inherits from generated column but specifies default"
 msgstr "Spalte »%s« erbt von einer generierten Spalte aber hat einen Vorgabewert angegeben"
 
-#: commands/tablecmds.c:2933
+#: commands/tablecmds.c:2936
 #, c-format
 msgid "column \"%s\" inherits from generated column but specifies identity"
 msgstr "Spalte »%s« erbt von einer generierten Spalte aber ist als Identitätsspalte definiert"
 
-#: commands/tablecmds.c:3042
+#: commands/tablecmds.c:3045
 #, c-format
 msgid "column \"%s\" inherits conflicting generation expressions"
 msgstr "Spalte »%s« erbt widersprüchliche Generierungsausdrücke"
 
-#: commands/tablecmds.c:3047
+#: commands/tablecmds.c:3050
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "Spalte »%s« erbt widersprüchliche Vorgabewerte"
 
-#: commands/tablecmds.c:3049
+#: commands/tablecmds.c:3052
 #, c-format
 msgid "To resolve the conflict, specify a default explicitly."
 msgstr "Um den Konflikt zu lösen, geben Sie einen Vorgabewert ausdrücklich an."
 
-#: commands/tablecmds.c:3095
+#: commands/tablecmds.c:3098
 #, c-format
 msgid "check constraint name \"%s\" appears multiple times but with different expressions"
 msgstr "Check-Constraint-Name »%s« erscheint mehrmals, aber mit unterschiedlichen Ausdrücken"
 
-#: commands/tablecmds.c:3308
+#: commands/tablecmds.c:3311
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "temporäre Tabellen anderer Sitzungen können nicht verschoben werden"
 
-#: commands/tablecmds.c:3378
+#: commands/tablecmds.c:3381
 #, c-format
 msgid "cannot rename column of typed table"
 msgstr "Spalte einer getypten Tabelle kann nicht umbenannt werden"
 
-#: commands/tablecmds.c:3397
-#, c-format
-msgid "\"%s\" is not a table, view, materialized view, composite type, index, or foreign table"
-msgstr "»%s« ist weder Tabelle, Sicht, materialisierte Sicht, zusammengesetzter Typ, Index noch Fremdtabelle"
+#: commands/tablecmds.c:3400
+#, fuzzy, c-format
+#| msgid "cannot alter inherited column \"%s\" of relation \"%s\""
+msgid "cannot rename columns of relation \"%s\""
+msgstr "geerbte Spalte »%s« von Relation »%s« kann nicht geändert werden"
 
-#: commands/tablecmds.c:3491
+#: commands/tablecmds.c:3495
 #, c-format
 msgid "inherited column \"%s\" must be renamed in child tables too"
 msgstr "vererbte Spalte »%s« muss ebenso in den abgeleiteten Tabellen umbenannt werden"
 
-#: commands/tablecmds.c:3523
+#: commands/tablecmds.c:3527
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "Systemspalte »%s« kann nicht umbenannt werden"
 
-#: commands/tablecmds.c:3538
+#: commands/tablecmds.c:3542
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "kann vererbte Spalte »%s« nicht umbenennen"
 
-#: commands/tablecmds.c:3690
+#: commands/tablecmds.c:3694
 #, c-format
 msgid "inherited constraint \"%s\" must be renamed in child tables too"
 msgstr "vererbter Constraint »%s« muss ebenso in den abgeleiteten Tabellen umbenannt werden"
 
-#: commands/tablecmds.c:3697
+#: commands/tablecmds.c:3701
 #, c-format
 msgid "cannot rename inherited constraint \"%s\""
 msgstr "kann vererbten Constraint »%s« nicht umbenennen"
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:3930
+#: commands/tablecmds.c:3998
 #, c-format
 msgid "cannot %s \"%s\" because it is being used by active queries in this session"
 msgstr "%s mit Relation »%s« nicht möglich, weil sie von aktiven Anfragen in dieser Sitzung verwendet wird"
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:3939
+#: commands/tablecmds.c:4007
 #, c-format
 msgid "cannot %s \"%s\" because it has pending trigger events"
 msgstr "%s mit Relation »%s« nicht möglich, weil es anstehende Trigger-Ereignisse dafür gibt"
 
-#: commands/tablecmds.c:4403
+#: commands/tablecmds.c:4472
 #, c-format
 msgid "cannot alter partition \"%s\" with an incomplete detach"
-msgstr "kann Partition »%s« mit einem unvollständigen Detach nicht ändern"
-
-#: commands/tablecmds.c:4405
-#, c-format
-msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation."
-msgstr "Verwendet Sie ALTER TABLE ... DETACH PARTITION ... FINALIZE, um die unerledigte Detach-Operation zu vervollständigen."
+msgstr "kann Partition »%s« mit einer unvollständigen Abtrennoperation nicht ändern"
 
-#: commands/tablecmds.c:4597 commands/tablecmds.c:4612
+#: commands/tablecmds.c:4665 commands/tablecmds.c:4680
 #, c-format
 msgid "cannot change persistence setting twice"
 msgstr "Persistenzeinstellung kann nicht zweimal geändert werden"
 
-#: commands/tablecmds.c:5355
+#: commands/tablecmds.c:4701
+#, fuzzy, c-format
+#| msgid "cannot change inheritance of partitioned table"
+msgid "cannot change access method of a partitioned table"
+msgstr "Vererbung einer partitionierten Tabelle kann nicht geändert werden"
+
+#: commands/tablecmds.c:4707
+#, fuzzy, c-format
+#| msgid "cannot have multiple SET TABLESPACE subcommands"
+msgid "cannot have multiple SET ACCESS METHOD subcommands"
+msgstr "mehrere SET TABLESPACE Unterbefehle sind ungültig"
+
+#: commands/tablecmds.c:5445
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "Systemrelation »%s« kann nicht neu geschrieben werden"
 
-#: commands/tablecmds.c:5361
+#: commands/tablecmds.c:5451
 #, c-format
 msgid "cannot rewrite table \"%s\" used as a catalog table"
 msgstr "Tabelle »%s«, die als Katalogtabelle verwendet wird, kann nicht neu geschrieben werden"
 
-#: commands/tablecmds.c:5371
+#: commands/tablecmds.c:5461
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht neu schreiben"
 
-#: commands/tablecmds.c:5832
+#: commands/tablecmds.c:5955
 #, c-format
 msgid "column \"%s\" of relation \"%s\" contains null values"
 msgstr "Spalte »%s« von Relation »%s« enthält NULL-Werte"
 
-#: commands/tablecmds.c:5849
+#: commands/tablecmds.c:5972
 #, c-format
 msgid "check constraint \"%s\" of relation \"%s\" is violated by some row"
 msgstr "Check-Constraint »%s« von Relation »%s« wird von irgendeiner Zeile verletzt"
 
-#: commands/tablecmds.c:5868 partitioning/partbounds.c:3282
+#: commands/tablecmds.c:5991 partitioning/partbounds.c:3403
 #, c-format
 msgid "updated partition constraint for default partition \"%s\" would be violated by some row"
 msgstr "aktualisierter Partitions-Constraint der Standardpartition »%s« würde von irgendeiner Zeile verletzt werden"
 
-#: commands/tablecmds.c:5874
+#: commands/tablecmds.c:5997
 #, c-format
 msgid "partition constraint of relation \"%s\" is violated by some row"
 msgstr "Partitions-Constraint von Relation »%s« wird von irgendeiner Zeile verletzt"
 
-#: commands/tablecmds.c:6022 commands/trigger.c:1265 commands/trigger.c:1371
-#, c-format
-msgid "\"%s\" is not a table, view, or foreign table"
-msgstr "»%s« ist keine Tabelle, Sicht oder Fremdtabelle"
-
-#: commands/tablecmds.c:6025
-#, c-format
-msgid "\"%s\" is not a table, view, materialized view, or index"
-msgstr "»%s« ist weder Tabelle, Sicht, materialisierte Sicht noch Index"
-
-#: commands/tablecmds.c:6031
-#, c-format
-msgid "\"%s\" is not a table, materialized view, or index"
-msgstr "»%s« ist weder Tabelle, materialisierte Sicht noch Index"
-
-#: commands/tablecmds.c:6034
-#, c-format
-msgid "\"%s\" is not a table, materialized view, or foreign table"
-msgstr "»%s« ist weder Tabelle, materialisierte Sicht noch Fremdtabelle"
-
-#: commands/tablecmds.c:6037
-#, c-format
-msgid "\"%s\" is not a table or foreign table"
-msgstr "»%s« ist keine Tabelle oder Fremdtabelle"
-
-#: commands/tablecmds.c:6040
-#, c-format
-msgid "\"%s\" is not a table, composite type, or foreign table"
-msgstr "»%s« ist weder Tabelle, zusammengesetzter Typ noch Fremdtabelle"
-
-#: commands/tablecmds.c:6043
-#, c-format
-msgid "\"%s\" is not a table, materialized view, index, or foreign table"
-msgstr "»%s« ist weder Tabelle, materialisierte Sicht, Index noch Fremdtabelle"
-
-#: commands/tablecmds.c:6053
-#, c-format
-msgid "\"%s\" is of the wrong type"
-msgstr "»%s« hat den falschen Typ"
+#. translator: %s is a group of some SQL keywords
+#: commands/tablecmds.c:6264
+#, fuzzy, c-format
+#| msgid "relation \"%s\" is not a parent of relation \"%s\""
+msgid "ALTER action %s cannot be performed on relation \"%s\""
+msgstr "Relation »%s« ist keine Basisrelation von Relation »%s«"
 
-#: commands/tablecmds.c:6256 commands/tablecmds.c:6263
+#: commands/tablecmds.c:6479 commands/tablecmds.c:6486
 #, c-format
 msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it"
 msgstr "kann Typ »%s« nicht ändern, weil Spalte »%s.%s« ihn verwendet"
 
-#: commands/tablecmds.c:6270
+#: commands/tablecmds.c:6493
 #, c-format
 msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr "kann Fremdtabelle »%s« nicht ändern, weil Spalte »%s.%s« ihren Zeilentyp verwendet"
 
-#: commands/tablecmds.c:6277
+#: commands/tablecmds.c:6500
 #, c-format
 msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr "kann Tabelle »%s« nicht ändern, weil Spalte »%s.%s« ihren Zeilentyp verwendet"
 
-#: commands/tablecmds.c:6333
+#: commands/tablecmds.c:6556
 #, c-format
 msgid "cannot alter type \"%s\" because it is the type of a typed table"
 msgstr "kann Typ »%s« nicht ändern, weil er der Typ einer getypten Tabelle ist"
 
-#: commands/tablecmds.c:6335
+#: commands/tablecmds.c:6558
 #, c-format
 msgid "Use ALTER ... CASCADE to alter the typed tables too."
 msgstr "Verwenden Sie ALTER ... CASCADE, um die getypten Tabellen ebenfalls zu ändern."
 
-#: commands/tablecmds.c:6381
+#: commands/tablecmds.c:6604
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "Typ %s ist kein zusammengesetzter Typ"
 
-#: commands/tablecmds.c:6408
+#: commands/tablecmds.c:6631
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "zu einer getypten Tabelle kann keine Spalte hinzugefügt werden"
 
-#: commands/tablecmds.c:6461
+#: commands/tablecmds.c:6684
 #, c-format
 msgid "cannot add column to a partition"
 msgstr "zu einer Partition kann keine Spalte hinzugefügt werden"
 
-#: commands/tablecmds.c:6490 commands/tablecmds.c:14438
+#: commands/tablecmds.c:6713 commands/tablecmds.c:15015
 #, c-format
 msgid "child table \"%s\" has different type for column \"%s\""
 msgstr "abgeleitete Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«"
 
-#: commands/tablecmds.c:6496 commands/tablecmds.c:14445
+#: commands/tablecmds.c:6719 commands/tablecmds.c:15022
 #, c-format
 msgid "child table \"%s\" has different collation for column \"%s\""
 msgstr "abgeleitete Tabelle »%s« hat unterschiedliche Sortierfolge für Spalte »%s«"
 
-#: commands/tablecmds.c:6510
+#: commands/tablecmds.c:6733
 #, c-format
 msgid "merging definition of column \"%s\" for child \"%s\""
 msgstr "Definition von Spalte »%s« für abgeleitete Tabelle »%s« wird zusammengeführt"
 
-#: commands/tablecmds.c:6553
+#: commands/tablecmds.c:6776
 #, c-format
 msgid "cannot recursively add identity column to table that has child tables"
 msgstr "eine Identitätsspalte kann nicht rekursiv zu einer Tabelle hinzugefügt werden, die abgeleitete Tabellen hat"
 
-#: commands/tablecmds.c:6796
+#: commands/tablecmds.c:7020
 #, c-format
 msgid "column must be added to child tables too"
 msgstr "Spalte muss ebenso in den abgeleiteten Tabellen hinzugefügt werden"
 
-#: commands/tablecmds.c:6874
+#: commands/tablecmds.c:7098
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists, skipping"
 msgstr "Spalte »%s« von Relation »%s« existiert bereits, wird übersprungen"
 
-#: commands/tablecmds.c:6881
+#: commands/tablecmds.c:7105
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "Spalte »%s« von Relation »%s« existiert bereits"
 
-#: commands/tablecmds.c:6947 commands/tablecmds.c:11410
+#: commands/tablecmds.c:7171 commands/tablecmds.c:11946
 #, c-format
 msgid "cannot remove constraint from only the partitioned table when partitions exist"
 msgstr "Constraint kann nicht nur von der partitionierten Tabelle entfernt werden, wenn Partitionen existieren"
 
-#: commands/tablecmds.c:6948 commands/tablecmds.c:7252
-#: commands/tablecmds.c:8275 commands/tablecmds.c:11411
+#: commands/tablecmds.c:7172 commands/tablecmds.c:7489
+#: commands/tablecmds.c:8486 commands/tablecmds.c:11947
 #, c-format
 msgid "Do not specify the ONLY keyword."
 msgstr "Lassen Sie das Schlüsselwort ONLY weg."
 
-#: commands/tablecmds.c:6985 commands/tablecmds.c:7178
-#: commands/tablecmds.c:7320 commands/tablecmds.c:7434
-#: commands/tablecmds.c:7528 commands/tablecmds.c:7587
-#: commands/tablecmds.c:7705 commands/tablecmds.c:7871
-#: commands/tablecmds.c:7941 commands/tablecmds.c:8097
-#: commands/tablecmds.c:11565 commands/tablecmds.c:13050
-#: commands/tablecmds.c:15611
+#: commands/tablecmds.c:7209 commands/tablecmds.c:7415
+#: commands/tablecmds.c:7557 commands/tablecmds.c:7671
+#: commands/tablecmds.c:7765 commands/tablecmds.c:7824
+#: commands/tablecmds.c:7943 commands/tablecmds.c:8082
+#: commands/tablecmds.c:8152 commands/tablecmds.c:8308
+#: commands/tablecmds.c:12101 commands/tablecmds.c:13606
+#: commands/tablecmds.c:16192
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "Systemspalte »%s« kann nicht geändert werden"
 
-#: commands/tablecmds.c:6991 commands/tablecmds.c:7326
+#: commands/tablecmds.c:7215 commands/tablecmds.c:7563
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is an identity column"
 msgstr "Spalte »%s« von Relation »%s« ist eine Identitätsspalte"
 
-#: commands/tablecmds.c:7027
+#: commands/tablecmds.c:7258
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "Spalte »%s« ist in einem Primärschlüssel"
 
-#: commands/tablecmds.c:7049
+#: commands/tablecmds.c:7263
+#, c-format
+msgid "column \"%s\" is in index used as replica identity"
+msgstr "Spalte »%s« ist in einem Index, der als Replik-Identität verwendet wird"
+
+#: commands/tablecmds.c:7286
 #, c-format
 msgid "column \"%s\" is marked NOT NULL in parent table"
 msgstr "Spalte »%s« ist in Elterntabelle als NOT NULL markiert"
 
-#: commands/tablecmds.c:7249 commands/tablecmds.c:8758
+#: commands/tablecmds.c:7486 commands/tablecmds.c:8969
 #, c-format
 msgid "constraint must be added to child tables too"
 msgstr "Constraint muss ebenso in den abgeleiteten Tabellen hinzugefügt werden"
 
-#: commands/tablecmds.c:7250
+#: commands/tablecmds.c:7487
 #, c-format
 msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL."
 msgstr "Spalte »%s« von Relation »%s« ist nicht bereits NOT NULL."
 
-#: commands/tablecmds.c:7328
+#: commands/tablecmds.c:7565
 #, c-format
 msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead."
 msgstr "Verwenden Sie stattdessen ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY."
 
-#: commands/tablecmds.c:7333
+#: commands/tablecmds.c:7570
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is a generated column"
 msgstr "Spalte »%s« von Relation »%s« ist eine generierte Spalte"
 
-#: commands/tablecmds.c:7336
+#: commands/tablecmds.c:7573
 #, c-format
 msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead."
 msgstr "Verwenden Sie stattdessen ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION."
 
-#: commands/tablecmds.c:7445
+#: commands/tablecmds.c:7682
 #, c-format
 msgid "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity can be added"
 msgstr "Spalte »%s« von Relation »%s« muss als NOT NULL deklariert werden, bevor Sie Identitätsspalte werden kann"
 
-#: commands/tablecmds.c:7451
+#: commands/tablecmds.c:7688
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is already an identity column"
 msgstr "Spalte »%s« von Relation »%s« ist bereits eine Identitätsspalte"
 
-#: commands/tablecmds.c:7457
+#: commands/tablecmds.c:7694
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already has a default value"
 msgstr "Spalte »%s« von Relation »%s« hat bereits einen Vorgabewert"
 
-#: commands/tablecmds.c:7534 commands/tablecmds.c:7595
+#: commands/tablecmds.c:7771 commands/tablecmds.c:7832
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not an identity column"
 msgstr "Spalte »%s« von Relation »%s« ist keine Identitätsspalte"
 
-#: commands/tablecmds.c:7600
+#: commands/tablecmds.c:7837
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping"
 msgstr "Spalte »%s« von Relation »%s« ist keine Identitätsspalte, wird übersprungen"
 
-#: commands/tablecmds.c:7653
+#: commands/tablecmds.c:7890
 #, c-format
 msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too"
 msgstr "ALTER TABLE / DROP EXPRESSION muss auch auf abgeleitete Tabellen angewendet werden"
 
-#: commands/tablecmds.c:7675
+#: commands/tablecmds.c:7912
 #, c-format
 msgid "cannot drop generation expression from inherited column"
 msgstr "Generierungsausdruck von vererbter Spalte kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:7713
+#: commands/tablecmds.c:7951
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not a stored generated column"
 msgstr "Spalte »%s« von Relation »%s« ist keine gespeicherte generierte Spalte"
 
-#: commands/tablecmds.c:7718
+#: commands/tablecmds.c:7956
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping"
 msgstr "Spalte »%s« von Relation »%s« ist keine gespeicherte generierte Spalte, wird übersprungen"
 
-#: commands/tablecmds.c:7818
+#: commands/tablecmds.c:8029
 #, c-format
 msgid "cannot refer to non-index column by number"
 msgstr "auf eine Nicht-Index-Spalte kann nicht per Nummer verwiesen werden"
 
-#: commands/tablecmds.c:7861
+#: commands/tablecmds.c:8072
 #, c-format
 msgid "column number %d of relation \"%s\" does not exist"
 msgstr "Spalte Nummer %d von Relation »%s« existiert nicht"
 
-#: commands/tablecmds.c:7880
+#: commands/tablecmds.c:8091
 #, c-format
 msgid "cannot alter statistics on included column \"%s\" of index \"%s\""
 msgstr "Statistiken von eingeschlossener Spalte »%s« von Index »%s« können nicht geändert werden"
 
-#: commands/tablecmds.c:7885
+#: commands/tablecmds.c:8096
 #, c-format
 msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\""
 msgstr "kann Statistiken von Spalte »%s« von Index »%s«, welche kein Ausdruck ist, nicht ändern"
 
-#: commands/tablecmds.c:7887
+#: commands/tablecmds.c:8098
 #, c-format
 msgid "Alter statistics on table column instead."
 msgstr "Ändern Sie stattdessen die Statistiken für die Tabellenspalte."
 
-#: commands/tablecmds.c:8077
+#: commands/tablecmds.c:8288
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "ungültiger Storage-Typ »%s«"
 
-#: commands/tablecmds.c:8109
+#: commands/tablecmds.c:8320
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
 msgstr "Spaltendatentyp %s kann nur Storage-Typ PLAIN"
 
-#: commands/tablecmds.c:8154
+#: commands/tablecmds.c:8365
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "aus einer getypten Tabelle können keine Spalten gelöscht werden"
 
-#: commands/tablecmds.c:8213
+#: commands/tablecmds.c:8424
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "Spalte »%s« von Relation »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:8226
+#: commands/tablecmds.c:8437
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "Systemspalte »%s« kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:8236
+#: commands/tablecmds.c:8447
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "geerbte Spalte »%s« kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:8249
+#: commands/tablecmds.c:8460
 #, c-format
 msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\""
 msgstr "Spalte »%s« kann nicht gelöscht werden, weil sie Teil des Partitionierungsschlüssels von Relation »%s« ist"
 
-#: commands/tablecmds.c:8274
+#: commands/tablecmds.c:8485
 #, c-format
 msgid "cannot drop column from only the partitioned table when partitions exist"
 msgstr "Spalte kann nicht nur aus der partitionierten Tabelle gelöscht werden, wenn Partitionen existieren"
 
-#: commands/tablecmds.c:8478
+#: commands/tablecmds.c:8689
 #, c-format
 msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables"
 msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX wird für partitionierte Tabellen nicht unterstützt"
 
-#: commands/tablecmds.c:8503
+#: commands/tablecmds.c:8714
 #, c-format
 msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\""
 msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX benennt Index »%s« um in »%s«"
 
-#: commands/tablecmds.c:8838
+#: commands/tablecmds.c:9051
 #, c-format
 msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\""
 msgstr "ONLY nicht möglich für Fremdschlüssel für partitionierte Tabelle »%s« verweisend auf Relation »%s«"
 
-#: commands/tablecmds.c:8844
+#: commands/tablecmds.c:9057
 #, c-format
 msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\""
 msgstr "Hinzufügen von Fremdschlüssel mit NOT VALID nicht möglich für partitionierte Tabelle »%s« verweisend auf Relation »%s«"
 
-#: commands/tablecmds.c:8847
+#: commands/tablecmds.c:9060
 #, c-format
 msgid "This feature is not yet supported on partitioned tables."
 msgstr "Dieses Feature wird für partitionierte Tabellen noch nicht unterstützt."
 
-#: commands/tablecmds.c:8854 commands/tablecmds.c:9259
+#: commands/tablecmds.c:9067 commands/tablecmds.c:9533
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "Relation »%s«, auf die verwiesen wird, ist keine Tabelle"
 
-#: commands/tablecmds.c:8877
+#: commands/tablecmds.c:9090
 #, c-format
 msgid "constraints on permanent tables may reference only permanent tables"
 msgstr "Constraints für permanente Tabellen dürfen nur auf permanente Tabellen verweisen"
 
-#: commands/tablecmds.c:8884
+#: commands/tablecmds.c:9097
 #, c-format
 msgid "constraints on unlogged tables may reference only permanent or unlogged tables"
 msgstr "Constraints für ungeloggte Tabellen dürfen nur auf permanente oder ungeloggte Tabellen verweisen"
 
-#: commands/tablecmds.c:8890
+#: commands/tablecmds.c:9103
 #, c-format
 msgid "constraints on temporary tables may reference only temporary tables"
 msgstr "Constraints für temporäre Tabellen dürfen nur auf temporäre Tabellen verweisen"
 
-#: commands/tablecmds.c:8894
+#: commands/tablecmds.c:9107
 #, c-format
 msgid "constraints on temporary tables must involve temporary tables of this session"
 msgstr "Constraints für temporäre Tabellen müssen temporäre Tabellen dieser Sitzung beinhalten"
 
-#: commands/tablecmds.c:8960 commands/tablecmds.c:8966
+#: commands/tablecmds.c:9181 commands/tablecmds.c:9187
 #, c-format
 msgid "invalid %s action for foreign key constraint containing generated column"
 msgstr "ungültige %s-Aktion für Fremdschlüssel-Constraint, der eine generierte Spalte enthält"
 
-#: commands/tablecmds.c:8982
+#: commands/tablecmds.c:9203
 #, c-format
 msgid "number of referencing and referenced columns for foreign key disagree"
 msgstr "Anzahl der Quell- und Zielspalten im Fremdschlüssel stimmt nicht überein"
 
-#: commands/tablecmds.c:9089
+#: commands/tablecmds.c:9310
 #, c-format
 msgid "foreign key constraint \"%s\" cannot be implemented"
 msgstr "Fremdschlüssel-Constraint »%s« kann nicht implementiert werden"
 
-#: commands/tablecmds.c:9091
+#: commands/tablecmds.c:9312
 #, c-format
 msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s."
 msgstr "Schlüsselspalten »%s« und »%s« haben inkompatible Typen: %s und %s."
 
-#: commands/tablecmds.c:9454 commands/tablecmds.c:9847
-#: parser/parse_utilcmd.c:796 parser/parse_utilcmd.c:925
+#: commands/tablecmds.c:9469
+#, c-format
+msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key"
+msgstr ""
+
+#: commands/tablecmds.c:9742 commands/tablecmds.c:10189
+#: parser/parse_utilcmd.c:785 parser/parse_utilcmd.c:914
 #, c-format
 msgid "foreign key constraints are not supported on foreign tables"
 msgstr "Fremdschlüssel-Constraints auf Fremdtabellen werden nicht unterstützt"
 
-#: commands/tablecmds.c:10214 commands/tablecmds.c:10492
-#: commands/tablecmds.c:11367 commands/tablecmds.c:11442
+#: commands/tablecmds.c:10718 commands/tablecmds.c:10996
+#: commands/tablecmds.c:11903 commands/tablecmds.c:11978
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist"
 msgstr "Constraint »%s« von Relation »%s« existiert nicht"
 
-#: commands/tablecmds.c:10221
+#: commands/tablecmds.c:10725
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint"
 msgstr "Constraint »%s« von Relation »%s« ist kein Fremdschlüssel-Constraint"
 
-#: commands/tablecmds.c:10259
+#: commands/tablecmds.c:10763
 #, c-format
 msgid "cannot alter constraint \"%s\" on relation \"%s\""
 msgstr "Constraint »%s« von Relation »%s« kann nicht geändert werden"
 
-#: commands/tablecmds.c:10262
+#: commands/tablecmds.c:10766
 #, c-format
 msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"."
 msgstr "Constraint »%s« ist von Constraint »%s« von Relation »%s« abgeleitet."
 
-#: commands/tablecmds.c:10264
+#: commands/tablecmds.c:10768
 #, c-format
 msgid "You may alter the constraint it derives from, instead."
 msgstr "Sie können stattdessen den Constraint, von dem er abgeleitet ist, ändern."
 
-#: commands/tablecmds.c:10500
+#: commands/tablecmds.c:11004
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint"
 msgstr "Constraint »%s« von Relation »%s« ist kein Fremdschlüssel- oder Check-Constraint"
 
-#: commands/tablecmds.c:10578
+#: commands/tablecmds.c:11082
 #, c-format
 msgid "constraint must be validated on child tables too"
 msgstr "Constraint muss ebenso in den abgeleiteten Tabellen validiert werden"
 
-#: commands/tablecmds.c:10662
+#: commands/tablecmds.c:11166
 #, c-format
 msgid "column \"%s\" referenced in foreign key constraint does not exist"
 msgstr "Spalte »%s«, die im Fremdschlüssel verwendet wird, existiert nicht"
 
-#: commands/tablecmds.c:10667
+#: commands/tablecmds.c:11171
 #, c-format
 msgid "cannot have more than %d keys in a foreign key"
 msgstr "Fremdschlüssel kann nicht mehr als %d Schlüssel haben"
 
-#: commands/tablecmds.c:10732
+#: commands/tablecmds.c:11237
 #, c-format
 msgid "cannot use a deferrable primary key for referenced table \"%s\""
 msgstr "aufschiebbarer Primärschlüssel kann nicht für Tabelle »%s«, auf die verwiesen wird, verwendet werden"
 
-#: commands/tablecmds.c:10749
+#: commands/tablecmds.c:11254
 #, c-format
 msgid "there is no primary key for referenced table \"%s\""
 msgstr "in Tabelle »%s«, auf die verwiesen wird, gibt es keinen Primärschlüssel"
 
-#: commands/tablecmds.c:10814
+#: commands/tablecmds.c:11319
 #, c-format
 msgid "foreign key referenced-columns list must not contain duplicates"
 msgstr "die Liste der Spalten, auf die ein Fremdschlüssel verweist, darf keine doppelten Einträge enthalten"
 
-#: commands/tablecmds.c:10908
+#: commands/tablecmds.c:11413
 #, c-format
 msgid "cannot use a deferrable unique constraint for referenced table \"%s\""
 msgstr "aufschiebbarer Unique-Constraint kann nicht für Tabelle »%s«, auf die verwiesen wird, verwendet werden"
 
-#: commands/tablecmds.c:10913
+#: commands/tablecmds.c:11418
 #, c-format
 msgid "there is no unique constraint matching given keys for referenced table \"%s\""
 msgstr "in Tabelle »%s«, auf die verwiesen wird, gibt es keinen Unique-Constraint, der auf die angegebenen Schlüssel passt"
 
-#: commands/tablecmds.c:11323
+#: commands/tablecmds.c:11859
 #, c-format
 msgid "cannot drop inherited constraint \"%s\" of relation \"%s\""
 msgstr "geerbter Constraint »%s« von Relation »%s« kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:11373
+#: commands/tablecmds.c:11909
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "Constraint »%s« von Relation »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:11549
+#: commands/tablecmds.c:12085
 #, c-format
 msgid "cannot alter column type of typed table"
 msgstr "Spaltentyp einer getypten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:11576
+#: commands/tablecmds.c:12112
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "kann vererbte Spalte »%s« nicht ändern"
 
-#: commands/tablecmds.c:11585
+#: commands/tablecmds.c:12121
 #, c-format
 msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\""
 msgstr "Spalte »%s« kann nicht geändert werden, weil sie Teil des Partitionierungsschlüssels von Relation »%s« ist"
 
-#: commands/tablecmds.c:11635
+#: commands/tablecmds.c:12171
 #, c-format
 msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s"
 msgstr "Ergebnis der USING-Klausel für Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden"
 
-#: commands/tablecmds.c:11638
+#: commands/tablecmds.c:12174
 #, c-format
 msgid "You might need to add an explicit cast."
 msgstr "Sie müssen möglicherweise eine ausdrückliche Typumwandlung hinzufügen."
 
-#: commands/tablecmds.c:11642
+#: commands/tablecmds.c:12178
 #, c-format
 msgid "column \"%s\" cannot be cast automatically to type %s"
 msgstr "Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden"
 
 #. translator: USING is SQL, don't translate it
-#: commands/tablecmds.c:11645
+#: commands/tablecmds.c:12181
 #, c-format
 msgid "You might need to specify \"USING %s::%s\"."
 msgstr "Sie müssen möglicherweise »USING %s::%s« angeben."
 
-#: commands/tablecmds.c:11745
+#: commands/tablecmds.c:12280
 #, c-format
 msgid "cannot alter inherited column \"%s\" of relation \"%s\""
 msgstr "geerbte Spalte »%s« von Relation »%s« kann nicht geändert werden"
 
-#: commands/tablecmds.c:11773
+#: commands/tablecmds.c:12308
 #, c-format
 msgid "USING expression contains a whole-row table reference."
 msgstr "USING-Ausdruck enthält einen Verweis auf die ganze Zeile der Tabelle."
 
-#: commands/tablecmds.c:11784
+#: commands/tablecmds.c:12319
 #, c-format
 msgid "type of inherited column \"%s\" must be changed in child tables too"
 msgstr "Typ der vererbten Spalte »%s« muss ebenso in den abgeleiteten Tabellen geändert werden"
 
-#: commands/tablecmds.c:11909
+#: commands/tablecmds.c:12444
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "Typ der Spalte »%s« kann nicht zweimal geändert werden"
 
-#: commands/tablecmds.c:11947
+#: commands/tablecmds.c:12482
 #, c-format
 msgid "generation expression for column \"%s\" cannot be cast automatically to type %s"
 msgstr "Generierungsausdruck der Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden"
 
-#: commands/tablecmds.c:11952
+#: commands/tablecmds.c:12487
 #, c-format
 msgid "default for column \"%s\" cannot be cast automatically to type %s"
 msgstr "Vorgabewert der Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden"
 
-#: commands/tablecmds.c:12030
-#, c-format
-msgid "cannot alter type of a column used by a generated column"
-msgstr "Typ einer Spalte, die von einer generierten Spalte verwendet wird, kann nicht geändert werden"
-
-#: commands/tablecmds.c:12031
-#, c-format
-msgid "Column \"%s\" is used by generated column \"%s\"."
-msgstr "Spalte »%s« wird von generierter Spalte »%s« verwendet."
-
-#: commands/tablecmds.c:12052
+#: commands/tablecmds.c:12568
 #, c-format
 msgid "cannot alter type of a column used by a view or rule"
 msgstr "Typ einer Spalte, die von einer Sicht oder Regel verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:12053 commands/tablecmds.c:12072
-#: commands/tablecmds.c:12090
+#: commands/tablecmds.c:12569 commands/tablecmds.c:12588
+#: commands/tablecmds.c:12606
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s hängt von Spalte »%s« ab"
 
-#: commands/tablecmds.c:12071
+#: commands/tablecmds.c:12587
 #, c-format
 msgid "cannot alter type of a column used in a trigger definition"
 msgstr "Typ einer Spalte, die in einer Trigger-Definition verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:12089
+#: commands/tablecmds.c:12605
 #, c-format
 msgid "cannot alter type of a column used in a policy definition"
 msgstr "Typ einer Spalte, die in einer Policy-Definition verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:13158 commands/tablecmds.c:13170
+#: commands/tablecmds.c:12636
+#, c-format
+msgid "cannot alter type of a column used by a generated column"
+msgstr "Typ einer Spalte, die von einer generierten Spalte verwendet wird, kann nicht geändert werden"
+
+#: commands/tablecmds.c:12637
+#, c-format
+msgid "Column \"%s\" is used by generated column \"%s\"."
+msgstr "Spalte »%s« wird von generierter Spalte »%s« verwendet."
+
+#: commands/tablecmds.c:13714 commands/tablecmds.c:13726
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "kann Eigentümer des Index »%s« nicht ändern"
 
-#: commands/tablecmds.c:13160 commands/tablecmds.c:13172
+#: commands/tablecmds.c:13716 commands/tablecmds.c:13728
 #, c-format
 msgid "Change the ownership of the index's table, instead."
 msgstr "Ändern Sie stattdessen den Eigentümer der Tabelle des Index."
 
-#: commands/tablecmds.c:13186
+#: commands/tablecmds.c:13742
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "kann Eigentümer der Sequenz »%s« nicht ändern"
 
-#: commands/tablecmds.c:13200 commands/tablecmds.c:16503
+#: commands/tablecmds.c:13756 commands/tablecmds.c:17111
+#: commands/tablecmds.c:17130
 #, c-format
 msgid "Use ALTER TYPE instead."
 msgstr "Verwenden Sie stattdessen ALTER TYPE."
 
-#: commands/tablecmds.c:13209
+#: commands/tablecmds.c:13765
 #, c-format
-msgid "\"%s\" is not a table, view, sequence, or foreign table"
-msgstr "»%s« ist keine Tabelle, Sicht, Sequenz oder Fremdtabelle"
+msgid "cannot change owner of relation \"%s\""
+msgstr "kann Eigentümer der Relation »%s« nicht ändern"
 
-#: commands/tablecmds.c:13548
+#: commands/tablecmds.c:14127
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "mehrere SET TABLESPACE Unterbefehle sind ungültig"
 
-#: commands/tablecmds.c:13625
-#, c-format
-msgid "\"%s\" is not a table, view, materialized view, index, or TOAST table"
-msgstr "»%s« ist weder Tabelle, Sicht, materialisierte Sicht, Index noch TOAST-Tabelle"
+#: commands/tablecmds.c:14204
+#, fuzzy, c-format
+#| msgid "cannot alter constraint \"%s\" on relation \"%s\""
+msgid "cannot set options for relation \"%s\""
+msgstr "Constraint »%s« von Relation »%s« kann nicht geändert werden"
 
-#: commands/tablecmds.c:13658 commands/view.c:494
+#: commands/tablecmds.c:14238 commands/view.c:507
 #, c-format
 msgid "WITH CHECK OPTION is supported only on automatically updatable views"
 msgstr "WITH CHECK OPTION wird nur für automatisch aktualisierbare Sichten unterstützt"
 
-#: commands/tablecmds.c:13910
+#: commands/tablecmds.c:14488
 #, c-format
 msgid "only tables, indexes, and materialized views exist in tablespaces"
 msgstr "nur Tabellen, Indexe und materialisierte Sichten existieren in Tablespaces"
 
-#: commands/tablecmds.c:13922
+#: commands/tablecmds.c:14500
 #, c-format
 msgid "cannot move relations in to or out of pg_global tablespace"
 msgstr "Relationen können nicht in den oder aus dem Tablespace »pg_global« verschoben werden"
 
-#: commands/tablecmds.c:14014
+#: commands/tablecmds.c:14592
 #, c-format
 msgid "aborting because lock on relation \"%s.%s\" is not available"
 msgstr "Abbruch weil Sperre für Relation »%s.%s« nicht verfügbar ist"
 
-#: commands/tablecmds.c:14030
+#: commands/tablecmds.c:14608
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "keine passenden Relationen in Tablespace »%s« gefunden"
 
-#: commands/tablecmds.c:14146
+#: commands/tablecmds.c:14723
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "Vererbung einer getypten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:14151 commands/tablecmds.c:14707
+#: commands/tablecmds.c:14728 commands/tablecmds.c:15284
 #, c-format
 msgid "cannot change inheritance of a partition"
 msgstr "Vererbung einer Partition kann nicht geändert werden"
 
-#: commands/tablecmds.c:14156
+#: commands/tablecmds.c:14733
 #, c-format
 msgid "cannot change inheritance of partitioned table"
 msgstr "Vererbung einer partitionierten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:14202
+#: commands/tablecmds.c:14779
 #, c-format
 msgid "cannot inherit to temporary relation of another session"
 msgstr "an temporäre Relation einer anderen Sitzung kann nicht vererbt werden"
 
-#: commands/tablecmds.c:14215
+#: commands/tablecmds.c:14792
 #, c-format
 msgid "cannot inherit from a partition"
 msgstr "von einer Partition kann nicht geerbt werden"
 
-#: commands/tablecmds.c:14237 commands/tablecmds.c:17147
+#: commands/tablecmds.c:14814 commands/tablecmds.c:17764
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "zirkuläre Vererbung ist nicht erlaubt"
 
-#: commands/tablecmds.c:14238 commands/tablecmds.c:17148
+#: commands/tablecmds.c:14815 commands/tablecmds.c:17765
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "»%s« ist schon von »%s« abgeleitet."
 
-#: commands/tablecmds.c:14251
+#: commands/tablecmds.c:14828
 #, c-format
 msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child"
 msgstr "Trigger »%s« verhindert, dass Tabelle »%s« ein Vererbungskind werden kann"
 
-#: commands/tablecmds.c:14253
+#: commands/tablecmds.c:14830
 #, c-format
 msgid "ROW triggers with transition tables are not supported in inheritance hierarchies."
 msgstr "ROW-Trigger mit Übergangstabellen werden in Vererbungshierarchien nicht unterstützt."
 
-#: commands/tablecmds.c:14456
+#: commands/tablecmds.c:15033
 #, c-format
 msgid "column \"%s\" in child table must be marked NOT NULL"
 msgstr "Spalte »%s« in abgeleiteter Tabelle muss als NOT NULL markiert sein"
 
-#: commands/tablecmds.c:14465
+#: commands/tablecmds.c:15042
 #, c-format
 msgid "column \"%s\" in child table must be a generated column"
 msgstr "Spalte »%s« in abgeleiteter Tabelle muss eine generierte Spalte sein"
 
-#: commands/tablecmds.c:14515
+#: commands/tablecmds.c:15092
 #, c-format
 msgid "column \"%s\" in child table has a conflicting generation expression"
 msgstr "Spalte »%s« in abgeleiteter Tabelle hat einen widersprüchlichen Generierungsausdruck"
 
-#: commands/tablecmds.c:14543
+#: commands/tablecmds.c:15120
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "Spalte »%s« fehlt in abgeleiteter Tabelle"
 
-#: commands/tablecmds.c:14631
+#: commands/tablecmds.c:15208
 #, c-format
 msgid "child table \"%s\" has different definition for check constraint \"%s\""
 msgstr "abgeleitete Tabelle »%s« hat unterschiedliche Definition für Check-Constraint »%s«"
 
-#: commands/tablecmds.c:14639
+#: commands/tablecmds.c:15216
 #, c-format
 msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\""
 msgstr "Constraint »%s« kollidiert mit nicht vererbtem Constraint für abgeleitete Tabelle »%s«"
 
-#: commands/tablecmds.c:14650
+#: commands/tablecmds.c:15227
 #, c-format
 msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\""
 msgstr "Constraint »%s« kollidiert mit NOT-VALID-Constraint für abgeleitete Tabelle »%s«"
 
-#: commands/tablecmds.c:14685
+#: commands/tablecmds.c:15262
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "Constraint »%s« fehlt in abgeleiteter Tabelle"
 
-#: commands/tablecmds.c:14773
-#, fuzzy, c-format
-#| msgid "Unlogged partitioned table \"%s.%s\""
-msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\""
-msgstr "Ungeloggte partitionierte Tabelle »%s.%s«"
-
-#: commands/tablecmds.c:14777
+#: commands/tablecmds.c:15348
 #, c-format
-msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the detach operation."
-msgstr "Verwenden Sie ALTER TABLE ... DETACH PARTITION ... FINALIZE, um die Detach-Operation zu vervollständigen."
+msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\""
+msgstr "Partition »%s« hat schon eine unerledigte Abtrennoperation in der partitionierten Tabelle »%s.%s«"
 
-#: commands/tablecmds.c:14802 commands/tablecmds.c:14850
+#: commands/tablecmds.c:15377 commands/tablecmds.c:15425
 #, c-format
 msgid "relation \"%s\" is not a partition of relation \"%s\""
 msgstr "Relation »%s« ist keine Partition von Relation »%s«"
 
-#: commands/tablecmds.c:14856
+#: commands/tablecmds.c:15431
 #, c-format
 msgid "relation \"%s\" is not a parent of relation \"%s\""
 msgstr "Relation »%s« ist keine Basisrelation von Relation »%s«"
 
-#: commands/tablecmds.c:15084
+#: commands/tablecmds.c:15659
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "getypte Tabellen können nicht erben"
 
-#: commands/tablecmds.c:15114
+#: commands/tablecmds.c:15689
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "Spalte »%s« fehlt in Tabelle"
 
-#: commands/tablecmds.c:15125
+#: commands/tablecmds.c:15700
 #, c-format
 msgid "table has column \"%s\" where type requires \"%s\""
 msgstr "Tabelle hat Spalte »%s«, aber Typ benötigt »%s«"
 
-#: commands/tablecmds.c:15134
+#: commands/tablecmds.c:15709
 #, c-format
 msgid "table \"%s\" has different type for column \"%s\""
 msgstr "Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«"
 
-#: commands/tablecmds.c:15148
+#: commands/tablecmds.c:15723
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "Tabelle hat zusätzliche Spalte »%s«"
 
-#: commands/tablecmds.c:15200
+#: commands/tablecmds.c:15775
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "»%s« ist keine getypte Tabelle"
 
-#: commands/tablecmds.c:15382
+#: commands/tablecmds.c:15963
 #, c-format
 msgid "cannot use non-unique index \"%s\" as replica identity"
 msgstr "nicht eindeutiger Index »%s« kann nicht als Replik-Identität verwendet werden"
 
-#: commands/tablecmds.c:15388
+#: commands/tablecmds.c:15969
 #, c-format
 msgid "cannot use non-immediate index \"%s\" as replica identity"
 msgstr "Index »%s« kann nicht als Replik-Identität verwendet werden, weil er nicht IMMEDIATE ist"
 
-#: commands/tablecmds.c:15394
+#: commands/tablecmds.c:15975
 #, c-format
 msgid "cannot use expression index \"%s\" as replica identity"
 msgstr "Ausdrucksindex »%s« kann nicht als Replik-Identität verwendet werden"
 
-#: commands/tablecmds.c:15400
+#: commands/tablecmds.c:15981
 #, c-format
 msgid "cannot use partial index \"%s\" as replica identity"
 msgstr "partieller Index »%s« kann nicht als Replik-Identität verwendet werden"
 
-#: commands/tablecmds.c:15406
+#: commands/tablecmds.c:15987
 #, c-format
 msgid "cannot use invalid index \"%s\" as replica identity"
 msgstr "ungültiger Index »%s« kann nicht als Replik-Identität verwendet werden"
 
-#: commands/tablecmds.c:15423
+#: commands/tablecmds.c:16004
 #, c-format
 msgid "index \"%s\" cannot be used as replica identity because column %d is a system column"
 msgstr "Index »%s« kann nicht als Replik-Identität verwendet werden, weil Spalte %d eine Systemspalte ist"
 
-#: commands/tablecmds.c:15430
+#: commands/tablecmds.c:16011
 #, c-format
 msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable"
 msgstr "Index »%s« kann nicht als Replik-Identität verwendet werden, weil Spalte »%s« NULL-Werte akzeptiert"
 
-#: commands/tablecmds.c:15677
+#: commands/tablecmds.c:16258
 #, c-format
 msgid "cannot change logged status of table \"%s\" because it is temporary"
 msgstr "kann den geloggten Status der Tabelle »%s« nicht ändern, weil sie temporär ist"
 
-#: commands/tablecmds.c:15701
+#: commands/tablecmds.c:16282
 #, c-format
 msgid "cannot change table \"%s\" to unlogged because it is part of a publication"
 msgstr "kann Tabelle »%s« nicht in ungeloggt ändern, weil sie Teil einer Publikation ist"
 
-#: commands/tablecmds.c:15703
+#: commands/tablecmds.c:16284
 #, c-format
 msgid "Unlogged relations cannot be replicated."
 msgstr "Ungeloggte Relationen können nicht repliziert werden."
 
-#: commands/tablecmds.c:15748
+#: commands/tablecmds.c:16329
 #, c-format
 msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\""
 msgstr "konnte Tabelle »%s« nicht in geloggt ändern, weil sie auf die ungeloggte Tabelle »%s« verweist"
 
-#: commands/tablecmds.c:15758
+#: commands/tablecmds.c:16339
 #, c-format
 msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\""
 msgstr "konnte Tabelle »%s« nicht in ungeloggt ändern, weil sie auf die geloggte Tabelle »%s« verweist"
 
-#: commands/tablecmds.c:15816
+#: commands/tablecmds.c:16397
 #, c-format
 msgid "cannot move an owned sequence into another schema"
 msgstr "einer Tabelle zugeordnete Sequenz kann nicht in ein anderes Schema verschoben werden"
 
-#: commands/tablecmds.c:15923
+#: commands/tablecmds.c:16425
+#, fuzzy, c-format
+#| msgid "cannot convert partitioned table \"%s\" to a view"
+msgid "cannot move table \"%s\" to schema \"%s\""
+msgstr "kann partitionierte Tabelle »%s« nicht in eine Sicht umwandeln"
+
+#: commands/tablecmds.c:16427
+#, c-format
+msgid "The schema \"%s\" and same schema's table \"%s\" cannot be part of the same publication \"%s\"."
+msgstr ""
+
+#: commands/tablecmds.c:16531
 #, c-format
 msgid "relation \"%s\" already exists in schema \"%s\""
 msgstr "Relation »%s« existiert bereits in Schema »%s«"
 
-#: commands/tablecmds.c:16486
+#: commands/tablecmds.c:16944
+#, c-format
+msgid "\"%s\" is not a table or materialized view"
+msgstr "»%s« ist keine Tabelle oder materialisierte Sicht"
+
+#: commands/tablecmds.c:17094
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "»%s« ist kein zusammengesetzter Typ"
 
-#: commands/tablecmds.c:16518
+#: commands/tablecmds.c:17122
 #, c-format
-msgid "\"%s\" is not a table, view, materialized view, sequence, or foreign table"
-msgstr "»%s« ist weder Tabelle, Sicht, materialisierte Sicht, Sequenz noch Fremdtabelle"
+msgid "cannot change schema of index \"%s\""
+msgstr "kann Schema des Index »%s« nicht ändern"
+
+#: commands/tablecmds.c:17124 commands/tablecmds.c:17136
+#, fuzzy, c-format
+#| msgid "Change the ownership of the index's table, instead."
+msgid "Change the schema of the table instead."
+msgstr "Ändern Sie stattdessen den Eigentümer der Tabelle des Index."
+
+#: commands/tablecmds.c:17128
+#, fuzzy, c-format
+#| msgid "cannot convert Perl hash to non-composite type %s"
+msgid "cannot change schema of composite type \"%s\""
+msgstr "kann Perl-Hash nicht in nicht zusammengesetzten Typ %s umwandeln"
+
+#: commands/tablecmds.c:17134
+#, fuzzy, c-format
+#| msgid "cannot change TOAST relation \"%s\""
+msgid "cannot change schema of TOAST table \"%s\""
+msgstr "kann TOAST-Relation »%s« nicht ändern"
 
-#: commands/tablecmds.c:16553
+#: commands/tablecmds.c:17171
 #, c-format
 msgid "unrecognized partitioning strategy \"%s\""
 msgstr "unbekannte Partitionierungsstrategie »%s«"
 
-#: commands/tablecmds.c:16561
+#: commands/tablecmds.c:17179
 #, c-format
 msgid "cannot use \"list\" partition strategy with more than one column"
 msgstr "Partitionierungsstrategie »list« kann nicht mit mehr als einer Spalte verwendet werden"
 
-#: commands/tablecmds.c:16627
+#: commands/tablecmds.c:17245
 #, c-format
 msgid "column \"%s\" named in partition key does not exist"
 msgstr "Spalte »%s«, die im Partitionierungsschlüssel verwendet wird, existiert nicht"
 
-#: commands/tablecmds.c:16635
+#: commands/tablecmds.c:17253
 #, c-format
 msgid "cannot use system column \"%s\" in partition key"
 msgstr "Systemspalte »%s« kann nicht im Partitionierungsschlüssel verwendet werden"
 
-#: commands/tablecmds.c:16646 commands/tablecmds.c:16760
+#: commands/tablecmds.c:17264 commands/tablecmds.c:17378
 #, c-format
 msgid "cannot use generated column in partition key"
 msgstr "generierte Spalte kann nicht im Partitionierungsschlüssel verwendet werden"
 
-#: commands/tablecmds.c:16647 commands/tablecmds.c:16761 commands/trigger.c:635
-#: rewrite/rewriteHandler.c:884 rewrite/rewriteHandler.c:919
+#: commands/tablecmds.c:17265 commands/tablecmds.c:17379 commands/trigger.c:667
+#: rewrite/rewriteHandler.c:907 rewrite/rewriteHandler.c:942
 #, c-format
 msgid "Column \"%s\" is a generated column."
 msgstr "Spalte »%s« ist eine generierte Spalte."
 
-#: commands/tablecmds.c:16723
+#: commands/tablecmds.c:17341
 #, c-format
 msgid "functions in partition key expression must be marked IMMUTABLE"
 msgstr "Funktionen im Partitionierungsschlüsselausdruck müssen als IMMUTABLE markiert sein"
 
-#: commands/tablecmds.c:16743
+#: commands/tablecmds.c:17361
 #, c-format
 msgid "partition key expressions cannot contain system column references"
 msgstr "Partitionierungsschlüsselausdruck kann nicht auf Systemspalten verweisen"
 
-#: commands/tablecmds.c:16773
+#: commands/tablecmds.c:17391
 #, c-format
 msgid "cannot use constant expression as partition key"
 msgstr "Partitionierungsschlüssel kann kein konstanter Ausdruck sein"
 
-#: commands/tablecmds.c:16794
+#: commands/tablecmds.c:17412
 #, c-format
 msgid "could not determine which collation to use for partition expression"
 msgstr "konnte die für den Partitionierungsausdruck zu verwendende Sortierfolge nicht bestimmen"
 
-#: commands/tablecmds.c:16829
+#: commands/tablecmds.c:17447
 #, c-format
 msgid "You must specify a hash operator class or define a default hash operator class for the data type."
 msgstr "Sie müssen eine hash-Operatorklasse angeben oder eine hash-Standardoperatorklasse für den Datentyp definieren."
 
-#: commands/tablecmds.c:16835
+#: commands/tablecmds.c:17453
 #, c-format
 msgid "You must specify a btree operator class or define a default btree operator class for the data type."
 msgstr "Sie müssen eine btree-Operatorklasse angeben oder eine btree-Standardoperatorklasse für den Datentyp definieren."
 
-#: commands/tablecmds.c:17087
+#: commands/tablecmds.c:17704
 #, c-format
 msgid "\"%s\" is already a partition"
 msgstr "»%s« ist bereits eine Partition"
 
-#: commands/tablecmds.c:17093
+#: commands/tablecmds.c:17710
 #, c-format
 msgid "cannot attach a typed table as partition"
 msgstr "eine getypte Tabelle kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:17109
+#: commands/tablecmds.c:17726
 #, c-format
 msgid "cannot attach inheritance child as partition"
 msgstr "ein Vererbungskind kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:17123
+#: commands/tablecmds.c:17740
 #, c-format
 msgid "cannot attach inheritance parent as partition"
 msgstr "eine Tabelle mit abgeleiteten Tabellen kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:17157
+#: commands/tablecmds.c:17774
 #, c-format
 msgid "cannot attach a temporary relation as partition of permanent relation \"%s\""
 msgstr "eine temporäre Relation kann nicht als Partition an permanente Relation »%s« angefügt werden"
 
-#: commands/tablecmds.c:17165
+#: commands/tablecmds.c:17782
 #, c-format
 msgid "cannot attach a permanent relation as partition of temporary relation \"%s\""
 msgstr "eine permanente Relation kann nicht als Partition an temporäre Relation »%s« angefügt werden"
 
-#: commands/tablecmds.c:17173
+#: commands/tablecmds.c:17790
 #, c-format
 msgid "cannot attach as partition of temporary relation of another session"
 msgstr "kann nicht als Partition an temporäre Relation einer anderen Sitzung anfügen"
 
-#: commands/tablecmds.c:17180
+#: commands/tablecmds.c:17797
 #, c-format
 msgid "cannot attach temporary relation of another session as partition"
 msgstr "temporäre Relation einer anderen Sitzung kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:17200
+#: commands/tablecmds.c:17817
 #, c-format
 msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\""
 msgstr "Tabelle »%s« enthält Spalte »%s«, die nicht in der Elterntabelle »%s« gefunden wurde"
 
-#: commands/tablecmds.c:17203
+#: commands/tablecmds.c:17820
 #, c-format
 msgid "The new partition may contain only the columns present in parent."
 msgstr "Die neue Partition darf nur Spalten enthalten, die auch die Elterntabelle hat."
 
-#: commands/tablecmds.c:17215
+#: commands/tablecmds.c:17832
 #, c-format
 msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition"
 msgstr "Trigger »%s« verhindert, dass Tabelle »%s« eine Partition werden kann"
 
-#: commands/tablecmds.c:17217 commands/trigger.c:441
+#: commands/tablecmds.c:17834 commands/trigger.c:473
 #, c-format
 msgid "ROW triggers with transition tables are not supported on partitions"
 msgstr "ROW-Trigger mit Übergangstabellen werden für Partitionen nicht unterstützt"
 
-#: commands/tablecmds.c:17380
+#: commands/tablecmds.c:18013
 #, c-format
 msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\""
 msgstr "kann Fremdtabelle »%s« nicht als Partition an partitionierte Tabelle »%s« anfügen"
 
-#: commands/tablecmds.c:17383
+#: commands/tablecmds.c:18016
 #, c-format
 msgid "Partitioned table \"%s\" contains unique indexes."
 msgstr "Partitionierte Tabelle »%s« enthält Unique-Indexe."
 
-#: commands/tablecmds.c:17703
-#, fuzzy, c-format
-#| msgid "a hash-partitioned table may not have a default partition"
+#: commands/tablecmds.c:18327
+#, c-format
 msgid "cannot detach partitions concurrently when a default partition exists"
-msgstr "eine hashpartitionierte Tabelle kann keine Standardpartition haben"
+msgstr "nebenläufiges Abtrennen einer Partition ist nicht möglich, wenn eine Standardpartition existiert"
 
-#: commands/tablecmds.c:17812
+#: commands/tablecmds.c:18436
 #, c-format
 msgid "partitioned table \"%s\" was removed concurrently"
 msgstr "partitionierte Tabelle »%s« wurde nebenläufig entfernt"
 
-#: commands/tablecmds.c:17818
+#: commands/tablecmds.c:18442
 #, c-format
 msgid "partition \"%s\" was removed concurrently"
 msgstr "Partition »%s« wurde nebenläufig entfernt"
 
-#: commands/tablecmds.c:18272 commands/tablecmds.c:18292
-#: commands/tablecmds.c:18312 commands/tablecmds.c:18331
-#: commands/tablecmds.c:18373
+#: commands/tablecmds.c:18946 commands/tablecmds.c:18966
+#: commands/tablecmds.c:18986 commands/tablecmds.c:19005
+#: commands/tablecmds.c:19047
 #, c-format
 msgid "cannot attach index \"%s\" as a partition of index \"%s\""
 msgstr "kann Index »%s« nicht als Partition an Index »%s« anfügen"
 
-#: commands/tablecmds.c:18275
+#: commands/tablecmds.c:18949
 #, c-format
 msgid "Index \"%s\" is already attached to another index."
 msgstr "Index »%s« ist bereits an einen anderen Index angefügt."
 
-#: commands/tablecmds.c:18295
+#: commands/tablecmds.c:18969
 #, c-format
 msgid "Index \"%s\" is not an index on any partition of table \"%s\"."
 msgstr "Index »%s« ist kein Index irgendeiner Partition von Tabelle »%s«."
 
-#: commands/tablecmds.c:18315
+#: commands/tablecmds.c:18989
 #, c-format
 msgid "The index definitions do not match."
 msgstr "Die Indexdefinitionen stimmen nicht überein."
 
-#: commands/tablecmds.c:18334
+#: commands/tablecmds.c:19008
 #, c-format
 msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"."
 msgstr "Der Index »%s« gehört zu einem Constraint in Tabelle »%s«, aber kein Constraint existiert für Index »%s«."
 
-#: commands/tablecmds.c:18376
+#: commands/tablecmds.c:19050
 #, c-format
 msgid "Another index is already attached for partition \"%s\"."
 msgstr "Ein anderer Index ist bereits für Partition »%s« angefügt."
 
-#: commands/tablecmds.c:18606
+#: commands/tablecmds.c:19280
 #, c-format
 msgid "column data type %s does not support compression"
 msgstr "Spaltendatentyp %s unterstützt keine Komprimierung"
 
-#: commands/tablecmds.c:18613
+#: commands/tablecmds.c:19287
 #, c-format
 msgid "invalid compression method \"%s\""
 msgstr "ungültige Komprimierungsmethode »%s«"
 
-#: commands/tablespace.c:162 commands/tablespace.c:179
-#: commands/tablespace.c:190 commands/tablespace.c:198
-#: commands/tablespace.c:650 replication/slot.c:1409 storage/file/copydir.c:47
-#, c-format
-msgid "could not create directory \"%s\": %m"
-msgstr "konnte Verzeichnis »%s« nicht erzeugen: %m"
-
-#: commands/tablespace.c:209
+#: commands/tablespace.c:212 commands/tablespace.c:676
 #, c-format
 msgid "could not stat directory \"%s\": %m"
 msgstr "konnte »stat« für Verzeichnis »%s« nicht ausführen: %m"
 
-#: commands/tablespace.c:218
+#: commands/tablespace.c:221 commands/tablespace.c:687
 #, c-format
 msgid "\"%s\" exists but is not a directory"
 msgstr "»%s« existiert, ist aber kein Verzeichnis"
 
-#: commands/tablespace.c:249
+#: commands/tablespace.c:253
 #, c-format
 msgid "permission denied to create tablespace \"%s\""
 msgstr "keine Berechtigung, um Tablespace »%s« zu erzeugen"
 
-#: commands/tablespace.c:251
+#: commands/tablespace.c:255
 #, c-format
 msgid "Must be superuser to create a tablespace."
 msgstr "Nur Superuser können Tablespaces anlegen."
 
-#: commands/tablespace.c:267
+#: commands/tablespace.c:271
 #, c-format
 msgid "tablespace location cannot contain single quotes"
 msgstr "Tablespace-Pfad darf keine Apostrophe enthalten"
 
-#: commands/tablespace.c:277
+#: commands/tablespace.c:284
 #, c-format
 msgid "tablespace location must be an absolute path"
 msgstr "Tablespace-Pfad muss ein absoluter Pfad sein"
 
-#: commands/tablespace.c:289
+#: commands/tablespace.c:296
 #, c-format
 msgid "tablespace location \"%s\" is too long"
 msgstr "Tablespace-Pfad »%s« ist zu lang"
 
-#: commands/tablespace.c:296
+#: commands/tablespace.c:303
 #, c-format
 msgid "tablespace location should not be inside the data directory"
 msgstr "Tablespace-Pfad sollte nicht innerhalb des Datenverzeichnisses sein"
 
-#: commands/tablespace.c:305 commands/tablespace.c:977
+#: commands/tablespace.c:312 commands/tablespace.c:1018
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "inakzeptabler Tablespace-Name »%s«"
 
-#: commands/tablespace.c:307 commands/tablespace.c:978
+#: commands/tablespace.c:314 commands/tablespace.c:1019
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "Der Präfix »pg_« ist für System-Tablespaces reserviert."
 
-#: commands/tablespace.c:326 commands/tablespace.c:999
+#: commands/tablespace.c:333 commands/tablespace.c:1040
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "Tablespace »%s« existiert bereits"
 
-#: commands/tablespace.c:444 commands/tablespace.c:960
-#: commands/tablespace.c:1049 commands/tablespace.c:1118
-#: commands/tablespace.c:1264 commands/tablespace.c:1467
+#: commands/tablespace.c:351
+#, 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 "OID-Wert für pg_type ist im Binary-Upgrade-Modus nicht gesetzt"
+
+#: commands/tablespace.c:463 commands/tablespace.c:1001
+#: commands/tablespace.c:1090 commands/tablespace.c:1159
+#: commands/tablespace.c:1305 commands/tablespace.c:1508
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "Tablespace »%s« existiert nicht"
 
-#: commands/tablespace.c:450
+#: commands/tablespace.c:469
 #, c-format
 msgid "tablespace \"%s\" does not exist, skipping"
 msgstr "Tablespace »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablespace.c:478
+#: commands/tablespace.c:495
 #, c-format
 msgid "tablespace \"%s\" cannot be dropped because some objects depend on it"
 msgstr "kann Tablespace »%s« nicht löschen, weil andere Objekte davon abhängen"
 
-#: commands/tablespace.c:537
+#: commands/tablespace.c:562
 #, c-format
 msgid "tablespace \"%s\" is not empty"
 msgstr "Tablespace »%s« ist nicht leer"
 
-#: commands/tablespace.c:609
+#: commands/tablespace.c:654
 #, c-format
 msgid "directory \"%s\" does not exist"
 msgstr "Verzeichnis »%s« existiert nicht"
 
-#: commands/tablespace.c:610
+#: commands/tablespace.c:655
 #, c-format
 msgid "Create this directory for the tablespace before restarting the server."
 msgstr "Erzeugen Sie dieses Verzeichnis für den Tablespace bevor Sie den Server neu starten."
 
-#: commands/tablespace.c:615
+#: commands/tablespace.c:660
 #, c-format
 msgid "could not set permissions on directory \"%s\": %m"
 msgstr "konnte Zugriffsrechte für Verzeichnis »%s« nicht setzen: %m"
 
-#: commands/tablespace.c:645
+#: commands/tablespace.c:692
 #, c-format
 msgid "directory \"%s\" already in use as a tablespace"
 msgstr "Verzeichnis »%s« ist bereits als Tablespace in Verwendung"
 
-#: commands/tablespace.c:769 commands/tablespace.c:782
-#: commands/tablespace.c:818 commands/tablespace.c:910 storage/file/fd.c:3161
-#: storage/file/fd.c:3557
+#: commands/tablespace.c:810 commands/tablespace.c:823
+#: commands/tablespace.c:859 commands/tablespace.c:951 storage/file/fd.c:3255
+#: storage/file/fd.c:3669
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "konnte Verzeichnis »%s« nicht löschen: %m"
 
-#: commands/tablespace.c:831 commands/tablespace.c:919
+#: commands/tablespace.c:872 commands/tablespace.c:960
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "konnte symbolische Verknüpfung »%s« nicht löschen: %m"
 
-#: commands/tablespace.c:841 commands/tablespace.c:928
+#: commands/tablespace.c:882 commands/tablespace.c:969
 #, c-format
 msgid "\"%s\" is not a directory or symbolic link"
 msgstr "»%s« ist kein Verzeichnis oder symbolische Verknüpfung"
 
-#: commands/tablespace.c:1123
+#: commands/tablespace.c:1164
 #, c-format
 msgid "Tablespace \"%s\" does not exist."
 msgstr "Tablespace »%s« existiert nicht."
 
-#: commands/tablespace.c:1566
+#: commands/tablespace.c:1610
 #, c-format
 msgid "directories for tablespace %u could not be removed"
 msgstr "Verzeichnisse für Tablespace %u konnten nicht entfernt werden"
 
-#: commands/tablespace.c:1568
+#: commands/tablespace.c:1612
 #, c-format
 msgid "You can remove the directories manually if necessary."
 msgstr "Sie können die Verzeichnisse falls nötig manuell entfernen."
 
-#: commands/trigger.c:198 commands/trigger.c:209
+#: commands/trigger.c:229 commands/trigger.c:240
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "»%s« ist eine Tabelle"
 
-#: commands/trigger.c:200 commands/trigger.c:211
+#: commands/trigger.c:231 commands/trigger.c:242
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "Tabellen können keine INSTEAD OF-Trigger haben."
 
-#: commands/trigger.c:232
+#: commands/trigger.c:263
 #, c-format
 msgid "\"%s\" is a partitioned table"
 msgstr "»%s« ist eine partitionierte Tabelle"
 
-#: commands/trigger.c:234
+#: commands/trigger.c:265
 #, c-format
 msgid "Triggers on partitioned tables cannot have transition tables."
 msgstr "Trigger für partitionierte Tabellen können keine Übergangstabellen haben."
 
-#: commands/trigger.c:246 commands/trigger.c:253 commands/trigger.c:423
+#: commands/trigger.c:277 commands/trigger.c:284 commands/trigger.c:455
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "»%s« ist eine Sicht"
 
-#: commands/trigger.c:248
+#: commands/trigger.c:279
 #, c-format
 msgid "Views cannot have row-level BEFORE or AFTER triggers."
 msgstr "Sichten können keine BEFORE- oder AFTER-Trigger auf Zeilenebene haben."
 
-#: commands/trigger.c:255
+#: commands/trigger.c:286
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "Sichten können keine TRUNCATE-Trigger haben."
 
-#: commands/trigger.c:263 commands/trigger.c:270 commands/trigger.c:282
-#: commands/trigger.c:416
+#: commands/trigger.c:294 commands/trigger.c:301 commands/trigger.c:313
+#: commands/trigger.c:448
 #, c-format
 msgid "\"%s\" is a foreign table"
 msgstr "»%s« ist eine Fremdtabelle"
 
-#: commands/trigger.c:265
+#: commands/trigger.c:296
 #, c-format
 msgid "Foreign tables cannot have INSTEAD OF triggers."
 msgstr "Fremdtabellen können keine INSTEAD OF-Trigger haben."
 
-#: commands/trigger.c:272
+#: commands/trigger.c:303
 #, c-format
 msgid "Foreign tables cannot have TRUNCATE triggers."
 msgstr "Fremdtabellen können keine TRUNCATE-Trigger haben."
 
-#: commands/trigger.c:284
+#: commands/trigger.c:315
 #, c-format
 msgid "Foreign tables cannot have constraint triggers."
 msgstr "Fremdtabellen können keine Constraint-Trigger haben."
 
-#: commands/trigger.c:359
+#: commands/trigger.c:320 commands/trigger.c:1375 commands/trigger.c:1482
+#, c-format
+msgid "relation \"%s\" cannot have triggers"
+msgstr "Relation »%s« kann keine Trigger haben"
+
+#: commands/trigger.c:391
 #, c-format
 msgid "TRUNCATE FOR EACH ROW triggers are not supported"
 msgstr "TRUNCATE FOR EACH ROW-Trigger werden nicht unterstützt"
 
-#: commands/trigger.c:367
+#: commands/trigger.c:399
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "INSTEAD OF-Trigger müssen FOR EACH ROW sein"
 
-#: commands/trigger.c:371
+#: commands/trigger.c:403
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "INSTEAD OF-Trigger können keine WHEN-Bedingungen haben"
 
-#: commands/trigger.c:375
+#: commands/trigger.c:407
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "INSTEAD OF-Trigger können keine Spaltenlisten haben"
 
-#: commands/trigger.c:404
+#: commands/trigger.c:436
 #, c-format
 msgid "ROW variable naming in the REFERENCING clause is not supported"
 msgstr "Benennung von ROW-Variablen in der REFERENCING-Klausel wird nicht unterstützt"
 
-#: commands/trigger.c:405
+#: commands/trigger.c:437
 #, c-format
 msgid "Use OLD TABLE or NEW TABLE for naming transition tables."
 msgstr "Verwenden Sie OLD TABLE und NEW TABLE, um Übergangstabellen zu benennen."
 
-#: commands/trigger.c:418
+#: commands/trigger.c:450
 #, c-format
 msgid "Triggers on foreign tables cannot have transition tables."
 msgstr "Trigger für Fremdtabellen können keine Übergangstabellen haben."
 
-#: commands/trigger.c:425
+#: commands/trigger.c:457
 #, c-format
 msgid "Triggers on views cannot have transition tables."
 msgstr "Trigger für Sichten können keine Übergangstabellen haben."
 
-#: commands/trigger.c:445
+#: commands/trigger.c:477
 #, c-format
 msgid "ROW triggers with transition tables are not supported on inheritance children"
 msgstr "ROW-Trigger mit Übergangstabellen werden für Vererbungskinder nicht unterstützt"
 
-#: commands/trigger.c:451
+#: commands/trigger.c:483
 #, c-format
 msgid "transition table name can only be specified for an AFTER trigger"
 msgstr "Übergangstabellenname kann nur für einen AFTER-Trigger angegeben werden"
 
-#: commands/trigger.c:456
+#: commands/trigger.c:488
 #, c-format
 msgid "TRUNCATE triggers with transition tables are not supported"
 msgstr "TRUNCATE-Trigger mit Übergangstabellen werden nicht unterstützt"
 
-#: commands/trigger.c:473
+#: commands/trigger.c:505
 #, c-format
 msgid "transition tables cannot be specified for triggers with more than one event"
 msgstr "Übergangstabellen können nicht für Trigger mit mehr als einem Ereignis angegeben werden"
 
-#: commands/trigger.c:484
+#: commands/trigger.c:516
 #, c-format
 msgid "transition tables cannot be specified for triggers with column lists"
 msgstr "Übergangstabellen können nicht für Trigger mit Spaltenlisten angegeben werden"
 
-#: commands/trigger.c:501
+#: commands/trigger.c:533
 #, c-format
 msgid "NEW TABLE can only be specified for an INSERT or UPDATE trigger"
 msgstr "NEW TABLE kann nur für INSERT- oder UPDATE-Trigger angegeben werden"
 
-#: commands/trigger.c:506
+#: commands/trigger.c:538
 #, c-format
 msgid "NEW TABLE cannot be specified multiple times"
 msgstr "NEW TABLE kann nicht mehrmals angegeben werden"
 
-#: commands/trigger.c:516
+#: commands/trigger.c:548
 #, c-format
 msgid "OLD TABLE can only be specified for a DELETE or UPDATE trigger"
 msgstr "OLD TABLE kann nur für DELETE- oder UPDATE-Trigger angegeben werden"
 
-#: commands/trigger.c:521
+#: commands/trigger.c:553
 #, c-format
 msgid "OLD TABLE cannot be specified multiple times"
 msgstr "OLD TABLE kann nicht mehrmals angegeben werden"
 
-#: commands/trigger.c:531
+#: commands/trigger.c:563
 #, c-format
 msgid "OLD TABLE name and NEW TABLE name cannot be the same"
 msgstr "Name für OLD TABLE und NEW TABLE kann nicht gleich sein"
 
-#: commands/trigger.c:595 commands/trigger.c:608
+#: commands/trigger.c:627 commands/trigger.c:640
 #, c-format
 msgid "statement trigger's WHEN condition cannot reference column values"
 msgstr "WHEN-Bedingung eines Statement-Triggers kann keine Verweise auf Spaltenwerte enthalten"
 
-#: commands/trigger.c:600
+#: commands/trigger.c:632
 #, c-format
 msgid "INSERT trigger's WHEN condition cannot reference OLD values"
 msgstr "WHEN-Bedingung eines INSERT-Triggers kann keine Verweise auf OLD-Werte enthalten"
 
-#: commands/trigger.c:613
+#: commands/trigger.c:645
 #, c-format
 msgid "DELETE trigger's WHEN condition cannot reference NEW values"
 msgstr "WHEN-Bedingung eines DELETE-Triggers kann keine Verweise auf NEW-Werte enthalten"
 
-#: commands/trigger.c:618
+#: commands/trigger.c:650
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns"
 msgstr "WHEN-Bedingung eines BEFORE-Triggers kann keine Verweise auf Systemspalten in NEW enthalten"
 
-#: commands/trigger.c:626 commands/trigger.c:634
+#: commands/trigger.c:658 commands/trigger.c:666
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW generated columns"
 msgstr "WHEN-Bedingung eines BEFORE-Triggers kann keine Verweise auf generierte Spalten in NEW enthalten"
 
-#: commands/trigger.c:627
+#: commands/trigger.c:659
 #, c-format
 msgid "A whole-row reference is used and the table contains generated columns."
 msgstr "Ein Verweis auf die ganze Zeile der Tabelle wird verwendet und die Tabelle enthält generierte Spalten."
 
-#: commands/trigger.c:741 commands/trigger.c:1450
+#: commands/trigger.c:774 commands/trigger.c:1657
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "Trigger »%s« für Relation »%s« existiert bereits"
 
-#: commands/trigger.c:755
-#, c-format
-msgid "trigger \"%s\" for relation \"%s\" is an internal trigger"
+#: commands/trigger.c:787
+#, fuzzy, c-format
+#| msgid "trigger \"%s\" for relation \"%s\" is an internal trigger"
+msgid "trigger \"%s\" for relation \"%s\" is an internal or a child trigger"
 msgstr "Trigger »%s« für Relation »%s« ist ein interner Trigger"
 
-#: commands/trigger.c:774
+#: commands/trigger.c:806
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger"
 msgstr "Trigger »%s« für Relation »%s« ist ein Constraint-Trigger"
 
-#: commands/trigger.c:1336 commands/trigger.c:1497 commands/trigger.c:1612
+#: commands/trigger.c:1447 commands/trigger.c:1600 commands/trigger.c:1846
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "Trigger »%s« für Tabelle »%s« existiert nicht"
 
-#: commands/trigger.c:1580
+#: commands/trigger.c:1572
+#, fuzzy, c-format
+#| msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\""
+msgid "cannot rename trigger \"%s\" on table \"%s\""
+msgstr "kein »pg_constraint«-Eintrag für Trigger »%s« für Tabelle »%s«"
+
+#: commands/trigger.c:1574
+#, fuzzy, c-format
+#| msgid "cannot inherit from partitioned table \"%s\""
+msgid "Rename trigger on partitioned table \"%s\" instead."
+msgstr "von partitionierter Tabelle »%s« kann nicht geerbt werden"
+
+#: commands/trigger.c:1674
+#, fuzzy, c-format
+#| msgid "cannot alter constraint \"%s\" on relation \"%s\""
+msgid "renamed trigger \"%s\" on relation \"%s\""
+msgstr "Constraint »%s« von Relation »%s« kann nicht geändert werden"
+
+#: commands/trigger.c:1814
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "keine Berechtigung: »%s« ist ein Systemtrigger"
 
-#: commands/trigger.c:2160
+#: commands/trigger.c:2394
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "Triggerfunktion %u gab NULL-Wert zurück"
 
-#: commands/trigger.c:2220 commands/trigger.c:2434 commands/trigger.c:2673
-#: commands/trigger.c:2977
+#: commands/trigger.c:2454 commands/trigger.c:2672 commands/trigger.c:2922
+#: commands/trigger.c:3255
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "Trigger für BEFORE STATEMENT kann keinen Wert zurückgeben"
 
-#: commands/trigger.c:2294
+#: commands/trigger.c:2530
 #, c-format
 msgid "moving row to another partition during a BEFORE FOR EACH ROW trigger is not supported"
 msgstr "Verschieben einer Zeile in eine andere Partition durch einen BEFORE-FOR-EACH-ROW-Trigger wird nicht unterstützt"
 
-#: commands/trigger.c:2295
+#: commands/trigger.c:2531
 #, c-format
 msgid "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"."
 msgstr "Vor der Ausführung von Trigger »%s« gehörte die Zeile in Partition »%s.%s«."
 
-#: commands/trigger.c:3043 executor/nodeModifyTable.c:1811
-#: executor/nodeModifyTable.c:1893
+#: commands/trigger.c:3329 executor/nodeModifyTable.c:2224
+#: executor/nodeModifyTable.c:2307
 #, c-format
 msgid "tuple to be updated was already modified by an operation triggered by the current command"
 msgstr "das zu aktualisierende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert"
 
-#: commands/trigger.c:3044 executor/nodeModifyTable.c:1193
-#: executor/nodeModifyTable.c:1267 executor/nodeModifyTable.c:1812
-#: executor/nodeModifyTable.c:1894
+#: commands/trigger.c:3330 executor/nodeModifyTable.c:1410
+#: executor/nodeModifyTable.c:1484 executor/nodeModifyTable.c:2225
+#: executor/nodeModifyTable.c:2308 executor/nodeModifyTable.c:2966
 #, c-format
 msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows."
 msgstr "Verwenden Sie einen AFTER-Trigger anstelle eines BEFORE-Triggers, um Änderungen an andere Zeilen zu propagieren."
 
-#: commands/trigger.c:3073 executor/nodeLockRows.c:225
-#: executor/nodeLockRows.c:234 executor/nodeModifyTable.c:228
-#: executor/nodeModifyTable.c:1209 executor/nodeModifyTable.c:1829
-#: executor/nodeModifyTable.c:2059
+#: commands/trigger.c:3359 executor/nodeLockRows.c:229
+#: executor/nodeLockRows.c:238 executor/nodeModifyTable.c:329
+#: executor/nodeModifyTable.c:1426 executor/nodeModifyTable.c:2242
+#: executor/nodeModifyTable.c:2452
 #, c-format
 msgid "could not serialize access due to concurrent update"
 msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitiger Aktualisierung"
 
-#: commands/trigger.c:3081 executor/nodeModifyTable.c:1299
-#: executor/nodeModifyTable.c:1911 executor/nodeModifyTable.c:2083
+#: commands/trigger.c:3367 executor/nodeModifyTable.c:1516
+#: executor/nodeModifyTable.c:2325 executor/nodeModifyTable.c:2476
+#: executor/nodeModifyTable.c:2832
 #, c-format
 msgid "could not serialize access due to concurrent delete"
 msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitigem Löschen"
 
-#: commands/trigger.c:4142
+#: commands/trigger.c:4543
 #, c-format
 msgid "cannot fire deferred trigger within security-restricted operation"
 msgstr "aufgeschobener Trigger kann nicht in einer sicherheitsbeschränkten Operation ausgelöst werden"
 
-#: commands/trigger.c:5185
+#: commands/trigger.c:5719
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "Constraint »%s« ist nicht aufschiebbar"
 
-#: commands/trigger.c:5208
+#: commands/trigger.c:5742
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "Constraint »%s« existiert nicht"
@@ -11021,643 +11564,637 @@ msgstr "nur Superuser können Basistypen anlegen"
 msgid "Create the type as a shell type, then create its I/O functions, then do a full CREATE TYPE."
 msgstr "Erzeugen Sie den Typ als Shell-Typ, legen Sie dann die I/O-Funktionen an und führen Sie dann das volle CREATE TYPE aus."
 
-#: commands/typecmds.c:327 commands/typecmds.c:1465 commands/typecmds.c:4281
+#: commands/typecmds.c:327 commands/typecmds.c:1450 commands/typecmds.c:4268
 #, c-format
 msgid "type attribute \"%s\" not recognized"
 msgstr "Typ-Attribut »%s« nicht erkannt"
 
-#: commands/typecmds.c:385
+#: commands/typecmds.c:382
 #, c-format
 msgid "invalid type category \"%s\": must be simple ASCII"
 msgstr "ungültige Typenkategorie »%s«: muss einfacher ASCII-Wert sein"
 
-#: commands/typecmds.c:404
+#: commands/typecmds.c:401
 #, c-format
 msgid "array element type cannot be %s"
 msgstr "Arrayelementtyp kann nicht %s sein"
 
-#: commands/typecmds.c:436
+#: commands/typecmds.c:433
 #, c-format
 msgid "alignment \"%s\" not recognized"
 msgstr "Ausrichtung »%s« nicht erkannt"
 
-#: commands/typecmds.c:453 commands/typecmds.c:4155
+#: commands/typecmds.c:450 commands/typecmds.c:4142
 #, c-format
 msgid "storage \"%s\" not recognized"
 msgstr "Storage-Typ »%s« nicht erkannt"
 
-#: commands/typecmds.c:464
+#: commands/typecmds.c:461
 #, c-format
 msgid "type input function must be specified"
 msgstr "Typeingabefunktion muss angegeben werden"
 
-#: commands/typecmds.c:468
+#: commands/typecmds.c:465
 #, c-format
 msgid "type output function must be specified"
 msgstr "Typausgabefunktion muss angegeben werden"
 
-#: commands/typecmds.c:473
+#: commands/typecmds.c:470
 #, c-format
 msgid "type modifier output function is useless without a type modifier input function"
 msgstr "Typmodifikatorausgabefunktion ist nutzlos ohne Typmodifikatoreingabefunktion"
 
-#: commands/typecmds.c:515
+#: commands/typecmds.c:512
 #, c-format
-msgid "element type cannot be specified without a valid subscripting procedure"
-msgstr ""
+msgid "element type cannot be specified without a subscripting function"
+msgstr "Elementtyp kann nicht ohne eine Subscript-Funktion angeben werden"
 
-#: commands/typecmds.c:784
+#: commands/typecmds.c:781
 #, c-format
 msgid "\"%s\" is not a valid base type for a domain"
 msgstr "»%s« ist kein gültiger Basistyp für eine Domäne"
 
-#: commands/typecmds.c:882
+#: commands/typecmds.c:879
 #, c-format
 msgid "multiple default expressions"
 msgstr "mehrere Vorgabeausdrücke"
 
-#: commands/typecmds.c:945 commands/typecmds.c:954
+#: commands/typecmds.c:942 commands/typecmds.c:951
 #, c-format
 msgid "conflicting NULL/NOT NULL constraints"
 msgstr "wiedersprüchliche NULL/NOT NULL-Constraints"
 
-#: commands/typecmds.c:970
+#: commands/typecmds.c:967
 #, c-format
 msgid "check constraints for domains cannot be marked NO INHERIT"
 msgstr "Check-Constraints für Domänen können nicht als NO INHERIT markiert werden"
 
-#: commands/typecmds.c:979 commands/typecmds.c:2975
+#: commands/typecmds.c:976 commands/typecmds.c:2960
 #, c-format
 msgid "unique constraints not possible for domains"
 msgstr "Unique-Constraints sind nicht für Domänen möglich"
 
-#: commands/typecmds.c:985 commands/typecmds.c:2981
+#: commands/typecmds.c:982 commands/typecmds.c:2966
 #, c-format
 msgid "primary key constraints not possible for domains"
 msgstr "Primärschlüssel-Constraints sind nicht fürDomänen möglich"
 
-#: commands/typecmds.c:991 commands/typecmds.c:2987
+#: commands/typecmds.c:988 commands/typecmds.c:2972
 #, c-format
 msgid "exclusion constraints not possible for domains"
 msgstr "Exclusion-Constraints sind nicht für Domänen möglich"
 
-#: commands/typecmds.c:997 commands/typecmds.c:2993
+#: commands/typecmds.c:994 commands/typecmds.c:2978
 #, c-format
 msgid "foreign key constraints not possible for domains"
 msgstr "Fremdschlüssel-Constraints sind nicht für Domänen möglich"
 
-#: commands/typecmds.c:1006 commands/typecmds.c:3002
+#: commands/typecmds.c:1003 commands/typecmds.c:2987
 #, c-format
 msgid "specifying constraint deferrability not supported for domains"
 msgstr "Setzen des Constraint-Modus wird für Domänen nicht unterstützt"
 
-#: commands/typecmds.c:1320 utils/cache/typcache.c:2545
+#: commands/typecmds.c:1317 utils/cache/typcache.c:2567
 #, c-format
 msgid "%s is not an enum"
 msgstr "»%s« ist kein Enum"
 
-#: commands/typecmds.c:1473
+#: commands/typecmds.c:1458
 #, c-format
 msgid "type attribute \"subtype\" is required"
 msgstr "Typ-Attribut »subtype« muss angegeben werden"
 
-#: commands/typecmds.c:1478
+#: commands/typecmds.c:1463
 #, c-format
 msgid "range subtype cannot be %s"
 msgstr "Bereichtsuntertyp kann nicht %s sein"
 
-#: commands/typecmds.c:1497
+#: commands/typecmds.c:1482
 #, c-format
 msgid "range collation specified but subtype does not support collation"
 msgstr "Sortierfolge für Bereichstyp angegeben, aber Untertyp unterstützt keine Sortierfolgen"
 
-#: commands/typecmds.c:1507
+#: commands/typecmds.c:1492
 #, c-format
 msgid "cannot specify a canonical function without a pre-created shell type"
 msgstr "Canonical-Funktion kann nicht angegeben werden ohne einen vorher angelegten Shell-Typ"
 
-#: commands/typecmds.c:1508
+#: commands/typecmds.c:1493
 #, c-format
 msgid "Create the type as a shell type, then create its canonicalization function, then do a full CREATE TYPE."
 msgstr "Erzeugen Sie den Typ als Shell-Typ, legen Sie dann die Canonicalization-Funktion an und führen Sie dann das volle CREATE TYPE aus."
 
-#: commands/typecmds.c:1982
+#: commands/typecmds.c:1966
 #, c-format
 msgid "type input function %s has multiple matches"
 msgstr "Typeingabefunktion %s hat mehrere Übereinstimmungen"
 
-#: commands/typecmds.c:2000
+#: commands/typecmds.c:1984
 #, c-format
 msgid "type input function %s must return type %s"
 msgstr "Typeingabefunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2016
+#: commands/typecmds.c:2000
 #, c-format
 msgid "type input function %s should not be volatile"
 msgstr "Typeingabefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:2044
+#: commands/typecmds.c:2028
 #, c-format
 msgid "type output function %s must return type %s"
 msgstr "Typausgabefunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2051
+#: commands/typecmds.c:2035
 #, c-format
 msgid "type output function %s should not be volatile"
 msgstr "Typausgabefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:2080
+#: commands/typecmds.c:2064
 #, c-format
 msgid "type receive function %s has multiple matches"
 msgstr "Typempfangsfunktion %s hat mehrere Übereinstimmungen"
 
-#: commands/typecmds.c:2098
+#: commands/typecmds.c:2082
 #, c-format
 msgid "type receive function %s must return type %s"
 msgstr "Typempfangsfunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2105
+#: commands/typecmds.c:2089
 #, c-format
 msgid "type receive function %s should not be volatile"
 msgstr "Typempfangsfunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:2133
+#: commands/typecmds.c:2117
 #, c-format
 msgid "type send function %s must return type %s"
 msgstr "Typsendefunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2140
+#: commands/typecmds.c:2124
 #, c-format
 msgid "type send function %s should not be volatile"
 msgstr "Typsendefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:2167
+#: commands/typecmds.c:2151
 #, c-format
 msgid "typmod_in function %s must return type %s"
 msgstr "typmod_in-Funktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2174
+#: commands/typecmds.c:2158
 #, c-format
 msgid "type modifier input function %s should not be volatile"
 msgstr "Typmodifikatoreingabefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:2201
+#: commands/typecmds.c:2185
 #, c-format
 msgid "typmod_out function %s must return type %s"
 msgstr "typmod_out-Funktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2208
+#: commands/typecmds.c:2192
 #, c-format
 msgid "type modifier output function %s should not be volatile"
 msgstr "Typmodifikatorausgabefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:2235
+#: commands/typecmds.c:2219
 #, c-format
 msgid "type analyze function %s must return type %s"
 msgstr "Typanalysefunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2264
-#, fuzzy, c-format
-#| msgid "type input function %s must return type %s"
+#: commands/typecmds.c:2248
+#, c-format
 msgid "type subscripting function %s must return type %s"
-msgstr "Typeingabefunktion %s muss Typ %s zurückgeben"
+msgstr "Typ-Subscript-Funktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2274
+#: commands/typecmds.c:2258
 #, c-format
 msgid "user-defined types cannot use subscripting function %s"
-msgstr ""
+msgstr "benutzerdefinierte Typen können Subscript-Funktion %s nicht verwenden"
 
-#: commands/typecmds.c:2320
+#: commands/typecmds.c:2304
 #, c-format
 msgid "You must specify an operator class for the range type or define a default operator class for the subtype."
 msgstr "Sie müssen für den Bereichstyp eine Operatorklasse angeben oder eine Standardoperatorklasse für den Untertyp definieren."
 
-#: commands/typecmds.c:2351
+#: commands/typecmds.c:2335
 #, c-format
 msgid "range canonical function %s must return range type"
 msgstr "Bereichstyp-Canonical-Funktion %s muss Bereichstyp zurückgeben"
 
-#: commands/typecmds.c:2357
+#: commands/typecmds.c:2341
 #, c-format
 msgid "range canonical function %s must be immutable"
 msgstr "Bereichstyp-Canonical-Funktion %s muss »immutable« sein"
 
-#: commands/typecmds.c:2393
+#: commands/typecmds.c:2377
 #, c-format
 msgid "range subtype diff function %s must return type %s"
 msgstr "Bereichstyp-Untertyp-Diff-Funktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2400
+#: commands/typecmds.c:2384
 #, c-format
 msgid "range subtype diff function %s must be immutable"
 msgstr "Bereichstyp-Untertyp-Diff-Funktion %s muss »immutable« sein"
 
-#: commands/typecmds.c:2427
+#: commands/typecmds.c:2411
 #, c-format
 msgid "pg_type array OID value not set when in binary upgrade mode"
 msgstr "Array-OID-Wert für pg_type ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: commands/typecmds.c:2460
+#: commands/typecmds.c:2444
 #, c-format
 msgid "pg_type multirange OID value not set when in binary upgrade mode"
 msgstr "Multirange-OID-Wert für pg_type ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: commands/typecmds.c:2493
+#: commands/typecmds.c:2477
 #, c-format
 msgid "pg_type multirange array OID value not set when in binary upgrade mode"
 msgstr "Multirange-Array-OID-Wert für pg_type ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: commands/typecmds.c:2791
+#: commands/typecmds.c:2776
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains null values"
 msgstr "Spalte »%s« von Tabelle »%s« enthält NULL-Werte"
 
-#: commands/typecmds.c:2904 commands/typecmds.c:3106
+#: commands/typecmds.c:2889 commands/typecmds.c:3091
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist"
 msgstr "Constraint »%s« von Domäne »%s« existiert nicht"
 
-#: commands/typecmds.c:2908
+#: commands/typecmds.c:2893
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping"
 msgstr "Constraint »%s« von Domäne »%s« existiert nicht, wird übersprungen"
 
-#: commands/typecmds.c:3113
+#: commands/typecmds.c:3098
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" is not a check constraint"
 msgstr "Constraint »%s« von Domäne »%s« ist kein Check-Constraint"
 
-#: commands/typecmds.c:3219
+#: commands/typecmds.c:3204
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains values that violate the new constraint"
 msgstr "Spalte »%s« von Tabelle »%s« enthält Werte, die den neuen Constraint verletzen"
 
-#: commands/typecmds.c:3448 commands/typecmds.c:3646 commands/typecmds.c:3727
-#: commands/typecmds.c:3913
+#: commands/typecmds.c:3433 commands/typecmds.c:3633 commands/typecmds.c:3714
+#: commands/typecmds.c:3900
 #, c-format
 msgid "%s is not a domain"
 msgstr "%s ist keine Domäne"
 
-#: commands/typecmds.c:3480
+#: commands/typecmds.c:3465
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" already exists"
 msgstr "Constraint »%s« für Domäne »%s« existiert bereits"
 
-#: commands/typecmds.c:3531
+#: commands/typecmds.c:3516
 #, c-format
 msgid "cannot use table references in domain check constraint"
 msgstr "Tabellenverweise können in Domänen-Check-Constraints nicht verwendet werden"
 
-#: commands/typecmds.c:3658 commands/typecmds.c:3739 commands/typecmds.c:4030
+#: commands/typecmds.c:3645 commands/typecmds.c:3726 commands/typecmds.c:4017
 #, c-format
 msgid "%s is a table's row type"
 msgstr "%s ist der Zeilentyp einer Tabelle"
 
-#: commands/typecmds.c:3660 commands/typecmds.c:3741 commands/typecmds.c:4032
+#: commands/typecmds.c:3647 commands/typecmds.c:3728 commands/typecmds.c:4019
 #, c-format
 msgid "Use ALTER TABLE instead."
 msgstr "Verwenden Sie stattdessen ALTER TABLE."
 
-#: commands/typecmds.c:3666 commands/typecmds.c:3747 commands/typecmds.c:3945
+#: commands/typecmds.c:3653 commands/typecmds.c:3734 commands/typecmds.c:3932
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "Array-Typ %s kann nicht verändert werden"
 
-#: commands/typecmds.c:3668 commands/typecmds.c:3749 commands/typecmds.c:3947
+#: commands/typecmds.c:3655 commands/typecmds.c:3736 commands/typecmds.c:3934
 #, c-format
 msgid "You can alter type %s, which will alter the array type as well."
 msgstr "Sie können den Typ %s ändern, wodurch der Array-Typ ebenfalls geändert wird."
 
-#: commands/typecmds.c:4015
+#: commands/typecmds.c:4002
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "Typ %s existiert bereits in Schema »%s«"
 
-#: commands/typecmds.c:4183
+#: commands/typecmds.c:4170
 #, c-format
 msgid "cannot change type's storage to PLAIN"
 msgstr "Storage-Typ eines Typs kann nicht in PLAIN geändert werden"
 
-#: commands/typecmds.c:4276
+#: commands/typecmds.c:4263
 #, c-format
 msgid "type attribute \"%s\" cannot be changed"
 msgstr "Typ-Attribut »%s« kann nicht geändert werden"
 
-#: commands/typecmds.c:4294
+#: commands/typecmds.c:4281
 #, c-format
 msgid "must be superuser to alter a type"
 msgstr "nur Superuser können Typen ändern"
 
-#: commands/typecmds.c:4315 commands/typecmds.c:4324
+#: commands/typecmds.c:4302 commands/typecmds.c:4311
 #, c-format
 msgid "%s is not a base type"
 msgstr "%s ist kein Basistyp"
 
-#: commands/user.c:140
+#: commands/user.c:138
 #, c-format
 msgid "SYSID can no longer be specified"
 msgstr "SYSID kann nicht mehr angegeben werden"
 
-#: commands/user.c:294
+#: commands/user.c:256
 #, c-format
 msgid "must be superuser to create superusers"
 msgstr "nur Superuser können Superuser anlegen"
 
-#: commands/user.c:301
+#: commands/user.c:263
 #, c-format
 msgid "must be superuser to create replication users"
 msgstr "nur Superuser können Replikationsbenutzer anlegen"
 
-#: commands/user.c:308
+#: commands/user.c:270
 #, c-format
 msgid "must be superuser to create bypassrls users"
 msgstr "nur Superuser können Benutzer mit »bypassrls« anlegen"
 
-#: commands/user.c:315
+#: commands/user.c:277
 #, c-format
 msgid "permission denied to create role"
 msgstr "keine Berechtigung, um Rolle zu erzeugen"
 
-#: commands/user.c:325 commands/user.c:1226 commands/user.c:1233 gram.y:15283
-#: gram.y:15328 utils/adt/acl.c:5248 utils/adt/acl.c:5254
+#: commands/user.c:287 commands/user.c:1139 commands/user.c:1146 gram.y:17457
+#: gram.y:17503 utils/adt/acl.c:5331 utils/adt/acl.c:5337
 #, c-format
 msgid "role name \"%s\" is reserved"
 msgstr "Rollenname »%s« ist reserviert"
 
-#: commands/user.c:327 commands/user.c:1228 commands/user.c:1235
+#: commands/user.c:289 commands/user.c:1141 commands/user.c:1148
 #, c-format
 msgid "Role names starting with \"pg_\" are reserved."
 msgstr "Rollennamen, die mit »pg_« anfangen, sind reserviert."
 
-#: commands/user.c:348 commands/user.c:1250
+#: commands/user.c:310 commands/user.c:1163
 #, c-format
 msgid "role \"%s\" already exists"
 msgstr "Rolle »%s« existiert bereits"
 
-#: commands/user.c:414 commands/user.c:845
+#: commands/user.c:376 commands/user.c:754
 #, c-format
 msgid "empty string is not a valid password, clearing password"
 msgstr "leere Zeichenkette ist kein gültiges Passwort, Passwort wird entfernt"
 
-#: commands/user.c:443
+#: commands/user.c:405
 #, c-format
 msgid "pg_authid OID value not set when in binary upgrade mode"
 msgstr "OID-Wert für pg_auth ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: commands/user.c:722
-#, fuzzy, c-format
-#| msgid "must be superuser to change bypassrls attribute"
+#: commands/user.c:638
+#, c-format
 msgid "must be superuser to alter superuser roles or change superuser attribute"
-msgstr "nur Superuser können das Attribut »bypassrls« ändern"
+msgstr "nur Superuser können Superuser-Rollen oder das Superuser-Attribut ändern"
 
-#: commands/user.c:729
-#, fuzzy, c-format
-#| msgid "must be superuser or replication role to use replication slots"
+#: commands/user.c:645
+#, c-format
 msgid "must be superuser to alter replication roles or change replication attribute"
-msgstr "nur Superuser und Replikationsrollen können Replikations-Slots verwenden"
+msgstr "nur Superuser können Replikationsrollen oder das Replikationsattribut ändern"
 
-#: commands/user.c:736
+#: commands/user.c:652
 #, c-format
 msgid "must be superuser to change bypassrls attribute"
 msgstr "nur Superuser können das Attribut »bypassrls« ändern"
 
-#: commands/user.c:752 commands/user.c:953
+#: commands/user.c:661 commands/user.c:866
 #, c-format
 msgid "permission denied"
 msgstr "keine Berechtigung"
 
-#: commands/user.c:946 commands/user.c:1487 commands/user.c:1665
+#: commands/user.c:859 commands/user.c:1400 commands/user.c:1573
 #, c-format
 msgid "must be superuser to alter superusers"
 msgstr "nur Superuser können Superuser ändern"
 
-#: commands/user.c:983
+#: commands/user.c:896
 #, c-format
 msgid "must be superuser to alter settings globally"
 msgstr "nur Superuser können globale Einstellungen ändern"
 
-#: commands/user.c:1005
+#: commands/user.c:918
 #, c-format
 msgid "permission denied to drop role"
 msgstr "keine Berechtigung, um Rolle zu entfernen"
 
-#: commands/user.c:1030
+#: commands/user.c:943
 #, c-format
 msgid "cannot use special role specifier in DROP ROLE"
 msgstr "in DROP ROLE kann kein Rollenplatzhalter verwendet werden"
 
-#: commands/user.c:1040 commands/user.c:1197 commands/variable.c:778
+#: commands/user.c:953 commands/user.c:1110 commands/variable.c:778
 #: commands/variable.c:781 commands/variable.c:865 commands/variable.c:868
-#: utils/adt/acl.c:5103 utils/adt/acl.c:5151 utils/adt/acl.c:5179
-#: utils/adt/acl.c:5198 utils/init/miscinit.c:705
+#: utils/adt/acl.c:5186 utils/adt/acl.c:5234 utils/adt/acl.c:5262
+#: utils/adt/acl.c:5281 utils/init/miscinit.c:725
 #, c-format
 msgid "role \"%s\" does not exist"
 msgstr "Rolle »%s« existiert nicht"
 
-#: commands/user.c:1045
+#: commands/user.c:958
 #, c-format
 msgid "role \"%s\" does not exist, skipping"
 msgstr "Rolle »%s« existiert nicht, wird übersprungen"
 
-#: commands/user.c:1058 commands/user.c:1062
+#: commands/user.c:971 commands/user.c:975
 #, c-format
 msgid "current user cannot be dropped"
 msgstr "aktueller Benutzer kann nicht entfernt werden"
 
-#: commands/user.c:1066
+#: commands/user.c:979
 #, c-format
 msgid "session user cannot be dropped"
 msgstr "aktueller Sitzungsbenutzer kann nicht entfernt werden"
 
-#: commands/user.c:1076
+#: commands/user.c:989
 #, c-format
 msgid "must be superuser to drop superusers"
 msgstr "nur Superuser können Superuser löschen"
 
-#: commands/user.c:1092
+#: commands/user.c:1005
 #, c-format
 msgid "role \"%s\" cannot be dropped because some objects depend on it"
 msgstr "kann Rolle »%s« nicht löschen, weil andere Objekte davon abhängen"
 
-#: commands/user.c:1213
+#: commands/user.c:1126
 #, c-format
 msgid "session user cannot be renamed"
 msgstr "aktueller Sitzungsbenutzer kann nicht umbenannt werden"
 
-#: commands/user.c:1217
+#: commands/user.c:1130
 #, c-format
 msgid "current user cannot be renamed"
 msgstr "aktueller Benutzer kann nicht umbenannt werden"
 
-#: commands/user.c:1260
+#: commands/user.c:1173
 #, c-format
 msgid "must be superuser to rename superusers"
 msgstr "nur Superuser können Superuser umbenennen"
 
-#: commands/user.c:1267
+#: commands/user.c:1180
 #, c-format
 msgid "permission denied to rename role"
 msgstr "keine Berechtigung, um Rolle umzubenennen"
 
-#: commands/user.c:1288
+#: commands/user.c:1201
 #, c-format
 msgid "MD5 password cleared because of role rename"
 msgstr "MD5-Passwort wegen Rollenumbenennung gelöscht"
 
-#: commands/user.c:1348
+#: commands/user.c:1261
 #, c-format
 msgid "column names cannot be included in GRANT/REVOKE ROLE"
 msgstr "bei GRANT/REVOKE ROLE können keine Spaltennamen angegeben werden"
 
-#: commands/user.c:1386
+#: commands/user.c:1299
 #, c-format
 msgid "permission denied to drop objects"
 msgstr "keine Berechtigung, um Objekte zu löschen"
 
-#: commands/user.c:1413 commands/user.c:1422
+#: commands/user.c:1326 commands/user.c:1335
 #, c-format
 msgid "permission denied to reassign objects"
 msgstr "keine Berechtigung, um Objekte neu zuzuordnen"
 
-#: commands/user.c:1495 commands/user.c:1673
+#: commands/user.c:1408 commands/user.c:1581
 #, c-format
 msgid "must have admin option on role \"%s\""
 msgstr "Admin-Option für Rolle »%s« wird benötigt"
 
-#: commands/user.c:1509
-#, fuzzy, c-format
-#| msgid "table \"%s\" cannot be replicated"
+#: commands/user.c:1422
+#, c-format
 msgid "role \"%s\" cannot have explicit members"
-msgstr "Tabelle »%s« kann nicht repliziert werden"
+msgstr "Rolle »%s« kann keine expliziten Mitglieder haben"
 
-#: commands/user.c:1524
+#: commands/user.c:1432
 #, c-format
 msgid "must be superuser to set grantor"
 msgstr "nur Superuser können Grantor setzen"
 
-#: commands/user.c:1560
-#, fuzzy, c-format
-#| msgid "role \"%s\" is not a member of role \"%s\""
+#: commands/user.c:1468
+#, c-format
 msgid "role \"%s\" cannot be a member of any role"
-msgstr "Rolle »%s« ist kein Mitglied der Rolle »%s«"
+msgstr "Rolle »%s« kann kein Mitglied einer Rolle sein"
 
-#: commands/user.c:1573
+#: commands/user.c:1481
 #, c-format
 msgid "role \"%s\" is a member of role \"%s\""
 msgstr "Rolle »%s« ist ein Mitglied der Rolle »%s«"
 
-#: commands/user.c:1588
+#: commands/user.c:1496
 #, c-format
 msgid "role \"%s\" is already a member of role \"%s\""
 msgstr "Rolle »%s« ist schon Mitglied der Rolle »%s«"
 
-#: commands/user.c:1695
+#: commands/user.c:1603
 #, c-format
 msgid "role \"%s\" is not a member of role \"%s\""
 msgstr "Rolle »%s« ist kein Mitglied der Rolle »%s«"
 
-#: commands/vacuum.c:132
+#: commands/vacuum.c:139
 #, c-format
 msgid "unrecognized ANALYZE option \"%s\""
 msgstr "unbekannte ANALYZE-Option »%s«"
 
-#: commands/vacuum.c:156
+#: commands/vacuum.c:177
 #, c-format
 msgid "parallel option requires a value between 0 and %d"
 msgstr "Option PARALLEL benötigt einen Wert zwischen 0 und %d"
 
-#: commands/vacuum.c:168
-#, fuzzy, c-format
-#| msgid "parallel vacuum degree must be between 0 and %d"
+#: commands/vacuum.c:189
+#, c-format
 msgid "parallel workers for vacuum must be between 0 and %d"
-msgstr "Grad für paralleles Vacuum muss zwischen 0 und %d sein"
+msgstr "parallele Arbeitsprozesse für Vacuum müssen zwischen 0 und %d sein"
 
-#: commands/vacuum.c:185
+#: commands/vacuum.c:206
 #, c-format
 msgid "unrecognized VACUUM option \"%s\""
 msgstr "unbekannte VACUUM-Option »%s«"
 
-#: commands/vacuum.c:208
+#: commands/vacuum.c:229
 #, c-format
 msgid "VACUUM FULL cannot be performed in parallel"
 msgstr "VACUUM FULL kann nicht parallel ausgeführt werden"
 
-#: commands/vacuum.c:224
+#: commands/vacuum.c:245
 #, c-format
 msgid "ANALYZE option must be specified when a column list is provided"
 msgstr "Option ANALYZE muss angegeben werden, wenn eine Spaltenliste angegeben ist"
 
-#: commands/vacuum.c:314
+#: commands/vacuum.c:335
 #, c-format
 msgid "%s cannot be executed from VACUUM or ANALYZE"
 msgstr "%s kann nicht aus VACUUM oder ANALYZE ausgeführt werden"
 
-#: commands/vacuum.c:324
+#: commands/vacuum.c:345
 #, c-format
 msgid "VACUUM option DISABLE_PAGE_SKIPPING cannot be used with FULL"
 msgstr "VACUUM-Option DISABLE_PAGE_SKIPPING kann nicht zusammen mit FULL verwendet werden"
 
-#: commands/vacuum.c:331
+#: commands/vacuum.c:352
 #, c-format
 msgid "PROCESS_TOAST required with VACUUM FULL"
 msgstr "PROCESS_TOAST benötigt VACUUM FULL"
 
-#: commands/vacuum.c:572
+#: commands/vacuum.c:586
 #, c-format
 msgid "skipping \"%s\" --- only superuser can vacuum it"
 msgstr "überspringe »%s« --- nur Superuser kann sie vacuumen"
 
-#: commands/vacuum.c:576
+#: commands/vacuum.c:590
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can vacuum it"
 msgstr "überspringe »%s« --- nur Superuser oder Eigentümer der Datenbank kann sie vacuumen"
 
-#: commands/vacuum.c:580
+#: commands/vacuum.c:594
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can vacuum it"
 msgstr "überspringe »%s« --- nur Eigentümer der Tabelle oder der Datenbank kann sie vacuumen"
 
-#: commands/vacuum.c:595
+#: commands/vacuum.c:609
 #, c-format
 msgid "skipping \"%s\" --- only superuser can analyze it"
 msgstr "überspringe »%s« --- nur Superuser kann sie analysieren"
 
-#: commands/vacuum.c:599
+#: commands/vacuum.c:613
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can analyze it"
 msgstr "überspringe »%s« --- nur Superuser oder Eigentümer der Datenbank kann sie analysieren"
 
-#: commands/vacuum.c:603
+#: commands/vacuum.c:617
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can analyze it"
 msgstr "überspringe »%s« --- nur Eigentümer der Tabelle oder der Datenbank kann sie analysieren"
 
-#: commands/vacuum.c:682 commands/vacuum.c:778
+#: commands/vacuum.c:696 commands/vacuum.c:792
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "überspringe Vacuum von »%s« --- Sperre nicht verfügbar"
 
-#: commands/vacuum.c:687
+#: commands/vacuum.c:701
 #, c-format
 msgid "skipping vacuum of \"%s\" --- relation no longer exists"
 msgstr "überspringe Vacuum von »%s« --- Relation existiert nicht mehr"
 
-#: commands/vacuum.c:703 commands/vacuum.c:783
+#: commands/vacuum.c:717 commands/vacuum.c:797
 #, c-format
 msgid "skipping analyze of \"%s\" --- lock not available"
 msgstr "überspringe Analyze von »%s« --- Sperre nicht verfügbar"
 
-#: commands/vacuum.c:708
+#: commands/vacuum.c:722
 #, c-format
 msgid "skipping analyze of \"%s\" --- relation no longer exists"
 msgstr "überspringe Analyze von »%s« --- Relation existiert nicht mehr"
 
-#: commands/vacuum.c:1026
+#: commands/vacuum.c:1041
 #, c-format
 msgid "oldest xmin is far in the past"
 msgstr "älteste xmin ist weit in der Vergangenheit"
 
-#: commands/vacuum.c:1027
+#: commands/vacuum.c:1042
 #, c-format
 msgid ""
 "Close open transactions soon to avoid wraparound problems.\n"
@@ -11666,32 +12203,67 @@ msgstr ""
 "Schließen Sie bald alle offenen Transaktionen, um Überlaufprobleme zu vermeiden.\n"
 "Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen oder unbenutzte Replikations-Slots löschen."
 
-#: commands/vacuum.c:1068
+#: commands/vacuum.c:1085
 #, c-format
 msgid "oldest multixact is far in the past"
 msgstr "älteste Multixact ist weit in der Vergangenheit"
 
-#: commands/vacuum.c:1069
+#: commands/vacuum.c:1086
 #, c-format
 msgid "Close open transactions with multixacts soon to avoid wraparound problems."
 msgstr "Schließen Sie bald alle offenen Transaktionen mit Multixacts, um Überlaufprobleme zu vermeiden."
 
-#: commands/vacuum.c:1726
+#: commands/vacuum.c:1798
 #, c-format
 msgid "some databases have not been vacuumed in over 2 billion transactions"
 msgstr "einige Datenbanken sind seit über 2 Milliarden Transaktionen nicht gevacuumt worden"
 
-#: commands/vacuum.c:1727
+#: commands/vacuum.c:1799
 #, c-format
 msgid "You might have already suffered transaction-wraparound data loss."
 msgstr "Sie haben möglicherweise bereits Daten wegen Transaktionsnummernüberlauf verloren."
 
-#: commands/vacuum.c:1891
+#: commands/vacuum.c:1963
 #, c-format
 msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables"
 msgstr "überspringe »%s« --- kann Nicht-Tabellen oder besondere Systemtabellen nicht vacuumen"
 
-#: commands/variable.c:165 utils/misc/guc.c:11625 utils/misc/guc.c:11687
+#: commands/vacuum.c:2334
+#, c-format
+msgid "scanned index \"%s\" to remove %d row versions"
+msgstr "Index »%s« gelesen und %d Zeilenversionen entfernt"
+
+#: commands/vacuum.c:2353
+#, c-format
+msgid "index \"%s\" now contains %.0f row versions in %u pages"
+msgstr "Index »%s« enthält %.0f Zeilenversionen in %u Seiten"
+
+#: commands/vacuum.c:2357
+#, c-format
+msgid ""
+"%.0f index row versions were removed.\n"
+"%u index pages were newly deleted.\n"
+"%u index pages are currently deleted, of which %u are currently reusable."
+msgstr ""
+"%.0f Indexzeilenversionen wurde entfernt.\n"
+"%u Indexseiten wurden neu gelöscht.\n"
+"%u Indexseiten sind gegenwärtig gelöscht, wovon %u gegenwärtig wiederverwendbar sind."
+
+#: commands/vacuumparallel.c:663
+#, 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] "%d parallelen Vacuum-Worker für Index-Vacuum gestartet (geplant: %d)"
+msgstr[1] "%d parallele Vacuum-Worker für Index-Vacuum gestartet (geplant: %d)"
+
+#: commands/vacuumparallel.c:669
+#, 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)"
+msgstr[0] "%d parallelen Vacuum-Worker für Index-Cleanup gestartet (geplant: %d)"
+msgstr[1] "%d parallele Vacuum-Worker für Index-Cleanup gestartet (geplant: %d)"
+
+#: commands/variable.c:165 utils/misc/guc.c:11998 utils/misc/guc.c:12076
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Unbekanntes Schlüsselwort: »%s«."
@@ -11751,7 +12323,7 @@ msgstr "SET TRANSACTION ISOLATION LEVEL muss vor allen Anfragen aufgerufen werde
 msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction"
 msgstr "SET TRANSACTION ISOLATION LEVEL kann nicht in einer Subtransaktion aufgerufen werden"
 
-#: commands/variable.c:548 storage/lmgr/predicate.c:1693
+#: commands/variable.c:548 storage/lmgr/predicate.c:1694
 #, c-format
 msgid "cannot use serializable mode in a hot standby"
 msgstr "kann serialisierbaren Modus nicht in einem Hot Standby verwenden"
@@ -11816,32 +12388,38 @@ msgstr "kann Namen der Sichtspalte »%s« nicht in »%s« ändern"
 msgid "Use ALTER VIEW ... RENAME COLUMN ... to change name of view column instead."
 msgstr "Verwenden Sie stattdessen ALTER VIEW ... RENAME COLUMN ..., um den Namen einer Sichtspalte zu ändern."
 
-#: commands/view.c:290
+#: commands/view.c:295
 #, c-format
 msgid "cannot change data type of view column \"%s\" from %s to %s"
 msgstr "kann Datentyp der Sichtspalte »%s« nicht von %s in %s ändern"
 
-#: commands/view.c:441
+#: commands/view.c:309
+#, 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 "kann Datentyp der Sichtspalte »%s« nicht von %s in %s ändern"
+
+#: commands/view.c:454
 #, c-format
 msgid "views must not contain SELECT INTO"
 msgstr "Sichten dürfen kein SELECT INTO enthalten"
 
-#: commands/view.c:453
+#: commands/view.c:466
 #, c-format
 msgid "views must not contain data-modifying statements in WITH"
 msgstr "Sichten dürfen keine datenmodifizierenden Anweisungen in WITH enthalten"
 
-#: commands/view.c:523
+#: commands/view.c:536
 #, c-format
 msgid "CREATE VIEW specifies more column names than columns"
 msgstr "CREATE VIEW gibt mehr Spaltennamen als Spalten an"
 
-#: commands/view.c:531
+#: commands/view.c:544
 #, c-format
 msgid "views cannot be unlogged because they do not have storage"
 msgstr "Sichten können nicht ungeloggt sein, weil sie keinen Speicherplatz verwenden"
 
-#: commands/view.c:545
+#: commands/view.c:558
 #, c-format
 msgid "view \"%s\" will be a temporary view"
 msgstr "Sicht »%s« wird eine temporäre Sicht"
@@ -11877,37 +12455,37 @@ msgstr "Cursor »%s« ist nicht auf eine Zeile positioniert"
 msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\""
 msgstr "Cursor »%s« ist kein einfach aktualisierbarer Scan der Tabelle »%s«"
 
-#: executor/execCurrent.c:280 executor/execExprInterp.c:2451
+#: executor/execCurrent.c:280 executor/execExprInterp.c:2483
 #, c-format
 msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)"
 msgstr "Typ von Parameter %d (%s) stimmt nicht mit dem überein, als der Plan vorbereitet worden ist (%s)"
 
-#: executor/execCurrent.c:292 executor/execExprInterp.c:2463
+#: executor/execCurrent.c:292 executor/execExprInterp.c:2495
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "kein Wert für Parameter %d gefunden"
 
 #: executor/execExpr.c:632 executor/execExpr.c:639 executor/execExpr.c:645
-#: executor/execExprInterp.c:4023 executor/execExprInterp.c:4040
-#: executor/execExprInterp.c:4141 executor/nodeModifyTable.c:117
-#: executor/nodeModifyTable.c:128 executor/nodeModifyTable.c:145
-#: executor/nodeModifyTable.c:153
+#: executor/execExprInterp.c:4149 executor/execExprInterp.c:4166
+#: executor/execExprInterp.c:4265 executor/nodeModifyTable.c:218
+#: executor/nodeModifyTable.c:229 executor/nodeModifyTable.c:246
+#: executor/nodeModifyTable.c:254
 #, c-format
 msgid "table row type and query-specified row type do not match"
 msgstr "Zeilentyp der Tabelle und der von der Anfrage angegebene Zeilentyp stimmen nicht überein"
 
-#: executor/execExpr.c:633 executor/nodeModifyTable.c:118
+#: executor/execExpr.c:633 executor/nodeModifyTable.c:219
 #, c-format
 msgid "Query has too many columns."
 msgstr "Anfrage hat zu viele Spalten."
 
-#: executor/execExpr.c:640 executor/nodeModifyTable.c:146
+#: executor/execExpr.c:640 executor/nodeModifyTable.c:247
 #, c-format
 msgid "Query provides a value for a dropped column at ordinal position %d."
 msgstr "Anfrage liefert einen Wert für eine gelöschte Spalte auf Position %d."
 
-#: executor/execExpr.c:646 executor/execExprInterp.c:4041
-#: executor/nodeModifyTable.c:129
+#: executor/execExpr.c:646 executor/execExprInterp.c:4167
+#: executor/nodeModifyTable.c:230
 #, c-format
 msgid "Table has type %s at ordinal position %d, but query expects %s."
 msgstr "Tabelle hat Typ %s auf Position %d, aber Anfrage erwartet %s."
@@ -11917,116 +12495,130 @@ msgstr "Tabelle hat Typ %s auf Position %d, aber Anfrage erwartet %s."
 msgid "window function calls cannot be nested"
 msgstr "Aufrufe von Fensterfunktionen können nicht geschachtelt werden"
 
-#: executor/execExpr.c:1615
+#: executor/execExpr.c:1631
 #, c-format
 msgid "target type is not an array"
 msgstr "Zieltyp ist kein Array"
 
-#: executor/execExpr.c:1955
+#: executor/execExpr.c:1971
 #, c-format
 msgid "ROW() column has type %s instead of type %s"
 msgstr "ROW()-Spalte hat Typ %s statt Typ %s"
 
-#: executor/execExpr.c:2480 executor/execSRF.c:718 parser/parse_func.c:136
-#: parser/parse_func.c:654 parser/parse_func.c:1030
+#: executor/execExpr.c:2744 executor/execSRF.c:718 parser/parse_func.c:138
+#: parser/parse_func.c:655 parser/parse_func.c:1031
 #, 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] "kann nicht mehr als %d Argument an eine Funktion übergeben"
 msgstr[1] "kann nicht mehr als %d Argumente an eine Funktion übergeben"
 
-#: executor/execExpr.c:2866 parser/parse_node.c:277 parser/parse_node.c:327
-#, fuzzy, c-format
-#| msgid "cannot subscript type %s because it is not an array"
+#: executor/execExpr.c:2771 executor/execSRF.c:738 executor/functions.c:1058
+#: utils/adt/jsonfuncs.c:3736 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 "Funktion mit Mengenergebnis in einem Zusammenhang aufgerufen, der keine Mengenergebnisse verarbeiten kann"
+
+#: executor/execExpr.c:3130 parser/parse_node.c:276 parser/parse_node.c:326
+#, c-format
 msgid "cannot subscript type %s because it does not support subscripting"
-msgstr "kann aus Typ %s kein Element auswählen, weil er kein Array ist"
+msgstr "kann aus Typ %s kein Element auswählen, weil er Subscripting nicht unterstützt"
 
-#: executor/execExpr.c:2994 executor/execExpr.c:3016
-#, fuzzy, c-format
-#| msgid "The server (version %s) does not support subscriptions."
+#: executor/execExpr.c:3258 executor/execExpr.c:3280
+#, c-format
 msgid "type %s does not support subscripted assignment"
-msgstr "Der Server (Version %s) unterstützt keine Subskriptionen."
+msgstr "Typ %s unterstützt Wertzuweisungen in Elemente nicht"
 
-#: executor/execExprInterp.c:1916
+#: executor/execExprInterp.c:1948
 #, c-format
 msgid "attribute %d of type %s has been dropped"
 msgstr "Attribut %d von Typ %s wurde gelöscht"
 
-#: executor/execExprInterp.c:1922
+#: executor/execExprInterp.c:1954
 #, c-format
 msgid "attribute %d of type %s has wrong type"
 msgstr "Attribut %d von Typ %s hat falschen Typ"
 
-#: executor/execExprInterp.c:1924 executor/execExprInterp.c:3052
-#: executor/execExprInterp.c:3098
+#: executor/execExprInterp.c:1956 executor/execExprInterp.c:3084
+#: executor/execExprInterp.c:3130
 #, c-format
 msgid "Table has type %s, but query expects %s."
 msgstr "Tabelle hat Typ %s, aber Anfrage erwartet %s."
 
-#: executor/execExprInterp.c:2003 utils/adt/expandedrecord.c:99
-#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1748
-#: utils/cache/typcache.c:1904 utils/cache/typcache.c:2033
-#: utils/fmgr/funcapi.c:458
+#: executor/execExprInterp.c:2035 utils/adt/expandedrecord.c:99
+#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1749
+#: utils/cache/typcache.c:1908 utils/cache/typcache.c:2055
+#: utils/fmgr/funcapi.c:527
 #, c-format
 msgid "type %s is not composite"
 msgstr "Typ %s ist kein zusammengesetzter Typ"
 
-#: executor/execExprInterp.c:2541
+#: executor/execExprInterp.c:2573
 #, c-format
 msgid "WHERE CURRENT OF is not supported for this table type"
 msgstr "WHERE CURRENT OF wird für diesen Tabellentyp nicht unterstützt"
 
-#: executor/execExprInterp.c:2754
+#: executor/execExprInterp.c:2786
 #, c-format
 msgid "cannot merge incompatible arrays"
 msgstr "kann inkompatible Arrays nicht verschmelzen"
 
-#: executor/execExprInterp.c:2755
+#: executor/execExprInterp.c:2787
 #, c-format
 msgid "Array with element type %s cannot be included in ARRAY construct with element type %s."
 msgstr "Arrayelement mit Typ %s kann nicht in ARRAY-Konstrukt mit Elementtyp %s verwendet werden."
 
-#: executor/execExprInterp.c:2776 utils/adt/arrayfuncs.c:262
-#: utils/adt/arrayfuncs.c:562 utils/adt/arrayfuncs.c:1304
-#: utils/adt/arrayfuncs.c:3374 utils/adt/arrayfuncs.c:5336
-#: utils/adt/arrayfuncs.c:5853 utils/adt/arraysubs.c:150
+#: executor/execExprInterp.c:2808 utils/adt/arrayfuncs.c:263
+#: utils/adt/arrayfuncs.c:563 utils/adt/arrayfuncs.c:1305
+#: utils/adt/arrayfuncs.c:3375 utils/adt/arrayfuncs.c:5372
+#: utils/adt/arrayfuncs.c:5889 utils/adt/arraysubs.c:150
 #: utils/adt/arraysubs.c:488
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "Anzahl der Arraydimensionen (%d) überschreitet erlaubtes Maximum (%d)"
 
-#: executor/execExprInterp.c:2796 executor/execExprInterp.c:2826
+#: executor/execExprInterp.c:2828 executor/execExprInterp.c:2858
 #, c-format
 msgid "multidimensional arrays must have array expressions with matching dimensions"
 msgstr "mehrdimensionale Arrays müssen Arraysausdrücke mit gleicher Anzahl Dimensionen haben"
 
-#: executor/execExprInterp.c:3051 executor/execExprInterp.c:3097
+#: executor/execExprInterp.c:3083 executor/execExprInterp.c:3129
 #, c-format
 msgid "attribute %d has wrong type"
 msgstr "Attribut %d hat falschen Typ"
 
-#: executor/execExprInterp.c:3652 utils/adt/domains.c:149
+#: executor/execExprInterp.c:3697 utils/adt/domains.c:149
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "Domäne %s erlaubt keine NULL-Werte"
 
-#: executor/execExprInterp.c:3667 utils/adt/domains.c:184
+#: executor/execExprInterp.c:3712 utils/adt/domains.c:184
 #, c-format
 msgid "value for domain %s violates check constraint \"%s\""
 msgstr "Wert für Domäne %s verletzt Check-Constraint »%s«"
 
-#: executor/execExprInterp.c:4024
+#: executor/execExprInterp.c:4150
 #, 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] "Tabellenzeile enthält %d Attribut, aber Anfrage erwartet %d."
 msgstr[1] "Tabellenzeile enthält %d Attribute, aber Anfrage erwartet %d."
 
-#: executor/execExprInterp.c:4142 executor/execSRF.c:977
+#: executor/execExprInterp.c:4266 executor/execSRF.c:977
 #, c-format
 msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
 msgstr "Physischer Speicher stimmt nicht überein mit gelöschtem Attribut auf Position %d."
 
+#: executor/execExprInterp.c:4965
+#, c-format
+msgid "SQL/JSON item cannot be cast to target type"
+msgstr ""
+
+#: executor/execExprInterp.c:5019
+#, c-format
+msgid "no SQL/JSON item"
+msgstr ""
+
 #: executor/execIndexing.c:571
 #, c-format
 msgid "ON CONFLICT does not support deferrable unique constraints/exclusion constraints as arbiters"
@@ -12062,175 +12654,187 @@ msgstr "Schlüssel %s kollidiert mit vorhandenem Schlüssel %s."
 msgid "Key conflicts with existing key."
 msgstr "Der Schlüssel kollidiert mit einem vorhandenen Schlüssel."
 
-#: executor/execMain.c:1007
+#: executor/execMain.c:1009
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "kann Sequenz »%s« nicht ändern"
 
-#: executor/execMain.c:1013
+#: executor/execMain.c:1015
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "kann TOAST-Relation »%s« nicht ändern"
 
-#: executor/execMain.c:1031 rewrite/rewriteHandler.c:3041
-#: rewrite/rewriteHandler.c:3824
+#: executor/execMain.c:1033 rewrite/rewriteHandler.c:3068
+#: rewrite/rewriteHandler.c:3904
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "kann nicht in Sicht »%s« einfügen"
 
-#: executor/execMain.c:1033 rewrite/rewriteHandler.c:3044
-#: rewrite/rewriteHandler.c:3827
+#: executor/execMain.c:1035 rewrite/rewriteHandler.c:3071
+#: rewrite/rewriteHandler.c:3907
 #, c-format
 msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule."
 msgstr "Um Einfügen in die Sicht zu ermöglichen, richten Sie einen INSTEAD OF INSERT Trigger oder eine ON INSERT DO INSTEAD Regel ohne Bedingung ein."
 
-#: executor/execMain.c:1039 rewrite/rewriteHandler.c:3049
-#: rewrite/rewriteHandler.c:3832
+#: executor/execMain.c:1041 rewrite/rewriteHandler.c:3076
+#: rewrite/rewriteHandler.c:3912
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "kann Sicht »%s« nicht aktualisieren"
 
-#: executor/execMain.c:1041 rewrite/rewriteHandler.c:3052
-#: rewrite/rewriteHandler.c:3835
+#: executor/execMain.c:1043 rewrite/rewriteHandler.c:3079
+#: rewrite/rewriteHandler.c:3915
 #, c-format
 msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule."
 msgstr "Um Aktualisieren der Sicht zu ermöglichen, richten Sie einen INSTEAD OF UPDATE Trigger oder eine ON UPDATE DO INSTEAD Regel ohne Bedingung ein."
 
-#: executor/execMain.c:1047 rewrite/rewriteHandler.c:3057
-#: rewrite/rewriteHandler.c:3840
+#: executor/execMain.c:1049 rewrite/rewriteHandler.c:3084
+#: rewrite/rewriteHandler.c:3920
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "kann nicht aus Sicht »%s« löschen"
 
-#: executor/execMain.c:1049 rewrite/rewriteHandler.c:3060
-#: rewrite/rewriteHandler.c:3843
+#: executor/execMain.c:1051 rewrite/rewriteHandler.c:3087
+#: rewrite/rewriteHandler.c:3923
 #, c-format
 msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule."
 msgstr "Um Löschen aus der Sicht zu ermöglichen, richten Sie einen INSTEAD OF DELETE Trigger oder eine ON DELETE DO INSTEAD Regel ohne Bedingung ein."
 
-#: executor/execMain.c:1060
+#: executor/execMain.c:1062
 #, c-format
 msgid "cannot change materialized view \"%s\""
 msgstr "kann materialisierte Sicht »%s« nicht ändern"
 
-#: executor/execMain.c:1072
+#: executor/execMain.c:1074
 #, c-format
 msgid "cannot insert into foreign table \"%s\""
 msgstr "kann nicht in Fremdtabelle »%s« einfügen"
 
-#: executor/execMain.c:1078
+#: executor/execMain.c:1080
 #, c-format
 msgid "foreign table \"%s\" does not allow inserts"
 msgstr "Fremdtabelle »%s« erlaubt kein Einfügen"
 
-#: executor/execMain.c:1085
+#: executor/execMain.c:1087
 #, c-format
 msgid "cannot update foreign table \"%s\""
 msgstr "kann Fremdtabelle »%s« nicht aktualisieren"
 
-#: executor/execMain.c:1091
+#: executor/execMain.c:1093
 #, c-format
 msgid "foreign table \"%s\" does not allow updates"
 msgstr "Fremdtabelle »%s« erlaubt kein Aktualisieren"
 
-#: executor/execMain.c:1098
+#: executor/execMain.c:1100
 #, c-format
 msgid "cannot delete from foreign table \"%s\""
 msgstr "kann nicht aus Fremdtabelle »%s« löschen"
 
-#: executor/execMain.c:1104
+#: executor/execMain.c:1106
 #, c-format
 msgid "foreign table \"%s\" does not allow deletes"
 msgstr "Fremdtabelle »%s« erlaubt kein Löschen"
 
-#: executor/execMain.c:1115
+#: executor/execMain.c:1117
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "kann Relation »%s« nicht ändern"
 
-#: executor/execMain.c:1142
+#: executor/execMain.c:1144
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "kann Zeilen in Sequenz »%s« nicht sperren"
 
-#: executor/execMain.c:1149
+#: executor/execMain.c:1151
 #, c-format
 msgid "cannot lock rows in TOAST relation \"%s\""
 msgstr "kann Zeilen in TOAST-Relation »%s« nicht sperren"
 
-#: executor/execMain.c:1156
+#: executor/execMain.c:1158
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "kann Zeilen in Sicht »%s« nicht sperren"
 
-#: executor/execMain.c:1164
+#: executor/execMain.c:1166
 #, c-format
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "kann Zeilen in materialisierter Sicht »%s« nicht sperren"
 
-#: executor/execMain.c:1173 executor/execMain.c:2555
-#: executor/nodeLockRows.c:132
+#: executor/execMain.c:1175 executor/execMain.c:2653
+#: executor/nodeLockRows.c:136
 #, c-format
 msgid "cannot lock rows in foreign table \"%s\""
 msgstr "kann Zeilen in Fremdtabelle »%s« nicht sperren"
 
-#: executor/execMain.c:1179
+#: executor/execMain.c:1181
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "kann Zeilen in Relation »%s« nicht sperren"
 
-#: executor/execMain.c:1803
+#: executor/execMain.c:1888
 #, c-format
 msgid "new row for relation \"%s\" violates partition constraint"
 msgstr "neue Zeile für Relation »%s« verletzt Partitions-Constraint"
 
-#: executor/execMain.c:1805 executor/execMain.c:1888 executor/execMain.c:1938
-#: executor/execMain.c:2047
+#: executor/execMain.c:1890 executor/execMain.c:1973 executor/execMain.c:2023
+#: executor/execMain.c:2132
 #, c-format
 msgid "Failing row contains %s."
 msgstr "Fehlgeschlagene Zeile enthält %s."
 
-#: executor/execMain.c:1885
+#: executor/execMain.c:1970
 #, c-format
 msgid "null value in column \"%s\" of relation \"%s\" violates not-null constraint"
 msgstr "NULL-Wert in Spalte »%s« von Relation »%s« verletzt Not-Null-Constraint"
 
-#: executor/execMain.c:1936
+#: executor/execMain.c:2021
 #, c-format
 msgid "new row for relation \"%s\" violates check constraint \"%s\""
 msgstr "neue Zeile für Relation »%s« verletzt Check-Constraint »%s«"
 
-#: executor/execMain.c:2045
+#: executor/execMain.c:2130
 #, c-format
 msgid "new row violates check option for view \"%s\""
 msgstr "neue Zeile verletzt Check-Option für Sicht »%s«"
 
-#: executor/execMain.c:2055
+#: executor/execMain.c:2140
 #, c-format
 msgid "new row violates row-level security policy \"%s\" for table \"%s\""
 msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene »%s« für Tabelle »%s«"
 
-#: executor/execMain.c:2060
+#: executor/execMain.c:2145
 #, c-format
 msgid "new row violates row-level security policy for table \"%s\""
 msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene für Tabelle »%s«"
 
-#: executor/execMain.c:2067
+#: executor/execMain.c:2153
+#, 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 "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene »%s« (USING-Ausdruck) für Tabelle »%s«"
+
+#: executor/execMain.c:2158
+#, 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 "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene (USING-Ausdruck) für Tabelle »%s«"
+
+#: executor/execMain.c:2165
 #, c-format
 msgid "new row violates row-level security policy \"%s\" (USING expression) for table \"%s\""
 msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene »%s« (USING-Ausdruck) für Tabelle »%s«"
 
-#: executor/execMain.c:2072
+#: executor/execMain.c:2170
 #, c-format
 msgid "new row violates row-level security policy (USING expression) for table \"%s\""
 msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene (USING-Ausdruck) für Tabelle »%s«"
 
-#: executor/execPartition.c:322
+#: executor/execPartition.c:330
 #, c-format
 msgid "no partition of relation \"%s\" found for row"
 msgstr "keine Partition von Relation »%s« für die Zeile gefunden"
 
-#: executor/execPartition.c:325
+#: executor/execPartition.c:333
 #, c-format
 msgid "Partition key of the failing row contains %s."
 msgstr "Partitionierungsschlüssel der fehlgeschlagenen Zeile enthält %s."
@@ -12252,48 +12856,58 @@ msgstr "gleichzeitiges Löschen, versuche erneut"
 
 #: executor/execReplication.c:269 parser/parse_cte.c:502
 #: parser/parse_oper.c:233 utils/adt/array_userfuncs.c:720
-#: utils/adt/array_userfuncs.c:859 utils/adt/arrayfuncs.c:3654
-#: utils/adt/arrayfuncs.c:4174 utils/adt/arrayfuncs.c:6166
+#: utils/adt/array_userfuncs.c:859 utils/adt/arrayfuncs.c:3655
+#: utils/adt/arrayfuncs.c:4210 utils/adt/arrayfuncs.c:6202
 #: utils/adt/rowtypes.c:1203
 #, c-format
 msgid "could not identify an equality operator for type %s"
 msgstr "konnte keinen Ist-Gleich-Operator für Typ %s ermitteln"
 
-#: executor/execReplication.c:590
+#: executor/execReplication.c:592 executor/execReplication.c:598
+#, c-format
+msgid "cannot update table \"%s\""
+msgstr "kann Tabelle »%s« nicht aktualisieren"
+
+#: executor/execReplication.c:594 executor/execReplication.c:606
+#, c-format
+msgid "Column used in the publication WHERE expression is not part of the replica identity."
+msgstr ""
+
+#: executor/execReplication.c:600 executor/execReplication.c:612
+#, c-format
+msgid "Column list used by the publication does not cover the replica identity."
+msgstr ""
+
+#: executor/execReplication.c:604 executor/execReplication.c:610
+#, c-format
+msgid "cannot delete from table \"%s\""
+msgstr "kann nicht aus Tabelle »%s« löschen"
+
+#: executor/execReplication.c:630
 #, c-format
 msgid "cannot update table \"%s\" because it does not have a replica identity and publishes updates"
 msgstr "Tabelle »%s« kann nicht aktualisiert werden, weil sie keine Replik-Identität hat und Updates publiziert"
 
-#: executor/execReplication.c:592
+#: executor/execReplication.c:632
 #, c-format
 msgid "To enable updating the table, set REPLICA IDENTITY using ALTER TABLE."
 msgstr "Um Aktualisieren der Tabelle zu ermöglichen, setzen Sie REPLICA IDENTITY mit ALTER TABLE."
 
-#: executor/execReplication.c:596
+#: executor/execReplication.c:636
 #, c-format
 msgid "cannot delete from table \"%s\" because it does not have a replica identity and publishes deletes"
 msgstr "aus Tabelle »%s« kann nicht gelöscht werden, weil sie keine Replik-Identität hat und Deletes publiziert"
 
-#: executor/execReplication.c:598
+#: executor/execReplication.c:638
 #, c-format
 msgid "To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE."
 msgstr "Um Löschen in der Tabelle zu ermöglichen, setzen Sie REPLICA IDENTITY mit ALTER TABLE."
 
-#: executor/execReplication.c:617 executor/execReplication.c:625
+#: executor/execReplication.c:654
 #, c-format
 msgid "cannot use relation \"%s.%s\" as logical replication target"
 msgstr "Relation »%s.%s« kann nicht als Ziel für logische Replikation verwendet werden"
 
-#: executor/execReplication.c:619
-#, c-format
-msgid "\"%s.%s\" is a foreign table."
-msgstr "»%s.%s« ist eine Fremdtabelle."
-
-#: executor/execReplication.c:627
-#, c-format
-msgid "\"%s.%s\" is not a table."
-msgstr "»%s.%s« ist keine Tabelle."
-
 #: executor/execSRF.c:315
 #, c-format
 msgid "rows returned by function are not all of the same row type"
@@ -12357,19 +12971,19 @@ msgstr "Verwenden Sie den Befehl REFRESH MATERIALIZED VIEW."
 msgid "could not determine actual type of argument declared %s"
 msgstr "konnte tatsächlichen Typ von Argument mit deklarierten Typ %s nicht bestimmen"
 
-#: executor/functions.c:515
+#: executor/functions.c:514
 #, c-format
-msgid "cannot COPY to/from client in a SQL function"
+msgid "cannot COPY to/from client in an SQL function"
 msgstr "COPY vom/zum Client funktioniert in einer SQL-Funktion nicht"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:521
+#: executor/functions.c:520
 #, c-format
-msgid "%s is not allowed in a SQL function"
+msgid "%s is not allowed in an SQL function"
 msgstr "%s ist in SQL-Funktionen nicht erlaubt"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:529 executor/spi.c:1633 executor/spi.c:2485
+#: executor/functions.c:528 executor/spi.c:1742 executor/spi.c:2631
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s ist in als nicht »volatile« markierten Funktionen nicht erlaubt"
@@ -12384,68 +12998,68 @@ msgstr "SQL-Funktion »%s« Anweisung %d"
 msgid "SQL function \"%s\" during startup"
 msgstr "SQL-Funktion »%s« beim Start"
 
-#: executor/functions.c:1571
+#: executor/functions.c:1553
 #, c-format
 msgid "calling procedures with output arguments is not supported in SQL functions"
 msgstr "Aufruf von Prozeduren mit Ausgabeargumenten wird in SQL-Funktionen nicht unterstützt"
 
-#: executor/functions.c:1705 executor/functions.c:1743
-#: executor/functions.c:1757 executor/functions.c:1847
-#: executor/functions.c:1880 executor/functions.c:1894
+#: executor/functions.c:1686 executor/functions.c:1724
+#: executor/functions.c:1738 executor/functions.c:1828
+#: executor/functions.c:1861 executor/functions.c:1875
 #, c-format
 msgid "return type mismatch in function declared to return %s"
 msgstr "Rückgabetyp von Funktion stimmt nicht überein; deklariert als %s"
 
-#: executor/functions.c:1707
+#: executor/functions.c:1688
 #, c-format
 msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING."
 msgstr "Die letzte Anweisung der Funktion muss ein SELECT oder INSERT/UPDATE/DELETE RETURNING sein."
 
-#: executor/functions.c:1745
+#: executor/functions.c:1726
 #, c-format
 msgid "Final statement must return exactly one column."
 msgstr "Die letzte Anweisung muss genau eine Spalte zurückgeben."
 
-#: executor/functions.c:1759
+#: executor/functions.c:1740
 #, c-format
 msgid "Actual return type is %s."
 msgstr "Eigentlicher Rückgabetyp ist %s."
 
-#: executor/functions.c:1849
+#: executor/functions.c:1830
 #, c-format
 msgid "Final statement returns too many columns."
 msgstr "Die letzte Anweisung gibt zu viele Spalten zurück."
 
-#: executor/functions.c:1882
+#: executor/functions.c:1863
 #, c-format
 msgid "Final statement returns %s instead of %s at column %d."
 msgstr "Die letzte Anweisung ergibt %s statt %s in Spalte %d."
 
-#: executor/functions.c:1896
+#: executor/functions.c:1877
 #, c-format
 msgid "Final statement returns too few columns."
 msgstr "Die letzte Anweisung gibt zu wenige Spalten zurück."
 
-#: executor/functions.c:1924
+#: executor/functions.c:1905
 #, c-format
 msgid "return type %s is not supported for SQL functions"
 msgstr "Rückgabetyp %s wird von SQL-Funktionen nicht unterstützt"
 
-#: executor/nodeAgg.c:3083 executor/nodeAgg.c:3092 executor/nodeAgg.c:3104
-#, c-format
-msgid "unexpected EOF for tape %d: requested %zu bytes, read %zu bytes"
-msgstr "unerwartetes EOF für Tape %d: %zu Bytes angefordert, %zu Bytes gelesen"
-
-#: executor/nodeAgg.c:3977 parser/parse_agg.c:666 parser/parse_agg.c:696
+#: executor/nodeAgg.c:3006 executor/nodeAgg.c:3015 executor/nodeAgg.c:3027
 #, c-format
-msgid "aggregate function calls cannot be nested"
-msgstr "Aufrufe von Aggregatfunktionen können nicht geschachtelt werden"
+msgid "unexpected EOF for tape %p: requested %zu bytes, read %zu bytes"
+msgstr "unerwartetes EOF für Tape %p: %zu Bytes angefordert, %zu Bytes gelesen"
 
-#: executor/nodeAgg.c:4185 executor/nodeWindowAgg.c:2836
+#: executor/nodeAgg.c:3917 executor/nodeWindowAgg.c:2962
 #, c-format
 msgid "aggregate %u needs to have compatible input type and transition type"
 msgstr "Aggregatfunktion %u muss kompatiblen Eingabe- und Übergangstyp haben"
 
+#: executor/nodeAgg.c:3947 parser/parse_agg.c:668 parser/parse_agg.c:696
+#, c-format
+msgid "aggregate function calls cannot be nested"
+msgstr "Aufrufe von Aggregatfunktionen können nicht geschachtelt werden"
+
 #: executor/nodeCustom.c:145 executor/nodeCustom.c:156
 #, c-format
 msgid "custom scan \"%s\" does not support MarkPos"
@@ -12461,7 +13075,7 @@ msgstr "konnte Position in temporärer Datei für Hash-Verbund nicht auf Anfang
 msgid "could not read from hash-join temporary file: read only %zu of %zu bytes"
 msgstr "konnte nicht aus temporärer Datei für Hash-Verbund lesen: es wurden nur %zu von %zu Bytes gelesen"
 
-#: executor/nodeIndexonlyscan.c:242
+#: executor/nodeIndexonlyscan.c:240
 #, c-format
 msgid "lossy distance functions are not supported in index-only scans"
 msgstr "verlustbehaftete Abstandsfunktionen werden in Index-Only-Scans nicht unterstützt"
@@ -12486,42 +13100,76 @@ msgstr "RIGHT JOIN wird nur für Merge-Verbund-fähige Verbundbedingungen unters
 msgid "FULL JOIN is only supported with merge-joinable join conditions"
 msgstr "FULL JOIN wird nur für Merge-Verbund-fähige Verbundbedingungen unterstützt"
 
-#: executor/nodeModifyTable.c:154
+#: executor/nodeModifyTable.c:255
 #, c-format
 msgid "Query has too few columns."
 msgstr "Anfrage hat zu wenige Spalten."
 
-#: executor/nodeModifyTable.c:1192 executor/nodeModifyTable.c:1266
+#: executor/nodeModifyTable.c:1409 executor/nodeModifyTable.c:1483
 #, c-format
 msgid "tuple to be deleted was already modified by an operation triggered by the current command"
 msgstr "das zu löschende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert"
 
-#: executor/nodeModifyTable.c:1441
+#: executor/nodeModifyTable.c:1640
 #, c-format
 msgid "invalid ON UPDATE specification"
 msgstr "ungültige ON-UPDATE-Angabe"
 
-#: executor/nodeModifyTable.c:1442
+#: executor/nodeModifyTable.c:1641
 #, c-format
 msgid "The result tuple would appear in a different partition than the original tuple."
 msgstr "Das Ergebnistupel würde in einer anderen Partition erscheinen als das ursprüngliche Tupel."
 
-#: executor/nodeModifyTable.c:2038
+#: executor/nodeModifyTable.c:2082
+#, 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 ""
+
+#: executor/nodeModifyTable.c:2083
 #, c-format
-msgid "ON CONFLICT DO UPDATE command cannot affect row a second time"
+msgid "A foreign key points to ancestor \"%s\", but not the root ancestor \"%s\"."
+msgstr ""
+
+#: executor/nodeModifyTable.c:2086
+#, fuzzy, c-format
+#| msgid "cannot insert into foreign table \"%s\""
+msgid "Consider defining the foreign key on \"%s\"."
+msgstr "kann nicht in Fremdtabelle »%s« einfügen"
+
+#. translator: %s is a SQL command name
+#: executor/nodeModifyTable.c:2430 executor/nodeModifyTable.c:2821
+#, fuzzy, c-format
+#| msgid "ON CONFLICT DO UPDATE command cannot affect row a second time"
+msgid "%s command cannot affect row a second time"
 msgstr "Befehl in ON CONFLICT DO UPDATE kann eine Zeile nicht ein zweites Mal ändern"
 
-#: executor/nodeModifyTable.c:2039
+#: executor/nodeModifyTable.c:2432
 #, c-format
 msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values."
 msgstr "Stellen Sie sicher, dass keine im selben Befehl fürs Einfügen vorgesehene Zeilen doppelte Werte haben, die einen Constraint verletzen würden."
 
-#: executor/nodeSamplescan.c:259
+#: executor/nodeModifyTable.c:2823
+#, c-format
+msgid "Ensure that not more than one source row matches any one target row."
+msgstr ""
+
+#: executor/nodeModifyTable.c:2926
+#, c-format
+msgid "tuple to be deleted was already moved to another partition due to concurrent update"
+msgstr "das zu löschende Tupel wurde schon durch ein gleichzeitiges Update in eine andere Partition verschoben"
+
+#: executor/nodeModifyTable.c:2965
+#, 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 "das zu aktualisierende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert"
+
+#: executor/nodeSamplescan.c:260
 #, c-format
 msgid "TABLESAMPLE parameter cannot be null"
 msgstr "Parameter von TABLESAMPLE darf nicht NULL sein"
 
-#: executor/nodeSamplescan.c:271
+#: executor/nodeSamplescan.c:272
 #, c-format
 msgid "TABLESAMPLE REPEATABLE parameter cannot be null"
 msgstr "Parameter von TABLESAMPLE REPEATABLE darf nicht NULL sein"
@@ -12532,27 +13180,27 @@ msgstr "Parameter von TABLESAMPLE REPEATABLE darf nicht NULL sein"
 msgid "more than one row returned by a subquery used as an expression"
 msgstr "als Ausdruck verwendete Unteranfrage ergab mehr als eine Zeile"
 
-#: executor/nodeTableFuncscan.c:375
+#: executor/nodeTableFuncscan.c:377
 #, c-format
 msgid "namespace URI must not be null"
 msgstr "Namensraum-URI darf nicht NULL sein"
 
-#: executor/nodeTableFuncscan.c:389
+#: executor/nodeTableFuncscan.c:393
 #, c-format
 msgid "row filter expression must not be null"
 msgstr "Zeilenfilterausdruck darf nicht NULL sein"
 
-#: executor/nodeTableFuncscan.c:415
+#: executor/nodeTableFuncscan.c:420
 #, c-format
 msgid "column filter expression must not be null"
 msgstr "Spaltenfilterausdruck darf nicht NULL sein"
 
-#: executor/nodeTableFuncscan.c:416
+#: executor/nodeTableFuncscan.c:421
 #, c-format
 msgid "Filter for column \"%s\" is null."
 msgstr "Filter für Spalte »%s« ist NULL."
 
-#: executor/nodeTableFuncscan.c:506
+#: executor/nodeTableFuncscan.c:511
 #, c-format
 msgid "null is not allowed in column \"%s\""
 msgstr "NULL ist in Spalte »%s« nicht erlaubt"
@@ -12562,93 +13210,104 @@ msgstr "NULL ist in Spalte »%s« nicht erlaubt"
 msgid "moving-aggregate transition function must not return null"
 msgstr "Moving-Aggregat-Übergangsfunktion darf nicht NULL zurückgeben"
 
-#: executor/nodeWindowAgg.c:2058
+#: executor/nodeWindowAgg.c:2080
 #, c-format
 msgid "frame starting offset must not be null"
 msgstr "Frame-Start-Offset darf nicht NULL sein"
 
-#: executor/nodeWindowAgg.c:2071
+#: executor/nodeWindowAgg.c:2093
 #, c-format
 msgid "frame starting offset must not be negative"
 msgstr "Frame-Start-Offset darf nicht negativ sein"
 
-#: executor/nodeWindowAgg.c:2083
+#: executor/nodeWindowAgg.c:2105
 #, c-format
 msgid "frame ending offset must not be null"
 msgstr "Frame-Ende-Offset darf nicht NULL sein"
 
-#: executor/nodeWindowAgg.c:2096
+#: executor/nodeWindowAgg.c:2118
 #, c-format
 msgid "frame ending offset must not be negative"
 msgstr "Frame-Ende-Offset darf nicht negativ sein"
 
-#: executor/nodeWindowAgg.c:2752
+#: executor/nodeWindowAgg.c:2878
 #, c-format
 msgid "aggregate function %s does not support use as a window function"
 msgstr "Aggregatfunktion %s unterstützt die Verwendung als Fensterfunktion nicht"
 
-#: executor/spi.c:237 executor/spi.c:302
+#: executor/spi.c:242 executor/spi.c:342
 #, c-format
 msgid "invalid transaction termination"
 msgstr "ungültige Transaktionsbeendung"
 
-#: executor/spi.c:251
+#: executor/spi.c:257
 #, c-format
 msgid "cannot commit while a subtransaction is active"
 msgstr "während eine Subtransaktion aktiv ist kann nicht committet werden"
 
-#: executor/spi.c:308
+#: executor/spi.c:348
 #, c-format
 msgid "cannot roll back while a subtransaction is active"
 msgstr "während eine Subtransaktion aktiv ist kann nicht zurückgerollt werden"
 
-#: executor/spi.c:380
+#: executor/spi.c:472
 #, c-format
 msgid "transaction left non-empty SPI stack"
 msgstr "Transaktion ließ nicht-leeren SPI-Stack zurück"
 
-#: executor/spi.c:381 executor/spi.c:443
+#: executor/spi.c:473 executor/spi.c:533
 #, c-format
 msgid "Check for missing \"SPI_finish\" calls."
 msgstr "Prüfen Sie, ob Aufrufe von »SPI_finish« fehlen."
 
-#: executor/spi.c:442
+#: executor/spi.c:532
 #, c-format
 msgid "subtransaction left non-empty SPI stack"
 msgstr "Subtransaktion ließ nicht-leeren SPI-Stack zurück"
 
-#: executor/spi.c:1495
+#: executor/spi.c:1600
 #, c-format
 msgid "cannot open multi-query plan as cursor"
 msgstr "Plan mit mehreren Anfragen kann nicht als Cursor geöffnet werden"
 
 #. translator: %s is name of a SQL command, eg INSERT
-#: executor/spi.c:1500
+#: executor/spi.c:1610
 #, c-format
 msgid "cannot open %s query as cursor"
 msgstr "%s kann nicht als Cursor geöffnet werden"
 
-#: executor/spi.c:1607
+#: executor/spi.c:1716
 #, c-format
 msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
 msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE wird nicht unterstützt"
 
-#: executor/spi.c:1608 parser/analyze.c:2806
+#: executor/spi.c:1717 parser/analyze.c:2861
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Scrollbare Cursor müssen READ ONLY sein."
 
-#: executor/spi.c:2808
+#: executor/spi.c:2470
+#, c-format
+msgid "empty query does not return tuples"
+msgstr "leere Anfrage gibt keine Tupel zurück"
+
+#. translator: %s is name of a SQL command, eg INSERT
+#: executor/spi.c:2544
+#, c-format
+msgid "%s query does not return tuples"
+msgstr "%s-Anfrage gibt keine Tupel zurück"
+
+#: executor/spi.c:2959
 #, c-format
 msgid "SQL expression \"%s\""
 msgstr "SQL-Ausdruck »%s«"
 
-#: executor/spi.c:2813
+#: executor/spi.c:2964
 #, c-format
 msgid "PL/pgSQL assignment \"%s\""
 msgstr "PL/pgSQL-Zuweisung »%s«"
 
-#: executor/spi.c:2816
+#: executor/spi.c:2967
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "SQL-Anweisung »%s«"
@@ -12658,1299 +13317,1347 @@ msgstr "SQL-Anweisung »%s«"
 msgid "could not send tuple to shared-memory queue"
 msgstr "konnte Tupel nicht an Shared-Memory-Queue senden"
 
-#: foreign/foreign.c:220
+#: foreign/foreign.c:221
 #, c-format
 msgid "user mapping not found for \"%s\""
 msgstr "Benutzerabbildung für »%s« nicht gefunden"
 
-#: foreign/foreign.c:672
+#: foreign/foreign.c:638
 #, c-format
 msgid "invalid option \"%s\""
 msgstr "ungültige Option »%s«"
 
-#: foreign/foreign.c:673
+#: foreign/foreign.c:640
 #, c-format
 msgid "Valid options in this context are: %s"
 msgstr "Gültige Optionen in diesem Zusammenhang sind: %s"
 
-#: gram.y:1107
+#: foreign/foreign.c:642
+#, fuzzy, c-format
+#| msgid "Valid options in this context are: %s"
+msgid "There are no valid options in this context."
+msgstr "Gültige Optionen in diesem Zusammenhang sind: %s"
+
+#: gram.y:1260
 #, c-format
 msgid "UNENCRYPTED PASSWORD is no longer supported"
 msgstr "UNENCRYPTED PASSWORD wird nicht mehr unterstützt"
 
-#: gram.y:1108
+#: gram.y:1261
 #, c-format
 msgid "Remove UNENCRYPTED to store the password in encrypted form instead."
 msgstr "Lassen Sie UNENCRYPTED weg, um das Passwort stattdessen in verschlüsselter Form zu speichern."
 
-#: gram.y:1170
+#: gram.y:1323
 #, c-format
 msgid "unrecognized role option \"%s\""
 msgstr "unbekannte Rollenoption »%s«"
 
-#: gram.y:1417 gram.y:1432
+#: gram.y:1588 gram.y:1604
 #, c-format
 msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements"
 msgstr "CREATE SCHEMA IF NOT EXISTS kann keine Schemaelemente enthalten"
 
-#: gram.y:1578
+#: gram.y:1761
 #, c-format
 msgid "current database cannot be changed"
 msgstr "aktuelle Datenbank kann nicht geändert werden"
 
-#: gram.y:1702
+#: gram.y:1894
 #, c-format
 msgid "time zone interval must be HOUR or HOUR TO MINUTE"
 msgstr "Zeitzonenintervall muss HOUR oder HOUR TO MINUTE sein"
 
-#: gram.y:2270
+#: gram.y:2511
 #, c-format
 msgid "column number must be in range from 1 to %d"
 msgstr "Spaltennummer muss im Bereich 1 bis %d sein"
 
-#: gram.y:2811
+#: gram.y:3113
 #, c-format
 msgid "sequence option \"%s\" not supported here"
 msgstr "Sequenzoption »%s« wird hier nicht unterstützt"
 
-#: gram.y:2840
+#: gram.y:3142
 #, c-format
 msgid "modulus for hash partition provided more than once"
 msgstr "Modulus für Hashpartition mehrmals angegeben"
 
-#: gram.y:2849
+#: gram.y:3151
 #, c-format
 msgid "remainder for hash partition provided more than once"
 msgstr "Rest für Hashpartition mehrmals angegeben"
 
-#: gram.y:2856
+#: gram.y:3158
 #, c-format
 msgid "unrecognized hash partition bound specification \"%s\""
 msgstr "unbekannte Hashpartitionsbegrenzungsangabe »%s«"
 
-#: gram.y:2864
+#: gram.y:3166
 #, c-format
 msgid "modulus for hash partition must be specified"
 msgstr "Modulus für Hashpartition muss angegeben werden"
 
-#: gram.y:2868
+#: gram.y:3170
 #, c-format
 msgid "remainder for hash partition must be specified"
 msgstr "Rest für Hashpartition muss angegeben werden"
 
-#: gram.y:3069 gram.y:3102
+#: gram.y:3378 gram.y:3412
 #, c-format
 msgid "STDIN/STDOUT not allowed with PROGRAM"
 msgstr "STDIN/STDOUT sind nicht mit PROGRAM erlaubt"
 
-#: gram.y:3075
+#: gram.y:3384
 #, c-format
 msgid "WHERE clause not allowed with COPY TO"
 msgstr "mit COPY TO ist keine WHERE-Klausel erlaubt"
 
-#: gram.y:3407 gram.y:3414 gram.y:11689 gram.y:11697
+#: gram.y:3723 gram.y:3730 gram.y:12873 gram.y:12881
 #, c-format
 msgid "GLOBAL is deprecated in temporary table creation"
 msgstr "die Verwendung von GLOBAL beim Erzeugen einer temporären Tabelle ist veraltet"
 
-#: gram.y:3665
+#: gram.y:3995
 #, c-format
 msgid "for a generated column, GENERATED ALWAYS must be specified"
 msgstr "für eine generierte Spalte muss GENERATED ALWAYS angegeben werden"
 
-#: gram.y:3933 utils/adt/ri_triggers.c:2032
+#: gram.y:4286 utils/adt/ri_triggers.c:2098
 #, c-format
 msgid "MATCH PARTIAL not yet implemented"
 msgstr "MATCH PARTIAL ist noch nicht implementiert"
 
-#: gram.y:4634
+#: gram.y:4378
+#, fuzzy, c-format
+#| msgid "return type %s is not supported for SQL functions"
+msgid "a column list with %s is only supported for ON DELETE actions"
+msgstr "Rückgabetyp %s wird von SQL-Funktionen nicht unterstützt"
+
+#: gram.y:5088
 #, c-format
 msgid "CREATE EXTENSION ... FROM is no longer supported"
 msgstr "CREATE EXTENSION ... FROM wird nicht mehr unterstützt"
 
-#: gram.y:5297
+#: gram.y:5786
 #, c-format
 msgid "unrecognized row security option \"%s\""
 msgstr "unbekannte Zeilensicherheitsoption »%s«"
 
-#: gram.y:5298
+#: gram.y:5787
 #, c-format
 msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently."
 msgstr "Aktuell werden nur PERMISSIVE und RESTRICTIVE unterstützt."
 
-#: gram.y:5380
+#: gram.y:5872
 #, c-format
 msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported"
 msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER wird nicht unterstützt"
 
-#: gram.y:5417
+#: gram.y:5909
 msgid "duplicate trigger events specified"
 msgstr "mehrere Trigger-Ereignisse angegeben"
 
-#: gram.y:5558 parser/parse_utilcmd.c:3734 parser/parse_utilcmd.c:3760
+#: gram.y:6051 parser/parse_utilcmd.c:3706 parser/parse_utilcmd.c:3732
 #, c-format
 msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
 msgstr "Constraint, der als INITIALLY DEFERRED deklariert wurde, muss DEFERRABLE sein"
 
-#: gram.y:5565
+#: gram.y:6058
 #, c-format
 msgid "conflicting constraint properties"
 msgstr "widersprüchliche Constraint-Eigentschaften"
 
-#: gram.y:5661
+#: gram.y:6157
 #, c-format
 msgid "CREATE ASSERTION is not yet implemented"
 msgstr "CREATE ASSERTION ist noch nicht implementiert"
 
-#: gram.y:6044
+#: gram.y:6565
 #, c-format
 msgid "RECHECK is no longer required"
 msgstr "RECHECK wird nicht mehr benötigt"
 
-#: gram.y:6045
+#: gram.y:6566
 #, c-format
 msgid "Update your data type."
 msgstr "Aktualisieren Sie Ihren Datentyp."
 
-#: gram.y:7770
+#: gram.y:8422
 #, c-format
 msgid "aggregates cannot have output arguments"
 msgstr "Aggregatfunktionen können keine OUT-Argumente haben"
 
-#: gram.y:8212 utils/adt/regproc.c:709 utils/adt/regproc.c:750
+#: gram.y:8885 utils/adt/regproc.c:710 utils/adt/regproc.c:751
 #, c-format
 msgid "missing argument"
 msgstr "Argument fehlt"
 
-#: gram.y:8213 utils/adt/regproc.c:710 utils/adt/regproc.c:751
+#: gram.y:8886 utils/adt/regproc.c:711 utils/adt/regproc.c:752
 #, c-format
 msgid "Use NONE to denote the missing argument of a unary operator."
 msgstr "Verwenden Sie NONE, um das fehlende Argument eines unären Operators anzugeben."
 
-#: gram.y:10152 gram.y:10170
+#: gram.y:11107 gram.y:11126
 #, c-format
 msgid "WITH CHECK OPTION not supported on recursive views"
 msgstr "WITH CHECK OPTION wird für rekursive Sichten nicht unterstützt"
 
-#: gram.y:11826
+#: gram.y:13012
 #, c-format
 msgid "LIMIT #,# syntax is not supported"
 msgstr "Syntax LIMIT x,y wird nicht unterstützt"
 
-#: gram.y:11827
+#: gram.y:13013
 #, c-format
 msgid "Use separate LIMIT and OFFSET clauses."
 msgstr "Verwenden Sie die getrennten Klauseln LIMIT und OFFSET."
 
-#: gram.y:12165 gram.y:12190
+#: gram.y:13366 gram.y:13392
 #, c-format
 msgid "VALUES in FROM must have an alias"
 msgstr "VALUES in FROM muss Aliasnamen erhalten"
 
-#: gram.y:12166 gram.y:12191
+#: gram.y:13367 gram.y:13393
 #, c-format
 msgid "For example, FROM (VALUES ...) [AS] foo."
 msgstr "Zum Beispiel FROM (VALUES ...) [AS] xyz."
 
-#: gram.y:12171 gram.y:12196
+#: gram.y:13372 gram.y:13398
 #, c-format
 msgid "subquery in FROM must have an alias"
 msgstr "Unteranfrage in FROM muss Aliasnamen erhalten"
 
-#: gram.y:12172 gram.y:12197
+#: gram.y:13373 gram.y:13399
 #, c-format
 msgid "For example, FROM (SELECT ...) [AS] foo."
 msgstr "Zum Beispiel FROM (SELECT ...) [AS] xyz."
 
-#: gram.y:12692
+#: gram.y:13932
 #, c-format
 msgid "only one DEFAULT value is allowed"
 msgstr "nur ein DEFAULT-Wert ist erlaubt"
 
-#: gram.y:12701
+#: gram.y:13941
 #, c-format
 msgid "only one PATH value per column is allowed"
 msgstr "nur ein PATH-Wert pro Spalte ist erlaubt"
 
-#: gram.y:12710
+#: gram.y:13950
 #, c-format
 msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\""
 msgstr "widersprüchliche oder überflüssige NULL/NOT NULL-Deklarationen für Spalte »%s«"
 
-#: gram.y:12719
+#: gram.y:13959
 #, c-format
 msgid "unrecognized column option \"%s\""
 msgstr "unbekannte Spaltenoption »%s«"
 
-#: gram.y:12973
+#: gram.y:14217
 #, c-format
 msgid "precision for type float must be at least 1 bit"
 msgstr "Präzision von Typ float muss mindestens 1 Bit sein"
 
-#: gram.y:12982
+#: gram.y:14226
 #, c-format
 msgid "precision for type float must be less than 54 bits"
 msgstr "Präzision von Typ float muss weniger als 54 Bits sein"
 
-#: gram.y:13480
+#: gram.y:14736
 #, c-format
 msgid "wrong number of parameters on left side of OVERLAPS expression"
 msgstr "falsche Anzahl Parameter auf linker Seite von OVERLAPS-Ausdruck"
 
-#: gram.y:13485
+#: gram.y:14741
 #, c-format
 msgid "wrong number of parameters on right side of OVERLAPS expression"
 msgstr "falsche Anzahl Parameter auf rechter Seite von OVERLAPS-Ausdruck"
 
-#: gram.y:13653
+#: gram.y:14918
 #, c-format
 msgid "UNIQUE predicate is not yet implemented"
 msgstr "UNIQUE-Prädikat ist noch nicht implementiert"
 
-#: gram.y:14012
+#: gram.y:15356
 #, c-format
 msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP"
 msgstr "in WITHIN GROUP können nicht mehrere ORDER-BY-Klauseln verwendet werden"
 
-#: gram.y:14017
+#: gram.y:15361
 #, c-format
 msgid "cannot use DISTINCT with WITHIN GROUP"
 msgstr "DISTINCT kann nicht mit WITHIN GROUP verwendet werden"
 
-#: gram.y:14022
+#: gram.y:15366
 #, c-format
 msgid "cannot use VARIADIC with WITHIN GROUP"
 msgstr "VARIADIC kann nicht mit WITHIN GROUP verwendet werden"
 
-#: gram.y:14546 gram.y:14569
+#: gram.y:15916 gram.y:15940
 #, c-format
 msgid "frame start cannot be UNBOUNDED FOLLOWING"
 msgstr "Frame-Beginn kann nicht UNBOUNDED FOLLOWING sein"
 
-#: gram.y:14551
+#: gram.y:15921
 #, c-format
 msgid "frame starting from following row cannot end with current row"
 msgstr "Frame der in der folgenden Zeile beginnt kann nicht in der aktuellen Zeile enden"
 
-#: gram.y:14574
+#: gram.y:15945
 #, c-format
 msgid "frame end cannot be UNBOUNDED PRECEDING"
 msgstr "Frame-Ende kann nicht UNBOUNDED PRECEDING sein"
 
-#: gram.y:14580
+#: gram.y:15951
 #, c-format
 msgid "frame starting from current row cannot have preceding rows"
 msgstr "Frame der in der aktuellen Zeile beginnt kann keine vorhergehenden Zeilen haben"
 
-#: gram.y:14587
+#: gram.y:15958
 #, c-format
 msgid "frame starting from following row cannot have preceding rows"
 msgstr "Frame der in der folgenden Zeile beginnt kann keine vorhergehenden Zeilen haben"
 
-#: gram.y:15219
+#: gram.y:16644 gram.y:16836
+#, c-format
+msgid "SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used"
+msgstr ""
+
+#: gram.y:17390
 #, c-format
 msgid "type modifier cannot have parameter name"
 msgstr "Typmodifikator kann keinen Parameternamen haben"
 
-#: gram.y:15225
+#: gram.y:17396
 #, c-format
 msgid "type modifier cannot have ORDER BY"
 msgstr "Typmodifikator kann kein ORDER BY haben"
 
-#: gram.y:15290 gram.y:15297 gram.y:15304
+#: gram.y:17464 gram.y:17471 gram.y:17478
 #, c-format
 msgid "%s cannot be used as a role name here"
 msgstr "%s kann hier nicht als Rollenname verwendet werden"
 
-#: gram.y:15393 gram.y:16825
+#: gram.y:17568 gram.y:19055
 #, c-format
 msgid "WITH TIES cannot be specified without ORDER BY clause"
 msgstr "WITH TIES kann nicht ohne ORDER-BY-Klausel angegeben werden"
 
-#: gram.y:16501 gram.y:16690
+#: gram.y:18734 gram.y:18921
 msgid "improper use of \"*\""
 msgstr "unzulässige Verwendung von »*«"
 
-#: gram.y:16653 gram.y:16670 tsearch/spell.c:982 tsearch/spell.c:999
+#: gram.y:18884 gram.y:18901 tsearch/spell.c:982 tsearch/spell.c:999
 #: tsearch/spell.c:1016 tsearch/spell.c:1033 tsearch/spell.c:1098
 #, c-format
 msgid "syntax error"
 msgstr "Syntaxfehler"
 
-#: gram.y:16755
+#: gram.y:18985
 #, c-format
 msgid "an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"
 msgstr "eine Ordered-Set-Aggregatfunktion mit einem direkten VARIADIC-Argument muss ein aggregiertes VARIADIC-Argument des selben Datentyps haben"
 
-#: gram.y:16792
+#: gram.y:19022
 #, c-format
 msgid "multiple ORDER BY clauses not allowed"
 msgstr "mehrere ORDER-BY-Klauseln sind nicht erlaubt"
 
-#: gram.y:16803
+#: gram.y:19033
 #, c-format
 msgid "multiple OFFSET clauses not allowed"
 msgstr "mehrere OFFSET-Klauseln sind nicht erlaubt"
 
-#: gram.y:16812
+#: gram.y:19042
 #, c-format
 msgid "multiple LIMIT clauses not allowed"
 msgstr "mehrere LIMIT-Klauseln sind nicht erlaubt"
 
-#: gram.y:16821
+#: gram.y:19051
 #, c-format
 msgid "multiple limit options not allowed"
 msgstr "mehrere Limit-Optionen sind nicht erlaubt"
 
-#: gram.y:16833
+#: gram.y:19078
 #, c-format
 msgid "multiple WITH clauses not allowed"
 msgstr "mehrere WITH-Klauseln sind nicht erlaubt"
 
-#: gram.y:17025
+#: gram.y:19271
 #, c-format
 msgid "OUT and INOUT arguments aren't allowed in TABLE functions"
 msgstr "OUT- und INOUT-Argumente sind in TABLE-Funktionen nicht erlaubt"
 
-#: gram.y:17121
+#: gram.y:19404
 #, c-format
 msgid "multiple COLLATE clauses not allowed"
 msgstr "mehrere COLLATE-Klauseln sind nicht erlaubt"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:17159 gram.y:17172
+#: gram.y:19442 gram.y:19455
 #, c-format
 msgid "%s constraints cannot be marked DEFERRABLE"
 msgstr "%s-Constraints können nicht als DEFERRABLE markiert werden"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:17185
+#: gram.y:19468
 #, c-format
 msgid "%s constraints cannot be marked NOT VALID"
 msgstr "%s-Constraints können nicht als NOT VALID markiert werden"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:17198
+#: gram.y:19481
 #, c-format
 msgid "%s constraints cannot be marked NO INHERIT"
 msgstr "%s-Constraints können nicht als NO INHERIT markiert werden"
 
+#: gram.y:19505
+#, fuzzy, c-format
+#| msgid "invalid publication_names syntax"
+msgid "invalid publication object list"
+msgstr "ungültige Syntax für publication_names"
+
+#: gram.y:19506
+#, c-format
+msgid "One of TABLE or ALL TABLES IN SCHEMA must be specified before a standalone table or schema name."
+msgstr ""
+
+#: gram.y:19522
+#, fuzzy, c-format
+#| msgid "invalid file name argument"
+msgid "invalid table name at or near"
+msgstr "ungültiges Dateinamenargument"
+
+#: gram.y:19543
+#, fuzzy, c-format
+#| msgid "WHERE clause not allowed with COPY TO"
+msgid "WHERE clause not allowed for schema"
+msgstr "mit COPY TO ist keine WHERE-Klausel erlaubt"
+
+#: gram.y:19550
+#, fuzzy, c-format
+#| msgid "interval specification not allowed here"
+msgid "column specification not allowed for schema"
+msgstr "Intervallangabe hier nicht erlaubt"
+
+#: gram.y:19564
+#, fuzzy, c-format
+#| msgid "invalid statement name \"%s\" on line %d"
+msgid "invalid schema name at or near"
+msgstr "ungültiger Anweisungsname »%s« auf Zeile %d"
+
 #: guc-file.l:314
 #, c-format
 msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d"
 msgstr "unbekannter Konfigurationsparameter »%s« in Datei »%s« Zeile %d"
 
-#: guc-file.l:351 utils/misc/guc.c:7360 utils/misc/guc.c:7558
-#: utils/misc/guc.c:7652 utils/misc/guc.c:7746 utils/misc/guc.c:7866
-#: utils/misc/guc.c:7965
+#: guc-file.l:353 utils/misc/guc.c:7640 utils/misc/guc.c:7859
+#: utils/misc/guc.c:7953 utils/misc/guc.c:8047 utils/misc/guc.c:8167
+#: utils/misc/guc.c:8266
 #, c-format
 msgid "parameter \"%s\" cannot be changed without restarting the server"
 msgstr "Parameter »%s« kann nicht geändert werden, ohne den Server neu zu starten"
 
-#: guc-file.l:387
+#: guc-file.l:389
 #, c-format
 msgid "parameter \"%s\" removed from configuration file, reset to default"
 msgstr "Parameter »%s« wurde aus Konfigurationsdatei entfernt, wird auf Standardwert zurückgesetzt"
 
-#: guc-file.l:453
+#: guc-file.l:455
 #, c-format
 msgid "parameter \"%s\" changed to \"%s\""
 msgstr "Parameter »%s« auf »%s« gesetzt"
 
-#: guc-file.l:495
+#: guc-file.l:497
 #, c-format
 msgid "configuration file \"%s\" contains errors"
 msgstr "Konfigurationsdatei »%s« enthält Fehler"
 
-#: guc-file.l:500
+#: guc-file.l:502
 #, c-format
 msgid "configuration file \"%s\" contains errors; unaffected changes were applied"
 msgstr "Konfigurationsdatei »%s« enthält Fehler; nicht betroffene Änderungen wurden durchgeführt"
 
-#: guc-file.l:505
+#: guc-file.l:507
 #, c-format
 msgid "configuration file \"%s\" contains errors; no changes were applied"
 msgstr "Konfigurationsdatei »%s« enthält Fehler; keine Änderungen wurden durchgeführt"
 
-#: guc-file.l:577
+#: guc-file.l:579
 #, c-format
 msgid "empty configuration file name: \"%s\""
 msgstr "leerer Konfigurationsdateiname: »%s«"
 
-#: guc-file.l:594
+#: guc-file.l:596
 #, c-format
 msgid "could not open configuration file \"%s\": maximum nesting depth exceeded"
 msgstr "konnte Konfigurationsdatei »%s« nicht öffnen: maximale Verschachtelungstiefe überschritten"
 
-#: guc-file.l:614
+#: guc-file.l:616
 #, c-format
 msgid "configuration file recursion in \"%s\""
 msgstr "Konfigurationsdateirekursion in »%s«"
 
-#: guc-file.l:630 libpq/hba.c:2251 libpq/hba.c:2665
+#: guc-file.l:632 libpq/hba.c:2223 utils/adt/hbafuncs.c:376
 #, c-format
 msgid "could not open configuration file \"%s\": %m"
 msgstr "konnte Konfigurationsdatei »%s« nicht öffnen: %m"
 
-#: guc-file.l:641
+#: guc-file.l:643
 #, c-format
 msgid "skipping missing configuration file \"%s\""
 msgstr "fehlende Konfigurationsdatei »%s« wird übersprungen"
 
-#: guc-file.l:895
+#: guc-file.l:897
 #, c-format
 msgid "syntax error in file \"%s\" line %u, near end of line"
 msgstr "Syntaxfehler in Datei »%s«, Zeile %u, am Ende der Zeile"
 
-#: guc-file.l:905
+#: guc-file.l:907
 #, c-format
 msgid "syntax error in file \"%s\" line %u, near token \"%s\""
 msgstr "Syntaxfehler in Datei »%s«, Zeile %u, bei »%s«"
 
-#: guc-file.l:925
+#: guc-file.l:927
 #, c-format
 msgid "too many syntax errors found, abandoning file \"%s\""
 msgstr "zu viele Syntaxfehler gefunden, Datei »%s« wird aufgegeben"
 
-#: guc-file.l:980
+#: guc-file.l:982
 #, c-format
 msgid "empty configuration directory name: \"%s\""
 msgstr "leerer Konfigurationsverzeichnisname: »%s«"
 
-#: guc-file.l:999
+#: guc-file.l:1001
 #, c-format
 msgid "could not open configuration directory \"%s\": %m"
 msgstr "konnte Konfigurationsverzeichnis »%s« nicht öffnen: %m"
 
-#: jit/jit.c:205 utils/fmgr/dfmgr.c:209 utils/fmgr/dfmgr.c:417
-#: utils/fmgr/dfmgr.c:465
+#: jit/jit.c:205 utils/fmgr/dfmgr.c:209 utils/fmgr/dfmgr.c:415
 #, c-format
 msgid "could not access file \"%s\": %m"
 msgstr "konnte nicht auf Datei »%s« zugreifen: %m"
 
-#: jsonpath_gram.y:528 jsonpath_scan.l:519 jsonpath_scan.l:530
-#: jsonpath_scan.l:540 jsonpath_scan.l:582 utils/adt/encode.c:435
-#: utils/adt/encode.c:501 utils/adt/jsonfuncs.c:623 utils/adt/varlena.c:339
-#: utils/adt/varlena.c:380
+#: jsonpath_gram.y:529 jsonpath_scan.l:515 jsonpath_scan.l:526
+#: jsonpath_scan.l:536 jsonpath_scan.l:578 utils/adt/encode.c:482
+#: utils/adt/encode.c:547 utils/adt/jsonfuncs.c:623 utils/adt/varlena.c:335
+#: utils/adt/varlena.c:376
 #, c-format
 msgid "invalid input syntax for type %s"
 msgstr "ungültige Eingabesyntax für Typ %s"
 
-#: jsonpath_gram.y:529
+#: jsonpath_gram.y:530
 #, c-format
 msgid "unrecognized flag character \"%.*s\" in LIKE_REGEX predicate"
 msgstr "unbekanntes Flag-Zeichen »%.*s« in LIKE_REGEX-Prädikat"
 
-#: jsonpath_gram.y:583
+#: jsonpath_gram.y:584
 #, c-format
 msgid "XQuery \"x\" flag (expanded regular expressions) is not implemented"
 msgstr "XQuery-Flag »x« (expanded regular expression) ist nicht implementiert"
 
 #. translator: %s is typically "syntax error"
-#: jsonpath_scan.l:286
+#: jsonpath_scan.l:282
 #, c-format
 msgid "%s at end of jsonpath input"
 msgstr "%s am Ende der jsonpath-Eingabe"
 
 #. translator: first %s is typically "syntax error"
-#: jsonpath_scan.l:293
+#: jsonpath_scan.l:289
 #, c-format
 msgid "%s at or near \"%s\" of jsonpath input"
 msgstr "%s bei »%s« in jsonpath-Eingabe"
 
-#: jsonpath_scan.l:498 utils/adt/jsonfuncs.c:617
+#: jsonpath_scan.l:494 utils/adt/jsonfuncs.c:617
 #, c-format
 msgid "unsupported Unicode escape sequence"
 msgstr "nicht unterstützte Unicode-Escape-Sequenz"
 
-#: lib/dshash.c:247 utils/mmgr/dsa.c:702 utils/mmgr/dsa.c:724
+#: lib/dshash.c:255 utils/mmgr/dsa.c:702 utils/mmgr/dsa.c:724
 #: utils/mmgr/dsa.c:805
 #, c-format
 msgid "Failed on DSA request of size %zu."
 msgstr "Fehler bei DSA-Anfrage mit Größe %zu."
 
-#: libpq/auth-scram.c:249
+#: libpq/auth-sasl.c:97
+#, c-format
+msgid "expected SASL response, got message type %d"
+msgstr "SASL-Antwort erwartet, Message-Typ %d empfangen"
+
+#: libpq/auth-scram.c:258
 #, c-format
 msgid "client selected an invalid SASL authentication mechanism"
 msgstr "Client hat einen ungültigen SASL-Authentifizierungsmechanismums gewählt"
 
-#: libpq/auth-scram.c:270 libpq/auth-scram.c:510 libpq/auth-scram.c:521
+#: libpq/auth-scram.c:279 libpq/auth-scram.c:523 libpq/auth-scram.c:534
 #, c-format
 msgid "invalid SCRAM secret for user \"%s\""
 msgstr "ungültiges SCRAM-Geheimnis für Benutzer »%s«"
 
-#: libpq/auth-scram.c:281
+#: libpq/auth-scram.c:290
 #, c-format
 msgid "User \"%s\" does not have a valid SCRAM secret."
 msgstr "Benutzer »%s« hat kein gültiges SCRAM-Geheimnis."
 
-#: libpq/auth-scram.c:359 libpq/auth-scram.c:364 libpq/auth-scram.c:701
-#: libpq/auth-scram.c:709 libpq/auth-scram.c:814 libpq/auth-scram.c:827
-#: libpq/auth-scram.c:837 libpq/auth-scram.c:945 libpq/auth-scram.c:952
-#: libpq/auth-scram.c:967 libpq/auth-scram.c:982 libpq/auth-scram.c:996
-#: libpq/auth-scram.c:1014 libpq/auth-scram.c:1029 libpq/auth-scram.c:1340
-#: libpq/auth-scram.c:1348
+#: libpq/auth-scram.c:368 libpq/auth-scram.c:373 libpq/auth-scram.c:714
+#: libpq/auth-scram.c:722 libpq/auth-scram.c:827 libpq/auth-scram.c:840
+#: libpq/auth-scram.c:850 libpq/auth-scram.c:958 libpq/auth-scram.c:965
+#: libpq/auth-scram.c:980 libpq/auth-scram.c:995 libpq/auth-scram.c:1009
+#: libpq/auth-scram.c:1027 libpq/auth-scram.c:1042 libpq/auth-scram.c:1355
+#: libpq/auth-scram.c:1363
 #, c-format
 msgid "malformed SCRAM message"
 msgstr "fehlerhafte SCRAM-Nachricht"
 
-#: libpq/auth-scram.c:360
+#: libpq/auth-scram.c:369
 #, c-format
 msgid "The message is empty."
 msgstr "Die Nachricht ist leer."
 
-#: libpq/auth-scram.c:365
+#: libpq/auth-scram.c:374
 #, c-format
 msgid "Message length does not match input length."
 msgstr "Länge der Nachricht stimmt nicht mit Länge der Eingabe überein."
 
-#: libpq/auth-scram.c:397
+#: libpq/auth-scram.c:406
 #, c-format
 msgid "invalid SCRAM response"
 msgstr "ungültige SCRAM-Antwort"
 
-#: libpq/auth-scram.c:398
+#: libpq/auth-scram.c:407
 #, c-format
 msgid "Nonce does not match."
 msgstr "Nonce stimmt nicht überein."
 
-#: libpq/auth-scram.c:472
+#: libpq/auth-scram.c:483
 #, c-format
 msgid "could not generate random salt"
 msgstr "konnte zufälliges Salt nicht erzeugen"
 
-#: libpq/auth-scram.c:702
+#: libpq/auth-scram.c:715
 #, c-format
 msgid "Expected attribute \"%c\" but found \"%s\"."
 msgstr "Attribut »%c« wurde erwartet, aber »%s« wurde gefunden."
 
-#: libpq/auth-scram.c:710 libpq/auth-scram.c:838
+#: libpq/auth-scram.c:723 libpq/auth-scram.c:851
 #, c-format
 msgid "Expected character \"=\" for attribute \"%c\"."
 msgstr "Zeichen »=« für Attribut »%c« wurde erwartet."
 
-#: libpq/auth-scram.c:815
+#: libpq/auth-scram.c:828
 #, c-format
 msgid "Attribute expected, but found end of string."
 msgstr "Attribut wurde erwartet, aber Ende der Zeichenkette wurde gefunden."
 
-#: libpq/auth-scram.c:828
+#: libpq/auth-scram.c:841
 #, c-format
 msgid "Attribute expected, but found invalid character \"%s\"."
 msgstr "Attribut wurde erwartet, aber ungültiges Zeichen »%s« wurde gefunden."
 
-#: libpq/auth-scram.c:946 libpq/auth-scram.c:968
+#: libpq/auth-scram.c:959 libpq/auth-scram.c:981
 #, c-format
 msgid "The client selected SCRAM-SHA-256-PLUS, but the SCRAM message does not include channel binding data."
 msgstr "Der Client hat SCRAM-SHA-256-PLUS gewählt, aber die SCRAM-Nachricht enthielt keine Channel-Binding-Daten."
 
-#: libpq/auth-scram.c:953 libpq/auth-scram.c:983
+#: libpq/auth-scram.c:966 libpq/auth-scram.c:996
 #, c-format
 msgid "Comma expected, but found character \"%s\"."
 msgstr "Komma wurde erwartet, aber Zeichen »%s« wurde gefunden."
 
-#: libpq/auth-scram.c:974
+#: libpq/auth-scram.c:987
 #, c-format
 msgid "SCRAM channel binding negotiation error"
 msgstr "Fehler bei der Aushandlung von SCRAM-Channel-Binding"
 
-#: libpq/auth-scram.c:975
+#: libpq/auth-scram.c:988
 #, c-format
 msgid "The client supports SCRAM channel binding but thinks the server does not.  However, this server does support channel binding."
 msgstr "Der Client unterstützt SCRAM-Channel-Binding aber glaubt dass der Server es nicht tut. Dieser Server unterstützt jedoch Channel-Binding."
 
-#: libpq/auth-scram.c:997
+#: libpq/auth-scram.c:1010
 #, c-format
 msgid "The client selected SCRAM-SHA-256 without channel binding, but the SCRAM message includes channel binding data."
 msgstr "Der Client hat SCRAM-SHA-256 ohne Channel-Binding gewählt, aber die SCRAM-Nachricht enthält Channel-Binding-Daten."
 
-#: libpq/auth-scram.c:1008
+#: libpq/auth-scram.c:1021
 #, c-format
 msgid "unsupported SCRAM channel-binding type \"%s\""
 msgstr "nicht unterstützter SCRAM-Channel-Binding-Typ »%s«"
 
-#: libpq/auth-scram.c:1015
+#: libpq/auth-scram.c:1028
 #, c-format
 msgid "Unexpected channel-binding flag \"%s\"."
 msgstr "Unerwartetes Channel-Binding-Flag »%s«."
 
-#: libpq/auth-scram.c:1025
+#: libpq/auth-scram.c:1038
 #, c-format
 msgid "client uses authorization identity, but it is not supported"
 msgstr "Client verwendet Autorisierungsidentität, was nicht unterstützt wird"
 
-#: libpq/auth-scram.c:1030
+#: libpq/auth-scram.c:1043
 #, c-format
 msgid "Unexpected attribute \"%s\" in client-first-message."
 msgstr "Unerwartetes Attribut »%s« in »client-first-message«."
 
-#: libpq/auth-scram.c:1046
+#: libpq/auth-scram.c:1059
 #, c-format
 msgid "client requires an unsupported SCRAM extension"
 msgstr "Client verlangt eine nicht unterstützte SCRAM-Erweiterung"
 
-#: libpq/auth-scram.c:1060
+#: libpq/auth-scram.c:1073
 #, c-format
 msgid "non-printable characters in SCRAM nonce"
 msgstr "nicht druckbare Zeichen in SCRAM-Nonce"
 
-#: libpq/auth-scram.c:1188
+#: libpq/auth-scram.c:1203
 #, c-format
 msgid "could not generate random nonce"
 msgstr "konnte zufällige Nonce nicht erzeugen"
 
-#: libpq/auth-scram.c:1198
+#: libpq/auth-scram.c:1213
 #, c-format
 msgid "could not encode random nonce"
 msgstr "konnte zufällige Nonce nicht kodieren"
 
-#: libpq/auth-scram.c:1304
+#: libpq/auth-scram.c:1319
 #, c-format
 msgid "SCRAM channel binding check failed"
 msgstr "SCRAM-Channel-Binding-Prüfung fehlgeschlagen"
 
-#: libpq/auth-scram.c:1322
+#: libpq/auth-scram.c:1337
 #, c-format
 msgid "unexpected SCRAM channel-binding attribute in client-final-message"
 msgstr "unerwartetes SCRAM-Channel-Binding-Attribut in »client-final-message«"
 
-#: libpq/auth-scram.c:1341
+#: libpq/auth-scram.c:1356
 #, c-format
 msgid "Malformed proof in client-final-message."
 msgstr "Fehlerhafter Proof in »client-final-message«."
 
-#: libpq/auth-scram.c:1349
+#: libpq/auth-scram.c:1364
 #, c-format
 msgid "Garbage found at the end of client-final-message."
 msgstr "Müll am Ende der »client-final-message« gefunden."
 
-#: libpq/auth.c:284
+#: libpq/auth.c:275
 #, c-format
 msgid "authentication failed for user \"%s\": host rejected"
 msgstr "Authentifizierung für Benutzer »%s« fehlgeschlagen: Host abgelehnt"
 
-#: libpq/auth.c:287
+#: libpq/auth.c:278
 #, c-format
 msgid "\"trust\" authentication failed for user \"%s\""
 msgstr "»trust«-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:290
+#: libpq/auth.c:281
 #, c-format
 msgid "Ident authentication failed for user \"%s\""
 msgstr "Ident-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:293
+#: libpq/auth.c:284
 #, c-format
 msgid "Peer authentication failed for user \"%s\""
 msgstr "Peer-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:298
+#: libpq/auth.c:289
 #, c-format
 msgid "password authentication failed for user \"%s\""
 msgstr "Passwort-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:303
+#: libpq/auth.c:294
 #, c-format
 msgid "GSSAPI authentication failed for user \"%s\""
 msgstr "GSSAPI-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:306
+#: libpq/auth.c:297
 #, c-format
 msgid "SSPI authentication failed for user \"%s\""
 msgstr "SSPI-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:309
+#: libpq/auth.c:300
 #, c-format
 msgid "PAM authentication failed for user \"%s\""
 msgstr "PAM-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:312
+#: libpq/auth.c:303
 #, c-format
 msgid "BSD authentication failed for user \"%s\""
 msgstr "BSD-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:315
+#: libpq/auth.c:306
 #, c-format
 msgid "LDAP authentication failed for user \"%s\""
 msgstr "LDAP-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:318
+#: libpq/auth.c:309
 #, c-format
 msgid "certificate authentication failed for user \"%s\""
 msgstr "Zertifikatauthentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:321
+#: libpq/auth.c:312
 #, c-format
 msgid "RADIUS authentication failed for user \"%s\""
 msgstr "RADIUS-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:324
+#: libpq/auth.c:315
 #, c-format
 msgid "authentication failed for user \"%s\": invalid authentication method"
 msgstr "Authentifizierung für Benutzer »%s« fehlgeschlagen: ungültige Authentifizierungsmethode"
 
-#: libpq/auth.c:328
+#: libpq/auth.c:319
 #, c-format
 msgid "Connection matched pg_hba.conf line %d: \"%s\""
 msgstr "Verbindung stimmte mit pg_hba.conf-Zeile %d überein: »%s«"
 
-#: libpq/auth.c:371
-#, fuzzy, c-format
-#| msgid "Connections and Authentication"
-msgid "connection was re-authenticated"
-msgstr "Verbindungen und Authentifizierung"
+#: libpq/auth.c:362
+#, c-format
+msgid "authentication identifier set more than once"
+msgstr "Authentifizierungsbezeichner mehrmals gesetzt"
 
-#: libpq/auth.c:372
+#: libpq/auth.c:363
 #, c-format
-msgid "previous ID: \"%s\"; new ID: \"%s\""
-msgstr ""
+msgid "previous identifier: \"%s\"; new identifier: \"%s\""
+msgstr "vorheriger Bezeichner: »%s«; neuer Bezeichner: »%s«"
 
-#: libpq/auth.c:381
+#: libpq/auth.c:372
 #, c-format
 msgid "connection authenticated: identity=\"%s\" method=%s (%s:%d)"
-msgstr ""
+msgstr "Verbindung authentifiziert: Identität=»%s« Methode=%s (%s:%d)"
 
-#: libpq/auth.c:420
+#: libpq/auth.c:411
 #, c-format
 msgid "client certificates can only be checked if a root certificate store is available"
 msgstr "Client-Zertifikate können nur überprüft werden, wenn Wurzelzertifikat verfügbar ist"
 
-#: libpq/auth.c:431
+#: libpq/auth.c:422
 #, c-format
 msgid "connection requires a valid client certificate"
 msgstr "Verbindung erfordert ein gültiges Client-Zertifikat"
 
-#: libpq/auth.c:462 libpq/auth.c:508
+#: libpq/auth.c:453 libpq/auth.c:499
 msgid "GSS encryption"
 msgstr "GSS-Verschlüsselung"
 
-#: libpq/auth.c:465 libpq/auth.c:511
+#: libpq/auth.c:456 libpq/auth.c:502
 msgid "SSL encryption"
 msgstr "SSL-Verschlüsselung"
 
-#: libpq/auth.c:467 libpq/auth.c:513
+#: libpq/auth.c:458 libpq/auth.c:504
 msgid "no encryption"
 msgstr "keine Verschlüsselung"
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:473
+#: libpq/auth.c:464
 #, c-format
 msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
 msgstr "pg_hba.conf lehnt Replikationsverbindung ab für Host »%s«, Benutzer »%s«, %s"
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:480
+#: libpq/auth.c:471
 #, c-format
 msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\", %s"
 msgstr "pg_hba.conf lehnt Verbindung ab für Host »%s«, Benutzer »%s«, Datenbank »%s«, %s"
 
-#: libpq/auth.c:518
+#: libpq/auth.c:509
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup matches."
 msgstr "Auflösung der Client-IP-Adresse ergab »%s«, Vorwärtsauflösung stimmt überein."
 
-#: libpq/auth.c:521
+#: libpq/auth.c:512
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup not checked."
 msgstr "Auflösung der Client-IP-Adresse ergab »%s«, Vorwärtsauflösung nicht geprüft."
 
-#: libpq/auth.c:524
+#: libpq/auth.c:515
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup does not match."
 msgstr "Auflösung der Client-IP-Adresse ergab »%s«, Vorwärtsauflösung stimmt nicht überein."
 
-#: libpq/auth.c:527
+#: libpq/auth.c:518
 #, c-format
 msgid "Could not translate client host name \"%s\" to IP address: %s."
 msgstr "Konnte Client-Hostnamen »%s« nicht in IP-Adresse übersetzen: %s."
 
-#: libpq/auth.c:532
+#: libpq/auth.c:523
 #, c-format
 msgid "Could not resolve client IP address to a host name: %s."
 msgstr "Konnte Client-IP-Adresse nicht in einen Hostnamen auflösen: %s."
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:540
+#: libpq/auth.c:531
 #, c-format
 msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\", %s"
 msgstr "kein pg_hba.conf-Eintrag für Replikationsverbindung von Host »%s«, Benutzer »%s«, %s"
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:548
+#: libpq/auth.c:539
 #, c-format
 msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s"
 msgstr "kein pg_hba.conf-Eintrag für Host »%s«, Benutzer »%s«, Datenbank »%s«, %s"
 
-#: libpq/auth.c:721
+#: libpq/auth.c:712
 #, c-format
 msgid "expected password response, got message type %d"
 msgstr "Passwort-Antwort erwartet, Message-Typ %d empfangen"
 
-#: libpq/auth.c:742
+#: libpq/auth.c:733
 #, c-format
 msgid "invalid password packet size"
 msgstr "ungültige Größe des Passwortpakets"
 
-#: libpq/auth.c:760
+#: libpq/auth.c:751
 #, c-format
 msgid "empty password returned by client"
 msgstr "Client gab leeres Passwort zurück"
 
-#: libpq/auth.c:887 libpq/hba.c:1366
+#: libpq/auth.c:880 libpq/hba.c:1335
 #, c-format
 msgid "MD5 authentication is not supported when \"db_user_namespace\" is enabled"
 msgstr "MD5-Authentifizierung wird nicht unterstützt, wenn »db_user_namespace« angeschaltet ist"
 
-#: libpq/auth.c:893
+#: libpq/auth.c:886
 #, c-format
 msgid "could not generate random MD5 salt"
 msgstr "konnte zufälliges MD5-Salt nicht erzeugen"
 
-#: libpq/auth.c:959
-#, c-format
-msgid "expected SASL response, got message type %d"
-msgstr "SASL-Antwort erwartet, Message-Typ %d empfangen"
-
-#: libpq/auth.c:1088 libpq/be-secure-gssapi.c:535
+#: libpq/auth.c:935 libpq/be-secure-gssapi.c:535
 #, c-format
 msgid "could not set environment: %m"
 msgstr "konnte Umgebung nicht setzen: %m"
 
-#: libpq/auth.c:1124
+#: libpq/auth.c:971
 #, c-format
 msgid "expected GSS response, got message type %d"
 msgstr "GSS-Antwort erwartet, Message-Typ %d empfangen"
 
-#: libpq/auth.c:1184
+#: libpq/auth.c:1031
 msgid "accepting GSS security context failed"
 msgstr "Annahme des GSS-Sicherheitskontexts fehlgeschlagen"
 
-#: libpq/auth.c:1224
+#: libpq/auth.c:1072
 msgid "retrieving GSS user name failed"
 msgstr "Abfrage des GSS-Benutzernamens fehlgeschlagen"
 
-#: libpq/auth.c:1365
+#: libpq/auth.c:1221
 msgid "could not acquire SSPI credentials"
 msgstr "konnte SSPI-Credentials nicht erhalten"
 
-#: libpq/auth.c:1390
+#: libpq/auth.c:1246
 #, c-format
 msgid "expected SSPI response, got message type %d"
 msgstr "SSPI-Antwort erwartet, Message-Typ %d empfangen"
 
-#: libpq/auth.c:1468
+#: libpq/auth.c:1324
 msgid "could not accept SSPI security context"
 msgstr "konnte SSPI-Sicherheitskontext nicht akzeptieren"
 
-#: libpq/auth.c:1530
+#: libpq/auth.c:1386
 msgid "could not get token from SSPI security context"
 msgstr "konnte kein Token vom SSPI-Sicherheitskontext erhalten"
 
-#: libpq/auth.c:1669 libpq/auth.c:1688
+#: libpq/auth.c:1525 libpq/auth.c:1544
 #, c-format
 msgid "could not translate name"
 msgstr "konnte Namen nicht umwandeln"
 
-#: libpq/auth.c:1701
+#: libpq/auth.c:1557
 #, c-format
 msgid "realm name too long"
 msgstr "Realm-Name zu lang"
 
-#: libpq/auth.c:1716
+#: libpq/auth.c:1572
 #, c-format
 msgid "translated account name too long"
 msgstr "umgewandelter Account-Name zu lang"
 
-#: libpq/auth.c:1897
+#: libpq/auth.c:1753
 #, c-format
 msgid "could not create socket for Ident connection: %m"
 msgstr "konnte Socket für Ident-Verbindung nicht erzeugen: %m"
 
-#: libpq/auth.c:1912
+#: libpq/auth.c:1768
 #, c-format
 msgid "could not bind to local address \"%s\": %m"
 msgstr "konnte nicht mit lokaler Adresse »%s« verbinden: %m"
 
-#: libpq/auth.c:1924
+#: libpq/auth.c:1780
 #, c-format
 msgid "could not connect to Ident server at address \"%s\", port %s: %m"
 msgstr "konnte nicht mit Ident-Server auf Adresse »%s«, Port %s verbinden: %m"
 
-#: libpq/auth.c:1946
+#: libpq/auth.c:1802
 #, c-format
 msgid "could not send query to Ident server at address \"%s\", port %s: %m"
 msgstr "konnte Anfrage an Ident-Server auf Adresse »%s«, Port %s nicht senden: %m"
 
-#: libpq/auth.c:1963
+#: libpq/auth.c:1819
 #, c-format
 msgid "could not receive response from Ident server at address \"%s\", port %s: %m"
 msgstr "konnte Antwort von Ident-Server auf Adresse »%s«, Port %s nicht empfangen: %m"
 
-#: libpq/auth.c:1973
+#: libpq/auth.c:1829
 #, c-format
 msgid "invalidly formatted response from Ident server: \"%s\""
 msgstr "ungültig formatierte Antwort vom Ident-Server: »%s«"
 
-#: libpq/auth.c:2026
+#: libpq/auth.c:1882
 #, c-format
 msgid "peer authentication is not supported on this platform"
 msgstr "Peer-Authentifizierung wird auf dieser Plattform nicht unterstützt"
 
-#: libpq/auth.c:2030
+#: libpq/auth.c:1886
 #, c-format
 msgid "could not get peer credentials: %m"
 msgstr "konnte Credentials von Gegenstelle nicht ermitteln: %m"
 
-#: libpq/auth.c:2042
+#: libpq/auth.c:1898
 #, c-format
 msgid "could not look up local user ID %ld: %s"
 msgstr "konnte lokale Benutzer-ID %ld nicht nachschlagen: %s"
 
-#: libpq/auth.c:2143
+#: libpq/auth.c:1999
 #, c-format
 msgid "error from underlying PAM layer: %s"
 msgstr "Fehler von der unteren PAM-Ebene: %s"
 
-#: libpq/auth.c:2154
-#, fuzzy, c-format
-#| msgid "unsupported format code: %d"
+#: libpq/auth.c:2010
+#, c-format
 msgid "unsupported PAM conversation %d/\"%s\""
-msgstr "nicht unterstützter Formatcode: %d"
+msgstr "nicht unterstützte PAM-Conversation: %d/»%s«"
 
-#: libpq/auth.c:2214
+#: libpq/auth.c:2070
 #, c-format
 msgid "could not create PAM authenticator: %s"
 msgstr "konnte PAM-Authenticator nicht erzeugen: %s"
 
-#: libpq/auth.c:2225
+#: libpq/auth.c:2081
 #, c-format
 msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr "pam_set_item(PAM_USER) fehlgeschlagen: %s"
 
-#: libpq/auth.c:2257
+#: libpq/auth.c:2113
 #, c-format
 msgid "pam_set_item(PAM_RHOST) failed: %s"
 msgstr "pam_set_item(PAM_RHOST) fehlgeschlagen: %s"
 
-#: libpq/auth.c:2269
+#: libpq/auth.c:2125
 #, c-format
 msgid "pam_set_item(PAM_CONV) failed: %s"
 msgstr "pam_set_item(PAM_CONV) fehlgeschlagen: %s"
 
-#: libpq/auth.c:2282
+#: libpq/auth.c:2138
 #, c-format
 msgid "pam_authenticate failed: %s"
 msgstr "pam_authenticate fehlgeschlagen: %s"
 
-#: libpq/auth.c:2295
+#: libpq/auth.c:2151
 #, c-format
 msgid "pam_acct_mgmt failed: %s"
 msgstr "pam_acct_mgmt fehlgeschlagen: %s"
 
-#: libpq/auth.c:2306
+#: libpq/auth.c:2162
 #, c-format
 msgid "could not release PAM authenticator: %s"
 msgstr "konnte PAM-Authenticator nicht freigeben: %s"
 
-#: libpq/auth.c:2386
+#: libpq/auth.c:2242
 #, c-format
 msgid "could not initialize LDAP: error code %d"
 msgstr "konnte LDAP nicht initialisieren: Fehlercode %d"
 
-#: libpq/auth.c:2423
+#: libpq/auth.c:2279
 #, c-format
 msgid "could not extract domain name from ldapbasedn"
 msgstr "konnte keinen Domain-Namen aus ldapbasedn herauslesen"
 
-#: libpq/auth.c:2431
+#: libpq/auth.c:2287
 #, c-format
 msgid "LDAP authentication could not find DNS SRV records for \"%s\""
 msgstr "LDAP-Authentifizierung konnte keine DNS-SRV-Einträge für »%s« finden"
 
-#: libpq/auth.c:2433
+#: libpq/auth.c:2289
 #, c-format
 msgid "Set an LDAP server name explicitly."
 msgstr "Geben Sie einen LDAP-Servernamen explizit an."
 
-#: libpq/auth.c:2485
+#: libpq/auth.c:2341
 #, c-format
 msgid "could not initialize LDAP: %s"
 msgstr "konnte LDAP nicht initialisieren: %s"
 
-#: libpq/auth.c:2495
+#: libpq/auth.c:2351
 #, c-format
 msgid "ldaps not supported with this LDAP library"
 msgstr "ldaps wird mit dieser LDAP-Bibliothek nicht unterstützt"
 
-#: libpq/auth.c:2503
+#: libpq/auth.c:2359
 #, c-format
 msgid "could not initialize LDAP: %m"
 msgstr "konnte LDAP nicht initialisieren: %m"
 
-#: libpq/auth.c:2513
+#: libpq/auth.c:2369
 #, c-format
 msgid "could not set LDAP protocol version: %s"
 msgstr "konnte LDAP-Protokollversion nicht setzen: %s"
 
-#: libpq/auth.c:2553
+#: libpq/auth.c:2409
 #, c-format
 msgid "could not load function _ldap_start_tls_sA in wldap32.dll"
 msgstr "konnte Funktion _ldap_start_tls_sA in wldap32.dll nicht laden"
 
-#: libpq/auth.c:2554
+#: libpq/auth.c:2410
 #, c-format
 msgid "LDAP over SSL is not supported on this platform."
 msgstr "LDAP über SSL wird auf dieser Plattform nicht unterstützt."
 
-#: libpq/auth.c:2570
+#: libpq/auth.c:2426
 #, c-format
 msgid "could not start LDAP TLS session: %s"
 msgstr "konnte LDAP-TLS-Sitzung nicht starten: %s"
 
-#: libpq/auth.c:2641
+#: libpq/auth.c:2497
 #, c-format
 msgid "LDAP server not specified, and no ldapbasedn"
 msgstr "LDAP-Server nicht angegeben, und kein ldapbasedn"
 
-#: libpq/auth.c:2648
+#: libpq/auth.c:2504
 #, c-format
 msgid "LDAP server not specified"
 msgstr "LDAP-Server nicht angegeben"
 
-#: libpq/auth.c:2710
+#: libpq/auth.c:2566
 #, c-format
 msgid "invalid character in user name for LDAP authentication"
 msgstr "ungültiges Zeichen im Benutzernamen für LDAP-Authentifizierung"
 
-#: libpq/auth.c:2727
+#: libpq/auth.c:2583
 #, c-format
 msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s"
 msgstr "erstes LDAP-Binden für ldapbinddn »%s« auf Server »%s« fehlgeschlagen: %s"
 
-#: libpq/auth.c:2756
+#: libpq/auth.c:2612
 #, c-format
 msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s"
 msgstr "konnte LDAP nicht mit Filter »%s« auf Server »%s« durchsuchen: %s"
 
-#: libpq/auth.c:2770
+#: libpq/auth.c:2626
 #, c-format
 msgid "LDAP user \"%s\" does not exist"
 msgstr "LDAP-Benutzer »%s« existiert nicht"
 
-#: libpq/auth.c:2771
+#: libpq/auth.c:2627
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries."
 msgstr "LDAP-Suche nach Filter »%s« auf Server »%s« gab keine Einträge zurück."
 
-#: libpq/auth.c:2775
+#: libpq/auth.c:2631
 #, c-format
 msgid "LDAP user \"%s\" is not unique"
 msgstr "LDAP-Benutzer »%s« ist nicht eindeutig"
 
-#: libpq/auth.c:2776
+#: libpq/auth.c:2632
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry."
 msgid_plural "LDAP search for filter \"%s\" on server \"%s\" returned %d entries."
 msgstr[0] "LDAP-Suche nach Filter »%s« auf Server »%s« gab %d Eintrag zurück."
 msgstr[1] "LDAP-Suche nach Filter »%s« auf Server »%s« gab %d Einträge zurück."
 
-#: libpq/auth.c:2796
+#: libpq/auth.c:2652
 #, c-format
 msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
 msgstr "konnte DN fũr den ersten Treffer für »%s« auf Server »%s« nicht lesen: %s"
 
-#: libpq/auth.c:2817
+#: libpq/auth.c:2673
 #, c-format
 msgid "could not unbind after searching for user \"%s\" on server \"%s\""
 msgstr "Losbinden fehlgeschlagen nach Suche nach Benutzer »%s« auf Server »%s«"
 
-#: libpq/auth.c:2848
+#: libpq/auth.c:2704
 #, c-format
 msgid "LDAP login failed for user \"%s\" on server \"%s\": %s"
 msgstr "LDAP-Login fehlgeschlagen für Benutzer »%s« auf Server »%s«: %s"
 
-#: libpq/auth.c:2880
+#: libpq/auth.c:2736
 #, c-format
 msgid "LDAP diagnostics: %s"
 msgstr "LDAP-Diagnostik: %s"
 
-#: libpq/auth.c:2918
+#: libpq/auth.c:2774
 #, c-format
 msgid "certificate authentication failed for user \"%s\": client certificate contains no user name"
 msgstr "Zertifikatauthentifizierung für Benutzer »%s« fehlgeschlagen: Client-Zertifikat enthält keinen Benutzernamen"
 
-#: libpq/auth.c:2939
-#, fuzzy, c-format
-#| msgid "certificate authentication failed for user \"%s\""
+#: libpq/auth.c:2795
+#, c-format
 msgid "certificate authentication failed for user \"%s\": unable to retrieve subject DN"
-msgstr "Zertifikatauthentifizierung für Benutzer »%s« fehlgeschlagen"
+msgstr "Zertifikatauthentifizierung für Benutzer »%s« fehlgeschlagen: konnte Subject-DN nicht abfragen"
 
-#: libpq/auth.c:2962
+#: libpq/auth.c:2818
 #, c-format
 msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": DN mismatch"
 msgstr "Zertifikatüberprüfung (clientcert=verify=full) für Benutzer »%s« fehlgeschlagen: DN stimmt nicht überein"
 
-#: libpq/auth.c:2967
+#: libpq/auth.c:2823
 #, c-format
 msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": CN mismatch"
 msgstr "Zertifikatüberprüfung (clientcert=verify=full) für Benutzer »%s« fehlgeschlagen: CN stimmt nicht überein"
 
-#: libpq/auth.c:3069
+#: libpq/auth.c:2925
 #, c-format
 msgid "RADIUS server not specified"
 msgstr "RADIUS-Server nicht angegeben"
 
-#: libpq/auth.c:3076
+#: libpq/auth.c:2932
 #, c-format
 msgid "RADIUS secret not specified"
 msgstr "RADIUS-Geheimnis nicht angegeben"
 
-#: libpq/auth.c:3090
+#: libpq/auth.c:2946
 #, c-format
 msgid "RADIUS authentication does not support passwords longer than %d characters"
 msgstr "RADIUS-Authentifizierung unterstützt keine Passwörter länger als %d Zeichen"
 
-#: libpq/auth.c:3197 libpq/hba.c:2004
+#: libpq/auth.c:3053 libpq/hba.c:1976
 #, c-format
 msgid "could not translate RADIUS server name \"%s\" to address: %s"
 msgstr "konnte RADIUS-Servername »%s« nicht in Adresse übersetzen: %s"
 
-#: libpq/auth.c:3211
+#: libpq/auth.c:3067
 #, c-format
 msgid "could not generate random encryption vector"
 msgstr "konnte zufälligen Verschlüsselungsvektor nicht erzeugen"
 
-#: libpq/auth.c:3245
+#: libpq/auth.c:3104
 #, c-format
-msgid "could not perform MD5 encryption of password"
-msgstr "konnte MD5-Verschlüsselung des Passworts nicht durchführen"
+msgid "could not perform MD5 encryption of password: %s"
+msgstr "konnte MD5-Verschlüsselung des Passworts nicht durchführen: %s"
 
-#: libpq/auth.c:3271
+#: libpq/auth.c:3131
 #, c-format
 msgid "could not create RADIUS socket: %m"
 msgstr "konnte RADIUS-Socket nicht erstellen: %m"
 
-#: libpq/auth.c:3293
+#: libpq/auth.c:3153
 #, c-format
 msgid "could not bind local RADIUS socket: %m"
 msgstr "konnte lokales RADIUS-Socket nicht binden: %m"
 
-#: libpq/auth.c:3303
+#: libpq/auth.c:3163
 #, c-format
 msgid "could not send RADIUS packet: %m"
 msgstr "konnte RADIUS-Paket nicht senden: %m"
 
-#: libpq/auth.c:3336 libpq/auth.c:3362
+#: libpq/auth.c:3197 libpq/auth.c:3223
 #, c-format
 msgid "timeout waiting for RADIUS response from %s"
 msgstr "Zeitüberschreitung beim Warten auf RADIUS-Antwort von %s"
 
-#: libpq/auth.c:3355
+#: libpq/auth.c:3216
 #, c-format
 msgid "could not check status on RADIUS socket: %m"
 msgstr "konnte Status des RADIUS-Sockets nicht prüfen: %m"
 
-#: libpq/auth.c:3385
+#: libpq/auth.c:3246
 #, c-format
 msgid "could not read RADIUS response: %m"
 msgstr "konnte RADIUS-Antwort nicht lesen: %m"
 
-#: libpq/auth.c:3398 libpq/auth.c:3402
+#: libpq/auth.c:3259 libpq/auth.c:3263
 #, c-format
 msgid "RADIUS response from %s was sent from incorrect port: %d"
 msgstr "RADIUS-Antwort von %s wurde von falschem Port gesendet: %d"
 
-#: libpq/auth.c:3411
+#: libpq/auth.c:3272
 #, c-format
 msgid "RADIUS response from %s too short: %d"
 msgstr "RADIUS-Antwort von %s zu kurz: %d"
 
-#: libpq/auth.c:3418
+#: libpq/auth.c:3279
 #, c-format
 msgid "RADIUS response from %s has corrupt length: %d (actual length %d)"
 msgstr "RADIUS-Antwort von %s hat verfälschte Länge: %d (tatsächliche Länge %d)"
 
-#: libpq/auth.c:3426
+#: libpq/auth.c:3287
 #, c-format
 msgid "RADIUS response from %s is to a different request: %d (should be %d)"
 msgstr "RADIUS-Antwort von %s unterscheidet sich von Anfrage: %d (sollte %d sein)"
 
-#: libpq/auth.c:3451
+#: libpq/auth.c:3312
 #, c-format
-msgid "could not perform MD5 encryption of received packet"
-msgstr "konnte MD5-Verschlüsselung des empfangenen Pakets nicht durchführen"
+msgid "could not perform MD5 encryption of received packet: %s"
+msgstr "konnte MD5-Verschlüsselung des empfangenen Pakets nicht durchführen: %s"
 
-#: libpq/auth.c:3460
+#: libpq/auth.c:3322
 #, c-format
 msgid "RADIUS response from %s has incorrect MD5 signature"
 msgstr "RADIUS-Antwort von %s hat falsche MD5-Signatur"
 
-#: libpq/auth.c:3478
+#: libpq/auth.c:3340
 #, c-format
 msgid "RADIUS response from %s has invalid code (%d) for user \"%s\""
 msgstr "RADIUS-Antwort von %s hat ungültigen Code (%d) für Benutzer »%s«"
 
-#: libpq/be-fsstubs.c:119 libpq/be-fsstubs.c:150 libpq/be-fsstubs.c:178
-#: libpq/be-fsstubs.c:204 libpq/be-fsstubs.c:229 libpq/be-fsstubs.c:277
-#: libpq/be-fsstubs.c:300 libpq/be-fsstubs.c:553
+#: libpq/be-fsstubs.c:128 libpq/be-fsstubs.c:157 libpq/be-fsstubs.c:185
+#: libpq/be-fsstubs.c:211 libpq/be-fsstubs.c:236 libpq/be-fsstubs.c:274
+#: libpq/be-fsstubs.c:297 libpq/be-fsstubs.c:545
 #, c-format
 msgid "invalid large-object descriptor: %d"
 msgstr "ungültiger Large-Object-Deskriptor: %d"
 
-#: libpq/be-fsstubs.c:161
+#: libpq/be-fsstubs.c:168
 #, c-format
 msgid "large object descriptor %d was not opened for reading"
 msgstr "Large-Objekt-Deskriptor %d wurde nicht zum Lesen geöffnet"
 
-#: libpq/be-fsstubs.c:185 libpq/be-fsstubs.c:560
+#: libpq/be-fsstubs.c:192 libpq/be-fsstubs.c:552
 #, c-format
 msgid "large object descriptor %d was not opened for writing"
 msgstr "Large-Objekt-Deskriptor %d wurde nicht zum Schreiben geöffnet"
 
-#: libpq/be-fsstubs.c:212
+#: libpq/be-fsstubs.c:219
 #, c-format
 msgid "lo_lseek result out of range for large-object descriptor %d"
 msgstr "Ergebnis von lo_lseek ist außerhalb des gültigen Bereichs für Large-Object-Deskriptor %d"
 
-#: libpq/be-fsstubs.c:285
+#: libpq/be-fsstubs.c:282
 #, c-format
 msgid "lo_tell result out of range for large-object descriptor %d"
 msgstr "Ergebnis von lo_tell ist außerhalb des gültigen Bereichs für Large-Object-Deskriptor: %d"
 
-#: libpq/be-fsstubs.c:432
+#: libpq/be-fsstubs.c:424
 #, c-format
 msgid "could not open server file \"%s\": %m"
 msgstr "konnte Serverdatei »%s« nicht öffnen: %m"
 
-#: libpq/be-fsstubs.c:454
+#: libpq/be-fsstubs.c:447
 #, c-format
 msgid "could not read server file \"%s\": %m"
 msgstr "konnte Serverdatei »%s« nicht lesen: %m"
 
-#: libpq/be-fsstubs.c:514
+#: libpq/be-fsstubs.c:506
 #, c-format
 msgid "could not create server file \"%s\": %m"
 msgstr "konnte Serverdatei »%s« nicht erstellen: %m"
 
-#: libpq/be-fsstubs.c:526
+#: libpq/be-fsstubs.c:518
 #, c-format
 msgid "could not write server file \"%s\": %m"
 msgstr "konnte Serverdatei »%s« nicht schreiben: %m"
 
-#: libpq/be-fsstubs.c:760
+#: libpq/be-fsstubs.c:758
 #, c-format
 msgid "large object read request is too large"
 msgstr "Large-Object-Leseaufforderung ist zu groß"
 
-#: libpq/be-fsstubs.c:802 utils/adt/genfile.c:267 utils/adt/genfile.c:306
-#: utils/adt/genfile.c:342
+#: libpq/be-fsstubs.c:800 utils/adt/genfile.c:262 utils/adt/genfile.c:301
+#: utils/adt/genfile.c:337
 #, c-format
 msgid "requested length cannot be negative"
 msgstr "verlangte Länge darf nicht negativ sein"
 
-#: libpq/be-fsstubs.c:855 storage/large_object/inv_api.c:297
-#: storage/large_object/inv_api.c:309 storage/large_object/inv_api.c:513
-#: storage/large_object/inv_api.c:624 storage/large_object/inv_api.c:814
+#: libpq/be-fsstubs.c:851 storage/large_object/inv_api.c:299
+#: storage/large_object/inv_api.c:311 storage/large_object/inv_api.c:508
+#: storage/large_object/inv_api.c:619 storage/large_object/inv_api.c:809
 #, c-format
 msgid "permission denied for large object %u"
 msgstr "keine Berechtigung für Large Object %u"
@@ -13970,22 +14677,22 @@ msgstr "Befehl »%s« fehlgeschlagen"
 msgid "could not access private key file \"%s\": %m"
 msgstr "konnte auf private Schlüsseldatei »%s« nicht zugreifen: %m"
 
-#: libpq/be-secure-common.c:150
+#: libpq/be-secure-common.c:151
 #, c-format
 msgid "private key file \"%s\" is not a regular file"
 msgstr "private Schlüsseldatei »%s« ist keine normale Datei"
 
-#: libpq/be-secure-common.c:165
+#: libpq/be-secure-common.c:176
 #, c-format
 msgid "private key file \"%s\" must be owned by the database user or root"
 msgstr "private Schlüsseldatei »%s« muss als Eigentümer den Datenbankbenutzer oder »root« haben"
 
-#: libpq/be-secure-common.c:188
+#: libpq/be-secure-common.c:186
 #, c-format
 msgid "private key file \"%s\" has group or world access"
 msgstr "private Schlüsseldatei »%s« erlaubt Zugriff von Gruppe oder Welt"
 
-#: libpq/be-secure-common.c:190
+#: libpq/be-secure-common.c:188
 #, c-format
 msgid "File must have permissions u=rw (0600) or less if owned by the database user, or permissions u=rw,g=r (0640) or less if owned by root."
 msgstr "Dateirechte müssen u=rw (0600) oder weniger sein, wenn der Eigentümer der Datenbankbenutzer ist, oder u=rw,g=r (0640) oder weniger, wenn der Eigentümer »root« ist."
@@ -14031,207 +14738,206 @@ msgstr "konnte GSSAPI-Sicherheitskontext nicht akzeptieren"
 msgid "GSSAPI size check error"
 msgstr "GSSAPI-Fehler bei der Größenprüfung"
 
-#: libpq/be-secure-openssl.c:115
+#: libpq/be-secure-openssl.c:122
 #, c-format
 msgid "could not create SSL context: %s"
 msgstr "konnte SSL-Kontext nicht erzeugen: %s"
 
-#: libpq/be-secure-openssl.c:141
+#: libpq/be-secure-openssl.c:148
 #, c-format
 msgid "could not load server certificate file \"%s\": %s"
 msgstr "konnte Serverzertifikatsdatei »%s« nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:161
+#: libpq/be-secure-openssl.c:168
 #, c-format
 msgid "private key file \"%s\" cannot be reloaded because it requires a passphrase"
 msgstr "private Schlüsseldatei »%s« kann nicht neu geladen werden, weil sie eine Passphrase benötigt"
 
-#: libpq/be-secure-openssl.c:166
+#: libpq/be-secure-openssl.c:173
 #, c-format
 msgid "could not load private key file \"%s\": %s"
 msgstr "konnte private Schlüsseldatei »%s« nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:175
+#: libpq/be-secure-openssl.c:182
 #, c-format
 msgid "check of private key failed: %s"
 msgstr "Überprüfung des privaten Schlüssels fehlgeschlagen: %s"
 
 #. translator: first %s is a GUC option name, second %s is its value
-#: libpq/be-secure-openssl.c:188 libpq/be-secure-openssl.c:211
+#: libpq/be-secure-openssl.c:195 libpq/be-secure-openssl.c:218
 #, c-format
 msgid "\"%s\" setting \"%s\" not supported by this build"
 msgstr "»%s«-Wert »%s« wird von dieser Installation nicht unterstützt"
 
-#: libpq/be-secure-openssl.c:198
+#: libpq/be-secure-openssl.c:205
 #, c-format
 msgid "could not set minimum SSL protocol version"
 msgstr "konnte minimale SSL-Protokollversion nicht setzen"
 
-#: libpq/be-secure-openssl.c:221
+#: libpq/be-secure-openssl.c:228
 #, c-format
 msgid "could not set maximum SSL protocol version"
 msgstr "konnte maximale SSL-Protokollversion nicht setzen"
 
-#: libpq/be-secure-openssl.c:237
+#: libpq/be-secure-openssl.c:244
 #, c-format
 msgid "could not set SSL protocol version range"
 msgstr "konnte SSL-Protokollversionsbereich nicht setzen"
 
-#: libpq/be-secure-openssl.c:238
+#: libpq/be-secure-openssl.c:245
 #, c-format
 msgid "\"%s\" cannot be higher than \"%s\""
 msgstr "»%s« kann nicht höher als »%s« sein"
 
-#: libpq/be-secure-openssl.c:275
+#: libpq/be-secure-openssl.c:282
 #, c-format
 msgid "could not set the cipher list (no valid ciphers available)"
 msgstr "konnte Cipher-Liste nicht setzen (keine gültigen Ciphers verfügbar)"
 
-#: libpq/be-secure-openssl.c:295
+#: libpq/be-secure-openssl.c:302
 #, c-format
 msgid "could not load root certificate file \"%s\": %s"
 msgstr "konnte Root-Zertifikat-Datei »%s« nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:344
+#: libpq/be-secure-openssl.c:351
 #, c-format
 msgid "could not load SSL certificate revocation list file \"%s\": %s"
 msgstr "konnte SSL-Certificate-Revocation-List-Datei »%s« nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:352
+#: libpq/be-secure-openssl.c:359
 #, c-format
 msgid "could not load SSL certificate revocation list directory \"%s\": %s"
 msgstr "konnte SSL-Certificate-Revocation-List-Verzeichnis »%s« nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:360
+#: libpq/be-secure-openssl.c:367
 #, c-format
 msgid "could not load SSL certificate revocation list file \"%s\" or directory \"%s\": %s"
 msgstr "konnte SSL-Certificate-Revocation-List-Datei »%s« oder -Verzeichnis »%s« nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:418
+#: libpq/be-secure-openssl.c:425
 #, c-format
 msgid "could not initialize SSL connection: SSL context not set up"
 msgstr "konnte SSL-Verbindung nicht initialisieren: SSL-Kontext nicht eingerichtet"
 
-#: libpq/be-secure-openssl.c:429
+#: libpq/be-secure-openssl.c:436
 #, c-format
 msgid "could not initialize SSL connection: %s"
 msgstr "konnte SSL-Verbindung nicht initialisieren: %s"
 
-#: libpq/be-secure-openssl.c:437
+#: libpq/be-secure-openssl.c:444
 #, c-format
 msgid "could not set SSL socket: %s"
 msgstr "konnte SSL-Socket nicht setzen: %s"
 
-#: libpq/be-secure-openssl.c:492
+#: libpq/be-secure-openssl.c:499
 #, c-format
 msgid "could not accept SSL connection: %m"
 msgstr "konnte SSL-Verbindung nicht annehmen: %m"
 
-#: libpq/be-secure-openssl.c:496 libpq/be-secure-openssl.c:549
+#: libpq/be-secure-openssl.c:503 libpq/be-secure-openssl.c:556
 #, c-format
 msgid "could not accept SSL connection: EOF detected"
 msgstr "konnte SSL-Verbindung nicht annehmen: EOF entdeckt"
 
-#: libpq/be-secure-openssl.c:535
+#: libpq/be-secure-openssl.c:542
 #, c-format
 msgid "could not accept SSL connection: %s"
 msgstr "konnte SSL-Verbindung nicht annehmen: %s"
 
-#: libpq/be-secure-openssl.c:538
+#: libpq/be-secure-openssl.c:545
 #, c-format
 msgid "This may indicate that the client does not support any SSL protocol version between %s and %s."
 msgstr "Das zeigt möglicherweise an, dass der Client keine SSL-Protokollversion zwischen %s und %s unterstützt."
 
-#: libpq/be-secure-openssl.c:554 libpq/be-secure-openssl.c:734
-#: libpq/be-secure-openssl.c:798
+#: libpq/be-secure-openssl.c:561 libpq/be-secure-openssl.c:741
+#: libpq/be-secure-openssl.c:805
 #, c-format
 msgid "unrecognized SSL error code: %d"
 msgstr "unbekannter SSL-Fehlercode: %d"
 
-#: libpq/be-secure-openssl.c:600
+#: libpq/be-secure-openssl.c:607
 #, c-format
 msgid "SSL certificate's common name contains embedded null"
 msgstr "Common-Name im SSL-Zertifikat enthält Null-Byte"
 
-#: libpq/be-secure-openssl.c:640
+#: libpq/be-secure-openssl.c:647
 #, c-format
 msgid "SSL certificate's distinguished name contains embedded null"
 msgstr "Distinguished Name im SSL-Zertifikat enthält Null-Byte"
 
-#: libpq/be-secure-openssl.c:723 libpq/be-secure-openssl.c:782
+#: libpq/be-secure-openssl.c:730 libpq/be-secure-openssl.c:789
 #, c-format
 msgid "SSL error: %s"
 msgstr "SSL-Fehler: %s"
 
-#: libpq/be-secure-openssl.c:963
+#: libpq/be-secure-openssl.c:971
 #, c-format
 msgid "could not open DH parameters file \"%s\": %m"
 msgstr "konnte DH-Parameterdatei »%s« nicht öffnen: %m"
 
-#: libpq/be-secure-openssl.c:975
+#: libpq/be-secure-openssl.c:983
 #, c-format
 msgid "could not load DH parameters file: %s"
 msgstr "konnte DH-Parameterdatei nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:985
+#: libpq/be-secure-openssl.c:993
 #, c-format
 msgid "invalid DH parameters: %s"
 msgstr "ungültige DH-Parameter: %s"
 
-#: libpq/be-secure-openssl.c:994
+#: libpq/be-secure-openssl.c:1002
 #, c-format
 msgid "invalid DH parameters: p is not prime"
 msgstr "ungültige DH-Parameter: p ist keine Primzahl"
 
-#: libpq/be-secure-openssl.c:1003
+#: libpq/be-secure-openssl.c:1011
 #, c-format
 msgid "invalid DH parameters: neither suitable generator or safe prime"
 msgstr "ungültige DH-Parameter: weder geeigneter Generator noch sichere Primzahl"
 
-#: libpq/be-secure-openssl.c:1164
+#: libpq/be-secure-openssl.c:1172
 #, c-format
 msgid "DH: could not load DH parameters"
 msgstr "DH: konnte DH-Parameter nicht laden"
 
-#: libpq/be-secure-openssl.c:1172
+#: libpq/be-secure-openssl.c:1180
 #, c-format
 msgid "DH: could not set DH parameters: %s"
 msgstr "DH: konnte DH-Parameter nicht setzen: %s"
 
-#: libpq/be-secure-openssl.c:1199
+#: libpq/be-secure-openssl.c:1207
 #, c-format
 msgid "ECDH: unrecognized curve name: %s"
 msgstr "ECDH: unbekannter Kurvenname: %s"
 
-#: libpq/be-secure-openssl.c:1208
+#: libpq/be-secure-openssl.c:1216
 #, c-format
 msgid "ECDH: could not create key"
 msgstr "ECDH: konnte Schlüssel nicht erzeugen"
 
-#: libpq/be-secure-openssl.c:1236
+#: libpq/be-secure-openssl.c:1244
 msgid "no SSL error reported"
 msgstr "kein SSL-Fehler berichtet"
 
-#: libpq/be-secure-openssl.c:1240
+#: libpq/be-secure-openssl.c:1248
 #, c-format
 msgid "SSL error code %lu"
 msgstr "SSL-Fehlercode %lu"
 
-#: libpq/be-secure-openssl.c:1394
+#: libpq/be-secure-openssl.c:1402
 #, c-format
-msgid "failed to create BIO"
-msgstr ""
+msgid "could not create BIO"
+msgstr "konnte BIO nicht erzeugen"
 
-#: libpq/be-secure-openssl.c:1404
+#: libpq/be-secure-openssl.c:1412
 #, c-format
 msgid "could not get NID for ASN1_OBJECT object"
-msgstr ""
+msgstr "konnte NID für ASN1_OBJECT-Objekt nicht ermitteln"
 
-#: libpq/be-secure-openssl.c:1412
-#, fuzzy, c-format
-#| msgid "could not create LDAP structure\n"
+#: libpq/be-secure-openssl.c:1420
+#, c-format
 msgid "could not convert NID %d to an ASN1_OBJECT structure"
-msgstr "konnte LDAP-Struktur nicht erzeugen\n"
+msgstr "konnte NID %d nicht in eine ASN1_OBJECT-Struktur umwandeln"
 
 #: libpq/be-secure.c:209 libpq/be-secure.c:305
 #, c-format
@@ -14253,397 +14959,387 @@ msgstr "Benutzer »%s« hat kein Passwort zugewiesen."
 msgid "User \"%s\" has an expired password."
 msgstr "Benutzer »%s« hat ein abgelaufenes Passwort."
 
-#: libpq/crypt.c:179
+#: libpq/crypt.c:181
 #, c-format
 msgid "User \"%s\" has a password that cannot be used with MD5 authentication."
 msgstr "Benutzer »%s« hat ein Passwort, das nicht mit MD5-Authentifizierung verwendet werden kann."
 
-#: libpq/crypt.c:203 libpq/crypt.c:244 libpq/crypt.c:268
+#: libpq/crypt.c:202 libpq/crypt.c:244 libpq/crypt.c:264
 #, c-format
 msgid "Password does not match for user \"%s\"."
 msgstr "Passwort stimmt nicht überein für Benutzer »%s«."
 
-#: libpq/crypt.c:287
+#: libpq/crypt.c:283
 #, c-format
 msgid "Password of user \"%s\" is in unrecognized format."
 msgstr "Passwort von Benutzer »%s« hat unbekanntes Format."
 
-#: libpq/hba.c:241
+#: libpq/hba.c:209
 #, c-format
 msgid "authentication file token too long, skipping: \"%s\""
 msgstr "Token in Authentifizierungsdatei zu lang, wird übersprungen: »%s«"
 
-#: libpq/hba.c:413
+#: libpq/hba.c:381
 #, c-format
 msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m"
 msgstr "konnte sekundäre Authentifizierungsdatei »@%s« nicht als »%s« öffnen: %m"
 
-#: libpq/hba.c:859
+#: libpq/hba.c:832
 #, c-format
 msgid "error enumerating network interfaces: %m"
 msgstr "Fehler beim Aufzählen der Netzwerkschnittstellen: %m"
 
 #. translator: the second %s is a list of auth methods
-#: libpq/hba.c:886
+#: libpq/hba.c:859
 #, c-format
 msgid "authentication option \"%s\" is only valid for authentication methods %s"
 msgstr "Authentifizierungsoption »%s« ist nur gültig für Authentifizierungsmethoden %s"
 
-#: libpq/hba.c:888 libpq/hba.c:908 libpq/hba.c:946 libpq/hba.c:996
-#: libpq/hba.c:1010 libpq/hba.c:1034 libpq/hba.c:1043 libpq/hba.c:1056
-#: libpq/hba.c:1077 libpq/hba.c:1090 libpq/hba.c:1110 libpq/hba.c:1132
-#: libpq/hba.c:1144 libpq/hba.c:1203 libpq/hba.c:1223 libpq/hba.c:1237
-#: libpq/hba.c:1257 libpq/hba.c:1268 libpq/hba.c:1283 libpq/hba.c:1302
-#: libpq/hba.c:1318 libpq/hba.c:1330 libpq/hba.c:1367 libpq/hba.c:1408
-#: libpq/hba.c:1421 libpq/hba.c:1443 libpq/hba.c:1455 libpq/hba.c:1473
-#: libpq/hba.c:1523 libpq/hba.c:1567 libpq/hba.c:1578 libpq/hba.c:1594
-#: libpq/hba.c:1611 libpq/hba.c:1622 libpq/hba.c:1641 libpq/hba.c:1657
-#: libpq/hba.c:1673 libpq/hba.c:1727 libpq/hba.c:1744 libpq/hba.c:1757
-#: libpq/hba.c:1769 libpq/hba.c:1788 libpq/hba.c:1875 libpq/hba.c:1893
-#: libpq/hba.c:1987 libpq/hba.c:2006 libpq/hba.c:2035 libpq/hba.c:2048
-#: libpq/hba.c:2071 libpq/hba.c:2093 libpq/hba.c:2107 tsearch/ts_locale.c:232
+#: libpq/hba.c:861 libpq/hba.c:881 libpq/hba.c:916 libpq/hba.c:967
+#: libpq/hba.c:981 libpq/hba.c:1005 libpq/hba.c:1013 libpq/hba.c:1025
+#: libpq/hba.c:1046 libpq/hba.c:1059 libpq/hba.c:1079 libpq/hba.c:1101
+#: libpq/hba.c:1113 libpq/hba.c:1172 libpq/hba.c:1192 libpq/hba.c:1206
+#: libpq/hba.c:1226 libpq/hba.c:1237 libpq/hba.c:1252 libpq/hba.c:1271
+#: libpq/hba.c:1287 libpq/hba.c:1299 libpq/hba.c:1336 libpq/hba.c:1377
+#: libpq/hba.c:1390 libpq/hba.c:1412 libpq/hba.c:1424 libpq/hba.c:1442
+#: libpq/hba.c:1492 libpq/hba.c:1536 libpq/hba.c:1547 libpq/hba.c:1563
+#: libpq/hba.c:1580 libpq/hba.c:1591 libpq/hba.c:1610 libpq/hba.c:1626
+#: libpq/hba.c:1642 libpq/hba.c:1700 libpq/hba.c:1717 libpq/hba.c:1730
+#: libpq/hba.c:1742 libpq/hba.c:1761 libpq/hba.c:1847 libpq/hba.c:1865
+#: libpq/hba.c:1959 libpq/hba.c:1978 libpq/hba.c:2007 libpq/hba.c:2020
+#: libpq/hba.c:2043 libpq/hba.c:2065 libpq/hba.c:2079 tsearch/ts_locale.c:232
 #, c-format
 msgid "line %d of configuration file \"%s\""
 msgstr "Zeile %d in Konfigurationsdatei »%s«"
 
-#: libpq/hba.c:906
+#: libpq/hba.c:879
 #, c-format
 msgid "authentication method \"%s\" requires argument \"%s\" to be set"
 msgstr "Authentifizierungsmethode »%s« benötigt Argument »%s«"
 
-#: libpq/hba.c:934
+#: libpq/hba.c:903
 #, c-format
 msgid "missing entry in file \"%s\" at end of line %d"
 msgstr "fehlender Eintrag in Datei »%s« am Ende von Zeile %d"
 
-#: libpq/hba.c:945
+#: libpq/hba.c:915
 #, c-format
 msgid "multiple values in ident field"
 msgstr "mehrere Werte in Ident-Feld"
 
-#: libpq/hba.c:994
+#: libpq/hba.c:965
 #, c-format
 msgid "multiple values specified for connection type"
 msgstr "mehrere Werte angegeben für Verbindungstyp"
 
-#: libpq/hba.c:995
+#: libpq/hba.c:966
 #, c-format
 msgid "Specify exactly one connection type per line."
 msgstr "Geben Sie genau einen Verbindungstyp pro Zeile an."
 
-#: libpq/hba.c:1009
+#: libpq/hba.c:980
 #, c-format
 msgid "local connections are not supported by this build"
 msgstr "lokale Verbindungen werden von dieser Installation nicht unterstützt"
 
-#: libpq/hba.c:1032
+#: libpq/hba.c:1003
 #, c-format
 msgid "hostssl record cannot match because SSL is disabled"
 msgstr "hostssl-Eintrag kann nicht angewendet werden, weil SSL deaktiviert ist"
 
-#: libpq/hba.c:1033
+#: libpq/hba.c:1004
 #, c-format
 msgid "Set ssl = on in postgresql.conf."
 msgstr "Setzen Sie ssl = on in postgresql.conf."
 
-#: libpq/hba.c:1041
+#: libpq/hba.c:1012
 #, c-format
 msgid "hostssl record cannot match because SSL is not supported by this build"
 msgstr "hostssl-Eintrag kann nicht angewendet werden, weil SSL von dieser Installation nicht unterstützt wird"
 
-#: libpq/hba.c:1042
-#, c-format
-msgid "Compile with --with-ssl to use SSL connections."
-msgstr "Kompilieren Sie mit --with-ssl, um SSL-Verbindungen zu verwenden."
-
-#: libpq/hba.c:1054
+#: libpq/hba.c:1024
 #, c-format
 msgid "hostgssenc record cannot match because GSSAPI is not supported by this build"
 msgstr "hostgssenc-Eintrag kann nicht angewendet werden, weil GSSAPI von dieser Installation nicht unterstützt wird"
 
-#: libpq/hba.c:1055
-#, c-format
-msgid "Compile with --with-gssapi to use GSSAPI connections."
-msgstr "Kompilieren Sie mit --with-gssapi, um GSSAPI-Verbindungen zu verwenden."
-
-#: libpq/hba.c:1075
+#: libpq/hba.c:1044
 #, c-format
 msgid "invalid connection type \"%s\""
 msgstr "ungültiger Verbindungstyp »%s«"
 
-#: libpq/hba.c:1089
+#: libpq/hba.c:1058
 #, c-format
 msgid "end-of-line before database specification"
 msgstr "Zeilenende vor Datenbankangabe"
 
-#: libpq/hba.c:1109
+#: libpq/hba.c:1078
 #, c-format
 msgid "end-of-line before role specification"
 msgstr "Zeilenende vor Rollenangabe"
 
-#: libpq/hba.c:1131
+#: libpq/hba.c:1100
 #, c-format
 msgid "end-of-line before IP address specification"
 msgstr "Zeilenende vor IP-Adressangabe"
 
-#: libpq/hba.c:1142
+#: libpq/hba.c:1111
 #, c-format
 msgid "multiple values specified for host address"
 msgstr "mehrere Werte für Hostadresse angegeben"
 
-#: libpq/hba.c:1143
+#: libpq/hba.c:1112
 #, c-format
 msgid "Specify one address range per line."
 msgstr "Geben Sie einen Adressbereich pro Zeile an."
 
-#: libpq/hba.c:1201
+#: libpq/hba.c:1170
 #, c-format
 msgid "invalid IP address \"%s\": %s"
 msgstr "ungültige IP-Adresse »%s«: %s"
 
-#: libpq/hba.c:1221
+#: libpq/hba.c:1190
 #, c-format
 msgid "specifying both host name and CIDR mask is invalid: \"%s\""
 msgstr "Angabe von sowohl Hostname als auch CIDR-Maske ist ungültig: »%s«"
 
-#: libpq/hba.c:1235
+#: libpq/hba.c:1204
 #, c-format
 msgid "invalid CIDR mask in address \"%s\""
 msgstr "ungültige CIDR-Maske in Adresse »%s«"
 
-#: libpq/hba.c:1255
+#: libpq/hba.c:1224
 #, c-format
 msgid "end-of-line before netmask specification"
 msgstr "Zeilenende vor Netzmaskenangabe"
 
-#: libpq/hba.c:1256
+#: libpq/hba.c:1225
 #, c-format
 msgid "Specify an address range in CIDR notation, or provide a separate netmask."
 msgstr "Geben Sie einen Adressbereich in CIDR-Schreibweise oder eine separate Netzmaske an."
 
-#: libpq/hba.c:1267
+#: libpq/hba.c:1236
 #, c-format
 msgid "multiple values specified for netmask"
 msgstr "mehrere Werte für Netzmaske angegeben"
 
-#: libpq/hba.c:1281
+#: libpq/hba.c:1250
 #, c-format
 msgid "invalid IP mask \"%s\": %s"
 msgstr "ungültige IP-Maske »%s«: %s"
 
-#: libpq/hba.c:1301
+#: libpq/hba.c:1270
 #, c-format
 msgid "IP address and mask do not match"
 msgstr "IP-Adresse und -Maske passen nicht zusammen"
 
-#: libpq/hba.c:1317
+#: libpq/hba.c:1286
 #, c-format
 msgid "end-of-line before authentication method"
 msgstr "Zeilenende vor Authentifizierungsmethode"
 
-#: libpq/hba.c:1328
+#: libpq/hba.c:1297
 #, c-format
 msgid "multiple values specified for authentication type"
 msgstr "mehrere Werte für Authentifizierungstyp angegeben"
 
-#: libpq/hba.c:1329
+#: libpq/hba.c:1298
 #, c-format
 msgid "Specify exactly one authentication type per line."
 msgstr "Geben Sie genau einen Authentifizierungstyp pro Zeile an."
 
-#: libpq/hba.c:1406
+#: libpq/hba.c:1375
 #, c-format
 msgid "invalid authentication method \"%s\""
 msgstr "ungültige Authentifizierungsmethode »%s«"
 
-#: libpq/hba.c:1419
+#: libpq/hba.c:1388
 #, c-format
 msgid "invalid authentication method \"%s\": not supported by this build"
 msgstr "ungültige Authentifizierungsmethode »%s«: von dieser Installation nicht unterstützt"
 
-#: libpq/hba.c:1442
+#: libpq/hba.c:1411
 #, c-format
 msgid "gssapi authentication is not supported on local sockets"
 msgstr "gssapi-Authentifizierung wird auf lokalen Sockets nicht unterstützt"
 
-#: libpq/hba.c:1454
+#: libpq/hba.c:1423
 #, c-format
 msgid "peer authentication is only supported on local sockets"
 msgstr "peer-Authentifizierung wird nur auf lokalen Sockets unterstützt"
 
-#: libpq/hba.c:1472
+#: libpq/hba.c:1441
 #, c-format
 msgid "cert authentication is only supported on hostssl connections"
 msgstr "cert-Authentifizierung wird nur auf »hostssl«-Verbindungen unterstützt"
 
-#: libpq/hba.c:1522
+#: libpq/hba.c:1491
 #, c-format
 msgid "authentication option not in name=value format: %s"
 msgstr "Authentifizierungsoption nicht im Format name=wert: %s"
 
-#: libpq/hba.c:1566
+#: libpq/hba.c:1535
 #, c-format
 msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, ldapsearchfilter, or ldapurl together with ldapprefix"
 msgstr "ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, ldapsearchfilter oder ldapurl kann nicht zusammen mit ldapprefix verwendet werden"
 
-#: libpq/hba.c:1577
+#: libpq/hba.c:1546
 #, c-format
 msgid "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix\", or \"ldapsuffix\" to be set"
 msgstr "Authentifizierungsmethode »ldap« benötigt Argument »ldapbasedn«, »ldapprefix« oder »ldapsuffix«"
 
-#: libpq/hba.c:1593
+#: libpq/hba.c:1562
 #, c-format
 msgid "cannot use ldapsearchattribute together with ldapsearchfilter"
 msgstr "ldapsearchattribute kann nicht zusammen mit ldapsearchfilter verwendet werden"
 
-#: libpq/hba.c:1610
+#: libpq/hba.c:1579
 #, c-format
 msgid "list of RADIUS servers cannot be empty"
 msgstr "List der RADIUS-Server darf nicht leer sein"
 
-#: libpq/hba.c:1621
+#: libpq/hba.c:1590
 #, c-format
 msgid "list of RADIUS secrets cannot be empty"
 msgstr "Liste der RADIUS-Geheimnisse darf nicht leer sein"
 
-#: libpq/hba.c:1638
+#: libpq/hba.c:1607
 #, c-format
 msgid "the number of RADIUS secrets (%d) must be 1 or the same as the number of RADIUS servers (%d)"
 msgstr "die Anzahl der RADIUS-Geheimnisse (%d) muss 1 oder gleich der Anzahl der RADIUS-Server (%d) sein"
 
-#: libpq/hba.c:1654
+#: libpq/hba.c:1623
 #, c-format
 msgid "the number of RADIUS ports (%d) must be 1 or the same as the number of RADIUS servers (%d)"
 msgstr "die Anzahl der RADIUS-Ports (%d) muss 1 oder gleich der Anzahl der RADIUS-Server (%d) sein"
 
-#: libpq/hba.c:1670
+#: libpq/hba.c:1639
 #, c-format
 msgid "the number of RADIUS identifiers (%d) must be 1 or the same as the number of RADIUS servers (%d)"
 msgstr "die Anzahl der RADIUS-Bezeichner (%d) muss 1 oder gleich der Anzahl der RADIUS-Server (%d) sein"
 
-#: libpq/hba.c:1717
+#: libpq/hba.c:1690
 msgid "ident, peer, gssapi, sspi, and cert"
 msgstr "ident, peer, gssapi, sspi und cert"
 
-#: libpq/hba.c:1726
+#: libpq/hba.c:1699
 #, c-format
 msgid "clientcert can only be configured for \"hostssl\" rows"
 msgstr "clientcert kann nur für »hostssl«-Zeilen konfiguriert werden"
 
-#: libpq/hba.c:1743
+#: libpq/hba.c:1716
 #, c-format
 msgid "clientcert only accepts \"verify-full\" when using \"cert\" authentication"
 msgstr "clientcert akzeptiert »verify-full« nur, wenn »cert«-Authentifizierung verwendet wird"
 
-#: libpq/hba.c:1756
+#: libpq/hba.c:1729
 #, c-format
 msgid "invalid value for clientcert: \"%s\""
 msgstr "ungültiger Wert für clientcert: »%s«"
 
-#: libpq/hba.c:1768
+#: libpq/hba.c:1741
 #, c-format
 msgid "clientname can only be configured for \"hostssl\" rows"
 msgstr "clientname kann nur für »hostssl«-Zeilen konfiguriert werden"
 
-#: libpq/hba.c:1787
+#: libpq/hba.c:1760
 #, c-format
 msgid "invalid value for clientname: \"%s\""
 msgstr "ungültiger Wert für clientname: »%s«"
 
-#: libpq/hba.c:1821
+#: libpq/hba.c:1793
 #, c-format
 msgid "could not parse LDAP URL \"%s\": %s"
 msgstr "konnte LDAP-URL »%s« nicht interpretieren: %s"
 
-#: libpq/hba.c:1832
+#: libpq/hba.c:1804
 #, c-format
 msgid "unsupported LDAP URL scheme: %s"
 msgstr "nicht unterstütztes LDAP-URL-Schema: %s"
 
-#: libpq/hba.c:1856
+#: libpq/hba.c:1828
 #, c-format
 msgid "LDAP URLs not supported on this platform"
 msgstr "LDAP-URLs werden auf dieser Plattform nicht unterstützt"
 
-#: libpq/hba.c:1874
+#: libpq/hba.c:1846
 #, c-format
 msgid "invalid ldapscheme value: \"%s\""
 msgstr "ungültiger ldapscheme-Wert: »%s«"
 
-#: libpq/hba.c:1892
+#: libpq/hba.c:1864
 #, c-format
 msgid "invalid LDAP port number: \"%s\""
 msgstr "ungültige LDAP-Portnummer: »%s«"
 
-#: libpq/hba.c:1938 libpq/hba.c:1945
+#: libpq/hba.c:1910 libpq/hba.c:1917
 msgid "gssapi and sspi"
 msgstr "gssapi und sspi"
 
-#: libpq/hba.c:1954 libpq/hba.c:1963
+#: libpq/hba.c:1926 libpq/hba.c:1935
 msgid "sspi"
 msgstr "sspi"
 
-#: libpq/hba.c:1985
+#: libpq/hba.c:1957
 #, c-format
 msgid "could not parse RADIUS server list \"%s\""
 msgstr "konnte RADIUS-Serverliste »%s« nicht parsen"
 
-#: libpq/hba.c:2033
+#: libpq/hba.c:2005
 #, c-format
 msgid "could not parse RADIUS port list \"%s\""
 msgstr "konnte RADIUS-Portliste »%s« nicht parsen"
 
-#: libpq/hba.c:2047
+#: libpq/hba.c:2019
 #, c-format
 msgid "invalid RADIUS port number: \"%s\""
 msgstr "ungültige RADIUS-Portnummer: »%s«"
 
-#: libpq/hba.c:2069
+#: libpq/hba.c:2041
 #, c-format
 msgid "could not parse RADIUS secret list \"%s\""
 msgstr "konnte RADIUS-Geheimnisliste »%s« nicht parsen"
 
-#: libpq/hba.c:2091
+#: libpq/hba.c:2063
 #, c-format
 msgid "could not parse RADIUS identifiers list \"%s\""
 msgstr "konnte RADIUS-Bezeichnerliste »%s« nicht parsen"
 
-#: libpq/hba.c:2105
+#: libpq/hba.c:2077
 #, c-format
 msgid "unrecognized authentication option name: \"%s\""
 msgstr "unbekannter Authentifizierungsoptionsname: »%s«"
 
-#: libpq/hba.c:2302
+#: libpq/hba.c:2274
 #, c-format
 msgid "configuration file \"%s\" contains no entries"
 msgstr "Konfigurationsdatei »%s« enthält keine Einträge"
 
-#: libpq/hba.c:2820
+#: libpq/hba.c:2374
 #, c-format
 msgid "invalid regular expression \"%s\": %s"
 msgstr "ungültiger regulärer Ausdruck »%s«: %s"
 
-#: libpq/hba.c:2880
+#: libpq/hba.c:2437
 #, c-format
 msgid "regular expression match for \"%s\" failed: %s"
 msgstr "Suche nach regulärem Ausdruck für »%s« fehlgeschlagen: %s"
 
-#: libpq/hba.c:2899
+#: libpq/hba.c:2456
 #, c-format
 msgid "regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\""
 msgstr "regulärer Ausdruck »%s« hat keine Teilausdrücke wie von der Backreference in »%s« verlangt"
 
-#: libpq/hba.c:2995
+#: libpq/hba.c:2552
 #, c-format
 msgid "provided user name (%s) and authenticated user name (%s) do not match"
 msgstr "angegebener Benutzername (%s) und authentifizierter Benutzername (%s) stimmen nicht überein"
 
-#: libpq/hba.c:3015
+#: libpq/hba.c:2572
 #, c-format
 msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\""
 msgstr "kein passender Eintrag in Usermap »%s« für Benutzer »%s«, authentifiziert als »%s«"
 
-#: libpq/hba.c:3048
+#: libpq/hba.c:2605 utils/adt/hbafuncs.c:512
 #, c-format
 msgid "could not open usermap file \"%s\": %m"
 msgstr "konnte Usermap-Datei »%s« nicht öffnen: %m"
@@ -14756,10 +15452,9 @@ msgid "could not accept new connection: %m"
 msgstr "konnte neue Verbindung nicht akzeptieren: %m"
 
 #: libpq/pqcomm.c:766 libpq/pqcomm.c:775 libpq/pqcomm.c:807 libpq/pqcomm.c:817
-#: libpq/pqcomm.c:1630 libpq/pqcomm.c:1675 libpq/pqcomm.c:1715
-#: libpq/pqcomm.c:1759 libpq/pqcomm.c:1798 libpq/pqcomm.c:1837
-#: libpq/pqcomm.c:1873 libpq/pqcomm.c:1912 postmaster/pgstat.c:618
-#: postmaster/pgstat.c:629
+#: libpq/pqcomm.c:1642 libpq/pqcomm.c:1687 libpq/pqcomm.c:1727
+#: libpq/pqcomm.c:1771 libpq/pqcomm.c:1810 libpq/pqcomm.c:1849
+#: libpq/pqcomm.c:1885 libpq/pqcomm.c:1924
 #, c-format
 msgid "%s(%s) failed: %m"
 msgstr "%s(%s) fehlgeschlagen: %m"
@@ -14774,60 +15469,53 @@ msgstr "es besteht keine Client-Verbindung"
 msgid "could not receive data from client: %m"
 msgstr "konnte Daten vom Client nicht empfangen: %m"
 
-#: libpq/pqcomm.c:1161 tcop/postgres.c:4290
+#: libpq/pqcomm.c:1173 tcop/postgres.c:4334
 #, c-format
 msgid "terminating connection because protocol synchronization was lost"
 msgstr "Verbindung wird abgebrochen, weil Protokollsynchronisierung verloren wurde"
 
-#: libpq/pqcomm.c:1227
+#: libpq/pqcomm.c:1239
 #, c-format
 msgid "unexpected EOF within message length word"
 msgstr "unerwartetes EOF im Message-Längenwort"
 
-#: libpq/pqcomm.c:1237
+#: libpq/pqcomm.c:1249
 #, c-format
 msgid "invalid message length"
 msgstr "ungültige Message-Länge"
 
-#: libpq/pqcomm.c:1259 libpq/pqcomm.c:1272
+#: libpq/pqcomm.c:1271 libpq/pqcomm.c:1284
 #, c-format
 msgid "incomplete message from client"
 msgstr "unvollständige Message vom Client"
 
-#: libpq/pqcomm.c:1383
+#: libpq/pqcomm.c:1395
 #, c-format
 msgid "could not send data to client: %m"
 msgstr "konnte Daten nicht an den Client senden: %m"
 
-#: libpq/pqcomm.c:1598
+#: libpq/pqcomm.c:1610
 #, c-format
 msgid "%s(%s) failed: error code %d"
 msgstr "%s(%s) fehlgeschlagen: Fehlercode %d"
 
-#: libpq/pqcomm.c:1687
-#, fuzzy, c-format
-#| msgid "using recovery command file \"%s\" is not supported"
+#: libpq/pqcomm.c:1699
+#, c-format
 msgid "setting the keepalive idle time is not supported"
-msgstr "Verwendung von Recovery-Befehlsdatei »%s« wird nicht unterstützt"
+msgstr "Setzen der Keepalive-Idle-Zeit wird nicht unterstützt"
 
-#: libpq/pqcomm.c:1771 libpq/pqcomm.c:1846 libpq/pqcomm.c:1921
+#: libpq/pqcomm.c:1783 libpq/pqcomm.c:1858 libpq/pqcomm.c:1933
 #, c-format
 msgid "%s(%s) not supported"
 msgstr "%s(%s) nicht unterstützt"
 
-#: libpq/pqcomm.c:1956
-#, fuzzy, c-format
-#| msgid "could not set SSL socket: %s"
-msgid "could not poll socket: %m"
-msgstr "konnte SSL-Socket nicht setzen: %s"
-
 #: libpq/pqformat.c:406
 #, c-format
 msgid "no data left in message"
 msgstr "keine Daten in Message übrig"
 
 #: libpq/pqformat.c:517 libpq/pqformat.c:535 libpq/pqformat.c:556
-#: utils/adt/arrayfuncs.c:1481 utils/adt/rowtypes.c:588
+#: utils/adt/arrayfuncs.c:1482 utils/adt/rowtypes.c:588
 #, c-format
 msgid "insufficient data left in message"
 msgstr "nicht genug Daten in Message übrig"
@@ -14842,12 +15530,12 @@ msgstr "ungültige Zeichenkette in Message"
 msgid "invalid message format"
 msgstr "ungültiges Message-Format"
 
-#: main/main.c:245
+#: main/main.c:239
 #, c-format
 msgid "%s: WSAStartup failed: %d\n"
 msgstr "%s: WSAStartup fehlgeschlagen: %d\n"
 
-#: main/main.c:309
+#: main/main.c:350
 #, c-format
 msgid ""
 "%s is the PostgreSQL server.\n"
@@ -14856,7 +15544,7 @@ msgstr ""
 "%s ist der PostgreSQL-Server.\n"
 "\n"
 
-#: main/main.c:310
+#: main/main.c:351
 #, c-format
 msgid ""
 "Usage:\n"
@@ -14867,107 +15555,107 @@ msgstr ""
 "  %s [OPTION]...\n"
 "\n"
 
-#: main/main.c:311
+#: main/main.c:352
 #, c-format
 msgid "Options:\n"
 msgstr "Optionen:\n"
 
-#: main/main.c:312
+#: main/main.c:353
 #, c-format
 msgid "  -B NBUFFERS        number of shared buffers\n"
 msgstr "  -B ZAHL            Anzahl der geteilten Puffer\n"
 
-#: main/main.c:313
+#: main/main.c:354
 #, c-format
 msgid "  -c NAME=VALUE      set run-time parameter\n"
 msgstr "  -c NAME=WERT       setze Konfigurationsparameter\n"
 
-#: main/main.c:314
+#: main/main.c:355
 #, c-format
 msgid "  -C NAME            print value of run-time parameter, then exit\n"
 msgstr "  -C NAME            Wert des Konfigurationsparameters ausgeben, dann beenden\n"
 
-#: main/main.c:315
+#: main/main.c:356
 #, c-format
 msgid "  -d 1-5             debugging level\n"
 msgstr "  -d 1-5             Debug-Level\n"
 
-#: main/main.c:316
+#: main/main.c:357
 #, c-format
 msgid "  -D DATADIR         database directory\n"
 msgstr "  -D VERZEICHNIS     Datenbankverzeichnis\n"
 
-#: main/main.c:317
+#: main/main.c:358
 #, c-format
 msgid "  -e                 use European date input format (DMY)\n"
 msgstr "  -e                 verwende europäisches Datumseingabeformat (DMY)\n"
 
-#: main/main.c:318
+#: main/main.c:359
 #, c-format
 msgid "  -F                 turn fsync off\n"
 msgstr "  -F                 »fsync« ausschalten\n"
 
-#: main/main.c:319
+#: main/main.c:360
 #, c-format
 msgid "  -h HOSTNAME        host name or IP address to listen on\n"
 msgstr "  -h HOSTNAME        horche auf Hostname oder IP-Adresse\n"
 
-#: main/main.c:320
+#: main/main.c:361
 #, c-format
 msgid "  -i                 enable TCP/IP connections\n"
 msgstr "  -i                 ermögliche TCP/IP-Verbindungen\n"
 
-#: main/main.c:321
+#: main/main.c:362
 #, c-format
 msgid "  -k DIRECTORY       Unix-domain socket location\n"
 msgstr "  -k VERZEICHNIS     Ort der Unix-Domain-Socket\n"
 
-#: main/main.c:323
+#: main/main.c:364
 #, c-format
 msgid "  -l                 enable SSL connections\n"
 msgstr "  -l                 ermögliche SSL-Verbindungen\n"
 
-#: main/main.c:325
+#: main/main.c:366
 #, c-format
 msgid "  -N MAX-CONNECT     maximum number of allowed connections\n"
 msgstr "  -N ZAHL            Anzahl der erlaubten Verbindungen\n"
 
-#: main/main.c:326
+#: main/main.c:367
 #, c-format
 msgid "  -p PORT            port number to listen on\n"
 msgstr "  -p PORT            auf dieser Portnummer horchen\n"
 
-#: main/main.c:327
+#: main/main.c:368
 #, c-format
 msgid "  -s                 show statistics after each query\n"
 msgstr "  -s                 zeige Statistiken nach jeder Anfrage\n"
 
-#: main/main.c:328
+#: main/main.c:369
 #, c-format
 msgid "  -S WORK-MEM        set amount of memory for sorts (in kB)\n"
 msgstr "  -S ZAHL            setze Speicher für Sortiervorgänge (in kB)\n"
 
-#: main/main.c:329
+#: main/main.c:370
 #, c-format
 msgid "  -V, --version      output version information, then exit\n"
 msgstr "  -V, --version      Versionsinformationen anzeigen, dann beenden\n"
 
-#: main/main.c:330
+#: main/main.c:371
 #, c-format
 msgid "  --NAME=VALUE       set run-time parameter\n"
 msgstr "  --NAME=WERT        setze Konfigurationsparameter\n"
 
-#: main/main.c:331
+#: main/main.c:372
 #, c-format
 msgid "  --describe-config  describe configuration parameters, then exit\n"
 msgstr "  --describe-config  zeige Konfigurationsparameter und beende\n"
 
-#: main/main.c:332
+#: main/main.c:373
 #, c-format
 msgid "  -?, --help         show this help, then exit\n"
 msgstr "  -?, --help         diese Hilfe anzeigen, dann beenden\n"
 
-#: main/main.c:334
+#: main/main.c:375
 #, c-format
 msgid ""
 "\n"
@@ -14976,42 +15664,42 @@ msgstr ""
 "\n"
 "Entwickleroptionen:\n"
 
-#: main/main.c:335
+#: main/main.c:376
 #, c-format
 msgid "  -f s|i|n|m|h       forbid use of some plan types\n"
 msgstr "  -f s|i|n|m|h       verbiete Verwendung einiger Plantypen\n"
 
-#: main/main.c:336
+#: main/main.c:377
 #, c-format
 msgid "  -n                 do not reinitialize shared memory after abnormal exit\n"
 msgstr "  -n                 Shared Memory nach abnormalem Ende nicht neu initialisieren\n"
 
-#: main/main.c:337
+#: main/main.c:378
 #, c-format
 msgid "  -O                 allow system table structure changes\n"
 msgstr "  -O                 erlaube Änderungen an Systemtabellenstruktur\n"
 
-#: main/main.c:338
+#: main/main.c:379
 #, c-format
 msgid "  -P                 disable system indexes\n"
 msgstr "  -P                 schalte Systemindexe aus\n"
 
-#: main/main.c:339
+#: main/main.c:380
 #, c-format
 msgid "  -t pa|pl|ex        show timings after each query\n"
 msgstr "  -t pa|pl|ex        zeige Zeitmessung nach jeder Anfrage\n"
 
-#: main/main.c:340
+#: main/main.c:381
 #, c-format
 msgid "  -T                 send SIGSTOP to all backend processes if one dies\n"
 msgstr "  -T                 SIGSTOP an alle Backend-Prozesse senden wenn einer stirbt\n"
 
-#: main/main.c:341
+#: main/main.c:382
 #, c-format
 msgid "  -W NUM             wait NUM seconds to allow attach from a debugger\n"
 msgstr "  -W ZAHL            warte ZAHL Sekunden, um Debugger starten zu können\n"
 
-#: main/main.c:343
+#: main/main.c:384
 #, c-format
 msgid ""
 "\n"
@@ -15020,39 +15708,39 @@ msgstr ""
 "\n"
 "Optionen für Einzelbenutzermodus:\n"
 
-#: main/main.c:344
+#: main/main.c:385
 #, c-format
 msgid "  --single           selects single-user mode (must be first argument)\n"
 msgstr "  --single           wählt den Einzelbenutzermodus (muss erstes Argument sein)\n"
 
-#: main/main.c:345
+#: main/main.c:386
 #, c-format
 msgid "  DBNAME             database name (defaults to user name)\n"
 msgstr "  DBNAME             Datenbankname (Vorgabe: Benutzername)\n"
 
-#: main/main.c:346
+#: main/main.c:387
 #, c-format
 msgid "  -d 0-5             override debugging level\n"
 msgstr "  -d 0-5             Debug-Level setzen\n"
 
-#: main/main.c:347
+#: main/main.c:388
 #, c-format
 msgid "  -E                 echo statement before execution\n"
 msgstr "  -E                 gebe Befehl vor der Ausführung aus\n"
 
-#: main/main.c:348
+#: main/main.c:389
 #, c-format
 msgid "  -j                 do not use newline as interactive query delimiter\n"
 msgstr ""
 "  -j                 verwende Zeilenende nicht als Anfrageende im interaktiven\n"
 "                     Modus\n"
 
-#: main/main.c:349 main/main.c:354
+#: main/main.c:390 main/main.c:396
 #, c-format
 msgid "  -r FILENAME        send stdout and stderr to given file\n"
 msgstr "  -r DATEINAME       sende stdout und stderr in genannte Datei\n"
 
-#: main/main.c:351
+#: main/main.c:392
 #, c-format
 msgid ""
 "\n"
@@ -15061,22 +15749,23 @@ msgstr ""
 "\n"
 "Optionen für Bootstrap-Modus:\n"
 
-#: main/main.c:352
+#: main/main.c:393
 #, c-format
 msgid "  --boot             selects bootstrapping mode (must be first argument)\n"
 msgstr "  --boot             wählt den Bootstrap-Modus (muss erstes Argument sein)\n"
 
-#: main/main.c:353
+#: main/main.c:394
+#, fuzzy, c-format
+#| msgid "  --single           selects single-user mode (must be first argument)\n"
+msgid "  --check            selects check mode (must be first argument)\n"
+msgstr "  --single           wählt den Einzelbenutzermodus (muss erstes Argument sein)\n"
+
+#: main/main.c:395
 #, c-format
 msgid "  DBNAME             database name (mandatory argument in bootstrapping mode)\n"
 msgstr "  DBNAME             Datenbankname (Pflichtangabe im Bootstrap-Modus)\n"
 
-#: main/main.c:355
-#, c-format
-msgid "  -x NUM             internal use\n"
-msgstr "  -x NUM             interne Verwendung\n"
-
-#: main/main.c:357
+#: main/main.c:398
 #, c-format
 msgid ""
 "\n"
@@ -15093,12 +15782,12 @@ msgstr ""
 "\n"
 "Berichten Sie Fehler an <%s>.\n"
 
-#: main/main.c:361
+#: main/main.c:402
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s Homepage: <%s>\n"
 
-#: main/main.c:372
+#: main/main.c:413
 #, c-format
 msgid ""
 "\"root\" execution of the PostgreSQL server is not permitted.\n"
@@ -15112,12 +15801,12 @@ msgstr ""
 "Dokumentation finden Sie weitere Informationen darüber, wie der\n"
 "Server richtig gestartet wird.\n"
 
-#: main/main.c:389
+#: main/main.c:430
 #, c-format
 msgid "%s: real and effective user IDs must match\n"
 msgstr "%s: reelle und effektive Benutzer-IDs müssen übereinstimmen\n"
 
-#: main/main.c:396
+#: main/main.c:437
 #, c-format
 msgid ""
 "Execution of PostgreSQL by a user with administrative permissions is not\n"
@@ -15142,15 +15831,21 @@ msgstr "erweiterbarer Knotentyp »%s« existiert bereits"
 msgid "ExtensibleNodeMethods \"%s\" was not registered"
 msgstr "ExtensibleNodeMethods »%s« wurde nicht registriert"
 
-#: nodes/makefuncs.c:150
+#: nodes/makefuncs.c:151 statistics/extended_stats.c:2283
 #, c-format
 msgid "relation \"%s\" does not have a composite type"
 msgstr "Relation »%s« hat keinen zusammengesetzten Typ"
 
-#: nodes/nodeFuncs.c:114 nodes/nodeFuncs.c:145 parser/parse_coerce.c:2472
-#: parser/parse_coerce.c:2584 parser/parse_coerce.c:2630
-#: parser/parse_expr.c:2021 parser/parse_func.c:709 parser/parse_oper.c:883
-#: utils/fmgr/funcapi.c:558
+#: nodes/makefuncs.c:905
+#, fuzzy, c-format
+#| msgid "unrecognized encoding: \"%s\""
+msgid "unrecognized JSON encoding: %s"
+msgstr "unbekannte Kodierung: »%s«"
+
+#: nodes/nodeFuncs.c:114 nodes/nodeFuncs.c:145 parser/parse_coerce.c:2567
+#: parser/parse_coerce.c:2705 parser/parse_coerce.c:2752
+#: parser/parse_expr.c:2085 parser/parse_func.c:710 parser/parse_oper.c:883
+#: utils/fmgr/funcapi.c:627
 #, c-format
 msgid "could not find array type for data type %s"
 msgstr "konnte Arraytyp für Datentyp %s nicht finden"
@@ -15177,53 +15872,48 @@ msgid "%s cannot be applied to the nullable side of an outer join"
 msgstr "%s kann nicht auf die nullbare Seite eines äußeren Verbundes angewendet werden"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/planner.c:1315 parser/analyze.c:1675 parser/analyze.c:1919
-#: parser/analyze.c:3013
+#: optimizer/plan/planner.c:1341 parser/analyze.c:1714 parser/analyze.c:1970
+#: parser/analyze.c:3152
 #, c-format
 msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr "%s ist nicht in UNION/INTERSECT/EXCEPT erlaubt"
 
-#: optimizer/plan/planner.c:1978 optimizer/plan/planner.c:3634
+#: optimizer/plan/planner.c:2048 optimizer/plan/planner.c:3704
 #, c-format
 msgid "could not implement GROUP BY"
 msgstr "konnte GROUP BY nicht implementieren"
 
-#: optimizer/plan/planner.c:1979 optimizer/plan/planner.c:3635
-#: optimizer/plan/planner.c:4392 optimizer/prep/prepunion.c:1046
+#: optimizer/plan/planner.c:2049 optimizer/plan/planner.c:3705
+#: optimizer/plan/planner.c:4348 optimizer/prep/prepunion.c:1046
 #, c-format
 msgid "Some of the datatypes only support hashing, while others only support sorting."
 msgstr "Einige Datentypen unterstützen nur Hashing, während andere nur Sortieren unterstützen."
 
-#: optimizer/plan/planner.c:4391
+#: optimizer/plan/planner.c:4347
 #, c-format
 msgid "could not implement DISTINCT"
 msgstr "konnte DISTINCT nicht implementieren"
 
-#: optimizer/plan/planner.c:5239
+#: optimizer/plan/planner.c:5468
 #, c-format
 msgid "could not implement window PARTITION BY"
 msgstr "konnte PARTITION BY für Fenster nicht implementieren"
 
-#: optimizer/plan/planner.c:5240
+#: optimizer/plan/planner.c:5469
 #, c-format
 msgid "Window partitioning columns must be of sortable datatypes."
 msgstr "Fensterpartitionierungsspalten müssen sortierbare Datentypen haben."
 
-#: optimizer/plan/planner.c:5244
+#: optimizer/plan/planner.c:5473
 #, c-format
 msgid "could not implement window ORDER BY"
 msgstr "konnte ORDER BY für Fenster nicht implementieren"
 
-#: optimizer/plan/planner.c:5245
+#: optimizer/plan/planner.c:5474
 #, c-format
 msgid "Window ordering columns must be of sortable datatypes."
 msgstr "Fenstersortierspalten müssen sortierbare Datentypen haben."
 
-#: optimizer/plan/setrefs.c:479
-#, c-format
-msgid "too many range table entries"
-msgstr "zu viele Range-Table-Einträge"
-
 #: optimizer/prep/prepunion.c:509
 #, c-format
 msgid "could not implement recursive UNION"
@@ -15240,247 +15930,247 @@ msgstr "Alle Spaltendatentypen müssen hashbar sein."
 msgid "could not implement %s"
 msgstr "konnte %s nicht implementieren"
 
-#: optimizer/util/clauses.c:4670
+#: optimizer/util/clauses.c:4854
 #, c-format
 msgid "SQL function \"%s\" during inlining"
 msgstr "SQL-Funktion »%s« beim Inlining"
 
-#: optimizer/util/plancat.c:132
+#: optimizer/util/plancat.c:133
 #, c-format
 msgid "cannot access temporary or unlogged relations during recovery"
 msgstr "während der Wiederherstellung kann nicht auf temporäre oder ungeloggte Tabellen zugegriffen werden"
 
-#: optimizer/util/plancat.c:672
+#: optimizer/util/plancat.c:673
 #, c-format
 msgid "whole row unique index inference specifications are not supported"
 msgstr "Inferenzangaben mit Unique-Index über die gesamte Zeile werden nicht unterstützt"
 
-#: optimizer/util/plancat.c:689
+#: optimizer/util/plancat.c:690
 #, c-format
 msgid "constraint in ON CONFLICT clause has no associated index"
 msgstr "Constraint in der ON-CONFLICT-Klausel hat keinen zugehörigen Index"
 
-#: optimizer/util/plancat.c:739
+#: optimizer/util/plancat.c:740
 #, c-format
 msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints"
 msgstr "ON CONFLICT DO UPDATE nicht unterstützt mit Exclusion-Constraints"
 
-#: optimizer/util/plancat.c:844
+#: optimizer/util/plancat.c:845
 #, c-format
 msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification"
 msgstr "es gibt keinen Unique-Constraint oder Exclusion-Constraint, der auf die ON-CONFLICT-Angabe passt"
 
-#: parser/analyze.c:735 parser/analyze.c:1449
+#: parser/analyze.c:780 parser/analyze.c:1494
 #, c-format
 msgid "VALUES lists must all be the same length"
 msgstr "VALUES-Listen müssen alle die gleiche Länge haben"
 
-#: parser/analyze.c:936
+#: parser/analyze.c:981
 #, c-format
 msgid "INSERT has more expressions than target columns"
 msgstr "INSERT hat mehr Ausdrücke als Zielspalten"
 
-#: parser/analyze.c:954
+#: parser/analyze.c:999
 #, c-format
 msgid "INSERT has more target columns than expressions"
 msgstr "INSERT hat mehr Zielspalten als Ausdrücke"
 
-#: parser/analyze.c:958
+#: parser/analyze.c:1003
 #, c-format
 msgid "The insertion source is a row expression containing the same number of columns expected by the INSERT. Did you accidentally use extra parentheses?"
 msgstr "Der einzufügende Wert ist ein Zeilenausdruck mit der gleichen Anzahl Spalten wie von INSERT erwartet. Haben Sie versehentlich zu viele Klammern gesetzt?"
 
-#: parser/analyze.c:1257 parser/analyze.c:1648
+#: parser/analyze.c:1302 parser/analyze.c:1687
 #, c-format
 msgid "SELECT ... INTO is not allowed here"
 msgstr "SELECT ... INTO ist hier nicht erlaubt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:1578 parser/analyze.c:3192
+#: parser/analyze.c:1617 parser/analyze.c:3346
 #, c-format
 msgid "%s cannot be applied to VALUES"
 msgstr "%s kann nicht auf VALUES angewendet werden"
 
-#: parser/analyze.c:1814
+#: parser/analyze.c:1853
 #, c-format
 msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
 msgstr "ungültige ORDER-BY-Klausel mit UNION/INTERSECT/EXCEPT"
 
-#: parser/analyze.c:1815
+#: parser/analyze.c:1854
 #, c-format
 msgid "Only result column names can be used, not expressions or functions."
 msgstr "Es können nur Ergebnisspaltennamen verwendet werden, keine Ausdrücke oder Funktionen."
 
-#: parser/analyze.c:1816
+#: parser/analyze.c:1855
 #, c-format
 msgid "Add the expression/function to every SELECT, or move the UNION into a FROM clause."
 msgstr "Fügen Sie den Ausdrück/die Funktion jedem SELECT hinzu oder verlegen Sie die UNION in eine FROM-Klausel."
 
-#: parser/analyze.c:1909
+#: parser/analyze.c:1960
 #, c-format
 msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
 msgstr "INTO ist nur im ersten SELECT von UNION/INTERSECT/EXCEPT erlaubt"
 
-#: parser/analyze.c:1981
+#: parser/analyze.c:2032
 #, c-format
 msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level"
 msgstr "Teilanweisung von UNION/INTERSECT/EXCEPT kann nicht auf andere Relationen auf der selben Anfrageebene verweisen"
 
-#: parser/analyze.c:2068
+#: parser/analyze.c:2119
 #, c-format
 msgid "each %s query must have the same number of columns"
 msgstr "jede %s-Anfrage muss die gleiche Anzahl Spalten haben"
 
-#: parser/analyze.c:2468
+#: parser/analyze.c:2523
 #, c-format
 msgid "RETURNING must have at least one column"
 msgstr "RETURNING muss mindestens eine Spalte haben"
 
-#: parser/analyze.c:2571
+#: parser/analyze.c:2626
 #, c-format
 msgid "assignment source returned %d column"
 msgid_plural "assignment source returned %d columns"
 msgstr[0] "Quelle der Wertzuweisung hat %d Spalte zurückgegeben"
 msgstr[1] "Quelle der Wertzuweisung hat %d Spalten zurückgegeben"
 
-#: parser/analyze.c:2632
+#: parser/analyze.c:2687
 #, c-format
 msgid "variable \"%s\" is of type %s but expression is of type %s"
 msgstr "Variable »%s« hat Typ %s, aber der Ausdruck hat Typ %s"
 
 #. translator: %s is a SQL keyword
-#: parser/analyze.c:2756 parser/analyze.c:2764
+#: parser/analyze.c:2811 parser/analyze.c:2819
 #, c-format
 msgid "cannot specify both %s and %s"
 msgstr "%s und %s können nicht beide angegeben werden"
 
-#: parser/analyze.c:2784
+#: parser/analyze.c:2839
 #, c-format
 msgid "DECLARE CURSOR must not contain data-modifying statements in WITH"
 msgstr "DECLARE CURSOR darf keine datenmodifizierenden Anweisungen in WITH enthalten"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2792
+#: parser/analyze.c:2847
 #, c-format
 msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
 msgstr "DECLARE CURSOR WITH HOLD ... %s wird nicht unterstützt"
 
-#: parser/analyze.c:2795
+#: parser/analyze.c:2850
 #, c-format
 msgid "Holdable cursors must be READ ONLY."
 msgstr "Haltbare Cursor müssen READ ONLY sein."
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2803
+#: parser/analyze.c:2858
 #, c-format
 msgid "DECLARE SCROLL CURSOR ... %s is not supported"
 msgstr "DECLARE SCROLL CURSOR ... %s wird nicht unterstützt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2814
+#: parser/analyze.c:2869
 #, c-format
 msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid"
 msgstr "DECLARE INSENSITIVE CURSOR ... %s ist nicht gültig"
 
-#: parser/analyze.c:2817
+#: parser/analyze.c:2872
 #, c-format
 msgid "Insensitive cursors must be READ ONLY."
 msgstr "Insensitive Cursor müssen READ ONLY sein."
 
-#: parser/analyze.c:2883
+#: parser/analyze.c:2938
 #, c-format
 msgid "materialized views must not use data-modifying statements in WITH"
 msgstr "materialisierte Sichten dürfen keine datenmodifizierenden Anweisungen in WITH verwenden"
 
-#: parser/analyze.c:2893
+#: parser/analyze.c:2948
 #, c-format
 msgid "materialized views must not use temporary tables or views"
 msgstr "materialisierte Sichten dürfen keine temporären Tabellen oder Sichten verwenden"
 
-#: parser/analyze.c:2903
+#: parser/analyze.c:2958
 #, c-format
 msgid "materialized views may not be defined using bound parameters"
 msgstr "materialisierte Sichten können nicht unter Verwendung von gebundenen Parametern definiert werden"
 
-#: parser/analyze.c:2915
+#: parser/analyze.c:2970
 #, c-format
 msgid "materialized views cannot be unlogged"
 msgstr "materialisierte Sichten können nicht ungeloggt sein"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3020
+#: parser/analyze.c:3159
 #, c-format
 msgid "%s is not allowed with DISTINCT clause"
 msgstr "%s ist nicht mit DISTINCT-Klausel erlaubt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3027
+#: parser/analyze.c:3166
 #, c-format
 msgid "%s is not allowed with GROUP BY clause"
 msgstr "%s ist nicht mit GROUP-BY-Klausel erlaubt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3034
+#: parser/analyze.c:3173
 #, c-format
 msgid "%s is not allowed with HAVING clause"
 msgstr "%s ist nicht mit HAVING-Klausel erlaubt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3041
+#: parser/analyze.c:3180
 #, c-format
 msgid "%s is not allowed with aggregate functions"
 msgstr "%s ist nicht mit Aggregatfunktionen erlaubt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3048
+#: parser/analyze.c:3187
 #, c-format
 msgid "%s is not allowed with window functions"
 msgstr "%s ist nicht mit Fensterfunktionen erlaubt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3055
+#: parser/analyze.c:3194
 #, c-format
 msgid "%s is not allowed with set-returning functions in the target list"
 msgstr "%s ist nicht mit Funktionen mit Ergebnismenge in der Targetliste erlaubt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3134
+#: parser/analyze.c:3286
 #, c-format
 msgid "%s must specify unqualified relation names"
 msgstr "%s muss unqualifizierte Relationsnamen angeben"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3165
+#: parser/analyze.c:3319
 #, c-format
 msgid "%s cannot be applied to a join"
 msgstr "%s kann nicht auf einen Verbund angewendet werden"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3174
+#: parser/analyze.c:3328
 #, c-format
 msgid "%s cannot be applied to a function"
 msgstr "%s kann nicht auf eine Funktion angewendet werden"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3183
+#: parser/analyze.c:3337
 #, c-format
 msgid "%s cannot be applied to a table function"
 msgstr "%s kann nicht auf eine Tabellenfunktion angewendet werden"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3201
+#: parser/analyze.c:3355
 #, c-format
 msgid "%s cannot be applied to a WITH query"
 msgstr "%s kann nicht auf eine WITH-Anfrage angewendet werden"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3210
+#: parser/analyze.c:3364
 #, c-format
 msgid "%s cannot be applied to a named tuplestore"
 msgstr "%s kann nicht auf einen benannten Tupelstore angewendet werden"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3230
+#: parser/analyze.c:3384
 #, c-format
 msgid "relation \"%s\" in %s clause not found in FROM clause"
 msgstr "Relation »%s« in %s nicht in der FROM-Klausel gefunden"
@@ -15556,118 +16246,130 @@ msgstr "Aggregatfunktionen sind in der Fenster-GROUPS-Klausel nicht erlaubt"
 msgid "grouping operations are not allowed in window GROUPS"
 msgstr "Gruppieroperationen sind in der Fenster-GROUPS-Klausel nicht erlaubt"
 
-#: parser/parse_agg.c:460
+#: parser/parse_agg.c:439
+#, fuzzy
+#| msgid "aggregate functions are not allowed in trigger WHEN conditions"
+msgid "aggregate functions are not allowed in MERGE WHEN conditions"
+msgstr "Aggregatfunktionen sind in der WHEN-Bedingung eines Triggers nicht erlaubt"
+
+#: parser/parse_agg.c:441
+#, fuzzy
+#| msgid "grouping operations are not allowed in trigger WHEN conditions"
+msgid "grouping operations are not allowed in MERGE WHEN conditions"
+msgstr "Gruppieroperationen sind in der WHEN-Bedingung eines Triggers nicht erlaubt"
+
+#: parser/parse_agg.c:467
 msgid "aggregate functions are not allowed in check constraints"
 msgstr "Aggregatfunktionen sind in Check-Constraints nicht erlaubt"
 
-#: parser/parse_agg.c:462
+#: parser/parse_agg.c:469
 msgid "grouping operations are not allowed in check constraints"
 msgstr "Gruppieroperationen sind in Check-Constraints nicht erlaubt"
 
-#: parser/parse_agg.c:469
+#: parser/parse_agg.c:476
 msgid "aggregate functions are not allowed in DEFAULT expressions"
 msgstr "Aggregatfunktionen sind in DEFAULT-Ausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:471
+#: parser/parse_agg.c:478
 msgid "grouping operations are not allowed in DEFAULT expressions"
 msgstr "Gruppieroperationen sind in DEFAULT-Ausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:476
+#: parser/parse_agg.c:483
 msgid "aggregate functions are not allowed in index expressions"
 msgstr "Aggregatfunktionen sind in Indexausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:478
+#: parser/parse_agg.c:485
 msgid "grouping operations are not allowed in index expressions"
 msgstr "Gruppieroperationen sind in Indexausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:483
+#: parser/parse_agg.c:490
 msgid "aggregate functions are not allowed in index predicates"
 msgstr "Aggregatfunktionen sind in Indexprädikaten nicht erlaubt"
 
-#: parser/parse_agg.c:485
+#: parser/parse_agg.c:492
 msgid "grouping operations are not allowed in index predicates"
 msgstr "Gruppieroperationen sind in Indexprädikaten nicht erlaubt"
 
-#: parser/parse_agg.c:490
+#: parser/parse_agg.c:497
 msgid "aggregate functions are not allowed in statistics expressions"
 msgstr "Aggregatfunktionen sind in Statistikausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:492
+#: parser/parse_agg.c:499
 msgid "grouping operations are not allowed in statistics expressions"
 msgstr "Gruppieroperationen sind in Statistikausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:497
+#: parser/parse_agg.c:504
 msgid "aggregate functions are not allowed in transform expressions"
 msgstr "Aggregatfunktionen sind in Umwandlungsausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:499
+#: parser/parse_agg.c:506
 msgid "grouping operations are not allowed in transform expressions"
 msgstr "Gruppieroperationen sind in Umwandlungsausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:504
+#: parser/parse_agg.c:511
 msgid "aggregate functions are not allowed in EXECUTE parameters"
 msgstr "Aggregatfunktionen sind in EXECUTE-Parametern nicht erlaubt"
 
-#: parser/parse_agg.c:506
+#: parser/parse_agg.c:513
 msgid "grouping operations are not allowed in EXECUTE parameters"
 msgstr "Gruppieroperationen sind in EXECUTE-Parametern nicht erlaubt"
 
-#: parser/parse_agg.c:511
+#: parser/parse_agg.c:518
 msgid "aggregate functions are not allowed in trigger WHEN conditions"
 msgstr "Aggregatfunktionen sind in der WHEN-Bedingung eines Triggers nicht erlaubt"
 
-#: parser/parse_agg.c:513
+#: parser/parse_agg.c:520
 msgid "grouping operations are not allowed in trigger WHEN conditions"
 msgstr "Gruppieroperationen sind in der WHEN-Bedingung eines Triggers nicht erlaubt"
 
-#: parser/parse_agg.c:518
+#: parser/parse_agg.c:525
 msgid "aggregate functions are not allowed in partition bound"
 msgstr "Aggregatfunktionen sind in Partitionsbegrenzungen nicht erlaubt"
 
-#: parser/parse_agg.c:520
+#: parser/parse_agg.c:527
 msgid "grouping operations are not allowed in partition bound"
 msgstr "Gruppieroperationen sind in Partitionsbegrenzungen nicht erlaubt"
 
-#: parser/parse_agg.c:525
+#: parser/parse_agg.c:532
 msgid "aggregate functions are not allowed in partition key expressions"
 msgstr "Aggregatfunktionen sind in Partitionierungsschlüsselausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:527
+#: parser/parse_agg.c:534
 msgid "grouping operations are not allowed in partition key expressions"
 msgstr "Gruppieroperationen sind in Partitionierungsschlüsselausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:533
+#: parser/parse_agg.c:540
 msgid "aggregate functions are not allowed in column generation expressions"
 msgstr "Aggregatfunktionen sind in Spaltengenerierungsausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:535
+#: parser/parse_agg.c:542
 msgid "grouping operations are not allowed in column generation expressions"
 msgstr "Gruppieroperationen sind in Spaltengenerierungsausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:541
+#: parser/parse_agg.c:548
 msgid "aggregate functions are not allowed in CALL arguments"
 msgstr "Aggregatfunktionen sind in CALL-Argumenten nicht erlaubt"
 
-#: parser/parse_agg.c:543
+#: parser/parse_agg.c:550
 msgid "grouping operations are not allowed in CALL arguments"
 msgstr "Gruppieroperationen sind in CALL-Argumenten nicht erlaubt"
 
-#: parser/parse_agg.c:549
+#: parser/parse_agg.c:556
 msgid "aggregate functions are not allowed in COPY FROM WHERE conditions"
 msgstr "Aggregatfunktionen sind in COPY-FROM-WHERE-Bedingungen nicht erlaubt"
 
-#: parser/parse_agg.c:551
+#: parser/parse_agg.c:558
 msgid "grouping operations are not allowed in COPY FROM WHERE conditions"
 msgstr "Gruppieroperationen sind in COPY-FROM-WHERE-Bedingungen nicht erlaubt"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:578 parser/parse_clause.c:1847
+#: parser/parse_agg.c:585 parser/parse_clause.c:1852
 #, c-format
 msgid "aggregate functions are not allowed in %s"
 msgstr "Aggregatfunktionen sind in %s nicht erlaubt"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:581
+#: parser/parse_agg.c:588
 #, c-format
 msgid "grouping operations are not allowed in %s"
 msgstr "Gruppieroperationen sind in %s nicht erlaubt"
@@ -15682,8 +16384,8 @@ msgstr "Aggregatfunktion auf äußerer Ebene kann keine Variable einer unteren E
 msgid "aggregate function calls cannot contain set-returning function calls"
 msgstr "Aufrufe von Aggregatfunktionen können keine Aufrufe von Funktionen mit Ergebnismenge enthalten"
 
-#: parser/parse_agg.c:769 parser/parse_expr.c:1673 parser/parse_expr.c:2146
-#: parser/parse_func.c:882
+#: parser/parse_agg.c:769 parser/parse_expr.c:1736 parser/parse_expr.c:2210
+#: parser/parse_func.c:883
 #, c-format
 msgid "You might be able to move the set-returning function into a LATERAL FROM item."
 msgstr "Sie können möglicherweise die Funktion mit Ergebnismenge in ein LATERAL-FROM-Element verschieben."
@@ -15709,95 +16411,101 @@ msgstr "Fensterfunktionen sind in Policy-Ausdrücken nicht erlaubt"
 msgid "window functions are not allowed in window definitions"
 msgstr "Fensterfunktionen sind in Fensterdefinitionen nicht erlaubt"
 
-#: parser/parse_agg.c:911
+#: parser/parse_agg.c:890
+#, fuzzy
+#| msgid "window functions are not allowed in trigger WHEN conditions"
+msgid "window functions are not allowed in MERGE WHEN conditions"
+msgstr "Fensterfunktionen sind in der WHEN-Bedingung eines Triggers nicht erlaubt"
+
+#: parser/parse_agg.c:914
 msgid "window functions are not allowed in check constraints"
 msgstr "Fensterfunktionen sind in Check-Constraints nicht erlaubt"
 
-#: parser/parse_agg.c:915
+#: parser/parse_agg.c:918
 msgid "window functions are not allowed in DEFAULT expressions"
 msgstr "Fensterfunktionen sind in DEFAULT-Ausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:918
+#: parser/parse_agg.c:921
 msgid "window functions are not allowed in index expressions"
 msgstr "Fensterfunktionen sind in Indexausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:921
+#: parser/parse_agg.c:924
 msgid "window functions are not allowed in statistics expressions"
 msgstr "Fensterfunktionen sind in Statistikausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:924
+#: parser/parse_agg.c:927
 msgid "window functions are not allowed in index predicates"
 msgstr "Fensterfunktionen sind in Indexprädikaten nicht erlaubt"
 
-#: parser/parse_agg.c:927
+#: parser/parse_agg.c:930
 msgid "window functions are not allowed in transform expressions"
 msgstr "Fensterfunktionen sind in Umwandlungsausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:930
+#: parser/parse_agg.c:933
 msgid "window functions are not allowed in EXECUTE parameters"
 msgstr "Fensterfunktionen sind in EXECUTE-Parametern nicht erlaubt"
 
-#: parser/parse_agg.c:933
+#: parser/parse_agg.c:936
 msgid "window functions are not allowed in trigger WHEN conditions"
 msgstr "Fensterfunktionen sind in der WHEN-Bedingung eines Triggers nicht erlaubt"
 
-#: parser/parse_agg.c:936
+#: parser/parse_agg.c:939
 msgid "window functions are not allowed in partition bound"
 msgstr "Fensterfunktionen sind in Partitionsbegrenzungen nicht erlaubt"
 
-#: parser/parse_agg.c:939
+#: parser/parse_agg.c:942
 msgid "window functions are not allowed in partition key expressions"
 msgstr "Fensterfunktionen sind in Partitionierungsschlüsselausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:942
+#: parser/parse_agg.c:945
 msgid "window functions are not allowed in CALL arguments"
 msgstr "Fensterfunktionen sind in CALL-Argumenten nicht erlaubt"
 
-#: parser/parse_agg.c:945
+#: parser/parse_agg.c:948
 msgid "window functions are not allowed in COPY FROM WHERE conditions"
 msgstr "Fensterfunktionen sind in COPY-FROM-WHERE-Bedingungen nicht erlaubt"
 
-#: parser/parse_agg.c:948
+#: parser/parse_agg.c:951
 msgid "window functions are not allowed in column generation expressions"
 msgstr "Fensterfunktionen sind in Spaltengenerierungsausdrücken nicht erlaubt"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:971 parser/parse_clause.c:1856
+#: parser/parse_agg.c:974 parser/parse_clause.c:1861
 #, c-format
 msgid "window functions are not allowed in %s"
 msgstr "Fensterfunktionen sind in %s nicht erlaubt"
 
-#: parser/parse_agg.c:1005 parser/parse_clause.c:2690
+#: parser/parse_agg.c:1008 parser/parse_clause.c:2694
 #, c-format
 msgid "window \"%s\" does not exist"
 msgstr "Fenster »%s« existiert nicht"
 
-#: parser/parse_agg.c:1089
+#: parser/parse_agg.c:1092
 #, c-format
 msgid "too many grouping sets present (maximum 4096)"
 msgstr "zu viele Grouping-Sets vorhanden (maximal 4096)"
 
-#: parser/parse_agg.c:1229
+#: parser/parse_agg.c:1232
 #, c-format
 msgid "aggregate functions are not allowed in a recursive query's recursive term"
 msgstr "Aggregatfunktionen sind nicht im rekursiven Ausdruck einer rekursiven Anfrage erlaubt"
 
-#: parser/parse_agg.c:1422
+#: parser/parse_agg.c:1425
 #, c-format
 msgid "column \"%s.%s\" must appear in the GROUP BY clause or be used in an aggregate function"
 msgstr "Spalte »%s.%s« muss in der GROUP-BY-Klausel erscheinen oder in einer Aggregatfunktion verwendet werden"
 
-#: parser/parse_agg.c:1425
+#: parser/parse_agg.c:1428
 #, c-format
 msgid "Direct arguments of an ordered-set aggregate must use only grouped columns."
 msgstr "Direkte Argumente einer Ordered-Set-Aggregatfunktion dürfen nur gruppierte Spalten verwenden."
 
-#: parser/parse_agg.c:1430
+#: parser/parse_agg.c:1433
 #, c-format
 msgid "subquery uses ungrouped column \"%s.%s\" from outer query"
 msgstr "Unteranfrage verwendet nicht gruppierte Spalte »%s.%s« aus äußerer Anfrage"
 
-#: parser/parse_agg.c:1594
+#: parser/parse_agg.c:1597
 #, c-format
 msgid "arguments to GROUPING must be grouping expressions of the associated query level"
 msgstr "Argumente von GROUPING müssen Gruppierausdrücke der zugehörigen Anfrageebene sein"
@@ -15807,443 +16515,446 @@ msgstr "Argumente von GROUPING müssen Gruppierausdrücke der zugehörigen Anfra
 msgid "relation \"%s\" cannot be the target of a modifying statement"
 msgstr "Relation »%s« kann nicht das Ziel einer datenverändernden Anweisung sein"
 
-#: parser/parse_clause.c:571 parser/parse_clause.c:599 parser/parse_func.c:2438
+#: parser/parse_clause.c:570 parser/parse_clause.c:598 parser/parse_func.c:2554
 #, c-format
 msgid "set-returning functions must appear at top level of FROM"
 msgstr "Funktionen mit Ergebnismenge müssen auf oberster Ebene von FROM erscheinen"
 
-#: parser/parse_clause.c:611
+#: parser/parse_clause.c:610
 #, c-format
 msgid "multiple column definition lists are not allowed for the same function"
 msgstr "mehrere Spaltendefinitionslisten für die selbe Funktion sind nicht erlaubt"
 
-#: parser/parse_clause.c:644
+#: parser/parse_clause.c:643
 #, c-format
 msgid "ROWS FROM() with multiple functions cannot have a column definition list"
 msgstr "ROWS FROM() mit mehreren Funktionen kann keine Spaltendefinitionsliste haben"
 
-#: parser/parse_clause.c:645
+#: parser/parse_clause.c:644
 #, c-format
 msgid "Put a separate column definition list for each function inside ROWS FROM()."
 msgstr "Geben Sie innerhalb von ROWS FROM() jeder Funktion eine eigene Spaltendefinitionsliste."
 
-#: parser/parse_clause.c:651
+#: parser/parse_clause.c:650
 #, c-format
 msgid "UNNEST() with multiple arguments cannot have a column definition list"
 msgstr "UNNEST() mit mehreren Argumenten kann keine Spaltendefinitionsliste haben"
 
-#: parser/parse_clause.c:652
+#: parser/parse_clause.c:651
 #, c-format
 msgid "Use separate UNNEST() calls inside ROWS FROM(), and attach a column definition list to each one."
 msgstr "Verwenden Sie getrennte UNNEST()-Aufrufe innerhalb von ROWS FROM() und geben Sie jeder eine eigene Spaltendefinitionsliste."
 
-#: parser/parse_clause.c:659
+#: parser/parse_clause.c:658
 #, c-format
 msgid "WITH ORDINALITY cannot be used with a column definition list"
 msgstr "WITH ORDINALITY kann nicht mit einer Spaltendefinitionsliste verwendet werden"
 
-#: parser/parse_clause.c:660
+#: parser/parse_clause.c:659
 #, c-format
 msgid "Put the column definition list inside ROWS FROM()."
 msgstr "Geben Sie die Spaltendefinitionsliste innerhalb von ROWS FROM() an."
 
-#: parser/parse_clause.c:760
+#: parser/parse_clause.c:761
 #, c-format
 msgid "only one FOR ORDINALITY column is allowed"
 msgstr "nur eine FOR-ORDINALITY-Spalte ist erlaubt"
 
-#: parser/parse_clause.c:821
+#: parser/parse_clause.c:822 parser/parse_jsontable.c:445
 #, c-format
 msgid "column name \"%s\" is not unique"
 msgstr "Spaltenname »%s« ist nicht eindeutig"
 
-#: parser/parse_clause.c:863
+#: parser/parse_clause.c:864
 #, c-format
 msgid "namespace name \"%s\" is not unique"
 msgstr "Namensraumname »%s« ist nicht eindeutig"
 
-#: parser/parse_clause.c:873
+#: parser/parse_clause.c:874
 #, c-format
 msgid "only one default namespace is allowed"
 msgstr "nur ein Standardnamensraum ist erlaubt"
 
-#: parser/parse_clause.c:933
+#: parser/parse_clause.c:934
 #, c-format
 msgid "tablesample method %s does not exist"
 msgstr "Tablesample-Methode %s existiert nicht"
 
-#: parser/parse_clause.c:955
+#: parser/parse_clause.c:956
 #, c-format
 msgid "tablesample method %s requires %d argument, not %d"
 msgid_plural "tablesample method %s requires %d arguments, not %d"
 msgstr[0] "Tablesample-Methode %s benötigt %d Argument, nicht %d"
 msgstr[1] "Tablesample-Methode %s benötigt %d Argumente, nicht %d"
 
-#: parser/parse_clause.c:989
+#: parser/parse_clause.c:990
 #, c-format
 msgid "tablesample method %s does not support REPEATABLE"
 msgstr "Tablesample-Methode %s unterstützt REPEATABLE nicht"
 
-#: parser/parse_clause.c:1135
+#: parser/parse_clause.c:1140
 #, c-format
 msgid "TABLESAMPLE clause can only be applied to tables and materialized views"
 msgstr "TABLESAMPLE-Klausel kann nur auf Tabellen und materialisierte Sichten angewendet werden"
 
-#: parser/parse_clause.c:1325
+#: parser/parse_clause.c:1330
 #, c-format
 msgid "column name \"%s\" appears more than once in USING clause"
 msgstr "Spaltenname »%s« erscheint mehrmals in der USING-Klausel"
 
-#: parser/parse_clause.c:1340
+#: parser/parse_clause.c:1345
 #, c-format
 msgid "common column name \"%s\" appears more than once in left table"
 msgstr "gemeinsamer Spaltenname »%s« erscheint mehrmals in der linken Tabelle"
 
-#: parser/parse_clause.c:1349
+#: parser/parse_clause.c:1354
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in left table"
 msgstr "Spalte »%s« aus der USING-Klausel existiert nicht in der linken Tabelle"
 
-#: parser/parse_clause.c:1364
+#: parser/parse_clause.c:1369
 #, c-format
 msgid "common column name \"%s\" appears more than once in right table"
 msgstr "gemeinsamer Spaltenname »%s« erscheint mehrmals in der rechten Tabelle"
 
-#: parser/parse_clause.c:1373
+#: parser/parse_clause.c:1378
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in right table"
 msgstr "Spalte »%s« aus der USING-Klausel existiert nicht in der rechten Tabelle"
 
-#: parser/parse_clause.c:1452
+#: parser/parse_clause.c:1457
 #, c-format
 msgid "column alias list for \"%s\" has too many entries"
 msgstr "Spaltenaliasliste für »%s« hat zu viele Einträge"
 
-#: parser/parse_clause.c:1792
+#: parser/parse_clause.c:1797
 #, c-format
 msgid "row count cannot be null in FETCH FIRST ... WITH TIES clause"
 msgstr "Zeilenzahl in FETCH FIRST ... WITH TIES darf nicht NULL sein"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1817
+#: parser/parse_clause.c:1822
 #, c-format
 msgid "argument of %s must not contain variables"
 msgstr "Argument von %s darf keine Variablen enthalten"
 
 #. translator: first %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1982
+#: parser/parse_clause.c:1987
 #, c-format
 msgid "%s \"%s\" is ambiguous"
 msgstr "%s »%s« ist nicht eindeutig"
 
 #. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:2011
+#: parser/parse_clause.c:2015
 #, c-format
 msgid "non-integer constant in %s"
 msgstr "Konstante in %s ist keine ganze Zahl"
 
 #. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:2033
+#: parser/parse_clause.c:2037
 #, c-format
 msgid "%s position %d is not in select list"
 msgstr "%s Position %d ist nicht in der Select-Liste"
 
-#: parser/parse_clause.c:2472
+#: parser/parse_clause.c:2476
 #, c-format
 msgid "CUBE is limited to 12 elements"
 msgstr "CUBE ist auf 12 Elemente begrenzt"
 
-#: parser/parse_clause.c:2678
+#: parser/parse_clause.c:2682
 #, c-format
 msgid "window \"%s\" is already defined"
 msgstr "Fenster »%s« ist bereits definiert"
 
-#: parser/parse_clause.c:2739
+#: parser/parse_clause.c:2743
 #, c-format
 msgid "cannot override PARTITION BY clause of window \"%s\""
 msgstr "PARTITION-BY-Klausel von Fenster »%s« kann nicht aufgehoben werden"
 
-#: parser/parse_clause.c:2751
+#: parser/parse_clause.c:2755
 #, c-format
 msgid "cannot override ORDER BY clause of window \"%s\""
 msgstr "ORDER-BY-Klausel von Fenster »%s« kann nicht aufgehoben werden"
 
-#: parser/parse_clause.c:2781 parser/parse_clause.c:2787
+#: parser/parse_clause.c:2785 parser/parse_clause.c:2791
 #, c-format
 msgid "cannot copy window \"%s\" because it has a frame clause"
 msgstr "kann Fenster »%s« nicht kopieren, weil es eine Frame-Klausel hat"
 
-#: parser/parse_clause.c:2789
+#: parser/parse_clause.c:2793
 #, c-format
 msgid "Omit the parentheses in this OVER clause."
 msgstr "Lassen Sie die Klammern in dieser OVER-Klausel weg."
 
-#: parser/parse_clause.c:2809
+#: parser/parse_clause.c:2813
 #, c-format
 msgid "RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column"
 msgstr "RANGE mit Offset PRECEDING/FOLLOWING benötigt genau eine ORDER-BY-Spalte"
 
-#: parser/parse_clause.c:2832
+#: parser/parse_clause.c:2836
 #, c-format
 msgid "GROUPS mode requires an ORDER BY clause"
 msgstr "GROUPS-Modus erfordert eine ORDER-BY-Klausel"
 
-#: parser/parse_clause.c:2902
+#: parser/parse_clause.c:2906
 #, c-format
 msgid "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument list"
 msgstr "in einer Aggregatfunktion mit DISTINCT müssen ORDER-BY-Ausdrücke in der Argumentliste erscheinen"
 
-#: parser/parse_clause.c:2903
+#: parser/parse_clause.c:2907
 #, c-format
 msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list"
 msgstr "bei SELECT DISTINCT müssen ORDER-BY-Ausdrücke in der Select-Liste erscheinen"
 
-#: parser/parse_clause.c:2935
+#: parser/parse_clause.c:2939
 #, c-format
 msgid "an aggregate with DISTINCT must have at least one argument"
 msgstr "eine Aggregatfunktion mit DISTINCT muss mindestens ein Argument haben"
 
-#: parser/parse_clause.c:2936
+#: parser/parse_clause.c:2940
 #, c-format
 msgid "SELECT DISTINCT must have at least one column"
 msgstr "SELECT DISTINCT muss mindestens eine Spalte haben"
 
-#: parser/parse_clause.c:3002 parser/parse_clause.c:3034
+#: parser/parse_clause.c:3006 parser/parse_clause.c:3038
 #, c-format
 msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
 msgstr "Ausdrücke in SELECT DISTINCT ON müssen mit den ersten Ausdrücken in ORDER BY übereinstimmen"
 
-#: parser/parse_clause.c:3112
+#: parser/parse_clause.c:3116
 #, c-format
 msgid "ASC/DESC is not allowed in ON CONFLICT clause"
 msgstr "ASC/DESC ist in der ON-CONFLICT-Klausel nicht erlaubt"
 
-#: parser/parse_clause.c:3118
+#: parser/parse_clause.c:3122
 #, c-format
 msgid "NULLS FIRST/LAST is not allowed in ON CONFLICT clause"
 msgstr "NULLS FIRST/LAST ist in der ON-CONFLICT-Klausel nicht erlaubt"
 
-#: parser/parse_clause.c:3197
+#: parser/parse_clause.c:3201
 #, c-format
 msgid "ON CONFLICT DO UPDATE requires inference specification or constraint name"
 msgstr "ON CONFLICT DO UPDATE benötigt Inferenzangabe oder Constraint-Namen"
 
-#: parser/parse_clause.c:3198
+#: parser/parse_clause.c:3202
 #, c-format
 msgid "For example, ON CONFLICT (column_name)."
 msgstr "Zum Bespiel ON CONFLICT (Spaltenname)."
 
-#: parser/parse_clause.c:3209
+#: parser/parse_clause.c:3213
 #, c-format
 msgid "ON CONFLICT is not supported with system catalog tables"
 msgstr "ON CONFLICT wird nicht mit Systemkatalogtabellen unterstützt"
 
-#: parser/parse_clause.c:3217
+#: parser/parse_clause.c:3221
 #, c-format
 msgid "ON CONFLICT is not supported on table \"%s\" used as a catalog table"
 msgstr "ON CONFLICT wird nicht unterstützt mit Tabelle »%s«, die als Katalogtabelle verwendet wird"
 
-#: parser/parse_clause.c:3347
+#: parser/parse_clause.c:3351
 #, c-format
 msgid "operator %s is not a valid ordering operator"
 msgstr "Operator %s ist kein gültiger Sortieroperator"
 
-#: parser/parse_clause.c:3349
+#: parser/parse_clause.c:3353
 #, c-format
 msgid "Ordering operators must be \"<\" or \">\" members of btree operator families."
 msgstr "Sortieroperatoren müssen die Mitglieder »<« oder »>« einer »btree«-Operatorfamilie sein."
 
-#: parser/parse_clause.c:3660
+#: parser/parse_clause.c:3664
 #, c-format
 msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s"
 msgstr "RANGE mit Offset PRECEDING/FOLLOWING wird für Spaltentyp %s nicht unterstützt"
 
-#: parser/parse_clause.c:3666
+#: parser/parse_clause.c:3670
 #, c-format
 msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s and offset type %s"
 msgstr "RANGE mit Offset PRECEDING/FOLLOWING wird für Spaltentyp %s und Offset-Typ %s nicht unterstützt"
 
-#: parser/parse_clause.c:3669
+#: parser/parse_clause.c:3673
 #, c-format
 msgid "Cast the offset value to an appropriate type."
 msgstr "Wandeln Sie den Offset-Wert in einen passenden Typ um."
 
-#: parser/parse_clause.c:3674
+#: parser/parse_clause.c:3678
 #, c-format
 msgid "RANGE with offset PRECEDING/FOLLOWING has multiple interpretations for column type %s and offset type %s"
 msgstr "RANGE mit Offset PRECEDING/FOLLOWING hat mehrere Interpretationen für Spaltentyp %s und Offset-Typ %s"
 
-#: parser/parse_clause.c:3677
+#: parser/parse_clause.c:3681
 #, c-format
 msgid "Cast the offset value to the exact intended type."
 msgstr "Wandeln Sie den Offset-Wert in den genauen beabsichtigten Typ um."
 
-#: parser/parse_coerce.c:1034 parser/parse_coerce.c:1072
-#: parser/parse_coerce.c:1090 parser/parse_coerce.c:1105
-#: parser/parse_expr.c:2055 parser/parse_expr.c:2649 parser/parse_target.c:995
+#: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088
+#: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121
+#: parser/parse_expr.c:2119 parser/parse_expr.c:2713 parser/parse_expr.c:3370
+#: parser/parse_expr.c:3603 parser/parse_expr.c:4439 parser/parse_target.c:994
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "kann Typ %s nicht in Typ %s umwandeln"
 
-#: parser/parse_coerce.c:1075
+#: parser/parse_coerce.c:1091
 #, c-format
 msgid "Input has too few columns."
 msgstr "Eingabe hat zu wenige Spalten."
 
-#: parser/parse_coerce.c:1093
+#: parser/parse_coerce.c:1109
 #, c-format
 msgid "Cannot cast type %s to %s in column %d."
 msgstr "Kann in Spalte %3$d Typ %1$s nicht in Typ %2$s umwandeln."
 
-#: parser/parse_coerce.c:1108
+#: parser/parse_coerce.c:1124
 #, c-format
 msgid "Input has too many columns."
 msgstr "Eingabe hat zu viele Spalten."
 
 #. translator: first %s is name of a SQL construct, eg WHERE
 #. translator: first %s is name of a SQL construct, eg LIMIT
-#: parser/parse_coerce.c:1163 parser/parse_coerce.c:1211
+#: parser/parse_coerce.c:1179 parser/parse_coerce.c:1227
 #, c-format
 msgid "argument of %s must be type %s, not type %s"
 msgstr "Argument von %s muss Typ %s haben, nicht Typ %s"
 
 #. translator: %s is name of a SQL construct, eg WHERE
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_coerce.c:1174 parser/parse_coerce.c:1223
+#: parser/parse_coerce.c:1190 parser/parse_coerce.c:1239
 #, c-format
 msgid "argument of %s must not return a set"
 msgstr "Argument von %s darf keine Ergebnismenge zurückgeben"
 
 #. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:1363
+#: parser/parse_coerce.c:1383
 #, c-format
 msgid "%s types %s and %s cannot be matched"
 msgstr "%s-Typen %s und %s passen nicht zusammen"
 
-#: parser/parse_coerce.c:1475
+#: parser/parse_coerce.c:1499
 #, c-format
 msgid "argument types %s and %s cannot be matched"
 msgstr "Argumenttypen %s und %s passen nicht zusammen"
 
 #. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:1527
+#: parser/parse_coerce.c:1551
 #, c-format
 msgid "%s could not convert type %s to %s"
 msgstr "%s konnte Typ %s nicht in %s umwandeln"
 
-#: parser/parse_coerce.c:2089 parser/parse_coerce.c:2109
-#: parser/parse_coerce.c:2129 parser/parse_coerce.c:2149
-#: parser/parse_coerce.c:2204 parser/parse_coerce.c:2237
+#: parser/parse_coerce.c:2154 parser/parse_coerce.c:2174
+#: parser/parse_coerce.c:2194 parser/parse_coerce.c:2215
+#: parser/parse_coerce.c:2270 parser/parse_coerce.c:2304
 #, c-format
 msgid "arguments declared \"%s\" are not all alike"
 msgstr "als »%s« deklarierte Argumente sind nicht alle gleich"
 
-#: parser/parse_coerce.c:2183 parser/parse_coerce.c:2297
-#: utils/fmgr/funcapi.c:489
+#: parser/parse_coerce.c:2249 parser/parse_coerce.c:2362
+#: utils/fmgr/funcapi.c:558
 #, c-format
 msgid "argument declared %s is not an array but type %s"
 msgstr "als %s deklariertes Argument ist kein Array sondern Typ %s"
 
-#: parser/parse_coerce.c:2216 parser/parse_coerce.c:2329
-#: utils/fmgr/funcapi.c:503
+#: parser/parse_coerce.c:2282 parser/parse_coerce.c:2432
+#: utils/fmgr/funcapi.c:572
 #, c-format
 msgid "argument declared %s is not a range type but type %s"
 msgstr "als %s deklariertes Argument ist kein Bereichstyp sondern Typ %s"
 
-#: parser/parse_coerce.c:2250 parser/parse_coerce.c:2363
-#: utils/fmgr/funcapi.c:521 utils/fmgr/funcapi.c:586
+#: parser/parse_coerce.c:2316 parser/parse_coerce.c:2396
+#: parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:590 utils/fmgr/funcapi.c:655
 #, c-format
 msgid "argument declared %s is not a multirange type but type %s"
 msgstr "als %s deklariertes Argument ist kein Multirange-Typ sondern Typ %s"
 
-#: parser/parse_coerce.c:2288
+#: parser/parse_coerce.c:2353
 #, c-format
 msgid "cannot determine element type of \"anyarray\" argument"
 msgstr "kann Elementtyp des Arguments mit Typ »anyarray« nicht bestimmen"
 
-#: parser/parse_coerce.c:2314 parser/parse_coerce.c:2346
-#: parser/parse_coerce.c:2380 parser/parse_coerce.c:2400
+#: parser/parse_coerce.c:2379 parser/parse_coerce.c:2410
+#: parser/parse_coerce.c:2449 parser/parse_coerce.c:2515
 #, c-format
 msgid "argument declared %s is not consistent with argument declared %s"
 msgstr "als %s deklariertes Argument ist nicht mit als %s deklariertem Argument konsistent"
 
-#: parser/parse_coerce.c:2427
+#: parser/parse_coerce.c:2474
 #, c-format
 msgid "could not determine polymorphic type because input has type %s"
 msgstr "konnte polymorphischen Typ nicht bestimmen, weil Eingabe Typ %s hat"
 
-#: parser/parse_coerce.c:2441
+#: parser/parse_coerce.c:2488
 #, c-format
 msgid "type matched to anynonarray is an array type: %s"
 msgstr "mit »anynonarray« gepaarter Typ ist ein Array-Typ: %s"
 
-#: parser/parse_coerce.c:2451
+#: parser/parse_coerce.c:2498
 #, c-format
 msgid "type matched to anyenum is not an enum type: %s"
 msgstr "mit »anyenum« gepaarter Typ ist kein Enum-Typ: %s"
 
-#: parser/parse_coerce.c:2482 parser/parse_coerce.c:2532
-#: parser/parse_coerce.c:2596 parser/parse_coerce.c:2643
+#: parser/parse_coerce.c:2559
+#, c-format
+msgid "arguments of anycompatible family cannot be cast to a common type"
+msgstr "Argumente der anycompatible-Familie können nicht in einen gemeinsamen Typ umgewandelt werden"
+
+#: parser/parse_coerce.c:2577 parser/parse_coerce.c:2598
+#: parser/parse_coerce.c:2648 parser/parse_coerce.c:2653
+#: parser/parse_coerce.c:2717 parser/parse_coerce.c:2729
 #, c-format
 msgid "could not determine polymorphic type %s because input has type %s"
 msgstr "konnte polymorphischen Typ %s nicht bestimmen, weil Eingabe Typ %s hat"
 
-#: parser/parse_coerce.c:2492
+#: parser/parse_coerce.c:2587
 #, c-format
 msgid "anycompatiblerange type %s does not match anycompatible type %s"
 msgstr "anycompatiblerange-Typ %s stimmt nicht mit anycompatible-Typ %s überein"
 
-#: parser/parse_coerce.c:2506
+#: parser/parse_coerce.c:2608
+#, c-format
+msgid "anycompatiblemultirange type %s does not match anycompatible type %s"
+msgstr "anycompatiblemultirange-Typ %s stimmt nicht mit anycompatible-Typ %s überein"
+
+#: parser/parse_coerce.c:2622
 #, c-format
 msgid "type matched to anycompatiblenonarray is an array type: %s"
 msgstr "mit »anycompatiblenonarray« gepaarter Typ ist ein Array-Typ: %s"
 
-#: parser/parse_coerce.c:2607 parser/parse_coerce.c:2658
-#: utils/fmgr/funcapi.c:614
+#: parser/parse_coerce.c:2857
 #, c-format
-msgid "could not find multirange type for data type %s"
-msgstr "konnte Multirange-Typ für Datentyp %s nicht finden"
-
-#: parser/parse_coerce.c:2739
-#, fuzzy, c-format
-#| msgid "A result of type %s requires at least one input of type %s."
 msgid "A result of type %s requires at least one input of type anyrange or anymultirange."
-msgstr "Ein Ergebnis mit Typ %s benötigt mindestens eine Eingabe mit Typ %s."
+msgstr "Ein Ergebnis mit Typ %s benötigt mindestens eine Eingabe mit Typ anyrange oder anymultirange."
 
-#: parser/parse_coerce.c:2756
-#, fuzzy, c-format
-#| msgid "A result of type %s requires at least one input of type anycompatible, anycompatiblearray, anycompatiblenonarray, or anycompatiblerange."
+#: parser/parse_coerce.c:2874
+#, c-format
 msgid "A result of type %s requires at least one input of type anycompatiblerange or anycompatiblemultirange."
-msgstr "Ein Ergebnis mit Typ %s benötigt mindestens eine Eingabe mit Typ anycompatible, anycompatiblearray, anycompatiblenonarray oder anycompatiblerange."
+msgstr "Ein Ergebnis mit Typ %s benötigt mindestens eine Eingabe mit Typ anycompatiblerange oder anycompatiblemultirange."
 
-#: parser/parse_coerce.c:2768
-#, fuzzy, c-format
-#| msgid "A result of type %s requires at least one input of type anyelement, anyarray, anynonarray, anyenum, or anyrange."
+#: parser/parse_coerce.c:2886
+#, c-format
 msgid "A result of type %s requires at least one input of type anyelement, anyarray, anynonarray, anyenum, anyrange, or anymultirange."
-msgstr "Ein Ergebnis mit Typ %s benötigt mindestens eine Eingabe mit Typ anyelement, anyarray, anynonarray, anyenum oder anyrange."
+msgstr "Ein Ergebnis mit Typ %s benötigt mindestens eine Eingabe mit Typ anyelement, anyarray, anynonarray, anyenum, anyrange oder anymultirange."
 
-#: parser/parse_coerce.c:2780
+#: parser/parse_coerce.c:2898
 #, c-format
-msgid "A result of type %s requires at least one input of type anycompatible, anycompatiblearray, anycompatiblenonarray, or anycompatiblerange."
-msgstr "Ein Ergebnis mit Typ %s benötigt mindestens eine Eingabe mit Typ anycompatible, anycompatiblearray, anycompatiblenonarray oder anycompatiblerange."
+msgid "A result of type %s requires at least one input of type anycompatible, anycompatiblearray, anycompatiblenonarray, anycompatiblerange, or anycompatiblemultirange."
+msgstr "Ein Ergebnis mit Typ %s benötigt mindestens eine Eingabe mit Typ anycompatible, anycompatiblearray, anycompatiblenonarray, anycompatiblerange oder anycompatiblemultirange."
 
-#: parser/parse_coerce.c:2810
+#: parser/parse_coerce.c:2928
 msgid "A result of type internal requires at least one input of type internal."
 msgstr "Ein Ergebnis mit Typ internal benötigt mindestens eine Eingabe mit Typ internal."
 
 #: parser/parse_collate.c:228 parser/parse_collate.c:475
-#: parser/parse_collate.c:1004
+#: parser/parse_collate.c:1012
 #, c-format
 msgid "collation mismatch between implicit collations \"%s\" and \"%s\""
 msgstr "implizite Sortierfolgen »%s« und »%s« stimmen nicht überein"
 
 #: parser/parse_collate.c:231 parser/parse_collate.c:478
-#: parser/parse_collate.c:1007
+#: parser/parse_collate.c:1015
 #, c-format
 msgid "You can choose the collation by applying the COLLATE clause to one or both expressions."
 msgstr "Sie können die Sortierfolge auswählen, indem Sie die COLLATE-Klausel auf einen oder beide Ausdrücke anwenden."
 
-#: parser/parse_collate.c:854
+#: parser/parse_collate.c:862
 #, c-format
 msgid "collation mismatch between explicit collations \"%s\" and \"%s\""
 msgstr "explizite Sortierfolgen »%s« und »%s« stimmen nicht überein"
@@ -16418,574 +17129,788 @@ msgstr "FOR UPDATE/SHARE in einer rekursiven Anfrage ist nicht implementiert"
 msgid "recursive reference to query \"%s\" must not appear more than once"
 msgstr "rekursiver Verweis auf Anfrage »%s« darf nicht mehrmals erscheinen"
 
-#: parser/parse_expr.c:287
+#: parser/parse_expr.c:300
 #, c-format
 msgid "DEFAULT is not allowed in this context"
 msgstr "DEFAULT ist in diesem Zusammenhang nicht erlaubt"
 
-#: parser/parse_expr.c:340 parser/parse_relation.c:3592
-#: parser/parse_relation.c:3612
+#: parser/parse_expr.c:397 parser/parse_relation.c:3608
+#: parser/parse_relation.c:3628
 #, c-format
 msgid "column %s.%s does not exist"
 msgstr "Spalte %s.%s existiert nicht"
 
-#: parser/parse_expr.c:352
+#: parser/parse_expr.c:409
 #, c-format
 msgid "column \"%s\" not found in data type %s"
 msgstr "Spalte »%s« nicht gefunden im Datentyp %s"
 
-#: parser/parse_expr.c:358
+#: parser/parse_expr.c:415
 #, c-format
 msgid "could not identify column \"%s\" in record data type"
 msgstr "konnte Spalte »%s« im Record-Datentyp nicht identifizieren"
 
-#: parser/parse_expr.c:364
+#: parser/parse_expr.c:421
 #, c-format
 msgid "column notation .%s applied to type %s, which is not a composite type"
 msgstr "Spaltenschreibweise .%s mit Typ %s verwendet, der kein zusammengesetzter Typ ist"
 
-#: parser/parse_expr.c:395 parser/parse_target.c:740
+#: parser/parse_expr.c:452 parser/parse_target.c:739
 #, c-format
 msgid "row expansion via \"*\" is not supported here"
 msgstr "Zeilenexpansion mit »*« wird hier nicht unterstützt"
 
-#: parser/parse_expr.c:516
+#: parser/parse_expr.c:574
 msgid "cannot use column reference in DEFAULT expression"
 msgstr "Spaltenverweise können nicht in DEFAULT-Ausdrücken verwendet werden"
 
-#: parser/parse_expr.c:519
+#: parser/parse_expr.c:577
 msgid "cannot use column reference in partition bound expression"
 msgstr "Spaltenverweise können nicht in Partitionsbegrenzungsausdrücken verwendet werden"
 
-#: parser/parse_expr.c:788 parser/parse_relation.c:807
-#: parser/parse_relation.c:889 parser/parse_target.c:1235
+#: parser/parse_expr.c:846 parser/parse_relation.c:818
+#: parser/parse_relation.c:900 parser/parse_target.c:1234
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "Spaltenverweis »%s« ist nicht eindeutig"
 
-#: parser/parse_expr.c:844 parser/parse_param.c:110 parser/parse_param.c:142
+#: parser/parse_expr.c:902 parser/parse_param.c:110 parser/parse_param.c:142
 #: parser/parse_param.c:208 parser/parse_param.c:307
 #, c-format
 msgid "there is no parameter $%d"
 msgstr "es gibt keinen Parameter $%d"
 
-#: parser/parse_expr.c:1044
+#: parser/parse_expr.c:1102
 #, c-format
 msgid "NULLIF requires = operator to yield boolean"
 msgstr "NULLIF erfordert, dass Operator = boolean ergibt"
 
 #. translator: %s is name of a SQL construct, eg NULLIF
-#: parser/parse_expr.c:1050 parser/parse_expr.c:2965
+#: parser/parse_expr.c:1108 parser/parse_expr.c:3029
 #, c-format
 msgid "%s must not return a set"
 msgstr "%s darf keine Ergebnismenge zurückgeben"
 
-#: parser/parse_expr.c:1430 parser/parse_expr.c:1462
+#: parser/parse_expr.c:1493 parser/parse_expr.c:1525
 #, c-format
 msgid "number of columns does not match number of values"
 msgstr "Anzahl der Spalten stimmt nicht mit der Anzahl der Werte überein"
 
-#: parser/parse_expr.c:1476
+#: parser/parse_expr.c:1539
 #, c-format
 msgid "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression"
 msgstr "die Quelle für ein UPDATE-Element mit mehreren Spalten muss ein Sub-SELECT oder ein ROW()-Ausdruck sein"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_expr.c:1671 parser/parse_expr.c:2144 parser/parse_func.c:2560
+#: parser/parse_expr.c:1734 parser/parse_expr.c:2208 parser/parse_func.c:2679
 #, c-format
 msgid "set-returning functions are not allowed in %s"
 msgstr "Funktionen mit Ergebnismenge sind in %s nicht erlaubt"
 
-#: parser/parse_expr.c:1733
+#: parser/parse_expr.c:1797
 msgid "cannot use subquery in check constraint"
 msgstr "Unteranfragen können nicht in Check-Constraints verwendet werden"
 
-#: parser/parse_expr.c:1737
+#: parser/parse_expr.c:1801
 msgid "cannot use subquery in DEFAULT expression"
 msgstr "Unteranfragen können nicht in DEFAULT-Ausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1740
+#: parser/parse_expr.c:1804
 msgid "cannot use subquery in index expression"
 msgstr "Unteranfragen können nicht in Indexausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1743
+#: parser/parse_expr.c:1807
 msgid "cannot use subquery in index predicate"
 msgstr "Unteranfragen können nicht im Indexprädikat verwendet werden"
 
-#: parser/parse_expr.c:1746
+#: parser/parse_expr.c:1810
 msgid "cannot use subquery in statistics expression"
 msgstr "Unteranfragen können nicht in Statistikausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1749
+#: parser/parse_expr.c:1813
 msgid "cannot use subquery in transform expression"
 msgstr "Unteranfragen können in Umwandlungsausdrücken nicht verwendet werden"
 
-#: parser/parse_expr.c:1752
+#: parser/parse_expr.c:1816
 msgid "cannot use subquery in EXECUTE parameter"
 msgstr "Unteranfragen können nicht in EXECUTE-Parameter verwendet werden"
 
-#: parser/parse_expr.c:1755
+#: parser/parse_expr.c:1819
 msgid "cannot use subquery in trigger WHEN condition"
 msgstr "Unteranfragen können nicht in der WHEN-Bedingung eines Triggers verwendet werden"
 
-#: parser/parse_expr.c:1758
+#: parser/parse_expr.c:1822
 msgid "cannot use subquery in partition bound"
 msgstr "Unteranfragen können nicht in Partitionsbegrenzungen verwendet werden"
 
-#: parser/parse_expr.c:1761
+#: parser/parse_expr.c:1825
 msgid "cannot use subquery in partition key expression"
 msgstr "Unteranfragen können nicht in Partitionierungsschlüsselausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1764
+#: parser/parse_expr.c:1828
 msgid "cannot use subquery in CALL argument"
 msgstr "Unteranfragen können nicht in CALL-Argument verwendet werden"
 
-#: parser/parse_expr.c:1767
+#: parser/parse_expr.c:1831
 msgid "cannot use subquery in COPY FROM WHERE condition"
 msgstr "Unteranfragen können nicht in COPY-FROM-WHERE-Bedingungen verwendet werden"
 
-#: parser/parse_expr.c:1770
+#: parser/parse_expr.c:1834
 msgid "cannot use subquery in column generation expression"
 msgstr "Unteranfragen können nicht in Spaltengenerierungsausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1823
+#: parser/parse_expr.c:1887 parser/parse_expr.c:3716
 #, c-format
 msgid "subquery must return only one column"
 msgstr "Unteranfrage darf nur eine Spalte zurückgeben"
 
-#: parser/parse_expr.c:1894
+#: parser/parse_expr.c:1958
 #, c-format
 msgid "subquery has too many columns"
 msgstr "Unteranfrage hat zu viele Spalten"
 
-#: parser/parse_expr.c:1899
+#: parser/parse_expr.c:1963
 #, c-format
 msgid "subquery has too few columns"
 msgstr "Unteranfrage hat zu wenige Spalten"
 
-#: parser/parse_expr.c:1995
+#: parser/parse_expr.c:2059
 #, c-format
 msgid "cannot determine type of empty array"
 msgstr "kann Typ eines leeren Arrays nicht bestimmen"
 
-#: parser/parse_expr.c:1996
+#: parser/parse_expr.c:2060
 #, c-format
 msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]."
 msgstr "Wandeln Sie ausdrücklich in den gewünschten Typ um, zum Beispiel ARRAY[]::integer[]."
 
-#: parser/parse_expr.c:2010
+#: parser/parse_expr.c:2074
 #, c-format
 msgid "could not find element type for data type %s"
 msgstr "konnte Elementtyp für Datentyp %s nicht finden"
 
-#: parser/parse_expr.c:2290
+#: parser/parse_expr.c:2354
 #, c-format
 msgid "unnamed XML attribute value must be a column reference"
 msgstr "unbenannter XML-Attributwert muss ein Spaltenverweis sein"
 
-#: parser/parse_expr.c:2291
+#: parser/parse_expr.c:2355
 #, c-format
 msgid "unnamed XML element value must be a column reference"
 msgstr "unbenannter XML-Elementwert muss ein Spaltenverweis sein"
 
-#: parser/parse_expr.c:2306
+#: parser/parse_expr.c:2370
 #, c-format
 msgid "XML attribute name \"%s\" appears more than once"
 msgstr "XML-Attributname »%s« einscheint mehrmals"
 
-#: parser/parse_expr.c:2413
+#: parser/parse_expr.c:2477
 #, c-format
 msgid "cannot cast XMLSERIALIZE result to %s"
 msgstr "kann das Ergebnis von XMLSERIALIZE nicht in Typ %s umwandeln"
 
-#: parser/parse_expr.c:2722 parser/parse_expr.c:2918
+#: parser/parse_expr.c:2786 parser/parse_expr.c:2982
 #, c-format
 msgid "unequal number of entries in row expressions"
 msgstr "ungleiche Anzahl Einträge in Zeilenausdrücken"
 
-#: parser/parse_expr.c:2732
+#: parser/parse_expr.c:2796
 #, c-format
 msgid "cannot compare rows of zero length"
 msgstr "kann Zeilen mit Länge null nicht vergleichen"
 
-#: parser/parse_expr.c:2757
+#: parser/parse_expr.c:2821
 #, c-format
 msgid "row comparison operator must yield type boolean, not type %s"
 msgstr "Zeilenvergleichsoperator muss Typ boolean zurückgeben, nicht Typ %s"
 
-#: parser/parse_expr.c:2764
+#: parser/parse_expr.c:2828
 #, c-format
 msgid "row comparison operator must not return a set"
 msgstr "Zeilenvergleichsoperator darf keine Ergebnismenge zurückgeben"
 
-#: parser/parse_expr.c:2823 parser/parse_expr.c:2864
+#: parser/parse_expr.c:2887 parser/parse_expr.c:2928
 #, c-format
 msgid "could not determine interpretation of row comparison operator %s"
 msgstr "konnte Interpretation des Zeilenvergleichsoperators %s nicht bestimmen"
 
-#: parser/parse_expr.c:2825
+#: parser/parse_expr.c:2889
 #, c-format
 msgid "Row comparison operators must be associated with btree operator families."
 msgstr "Zeilenvergleichsoperatoren müssen einer »btree«-Operatorfamilie zugeordnet sein."
 
-#: parser/parse_expr.c:2866
+#: parser/parse_expr.c:2930
 #, c-format
 msgid "There are multiple equally-plausible candidates."
 msgstr "Es gibt mehrere gleichermaßen plausible Kandidaten."
 
-#: parser/parse_expr.c:2959
+#: parser/parse_expr.c:3023
 #, c-format
 msgid "IS DISTINCT FROM requires = operator to yield boolean"
 msgstr "IS DISTINCT FROM erfordert, dass Operator = boolean ergibt"
 
-#: parser/parse_func.c:192
+#: parser/parse_expr.c:3275
+#, c-format
+msgid "JSON ENCODING clause is only allowed for bytea input type"
+msgstr ""
+
+#: parser/parse_expr.c:3282
+#, c-format
+msgid "FORMAT JSON has no effect for json and jsonb types"
+msgstr ""
+
+#: parser/parse_expr.c:3337
+#, c-format
+msgid "cannot use non-string types with implicit FORMAT JSON clause"
+msgstr ""
+
+#: parser/parse_expr.c:3441
+#, fuzzy, c-format
+#| msgid "cannot cast jsonb string to type %s"
+msgid "cannot use JSON format with non-string output types"
+msgstr "kann jsonb-Zeichenkette nicht in Typ %s umwandeln"
+
+#: parser/parse_expr.c:3454
+#, c-format
+msgid "cannot set JSON encoding for non-bytea output types"
+msgstr ""
+
+#: parser/parse_expr.c:3459
+#, fuzzy, c-format
+#| msgid "unsupported format code: %d"
+msgid "unsupported JSON encoding"
+msgstr "nicht unterstützter Formatcode: %d"
+
+#: parser/parse_expr.c:3460
+#, c-format
+msgid "only UTF8 JSON encoding is supported"
+msgstr ""
+
+#: parser/parse_expr.c:3497
+#, fuzzy, c-format
+#| msgid "return type %s is not supported for SQL functions"
+msgid "returning SETOF types is not supported in SQL/JSON functions"
+msgstr "Rückgabetyp %s wird von SQL-Funktionen nicht unterstützt"
+
+#: parser/parse_expr.c:3797 parser/parse_func.c:864
+#, c-format
+msgid "aggregate ORDER BY is not implemented for window functions"
+msgstr "ORDER BY in Aggregatfunktion ist für Fensterfunktionen nicht implementiert"
+
+#: parser/parse_expr.c:4014
+#, c-format
+msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types"
+msgstr ""
+
+#: parser/parse_expr.c:4034
+#, fuzzy, c-format
+#| msgid "cannot use subquery in index predicate"
+msgid "cannot use type %s in IS JSON predicate"
+msgstr "Unteranfragen können nicht im Indexprädikat verwendet werden"
+
+#: parser/parse_expr.c:4100
+#, fuzzy, c-format
+#| msgid "SELECT ... INTO is not allowed here"
+msgid "JSON_TABLE path name is not allowed here"
+msgstr "SELECT ... INTO ist hier nicht erlaubt"
+
+#: parser/parse_expr.c:4127
+#, fuzzy, c-format
+#| msgid "argument of %s must be type %s, not type %s"
+msgid "JSON path expression must be type %s, not type %s"
+msgstr "Argument von %s muss Typ %s haben, nicht Typ %s"
+
+#: parser/parse_expr.c:4289
+#, fuzzy, c-format
+#| msgid "cannot cast type %s to %s"
+msgid "cannot cast DEFAULT expression type %s to %s"
+msgstr "kann Typ %s nicht in Typ %s umwandeln"
+
+#: parser/parse_expr.c:4458
+#, fuzzy, c-format
+#| msgid "policies not yet implemented for this command"
+msgid "JSON_TABLE() is not yet implemented for the json type"
+msgstr "Policys sind für diesen Befehl noch nicht implementiert"
+
+#: parser/parse_expr.c:4459 parser/parse_expr.c:4469
+#, fuzzy, c-format
+#| msgid "query string argument of EXECUTE is null"
+msgid "Try casting the argument to jsonb"
+msgstr "Anfrageargument von EXECUTE ist NULL"
+
+#: parser/parse_expr.c:4468
+#, fuzzy, c-format
+#| msgid "policies not yet implemented for this command"
+msgid "%s() is not yet implemented for the json type"
+msgstr "Policys sind für diesen Befehl noch nicht implementiert"
+
+#: parser/parse_expr.c:4489
+#, fuzzy, c-format
+#| msgid "cannot cast type %s to %s"
+msgid "cannot use RETURNING type %s in %s"
+msgstr "kann Typ %s nicht in Typ %s umwandeln"
+
+#: parser/parse_expr.c:4532
+#, c-format
+msgid "cannot use non-string types with WITH UNIQUE KEYS clause"
+msgstr ""
+
+#: parser/parse_func.c:194
 #, c-format
 msgid "argument name \"%s\" used more than once"
 msgstr "Argumentname »%s« mehrmals angegeben"
 
-#: parser/parse_func.c:203
+#: parser/parse_func.c:205
 #, c-format
 msgid "positional argument cannot follow named argument"
 msgstr "Positionsargument kann nicht hinter benanntem Argument stehen"
 
-#: parser/parse_func.c:286 parser/parse_func.c:2257
+#: parser/parse_func.c:287 parser/parse_func.c:2369
 #, c-format
 msgid "%s is not a procedure"
 msgstr "%s ist keine Prozedur"
 
-#: parser/parse_func.c:290
+#: parser/parse_func.c:291
 #, c-format
 msgid "To call a function, use SELECT."
 msgstr "Um eine Funktion aufzurufen, verwenden Sie SELECT."
 
-#: parser/parse_func.c:296
+#: parser/parse_func.c:297
 #, c-format
 msgid "%s is a procedure"
 msgstr "%s ist eine Prozedur"
 
-#: parser/parse_func.c:300
+#: parser/parse_func.c:301
 #, c-format
 msgid "To call a procedure, use CALL."
 msgstr "Um eine Prozedur aufzurufen, verwenden Sie CALL."
 
-#: parser/parse_func.c:314
+#: parser/parse_func.c:315
 #, c-format
 msgid "%s(*) specified, but %s is not an aggregate function"
 msgstr "%s(*) angegeben, aber %s ist keine Aggregatfunktion"
 
-#: parser/parse_func.c:321
+#: parser/parse_func.c:322
 #, c-format
 msgid "DISTINCT specified, but %s is not an aggregate function"
 msgstr "DISTINCT wurde angegeben, aber %s ist keine Aggregatfunktion"
 
-#: parser/parse_func.c:327
+#: parser/parse_func.c:328
 #, c-format
 msgid "WITHIN GROUP specified, but %s is not an aggregate function"
 msgstr "WITHIN GROUP wurde angegeben, aber %s ist keine Aggregatfunktion"
 
-#: parser/parse_func.c:333
+#: parser/parse_func.c:334
 #, c-format
 msgid "ORDER BY specified, but %s is not an aggregate function"
 msgstr "ORDER BY angegeben, aber %s ist keine Aggregatfunktion"
 
-#: parser/parse_func.c:339
+#: parser/parse_func.c:340
 #, c-format
 msgid "FILTER specified, but %s is not an aggregate function"
 msgstr "FILTER wurde angegeben, aber %s ist keine Aggregatfunktion"
 
-#: parser/parse_func.c:345
+#: parser/parse_func.c:346
 #, c-format
 msgid "OVER specified, but %s is not a window function nor an aggregate function"
 msgstr "OVER angegeben, aber %s ist keine Fensterfunktion oder Aggregatfunktion"
 
-#: parser/parse_func.c:383
+#: parser/parse_func.c:384
 #, c-format
 msgid "WITHIN GROUP is required for ordered-set aggregate %s"
 msgstr "WITHIN GROUP muss angegeben werden für Ordered-Set-Aggregatfunktion %s"
 
-#: parser/parse_func.c:389
+#: parser/parse_func.c:390
 #, c-format
 msgid "OVER is not supported for ordered-set aggregate %s"
 msgstr "OVER wird für Ordered-Set-Aggregatfunktion %s nicht unterstützt"
 
-#: parser/parse_func.c:420 parser/parse_func.c:451
+#: parser/parse_func.c:421 parser/parse_func.c:452
 #, c-format
 msgid "There is an ordered-set aggregate %s, but it requires %d direct argument, not %d."
 msgid_plural "There is an ordered-set aggregate %s, but it requires %d direct arguments, not %d."
 msgstr[0] "Es gibt eine Ordered-Set-Aggregatfunktion %s, aber sie benötigt %d direktes Argument, nicht %d."
 msgstr[1] "Es gibt eine Ordered-Set-Aggregatfunktion %s, aber sie benötigt %d direkte Argumente, nicht %d."
 
-#: parser/parse_func.c:478
+#: parser/parse_func.c:479
 #, c-format
 msgid "To use the hypothetical-set aggregate %s, the number of hypothetical direct arguments (here %d) must match the number of ordering columns (here %d)."
 msgstr "Um die Hypothetical-Set-Aggregatfunktion %s zu verwenden, muss die Anzahl der hypothetischen direkten Argumente (hier %d) mit der Anzahl der Sortierspalten (hier %d) übereinstimmen."
 
-#: parser/parse_func.c:492
+#: parser/parse_func.c:493
 #, c-format
 msgid "There is an ordered-set aggregate %s, but it requires at least %d direct argument."
 msgid_plural "There is an ordered-set aggregate %s, but it requires at least %d direct arguments."
 msgstr[0] "Es gibt eine Ordered-Set-Aggregatfunktion %s, aber sie benötigt mindestens %d direktes Argument."
 msgstr[1] "Es gibt eine Ordered-Set-Aggregatfunktion %s, aber sie benötigt mindestens %d direkte Argumente."
 
-#: parser/parse_func.c:513
+#: parser/parse_func.c:514
 #, c-format
 msgid "%s is not an ordered-set aggregate, so it cannot have WITHIN GROUP"
 msgstr "%s ist keine Ordered-Set-Aggregatfunktion und kann deshalb kein WITHIN GROUP haben"
 
-#: parser/parse_func.c:526
+#: parser/parse_func.c:527
 #, c-format
 msgid "window function %s requires an OVER clause"
 msgstr "Fensterfunktion %s erfordert eine OVER-Klausel"
 
-#: parser/parse_func.c:533
+#: parser/parse_func.c:534
 #, c-format
 msgid "window function %s cannot have WITHIN GROUP"
 msgstr "Fensterfunktion %s kann kein WITHIN GROUP haben"
 
-#: parser/parse_func.c:562
+#: parser/parse_func.c:563
 #, c-format
 msgid "procedure %s is not unique"
 msgstr "Prozedur %s ist nicht eindeutig"
 
-#: parser/parse_func.c:565
+#: parser/parse_func.c:566
 #, c-format
 msgid "Could not choose a best candidate procedure. You might need to add explicit type casts."
 msgstr "Konnte keine beste Kandidatprozedur auswählen. Sie müssen möglicherweise ausdrückliche Typumwandlungen hinzufügen."
 
-#: parser/parse_func.c:571
+#: parser/parse_func.c:572
 #, c-format
 msgid "function %s is not unique"
 msgstr "Funktion %s ist nicht eindeutig"
 
-#: parser/parse_func.c:574
+#: parser/parse_func.c:575
 #, c-format
 msgid "Could not choose a best candidate function. You might need to add explicit type casts."
 msgstr "Konnte keine beste Kandidatfunktion auswählen. Sie müssen möglicherweise ausdrückliche Typumwandlungen hinzufügen."
 
-#: parser/parse_func.c:613
+#: parser/parse_func.c:614
 #, c-format
 msgid "No aggregate function matches the given name and argument types. Perhaps you misplaced ORDER BY; ORDER BY must appear after all regular arguments of the aggregate."
 msgstr "Keine Aggregatfunktion stimmt mit dem angegebenen Namen und den Argumenttypen überein. Mõglicherweise steht ORDER BY an der falschen Stelle; ORDER BY muss hinter allen normalen Argumenten der Aggregatfunktion stehen."
 
-#: parser/parse_func.c:621 parser/parse_func.c:2300
+#: parser/parse_func.c:622 parser/parse_func.c:2412
 #, c-format
 msgid "procedure %s does not exist"
 msgstr "Prozedur %s existiert nicht"
 
-#: parser/parse_func.c:624
+#: parser/parse_func.c:625
 #, c-format
 msgid "No procedure matches the given name and argument types. You might need to add explicit type casts."
 msgstr "Keine Prozedur stimmt mit dem angegebenen Namen und den Argumenttypen überein. Sie müssen möglicherweise ausdrückliche Typumwandlungen hinzufügen."
 
-#: parser/parse_func.c:633
+#: parser/parse_func.c:634
 #, c-format
 msgid "No function matches the given name and argument types. You might need to add explicit type casts."
 msgstr "Keine Funktion stimmt mit dem angegebenen Namen und den Argumenttypen überein. Sie müssen möglicherweise ausdrückliche Typumwandlungen hinzufügen."
 
-#: parser/parse_func.c:735
+#: parser/parse_func.c:736
 #, c-format
 msgid "VARIADIC argument must be an array"
 msgstr "VARIADIC-Argument muss ein Array sein"
 
-#: parser/parse_func.c:789 parser/parse_func.c:853
+#: parser/parse_func.c:790 parser/parse_func.c:854
 #, c-format
 msgid "%s(*) must be used to call a parameterless aggregate function"
 msgstr "beim Aufruf einer parameterlosen Aggregatfunktion muss %s(*) angegeben werden"
 
-#: parser/parse_func.c:796
+#: parser/parse_func.c:797
 #, c-format
 msgid "aggregates cannot return sets"
 msgstr "Aggregatfunktionen können keine Ergebnismengen zurückgeben"
 
-#: parser/parse_func.c:811
+#: parser/parse_func.c:812
 #, c-format
 msgid "aggregates cannot use named arguments"
 msgstr "Aggregatfunktionen können keine benannten Argumente verwenden"
 
-#: parser/parse_func.c:843
+#: parser/parse_func.c:844
 #, c-format
 msgid "DISTINCT is not implemented for window functions"
 msgstr "DISTINCT ist für Fensterfunktionen nicht implementiert"
 
-#: parser/parse_func.c:863
-#, c-format
-msgid "aggregate ORDER BY is not implemented for window functions"
-msgstr "ORDER BY in Aggregatfunktion ist für Fensterfunktionen nicht implementiert"
-
-#: parser/parse_func.c:872
+#: parser/parse_func.c:873
 #, c-format
 msgid "FILTER is not implemented for non-aggregate window functions"
 msgstr "FILTER ist für Fensterfunktionen, die keine Aggregatfunktionen sind, nicht implementiert"
 
-#: parser/parse_func.c:881
+#: parser/parse_func.c:882
 #, c-format
 msgid "window function calls cannot contain set-returning function calls"
 msgstr "Aufrufe von Fensterfunktionen können keine Aufrufe von Funktionen mit Ergebnismenge enthalten"
 
-#: parser/parse_func.c:889
+#: parser/parse_func.c:890
 #, c-format
 msgid "window functions cannot return sets"
 msgstr "Fensterfunktionen können keine Ergebnismengen zurückgeben"
 
-#: parser/parse_func.c:2138 parser/parse_func.c:2329
+#: parser/parse_func.c:2168 parser/parse_func.c:2441
 #, c-format
 msgid "could not find a function named \"%s\""
 msgstr "konnte keine Funktion namens »%s« finden"
 
-#: parser/parse_func.c:2152 parser/parse_func.c:2347
+#: parser/parse_func.c:2182 parser/parse_func.c:2459
 #, c-format
 msgid "function name \"%s\" is not unique"
 msgstr "Funktionsname »%s« ist nicht eindeutig"
 
-#: parser/parse_func.c:2154 parser/parse_func.c:2349
+#: parser/parse_func.c:2184 parser/parse_func.c:2462
 #, c-format
 msgid "Specify the argument list to select the function unambiguously."
 msgstr "Geben Sie eine Argumentliste an, um die Funktion eindeutig auszuwählen."
 
-#: parser/parse_func.c:2198
+#: parser/parse_func.c:2228
 #, c-format
 msgid "procedures cannot have more than %d argument"
 msgid_plural "procedures cannot have more than %d arguments"
 msgstr[0] "Prozeduren können nicht mehr als %d Argument haben"
 msgstr[1] "Prozeduren können nicht mehr als %d Argumente haben"
 
-#: parser/parse_func.c:2247
+#: parser/parse_func.c:2359
 #, c-format
 msgid "%s is not a function"
 msgstr "%s ist keine Funktion"
 
-#: parser/parse_func.c:2267
+#: parser/parse_func.c:2379
 #, c-format
 msgid "function %s is not an aggregate"
 msgstr "Funktion %s ist keine Aggregatfunktion"
 
-#: parser/parse_func.c:2295
+#: parser/parse_func.c:2407
 #, c-format
 msgid "could not find a procedure named \"%s\""
 msgstr "konnte keine Prozedur namens »%s« finden"
 
-#: parser/parse_func.c:2309
+#: parser/parse_func.c:2421
 #, c-format
 msgid "could not find an aggregate named \"%s\""
 msgstr "konnte keine Aggregatfunktion namens »%s« finden"
 
-#: parser/parse_func.c:2314
+#: parser/parse_func.c:2426
 #, c-format
 msgid "aggregate %s(*) does not exist"
 msgstr "Aggregatfunktion %s(*) existiert nicht"
 
-#: parser/parse_func.c:2319
+#: parser/parse_func.c:2431
 #, c-format
 msgid "aggregate %s does not exist"
 msgstr "Aggregatfunktion %s existiert nicht"
 
-#: parser/parse_func.c:2354
+#: parser/parse_func.c:2467
 #, c-format
 msgid "procedure name \"%s\" is not unique"
 msgstr "Prozedurname »%s« ist nicht eindeutig"
 
-#: parser/parse_func.c:2356
+#: parser/parse_func.c:2470
 #, c-format
 msgid "Specify the argument list to select the procedure unambiguously."
 msgstr "Geben Sie eine Argumentliste an, um die Prozedur eindeutig auszuwählen."
 
-#: parser/parse_func.c:2361
+#: parser/parse_func.c:2475
 #, c-format
 msgid "aggregate name \"%s\" is not unique"
 msgstr "Aggregatfunktionsname »%s« ist nicht eindeutig"
 
-#: parser/parse_func.c:2363
+#: parser/parse_func.c:2478
 #, c-format
 msgid "Specify the argument list to select the aggregate unambiguously."
 msgstr "Geben Sie eine Argumentliste an, um die Aggregatfunktion eindeutig auszuwählen."
 
-#: parser/parse_func.c:2368
+#: parser/parse_func.c:2483
 #, c-format
 msgid "routine name \"%s\" is not unique"
 msgstr "Routinenname »%s« ist nicht eindeutig"
 
-#: parser/parse_func.c:2370
+#: parser/parse_func.c:2486
 #, c-format
 msgid "Specify the argument list to select the routine unambiguously."
 msgstr "Geben Sie eine Argumentliste an, um die Routine eindeutig auszuwählen."
 
-#: parser/parse_func.c:2425
+#: parser/parse_func.c:2541
 msgid "set-returning functions are not allowed in JOIN conditions"
 msgstr "Funktionen mit Ergebnismenge sind in JOIN-Bedingungen nicht erlaubt"
 
-#: parser/parse_func.c:2446
+#: parser/parse_func.c:2562
 msgid "set-returning functions are not allowed in policy expressions"
 msgstr "Funktionen mit Ergebnismenge sind in Policy-Ausdrücken nicht erlaubt"
 
-#: parser/parse_func.c:2462
+#: parser/parse_func.c:2578
 msgid "set-returning functions are not allowed in window definitions"
 msgstr "Funktionen mit Ergebnismenge sind in Fensterdefinitionen nicht erlaubt"
 
-#: parser/parse_func.c:2500
+#: parser/parse_func.c:2615
+#, fuzzy
+#| msgid "set-returning functions are not allowed in trigger WHEN conditions"
+msgid "set-returning functions are not allowed in MERGE WHEN conditions"
+msgstr "Funktionen mit Ergebnismenge sind in der WHEN-Bedingung eines Triggers nicht erlaubt"
+
+#: parser/parse_func.c:2619
 msgid "set-returning functions are not allowed in check constraints"
 msgstr "Funktionen mit Ergebnismenge sind in Check-Constraints nicht erlaubt"
 
-#: parser/parse_func.c:2504
+#: parser/parse_func.c:2623
 msgid "set-returning functions are not allowed in DEFAULT expressions"
 msgstr "Funktionen mit Ergebnismenge sind in DEFAULT-Ausdrücken nicht erlaubt"
 
-#: parser/parse_func.c:2507
+#: parser/parse_func.c:2626
 msgid "set-returning functions are not allowed in index expressions"
 msgstr "Funktionen mit Ergebnismenge sind in Indexausdrücken nicht erlaubt"
 
-#: parser/parse_func.c:2510
+#: parser/parse_func.c:2629
 msgid "set-returning functions are not allowed in index predicates"
 msgstr "Funktionen mit Ergebnismenge sind in Indexprädikaten nicht erlaubt"
 
-#: parser/parse_func.c:2513
+#: parser/parse_func.c:2632
 msgid "set-returning functions are not allowed in statistics expressions"
 msgstr "Funktionen mit Ergebnismenge sind in Statistikausdrücken nicht erlaubt"
 
-#: parser/parse_func.c:2516
+#: parser/parse_func.c:2635
 msgid "set-returning functions are not allowed in transform expressions"
 msgstr "Funktionen mit Ergebnismenge sind in Umwandlungsausdrücken nicht erlaubt"
 
-#: parser/parse_func.c:2519
+#: parser/parse_func.c:2638
 msgid "set-returning functions are not allowed in EXECUTE parameters"
 msgstr "Funktionen mit Ergebnismenge sind in EXECUTE-Parametern nicht erlaubt"
 
-#: parser/parse_func.c:2522
+#: parser/parse_func.c:2641
 msgid "set-returning functions are not allowed in trigger WHEN conditions"
 msgstr "Funktionen mit Ergebnismenge sind in der WHEN-Bedingung eines Triggers nicht erlaubt"
 
-#: parser/parse_func.c:2525
+#: parser/parse_func.c:2644
 msgid "set-returning functions are not allowed in partition bound"
 msgstr "Funktionen mit Ergebnismenge sind in Partitionsbegrenzungen nicht erlaubt"
 
-#: parser/parse_func.c:2528
+#: parser/parse_func.c:2647
 msgid "set-returning functions are not allowed in partition key expressions"
 msgstr "Funktionen mit Ergebnismenge sind in Partitionierungsschlüsselausdrücken nicht erlaubt"
 
-#: parser/parse_func.c:2531
+#: parser/parse_func.c:2650
 msgid "set-returning functions are not allowed in CALL arguments"
 msgstr "Funktionen mit Ergebnismenge sind in CALL-Argumenten nicht erlaubt"
 
-#: parser/parse_func.c:2534
+#: parser/parse_func.c:2653
 msgid "set-returning functions are not allowed in COPY FROM WHERE conditions"
 msgstr "Funktionen mit Ergebnismenge sind in COPY-FROM-WHERE-Bedingungen nicht erlaubt"
 
-#: parser/parse_func.c:2537
+#: parser/parse_func.c:2656
 msgid "set-returning functions are not allowed in column generation expressions"
 msgstr "Funktionen mit Ergebnismenge sind in Spaltengenerierungsausdrücken nicht erlaubt"
 
-#: parser/parse_node.c:87
+#: parser/parse_jsontable.c:143
+#, c-format
+msgid "duplicate JSON_TABLE column name: %s"
+msgstr ""
+
+#: parser/parse_jsontable.c:144
+#, c-format
+msgid "JSON_TABLE column names must be distinct from one another"
+msgstr ""
+
+#: parser/parse_jsontable.c:247
+#, c-format
+msgid "nested JSON_TABLE columns must contain an explicit AS pathname specification if an explicit PLAN clause is used"
+msgstr ""
+
+#: parser/parse_jsontable.c:260 parser/parse_jsontable.c:271
+#: parser/parse_jsontable.c:387 parser/parse_jsontable.c:591
+#: parser/parse_jsontable.c:610
+#, fuzzy, c-format
+#| msgid "invalid OWNED BY option"
+msgid "invalid JSON_TABLE plan"
+msgstr "ungültige OWNED BY Option"
+
+#: parser/parse_jsontable.c:261
+#, c-format
+msgid "plan node for nested path %s was not found in plan"
+msgstr ""
+
+#: parser/parse_jsontable.c:272
+#, c-format
+msgid "plan node contains some extra or duplicate sibling nodes"
+msgstr ""
+
+#: parser/parse_jsontable.c:388
+#, fuzzy, c-format
+#| msgid "old database \"%s\" not found in the new cluster\n"
+msgid "path name was %s not found in nested columns list"
+msgstr "alte Datenbank »%s« nicht im neuen Cluster gefunden\n"
+
+#: parser/parse_jsontable.c:477
+#, c-format
+msgid "cannot use WITH WRAPPER clause with scalar columns"
+msgstr ""
+
+#: parser/parse_jsontable.c:482
+#, c-format
+msgid "cannot use OMIT QUOTES clause with scalar columns"
+msgstr ""
+
+#: parser/parse_jsontable.c:569
+#, fuzzy, c-format
+#| msgid "invalid regular expression: %s"
+msgid "invalid JSON_TABLE expression"
+msgstr "ungültiger regulärer Ausdruck: %s"
+
+#: parser/parse_jsontable.c:570
+#, c-format
+msgid "JSON_TABLE columns must contain explicit AS pathname specification if explicit PLAN clause is used"
+msgstr ""
+
+#: parser/parse_jsontable.c:592
+#, c-format
+msgid "expected INNER or OUTER JSON_TABLE plan node"
+msgstr ""
+
+#: parser/parse_jsontable.c:611
+#, c-format
+msgid "path name mismatch: expected %s but %s is given"
+msgstr ""
+
+#: parser/parse_jsontable.c:712
+#, c-format
+msgid "only string constants supported in JSON_TABLE path specification"
+msgstr ""
+
+#: parser/parse_merge.c:119
+#, fuzzy, c-format
+#| msgid "WHERE CURRENT OF is not supported for this table type"
+msgid "WITH RECURSIVE is not supported for MERGE statement"
+msgstr "WHERE CURRENT OF wird für diesen Tabellentyp nicht unterstützt"
+
+#: parser/parse_merge.c:163
+#, c-format
+msgid "unreachable WHEN clause specified after unconditional WHEN clause"
+msgstr ""
+
+#: parser/parse_merge.c:178 parser/parse_merge.c:184
+#, fuzzy, c-format
+#| msgid "cannot change relation \"%s\""
+msgid "cannot execute MERGE on relation \"%s\""
+msgstr "kann Relation »%s« nicht ändern"
+
+#: parser/parse_merge.c:186
+#, fuzzy, c-format
+#| msgid "LIKE is not supported for creating foreign tables"
+msgid "MERGE is not supported for relations with rules."
+msgstr "LIKE wird für das Erzeugen von Fremdtabellen nicht unterstützt"
+
+#: parser/parse_merge.c:203
+#, c-format
+msgid "name \"%s\" specified more than once"
+msgstr "Name »%s« mehrmals angegeben"
+
+#: parser/parse_merge.c:205
+#, c-format
+msgid "The name is used both as MERGE target table and data source."
+msgstr ""
+
+#: parser/parse_node.c:86
 #, c-format
 msgid "target lists can have at most %d entries"
 msgstr "Targetlisten können höchstens %d Einträge haben"
 
 #: parser/parse_oper.c:123 parser/parse_oper.c:690
-#, fuzzy, c-format
-#| msgid "postfix operators are not supported anymore (operator \"%s\")"
+#, c-format
 msgid "postfix operators are not supported"
-msgstr "Postfix-Operatoren werden nicht mehr unterstützt (Operator »%s«)"
+msgstr "Postfix-Operatoren werden nicht unterstützt"
 
-#: parser/parse_oper.c:130 parser/parse_oper.c:649 utils/adt/regproc.c:538
-#: utils/adt/regproc.c:722
+#: parser/parse_oper.c:130 parser/parse_oper.c:649 utils/adt/regproc.c:539
+#: utils/adt/regproc.c:723
 #, c-format
 msgid "operator does not exist: %s"
 msgstr "Operator existiert nicht: %s"
@@ -17045,6 +17970,11 @@ msgstr "op ANY/ALL (array) erfordert, dass Operator keine Ergebnismenge zurückg
 msgid "inconsistent types deduced for parameter $%d"
 msgstr "inkonsistente Typen für Parameter $%d ermittelt"
 
+#: parser/parse_param.c:313 tcop/postgres.c:709
+#, c-format
+msgid "could not determine data type of parameter $%d"
+msgstr "konnte Datentyp von Parameter $%d nicht ermitteln"
+
 #: parser/parse_relation.c:201
 #, c-format
 msgid "table reference \"%s\" is ambiguous"
@@ -17060,12 +17990,12 @@ msgstr "Tabellenbezug %u ist nicht eindeutig"
 msgid "table name \"%s\" specified more than once"
 msgstr "Tabellenname »%s« mehrmals angegeben"
 
-#: parser/parse_relation.c:474 parser/parse_relation.c:3532
+#: parser/parse_relation.c:474 parser/parse_relation.c:3548
 #, c-format
 msgid "invalid reference to FROM-clause entry for table \"%s\""
 msgstr "ungültiger Verweis auf FROM-Klausel-Eintrag für Tabelle »%s«"
 
-#: parser/parse_relation.c:478 parser/parse_relation.c:3537
+#: parser/parse_relation.c:478 parser/parse_relation.c:3553
 #, c-format
 msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query."
 msgstr "Es gibt einen Eintrag für Tabelle »%s«, aber auf ihn kann aus diesem Teil der Anfrage nicht verwiesen werden."
@@ -17085,131 +18015,134 @@ msgstr "Verweis auf Systemspalte »%s« im Check-Constraint ist ungültig"
 msgid "cannot use system column \"%s\" in column generation expression"
 msgstr "Systemspalte »%s« kann nicht in Spaltengenerierungsausdruck verwendet werden"
 
-#: parser/parse_relation.c:1173 parser/parse_relation.c:1625
-#: parser/parse_relation.c:2302
+#: parser/parse_relation.c:711
+#, fuzzy, c-format
+#| msgid "cannot use system column \"%s\" in partition key"
+msgid "cannot use system column \"%s\" in MERGE WHEN condition"
+msgstr "Systemspalte »%s« kann nicht im Partitionierungsschlüssel verwendet werden"
+
+#: parser/parse_relation.c:1184 parser/parse_relation.c:1636
+#: parser/parse_relation.c:2314
 #, c-format
 msgid "table \"%s\" has %d columns available but %d columns specified"
 msgstr "Tabelle »%s« hat %d Spalten, aber %d Spalten wurden angegeben"
 
-#: parser/parse_relation.c:1377
+#: parser/parse_relation.c:1388
 #, c-format
 msgid "There is a WITH item named \"%s\", but it cannot be referenced from this part of the query."
 msgstr "Es gibt ein WITH-Element namens »%s«, aber darauf kann aus diesem Teil der Anfrage kein Bezug genommen werden."
 
-#: parser/parse_relation.c:1379
+#: parser/parse_relation.c:1390
 #, c-format
 msgid "Use WITH RECURSIVE, or re-order the WITH items to remove forward references."
 msgstr "Verwenden Sie WITH RECURSIVE oder sortieren Sie die WITH-Ausdrücke um, um Vorwärtsreferenzen zu entfernen."
 
-#: parser/parse_relation.c:1767
-#, fuzzy, c-format
-#| msgid "a column definition list is required for functions returning \"record\""
+#: parser/parse_relation.c:1778
+#, c-format
 msgid "a column definition list is redundant for a function with OUT parameters"
-msgstr "eine Spaltendefinitionsliste ist erforderlich bei Funktionen, die »record« zurückgeben"
+msgstr "eine Spaltendefinitionsliste ist überflüssig bei einer Funktion mit OUT-Parametern"
 
-#: parser/parse_relation.c:1773
-#, fuzzy, c-format
-#| msgid "a column definition list is required for functions returning \"record\""
+#: parser/parse_relation.c:1784
+#, c-format
 msgid "a column definition list is redundant for a function returning a named composite type"
-msgstr "eine Spaltendefinitionsliste ist erforderlich bei Funktionen, die »record« zurückgeben"
+msgstr "eine Spaltendefinitionsliste ist überflüssig bei einer Funktion, die einen benannten zusammengesetzten Typ zurückgibt"
 
-#: parser/parse_relation.c:1780
+#: parser/parse_relation.c:1791
 #, c-format
 msgid "a column definition list is only allowed for functions returning \"record\""
 msgstr "eine Spaltendefinitionsliste ist nur erlaubt bei Funktionen, die »record« zurückgeben"
 
-#: parser/parse_relation.c:1791
+#: parser/parse_relation.c:1802
 #, c-format
 msgid "a column definition list is required for functions returning \"record\""
 msgstr "eine Spaltendefinitionsliste ist erforderlich bei Funktionen, die »record« zurückgeben"
 
-#: parser/parse_relation.c:1880
+#: parser/parse_relation.c:1891
 #, c-format
 msgid "function \"%s\" in FROM has unsupported return type %s"
 msgstr "Funktion »%s« in FROM hat nicht unterstützten Rückgabetyp %s"
 
-#: parser/parse_relation.c:2089
+#: parser/parse_relation.c:2101
 #, c-format
 msgid "VALUES lists \"%s\" have %d columns available but %d columns specified"
 msgstr "VALUES-Liste »%s« hat %d Spalten verfügbar, aber %d Spalten wurden angegeben"
 
-#: parser/parse_relation.c:2161
+#: parser/parse_relation.c:2173
 #, c-format
 msgid "joins can have at most %d columns"
 msgstr "Verbunde können höchstens %d Spalten haben"
 
-#: parser/parse_relation.c:2275
+#: parser/parse_relation.c:2287
 #, c-format
 msgid "WITH query \"%s\" does not have a RETURNING clause"
 msgstr "WITH-Anfrage »%s« hat keine RETURNING-Klausel"
 
-#: parser/parse_relation.c:3307 parser/parse_relation.c:3317
+#: parser/parse_relation.c:3323 parser/parse_relation.c:3333
 #, c-format
 msgid "column %d of relation \"%s\" does not exist"
 msgstr "Spalte %d von Relation »%s« existiert nicht"
 
-#: parser/parse_relation.c:3535
+#: parser/parse_relation.c:3551
 #, c-format
 msgid "Perhaps you meant to reference the table alias \"%s\"."
 msgstr "Vielleicht wurde beabsichtigt, auf den Tabellenalias »%s« zu verweisen."
 
-#: parser/parse_relation.c:3543
+#: parser/parse_relation.c:3559
 #, c-format
 msgid "missing FROM-clause entry for table \"%s\""
 msgstr "fehlender Eintrag in FROM-Klausel für Tabelle »%s«"
 
-#: parser/parse_relation.c:3595
+#: parser/parse_relation.c:3611
 #, c-format
 msgid "Perhaps you meant to reference the column \"%s.%s\"."
 msgstr "Vielleicht wurde beabsichtigt, auf die Spalte »%s.%s« zu verweisen."
 
-#: parser/parse_relation.c:3597
+#: parser/parse_relation.c:3613
 #, c-format
 msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query."
 msgstr "Es gibt eine Spalte namens »%s« in Tabelle »%s«, aber auf sie kann aus diesem Teil der Anfrage nicht verwiesen werden."
 
-#: parser/parse_relation.c:3614
+#: parser/parse_relation.c:3630
 #, c-format
 msgid "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"."
 msgstr "Vielleicht wurde beabsichtigt, auf die Spalte »%s.%s« oder die Spalte »%s.%s« zu verweisen."
 
-#: parser/parse_target.c:483 parser/parse_target.c:804
+#: parser/parse_target.c:482 parser/parse_target.c:803
 #, c-format
 msgid "cannot assign to system column \"%s\""
 msgstr "kann Systemspalte »%s« keinen Wert zuweisen"
 
-#: parser/parse_target.c:511
+#: parser/parse_target.c:510
 #, c-format
 msgid "cannot set an array element to DEFAULT"
 msgstr "kann Arrayelement nicht auf DEFAULT setzen"
 
-#: parser/parse_target.c:516
+#: parser/parse_target.c:515
 #, c-format
 msgid "cannot set a subfield to DEFAULT"
 msgstr "kann Subfeld nicht auf DEFAULT setzen"
 
-#: parser/parse_target.c:590
+#: parser/parse_target.c:589
 #, c-format
 msgid "column \"%s\" is of type %s but expression is of type %s"
 msgstr "Spalte »%s« hat Typ %s, aber der Ausdruck hat Typ %s"
 
-#: parser/parse_target.c:788
+#: parser/parse_target.c:787
 #, c-format
 msgid "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a composite type"
 msgstr "kann Feld »%s« in Spalte »%s« nicht setzen, weil ihr Typ %s kein zusammengesetzter Typ ist"
 
-#: parser/parse_target.c:797
+#: parser/parse_target.c:796
 #, c-format
 msgid "cannot assign to field \"%s\" of column \"%s\" because there is no such column in data type %s"
 msgstr "kann Feld »%s« in Spalte »%s« nicht setzen, weil es keine solche Spalte in Datentyp %s gibt"
 
-#: parser/parse_target.c:878
-#, fuzzy, c-format
-#| msgid "array assignment to \"%s\" requires type %s but expression is of type %s"
+#: parser/parse_target.c:877
+#, c-format
 msgid "subscripted assignment to \"%s\" requires type %s but expression is of type %s"
-msgstr "Wertzuweisung für »%s« erfordert Typ %s, aber Ausdruck hat Typ %s"
+msgstr "Wertzuweisung in Elemente von »%s« erfordert Typ %s, aber Ausdruck hat Typ %s"
 
-#: parser/parse_target.c:888
+#: parser/parse_target.c:887
 #, c-format
 msgid "subfield \"%s\" is of type %s but expression is of type %s"
 msgstr "Subfeld »%s« hat Typ %s, aber der Ausdruck hat Typ %s"
@@ -17234,8 +18167,8 @@ msgstr "falscher %%TYPE-Verweis (zu viele Namensteile): %s"
 msgid "type reference %s converted to %s"
 msgstr "Typverweis %s in %s umgewandelt"
 
-#: parser/parse_type.c:278 parser/parse_type.c:803 utils/cache/typcache.c:389
-#: utils/cache/typcache.c:444
+#: parser/parse_type.c:278 parser/parse_type.c:807 utils/cache/typcache.c:390
+#: utils/cache/typcache.c:445
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "Typ »%s« ist nur eine Hülle"
@@ -17245,369 +18178,375 @@ msgstr "Typ »%s« ist nur eine Hülle"
 msgid "type modifier is not allowed for type \"%s\""
 msgstr "Typmodifikator ist für Typ »%s« nicht erlaubt"
 
-#: parser/parse_type.c:405
+#: parser/parse_type.c:409
 #, c-format
 msgid "type modifiers must be simple constants or identifiers"
 msgstr "Typmodifikatoren müssen einfache Konstanten oder Bezeichner sein"
 
-#: parser/parse_type.c:721 parser/parse_type.c:766
+#: parser/parse_type.c:725 parser/parse_type.c:770
 #, c-format
 msgid "invalid type name \"%s\""
 msgstr "ungültiger Typname: »%s«"
 
-#: parser/parse_utilcmd.c:266
+#: parser/parse_utilcmd.c:256
 #, c-format
 msgid "cannot create partitioned table as inheritance child"
 msgstr "partitionierte Tabelle kann nicht als Vererbungskind erzeugt werden"
 
-#: parser/parse_utilcmd.c:580
+#: parser/parse_utilcmd.c:569
 #, c-format
 msgid "array of serial is not implemented"
 msgstr "Array aus Typ serial ist nicht implementiert"
 
-#: parser/parse_utilcmd.c:659 parser/parse_utilcmd.c:671
-#: parser/parse_utilcmd.c:730
+#: parser/parse_utilcmd.c:648 parser/parse_utilcmd.c:660
+#: parser/parse_utilcmd.c:719
 #, c-format
 msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
 msgstr "widersprüchliche NULL/NOT NULL-Deklarationen für Spalte »%s« von Tabelle »%s«"
 
-#: parser/parse_utilcmd.c:683
+#: parser/parse_utilcmd.c:672
 #, c-format
 msgid "multiple default values specified for column \"%s\" of table \"%s\""
 msgstr "mehrere Vorgabewerte angegeben für Spalte »%s« von Tabelle »%s«"
 
-#: parser/parse_utilcmd.c:700
+#: parser/parse_utilcmd.c:689
 #, c-format
 msgid "identity columns are not supported on typed tables"
 msgstr "Identitätsspalten in getypten Tabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:704
+#: parser/parse_utilcmd.c:693
 #, c-format
 msgid "identity columns are not supported on partitions"
 msgstr "Identitätsspalten in partitionierten Tabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:713
+#: parser/parse_utilcmd.c:702
 #, c-format
 msgid "multiple identity specifications for column \"%s\" of table \"%s\""
 msgstr "mehrere Identitätsangaben für Spalte »%s« von Tabelle »%s«"
 
-#: parser/parse_utilcmd.c:743
+#: parser/parse_utilcmd.c:732
 #, c-format
 msgid "generated columns are not supported on typed tables"
 msgstr "generierte Spalten in getypten Tabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:747
+#: parser/parse_utilcmd.c:736
 #, c-format
 msgid "generated columns are not supported on partitions"
 msgstr "generierte Spalten in partitionierten Tabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:752
+#: parser/parse_utilcmd.c:741
 #, c-format
 msgid "multiple generation clauses specified for column \"%s\" of table \"%s\""
 msgstr "mehrere Generierungsklauseln angegeben für Spalte »%s« von Tabelle »%s«"
 
-#: parser/parse_utilcmd.c:770 parser/parse_utilcmd.c:885
+#: parser/parse_utilcmd.c:759 parser/parse_utilcmd.c:874
 #, c-format
 msgid "primary key constraints are not supported on foreign tables"
 msgstr "Primärschlüssel für Fremdtabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:779 parser/parse_utilcmd.c:895
+#: parser/parse_utilcmd.c:768 parser/parse_utilcmd.c:884
 #, c-format
 msgid "unique constraints are not supported on foreign tables"
 msgstr "Unique-Constraints auf Fremdtabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:824
+#: parser/parse_utilcmd.c:813
 #, c-format
 msgid "both default and identity specified for column \"%s\" of table \"%s\""
 msgstr "sowohl Vorgabewert als auch Identität angegeben für Spalte »%s« von Tabelle »%s«"
 
-#: parser/parse_utilcmd.c:832
+#: parser/parse_utilcmd.c:821
 #, c-format
 msgid "both default and generation expression specified for column \"%s\" of table \"%s\""
 msgstr "sowohl Vorgabewert als auch Generierungsausdruck angegeben für Spalte »%s« von Tabelle »%s«"
 
-#: parser/parse_utilcmd.c:840
+#: parser/parse_utilcmd.c:829
 #, c-format
 msgid "both identity and generation expression specified for column \"%s\" of table \"%s\""
 msgstr "sowohl Identität als auch Generierungsausdruck angegeben für Spalte »%s« von Tabelle »%s«"
 
-#: parser/parse_utilcmd.c:905
+#: parser/parse_utilcmd.c:894
 #, c-format
 msgid "exclusion constraints are not supported on foreign tables"
 msgstr "Exclusion-Constraints auf Fremdtabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:911
+#: parser/parse_utilcmd.c:900
 #, c-format
 msgid "exclusion constraints are not supported on partitioned tables"
 msgstr "Exclusion-Constraints auf partitionierten Tabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:976
+#: parser/parse_utilcmd.c:965
 #, c-format
 msgid "LIKE is not supported for creating foreign tables"
 msgstr "LIKE wird für das Erzeugen von Fremdtabellen nicht unterstützt"
 
-#: parser/parse_utilcmd.c:1753 parser/parse_utilcmd.c:1861
+#: parser/parse_utilcmd.c:978
+#, fuzzy, c-format
+#| msgid "relation \"%s\" in %s clause not found in FROM clause"
+msgid "relation \"%s\" is invalid in LIKE clause"
+msgstr "Relation »%s« in %s nicht in der FROM-Klausel gefunden"
+
+#: parser/parse_utilcmd.c:1744 parser/parse_utilcmd.c:1852
 #, c-format
 msgid "Index \"%s\" contains a whole-row table reference."
 msgstr "Index »%s« enthält einen Verweis auf die ganze Zeile der Tabelle."
 
-#: parser/parse_utilcmd.c:2248
+#: parser/parse_utilcmd.c:2241
 #, c-format
 msgid "cannot use an existing index in CREATE TABLE"
 msgstr "bestehender Index kann nicht in CREATE TABLE verwendet werden"
 
-#: parser/parse_utilcmd.c:2268
+#: parser/parse_utilcmd.c:2261
 #, c-format
 msgid "index \"%s\" is already associated with a constraint"
 msgstr "Index »%s« gehört bereits zu einem Constraint"
 
-#: parser/parse_utilcmd.c:2283
+#: parser/parse_utilcmd.c:2276
 #, c-format
 msgid "index \"%s\" is not valid"
 msgstr "Index »%s« ist nicht gültig"
 
-#: parser/parse_utilcmd.c:2289
+#: parser/parse_utilcmd.c:2282
 #, c-format
 msgid "\"%s\" is not a unique index"
 msgstr "»%s« ist kein Unique Index"
 
-#: parser/parse_utilcmd.c:2290 parser/parse_utilcmd.c:2297
-#: parser/parse_utilcmd.c:2304 parser/parse_utilcmd.c:2381
+#: parser/parse_utilcmd.c:2283 parser/parse_utilcmd.c:2290
+#: parser/parse_utilcmd.c:2297 parser/parse_utilcmd.c:2374
 #, c-format
 msgid "Cannot create a primary key or unique constraint using such an index."
 msgstr "Ein Primärschlüssel oder Unique-Constraint kann nicht mit einem solchen Index erzeugt werden."
 
-#: parser/parse_utilcmd.c:2296
+#: parser/parse_utilcmd.c:2289
 #, c-format
 msgid "index \"%s\" contains expressions"
 msgstr "Index »%s« enthält Ausdrücke"
 
-#: parser/parse_utilcmd.c:2303
+#: parser/parse_utilcmd.c:2296
 #, c-format
 msgid "\"%s\" is a partial index"
 msgstr "»%s« ist ein partieller Index"
 
-#: parser/parse_utilcmd.c:2315
+#: parser/parse_utilcmd.c:2308
 #, c-format
 msgid "\"%s\" is a deferrable index"
 msgstr "»%s« ist ein aufschiebbarer Index"
 
-#: parser/parse_utilcmd.c:2316
+#: parser/parse_utilcmd.c:2309
 #, c-format
 msgid "Cannot create a non-deferrable constraint using a deferrable index."
 msgstr "Ein nicht aufschiebbarer Constraint kann nicht mit einem aufschiebbaren Index erzeugt werden."
 
-#: parser/parse_utilcmd.c:2380
+#: parser/parse_utilcmd.c:2373
 #, c-format
 msgid "index \"%s\" column number %d does not have default sorting behavior"
 msgstr "Index »%s« Spalte Nummer %d hat nicht das Standardsortierverhalten"
 
-#: parser/parse_utilcmd.c:2537
+#: parser/parse_utilcmd.c:2530
 #, c-format
 msgid "column \"%s\" appears twice in primary key constraint"
 msgstr "Spalte »%s« erscheint zweimal im Primärschlüssel-Constraint"
 
-#: parser/parse_utilcmd.c:2543
+#: parser/parse_utilcmd.c:2536
 #, c-format
 msgid "column \"%s\" appears twice in unique constraint"
 msgstr "Spalte »%s« erscheint zweimal im Unique-Constraint"
 
-#: parser/parse_utilcmd.c:2896
+#: parser/parse_utilcmd.c:2883
 #, c-format
 msgid "index expressions and predicates can refer only to the table being indexed"
 msgstr "Indexausdrücke und -prädikate können nur auf die zu indizierende Tabelle verweisen"
 
-#: parser/parse_utilcmd.c:2974
+#: parser/parse_utilcmd.c:2955
 #, c-format
-msgid "statistics expressions can refer only to the table being indexed"
-msgstr "Statistikausdrücke können nur auf die zu indizierende Tabelle verweisen"
+msgid "statistics expressions can refer only to the table being referenced"
+msgstr "Statistikausdrücke können nur auf die referenzierte Tabelle verweisen"
 
-#: parser/parse_utilcmd.c:3020
+#: parser/parse_utilcmd.c:2998
 #, c-format
 msgid "rules on materialized views are not supported"
 msgstr "Regeln für materialisierte Sichten werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:3083
+#: parser/parse_utilcmd.c:3061
 #, c-format
 msgid "rule WHERE condition cannot contain references to other relations"
 msgstr "WHERE-Bedingung einer Regel kann keine Verweise auf andere Relationen enthalten"
 
-#: parser/parse_utilcmd.c:3157
+#: parser/parse_utilcmd.c:3134
 #, c-format
 msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions"
 msgstr "Regeln mit WHERE-Bedingungen können als Aktion nur SELECT, INSERT, UPDATE oder DELETE haben"
 
-#: parser/parse_utilcmd.c:3175 parser/parse_utilcmd.c:3276
+#: parser/parse_utilcmd.c:3152 parser/parse_utilcmd.c:3253
 #: rewrite/rewriteHandler.c:508 rewrite/rewriteManip.c:1018
 #, c-format
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr "UNION/INTERSECTION/EXCEPT mit Bedingung sind nicht implementiert"
 
-#: parser/parse_utilcmd.c:3193
+#: parser/parse_utilcmd.c:3170
 #, c-format
 msgid "ON SELECT rule cannot use OLD"
 msgstr "ON-SELECT-Regel kann nicht OLD verwenden"
 
-#: parser/parse_utilcmd.c:3197
+#: parser/parse_utilcmd.c:3174
 #, c-format
 msgid "ON SELECT rule cannot use NEW"
 msgstr "ON-SELECT-Regel kann nicht NEW verwenden"
 
-#: parser/parse_utilcmd.c:3206
+#: parser/parse_utilcmd.c:3183
 #, c-format
 msgid "ON INSERT rule cannot use OLD"
 msgstr "ON-INSERT-Regel kann nicht OLD verwenden"
 
-#: parser/parse_utilcmd.c:3212
+#: parser/parse_utilcmd.c:3189
 #, c-format
 msgid "ON DELETE rule cannot use NEW"
 msgstr "ON-DELETE-Regel kann nicht NEW verwenden"
 
-#: parser/parse_utilcmd.c:3240
+#: parser/parse_utilcmd.c:3217
 #, c-format
 msgid "cannot refer to OLD within WITH query"
 msgstr "in WITH-Anfrage kann nicht auf OLD verweisen werden"
 
-#: parser/parse_utilcmd.c:3247
+#: parser/parse_utilcmd.c:3224
 #, c-format
 msgid "cannot refer to NEW within WITH query"
 msgstr "in WITH-Anfrage kann nicht auf NEW verwiesen werden"
 
-#: parser/parse_utilcmd.c:3706
+#: parser/parse_utilcmd.c:3678
 #, c-format
 msgid "misplaced DEFERRABLE clause"
 msgstr "falsch platzierte DEFERRABLE-Klausel"
 
-#: parser/parse_utilcmd.c:3711 parser/parse_utilcmd.c:3726
+#: parser/parse_utilcmd.c:3683 parser/parse_utilcmd.c:3698
 #, c-format
 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr "mehrere DEFERRABLE/NOT DEFERRABLE-Klauseln sind nicht erlaubt"
 
-#: parser/parse_utilcmd.c:3721
+#: parser/parse_utilcmd.c:3693
 #, c-format
 msgid "misplaced NOT DEFERRABLE clause"
 msgstr "falsch platzierte NOT DEFERRABLE-Klausel"
 
-#: parser/parse_utilcmd.c:3742
+#: parser/parse_utilcmd.c:3714
 #, c-format
 msgid "misplaced INITIALLY DEFERRED clause"
 msgstr "falsch platzierte INITIALLY DEFERRED-Klausel"
 
-#: parser/parse_utilcmd.c:3747 parser/parse_utilcmd.c:3773
+#: parser/parse_utilcmd.c:3719 parser/parse_utilcmd.c:3745
 #, c-format
 msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr "mehrere INITIALLY IMMEDIATE/DEFERRED-Klauseln sind nicht erlaubt"
 
-#: parser/parse_utilcmd.c:3768
+#: parser/parse_utilcmd.c:3740
 #, c-format
 msgid "misplaced INITIALLY IMMEDIATE clause"
 msgstr "falsch platzierte INITIALLY IMMEDIATE-Klausel"
 
-#: parser/parse_utilcmd.c:3959
+#: parser/parse_utilcmd.c:3931
 #, c-format
 msgid "CREATE specifies a schema (%s) different from the one being created (%s)"
 msgstr "CREATE gibt ein Schema an (%s) welches nicht gleich dem zu erzeugenden Schema ist (%s)"
 
-#: parser/parse_utilcmd.c:3994
+#: parser/parse_utilcmd.c:3966
 #, c-format
 msgid "\"%s\" is not a partitioned table"
 msgstr "»%s« ist keine partitionierte Tabelle"
 
-#: parser/parse_utilcmd.c:4001
+#: parser/parse_utilcmd.c:3973
 #, c-format
 msgid "table \"%s\" is not partitioned"
 msgstr "Tabelle »%s« ist nicht partitioniert"
 
-#: parser/parse_utilcmd.c:4008
+#: parser/parse_utilcmd.c:3980
 #, c-format
 msgid "index \"%s\" is not partitioned"
 msgstr "Index »%s« ist nicht partitioniert"
 
-#: parser/parse_utilcmd.c:4048
+#: parser/parse_utilcmd.c:4020
 #, c-format
 msgid "a hash-partitioned table may not have a default partition"
 msgstr "eine hashpartitionierte Tabelle kann keine Standardpartition haben"
 
-#: parser/parse_utilcmd.c:4065
+#: parser/parse_utilcmd.c:4037
 #, c-format
 msgid "invalid bound specification for a hash partition"
 msgstr "ungültige Begrenzungsangabe für eine Hash-Partition"
 
-#: parser/parse_utilcmd.c:4071 partitioning/partbounds.c:4701
+#: parser/parse_utilcmd.c:4043 partitioning/partbounds.c:4823
 #, c-format
-msgid "modulus for hash partition must be a positive integer"
-msgstr "Modulus für Hashpartition muss eine positive ganze Zahl sein"
+msgid "modulus for hash partition must be an integer value greater than zero"
+msgstr "Modulus für Hashpartition muss eine ganze Zahl größer als null sein"
 
-#: parser/parse_utilcmd.c:4078 partitioning/partbounds.c:4709
+#: parser/parse_utilcmd.c:4050 partitioning/partbounds.c:4831
 #, c-format
 msgid "remainder for hash partition must be less than modulus"
 msgstr "Rest für Hashpartition muss kleiner als Modulus sein"
 
-#: parser/parse_utilcmd.c:4091
+#: parser/parse_utilcmd.c:4063
 #, c-format
 msgid "invalid bound specification for a list partition"
 msgstr "ungültige Begrenzungsangabe für eine Listenpartition"
 
-#: parser/parse_utilcmd.c:4144
+#: parser/parse_utilcmd.c:4116
 #, c-format
 msgid "invalid bound specification for a range partition"
 msgstr "ungültige Begrenzungsangabe für eine Bereichspartition"
 
-#: parser/parse_utilcmd.c:4150
+#: parser/parse_utilcmd.c:4122
 #, c-format
 msgid "FROM must specify exactly one value per partitioning column"
 msgstr "FROM muss genau einen Wert pro Partitionierungsspalte angeben"
 
-#: parser/parse_utilcmd.c:4154
+#: parser/parse_utilcmd.c:4126
 #, c-format
 msgid "TO must specify exactly one value per partitioning column"
 msgstr "TO muss genau einen Wert pro Partitionierungsspalte angeben"
 
-#: parser/parse_utilcmd.c:4268
+#: parser/parse_utilcmd.c:4240
 #, c-format
 msgid "cannot specify NULL in range bound"
 msgstr "NULL kann nicht in der Bereichsgrenze angegeben werden"
 
-#: parser/parse_utilcmd.c:4317
+#: parser/parse_utilcmd.c:4289
 #, c-format
 msgid "every bound following MAXVALUE must also be MAXVALUE"
 msgstr "jede Begrenzung, die auf MAXVALUE folgt, muss auch MAXVALUE sein"
 
-#: parser/parse_utilcmd.c:4324
+#: parser/parse_utilcmd.c:4296
 #, c-format
 msgid "every bound following MINVALUE must also be MINVALUE"
 msgstr "jede Begrenzung, die auf MINVALUE folgt, muss auch MINVALUE sein"
 
-#: parser/parse_utilcmd.c:4367
+#: parser/parse_utilcmd.c:4339
 #, c-format
 msgid "specified value cannot be cast to type %s for column \"%s\""
 msgstr "angegebener Wert kann nicht in Typ %s für Spalte »%s« umgewandelt werden"
 
-#: parser/parser.c:247
+#: parser/parser.c:263
 msgid "UESCAPE must be followed by a simple string literal"
 msgstr "auf UESCAPE muss eine einfache Zeichenkettenkonstante folgen"
 
-#: parser/parser.c:252
+#: parser/parser.c:268
 msgid "invalid Unicode escape character"
 msgstr "ungültiges Unicode-Escape-Zeichen"
 
-#: parser/parser.c:321 scan.l:1329
+#: parser/parser.c:337 scan.l:1338
 #, c-format
 msgid "invalid Unicode escape value"
 msgstr "ungültiger Unicode-Escape-Wert"
 
-#: parser/parser.c:468 scan.l:677 utils/adt/varlena.c:6566
+#: parser/parser.c:484 scan.l:684 utils/adt/varlena.c:6533
 #, c-format
 msgid "invalid Unicode escape"
 msgstr "ungültiges Unicode-Escape"
 
-#: parser/parser.c:469
+#: parser/parser.c:485
 #, c-format
 msgid "Unicode escapes must be \\XXXX or \\+XXXXXX."
 msgstr "Unicode-Escapes müssen \\XXXX oder \\+XXXXXX sein."
 
-#: parser/parser.c:497 scan.l:638 scan.l:654 scan.l:670
-#: utils/adt/varlena.c:6591
+#: parser/parser.c:513 scan.l:645 scan.l:661 scan.l:677
+#: utils/adt/varlena.c:6558
 #, c-format
 msgid "invalid Unicode surrogate pair"
 msgstr "ungültiges Unicode-Surrogatpaar"
@@ -17617,89 +18556,89 @@ msgstr "ungültiges Unicode-Surrogatpaar"
 msgid "identifier \"%s\" will be truncated to \"%.*s\""
 msgstr "Bezeichner »%s« wird auf »%.*s« gekürzt"
 
-#: partitioning/partbounds.c:2821
+#: partitioning/partbounds.c:2932
 #, c-format
 msgid "partition \"%s\" conflicts with existing default partition \"%s\""
 msgstr "Partition »%s« kollidiert mit bestehender Standardpartition »%s«"
 
-#: partitioning/partbounds.c:2870 partitioning/partbounds.c:2888
-#: partitioning/partbounds.c:2904
+#: partitioning/partbounds.c:2984 partitioning/partbounds.c:3003
+#: partitioning/partbounds.c:3025
 #, c-format
 msgid "every hash partition modulus must be a factor of the next larger modulus"
 msgstr "der Modulus jeder Hashpartition muss ein Faktor des nächstgrößeren Modulus sein"
 
-#: partitioning/partbounds.c:2871 partitioning/partbounds.c:2905
+#: partitioning/partbounds.c:2985 partitioning/partbounds.c:3026
 #, c-format
 msgid "The new modulus %d is not a factor of %d, the modulus of existing partition \"%s\"."
 msgstr "Der neue Modulus %d ist kein Faktor von %d, dem Modulus der bestehenden Partition »%s«."
 
-#: partitioning/partbounds.c:2889
+#: partitioning/partbounds.c:3004
 #, c-format
 msgid "The new modulus %d is not divisible by %d, the modulus of existing partition \"%s\"."
 msgstr "Der neue Modulus %d ist nicht durch %d, den Modulus der bestehenden Parition »%s«, teilbar."
 
-#: partitioning/partbounds.c:3018
+#: partitioning/partbounds.c:3139
 #, c-format
 msgid "empty range bound specified for partition \"%s\""
 msgstr "leere Bereichsgrenze angegeben für Partition »%s«"
 
-#: partitioning/partbounds.c:3020
+#: partitioning/partbounds.c:3141
 #, c-format
 msgid "Specified lower bound %s is greater than or equal to upper bound %s."
 msgstr "Angegebene Untergrenze %s ist größer als oder gleich der Obergrenze %s."
 
-#: partitioning/partbounds.c:3132
+#: partitioning/partbounds.c:3253
 #, c-format
 msgid "partition \"%s\" would overlap partition \"%s\""
 msgstr "Partition »%s« würde sich mit Partition »%s« überlappen"
 
-#: partitioning/partbounds.c:3249
+#: partitioning/partbounds.c:3370
 #, c-format
 msgid "skipped scanning foreign table \"%s\" which is a partition of default partition \"%s\""
 msgstr "Scannen von Fremdtabelle »%s«, die eine Partition der Standardpartition »%s« ist, wurde übersprungen"
 
-#: partitioning/partbounds.c:4705
+#: partitioning/partbounds.c:4827
 #, c-format
-msgid "remainder for hash partition must be a non-negative integer"
-msgstr "Rest für Hashpartition muss eine nichtnegative ganze Zahl sein"
+msgid "remainder for hash partition must be an integer value greater than or equal to zero"
+msgstr "Rest für Hashpartition muss eine ganze Zahl größer als oder gleich null sein"
 
-#: partitioning/partbounds.c:4729
+#: partitioning/partbounds.c:4851
 #, c-format
 msgid "\"%s\" is not a hash partitioned table"
 msgstr "»%s« ist keine Hash-partitionierte Tabelle"
 
-#: partitioning/partbounds.c:4740 partitioning/partbounds.c:4857
+#: partitioning/partbounds.c:4862 partitioning/partbounds.c:4979
 #, c-format
 msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)"
 msgstr "Anzahl der Partitionierungsspalten (%d) stimmt nicht mit der Anzahl der angegebenen Partitionierungsschlüssel (%d) überein"
 
-#: partitioning/partbounds.c:4762
+#: partitioning/partbounds.c:4884
 #, c-format
 msgid "column %d of the partition key has type %s, but supplied value is of type %s"
 msgstr "Spalte %d des Partitionierungsschlüssels hat Typ %s, aber der angegebene Wert hat Typ %s"
 
-#: partitioning/partbounds.c:4794
+#: partitioning/partbounds.c:4916
 #, c-format
 msgid "column %d of the partition key has type \"%s\", but supplied value is of type \"%s\""
 msgstr "Spalte %d des Partitionierungsschlüssels hat Typ »%s«, aber der angegebene Wert hat Typ »%s«"
 
-#: port/pg_sema.c:209 port/pg_shmem.c:668 port/posix_sema.c:209
-#: port/sysv_sema.c:327 port/sysv_shmem.c:668
+#: port/pg_sema.c:209 port/pg_shmem.c:695 port/posix_sema.c:209
+#: port/sysv_sema.c:327 port/sysv_shmem.c:695
 #, c-format
 msgid "could not stat data directory \"%s\": %m"
 msgstr "konnte »stat« für Datenverzeichnis »%s« nicht ausführen: %m"
 
-#: port/pg_shmem.c:217 port/sysv_shmem.c:217
+#: port/pg_shmem.c:227 port/sysv_shmem.c:227
 #, c-format
 msgid "could not create shared memory segment: %m"
 msgstr "konnte Shared-Memory-Segment nicht erzeugen: %m"
 
-#: port/pg_shmem.c:218 port/sysv_shmem.c:218
+#: port/pg_shmem.c:228 port/sysv_shmem.c:228
 #, c-format
 msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)."
 msgstr "Fehlgeschlagener Systemaufruf war shmget(Key=%lu, Größe=%zu, 0%o)."
 
-#: port/pg_shmem.c:222 port/sysv_shmem.c:222
+#: port/pg_shmem.c:232 port/sysv_shmem.c:232
 #, c-format
 msgid ""
 "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter, or possibly that it is less than your kernel's SHMMIN parameter.\n"
@@ -17708,7 +18647,7 @@ msgstr ""
 "Dieser Fehler bedeutet gewöhnlich, dass das von PostgreSQL angeforderte Shared-Memory-Segment den Kernel-Parameter SHMMAX überschreitet, oder eventuell, dass es kleiner als der Kernel-Parameter SHMMIN ist.\n"
 "Die PostgreSQL-Dokumentation enthält weitere Informationen über die Konfiguration von Shared Memory."
 
-#: port/pg_shmem.c:229 port/sysv_shmem.c:229
+#: port/pg_shmem.c:239 port/sysv_shmem.c:239
 #, c-format
 msgid ""
 "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMALL parameter.  You might need to reconfigure the kernel with larger SHMALL.\n"
@@ -17717,7 +18656,7 @@ msgstr ""
 "Dieser Fehler bedeutet gewöhnlich, dass das von PostgreSQL angeforderte Shared-Memory-Segment den Kernel-Parameter SHMALL überschreitet.  Sie müssen eventuell den Kernel mit einem größeren SHMALL neu konfigurieren.\n"
 "Die PostgreSQL-Dokumentation enthält weitere Informationen über die Konfiguration von Shared Memory."
 
-#: port/pg_shmem.c:235 port/sysv_shmem.c:235
+#: port/pg_shmem.c:245 port/sysv_shmem.c:245
 #, c-format
 msgid ""
 "This error does *not* mean that you have run out of disk space.  It occurs either if all available shared memory IDs have been taken, in which case you need to raise the SHMMNI parameter in your kernel, or because the system's overall limit for shared memory has been reached.\n"
@@ -17726,29 +18665,34 @@ msgstr ""
 "Dieser Fehler bedeutet *nicht*, dass kein Platz mehr auf der Festplatte ist.  Er tritt auf, wenn entweder alle verfügbaren Shared-Memory-IDs aufgebraucht sind, dann müssen den Kernelparameter SHMMNI erhöhen, oder weil die Systemhöchstgrenze für Shared Memory insgesamt erreicht wurde.\n"
 "Die PostgreSQL-Dokumentation enthält weitere Informationen über die Konfiguration von Shared Memory."
 
-#: port/pg_shmem.c:606 port/sysv_shmem.c:606
+#: port/pg_shmem.c:633 port/sysv_shmem.c:633
 #, c-format
 msgid "could not map anonymous shared memory: %m"
 msgstr "konnte anonymes Shared Memory nicht mappen: %m"
 
-#: port/pg_shmem.c:608 port/sysv_shmem.c:608
+#: port/pg_shmem.c:635 port/sysv_shmem.c:635
 #, c-format
 msgid "This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently %zu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections."
 msgstr ""
 "Dieser Fehler bedeutet gewöhnlich, dass das von PostgreSQL angeforderte Shared-Memory-Segment den verfügbaren Speicher, Swap-Space oder Huge Pages überschreitet.  Um die benötigte Shared-Memory-Größe zu reduzieren (aktuell %zu Bytes), reduzieren Sie den Shared-Memory-Verbrauch von PostgreSQL, beispielsweise indem Sie »shared_buffers« oder »max_connections« reduzieren.\n"
 "Die PostgreSQL-Dokumentation enthält weitere Informationen über die Konfiguration von Shared Memory."
 
-#: port/pg_shmem.c:676 port/sysv_shmem.c:676
+#: port/pg_shmem.c:703 port/sysv_shmem.c:703
 #, c-format
 msgid "huge pages not supported on this platform"
 msgstr "Huge Pages werden auf dieser Plattform nicht unterstützt"
 
-#: port/pg_shmem.c:737 port/sysv_shmem.c:737 utils/init/miscinit.c:1167
+#: port/pg_shmem.c:710 port/sysv_shmem.c:710
+#, c-format
+msgid "huge pages not supported with the current shared_memory_type setting"
+msgstr "Huge Pages werden mit der aktuellen shared_memory_type-Einstellung nicht unterstützt"
+
+#: port/pg_shmem.c:770 port/sysv_shmem.c:770 utils/init/miscinit.c:1187
 #, c-format
 msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use"
 msgstr "bereits bestehender Shared-Memory-Block (Schlüssel %lu, ID %lu) wird noch benutzt"
 
-#: port/pg_shmem.c:740 port/sysv_shmem.c:740 utils/init/miscinit.c:1169
+#: port/pg_shmem.c:773 port/sysv_shmem.c:773 utils/init/miscinit.c:1189
 #, c-format
 msgid "Terminate any old server processes associated with data directory \"%s\"."
 msgstr "Beenden Sie alle alten Serverprozesse, die zum Datenverzeichnis »%s« gehören."
@@ -17777,37 +18721,37 @@ msgstr ""
 msgid "You possibly need to raise your kernel's SEMVMX value to be at least %d.  Look into the PostgreSQL documentation for details."
 msgstr "Sie müssen möglicherweise den Kernelparameter SEMVMX auf mindestens %d erhöhen.  Weitere Informationen finden Sie in der PostgreSQL-Dokumentation."
 
-#: port/win32/crashdump.c:121
+#: port/win32/crashdump.c:119
 #, c-format
 msgid "could not load dbghelp.dll, cannot write crash dump\n"
 msgstr "konnte dbghelp.dll nicht laden, kann Crash-Dump nicht schreiben\n"
 
-#: port/win32/crashdump.c:129
+#: port/win32/crashdump.c:127
 #, c-format
 msgid "could not load required functions in dbghelp.dll, cannot write crash dump\n"
 msgstr "konnte benötigte Funktionen in dbghelp.dll nicht laden, kann Crash-Dump nicht schreiben\n"
 
-#: port/win32/crashdump.c:160
+#: port/win32/crashdump.c:158
 #, c-format
 msgid "could not open crash dump file \"%s\" for writing: error code %lu\n"
 msgstr "konnte Crash-Dump-Datei »%s« nicht zum Schreiben öffnen: Fehlercode %lu\n"
 
-#: port/win32/crashdump.c:167
+#: port/win32/crashdump.c:165
 #, c-format
 msgid "wrote crash dump to file \"%s\"\n"
 msgstr "Crash-Dump nach Datei »%s« geschrieben\n"
 
-#: port/win32/crashdump.c:169
+#: port/win32/crashdump.c:167
 #, c-format
 msgid "could not write crash dump to file \"%s\": error code %lu\n"
 msgstr "konnte Crash-Dump nicht nach Datei »%s« schreiben: Fehlercode %lu\n"
 
-#: port/win32/signal.c:196
+#: port/win32/signal.c:206
 #, c-format
 msgid "could not create signal listener pipe for PID %d: error code %lu"
 msgstr "konnte Listener-Pipe für Signale für PID %d nicht erzeugen: Fehlercode %lu"
 
-#: port/win32/signal.c:251
+#: port/win32/signal.c:261
 #, c-format
 msgid "could not create signal listener pipe: error code %lu; retrying\n"
 msgstr "konnte Listener-Pipe für Signale nicht erzeugen: Fehlercode %lu; wiederhole Versuch\n"
@@ -17897,42 +18841,47 @@ msgstr "Fehlgeschlagener Systemaufruf war DuplicateHandle."
 msgid "Failed system call was MapViewOfFileEx."
 msgstr "Fehlgeschlagener Systemaufruf war MapViewOfFileEx."
 
-#: postmaster/autovacuum.c:411
+#: postmaster/autovacuum.c:404
 #, c-format
 msgid "could not fork autovacuum launcher process: %m"
 msgstr "konnte Autovacuum-Launcher-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/autovacuum.c:1489
+#: postmaster/autovacuum.c:752
+#, c-format
+msgid "autovacuum worker took too long to start; canceled"
+msgstr ""
+
+#: postmaster/autovacuum.c:1482
 #, c-format
 msgid "could not fork autovacuum worker process: %m"
 msgstr "konnte Autovacuum-Worker-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/autovacuum.c:2326
+#: postmaster/autovacuum.c:2261
 #, c-format
 msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\""
 msgstr "Autovacuum: lösche verwaiste temporäre Tabelle »%s.%s.%s«"
 
-#: postmaster/autovacuum.c:2555
+#: postmaster/autovacuum.c:2486
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\""
 msgstr "automatisches Vacuum der Tabelle »%s.%s.%s«"
 
-#: postmaster/autovacuum.c:2558
+#: postmaster/autovacuum.c:2489
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\""
 msgstr "automatisches Analysieren der Tabelle »%s.%s.%s«"
 
-#: postmaster/autovacuum.c:2751
+#: postmaster/autovacuum.c:2682
 #, c-format
 msgid "processing work entry for relation \"%s.%s.%s\""
 msgstr "verarbeite Arbeitseintrag für Relation »%s.%s.%s«"
 
-#: postmaster/autovacuum.c:3432
+#: postmaster/autovacuum.c:3293
 #, c-format
 msgid "autovacuum not started because of misconfiguration"
 msgstr "Autovacuum wegen Fehlkonfiguration nicht gestartet"
 
-#: postmaster/autovacuum.c:3433
+#: postmaster/autovacuum.c:3294
 #, c-format
 msgid "Enable the \"track_counts\" option."
 msgstr "Schalten Sie die Option »track_counts« ein."
@@ -17942,406 +18891,249 @@ msgstr "Schalten Sie die Option »track_counts« ein."
 msgid "inconsistent background worker state (max_worker_processes=%d, total_slots=%d)"
 msgstr "inkonsistenter Background-Worker-Zustand (max_worker_processes=%d, total_slots=%d)"
 
-#: postmaster/bgworker.c:661
-#, c-format
-msgid "background worker \"%s\": must attach to shared memory in order to request a database connection"
-msgstr "Background-Worker »%s«: muss mit Shared Memory verbinden, um eine Datenbankverbindung anzufordern"
+#: postmaster/bgworker.c:666
+#, fuzzy, c-format
+#| msgid "background worker \"%s\": only dynamic background workers can request notification"
+msgid "background worker \"%s\": background worker without shared memory access are not supported"
+msgstr "Background-Worker »%s«: nur dynamische Background-Worker können Benachrichtigung verlangen"
 
-#: postmaster/bgworker.c:670
+#: postmaster/bgworker.c:677
 #, c-format
 msgid "background worker \"%s\": cannot request database access if starting at postmaster start"
 msgstr "Background-Worker »%s«: kann kein Datenbankzugriff anfordern, wenn er nach Postmaster-Start gestartet hat"
 
-#: postmaster/bgworker.c:684
+#: postmaster/bgworker.c:691
 #, c-format
 msgid "background worker \"%s\": invalid restart interval"
 msgstr "Background-Worker »%s«: ungültiges Neustart-Intervall"
 
-#: postmaster/bgworker.c:699
+#: postmaster/bgworker.c:706
 #, c-format
 msgid "background worker \"%s\": parallel workers may not be configured for restart"
 msgstr "Background-Worker »%s«: parallele Arbeitsprozesse dürfen nicht für Neustart konfiguriert sein"
 
-#: postmaster/bgworker.c:723 tcop/postgres.c:3188
+#: postmaster/bgworker.c:730 tcop/postgres.c:3201
 #, c-format
 msgid "terminating background worker \"%s\" due to administrator command"
 msgstr "Background-Worker »%s« wird abgebrochen aufgrund von Anweisung des Administrators"
 
-#: postmaster/bgworker.c:904
+#: postmaster/bgworker.c:887
 #, c-format
 msgid "background worker \"%s\": must be registered in shared_preload_libraries"
 msgstr "Background-Worker »%s«: muss in shared_preload_libraries registriert sein"
 
-#: postmaster/bgworker.c:916
+#: postmaster/bgworker.c:899
 #, c-format
 msgid "background worker \"%s\": only dynamic background workers can request notification"
 msgstr "Background-Worker »%s«: nur dynamische Background-Worker können Benachrichtigung verlangen"
 
-#: postmaster/bgworker.c:931
+#: postmaster/bgworker.c:914
 #, c-format
 msgid "too many background workers"
 msgstr "zu viele Background-Worker"
 
-#: postmaster/bgworker.c:932
+#: postmaster/bgworker.c:915
 #, c-format
 msgid "Up to %d background worker can be registered with the current settings."
 msgid_plural "Up to %d background workers can be registered with the current settings."
 msgstr[0] "Mit den aktuellen Einstellungen können bis zu %d Background-Worker registriert werden."
 msgstr[1] "Mit den aktuellen Einstellungen können bis zu %d Background-Worker registriert werden."
 
-#: postmaster/bgworker.c:936
+#: postmaster/bgworker.c:919
 #, c-format
 msgid "Consider increasing the configuration parameter \"max_worker_processes\"."
 msgstr "Erhöhen Sie eventuell den Konfigurationsparameter »max_worker_processes«."
 
-#: postmaster/checkpointer.c:428
+#: postmaster/checkpointer.c:432
 #, c-format
 msgid "checkpoints are occurring too frequently (%d second apart)"
 msgid_plural "checkpoints are occurring too frequently (%d seconds apart)"
 msgstr[0] "Checkpoints passieren zu oft (alle %d Sekunde)"
 msgstr[1] "Checkpoints passieren zu oft (alle %d Sekunden)"
 
-#: postmaster/checkpointer.c:432
+#: postmaster/checkpointer.c:436
 #, c-format
 msgid "Consider increasing the configuration parameter \"max_wal_size\"."
 msgstr "Erhöhen Sie eventuell den Konfigurationsparameter »max_wal_size«."
 
-#: postmaster/checkpointer.c:1056
+#: postmaster/checkpointer.c:1060
 #, c-format
 msgid "checkpoint request failed"
 msgstr "Checkpoint-Anforderung fehlgeschlagen"
 
-#: postmaster/checkpointer.c:1057
+#: postmaster/checkpointer.c:1061
 #, c-format
 msgid "Consult recent messages in the server log for details."
 msgstr "Einzelheiten finden Sie in den letzten Meldungen im Serverlog."
 
-#: postmaster/pgarch.c:372
-#, c-format
-msgid "archive_mode enabled, yet archive_command is not set"
+#: postmaster/pgarch.c:429
+#, fuzzy, c-format
+#| msgid "archive_mode enabled, yet archive_command is not set"
+msgid "archive_mode enabled, yet archiving is not configured"
 msgstr "archive_mode ist an, aber archive_command ist nicht gesetzt"
 
-#: postmaster/pgarch.c:394
+#: postmaster/pgarch.c:451
 #, c-format
 msgid "removed orphan archive status file \"%s\""
 msgstr "verwaiste Archivstatusdatei »%s« wurde entfernt"
 
-#: postmaster/pgarch.c:404
+#: postmaster/pgarch.c:461
 #, c-format
 msgid "removal of orphan archive status file \"%s\" failed too many times, will try again later"
 msgstr "Entfernen der verwaisten Archivstatusdatei »%s« schlug zu oft fehl, wird später erneut versucht"
 
-#: postmaster/pgarch.c:440
+#: postmaster/pgarch.c:497
 #, c-format
 msgid "archiving write-ahead log file \"%s\" failed too many times, will try again later"
 msgstr "Archivieren der Write-Ahead-Log-Datei »%s« schlug zu oft fehl, wird später erneut versucht"
 
-#: postmaster/pgarch.c:541
-#, c-format
-msgid "archive command failed with exit code %d"
-msgstr "Archivbefehl ist fehlgeschlagen mit Statuscode %d"
-
-#: postmaster/pgarch.c:543 postmaster/pgarch.c:553 postmaster/pgarch.c:559
-#: postmaster/pgarch.c:568
-#, c-format
-msgid "The failed archive command was: %s"
-msgstr "Der fehlgeschlagene Archivbefehl war: %s"
-
-#: postmaster/pgarch.c:550
-#, c-format
-msgid "archive command was terminated by exception 0x%X"
-msgstr "Archivbefehl wurde durch Ausnahme 0x%X beendet"
-
-#: postmaster/pgarch.c:552 postmaster/postmaster.c:3724
-#, c-format
-msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
-msgstr "Sehen Sie die Beschreibung des Hexadezimalwerts in der C-Include-Datei »ntstatus.h« nach."
-
-#: postmaster/pgarch.c:557
-#, c-format
-msgid "archive command was terminated by signal %d: %s"
-msgstr "Archivbefehl wurde von Signal %d beendet: %s"
-
-#: postmaster/pgarch.c:566
-#, c-format
-msgid "archive command exited with unrecognized status %d"
-msgstr "Archivbefehl hat mit unbekanntem Status %d beendet"
-
-#: postmaster/pgstat.c:417
-#, c-format
-msgid "could not resolve \"localhost\": %s"
-msgstr "konnte »localhost« nicht auflösen: %s"
-
-#: postmaster/pgstat.c:440
-#, c-format
-msgid "trying another address for the statistics collector"
-msgstr "andere Adresse für Statistiksammelprozess wird versucht"
-
-#: postmaster/pgstat.c:449
-#, c-format
-msgid "could not create socket for statistics collector: %m"
-msgstr "konnte Socket für Statistiksammelprozess nicht erzeugen: %m"
-
-#: postmaster/pgstat.c:461
-#, c-format
-msgid "could not bind socket for statistics collector: %m"
-msgstr "konnte Socket für Statistiksammelprozess nicht binden: %m"
-
-#: postmaster/pgstat.c:472
-#, c-format
-msgid "could not get address of socket for statistics collector: %m"
-msgstr "konnte Adresse für Socket für Statistiksammelprozess nicht ermitteln: %m"
-
-#: postmaster/pgstat.c:488
-#, c-format
-msgid "could not connect socket for statistics collector: %m"
-msgstr "konnte nicht mit Socket für Statistiksammelprozess verbinden: %m"
-
-#: postmaster/pgstat.c:509
-#, c-format
-msgid "could not send test message on socket for statistics collector: %m"
-msgstr "konnte Testnachricht auf Socket für Statistiksammelprozess nicht senden: %m"
-
-#: postmaster/pgstat.c:535
-#, c-format
-msgid "select() failed in statistics collector: %m"
-msgstr "select() im Statistiksammelprozess fehlgeschlagen: %m"
-
-#: postmaster/pgstat.c:550
-#, c-format
-msgid "test message did not get through on socket for statistics collector"
-msgstr "Testnachricht auf Socket für Statistiksammelprozess kam nicht durch"
-
-#: postmaster/pgstat.c:565
+#: postmaster/pgarch.c:809
 #, c-format
-msgid "could not receive test message on socket for statistics collector: %m"
-msgstr "konnte Testnachricht auf Socket für Statistiksammelprozess nicht empfangen: %m"
-
-#: postmaster/pgstat.c:575
-#, c-format
-msgid "incorrect test message transmission on socket for statistics collector"
-msgstr "fehlerhafte Übertragung der Testnachricht auf Socket für Statistiksammelprozess"
-
-#: postmaster/pgstat.c:598
-#, c-format
-msgid "could not set statistics collector socket to nonblocking mode: %m"
-msgstr "konnte Socket von Statistiksammelprozess nicht auf nicht blockierenden Modus setzen: %m"
-
-#: postmaster/pgstat.c:642
-#, c-format
-msgid "disabling statistics collector for lack of working socket"
-msgstr "Statistiksammelprozess abgeschaltet wegen nicht funkionierender Socket"
-
-#: postmaster/pgstat.c:789
-#, c-format
-msgid "could not fork statistics collector: %m"
-msgstr "konnte Statistiksammelprozess nicht starten (fork-Fehler): %m"
-
-#: postmaster/pgstat.c:1459
-#, c-format
-msgid "unrecognized reset target: \"%s\""
-msgstr "unbekanntes Reset-Ziel: »%s«"
-
-#: postmaster/pgstat.c:1460
-#, fuzzy, c-format
-#| msgid "Target must be \"archiver\" or \"bgwriter\"."
-msgid "Target must be \"archiver\", \"bgwriter\" or \"wal\"."
-msgstr "Das Reset-Ziel muss »archiver« oder »bgwriter« sein."
-
-#: postmaster/pgstat.c:3298
-#, c-format
-msgid "could not read statistics message: %m"
-msgstr "konnte Statistiknachricht nicht lesen: %m"
-
-#: postmaster/pgstat.c:3644 postmaster/pgstat.c:3829
-#, c-format
-msgid "could not open temporary statistics file \"%s\": %m"
-msgstr "konnte temporäre Statistikdatei »%s« nicht öffnen: %m"
-
-#: postmaster/pgstat.c:3739 postmaster/pgstat.c:3874
-#, c-format
-msgid "could not write temporary statistics file \"%s\": %m"
-msgstr "konnte temporäre Statistikdatei »%s« nicht schreiben: %m"
-
-#: postmaster/pgstat.c:3748 postmaster/pgstat.c:3883
-#, c-format
-msgid "could not close temporary statistics file \"%s\": %m"
-msgstr "konnte temporäre Statistikdatei »%s« nicht schließen: %m"
-
-#: postmaster/pgstat.c:3756 postmaster/pgstat.c:3891
-#, c-format
-msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
-msgstr "konnte temporäre Statistikdatei »%s« nicht in »%s« umbenennen: %m"
-
-#: postmaster/pgstat.c:3989 postmaster/pgstat.c:4255 postmaster/pgstat.c:4412
-#, c-format
-msgid "could not open statistics file \"%s\": %m"
-msgstr "konnte Statistikdatei »%s« nicht öffnen: %m"
-
-#: postmaster/pgstat.c:4001 postmaster/pgstat.c:4011 postmaster/pgstat.c:4032
-#: postmaster/pgstat.c:4043 postmaster/pgstat.c:4054 postmaster/pgstat.c:4076
-#: postmaster/pgstat.c:4091 postmaster/pgstat.c:4161 postmaster/pgstat.c:4192
-#: postmaster/pgstat.c:4267 postmaster/pgstat.c:4287 postmaster/pgstat.c:4305
-#: postmaster/pgstat.c:4321 postmaster/pgstat.c:4339 postmaster/pgstat.c:4355
-#: postmaster/pgstat.c:4424 postmaster/pgstat.c:4436 postmaster/pgstat.c:4448
-#: postmaster/pgstat.c:4459 postmaster/pgstat.c:4470 postmaster/pgstat.c:4495
-#: postmaster/pgstat.c:4522 postmaster/pgstat.c:4535
-#, c-format
-msgid "corrupted statistics file \"%s\""
-msgstr "verfälschte Statistikdatei »%s«"
-
-#: postmaster/pgstat.c:4644
-#, c-format
-msgid "statistics collector's time %s is later than backend local time %s"
+msgid "restarting archiver process because value of \"archive_library\" was changed"
 msgstr ""
 
-#: postmaster/pgstat.c:4667
-#, c-format
-msgid "using stale statistics instead of current ones because stats collector is not responding"
-msgstr "verwende veraltete Statistiken anstatt aktueller, weil der Statistiksammelprozess nicht antwortet"
-
-#: postmaster/pgstat.c:4794
+#: postmaster/pgarch.c:842
 #, c-format
-msgid "stats_timestamp %s is later than collector's time %s for database %u"
+msgid "archive modules have to declare the _PG_archive_module_init symbol"
 msgstr ""
 
-#: postmaster/pgstat.c:5004
+#: postmaster/pgarch.c:848
 #, c-format
-msgid "database hash table corrupted during cleanup --- abort"
-msgstr "Datenbank-Hash-Tabelle beim Aufräumen verfälscht --- Abbruch"
+msgid "archive modules must register an archive callback"
+msgstr ""
 
-#: postmaster/postmaster.c:745
+#: postmaster/postmaster.c:744
 #, c-format
 msgid "%s: invalid argument for option -f: \"%s\"\n"
 msgstr "%s: ungültiges Argument für Option -f: »%s«\n"
 
-#: postmaster/postmaster.c:824
+#: postmaster/postmaster.c:823
 #, c-format
 msgid "%s: invalid argument for option -t: \"%s\"\n"
 msgstr "%s: ungültiges Argument für Option -t: »%s«\n"
 
-#: postmaster/postmaster.c:875
+#: postmaster/postmaster.c:874
 #, c-format
 msgid "%s: invalid argument: \"%s\"\n"
 msgstr "%s: ungültiges Argument: »%s«\n"
 
-#: postmaster/postmaster.c:917
+#: postmaster/postmaster.c:942
 #, c-format
 msgid "%s: superuser_reserved_connections (%d) must be less than max_connections (%d)\n"
 msgstr "%s: superuser_reserved_connections (%d) muss kleiner als max_connections (%d) sein\n"
 
-#: postmaster/postmaster.c:924
+#: postmaster/postmaster.c:949
 #, c-format
 msgid "WAL archival cannot be enabled when wal_level is \"minimal\""
 msgstr "WAL-Archivierung kann nicht eingeschaltet werden, wenn wal_level »minimal« ist"
 
-#: postmaster/postmaster.c:927
+#: postmaster/postmaster.c:952
 #, c-format
 msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or \"logical\""
 msgstr "WAL-Streaming (max_wal_senders > 0) benötigt wal_level »replica« oder »logical«"
 
-#: postmaster/postmaster.c:935
+#: postmaster/postmaster.c:960
 #, c-format
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s: ungültige datetoken-Tabellen, bitte reparieren\n"
 
-#: postmaster/postmaster.c:1052
+#: postmaster/postmaster.c:1113
 #, c-format
 msgid "could not create I/O completion port for child queue"
 msgstr "konnte Ein-/Ausgabe-Completion-Port für Child-Queue nicht erzeugen"
 
-#: postmaster/postmaster.c:1117
+#: postmaster/postmaster.c:1178
 #, c-format
 msgid "ending log output to stderr"
 msgstr "Logausgabe nach stderr endet"
 
-#: postmaster/postmaster.c:1118
+#: postmaster/postmaster.c:1179
 #, c-format
 msgid "Future log output will go to log destination \"%s\"."
 msgstr "Die weitere Logausgabe geht an Logziel »%s«."
 
-#: postmaster/postmaster.c:1129
+#: postmaster/postmaster.c:1190
 #, c-format
 msgid "starting %s"
 msgstr "%s startet"
 
-#: postmaster/postmaster.c:1158 postmaster/postmaster.c:1257
-#: utils/init/miscinit.c:1627
+#: postmaster/postmaster.c:1219 postmaster/postmaster.c:1318
+#: utils/init/miscinit.c:1651
 #, c-format
 msgid "invalid list syntax in parameter \"%s\""
 msgstr "ungültige Listensyntax für Parameter »%s«"
 
-#: postmaster/postmaster.c:1189
+#: postmaster/postmaster.c:1250
 #, c-format
 msgid "could not create listen socket for \"%s\""
 msgstr "konnte Listen-Socket für »%s« nicht erzeugen"
 
-#: postmaster/postmaster.c:1195
+#: postmaster/postmaster.c:1256
 #, c-format
 msgid "could not create any TCP/IP sockets"
 msgstr "konnte keine TCP/IP-Sockets erstellen"
 
-#: postmaster/postmaster.c:1227
+#: postmaster/postmaster.c:1288
 #, c-format
 msgid "DNSServiceRegister() failed: error code %ld"
 msgstr "DNSServiceRegister() fehlgeschlagen: Fehlercode %ld"
 
-#: postmaster/postmaster.c:1279
+#: postmaster/postmaster.c:1340
 #, c-format
 msgid "could not create Unix-domain socket in directory \"%s\""
 msgstr "konnte Unix-Domain-Socket in Verzeichnis »%s« nicht erzeugen"
 
-#: postmaster/postmaster.c:1285
+#: postmaster/postmaster.c:1346
 #, c-format
 msgid "could not create any Unix-domain sockets"
 msgstr "konnte keine Unix-Domain-Sockets erzeugen"
 
-#: postmaster/postmaster.c:1297
+#: postmaster/postmaster.c:1358
 #, c-format
 msgid "no socket created for listening"
 msgstr "keine Listen-Socket erzeugt"
 
-#: postmaster/postmaster.c:1328
+#: postmaster/postmaster.c:1389
 #, c-format
 msgid "%s: could not change permissions of external PID file \"%s\": %s\n"
 msgstr "%s: konnte Rechte der externen PID-Datei »%s« nicht ändern: %s\n"
 
-#: postmaster/postmaster.c:1332
+#: postmaster/postmaster.c:1393
 #, c-format
 msgid "%s: could not write external PID file \"%s\": %s\n"
 msgstr "%s: konnte externe PID-Datei »%s« nicht schreiben: %s\n"
 
-#: postmaster/postmaster.c:1365 utils/init/postinit.c:216
+#: postmaster/postmaster.c:1420 utils/init/postinit.c:220
 #, c-format
 msgid "could not load pg_hba.conf"
 msgstr "konnte pg_hba.conf nicht laden"
 
-#: postmaster/postmaster.c:1391
+#: postmaster/postmaster.c:1446
 #, c-format
 msgid "postmaster became multithreaded during startup"
 msgstr "Postmaster ist während des Starts multithreaded geworden"
 
-#: postmaster/postmaster.c:1392
+#: postmaster/postmaster.c:1447
 #, c-format
 msgid "Set the LC_ALL environment variable to a valid locale."
 msgstr "Setzen Sie die Umgebungsvariable LC_ALL auf eine gültige Locale."
 
-#: postmaster/postmaster.c:1487
+#: postmaster/postmaster.c:1548
 #, c-format
 msgid "%s: could not locate my own executable path"
 msgstr "%s: konnte Pfad des eigenen Programs nicht finden"
 
-#: postmaster/postmaster.c:1494
+#: postmaster/postmaster.c:1555
 #, c-format
 msgid "%s: could not locate matching postgres executable"
 msgstr "%s: konnte kein passendes Programm »postgres« finden"
 
-#: postmaster/postmaster.c:1517 utils/misc/tzparser.c:340
+#: postmaster/postmaster.c:1578 utils/misc/tzparser.c:340
 #, c-format
 msgid "This may indicate an incomplete PostgreSQL installation, or that the file \"%s\" has been moved away from its proper location."
 msgstr "Dies kann auf eine unvollständige PostgreSQL-Installation hindeuten, oder darauf, dass die Datei »%s« von ihrer richtigen Stelle verschoben worden ist."
 
-#: postmaster/postmaster.c:1544
+#: postmaster/postmaster.c:1605
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -18352,801 +19144,945 @@ msgstr ""
 "Es wurde im Verzeichnis »%s« erwartet,\n"
 "aber die Datei »%s« konnte nicht geöffnet werden: %s\n"
 
-#: postmaster/postmaster.c:1721
+#: postmaster/postmaster.c:1782
 #, c-format
 msgid "select() failed in postmaster: %m"
 msgstr "select() fehlgeschlagen im Postmaster: %m"
 
-#: postmaster/postmaster.c:1857
+#: postmaster/postmaster.c:1913
 #, c-format
 msgid "issuing SIGKILL to recalcitrant children"
-msgstr ""
+msgstr "SIGKILL wird an ungehorsame Kinder gesendet"
 
-#: postmaster/postmaster.c:1878
+#: postmaster/postmaster.c:1934
 #, c-format
 msgid "performing immediate shutdown because data directory lock file is invalid"
 msgstr "führe sofortiges Herunterfahren durch, weil Sperrdatei im Datenverzeichnis ungültig ist"
 
-#: postmaster/postmaster.c:1981 postmaster/postmaster.c:2009
+#: postmaster/postmaster.c:2037 postmaster/postmaster.c:2065
 #, c-format
 msgid "incomplete startup packet"
 msgstr "unvollständiges Startpaket"
 
-#: postmaster/postmaster.c:1993
+#: postmaster/postmaster.c:2049
 #, c-format
 msgid "invalid length of startup packet"
 msgstr "ungültige Länge des Startpakets"
 
-#: postmaster/postmaster.c:2048
+#: postmaster/postmaster.c:2104
 #, c-format
 msgid "failed to send SSL negotiation response: %m"
 msgstr "konnte SSL-Verhandlungsantwort nicht senden: %m"
 
-#: postmaster/postmaster.c:2080
+#: postmaster/postmaster.c:2122
+#, c-format
+msgid "received unencrypted data after SSL request"
+msgstr "unverschlüsselte Daten nach SSL-Anforderung empfangen"
+
+#: postmaster/postmaster.c:2123 postmaster/postmaster.c:2167
+#, c-format
+msgid "This could be either a client-software bug or evidence of an attempted man-in-the-middle attack."
+msgstr "Das könnte entweder ein Fehler in der Client-Software oder ein Hinweis auf einen versuchten Man-in-the-Middle-Angriff sein."
+
+#: postmaster/postmaster.c:2148
 #, c-format
 msgid "failed to send GSSAPI negotiation response: %m"
 msgstr "konnte GSSAPI-Verhandlungsantwort nicht senden: %m"
 
-#: postmaster/postmaster.c:2110
+#: postmaster/postmaster.c:2166
+#, c-format
+msgid "received unencrypted data after GSSAPI encryption request"
+msgstr "unverschlüsselte Daten nach GSSAPI-Verschlüsselungsanforderung empfangen"
+
+#: postmaster/postmaster.c:2190
 #, c-format
 msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
 msgstr "nicht unterstütztes Frontend-Protokoll %u.%u: Server unterstützt %u.0 bis %u.%u"
 
-#: postmaster/postmaster.c:2174 utils/misc/guc.c:7112 utils/misc/guc.c:7148
-#: utils/misc/guc.c:7218 utils/misc/guc.c:8550 utils/misc/guc.c:11506
-#: utils/misc/guc.c:11547
+#: postmaster/postmaster.c:2254 utils/misc/guc.c:7392 utils/misc/guc.c:7428
+#: utils/misc/guc.c:7498 utils/misc/guc.c:8869 utils/misc/guc.c:11869
+#: utils/misc/guc.c:11910
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "ungültiger Wert für Parameter »%s«: »%s«"
 
-#: postmaster/postmaster.c:2177
+#: postmaster/postmaster.c:2257
 #, c-format
 msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"."
 msgstr "Gültige Werte sind: »false«, 0, »true«, 1, »database«."
 
-#: postmaster/postmaster.c:2222
+#: postmaster/postmaster.c:2302
 #, c-format
 msgid "invalid startup packet layout: expected terminator as last byte"
 msgstr "ungültiges Layout des Startpakets: Abschluss als letztes Byte erwartet"
 
-#: postmaster/postmaster.c:2239
+#: postmaster/postmaster.c:2319
 #, c-format
 msgid "no PostgreSQL user name specified in startup packet"
 msgstr "kein PostgreSQL-Benutzername im Startpaket angegeben"
 
-#: postmaster/postmaster.c:2303
+#: postmaster/postmaster.c:2383
 #, c-format
 msgid "the database system is starting up"
 msgstr "das Datenbanksystem startet"
 
-#: postmaster/postmaster.c:2309
+#: postmaster/postmaster.c:2389
 #, c-format
 msgid "the database system is not yet accepting connections"
 msgstr "das Datenbanksystem nimmt noch keine Verbindungen an"
 
-#: postmaster/postmaster.c:2310
+#: postmaster/postmaster.c:2390
 #, c-format
 msgid "Consistent recovery state has not been yet reached."
 msgstr "Konsistenter Wiederherstellungszustand wurde noch nicht erreicht."
 
-#: postmaster/postmaster.c:2314
+#: postmaster/postmaster.c:2394
 #, c-format
 msgid "the database system is not accepting connections"
 msgstr "das Datenbanksystem nimmt keine Verbindungen an"
 
-#: postmaster/postmaster.c:2315
+#: postmaster/postmaster.c:2395
 #, c-format
 msgid "Hot standby mode is disabled."
 msgstr "Hot-Standby-Modus ist deaktiviert."
 
-#: postmaster/postmaster.c:2320
+#: postmaster/postmaster.c:2400
 #, c-format
 msgid "the database system is shutting down"
 msgstr "das Datenbanksystem fährt herunter"
 
-#: postmaster/postmaster.c:2325
+#: postmaster/postmaster.c:2405
 #, c-format
 msgid "the database system is in recovery mode"
 msgstr "das Datenbanksystem ist im Wiederherstellungsmodus"
 
-#: postmaster/postmaster.c:2330 storage/ipc/procarray.c:463
-#: storage/ipc/sinvaladt.c:297 storage/lmgr/proc.c:361
+#: postmaster/postmaster.c:2410 storage/ipc/procarray.c:474
+#: storage/ipc/sinvaladt.c:306 storage/lmgr/proc.c:359
 #, c-format
 msgid "sorry, too many clients already"
 msgstr "tut mir leid, schon zu viele Verbindungen"
 
-#: postmaster/postmaster.c:2420
+#: postmaster/postmaster.c:2497
 #, c-format
 msgid "wrong key in cancel request for process %d"
 msgstr "falscher Schlüssel in Stornierungsanfrage für Prozess %d"
 
-#: postmaster/postmaster.c:2432
+#: postmaster/postmaster.c:2509
 #, c-format
 msgid "PID %d in cancel request did not match any process"
 msgstr "PID %d in Stornierungsanfrage stimmte mit keinem Prozess überein"
 
-#: postmaster/postmaster.c:2686
+#: postmaster/postmaster.c:2763
 #, c-format
 msgid "received SIGHUP, reloading configuration files"
 msgstr "SIGHUP empfangen, Konfigurationsdateien werden neu geladen"
 
 #. translator: %s is a configuration file
-#: postmaster/postmaster.c:2712 postmaster/postmaster.c:2716
+#: postmaster/postmaster.c:2787 postmaster/postmaster.c:2791
 #, c-format
 msgid "%s was not reloaded"
 msgstr "%s wurde nicht neu geladen"
 
-#: postmaster/postmaster.c:2726
+#: postmaster/postmaster.c:2801
 #, c-format
 msgid "SSL configuration was not reloaded"
 msgstr "SSL-Konfiguration wurde nicht neu geladen"
 
-#: postmaster/postmaster.c:2782
+#: postmaster/postmaster.c:2857
 #, c-format
 msgid "received smart shutdown request"
 msgstr "intelligentes Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2828
+#: postmaster/postmaster.c:2898
 #, c-format
 msgid "received fast shutdown request"
 msgstr "schnelles Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2846
+#: postmaster/postmaster.c:2916
 #, c-format
 msgid "aborting any active transactions"
 msgstr "etwaige aktive Transaktionen werden abgebrochen"
 
-#: postmaster/postmaster.c:2870
+#: postmaster/postmaster.c:2940
 #, c-format
 msgid "received immediate shutdown request"
 msgstr "sofortiges Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2947
+#: postmaster/postmaster.c:3017
 #, c-format
 msgid "shutdown at recovery target"
 msgstr "Herunterfahren beim Wiederherstellungsziel"
 
-#: postmaster/postmaster.c:2965 postmaster/postmaster.c:3001
+#: postmaster/postmaster.c:3035 postmaster/postmaster.c:3071
 msgid "startup process"
 msgstr "Startprozess"
 
-#: postmaster/postmaster.c:2968
+#: postmaster/postmaster.c:3038
 #, c-format
 msgid "aborting startup due to startup process failure"
 msgstr "Serverstart abgebrochen wegen Startprozessfehler"
 
-#: postmaster/postmaster.c:3043
+#: postmaster/postmaster.c:3111
 #, c-format
 msgid "database system is ready to accept connections"
 msgstr "Datenbanksystem ist bereit, um Verbindungen anzunehmen"
 
-#: postmaster/postmaster.c:3064
+#: postmaster/postmaster.c:3132
 msgid "background writer process"
 msgstr "Background-Writer-Prozess"
 
-#: postmaster/postmaster.c:3118
+#: postmaster/postmaster.c:3179
 msgid "checkpointer process"
 msgstr "Checkpointer-Prozess"
 
-#: postmaster/postmaster.c:3134
+#: postmaster/postmaster.c:3195
 msgid "WAL writer process"
 msgstr "WAL-Schreibprozess"
 
-#: postmaster/postmaster.c:3149
+#: postmaster/postmaster.c:3210
 msgid "WAL receiver process"
 msgstr "WAL-Receiver-Prozess"
 
-#: postmaster/postmaster.c:3164
+#: postmaster/postmaster.c:3225
 msgid "autovacuum launcher process"
 msgstr "Autovacuum-Launcher-Prozess"
 
-#: postmaster/postmaster.c:3182
+#: postmaster/postmaster.c:3243
 msgid "archiver process"
 msgstr "Archivierprozess"
 
-#: postmaster/postmaster.c:3197
-msgid "statistics collector process"
-msgstr "Statistiksammelprozess"
-
-#: postmaster/postmaster.c:3211
+#: postmaster/postmaster.c:3256
 msgid "system logger process"
 msgstr "Systemlogger-Prozess"
 
-#: postmaster/postmaster.c:3275
+#: postmaster/postmaster.c:3320
 #, c-format
 msgid "background worker \"%s\""
 msgstr "Background-Worker »%s«"
 
-#: postmaster/postmaster.c:3359 postmaster/postmaster.c:3379
-#: postmaster/postmaster.c:3386 postmaster/postmaster.c:3404
+#: postmaster/postmaster.c:3399 postmaster/postmaster.c:3419
+#: postmaster/postmaster.c:3426 postmaster/postmaster.c:3444
 msgid "server process"
 msgstr "Serverprozess"
 
-#: postmaster/postmaster.c:3458
+#: postmaster/postmaster.c:3498
 #, c-format
 msgid "terminating any other active server processes"
 msgstr "aktive Serverprozesse werden abgebrochen"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3711
+#: postmaster/postmaster.c:3735
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) beendete mit Status %d"
 
-#: postmaster/postmaster.c:3713 postmaster/postmaster.c:3725
-#: postmaster/postmaster.c:3735 postmaster/postmaster.c:3746
+#: postmaster/postmaster.c:3737 postmaster/postmaster.c:3749
+#: postmaster/postmaster.c:3759 postmaster/postmaster.c:3770
 #, c-format
 msgid "Failed process was running: %s"
 msgstr "Der fehlgeschlagene Prozess führte aus: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3722
+#: postmaster/postmaster.c:3746
 #, c-format
 msgid "%s (PID %d) was terminated by exception 0x%X"
 msgstr "%s (PID %d) wurde durch Ausnahme 0x%X beendet"
 
+#: postmaster/postmaster.c:3748 postmaster/shell_archive.c:132
+#, c-format
+msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
+msgstr "Sehen Sie die Beschreibung des Hexadezimalwerts in der C-Include-Datei »ntstatus.h« nach."
+
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3732
+#: postmaster/postmaster.c:3756
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d: %s"
 msgstr "%s (PID %d) wurde von Signal %d beendet: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3744
+#: postmaster/postmaster.c:3768
 #, c-format
 msgid "%s (PID %d) exited with unrecognized status %d"
 msgstr "%s (PID %d) beendete mit unbekanntem Status %d"
 
-#: postmaster/postmaster.c:3959
+#: postmaster/postmaster.c:3968
 #, c-format
 msgid "abnormal database system shutdown"
 msgstr "abnormales Herunterfahren des Datenbanksystems"
 
-#: postmaster/postmaster.c:3997
-#, fuzzy, c-format
-#| msgid "aborting startup due to startup process failure"
+#: postmaster/postmaster.c:3994
+#, c-format
 msgid "shutting down due to startup process failure"
-msgstr "Serverstart abgebrochen wegen Startprozessfehler"
+msgstr "fahre herunter wegen Startprozessfehler"
 
-#: postmaster/postmaster.c:4003
+#: postmaster/postmaster.c:4000
 #, c-format
 msgid "shutting down because restart_after_crash is off"
-msgstr ""
+msgstr "fahre herunter, weil restart_after_crash aus ist"
 
-#: postmaster/postmaster.c:4015
+#: postmaster/postmaster.c:4012
 #, c-format
 msgid "all server processes terminated; reinitializing"
 msgstr "alle Serverprozesse beendet; initialisiere neu"
 
-#: postmaster/postmaster.c:4189 postmaster/postmaster.c:5548
-#: postmaster/postmaster.c:5939
+#: postmaster/postmaster.c:4184 postmaster/postmaster.c:5520
+#: postmaster/postmaster.c:5910
 #, c-format
 msgid "could not generate random cancel key"
 msgstr "konnte zufälligen Stornierungsschlüssel nicht erzeugen"
 
-#: postmaster/postmaster.c:4243
+#: postmaster/postmaster.c:4246
 #, c-format
 msgid "could not fork new process for connection: %m"
 msgstr "konnte neuen Prozess für Verbindung nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:4285
+#: postmaster/postmaster.c:4288
 msgid "could not fork new process for connection: "
 msgstr "konnte neuen Prozess für Verbindung nicht starten (fork-Fehler): "
 
-#: postmaster/postmaster.c:4391
+#: postmaster/postmaster.c:4394
 #, c-format
 msgid "connection received: host=%s port=%s"
 msgstr "Verbindung empfangen: Host=%s Port=%s"
 
-#: postmaster/postmaster.c:4396
+#: postmaster/postmaster.c:4399
 #, c-format
 msgid "connection received: host=%s"
 msgstr "Verbindung empfangen: Host=%s"
 
-#: postmaster/postmaster.c:4639
+#: postmaster/postmaster.c:4636
 #, c-format
 msgid "could not execute server process \"%s\": %m"
 msgstr "konnte Serverprozess »%s« nicht ausführen: %m"
 
-#: postmaster/postmaster.c:4697
-#, fuzzy, c-format
-#| msgid "could not close handle to backend parameter variables: error code %lu\n"
+#: postmaster/postmaster.c:4694
+#, c-format
 msgid "could not create backend parameter file mapping: error code %lu"
-msgstr "konnte Handle für Backend-Parametervariablen nicht schließen: Fehlercode %lu\n"
+msgstr "konnte Backend-Parameter-Datei-Mapping nicht erzeugen: Fehlercode %lu"
 
-#: postmaster/postmaster.c:4706
-#, fuzzy, c-format
-#| msgid "could not map view of backend variables: error code %lu\n"
+#: postmaster/postmaster.c:4703
+#, c-format
 msgid "could not map backend parameter memory: error code %lu"
-msgstr "konnte Sicht der Backend-Variablen nicht mappen: Fehlercode %lu\n"
+msgstr "konnte Backend-Parameter-Speicher nicht mappen: Fehlercode %lu"
 
-#: postmaster/postmaster.c:4733
-#, fuzzy, c-format
-#| msgid "command too long\n"
+#: postmaster/postmaster.c:4730
+#, c-format
 msgid "subprocess command line too long"
-msgstr "Befehl zu lang\n"
+msgstr "Kommandozeile für Subprozess zu lang"
 
-#: postmaster/postmaster.c:4751
-#, fuzzy, c-format
-#| msgid "pgpipe: getsockname() failed: error code %d"
+#: postmaster/postmaster.c:4748
+#, c-format
 msgid "CreateProcess() call failed: %m (error code %lu)"
-msgstr "pgpipe: getsockname() fehlgeschlagen: Fehlercode %d"
+msgstr "Aufruf von CreateProcess() fehlgeschlagen: %m (Fehlercode %lu)"
 
-#: postmaster/postmaster.c:4778
-#, fuzzy, c-format
-#| msgid "could not unmap view of backend variables: error code %lu\n"
+#: postmaster/postmaster.c:4775
+#, c-format
 msgid "could not unmap view of backend parameter file: error code %lu"
-msgstr "konnte Sicht der Backend-Variablen nicht unmappen: Fehlercode %lu\n"
+msgstr "konnte Sicht der Backend-Parameter-Datei nicht unmappen: Fehlercode %lu"
 
-#: postmaster/postmaster.c:4782
-#, fuzzy, c-format
-#| msgid "could not close handle to backend parameter variables: error code %lu\n"
+#: postmaster/postmaster.c:4779
+#, c-format
 msgid "could not close handle to backend parameter file: error code %lu"
-msgstr "konnte Handle für Backend-Parametervariablen nicht schließen: Fehlercode %lu\n"
+msgstr "konnte Handle für Backend-Parameter-Datei nicht schließen: Fehlercode %lu"
 
-#: postmaster/postmaster.c:4804
+#: postmaster/postmaster.c:4801
 #, c-format
 msgid "giving up after too many tries to reserve shared memory"
 msgstr "Aufgabe nach zu vielen Versuchen, Shared Memory zu reservieren"
 
-#: postmaster/postmaster.c:4805
+#: postmaster/postmaster.c:4802
 #, c-format
 msgid "This might be caused by ASLR or antivirus software."
 msgstr "Dies kann durch ASLR oder Antivirus-Software verursacht werden."
 
-#: postmaster/postmaster.c:4995
+#: postmaster/postmaster.c:4983
 #, c-format
 msgid "SSL configuration could not be loaded in child process"
 msgstr "SSL-Konfiguration konnte im Kindprozess nicht geladen werden"
 
-#: postmaster/postmaster.c:5121
+#: postmaster/postmaster.c:5108
 #, c-format
 msgid "Please report this to <%s>."
 msgstr "Bitte berichten Sie dies an <%s>."
 
-#: postmaster/postmaster.c:5208
+#: postmaster/postmaster.c:5180
 #, c-format
-msgid "database system is ready to accept read only connections"
+msgid "database system is ready to accept read-only connections"
 msgstr "Datenbanksystem ist bereit, um lesende Verbindungen anzunehmen"
 
-#: postmaster/postmaster.c:5472
+#: postmaster/postmaster.c:5444
 #, c-format
 msgid "could not fork startup process: %m"
 msgstr "konnte Startprozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5476
+#: postmaster/postmaster.c:5448
 #, c-format
 msgid "could not fork archiver process: %m"
 msgstr "konnte Archivierer-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5480
+#: postmaster/postmaster.c:5452
 #, c-format
 msgid "could not fork background writer process: %m"
 msgstr "konnte Background-Writer-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5484
+#: postmaster/postmaster.c:5456
 #, c-format
 msgid "could not fork checkpointer process: %m"
 msgstr "konnte Checkpointer-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5488
+#: postmaster/postmaster.c:5460
 #, c-format
 msgid "could not fork WAL writer process: %m"
 msgstr "konnte WAL-Writer-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5492
+#: postmaster/postmaster.c:5464
 #, c-format
 msgid "could not fork WAL receiver process: %m"
 msgstr "konnte WAL-Receiver-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5496
+#: postmaster/postmaster.c:5468
 #, c-format
 msgid "could not fork process: %m"
 msgstr "konnte Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5697 postmaster/postmaster.c:5720
+#: postmaster/postmaster.c:5669 postmaster/postmaster.c:5692
 #, c-format
 msgid "database connection requirement not indicated during registration"
 msgstr "die Notwendigkeit, Datenbankverbindungen zu erzeugen, wurde bei der Registrierung nicht angezeigt"
 
-#: postmaster/postmaster.c:5704 postmaster/postmaster.c:5727
+#: postmaster/postmaster.c:5676 postmaster/postmaster.c:5699
 #, c-format
 msgid "invalid processing mode in background worker"
 msgstr "ungültiger Verarbeitungsmodus in Background-Worker"
 
-#: postmaster/postmaster.c:5812
+#: postmaster/postmaster.c:5784
 #, c-format
 msgid "could not fork worker process: %m"
 msgstr "konnte Worker-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5925
+#: postmaster/postmaster.c:5896
 #, c-format
 msgid "no slot available for new worker process"
 msgstr "kein Slot für neuen Worker-Prozess verfügbar"
 
-#: postmaster/postmaster.c:6259
+#: postmaster/postmaster.c:6227
 #, c-format
 msgid "could not duplicate socket %d for use in backend: error code %d"
 msgstr "konnte Socket %d nicht für Verwendung in Backend duplizieren: Fehlercode %d"
 
-#: postmaster/postmaster.c:6291
+#: postmaster/postmaster.c:6259
 #, c-format
 msgid "could not create inherited socket: error code %d\n"
 msgstr "konnte geerbtes Socket nicht erzeugen: Fehlercode %d\n"
 
-#: postmaster/postmaster.c:6320
+#: postmaster/postmaster.c:6288
 #, c-format
 msgid "could not open backend variables file \"%s\": %s\n"
 msgstr "konnte Servervariablendatei »%s« nicht öffnen: %s\n"
 
-#: postmaster/postmaster.c:6327
+#: postmaster/postmaster.c:6295
 #, c-format
 msgid "could not read from backend variables file \"%s\": %s\n"
 msgstr "konnte nicht aus Servervariablendatei »%s« lesen: %s\n"
 
-#: postmaster/postmaster.c:6336
+#: postmaster/postmaster.c:6304
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "konnte Datei »%s« nicht löschen: %s\n"
 
-#: postmaster/postmaster.c:6353
+#: postmaster/postmaster.c:6321
 #, c-format
 msgid "could not map view of backend variables: error code %lu\n"
 msgstr "konnte Sicht der Backend-Variablen nicht mappen: Fehlercode %lu\n"
 
-#: postmaster/postmaster.c:6362
+#: postmaster/postmaster.c:6330
 #, c-format
 msgid "could not unmap view of backend variables: error code %lu\n"
 msgstr "konnte Sicht der Backend-Variablen nicht unmappen: Fehlercode %lu\n"
 
-#: postmaster/postmaster.c:6369
+#: postmaster/postmaster.c:6337
 #, c-format
 msgid "could not close handle to backend parameter variables: error code %lu\n"
 msgstr "konnte Handle für Backend-Parametervariablen nicht schließen: Fehlercode %lu\n"
 
-#: postmaster/postmaster.c:6546
+#: postmaster/postmaster.c:6511
 #, c-format
 msgid "could not read exit code for process\n"
 msgstr "konnte Exitcode des Prozesses nicht lesen\n"
 
-#: postmaster/postmaster.c:6551
+#: postmaster/postmaster.c:6516
 #, c-format
 msgid "could not post child completion status\n"
 msgstr "konnte Child-Completion-Status nicht versenden\n"
 
-#: postmaster/syslogger.c:474 postmaster/syslogger.c:1153
+#: postmaster/shell_archive.c:121
+#, c-format
+msgid "archive command failed with exit code %d"
+msgstr "Archivbefehl ist fehlgeschlagen mit Statuscode %d"
+
+#: postmaster/shell_archive.c:123 postmaster/shell_archive.c:133
+#: postmaster/shell_archive.c:139 postmaster/shell_archive.c:148
+#, c-format
+msgid "The failed archive command was: %s"
+msgstr "Der fehlgeschlagene Archivbefehl war: %s"
+
+#: postmaster/shell_archive.c:130
+#, c-format
+msgid "archive command was terminated by exception 0x%X"
+msgstr "Archivbefehl wurde durch Ausnahme 0x%X beendet"
+
+#: postmaster/shell_archive.c:137
+#, c-format
+msgid "archive command was terminated by signal %d: %s"
+msgstr "Archivbefehl wurde von Signal %d beendet: %s"
+
+#: postmaster/shell_archive.c:146
+#, c-format
+msgid "archive command exited with unrecognized status %d"
+msgstr "Archivbefehl hat mit unbekanntem Status %d beendet"
+
+#: postmaster/syslogger.c:501 postmaster/syslogger.c:1222
 #, c-format
 msgid "could not read from logger pipe: %m"
 msgstr "konnte nicht aus Logger-Pipe lesen: %m"
 
-#: postmaster/syslogger.c:571 postmaster/syslogger.c:585
+#: postmaster/syslogger.c:598 postmaster/syslogger.c:612
 #, c-format
 msgid "could not create pipe for syslog: %m"
 msgstr "konnte Pipe für Syslog nicht erzeugen: %m"
 
-#: postmaster/syslogger.c:636
+#: postmaster/syslogger.c:677
 #, c-format
 msgid "could not fork system logger: %m"
 msgstr "konnte Systemlogger nicht starten (fork-Fehler): %m"
 
-#: postmaster/syslogger.c:672
+#: postmaster/syslogger.c:713
 #, c-format
 msgid "redirecting log output to logging collector process"
 msgstr "Logausgabe wird an Logsammelprozess umgeleitet"
 
-#: postmaster/syslogger.c:673
+#: postmaster/syslogger.c:714
 #, c-format
 msgid "Future log output will appear in directory \"%s\"."
 msgstr "Die weitere Logausgabe wird im Verzeichnis »%s« erscheinen."
 
-#: postmaster/syslogger.c:681
+#: postmaster/syslogger.c:722
 #, c-format
 msgid "could not redirect stdout: %m"
 msgstr "konnte Standardausgabe nicht umleiten: %m"
 
-#: postmaster/syslogger.c:686 postmaster/syslogger.c:703
+#: postmaster/syslogger.c:727 postmaster/syslogger.c:744
 #, c-format
 msgid "could not redirect stderr: %m"
 msgstr "konnte Standardfehlerausgabe nicht umleiten: %m"
 
-#: postmaster/syslogger.c:1108
+#: postmaster/syslogger.c:1177
 #, c-format
 msgid "could not write to log file: %s\n"
 msgstr "konnte nicht in Logdatei schreiben: %s\n"
 
-#: postmaster/syslogger.c:1225
+#: postmaster/syslogger.c:1295
 #, c-format
 msgid "could not open log file \"%s\": %m"
 msgstr "konnte Logdatei »%s« nicht öffnen: %m"
 
-#: postmaster/syslogger.c:1287 postmaster/syslogger.c:1337
+#: postmaster/syslogger.c:1385
 #, c-format
 msgid "disabling automatic rotation (use SIGHUP to re-enable)"
 msgstr "automatische Rotation abgeschaltet (SIGHUP zum Wiederanschalten verwenden)"
 
-#: regex/regc_pg_locale.c:262
+#: regex/regc_pg_locale.c:242
 #, c-format
 msgid "could not determine which collation to use for regular expression"
 msgstr "konnte die für den regulären Ausdruck zu verwendende Sortierfolge nicht bestimmen"
 
-#: regex/regc_pg_locale.c:269
+#: regex/regc_pg_locale.c:265
 #, c-format
 msgid "nondeterministic collations are not supported for regular expressions"
 msgstr "nichtdeterministische Sortierfolgen werden von regulären Ausdrücken nicht unterstützt"
 
-#: repl_gram.y:349 repl_gram.y:381
+#: repl_gram.y:303 repl_gram.y:335
 #, c-format
 msgid "invalid timeline %u"
 msgstr "ungültige Zeitleiste %u"
 
-#: repl_scanner.l:131
+#: repl_scanner.l:142
 msgid "invalid streaming start location"
 msgstr "ungültige Streaming-Startposition"
 
-#: repl_scanner.l:182 scan.l:717
+#: repl_scanner.l:199 scan.l:724
 msgid "unterminated quoted string"
 msgstr "Zeichenkette in Anführungszeichen nicht abgeschlossen"
 
-#: replication/backup_manifest.c:255
+#: replication/backup_manifest.c:253
 #, c-format
 msgid "expected end timeline %u but found timeline %u"
 msgstr "End-Zeitleiste %u wurde erwartet, aber Zeitleiste %u wurde gefunden"
 
-#: replication/backup_manifest.c:272
+#: replication/backup_manifest.c:277
 #, c-format
 msgid "expected start timeline %u but found timeline %u"
 msgstr "Start-Zeitleiste %u wurde erwartet, aber Zeitleiste %u wurde gefunden"
 
-#: replication/backup_manifest.c:299
+#: replication/backup_manifest.c:304
 #, c-format
 msgid "start timeline %u not found in history of timeline %u"
 msgstr "Start-Zeitleiste %u nicht in der History der Zeitleiste %u gefunden"
 
-#: replication/backup_manifest.c:352
+#: replication/backup_manifest.c:355
 #, c-format
 msgid "could not rewind temporary file"
 msgstr "konnte Position in temporärer Datei nicht auf Anfang setzen"
 
-#: replication/backup_manifest.c:379
+#: replication/backup_manifest.c:374
 #, c-format
 msgid "could not read from temporary file: %m"
 msgstr "konnte nicht aus temporärer Datei lesen: %m"
 
-#: replication/basebackup.c:546
+#: replication/basebackup.c:454
 #, c-format
 msgid "could not find any WAL files"
 msgstr "konnte keine WAL-Dateien finden"
 
-#: replication/basebackup.c:561 replication/basebackup.c:577
-#: replication/basebackup.c:586
+#: replication/basebackup.c:469 replication/basebackup.c:484
+#: replication/basebackup.c:493
 #, c-format
 msgid "could not find WAL file \"%s\""
 msgstr "konnte WAL-Datei »%s« nicht finden"
 
-#: replication/basebackup.c:629 replication/basebackup.c:659
+#: replication/basebackup.c:535 replication/basebackup.c:560
 #, c-format
 msgid "unexpected WAL file size \"%s\""
 msgstr "unerwartete WAL-Dateigröße »%s«"
 
-#: replication/basebackup.c:644 replication/basebackup.c:1771
-#, c-format
-msgid "base backup could not send data, aborting backup"
-msgstr "Basissicherung konnte keine Daten senden, Sicherung abgebrochen"
-
-#: replication/basebackup.c:722
+#: replication/basebackup.c:630
 #, c-format
 msgid "%lld total checksum verification failure"
 msgid_plural "%lld total checksum verification failures"
 msgstr[0] "%lld Prüfsummenfehler insgesamt"
 msgstr[1] "%lld Prüfsummenfehler insgesamt"
 
-#: replication/basebackup.c:729
+#: replication/basebackup.c:637
 #, c-format
 msgid "checksum verification failure during base backup"
 msgstr "Prüfsummenüberprüfung bei der Basissicherung fehlgeschlagen"
 
-#: replication/basebackup.c:789 replication/basebackup.c:798
-#: replication/basebackup.c:807 replication/basebackup.c:816
-#: replication/basebackup.c:825 replication/basebackup.c:836
-#: replication/basebackup.c:853 replication/basebackup.c:862
-#: replication/basebackup.c:874 replication/basebackup.c:898
+#: replication/basebackup.c:706 replication/basebackup.c:715
+#: replication/basebackup.c:726 replication/basebackup.c:743
+#: replication/basebackup.c:752 replication/basebackup.c:763
+#: replication/basebackup.c:780 replication/basebackup.c:789
+#: replication/basebackup.c:801 replication/basebackup.c:825
+#: replication/basebackup.c:839 replication/basebackup.c:850
+#: replication/basebackup.c:861 replication/basebackup.c:874
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "doppelte Option »%s«"
 
-#: replication/basebackup.c:842
+#: replication/basebackup.c:734
+#, c-format
+msgid "unrecognized checkpoint type: \"%s\""
+msgstr "unbekannter Checkpoint-Typ: »%s«"
+
+#: replication/basebackup.c:769
 #, c-format
 msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
 msgstr "%d ist außerhalb des gültigen Bereichs für Parameter »%s« (%d ... %d)"
 
-#: replication/basebackup.c:887
+#: replication/basebackup.c:814
 #, c-format
 msgid "unrecognized manifest option: \"%s\""
 msgstr "unbekannte Manifestoption: »%s«"
 
-#: replication/basebackup.c:903
+#: replication/basebackup.c:830
 #, c-format
 msgid "unrecognized checksum algorithm: \"%s\""
 msgstr "unbekannter Prüfsummenalgorithmus: »%s«"
 
-#: replication/basebackup.c:918
+#: replication/basebackup.c:865
+#, c-format
+msgid "unrecognized compression algorithm \"%s\""
+msgstr "unbekannter Komprimierungsalgorithmus »%s«"
+
+#: replication/basebackup.c:881
+#, fuzzy, c-format
+#| msgid "unrecognized column option \"%s\""
+msgid "unrecognized base backup option: \"%s\""
+msgstr "unbekannte Spaltenoption »%s«"
+
+#: replication/basebackup.c:892
 #, c-format
 msgid "manifest checksums require a backup manifest"
 msgstr "Manifest-Prüfsummen benötigen ein Backup-Manifest"
 
-#: replication/basebackup.c:1519
+#: replication/basebackup.c:901
+#, fuzzy, c-format
+#| msgid "--no-slot cannot be used with slot name"
+msgid "target detail cannot be used without target"
+msgstr "--no-slot kann nicht zusammen mit einem Slot-Namen verwendet werden"
+
+#: replication/basebackup.c:910 replication/basebackup_target.c:218
+#, c-format
+msgid "target '%s' does not accept a target detail"
+msgstr ""
+
+#: replication/basebackup.c:921
+#, c-format
+msgid "compression detail requires compression"
+msgstr ""
+
+#: replication/basebackup.c:934
+#, fuzzy, c-format
+#| msgid "invalid compression code: %d"
+msgid "invalid compression specification: %s"
+msgstr "ungültiger Komprimierungscode: %d"
+
+#: replication/basebackup.c:1424
 #, c-format
 msgid "skipping special file \"%s\""
 msgstr "überspringe besondere Datei »%s«"
 
-#: replication/basebackup.c:1640
+#: replication/basebackup.c:1543
 #, c-format
 msgid "invalid segment number %d in file \"%s\""
 msgstr "ungültige Segmentnummer %d in Datei »%s«"
 
-#: replication/basebackup.c:1678
+#: replication/basebackup.c:1583
 #, c-format
 msgid "could not verify checksum in file \"%s\", block %u: read buffer size %d and page size %d differ"
 msgstr "konnte Prüfsumme in Datei »%s«, Block %u nicht überprüfen: gelesene Puffergröße %d und Seitengröße %d sind verschieden"
 
-#: replication/basebackup.c:1751
+#: replication/basebackup.c:1657
 #, c-format
 msgid "checksum verification failed in file \"%s\", block %u: calculated %X but expected %X"
 msgstr "Prüfsummenüberprüfung fehlgeschlagen in Datei »%s«, Block %u: berechnet %X, aber erwartet %X"
 
-#: replication/basebackup.c:1758
+#: replication/basebackup.c:1664
 #, c-format
 msgid "further checksum verification failures in file \"%s\" will not be reported"
 msgstr "weitere Prüfsummenfehler in Datei »%s« werden nicht berichtet werden"
 
-#: replication/basebackup.c:1816
+#: replication/basebackup.c:1711
 #, 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] "Datei »%s« hat insgesamt %d Prüfsummenfehler"
 msgstr[1] "Datei »%s« hat insgesamt %d Prüfsummenfehler"
 
-#: replication/basebackup.c:1852
+#: replication/basebackup.c:1757
 #, c-format
 msgid "file name too long for tar format: \"%s\""
 msgstr "Dateiname zu lang für Tar-Format: »%s«"
 
-#: replication/basebackup.c:1857
+#: replication/basebackup.c:1762
 #, c-format
 msgid "symbolic link target too long for tar format: file name \"%s\", target \"%s\""
 msgstr "Ziel der symbolischen Verknüpfung zu lang für Tar-Format: Dateiname »%s«, Ziel »%s«"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:227
+#: replication/basebackup_gzip.c:67
+#, fuzzy, c-format
+#| msgid "Bonjour is not supported by this build"
+msgid "gzip compression is not supported by this build"
+msgstr "Bonjour wird von dieser Installation nicht unterstützt"
+
+#: replication/basebackup_gzip.c:147
+#, c-format
+msgid "could not initialize compression library"
+msgstr "konnte Komprimierungsbibliothek nicht initialisieren"
+
+#: replication/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 wird von dieser Installation nicht unterstützt"
+
+#: replication/basebackup_server.c:75
+#, fuzzy, c-format
+#| msgid "must be superuser or a member of the pg_write_server_files role to COPY to a file"
+msgid "must be superuser or a role with privileges of the pg_write_server_files role to create server backup"
+msgstr "nur Superuser oder Mitglieder von pg_write_server_files können mit COPY in eine Datei schreiben"
+
+#: replication/basebackup_server.c:89
+#, fuzzy, c-format
+#| msgid "relative path not allowed for COPY to file"
+msgid "relative path not allowed for server backup"
+msgstr "relativer Pfad bei COPY in Datei nicht erlaubt"
+
+#: replication/basebackup_server.c:115
+#, c-format
+msgid "directory \"%s\" exists but is not empty"
+msgstr "Verzeichnis »%s« existiert aber ist nicht leer"
+
+#: replication/basebackup_server.c:123 utils/init/postinit.c:1052
+#, c-format
+msgid "could not access directory \"%s\": %m"
+msgstr "konnte nicht auf Verzeichnis »%s« zugreifen: %m"
+
+#: replication/basebackup_server.c:175 replication/basebackup_server.c:182
+#: replication/basebackup_server.c:268 replication/basebackup_server.c:275
+#: storage/smgr/md.c:456 storage/smgr/md.c:463 storage/smgr/md.c:754
+#, c-format
+msgid "Check free disk space."
+msgstr "Prüfen Sie den freien Festplattenplatz."
+
+#: replication/basebackup_server.c:179 replication/basebackup_server.c:272
+#, 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"
+msgstr "konnte Datei »%s« nicht erweitern: es wurden nur %d von %d Bytes bei Block %u geschrieben"
+
+#: replication/basebackup_target.c:146
+#, fuzzy, c-format
+#| msgid "unrecognized reset target: \"%s\""
+msgid "unrecognized target: \"%s\""
+msgstr "unbekanntes Reset-Ziel: »%s«"
+
+#: replication/basebackup_target.c:237
+#, fuzzy, c-format
+#| msgid "%s requires a parameter"
+msgid "target '%s' requires a target detail"
+msgstr "%s erfordert einen Parameter"
+
+#: replication/basebackup_zstd.c:66
+#, fuzzy, c-format
+#| msgid "Bonjour is not supported by this build"
+msgid "zstd compression is not supported by this build"
+msgstr "Bonjour wird von dieser Installation nicht unterstützt"
+
+#: replication/basebackup_zstd.c:120
+#, fuzzy, c-format
+#| msgid "could not set compression level %d: %s"
+msgid "could not set compression worker count to %d: %s"
+msgstr "konnte Komprimierungsniveau %d nicht setzen: %s"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:240
 #, c-format
 msgid "could not clear search path: %s"
 msgstr "konnte Suchpfad nicht auf leer setzen: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:256
+#: replication/libpqwalreceiver/libpqwalreceiver.c:269
 #, c-format
 msgid "invalid connection string syntax: %s"
 msgstr "ungültige Syntax für Verbindungszeichenkette: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:281
+#: replication/libpqwalreceiver/libpqwalreceiver.c:295
 #, c-format
 msgid "could not parse connection string: %s"
 msgstr "konnte Verbindungsparameter nicht interpretieren: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:353
+#: replication/libpqwalreceiver/libpqwalreceiver.c:368
 #, c-format
 msgid "could not receive database system identifier and timeline ID from the primary server: %s"
 msgstr "konnte Datenbanksystemidentifikator und Zeitleisten-ID nicht vom Primärserver empfangen: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:364
-#: replication/libpqwalreceiver/libpqwalreceiver.c:588
+#: replication/libpqwalreceiver/libpqwalreceiver.c:380
+#: replication/libpqwalreceiver/libpqwalreceiver.c:618
 #, c-format
 msgid "invalid response from primary server"
 msgstr "ungültige Antwort vom Primärserver"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:365
+#: replication/libpqwalreceiver/libpqwalreceiver.c:381
 #, c-format
 msgid "Could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields."
 msgstr "Konnte System nicht identifizieren: %d Zeilen und %d Felder erhalten, %d Zeilen und %d oder mehr Felder erwartet."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:440
-#: replication/libpqwalreceiver/libpqwalreceiver.c:446
-#: replication/libpqwalreceiver/libpqwalreceiver.c:475
+#: replication/libpqwalreceiver/libpqwalreceiver.c:461
+#: replication/libpqwalreceiver/libpqwalreceiver.c:468
+#: replication/libpqwalreceiver/libpqwalreceiver.c:498
 #, c-format
 msgid "could not start WAL streaming: %s"
 msgstr "konnte WAL-Streaming nicht starten: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:498
+#: replication/libpqwalreceiver/libpqwalreceiver.c:522
 #, c-format
 msgid "could not send end-of-streaming message to primary: %s"
 msgstr "konnte End-of-Streaming-Nachricht nicht an Primärserver senden: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:520
+#: replication/libpqwalreceiver/libpqwalreceiver.c:545
 #, c-format
 msgid "unexpected result set after end-of-streaming"
 msgstr "unerwartete Ergebnismenge nach End-of-Streaming"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:534
+#: replication/libpqwalreceiver/libpqwalreceiver.c:560
 #, c-format
 msgid "error while shutting down streaming COPY: %s"
 msgstr "Fehler beim Beenden des COPY-Datenstroms: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:543
+#: replication/libpqwalreceiver/libpqwalreceiver.c:570
 #, c-format
 msgid "error reading result of streaming command: %s"
 msgstr "Fehler beim Lesen des Ergebnisses von Streaming-Befehl: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:551
-#: replication/libpqwalreceiver/libpqwalreceiver.c:785
+#: replication/libpqwalreceiver/libpqwalreceiver.c:579
+#: replication/libpqwalreceiver/libpqwalreceiver.c:817
 #, c-format
 msgid "unexpected result after CommandComplete: %s"
 msgstr "unerwartetes Ergebnis nach CommandComplete: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:577
+#: replication/libpqwalreceiver/libpqwalreceiver.c:606
 #, c-format
 msgid "could not receive timeline history file from the primary server: %s"
 msgstr "konnte Zeitleisten-History-Datei nicht vom Primärserver empfangen: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:589
+#: replication/libpqwalreceiver/libpqwalreceiver.c:619
 #, c-format
 msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields."
 msgstr "1 Tupel mit 2 Feldern erwartet, %d Tupel mit %d Feldern erhalten."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:749
-#: replication/libpqwalreceiver/libpqwalreceiver.c:800
-#: replication/libpqwalreceiver/libpqwalreceiver.c:806
+#: replication/libpqwalreceiver/libpqwalreceiver.c:780
+#: replication/libpqwalreceiver/libpqwalreceiver.c:833
+#: replication/libpqwalreceiver/libpqwalreceiver.c:840
 #, c-format
 msgid "could not receive data from WAL stream: %s"
 msgstr "konnte keine Daten vom WAL-Stream empfangen: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:825
+#: replication/libpqwalreceiver/libpqwalreceiver.c:860
 #, c-format
 msgid "could not send data to WAL stream: %s"
 msgstr "konnte keine Daten an den WAL-Stream senden: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:878
+#: replication/libpqwalreceiver/libpqwalreceiver.c:952
 #, c-format
 msgid "could not create replication slot \"%s\": %s"
 msgstr "konnte Replikations-Slot »%s« nicht erzeugen: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:923
+#: replication/libpqwalreceiver/libpqwalreceiver.c:998
 #, c-format
 msgid "invalid query response"
 msgstr "ungültige Antwort auf Anfrage"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:924
+#: replication/libpqwalreceiver/libpqwalreceiver.c:999
 #, c-format
 msgid "Expected %d fields, got %d fields."
 msgstr "%d Felder erwartet, %d Feldern erhalten."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:994
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1069
 #, c-format
 msgid "the query interface requires a database connection"
 msgstr "Ausführen von Anfragen benötigt eine Datenbankverbindung"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1025
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1100
 msgid "empty query"
 msgstr "leere Anfrage"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1031
-#, fuzzy
-#| msgid "unexpected delimiter"
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1106
 msgid "unexpected pipeline mode"
-msgstr "unerwartetes Trennzeichen"
+msgstr "unerwarteter Pipeline-Modus"
 
-#: replication/logical/launcher.c:286
+#: replication/logical/launcher.c:285
 #, c-format
 msgid "cannot start logical replication workers when max_replication_slots = 0"
 msgstr "Arbeitsprozesse für logische Replikation können nicht gestartet werden, wenn max_replication_slots = 0"
 
-#: replication/logical/launcher.c:366
+#: replication/logical/launcher.c:365
 #, c-format
 msgid "out of logical replication worker slots"
 msgstr "alle Slots für Arbeitsprozesse für logische Replikation belegt"
 
-#: replication/logical/launcher.c:367
+#: replication/logical/launcher.c:366
 #, c-format
 msgid "You might need to increase max_logical_replication_workers."
 msgstr "Sie müssen möglicherweise max_logical_replication_workers erhöhen."
@@ -19186,148 +20122,106 @@ msgstr "logische Dekodierung benötigt eine Datenbankverbindung"
 msgid "logical decoding cannot be used while in recovery"
 msgstr "logische Dekodierung kann nicht während der Wiederherstellung verwendet werden"
 
-#: replication/logical/logical.c:347 replication/logical/logical.c:499
+#: replication/logical/logical.c:348 replication/logical/logical.c:502
 #, c-format
 msgid "cannot use physical replication slot for logical decoding"
 msgstr "physischer Replikations-Slot kann nicht für logisches Dekodieren verwendet werden"
 
-#: replication/logical/logical.c:352 replication/logical/logical.c:504
+#: replication/logical/logical.c:353 replication/logical/logical.c:507
 #, c-format
 msgid "replication slot \"%s\" was not created in this database"
 msgstr "Replikations-Slot »%s« wurde nicht in dieser Datenbank erzeugt"
 
-#: replication/logical/logical.c:359
+#: replication/logical/logical.c:360
 #, c-format
 msgid "cannot create logical replication slot in transaction that has performed writes"
 msgstr "logischer Replikations-Slot kann nicht in einer Transaktion erzeugt werden, die Schreibvorgänge ausgeführt hat"
 
-#: replication/logical/logical.c:549
+#: replication/logical/logical.c:568
 #, c-format
 msgid "starting logical decoding for slot \"%s\""
 msgstr "starte logisches Dekodieren für Slot »%s«"
 
-#: replication/logical/logical.c:551
-#, c-format
-msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
-msgstr "Streaming beginnt bei Transaktionen, die nach %X/%X committen; lese WAL ab %X/%X."
-
-#: replication/logical/logical.c:696
-#, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
-msgstr "Slot »%s«, Ausgabe-Plugin »%s«, im Callback %s, zugehörige LSN %X/%X"
-
-#: replication/logical/logical.c:702
-#, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
-msgstr "Slot »%s«, Ausgabe-Plugin »%s«, im Callback %s"
-
-#: replication/logical/logical.c:868
-#, c-format
-msgid "logical replication at prepare time requires begin_prepare_cb callback"
-msgstr ""
-
-#: replication/logical/logical.c:911
-#, c-format
-msgid "logical replication at prepare time requires prepare_cb callback"
-msgstr ""
-
-#: replication/logical/logical.c:954
-#, c-format
-msgid "logical replication at prepare time requires commit_prepared_cb callback"
-msgstr ""
-
-#: replication/logical/logical.c:998
-#, c-format
-msgid "logical replication at prepare time requires rollback_prepared_cb callback"
-msgstr ""
-
-#: replication/logical/logical.c:1220
-#, fuzzy, c-format
-#| msgid "logical decoding requires a database connection"
-msgid "logical streaming requires a stream_start_cb callback"
-msgstr "logische Dekodierung benötigt eine Datenbankverbindung"
-
-#: replication/logical/logical.c:1266
-#, fuzzy, c-format
-#| msgid "logical decoding requires a database connection"
-msgid "logical streaming requires a stream_stop_cb callback"
-msgstr "logische Dekodierung benötigt eine Datenbankverbindung"
-
-#: replication/logical/logical.c:1305
-#, fuzzy, c-format
-#| msgid "logical decoding requires a database connection"
-msgid "logical streaming requires a stream_abort_cb callback"
-msgstr "logische Dekodierung benötigt eine Datenbankverbindung"
+#: replication/logical/logical.c:570
+#, c-format
+msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
+msgstr "Streaming beginnt bei Transaktionen, die nach %X/%X committen; lese WAL ab %X/%X."
 
-#: replication/logical/logical.c:1348
+#: replication/logical/logical.c:718
 #, c-format
-msgid "logical streaming at prepare time requires a stream_prepare_cb callback"
-msgstr ""
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
+msgstr "Slot »%s«, Ausgabe-Plugin »%s«, im Callback %s, zugehörige LSN %X/%X"
 
-#: replication/logical/logical.c:1387
+#: replication/logical/logical.c:724
 #, c-format
-msgid "logical streaming requires a stream_commit_cb callback"
-msgstr ""
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
+msgstr "Slot »%s«, Ausgabe-Plugin »%s«, im Callback %s"
 
-#: replication/logical/logical.c:1433
-#, fuzzy, c-format
-#| msgid "logical decoding requires a database connection"
-msgid "logical streaming requires a stream_change_cb callback"
-msgstr "logische Dekodierung benötigt eine Datenbankverbindung"
+#: replication/logical/logical.c:895 replication/logical/logical.c:940
+#: replication/logical/logical.c:985 replication/logical/logical.c:1031
+#, c-format
+msgid "logical replication at prepare time requires a %s callback"
+msgstr "logische Replikation bei PREPARE TRANSACTION benötigt einen %s-Callback"
 
-#: replication/logical/logicalfuncs.c:104 replication/slotfuncs.c:34
+#: replication/logical/logical.c:1263 replication/logical/logical.c:1312
+#: replication/logical/logical.c:1353 replication/logical/logical.c:1439
+#: replication/logical/logical.c:1488
 #, c-format
-msgid "must be superuser or replication role to use replication slots"
-msgstr "nur Superuser und Replikationsrollen können Replikations-Slots verwenden"
+msgid "logical streaming requires a %s callback"
+msgstr "logisches Streaming benötigt einen %s-Callback"
 
-#: replication/logical/logicalfuncs.c:134
+#: replication/logical/logical.c:1398
+#, c-format
+msgid "logical streaming at prepare time requires a %s callback"
+msgstr "logisches Streaming bei PREPARE TRANSACTION benötigt einen %s-Callback"
+
+#: replication/logical/logicalfuncs.c:126
 #, c-format
 msgid "slot name must not be null"
 msgstr "Slot-Name darf nicht NULL sein"
 
-#: replication/logical/logicalfuncs.c:150
+#: replication/logical/logicalfuncs.c:142
 #, c-format
 msgid "options array must not be null"
 msgstr "Optionen-Array darf nicht NULL sein"
 
-#: replication/logical/logicalfuncs.c:181
+#: replication/logical/logicalfuncs.c:159
 #, c-format
 msgid "array must be one-dimensional"
 msgstr "Array muss eindimensional sein"
 
-#: replication/logical/logicalfuncs.c:187
+#: replication/logical/logicalfuncs.c:165
 #, c-format
 msgid "array must not contain nulls"
 msgstr "Array darf keine NULL-Werte enthalten"
 
-#: replication/logical/logicalfuncs.c:203 utils/adt/json.c:1128
-#: utils/adt/jsonb.c:1303
+#: replication/logical/logicalfuncs.c:181 utils/adt/json.c:1437
+#: utils/adt/jsonb.c:1365
 #, c-format
 msgid "array must have even number of elements"
 msgstr "Array muss eine gerade Anzahl Elemente haben"
 
-#: replication/logical/logicalfuncs.c:251
+#: replication/logical/logicalfuncs.c:227
 #, c-format
 msgid "can no longer get changes from replication slot \"%s\""
 msgstr "aus Replikations-Slot »%s« können keine Änderungen mehr gelesen werden"
 
-#: replication/logical/logicalfuncs.c:253 replication/slotfuncs.c:650
-#, fuzzy, c-format
-#| msgid "This slot has never previously reserved WAL, or has been invalidated."
+#: replication/logical/logicalfuncs.c:229 replication/slotfuncs.c:616
+#, c-format
 msgid "This slot has never previously reserved WAL, or it has been invalidated."
 msgstr "Diese Slot hat nie zuvor WAL reserviert oder er wurde ungültig gemacht."
 
-#: replication/logical/logicalfuncs.c:265
+#: replication/logical/logicalfuncs.c:241
 #, c-format
 msgid "logical decoding output plugin \"%s\" produces binary output, but function \"%s\" expects textual data"
 msgstr "Ausgabe-Plugin »%s« erzeugt binäre Ausgabe, aber Funktion »%s« erwartet Textdaten"
 
-#: replication/logical/origin.c:188
+#: replication/logical/origin.c:189
 #, c-format
 msgid "cannot query or manipulate replication origin when max_replication_slots = 0"
 msgstr "Replication-Origin kann nicht abgefragt oder geändert werden, wenn max_replication_slots = 0"
 
-#: replication/logical/origin.c:193
+#: replication/logical/origin.c:194
 #, c-format
 msgid "cannot manipulate replication origins during recovery"
 msgstr "Replication-Origins können nicht während der Wiederherstellung geändert werden"
@@ -19363,510 +20257,595 @@ msgid "could not find free replication state, increase max_replication_slots"
 msgstr "konnte keinen freien Replication-State finden, erhöhen Sie max_replication_slots"
 
 #: replication/logical/origin.c:790
-#, fuzzy, c-format
-#| msgid "recovery restart point at %X/%X"
+#, c-format
 msgid "recovered replication state of node %u to %X/%X"
-msgstr "Recovery-Restart-Punkt bei %X/%X"
+msgstr "Replikationszustand von Knoten %u auf %X/%X wiederhergestellt"
 
 #: replication/logical/origin.c:800
 #, c-format
 msgid "replication slot checkpoint has wrong checksum %u, expected %u"
 msgstr "Replikations-Slot-Checkpoint hat falsche Prüfsumme %u, erwartet wurde %u"
 
-#: replication/logical/origin.c:928 replication/logical/origin.c:1114
+#: replication/logical/origin.c:928 replication/logical/origin.c:1117
 #, c-format
 msgid "replication origin with OID %d is already active for PID %d"
 msgstr "Replication-Origin mit OID %d ist bereits aktiv für PID %d"
 
-#: replication/logical/origin.c:939 replication/logical/origin.c:1126
+#: replication/logical/origin.c:939 replication/logical/origin.c:1129
 #, c-format
 msgid "could not find free replication state slot for replication origin with OID %u"
 msgstr "konnte keinen freien Replication-State-Slot für Replication-Origin mit OID %u finden"
 
-#: replication/logical/origin.c:941 replication/logical/origin.c:1128
-#: replication/slot.c:1798
+#: replication/logical/origin.c:941 replication/logical/origin.c:1131
+#: replication/slot.c:1955
 #, c-format
 msgid "Increase max_replication_slots and try again."
 msgstr "Erhöhen Sie max_replication_slots und versuchen Sie es erneut."
 
-#: replication/logical/origin.c:1085
+#: replication/logical/origin.c:1088
 #, c-format
 msgid "cannot setup replication origin when one is already setup"
 msgstr "kann Replication-Origin nicht einrichten, wenn schon einer eingerichtet ist"
 
-#: replication/logical/origin.c:1165 replication/logical/origin.c:1377
-#: replication/logical/origin.c:1397
+#: replication/logical/origin.c:1168 replication/logical/origin.c:1380
+#: replication/logical/origin.c:1400
 #, c-format
 msgid "no replication origin is configured"
 msgstr "kein Replication-Origin konfiguriert"
 
-#: replication/logical/origin.c:1248
+#: replication/logical/origin.c:1251
 #, c-format
 msgid "replication origin name \"%s\" is reserved"
 msgstr "Replication-Origin-Name »%s« ist reserviert"
 
-#: replication/logical/origin.c:1250
+#: replication/logical/origin.c:1253
 #, c-format
 msgid "Origin names starting with \"pg_\" are reserved."
 msgstr "Replication-Origin-Namen, die mit »pg_« anfangen, sind reserviert."
 
-#: replication/logical/relation.c:248
+#: replication/logical/relation.c:234
 #, c-format
 msgid "\"%s\""
 msgstr "»%s«"
 
-#: replication/logical/relation.c:251
+#: replication/logical/relation.c:237
 #, c-format
 msgid ", \"%s\""
 msgstr ", »%s«"
 
-#: replication/logical/relation.c:257
+#: replication/logical/relation.c:243
 #, c-format
 msgid "logical replication target relation \"%s.%s\" is missing replicated column: %s"
 msgid_plural "logical replication target relation \"%s.%s\" is missing replicated columns: %s"
 msgstr[0] "in Zielrelation für logische Replikation »%s.%s« fehlt eine replizierte Spalte: %s"
 msgstr[1] "in Zielrelation für logische Replikation »%s.%s« fehlen replizierte Spalten: %s"
 
-#: replication/logical/relation.c:337
+#: replication/logical/relation.c:323
 #, c-format
 msgid "logical replication target relation \"%s.%s\" does not exist"
 msgstr "Zielrelation für logische Replikation »%s.%s« existiert nicht"
 
-#: replication/logical/relation.c:418
+#: replication/logical/relation.c:404
 #, c-format
 msgid "logical replication target relation \"%s.%s\" uses system columns in REPLICA IDENTITY index"
 msgstr "Zielrelation für logische Replikation »%s.%s« verwendet Systemspalten in REPLICA-IDENTITY-Index"
 
-#: replication/logical/reorderbuffer.c:3777
+#: replication/logical/reorderbuffer.c:3809
 #, c-format
 msgid "could not write to data file for XID %u: %m"
 msgstr "konnte nicht in Datendatei für XID %u schreiben: %m"
 
-#: replication/logical/reorderbuffer.c:4120
-#: replication/logical/reorderbuffer.c:4145
+#: replication/logical/reorderbuffer.c:4153
+#: replication/logical/reorderbuffer.c:4178
 #, c-format
 msgid "could not read from reorderbuffer spill file: %m"
 msgstr "konnte nicht aus Reorder-Buffer-Spill-Datei lesen: %m"
 
-#: replication/logical/reorderbuffer.c:4124
-#: replication/logical/reorderbuffer.c:4149
+#: replication/logical/reorderbuffer.c:4157
+#: replication/logical/reorderbuffer.c:4182
 #, c-format
 msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes"
 msgstr "konnte nicht aus Reorder-Buffer-Spill-Datei lesen: %d statt %u Bytes gelesen"
 
-#: replication/logical/reorderbuffer.c:4397
+#: replication/logical/reorderbuffer.c:4432
 #, c-format
 msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m"
 msgstr "konnte Datei »%s« nicht löschen, bei Löschen von pg_replslot/%s/xid*: %m"
 
-#: replication/logical/reorderbuffer.c:4887
+#: replication/logical/reorderbuffer.c:4931
 #, c-format
 msgid "could not read from file \"%s\": read %d instead of %d bytes"
 msgstr "konnte nicht aus Datei »%s« lesen: %d statt %d Bytes gelesen"
 
-#: replication/logical/snapbuild.c:588
+#: replication/logical/snapbuild.c:597
 #, c-format
 msgid "initial slot snapshot too large"
 msgstr "initialer Slot-Snapshot ist zu groß"
 
-#: replication/logical/snapbuild.c:642
+#: replication/logical/snapbuild.c:651
 #, c-format
 msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID"
 msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs"
 msgstr[0] "logischer Dekodierungs-Snapshot exportiert: »%s« mit %u Transaktions-ID"
 msgstr[1] "logischer Dekodierungs-Snapshot exportiert: »%s« mit %u Transaktions-IDs"
 
-#: replication/logical/snapbuild.c:1254 replication/logical/snapbuild.c:1347
-#: replication/logical/snapbuild.c:1878
+#: replication/logical/snapbuild.c:1279 replication/logical/snapbuild.c:1372
+#: replication/logical/snapbuild.c:1901
 #, c-format
 msgid "logical decoding found consistent point at %X/%X"
 msgstr "logisches Dekodieren fand konsistenten Punkt bei %X/%X"
 
-#: replication/logical/snapbuild.c:1256
+#: replication/logical/snapbuild.c:1281
 #, c-format
 msgid "There are no running transactions."
 msgstr "Keine laufenden Transaktionen."
 
-#: replication/logical/snapbuild.c:1298
+#: replication/logical/snapbuild.c:1323
 #, c-format
 msgid "logical decoding found initial starting point at %X/%X"
 msgstr "logisches Dekodieren fand initialen Startpunkt bei %X/%X"
 
-#: replication/logical/snapbuild.c:1300 replication/logical/snapbuild.c:1324
+#: replication/logical/snapbuild.c:1325 replication/logical/snapbuild.c:1349
 #, c-format
 msgid "Waiting for transactions (approximately %d) older than %u to end."
 msgstr "Warten auf Abschluss der Transaktionen (ungefähr %d), die älter als %u sind."
 
-#: replication/logical/snapbuild.c:1322
+#: replication/logical/snapbuild.c:1347
 #, c-format
 msgid "logical decoding found initial consistent point at %X/%X"
 msgstr "logisches Dekodieren fand initialen konsistenten Punkt bei %X/%X"
 
-#: replication/logical/snapbuild.c:1349
+#: replication/logical/snapbuild.c:1374
 #, c-format
 msgid "There are no old transactions anymore."
 msgstr "Es laufen keine alten Transaktionen mehr."
 
-#: replication/logical/snapbuild.c:1746
+#: replication/logical/snapbuild.c:1769
 #, c-format
 msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u"
 msgstr "Scanbuild-State-Datei »%s« hat falsche magische Zahl %u statt %u"
 
-#: replication/logical/snapbuild.c:1752
+#: replication/logical/snapbuild.c:1775
 #, c-format
 msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u"
 msgstr "Snapbuild-State-Datei »%s« hat nicht unterstützte Version: %u statt %u"
 
-#: replication/logical/snapbuild.c:1823
+#: replication/logical/snapbuild.c:1846
 #, c-format
 msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u"
 msgstr "Prüfsummenfehler bei Snapbuild-State-Datei »%s«: ist %u, sollte %u sein"
 
-#: replication/logical/snapbuild.c:1880
+#: replication/logical/snapbuild.c:1903
 #, c-format
 msgid "Logical decoding will begin using saved snapshot."
 msgstr "Logische Dekodierung beginnt mit gespeichertem Snapshot."
 
-#: replication/logical/snapbuild.c:1952
+#: replication/logical/snapbuild.c:1975
 #, c-format
 msgid "could not parse file name \"%s\""
 msgstr "konnte Dateinamen »%s« nicht parsen"
 
-#: replication/logical/tablesync.c:144
+#: replication/logical/tablesync.c:151
 #, c-format
 msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has finished"
 msgstr "Arbeitsprozess für logische Replikation für Tabellensynchronisation für Subskription »%s«, Tabelle »%s« hat abgeschlossen"
 
-#: replication/logical/tablesync.c:726 replication/logical/tablesync.c:767
+#: replication/logical/tablesync.c:422
+#, fuzzy, c-format
+#| msgid "logical replication apply worker for subscription \"%s\" will restart because of a parameter change"
+msgid "logical replication apply worker for subscription \"%s\" will restart so that two_phase can be enabled"
+msgstr "Apply-Worker für logische Replikation für Subskription »%s« wird neu starten wegen einer Parameteränderung"
+
+#: replication/logical/tablesync.c:732 replication/logical/tablesync.c:875
 #, c-format
 msgid "could not fetch table info for table \"%s.%s\" from publisher: %s"
 msgstr "konnte Tabelleninformationen für Tabelle »%s.%s« nicht vom Publikationsserver holen: %s"
 
-#: replication/logical/tablesync.c:732
+#: replication/logical/tablesync.c:739
 #, c-format
 msgid "table \"%s.%s\" not found on publisher"
 msgstr "Tabelle »%s.%s« nicht auf dem Publikationsserver gefunden"
 
-#: replication/logical/tablesync.c:854
+#: replication/logical/tablesync.c:815
+#, fuzzy, c-format
+#| msgid "could not fetch table info for table \"%s.%s\" from publisher: %s"
+msgid "could not fetch column list info for table \"%s.%s\" from publisher: %s"
+msgstr "konnte Tabelleninformationen für Tabelle »%s.%s« nicht vom Publikationsserver holen: %s"
+
+#: replication/logical/tablesync.c:983
+#, fuzzy, c-format
+#| msgid "could not fetch table info for table \"%s.%s\" from publisher: %s"
+msgid "could not fetch table WHERE clause info for table \"%s.%s\" from publisher: %s"
+msgstr "konnte Tabelleninformationen für Tabelle »%s.%s« nicht vom Publikationsserver holen: %s"
+
+#: replication/logical/tablesync.c:1120
 #, c-format
 msgid "could not start initial contents copy for table \"%s.%s\": %s"
 msgstr "konnte Kopieren des Anfangsinhalts für Tabelle »%s.%s« nicht starten: %s"
 
-#: replication/logical/tablesync.c:1053
-#, fuzzy, c-format
-#| msgid "table copy could not start transaction on publisher"
+#: replication/logical/tablesync.c:1332 replication/logical/worker.c:1631
+#, c-format
+msgid "\"%s\" cannot replicate into relation with row-level security enabled: \"%s\""
+msgstr ""
+
+#: replication/logical/tablesync.c:1347
+#, c-format
 msgid "table copy could not start transaction on publisher: %s"
-msgstr "beim Kopieren der Tabelle konnte die Transaktion auf dem Publikationsserver nicht gestartet werden"
+msgstr "beim Kopieren der Tabelle konnte die Transaktion auf dem Publikationsserver nicht gestartet werden: %s"
 
-#: replication/logical/tablesync.c:1101
+#: replication/logical/tablesync.c:1396
 #, c-format
 msgid "replication origin \"%s\" already exists"
 msgstr "Replication-Origin »%s« existiert bereits"
 
-#: replication/logical/tablesync.c:1113
-#, fuzzy, c-format
-#| msgid "table copy could not finish transaction on publisher"
+#: replication/logical/tablesync.c:1409
+#, c-format
 msgid "table copy could not finish transaction on publisher: %s"
-msgstr "beim Kopieren der Tabelle konnte die Transaktion auf dem Publikationsserver nicht beenden werden"
+msgstr "beim Kopieren der Tabelle konnte die Transaktion auf dem Publikationsserver nicht beenden werden: %s"
 
-#: replication/logical/worker.c:525
+#: replication/logical/worker.c:671 replication/logical/worker.c:786
 #, c-format
-msgid "processing remote data for replication target relation \"%s.%s\" column \"%s\", remote type %s, local type %s"
-msgstr "Verarbeiten empfangener Daten für Replikationszielrelation »%s.%s« Spalte »%s«, entfernter Typ %s, lokaler Typ %s"
-
-#: replication/logical/worker.c:605 replication/logical/worker.c:734
-#, fuzzy, c-format
-#| msgid "incorrect binary data format in function argument %d"
 msgid "incorrect binary data format in logical replication column %d"
-msgstr "falsches Binärdatenformat in Funktionsargument %d"
+msgstr "falsches Binärdatenformat in Spalte %d in logischer Replikation"
 
-#: replication/logical/worker.c:813
+#: replication/logical/worker.c:1417 replication/logical/worker.c:1431
 #, c-format
-msgid "ORIGIN message sent out of order"
-msgstr "ORIGIN-Nachricht in falscher Reihenfolge gesendet"
-
-#: replication/logical/worker.c:1072 replication/logical/worker.c:1084
-#, fuzzy, c-format
-#| msgid "could not read from backend variables file \"%s\": %s\n"
 msgid "could not read from streaming transaction's changes file \"%s\": %m"
-msgstr "konnte nicht aus Servervariablendatei »%s« lesen: %s\n"
+msgstr "konnte nicht aus der Änderungsdatei »%s« einer gestreamten Transaktion lesen: %m"
 
-#: replication/logical/worker.c:1313
+#: replication/logical/worker.c:1750
 #, c-format
 msgid "publisher did not send replica identity column expected by the logical replication target relation \"%s.%s\""
 msgstr "Publikationsserver hat nicht die Replikidentitätsspalten gesendet, die von Replikationszielrelation »%s.%s« erwartet wurden"
 
-#: replication/logical/worker.c:1320
+#: replication/logical/worker.c:1757
 #, c-format
 msgid "logical replication target relation \"%s.%s\" has neither REPLICA IDENTITY index nor PRIMARY KEY and published relation does not have REPLICA IDENTITY FULL"
 msgstr "Zielrelation für logische Replikation »%s.%s« hat weder REPLICA-IDENTITY-Index noch Primärschlüssel und die publizierte Relation hat kein REPLICA IDENTITY FULL"
 
-#: replication/logical/worker.c:2039
-#, c-format
+#: replication/logical/worker.c:2552
+#, fuzzy, c-format
+#| msgid "invalid standby message type \"%c\""
 msgid "invalid logical replication message type \"%c\""
-msgstr "ungültiger Nachrichtentyp für logische Replikation »%c«"
+msgstr "ungültiger Standby-Message-Typ »%c«"
 
-#: replication/logical/worker.c:2190
+#: replication/logical/worker.c:2716
 #, c-format
 msgid "data stream from publisher has ended"
 msgstr "Datenstrom vom Publikationsserver endete"
 
-#: replication/logical/worker.c:2340
+#: replication/logical/worker.c:2867
 #, c-format
 msgid "terminating logical replication worker due to timeout"
 msgstr "Arbeitsprozess für logische Replikation wird abgebrochen wegen Zeitüberschreitung"
 
-#: replication/logical/worker.c:2488
+#: replication/logical/worker.c:3029
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will stop because the subscription was removed"
 msgstr "Apply-Worker für logische Replikation für Subskription »%s« wird anhalten, weil die Subskription entfernt wurde"
 
-#: replication/logical/worker.c:2502
+#: replication/logical/worker.c:3040
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will stop because the subscription was disabled"
 msgstr "Apply-Worker für logische Replikation für Subskription »%s« wird anhalten, weil die Subskription deaktiviert wurde"
 
-#: replication/logical/worker.c:2524
-#, fuzzy, c-format
-#| msgid "logical replication apply worker for subscription \"%s\" will restart because subscription was renamed"
+#: replication/logical/worker.c:3066
+#, c-format
 msgid "logical replication apply worker for subscription \"%s\" will restart because of a parameter change"
-msgstr "Apply-Worker für logische Replikation für Subskription »%s« wird neu starten, weil die Subskription umbenannt wurde"
+msgstr "Apply-Worker für logische Replikation für Subskription »%s« wird neu starten wegen einer Parameteränderung"
 
-#: replication/logical/worker.c:2687 replication/logical/worker.c:2709
-#, fuzzy, c-format
-#| msgid "could not read from file \"%s\": %m"
+#: replication/logical/worker.c:3190 replication/logical/worker.c:3212
+#, c-format
 msgid "could not read from streaming transaction's subxact file \"%s\": %m"
-msgstr "konnte nicht aus Datei »%s« lesen: %m"
+msgstr "konnte nicht aus der subxact-Datei »%s« einer gestreamten Transaktion lesen: %m"
 
-#: replication/logical/worker.c:3055
+#: replication/logical/worker.c:3611
 #, c-format
 msgid "logical replication apply worker for subscription %u will not start because the subscription was removed during startup"
 msgstr "Apply-Worker für logische Replikation für Subskription %u« wird nicht starten, weil die Subskription während des Starts deaktiviert wurde"
 
-#: replication/logical/worker.c:3067
+#: replication/logical/worker.c:3623
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will not start because the subscription was disabled during startup"
 msgstr "Apply-Worker für logische Replikation für Subskription »%s« wird nicht starten, weil die Subskription während des Starts deaktiviert wurde"
 
-#: replication/logical/worker.c:3085
+#: replication/logical/worker.c:3641
 #, c-format
 msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started"
 msgstr "Arbeitsprozess für logische Replikation für Tabellensynchronisation für Subskription »%s«, Tabelle »%s« hat gestartet"
 
-#: replication/logical/worker.c:3089
+#: replication/logical/worker.c:3645
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" has started"
 msgstr "Apply-Worker für logische Replikation für Subskription »%s« hat gestartet"
 
-#: replication/logical/worker.c:3126
+#: replication/logical/worker.c:3686
 #, c-format
 msgid "subscription has no replication slot set"
 msgstr "für die Subskription ist kein Replikations-Slot gesetzt"
 
-#: replication/pgoutput/pgoutput.c:195
+#: replication/logical/worker.c:3773
+#, fuzzy, c-format
+#| msgid "logical replication apply worker for subscription \"%s\" has started"
+msgid "logical replication apply worker for subscription \"%s\" two_phase is %s"
+msgstr "Apply-Worker für logische Replikation für Subskription »%s« hat gestartet"
+
+#: replication/logical/worker.c:3822
+#, fuzzy, c-format
+#| msgid "logical replication apply worker for subscription \"%s\" has started"
+msgid "logical replication subscription \"%s\" has been disabled due to an error"
+msgstr "Apply-Worker für logische Replikation für Subskription »%s« hat gestartet"
+
+#: replication/logical/worker.c:3861
+#, c-format
+msgid "start skipping logical replication transaction finished at %X/%X"
+msgstr ""
+
+#: replication/logical/worker.c:3875
+#, c-format
+msgid "done skipping logical replication transaction finished at %X/%X"
+msgstr ""
+
+#: replication/logical/worker.c:3957
+#, fuzzy, c-format
+#| msgid "logical replication apply worker for subscription \"%s\" has started"
+msgid "skip-LSN of logical replication subscription \"%s\" cleared"
+msgstr "Apply-Worker für logische Replikation für Subskription »%s« hat gestartet"
+
+#: replication/logical/worker.c:3958
+#, c-format
+msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X"
+msgstr ""
+
+#: replication/logical/worker.c:3984
+#, fuzzy, c-format
+#| msgid "processing remote data for replication target relation \"%s.%s\" column \"%s\""
+msgid "processing remote data for replication origin \"%s\" during \"%s\""
+msgstr "Verarbeiten empfangener Daten für Replikationszielrelation »%s.%s« Spalte »%s«"
+
+#: replication/logical/worker.c:3988
+#, fuzzy, c-format
+#| msgid "processing remote data for replication target relation \"%s.%s\" column \"%s\""
+msgid "processing remote data for replication origin \"%s\" during \"%s\" in transaction %u"
+msgstr "Verarbeiten empfangener Daten für Replikationszielrelation »%s.%s« Spalte »%s«"
+
+#: replication/logical/worker.c:3993
+#, fuzzy, c-format
+#| msgid "processing remote data for replication target relation \"%s.%s\" column \"%s\""
+msgid "processing remote data for replication origin \"%s\" during \"%s\" in transaction %u finished at %X/%X"
+msgstr "Verarbeiten empfangener Daten für Replikationszielrelation »%s.%s« Spalte »%s«"
+
+#: replication/logical/worker.c:4000
+#, fuzzy, c-format
+#| msgid "processing remote data for replication target relation \"%s.%s\" column \"%s\""
+msgid "processing remote data for replication origin \"%s\" during \"%s\" for replication target relation \"%s.%s\" in transaction %u finished at %X/%X"
+msgstr "Verarbeiten empfangener Daten für Replikationszielrelation »%s.%s« Spalte »%s«"
+
+#: replication/logical/worker.c:4008
+#, fuzzy, c-format
+#| msgid "processing remote data for replication target relation \"%s.%s\" column \"%s\""
+msgid "processing remote data for replication origin \"%s\" during \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u finished at %X/%X"
+msgstr "Verarbeiten empfangener Daten für Replikationszielrelation »%s.%s« Spalte »%s«"
+
+#: replication/pgoutput/pgoutput.c:319
 #, c-format
 msgid "invalid proto_version"
 msgstr "ungültige proto_version"
 
-#: replication/pgoutput/pgoutput.c:200
+#: replication/pgoutput/pgoutput.c:324
 #, c-format
 msgid "proto_version \"%s\" out of range"
 msgstr "proto_version »%s« ist außerhalb des gültigen Bereichs"
 
-#: replication/pgoutput/pgoutput.c:217
+#: replication/pgoutput/pgoutput.c:341
 #, c-format
 msgid "invalid publication_names syntax"
 msgstr "ungültige Syntax für publication_names"
 
-#: replication/pgoutput/pgoutput.c:287
+#: replication/pgoutput/pgoutput.c:425
 #, c-format
 msgid "client sent proto_version=%d but we only support protocol %d or lower"
 msgstr "Client sendete proto_version=%d, aber wir unterstützen nur Protokoll %d oder niedriger"
 
-#: replication/pgoutput/pgoutput.c:293
+#: replication/pgoutput/pgoutput.c:431
 #, c-format
 msgid "client sent proto_version=%d but we only support protocol %d or higher"
 msgstr "Client sendete proto_version=%d, aber wir unterstützen nur Protokoll %d oder höher"
 
-#: replication/pgoutput/pgoutput.c:299
+#: replication/pgoutput/pgoutput.c:437
 #, c-format
 msgid "publication_names parameter missing"
 msgstr "Parameter »publication_names« fehlt"
 
-#: replication/pgoutput/pgoutput.c:312
-#, fuzzy, c-format
-#| msgid "client sent proto_version=%d but we only support protocol %d or higher"
+#: replication/pgoutput/pgoutput.c:450
+#, c-format
 msgid "requested proto_version=%d does not support streaming, need %d or higher"
-msgstr "Client sendete proto_version=%d, aber wir unterstützen nur Protokoll %d oder höher"
+msgstr "angeforderte proto_version=%d unterstützt Streaming nicht, benötigt %d oder höher"
 
-#: replication/pgoutput/pgoutput.c:317
-#, fuzzy, c-format
-#| msgid "integer of size %lu not supported by pqPutInt"
+#: replication/pgoutput/pgoutput.c:455
+#, c-format
 msgid "streaming requested, but not supported by output plugin"
-msgstr "Integer der Größe %lu wird von pqPutInt nicht unterstützt"
+msgstr "Streaming angefordert, aber wird vom Ausgabe-Plugin nicht unterstützt"
+
+#: replication/pgoutput/pgoutput.c:472
+#, fuzzy, c-format
+#| msgid "requested proto_version=%d does not support streaming, need %d or higher"
+msgid "requested proto_version=%d does not support two-phase commit, need %d or higher"
+msgstr "angeforderte proto_version=%d unterstützt Streaming nicht, benötigt %d oder höher"
+
+#: replication/pgoutput/pgoutput.c:477
+#, fuzzy, c-format
+#| msgid "streaming requested, but not supported by output plugin"
+msgid "two-phase commit requested, but not supported by output plugin"
+msgstr "Streaming angefordert, aber wird vom Ausgabe-Plugin nicht unterstützt"
 
-#: replication/slot.c:182
+#: replication/slot.c:209
 #, c-format
 msgid "replication slot name \"%s\" is too short"
 msgstr "Replikations-Slot-Name »%s« ist zu kurz"
 
-#: replication/slot.c:191
+#: replication/slot.c:218
 #, c-format
 msgid "replication slot name \"%s\" is too long"
 msgstr "Replikations-Slot-Name »%s« ist zu lang"
 
-#: replication/slot.c:204
+#: replication/slot.c:231
 #, c-format
 msgid "replication slot name \"%s\" contains invalid character"
 msgstr "Replikations-Slot-Name »%s« enthält ungültiges Zeichen"
 
-#: replication/slot.c:206
+#: replication/slot.c:233
 #, c-format
 msgid "Replication slot names may only contain lower case letters, numbers, and the underscore character."
 msgstr "Replikations-Slot-Namen dürfen nur Kleinbuchstaben, Zahlen und Unterstriche enthalten."
 
-#: replication/slot.c:260
+#: replication/slot.c:287
 #, c-format
 msgid "replication slot \"%s\" already exists"
 msgstr "Replikations-Slot »%s« existiert bereits"
 
-#: replication/slot.c:270
+#: replication/slot.c:297
 #, c-format
 msgid "all replication slots are in use"
 msgstr "alle Replikations-Slots sind in Benutzung"
 
-#: replication/slot.c:271
+#: replication/slot.c:298
 #, c-format
 msgid "Free one or increase max_replication_slots."
 msgstr "Geben Sie einen frei oder erhöhen Sie max_replication_slots."
 
-#: replication/slot.c:424 replication/slotfuncs.c:761
-#: utils/adt/pgstatfuncs.c:2227
+#: replication/slot.c:448 replication/slotfuncs.c:727
+#: utils/activity/pgstat_replslot.c:55 utils/adt/genfile.c:704
 #, c-format
 msgid "replication slot \"%s\" does not exist"
 msgstr "Replikations-Slot »%s« existiert nicht"
 
-#: replication/slot.c:462 replication/slot.c:1043
+#: replication/slot.c:494 replication/slot.c:1089
 #, c-format
 msgid "replication slot \"%s\" is active for PID %d"
 msgstr "Replikations-Slot »%s« ist aktiv für PID %d"
 
-#: replication/slot.c:701 replication/slot.c:1350 replication/slot.c:1733
+#: replication/slot.c:752 replication/slot.c:1507 replication/slot.c:1890
 #, c-format
 msgid "could not remove directory \"%s\""
 msgstr "konnte Verzeichnis »%s« nicht löschen"
 
-#: replication/slot.c:1078
+#: replication/slot.c:1124
 #, c-format
 msgid "replication slots can only be used if max_replication_slots > 0"
 msgstr "Replikations-Slots können nur verwendet werden, wenn max_replication_slots > 0"
 
-#: replication/slot.c:1083
+#: replication/slot.c:1129
 #, c-format
 msgid "replication slots can only be used if wal_level >= replica"
 msgstr "Replikations-Slots können nur verwendet werden, wenn wal_level >= replica"
 
-#: replication/slot.c:1239
+#: replication/slot.c:1141
+#, c-format
+msgid "must be superuser or replication role to use replication slots"
+msgstr "nur Superuser und Replikationsrollen können Replikations-Slots verwenden"
+
+#: replication/slot.c:1326
 #, c-format
-msgid "terminating process %d because replication slot \"%s\" is too far behind"
-msgstr "Prozess %d wird beendet, weil Replikations-Slot »%s« zu weit zurück liegt"
+msgid "terminating process %d to release replication slot \"%s\""
+msgstr "Prozess %d wird beendet, um Replikations-Slot »%s« freizugeben"
 
-#: replication/slot.c:1258
+#: replication/slot.c:1370
 #, c-format
 msgid "invalidating slot \"%s\" because its restart_lsn %X/%X exceeds max_slot_wal_keep_size"
 msgstr "Slot »%s« wird ungültig gemacht, weil seine restart_lsn %X/%X max_slot_wal_keep_size überschreitet"
 
-#: replication/slot.c:1671
+#: replication/slot.c:1828
 #, c-format
 msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u"
 msgstr "Replikations-Slot-Datei »%s« hat falsche magische Zahl: %u statt %u"
 
-#: replication/slot.c:1678
+#: replication/slot.c:1835
 #, c-format
 msgid "replication slot file \"%s\" has unsupported version %u"
 msgstr "Replikations-Slot-Datei »%s« hat nicht unterstützte Version %u"
 
-#: replication/slot.c:1685
+#: replication/slot.c:1842
 #, c-format
 msgid "replication slot file \"%s\" has corrupted length %u"
 msgstr "Replikations-Slot-Datei »%s« hat falsche Länge %u"
 
-#: replication/slot.c:1721
+#: replication/slot.c:1878
 #, c-format
 msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u"
 msgstr "Prüfsummenfehler bei Replikations-Slot-Datei »%s«: ist %u, sollte %u sein"
 
-#: replication/slot.c:1755
+#: replication/slot.c:1912
 #, c-format
 msgid "logical replication slot \"%s\" exists, but wal_level < logical"
 msgstr "logischer Replikations-Slot »%s« existiert, aber wal_level < logical"
 
-#: replication/slot.c:1757
+#: replication/slot.c:1914
 #, c-format
 msgid "Change wal_level to be logical or higher."
 msgstr "Ändern Sie wal_level in logical oder höher."
 
-#: replication/slot.c:1761
+#: replication/slot.c:1918
 #, c-format
 msgid "physical replication slot \"%s\" exists, but wal_level < replica"
 msgstr "physischer Replikations-Slot »%s« existiert, aber wal_level < replica"
 
-#: replication/slot.c:1763
+#: replication/slot.c:1920
 #, c-format
 msgid "Change wal_level to be replica or higher."
 msgstr "Ändern Sie wal_level in replica oder höher."
 
-#: replication/slot.c:1797
+#: replication/slot.c:1954
 #, c-format
 msgid "too many replication slots active before shutdown"
 msgstr "zu viele aktive Replikations-Slots vor dem Herunterfahren"
 
-#: replication/slotfuncs.c:626
+#: replication/slotfuncs.c:592
 #, c-format
 msgid "invalid target WAL LSN"
 msgstr "ungültige Ziel-WAL-LSN"
 
-#: replication/slotfuncs.c:648
+#: replication/slotfuncs.c:614
 #, c-format
 msgid "replication slot \"%s\" cannot be advanced"
 msgstr "Replikations-Slot »%s« kann nicht vorwärtsgesetzt werden"
 
-#: replication/slotfuncs.c:666
+#: replication/slotfuncs.c:632
 #, c-format
 msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
 msgstr "Replikations-Slot kann nicht auf %X/%X vorwärtsgesetzt werden, Minimum ist %X/%X"
 
-#: replication/slotfuncs.c:773
+#: replication/slotfuncs.c:739
 #, c-format
 msgid "cannot copy physical replication slot \"%s\" as a logical replication slot"
 msgstr "physischer Replikations-Slot »%s« kann nicht als logischer Replikations-Slot kopiert werden"
 
-#: replication/slotfuncs.c:775
+#: replication/slotfuncs.c:741
 #, c-format
 msgid "cannot copy logical replication slot \"%s\" as a physical replication slot"
 msgstr "logischer Replikations-Slot »%s« kann nicht als physischer Replikations-Slot kopiert werden"
 
-#: replication/slotfuncs.c:782
+#: replication/slotfuncs.c:748
 #, c-format
 msgid "cannot copy a replication slot that doesn't reserve WAL"
 msgstr "ein Replikations-Slot, der kein WAL reserviert, kann nicht kopiert werden"
 
-#: replication/slotfuncs.c:859
+#: replication/slotfuncs.c:825
 #, c-format
 msgid "could not copy replication slot \"%s\""
 msgstr "konnte Replikations-Slot »%s« nicht kopieren"
 
-#: replication/slotfuncs.c:861
+#: replication/slotfuncs.c:827
 #, c-format
 msgid "The source replication slot was modified incompatibly during the copy operation."
 msgstr "Der Quell-Replikations-Slot wurde während der Kopieroperation inkompatibel geändert."
 
-#: replication/slotfuncs.c:867
+#: replication/slotfuncs.c:833
 #, c-format
 msgid "cannot copy unfinished logical replication slot \"%s\""
 msgstr "kann unfertigen Replikations-Slot »%s« nicht kopieren"
 
-#: replication/slotfuncs.c:869
+#: replication/slotfuncs.c:835
 #, c-format
 msgid "Retry when the source replication slot's confirmed_flush_lsn is valid."
 msgstr "Versuchen Sie es erneut, wenn confirmed_flush_lsn des Quell-Replikations-Slots gültig ist."
@@ -19906,597 +20885,618 @@ msgstr "Parser für synchronous_standby_names fehlgeschlagen"
 msgid "number of synchronous standbys (%d) must be greater than zero"
 msgstr "Anzahl synchroner Standbys (%d) muss größer als null sein"
 
-#: replication/walreceiver.c:160
+#: replication/walreceiver.c:164
 #, c-format
 msgid "terminating walreceiver process due to administrator command"
 msgstr "WAL-Receiver-Prozess wird abgebrochen aufgrund von Anweisung des Administrators"
 
-#: replication/walreceiver.c:285
+#: replication/walreceiver.c:292
 #, c-format
 msgid "could not connect to the primary server: %s"
 msgstr "konnte nicht mit dem Primärserver verbinden: %s"
 
-#: replication/walreceiver.c:331
+#: replication/walreceiver.c:339
 #, c-format
 msgid "database system identifier differs between the primary and standby"
 msgstr "Datenbanksystemidentifikator unterscheidet sich zwischen Primär- und Standby-Server"
 
-#: replication/walreceiver.c:332
+#: replication/walreceiver.c:340
 #, c-format
 msgid "The primary's identifier is %s, the standby's identifier is %s."
 msgstr "Identifikator des Primärservers ist %s, Identifikator des Standby ist %s."
 
-#: replication/walreceiver.c:342
+#: replication/walreceiver.c:351
 #, c-format
 msgid "highest timeline %u of the primary is behind recovery timeline %u"
 msgstr "höchste Zeitleiste %u des primären Servers liegt hinter Wiederherstellungszeitleiste %u zurück"
 
-#: replication/walreceiver.c:396
+#: replication/walreceiver.c:404
 #, c-format
 msgid "started streaming WAL from primary at %X/%X on timeline %u"
 msgstr "WAL-Streaming vom Primärserver gestartet bei %X/%X auf Zeitleiste %u"
 
-#: replication/walreceiver.c:400
+#: replication/walreceiver.c:408
 #, c-format
 msgid "restarted WAL streaming at %X/%X on timeline %u"
 msgstr "WAL-Streaming neu gestartet bei %X/%X auf Zeitleiste %u"
 
-#: replication/walreceiver.c:428
+#: replication/walreceiver.c:437
 #, c-format
 msgid "cannot continue WAL streaming, recovery has already ended"
 msgstr "kann WAL-Streaming nicht fortsetzen, Wiederherstellung ist bereits beendet"
 
-#: replication/walreceiver.c:465
+#: replication/walreceiver.c:475
 #, c-format
 msgid "replication terminated by primary server"
 msgstr "Replikation wurde durch Primärserver beendet"
 
-#: replication/walreceiver.c:466
+#: replication/walreceiver.c:476
 #, c-format
 msgid "End of WAL reached on timeline %u at %X/%X."
 msgstr "WAL-Ende erreicht auf Zeitleiste %u bei %X/%X."
 
-#: replication/walreceiver.c:554
+#: replication/walreceiver.c:565
 #, c-format
 msgid "terminating walreceiver due to timeout"
 msgstr "WAL-Receiver-Prozess wird abgebrochen wegen Zeitüberschreitung"
 
-#: replication/walreceiver.c:592
+#: replication/walreceiver.c:603
 #, c-format
 msgid "primary server contains no more WAL on requested timeline %u"
 msgstr "Primärserver enthält kein WAL mehr auf angeforderter Zeitleiste %u"
 
-#: replication/walreceiver.c:608 replication/walreceiver.c:903
+#: replication/walreceiver.c:619 replication/walreceiver.c:1045
 #, c-format
 msgid "could not close log segment %s: %m"
 msgstr "konnte Logsegment %s nicht schließen: %m"
 
-#: replication/walreceiver.c:727
+#: replication/walreceiver.c:738
 #, c-format
 msgid "fetching timeline history file for timeline %u from primary server"
 msgstr "hole Zeitleisten-History-Datei für Zeitleiste %u vom Primärserver"
 
-#: replication/walreceiver.c:950
+#: replication/walreceiver.c:933
 #, c-format
 msgid "could not write to log segment %s at offset %u, length %lu: %m"
 msgstr "konnte nicht in Logsegment %s bei Position %u, Länge %lu schreiben: %m"
 
-#: replication/walsender.c:524 storage/smgr/md.c:1320
+#: replication/walsender.c:521
+#, fuzzy, c-format
+#| msgid "cannot read from logical replication slot \"%s\""
+msgid "cannot use \"%s\" with logical replication slot \"%s\""
+msgstr "kann nicht aus logischem Replikations-Slot »%s« lesen"
+
+#: replication/walsender.c:639 storage/smgr/md.c:1333
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
 msgstr "konnte Positionszeiger nicht ans Ende der Datei »%s« setzen: %m"
 
-#: replication/walsender.c:528
+#: replication/walsender.c:643
 #, c-format
 msgid "could not seek to beginning of file \"%s\": %m"
 msgstr "konnte Positionszeiger nicht den Anfang der Datei »%s« setzen: %m"
 
-#: replication/walsender.c:579
-#, c-format
-msgid "IDENTIFY_SYSTEM has not been run before START_REPLICATION"
-msgstr "IDENTIFY_SYSTEM wurde nicht vor START_REPLICATION ausgeführt"
-
-#: replication/walsender.c:608
+#: replication/walsender.c:720
 #, c-format
 msgid "cannot use a logical replication slot for physical replication"
 msgstr "logischer Replikations-Slot kann nicht für physische Replikation verwendet werden"
 
-#: replication/walsender.c:677
+#: replication/walsender.c:786
 #, c-format
 msgid "requested starting point %X/%X on timeline %u is not in this server's history"
 msgstr "angeforderter Startpunkt %X/%X auf Zeitleiste %u ist nicht in der History dieses Servers"
 
-#: replication/walsender.c:680
+#: replication/walsender.c:789
 #, c-format
 msgid "This server's history forked from timeline %u at %X/%X."
 msgstr "Die History dieses Servers zweigte von Zeitleiste %u bei %X/%X ab."
 
-#: replication/walsender.c:724
+#: replication/walsender.c:833
 #, c-format
 msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
 msgstr "angeforderter Startpunkt %X/%X ist vor der WAL-Flush-Position dieses Servers %X/%X"
 
+#: replication/walsender.c:1016
+#, fuzzy, c-format
+#| msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\""
+msgid "unrecognized value for CREATE_REPLICATION_SLOT option \"%s\": \"%s\""
+msgstr "unbekannter Wert für EXPLAIN-Option »%s«: »%s«"
+
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:974
+#: replication/walsender.c:1101
 #, c-format
 msgid "%s must not be called inside a transaction"
 msgstr "%s darf nicht in einer Transaktion aufgerufen werden"
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:984
+#: replication/walsender.c:1111
 #, c-format
 msgid "%s must be called inside a transaction"
 msgstr "%s muss in einer Transaktion aufgerufen werden"
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:990
+#: replication/walsender.c:1117
 #, c-format
 msgid "%s must be called in REPEATABLE READ isolation mode transaction"
 msgstr "%s muss in einer Transaktion im Isolationsmodus REPEATABLE READ aufgerufen werden"
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:996
+#: replication/walsender.c:1123
 #, c-format
 msgid "%s must be called before any query"
 msgstr "%s muss vor allen Anfragen aufgerufen werden"
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:1002
+#: replication/walsender.c:1129
 #, c-format
 msgid "%s must not be called in a subtransaction"
 msgstr "%s darf nicht in einer Subtransaktion aufgerufen werden"
 
-#: replication/walsender.c:1145
+#: replication/walsender.c:1272
 #, c-format
 msgid "cannot read from logical replication slot \"%s\""
 msgstr "kann nicht aus logischem Replikations-Slot »%s« lesen"
 
-#: replication/walsender.c:1147
+#: replication/walsender.c:1274
 #, c-format
 msgid "This slot has been invalidated because it exceeded the maximum reserved size."
 msgstr "Dieser Slot wurde ungültig gemacht, weil er die maximale reservierte Größe überschritten hat."
 
-#: replication/walsender.c:1157
+#: replication/walsender.c:1284
 #, c-format
 msgid "terminating walsender process after promotion"
 msgstr "WAL-Sender-Prozess wird nach Beförderung abgebrochen"
 
-#: replication/walsender.c:1523
+#: replication/walsender.c:1705
 #, c-format
 msgid "cannot execute new commands while WAL sender is in stopping mode"
 msgstr "während der WAL-Sender im Stoppmodus ist können keine neuen Befehle ausgeführt werden"
 
-#: replication/walsender.c:1560
+#: replication/walsender.c:1740
 #, c-format
 msgid "cannot execute SQL commands in WAL sender for physical replication"
 msgstr "im WAL-Sender für physische Replikation können keine SQL-Befehle ausgeführt werden"
 
-#: replication/walsender.c:1583
+#: replication/walsender.c:1773
 #, c-format
 msgid "received replication command: %s"
 msgstr "Replikationsbefehl empfangen: %s"
 
-#: replication/walsender.c:1591 tcop/fastpath.c:208 tcop/postgres.c:1078
-#: tcop/postgres.c:1430 tcop/postgres.c:1691 tcop/postgres.c:2176
-#: tcop/postgres.c:2586 tcop/postgres.c:2665
+#: replication/walsender.c:1781 tcop/fastpath.c:208 tcop/postgres.c:1114
+#: tcop/postgres.c:1465 tcop/postgres.c:1705 tcop/postgres.c:2190
+#: tcop/postgres.c:2600 tcop/postgres.c:2678
 #, c-format
 msgid "current transaction is aborted, commands ignored until end of transaction block"
 msgstr "aktuelle Transaktion wurde abgebrochen, Befehle werden bis zum Ende der Transaktion ignoriert"
 
-#: replication/walsender.c:1726 replication/walsender.c:1761
+#: replication/walsender.c:1923 replication/walsender.c:1958
 #, c-format
 msgid "unexpected EOF on standby connection"
 msgstr "unerwartetes EOF auf Standby-Verbindung"
 
-#: replication/walsender.c:1749
+#: replication/walsender.c:1946
 #, c-format
 msgid "invalid standby message type \"%c\""
 msgstr "ungültiger Standby-Message-Typ »%c«"
 
-#: replication/walsender.c:1838
+#: replication/walsender.c:2035
 #, c-format
 msgid "unexpected message type \"%c\""
 msgstr "unerwarteter Message-Typ »%c«"
 
-#: replication/walsender.c:2251
+#: replication/walsender.c:2448
 #, c-format
 msgid "terminating walsender process due to replication timeout"
 msgstr "WAL-Sender-Prozess wird abgebrochen wegen Zeitüberschreitung bei der Replikation"
 
-#: rewrite/rewriteDefine.c:112 rewrite/rewriteDefine.c:999
+#: rewrite/rewriteDefine.c:112 rewrite/rewriteDefine.c:1001
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" already exists"
 msgstr "Regel »%s« für Relation »%s« existiert bereits"
 
-#: rewrite/rewriteDefine.c:301
+#: rewrite/rewriteDefine.c:271 rewrite/rewriteDefine.c:939
+#, c-format
+msgid "relation \"%s\" cannot have rules"
+msgstr "Relation »%s« kann keine Regeln haben"
+
+#: rewrite/rewriteDefine.c:302
 #, c-format
 msgid "rule actions on OLD are not implemented"
 msgstr "Regelaktionen für OLD sind nicht implementiert"
 
-#: rewrite/rewriteDefine.c:302
+#: rewrite/rewriteDefine.c:303
 #, c-format
 msgid "Use views or triggers instead."
 msgstr "Verwenden Sie stattdessen Sichten oder Trigger."
 
-#: rewrite/rewriteDefine.c:306
+#: rewrite/rewriteDefine.c:307
 #, c-format
 msgid "rule actions on NEW are not implemented"
 msgstr "Regelaktionen für NEW sind nicht implementiert"
 
-#: rewrite/rewriteDefine.c:307
+#: rewrite/rewriteDefine.c:308
 #, c-format
 msgid "Use triggers instead."
 msgstr "Verwenden Sie stattdessen Trigger."
 
-#: rewrite/rewriteDefine.c:320
+#: rewrite/rewriteDefine.c:321
 #, c-format
 msgid "INSTEAD NOTHING rules on SELECT are not implemented"
 msgstr "INSTEAD-NOTHING-Regeln für SELECT sind nicht implementiert"
 
-#: rewrite/rewriteDefine.c:321
+#: rewrite/rewriteDefine.c:322
 #, c-format
 msgid "Use views instead."
 msgstr "Verwenden Sie stattdessen Sichten."
 
-#: rewrite/rewriteDefine.c:329
+#: rewrite/rewriteDefine.c:330
 #, c-format
 msgid "multiple actions for rules on SELECT are not implemented"
 msgstr "mehrere Regelaktionen für SELECT-Regeln sind nicht implementiert"
 
-#: rewrite/rewriteDefine.c:339
+#: rewrite/rewriteDefine.c:340
 #, c-format
 msgid "rules on SELECT must have action INSTEAD SELECT"
 msgstr "Regeln für SELECT müssen als Aktion INSTEAD SELECT haben"
 
-#: rewrite/rewriteDefine.c:347
+#: rewrite/rewriteDefine.c:348
 #, c-format
 msgid "rules on SELECT must not contain data-modifying statements in WITH"
 msgstr "Regeln für SELECT dürfen keine datenmodifizierenden Anweisungen in WITH enthalten"
 
-#: rewrite/rewriteDefine.c:355
+#: rewrite/rewriteDefine.c:356
 #, c-format
 msgid "event qualifications are not implemented for rules on SELECT"
 msgstr "Ereignisqualifikationen sind nicht implementiert für SELECT-Regeln"
 
-#: rewrite/rewriteDefine.c:382
+#: rewrite/rewriteDefine.c:383
 #, c-format
 msgid "\"%s\" is already a view"
 msgstr "»%s« ist bereits eine Sicht"
 
-#: rewrite/rewriteDefine.c:406
+#: rewrite/rewriteDefine.c:407
 #, c-format
 msgid "view rule for \"%s\" must be named \"%s\""
 msgstr "Sicht-Regel für »%s« muss »%s« heißen"
 
-#: rewrite/rewriteDefine.c:435
+#: rewrite/rewriteDefine.c:436
 #, c-format
 msgid "cannot convert partitioned table \"%s\" to a view"
 msgstr "kann partitionierte Tabelle »%s« nicht in eine Sicht umwandeln"
 
-#: rewrite/rewriteDefine.c:444
+#: rewrite/rewriteDefine.c:445
 #, c-format
 msgid "cannot convert partition \"%s\" to a view"
 msgstr "kann Partition »%s« nicht in eine Sicht umwandeln"
 
-#: rewrite/rewriteDefine.c:453
+#: rewrite/rewriteDefine.c:454
 #, c-format
 msgid "could not convert table \"%s\" to a view because it is not empty"
 msgstr "konnte Tabelle »%s« nicht in Sicht umwandeln, weil sie nicht leer ist"
 
-#: rewrite/rewriteDefine.c:462
+#: rewrite/rewriteDefine.c:463
 #, c-format
 msgid "could not convert table \"%s\" to a view because it has triggers"
 msgstr "konnte Tabelle »%s« nicht in Sicht umwandeln, weil sie Trigger hat"
 
-#: rewrite/rewriteDefine.c:464
+#: rewrite/rewriteDefine.c:465
 #, c-format
 msgid "In particular, the table cannot be involved in any foreign key relationships."
 msgstr "Insbesondere darf die Tabelle nicht in Fremschlüsselverhältnisse eingebunden sein."
 
-#: rewrite/rewriteDefine.c:469
+#: rewrite/rewriteDefine.c:470
 #, c-format
 msgid "could not convert table \"%s\" to a view because it has indexes"
 msgstr "konnte Tabelle »%s« nicht in Sicht umwandeln, weil sie Indexe hat"
 
-#: rewrite/rewriteDefine.c:475
+#: rewrite/rewriteDefine.c:476
 #, c-format
 msgid "could not convert table \"%s\" to a view because it has child tables"
 msgstr "konnte Tabelle »%s« nicht in Sicht umwandeln, weil sie abgeleitete Tabellen hat"
 
-#: rewrite/rewriteDefine.c:481
+#: rewrite/rewriteDefine.c:482
 #, c-format
 msgid "could not convert table \"%s\" to a view because it has parent tables"
 msgstr "konnte Tabelle »%s« nicht in Sicht umwandeln, weil sie Elterntabellen hat"
 
-#: rewrite/rewriteDefine.c:487
+#: rewrite/rewriteDefine.c:488
 #, c-format
 msgid "could not convert table \"%s\" to a view because it has row security enabled"
 msgstr "konnte Tabelle »%s« nicht in Sicht umwandeln, weil sie Sicherheit auf Zeilenebene eingeschaltet hat"
 
-#: rewrite/rewriteDefine.c:493
+#: rewrite/rewriteDefine.c:494
 #, c-format
 msgid "could not convert table \"%s\" to a view because it has row security policies"
 msgstr "konnte Tabelle »%s« nicht in Sicht umwandeln, weil sie Policys für Sicherheit auf Zeilenebene hat"
 
-#: rewrite/rewriteDefine.c:520
+#: rewrite/rewriteDefine.c:521
 #, c-format
 msgid "cannot have multiple RETURNING lists in a rule"
 msgstr "Regel kann nicht mehrere RETURNING-Listen enthalten"
 
-#: rewrite/rewriteDefine.c:525
+#: rewrite/rewriteDefine.c:526
 #, c-format
 msgid "RETURNING lists are not supported in conditional rules"
 msgstr "RETURNING-Listen werden in Regeln mit Bedingung nicht unterstützt"
 
-#: rewrite/rewriteDefine.c:529
+#: rewrite/rewriteDefine.c:530
 #, c-format
 msgid "RETURNING lists are not supported in non-INSTEAD rules"
 msgstr "RETURNING-Listen werden nur in INSTEAD-Regeln unterstützt"
 
-#: rewrite/rewriteDefine.c:693
+#: rewrite/rewriteDefine.c:694
 #, c-format
 msgid "SELECT rule's target list has too many entries"
 msgstr "Targetliste von SELECT-Regel hat zu viele Einträge"
 
-#: rewrite/rewriteDefine.c:694
+#: rewrite/rewriteDefine.c:695
 #, c-format
 msgid "RETURNING list has too many entries"
 msgstr "RETURNING-Liste hat zu viele Einträge"
 
-#: rewrite/rewriteDefine.c:721
+#: rewrite/rewriteDefine.c:722
 #, c-format
 msgid "cannot convert relation containing dropped columns to view"
 msgstr "kann Relation mit gelöschten Spalten nicht in Sicht umwandeln"
 
-#: rewrite/rewriteDefine.c:722
+#: rewrite/rewriteDefine.c:723
 #, c-format
 msgid "cannot create a RETURNING list for a relation containing dropped columns"
 msgstr "für eine Relation mit gelöschten Spalten kann keine RETURNING-Liste erzeugt werden"
 
-#: rewrite/rewriteDefine.c:728
+#: rewrite/rewriteDefine.c:729
 #, c-format
 msgid "SELECT rule's target entry %d has different column name from column \"%s\""
 msgstr "Spaltenname in Targeteintrag %d von SELECT-Regel unterscheidet sich von Spalte »%s«"
 
-#: rewrite/rewriteDefine.c:730
+#: rewrite/rewriteDefine.c:731
 #, c-format
 msgid "SELECT target entry is named \"%s\"."
 msgstr "SELECT-Targeteintrag heißt »%s«."
 
-#: rewrite/rewriteDefine.c:739
+#: rewrite/rewriteDefine.c:740
 #, c-format
 msgid "SELECT rule's target entry %d has different type from column \"%s\""
 msgstr "Typ von Targeteintrag %d von SELECT-Regel unterscheidet sich von Spalte »%s«"
 
-#: rewrite/rewriteDefine.c:741
+#: rewrite/rewriteDefine.c:742
 #, c-format
 msgid "RETURNING list's entry %d has different type from column \"%s\""
 msgstr "Eintrag %d in RETURNING-Liste hat anderen Typ als Spalte »%s«"
 
-#: rewrite/rewriteDefine.c:744 rewrite/rewriteDefine.c:768
+#: rewrite/rewriteDefine.c:745 rewrite/rewriteDefine.c:769
 #, c-format
 msgid "SELECT target entry has type %s, but column has type %s."
 msgstr "SELECT-Targeteintrag hat Typ %s, aber Spalte hat Typ %s."
 
-#: rewrite/rewriteDefine.c:747 rewrite/rewriteDefine.c:772
+#: rewrite/rewriteDefine.c:748 rewrite/rewriteDefine.c:773
 #, c-format
 msgid "RETURNING list entry has type %s, but column has type %s."
 msgstr "Eintrag in RETURNING-Liste hat Typ %s, aber Spalte hat Typ %s."
 
-#: rewrite/rewriteDefine.c:763
+#: rewrite/rewriteDefine.c:764
 #, c-format
 msgid "SELECT rule's target entry %d has different size from column \"%s\""
 msgstr "Größe von Targeteintrag %d von SELECT-Regel unterscheidet sich von Spalte »%s«"
 
-#: rewrite/rewriteDefine.c:765
+#: rewrite/rewriteDefine.c:766
 #, c-format
 msgid "RETURNING list's entry %d has different size from column \"%s\""
 msgstr "Eintrag %d in RETURNING-Liste hat andere Größe als Spalte »%s«"
 
-#: rewrite/rewriteDefine.c:782
+#: rewrite/rewriteDefine.c:783
 #, c-format
 msgid "SELECT rule's target list has too few entries"
 msgstr "Targetliste von SELECT-Regeln hat zu wenige Einträge"
 
-#: rewrite/rewriteDefine.c:783
+#: rewrite/rewriteDefine.c:784
 #, c-format
 msgid "RETURNING list has too few entries"
 msgstr "RETURNING-Liste hat zu wenige Einträge"
 
-#: rewrite/rewriteDefine.c:876 rewrite/rewriteDefine.c:990
+#: rewrite/rewriteDefine.c:877 rewrite/rewriteDefine.c:992
 #: rewrite/rewriteSupport.c:109
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist"
 msgstr "Regel »%s« für Relation »%s« existiert nicht"
 
-#: rewrite/rewriteDefine.c:1009
+#: rewrite/rewriteDefine.c:1011
 #, c-format
 msgid "renaming an ON SELECT rule is not allowed"
 msgstr "Umbenennen einer ON-SELECT-Regel ist nicht erlaubt"
 
-#: rewrite/rewriteHandler.c:551
+#: rewrite/rewriteHandler.c:554
 #, c-format
 msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten"
 msgstr "WITH-Anfragename »%s« erscheint sowohl in der Regelaktion als auch in der umzuschreibenden Anfrage"
 
-#: rewrite/rewriteHandler.c:611
+#: rewrite/rewriteHandler.c:581
+#, c-format
+msgid "INSERT...SELECT rule actions are not supported for queries having data-modifying statements in WITH"
+msgstr "INSTEAD...SELECT-Regelaktionen werden für Anfrangen mit datenmodifizierenden Anweisungen in WITH nicht unterstützt"
+
+#: rewrite/rewriteHandler.c:634
 #, c-format
 msgid "cannot have RETURNING lists in multiple rules"
 msgstr "RETURNING-Listen können nicht in mehreren Regeln auftreten"
 
-#: rewrite/rewriteHandler.c:843 rewrite/rewriteHandler.c:882
-#, fuzzy, c-format
-#| msgid "cannot insert into column \"%s\""
+#: rewrite/rewriteHandler.c:866 rewrite/rewriteHandler.c:905
+#, c-format
 msgid "cannot insert a non-DEFAULT value into column \"%s\""
-msgstr "kann nicht in Spalte »%s« einfügen"
+msgstr "kann keinen Wert außer DEFAULT in Spalte »%s« einfügen"
 
-#: rewrite/rewriteHandler.c:845 rewrite/rewriteHandler.c:911
+#: rewrite/rewriteHandler.c:868 rewrite/rewriteHandler.c:934
 #, c-format
 msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS."
 msgstr "Spalte »%s« ist eine Identitätsspalte, die als GENERATED ALWAYS definiert ist."
 
-#: rewrite/rewriteHandler.c:847
+#: rewrite/rewriteHandler.c:870
 #, c-format
 msgid "Use OVERRIDING SYSTEM VALUE to override."
 msgstr "Verwenden Sie OVERRIDING SYSTEM VALUE, um diese Einschränkung außer Kraft zu setzen."
 
-#: rewrite/rewriteHandler.c:909 rewrite/rewriteHandler.c:917
+#: rewrite/rewriteHandler.c:932 rewrite/rewriteHandler.c:940
 #, c-format
 msgid "column \"%s\" can only be updated to DEFAULT"
 msgstr "Spalte »%s« kann nur auf DEFAULT aktualisiert werden"
 
-#: rewrite/rewriteHandler.c:1064 rewrite/rewriteHandler.c:1082
+#: rewrite/rewriteHandler.c:1087 rewrite/rewriteHandler.c:1105
 #, c-format
 msgid "multiple assignments to same column \"%s\""
 msgstr "mehrere Zuweisungen zur selben Spalte »%s«"
 
-#: rewrite/rewriteHandler.c:2084 rewrite/rewriteHandler.c:3898
+#: rewrite/rewriteHandler.c:2111 rewrite/rewriteHandler.c:3978
 #, c-format
 msgid "infinite recursion detected in rules for relation \"%s\""
 msgstr "unendliche Rekursion entdeckt in Regeln für Relation »%s«"
 
-#: rewrite/rewriteHandler.c:2169
+#: rewrite/rewriteHandler.c:2196
 #, c-format
 msgid "infinite recursion detected in policy for relation \"%s\""
 msgstr "unendliche Rekursion entdeckt in Policys für Relation »%s«"
 
-#: rewrite/rewriteHandler.c:2489
+#: rewrite/rewriteHandler.c:2516
 msgid "Junk view columns are not updatable."
 msgstr "Junk-Sichtspalten sind nicht aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2494
+#: rewrite/rewriteHandler.c:2521
 msgid "View columns that are not columns of their base relation are not updatable."
 msgstr "Sichtspalten, die nicht Spalten ihrer Basisrelation sind, sind nicht aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2497
+#: rewrite/rewriteHandler.c:2524
 msgid "View columns that refer to system columns are not updatable."
 msgstr "Sichtspalten, die auf Systemspalten verweisen, sind nicht aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2500
+#: rewrite/rewriteHandler.c:2527
 msgid "View columns that return whole-row references are not updatable."
 msgstr "Sichtspalten, die Verweise auf ganze Zeilen zurückgeben, sind nicht aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2561
+#: rewrite/rewriteHandler.c:2588
 msgid "Views containing DISTINCT are not automatically updatable."
 msgstr "Sichten, die DISTINCT enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2564
+#: rewrite/rewriteHandler.c:2591
 msgid "Views containing GROUP BY are not automatically updatable."
 msgstr "Sichten, die GROUP BY enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2567
+#: rewrite/rewriteHandler.c:2594
 msgid "Views containing HAVING are not automatically updatable."
 msgstr "Sichten, die HAVING enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2570
+#: rewrite/rewriteHandler.c:2597
 msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable."
 msgstr "Sichten, die UNION, INTERSECT oder EXCEPT enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2573
+#: rewrite/rewriteHandler.c:2600
 msgid "Views containing WITH are not automatically updatable."
 msgstr "Sichten, die WITH enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2576
+#: rewrite/rewriteHandler.c:2603
 msgid "Views containing LIMIT or OFFSET are not automatically updatable."
 msgstr "Sichten, die LIMIT oder OFFSET enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2588
+#: rewrite/rewriteHandler.c:2615
 msgid "Views that return aggregate functions are not automatically updatable."
 msgstr "Sichten, die Aggregatfunktionen zurückgeben, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2591
+#: rewrite/rewriteHandler.c:2618
 msgid "Views that return window functions are not automatically updatable."
 msgstr "Sichten, die Fensterfunktionen zurückgeben, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2594
+#: rewrite/rewriteHandler.c:2621
 msgid "Views that return set-returning functions are not automatically updatable."
 msgstr "Sichten, die Funktionen mit Ergebnismenge zurückgeben, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2601 rewrite/rewriteHandler.c:2605
-#: rewrite/rewriteHandler.c:2613
+#: rewrite/rewriteHandler.c:2628 rewrite/rewriteHandler.c:2632
+#: rewrite/rewriteHandler.c:2640
 msgid "Views that do not select from a single table or view are not automatically updatable."
 msgstr "Sichten, die nicht aus einer einzigen Tabelle oder Sicht lesen, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2616
+#: rewrite/rewriteHandler.c:2643
 msgid "Views containing TABLESAMPLE are not automatically updatable."
 msgstr "Sichten, die TABLESAMPLE enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2640
+#: rewrite/rewriteHandler.c:2667
 msgid "Views that have no updatable columns are not automatically updatable."
 msgstr "Sichten, die keine aktualisierbaren Spalten haben, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:3117
+#: rewrite/rewriteHandler.c:3144
 #, c-format
 msgid "cannot insert into column \"%s\" of view \"%s\""
 msgstr "kann nicht in Spalte »%s« von Sicht »%s« einfügen"
 
-#: rewrite/rewriteHandler.c:3125
+#: rewrite/rewriteHandler.c:3152
 #, c-format
 msgid "cannot update column \"%s\" of view \"%s\""
 msgstr "kann Spalte »%s« von Sicht »%s« nicht aktualisieren"
 
-#: rewrite/rewriteHandler.c:3603
+#: rewrite/rewriteHandler.c:3639
+#, c-format
+msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH"
+msgstr "DO-INSTEAD-NOTIFY-Regeln werden für datenmodifizierende Anweisungen in WITH nicht unterstützt"
+
+#: rewrite/rewriteHandler.c:3650
 #, c-format
 msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH"
 msgstr "DO-INSTEAD-NOTHING-Regeln werden für datenmodifizierende Anweisungen in WITH nicht unterstützt"
 
-#: rewrite/rewriteHandler.c:3617
+#: rewrite/rewriteHandler.c:3664
 #, c-format
 msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH"
 msgstr "DO-INSTEAD-Regeln mit Bedingung werden für datenmodifizierende Anweisungen in WITH nicht unterstützt"
 
-#: rewrite/rewriteHandler.c:3621
+#: rewrite/rewriteHandler.c:3668
 #, c-format
 msgid "DO ALSO rules are not supported for data-modifying statements in WITH"
 msgstr "DO-ALSO-Regeln werden für datenmodifizierende Anweisungen in WITH nicht unterstützt"
 
-#: rewrite/rewriteHandler.c:3626
+#: rewrite/rewriteHandler.c:3673
 #, c-format
 msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH"
 msgstr "DO-INSTEAD-Regeln mit mehreren Anweisungen werden für datenmodifizierende Anweisungen in WITH nicht unterstützt"
 
-#: rewrite/rewriteHandler.c:3826 rewrite/rewriteHandler.c:3834
-#: rewrite/rewriteHandler.c:3842
+#: rewrite/rewriteHandler.c:3906 rewrite/rewriteHandler.c:3914
+#: rewrite/rewriteHandler.c:3922
 #, c-format
 msgid "Views with conditional DO INSTEAD rules are not automatically updatable."
 msgstr "Sichten mit DO-INSTEAD-Regeln mit Bedingung sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:3935
+#: rewrite/rewriteHandler.c:4015
 #, c-format
 msgid "cannot perform INSERT RETURNING on relation \"%s\""
 msgstr "INSERT RETURNING kann in Relation »%s« nicht ausgeführt werden"
 
-#: rewrite/rewriteHandler.c:3937
+#: rewrite/rewriteHandler.c:4017
 #, c-format
 msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause."
 msgstr "Sie benötigen eine ON INSERT DO INSTEAD Regel ohne Bedingung, mit RETURNING-Klausel."
 
-#: rewrite/rewriteHandler.c:3942
+#: rewrite/rewriteHandler.c:4022
 #, c-format
 msgid "cannot perform UPDATE RETURNING on relation \"%s\""
 msgstr "UPDATE RETURNING kann in Relation »%s« nicht ausgeführt werden"
 
-#: rewrite/rewriteHandler.c:3944
+#: rewrite/rewriteHandler.c:4024
 #, c-format
 msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause."
 msgstr "Sie benötigen eine ON UPDATE DO INSTEAD Regel ohne Bedingung, mit RETURNING-Klausel."
 
-#: rewrite/rewriteHandler.c:3949
+#: rewrite/rewriteHandler.c:4029
 #, c-format
 msgid "cannot perform DELETE RETURNING on relation \"%s\""
 msgstr "DELETE RETURNING kann in Relation »%s« nicht ausgeführt werden"
 
-#: rewrite/rewriteHandler.c:3951
+#: rewrite/rewriteHandler.c:4031
 #, c-format
 msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause."
 msgstr "Sie benötigen eine ON DELETE DO INSTEAD Regel ohne Bedingung, mit RETURNING-Klausel."
 
-#: rewrite/rewriteHandler.c:3969
+#: rewrite/rewriteHandler.c:4049
 #, c-format
 msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules"
 msgstr "INSERT mit ON-CONFLICT-Klausel kann nicht mit Tabelle verwendet werden, die INSERT- oder UPDATE-Regeln hat"
 
-#: rewrite/rewriteHandler.c:4026
+#: rewrite/rewriteHandler.c:4106
 #, c-format
 msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries"
 msgstr "WITH kann nicht in einer Anfrage verwendet werden, die durch Regeln in mehrere Anfragen umgeschrieben wird"
@@ -20516,101 +21516,115 @@ msgstr "WHERE CURRENT OF mit einer Sicht ist nicht implementiert"
 msgid "NEW variables in ON UPDATE rules cannot reference columns that are part of a multiple assignment in the subject UPDATE command"
 msgstr "NEW-Variablen in ON UPDATE-Regeln können nicht auf Spalten verweisen, die Teil einer Mehrfachzuweisung in dem UPDATE-Befehl sind"
 
-#: scan.l:458
+#: rewrite/rewriteSearchCycle.c:410
+#, fuzzy, c-format
+#| msgid "with a SEARCH or CYCLE clause, the left side of the UNION must be a SELECT"
+msgid "with a SEARCH or CYCLE clause, the recursive reference to WITH query \"%s\" must be at the top level of its right-hand SELECT"
+msgstr "mit einer SEARCH- oder CYCLE-Klausel muss die linke Seite von UNION ein SELECT sein"
+
+#: scan.l:465
 msgid "unterminated /* comment"
 msgstr "/*-Kommentar nicht abgeschlossen"
 
-#: scan.l:478
+#: scan.l:485
 msgid "unterminated bit string literal"
 msgstr "Bitkettenkonstante nicht abgeschlossen"
 
-#: scan.l:492
+#: scan.l:499
 msgid "unterminated hexadecimal string literal"
 msgstr "hexadezimale Zeichenkette nicht abgeschlossen"
 
-#: scan.l:542
+#: scan.l:549
 #, c-format
 msgid "unsafe use of string constant with Unicode escapes"
 msgstr "unsichere Verwendung von Zeichenkette mit Unicode-Escapes"
 
-#: scan.l:543
+#: scan.l:550
 #, c-format
 msgid "String constants with Unicode escapes cannot be used when standard_conforming_strings is off."
 msgstr "Zeichenketten mit Unicode-Escapes können nicht verwendet werden, wenn standard_conforming_strings aus ist."
 
-#: scan.l:604
+#: scan.l:611
 msgid "unhandled previous state in xqs"
 msgstr "unbehandelter vorheriger Zustand in xqs"
 
-#: scan.l:678
+#: scan.l:685
 #, c-format
 msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX."
 msgstr "Unicode-Escapes müssen \\uXXXX oder \\UXXXXXXXX sein."
 
-#: scan.l:689
+#: scan.l:696
 #, c-format
 msgid "unsafe use of \\' in a string literal"
 msgstr "unsichere Verwendung von \\' in Zeichenkettenkonstante"
 
-#: scan.l:690
+#: scan.l:697
 #, c-format
 msgid "Use '' to write quotes in strings. \\' is insecure in client-only encodings."
 msgstr "Verwenden Sie '', um Quotes in Zeichenketten zu schreiben. \\' ist in bestimmten Client-seitigen Kodierungen unsicher."
 
-#: scan.l:762
+#: scan.l:769
 msgid "unterminated dollar-quoted string"
 msgstr "Dollar-Quotes nicht abgeschlossen"
 
-#: scan.l:779 scan.l:789
+#: scan.l:786 scan.l:796
 msgid "zero-length delimited identifier"
 msgstr "Bezeichner in Anführungszeichen hat Länge null"
 
-#: scan.l:800 syncrep_scanner.l:91
+#: scan.l:807 syncrep_scanner.l:91
 msgid "unterminated quoted identifier"
 msgstr "Bezeichner in Anführungszeichen nicht abgeschlossen"
 
-#: scan.l:963
+#: scan.l:970
 msgid "operator too long"
 msgstr "Operator zu lang"
 
+#: scan.l:983
+msgid "trailing junk after parameter"
+msgstr "Müll folgt auf Parameter"
+
+#: scan.l:1008 scan.l:1012 scan.l:1016 scan.l:1020
+msgid "trailing junk after numeric literal"
+msgstr "Müll folgt auf numerische Konstante"
+
 #. translator: %s is typically the translation of "syntax error"
-#: scan.l:1171
+#: scan.l:1183
 #, c-format
 msgid "%s at end of input"
 msgstr "%s am Ende der Eingabe"
 
 #. translator: first %s is typically the translation of "syntax error"
-#: scan.l:1179
+#: scan.l:1191
 #, c-format
 msgid "%s at or near \"%s\""
 msgstr "%s bei »%s«"
 
-#: scan.l:1373
+#: scan.l:1382
 #, c-format
 msgid "nonstandard use of \\' in a string literal"
 msgstr "nicht standardkonforme Verwendung von \\' in Zeichenkettenkonstante"
 
-#: scan.l:1374
+#: scan.l:1383
 #, c-format
 msgid "Use '' to write quotes in strings, or use the escape string syntax (E'...')."
 msgstr "Verwenden Sie '', um Quotes in Zeichenketten zu schreiben, oder verwenden Sie die Syntax für Escape-Zeichenketten (E'...')."
 
-#: scan.l:1383
+#: scan.l:1392
 #, c-format
 msgid "nonstandard use of \\\\ in a string literal"
 msgstr "nicht standardkonforme Verwendung  von \\\\ in Zeichenkettenkonstante"
 
-#: scan.l:1384
+#: scan.l:1393
 #, c-format
 msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'."
 msgstr "Verwenden Sie die Syntax für Escape-Zeichenketten für Backslashes, z.B. E'\\\\'."
 
-#: scan.l:1398
+#: scan.l:1407
 #, c-format
 msgid "nonstandard use of escape in a string literal"
 msgstr "nicht standardkonforme Verwendung von Escape in Zeichenkettenkonstante"
 
-#: scan.l:1399
+#: scan.l:1408
 #, c-format
 msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'."
 msgstr "Verwenden Sie die Syntax für Escape-Zeichenketten, z.B. E'\\r\\n'."
@@ -20641,58 +21655,57 @@ msgstr "unbekannter Snowball-Parameter: »%s«"
 msgid "missing Language parameter"
 msgstr "Parameter »Language« fehlt"
 
-#: statistics/extended_stats.c:175
+#: statistics/extended_stats.c:179
 #, c-format
 msgid "statistics object \"%s.%s\" could not be computed for relation \"%s.%s\""
 msgstr "Statistikobjekt »%s.%s« konnte für Relation »%s.%s« nicht berechnet werden"
 
-#: statistics/extended_stats.c:2277
-#, fuzzy, c-format
-#| msgid "relation \"%s\" does not have a composite type"
-msgid "relation \"pg_statistic\" does not have a composite type"
-msgstr "Relation »%s« hat keinen zusammengesetzten Typ"
-
-#: statistics/mcv.c:1368 utils/adt/jsonfuncs.c:1941
+#: statistics/mcv.c:1372
 #, c-format
 msgid "function returning record called in context that cannot accept type record"
 msgstr "Funktion, die einen Record zurückgibt, in einem Zusammenhang aufgerufen, der Typ record nicht verarbeiten kann"
 
-#: storage/buffer/bufmgr.c:601 storage/buffer/bufmgr.c:761
+#: storage/buffer/bufmgr.c:603 storage/buffer/bufmgr.c:763
 #, c-format
 msgid "cannot access temporary tables of other sessions"
 msgstr "auf temporäre Tabellen anderer Sitzungen kann nicht zugegriffen werden"
 
-#: storage/buffer/bufmgr.c:917
+#: storage/buffer/bufmgr.c:841
+#, c-format
+msgid "cannot extend relation %s beyond %u blocks"
+msgstr "kann Relation %s nicht auf über %u Blöcke erweitern"
+
+#: storage/buffer/bufmgr.c:928
 #, c-format
 msgid "unexpected data beyond EOF in block %u of relation %s"
 msgstr "unerwartete Daten hinter Dateiende in Block %u von Relation %s"
 
-#: storage/buffer/bufmgr.c:919
+#: storage/buffer/bufmgr.c:930
 #, c-format
 msgid "This has been seen to occur with buggy kernels; consider updating your system."
 msgstr "Das scheint mit fehlerhaften Kernels vorzukommen; Sie sollten eine Systemaktualisierung in Betracht ziehen."
 
-#: storage/buffer/bufmgr.c:1018
+#: storage/buffer/bufmgr.c:1029
 #, c-format
 msgid "invalid page in block %u of relation %s; zeroing out page"
 msgstr "ungültige Seite in Block %u von Relation %s; fülle Seite mit Nullen"
 
-#: storage/buffer/bufmgr.c:4524
+#: storage/buffer/bufmgr.c:4657
 #, c-format
 msgid "could not write block %u of %s"
 msgstr "konnte Block %u von %s nicht schreiben"
 
-#: storage/buffer/bufmgr.c:4526
+#: storage/buffer/bufmgr.c:4659
 #, c-format
 msgid "Multiple failures --- write error might be permanent."
 msgstr "Mehrere Fehlschläge --- Schreibfehler ist möglicherweise dauerhaft."
 
-#: storage/buffer/bufmgr.c:4547 storage/buffer/bufmgr.c:4566
+#: storage/buffer/bufmgr.c:4680 storage/buffer/bufmgr.c:4699
 #, c-format
 msgid "writing block %u of relation %s"
 msgstr "schreibe Block %u von Relation %s"
 
-#: storage/buffer/bufmgr.c:4870
+#: storage/buffer/bufmgr.c:5003
 #, c-format
 msgid "snapshot too old"
 msgstr "Snapshot zu alt"
@@ -20707,156 +21720,174 @@ msgstr "kein leerer lokaler Puffer verfügbar"
 msgid "cannot access temporary tables during a parallel operation"
 msgstr "während einer parallelen Operation kann nicht auf temporäre Tabellen zugegriffen werden"
 
-#: storage/file/buffile.c:323
+#: storage/file/buffile.c:333
 #, c-format
 msgid "could not open temporary file \"%s\" from BufFile \"%s\": %m"
 msgstr "konnte temporäre Datei »%s« von BufFile »%s« nicht öffnen: %m"
 
-#: storage/file/buffile.c:684 storage/file/buffile.c:805
+#: storage/file/buffile.c:723 storage/file/buffile.c:844
 #, c-format
 msgid "could not determine size of temporary file \"%s\" from BufFile \"%s\": %m"
 msgstr "konnte Größe von temporärer Datei »%s« von BufFile »%s« nicht bestimmen: %m"
 
-#: storage/file/buffile.c:884
+#: storage/file/buffile.c:923
 #, fuzzy, c-format
 #| msgid "could not delete file \"%s\": %m"
-msgid "could not delete shared fileset \"%s\": %m"
+msgid "could not delete fileset \"%s\": %m"
 msgstr "konnte Datei »%s« nicht löschen: %m"
 
-#: storage/file/buffile.c:902 storage/smgr/md.c:306 storage/smgr/md.c:865
+#: storage/file/buffile.c:941 storage/smgr/md.c:310 storage/smgr/md.c:873
 #, c-format
 msgid "could not truncate file \"%s\": %m"
 msgstr "kann Datei »%s« nicht kürzen: %m"
 
-#: storage/file/fd.c:515 storage/file/fd.c:587 storage/file/fd.c:623
+#: storage/file/fd.c:522 storage/file/fd.c:594 storage/file/fd.c:630
 #, c-format
 msgid "could not flush dirty data: %m"
 msgstr "konnte schmutzige Daten nicht flushen: %m"
 
-#: storage/file/fd.c:545
+#: storage/file/fd.c:552
 #, c-format
 msgid "could not determine dirty data size: %m"
 msgstr "konnte Größe der schmutzigen Daten nicht bestimmen: %m"
 
-#: storage/file/fd.c:597
+#: storage/file/fd.c:604
 #, c-format
 msgid "could not munmap() while flushing data: %m"
 msgstr "munmap() fehlgeschlagen beim Flushen von Daten: %m"
 
-#: storage/file/fd.c:836
+#: storage/file/fd.c:843
 #, c-format
 msgid "could not link file \"%s\" to \"%s\": %m"
 msgstr "konnte Datei »%s« nicht nach »%s« linken: %m"
 
-#: storage/file/fd.c:929
+#: storage/file/fd.c:967
 #, c-format
 msgid "getrlimit failed: %m"
 msgstr "getrlimit fehlgeschlagen: %m"
 
-#: storage/file/fd.c:1019
+#: storage/file/fd.c:1057
 #, c-format
 msgid "insufficient file descriptors available to start server process"
 msgstr "nicht genug Dateideskriptoren verfügbar, um Serverprozess zu starten"
 
-#: storage/file/fd.c:1020
+#: storage/file/fd.c:1058
 #, c-format
 msgid "System allows %d, we need at least %d."
 msgstr "System erlaubt %d, wir benötigen mindestens %d."
 
-#: storage/file/fd.c:1071 storage/file/fd.c:2408 storage/file/fd.c:2518
-#: storage/file/fd.c:2669
+#: storage/file/fd.c:1153 storage/file/fd.c:2496 storage/file/fd.c:2606
+#: storage/file/fd.c:2757
 #, c-format
 msgid "out of file descriptors: %m; release and retry"
 msgstr "keine Dateideskriptoren mehr: %m; freigeben und nochmal versuchen"
 
-#: storage/file/fd.c:1445
+#: storage/file/fd.c:1527
 #, c-format
 msgid "temporary file: path \"%s\", size %lu"
 msgstr "temporäre Datei: Pfad »%s«, Größe %lu"
 
-#: storage/file/fd.c:1576
+#: storage/file/fd.c:1658
 #, c-format
 msgid "cannot create temporary directory \"%s\": %m"
 msgstr "konnte temporäres Verzeichnis »%s« nicht erzeugen: %m"
 
-#: storage/file/fd.c:1583
+#: storage/file/fd.c:1665
 #, c-format
 msgid "cannot create temporary subdirectory \"%s\": %m"
 msgstr "konnte temporäres Unterverzeichnis »%s« nicht erzeugen: %m"
 
-#: storage/file/fd.c:1776
+#: storage/file/fd.c:1862
 #, c-format
 msgid "could not create temporary file \"%s\": %m"
 msgstr "konnte temporäre Datei »%s« nicht erzeugen: %m"
 
-#: storage/file/fd.c:1810
+#: storage/file/fd.c:1898
 #, c-format
 msgid "could not open temporary file \"%s\": %m"
 msgstr "konnte temporäre Datei »%s« nicht öffnen: %m"
 
-#: storage/file/fd.c:1851
+#: storage/file/fd.c:1939
 #, c-format
 msgid "could not unlink temporary file \"%s\": %m"
 msgstr "konnte temporäre Datei »%s« nicht löschen: %m"
 
-#: storage/file/fd.c:1939
+#: storage/file/fd.c:2027
 #, c-format
 msgid "could not delete file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht löschen: %m"
 
-#: storage/file/fd.c:2119
+#: storage/file/fd.c:2207
 #, c-format
 msgid "temporary file size exceeds temp_file_limit (%dkB)"
 msgstr "Größe der temporären Datei überschreitet temp_file_limit (%dkB)"
 
-#: storage/file/fd.c:2384 storage/file/fd.c:2443
+#: storage/file/fd.c:2472 storage/file/fd.c:2531
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\""
 msgstr "maxAllocatedDescs (%d) überschritten beim Versuch, die Datei »%s« zu öffnen"
 
-#: storage/file/fd.c:2488
+#: storage/file/fd.c:2576
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\""
 msgstr "maxAllocatedDescs (%d) überschritten beim Versuch, den Befehl »%s« auszuführen"
 
-#: storage/file/fd.c:2645
+#: storage/file/fd.c:2733
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\""
 msgstr "maxAllocatedDescs (%d) überschritten beim Versuch, das Verzeichnis »%s« zu öffnen"
 
-#: storage/file/fd.c:3175
+#: storage/file/fd.c:3269
 #, c-format
 msgid "unexpected file found in temporary-files directory: \"%s\""
 msgstr "unerwartete Datei im Verzeichnis für temporäre Dateien gefunden: »%s«"
 
-#: storage/file/fd.c:3298
-#, fuzzy, c-format
-#| msgid "could not open file \"%s\": %m"
-msgid "could not open %s: %m"
-msgstr "konnte Datei »%s« nicht öffnen: %m"
+#: storage/file/fd.c:3387
+#, c-format
+msgid "syncing data directory (syncfs), elapsed time: %ld.%02d s, current path: %s"
+msgstr ""
 
-#: storage/file/fd.c:3304
-#, fuzzy, c-format
-#| msgid "could not fsync file \"%s\": %m"
-msgid "could not sync filesystem for \"%s\": %m"
-msgstr "konnte Datei »%s« nicht fsyncen: %m"
+#: storage/file/fd.c:3401
+#, c-format
+msgid "could not synchronize file system for file \"%s\": %m"
+msgstr "konnte Dateisystem für Datei »%s« nicht synchronisieren: %m"
+
+#: storage/file/fd.c:3619
+#, c-format
+msgid "syncing data directory (pre-fsync), elapsed time: %ld.%02d s, current path: %s"
+msgstr ""
+
+#: storage/file/fd.c:3651
+#, c-format
+msgid "syncing data directory (fsync), elapsed time: %ld.%02d s, current path: %s"
+msgstr ""
+
+#: storage/file/reinit.c:145
+#, c-format
+msgid "resetting unlogged relations (init), elapsed time: %ld.%02d s, current path: %s"
+msgstr ""
 
-#: storage/file/sharedfileset.c:144
+#: storage/file/reinit.c:148
+#, c-format
+msgid "resetting unlogged relations (cleanup), elapsed time: %ld.%02d s, current path: %s"
+msgstr ""
+
+#: storage/file/sharedfileset.c:79
 #, c-format
 msgid "could not attach to a SharedFileSet that is already destroyed"
 msgstr "konnte nicht an ein SharedFileSet anbinden, das schon zerstört ist"
 
-#: storage/ipc/dsm.c:351
+#: storage/ipc/dsm.c:353
 #, c-format
 msgid "dynamic shared memory control segment is corrupt"
 msgstr "Kontrollsegment von dynamischem Shared Memory ist verfälscht"
 
-#: storage/ipc/dsm.c:415
+#: storage/ipc/dsm.c:418
 #, c-format
 msgid "dynamic shared memory control segment is not valid"
 msgstr "Kontrollsegment von dynamischem Shared Memory ist ungültig"
 
-#: storage/ipc/dsm.c:592
+#: storage/ipc/dsm.c:600
 #, c-format
 msgid "too many dynamic shared memory segments"
 msgstr "zu viele dynamische Shared-Memory-Segmente"
@@ -20911,41 +21942,46 @@ msgstr "konnte Shared-Memory-Segment »%s« nicht erzeugen: %m"
 msgid "could not close shared memory segment \"%s\": %m"
 msgstr "konnte Shared-Memory-Segment »%s« nicht schließen: %m"
 
-#: storage/ipc/dsm_impl.c:975 storage/ipc/dsm_impl.c:1023
+#: storage/ipc/dsm_impl.c:976 storage/ipc/dsm_impl.c:1025
 #, c-format
 msgid "could not duplicate handle for \"%s\": %m"
 msgstr "konnte Handle für »%s« nicht duplizieren: %m"
 
-#: storage/ipc/procarray.c:3724
+#: storage/ipc/procarray.c:3830
 #, c-format
 msgid "database \"%s\" is being used by prepared transactions"
 msgstr "Datenbank »%s« wird von vorbereiteten Transaktionen verwendet"
 
-#: storage/ipc/procarray.c:3756 storage/ipc/signalfuncs.c:219
+#: storage/ipc/procarray.c:3862 storage/ipc/signalfuncs.c:226
 #, c-format
 msgid "must be a superuser to terminate superuser process"
 msgstr "nur Superuser können Prozesse eines Superusers beenden"
 
-#: storage/ipc/procarray.c:3763 storage/ipc/signalfuncs.c:224
+#: storage/ipc/procarray.c:3869 storage/ipc/signalfuncs.c:231
 #, c-format
 msgid "must be a member of the role whose process is being terminated or member of pg_signal_backend"
 msgstr "muss Mitglied der Rolle sein, deren Prozess beendet wird, oder Mitglied von pg_signal_backend"
 
-#: storage/ipc/shm_mq.c:368
+#: storage/ipc/procsignal.c:419
+#, c-format
+msgid "still waiting for backend with PID %lu to accept ProcSignalBarrier"
+msgstr ""
+
+#: storage/ipc/shm_mq.c:384
 #, c-format
 msgid "cannot send a message of size %zu via shared memory queue"
 msgstr "kann Nachricht mit Größe %zu nicht über Shared-Memory-Queue senden"
 
-#: storage/ipc/shm_mq.c:694
+#: storage/ipc/shm_mq.c:720
 #, c-format
 msgid "invalid message size %zu in shared memory queue"
 msgstr "ungültige Nachrichtengröße %zu in Shared-Memory-Queue"
 
-#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:981
-#: storage/lmgr/lock.c:1019 storage/lmgr/lock.c:2844 storage/lmgr/lock.c:4173
-#: storage/lmgr/lock.c:4238 storage/lmgr/lock.c:4545
-#: storage/lmgr/predicate.c:2470 storage/lmgr/predicate.c:2485
-#: storage/lmgr/predicate.c:3967 storage/lmgr/predicate.c:5078
+#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:982
+#: storage/lmgr/lock.c:1020 storage/lmgr/lock.c:2845 storage/lmgr/lock.c:4259
+#: storage/lmgr/lock.c:4324 storage/lmgr/lock.c:4674
+#: storage/lmgr/predicate.c:2472 storage/lmgr/predicate.c:2487
+#: storage/lmgr/predicate.c:3969 storage/lmgr/predicate.c:5081
 #: utils/hash/dynahash.c:1112
 #, c-format
 msgid "out of shared memory"
@@ -20976,137 +22012,125 @@ msgstr "nicht genug Shared-Memory für Datenstruktur »%s« (%zu Bytes angeforde
 msgid "requested shared memory size overflows size_t"
 msgstr "angeforderte Shared-Memory-Größe übersteigt Kapazität von size_t"
 
-#: storage/ipc/signalfuncs.c:68 storage/ipc/signalfuncs.c:261
-#: utils/adt/mcxtfuncs.c:196
-#, c-format
-msgid "PID %d is not a PostgreSQL server process"
+#: storage/ipc/signalfuncs.c:72
+#, fuzzy, c-format
+#| msgid "PID %d is not a PostgreSQL server process"
+msgid "PID %d is not a PostgreSQL backend process"
 msgstr "PID %d ist kein PostgreSQL-Serverprozess"
 
-#: storage/ipc/signalfuncs.c:99 storage/lmgr/proc.c:1454
-#: utils/adt/mcxtfuncs.c:210
+#: storage/ipc/signalfuncs.c:104 storage/lmgr/proc.c:1430
+#: utils/adt/mcxtfuncs.c:190
 #, c-format
 msgid "could not send signal to process %d: %m"
 msgstr "konnte Signal nicht an Prozess %d senden: %m"
 
-#: storage/ipc/signalfuncs.c:119
+#: storage/ipc/signalfuncs.c:124
 #, c-format
 msgid "must be a superuser to cancel superuser query"
 msgstr "nur Superuser können Anfragen eines Superusers stornieren"
 
-#: storage/ipc/signalfuncs.c:124
+#: storage/ipc/signalfuncs.c:129
 #, c-format
 msgid "must be a member of the role whose query is being canceled or member of pg_signal_backend"
 msgstr "muss Mitglied der Rolle sein, deren Anfrage storniert wird, oder Mitglied von pg_signal_backend"
 
-#: storage/ipc/signalfuncs.c:165
+#: storage/ipc/signalfuncs.c:170
 #, c-format
 msgid "could not check the existence of the backend with PID %d: %m"
 msgstr "konnte die Existenz des Backend mit PID %d nicht prüfen: %m"
 
-#: storage/ipc/signalfuncs.c:183
-#, fuzzy, c-format
-#| msgid "server did not promote within %d seconds"
-msgid "backend with PID %d did not terminate within %lld milliseconds"
-msgstr "Befördern des Servers wurde nicht innerhalb von %d Sekunden abgeschlossen"
+#: storage/ipc/signalfuncs.c:188
+#, c-format
+msgid "backend with PID %d did not terminate within %lld millisecond"
+msgid_plural "backend with PID %d did not terminate within %lld milliseconds"
+msgstr[0] "Backend mit PID %d wurde nicht innerhalb von %lld Millisekunde beendet"
+msgstr[1] "Backend mit PID %d wurde nicht innerhalb von %lld Millisekunden beendet"
 
-#: storage/ipc/signalfuncs.c:212
+#: storage/ipc/signalfuncs.c:219
 #, c-format
 msgid "\"timeout\" must not be negative"
 msgstr "»timeout« darf nicht negativ sein"
 
-#: storage/ipc/signalfuncs.c:254
-#, c-format
-msgid "\"timeout\" must not be negative or zero"
-msgstr "»timeout« darf nicht negativ oder null sein"
-
-#: storage/ipc/signalfuncs.c:300
+#: storage/ipc/signalfuncs.c:271
 #, c-format
 msgid "must be superuser to rotate log files with adminpack 1.0"
 msgstr "nur Superuser können mit adminpack 1.0 Logdateien rotieren"
 
 #. translator: %s is a SQL function name
-#: storage/ipc/signalfuncs.c:302 utils/adt/genfile.c:255
+#: storage/ipc/signalfuncs.c:273 utils/adt/genfile.c:250
 #, c-format
 msgid "Consider using %s, which is part of core, instead."
 msgstr "Verwenden Sie stattdessen %s, was im Kernsystem enthalten ist."
 
-#: storage/ipc/signalfuncs.c:308 storage/ipc/signalfuncs.c:328
+#: storage/ipc/signalfuncs.c:279 storage/ipc/signalfuncs.c:299
 #, c-format
 msgid "rotation not possible because log collection not active"
 msgstr "Rotierung nicht möglich, weil Logsammlung nicht aktiv ist"
 
-#: storage/ipc/standby.c:305
-#, fuzzy, c-format
-#| msgid "process %d still waiting for %s on %s after %ld.%03d ms"
+#: storage/ipc/standby.c:307
+#, c-format
 msgid "recovery still waiting after %ld.%03d ms: %s"
-msgstr "Prozess %d wartet immer noch auf %s-Sperre auf %s nach %ld,%03d ms"
+msgstr "Wiederherstellung wartet immer noch nach %ld,%03d ms: %s"
 
-#: storage/ipc/standby.c:314
-#, fuzzy, c-format
-#| msgid "process %d still waiting for %s on %s after %ld.%03d ms"
+#: storage/ipc/standby.c:316
+#, c-format
 msgid "recovery finished waiting after %ld.%03d ms: %s"
-msgstr "Prozess %d wartet immer noch auf %s-Sperre auf %s nach %ld,%03d ms"
+msgstr "Warten der Wiederherstellung beendet nach %ld,%03d ms: %s"
 
-#: storage/ipc/standby.c:878 tcop/postgres.c:3317
+#: storage/ipc/standby.c:883 tcop/postgres.c:3330
 #, c-format
 msgid "canceling statement due to conflict with recovery"
 msgstr "storniere Anfrage wegen Konflikt mit der Wiederherstellung"
 
-#: storage/ipc/standby.c:879 tcop/postgres.c:2471
+#: storage/ipc/standby.c:884 tcop/postgres.c:2485
 #, c-format
 msgid "User transaction caused buffer deadlock with recovery."
 msgstr "Benutzertransaktion hat Verklemmung (Deadlock) mit Wiederherstellung verursacht."
 
-#: storage/ipc/standby.c:1421
+#: storage/ipc/standby.c:1423
 msgid "unknown reason"
 msgstr "unbekannter Grund"
 
-#: storage/ipc/standby.c:1426
+#: storage/ipc/standby.c:1428
 msgid "recovery conflict on buffer pin"
-msgstr ""
+msgstr "Konflikt bei der Wiederherstellung wegen Buffer-Pin"
 
-#: storage/ipc/standby.c:1429
-#, fuzzy
-#| msgid "abort reason: recovery conflict"
+#: storage/ipc/standby.c:1431
 msgid "recovery conflict on lock"
-msgstr "Abbruchgrund: Konflikt bei Wiederherstellung"
+msgstr "Konflikt bei Wiederherstellung wegen Sperre"
 
-#: storage/ipc/standby.c:1432
-#, fuzzy
-#| msgid "remove a tablespace"
+#: storage/ipc/standby.c:1434
 msgid "recovery conflict on tablespace"
-msgstr "entfernt einen Tablespace"
+msgstr "Konflikt bei Wiederherstellung wegen Tablespace"
 
-#: storage/ipc/standby.c:1435
+#: storage/ipc/standby.c:1437
 msgid "recovery conflict on snapshot"
-msgstr ""
+msgstr "Konflikt bei der Wiederherstellung wegen Snapshot"
 
-#: storage/ipc/standby.c:1438
+#: storage/ipc/standby.c:1440
 msgid "recovery conflict on buffer deadlock"
-msgstr ""
+msgstr "Konflikt bei der Wiederherstellung wegen Buffer-Deadlock"
 
-#: storage/ipc/standby.c:1441
-#, fuzzy
-#| msgid "already connected to a database"
+#: storage/ipc/standby.c:1443
 msgid "recovery conflict on database"
-msgstr "bereits mit einer Datenbank verbunden"
+msgstr "Konflikt bei Wiederherstellung wegen Datenbank"
 
 #: storage/large_object/inv_api.c:191
 #, c-format
 msgid "pg_largeobject entry for OID %u, page %d has invalid data field size %d"
 msgstr "pg_largeobject-Eintrag für OID %u, Seite %d hat ungültige Datenfeldgröße %d"
 
-#: storage/large_object/inv_api.c:272
+#: storage/large_object/inv_api.c:274
 #, c-format
 msgid "invalid flags for opening a large object: %d"
 msgstr "ungültige Flags zum Öffnen eines Large Objects: %d"
 
-#: storage/large_object/inv_api.c:462
+#: storage/large_object/inv_api.c:457
 #, c-format
 msgid "invalid whence setting: %d"
 msgstr "ungültige »whence«-Angabe: %d"
 
-#: storage/large_object/inv_api.c:634
+#: storage/large_object/inv_api.c:629
 #, c-format
 msgid "invalid large object write request size: %d"
 msgstr "ungültige Größe der Large-Object-Schreibaufforderung: %d"
@@ -21131,123 +22155,123 @@ msgstr "Verklemmung (Deadlock) entdeckt"
 msgid "See server log for query details."
 msgstr "Einzelheiten zur Anfrage finden Sie im Serverlog."
 
-#: storage/lmgr/lmgr.c:831
+#: storage/lmgr/lmgr.c:859
 #, c-format
 msgid "while updating tuple (%u,%u) in relation \"%s\""
 msgstr "beim Aktualisieren von Tupel (%u,%u) in Relation »%s«"
 
-#: storage/lmgr/lmgr.c:834
+#: storage/lmgr/lmgr.c:862
 #, c-format
 msgid "while deleting tuple (%u,%u) in relation \"%s\""
 msgstr "beim Löschen von Tupel (%u,%u) in Relation »%s«"
 
-#: storage/lmgr/lmgr.c:837
+#: storage/lmgr/lmgr.c:865
 #, c-format
 msgid "while locking tuple (%u,%u) in relation \"%s\""
 msgstr "beim Sperren von Tupel (%u,%u) in Relation »%s«"
 
-#: storage/lmgr/lmgr.c:840
+#: storage/lmgr/lmgr.c:868
 #, c-format
 msgid "while locking updated version (%u,%u) of tuple in relation \"%s\""
 msgstr "beim Sperren von aktualisierter Version (%u,%u) von Tupel in Relation »%s«"
 
-#: storage/lmgr/lmgr.c:843
+#: storage/lmgr/lmgr.c:871
 #, c-format
 msgid "while inserting index tuple (%u,%u) in relation \"%s\""
 msgstr "beim Einfügen von Indextupel (%u,%u) in Relation »%s«"
 
-#: storage/lmgr/lmgr.c:846
+#: storage/lmgr/lmgr.c:874
 #, c-format
 msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\""
 msgstr "beim Prüfen der Eindeutigkeit von Tupel (%u,%u) in Relation »%s«"
 
-#: storage/lmgr/lmgr.c:849
+#: storage/lmgr/lmgr.c:877
 #, c-format
 msgid "while rechecking updated tuple (%u,%u) in relation \"%s\""
 msgstr "beim erneuten Prüfen des aktualisierten Tupels (%u,%u) in Relation »%s«"
 
-#: storage/lmgr/lmgr.c:852
+#: storage/lmgr/lmgr.c:880
 #, c-format
 msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\""
 msgstr "beim Prüfen eines Exclusion-Constraints für Tupel (%u,%u) in Relation »%s«"
 
-#: storage/lmgr/lmgr.c:1106
+#: storage/lmgr/lmgr.c:1135
 #, c-format
 msgid "relation %u of database %u"
 msgstr "Relation %u der Datenbank %u"
 
-#: storage/lmgr/lmgr.c:1112
+#: storage/lmgr/lmgr.c:1141
 #, c-format
 msgid "extension of relation %u of database %u"
 msgstr "Erweiterung von Relation %u in Datenbank %u"
 
-#: storage/lmgr/lmgr.c:1118
+#: storage/lmgr/lmgr.c:1147
 #, c-format
 msgid "pg_database.datfrozenxid of database %u"
 msgstr "pg_database.datfrozenxid der Datenbank %u"
 
-#: storage/lmgr/lmgr.c:1123
+#: storage/lmgr/lmgr.c:1152
 #, c-format
 msgid "page %u of relation %u of database %u"
 msgstr "Seite %u von Relation %u von Datenbank %u"
 
-#: storage/lmgr/lmgr.c:1130
+#: storage/lmgr/lmgr.c:1159
 #, c-format
 msgid "tuple (%u,%u) of relation %u of database %u"
 msgstr "Tupel (%u, %u) von Relation %u von Datenbank %u"
 
-#: storage/lmgr/lmgr.c:1138
+#: storage/lmgr/lmgr.c:1167
 #, c-format
 msgid "transaction %u"
 msgstr "Transaktion %u"
 
-#: storage/lmgr/lmgr.c:1143
+#: storage/lmgr/lmgr.c:1172
 #, c-format
 msgid "virtual transaction %d/%u"
 msgstr "virtuelle Transaktion %d/%u"
 
-#: storage/lmgr/lmgr.c:1149
+#: storage/lmgr/lmgr.c:1178
 #, c-format
 msgid "speculative token %u of transaction %u"
 msgstr "spekulatives Token %u von Transaktion %u"
 
-#: storage/lmgr/lmgr.c:1155
+#: storage/lmgr/lmgr.c:1184
 #, c-format
 msgid "object %u of class %u of database %u"
 msgstr "Objekt %u von Klasse %u von Datenbank %u"
 
-#: storage/lmgr/lmgr.c:1163
+#: storage/lmgr/lmgr.c:1192
 #, c-format
 msgid "user lock [%u,%u,%u]"
 msgstr "Benutzersperre [%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:1170
+#: storage/lmgr/lmgr.c:1199
 #, c-format
 msgid "advisory lock [%u,%u,%u,%u]"
 msgstr "Benutzersperre [%u,%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:1178
+#: storage/lmgr/lmgr.c:1207
 #, c-format
 msgid "unrecognized locktag type %d"
 msgstr "unbekannter Locktag-Typ %d"
 
-#: storage/lmgr/lock.c:802
+#: storage/lmgr/lock.c:803
 #, c-format
 msgid "cannot acquire lock mode %s on database objects while recovery is in progress"
 msgstr "Sperrmodus %s kann während der Wiederherstellung nicht auf Datenbankobjekte gesetzt werden"
 
-#: storage/lmgr/lock.c:804
+#: storage/lmgr/lock.c:805
 #, c-format
 msgid "Only RowExclusiveLock or less can be acquired on database objects during recovery."
 msgstr "Nur Sperren gleich oder unter RowExclusiveLock können während der Wiederherstellung auf Datenbankobjekte gesetzt werden."
 
-#: storage/lmgr/lock.c:982 storage/lmgr/lock.c:1020 storage/lmgr/lock.c:2845
-#: storage/lmgr/lock.c:4174 storage/lmgr/lock.c:4239 storage/lmgr/lock.c:4546
+#: storage/lmgr/lock.c:983 storage/lmgr/lock.c:1021 storage/lmgr/lock.c:2846
+#: storage/lmgr/lock.c:4260 storage/lmgr/lock.c:4325 storage/lmgr/lock.c:4675
 #, c-format
 msgid "You might need to increase max_locks_per_transaction."
 msgstr "Sie müssen möglicherweise max_locks_per_transaction erhöhen."
 
-#: storage/lmgr/lock.c:3283 storage/lmgr/lock.c:3399
+#: storage/lmgr/lock.c:3301 storage/lmgr/lock.c:3369 storage/lmgr/lock.c:3485
 #, c-format
 msgid "cannot PREPARE while holding both session-level and transaction-level locks on the same object"
 msgstr "PREPARE kann nicht ausgeführt werden, wenn für das selbe Objekt Sperren auf Sitzungsebene und auf Transaktionsebene gehalten werden"
@@ -21267,82 +22291,82 @@ msgstr "Sie müssten entweder weniger Transaktionen auf einmal ausführen oder m
 msgid "not enough elements in RWConflictPool to record a potential read/write conflict"
 msgstr "nicht genügend Elemente in RWConflictPool, um einen möglichen Lese-/Schreibkonflikt aufzuzeichnen"
 
-#: storage/lmgr/predicate.c:1694
+#: storage/lmgr/predicate.c:1695
 #, c-format
 msgid "\"default_transaction_isolation\" is set to \"serializable\"."
 msgstr "»default_transaction_isolation« ist auf »serializable« gesetzt."
 
-#: storage/lmgr/predicate.c:1695
+#: storage/lmgr/predicate.c:1696
 #, c-format
 msgid "You can use \"SET default_transaction_isolation = 'repeatable read'\" to change the default."
 msgstr "Mit »SET default_transaction_isolation = 'repeatable read'« können Sie die Voreinstellung ändern."
 
-#: storage/lmgr/predicate.c:1746
+#: storage/lmgr/predicate.c:1747
 #, c-format
 msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE"
 msgstr "eine Transaktion, die einen Snapshot importiert, must READ ONLY DEFERRABLE sein"
 
-#: storage/lmgr/predicate.c:1825 utils/time/snapmgr.c:567
-#: utils/time/snapmgr.c:573
+#: storage/lmgr/predicate.c:1826 utils/time/snapmgr.c:569
+#: utils/time/snapmgr.c:575
 #, c-format
 msgid "could not import the requested snapshot"
 msgstr "konnte den angeforderten Snapshot nicht importieren"
 
-#: storage/lmgr/predicate.c:1826 utils/time/snapmgr.c:574
+#: storage/lmgr/predicate.c:1827 utils/time/snapmgr.c:576
 #, c-format
 msgid "The source process with PID %d is not running anymore."
 msgstr "Der Ausgangsprozess mit PID %d läuft nicht mehr."
 
-#: storage/lmgr/predicate.c:2471 storage/lmgr/predicate.c:2486
-#: storage/lmgr/predicate.c:3968
+#: storage/lmgr/predicate.c:2473 storage/lmgr/predicate.c:2488
+#: storage/lmgr/predicate.c:3970
 #, c-format
 msgid "You might need to increase max_pred_locks_per_transaction."
 msgstr "Sie müssen möglicherweise max_pred_locks_per_transaction erhöhen."
 
-#: storage/lmgr/predicate.c:4099 storage/lmgr/predicate.c:4135
-#: storage/lmgr/predicate.c:4168 storage/lmgr/predicate.c:4176
-#: storage/lmgr/predicate.c:4215 storage/lmgr/predicate.c:4457
-#: storage/lmgr/predicate.c:4794 storage/lmgr/predicate.c:4806
-#: storage/lmgr/predicate.c:4849 storage/lmgr/predicate.c:4887
-#, c-format
-msgid "could not serialize access due to read/write dependencies among transactions"
-msgstr "konnte Zugriff nicht serialisieren wegen Lese-/Schreib-Abhängigkeiten zwischen Transaktionen"
-
 #: storage/lmgr/predicate.c:4101 storage/lmgr/predicate.c:4137
 #: storage/lmgr/predicate.c:4170 storage/lmgr/predicate.c:4178
 #: storage/lmgr/predicate.c:4217 storage/lmgr/predicate.c:4459
 #: storage/lmgr/predicate.c:4796 storage/lmgr/predicate.c:4808
 #: storage/lmgr/predicate.c:4851 storage/lmgr/predicate.c:4889
 #, c-format
+msgid "could not serialize access due to read/write dependencies among transactions"
+msgstr "konnte Zugriff nicht serialisieren wegen Lese-/Schreib-Abhängigkeiten zwischen Transaktionen"
+
+#: storage/lmgr/predicate.c:4103 storage/lmgr/predicate.c:4139
+#: storage/lmgr/predicate.c:4172 storage/lmgr/predicate.c:4180
+#: storage/lmgr/predicate.c:4219 storage/lmgr/predicate.c:4461
+#: storage/lmgr/predicate.c:4798 storage/lmgr/predicate.c:4810
+#: storage/lmgr/predicate.c:4853 storage/lmgr/predicate.c:4891
+#, c-format
 msgid "The transaction might succeed if retried."
 msgstr "Die Transaktion könnte erfolgreich sein, wenn sie erneut versucht würde."
 
-#: storage/lmgr/proc.c:357
+#: storage/lmgr/proc.c:355
 #, c-format
 msgid "number of requested standby connections exceeds max_wal_senders (currently %d)"
 msgstr "Anzahl angeforderter Standby-Verbindungen überschreitet max_wal_senders (aktuell %d)"
 
-#: storage/lmgr/proc.c:1551
+#: storage/lmgr/proc.c:1527
 #, c-format
 msgid "process %d avoided deadlock for %s on %s by rearranging queue order after %ld.%03d ms"
 msgstr "Prozess %d vermied Verklemmung wegen %s-Sperre auf %s durch Umordnen der Queue nach %ld,%03d ms"
 
-#: storage/lmgr/proc.c:1566
+#: storage/lmgr/proc.c:1542
 #, c-format
 msgid "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms"
 msgstr "Prozess %d hat Verklemmung festgestellt beim Warten auf %s-Sperre auf %s nach %ld,%03d ms"
 
-#: storage/lmgr/proc.c:1575
+#: storage/lmgr/proc.c:1551
 #, c-format
 msgid "process %d still waiting for %s on %s after %ld.%03d ms"
 msgstr "Prozess %d wartet immer noch auf %s-Sperre auf %s nach %ld,%03d ms"
 
-#: storage/lmgr/proc.c:1582
+#: storage/lmgr/proc.c:1558
 #, c-format
 msgid "process %d acquired %s on %s after %ld.%03d ms"
 msgstr "Prozess %d erlangte %s-Sperre auf %s nach %ld,%03d ms"
 
-#: storage/lmgr/proc.c:1599
+#: storage/lmgr/proc.c:1575
 #, c-format
 msgid "process %d failed to acquire %s on %s after %ld.%03d ms"
 msgstr "Prozess %d konnte %s-Sperre auf %s nach %ld,%03d ms nicht erlangen"
@@ -21352,101 +22376,96 @@ msgstr "Prozess %d konnte %s-Sperre auf %s nach %ld,%03d ms nicht erlangen"
 msgid "page verification failed, calculated checksum %u but expected %u"
 msgstr "Seitenüberprüfung fehlgeschlagen, berechnete Prüfsumme %u, aber erwartet %u"
 
-#: storage/page/bufpage.c:217 storage/page/bufpage.c:739
-#: storage/page/bufpage.c:1066 storage/page/bufpage.c:1201
-#: storage/page/bufpage.c:1307 storage/page/bufpage.c:1419
+#: storage/page/bufpage.c:217 storage/page/bufpage.c:730
+#: storage/page/bufpage.c:1073 storage/page/bufpage.c:1208
+#: storage/page/bufpage.c:1314 storage/page/bufpage.c:1426
 #, c-format
 msgid "corrupted page pointers: lower = %u, upper = %u, special = %u"
 msgstr "verfälschte Seitenzeiger: lower = %u, upper = %u, special = %u"
 
-#: storage/page/bufpage.c:768
+#: storage/page/bufpage.c:759
 #, c-format
 msgid "corrupted line pointer: %u"
 msgstr "verfälschter Line-Pointer: %u"
 
-#: storage/page/bufpage.c:795 storage/page/bufpage.c:1259
+#: storage/page/bufpage.c:789 storage/page/bufpage.c:1266
 #, c-format
 msgid "corrupted item lengths: total %u, available space %u"
 msgstr "verfälschte Item-Längen: gesamt %u, verfügbarer Platz %u"
 
-#: storage/page/bufpage.c:1085 storage/page/bufpage.c:1226
-#: storage/page/bufpage.c:1323 storage/page/bufpage.c:1435
+#: storage/page/bufpage.c:1092 storage/page/bufpage.c:1233
+#: storage/page/bufpage.c:1330 storage/page/bufpage.c:1442
 #, c-format
 msgid "corrupted line pointer: offset = %u, size = %u"
 msgstr "verfälschter Line-Pointer: offset = %u, size = %u"
 
-#: storage/smgr/md.c:434
+#: storage/smgr/md.c:439
 #, c-format
 msgid "cannot extend file \"%s\" beyond %u blocks"
 msgstr "kann Datei »%s« nicht auf über %u Blöcke erweitern"
 
-#: storage/smgr/md.c:449
+#: storage/smgr/md.c:454
 #, c-format
 msgid "could not extend file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht erweitern: %m"
 
-#: storage/smgr/md.c:451 storage/smgr/md.c:458 storage/smgr/md.c:746
-#, c-format
-msgid "Check free disk space."
-msgstr "Prüfen Sie den freien Festplattenplatz."
-
-#: storage/smgr/md.c:455
+#: storage/smgr/md.c:460
 #, c-format
 msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
 msgstr "konnte Datei »%s« nicht erweitern: es wurden nur %d von %d Bytes bei Block %u geschrieben"
 
-#: storage/smgr/md.c:667
+#: storage/smgr/md.c:675
 #, c-format
 msgid "could not read block %u in file \"%s\": %m"
 msgstr "konnte Block %u in Datei »%s« nicht lesen: %m"
 
-#: storage/smgr/md.c:683
+#: storage/smgr/md.c:691
 #, c-format
 msgid "could not read block %u in file \"%s\": read only %d of %d bytes"
 msgstr "konnte Block %u in Datei »%s« nicht lesen: es wurden nur %d von %d Bytes gelesen"
 
-#: storage/smgr/md.c:737
+#: storage/smgr/md.c:745
 #, c-format
 msgid "could not write block %u in file \"%s\": %m"
 msgstr "konnte Block %u in Datei »%s« nicht schreiben: %m"
 
-#: storage/smgr/md.c:742
+#: storage/smgr/md.c:750
 #, c-format
 msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes"
 msgstr "konnte Block %u in Datei »%s« nicht schreiben: es wurden nur %d von %d Bytes geschrieben"
 
-#: storage/smgr/md.c:836
+#: storage/smgr/md.c:844
 #, c-format
 msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now"
 msgstr "konnte Datei »%s« nicht auf %u Blöcke kürzen: es sind jetzt nur %u Blöcke"
 
-#: storage/smgr/md.c:891
+#: storage/smgr/md.c:899
 #, c-format
 msgid "could not truncate file \"%s\" to %u blocks: %m"
 msgstr "konnte Datei »%s« nicht auf %u Blöcke kürzen: %m"
 
-#: storage/smgr/md.c:1285
+#: storage/smgr/md.c:1298
 #, c-format
 msgid "could not open file \"%s\" (target block %u): previous segment is only %u blocks"
 msgstr "konnte Datei »%s« nicht öffnen (Zielblock %u): vorhergehendes Segment hat nur %u Blöcke"
 
-#: storage/smgr/md.c:1299
+#: storage/smgr/md.c:1312
 #, c-format
 msgid "could not open file \"%s\" (target block %u): %m"
 msgstr "konnte Datei »%s« nicht öffnen (Zielblock %u): %m"
 
 #: tcop/fastpath.c:148
 #, c-format
-msgid "cannot call function %s via fastpath interface"
-msgstr "Funktion %s kann nicht via Fastpath-Interface aufgerufen werden"
+msgid "cannot call function \"%s\" via fastpath interface"
+msgstr "Funktion »%s« kann nicht via Fastpath-Interface aufgerufen werden"
 
 #: tcop/fastpath.c:233
 #, c-format
 msgid "fastpath function call: \"%s\" (OID %u)"
 msgstr "Fastpath-Funktionsaufruf: »%s« (OID %u)"
 
-#: tcop/fastpath.c:312 tcop/postgres.c:1298 tcop/postgres.c:1556
-#: tcop/postgres.c:2015 tcop/postgres.c:2252
+#: tcop/fastpath.c:312 tcop/postgres.c:1334 tcop/postgres.c:1570
+#: tcop/postgres.c:2029 tcop/postgres.c:2266
 #, c-format
 msgid "duration: %s ms"
 msgstr "Dauer: %s ms"
@@ -21476,342 +22495,348 @@ msgstr "ungültige Argumentgröße %d in Funktionsaufruf-Message"
 msgid "incorrect binary data format in function argument %d"
 msgstr "falsches Binärdatenformat in Funktionsargument %d"
 
-#: tcop/postgres.c:446 tcop/postgres.c:4716
+#: tcop/postgres.c:444 tcop/postgres.c:4774
 #, c-format
 msgid "invalid frontend message type %d"
 msgstr "ungültiger Frontend-Message-Typ %d"
 
-#: tcop/postgres.c:1015
+#: tcop/postgres.c:1051
 #, c-format
 msgid "statement: %s"
 msgstr "Anweisung: %s"
 
-#: tcop/postgres.c:1303
+#: tcop/postgres.c:1339
 #, c-format
 msgid "duration: %s ms  statement: %s"
 msgstr "Dauer: %s ms  Anweisung: %s"
 
-#: tcop/postgres.c:1409
+#: tcop/postgres.c:1445
 #, c-format
 msgid "cannot insert multiple commands into a prepared statement"
 msgstr "kann nicht mehrere Befehle in vorbereitete Anweisung einfügen"
 
-#: tcop/postgres.c:1561
+#: tcop/postgres.c:1575
 #, c-format
 msgid "duration: %s ms  parse %s: %s"
 msgstr "Dauer: %s ms  Parsen %s: %s"
 
-#: tcop/postgres.c:1627 tcop/postgres.c:2567
+#: tcop/postgres.c:1641 tcop/postgres.c:2581
 #, c-format
 msgid "unnamed prepared statement does not exist"
 msgstr "unbenannte vorbereitete Anweisung existiert nicht"
 
-#: tcop/postgres.c:1668
+#: tcop/postgres.c:1682
 #, c-format
 msgid "bind message has %d parameter formats but %d parameters"
 msgstr "Binden-Nachricht hat %d Parameterformate aber %d Parameter"
 
-#: tcop/postgres.c:1674
+#: tcop/postgres.c:1688
 #, c-format
 msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d"
 msgstr "Binden-Nachricht enthält %d Parameter, aber vorbereitete Anweisung »%s« erfordert %d"
 
-#: tcop/postgres.c:1893
+#: tcop/postgres.c:1907
 #, c-format
 msgid "incorrect binary data format in bind parameter %d"
 msgstr "falsches Binärdatenformat in Binden-Parameter %d"
 
-#: tcop/postgres.c:2020
+#: tcop/postgres.c:2034
 #, c-format
 msgid "duration: %s ms  bind %s%s%s: %s"
 msgstr "Dauer: %s ms  Binden %s%s%s: %s"
 
-#: tcop/postgres.c:2070 tcop/postgres.c:2651
+#: tcop/postgres.c:2084 tcop/postgres.c:2664
 #, c-format
 msgid "portal \"%s\" does not exist"
 msgstr "Portal »%s« existiert nicht"
 
-#: tcop/postgres.c:2155
+#: tcop/postgres.c:2169
 #, c-format
 msgid "%s %s%s%s: %s"
 msgstr "%s %s%s%s: %s"
 
-#: tcop/postgres.c:2157 tcop/postgres.c:2260
+#: tcop/postgres.c:2171 tcop/postgres.c:2274
 msgid "execute fetch from"
 msgstr "Ausführen Fetch von"
 
-#: tcop/postgres.c:2158 tcop/postgres.c:2261
+#: tcop/postgres.c:2172 tcop/postgres.c:2275
 msgid "execute"
 msgstr "Ausführen"
 
-#: tcop/postgres.c:2257
+#: tcop/postgres.c:2271
 #, c-format
 msgid "duration: %s ms  %s %s%s%s: %s"
 msgstr "Dauer: %s ms  %s %s%s%s: %s"
 
-#: tcop/postgres.c:2403
+#: tcop/postgres.c:2417
 #, c-format
 msgid "prepare: %s"
 msgstr "Vorbereiten: %s"
 
-#: tcop/postgres.c:2428
+#: tcop/postgres.c:2442
 #, c-format
 msgid "parameters: %s"
 msgstr "Parameter: %s"
 
-#: tcop/postgres.c:2443
+#: tcop/postgres.c:2457
 #, c-format
 msgid "abort reason: recovery conflict"
 msgstr "Abbruchgrund: Konflikt bei Wiederherstellung"
 
-#: tcop/postgres.c:2459
+#: tcop/postgres.c:2473
 #, c-format
 msgid "User was holding shared buffer pin for too long."
 msgstr "Benutzer hat Shared-Buffer-Pin zu lange gehalten."
 
-#: tcop/postgres.c:2462
+#: tcop/postgres.c:2476
 #, c-format
 msgid "User was holding a relation lock for too long."
 msgstr "Benutzer hat Relationssperre zu lange gehalten."
 
-#: tcop/postgres.c:2465
+#: tcop/postgres.c:2479
 #, c-format
 msgid "User was or might have been using tablespace that must be dropped."
 msgstr "Benutzer hat (möglicherweise) einen Tablespace verwendet, der gelöscht werden muss."
 
-#: tcop/postgres.c:2468
+#: tcop/postgres.c:2482
 #, c-format
 msgid "User query might have needed to see row versions that must be removed."
 msgstr "Benutzeranfrage hat möglicherweise Zeilenversionen sehen müssen, die entfernt werden müssen."
 
-#: tcop/postgres.c:2474
+#: tcop/postgres.c:2488
 #, c-format
 msgid "User was connected to a database that must be dropped."
 msgstr "Benutzer war mit einer Datenbank verbunden, die gelöscht werden muss."
 
-#: tcop/postgres.c:2513
+#: tcop/postgres.c:2527
 #, c-format
 msgid "portal \"%s\" parameter $%d = %s"
 msgstr "Portal »%s« Parameter $%d = %s"
 
-#: tcop/postgres.c:2516
+#: tcop/postgres.c:2530
 #, c-format
 msgid "portal \"%s\" parameter $%d"
 msgstr "Portal »%s« Parameter $%d"
 
-#: tcop/postgres.c:2522
+#: tcop/postgres.c:2536
 #, c-format
 msgid "unnamed portal parameter $%d = %s"
 msgstr "unbenanntes Portal Parameter $%d = %s"
 
-#: tcop/postgres.c:2525
+#: tcop/postgres.c:2539
 #, c-format
 msgid "unnamed portal parameter $%d"
 msgstr "unbenanntes Portal Parameter $%d"
 
-#: tcop/postgres.c:2871
+#: tcop/postgres.c:2884
 #, c-format
 msgid "terminating connection because of unexpected SIGQUIT signal"
 msgstr "Verbindung wird abgebrochen wegen unerwartetem SIGQUIT-Signal"
 
-#: tcop/postgres.c:2877
+#: tcop/postgres.c:2890
 #, c-format
 msgid "terminating connection because of crash of another server process"
 msgstr "Verbindung wird abgebrochen wegen Absturz eines anderen Serverprozesses"
 
-#: tcop/postgres.c:2878
+#: tcop/postgres.c:2891
 #, c-format
 msgid "The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory."
 msgstr "Der Postmaster hat diesen Serverprozess angewiesen, die aktuelle Transaktion zurückzurollen und die Sitzung zu beenden, weil ein anderer Serverprozess abnormal beendet wurde und möglicherweise das Shared Memory verfälscht hat."
 
-#: tcop/postgres.c:2882 tcop/postgres.c:3243
+#: tcop/postgres.c:2895 tcop/postgres.c:3256
 #, c-format
 msgid "In a moment you should be able to reconnect to the database and repeat your command."
 msgstr "In einem Moment sollten Sie wieder mit der Datenbank verbinden und Ihren Befehl wiederholen können."
 
-#: tcop/postgres.c:2889
-#, fuzzy, c-format
-#| msgid "terminating connection due to administrator command"
+#: tcop/postgres.c:2902
+#, c-format
 msgid "terminating connection due to immediate shutdown command"
-msgstr "Verbindung wird abgebrochen aufgrund von Anweisung des Administrators"
+msgstr "Verbindung wird abgebrochen aufgrund von Befehl für sofortiges Herunterfahren"
 
-#: tcop/postgres.c:2975
+#: tcop/postgres.c:2988
 #, c-format
 msgid "floating-point exception"
 msgstr "Fließkommafehler"
 
-#: tcop/postgres.c:2976
+#: tcop/postgres.c:2989
 #, c-format
 msgid "An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero."
 msgstr "Eine ungültige Fließkommaoperation wurde signalisiert. Das bedeutet wahrscheinlich ein Ergebnis außerhalb des gültigen Bereichs oder eine ungültige Operation, zum Beispiel Division durch null."
 
-#: tcop/postgres.c:3147
+#: tcop/postgres.c:3160
 #, c-format
 msgid "canceling authentication due to timeout"
 msgstr "storniere Authentifizierung wegen Zeitüberschreitung"
 
-#: tcop/postgres.c:3151
+#: tcop/postgres.c:3164
 #, c-format
 msgid "terminating autovacuum process due to administrator command"
 msgstr "Autovacuum-Prozess wird abgebrochen aufgrund von Anweisung des Administrators"
 
-#: tcop/postgres.c:3155
+#: tcop/postgres.c:3168
 #, c-format
 msgid "terminating logical replication worker due to administrator command"
 msgstr "Arbeitsprozess für logische Replikation wird abgebrochen aufgrund von Anweisung des Administrators"
 
-#: tcop/postgres.c:3172 tcop/postgres.c:3182 tcop/postgres.c:3241
+#: tcop/postgres.c:3185 tcop/postgres.c:3195 tcop/postgres.c:3254
 #, c-format
 msgid "terminating connection due to conflict with recovery"
 msgstr "Verbindung wird abgebrochen wegen Konflikt mit der Wiederherstellung"
 
-#: tcop/postgres.c:3193
+#: tcop/postgres.c:3206
 #, c-format
 msgid "terminating connection due to administrator command"
 msgstr "Verbindung wird abgebrochen aufgrund von Anweisung des Administrators"
 
-#: tcop/postgres.c:3224
+#: tcop/postgres.c:3237
 #, c-format
 msgid "connection to client lost"
 msgstr "Verbindung zum Client wurde verloren"
 
-#: tcop/postgres.c:3294
+#: tcop/postgres.c:3307
 #, c-format
 msgid "canceling statement due to lock timeout"
 msgstr "storniere Anfrage wegen Zeitüberschreitung einer Sperre"
 
-#: tcop/postgres.c:3301
+#: tcop/postgres.c:3314
 #, c-format
 msgid "canceling statement due to statement timeout"
 msgstr "storniere Anfrage wegen Zeitüberschreitung der Anfrage"
 
-#: tcop/postgres.c:3308
+#: tcop/postgres.c:3321
 #, c-format
 msgid "canceling autovacuum task"
 msgstr "storniere Autovacuum-Aufgabe"
 
-#: tcop/postgres.c:3331
+#: tcop/postgres.c:3344
 #, c-format
 msgid "canceling statement due to user request"
 msgstr "storniere Anfrage wegen Benutzeraufforderung"
 
-#: tcop/postgres.c:3345
+#: tcop/postgres.c:3358
 #, c-format
 msgid "terminating connection due to idle-in-transaction timeout"
 msgstr "Verbindung wird abgebrochen wegen Zeitüberschreitung in inaktiver Transaktion"
 
-#: tcop/postgres.c:3356
+#: tcop/postgres.c:3369
 #, c-format
 msgid "terminating connection due to idle-session timeout"
 msgstr "Verbindung wird abgebrochen wegen Zeitüberschreitung in inaktiver Sitzung"
 
-#: tcop/postgres.c:3475
+#: tcop/postgres.c:3506
 #, c-format
 msgid "stack depth limit exceeded"
 msgstr "Grenze für Stacktiefe überschritten"
 
-#: tcop/postgres.c:3476
+#: tcop/postgres.c:3507
 #, c-format
 msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate."
 msgstr "Erhöhen Sie den Konfigurationsparameter »max_stack_depth« (aktuell %dkB), nachdem Sie sichergestellt haben, dass die Stacktiefenbegrenzung Ihrer Plattform ausreichend ist."
 
-#: tcop/postgres.c:3539
+#: tcop/postgres.c:3570
 #, c-format
 msgid "\"max_stack_depth\" must not exceed %ldkB."
 msgstr "»max_stack_depth« darf %ldkB nicht überschreiten."
 
-#: tcop/postgres.c:3541
+#: tcop/postgres.c:3572
 #, c-format
 msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent."
 msgstr "Erhöhen Sie die Stacktiefenbegrenzung Ihrer Plattform mit »ulimit -s« oder der lokalen Entsprechung."
 
-#: tcop/postgres.c:3897
+#: tcop/postgres.c:3928
 #, c-format
 msgid "invalid command-line argument for server process: %s"
 msgstr "ungültiges Kommandozeilenargument für Serverprozess: %s"
 
-#: tcop/postgres.c:3898 tcop/postgres.c:3904
+#: tcop/postgres.c:3929 tcop/postgres.c:3935
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Versuchen Sie »%s --help« für weitere Informationen."
 
-#: tcop/postgres.c:3902
+#: tcop/postgres.c:3933
 #, c-format
 msgid "%s: invalid command-line argument: %s"
 msgstr "%s: ungültiges Kommandozeilenargument: %s"
 
-#: tcop/postgres.c:3965
+#: tcop/postgres.c:3986
 #, c-format
 msgid "%s: no database nor user name specified"
 msgstr "%s: weder Datenbankname noch Benutzername angegeben"
 
-#: tcop/postgres.c:4618
+#: tcop/postgres.c:4676
 #, c-format
 msgid "invalid CLOSE message subtype %d"
 msgstr "ungültiger Subtyp %d von CLOSE-Message"
 
-#: tcop/postgres.c:4653
+#: tcop/postgres.c:4711
 #, c-format
 msgid "invalid DESCRIBE message subtype %d"
 msgstr "ungültiger Subtyp %d von DESCRIBE-Message"
 
-#: tcop/postgres.c:4737
+#: tcop/postgres.c:4795
 #, c-format
 msgid "fastpath function calls not supported in a replication connection"
 msgstr "Fastpath-Funktionsaufrufe werden auf einer Replikationsverbindung nicht unterstützt"
 
-#: tcop/postgres.c:4741
+#: tcop/postgres.c:4799
 #, c-format
 msgid "extended query protocol not supported in a replication connection"
 msgstr "erweitertes Anfrageprotokoll wird nicht auf einer Replikationsverbindung unterstützt"
 
-#: tcop/postgres.c:4918
+#: tcop/postgres.c:4976
 #, c-format
 msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s"
 msgstr "Verbindungsende: Sitzungszeit: %d:%02d:%02d.%03d Benutzer=%s Datenbank=%s Host=%s%s%s"
 
-#: tcop/pquery.c:636
+#: tcop/pquery.c:641
 #, c-format
 msgid "bind message has %d result formats but query has %d columns"
 msgstr "Bind-Message hat %d Ergebnisspalten, aber Anfrage hat %d Spalten"
 
-#: tcop/pquery.c:939
+#: tcop/pquery.c:944 tcop/pquery.c:1701
 #, c-format
 msgid "cursor can only scan forward"
 msgstr "Cursor kann nur vorwärts scannen"
 
-#: tcop/pquery.c:940
+#: tcop/pquery.c:945 tcop/pquery.c:1702
 #, c-format
 msgid "Declare it with SCROLL option to enable backward scan."
 msgstr "Deklarieren Sie ihn mit der Option SCROLL, um rückwarts scannen zu können."
 
 #. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:414
+#: tcop/utility.c:417
 #, c-format
 msgid "cannot execute %s in a read-only transaction"
 msgstr "%s kann nicht in einer Read-Only-Transaktion ausgeführt werden"
 
 #. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:432
+#: tcop/utility.c:435
 #, c-format
 msgid "cannot execute %s during a parallel operation"
 msgstr "%s kann nicht während einer parallelen Operation ausgeführt werden"
 
 #. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:451
+#: tcop/utility.c:454
 #, c-format
 msgid "cannot execute %s during recovery"
 msgstr "%s kann nicht während der Wiederherstellung ausgeführt werden"
 
 #. translator: %s is name of a SQL command, eg PREPARE
-#: tcop/utility.c:469
+#: tcop/utility.c:472
 #, c-format
 msgid "cannot execute %s within security-restricted operation"
 msgstr "kann %s nicht in einer sicherheitsbeschränkten Operation ausführen"
 
-#: tcop/utility.c:913
+#. translator: %s is name of a SQL command, eg LISTEN
+#: tcop/utility.c:828
 #, c-format
-msgid "must be superuser to do CHECKPOINT"
+msgid "cannot execute %s within a background process"
+msgstr "%s kann nicht in einem Hintergrundprozess ausgeführt werden"
+
+#: tcop/utility.c:953
+#, fuzzy, c-format
+#| msgid "must be superuser to do CHECKPOINT"
+msgid "must be superuser or have privileges of pg_checkpointer to do CHECKPOINT"
 msgstr "nur Superuser können CHECKPOINT ausführen"
 
 #: tsearch/dict_ispell.c:52 tsearch/dict_thesaurus.c:615
@@ -21960,13 +22985,13 @@ msgstr "ungültiges Affix-Flag »%s« mit Flag-Wert »long«"
 msgid "could not open dictionary file \"%s\": %m"
 msgstr "konnte Wörterbuchdatei »%s« nicht öffnen: %m"
 
-#: tsearch/spell.c:763 utils/adt/regexp.c:208
+#: tsearch/spell.c:763 utils/adt/regexp.c:209
 #, c-format
 msgid "invalid regular expression: %s"
 msgstr "ungültiger regulärer Ausdruck: %s"
 
-#: tsearch/spell.c:1189 tsearch/spell.c:1201 tsearch/spell.c:1760
-#: tsearch/spell.c:1765 tsearch/spell.c:1770
+#: tsearch/spell.c:1189 tsearch/spell.c:1201 tsearch/spell.c:1761
+#: tsearch/spell.c:1766 tsearch/spell.c:1771
 #, c-format
 msgid "invalid affix alias \"%s\""
 msgstr "ungültiges Affixalias »%s«"
@@ -21996,7 +23021,7 @@ msgstr "Anzahl der Aliasse überschreitet angegebene Zahl %d"
 msgid "affix file contains both old-style and new-style commands"
 msgstr "Affixdatei enthält Befehle im alten und im neuen Stil"
 
-#: tsearch/to_tsany.c:195 utils/adt/tsvector.c:272 utils/adt/tsvector_op.c:1121
+#: tsearch/to_tsany.c:195 utils/adt/tsvector.c:272 utils/adt/tsvector_op.c:1127
 #, c-format
 msgid "string is too long for tsvector (%d bytes, max %d bytes)"
 msgstr "Zeichenkette ist zu lang für tsvector (%d Bytes, maximal %d Bytes)"
@@ -22030,162 +23055,221 @@ msgstr "ungültiger Textsuchekonfigurationsdateiname »%s«"
 
 #: tsearch/ts_utils.c:83
 #, c-format
-msgid "could not open stop-word file \"%s\": %m"
-msgstr "konnte Stoppwortdatei »%s« nicht öffnen: %m"
+msgid "could not open stop-word file \"%s\": %m"
+msgstr "konnte Stoppwortdatei »%s« nicht öffnen: %m"
+
+#: tsearch/wparser.c:313 tsearch/wparser.c:401 tsearch/wparser.c:478
+#, c-format
+msgid "text search parser does not support headline creation"
+msgstr "Textsucheparser unterstützt das Erzeugen von Headlines nicht"
+
+#: tsearch/wparser_def.c:2578
+#, c-format
+msgid "unrecognized headline parameter: \"%s\""
+msgstr "unbekannter Headline-Parameter: »%s«"
+
+#: tsearch/wparser_def.c:2597
+#, c-format
+msgid "MinWords should be less than MaxWords"
+msgstr "»MinWords« sollte kleiner als »MaxWords« sein"
+
+#: tsearch/wparser_def.c:2601
+#, c-format
+msgid "MinWords should be positive"
+msgstr "»MinWords« sollte positiv sein"
+
+#: tsearch/wparser_def.c:2605
+#, c-format
+msgid "ShortWord should be >= 0"
+msgstr "»ShortWord« sollte >= 0 sein"
+
+#: tsearch/wparser_def.c:2609
+#, c-format
+msgid "MaxFragments should be >= 0"
+msgstr "»MaxFragments« sollte >= 0 sein"
+
+#: utils/activity/pgstat.c:420
+#, fuzzy, c-format
+#| msgid "could not open statistics file \"%s\": %m"
+msgid "could not unlink permanent statistics file \"%s\": %m"
+msgstr "konnte Statistikdatei »%s« nicht öffnen: %m"
+
+#: utils/activity/pgstat.c:427
+#, fuzzy, c-format
+#| msgid "could not open statistics file \"%s\": %m"
+msgid "unlinked permanent statistics file \"%s\""
+msgstr "konnte Statistikdatei »%s« nicht öffnen: %m"
+
+#: utils/activity/pgstat.c:1199
+#, fuzzy, c-format
+#| msgid "unrecognized statistics kind \"%s\""
+msgid "invalid statistics kind: \"%s\""
+msgstr "unbekannte Statistikart »%s«"
+
+#: utils/activity/pgstat.c:1279
+#, c-format
+msgid "could not open temporary statistics file \"%s\": %m"
+msgstr "konnte temporäre Statistikdatei »%s« nicht öffnen: %m"
 
-#: tsearch/wparser.c:313 tsearch/wparser.c:401 tsearch/wparser.c:478
+#: utils/activity/pgstat.c:1385
 #, c-format
-msgid "text search parser does not support headline creation"
-msgstr "Textsucheparser unterstützt das Erzeugen von Headlines nicht"
+msgid "could not write temporary statistics file \"%s\": %m"
+msgstr "konnte temporäre Statistikdatei »%s« nicht schreiben: %m"
 
-#: tsearch/wparser_def.c:2578
+#: utils/activity/pgstat.c:1394
 #, c-format
-msgid "unrecognized headline parameter: \"%s\""
-msgstr "unbekannter Headline-Parameter: »%s«"
+msgid "could not close temporary statistics file \"%s\": %m"
+msgstr "konnte temporäre Statistikdatei »%s« nicht schließen: %m"
 
-#: tsearch/wparser_def.c:2597
+#: utils/activity/pgstat.c:1402
 #, c-format
-msgid "MinWords should be less than MaxWords"
-msgstr "»MinWords« sollte kleiner als »MaxWords« sein"
+msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
+msgstr "konnte temporäre Statistikdatei »%s« nicht in »%s« umbenennen: %m"
 
-#: tsearch/wparser_def.c:2601
+#: utils/activity/pgstat.c:1451
 #, c-format
-msgid "MinWords should be positive"
-msgstr "»MinWords« sollte positiv sein"
+msgid "could not open statistics file \"%s\": %m"
+msgstr "konnte Statistikdatei »%s« nicht öffnen: %m"
 
-#: tsearch/wparser_def.c:2605
+#: utils/activity/pgstat.c:1607
 #, c-format
-msgid "ShortWord should be >= 0"
-msgstr "»ShortWord« sollte >= 0 sein"
+msgid "corrupted statistics file \"%s\""
+msgstr "verfälschte Statistikdatei »%s«"
 
-#: tsearch/wparser_def.c:2609
+#: utils/activity/pgstat_function.c:118
+#, fuzzy, c-format
+#| msgid "cast function must be a normal function"
+msgid "function call to dropped function"
+msgstr "Typumwandlungsfunktion muss eine normale Funktion sein"
+
+#: utils/activity/pgstat_xact.c:371
 #, c-format
-msgid "MaxFragments should be >= 0"
-msgstr "»MaxFragments« sollte >= 0 sein"
+msgid "resetting existing stats for type %s, db=%u, oid=%u"
+msgstr ""
 
-#: utils/adt/acl.c:165 utils/adt/name.c:93
+#: utils/adt/acl.c:168 utils/adt/name.c:93
 #, c-format
 msgid "identifier too long"
 msgstr "Bezeichner zu lang"
 
-#: utils/adt/acl.c:166 utils/adt/name.c:94
+#: utils/adt/acl.c:169 utils/adt/name.c:94
 #, c-format
 msgid "Identifier must be less than %d characters."
 msgstr "Bezeichner muss weniger als %d Zeichen haben."
 
-#: utils/adt/acl.c:249
+#: utils/adt/acl.c:252
 #, c-format
 msgid "unrecognized key word: \"%s\""
 msgstr "unbekanntes Schlüsselwort: »%s«"
 
-#: utils/adt/acl.c:250
+#: utils/adt/acl.c:253
 #, c-format
 msgid "ACL key word must be \"group\" or \"user\"."
 msgstr "ACL-Schlüsselwort muss »group« oder »user« sein."
 
-#: utils/adt/acl.c:255
+#: utils/adt/acl.c:258
 #, c-format
 msgid "missing name"
 msgstr "Name fehlt"
 
-#: utils/adt/acl.c:256
+#: utils/adt/acl.c:259
 #, c-format
 msgid "A name must follow the \"group\" or \"user\" key word."
 msgstr "Auf das Schlüsselwort »group« oder »user« muss ein Name folgen."
 
-#: utils/adt/acl.c:262
+#: utils/adt/acl.c:265
 #, c-format
 msgid "missing \"=\" sign"
 msgstr "»=«-Zeichen fehlt"
 
-#: utils/adt/acl.c:315
+#: utils/adt/acl.c:324
 #, c-format
 msgid "invalid mode character: must be one of \"%s\""
 msgstr "ungültiges Moduszeichen: muss eines aus »%s« sein"
 
-#: utils/adt/acl.c:337
+#: utils/adt/acl.c:346
 #, c-format
 msgid "a name must follow the \"/\" sign"
 msgstr "auf das »/«-Zeichen muss ein Name folgen"
 
-#: utils/adt/acl.c:345
+#: utils/adt/acl.c:354
 #, c-format
 msgid "defaulting grantor to user ID %u"
 msgstr "nicht angegebener Grantor wird auf user ID %u gesetzt"
 
-#: utils/adt/acl.c:531
+#: utils/adt/acl.c:540
 #, c-format
 msgid "ACL array contains wrong data type"
 msgstr "ACL-Array enthält falschen Datentyp"
 
-#: utils/adt/acl.c:535
+#: utils/adt/acl.c:544
 #, c-format
 msgid "ACL arrays must be one-dimensional"
 msgstr "ACL-Arrays müssen eindimensional sein"
 
-#: utils/adt/acl.c:539
+#: utils/adt/acl.c:548
 #, c-format
 msgid "ACL arrays must not contain null values"
 msgstr "ACL-Array darf keine NULL-Werte enthalten"
 
-#: utils/adt/acl.c:563
+#: utils/adt/acl.c:572
 #, c-format
 msgid "extra garbage at the end of the ACL specification"
 msgstr "überflüssiger Müll am Ende der ACL-Angabe"
 
-#: utils/adt/acl.c:1198
+#: utils/adt/acl.c:1214
 #, c-format
 msgid "grant options cannot be granted back to your own grantor"
 msgstr "Grant-Optionen können nicht an den eigenen Grantor gegeben werden"
 
-#: utils/adt/acl.c:1259
+#: utils/adt/acl.c:1275
 #, c-format
 msgid "dependent privileges exist"
 msgstr "abhängige Privilegien existieren"
 
-#: utils/adt/acl.c:1260
+#: utils/adt/acl.c:1276
 #, c-format
 msgid "Use CASCADE to revoke them too."
 msgstr "Verwenden Sie CASCADE, um diese auch zu entziehen."
 
-#: utils/adt/acl.c:1514
+#: utils/adt/acl.c:1530
 #, c-format
 msgid "aclinsert is no longer supported"
 msgstr "aclinsert wird nicht mehr unterstützt"
 
-#: utils/adt/acl.c:1524
+#: utils/adt/acl.c:1540
 #, c-format
 msgid "aclremove is no longer supported"
 msgstr "aclremove wird nicht mehr unterstützt"
 
-#: utils/adt/acl.c:1610 utils/adt/acl.c:1664
+#: utils/adt/acl.c:1630 utils/adt/acl.c:1684
 #, c-format
 msgid "unrecognized privilege type: \"%s\""
 msgstr "unbekannter Privilegtyp: »%s«"
 
-#: utils/adt/acl.c:3446 utils/adt/regproc.c:101 utils/adt/regproc.c:276
+#: utils/adt/acl.c:3469 utils/adt/regproc.c:101 utils/adt/regproc.c:277
 #, c-format
 msgid "function \"%s\" does not exist"
 msgstr "Funktion »%s« existiert nicht"
 
-#: utils/adt/acl.c:4898
+#: utils/adt/acl.c:5008
 #, c-format
 msgid "must be member of role \"%s\""
 msgstr "Berechtigung nur für Mitglied von Rolle »%s«"
 
-#: utils/adt/array_expanded.c:274 utils/adt/arrayfuncs.c:935
-#: utils/adt/arrayfuncs.c:1543 utils/adt/arrayfuncs.c:3262
-#: utils/adt/arrayfuncs.c:3404 utils/adt/arrayfuncs.c:5945
-#: utils/adt/arrayfuncs.c:6286 utils/adt/arrayutils.c:94
+#: utils/adt/array_expanded.c:274 utils/adt/arrayfuncs.c:936
+#: utils/adt/arrayfuncs.c:1544 utils/adt/arrayfuncs.c:3263
+#: utils/adt/arrayfuncs.c:3405 utils/adt/arrayfuncs.c:5981
+#: utils/adt/arrayfuncs.c:6322 utils/adt/arrayutils.c:94
 #: utils/adt/arrayutils.c:103 utils/adt/arrayutils.c:110
 #, c-format
 msgid "array size exceeds the maximum allowed (%d)"
 msgstr "Arraygröße überschreitet erlaubtes Maximum (%d)"
 
 #: utils/adt/array_userfuncs.c:80 utils/adt/array_userfuncs.c:467
-#: utils/adt/array_userfuncs.c:547 utils/adt/json.c:645 utils/adt/json.c:740
-#: utils/adt/json.c:778 utils/adt/jsonb.c:1115 utils/adt/jsonb.c:1144
-#: utils/adt/jsonb.c:1538 utils/adt/jsonb.c:1702 utils/adt/jsonb.c:1712
+#: utils/adt/array_userfuncs.c:547 utils/adt/json.c:667 utils/adt/json.c:803
+#: utils/adt/json.c:837 utils/adt/jsonb.c:1104 utils/adt/jsonb.c:1177
+#: utils/adt/jsonb.c:1598 utils/adt/jsonb.c:1785 utils/adt/jsonb.c:1795
 #, c-format
 msgid "could not determine input data type"
 msgstr "konnte Eingabedatentypen nicht bestimmen"
@@ -22196,16 +23280,16 @@ msgid "input data type is not an array"
 msgstr "Eingabedatentyp ist kein Array"
 
 #: utils/adt/array_userfuncs.c:129 utils/adt/array_userfuncs.c:181
-#: utils/adt/float.c:1233 utils/adt/float.c:1307 utils/adt/float.c:4052
-#: utils/adt/float.c:4066 utils/adt/int.c:757 utils/adt/int.c:779
-#: utils/adt/int.c:793 utils/adt/int.c:807 utils/adt/int.c:838
-#: utils/adt/int.c:859 utils/adt/int.c:976 utils/adt/int.c:990
-#: utils/adt/int.c:1004 utils/adt/int.c:1037 utils/adt/int.c:1051
-#: utils/adt/int.c:1065 utils/adt/int.c:1096 utils/adt/int.c:1178
-#: utils/adt/int.c:1242 utils/adt/int.c:1310 utils/adt/int.c:1316
-#: utils/adt/int8.c:1299 utils/adt/numeric.c:1776 utils/adt/numeric.c:4207
-#: utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1121
-#: utils/adt/varlena.c:3433
+#: utils/adt/float.c:1234 utils/adt/float.c:1308 utils/adt/float.c:4046
+#: utils/adt/float.c:4060 utils/adt/int.c:781 utils/adt/int.c:803
+#: utils/adt/int.c:817 utils/adt/int.c:831 utils/adt/int.c:862
+#: utils/adt/int.c:883 utils/adt/int.c:1000 utils/adt/int.c:1014
+#: utils/adt/int.c:1028 utils/adt/int.c:1061 utils/adt/int.c:1075
+#: utils/adt/int.c:1089 utils/adt/int.c:1120 utils/adt/int.c:1202
+#: utils/adt/int.c:1266 utils/adt/int.c:1334 utils/adt/int.c:1340
+#: utils/adt/int8.c:1257 utils/adt/numeric.c:1830 utils/adt/numeric.c:4265
+#: utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1113
+#: utils/adt/varlena.c:3395
 #, c-format
 msgid "integer out of range"
 msgstr "integer ist außerhalb des gültigen Bereichs"
@@ -22252,255 +23336,254 @@ msgstr "Suche nach Elementen in mehrdimensionalen Arrays wird nicht unterstützt
 msgid "initial position must not be null"
 msgstr "Startposition darf nicht NULL sein"
 
-#: utils/adt/arrayfuncs.c:270 utils/adt/arrayfuncs.c:284
-#: utils/adt/arrayfuncs.c:295 utils/adt/arrayfuncs.c:317
-#: utils/adt/arrayfuncs.c:332 utils/adt/arrayfuncs.c:346
-#: utils/adt/arrayfuncs.c:352 utils/adt/arrayfuncs.c:359
-#: utils/adt/arrayfuncs.c:492 utils/adt/arrayfuncs.c:508
-#: utils/adt/arrayfuncs.c:519 utils/adt/arrayfuncs.c:534
-#: utils/adt/arrayfuncs.c:555 utils/adt/arrayfuncs.c:585
-#: utils/adt/arrayfuncs.c:592 utils/adt/arrayfuncs.c:600
-#: utils/adt/arrayfuncs.c:634 utils/adt/arrayfuncs.c:657
-#: utils/adt/arrayfuncs.c:677 utils/adt/arrayfuncs.c:789
-#: utils/adt/arrayfuncs.c:798 utils/adt/arrayfuncs.c:828
-#: utils/adt/arrayfuncs.c:843 utils/adt/arrayfuncs.c:896
+#: utils/adt/arrayfuncs.c:271 utils/adt/arrayfuncs.c:285
+#: utils/adt/arrayfuncs.c:296 utils/adt/arrayfuncs.c:318
+#: utils/adt/arrayfuncs.c:333 utils/adt/arrayfuncs.c:347
+#: utils/adt/arrayfuncs.c:353 utils/adt/arrayfuncs.c:360
+#: utils/adt/arrayfuncs.c:493 utils/adt/arrayfuncs.c:509
+#: utils/adt/arrayfuncs.c:520 utils/adt/arrayfuncs.c:535
+#: utils/adt/arrayfuncs.c:556 utils/adt/arrayfuncs.c:586
+#: utils/adt/arrayfuncs.c:593 utils/adt/arrayfuncs.c:601
+#: utils/adt/arrayfuncs.c:635 utils/adt/arrayfuncs.c:658
+#: utils/adt/arrayfuncs.c:678 utils/adt/arrayfuncs.c:790
+#: utils/adt/arrayfuncs.c:799 utils/adt/arrayfuncs.c:829
+#: utils/adt/arrayfuncs.c:844 utils/adt/arrayfuncs.c:897
 #, c-format
 msgid "malformed array literal: \"%s\""
 msgstr "fehlerhafte Arraykonstante: »%s«"
 
-#: utils/adt/arrayfuncs.c:271
+#: utils/adt/arrayfuncs.c:272
 #, c-format
 msgid "\"[\" must introduce explicitly-specified array dimensions."
 msgstr "Auf »[« müssen explizit angegebene Array-Dimensionen folgen."
 
-#: utils/adt/arrayfuncs.c:285
+#: utils/adt/arrayfuncs.c:286
 #, c-format
 msgid "Missing array dimension value."
 msgstr "Dimensionswert fehlt."
 
-#: utils/adt/arrayfuncs.c:296 utils/adt/arrayfuncs.c:333
+#: utils/adt/arrayfuncs.c:297 utils/adt/arrayfuncs.c:334
 #, c-format
 msgid "Missing \"%s\" after array dimensions."
 msgstr "»%s« fehlt nach Arraydimensionen."
 
-#: utils/adt/arrayfuncs.c:305 utils/adt/arrayfuncs.c:2909
-#: utils/adt/arrayfuncs.c:2941 utils/adt/arrayfuncs.c:2956
+#: utils/adt/arrayfuncs.c:306 utils/adt/arrayfuncs.c:2910
+#: utils/adt/arrayfuncs.c:2942 utils/adt/arrayfuncs.c:2957
 #, c-format
 msgid "upper bound cannot be less than lower bound"
 msgstr "Obergrenze kann nicht kleiner als Untergrenze sein"
 
-#: utils/adt/arrayfuncs.c:318
+#: utils/adt/arrayfuncs.c:319
 #, c-format
 msgid "Array value must start with \"{\" or dimension information."
 msgstr "Arraywert muss mit »{« oder Dimensionsinformationen anfangen."
 
-#: utils/adt/arrayfuncs.c:347
+#: utils/adt/arrayfuncs.c:348
 #, c-format
 msgid "Array contents must start with \"{\"."
 msgstr "Array-Inhalt muss mit {« anfangen."
 
-#: utils/adt/arrayfuncs.c:353 utils/adt/arrayfuncs.c:360
+#: utils/adt/arrayfuncs.c:354 utils/adt/arrayfuncs.c:361
 #, c-format
 msgid "Specified array dimensions do not match array contents."
 msgstr "Angegebene Array-Dimensionen stimmen nicht mit dem Array-Inhalt überein."
 
-#: utils/adt/arrayfuncs.c:493 utils/adt/arrayfuncs.c:520
-#: utils/adt/multirangetypes.c:162 utils/adt/rangetypes.c:2310
+#: utils/adt/arrayfuncs.c:494 utils/adt/arrayfuncs.c:521
+#: utils/adt/multirangetypes.c:164 utils/adt/rangetypes.c:2310
 #: utils/adt/rangetypes.c:2318 utils/adt/rowtypes.c:211
 #: utils/adt/rowtypes.c:219
 #, c-format
 msgid "Unexpected end of input."
 msgstr "Unerwartetes Ende der Eingabe."
 
-#: utils/adt/arrayfuncs.c:509 utils/adt/arrayfuncs.c:556
-#: utils/adt/arrayfuncs.c:586 utils/adt/arrayfuncs.c:635
+#: utils/adt/arrayfuncs.c:510 utils/adt/arrayfuncs.c:557
+#: utils/adt/arrayfuncs.c:587 utils/adt/arrayfuncs.c:636
 #, c-format
 msgid "Unexpected \"%c\" character."
 msgstr "Unerwartetes Zeichen »%c«."
 
-#: utils/adt/arrayfuncs.c:535 utils/adt/arrayfuncs.c:658
+#: utils/adt/arrayfuncs.c:536 utils/adt/arrayfuncs.c:659
 #, c-format
 msgid "Unexpected array element."
 msgstr "Unerwartetes Arrayelement."
 
-#: utils/adt/arrayfuncs.c:593
+#: utils/adt/arrayfuncs.c:594
 #, c-format
 msgid "Unmatched \"%c\" character."
 msgstr "Zeichen »%c« ohne Gegenstück."
 
-#: utils/adt/arrayfuncs.c:601 utils/adt/jsonfuncs.c:2593
+#: utils/adt/arrayfuncs.c:602 utils/adt/jsonfuncs.c:2482
 #, c-format
 msgid "Multidimensional arrays must have sub-arrays with matching dimensions."
 msgstr "Mehrdimensionale Arrays müssen Arraysausdrücke mit gleicher Anzahl Dimensionen haben."
 
-#: utils/adt/arrayfuncs.c:678
+#: utils/adt/arrayfuncs.c:679 utils/adt/multirangetypes.c:287
 #, c-format
 msgid "Junk after closing right brace."
 msgstr "Müll nach schließender rechter geschweifter Klammer."
 
-#: utils/adt/arrayfuncs.c:1300 utils/adt/arrayfuncs.c:3370
-#: utils/adt/arrayfuncs.c:5849
+#: utils/adt/arrayfuncs.c:1301 utils/adt/arrayfuncs.c:3371
+#: utils/adt/arrayfuncs.c:5885
 #, c-format
 msgid "invalid number of dimensions: %d"
 msgstr "ungültige Anzahl Dimensionen: %d"
 
-#: utils/adt/arrayfuncs.c:1311
+#: utils/adt/arrayfuncs.c:1312
 #, c-format
 msgid "invalid array flags"
 msgstr "ungültige Array-Flags"
 
-#: utils/adt/arrayfuncs.c:1333
+#: utils/adt/arrayfuncs.c:1334
 #, c-format
 msgid "binary data has array element type %u (%s) instead of expected %u (%s)"
 msgstr "binäre Daten haben Array-Elementtyp %u (%s) statt erwartet %u (%s)"
 
-#: utils/adt/arrayfuncs.c:1377 utils/adt/multirangetypes.c:443
-#: utils/adt/rangetypes.c:333 utils/cache/lsyscache.c:2905
+#: utils/adt/arrayfuncs.c:1378 utils/adt/multirangetypes.c:445
+#: utils/adt/rangetypes.c:333 utils/cache/lsyscache.c:2915
 #, c-format
 msgid "no binary input function available for type %s"
 msgstr "keine binäre Eingabefunktion verfügbar für Typ %s"
 
-#: utils/adt/arrayfuncs.c:1517
+#: utils/adt/arrayfuncs.c:1518
 #, c-format
 msgid "improper binary format in array element %d"
 msgstr "falsches Binärformat in Arrayelement %d"
 
-#: utils/adt/arrayfuncs.c:1598 utils/adt/multirangetypes.c:448
-#: utils/adt/rangetypes.c:338 utils/cache/lsyscache.c:2938
+#: utils/adt/arrayfuncs.c:1599 utils/adt/multirangetypes.c:450
+#: utils/adt/rangetypes.c:338 utils/cache/lsyscache.c:2948
 #, c-format
 msgid "no binary output function available for type %s"
 msgstr "keine binäre Ausgabefunktion verfügbar für Typ %s"
 
-#: utils/adt/arrayfuncs.c:2077
+#: utils/adt/arrayfuncs.c:2078
 #, c-format
 msgid "slices of fixed-length arrays not implemented"
 msgstr "Auswählen von Stücken aus Arrays mit fester Länge ist nicht implementiert"
 
-#: utils/adt/arrayfuncs.c:2255 utils/adt/arrayfuncs.c:2277
-#: utils/adt/arrayfuncs.c:2326 utils/adt/arrayfuncs.c:2565
-#: utils/adt/arrayfuncs.c:2887 utils/adt/arrayfuncs.c:5835
-#: utils/adt/arrayfuncs.c:5861 utils/adt/arrayfuncs.c:5872
-#: utils/adt/json.c:1141 utils/adt/json.c:1216 utils/adt/jsonb.c:1316
-#: utils/adt/jsonb.c:1402 utils/adt/jsonfuncs.c:4427 utils/adt/jsonfuncs.c:4580
-#: utils/adt/jsonfuncs.c:4692 utils/adt/jsonfuncs.c:4741
+#: utils/adt/arrayfuncs.c:2256 utils/adt/arrayfuncs.c:2278
+#: utils/adt/arrayfuncs.c:2327 utils/adt/arrayfuncs.c:2566
+#: utils/adt/arrayfuncs.c:2888 utils/adt/arrayfuncs.c:5871
+#: utils/adt/arrayfuncs.c:5897 utils/adt/arrayfuncs.c:5908
+#: utils/adt/json.c:1450 utils/adt/json.c:1524 utils/adt/jsonb.c:1378
+#: utils/adt/jsonb.c:1464 utils/adt/jsonfuncs.c:4363 utils/adt/jsonfuncs.c:4516
+#: utils/adt/jsonfuncs.c:4628 utils/adt/jsonfuncs.c:4677
 #, c-format
 msgid "wrong number of array subscripts"
 msgstr "falsche Anzahl Arrayindizes"
 
-#: utils/adt/arrayfuncs.c:2260 utils/adt/arrayfuncs.c:2368
-#: utils/adt/arrayfuncs.c:2632 utils/adt/arrayfuncs.c:2946
+#: utils/adt/arrayfuncs.c:2261 utils/adt/arrayfuncs.c:2369
+#: utils/adt/arrayfuncs.c:2633 utils/adt/arrayfuncs.c:2947
 #, c-format
 msgid "array subscript out of range"
 msgstr "Arrayindex außerhalb des gültigen Bereichs"
 
-#: utils/adt/arrayfuncs.c:2265
+#: utils/adt/arrayfuncs.c:2266
 #, c-format
 msgid "cannot assign null value to an element of a fixed-length array"
 msgstr "Array mit fester Länge kann keinen NULL-Wert enthalten"
 
-#: utils/adt/arrayfuncs.c:2834
+#: utils/adt/arrayfuncs.c:2835
 #, c-format
 msgid "updates on slices of fixed-length arrays not implemented"
 msgstr "Aktualisieren von Stücken aus Arrays mit fester Länge ist nicht implementiert"
 
-#: utils/adt/arrayfuncs.c:2865
+#: utils/adt/arrayfuncs.c:2866
 #, c-format
 msgid "array slice subscript must provide both boundaries"
 msgstr "Array-Slice-Index muss beide Begrenzungen angeben"
 
-#: utils/adt/arrayfuncs.c:2866
+#: utils/adt/arrayfuncs.c:2867
 #, c-format
 msgid "When assigning to a slice of an empty array value, slice boundaries must be fully specified."
 msgstr "Wenn ein Slice eines leeren Array-Wertes zugewiesen wird, dann müssen die Slice-Begrenzungen vollständig angegeben werden."
 
-#: utils/adt/arrayfuncs.c:2877 utils/adt/arrayfuncs.c:2973
+#: utils/adt/arrayfuncs.c:2878 utils/adt/arrayfuncs.c:2974
 #, c-format
 msgid "source array too small"
 msgstr "Quellarray ist zu klein"
 
-#: utils/adt/arrayfuncs.c:3528
+#: utils/adt/arrayfuncs.c:3529
 #, c-format
 msgid "null array element not allowed in this context"
 msgstr "NULL-Werte im Array sind in diesem Zusammenhang nicht erlaubt"
 
-#: utils/adt/arrayfuncs.c:3630 utils/adt/arrayfuncs.c:3801
-#: utils/adt/arrayfuncs.c:4157
+#: utils/adt/arrayfuncs.c:3631 utils/adt/arrayfuncs.c:3802
+#: utils/adt/arrayfuncs.c:4193
 #, c-format
 msgid "cannot compare arrays of different element types"
 msgstr "kann Arrays mit verschiedenen Elementtypen nicht vergleichen"
 
-#: utils/adt/arrayfuncs.c:3979 utils/adt/multirangetypes.c:2670
-#: utils/adt/multirangetypes.c:2742 utils/adt/rangetypes.c:1343
+#: utils/adt/arrayfuncs.c:3980 utils/adt/multirangetypes.c:2799
+#: utils/adt/multirangetypes.c:2871 utils/adt/rangetypes.c:1343
 #: utils/adt/rangetypes.c:1407 utils/adt/rowtypes.c:1858
 #, c-format
 msgid "could not identify a hash function for type %s"
 msgstr "konnte keine Hash-Funktion für Typ %s ermitteln"
 
-#: utils/adt/arrayfuncs.c:4072 utils/adt/rowtypes.c:1979
+#: utils/adt/arrayfuncs.c:4108 utils/adt/rowtypes.c:1979
 #, c-format
 msgid "could not identify an extended hash function for type %s"
 msgstr "konnte keine erweiterte Hash-Funktion für Typ %s ermitteln"
 
-#: utils/adt/arrayfuncs.c:5249
+#: utils/adt/arrayfuncs.c:5285
 #, c-format
 msgid "data type %s is not an array type"
 msgstr "Datentyp %s ist kein Array-Typ"
 
-#: utils/adt/arrayfuncs.c:5304
+#: utils/adt/arrayfuncs.c:5340
 #, c-format
 msgid "cannot accumulate null arrays"
 msgstr "Arrays, die NULL sind, können nicht akkumuliert werden"
 
-#: utils/adt/arrayfuncs.c:5332
+#: utils/adt/arrayfuncs.c:5368
 #, c-format
 msgid "cannot accumulate empty arrays"
 msgstr "leere Arrays können nicht akkumuliert werden"
 
-#: utils/adt/arrayfuncs.c:5359 utils/adt/arrayfuncs.c:5365
+#: utils/adt/arrayfuncs.c:5395 utils/adt/arrayfuncs.c:5401
 #, c-format
 msgid "cannot accumulate arrays of different dimensionality"
 msgstr "Arrays unterschiedlicher Dimensionalität können nicht akkumuliert werden"
 
-#: utils/adt/arrayfuncs.c:5733 utils/adt/arrayfuncs.c:5773
+#: utils/adt/arrayfuncs.c:5769 utils/adt/arrayfuncs.c:5809
 #, c-format
 msgid "dimension array or low bound array cannot be null"
 msgstr "Dimensions-Array oder Untergrenzen-Array darf nicht NULL sein"
 
-#: utils/adt/arrayfuncs.c:5836 utils/adt/arrayfuncs.c:5862
+#: utils/adt/arrayfuncs.c:5872 utils/adt/arrayfuncs.c:5898
 #, c-format
 msgid "Dimension array must be one dimensional."
 msgstr "Dimensions-Array muss eindimensional sein."
 
-#: utils/adt/arrayfuncs.c:5841 utils/adt/arrayfuncs.c:5867
+#: utils/adt/arrayfuncs.c:5877 utils/adt/arrayfuncs.c:5903
 #, c-format
 msgid "dimension values cannot be null"
 msgstr "Dimensionswerte dürfen nicht NULL sein"
 
-#: utils/adt/arrayfuncs.c:5873
+#: utils/adt/arrayfuncs.c:5909
 #, c-format
 msgid "Low bound array has different size than dimensions array."
 msgstr "Untergrenzen-Array hat andere Größe als Dimensions-Array."
 
-#: utils/adt/arrayfuncs.c:6151
+#: utils/adt/arrayfuncs.c:6187
 #, c-format
 msgid "removing elements from multidimensional arrays is not supported"
 msgstr "Entfernen von Elementen aus mehrdimensionalen Arrays wird nicht unterstützt"
 
-#: utils/adt/arrayfuncs.c:6428
+#: utils/adt/arrayfuncs.c:6464
 #, c-format
 msgid "thresholds must be one-dimensional array"
 msgstr "Parameter »thresholds« muss ein eindimensionales Array sein"
 
-#: utils/adt/arrayfuncs.c:6433
+#: utils/adt/arrayfuncs.c:6469
 #, c-format
 msgid "thresholds array must not contain NULLs"
 msgstr "»thresholds«-Array darf keine NULL-Werte enthalten"
 
-#: utils/adt/arrayfuncs.c:6666
-#, fuzzy, c-format
-#| msgid "number of parameters must be between 0 and 65535\n"
+#: utils/adt/arrayfuncs.c:6702
+#, c-format
 msgid "number of elements to trim must be between 0 and %d"
-msgstr "Anzahl der Parameter muss zwischen 0 und 65535 sein\n"
+msgstr "Anzahl der zu entfernenden Elemente muss zwischen 0 und %d sein"
 
 #: utils/adt/arraysubs.c:93 utils/adt/arraysubs.c:130
 #, c-format
@@ -22538,46 +23621,46 @@ msgid "encoding conversion from %s to ASCII not supported"
 msgstr "Kodierungsumwandlung zwischen %s und ASCII wird nicht unterstützt"
 
 #. translator: first %s is inet or cidr
-#: utils/adt/bool.c:153 utils/adt/cash.c:277 utils/adt/datetime.c:3802
-#: utils/adt/float.c:187 utils/adt/float.c:271 utils/adt/float.c:283
-#: utils/adt/float.c:400 utils/adt/float.c:485 utils/adt/float.c:501
+#: utils/adt/bool.c:153 utils/adt/cash.c:276 utils/adt/datetime.c:4058
+#: utils/adt/float.c:188 utils/adt/float.c:272 utils/adt/float.c:284
+#: utils/adt/float.c:401 utils/adt/float.c:486 utils/adt/float.c:502
 #: utils/adt/geo_ops.c:220 utils/adt/geo_ops.c:230 utils/adt/geo_ops.c:242
 #: utils/adt/geo_ops.c:274 utils/adt/geo_ops.c:316 utils/adt/geo_ops.c:326
 #: utils/adt/geo_ops.c:974 utils/adt/geo_ops.c:1389 utils/adt/geo_ops.c:1424
-#: utils/adt/geo_ops.c:1432 utils/adt/geo_ops.c:3488 utils/adt/geo_ops.c:4657
-#: utils/adt/geo_ops.c:4672 utils/adt/geo_ops.c:4679 utils/adt/int8.c:126
-#: utils/adt/jsonpath.c:182 utils/adt/mac.c:94 utils/adt/mac8.c:93
-#: utils/adt/mac8.c:166 utils/adt/mac8.c:184 utils/adt/mac8.c:202
-#: utils/adt/mac8.c:221 utils/adt/network.c:100 utils/adt/numeric.c:702
-#: utils/adt/numeric.c:721 utils/adt/numeric.c:6861 utils/adt/numeric.c:6885
-#: utils/adt/numeric.c:6909 utils/adt/numeric.c:7878 utils/adt/numutils.c:116
-#: utils/adt/numutils.c:126 utils/adt/numutils.c:170 utils/adt/numutils.c:246
-#: utils/adt/numutils.c:322 utils/adt/oid.c:44 utils/adt/oid.c:58
-#: utils/adt/oid.c:64 utils/adt/oid.c:86 utils/adt/pg_lsn.c:74
-#: utils/adt/tid.c:76 utils/adt/tid.c:84 utils/adt/tid.c:92
-#: utils/adt/timestamp.c:496 utils/adt/uuid.c:136 utils/adt/xid8funcs.c:346
+#: utils/adt/geo_ops.c:1432 utils/adt/geo_ops.c:3392 utils/adt/geo_ops.c:4604
+#: utils/adt/geo_ops.c:4619 utils/adt/geo_ops.c:4626 utils/adt/int.c:165
+#: utils/adt/int.c:177 utils/adt/jsonpath.c:184 utils/adt/mac.c:93
+#: utils/adt/mac8.c:93 utils/adt/mac8.c:166 utils/adt/mac8.c:184
+#: utils/adt/mac8.c:202 utils/adt/mac8.c:221 utils/adt/network.c:99
+#: utils/adt/numeric.c:698 utils/adt/numeric.c:717 utils/adt/numeric.c:6854
+#: utils/adt/numeric.c:6878 utils/adt/numeric.c:6902 utils/adt/numeric.c:7904
+#: utils/adt/numutils.c:158 utils/adt/numutils.c:234 utils/adt/numutils.c:318
+#: utils/adt/oid.c:44 utils/adt/oid.c:58 utils/adt/oid.c:64 utils/adt/oid.c:86
+#: utils/adt/pg_lsn.c:74 utils/adt/tid.c:76 utils/adt/tid.c:84
+#: utils/adt/tid.c:98 utils/adt/tid.c:107 utils/adt/timestamp.c:497
+#: utils/adt/uuid.c:135 utils/adt/xid8funcs.c:345
 #, c-format
 msgid "invalid input syntax for type %s: \"%s\""
 msgstr "ungültige Eingabesyntax für Typ %s: »%s«"
 
-#: utils/adt/cash.c:215 utils/adt/cash.c:240 utils/adt/cash.c:250
-#: utils/adt/cash.c:290 utils/adt/int8.c:118 utils/adt/numutils.c:140
-#: utils/adt/numutils.c:147 utils/adt/numutils.c:240 utils/adt/numutils.c:316
-#: utils/adt/oid.c:70 utils/adt/oid.c:109
+#: utils/adt/cash.c:214 utils/adt/cash.c:239 utils/adt/cash.c:249
+#: utils/adt/cash.c:289 utils/adt/int.c:171 utils/adt/numutils.c:152
+#: utils/adt/numutils.c:228 utils/adt/numutils.c:312 utils/adt/oid.c:70
+#: utils/adt/oid.c:109
 #, c-format
 msgid "value \"%s\" is out of range for type %s"
 msgstr "Wert »%s« ist außerhalb des gültigen Bereichs für Typ %s"
 
-#: utils/adt/cash.c:652 utils/adt/cash.c:702 utils/adt/cash.c:753
-#: utils/adt/cash.c:802 utils/adt/cash.c:854 utils/adt/cash.c:904
-#: utils/adt/float.c:104 utils/adt/int.c:822 utils/adt/int.c:938
-#: utils/adt/int.c:1018 utils/adt/int.c:1080 utils/adt/int.c:1118
-#: utils/adt/int.c:1146 utils/adt/int8.c:600 utils/adt/int8.c:658
-#: utils/adt/int8.c:985 utils/adt/int8.c:1065 utils/adt/int8.c:1127
-#: utils/adt/int8.c:1207 utils/adt/numeric.c:3032 utils/adt/numeric.c:3055
-#: utils/adt/numeric.c:3140 utils/adt/numeric.c:3158 utils/adt/numeric.c:3254
-#: utils/adt/numeric.c:8427 utils/adt/numeric.c:8717 utils/adt/numeric.c:10299
-#: utils/adt/timestamp.c:3281
+#: utils/adt/cash.c:651 utils/adt/cash.c:701 utils/adt/cash.c:752
+#: utils/adt/cash.c:801 utils/adt/cash.c:853 utils/adt/cash.c:903
+#: utils/adt/float.c:105 utils/adt/int.c:846 utils/adt/int.c:962
+#: utils/adt/int.c:1042 utils/adt/int.c:1104 utils/adt/int.c:1142
+#: utils/adt/int.c:1170 utils/adt/int8.c:515 utils/adt/int8.c:573
+#: utils/adt/int8.c:943 utils/adt/int8.c:1023 utils/adt/int8.c:1085
+#: utils/adt/int8.c:1165 utils/adt/numeric.c:3093 utils/adt/numeric.c:3116
+#: utils/adt/numeric.c:3201 utils/adt/numeric.c:3219 utils/adt/numeric.c:3315
+#: utils/adt/numeric.c:8453 utils/adt/numeric.c:8743 utils/adt/numeric.c:9068
+#: utils/adt/numeric.c:10525 utils/adt/timestamp.c:3337
 #, c-format
 msgid "division by zero"
 msgstr "Division durch Null"
@@ -22587,184 +23670,192 @@ msgstr "Division durch Null"
 msgid "\"char\" out of range"
 msgstr "\"char\" ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/date.c:62 utils/adt/timestamp.c:97 utils/adt/varbit.c:105
+#: utils/adt/cryptohashfuncs.c:47 utils/adt/cryptohashfuncs.c:69
+#, fuzzy, c-format
+#| msgid "could not compress data: %s"
+msgid "could not compute %s hash: %s"
+msgstr "konnte Daten nicht komprimieren: %s"
+
+#: utils/adt/date.c:63 utils/adt/timestamp.c:98 utils/adt/varbit.c:105
 #: utils/adt/varchar.c:48
 #, c-format
 msgid "invalid type modifier"
 msgstr "ungültige Typmodifikation"
 
-#: utils/adt/date.c:74
+#: utils/adt/date.c:75
 #, c-format
 msgid "TIME(%d)%s precision must not be negative"
 msgstr "Präzision von TIME(%d)%s darf nicht negativ sein"
 
-#: utils/adt/date.c:80
+#: utils/adt/date.c:81
 #, c-format
 msgid "TIME(%d)%s precision reduced to maximum allowed, %d"
 msgstr "Präzision von TIME(%d)%s auf erlaubten Höchstwert %d reduziert"
 
-#: utils/adt/date.c:159 utils/adt/date.c:167 utils/adt/formatting.c:4252
-#: utils/adt/formatting.c:4261 utils/adt/formatting.c:4367
-#: utils/adt/formatting.c:4377
+#: utils/adt/date.c:160 utils/adt/date.c:168 utils/adt/formatting.c:4294
+#: utils/adt/formatting.c:4303 utils/adt/formatting.c:4409
+#: utils/adt/formatting.c:4419
 #, c-format
 msgid "date out of range: \"%s\""
 msgstr "date ist außerhalb des gültigen Bereichs: »%s«"
 
-#: utils/adt/date.c:214 utils/adt/date.c:525 utils/adt/date.c:549
-#: utils/adt/xml.c:2210
+#: utils/adt/date.c:215 utils/adt/date.c:513 utils/adt/date.c:537
+#: utils/adt/xml.c:2209
 #, c-format
 msgid "date out of range"
 msgstr "date ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/date.c:260 utils/adt/timestamp.c:580
+#: utils/adt/date.c:261 utils/adt/timestamp.c:581
 #, c-format
 msgid "date field value out of range: %d-%02d-%02d"
 msgstr "Datum-Feldwert ist außerhalb des gültigen Bereichs: %d-%02d-%02d"
 
-#: utils/adt/date.c:267 utils/adt/date.c:276 utils/adt/timestamp.c:586
+#: utils/adt/date.c:268 utils/adt/date.c:277 utils/adt/timestamp.c:587
 #, c-format
 msgid "date out of range: %d-%02d-%02d"
 msgstr "date ist außerhalb des gültigen Bereichs: %d-%02d-%02d"
 
-#: utils/adt/date.c:500
+#: utils/adt/date.c:488
 #, c-format
 msgid "cannot subtract infinite dates"
 msgstr "kann unendliche date-Werte nicht subtrahieren"
 
-#: utils/adt/date.c:598 utils/adt/date.c:661 utils/adt/date.c:697
-#: utils/adt/date.c:2881 utils/adt/date.c:2891
+#: utils/adt/date.c:586 utils/adt/date.c:649 utils/adt/date.c:685
+#: utils/adt/date.c:2868 utils/adt/date.c:2878
 #, c-format
 msgid "date out of range for timestamp"
 msgstr "Datum ist außerhalb des gültigen Bereichs für Typ »timestamp«"
 
-#: utils/adt/date.c:1127 utils/adt/date.c:1210 utils/adt/date.c:1226
-#, c-format
-msgid "date units \"%s\" not supported"
+#: utils/adt/date.c:1115 utils/adt/date.c:1198 utils/adt/date.c:1214
+#: utils/adt/date.c:2195 utils/adt/date.c:2973 utils/adt/timestamp.c:4032
+#: utils/adt/timestamp.c:4225 utils/adt/timestamp.c:4397
+#: utils/adt/timestamp.c:4650 utils/adt/timestamp.c:4851
+#: utils/adt/timestamp.c:4898 utils/adt/timestamp.c:5122
+#: utils/adt/timestamp.c:5169 utils/adt/timestamp.c:5299
+#, fuzzy, c-format
+#| msgid "date units \"%s\" not supported"
+msgid "unit \"%s\" not supported for type %s"
 msgstr "»date«-Einheit »%s« nicht unterstützt"
 
-#: utils/adt/date.c:1235
-#, c-format
-msgid "date units \"%s\" not recognized"
+#: utils/adt/date.c:1223 utils/adt/date.c:2211 utils/adt/date.c:2993
+#: utils/adt/timestamp.c:4046 utils/adt/timestamp.c:4242
+#: utils/adt/timestamp.c:4411 utils/adt/timestamp.c:4610
+#: utils/adt/timestamp.c:4907 utils/adt/timestamp.c:5178
+#: utils/adt/timestamp.c:5360
+#, fuzzy, c-format
+#| msgid "date units \"%s\" not recognized"
+msgid "unit \"%s\" not recognized for type %s"
 msgstr "»date«-Einheit »%s« nicht erkannt"
 
-#: utils/adt/date.c:1318 utils/adt/date.c:1364 utils/adt/date.c:1920
-#: utils/adt/date.c:1951 utils/adt/date.c:1980 utils/adt/date.c:2844
-#: utils/adt/datetime.c:405 utils/adt/datetime.c:1700
-#: utils/adt/formatting.c:4109 utils/adt/formatting.c:4141
-#: utils/adt/formatting.c:4221 utils/adt/formatting.c:4343 utils/adt/json.c:418
-#: utils/adt/json.c:457 utils/adt/timestamp.c:224 utils/adt/timestamp.c:256
-#: utils/adt/timestamp.c:698 utils/adt/timestamp.c:707
-#: utils/adt/timestamp.c:785 utils/adt/timestamp.c:818
-#: utils/adt/timestamp.c:2860 utils/adt/timestamp.c:2881
-#: utils/adt/timestamp.c:2894 utils/adt/timestamp.c:2903
-#: utils/adt/timestamp.c:2911 utils/adt/timestamp.c:2966
-#: utils/adt/timestamp.c:2989 utils/adt/timestamp.c:3002
-#: utils/adt/timestamp.c:3013 utils/adt/timestamp.c:3021
-#: utils/adt/timestamp.c:3681 utils/adt/timestamp.c:3806
-#: utils/adt/timestamp.c:3891 utils/adt/timestamp.c:3981
-#: utils/adt/timestamp.c:4069 utils/adt/timestamp.c:4172
-#: utils/adt/timestamp.c:4674 utils/adt/timestamp.c:4948
-#: utils/adt/timestamp.c:5401 utils/adt/timestamp.c:5415
-#: utils/adt/timestamp.c:5420 utils/adt/timestamp.c:5434
-#: utils/adt/timestamp.c:5467 utils/adt/timestamp.c:5554
-#: utils/adt/timestamp.c:5595 utils/adt/timestamp.c:5599
-#: utils/adt/timestamp.c:5668 utils/adt/timestamp.c:5672
-#: utils/adt/timestamp.c:5686 utils/adt/timestamp.c:5720 utils/adt/xml.c:2232
-#: utils/adt/xml.c:2239 utils/adt/xml.c:2259 utils/adt/xml.c:2266
+#: utils/adt/date.c:1307 utils/adt/date.c:1353 utils/adt/date.c:1907
+#: utils/adt/date.c:1938 utils/adt/date.c:1967 utils/adt/date.c:2831
+#: utils/adt/date.c:3078 utils/adt/datetime.c:420 utils/adt/datetime.c:1869
+#: utils/adt/formatting.c:4136 utils/adt/formatting.c:4172
+#: utils/adt/formatting.c:4263 utils/adt/formatting.c:4385 utils/adt/json.c:440
+#: utils/adt/json.c:479 utils/adt/timestamp.c:225 utils/adt/timestamp.c:257
+#: utils/adt/timestamp.c:699 utils/adt/timestamp.c:708
+#: utils/adt/timestamp.c:786 utils/adt/timestamp.c:819
+#: utils/adt/timestamp.c:2916 utils/adt/timestamp.c:2937
+#: utils/adt/timestamp.c:2950 utils/adt/timestamp.c:2959
+#: utils/adt/timestamp.c:2967 utils/adt/timestamp.c:3022
+#: utils/adt/timestamp.c:3045 utils/adt/timestamp.c:3058
+#: utils/adt/timestamp.c:3069 utils/adt/timestamp.c:3077
+#: utils/adt/timestamp.c:3736 utils/adt/timestamp.c:3860
+#: utils/adt/timestamp.c:3950 utils/adt/timestamp.c:4040
+#: utils/adt/timestamp.c:4133 utils/adt/timestamp.c:4236
+#: utils/adt/timestamp.c:4715 utils/adt/timestamp.c:4989
+#: utils/adt/timestamp.c:5439 utils/adt/timestamp.c:5453
+#: utils/adt/timestamp.c:5458 utils/adt/timestamp.c:5472
+#: utils/adt/timestamp.c:5505 utils/adt/timestamp.c:5592
+#: utils/adt/timestamp.c:5633 utils/adt/timestamp.c:5637
+#: utils/adt/timestamp.c:5706 utils/adt/timestamp.c:5710
+#: utils/adt/timestamp.c:5724 utils/adt/timestamp.c:5758 utils/adt/xml.c:2231
+#: utils/adt/xml.c:2238 utils/adt/xml.c:2258 utils/adt/xml.c:2265
 #, c-format
 msgid "timestamp out of range"
 msgstr "timestamp ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/date.c:1537 utils/adt/date.c:2339 utils/adt/formatting.c:4429
+#: utils/adt/date.c:1524 utils/adt/date.c:2326 utils/adt/formatting.c:4471
 #, c-format
 msgid "time out of range"
 msgstr "time ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/date.c:1589 utils/adt/timestamp.c:595
+#: utils/adt/date.c:1576 utils/adt/timestamp.c:596
 #, c-format
 msgid "time field value out of range: %d:%02d:%02g"
 msgstr "Zeit-Feldwert ist außerhalb des gültigen Bereichs: %d:%02d:%02g"
 
-#: utils/adt/date.c:2109 utils/adt/date.c:2643 utils/adt/float.c:1047
-#: utils/adt/float.c:1123 utils/adt/int.c:614 utils/adt/int.c:661
-#: utils/adt/int.c:696 utils/adt/int8.c:499 utils/adt/numeric.c:2443
-#: utils/adt/timestamp.c:3330 utils/adt/timestamp.c:3361
-#: utils/adt/timestamp.c:3392
+#: utils/adt/date.c:2096 utils/adt/date.c:2630 utils/adt/float.c:1048
+#: utils/adt/float.c:1124 utils/adt/int.c:638 utils/adt/int.c:685
+#: utils/adt/int.c:720 utils/adt/int8.c:414 utils/adt/numeric.c:2497
+#: utils/adt/timestamp.c:3386 utils/adt/timestamp.c:3417
+#: utils/adt/timestamp.c:3448
 #, c-format
 msgid "invalid preceding or following size in window function"
 msgstr "ungültige vorhergehende oder folgende Größe in Fensterfunktion"
 
-#: utils/adt/date.c:2208 utils/adt/date.c:2224
-#, c-format
-msgid "\"time\" units \"%s\" not recognized"
-msgstr "»time«-Einheit »%s« nicht erkannt"
-
-#: utils/adt/date.c:2347
+#: utils/adt/date.c:2334
 #, c-format
 msgid "time zone displacement out of range"
 msgstr "Zeitzonenunterschied ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/date.c:2986 utils/adt/date.c:3006
-#, c-format
-msgid "\"time with time zone\" units \"%s\" not recognized"
-msgstr "»time with time zone«-Einheit »%s« nicht erkannt"
-
-#: utils/adt/date.c:3095 utils/adt/datetime.c:951 utils/adt/datetime.c:1858
-#: utils/adt/datetime.c:4648 utils/adt/timestamp.c:515
-#: utils/adt/timestamp.c:542 utils/adt/timestamp.c:4255
-#: utils/adt/timestamp.c:5426 utils/adt/timestamp.c:5678
+#: utils/adt/date.c:3084 utils/adt/datetime.c:1121 utils/adt/datetime.c:2027
+#: utils/adt/datetime.c:4906 utils/adt/timestamp.c:516
+#: utils/adt/timestamp.c:543 utils/adt/timestamp.c:4319
+#: utils/adt/timestamp.c:5464 utils/adt/timestamp.c:5716
 #, c-format
 msgid "time zone \"%s\" not recognized"
 msgstr "Zeitzone »%s« nicht erkannt"
 
-#: utils/adt/date.c:3127 utils/adt/timestamp.c:5456 utils/adt/timestamp.c:5709
+#: utils/adt/date.c:3116 utils/adt/timestamp.c:5494 utils/adt/timestamp.c:5747
 #, c-format
 msgid "interval time zone \"%s\" must not include months or days"
 msgstr "Intervall-Zeitzone »%s« darf keine Monate oder Tage enthalten"
 
-#: utils/adt/datetime.c:3775 utils/adt/datetime.c:3782
+#: utils/adt/datetime.c:4031 utils/adt/datetime.c:4038
 #, c-format
 msgid "date/time field value out of range: \"%s\""
 msgstr "Datum/Zeit-Feldwert ist außerhalb des gültigen Bereichs: »%s«"
 
-#: utils/adt/datetime.c:3784
+#: utils/adt/datetime.c:4040
 #, c-format
 msgid "Perhaps you need a different \"datestyle\" setting."
 msgstr "Möglicherweise benötigen Sie eine andere »datestyle«-Einstellung."
 
-#: utils/adt/datetime.c:3789
+#: utils/adt/datetime.c:4045
 #, c-format
 msgid "interval field value out of range: \"%s\""
 msgstr "»interval«-Feldwert ist außerhalb des gültigen Bereichs: »%s«"
 
-#: utils/adt/datetime.c:3795
+#: utils/adt/datetime.c:4051
 #, c-format
 msgid "time zone displacement out of range: \"%s\""
 msgstr "Zeitzonenunterschied ist außerhalb des gültigen Bereichs: »%s«"
 
-#: utils/adt/datetime.c:4650
+#: utils/adt/datetime.c:4908
 #, c-format
 msgid "This time zone name appears in the configuration file for time zone abbreviation \"%s\"."
 msgstr "Dieser Zeitzonenname erscheint in der Konfigurationsdatei für Zeitzonenabkürzung »%s«."
 
-#: utils/adt/datum.c:89 utils/adt/datum.c:101
+#: utils/adt/datum.c:90 utils/adt/datum.c:102
 #, c-format
 msgid "invalid Datum pointer"
 msgstr "ungültiger »Datum«-Zeiger"
 
-#: utils/adt/dbsize.c:749 utils/adt/dbsize.c:817
+#: utils/adt/dbsize.c:747 utils/adt/dbsize.c:813
 #, c-format
 msgid "invalid size: \"%s\""
 msgstr "ungültige Größe: »%s«"
 
-#: utils/adt/dbsize.c:818
+#: utils/adt/dbsize.c:814
 #, c-format
 msgid "Invalid size unit: \"%s\"."
 msgstr "Ungültige Größeneinheit: »%s«."
 
-#: utils/adt/dbsize.c:819
-#, c-format
-msgid "Valid units are \"bytes\", \"kB\", \"MB\", \"GB\", and \"TB\"."
+#: utils/adt/dbsize.c:815
+#, fuzzy, c-format
+#| msgid "Valid units are \"bytes\", \"kB\", \"MB\", \"GB\", and \"TB\"."
+msgid "Valid units are \"bytes\", \"kB\", \"MB\", \"GB\", \"TB\", and \"PB\"."
 msgstr "Gültige Einheiten sind »kB«, »MB«, »GB« und »TB«."
 
 #: utils/adt/domains.c:92
@@ -22772,37 +23863,47 @@ msgstr "Gültige Einheiten sind »kB«, »MB«, »GB« und »TB«."
 msgid "type %s is not a domain"
 msgstr "Typ %s ist keine Domäne"
 
-#: utils/adt/encode.c:68 utils/adt/encode.c:112
+#: utils/adt/encode.c:65 utils/adt/encode.c:113
 #, c-format
 msgid "unrecognized encoding: \"%s\""
 msgstr "unbekannte Kodierung: »%s«"
 
-#: utils/adt/encode.c:82
+#: utils/adt/encode.c:79
 #, c-format
 msgid "result of encoding conversion is too large"
 msgstr "Ergebnis der Kodierungsumwandlung ist zu groß"
 
-#: utils/adt/encode.c:126
+#: utils/adt/encode.c:127
 #, c-format
 msgid "result of decoding conversion is too large"
 msgstr "Ergebnis der Dekodierungsumwandlung ist zu groß"
 
-#: utils/adt/encode.c:261
+#: utils/adt/encode.c:186
+#, c-format
+msgid "invalid hexadecimal digit: \"%.*s\""
+msgstr "ungültige hexadezimale Ziffer: »%.*s«"
+
+#: utils/adt/encode.c:216
+#, c-format
+msgid "invalid hexadecimal data: odd number of digits"
+msgstr "ungültige hexadezimale Daten: ungerade Anzahl Ziffern"
+
+#: utils/adt/encode.c:334
 #, c-format
 msgid "unexpected \"=\" while decoding base64 sequence"
 msgstr "unerwartetes »=« beim Dekodieren von Base64-Sequenz"
 
-#: utils/adt/encode.c:273
+#: utils/adt/encode.c:346
 #, c-format
 msgid "invalid symbol \"%.*s\" found while decoding base64 sequence"
 msgstr "ungültiges Symbol »%.*s« beim Dekodieren von Base64-Sequenz"
 
-#: utils/adt/encode.c:304
+#: utils/adt/encode.c:367
 #, c-format
 msgid "invalid base64 end sequence"
 msgstr "ungültige Base64-Endsequenz"
 
-#: utils/adt/encode.c:305
+#: utils/adt/encode.c:368
 #, c-format
 msgid "Input data is missing padding, is truncated, or is otherwise corrupted."
 msgstr "Die Eingabedaten haben fehlendes Padding, sind zu kurz oder sind anderweitig verfälscht."
@@ -22839,390 +23940,385 @@ msgstr "konnte tatsächlichen Enum-Typen nicht bestimmen"
 msgid "enum %s contains no values"
 msgstr "Enum %s enthält keine Werte"
 
-#: utils/adt/float.c:88
+#: utils/adt/float.c:89
 #, c-format
 msgid "value out of range: overflow"
 msgstr "Wert ist außerhalb des gültigen Bereichs: Überlauf"
 
-#: utils/adt/float.c:96
+#: utils/adt/float.c:97
 #, c-format
 msgid "value out of range: underflow"
 msgstr "Wert ist außerhalb des gültigen Bereichs: Unterlauf"
 
-#: utils/adt/float.c:265
+#: utils/adt/float.c:266
 #, c-format
 msgid "\"%s\" is out of range for type real"
 msgstr "»%s« ist außerhalb des gültigen Bereichs für Typ real"
 
-#: utils/adt/float.c:477
+#: utils/adt/float.c:478
 #, c-format
 msgid "\"%s\" is out of range for type double precision"
 msgstr "»%s« ist außerhalb des gültigen Bereichs für Typ double precision"
 
-#: utils/adt/float.c:1258 utils/adt/float.c:1332 utils/adt/int.c:334
-#: utils/adt/int.c:872 utils/adt/int.c:894 utils/adt/int.c:908
-#: utils/adt/int.c:922 utils/adt/int.c:954 utils/adt/int.c:1192
-#: utils/adt/int8.c:1320 utils/adt/numeric.c:4317 utils/adt/numeric.c:4326
+#: utils/adt/float.c:1259 utils/adt/float.c:1333 utils/adt/int.c:358
+#: utils/adt/int.c:896 utils/adt/int.c:918 utils/adt/int.c:932
+#: utils/adt/int.c:946 utils/adt/int.c:978 utils/adt/int.c:1216
+#: utils/adt/int8.c:1278 utils/adt/numeric.c:4377 utils/adt/numeric.c:4382
 #, c-format
 msgid "smallint out of range"
 msgstr "smallint ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/float.c:1458 utils/adt/numeric.c:3550 utils/adt/numeric.c:9310
+#: utils/adt/float.c:1459 utils/adt/numeric.c:3611 utils/adt/numeric.c:9482
 #, c-format
 msgid "cannot take square root of a negative number"
 msgstr "Quadratwurzel von negativer Zahl kann nicht ermittelt werden"
 
-#: utils/adt/float.c:1526 utils/adt/numeric.c:3825 utils/adt/numeric.c:3935
+#: utils/adt/float.c:1527 utils/adt/numeric.c:3886 utils/adt/numeric.c:3998
 #, c-format
 msgid "zero raised to a negative power is undefined"
 msgstr "null hoch eine negative Zahl ist undefiniert"
 
-#: utils/adt/float.c:1530 utils/adt/numeric.c:3829 utils/adt/numeric.c:3940
+#: utils/adt/float.c:1531 utils/adt/numeric.c:3890 utils/adt/numeric.c:10378
 #, c-format
 msgid "a negative number raised to a non-integer power yields a complex result"
 msgstr "eine negative Zahl hoch eine nicht ganze Zahl ergibt ein komplexes Ergebnis"
 
-#: utils/adt/float.c:1706 utils/adt/float.c:1739 utils/adt/numeric.c:3737
-#: utils/adt/numeric.c:9974
+#: utils/adt/float.c:1707 utils/adt/float.c:1740 utils/adt/numeric.c:3798
+#: utils/adt/numeric.c:10153
 #, c-format
 msgid "cannot take logarithm of zero"
 msgstr "Logarithmus von null kann nicht ermittelt werden"
 
-#: utils/adt/float.c:1710 utils/adt/float.c:1743 utils/adt/numeric.c:3675
-#: utils/adt/numeric.c:3732 utils/adt/numeric.c:9978
+#: utils/adt/float.c:1711 utils/adt/float.c:1744 utils/adt/numeric.c:3736
+#: utils/adt/numeric.c:3793 utils/adt/numeric.c:10157
 #, c-format
 msgid "cannot take logarithm of a negative number"
 msgstr "Logarithmus negativer Zahlen kann nicht ermittelt werden"
 
-#: utils/adt/float.c:1776 utils/adt/float.c:1807 utils/adt/float.c:1902
-#: utils/adt/float.c:1929 utils/adt/float.c:1957 utils/adt/float.c:1984
-#: utils/adt/float.c:2131 utils/adt/float.c:2168 utils/adt/float.c:2338
-#: utils/adt/float.c:2394 utils/adt/float.c:2459 utils/adt/float.c:2516
-#: utils/adt/float.c:2707 utils/adt/float.c:2731
+#: utils/adt/float.c:1777 utils/adt/float.c:1808 utils/adt/float.c:1903
+#: utils/adt/float.c:1930 utils/adt/float.c:1958 utils/adt/float.c:1985
+#: utils/adt/float.c:2132 utils/adt/float.c:2169 utils/adt/float.c:2339
+#: utils/adt/float.c:2395 utils/adt/float.c:2460 utils/adt/float.c:2517
+#: utils/adt/float.c:2708 utils/adt/float.c:2732
 #, c-format
 msgid "input is out of range"
 msgstr "Eingabe ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/float.c:2798
+#: utils/adt/float.c:2796
 #, c-format
 msgid "setseed parameter %g is out of allowed range [-1,1]"
 msgstr "setseed-Parameter %g ist außerhalb des gültigen Bereichs [-1;-1]"
 
-#: utils/adt/float.c:4030 utils/adt/numeric.c:1716
+#: utils/adt/float.c:4024 utils/adt/numeric.c:1770
 #, c-format
 msgid "count must be greater than zero"
 msgstr "Anzahl muss größer als null sein"
 
-#: utils/adt/float.c:4035 utils/adt/numeric.c:1727
+#: utils/adt/float.c:4029 utils/adt/numeric.c:1781
 #, c-format
 msgid "operand, lower bound, and upper bound cannot be NaN"
 msgstr "Operand, Untergrenze und Obergrenze dürfen nicht NaN sein"
 
-#: utils/adt/float.c:4041 utils/adt/numeric.c:1732
+#: utils/adt/float.c:4035 utils/adt/numeric.c:1786
 #, c-format
 msgid "lower and upper bounds must be finite"
 msgstr "Untergrenze und Obergrenze müssen endlich sein"
 
-#: utils/adt/float.c:4075 utils/adt/numeric.c:1746
+#: utils/adt/float.c:4069 utils/adt/numeric.c:1800
 #, c-format
 msgid "lower bound cannot equal upper bound"
 msgstr "Untergrenze kann nicht gleich der Obergrenze sein"
 
-#: utils/adt/formatting.c:532
+#: utils/adt/formatting.c:561
 #, c-format
 msgid "invalid format specification for an interval value"
 msgstr "ungültige Formatangabe für Intervall-Wert"
 
-#: utils/adt/formatting.c:533
+#: utils/adt/formatting.c:562
 #, c-format
 msgid "Intervals are not tied to specific calendar dates."
 msgstr "Intervalle beziehen sich nicht auf bestimmte Kalenderdaten."
 
-#: utils/adt/formatting.c:1157
+#: utils/adt/formatting.c:1187
 #, c-format
 msgid "\"EEEE\" must be the last pattern used"
 msgstr "»EEEE« muss das letzte Muster sein"
 
-#: utils/adt/formatting.c:1165
+#: utils/adt/formatting.c:1195
 #, c-format
 msgid "\"9\" must be ahead of \"PR\""
 msgstr "»9« muss vor »PR« stehen"
 
-#: utils/adt/formatting.c:1181
+#: utils/adt/formatting.c:1211
 #, c-format
 msgid "\"0\" must be ahead of \"PR\""
 msgstr "»0« muss vor »PR« stehen"
 
-#: utils/adt/formatting.c:1208
+#: utils/adt/formatting.c:1238
 #, c-format
 msgid "multiple decimal points"
 msgstr "mehrere Dezimalpunkte"
 
-#: utils/adt/formatting.c:1212 utils/adt/formatting.c:1295
+#: utils/adt/formatting.c:1242 utils/adt/formatting.c:1325
 #, c-format
 msgid "cannot use \"V\" and decimal point together"
 msgstr "»V« und Dezimalpunkt können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1224
+#: utils/adt/formatting.c:1254
 #, c-format
 msgid "cannot use \"S\" twice"
 msgstr "»S« kann nicht zweimal verwendet werden"
 
-#: utils/adt/formatting.c:1228
+#: utils/adt/formatting.c:1258
 #, c-format
 msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together"
 msgstr "»S« und »PL«/»MI«/»SG«/»PR« können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1248
+#: utils/adt/formatting.c:1278
 #, c-format
 msgid "cannot use \"S\" and \"MI\" together"
 msgstr "»S« und »MI« können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1258
+#: utils/adt/formatting.c:1288
 #, c-format
 msgid "cannot use \"S\" and \"PL\" together"
 msgstr "»S« und »PL« können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1268
+#: utils/adt/formatting.c:1298
 #, c-format
 msgid "cannot use \"S\" and \"SG\" together"
 msgstr "»S« und »SG« können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1277
+#: utils/adt/formatting.c:1307
 #, c-format
 msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together"
 msgstr "»PR« und »S«/»PL«/»MI«/»SG« können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1303
+#: utils/adt/formatting.c:1333
 #, c-format
 msgid "cannot use \"EEEE\" twice"
 msgstr "»EEEE« kann nicht zweimal verwendet werden"
 
-#: utils/adt/formatting.c:1309
+#: utils/adt/formatting.c:1339
 #, c-format
 msgid "\"EEEE\" is incompatible with other formats"
 msgstr "»EEEE« ist mit anderen Formaten inkompatibel"
 
-#: utils/adt/formatting.c:1310
+#: utils/adt/formatting.c:1340
 #, c-format
 msgid "\"EEEE\" may only be used together with digit and decimal point patterns."
 msgstr "»EEEE« kann nur zusammen mit Platzhaltern für Ziffern oder Dezimalpunkt verwendet werden."
 
-#: utils/adt/formatting.c:1394
+#: utils/adt/formatting.c:1424
 #, c-format
 msgid "invalid datetime format separator: \"%s\""
 msgstr "ungültiges Datum-/Zeit-Formattrennzeichen: »%s«"
 
-#: utils/adt/formatting.c:1521
+#: utils/adt/formatting.c:1551
 #, c-format
 msgid "\"%s\" is not a number"
 msgstr "»%s« ist keine Zahl"
 
-#: utils/adt/formatting.c:1599
+#: utils/adt/formatting.c:1629
 #, c-format
 msgid "case conversion failed: %s"
 msgstr "Groß/Klein-Umwandlung fehlgeschlagen: %s"
 
-#: utils/adt/formatting.c:1664 utils/adt/formatting.c:1788
-#: utils/adt/formatting.c:1913
+#: utils/adt/formatting.c:1683 utils/adt/formatting.c:1805
+#: utils/adt/formatting.c:1928
 #, c-format
 msgid "could not determine which collation to use for %s function"
 msgstr "konnte die für die Funktion %s zu verwendende Sortierfolge nicht bestimmen"
 
-#: utils/adt/formatting.c:2285
+#: utils/adt/formatting.c:2309
 #, c-format
 msgid "invalid combination of date conventions"
 msgstr "ungültige Kombination von Datumskonventionen"
 
-#: utils/adt/formatting.c:2286
+#: utils/adt/formatting.c:2310
 #, c-format
 msgid "Do not mix Gregorian and ISO week date conventions in a formatting template."
 msgstr "Die Gregorianische und die ISO-Konvention für Wochendaten können nicht einer Formatvorlage gemischt werden."
 
-#: utils/adt/formatting.c:2309
+#: utils/adt/formatting.c:2333
 #, c-format
 msgid "conflicting values for \"%s\" field in formatting string"
 msgstr "widersprüchliche Werte für das Feld »%s« in Formatzeichenkette"
 
-#: utils/adt/formatting.c:2312
+#: utils/adt/formatting.c:2336
 #, c-format
 msgid "This value contradicts a previous setting for the same field type."
 msgstr "Der Wert widerspricht einer vorherigen Einstellung für den selben Feldtyp."
 
-#: utils/adt/formatting.c:2383
+#: utils/adt/formatting.c:2407
 #, c-format
 msgid "source string too short for \"%s\" formatting field"
 msgstr "Quellzeichenkette zu kurz für Formatfeld »%s»"
 
-#: utils/adt/formatting.c:2386
+#: utils/adt/formatting.c:2410
 #, c-format
 msgid "Field requires %d characters, but only %d remain."
 msgstr "Feld benötigt %d Zeichen, aber nur %d verbleiben."
 
-#: utils/adt/formatting.c:2389 utils/adt/formatting.c:2404
+#: utils/adt/formatting.c:2413 utils/adt/formatting.c:2428
 #, c-format
 msgid "If your source string is not fixed-width, try using the \"FM\" modifier."
 msgstr "Wenn die Quellzeichenkette keine feste Breite hat, versuchen Sie den Modifikator »FM«."
 
-#: utils/adt/formatting.c:2399 utils/adt/formatting.c:2413
-#: utils/adt/formatting.c:2636
+#: utils/adt/formatting.c:2423 utils/adt/formatting.c:2437
+#: utils/adt/formatting.c:2660
 #, c-format
 msgid "invalid value \"%s\" for \"%s\""
 msgstr "ungültiger Wert »%s« für »%s«"
 
-#: utils/adt/formatting.c:2401
+#: utils/adt/formatting.c:2425
 #, c-format
 msgid "Field requires %d characters, but only %d could be parsed."
 msgstr "Feld benötigt %d Zeichen, aber nur %d konnten geparst werden."
 
-#: utils/adt/formatting.c:2415
+#: utils/adt/formatting.c:2439
 #, c-format
 msgid "Value must be an integer."
 msgstr "Der Wert muss eine ganze Zahl sein."
 
-#: utils/adt/formatting.c:2420
+#: utils/adt/formatting.c:2444
 #, c-format
 msgid "value for \"%s\" in source string is out of range"
 msgstr "Wert für »%s« in der Eingabezeichenkette ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/formatting.c:2422
+#: utils/adt/formatting.c:2446
 #, c-format
 msgid "Value must be in the range %d to %d."
 msgstr "Der Wert muss im Bereich %d bis %d sein."
 
-#: utils/adt/formatting.c:2638
+#: utils/adt/formatting.c:2662
 #, c-format
 msgid "The given value did not match any of the allowed values for this field."
 msgstr "Der angegebene Wert stimmte mit keinem der für dieses Feld zulässigen Werte überein."
 
-#: utils/adt/formatting.c:2855 utils/adt/formatting.c:2875
-#: utils/adt/formatting.c:2895 utils/adt/formatting.c:2915
-#: utils/adt/formatting.c:2934 utils/adt/formatting.c:2953
-#: utils/adt/formatting.c:2977 utils/adt/formatting.c:2995
-#: utils/adt/formatting.c:3013 utils/adt/formatting.c:3031
-#: utils/adt/formatting.c:3048 utils/adt/formatting.c:3065
+#: utils/adt/formatting.c:2881 utils/adt/formatting.c:2901
+#: utils/adt/formatting.c:2921 utils/adt/formatting.c:2941
+#: utils/adt/formatting.c:2960 utils/adt/formatting.c:2979
+#: utils/adt/formatting.c:3003 utils/adt/formatting.c:3021
+#: utils/adt/formatting.c:3039 utils/adt/formatting.c:3057
+#: utils/adt/formatting.c:3074 utils/adt/formatting.c:3091
 #, c-format
 msgid "localized string format value too long"
 msgstr "lokalisierter Formatwert ist zu lang"
 
-#: utils/adt/formatting.c:3342
+#: utils/adt/formatting.c:3368
 #, c-format
 msgid "unmatched format separator \"%c\""
 msgstr "Formattrennzeichen »%c« ohne passende Eingabe"
 
-#: utils/adt/formatting.c:3403
+#: utils/adt/formatting.c:3429
 #, c-format
 msgid "unmatched format character \"%s\""
 msgstr "Formatzeichen »%s« ohne passende Eingabe"
 
-#: utils/adt/formatting.c:3509 utils/adt/formatting.c:3853
+#: utils/adt/formatting.c:3535 utils/adt/formatting.c:3879
 #, c-format
 msgid "formatting field \"%s\" is only supported in to_char"
 msgstr "Formatfeld »%s« wird nur in to_char unterstützt"
 
-#: utils/adt/formatting.c:3684
+#: utils/adt/formatting.c:3710
 #, c-format
 msgid "invalid input string for \"Y,YYY\""
 msgstr "ungültige Eingabe für »Y,YYY«"
 
-#: utils/adt/formatting.c:3770
+#: utils/adt/formatting.c:3796
 #, c-format
 msgid "input string is too short for datetime format"
 msgstr "Eingabezeichenkette ist zu kurz für Datum-/Zeitformat"
 
-#: utils/adt/formatting.c:3778
+#: utils/adt/formatting.c:3804
 #, c-format
 msgid "trailing characters remain in input string after datetime format"
 msgstr "nach dem Datum-/Zeitformat bleiben noch Zeichen in der Eingabezeichenkette"
 
-#: utils/adt/formatting.c:4323
+#: utils/adt/formatting.c:4365
 #, c-format
 msgid "missing time zone in input string for type timestamptz"
 msgstr "Zeitzone fehlt in Eingabezeichenkette für Typ timestamptz"
 
-#: utils/adt/formatting.c:4329
+#: utils/adt/formatting.c:4371
 #, c-format
 msgid "timestamptz out of range"
 msgstr "timestamptz ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/formatting.c:4357
+#: utils/adt/formatting.c:4399
 #, c-format
 msgid "datetime format is zoned but not timed"
 msgstr "Datum-/Zeitformat hat Zeitzone aber keine Zeit"
 
-#: utils/adt/formatting.c:4409
+#: utils/adt/formatting.c:4451
 #, c-format
 msgid "missing time zone in input string for type timetz"
 msgstr "Zeitzone fehlt in Eingabezeichenkette für Typ timetz"
 
-#: utils/adt/formatting.c:4415
+#: utils/adt/formatting.c:4457
 #, c-format
 msgid "timetz out of range"
 msgstr "timetz ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/formatting.c:4441
+#: utils/adt/formatting.c:4483
 #, c-format
 msgid "datetime format is not dated and not timed"
 msgstr "Datum-/Zeitformat hat kein Datum und keine Zeit"
 
-#: utils/adt/formatting.c:4574
+#: utils/adt/formatting.c:4616
 #, c-format
 msgid "hour \"%d\" is invalid for the 12-hour clock"
 msgstr "Stunde »%d« ist bei einer 12-Stunden-Uhr ungültig"
 
-#: utils/adt/formatting.c:4576
+#: utils/adt/formatting.c:4618
 #, c-format
 msgid "Use the 24-hour clock, or give an hour between 1 and 12."
 msgstr "Verwenden Sie die 24-Stunden-Uhr oder geben Sie eine Stunde zwischen 1 und 12 an."
 
-#: utils/adt/formatting.c:4687
+#: utils/adt/formatting.c:4729
 #, c-format
 msgid "cannot calculate day of year without year information"
 msgstr "kann Tag des Jahres nicht berechnen ohne Jahrinformationen"
 
-#: utils/adt/formatting.c:5606
+#: utils/adt/formatting.c:5648
 #, c-format
 msgid "\"EEEE\" not supported for input"
 msgstr "»E« wird nicht bei der Eingabe unterstützt"
 
-#: utils/adt/formatting.c:5618
+#: utils/adt/formatting.c:5660
 #, c-format
 msgid "\"RN\" not supported for input"
 msgstr "»RN« wird nicht bei der Eingabe unterstützt"
 
-#: utils/adt/genfile.c:78
-#, c-format
-msgid "reference to parent directory (\"..\") not allowed"
-msgstr "Verweis auf übergeordnetes Verzeichnis (»..«) nicht erlaubt"
-
-#: utils/adt/genfile.c:89
+#: utils/adt/genfile.c:84
 #, c-format
 msgid "absolute path not allowed"
 msgstr "absoluter Pfad nicht erlaubt"
 
-#: utils/adt/genfile.c:94
+#: utils/adt/genfile.c:89
 #, c-format
 msgid "path must be in or below the current directory"
 msgstr "Pfad muss in oder unter aktuellem Verzeichnis sein"
 
-#: utils/adt/genfile.c:119 utils/adt/oracle_compat.c:187
+#: utils/adt/genfile.c:114 utils/adt/oracle_compat.c:187
 #: utils/adt/oracle_compat.c:285 utils/adt/oracle_compat.c:833
-#: utils/adt/oracle_compat.c:1128
+#: utils/adt/oracle_compat.c:1134
 #, c-format
 msgid "requested length too large"
 msgstr "verlangte Länge zu groß"
 
-#: utils/adt/genfile.c:136
+#: utils/adt/genfile.c:131
 #, c-format
 msgid "could not seek in file \"%s\": %m"
 msgstr "konnte Positionszeiger in Datei »%s« nicht setzen: %m"
 
-#: utils/adt/genfile.c:176
+#: utils/adt/genfile.c:171
 #, c-format
 msgid "file length too large"
 msgstr "Dateilänge zu groß"
 
-#: utils/adt/genfile.c:253
+#: utils/adt/genfile.c:248
 #, c-format
 msgid "must be superuser to read files with adminpack 1.0"
 msgstr "nur Superuser können mit adminpack 1.0 Dateien lesen"
@@ -23237,8 +24333,8 @@ msgstr "ungültige »line«-Angabe: A und B können nicht beide null sein"
 msgid "invalid line specification: must be two distinct points"
 msgstr "ungültige »line«-Angabe: es müssen zwei verschiedene Punkte angegeben werden"
 
-#: utils/adt/geo_ops.c:1410 utils/adt/geo_ops.c:3498 utils/adt/geo_ops.c:4366
-#: utils/adt/geo_ops.c:5260
+#: utils/adt/geo_ops.c:1410 utils/adt/geo_ops.c:3402 utils/adt/geo_ops.c:4327
+#: utils/adt/geo_ops.c:5207
 #, c-format
 msgid "too many points requested"
 msgstr "zu viele Punkte verlangt"
@@ -23248,608 +24344,609 @@ msgstr "zu viele Punkte verlangt"
 msgid "invalid number of points in external \"path\" value"
 msgstr "ungültige Anzahl Punkte in externem »path«-Wert"
 
-#: utils/adt/geo_ops.c:2549
-#, c-format
-msgid "function \"dist_lb\" not implemented"
-msgstr "Funktion »dist_lb« ist nicht implementiert"
-
-#: utils/adt/geo_ops.c:2568
-#, c-format
-msgid "function \"dist_bl\" not implemented"
-msgstr "Funktion »dist_bl« ist nicht implementiert"
-
-#: utils/adt/geo_ops.c:2987
-#, c-format
-msgid "function \"close_sl\" not implemented"
-msgstr "Funktion »close_sl« ist nicht implementiert"
-
-#: utils/adt/geo_ops.c:3134
-#, c-format
-msgid "function \"close_lb\" not implemented"
-msgstr "Funktion »close_lb« ist nicht implementiert"
-
-#: utils/adt/geo_ops.c:3545
+#: utils/adt/geo_ops.c:3449
 #, c-format
 msgid "invalid number of points in external \"polygon\" value"
 msgstr "ungültige Anzahl Punkte in externem »polygon«-Wert"
 
-#: utils/adt/geo_ops.c:4081
-#, c-format
-msgid "function \"poly_distance\" not implemented"
-msgstr "Funktion »poly_distance« ist nicht implementiert"
-
-#: utils/adt/geo_ops.c:4458
-#, c-format
-msgid "function \"path_center\" not implemented"
-msgstr "Funktion »path_center« ist nicht implementiert"
-
-#: utils/adt/geo_ops.c:4475
+#: utils/adt/geo_ops.c:4422
 #, c-format
 msgid "open path cannot be converted to polygon"
 msgstr "offener Pfad kann nicht in Polygon umgewandelt werden"
 
-#: utils/adt/geo_ops.c:4725
+#: utils/adt/geo_ops.c:4672
 #, c-format
 msgid "invalid radius in external \"circle\" value"
 msgstr "ungültiger Radius in externem »circle«-Wert"
 
-#: utils/adt/geo_ops.c:5246
+#: utils/adt/geo_ops.c:5193
 #, c-format
 msgid "cannot convert circle with radius zero to polygon"
 msgstr "kann Kreis mit Radius null nicht in Polygon umwandeln"
 
-#: utils/adt/geo_ops.c:5251
+#: utils/adt/geo_ops.c:5198
 #, c-format
 msgid "must request at least 2 points"
 msgstr "mindestens 2 Punkte müssen angefordert werden"
 
-#: utils/adt/int.c:164
+#: utils/adt/int.c:188
 #, c-format
 msgid "int2vector has too many elements"
 msgstr "int2vector-Wert hat zu viele Elemente"
 
-#: utils/adt/int.c:237
+#: utils/adt/int.c:261
 #, c-format
 msgid "invalid int2vector data"
 msgstr "ungültige int2vector-Daten"
 
-#: utils/adt/int.c:243 utils/adt/oid.c:215 utils/adt/oid.c:296
+#: utils/adt/int.c:267 utils/adt/oid.c:215 utils/adt/oid.c:296
 #, c-format
 msgid "oidvector has too many elements"
 msgstr "oidvector-Wert hat zu viele Elemente"
 
-#: utils/adt/int.c:1508 utils/adt/int8.c:1446 utils/adt/numeric.c:1624
-#: utils/adt/timestamp.c:5771 utils/adt/timestamp.c:5851
+#: utils/adt/int.c:1532 utils/adt/int8.c:1404 utils/adt/numeric.c:1678
+#: utils/adt/timestamp.c:5809 utils/adt/timestamp.c:5889
 #, c-format
 msgid "step size cannot equal zero"
 msgstr "Schrittgröße kann nicht gleich null sein"
 
-#: utils/adt/int8.c:534 utils/adt/int8.c:557 utils/adt/int8.c:571
-#: utils/adt/int8.c:585 utils/adt/int8.c:616 utils/adt/int8.c:640
-#: utils/adt/int8.c:722 utils/adt/int8.c:790 utils/adt/int8.c:796
-#: utils/adt/int8.c:822 utils/adt/int8.c:836 utils/adt/int8.c:860
-#: utils/adt/int8.c:873 utils/adt/int8.c:942 utils/adt/int8.c:956
-#: utils/adt/int8.c:970 utils/adt/int8.c:1001 utils/adt/int8.c:1023
-#: utils/adt/int8.c:1037 utils/adt/int8.c:1051 utils/adt/int8.c:1084
-#: utils/adt/int8.c:1098 utils/adt/int8.c:1112 utils/adt/int8.c:1143
-#: utils/adt/int8.c:1165 utils/adt/int8.c:1179 utils/adt/int8.c:1193
-#: utils/adt/int8.c:1355 utils/adt/int8.c:1390 utils/adt/numeric.c:4276
+#: utils/adt/int8.c:449 utils/adt/int8.c:472 utils/adt/int8.c:486
+#: utils/adt/int8.c:500 utils/adt/int8.c:531 utils/adt/int8.c:555
+#: utils/adt/int8.c:637 utils/adt/int8.c:705 utils/adt/int8.c:711
+#: utils/adt/int8.c:737 utils/adt/int8.c:751 utils/adt/int8.c:775
+#: utils/adt/int8.c:788 utils/adt/int8.c:900 utils/adt/int8.c:914
+#: utils/adt/int8.c:928 utils/adt/int8.c:959 utils/adt/int8.c:981
+#: utils/adt/int8.c:995 utils/adt/int8.c:1009 utils/adt/int8.c:1042
+#: utils/adt/int8.c:1056 utils/adt/int8.c:1070 utils/adt/int8.c:1101
+#: utils/adt/int8.c:1123 utils/adt/int8.c:1137 utils/adt/int8.c:1151
+#: utils/adt/int8.c:1313 utils/adt/int8.c:1348 utils/adt/numeric.c:4336
 #: utils/adt/varbit.c:1676
 #, c-format
 msgid "bigint out of range"
 msgstr "bigint ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/int8.c:1403
+#: utils/adt/int8.c:1361
 #, c-format
 msgid "OID out of range"
 msgstr "OID ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/json.c:271 utils/adt/jsonb.c:757
+#: utils/adt/json.c:293 utils/adt/jsonb.c:747
 #, c-format
 msgid "key value must be scalar, not array, composite, or json"
 msgstr "Schlüsselwert muss skalar sein, nicht Array, zusammengesetzt oder json"
 
-#: utils/adt/json.c:892 utils/adt/json.c:902 utils/fmgr/funcapi.c:1994
+#: utils/adt/json.c:1069 utils/adt/json.c:1079 utils/fmgr/funcapi.c:2061
 #, c-format
 msgid "could not determine data type for argument %d"
 msgstr "konnte Datentyp von Argument %d nicht ermitteln"
 
-#: utils/adt/json.c:926 utils/adt/jsonb.c:1728
+#: utils/adt/json.c:1102 utils/adt/jsonb.c:1811
 #, c-format
 msgid "field name must not be null"
 msgstr "Feldname darf nicht NULL sein"
 
-#: utils/adt/json.c:1010 utils/adt/jsonb.c:1178
+#: utils/adt/json.c:1141 utils/adt/json.c:1305
+#, fuzzy, c-format
+#| msgid "Duplicate keys exist."
+msgid "duplicate JSON key %s"
+msgstr "Es existieren doppelte Schlüssel."
+
+#: utils/adt/json.c:1249 utils/adt/jsonb.c:1195
 #, c-format
 msgid "argument list must have even number of elements"
 msgstr "Argumentliste muss gerade Anzahl Elemente haben"
 
 #. translator: %s is a SQL function name
-#: utils/adt/json.c:1012 utils/adt/jsonb.c:1180
+#: utils/adt/json.c:1251 utils/adt/jsonb.c:1197
 #, c-format
 msgid "The arguments of %s must consist of alternating keys and values."
 msgstr "Die Argumente von %s müssen abwechselnd Schlüssel und Werte sein."
 
-#: utils/adt/json.c:1028
+#: utils/adt/json.c:1289
 #, c-format
 msgid "argument %d cannot be null"
 msgstr "Argument %d darf nicht NULL sein"
 
-#: utils/adt/json.c:1029
+#: utils/adt/json.c:1290
 #, c-format
 msgid "Object keys should be text."
 msgstr "Objektschlüssel sollten Text sein."
 
-#: utils/adt/json.c:1135 utils/adt/jsonb.c:1310
+#: utils/adt/json.c:1444 utils/adt/jsonb.c:1372
 #, c-format
 msgid "array must have two columns"
 msgstr "Array muss zwei Spalten haben"
 
-#: utils/adt/json.c:1159 utils/adt/json.c:1243 utils/adt/jsonb.c:1334
-#: utils/adt/jsonb.c:1429
+#: utils/adt/json.c:1468 utils/adt/json.c:1551 utils/adt/jsonb.c:1396
+#: utils/adt/jsonb.c:1491
 #, c-format
 msgid "null value not allowed for object key"
 msgstr "NULL-Werte sind nicht als Objektschlüssel erlaubt"
 
-#: utils/adt/json.c:1232 utils/adt/jsonb.c:1418
+#: utils/adt/json.c:1540 utils/adt/jsonb.c:1480
 #, c-format
 msgid "mismatched array dimensions"
 msgstr "Array-Dimensionen passen nicht"
 
-#: utils/adt/jsonb.c:287
+#: utils/adt/json.c:1720 utils/adt/jsonb_util.c:1958
+#, c-format
+msgid "duplicate JSON object key value"
+msgstr ""
+
+#: utils/adt/jsonb.c:276
 #, c-format
 msgid "string too long to represent as jsonb string"
 msgstr "Zeichenkette ist zu lang für jsonb"
 
-#: utils/adt/jsonb.c:288
+#: utils/adt/jsonb.c:277
 #, c-format
 msgid "Due to an implementation restriction, jsonb strings cannot exceed %d bytes."
 msgstr "Aufgrund einer Einschränkung der Implementierung können jsonb-Zeichenketten nicht länger als %d Bytes sein."
 
-#: utils/adt/jsonb.c:1193
+#: utils/adt/jsonb.c:1214
 #, c-format
 msgid "argument %d: key must not be null"
 msgstr "Argument %d: Schlüssel darf nicht NULL sein"
 
-#: utils/adt/jsonb.c:1781
+#: utils/adt/jsonb.c:1873
 #, c-format
 msgid "object keys must be strings"
 msgstr "Objektschlüssel müssen Zeichenketten sein"
 
-#: utils/adt/jsonb.c:1944
+#: utils/adt/jsonb.c:2083
 #, c-format
 msgid "cannot cast jsonb null to type %s"
 msgstr "kann jsonb-Null-Wert nicht in Typ %s umwandeln"
 
-#: utils/adt/jsonb.c:1945
+#: utils/adt/jsonb.c:2084
 #, c-format
 msgid "cannot cast jsonb string to type %s"
 msgstr "kann jsonb-Zeichenkette nicht in Typ %s umwandeln"
 
-#: utils/adt/jsonb.c:1946
+#: utils/adt/jsonb.c:2085
 #, c-format
 msgid "cannot cast jsonb numeric to type %s"
 msgstr "kann jsonb numerischen Wert nicht in Typ %s umwandeln"
 
-#: utils/adt/jsonb.c:1947
+#: utils/adt/jsonb.c:2086
 #, c-format
 msgid "cannot cast jsonb boolean to type %s"
 msgstr "kann jsonb-boolean nicht in Typ %s umwandeln"
 
-#: utils/adt/jsonb.c:1948
+#: utils/adt/jsonb.c:2087
 #, c-format
 msgid "cannot cast jsonb array to type %s"
 msgstr "kann jsonb-Array nicht in Typ %s umwandeln"
 
-#: utils/adt/jsonb.c:1949
+#: utils/adt/jsonb.c:2088
 #, c-format
 msgid "cannot cast jsonb object to type %s"
 msgstr "kann jsonb-Objekt nicht in Typ %s umwandeln"
 
-#: utils/adt/jsonb.c:1950
+#: utils/adt/jsonb.c:2089
 #, c-format
 msgid "cannot cast jsonb array or object to type %s"
 msgstr "kann jsonb-Array oder -Objekt nicht in Typ %s umwandeln"
 
-#: utils/adt/jsonb_util.c:751
+#: utils/adt/jsonb_util.c:758
 #, c-format
 msgid "number of jsonb object pairs exceeds the maximum allowed (%zu)"
 msgstr "Anzahl der jsonb-Objekte-Paare überschreitet erlaubtes Maximum (%zu)"
 
-#: utils/adt/jsonb_util.c:792
+#: utils/adt/jsonb_util.c:799
 #, c-format
 msgid "number of jsonb array elements exceeds the maximum allowed (%zu)"
 msgstr "Anzahl der jsonb-Arrayelemente überschreitet erlaubtes Maximum (%zu)"
 
-#: utils/adt/jsonb_util.c:1666 utils/adt/jsonb_util.c:1686
+#: utils/adt/jsonb_util.c:1673 utils/adt/jsonb_util.c:1693
 #, c-format
 msgid "total size of jsonb array elements exceeds the maximum of %u bytes"
 msgstr "Gesamtgröße der jsonb-Array-Elemente überschreitet die maximale Größe von %u Bytes"
 
-#: utils/adt/jsonb_util.c:1747 utils/adt/jsonb_util.c:1782
-#: utils/adt/jsonb_util.c:1802
+#: utils/adt/jsonb_util.c:1754 utils/adt/jsonb_util.c:1789
+#: utils/adt/jsonb_util.c:1809
 #, c-format
 msgid "total size of jsonb object elements exceeds the maximum of %u bytes"
 msgstr "Gesamtgröße der jsonb-Objektelemente überschreitet die maximale Größe von %u Bytes"
 
-#: utils/adt/jsonbsubs.c:70 utils/adt/jsonbsubs.c:152
-#, fuzzy, c-format
-#| msgid "this build does not support compression"
+#: utils/adt/jsonbsubs.c:70 utils/adt/jsonbsubs.c:151
+#, c-format
 msgid "jsonb subscript does not support slices"
-msgstr "diese Installation unterstützt keine Komprimierung"
+msgstr "jsonb-Index unterstützt keine Slices"
 
-#: utils/adt/jsonbsubs.c:103 utils/adt/jsonbsubs.c:118
-#, fuzzy, c-format
-#| msgid "log format \"%s\" is not supported"
-msgid "subscript type is not supported"
-msgstr "Logformat »%s« wird nicht unterstützt"
+#: utils/adt/jsonbsubs.c:103 utils/adt/jsonbsubs.c:117
+#, c-format
+msgid "subscript type %s is not supported"
+msgstr "Subscript-Typ %s wird nicht unterstützt"
 
 #: utils/adt/jsonbsubs.c:104
 #, c-format
-msgid "Jsonb subscript must be coerced only to one type, integer or text."
-msgstr ""
+msgid "jsonb subscript must be coercible to only one type, integer or text."
+msgstr "jsonb-Index darf nur in einen Typ umwandelbar sein, integer oder text."
 
-#: utils/adt/jsonbsubs.c:119
+#: utils/adt/jsonbsubs.c:118
 #, c-format
-msgid "Jsonb subscript must be coerced to either integer or text"
-msgstr ""
+msgid "jsonb subscript must be coercible to either integer or text."
+msgstr "jsonb-Index muss in entweder integer oder text umwandelbar sein."
 
-#: utils/adt/jsonbsubs.c:140
-#, fuzzy, c-format
-#| msgid "array subscript must have type integer"
+#: utils/adt/jsonbsubs.c:139
+#, c-format
 msgid "jsonb subscript must have text type"
-msgstr "Arrayindex muss Typ integer haben"
+msgstr "jsonb-Index muss Typ text haben"
 
-#: utils/adt/jsonbsubs.c:208
-#, fuzzy, c-format
-#| msgid "array subscript in assignment must not be null"
+#: utils/adt/jsonbsubs.c:207
+#, c-format
 msgid "jsonb subscript in assignment must not be null"
-msgstr "Arrayindex in Zuweisung darf nicht NULL sein"
+msgstr "jsonb-Index in Zuweisung darf nicht NULL sein"
 
-#: utils/adt/jsonfuncs.c:555 utils/adt/jsonfuncs.c:789
-#: utils/adt/jsonfuncs.c:2471 utils/adt/jsonfuncs.c:2911
-#: utils/adt/jsonfuncs.c:3700 utils/adt/jsonfuncs.c:4030
+#: utils/adt/jsonfuncs.c:555 utils/adt/jsonfuncs.c:791
+#: utils/adt/jsonfuncs.c:2360 utils/adt/jsonfuncs.c:2800
+#: utils/adt/jsonfuncs.c:3634 utils/adt/jsonfuncs.c:3967
 #, c-format
 msgid "cannot call %s on a scalar"
 msgstr "%s kann nicht mit einem skalaren Wert aufgerufen werden"
 
-#: utils/adt/jsonfuncs.c:560 utils/adt/jsonfuncs.c:776
-#: utils/adt/jsonfuncs.c:2913 utils/adt/jsonfuncs.c:3689
+#: utils/adt/jsonfuncs.c:560 utils/adt/jsonfuncs.c:778
+#: utils/adt/jsonfuncs.c:2802 utils/adt/jsonfuncs.c:3623
 #, c-format
 msgid "cannot call %s on an array"
 msgstr "%s kann nicht mit einem Array aufgerufen werden"
 
-#: utils/adt/jsonfuncs.c:685
+#: utils/adt/jsonfuncs.c:687
 #, c-format
 msgid "JSON data, line %d: %s%s%s"
 msgstr "JSON-Daten, Zeile %d: %s%s%s"
 
-#: utils/adt/jsonfuncs.c:1823 utils/adt/jsonfuncs.c:1858
+#: utils/adt/jsonfuncs.c:1825 utils/adt/jsonfuncs.c:1860
 #, c-format
 msgid "cannot get array length of a scalar"
 msgstr "kann nicht die Arraylänge eines skalaren Wertes ermitteln"
 
-#: utils/adt/jsonfuncs.c:1827 utils/adt/jsonfuncs.c:1846
+#: utils/adt/jsonfuncs.c:1829 utils/adt/jsonfuncs.c:1848
 #, c-format
 msgid "cannot get array length of a non-array"
 msgstr "kann nicht die Arraylänge eines Nicht-Arrays ermitteln"
 
-#: utils/adt/jsonfuncs.c:1923
+#: utils/adt/jsonfuncs.c:1922
 #, c-format
 msgid "cannot call %s on a non-object"
 msgstr "%s kann nicht mit etwas aufgerufen werden, das kein Objekt ist"
 
-#: utils/adt/jsonfuncs.c:2162
+#: utils/adt/jsonfuncs.c:2106
 #, c-format
 msgid "cannot deconstruct an array as an object"
 msgstr "kann Array nicht in ein Objekt zerlegen"
 
-#: utils/adt/jsonfuncs.c:2174
+#: utils/adt/jsonfuncs.c:2118
 #, c-format
 msgid "cannot deconstruct a scalar"
 msgstr "kann skalaren Wert nicht zerlegen"
 
-#: utils/adt/jsonfuncs.c:2220
+#: utils/adt/jsonfuncs.c:2161
 #, c-format
 msgid "cannot extract elements from a scalar"
 msgstr "kann keine Elemente aus einem skalaren Wert auswählen"
 
-#: utils/adt/jsonfuncs.c:2224
+#: utils/adt/jsonfuncs.c:2165
 #, c-format
 msgid "cannot extract elements from an object"
 msgstr "kann keine Elemente aus einem Objekt auswählen"
 
-#: utils/adt/jsonfuncs.c:2458 utils/adt/jsonfuncs.c:3915
+#: utils/adt/jsonfuncs.c:2347 utils/adt/jsonfuncs.c:3852
 #, c-format
 msgid "cannot call %s on a non-array"
 msgstr "%s kann nicht mit etwas aufgerufen werden, das kein Array ist"
 
-#: utils/adt/jsonfuncs.c:2528 utils/adt/jsonfuncs.c:2533
-#: utils/adt/jsonfuncs.c:2550 utils/adt/jsonfuncs.c:2556
+#: utils/adt/jsonfuncs.c:2417 utils/adt/jsonfuncs.c:2422
+#: utils/adt/jsonfuncs.c:2439 utils/adt/jsonfuncs.c:2445
 #, c-format
 msgid "expected JSON array"
 msgstr "JSON-Array wurde erwartet"
 
-#: utils/adt/jsonfuncs.c:2529
+#: utils/adt/jsonfuncs.c:2418
 #, c-format
 msgid "See the value of key \"%s\"."
 msgstr "Prüfen Sie den Wert des Schlüssels »%s«."
 
-#: utils/adt/jsonfuncs.c:2551
+#: utils/adt/jsonfuncs.c:2440
 #, c-format
 msgid "See the array element %s of key \"%s\"."
 msgstr "Prüfen Sie das Arrayelement %s des Schlüssels »%s«."
 
-#: utils/adt/jsonfuncs.c:2557
+#: utils/adt/jsonfuncs.c:2446
 #, c-format
 msgid "See the array element %s."
 msgstr "Prüfen Sie das Arrayelement %s."
 
-#: utils/adt/jsonfuncs.c:2592
+#: utils/adt/jsonfuncs.c:2481
 #, c-format
 msgid "malformed JSON array"
 msgstr "fehlerhaftes JSON-Array"
 
 #. translator: %s is a function name, eg json_to_record
-#: utils/adt/jsonfuncs.c:3419
+#: utils/adt/jsonfuncs.c:3353
 #, c-format
 msgid "first argument of %s must be a row type"
 msgstr "erstes Argument von %s muss ein Zeilentyp sein"
 
 #. translator: %s is a function name, eg json_to_record
-#: utils/adt/jsonfuncs.c:3443
+#: utils/adt/jsonfuncs.c:3377
 #, c-format
 msgid "could not determine row type for result of %s"
 msgstr "konnte Zeilentyp für Ergebnis von %s nicht ermitteln"
 
-#: utils/adt/jsonfuncs.c:3445
+#: utils/adt/jsonfuncs.c:3379
 #, c-format
 msgid "Provide a non-null record argument, or call the function in the FROM clause using a column definition list."
 msgstr "Geben Sie ein »record«-Argument, das nicht NULL ist, an oder rufen Sie die Funktion in der FROM-Klausel mit einer Spaltendefinitionsliste auf."
 
-#: utils/adt/jsonfuncs.c:3932 utils/adt/jsonfuncs.c:4012
+#: utils/adt/jsonfuncs.c:3741 utils/fmgr/funcapi.c:94
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "Materialisierungsmodus wird benötigt, ist aber in diesem Zusammenhang nicht erlaubt"
+
+#: utils/adt/jsonfuncs.c:3869 utils/adt/jsonfuncs.c:3949
 #, c-format
 msgid "argument of %s must be an array of objects"
 msgstr "Argument von %s muss ein Array von Objekten sein"
 
-#: utils/adt/jsonfuncs.c:3965
+#: utils/adt/jsonfuncs.c:3902
 #, c-format
 msgid "cannot call %s on an object"
 msgstr "%s kann nicht mit einem Objekt aufgerufen werden"
 
-#: utils/adt/jsonfuncs.c:4373 utils/adt/jsonfuncs.c:4432
-#: utils/adt/jsonfuncs.c:4512
+#: utils/adt/jsonfuncs.c:4309 utils/adt/jsonfuncs.c:4368
+#: utils/adt/jsonfuncs.c:4448
 #, c-format
 msgid "cannot delete from scalar"
 msgstr "kann nicht aus skalarem Wert löschen"
 
-#: utils/adt/jsonfuncs.c:4517
+#: utils/adt/jsonfuncs.c:4453
 #, c-format
 msgid "cannot delete from object using integer index"
 msgstr "aus einem Objekt kann nicht per numerischem Index gelöscht werden"
 
-#: utils/adt/jsonfuncs.c:4585 utils/adt/jsonfuncs.c:4746
+#: utils/adt/jsonfuncs.c:4521 utils/adt/jsonfuncs.c:4682
 #, c-format
 msgid "cannot set path in scalar"
 msgstr "in einem skalaren Wert kann kein Pfad gesetzt werden"
 
-#: utils/adt/jsonfuncs.c:4627 utils/adt/jsonfuncs.c:4669
+#: utils/adt/jsonfuncs.c:4563 utils/adt/jsonfuncs.c:4605
 #, c-format
 msgid "null_value_treatment must be \"delete_key\", \"return_target\", \"use_json_null\", or \"raise_exception\""
 msgstr "null_value_treatment muss »delete_key«, »return_target«, »use_json_null« oder »raise_exception« sein"
 
-#: utils/adt/jsonfuncs.c:4640
+#: utils/adt/jsonfuncs.c:4576
 #, c-format
 msgid "JSON value must not be null"
 msgstr "JSON-Wert darf nicht NULL sein"
 
-#: utils/adt/jsonfuncs.c:4641
+#: utils/adt/jsonfuncs.c:4577
 #, c-format
 msgid "Exception was raised because null_value_treatment is \"raise_exception\"."
 msgstr "Ausnahme wurde ausgelöst, weil null_value_treatment »raise_exception« ist."
 
-#: utils/adt/jsonfuncs.c:4642
+#: utils/adt/jsonfuncs.c:4578
 #, c-format
 msgid "To avoid, either change the null_value_treatment argument or ensure that an SQL NULL is not passed."
 msgstr "Um dies zu vermeiden, ändern Sie das Argument null_value_treatment oder sorgen Sie dafür, dass kein SQL NULL übergeben wird."
 
-#: utils/adt/jsonfuncs.c:4697
+#: utils/adt/jsonfuncs.c:4633
 #, c-format
 msgid "cannot delete path in scalar"
 msgstr "in einem skalaren Wert kann kein Pfad gelöscht werden"
 
-#: utils/adt/jsonfuncs.c:4913
+#: utils/adt/jsonfuncs.c:4849
 #, c-format
 msgid "path element at position %d is null"
 msgstr "Pfadelement auf Position %d ist NULL"
 
-#: utils/adt/jsonfuncs.c:4932 utils/adt/jsonfuncs.c:4963
-#: utils/adt/jsonfuncs.c:5030
+#: utils/adt/jsonfuncs.c:4868 utils/adt/jsonfuncs.c:4899
+#: utils/adt/jsonfuncs.c:4966
 #, c-format
 msgid "cannot replace existing key"
 msgstr "existierender Schlüssel kann nicht ersetzt werden"
 
-#: utils/adt/jsonfuncs.c:4933 utils/adt/jsonfuncs.c:4964
+#: utils/adt/jsonfuncs.c:4869 utils/adt/jsonfuncs.c:4900
 #, c-format
 msgid "The path assumes key is a composite object, but it is a scalar value."
-msgstr ""
+msgstr "Der Pfad nimmt an, dass der Schlüssel ein zusammengesetztes Objekt ist, aber er ist ein skalarer Wert."
 
-#: utils/adt/jsonfuncs.c:5031
+#: utils/adt/jsonfuncs.c:4967
 #, c-format
 msgid "Try using the function jsonb_set to replace key value."
 msgstr "Verwenden Sie die Funktion jsonb_set, um den Schlüsselwert zu ersetzen."
 
-#: utils/adt/jsonfuncs.c:5135
+#: utils/adt/jsonfuncs.c:5071
 #, c-format
 msgid "path element at position %d is not an integer: \"%s\""
 msgstr "Pfadelement auf Position %d ist keine ganze Zahl: »%s«"
 
-#: utils/adt/jsonfuncs.c:5152
-#, fuzzy, c-format
-#| msgid "path element at position %d is not an integer: \"%s\""
+#: utils/adt/jsonfuncs.c:5088
+#, c-format
 msgid "path element at position %d is out of range: %d"
-msgstr "Pfadelement auf Position %d ist keine ganze Zahl: »%s«"
+msgstr "Pfadelement auf Position %d ist außerhalb des gültigen Bereichs: %d"
 
-#: utils/adt/jsonfuncs.c:5304
+#: utils/adt/jsonfuncs.c:5240
 #, c-format
 msgid "wrong flag type, only arrays and scalars are allowed"
 msgstr "falscher Flag-Typ, nur Arrays und skalare Werte sind erlaubt"
 
-#: utils/adt/jsonfuncs.c:5311
+#: utils/adt/jsonfuncs.c:5247
 #, c-format
 msgid "flag array element is not a string"
 msgstr "Flag-Array-Element ist keine Zeichenkette"
 
-#: utils/adt/jsonfuncs.c:5312 utils/adt/jsonfuncs.c:5334
+#: utils/adt/jsonfuncs.c:5248 utils/adt/jsonfuncs.c:5270
 #, c-format
 msgid "Possible values are: \"string\", \"numeric\", \"boolean\", \"key\", and \"all\"."
 msgstr "Mögliche Werte sind: »string«, »numeric«, »boolean«, »key« und »all«."
 
-#: utils/adt/jsonfuncs.c:5332
+#: utils/adt/jsonfuncs.c:5268
 #, c-format
 msgid "wrong flag in flag array: \"%s\""
 msgstr "falsche Flag im Flag-Array: »%s«"
 
-#: utils/adt/jsonpath.c:362
+#: utils/adt/jsonpath.c:364
 #, c-format
 msgid "@ is not allowed in root expressions"
 msgstr "@ ist nicht erlaubt in Wurzelausdrücken"
 
-#: utils/adt/jsonpath.c:368
+#: utils/adt/jsonpath.c:370
 #, c-format
 msgid "LAST is allowed only in array subscripts"
 msgstr "LAST ist nur in Arrayindizes erlaubt"
 
-#: utils/adt/jsonpath_exec.c:360
+#: utils/adt/jsonpath_exec.c:434
 #, c-format
 msgid "single boolean result is expected"
 msgstr "ein einzelnes Ergebnis mit Typ boolean wird erwartet"
 
-#: utils/adt/jsonpath_exec.c:556
-#, c-format
-msgid "\"vars\" argument is not an object"
-msgstr "Argument »vars« ist kein Objekt"
-
-#: utils/adt/jsonpath_exec.c:557
-#, c-format
-msgid "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object."
-msgstr "JSON-Path-Parameter sollten als Schüssel-Wert-Paare im »vars«-Objekt kodiert werden."
-
-#: utils/adt/jsonpath_exec.c:674
+#: utils/adt/jsonpath_exec.c:746
 #, c-format
 msgid "JSON object does not contain key \"%s\""
 msgstr "JSON-Objekt enthält Schlüssel »%s« nicht"
 
-#: utils/adt/jsonpath_exec.c:686
+#: utils/adt/jsonpath_exec.c:758
 #, c-format
 msgid "jsonpath member accessor can only be applied to an object"
 msgstr "JSON-Path-Member-Zugriff kann nur auf ein Objekt angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:715
+#: utils/adt/jsonpath_exec.c:787
 #, c-format
 msgid "jsonpath wildcard array accessor can only be applied to an array"
 msgstr "JSON-Path-Wildcard-Array-Indizierung kann nur auf ein Array angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:763
+#: utils/adt/jsonpath_exec.c:835
 #, c-format
 msgid "jsonpath array subscript is out of bounds"
 msgstr "JSON-Path-Arrayindex ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/jsonpath_exec.c:820
+#: utils/adt/jsonpath_exec.c:892
 #, c-format
 msgid "jsonpath array accessor can only be applied to an array"
 msgstr "JSON-Path-Array-Indizierung kann nur auf ein Array angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:872
+#: utils/adt/jsonpath_exec.c:944
 #, c-format
 msgid "jsonpath wildcard member accessor can only be applied to an object"
 msgstr "JSON-Path-Wildcard-Member-Zugriff kann nur auf ein Objekt angwendet werden"
 
-#: utils/adt/jsonpath_exec.c:1002
+#: utils/adt/jsonpath_exec.c:1074
 #, c-format
 msgid "jsonpath item method .%s() can only be applied to an array"
 msgstr "Jsonpath-Item-Methode .%s() kann nur auf ein Array angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:1055
+#: utils/adt/jsonpath_exec.c:1127
 #, c-format
 msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision"
 msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision"
 
-#: utils/adt/jsonpath_exec.c:1076
+#: utils/adt/jsonpath_exec.c:1148
 #, c-format
 msgid "string argument of jsonpath item method .%s() is not a valid representation of a double precision number"
 msgstr "Zeichenkettenargument der JSON-Path-Item-Methode .%s() ist nicht gültig für Typ double precision"
 
-#: utils/adt/jsonpath_exec.c:1089
+#: utils/adt/jsonpath_exec.c:1161
 #, c-format
 msgid "jsonpath item method .%s() can only be applied to a string or numeric value"
 msgstr "JSON-Path-Item-Methode .%s() kann nur auf eine Zeichenkette oder einen numerischen Wert angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:1579
+#: utils/adt/jsonpath_exec.c:1651
 #, c-format
 msgid "left operand of jsonpath operator %s is not a single numeric value"
 msgstr "linker Operand des JSON-Path-Operators %s ist kein einzelner numerischer Wert"
 
-#: utils/adt/jsonpath_exec.c:1586
+#: utils/adt/jsonpath_exec.c:1658
 #, c-format
 msgid "right operand of jsonpath operator %s is not a single numeric value"
 msgstr "rechter Operand des JSON-Path-Operators %s ist kein einzelner numerischer Wert"
 
-#: utils/adt/jsonpath_exec.c:1654
+#: utils/adt/jsonpath_exec.c:1726
 #, c-format
 msgid "operand of unary jsonpath operator %s is not a numeric value"
 msgstr "Operand des unären JSON-Path-Operators %s ist kein numerischer Wert"
 
-#: utils/adt/jsonpath_exec.c:1752
+#: utils/adt/jsonpath_exec.c:1824
 #, c-format
 msgid "jsonpath item method .%s() can only be applied to a numeric value"
 msgstr "JSON-Path-Item-Methode .%s() kann nur auf einen numerischen Wert angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:1792
+#: utils/adt/jsonpath_exec.c:1864
 #, c-format
 msgid "jsonpath item method .%s() can only be applied to a string"
 msgstr "JSON-Path-Item-Methode .%s() kann nur auf eine Zeichenkette angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:1886
+#: utils/adt/jsonpath_exec.c:1958
 #, c-format
 msgid "datetime format is not recognized: \"%s\""
 msgstr "Datum-/Zeitformat nicht erkannt: »%s«"
 
-#: utils/adt/jsonpath_exec.c:1888
+#: utils/adt/jsonpath_exec.c:1960
 #, c-format
 msgid "Use a datetime template argument to specify the input data format."
 msgstr "Verwenden Sie das Template-Argument für .datetime(), um das Eingabeformat anzugeben."
 
-#: utils/adt/jsonpath_exec.c:1956
+#: utils/adt/jsonpath_exec.c:2028
 #, c-format
 msgid "jsonpath item method .%s() can only be applied to an object"
 msgstr "JSON-Path-Item-Methode .%s() kann nur auf ein Objekt angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:2138
+#: utils/adt/jsonpath_exec.c:2195
 #, c-format
 msgid "could not find jsonpath variable \"%s\""
 msgstr "konnte JSON-Path-Variable »%s« nicht finden"
 
-#: utils/adt/jsonpath_exec.c:2402
+#: utils/adt/jsonpath_exec.c:2216
+#, c-format
+msgid "\"vars\" argument is not an object"
+msgstr "Argument »vars« ist kein Objekt"
+
+#: utils/adt/jsonpath_exec.c:2217
+#, c-format
+msgid "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object."
+msgstr "JSON-Path-Parameter sollten als Schüssel-Wert-Paare im »vars«-Objekt kodiert werden."
+
+#: utils/adt/jsonpath_exec.c:2495
 #, c-format
 msgid "jsonpath array subscript is not a single numeric value"
 msgstr "JSON-Path-Arrayindex ist kein einzelner numerischer Wert"
 
-#: utils/adt/jsonpath_exec.c:2414
+#: utils/adt/jsonpath_exec.c:2507
 #, c-format
 msgid "jsonpath array subscript is out of integer range"
 msgstr "JSON-Path-Arrayindex außerhalb des gültigen Bereichs für ganze Zahlen"
 
-#: utils/adt/jsonpath_exec.c:2591
+#: utils/adt/jsonpath_exec.c:2691
 #, c-format
 msgid "cannot convert value from %s to %s without time zone usage"
 msgstr "Wert kann nicht von %s nach %s konvertiert werden ohne Verwendung von Zeitzonen"
 
-#: utils/adt/jsonpath_exec.c:2593
+#: utils/adt/jsonpath_exec.c:2693
 #, c-format
 msgid "Use *_tz() function for time zone support."
 msgstr "Verwenden Sie die *_tz()-Funktion für Zeitzonenunterstützung."
 
+#: utils/adt/jsonpath_exec.c:2974
+#, c-format
+msgid "JSON path expression in JSON_QUERY should return singleton item without wrapper"
+msgstr ""
+
+#: utils/adt/jsonpath_exec.c:2976
+#, c-format
+msgid "use WITH WRAPPER clause to wrap SQL/JSON item sequence into array"
+msgstr ""
+
+#: utils/adt/jsonpath_exec.c:3024 utils/adt/jsonpath_exec.c:3044
+#, c-format
+msgid "JSON path expression in JSON_VALUE should return singleton scalar item"
+msgstr ""
+
+#: utils/adt/jsonpath_exec.c:3137
+#, c-format
+msgid "only bool, numeric, and text types could be casted to supported jsonpath types."
+msgstr ""
+
 #: utils/adt/levenshtein.c:133
 #, c-format
 msgid "levenshtein argument exceeds maximum length of %d characters"
@@ -23860,7 +24957,7 @@ msgstr "Levenshtein-Argument überschreitet die maximale Länge von %d Zeichen"
 msgid "nondeterministic collations are not supported for LIKE"
 msgstr "nichtdeterministische Sortierfolgen werden von LIKE nicht unterstützt"
 
-#: utils/adt/like.c:193 utils/adt/like_support.c:1002
+#: utils/adt/like.c:189 utils/adt/like_support.c:1023
 #, c-format
 msgid "could not determine which collation to use for ILIKE"
 msgstr "konnte die für ILIKE zu verwendende Sortierfolge nicht bestimmen"
@@ -23875,27 +24972,27 @@ msgstr "nichtdeterministische Sortierfolgen werden von ILIKE nicht unterstützt"
 msgid "LIKE pattern must not end with escape character"
 msgstr "LIKE-Muster darf nicht mit Escape-Zeichen enden"
 
-#: utils/adt/like_match.c:293 utils/adt/regexp.c:700
+#: utils/adt/like_match.c:293 utils/adt/regexp.c:786
 #, c-format
 msgid "invalid escape string"
 msgstr "ungültige ESCAPE-Zeichenkette"
 
-#: utils/adt/like_match.c:294 utils/adt/regexp.c:701
+#: utils/adt/like_match.c:294 utils/adt/regexp.c:787
 #, c-format
 msgid "Escape string must be empty or one character."
 msgstr "ESCAPE-Zeichenkette muss null oder ein Zeichen lang sein."
 
-#: utils/adt/like_support.c:987
+#: utils/adt/like_support.c:1013
 #, c-format
 msgid "case insensitive matching not supported on type bytea"
 msgstr "Mustersuche ohne Rücksicht auf Groß-/Kleinschreibung wird für Typ bytea nicht unterstützt"
 
-#: utils/adt/like_support.c:1089
+#: utils/adt/like_support.c:1114
 #, c-format
 msgid "regular-expression matching not supported on type bytea"
 msgstr "Mustersuche mit regulären Ausdrücken wird für Typ bytea nicht unterstützt"
 
-#: utils/adt/mac.c:102
+#: utils/adt/mac.c:101
 #, c-format
 msgid "invalid octet value in \"macaddr\" value: \"%s\""
 msgstr "ungültiger Oktettwert in »macaddr«-Wert: »%s«"
@@ -23910,391 +25007,325 @@ msgstr "macaddr8-Daten außerhalb des gültigen Bereichs für Umwandlung in maca
 msgid "Only addresses that have FF and FE as values in the 4th and 5th bytes from the left, for example xx:xx:xx:ff:fe:xx:xx:xx, are eligible to be converted from macaddr8 to macaddr."
 msgstr "Nur Adressen, die FF und FE als Werte im 4. und 5. Byte von links haben, zum Beispiel xx:xx:xx:ff:fe:xx:xx:xx, kommen für eine Umwandlung von macaddr8 nach macaddr in Frage."
 
-#: utils/adt/mcxtfuncs.c:204
-#, fuzzy, c-format
-#| msgid "must be superuser to alter a type"
-msgid "must be a superuser to log memory contexts"
-msgstr "nur Superuser können Typen ändern"
+#: utils/adt/mcxtfuncs.c:182
+#, c-format
+msgid "PID %d is not a PostgreSQL server process"
+msgstr "PID %d ist kein PostgreSQL-Serverprozess"
 
-#: utils/adt/misc.c:243
+#: utils/adt/misc.c:216
 #, c-format
 msgid "global tablespace never has databases"
 msgstr "globaler Tablespace hat niemals Datenbanken"
 
-#: utils/adt/misc.c:265
+#: utils/adt/misc.c:238
 #, c-format
 msgid "%u is not a tablespace OID"
 msgstr "%u ist keine Tablespace-OID"
 
-#: utils/adt/misc.c:455
+#: utils/adt/misc.c:457
 msgid "unreserved"
 msgstr "unreserviert"
 
-#: utils/adt/misc.c:459
+#: utils/adt/misc.c:461
 msgid "unreserved (cannot be function or type name)"
 msgstr "unreserviert (kann nicht Funktions- oder Typname sein)"
 
-#: utils/adt/misc.c:463
+#: utils/adt/misc.c:465
 msgid "reserved (can be function or type name)"
 msgstr "reserviert (kann Funktions- oder Typname sein)"
 
-#: utils/adt/misc.c:467
+#: utils/adt/misc.c:469
 msgid "reserved"
 msgstr "reserviert"
 
-#: utils/adt/misc.c:478
+#: utils/adt/misc.c:480
 msgid "can be bare label"
-msgstr ""
+msgstr "kann alleinstehendes Label sein"
 
-#: utils/adt/misc.c:483
+#: utils/adt/misc.c:485
 msgid "requires AS"
-msgstr ""
+msgstr "benötigt AS"
 
-#: utils/adt/misc.c:730 utils/adt/misc.c:744 utils/adt/misc.c:783
-#: utils/adt/misc.c:789 utils/adt/misc.c:795 utils/adt/misc.c:818
+#: utils/adt/misc.c:732 utils/adt/misc.c:746 utils/adt/misc.c:785
+#: utils/adt/misc.c:791 utils/adt/misc.c:797 utils/adt/misc.c:820
 #, c-format
 msgid "string is not a valid identifier: \"%s\""
 msgstr "Zeichenkette ist kein gültiger Bezeichner: »%s«"
 
-#: utils/adt/misc.c:732
+#: utils/adt/misc.c:734
 #, c-format
 msgid "String has unclosed double quotes."
 msgstr "Zeichenkette hat nicht geschlossene doppelte Anführungszeichen."
 
-#: utils/adt/misc.c:746
+#: utils/adt/misc.c:748
 #, c-format
 msgid "Quoted identifier must not be empty."
 msgstr "Bezeichner in Anführungszeichen darf nicht leer sein."
 
-#: utils/adt/misc.c:785
+#: utils/adt/misc.c:787
 #, c-format
 msgid "No valid identifier before \".\"."
 msgstr "Kein gültiger Bezeichner vor ».«."
 
-#: utils/adt/misc.c:791
+#: utils/adt/misc.c:793
 #, c-format
 msgid "No valid identifier after \".\"."
 msgstr "Kein gültiger Bezeichner nach ».«."
 
-#: utils/adt/misc.c:849
+#: utils/adt/misc.c:853
 #, c-format
 msgid "log format \"%s\" is not supported"
 msgstr "Logformat »%s« wird nicht unterstützt"
 
-#: utils/adt/misc.c:850
+#: utils/adt/misc.c:854
 #, c-format
-msgid "The supported log formats are \"stderr\" and \"csvlog\"."
-msgstr "Die unterstützten Logformate sind »stderr« und »csvlog«."
+msgid "The supported log formats are \"stderr\", \"csvlog\", and \"jsonlog\"."
+msgstr "Die unterstützten Logformate sind »stderr«, »csvlog« und »jsonlog«."
 
-#: utils/adt/multirangetypes.c:147 utils/adt/multirangetypes.c:160
-#: utils/adt/multirangetypes.c:189 utils/adt/multirangetypes.c:259
-#: utils/adt/multirangetypes.c:283
-#, fuzzy, c-format
-#| msgid "malformed range literal: \"%s\""
+#: utils/adt/multirangetypes.c:149 utils/adt/multirangetypes.c:162
+#: utils/adt/multirangetypes.c:191 utils/adt/multirangetypes.c:261
+#: utils/adt/multirangetypes.c:285
+#, c-format
 msgid "malformed multirange literal: \"%s\""
-msgstr "fehlerhafte Bereichskonstante: »%s«"
+msgstr "fehlerhafte Multirange-Konstante: »%s«"
 
-#: utils/adt/multirangetypes.c:149
-#, fuzzy, c-format
-#| msgid "Missing left parenthesis."
+#: utils/adt/multirangetypes.c:151
+#, c-format
 msgid "Missing left brace."
-msgstr "Linke Klammer fehlt."
+msgstr "Linke geschweifte Klammer fehlt."
 
-#: utils/adt/multirangetypes.c:191
-#, fuzzy, c-format
-#| msgid "unexpected array start"
+#: utils/adt/multirangetypes.c:193
+#, c-format
 msgid "Expected range start."
-msgstr "unerwarteter Array-Start"
+msgstr "Start einer Range erwartet."
 
-#: utils/adt/multirangetypes.c:261
-#, fuzzy, c-format
-#| msgid "unexpected end of line"
+#: utils/adt/multirangetypes.c:263
+#, c-format
 msgid "Expected comma or end of multirange."
-msgstr "unerwartetes Ende der Zeile"
-
-#: utils/adt/multirangetypes.c:285
-#, fuzzy, c-format
-#| msgid "Junk after closing right brace."
-msgid "Junk after right brace."
-msgstr "Müll nach schließender rechter geschweifter Klammer."
-
-#: utils/adt/multirangetypes.c:971
-#, fuzzy, c-format
-#| msgid "thresholds must be one-dimensional array"
-msgid "multiranges cannot be constructed from multi-dimensional arrays"
-msgstr "Parameter »thresholds« muss ein eindimensionales Array sein"
+msgstr "Komma oder Ende der Multirange erwartet."
 
-#: utils/adt/multirangetypes.c:977 utils/adt/multirangetypes.c:1042
-#, fuzzy, c-format
-#| msgid "type %s is not a composite type"
-msgid "type %u does not match constructor type"
-msgstr "Typ %s ist kein zusammengesetzter Typ"
-
-#: utils/adt/multirangetypes.c:999
+#: utils/adt/multirangetypes.c:976
 #, c-format
-msgid "multirange values cannot contain NULL members"
-msgstr ""
+msgid "multiranges cannot be constructed from multidimensional arrays"
+msgstr "Multiranges können nicht aus mehrdimensionalen Arrays konstruiert werden"
 
-#: utils/adt/multirangetypes.c:1349
-#, fuzzy, c-format
-#| msgid "%s must be called inside a transaction"
-msgid "range_agg must be called with a range"
-msgstr "%s muss in einer Transaktion aufgerufen werden"
-
-#: utils/adt/multirangetypes.c:1420
+#: utils/adt/multirangetypes.c:1002
 #, c-format
-msgid "range_intersect_agg must be called with a multirange"
-msgstr ""
+msgid "multirange values cannot contain null members"
+msgstr "Multirange-Werte können keine Mitglieder, die NULL sind, haben"
 
-#: utils/adt/network.c:111
+#: utils/adt/network.c:110
 #, c-format
 msgid "invalid cidr value: \"%s\""
 msgstr "ungültiger cidr-Wert: »%s«"
 
-#: utils/adt/network.c:112 utils/adt/network.c:242
+#: utils/adt/network.c:111 utils/adt/network.c:241
 #, c-format
 msgid "Value has bits set to right of mask."
 msgstr "Wert hat gesetzte Bits rechts von der Maske."
 
-#: utils/adt/network.c:153 utils/adt/network.c:1199 utils/adt/network.c:1224
-#: utils/adt/network.c:1249
+#: utils/adt/network.c:152 utils/adt/network.c:1184 utils/adt/network.c:1209
+#: utils/adt/network.c:1234
 #, c-format
 msgid "could not format inet value: %m"
 msgstr "konnte inet-Wert nicht formatieren: %m"
 
 #. translator: %s is inet or cidr
-#: utils/adt/network.c:210
+#: utils/adt/network.c:209
 #, c-format
 msgid "invalid address family in external \"%s\" value"
 msgstr "ungültige Adressfamilie in externem »%s«-Wert"
 
 #. translator: %s is inet or cidr
-#: utils/adt/network.c:217
+#: utils/adt/network.c:216
 #, c-format
 msgid "invalid bits in external \"%s\" value"
 msgstr "ungültige Bits in externem »%s«-Wert"
 
 #. translator: %s is inet or cidr
-#: utils/adt/network.c:226
+#: utils/adt/network.c:225
 #, c-format
 msgid "invalid length in external \"%s\" value"
 msgstr "ungültige Länge in externem »%s«-Wert"
 
-#: utils/adt/network.c:241
+#: utils/adt/network.c:240
 #, c-format
 msgid "invalid external \"cidr\" value"
 msgstr "ungültiger externer »cidr«-Wert"
 
-#: utils/adt/network.c:337 utils/adt/network.c:360
+#: utils/adt/network.c:336 utils/adt/network.c:359
 #, c-format
 msgid "invalid mask length: %d"
 msgstr "ungültige Maskenlänge: %d"
 
-#: utils/adt/network.c:1267
+#: utils/adt/network.c:1252
 #, c-format
 msgid "could not format cidr value: %m"
 msgstr "konnte cidr-Wert nicht formatieren: %m"
 
-#: utils/adt/network.c:1500
+#: utils/adt/network.c:1485
 #, c-format
 msgid "cannot merge addresses from different families"
 msgstr "Adressen verschiedener Familien können nicht zusammengeführt werden"
 
-#: utils/adt/network.c:1916
+#: utils/adt/network.c:1901
 #, c-format
 msgid "cannot AND inet values of different sizes"
 msgstr "binäres »Und« nicht mit »inet«-Werten unterschiedlicher Größe möglich"
 
-#: utils/adt/network.c:1948
+#: utils/adt/network.c:1933
 #, c-format
 msgid "cannot OR inet values of different sizes"
 msgstr "binäres »Oder« nicht mit »inet«-Werten unterschiedlicher Größe möglich"
 
-#: utils/adt/network.c:2009 utils/adt/network.c:2085
+#: utils/adt/network.c:1994 utils/adt/network.c:2070
 #, c-format
 msgid "result is out of range"
 msgstr "Ergebnis ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/network.c:2050
+#: utils/adt/network.c:2035
 #, c-format
 msgid "cannot subtract inet values of different sizes"
 msgstr "Subtraktion von »inet«-Werten unterschiedlicher Größe nicht möglich"
 
-#: utils/adt/numeric.c:975
+#: utils/adt/numeric.c:1027
 #, c-format
 msgid "invalid sign in external \"numeric\" value"
 msgstr "ungültiges Vorzeichen in externem »numeric«-Wert"
 
-#: utils/adt/numeric.c:981
+#: utils/adt/numeric.c:1033
 #, c-format
 msgid "invalid scale in external \"numeric\" value"
 msgstr "ungültige Skala in externem »numeric«-Wert"
 
-#: utils/adt/numeric.c:990
+#: utils/adt/numeric.c:1042
 #, c-format
 msgid "invalid digit in external \"numeric\" value"
 msgstr "ungültige Ziffer in externem »numeric«-Wert"
 
-#: utils/adt/numeric.c:1203 utils/adt/numeric.c:1217
+#: utils/adt/numeric.c:1257 utils/adt/numeric.c:1271
 #, c-format
 msgid "NUMERIC precision %d must be between 1 and %d"
 msgstr "Präzision von NUMERIC (%d) muss zwischen 1 und %d liegen"
 
-#: utils/adt/numeric.c:1208
-#, c-format
-msgid "NUMERIC scale %d must be between 0 and precision %d"
+#: utils/adt/numeric.c:1262
+#, fuzzy, c-format
+#| msgid "NUMERIC scale %d must be between 0 and precision %d"
+msgid "NUMERIC scale %d must be between %d and %d"
 msgstr "Skala von NUMERIC (%d) muss zwischen 0 und %d liegen"
 
-#: utils/adt/numeric.c:1226
+#: utils/adt/numeric.c:1280
 #, c-format
 msgid "invalid NUMERIC type modifier"
 msgstr "ungültiker Modifikator für Typ NUMERIC"
 
-#: utils/adt/numeric.c:1584
+#: utils/adt/numeric.c:1638
 #, c-format
 msgid "start value cannot be NaN"
 msgstr "Startwert kann nicht NaN sein"
 
-#: utils/adt/numeric.c:1588
-#, fuzzy, c-format
-#| msgid "start value cannot be NaN"
+#: utils/adt/numeric.c:1642
+#, c-format
 msgid "start value cannot be infinity"
-msgstr "Startwert kann nicht NaN sein"
+msgstr "Startwert kann nicht unendlich sein"
 
-#: utils/adt/numeric.c:1595
+#: utils/adt/numeric.c:1649
 #, c-format
 msgid "stop value cannot be NaN"
 msgstr "Stoppwert kann nicht NaN sein"
 
-#: utils/adt/numeric.c:1599
-#, fuzzy, c-format
-#| msgid "stop value cannot be NaN"
+#: utils/adt/numeric.c:1653
+#, c-format
 msgid "stop value cannot be infinity"
-msgstr "Stoppwert kann nicht NaN sein"
+msgstr "Stoppwert kann nicht unendlich sein"
 
-#: utils/adt/numeric.c:1612
+#: utils/adt/numeric.c:1666
 #, c-format
 msgid "step size cannot be NaN"
 msgstr "Schrittgröße kann nicht NaN sein"
 
-#: utils/adt/numeric.c:1616
-#, fuzzy, c-format
-#| msgid "step size cannot be NaN"
+#: utils/adt/numeric.c:1670
+#, c-format
 msgid "step size cannot be infinity"
-msgstr "Schrittgröße kann nicht NaN sein"
+msgstr "Schrittgröße kann nicht unendlich sein"
 
-#: utils/adt/numeric.c:3490
-#, fuzzy, c-format
-#| msgid "zero raised to a negative power is undefined"
+#: utils/adt/numeric.c:3551
+#, c-format
 msgid "factorial of a negative number is undefined"
-msgstr "null hoch eine negative Zahl ist undefiniert"
+msgstr "Fakultät einer negativen Zahl ist undefiniert"
 
-#: utils/adt/numeric.c:3500 utils/adt/numeric.c:6924 utils/adt/numeric.c:7408
-#: utils/adt/numeric.c:9783 utils/adt/numeric.c:10221 utils/adt/numeric.c:10335
-#: utils/adt/numeric.c:10408
+#: utils/adt/numeric.c:3561 utils/adt/numeric.c:6917 utils/adt/numeric.c:7432
+#: utils/adt/numeric.c:9956 utils/adt/numeric.c:10435 utils/adt/numeric.c:10561
+#: utils/adt/numeric.c:10634
 #, c-format
 msgid "value overflows numeric format"
 msgstr "Wert verursacht Überlauf im »numeric«-Format"
 
-#: utils/adt/numeric.c:4185
+#: utils/adt/numeric.c:4243 utils/adt/numeric.c:4323 utils/adt/numeric.c:4364
+#: utils/adt/numeric.c:4558
 #, c-format
-msgid "cannot convert NaN to integer"
-msgstr "kann NaN nicht in integer umwandeln"
-
-#: utils/adt/numeric.c:4189
-#, fuzzy, c-format
-#| msgid "cannot convert infinity to numeric"
-msgid "cannot convert infinity to integer"
-msgstr "kann Unendlich nicht in numeric umwandeln"
+msgid "cannot convert NaN to %s"
+msgstr "kann NaN nicht in %s umwandeln"
 
-#: utils/adt/numeric.c:4263
+#: utils/adt/numeric.c:4247 utils/adt/numeric.c:4327 utils/adt/numeric.c:4368
+#: utils/adt/numeric.c:4562
 #, c-format
-msgid "cannot convert NaN to bigint"
-msgstr "kann NaN nicht in bigint umwandeln"
+msgid "cannot convert infinity to %s"
+msgstr "kann Unendlich nicht in %s umwandeln"
 
-#: utils/adt/numeric.c:4267
-#, fuzzy, c-format
-#| msgid "cannot convert infinity to numeric"
-msgid "cannot convert infinity to bigint"
-msgstr "kann Unendlich nicht in numeric umwandeln"
-
-#: utils/adt/numeric.c:4304
+#: utils/adt/numeric.c:4571
 #, c-format
-msgid "cannot convert NaN to smallint"
-msgstr "kann NaN nicht in smallint umwandeln"
-
-#: utils/adt/numeric.c:4308
-#, fuzzy, c-format
-#| msgid "cannot convert infinity to numeric"
-msgid "cannot convert infinity to smallint"
-msgstr "kann Unendlich nicht in numeric umwandeln"
-
-#: utils/adt/numeric.c:4499
-#, fuzzy, c-format
-#| msgid "cannot convert NaN to bigint"
-msgid "cannot convert NaN to pg_lsn"
-msgstr "kann NaN nicht in bigint umwandeln"
-
-#: utils/adt/numeric.c:4503
-#, fuzzy, c-format
-#| msgid "cannot convert infinity to numeric"
-msgid "cannot convert infinity to pg_lsn"
-msgstr "kann Unendlich nicht in numeric umwandeln"
-
-#: utils/adt/numeric.c:4512
-#, fuzzy, c-format
-#| msgid "bigint out of range"
 msgid "pg_lsn out of range"
-msgstr "bigint ist außerhalb des gültigen Bereichs"
+msgstr "pg_lsn ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/numeric.c:7492 utils/adt/numeric.c:7539
+#: utils/adt/numeric.c:7519 utils/adt/numeric.c:7565
 #, c-format
 msgid "numeric field overflow"
 msgstr "Feldüberlauf bei Typ »numeric«"
 
-#: utils/adt/numeric.c:7493
+#: utils/adt/numeric.c:7520
 #, c-format
 msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d."
 msgstr "Ein Feld mit Präzision %d, Skala %d muss beim Runden einen Betrag von weniger als %s%d ergeben."
 
-#: utils/adt/numeric.c:7540
-#, fuzzy, c-format
-#| msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d."
-msgid "A field with precision %d, scale %d cannot hold an infinite value."
-msgstr "Ein Feld mit Präzision %d, Skala %d muss beim Runden einen Betrag von weniger als %s%d ergeben."
-
-#: utils/adt/numutils.c:154
+#: utils/adt/numeric.c:7566
 #, c-format
-msgid "value \"%s\" is out of range for 8-bit integer"
-msgstr "Wert »%s« ist außerhalb des gültigen Bereichs für 8-Bit-Ganzzahl"
+msgid "A field with precision %d, scale %d cannot hold an infinite value."
+msgstr "Ein Feld mit Präzision %d, Skala %d kann keinen unendlichen Wert enthalten."
 
 #: utils/adt/oid.c:290
 #, c-format
 msgid "invalid oidvector data"
 msgstr "ungültige oidvector-Daten"
 
-#: utils/adt/oracle_compat.c:970
+#: utils/adt/oracle_compat.c:969
 #, c-format
 msgid "requested character too large"
 msgstr "verlangtes Zeichen zu groß"
 
-#: utils/adt/oracle_compat.c:1020 utils/adt/oracle_compat.c:1082
+#: utils/adt/oracle_compat.c:1013
+#, fuzzy, c-format
+#| msgid "COST must be positive"
+msgid "character number must be positive"
+msgstr "COST muss positiv sein"
+
+#: utils/adt/oracle_compat.c:1017
 #, c-format
-msgid "requested character too large for encoding: %d"
-msgstr "gewünschtes Zeichen ist zu groß für die Kodierung: %d"
+msgid "null character not permitted"
+msgstr "Null-Zeichen ist nicht erlaubt"
 
-#: utils/adt/oracle_compat.c:1061
+#: utils/adt/oracle_compat.c:1035 utils/adt/oracle_compat.c:1088
 #, c-format
-msgid "requested character not valid for encoding: %d"
-msgstr "gewünschtes Zeichen ist nicht gültig für die Kodierung: %d"
+msgid "requested character too large for encoding: %u"
+msgstr "gewünschtes Zeichen ist zu groß für die Kodierung: %u"
 
-#: utils/adt/oracle_compat.c:1075
+#: utils/adt/oracle_compat.c:1076
 #, c-format
-msgid "null character not permitted"
-msgstr "Null-Zeichen ist nicht erlaubt"
+msgid "requested character not valid for encoding: %u"
+msgstr "gewünschtes Zeichen ist nicht gültig für die Kodierung: %u"
 
-#: utils/adt/orderedsetaggs.c:442 utils/adt/orderedsetaggs.c:546
-#: utils/adt/orderedsetaggs.c:684
+#: utils/adt/orderedsetaggs.c:448 utils/adt/orderedsetaggs.c:552
+#: utils/adt/orderedsetaggs.c:690
 #, c-format
 msgid "percentile value %g is not between 0 and 1"
 msgstr "Perzentilwert %g ist nicht zwischen 0 und 1"
@@ -24304,121 +25335,130 @@ msgstr "Perzentilwert %g ist nicht zwischen 0 und 1"
 msgid "Apply system library package updates."
 msgstr "Aktualisieren Sie die Systembibliotheken."
 
-#: utils/adt/pg_locale.c:1442
+#: utils/adt/pg_locale.c:1452 utils/adt/pg_locale.c:1700
+#: utils/adt/pg_locale.c:1979 utils/adt/pg_locale.c:2001
+#, c-format
+msgid "could not open collator for locale \"%s\": %s"
+msgstr "konnte Collator für Locale »%s« nicht öffnen: %s"
+
+#: utils/adt/pg_locale.c:1465 utils/adt/pg_locale.c:2010
+#, c-format
+msgid "ICU is not supported in this build"
+msgstr "ICU wird in dieser Installation nicht unterstützt"
+
+#: utils/adt/pg_locale.c:1494
 #, c-format
 msgid "could not create locale \"%s\": %m"
 msgstr "konnte Locale »%s« nicht erzeugen: %m"
 
-#: utils/adt/pg_locale.c:1445
+#: utils/adt/pg_locale.c:1497
 #, c-format
 msgid "The operating system could not find any locale data for the locale name \"%s\"."
 msgstr "Das Betriebssystem konnte keine Locale-Daten für den Locale-Namen »%s« finden."
 
-#: utils/adt/pg_locale.c:1547
+#: utils/adt/pg_locale.c:1605
 #, c-format
 msgid "collations with different collate and ctype values are not supported on this platform"
 msgstr "Sortierfolgen mit unterschiedlichen »collate«- und »ctype«-Werten werden auf dieser Plattform nicht unterstützt"
 
-#: utils/adt/pg_locale.c:1556
+#: utils/adt/pg_locale.c:1614
 #, c-format
 msgid "collation provider LIBC is not supported on this platform"
 msgstr "Sortierfolgen-Provider LIBC wird auf dieser Plattform nicht unterstützt"
 
-#: utils/adt/pg_locale.c:1568
-#, c-format
-msgid "collations with different collate and ctype values are not supported by ICU"
-msgstr "Sortierfolgen mit unterschiedlichen »collate«- und »ctype«-Werten werden von ICU nicht unterstützt"
-
-#: utils/adt/pg_locale.c:1574 utils/adt/pg_locale.c:1661
-#: utils/adt/pg_locale.c:1940
-#, c-format
-msgid "could not open collator for locale \"%s\": %s"
-msgstr "konnte Collator für Locale »%s« nicht öffnen: %s"
-
-#: utils/adt/pg_locale.c:1588
-#, c-format
-msgid "ICU is not supported in this build"
-msgstr "ICU wird in dieser Installation nicht unterstützt"
-
-#: utils/adt/pg_locale.c:1609
+#: utils/adt/pg_locale.c:1649
 #, c-format
-msgid "collation \"%s\" has no actual version, but a version was specified"
-msgstr "Sortierfolge »%s« hat keine tatsächliche Version, aber eine Version wurde angegeben"
+msgid "collation \"%s\" has no actual version, but a version was recorded"
+msgstr "Sortierfolge »%s« hat keine tatsächliche Version, aber eine Version wurde aufgezeichnet"
 
-#: utils/adt/pg_locale.c:1616
+#: utils/adt/pg_locale.c:1655
 #, c-format
 msgid "collation \"%s\" has version mismatch"
 msgstr "Version von Sortierfolge »%s« stimmt nicht überein"
 
-#: utils/adt/pg_locale.c:1618
+#: utils/adt/pg_locale.c:1657
 #, c-format
 msgid "The collation in the database was created using version %s, but the operating system provides version %s."
 msgstr "Die Sortierfolge in der Datenbank wurde mit Version %s erzeugt, aber das Betriebssystem hat Version %s."
 
-#: utils/adt/pg_locale.c:1621
+#: utils/adt/pg_locale.c:1660
 #, 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."
 msgstr "Bauen Sie alle von dieser Sortierfolge beinflussten Objekte neu und führen Sie ALTER COLLATION %s REFRESH VERSION aus, oder bauen Sie PostgreSQL mit der richtigen Bibliotheksversion."
 
-#: utils/adt/pg_locale.c:1692
-#, fuzzy, c-format
-#| msgid "could not create locale \"%s\": %m"
+#: utils/adt/pg_locale.c:1731
+#, c-format
 msgid "could not load locale \"%s\""
-msgstr "konnte Locale »%s« nicht erzeugen: %m"
+msgstr "konnte Locale »%s« nicht laden"
 
-#: utils/adt/pg_locale.c:1717
+#: utils/adt/pg_locale.c:1756
 #, c-format
 msgid "could not get collation version for locale \"%s\": error code %lu"
 msgstr "konnte Sortierfolgenversion für Locale »%s« nicht ermitteln: Fehlercode %lu"
 
-#: utils/adt/pg_locale.c:1755
+#: utils/adt/pg_locale.c:1794
 #, c-format
 msgid "encoding \"%s\" not supported by ICU"
 msgstr "Kodierung »%s« wird von ICU nicht unterstützt"
 
-#: utils/adt/pg_locale.c:1762
+#: utils/adt/pg_locale.c:1801
 #, c-format
 msgid "could not open ICU converter for encoding \"%s\": %s"
 msgstr "konnte ICU-Konverter für Kodierung »%s« nicht öffnen: %s"
 
-#: utils/adt/pg_locale.c:1793 utils/adt/pg_locale.c:1802
-#: utils/adt/pg_locale.c:1831 utils/adt/pg_locale.c:1841
+#: utils/adt/pg_locale.c:1832 utils/adt/pg_locale.c:1841
+#: utils/adt/pg_locale.c:1870 utils/adt/pg_locale.c:1880
 #, c-format
 msgid "%s failed: %s"
 msgstr "%s fehlgeschlagen: %s"
 
-#: utils/adt/pg_locale.c:2113
+#: utils/adt/pg_locale.c:2179
 #, c-format
 msgid "invalid multibyte character for locale"
 msgstr "ungültiges Mehrbytezeichen für Locale"
 
-#: utils/adt/pg_locale.c:2114
+#: utils/adt/pg_locale.c:2180
 #, c-format
 msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding."
 msgstr "Die LC_CTYPE-Locale des Servers ist wahrscheinlich mit der Kodierung der Datenbank inkompatibel."
 
 #: utils/adt/pg_lsn.c:263
-#, fuzzy, c-format
-#| msgid "cannot convert NaN to bigint"
+#, c-format
 msgid "cannot add NaN to pg_lsn"
-msgstr "kann NaN nicht in bigint umwandeln"
+msgstr "NaN kann nicht zu pg_lsn addiert werden"
 
 #: utils/adt/pg_lsn.c:297
-#, fuzzy, c-format
-#| msgid "cannot subtract infinite dates"
+#, c-format
 msgid "cannot subtract NaN from pg_lsn"
-msgstr "kann unendliche date-Werte nicht subtrahieren"
+msgstr "NaN kann nicht von pg_lsn subtrahiert werden"
 
 #: utils/adt/pg_upgrade_support.c:29
 #, c-format
 msgid "function can only be called when server is in binary upgrade mode"
 msgstr "Funktion kann nur aufgerufen werden, wenn der Server im Binary-Upgrade-Modus ist"
 
-#: utils/adt/pgstatfuncs.c:503
+#: utils/adt/pgstatfuncs.c:482
 #, c-format
 msgid "invalid command name: \"%s\""
 msgstr "ungültiger Befehlsname: »%s«"
 
+#: utils/adt/pgstatfuncs.c:2114
+#, c-format
+msgid "unrecognized reset target: \"%s\""
+msgstr "unbekanntes Reset-Ziel: »%s«"
+
+#: utils/adt/pgstatfuncs.c:2115
+#, fuzzy, c-format
+#| msgid "Target must be \"archiver\", \"bgwriter\", or \"wal\"."
+msgid "Target must be \"archiver\", \"bgwriter\", \"recovery_prefetch\", or \"wal\"."
+msgstr "Das Reset-Ziel muss »archiver«, »bgwriter« oder »wal« sein."
+
+#: utils/adt/pgstatfuncs.c:2193
+#, fuzzy, c-format
+#| msgid "invalid role OID: %u"
+msgid "invalid subscription OID %u"
+msgstr "ungültige Rollen-OID: %u"
+
 #: utils/adt/pseudotypes.c:58 utils/adt/pseudotypes.c:92
 #, c-format
 msgid "cannot display a value of type %s"
@@ -24449,11 +25489,6 @@ msgstr "Ergebnis von Bereichsdifferenz würde nicht zusammenhängend sein"
 msgid "result of range union would not be contiguous"
 msgstr "Ergebnis von Bereichsvereinigung würde nicht zusammenhängend sein"
 
-#: utils/adt/rangetypes.c:1214
-#, c-format
-msgid "range_intersect_agg must be called with a range"
-msgstr ""
-
 #: utils/adt/rangetypes.c:1689
 #, c-format
 msgid "range lower bound must be less than or equal to range upper bound"
@@ -24504,33 +25539,48 @@ msgstr "Zu viele Kommas."
 msgid "Junk after right parenthesis or bracket."
 msgstr "Müll nach rechter runder oder eckiger Klammer."
 
-#: utils/adt/regexp.c:289 utils/adt/regexp.c:1543 utils/adt/varlena.c:4560
+#: utils/adt/regexp.c:290 utils/adt/regexp.c:1983 utils/adt/varlena.c:4532
 #, c-format
 msgid "regular expression failed: %s"
 msgstr "regulärer Ausdruck fehlgeschlagen: %s"
 
-#: utils/adt/regexp.c:426
+#: utils/adt/regexp.c:431 utils/adt/regexp.c:666
+#, c-format
+msgid "invalid regular expression option: \"%.*s\""
+msgstr "ungültige Option für regulären Ausdruck: »%.*s«"
+
+#: utils/adt/regexp.c:668
+#, c-format
+msgid "If you meant to use regexp_replace() with a start parameter, cast the fourth argument to integer explicitly."
+msgstr ""
+
+#: utils/adt/regexp.c:702 utils/adt/regexp.c:711 utils/adt/regexp.c:1068
+#: utils/adt/regexp.c:1132 utils/adt/regexp.c:1141 utils/adt/regexp.c:1150
+#: utils/adt/regexp.c:1159 utils/adt/regexp.c:1839 utils/adt/regexp.c:1848
+#: utils/adt/regexp.c:1857 utils/misc/guc.c:11758 utils/misc/guc.c:11792
 #, c-format
-msgid "invalid regular expression option: \"%.*s\""
-msgstr "ungültige Option für regulären Ausdruck: »%.*s«"
+msgid "invalid value for parameter \"%s\": %d"
+msgstr "ungültiger Wert für Parameter »%s«: %d"
 
-#: utils/adt/regexp.c:836
+#: utils/adt/regexp.c:922
 #, c-format
 msgid "SQL regular expression may not contain more than two escape-double-quote separators"
 msgstr "SQL regulärer Ausdruck darf nicht mehr als zwei Escape-Double-Quote-Separatoren enthalten"
 
 #. translator: %s is a SQL function name
-#: utils/adt/regexp.c:981 utils/adt/regexp.c:1363 utils/adt/regexp.c:1418
+#: utils/adt/regexp.c:1079 utils/adt/regexp.c:1170 utils/adt/regexp.c:1257
+#: utils/adt/regexp.c:1296 utils/adt/regexp.c:1684 utils/adt/regexp.c:1739
+#: utils/adt/regexp.c:1868
 #, c-format
 msgid "%s does not support the \"global\" option"
 msgstr "%s unterstützt die »Global«-Option nicht"
 
-#: utils/adt/regexp.c:983
+#: utils/adt/regexp.c:1298
 #, c-format
 msgid "Use the regexp_matches function instead."
 msgstr "Verwenden Sie stattdessen die Funktion regexp_matches."
 
-#: utils/adt/regexp.c:1165
+#: utils/adt/regexp.c:1486
 #, c-format
 msgid "too many regular expression matches"
 msgstr "zu viele Treffer für regulären Ausdruck"
@@ -24540,121 +25590,121 @@ msgstr "zu viele Treffer für regulären Ausdruck"
 msgid "more than one function named \"%s\""
 msgstr "es gibt mehrere Funktionen namens »%s«"
 
-#: utils/adt/regproc.c:542
+#: utils/adt/regproc.c:543
 #, c-format
 msgid "more than one operator named %s"
 msgstr "es gibt mehrere Operatoren namens %s"
 
-#: utils/adt/regproc.c:714 utils/adt/regproc.c:755 utils/adt/regproc.c:2054
-#: utils/adt/ruleutils.c:9642 utils/adt/ruleutils.c:9811
+#: utils/adt/regproc.c:715 utils/adt/regproc.c:756 utils/adt/regproc.c:2055
+#: utils/adt/ruleutils.c:10056 utils/adt/ruleutils.c:10338
 #, c-format
 msgid "too many arguments"
 msgstr "zu viele Argumente"
 
-#: utils/adt/regproc.c:715 utils/adt/regproc.c:756
+#: utils/adt/regproc.c:716 utils/adt/regproc.c:757
 #, c-format
 msgid "Provide two argument types for operator."
 msgstr "Geben Sie zwei Argumente für den Operator an."
 
-#: utils/adt/regproc.c:1638 utils/adt/regproc.c:1662 utils/adt/regproc.c:1763
-#: utils/adt/regproc.c:1787 utils/adt/regproc.c:1889 utils/adt/regproc.c:1894
-#: utils/adt/varlena.c:3709 utils/adt/varlena.c:3714
+#: utils/adt/regproc.c:1639 utils/adt/regproc.c:1663 utils/adt/regproc.c:1764
+#: utils/adt/regproc.c:1788 utils/adt/regproc.c:1890 utils/adt/regproc.c:1895
+#: utils/adt/varlena.c:3671 utils/adt/varlena.c:3676
 #, c-format
 msgid "invalid name syntax"
 msgstr "ungültige Namenssyntax"
 
-#: utils/adt/regproc.c:1952
+#: utils/adt/regproc.c:1953
 #, c-format
 msgid "expected a left parenthesis"
 msgstr "linke Klammer erwartet"
 
-#: utils/adt/regproc.c:1968
+#: utils/adt/regproc.c:1969
 #, c-format
 msgid "expected a right parenthesis"
 msgstr "rechte Klammer erwartet"
 
-#: utils/adt/regproc.c:1987
+#: utils/adt/regproc.c:1988
 #, c-format
 msgid "expected a type name"
 msgstr "Typname erwartet"
 
-#: utils/adt/regproc.c:2019
+#: utils/adt/regproc.c:2020
 #, c-format
 msgid "improper type name"
 msgstr "falscher Typname"
 
-#: utils/adt/ri_triggers.c:300 utils/adt/ri_triggers.c:1545
-#: utils/adt/ri_triggers.c:2530
+#: utils/adt/ri_triggers.c:307 utils/adt/ri_triggers.c:1611
+#: utils/adt/ri_triggers.c:2598
 #, c-format
 msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\""
 msgstr "Einfügen oder Aktualisieren in Tabelle »%s« verletzt Fremdschlüssel-Constraint »%s«"
 
-#: utils/adt/ri_triggers.c:303 utils/adt/ri_triggers.c:1548
+#: utils/adt/ri_triggers.c:310 utils/adt/ri_triggers.c:1614
 #, c-format
 msgid "MATCH FULL does not allow mixing of null and nonnull key values."
 msgstr "MATCH FULL erlaubt das Mischen von Schlüsseln, die NULL und nicht NULL sind, nicht."
 
-#: utils/adt/ri_triggers.c:1965
+#: utils/adt/ri_triggers.c:2031
 #, c-format
 msgid "function \"%s\" must be fired for INSERT"
 msgstr "Funktion »%s« muss von INSERT ausgelöst werden"
 
-#: utils/adt/ri_triggers.c:1971
+#: utils/adt/ri_triggers.c:2037
 #, c-format
 msgid "function \"%s\" must be fired for UPDATE"
 msgstr "Funktion »%s« muss von UPDATE ausgelöst werden"
 
-#: utils/adt/ri_triggers.c:1977
+#: utils/adt/ri_triggers.c:2043
 #, c-format
 msgid "function \"%s\" must be fired for DELETE"
 msgstr "Funktion »%s« muss von DELETE ausgelöst werden"
 
-#: utils/adt/ri_triggers.c:2000
+#: utils/adt/ri_triggers.c:2066
 #, c-format
 msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\""
 msgstr "kein »pg_constraint«-Eintrag für Trigger »%s« für Tabelle »%s«"
 
-#: utils/adt/ri_triggers.c:2002
+#: utils/adt/ri_triggers.c:2068
 #, c-format
 msgid "Remove this referential integrity trigger and its mates, then do ALTER TABLE ADD CONSTRAINT."
 msgstr "Entfernen Sie diesen Referentielle-Integritäts-Trigger und seine Partner und führen Sie dann ALTER TABLE ADD CONSTRAINT aus."
 
-#: utils/adt/ri_triggers.c:2355
+#: utils/adt/ri_triggers.c:2423
 #, c-format
 msgid "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave unexpected result"
 msgstr "RI-Anfrage in Tabelle »%s« für Constraint »%s« von Tabelle »%s« ergab unerwartetes Ergebnis"
 
-#: utils/adt/ri_triggers.c:2359
+#: utils/adt/ri_triggers.c:2427
 #, c-format
 msgid "This is most likely due to a rule having rewritten the query."
 msgstr "Das liegt höchstwahrscheinlich daran, dass eine Regel die Anfrage umgeschrieben hat."
 
-#: utils/adt/ri_triggers.c:2520
+#: utils/adt/ri_triggers.c:2588
 #, c-format
 msgid "removing partition \"%s\" violates foreign key constraint \"%s\""
 msgstr "Entfernen der Partition »%s« verletzt Fremdschlüssel-Constraint »%s«"
 
-#: utils/adt/ri_triggers.c:2523 utils/adt/ri_triggers.c:2548
+#: utils/adt/ri_triggers.c:2591 utils/adt/ri_triggers.c:2616
 #, c-format
 msgid "Key (%s)=(%s) is still referenced from table \"%s\"."
 msgstr "Auf Schlüssel (%s)=(%s) wird noch aus Tabelle »%s« verwiesen."
 
-#: utils/adt/ri_triggers.c:2534
+#: utils/adt/ri_triggers.c:2602
 #, c-format
 msgid "Key (%s)=(%s) is not present in table \"%s\"."
 msgstr "Schlüssel (%s)=(%s) ist nicht in Tabelle »%s« vorhanden."
 
-#: utils/adt/ri_triggers.c:2537
+#: utils/adt/ri_triggers.c:2605
 #, c-format
 msgid "Key is not present in table \"%s\"."
 msgstr "Der Schlüssel ist nicht in Tabelle »%s« vorhanden."
 
-#: utils/adt/ri_triggers.c:2543
+#: utils/adt/ri_triggers.c:2611
 #, c-format
 msgid "update or delete on table \"%s\" violates foreign key constraint \"%s\" on table \"%s\""
 msgstr "Aktualisieren oder Löschen in Tabelle »%s« verletzt Fremdschlüssel-Constraint »%s« von Tabelle »%s«"
 
-#: utils/adt/ri_triggers.c:2551
+#: utils/adt/ri_triggers.c:2619
 #, c-format
 msgid "Key is still referenced from table \"%s\"."
 msgstr "Auf den Schlüssel wird noch aus Tabelle »%s« verwiesen."
@@ -24717,132 +25767,121 @@ msgstr "kann unterschiedliche Spaltentyp %s und %s in Record-Spalte %d nicht ver
 msgid "cannot compare record types with different numbers of columns"
 msgstr "kann Record-Typen mit unterschiedlicher Anzahl Spalten nicht vergleichen"
 
-#: utils/adt/ruleutils.c:5069
+#: utils/adt/ruleutils.c:2710
+#, fuzzy, c-format
+#| msgid "cannot use subquery in index expression"
+msgid "input is a query, not an expression"
+msgstr "Unteranfragen können nicht in Indexausdrücken verwendet werden"
+
+#: utils/adt/ruleutils.c:2722
+#, fuzzy, c-format
+#| msgid "USING expression contains a whole-row table reference."
+msgid "expression contains variables of more than one relation"
+msgstr "USING-Ausdruck enthält einen Verweis auf die ganze Zeile der Tabelle."
+
+#: utils/adt/ruleutils.c:2729
+#, fuzzy, c-format
+#| msgid "argument of %s must not contain variables"
+msgid "expression contains variables"
+msgstr "Argument von %s darf keine Variablen enthalten"
+
+#: utils/adt/ruleutils.c:5228
 #, c-format
 msgid "rule \"%s\" has unsupported event type %d"
 msgstr "Regel »%s« hat nicht unterstützten Ereignistyp %d"
 
-#: utils/adt/timestamp.c:109
+#: utils/adt/timestamp.c:110
 #, c-format
 msgid "TIMESTAMP(%d)%s precision must not be negative"
 msgstr "Präzision von TIMESTAMP(%d)%s darf nicht negativ sein"
 
-#: utils/adt/timestamp.c:115
+#: utils/adt/timestamp.c:116
 #, c-format
 msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d"
 msgstr "Präzision von TIMESTAMP(%d)%s auf erlaubten Höchstwert %d reduziert"
 
-#: utils/adt/timestamp.c:178 utils/adt/timestamp.c:436 utils/misc/guc.c:12411
+#: utils/adt/timestamp.c:179 utils/adt/timestamp.c:437 utils/misc/guc.c:12782
 #, c-format
 msgid "timestamp out of range: \"%s\""
 msgstr "timestamp ist außerhalb des gültigen Bereichs: »%s«"
 
-#: utils/adt/timestamp.c:374
+#: utils/adt/timestamp.c:375
 #, c-format
 msgid "timestamp(%d) precision must be between %d and %d"
 msgstr "Präzision von timestamp(%d) muss zwischen %d und %d sein"
 
-#: utils/adt/timestamp.c:498
+#: utils/adt/timestamp.c:499
 #, c-format
 msgid "Numeric time zones must have \"-\" or \"+\" as first character."
 msgstr "Numerische Zeitzonen müssen »-« oder »+« als erstes Zeichen haben."
 
-#: utils/adt/timestamp.c:511
+#: utils/adt/timestamp.c:512
 #, c-format
 msgid "numeric time zone \"%s\" out of range"
 msgstr "numerische Zeitzone »%s« ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/timestamp.c:607 utils/adt/timestamp.c:617
-#: utils/adt/timestamp.c:625
+#: utils/adt/timestamp.c:608 utils/adt/timestamp.c:618
+#: utils/adt/timestamp.c:626
 #, c-format
 msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g"
 msgstr "timestamp ist außerhalb des gültigen Bereichs: %d-%02d-%02d %d:%02d:%02g"
 
-#: utils/adt/timestamp.c:726
+#: utils/adt/timestamp.c:727
 #, c-format
 msgid "timestamp cannot be NaN"
 msgstr "timestamp kann nicht NaN sein"
 
-#: utils/adt/timestamp.c:744 utils/adt/timestamp.c:756
+#: utils/adt/timestamp.c:745 utils/adt/timestamp.c:757
 #, c-format
 msgid "timestamp out of range: \"%g\""
 msgstr "timestamp ist außerhalb des gültigen Bereichs: »%g«"
 
-#: utils/adt/timestamp.c:1068 utils/adt/timestamp.c:1101
+#: utils/adt/timestamp.c:1062 utils/adt/timestamp.c:1095
 #, c-format
 msgid "invalid INTERVAL type modifier"
 msgstr "ungültiger Modifikator für Typ INTERVAL"
 
-#: utils/adt/timestamp.c:1084
+#: utils/adt/timestamp.c:1078
 #, c-format
 msgid "INTERVAL(%d) precision must not be negative"
 msgstr "INTERVAL(%d)-Präzision darf nicht negativ sein"
 
-#: utils/adt/timestamp.c:1090
+#: utils/adt/timestamp.c:1084
 #, c-format
 msgid "INTERVAL(%d) precision reduced to maximum allowed, %d"
 msgstr "INTERVAL(%d)-Präzision auf erlaubtes Maximum %d reduziert"
 
-#: utils/adt/timestamp.c:1472
+#: utils/adt/timestamp.c:1466
 #, c-format
 msgid "interval(%d) precision must be between %d and %d"
 msgstr "Präzision von interval(%d) muss zwischen %d und %d sein"
 
-#: utils/adt/timestamp.c:2660
+#: utils/adt/timestamp.c:2689
 #, c-format
 msgid "cannot subtract infinite timestamps"
 msgstr "kann unendliche timestamp-Werte nicht subtrahieren"
 
-#: utils/adt/timestamp.c:3837 utils/adt/timestamp.c:4015
-#, fuzzy, c-format
-#| msgid "bigint out of range"
+#: utils/adt/timestamp.c:3891 utils/adt/timestamp.c:4074
+#, c-format
 msgid "origin out of range"
-msgstr "bigint ist außerhalb des gültigen Bereichs"
+msgstr "Anfangspunkt ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/timestamp.c:3842 utils/adt/timestamp.c:4020
+#: utils/adt/timestamp.c:3896 utils/adt/timestamp.c:4079
 #, c-format
 msgid "timestamps cannot be binned into intervals containing months or years"
-msgstr ""
-
-#: utils/adt/timestamp.c:3973 utils/adt/timestamp.c:4610
-#: utils/adt/timestamp.c:4810 utils/adt/timestamp.c:4857
-#, c-format
-msgid "timestamp units \"%s\" not supported"
-msgstr "»timestamp«-Einheit »%s« nicht unterstützt"
-
-#: utils/adt/timestamp.c:3987 utils/adt/timestamp.c:4564
-#: utils/adt/timestamp.c:4867
-#, c-format
-msgid "timestamp units \"%s\" not recognized"
-msgstr "»timestamp«-Einheit »%s« nicht erkannt"
-
-#: utils/adt/timestamp.c:4161 utils/adt/timestamp.c:4605
-#: utils/adt/timestamp.c:5081 utils/adt/timestamp.c:5129
-#, c-format
-msgid "timestamp with time zone units \"%s\" not supported"
-msgstr "»timestamp with time zone«-Einheit »%s« nicht unterstützt"
+msgstr "timestamp-Werte können nicht in Intervalle, die Monate oder Jahre enthalten, einsortiert werden"
 
-#: utils/adt/timestamp.c:4178 utils/adt/timestamp.c:4559
-#: utils/adt/timestamp.c:5138
+#: utils/adt/timestamp.c:3903 utils/adt/timestamp.c:4086
 #, c-format
-msgid "timestamp with time zone units \"%s\" not recognized"
-msgstr "»timestamp with time zone«-Einheit »%s« nicht erkannt"
+msgid "stride must be greater than zero"
+msgstr "Schrittgröße muss größer als null sein"
 
-#: utils/adt/timestamp.c:4336
-#, c-format
-msgid "interval units \"%s\" not supported because months usually have fractional weeks"
+#: utils/adt/timestamp.c:4399
+#, fuzzy, c-format
+#| msgid "interval units \"%s\" not supported because months usually have fractional weeks"
+msgid "Months usually have fractional weeks."
 msgstr "»interval«-Einheit »%s« wird nicht unterstützt, weil Monate gewöhnlich partielle Wochen haben"
 
-#: utils/adt/timestamp.c:4342 utils/adt/timestamp.c:5261
-#, c-format
-msgid "interval units \"%s\" not supported"
-msgstr "»interval«-Einheit »%s« nicht unterstützt"
-
-#: utils/adt/timestamp.c:4358 utils/adt/timestamp.c:5322
-#, c-format
-msgid "interval units \"%s\" not recognized"
-msgstr "»interval«-Einheit »%s« nicht erkannt"
-
 #: utils/adt/trigfuncs.c:42
 #, c-format
 msgid "suppress_redundant_updates_trigger: must be called as trigger"
@@ -24868,10 +25907,10 @@ msgstr "suppress_redundant_updates_trigger: muss für jede Zeile aufgerufen werd
 msgid "gtsvector_in not implemented"
 msgstr "gtsvector_in ist nicht implementiert"
 
-#: utils/adt/tsquery.c:199
+#: utils/adt/tsquery.c:199 utils/adt/tsquery_op.c:124
 #, c-format
-msgid "distance in phrase operator should not be greater than %d"
-msgstr "Abstand im Phrasenoperator sollte nicht größer als %d sein"
+msgid "distance in phrase operator must be an integer value between zero and %d inclusive"
+msgstr "Abstand im Phrasenoperator muss eine ganze Zahl zwischen einschließlich null und %d sein"
 
 #: utils/adt/tsquery.c:306 utils/adt/tsquery.c:691
 #: utils/adt/tsvector_parser.c:133
@@ -24914,11 +25953,6 @@ msgstr "tsquery ist zu groß"
 msgid "text-search query contains only stop words or doesn't contain lexemes, ignored"
 msgstr "Textsucheanfrage enthält nur Stoppwörter oder enthält keine Lexeme, ignoriert"
 
-#: utils/adt/tsquery_op.c:124
-#, c-format
-msgid "distance in phrase operator should be non-negative and less than %d"
-msgstr "Abstand im Phrasenoperator sollte nicht negativ und kleiner als %d sein"
-
 #: utils/adt/tsquery_rewrite.c:321
 #, c-format
 msgid "ts_rewrite query must return two tsquery columns"
@@ -24954,58 +25988,63 @@ msgstr "Wort ist zu lang (%ld Bytes, maximal %ld Bytes)"
 msgid "string is too long for tsvector (%ld bytes, max %ld bytes)"
 msgstr "Zeichenkette ist zu lang für tsvector (%ld Bytes, maximal %ld Bytes)"
 
-#: utils/adt/tsvector_op.c:328 utils/adt/tsvector_op.c:608
-#: utils/adt/tsvector_op.c:770
+#: utils/adt/tsvector_op.c:771
 #, c-format
 msgid "lexeme array may not contain nulls"
 msgstr "Lexem-Array darf keine NULL-Werte enthalten"
 
-#: utils/adt/tsvector_op.c:840
+#: utils/adt/tsvector_op.c:776
+#, fuzzy, c-format
+#| msgid "lexeme array may not contain nulls"
+msgid "lexeme array may not contain empty strings"
+msgstr "Lexem-Array darf keine NULL-Werte enthalten"
+
+#: utils/adt/tsvector_op.c:846
 #, c-format
 msgid "weight array may not contain nulls"
 msgstr "Gewichtungs-Array darf keine NULL-Werte enthalten"
 
-#: utils/adt/tsvector_op.c:864
+#: utils/adt/tsvector_op.c:870
 #, c-format
 msgid "unrecognized weight: \"%c\""
 msgstr "unbekannte Gewichtung: »%c«"
 
-#: utils/adt/tsvector_op.c:2426
+#: utils/adt/tsvector_op.c:2431
 #, c-format
 msgid "ts_stat query must return one tsvector column"
 msgstr "ts_stat-Anfrage muss eine tsvector-Spalte zurückgeben"
 
-#: utils/adt/tsvector_op.c:2615
+#: utils/adt/tsvector_op.c:2620
 #, c-format
 msgid "tsvector column \"%s\" does not exist"
 msgstr "tsvector-Spalte »%s« existiert nicht"
 
-#: utils/adt/tsvector_op.c:2622
+#: utils/adt/tsvector_op.c:2627
 #, c-format
 msgid "column \"%s\" is not of tsvector type"
 msgstr "Spalte »%s« hat nicht Typ tsvector"
 
-#: utils/adt/tsvector_op.c:2634
+#: utils/adt/tsvector_op.c:2639
 #, c-format
 msgid "configuration column \"%s\" does not exist"
 msgstr "Konfigurationsspalte »%s« existiert nicht"
 
-#: utils/adt/tsvector_op.c:2640
+#: utils/adt/tsvector_op.c:2645
 #, c-format
 msgid "column \"%s\" is not of regconfig type"
 msgstr "Spalte »%s« hat nicht Typ regconfig"
 
-#: utils/adt/tsvector_op.c:2647
+#: utils/adt/tsvector_op.c:2652
 #, c-format
 msgid "configuration column \"%s\" must not be null"
 msgstr "Konfigurationsspalte »%s« darf nicht NULL sein"
 
-#: utils/adt/tsvector_op.c:2660
+#: utils/adt/tsvector_op.c:2665
 #, c-format
 msgid "text search configuration name \"%s\" must be schema-qualified"
 msgstr "Textsuchekonfigurationsname »%s« muss Schemaqualifikation haben"
 
-#: utils/adt/tsvector_op.c:2685
+#: utils/adt/tsvector_op.c:2690
 #, c-format
 msgid "column \"%s\" is not of a character type"
 msgstr "Spalte »%s« hat keinen Zeichentyp"
@@ -25025,7 +26064,7 @@ msgstr "es gibt kein escaptes Zeichen: »%s«"
 msgid "wrong position info in tsvector: \"%s\""
 msgstr "falsche Positionsinformationen in tsvector: »%s«"
 
-#: utils/adt/uuid.c:428
+#: utils/adt/uuid.c:413
 #, c-format
 msgid "could not generate random values"
 msgstr "konnte keine Zufallswerte erzeugen"
@@ -25070,9 +26109,9 @@ msgstr "ungültige Länge in externer Bitkette"
 msgid "bit string too long for type bit varying(%d)"
 msgstr "Bitkette ist zu lang für Typ bit varying(%d)"
 
-#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:897
-#: utils/adt/varlena.c:960 utils/adt/varlena.c:1117 utils/adt/varlena.c:3351
-#: utils/adt/varlena.c:3429
+#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:889
+#: utils/adt/varlena.c:952 utils/adt/varlena.c:1109 utils/adt/varlena.c:3313
+#: utils/adt/varlena.c:3391
 #, c-format
 msgid "negative substring length not allowed"
 msgstr "negative Teilzeichenkettenlänge nicht erlaubt"
@@ -25097,7 +26136,7 @@ msgstr "binäres »Exklusiv-Oder« nicht mit Bitketten unterschiedlicher Länge
 msgid "bit index %d out of valid range (0..%d)"
 msgstr "Bitindex %d ist außerhalb des gültigen Bereichs (0..%d)"
 
-#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3633
+#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3595
 #, c-format
 msgid "new bit must be 0 or 1"
 msgstr "neues Bit muss 0 oder 1 sein"
@@ -25112,128 +26151,127 @@ msgstr "Wert zu lang für Typ character(%d)"
 msgid "value too long for type character varying(%d)"
 msgstr "Wert zu lang für Typ character varying(%d)"
 
-#: utils/adt/varchar.c:732 utils/adt/varlena.c:1523
+#: utils/adt/varchar.c:732 utils/adt/varlena.c:1498
 #, c-format
 msgid "could not determine which collation to use for string comparison"
 msgstr "konnte die für den Zeichenkettenvergleich zu verwendende Sortierfolge nicht bestimmen"
 
-#: utils/adt/varlena.c:1216 utils/adt/varlena.c:1963
+#: utils/adt/varlena.c:1208 utils/adt/varlena.c:1947
 #, c-format
 msgid "nondeterministic collations are not supported for substring searches"
 msgstr "nichtdeterministische Sortierfolgen werden für Teilzeichenkettensuchen nicht unterstützt"
 
-#: utils/adt/varlena.c:1622 utils/adt/varlena.c:1635
+#: utils/adt/varlena.c:1596 utils/adt/varlena.c:1609
 #, c-format
 msgid "could not convert string to UTF-16: error code %lu"
 msgstr "konnte Zeichenkette nicht in UTF-16 umwandeln: Fehlercode %lu"
 
-#: utils/adt/varlena.c:1650
+#: utils/adt/varlena.c:1624
 #, c-format
 msgid "could not compare Unicode strings: %m"
 msgstr "konnte Unicode-Zeichenketten nicht vergleichen: %m"
 
-#: utils/adt/varlena.c:1701 utils/adt/varlena.c:2415
+#: utils/adt/varlena.c:1675 utils/adt/varlena.c:2398
 #, c-format
 msgid "collation failed: %s"
 msgstr "Vergleichung fehlgeschlagen: %s"
 
-#: utils/adt/varlena.c:2623
+#: utils/adt/varlena.c:2585
 #, c-format
 msgid "sort key generation failed: %s"
 msgstr "Sortierschlüsselerzeugung fehlgeschlagen: %s"
 
-#: utils/adt/varlena.c:3517 utils/adt/varlena.c:3584
+#: utils/adt/varlena.c:3479 utils/adt/varlena.c:3546
 #, c-format
 msgid "index %d out of valid range, 0..%d"
 msgstr "Index %d ist außerhalb des gültigen Bereichs, 0..%d"
 
-#: utils/adt/varlena.c:3548 utils/adt/varlena.c:3620
+#: utils/adt/varlena.c:3510 utils/adt/varlena.c:3582
 #, c-format
 msgid "index %lld out of valid range, 0..%lld"
 msgstr "Index %lld ist außerhalb des gültigen Bereichs, 0..%lld"
 
-#: utils/adt/varlena.c:4656
+#: utils/adt/varlena.c:4644
 #, c-format
 msgid "field position must not be zero"
 msgstr "Feldposition darf nicht null sein"
 
-#: utils/adt/varlena.c:5697
+#: utils/adt/varlena.c:5664
 #, c-format
 msgid "unterminated format() type specifier"
 msgstr "Typspezifikation in format() nicht abgeschlossen"
 
-#: utils/adt/varlena.c:5698 utils/adt/varlena.c:5832 utils/adt/varlena.c:5953
+#: utils/adt/varlena.c:5665 utils/adt/varlena.c:5799 utils/adt/varlena.c:5920
 #, c-format
 msgid "For a single \"%%\" use \"%%%%\"."
 msgstr "Für ein einzelnes »%%« geben Sie »%%%%« an."
 
-#: utils/adt/varlena.c:5830 utils/adt/varlena.c:5951
+#: utils/adt/varlena.c:5797 utils/adt/varlena.c:5918
 #, c-format
 msgid "unrecognized format() type specifier \"%.*s\""
 msgstr "unbekannte Typspezifikation in format(): »%.*s«"
 
-#: utils/adt/varlena.c:5843 utils/adt/varlena.c:5900
+#: utils/adt/varlena.c:5810 utils/adt/varlena.c:5867
 #, c-format
 msgid "too few arguments for format()"
 msgstr "zu wenige Argumente für format()"
 
-#: utils/adt/varlena.c:5996 utils/adt/varlena.c:6178
+#: utils/adt/varlena.c:5963 utils/adt/varlena.c:6145
 #, c-format
 msgid "number is out of range"
 msgstr "Zahl ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/varlena.c:6059 utils/adt/varlena.c:6087
+#: utils/adt/varlena.c:6026 utils/adt/varlena.c:6054
 #, c-format
 msgid "format specifies argument 0, but arguments are numbered from 1"
 msgstr "Format gibt Argument 0 an, aber die Argumente sind von 1 an nummeriert"
 
-#: utils/adt/varlena.c:6080
+#: utils/adt/varlena.c:6047
 #, c-format
 msgid "width argument position must be ended by \"$\""
 msgstr "Argumentposition der Breitenangabe muss mit »$« enden"
 
-#: utils/adt/varlena.c:6125
+#: utils/adt/varlena.c:6092
 #, c-format
 msgid "null values cannot be formatted as an SQL identifier"
 msgstr "NULL-Werte können nicht als SQL-Bezeichner formatiert werden"
 
-#: utils/adt/varlena.c:6251
+#: utils/adt/varlena.c:6218
 #, c-format
 msgid "Unicode normalization can only be performed if server encoding is UTF8"
 msgstr "Unicode-Normalisierung kann nur durchgeführt werden, wenn die Serverkodierung UTF8 ist"
 
-#: utils/adt/varlena.c:6264
+#: utils/adt/varlena.c:6231
 #, c-format
 msgid "invalid normalization form: %s"
 msgstr "ungültige Normalisierungsform: %s"
 
-#: utils/adt/varlena.c:6467 utils/adt/varlena.c:6502 utils/adt/varlena.c:6537
+#: utils/adt/varlena.c:6434 utils/adt/varlena.c:6469 utils/adt/varlena.c:6504
 #, c-format
 msgid "invalid Unicode code point: %04X"
 msgstr "ungültiger Unicode-Codepunkt: %04X"
 
-#: utils/adt/varlena.c:6567
-#, fuzzy, c-format
-#| msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX."
+#: utils/adt/varlena.c:6534
+#, c-format
 msgid "Unicode escapes must be \\XXXX, \\+XXXXXX, \\uXXXX, or \\UXXXXXXXX."
-msgstr "Unicode-Escapes müssen \\uXXXX oder \\UXXXXXXXX sein."
+msgstr "Unicode-Escapes müssen \\XXXX, \\+XXXXXX, \\uXXXX oder \\UXXXXXXXX sein."
 
-#: utils/adt/windowfuncs.c:243
+#: utils/adt/windowfuncs.c:306
 #, c-format
 msgid "argument of ntile must be greater than zero"
 msgstr "Argument von ntile muss größer als null sein"
 
-#: utils/adt/windowfuncs.c:465
+#: utils/adt/windowfuncs.c:528
 #, c-format
 msgid "argument of nth_value must be greater than zero"
 msgstr "Argument von nth_value muss größer als null sein"
 
 #: utils/adt/xid8funcs.c:116
 #, c-format
-msgid "transaction ID %s is in the future"
-msgstr "Transaktions-ID %s ist in der Zukunft"
+msgid "transaction ID %llu is in the future"
+msgstr "Transaktions-ID %llu ist in der Zukunft"
 
-#: utils/adt/xid8funcs.c:547
+#: utils/adt/xid8funcs.c:546
 #, c-format
 msgid "invalid external pg_snapshot data"
 msgstr "ungültige externe pg_snapshot-Daten"
@@ -25248,146 +26286,146 @@ msgstr "nicht unterstützte XML-Funktionalität"
 msgid "This functionality requires the server to be built with libxml support."
 msgstr "Diese Funktionalität verlangt, dass der Server mit Libxml-Unterstützung gebaut wird."
 
-#: utils/adt/xml.c:243 utils/mb/mbutils.c:627
+#: utils/adt/xml.c:242 utils/mb/mbutils.c:627
 #, c-format
 msgid "invalid encoding name \"%s\""
 msgstr "ungültiger Kodierungsname »%s«"
 
-#: utils/adt/xml.c:486 utils/adt/xml.c:491
+#: utils/adt/xml.c:485 utils/adt/xml.c:490
 #, c-format
 msgid "invalid XML comment"
 msgstr "ungültiger XML-Kommentar"
 
-#: utils/adt/xml.c:620
+#: utils/adt/xml.c:619
 #, c-format
 msgid "not an XML document"
 msgstr "kein XML-Dokument"
 
-#: utils/adt/xml.c:779 utils/adt/xml.c:802
+#: utils/adt/xml.c:778 utils/adt/xml.c:801
 #, c-format
 msgid "invalid XML processing instruction"
 msgstr "ungültige XML-Verarbeitungsanweisung"
 
-#: utils/adt/xml.c:780
+#: utils/adt/xml.c:779
 #, c-format
 msgid "XML processing instruction target name cannot be \"%s\"."
 msgstr "Die Zielangabe der XML-Verarbeitungsanweisung darf nicht »%s« sein."
 
-#: utils/adt/xml.c:803
+#: utils/adt/xml.c:802
 #, c-format
 msgid "XML processing instruction cannot contain \"?>\"."
 msgstr "XML-Verarbeitungsanweisung darf nicht »?>« enthalten."
 
-#: utils/adt/xml.c:882
+#: utils/adt/xml.c:881
 #, c-format
 msgid "xmlvalidate is not implemented"
 msgstr "xmlvalidate ist nicht implementiert"
 
-#: utils/adt/xml.c:961
+#: utils/adt/xml.c:960
 #, c-format
 msgid "could not initialize XML library"
 msgstr "konnte XML-Bibliothek nicht initialisieren"
 
-#: utils/adt/xml.c:962
+#: utils/adt/xml.c:961
 #, c-format
-msgid "libxml2 has incompatible char type: sizeof(char)=%u, sizeof(xmlChar)=%u."
-msgstr "libxml2 hat inkompatiblen char-Typ: sizeof(char)=%u, sizeof(xmlChar)=%u."
+msgid "libxml2 has incompatible char type: sizeof(char)=%zu, sizeof(xmlChar)=%zu."
+msgstr "libxml2 hat inkompatiblen char-Typ: sizeof(char)=%zu, sizeof(xmlChar)=%zu."
 
-#: utils/adt/xml.c:1048
+#: utils/adt/xml.c:1047
 #, c-format
 msgid "could not set up XML error handler"
 msgstr "konnte XML-Fehlerbehandlung nicht einrichten"
 
-#: utils/adt/xml.c:1049
+#: utils/adt/xml.c:1048
 #, c-format
 msgid "This probably indicates that the version of libxml2 being used is not compatible with the libxml2 header files that PostgreSQL was built with."
 msgstr "Das deutet wahrscheinlich darauf hin, dass die verwendete Version von libxml2 nicht mit den Header-Dateien der Version, mit der PostgreSQL gebaut wurde, kompatibel ist."
 
-#: utils/adt/xml.c:1936
+#: utils/adt/xml.c:1935
 msgid "Invalid character value."
 msgstr "Ungültiger Zeichenwert."
 
-#: utils/adt/xml.c:1939
+#: utils/adt/xml.c:1938
 msgid "Space required."
 msgstr "Leerzeichen benötigt."
 
-#: utils/adt/xml.c:1942
+#: utils/adt/xml.c:1941
 msgid "standalone accepts only 'yes' or 'no'."
 msgstr "standalone akzeptiert nur »yes« oder »no«."
 
-#: utils/adt/xml.c:1945
+#: utils/adt/xml.c:1944
 msgid "Malformed declaration: missing version."
 msgstr "Fehlerhafte Deklaration: Version fehlt."
 
-#: utils/adt/xml.c:1948
+#: utils/adt/xml.c:1947
 msgid "Missing encoding in text declaration."
 msgstr "Fehlende Kodierung in Textdeklaration."
 
-#: utils/adt/xml.c:1951
+#: utils/adt/xml.c:1950
 msgid "Parsing XML declaration: '?>' expected."
 msgstr "Beim Parsen der XML-Deklaration: »?>« erwartet."
 
-#: utils/adt/xml.c:1954
+#: utils/adt/xml.c:1953
 #, c-format
 msgid "Unrecognized libxml error code: %d."
 msgstr "Unbekannter Libxml-Fehlercode: %d."
 
-#: utils/adt/xml.c:2211
+#: utils/adt/xml.c:2210
 #, c-format
 msgid "XML does not support infinite date values."
 msgstr "XML unterstützt keine unendlichen Datumswerte."
 
-#: utils/adt/xml.c:2233 utils/adt/xml.c:2260
+#: utils/adt/xml.c:2232 utils/adt/xml.c:2259
 #, c-format
 msgid "XML does not support infinite timestamp values."
 msgstr "XML unterstützt keine unendlichen timestamp-Werte."
 
-#: utils/adt/xml.c:2676
+#: utils/adt/xml.c:2675
 #, c-format
 msgid "invalid query"
 msgstr "ungültige Anfrage"
 
-#: utils/adt/xml.c:4016
+#: utils/adt/xml.c:4015
 #, c-format
 msgid "invalid array for XML namespace mapping"
 msgstr "ungültiges Array for XML-Namensraumabbildung"
 
-#: utils/adt/xml.c:4017
+#: utils/adt/xml.c:4016
 #, c-format
 msgid "The array must be two-dimensional with length of the second axis equal to 2."
 msgstr "Das Array muss zweidimensional sein und die Länge der zweiten Achse muss gleich 2 sein."
 
-#: utils/adt/xml.c:4041
+#: utils/adt/xml.c:4040
 #, c-format
 msgid "empty XPath expression"
 msgstr "leerer XPath-Ausdruck"
 
-#: utils/adt/xml.c:4093
+#: utils/adt/xml.c:4092
 #, c-format
 msgid "neither namespace name nor URI may be null"
 msgstr "weder Namensraumname noch URI dürfen NULL sein"
 
-#: utils/adt/xml.c:4100
+#: utils/adt/xml.c:4099
 #, c-format
 msgid "could not register XML namespace with name \"%s\" and URI \"%s\""
 msgstr "konnte XML-Namensraum mit Namen »%s« und URI »%s« nicht registrieren"
 
-#: utils/adt/xml.c:4451
+#: utils/adt/xml.c:4450
 #, c-format
 msgid "DEFAULT namespace is not supported"
 msgstr "DEFAULT-Namensraum wird nicht unterstützt"
 
-#: utils/adt/xml.c:4480
+#: utils/adt/xml.c:4479
 #, c-format
 msgid "row path filter must not be empty string"
 msgstr "Zeilenpfadfilter darf nicht leer sein"
 
-#: utils/adt/xml.c:4511
+#: utils/adt/xml.c:4510
 #, c-format
 msgid "column path filter must not be empty string"
 msgstr "Spaltenpfadfilter darf nicht leer sein"
 
-#: utils/adt/xml.c:4655
+#: utils/adt/xml.c:4654
 #, c-format
 msgid "more than one value returned by column XPath expression"
 msgstr "XPath-Ausdruck für Spalte gab mehr als einen Wert zurück"
@@ -25397,18 +26435,18 @@ msgstr "XPath-Ausdruck für Spalte gab mehr als einen Wert zurück"
 msgid "cast from type %s to type %s does not exist"
 msgstr "Typumwandlung von Typ %s in Typ %s existiert nicht"
 
-#: utils/cache/lsyscache.c:2834 utils/cache/lsyscache.c:2867
-#: utils/cache/lsyscache.c:2900 utils/cache/lsyscache.c:2933
+#: utils/cache/lsyscache.c:2844 utils/cache/lsyscache.c:2877
+#: utils/cache/lsyscache.c:2910 utils/cache/lsyscache.c:2943
 #, c-format
 msgid "type %s is only a shell"
 msgstr "Typ %s ist nur eine Hülle"
 
-#: utils/cache/lsyscache.c:2839
+#: utils/cache/lsyscache.c:2849
 #, c-format
 msgid "no input function available for type %s"
 msgstr "keine Eingabefunktion verfügbar für Typ %s"
 
-#: utils/cache/lsyscache.c:2872
+#: utils/cache/lsyscache.c:2882
 #, c-format
 msgid "no output function available for type %s"
 msgstr "keine Ausgabefunktion verfügbar für Typ %s"
@@ -25423,148 +26461,146 @@ msgstr "in Operatorklasse »%s« für Zugriffsmethode %s fehlt Support-Funktion
 msgid "cached plan must not change result type"
 msgstr "gecachter Plan darf den Ergebnistyp nicht ändern"
 
-#: utils/cache/relcache.c:6213
+#: utils/cache/relcache.c:6402
 #, c-format
 msgid "could not create relation-cache initialization file \"%s\": %m"
 msgstr "konnte Initialisierungsdatei für Relationscache »%s« nicht erzeugen: %m"
 
-#: utils/cache/relcache.c:6215
+#: utils/cache/relcache.c:6404
 #, c-format
 msgid "Continuing anyway, but there's something wrong."
 msgstr "Setze trotzdem fort, aber irgendwas stimmt nicht."
 
-#: utils/cache/relcache.c:6537
+#: utils/cache/relcache.c:6726
 #, c-format
 msgid "could not remove cache file \"%s\": %m"
 msgstr "konnte Cache-Datei »%s« nicht löschen: %m"
 
-#: utils/cache/relmapper.c:531
+#: utils/cache/relmapper.c:590
 #, c-format
 msgid "cannot PREPARE a transaction that modified relation mapping"
 msgstr "PREPARE kann nicht in einer Transaktion ausgeführt werden, die das Relation-Mapping geändert hat"
 
-#: utils/cache/relmapper.c:761
+#: utils/cache/relmapper.c:836
 #, c-format
 msgid "relation mapping file \"%s\" contains invalid data"
 msgstr "Relation-Mapping-Datei »%s« enthält ungültige Daten"
 
-#: utils/cache/relmapper.c:771
+#: utils/cache/relmapper.c:846
 #, c-format
 msgid "relation mapping file \"%s\" contains incorrect checksum"
 msgstr "Relation-Mapping-Datei »%s« enthält falsche Prüfsumme"
 
-#: utils/cache/typcache.c:1808 utils/fmgr/funcapi.c:463
+#: utils/cache/typcache.c:1809 utils/fmgr/funcapi.c:532
 #, c-format
 msgid "record type has not been registered"
 msgstr "Record-Typ wurde nicht registriert"
 
 #: utils/error/assert.c:39
-#, fuzzy, c-format
-#| msgid "TRAP: ExceptionalCondition: bad arguments\n"
+#, c-format
 msgid "TRAP: ExceptionalCondition: bad arguments in PID %d\n"
-msgstr "TRAP: ExceptionalCondition: fehlerhafte Argumente\n"
+msgstr "TRAP: ExceptionalCondition: fehlerhafte Argumente in PID %d\n"
 
 #: utils/error/assert.c:42
-#, fuzzy, c-format
-#| msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d)\n"
+#, c-format
 msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d, PID: %d)\n"
-msgstr "TRAP: %s(»%s«, Datei: »%s«, Zeile: %d)\n"
+msgstr "TRAP: %s(»%s«, Datei: »%s«, Zeile: %d, PID: %d)\n"
 
-#: utils/error/elog.c:409
+#: utils/error/elog.c:404
 #, c-format
 msgid "error occurred before error message processing is available\n"
 msgstr "Fehler geschah bevor Fehlermeldungsverarbeitung bereit war\n"
 
-#: utils/error/elog.c:1948
+#: utils/error/elog.c:1943
 #, c-format
 msgid "could not reopen file \"%s\" as stderr: %m"
 msgstr "konnte Datei »%s« nicht als stderr neu öffnen: %m"
 
-#: utils/error/elog.c:1961
+#: utils/error/elog.c:1956
 #, c-format
 msgid "could not reopen file \"%s\" as stdout: %m"
 msgstr "konnte Datei »%s« nicht als stdout neu öffnen: %m"
 
-#: utils/error/elog.c:2456 utils/error/elog.c:2490 utils/error/elog.c:2506
+#: utils/error/elog.c:2521 utils/error/elog.c:2548 utils/error/elog.c:2564
 msgid "[unknown]"
 msgstr "[unbekannt]"
 
-#: utils/error/elog.c:3026 utils/error/elog.c:3344 utils/error/elog.c:3451
+#: utils/error/elog.c:2837 utils/error/elog.c:3158 utils/error/elog.c:3265
 msgid "missing error text"
 msgstr "fehlender Fehlertext"
 
-#: utils/error/elog.c:3029 utils/error/elog.c:3032
+#: utils/error/elog.c:2840 utils/error/elog.c:2843
 #, c-format
 msgid " at character %d"
 msgstr " bei Zeichen %d"
 
-#: utils/error/elog.c:3042 utils/error/elog.c:3049
+#: utils/error/elog.c:2853 utils/error/elog.c:2860
 msgid "DETAIL:  "
 msgstr "DETAIL:  "
 
-#: utils/error/elog.c:3056
+#: utils/error/elog.c:2867
 msgid "HINT:  "
 msgstr "TIPP:  "
 
-#: utils/error/elog.c:3063
+#: utils/error/elog.c:2874
 msgid "QUERY:  "
 msgstr "ANFRAGE:  "
 
-#: utils/error/elog.c:3070
+#: utils/error/elog.c:2881
 msgid "CONTEXT:  "
 msgstr "ZUSAMMENHANG:  "
 
-#: utils/error/elog.c:3080
+#: utils/error/elog.c:2891
 #, c-format
 msgid "LOCATION:  %s, %s:%d\n"
 msgstr "ORT:  %s, %s:%d\n"
 
-#: utils/error/elog.c:3087
+#: utils/error/elog.c:2898
 #, c-format
 msgid "LOCATION:  %s:%d\n"
 msgstr "ORT:  %s:%d\n"
 
-#: utils/error/elog.c:3094
+#: utils/error/elog.c:2905
 msgid "BACKTRACE:  "
 msgstr "BACKTRACE:  "
 
-#: utils/error/elog.c:3108
+#: utils/error/elog.c:2917
 msgid "STATEMENT:  "
 msgstr "ANWEISUNG:  "
 
-#: utils/error/elog.c:3496
+#: utils/error/elog.c:3310
 msgid "DEBUG"
 msgstr "DEBUG"
 
-#: utils/error/elog.c:3500
+#: utils/error/elog.c:3314
 msgid "LOG"
 msgstr "LOG"
 
-#: utils/error/elog.c:3503
+#: utils/error/elog.c:3317
 msgid "INFO"
 msgstr "INFO"
 
-#: utils/error/elog.c:3506
+#: utils/error/elog.c:3320
 msgid "NOTICE"
 msgstr "HINWEIS"
 
-#: utils/error/elog.c:3510
+#: utils/error/elog.c:3324
 msgid "WARNING"
 msgstr "WARNUNG"
 
-#: utils/error/elog.c:3513
+#: utils/error/elog.c:3327
 msgid "ERROR"
 msgstr "FEHLER"
 
-#: utils/error/elog.c:3516
+#: utils/error/elog.c:3330
 msgid "FATAL"
 msgstr "FATAL"
 
-#: utils/error/elog.c:3519
+#: utils/error/elog.c:3333
 msgid "PANIC"
 msgstr "PANIK"
 
-#: utils/fmgr/dfmgr.c:130
+#: utils/fmgr/dfmgr.c:128
 #, c-format
 msgid "could not find function \"%s\" in file \"%s\""
 msgstr "konnte Funktion »%s« nicht in Datei »%s« finden"
@@ -25594,51 +26630,61 @@ msgstr "inkompatible Bibliothek »%s«: Version stimmt nicht überein"
 msgid "Server is version %d, library is version %s."
 msgstr "Serverversion ist %d, Bibliotheksversion ist %s."
 
-#: utils/fmgr/dfmgr.c:346
+#: utils/fmgr/dfmgr.c:341
+#, c-format
+msgid "incompatible library \"%s\": ABI mismatch"
+msgstr "inkompatible Bibliothek »%s«: ABI stimmt nicht überein"
+
+#: utils/fmgr/dfmgr.c:343
+#, c-format
+msgid "Server has ABI \"%s\", library has \"%s\"."
+msgstr "Server hat ABI »%s«, Bibliothek hat »%s«."
+
+#: utils/fmgr/dfmgr.c:361
 #, c-format
 msgid "Server has FUNC_MAX_ARGS = %d, library has %d."
 msgstr "Server hat FUNC_MAX_ARGS = %d, Bibliothek hat %d."
 
-#: utils/fmgr/dfmgr.c:355
+#: utils/fmgr/dfmgr.c:370
 #, c-format
 msgid "Server has INDEX_MAX_KEYS = %d, library has %d."
 msgstr "Server hat INDEX_MAX_KEYS = %d, Bibliothek hat %d."
 
-#: utils/fmgr/dfmgr.c:364
+#: utils/fmgr/dfmgr.c:379
 #, c-format
 msgid "Server has NAMEDATALEN = %d, library has %d."
 msgstr "Server hat NAMEDATALEN = %d, Bibliothek hat %d."
 
-#: utils/fmgr/dfmgr.c:373
+#: utils/fmgr/dfmgr.c:388
 #, c-format
 msgid "Server has FLOAT8PASSBYVAL = %s, library has %s."
 msgstr "Server hat FLOAT8PASSBYVAL = %s, Bibliothek hat %s."
 
-#: utils/fmgr/dfmgr.c:380
+#: utils/fmgr/dfmgr.c:395
 msgid "Magic block has unexpected length or padding difference."
 msgstr "Magischer Block hat unerwartete Länge oder unterschiedliches Padding."
 
-#: utils/fmgr/dfmgr.c:383
+#: utils/fmgr/dfmgr.c:398
 #, c-format
 msgid "incompatible library \"%s\": magic block mismatch"
 msgstr "inkompatible Bibliothek »%s«: magischer Block stimmt überein"
 
-#: utils/fmgr/dfmgr.c:547
+#: utils/fmgr/dfmgr.c:492
 #, c-format
 msgid "access to library \"%s\" is not allowed"
 msgstr "Zugriff auf Bibliothek »%s« ist nicht erlaubt"
 
-#: utils/fmgr/dfmgr.c:573
+#: utils/fmgr/dfmgr.c:518
 #, c-format
 msgid "invalid macro name in dynamic library path: %s"
 msgstr "ungültiger Makroname in Parameter »dynamic_library_path«: %s"
 
-#: utils/fmgr/dfmgr.c:613
+#: utils/fmgr/dfmgr.c:558
 #, c-format
 msgid "zero-length component in parameter \"dynamic_library_path\""
 msgstr "eine Komponente im Parameter »dynamic_library_path« hat Länge null"
 
-#: utils/fmgr/dfmgr.c:632
+#: utils/fmgr/dfmgr.c:577
 #, c-format
 msgid "component in parameter \"dynamic_library_path\" is not an absolute path"
 msgstr "eine Komponente im Parameter »dynamic_library_path« ist kein absoluter Pfad"
@@ -25663,368 +26709,380 @@ msgstr "Von SQL aufrufbare Funktionen benötigen ein begleitendes PG_FUNCTION_IN
 msgid "unrecognized API version %d reported by info function \"%s\""
 msgstr "Info-Funktion »%2$s« berichtete unbekannte API-Version %1$d"
 
-#: utils/fmgr/fmgr.c:1999
+#: utils/fmgr/fmgr.c:1985
 #, c-format
 msgid "operator class options info is absent in function call context"
 msgstr "Operatorklassenoptionsinformationen fehlen im Funktionsaufrufkontext"
 
-#: utils/fmgr/fmgr.c:2066
+#: utils/fmgr/fmgr.c:2052
 #, c-format
 msgid "language validation function %u called for language %u instead of %u"
 msgstr "Sprachvalidierungsfunktion %u wurde für Sprache %u statt %u aufgerufen"
 
-#: utils/fmgr/funcapi.c:386
+#: utils/fmgr/funcapi.c:455
 #, c-format
 msgid "could not determine actual result type for function \"%s\" declared to return type %s"
 msgstr "konnte tatsächlichen Ergebnistyp von Funktion »%s« mit deklarierten Rückgabetyp %s nicht bestimmen"
 
-#: utils/fmgr/funcapi.c:531
-#, fuzzy, c-format
-#| msgid "argument declared %s is not a range type but type %s"
+#: utils/fmgr/funcapi.c:600
+#, c-format
 msgid "argument declared %s does not contain a range type but type %s"
-msgstr "als %s deklariertes Argument ist kein Bereichstyp sondern Typ %s"
+msgstr "als %s deklariertes Argument enthält keinen Bereichstyp sondern Typ %s"
+
+#: utils/fmgr/funcapi.c:683
+#, c-format
+msgid "could not find multirange type for data type %s"
+msgstr "konnte Multirange-Typ für Datentyp %s nicht finden"
 
-#: utils/fmgr/funcapi.c:1833 utils/fmgr/funcapi.c:1865
+#: utils/fmgr/funcapi.c:1900 utils/fmgr/funcapi.c:1932
 #, c-format
 msgid "number of aliases does not match number of columns"
 msgstr "Anzahl der Aliasnamen stimmt nicht mit der Anzahl der Spalten überein"
 
-#: utils/fmgr/funcapi.c:1859
+#: utils/fmgr/funcapi.c:1926
 #, c-format
 msgid "no column alias was provided"
 msgstr "Spaltenalias fehlt"
 
-#: utils/fmgr/funcapi.c:1883
+#: utils/fmgr/funcapi.c:1950
 #, c-format
 msgid "could not determine row description for function returning record"
 msgstr "konnte Zeilenbeschreibung für Funktion, die »record« zurückgibt, nicht ermitteln"
 
-#: utils/init/miscinit.c:315
+#: utils/init/miscinit.c:329
 #, c-format
 msgid "data directory \"%s\" does not exist"
 msgstr "Datenverzeichnis »%s« existiert nicht"
 
-#: utils/init/miscinit.c:320
+#: utils/init/miscinit.c:334
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
 msgstr "konnte Zugriffsrechte von Verzeichnis »%s« nicht lesen: %m"
 
-#: utils/init/miscinit.c:328
+#: utils/init/miscinit.c:342
 #, c-format
 msgid "specified data directory \"%s\" is not a directory"
 msgstr "angegebenes Datenverzeichnis »%s« ist kein Verzeichnis"
 
-#: utils/init/miscinit.c:344
+#: utils/init/miscinit.c:358
 #, c-format
 msgid "data directory \"%s\" has wrong ownership"
 msgstr "Datenverzeichnis »%s« hat falschen Eigentümer"
 
-#: utils/init/miscinit.c:346
+#: utils/init/miscinit.c:360
 #, c-format
 msgid "The server must be started by the user that owns the data directory."
 msgstr "Der Server muss von dem Benutzer gestartet werden, dem das Datenverzeichnis gehört."
 
-#: utils/init/miscinit.c:364
+#: utils/init/miscinit.c:378
 #, c-format
 msgid "data directory \"%s\" has invalid permissions"
 msgstr "Datenverzeichnis »%s« hat ungültige Zugriffsrechte"
 
-#: utils/init/miscinit.c:366
+#: utils/init/miscinit.c:380
 #, c-format
 msgid "Permissions should be u=rwx (0700) or u=rwx,g=rx (0750)."
 msgstr "Rechte sollten u=rwx (0700) oder u=rwx,g=rx (0750) sein."
 
-#: utils/init/miscinit.c:645 utils/misc/guc.c:7481
+#: utils/init/miscinit.c:665 utils/misc/guc.c:7782
 #, c-format
 msgid "cannot set parameter \"%s\" within security-restricted operation"
 msgstr "kann Parameter »%s« nicht in einer sicherheitsbeschränkten Operation setzen"
 
-#: utils/init/miscinit.c:713
+#: utils/init/miscinit.c:733
 #, c-format
 msgid "role with OID %u does not exist"
 msgstr "Rolle mit OID %u existiert nicht"
 
-#: utils/init/miscinit.c:743
+#: utils/init/miscinit.c:763
 #, c-format
 msgid "role \"%s\" is not permitted to log in"
 msgstr "Rolle »%s« hat keine Berechtigung zum Einloggen"
 
-#: utils/init/miscinit.c:761
+#: utils/init/miscinit.c:781
 #, c-format
 msgid "too many connections for role \"%s\""
 msgstr "zu viele Verbindungen von Rolle »%s«"
 
-#: utils/init/miscinit.c:821
+#: utils/init/miscinit.c:841
 #, c-format
 msgid "permission denied to set session authorization"
 msgstr "keine Berechtigung, um Sitzungsautorisierung zu setzen"
 
-#: utils/init/miscinit.c:904
+#: utils/init/miscinit.c:924
 #, c-format
 msgid "invalid role OID: %u"
 msgstr "ungültige Rollen-OID: %u"
 
-#: utils/init/miscinit.c:958
+#: utils/init/miscinit.c:978
 #, c-format
 msgid "database system is shut down"
 msgstr "Datenbanksystem ist heruntergefahren"
 
-#: utils/init/miscinit.c:1045
+#: utils/init/miscinit.c:1065
 #, c-format
 msgid "could not create lock file \"%s\": %m"
 msgstr "konnte Sperrdatei »%s« nicht erstellen: %m"
 
-#: utils/init/miscinit.c:1059
+#: utils/init/miscinit.c:1079
 #, c-format
 msgid "could not open lock file \"%s\": %m"
 msgstr "konnte Sperrdatei »%s« nicht öffnen: %m"
 
-#: utils/init/miscinit.c:1066
+#: utils/init/miscinit.c:1086
 #, c-format
 msgid "could not read lock file \"%s\": %m"
 msgstr "konnte Sperrdatei »%s« nicht lesen: %m"
 
-#: utils/init/miscinit.c:1075
+#: utils/init/miscinit.c:1095
 #, c-format
 msgid "lock file \"%s\" is empty"
 msgstr "Sperrdatei »%s« ist leer"
 
-#: utils/init/miscinit.c:1076
+#: utils/init/miscinit.c:1096
 #, c-format
 msgid "Either another server is starting, or the lock file is the remnant of a previous server startup crash."
 msgstr "Entweder startet gerade ein anderer Server oder die Sperrdatei ist von einen Absturz übrig geblieben."
 
-#: utils/init/miscinit.c:1120
+#: utils/init/miscinit.c:1140
 #, c-format
 msgid "lock file \"%s\" already exists"
 msgstr "Sperrdatei »%s« existiert bereits"
 
-#: utils/init/miscinit.c:1124
+#: utils/init/miscinit.c:1144
 #, c-format
 msgid "Is another postgres (PID %d) running in data directory \"%s\"?"
 msgstr "Läuft bereits ein anderer postgres-Prozess (PID %d) im Datenverzeichnis »%s«?"
 
-#: utils/init/miscinit.c:1126
+#: utils/init/miscinit.c:1146
 #, c-format
 msgid "Is another postmaster (PID %d) running in data directory \"%s\"?"
 msgstr "Läuft bereits ein anderer postmaster-Prozess (PID %d) im Datenverzeichnis »%s«?"
 
-#: utils/init/miscinit.c:1129
+#: utils/init/miscinit.c:1149
 #, c-format
 msgid "Is another postgres (PID %d) using socket file \"%s\"?"
 msgstr "Verwendet bereits ein anderer postgres-Prozess (PID %d) die Socketdatei »%s«?"
 
-#: utils/init/miscinit.c:1131
+#: utils/init/miscinit.c:1151
 #, c-format
 msgid "Is another postmaster (PID %d) using socket file \"%s\"?"
 msgstr "Verwendet bereits ein anderer postmaster-Prozess (PID %d) die Socketdatei »%s«?"
 
-#: utils/init/miscinit.c:1182
+#: utils/init/miscinit.c:1202
 #, c-format
 msgid "could not remove old lock file \"%s\": %m"
 msgstr "konnte alte Sperrdatei »%s« nicht löschen: %m"
 
-#: utils/init/miscinit.c:1184
+#: utils/init/miscinit.c:1204
 #, c-format
 msgid "The file seems accidentally left over, but it could not be removed. Please remove the file by hand and try again."
 msgstr "Die Datei ist anscheinend aus Versehen übrig geblieben, konnte aber nicht gelöscht werden. Bitte entfernen Sie die Datei von Hand und versuchen Sie es erneut."
 
-#: utils/init/miscinit.c:1221 utils/init/miscinit.c:1235
-#: utils/init/miscinit.c:1246
+#: utils/init/miscinit.c:1241 utils/init/miscinit.c:1255
+#: utils/init/miscinit.c:1266
 #, c-format
 msgid "could not write lock file \"%s\": %m"
 msgstr "konnte Sperrdatei »%s« nicht schreiben: %m"
 
-#: utils/init/miscinit.c:1357 utils/init/miscinit.c:1499 utils/misc/guc.c:10377
+#: utils/init/miscinit.c:1377 utils/init/miscinit.c:1519 utils/misc/guc.c:10740
 #, c-format
 msgid "could not read from file \"%s\": %m"
 msgstr "konnte nicht aus Datei »%s« lesen: %m"
 
-#: utils/init/miscinit.c:1487
+#: utils/init/miscinit.c:1507
 #, c-format
 msgid "could not open file \"%s\": %m; continuing anyway"
 msgstr "konnte Datei »%s« nicht öffnen: %m; setze trotzdem fort"
 
-#: utils/init/miscinit.c:1512
+#: utils/init/miscinit.c:1532
 #, c-format
 msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld"
 msgstr "Sperrdatei »%s« enthält falsche PID: %ld statt %ld"
 
-#: utils/init/miscinit.c:1551 utils/init/miscinit.c:1567
+#: utils/init/miscinit.c:1571 utils/init/miscinit.c:1587
 #, c-format
 msgid "\"%s\" is not a valid data directory"
 msgstr "»%s« ist kein gültiges Datenverzeichnis"
 
-#: utils/init/miscinit.c:1553
+#: utils/init/miscinit.c:1573
 #, c-format
 msgid "File \"%s\" is missing."
 msgstr "Die Datei »%s« fehlt."
 
-#: utils/init/miscinit.c:1569
+#: utils/init/miscinit.c:1589
 #, c-format
 msgid "File \"%s\" does not contain valid data."
 msgstr "Die Datei »%s« enthält keine gültigen Daten."
 
-#: utils/init/miscinit.c:1571
+#: utils/init/miscinit.c:1591
 #, c-format
 msgid "You might need to initdb."
 msgstr "Sie müssen möglicherweise initdb ausführen."
 
-#: utils/init/miscinit.c:1579
+#: utils/init/miscinit.c:1599
 #, c-format
 msgid "The data directory was initialized by PostgreSQL version %s, which is not compatible with this version %s."
 msgstr "Das Datenverzeichnis wurde von PostgreSQL Version %s initialisiert, welche nicht mit dieser Version %s kompatibel ist."
 
-#: utils/init/postinit.c:254
+#: utils/init/postinit.c:258
 #, c-format
 msgid "replication connection authorized: user=%s"
 msgstr "Replikationsverbindung autorisiert: Benutzer=%s"
 
-#: utils/init/postinit.c:257
+#: utils/init/postinit.c:261
 #, c-format
 msgid "connection authorized: user=%s"
 msgstr "Verbindung autorisiert: Benutzer=%s"
 
-#: utils/init/postinit.c:260
+#: utils/init/postinit.c:264
 #, c-format
 msgid " database=%s"
 msgstr " Datenbank=%s"
 
-#: utils/init/postinit.c:263
+#: utils/init/postinit.c:267
 #, c-format
 msgid " application_name=%s"
 msgstr " application_name=%s"
 
-#: utils/init/postinit.c:268
+#: utils/init/postinit.c:272
 #, c-format
 msgid " SSL enabled (protocol=%s, cipher=%s, bits=%d)"
-msgstr "SSL an (Protokoll=%s, Verschlüsselungsmethode=%s, Bits=%d)"
+msgstr " SSL an (Protokoll=%s, Verschlüsselungsmethode=%s, Bits=%d)"
 
-#: utils/init/postinit.c:280
+#: utils/init/postinit.c:284
 #, c-format
 msgid " GSS (authenticated=%s, encrypted=%s, principal=%s)"
 msgstr " GSS (authentifiziert=%s, verschlüsselt=%s, Principal=%s)"
 
-#: utils/init/postinit.c:281 utils/init/postinit.c:282
-#: utils/init/postinit.c:287 utils/init/postinit.c:288
+#: utils/init/postinit.c:285 utils/init/postinit.c:286
+#: utils/init/postinit.c:291 utils/init/postinit.c:292
 msgid "no"
 msgstr "nein"
 
-#: utils/init/postinit.c:281 utils/init/postinit.c:282
-#: utils/init/postinit.c:287 utils/init/postinit.c:288
+#: utils/init/postinit.c:285 utils/init/postinit.c:286
+#: utils/init/postinit.c:291 utils/init/postinit.c:292
 msgid "yes"
 msgstr "ja"
 
-#: utils/init/postinit.c:286
+#: utils/init/postinit.c:290
 #, c-format
 msgid " GSS (authenticated=%s, encrypted=%s)"
 msgstr " GSS (authentifiziert=%s, verschlüsselt=%s)"
 
-#: utils/init/postinit.c:323
+#: utils/init/postinit.c:330
 #, c-format
 msgid "database \"%s\" has disappeared from pg_database"
 msgstr "Datenbank »%s« ist aus pg_database verschwunden"
 
-#: utils/init/postinit.c:325
+#: utils/init/postinit.c:332
 #, c-format
 msgid "Database OID %u now seems to belong to \"%s\"."
 msgstr "Datenbank-OID %u gehört jetzt anscheinend zu »%s«."
 
-#: utils/init/postinit.c:345
+#: utils/init/postinit.c:352
 #, c-format
 msgid "database \"%s\" is not currently accepting connections"
 msgstr "Datenbank »%s« akzeptiert gegenwärtig keine Verbindungen"
 
-#: utils/init/postinit.c:358
+#: utils/init/postinit.c:365
 #, c-format
 msgid "permission denied for database \"%s\""
 msgstr "keine Berechtigung für Datenbank »%s«"
 
-#: utils/init/postinit.c:359
+#: utils/init/postinit.c:366
 #, c-format
 msgid "User does not have CONNECT privilege."
 msgstr "Benutzer hat das CONNECT-Privileg nicht."
 
-#: utils/init/postinit.c:376
+#: utils/init/postinit.c:383
 #, c-format
 msgid "too many connections for database \"%s\""
 msgstr "zu viele Verbindungen für Datenbank »%s«"
 
-#: utils/init/postinit.c:398 utils/init/postinit.c:405
+#: utils/init/postinit.c:409 utils/init/postinit.c:416
 #, c-format
 msgid "database locale is incompatible with operating system"
 msgstr "Datenbank-Locale ist inkompatibel mit Betriebssystem"
 
-#: utils/init/postinit.c:399
+#: utils/init/postinit.c:410
 #, c-format
 msgid "The database was initialized with LC_COLLATE \"%s\",  which is not recognized by setlocale()."
 msgstr "Die Datenbank wurde mit LC_COLLATE »%s« initialisiert, was von setlocale() nicht erkannt wird."
 
-#: utils/init/postinit.c:401 utils/init/postinit.c:408
+#: utils/init/postinit.c:412 utils/init/postinit.c:419
 #, c-format
 msgid "Recreate the database with another locale or install the missing locale."
 msgstr "Erzeugen Sie die Datenbank neu mit einer anderen Locale oder installieren Sie die fehlende Locale."
 
-#: utils/init/postinit.c:406
+#: utils/init/postinit.c:417
 #, c-format
 msgid "The database was initialized with LC_CTYPE \"%s\",  which is not recognized by setlocale()."
 msgstr "Die Datenbank wurde mit LC_CTYPE »%s« initialisiert, was von setlocale() nicht erkannt wird."
 
-#: utils/init/postinit.c:761
+#: utils/init/postinit.c:457
+#, c-format
+msgid "database \"%s\" has no actual collation version, but a version was recorded"
+msgstr "Datenbank »%s« hat keine tatsächliche Sortierfolgenversion, aber eine Version wurde aufgezeichnet"
+
+#: utils/init/postinit.c:461
+#, fuzzy, c-format
+#| msgid "collation \"%s\" has version mismatch"
+msgid "database \"%s\" has a collation version mismatch"
+msgstr "Version von Sortierfolge »%s« stimmt nicht überein"
+
+#: utils/init/postinit.c:463
+#, fuzzy, c-format
+#| msgid "The collation in the database was created using version %s, but the operating system provides version %s."
+msgid "The database was created using collation version %s, but the operating system provides version %s."
+msgstr "Die Sortierfolge in der Datenbank wurde mit Version %s erzeugt, aber das Betriebssystem hat Version %s."
+
+#: utils/init/postinit.c:466
+#, 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 this database that use the default collation and run ALTER DATABASE %s REFRESH COLLATION VERSION, or build PostgreSQL with the right library version."
+msgstr "Bauen Sie alle von dieser Sortierfolge beinflussten Objekte neu und führen Sie ALTER COLLATION %s REFRESH VERSION aus, oder bauen Sie PostgreSQL mit der richtigen Bibliotheksversion."
+
+#: utils/init/postinit.c:815
 #, c-format
 msgid "no roles are defined in this database system"
 msgstr "in diesem Datenbanksystem sind keine Rollen definiert"
 
-#: utils/init/postinit.c:762
+#: utils/init/postinit.c:816
 #, c-format
 msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;."
 msgstr "Sie sollten sofort CREATE USER \"%s\" SUPERUSER; ausführen."
 
-#: utils/init/postinit.c:798
-#, c-format
-msgid "new replication connections are not allowed during database shutdown"
-msgstr "während des Herunterfahrens der Datenbank sind keine neuen Replikationsverbindungen erlaubt"
-
-#: utils/init/postinit.c:802
-#, c-format
-msgid "must be superuser to connect during database shutdown"
-msgstr "nur Superuser können während des Herunterfahrens der Datenbank verbinden"
-
-#: utils/init/postinit.c:812
+#: utils/init/postinit.c:848
 #, c-format
 msgid "must be superuser to connect in binary upgrade mode"
 msgstr "nur Superuser können im Binary-Upgrade-Modus verbinden"
 
-#: utils/init/postinit.c:825
+#: utils/init/postinit.c:861
 #, c-format
 msgid "remaining connection slots are reserved for non-replication superuser connections"
 msgstr "die verbleibenden Verbindungen sind für Superuser auf Nicht-Replikationsverbindungen reserviert"
 
-#: utils/init/postinit.c:835
+#: utils/init/postinit.c:871
 #, c-format
 msgid "must be superuser or replication role to start walsender"
 msgstr "nur Superuser und Replikationsrollen können WAL-Sender starten"
 
-#: utils/init/postinit.c:904
+#: utils/init/postinit.c:940
 #, c-format
 msgid "database %u does not exist"
 msgstr "Datenbank %u existiert nicht"
 
-#: utils/init/postinit.c:993
+#: utils/init/postinit.c:1029
 #, c-format
 msgid "It seems to have just been dropped or renamed."
 msgstr "Sie wurde anscheinend gerade gelöscht oder umbenannt."
 
-#: utils/init/postinit.c:1011
+#: utils/init/postinit.c:1047
 #, c-format
 msgid "The database subdirectory \"%s\" is missing."
 msgstr "Das Datenbankunterverzeichnis »%s« fehlt."
 
-#: utils/init/postinit.c:1016
-#, c-format
-msgid "could not access directory \"%s\": %m"
-msgstr "konnte nicht auf Verzeichnis »%s« zugreifen: %m"
-
 #: utils/mb/conv.c:522 utils/mb/conv.c:733
 #, c-format
 msgid "invalid encoding number: %d"
@@ -26093,1949 +27151,2008 @@ msgstr "ungültige Byte-Sequenz für Kodierung »%s«: %s"
 msgid "character with byte sequence %s in encoding \"%s\" has no equivalent in encoding \"%s\""
 msgstr "Zeichen mit Byte-Folge %s in Kodierung »%s« hat keine Entsprechung in Kodierung »%s«"
 
-#: utils/misc/guc.c:718
+#: utils/misc/guc.c:776
 msgid "Ungrouped"
 msgstr "Ungruppiert"
 
-#: utils/misc/guc.c:720
+#: utils/misc/guc.c:778
 msgid "File Locations"
 msgstr "Dateipfade"
 
-#: utils/misc/guc.c:722
+#: utils/misc/guc.c:780
 msgid "Connections and Authentication / Connection Settings"
 msgstr "Verbindungen und Authentifizierung / Verbindungseinstellungen"
 
-#: utils/misc/guc.c:724
+#: utils/misc/guc.c:782
 msgid "Connections and Authentication / Authentication"
 msgstr "Verbindungen und Authentifizierung / Authentifizierung"
 
-#: utils/misc/guc.c:726
+#: utils/misc/guc.c:784
 msgid "Connections and Authentication / SSL"
 msgstr "Verbindungen und Authentifizierung / SSL"
 
-#: utils/misc/guc.c:728
+#: utils/misc/guc.c:786
 msgid "Resource Usage / Memory"
 msgstr "Resourcenbenutzung / Speicher"
 
-#: utils/misc/guc.c:730
+#: utils/misc/guc.c:788
 msgid "Resource Usage / Disk"
 msgstr "Resourcenbenutzung / Festplatte"
 
-#: utils/misc/guc.c:732
+#: utils/misc/guc.c:790
 msgid "Resource Usage / Kernel Resources"
 msgstr "Resourcenbenutzung / Kernelresourcen"
 
-#: utils/misc/guc.c:734
+#: utils/misc/guc.c:792
 msgid "Resource Usage / Cost-Based Vacuum Delay"
 msgstr "Resourcenbenutzung / Kostenbasierte Vacuum-Verzögerung"
 
-#: utils/misc/guc.c:736
+#: utils/misc/guc.c:794
 msgid "Resource Usage / Background Writer"
 msgstr "Resourcenbenutzung / Background-Writer"
 
-#: utils/misc/guc.c:738
+#: utils/misc/guc.c:796
 msgid "Resource Usage / Asynchronous Behavior"
 msgstr "Resourcenbenutzung / Asynchrones Verhalten"
 
-#: utils/misc/guc.c:740
+#: utils/misc/guc.c:798
 msgid "Write-Ahead Log / Settings"
 msgstr "Write-Ahead-Log / Einstellungen"
 
-#: utils/misc/guc.c:742
+#: utils/misc/guc.c:800
 msgid "Write-Ahead Log / Checkpoints"
 msgstr "Write-Ahead-Log / Checkpoints"
 
-#: utils/misc/guc.c:744
+#: utils/misc/guc.c:802
 msgid "Write-Ahead Log / Archiving"
 msgstr "Write-Ahead-Log / Archivierung"
 
-#: utils/misc/guc.c:746
+#: utils/misc/guc.c:804
+msgid "Write-Ahead Log / Recovery"
+msgstr "Write-Ahead-Log / Wiederherstellung"
+
+#: utils/misc/guc.c:806
 msgid "Write-Ahead Log / Archive Recovery"
 msgstr "Write-Ahead-Log / Archivwiederherstellung"
 
-#: utils/misc/guc.c:748
+#: utils/misc/guc.c:808
 msgid "Write-Ahead Log / Recovery Target"
 msgstr "Write-Ahead-Log / Wiederherstellungsziele"
 
-#: utils/misc/guc.c:750
+#: utils/misc/guc.c:810
 msgid "Replication / Sending Servers"
 msgstr "Replikation / sendende Server"
 
-#: utils/misc/guc.c:752
+#: utils/misc/guc.c:812
 msgid "Replication / Primary Server"
 msgstr "Replikation / Primärserver"
 
-#: utils/misc/guc.c:754
+#: utils/misc/guc.c:814
 msgid "Replication / Standby Servers"
 msgstr "Replikation / Standby-Server"
 
-#: utils/misc/guc.c:756
+#: utils/misc/guc.c:816
 msgid "Replication / Subscribers"
 msgstr "Replikation / Subskriptionsserver"
 
-#: utils/misc/guc.c:758
+#: utils/misc/guc.c:818
 msgid "Query Tuning / Planner Method Configuration"
 msgstr "Anfragetuning / Planermethoden"
 
-#: utils/misc/guc.c:760
+#: utils/misc/guc.c:820
 msgid "Query Tuning / Planner Cost Constants"
 msgstr "Anfragetuning / Planerkosten"
 
-#: utils/misc/guc.c:762
+#: utils/misc/guc.c:822
 msgid "Query Tuning / Genetic Query Optimizer"
 msgstr "Anfragetuning / Genetischer Anfrageoptimierer"
 
-#: utils/misc/guc.c:764
+#: utils/misc/guc.c:824
 msgid "Query Tuning / Other Planner Options"
 msgstr "Anfragetuning / Andere Planeroptionen"
 
-#: utils/misc/guc.c:766
+#: utils/misc/guc.c:826
 msgid "Reporting and Logging / Where to Log"
 msgstr "Berichte und Logging / Wohin geloggt wird"
 
-#: utils/misc/guc.c:768
+#: utils/misc/guc.c:828
 msgid "Reporting and Logging / When to Log"
 msgstr "Berichte und Logging / Wann geloggt wird"
 
-#: utils/misc/guc.c:770
+#: utils/misc/guc.c:830
 msgid "Reporting and Logging / What to Log"
 msgstr "Berichte und Logging / Was geloggt wird"
 
-#: utils/misc/guc.c:772
+#: utils/misc/guc.c:832
 msgid "Reporting and Logging / Process Title"
 msgstr "Berichte und Logging / Prozesstitel"
 
-#: utils/misc/guc.c:774
+#: utils/misc/guc.c:834
 msgid "Statistics / Monitoring"
 msgstr "Statistiken / Überwachung"
 
-#: utils/misc/guc.c:776
-msgid "Statistics / Query and Index Statistics Collector"
+#: utils/misc/guc.c:836
+#, fuzzy
+#| msgid "Statistics / Query and Index Statistics Collector"
+msgid "Statistics / Cumulative Query and Index Statistics"
 msgstr "Statistiken / Statistiksammler für Anfragen und Indexe"
 
-#: utils/misc/guc.c:778
+#: utils/misc/guc.c:838
 msgid "Autovacuum"
 msgstr "Autovacuum"
 
-#: utils/misc/guc.c:780
+#: utils/misc/guc.c:840
 msgid "Client Connection Defaults / Statement Behavior"
 msgstr "Standardeinstellungen für Clientverbindungen / Anweisungsverhalten"
 
-#: utils/misc/guc.c:782
+#: utils/misc/guc.c:842
 msgid "Client Connection Defaults / Locale and Formatting"
 msgstr "Standardeinstellungen für Clientverbindungen / Locale und Formatierung"
 
-#: utils/misc/guc.c:784
+#: utils/misc/guc.c:844
 msgid "Client Connection Defaults / Shared Library Preloading"
 msgstr "Standardeinstellungen für Clientverbindungen / Shared Library Preloading"
 
-#: utils/misc/guc.c:786
+#: utils/misc/guc.c:846
 msgid "Client Connection Defaults / Other Defaults"
 msgstr "Standardeinstellungen für Clientverbindungen / Andere"
 
-#: utils/misc/guc.c:788
+#: utils/misc/guc.c:848
 msgid "Lock Management"
 msgstr "Sperrenverwaltung"
 
-#: utils/misc/guc.c:790
+#: utils/misc/guc.c:850
 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions"
 msgstr "Versions- und Plattformkompatibilität / Frühere PostgreSQL-Versionen"
 
-#: utils/misc/guc.c:792
+#: utils/misc/guc.c:852
 msgid "Version and Platform Compatibility / Other Platforms and Clients"
 msgstr "Versions- und Plattformkompatibilität / Andere Plattformen und Clients"
 
-#: utils/misc/guc.c:794
+#: utils/misc/guc.c:854
 msgid "Error Handling"
 msgstr "Fehlerbehandlung"
 
-#: utils/misc/guc.c:796
+#: utils/misc/guc.c:856
 msgid "Preset Options"
 msgstr "Voreingestellte Optionen"
 
-#: utils/misc/guc.c:798
+#: utils/misc/guc.c:858
 msgid "Customized Options"
 msgstr "Angepasste Optionen"
 
-#: utils/misc/guc.c:800
+#: utils/misc/guc.c:860
 msgid "Developer Options"
 msgstr "Entwickleroptionen"
 
-#: utils/misc/guc.c:858
+#: utils/misc/guc.c:918
 msgid "Valid units for this parameter are \"B\", \"kB\", \"MB\", \"GB\", and \"TB\"."
 msgstr "Gültige Einheiten für diesen Parameter sind »B«, »kB«, »MB«, »GB« und »TB«."
 
-#: utils/misc/guc.c:895
+#: utils/misc/guc.c:955
 msgid "Valid units for this parameter are \"us\", \"ms\", \"s\", \"min\", \"h\", and \"d\"."
 msgstr "Gültige Einheiten für diesen Parameter sind »us«, »ms«, »s«, »min«, »h« und »d«."
 
-#: utils/misc/guc.c:957
+#: utils/misc/guc.c:1017
 msgid "Enables the planner's use of sequential-scan plans."
 msgstr "Ermöglicht sequenzielle Scans in Planer."
 
-#: utils/misc/guc.c:967
+#: utils/misc/guc.c:1027
 msgid "Enables the planner's use of index-scan plans."
 msgstr "Ermöglicht Index-Scans im Planer."
 
-#: utils/misc/guc.c:977
+#: utils/misc/guc.c:1037
 msgid "Enables the planner's use of index-only-scan plans."
 msgstr "Ermöglicht Index-Only-Scans im Planer."
 
-#: utils/misc/guc.c:987
+#: utils/misc/guc.c:1047
 msgid "Enables the planner's use of bitmap-scan plans."
 msgstr "Ermöglicht Bitmap-Scans im Planer."
 
-#: utils/misc/guc.c:997
+#: utils/misc/guc.c:1057
 msgid "Enables the planner's use of TID scan plans."
 msgstr "Ermöglicht TID-Scans im Planer."
 
-#: utils/misc/guc.c:1007
+#: utils/misc/guc.c:1067
 msgid "Enables the planner's use of explicit sort steps."
 msgstr "Ermöglicht Sortierschritte im Planer."
 
-#: utils/misc/guc.c:1017
+#: utils/misc/guc.c:1077
 msgid "Enables the planner's use of incremental sort steps."
 msgstr "Ermöglicht inkrementelle Sortierschritte im Planer."
 
-#: utils/misc/guc.c:1026
+#: utils/misc/guc.c:1087
 msgid "Enables the planner's use of hashed aggregation plans."
 msgstr "Ermöglicht Hash-Aggregierung im Planer."
 
-#: utils/misc/guc.c:1036
+#: utils/misc/guc.c:1097
 msgid "Enables the planner's use of materialization."
 msgstr "Ermöglicht Materialisierung im Planer."
 
-#: utils/misc/guc.c:1046
-#, fuzzy
-#| msgid "Enables the planner's use of parallel hash plans."
-msgid "Enables the planner's use of result caching."
-msgstr "Ermöglicht parallele Hash-Pläne im Planer."
+#: utils/misc/guc.c:1107
+msgid "Enables the planner's use of memoization."
+msgstr "Ermöglicht Memoization im Planer."
 
-#: utils/misc/guc.c:1056
+#: utils/misc/guc.c:1117
 msgid "Enables the planner's use of nested-loop join plans."
 msgstr "Ermöglicht Nested-Loop-Verbunde im Planer."
 
-#: utils/misc/guc.c:1066
+#: utils/misc/guc.c:1127
 msgid "Enables the planner's use of merge join plans."
 msgstr "Ermöglicht Merge-Verbunde im Planer."
 
-#: utils/misc/guc.c:1076
+#: utils/misc/guc.c:1137
 msgid "Enables the planner's use of hash join plans."
 msgstr "Ermöglicht Hash-Verbunde im Planer."
 
-#: utils/misc/guc.c:1086
+#: utils/misc/guc.c:1147
 msgid "Enables the planner's use of gather merge plans."
 msgstr "Ermöglicht Gather-Merge-Pläne im Planer."
 
-#: utils/misc/guc.c:1096
+#: utils/misc/guc.c:1157
 msgid "Enables partitionwise join."
 msgstr "Ermöglicht partitionsweise Verbunde."
 
-#: utils/misc/guc.c:1106
+#: utils/misc/guc.c:1167
 msgid "Enables partitionwise aggregation and grouping."
 msgstr "Ermöglicht partitionsweise Aggregierung und Gruppierung."
 
-#: utils/misc/guc.c:1116
+#: utils/misc/guc.c:1177
 msgid "Enables the planner's use of parallel append plans."
 msgstr "Ermöglicht parallele Append-Pläne im Planer."
 
-#: utils/misc/guc.c:1126
+#: utils/misc/guc.c:1187
 msgid "Enables the planner's use of parallel hash plans."
 msgstr "Ermöglicht parallele Hash-Pläne im Planer."
 
-#: utils/misc/guc.c:1136
+#: utils/misc/guc.c:1197
 msgid "Enables plan-time and execution-time partition pruning."
 msgstr "Ermöglicht Partition-Pruning zur Planzeit und zur Ausführungszeit."
 
-#: utils/misc/guc.c:1137
+#: utils/misc/guc.c:1198
 msgid "Allows the query planner and executor to compare partition bounds to conditions in the query to determine which partitions must be scanned."
 msgstr "Erlaubt es dem Planer und dem Executor, Partitionsbegrenzungen mit Bedingungen in der Anfrage zu vergleichen, um festzustellen, welche Partitionen gelesen werden müssen."
 
-#: utils/misc/guc.c:1148
-#, fuzzy
-#| msgid "Enables the planner's use of parallel append plans."
+#: utils/misc/guc.c:1209
 msgid "Enables the planner's use of async append plans."
-msgstr "Ermöglicht parallele Append-Pläne im Planer."
+msgstr "Ermöglicht asynchrone Append-Pläne im Planer."
+
+#: utils/misc/guc.c:1219
+msgid "enable reordering of GROUP BY key"
+msgstr ""
 
-#: utils/misc/guc.c:1158
+#: utils/misc/guc.c:1229
 msgid "Enables genetic query optimization."
 msgstr "Ermöglicht genetische Anfrageoptimierung."
 
-#: utils/misc/guc.c:1159
+#: utils/misc/guc.c:1230
 msgid "This algorithm attempts to do planning without exhaustive searching."
 msgstr "Dieser Algorithmus versucht das Planen ohne erschöpfende Suche durchzuführen."
 
-#: utils/misc/guc.c:1170
+#: utils/misc/guc.c:1241
 msgid "Shows whether the current user is a superuser."
 msgstr "Zeigt, ob der aktuelle Benutzer ein Superuser ist."
 
-#: utils/misc/guc.c:1180
+#: utils/misc/guc.c:1251
 msgid "Enables advertising the server via Bonjour."
 msgstr "Ermöglicht die Bekanntgabe des Servers mit Bonjour."
 
-#: utils/misc/guc.c:1189
+#: utils/misc/guc.c:1260
 msgid "Collects transaction commit time."
 msgstr "Sammelt Commit-Timestamps von Transaktionen."
 
-#: utils/misc/guc.c:1198
+#: utils/misc/guc.c:1269
 msgid "Enables SSL connections."
 msgstr "Ermöglicht SSL-Verbindungen."
 
-#: utils/misc/guc.c:1207
-msgid "Also use ssl_passphrase_command during server reload."
+#: utils/misc/guc.c:1278
+#, fuzzy
+#| msgid "Also use ssl_passphrase_command during server reload."
+msgid "Controls whether ssl_passphrase_command is called during server reload."
 msgstr "ssl_passphrase_command auch beim Neuladen des Servers verwenden."
 
-#: utils/misc/guc.c:1216
+#: utils/misc/guc.c:1287
 msgid "Give priority to server ciphersuite order."
 msgstr "Der Ciphersuite-Reihenfolge des Servers Vorrang geben."
 
-#: utils/misc/guc.c:1225
+#: utils/misc/guc.c:1296
 msgid "Forces synchronization of updates to disk."
 msgstr "Erzwingt die Synchronisierung von Aktualisierungen auf Festplatte."
 
-#: utils/misc/guc.c:1226
+#: utils/misc/guc.c:1297
 msgid "The server will use the fsync() system call in several places to make sure that updates are physically written to disk. This insures that a database cluster will recover to a consistent state after an operating system or hardware crash."
 msgstr "Der Server verwendet den Systemaufruf fsync() an mehreren Stellen, um sicherzustellen, dass Datenänderungen physikalisch auf die Festplatte geschrieben werden. Das stellt sicher, dass der Datenbankcluster nach einem Betriebssystemabsturz oder Hardwarefehler in einem korrekten Zustand wiederhergestellt werden kann."
 
-#: utils/misc/guc.c:1237
+#: utils/misc/guc.c:1308
 msgid "Continues processing after a checksum failure."
 msgstr "Setzt die Verarbeitung trotz Prüfsummenfehler fort."
 
-#: utils/misc/guc.c:1238
+#: utils/misc/guc.c:1309
 msgid "Detection of a checksum failure normally causes PostgreSQL to report an error, aborting the current transaction. Setting ignore_checksum_failure to true causes the system to ignore the failure (but still report a warning), and continue processing. This behavior could cause crashes or other serious problems. Only has an effect if checksums are enabled."
 msgstr "Wenn eine fehlerhafte Prüfsumme entdeckt wird, gibt PostgreSQL normalerweise ein Fehler aus und bricht die aktuelle Transaktion ab. Wenn »ignore_checksum_failure« an ist, dann wird der Fehler ignoriert (aber trotzdem eine Warnung ausgegeben) und die Verarbeitung geht weiter. Dieses Verhalten kann Abstürze und andere ernsthafte Probleme verursachen. Es hat keine Auswirkungen, wenn Prüfsummen nicht eingeschaltet sind."
 
-#: utils/misc/guc.c:1252
+#: utils/misc/guc.c:1323
 msgid "Continues processing past damaged page headers."
 msgstr "Setzt die Verarbeitung trotz kaputter Seitenköpfe fort."
 
-#: utils/misc/guc.c:1253
+#: utils/misc/guc.c:1324
 msgid "Detection of a damaged page header normally causes PostgreSQL to report an error, aborting the current transaction. Setting zero_damaged_pages to true causes the system to instead report a warning, zero out the damaged page, and continue processing. This behavior will destroy data, namely all the rows on the damaged page."
 msgstr "Wenn ein kaputter Seitenkopf entdeckt wird, gibt PostgreSQL normalerweise einen Fehler aus und bricht die aktuelle Transaktion ab. Wenn »zero_damaged_pages« an ist, dann wird eine Warnung ausgegeben, die kaputte Seite mit Nullen gefüllt und die Verarbeitung geht weiter. Dieses Verhalten zerstört Daten, nämlich alle Zeilen in der kaputten Seite."
 
-#: utils/misc/guc.c:1266
+#: utils/misc/guc.c:1337
 msgid "Continues recovery after an invalid pages failure."
 msgstr "Setzt die Wiederherstellung trotz Fehler durch ungültige Seiten fort."
 
-#: utils/misc/guc.c:1267
+#: utils/misc/guc.c:1338
 msgid "Detection of WAL records having references to invalid pages during recovery causes PostgreSQL to raise a PANIC-level error, aborting the recovery. Setting ignore_invalid_pages to true causes the system to ignore invalid page references in WAL records (but still report a warning), and continue recovery. This behavior may cause crashes, data loss, propagate or hide corruption, or other serious problems. Only has an effect during recovery or in standby mode."
 msgstr "Wenn WAL-Einträge mit Verweisen auf ungültige Seiten bei der Wiederherstellung erkannt werden, verursacht das einen PANIC-Fehler, wodurch die Wiederherstellung abgebrochen wird. Wenn »ignore_invalid_pages« an ist, dann werden ungültige Seitenverweise in WAL-Einträgen ignoriert (aber trotzen eine Warnung ausgegeben) und die Wiederherstellung wird fortgesetzt. Dieses Verhalten kann Abstürze und Datenverlust verursachen, Datenverfälschung verbreiten oder verstecken sowie andere ernsthafte Probleme verursachen. Es hat nur Auswirkungen im Wiederherstellungs- oder Standby-Modus."
 
-#: utils/misc/guc.c:1285
+#: utils/misc/guc.c:1356
 msgid "Writes full pages to WAL when first modified after a checkpoint."
 msgstr "Schreibt volle Seiten in den WAL, sobald sie nach einem Checkpoint geändert werden."
 
-#: utils/misc/guc.c:1286
+#: utils/misc/guc.c:1357
 msgid "A page write in process during an operating system crash might be only partially written to disk.  During recovery, the row changes stored in WAL are not enough to recover.  This option writes pages when first modified after a checkpoint to WAL so full recovery is possible."
 msgstr "Ein Seitenschreibvorgang während eines Betriebssystemabsturzes könnte eventuell nur teilweise geschrieben worden sein. Bei der Wiederherstellung sind die im WAL gespeicherten Zeilenänderungen nicht ausreichend. Diese Option schreibt Seiten, sobald sie nach einem Checkpoint geändert worden sind, damit eine volle Wiederherstellung möglich ist."
 
-#: utils/misc/guc.c:1299
+#: utils/misc/guc.c:1370
 msgid "Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modification."
 msgstr "Schreibt volle Seiten in den WAL, sobald sie nach einem Checkpoint geändert werden, auch für eine nicht kritische Änderung."
 
-#: utils/misc/guc.c:1309
-msgid "Compresses full-page writes written in WAL file."
-msgstr "Komprimiert in WAL-Dateien geschriebene volle Seiten."
-
-#: utils/misc/guc.c:1319
+#: utils/misc/guc.c:1380
 msgid "Writes zeroes to new WAL files before first use."
 msgstr "Schreibt Nullen in neue WAL-Dateien vor der ersten Verwendung."
 
-#: utils/misc/guc.c:1329
+#: utils/misc/guc.c:1390
 msgid "Recycles WAL files by renaming them."
 msgstr "WAL-Dateien werden durch Umbenennen wiederverwendet."
 
-#: utils/misc/guc.c:1339
+#: utils/misc/guc.c:1400
 msgid "Logs each checkpoint."
 msgstr "Schreibt jeden Checkpoint in den Log."
 
-#: utils/misc/guc.c:1348
+#: utils/misc/guc.c:1409
 msgid "Logs each successful connection."
 msgstr "Schreibt jede erfolgreiche Verbindung in den Log."
 
-#: utils/misc/guc.c:1357
+#: utils/misc/guc.c:1418
 msgid "Logs end of a session, including duration."
 msgstr "Schreibt jedes Verbindungsende mit Sitzungszeit in den Log."
 
-#: utils/misc/guc.c:1366
+#: utils/misc/guc.c:1427
 msgid "Logs each replication command."
 msgstr "Schreibt jeden Replikationsbefehl in den Log."
 
-#: utils/misc/guc.c:1375
+#: utils/misc/guc.c:1436
 msgid "Shows whether the running server has assertion checks enabled."
 msgstr "Zeigt, ob der laufende Server Assertion-Prüfungen aktiviert hat."
 
-#: utils/misc/guc.c:1390
+#: utils/misc/guc.c:1451
 msgid "Terminate session on any error."
 msgstr "Sitzung bei jedem Fehler abbrechen."
 
-#: utils/misc/guc.c:1399
+#: utils/misc/guc.c:1460
 msgid "Reinitialize server after backend crash."
 msgstr "Server nach Absturz eines Serverprozesses reinitialisieren."
 
-#: utils/misc/guc.c:1408
-#, fuzzy
-#| msgid "Reinitialize server after backend crash."
+#: utils/misc/guc.c:1469
 msgid "Remove temporary files after backend crash."
-msgstr "Server nach Absturz eines Serverprozesses reinitialisieren."
+msgstr "Temporäre Dateien nach Absturz eines Serverprozesses löschen."
 
-#: utils/misc/guc.c:1418
+#: utils/misc/guc.c:1480
 msgid "Logs the duration of each completed SQL statement."
 msgstr "Loggt die Dauer jeder abgeschlossenen SQL-Anweisung."
 
-#: utils/misc/guc.c:1427
+#: utils/misc/guc.c:1489
 msgid "Logs each query's parse tree."
 msgstr "Scheibt den Parsebaum jeder Anfrage in den Log."
 
-#: utils/misc/guc.c:1436
+#: utils/misc/guc.c:1498
 msgid "Logs each query's rewritten parse tree."
 msgstr "Schreibt den umgeschriebenen Parsebaum jeder Anfrage in den Log."
 
-#: utils/misc/guc.c:1445
+#: utils/misc/guc.c:1507
 msgid "Logs each query's execution plan."
 msgstr "Schreibt den Ausführungsplan jeder Anfrage in den Log."
 
-#: utils/misc/guc.c:1454
+#: utils/misc/guc.c:1516
 msgid "Indents parse and plan tree displays."
 msgstr "Rückt die Anzeige von Parse- und Planbäumen ein."
 
-#: utils/misc/guc.c:1463
+#: utils/misc/guc.c:1525
 msgid "Writes parser performance statistics to the server log."
 msgstr "Schreibt Parser-Leistungsstatistiken in den Serverlog."
 
-#: utils/misc/guc.c:1472
+#: utils/misc/guc.c:1534
 msgid "Writes planner performance statistics to the server log."
 msgstr "Schreibt Planer-Leistungsstatistiken in den Serverlog."
 
-#: utils/misc/guc.c:1481
+#: utils/misc/guc.c:1543
 msgid "Writes executor performance statistics to the server log."
 msgstr "Schreibt Executor-Leistungsstatistiken in den Serverlog."
 
-#: utils/misc/guc.c:1490
+#: utils/misc/guc.c:1552
 msgid "Writes cumulative performance statistics to the server log."
 msgstr "Schreibt Gesamtleistungsstatistiken in den Serverlog."
 
-#: utils/misc/guc.c:1500
+#: utils/misc/guc.c:1562
 msgid "Logs system resource usage statistics (memory and CPU) on various B-tree operations."
 msgstr "Loggt Statistiken über Systemressourcen (Speicher und CPU) während diverser B-Baum-Operationen."
 
-#: utils/misc/guc.c:1512
+#: utils/misc/guc.c:1574
 msgid "Collects information about executing commands."
 msgstr "Sammelt Informationen über ausgeführte Befehle."
 
-#: utils/misc/guc.c:1513
+#: utils/misc/guc.c:1575
 msgid "Enables the collection of information on the currently executing command of each session, along with the time at which that command began execution."
 msgstr "Schaltet die Sammlung von Informationen über den aktuell ausgeführten Befehl jeder Sitzung ein, einschließlich der Zeit, and dem die Befehlsausführung begann."
 
-#: utils/misc/guc.c:1523
+#: utils/misc/guc.c:1585
 msgid "Collects statistics on database activity."
 msgstr "Sammelt Statistiken über Datenbankaktivität."
 
-#: utils/misc/guc.c:1532
+#: utils/misc/guc.c:1594
 msgid "Collects timing statistics for database I/O activity."
 msgstr "Sammelt Zeitmessungsstatistiken über Datenbank-I/O-Aktivität."
 
-#: utils/misc/guc.c:1541
-#, fuzzy
-#| msgid "Collects timing statistics for database I/O activity."
+#: utils/misc/guc.c:1603
 msgid "Collects timing statistics for WAL I/O activity."
-msgstr "Sammelt Zeitmessungsstatistiken über Datenbank-I/O-Aktivität."
+msgstr "Sammelt Zeitmessungsstatistiken über WAL-I/O-Aktivität."
 
-#: utils/misc/guc.c:1551
+#: utils/misc/guc.c:1613
 msgid "Updates the process title to show the active SQL command."
 msgstr "Der Prozesstitel wird aktualisiert, um den aktuellen SQL-Befehl anzuzeigen."
 
-#: utils/misc/guc.c:1552
+#: utils/misc/guc.c:1614
 msgid "Enables updating of the process title every time a new SQL command is received by the server."
 msgstr "Ermöglicht das Aktualisieren des Prozesstitels bei jedem von Server empfangenen neuen SQL-Befehl."
 
-#: utils/misc/guc.c:1565
+#: utils/misc/guc.c:1627
 msgid "Starts the autovacuum subprocess."
 msgstr "Startet den Autovacuum-Prozess."
 
-#: utils/misc/guc.c:1575
+#: utils/misc/guc.c:1637
 msgid "Generates debugging output for LISTEN and NOTIFY."
 msgstr "Erzeugt Debug-Ausgabe für LISTEN und NOTIFY."
 
-#: utils/misc/guc.c:1587
+#: utils/misc/guc.c:1649
 msgid "Emits information about lock usage."
 msgstr "Gibt Informationen über Sperrenverwendung aus."
 
-#: utils/misc/guc.c:1597
+#: utils/misc/guc.c:1659
 msgid "Emits information about user lock usage."
 msgstr "Gibt Informationen über Benutzersperrenverwendung aus."
 
-#: utils/misc/guc.c:1607
+#: utils/misc/guc.c:1669
 msgid "Emits information about lightweight lock usage."
 msgstr "Gibt Informationen über die Verwendung von Lightweight Locks aus."
 
-#: utils/misc/guc.c:1617
+#: utils/misc/guc.c:1679
 msgid "Dumps information about all current locks when a deadlock timeout occurs."
 msgstr "Gibt Informationen über alle aktuellen Sperren aus, wenn eine Verklemmung auftritt."
 
-#: utils/misc/guc.c:1629
+#: utils/misc/guc.c:1691
 msgid "Logs long lock waits."
 msgstr "Schreibt Meldungen über langes Warten auf Sperren in den Log."
 
-#: utils/misc/guc.c:1638
-#, fuzzy
-#| msgid "abort reason: recovery conflict"
+#: utils/misc/guc.c:1700
 msgid "Logs standby recovery conflict waits."
-msgstr "Abbruchgrund: Konflikt bei Wiederherstellung"
+msgstr "Schreibt Meldungen über Warten wegen Konflikten bei Wiederherstellung in den Log."
 
-#: utils/misc/guc.c:1647
+#: utils/misc/guc.c:1709
 msgid "Logs the host name in the connection logs."
 msgstr "Schreibt den Hostnamen jeder Verbindung in den Log."
 
-#: utils/misc/guc.c:1648
+#: utils/misc/guc.c:1710
 msgid "By default, connection logs only show the IP address of the connecting host. If you want them to show the host name you can turn this on, but depending on your host name resolution setup it might impose a non-negligible performance penalty."
 msgstr "In der Standardeinstellung zeigen die Verbindungslogs nur die IP-Adresse der Clienthosts. Wenn Sie den Hostnamen auch anzeigen wollen, dann können Sie diese Option anschalten, aber je nachdem, wie Ihr DNS eingerichtet ist, kann das die Leistung nicht unerheblich beeinträchtigen."
 
-#: utils/misc/guc.c:1659
+#: utils/misc/guc.c:1721
 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"."
 msgstr "Behandelt »ausdruck=NULL« als »ausdruck IS NULL«."
 
-#: utils/misc/guc.c:1660
+#: utils/misc/guc.c:1722
 msgid "When turned on, expressions of the form expr = NULL (or NULL = expr) are treated as expr IS NULL, that is, they return true if expr evaluates to the null value, and false otherwise. The correct behavior of expr = NULL is to always return null (unknown)."
 msgstr "Wenn an, dann werden Ausdrücke der Form ausdruck = NULL (oder NULL = ausdruck) wie ausdruck IS NULL behandelt, das heißt, sie ergeben wahr, wenn das Ergebnis von ausdruck der NULL-Wert ist, und ansonsten falsch. Das korrekte Verhalten von ausdruck = NULL ist immer den NULL-Wert (für unbekannt) zurückzugeben."
 
-#: utils/misc/guc.c:1672
+#: utils/misc/guc.c:1734
 msgid "Enables per-database user names."
 msgstr "Ermöglicht Datenbank-lokale Benutzernamen."
 
-#: utils/misc/guc.c:1681
+#: utils/misc/guc.c:1743
 msgid "Sets the default read-only status of new transactions."
 msgstr "Setzt den Standardwert für die Read-Only-Einstellung einer neuen Transaktion."
 
-#: utils/misc/guc.c:1691
+#: utils/misc/guc.c:1753
 msgid "Sets the current transaction's read-only status."
 msgstr "Setzt die Read-Only-Einstellung der aktuellen Transaktion."
 
-#: utils/misc/guc.c:1701
+#: utils/misc/guc.c:1763
 msgid "Sets the default deferrable status of new transactions."
 msgstr "Setzt den Standardwert für die Deferrable-Einstellung einer neuen Transaktion."
 
-#: utils/misc/guc.c:1710
+#: utils/misc/guc.c:1772
 msgid "Whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures."
 msgstr "Ob eine serialisierbare Read-Only-Transaktion aufgeschoben werden soll, bis sie ohne mögliche Serialisierungsfehler ausgeführt werden kann."
 
-#: utils/misc/guc.c:1720
+#: utils/misc/guc.c:1782
 msgid "Enable row security."
 msgstr "Schaltet Sicherheit auf Zeilenebene ein."
 
-#: utils/misc/guc.c:1721
+#: utils/misc/guc.c:1783
 msgid "When enabled, row security will be applied to all users."
 msgstr "Wenn eingeschaltet, wird Sicherheit auf Zeilenebene auf alle Benutzer angewendet."
 
-#: utils/misc/guc.c:1729
+#: utils/misc/guc.c:1791
 msgid "Check routine bodies during CREATE FUNCTION and CREATE PROCEDURE."
 msgstr "Prüft Funktionskörper bei der Ausführung von CREATE FUNCTION und CREATE PROCEDURE."
 
-#: utils/misc/guc.c:1738
+#: utils/misc/guc.c:1800
 msgid "Enable input of NULL elements in arrays."
 msgstr "Ermöglicht die Eingabe von NULL-Elementen in Arrays."
 
-#: utils/misc/guc.c:1739
+#: utils/misc/guc.c:1801
 msgid "When turned on, unquoted NULL in an array input value means a null value; otherwise it is taken literally."
 msgstr "Wenn dies eingeschaltet ist, wird ein nicht gequotetes NULL in einem Array-Eingabewert als NULL-Wert interpretiert, ansonsten als Zeichenkette."
 
-#: utils/misc/guc.c:1755
+#: utils/misc/guc.c:1817
 msgid "WITH OIDS is no longer supported; this can only be false."
 msgstr "WITH OIDS wird nicht mehr unterstützt; kann nur auf falsch gesetzt werden."
 
-#: utils/misc/guc.c:1765
+#: utils/misc/guc.c:1827
 msgid "Start a subprocess to capture stderr output and/or csvlogs into log files."
 msgstr "Startet einen Subprozess, um die Stderr-Ausgabe und/oder CSV-Logs in Logdateien auszugeben."
 
-#: utils/misc/guc.c:1774
+#: utils/misc/guc.c:1836
 msgid "Truncate existing log files of same name during log rotation."
 msgstr "Kürzt existierende Logdateien mit dem selben Namen beim Rotieren."
 
-#: utils/misc/guc.c:1785
+#: utils/misc/guc.c:1847
 msgid "Emit information about resource usage in sorting."
 msgstr "Gibt Informationen über die Ressourcenverwendung beim Sortieren aus."
 
-#: utils/misc/guc.c:1799
+#: utils/misc/guc.c:1861
 msgid "Generate debugging output for synchronized scanning."
 msgstr "Erzeugt Debug-Ausgabe für synchronisiertes Scannen."
 
-#: utils/misc/guc.c:1814
+#: utils/misc/guc.c:1876
 msgid "Enable bounded sorting using heap sort."
 msgstr "Ermöglicht Bounded Sorting mittels Heap-Sort."
 
-#: utils/misc/guc.c:1827
+#: utils/misc/guc.c:1889
 msgid "Emit WAL-related debugging output."
 msgstr "Gibt diverse Debug-Meldungen über WAL aus."
 
-#: utils/misc/guc.c:1839
-#, fuzzy
-#| msgid "Datetimes are integer based."
+#: utils/misc/guc.c:1901
 msgid "Shows whether datetimes are integer based."
-msgstr "Datum/Zeit verwendet intern ganze Zahlen."
+msgstr "Zeigt ob Datum/Zeit intern ganze Zahlen verwendet."
 
-#: utils/misc/guc.c:1850
+#: utils/misc/guc.c:1912
 msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive."
 msgstr "Bestimmt, ob Groß-/Kleinschreibung bei Kerberos- und GSSAPI-Benutzernamen ignoriert werden soll."
 
-#: utils/misc/guc.c:1860
+#: utils/misc/guc.c:1922
 msgid "Warn about backslash escapes in ordinary string literals."
 msgstr "Warnt bei Backslash-Escapes in normalen Zeichenkettenkonstanten."
 
-#: utils/misc/guc.c:1870
+#: utils/misc/guc.c:1932
 msgid "Causes '...' strings to treat backslashes literally."
 msgstr "Bewirkt, dass Zeichenketten der Art '...' Backslashes als normales Zeichen behandeln."
 
-#: utils/misc/guc.c:1881
+#: utils/misc/guc.c:1943
 msgid "Enable synchronized sequential scans."
 msgstr "Ermöglicht synchronisierte sequenzielle Scans."
 
-#: utils/misc/guc.c:1891
+#: utils/misc/guc.c:1953
 msgid "Sets whether to include or exclude transaction with recovery target."
 msgstr "Setzt ob die Transaktion mit dem Wiederherstellungsziel einbezogen oder ausgeschlossen wird."
 
-#: utils/misc/guc.c:1901
+#: utils/misc/guc.c:1963
 msgid "Allows connections and queries during recovery."
 msgstr "Erlaubt Verbindungen und Anfragen während der Wiederherstellung."
 
-#: utils/misc/guc.c:1911
+#: utils/misc/guc.c:1973
 msgid "Allows feedback from a hot standby to the primary that will avoid query conflicts."
 msgstr "Erlaubt Rückmeldungen von einem Hot Standby an den Primärserver, um Anfragekonflikte zu vermeiden."
 
-#: utils/misc/guc.c:1921
+#: utils/misc/guc.c:1983
 msgid "Shows whether hot standby is currently active."
 msgstr "Zeigt, ob Hot Standby aktuell aktiv ist."
 
-#: utils/misc/guc.c:1932
+#: utils/misc/guc.c:1994
 msgid "Allows modifications of the structure of system tables."
 msgstr "Erlaubt Änderungen an der Struktur von Systemtabellen."
 
-#: utils/misc/guc.c:1943
+#: utils/misc/guc.c:2005
 msgid "Disables reading from system indexes."
 msgstr "Schaltet das Lesen aus Systemindexen ab."
 
-#: utils/misc/guc.c:1944
+#: utils/misc/guc.c:2006
 msgid "It does not prevent updating the indexes, so it is safe to use.  The worst consequence is slowness."
 msgstr "Das Aktualisieren der Indexe wird nicht verhindert, also ist die Verwendung unbedenklich. Schlimmstenfalls wird alles langsamer."
 
-#: utils/misc/guc.c:1955
+#: utils/misc/guc.c:2017
+msgid "Allows tablespaces directly inside pg_tblspc, for testing."
+msgstr ""
+
+#: utils/misc/guc.c:2028
 msgid "Enables backward compatibility mode for privilege checks on large objects."
 msgstr "Schaltet den rückwärtskompatiblen Modus für Privilegienprüfungen bei Large Objects ein."
 
-#: utils/misc/guc.c:1956
+#: utils/misc/guc.c:2029
 msgid "Skips privilege checks when reading or modifying large objects, for compatibility with PostgreSQL releases prior to 9.0."
 msgstr "Überspringt Privilegienprüfungen beim Lesen oder Ändern von Large Objects, zur Kompatibilität mit PostgreSQL-Versionen vor 9.0."
 
-#: utils/misc/guc.c:1966
+#: utils/misc/guc.c:2039
 msgid "When generating SQL fragments, quote all identifiers."
 msgstr "Wenn SQL-Fragmente erzeugt werden, alle Bezeichner quoten."
 
-#: utils/misc/guc.c:1976
+#: utils/misc/guc.c:2049
 msgid "Shows whether data checksums are turned on for this cluster."
 msgstr "Zeigt, ob Datenprüfsummen in diesem Cluster angeschaltet sind."
 
-#: utils/misc/guc.c:1987
+#: utils/misc/guc.c:2060
 msgid "Add sequence number to syslog messages to avoid duplicate suppression."
 msgstr "Syslog-Nachrichten mit Sequenznummern versehen, um Unterdrückung doppelter Nachrichten zu unterbinden."
 
-#: utils/misc/guc.c:1997
+#: utils/misc/guc.c:2070
 msgid "Split messages sent to syslog by lines and to fit into 1024 bytes."
 msgstr "An Syslog gesendete Nachrichten nach Zeilen und in maximal 1024 Bytes aufteilen."
 
-#: utils/misc/guc.c:2007
+#: utils/misc/guc.c:2080
 msgid "Controls whether Gather and Gather Merge also run subplans."
 msgstr "Kontrolliert, ob Gather und Gather Merge auch Subpläne ausführen."
 
-#: utils/misc/guc.c:2008
+#: utils/misc/guc.c:2081
 msgid "Should gather nodes also run subplans or just gather tuples?"
 msgstr "Sollen Gather-Knoten auch Subpläne ausführen oder nur Tupel sammeln?"
 
-#: utils/misc/guc.c:2018
+#: utils/misc/guc.c:2091
 msgid "Allow JIT compilation."
 msgstr "Erlaubt JIT-Kompilierung."
 
-#: utils/misc/guc.c:2029
+#: utils/misc/guc.c:2102
 msgid "Register JIT-compiled functions with debugger."
 msgstr "JIT-kompilierte Funktionen im Debugger registrieren."
 
-#: utils/misc/guc.c:2046
+#: utils/misc/guc.c:2119
 msgid "Write out LLVM bitcode to facilitate JIT debugging."
 msgstr "LLVM-Bitcode in Dateien schreiben, um Debuggen von JIT zu erleichtern."
 
-#: utils/misc/guc.c:2057
+#: utils/misc/guc.c:2130
 msgid "Allow JIT compilation of expressions."
 msgstr "Erlaubt JIT-Kompilierung von Ausdrücken."
 
-#: utils/misc/guc.c:2068
+#: utils/misc/guc.c:2141
 msgid "Register JIT-compiled functions with perf profiler."
 msgstr "JIT-kompilierte Funktionen im Profiler perf registrieren."
 
-#: utils/misc/guc.c:2085
+#: utils/misc/guc.c:2158
 msgid "Allow JIT compilation of tuple deforming."
 msgstr "Erlaubt JIT-Kompilierung von Tuple-Deforming."
 
-#: utils/misc/guc.c:2096
+#: utils/misc/guc.c:2169
 msgid "Whether to continue running after a failure to sync data files."
 msgstr "Ob nach fehlgeschlagenem Synchronisieren von Datendateien fortgesetzt werden soll."
 
-#: utils/misc/guc.c:2105
+#: utils/misc/guc.c:2178
 msgid "Sets whether a WAL receiver should create a temporary replication slot if no permanent slot is configured."
 msgstr "Bestimmt, ob der WAL-Receiver einen temporären Replikations-Slot erzeugen soll, wenn kein permanenter Slot konfiguriert ist."
 
-#: utils/misc/guc.c:2123
-msgid "Forces a switch to the next WAL file if a new file has not been started within N seconds."
-msgstr "Erzwingt das Umschalten zur nächsten WAL-Datei, wenn seit N Sekunden keine neue Datei begonnen worden ist."
+#: utils/misc/guc.c:2196
+#, fuzzy
+#| msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt."
+msgid "Sets the amount of time to wait before forcing a switch to the next WAL file."
+msgstr "Setzt die Zeit, die gewartet wird, bevor nach einem fehlgeschlagenen Versuch neue WAL-Daten angefordert werden."
 
-#: utils/misc/guc.c:2134
-msgid "Waits N seconds on connection startup after authentication."
-msgstr "Wartet beim Starten einer Verbindung N Sekunden nach der Authentifizierung."
+#: utils/misc/guc.c:2207
+#, fuzzy
+#| msgid "Sets the maximum time to wait for WAL replication."
+msgid "Sets the amount of time to wait after authentication on connection startup."
+msgstr "Setzt die maximale Zeit, um auf WAL-Replikation zu warten."
 
-#: utils/misc/guc.c:2135 utils/misc/guc.c:2733
+#: utils/misc/guc.c:2209 utils/misc/guc.c:2830
 msgid "This allows attaching a debugger to the process."
 msgstr "Das ermöglicht es, einen Debugger in den Prozess einzuhängen."
 
-#: utils/misc/guc.c:2144
+#: utils/misc/guc.c:2218
 msgid "Sets the default statistics target."
 msgstr "Setzt das voreingestellte Statistikziel."
 
-#: utils/misc/guc.c:2145
+#: utils/misc/guc.c:2219
 msgid "This applies to table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS."
 msgstr "Diese Einstellung gilt für Tabellenspalten, für die kein spaltenspezifisches Ziel mit ALTER TABLE SET STATISTICS gesetzt worden ist."
 
-#: utils/misc/guc.c:2154
+#: utils/misc/guc.c:2228
 msgid "Sets the FROM-list size beyond which subqueries are not collapsed."
 msgstr "Setzt die Größe der FROM-Liste, ab der Unteranfragen nicht kollabiert werden."
 
-#: utils/misc/guc.c:2156
+#: utils/misc/guc.c:2230
 msgid "The planner will merge subqueries into upper queries if the resulting FROM list would have no more than this many items."
 msgstr "Der Planer bindet Unteranfragen in die übergeordneten Anfragen ein, wenn die daraus resultierende FROM-Liste nicht mehr als so viele Elemente haben würde."
 
-#: utils/misc/guc.c:2167
+#: utils/misc/guc.c:2241
 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened."
 msgstr "Setzt die Größe der FROM-Liste, ab der JOIN-Konstrukte nicht aufgelöst werden."
 
-#: utils/misc/guc.c:2169
+#: utils/misc/guc.c:2243
 msgid "The planner will flatten explicit JOIN constructs into lists of FROM items whenever a list of no more than this many items would result."
 msgstr "Der Planer löst ausdrückliche JOIN-Konstrukte in FROM-Listen auf, wenn die daraus resultierende FROM-Liste nicht mehr als so viele Elemente haben würde."
 
-#: utils/misc/guc.c:2180
+#: utils/misc/guc.c:2254
 msgid "Sets the threshold of FROM items beyond which GEQO is used."
 msgstr "Setzt die Anzahl der Elemente in der FROM-Liste, ab der GEQO verwendet wird."
 
-#: utils/misc/guc.c:2190
+#: utils/misc/guc.c:2264
 msgid "GEQO: effort is used to set the default for other GEQO parameters."
 msgstr "GEQO: wird für die Berechnung der Vorgabewerte anderer GEQO-Parameter verwendet."
 
-#: utils/misc/guc.c:2200
+#: utils/misc/guc.c:2274
 msgid "GEQO: number of individuals in the population."
 msgstr "GEQO: Anzahl der Individien in der Bevölkerung."
 
-#: utils/misc/guc.c:2201 utils/misc/guc.c:2211
+#: utils/misc/guc.c:2275 utils/misc/guc.c:2285
 msgid "Zero selects a suitable default value."
 msgstr "Null wählt einen passenden Vorgabewert."
 
-#: utils/misc/guc.c:2210
+#: utils/misc/guc.c:2284
 msgid "GEQO: number of iterations of the algorithm."
 msgstr "GEQO: Anzahl der Iterationen im Algorithmus."
 
-#: utils/misc/guc.c:2222
+#: utils/misc/guc.c:2296
 msgid "Sets the time to wait on a lock before checking for deadlock."
 msgstr "Setzt die Zeit, die gewartet wird, bis auf Verklemmung geprüft wird."
 
-#: utils/misc/guc.c:2233
+#: utils/misc/guc.c:2307
 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data."
 msgstr "Setzt die maximale Verzögerung bevor Anfragen storniert werden, wenn ein Hot-Standby-Server archivierte WAL-Daten verarbeitet."
 
-#: utils/misc/guc.c:2244
+#: utils/misc/guc.c:2318
 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data."
 msgstr "Setzt die maximale Verzögerung bevor Anfragen storniert werden, wenn ein Hot-Standby-Server gestreamte WAL-Daten verarbeitet."
 
-#: utils/misc/guc.c:2255
+#: utils/misc/guc.c:2329
 msgid "Sets the minimum delay for applying changes during recovery."
 msgstr "Setzt die minimale Verzögerung für das Einspielen von Änderungen während der Wiederherstellung."
 
-#: utils/misc/guc.c:2266
+#: utils/misc/guc.c:2340
 msgid "Sets the maximum interval between WAL receiver status reports to the sending server."
 msgstr "Setzt das maximale Intervall zwischen Statusberichten des WAL-Receivers an den sendenden Server."
 
-#: utils/misc/guc.c:2277
+#: utils/misc/guc.c:2351
 msgid "Sets the maximum wait time to receive data from the sending server."
 msgstr "Setzt die maximale Zeit, um auf den Empfang von Daten vom sendenden Server zu warten."
 
-#: utils/misc/guc.c:2288
+#: utils/misc/guc.c:2362
 msgid "Sets the maximum number of concurrent connections."
 msgstr "Setzt die maximale Anzahl gleichzeitiger Verbindungen."
 
-#: utils/misc/guc.c:2299
+#: utils/misc/guc.c:2373
 msgid "Sets the number of connection slots reserved for superusers."
 msgstr "Setzt die Anzahl der für Superuser reservierten Verbindungen."
 
-#: utils/misc/guc.c:2309
-#, fuzzy
-#| msgid "could not map dynamic shared memory segment"
+#: utils/misc/guc.c:2383
 msgid "Amount of dynamic shared memory reserved at startup."
-msgstr "konnte dynamisches Shared-Memory-Segment nicht mappen"
+msgstr "Menge des beim Start reservierten dynamischen Shared Memory."
 
-#: utils/misc/guc.c:2324
+#: utils/misc/guc.c:2398
 msgid "Sets the number of shared memory buffers used by the server."
 msgstr "Setzt die Anzahl der vom Server verwendeten Shared-Memory-Puffer."
 
-#: utils/misc/guc.c:2335
+#: utils/misc/guc.c:2409
+msgid "Shows the size of the server's main shared memory area (rounded up to the nearest MB)."
+msgstr ""
+
+#: utils/misc/guc.c:2420
+#, fuzzy
+#| msgid "Sets the number of disk-page buffers in shared memory for WAL."
+msgid "Shows the number of huge pages needed for the main shared memory area."
+msgstr "Setzt die Anzahl Diskseitenpuffer für WAL im Shared Memory."
+
+#: utils/misc/guc.c:2421
+msgid "-1 indicates that the value could not be determined."
+msgstr ""
+
+#: utils/misc/guc.c:2431
 msgid "Sets the maximum number of temporary buffers used by each session."
 msgstr "Setzt die maximale Anzahl der von jeder Sitzung verwendeten temporären Puffer."
 
-#: utils/misc/guc.c:2346
+#: utils/misc/guc.c:2442
 msgid "Sets the TCP port the server listens on."
 msgstr "Setzt den TCP-Port, auf dem der Server auf Verbindungen wartet."
 
-#: utils/misc/guc.c:2356
+#: utils/misc/guc.c:2452
 msgid "Sets the access permissions of the Unix-domain socket."
 msgstr "Setzt die Zugriffsrechte für die Unix-Domain-Socket."
 
-#: utils/misc/guc.c:2357
+#: utils/misc/guc.c:2453
 msgid "Unix-domain sockets use the usual Unix file system permission set. The parameter value is expected to be a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)"
 msgstr "Unix-Domain-Sockets verwenden die üblichen Zugriffsrechte für Unix-Dateisysteme. Der Wert dieser Option muss ein numerischer Wert in der von den Systemaufrufen chmod und umask verwendeten Form sein. (Um das gebräuchliche Oktalformat zu verwenden, muss die Zahl mit 0 (einer Null) anfangen.)"
 
-#: utils/misc/guc.c:2371
+#: utils/misc/guc.c:2467
 msgid "Sets the file permissions for log files."
 msgstr "Setzt die Dateizugriffsrechte für Logdateien."
 
-#: utils/misc/guc.c:2372
+#: utils/misc/guc.c:2468
 msgid "The parameter value is expected to be a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)"
 msgstr "Der Wert dieser Option muss ein numerischer Wert in der von den Systemaufrufen chmod und umask verwendeten Form sein. (Um das gebräuchliche Oktalformat zu verwenden, muss die Zahl mit 0 (einer Null) anfangen.)"
 
-#: utils/misc/guc.c:2386
-#, fuzzy
-#| msgid "Mode of the data directory."
+#: utils/misc/guc.c:2482
 msgid "Shows the mode of the data directory."
-msgstr "Zugriffsrechte des Datenverzeichnisses."
+msgstr "Zeigt die Zugriffsrechte des Datenverzeichnisses."
 
-#: utils/misc/guc.c:2387
+#: utils/misc/guc.c:2483
 msgid "The parameter value is a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)"
 msgstr "Der Wert dieser Option muss ein numerischer Wert in der von den Systemaufrufen chmod und umask verwendeten Form sein. (Um das gebräuchliche Oktalformat zu verwenden, muss die Zahl mit 0 (einer Null) anfangen.)"
 
-#: utils/misc/guc.c:2400
+#: utils/misc/guc.c:2496
 msgid "Sets the maximum memory to be used for query workspaces."
 msgstr "Setzt die maximale Speichergröße für Anfrage-Arbeitsbereiche."
 
-#: utils/misc/guc.c:2401
+#: utils/misc/guc.c:2497
 msgid "This much memory can be used by each internal sort operation and hash table before switching to temporary disk files."
 msgstr "Gibt die Speichermenge an, die für interne Sortiervorgänge und Hashtabellen verwendet werden kann, bevor auf temporäre Dateien umgeschaltet wird."
 
-#: utils/misc/guc.c:2413
+#: utils/misc/guc.c:2509
 msgid "Sets the maximum memory to be used for maintenance operations."
 msgstr "Setzt die maximale Speichergröße für Wartungsoperationen."
 
-#: utils/misc/guc.c:2414
+#: utils/misc/guc.c:2510
 msgid "This includes operations such as VACUUM and CREATE INDEX."
 msgstr "Das schließt Operationen wie VACUUM und CREATE INDEX ein."
 
-#: utils/misc/guc.c:2424
+#: utils/misc/guc.c:2520
 msgid "Sets the maximum memory to be used for logical decoding."
 msgstr "Setzt die maximale Speichergröße für logische Dekodierung."
 
-#: utils/misc/guc.c:2425
+#: utils/misc/guc.c:2521
 msgid "This much memory can be used by each internal reorder buffer before spilling to disk."
 msgstr "Gibt die Speichermenge an, die für jeden internen Reorder-Puffer verwendet werden kann, bevor auf Festplatte ausgelagert wird."
 
-#: utils/misc/guc.c:2441
+#: utils/misc/guc.c:2537
 msgid "Sets the maximum stack depth, in kilobytes."
 msgstr "Setzt die maximale Stackgröße, in Kilobytes."
 
-#: utils/misc/guc.c:2452
+#: utils/misc/guc.c:2548
 msgid "Limits the total size of all temporary files used by each process."
 msgstr "Beschränkt die Gesamtgröße aller temporären Dateien, die von einem Prozess verwendet werden."
 
-#: utils/misc/guc.c:2453
+#: utils/misc/guc.c:2549
 msgid "-1 means no limit."
 msgstr "-1 bedeutet keine Grenze."
 
-#: utils/misc/guc.c:2463
+#: utils/misc/guc.c:2559
 msgid "Vacuum cost for a page found in the buffer cache."
 msgstr "Vacuum-Kosten für eine im Puffer-Cache gefundene Seite."
 
-#: utils/misc/guc.c:2473
+#: utils/misc/guc.c:2569
 msgid "Vacuum cost for a page not found in the buffer cache."
 msgstr "Vacuum-Kosten für eine nicht im Puffer-Cache gefundene Seite."
 
-#: utils/misc/guc.c:2483
+#: utils/misc/guc.c:2579
 msgid "Vacuum cost for a page dirtied by vacuum."
 msgstr "Vacuum-Kosten für eine durch Vacuum schmutzig gemachte Seite."
 
-#: utils/misc/guc.c:2493
+#: utils/misc/guc.c:2589
 msgid "Vacuum cost amount available before napping."
 msgstr "Verfügbare Vacuum-Kosten vor Nickerchen."
 
-#: utils/misc/guc.c:2503
+#: utils/misc/guc.c:2599
 msgid "Vacuum cost amount available before napping, for autovacuum."
 msgstr "Verfügbare Vacuum-Kosten vor Nickerchen, für Autovacuum."
 
-#: utils/misc/guc.c:2513
+#: utils/misc/guc.c:2609
 msgid "Sets the maximum number of simultaneously open files for each server process."
 msgstr "Setzt die maximale Zahl gleichzeitig geöffneter Dateien für jeden Serverprozess."
 
-#: utils/misc/guc.c:2526
+#: utils/misc/guc.c:2622
 msgid "Sets the maximum number of simultaneously prepared transactions."
 msgstr "Setzt die maximale Anzahl von gleichzeitig vorbereiteten Transaktionen."
 
-#: utils/misc/guc.c:2537
+#: utils/misc/guc.c:2633
 msgid "Sets the minimum OID of tables for tracking locks."
 msgstr "Setzt die minimale Tabellen-OID für das Verfolgen von Sperren."
 
-#: utils/misc/guc.c:2538
+#: utils/misc/guc.c:2634
 msgid "Is used to avoid output on system tables."
 msgstr "Wird verwendet, um Ausgabe für Systemtabellen zu vermeiden."
 
-#: utils/misc/guc.c:2547
+#: utils/misc/guc.c:2643
 msgid "Sets the OID of the table with unconditionally lock tracing."
 msgstr "Setzt die OID der Tabelle mit bedingungsloser Sperrenverfolgung."
 
-#: utils/misc/guc.c:2559
+#: utils/misc/guc.c:2655
 msgid "Sets the maximum allowed duration of any statement."
 msgstr "Setzt die maximal erlaubte Dauer jeder Anweisung."
 
-#: utils/misc/guc.c:2560 utils/misc/guc.c:2571 utils/misc/guc.c:2582
-#: utils/misc/guc.c:2593
+#: utils/misc/guc.c:2656 utils/misc/guc.c:2667 utils/misc/guc.c:2678
+#: utils/misc/guc.c:2689
 msgid "A value of 0 turns off the timeout."
 msgstr "Der Wert 0 schaltet die Zeitprüfung aus."
 
-#: utils/misc/guc.c:2570
+#: utils/misc/guc.c:2666
 msgid "Sets the maximum allowed duration of any wait for a lock."
 msgstr "Setzt die maximal erlaubte Dauer, um auf eine Sperre zu warten."
 
-#: utils/misc/guc.c:2581
-#, fuzzy
-#| msgid "Sets the maximum allowed duration of any idling transaction."
+#: utils/misc/guc.c:2677
 msgid "Sets the maximum allowed idle time between queries, when in a transaction."
-msgstr "Setzt die maximal erlaubte Dauer einer inaktiven Transaktion."
+msgstr "Setzt die maximal erlaubte inaktive Zeit zwischen Anfragen, wenn in einer Transaktion."
 
-#: utils/misc/guc.c:2592
-#, fuzzy
-#| msgid "Sets the maximum allowed duration of any idling transaction."
+#: utils/misc/guc.c:2688
 msgid "Sets the maximum allowed idle time between queries, when not in a transaction."
-msgstr "Setzt die maximal erlaubte Dauer einer inaktiven Transaktion."
+msgstr "Setzt die maximal erlaubte inaktive Zeit zwischen Anfragen, wenn nicht in einer Transaktion."
 
-#: utils/misc/guc.c:2603
+#: utils/misc/guc.c:2699
 msgid "Minimum age at which VACUUM should freeze a table row."
 msgstr "Mindestalter, bei dem VACUUM eine Tabellenzeile einfrieren soll."
 
-#: utils/misc/guc.c:2613
+#: utils/misc/guc.c:2709
 msgid "Age at which VACUUM should scan whole table to freeze tuples."
 msgstr "Alter, bei dem VACUUM die ganze Tabelle durchsuchen soll, um Zeilen einzufrieren."
 
-#: utils/misc/guc.c:2623
+#: utils/misc/guc.c:2719
 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row."
 msgstr "Mindestalter, bei dem VACUUM eine MultiXactId in einer Tabellenzeile einfrieren soll."
 
-#: utils/misc/guc.c:2633
+#: utils/misc/guc.c:2729
 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples."
 msgstr "Multixact-Alter, bei dem VACUUM die ganze Tabelle durchsuchen soll, um Zeilen einzufrieren."
 
-#: utils/misc/guc.c:2643
+#: utils/misc/guc.c:2739
 msgid "Number of transactions by which VACUUM and HOT cleanup should be deferred, if any."
 msgstr "Anzahl Transaktionen, um die VACUUM- und HOT-Aufräumen aufgeschoben werden soll."
 
-#: utils/misc/guc.c:2652
-#, fuzzy
-#| msgid "Age at which VACUUM should scan whole table to freeze tuples."
+#: utils/misc/guc.c:2748
 msgid "Age at which VACUUM should trigger failsafe to avoid a wraparound outage."
-msgstr "Alter, bei dem VACUUM die ganze Tabelle durchsuchen soll, um Zeilen einzufrieren."
+msgstr "Alter, bei dem VACUUM die Ausfallsicherung auslösen soll, um Ausfall wegen Transaktionsnummernüberlauf zu verhindern."
 
-#: utils/misc/guc.c:2661
-#, fuzzy
-#| msgid "Multixact age at which VACUUM should scan whole table to freeze tuples."
+#: utils/misc/guc.c:2757
 msgid "Multixact age at which VACUUM should trigger failsafe to avoid a wraparound outage."
-msgstr "Multixact-Alter, bei dem VACUUM die ganze Tabelle durchsuchen soll, um Zeilen einzufrieren."
+msgstr "Multixact-Alter, bei dem VACUUM die Ausfallsicherung auslösen soll, um Ausfall wegen Transaktionsnummernüberlauf zu verhindern."
 
-#: utils/misc/guc.c:2674
+#: utils/misc/guc.c:2770
 msgid "Sets the maximum number of locks per transaction."
 msgstr "Setzt die maximale Anzahl Sperren pro Transaktion."
 
-#: utils/misc/guc.c:2675
+#: utils/misc/guc.c:2771
 msgid "The shared lock table is sized on the assumption that at most max_locks_per_transaction * max_connections distinct objects will need to be locked at any one time."
 msgstr "Die globale Sperrentabelle wird mit der Annahme angelegt, das höchstens max_locks_per_transaction * max_connections verschiedene Objekte gleichzeitig gesperrt werden müssen."
 
-#: utils/misc/guc.c:2686
+#: utils/misc/guc.c:2782
 msgid "Sets the maximum number of predicate locks per transaction."
 msgstr "Setzt die maximale Anzahl Prädikatsperren pro Transaktion."
 
-#: utils/misc/guc.c:2687
+#: utils/misc/guc.c:2783
 msgid "The shared predicate lock table is sized on the assumption that at most max_pred_locks_per_transaction * max_connections distinct objects will need to be locked at any one time."
 msgstr "Die globale Prädikatsperrentabelle wird mit der Annahme angelegt, das höchstens max_pred_locks_per_transaction * max_connections verschiedene Objekte gleichzeitig gesperrt werden müssen."
 
-#: utils/misc/guc.c:2698
+#: utils/misc/guc.c:2794
 msgid "Sets the maximum number of predicate-locked pages and tuples per relation."
 msgstr "Setzt die maximale Anzahl Prädikatsperren für Seiten und Tupel pro Relation."
 
-#: utils/misc/guc.c:2699
+#: utils/misc/guc.c:2795
 msgid "If more than this total of pages and tuples in the same relation are locked by a connection, those locks are replaced by a relation-level lock."
 msgstr "Wenn mehr als diese Gesamtzahl Seiten und Tupel in der selben Relation von einer Verbindung gesperrt sind, werden diese Sperren durch eine Sperre auf Relationsebene ersetzt."
 
-#: utils/misc/guc.c:2709
+#: utils/misc/guc.c:2805
 msgid "Sets the maximum number of predicate-locked tuples per page."
 msgstr "Setzt die maximale Anzahl Prädikatsperren für Tupel pro Seite."
 
-#: utils/misc/guc.c:2710
+#: utils/misc/guc.c:2806
 msgid "If more than this number of tuples on the same page are locked by a connection, those locks are replaced by a page-level lock."
 msgstr "Wenn mehr als diese Anzahl Tupel auf der selben Seite von einer Verbindung gesperrt sind, werden diese Sperren durch eine Sperre auf Seitenebene ersetzt."
 
-#: utils/misc/guc.c:2720
+#: utils/misc/guc.c:2816
 msgid "Sets the maximum allowed time to complete client authentication."
 msgstr "Setzt die maximale Zeit, um die Client-Authentifizierung zu beenden."
 
-#: utils/misc/guc.c:2732
-msgid "Waits N seconds on connection startup before authentication."
-msgstr "Wartet beim Starten einer Verbindung N Sekunden vor der Authentifizierung."
+#: utils/misc/guc.c:2828
+#, fuzzy
+#| msgid "Sets the maximum time to wait for WAL replication."
+msgid "Sets the amount of time to wait before authentication on connection startup."
+msgstr "Setzt die maximale Zeit, um auf WAL-Replikation zu warten."
+
+#: utils/misc/guc.c:2840
+msgid "Maximum buffer size for reading ahead in the WAL during recovery."
+msgstr ""
 
-#: utils/misc/guc.c:2743
+#: utils/misc/guc.c:2841
+msgid "This controls the maximum distance we can read ahead in the WAL to prefetch referenced blocks."
+msgstr ""
+
+#: utils/misc/guc.c:2851
 msgid "Sets the size of WAL files held for standby servers."
 msgstr "Setzt die Größe der für Standby-Server vorgehaltenen WAL-Dateien."
 
-#: utils/misc/guc.c:2754
+#: utils/misc/guc.c:2862
 msgid "Sets the minimum size to shrink the WAL to."
 msgstr "Setzt die minimale Größe, auf die der WAL geschrumpft wird."
 
-#: utils/misc/guc.c:2766
+#: utils/misc/guc.c:2874
 msgid "Sets the WAL size that triggers a checkpoint."
 msgstr "Setzt die WAL-Größe, die einen Checkpoint auslöst."
 
-#: utils/misc/guc.c:2778
+#: utils/misc/guc.c:2886
 msgid "Sets the maximum time between automatic WAL checkpoints."
 msgstr "Setzt die maximale Zeit zwischen automatischen WAL-Checkpoints."
 
-#: utils/misc/guc.c:2789
-msgid "Enables warnings if checkpoint segments are filled more frequently than this."
-msgstr "Schreibt eine Logmeldung, wenn Checkpoint-Segmente häufiger als dieser Wert gefüllt werden."
+#: utils/misc/guc.c:2897
+msgid "Sets the maximum time before warning if checkpoints triggered by WAL volume happen too frequently."
+msgstr ""
 
-#: utils/misc/guc.c:2791
-msgid "Write a message to the server log if checkpoints caused by the filling of checkpoint segment files happens more frequently than this number of seconds. Zero turns off the warning."
+#: utils/misc/guc.c:2899
+#, fuzzy
+#| msgid "Write a message to the server log if checkpoints caused by the filling of checkpoint segment files happens more frequently than this number of seconds. Zero turns off the warning."
+msgid "Write a message to the server log if checkpoints caused by the filling of WAL segment files happen more frequently than this amount of time. Zero turns off the warning."
 msgstr "Schreibe Meldung in den Serverlog, wenn Checkpoints, die durch Füllen der Checkpoint-Segmente ausgelöst werden, häufiger als dieser Wert in Sekunden passieren. Null schaltet die Warnung ab."
 
-#: utils/misc/guc.c:2803 utils/misc/guc.c:3019 utils/misc/guc.c:3066
+#: utils/misc/guc.c:2912 utils/misc/guc.c:3130 utils/misc/guc.c:3178
 msgid "Number of pages after which previously performed writes are flushed to disk."
 msgstr "Anzahl der Seiten, nach denen getätigte Schreibvorgänge auf die Festplatte zurückgeschrieben werden."
 
-#: utils/misc/guc.c:2814
+#: utils/misc/guc.c:2923
 msgid "Sets the number of disk-page buffers in shared memory for WAL."
 msgstr "Setzt die Anzahl Diskseitenpuffer für WAL im Shared Memory."
 
-#: utils/misc/guc.c:2825
+#: utils/misc/guc.c:2934
 msgid "Time between WAL flushes performed in the WAL writer."
 msgstr "Zeit zwischen WAL-Flush-Operationen im WAL-Writer."
 
-#: utils/misc/guc.c:2836
+#: utils/misc/guc.c:2945
 msgid "Amount of WAL written out by WAL writer that triggers a flush."
 msgstr "Ein Flush wird ausgelöst, wenn diese Menge WAL vom WAL-Writer geschrieben worden ist."
 
-#: utils/misc/guc.c:2847
-#, fuzzy
-#| msgid "Size of new file to fsync instead of writing WAL."
+#: utils/misc/guc.c:2956
 msgid "Minimum size of new file to fsync instead of writing WAL."
-msgstr "Größe ab der neue Datei gefsynct wird statt WAL zu schreiben."
+msgstr "Mindestgröße ab der neue Datei gefsynct wird statt WAL zu schreiben."
 
-#: utils/misc/guc.c:2858
+#: utils/misc/guc.c:2967
 msgid "Sets the maximum number of simultaneously running WAL sender processes."
 msgstr "Setzt die maximale Anzahl gleichzeitig laufender WAL-Sender-Prozesse."
 
-#: utils/misc/guc.c:2869
+#: utils/misc/guc.c:2978
 msgid "Sets the maximum number of simultaneously defined replication slots."
 msgstr "Setzt die maximale Anzahl von gleichzeitig definierten Replikations-Slots."
 
-#: utils/misc/guc.c:2879
+#: utils/misc/guc.c:2988
 msgid "Sets the maximum WAL size that can be reserved by replication slots."
 msgstr "Setzt die maximale WAL-Größe, die von Replikations-Slots reserviert werden kann."
 
-#: utils/misc/guc.c:2880
+#: utils/misc/guc.c:2989
 msgid "Replication slots will be marked as failed, and segments released for deletion or recycling, if this much space is occupied by WAL on disk."
 msgstr "Replikations-Slots werden als fehlgeschlagen markiert, und Segmente zum Löschen oder Wiederverwenden freigegeben, wenn so viel Platz von WAL auf der Festplatte belegt wird."
 
-#: utils/misc/guc.c:2892
+#: utils/misc/guc.c:3001
 msgid "Sets the maximum time to wait for WAL replication."
 msgstr "Setzt die maximale Zeit, um auf WAL-Replikation zu warten."
 
-#: utils/misc/guc.c:2903
+#: utils/misc/guc.c:3012
 msgid "Sets the delay in microseconds between transaction commit and flushing WAL to disk."
 msgstr "Setzt die Verzögerung in Millisekunden zwischen Transaktionsabschluss und dem Schreiben von WAL auf die Festplatte."
 
-#: utils/misc/guc.c:2915
-msgid "Sets the minimum concurrent open transactions before performing commit_delay."
+#: utils/misc/guc.c:3024
+#, fuzzy
+#| msgid "Sets the minimum concurrent open transactions before performing commit_delay."
+msgid "Sets the minimum number of concurrent open transactions required before performing commit_delay."
 msgstr "Setzt die minimale Anzahl gleichzeitig offener Transaktionen bevor »commit_delay« angewendet wird."
 
-#: utils/misc/guc.c:2926
+#: utils/misc/guc.c:3035
 msgid "Sets the number of digits displayed for floating-point values."
 msgstr "Setzt die Anzahl ausgegebener Ziffern für Fließkommawerte."
 
-#: utils/misc/guc.c:2927
+#: utils/misc/guc.c:3036
 msgid "This affects real, double precision, and geometric data types. A zero or negative parameter value is added to the standard number of digits (FLT_DIG or DBL_DIG as appropriate). Any value greater than zero selects precise output mode."
 msgstr "Diese Einstellung betrifft real, double precision und geometrische Datentypen. Null oder ein negativer Parameterwert wird zur Standardziffernanzahl (FLT_DIG bzw. DBL_DIG) hinzuaddiert. Ein Wert größer als Null wählt präzisen Ausgabemodus."
 
-#: utils/misc/guc.c:2939
+#: utils/misc/guc.c:3048
 msgid "Sets the minimum execution time above which a sample of statements will be logged. Sampling is determined by log_statement_sample_rate."
 msgstr "Setzt die minimale Ausführungszeit, über der Stichproben aller Anweisungen geloggt werden. Die Stichproben werden durch log_statement_sample_rate bestimmt."
 
-#: utils/misc/guc.c:2942
+#: utils/misc/guc.c:3051
 msgid "Zero logs a sample of all queries. -1 turns this feature off."
 msgstr "Null loggt eine Stichprobe aller Anfragen. -1 schaltet dieses Feature aus."
 
-#: utils/misc/guc.c:2952
+#: utils/misc/guc.c:3061
 msgid "Sets the minimum execution time above which all statements will be logged."
 msgstr "Setzt die minimale Ausführungszeit, über der alle Anweisungen geloggt werden."
 
-#: utils/misc/guc.c:2954
+#: utils/misc/guc.c:3063
 msgid "Zero prints all queries. -1 turns this feature off."
 msgstr "Null zeigt alle Anfragen. -1 schaltet dieses Feature aus."
 
-#: utils/misc/guc.c:2964
+#: utils/misc/guc.c:3073
 msgid "Sets the minimum execution time above which autovacuum actions will be logged."
 msgstr "Setzt die minimale Ausführungszeit, über der Autovacuum-Aktionen geloggt werden."
 
-#: utils/misc/guc.c:2966
+#: utils/misc/guc.c:3075
 msgid "Zero prints all actions. -1 turns autovacuum logging off."
 msgstr "Null gibt alls Aktionen aus. -1 schaltet die Log-Aufzeichnung über Autovacuum aus."
 
-#: utils/misc/guc.c:2976
-msgid "When logging statements, limit logged parameter values to first N bytes."
-msgstr "Wenn Anweisungen geloggt werden, die geloggten Parameterwerte auf die ersten N Bytes begrenzen."
+#: utils/misc/guc.c:3085
+msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements."
+msgstr ""
 
-#: utils/misc/guc.c:2977 utils/misc/guc.c:2988
+#: utils/misc/guc.c:3087 utils/misc/guc.c:3099
 msgid "-1 to print values in full."
 msgstr "-1 um die Werte vollständig auszugeben."
 
-#: utils/misc/guc.c:2987
-msgid "When reporting an error, limit logged parameter values to first N bytes."
-msgstr "Wenn ein Fehler ausgegeben wird, die geloggten Parameterwerte auf die ersten N Bytes begrenzen."
+#: utils/misc/guc.c:3097
+msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements, on error."
+msgstr ""
 
-#: utils/misc/guc.c:2998
+#: utils/misc/guc.c:3109
 msgid "Background writer sleep time between rounds."
 msgstr "Schlafzeit zwischen Durchläufen des Background-Writers."
 
-#: utils/misc/guc.c:3009
+#: utils/misc/guc.c:3120
 msgid "Background writer maximum number of LRU pages to flush per round."
 msgstr "Maximale Anzahl der vom Background-Writer pro Durchlauf zu flushenden LRU-Seiten."
 
-#: utils/misc/guc.c:3032
+#: utils/misc/guc.c:3143
 msgid "Number of simultaneous requests that can be handled efficiently by the disk subsystem."
 msgstr "Anzahl simultaner Anfragen, die das Festplattensubsystem effizient bearbeiten kann."
 
-#: utils/misc/guc.c:3050
+#: utils/misc/guc.c:3161
 msgid "A variant of effective_io_concurrency that is used for maintenance work."
 msgstr "Eine Variante von effective_io_concurrency, die für Wartungsarbeiten verwendet wird."
 
-#: utils/misc/guc.c:3079
+#: utils/misc/guc.c:3191
 msgid "Maximum number of concurrent worker processes."
 msgstr "Maximale Anzahl gleichzeitiger Worker-Prozesse."
 
-#: utils/misc/guc.c:3091
+#: utils/misc/guc.c:3203
 msgid "Maximum number of logical replication worker processes."
 msgstr "Maximale Anzahl Arbeitsprozesse für logische Replikation."
 
-#: utils/misc/guc.c:3103
+#: utils/misc/guc.c:3215
 msgid "Maximum number of table synchronization workers per subscription."
 msgstr "Maximale Anzahl Arbeitsprozesse für Tabellensynchronisation pro Subskription."
 
-#: utils/misc/guc.c:3113
-msgid "Automatic log file rotation will occur after N minutes."
-msgstr "Automatische Rotation der Logdateien geschieht nach N Minuten."
+#: utils/misc/guc.c:3225
+#, fuzzy
+#| msgid "Sets the maximum time to wait for WAL replication."
+msgid "Sets the amount of time to wait before forcing log file rotation."
+msgstr "Setzt die maximale Zeit, um auf WAL-Replikation zu warten."
 
-#: utils/misc/guc.c:3124
-msgid "Automatic log file rotation will occur after N kilobytes."
-msgstr "Automatische Rotation der Logdateien geschieht nach N Kilobytes."
+#: utils/misc/guc.c:3237
+#, fuzzy
+#| msgid "Sets the maximum WAL size that can be reserved by replication slots."
+msgid "Sets the maximum size a log file can reach before being rotated."
+msgstr "Setzt die maximale WAL-Größe, die von Replikations-Slots reserviert werden kann."
 
-#: utils/misc/guc.c:3135
+#: utils/misc/guc.c:3249
 msgid "Shows the maximum number of function arguments."
 msgstr "Setzt die maximale Anzahl von Funktionsargumenten."
 
-#: utils/misc/guc.c:3146
+#: utils/misc/guc.c:3260
 msgid "Shows the maximum number of index keys."
 msgstr "Zeigt die maximale Anzahl von Indexschlüsseln."
 
-#: utils/misc/guc.c:3157
+#: utils/misc/guc.c:3271
 msgid "Shows the maximum identifier length."
 msgstr "Zeigt die maximale Länge von Bezeichnern."
 
-#: utils/misc/guc.c:3168
+#: utils/misc/guc.c:3282
 msgid "Shows the size of a disk block."
 msgstr "Zeigt die Größe eines Diskblocks."
 
-#: utils/misc/guc.c:3179
+#: utils/misc/guc.c:3293
 msgid "Shows the number of pages per disk file."
 msgstr "Zeigt die Anzahl Seiten pro Diskdatei."
 
-#: utils/misc/guc.c:3190
+#: utils/misc/guc.c:3304
 msgid "Shows the block size in the write ahead log."
 msgstr "Zeigt die Blockgröße im Write-Ahead-Log."
 
-#: utils/misc/guc.c:3201
+#: utils/misc/guc.c:3315
 msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt."
 msgstr "Setzt die Zeit, die gewartet wird, bevor nach einem fehlgeschlagenen Versuch neue WAL-Daten angefordert werden."
 
-#: utils/misc/guc.c:3213
+#: utils/misc/guc.c:3327
 msgid "Shows the size of write ahead log segments."
 msgstr "Zeigt die Größe eines Write-Ahead-Log-Segments."
 
-#: utils/misc/guc.c:3226
+#: utils/misc/guc.c:3340
 msgid "Time to sleep between autovacuum runs."
 msgstr "Wartezeit zwischen Autovacuum-Durchläufen."
 
-#: utils/misc/guc.c:3236
+#: utils/misc/guc.c:3350
 msgid "Minimum number of tuple updates or deletes prior to vacuum."
 msgstr "Mindestanzahl an geänderten oder gelöschten Tupeln vor einem Vacuum."
 
-#: utils/misc/guc.c:3245
+#: utils/misc/guc.c:3359
 msgid "Minimum number of tuple inserts prior to vacuum, or -1 to disable insert vacuums."
 msgstr "Mindestanzahl an Einfügeoperationen vor einem Vacuum, oder -1 um auszuschalten."
 
-#: utils/misc/guc.c:3254
+#: utils/misc/guc.c:3368
 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze."
 msgstr "Mindestanzahl an Einfüge-, Änderungs- oder Löschoperationen vor einem Analyze."
 
-#: utils/misc/guc.c:3264
+#: utils/misc/guc.c:3378
 msgid "Age at which to autovacuum a table to prevent transaction ID wraparound."
 msgstr "Alter, nach dem eine Tabelle automatisch gevacuumt wird, um Transaktionsnummernüberlauf zu verhindern."
 
-#: utils/misc/guc.c:3279
+#: utils/misc/guc.c:3390
 msgid "Multixact age at which to autovacuum a table to prevent multixact wraparound."
 msgstr "Multixact-Alter, nach dem eine Tabelle automatisch gevacuumt wird, um Transaktionsnummernüberlauf zu verhindern."
 
-#: utils/misc/guc.c:3289
+#: utils/misc/guc.c:3400
 msgid "Sets the maximum number of simultaneously running autovacuum worker processes."
 msgstr "Setzt die maximale Anzahl gleichzeitig laufender Autovacuum-Worker-Prozesse."
 
-#: utils/misc/guc.c:3299
+#: utils/misc/guc.c:3410
 msgid "Sets the maximum number of parallel processes per maintenance operation."
 msgstr "Setzt die maximale Anzahl paralleler Prozesse pro Wartungsoperation."
 
-#: utils/misc/guc.c:3309
+#: utils/misc/guc.c:3420
 msgid "Sets the maximum number of parallel processes per executor node."
 msgstr "Setzt die maximale Anzahl paralleler Prozesse pro Executor-Knoten."
 
-#: utils/misc/guc.c:3320
+#: utils/misc/guc.c:3431
 msgid "Sets the maximum number of parallel workers that can be active at one time."
 msgstr "Setzt die maximale Anzahl paralleler Arbeitsprozesse, die gleichzeitig aktiv sein können."
 
-#: utils/misc/guc.c:3331
+#: utils/misc/guc.c:3442
 msgid "Sets the maximum memory to be used by each autovacuum worker process."
 msgstr "Setzt die maximale Speichergröße für jeden Autovacuum-Worker-Prozess."
 
-#: utils/misc/guc.c:3342
+#: utils/misc/guc.c:3453
 msgid "Time before a snapshot is too old to read pages changed after the snapshot was taken."
 msgstr "Zeit bevor ein Snapshot zu alt ist, um Seiten zu lesen, die geändert wurden, nachdem der Snapshot gemacht wurde."
 
-#: utils/misc/guc.c:3343
+#: utils/misc/guc.c:3454
 msgid "A value of -1 disables this feature."
 msgstr "Der Wert -1 schaltet dieses Feature aus."
 
-#: utils/misc/guc.c:3353
+#: utils/misc/guc.c:3464
 msgid "Time between issuing TCP keepalives."
 msgstr "Zeit zwischen TCP-Keepalive-Sendungen."
 
-#: utils/misc/guc.c:3354 utils/misc/guc.c:3365 utils/misc/guc.c:3489
+#: utils/misc/guc.c:3465 utils/misc/guc.c:3476 utils/misc/guc.c:3600
 msgid "A value of 0 uses the system default."
 msgstr "Der Wert 0 verwendet die Systemvoreinstellung."
 
-#: utils/misc/guc.c:3364
+#: utils/misc/guc.c:3475
 msgid "Time between TCP keepalive retransmits."
 msgstr "Zeit zwischen TCP-Keepalive-Neuübertragungen."
 
-#: utils/misc/guc.c:3375
+#: utils/misc/guc.c:3486
 msgid "SSL renegotiation is no longer supported; this can only be 0."
 msgstr "SSL-Renegotiation wird nicht mehr unterstützt; kann nur auf 0 gesetzt werden."
 
-#: utils/misc/guc.c:3386
+#: utils/misc/guc.c:3497
 msgid "Maximum number of TCP keepalive retransmits."
 msgstr "Maximale Anzahl an TCP-Keepalive-Neuübertragungen."
 
-#: utils/misc/guc.c:3387
+#: utils/misc/guc.c:3498
 msgid "This controls the number of consecutive keepalive retransmits that can be lost before a connection is considered dead. A value of 0 uses the system default."
 msgstr "Dies bestimmt die Anzahl von aufeinanderfolgenden Keepalive-Neuübertragungen, die verloren gehen dürfen, bis die Verbindung als tot betrachtet wird. Der Wert 0 verwendet die Betriebssystemvoreinstellung."
 
-#: utils/misc/guc.c:3398
+#: utils/misc/guc.c:3509
 msgid "Sets the maximum allowed result for exact search by GIN."
 msgstr "Setzt die maximal erlaubte Anzahl Ergebnisse für eine genaue Suche mit GIN."
 
-#: utils/misc/guc.c:3409
+#: utils/misc/guc.c:3520
 msgid "Sets the planner's assumption about the total size of the data caches."
 msgstr "Setzt die Annahme des Planers über die Gesamtgröße der Daten-Caches."
 
-#: utils/misc/guc.c:3410
+#: utils/misc/guc.c:3521
 msgid "That is, the total size of the caches (kernel cache and shared buffers) used for PostgreSQL data files. This is measured in disk pages, which are normally 8 kB each."
 msgstr "Das heißt, die Gesamtgröße der Caches (Kernel-Cache und Shared Buffers), die für Datendateien von PostgreSQL verwendet wird. Das wird in Diskseiten gemessen, welche normalerweise 8 kB groß sind."
 
-#: utils/misc/guc.c:3421
+#: utils/misc/guc.c:3532
 msgid "Sets the minimum amount of table data for a parallel scan."
 msgstr "Setzt die Mindestmenge an Tabellendaten für einen parallelen Scan."
 
-#: utils/misc/guc.c:3422
+#: utils/misc/guc.c:3533
 msgid "If the planner estimates that it will read a number of table pages too small to reach this limit, a parallel scan will not be considered."
 msgstr "Wenn der Planer schätzt, dass zu wenige Tabellenseiten gelesen werden werden um diesen Wert zu erreichen, dann wird kein paralleler Scan in Erwägung gezogen werden."
 
-#: utils/misc/guc.c:3432
+#: utils/misc/guc.c:3543
 msgid "Sets the minimum amount of index data for a parallel scan."
 msgstr "Setzt die Mindestmenge an Indexdaten für einen parallelen Scan."
 
-#: utils/misc/guc.c:3433
+#: utils/misc/guc.c:3544
 msgid "If the planner estimates that it will read a number of index pages too small to reach this limit, a parallel scan will not be considered."
 msgstr "Wenn der Planer schätzt, dass zu wenige Indexseiten gelesen werden werden um diesen Wert zu erreichen, dann wird kein paralleler Scan in Erwägung gezogen werden."
 
-#: utils/misc/guc.c:3444
+#: utils/misc/guc.c:3555
 msgid "Shows the server version as an integer."
 msgstr "Zeigt die Serverversion als Zahl."
 
-#: utils/misc/guc.c:3455
+#: utils/misc/guc.c:3566
 msgid "Log the use of temporary files larger than this number of kilobytes."
 msgstr "Schreibt Meldungen über die Verwendung von temporären Dateien in den Log, wenn sie größer als diese Anzahl an Kilobytes sind."
 
-#: utils/misc/guc.c:3456
+#: utils/misc/guc.c:3567
 msgid "Zero logs all files. The default is -1 (turning this feature off)."
 msgstr "Null loggt alle Dateien. Die Standardeinstellung ist -1 (wodurch dieses Feature ausgeschaltet wird)."
 
-#: utils/misc/guc.c:3466
+#: utils/misc/guc.c:3577
 msgid "Sets the size reserved for pg_stat_activity.query, in bytes."
 msgstr "Setzt die für pg_stat_activity.query reservierte Größe, in Bytes."
 
-#: utils/misc/guc.c:3477
+#: utils/misc/guc.c:3588
 msgid "Sets the maximum size of the pending list for GIN index."
 msgstr "Setzt die maximale Größe der Pending-Liste eines GIN-Index."
 
-#: utils/misc/guc.c:3488
+#: utils/misc/guc.c:3599
 msgid "TCP user timeout."
 msgstr "TCP-User-Timeout."
 
-#: utils/misc/guc.c:3499
+#: utils/misc/guc.c:3610
 msgid "The size of huge page that should be requested."
-msgstr ""
+msgstr "Huge-Page-Größe, die angefordert werden soll."
 
-#: utils/misc/guc.c:3510
-msgid "Aggressively invalidate system caches for debugging purposes."
+#: utils/misc/guc.c:3621
+msgid "Aggressively flush system caches for debugging purposes."
+msgstr "System-Caches aggressiv flushen, zum Debuggen."
+
+#: utils/misc/guc.c:3644
+msgid "Sets the time interval between checks for disconnection while running queries."
+msgstr "Setzt das Zeitintervall zwischen Prüfungen auf Verbindungsabbruch während Anfragen laufen."
+
+#: utils/misc/guc.c:3655
+msgid "Time between progress updates for long-running startup operations."
 msgstr ""
 
-#: utils/misc/guc.c:3533
+#: utils/misc/guc.c:3657
 #, fuzzy
-#| msgid "Sets the maximum interval between WAL receiver status reports to the sending server."
-msgid "Sets the time interval between checks for disconnection while running queries."
-msgstr "Setzt das maximale Intervall zwischen Statusberichten des WAL-Receivers an den sendenden Server."
+#| msgid "Zero prints all queries. -1 turns this feature off."
+msgid "0 turns this feature off."
+msgstr "Null zeigt alle Anfragen. -1 schaltet dieses Feature aus."
 
-#: utils/misc/guc.c:3553
+#: utils/misc/guc.c:3676
 msgid "Sets the planner's estimate of the cost of a sequentially fetched disk page."
 msgstr "Setzt den vom Planer geschätzten Aufwand, um eine sequenzielle Diskseite zu lesen."
 
-#: utils/misc/guc.c:3564
+#: utils/misc/guc.c:3687
 msgid "Sets the planner's estimate of the cost of a nonsequentially fetched disk page."
 msgstr "Setzt den vom Planer geschätzten Aufwand, um eine nichtsequenzielle Diskseite zu lesen."
 
-#: utils/misc/guc.c:3575
+#: utils/misc/guc.c:3698
 msgid "Sets the planner's estimate of the cost of processing each tuple (row)."
 msgstr "Setzt den vom Planer geschätzten Aufwand für die Verarbeitung einer Zeile."
 
-#: utils/misc/guc.c:3586
+#: utils/misc/guc.c:3709
 msgid "Sets the planner's estimate of the cost of processing each index entry during an index scan."
 msgstr "Setzt den vom Planer geschätzten Aufwand für die Verarbeitung eines Indexeintrags während eines Index-Scans."
 
-#: utils/misc/guc.c:3597
+#: utils/misc/guc.c:3720
 msgid "Sets the planner's estimate of the cost of processing each operator or function call."
 msgstr "Setzt den vom Planer geschätzten Aufwand für die Verarbeitung eines Operators oder Funktionsaufrufs."
 
-#: utils/misc/guc.c:3608
-#, fuzzy
-#| msgid "Sets the planner's estimate of the cost of passing each tuple (row) from worker to master backend."
+#: utils/misc/guc.c:3731
 msgid "Sets the planner's estimate of the cost of passing each tuple (row) from worker to leader backend."
-msgstr "Setzt den vom Planer geschätzten Aufwand, um eine Zeile vom Arbeitsprozess and das Master-Backend zu senden."
+msgstr "Setzt den vom Planer geschätzten Aufwand, um eine Zeile vom Arbeitsprozess an das Leader-Backend zu senden."
 
-#: utils/misc/guc.c:3619
+#: utils/misc/guc.c:3742
 msgid "Sets the planner's estimate of the cost of starting up worker processes for parallel query."
 msgstr "Setzt den vom Planer geschätzten Aufwand für das Starten von Arbeitsprozessen für parallele Anfragen."
 
-#: utils/misc/guc.c:3631
+#: utils/misc/guc.c:3754
 msgid "Perform JIT compilation if query is more expensive."
 msgstr "JIT-Kompilierung durchführen, wenn die Anfrage teurer ist."
 
-#: utils/misc/guc.c:3632
+#: utils/misc/guc.c:3755
 msgid "-1 disables JIT compilation."
 msgstr "-1 schaltet JIT-Kompilierung aus."
 
-#: utils/misc/guc.c:3642
+#: utils/misc/guc.c:3765
 msgid "Optimize JIT-compiled functions if query is more expensive."
 msgstr "JIT-kompilierte Funktionen optimieren, wenn die Anfrage teurer ist."
 
-#: utils/misc/guc.c:3643
+#: utils/misc/guc.c:3766
 msgid "-1 disables optimization."
 msgstr "-1 schaltet Optimierung aus."
 
-#: utils/misc/guc.c:3653
+#: utils/misc/guc.c:3776
 msgid "Perform JIT inlining if query is more expensive."
 msgstr "JIT-Inlining durchführen, wenn die Anfrage teurer ist."
 
-#: utils/misc/guc.c:3654
+#: utils/misc/guc.c:3777
 msgid "-1 disables inlining."
 msgstr "-1 schaltet Inlining aus."
 
-#: utils/misc/guc.c:3664
+#: utils/misc/guc.c:3787
 msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved."
 msgstr "Setzt den vom Planer geschätzten Anteil der Cursor-Zeilen, die ausgelesen werden werden."
 
-#: utils/misc/guc.c:3676
+#: utils/misc/guc.c:3799
+#, fuzzy
+#| msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved."
+msgid "Sets the planner's estimate of the average size of a recursive query's working table."
+msgstr "Setzt den vom Planer geschätzten Anteil der Cursor-Zeilen, die ausgelesen werden werden."
+
+#: utils/misc/guc.c:3811
 msgid "GEQO: selective pressure within the population."
 msgstr "GEQO: selektiver Auswahldruck in der Bevölkerung."
 
-#: utils/misc/guc.c:3687
+#: utils/misc/guc.c:3822
 msgid "GEQO: seed for random path selection."
 msgstr "GEQO: Ausgangswert für die zufällige Pfadauswahl."
 
-#: utils/misc/guc.c:3698
+#: utils/misc/guc.c:3833
 msgid "Multiple of work_mem to use for hash tables."
 msgstr "Vielfaches von work_mem zur Verwendung bei Hash-Tabellen."
 
-#: utils/misc/guc.c:3709
+#: utils/misc/guc.c:3844
 msgid "Multiple of the average buffer usage to free per round."
 msgstr "Vielfaches der durchschnittlichen freizugebenden Pufferverwendung pro Runde."
 
-#: utils/misc/guc.c:3719
+#: utils/misc/guc.c:3854
 msgid "Sets the seed for random-number generation."
 msgstr "Setzt den Ausgangswert für die Zufallszahlenerzeugung."
 
-#: utils/misc/guc.c:3730
+#: utils/misc/guc.c:3865
 msgid "Vacuum cost delay in milliseconds."
 msgstr "Vacuum-Kosten-Verzögerung in Millisekunden."
 
-#: utils/misc/guc.c:3741
+#: utils/misc/guc.c:3876
 msgid "Vacuum cost delay in milliseconds, for autovacuum."
 msgstr "Vacuum-Kosten-Verzögerung in Millisekunden, für Autovacuum."
 
-#: utils/misc/guc.c:3752
+#: utils/misc/guc.c:3887
 msgid "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples."
 msgstr "Anzahl geänderter oder gelöschter Tupel vor einem Vacuum, relativ zu reltuples."
 
-#: utils/misc/guc.c:3762
+#: utils/misc/guc.c:3897
 msgid "Number of tuple inserts prior to vacuum as a fraction of reltuples."
 msgstr "Anzahl eingefügter Tupel vor einem Vacuum, relativ zu reltuples."
 
-#: utils/misc/guc.c:3772
+#: utils/misc/guc.c:3907
 msgid "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples."
 msgstr "Anzahl eingefügter, geänderter oder gelöschter Tupel vor einem Analyze, relativ zu reltuples."
 
-#: utils/misc/guc.c:3782
+#: utils/misc/guc.c:3917
 msgid "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval."
 msgstr "Zeit, die damit verbracht wird, modifizierte Puffer während eines Checkpoints zurückzuschreiben, als Bruchteil des Checkpoint-Intervalls."
 
-#: utils/misc/guc.c:3792
+#: utils/misc/guc.c:3927
 msgid "Fraction of statements exceeding log_min_duration_sample to be logged."
 msgstr "Anteil der zu loggenden Anweisungen, die log_min_duration_sample überschreiten."
 
-#: utils/misc/guc.c:3793
+#: utils/misc/guc.c:3928
 msgid "Use a value between 0.0 (never log) and 1.0 (always log)."
 msgstr "Verwenden Sie einen Wert zwischen 0.0 (nie loggen) und 1.0 (immer loggen)."
 
-#: utils/misc/guc.c:3802
-#, fuzzy
-#| msgid "Sets the fraction of transactions to log for new transactions."
+#: utils/misc/guc.c:3937
 msgid "Sets the fraction of transactions from which to log all statements."
-msgstr "Setzt den Bruchteil zu loggender Transaktionen."
+msgstr "Setzt den Bruchteil der Transaktionen, aus denen alle Anweisungen geloggt werden."
 
-#: utils/misc/guc.c:3803
-#, fuzzy
-#| msgid "Logs all statements from a fraction of transactions. Use a value between 0.0 (never log) and 1.0 (log all statements for all transactions)."
+#: utils/misc/guc.c:3938
 msgid "Use a value between 0.0 (never log) and 1.0 (log all statements for all transactions)."
-msgstr "Loggt alle Anweisungen in einem Bruchteil der Transaktionen. Verwenden Sie einen Wert zwischen 0.0 (nie loggen) und 1.0 (alle Anweisungen für alle Transaktionen loggen)."
+msgstr "Verwenden Sie einen Wert zwischen 0.0 (nie loggen) und 1.0 (alle Anweisungen für alle Transaktionen loggen)."
+
+#: utils/misc/guc.c:3957
+msgid "Sets the shell command that will be called to archive a WAL file."
+msgstr "Setzt den Shell-Befehl, der aufgerufen wird, um eine WAL-Datei zu archivieren."
+
+#: utils/misc/guc.c:3958
+msgid "This is used only if \"archive_library\" is not set."
+msgstr ""
 
-#: utils/misc/guc.c:3822
-msgid "Sets the shell command that will be called to archive a WAL file."
+#: utils/misc/guc.c:3967
+#, fuzzy
+#| msgid "Sets the shell command that will be called to archive a WAL file."
+msgid "Sets the library that will be called to archive a WAL file."
 msgstr "Setzt den Shell-Befehl, der aufgerufen wird, um eine WAL-Datei zu archivieren."
 
-#: utils/misc/guc.c:3832
+#: utils/misc/guc.c:3968
+msgid "An empty string indicates that \"archive_command\" should be used."
+msgstr ""
+
+#: utils/misc/guc.c:3977
 msgid "Sets the shell command that will be called to retrieve an archived WAL file."
 msgstr "Setzt den Shell-Befehl, der aufgerufen wird, um eine archivierte WAL-Datei zurückzuholen."
 
-#: utils/misc/guc.c:3842
+#: utils/misc/guc.c:3987
 msgid "Sets the shell command that will be executed at every restart point."
 msgstr "Setzt den Shell-Befehl, der bei jedem Restart-Punkt ausgeführt wird."
 
-#: utils/misc/guc.c:3852
+#: utils/misc/guc.c:3997
 msgid "Sets the shell command that will be executed once at the end of recovery."
 msgstr "Setzt den Shell-Befehl, der einmal am Ende der Wiederherstellung ausgeführt wird."
 
-#: utils/misc/guc.c:3862
+#: utils/misc/guc.c:4007
 msgid "Specifies the timeline to recover into."
 msgstr "Gibt die Zeitleiste für die Wiederherstellung an."
 
-#: utils/misc/guc.c:3872
+#: utils/misc/guc.c:4017
 msgid "Set to \"immediate\" to end recovery as soon as a consistent state is reached."
 msgstr "Auf »immediate« setzen, um die Wiederherstellung zu beenden, sobald ein konsistenter Zustand erreicht ist."
 
-#: utils/misc/guc.c:3881
+#: utils/misc/guc.c:4026
 msgid "Sets the transaction ID up to which recovery will proceed."
 msgstr "Setzt die Transaktions-ID, bis zu der die Wiederherstellung voranschreiten wird."
 
-#: utils/misc/guc.c:3890
+#: utils/misc/guc.c:4035
 msgid "Sets the time stamp up to which recovery will proceed."
 msgstr "Setzt den Zeitstempel, bis zu dem die Wiederherstellung voranschreiten wird."
 
-#: utils/misc/guc.c:3899
+#: utils/misc/guc.c:4044
 msgid "Sets the named restore point up to which recovery will proceed."
 msgstr "Setzt den benannten Restore-Punkt, bis zu dem die Wiederherstellung voranschreiten wird."
 
-#: utils/misc/guc.c:3908
+#: utils/misc/guc.c:4053
 msgid "Sets the LSN of the write-ahead log location up to which recovery will proceed."
 msgstr "Setzt die LSN der Write-Ahead-Log-Position, bis zu der die Wiederherstellung voranschreiten wird."
 
-#: utils/misc/guc.c:3918
+#: utils/misc/guc.c:4063
 msgid "Specifies a file name whose presence ends recovery in the standby."
 msgstr "Gibt einen Dateinamen an, dessen Präsenz die Wiederherstellung im Standby beendet."
 
-#: utils/misc/guc.c:3928
+#: utils/misc/guc.c:4073
 msgid "Sets the connection string to be used to connect to the sending server."
 msgstr "Setzt die Verbindungszeichenkette zur Verbindung mit dem sendenden Server."
 
-#: utils/misc/guc.c:3939
+#: utils/misc/guc.c:4084
 msgid "Sets the name of the replication slot to use on the sending server."
 msgstr "Setzt den Namen des zu verwendenden Replikations-Slots auf dem sendenden Server."
 
-#: utils/misc/guc.c:3949
+#: utils/misc/guc.c:4094
 msgid "Sets the client's character set encoding."
 msgstr "Setzt die Zeichensatzkodierung des Clients."
 
-#: utils/misc/guc.c:3960
+#: utils/misc/guc.c:4105
 msgid "Controls information prefixed to each log line."
 msgstr "Bestimmt die Informationen, die vor jede Logzeile geschrieben werden."
 
-#: utils/misc/guc.c:3961
+#: utils/misc/guc.c:4106
 msgid "If blank, no prefix is used."
 msgstr "Wenn leer, dann wird kein Präfix verwendet."
 
-#: utils/misc/guc.c:3970
+#: utils/misc/guc.c:4115
 msgid "Sets the time zone to use in log messages."
 msgstr "Setzt die in Logmeldungen verwendete Zeitzone."
 
-#: utils/misc/guc.c:3980
+#: utils/misc/guc.c:4125
 msgid "Sets the display format for date and time values."
 msgstr "Setzt das Ausgabeformat für Datums- und Zeitwerte."
 
-#: utils/misc/guc.c:3981
+#: utils/misc/guc.c:4126
 msgid "Also controls interpretation of ambiguous date inputs."
 msgstr "Kontrolliert auch die Interpretation von zweideutigen Datumseingaben."
 
-#: utils/misc/guc.c:3992
+#: utils/misc/guc.c:4137
 msgid "Sets the default table access method for new tables."
 msgstr "Setzt die Standard-Tabellenzugriffsmethode für neue Tabellen."
 
-#: utils/misc/guc.c:4003
+#: utils/misc/guc.c:4148
 msgid "Sets the default tablespace to create tables and indexes in."
 msgstr "Setzt den Standard-Tablespace für Tabellen und Indexe."
 
-#: utils/misc/guc.c:4004
+#: utils/misc/guc.c:4149
 msgid "An empty string selects the database's default tablespace."
 msgstr "Eine leere Zeichenkette wählt den Standard-Tablespace der Datenbank."
 
-#: utils/misc/guc.c:4014
+#: utils/misc/guc.c:4159
 msgid "Sets the tablespace(s) to use for temporary tables and sort files."
 msgstr "Setzt den oder die Tablespaces für temporäre Tabellen und Sortierdateien."
 
-#: utils/misc/guc.c:4025
+#: utils/misc/guc.c:4170
 msgid "Sets the path for dynamically loadable modules."
 msgstr "Setzt den Pfad für ladbare dynamische Bibliotheken."
 
-#: utils/misc/guc.c:4026
+#: utils/misc/guc.c:4171
 msgid "If a dynamically loadable module needs to be opened and the specified name does not have a directory component (i.e., the name does not contain a slash), the system will search this path for the specified file."
 msgstr "Wenn ein dynamisch ladbares Modul geöffnet werden muss und der angegebene Name keine Verzeichniskomponente hat (das heißt er enthält keinen Schrägstrich), dann sucht das System in diesem Pfad nach der angegebenen Datei."
 
-#: utils/misc/guc.c:4039
+#: utils/misc/guc.c:4184
 msgid "Sets the location of the Kerberos server key file."
 msgstr "Setzt den Ort der Kerberos-Server-Schlüsseldatei."
 
-#: utils/misc/guc.c:4050
+#: utils/misc/guc.c:4195
 msgid "Sets the Bonjour service name."
 msgstr "Setzt den Bonjour-Servicenamen."
 
-#: utils/misc/guc.c:4062
+#: utils/misc/guc.c:4207
 msgid "Shows the collation order locale."
 msgstr "Zeigt die Locale für die Sortierreihenfolge."
 
-#: utils/misc/guc.c:4073
+#: utils/misc/guc.c:4218
 msgid "Shows the character classification and case conversion locale."
 msgstr "Zeigt die Locale für Zeichenklassifizierung und Groß-/Kleinschreibung."
 
-#: utils/misc/guc.c:4084
+#: utils/misc/guc.c:4229
 msgid "Sets the language in which messages are displayed."
 msgstr "Setzt die Sprache, in der Mitteilungen ausgegeben werden."
 
-#: utils/misc/guc.c:4094
+#: utils/misc/guc.c:4239
 msgid "Sets the locale for formatting monetary amounts."
 msgstr "Setzt die Locale für die Formatierung von Geldbeträgen."
 
-#: utils/misc/guc.c:4104
+#: utils/misc/guc.c:4249
 msgid "Sets the locale for formatting numbers."
 msgstr "Setzt die Locale für die Formatierung von Zahlen."
 
-#: utils/misc/guc.c:4114
+#: utils/misc/guc.c:4259
 msgid "Sets the locale for formatting date and time values."
 msgstr "Setzt die Locale für die Formatierung von Datums- und Zeitwerten."
 
-#: utils/misc/guc.c:4124
+#: utils/misc/guc.c:4269
 msgid "Lists shared libraries to preload into each backend."
 msgstr "Listet dynamische Bibliotheken, die vorab in jeden Serverprozess geladen werden."
 
-#: utils/misc/guc.c:4135
+#: utils/misc/guc.c:4280
 msgid "Lists shared libraries to preload into server."
 msgstr "Listet dynamische Bibliotheken, die vorab in den Server geladen werden."
 
-#: utils/misc/guc.c:4146
+#: utils/misc/guc.c:4291
 msgid "Lists unprivileged shared libraries to preload into each backend."
 msgstr "Listet unprivilegierte dynamische Bibliotheken, die vorab in jeden Serverprozess geladen werden."
 
-#: utils/misc/guc.c:4157
+#: utils/misc/guc.c:4302
 msgid "Sets the schema search order for names that are not schema-qualified."
 msgstr "Setzt die Schemasuchreihenfolge für Namen ohne Schemaqualifikation."
 
-#: utils/misc/guc.c:4169
-#, fuzzy
-#| msgid "Sets the server (database) character set encoding."
+#: utils/misc/guc.c:4314
 msgid "Shows the server (database) character set encoding."
-msgstr "Setzt die Zeichensatzkodierung des Servers (der Datenbank)."
+msgstr "Zeigt die Zeichensatzkodierung des Servers (der Datenbank)."
 
-#: utils/misc/guc.c:4181
+#: utils/misc/guc.c:4326
 msgid "Shows the server version."
 msgstr "Zeigt die Serverversion."
 
-#: utils/misc/guc.c:4193
+#: utils/misc/guc.c:4338
 msgid "Sets the current role."
 msgstr "Setzt die aktuelle Rolle."
 
-#: utils/misc/guc.c:4205
+#: utils/misc/guc.c:4350
 msgid "Sets the session user name."
 msgstr "Setzt den Sitzungsbenutzernamen."
 
-#: utils/misc/guc.c:4216
+#: utils/misc/guc.c:4361
 msgid "Sets the destination for server log output."
 msgstr "Setzt das Ziel für die Serverlogausgabe."
 
-#: utils/misc/guc.c:4217
-msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", and \"eventlog\", depending on the platform."
+#: utils/misc/guc.c:4362
+#, fuzzy
+#| msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", and \"eventlog\", depending on the platform."
+msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", \"jsonlog\", and \"eventlog\", depending on the platform."
 msgstr "Gültige Werte sind Kombinationen von »stderr«, »syslog«, »csvlog« und »eventlog«, je nach Plattform."
 
-#: utils/misc/guc.c:4228
+#: utils/misc/guc.c:4373
 msgid "Sets the destination directory for log files."
 msgstr "Bestimmt das Zielverzeichnis für Logdateien."
 
-#: utils/misc/guc.c:4229
+#: utils/misc/guc.c:4374
 msgid "Can be specified as relative to the data directory or as absolute path."
 msgstr "Kann relativ zum Datenverzeichnis oder als absoluter Pfad angegeben werden."
 
-#: utils/misc/guc.c:4239
+#: utils/misc/guc.c:4384
 msgid "Sets the file name pattern for log files."
 msgstr "Bestimmt das Dateinamenmuster für Logdateien."
 
-#: utils/misc/guc.c:4250
+#: utils/misc/guc.c:4395
 msgid "Sets the program name used to identify PostgreSQL messages in syslog."
 msgstr "Setzt den Programmnamen, mit dem PostgreSQL-Meldungen im Syslog identifiziert werden."
 
-#: utils/misc/guc.c:4261
+#: utils/misc/guc.c:4406
 msgid "Sets the application name used to identify PostgreSQL messages in the event log."
 msgstr "Setzt den Programmnamen, mit dem PostgreSQL-Meldungen im Ereignisprotokoll identifiziert werden."
 
-#: utils/misc/guc.c:4272
+#: utils/misc/guc.c:4417
 msgid "Sets the time zone for displaying and interpreting time stamps."
 msgstr "Setzt die Zeitzone, in der Zeitangaben interpretiert und ausgegeben werden."
 
-#: utils/misc/guc.c:4282
+#: utils/misc/guc.c:4427
 msgid "Selects a file of time zone abbreviations."
 msgstr "Wählt eine Datei mit Zeitzonenabkürzungen."
 
-#: utils/misc/guc.c:4292
+#: utils/misc/guc.c:4437
 msgid "Sets the owning group of the Unix-domain socket."
 msgstr "Setzt die Eigentümergruppe der Unix-Domain-Socket."
 
-#: utils/misc/guc.c:4293
+#: utils/misc/guc.c:4438
 msgid "The owning user of the socket is always the user that starts the server."
 msgstr "Der Eigentümer ist immer der Benutzer, der den Server startet."
 
-#: utils/misc/guc.c:4303
+#: utils/misc/guc.c:4448
 msgid "Sets the directories where Unix-domain sockets will be created."
 msgstr "Setzt die Verzeichnisse, in denen Unix-Domain-Sockets erzeugt werden sollen."
 
-#: utils/misc/guc.c:4318
+#: utils/misc/guc.c:4463
 msgid "Sets the host name or IP address(es) to listen to."
 msgstr "Setzt den Hostnamen oder die IP-Adresse(n), auf der auf Verbindungen gewartet wird."
 
-#: utils/misc/guc.c:4333
+#: utils/misc/guc.c:4478
 msgid "Sets the server's data directory."
 msgstr "Setzt das Datenverzeichnis des Servers."
 
-#: utils/misc/guc.c:4344
+#: utils/misc/guc.c:4489
 msgid "Sets the server's main configuration file."
 msgstr "Setzt die Hauptkonfigurationsdatei des Servers."
 
-#: utils/misc/guc.c:4355
+#: utils/misc/guc.c:4500
 msgid "Sets the server's \"hba\" configuration file."
 msgstr "Setzt die »hba«-Konfigurationsdatei des Servers."
 
-#: utils/misc/guc.c:4366
+#: utils/misc/guc.c:4511
 msgid "Sets the server's \"ident\" configuration file."
 msgstr "Setzt die »ident«-Konfigurationsdatei des Servers."
 
-#: utils/misc/guc.c:4377
+#: utils/misc/guc.c:4522
 msgid "Writes the postmaster PID to the specified file."
 msgstr "Schreibt die Postmaster-PID in die angegebene Datei."
 
-#: utils/misc/guc.c:4388
-#, fuzzy
-#| msgid "Name of the SSL library."
+#: utils/misc/guc.c:4533
 msgid "Shows the name of the SSL library."
-msgstr "Name der SSL-Bibliothek."
+msgstr "Zeigt den Namen der SSL-Bibliothek."
 
-#: utils/misc/guc.c:4403
+#: utils/misc/guc.c:4548
 msgid "Location of the SSL server certificate file."
 msgstr "Ort der SSL-Serverzertifikatsdatei."
 
-#: utils/misc/guc.c:4413
+#: utils/misc/guc.c:4558
 msgid "Location of the SSL server private key file."
 msgstr "Setzt den Ort der Datei mit dem privaten SSL-Server-Schlüssel."
 
-#: utils/misc/guc.c:4423
+#: utils/misc/guc.c:4568
 msgid "Location of the SSL certificate authority file."
 msgstr "Ort der SSL-Certificate-Authority-Datei."
 
-#: utils/misc/guc.c:4433
+#: utils/misc/guc.c:4578
 msgid "Location of the SSL certificate revocation list file."
 msgstr "Ort der SSL-Certificate-Revocation-List-Datei."
 
-#: utils/misc/guc.c:4443
-#, fuzzy
-#| msgid "Location of the SSL certificate revocation list file."
+#: utils/misc/guc.c:4588
 msgid "Location of the SSL certificate revocation list directory."
-msgstr "Ort der SSL-Certificate-Revocation-List-Datei."
-
-#: utils/misc/guc.c:4453
-msgid "Writes temporary statistics files to the specified directory."
-msgstr "Schreibt temporäre Statistikdateien in das angegebene Verzeichnis."
+msgstr "Ort des SSL-Certificate-Revocation-List-Verzeichnisses."
 
-#: utils/misc/guc.c:4464
+#: utils/misc/guc.c:4598
 msgid "Number of synchronous standbys and list of names of potential synchronous ones."
 msgstr "Anzahl synchroner Standbys und Liste der Namen der möglichen synchronen Standbys."
 
-#: utils/misc/guc.c:4475
+#: utils/misc/guc.c:4609
 msgid "Sets default text search configuration."
 msgstr "Setzt die vorgegebene Textsuchekonfiguration."
 
-#: utils/misc/guc.c:4485
+#: utils/misc/guc.c:4619
 msgid "Sets the list of allowed SSL ciphers."
 msgstr "Setzt die Liste der erlaubten SSL-Verschlüsselungsalgorithmen."
 
-#: utils/misc/guc.c:4500
+#: utils/misc/guc.c:4634
 msgid "Sets the curve to use for ECDH."
 msgstr "Setzt die für ECDH zu verwendende Kurve."
 
-#: utils/misc/guc.c:4515
+#: utils/misc/guc.c:4649
 msgid "Location of the SSL DH parameters file."
 msgstr "Setzt den Ort der SSL-DH-Parameter-Datei."
 
-#: utils/misc/guc.c:4526
+#: utils/misc/guc.c:4660
 msgid "Command to obtain passphrases for SSL."
 msgstr "Befehl zum Einlesen von Passphrasen für SSL."
 
-#: utils/misc/guc.c:4537
+#: utils/misc/guc.c:4671
 msgid "Sets the application name to be reported in statistics and logs."
 msgstr "Setzt den Anwendungsnamen, der in Statistiken und Logs verzeichnet wird."
 
-#: utils/misc/guc.c:4548
+#: utils/misc/guc.c:4682
 msgid "Sets the name of the cluster, which is included in the process title."
 msgstr "Setzt den Namen des Clusters, welcher im Prozesstitel angezeigt wird."
 
-#: utils/misc/guc.c:4559
+#: utils/misc/guc.c:4693
 msgid "Sets the WAL resource managers for which WAL consistency checks are done."
 msgstr "Setzt die WAL-Resource-Manager, für die WAL-Konsistenzprüfungen durchgeführt werden."
 
-#: utils/misc/guc.c:4560
+#: utils/misc/guc.c:4694
 msgid "Full-page images will be logged for all data blocks and cross-checked against the results of WAL replay."
 msgstr "Volle Seitenabbilder werden für alle Datenblöcke geloggt und gegen die Resultate der WAL-Wiederherstellung geprüft."
 
-#: utils/misc/guc.c:4570
+#: utils/misc/guc.c:4704
 msgid "JIT provider to use."
 msgstr "Zu verwendender JIT-Provider."
 
-#: utils/misc/guc.c:4581
+#: utils/misc/guc.c:4715
 msgid "Log backtrace for errors in these functions."
 msgstr "Backtrace für Fehler in diesen Funktionen loggen."
 
-#: utils/misc/guc.c:4601
+#: utils/misc/guc.c:4735
 msgid "Sets whether \"\\'\" is allowed in string literals."
 msgstr "Bestimmt, ob »\\'« in Zeichenkettenkonstanten erlaubt ist."
 
-#: utils/misc/guc.c:4611
+#: utils/misc/guc.c:4745
 msgid "Sets the output format for bytea."
 msgstr "Setzt das Ausgabeformat für bytea."
 
-#: utils/misc/guc.c:4621
+#: utils/misc/guc.c:4755
 msgid "Sets the message levels that are sent to the client."
 msgstr "Setzt die Meldungstypen, die an den Client gesendet werden."
 
-#: utils/misc/guc.c:4622 utils/misc/guc.c:4708 utils/misc/guc.c:4719
-#: utils/misc/guc.c:4795
+#: utils/misc/guc.c:4756 utils/misc/guc.c:4842 utils/misc/guc.c:4853
+#: utils/misc/guc.c:4929
 msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent."
 msgstr "Jeder Wert schließt alle ihm folgenden Werte mit ein. Je weiter hinten der Wert steht, desto weniger Meldungen werden gesendet werden."
 
-#: utils/misc/guc.c:4632
+#: utils/misc/guc.c:4766
 #, fuzzy
-#| msgid "unterminated quoted identifier"
-msgid "Compute query identifiers."
-msgstr "Bezeichner in Anführungszeichen nicht abgeschlossen"
+#| msgid "Compute query identifiers."
+msgid "Enables in-core computation of query identifiers."
+msgstr "Anfragebezeichner berechnen."
 
-#: utils/misc/guc.c:4642
+#: utils/misc/guc.c:4776
 msgid "Enables the planner to use constraints to optimize queries."
 msgstr "Ermöglicht dem Planer die Verwendung von Constraints, um Anfragen zu optimieren."
 
-#: utils/misc/guc.c:4643
+#: utils/misc/guc.c:4777
 msgid "Table scans will be skipped if their constraints guarantee that no rows match the query."
 msgstr "Tabellen-Scans werden übersprungen, wenn deren Constraints garantieren, dass keine Zeile mit der Abfrage übereinstimmt."
 
-#: utils/misc/guc.c:4654
-#, fuzzy
-#| msgid "Sets the default table access method for new tables."
+#: utils/misc/guc.c:4788
 msgid "Sets the default compression method for compressible values."
-msgstr "Setzt die Standard-Tabellenzugriffsmethode für neue Tabellen."
+msgstr "Setzt die Standard-Komprimierungsmethode für komprimierbare Werte."
 
-#: utils/misc/guc.c:4665
+#: utils/misc/guc.c:4799
 msgid "Sets the transaction isolation level of each new transaction."
 msgstr "Setzt den Transaktionsisolationsgrad neuer Transaktionen."
 
-#: utils/misc/guc.c:4675
+#: utils/misc/guc.c:4809
 msgid "Sets the current transaction's isolation level."
 msgstr "Zeigt den Isolationsgrad der aktuellen Transaktion."
 
-#: utils/misc/guc.c:4686
+#: utils/misc/guc.c:4820
 msgid "Sets the display format for interval values."
 msgstr "Setzt das Ausgabeformat für Intervallwerte."
 
-#: utils/misc/guc.c:4697
+#: utils/misc/guc.c:4831
 msgid "Sets the verbosity of logged messages."
 msgstr "Setzt den Detailgrad von geloggten Meldungen."
 
-#: utils/misc/guc.c:4707
+#: utils/misc/guc.c:4841
 msgid "Sets the message levels that are logged."
 msgstr "Setzt die Meldungstypen, die geloggt werden."
 
-#: utils/misc/guc.c:4718
+#: utils/misc/guc.c:4852
 msgid "Causes all statements generating error at or above this level to be logged."
 msgstr "Schreibt alle Anweisungen, die einen Fehler auf dieser Stufe oder höher verursachen, in den Log."
 
-#: utils/misc/guc.c:4729
+#: utils/misc/guc.c:4863
 msgid "Sets the type of statements logged."
 msgstr "Setzt die Anweisungsarten, die geloggt werden."
 
-#: utils/misc/guc.c:4739
+#: utils/misc/guc.c:4873
 msgid "Sets the syslog \"facility\" to be used when syslog enabled."
 msgstr "Setzt die zu verwendende Syslog-»Facility«, wenn Syslog angeschaltet ist."
 
-#: utils/misc/guc.c:4754
+#: utils/misc/guc.c:4888
 msgid "Sets the session's behavior for triggers and rewrite rules."
 msgstr "Setzt das Sitzungsverhalten für Trigger und Regeln."
 
-#: utils/misc/guc.c:4764
+#: utils/misc/guc.c:4898
 msgid "Sets the current transaction's synchronization level."
 msgstr "Setzt den Synchronisationsgrad der aktuellen Transaktion."
 
-#: utils/misc/guc.c:4774
+#: utils/misc/guc.c:4908
 msgid "Allows archiving of WAL files using archive_command."
 msgstr "Erlaubt die Archivierung von WAL-Dateien mittels archive_command."
 
-#: utils/misc/guc.c:4784
+#: utils/misc/guc.c:4918
 msgid "Sets the action to perform upon reaching the recovery target."
 msgstr "Setzt die Aktion, die beim Erreichen des Wiederherstellungsziels durchgeführt wird."
 
-#: utils/misc/guc.c:4794
+#: utils/misc/guc.c:4928
 msgid "Enables logging of recovery-related debugging information."
 msgstr "Ermöglicht das Loggen von Debug-Informationen über die Wiederherstellung."
 
-#: utils/misc/guc.c:4810
+#: utils/misc/guc.c:4945
 msgid "Collects function-level statistics on database activity."
 msgstr "Sammelt Statistiken auf Funktionsebene über Datenbankaktivität."
 
-#: utils/misc/guc.c:4820
+#: utils/misc/guc.c:4956
+#, fuzzy
+#| msgid "Sets the default statistics target."
+msgid "Sets the consistency of accesses to statistics data"
+msgstr "Setzt das voreingestellte Statistikziel."
+
+#: utils/misc/guc.c:4966
 #, fuzzy
-#| msgid "Set the level of information written to the WAL."
+#| msgid "Compresses full-page writes written in WAL file."
+msgid "Compresses full-page writes written in WAL file with specified method."
+msgstr "Komprimiert in WAL-Dateien geschriebene volle Seiten."
+
+#: utils/misc/guc.c:4976
 msgid "Sets the level of information written to the WAL."
 msgstr "Setzt den Umfang der in den WAL geschriebenen Informationen."
 
-#: utils/misc/guc.c:4830
+#: utils/misc/guc.c:4986
 msgid "Selects the dynamic shared memory implementation used."
 msgstr "Wählt die zu verwendende Implementierung von dynamischem Shared Memory."
 
-#: utils/misc/guc.c:4840
+#: utils/misc/guc.c:4996
 msgid "Selects the shared memory implementation used for the main shared memory region."
 msgstr "Wählt die Shared-Memory-Implementierung, die für den Haupt-Shared-Memory-Bereich verwendet wird."
 
-#: utils/misc/guc.c:4850
+#: utils/misc/guc.c:5006
 msgid "Selects the method used for forcing WAL updates to disk."
 msgstr "Wählt die Methode, um das Schreiben von WAL-Änderungen auf die Festplatte zu erzwingen."
 
-#: utils/misc/guc.c:4860
+#: utils/misc/guc.c:5016
 msgid "Sets how binary values are to be encoded in XML."
 msgstr "Setzt, wie binäre Werte in XML kodiert werden."
 
-#: utils/misc/guc.c:4870
+#: utils/misc/guc.c:5026
 msgid "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments."
 msgstr "Setzt, ob XML-Daten in impliziten Parse- und Serialisierungsoperationen als Dokument oder Fragment betrachtet werden sollen."
 
-#: utils/misc/guc.c:4881
+#: utils/misc/guc.c:5037
 msgid "Use of huge pages on Linux or Windows."
 msgstr "Huge Pages auf Linux oder Windows verwenden."
 
-#: utils/misc/guc.c:4891
+#: utils/misc/guc.c:5047
+#, fuzzy
+#| msgid "cannot execute %s during recovery"
+msgid "Prefetch referenced blocks during recovery"
+msgstr "%s kann nicht während der Wiederherstellung ausgeführt werden"
+
+#: utils/misc/guc.c:5048
+msgid "Look ahead in the WAL to find references to uncached data."
+msgstr ""
+
+#: utils/misc/guc.c:5057
 msgid "Forces use of parallel query facilities."
 msgstr "Verwendung der Einrichtungen für parallele Anfragen erzwingen."
 
-#: utils/misc/guc.c:4892
+#: utils/misc/guc.c:5058
 msgid "If possible, run query using a parallel worker and with parallel restrictions."
 msgstr "Wenn möglich werden Anfragen in einem parallelen Arbeitsprozess und mit parallelen Beschränkungen ausgeführt."
 
-#: utils/misc/guc.c:4902
+#: utils/misc/guc.c:5068
 msgid "Chooses the algorithm for encrypting passwords."
 msgstr "Wählt den Algorithmus zum Verschlüsseln von Passwörtern."
 
-#: utils/misc/guc.c:4912
+#: utils/misc/guc.c:5078
 msgid "Controls the planner's selection of custom or generic plan."
 msgstr "Kontrolliert, ob der Planer einen maßgeschneiderten oder einen allgemeinen Plan verwendet."
 
-#: utils/misc/guc.c:4913
+#: utils/misc/guc.c:5079
 msgid "Prepared statements can have custom and generic plans, and the planner will attempt to choose which is better.  This can be set to override the default behavior."
 msgstr "Vorbereitete Anweisungen können maßgeschneiderte oder allgemeine Pläne haben und der Planer wird versuchen, den besseren auszuwählen. Diese Einstellung kann das Standardverhalten außer Kraft setzen."
 
-#: utils/misc/guc.c:4925
+#: utils/misc/guc.c:5091
 msgid "Sets the minimum SSL/TLS protocol version to use."
 msgstr "Setzt die minimale zu verwendende SSL/TLS-Protokollversion."
 
-#: utils/misc/guc.c:4937
+#: utils/misc/guc.c:5103
 msgid "Sets the maximum SSL/TLS protocol version to use."
 msgstr "Setzt die maximale zu verwendende SSL/TLS-Protokollversion."
 
-#: utils/misc/guc.c:4949
+#: utils/misc/guc.c:5115
 msgid "Sets the method for synchronizing the data directory before crash recovery."
-msgstr ""
+msgstr "Setzt die Methode für das Synchronisieren des Datenverzeichnisses vor der Wiederherstellung nach einem Absturz."
 
-#: utils/misc/guc.c:5518
-#, fuzzy, c-format
-#| msgid "unrecognized configuration parameter \"%s\""
+#: utils/misc/guc.c:5689 utils/misc/guc.c:5705
+#, c-format
 msgid "invalid configuration parameter name \"%s\""
-msgstr "unbekannter Konfigurationsparameter »%s«"
+msgstr "ungültiger Konfigurationsparametername »%s«"
 
-#: utils/misc/guc.c:5520
+#: utils/misc/guc.c:5691
 #, c-format
 msgid "Custom parameter names must be two or more simple identifiers separated by dots."
-msgstr ""
+msgstr "Selbstdefinierte Parameternamen müssen zwei oder mehr einfache Bezeichner getrennt durch Punkte sein."
 
-#: utils/misc/guc.c:5529 utils/misc/guc.c:9288
+#: utils/misc/guc.c:5707
+#, fuzzy, c-format
+#| msgid "\"%s\" is a procedure."
+msgid "\"%s\" is a reserved prefix."
+msgstr "»%s« ist eine Prozedur."
+
+#: utils/misc/guc.c:5721
 #, c-format
 msgid "unrecognized configuration parameter \"%s\""
 msgstr "unbekannter Konfigurationsparameter »%s«"
 
-#: utils/misc/guc.c:5822
+#: utils/misc/guc.c:6102
 #, c-format
 msgid "%s: could not access directory \"%s\": %s\n"
 msgstr "%s: konnte nicht auf Verzeichnis »%s« zugreifen: %s\n"
 
-#: utils/misc/guc.c:5827
+#: utils/misc/guc.c:6107
 #, c-format
 msgid "Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n"
 msgstr "Führen Sie initdb oder pg_basebackup aus, um ein PostgreSQL-Datenverzeichnis zu initialisieren.\n"
 
-#: utils/misc/guc.c:5847
+#: utils/misc/guc.c:6127
 #, c-format
 msgid ""
 "%s does not know where to find the server configuration file.\n"
@@ -28045,12 +29162,12 @@ msgstr ""
 "Sie müssen die Kommandozeilenoption --config-file oder -D angegeben oder\n"
 "die Umgebungsvariable PGDATA setzen.\n"
 
-#: utils/misc/guc.c:5866
+#: utils/misc/guc.c:6146
 #, c-format
 msgid "%s: could not access the server configuration file \"%s\": %s\n"
 msgstr "%s: konnte nicht auf die Serverkonfigurationsdatei »%s« zugreifen: %s\n"
 
-#: utils/misc/guc.c:5892
+#: utils/misc/guc.c:6172
 #, c-format
 msgid ""
 "%s does not know where to find the database system data.\n"
@@ -28060,7 +29177,7 @@ msgstr ""
 "zu finden sind.  Sie können dies mit »data_directory« in »%s«, mit der\n"
 "Kommandozeilenoption -D oder der Umgebungsvariable PGDATA angeben.\n"
 
-#: utils/misc/guc.c:5940
+#: utils/misc/guc.c:6220
 #, c-format
 msgid ""
 "%s does not know where to find the \"hba\" configuration file.\n"
@@ -28070,7 +29187,7 @@ msgstr ""
 "Sie können dies mit »hba_file« in »%s«, mit der\n"
 "Kommandozeilenoption -D oder der Umgebungsvariable PGDATA angeben.\n"
 
-#: utils/misc/guc.c:5963
+#: utils/misc/guc.c:6243
 #, c-format
 msgid ""
 "%s does not know where to find the \"ident\" configuration file.\n"
@@ -28080,183 +29197,192 @@ msgstr ""
 "Sie können dies mit »ident_file« in »%s«, mit der\n"
 "Kommandozeilenoption -D oder der Umgebungsvariable PGDATA angeben.\n"
 
-#: utils/misc/guc.c:6888
+#: utils/misc/guc.c:7168
 msgid "Value exceeds integer range."
 msgstr "Wert überschreitet Bereich für ganze Zahlen."
 
-#: utils/misc/guc.c:7124
+#: utils/misc/guc.c:7404
 #, c-format
 msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d .. %d)"
 msgstr "%d%s%s ist außerhalb des gültigen Bereichs für Parameter »%s« (%d ... %d)"
 
-#: utils/misc/guc.c:7160
+#: utils/misc/guc.c:7440
 #, c-format
 msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g .. %g)"
 msgstr "%g%s%s ist außerhalb des gültigen Bereichs für Parameter »%s« (%g ... %g)"
 
-#: utils/misc/guc.c:7320 utils/misc/guc.c:8692
+#: utils/misc/guc.c:7600 utils/misc/guc.c:9028
 #, c-format
 msgid "cannot set parameters during a parallel operation"
 msgstr "während einer parallelen Operation können keine Parameter gesetzt werden"
 
-#: utils/misc/guc.c:7337 utils/misc/guc.c:8533
+#: utils/misc/guc.c:7617 utils/misc/guc.c:8852
 #, c-format
 msgid "parameter \"%s\" cannot be changed"
 msgstr "Parameter »%s« kann nicht geändert werden"
 
-#: utils/misc/guc.c:7370
+#: utils/misc/guc.c:7650
 #, c-format
 msgid "parameter \"%s\" cannot be changed now"
 msgstr "Parameter »%s« kann jetzt nicht geändert werden"
 
-#: utils/misc/guc.c:7388 utils/misc/guc.c:7435 utils/misc/guc.c:11333
+#: utils/misc/guc.c:7677 utils/misc/guc.c:7735 utils/misc/guc.c:8828
+#: utils/misc/guc.c:11696
 #, c-format
 msgid "permission denied to set parameter \"%s\""
 msgstr "keine Berechtigung, um Parameter »%s« zu setzen"
 
-#: utils/misc/guc.c:7425
+#: utils/misc/guc.c:7715
 #, c-format
 msgid "parameter \"%s\" cannot be set after connection start"
 msgstr "Parameter »%s« kann nach Start der Verbindung nicht geändert werden"
 
-#: utils/misc/guc.c:7473
+#: utils/misc/guc.c:7774
 #, c-format
 msgid "cannot set parameter \"%s\" within security-definer function"
 msgstr "Parameter »%s« kann nicht in einer Security-Definer-Funktion gesetzt werden"
 
-#: utils/misc/guc.c:8106 utils/misc/guc.c:8153 utils/misc/guc.c:9550
-#, c-format
-msgid "must be superuser or a member of pg_read_all_settings to examine \"%s\""
+#: utils/misc/guc.c:8407 utils/misc/guc.c:8454 utils/misc/guc.c:9917
+#, fuzzy, c-format
+#| msgid "must be superuser or a member of pg_read_all_settings to examine \"%s\""
+msgid "must be superuser or have privileges of pg_read_all_settings to examine \"%s\""
 msgstr "nur Superuser oder Mitglieder von pg_read_all_settings können »%s« ansehen"
 
-#: utils/misc/guc.c:8237
+#: utils/misc/guc.c:8538
 #, c-format
 msgid "SET %s takes only one argument"
 msgstr "SET %s darf nur ein Argument haben"
 
-#: utils/misc/guc.c:8485
-#, c-format
-msgid "must be superuser to execute ALTER SYSTEM command"
-msgstr "nur Superuser können den Befehl ALTER SYSTEM ausführen"
+#: utils/misc/guc.c:8818
+#, fuzzy, c-format
+#| msgid "permission denied for operator %s"
+msgid "permission denied to perform ALTER SYSTEM RESET ALL"
+msgstr "keine Berechtigung für Operator %s"
 
-#: utils/misc/guc.c:8566
+#: utils/misc/guc.c:8885
 #, c-format
 msgid "parameter value for ALTER SYSTEM must not contain a newline"
 msgstr "Parameterwert für ALTER SYSTEM darf keine Newline enthalten"
 
-#: utils/misc/guc.c:8611
+#: utils/misc/guc.c:8930
 #, c-format
 msgid "could not parse contents of file \"%s\""
 msgstr "konnte Inhalt der Datei »%s« nicht parsen"
 
-#: utils/misc/guc.c:8768
+#: utils/misc/guc.c:9104
 #, c-format
 msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented"
 msgstr "SET LOCAL TRANSACTION SNAPSHOT ist nicht implementiert"
 
-#: utils/misc/guc.c:8852
+#: utils/misc/guc.c:9191
 #, c-format
 msgid "SET requires parameter name"
 msgstr "SET benötigt Parameternamen"
 
-#: utils/misc/guc.c:8985
+#: utils/misc/guc.c:9324
 #, c-format
 msgid "attempt to redefine parameter \"%s\""
 msgstr "Versuch, den Parameter »%s« zu redefinieren"
 
-#: utils/misc/guc.c:10780
+#: utils/misc/guc.c:9645
+#, fuzzy, c-format
+#| msgid "invalid configuration parameter name \"%s\""
+msgid "invalid configuration parameter name \"%s\", removing it"
+msgstr "ungültiger Konfigurationsparametername »%s«"
+
+#: utils/misc/guc.c:9647
+#, fuzzy, c-format
+#| msgid "\"%s\" is not a sequence"
+msgid "\"%s\" is now a reserved prefix."
+msgstr "»%s« ist keine Sequenz"
+
+#: utils/misc/guc.c:11143
 #, c-format
 msgid "while setting parameter \"%s\" to \"%s\""
 msgstr "beim Setzen von Parameter »%s« auf »%s«"
 
-#: utils/misc/guc.c:10945
+#: utils/misc/guc.c:11308
 #, c-format
 msgid "parameter \"%s\" could not be set"
 msgstr "Parameter »%s« kann nicht gesetzt werden"
 
-#: utils/misc/guc.c:11037
+#: utils/misc/guc.c:11400
 #, c-format
 msgid "could not parse setting for parameter \"%s\""
 msgstr "konnte Wert von Parameter »%s« nicht lesen"
 
-#: utils/misc/guc.c:11395 utils/misc/guc.c:11429
-#, c-format
-msgid "invalid value for parameter \"%s\": %d"
-msgstr "ungültiger Wert für Parameter »%s«: %d"
-
-#: utils/misc/guc.c:11463
+#: utils/misc/guc.c:11826
 #, c-format
 msgid "invalid value for parameter \"%s\": %g"
 msgstr "ungültiger Wert für Parameter »%s«: %g"
 
-#: utils/misc/guc.c:11750
+#: utils/misc/guc.c:12139
 #, c-format
 msgid "\"temp_buffers\" cannot be changed after any temporary tables have been accessed in the session."
 msgstr "»temp_buffers« kann nicht geändert werden, nachdem in der Sitzung auf temporäre Tabellen zugriffen wurde."
 
-#: utils/misc/guc.c:11762
+#: utils/misc/guc.c:12151
 #, c-format
 msgid "Bonjour is not supported by this build"
 msgstr "Bonjour wird von dieser Installation nicht unterstützt"
 
-#: utils/misc/guc.c:11775
+#: utils/misc/guc.c:12164
 #, c-format
 msgid "SSL is not supported by this build"
 msgstr "SSL wird von dieser Installation nicht unterstützt"
 
-#: utils/misc/guc.c:11787
+#: utils/misc/guc.c:12176
 #, c-format
 msgid "Cannot enable parameter when \"log_statement_stats\" is true."
 msgstr "Kann Parameter nicht einschalten, wenn »log_statement_stats« an ist."
 
-#: utils/misc/guc.c:11799
+#: utils/misc/guc.c:12188
 #, c-format
 msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true."
 msgstr "Kann »log_statement_stats« nicht einschalten, wenn »log_parser_stats«, »log_planner_stats« oder »log_executor_stats« an ist."
 
-#: utils/misc/guc.c:12029
+#: utils/misc/guc.c:12418
 #, c-format
 msgid "effective_io_concurrency must be set to 0 on platforms that lack posix_fadvise()."
 msgstr "effective_io_concurrency muss auf Plattformen ohne posix_fadvise() auf 0 gesetzt sein."
 
-#: utils/misc/guc.c:12042
+#: utils/misc/guc.c:12431
 #, c-format
 msgid "maintenance_io_concurrency must be set to 0 on platforms that lack posix_fadvise()."
 msgstr "maintenance_io_concurrency muss auf Plattformen ohne posix_fadvise() auf 0 gesetzt sein."
 
-#: utils/misc/guc.c:12056
-#, fuzzy, c-format
-#| msgid "huge pages not supported on this platform"
+#: utils/misc/guc.c:12445
+#, c-format
 msgid "huge_page_size must be 0 on this platform."
-msgstr "Huge Pages werden auf dieser Plattform nicht unterstützt"
+msgstr "huge_page_size muss auf dieser Plattform 0 sein."
 
-#: utils/misc/guc.c:12070
+#: utils/misc/guc.c:12457
 #, fuzzy, c-format
-#| msgid "maintenance_io_concurrency must be set to 0 on platforms that lack posix_fadvise()."
-msgid "client_connection_check_interval must be set to 0 on platforms that lack POLLRDHUP."
-msgstr "maintenance_io_concurrency muss auf Plattformen ohne posix_fadvise() auf 0 gesetzt sein."
+#| msgid "client_connection_check_interval must be set to 0 on platforms that lack POLLRDHUP."
+msgid "client_connection_check_interval must be set to 0 on this platform"
+msgstr "client_connection_check_interval muss auf Plattformen ohne POLLRDHUP auf 0 gesetzt sein."
 
-#: utils/misc/guc.c:12198
+#: utils/misc/guc.c:12569
 #, c-format
 msgid "invalid character"
 msgstr "ungültiges Zeichen"
 
-#: utils/misc/guc.c:12258
+#: utils/misc/guc.c:12629
 #, c-format
 msgid "recovery_target_timeline is not a valid number."
 msgstr "recovery_target_timeline ist keine gültige Zahl."
 
-#: utils/misc/guc.c:12298
+#: utils/misc/guc.c:12669
 #, c-format
 msgid "multiple recovery targets specified"
 msgstr "mehrere Wiederherstellungsziele angegeben"
 
-#: utils/misc/guc.c:12299
+#: utils/misc/guc.c:12670
 #, c-format
 msgid "At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid may be set."
 msgstr "Höchstens eins aus recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid darf gesetzt sein."
 
-#: utils/misc/guc.c:12307
+#: utils/misc/guc.c:12678
 #, c-format
 msgid "The only allowed value is \"immediate\"."
 msgstr "Der einzige erlaubte Wert ist »immediate«."
@@ -28266,11 +29392,6 @@ msgstr "Der einzige erlaubte Wert ist »immediate«."
 msgid "internal error: unrecognized run-time parameter type\n"
 msgstr "interner Fehler: unbekannter Parametertyp\n"
 
-#: utils/misc/pg_config.c:60
-#, c-format
-msgid "query-specified return tuple and function return type are not compatible"
-msgstr "in der Anfrage angegebenes Rückgabetupel und Rückgabetyp der Funktion sind nicht kompatibel"
-
 #: utils/misc/pg_controldata.c:60 utils/misc/pg_controldata.c:138
 #: utils/misc/pg_controldata.c:241 utils/misc/pg_controldata.c:306
 #, c-format
@@ -28292,7 +29413,7 @@ msgstr "Policy für Sicherheit auf Zeilenebene für Tabelle »%s« würde Auswir
 msgid "To disable the policy for the table's owner, use ALTER TABLE NO FORCE ROW LEVEL SECURITY."
 msgstr "Um die Policy für den Tabelleneigentümer zu deaktivieren, verwenden Sie ALTER TABLE NO FORCE ROW LEVEL SECURITY."
 
-#: utils/misc/timeout.c:484
+#: utils/misc/timeout.c:524
 #, c-format
 msgid "cannot add more timeout reasons"
 msgstr "kann keine weiteren Gründe für Zeitüberschreitungen hinzufügen"
@@ -28362,7 +29483,7 @@ msgstr "Zeile ist zu lang in Zeitzonendatei »%s«, Zeile %d"
 msgid "@INCLUDE without file name in time zone file \"%s\", line %d"
 msgstr "@INCLUDE ohne Dateiname in Zeitzonendatei »%s«, Zeile %d"
 
-#: utils/mmgr/aset.c:477 utils/mmgr/generation.c:235 utils/mmgr/slab.c:237
+#: utils/mmgr/aset.c:477 utils/mmgr/generation.c:267 utils/mmgr/slab.c:237
 #, c-format
 msgid "Failed while creating memory context \"%s\"."
 msgstr "Fehler während der Erzeugung des Speicherkontexts »%s«."
@@ -28373,101 +29494,101 @@ msgid "could not attach to dynamic shared area"
 msgstr "konnte nicht an dynamische Shared Area anbinden"
 
 #: utils/mmgr/mcxt.c:889 utils/mmgr/mcxt.c:925 utils/mmgr/mcxt.c:963
-#: utils/mmgr/mcxt.c:1001 utils/mmgr/mcxt.c:1083 utils/mmgr/mcxt.c:1114
-#: utils/mmgr/mcxt.c:1150 utils/mmgr/mcxt.c:1202 utils/mmgr/mcxt.c:1237
-#: utils/mmgr/mcxt.c:1272
+#: utils/mmgr/mcxt.c:1001 utils/mmgr/mcxt.c:1089 utils/mmgr/mcxt.c:1120
+#: utils/mmgr/mcxt.c:1156 utils/mmgr/mcxt.c:1208 utils/mmgr/mcxt.c:1243
+#: utils/mmgr/mcxt.c:1278
 #, c-format
 msgid "Failed on request of size %zu in memory context \"%s\"."
 msgstr "Fehler bei Anfrage mit Größe %zu im Speicherkontext »%s«."
 
-#: utils/mmgr/mcxt.c:1046
+#: utils/mmgr/mcxt.c:1052
 #, c-format
 msgid "logging memory contexts of PID %d"
-msgstr ""
+msgstr "logge Speicherkontexte von PID %d"
 
-#: utils/mmgr/portalmem.c:187
+#: utils/mmgr/portalmem.c:188
 #, c-format
 msgid "cursor \"%s\" already exists"
 msgstr "Cursor »%s« existiert bereits"
 
-#: utils/mmgr/portalmem.c:191
+#: utils/mmgr/portalmem.c:192
 #, c-format
 msgid "closing existing cursor \"%s\""
 msgstr "bestehender Cursor »%s« wird geschlossen"
 
-#: utils/mmgr/portalmem.c:400
+#: utils/mmgr/portalmem.c:402
 #, c-format
 msgid "portal \"%s\" cannot be run"
 msgstr "Portal »%s« kann nicht ausgeführt werden"
 
-#: utils/mmgr/portalmem.c:478
+#: utils/mmgr/portalmem.c:480
 #, c-format
 msgid "cannot drop pinned portal \"%s\""
 msgstr "gepinntes Portal »%s« kann nicht gelöscht werden"
 
-#: utils/mmgr/portalmem.c:486
+#: utils/mmgr/portalmem.c:488
 #, c-format
 msgid "cannot drop active portal \"%s\""
 msgstr "aktives Portal »%s« kann nicht gelöscht werden"
 
-#: utils/mmgr/portalmem.c:736
+#: utils/mmgr/portalmem.c:739
 #, c-format
 msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD"
 msgstr "PREPARE kann nicht in einer Transaktion ausgeführt werden, die einen Cursor mit WITH HOLD erzeugt hat"
 
-#: utils/mmgr/portalmem.c:1275
+#: utils/mmgr/portalmem.c:1232
 #, c-format
 msgid "cannot perform transaction commands inside a cursor loop that is not read-only"
 msgstr "in einer Cursor-Schleife, die nicht nur liest, können keine Transaktionsbefehle ausgeführt werden"
 
-#: utils/sort/logtape.c:268 utils/sort/logtape.c:291
+#: utils/sort/logtape.c:266 utils/sort/logtape.c:289
 #, c-format
 msgid "could not seek to block %ld of temporary file"
 msgstr "konnte Positionszeiger in temporärer Datei nicht auf Block %ld setzen"
 
-#: utils/sort/logtape.c:297
+#: utils/sort/logtape.c:295
 #, c-format
 msgid "could not read block %ld of temporary file: read only %zu of %zu bytes"
 msgstr "konnte Block %ld von temporärer Datei nicht lesen: es wurden nur %zu von %zu Bytes gelesen"
 
-#: utils/sort/sharedtuplestore.c:430 utils/sort/sharedtuplestore.c:439
-#: utils/sort/sharedtuplestore.c:462 utils/sort/sharedtuplestore.c:479
-#: utils/sort/sharedtuplestore.c:496
+#: utils/sort/sharedtuplestore.c:431 utils/sort/sharedtuplestore.c:440
+#: utils/sort/sharedtuplestore.c:463 utils/sort/sharedtuplestore.c:480
+#: utils/sort/sharedtuplestore.c:497
 #, c-format
 msgid "could not read from shared tuplestore temporary file"
 msgstr "konnte nicht aus temporärer Datei für Shared-Tuplestore lesen"
 
-#: utils/sort/sharedtuplestore.c:485
+#: utils/sort/sharedtuplestore.c:486
 #, c-format
 msgid "unexpected chunk in shared tuplestore temporary file"
 msgstr "unerwarteter Chunk in temporärer Datei für Shared-Tuplestore"
 
-#: utils/sort/sharedtuplestore.c:569
+#: utils/sort/sharedtuplestore.c:571
 #, c-format
 msgid "could not seek to block %u in shared tuplestore temporary file"
 msgstr "konnte Positionszeiger in temporärer Datei für Shared-Tuplestore nicht auf Block %u setzen"
 
-#: utils/sort/sharedtuplestore.c:576
+#: utils/sort/sharedtuplestore.c:578
 #, c-format
 msgid "could not read from shared tuplestore temporary file: read only %zu of %zu bytes"
 msgstr "konnte nicht aus temporärer Datei für Shared-Tuplestore lesen: es wurden nur %zu von %zu Bytes gelesen"
 
-#: utils/sort/tuplesort.c:3216
+#: utils/sort/tuplesort.c:3321
 #, c-format
 msgid "cannot have more than %d runs for an external sort"
 msgstr "ein externer Sortiervorgang kann nicht mehr als %d Durchgänge haben"
 
-#: utils/sort/tuplesort.c:4297
+#: utils/sort/tuplesort.c:4429
 #, c-format
 msgid "could not create unique index \"%s\""
 msgstr "konnte Unique Index »%s« nicht erstellen"
 
-#: utils/sort/tuplesort.c:4299
+#: utils/sort/tuplesort.c:4431
 #, c-format
 msgid "Key %s is duplicated."
 msgstr "Schlüssel %s ist doppelt vorhanden."
 
-#: utils/sort/tuplesort.c:4300
+#: utils/sort/tuplesort.c:4432
 #, c-format
 msgid "Duplicate keys exist."
 msgstr "Es existieren doppelte Schlüssel."
@@ -28487,52 +29608,434 @@ msgstr "konnte Positionszeiger in temporärer Datei für Tuplestore nicht setzen
 msgid "could not read from tuplestore temporary file: read only %zu of %zu bytes"
 msgstr "konnte nicht aus temporärer Datei für Tuplestore lesen: es wurden nur %zu von %zu Bytes gelesen"
 
-#: utils/time/snapmgr.c:568
+#: utils/time/snapmgr.c:570
 #, c-format
 msgid "The source transaction is not running anymore."
 msgstr "Die Quelltransaktion läuft nicht mehr."
 
-#: utils/time/snapmgr.c:1147
+#: utils/time/snapmgr.c:1164
 #, c-format
 msgid "cannot export a snapshot from a subtransaction"
 msgstr "aus einer Subtransaktion kann kein Snapshot exportiert werden"
 
-#: utils/time/snapmgr.c:1306 utils/time/snapmgr.c:1311
-#: utils/time/snapmgr.c:1316 utils/time/snapmgr.c:1331
-#: utils/time/snapmgr.c:1336 utils/time/snapmgr.c:1341
-#: utils/time/snapmgr.c:1356 utils/time/snapmgr.c:1361
-#: utils/time/snapmgr.c:1366 utils/time/snapmgr.c:1468
-#: utils/time/snapmgr.c:1484 utils/time/snapmgr.c:1509
+#: utils/time/snapmgr.c:1323 utils/time/snapmgr.c:1328
+#: utils/time/snapmgr.c:1333 utils/time/snapmgr.c:1348
+#: utils/time/snapmgr.c:1353 utils/time/snapmgr.c:1358
+#: utils/time/snapmgr.c:1373 utils/time/snapmgr.c:1378
+#: utils/time/snapmgr.c:1383 utils/time/snapmgr.c:1485
+#: utils/time/snapmgr.c:1501 utils/time/snapmgr.c:1526
 #, c-format
 msgid "invalid snapshot data in file \"%s\""
 msgstr "ungültige Snapshot-Daten in Datei »%s«"
 
-#: utils/time/snapmgr.c:1403
+#: utils/time/snapmgr.c:1420
 #, c-format
 msgid "SET TRANSACTION SNAPSHOT must be called before any query"
 msgstr "SET TRANSACTION SNAPSHOT muss vor allen Anfragen aufgerufen werden"
 
-#: utils/time/snapmgr.c:1412
+#: utils/time/snapmgr.c:1429
 #, c-format
 msgid "a snapshot-importing transaction must have isolation level SERIALIZABLE or REPEATABLE READ"
 msgstr "eine Snapshot-importierende Transaktion muss Isolationsgrad SERIALIZABLE oder REPEATABLE READ haben"
 
-#: utils/time/snapmgr.c:1421 utils/time/snapmgr.c:1430
+#: utils/time/snapmgr.c:1438 utils/time/snapmgr.c:1447
 #, c-format
 msgid "invalid snapshot identifier: \"%s\""
 msgstr "ungültiger Snapshot-Bezeichner: »%s«"
 
-#: utils/time/snapmgr.c:1522
+#: utils/time/snapmgr.c:1539
 #, c-format
 msgid "a serializable transaction cannot import a snapshot from a non-serializable transaction"
 msgstr "eine serialisierbare Transaktion kann keinen Snapshot aus einer nicht-serialisierbaren Transaktion importieren"
 
-#: utils/time/snapmgr.c:1526
+#: utils/time/snapmgr.c:1543
 #, c-format
 msgid "a non-read-only serializable transaction cannot import a snapshot from a read-only transaction"
 msgstr "eine serialisierbare Transaktion, die nicht im Read-Only-Modus ist, kann keinen Snapshot aus einer Read-Only-Transaktion importieren"
 
-#: utils/time/snapmgr.c:1541
+#: utils/time/snapmgr.c:1558
 #, c-format
 msgid "cannot import a snapshot from a different database"
 msgstr "kann keinen Snapshot aus einer anderen Datenbank importieren"
+
+#, c-format
+#~ msgid "\"%s\" is a system table"
+#~ msgstr "»%s« ist eine Systemtabelle"
+
+#, c-format
+#~ msgid "\"%s\" is of the wrong type"
+#~ msgstr "»%s« hat den falschen Typ"
+
+#, c-format
+#~ msgid "\"%s.%s\" is a foreign table."
+#~ msgstr "»%s.%s« ist eine Fremdtabelle."
+
+#, c-format
+#~ msgid "\"%s.%s\" is not a table."
+#~ msgstr "»%s.%s« ist keine Tabelle."
+
+#, c-format
+#~ msgid "\"time with time zone\" units \"%s\" not recognized"
+#~ msgstr "»time with time zone«-Einheit »%s« nicht erkannt"
+
+#, c-format
+#~ msgid "\"time\" units \"%s\" not recognized"
+#~ msgstr "»time«-Einheit »%s« nicht erkannt"
+
+#, c-format
+#~ msgid "%lld dead row versions cannot be removed yet, oldest xmin: %u\n"
+#~ msgstr "%lld tote Zeilenversionen können noch nicht entfernt werden, ältestes xmin: %u\n"
+
+#, c-format
+#~ msgid "%u frozen page.\n"
+#~ msgid_plural "%u frozen pages.\n"
+#~ msgstr[0] "%u eingefrorene Seite.\n"
+#~ msgstr[1] "%u eingefrorene Seiten.\n"
+
+#~ msgid "Automatic log file rotation will occur after N kilobytes."
+#~ msgstr "Automatische Rotation der Logdateien geschieht nach N Kilobytes."
+
+#~ msgid "Automatic log file rotation will occur after N minutes."
+#~ msgstr "Automatische Rotation der Logdateien geschieht nach N Minuten."
+
+#, c-format
+#~ msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
+#~ msgstr "BKPIMAGE_IS_COMPRESSED gesetzt, aber Block-Abbild-Länge %u bei %X/%X"
+
+#, c-format
+#~ msgid "COPY HEADER available only in CSV mode"
+#~ msgstr "COPY HEADER ist nur im CSV-Modus verfügbar"
+
+#, c-format
+#~ msgid "Compile with --with-gssapi to use GSSAPI connections."
+#~ msgstr "Kompilieren Sie mit --with-gssapi, um GSSAPI-Verbindungen zu verwenden."
+
+#, c-format
+#~ msgid "Compile with --with-ssl to use SSL connections."
+#~ msgstr "Kompilieren Sie mit --with-ssl, um SSL-Verbindungen zu verwenden."
+
+#, c-format
+#~ msgid "Did you mean to use pg_stop_backup('t')?"
+#~ msgstr "Meinten Sie pg_stop_backup('t')?"
+
+#~ msgid "Enables warnings if checkpoint segments are filled more frequently than this."
+#~ msgstr "Schreibt eine Logmeldung, wenn Checkpoint-Segmente häufiger als dieser Wert gefüllt werden."
+
+#, c-format
+#~ msgid "File \"%s\" could not be renamed to \"%s\": %m."
+#~ msgstr "Konnte Datei »%s« nicht in »%s« umbenennen: %m."
+
+#, c-format
+#~ msgid "File \"%s\" was renamed to \"%s\", but file \"%s\" could not be renamed to \"%s\": %m."
+#~ msgstr "Datei »%s« wurde in »%s« umbenannt, aber Datei »%s« konnte nicht in »%s« umbenannt werden: %m."
+
+#, c-format
+#~ msgid "Files \"%s\" and \"%s\" were renamed to \"%s\" and \"%s\", respectively."
+#~ msgstr "Dateien »%s« und »%s« wurden in »%s« und »%s« umbenannt."
+
+#~ msgid "Forces a switch to the next WAL file if a new file has not been started within N seconds."
+#~ msgstr "Erzwingt das Umschalten zur nächsten WAL-Datei, wenn seit N Sekunden keine neue Datei begonnen worden ist."
+
+#, c-format
+#~ msgid "IDENTIFY_SYSTEM has not been run before START_REPLICATION"
+#~ msgstr "IDENTIFY_SYSTEM wurde nicht vor START_REPLICATION ausgeführt"
+
+#, c-format
+#~ msgid "If you're sure there is no backup in progress, remove file \"%s\" and try again."
+#~ msgstr "Wenn Sie sicher sind, dass noch kein Backup läuft, entfernen Sie die Datei »%s« und versuchen Sie es noch einmal."
+
+#, c-format
+#~ msgid "Online backup started with pg_start_backup() must be ended with pg_stop_backup(), and all WAL up to that point must be available at recovery."
+#~ msgstr "Die mit pg_start_backup() begonnene Online-Sicherung muss mit pg_stop_backup() beendet werden und der ganze WAL bis zu diesem Punkt muss bei der Wiederherstellung verfügbar sein."
+
+#, c-format
+#~ msgid "Only tables can be added to publications."
+#~ msgstr "Nur Tabellen können Teil einer Publikationen sein."
+
+#, c-format
+#~ msgid "Run pg_stop_backup() and try again."
+#~ msgstr "Führen Sie pg_stop_backup() aus und versuchen Sie es nochmal."
+
+#, c-format
+#~ msgid "Skipped %u page due to buffer pins, "
+#~ msgid_plural "Skipped %u pages due to buffer pins, "
+#~ msgstr[0] "%u Seite wegen Buffer-Pins übersprungen, "
+#~ msgstr[1] "%u Seiten wegen Buffer-Pins übersprungen, "
+
+#, c-format
+#~ msgid "System tables cannot be added to publications."
+#~ msgstr "Systemtabellen können nicht Teil einer Publikationen sein."
+
+#~ msgid "Waits N seconds on connection startup after authentication."
+#~ msgstr "Wartet beim Starten einer Verbindung N Sekunden nach der Authentifizierung."
+
+#~ msgid "Waits N seconds on connection startup before authentication."
+#~ msgstr "Wartet beim Starten einer Verbindung N Sekunden vor der Authentifizierung."
+
+#~ msgid "When logging statements, limit logged parameter values to first N bytes."
+#~ msgstr "Wenn Anweisungen geloggt werden, die geloggten Parameterwerte auf die ersten N Bytes begrenzen."
+
+#~ msgid "When reporting an error, limit logged parameter values to first N bytes."
+#~ msgstr "Wenn ein Fehler ausgegeben wird, die geloggten Parameterwerte auf die ersten N Bytes begrenzen."
+
+#~ msgid "Writes temporary statistics files to the specified directory."
+#~ msgstr "Schreibt temporäre Statistikdateien in das angegebene Verzeichnis."
+
+#, c-format
+#~ msgid "You need to rebuild PostgreSQL using %s."
+#~ msgstr "Sie müssen PostgreSQL mit %s neu bauen."
+
+#, c-format
+#~ msgid "a backup is already in progress"
+#~ msgstr "ein Backup läuft bereits"
+
+#, c-format
+#~ msgid "background worker \"%s\": must attach to shared memory in order to request a database connection"
+#~ msgstr "Background-Worker »%s«: muss mit Shared Memory verbinden, um eine Datenbankverbindung anzufordern"
+
+#, c-format
+#~ msgid "base backup could not send data, aborting backup"
+#~ msgstr "Basissicherung konnte keine Daten senden, Sicherung abgebrochen"
+
+#, c-format
+#~ msgid "collations with different collate and ctype values are not supported by ICU"
+#~ msgstr "Sortierfolgen mit unterschiedlichen »collate«- und »ctype«-Werten werden von ICU nicht unterstützt"
+
+#, c-format
+#~ msgid "could not bind socket for statistics collector: %m"
+#~ msgstr "konnte Socket für Statistiksammelprozess nicht binden: %m"
+
+#, c-format
+#~ msgid "could not connect socket for statistics collector: %m"
+#~ msgstr "konnte nicht mit Socket für Statistiksammelprozess verbinden: %m"
+
+#, c-format
+#~ msgid "could not create socket for statistics collector: %m"
+#~ msgstr "konnte Socket für Statistiksammelprozess nicht erzeugen: %m"
+
+#, c-format
+#~ msgid "could not delete shared fileset \"%s\": %m"
+#~ msgstr "konnte geteiltes Datei-Set »%s« nicht löschen: %m"
+
+#, c-format
+#~ msgid "could not fork statistics collector: %m"
+#~ msgstr "konnte Statistiksammelprozess nicht starten (fork-Fehler): %m"
+
+#, c-format
+#~ msgid "could not get address of socket for statistics collector: %m"
+#~ msgstr "konnte Adresse für Socket für Statistiksammelprozess nicht ermitteln: %m"
+
+#, c-format
+#~ msgid "could not poll socket: %m"
+#~ msgstr "konnte Socket nicht pollen: %m"
+
+#, c-format
+#~ msgid "could not read statistics message: %m"
+#~ msgstr "konnte Statistiknachricht nicht lesen: %m"
+
+#, c-format
+#~ msgid "could not receive test message on socket for statistics collector: %m"
+#~ msgstr "konnte Testnachricht auf Socket für Statistiksammelprozess nicht empfangen: %m"
+
+#, c-format
+#~ msgid "could not resolve \"localhost\": %s"
+#~ msgstr "konnte »localhost« nicht auflösen: %s"
+
+#, c-format
+#~ msgid "could not send test message on socket for statistics collector: %m"
+#~ msgstr "konnte Testnachricht auf Socket für Statistiksammelprozess nicht senden: %m"
+
+#, c-format
+#~ msgid "could not set statistics collector socket to nonblocking mode: %m"
+#~ msgstr "konnte Socket von Statistiksammelprozess nicht auf nicht blockierenden Modus setzen: %m"
+
+#, c-format
+#~ msgid "database hash table corrupted during cleanup --- abort"
+#~ msgstr "Datenbank-Hash-Tabelle beim Aufräumen verfälscht --- Abbruch"
+
+#, c-format
+#~ msgid "disabling statistics collector for lack of working socket"
+#~ msgstr "Statistiksammelprozess abgeschaltet wegen nicht funkionierender Socket"
+
+#, c-format
+#~ msgid "exclusive backup not in progress"
+#~ msgstr "es läuft kein exklusives Backup"
+
+#, c-format
+#~ msgid "fatal: "
+#~ msgstr "Fatal: "
+
+#, c-format
+#~ msgid "function \"close_lb\" not implemented"
+#~ msgstr "Funktion »close_lb« ist nicht implementiert"
+
+#, c-format
+#~ msgid "function \"close_sl\" not implemented"
+#~ msgstr "Funktion »close_sl« ist nicht implementiert"
+
+#, c-format
+#~ msgid "function \"dist_bl\" not implemented"
+#~ msgstr "Funktion »dist_bl« ist nicht implementiert"
+
+#, c-format
+#~ msgid "function \"dist_lb\" not implemented"
+#~ msgstr "Funktion »dist_lb« ist nicht implementiert"
+
+#, c-format
+#~ msgid "function \"path_center\" not implemented"
+#~ msgstr "Funktion »path_center« ist nicht implementiert"
+
+#, c-format
+#~ msgid "function \"poly_distance\" not implemented"
+#~ msgstr "Funktion »poly_distance« ist nicht implementiert"
+
+#, c-format
+#~ msgid "incorrect test message transmission on socket for statistics collector"
+#~ msgstr "fehlerhafte Übertragung der Testnachricht auf Socket für Statistiksammelprozess"
+
+#, c-format
+#~ msgid "interval units \"%s\" not recognized"
+#~ msgstr "»interval«-Einheit »%s« nicht erkannt"
+
+#, c-format
+#~ msgid "interval units \"%s\" not supported"
+#~ msgstr "»interval«-Einheit »%s« nicht unterstützt"
+
+#, c-format
+#~ msgid "must be a superuser to log memory contexts"
+#~ msgstr "nur Superuser können Speicherkontexte loggen"
+
+#, c-format
+#~ msgid "must be superuser to call pg_nextoid()"
+#~ msgstr "nur Superuser können pg_nextoid() aufrufen"
+
+#, c-format
+#~ msgid "must be superuser to connect during database shutdown"
+#~ msgstr "nur Superuser können während des Herunterfahrens der Datenbank verbinden"
+
+#, c-format
+#~ msgid "must be superuser to execute ALTER SYSTEM command"
+#~ msgstr "nur Superuser können den Befehl ALTER SYSTEM ausführen"
+
+#, c-format
+#~ msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
+#~ msgstr "weder BKPIMAGE_HAS_HOLE noch BKPIMAGE_IS_COMPRESSED gesetzt, aber Block-Abbild-Länge ist %u bei %X/%X"
+
+#, c-format
+#~ msgid "new replication connections are not allowed during database shutdown"
+#~ msgstr "während des Herunterfahrens der Datenbank sind keine neuen Replikationsverbindungen erlaubt"
+
+#, c-format
+#~ msgid "non-exclusive backup in progress"
+#~ msgstr "es läuft ein nicht-exklusives Backup"
+
+#, c-format
+#~ msgid "non-exclusive backup is not in progress"
+#~ msgstr "es läuft kein nicht-exklusives Backup"
+
+#, c-format
+#~ msgid "online backup mode canceled"
+#~ msgstr "Online-Sicherungsmodus storniert"
+
+#, c-format
+#~ msgid "online backup mode was not canceled"
+#~ msgstr "Online-Sicherungsmodus wurde nicht storniert"
+
+#, c-format
+#~ msgid "query-specified return tuple and function return type are not compatible"
+#~ msgstr "in der Anfrage angegebenes Rückgabetupel und Rückgabetyp der Funktion sind nicht kompatibel"
+
+#, c-format
+#~ msgid "range_agg must be called with a range"
+#~ msgstr "range_agg muss mit einem Range-Type aufgerufen werden"
+
+#, c-format
+#~ msgid "range_intersect_agg must be called with a multirange"
+#~ msgstr "range_intersect_agg muss mit einem Multirange-Typ aufgerufen werden"
+
+#, c-format
+#~ msgid "range_intersect_agg must be called with a range"
+#~ msgstr "range_intersect_agg muss mit einem Bereichstyp aufgerufen werden"
+
+#, c-format
+#~ msgid "reference to parent directory (\"..\") not allowed"
+#~ msgstr "Verweis auf übergeordnetes Verzeichnis (»..«) nicht erlaubt"
+
+#, c-format
+#~ msgid "referenced relation \"%s\" is not a table or foreign table"
+#~ msgstr "Relation »%s«, auf die verwiesen wird, ist keine Tabelle oder Fremdtabelle"
+
+#, c-format
+#~ msgid "relation \"%s\" is not a table, foreign table, or materialized view"
+#~ msgstr "Relation »%s« ist keine Tabelle, Fremdtabelle oder materialisierte Sicht"
+
+#, c-format
+#~ msgid "select() failed in statistics collector: %m"
+#~ msgstr "select() im Statistiksammelprozess fehlgeschlagen: %m"
+
+#~ msgid "statistics collector process"
+#~ msgstr "Statistiksammelprozess"
+
+#, c-format
+#~ msgid "statistics collector's time %s is later than backend local time %s"
+#~ msgstr "Zeit im Statistiksammelprozess %s ist später als die lokale Zeit im Backend %s"
+
+#, c-format
+#~ msgid "stats_timestamp %s is later than collector's time %s for database %u"
+#~ msgstr "stats_timestamp %s ist später als die Zeit %s des Statistiksammelprozesses für Datenbank %u"
+
+#, c-format
+#~ msgid "table \"%s\" cannot be replicated"
+#~ msgstr "Tabelle »%s« kann nicht repliziert werden"
+
+#, c-format
+#~ msgid "table \"%s\": found %lld removable, %lld nonremovable row versions in %u out of %u pages"
+#~ msgstr "Tabelle »%s«: %lld entfernbare, %lld nicht entfernbare Zeilenversionen in %u von %u Seiten gefunden"
+
+#, c-format
+#~ msgid "table \"%s\": index scan bypassed: %u pages from table (%.2f%% of total) have %lld dead item identifiers"
+#~ msgstr "Tabelle »%s«: Index-Scan umgangen: %u Seiten der Tabelle (%.2f%% der Gesamtzahl) haben %lld tote Item-Bezeichner"
+
+#, c-format
+#~ msgid "test message did not get through on socket for statistics collector"
+#~ msgstr "Testnachricht auf Socket für Statistiksammelprozess kam nicht durch"
+
+#, c-format
+#~ msgid "timestamp units \"%s\" not recognized"
+#~ msgstr "»timestamp«-Einheit »%s« nicht erkannt"
+
+#, c-format
+#~ msgid "timestamp units \"%s\" not supported"
+#~ msgstr "»timestamp«-Einheit »%s« nicht unterstützt"
+
+#, c-format
+#~ msgid "timestamp with time zone units \"%s\" not recognized"
+#~ msgstr "»timestamp with time zone«-Einheit »%s« nicht erkannt"
+
+#, c-format
+#~ msgid "timestamp with time zone units \"%s\" not supported"
+#~ msgstr "»timestamp with time zone«-Einheit »%s« nicht unterstützt"
+
+#, c-format
+#~ msgid "too many range table entries"
+#~ msgstr "zu viele Range-Table-Einträge"
+
+#, c-format
+#~ msgid "trying another address for the statistics collector"
+#~ msgstr "andere Adresse für Statistiksammelprozess wird versucht"
+
+#, c-format
+#~ msgid "unlogged sequences are not supported"
+#~ msgstr "ungeloggte Sequenzen werden nicht unterstützt"
+
+#, c-format
+#~ msgid "using stale statistics instead of current ones because stats collector is not responding"
+#~ msgstr "verwende veraltete Statistiken anstatt aktueller, weil der Statistiksammelprozess nicht antwortet"
+
+#, c-format
+#~ msgid "utility statements cannot be prepared"
+#~ msgstr "Utility-Anweisungen können nicht vorbereitet werden"
+
+#, c-format
+#~ msgid "value \"%s\" is out of range for 8-bit integer"
+#~ msgstr "Wert »%s« ist außerhalb des gültigen Bereichs für 8-Bit-Ganzzahl"
index f935c37165ea741c57132017390e8e0cd2ad3369..0bcb2fd399679a3a7c7cc577dd7cf9df79fc1514 100644 (file)
@@ -1,12 +1,13 @@
 # Spanish message translation file for PostgreSQL server
 #
-# Copyright (c) 2002-2019, PostgreSQL Global Development Group
+# Copyright (c) 2002-2021, PostgreSQL Global Development Group
 # This file is distributed under the same license as the PostgreSQL package.
 #
 # Karim Mribti   2002.
 # Alvaro Herrera  2003-2014
 # Jaime Casanova  2005, 2006, 2014
 # Emanuel Calvo Franco  2008
+# Carlos Chapi  2021
 #
 # Glosario:
 #
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL server 12\n"
+"Project-Id-Version: PostgreSQL server 14\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2021-06-11 16:40+0000\n"
-"PO-Revision-Date: 2021-06-21 12:29+0200\n"
-"Last-Translator: Álvaro Herrera .org>\n"
+"POT-Creation-Date: 2022-01-19 16:40+0000\n"
+"PO-Revision-Date: 2022-03-31 16:45+0200\n"
+"Last-Translator: Carlos Chapi .org>\n"
 "Language-Team: PgSQL-es-Ayuda \n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: BlackCAT 1.1\n"
 
 #: ../common/config_info.c:134 ../common/config_info.c:142
 #: ../common/config_info.c:150 ../common/config_info.c:158
@@ -79,37 +81,37 @@ msgid "not recorded"
 msgstr "no registrado"
 
 #: ../common/controldata_utils.c:68 ../common/controldata_utils.c:73
-#: commands/copyfrom.c:1516 commands/extension.c:3455 utils/adt/genfile.c:128
+#: commands/copyfrom.c:1516 commands/extension.c:3464 utils/adt/genfile.c:128
 #, 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:89
 #: access/transam/timeline.c:143 access/transam/timeline.c:362
-#: access/transam/twophase.c:1271 access/transam/xlog.c:3547
-#: access/transam/xlog.c:4772 access/transam/xlog.c:11338
-#: access/transam/xlog.c:11351 access/transam/xlog.c:11804
-#: access/transam/xlog.c:11884 access/transam/xlog.c:11921
-#: access/transam/xlog.c:11981 access/transam/xlogfuncs.c:703
-#: access/transam/xlogfuncs.c:722 commands/extension.c:3465 libpq/hba.c:534
+#: access/transam/twophase.c:1327 access/transam/xlog.c:3569
+#: access/transam/xlog.c:4807 access/transam/xlog.c:11516
+#: access/transam/xlog.c:11529 access/transam/xlog.c:11982
+#: access/transam/xlog.c:12062 access/transam/xlog.c:12099
+#: access/transam/xlog.c:12159 access/transam/xlogfuncs.c:703
+#: access/transam/xlogfuncs.c:722 commands/extension.c:3474 libpq/hba.c:534
 #: replication/basebackup.c:2020 replication/logical/origin.c:729
-#: replication/logical/origin.c:765 replication/logical/reorderbuffer.c:4880
-#: replication/logical/snapbuild.c:1733 replication/logical/snapbuild.c:1775
-#: replication/logical/snapbuild.c:1802 replication/slot.c:1725
-#: replication/slot.c:1766 replication/walsender.c:544
+#: replication/logical/origin.c:765 replication/logical/reorderbuffer.c:4917
+#: replication/logical/snapbuild.c:1749 replication/logical/snapbuild.c:1791
+#: replication/logical/snapbuild.c:1818 replication/slot.c:1720
+#: replication/slot.c:1761 replication/walsender.c:544
 #: storage/file/buffile.c:445 storage/file/copydir.c:195
-#: utils/adt/genfile.c:202 utils/adt/misc.c:859 utils/cache/relmapper.c:741
+#: utils/adt/genfile.c:202 utils/adt/misc.c:859 utils/cache/relmapper.c:744
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "no se pudo leer el archivo «%s»: %m"
 
 #: ../common/controldata_utils.c:97 ../common/controldata_utils.c:101
-#: access/transam/xlog.c:3552 access/transam/xlog.c:4777
+#: access/transam/xlog.c:3574 access/transam/xlog.c:4812
 #: replication/basebackup.c:2024 replication/logical/origin.c:734
-#: replication/logical/origin.c:773 replication/logical/snapbuild.c:1738
-#: replication/logical/snapbuild.c:1780 replication/logical/snapbuild.c:1807
-#: replication/slot.c:1729 replication/slot.c:1770 replication/walsender.c:549
-#: utils/cache/relmapper.c:745
+#: replication/logical/origin.c:773 replication/logical/snapbuild.c:1754
+#: replication/logical/snapbuild.c:1796 replication/logical/snapbuild.c:1823
+#: replication/slot.c:1724 replication/slot.c:1765 replication/walsender.c:549
+#: utils/cache/relmapper.c:748
 #, 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"
@@ -118,19 +120,19 @@ msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu"
 #: ../common/controldata_utils.c:256 ../common/controldata_utils.c:259
 #: access/heap/rewriteheap.c:1185 access/heap/rewriteheap.c:1288
 #: access/transam/timeline.c:392 access/transam/timeline.c:438
-#: access/transam/timeline.c:516 access/transam/twophase.c:1283
-#: access/transam/twophase.c:1680 access/transam/xlog.c:3419
-#: access/transam/xlog.c:3587 access/transam/xlog.c:3592
-#: access/transam/xlog.c:3920 access/transam/xlog.c:4742
-#: access/transam/xlog.c:5667 access/transam/xlogfuncs.c:728
-#: commands/copyfrom.c:1576 commands/copyto.c:328 libpq/be-fsstubs.c:462
-#: libpq/be-fsstubs.c:533 replication/logical/origin.c:667
-#: replication/logical/origin.c:806 replication/logical/reorderbuffer.c:4938
-#: replication/logical/snapbuild.c:1642 replication/logical/snapbuild.c:1815
-#: replication/slot.c:1616 replication/slot.c:1777 replication/walsender.c:559
+#: access/transam/timeline.c:516 access/transam/twophase.c:1339
+#: access/transam/twophase.c:1744 access/transam/xlog.c:3441
+#: access/transam/xlog.c:3609 access/transam/xlog.c:3614
+#: access/transam/xlog.c:3942 access/transam/xlog.c:4777
+#: access/transam/xlog.c:5702 access/transam/xlogfuncs.c:728
+#: commands/copyfrom.c:1576 commands/copyto.c:328 libpq/be-fsstubs.c:455
+#: libpq/be-fsstubs.c:525 replication/logical/origin.c:667
+#: replication/logical/origin.c:806 replication/logical/reorderbuffer.c:4975
+#: replication/logical/snapbuild.c:1658 replication/logical/snapbuild.c:1831
+#: replication/slot.c:1611 replication/slot.c:1772 replication/walsender.c:559
 #: storage/file/copydir.c:218 storage/file/copydir.c:223 storage/file/fd.c:738
-#: storage/file/fd.c:3534 storage/file/fd.c:3637 utils/cache/relmapper.c:753
-#: utils/cache/relmapper.c:892
+#: storage/file/fd.c:3536 storage/file/fd.c:3639 utils/cache/relmapper.c:759
+#: utils/cache/relmapper.c:898
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "no se pudo cerrar el archivo «%s»: %m"
@@ -157,34 +159,34 @@ msgstr ""
 #: ../common/file_utils.c:232 ../common/file_utils.c:291
 #: ../common/file_utils.c:365 access/heap/rewriteheap.c:1271
 #: access/transam/timeline.c:111 access/transam/timeline.c:251
-#: access/transam/timeline.c:348 access/transam/twophase.c:1227
-#: access/transam/xlog.c:3305 access/transam/xlog.c:3461
-#: access/transam/xlog.c:3502 access/transam/xlog.c:3700
-#: access/transam/xlog.c:3785 access/transam/xlog.c:3888
-#: access/transam/xlog.c:4762 access/transam/xlogutils.c:803
+#: access/transam/timeline.c:348 access/transam/twophase.c:1283
+#: access/transam/xlog.c:3327 access/transam/xlog.c:3483
+#: access/transam/xlog.c:3524 access/transam/xlog.c:3722
+#: access/transam/xlog.c:3807 access/transam/xlog.c:3910
+#: access/transam/xlog.c:4797 access/transam/xlogutils.c:803
 #: postmaster/syslogger.c:1488 replication/basebackup.c:616
 #: replication/basebackup.c:1610 replication/logical/origin.c:719
-#: replication/logical/reorderbuffer.c:3548
-#: replication/logical/reorderbuffer.c:4095
-#: replication/logical/reorderbuffer.c:4860
-#: replication/logical/snapbuild.c:1597 replication/logical/snapbuild.c:1704
-#: replication/slot.c:1697 replication/walsender.c:517
+#: replication/logical/reorderbuffer.c:3572
+#: replication/logical/reorderbuffer.c:4121
+#: replication/logical/reorderbuffer.c:4897
+#: replication/logical/snapbuild.c:1613 replication/logical/snapbuild.c:1720
+#: replication/slot.c:1692 replication/walsender.c:517
 #: replication/walsender.c:2526 storage/file/copydir.c:161
-#: storage/file/fd.c:713 storage/file/fd.c:3521 storage/file/fd.c:3608
-#: storage/smgr/md.c:502 utils/cache/relmapper.c:724
-#: utils/cache/relmapper.c:836 utils/error/elog.c:1938
+#: storage/file/fd.c:713 storage/file/fd.c:3300 storage/file/fd.c:3523
+#: storage/file/fd.c:3610 storage/smgr/md.c:503 utils/cache/relmapper.c:724
+#: utils/cache/relmapper.c:842 utils/error/elog.c:1938
 #: utils/init/miscinit.c:1346 utils/init/miscinit.c:1480
-#: utils/init/miscinit.c:1557 utils/misc/guc.c:8604 utils/misc/guc.c:8636
+#: utils/init/miscinit.c:1557 utils/misc/guc.c:8605 utils/misc/guc.c:8637
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "no se pudo abrir el archivo «%s»: %m"
 
 #: ../common/controldata_utils.c:221 ../common/controldata_utils.c:224
-#: access/transam/twophase.c:1653 access/transam/twophase.c:1662
-#: access/transam/xlog.c:11095 access/transam/xlog.c:11133
-#: access/transam/xlog.c:11546 access/transam/xlogfuncs.c:782
-#: postmaster/postmaster.c:5659 postmaster/syslogger.c:1499
-#: postmaster/syslogger.c:1512 utils/cache/relmapper.c:870
+#: access/transam/twophase.c:1717 access/transam/twophase.c:1726
+#: access/transam/xlog.c:11273 access/transam/xlog.c:11311
+#: access/transam/xlog.c:11724 access/transam/xlogfuncs.c:782
+#: postmaster/postmaster.c:5682 postmaster/syslogger.c:1499
+#: postmaster/syslogger.c:1512 utils/cache/relmapper.c:876
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "no se pudo escribir el archivo «%s»: %m"
@@ -193,40 +195,40 @@ msgstr "no se pudo escribir el archivo «%s»: %m"
 #: ../common/file_utils.c:303 ../common/file_utils.c:373
 #: access/heap/rewriteheap.c:967 access/heap/rewriteheap.c:1179
 #: access/heap/rewriteheap.c:1282 access/transam/timeline.c:432
-#: access/transam/timeline.c:510 access/transam/twophase.c:1674
-#: access/transam/xlog.c:3412 access/transam/xlog.c:3581
-#: access/transam/xlog.c:4735 access/transam/xlog.c:10586
-#: access/transam/xlog.c:10627 replication/logical/snapbuild.c:1635
-#: replication/slot.c:1602 replication/slot.c:1707 storage/file/fd.c:730
-#: storage/file/fd.c:3629 storage/smgr/md.c:950 storage/smgr/md.c:991
-#: storage/sync/sync.c:417 utils/cache/relmapper.c:885 utils/misc/guc.c:8391
+#: access/transam/timeline.c:510 access/transam/twophase.c:1738
+#: access/transam/xlog.c:3434 access/transam/xlog.c:3603
+#: access/transam/xlog.c:4770 access/transam/xlog.c:10764
+#: access/transam/xlog.c:10805 replication/logical/snapbuild.c:1651
+#: replication/slot.c:1597 replication/slot.c:1702 storage/file/fd.c:730
+#: storage/file/fd.c:3631 storage/smgr/md.c:951 storage/smgr/md.c:992
+#: storage/sync/sync.c:441 utils/cache/relmapper.c:891 utils/misc/guc.c:8392
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
 
 #: ../common/cryptohash_openssl.c:104 ../common/exec.c:522 ../common/exec.c:567
-#: ../common/exec.c:659 ../common/hmac_openssl.c:103 ../common/psprintf.c:143
+#: ../common/exec.c:659 ../common/hmac_openssl.c:101 ../common/psprintf.c:143
 #: ../common/stringinfo.c:305 ../port/path.c:630 ../port/path.c:668
-#: ../port/path.c:685 access/transam/twophase.c:1341 access/transam/xlog.c:6633
-#: lib/dshash.c:246 libpq/auth.c:1482 libpq/auth.c:1550 libpq/auth.c:2108
+#: ../port/path.c:685 access/transam/twophase.c:1397 access/transam/xlog.c:6677
+#: lib/dshash.c:246 libpq/auth.c:1491 libpq/auth.c:1559 libpq/auth.c:2117
 #: libpq/be-secure-gssapi.c:520 postmaster/bgworker.c:349
-#: postmaster/bgworker.c:948 postmaster/postmaster.c:2516
-#: postmaster/postmaster.c:4175 postmaster/postmaster.c:4845
-#: postmaster/postmaster.c:5584 postmaster/postmaster.c:5948
-#: replication/libpqwalreceiver/libpqwalreceiver.c:282
+#: postmaster/bgworker.c:948 postmaster/postmaster.c:2540
+#: postmaster/postmaster.c:4198 postmaster/postmaster.c:4868
+#: postmaster/postmaster.c:5607 postmaster/postmaster.c:5971
+#: replication/libpqwalreceiver/libpqwalreceiver.c:283
 #: replication/logical/logical.c:205 replication/walsender.c:591
-#: storage/buffer/localbuf.c:442 storage/file/fd.c:882 storage/file/fd.c:1352
-#: storage/file/fd.c:1513 storage/file/fd.c:2321 storage/ipc/procarray.c:1388
-#: storage/ipc/procarray.c:2182 storage/ipc/procarray.c:2189
-#: storage/ipc/procarray.c:2678 storage/ipc/procarray.c:3302
+#: storage/buffer/localbuf.c:442 storage/file/fd.c:882 storage/file/fd.c:1354
+#: storage/file/fd.c:1515 storage/file/fd.c:2323 storage/ipc/procarray.c:1422
+#: storage/ipc/procarray.c:2247 storage/ipc/procarray.c:2254
+#: storage/ipc/procarray.c:2756 storage/ipc/procarray.c:3380
 #: utils/adt/cryptohashfuncs.c:46 utils/adt/cryptohashfuncs.c:66
 #: utils/adt/formatting.c:1699 utils/adt/formatting.c:1823
 #: utils/adt/formatting.c:1948 utils/adt/pg_locale.c:450
 #: utils/adt/pg_locale.c:614 utils/adt/regexp.c:223 utils/fmgr/dfmgr.c:229
 #: utils/hash/dynahash.c:513 utils/hash/dynahash.c:613
 #: utils/hash/dynahash.c:1116 utils/mb/mbutils.c:401 utils/mb/mbutils.c:429
-#: utils/mb/mbutils.c:814 utils/mb/mbutils.c:841 utils/misc/guc.c:5035
-#: utils/misc/guc.c:5051 utils/misc/guc.c:5064 utils/misc/guc.c:8369
+#: utils/mb/mbutils.c:814 utils/mb/mbutils.c:841 utils/misc/guc.c:5036
+#: utils/misc/guc.c:5052 utils/misc/guc.c:5065 utils/misc/guc.c:8370
 #: utils/misc/tzparser.c:467 utils/mmgr/aset.c:476 utils/mmgr/dsa.c:701
 #: utils/mmgr/dsa.c:723 utils/mmgr/dsa.c:804 utils/mmgr/generation.c:234
 #: utils/mmgr/mcxt.c:888 utils/mmgr/mcxt.c:924 utils/mmgr/mcxt.c:962
@@ -262,19 +264,18 @@ msgstr "no se pudo encontrar un «%s» para ejecutar"
 msgid "could not change directory to \"%s\": %m"
 msgstr "no se pudo cambiar al directorio «%s»: %m"
 
-#: ../common/exec.c:286 access/transam/xlog.c:10969
+#: ../common/exec.c:286 access/transam/xlog.c:11147
 #: replication/basebackup.c:1428 utils/adt/misc.c:340
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "no se pudo leer el enlace simbólico «%s»: %m"
 
-#: ../common/exec.c:409 libpq/pqcomm.c:746 storage/ipc/latch.c:1064
+#: ../common/exec.c:409 libpq/pqcomm.c:761 storage/ipc/latch.c:1064
 #: storage/ipc/latch.c:1233 storage/ipc/latch.c:1462 storage/ipc/latch.c:1614
 #: storage/ipc/latch.c:1730
-#, fuzzy, c-format
-#| msgid "%s failed: %m"
+#, c-format
 msgid "%s() failed: %m"
-msgstr "%s falló: %m"
+msgstr "%s() falló: %m"
 
 #: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75
 #: ../common/fe_memutils.c:98 ../common/fe_memutils.c:162
@@ -291,70 +292,43 @@ 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:451
-#: ../common/file_utils.c:455 access/transam/twophase.c:1239
-#: access/transam/xlog.c:11071 access/transam/xlog.c:11109
-#: access/transam/xlog.c:11326 access/transam/xlogarchive.c:110
+#: ../common/file_utils.c:455 access/transam/twophase.c:1295
+#: access/transam/xlog.c:11249 access/transam/xlog.c:11287
+#: access/transam/xlog.c:11504 access/transam/xlogarchive.c:110
 #: access/transam/xlogarchive.c:227 commands/copyfrom.c:1526
-#: commands/copyto.c:734 commands/extension.c:3444 commands/tablespace.c:807
-#: commands/tablespace.c:898 guc-file.l:1060 replication/basebackup.c:439
+#: commands/copyto.c:728 commands/extension.c:3453 commands/tablespace.c:803
+#: commands/tablespace.c:894 guc-file.l:1062 replication/basebackup.c:439
 #: replication/basebackup.c:622 replication/basebackup.c:698
-#: replication/logical/snapbuild.c:1514 storage/file/copydir.c:68
-#: storage/file/copydir.c:107 storage/file/fd.c:1863 storage/file/fd.c:1949
-#: storage/file/fd.c:3149 storage/file/fd.c:3353 utils/adt/dbsize.c:70
+#: replication/logical/snapbuild.c:1530 storage/file/copydir.c:68
+#: storage/file/copydir.c:107 storage/file/fd.c:1865 storage/file/fd.c:1951
+#: storage/file/fd.c:3151 storage/file/fd.c:3355 utils/adt/dbsize.c:70
 #: utils/adt/dbsize.c:222 utils/adt/dbsize.c:302 utils/adt/genfile.c:418
 #: utils/adt/genfile.c:644
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo «%s»: %m"
 
-#: ../common/file_utils.c:166 ../common/pgfnames.c:48 commands/tablespace.c:730
-#: commands/tablespace.c:740 postmaster/postmaster.c:1515
-#: storage/file/fd.c:2724 storage/file/reinit.c:122 utils/adt/misc.c:262
+#: ../common/file_utils.c:166 ../common/pgfnames.c:48 commands/tablespace.c:726
+#: commands/tablespace.c:736 postmaster/postmaster.c:1515
+#: storage/file/fd.c:2726 storage/file/reinit.c:122 utils/adt/misc.c:262
 #: utils/misc/tzparser.c:338
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "no se pudo abrir el directorio «%s»: %m"
 
-#: ../common/file_utils.c:200 ../common/pgfnames.c:69 storage/file/fd.c:2736
+#: ../common/file_utils.c:200 ../common/pgfnames.c:69 storage/file/fd.c:2738
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "no se pudo leer el directorio «%s»: %m"
 
 #: ../common/file_utils.c:383 access/transam/xlogarchive.c:412
-#: postmaster/syslogger.c:1523 replication/logical/snapbuild.c:1654
-#: replication/slot.c:668 replication/slot.c:1488 replication/slot.c:1630
-#: storage/file/fd.c:748 storage/file/fd.c:846 utils/time/snapmgr.c:1265
+#: postmaster/syslogger.c:1523 replication/logical/snapbuild.c:1670
+#: replication/slot.c:643 replication/slot.c:1483 replication/slot.c:1625
+#: storage/file/fd.c:748 storage/file/fd.c:846 utils/time/snapmgr.c:1280
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m"
 
-#: ../common/hex.c:54
-#, fuzzy, c-format
-#| msgid "invalid hexadecimal digit: \"%c\""
-msgid "invalid hexadecimal digit"
-msgstr "el dígito hexadecimal no es válido: «%c»"
-
-#: ../common/hex.c:59
-#, fuzzy, c-format
-#| msgid "invalid hexadecimal digit: \"%c\""
-msgid "invalid hexadecimal digit: \"%.*s\""
-msgstr "el dígito hexadecimal no es válido: «%c»"
-
-#: ../common/hex.c:90
-#, c-format
-msgid "overflow of destination buffer in hex encoding"
-msgstr ""
-
-#: ../common/hex.c:136 ../common/hex.c:141
-#, c-format
-msgid "invalid hexadecimal data: odd number of digits"
-msgstr "el dato hexadecimal no es válido: tiene un número impar de dígitos"
-
-#: ../common/hex.c:152
-#, c-format
-msgid "overflow of destination buffer in hex decoding"
-msgstr ""
-
 #: ../common/jsonapi.c:1066
 #, c-format
 msgid "Escape sequence \"\\%s\" is invalid."
@@ -468,7 +442,7 @@ msgstr "nombre de «fork» no válido"
 msgid "Valid fork names are \"main\", \"fsm\", \"vm\", and \"init\"."
 msgstr "Los nombres de «fork» válidos son «main», «fsm», «vm» e «init»."
 
-#: ../common/restricted_token.c:64 libpq/auth.c:1512 libpq/auth.c:2544
+#: ../common/restricted_token.c:64 libpq/auth.c:1521 libpq/auth.c:2553
 #, c-format
 msgid "could not load library \"%s\": error code %lu"
 msgstr "no se pudo cargar la biblioteca «%s»: código de error %lu"
@@ -540,7 +514,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:2044
+#: ../common/username.c:45 libpq/auth.c:2053
 msgid "user does not exist"
 msgstr "usuario no existe"
 
@@ -663,7 +637,7 @@ msgid "request for BRIN range summarization for index \"%s\" page %u was not rec
 msgstr "petición para sumarización BRIN de rango para el índice «%s» página %u no fue registrada"
 
 #: access/brin/brin.c:1015 access/brin/brin.c:1092 access/gin/ginfast.c:1035
-#: access/transam/xlog.c:10748 access/transam/xlog.c:11277
+#: access/transam/xlog.c:10926 access/transam/xlog.c:11455
 #: access/transam/xlogfuncs.c:274 access/transam/xlogfuncs.c:301
 #: access/transam/xlogfuncs.c:340 access/transam/xlogfuncs.c:361
 #: access/transam/xlogfuncs.c:382 access/transam/xlogfuncs.c:452
@@ -688,14 +662,13 @@ msgid "\"%s\" is not a BRIN index"
 msgstr "«%s» no es un índice BRIN"
 
 #: access/brin/brin.c:1063 access/brin/brin.c:1140
-#, fuzzy, c-format
-#| msgid "could not open parent table of index %s"
+#, c-format
 msgid "could not open parent table of index \"%s\""
-msgstr "no se pudo abrir la tabla padre del índice %s"
+msgstr "no se pudo abrir la tabla padre del índice «%s»"
 
 #: access/brin/brin_bloom.c:751 access/brin/brin_bloom.c:793
-#: access/brin/brin_minmax_multi.c:2987 access/brin/brin_minmax_multi.c:3130
-#: statistics/dependencies.c:651 statistics/dependencies.c:704
+#: access/brin/brin_minmax_multi.c:3004 access/brin/brin_minmax_multi.c:3147
+#: statistics/dependencies.c:662 statistics/dependencies.c:715
 #: statistics/mcv.c:1483 statistics/mcv.c:1514 statistics/mvdistinct.c:343
 #: statistics/mvdistinct.c:396 utils/adt/pseudotypes.c:43
 #: utils/adt/pseudotypes.c:77 utils/adt/pseudotypes.c:252
@@ -703,8 +676,8 @@ msgstr "no se pudo abrir la tabla padre del índice %s"
 msgid "cannot accept a value of type %s"
 msgstr "no se puede aceptar un valor de tipo %s"
 
-#: access/brin/brin_minmax_multi.c:2146 access/brin/brin_minmax_multi.c:2153
-#: access/brin/brin_minmax_multi.c:2160 utils/adt/timestamp.c:941
+#: access/brin/brin_minmax_multi.c:2163 access/brin/brin_minmax_multi.c:2170
+#: access/brin/brin_minmax_multi.c:2177 utils/adt/timestamp.c:941
 #: utils/adt/timestamp.c:1515 utils/adt/timestamp.c:1982
 #: utils/adt/timestamp.c:3059 utils/adt/timestamp.c:3064
 #: utils/adt/timestamp.c:3069 utils/adt/timestamp.c:3119
@@ -713,7 +686,7 @@ msgstr "no se puede aceptar un valor de tipo %s"
 #: utils/adt/timestamp.c:3167 utils/adt/timestamp.c:3197
 #: utils/adt/timestamp.c:3205 utils/adt/timestamp.c:3249
 #: utils/adt/timestamp.c:3676 utils/adt/timestamp.c:3801
-#: utils/adt/timestamp.c:4349
+#: utils/adt/timestamp.c:4359
 #, c-format
 msgid "interval out of range"
 msgstr "interval fuera de rango"
@@ -829,7 +802,7 @@ 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:190 access/spgist/spgutils.c:947
+#: access/common/indextuple.c:190 access/spgist/spgutils.c:959
 #, 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"
@@ -840,97 +813,94 @@ msgstr "fila de índice requiere %zu bytes, tamaño máximo es %zu"
 msgid "unsupported format code: %d"
 msgstr "código de formato no soportado: %d"
 
-#: access/common/reloptions.c:506
+#: access/common/reloptions.c:512 access/common/reloptions.c:523
 msgid "Valid values are \"on\", \"off\", and \"auto\"."
 msgstr "Los valores aceptables son «on», «off» y «auto»."
 
-#: access/common/reloptions.c:517
+#: access/common/reloptions.c:534
 msgid "Valid values are \"local\" and \"cascaded\"."
 msgstr "Los valores aceptables son «local» y «cascaded»."
 
-#: access/common/reloptions.c:665
+#: access/common/reloptions.c:682
 #, 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:1208
+#: access/common/reloptions.c:1225
 #, c-format
 msgid "RESET must not include values for parameters"
 msgstr "RESET no debe incluir valores de parámetros"
 
-#: access/common/reloptions.c:1240
+#: access/common/reloptions.c:1257
 #, c-format
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "espacio de nombre de parámetro «%s» no reconocido"
 
-#: access/common/reloptions.c:1277 utils/misc/guc.c:12514
+#: access/common/reloptions.c:1294 utils/misc/guc.c:12515
 #, c-format
 msgid "tables declared WITH OIDS are not supported"
 msgstr "las tablas declaradas WITH OIDS no está soportado"
 
-#: access/common/reloptions.c:1447
+#: access/common/reloptions.c:1464
 #, c-format
 msgid "unrecognized parameter \"%s\""
 msgstr "parámetro «%s» no reconocido"
 
-#: access/common/reloptions.c:1559
+#: access/common/reloptions.c:1576
 #, 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:1575
+#: access/common/reloptions.c:1592
 #, 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:1587
+#: access/common/reloptions.c:1604
 #, 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:1593 access/common/reloptions.c:1613
+#: access/common/reloptions.c:1610 access/common/reloptions.c:1630
 #, 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:1595
+#: access/common/reloptions.c:1612
 #, c-format
 msgid "Valid values are between \"%d\" and \"%d\"."
 msgstr "Los valores aceptables están entre «%d» y «%d»."
 
-#: access/common/reloptions.c:1607
+#: access/common/reloptions.c:1624
 #, 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:1615
+#: access/common/reloptions.c:1632
 #, c-format
 msgid "Valid values are between \"%f\" and \"%f\"."
 msgstr "Valores aceptables están entre «%f» y «%f»."
 
-#: access/common/reloptions.c:1637
+#: access/common/reloptions.c:1654
 #, c-format
 msgid "invalid value for enum option \"%s\": %s"
 msgstr "valor no válido para la opción enum «%s»: %s"
 
 #: access/common/toast_compression.c:32
-#, fuzzy, c-format
-#| msgid "unlink not supported with compression"
-msgid "unsupported LZ4 compression method"
-msgstr "unlink no soportado con compresión"
+#, c-format
+msgid "compression method lz4 not supported"
+msgstr "el método de compresión lz4 no está soportado"
 
 #: access/common/toast_compression.c:33
-#, fuzzy, c-format
-#| msgid "This functionality requires the server to be built with libxml support."
+#, 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 libxml."
+msgstr "Esta funcionalidad requiere que el servidor haya sido construido con soporte lz4."
 
 #: access/common/toast_compression.c:34 utils/adt/pg_locale.c:1589
 #: utils/adt/xml.c:224
-#, fuzzy, c-format
-#| msgid "You need to rebuild PostgreSQL using --with-icu."
+#, c-format
 msgid "You need to rebuild PostgreSQL using %s."
-msgstr "Necesita reconstruir PostgreSQL usando --with-icu."
+msgstr "Necesita reconstruir PostgreSQL usando %s."
 
 #: access/common/tupdesc.c:825 parser/parse_clause.c:771
 #: parser/parse_relation.c:1838
@@ -979,7 +949,7 @@ msgid "To fix this, do REINDEX INDEX \"%s\"."
 msgstr "Para corregir esto, ejecute REINDEX INDEX \"%s\"."
 
 #: access/gin/ginutil.c:145 executor/execExpr.c:2166
-#: utils/adt/arrayfuncs.c:3818 utils/adt/arrayfuncs.c:6452
+#: utils/adt/arrayfuncs.c:3819 utils/adt/arrayfuncs.c:6487
 #: utils/adt/rowtypes.c:957
 #, c-format
 msgid "could not identify a comparison function for type %s"
@@ -998,10 +968,9 @@ msgstr "falta la función de soporte %3$d o %4$d de la clase de operadores «%1$
 
 #: access/gin/ginvalidate.c:333 access/gist/gistvalidate.c:350
 #: access/spgist/spgvalidate.c:387
-#, fuzzy, c-format
-#| msgid "operator family %s for access method %s"
+#, c-format
 msgid "support function number %d is invalid for access method %s"
-msgstr "familia de operadores %s para el método de acceso %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:758 access/gist/gistvacuum.c:420
 #, c-format
@@ -1013,7 +982,7 @@ msgstr "el índice «%s» contiene una tupla interna marcada como no válida"
 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:761 access/gist/gistutil.c:801 access/gist/gistutil.c:812
+#: access/gist/gist.c:761 access/gist/gistutil.c:800 access/gist/gistutil.c:811
 #: access/gist/gistvacuum.c:423 access/hash/hashutil.c:227
 #: access/hash/hashutil.c:238 access/hash/hashutil.c:250
 #: access/hash/hashutil.c:271 access/nbtree/nbtpage.c:810
@@ -1023,10 +992,9 @@ msgid "Please REINDEX it."
 msgstr "Por favor aplíquele REINDEX."
 
 #: access/gist/gist.c:1175
-#, fuzzy, c-format
-#| msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u"
+#, c-format
 msgid "fixing incomplete split in index \"%s\", block %u"
-msgstr "tipo de página 0x%04X inesperado en el índice BRIN «%s» bloque %u"
+msgstr "arreglando división incompleta en el índice «%s», bloque %u"
 
 #: access/gist/gistsplit.c:446
 #, c-format
@@ -1038,13 +1006,13 @@ 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/gist/gistutil.c:797 access/hash/hashutil.c:224
 #: access/nbtree/nbtpage.c:807
 #, 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/gist/gistutil.c:808 access/hash/hashutil.c:235
 #: access/hash/hashutil.c:247 access/nbtree/nbtpage.c:818
 #, c-format
 msgid "index \"%s\" contains corrupted page at block %u"
@@ -1060,19 +1028,19 @@ msgstr "la familia de operadores «%s» del método de acceso %s contiene una es
 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:255 access/hash/hashfunc.c:311
+#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334
 #: utils/adt/varchar.c:993 utils/adt/varchar.c:1053
 #, 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:256 access/hash/hashfunc.c:312 catalog/heap.c:713
-#: catalog/heap.c:719 commands/createas.c:206 commands/createas.c:509
-#: commands/indexcmds.c:1869 commands/tablecmds.c:16795 commands/view.c:86
+#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:335 catalog/heap.c:713
+#: catalog/heap.c:719 commands/createas.c:206 commands/createas.c:503
+#: commands/indexcmds.c:1869 commands/tablecmds.c:16839 commands/view.c:86
 #: regex/regc_pg_locale.c:263 utils/adt/formatting.c:1666
 #: utils/adt/formatting.c:1790 utils/adt/formatting.c:1915 utils/adt/like.c:194
 #: utils/adt/like_support.c:1003 utils/adt/varchar.c:733
-#: utils/adt/varchar.c:994 utils/adt/varchar.c:1054 utils/adt/varlena.c:1524
+#: utils/adt/varchar.c:994 utils/adt/varchar.c:1054 utils/adt/varlena.c:1517
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Use la cláusula COLLATE para establecer el ordenamiento explícitamente."
@@ -1083,7 +1051,7 @@ 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:84 access/spgist/spgdoinsert.c:2004
-#: access/spgist/spgdoinsert.c:2279 access/spgist/spgutils.c:1008
+#: access/spgist/spgdoinsert.c:2279 access/spgist/spgutils.c:1020
 #, 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."
@@ -1138,7 +1106,7 @@ msgstr "no se pueden eliminar tuplas durante una operación paralela"
 msgid "attempted to delete invisible tuple"
 msgstr "se intentó eliminar una tupla invisible"
 
-#: access/heap/heapam.c:3209 access/heap/heapam.c:6010
+#: access/heap/heapam.c:3209 access/heap/heapam.c:6019
 #, c-format
 msgid "cannot update tuples during a parallel operation"
 msgstr "no se pueden actualizar tuplas durante una operación paralela"
@@ -1149,12 +1117,12 @@ msgid "attempted to update invisible tuple"
 msgstr "se intentó actualizar una tupla invisible"
 
 #: access/heap/heapam.c:4663 access/heap/heapam.c:4701
-#: access/heap/heapam.c:4957 access/heap/heapam_handler.c:454
+#: access/heap/heapam.c:4966 access/heap/heapam_handler.c:456
 #, 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:403
+#: access/heap/heapam_handler.c:401
 #, 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"
@@ -1171,13 +1139,13 @@ msgstr "no se pudo escribir al archivo «%s», se escribió %d de %d: %m"
 
 #: access/heap/rewriteheap.c:1020 access/heap/rewriteheap.c:1138
 #: access/transam/timeline.c:329 access/transam/timeline.c:485
-#: access/transam/xlog.c:3328 access/transam/xlog.c:3516
-#: access/transam/xlog.c:4714 access/transam/xlog.c:11086
-#: access/transam/xlog.c:11124 access/transam/xlog.c:11529
-#: access/transam/xlogfuncs.c:776 postmaster/postmaster.c:4600
-#: postmaster/postmaster.c:5646 replication/logical/origin.c:587
-#: replication/slot.c:1549 storage/file/copydir.c:167 storage/smgr/md.c:218
-#: utils/time/snapmgr.c:1244
+#: access/transam/xlog.c:3350 access/transam/xlog.c:3538
+#: access/transam/xlog.c:4749 access/transam/xlog.c:11264
+#: access/transam/xlog.c:11302 access/transam/xlog.c:11707
+#: access/transam/xlogfuncs.c:776 postmaster/postmaster.c:4623
+#: postmaster/postmaster.c:5669 replication/logical/origin.c:587
+#: replication/slot.c:1544 storage/file/copydir.c:167 storage/smgr/md.c:218
+#: utils/time/snapmgr.c:1259
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "no se pudo crear archivo «%s»: %m"
@@ -1189,249 +1157,214 @@ msgstr "no se pudo truncar el archivo «%s» a %u: %m"
 
 #: access/heap/rewriteheap.c:1166 access/transam/timeline.c:384
 #: access/transam/timeline.c:424 access/transam/timeline.c:502
-#: access/transam/xlog.c:3400 access/transam/xlog.c:3572
-#: access/transam/xlog.c:4726 postmaster/postmaster.c:4610
-#: postmaster/postmaster.c:4620 replication/logical/origin.c:599
+#: access/transam/xlog.c:3422 access/transam/xlog.c:3594
+#: access/transam/xlog.c:4761 postmaster/postmaster.c:4633
+#: postmaster/postmaster.c:4643 replication/logical/origin.c:599
 #: replication/logical/origin.c:641 replication/logical/origin.c:660
-#: replication/logical/snapbuild.c:1611 replication/slot.c:1584
+#: replication/logical/snapbuild.c:1627 replication/slot.c:1579
 #: storage/file/buffile.c:506 storage/file/copydir.c:207
 #: utils/init/miscinit.c:1421 utils/init/miscinit.c:1432
-#: utils/init/miscinit.c:1440 utils/misc/guc.c:8352 utils/misc/guc.c:8383
-#: utils/misc/guc.c:10292 utils/misc/guc.c:10306 utils/time/snapmgr.c:1249
-#: utils/time/snapmgr.c:1256
+#: utils/init/miscinit.c:1440 utils/misc/guc.c:8353 utils/misc/guc.c:8384
+#: utils/misc/guc.c:10293 utils/misc/guc.c:10307 utils/time/snapmgr.c:1264
+#: utils/time/snapmgr.c:1271
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "no se pudo escribir a archivo «%s»: %m"
 
-#: access/heap/rewriteheap.c:1256 access/transam/twophase.c:1613
+#: access/heap/rewriteheap.c:1256 access/transam/twophase.c:1677
 #: access/transam/xlogarchive.c:118 access/transam/xlogarchive.c:422
 #: postmaster/postmaster.c:1096 postmaster/syslogger.c:1465
-#: replication/logical/origin.c:575 replication/logical/reorderbuffer.c:4362
-#: replication/logical/snapbuild.c:1556 replication/logical/snapbuild.c:1972
-#: replication/slot.c:1681 storage/file/fd.c:788 storage/file/fd.c:3169
-#: storage/file/fd.c:3231 storage/file/reinit.c:250 storage/ipc/dsm.c:315
-#: storage/smgr/md.c:344 storage/smgr/md.c:394 storage/sync/sync.c:231
-#: utils/time/snapmgr.c:1589
+#: replication/logical/origin.c:575 replication/logical/reorderbuffer.c:4390
+#: replication/logical/snapbuild.c:1572 replication/logical/snapbuild.c:1988
+#: replication/slot.c:1676 storage/file/fd.c:788 storage/file/fd.c:3171
+#: storage/file/fd.c:3233 storage/file/reinit.c:250 storage/ipc/dsm.c:315
+#: storage/smgr/md.c:344 storage/smgr/md.c:394 storage/sync/sync.c:237
+#: utils/time/snapmgr.c:1604
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "no se pudo eliminar el archivo «%s»: %m"
 
-#: access/heap/vacuumlazy.c:745
+#: access/heap/vacuumlazy.c:773
 #, 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:747
+#: access/heap/vacuumlazy.c:775
 #, 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:752
+#: access/heap/vacuumlazy.c:780
 #, 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:754
+#: access/heap/vacuumlazy.c:782
 #, 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:761
+#: access/heap/vacuumlazy.c:789
 #, c-format
 msgid "pages: %u removed, %u remain, %u skipped due to pins, %u skipped frozen\n"
 msgstr "páginas: %u eliminadas, %u quedan, %u saltadas debido a «pins», %u congeladas saltadas\n"
 
-#: access/heap/vacuumlazy.c:767
-#, fuzzy, c-format
-#| msgid "tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable, oldest xmin: %u\n"
+#: access/heap/vacuumlazy.c:795
+#, c-format
 msgid "tuples: %lld removed, %lld remain, %lld are dead but not yet removable, oldest xmin: %u\n"
-msgstr "tuplas: %.0f removidas, %.0f permanecen ,%.0f están muertas pero aún no se pueden quitar, el xmin más antiguo: %u\n"
+msgstr "tuplas: %lld removidas, %lld permanecen ,%lld están muertas pero aún no se pueden quitar, el xmin más antiguo: %u\n"
 
-#: access/heap/vacuumlazy.c:773 commands/analyze.c:794
-#, 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:806
+msgid "index scan not needed: "
+msgstr "recorrido de índice no necesario: "
+
+#: access/heap/vacuumlazy.c:808
+msgid "index scan needed: "
+msgstr "recorrido de índice necesario: "
 
-#: access/heap/vacuumlazy.c:783
+#: access/heap/vacuumlazy.c:810
 #, c-format
-msgid " %u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n"
-msgstr ""
+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:786
-#, fuzzy
-#| msgid "index \"%s\" not found"
-msgid "index scan not needed:"
-msgstr "índice «%s» no encontrado"
+#: access/heap/vacuumlazy.c:815
+msgid "index scan bypassed: "
+msgstr "recorrido de índice pasado por alto: "
 
-#: access/heap/vacuumlazy.c:788
-#, fuzzy
-#| msgid "index \"%s\" was reindexed"
-msgid "index scan needed:"
-msgstr "el índice «%s» fue reindexado"
+#: access/heap/vacuumlazy.c:817
+msgid "index scan bypassed by failsafe: "
+msgstr "recorrido de índice pasado por alto debido a modo failsafe: "
 
-#: access/heap/vacuumlazy.c:792
+#: access/heap/vacuumlazy.c:819
 #, c-format
-msgid " %u pages from table (%.2f%% of total) have %lld dead item identifiers\n"
-msgstr ""
-
-#: access/heap/vacuumlazy.c:795
-msgid "index scan bypassed:"
-msgstr ""
+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:797
-msgid "index scan bypassed by failsafe:"
-msgstr ""
-
-#: access/heap/vacuumlazy.c:813
+#: access/heap/vacuumlazy.c:834
 #, c-format
 msgid "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u reusable\n"
-msgstr ""
+msgstr "índice «%s»: páginas: %u en total, %u recientemente eliminadas, %u eliminadas hasta ahora, %u reusables\n"
+
+#: access/heap/vacuumlazy.c:846 commands/analyze.c:814
+#, 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:820 commands/analyze.c:798
+#: access/heap/vacuumlazy.c:849 commands/analyze.c:817
 #, 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:824 commands/analyze.c:802
-msgid "I/O Timings:"
-msgstr ""
-
-#: access/heap/vacuumlazy.c:826 commands/analyze.c:804
+#: access/heap/vacuumlazy.c:852 commands/analyze.c:819
 #, c-format
-msgid " read=%.3f"
-msgstr ""
+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:829 commands/analyze.c:807
+#: access/heap/vacuumlazy.c:857
 #, c-format
-msgid " write=%.3f"
-msgstr ""
+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:833
+#: access/heap/vacuumlazy.c:861 commands/analyze.c:823
 #, c-format
-msgid "system usage: %s\n"
-msgstr "uso de sistema: %s\n"
-
-#: access/heap/vacuumlazy.c:835
-#, fuzzy, c-format
-#| msgid "WAL usage: %ld records, %ld full page images, "
-msgid "WAL usage: %lld records, %lld full page images, %llu bytes"
-msgstr "uso de WAL: %ld registros, %ld imágenes de página, "
+msgid "system usage: %s"
+msgstr "uso de sistema: %s"
 
-#: access/heap/vacuumlazy.c:911
+#: access/heap/vacuumlazy.c:933
 #, c-format
 msgid "aggressively vacuuming \"%s.%s\""
 msgstr "haciendo vacuum agresivamente a «%s.%s»"
 
-#: access/heap/vacuumlazy.c:916 commands/cluster.c:898
+#: access/heap/vacuumlazy.c:938 commands/cluster.c:898
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "haciendo vacuum a «%s.%s»"
 
-#: access/heap/vacuumlazy.c:1627
-#, fuzzy, c-format
-#| msgid "\"%s\": removed %d row versions in %d pages"
-msgid "\"%s\": removed %lld dead item identifiers in %u pages"
-msgstr "«%s»: se eliminaron %d versiones de filas en %d páginas"
-
-#: access/heap/vacuumlazy.c:1633
-#, fuzzy, c-format
-#| msgid "%.0f dead row versions cannot be removed yet, oldest xmin: %u\n"
-msgid "%lld dead row versions cannot be removed yet, oldest xmin: %u\n"
-msgstr "%.0f versiones muertas de filas no pueden ser eliminadas aún, xmin máx antiguo: %u\n"
+#: access/heap/vacuumlazy.c:1640 access/heap/vacuumlazy.c:2385
+#, 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:1635
+#: access/heap/vacuumlazy.c:1656
 #, c-format
-msgid "%u page removed.\n"
-msgid_plural "%u pages removed.\n"
-msgstr[0] ""
-msgstr[1] ""
+msgid "%lld dead row versions cannot be removed yet, oldest xmin: %u\n"
+msgstr "%lld versiones muertas de registros no pueden ser eliminadas aún, xmin más antiguo: %u\n"
 
-#: access/heap/vacuumlazy.c:1639
+#: access/heap/vacuumlazy.c:1658
 #, c-format
 msgid "Skipped %u page due to buffer pins, "
 msgid_plural "Skipped %u pages due to buffer pins, "
 msgstr[0] "Omitiendo %u página debido a «pins» de página, "
 msgstr[1] "Omitiendo %u páginas debido a «pins» de página, "
 
-#: access/heap/vacuumlazy.c:1643
+#: access/heap/vacuumlazy.c:1662
 #, c-format
 msgid "%u frozen page.\n"
 msgid_plural "%u frozen pages.\n"
 msgstr[0] "%u página marcadas «frozen».\n"
 msgstr[1] "%u páginas marcadas «frozen».\n"
 
-#: access/heap/vacuumlazy.c:1647 commands/indexcmds.c:3986
+#: access/heap/vacuumlazy.c:1666 commands/indexcmds.c:3986
 #: commands/indexcmds.c:4005
 #, c-format
 msgid "%s."
 msgstr "%s."
 
-#: access/heap/vacuumlazy.c:1650
-#, fuzzy, c-format
-#| msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u out of %u pages"
-msgid "\"%s\": found %lld removable, %lld nonremovable row versions in %u out of %u pages"
-msgstr "«%s»: se encontraron %.0f versiones de filas eliminables y %.0f no eliminables en %u de %u páginas"
-
-#: access/heap/vacuumlazy.c:2155
+#: access/heap/vacuumlazy.c:1669
 #, c-format
-msgid "\"%s\": index scan bypassed: %u pages from table (%.2f%% of total) have %lld dead item identifiers"
-msgstr ""
+msgid "table \"%s\": found %lld removable, %lld nonremovable row versions in %u out of %u pages"
+msgstr "tabla «%s»: se encontraron %lld versiones de registros eliminables y %lld no eliminables en %u de %u páginas"
 
-#: access/heap/vacuumlazy.c:2366
-#, fuzzy, c-format
-#| msgid "\"%s\": removed %d row versions in %d pages"
-msgid "\"%s\": removed %d dead item identifiers in %u pages"
-msgstr "«%s»: se eliminaron %d versiones de filas en %d páginas"
+#: access/heap/vacuumlazy.c:2173
+#, c-format
+msgid "table \"%s\": index scan bypassed: %u pages from table (%.2f%% of total) have %lld dead item identifiers"
+msgstr "tabla «%s»: recorrido de índice pasado por alto: %u páginas de la tabla (%.2f%% del total) tienen %lld identificadores de elementos muertos"
 
-#: access/heap/vacuumlazy.c:2598
-#, fuzzy, c-format
-#| msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
+#: access/heap/vacuumlazy.c:2617
+#, c-format
 msgid "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after %d index scans"
-msgstr "vacuum automático de la tabla «%s.%s.%s»: recorridos de índice: %d\n"
+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:2603
-#, fuzzy, c-format
-#| msgid "oldest xmin is far in the past"
-msgid "table's relfrozenxid or relminmxid is too far in the past"
-msgstr "xmin más antiguo es demasiado antiguo"
+#: access/heap/vacuumlazy.c:2622
+#, 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:2604
+#: access/heap/vacuumlazy.c:2623
 #, c-format
 msgid ""
 "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n"
 "You might also need to consider other ways for VACUUM to keep up with the allocation of transaction IDs."
 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:2744
+#: access/heap/vacuumlazy.c:2763
 #, 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)"
 msgstr[0] "se lanzó %d proceso asistente para «cleanup» de índices (planeados: %d)"
 msgstr[1] "se lanzaron %d procesos asistentes para «cleanup» de índices (planeados: %d)"
 
-#: access/heap/vacuumlazy.c:2750
+#: access/heap/vacuumlazy.c:2769
 #, 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)"
 
-#: access/heap/vacuumlazy.c:3039
+#: access/heap/vacuumlazy.c:3063
 #, c-format
 msgid "scanned index \"%s\" to remove %d row versions"
 msgstr "se recorrió el índice «%s» para eliminar %d versiones de filas"
 
-#: access/heap/vacuumlazy.c:3096
+#: access/heap/vacuumlazy.c:3120
 #, 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"
 
-#: access/heap/vacuumlazy.c:3100
-#, fuzzy, c-format
-#| msgid ""
-#| "%.0f index row versions were removed.\n"
-#| "%u index pages have been deleted, %u are currently reusable.\n"
-#| "%s."
+#: access/heap/vacuumlazy.c:3124
+#, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
 "%u index pages were newly deleted.\n"
@@ -1439,72 +1372,71 @@ msgid ""
 "%s."
 msgstr ""
 "%.0f versiones de filas del índice fueron eliminadas.\n"
-"%u páginas de índice han sido eliminadas, %u son reusables.\n"
+"%u páginas de índice fueron eliminadas recientemente.\n"
+"%u páginas de índices han sido eliminadas hasta ahora, de las cuales %u son reusables.\n"
 "%s."
 
-#: access/heap/vacuumlazy.c:3212
+#: access/heap/vacuumlazy.c:3233
 #, 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:3278
+#: access/heap/vacuumlazy.c:3299
 #, c-format
-msgid "\"%s\": truncated %u to %u pages"
-msgstr "«%s»: truncadas %u a %u páginas"
+msgid "table \"%s\": truncated %u to %u pages"
+msgstr "tabla «%s»: truncadas %u a %u páginas"
 
-#: access/heap/vacuumlazy.c:3343
+#: access/heap/vacuumlazy.c:3363
 #, c-format
-msgid "\"%s\": suspending truncate due to conflicting lock request"
-msgstr "«%s»: suspendiendo el truncado debido a una petición de candado en conflicto"
+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:3489
+#: access/heap/vacuumlazy.c:3508
 #, 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:4244
-#, fuzzy, c-format
-#| msgid "while scanning block %u of relation \"%s.%s\""
-msgid "while scanning block %u and offset %u of relation \"%s.%s\""
-msgstr "recorriendo el bloque %u de la relación «%s.%s»"
+#: access/heap/vacuumlazy.c:4274
+#, 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:4247
+#: access/heap/vacuumlazy.c:4277
 #, 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:4251
+#: access/heap/vacuumlazy.c:4281
 #, c-format
 msgid "while scanning relation \"%s.%s\""
 msgstr "recorriendo la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:4259
-#, fuzzy, c-format
-#| msgid "while vacuuming block %u of relation \"%s.%s\""
-msgid "while vacuuming block %u and offset %u of relation \"%s.%s\""
-msgstr "haciendo «vacuum» al bloque %u de la relación «%s.%s»"
+#: access/heap/vacuumlazy.c:4289
+#, 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:4262
+#: access/heap/vacuumlazy.c:4292
 #, 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:4266
+#: access/heap/vacuumlazy.c:4296
 #, c-format
 msgid "while vacuuming relation \"%s.%s\""
 msgstr "mientras se hacía «vacuum» a la relación «%s.%s»"
 
-#: access/heap/vacuumlazy.c:4271
+#: access/heap/vacuumlazy.c:4301
 #, 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:4276
+#: access/heap/vacuumlazy.c:4306
 #, 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:4282
+#: access/heap/vacuumlazy.c:4312
 #, 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,14 +1452,13 @@ msgid "index access method \"%s\" does not have a handler"
 msgstr "el método de acceso «%s» no tiene manejador"
 
 #: access/index/genam.c:486
-#, fuzzy, c-format
-#| msgid "cannot reindex system catalogs concurrently"
+#, c-format
 msgid "transaction aborted during system catalog scan"
-msgstr "no se pueden reindexar catálogos de sistema concurrentemente"
+msgstr "transacción abortada durante recorrido de catálogos de sistema"
 
 #: access/index/indexam.c:142 catalog/objectaddress.c:1355
 #: commands/indexcmds.c:2670 commands/tablecmds.c:267 commands/tablecmds.c:291
-#: commands/tablecmds.c:16493 commands/tablecmds.c:18195
+#: commands/tablecmds.c:16537 commands/tablecmds.c:18274
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "«%s» no es un índice"
@@ -1553,7 +1484,7 @@ 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:159 access/nbtree/nbtpage.c:608
-#: parser/parse_utilcmd.c:2329
+#: parser/parse_utilcmd.c:2319
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "el índice «%s» no es un btree"
@@ -1597,21 +1528,20 @@ 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/spgist/spgutils.c:232
+#: access/spgist/spgutils.c:244
 #, 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:1005
+#: access/spgist/spgutils.c:1017
 #, 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"
 
 #: access/spgist/spgvalidate.c:136
-#, fuzzy, c-format
-#| msgid "anycompatiblerange type %s does not match anycompatible type %s"
+#, c-format
 msgid "SP-GiST leaf data type %s does not match declared type %s"
-msgstr "el tipo anycompatiblerange %s no coincide con el tipo anycompatible %s"
+msgstr "el tipo de dato hoja SP-GiST %s no coincide con el tipo declarado %s"
 
 #: access/spgist/spgvalidate.c:302
 #, c-format
@@ -1625,8 +1555,8 @@ msgid "\"%s\" is an index"
 msgstr "«%s» es un índice"
 
 #: access/table/table.c:54 access/table/table.c:88 access/table/table.c:117
-#: access/table/table.c:150 catalog/aclchk.c:1799 commands/tablecmds.c:13198
-#: commands/tablecmds.c:16502
+#: access/table/table.c:150 catalog/aclchk.c:1799 commands/tablecmds.c:13238
+#: commands/tablecmds.c:16546
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "«%s» es un tipo compuesto"
@@ -1641,7 +1571,7 @@ msgstr "el tid (%u, %u) no es válido para la relación «%s»"
 msgid "%s cannot be empty."
 msgstr "%s no puede ser vacío."
 
-#: access/table/tableamapi.c:122 utils/misc/guc.c:12438
+#: access/table/tableamapi.c:122 utils/misc/guc.c:12439
 #, c-format
 msgid "%s is too long (maximum %d characters)."
 msgstr "%s es demasiado largo (máximo %d caracteres)."
@@ -1672,10 +1602,9 @@ msgid "could not get commit timestamp data"
 msgstr "no se pudo obtener datos de compromiso de transacción"
 
 #: access/transam/commit_ts.c:378
-#, fuzzy, c-format
-#| msgid "Make sure the configuration parameter \"%s\" is set on the master server."
+#, 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 maestro."
+msgstr "Asegúrese que el parámetro de configuración «%s» esté definido en el servidor primario."
 
 #: access/transam/commit_ts.c:380
 #, c-format
@@ -1702,14 +1631,14 @@ msgstr ""
 msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with OID %u"
 msgstr "la base de datos no está aceptando órdenes que generen nuevos MultiXactIds para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base con OID %u"
 
-#: access/transam/multixact.c:1049 access/transam/multixact.c:2330
+#: access/transam/multixact.c:1049 access/transam/multixact.c:2333
 #, 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:1058 access/transam/multixact.c:2339
+#: access/transam/multixact.c:1058 access/transam/multixact.c:2342
 #, 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"
@@ -1745,7 +1674,7 @@ msgstr[1] "base de datos con OID %u debe ser limpiada antes de que %d más miemb
 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:1298
+#: access/transam/multixact.c:1300
 #, c-format
 msgid "MultiXactId %u does no longer exist -- apparent wraparound"
 msgstr "el MultiXactId %u ya no existe -- aparente problema por reciclaje"
@@ -1755,7 +1684,7 @@ msgstr "el MultiXactId %u ya no existe -- aparente problema por reciclaje"
 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:2335 access/transam/multixact.c:2344
+#: 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
@@ -1766,61 +1695,61 @@ 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:2618
+#: access/transam/multixact.c:2621
 #, 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:2640
+#: access/transam/multixact.c:2643
 #, 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:3030
 #, 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:3048
 #, 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:3362
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "el MultiXactId no es válido: %u"
 
-#: access/transam/parallel.c:707 access/transam/parallel.c:826
+#: access/transam/parallel.c:718 access/transam/parallel.c:837
 #, c-format
 msgid "parallel worker failed to initialize"
 msgstr "el ayudante paralelo no pudo iniciar"
 
-#: access/transam/parallel.c:708 access/transam/parallel.c:827
+#: access/transam/parallel.c:719 access/transam/parallel.c:838
 #, 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:888
+#: access/transam/parallel.c:899
 #, c-format
 msgid "postmaster exited during a parallel transaction"
 msgstr "postmaster terminó durante una transacción paralela"
 
-#: access/transam/parallel.c:1075
+#: access/transam/parallel.c:1086
 #, c-format
 msgid "lost connection to parallel worker"
 msgstr "se ha perdido la conexión al ayudante paralelo"
 
-#: access/transam/parallel.c:1141 access/transam/parallel.c:1143
+#: access/transam/parallel.c:1152 access/transam/parallel.c:1154
 msgid "parallel worker"
 msgstr "ayudante paralelo"
 
-#: access/transam/parallel.c:1294
+#: access/transam/parallel.c:1307
 #, 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:1299
+#: access/transam/parallel.c:1312
 #, 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"
@@ -1943,144 +1872,146 @@ msgstr "Defina max_prepared_transactions a un valor distinto de cero."
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "identificador de transacción «%s» ya está siendo utilizado"
 
-#: access/transam/twophase.c:417 access/transam/twophase.c:2385
+#: access/transam/twophase.c:417 access/transam/twophase.c:2449
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "se alcanzó el número máximo de transacciones preparadas"
 
-#: access/transam/twophase.c:418 access/transam/twophase.c:2386
+#: access/transam/twophase.c:418 access/transam/twophase.c:2450
 #, c-format
 msgid "Increase max_prepared_transactions (currently %d)."
 msgstr "Incremente max_prepared_transactions (actualmente es %d)."
 
-#: access/transam/twophase.c:584
+#: access/transam/twophase.c:594
 #, c-format
 msgid "prepared transaction with identifier \"%s\" is busy"
 msgstr "transacción preparada con identificador «%s» está ocupada"
 
-#: access/transam/twophase.c:590
+#: access/transam/twophase.c:600
 #, 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:591
+#: access/transam/twophase.c:601
 #, 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:602
+#: access/transam/twophase.c:612
 #, c-format
 msgid "prepared transaction belongs to another database"
 msgstr "la transacción preparada pertenece a otra base de datos"
 
-#: access/transam/twophase.c:603
+#: access/transam/twophase.c:613
 #, 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:618
+#: access/transam/twophase.c:628
 #, c-format
 msgid "prepared transaction with identifier \"%s\" does not exist"
 msgstr "transacción preparada con identificador «%s» no existe"
 
-#: access/transam/twophase.c:1093
+#: access/transam/twophase.c:1149
 #, 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:1247
-#, fuzzy, c-format
-#| msgid "incorrect size of file \"%s\": %zu byte"
-#| msgid_plural "incorrect size of file \"%s\": %zu bytes"
+#: access/transam/twophase.c:1303
+#, 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»: %zu byte"
-msgstr[1] "tamaño incorrecto de archivo «%s»: %zu 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:1256
+#: access/transam/twophase.c:1312
 #, 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:1274
-#, fuzzy, c-format
-#| msgid "could not read file \"%s\": read %d of %zu"
+#: access/transam/twophase.c:1330
+#, c-format
 msgid "could not read file \"%s\": read %d of %lld"
-msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu"
+msgstr "no se pudo leer el archivo «%s»: leídos %d de %lld"
 
-#: access/transam/twophase.c:1289
+#: access/transam/twophase.c:1345
 #, 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:1295
+#: access/transam/twophase.c:1351
 #, c-format
 msgid "invalid size stored in file \"%s\""
 msgstr "tamaño no válido en archivo «%s»"
 
-#: access/transam/twophase.c:1307
+#: access/transam/twophase.c:1363
 #, 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:1342 access/transam/xlog.c:6634
+#: access/transam/twophase.c:1398 access/transam/xlog.c:6678
 #, 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:1357
+#: access/transam/twophase.c:1415
+#, 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:1420
 #, 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:1364
+#: access/transam/twophase.c:1428
 #, 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:1641
+#: access/transam/twophase.c:1705
 #, c-format
 msgid "could not recreate file \"%s\": %m"
 msgstr "no se pudo recrear archivo «%s»: %m"
 
-#: access/transam/twophase.c:1768
+#: access/transam/twophase.c:1832
 #, 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:2002
+#: access/transam/twophase.c:2066
 #, c-format
 msgid "recovering prepared transaction %u from shared memory"
 msgstr "recuperando transacción preparada %u desde memoria compartida"
 
-#: access/transam/twophase.c:2093
+#: access/transam/twophase.c:2157
 #, 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:2100
+#: access/transam/twophase.c:2164
 #, 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:2113
+#: access/transam/twophase.c:2177
 #, 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:2120
+#: access/transam/twophase.c:2184
 #, 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:2145
+#: access/transam/twophase.c:2209
 #, 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:2150
+#: access/transam/twophase.c:2214
 #, c-format
 msgid "corrupted two-phase state in memory for transaction %u"
 msgstr "estado de dos fases en memoria corrupto para transacción %u"
@@ -2114,564 +2045,558 @@ msgstr "base de datos «%s» debe ser limpiada dentro de %u transacciones"
 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:1045
+#: access/transam/xact.c:1046
 #, 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:1582
+#: access/transam/xact.c:1583
 #, 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:2423
+#: access/transam/xact.c:2434
 #, 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:2433
+#: access/transam/xact.c:2444
 #, 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:3388
+#: access/transam/xact.c:3408
 #, 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:3398
+#: access/transam/xact.c:3418
 #, 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:3408
+#: access/transam/xact.c:3428
 #, 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:3477 access/transam/xact.c:3783
-#: access/transam/xact.c:3862 access/transam/xact.c:3985
-#: access/transam/xact.c:4136 access/transam/xact.c:4205
-#: access/transam/xact.c:4316
+#: access/transam/xact.c:3497 access/transam/xact.c:3803
+#: access/transam/xact.c:3882 access/transam/xact.c:4005
+#: access/transam/xact.c:4156 access/transam/xact.c:4225
+#: access/transam/xact.c:4336
 #, 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:3669
+#: access/transam/xact.c:3689
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "ya hay una transacción en curso"
 
-#: access/transam/xact.c:3788 access/transam/xact.c:3867
-#: access/transam/xact.c:3990
+#: access/transam/xact.c:3808 access/transam/xact.c:3887
+#: access/transam/xact.c:4010
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "no hay una transacción en curso"
 
-#: access/transam/xact.c:3878
+#: access/transam/xact.c:3898
 #, 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:4001
+#: access/transam/xact.c:4021
 #, c-format
 msgid "cannot abort during a parallel operation"
 msgstr "no se puede abortar durante una operación paralela"
 
-#: access/transam/xact.c:4100
+#: access/transam/xact.c:4120
 #, 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:4187
+#: access/transam/xact.c:4207
 #, 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:4197 access/transam/xact.c:4248
-#: access/transam/xact.c:4308 access/transam/xact.c:4357
+#: access/transam/xact.c:4217 access/transam/xact.c:4268
+#: access/transam/xact.c:4328 access/transam/xact.c:4377
 #, c-format
 msgid "savepoint \"%s\" does not exist"
 msgstr "no existe el «savepoint» «%s»"
 
-#: access/transam/xact.c:4254 access/transam/xact.c:4363
+#: access/transam/xact.c:4274 access/transam/xact.c:4383
 #, 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:4296
+#: access/transam/xact.c:4316
 #, 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:4424
+#: access/transam/xact.c:4444
 #, 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:4492
+#: access/transam/xact.c:4512
 #, 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:5133
+#: access/transam/xact.c:5159
 #, 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:1825
+#: access/transam/xlog.c:1835
 #, c-format
 msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X"
-msgstr ""
+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:2586
+#: access/transam/xlog.c:2608
 #, c-format
 msgid "could not write to log file %s at offset %u, length %zu: %m"
 msgstr "no se pudo escribir archivo de registro %s en la posición %u, largo %zu: %m"
 
-#: access/transam/xlog.c:3988 access/transam/xlogutils.c:798
+#: access/transam/xlog.c:4010 access/transam/xlogutils.c:798
 #: replication/walsender.c:2520
 #, 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:4263
+#: access/transam/xlog.c:4285
 #, c-format
 msgid "could not rename file \"%s\": %m"
 msgstr "no se pudo renombrar el archivo «%s»: %m"
 
-#: access/transam/xlog.c:4305 access/transam/xlog.c:4315
+#: access/transam/xlog.c:4327 access/transam/xlog.c:4337
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "no existe el directorio WAL «%s»"
 
-#: access/transam/xlog.c:4321
+#: access/transam/xlog.c:4343
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "creando el directorio WAL faltante «%s»"
 
-#: access/transam/xlog.c:4324
+#: access/transam/xlog.c:4346
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "no se pudo crear el directorio faltante «%s»: %m"
 
-#: access/transam/xlog.c:4427
+#: access/transam/xlog.c:4462
 #, c-format
 msgid "unexpected timeline ID %u in log segment %s, offset %u"
 msgstr "ID de timeline %u inesperado en archivo %s, posición %u"
 
-#: access/transam/xlog.c:4565
+#: access/transam/xlog.c:4600
 #, c-format
 msgid "new timeline %u is not a child of database system timeline %u"
 msgstr "el nuevo timeline %u especificado no es hijo del timeline de sistema %u"
 
-#: access/transam/xlog.c:4579
+#: access/transam/xlog.c:4614
 #, c-format
 msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
 msgstr "el nuevo timeline %u bifurcó del timeline del sistema actual %u antes del punto re recuperación actual %X/%X"
 
-#: access/transam/xlog.c:4598
+#: access/transam/xlog.c:4633
 #, c-format
 msgid "new target timeline is %u"
 msgstr "el nuevo timeline destino es %u"
 
-#: access/transam/xlog.c:4634
+#: access/transam/xlog.c:4669
 #, c-format
 msgid "could not generate secret authorization token"
 msgstr "no se pudo generar un token de autorización secreto"
 
-#: access/transam/xlog.c:4793 access/transam/xlog.c:4802
-#: access/transam/xlog.c:4826 access/transam/xlog.c:4833
-#: access/transam/xlog.c:4840 access/transam/xlog.c:4845
-#: access/transam/xlog.c:4852 access/transam/xlog.c:4859
-#: access/transam/xlog.c:4866 access/transam/xlog.c:4873
-#: access/transam/xlog.c:4880 access/transam/xlog.c:4887
-#: access/transam/xlog.c:4896 access/transam/xlog.c:4903
+#: access/transam/xlog.c:4828 access/transam/xlog.c:4837
+#: access/transam/xlog.c:4861 access/transam/xlog.c:4868
+#: access/transam/xlog.c:4875 access/transam/xlog.c:4880
+#: access/transam/xlog.c:4887 access/transam/xlog.c:4894
+#: access/transam/xlog.c:4901 access/transam/xlog.c:4908
+#: access/transam/xlog.c:4915 access/transam/xlog.c:4922
+#: access/transam/xlog.c:4931 access/transam/xlog.c:4938
 #: utils/init/miscinit.c:1578
 #, 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:4794
+#: access/transam/xlog.c:4829
 #, 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:4798
+#: access/transam/xlog.c:4833
 #, 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:4803
+#: access/transam/xlog.c:4838
 #, 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:4806 access/transam/xlog.c:4830
-#: access/transam/xlog.c:4837 access/transam/xlog.c:4842
+#: access/transam/xlog.c:4841 access/transam/xlog.c:4865
+#: access/transam/xlog.c:4872 access/transam/xlog.c:4877
 #, c-format
 msgid "It looks like you need to initdb."
 msgstr "Parece que necesita ejecutar initdb."
 
-#: access/transam/xlog.c:4817
+#: access/transam/xlog.c:4852
 #, 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:4827
+#: access/transam/xlog.c:4862
 #, 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:4834
+#: access/transam/xlog.c:4869
 #, 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:4841
+#: access/transam/xlog.c:4876
 #, 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:4846
+#: access/transam/xlog.c:4881
 #, 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:4849 access/transam/xlog.c:4856
-#: access/transam/xlog.c:4863 access/transam/xlog.c:4870
-#: access/transam/xlog.c:4877 access/transam/xlog.c:4884
-#: access/transam/xlog.c:4891 access/transam/xlog.c:4899
-#: access/transam/xlog.c:4906
+#: access/transam/xlog.c:4884 access/transam/xlog.c:4891
+#: access/transam/xlog.c:4898 access/transam/xlog.c:4905
+#: access/transam/xlog.c:4912 access/transam/xlog.c:4919
+#: access/transam/xlog.c:4926 access/transam/xlog.c:4934
+#: access/transam/xlog.c:4941
 #, c-format
 msgid "It looks like you need to recompile or initdb."
 msgstr "Parece que necesita recompilar o ejecutar initdb."
 
-#: access/transam/xlog.c:4853
+#: access/transam/xlog.c:4888
 #, 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:4860
+#: access/transam/xlog.c:4895
 #, 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:4867
+#: access/transam/xlog.c:4902
 #, 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:4874
+#: access/transam/xlog.c:4909
 #, 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:4881
+#: access/transam/xlog.c:4916
 #, 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:4888
+#: access/transam/xlog.c:4923
 #, 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:4897
+#: access/transam/xlog.c:4932
 #, 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:4904
+#: access/transam/xlog.c:4939
 #, 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:4913
+#: access/transam/xlog.c:4948
 #, 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:4925
+#: access/transam/xlog.c:4960
 #, 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:4929
+#: access/transam/xlog.c:4964
 #, 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:5363
+#: access/transam/xlog.c:5398
 #, 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:5371
+#: access/transam/xlog.c:5406
 #, 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:5377
+#: access/transam/xlog.c:5412
 #, 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:5438
+#: access/transam/xlog.c:5473
 #, 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/xlog.c:5503
+#: access/transam/xlog.c:5538
 #, c-format
 msgid "standby mode is not supported by single-user servers"
 msgstr "el modo standby no está soportado en el modo mono-usuario"
 
-#: access/transam/xlog.c:5520
+#: access/transam/xlog.c:5555
 #, c-format
 msgid "specified neither primary_conninfo nor restore_command"
 msgstr "no se especifica primary_conninfo ni restore_command"
 
-#: access/transam/xlog.c:5521
+#: access/transam/xlog.c:5556
 #, 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/xlog.c:5529
+#: access/transam/xlog.c:5564
 #, c-format
 msgid "must specify restore_command when standby mode is not enabled"
 msgstr "debe especificarse restore_command cuando el modo standby no está activo"
 
-#: access/transam/xlog.c:5567
+#: access/transam/xlog.c:5602
 #, c-format
 msgid "recovery target timeline %u does not exist"
 msgstr "no existe el timeline %u especificado como destino de recuperación"
 
-#: access/transam/xlog.c:5689
+#: access/transam/xlog.c:5724
 #, c-format
 msgid "archive recovery complete"
 msgstr "recuperación completa"
 
-#: access/transam/xlog.c:5755 access/transam/xlog.c:6026
+#: access/transam/xlog.c:5790 access/transam/xlog.c:6061
 #, c-format
 msgid "recovery stopping after reaching consistency"
 msgstr "deteniendo recuperación al alcanzar un estado consistente"
 
-#: access/transam/xlog.c:5776
+#: access/transam/xlog.c:5811
 #, 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/xlog.c:5861
+#: access/transam/xlog.c:5896
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr "deteniendo recuperación antes de comprometer la transacción %u, hora %s"
 
-#: access/transam/xlog.c:5868
+#: access/transam/xlog.c:5903
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr "deteniendo recuperación antes de abortar la transacción %u, hora %s"
 
-#: access/transam/xlog.c:5921
+#: access/transam/xlog.c:5956
 #, c-format
 msgid "recovery stopping at restore point \"%s\", time %s"
 msgstr "deteniendo recuperación en el punto de recuperación «%s», hora %s"
 
-#: access/transam/xlog.c:5939
+#: access/transam/xlog.c:5974
 #, 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/xlog.c:6006
+#: access/transam/xlog.c:6041
 #, c-format
 msgid "recovery stopping after commit of transaction %u, time %s"
 msgstr "deteniendo recuperación de comprometer la transacción %u, hora %s"
 
-#: access/transam/xlog.c:6014
+#: access/transam/xlog.c:6049
 #, c-format
 msgid "recovery stopping after abort of transaction %u, time %s"
 msgstr "deteniendo recuperación después de abortar la transacción %u, hora %s"
 
-#: access/transam/xlog.c:6059
+#: access/transam/xlog.c:6094
 #, c-format
 msgid "pausing at the end of recovery"
 msgstr "pausando al final de la recuperación"
 
-#: access/transam/xlog.c:6060
+#: access/transam/xlog.c:6095
 #, c-format
 msgid "Execute pg_wal_replay_resume() to promote."
 msgstr "Ejecute pg_wal_replay_resume() para promover."
 
-#: access/transam/xlog.c:6063 access/transam/xlog.c:6336
+#: access/transam/xlog.c:6098 access/transam/xlog.c:6380
 #, c-format
 msgid "recovery has paused"
 msgstr "la recuperación está en pausa"
 
-#: access/transam/xlog.c:6064
+#: access/transam/xlog.c:6099
 #, c-format
 msgid "Execute pg_wal_replay_resume() to continue."
 msgstr "Ejecute pg_wal_replay_resume() para continuar."
 
-#: access/transam/xlog.c:6327
-#, fuzzy, c-format
-#| msgid "hot standby is not possible because wal_level was not set to \"replica\" or higher on the master server"
+#: access/transam/xlog.c:6371
+#, c-format
 msgid "hot standby is not possible because of insufficient parameter settings"
-msgstr "hot standby no es posible porque wal_level no estaba configurado como «replica» o superior en el servidor maestro"
+msgstr "hot standby no es posible porque la configuración de parámetros no es suficiente"
 
-#: access/transam/xlog.c:6328 access/transam/xlog.c:6355
-#: access/transam/xlog.c:6385
-#, fuzzy, c-format
-#| msgid "hot standby is not possible because %s = %d is a lower setting than on the master server (its value was %d)"
+#: access/transam/xlog.c:6372 access/transam/xlog.c:6399
+#: access/transam/xlog.c:6429
+#, c-format
 msgid "%s = %d is a lower setting than on the primary server, where its value was %d."
-msgstr "hot standby no es posible puesto que %s = %d es una configuración menor que en el servidor maestro (su valor era %d)"
+msgstr "%s = %d es una configuración menor que en el servidor primario, donde su valor era %d."
 
-#: access/transam/xlog.c:6337
+#: access/transam/xlog.c:6381
 #, c-format
 msgid "If recovery is unpaused, the server will shut down."
-msgstr ""
+msgstr "Si se continúa con la recuperación, el servidor se apagará."
 
-#: access/transam/xlog.c:6338
+#: access/transam/xlog.c:6382
 #, c-format
 msgid "You can then restart the server after making the necessary configuration changes."
-msgstr ""
+msgstr "Luego puede reiniciar el servidor después de hacer los cambios necesarios en la configuración."
 
-#: access/transam/xlog.c:6349
-#, fuzzy, c-format
-#| msgid "rotation not possible because log collection not active"
+#: access/transam/xlog.c:6393
+#, c-format
 msgid "promotion is not possible because of insufficient parameter settings"
-msgstr "la rotación no es posible porque la recoleccion de log no está activa"
+msgstr "la promoción no es posible porque la configuración de parámetros no es suficiente"
 
-#: access/transam/xlog.c:6359
-#, fuzzy, c-format
-#| msgid "Sets the server's main configuration file."
+#: access/transam/xlog.c:6403
+#, c-format
 msgid "Restart the server after making the necessary configuration changes."
-msgstr "Define la ubicación del archivo principal de configuración del servidor."
+msgstr "Reinicie el servidor luego de hacer los cambios necesarios en la configuración."
 
-#: access/transam/xlog.c:6383
+#: access/transam/xlog.c:6427
 #, c-format
 msgid "recovery aborted because of insufficient parameter settings"
-msgstr ""
+msgstr "se abortó la recuperación porque la configuración de parámetros no es suficiente"
 
-#: access/transam/xlog.c:6389
+#: access/transam/xlog.c:6433
 #, c-format
 msgid "You can restart the server after making the necessary configuration changes."
-msgstr ""
+msgstr "Puede reiniciar el servidor luego de hacer los cambios necesarios en la configuración."
 
-#: access/transam/xlog.c:6411
-#, fuzzy, c-format
-#| msgid "WAL was generated with wal_level=minimal, data may be missing"
+#: access/transam/xlog.c:6455
+#, c-format
 msgid "WAL was generated with wal_level=minimal, cannot continue recovering"
-msgstr "WAL fue generado con wal_level=minimal, puede haber datos faltantes"
+msgstr "el WAL fue generado con wal_level=minimal, no se puede continuar con la recuperación"
 
-#: access/transam/xlog.c:6412
-#, fuzzy, c-format
-#| msgid "This happens if you temporarily set wal_level=minimal without taking a new base backup."
+#: access/transam/xlog.c:6456
+#, c-format
 msgid "This happens if you temporarily set wal_level=minimal on the server."
-msgstr "Esto sucede si temporalmente define wal_level=minimal sin tomar un nuevo respaldo base."
+msgstr "Esto sucede si temporalmente define wal_level=minimal en el servidor."
 
-#: access/transam/xlog.c:6413
+#: access/transam/xlog.c:6457
 #, c-format
 msgid "Use a backup taken after setting wal_level to higher than minimal."
-msgstr ""
+msgstr "Utilice un respaldo tomado después de establecer wal_level a un valor superior a minimal."
 
-#: access/transam/xlog.c:6482
+#: access/transam/xlog.c:6526
 #, 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:6493
+#: access/transam/xlog.c:6537
 #, 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:6499
+#: access/transam/xlog.c:6543
 #, 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:6505
+#: access/transam/xlog.c:6549
 #, 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:6511
+#: access/transam/xlog.c:6555
 #, 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:6513
+#: access/transam/xlog.c:6557
 #, 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:6519
+#: access/transam/xlog.c:6563
 #, 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:6521
+#: access/transam/xlog.c:6565
 #, 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:6527
+#: access/transam/xlog.c:6571
 #, 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:6533
+#: access/transam/xlog.c:6577
 #, 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:6590
+#: access/transam/xlog.c:6634
 #, c-format
 msgid "entering standby mode"
 msgstr "entrando al modo standby"
 
-#: access/transam/xlog.c:6593
+#: access/transam/xlog.c:6637
 #, c-format
 msgid "starting point-in-time recovery to XID %u"
 msgstr "comenzando el proceso de recuperación hasta el XID %u"
 
-#: access/transam/xlog.c:6597
+#: access/transam/xlog.c:6641
 #, c-format
 msgid "starting point-in-time recovery to %s"
 msgstr "comenzando el proceso de recuperación hasta %s"
 
-#: access/transam/xlog.c:6601
+#: access/transam/xlog.c:6645
 #, c-format
 msgid "starting point-in-time recovery to \"%s\""
 msgstr "comenzando el proceso de recuperación hasta «%s»"
 
-#: access/transam/xlog.c:6605
+#: access/transam/xlog.c:6649
 #, 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/xlog.c:6609
+#: access/transam/xlog.c:6653
 #, c-format
 msgid "starting point-in-time recovery to earliest consistent point"
 msgstr "comenzando recuperación a un punto en el tiempo hasta alcanzar un estado consistente"
 
-#: access/transam/xlog.c:6612
+#: access/transam/xlog.c:6656
 #, c-format
 msgid "starting archive recovery"
 msgstr "comenzando proceso de recuperación"
 
-#: access/transam/xlog.c:6686
+#: access/transam/xlog.c:6730
 #, c-format
 msgid "could not find redo location referenced by checkpoint record"
 msgstr "no se pudo encontrar la ubicación de redo referida por el registro de punto de control"
 
 # Purposefully deviate from quoting convention here, since argument is a shell command.
-#: access/transam/xlog.c:6687 access/transam/xlog.c:6697
+#: access/transam/xlog.c:6731 access/transam/xlog.c:6741
 #, c-format
 msgid ""
 "If you are restoring from a backup, touch \"%s/recovery.signal\" and add required recovery options.\n"
@@ -2682,281 +2607,285 @@ 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/xlog.c:6696
+#: access/transam/xlog.c:6740
 #, c-format
 msgid "could not locate required checkpoint record"
 msgstr "no se pudo localizar el registro del punto de control requerido"
 
-#: access/transam/xlog.c:6725 commands/tablespace.c:666
+#: access/transam/xlog.c:6769 commands/tablespace.c:662
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "no se pudo crear el enlace simbólico «%s»: %m"
 
-#: access/transam/xlog.c:6757 access/transam/xlog.c:6763
+#: access/transam/xlog.c:6801 access/transam/xlog.c:6807
 #, c-format
 msgid "ignoring file \"%s\" because no file \"%s\" exists"
 msgstr "ignorando el archivo «%s» porque no existe un archivo «%s»"
 
-#: access/transam/xlog.c:6759 access/transam/xlog.c:12060
+#: access/transam/xlog.c:6803 access/transam/xlog.c:12238
 #, c-format
 msgid "File \"%s\" was renamed to \"%s\"."
 msgstr "El archivo «%s» fue renombrado a «%s»."
 
-#: access/transam/xlog.c:6765
+#: access/transam/xlog.c:6809
 #, c-format
 msgid "Could not rename file \"%s\" to \"%s\": %m."
 msgstr "No se pudo renombrar el archivo de «%s» a «%s»: %m."
 
-#: access/transam/xlog.c:6816
+#: access/transam/xlog.c:6860
 #, c-format
 msgid "could not locate a valid checkpoint record"
 msgstr "no se pudo localizar un registro de punto de control válido"
 
-#: access/transam/xlog.c:6854
+#: access/transam/xlog.c:6898
 #, c-format
 msgid "requested timeline %u is not a child of this server's history"
 msgstr "el timeline solicitado %u no es un hijo de la historia de este servidor"
 
-#: access/transam/xlog.c:6856
+#: access/transam/xlog.c:6900
 #, c-format
 msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
 msgstr "El punto de control más reciente está en %X/%X en el timeline %u, pero en la historia del timeline solicitado, el servidor se desvió desde ese timeline en %X/%X."
 
-#: access/transam/xlog.c:6870
+#: access/transam/xlog.c:6914
 #, c-format
 msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
 msgstr "el timeline solicitado %u no contiene el punto mínimo de recuperación %X/%X en el timeline %u"
 
-#: access/transam/xlog.c:6900
+#: access/transam/xlog.c:6944
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "el siguiente ID de transacción no es válido"
 
-#: access/transam/xlog.c:7000
+#: access/transam/xlog.c:7044
 #, c-format
 msgid "invalid redo in checkpoint record"
 msgstr "redo no es válido en el registro de punto de control"
 
-#: access/transam/xlog.c:7011
+#: access/transam/xlog.c:7055
 #, c-format
 msgid "invalid redo record in shutdown checkpoint"
 msgstr "registro redo no es válido en el punto de control de apagado"
 
-#: access/transam/xlog.c:7045
+#: access/transam/xlog.c:7095
 #, c-format
 msgid "database system was not properly shut down; automatic recovery in progress"
 msgstr "el sistema de bases de datos no fue apagado apropiadamente; se está efectuando la recuperación automática"
 
-#: access/transam/xlog.c:7049
+#: access/transam/xlog.c:7099
 #, c-format
 msgid "crash recovery starts in timeline %u and has target timeline %u"
 msgstr "la recuperación comienza en el timeline %u y tiene un timeline de destino %u"
 
-#: access/transam/xlog.c:7096
+#: access/transam/xlog.c:7146
 #, c-format
 msgid "backup_label contains data inconsistent with control file"
 msgstr "backup_label contiene datos inconsistentes con el archivo de control"
 
-#: access/transam/xlog.c:7097
+#: access/transam/xlog.c:7147
 #, c-format
 msgid "This means that the backup is corrupted and you will have to use another backup for recovery."
 msgstr "Esto significa que el respaldo está corrupto y deberá usar otro respaldo para la recuperación."
 
-#: access/transam/xlog.c:7323
+#: access/transam/xlog.c:7373
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "redo comienza en %X/%X"
 
-#: access/transam/xlog.c:7548
+#: access/transam/xlog.c:7598
 #, c-format
 msgid "requested recovery stop point is before consistent recovery point"
 msgstr "el punto de detención de recuperación pedido es antes del punto de recuperación consistente"
 
-#: access/transam/xlog.c:7586
-#, fuzzy, c-format
-#| msgid "redo done at %X/%X"
+#: access/transam/xlog.c:7636
+#, c-format
 msgid "redo done at %X/%X system usage: %s"
-msgstr "redo listo en %X/%X"
+msgstr "redo listo en %X/%X utilización del sistema: %s"
 
-#: access/transam/xlog.c:7592
+#: access/transam/xlog.c:7642
 #, 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:7601
+#: access/transam/xlog.c:7651
 #, c-format
 msgid "redo is not required"
 msgstr "no se requiere redo"
 
-#: access/transam/xlog.c:7613
+#: access/transam/xlog.c:7663
 #, 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/xlog.c:7692 access/transam/xlog.c:7696
+#: access/transam/xlog.c:7747 access/transam/xlog.c:7751
 #, 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:7693
+#: access/transam/xlog.c:7748
 #, 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:7697
+#: access/transam/xlog.c:7752
 #, c-format
 msgid "Online backup started with pg_start_backup() must be ended with pg_stop_backup(), and all WAL up to that point must be available at recovery."
 msgstr "Un respaldo en línea iniciado con pg_start_backup() debe ser terminado con pg_stop_backup(), y todos los archivos WAL hasta ese punto deben estar disponibles durante la recuperación."
 
-#: access/transam/xlog.c:7700
+#: access/transam/xlog.c:7755
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "WAL termina antes del punto de recuperación consistente"
 
-#: access/transam/xlog.c:7735
+#: access/transam/xlog.c:7790
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "seleccionado nuevo ID de timeline: %u"
 
-#: access/transam/xlog.c:8178
+#: access/transam/xlog.c:8260
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "el estado de recuperación consistente fue alcanzado en %X/%X"
 
-#: access/transam/xlog.c:8387
+#: access/transam/xlog.c:8469
 #, c-format
 msgid "invalid primary checkpoint link in control file"
 msgstr "el enlace de punto de control primario en archivo de control no es válido"
 
-#: access/transam/xlog.c:8391
+#: access/transam/xlog.c:8473
 #, c-format
 msgid "invalid checkpoint link in backup_label file"
 msgstr "el enlace del punto de control en backup_label no es válido"
 
-#: access/transam/xlog.c:8409
+#: access/transam/xlog.c:8491
 #, c-format
 msgid "invalid primary checkpoint record"
 msgstr "el registro del punto de control primario no es válido"
 
-#: access/transam/xlog.c:8413
+#: access/transam/xlog.c:8495
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "el registro del punto de control no es válido"
 
-#: access/transam/xlog.c:8424
+#: access/transam/xlog.c:8506
 #, c-format
 msgid "invalid resource manager ID in primary checkpoint record"
 msgstr "el ID de gestor de recursos en el registro del punto de control primario no es válido"
 
-#: access/transam/xlog.c:8428
+#: access/transam/xlog.c:8510
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "el ID de gestor de recursos en el registro del punto de control no es válido"
 
-#: access/transam/xlog.c:8441
+#: access/transam/xlog.c:8523
 #, c-format
 msgid "invalid xl_info in primary checkpoint record"
 msgstr "xl_info en el registro del punto de control primario no es válido"
 
-#: access/transam/xlog.c:8445
+#: access/transam/xlog.c:8527
 #, c-format
 msgid "invalid xl_info in checkpoint record"
 msgstr "xl_info en el registro del punto de control no es válido"
 
-#: access/transam/xlog.c:8456
+#: access/transam/xlog.c:8538
 #, c-format
 msgid "invalid length of primary checkpoint record"
 msgstr "la longitud del registro del punto de control primario no es válida"
 
-#: access/transam/xlog.c:8460
+#: access/transam/xlog.c:8542
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "la longitud del registro de punto de control no es válida"
 
-#: access/transam/xlog.c:8641
+#: access/transam/xlog.c:8723
 #, c-format
 msgid "shutting down"
 msgstr "apagando"
 
 #. translator: the placeholders show checkpoint options
-#: access/transam/xlog.c:8680
+#: access/transam/xlog.c:8762
 #, c-format
 msgid "restartpoint starting:%s%s%s%s%s%s%s%s"
-msgstr ""
+msgstr "empezando restartpoint:%s%s%s%s%s%s%s%s"
 
 #. translator: the placeholders show checkpoint options
-#: access/transam/xlog.c:8692
+#: access/transam/xlog.c:8774
 #, c-format
 msgid "checkpoint starting:%s%s%s%s%s%s%s%s"
-msgstr ""
+msgstr "empezando checkpoint:%s%s%s%s%s%s%s%s"
 
-#: access/transam/xlog.c:8752
+#: access/transam/xlog.c:8834
 #, 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"
-msgstr ""
+msgstr "restartpoint completado: se escribió %d buffers (%.1f%%); %d archivo(s) de WAL añadido(s), %d eliminado(s), %d reciclado(s); escritura=%ld.%03d s, sincronización=%ld.%03d s, total=%ld.%03d s; archivos sincronizados=%d, más largo=%ld.%03d s, promedio=%ld.%03d s; distancia=%d kB, estimado=%d kB"
 
-#: access/transam/xlog.c:8772
+#: access/transam/xlog.c:8854
 #, 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"
-msgstr ""
+msgstr "checkpoint completado: se escribió %d buffers (%.1f%%); %d archivo(s) de WAL añadido(s), %d eliminado(s), %d reciclado(s); escritura=%ld.%03d s, sincronización=%ld.%03d s, total=%ld.%03d s; archivos sincronizados=%d, más largo=%ld.%03d s, promedio=%ld.%03d s; distancia=%d kB, estimado=%d kB"
 
-#: access/transam/xlog.c:9205
+#: access/transam/xlog.c:9287
 #, 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:9661
+#: access/transam/xlog.c:9806
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "restartpoint de recuperación en %X/%X"
 
-#: access/transam/xlog.c:9663
+#: access/transam/xlog.c:9808
 #, 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:9903
+#: access/transam/xlog.c:10054
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "punto de recuperación «%s» creado en %X/%X"
 
-#: access/transam/xlog.c:10048
+#: access/transam/xlog.c:10199
 #, c-format
 msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record"
 msgstr "ID de timeline previo %u inesperado (timeline actual %u) en el registro de punto de control"
 
-#: access/transam/xlog.c:10057
+#: access/transam/xlog.c:10208
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr "ID de timeline %u inesperado (después de %u) en el registro de punto de control"
 
-#: access/transam/xlog.c:10073
+#: access/transam/xlog.c:10224
 #, c-format
 msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
 msgstr "timeline ID %u inesperado en registro de checkpoint, antes de alcanzar el punto mínimo de recuperación %X/%X en el timeline %u"
 
-#: access/transam/xlog.c:10148
+#: access/transam/xlog.c:10299
 #, 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:10204 access/transam/xlog.c:10260
-#: access/transam/xlog.c:10283
+#: access/transam/xlog.c:10355 access/transam/xlog.c:10411
+#: access/transam/xlog.c:10441
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
 msgstr "ID de timeline %u inesperado (debería ser %u) en el registro de punto de control"
 
-#: access/transam/xlog.c:10632
+#: access/transam/xlog.c:10595
+#, 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/xlog.c:10810
 #, 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:10638
+#: access/transam/xlog.c:10816
 #, c-format
 msgid "could not fdatasync file \"%s\": %m"
 msgstr "no se pudo sincronizar (fdatasync) archivo «%s»: %m"
 
-#: access/transam/xlog.c:10749 access/transam/xlog.c:11278
+#: access/transam/xlog.c:10927 access/transam/xlog.c:11456
 #: access/transam/xlogfuncs.c:275 access/transam/xlogfuncs.c:302
 #: access/transam/xlogfuncs.c:341 access/transam/xlogfuncs.c:362
 #: access/transam/xlogfuncs.c:383
@@ -2964,199 +2893,196 @@ msgstr "no se pudo sincronizar (fdatasync) archivo «%s»: %m"
 msgid "WAL control functions cannot be executed during recovery."
 msgstr "Las funciones de control de WAL no pueden ejecutarse durante la recuperación."
 
-#: access/transam/xlog.c:10758 access/transam/xlog.c:11287
+#: access/transam/xlog.c:10936 access/transam/xlog.c:11465
 #, 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:10759 access/transam/xlog.c:11288
+#: access/transam/xlog.c:10937 access/transam/xlog.c:11466
 #: access/transam/xlogfuncs.c:308
 #, 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:10764
+#: access/transam/xlog.c:10942
 #, 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:10801 access/transam/xlog.c:11077
-#: access/transam/xlog.c:11115
+#: access/transam/xlog.c:10979 access/transam/xlog.c:11255
+#: access/transam/xlog.c:11293
 #, c-format
 msgid "a backup is already in progress"
 msgstr "ya hay un respaldo en curso"
 
-#: access/transam/xlog.c:10802
+#: access/transam/xlog.c:10980
 #, c-format
 msgid "Run pg_stop_backup() and try again."
 msgstr "Ejecute pg_stop_backup() e intente nuevamente."
 
-#: access/transam/xlog.c:10898
+#: access/transam/xlog.c:11076
 #, c-format
 msgid "WAL generated with full_page_writes=off was replayed since last restartpoint"
 msgstr "el WAL generado con full_page_writes=off fue restaurado desde el último restartpoint"
 
-#: access/transam/xlog.c:10900 access/transam/xlog.c:11483
-#, 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 master, and then try an online backup again."
+#: access/transam/xlog.c:11078 access/transam/xlog.c:11661
+#, c-format
 msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the primary, and then try an online backup again."
-msgstr "Esto significa que el respaldo que estaba siendo tomado en el standby está corrupto y no debería usarse. Active full_page_writes y ejecute CHECKPOINT en el maestro, luego trate de ejecutar un respaldo en línea nuevamente."
+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:10976 replication/basebackup.c:1433
+#: access/transam/xlog.c:11154 replication/basebackup.c:1433
 #: utils/adt/misc.c:345
 #, 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:11026 commands/tablespace.c:402
+#: access/transam/xlog.c:11204 commands/tablespace.c:402
 #: commands/tablespace.c:578 replication/basebackup.c:1448 utils/adt/misc.c:353
 #, c-format
 msgid "tablespaces are not supported on this platform"
 msgstr "tablespaces no están soportados en esta plataforma"
 
-#: access/transam/xlog.c:11078 access/transam/xlog.c:11116
+#: access/transam/xlog.c:11256 access/transam/xlog.c:11294
 #, c-format
 msgid "If you're sure there is no backup in progress, remove file \"%s\" and try again."
 msgstr "Si está seguro que no hay un respaldo en curso, elimine el archivo «%s» e intente nuevamente."
 
-#: access/transam/xlog.c:11303
+#: access/transam/xlog.c:11481
 #, c-format
 msgid "exclusive backup not in progress"
 msgstr "no hay un respaldo exclusivo en curso"
 
-#: access/transam/xlog.c:11330
+#: access/transam/xlog.c:11508
 #, c-format
 msgid "a backup is not in progress"
 msgstr "no hay un respaldo en curso"
 
-#: access/transam/xlog.c:11416 access/transam/xlog.c:11429
-#: access/transam/xlog.c:11818 access/transam/xlog.c:11824
-#: access/transam/xlog.c:11872 access/transam/xlog.c:11952
-#: access/transam/xlog.c:11976 access/transam/xlogfuncs.c:733
+#: access/transam/xlog.c:11594 access/transam/xlog.c:11607
+#: access/transam/xlog.c:11996 access/transam/xlog.c:12002
+#: access/transam/xlog.c:12050 access/transam/xlog.c:12130
+#: access/transam/xlog.c:12154 access/transam/xlogfuncs.c:733
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "datos no válidos en archivo «%s»"
 
-#: access/transam/xlog.c:11433 replication/basebackup.c:1281
+#: access/transam/xlog.c:11611 replication/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:11434 replication/basebackup.c:1282
+#: access/transam/xlog.c:11612 replication/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:11481
+#: access/transam/xlog.c:11659
 #, c-format
 msgid "WAL generated with full_page_writes=off was replayed during online backup"
 msgstr "el WAL generado con full_page_writes=off fue restaurado durante el respaldo en línea"
 
-#: access/transam/xlog.c:11601
+#: access/transam/xlog.c:11779
 #, 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:11613
+#: access/transam/xlog.c:11791
 #, 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:11615
+#: access/transam/xlog.c:11793
 #, c-format
 msgid "Check that your archive_command is executing properly.  You can safely cancel this backup, but the database backup will not be usable without all the WAL segments."
 msgstr "Verifique que su archive_command se esté ejecutando con normalidad.  Puede cancelar este respaldo con confianza, pero el respaldo de la base de datos no será utilizable a menos que disponga de todos los segmentos de WAL."
 
-#: access/transam/xlog.c:11622
+#: access/transam/xlog.c:11800
 #, c-format
 msgid "all required WAL segments have been archived"
 msgstr "todos los segmentos de WAL requeridos han sido archivados"
 
-#: access/transam/xlog.c:11626
+#: access/transam/xlog.c:11804
 #, 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:11679
+#: access/transam/xlog.c:11857
 #, c-format
 msgid "aborting backup due to backend exiting before pg_stop_backup was called"
 msgstr "abortando el backup porque el proceso servidor terminó antes de que pg_stop_backup fuera invocada"
 
-#: access/transam/xlog.c:11873
+#: access/transam/xlog.c:12051
 #, c-format
 msgid "Timeline ID parsed is %u, but expected %u."
 msgstr "El ID de timeline interpretado es %u, pero se esperaba %u."
 
 #. translator: %s is a WAL record description
-#: access/transam/xlog.c:12001
+#: access/transam/xlog.c:12179
 #, c-format
 msgid "WAL redo at %X/%X for %s"
 msgstr "redo WAL en %X/%X para %s"
 
-#: access/transam/xlog.c:12049
+#: access/transam/xlog.c:12227
 #, c-format
 msgid "online backup mode was not canceled"
 msgstr "el modo de respaldo en línea no fue cancelado"
 
-#: access/transam/xlog.c:12050
+#: access/transam/xlog.c:12228
 #, c-format
 msgid "File \"%s\" could not be renamed to \"%s\": %m."
 msgstr "El archivo «%s» no se pudo renombrar a «%s»: %m."
 
-#: access/transam/xlog.c:12059 access/transam/xlog.c:12071
-#: access/transam/xlog.c:12081
+#: access/transam/xlog.c:12237 access/transam/xlog.c:12249
+#: access/transam/xlog.c:12259
 #, c-format
 msgid "online backup mode canceled"
 msgstr "el modo de respaldo en línea fue cancelado"
 
-#: access/transam/xlog.c:12072
+#: access/transam/xlog.c:12250
 #, c-format
 msgid "Files \"%s\" and \"%s\" were renamed to \"%s\" and \"%s\", respectively."
 msgstr "Los archivos «%s» y «%s» fueron renombrados a «%s» y «%s», respectivamente."
 
-#: access/transam/xlog.c:12082
+#: access/transam/xlog.c:12260
 #, c-format
 msgid "File \"%s\" was renamed to \"%s\", but file \"%s\" could not be renamed to \"%s\": %m."
 msgstr "El archivo «%s» fue renombrado a «%s», pero el archivo «%s» no pudo ser renombrado a «%s»: %m."
 
 # XXX why talk about "log segment" instead of "file"?
-#: access/transam/xlog.c:12215 access/transam/xlogutils.c:967
+#: access/transam/xlog.c:12393 access/transam/xlogutils.c:967
 #, c-format
 msgid "could not read from log segment %s, offset %u: %m"
 msgstr "no se pudo leer del archivo de segmento %s, posición %u: %m"
 
 # XXX why talk about "log segment" instead of "file"?
-#: access/transam/xlog.c:12221 access/transam/xlogutils.c:974
+#: access/transam/xlog.c:12399 access/transam/xlogutils.c:974
 #, c-format
 msgid "could not read from log segment %s, offset %u: read %d of %zu"
 msgstr "no se pudo leer del archivo de segmento %s, posición %u: leídos %d de %zu"
 
-#: access/transam/xlog.c:12766
-#, fuzzy, c-format
-#| msgid "WAL receiver process shutdown requested"
+#: access/transam/xlog.c:12944
+#, c-format
 msgid "WAL receiver process shutdown requested"
-msgstr "se recibió una petición de apagado del proceso receptor de wal"
+msgstr "se recibió una petición de apagado para el proceso receptor de wal"
 
-#: access/transam/xlog.c:12861
+#: access/transam/xlog.c:13039
 #, c-format
 msgid "received promote request"
 msgstr "se recibió petición de promoción"
 
-#: access/transam/xlog.c:12874
+#: access/transam/xlog.c:13052
 #, c-format
 msgid "promote trigger file found: %s"
 msgstr "se encontró el archivo disparador de promoción: %s"
 
-#: access/transam/xlog.c:12882
+#: access/transam/xlog.c:13060
 #, c-format
 msgid "could not stat promote trigger file \"%s\": %m"
 msgstr "no se pudo hacer stat al archivo disparador de promoción «%s»: %m"
 
 #: access/transam/xlogarchive.c:205
-#, fuzzy, c-format
-#| msgid "archive file \"%s\" has wrong size: %lu instead of %lu"
+#, c-format
 msgid "archive file \"%s\" has wrong size: %lld instead of %lld"
-msgstr "el archivo «%s» tiene tamaño erróneo: %lu en lugar de %lu"
+msgstr "el archivo «%s» tiene tamaño erróneo: %lld en lugar de %lld"
 
 #: access/transam/xlogarchive.c:214
 #, c-format
@@ -3166,7 +3092,7 @@ msgstr "se ha restaurado el archivo «%s» desde el área de archivado"
 #: access/transam/xlogarchive.c:228
 #, c-format
 msgid "restore_command returned a zero exit status, but stat() failed."
-msgstr ""
+msgstr "restore_command retornó un estado de salida cero, pero stat() falló."
 
 #: access/transam/xlogarchive.c:260
 #, c-format
@@ -3207,35 +3133,35 @@ msgid "Did you mean to use pg_stop_backup('f')?"
 msgstr "¿Quiso usar pg_stop_backup('f')?"
 
 #: access/transam/xlogfuncs.c:185 commands/event_trigger.c:1311
-#: commands/event_trigger.c:1869 commands/extension.c:1944
-#: commands/extension.c:2052 commands/extension.c:2337 commands/prepare.c:712
-#: executor/execExpr.c:2507 executor/execSRF.c:738 executor/functions.c:1057
+#: commands/event_trigger.c:1869 commands/extension.c:1945
+#: commands/extension.c:2053 commands/extension.c:2338 commands/prepare.c:713
+#: executor/execExpr.c:2507 executor/execSRF.c:738 executor/functions.c:1058
 #: foreign/foreign.c:520 libpq/hba.c:2718 replication/logical/launcher.c:937
 #: replication/logical/logicalfuncs.c:157 replication/logical/origin.c:1494
 #: replication/slotfuncs.c:255 replication/walsender.c:3291
 #: storage/ipc/shmem.c:554 utils/adt/datetime.c:4812 utils/adt/genfile.c:507
-#: utils/adt/genfile.c:590 utils/adt/jsonfuncs.c:1933
-#: utils/adt/jsonfuncs.c:2045 utils/adt/jsonfuncs.c:2233
-#: utils/adt/jsonfuncs.c:2342 utils/adt/jsonfuncs.c:3803
+#: utils/adt/genfile.c:590 utils/adt/jsonfuncs.c:1935
+#: utils/adt/jsonfuncs.c:2047 utils/adt/jsonfuncs.c:2235
+#: utils/adt/jsonfuncs.c:2344 utils/adt/jsonfuncs.c:3805
 #: utils/adt/mcxtfuncs.c:132 utils/adt/misc.c:218 utils/adt/pgstatfuncs.c:477
 #: utils/adt/pgstatfuncs.c:587 utils/adt/pgstatfuncs.c:1887
-#: utils/adt/varlena.c:4832 utils/fmgr/funcapi.c:74 utils/misc/guc.c:9993
-#: utils/mmgr/portalmem.c:1141
+#: utils/adt/varlena.c:4825 utils/fmgr/funcapi.c:74 utils/misc/guc.c:9994
+#: utils/mmgr/portalmem.c:1145
 #, 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"
 
 #: access/transam/xlogfuncs.c:189 commands/event_trigger.c:1315
-#: commands/event_trigger.c:1873 commands/extension.c:1948
-#: commands/extension.c:2056 commands/extension.c:2341 commands/prepare.c:716
+#: commands/event_trigger.c:1873 commands/extension.c:1949
+#: commands/extension.c:2057 commands/extension.c:2342 commands/prepare.c:717
 #: foreign/foreign.c:525 libpq/hba.c:2722 replication/logical/launcher.c:941
 #: replication/logical/logicalfuncs.c:161 replication/logical/origin.c:1498
 #: replication/slotfuncs.c:259 replication/walsender.c:3295
 #: storage/ipc/shmem.c:558 utils/adt/datetime.c:4816 utils/adt/genfile.c:511
 #: utils/adt/genfile.c:594 utils/adt/mcxtfuncs.c:136 utils/adt/misc.c:222
 #: utils/adt/pgstatfuncs.c:481 utils/adt/pgstatfuncs.c:591
-#: utils/adt/pgstatfuncs.c:1891 utils/adt/varlena.c:4836 utils/misc/guc.c:9997
-#: utils/misc/pg_config.c:43 utils/mmgr/portalmem.c:1145
+#: utils/adt/pgstatfuncs.c:1891 utils/adt/varlena.c:4829 utils/misc/guc.c:9998
+#: utils/misc/pg_config.c:43 utils/mmgr/portalmem.c:1149
 #, 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"
@@ -3285,8 +3211,7 @@ msgid "standby promotion is ongoing"
 msgstr "la promoción del standby está en curso"
 
 #: access/transam/xlogfuncs.c:538 access/transam/xlogfuncs.c:568
-#, fuzzy, c-format
-#| msgid "%s cannot be executed from a function"
+#, 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."
 
@@ -3295,151 +3220,149 @@ msgstr "%s no puede ser ejecutado después que una promoción es solicitada."
 msgid "\"wait_seconds\" must not be negative or zero"
 msgstr "«wait_seconds» no puede ser negativo o cero"
 
-#: access/transam/xlogfuncs.c:789 storage/ipc/signalfuncs.c:281
+#: access/transam/xlogfuncs.c:789 storage/ipc/signalfuncs.c:247
 #, c-format
 msgid "failed to send signal to postmaster: %m"
 msgstr "no se pudo enviar señal a postmaster: %m"
 
 #: access/transam/xlogfuncs.c:825
-#, fuzzy, c-format
-#| msgid "server did not promote within %d seconds"
+#, c-format
 msgid "server did not promote within %d second"
 msgid_plural "server did not promote within %d seconds"
-msgstr[0] "el servidor no promovió en %d segundos"
-msgstr[1] "el servidor no promovió en %d segundos"
+msgstr[0] "el servidor no se promovió en %d segundo"
+msgstr[1] "el servidor no se promovió en %d segundos"
 
-#: access/transam/xlogreader.c:349
+#: access/transam/xlogreader.c:354
 #, c-format
 msgid "invalid record offset at %X/%X"
 msgstr "posición de registro no válida en %X/%X"
 
-#: access/transam/xlogreader.c:357
+#: access/transam/xlogreader.c:362
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "contrecord solicitado por %X/%X"
 
-#: access/transam/xlogreader.c:398 access/transam/xlogreader.c:695
+#: access/transam/xlogreader.c:403 access/transam/xlogreader.c:733
 #, c-format
 msgid "invalid record length at %X/%X: wanted %u, got %u"
 msgstr "largo de registro no válido en %X/%X: se esperaba %u, se obtuvo %u"
 
-#: access/transam/xlogreader.c:422
+#: access/transam/xlogreader.c:429
 #, 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:453
+#: access/transam/xlogreader.c:477
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "no hay bandera de contrecord en %X/%X"
 
-#: access/transam/xlogreader.c:466
-#, fuzzy, c-format
-#| msgid "invalid contrecord length %u at %X/%X"
+#: access/transam/xlogreader.c:490
+#, c-format
 msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "largo de contrecord %u no válido en %X/%X"
+msgstr "largo de contrecord %u no válido (se esperaba %lld) en %X/%X"
 
-#: access/transam/xlogreader.c:703
+#: access/transam/xlogreader.c:741
 #, 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:716 access/transam/xlogreader.c:732
+#: access/transam/xlogreader.c:754 access/transam/xlogreader.c:770
 #, 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:768
+#: access/transam/xlogreader.c:806
 #, 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:805
+#: access/transam/xlogreader.c:843
 #, c-format
 msgid "invalid magic number %04X in log segment %s, offset %u"
 msgstr "número mágico %04X no válido en archivo %s, posición %u"
 
-#: access/transam/xlogreader.c:819 access/transam/xlogreader.c:860
+#: access/transam/xlogreader.c:857 access/transam/xlogreader.c:898
 #, c-format
 msgid "invalid info bits %04X in log segment %s, offset %u"
 msgstr "info bits %04X no válidos en archivo %s, posición %u"
 
-#: access/transam/xlogreader.c:834
+#: access/transam/xlogreader.c:872
 #, 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:842
+#: access/transam/xlogreader.c:880
 #, 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:848
+#: access/transam/xlogreader.c:886
 #, 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:879
+#: access/transam/xlogreader.c:917
 #, c-format
 msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
 msgstr "pageaddr %X/%X inesperado en archivo %s, posición %u"
 
-#: access/transam/xlogreader.c:904
+#: access/transam/xlogreader.c:942
 #, c-format
 msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
 msgstr "ID de timeline %u fuera de secuencia (después de %u) en archivo %s, posición %u"
 
-#: access/transam/xlogreader.c:1249
+#: access/transam/xlogreader.c:1287
 #, 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:1271
+#: access/transam/xlogreader.c:1309
 #, 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:1278
+#: access/transam/xlogreader.c:1316
 #, 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:1314
+#: access/transam/xlogreader.c:1352
 #, 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:1330
+#: access/transam/xlogreader.c:1368
 #, 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:1345
+#: access/transam/xlogreader.c:1383
 #, c-format
 msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
 msgstr "BKPIMAGE_IS_COMPRESSED definido, pero largo de imagen de bloque es %u en %X/%X"
 
-#: access/transam/xlogreader.c:1360
+#: access/transam/xlogreader.c:1398
 #, c-format
 msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
 msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_IS_COMPRESSED está definido, pero largo de imagen de bloque es %u en %X/%X"
 
-#: access/transam/xlogreader.c:1376
+#: access/transam/xlogreader.c:1414
 #, 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:1388
+#: access/transam/xlogreader.c:1426
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "block_id %u no válido en %X/%X"
 
-#: access/transam/xlogreader.c:1475
+#: access/transam/xlogreader.c:1513
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "registro con largo no válido en %X/%X"
 
-#: access/transam/xlogreader.c:1564
+#: access/transam/xlogreader.c:1602
 #, c-format
 msgid "invalid compressed image at %X/%X, block %d"
 msgstr "imagen comprimida no válida en %X/%X, bloque %d"
@@ -3516,10 +3439,9 @@ msgid "not all privileges could be revoked for \"%s\""
 msgstr "no todos los privilegios pudieron ser revocados para «%s»"
 
 #: catalog/aclchk.c:379
-#, fuzzy, c-format
-#| msgid "must be superuser"
+#, c-format
 msgid "grantor must be current user"
-msgstr "debe ser superusuario"
+msgstr "el cedente (grantor) debe ser el usuario actual"
 
 #: catalog/aclchk.c:446 catalog/aclchk.c:989
 #, c-format
@@ -3598,7 +3520,7 @@ msgstr "los privilegios de columna son sólo válidos para relaciones"
 
 #: catalog/aclchk.c:697 catalog/aclchk.c:4164 catalog/aclchk.c:4985
 #: catalog/objectaddress.c:1060 catalog/pg_largeobject.c:116
-#: storage/large_object/inv_api.c:285
+#: storage/large_object/inv_api.c:287
 #, c-format
 msgid "large object %u does not exist"
 msgstr "no existe el objeto grande %u"
@@ -3615,22 +3537,22 @@ msgstr "no existe el objeto grande %u"
 #: commands/dbcommands.c:229 commands/dbcommands.c:238
 #: commands/dbcommands.c:260 commands/dbcommands.c:1502
 #: commands/dbcommands.c:1511 commands/dbcommands.c:1520
-#: commands/dbcommands.c:1529 commands/extension.c:1735
-#: commands/extension.c:1745 commands/extension.c:1755
-#: commands/extension.c:3055 commands/foreigncmds.c:539
-#: commands/foreigncmds.c:548 commands/functioncmds.c:604
-#: commands/functioncmds.c:770 commands/functioncmds.c:779
-#: commands/functioncmds.c:788 commands/functioncmds.c:797
-#: commands/functioncmds.c:2094 commands/functioncmds.c:2102
-#: commands/publicationcmds.c:90 commands/publicationcmds.c:133
+#: commands/dbcommands.c:1529 commands/extension.c:1736
+#: commands/extension.c:1746 commands/extension.c:1756
+#: commands/extension.c:3056 commands/foreigncmds.c:539
+#: commands/foreigncmds.c:548 commands/functioncmds.c:605
+#: commands/functioncmds.c:771 commands/functioncmds.c:780
+#: commands/functioncmds.c:789 commands/functioncmds.c:798
+#: commands/functioncmds.c:2095 commands/functioncmds.c:2103
+#: commands/publicationcmds.c:87 commands/publicationcmds.c:130
 #: commands/sequence.c:1266 commands/sequence.c:1276 commands/sequence.c:1286
 #: commands/sequence.c:1296 commands/sequence.c:1306 commands/sequence.c:1316
 #: commands/sequence.c:1326 commands/sequence.c:1336 commands/sequence.c:1346
 #: commands/subscriptioncmds.c:124 commands/subscriptioncmds.c:134
 #: commands/subscriptioncmds.c:144 commands/subscriptioncmds.c:154
-#: commands/subscriptioncmds.c:168 commands/subscriptioncmds.c:179
-#: commands/subscriptioncmds.c:193 commands/subscriptioncmds.c:203
-#: commands/subscriptioncmds.c:213 commands/tablecmds.c:7500
+#: commands/subscriptioncmds.c:170 commands/subscriptioncmds.c:181
+#: commands/subscriptioncmds.c:195 commands/subscriptioncmds.c:205
+#: commands/subscriptioncmds.c:215 commands/tablecmds.c:7541
 #: commands/typecmds.c:335 commands/typecmds.c:1416 commands/typecmds.c:1425
 #: commands/typecmds.c:1433 commands/typecmds.c:1441 commands/typecmds.c:1449
 #: commands/typecmds.c:1457 commands/user.c:133 commands/user.c:147
@@ -3641,7 +3563,7 @@ msgstr "no existe el objeto grande %u"
 #: commands/user.c:590 commands/user.c:598 commands/user.c:606
 #: commands/user.c:614 commands/user.c:622 commands/user.c:630
 #: commands/user.c:638 commands/user.c:647 commands/user.c:655
-#: commands/user.c:663 parser/parse_utilcmd.c:407
+#: commands/user.c:663 parser/parse_utilcmd.c:397
 #: replication/pgoutput/pgoutput.c:189 replication/pgoutput/pgoutput.c:210
 #: replication/pgoutput/pgoutput.c:224 replication/pgoutput/pgoutput.c:234
 #: replication/pgoutput/pgoutput.c:244 replication/walsender.c:882
@@ -3660,28 +3582,28 @@ msgstr "los privilegios por omisión no pueden definirse para columnas"
 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:1544 catalog/catalog.c:553 catalog/objectaddress.c:1522
+#: catalog/aclchk.c:1544 catalog/catalog.c:557 catalog/objectaddress.c:1522
 #: commands/analyze.c:390 commands/copy.c:741 commands/sequence.c:1701
-#: commands/tablecmds.c:6976 commands/tablecmds.c:7119
-#: commands/tablecmds.c:7169 commands/tablecmds.c:7243
-#: commands/tablecmds.c:7313 commands/tablecmds.c:7425
-#: commands/tablecmds.c:7519 commands/tablecmds.c:7578
-#: commands/tablecmds.c:7667 commands/tablecmds.c:7696
-#: commands/tablecmds.c:7851 commands/tablecmds.c:7933
-#: commands/tablecmds.c:8089 commands/tablecmds.c:8207
-#: commands/tablecmds.c:11556 commands/tablecmds.c:11738
-#: commands/tablecmds.c:11898 commands/tablecmds.c:13041
-#: commands/tablecmds.c:15602 commands/trigger.c:924 parser/analyze.c:2415
-#: parser/parse_relation.c:714 parser/parse_target.c:1064
-#: parser/parse_type.c:144 parser/parse_utilcmd.c:3453
-#: parser/parse_utilcmd.c:3488 parser/parse_utilcmd.c:3530 utils/adt/acl.c:2845
-#: utils/adt/ruleutils.c:2708
+#: commands/tablecmds.c:7004 commands/tablecmds.c:7160
+#: commands/tablecmds.c:7210 commands/tablecmds.c:7284
+#: commands/tablecmds.c:7354 commands/tablecmds.c:7466
+#: commands/tablecmds.c:7560 commands/tablecmds.c:7619
+#: commands/tablecmds.c:7708 commands/tablecmds.c:7737
+#: commands/tablecmds.c:7892 commands/tablecmds.c:7974
+#: commands/tablecmds.c:8130 commands/tablecmds.c:8248
+#: commands/tablecmds.c:11597 commands/tablecmds.c:11778
+#: commands/tablecmds.c:11938 commands/tablecmds.c:13081
+#: commands/tablecmds.c:15646 commands/trigger.c:942 parser/analyze.c:2428
+#: parser/parse_relation.c:714 parser/parse_target.c:1063
+#: parser/parse_type.c:144 parser/parse_utilcmd.c:3421
+#: parser/parse_utilcmd.c:3456 parser/parse_utilcmd.c:3498 utils/adt/acl.c:2845
+#: utils/adt/ruleutils.c:2712
 #, 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:1807 catalog/objectaddress.c:1362 commands/sequence.c:1139
-#: commands/tablecmds.c:249 commands/tablecmds.c:16466 utils/adt/acl.c:2053
+#: commands/tablecmds.c:249 commands/tablecmds.c:16510 utils/adt/acl.c:2053
 #: utils/adt/acl.c:2083 utils/adt/acl.c:2115 utils/adt/acl.c:2147
 #: utils/adt/acl.c:2175 utils/adt/acl.c:2205
 #, c-format
@@ -4096,7 +4018,7 @@ msgstr "no existe la función con OID %u"
 msgid "language with OID %u does not exist"
 msgstr "no existe el lenguaje con OID %u"
 
-#: catalog/aclchk.c:4249 catalog/aclchk.c:5012 commands/collationcmds.c:517
+#: catalog/aclchk.c:4249 catalog/aclchk.c:5012 commands/collationcmds.c:536
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "no existe el esquema con OID %u"
@@ -4152,7 +4074,7 @@ msgstr "no existe la configuración de búsqueda en texto con OID %u"
 msgid "event trigger with OID %u does not exist"
 msgstr "no existe el disparador por eventos con OID %u"
 
-#: catalog/aclchk.c:5280 commands/collationcmds.c:368
+#: catalog/aclchk.c:5280 commands/collationcmds.c:387
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "no existe el ordenamiento (collation) con OID %u"
@@ -4167,12 +4089,12 @@ msgstr "no existe la conversión con OID %u"
 msgid "extension with OID %u does not exist"
 msgstr "no existe la extensión con OID %u"
 
-#: catalog/aclchk.c:5374 commands/publicationcmds.c:771
+#: catalog/aclchk.c:5374 commands/publicationcmds.c:818
 #, c-format
 msgid "publication with OID %u does not exist"
 msgstr "no existe la publicación con OID %u"
 
-#: catalog/aclchk.c:5400 commands/subscriptioncmds.c:1459
+#: catalog/aclchk.c:5400 commands/subscriptioncmds.c:1463
 #, c-format
 msgid "subscription with OID %u does not exist"
 msgstr "no existe la suscripción con OID %u"
@@ -4183,42 +4105,45 @@ msgid "statistics object with OID %u does not exist"
 msgstr "no existe el objeto de estadísticas con OID %u"
 
 #: catalog/catalog.c:378
-#, fuzzy, c-format
-#| msgid "while inserting index tuple (%u,%u) in relation \"%s\""
-msgid "still finding an unused OID within relation \"%s\""
-msgstr "mientras se insertaba la tupla de índice (%u,%u) en la relación «%s»"
+#, 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:380
 #, c-format
-msgid "OID candidates were checked \"%llu\"  times, but no unused OID is yet found."
-msgstr ""
+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:403
+#: catalog/catalog.c:405
 #, c-format
-msgid "new OID has been assigned in relation \"%s\" after \"%llu\" retries"
-msgstr ""
+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:532
+#: catalog/catalog.c:536
 #, c-format
 msgid "must be superuser to call pg_nextoid()"
 msgstr "debe ser superusuario para invocar pg_nextoid()"
 
-#: catalog/catalog.c:540
+#: catalog/catalog.c:544
 #, 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:545 parser/parse_utilcmd.c:2276
+#: catalog/catalog.c:549 parser/parse_utilcmd.c:2266
 #, c-format
 msgid "index \"%s\" does not belong to table \"%s\""
 msgstr "el índice «%s» no pertenece a la tabla «%s»"
 
-#: catalog/catalog.c:562
+#: catalog/catalog.c:566
 #, c-format
 msgid "column \"%s\" is not of type oid"
 msgstr "la columna «%s» no es de tipo oid"
 
-#: catalog/catalog.c:569
+#: catalog/catalog.c:573
 #, c-format
 msgid "index \"%s\" is not the index for column \"%s\""
 msgstr "«el índice %s» no es el índice para la columna «%s»"
@@ -4233,22 +4158,22 @@ msgstr "no se puede eliminar %s porque %s lo requiere"
 msgid "You can drop %s instead."
 msgstr "Puede eliminar %s en su lugar."
 
-#: catalog/dependency.c:931 catalog/pg_shdepend.c:696
+#: catalog/dependency.c:931 catalog/pg_shdepend.c:697
 #, 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:1135 catalog/dependency.c:1144
+#: catalog/dependency.c:1141 catalog/dependency.c:1150
 #, c-format
 msgid "%s depends on %s"
 msgstr "%s depende de %s"
 
-#: catalog/dependency.c:1156 catalog/dependency.c:1165
+#: catalog/dependency.c:1165 catalog/dependency.c:1174
 #, c-format
 msgid "drop cascades to %s"
 msgstr "eliminando además %s"
 
-#: catalog/dependency.c:1173 catalog/pg_shdepend.c:825
+#: catalog/dependency.c:1182 catalog/pg_shdepend.c:826
 #, c-format
 msgid ""
 "\n"
@@ -4263,44 +4188,44 @@ msgstr[1] ""
 "\n"
 "y otros %d objetos (vea el registro del servidor para obtener la lista)"
 
-#: catalog/dependency.c:1185
+#: catalog/dependency.c:1194
 #, 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:1187 catalog/dependency.c:1188
-#: catalog/dependency.c:1194 catalog/dependency.c:1195
-#: catalog/dependency.c:1206 catalog/dependency.c:1207
-#: commands/tablecmds.c:1298 commands/tablecmds.c:13659
-#: commands/tablespace.c:481 commands/user.c:1095 commands/view.c:495
+#: catalog/dependency.c:1196 catalog/dependency.c:1197
+#: catalog/dependency.c:1203 catalog/dependency.c:1204
+#: catalog/dependency.c:1215 catalog/dependency.c:1216
+#: commands/tablecmds.c:1297 commands/tablecmds.c:13699
+#: commands/tablespace.c:481 commands/user.c:1095 commands/view.c:492
 #: libpq/auth.c:338 replication/syncrep.c:1043 storage/lmgr/deadlock.c:1152
 #: storage/lmgr/proc.c:1433 utils/adt/acl.c:5250 utils/adt/jsonfuncs.c:618
-#: utils/adt/jsonfuncs.c:624 utils/misc/guc.c:7114 utils/misc/guc.c:7150
-#: utils/misc/guc.c:7220 utils/misc/guc.c:11400 utils/misc/guc.c:11434
-#: utils/misc/guc.c:11468 utils/misc/guc.c:11511 utils/misc/guc.c:11553
+#: utils/adt/jsonfuncs.c:624 utils/misc/guc.c:7115 utils/misc/guc.c:7151
+#: utils/misc/guc.c:7221 utils/misc/guc.c:11401 utils/misc/guc.c:11435
+#: utils/misc/guc.c:11469 utils/misc/guc.c:11512 utils/misc/guc.c:11554
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: catalog/dependency.c:1189 catalog/dependency.c:1196
+#: catalog/dependency.c:1198 catalog/dependency.c:1205
 #, 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:1193
+#: catalog/dependency.c:1202
 #, c-format
 msgid "cannot drop desired object(s) because other objects depend on them"
 msgstr "no se puede eliminar el o los objetos deseados porque otros objetos dependen de ellos"
 
 #. translator: %d always has a value larger than 1
-#: catalog/dependency.c:1202
+#: catalog/dependency.c:1211
 #, 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:1863
+#: catalog/dependency.c:1875
 #, c-format
 msgid "constant of the type %s cannot be used here"
 msgstr "no se puede usar una constante de tipo %s aquí"
@@ -4315,13 +4240,13 @@ msgstr "se ha denegado el permiso para crear «%s.%s»"
 msgid "System catalog modifications are currently disallowed."
 msgstr "Las modificaciones al catálogo del sistema están actualmente deshabilitadas."
 
-#: catalog/heap.c:511 commands/tablecmds.c:2335 commands/tablecmds.c:2972
-#: commands/tablecmds.c:6567
+#: catalog/heap.c:511 commands/tablecmds.c:2290 commands/tablecmds.c:2927
+#: commands/tablecmds.c:6595
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "las tablas pueden tener a lo más %d columnas"
 
-#: catalog/heap.c:529 commands/tablecmds.c:6866
+#: catalog/heap.c:529 commands/tablecmds.c:6894
 #, 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"
@@ -4353,223 +4278,222 @@ msgstr "un tipo compuesto %s no puede ser hecho miembro de sí mismo"
 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:717 commands/createas.c:203 commands/createas.c:506
+#: catalog/heap.c:717 commands/createas.c:203 commands/createas.c:500
 #, 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:1199 catalog/index.c:870 commands/createas.c:411
-#: commands/tablecmds.c:3853
+#: catalog/heap.c:1202 catalog/index.c:871 commands/createas.c:405
+#: commands/tablecmds.c:3832
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "la relación «%s» ya existe"
 
-#: catalog/heap.c:1215 catalog/pg_type.c:435 catalog/pg_type.c:773
-#: catalog/pg_type.c:920 commands/typecmds.c:249 commands/typecmds.c:261
+#: catalog/heap.c:1218 catalog/pg_type.c:436 catalog/pg_type.c:781
+#: catalog/pg_type.c:928 commands/typecmds.c:249 commands/typecmds.c:261
 #: commands/typecmds.c:757 commands/typecmds.c:1172 commands/typecmds.c:1398
-#: commands/typecmds.c:1590 commands/typecmds.c:2563
+#: commands/typecmds.c:1590 commands/typecmds.c:2562
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "ya existe un tipo «%s»"
 
-#: catalog/heap.c:1216
+#: catalog/heap.c:1219
 #, 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:1245
+#: catalog/heap.c:1248
 #, 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:2450
+#: catalog/heap.c:2461
 #, 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:2722
+#: catalog/heap.c:2733
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "la restricción «check» «%s» ya existe"
 
-#: catalog/heap.c:2892 catalog/index.c:884 catalog/pg_constraint.c:670
-#: commands/tablecmds.c:8581
+#: catalog/heap.c:2903 catalog/index.c:885 catalog/pg_constraint.c:670
+#: commands/tablecmds.c:8622
 #, 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:2899
+#: catalog/heap.c:2910
 #, 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:2910
+#: catalog/heap.c:2921
 #, 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:2920
+#: catalog/heap.c:2931
 #, 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:2925
+#: catalog/heap.c:2936
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "mezclando la restricción «%s» con la definición heredada"
 
-#: catalog/heap.c:3030
+#: catalog/heap.c:3041
 #, 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:3032
+#: catalog/heap.c:3043
 #, 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:3038
-#, fuzzy, c-format
-#| msgid "cannot use subquery in column generation expression"
+#: catalog/heap.c:3049
+#, c-format
 msgid "cannot use whole-row variable in column generation expression"
-msgstr "no se puede usar una subconsulta en una expresión de generación de columna"
+msgstr "no se puede usar una variable de fila completa (whole-row) en una expresión de generación de columna"
 
-#: catalog/heap.c:3039
+#: catalog/heap.c:3050
 #, c-format
 msgid "This would cause the generated column to depend on its own value."
-msgstr ""
+msgstr "Esto causaría que la columna generada dependa de su propio valor."
 
-#: catalog/heap.c:3092
+#: catalog/heap.c:3103
 #, c-format
 msgid "generation expression is not immutable"
 msgstr "la expresión de generación no es inmutable"
 
-#: catalog/heap.c:3120 rewrite/rewriteHandler.c:1245
+#: catalog/heap.c:3131 rewrite/rewriteHandler.c:1268
 #, 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:3125 commands/prepare.c:367 parser/analyze.c:2639
-#: parser/parse_target.c:595 parser/parse_target.c:883
-#: parser/parse_target.c:893 rewrite/rewriteHandler.c:1250
+#: catalog/heap.c:3136 commands/prepare.c:368 parser/analyze.c:2652
+#: parser/parse_target.c:594 parser/parse_target.c:882
+#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1273
 #, 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:3172
+#: catalog/heap.c:3183
 #, 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:3470
+#: catalog/heap.c:3481
 #, 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:3471
+#: catalog/heap.c:3482
 #, 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:3476
+#: catalog/heap.c:3487
 #, 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:3477
+#: catalog/heap.c:3488
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "La tabla «%s» hace referencia a «%s»."
 
-#: catalog/heap.c:3479
+#: catalog/heap.c:3490
 #, 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:221 parser/parse_utilcmd.c:2182
+#: catalog/index.c:222 parser/parse_utilcmd.c:2172
 #, 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:239
+#: catalog/index.c:240
 #, c-format
 msgid "primary keys cannot be expressions"
 msgstr "las llaves primarias no pueden ser expresiones"
 
-#: catalog/index.c:256
+#: catalog/index.c:257
 #, 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:769 catalog/index.c:1905
+#: catalog/index.c:770 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:809
+#: catalog/index.c:810
 #, 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:824
+#: catalog/index.c:825
 #, 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:833 catalog/index.c:1284
+#: catalog/index.c:834 catalog/index.c:1285
 #, 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:842
+#: catalog/index.c:843
 #, c-format
 msgid "shared indexes cannot be created after initdb"
 msgstr "no se pueden crear índices compartidos después de initdb"
 
-#: catalog/index.c:862 commands/createas.c:417 commands/sequence.c:154
-#: parser/parse_utilcmd.c:211
+#: catalog/index.c:863 commands/createas.c:411 commands/sequence.c:154
+#: parser/parse_utilcmd.c:201
 #, c-format
 msgid "relation \"%s\" already exists, skipping"
 msgstr "la relación «%s» ya existe, omitiendo"
 
-#: catalog/index.c:912
+#: catalog/index.c:913
 #, 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:2191
+#: catalog/index.c:2201
 #, 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:3576
+#: catalog/index.c:3586
 #, 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:3587 commands/indexcmds.c:3426
+#: catalog/index.c:3597 commands/indexcmds.c:3426
 #, 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:3603 commands/indexcmds.c:3306 commands/indexcmds.c:3450
-#: commands/tablecmds.c:3292
+#: catalog/index.c:3613 commands/indexcmds.c:3306 commands/indexcmds.c:3450
+#: commands/tablecmds.c:3247
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "no se puede mover la relación de sistema «%s»"
 
-#: catalog/index.c:3747
+#: catalog/index.c:3757
 #, c-format
 msgid "index \"%s\" was reindexed"
 msgstr "el índice «%s» fue reindexado"
 
-#: catalog/index.c:3878
+#: catalog/index.c:3888
 #, 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:258 catalog/namespace.c:462 catalog/namespace.c:554
-#: commands/trigger.c:5134
+#: commands/trigger.c:5152
 #, 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»"
@@ -4600,8 +4524,8 @@ msgstr "no existe la relación «%s.%s»"
 msgid "relation \"%s\" does not exist"
 msgstr "no existe la relación «%s»"
 
-#: catalog/namespace.c:500 catalog/namespace.c:3075 commands/extension.c:1519
-#: commands/extension.c:1525
+#: catalog/namespace.c:500 catalog/namespace.c:3075 commands/extension.c:1520
+#: commands/extension.c:1526
 #, c-format
 msgid "no schema has been selected to create in"
 msgstr "no se ha seleccionado ningún esquema dentro del cual crear"
@@ -4647,13 +4571,13 @@ msgstr "no existe la plantilla de búsqueda en texto «%s»"
 msgid "text search configuration \"%s\" does not exist"
 msgstr "no existe la configuración de búsqueda en texto «%s»"
 
-#: catalog/namespace.c:2882 parser/parse_expr.c:810 parser/parse_target.c:1256
+#: catalog/namespace.c:2882 parser/parse_expr.c:810 parser/parse_target.c:1255
 #, 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:2888 gram.y:15102 gram.y:17061 parser/parse_expr.c:817
-#: parser/parse_target.c:1263
+#: catalog/namespace.c:2888 gram.y:15102 gram.y:17076 parser/parse_expr.c:817
+#: parser/parse_target.c:1262
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "el nombre no es válido (demasiados puntos): %s"
@@ -4668,8 +4592,8 @@ msgstr "no se puede mover objetos hacia o desde esquemas temporales"
 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:3097 commands/schemacmds.c:233 commands/schemacmds.c:313
-#: commands/tablecmds.c:1243
+#: catalog/namespace.c:3097 commands/schemacmds.c:234 commands/schemacmds.c:314
+#: commands/tablecmds.c:1242
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "no existe el esquema «%s»"
@@ -4704,34 +4628,34 @@ msgstr "no se pueden crear tablas temporales durante la recuperación"
 msgid "cannot create temporary tables during a parallel operation"
 msgstr "no se pueden crear tablas temporales durante una operación paralela"
 
-#: catalog/namespace.c:4331 commands/tablespace.c:1217 commands/variable.c:64
-#: utils/misc/guc.c:11585 utils/misc/guc.c:11663
+#: catalog/namespace.c:4331 commands/tablespace.c:1213 commands/variable.c:64
+#: utils/misc/guc.c:11586 utils/misc/guc.c:11664
 #, c-format
 msgid "List syntax is invalid."
 msgstr "La sintaxis de lista no es válida."
 
-#: catalog/objectaddress.c:1370 catalog/pg_publication.c:57
-#: commands/policy.c:95 commands/policy.c:375 commands/policy.c:465
-#: commands/tablecmds.c:243 commands/tablecmds.c:285 commands/tablecmds.c:2145
-#: commands/tablecmds.c:6016 commands/tablecmds.c:11673
+#: catalog/objectaddress.c:1370 catalog/pg_publication.c:58
+#: commands/policy.c:96 commands/policy.c:376 commands/tablecmds.c:243
+#: commands/tablecmds.c:285 commands/tablecmds.c:2134 commands/tablecmds.c:6035
+#: commands/tablecmds.c:11714
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "«%s» no es una tabla"
 
 #: catalog/objectaddress.c:1377 commands/tablecmds.c:255
-#: commands/tablecmds.c:6046 commands/tablecmds.c:16471 commands/view.c:119
+#: commands/tablecmds.c:6074 commands/tablecmds.c:16515 commands/view.c:119
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "«%s» no es una vista"
 
 #: catalog/objectaddress.c:1384 commands/matview.c:175 commands/tablecmds.c:261
-#: commands/tablecmds.c:16476
+#: commands/tablecmds.c:16520
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "«%s» no es una vista materializada"
 
 #: catalog/objectaddress.c:1391 commands/tablecmds.c:279
-#: commands/tablecmds.c:6049 commands/tablecmds.c:16481
+#: commands/tablecmds.c:6077 commands/tablecmds.c:16525
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "«%s» no es una tabla foránea"
@@ -4751,7 +4675,7 @@ msgstr "el nombre de columna debe ser calificado"
 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:1645 commands/functioncmds.c:137
+#: catalog/objectaddress.c:1645 commands/functioncmds.c:138
 #: commands/tablecmds.c:271 commands/typecmds.c:274 commands/typecmds.c:3713
 #: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:791
 #: utils/adt/acl.c:4411
@@ -4838,12 +4762,12 @@ msgstr "el largo de la lista de nombres debe ser al menos %d"
 msgid "argument list length must be exactly %d"
 msgstr "el largo de la lista de argumentos debe ser exactamente %d"
 
-#: catalog/objectaddress.c:2488 libpq/be-fsstubs.c:321
+#: catalog/objectaddress.c:2488 libpq/be-fsstubs.c:318
 #, c-format
 msgid "must be owner of large object %u"
 msgstr "debe ser dueño del objeto grande %u"
 
-#: catalog/objectaddress.c:2503 commands/functioncmds.c:1581
+#: catalog/objectaddress.c:2503 commands/functioncmds.c:1582
 #, c-format
 msgid "must be owner of type %s or type %s"
 msgstr "debe ser dueño del tipo %s o el tipo %s"
@@ -4858,80 +4782,80 @@ msgstr "debe ser superusuario"
 msgid "must have CREATEROLE privilege"
 msgstr "debe tener privilegio CREATEROLE"
 
-#: catalog/objectaddress.c:2639
+#: catalog/objectaddress.c:2640
 #, 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:2882
+#: catalog/objectaddress.c:2883
 #, c-format
 msgid "column %s of %s"
 msgstr " columna %s de %s"
 
-#: catalog/objectaddress.c:2897
+#: catalog/objectaddress.c:2898
 #, c-format
 msgid "function %s"
 msgstr "función %s"
 
-#: catalog/objectaddress.c:2910
+#: catalog/objectaddress.c:2911
 #, c-format
 msgid "type %s"
 msgstr "tipo %s"
 
-#: catalog/objectaddress.c:2947
+#: catalog/objectaddress.c:2948
 #, c-format
 msgid "cast from %s to %s"
 msgstr "conversión de %s a %s"
 
-#: catalog/objectaddress.c:2980
+#: catalog/objectaddress.c:2981
 #, c-format
 msgid "collation %s"
 msgstr "ordenamiento (collation) %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3011
+#: catalog/objectaddress.c:3012
 #, c-format
 msgid "constraint %s on %s"
 msgstr "restricción «%s» en %s"
 
-#: catalog/objectaddress.c:3017
+#: catalog/objectaddress.c:3018
 #, c-format
 msgid "constraint %s"
 msgstr "restricción %s"
 
-#: catalog/objectaddress.c:3049
+#: catalog/objectaddress.c:3050
 #, c-format
 msgid "conversion %s"
 msgstr "conversión %s"
 
 #. translator: %s is typically "column %s of table %s"
-#: catalog/objectaddress.c:3095
+#: catalog/objectaddress.c:3096
 #, c-format
 msgid "default value for %s"
 msgstr "valor por omisión para %s"
 
-#: catalog/objectaddress.c:3109
+#: catalog/objectaddress.c:3110
 #, c-format
 msgid "language %s"
 msgstr "lenguaje %s"
 
-#: catalog/objectaddress.c:3117
+#: catalog/objectaddress.c:3118
 #, c-format
 msgid "large object %u"
 msgstr "objeto grande %u"
 
-#: catalog/objectaddress.c:3130
+#: catalog/objectaddress.c:3131
 #, c-format
 msgid "operator %s"
 msgstr "operador %s"
 
-#: catalog/objectaddress.c:3167
+#: catalog/objectaddress.c:3168
 #, 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:3195
+#: catalog/objectaddress.c:3196
 #, c-format
 msgid "access method %s"
 msgstr "método de acceso %s"
@@ -4940,7 +4864,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:3244
+#: catalog/objectaddress.c:3245
 #, c-format
 msgid "operator %d (%s, %s) of %s: %s"
 msgstr "operador %d (%s, %s) de %s: %s"
@@ -4949,221 +4873,221 @@ 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:3301
+#: catalog/objectaddress.c:3302
 #, 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:3353
+#: catalog/objectaddress.c:3354
 #, c-format
 msgid "rule %s on %s"
 msgstr "regla %s en %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3399
+#: catalog/objectaddress.c:3400
 #, c-format
 msgid "trigger %s on %s"
 msgstr "disparador %s en %s"
 
-#: catalog/objectaddress.c:3419
+#: catalog/objectaddress.c:3420
 #, c-format
 msgid "schema %s"
 msgstr "esquema %s"
 
-#: catalog/objectaddress.c:3447
+#: catalog/objectaddress.c:3448
 #, c-format
 msgid "statistics object %s"
 msgstr "object de estadísticas %s"
 
-#: catalog/objectaddress.c:3478
+#: catalog/objectaddress.c:3479
 #, c-format
 msgid "text search parser %s"
 msgstr "analizador de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:3509
+#: catalog/objectaddress.c:3510
 #, c-format
 msgid "text search dictionary %s"
 msgstr "diccionario de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:3540
+#: catalog/objectaddress.c:3541
 #, c-format
 msgid "text search template %s"
 msgstr "plantilla de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:3571
+#: catalog/objectaddress.c:3572
 #, c-format
 msgid "text search configuration %s"
 msgstr "configuración de búsqueda en texto %s"
 
-#: catalog/objectaddress.c:3584
+#: catalog/objectaddress.c:3585
 #, c-format
 msgid "role %s"
 msgstr "rol %s"
 
-#: catalog/objectaddress.c:3600
+#: catalog/objectaddress.c:3601
 #, c-format
 msgid "database %s"
 msgstr "base de datos %s"
 
-#: catalog/objectaddress.c:3616
+#: catalog/objectaddress.c:3617
 #, c-format
 msgid "tablespace %s"
 msgstr "tablespace %s"
 
-#: catalog/objectaddress.c:3627
+#: catalog/objectaddress.c:3628
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "conector de datos externos %s"
 
-#: catalog/objectaddress.c:3637
+#: catalog/objectaddress.c:3638
 #, c-format
 msgid "server %s"
 msgstr "servidor %s"
 
-#: catalog/objectaddress.c:3670
+#: catalog/objectaddress.c:3671
 #, c-format
 msgid "user mapping for %s on server %s"
 msgstr "mapeo para el usuario %s en el servidor %s"
 
-#: catalog/objectaddress.c:3722
+#: catalog/objectaddress.c:3723
 #, 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:3726
+#: catalog/objectaddress.c:3727
 #, 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:3732
+#: catalog/objectaddress.c:3733
 #, 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:3736
+#: catalog/objectaddress.c:3737
 #, 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:3742
+#: catalog/objectaddress.c:3743
 #, 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:3746
+#: catalog/objectaddress.c:3747
 #, 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:3752
+#: catalog/objectaddress.c:3753
 #, 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:3756
+#: catalog/objectaddress.c:3757
 #, 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:3762
+#: catalog/objectaddress.c:3763
 #, 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:3769
+#: catalog/objectaddress.c:3770
 #, 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:3773
+#: catalog/objectaddress.c:3774
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "privilegios por omisión pertenecientes al rol %s"
 
-#: catalog/objectaddress.c:3795
+#: catalog/objectaddress.c:3796
 #, c-format
 msgid "extension %s"
 msgstr "extensión %s"
 
-#: catalog/objectaddress.c:3812
+#: catalog/objectaddress.c:3813
 #, c-format
 msgid "event trigger %s"
 msgstr "disparador por eventos %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3856
+#: catalog/objectaddress.c:3857
 #, c-format
 msgid "policy %s on %s"
 msgstr "política %s en %s"
 
-#: catalog/objectaddress.c:3870
+#: catalog/objectaddress.c:3871
 #, c-format
 msgid "publication %s"
 msgstr "publicación %s"
 
 #. translator: first %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3898
+#: catalog/objectaddress.c:3899
 #, c-format
 msgid "publication of %s in publication %s"
 msgstr "publicación de %s en la publicación %s"
 
-#: catalog/objectaddress.c:3911
+#: catalog/objectaddress.c:3912
 #, c-format
 msgid "subscription %s"
 msgstr "suscripción %s"
 
-#: catalog/objectaddress.c:3932
+#: catalog/objectaddress.c:3933
 #, c-format
 msgid "transform for %s language %s"
 msgstr "transformación para %s lenguaje %s"
 
-#: catalog/objectaddress.c:4003
+#: catalog/objectaddress.c:4004
 #, c-format
 msgid "table %s"
 msgstr "tabla %s"
 
-#: catalog/objectaddress.c:4008
+#: catalog/objectaddress.c:4009
 #, c-format
 msgid "index %s"
 msgstr "índice %s"
 
-#: catalog/objectaddress.c:4012
+#: catalog/objectaddress.c:4013
 #, c-format
 msgid "sequence %s"
 msgstr "secuencia %s"
 
-#: catalog/objectaddress.c:4016
+#: catalog/objectaddress.c:4017
 #, c-format
 msgid "toast table %s"
 msgstr "tabla toast %s"
 
-#: catalog/objectaddress.c:4020
+#: catalog/objectaddress.c:4021
 #, c-format
 msgid "view %s"
 msgstr "vista %s"
 
-#: catalog/objectaddress.c:4024
+#: catalog/objectaddress.c:4025
 #, c-format
 msgid "materialized view %s"
 msgstr "vista materializada %s"
 
-#: catalog/objectaddress.c:4028
+#: catalog/objectaddress.c:4029
 #, c-format
 msgid "composite type %s"
 msgstr "tipo compuesto %s"
 
-#: catalog/objectaddress.c:4032
+#: catalog/objectaddress.c:4033
 #, c-format
 msgid "foreign table %s"
 msgstr "tabla foránea %s"
 
-#: catalog/objectaddress.c:4037
+#: catalog/objectaddress.c:4038
 #, c-format
 msgid "relation %s"
 msgstr "relación %s"
 
-#: catalog/objectaddress.c:4078
+#: catalog/objectaddress.c:4079
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "familia de operadores %s para el método de acceso %s"
@@ -5220,7 +5144,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:4128
+#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:4125
 #, 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"
@@ -5235,12 +5159,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:189 catalog/pg_proc.c:223
+#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:190 catalog/pg_proc.c:224
 #, 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:202 catalog/pg_proc.c:231
+#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:203 catalog/pg_proc.c:232
 #, c-format
 msgid "unsafe use of pseudo-type \"internal\""
 msgstr "uso inseguro de pseudotipo «internal»"
@@ -5255,7 +5179,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:384
+#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:385
 #, c-format
 msgid "cannot change routine kind"
 msgstr "no se puede cambiar el tipo de rutina"
@@ -5280,11 +5204,11 @@ 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:701
-#: commands/typecmds.c:1992 commands/typecmds.c:2038 commands/typecmds.c:2090
-#: commands/typecmds.c:2127 commands/typecmds.c:2161 commands/typecmds.c:2195
-#: commands/typecmds.c:2229 commands/typecmds.c:2258 commands/typecmds.c:2345
-#: commands/typecmds.c:2387 parser/parse_func.c:417 parser/parse_func.c:448
+#: catalog/pg_aggregate.c:858 commands/functioncmds.c:702
+#: commands/typecmds.c:1991 commands/typecmds.c:2037 commands/typecmds.c:2089
+#: commands/typecmds.c:2126 commands/typecmds.c:2160 commands/typecmds.c:2194
+#: commands/typecmds.c:2228 commands/typecmds.c:2257 commands/typecmds.c:2344
+#: commands/typecmds.c:2386 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:2173 parser/parse_func.c:2446
 #, c-format
@@ -5356,12 +5280,12 @@ msgstr "ya existe la conversión «%s»"
 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:204 commands/extension.c:3343
+#: catalog/pg_depend.c:211 commands/extension.c:3352
 #, 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:580
+#: catalog/pg_depend.c:587
 #, 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"
@@ -5372,10 +5296,9 @@ msgid "invalid enum label \"%s\""
 msgstr "la etiqueta enum «%s» no es válida"
 
 #: catalog/pg_enum.c:129 catalog/pg_enum.c:231 catalog/pg_enum.c:526
-#, fuzzy, c-format
-#| msgid "Labels must be %d characters or less."
+#, c-format
 msgid "Labels must be %d bytes or less."
-msgstr "Las etiquetas deben ser de %d caracteres o menos."
+msgstr "Las etiquetas deben ser de %d bytes o menos."
 
 #: catalog/pg_enum.c:259
 #, c-format
@@ -5403,33 +5326,32 @@ 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
-#, fuzzy, c-format
-#| msgid "cannot inherit from partition \"%s\""
+#, c-format
 msgid "cannot detach partition \"%s\""
-msgstr "no se puede heredar de la partición «%s»"
+msgstr "no se puede desprender la partición «%s»"
 
 #: catalog/pg_inherits.c:595
 #, c-format
 msgid "The partition is being detached concurrently or has an unfinished detach."
-msgstr ""
+msgstr "La partición está siendo desprendida de forma concurrente o tiene un desprendimiento sin terminar."
 
-#: catalog/pg_inherits.c:596
+#: catalog/pg_inherits.c:596 commands/tablecmds.c:4425
+#: commands/tablecmds.c:14815
 #, c-format
-msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation"
-msgstr ""
+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
-#, fuzzy, c-format
-#| msgid "cannot cluster on partial index \"%s\""
+#, c-format
 msgid "cannot complete detaching partition \"%s\""
-msgstr "no se puede reordenar en índice parcial «%s»"
+msgstr "no se puede completar el desprendimiento de la partición «%s»"
 
 #: catalog/pg_inherits.c:602
 #, c-format
 msgid "There's no pending concurrent detach."
-msgstr ""
+msgstr "No hay desprendimientos concurrentes pendientes."
 
-#: catalog/pg_namespace.c:64 commands/schemacmds.c:242
+#: catalog/pg_namespace.c:64 commands/schemacmds.c:243
 #, c-format
 msgid "schema \"%s\" already exists"
 msgstr "ya existe el esquema «%s»"
@@ -5494,44 +5416,44 @@ msgstr "ya existe un operador %s"
 msgid "operator cannot be its own negator or sort operator"
 msgstr "un operador no puede ser su propio negador u operador de ordenamiento"
 
-#: catalog/pg_proc.c:130 parser/parse_func.c:2235
+#: catalog/pg_proc.c:131 parser/parse_func.c:2235
 #, 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:374
+#: catalog/pg_proc.c:375
 #, 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:386
+#: catalog/pg_proc.c:387
 #, c-format
 msgid "\"%s\" is an aggregate function."
 msgstr "«%s» es una función de agregación."
 
-#: catalog/pg_proc.c:388
+#: catalog/pg_proc.c:389
 #, c-format
 msgid "\"%s\" is a function."
 msgstr "«%s» es una función de agregación."
 
-#: catalog/pg_proc.c:390
+#: catalog/pg_proc.c:391
 #, c-format
 msgid "\"%s\" is a procedure."
 msgstr "«%s» es un índice parcial."
 
-#: catalog/pg_proc.c:392
+#: catalog/pg_proc.c:393
 #, c-format
 msgid "\"%s\" is a window function."
 msgstr "«%s» es una función de ventana deslizante."
 
-#: catalog/pg_proc.c:412
+#: catalog/pg_proc.c:413
 #, 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:413 catalog/pg_proc.c:443
+#: catalog/pg_proc.c:414 catalog/pg_proc.c:444
 #, c-format
 msgid "cannot change return type of existing function"
 msgstr "no se puede cambiar el tipo de retorno de una función existente"
@@ -5540,89 +5462,89 @@ 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:419 catalog/pg_proc.c:446 catalog/pg_proc.c:491
-#: catalog/pg_proc.c:517 catalog/pg_proc.c:543
+#: catalog/pg_proc.c:420 catalog/pg_proc.c:447 catalog/pg_proc.c:492
+#: catalog/pg_proc.c:518 catalog/pg_proc.c:544
 #, c-format
 msgid "Use %s %s first."
 msgstr "Use %s %s primero."
 
-#: catalog/pg_proc.c:444
+#: catalog/pg_proc.c:445
 #, 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:488
+#: catalog/pg_proc.c:489
 #, 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:515
+#: catalog/pg_proc.c:516
 #, 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:542
 #, 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:751
+#: catalog/pg_proc.c:752
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "no hay ninguna función interna llamada «%s»"
 
-#: catalog/pg_proc.c:849
+#: catalog/pg_proc.c:850
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "las funciones SQL no pueden retornar el tipo %s"
 
-#: catalog/pg_proc.c:864
+#: catalog/pg_proc.c:865
 #, 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:976 executor/functions.c:1457
+#: catalog/pg_proc.c:995 executor/functions.c:1458
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "función SQL «%s»"
 
-#: catalog/pg_publication.c:59
+#: catalog/pg_publication.c:60
 #, c-format
 msgid "Only tables can be added to publications."
 msgstr "Sólo se pueden agregar tablas a las publicaciones."
 
-#: catalog/pg_publication.c:65
+#: catalog/pg_publication.c:66
 #, c-format
 msgid "\"%s\" is a system table"
 msgstr "«%s» es una tabla de sistema"
 
-#: catalog/pg_publication.c:67
+#: catalog/pg_publication.c:68
 #, c-format
 msgid "System tables cannot be added to publications."
 msgstr "Las tablas de sistema no pueden agregarse a publicaciones."
 
-#: catalog/pg_publication.c:73
+#: catalog/pg_publication.c:74
 #, c-format
 msgid "table \"%s\" cannot be replicated"
 msgstr "la tabla «%s» no puede replicarse"
 
-#: catalog/pg_publication.c:75
+#: catalog/pg_publication.c:76
 #, c-format
 msgid "Temporary and unlogged relations cannot be replicated."
 msgstr "Las tablas temporales o «unlogged» no pueden replicarse."
 
-#: catalog/pg_publication.c:174
+#: catalog/pg_publication.c:251
 #, 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:470 commands/publicationcmds.c:451
-#: commands/publicationcmds.c:739
+#: catalog/pg_publication.c:533 commands/publicationcmds.c:458
+#: commands/publicationcmds.c:786
 #, c-format
 msgid "publication \"%s\" does not exist"
 msgstr "no existe la publicación «%s»"
 
-#: catalog/pg_shdepend.c:832
+#: catalog/pg_shdepend.c:833
 #, c-format
 msgid ""
 "\n"
@@ -5637,76 +5559,74 @@ msgstr[1] ""
 "\n"
 "y objetos en otras %d bases de datos (vea el registro del servidor para obtener la lista)"
 
-#: catalog/pg_shdepend.c:1176
+#: catalog/pg_shdepend.c:1180
 #, c-format
 msgid "role %u was concurrently dropped"
 msgstr "el rol %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1188
+#: catalog/pg_shdepend.c:1192
 #, c-format
 msgid "tablespace %u was concurrently dropped"
 msgstr "el tablespace %u fue eliminado por una transacción concurrente"
 
-#: catalog/pg_shdepend.c:1202
+#: catalog/pg_shdepend.c:1206
 #, 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:1247
+#: catalog/pg_shdepend.c:1257
 #, c-format
 msgid "owner of %s"
 msgstr "dueño de %s"
 
-#: catalog/pg_shdepend.c:1249
+#: catalog/pg_shdepend.c:1259
 #, c-format
 msgid "privileges for %s"
 msgstr "privilegios para %s"
 
-#: catalog/pg_shdepend.c:1251
+#: catalog/pg_shdepend.c:1261
 #, c-format
 msgid "target of %s"
 msgstr "destino de %s"
 
-#: catalog/pg_shdepend.c:1253
-#, fuzzy, c-format
-#| msgid "tablespace %s"
+#: catalog/pg_shdepend.c:1263
+#, c-format
 msgid "tablespace for %s"
-msgstr "tablespace %s"
+msgstr "tablespace para %s"
 
 #. translator: %s will always be "database %s"
-#: catalog/pg_shdepend.c:1261
+#: catalog/pg_shdepend.c:1271
 #, 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:1372
+#: catalog/pg_shdepend.c:1382
 #, 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:1519
+#: catalog/pg_shdepend.c:1529
 #, 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:174 commands/subscriptioncmds.c:775
-#: commands/subscriptioncmds.c:1085 commands/subscriptioncmds.c:1427
+#: catalog/pg_subscription.c:174 commands/subscriptioncmds.c:779
+#: commands/subscriptioncmds.c:1088 commands/subscriptioncmds.c:1431
 #, c-format
 msgid "subscription \"%s\" does not exist"
 msgstr "no existe la suscripción «%s»"
 
 #: catalog/pg_subscription.c:432
-#, fuzzy, c-format
-#| msgid "could not find function information for function \"%s\""
+#, c-format
 msgid "could not drop relation mapping for subscription \"%s\""
-msgstr "no se pudo encontrar información de función para la función «%s»"
+msgstr "no se pudo eliminar mapeo de relación para suscripción «%s»"
 
 #: catalog/pg_subscription.c:434
 #, c-format
 msgid "Table synchronization for relation \"%s\" is in progress and is in state \"%c\"."
-msgstr ""
+msgstr "La sincronización de tabla para la relación «%s» está en progreso y su estado es «%c»."
 
 #. translator: first %s is a SQL ALTER command and second %s is a
 #. SQL DROP command
@@ -5714,62 +5634,61 @@ msgstr ""
 #: catalog/pg_subscription.c:441
 #, c-format
 msgid "Use %s to enable subscription if not already enabled or use %s to drop the subscription."
-msgstr ""
+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:136 catalog/pg_type.c:475
+#: catalog/pg_type.c:136 catalog/pg_type.c:476
 #, 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:255
+#: catalog/pg_type.c:256
 #, c-format
 msgid "invalid type internal size %d"
 msgstr "el tamaño interno de tipo %d no es válido"
 
-#: catalog/pg_type.c:271 catalog/pg_type.c:279 catalog/pg_type.c:287
-#: catalog/pg_type.c:296
+#: catalog/pg_type.c:272 catalog/pg_type.c:280 catalog/pg_type.c:288
+#: catalog/pg_type.c:297
 #, 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:303
+#: catalog/pg_type.c:304
 #, 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:313 catalog/pg_type.c:319
+#: catalog/pg_type.c:314 catalog/pg_type.c:320
 #, 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:327 commands/typecmds.c:4164
+#: catalog/pg_type.c:328 commands/typecmds.c:4164
 #, 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:816
+#: catalog/pg_type.c:824
 #, c-format
 msgid "could not form array type name for type \"%s\""
 msgstr "no se pudo formar un nombre de tipo de array para el tipo «%s»"
 
-#: catalog/pg_type.c:921
-#, fuzzy, c-format
-#| msgid "Failed while creating memory context \"%s\"."
+#: catalog/pg_type.c:929
+#, c-format
 msgid "Failed while creating a multirange type for type \"%s\"."
-msgstr "Falla al crear el contexto de memoria «%s»."
+msgstr "Falla al crear un tipo de multirango para el tipo «%s»."
 
-#: catalog/pg_type.c:922
+#: catalog/pg_type.c:930
 #, c-format
-msgid "You can manually specify a multirange type name using the \"multirange_type_name\" attribute"
-msgstr ""
+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:450 storage/buffer/bufmgr.c:1026
+#: catalog/storage.c:450 storage/buffer/bufmgr.c:1035
 #, 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"
 
-#: catalog/toasting.c:104 commands/indexcmds.c:667 commands/tablecmds.c:6028
-#: commands/tablecmds.c:16336
+#: catalog/toasting.c:110 commands/indexcmds.c:667 commands/tablecmds.c:6047
+#: commands/tablecmds.c:16380
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "«%s» no es una tabla o vista materializada"
@@ -5854,7 +5773,7 @@ msgstr "las funciones de serialización pueden especificarse sólo cuando el tip
 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:437 commands/functioncmds.c:649
+#: commands/aggregatecmds.c:437 commands/functioncmds.c:650
 #, c-format
 msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE"
 msgstr "el parámetro «parallel» debe ser SAFE, RESTRICTED o UNSAFE"
@@ -5884,12 +5803,12 @@ msgstr "el servidor «%s» ya existe"
 msgid "language \"%s\" already exists"
 msgstr "ya existe el lenguaje «%s»"
 
-#: commands/alter.c:96 commands/publicationcmds.c:183
+#: commands/alter.c:96 commands/publicationcmds.c:180
 #, c-format
 msgid "publication \"%s\" already exists"
 msgstr "la publicación «%s» ya existe"
 
-#: commands/alter.c:99 commands/subscriptioncmds.c:398
+#: commands/alter.c:99 commands/subscriptioncmds.c:400
 #, c-format
 msgid "subscription \"%s\" already exists"
 msgstr "la suscripción «%s» ya existe"
@@ -5961,7 +5880,7 @@ 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:681
+#: commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:699
 #: parser/parse_clause.c:940
 #, c-format
 msgid "function %s must return type %s"
@@ -5992,78 +5911,70 @@ msgstr "analizando «%s.%s»"
 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:790
-#, fuzzy, c-format
-#| msgid "automatic analyze of table \"%s.%s.%s\""
+#: commands/analyze.c:805
+#, c-format
 msgid "automatic analyze of table \"%s.%s.%s\"\n"
-msgstr "análisis automático de la tabla «%s.%s.%s»"
-
-#: commands/analyze.c:811
-#, fuzzy, c-format
-#| msgid "system usage: %s\n"
-msgid "system usage: %s"
-msgstr "uso de sistema: %s\n"
+msgstr "análisis automático de la tabla «%s.%s.%s»\n"
 
-#: commands/analyze.c:1350
+#: commands/analyze.c:1351
 #, 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:1430
+#: commands/analyze.c:1431
 #, 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:1528
+#: commands/analyze.c:1529
 #, 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:639
+#: commands/async.c:646
 #, c-format
 msgid "channel name cannot be empty"
 msgstr "el nombre de canal no puede ser vacío"
 
-#: commands/async.c:645
+#: commands/async.c:652
 #, c-format
 msgid "channel name too long"
 msgstr "el nombre de canal es demasiado largo"
 
-#: commands/async.c:650
+#: commands/async.c:657
 #, c-format
 msgid "payload string too long"
 msgstr "la cadena de carga es demasiado larga"
 
-#: commands/async.c:869
+#: commands/async.c:876
 #, 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:975
+#: commands/async.c:980
 #, c-format
 msgid "too many notifications in the NOTIFY queue"
 msgstr "demasiadas notificaciones en la cola NOTIFY"
 
-#: commands/async.c:1646
+#: commands/async.c:1616
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "la cola NOTIFY está %.0f%% llena"
 
-#: commands/async.c:1648
+#: commands/async.c:1618
 #, 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:1651
+#: commands/async.c:1621
 #, 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:119
-#, fuzzy, c-format
-#| msgid "unrecognized VACUUM option \"%s\""
+#, c-format
 msgid "unrecognized CLUSTER option \"%s\""
-msgstr "opción de VACUUM «%s» no reconocida"
+msgstr "opción de CLUSTER «%s» no reconocida"
 
 #: commands/cluster.c:147 commands/cluster.c:386
 #, c-format
@@ -6080,7 +5991,7 @@ msgstr "no se puede hacer «cluster» a una tabla particionada"
 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:187 commands/tablecmds.c:13496 commands/tablecmds.c:15364
+#: commands/cluster.c:187 commands/tablecmds.c:13536 commands/tablecmds.c:15408
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "no existe el índice «%s» en la tabla «%s»"
@@ -6095,7 +6006,7 @@ msgstr "no se puede reordenar un catálogo compartido"
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "no se puede hacer vacuum a tablas temporales de otras sesiones"
 
-#: commands/cluster.c:456 commands/tablecmds.c:15374
+#: commands/cluster.c:456 commands/tablecmds.c:15418
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "«%s» no es un índice de la tabla «%s»"
@@ -6174,43 +6085,48 @@ msgstr "debe especificarse el parámetro «lc_ctype»"
 msgid "nondeterministic collations not supported with this provider"
 msgstr "los ordenamientos no determinísticos no están soportados con este proveedor"
 
-#: commands/collationcmds.c:266
+#: commands/collationcmds.c:227
+#, 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:285
 #, 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:277
+#: commands/collationcmds.c:296
 #, c-format
 msgid "collation \"%s\" already exists in schema \"%s\""
 msgstr "ya existe un ordenamiento llamado «%s» en el esquema «%s»"
 
-#: commands/collationcmds.c:325
+#: commands/collationcmds.c:344
 #, c-format
 msgid "changing version from %s to %s"
 msgstr "cambiando versión de %s a %s"
 
-#: commands/collationcmds.c:340
+#: commands/collationcmds.c:359
 #, c-format
 msgid "version has not changed"
 msgstr "la versión no ha cambiado"
 
-#: commands/collationcmds.c:454
+#: commands/collationcmds.c:473
 #, 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"
 
-#: commands/collationcmds.c:512
+#: commands/collationcmds.c:531
 #, c-format
 msgid "must be superuser to import system collations"
 msgstr "debe ser superusuario para importar ordenamientos del sistema"
 
-#: commands/collationcmds.c:540 commands/copyfrom.c:1500 commands/copyto.c:688
+#: commands/collationcmds.c:559 commands/copyfrom.c:1500 commands/copyto.c:682
 #: libpq/be-secure-common.c:81
 #, c-format
 msgid "could not execute command \"%s\": %m"
 msgstr "no se pudo ejecutar la orden «%s»: %m"
 
-#: commands/collationcmds.c:671
+#: commands/collationcmds.c:690
 #, c-format
 msgid "no usable system locales were found"
 msgstr "no se encontraron locales de sistema utilizables"
@@ -6224,7 +6140,7 @@ msgstr "no se encontraron locales de sistema utilizables"
 msgid "database \"%s\" does not exist"
 msgstr "no existe la base de datos «%s»"
 
-#: commands/comment.c:101 commands/seclabel.c:191 parser/parse_utilcmd.c:989
+#: commands/comment.c:101 commands/seclabel.c:191 parser/parse_utilcmd.c:979
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, composite type, or foreign table"
 msgstr "«%s» no es una tabla, vista, vista materializada, tipo compuesto, o tabla foránea"
@@ -6265,10 +6181,9 @@ 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:130
-#, fuzzy, c-format
-#| msgid "encoding conversion function %s must return type %s"
+#, c-format
 msgid "encoding conversion function %s returned incorrect result for empty input"
-msgstr "la función de conversión de codificación %s debe retornar tipo %s"
+msgstr "la función de conversión de codificación %s retornó un resultado incorrecto para una entrada vacía"
 
 #: commands/copy.c:86
 #, c-format
@@ -6431,16 +6346,16 @@ msgstr "la columna «%s» es una columna generada"
 msgid "Generated columns cannot be used in COPY."
 msgstr "Las columnas generadas no pueden usarse en COPY."
 
-#: commands/copy.c:746 commands/indexcmds.c:1754 commands/statscmds.c:238
-#: commands/tablecmds.c:2366 commands/tablecmds.c:3022
-#: commands/tablecmds.c:3515 parser/parse_relation.c:3593
+#: commands/copy.c:746 commands/indexcmds.c:1754 commands/statscmds.c:241
+#: commands/tablecmds.c:2321 commands/tablecmds.c:2977
+#: commands/tablecmds.c:3470 parser/parse_relation.c:3593
 #: parser/parse_relation.c:3613 utils/adt/tsvector_op.c:2680
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "no existe la columna «%s»"
 
-#: commands/copy.c:753 commands/tablecmds.c:2392 commands/trigger.c:933
-#: parser/parse_target.c:1080 parser/parse_target.c:1091
+#: commands/copy.c:753 commands/tablecmds.c:2347 commands/trigger.c:951
+#: parser/parse_target.c:1079 parser/parse_target.c:1090
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "la columna «%s» fue especificada más de una vez"
@@ -6510,12 +6425,12 @@ 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:1264 commands/copyto.c:618
+#: commands/copyfrom.c:1264 commands/copyto.c:612
 #, 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:1287 commands/copyto.c:641
+#: commands/copyfrom.c:1287 commands/copyto.c:635
 #, c-format
 msgid "FORCE_NULL column \"%s\" not referenced by COPY"
 msgstr "la columna FORCE_NULL «%s» no es referenciada en COPY"
@@ -6525,7 +6440,7 @@ msgstr "la columna FORCE_NULL «%s» no es referenciada en COPY"
 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:1532 commands/copyto.c:740
+#: commands/copyfrom.c:1532 commands/copyto.c:734
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "«%s» es un directorio"
@@ -6728,67 +6643,67 @@ msgstr "no se puede hacer copy de la tabla particionada «%s»"
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "no se puede copiar desde la relación «%s» porque no es una tabla"
 
-#: commands/copyto.c:457
+#: commands/copyto.c:451
 #, 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:471
+#: commands/copyto.c:465
 #, 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:475
+#: commands/copyto.c:469
 #, 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:480
+#: commands/copyto.c:474
 #, 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:490
+#: commands/copyto.c:484
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) no está soportado"
 
-#: commands/copyto.c:507
+#: commands/copyto.c:501
 #, c-format
 msgid "COPY query must have a RETURNING clause"
 msgstr "la consulta COPY debe tener una cláusula RETURNING"
 
-#: commands/copyto.c:536
+#: commands/copyto.c:530
 #, c-format
 msgid "relation referenced by COPY statement has changed"
 msgstr "la relación referenciada por la sentencia COPY ha cambiado"
 
-#: commands/copyto.c:595
+#: commands/copyto.c:589
 #, 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:705
+#: commands/copyto.c:699
 #, 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:724
+#: commands/copyto.c:718
 #, 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:727
+#: commands/copyto.c:721
 #, 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:517
+#: commands/createas.c:215 commands/createas.c:511
 #, c-format
 msgid "too many column names were specified"
 msgstr "se especificaron demasiados nombres de columna"
 
-#: commands/createas.c:540
+#: commands/createas.c:534
 #, c-format
 msgid "policies not yet implemented for this command"
 msgstr "las políticas no están implementadas para esta orden"
@@ -6991,7 +6906,6 @@ msgstr "Debe moverlas de vuelta al tablespace por omisión de la base de datos a
 
 #: commands/dbcommands.c:1404 commands/dbcommands.c:1980
 #: commands/dbcommands.c:2203 commands/dbcommands.c:2261
-#: commands/tablespace.c:631
 #, 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\""
@@ -7028,7 +6942,7 @@ 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:2094 storage/ipc/procarray.c:3726
+#: commands/dbcommands.c:2094 storage/ipc/procarray.c:3804
 #, c-format
 msgid "There is %d prepared transaction using the database."
 msgid_plural "There are %d prepared transactions using the database."
@@ -7072,8 +6986,8 @@ msgstr "el argumento de %s debe ser un nombre de tipo"
 msgid "invalid argument for %s: \"%s\""
 msgstr "argumento no válido para %s: «%s»"
 
-#: commands/dropcmds.c:100 commands/functioncmds.c:1410
-#: utils/adt/ruleutils.c:2806
+#: commands/dropcmds.c:100 commands/functioncmds.c:1411
+#: utils/adt/ruleutils.c:2810
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "«%s» es una función de agregación"
@@ -7083,14 +6997,14 @@ msgstr "«%s» es una función de agregación"
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Use DROP AGGREGATE para eliminar funciones de agregación."
 
-#: commands/dropcmds.c:158 commands/sequence.c:447 commands/tablecmds.c:3599
-#: commands/tablecmds.c:3757 commands/tablecmds.c:3802
-#: commands/tablecmds.c:15797 tcop/utility.c:1291
+#: commands/dropcmds.c:158 commands/sequence.c:447 commands/tablecmds.c:3554
+#: commands/tablecmds.c:3712 commands/tablecmds.c:3765
+#: commands/tablecmds.c:15841 tcop/utility.c:1324
 #, 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:1248
+#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1247
 #, c-format
 msgid "schema \"%s\" does not exist, skipping"
 msgstr "el esquema «%s» no existe, omitiendo"
@@ -7115,7 +7029,7 @@ msgstr "no existe el ordenamiento (collation) «%s», omitiendo"
 msgid "conversion \"%s\" does not exist, skipping"
 msgstr "no existe la conversión «%s», omitiendo"
 
-#: commands/dropcmds.c:293 commands/statscmds.c:630
+#: commands/dropcmds.c:293 commands/statscmds.c:670
 #, c-format
 msgid "statistics object \"%s\" does not exist, skipping"
 msgstr "no existe el objeto de estadísticas «%s», omitiendo"
@@ -7317,7 +7231,7 @@ msgstr "la opción WAL de EXPLAIN requiere ANALYZE"
 msgid "EXPLAIN option TIMING requires ANALYZE"
 msgstr "la opción TIMING de EXPLAIN requiere ANALYZE"
 
-#: commands/extension.c:173 commands/extension.c:3013
+#: commands/extension.c:173 commands/extension.c:3014
 #, c-format
 msgid "extension \"%s\" does not exist"
 msgstr "no existe la extensión «%s»"
@@ -7385,7 +7299,7 @@ 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:552 commands/extension.c:560 commands/extension.c:568
-#: utils/misc/guc.c:7092
+#: utils/misc/guc.c:7093
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "el parámetro «%s» requiere un valor lógico (booleano)"
@@ -7415,153 +7329,152 @@ msgstr "el parámetro «schema» no puede ser especificado cuando «relocatable
 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:861
+#: commands/extension.c:862
 #, c-format
 msgid "permission denied to create extension \"%s\""
 msgstr "se ha denegado el permiso para crear la extensión «%s»"
 
-#: commands/extension.c:864
+#: commands/extension.c:865
 #, 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:865
+#: commands/extension.c:866
 #, c-format
 msgid "Must be superuser to create this extension."
 msgstr "Debe ser superusuario para crear esta extensión."
 
-#: commands/extension.c:869
+#: commands/extension.c:870
 #, c-format
 msgid "permission denied to update extension \"%s\""
 msgstr "se ha denegado el permiso para actualizar la extensión «%s»"
 
-#: commands/extension.c:872
+#: commands/extension.c:873
 #, 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:873
+#: commands/extension.c:874
 #, c-format
 msgid "Must be superuser to update this extension."
 msgstr "Debe ser superusuario para actualizar esta extensión."
 
-#: commands/extension.c:1200
+#: commands/extension.c:1201
 #, 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:1408 commands/extension.c:3074
+#: commands/extension.c:1409 commands/extension.c:3075
 #, c-format
 msgid "version to install must be specified"
 msgstr "la versión a instalar debe ser especificada"
 
-#: commands/extension.c:1445
+#: commands/extension.c:1446
 #, 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:1479
+#: commands/extension.c:1480
 #, 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:1639
+#: commands/extension.c:1640
 #, 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:1644
+#: commands/extension.c:1645
 #, c-format
 msgid "installing required extension \"%s\""
 msgstr "instalando la extensión requerida «%s»"
 
-#: commands/extension.c:1667
+#: commands/extension.c:1668
 #, c-format
 msgid "required extension \"%s\" is not installed"
 msgstr "la extensión requerida «%s» no está instalada"
 
-#: commands/extension.c:1670
+#: commands/extension.c:1671
 #, 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:1705
+#: commands/extension.c:1706
 #, c-format
 msgid "extension \"%s\" already exists, skipping"
 msgstr "la extensión «%s» ya existe, omitiendo"
 
-#: commands/extension.c:1712
+#: commands/extension.c:1713
 #, c-format
 msgid "extension \"%s\" already exists"
 msgstr "la extensión «%s» ya existe"
 
-#: commands/extension.c:1723
+#: commands/extension.c:1724
 #, c-format
 msgid "nested CREATE EXTENSION is not supported"
 msgstr "los CREATE EXTENSION anidados no están soportados"
 
-#: commands/extension.c:1896
+#: commands/extension.c:1897
 #, 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:2457
+#: commands/extension.c:2458
 #, 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:2469
+#: commands/extension.c:2470
 #, c-format
 msgid "OID %u does not refer to a table"
 msgstr "el OID %u no hace referencia a una tabla"
 
-#: commands/extension.c:2474
+#: commands/extension.c:2475
 #, 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:2828
+#: commands/extension.c:2829
 #, 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:2869 commands/extension.c:2932
+#: commands/extension.c:2870 commands/extension.c:2933
 #, c-format
 msgid "extension \"%s\" does not support SET SCHEMA"
 msgstr "la extensión «%s» no soporta SET SCHEMA"
 
-#: commands/extension.c:2934
+#: commands/extension.c:2935
 #, 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:2993
+#: commands/extension.c:2994
 #, c-format
 msgid "nested ALTER EXTENSION is not supported"
 msgstr "los ALTER EXTENSION anidados no están soportados"
 
-#: commands/extension.c:3085
+#: commands/extension.c:3086
 #, 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:3297
-#, fuzzy, c-format
-#| msgid "cannot cast jsonb object to type %s"
+#: commands/extension.c:3298
+#, c-format
 msgid "cannot add an object of this type to an extension"
-msgstr "no se puede convertir un objeto jsonb a tipo %s"
+msgstr "no se puede añadir un objeto de este tipo a una extensión"
 
-#: commands/extension.c:3355
+#: commands/extension.c:3364
 #, 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:3383
+#: commands/extension.c:3392
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s no es un miembro de la extensión «%s»"
 
-#: commands/extension.c:3449
+#: commands/extension.c:3458
 #, c-format
 msgid "file \"%s\" is too large"
 msgstr "el archivo «%s» es demasiado grande"
@@ -7661,374 +7574,368 @@ msgstr "el conector de datos externos «%s» no tiene manejador"
 msgid "foreign-data wrapper \"%s\" does not support IMPORT FOREIGN SCHEMA"
 msgstr "el conector de datos externos «%s» no soporta IMPORT FOREIGN SCHEMA"
 
-#: commands/foreigncmds.c:1607
+#: commands/foreigncmds.c:1606
 #, c-format
 msgid "importing foreign table \"%s\""
 msgstr "importando la tabla foránea «%s»"
 
-#: commands/functioncmds.c:108
+#: commands/functioncmds.c:109
 #, 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:113
+#: commands/functioncmds.c:114
 #, 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:144 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:150
 #, 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:151
 #, c-format
 msgid "Creating a shell type definition."
 msgstr "Creando una definición de tipo inconclusa."
 
-#: commands/functioncmds.c:249
+#: commands/functioncmds.c:250
 #, 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:256
 #, 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:261
 #, 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:271
 #, c-format
 msgid "type %s does not exist"
 msgstr "no existe el tipo %s"
 
-#: commands/functioncmds.c:284
+#: commands/functioncmds.c:285
 #, 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:289
 #, c-format
 msgid "procedures cannot accept set arguments"
 msgstr "los procedimientos no pueden aceptar argumentos de conjunto"
 
-#: commands/functioncmds.c:292
+#: commands/functioncmds.c:293
 #, c-format
 msgid "functions cannot accept set arguments"
 msgstr "funciones no pueden aceptar argumentos de conjunto"
 
-#: commands/functioncmds.c:302
-#, fuzzy, c-format
-#| msgid "VARIADIC parameter must be the last input parameter"
+#: commands/functioncmds.c:303
+#, 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
-#, fuzzy, c-format
-#| msgid "VARIADIC parameter must be the last input parameter"
+#: commands/functioncmds.c:323
+#, c-format
 msgid "VARIADIC parameter must be the last parameter"
-msgstr "el parámetro VARIADIC debe ser el último parámetro de entrada"
+msgstr "el parámetro VARIADIC debe ser el último parámetro"
 
-#: commands/functioncmds.c:347
+#: commands/functioncmds.c:348
 #, 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:393
 #, 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:411
 #, 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:426
 #, 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:450
 #, 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
-#, fuzzy, c-format
-#| msgid "input parameters after one with a default value must also have defaults"
+#: commands/functioncmds.c:460
+#, c-format
 msgid "procedure OUT parameters cannot appear after one with a default value"
-msgstr "los parámetros de entrada después de uno que tenga valor por omisión también deben tener valores por omisión"
+msgstr "los parámetros OUT no pueden aparecer después de uno que tenga valor por omisión"
 
-#: commands/functioncmds.c:611 commands/functioncmds.c:802
+#: commands/functioncmds.c:612 commands/functioncmds.c:803
 #, c-format
 msgid "invalid attribute in procedure definition"
 msgstr "atributo no válido en definición de procedimiento"
 
-#: commands/functioncmds.c:707
+#: commands/functioncmds.c:708
 #, 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:718
+#: commands/functioncmds.c:719
 #, 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:851 commands/functioncmds.c:1455
+#: commands/functioncmds.c:852 commands/functioncmds.c:1456
 #, c-format
 msgid "COST must be positive"
 msgstr "COST debe ser positivo"
 
-#: commands/functioncmds.c:859 commands/functioncmds.c:1463
+#: commands/functioncmds.c:860 commands/functioncmds.c:1464
 #, c-format
 msgid "ROWS must be positive"
 msgstr "ROWS debe ser positivo"
 
-#: commands/functioncmds.c:888
+#: commands/functioncmds.c:889
 #, c-format
 msgid "no function body specified"
 msgstr "no se ha especificado un cuerpo para la función"
 
-#: commands/functioncmds.c:893
-#, fuzzy, c-format
-#| msgid "no function body specified"
+#: commands/functioncmds.c:894
+#, c-format
 msgid "duplicate function body specified"
-msgstr "no se ha especificado un cuerpo para la función"
+msgstr "se ha especificado por duplicado el cuerpo para la función"
 
-#: commands/functioncmds.c:898
+#: commands/functioncmds.c:899
 #, c-format
 msgid "inline SQL function body only valid for language SQL"
-msgstr ""
+msgstr "cuerpo de función SQL en línea solo es válido para lenguaje SQL"
 
-#: commands/functioncmds.c:940
-#, fuzzy, c-format
-#| msgid "event trigger functions cannot have declared arguments"
+#: commands/functioncmds.c:941
+#, c-format
 msgid "SQL function with unquoted function body cannot have polymorphic arguments"
-msgstr "las funciones de disparador por eventos no pueden tener argumentos declarados"
+msgstr "una función SQL con el cuerpo de la función fuera de comillas no puede tener argumentos polimórficos"
 
-#: commands/functioncmds.c:966 commands/functioncmds.c:985
-#, fuzzy, c-format
-#| msgid "%s is not allowed in a SQL function"
+#: commands/functioncmds.c:967 commands/functioncmds.c:986
+#, c-format
 msgid "%s is not yet supported in unquoted SQL function body"
-msgstr "%s no está permitido en una función SQL"
+msgstr "%s aún no está soportado en una función SQL con el cuerpo fuera de comillas"
 
-#: commands/functioncmds.c:1013
+#: commands/functioncmds.c:1014
 #, 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:1118
+#: commands/functioncmds.c:1119
 #, c-format
 msgid "no language specified"
 msgstr "no se ha especificado el lenguaje"
 
-#: commands/functioncmds.c:1126 commands/functioncmds.c:2128
+#: commands/functioncmds.c:1127 commands/functioncmds.c:2129
 #: commands/proclang.c:237
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "no existe el lenguaje «%s»"
 
-#: commands/functioncmds.c:1128 commands/functioncmds.c:2130
+#: commands/functioncmds.c:1129 commands/functioncmds.c:2131
 #, 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:1163 commands/functioncmds.c:1447
+#: commands/functioncmds.c:1164 commands/functioncmds.c:1448
 #, c-format
 msgid "only superuser can define a leakproof function"
 msgstr "sólo un superusuario puede definir funciones «leakproof»"
 
-#: commands/functioncmds.c:1214
+#: commands/functioncmds.c:1215
 #, 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:1227
+#: commands/functioncmds.c:1228
 #, c-format
 msgid "function result type must be specified"
 msgstr "el tipo de retorno de la función debe ser especificado"
 
-#: commands/functioncmds.c:1281 commands/functioncmds.c:1467
+#: commands/functioncmds.c:1282 commands/functioncmds.c:1468
 #, 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:1567
+#: commands/functioncmds.c:1568
 #, c-format
 msgid "source data type %s is a pseudo-type"
 msgstr "el tipo de origen %s es un pseudotipo"
 
-#: commands/functioncmds.c:1573
+#: commands/functioncmds.c:1574
 #, c-format
 msgid "target data type %s is a pseudo-type"
 msgstr "el tipo de retorno %s es un pseudotipo"
 
-#: commands/functioncmds.c:1597
+#: commands/functioncmds.c:1598
 #, 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:1602
+#: commands/functioncmds.c:1603
 #, 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:1627
+#: commands/functioncmds.c:1628
 #, 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:1631
+#: commands/functioncmds.c:1632
 #, 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:1635
+#: commands/functioncmds.c:1636
 #, 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:1640
+#: commands/functioncmds.c:1641
 #, 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:1645
+#: commands/functioncmds.c:1646
 #, 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:1656
+#: commands/functioncmds.c:1657
 #, c-format
 msgid "cast function must not be volatile"
 msgstr "la función de conversión no debe ser volatile"
 
-#: commands/functioncmds.c:1661
+#: commands/functioncmds.c:1662
 #, 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:1665
+#: commands/functioncmds.c:1666
 #, 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:1691
+#: commands/functioncmds.c:1692
 #, 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:1706
+#: commands/functioncmds.c:1707
 #, 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:1721
+#: commands/functioncmds.c:1722
 #, c-format
 msgid "composite data types are not binary-compatible"
 msgstr "los tipos de datos compuestos no son binario-compatibles"
 
-#: commands/functioncmds.c:1727
+#: commands/functioncmds.c:1728
 #, c-format
 msgid "enum data types are not binary-compatible"
 msgstr "los tipos de datos enum no son binario-compatibles"
 
-#: commands/functioncmds.c:1733
+#: commands/functioncmds.c:1734
 #, c-format
 msgid "array data types are not binary-compatible"
 msgstr "los tipos de datos de array no son binario-compatibles"
 
-#: commands/functioncmds.c:1750
+#: commands/functioncmds.c:1751
 #, 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:1760
+#: commands/functioncmds.c:1761
 #, 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:1793
+#: commands/functioncmds.c:1794
 #, c-format
 msgid "transform function must not be volatile"
 msgstr "la función de transformación no debe ser volatile"
 
-#: commands/functioncmds.c:1797
+#: commands/functioncmds.c:1798
 #, 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:1801
+#: commands/functioncmds.c:1802
 #, 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:1805
+#: commands/functioncmds.c:1806
 #, c-format
 msgid "transform function must take one argument"
 msgstr "la función de transformación debe recibir un argumento"
 
-#: commands/functioncmds.c:1809
+#: commands/functioncmds.c:1810
 #, 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:1848
+#: commands/functioncmds.c:1849
 #, c-format
 msgid "data type %s is a pseudo-type"
 msgstr "el tipo de dato %s es un pseudo-tipo"
 
-#: commands/functioncmds.c:1854
+#: commands/functioncmds.c:1855
 #, c-format
 msgid "data type %s is a domain"
 msgstr "tipo de dato «%s» es un dominio"
 
-#: commands/functioncmds.c:1894
+#: commands/functioncmds.c:1895
 #, 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:1920
+#: commands/functioncmds.c:1921
 #, 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:1949
+#: commands/functioncmds.c:1950
 #, 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:2036
+#: commands/functioncmds.c:2037
 #, 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:2060
+#: commands/functioncmds.c:2061
 #, 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:2115
+#: commands/functioncmds.c:2116
 #, c-format
 msgid "no inline code specified"
 msgstr "no se ha especificado código"
 
-#: commands/functioncmds.c:2161
+#: commands/functioncmds.c:2162
 #, 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:2256
+#: commands/functioncmds.c:2257
 #, c-format
 msgid "cannot pass more than %d argument to a procedure"
 msgid_plural "cannot pass more than %d arguments to a procedure"
@@ -8065,12 +7972,12 @@ msgstr "no se pueden create restricciones de exclusión en la tabla particionada
 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:745 commands/tablecmds.c:748 commands/tablespace.c:1185
+#: commands/indexcmds.c:745 commands/tablecmds.c:747 commands/tablespace.c:1181
 #, 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:777 commands/tablecmds.c:783 commands/tablecmds.c:3299
+#: commands/indexcmds.c:777 commands/tablecmds.c:782 commands/tablecmds.c:3254
 #, 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"
@@ -8116,10 +8023,9 @@ 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:1020
-#, fuzzy, c-format
-#| msgid "cannot remove constraint from only the partitioned table when partitions exist"
+#, c-format
 msgid "unique constraint on partitioned table must include all partitioning columns"
-msgstr "no se pueden eliminar restricciones sólo de la tabla particionada cuando existen particiones"
+msgstr "las restricciones unique en tablas particionadas deben incluir todas las columnas de particionamiento"
 
 #: commands/indexcmds.c:1021
 #, c-format
@@ -8131,12 +8037,12 @@ msgstr "La restricción %s en la tabla «%s» no incluye la columna «%s» que e
 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:1231 tcop/utility.c:1477
+#: commands/indexcmds.c:1231 tcop/utility.c:1510
 #, 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:1233 tcop/utility.c:1479
+#: commands/indexcmds.c:1233 tcop/utility.c:1512
 #, c-format
 msgid "Table \"%s\" contains partitions that are foreign tables."
 msgstr "La tabla «%s» contiene particiones que son tablas foráneas."
@@ -8146,13 +8052,13 @@ msgstr "La tabla «%s» contiene particiones que son tablas foráneas."
 msgid "functions in index predicate must be marked IMMUTABLE"
 msgstr "las funciones utilizadas en predicados de índice deben estar marcadas IMMUTABLE"
 
-#: commands/indexcmds.c:1749 parser/parse_utilcmd.c:2525
-#: parser/parse_utilcmd.c:2660
+#: commands/indexcmds.c:1749 parser/parse_utilcmd.c:2515
+#: parser/parse_utilcmd.c:2650
 #, c-format
 msgid "column \"%s\" named in key does not exist"
 msgstr "no existe la columna «%s» en la llave"
 
-#: commands/indexcmds.c:1773 parser/parse_utilcmd.c:1824
+#: commands/indexcmds.c:1773 parser/parse_utilcmd.c:1814
 #, c-format
 msgid "expressions are not supported in included columns"
 msgstr "las expresiones no están soportadas en columnas incluidas"
@@ -8187,8 +8093,8 @@ msgstr "la columna incluida no permite las opciones NULLS FIRST/LAST"
 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:1876 commands/tablecmds.c:16802 commands/typecmds.c:810
-#: parser/parse_expr.c:2680 parser/parse_type.c:566 parser/parse_utilcmd.c:3813
+#: commands/indexcmds.c:1876 commands/tablecmds.c:16846 commands/typecmds.c:810
+#: parser/parse_expr.c:2680 parser/parse_type.c:566 parser/parse_utilcmd.c:3781
 #: utils/adt/misc.c:599
 #, c-format
 msgid "collations are not supported by type %s"
@@ -8224,8 +8130,8 @@ msgstr "el método de acceso «%s» no soporta las opciones ASC/DESC"
 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:2031 commands/tablecmds.c:16827
-#: commands/tablecmds.c:16833 commands/typecmds.c:2318
+#: commands/indexcmds.c:2031 commands/tablecmds.c:16871
+#: commands/tablecmds.c:16877 commands/typecmds.c:2317
 #, 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»"
@@ -8241,7 +8147,7 @@ msgstr "Debe especificar una clase de operadores para el índice, o definir una
 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:2084 commands/typecmds.c:2306
+#: commands/indexcmds.c:2084 commands/typecmds.c:2305
 #, 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"
@@ -8252,10 +8158,9 @@ 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:2502
-#, fuzzy, c-format
-#| msgid "unrecognized EXPLAIN option \"%s\""
+#, c-format
 msgid "unrecognized REINDEX option \"%s\""
-msgstr "opción de EXPLAIN «%s» no reconocida"
+msgstr "opción de REINDEX «%s» no reconocida"
 
 #: commands/indexcmds.c:2726
 #, c-format
@@ -8284,22 +8189,19 @@ 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:2924
-#, fuzzy, c-format
-#| msgid "cannot move system relation \"%s\""
+#, c-format
 msgid "cannot move system relations, skipping all"
-msgstr "no se puede mover la relación de sistema «%s»"
+msgstr "no se puede mover las relaciones de sistema, omitiendo todas"
 
 #: commands/indexcmds.c:2971
-#, fuzzy, c-format
-#| msgid "Unlogged partitioned table \"%s.%s\""
+#, c-format
 msgid "while reindexing partitioned table \"%s.%s\""
-msgstr "Tabla unlogged particionada «%s.%s»"
+msgstr "al reindexar tabla particionada «%s.%s»"
 
 #: commands/indexcmds.c:2974
-#, fuzzy, c-format
-#| msgid "Unlogged partitioned index \"%s.%s\""
+#, c-format
 msgid "while reindexing partitioned index \"%s.%s\""
-msgstr "Índice particionado unlogged «%s.%s»"
+msgstr "al reindexar índice particionado «%s.%s»"
 
 #: commands/indexcmds.c:3167 commands/indexcmds.c:4003
 #, c-format
@@ -8322,17 +8224,16 @@ msgid "cannot reindex this type of relation concurrently"
 msgstr "no se puede reindexar este tipo de relación concurrentemente"
 
 #: commands/indexcmds.c:3501
-#, fuzzy, c-format
-#| msgid "cannot move system relation \"%s\""
+#, c-format
 msgid "cannot move non-shared relation to tablespace \"%s\""
-msgstr "no se puede mover la relación de sistema «%s»"
+msgstr "no se puede mover relación no compartida al tablespace «%s»"
 
 #: commands/indexcmds.c:3984 commands/indexcmds.c:3996
 #, c-format
 msgid "index \"%s.%s\" was reindexed"
 msgstr "el índice «%s.%s» fue reindexado"
 
-#: commands/lockcmds.c:92 commands/tablecmds.c:6019 commands/trigger.c:289
+#: commands/lockcmds.c:92 commands/tablecmds.c:6038 commands/trigger.c:307
 #: rewrite/rewriteDefine.c:271 rewrite/rewriteDefine.c:938
 #, c-format
 msgid "\"%s\" is not a table or view"
@@ -8343,27 +8244,27 @@ msgstr "«%s» no es una tabla o vista"
 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:188
+#: commands/matview.c:188 gram.y:16812
 #, c-format
-msgid "CONCURRENTLY and WITH NO DATA options cannot be used together"
-msgstr "las opciones CONCURRENTLY y WITH NO DATA no pueden usarse juntas"
+msgid "%s and %s options cannot be used together"
+msgstr "las opciones %s y %s no pueden usarse juntas"
 
-#: commands/matview.c:244
+#: commands/matview.c:245
 #, c-format
 msgid "cannot refresh materialized view \"%s\" concurrently"
 msgstr "no se puede refrescar la vista materializada «%s» concurrentemente"
 
-#: commands/matview.c:247
+#: commands/matview.c:248
 #, 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:652
+#: commands/matview.c:660
 #, 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:654
+#: commands/matview.c:662
 #, c-format
 msgid "Row: %s"
 msgstr "Fila: %s"
@@ -8461,26 +8362,22 @@ msgid "index search operators must return boolean"
 msgstr "los operadores de búsqueda en índices deben retornar boolean"
 
 #: commands/opclasscmds.c:1215
-#, fuzzy, c-format
-#| msgid "associated data types for opclass options parsing functions must match opclass input type"
+#, 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:1222
-#, fuzzy, c-format
-#| msgid "left and right associated data types for opclass options parsing functions must match"
+#, 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:1230
-#, fuzzy, c-format
-#| msgid "invalid opclass options parsing function"
+#, 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:1231
-#, fuzzy, c-format
-#| msgid "Valid signature of opclass options parsing function is '%s'."
+#, 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'."
 
@@ -8610,22 +8507,19 @@ msgid "operator function must be specified"
 msgstr "la función del operador debe especificarse"
 
 #: commands/operatorcmds.c:181
-#, fuzzy, c-format
-#| msgid "one or two argument types must be specified"
+#, c-format
 msgid "operator argument types must be specified"
-msgstr "uno o dos tipos de argumento debe/n ser especificado"
+msgstr "los tipos de los argumentos del operador deben ser especificados"
 
 #: commands/operatorcmds.c:185
-#, fuzzy, c-format
-#| msgid "one or two argument types must be specified"
+#, c-format
 msgid "operator right argument type must be specified"
-msgstr "uno o dos tipos de argumento debe/n ser especificado"
+msgstr "el tipo del argumento derecho del operador debe ser especificado"
 
 #: commands/operatorcmds.c:186
-#, fuzzy, c-format
-#| msgid "log format \"%s\" is not supported"
+#, c-format
 msgid "Postfix operators are not supported."
-msgstr "el formato de log «%s» no está soportado"
+msgstr "los operadores Postfix no están soportado"
 
 #: commands/operatorcmds.c:290
 #, c-format
@@ -8647,69 +8541,63 @@ msgstr "la función de estimación de join %s debe retornar tipo %s"
 msgid "operator attribute \"%s\" cannot be changed"
 msgstr "el atributo de operador «%s» no puede ser cambiado"
 
-#: commands/policy.c:88 commands/policy.c:381 commands/policy.c:471
-#: commands/statscmds.c:150 commands/tablecmds.c:1561 commands/tablecmds.c:2150
-#: commands/tablecmds.c:3409 commands/tablecmds.c:5998
-#: commands/tablecmds.c:8860 commands/tablecmds.c:16392
-#: commands/tablecmds.c:16427 commands/trigger.c:295 commands/trigger.c:1271
-#: commands/trigger.c:1380 rewrite/rewriteDefine.c:277
+#: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:151
+#: commands/tablecmds.c:1560 commands/tablecmds.c:2139
+#: commands/tablecmds.c:3364 commands/tablecmds.c:6017
+#: commands/tablecmds.c:8901 commands/tablecmds.c:16436
+#: commands/tablecmds.c:16471 commands/trigger.c:313 commands/trigger.c:1289
+#: commands/trigger.c:1398 rewrite/rewriteDefine.c:277
 #: rewrite/rewriteDefine.c:943 rewrite/rewriteRemove.c:80
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "permiso denegado: «%s» es un catálogo de sistema"
 
-#: commands/policy.c:171
+#: commands/policy.c:172
 #, c-format
 msgid "ignoring specified roles other than PUBLIC"
 msgstr "ignorando los roles especificados que no son PUBLIC"
 
-#: commands/policy.c:172
+#: commands/policy.c:173
 #, c-format
 msgid "All roles are members of the PUBLIC role."
 msgstr "Todos los roles son miembros del rol PUBLIC."
 
-#: commands/policy.c:495
-#, c-format
-msgid "role \"%s\" could not be removed from policy \"%s\" on \"%s\""
-msgstr "el rol «%s» no pudo ser eliminado de la política «%s» en «%s»"
-
-#: commands/policy.c:704
+#: commands/policy.c:607
 #, 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:713 commands/policy.c:1018
+#: commands/policy.c:616 commands/policy.c:921
 #, 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:788 commands/policy.c:1241
+#: commands/policy.c:691 commands/policy.c:1144
 #, c-format
 msgid "policy \"%s\" for table \"%s\" already exists"
 msgstr "la política «%s» para la tabla «%s» ya existe"
 
-#: commands/policy.c:990 commands/policy.c:1269 commands/policy.c:1340
+#: commands/policy.c:893 commands/policy.c:1172 commands/policy.c:1243
 #, 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:1008
+#: commands/policy.c:911
 #, c-format
 msgid "only USING expression allowed for SELECT, DELETE"
 msgstr "sólo se permite una expresión USING para SELECT, DELETE"
 
-#: commands/portalcmds.c:60 commands/portalcmds.c:187 commands/portalcmds.c:238
+#: commands/portalcmds.c:60 commands/portalcmds.c:181 commands/portalcmds.c:232
 #, c-format
 msgid "invalid cursor name: must not be empty"
 msgstr "el nombre de cursor no es válido: no debe ser vacío"
 
 #: commands/portalcmds.c:72
-#, fuzzy, c-format
-#| msgid "cannot create temporary table within security-restricted operation"
+#, c-format
 msgid "cannot create a cursor WITH HOLD within security-restricted operation"
-msgstr "no se puede crear una tabla temporal dentro una operación restringida por seguridad"
+msgstr "no se puede crear un cursor WITH HOLD dentro de una operación restringida por seguridad"
 
-#: commands/portalcmds.c:195 commands/portalcmds.c:248
+#: commands/portalcmds.c:189 commands/portalcmds.c:242
 #: executor/execCurrent.c:70 utils/adt/xml.c:2594 utils/adt/xml.c:2764
 #, c-format
 msgid "cursor \"%s\" does not exist"
@@ -8720,42 +8608,42 @@ msgstr "no existe el cursor «%s»"
 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:134 parser/parse_param.c:313 tcop/postgres.c:1473
+#: commands/prepare.c:131 parser/parse_param.c:313 tcop/postgres.c:1473
 #, c-format
 msgid "could not determine data type of parameter $%d"
 msgstr "no se pudo determinar el tipo del parámetro $%d"
 
-#: commands/prepare.c:152
+#: commands/prepare.c:149
 #, c-format
 msgid "utility statements cannot be prepared"
 msgstr "sentencias de utilidad no pueden ser preparadas"
 
-#: commands/prepare.c:256 commands/prepare.c:261
+#: commands/prepare.c:264 commands/prepare.c:269
 #, c-format
 msgid "prepared statement is not a SELECT"
 msgstr "la sentencia preparada no es un SELECT"
 
-#: commands/prepare.c:328
+#: commands/prepare.c:329
 #, 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:330
+#: commands/prepare.c:331
 #, c-format
 msgid "Expected %d parameters but got %d."
 msgstr "Se esperaban %d parámetros pero se obtuvieron %d."
 
-#: commands/prepare.c:363
+#: commands/prepare.c:364
 #, 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:447
+#: commands/prepare.c:448
 #, c-format
 msgid "prepared statement \"%s\" already exists"
 msgstr "la sentencia preparada «%s» ya existe"
 
-#: commands/prepare.c:486
+#: commands/prepare.c:487
 #, c-format
 msgid "prepared statement \"%s\" does not exist"
 msgstr "no existe la sentencia preparada «%s»"
@@ -8765,67 +8653,67 @@ msgstr "no existe la sentencia preparada «%s»"
 msgid "must be superuser to create custom procedural language"
 msgstr "debe ser superusuario para crear un lenguaje procedural personalizado"
 
-#: commands/publicationcmds.c:107
+#: commands/publicationcmds.c:104
 #, c-format
 msgid "invalid list syntax for \"publish\" option"
 msgstr "sintaxis de entrada no válida para la opción «publish»"
 
-#: commands/publicationcmds.c:125
+#: commands/publicationcmds.c:122
 #, c-format
 msgid "unrecognized \"publish\" value: \"%s\""
 msgstr "valor de «publish» no reconocido: «%s»"
 
-#: commands/publicationcmds.c:140
+#: commands/publicationcmds.c:137
 #, c-format
 msgid "unrecognized publication parameter: \"%s\""
 msgstr "parámetro de publicación no reconocido: «%s»"
 
-#: commands/publicationcmds.c:172
+#: commands/publicationcmds.c:169
 #, 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:248
+#: commands/publicationcmds.c:250
 #, c-format
 msgid "wal_level is insufficient to publish logical changes"
 msgstr "wal_level es insuficiente para publicar cambios lógicos"
 
-#: commands/publicationcmds.c:249
+#: commands/publicationcmds.c:251
 #, c-format
 msgid "Set wal_level to logical before creating subscriptions."
 msgstr "Cambie wal_level a logical antes de crear suscripciones."
 
-#: commands/publicationcmds.c:369
+#: commands/publicationcmds.c:376
 #, 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:371
+#: commands/publicationcmds.c:378
 #, 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:660
+#: commands/publicationcmds.c:707
 #, 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:703
+#: commands/publicationcmds.c:750
 #, 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:705
+#: commands/publicationcmds.c:752
 #, 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/schemacmds.c:105 commands/schemacmds.c:258
+#: commands/schemacmds.c:105 commands/schemacmds.c:259
 #, c-format
 msgid "unacceptable schema name \"%s\""
 msgstr "el nombre de schema «%s» es inaceptable"
 
-#: commands/schemacmds.c:106 commands/schemacmds.c:259
+#: commands/schemacmds.c:106 commands/schemacmds.c:260
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system schemas."
 msgstr "El prefijo «pg_» está reservado para esquemas del sistema."
@@ -8851,10 +8739,9 @@ msgid "security label provider \"%s\" is not loaded"
 msgstr "el proveedor de etiquetas de seguridad «%s» no está cargado"
 
 #: commands/seclabel.c:158
-#, fuzzy, c-format
-#| msgid "tablespaces are not supported on this platform"
+#, c-format
 msgid "security labels are not supported for this type of object"
-msgstr "tablespaces no están soportados en esta plataforma"
+msgstr "las etiquetas de seguirdad no están soportadas para este tipo de objeto"
 
 #: commands/sequence.c:140
 #, c-format
@@ -8976,225 +8863,218 @@ msgstr "la secuencia debe estar en el mismo esquema que la tabla a la que está
 msgid "cannot change ownership of identity sequence"
 msgstr "no se puede cambiar el dueño de la secuencia de identidad"
 
-#: commands/sequence.c:1717 commands/tablecmds.c:13188
-#: commands/tablecmds.c:15817
+#: commands/sequence.c:1717 commands/tablecmds.c:13228
+#: commands/tablecmds.c:15861
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "La secuencia «%s» está enlazada a la tabla «%s»."
 
-#: commands/statscmds.c:111 commands/statscmds.c:120 tcop/utility.c:1827
+#: commands/statscmds.c:112 commands/statscmds.c:121 tcop/utility.c:1860
 #, 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:138
+#: commands/statscmds.c:139
 #, c-format
 msgid "relation \"%s\" is not a table, foreign table, or materialized view"
 msgstr "la relación «%s» no es una tabla, tabla foránea o vista materializada"
 
-#: commands/statscmds.c:188
+#: commands/statscmds.c:189
 #, c-format
 msgid "statistics object \"%s\" already exists, skipping"
 msgstr "el objeto de estadísticas «%s» ya existe, omitiendo"
 
-#: commands/statscmds.c:196
+#: commands/statscmds.c:197
 #, c-format
 msgid "statistics object \"%s\" already exists"
 msgstr "el objeto de estadísticas «%s» ya existe"
 
-#: commands/statscmds.c:207
+#: commands/statscmds.c:208
 #, 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:246
+#: commands/statscmds.c:249 commands/statscmds.c:272 commands/statscmds.c:305
 #, 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:253
+#: commands/statscmds.c:256 commands/statscmds.c:279
 #, 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:282
-#, fuzzy, c-format
-#| msgid "column \"%s\" cannot be used in statistics because its type %s has no default btree operator class"
+#: commands/statscmds.c:322
+#, c-format
 msgid "expression cannot be used in multivariate 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"
+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:303
+#: commands/statscmds.c:343
 #, c-format
 msgid "when building statistics on a single expression, statistics kinds may not be specified"
-msgstr ""
+msgstr "al crear estadísticas sobre una sola expresión, no se deben especificar tipos de estadísticas"
 
-#: commands/statscmds.c:332
+#: commands/statscmds.c:372
 #, c-format
 msgid "unrecognized statistics kind \"%s\""
 msgstr "tipo de estadísticas «%s» no reconocido"
 
-#: commands/statscmds.c:361
+#: commands/statscmds.c:401
 #, c-format
 msgid "extended statistics require at least 2 columns"
 msgstr "las estadísticas extendidas requieren al menos 2 columnas"
 
-#: commands/statscmds.c:379
+#: commands/statscmds.c:419
 #, c-format
 msgid "duplicate column name in statistics definition"
 msgstr "nombre de columna duplicado en definición de estadísticas"
 
-#: commands/statscmds.c:414
-#, fuzzy, c-format
-#| msgid "duplicate column name in statistics definition"
+#: commands/statscmds.c:454
+#, c-format
 msgid "duplicate expression in statistics definition"
-msgstr "nombre de columna duplicado en definición de estadísticas"
+msgstr "expresión duplicada en definición de estadísticas"
 
-#: commands/statscmds.c:595 commands/tablecmds.c:7830
+#: commands/statscmds.c:635 commands/tablecmds.c:7871
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "el valor de estadísticas %d es demasiado bajo"
 
-#: commands/statscmds.c:603 commands/tablecmds.c:7838
+#: commands/statscmds.c:643 commands/tablecmds.c:7879
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "bajando el valor de estadísticas a %d"
 
-#: commands/statscmds.c:626
+#: commands/statscmds.c:666
 #, 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:221
+#: commands/subscriptioncmds.c:223
 #, c-format
 msgid "unrecognized subscription parameter: \"%s\""
 msgstr "parámetro de suscripción no reconocido: «%s»"
 
 #. translator: both %s are strings of the form "option = value"
-#: commands/subscriptioncmds.c:235 commands/subscriptioncmds.c:241
-#: commands/subscriptioncmds.c:247 commands/subscriptioncmds.c:266
-#: commands/subscriptioncmds.c:272
+#: commands/subscriptioncmds.c:237 commands/subscriptioncmds.c:243
+#: commands/subscriptioncmds.c:249 commands/subscriptioncmds.c:268
+#: commands/subscriptioncmds.c:274
 #, 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:279 commands/subscriptioncmds.c:285
+#: commands/subscriptioncmds.c:281 commands/subscriptioncmds.c:287
 #, c-format
 msgid "subscription with %s must also set %s"
 msgstr "suscripción con %s también debe activar %s"
 
-#: commands/subscriptioncmds.c:378
+#: commands/subscriptioncmds.c:380
 #, c-format
 msgid "must be superuser to create subscriptions"
 msgstr "debe ser superusuario para crear suscripciones"
 
-#: commands/subscriptioncmds.c:471 commands/subscriptioncmds.c:568
-#: replication/logical/tablesync.c:970 replication/logical/worker.c:3154
+#: commands/subscriptioncmds.c:474 commands/subscriptioncmds.c:572
+#: replication/logical/tablesync.c:975 replication/logical/worker.c:3192
 #, c-format
 msgid "could not connect to the publisher: %s"
 msgstr "no se pudo connectar con el editor (publisher): %s"
 
-#: commands/subscriptioncmds.c:513
+#: commands/subscriptioncmds.c:516
 #, c-format
 msgid "created replication slot \"%s\" on publisher"
 msgstr "se creó el slot de replicación «%s» en el editor (publisher)"
 
 #. translator: %s is an SQL ALTER statement
-#: commands/subscriptioncmds.c:526
+#: commands/subscriptioncmds.c:529
 #, c-format
 msgid "tables were not subscribed, you will have to run %s to subscribe the tables"
 msgstr "las tablas no se suscribieron, tendrá que ejecutar %s para suscribir las tablas"
 
-#: commands/subscriptioncmds.c:824
+#: commands/subscriptioncmds.c:828
 #, c-format
 msgid "cannot set %s for enabled subscription"
 msgstr "no se puede establecer %s para la suscripción activada"
 
-#: commands/subscriptioncmds.c:880
+#: commands/subscriptioncmds.c:884
 #, 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:932 commands/subscriptioncmds.c:980
+#: commands/subscriptioncmds.c:936 commands/subscriptioncmds.c:983
 #, 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:933 commands/subscriptioncmds.c:981
+#: commands/subscriptioncmds.c:937 commands/subscriptioncmds.c:984
 #, c-format
 msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 msgstr "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 
-#: commands/subscriptioncmds.c:1001
+#: commands/subscriptioncmds.c:1004
 #, 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:1089
+#: commands/subscriptioncmds.c:1092
 #, c-format
 msgid "subscription \"%s\" does not exist, skipping"
 msgstr "no existe la suscripción «%s», omitiendo"
 
-#: commands/subscriptioncmds.c:1341
+#: commands/subscriptioncmds.c:1344
 #, c-format
 msgid "dropped replication slot \"%s\" on publisher"
 msgstr "eliminando el slot de replicación «%s» en editor (publisher)"
 
-#: commands/subscriptioncmds.c:1350 commands/subscriptioncmds.c:1357
-#, fuzzy, c-format
-#| msgid "could not drop the replication slot \"%s\" on publisher"
+#: commands/subscriptioncmds.c:1353 commands/subscriptioncmds.c:1361
+#, 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)"
+msgstr "no se pudo eliminar el slot de replicación «%s» en editor (publisher): %s"
 
-#: commands/subscriptioncmds.c:1391
+#: commands/subscriptioncmds.c:1395
 #, c-format
 msgid "permission denied to change owner of subscription \"%s\""
 msgstr "se ha denegado el permiso para cambiar el dueño de la suscripción «%s»"
 
-#: commands/subscriptioncmds.c:1393
+#: commands/subscriptioncmds.c:1397
 #, c-format
 msgid "The owner of a subscription must be a superuser."
 msgstr "El dueño de una suscripción debe ser un superusuario."
 
-#: commands/subscriptioncmds.c:1508
+#: commands/subscriptioncmds.c:1513
 #, 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:1572
-#, fuzzy, c-format
-#| msgid "could not connect to publisher when attempting to drop the replication slot \"%s\""
+#: commands/subscriptioncmds.c:1578
+#, 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 \"%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:1575
+#: commands/subscriptioncmds.c:1581
 #, c-format
 msgid "Use %s to disassociate the subscription from the slot."
 msgstr "Use %s para disociar la suscripción del slot."
 
-#: commands/subscriptioncmds.c:1605
+#: commands/subscriptioncmds.c:1611
 #, 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:1649
-#, fuzzy, c-format
-#| msgid "publication \"%s\" already exists"
+#: commands/subscriptioncmds.c:1655
+#, c-format
 msgid "publication \"%s\" is already in subscription \"%s\""
-msgstr "la publicación «%s» ya existe"
+msgstr "la publicación «%s» ya existe en la suscripción «%s»"
 
-#: commands/subscriptioncmds.c:1663
-#, fuzzy, c-format
-#| msgid "publication of %s in publication %s"
+#: commands/subscriptioncmds.c:1669
+#, c-format
 msgid "publication \"%s\" is not in subscription \"%s\""
-msgstr "publicación de %s en la publicación %s"
+msgstr "la publicación «%s» no está en la suscripción «%s»"
 
-#: commands/subscriptioncmds.c:1674
-#, fuzzy, c-format
-#| msgid "relation \"%s\" is not part of the publication"
-msgid "subscription must contain at least one publication"
-msgstr "relación «%s» no es parte de la publicación"
+#: commands/subscriptioncmds.c:1680
+#, c-format
+msgid "cannot drop all the publications from a subscription"
+msgstr "no se puede eliminar todas las publicaciones de una suscripción"
 
 #: commands/tablecmds.c:241 commands/tablecmds.c:283
 #, c-format
@@ -9252,8 +9132,8 @@ msgstr "la vista materializada «%s» no existe, omitiendo"
 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view."
 msgstr "Use DROP MATERIALIZED VIEW para eliminar una vista materializada."
 
-#: commands/tablecmds.c:265 commands/tablecmds.c:289 commands/tablecmds.c:18238
-#: parser/parse_utilcmd.c:2257
+#: commands/tablecmds.c:265 commands/tablecmds.c:289 commands/tablecmds.c:18317
+#: parser/parse_utilcmd.c:2247
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "no existe el índice «%s»"
@@ -9276,8 +9156,8 @@ msgstr "«%s» no es un tipo"
 msgid "Use DROP TYPE to remove a type."
 msgstr "Use DROP TYPE para eliminar un tipo."
 
-#: commands/tablecmds.c:277 commands/tablecmds.c:13027
-#: commands/tablecmds.c:15520
+#: commands/tablecmds.c:277 commands/tablecmds.c:13067
+#: commands/tablecmds.c:15564
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "no existe la tabla foránea «%s»"
@@ -9291,1388 +9171,1383 @@ msgstr "la tabla foránea «%s» no existe, omitiendo"
 msgid "Use DROP FOREIGN TABLE to remove a foreign table."
 msgstr "Use DROP FOREIGN TABLE para eliminar una tabla foránea."
 
-#: commands/tablecmds.c:664
+#: commands/tablecmds.c:663
 #, 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:695
+#: commands/tablecmds.c:694
 #, 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:731 commands/tablecmds.c:14311
+#: commands/tablecmds.c:730 commands/tablecmds.c:14351
 #, 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:916
+#: commands/tablecmds.c:915
 #, 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:1012
+#: commands/tablecmds.c:1011
 #, c-format
 msgid "\"%s\" is not partitioned"
 msgstr "«%s» no está particionada"
 
-#: commands/tablecmds.c:1107
+#: commands/tablecmds.c:1106
 #, c-format
 msgid "cannot partition using more than %d columns"
 msgstr "no se puede particionar usando más de %d columnas"
 
-#: commands/tablecmds.c:1163
+#: commands/tablecmds.c:1162
 #, 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:1165
+#: commands/tablecmds.c:1164
 #, c-format
 msgid "Table \"%s\" contains indexes that are unique."
 msgstr "La tabla «%s» contiene índices que son únicos."
 
-#: commands/tablecmds.c:1328
+#: commands/tablecmds.c:1327
 #, 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:1332
+#: commands/tablecmds.c:1331
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
 msgstr "DROP INDEX CONCURRENTLY no soporta CASCADE"
 
-#: commands/tablecmds.c:1433
+#: commands/tablecmds.c:1432
 #, c-format
 msgid "cannot drop partitioned index \"%s\" concurrently"
 msgstr "no se puede eliminar el índice particionado «%s» concurrentemente"
 
-#: commands/tablecmds.c:1705
+#: commands/tablecmds.c:1704
 #, c-format
 msgid "cannot truncate only a partitioned table"
 msgstr "no se puede truncar ONLY una tabla particionada"
 
-#: commands/tablecmds.c:1706
+#: commands/tablecmds.c:1705
 #, 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:1779
+#: commands/tablecmds.c:1777
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "truncando además la tabla «%s»"
 
-#: commands/tablecmds.c:2138
-#, fuzzy, c-format
-#| msgid "cannot update foreign table \"%s\""
+#: commands/tablecmds.c:2127
+#, c-format
 msgid "cannot truncate foreign table \"%s\""
-msgstr "no se puede actualizar la tabla foránea «%s»"
+msgstr "no se puede truncar la tabla foránea «%s»"
 
-#: commands/tablecmds.c:2187
+#: commands/tablecmds.c:2176
 #, c-format
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "no se pueden truncar tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:2449 commands/tablecmds.c:14208
+#: commands/tablecmds.c:2404 commands/tablecmds.c:14248
 #, c-format
 msgid "cannot inherit from partitioned table \"%s\""
 msgstr "no se puede heredar de la tabla particionada «%s»"
 
-#: commands/tablecmds.c:2454
+#: commands/tablecmds.c:2409
 #, c-format
 msgid "cannot inherit from partition \"%s\""
 msgstr "no se puede heredar de la partición «%s»"
 
-#: commands/tablecmds.c:2462 parser/parse_utilcmd.c:2487
-#: parser/parse_utilcmd.c:2629
+#: commands/tablecmds.c:2417 parser/parse_utilcmd.c:2477
+#: parser/parse_utilcmd.c:2619
 #, 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:2474
+#: commands/tablecmds.c:2429
 #, 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:2483 commands/tablecmds.c:14187
+#: commands/tablecmds.c:2438 commands/tablecmds.c:14227
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "no se puede heredar de la tabla temporal «%s»"
 
-#: commands/tablecmds.c:2493 commands/tablecmds.c:14195
+#: commands/tablecmds.c:2448 commands/tablecmds.c:14235
 #, 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:2547
+#: commands/tablecmds.c:2502
 #, c-format
 msgid "merging multiple inherited definitions of column \"%s\""
 msgstr "mezclando múltiples definiciones heredadas de la columna «%s»"
 
-#: commands/tablecmds.c:2555
+#: commands/tablecmds.c:2510
 #, c-format
 msgid "inherited column \"%s\" has a type conflict"
 msgstr "columna heredada «%s» tiene conflicto de tipos"
 
-#: commands/tablecmds.c:2557 commands/tablecmds.c:2580
-#: commands/tablecmds.c:2597 commands/tablecmds.c:2853
-#: commands/tablecmds.c:2883 commands/tablecmds.c:2897
-#: parser/parse_coerce.c:2090 parser/parse_coerce.c:2110
-#: parser/parse_coerce.c:2130 parser/parse_coerce.c:2150
-#: parser/parse_coerce.c:2205 parser/parse_coerce.c:2238
-#: parser/parse_coerce.c:2316 parser/parse_coerce.c:2348
-#: parser/parse_coerce.c:2382 parser/parse_coerce.c:2402
+#: commands/tablecmds.c:2512 commands/tablecmds.c:2535
+#: commands/tablecmds.c:2552 commands/tablecmds.c:2808
+#: commands/tablecmds.c:2838 commands/tablecmds.c:2852
+#: parser/parse_coerce.c:2099 parser/parse_coerce.c:2119
+#: parser/parse_coerce.c:2139 parser/parse_coerce.c:2160
+#: parser/parse_coerce.c:2215 parser/parse_coerce.c:2249
+#: parser/parse_coerce.c:2325 parser/parse_coerce.c:2356
+#: parser/parse_coerce.c:2395 parser/parse_coerce.c:2462
 #: parser/parse_param.c:227
 #, c-format
 msgid "%s versus %s"
 msgstr "%s versus %s"
 
-#: commands/tablecmds.c:2566
+#: commands/tablecmds.c:2521
 #, c-format
 msgid "inherited column \"%s\" has a collation conflict"
 msgstr "columna heredada «%s» tiene conflicto de ordenamiento (collation)"
 
-#: commands/tablecmds.c:2568 commands/tablecmds.c:2865
-#: commands/tablecmds.c:6498
+#: commands/tablecmds.c:2523 commands/tablecmds.c:2820
+#: commands/tablecmds.c:6526
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "«%s» versus «%s»"
 
-#: commands/tablecmds.c:2578
+#: commands/tablecmds.c:2533
 #, c-format
 msgid "inherited column \"%s\" has a storage parameter conflict"
 msgstr "columna heredada «%s» tiene conflicto de parámetros de almacenamiento"
 
-#: commands/tablecmds.c:2595 commands/tablecmds.c:2895
-#, fuzzy, c-format
-#| msgid "column \"%s\" has a collation conflict"
+#: commands/tablecmds.c:2550 commands/tablecmds.c:2850
+#, c-format
 msgid "column \"%s\" has a compression method conflict"
-msgstr "la columna «%s» tiene conflicto de ordenamientos (collation)"
+msgstr "la columna «%s» tiene conflicto de método de compresión"
 
-#: commands/tablecmds.c:2610
+#: commands/tablecmds.c:2565
 #, c-format
 msgid "inherited column \"%s\" has a generation conflict"
 msgstr "columna heredada «%s» tiene conflicto de generación"
 
-#: commands/tablecmds.c:2704 commands/tablecmds.c:2759
-#: commands/tablecmds.c:11772 parser/parse_utilcmd.c:1301
-#: parser/parse_utilcmd.c:1344 parser/parse_utilcmd.c:1752
-#: parser/parse_utilcmd.c:1860
+#: commands/tablecmds.c:2659 commands/tablecmds.c:2714
+#: commands/tablecmds.c:11812 parser/parse_utilcmd.c:1291
+#: parser/parse_utilcmd.c:1334 parser/parse_utilcmd.c:1742
+#: parser/parse_utilcmd.c:1850
 #, c-format
 msgid "cannot convert whole-row table reference"
 msgstr "no se puede convertir una referencia a la fila completa (whole-row)"
 
-#: commands/tablecmds.c:2705 parser/parse_utilcmd.c:1302
+#: commands/tablecmds.c:2660 parser/parse_utilcmd.c:1292
 #, 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»."
 
-#: commands/tablecmds.c:2760 parser/parse_utilcmd.c:1345
+#: commands/tablecmds.c:2715 parser/parse_utilcmd.c:1335
 #, c-format
 msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"."
 msgstr "La restricción «%s» contiene una referencia a la fila completa (whole-row) de la tabla «%s»."
 
-#: commands/tablecmds.c:2839
+#: commands/tablecmds.c:2794
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "mezclando la columna «%s» con la definición heredada"
 
-#: commands/tablecmds.c:2843
+#: commands/tablecmds.c:2798
 #, 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:2844
+#: commands/tablecmds.c:2799
 #, 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:2851
+#: commands/tablecmds.c:2806
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "la columna «%s» tiene conflicto de tipos"
 
-#: commands/tablecmds.c:2863
+#: commands/tablecmds.c:2818
 #, c-format
 msgid "column \"%s\" has a collation conflict"
 msgstr "la columna «%s» tiene conflicto de ordenamientos (collation)"
 
-#: commands/tablecmds.c:2881
+#: commands/tablecmds.c:2836
 #, c-format
 msgid "column \"%s\" has a storage parameter conflict"
 msgstr "la columna «%s» tiene conflicto de parámetros de almacenamiento"
 
-#: commands/tablecmds.c:2922
+#: commands/tablecmds.c:2877
 #, 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:2924
+#: commands/tablecmds.c:2879
 #, c-format
 msgid "Omit the generation expression in the definition of the child table column to inherit the generation expression from the parent table."
 msgstr "Omita la expresión de generación en la definición de la columna en la tabla hija para heredar la expresión de generación de la tabla padre."
 
-#: commands/tablecmds.c:2928
+#: commands/tablecmds.c:2883
 #, 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"
 
-#: commands/tablecmds.c:2933
+#: commands/tablecmds.c:2888
 #, 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"
 
-#: commands/tablecmds.c:3042
+#: commands/tablecmds.c:2997
 #, c-format
 msgid "column \"%s\" inherits conflicting generation expressions"
 msgstr "la columna «%s» hereda expresiones de generación en conflicto"
 
-#: commands/tablecmds.c:3047
+#: commands/tablecmds.c:3002
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "la columna «%s» hereda valores por omisión no coincidentes"
 
-#: commands/tablecmds.c:3049
+#: commands/tablecmds.c:3004
 #, c-format
 msgid "To resolve the conflict, specify a default explicitly."
 msgstr "Para resolver el conflicto, indique explícitamente un valor por omisión."
 
-#: commands/tablecmds.c:3095
+#: commands/tablecmds.c:3050
 #, c-format
 msgid "check constraint name \"%s\" appears multiple times but with different expressions"
 msgstr "la restricción «check» «%s» aparece más de una vez con diferentes expresiones"
 
-#: commands/tablecmds.c:3308
+#: commands/tablecmds.c:3263
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "no se pueden mover tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:3378
+#: commands/tablecmds.c:3333
 #, 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:3397
+#: commands/tablecmds.c:3352
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, composite type, index, or foreign table"
 msgstr "«%s» no es una tabla, vista, vista materializada, tipo compuesto, índice o tabla foránea"
 
-#: commands/tablecmds.c:3491
+#: commands/tablecmds.c:3446
 #, 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:3523
+#: commands/tablecmds.c:3478
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "no se puede cambiar el nombre a la columna de sistema «%s»"
 
-#: commands/tablecmds.c:3538
+#: commands/tablecmds.c:3493
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "no se puede cambiar el nombre a la columna heredada «%s»"
 
-#: commands/tablecmds.c:3690
+#: commands/tablecmds.c:3645
 #, 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:3697
+#: commands/tablecmds.c:3652
 #, 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:3930
+#: commands/tablecmds.c:3950
 #, 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:3939
+#: commands/tablecmds.c:3959
 #, 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:4403
-#, fuzzy, c-format
-#| msgid "cannot convert partition \"%s\" to a view"
-msgid "cannot alter partition \"%s\" with an incomplete detach"
-msgstr "no se puede convertir la partición «%s» en vista"
-
-#: commands/tablecmds.c:4405
+#: commands/tablecmds.c:4423
 #, c-format
-msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation."
-msgstr ""
+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:4597 commands/tablecmds.c:4612
+#: commands/tablecmds.c:4616 commands/tablecmds.c:4631
 #, c-format
 msgid "cannot change persistence setting twice"
 msgstr "no se puede cambiar la opción de persistencia dos veces"
 
-#: commands/tablecmds.c:5355
+#: commands/tablecmds.c:5374
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "no se puede reescribir la relación de sistema «%s»"
 
-#: commands/tablecmds.c:5361
+#: commands/tablecmds.c:5380
 #, 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:5371
+#: commands/tablecmds.c:5390
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "no se puede reescribir tablas temporales de otras sesiones"
 
-#: commands/tablecmds.c:5832
+#: commands/tablecmds.c:5851
 #, 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:5849
+#: commands/tablecmds.c:5868
 #, 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:5868 partitioning/partbounds.c:3282
+#: commands/tablecmds.c:5887 partitioning/partbounds.c:3292
 #, 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:5874
+#: commands/tablecmds.c:5893
 #, 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"
 
-#: commands/tablecmds.c:6022 commands/trigger.c:1265 commands/trigger.c:1371
+#: commands/tablecmds.c:6041 commands/trigger.c:1283 commands/trigger.c:1389
 #, c-format
 msgid "\"%s\" is not a table, view, or foreign table"
 msgstr "«%s» no es una tabla, vista o tabla foránea"
 
-#: commands/tablecmds.c:6025
+#: commands/tablecmds.c:6044
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, or index"
 msgstr "«%s» no es una tabla, vista, vista materializada, o índice"
 
-#: commands/tablecmds.c:6031
+#: commands/tablecmds.c:6050
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or index"
 msgstr "«%s» no es una tabla, vista materializada, o índice"
 
-#: commands/tablecmds.c:6034
+#: commands/tablecmds.c:6053
+#, c-format
+msgid "\"%s\" is not a table, materialized view, index, or partitioned index"
+msgstr "«%s» no es una tabla, vista materializada, índice o índice particionado"
+
+#: commands/tablecmds.c:6056
+#, c-format
+msgid "\"%s\" is not a table, materialized view, index, partitioned index, or foreign table"
+msgstr "«%s» no es una tabla, vista materializada, índice, índice particionado o tabla foránea"
+
+#: commands/tablecmds.c:6059
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or foreign table"
 msgstr "«%s» no es una tabla, vista materializada o tabla foránea"
 
-#: commands/tablecmds.c:6037
+#: commands/tablecmds.c:6062
 #, c-format
 msgid "\"%s\" is not a table or foreign table"
 msgstr "«%s» no es una tabla o tabla foránea"
 
-#: commands/tablecmds.c:6040
+#: commands/tablecmds.c:6065
 #, c-format
 msgid "\"%s\" is not a table, composite type, or foreign table"
 msgstr "«%s» no es una tabla, tipo compuesto, o tabla foránea"
 
-#: commands/tablecmds.c:6043
+#: commands/tablecmds.c:6068
 #, c-format
 msgid "\"%s\" is not a table, materialized view, index, or foreign table"
 msgstr "«%s» no es una tabla, vista materializada, índice o tabla foránea"
 
-#: commands/tablecmds.c:6053
+#: commands/tablecmds.c:6071
+#, c-format
+msgid "\"%s\" is not a table or partitioned index"
+msgstr "«%s» no es una tabla o índice particionado"
+
+#: commands/tablecmds.c:6081
 #, c-format
 msgid "\"%s\" is of the wrong type"
 msgstr "«%s» es tipo equivocado"
 
-#: commands/tablecmds.c:6256 commands/tablecmds.c:6263
+#: commands/tablecmds.c:6284 commands/tablecmds.c:6291
 #, 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:6270
+#: commands/tablecmds.c:6298
 #, 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:6277
+#: commands/tablecmds.c:6305
 #, 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:6333
+#: commands/tablecmds.c:6361
 #, 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:6335
+#: commands/tablecmds.c:6363
 #, 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:6381
+#: commands/tablecmds.c:6409
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "el tipo %s no es un tipo compuesto"
 
-#: commands/tablecmds.c:6408
+#: commands/tablecmds.c:6436
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "no se puede agregar una columna a una tabla tipada"
 
-#: commands/tablecmds.c:6461
+#: commands/tablecmds.c:6489
 #, c-format
 msgid "cannot add column to a partition"
 msgstr "no se puede agregar una columna a una partición"
 
-#: commands/tablecmds.c:6490 commands/tablecmds.c:14438
+#: commands/tablecmds.c:6518 commands/tablecmds.c:14478
 #, 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:6496 commands/tablecmds.c:14445
+#: commands/tablecmds.c:6524 commands/tablecmds.c:14485
 #, 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:6510
+#: commands/tablecmds.c:6538
 #, 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:6553
+#: commands/tablecmds.c:6581
 #, 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:6796
+#: commands/tablecmds.c:6824
 #, 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:6874
+#: commands/tablecmds.c:6902
 #, 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:6881
+#: commands/tablecmds.c:6909
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "ya existe la columna «%s» en la relación «%s»"
 
-#: commands/tablecmds.c:6947 commands/tablecmds.c:11410
+#: commands/tablecmds.c:6975 commands/tablecmds.c:11451
 #, 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:6948 commands/tablecmds.c:7252
-#: commands/tablecmds.c:8275 commands/tablecmds.c:11411
+#: commands/tablecmds.c:6976 commands/tablecmds.c:7293
+#: commands/tablecmds.c:8316 commands/tablecmds.c:11452
 #, c-format
 msgid "Do not specify the ONLY keyword."
 msgstr "No especifique la opción ONLY."
 
-#: commands/tablecmds.c:6985 commands/tablecmds.c:7178
-#: commands/tablecmds.c:7320 commands/tablecmds.c:7434
-#: commands/tablecmds.c:7528 commands/tablecmds.c:7587
-#: commands/tablecmds.c:7705 commands/tablecmds.c:7871
-#: commands/tablecmds.c:7941 commands/tablecmds.c:8097
-#: commands/tablecmds.c:11565 commands/tablecmds.c:13050
-#: commands/tablecmds.c:15611
+#: commands/tablecmds.c:7013 commands/tablecmds.c:7219
+#: commands/tablecmds.c:7361 commands/tablecmds.c:7475
+#: commands/tablecmds.c:7569 commands/tablecmds.c:7628
+#: commands/tablecmds.c:7746 commands/tablecmds.c:7912
+#: commands/tablecmds.c:7982 commands/tablecmds.c:8138
+#: commands/tablecmds.c:11606 commands/tablecmds.c:13090
+#: commands/tablecmds.c:15655
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "no se puede alterar columna de sistema «%s»"
 
-#: commands/tablecmds.c:6991 commands/tablecmds.c:7326
+#: commands/tablecmds.c:7019 commands/tablecmds.c:7367
 #, 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:7027
+#: commands/tablecmds.c:7062
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "la columna «%s» está en la llave primaria"
 
-#: commands/tablecmds.c:7049
+#: commands/tablecmds.c:7067
+#, 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:7090
 #, 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:7249 commands/tablecmds.c:8758
+#: commands/tablecmds.c:7290 commands/tablecmds.c:8799
 #, 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:7250
+#: commands/tablecmds.c:7291
 #, 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:7328
+#: commands/tablecmds.c:7369
 #, 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:7333
+#: commands/tablecmds.c:7374
 #, 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:7336
+#: commands/tablecmds.c:7377
 #, 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:7445
+#: commands/tablecmds.c:7486
 #, 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:7451
+#: commands/tablecmds.c:7492
 #, 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:7457
+#: commands/tablecmds.c:7498
 #, 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:7534 commands/tablecmds.c:7595
+#: commands/tablecmds.c:7575 commands/tablecmds.c:7636
 #, 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:7600
+#: commands/tablecmds.c:7641
 #, 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:7653
-#, fuzzy, c-format
-#| msgid "column must be added to child tables too"
+#: commands/tablecmds.c:7694
+#, c-format
 msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too"
-msgstr "la columna debe ser agregada a las tablas hijas también"
+msgstr "ALTER TABLE / DROP EXPRESSION se debe aplicar a las tablas hijas también"
 
-#: commands/tablecmds.c:7675
+#: commands/tablecmds.c:7716
 #, 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:7713
+#: commands/tablecmds.c:7754
 #, 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:7718
+#: commands/tablecmds.c:7759
 #, 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:7818
+#: commands/tablecmds.c:7859
 #, 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:7861
+#: commands/tablecmds.c:7902
 #, 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:7880
+#: commands/tablecmds.c:7921
 #, 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:7885
+#: commands/tablecmds.c:7926
 #, 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:7887
+#: commands/tablecmds.c:7928
 #, 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:8077
+#: commands/tablecmds.c:8118
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "tipo de almacenamiento no válido «%s»"
 
-#: commands/tablecmds.c:8109
+#: commands/tablecmds.c:8150
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
 msgstr "el tipo de datos %s de la columna sólo puede tener almacenamiento PLAIN"
 
-#: commands/tablecmds.c:8154
+#: commands/tablecmds.c:8195
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "no se pueden eliminar columnas de una tabla tipada"
 
-#: commands/tablecmds.c:8213
+#: commands/tablecmds.c:8254
 #, 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:8226
+#: commands/tablecmds.c:8267
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "no se puede eliminar la columna de sistema «%s»"
 
-#: commands/tablecmds.c:8236
+#: commands/tablecmds.c:8277
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "no se puede eliminar la columna heredada «%s»"
 
-#: commands/tablecmds.c:8249
+#: commands/tablecmds.c:8290
 #, 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:8274
+#: commands/tablecmds.c:8315
 #, 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:8478
+#: commands/tablecmds.c:8519
 #, 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:8503
+#: commands/tablecmds.c:8544
 #, 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:8838
+#: commands/tablecmds.c:8879
 #, 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:8844
+#: commands/tablecmds.c:8885
 #, 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:8847
+#: commands/tablecmds.c:8888
 #, 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:8854 commands/tablecmds.c:9259
+#: commands/tablecmds.c:8895 commands/tablecmds.c:9300
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "la relación referida «%s» no es una tabla"
 
-#: commands/tablecmds.c:8877
+#: commands/tablecmds.c:8918
 #, 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:8884
+#: commands/tablecmds.c:8925
 #, 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:8890
+#: commands/tablecmds.c:8931
 #, 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:8894
+#: commands/tablecmds.c:8935
 #, 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:8960 commands/tablecmds.c:8966
+#: commands/tablecmds.c:9001 commands/tablecmds.c:9007
 #, 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:8982
+#: commands/tablecmds.c:9023
 #, 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:9089
+#: commands/tablecmds.c:9130
 #, 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:9091
+#: commands/tablecmds.c:9132
 #, 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:9454 commands/tablecmds.c:9847
-#: parser/parse_utilcmd.c:796 parser/parse_utilcmd.c:925
+#: commands/tablecmds.c:9495 commands/tablecmds.c:9888
+#: parser/parse_utilcmd.c:786 parser/parse_utilcmd.c:915
 #, 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:10214 commands/tablecmds.c:10492
-#: commands/tablecmds.c:11367 commands/tablecmds.c:11442
+#: commands/tablecmds.c:10255 commands/tablecmds.c:10533
+#: commands/tablecmds.c:11408 commands/tablecmds.c:11483
 #, 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:10221
+#: commands/tablecmds.c:10262
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint"
 msgstr "la restricción «%s» de la relación «%s» no es una restriccion de llave foránea"
 
-#: commands/tablecmds.c:10259
-#, fuzzy, c-format
-#| msgid "cannot drop inherited constraint \"%s\" of relation \"%s\""
+#: commands/tablecmds.c:10300
+#, c-format
 msgid "cannot alter constraint \"%s\" on relation \"%s\""
-msgstr "no se puede eliminar la restricción «%s» heredada de la relación «%s»"
+msgstr "no se puede modificar la restricción «%s» en la relación «%s»"
 
-#: commands/tablecmds.c:10262
-#, fuzzy, c-format
-#| msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\""
+#: commands/tablecmds.c:10303
+#, c-format
 msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"."
-msgstr "la restricción «%s» está en conflicto con la restricción heredada de la relación «%s»"
+msgstr "La restricción «%s» deriva de la restricción «%s» de la relación «%s»."
 
-#: commands/tablecmds.c:10264
+#: commands/tablecmds.c:10305
 #, c-format
 msgid "You may alter the constraint it derives from, instead."
-msgstr ""
+msgstr "En su lugar, puede modificar la restricción de la cual deriva."
 
-#: commands/tablecmds.c:10500
+#: commands/tablecmds.c:10541
 #, 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:10578
+#: commands/tablecmds.c:10619
 #, 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:10662
+#: commands/tablecmds.c:10703
 #, 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:10667
+#: commands/tablecmds.c:10708
 #, 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:10732
+#: commands/tablecmds.c:10773
 #, 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:10749
+#: commands/tablecmds.c:10790
 #, 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:10814
+#: commands/tablecmds.c:10855
 #, 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:10908
+#: commands/tablecmds.c:10949
 #, 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:10913
+#: commands/tablecmds.c:10954
 #, 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:11323
+#: commands/tablecmds.c:11364
 #, 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:11373
+#: commands/tablecmds.c:11414
 #, 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:11549
+#: commands/tablecmds.c:11590
 #, 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:11576
+#: commands/tablecmds.c:11617
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "no se puede alterar la columna heredada «%s»"
 
-#: commands/tablecmds.c:11585
+#: commands/tablecmds.c:11626
 #, 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:11635
+#: commands/tablecmds.c:11676
 #, 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:11638
+#: commands/tablecmds.c:11679
 #, c-format
 msgid "You might need to add an explicit cast."
 msgstr "Puede ser necesario agregar un cast explícito."
 
-#: commands/tablecmds.c:11642
+#: commands/tablecmds.c:11683
 #, 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:11645
+#: commands/tablecmds.c:11686
 #, c-format
 msgid "You might need to specify \"USING %s::%s\"."
 msgstr "Puede ser necesario especificar «USING %s::%s»."
 
-#: commands/tablecmds.c:11745
+#: commands/tablecmds.c:11785
 #, 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:11773
+#: commands/tablecmds.c:11813
 #, 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:11784
+#: commands/tablecmds.c:11824
 #, 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:11909
+#: commands/tablecmds.c:11949
 #, 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:11947
+#: commands/tablecmds.c:11987
 #, 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:11952
+#: commands/tablecmds.c:11992
 #, 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:12030
+#: commands/tablecmds.c:12070
 #, 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:12031
+#: commands/tablecmds.c:12071
 #, 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:12052
+#: commands/tablecmds.c:12092
 #, 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:12053 commands/tablecmds.c:12072
-#: commands/tablecmds.c:12090
+#: commands/tablecmds.c:12093 commands/tablecmds.c:12112
+#: commands/tablecmds.c:12130
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s depende de la columna «%s»"
 
-#: commands/tablecmds.c:12071
+#: commands/tablecmds.c:12111
 #, 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:12089
+#: commands/tablecmds.c:12129
 #, 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:13158 commands/tablecmds.c:13170
+#: commands/tablecmds.c:13198 commands/tablecmds.c:13210
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "no se puede cambiar el dueño del índice «%s»"
 
-#: commands/tablecmds.c:13160 commands/tablecmds.c:13172
+#: commands/tablecmds.c:13200 commands/tablecmds.c:13212
 #, c-format
 msgid "Change the ownership of the index's table, instead."
 msgstr "Considere cambiar el dueño de la tabla en vez de cambiar el dueño del índice."
 
-#: commands/tablecmds.c:13186
+#: commands/tablecmds.c:13226
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "no se puede cambiar el dueño de la secuencia «%s»"
 
-#: commands/tablecmds.c:13200 commands/tablecmds.c:16503
+#: commands/tablecmds.c:13240 commands/tablecmds.c:16547
 #, c-format
 msgid "Use ALTER TYPE instead."
 msgstr "Considere usar ALTER TYPE."
 
-#: commands/tablecmds.c:13209
+#: commands/tablecmds.c:13249
 #, c-format
 msgid "\"%s\" is not a table, view, sequence, or foreign table"
 msgstr "«%s» no es una tabla, vista, secuencia o tabla foránea"
 
-#: commands/tablecmds.c:13548
+#: commands/tablecmds.c:13588
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "no se pueden tener múltiples subórdenes SET TABLESPACE"
 
-#: commands/tablecmds.c:13625
+#: commands/tablecmds.c:13665
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, index, or TOAST table"
 msgstr "«%s» no es una tabla, vista, tabla materializada, índice o tabla TOAST"
 
-#: commands/tablecmds.c:13658 commands/view.c:494
+#: commands/tablecmds.c:13698 commands/view.c:491
 #, 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:13910
+#: commands/tablecmds.c:13950
 #, 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:13922
+#: commands/tablecmds.c:13962
 #, 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:14014
+#: commands/tablecmds.c:14054
 #, 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:14030
+#: commands/tablecmds.c:14070
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "no se encontraron relaciones coincidentes en el tablespace «%s»"
 
-#: commands/tablecmds.c:14146
+#: commands/tablecmds.c:14186
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "no se puede cambiar la herencia de una tabla tipada"
 
-#: commands/tablecmds.c:14151 commands/tablecmds.c:14707
+#: commands/tablecmds.c:14191 commands/tablecmds.c:14747
 #, c-format
 msgid "cannot change inheritance of a partition"
 msgstr "no puede cambiar la herencia de una partición"
 
-#: commands/tablecmds.c:14156
+#: commands/tablecmds.c:14196
 #, c-format
 msgid "cannot change inheritance of partitioned table"
 msgstr "no se puede cambiar la herencia de una tabla particionada"
 
-#: commands/tablecmds.c:14202
+#: commands/tablecmds.c:14242
 #, 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:14215
+#: commands/tablecmds.c:14255
 #, c-format
 msgid "cannot inherit from a partition"
 msgstr "no se puede heredar de una partición"
 
-#: commands/tablecmds.c:14237 commands/tablecmds.c:17147
+#: commands/tablecmds.c:14277 commands/tablecmds.c:17191
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "la herencia circular no está permitida"
 
-#: commands/tablecmds.c:14238 commands/tablecmds.c:17148
+#: commands/tablecmds.c:14278 commands/tablecmds.c:17192
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "«%s» ya es un hijo de «%s»."
 
-#: commands/tablecmds.c:14251
+#: commands/tablecmds.c:14291
 #, 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:14253
+#: commands/tablecmds.c:14293
 #, 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:14456
+#: commands/tablecmds.c:14496
 #, 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:14465
-#, fuzzy, c-format
-#| msgid "column \"%s\" in child table must be marked NOT NULL"
+#: commands/tablecmds.c:14505
+#, c-format
 msgid "column \"%s\" in child table must be a generated column"
-msgstr "columna «%s» en tabla hija debe marcarse como NOT NULL"
+msgstr "columna «%s» en tabla hija debe ser una columna generada"
 
-#: commands/tablecmds.c:14515
-#, fuzzy, c-format
-#| msgid "column \"%s\" inherits conflicting generation expressions"
+#: commands/tablecmds.c:14555
+#, c-format
 msgid "column \"%s\" in child table has a conflicting generation expression"
-msgstr "la columna «%s» hereda expresiones de generación en conflicto"
+msgstr "la columna «%s» en tabla hija tiene una expresión de generación en conflicto"
 
-#: commands/tablecmds.c:14543
+#: commands/tablecmds.c:14583
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "tabla hija no tiene la columna «%s»"
 
-#: commands/tablecmds.c:14631
+#: commands/tablecmds.c:14671
 #, 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:14639
+#: commands/tablecmds.c:14679
 #, 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:14650
+#: commands/tablecmds.c:14690
 #, 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:14685
+#: commands/tablecmds.c:14725
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "tabla hija no tiene la restricción «%s»"
 
-#: commands/tablecmds.c:14773
-#, fuzzy, c-format
-#| msgid "partition \"%s\" would overlap partition \"%s\""
-msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\""
-msgstr "la partición «%s» traslaparía con la partición «%s»"
-
-#: commands/tablecmds.c:14777
+#: commands/tablecmds.c:14811
 #, c-format
-msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the detach operation."
-msgstr ""
+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:14802 commands/tablecmds.c:14850
+#: commands/tablecmds.c:14840 commands/tablecmds.c:14888
 #, 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:14856
+#: commands/tablecmds.c:14894
 #, 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:15084
+#: commands/tablecmds.c:15122
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "las tablas tipadas no pueden heredar"
 
-#: commands/tablecmds.c:15114
+#: commands/tablecmds.c:15152
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "la tabla no tiene la columna «%s»"
 
-#: commands/tablecmds.c:15125
+#: commands/tablecmds.c:15163
 #, 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:15134
+#: commands/tablecmds.c:15172
 #, 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:15148
+#: commands/tablecmds.c:15186
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "tabla tiene la columna extra «%s»"
 
-#: commands/tablecmds.c:15200
+#: commands/tablecmds.c:15238
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "«%s» no es una tabla tipada"
 
-#: commands/tablecmds.c:15382
+#: commands/tablecmds.c:15426
 #, 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:15388
+#: commands/tablecmds.c:15432
 #, 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:15394
+#: commands/tablecmds.c:15438
 #, 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:15400
+#: commands/tablecmds.c:15444
 #, 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:15406
+#: commands/tablecmds.c:15450
 #, c-format
 msgid "cannot use invalid index \"%s\" as replica identity"
 msgstr "no se puede usar el índice no válido «%s» como identidad de réplica"
 
-#: commands/tablecmds.c:15423
+#: commands/tablecmds.c:15467
 #, 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:15430
+#: commands/tablecmds.c:15474
 #, 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:15677
+#: commands/tablecmds.c:15721
 #, 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:15701
+#: commands/tablecmds.c:15745
 #, 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:15703
+#: commands/tablecmds.c:15747
 #, c-format
 msgid "Unlogged relations cannot be replicated."
 msgstr "Las tablas «unlogged» no pueden replicarse."
 
-#: commands/tablecmds.c:15748
+#: commands/tablecmds.c:15792
 #, 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:15758
+#: commands/tablecmds.c:15802
 #, 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:15816
+#: commands/tablecmds.c:15860
 #, 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:15923
+#: commands/tablecmds.c:15967
 #, 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:16486
+#: commands/tablecmds.c:16530
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "«%s» no es un tipo compuesto"
 
-#: commands/tablecmds.c:16518
+#: commands/tablecmds.c:16562
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, sequence, or foreign table"
 msgstr "«%s» no es una tabla, vista, vista materializada, secuencia o tabla foránea"
 
-#: commands/tablecmds.c:16553
+#: commands/tablecmds.c:16597
 #, c-format
 msgid "unrecognized partitioning strategy \"%s\""
 msgstr "estrategia de particionamiento «%s» no reconocida"
 
-#: commands/tablecmds.c:16561
+#: commands/tablecmds.c:16605
 #, 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:16627
+#: commands/tablecmds.c:16671
 #, 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:16635
+#: commands/tablecmds.c:16679
 #, 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:16646 commands/tablecmds.c:16760
+#: commands/tablecmds.c:16690 commands/tablecmds.c:16804
 #, 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:16647 commands/tablecmds.c:16761 commands/trigger.c:635
-#: rewrite/rewriteHandler.c:884 rewrite/rewriteHandler.c:919
+#: commands/tablecmds.c:16691 commands/tablecmds.c:16805 commands/trigger.c:653
+#: rewrite/rewriteHandler.c:907 rewrite/rewriteHandler.c:942
 #, c-format
 msgid "Column \"%s\" is a generated column."
 msgstr "La columna «%s» es una columna generada."
 
-#: commands/tablecmds.c:16723
+#: commands/tablecmds.c:16767
 #, 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:16743
+#: commands/tablecmds.c:16787
 #, 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:16773
+#: commands/tablecmds.c:16817
 #, c-format
 msgid "cannot use constant expression as partition key"
 msgstr "no se pueden usar expresiones constantes como llave de particionamiento"
 
-#: commands/tablecmds.c:16794
+#: commands/tablecmds.c:16838
 #, 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:16829
+#: commands/tablecmds.c:16873
 #, 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:16835
+#: commands/tablecmds.c:16879
 #, 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:17087
+#: commands/tablecmds.c:17131
 #, c-format
 msgid "\"%s\" is already a partition"
 msgstr "«%s» ya es una partición"
 
-#: commands/tablecmds.c:17093
+#: commands/tablecmds.c:17137
 #, c-format
 msgid "cannot attach a typed table as partition"
 msgstr "no puede adjuntar tabla tipada como partición"
 
-#: commands/tablecmds.c:17109
+#: commands/tablecmds.c:17153
 #, c-format
 msgid "cannot attach inheritance child as partition"
 msgstr "no puede adjuntar hija de herencia como partición"
 
-#: commands/tablecmds.c:17123
+#: commands/tablecmds.c:17167
 #, c-format
 msgid "cannot attach inheritance parent as partition"
 msgstr "no puede adjuntar ancestro de herencia como partición"
 
-#: commands/tablecmds.c:17157
+#: commands/tablecmds.c:17201
 #, 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:17165
+#: commands/tablecmds.c:17209
 #, 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:17173
+#: commands/tablecmds.c:17217
 #, 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:17180
+#: commands/tablecmds.c:17224
 #, 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:17200
+#: commands/tablecmds.c:17244
 #, 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:17203
+#: commands/tablecmds.c:17247
 #, 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:17215
+#: commands/tablecmds.c:17259
 #, 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:17217 commands/trigger.c:441
+#: commands/tablecmds.c:17261 commands/trigger.c:459
 #, 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:17380
+#: commands/tablecmds.c:17440
 #, 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:17383
-#, fuzzy, c-format
-#| msgid "Table \"%s\" contains unique indexes."
+#: commands/tablecmds.c:17443
+#, c-format
 msgid "Partitioned table \"%s\" contains unique indexes."
-msgstr "La tabla «%s» contiene índices únicos."
+msgstr "La tabla particionada «%s» contiene índices únicos."
 
-#: commands/tablecmds.c:17703
-#, fuzzy, c-format
-#| msgid "a hash-partitioned table may not have a default partition"
+#: commands/tablecmds.c:17763
+#, c-format
 msgid "cannot detach partitions concurrently when a default partition exists"
-msgstr "una tabla particionada por hash no puede tener una partición default"
+msgstr "no se puede desprender particiones concurrentemente cuando existe una partición por omisión"
 
-#: commands/tablecmds.c:17812
-#, fuzzy, c-format
-#| msgid "cannot create index on partitioned table \"%s\" concurrently"
+#: commands/tablecmds.c:17872
+#, c-format
 msgid "partitioned table \"%s\" was removed concurrently"
-msgstr "no se puede crear un índice en la tabla particionada «%s» concurrentemente"
+msgstr "la tabla particionada «%s» fue eliminada concurrentemente"
 
-#: commands/tablecmds.c:17818
-#, fuzzy, c-format
-#| msgid "cannot drop partitioned index \"%s\" concurrently"
+#: commands/tablecmds.c:17878
+#, c-format
 msgid "partition \"%s\" was removed concurrently"
-msgstr "no se puede eliminar el índice particionado «%s» concurrentemente"
+msgstr "la partición «%s» fue eliminada concurrentemente"
 
-#: commands/tablecmds.c:18272 commands/tablecmds.c:18292
-#: commands/tablecmds.c:18312 commands/tablecmds.c:18331
-#: commands/tablecmds.c:18373
+#: commands/tablecmds.c:18351 commands/tablecmds.c:18371
+#: commands/tablecmds.c:18391 commands/tablecmds.c:18410
+#: commands/tablecmds.c:18452
 #, 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:18275
+#: commands/tablecmds.c:18354
 #, c-format
 msgid "Index \"%s\" is already attached to another index."
 msgstr "El índice «%s» ya está adjunto a otro índice."
 
-#: commands/tablecmds.c:18295
+#: commands/tablecmds.c:18374
 #, 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:18315
+#: commands/tablecmds.c:18394
 #, c-format
 msgid "The index definitions do not match."
 msgstr "Las definiciones de los índices no coinciden."
 
-#: commands/tablecmds.c:18334
+#: commands/tablecmds.c:18413
 #, 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:18376
+#: commands/tablecmds.c:18455
 #, 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:18606
-#, fuzzy, c-format
-#| msgid "this build does not support compression"
+#: commands/tablecmds.c:18685
+#, c-format
 msgid "column data type %s does not support compression"
-msgstr "esta instalación no soporta compresión"
+msgstr "el tipo de dato de columna %s no soporta compresión"
 
-#: commands/tablecmds.c:18613
-#, fuzzy, c-format
-#| msgid "invalid compression level \"%s\""
+#: commands/tablecmds.c:18692
+#, c-format
 msgid "invalid compression method \"%s\""
-msgstr "valor de compresión «%s» no válido"
+msgstr "método de compresión «%s» no válido"
 
 #: commands/tablespace.c:162 commands/tablespace.c:179
 #: commands/tablespace.c:190 commands/tablespace.c:198
-#: commands/tablespace.c:650 replication/slot.c:1476 storage/file/copydir.c:47
+#: commands/tablespace.c:636 replication/slot.c:1471 storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "no se pudo crear el directorio «%s»: %m"
 
-#: commands/tablespace.c:209
+#: commands/tablespace.c:209 commands/tablespace.c:631
 #, c-format
 msgid "could not stat directory \"%s\": %m"
 msgstr "no se pudo hacer stat al directorio «%s»: %m"
 
-#: commands/tablespace.c:218
+#: commands/tablespace.c:218 commands/tablespace.c:642
 #, c-format
 msgid "\"%s\" exists but is not a directory"
 msgstr "«%s» existe pero no es un directorio"
@@ -10707,24 +10582,24 @@ msgstr "la ruta «%s» del tablespace es demasiado larga"
 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:305 commands/tablespace.c:977
+#: commands/tablespace.c:305 commands/tablespace.c:973
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "el nombre de tablespace «%s» es inaceptable"
 
-#: commands/tablespace.c:307 commands/tablespace.c:978
+#: commands/tablespace.c:307 commands/tablespace.c:974
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "El prefijo «pg_» está reservado para tablespaces del sistema."
 
-#: commands/tablespace.c:326 commands/tablespace.c:999
+#: commands/tablespace.c:326 commands/tablespace.c:995
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "el tablespace «%s» ya existe"
 
-#: commands/tablespace.c:444 commands/tablespace.c:960
-#: commands/tablespace.c:1049 commands/tablespace.c:1118
-#: commands/tablespace.c:1264 commands/tablespace.c:1467
+#: commands/tablespace.c:444 commands/tablespace.c:956
+#: commands/tablespace.c:1045 commands/tablespace.c:1114
+#: commands/tablespace.c:1260 commands/tablespace.c:1463
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "no existe el tablespace «%s»"
@@ -10735,10 +10610,9 @@ msgid "tablespace \"%s\" does not exist, skipping"
 msgstr "el tablespace «%s» no existe, omitiendo"
 
 #: commands/tablespace.c:478
-#, fuzzy, c-format
-#| msgid "role \"%s\" cannot be dropped because some objects depend on it"
+#, c-format
 msgid "tablespace \"%s\" cannot be dropped because some objects depend on it"
-msgstr "no se puede eliminar el rol «%s» porque otros objetos dependen de él"
+msgstr "no se puede eliminar el tablespace «%s» porque otros objetos dependen de él"
 
 #: commands/tablespace.c:537
 #, c-format
@@ -10760,306 +10634,303 @@ msgstr "Cree este directorio para el tablespace antes de reiniciar el servidor."
 msgid "could not set permissions on directory \"%s\": %m"
 msgstr "no se pudo definir los permisos del directorio «%s»: %m"
 
-#: commands/tablespace.c:645
+#: commands/tablespace.c:647
 #, c-format
 msgid "directory \"%s\" already in use as a tablespace"
 msgstr "el directorio «%s» ya está siendo usado como tablespace"
 
-#: commands/tablespace.c:769 commands/tablespace.c:782
-#: commands/tablespace.c:818 commands/tablespace.c:910 storage/file/fd.c:3161
-#: storage/file/fd.c:3557
+#: commands/tablespace.c:765 commands/tablespace.c:778
+#: commands/tablespace.c:814 commands/tablespace.c:906 storage/file/fd.c:3163
+#: storage/file/fd.c:3559
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "no se pudo eliminar el directorio «%s»: %m"
 
-#: commands/tablespace.c:831 commands/tablespace.c:919
+#: commands/tablespace.c:827 commands/tablespace.c:915
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "no se pudo eliminar el enlace simbólico «%s»: %m"
 
-#: commands/tablespace.c:841 commands/tablespace.c:928
+#: commands/tablespace.c:837 commands/tablespace.c:924
 #, c-format
 msgid "\"%s\" is not a directory or symbolic link"
 msgstr "«%s» no es un directorio o enlace simbólico"
 
-#: commands/tablespace.c:1123
+#: commands/tablespace.c:1119
 #, c-format
 msgid "Tablespace \"%s\" does not exist."
 msgstr "No existe el tablespace «%s»."
 
-#: commands/tablespace.c:1566
+#: 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:1568
+#: 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:198 commands/trigger.c:209
+#: commands/trigger.c:216 commands/trigger.c:227
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "«%s» es una tabla"
 
-#: commands/trigger.c:200 commands/trigger.c:211
+#: commands/trigger.c:218 commands/trigger.c:229
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "Las tablas no pueden tener disparadores INSTEAD OF."
 
-#: commands/trigger.c:232
+#: commands/trigger.c:250
 #, c-format
 msgid "\"%s\" is a partitioned table"
 msgstr "«%s» es una tabla particionada"
 
-#: commands/trigger.c:234
+#: commands/trigger.c:252
 #, c-format
 msgid "Triggers on partitioned tables cannot have transition tables."
 msgstr "Los triggers en tablas particionadas no pueden tener tablas de transición."
 
-#: commands/trigger.c:246 commands/trigger.c:253 commands/trigger.c:423
+#: commands/trigger.c:264 commands/trigger.c:271 commands/trigger.c:441
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "«%s» es una vista"
 
-#: commands/trigger.c:248
+#: commands/trigger.c:266
 #, 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:255
+#: commands/trigger.c:273
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "Las vistas no pueden tener disparadores TRUNCATE."
 
-#: commands/trigger.c:263 commands/trigger.c:270 commands/trigger.c:282
-#: commands/trigger.c:416
+#: commands/trigger.c:281 commands/trigger.c:288 commands/trigger.c:300
+#: commands/trigger.c:434
 #, c-format
 msgid "\"%s\" is a foreign table"
 msgstr "«%s» es una tabla foránea"
 
-#: commands/trigger.c:265
+#: commands/trigger.c:283
 #, c-format
 msgid "Foreign tables cannot have INSTEAD OF triggers."
 msgstr "Las tablas foráneas no pueden tener disparadores INSTEAD OF."
 
-#: commands/trigger.c:272
+#: commands/trigger.c:290
 #, c-format
 msgid "Foreign tables cannot have TRUNCATE triggers."
 msgstr "Las tablas foráneas no pueden tener disparadores TRUNCATE."
 
-#: commands/trigger.c:284
+#: commands/trigger.c:302
 #, c-format
 msgid "Foreign tables cannot have constraint triggers."
 msgstr "Las tablas foráneas no pueden tener disparadores de restricción."
 
-#: commands/trigger.c:359
+#: commands/trigger.c:377
 #, 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:367
+#: commands/trigger.c:385
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "los disparadores INSTEAD OF deben ser FOR EACH ROW"
 
-#: commands/trigger.c:371
+#: commands/trigger.c:389
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "los disparadores INSTEAD OF no pueden tener condiciones WHEN"
 
-#: commands/trigger.c:375
+#: commands/trigger.c:393
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "los disparadores INSTEAD OF no pueden tener listas de columnas"
 
-#: commands/trigger.c:404
+#: commands/trigger.c:422
 #, 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:405
+#: commands/trigger.c:423
 #, 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:418
+#: commands/trigger.c:436
 #, 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:425
+#: commands/trigger.c:443
 #, 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:445
+#: commands/trigger.c:463
 #, 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:451
+#: commands/trigger.c:469
 #, 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:456
+#: commands/trigger.c:474
 #, 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:473
+#: commands/trigger.c:491
 #, 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:484
+#: commands/trigger.c:502
 #, 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:501
+#: commands/trigger.c:519
 #, 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:506
+#: commands/trigger.c:524
 #, c-format
 msgid "NEW TABLE cannot be specified multiple times"
 msgstr "NEW TABLE no se puede especificar varias veces"
 
-#: commands/trigger.c:516
+#: commands/trigger.c:534
 #, 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:521
+#: commands/trigger.c:539
 #, c-format
 msgid "OLD TABLE cannot be specified multiple times"
 msgstr "OLD TABLE no se puede especificar varias veces"
 
-#: commands/trigger.c:531
+#: commands/trigger.c:549
 #, 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:595 commands/trigger.c:608
+#: commands/trigger.c:613 commands/trigger.c:626
 #, 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:600
+#: commands/trigger.c:618
 #, 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:613
+#: commands/trigger.c:631
 #, 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:618
+#: commands/trigger.c:636
 #, 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:626 commands/trigger.c:634
+#: commands/trigger.c:644 commands/trigger.c:652
 #, 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:627
+#: commands/trigger.c:645
 #, 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:741 commands/trigger.c:1450
+#: commands/trigger.c:759 commands/trigger.c:1468
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "ya existe un trigger «%s» para la relación «%s»"
 
-#: commands/trigger.c:755
-#, fuzzy, c-format
-#| msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping"
+#: commands/trigger.c:773
+#, c-format
 msgid "trigger \"%s\" for relation \"%s\" is an internal trigger"
-msgstr "disparador «%s» para la relación «%s» no existe, omitiendo"
+msgstr "disparador «%s» para la relación «%s» es un disparador interno"
 
-#: commands/trigger.c:774
-#, fuzzy, c-format
-#| msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping"
+#: commands/trigger.c:792
+#, c-format
 msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger"
-msgstr "disparador «%s» para la relación «%s» no existe, omitiendo"
+msgstr "disparador «%s» para la relación «%s» es un disparador de restricción"
 
-#: commands/trigger.c:1336 commands/trigger.c:1497 commands/trigger.c:1612
+#: commands/trigger.c:1354 commands/trigger.c:1515 commands/trigger.c:1630
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "no existe el trigger «%s» para la tabla «%s»"
 
-#: commands/trigger.c:1580
+#: commands/trigger.c:1598
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "permiso denegado: «%s» es un trigger de sistema"
 
-#: commands/trigger.c:2160
+#: commands/trigger.c:2178
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "la función de trigger %u ha retornado un valor null"
 
-#: commands/trigger.c:2220 commands/trigger.c:2434 commands/trigger.c:2673
-#: commands/trigger.c:2977
+#: commands/trigger.c:2238 commands/trigger.c:2452 commands/trigger.c:2691
+#: commands/trigger.c:2995
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "un trigger BEFORE STATEMENT no puede retornar un valor"
 
-#: commands/trigger.c:2294
+#: commands/trigger.c:2312
 #, 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:2295
+#: commands/trigger.c:2313
 #, 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:3043 executor/nodeModifyTable.c:1811
-#: executor/nodeModifyTable.c:1893
+#: commands/trigger.c:3061 executor/nodeModifyTable.c:1824
+#: executor/nodeModifyTable.c:1906
 #, 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:3044 executor/nodeModifyTable.c:1193
-#: executor/nodeModifyTable.c:1267 executor/nodeModifyTable.c:1812
-#: executor/nodeModifyTable.c:1894
+#: commands/trigger.c:3062 executor/nodeModifyTable.c:1206
+#: executor/nodeModifyTable.c:1280 executor/nodeModifyTable.c:1825
+#: executor/nodeModifyTable.c:1907
 #, 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:3073 executor/nodeLockRows.c:229
+#: commands/trigger.c:3091 executor/nodeLockRows.c:229
 #: executor/nodeLockRows.c:238 executor/nodeModifyTable.c:228
-#: executor/nodeModifyTable.c:1209 executor/nodeModifyTable.c:1829
-#: executor/nodeModifyTable.c:2059
+#: executor/nodeModifyTable.c:1222 executor/nodeModifyTable.c:1842
+#: executor/nodeModifyTable.c:2072
 #, 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:3081 executor/nodeModifyTable.c:1299
-#: executor/nodeModifyTable.c:1911 executor/nodeModifyTable.c:2083
+#: commands/trigger.c:3099 executor/nodeModifyTable.c:1312
+#: executor/nodeModifyTable.c:1924 executor/nodeModifyTable.c:2096
 #, 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:4142
-#, fuzzy, c-format
-#| msgid "cannot create temporary table within security-restricted operation"
+#: commands/trigger.c:4160
+#, c-format
 msgid "cannot fire deferred trigger within security-restricted operation"
-msgstr "no se puede crear una tabla temporal dentro una operación restringida por seguridad"
+msgstr "no se puede ejecutar un disparador postergado dentro de una operación restringida por seguridad"
 
-#: commands/trigger.c:5185
+#: commands/trigger.c:5203
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "la restricción «%s» no es postergable"
 
-#: commands/trigger.c:5208
+#: commands/trigger.c:5226
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "no existe la restricción «%s»"
@@ -11211,8 +11082,8 @@ msgstr "la función de salida de modificadores de tipo es inútil sin una funci
 
 #: commands/typecmds.c:515
 #, c-format
-msgid "element type cannot be specified without a valid subscripting procedure"
-msgstr ""
+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:784
 #, c-format
@@ -11259,7 +11130,7 @@ msgstr "no se pueden poner restricciones de llave foránea a un dominio"
 msgid "specifying constraint deferrability not supported for domains"
 msgstr "no se puede especificar la postergabilidad de las restricciones a un dominio"
 
-#: commands/typecmds.c:1320 utils/cache/typcache.c:2545
+#: commands/typecmds.c:1320 utils/cache/typcache.c:2566
 #, c-format
 msgid "%s is not an enum"
 msgstr "%s no es un enum"
@@ -11289,133 +11160,130 @@ msgstr "no se puede especificar una función canónica sin antes crear un tipo i
 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:1982
+#: commands/typecmds.c:1981
 #, 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:2000
+#: commands/typecmds.c:1999
 #, 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:2016
+#: commands/typecmds.c:2015
 #, 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:2044
+#: commands/typecmds.c:2043
 #, 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:2051
+#: commands/typecmds.c:2050
 #, 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:2080
+#: commands/typecmds.c:2079
 #, 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:2098
+#: commands/typecmds.c:2097
 #, 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:2105
+#: commands/typecmds.c:2104
 #, 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:2133
+#: commands/typecmds.c:2132
 #, 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:2140
+#: commands/typecmds.c:2139
 #, c-format
 msgid "type send function %s should not be volatile"
 msgstr "la función «send» %s no debe ser volatile"
 
-#: commands/typecmds.c:2167
+#: commands/typecmds.c:2166
 #, 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:2174
+#: commands/typecmds.c:2173
 #, 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:2201
+#: commands/typecmds.c:2200
 #, 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:2208
+#: commands/typecmds.c:2207
 #, 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:2235
+#: commands/typecmds.c:2234
 #, 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:2264
-#, fuzzy, c-format
-#| msgid "type input function %s must return type %s"
+#: commands/typecmds.c:2263
+#, c-format
 msgid "type subscripting function %s must return type %s"
-msgstr "la función de entrada %s del tipo debe retornar %s"
+msgstr "la función de subindexación %s del tipo debe retornar %s"
 
-#: commands/typecmds.c:2274
+#: commands/typecmds.c:2273
 #, c-format
 msgid "user-defined types cannot use subscripting function %s"
-msgstr ""
+msgstr "los tipos definidos por el usuario no pueden usar la función de subindexación %s"
 
-#: commands/typecmds.c:2320
+#: commands/typecmds.c:2319
 #, 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:2351
+#: commands/typecmds.c:2350
 #, 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:2357
+#: commands/typecmds.c:2356
 #, 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:2393
+#: commands/typecmds.c:2392
 #, 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:2400
+#: commands/typecmds.c:2399
 #, 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:2427
+#: commands/typecmds.c:2426
 #, 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:2460
-#, fuzzy, c-format
-#| msgid "pg_type array OID value not set when in binary upgrade mode"
+#: commands/typecmds.c:2459
+#, c-format
 msgid "pg_type multirange 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"
+msgstr "el valor de OID de multirango de pg_type no se definió en modo de actualización binaria"
 
-#: commands/typecmds.c:2493
-#, fuzzy, c-format
-#| msgid "pg_type array OID value not set when in binary upgrade mode"
+#: commands/typecmds.c:2492
+#, c-format
 msgid "pg_type multirange 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"
+msgstr "el valor de OID de arreglo de multirango de pg_type no se definió en modo de actualización binaria"
 
 #: commands/typecmds.c:2791
 #, c-format
@@ -11519,10 +11387,9 @@ msgid "must be superuser to create replication users"
 msgstr "debe ser superusuario para crear usuarios de replicación"
 
 #: commands/user.c:308
-#, fuzzy, c-format
-#| msgid "must be superuser to create superusers"
+#, c-format
 msgid "must be superuser to create bypassrls users"
-msgstr "debe ser superusuario para crear superusuarios"
+msgstr "debe ser superusuario para crear usuarios con bypassrls"
 
 #: commands/user.c:315
 #, c-format
@@ -11556,16 +11423,14 @@ 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:722
-#, fuzzy, c-format
-#| msgid "must be superuser to change bypassrls attribute"
+#, c-format
 msgid "must be superuser to alter superuser roles or change superuser attribute"
-msgstr "debe ser superusuario para cambiar el atributo bypassrls"
+msgstr "debe ser superusuario para modificar roles de superusuario o cambiar atributos de superusuario"
 
 #: commands/user.c:729
-#, fuzzy, c-format
-#| msgid "must be superuser or replication role to use replication slots"
+#, c-format
 msgid "must be superuser to alter replication roles or change replication attribute"
-msgstr "debe ser superusuario o rol de replicación para usar slots de replicación"
+msgstr "debe ser superusuario para modificar roles de replicación o cambiar atributos de replicación"
 
 #: commands/user.c:736
 #, c-format
@@ -11676,10 +11541,9 @@ msgid "must have admin option on role \"%s\""
 msgstr "debe tener opción de admin en rol «%s»"
 
 #: commands/user.c:1509
-#, fuzzy, c-format
-#| msgid "table \"%s\" cannot be replicated"
+#, c-format
 msgid "role \"%s\" cannot have explicit members"
-msgstr "la tabla «%s» no puede replicarse"
+msgstr "el rol «%s» no puede tener miembros explícitos"
 
 #: commands/user.c:1524
 #, c-format
@@ -11687,10 +11551,9 @@ msgid "must be superuser to set grantor"
 msgstr "debe ser superusuario para especificar el cedente (grantor)"
 
 #: commands/user.c:1560
-#, fuzzy, c-format
-#| msgid "role \"%s\" is not a member of role \"%s\""
+#, c-format
 msgid "role \"%s\" cannot be a member of any role"
-msgstr "el rol «%s» no es un miembro del rol «%s»"
+msgstr "el rol «%s» no puede ser miembro de ningún rol"
 
 #: commands/user.c:1573
 #, c-format
@@ -11712,103 +11575,102 @@ msgstr "el rol «%s» no es un miembro del rol «%s»"
 msgid "unrecognized ANALYZE option \"%s\""
 msgstr "opción de ANALYZE «%s» no reconocida"
 
-#: commands/vacuum.c:156
+#: commands/vacuum.c:170
 #, 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:168
-#, fuzzy, c-format
-#| msgid "parallel vacuum degree must be between 0 and %d"
+#: commands/vacuum.c:182
+#, c-format
 msgid "parallel workers for vacuum must be between 0 and %d"
-msgstr "el grado de paralelismo de vacuum debe estar entre 0 y %d"
+msgstr "el número de procesos paralelos para vacuum debe estar entre 0 y %d"
 
-#: commands/vacuum.c:185
+#: commands/vacuum.c:199
 #, c-format
 msgid "unrecognized VACUUM option \"%s\""
 msgstr "opción de VACUUM «%s» no reconocida"
 
-#: commands/vacuum.c:208
+#: commands/vacuum.c:222
 #, c-format
 msgid "VACUUM FULL cannot be performed in parallel"
 msgstr "VACUUM FULL no puede ser ejecutado en paralelo"
 
-#: commands/vacuum.c:224
+#: commands/vacuum.c:238
 #, 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:314
+#: commands/vacuum.c:328
 #, c-format
 msgid "%s cannot be executed from VACUUM or ANALYZE"
 msgstr "%s no puede ejecutarse desde VACUUM o ANALYZE"
 
-#: commands/vacuum.c:324
+#: commands/vacuum.c:338
 #, 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:331
+#: commands/vacuum.c:345
 #, c-format
 msgid "PROCESS_TOAST required with VACUUM FULL"
-msgstr ""
+msgstr "se requiere especificar PROCESS_TOAST al hacer VACUUM FULL"
 
-#: commands/vacuum.c:572
+#: commands/vacuum.c:586
 #, c-format
 msgid "skipping \"%s\" --- only superuser can vacuum it"
 msgstr "omitiendo «%s»: sólo un superusuario puede aplicarle VACUUM"
 
-#: commands/vacuum.c:576
+#: commands/vacuum.c:590
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can vacuum it"
 msgstr "omitiendo «%s»: sólo un superusuario o el dueño de la base de datos puede aplicarle VACUUM"
 
-#: commands/vacuum.c:580
+#: commands/vacuum.c:594
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can vacuum it"
 msgstr "omitiendo «%s»: sólo su dueño o el de la base de datos puede aplicarle VACUUM"
 
-#: commands/vacuum.c:595
+#: commands/vacuum.c:609
 #, c-format
 msgid "skipping \"%s\" --- only superuser can analyze it"
 msgstr "omitiendo «%s»: sólo un superusuario puede analizarla"
 
-#: commands/vacuum.c:599
+#: commands/vacuum.c:613
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can analyze it"
 msgstr "omitiendo «%s»: sólo un superusuario o el dueño de la base de datos puede analizarla"
 
-#: commands/vacuum.c:603
+#: commands/vacuum.c:617
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can analyze it"
 msgstr "omitiendo «%s»: sólo su dueño o el de la base de datos puede analizarla"
 
-#: commands/vacuum.c:682 commands/vacuum.c:778
+#: commands/vacuum.c:696 commands/vacuum.c:792
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "omitiendo el vacuum de «%s»: el candado no está disponible"
 
-#: commands/vacuum.c:687
+#: commands/vacuum.c:701
 #, 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:703 commands/vacuum.c:783
+#: commands/vacuum.c:717 commands/vacuum.c:797
 #, c-format
 msgid "skipping analyze of \"%s\" --- lock not available"
 msgstr "omitiendo analyze de «%s»: el candado no está disponible"
 
-#: commands/vacuum.c:708
+#: commands/vacuum.c:722
 #, 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:1026
+#: commands/vacuum.c:1040
 #, c-format
 msgid "oldest xmin is far in the past"
 msgstr "xmin más antiguo es demasiado antiguo"
 
-#: commands/vacuum.c:1027
+#: commands/vacuum.c:1041
 #, c-format
 msgid ""
 "Close open transactions soon to avoid wraparound problems.\n"
@@ -11817,32 +11679,32 @@ 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:1068
+#: commands/vacuum.c:1082
 #, c-format
 msgid "oldest multixact is far in the past"
 msgstr "multixact más antiguo es demasiado antiguo"
 
-#: commands/vacuum.c:1069
+#: commands/vacuum.c:1083
 #, c-format
 msgid "Close open transactions with multixacts soon to avoid wraparound problems."
 msgstr "Cierre transacciones con multixact pronto para prevenir problemas por reciclaje del contador."
 
-#: commands/vacuum.c:1726
+#: commands/vacuum.c:1740
 #, 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:1727
+#: commands/vacuum.c:1741
 #, 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:1891
+#: commands/vacuum.c:1905
 #, 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/variable.c:165 utils/misc/guc.c:11625 utils/misc/guc.c:11687
+#: commands/variable.c:165 utils/misc/guc.c:11626 utils/misc/guc.c:11688
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Palabra clave no reconocida: «%s»."
@@ -11938,10 +11800,9 @@ msgid "cannot change client_encoding during a parallel operation"
 msgstr "no se puede cambiar «client_encoding» durante una operación paralela"
 
 #: commands/variable.c:890
-#, fuzzy, c-format
-#| msgid "permission denied to set role \"%s\""
+#, c-format
 msgid "permission will be denied to set role \"%s\""
-msgstr "se ha denegado el permiso para definir el rol «%s»"
+msgstr "se denegará el permiso para definir el rol «%s»"
 
 #: commands/variable.c:895
 #, c-format
@@ -11973,27 +11834,27 @@ msgstr "Use ALTER VIEW ... RENAME COLUMN ... para cambiar el nombre de una colum
 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:441
+#: commands/view.c:438
 #, c-format
 msgid "views must not contain SELECT INTO"
 msgstr "una vista no puede tener SELECT INTO"
 
-#: commands/view.c:453
+#: commands/view.c:450
 #, 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:523
+#: commands/view.c:520
 #, 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:531
+#: commands/view.c:528
 #, 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:545
+#: commands/view.c:542
 #, c-format
 msgid "view \"%s\" will be a temporary view"
 msgstr "la vista «%s» será una vista temporal"
@@ -12064,7 +11925,7 @@ msgstr "La consulta entrega un valor para una columna eliminada en la posición
 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:1110 parser/parse_agg.c:827
+#: executor/execExpr.c:1110 parser/parse_agg.c:820
 #, c-format
 msgid "window function calls cannot be nested"
 msgstr "no se pueden anidar llamadas a funciones de ventana deslizante"
@@ -12088,16 +11949,14 @@ 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:2866 parser/parse_node.c:277 parser/parse_node.c:327
-#, fuzzy, c-format
-#| msgid "cannot subscript type %s because it is not an array"
+#, 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 es un array"
+msgstr "no se puede poner subíndices al tipo %s porque no soporta subíndices"
 
 #: executor/execExpr.c:2994 executor/execExpr.c:3016
-#, fuzzy, c-format
-#| msgid "The server (version %s) does not support subscriptions."
+#, c-format
 msgid "type %s does not support subscripted assignment"
-msgstr "El servidor (versión %s) no soporta suscripciones."
+msgstr "el tipo %s no soporta asignación subindexada"
 
 #: executor/execExprInterp.c:1916
 #, c-format
@@ -12116,8 +11975,8 @@ msgid "Table has type %s, but query expects %s."
 msgstr "La tabla tiene tipo %s, pero la consulta esperaba %s."
 
 #: executor/execExprInterp.c:2003 utils/adt/expandedrecord.c:99
-#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1748
-#: utils/cache/typcache.c:1904 utils/cache/typcache.c:2033
+#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1751
+#: utils/cache/typcache.c:1907 utils/cache/typcache.c:2054
 #: utils/fmgr/funcapi.c:458
 #, c-format
 msgid "type %s is not composite"
@@ -12138,10 +11997,10 @@ msgstr "no se puede mezclar arrays incompatibles"
 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:2776 utils/adt/arrayfuncs.c:262
-#: utils/adt/arrayfuncs.c:562 utils/adt/arrayfuncs.c:1304
-#: utils/adt/arrayfuncs.c:3374 utils/adt/arrayfuncs.c:5336
-#: utils/adt/arrayfuncs.c:5853 utils/adt/arraysubs.c:150
+#: executor/execExprInterp.c:2776 utils/adt/arrayfuncs.c:263
+#: utils/adt/arrayfuncs.c:563 utils/adt/arrayfuncs.c:1305
+#: utils/adt/arrayfuncs.c:3375 utils/adt/arrayfuncs.c:5371
+#: utils/adt/arrayfuncs.c:5888 utils/adt/arraysubs.c:150
 #: utils/adt/arraysubs.c:488
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
@@ -12179,37 +12038,37 @@ msgstr[1] "La fila de la tabla contiene %d atributos, pero la consulta esperaba
 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:571
+#: executor/execIndexing.c:567
 #, 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:842
+#: executor/execIndexing.c:838
 #, c-format
 msgid "could not create exclusion constraint \"%s\""
 msgstr "no se pudo crear la restricción de exclusión «%s»"
 
-#: executor/execIndexing.c:845
+#: executor/execIndexing.c:841
 #, c-format
 msgid "Key %s conflicts with key %s."
 msgstr "La llave %s está en conflicto con la llave %s."
 
-#: executor/execIndexing.c:847
+#: executor/execIndexing.c:843
 #, c-format
 msgid "Key conflicts exist."
 msgstr "Existe un conflicto de llave."
 
-#: executor/execIndexing.c:853
+#: executor/execIndexing.c:849
 #, 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:856
+#: executor/execIndexing.c:852
 #, 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:858
+#: executor/execIndexing.c:854
 #, c-format
 msgid "Key conflicts with existing key."
 msgstr "La llave está en conflicto con una llave existente."
@@ -12224,38 +12083,38 @@ msgstr "no se puede cambiar la secuencia «%s»"
 msgid "cannot change TOAST relation \"%s\""
 msgstr "no se puede cambiar la relación TOAST «%s»"
 
-#: executor/execMain.c:1031 rewrite/rewriteHandler.c:3041
-#: rewrite/rewriteHandler.c:3824
+#: executor/execMain.c:1031 rewrite/rewriteHandler.c:3064
+#: rewrite/rewriteHandler.c:3861
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "no se puede insertar en la vista «%s»"
 
-#: executor/execMain.c:1033 rewrite/rewriteHandler.c:3044
-#: rewrite/rewriteHandler.c:3827
+#: executor/execMain.c:1033 rewrite/rewriteHandler.c:3067
+#: rewrite/rewriteHandler.c:3864
 #, 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:1039 rewrite/rewriteHandler.c:3049
-#: rewrite/rewriteHandler.c:3832
+#: executor/execMain.c:1039 rewrite/rewriteHandler.c:3072
+#: rewrite/rewriteHandler.c:3869
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "no se puede actualizar la vista «%s»"
 
-#: executor/execMain.c:1041 rewrite/rewriteHandler.c:3052
-#: rewrite/rewriteHandler.c:3835
+#: executor/execMain.c:1041 rewrite/rewriteHandler.c:3075
+#: rewrite/rewriteHandler.c:3872
 #, 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:1047 rewrite/rewriteHandler.c:3057
-#: rewrite/rewriteHandler.c:3840
+#: executor/execMain.c:1047 rewrite/rewriteHandler.c:3080
+#: rewrite/rewriteHandler.c:3877
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "no se puede eliminar de la vista «%s»"
 
-#: executor/execMain.c:1049 rewrite/rewriteHandler.c:3060
-#: rewrite/rewriteHandler.c:3843
+#: executor/execMain.c:1049 rewrite/rewriteHandler.c:3083
+#: rewrite/rewriteHandler.c:3880
 #, 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."
@@ -12404,8 +12263,8 @@ msgstr "eliminacón concurrente, reintentando"
 
 #: executor/execReplication.c:269 parser/parse_cte.c:502
 #: parser/parse_oper.c:233 utils/adt/array_userfuncs.c:720
-#: utils/adt/array_userfuncs.c:859 utils/adt/arrayfuncs.c:3654
-#: utils/adt/arrayfuncs.c:4174 utils/adt/arrayfuncs.c:6166
+#: utils/adt/array_userfuncs.c:859 utils/adt/arrayfuncs.c:3655
+#: utils/adt/arrayfuncs.c:4209 utils/adt/arrayfuncs.c:6201
 #: utils/adt/rowtypes.c:1203
 #, c-format
 msgid "could not identify an equality operator for type %s"
@@ -12452,10 +12311,9 @@ 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:365
-#, fuzzy, c-format
-#| msgid "table-function protocol for materialize mode was not followed"
+#, 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 materialización"
+msgstr "no se siguió el protocolo de función tabular para el modo de valor por llamada"
 
 #: executor/execSRF.c:373 executor/execSRF.c:667
 #, c-format
@@ -12491,10 +12349,9 @@ 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:712
-#, fuzzy, c-format
-#| msgid "cannot use system column \"%s\" in partition key"
+#, c-format
 msgid "cannot retrieve a system column in this context"
-msgstr "no se puede usar la columna de sistema «%s» en llave de particionamiento"
+msgstr "no se puede obtener una columna de sistema en este contexto"
 
 #: executor/execUtils.c:736
 #, c-format
@@ -12512,92 +12369,90 @@ msgid "could not determine actual type of argument declared %s"
 msgstr "no se pudo determinar el tipo de argumento declarado %s"
 
 #: executor/functions.c:514
-#, fuzzy, c-format
-#| msgid "cannot COPY to/from client in a SQL function"
+#, 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:520
-#, fuzzy, c-format
-#| msgid "%s is not allowed in a SQL function"
+#, 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:528 executor/spi.c:1633 executor/spi.c:2485
+#: executor/functions.c:528 executor/spi.c:1649 executor/spi.c:2538
 #, 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:1441
+#: executor/functions.c:1442
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "función SQL «%s» en la sentencia %d"
 
-#: executor/functions.c:1467
+#: executor/functions.c:1468
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "función SQL «%s» durante el inicio"
 
-#: executor/functions.c:1552
+#: executor/functions.c:1553
 #, c-format
 msgid "calling procedures with output arguments is not supported in SQL functions"
 msgstr "no está permitido invocar procedimientos con arguments de salida en funciones SQL"
 
-#: executor/functions.c:1685 executor/functions.c:1723
-#: executor/functions.c:1737 executor/functions.c:1827
-#: executor/functions.c:1860 executor/functions.c:1874
+#: executor/functions.c:1686 executor/functions.c:1724
+#: executor/functions.c:1738 executor/functions.c:1828
+#: executor/functions.c:1861 executor/functions.c:1875
 #, 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:1687
+#: executor/functions.c:1688
 #, c-format
 msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING."
 msgstr "La sentencia final de la función debe ser un SELECT o INSERT/UPDATE/DELETE RETURNING."
 
-#: executor/functions.c:1725
+#: executor/functions.c:1726
 #, c-format
 msgid "Final statement must return exactly one column."
 msgstr "La sentencia final debe retornar exactamente una columna."
 
-#: executor/functions.c:1739
+#: executor/functions.c:1740
 #, c-format
 msgid "Actual return type is %s."
 msgstr "El verdadero tipo de retorno es %s."
 
-#: executor/functions.c:1829
+#: executor/functions.c:1830
 #, c-format
 msgid "Final statement returns too many columns."
 msgstr "La sentencia final retorna demasiadas columnas."
 
-#: executor/functions.c:1862
+#: executor/functions.c:1863
 #, 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:1876
+#: executor/functions.c:1877
 #, c-format
 msgid "Final statement returns too few columns."
 msgstr "La sentencia final retorna muy pocas columnas."
 
-#: executor/functions.c:1904
+#: executor/functions.c:1905
 #, 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:3083 executor/nodeAgg.c:3092 executor/nodeAgg.c:3104
+#: executor/nodeAgg.c:3088 executor/nodeAgg.c:3097 executor/nodeAgg.c:3109
 #, c-format
 msgid "unexpected EOF for tape %d: requested %zu bytes, read %zu bytes"
 msgstr "EOF inesperado para la cinta %d: se requerían %zu bytes, se leyeron %zu bytes"
 
-#: executor/nodeAgg.c:3977 parser/parse_agg.c:666 parser/parse_agg.c:696
+#: executor/nodeAgg.c:3974 parser/parse_agg.c:661 parser/parse_agg.c:689
 #, c-format
 msgid "aggregate function calls cannot be nested"
 msgstr "no se pueden anidar llamadas a funciones de agregación"
 
-#: executor/nodeAgg.c:4185 executor/nodeWindowAgg.c:2836
+#: executor/nodeAgg.c:4182 executor/nodeWindowAgg.c:2836
 #, 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"
@@ -12617,7 +12472,7 @@ msgstr "no se puede rebobinar el archivo temporal del hash-join"
 msgid "could not read from hash-join temporary file: read only %zu of %zu bytes"
 msgstr "no se pudo leer el archivo temporal de hash-join: se leyeron sólo %zu de %zu bytes"
 
-#: executor/nodeIndexonlyscan.c:242
+#: executor/nodeIndexonlyscan.c:240
 #, 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"
@@ -12647,27 +12502,27 @@ msgstr "FULL JOIN sólo está soportado con condiciones que se pueden usar con m
 msgid "Query has too few columns."
 msgstr "La consulta tiene muy pocas columnas."
 
-#: executor/nodeModifyTable.c:1192 executor/nodeModifyTable.c:1266
+#: executor/nodeModifyTable.c:1205 executor/nodeModifyTable.c:1279
 #, 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:1441
+#: executor/nodeModifyTable.c:1454
 #, c-format
 msgid "invalid ON UPDATE specification"
 msgstr "especificación ON UPDATE no válida"
 
-#: executor/nodeModifyTable.c:1442
+#: executor/nodeModifyTable.c:1455
 #, 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:2038
+#: executor/nodeModifyTable.c:2051
 #, c-format
 msgid "ON CONFLICT DO UPDATE command cannot affect row a second time"
 msgstr "la orden ON CONFLICT DO UPDATE no puede afectar el registro una segunda vez"
 
-#: executor/nodeModifyTable.c:2039
+#: executor/nodeModifyTable.c:2052
 #, 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."
@@ -12743,70 +12598,79 @@ msgstr "la posición final del marco no debe ser negativa"
 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:237 executor/spi.c:302
+#: executor/spi.c:234 executor/spi.c:299
 #, c-format
 msgid "invalid transaction termination"
 msgstr "terminación de transacción no válida"
 
-#: executor/spi.c:251
+#: executor/spi.c:248
 #, c-format
 msgid "cannot commit while a subtransaction is active"
 msgstr "no se puede comprometer mientras hay una subtransacción activa"
 
-#: executor/spi.c:308
+#: executor/spi.c:305
 #, 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:380
+#: executor/spi.c:377
 #, c-format
 msgid "transaction left non-empty SPI stack"
 msgstr "transacción dejó un stack SPI no vacío"
 
-#: executor/spi.c:381 executor/spi.c:443
+#: executor/spi.c:378 executor/spi.c:440
 #, c-format
 msgid "Check for missing \"SPI_finish\" calls."
 msgstr "Revise llamadas a «SPI_finish» faltantes."
 
-#: executor/spi.c:442
+#: executor/spi.c:439
 #, c-format
 msgid "subtransaction left non-empty SPI stack"
 msgstr "subtransacción dejó un stack SPI no vacío"
 
-#: executor/spi.c:1495
+#: executor/spi.c:1507
 #, 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:1500
+#: executor/spi.c:1517
 #, c-format
 msgid "cannot open %s query as cursor"
 msgstr "no se puede abrir consulta %s como cursor"
 
-#: executor/spi.c:1607
+#: executor/spi.c:1623
 #, 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:1608 parser/analyze.c:2808
+#: executor/spi.c:1624 parser/analyze.c:2821
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Los cursores declarados SCROLL deben ser READ ONLY."
 
-#: executor/spi.c:2808
-#, fuzzy, c-format
-#| msgid "SQL function \"%s\""
+#: executor/spi.c:2377
+#, 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:2451
+#, c-format
+msgid "%s query does not return tuples"
+msgstr "la consulta «%s» no retorna tuplas"
+
+#: executor/spi.c:2863
+#, c-format
 msgid "SQL expression \"%s\""
-msgstr "función SQL «%s»"
+msgstr "expresión SQL «%s»"
 
-#: executor/spi.c:2813
-#, fuzzy, c-format
-#| msgid "SQL statement \"%s\""
+#: executor/spi.c:2868
+#, c-format
 msgid "PL/pgSQL assignment \"%s\""
-msgstr "sentencia SQL: «%s»"
+msgstr "asignación PL/pgSQL «%s»"
 
-#: executor/spi.c:2816
+#: executor/spi.c:2871
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "sentencia SQL: «%s»"
@@ -12937,16 +12801,15 @@ msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently."
 msgstr "sólo se admiten actualmente políticas PERMISSIVE o RESTRICTIVE."
 
 #: gram.y:5380
-#, fuzzy, c-format
-#| msgid "nested CREATE EXTENSION is not supported"
+#, c-format
 msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported"
-msgstr "los CREATE EXTENSION anidados no están soportados"
+msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER no está soportado"
 
 #: gram.y:5417
 msgid "duplicate trigger events specified"
 msgstr "se han especificado eventos de disparador duplicados"
 
-#: gram.y:5558 parser/parse_utilcmd.c:3734 parser/parse_utilcmd.c:3760
+#: gram.y:5558 parser/parse_utilcmd.c:3702 parser/parse_utilcmd.c:3728
 #, c-format
 msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
 msgstr "una restricción declarada INITIALLY DEFERRED debe ser DEFERRABLE"
@@ -13122,8 +12985,7 @@ msgid "%s cannot be used as a role name here"
 msgstr "%s no puede ser usado como nombre de rol aquí"
 
 #: gram.y:15369 gram.y:16800
-#, fuzzy, c-format
-#| msgid "WITH TIES cannot be specified without ORDER BY clause"
+#, c-format
 msgid "WITH TIES cannot be specified without ORDER BY clause"
 msgstr "la opción WITH TIES no puede ser especificada sin una cláusula ORDER BY"
 
@@ -13162,123 +13024,122 @@ msgstr "no se permiten múltiples cláusulas LIMIT"
 msgid "multiple limit options not allowed"
 msgstr "no se permiten múltiples opciones limit"
 
-#: gram.y:16808
+#: gram.y:16823
 #, c-format
 msgid "multiple WITH clauses not allowed"
 msgstr "no se permiten múltiples cláusulas WITH"
 
-#: gram.y:17002
+#: gram.y:17017
 #, c-format
 msgid "OUT and INOUT arguments aren't allowed in TABLE functions"
 msgstr "los argumentos OUT e INOUT no están permitidos en funciones TABLE"
 
-#: gram.y:17098
+#: gram.y:17113
 #, c-format
 msgid "multiple COLLATE clauses not allowed"
 msgstr "no se permiten múltiples cláusulas COLLATE"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:17136 gram.y:17149
+#: gram.y:17151 gram.y:17164
 #, c-format
 msgid "%s constraints cannot be marked DEFERRABLE"
 msgstr "las restricciones %s no pueden ser marcadas DEFERRABLE"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:17162
+#: gram.y:17177
 #, c-format
 msgid "%s constraints cannot be marked NOT VALID"
 msgstr "las restricciones %s no pueden ser marcadas NOT VALID"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:17175
+#: gram.y:17190
 #, c-format
 msgid "%s constraints cannot be marked NO INHERIT"
 msgstr "las restricciones %s no pueden ser marcadas NO INHERIT"
 
 #: guc-file.l:314
-#, fuzzy, c-format
-#| msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %u"
+#, c-format
 msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d"
-msgstr "parámetro de configuración «%s» no reconocido en el archivo «%s» línea %u"
+msgstr "parámetro de configuración «%s» no reconocido en el archivo «%s» línea %d"
 
-#: guc-file.l:351 utils/misc/guc.c:7360 utils/misc/guc.c:7558
-#: utils/misc/guc.c:7652 utils/misc/guc.c:7746 utils/misc/guc.c:7866
-#: utils/misc/guc.c:7965
+#: guc-file.l:353 utils/misc/guc.c:7361 utils/misc/guc.c:7559
+#: utils/misc/guc.c:7653 utils/misc/guc.c:7747 utils/misc/guc.c:7867
+#: utils/misc/guc.c:7966
 #, c-format
 msgid "parameter \"%s\" cannot be changed without restarting the server"
 msgstr "el parámetro «%s» no se puede cambiar sin reiniciar el servidor"
 
-#: guc-file.l:387
+#: guc-file.l:389
 #, c-format
 msgid "parameter \"%s\" removed from configuration file, reset to default"
 msgstr "parámetro «%s» eliminado del archivo de configuración, volviendo al valor por omisión"
 
-#: guc-file.l:453
+#: guc-file.l:455
 #, c-format
 msgid "parameter \"%s\" changed to \"%s\""
 msgstr "el parámetro «%s» fue cambiado a «%s»"
 
-#: guc-file.l:495
+#: guc-file.l:497
 #, c-format
 msgid "configuration file \"%s\" contains errors"
 msgstr "el archivo de configuración «%s» contiene errores"
 
-#: guc-file.l:500
+#: guc-file.l:502
 #, c-format
 msgid "configuration file \"%s\" contains errors; unaffected changes were applied"
 msgstr "el archivo de configuración «%s» contiene errores; los cambios no afectados fueron aplicados"
 
-#: guc-file.l:505
+#: guc-file.l:507
 #, c-format
 msgid "configuration file \"%s\" contains errors; no changes were applied"
 msgstr "el archivo de configuración «%s» contiene errores; no se aplicó ningún cambio"
 
-#: guc-file.l:577
+#: guc-file.l:579
 #, c-format
 msgid "empty configuration file name: \"%s\""
 msgstr "nombre de archivo de configuración vacío: «%s»"
 
-#: guc-file.l:594
+#: guc-file.l:596
 #, c-format
 msgid "could not open configuration file \"%s\": maximum nesting depth exceeded"
 msgstr "no se pudo abrir el archivo de configuración «%s»: nivel de anidamiento máximo excedido"
 
-#: guc-file.l:614
+#: guc-file.l:616
 #, c-format
 msgid "configuration file recursion in \"%s\""
 msgstr "recursión de archivos de configuración en «%s»"
 
-#: guc-file.l:630 libpq/hba.c:2251 libpq/hba.c:2665
+#: guc-file.l:632 libpq/hba.c:2251 libpq/hba.c:2665
 #, c-format
 msgid "could not open configuration file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de configuración «%s»: %m"
 
-#: guc-file.l:641
+#: guc-file.l:643
 #, c-format
 msgid "skipping missing configuration file \"%s\""
 msgstr "omitiendo el archivo de configuración faltante «%s»"
 
-#: guc-file.l:895
+#: guc-file.l:897
 #, c-format
 msgid "syntax error in file \"%s\" line %u, near end of line"
 msgstr "error de sintaxis en el archivo «%s» línea %u, cerca del fin de línea"
 
-#: guc-file.l:905
+#: guc-file.l:907
 #, c-format
 msgid "syntax error in file \"%s\" line %u, near token \"%s\""
 msgstr "error de sintaxis en el archivo «%s» línea %u, cerca de la palabra «%s»"
 
-#: guc-file.l:925
+#: guc-file.l:927
 #, c-format
 msgid "too many syntax errors found, abandoning file \"%s\""
 msgstr "se encontraron demasiados errores de sintaxis, abandonando el archivo «%s»"
 
-#: guc-file.l:980
+#: guc-file.l:982
 #, c-format
 msgid "empty configuration directory name: \"%s\""
 msgstr "nombre de directorio de configuración vacío: «%s»"
 
-#: guc-file.l:999
+#: guc-file.l:1001
 #, c-format
 msgid "could not open configuration directory \"%s\": %m"
 msgstr "no se pudo abrir el directorio de configuración «%s»: %m"
@@ -13290,18 +13151,17 @@ msgid "could not access file \"%s\": %m"
 msgstr "no se pudo acceder al archivo «%s»: %m"
 
 #: jsonpath_gram.y:528 jsonpath_scan.l:519 jsonpath_scan.l:530
-#: jsonpath_scan.l:540 jsonpath_scan.l:582 utils/adt/encode.c:435
-#: utils/adt/encode.c:501 utils/adt/jsonfuncs.c:623 utils/adt/varlena.c:339
-#: utils/adt/varlena.c:380
+#: jsonpath_scan.l:540 jsonpath_scan.l:582 utils/adt/encode.c:482
+#: utils/adt/encode.c:547 utils/adt/jsonfuncs.c:623 utils/adt/varlena.c:336
+#: utils/adt/varlena.c:377
 #, c-format
 msgid "invalid input syntax for type %s"
 msgstr "sintaxis de entrada no válida para tipo %s"
 
 #: jsonpath_gram.y:529
-#, fuzzy, c-format
-#| msgid "unrecognized flag character \"%c\" in LIKE_REGEX predicate"
+#, c-format
 msgid "unrecognized flag character \"%.*s\" in LIKE_REGEX predicate"
-msgstr "parámetro no reconocido «%c» en predicado LIKE_REGEX"
+msgstr "parámetro «%.*s» no reconocido en predicado LIKE_REGEX"
 
 #: jsonpath_gram.y:583
 #, c-format
@@ -13557,20 +13417,19 @@ msgid "Connection matched pg_hba.conf line %d: \"%s\""
 msgstr "La conexión coincidió con la línea %d de pg_hba.conf: «%s»"
 
 #: libpq/auth.c:371
-#, fuzzy, c-format
-#| msgid "Connections and Authentication"
-msgid "connection was re-authenticated"
-msgstr "Conexiones y Autentificación"
+#, c-format
+msgid "authentication identifier set more than once"
+msgstr "identificador de autentificación establecido más de una vez"
 
 #: libpq/auth.c:372
 #, c-format
-msgid "previous ID: \"%s\"; new ID: \"%s\""
-msgstr ""
+msgid "previous identifier: \"%s\"; new identifier: \"%s\""
+msgstr "identificador anterior: «%s»; nuevo identificador: «%s»"
 
 #: libpq/auth.c:381
 #, c-format
 msgid "connection authenticated: identity=\"%s\" method=%s (%s:%d)"
-msgstr ""
+msgstr "conexión autenticada: identidad=«%s» método=%s (%s:%d)"
 
 #: libpq/auth.c:420
 #, c-format
@@ -13583,20 +13442,16 @@ msgid "connection requires a valid client certificate"
 msgstr "la conexión requiere un certificado de cliente válido"
 
 #: libpq/auth.c:462 libpq/auth.c:508
-#, fuzzy
-#| msgid "GSSAPI-encrypted connection\n"
 msgid "GSS encryption"
-msgstr "Conexión Cifrada GSSAPI\n"
+msgstr "cifrado GSS"
 
 #: libpq/auth.c:465 libpq/auth.c:511
-#, fuzzy
-#| msgid "SSL on"
 msgid "SSL encryption"
-msgstr "SSL activo"
+msgstr "cifrado SSL"
 
 #: libpq/auth.c:467 libpq/auth.c:513
 msgid "no encryption"
-msgstr ""
+msgstr "sin cifrado"
 
 #. translator: last %s describes encryption state
 #: libpq/auth.c:473
@@ -13678,10 +13533,9 @@ msgid "expected SASL response, got message type %d"
 msgstr "se esperaba una respuesta SASL, se obtuvo mensaje de tipo %d"
 
 #: libpq/auth.c:1088 libpq/be-secure-gssapi.c:535
-#, fuzzy, c-format
-#| msgid "could not send data to client: %m"
+#, c-format
 msgid "could not set environment: %m"
-msgstr "no se pudo enviar datos al cliente: %m"
+msgstr "no se pudo establecer el ambiente: %m"
 
 #: libpq/auth.c:1124
 #, c-format
@@ -13692,433 +13546,430 @@ msgstr "se esperaba una respuesta GSS, se obtuvo mensaje de tipo %d"
 msgid "accepting GSS security context failed"
 msgstr "falló la aceptación del contexto de seguridad GSS"
 
-#: libpq/auth.c:1224
+#: libpq/auth.c:1225
 msgid "retrieving GSS user name failed"
 msgstr "falló la obtención del nombre de usuario GSS"
 
-#: libpq/auth.c:1365
+#: libpq/auth.c:1374
 msgid "could not acquire SSPI credentials"
 msgstr "no se pudo obtener las credenciales SSPI"
 
-#: libpq/auth.c:1390
+#: libpq/auth.c:1399
 #, c-format
 msgid "expected SSPI response, got message type %d"
 msgstr "se esperaba una respuesta SSPI, se obtuvo mensaje de tipo %d"
 
-#: libpq/auth.c:1468
+#: libpq/auth.c:1477
 msgid "could not accept SSPI security context"
 msgstr "no se pudo aceptar un contexto SSPI"
 
-#: libpq/auth.c:1530
+#: libpq/auth.c:1539
 msgid "could not get token from SSPI security context"
 msgstr "no se pudo obtener un testigo (token) desde el contexto de seguridad SSPI"
 
-#: libpq/auth.c:1669 libpq/auth.c:1688
+#: libpq/auth.c:1678 libpq/auth.c:1697
 #, c-format
 msgid "could not translate name"
 msgstr "no se pudo traducir el nombre"
 
-#: libpq/auth.c:1701
+#: libpq/auth.c:1710
 #, c-format
 msgid "realm name too long"
 msgstr "nombre de «realm» demasiado largo"
 
-#: libpq/auth.c:1716
+#: libpq/auth.c:1725
 #, c-format
 msgid "translated account name too long"
 msgstr "nombre de cuenta traducido demasiado largo"
 
-#: libpq/auth.c:1897
+#: libpq/auth.c:1906
 #, c-format
 msgid "could not create socket for Ident connection: %m"
 msgstr "no se pudo crear un socket para conexión Ident: %m"
 
-#: libpq/auth.c:1912
+#: libpq/auth.c:1921
 #, c-format
 msgid "could not bind to local address \"%s\": %m"
 msgstr "no se pudo enlazar a la dirección local «%s»: %m"
 
-#: libpq/auth.c:1924
+#: libpq/auth.c:1933
 #, c-format
 msgid "could not connect to Ident server at address \"%s\", port %s: %m"
 msgstr "no se pudo conectar al servidor Ident en dirección «%s», port %s: %m"
 
-#: libpq/auth.c:1946
+#: libpq/auth.c:1955
 #, c-format
 msgid "could not send query to Ident server at address \"%s\", port %s: %m"
 msgstr "no se pudo enviar consulta Ident al servidor «%s», port %s: %m"
 
-#: libpq/auth.c:1963
+#: libpq/auth.c:1972
 #, c-format
 msgid "could not receive response from Ident server at address \"%s\", port %s: %m"
 msgstr "no se pudo recibir respuesta Ident desde el servidor «%s», port %s: %m"
 
-#: libpq/auth.c:1973
+#: libpq/auth.c:1982
 #, c-format
 msgid "invalidly formatted response from Ident server: \"%s\""
 msgstr "respuesta del servidor Ident en formato no válido: «%s»"
 
-#: libpq/auth.c:2026
+#: libpq/auth.c:2035
 #, c-format
 msgid "peer authentication is not supported on this platform"
 msgstr "método de autentificación peer no está soportado en esta plataforma"
 
-#: libpq/auth.c:2030
+#: libpq/auth.c:2039
 #, c-format
 msgid "could not get peer credentials: %m"
 msgstr "no se pudo recibir credenciales: %m"
 
-#: libpq/auth.c:2042
+#: libpq/auth.c:2051
 #, c-format
 msgid "could not look up local user ID %ld: %s"
 msgstr "no se pudo encontrar el ID del usuario local %ld: %s"
 
-#: libpq/auth.c:2143
+#: libpq/auth.c:2152
 #, c-format
 msgid "error from underlying PAM layer: %s"
 msgstr "se ha recibido un error de la biblioteca PAM: %s"
 
-#: libpq/auth.c:2154
-#, fuzzy, c-format
-#| msgid "unsupported format code: %d"
+#: libpq/auth.c:2163
+#, c-format
 msgid "unsupported PAM conversation %d/\"%s\""
-msgstr "código de formato no soportado: %d"
+msgstr "conversación PAM no soportada: %d/«%s»"
 
-#: libpq/auth.c:2214
+#: libpq/auth.c:2223
 #, c-format
 msgid "could not create PAM authenticator: %s"
 msgstr "no se pudo crear autenticador PAM: %s"
 
-#: libpq/auth.c:2225
+#: libpq/auth.c:2234
 #, c-format
 msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr "pam_set_item(PAM_USER) falló: %s"
 
-#: libpq/auth.c:2257
+#: libpq/auth.c:2266
 #, c-format
 msgid "pam_set_item(PAM_RHOST) failed: %s"
 msgstr "pam_set_item(PAM_RHOST) falló: %s"
 
-#: libpq/auth.c:2269
+#: libpq/auth.c:2278
 #, c-format
 msgid "pam_set_item(PAM_CONV) failed: %s"
 msgstr "pam_set_item(PAM_CONV) falló: %s"
 
-#: libpq/auth.c:2282
+#: libpq/auth.c:2291
 #, c-format
 msgid "pam_authenticate failed: %s"
 msgstr "pam_authenticate falló: %s"
 
-#: libpq/auth.c:2295
+#: libpq/auth.c:2304
 #, c-format
 msgid "pam_acct_mgmt failed: %s"
 msgstr "pam_acct_mgmt falló: %s"
 
-#: libpq/auth.c:2306
+#: libpq/auth.c:2315
 #, c-format
 msgid "could not release PAM authenticator: %s"
 msgstr "no se pudo liberar autenticador PAM: %s"
 
-#: libpq/auth.c:2386
+#: libpq/auth.c:2395
 #, c-format
 msgid "could not initialize LDAP: error code %d"
 msgstr "no se pudo inicializar LDAP: código de error %d"
 
-#: libpq/auth.c:2423
+#: libpq/auth.c:2432
 #, c-format
 msgid "could not extract domain name from ldapbasedn"
 msgstr "no se pudo extraer el nombre de dominio de ldapbasedn"
 
-#: libpq/auth.c:2431
+#: libpq/auth.c:2440
 #, c-format
 msgid "LDAP authentication could not find DNS SRV records for \"%s\""
 msgstr "la autentificación LDAP no pudo encontrar registros DNS SRV para «%s»"
 
-#: libpq/auth.c:2433
+#: libpq/auth.c:2442
 #, c-format
 msgid "Set an LDAP server name explicitly."
 msgstr "Defina un nombre de servidor LDAP explícitamente."
 
-#: libpq/auth.c:2485
+#: libpq/auth.c:2494
 #, c-format
 msgid "could not initialize LDAP: %s"
 msgstr "no se pudo inicializar LDAP: %s"
 
-#: libpq/auth.c:2495
+#: libpq/auth.c:2504
 #, c-format
 msgid "ldaps not supported with this LDAP library"
 msgstr "ldaps no está soportado con esta biblioteca LDAP"
 
-#: libpq/auth.c:2503
+#: libpq/auth.c:2512
 #, c-format
 msgid "could not initialize LDAP: %m"
 msgstr "no se pudo inicializar LDAP: %m"
 
-#: libpq/auth.c:2513
+#: libpq/auth.c:2522
 #, c-format
 msgid "could not set LDAP protocol version: %s"
 msgstr "no se pudo definir la versión de protocolo LDAP: %s"
 
-#: libpq/auth.c:2553
+#: libpq/auth.c:2562
 #, c-format
 msgid "could not load function _ldap_start_tls_sA in wldap32.dll"
 msgstr "no se pudo cargar la función _ldap_start_tls_sA en wldap32.dll"
 
-#: libpq/auth.c:2554
+#: libpq/auth.c:2563
 #, c-format
 msgid "LDAP over SSL is not supported on this platform."
 msgstr "LDAP sobre SSL no está soportado en esta plataforma."
 
-#: libpq/auth.c:2570
+#: libpq/auth.c:2579
 #, c-format
 msgid "could not start LDAP TLS session: %s"
 msgstr "no se pudo iniciar sesión de LDAP TLS: %s"
 
-#: libpq/auth.c:2641
+#: libpq/auth.c:2650
 #, c-format
 msgid "LDAP server not specified, and no ldapbasedn"
 msgstr "servidor LDAP no especificado, y no hay ldapbasedn"
 
-#: libpq/auth.c:2648
+#: libpq/auth.c:2657
 #, c-format
 msgid "LDAP server not specified"
 msgstr "servidor LDAP no especificado"
 
-#: libpq/auth.c:2710
+#: libpq/auth.c:2719
 #, c-format
 msgid "invalid character in user name for LDAP authentication"
 msgstr "carácter no válido en nombre de usuario para autentificación LDAP"
 
-#: libpq/auth.c:2727
+#: libpq/auth.c:2736
 #, c-format
 msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s"
 msgstr "no se pudo hacer el enlace LDAP inicial para el ldapbinddb «%s» en el servidor «%s»: %s"
 
-#: libpq/auth.c:2756
+#: libpq/auth.c:2765
 #, c-format
 msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s"
 msgstr "no se pudo hacer la búsqueda LDAP para el filtro «%s» en el servidor «%s»: %s"
 
-#: libpq/auth.c:2770
+#: libpq/auth.c:2779
 #, c-format
 msgid "LDAP user \"%s\" does not exist"
 msgstr "no existe el usuario LDAP «%s»"
 
-#: libpq/auth.c:2771
+#: libpq/auth.c:2780
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries."
 msgstr "La búsqueda LDAP para el filtro «%s» en el servidor «%s» no retornó elementos."
 
-#: libpq/auth.c:2775
+#: libpq/auth.c:2784
 #, c-format
 msgid "LDAP user \"%s\" is not unique"
 msgstr "el usuario LDAP «%s» no es única"
 
-#: libpq/auth.c:2776
+#: libpq/auth.c:2785
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry."
 msgid_plural "LDAP search for filter \"%s\" on server \"%s\" returned %d entries."
 msgstr[0] "La búsqueda LDAP para el filtro «%s» en el servidor «%s» retornó %d elemento."
 msgstr[1] "La búsqueda LDAP para el filtro «%s» en el servidor «%s» retornó %d elementos."
 
-#: libpq/auth.c:2796
+#: libpq/auth.c:2805
 #, c-format
 msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
 msgstr "no se pudo obtener el dn para la primera entrada que coincide con «%s» en el servidor «%s»: %s"
 
-#: libpq/auth.c:2817
+#: libpq/auth.c:2826
 #, c-format
 msgid "could not unbind after searching for user \"%s\" on server \"%s\""
 msgstr "no se pudo desconectar (unbind) después de buscar al usuario «%s» en el servidor «%s»"
 
-#: libpq/auth.c:2848
+#: libpq/auth.c:2857
 #, c-format
 msgid "LDAP login failed for user \"%s\" on server \"%s\": %s"
 msgstr "falló el inicio de sesión LDAP para el usuario «%s» en el servidor «%s»: %s"
 
-#: libpq/auth.c:2880
+#: libpq/auth.c:2889
 #, c-format
 msgid "LDAP diagnostics: %s"
 msgstr "Diagnóstico LDAP: %s"
 
-#: libpq/auth.c:2918
+#: libpq/auth.c:2927
 #, c-format
 msgid "certificate authentication failed for user \"%s\": client certificate contains no user name"
 msgstr "la autentificación con certificado falló para el usuario «%s»: el certificado de cliente no contiene un nombre de usuario"
 
-#: libpq/auth.c:2939
-#, fuzzy, c-format
-#| msgid "certificate authentication failed for user \"%s\""
+#: libpq/auth.c:2948
+#, c-format
 msgid "certificate authentication failed for user \"%s\": unable to retrieve subject DN"
-msgstr "la autentificación por certificado falló para el usuario «%s»"
+msgstr "la autentificación por certificado falló para el usuario «%s»: no se pudo obtener el DN del sujeto"
 
-#: libpq/auth.c:2962
-#, fuzzy, c-format
-#| msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": CN mismatch"
+#: libpq/auth.c:2971
+#, c-format
 msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": DN mismatch"
-msgstr "la validación de certificado (clientcert=verify-full) falló para el usuario «%s»: discordancia de CN"
+msgstr "la validación de certificado (clientcert=verify-full) falló para el usuario «%s»: discordancia de DN"
 
-#: libpq/auth.c:2967
+#: libpq/auth.c:2976
 #, c-format
 msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": CN mismatch"
 msgstr "la validación de certificado (clientcert=verify-full) falló para el usuario «%s»: discordancia de CN"
 
-#: libpq/auth.c:3069
+#: libpq/auth.c:3078
 #, c-format
 msgid "RADIUS server not specified"
 msgstr "servidor RADIUS no especificado"
 
-#: libpq/auth.c:3076
+#: libpq/auth.c:3085
 #, c-format
 msgid "RADIUS secret not specified"
 msgstr "secreto RADIUS no especificado"
 
-#: libpq/auth.c:3090
+#: libpq/auth.c:3099
 #, c-format
 msgid "RADIUS authentication does not support passwords longer than %d characters"
 msgstr "la autentificación RADIUS no soporta contraseñas más largas de %d caracteres"
 
-#: libpq/auth.c:3197 libpq/hba.c:2004
+#: libpq/auth.c:3206 libpq/hba.c:2004
 #, c-format
 msgid "could not translate RADIUS server name \"%s\" to address: %s"
 msgstr "no se pudo traducir el nombre de servidor RADIUS «%s» a dirección: %s"
 
-#: libpq/auth.c:3211
+#: libpq/auth.c:3220
 #, c-format
 msgid "could not generate random encryption vector"
 msgstr "no se pudo generar un vector aleatorio de encriptación"
 
-#: libpq/auth.c:3245
+#: libpq/auth.c:3254
 #, c-format
 msgid "could not perform MD5 encryption of password"
 msgstr "no se pudo efectuar cifrado MD5 de la contraseña"
 
-#: libpq/auth.c:3271
+#: libpq/auth.c:3280
 #, c-format
 msgid "could not create RADIUS socket: %m"
 msgstr "no se pudo crear el socket RADIUS: %m"
 
-#: libpq/auth.c:3293
+#: libpq/auth.c:3302
 #, c-format
 msgid "could not bind local RADIUS socket: %m"
 msgstr "no se pudo enlazar el socket RADIUS local: %m"
 
-#: libpq/auth.c:3303
+#: libpq/auth.c:3312
 #, c-format
 msgid "could not send RADIUS packet: %m"
 msgstr "no se pudo enviar el paquete RADIUS: %m"
 
-#: libpq/auth.c:3336 libpq/auth.c:3362
+#: libpq/auth.c:3345 libpq/auth.c:3371
 #, c-format
 msgid "timeout waiting for RADIUS response from %s"
 msgstr "se agotó el tiempo de espera de la respuesta RADIUS desde %s"
 
-#: libpq/auth.c:3355
+#: libpq/auth.c:3364
 #, c-format
 msgid "could not check status on RADIUS socket: %m"
 msgstr "no se pudo verificar el estado en el socket %m"
 
-#: libpq/auth.c:3385
+#: libpq/auth.c:3394
 #, c-format
 msgid "could not read RADIUS response: %m"
 msgstr "no se pudo leer la respuesta RADIUS: %m"
 
-#: libpq/auth.c:3398 libpq/auth.c:3402
+#: libpq/auth.c:3407 libpq/auth.c:3411
 #, c-format
 msgid "RADIUS response from %s was sent from incorrect port: %d"
 msgstr "la respuesta RADIUS desde %s fue enviada desde el port incorrecto: %d"
 
-#: libpq/auth.c:3411
+#: libpq/auth.c:3420
 #, c-format
 msgid "RADIUS response from %s too short: %d"
 msgstr "la respuesta RADIUS desde %s es demasiado corta: %d"
 
-#: libpq/auth.c:3418
+#: libpq/auth.c:3427
 #, c-format
 msgid "RADIUS response from %s has corrupt length: %d (actual length %d)"
 msgstr "la respuesta RADIUS desde %ss tiene largo corrupto: %d (largo real %d)"
 
-#: libpq/auth.c:3426
+#: libpq/auth.c:3435
 #, c-format
 msgid "RADIUS response from %s is to a different request: %d (should be %d)"
 msgstr "la respuesta RADIUS desde %s es a una petición diferente: %d (debería ser %d)"
 
-#: libpq/auth.c:3451
+#: libpq/auth.c:3460
 #, c-format
 msgid "could not perform MD5 encryption of received packet"
 msgstr "no se pudo realizar cifrado MD5 del paquete recibido"
 
-#: libpq/auth.c:3460
+#: libpq/auth.c:3469
 #, c-format
 msgid "RADIUS response from %s has incorrect MD5 signature"
 msgstr "la respuesta RADIUS desde %s tiene firma MD5 incorrecta"
 
-#: libpq/auth.c:3478
+#: libpq/auth.c:3487
 #, c-format
 msgid "RADIUS response from %s has invalid code (%d) for user \"%s\""
 msgstr "la respuesta RADIUS desde %s tiene código no válido (%d) para el usuario «%s»"
 
-#: libpq/be-fsstubs.c:119 libpq/be-fsstubs.c:150 libpq/be-fsstubs.c:178
-#: libpq/be-fsstubs.c:204 libpq/be-fsstubs.c:229 libpq/be-fsstubs.c:277
-#: libpq/be-fsstubs.c:300 libpq/be-fsstubs.c:553
+#: libpq/be-fsstubs.c:128 libpq/be-fsstubs.c:157 libpq/be-fsstubs.c:185
+#: libpq/be-fsstubs.c:211 libpq/be-fsstubs.c:236 libpq/be-fsstubs.c:274
+#: libpq/be-fsstubs.c:297 libpq/be-fsstubs.c:545
 #, c-format
 msgid "invalid large-object descriptor: %d"
 msgstr "el descriptor de objeto grande no es válido: %d"
 
-#: libpq/be-fsstubs.c:161
+#: libpq/be-fsstubs.c:168
 #, c-format
 msgid "large object descriptor %d was not opened for reading"
 msgstr "el descriptor de objeto grande %d no fue abierto para lectura"
 
-#: libpq/be-fsstubs.c:185 libpq/be-fsstubs.c:560
+#: libpq/be-fsstubs.c:192 libpq/be-fsstubs.c:552
 #, c-format
 msgid "large object descriptor %d was not opened for writing"
 msgstr "el descriptor de objeto grande %d no fue abierto para escritura"
 
-#: libpq/be-fsstubs.c:212
+#: libpq/be-fsstubs.c:219
 #, c-format
 msgid "lo_lseek result out of range for large-object descriptor %d"
 msgstr "resultado de lo_lseek fuera de rango para el descriptor de objeto grande %d"
 
-#: libpq/be-fsstubs.c:285
+#: libpq/be-fsstubs.c:282
 #, c-format
 msgid "lo_tell result out of range for large-object descriptor %d"
 msgstr "resultado de lo_tell fuera de rango para el descriptor de objeto grande %d"
 
-#: libpq/be-fsstubs.c:432
+#: libpq/be-fsstubs.c:424
 #, c-format
 msgid "could not open server file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de servidor «%s»: %m"
 
-#: libpq/be-fsstubs.c:454
+#: libpq/be-fsstubs.c:447
 #, c-format
 msgid "could not read server file \"%s\": %m"
 msgstr "no se pudo leer el archivo de servidor «%s»: %m"
 
-#: libpq/be-fsstubs.c:514
+#: libpq/be-fsstubs.c:506
 #, c-format
 msgid "could not create server file \"%s\": %m"
 msgstr "no se pudo crear el archivo del servidor «%s»: %m"
 
-#: libpq/be-fsstubs.c:526
+#: libpq/be-fsstubs.c:518
 #, c-format
 msgid "could not write server file \"%s\": %m"
 msgstr "no se pudo escribir el archivo del servidor «%s»: %m"
 
-#: libpq/be-fsstubs.c:760
+#: libpq/be-fsstubs.c:758
 #, c-format
 msgid "large object read request is too large"
 msgstr "el tamaño de petición de lectura de objeto grande es muy grande"
 
-#: libpq/be-fsstubs.c:802 utils/adt/genfile.c:267 utils/adt/genfile.c:306
+#: libpq/be-fsstubs.c:800 utils/adt/genfile.c:267 utils/adt/genfile.c:306
 #: utils/adt/genfile.c:342
 #, c-format
 msgid "requested length cannot be negative"
 msgstr "el tamaño solicitado no puede ser negativo"
 
-#: libpq/be-fsstubs.c:855 storage/large_object/inv_api.c:297
-#: storage/large_object/inv_api.c:309 storage/large_object/inv_api.c:513
-#: storage/large_object/inv_api.c:624 storage/large_object/inv_api.c:814
+#: libpq/be-fsstubs.c:851 storage/large_object/inv_api.c:299
+#: storage/large_object/inv_api.c:311 storage/large_object/inv_api.c:508
+#: storage/large_object/inv_api.c:619 storage/large_object/inv_api.c:809
 #, c-format
 msgid "permission denied for large object %u"
 msgstr "permiso denegado al objeto grande %u"
@@ -14266,16 +14117,14 @@ msgid "could not load SSL certificate revocation list file \"%s\": %s"
 msgstr "no se pudo cargar el archivo de lista de revocación de certificados SSL «%s»: %s"
 
 #: libpq/be-secure-openssl.c:352
-#, fuzzy, c-format
-#| msgid "could not load SSL certificate revocation list file \"%s\": %s"
+#, c-format
 msgid "could not load SSL certificate revocation list directory \"%s\": %s"
-msgstr "no se pudo cargar el archivo de lista de revocación de certificados SSL «%s»: %s"
+msgstr "no se pudo cargar el directorio de lista de revocación de certificados SSL «%s»: %s"
 
 #: libpq/be-secure-openssl.c:360
-#, fuzzy, c-format
-#| msgid "could not load SSL certificate revocation list file \"%s\": %s"
+#, c-format
 msgid "could not load SSL certificate revocation list file \"%s\" or directory \"%s\": %s"
-msgstr "no se pudo cargar el archivo de lista de revocación de certificados SSL «%s»: %s"
+msgstr "no se pudo cargar el archivo de lista de revocación de certificados SSL «%s» o directorio «%s»: %s"
 
 #: libpq/be-secure-openssl.c:418
 #, c-format
@@ -14324,85 +14173,83 @@ msgid "SSL certificate's common name contains embedded null"
 msgstr "el «common name» del certificado SSL contiene un carácter null"
 
 #: libpq/be-secure-openssl.c:640
-#, fuzzy, c-format
-#| msgid "SSL certificate's name contains embedded null\n"
+#, c-format
 msgid "SSL certificate's distinguished name contains embedded null"
-msgstr "el elemento de nombre en el certificado SSL contiene un carácter null\n"
+msgstr "el elemento de nombre distinguido en el certificado SSL contiene un carácter null"
 
 #: libpq/be-secure-openssl.c:723 libpq/be-secure-openssl.c:782
 #, c-format
 msgid "SSL error: %s"
 msgstr "error de SSL: %s"
 
-#: libpq/be-secure-openssl.c:963
+#: libpq/be-secure-openssl.c:964
 #, c-format
 msgid "could not open DH parameters file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de parámetros DH «%s»: %m"
 
-#: libpq/be-secure-openssl.c:975
+#: libpq/be-secure-openssl.c:976
 #, c-format
 msgid "could not load DH parameters file: %s"
 msgstr "no se pudo cargar el archivo de parámetros DH: %s"
 
-#: libpq/be-secure-openssl.c:985
+#: libpq/be-secure-openssl.c:986
 #, c-format
 msgid "invalid DH parameters: %s"
 msgstr "parámetros DH no válidos: %s"
 
-#: libpq/be-secure-openssl.c:994
+#: libpq/be-secure-openssl.c:995
 #, c-format
 msgid "invalid DH parameters: p is not prime"
 msgstr "parámetros DH no válidos: p no es primo"
 
-#: libpq/be-secure-openssl.c:1003
+#: libpq/be-secure-openssl.c:1004
 #, c-format
 msgid "invalid DH parameters: neither suitable generator or safe prime"
 msgstr "parámetros DH no válidos: no hay generador apropiado o primo seguro"
 
-#: libpq/be-secure-openssl.c:1164
+#: libpq/be-secure-openssl.c:1165
 #, c-format
 msgid "DH: could not load DH parameters"
 msgstr "DH: no se pudo cargar los parámetros DH"
 
-#: libpq/be-secure-openssl.c:1172
+#: libpq/be-secure-openssl.c:1173
 #, c-format
 msgid "DH: could not set DH parameters: %s"
 msgstr "DH: no se pudo definir los parámetros DH: %s"
 
-#: libpq/be-secure-openssl.c:1199
+#: libpq/be-secure-openssl.c:1200
 #, c-format
 msgid "ECDH: unrecognized curve name: %s"
 msgstr "ECDH: nombre de curva no reconocida: %s"
 
-#: libpq/be-secure-openssl.c:1208
+#: libpq/be-secure-openssl.c:1209
 #, c-format
 msgid "ECDH: could not create key"
 msgstr "ECDH: no se pudo crear la llave"
 
-#: libpq/be-secure-openssl.c:1236
+#: libpq/be-secure-openssl.c:1237
 msgid "no SSL error reported"
 msgstr "código de error SSL no reportado"
 
-#: libpq/be-secure-openssl.c:1240
+#: libpq/be-secure-openssl.c:1241
 #, c-format
 msgid "SSL error code %lu"
 msgstr "código de error SSL %lu"
 
-#: libpq/be-secure-openssl.c:1394
+#: libpq/be-secure-openssl.c:1395
 #, c-format
-msgid "failed to create BIO"
-msgstr ""
+msgid "could not create BIO"
+msgstr "no se pudo crear BIO"
 
-#: libpq/be-secure-openssl.c:1404
+#: libpq/be-secure-openssl.c:1405
 #, c-format
 msgid "could not get NID for ASN1_OBJECT object"
-msgstr ""
+msgstr "no se pudo obtener NID para objeto ASN1_OBJECT"
 
-#: libpq/be-secure-openssl.c:1412
-#, fuzzy, c-format
-#| msgid "could not create LDAP structure\n"
+#: libpq/be-secure-openssl.c:1413
+#, c-format
 msgid "could not convert NID %d to an ASN1_OBJECT structure"
-msgstr "no se pudo crear estructura LDAP\n"
+msgstr "no se pudo convertir NID %d en una estructura ASN1_OBJECT"
 
 #: libpq/be-secure.c:209 libpq/be-secure.c:305
 #, c-format
@@ -14450,10 +14297,9 @@ msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m"
 msgstr "no se pudo abrir el archivo secundario de autentificación «@%s» como «%s»: %m"
 
 #: libpq/hba.c:859
-#, fuzzy, c-format
-#| msgid "error during file seek: %m"
+#, c-format
 msgid "error enumerating network interfaces: %m"
-msgstr "error durante el posicionamiento (seek) en el archivo: %m"
+msgstr "error al enumerar interfaces de red: %m"
 
 #. translator: the second %s is a list of auth methods
 #: libpq/hba.c:886
@@ -14524,10 +14370,9 @@ msgid "hostssl record cannot match because SSL is not supported by this build"
 msgstr "el registro hostssl no puede coincidir porque SSL no está soportado en esta instalación"
 
 #: libpq/hba.c:1042
-#, fuzzy, c-format
-#| msgid "Compile with --with-openssl to use SSL connections."
+#, c-format
 msgid "Compile with --with-ssl to use SSL connections."
-msgstr "Compile con --with-openssl para usar conexiones SSL."
+msgstr "Compile con --with-ssl para usar conexiones SSL."
 
 #: libpq/hba.c:1054
 #, c-format
@@ -14680,22 +14525,19 @@ msgid "list of RADIUS secrets cannot be empty"
 msgstr "la lista de secretos RADIUS no puede ser vacía"
 
 #: libpq/hba.c:1638
-#, fuzzy, c-format
-#| msgid "the number of %s (%d) must be 1 or the same as the number of %s (%d)"
+#, c-format
 msgid "the number of RADIUS secrets (%d) must be 1 or the same as the number of RADIUS servers (%d)"
-msgstr "el número de %s (%d) debe ser 1 o igual al número de %s (%d)"
+msgstr "el número de secretos RADIUS (%d) debe ser 1 o igual al número de servidores RADIUS (%d)"
 
 #: libpq/hba.c:1654
-#, fuzzy, c-format
-#| msgid "the number of %s (%d) must be 1 or the same as the number of %s (%d)"
+#, c-format
 msgid "the number of RADIUS ports (%d) must be 1 or the same as the number of RADIUS servers (%d)"
-msgstr "el número de %s (%d) debe ser 1 o igual al número de %s (%d)"
+msgstr "el número de puertos RADIUS (%d) debe ser 1 o igual al número de servidores RADIUS (%d)"
 
 #: libpq/hba.c:1670
-#, fuzzy, c-format
-#| msgid "the number of %s (%d) must be 1 or the same as the number of %s (%d)"
+#, c-format
 msgid "the number of RADIUS identifiers (%d) must be 1 or the same as the number of RADIUS servers (%d)"
-msgstr "el número de %s (%d) debe ser 1 o igual al número de %s (%d)"
+msgstr "el número de identificadores RADIUS (%d) debe ser 1 o igual al número de servidores RADIUS (%d)"
 
 #: libpq/hba.c:1717
 msgid "ident, peer, gssapi, sspi, and cert"
@@ -14707,10 +14549,9 @@ msgid "clientcert can only be configured for \"hostssl\" rows"
 msgstr "clientcert sólo puede ser configurado en líneas «hostssl»"
 
 #: libpq/hba.c:1743
-#, fuzzy, c-format
-#| msgid "clientcert can not be set to \"no-verify\" when using \"cert\" authentication"
+#, c-format
 msgid "clientcert only accepts \"verify-full\" when using \"cert\" authentication"
-msgstr "clientcert no puede establecerse a «no-verify» cuando se emplea autentificación «cert»"
+msgstr "clientcert solo acepta «verify-full» cuando se emplea autentificación «cert»"
 
 #: libpq/hba.c:1756
 #, c-format
@@ -14718,16 +14559,14 @@ msgid "invalid value for clientcert: \"%s\""
 msgstr "valor no válido para el parámetro clientcert: «%s»"
 
 #: libpq/hba.c:1768
-#, fuzzy, c-format
-#| msgid "clientcert can only be configured for \"hostssl\" rows"
+#, c-format
 msgid "clientname can only be configured for \"hostssl\" rows"
-msgstr "clientcert sólo puede ser configurado en líneas «hostssl»"
+msgstr "clientname solo puede ser configurado en líneas «hostssl»"
 
 #: libpq/hba.c:1787
-#, fuzzy, c-format
-#| msgid "invalid value for clientcert: \"%s\""
+#, c-format
 msgid "invalid value for clientname: \"%s\""
-msgstr "valor no válido para el parámetro clientcert: «%s»"
+msgstr "valor no válido para el parámetro clientname: «%s»"
 
 #: libpq/hba.c:1821
 #, c-format
@@ -14832,178 +14671,171 @@ msgstr "no se pudo abrir el archivo de mapa de usuarios «%s»: %m"
 msgid "could not set socket to nonblocking mode: %m"
 msgstr "no se pudo establecer el socket en modo no bloqueante: %m"
 
-#: libpq/pqcomm.c:362
+#: libpq/pqcomm.c:377
 #, 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)"
 
-#: libpq/pqcomm.c:383
+#: libpq/pqcomm.c:398
 #, c-format
 msgid "could not translate host name \"%s\", service \"%s\" to address: %s"
 msgstr "no se pudo traducir el nombre de host «%s», servicio «%s» a dirección: %s"
 
-#: libpq/pqcomm.c:387
+#: libpq/pqcomm.c:402
 #, c-format
 msgid "could not translate service \"%s\" to address: %s"
 msgstr "no se pudo traducir el servicio «%s» a dirección: %s"
 
-#: libpq/pqcomm.c:414
+#: libpq/pqcomm.c:429
 #, c-format
 msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded"
 msgstr "no se pudo enlazar a todas las direcciones pedidas: MAXLISTEN (%d) fue excedido"
 
-#: libpq/pqcomm.c:423
+#: libpq/pqcomm.c:438
 msgid "IPv4"
 msgstr "IPv4"
 
-#: libpq/pqcomm.c:427
+#: libpq/pqcomm.c:442
 msgid "IPv6"
 msgstr "IPv6"
 
-#: libpq/pqcomm.c:432
+#: libpq/pqcomm.c:447
 msgid "Unix"
 msgstr "Unix"
 
-#: libpq/pqcomm.c:437
+#: libpq/pqcomm.c:452
 #, c-format
 msgid "unrecognized address family %d"
 msgstr "la familia de direcciones %d no reconocida"
 
 #. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:463
+#: libpq/pqcomm.c:478
 #, c-format
 msgid "could not create %s socket for address \"%s\": %m"
 msgstr "no se pudo crear el socket %s de escucha para la dirección «%s»: %m"
 
 #. translator: third %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:489 libpq/pqcomm.c:507
-#, fuzzy, c-format
-#| msgid "setsockopt(IPV6_V6ONLY) failed for %s address \"%s\": %m"
+#: libpq/pqcomm.c:504 libpq/pqcomm.c:522
+#, c-format
 msgid "%s(%s) failed for %s address \"%s\": %m"
-msgstr "setsockopt(IPV6_V6ONLY) falló para la dirección %s «%s»: %m"
+msgstr "%s(%s) falló para la dirección %s «%s»: %m"
 
 #. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:530
+#: libpq/pqcomm.c:545
 #, c-format
 msgid "could not bind %s address \"%s\": %m"
 msgstr "no se pudo enlazar a la dirección %s «%s»: %m"
 
-#: libpq/pqcomm.c:534
-#, fuzzy, c-format
-#| msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry."
+#: libpq/pqcomm.c:549
+#, c-format
 msgid "Is another postmaster already running on port %d?"
-msgstr "¿Hay otro postmaster corriendo en el puerto %d? Si no, aguarde unos segundos y reintente."
+msgstr "¿Hay otro postmaster corriendo en el puerto %d?"
 
-#: libpq/pqcomm.c:536
+#: libpq/pqcomm.c:551
 #, c-format
 msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry."
 msgstr "¿Hay otro postmaster corriendo en el puerto %d? Si no, aguarde unos segundos y reintente."
 
 #. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:569
+#: libpq/pqcomm.c:584
 #, c-format
 msgid "could not listen on %s address \"%s\": %m"
 msgstr "no se pudo escuchar en la dirección %s «%s»: %m"
 
-#: libpq/pqcomm.c:578
+#: libpq/pqcomm.c:593
 #, c-format
 msgid "listening on Unix socket \"%s\""
 msgstr "escuchando en el socket Unix «%s»"
 
 #. translator: first %s is IPv4 or IPv6
-#: libpq/pqcomm.c:584
+#: libpq/pqcomm.c:599
 #, c-format
 msgid "listening on %s address \"%s\", port %d"
 msgstr "escuchando en la dirección %s «%s», port %d"
 
-#: libpq/pqcomm.c:675
+#: libpq/pqcomm.c:690
 #, c-format
 msgid "group \"%s\" does not exist"
 msgstr "no existe el grupo «%s»"
 
-#: libpq/pqcomm.c:685
+#: libpq/pqcomm.c:700
 #, c-format
 msgid "could not set group of file \"%s\": %m"
 msgstr "no se pudo definir el grupo del archivo «%s»: %m"
 
-#: libpq/pqcomm.c:696
+#: libpq/pqcomm.c:711
 #, c-format
 msgid "could not set permissions of file \"%s\": %m"
 msgstr "no se pudo definir los permisos del archivo «%s»: %m"
 
-#: libpq/pqcomm.c:726
+#: libpq/pqcomm.c:741
 #, c-format
 msgid "could not accept new connection: %m"
 msgstr "no se pudo aceptar una nueva conexión: %m"
 
-#: libpq/pqcomm.c:766 libpq/pqcomm.c:775 libpq/pqcomm.c:807 libpq/pqcomm.c:817
-#: libpq/pqcomm.c:1630 libpq/pqcomm.c:1675 libpq/pqcomm.c:1715
-#: libpq/pqcomm.c:1759 libpq/pqcomm.c:1798 libpq/pqcomm.c:1837
-#: libpq/pqcomm.c:1873 libpq/pqcomm.c:1912 postmaster/pgstat.c:618
-#: postmaster/pgstat.c:629
-#, fuzzy, c-format
-#| msgid "%s failed: %m"
+#: libpq/pqcomm.c:781 libpq/pqcomm.c:790 libpq/pqcomm.c:822 libpq/pqcomm.c:832
+#: libpq/pqcomm.c:1657 libpq/pqcomm.c:1702 libpq/pqcomm.c:1742
+#: libpq/pqcomm.c:1786 libpq/pqcomm.c:1825 libpq/pqcomm.c:1864
+#: libpq/pqcomm.c:1900 libpq/pqcomm.c:1939 postmaster/pgstat.c:619
+#: postmaster/pgstat.c:630
+#, c-format
 msgid "%s(%s) failed: %m"
-msgstr "%s falló: %m"
+msgstr "%s(%s) falló: %m"
 
-#: libpq/pqcomm.c:921
+#: libpq/pqcomm.c:936
 #, c-format
 msgid "there is no client connection"
 msgstr "no hay conexión de cliente"
 
-#: libpq/pqcomm.c:972 libpq/pqcomm.c:1068
+#: libpq/pqcomm.c:987 libpq/pqcomm.c:1083
 #, c-format
 msgid "could not receive data from client: %m"
 msgstr "no se pudo recibir datos del cliente: %m"
 
-#: libpq/pqcomm.c:1161 tcop/postgres.c:4290
+#: libpq/pqcomm.c:1188 tcop/postgres.c:4292
 #, c-format
 msgid "terminating connection because protocol synchronization was lost"
 msgstr "terminando la conexión por pérdida de sincronía del protocolo"
 
-#: libpq/pqcomm.c:1227
+#: libpq/pqcomm.c:1254
 #, c-format
 msgid "unexpected EOF within message length word"
 msgstr "EOF inesperado dentro de la palabra de tamaño del mensaje"
 
-#: libpq/pqcomm.c:1237
+#: libpq/pqcomm.c:1264
 #, c-format
 msgid "invalid message length"
 msgstr "el largo de mensaje no es válido"
 
-#: libpq/pqcomm.c:1259 libpq/pqcomm.c:1272
+#: libpq/pqcomm.c:1286 libpq/pqcomm.c:1299
 #, c-format
 msgid "incomplete message from client"
 msgstr "mensaje incompleto del cliente"
 
-#: libpq/pqcomm.c:1383
+#: libpq/pqcomm.c:1410
 #, c-format
 msgid "could not send data to client: %m"
 msgstr "no se pudo enviar datos al cliente: %m"
 
-#: libpq/pqcomm.c:1598
-#, fuzzy, c-format
-#| msgid "pgpipe: getsockname() failed: error code %d"
+#: libpq/pqcomm.c:1625
+#, c-format
 msgid "%s(%s) failed: error code %d"
-msgstr "pgpipe: getsockname() falló: código de error %d"
+msgstr "%s(%s) falló: código de error %d"
 
-#: libpq/pqcomm.c:1687
-#, fuzzy, c-format
-#| msgid "using recovery command file \"%s\" is not supported"
+#: libpq/pqcomm.c:1714
+#, c-format
 msgid "setting the keepalive idle time is not supported"
-msgstr "el uso del archivo de configuración de recuperación «%s» no está soportado"
+msgstr "establecer el tiempo de inactividad para keepalive no está soportado"
 
-#: libpq/pqcomm.c:1771 libpq/pqcomm.c:1846 libpq/pqcomm.c:1921
-#, fuzzy, c-format
-#| msgid "log format \"%s\" is not supported"
+#: libpq/pqcomm.c:1798 libpq/pqcomm.c:1873 libpq/pqcomm.c:1948
+#, c-format
 msgid "%s(%s) not supported"
-msgstr "el formato de log «%s» no está soportado"
+msgstr "%s(%s) no está soportado"
 
-#: libpq/pqcomm.c:1956
-#, fuzzy, c-format
-#| msgid "could not set SSL socket: %s"
+#: libpq/pqcomm.c:1983
+#, c-format
 msgid "could not poll socket: %m"
-msgstr "no se definir un socket SSL: %s"
+msgstr "no se pudo monitorear socket: %m"
 
 #: libpq/pqformat.c:406
 #, c-format
@@ -15011,7 +14843,7 @@ msgid "no data left in message"
 msgstr "no hay datos restantes en el mensaje"
 
 #: libpq/pqformat.c:517 libpq/pqformat.c:535 libpq/pqformat.c:556
-#: utils/adt/arrayfuncs.c:1481 utils/adt/rowtypes.c:588
+#: utils/adt/arrayfuncs.c:1482 utils/adt/rowtypes.c:588
 #, c-format
 msgid "insufficient data left in message"
 msgstr "los datos restantes del mensaje son insuficientes"
@@ -15328,14 +15160,13 @@ msgstr "el tipo de nodo extensible «%s» ya existe"
 msgid "ExtensibleNodeMethods \"%s\" was not registered"
 msgstr "ExtensibleNodeMethods «%s» no fue registrado"
 
-#: nodes/makefuncs.c:150
-#, fuzzy, c-format
-#| msgid "\"%s\" is not a composite type"
+#: nodes/makefuncs.c:150 statistics/extended_stats.c:2293
+#, c-format
 msgid "relation \"%s\" does not have a composite type"
-msgstr "«%s» no es un tipo compuesto"
+msgstr "la relación «%s» no tiene un tipo compuesto"
 
-#: nodes/nodeFuncs.c:114 nodes/nodeFuncs.c:145 parser/parse_coerce.c:2472
-#: parser/parse_coerce.c:2584 parser/parse_coerce.c:2630
+#: nodes/nodeFuncs.c:114 nodes/nodeFuncs.c:145 parser/parse_coerce.c:2503
+#: parser/parse_coerce.c:2641 parser/parse_coerce.c:2688
 #: parser/parse_expr.c:2021 parser/parse_func.c:710 parser/parse_oper.c:883
 #: utils/fmgr/funcapi.c:558
 #, c-format
@@ -15343,16 +15174,14 @@ 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"
 
 #: nodes/params.c:417
-#, fuzzy, c-format
-#| msgid "extended query \"%s\" with parameters: %s"
+#, c-format
 msgid "portal \"%s\" with parameters: %s"
-msgstr "consulta extendida «%s» con parámetros: %s"
+msgstr "portal «%s» con parámetros: %s"
 
 #: nodes/params.c:420
-#, fuzzy, c-format
-#| msgid "extended query with parameters: %s"
+#, c-format
 msgid "unnamed portal with parameters: %s"
-msgstr "consulta extendida con parámetros: %s"
+msgstr "portal sin nombre con parámetros: %s"
 
 #: optimizer/path/joinrels.c:855
 #, c-format
@@ -15366,49 +15195,49 @@ msgid "%s cannot be applied to the nullable side of an outer join"
 msgstr "%s no puede ser aplicado al lado nulable de un outer join"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/planner.c:1315 parser/analyze.c:1677 parser/analyze.c:1921
-#: parser/analyze.c:3099
+#: optimizer/plan/planner.c:1316 parser/analyze.c:1677 parser/analyze.c:1933
+#: parser/analyze.c:3112
 #, c-format
 msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr "%s no está permitido con UNION/INTERSECT/EXCEPT"
 
-#: optimizer/plan/planner.c:1978 optimizer/plan/planner.c:3634
+#: optimizer/plan/planner.c:1979 optimizer/plan/planner.c:3635
 #, c-format
 msgid "could not implement GROUP BY"
 msgstr "no se pudo implementar GROUP BY"
 
-#: optimizer/plan/planner.c:1979 optimizer/plan/planner.c:3635
-#: optimizer/plan/planner.c:4392 optimizer/prep/prepunion.c:1046
+#: optimizer/plan/planner.c:1980 optimizer/plan/planner.c:3636
+#: optimizer/plan/planner.c:4393 optimizer/prep/prepunion.c:1046
 #, c-format
 msgid "Some of the datatypes only support hashing, while others only support sorting."
 msgstr "Algunos de los tipos sólo soportan hashing, mientras que otros sólo soportan ordenamiento."
 
-#: optimizer/plan/planner.c:4391
+#: optimizer/plan/planner.c:4392
 #, c-format
 msgid "could not implement DISTINCT"
 msgstr "no se pudo implementar DISTINCT"
 
-#: optimizer/plan/planner.c:5239
+#: optimizer/plan/planner.c:5240
 #, c-format
 msgid "could not implement window PARTITION BY"
 msgstr "No se pudo implementar PARTITION BY de ventana"
 
-#: optimizer/plan/planner.c:5240
+#: optimizer/plan/planner.c:5241
 #, c-format
 msgid "Window partitioning columns must be of sortable datatypes."
 msgstr "Las columnas de particionamiento de ventana deben de tipos que se puedan ordenar."
 
-#: optimizer/plan/planner.c:5244
+#: optimizer/plan/planner.c:5245
 #, c-format
 msgid "could not implement window ORDER BY"
 msgstr "no se pudo implementar ORDER BY de ventana"
 
-#: optimizer/plan/planner.c:5245
+#: optimizer/plan/planner.c:5246
 #, c-format
 msgid "Window ordering columns must be of sortable datatypes."
 msgstr "Las columnas de ordenamiento de ventana debe ser de tipos que se puedan ordenar."
 
-#: optimizer/plan/setrefs.c:479
+#: optimizer/plan/setrefs.c:516
 #, c-format
 msgid "too many range table entries"
 msgstr "demasiadas «range table entries»"
@@ -15429,7 +15258,7 @@ msgstr "Todos los tipos de dato de las columnas deben ser tipos de los que se pu
 msgid "could not implement %s"
 msgstr "no se pudo implementar %s"
 
-#: optimizer/util/clauses.c:4721
+#: optimizer/util/clauses.c:4729
 #, c-format
 msgid "SQL function \"%s\" during inlining"
 msgstr "función SQL «%s», durante expansión en línea"
@@ -15485,7 +15314,7 @@ msgid "SELECT ... INTO is not allowed here"
 msgstr "SELECT ... INTO no está permitido aquí"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:1580 parser/analyze.c:3278
+#: parser/analyze.c:1580 parser/analyze.c:3306
 #, c-format
 msgid "%s cannot be applied to VALUES"
 msgstr "%s no puede ser aplicado a VALUES"
@@ -15505,176 +15334,171 @@ msgstr "Sólo nombres de columna del resultado pueden usarse, no expresiones o f
 msgid "Add the expression/function to every SELECT, or move the UNION into a FROM clause."
 msgstr "Agregue la función o expresión a todos los SELECT, o mueva el UNION dentro de una cláusula FROM."
 
-#: parser/analyze.c:1911
+#: parser/analyze.c:1923
 #, c-format
 msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
 msgstr "sólo se permite INTO en el primer SELECT de UNION/INTERSECT/EXCEPT"
 
-#: parser/analyze.c:1983
+#: parser/analyze.c:1995
 #, c-format
 msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level"
 msgstr "una sentencia miembro de UNION/INSERT/EXCEPT no puede referirse a otras relaciones del mismo nivel de la consulta"
 
-#: parser/analyze.c:2070
+#: parser/analyze.c:2082
 #, c-format
 msgid "each %s query must have the same number of columns"
 msgstr "cada consulta %s debe tener el mismo número de columnas"
 
-#: parser/analyze.c:2470
+#: parser/analyze.c:2483
 #, c-format
 msgid "RETURNING must have at least one column"
 msgstr "RETURNING debe tener al menos una columna"
 
-#: parser/analyze.c:2573
-#, fuzzy, c-format
-#| msgid "query \"%s\" returned %d column"
-#| msgid_plural "query \"%s\" returned %d columns"
+#: parser/analyze.c:2586
+#, c-format
 msgid "assignment source returned %d column"
 msgid_plural "assignment source returned %d columns"
-msgstr[0] "la consulta «%s» retornó %d columna"
-msgstr[1] "la consulta «%s» retornó %d columnas"
+msgstr[0] "fuente de asignación retornó %d columna"
+msgstr[1] "fuente de asignación retornó %d columnas"
 
-#: parser/analyze.c:2634
-#, fuzzy, c-format
-#| msgid "subfield \"%s\" is of type %s but expression is of type %s"
+#: parser/analyze.c:2647
+#, c-format
 msgid "variable \"%s\" is of type %s but expression is of type %s"
-msgstr "el subcampo «%s» es de tipo %s pero la expresión es de tipo %s"
+msgstr "la variable «%s» es de tipo %s pero la expresión es de tipo %s"
 
 #. translator: %s is a SQL keyword
-#: parser/analyze.c:2758 parser/analyze.c:2766
-#, fuzzy, c-format
-#| msgid "cannot specify both SCROLL and NO SCROLL"
+#: parser/analyze.c:2771 parser/analyze.c:2779
+#, c-format
 msgid "cannot specify both %s and %s"
-msgstr "no se puede especificar SCROLL y NO SCROLL"
+msgstr "no se puede especificar %s junto con %s"
 
-#: parser/analyze.c:2786
+#: parser/analyze.c:2799
 #, c-format
 msgid "DECLARE CURSOR must not contain data-modifying statements in WITH"
 msgstr "DECLARE CURSOR no debe contener sentencias que modifiquen datos en WITH"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2794
+#: parser/analyze.c:2807
 #, c-format
 msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
 msgstr "DECLARE CURSOR WITH HOLD ... %s no está soportado"
 
-#: parser/analyze.c:2797
+#: parser/analyze.c:2810
 #, c-format
 msgid "Holdable cursors must be READ ONLY."
 msgstr "Los cursores declarados HOLD deben ser READ ONLY."
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2805
+#: parser/analyze.c:2818
 #, c-format
 msgid "DECLARE SCROLL CURSOR ... %s is not supported"
 msgstr "DECLARE SCROLL CURSOR ... %s no está soportado"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2816
-#, fuzzy, c-format
-#| msgid "DECLARE INSENSITIVE CURSOR ... %s is not supported"
+#: parser/analyze.c:2829
+#, c-format
 msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid"
-msgstr "DECLARE INSENSITIVE CURSOR ... %s no está soportado"
+msgstr "DECLARE INSENSITIVE CURSOR ... %s no es válido"
 
-#: parser/analyze.c:2819
+#: parser/analyze.c:2832
 #, c-format
 msgid "Insensitive cursors must be READ ONLY."
 msgstr "Los cursores insensitivos deben ser READ ONLY."
 
-#: parser/analyze.c:2885
+#: parser/analyze.c:2898
 #, c-format
 msgid "materialized views must not use data-modifying statements in WITH"
 msgstr "las vistas materializadas no deben usar sentencias que modifiquen datos en WITH"
 
-#: parser/analyze.c:2895
+#: parser/analyze.c:2908
 #, c-format
 msgid "materialized views must not use temporary tables or views"
 msgstr "las vistas materializadas no deben usar tablas temporales o vistas"
 
-#: parser/analyze.c:2905
+#: parser/analyze.c:2918
 #, c-format
 msgid "materialized views may not be defined using bound parameters"
 msgstr "las vistas materializadas no pueden definirse usando parámetros enlazados"
 
-#: parser/analyze.c:2917
+#: parser/analyze.c:2930
 #, c-format
 msgid "materialized views cannot be unlogged"
 msgstr "las vistas materializadas no pueden ser «unlogged»"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3106
+#: parser/analyze.c:3119
 #, c-format
 msgid "%s is not allowed with DISTINCT clause"
 msgstr "%s no está permitido con cláusulas DISTINCT"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3113
+#: parser/analyze.c:3126
 #, c-format
 msgid "%s is not allowed with GROUP BY clause"
 msgstr "%s no está permitido con cláusulas GROUP BY"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3120
+#: parser/analyze.c:3133
 #, c-format
 msgid "%s is not allowed with HAVING clause"
 msgstr "%s no está permitido con cláusulas HAVING"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3127
+#: parser/analyze.c:3140
 #, c-format
 msgid "%s is not allowed with aggregate functions"
 msgstr "%s no está permitido con funciones de agregación"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3134
+#: parser/analyze.c:3147
 #, c-format
 msgid "%s is not allowed with window functions"
 msgstr "%s no está permitido con funciones de ventana deslizante"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3141
+#: parser/analyze.c:3154
 #, c-format
 msgid "%s is not allowed with set-returning functions in the target list"
 msgstr "%s no está permitido con funciones que retornan conjuntos en la lista de resultados"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3220
+#: parser/analyze.c:3246
 #, c-format
 msgid "%s must specify unqualified relation names"
 msgstr "%s debe especificar nombres de relaciones sin calificar"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3251
+#: parser/analyze.c:3279
 #, c-format
 msgid "%s cannot be applied to a join"
 msgstr "%s no puede ser aplicado a un join"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3260
+#: parser/analyze.c:3288
 #, c-format
 msgid "%s cannot be applied to a function"
 msgstr "%s no puede ser aplicado a una función"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3269
+#: parser/analyze.c:3297
 #, c-format
 msgid "%s cannot be applied to a table function"
 msgstr "%s no puede ser aplicado a una función de tabla"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3287
+#: parser/analyze.c:3315
 #, c-format
 msgid "%s cannot be applied to a WITH query"
 msgstr "%s no puede ser aplicado a una consulta WITH"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3296
+#: parser/analyze.c:3324
 #, c-format
 msgid "%s cannot be applied to a named tuplestore"
 msgstr "%s no puede ser aplicado a un «tuplestore» con nombre"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3316
+#: parser/analyze.c:3344
 #, c-format
 msgid "relation \"%s\" in %s clause not found in FROM clause"
 msgstr "la relación «%s» en la cláusula %s no fue encontrada en la cláusula FROM"
@@ -15783,16 +15607,12 @@ msgid "grouping operations are not allowed in index predicates"
 msgstr "no se permiten operaciones «grouping» en predicados de índice"
 
 #: parser/parse_agg.c:490
-#, fuzzy
-#| msgid "aggregate functions are not allowed in policy expressions"
 msgid "aggregate functions are not allowed in statistics expressions"
-msgstr "no se permiten funciones de agregación en expresiones de políticas"
+msgstr "no se permiten funciones de agregación en expresiones de estadísticas"
 
 #: parser/parse_agg.c:492
-#, fuzzy
-#| msgid "grouping operations are not allowed in policy expressions"
 msgid "grouping operations are not allowed in statistics expressions"
-msgstr "no se permiten operaciones «grouping» en expresiones de políticas"
+msgstr "no se permiten operaciones «grouping» en expresiones de estadísticas"
 
 #: parser/parse_agg.c:497
 msgid "aggregate functions are not allowed in transform expressions"
@@ -15870,134 +15690,132 @@ msgstr "no se permiten funciones de agregación en %s"
 msgid "grouping operations are not allowed in %s"
 msgstr "no se permiten operaciones «grouping» en %s"
 
-#: parser/parse_agg.c:689
+#: parser/parse_agg.c:682
 #, c-format
 msgid "outer-level aggregate cannot contain a lower-level variable in its direct arguments"
 msgstr "una función de agregación de nivel exterior no puede contener una variable de nivel inferior en sus argumentos directos"
 
-#: parser/parse_agg.c:768
+#: parser/parse_agg.c:761
 #, c-format
 msgid "aggregate function calls cannot contain set-returning function calls"
 msgstr "las llamadas a funciones de agregación no pueden contener llamadas a funciones que retornan conjuntos"
 
-#: parser/parse_agg.c:769 parser/parse_expr.c:1673 parser/parse_expr.c:2146
+#: parser/parse_agg.c:762 parser/parse_expr.c:1673 parser/parse_expr.c:2146
 #: parser/parse_func.c:883
 #, c-format
 msgid "You might be able to move the set-returning function into a LATERAL FROM item."
-msgstr "Puede intentar mover la funci[on que retorna conjuntos a un elemento LATERAL FROM."
+msgstr "Puede intentar mover la función que retorna conjuntos a un elemento LATERAL FROM."
 
-#: parser/parse_agg.c:774
+#: parser/parse_agg.c:767
 #, c-format
 msgid "aggregate function calls cannot contain window function calls"
 msgstr "las llamadas a funciones de agregación no pueden contener llamadas a funciones de ventana deslizante"
 
-#: parser/parse_agg.c:853
+#: parser/parse_agg.c:846
 msgid "window functions are not allowed in JOIN conditions"
 msgstr "no se permiten funciones de ventana deslizante en condiciones JOIN"
 
-#: parser/parse_agg.c:860
+#: parser/parse_agg.c:853
 msgid "window functions are not allowed in functions in FROM"
 msgstr "no se permiten funciones de ventana deslizante en funciones en FROM"
 
-#: parser/parse_agg.c:866
+#: parser/parse_agg.c:859
 msgid "window functions are not allowed in policy expressions"
 msgstr "no se permiten funciones de ventana deslizante en expresiones de políticas"
 
-#: parser/parse_agg.c:879
+#: parser/parse_agg.c:872
 msgid "window functions are not allowed in window definitions"
 msgstr "no se permiten funciones de ventana deslizante en definiciones de ventana deslizante"
 
-#: parser/parse_agg.c:911
+#: parser/parse_agg.c:904
 msgid "window functions are not allowed in check constraints"
 msgstr "no se permiten funciones de ventana deslizante en restricciones «check»"
 
-#: parser/parse_agg.c:915
+#: parser/parse_agg.c:908
 msgid "window functions are not allowed in DEFAULT expressions"
 msgstr "no se permiten funciones de ventana deslizante en expresiones DEFAULT"
 
-#: parser/parse_agg.c:918
+#: parser/parse_agg.c:911
 msgid "window functions are not allowed in index expressions"
 msgstr "no se permiten funciones de ventana deslizante en expresiones de índice"
 
-#: parser/parse_agg.c:921
-#, fuzzy
-#| msgid "window functions are not allowed in policy expressions"
+#: parser/parse_agg.c:914
 msgid "window functions are not allowed in statistics expressions"
-msgstr "no se permiten funciones de ventana deslizante en expresiones de políticas"
+msgstr "no se permiten funciones de ventana deslizante en expresiones de estadísticas"
 
-#: parser/parse_agg.c:924
+#: parser/parse_agg.c:917
 msgid "window functions are not allowed in index predicates"
 msgstr "no se permiten funciones de ventana deslizante en predicados de índice"
 
-#: parser/parse_agg.c:927
+#: parser/parse_agg.c:920
 msgid "window functions are not allowed in transform expressions"
 msgstr "no se permiten funciones de ventana deslizante en expresiones de transformación"
 
-#: parser/parse_agg.c:930
+#: parser/parse_agg.c:923
 msgid "window functions are not allowed in EXECUTE parameters"
 msgstr "no se permiten funciones de ventana deslizante en parámetros a EXECUTE"
 
-#: parser/parse_agg.c:933
+#: parser/parse_agg.c:926
 msgid "window functions are not allowed in trigger WHEN conditions"
 msgstr "no se permiten funciones de ventana deslizante en condiciones WHEN de un disparador"
 
-#: parser/parse_agg.c:936
+#: parser/parse_agg.c:929
 msgid "window functions are not allowed in partition bound"
 msgstr "no se permiten funciones de ventana deslizante en borde de partición"
 
-#: parser/parse_agg.c:939
+#: parser/parse_agg.c:932
 msgid "window functions are not allowed in partition key expressions"
 msgstr "no se permiten funciones de ventana deslizante en expresiones de llave de particionamiento"
 
-#: parser/parse_agg.c:942
+#: parser/parse_agg.c:935
 msgid "window functions are not allowed in CALL arguments"
 msgstr "no se permiten funciones de ventana deslizante en argumentos de CALL"
 
-#: parser/parse_agg.c:945
+#: parser/parse_agg.c:938
 msgid "window functions are not allowed in COPY FROM WHERE conditions"
 msgstr "no se permiten funciones de ventana deslizante en las condiciones WHERE de COPY FROM"
 
-#: parser/parse_agg.c:948
+#: parser/parse_agg.c:941
 msgid "window functions are not allowed in column generation expressions"
 msgstr "no se permiten funciones de ventana deslizante en expresiones de generación de columna"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:971 parser/parse_clause.c:1855
+#: parser/parse_agg.c:964 parser/parse_clause.c:1855
 #, c-format
 msgid "window functions are not allowed in %s"
 msgstr "no se permiten funciones de ventana deslizante en %s"
 
-#: parser/parse_agg.c:1005 parser/parse_clause.c:2689
+#: parser/parse_agg.c:998 parser/parse_clause.c:2689
 #, c-format
 msgid "window \"%s\" does not exist"
 msgstr "la ventana «%s» no existe"
 
-#: parser/parse_agg.c:1089
+#: parser/parse_agg.c:1082
 #, c-format
 msgid "too many grouping sets present (maximum 4096)"
 msgstr "demasiados conjuntos «grouping» presentes (máximo 4096)"
 
-#: parser/parse_agg.c:1229
+#: parser/parse_agg.c:1222
 #, c-format
 msgid "aggregate functions are not allowed in a recursive query's recursive term"
 msgstr "no se permiten funciones de agregación en el término recursivo de una consulta recursiva"
 
-#: parser/parse_agg.c:1422
+#: parser/parse_agg.c:1415
 #, c-format
 msgid "column \"%s.%s\" must appear in the GROUP BY clause or be used in an aggregate function"
 msgstr "la columna «%s.%s» debe aparecer en la cláusula GROUP BY o ser usada en una función de agregación"
 
-#: parser/parse_agg.c:1425
+#: parser/parse_agg.c:1418
 #, c-format
 msgid "Direct arguments of an ordered-set aggregate must use only grouped columns."
 msgstr "Argumentos directos de una función de agregación de conjuntos ordenados debe usar sólo columnas agrupadas."
 
-#: parser/parse_agg.c:1430
+#: parser/parse_agg.c:1423
 #, c-format
 msgid "subquery uses ungrouped column \"%s.%s\" from outer query"
 msgstr "la subconsulta usa la columna «%s.%s» no agrupada de una consulta exterior"
 
-#: parser/parse_agg.c:1594
+#: parser/parse_agg.c:1587
 #, c-format
 msgid "arguments to GROUPING must be grouping expressions of the associated query level"
 msgstr "los argumentos de GROUPING deben ser expresiones agrupantes del nivel de consulta asociado"
@@ -16120,10 +15938,9 @@ msgid "column alias list for \"%s\" has too many entries"
 msgstr "la lista de alias de columnas para «%s» tiene demasiadas entradas"
 
 #: parser/parse_clause.c:1791
-#, fuzzy, c-format
-#| msgid "row count cannot be NULL in FETCH FIRST ... WITH TIES clause"
+#, c-format
 msgid "row count cannot be null in FETCH FIRST ... WITH TIES clause"
-msgstr "la cantidad de registros no puede ser nula en la cláusula FETCH FIRST ... WITH TIES"
+msgstr "la cantidad de registros no puede ser NULL en la cláusula FETCH FIRST ... WITH TIES"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
 #: parser/parse_clause.c:1816
@@ -16279,159 +16096,153 @@ msgstr "RANGE con desplazamiento PRECEDING/FOLLOWING tiene múltiples interpreta
 msgid "Cast the offset value to the exact intended type."
 msgstr "Convierta el valor de desplazamiento al tipo deseado exacto."
 
-#: parser/parse_coerce.c:1034 parser/parse_coerce.c:1072
-#: parser/parse_coerce.c:1090 parser/parse_coerce.c:1105
-#: parser/parse_expr.c:2055 parser/parse_expr.c:2649 parser/parse_target.c:995
+#: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088
+#: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121
+#: parser/parse_expr.c:2055 parser/parse_expr.c:2649 parser/parse_target.c:994
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "no se puede convertir el tipo %s a %s"
 
-#: parser/parse_coerce.c:1075
+#: parser/parse_coerce.c:1091
 #, c-format
 msgid "Input has too few columns."
 msgstr "La entrada tiene muy pocas columnas."
 
-#: parser/parse_coerce.c:1093
+#: parser/parse_coerce.c:1109
 #, c-format
 msgid "Cannot cast type %s to %s in column %d."
 msgstr "No se puede convertir el tipo %s a %s en la columna %d."
 
-#: parser/parse_coerce.c:1108
+#: parser/parse_coerce.c:1124
 #, c-format
 msgid "Input has too many columns."
 msgstr "La entrada tiene demasiadas columnas."
 
 #. translator: first %s is name of a SQL construct, eg WHERE
 #. translator: first %s is name of a SQL construct, eg LIMIT
-#: parser/parse_coerce.c:1163 parser/parse_coerce.c:1211
+#: parser/parse_coerce.c:1179 parser/parse_coerce.c:1227
 #, c-format
 msgid "argument of %s must be type %s, not type %s"
 msgstr "el argumento de %s debe ser de tipo %s, no tipo %s"
 
 #. translator: %s is name of a SQL construct, eg WHERE
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_coerce.c:1174 parser/parse_coerce.c:1223
+#: parser/parse_coerce.c:1190 parser/parse_coerce.c:1239
 #, c-format
 msgid "argument of %s must not return a set"
 msgstr "el argumento de %s no debe retornar un conjunto"
 
 #. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:1363
+#: parser/parse_coerce.c:1379
 #, c-format
 msgid "%s types %s and %s cannot be matched"
 msgstr "los tipos %2$s y %3$s no son coincidentes en %1$s"
 
-#: parser/parse_coerce.c:1475
+#: parser/parse_coerce.c:1491
 #, c-format
 msgid "argument types %s and %s cannot be matched"
 msgstr "los tipos de argumento %s y %s no pueden hacerse coincidir"
 
 #. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:1527
+#: parser/parse_coerce.c:1543
 #, c-format
 msgid "%s could not convert type %s to %s"
 msgstr "%s no pudo convertir el tipo %s a %s"
 
-#: parser/parse_coerce.c:2089 parser/parse_coerce.c:2109
-#: parser/parse_coerce.c:2129 parser/parse_coerce.c:2149
-#: parser/parse_coerce.c:2204 parser/parse_coerce.c:2237
-#, fuzzy, c-format
-#| msgid "arguments declared \"anyarray\" are not all alike"
+#: parser/parse_coerce.c:2098 parser/parse_coerce.c:2118
+#: parser/parse_coerce.c:2138 parser/parse_coerce.c:2159
+#: parser/parse_coerce.c:2214 parser/parse_coerce.c:2248
+#, c-format
 msgid "arguments declared \"%s\" are not all alike"
-msgstr "los argumentos declarados «anyarray» no son de tipos compatibles"
+msgstr "los argumentos declarados «%s» no son de tipos compatibles"
 
-#: parser/parse_coerce.c:2183 parser/parse_coerce.c:2297
+#: parser/parse_coerce.c:2193 parser/parse_coerce.c:2306
 #: utils/fmgr/funcapi.c:489
 #, c-format
 msgid "argument declared %s is not an array but type %s"
 msgstr "el argumento declarado %s no es un array sino de tipo %s"
 
-#: parser/parse_coerce.c:2216 parser/parse_coerce.c:2329
+#: parser/parse_coerce.c:2226 parser/parse_coerce.c:2376
 #: utils/fmgr/funcapi.c:503
 #, c-format
 msgid "argument declared %s is not a range type but type %s"
 msgstr "el argumento declarado %s no es un tipo de rango sino tipo %s"
 
-#: parser/parse_coerce.c:2250 parser/parse_coerce.c:2363
-#: utils/fmgr/funcapi.c:521 utils/fmgr/funcapi.c:586
-#, fuzzy, c-format
-#| msgid "argument declared %s is not a range type but type %s"
+#: parser/parse_coerce.c:2260 parser/parse_coerce.c:2340
+#: parser/parse_coerce.c:2473 utils/fmgr/funcapi.c:521 utils/fmgr/funcapi.c:586
+#, c-format
 msgid "argument declared %s is not a multirange type but type %s"
-msgstr "el argumento declarado %s no es un tipo de rango sino tipo %s"
+msgstr "el argumento declarado %s no es un tipo de multirango sino tipo %s"
 
-#: parser/parse_coerce.c:2288
+#: parser/parse_coerce.c:2297
 #, c-format
 msgid "cannot determine element type of \"anyarray\" argument"
 msgstr "no se puede determinar el tipo del argumento «anyarray»"
 
-#: parser/parse_coerce.c:2314 parser/parse_coerce.c:2346
-#: parser/parse_coerce.c:2380 parser/parse_coerce.c:2400
+#: parser/parse_coerce.c:2323 parser/parse_coerce.c:2354
+#: parser/parse_coerce.c:2393 parser/parse_coerce.c:2459
 #, c-format
 msgid "argument declared %s is not consistent with argument declared %s"
 msgstr "el argumento declarado %s no es consistente con el argumento declarado %s"
 
-#: parser/parse_coerce.c:2427
+#: parser/parse_coerce.c:2418
 #, c-format
 msgid "could not determine polymorphic type because input has type %s"
 msgstr "no se pudo determinar el tipo polimórfico porque la entrada es de tipo %s"
 
-#: parser/parse_coerce.c:2441
+#: parser/parse_coerce.c:2432
 #, c-format
 msgid "type matched to anynonarray is an array type: %s"
 msgstr "el argumento emparejado con anynonarray es un array: %s"
 
-#: parser/parse_coerce.c:2451
+#: parser/parse_coerce.c:2442
 #, c-format
 msgid "type matched to anyenum is not an enum type: %s"
 msgstr "el tipo emparejado con anyenum no es un tipo enum: %s"
 
-#: parser/parse_coerce.c:2482 parser/parse_coerce.c:2532
-#: parser/parse_coerce.c:2596 parser/parse_coerce.c:2643
+#: parser/parse_coerce.c:2513 parser/parse_coerce.c:2534
+#: parser/parse_coerce.c:2584 parser/parse_coerce.c:2589
+#: parser/parse_coerce.c:2653 parser/parse_coerce.c:2665
 #, c-format
 msgid "could not determine polymorphic type %s because input has type %s"
 msgstr "no se pudo determinar el tipo polimórfico %s porque la entrada es de tipo %s"
 
-#: parser/parse_coerce.c:2492
+#: parser/parse_coerce.c:2523
 #, c-format
 msgid "anycompatiblerange type %s does not match anycompatible type %s"
 msgstr "el tipo anycompatiblerange %s no coincide con el tipo anycompatible %s"
 
-#: parser/parse_coerce.c:2506
+#: parser/parse_coerce.c:2544
+#, c-format
+msgid "anycompatiblemultirange type %s does not match anycompatible type %s"
+msgstr "el tipo anycompatiblemultirange %s no coincide con el tipo anycompatible %s"
+
+#: parser/parse_coerce.c:2558
 #, c-format
 msgid "type matched to anycompatiblenonarray is an array type: %s"
 msgstr "el argumento emparejado a anycompatiblenonarray es un array: %s"
 
-#: parser/parse_coerce.c:2607 parser/parse_coerce.c:2658
-#: utils/fmgr/funcapi.c:614
-#, fuzzy, c-format
-#| msgid "could not find array type for data type %s"
-msgid "could not find multirange type for data type %s"
-msgstr "no se pudo encontrar un tipo de array para el tipo de dato %s"
-
-#: parser/parse_coerce.c:2739
-#, fuzzy, c-format
-#| msgid "A result of type %s requires at least one input of type %s."
+#: parser/parse_coerce.c:2793
+#, c-format
 msgid "A result of type %s requires at least one input of type anyrange or anymultirange."
-msgstr "Un resultado de tipo %s requiere al menos un argumento de tipo %s."
+msgstr "Un resultado de tipo %s requiere al menos una entrada de tipo anyrange o anymultirange."
 
-#: parser/parse_coerce.c:2756
-#, fuzzy, c-format
-#| msgid "A result of type %s requires at least one input of type anycompatible, anycompatiblearray, anycompatiblenonarray, or anycompatiblerange."
+#: parser/parse_coerce.c:2810
+#, c-format
 msgid "A result of type %s requires at least one input of type anycompatiblerange or anycompatiblemultirange."
-msgstr "Un resultado de tipo %s requiere al menos una entrada de tipo anycompatible, anycompatiblearray, anycompatiblenonarray, o anycompatiblerange."
+msgstr "Un resultado de tipo %s requiere al menos una entrada de tipo anycompatiblerange o anycompatiblemultirange."
 
-#: parser/parse_coerce.c:2768
-#, fuzzy, c-format
-#| msgid "A result of type %s requires at least one input of type anyelement, anyarray, anynonarray, anyenum, or anyrange."
+#: parser/parse_coerce.c:2822
+#, c-format
 msgid "A result of type %s requires at least one input of type anyelement, anyarray, anynonarray, anyenum, anyrange, or anymultirange."
-msgstr "Un resultado de tipo %s requiere al menos una entrada de tipo anyelement, anyarray, anynonarray, anyenum, o anyrange."
+msgstr "Un resultado de tipo %s requiere al menos una entrada de tipo anyelement, anyarray, anynonarray, anyenum, anyrange o anymultirange."
 
-#: parser/parse_coerce.c:2780
+#: parser/parse_coerce.c:2834
 #, c-format
-msgid "A result of type %s requires at least one input of type anycompatible, anycompatiblearray, anycompatiblenonarray, or anycompatiblerange."
-msgstr "Un resultado de tipo %s requiere al menos una entrada de tipo anycompatible, anycompatiblearray, anycompatiblenonarray, o anycompatiblerange."
+msgid "A result of type %s requires at least one input of type anycompatible, anycompatiblearray, anycompatiblenonarray, anycompatiblerange, or anycompatiblemultirange."
+msgstr "Un resultado de tipo %s requiere al menos una entrada de tipo anycompatible, anycompatiblearray, anycompatiblenonarray, anycompatiblerange o anycompatiblemultirange."
 
-#: parser/parse_coerce.c:2810
+#: parser/parse_coerce.c:2864
 msgid "A result of type internal requires at least one input of type internal."
 msgstr "Un resultado de tipo internal requiere al menos una entrada de tipo internal."
 
@@ -16510,76 +16321,72 @@ msgstr "Use la clásula COLLATE para definir el ordenamiento del término no-rec
 #: parser/parse_cte.c:350
 #, c-format
 msgid "WITH query is not recursive"
-msgstr ""
+msgstr "la consulta WITH no es recursiva"
 
 #: parser/parse_cte.c:381
 #, c-format
 msgid "with a SEARCH or CYCLE clause, the left side of the UNION must be a SELECT"
-msgstr ""
+msgstr "con una cláusula SEARCH o CYCLE, el lado izquierdo de UNION debe ser un SELECT"
 
 #: parser/parse_cte.c:386
 #, c-format
 msgid "with a SEARCH or CYCLE clause, the right side of the UNION must be a SELECT"
-msgstr ""
+msgstr "con una cláusula SEARCH o CYCLE, el lado derecho de UNION debe ser un SELECT"
 
 #: parser/parse_cte.c:401
 #, c-format
 msgid "search column \"%s\" not in WITH query column list"
-msgstr ""
+msgstr "columna de búsqueda «%s» no se encuentra en la lista de columnas de la consulta WITH"
 
 #: parser/parse_cte.c:408
-#, fuzzy, c-format
-#| msgid "column \"%s\" specified more than once"
+#, c-format
 msgid "search column \"%s\" specified more than once"
-msgstr "la columna «%s» fue especificada más de una vez"
+msgstr "columna de búsqueda «%s» fue especificada más de una vez"
 
 #: parser/parse_cte.c:417
 #, c-format
 msgid "search sequence column name \"%s\" already used in WITH query column list"
-msgstr ""
+msgstr "el nombre para la columna de secuencia de búsqueda «%s» ya ha sido utilizado en la lista de columnas de la consulta WITH"
 
 #: parser/parse_cte.c:436
-#, fuzzy, c-format
-#| msgid "column \"%s\" named in key does not exist"
+#, c-format
 msgid "cycle column \"%s\" not in WITH query column list"
-msgstr "no existe la columna «%s» en la llave"
+msgstr "la columna de ciclo «%s» no se encuentra en la lista de columnas de la consulta WITH"
 
 #: parser/parse_cte.c:443
-#, fuzzy, c-format
-#| msgid "column \"%s\" specified more than once"
+#, c-format
 msgid "cycle column \"%s\" specified more than once"
-msgstr "la columna «%s» fue especificada más de una vez"
+msgstr "columna de ciclo «%s» fue especificada más de una vez"
 
 #: parser/parse_cte.c:452
 #, c-format
 msgid "cycle mark column name \"%s\" already used in WITH query column list"
-msgstr ""
+msgstr "el nombre para la columna de marca de ciclo «%s» ya ha sido utilizada en la lista de columnas de la consulta WITH"
 
 #: parser/parse_cte.c:464
 #, c-format
 msgid "cycle path column name \"%s\" already used in WITH query column list"
-msgstr ""
+msgstr "el nombre para la columna de ruta de ciclo «%s» ya ha sido utilizada en la lista de columnas de la consulta WITH"
 
 #: parser/parse_cte.c:472
 #, c-format
 msgid "cycle mark column name and cycle path column name are the same"
-msgstr ""
+msgstr "el nombre para la columna de marca de ciclo es igual que el nombre para la columna de ruta de ciclo"
 
 #: parser/parse_cte.c:508
-#, fuzzy, c-format
-#| msgid "could not identify an equality operator for type %s"
+#, c-format
 msgid "could not identify an inequality operator for type %s"
-msgstr "no se pudo identificar un operador de igualdad para el tipo %s"
+msgstr "no se pudo identificar un operador de desigualdad para el tipo %s"
 
 #: parser/parse_cte.c:520
 #, c-format
 msgid "search sequence column name and cycle mark column name are the same"
-msgstr ""
+msgstr "el nombre para la columna de secuencia de búsqueda es igual que el nombre para la columna de marca de ciclo"
 
 #: parser/parse_cte.c:527
 #, c-format
 msgid "search sequence column name and cycle path column name are the same"
-msgstr ""
+msgstr "el nombre para la columna de secuencia de búsqueda es igual que el nombre para la columna de ruta de ciclo"
 
 #: parser/parse_cte.c:611
 #, c-format
@@ -16652,7 +16459,7 @@ msgstr "no se pudo identificar la columna «%s» en el tipo de dato record"
 msgid "column notation .%s applied to type %s, which is not a composite type"
 msgstr "la notación de columna .%s fue aplicada al tipo %s, que no es un tipo compuesto"
 
-#: parser/parse_expr.c:395 parser/parse_target.c:740
+#: parser/parse_expr.c:395 parser/parse_target.c:739
 #, c-format
 msgid "row expansion via \"*\" is not supported here"
 msgstr "la expansión de filas a través de «*» no está soportado aquí"
@@ -16666,7 +16473,7 @@ msgid "cannot use column reference in partition bound expression"
 msgstr "no se pueden usar referencias a columnas en expresión de borde de partición"
 
 #: parser/parse_expr.c:788 parser/parse_relation.c:807
-#: parser/parse_relation.c:889 parser/parse_target.c:1235
+#: parser/parse_relation.c:889 parser/parse_target.c:1234
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "la referencia a la columna «%s» es ambigua"
@@ -16721,10 +16528,8 @@ msgid "cannot use subquery in index predicate"
 msgstr "no se puede usar una subconsulta en un predicado de índice"
 
 #: parser/parse_expr.c:1746
-#, fuzzy
-#| msgid "cannot use subquery in partition key expression"
 msgid "cannot use subquery in statistics expression"
-msgstr "no se puede usar una subconsulta en una expresión de llave de partición"
+msgstr "no se puede usar una subconsulta en una expresión de estadísticas"
 
 #: parser/parse_expr.c:1749
 msgid "cannot use subquery in transform expression"
@@ -16919,11 +16724,10 @@ msgid "OVER is not supported for ordered-set aggregate %s"
 msgstr "OVER no está soportado para la función de agregación de conjuntos ordenados %s"
 
 #: parser/parse_func.c:421 parser/parse_func.c:452
-#, fuzzy, c-format
-#| msgid "There is an ordered-set aggregate %s, but it requires %d direct arguments, not %d."
+#, c-format
 msgid "There is an ordered-set aggregate %s, but it requires %d direct argument, not %d."
 msgid_plural "There is an ordered-set aggregate %s, but it requires %d direct arguments, not %d."
-msgstr[0] "Hay una función de agregación de conjuntos ordenados %s, pero requiere %d argumentos directos, no %d."
+msgstr[0] "Hay una función de agregación de conjuntos ordenados %s, pero requiere %d argumento directo, no %d."
 msgstr[1] "Hay una función de agregación de conjuntos ordenados %s, pero requiere %d argumentos directos, no %d."
 
 #: parser/parse_func.c:479
@@ -16932,12 +16736,11 @@ msgid "To use the hypothetical-set aggregate %s, the number of hypothetical dire
 msgstr "Para usar la función de agregación de conjunto hipotética %s, el número de argumentos hipotéticos directos (acá %d) debe coincidir con el número de columnas del ordenamiento (acá %d)."
 
 #: parser/parse_func.c:493
-#, fuzzy, c-format
-#| msgid "There is an ordered-set aggregate %s, but it requires at least %d direct arguments."
+#, c-format
 msgid "There is an ordered-set aggregate %s, but it requires at least %d direct argument."
 msgid_plural "There is an ordered-set aggregate %s, but it requires at least %d direct arguments."
-msgstr[0] "Hay una función de agregación de conjuntos ordenados %s, pero requiere al menos %d argumentos directos"
-msgstr[1] "Hay una función de agregación de conjuntos ordenados %s, pero requiere al menos %d argumentos directos"
+msgstr[0] "Hay una función de agregación de conjuntos ordenados %s, pero requiere al menos %d argumento directo."
+msgstr[1] "Hay una función de agregación de conjuntos ordenados %s, pero requiere al menos %d argumentos directos."
 
 #: parser/parse_func.c:514
 #, c-format
@@ -17150,10 +16953,8 @@ msgid "set-returning functions are not allowed in index predicates"
 msgstr "no se permiten funciones que retornan conjuntos en predicados de índice"
 
 #: parser/parse_func.c:2629
-#, fuzzy
-#| msgid "set-returning functions are not allowed in policy expressions"
 msgid "set-returning functions are not allowed in statistics expressions"
-msgstr "no se permiten funciones que retornan conjuntos en expresiones de política"
+msgstr "no se permiten funciones que retornan conjuntos en expresiones de estadísticas"
 
 #: parser/parse_func.c:2632
 msgid "set-returning functions are not allowed in transform expressions"
@@ -17193,10 +16994,9 @@ msgid "target lists can have at most %d entries"
 msgstr "las listas de resultados pueden tener a lo más %d entradas"
 
 #: parser/parse_oper.c:123 parser/parse_oper.c:690
-#, fuzzy, c-format
-#| msgid "log format \"%s\" is not supported"
+#, c-format
 msgid "postfix operators are not supported"
-msgstr "el formato de log «%s» no está soportado"
+msgstr "los operadores postfix no están soportados"
 
 #: parser/parse_oper.c:130 parser/parse_oper.c:649 utils/adt/regproc.c:539
 #: utils/adt/regproc.c:723
@@ -17316,16 +17116,14 @@ msgid "Use WITH RECURSIVE, or re-order the WITH items to remove forward referenc
 msgstr "Use WITH RECURSIVE, o reordene los elementos de WITH para eliminar referencias hacia adelante."
 
 #: parser/parse_relation.c:1767
-#, fuzzy, c-format
-#| msgid "a column definition list is required for functions returning \"record\""
+#, c-format
 msgid "a column definition list is redundant for a function with OUT parameters"
-msgstr "la lista de definición de columnas es obligatoria para funciones que retornan «record»"
+msgstr "una lista de definición de columnas es redundante para una función con parámetros OUT"
 
 #: parser/parse_relation.c:1773
-#, fuzzy, c-format
-#| msgid "a column definition list is required for functions returning \"record\""
+#, c-format
 msgid "a column definition list is redundant for a function returning a named composite type"
-msgstr "la lista de definición de columnas es obligatoria para funciones que retornan «record»"
+msgstr "una lista de definición de columnas es redundante para una función que retorna un tipo compuesto especificado"
 
 #: parser/parse_relation.c:1780
 #, c-format
@@ -17387,48 +17185,47 @@ msgstr "Hay una columna llamada «%s» en la tabla «%s», pero no puede ser ref
 msgid "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"."
 msgstr "Probablemente quiera hacer referencia a la columna «%s.%s» o la columna «%s.%s»."
 
-#: parser/parse_target.c:483 parser/parse_target.c:804
+#: parser/parse_target.c:482 parser/parse_target.c:803
 #, c-format
 msgid "cannot assign to system column \"%s\""
 msgstr "no se puede asignar a la columna de sistema «%s»"
 
-#: parser/parse_target.c:511
+#: parser/parse_target.c:510
 #, c-format
 msgid "cannot set an array element to DEFAULT"
 msgstr "no se puede definir un elemento de array a DEFAULT"
 
-#: parser/parse_target.c:516
+#: parser/parse_target.c:515
 #, c-format
 msgid "cannot set a subfield to DEFAULT"
 msgstr "no se puede definir un subcampo a DEFAULT"
 
-#: parser/parse_target.c:590
+#: parser/parse_target.c:589
 #, c-format
 msgid "column \"%s\" is of type %s but expression is of type %s"
 msgstr "la columna «%s» es de tipo %s pero la expresión es de tipo %s"
 
-#: parser/parse_target.c:788
+#: parser/parse_target.c:787
 #, c-format
 msgid "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a composite type"
 msgstr "no se puede asignar al campo «%s» de la columna «%s» porque su tipo %s no es un tipo compuesto"
 
-#: parser/parse_target.c:797
+#: parser/parse_target.c:796
 #, c-format
 msgid "cannot assign to field \"%s\" of column \"%s\" because there is no such column in data type %s"
 msgstr "no se puede asignar al campo «%s» de la columna «%s» porque no existe esa columna en el tipo de dato %s"
 
-#: parser/parse_target.c:878
-#, fuzzy, c-format
-#| msgid "array assignment to \"%s\" requires type %s but expression is of type %s"
+#: parser/parse_target.c:877
+#, c-format
 msgid "subscripted assignment to \"%s\" requires type %s but expression is of type %s"
-msgstr "la asignación de array a «%s» requiere tipo %s pero la expresión es de tipo %s"
+msgstr "la asignación subindexada a «%s» requiere tipo %s pero la expresión es de tipo %s"
 
-#: parser/parse_target.c:888
+#: parser/parse_target.c:887
 #, c-format
 msgid "subfield \"%s\" is of type %s but expression is of type %s"
 msgstr "el subcampo «%s» es de tipo %s pero la expresión es de tipo %s"
 
-#: parser/parse_target.c:1323
+#: parser/parse_target.c:1322
 #, c-format
 msgid "SELECT * with no tables specified is not valid"
 msgstr "SELECT * sin especificar tablas no es válido"
@@ -17469,331 +17266,330 @@ msgstr "los modificadores de tipo deben ser constantes simples o identificadores
 msgid "invalid type name \"%s\""
 msgstr "el nombre de tipo «%s» no es válido"
 
-#: parser/parse_utilcmd.c:266
+#: parser/parse_utilcmd.c:256
 #, c-format
 msgid "cannot create partitioned table as inheritance child"
 msgstr "no se puede crear una tabla particionada como hija de herencia"
 
-#: parser/parse_utilcmd.c:580
+#: parser/parse_utilcmd.c:570
 #, c-format
 msgid "array of serial is not implemented"
 msgstr "array de serial no está implementado"
 
-#: parser/parse_utilcmd.c:659 parser/parse_utilcmd.c:671
-#: parser/parse_utilcmd.c:730
+#: parser/parse_utilcmd.c:649 parser/parse_utilcmd.c:661
+#: parser/parse_utilcmd.c:720
 #, c-format
 msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
 msgstr "las declaraciones NULL/NOT NULL no son coincidentes para la columna «%s» de la tabla «%s»"
 
-#: parser/parse_utilcmd.c:683
+#: parser/parse_utilcmd.c:673
 #, c-format
 msgid "multiple default values specified for column \"%s\" of table \"%s\""
 msgstr "múltiples valores default especificados para columna «%s» de tabla «%s»"
 
-#: parser/parse_utilcmd.c:700
+#: parser/parse_utilcmd.c:690
 #, c-format
 msgid "identity columns are not supported on typed tables"
 msgstr "las columnas identidad no está soportadas en tablas tipadas"
 
-#: parser/parse_utilcmd.c:704
+#: parser/parse_utilcmd.c:694
 #, c-format
 msgid "identity columns are not supported on partitions"
 msgstr "las columnas identidad no están soportadas en particiones"
 
-#: parser/parse_utilcmd.c:713
+#: parser/parse_utilcmd.c:703
 #, c-format
 msgid "multiple identity specifications for column \"%s\" of table \"%s\""
 msgstr "múltiples especificaciones de identidad para columna «%s» de tabla «%s»"
 
-#: parser/parse_utilcmd.c:743
+#: parser/parse_utilcmd.c:733
 #, c-format
 msgid "generated columns are not supported on typed tables"
 msgstr "las columnas generadas no están soportadas en tablas tipadas"
 
-#: parser/parse_utilcmd.c:747
+#: parser/parse_utilcmd.c:737
 #, c-format
 msgid "generated columns are not supported on partitions"
 msgstr "las columnas generadas no están soportadas en particiones"
 
-#: parser/parse_utilcmd.c:752
+#: parser/parse_utilcmd.c:742
 #, c-format
 msgid "multiple generation clauses specified for column \"%s\" of table \"%s\""
 msgstr "múltiples cláusulas de generación especificadas para columna «%s» de tabla «%s»"
 
-#: parser/parse_utilcmd.c:770 parser/parse_utilcmd.c:885
+#: parser/parse_utilcmd.c:760 parser/parse_utilcmd.c:875
 #, c-format
 msgid "primary key constraints are not supported on foreign tables"
 msgstr "las restricciones de llave primaria no están soportadas en tablas foráneas"
 
-#: parser/parse_utilcmd.c:779 parser/parse_utilcmd.c:895
+#: parser/parse_utilcmd.c:769 parser/parse_utilcmd.c:885
 #, c-format
 msgid "unique constraints are not supported on foreign tables"
 msgstr "las restricciones unique no están soportadas en tablas foráneas"
 
-#: parser/parse_utilcmd.c:824
+#: parser/parse_utilcmd.c:814
 #, c-format
 msgid "both default and identity specified for column \"%s\" of table \"%s\""
 msgstr "tanto el valor por omisión como identidad especificados para columna «%s» de tabla «%s»"
 
-#: parser/parse_utilcmd.c:832
+#: parser/parse_utilcmd.c:822
 #, c-format
 msgid "both default and generation expression specified for column \"%s\" of table \"%s\""
 msgstr "tanto el valor por omisión como expresión de generación especificados para columna «%s» de tabla «%s»"
 
-#: parser/parse_utilcmd.c:840
+#: parser/parse_utilcmd.c:830
 #, c-format
 msgid "both identity and generation expression specified for column \"%s\" of table \"%s\""
 msgstr "tanto identidad como expresión de generación especificados para columna «%s» de tabla «%s»"
 
-#: parser/parse_utilcmd.c:905
+#: parser/parse_utilcmd.c:895
 #, c-format
 msgid "exclusion constraints are not supported on foreign tables"
 msgstr "las restricciones de exclusión no están soportadas en tablas foráneas"
 
-#: parser/parse_utilcmd.c:911
+#: parser/parse_utilcmd.c:901
 #, c-format
 msgid "exclusion constraints are not supported on partitioned tables"
 msgstr "las restricciones de exclusión no están soportadas en tablas particionadas"
 
-#: parser/parse_utilcmd.c:976
+#: parser/parse_utilcmd.c:966
 #, c-format
 msgid "LIKE is not supported for creating foreign tables"
 msgstr "LIKE no está soportado para la creación de tablas foráneas"
 
-#: parser/parse_utilcmd.c:1753 parser/parse_utilcmd.c:1861
+#: parser/parse_utilcmd.c:1743 parser/parse_utilcmd.c:1851
 #, c-format
 msgid "Index \"%s\" contains a whole-row table reference."
 msgstr "El índice «%s» contiene una referencia a la fila completa (whole-row)."
 
-#: parser/parse_utilcmd.c:2248
+#: parser/parse_utilcmd.c:2238
 #, c-format
 msgid "cannot use an existing index in CREATE TABLE"
 msgstr "no se puede usar un índice existente en CREATE TABLE"
 
-#: parser/parse_utilcmd.c:2268
+#: parser/parse_utilcmd.c:2258
 #, c-format
 msgid "index \"%s\" is already associated with a constraint"
 msgstr "el índice «%s» ya está asociado a una restricción"
 
-#: parser/parse_utilcmd.c:2283
+#: parser/parse_utilcmd.c:2273
 #, c-format
 msgid "index \"%s\" is not valid"
 msgstr "el índice «%s» no es válido"
 
-#: parser/parse_utilcmd.c:2289
+#: parser/parse_utilcmd.c:2279
 #, c-format
 msgid "\"%s\" is not a unique index"
 msgstr "«%s» no es un índice único"
 
-#: parser/parse_utilcmd.c:2290 parser/parse_utilcmd.c:2297
-#: parser/parse_utilcmd.c:2304 parser/parse_utilcmd.c:2381
+#: parser/parse_utilcmd.c:2280 parser/parse_utilcmd.c:2287
+#: parser/parse_utilcmd.c:2294 parser/parse_utilcmd.c:2371
 #, c-format
 msgid "Cannot create a primary key or unique constraint using such an index."
 msgstr "No se puede crear una restricción de llave primaria o única usando un índice así."
 
-#: parser/parse_utilcmd.c:2296
+#: parser/parse_utilcmd.c:2286
 #, c-format
 msgid "index \"%s\" contains expressions"
 msgstr "el índice «%s» contiene expresiones"
 
-#: parser/parse_utilcmd.c:2303
+#: parser/parse_utilcmd.c:2293
 #, c-format
 msgid "\"%s\" is a partial index"
 msgstr "«%s» es un índice parcial"
 
-#: parser/parse_utilcmd.c:2315
+#: parser/parse_utilcmd.c:2305
 #, c-format
 msgid "\"%s\" is a deferrable index"
 msgstr "«%s» no es un índice postergable (deferrable)"
 
-#: parser/parse_utilcmd.c:2316
+#: parser/parse_utilcmd.c:2306
 #, c-format
 msgid "Cannot create a non-deferrable constraint using a deferrable index."
 msgstr "No se puede crear una restricción no postergable usando un índice postergable."
 
-#: parser/parse_utilcmd.c:2380
+#: parser/parse_utilcmd.c:2370
 #, c-format
 msgid "index \"%s\" column number %d does not have default sorting behavior"
 msgstr "el índice «%s» columna número %d no tiene comportamiento de ordenamiento por omisión"
 
-#: parser/parse_utilcmd.c:2537
+#: parser/parse_utilcmd.c:2527
 #, c-format
 msgid "column \"%s\" appears twice in primary key constraint"
 msgstr "la columna «%s» aparece dos veces en llave primaria"
 
-#: parser/parse_utilcmd.c:2543
+#: parser/parse_utilcmd.c:2533
 #, c-format
 msgid "column \"%s\" appears twice in unique constraint"
 msgstr "la columna «%s» aparece dos veces en restricción unique"
 
-#: parser/parse_utilcmd.c:2896
+#: parser/parse_utilcmd.c:2880
 #, c-format
 msgid "index expressions and predicates can refer only to the table being indexed"
 msgstr "las expresiones y predicados de índice sólo pueden referirse a la tabla en indexación"
 
-#: parser/parse_utilcmd.c:2974
-#, fuzzy, c-format
-#| msgid "index expressions and predicates can refer only to the table being indexed"
-msgid "statistics expressions can refer only to the table being indexed"
-msgstr "las expresiones y predicados de índice sólo pueden referirse a la tabla en indexación"
+#: parser/parse_utilcmd.c:2952
+#, c-format
+msgid "statistics expressions can refer only to the table being referenced"
+msgstr "las expresiones estadísticas sólo pueden referirse a la tabla que está siendo referida"
 
-#: parser/parse_utilcmd.c:3020
+#: parser/parse_utilcmd.c:2995
 #, c-format
 msgid "rules on materialized views are not supported"
 msgstr "las reglas en vistas materializadas no están soportadas"
 
-#: parser/parse_utilcmd.c:3083
+#: parser/parse_utilcmd.c:3058
 #, c-format
 msgid "rule WHERE condition cannot contain references to other relations"
 msgstr "la condición WHERE de la regla no puede contener referencias a otras relaciones"
 
-#: parser/parse_utilcmd.c:3157
+#: parser/parse_utilcmd.c:3131
 #, c-format
 msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions"
 msgstr "las reglas con condiciones WHERE sólo pueden tener acciones SELECT, INSERT, UPDATE o DELETE"
 
-#: parser/parse_utilcmd.c:3175 parser/parse_utilcmd.c:3276
+#: parser/parse_utilcmd.c:3149 parser/parse_utilcmd.c:3250
 #: rewrite/rewriteHandler.c:508 rewrite/rewriteManip.c:1018
 #, c-format
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr "las sentencias UNION/INTERSECT/EXCEPT condicionales no están implementadas"
 
-#: parser/parse_utilcmd.c:3193
+#: parser/parse_utilcmd.c:3167
 #, c-format
 msgid "ON SELECT rule cannot use OLD"
 msgstr "una regla ON SELECT no puede usar OLD"
 
-#: parser/parse_utilcmd.c:3197
+#: parser/parse_utilcmd.c:3171
 #, c-format
 msgid "ON SELECT rule cannot use NEW"
 msgstr "una regla ON SELECT no puede usar NEW"
 
-#: parser/parse_utilcmd.c:3206
+#: parser/parse_utilcmd.c:3180
 #, c-format
 msgid "ON INSERT rule cannot use OLD"
 msgstr "una regla ON INSERT no puede usar OLD"
 
-#: parser/parse_utilcmd.c:3212
+#: parser/parse_utilcmd.c:3186
 #, c-format
 msgid "ON DELETE rule cannot use NEW"
 msgstr "una regla ON DELETE no puede usar NEW"
 
-#: parser/parse_utilcmd.c:3240
+#: parser/parse_utilcmd.c:3214
 #, c-format
 msgid "cannot refer to OLD within WITH query"
 msgstr "no se puede hacer referencia a OLD dentro de una consulta WITH"
 
-#: parser/parse_utilcmd.c:3247
+#: parser/parse_utilcmd.c:3221
 #, c-format
 msgid "cannot refer to NEW within WITH query"
 msgstr "no se puede hacer referencia a NEW dentro de una consulta WITH"
 
-#: parser/parse_utilcmd.c:3706
+#: parser/parse_utilcmd.c:3674
 #, c-format
 msgid "misplaced DEFERRABLE clause"
 msgstr "cláusula DEFERRABLE mal puesta"
 
-#: parser/parse_utilcmd.c:3711 parser/parse_utilcmd.c:3726
+#: parser/parse_utilcmd.c:3679 parser/parse_utilcmd.c:3694
 #, c-format
 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr "no se permiten múltiples cláusulas DEFERRABLE/NOT DEFERRABLE"
 
-#: parser/parse_utilcmd.c:3721
+#: parser/parse_utilcmd.c:3689
 #, c-format
 msgid "misplaced NOT DEFERRABLE clause"
 msgstr "la cláusula NOT DEFERRABLE está mal puesta"
 
-#: parser/parse_utilcmd.c:3742
+#: parser/parse_utilcmd.c:3710
 #, c-format
 msgid "misplaced INITIALLY DEFERRED clause"
 msgstr "la cláusula INITIALLY DEFERRED está mal puesta"
 
-#: parser/parse_utilcmd.c:3747 parser/parse_utilcmd.c:3773
+#: parser/parse_utilcmd.c:3715 parser/parse_utilcmd.c:3741
 #, c-format
 msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr "no se permiten múltiples cláusulas INITIALLY IMMEDIATE/DEFERRED"
 
-#: parser/parse_utilcmd.c:3768
+#: parser/parse_utilcmd.c:3736
 #, c-format
 msgid "misplaced INITIALLY IMMEDIATE clause"
 msgstr "la cláusula INITIALLY IMMEDIATE está mal puesta"
 
-#: parser/parse_utilcmd.c:3959
+#: parser/parse_utilcmd.c:3927
 #, c-format
 msgid "CREATE specifies a schema (%s) different from the one being created (%s)"
 msgstr "CREATE especifica un esquema (%s) diferente del que se está creando (%s)"
 
-#: parser/parse_utilcmd.c:3994
+#: parser/parse_utilcmd.c:3962
 #, c-format
 msgid "\"%s\" is not a partitioned table"
 msgstr "«%s» no es una tabla particionada"
 
-#: parser/parse_utilcmd.c:4001
+#: parser/parse_utilcmd.c:3969
 #, c-format
 msgid "table \"%s\" is not partitioned"
 msgstr "«la tabla %s» no está particionada"
 
-#: parser/parse_utilcmd.c:4008
+#: parser/parse_utilcmd.c:3976
 #, c-format
 msgid "index \"%s\" is not partitioned"
 msgstr "el índice «%s» no está particionado"
 
-#: parser/parse_utilcmd.c:4048
+#: parser/parse_utilcmd.c:4016
 #, c-format
 msgid "a hash-partitioned table may not have a default partition"
 msgstr "una tabla particionada por hash no puede tener una partición default"
 
-#: parser/parse_utilcmd.c:4065
+#: parser/parse_utilcmd.c:4033
 #, c-format
 msgid "invalid bound specification for a hash partition"
 msgstr "especificación de borde no válida para partición de hash"
 
-#: parser/parse_utilcmd.c:4071 partitioning/partbounds.c:4701
+#: parser/parse_utilcmd.c:4039 partitioning/partbounds.c:4711
 #, c-format
-msgid "modulus for hash partition must be a positive integer"
-msgstr "el módulo para una partición hash debe ser un entero positivo"
+msgid "modulus for hash partition must be an integer value greater than zero"
+msgstr "el módulo para una partición hash debe ser un valor entero mayor que cero"
 
-#: parser/parse_utilcmd.c:4078 partitioning/partbounds.c:4709
+#: parser/parse_utilcmd.c:4046 partitioning/partbounds.c:4719
 #, c-format
 msgid "remainder for hash partition must be less than modulus"
 msgstr "remanente en partición hash debe ser menor que el módulo"
 
-#: parser/parse_utilcmd.c:4091
+#: parser/parse_utilcmd.c:4059
 #, c-format
 msgid "invalid bound specification for a list partition"
 msgstr "especificación de borde no válida para partición de lista"
 
-#: parser/parse_utilcmd.c:4144
+#: parser/parse_utilcmd.c:4112
 #, c-format
 msgid "invalid bound specification for a range partition"
 msgstr "especificación de borde no válida para partición de rango"
 
-#: parser/parse_utilcmd.c:4150
+#: parser/parse_utilcmd.c:4118
 #, c-format
 msgid "FROM must specify exactly one value per partitioning column"
 msgstr "FROM debe especificar exactamente un valor por cada columna de particionado"
 
-#: parser/parse_utilcmd.c:4154
+#: parser/parse_utilcmd.c:4122
 #, c-format
 msgid "TO must specify exactly one value per partitioning column"
 msgstr "TO debe especificar exactamente un valor por cada columna de particionado"
 
-#: parser/parse_utilcmd.c:4268
+#: parser/parse_utilcmd.c:4236
 #, c-format
 msgid "cannot specify NULL in range bound"
 msgstr "no se puede especificar NULL en borde de rango"
 
-#: parser/parse_utilcmd.c:4317
+#: parser/parse_utilcmd.c:4285
 #, c-format
 msgid "every bound following MAXVALUE must also be MAXVALUE"
 msgstr "cada borde que sigue a un MAXVALUE debe ser también MAXVALUE"
 
-#: parser/parse_utilcmd.c:4324
+#: parser/parse_utilcmd.c:4292
 #, c-format
 msgid "every bound following MINVALUE must also be MINVALUE"
 msgstr "cada borde que siga a un MINVALUE debe ser también MINVALUE"
 
-#: parser/parse_utilcmd.c:4367
+#: parser/parse_utilcmd.c:4335
 #, c-format
 msgid "specified value cannot be cast to type %s for column \"%s\""
 msgstr "el valor especificado no puede ser convertido al tipo %s para la columna «%s»"
@@ -17811,7 +17607,7 @@ msgstr "carácter de escape Unicode no válido"
 msgid "invalid Unicode escape value"
 msgstr "valor de escape Unicode no válido"
 
-#: parser/parser.c:468 scan.l:677 utils/adt/varlena.c:6566
+#: parser/parser.c:468 scan.l:677 utils/adt/varlena.c:6559
 #, c-format
 msgid "invalid Unicode escape"
 msgstr "valor de escape Unicode no válido"
@@ -17822,101 +17618,99 @@ msgid "Unicode escapes must be \\XXXX or \\+XXXXXX."
 msgstr "Los escapes Unicode deben ser \\XXXX o \\+XXXXXX."
 
 #: parser/parser.c:497 scan.l:638 scan.l:654 scan.l:670
-#: utils/adt/varlena.c:6591
+#: utils/adt/varlena.c:6584
 #, c-format
 msgid "invalid Unicode surrogate pair"
 msgstr "par sustituto (surrogate) Unicode no válido"
 
 #: parser/scansup.c:101
-#, fuzzy, c-format
-#| msgid "identifier \"%s\" will be truncated to \"%s\""
+#, c-format
 msgid "identifier \"%s\" will be truncated to \"%.*s\""
-msgstr "el identificador «%s» se truncará a «%s»"
+msgstr "el identificador «%s» se truncará a «%.*s»"
 
 #: partitioning/partbounds.c:2821
 #, c-format
 msgid "partition \"%s\" conflicts with existing default partition \"%s\""
 msgstr "la partición «%s» está en conflicto con la partición default «%s» existente"
 
-#: partitioning/partbounds.c:2870 partitioning/partbounds.c:2888
-#: partitioning/partbounds.c:2904
+#: partitioning/partbounds.c:2873 partitioning/partbounds.c:2892
+#: partitioning/partbounds.c:2914
 #, c-format
 msgid "every hash partition modulus must be a factor of the next larger modulus"
 msgstr "cada módulo de partición hash debe ser un factor del próximo mayor módulo"
 
-#: partitioning/partbounds.c:2871 partitioning/partbounds.c:2905
+#: partitioning/partbounds.c:2874 partitioning/partbounds.c:2915
 #, c-format
 msgid "The new modulus %d is not a factor of %d, the modulus of existing partition \"%s\"."
-msgstr ""
+msgstr "El nuevo módulo %d no es un factor de %d, el módulo de la partición existente «%s»."
 
-#: partitioning/partbounds.c:2889
+#: partitioning/partbounds.c:2893
 #, c-format
 msgid "The new modulus %d is not divisible by %d, the modulus of existing partition \"%s\"."
-msgstr ""
+msgstr "El nuevo módulo %d no es divisible para %d, el módulo de la partición existente «%s»."
 
-#: partitioning/partbounds.c:3018
+#: partitioning/partbounds.c:3028
 #, c-format
 msgid "empty range bound specified for partition \"%s\""
 msgstr "borde de rango vació especificado para la partición «%s»"
 
-#: partitioning/partbounds.c:3020
+#: partitioning/partbounds.c:3030
 #, c-format
 msgid "Specified lower bound %s is greater than or equal to upper bound %s."
 msgstr "El límite inferior %s especificado es mayor o igual al límite superior %s."
 
-#: partitioning/partbounds.c:3132
+#: partitioning/partbounds.c:3142
 #, c-format
 msgid "partition \"%s\" would overlap partition \"%s\""
 msgstr "la partición «%s» traslaparía con la partición «%s»"
 
-#: partitioning/partbounds.c:3249
+#: partitioning/partbounds.c:3259
 #, c-format
 msgid "skipped scanning foreign table \"%s\" which is a partition of default partition \"%s\""
 msgstr "se omitió recorrer la tabla foránea «%s» que es una partición de la partición default «%s»"
 
-#: partitioning/partbounds.c:4705
+#: partitioning/partbounds.c:4715
 #, c-format
-msgid "remainder for hash partition must be a non-negative integer"
-msgstr "remanente en partición hash debe ser un entero no negativo"
+msgid "remainder for hash partition must be an integer value greater than or equal to zero"
+msgstr "remanente en partición hash debe ser un valor entero mayor que o igual a cero"
 
-#: partitioning/partbounds.c:4729
+#: partitioning/partbounds.c:4739
 #, c-format
 msgid "\"%s\" is not a hash partitioned table"
 msgstr "«%s» es una tabla particionada por hash"
 
-#: partitioning/partbounds.c:4740 partitioning/partbounds.c:4857
+#: partitioning/partbounds.c:4750 partitioning/partbounds.c:4867
 #, c-format
 msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)"
 msgstr "el número de columnas de particionamiento (%d) no coincide con el número de llaves de particionamiento provistas (%d)"
 
-#: partitioning/partbounds.c:4762
-#, fuzzy, c-format
-#| msgid "column %d of the partition key has type \"%s\", but supplied value is of type \"%s\""
+#: partitioning/partbounds.c:4772
+#, c-format
 msgid "column %d of the partition key has type %s, but supplied value is of type %s"
 msgstr "la columna %d de la llave de particionamiento tiene tipo «%s», pero el valor dado es de tipo «%s»"
 
-#: partitioning/partbounds.c:4794
+#: partitioning/partbounds.c:4804
 #, c-format
 msgid "column %d of the partition key has type \"%s\", but supplied value is of type \"%s\""
 msgstr "la columna %d de la llave de particionamiento tiene tipo «%s», pero el valor dado es de tipo «%s»"
 
-#: port/pg_sema.c:209 port/pg_shmem.c:668 port/posix_sema.c:209
-#: port/sysv_sema.c:327 port/sysv_shmem.c:668
+#: port/pg_sema.c:209 port/pg_shmem.c:678 port/posix_sema.c:209
+#: port/sysv_sema.c:327 port/sysv_shmem.c:678
 #, c-format
 msgid "could not stat data directory \"%s\": %m"
 msgstr "no se pudo hacer stat al directorio de datos «%s»: %m"
 
-#: port/pg_shmem.c:217 port/sysv_shmem.c:217
+#: port/pg_shmem.c:227 port/sysv_shmem.c:227
 #, c-format
 msgid "could not create shared memory segment: %m"
 msgstr "no se pudo crear el segmento de memoria compartida: %m"
 
-#: port/pg_shmem.c:218 port/sysv_shmem.c:218
+#: port/pg_shmem.c:228 port/sysv_shmem.c:228
 #, c-format
 msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)."
 msgstr "La llamada a sistema fallida fue shmget(key=%lu, size=%zu, 0%o)."
 
-#: port/pg_shmem.c:222 port/sysv_shmem.c:222
+#: port/pg_shmem.c:232 port/sysv_shmem.c:232
 #, c-format
 msgid ""
 "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter, or possibly that it is less than your kernel's SHMMIN parameter.\n"
@@ -17925,7 +17719,7 @@ msgstr ""
 "Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedió el parámetro SHMMAX del kernel, o posiblemente que es menor que el parámetro SHMMIN del kernel.\n"
 "La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida."
 
-#: port/pg_shmem.c:229 port/sysv_shmem.c:229
+#: port/pg_shmem.c:239 port/sysv_shmem.c:239
 #, c-format
 msgid ""
 "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMALL parameter.  You might need to reconfigure the kernel with larger SHMALL.\n"
@@ -17934,7 +17728,7 @@ msgstr ""
 "Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedió el parámetro SHMALL del kernel.  Puede ser necesario reconfigurar el kernel con un SHMALL mayor.\n"
 "La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida."
 
-#: port/pg_shmem.c:235 port/sysv_shmem.c:235
+#: port/pg_shmem.c:245 port/sysv_shmem.c:245
 #, c-format
 msgid ""
 "This error does *not* mean that you have run out of disk space.  It occurs either if all available shared memory IDs have been taken, in which case you need to raise the SHMMNI parameter in your kernel, or because the system's overall limit for shared memory has been reached.\n"
@@ -17943,27 +17737,32 @@ msgstr ""
 "Este error *no* significa que se haya quedado sin espacio en disco.  Ocurre cuando se han usado todos los IDs de memoria compartida disponibles, en cuyo caso puede incrementar el parámetro SHMMNI del kernel, o bien porque se ha alcanzado el límite total de memoria compartida.\n"
 "La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida."
 
-#: port/pg_shmem.c:606 port/sysv_shmem.c:606
+#: port/pg_shmem.c:616 port/sysv_shmem.c:616
 #, c-format
 msgid "could not map anonymous shared memory: %m"
 msgstr "no se pudo mapear memoria compartida anónima: %m"
 
-#: port/pg_shmem.c:608 port/sysv_shmem.c:608
+#: port/pg_shmem.c:618 port/sysv_shmem.c:618
 #, c-format
 msgid "This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently %zu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections."
 msgstr "Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedía la memoria disponible, el espacio de intercambio (swap), o las huge pages.  Para reducir el tamaño de la petición (actualmente %zu bytes), reduzca el uso de memoria compartida de PostgreSQL, quizás reduciendo el parámetro shared_buffers o el parámetro max_connections."
 
-#: port/pg_shmem.c:676 port/sysv_shmem.c:676
+#: port/pg_shmem.c:686 port/sysv_shmem.c:686
 #, c-format
 msgid "huge pages not supported on this platform"
-msgstr "las huge pages no están soportados en esta plataforma"
+msgstr "las huge pages no están soportadas en esta plataforma"
+
+#: port/pg_shmem.c:693 port/sysv_shmem.c:693
+#, c-format
+msgid "huge pages not supported with the current shared_memory_type setting"
+msgstr "las huge pages no están soportadas con la configuración actual de shared_memory_type"
 
-#: port/pg_shmem.c:737 port/sysv_shmem.c:737 utils/init/miscinit.c:1167
+#: port/pg_shmem.c:753 port/sysv_shmem.c:753 utils/init/miscinit.c:1167
 #, c-format
 msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use"
 msgstr "el bloque de memoria compartida preexistente (clave %lu, ID %lu) aún está en uso"
 
-#: port/pg_shmem.c:740 port/sysv_shmem.c:740 utils/init/miscinit.c:1169
+#: port/pg_shmem.c:756 port/sysv_shmem.c:756 utils/init/miscinit.c:1169
 #, c-format
 msgid "Terminate any old server processes associated with data directory \"%s\"."
 msgstr "Termine cualquier proceso de servidor asociado al directorio de datos «%s»."
@@ -18050,20 +17849,17 @@ msgstr "no se pudo intentar-bloquear (try-lock) el semáforo: código de error %
 
 #: port/win32_shmem.c:144 port/win32_shmem.c:159 port/win32_shmem.c:171
 #: port/win32_shmem.c:187
-#, fuzzy, c-format
-#| msgid "%s: could not open service \"%s\": error code %lu\n"
+#, c-format
 msgid "could not enable user right \"%s\": error code %lu"
-msgstr "%s: no se pudo abrir el servicio «%s»: código de error %lu\n"
+msgstr "no se pudo habilitar el privilegio de usuario «%s»: código de error %lu"
 
 #. translator: This is a term from Windows and should be translated to
 #. match the Windows localization.
 #.
 #: port/win32_shmem.c:150 port/win32_shmem.c:159 port/win32_shmem.c:171
 #: port/win32_shmem.c:182 port/win32_shmem.c:184 port/win32_shmem.c:187
-#, fuzzy
-#| msgid "Resource Usage / Memory"
 msgid "Lock pages in memory"
-msgstr "Uso de Recursos / Memoria"
+msgstr "Bloquear páginas en la memoria"
 
 #: port/win32_shmem.c:152 port/win32_shmem.c:160 port/win32_shmem.c:172
 #: port/win32_shmem.c:188
@@ -18072,16 +17868,14 @@ msgid "Failed system call was %s."
 msgstr "La llamada a sistema fallida fue %s."
 
 #: port/win32_shmem.c:182
-#, fuzzy, c-format
-#| msgid "could not parse limit \"%s\""
+#, c-format
 msgid "could not enable user right \"%s\""
-msgstr "no se pudo interpretar el límite «%s»"
+msgstr "no se pudo habilitar el privilegio de usuario «%s»"
 
 #: port/win32_shmem.c:183
-#, fuzzy, c-format
-#| msgid "Assign Lock Pages in Memory user right to the Windows user account which runs PostgreSQL."
+#, c-format
 msgid "Assign user right \"%s\" to the Windows user account which runs PostgreSQL."
-msgstr "Asigne el privilegio «Bloquear páginas en la memoria» a la cuenta de usuario de Windows que ejecuta PostgreSQL."
+msgstr "Asigne el privilegio «%s» a la cuenta de usuario de Windows que ejecuta PostgreSQL."
 
 #: port/win32_shmem.c:241
 #, c-format
@@ -18118,42 +17912,42 @@ msgstr "La llamada a sistema fallida fue DuplicateHandle."
 msgid "Failed system call was MapViewOfFileEx."
 msgstr "La llamada a sistema fallida fue MapViewOfFileEx."
 
-#: postmaster/autovacuum.c:411
+#: postmaster/autovacuum.c:410
 #, c-format
 msgid "could not fork autovacuum launcher process: %m"
 msgstr "no se pudo iniciar el lanzador autovacuum: %m"
 
-#: postmaster/autovacuum.c:1489
+#: postmaster/autovacuum.c:1492
 #, c-format
 msgid "could not fork autovacuum worker process: %m"
 msgstr "no se pudo lanzar el proceso «autovacuum worker»: %m"
 
-#: postmaster/autovacuum.c:2326
+#: postmaster/autovacuum.c:2283
 #, c-format
 msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\""
 msgstr "autovacuum: eliminando tabla temporal huérfana «%s.%s.%s»"
 
-#: postmaster/autovacuum.c:2555
+#: postmaster/autovacuum.c:2512
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\""
 msgstr "vacuum automático de la tabla «%s.%s.%s»"
 
-#: postmaster/autovacuum.c:2558
+#: postmaster/autovacuum.c:2515
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\""
 msgstr "análisis automático de la tabla «%s.%s.%s»"
 
-#: postmaster/autovacuum.c:2751
+#: postmaster/autovacuum.c:2708
 #, c-format
 msgid "processing work entry for relation \"%s.%s.%s\""
 msgstr "procesando elemento de tarea de la tabla «%s.%s.%s»"
 
-#: postmaster/autovacuum.c:3432
+#: postmaster/autovacuum.c:3394
 #, c-format
 msgid "autovacuum not started because of misconfiguration"
 msgstr "autovacuum no fue iniciado debido a un error de configuración"
 
-#: postmaster/autovacuum.c:3433
+#: postmaster/autovacuum.c:3395
 #, c-format
 msgid "Enable the \"track_counts\" option."
 msgstr "Active la opción «track_counts»."
@@ -18161,7 +17955,7 @@ msgstr "Active la opción «track_counts»."
 #: postmaster/bgworker.c:256
 #, c-format
 msgid "inconsistent background worker state (max_worker_processes=%d, total_slots=%d)"
-msgstr ""
+msgstr "estado inconsistente de proceso ayudante (max_worker_processes=%d, total_slots=%d)"
 
 #: postmaster/bgworker.c:661
 #, c-format
@@ -18239,196 +18033,195 @@ msgstr "falló la petición de punto de control"
 msgid "Consult recent messages in the server log for details."
 msgstr "Vea los mensajes recientes en el registro del servidor para obtener más detalles."
 
-#: postmaster/pgarch.c:372
+#: postmaster/pgarch.c:365
 #, c-format
 msgid "archive_mode enabled, yet archive_command is not set"
 msgstr "archive_mode activado, pero archive_command no está definido"
 
-#: postmaster/pgarch.c:394
+#: postmaster/pgarch.c:387
 #, c-format
 msgid "removed orphan archive status file \"%s\""
 msgstr "eliminando archivo de estado huérfano «%s»"
 
-#: postmaster/pgarch.c:404
+#: postmaster/pgarch.c:397
 #, c-format
 msgid "removal of orphan archive status file \"%s\" failed too many times, will try again later"
 msgstr "la eliminación del archivo de estado huérfano «%s» falló demasiadas veces, se tratará de nuevo después"
 
-#: postmaster/pgarch.c:440
+#: postmaster/pgarch.c:433
 #, c-format
 msgid "archiving write-ahead log file \"%s\" failed too many times, will try again later"
 msgstr "el archivado del archivo de WAL «%s» falló demasiadas veces, se tratará de nuevo más tarde"
 
-#: postmaster/pgarch.c:541
+#: postmaster/pgarch.c:534
 #, c-format
 msgid "archive command failed with exit code %d"
 msgstr "la orden de archivado falló con código de retorno %d"
 
-#: postmaster/pgarch.c:543 postmaster/pgarch.c:553 postmaster/pgarch.c:559
-#: postmaster/pgarch.c:568
+#: postmaster/pgarch.c:536 postmaster/pgarch.c:546 postmaster/pgarch.c:552
+#: postmaster/pgarch.c:561
 #, c-format
 msgid "The failed archive command was: %s"
 msgstr "La orden fallida era: «%s»"
 
-#: postmaster/pgarch.c:550
+#: postmaster/pgarch.c:543
 #, c-format
 msgid "archive command was terminated by exception 0x%X"
 msgstr "la orden de archivado fue terminada por una excepción 0x%X"
 
-#: postmaster/pgarch.c:552 postmaster/postmaster.c:3724
+#: postmaster/pgarch.c:545 postmaster/postmaster.c:3748
 #, c-format
 msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
 msgstr "Vea el archivo «ntstatus.h» para una descripción del valor hexadecimal."
 
-#: postmaster/pgarch.c:557
+#: postmaster/pgarch.c:550
 #, c-format
 msgid "archive command was terminated by signal %d: %s"
 msgstr "la orden de archivado fue terminada por una señal %d: %s"
 
-#: postmaster/pgarch.c:566
+#: postmaster/pgarch.c:559
 #, c-format
 msgid "archive command exited with unrecognized status %d"
 msgstr "la orden de archivado fue terminada con código %d no reconocido"
 
-#: postmaster/pgstat.c:417
+#: postmaster/pgstat.c:418
 #, c-format
 msgid "could not resolve \"localhost\": %s"
 msgstr "no se pudo resolver «localhost»: %s"
 
-#: postmaster/pgstat.c:440
+#: postmaster/pgstat.c:441
 #, c-format
 msgid "trying another address for the statistics collector"
 msgstr "intentando otra dirección para el recolector de estadísticas"
 
-#: postmaster/pgstat.c:449
+#: postmaster/pgstat.c:450
 #, c-format
 msgid "could not create socket for statistics collector: %m"
 msgstr "no se pudo crear el socket para el recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:461
+#: postmaster/pgstat.c:462
 #, c-format
 msgid "could not bind socket for statistics collector: %m"
 msgstr "no se pudo enlazar (bind) el socket para el recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:472
+#: postmaster/pgstat.c:473
 #, c-format
 msgid "could not get address of socket for statistics collector: %m"
 msgstr "no se pudo obtener la dirección del socket de estadísticas: %m"
 
-#: postmaster/pgstat.c:488
+#: postmaster/pgstat.c:489
 #, c-format
 msgid "could not connect socket for statistics collector: %m"
 msgstr "no se pudo conectar el socket para el recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:509
+#: postmaster/pgstat.c:510
 #, c-format
 msgid "could not send test message on socket for statistics collector: %m"
 msgstr "no se pudo enviar el mensaje de prueba al recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:535
+#: postmaster/pgstat.c:536
 #, c-format
 msgid "select() failed in statistics collector: %m"
 msgstr "select() falló en el recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:550
+#: postmaster/pgstat.c:551
 #, c-format
 msgid "test message did not get through on socket for statistics collector"
 msgstr "el mensaje de prueba al recolector de estadísticas no ha sido recibido en el socket"
 
-#: postmaster/pgstat.c:565
+#: postmaster/pgstat.c:566
 #, c-format
 msgid "could not receive test message on socket for statistics collector: %m"
 msgstr "no se pudo recibir el mensaje de prueba en el socket del recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:575
+#: postmaster/pgstat.c:576
 #, c-format
 msgid "incorrect test message transmission on socket for statistics collector"
 msgstr "transmisión del mensaje de prueba incorrecta en el socket del recolector de estadísticas"
 
-#: postmaster/pgstat.c:598
+#: postmaster/pgstat.c:599
 #, c-format
 msgid "could not set statistics collector socket to nonblocking mode: %m"
 msgstr "no se pudo poner el socket de estadísticas en modo no bloqueante: %m"
 
-#: postmaster/pgstat.c:642
+#: postmaster/pgstat.c:643
 #, c-format
 msgid "disabling statistics collector for lack of working socket"
 msgstr "desactivando el recolector de estadísticas por falla del socket"
 
-#: postmaster/pgstat.c:789
+#: postmaster/pgstat.c:790
 #, c-format
 msgid "could not fork statistics collector: %m"
 msgstr "no se pudo crear el proceso para el recolector de estadísticas: %m"
 
-#: postmaster/pgstat.c:1459
+#: postmaster/pgstat.c:1444
 #, c-format
 msgid "unrecognized reset target: \"%s\""
 msgstr "destino de reset no reconocido: «%s»"
 
-#: postmaster/pgstat.c:1460
-#, fuzzy, c-format
-#| msgid "Target must be \"archiver\" or \"bgwriter\"."
-msgid "Target must be \"archiver\", \"bgwriter\" or \"wal\"."
-msgstr "El destino debe ser «archiver» o «bgwriter»."
+#: postmaster/pgstat.c:1445
+#, c-format
+msgid "Target must be \"archiver\", \"bgwriter\", or \"wal\"."
+msgstr "El destino debe ser «archiver», «bgwriter» o «wal»."
 
-#: postmaster/pgstat.c:3298
+#: postmaster/pgstat.c:3289
 #, c-format
 msgid "could not read statistics message: %m"
 msgstr "no se pudo leer un mensaje de estadísticas: %m"
 
-#: postmaster/pgstat.c:3644 postmaster/pgstat.c:3829
+#: postmaster/pgstat.c:3634 postmaster/pgstat.c:3819
 #, c-format
 msgid "could not open temporary statistics file \"%s\": %m"
 msgstr "no se pudo abrir el archivo temporal de estadísticas «%s»: %m"
 
-#: postmaster/pgstat.c:3739 postmaster/pgstat.c:3874
+#: postmaster/pgstat.c:3729 postmaster/pgstat.c:3864
 #, c-format
 msgid "could not write temporary statistics file \"%s\": %m"
 msgstr "no se pudo escribir el archivo temporal de estadísticas «%s»: %m"
 
-#: postmaster/pgstat.c:3748 postmaster/pgstat.c:3883
+#: postmaster/pgstat.c:3738 postmaster/pgstat.c:3873
 #, c-format
 msgid "could not close temporary statistics file \"%s\": %m"
 msgstr "no se pudo cerrar el archivo temporal de estadísticas «%s»: %m"
 
-#: postmaster/pgstat.c:3756 postmaster/pgstat.c:3891
+#: postmaster/pgstat.c:3746 postmaster/pgstat.c:3881
 #, c-format
 msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
 msgstr "no se pudo cambiar el nombre al archivo temporal de estadísticas de «%s» a «%s»: %m"
 
-#: postmaster/pgstat.c:3989 postmaster/pgstat.c:4255 postmaster/pgstat.c:4412
+#: postmaster/pgstat.c:3979 postmaster/pgstat.c:4245 postmaster/pgstat.c:4402
 #, c-format
 msgid "could not open statistics file \"%s\": %m"
 msgstr "no se pudo abrir el archivo de estadísticas «%s»: %m"
 
-#: postmaster/pgstat.c:4001 postmaster/pgstat.c:4011 postmaster/pgstat.c:4032
-#: postmaster/pgstat.c:4043 postmaster/pgstat.c:4054 postmaster/pgstat.c:4076
-#: postmaster/pgstat.c:4091 postmaster/pgstat.c:4161 postmaster/pgstat.c:4192
-#: postmaster/pgstat.c:4267 postmaster/pgstat.c:4287 postmaster/pgstat.c:4305
-#: postmaster/pgstat.c:4321 postmaster/pgstat.c:4339 postmaster/pgstat.c:4355
-#: postmaster/pgstat.c:4424 postmaster/pgstat.c:4436 postmaster/pgstat.c:4448
-#: postmaster/pgstat.c:4459 postmaster/pgstat.c:4470 postmaster/pgstat.c:4495
-#: postmaster/pgstat.c:4522 postmaster/pgstat.c:4535
+#: postmaster/pgstat.c:3991 postmaster/pgstat.c:4001 postmaster/pgstat.c:4022
+#: postmaster/pgstat.c:4033 postmaster/pgstat.c:4044 postmaster/pgstat.c:4066
+#: postmaster/pgstat.c:4081 postmaster/pgstat.c:4151 postmaster/pgstat.c:4182
+#: postmaster/pgstat.c:4257 postmaster/pgstat.c:4277 postmaster/pgstat.c:4295
+#: postmaster/pgstat.c:4311 postmaster/pgstat.c:4329 postmaster/pgstat.c:4345
+#: postmaster/pgstat.c:4414 postmaster/pgstat.c:4426 postmaster/pgstat.c:4438
+#: postmaster/pgstat.c:4449 postmaster/pgstat.c:4460 postmaster/pgstat.c:4485
+#: postmaster/pgstat.c:4512 postmaster/pgstat.c:4525
 #, c-format
 msgid "corrupted statistics file \"%s\""
 msgstr "el archivo de estadísticas «%s» está corrupto"
 
-#: postmaster/pgstat.c:4644
+#: postmaster/pgstat.c:4634
 #, c-format
 msgid "statistics collector's time %s is later than backend local time %s"
-msgstr ""
+msgstr "la fecha del colector de estadísticas %s es posterior a la fecha local del servidor %s"
 
-#: postmaster/pgstat.c:4667
+#: postmaster/pgstat.c:4657
 #, c-format
 msgid "using stale statistics instead of current ones because stats collector is not responding"
 msgstr "usando estadísticas añejas en vez de actualizadas porque el recolector de estadísticas no está respondiendo"
 
-#: postmaster/pgstat.c:4794
+#: postmaster/pgstat.c:4784
 #, c-format
 msgid "stats_timestamp %s is later than collector's time %s for database %u"
-msgstr ""
+msgstr "stats_timestamp %s es posterior a la fecha del colector %s para la base de datos %u"
 
-#: postmaster/pgstat.c:5004
+#: postmaster/pgstat.c:4997
 #, c-format
 msgid "database hash table corrupted during cleanup --- abort"
 msgstr "el hash de bases de datos se corrompió durante la finalización; abortando"
@@ -18505,10 +18298,9 @@ msgid "could not create any TCP/IP sockets"
 msgstr "no se pudo crear ningún socket TCP/IP"
 
 #: postmaster/postmaster.c:1227
-#, fuzzy, c-format
-#| msgid "pgpipe: getsockname() failed: error code %d"
+#, c-format
 msgid "DNSServiceRegister() failed: error code %ld"
-msgstr "pgpipe: getsockname() falló: código de error %d"
+msgstr "DNSServiceRegister() falló: código de error %ld"
 
 #: postmaster/postmaster.c:1279
 #, c-format
@@ -18551,10 +18343,9 @@ msgid "Set the LC_ALL environment variable to a valid locale."
 msgstr "Defina la variable de ambiente LC_ALL a un valor válido."
 
 #: postmaster/postmaster.c:1487
-#, fuzzy, c-format
-#| msgid "%s: could not locate my own executable path\n"
+#, c-format
 msgid "%s: could not locate my own executable path"
-msgstr "%s: no se pudo localizar la ruta de mi propio ejecutable\n"
+msgstr "%s: no se pudo localizar la ruta de mi propio ejecutable"
 
 #: postmaster/postmaster.c:1494
 #, c-format
@@ -18585,7 +18376,7 @@ msgstr "select() falló en postmaster: %m"
 #: postmaster/postmaster.c:1857
 #, c-format
 msgid "issuing SIGKILL to recalcitrant children"
-msgstr ""
+msgstr "enviando SIGKILL a procesos hijos recalcitrantes"
 
 #: postmaster/postmaster.c:1878
 #, c-format
@@ -18607,442 +18398,446 @@ msgstr "el de paquete de inicio tiene largo incorrecto"
 msgid "failed to send SSL negotiation response: %m"
 msgstr "no se pudo enviar la respuesta de negociación SSL: %m"
 
-#: postmaster/postmaster.c:2080
+#: postmaster/postmaster.c:2066
+#, c-format
+msgid "received unencrypted data after SSL request"
+msgstr "se recibieron datos no cifrados después de petición SSL"
+
+#: postmaster/postmaster.c:2067 postmaster/postmaster.c:2111
+#, c-format
+msgid "This could be either a client-software bug or evidence of an attempted man-in-the-middle attack."
+msgstr "Esto podría ser un error en el software cliente o evidencia de un intento de ataque man-in-the-middle."
+
+#: postmaster/postmaster.c:2092
 #, c-format
 msgid "failed to send GSSAPI negotiation response: %m"
 msgstr "no se pudo enviar la respuesta de negociación GSSAPI: %m"
 
 #: postmaster/postmaster.c:2110
 #, c-format
+msgid "received unencrypted data after GSSAPI encryption request"
+msgstr "se recibieron datos no cifrados después de petición de cifrado GSSAPI"
+
+#: postmaster/postmaster.c:2134
+#, c-format
 msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
 msgstr "el protocolo %u.%u no está soportado: servidor soporta %u.0 hasta %u.%u"
 
-#: postmaster/postmaster.c:2174 utils/misc/guc.c:7112 utils/misc/guc.c:7148
-#: utils/misc/guc.c:7218 utils/misc/guc.c:8550 utils/misc/guc.c:11506
-#: utils/misc/guc.c:11547
+#: postmaster/postmaster.c:2198 utils/misc/guc.c:7113 utils/misc/guc.c:7149
+#: utils/misc/guc.c:7219 utils/misc/guc.c:8551 utils/misc/guc.c:11507
+#: utils/misc/guc.c:11548
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "valor no válido para el parámetro «%s»: «%s»"
 
-#: postmaster/postmaster.c:2177
+#: postmaster/postmaster.c:2201
 #, c-format
 msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"."
 msgstr "Los valores válidos son: «false», 0, «true», 1, «database»."
 
-#: postmaster/postmaster.c:2222
+#: postmaster/postmaster.c:2246
 #, c-format
 msgid "invalid startup packet layout: expected terminator as last byte"
 msgstr "el paquete de inicio no es válido: se esperaba un terminador en el último byte"
 
-#: postmaster/postmaster.c:2239
+#: postmaster/postmaster.c:2263
 #, c-format
 msgid "no PostgreSQL user name specified in startup packet"
 msgstr "no se especifica un nombre de usuario en el paquete de inicio"
 
-#: postmaster/postmaster.c:2303
+#: postmaster/postmaster.c:2327
 #, c-format
 msgid "the database system is starting up"
 msgstr "el sistema de base de datos está iniciándose"
 
-#: postmaster/postmaster.c:2309
-#, fuzzy, c-format
-#| msgid "database system is ready to accept connections"
+#: postmaster/postmaster.c:2333
+#, c-format
 msgid "the database system is not yet accepting connections"
-msgstr "el sistema de bases de datos está listo para aceptar conexiones"
+msgstr "el sistema de bases de datos aún no está aceptando conexiones"
 
-#: postmaster/postmaster.c:2310
-#, fuzzy, c-format
-#| msgid "consistent recovery state reached at %X/%X"
+#: postmaster/postmaster.c:2334
+#, c-format
 msgid "Consistent recovery state has not been yet reached."
-msgstr "el estado de recuperación consistente fue alcanzado en %X/%X"
+msgstr "Aún no se ha alcanzado un estado de recuperación consistente."
 
-#: postmaster/postmaster.c:2314
-#, fuzzy, c-format
-#| msgid "database system is ready to accept connections"
+#: postmaster/postmaster.c:2338
+#, c-format
 msgid "the database system is not accepting connections"
-msgstr "el sistema de bases de datos está listo para aceptar conexiones"
+msgstr "el sistema de bases de datos no está aceptando conexiones"
 
-#: postmaster/postmaster.c:2315
+#: postmaster/postmaster.c:2339
 #, c-format
 msgid "Hot standby mode is disabled."
-msgstr ""
+msgstr "El modo hot standby está desactivado."
 
-#: postmaster/postmaster.c:2320
+#: postmaster/postmaster.c:2344
 #, c-format
 msgid "the database system is shutting down"
 msgstr "el sistema de base de datos está apagándose"
 
-#: postmaster/postmaster.c:2325
+#: postmaster/postmaster.c:2349
 #, c-format
 msgid "the database system is in recovery mode"
 msgstr "el sistema de base de datos está en modo de recuperación"
 
-#: postmaster/postmaster.c:2330 storage/ipc/procarray.c:463
+#: postmaster/postmaster.c:2354 storage/ipc/procarray.c:475
 #: storage/ipc/sinvaladt.c:297 storage/lmgr/proc.c:361
 #, c-format
 msgid "sorry, too many clients already"
 msgstr "lo siento, ya tenemos demasiados clientes"
 
-#: postmaster/postmaster.c:2420
+#: postmaster/postmaster.c:2444
 #, c-format
 msgid "wrong key in cancel request for process %d"
 msgstr "llave incorrecta en la petición de cancelación para el proceso %d"
 
-#: postmaster/postmaster.c:2432
+#: postmaster/postmaster.c:2456
 #, c-format
 msgid "PID %d in cancel request did not match any process"
 msgstr "el PID %d en la petición de cancelación no coincidió con ningún proceso"
 
-#: postmaster/postmaster.c:2686
+#: postmaster/postmaster.c:2710
 #, c-format
 msgid "received SIGHUP, reloading configuration files"
 msgstr "se recibió SIGHUP, volviendo a cargar archivos de configuración"
 
 #. translator: %s is a configuration file
-#: postmaster/postmaster.c:2712 postmaster/postmaster.c:2716
+#: postmaster/postmaster.c:2736 postmaster/postmaster.c:2740
 #, c-format
 msgid "%s was not reloaded"
 msgstr "%s no fue vuelto a cargar"
 
-#: postmaster/postmaster.c:2726
+#: postmaster/postmaster.c:2750
 #, c-format
 msgid "SSL configuration was not reloaded"
 msgstr "la configuración SSL no fue vuelta a cargar"
 
-#: postmaster/postmaster.c:2782
+#: postmaster/postmaster.c:2806
 #, c-format
 msgid "received smart shutdown request"
 msgstr "se recibió petición de apagado inteligente"
 
-#: postmaster/postmaster.c:2828
+#: postmaster/postmaster.c:2852
 #, c-format
 msgid "received fast shutdown request"
 msgstr "se recibió petición de apagado rápido"
 
-#: postmaster/postmaster.c:2846
+#: postmaster/postmaster.c:2870
 #, c-format
 msgid "aborting any active transactions"
 msgstr "abortando transacciones activas"
 
-#: postmaster/postmaster.c:2870
+#: postmaster/postmaster.c:2894
 #, c-format
 msgid "received immediate shutdown request"
 msgstr "se recibió petición de apagado inmediato"
 
-#: postmaster/postmaster.c:2947
+#: postmaster/postmaster.c:2971
 #, c-format
 msgid "shutdown at recovery target"
 msgstr "apagándose al alcanzar el destino de recuperación"
 
-#: postmaster/postmaster.c:2965 postmaster/postmaster.c:3001
+#: postmaster/postmaster.c:2989 postmaster/postmaster.c:3025
 msgid "startup process"
 msgstr "proceso de inicio"
 
-#: postmaster/postmaster.c:2968
+#: postmaster/postmaster.c:2992
 #, c-format
 msgid "aborting startup due to startup process failure"
 msgstr "abortando el inicio debido a una falla en el procesamiento de inicio"
 
-#: postmaster/postmaster.c:3043
+#: postmaster/postmaster.c:3067
 #, c-format
 msgid "database system is ready to accept connections"
 msgstr "el sistema de bases de datos está listo para aceptar conexiones"
 
-#: postmaster/postmaster.c:3064
+#: postmaster/postmaster.c:3088
 msgid "background writer process"
 msgstr "proceso background writer"
 
-#: postmaster/postmaster.c:3118
+#: postmaster/postmaster.c:3142
 msgid "checkpointer process"
 msgstr "proceso checkpointer"
 
-#: postmaster/postmaster.c:3134
+#: postmaster/postmaster.c:3158
 msgid "WAL writer process"
 msgstr "proceso escritor de WAL"
 
-#: postmaster/postmaster.c:3149
+#: postmaster/postmaster.c:3173
 msgid "WAL receiver process"
 msgstr "proceso receptor de WAL"
 
-#: postmaster/postmaster.c:3164
+#: postmaster/postmaster.c:3188
 msgid "autovacuum launcher process"
 msgstr "proceso lanzador de autovacuum"
 
-#: postmaster/postmaster.c:3182
+#: postmaster/postmaster.c:3206
 msgid "archiver process"
 msgstr "proceso de archivado"
 
-#: postmaster/postmaster.c:3197
+#: postmaster/postmaster.c:3221
 msgid "statistics collector process"
 msgstr "recolector de estadísticas"
 
-#: postmaster/postmaster.c:3211
+#: postmaster/postmaster.c:3235
 msgid "system logger process"
 msgstr "proceso de log"
 
-#: postmaster/postmaster.c:3275
+#: postmaster/postmaster.c:3299
 #, c-format
 msgid "background worker \"%s\""
 msgstr "proceso ayudante «%s»"
 
-#: postmaster/postmaster.c:3359 postmaster/postmaster.c:3379
-#: postmaster/postmaster.c:3386 postmaster/postmaster.c:3404
+#: postmaster/postmaster.c:3383 postmaster/postmaster.c:3403
+#: postmaster/postmaster.c:3410 postmaster/postmaster.c:3428
 msgid "server process"
 msgstr "proceso de servidor"
 
-#: postmaster/postmaster.c:3458
+#: postmaster/postmaster.c:3482
 #, c-format
 msgid "terminating any other active server processes"
 msgstr "terminando todos los otros procesos de servidor activos"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3711
+#: postmaster/postmaster.c:3735
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) terminó con código de salida %d"
 
-#: postmaster/postmaster.c:3713 postmaster/postmaster.c:3725
-#: postmaster/postmaster.c:3735 postmaster/postmaster.c:3746
+#: postmaster/postmaster.c:3737 postmaster/postmaster.c:3749
+#: postmaster/postmaster.c:3759 postmaster/postmaster.c:3770
 #, c-format
 msgid "Failed process was running: %s"
 msgstr "El proceso que falló estaba ejecutando: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3722
+#: postmaster/postmaster.c:3746
 #, c-format
 msgid "%s (PID %d) was terminated by exception 0x%X"
 msgstr "%s (PID %d) fue terminado por una excepción 0x%X"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3732
+#: postmaster/postmaster.c:3756
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d: %s"
 msgstr "%s (PID %d) fue terminado por una señal %d: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3744
+#: postmaster/postmaster.c:3768
 #, c-format
 msgid "%s (PID %d) exited with unrecognized status %d"
 msgstr "%s (PID %d) terminó con código %d no reconocido"
 
-#: postmaster/postmaster.c:3959
+#: postmaster/postmaster.c:3982
 #, c-format
 msgid "abnormal database system shutdown"
 msgstr "apagado anormal del sistema de bases de datos"
 
-#: postmaster/postmaster.c:3997
-#, fuzzy, c-format
-#| msgid "aborting startup due to startup process failure"
+#: postmaster/postmaster.c:4020
+#, c-format
 msgid "shutting down due to startup process failure"
-msgstr "abortando el inicio debido a una falla en el procesamiento de inicio"
+msgstr "apagando debido a una falla en el procesamiento de inicio"
 
-#: postmaster/postmaster.c:4003
+#: postmaster/postmaster.c:4026
 #, c-format
 msgid "shutting down because restart_after_crash is off"
-msgstr ""
+msgstr "apagando debido a que restart_after_crash está desactivado"
 
-#: postmaster/postmaster.c:4015
+#: postmaster/postmaster.c:4038
 #, c-format
 msgid "all server processes terminated; reinitializing"
 msgstr "todos los procesos fueron terminados; reinicializando"
 
-#: postmaster/postmaster.c:4189 postmaster/postmaster.c:5548
-#: postmaster/postmaster.c:5939
+#: postmaster/postmaster.c:4212 postmaster/postmaster.c:5571
+#: postmaster/postmaster.c:5962
 #, c-format
 msgid "could not generate random cancel key"
 msgstr "no se pudo generar una llave de cancelación aleatoria"
 
-#: postmaster/postmaster.c:4243
+#: postmaster/postmaster.c:4266
 #, c-format
 msgid "could not fork new process for connection: %m"
 msgstr "no se pudo lanzar el nuevo proceso para la conexión: %m"
 
-#: postmaster/postmaster.c:4285
+#: postmaster/postmaster.c:4308
 msgid "could not fork new process for connection: "
 msgstr "no se pudo lanzar el nuevo proceso para la conexión: "
 
-#: postmaster/postmaster.c:4391
+#: postmaster/postmaster.c:4414
 #, c-format
 msgid "connection received: host=%s port=%s"
 msgstr "conexión recibida: host=%s port=%s"
 
-#: postmaster/postmaster.c:4396
+#: postmaster/postmaster.c:4419
 #, c-format
 msgid "connection received: host=%s"
 msgstr "conexión recibida: host=%s"
 
-#: postmaster/postmaster.c:4639
+#: postmaster/postmaster.c:4662
 #, c-format
 msgid "could not execute server process \"%s\": %m"
 msgstr "no se pudo lanzar el proceso servidor «%s»: %m"
 
-#: postmaster/postmaster.c:4697
-#, fuzzy, c-format
-#| msgid "could not close handle to backend parameter variables: error code %lu\n"
+#: postmaster/postmaster.c:4720
+#, c-format
 msgid "could not create backend parameter file mapping: error code %lu"
-msgstr "no se pudo cerrar el archivo de variables de servidor: código de error %lu\n"
+msgstr "no se pudo crear mapeo de archivo de parámetros de servidor: código de error %lu"
 
-#: postmaster/postmaster.c:4706
-#, fuzzy, c-format
-#| msgid "could not map view of backend variables: error code %lu\n"
+#: postmaster/postmaster.c:4729
+#, c-format
 msgid "could not map backend parameter memory: error code %lu"
-msgstr "no se pudo mapear la vista del archivo de variables: código de error %lu\n"
+msgstr "no se pudo mapear memoria para parámetros de servidor: código de error %lu"
 
-#: postmaster/postmaster.c:4733
-#, fuzzy, c-format
-#| msgid "command too long\n"
+#: postmaster/postmaster.c:4756
+#, c-format
 msgid "subprocess command line too long"
-msgstr "orden demasiado larga\n"
+msgstr "orden de subproceso demasiado larga"
 
-#: postmaster/postmaster.c:4751
-#, fuzzy, c-format
-#| msgid "pgpipe: getsockname() failed: error code %d"
+#: postmaster/postmaster.c:4774
+#, c-format
 msgid "CreateProcess() call failed: %m (error code %lu)"
-msgstr "pgpipe: getsockname() falló: código de error %d"
+msgstr "llamada a CreateProcess() falló: %m (código de error %lu)"
 
-#: postmaster/postmaster.c:4778
-#, fuzzy, c-format
-#| msgid "could not unmap view of backend variables: error code %lu\n"
+#: postmaster/postmaster.c:4801
+#, c-format
 msgid "could not unmap view of backend parameter file: error code %lu"
-msgstr "no se pudo desmapear la vista del archivo de variables: código de error %lu\n"
+msgstr "no se pudo desmapear la vista del archivo de parámetros de servidor: código de error %lu"
 
-#: postmaster/postmaster.c:4782
-#, fuzzy, c-format
-#| msgid "could not close handle to backend parameter variables: error code %lu\n"
+#: postmaster/postmaster.c:4805
+#, c-format
 msgid "could not close handle to backend parameter file: error code %lu"
-msgstr "no se pudo cerrar el archivo de variables de servidor: código de error %lu\n"
+msgstr "no se pudo cerrar el archivo de parámetros de servidor: código de error %lu"
 
-#: postmaster/postmaster.c:4804
+#: postmaster/postmaster.c:4827
 #, c-format
 msgid "giving up after too many tries to reserve shared memory"
 msgstr "renunciar después de demasiados intentos de reservar memoria compartida"
 
-#: postmaster/postmaster.c:4805
+#: postmaster/postmaster.c:4828
 #, c-format
 msgid "This might be caused by ASLR or antivirus software."
 msgstr "Esto podría deberse a ASLR o un software antivirus."
 
-#: postmaster/postmaster.c:4995
+#: postmaster/postmaster.c:5018
 #, c-format
 msgid "SSL configuration could not be loaded in child process"
 msgstr "No se pudo cargar la configuración SSL en proceso secundario"
 
-#: postmaster/postmaster.c:5121
+#: postmaster/postmaster.c:5144
 #, c-format
 msgid "Please report this to <%s>."
 msgstr "Por favor reporte esto a <%s>."
 
-#: postmaster/postmaster.c:5208
+#: postmaster/postmaster.c:5231
 #, c-format
-msgid "database system is ready to accept read only connections"
+msgid "database system is ready to accept read-only connections"
 msgstr "el sistema de bases de datos está listo para aceptar conexiones de sólo lectura"
 
-#: postmaster/postmaster.c:5472
+#: postmaster/postmaster.c:5495
 #, c-format
 msgid "could not fork startup process: %m"
 msgstr "no se pudo lanzar el proceso de inicio: %m"
 
-#: postmaster/postmaster.c:5476
-#, fuzzy, c-format
-#| msgid "could not fork WAL receiver process: %m"
+#: postmaster/postmaster.c:5499
+#, c-format
 msgid "could not fork archiver process: %m"
-msgstr "no se pudo lanzar el proceso receptor de WAL: %m"
+msgstr "no se pudo lanzar el proceso de archivado: %m"
 
-#: postmaster/postmaster.c:5480
+#: postmaster/postmaster.c:5503
 #, c-format
 msgid "could not fork background writer process: %m"
 msgstr "no se pudo lanzar el background writer: %m"
 
-#: postmaster/postmaster.c:5484
+#: postmaster/postmaster.c:5507
 #, c-format
 msgid "could not fork checkpointer process: %m"
 msgstr "no se pudo lanzar el checkpointer: %m"
 
-#: postmaster/postmaster.c:5488
+#: postmaster/postmaster.c:5511
 #, c-format
 msgid "could not fork WAL writer process: %m"
 msgstr "no se pudo lanzar el proceso escritor de WAL: %m"
 
-#: postmaster/postmaster.c:5492
+#: postmaster/postmaster.c:5515
 #, c-format
 msgid "could not fork WAL receiver process: %m"
 msgstr "no se pudo lanzar el proceso receptor de WAL: %m"
 
-#: postmaster/postmaster.c:5496
+#: postmaster/postmaster.c:5519
 #, c-format
 msgid "could not fork process: %m"
 msgstr "no se pudo lanzar el proceso: %m"
 
-#: postmaster/postmaster.c:5697 postmaster/postmaster.c:5720
+#: postmaster/postmaster.c:5720 postmaster/postmaster.c:5743
 #, c-format
 msgid "database connection requirement not indicated during registration"
 msgstr "el requerimiento de conexión a base de datos no fue indicado durante el registro"
 
-#: postmaster/postmaster.c:5704 postmaster/postmaster.c:5727
+#: postmaster/postmaster.c:5727 postmaster/postmaster.c:5750
 #, c-format
 msgid "invalid processing mode in background worker"
 msgstr "modo de procesamiento no válido en proceso ayudante"
 
-#: postmaster/postmaster.c:5812
+#: postmaster/postmaster.c:5835
 #, c-format
 msgid "could not fork worker process: %m"
 msgstr "no se pudo lanzar el proceso ayudante: %m"
 
-#: postmaster/postmaster.c:5925
+#: postmaster/postmaster.c:5948
 #, c-format
 msgid "no slot available for new worker process"
 msgstr "no hay slot disponible para un nuevo proceso ayudante"
 
-#: postmaster/postmaster.c:6259
+#: postmaster/postmaster.c:6282
 #, c-format
 msgid "could not duplicate socket %d for use in backend: error code %d"
 msgstr "no se pudo duplicar el socket %d para su empleo en el backend: código de error %d"
 
-#: postmaster/postmaster.c:6291
+#: postmaster/postmaster.c:6314
 #, c-format
 msgid "could not create inherited socket: error code %d\n"
 msgstr "no se pudo crear el socket heradado: código de error %d\n"
 
-#: postmaster/postmaster.c:6320
+#: postmaster/postmaster.c:6343
 #, c-format
 msgid "could not open backend variables file \"%s\": %s\n"
 msgstr "no se pudo abrir el archivo de variables de servidor «%s»: %s\n"
 
-#: postmaster/postmaster.c:6327
+#: postmaster/postmaster.c:6350
 #, c-format
 msgid "could not read from backend variables file \"%s\": %s\n"
 msgstr "no se pudo leer el archivo de variables de servidor «%s»: %s\n"
 
-#: postmaster/postmaster.c:6336
+#: postmaster/postmaster.c:6359
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "no se pudo eliminar el archivo «%s»: %s\n"
 
-#: postmaster/postmaster.c:6353
+#: postmaster/postmaster.c:6376
 #, c-format
 msgid "could not map view of backend variables: error code %lu\n"
 msgstr "no se pudo mapear la vista del archivo de variables: código de error %lu\n"
 
-#: postmaster/postmaster.c:6362
+#: postmaster/postmaster.c:6385
 #, c-format
 msgid "could not unmap view of backend variables: error code %lu\n"
 msgstr "no se pudo desmapear la vista del archivo de variables: código de error %lu\n"
 
-#: postmaster/postmaster.c:6369
+#: postmaster/postmaster.c:6392
 #, c-format
 msgid "could not close handle to backend parameter variables: error code %lu\n"
 msgstr "no se pudo cerrar el archivo de variables de servidor: código de error %lu\n"
 
-#: postmaster/postmaster.c:6546
+#: postmaster/postmaster.c:6569
 #, c-format
 msgid "could not read exit code for process\n"
 msgstr "no se pudo leer el código de salida del proceso\n"
 
-#: postmaster/postmaster.c:6551
+#: postmaster/postmaster.c:6574
 #, c-format
 msgid "could not post child completion status\n"
 msgstr "no se pudo publicar el estado de completitud del proceso hijo\n"
@@ -19120,27 +18915,27 @@ msgstr "posición de inicio de flujo de WAL no válida"
 msgid "unterminated quoted string"
 msgstr "una cadena de caracteres entre comillas está inconclusa"
 
-#: replication/backup_manifest.c:255
+#: replication/backup_manifest.c:251
 #, c-format
 msgid "expected end timeline %u but found timeline %u"
 msgstr "se esperaba el timeline de término %u pero se encontró el tieneline %u"
 
-#: replication/backup_manifest.c:272
+#: replication/backup_manifest.c:275
 #, 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"
 
-#: replication/backup_manifest.c:299
+#: replication/backup_manifest.c:302
 #, 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"
 
-#: replication/backup_manifest.c:352
+#: replication/backup_manifest.c:353
 #, c-format
 msgid "could not rewind temporary file"
 msgstr "no se puede rebobinar el archivo temporal"
 
-#: replication/backup_manifest.c:379
+#: replication/backup_manifest.c:380
 #, c-format
 msgid "could not read from temporary file: %m"
 msgstr "no se pudo leer del archivo temporal: %m"
@@ -19167,11 +18962,10 @@ msgid "base backup could not send data, aborting backup"
 msgstr "el respaldo base no pudo enviar datos, abortando el respaldo"
 
 #: replication/basebackup.c:722
-#, fuzzy, c-format
-#| msgid "%lld total checksum verification failures"
+#, c-format
 msgid "%lld total checksum verification failure"
 msgid_plural "%lld total checksum verification failures"
-msgstr[0] "%lld fallas de verificación de suma de comprobación en total"
+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"
 
 #: replication/basebackup.c:729
@@ -19204,10 +18998,9 @@ msgid "unrecognized checksum algorithm: \"%s\""
 msgstr "algoritmo de suma de comprobación no reconocido: \"%s\""
 
 #: replication/basebackup.c:918
-#, fuzzy, c-format
-#| msgid "manifest checksum mismatch"
+#, c-format
 msgid "manifest checksums require a backup manifest"
-msgstr "discordancia en la suma de comprobación del manifiesto"
+msgstr "la suma de comprobación del manifiesto requiere un manifiesto de la copia de seguridad"
 
 #: replication/basebackup.c:1519
 #, c-format
@@ -19220,16 +19013,14 @@ msgid "invalid segment number %d in file \"%s\""
 msgstr "número de segmento %d no válido en archivo «%s»"
 
 #: replication/basebackup.c:1678
-#, fuzzy, c-format
-#| msgid "could not verify checksum in file \"%s\", block %d: read buffer size %d and page size %d differ"
+#, 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 %d: el tamaño leído %d y el tamaño de página %d difieren"
+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"
 
 #: replication/basebackup.c:1751
-#, fuzzy, c-format
-#| msgid "checksum verification failed in file \"%s\", block %d: calculated %X but expected %X"
+#, 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 %d: calculado %X pero se esperaba %X"
+msgstr "verificación de checksums falló en archivo «%s», bloque %u: calculado %X pero se esperaba %X"
 
 #: replication/basebackup.c:1758
 #, c-format
@@ -19254,121 +19045,118 @@ msgid "symbolic link target too long for tar format: file name \"%s\", target \"
 msgstr "destino de enlace simbólico demasiado largo para el formato tar: nombre de archivo «%s», destino «%s»"
 
 #: replication/libpqwalreceiver/libpqwalreceiver.c:227
-#, fuzzy, c-format
-#| msgid "could not clear search_path: %s"
+#, c-format
 msgid "could not clear search path: %s"
-msgstr "no se pudo limpiar search_path: %s"
+msgstr "no se pudo limpiar la ruta de búsqueda: %s"
 
 #: replication/libpqwalreceiver/libpqwalreceiver.c:256
 #, c-format
 msgid "invalid connection string syntax: %s"
 msgstr "sintaxis de cadena de conexión no válida: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:281
+#: replication/libpqwalreceiver/libpqwalreceiver.c:282
 #, c-format
 msgid "could not parse connection string: %s"
 msgstr "no se pudo interpretar la cadena de conexión: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:353
+#: replication/libpqwalreceiver/libpqwalreceiver.c:355
 #, c-format
 msgid "could not receive database system identifier and timeline ID from the primary server: %s"
 msgstr "no se pudo recibir el identificador de sistema y el ID de timeline del servidor primario: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:364
-#: replication/libpqwalreceiver/libpqwalreceiver.c:588
+#: replication/libpqwalreceiver/libpqwalreceiver.c:367
+#: replication/libpqwalreceiver/libpqwalreceiver.c:601
 #, c-format
 msgid "invalid response from primary server"
 msgstr "respuesta no válida del servidor primario"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:365
+#: replication/libpqwalreceiver/libpqwalreceiver.c:368
 #, c-format
 msgid "Could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields."
 msgstr "No se pudo identificar el sistema: se obtuvieron %d filas y %d campos, se esperaban %d filas y %d o más campos."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:440
-#: replication/libpqwalreceiver/libpqwalreceiver.c:446
-#: replication/libpqwalreceiver/libpqwalreceiver.c:475
+#: replication/libpqwalreceiver/libpqwalreceiver.c:444
+#: replication/libpqwalreceiver/libpqwalreceiver.c:451
+#: replication/libpqwalreceiver/libpqwalreceiver.c:481
 #, c-format
 msgid "could not start WAL streaming: %s"
 msgstr "no se pudo iniciar el flujo de WAL: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:498
+#: replication/libpqwalreceiver/libpqwalreceiver.c:505
 #, c-format
 msgid "could not send end-of-streaming message to primary: %s"
 msgstr "no se pudo enviar el mensaje fin-de-flujo al primario: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:520
+#: replication/libpqwalreceiver/libpqwalreceiver.c:528
 #, c-format
 msgid "unexpected result set after end-of-streaming"
 msgstr "conjunto de resultados inesperado después del fin-de-flujo"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:534
+#: replication/libpqwalreceiver/libpqwalreceiver.c:543
 #, c-format
 msgid "error while shutting down streaming COPY: %s"
 msgstr "ocurrió un error mientras se apagaba el flujo COPY: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:543
+#: replication/libpqwalreceiver/libpqwalreceiver.c:553
 #, c-format
 msgid "error reading result of streaming command: %s"
 msgstr "ocurrió un error mientras se leía la orden de flujo: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:551
-#: replication/libpqwalreceiver/libpqwalreceiver.c:785
+#: replication/libpqwalreceiver/libpqwalreceiver.c:562
+#: replication/libpqwalreceiver/libpqwalreceiver.c:800
 #, c-format
 msgid "unexpected result after CommandComplete: %s"
 msgstr "resultado inesperado después de CommandComplete: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:577
+#: replication/libpqwalreceiver/libpqwalreceiver.c:589
 #, c-format
 msgid "could not receive timeline history file from the primary server: %s"
 msgstr "no se pudo recibir el archivo de historia de timeline del servidor primario: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:589
+#: replication/libpqwalreceiver/libpqwalreceiver.c:602
 #, c-format
 msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields."
 msgstr "Se esperaba 1 tupla con 2 campos, se obtuvieron %d tuplas con %d campos."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:749
-#: replication/libpqwalreceiver/libpqwalreceiver.c:800
-#: replication/libpqwalreceiver/libpqwalreceiver.c:806
+#: replication/libpqwalreceiver/libpqwalreceiver.c:763
+#: replication/libpqwalreceiver/libpqwalreceiver.c:816
+#: replication/libpqwalreceiver/libpqwalreceiver.c:823
 #, c-format
 msgid "could not receive data from WAL stream: %s"
 msgstr "no se pudo recibir datos desde el flujo de WAL: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:825
+#: replication/libpqwalreceiver/libpqwalreceiver.c:843
 #, c-format
 msgid "could not send data to WAL stream: %s"
 msgstr "no se pudo enviar datos al flujo de WAL: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:878
+#: replication/libpqwalreceiver/libpqwalreceiver.c:897
 #, c-format
 msgid "could not create replication slot \"%s\": %s"
 msgstr "no se pudo create el slot de replicación «%s»: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:923
+#: replication/libpqwalreceiver/libpqwalreceiver.c:943
 #, c-format
 msgid "invalid query response"
 msgstr "respuesta no válida a consulta"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:924
+#: replication/libpqwalreceiver/libpqwalreceiver.c:944
 #, c-format
 msgid "Expected %d fields, got %d fields."
 msgstr "Se esperaban %d campos, se obtuvieron %d campos."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:994
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1014
 #, c-format
 msgid "the query interface requires a database connection"
 msgstr "la interfaz de consulta requiere una conexión a base de datos"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1025
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1045
 msgid "empty query"
 msgstr "consulta vacía"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1031
-#, fuzzy
-#| msgid "unexpected delimiter"
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1051
 msgid "unexpected pipeline mode"
-msgstr "delimitador inesperado"
+msgstr "modo pipeline inesperado"
 
 #: replication/logical/launcher.c:286
 #, c-format
@@ -19457,64 +19245,28 @@ msgstr "slot «%s», plugin de salida «%s», en el callback %s, LSN asociado %X
 msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
 msgstr "slot «%s», plugin de salida «%s», en el callback %s"
 
-#: replication/logical/logical.c:868
+#: replication/logical/logical.c:868 replication/logical/logical.c:912
+#: replication/logical/logical.c:956 replication/logical/logical.c:1001
 #, c-format
-msgid "logical replication at prepare time requires begin_prepare_cb callback"
-msgstr ""
+msgid "logical replication at prepare time requires a %s callback"
+msgstr "durante la preparación, la replicación lógica requiere una función callback %s"
 
-#: replication/logical/logical.c:911
+#: replication/logical/logical.c:1224 replication/logical/logical.c:1271
+#: replication/logical/logical.c:1311 replication/logical/logical.c:1395
+#: replication/logical/logical.c:1442
 #, c-format
-msgid "logical replication at prepare time requires prepare_cb callback"
-msgstr ""
+msgid "logical streaming requires a %s callback"
+msgstr "el flujo lógico requiere una función callback %s"
 
-#: replication/logical/logical.c:954
+#: replication/logical/logical.c:1355
 #, c-format
-msgid "logical replication at prepare time requires commit_prepared_cb callback"
-msgstr ""
+msgid "logical streaming at prepare time requires a %s callback"
+msgstr "durante la preparación, el flujo lógico requiere una función callback %s"
 
-#: replication/logical/logical.c:998
+#: replication/logical/logicalfuncs.c:104 replication/slotfuncs.c:34
 #, c-format
-msgid "logical replication at prepare time requires rollback_prepared_cb callback"
-msgstr ""
-
-#: replication/logical/logical.c:1220
-#, fuzzy, c-format
-#| msgid "logical decoding requires a database connection"
-msgid "logical streaming requires a stream_start_cb callback"
-msgstr "decodificación lógica requiere una conexión a una base de datos"
-
-#: replication/logical/logical.c:1266
-#, fuzzy, c-format
-#| msgid "logical decoding requires a database connection"
-msgid "logical streaming requires a stream_stop_cb callback"
-msgstr "decodificación lógica requiere una conexión a una base de datos"
-
-#: replication/logical/logical.c:1305
-#, fuzzy, c-format
-#| msgid "logical decoding requires a database connection"
-msgid "logical streaming requires a stream_abort_cb callback"
-msgstr "decodificación lógica requiere una conexión a una base de datos"
-
-#: replication/logical/logical.c:1348
-#, c-format
-msgid "logical streaming at prepare time requires a stream_prepare_cb callback"
-msgstr ""
-
-#: replication/logical/logical.c:1387
-#, c-format
-msgid "logical streaming requires a stream_commit_cb callback"
-msgstr ""
-
-#: replication/logical/logical.c:1433
-#, fuzzy, c-format
-#| msgid "logical decoding requires a database connection"
-msgid "logical streaming requires a stream_change_cb callback"
-msgstr "decodificación lógica requiere una conexión a una base de datos"
-
-#: replication/logical/logicalfuncs.c:104 replication/slotfuncs.c:34
-#, c-format
-msgid "must be superuser or replication role to use replication slots"
-msgstr "debe ser superusuario o rol de replicación para usar slots de replicación"
+msgid "must be superuser or replication role to use replication slots"
+msgstr "debe ser superusuario o rol de replicación para usar slots de replicación"
 
 #: replication/logical/logicalfuncs.c:134
 #, c-format
@@ -19543,14 +19295,12 @@ msgid "array must have even number of elements"
 msgstr "el array debe tener un número par de elementos"
 
 #: replication/logical/logicalfuncs.c:251
-#, fuzzy, c-format
-#| msgid "cannot change relation \"%s\""
+#, c-format
 msgid "can no longer get changes from replication slot \"%s\""
-msgstr "no se puede cambiar la relación «%s»"
+msgstr "ya no se pueden recibir cambios desde el slot de replicación «%s»"
 
 #: replication/logical/logicalfuncs.c:253 replication/slotfuncs.c:650
-#, fuzzy, c-format
-#| msgid "This slot has never previously reserved WAL, or has been invalidated."
+#, c-format
 msgid "This slot has never previously reserved WAL, or it has been invalidated."
 msgstr "Este slot nunca ha reservado WAL previamente, o ha sido invalidado."
 
@@ -19600,10 +19350,9 @@ msgid "could not find free replication state, increase max_replication_slots"
 msgstr "no se pudo encontrar una estructura de replicación libre, incremente max_replication_slots"
 
 #: replication/logical/origin.c:790
-#, fuzzy, c-format
-#| msgid "recovery restart point at %X/%X"
+#, c-format
 msgid "recovered replication state of node %u to %X/%X"
-msgstr "restartpoint de recuperación en %X/%X"
+msgstr "se recuperó estado de replicación de nodo %u a %X/%X"
 
 #: replication/logical/origin.c:800
 #, c-format
@@ -19621,7 +19370,7 @@ msgid "could not find free replication state slot for replication origin with OI
 msgstr "no se pudo encontrar un slot libre para el estado del origen de replicación con OID %u"
 
 #: replication/logical/origin.c:941 replication/logical/origin.c:1128
-#: replication/slot.c:1865
+#: replication/slot.c:1860
 #, c-format
 msgid "Increase max_replication_slots and try again."
 msgstr "Aumente max_replication_slots y reintente."
@@ -19647,58 +19396,57 @@ msgstr "el nombre de origen de replicación «%s» está reservado"
 msgid "Origin names starting with \"pg_\" are reserved."
 msgstr "Los nombres de origen que empiezan con «pg_» están reservados."
 
-#: replication/logical/relation.c:248
+#: replication/logical/relation.c:234
 #, c-format
 msgid "\"%s\""
-msgstr ""
+msgstr "«%s»"
 
-#: replication/logical/relation.c:251
+#: replication/logical/relation.c:237
 #, c-format
 msgid ", \"%s\""
-msgstr ""
+msgstr ", «%s»"
 
-#: replication/logical/relation.c:257
-#, fuzzy, c-format
-#| msgid "logical replication target relation \"%s.%s\" is missing some replicated columns"
+#: replication/logical/relation.c:243
+#, c-format
 msgid "logical replication target relation \"%s.%s\" is missing replicated column: %s"
 msgid_plural "logical replication target relation \"%s.%s\" is missing replicated columns: %s"
-msgstr[0] "a la relación destino de replicación lógica «%s.%s» le faltan algunas columnas replicadas"
-msgstr[1] "a la relación destino de replicación lógica «%s.%s» le faltan algunas columnas replicadas"
+msgstr[0] "a la relación destino de replicación lógica «%s.%s» le falta la columna replicada: %s"
+msgstr[1] "a la relación destino de replicación lógica «%s.%s» le faltan las columnas replicadas: %s"
 
-#: replication/logical/relation.c:337
+#: replication/logical/relation.c:323
 #, c-format
 msgid "logical replication target relation \"%s.%s\" does not exist"
 msgstr "la relación destino de replicación lógica «%s.%s» no existe"
 
-#: replication/logical/relation.c:418
+#: replication/logical/relation.c:404
 #, c-format
 msgid "logical replication target relation \"%s.%s\" uses system columns in REPLICA IDENTITY index"
 msgstr "la relación de destino de replicación lógica «%s.%s» usa columnas de sistemas en el índice REPLICA IDENTITY"
 
-#: replication/logical/reorderbuffer.c:3777
+#: replication/logical/reorderbuffer.c:3802
 #, c-format
 msgid "could not write to data file for XID %u: %m"
 msgstr "no se pudo escribir al archivo de datos para el XID %u: %m"
 
-#: replication/logical/reorderbuffer.c:4120
-#: replication/logical/reorderbuffer.c:4145
+#: replication/logical/reorderbuffer.c:4146
+#: replication/logical/reorderbuffer.c:4171
 #, c-format
 msgid "could not read from reorderbuffer spill file: %m"
 msgstr "no se pudo leer desde el archivo de desborde de reorderbuffer: %m"
 
-#: replication/logical/reorderbuffer.c:4124
-#: replication/logical/reorderbuffer.c:4149
+#: replication/logical/reorderbuffer.c:4150
+#: replication/logical/reorderbuffer.c:4175
 #, c-format
 msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes"
 msgstr "no se pudo leer desde el archivo de desborde de reorderbuffer: se leyeron sólo %d en ve de %u bytes"
 
-#: replication/logical/reorderbuffer.c:4397
+#: replication/logical/reorderbuffer.c:4425
 #, c-format
 msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m"
 msgstr "no se pudo borrar el archivo «%s» durante la eliminación de pg_replslot/%s/xid*: %m"
 
 # FIXME almost duplicated again!?
-#: replication/logical/reorderbuffer.c:4887
+#: replication/logical/reorderbuffer.c:4924
 #, c-format
 msgid "could not read from file \"%s\": read %d instead of %d bytes"
 msgstr "no se pudo leer del archivo «%s»: se leyeron %d en lugar de %d bytes"
@@ -19716,59 +19464,59 @@ msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs
 msgstr[0] "se exportó un snapshot de decodificación lógica: «%s» con %u ID de transacción"
 msgstr[1] "se exportó un snapshot de decodificación lógica: «%s» con %u IDs de transacción"
 
-#: replication/logical/snapbuild.c:1254 replication/logical/snapbuild.c:1347
-#: replication/logical/snapbuild.c:1878
+#: replication/logical/snapbuild.c:1270 replication/logical/snapbuild.c:1363
+#: replication/logical/snapbuild.c:1894
 #, c-format
 msgid "logical decoding found consistent point at %X/%X"
 msgstr "la decodificación lógica encontró un punto consistente en %X/%X"
 
-#: replication/logical/snapbuild.c:1256
+#: replication/logical/snapbuild.c:1272
 #, c-format
 msgid "There are no running transactions."
 msgstr "No hay transacciones en ejecución."
 
-#: replication/logical/snapbuild.c:1298
+#: replication/logical/snapbuild.c:1314
 #, c-format
 msgid "logical decoding found initial starting point at %X/%X"
 msgstr "decodificación lógica encontró punto de inicio en %X/%X"
 
-#: replication/logical/snapbuild.c:1300 replication/logical/snapbuild.c:1324
+#: replication/logical/snapbuild.c:1316 replication/logical/snapbuild.c:1340
 #, c-format
 msgid "Waiting for transactions (approximately %d) older than %u to end."
 msgstr "Esperando que las (aproximadamente %d) transacciones más antiguas que %u terminen."
 
-#: replication/logical/snapbuild.c:1322
+#: replication/logical/snapbuild.c:1338
 #, c-format
 msgid "logical decoding found initial consistent point at %X/%X"
 msgstr "la decodificación lógica encontró un punto consistente inicial en %X/%X"
 
-#: replication/logical/snapbuild.c:1349
+#: replication/logical/snapbuild.c:1365
 #, c-format
 msgid "There are no old transactions anymore."
 msgstr "Ya no hay transacciones antiguas en ejecución."
 
 # FIXME "snapbuild"?
-#: replication/logical/snapbuild.c:1746
+#: replication/logical/snapbuild.c:1762
 #, c-format
 msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u"
 msgstr "el archivo de estado de snapbuild «%s» tiene número mágico erróneo: %u en lugar de %u"
 
-#: replication/logical/snapbuild.c:1752
+#: replication/logical/snapbuild.c:1768
 #, c-format
 msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u"
 msgstr "el archivo de estado de snapbuild «%s» tiene versión no soportada: %u en vez de %u"
 
-#: replication/logical/snapbuild.c:1823
+#: replication/logical/snapbuild.c:1839
 #, c-format
 msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u"
 msgstr "suma de verificación no coincidente para el archivo de estado de snapbuild «%s»: es %u, debería ser %u"
 
-#: replication/logical/snapbuild.c:1880
+#: replication/logical/snapbuild.c:1896
 #, c-format
 msgid "Logical decoding will begin using saved snapshot."
 msgstr "La decodificación lógica comenzará usando el snapshot guardado."
 
-#: replication/logical/snapbuild.c:1952
+#: replication/logical/snapbuild.c:1968
 #, c-format
 msgid "could not parse file name \"%s\""
 msgstr "no se pudo interpretar el nombre de archivo «%s»"
@@ -19778,129 +19526,112 @@ msgstr "no se pudo interpretar el nombre de archivo «%s»"
 msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has finished"
 msgstr "el ayudante de sincronización de tabla de replicación lógica para la suscripción «%s», tabla «%s» ha terminado"
 
-#: replication/logical/tablesync.c:726 replication/logical/tablesync.c:767
+#: replication/logical/tablesync.c:727 replication/logical/tablesync.c:770
 #, c-format
 msgid "could not fetch table info for table \"%s.%s\" from publisher: %s"
 msgstr "no se pudo obtener información de la tabla «%s.%s» del editor (publisher): %s"
 
-#: replication/logical/tablesync.c:732
+#: replication/logical/tablesync.c:734
 #, c-format
 msgid "table \"%s.%s\" not found on publisher"
 msgstr "la tabla \"%s.%s\" no fue encontrada en el editor (publisher)"
 
-#: replication/logical/tablesync.c:854
+#: replication/logical/tablesync.c:858
 #, c-format
 msgid "could not start initial contents copy for table \"%s.%s\": %s"
 msgstr "no se pudo iniciar la copia de contenido inicial para de la tabla «%s.%s»: %s"
 
-#: replication/logical/tablesync.c:1053
-#, fuzzy, c-format
-#| msgid "table copy could not start transaction on publisher"
+#: replication/logical/tablesync.c:1059
+#, c-format
 msgid "table copy could not start transaction on publisher: %s"
-msgstr "la copia de la tabla no pudo iniciar una transacción en el editor (publisher)"
+msgstr "la copia de la tabla no pudo iniciar una transacción en el editor (publisher): %s"
 
-#: replication/logical/tablesync.c:1101
-#, fuzzy, c-format
-#| msgid "replication slot \"%s\" already exists"
+#: replication/logical/tablesync.c:1107
+#, c-format
 msgid "replication origin \"%s\" already exists"
-msgstr "el slot de replicación «%s» ya existe"
+msgstr "el origen de replicación «%s» ya existe"
 
-#: replication/logical/tablesync.c:1113
-#, fuzzy, c-format
-#| msgid "table copy could not finish transaction on publisher"
+#: replication/logical/tablesync.c:1120
+#, c-format
 msgid "table copy could not finish transaction on publisher: %s"
-msgstr "la copia de tabla no pudo terminar la transacción en el editor (publisher)"
+msgstr "la copia de tabla no pudo terminar la transacción en el editor (publisher): %s"
 
-#: replication/logical/worker.c:527
+#: replication/logical/worker.c:518
 #, c-format
-msgid "processing remote data for replication target relation \"%s.%s\" column \"%s\", remote type %s, local type %s"
-msgstr "Procesamiento de datos remotos para la relación de destino de replicación \"%s.%s\" columna \"%s\", tipo remoto %s, tipo local %s"
+msgid "processing remote data for replication target relation \"%s.%s\" column \"%s\""
+msgstr "Procesamiento de datos remotos para la relación de destino de replicación \"%s.%s\" columna \"%s\""
 
-#: replication/logical/worker.c:607 replication/logical/worker.c:736
-#, fuzzy, c-format
-#| msgid "incorrect binary data format in function argument %d"
+#: replication/logical/worker.c:593 replication/logical/worker.c:719
+#, c-format
 msgid "incorrect binary data format in logical replication column %d"
-msgstr "el formato de datos binarios es incorrecto en argumento %d a función"
+msgstr "el formato de datos binarios es incorrecto en columna de replicación lógica %d"
 
-#: replication/logical/worker.c:815
+#: replication/logical/worker.c:1090 replication/logical/worker.c:1104
 #, c-format
-msgid "ORIGIN message sent out of order"
-msgstr "mensaje ORIGIN enviado fuera de orden"
-
-#: replication/logical/worker.c:1080 replication/logical/worker.c:1092
-#, fuzzy, c-format
-#| msgid "could not read from backend variables file \"%s\": %s\n"
 msgid "could not read from streaming transaction's changes file \"%s\": %m"
-msgstr "no se pudo leer el archivo de variables de servidor «%s»: %s\n"
+msgstr "no se pudo leer el archivo de cambios de transacción en flujo «%s»: %m"
 
-#: replication/logical/worker.c:1322
+#: replication/logical/worker.c:1335
 #, c-format
 msgid "publisher did not send replica identity column expected by the logical replication target relation \"%s.%s\""
 msgstr "el editor (publisher) no envía la columna identidad de réplica esperada por la relación de destino de replicación lógica «%s.%s»"
 
-#: replication/logical/worker.c:1329
+#: replication/logical/worker.c:1342
 #, c-format
 msgid "logical replication target relation \"%s.%s\" has neither REPLICA IDENTITY index nor PRIMARY KEY and published relation does not have REPLICA IDENTITY FULL"
 msgstr "la relación destino de replicación lógica «%s.%s» no tiene índice REPLICA IDENTITY ni PRIMARY KEY y la relación publicada no tiene REPLICA IDENTITY FULL"
 
-#: replication/logical/worker.c:2050
-#, c-format
-msgid "invalid logical replication message type \"%c\""
-msgstr "tipo de mensaje de replicación lógica «%c» no válido"
-
-#: replication/logical/worker.c:2201
+#: replication/logical/worker.c:2221
 #, c-format
 msgid "data stream from publisher has ended"
 msgstr "el flujo de datos del publisher ha terminado"
 
-#: replication/logical/worker.c:2351
+#: replication/logical/worker.c:2372
 #, c-format
 msgid "terminating logical replication worker due to timeout"
 msgstr "terminando el proceso de replicación lógica debido a que se agotó el tiempo de espera"
 
-#: replication/logical/worker.c:2499
+#: replication/logical/worker.c:2520
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will stop because the subscription was removed"
 msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se detendrá porque la suscripción fue eliminada"
 
-#: replication/logical/worker.c:2513
+#: replication/logical/worker.c:2534
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will stop because the subscription was disabled"
 msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se detendrá porque la suscripción fue inhabilitada"
 
-#: replication/logical/worker.c:2535
-#, fuzzy, c-format
-#| msgid "logical replication apply worker for subscription \"%s\" will restart because subscription was renamed"
+#: replication/logical/worker.c:2556
+#, c-format
 msgid "logical replication apply worker for subscription \"%s\" will restart because of a parameter change"
-msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará porque a la suscripción se le cambió el nombre"
+msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará por un cambio de parámetro"
 
-#: replication/logical/worker.c:2698 replication/logical/worker.c:2720
-#, fuzzy, c-format
-#| msgid "could not read from file \"%s\": %m"
+#: replication/logical/worker.c:2721 replication/logical/worker.c:2743
+#, c-format
 msgid "could not read from streaming transaction's subxact file \"%s\": %m"
-msgstr "no se pudo leer el archivo «%s»: %m"
+msgstr "no se pudo leer el archivo subxact de transacción en flujo «%s»: %m"
 
-#: replication/logical/worker.c:3066
+#: replication/logical/worker.c:3102
 #, c-format
 msgid "logical replication apply worker for subscription %u will not start because the subscription was removed during startup"
 msgstr "el ayudante «apply» de replicación lógica para la suscripción %u no se iniciará porque la suscripción fue eliminada durante el inicio"
 
-#: replication/logical/worker.c:3078
+#: replication/logical/worker.c:3114
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will not start because the subscription was disabled during startup"
 msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» no se iniciará porque la suscripción fue inhabilitada durante el inicio"
 
-#: replication/logical/worker.c:3096
+#: replication/logical/worker.c:3132
 #, c-format
 msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started"
 msgstr "el ayudante de sincronización de tabla de replicación lógica para la suscripción «%s», tabla «%s» ha iniciado"
 
-#: replication/logical/worker.c:3100
+#: replication/logical/worker.c:3136
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" has started"
 msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» ha iniciado"
 
-#: replication/logical/worker.c:3137
+#: replication/logical/worker.c:3174
 #, c-format
 msgid "subscription has no replication slot set"
 msgstr "la suscripción no tiene un slot de replicación establecido"
@@ -19936,134 +19667,131 @@ msgid "publication_names parameter missing"
 msgstr "parámetro publication_names faltante"
 
 #: replication/pgoutput/pgoutput.c:312
-#, fuzzy, c-format
-#| msgid "client sent proto_version=%d but we only support protocol %d or higher"
+#, c-format
 msgid "requested proto_version=%d does not support streaming, need %d or higher"
-msgstr "el cliente envió proto_version=%d pero sólo soportamos el protocolo %d o superior"
+msgstr "la proto_version=%d no soporta flujo, se necesita %d o superior"
 
 #: replication/pgoutput/pgoutput.c:317
-#, fuzzy, c-format
-#| msgid "integer of size %lu not supported by pqPutInt"
+#, c-format
 msgid "streaming requested, but not supported by output plugin"
-msgstr "el entero de tamaño %lu no está soportado por pqPutInt"
+msgstr "se solicitó flujo, pero no está soportado por plugin de salida"
 
-#: replication/slot.c:182
+#: replication/slot.c:180
 #, c-format
 msgid "replication slot name \"%s\" is too short"
 msgstr "el nombre de slot de replicación «%s» es demasiado corto"
 
-#: replication/slot.c:191
+#: replication/slot.c:189
 #, c-format
 msgid "replication slot name \"%s\" is too long"
 msgstr "el nombre de slot de replicación «%s» es demasiado largo"
 
-#: replication/slot.c:204
+#: replication/slot.c:202
 #, c-format
 msgid "replication slot name \"%s\" contains invalid character"
 msgstr "el nombre de slot de replicación «%s» contiene caracteres no válidos"
 
-#: replication/slot.c:206
+#: replication/slot.c:204
 #, c-format
 msgid "Replication slot names may only contain lower case letters, numbers, and the underscore character."
 msgstr "Los nombres de slots de replicación sólo pueden contener letras minúsculas, números y el carácter «_»."
 
-#: replication/slot.c:260
+#: replication/slot.c:258
 #, c-format
 msgid "replication slot \"%s\" already exists"
 msgstr "el slot de replicación «%s» ya existe"
 
-#: replication/slot.c:270
+#: replication/slot.c:268
 #, c-format
 msgid "all replication slots are in use"
 msgstr "todos los slots de replicación están en uso"
 
-#: replication/slot.c:271
+#: replication/slot.c:269
 #, c-format
 msgid "Free one or increase max_replication_slots."
 msgstr "Libere uno o incremente max_replication_slots."
 
-#: replication/slot.c:424 replication/slotfuncs.c:761
-#: utils/adt/pgstatfuncs.c:2227
+#: replication/slot.c:402 replication/slotfuncs.c:761
+#: utils/adt/pgstatfuncs.c:2228
 #, c-format
 msgid "replication slot \"%s\" does not exist"
 msgstr "no existe el slot de replicación «%s»"
 
-#: replication/slot.c:462 replication/slot.c:1043
+#: replication/slot.c:448 replication/slot.c:1018
 #, c-format
 msgid "replication slot \"%s\" is active for PID %d"
 msgstr "el slot de replicación «%s» está activo para el PID %d"
 
-#: replication/slot.c:701 replication/slot.c:1417 replication/slot.c:1800
+#: replication/slot.c:676 replication/slot.c:1412 replication/slot.c:1795
 #, c-format
 msgid "could not remove directory \"%s\""
 msgstr "no se pudo eliminar el directorio «%s»"
 
-#: replication/slot.c:1078
+#: replication/slot.c:1053
 #, c-format
 msgid "replication slots can only be used if max_replication_slots > 0"
 msgstr "los slots de replicación sólo pueden usarse si max_replication_slots > 0"
 
 # FIXME see logical.c:81
-#: replication/slot.c:1083
+#: replication/slot.c:1058
 #, c-format
 msgid "replication slots can only be used if wal_level >= replica"
 msgstr "los slots de replicación sólo pueden usarse si wal_level >= replica"
 
-#: replication/slot.c:1262
-#, fuzzy, c-format
-#| msgid "terminating walsender process due to replication timeout"
+#: replication/slot.c:1243
+#, c-format
 msgid "terminating process %d to release replication slot \"%s\""
-msgstr "terminando el proceso walsender debido a que se agotó el tiempo de espera de replicación"
+msgstr "terminando el proceso %d para liberar el slot de replicación «%s»"
 
-#: replication/slot.c:1300
+#: replication/slot.c:1281
 #, c-format
 msgid "invalidating slot \"%s\" because its restart_lsn %X/%X exceeds max_slot_wal_keep_size"
 msgstr "invalidando el slot «%s» porque su restart_lsn %X/%X excede max_slot_wal_keep_size"
 
-#: replication/slot.c:1738
+#: replication/slot.c:1733
 #, c-format
 msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u"
 msgstr "el archivo de slot de replicación «%s» tiene número mágico erróneo: %u en lugar de %u"
 
-#: replication/slot.c:1745
+#: replication/slot.c:1740
 #, c-format
 msgid "replication slot file \"%s\" has unsupported version %u"
 msgstr "el archivo de slot de replicación «%s» tiene versión no soportada %u"
 
-#: replication/slot.c:1752
+#: replication/slot.c:1747
 #, c-format
 msgid "replication slot file \"%s\" has corrupted length %u"
 msgstr "el archivo de slot de replicación «%s» tiene largo corrupto %u"
 
-#: replication/slot.c:1788
+#: replication/slot.c:1783
 #, c-format
 msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u"
 msgstr "suma de verificación no coincidenete en archivo de slot de replicación «%s»: es %u, debería ser %u"
 
 # FIXME see slot.c:779.  See also  postmaster.c:835
-#: replication/slot.c:1822
+#: replication/slot.c:1817
 #, c-format
 msgid "logical replication slot \"%s\" exists, but wal_level < logical"
 msgstr "existe el slot de replicación lógica «%s», pero wal_level < logical"
 
-#: replication/slot.c:1824
+#: replication/slot.c:1819
 #, c-format
 msgid "Change wal_level to be logical or higher."
 msgstr "Cambie wal_level a logical o superior."
 
 # FIXME see slot.c:779.  See also  postmaster.c:835
-#: replication/slot.c:1828
+#: replication/slot.c:1823
 #, c-format
 msgid "physical replication slot \"%s\" exists, but wal_level < replica"
 msgstr "existe el slot de replicación lógica «%s», pero wal_level < logical"
 
 # <> hello vim
-#: replication/slot.c:1830
+#: replication/slot.c:1825
 #, c-format
 msgid "Change wal_level to be replica or higher."
 msgstr "Cambie wal_level a replica o superior."
 
-#: replication/slot.c:1864
+#: replication/slot.c:1859
 #, c-format
 msgid "too many replication slots active before shutdown"
 msgstr "demasiados slots de replicacion activos antes del apagado"
@@ -20074,10 +19802,9 @@ msgid "invalid target WAL LSN"
 msgstr "el LSN de wal de destino no es válido"
 
 #: replication/slotfuncs.c:648
-#, fuzzy, c-format
-#| msgid "replication slot \"%s\" does not exist"
+#, c-format
 msgid "replication slot \"%s\" cannot be advanced"
-msgstr "no existe el slot de replicación «%s»"
+msgstr "no se puede avanzar el slot de replicación «%s»"
 
 #: replication/slotfuncs.c:666
 #, c-format
@@ -20110,10 +19837,9 @@ msgid "The source replication slot was modified incompatibly during the copy ope
 msgstr "El slot de replicación de origen fue modificado incompatiblemente durante la operación de copia."
 
 #: replication/slotfuncs.c:867
-#, fuzzy, c-format
-#| msgid "could not copy replication slot \"%s\""
+#, c-format
 msgid "cannot copy unfinished logical replication slot \"%s\""
-msgstr "no se pudo copiar el slot de replicación «%s»"
+msgstr "no se puede copiar el slot de replicación lógica no terminado «%s»"
 
 #: replication/slotfuncs.c:869
 #, c-format
@@ -20155,82 +19881,82 @@ msgstr "falló la interpretación de synchronous_standby_names"
 msgid "number of synchronous standbys (%d) must be greater than zero"
 msgstr "el argumento de standby sincrónicos (%d) debe ser mayor que cero"
 
-#: replication/walreceiver.c:160
+#: replication/walreceiver.c:161
 #, c-format
 msgid "terminating walreceiver process due to administrator command"
 msgstr "terminando el proceso walreceiver debido a una orden del administrador"
 
-#: replication/walreceiver.c:285
+#: replication/walreceiver.c:289
 #, c-format
 msgid "could not connect to the primary server: %s"
 msgstr "no se pudo conectar al servidor primario: %s"
 
-#: replication/walreceiver.c:331
+#: replication/walreceiver.c:336
 #, c-format
 msgid "database system identifier differs between the primary and standby"
 msgstr "el identificador de sistema difiere entre el primario y el standby"
 
-#: replication/walreceiver.c:332
+#: replication/walreceiver.c:337
 #, c-format
 msgid "The primary's identifier is %s, the standby's identifier is %s."
 msgstr "El identificador del primario es %s, el identificador del standby es %s."
 
-#: replication/walreceiver.c:342
+#: replication/walreceiver.c:348
 #, c-format
 msgid "highest timeline %u of the primary is behind recovery timeline %u"
 msgstr "el timeline más alto del primario, %u, está más atrás que el timeline de recuperación %u"
 
-#: replication/walreceiver.c:396
+#: replication/walreceiver.c:402
 #, c-format
 msgid "started streaming WAL from primary at %X/%X on timeline %u"
 msgstr "iniciando el flujo de WAL desde el primario en %X/%X en el timeline %u"
 
-#: replication/walreceiver.c:400
+#: replication/walreceiver.c:406
 #, c-format
 msgid "restarted WAL streaming at %X/%X on timeline %u"
 msgstr "reiniciando el flujo de WAL en %X/%X en el timeline %u"
 
-#: replication/walreceiver.c:428
+#: replication/walreceiver.c:435
 #, c-format
 msgid "cannot continue WAL streaming, recovery has already ended"
 msgstr "no se puede continuar el flujo de WAL; la recuperación ya ha terminado"
 
-#: replication/walreceiver.c:465
+#: replication/walreceiver.c:472
 #, c-format
 msgid "replication terminated by primary server"
 msgstr "replicación terminada por el servidor primario"
 
-#: replication/walreceiver.c:466
+#: replication/walreceiver.c:473
 #, c-format
 msgid "End of WAL reached on timeline %u at %X/%X."
 msgstr "Se alcanzó el fin de WAL en el timeline %u en la posición %X/%X."
 
-#: replication/walreceiver.c:554
+#: replication/walreceiver.c:562
 #, c-format
 msgid "terminating walreceiver due to timeout"
 msgstr "terminando el proceso walreceiver debido a que se agotó el tiempo de espera"
 
-#: replication/walreceiver.c:592
+#: replication/walreceiver.c:600
 #, c-format
 msgid "primary server contains no more WAL on requested timeline %u"
 msgstr "el servidor primario no contiene más WAL en el timeline %u solicitado"
 
-#: replication/walreceiver.c:608 replication/walreceiver.c:903
+#: replication/walreceiver.c:616 replication/walreceiver.c:1036
 #, c-format
 msgid "could not close log segment %s: %m"
 msgstr "no se pudo cerrar archivo de segmento %s: %m"
 
-#: replication/walreceiver.c:727
+#: replication/walreceiver.c:735
 #, c-format
 msgid "fetching timeline history file for timeline %u from primary server"
 msgstr "trayendo el archivo de historia del timeline para el timeline %u desde el servidor primario"
 
-#: replication/walreceiver.c:950
+#: replication/walreceiver.c:927
 #, c-format
 msgid "could not write to log segment %s at offset %u, length %lu: %m"
 msgstr "no se pudo escribir al segmento de log %s en la posición %u, largo %lu: %m"
 
-#: replication/walsender.c:524 storage/smgr/md.c:1320
+#: replication/walsender.c:524 storage/smgr/md.c:1321
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
 msgstr "no se pudo posicionar (seek) al fin del archivo «%s»: %m"
@@ -20296,10 +20022,9 @@ msgid "%s must not be called in a subtransaction"
 msgstr "%s no está permitido en una subtransacción"
 
 #: replication/walsender.c:1145
-#, fuzzy, c-format
-#| msgid "created temporary replication slot \"%s\""
+#, c-format
 msgid "cannot read from logical replication slot \"%s\""
-msgstr "se creó slot temporal de replicación «%s»"
+msgstr "no se puede leer del slot de replicación lógica «%s»"
 
 #: replication/walsender.c:1147
 #, c-format
@@ -20454,10 +20179,9 @@ msgid "could not convert table \"%s\" to a view because it has child tables"
 msgstr "no se pudo convertir la tabla «%s» en vista porque tiene tablas hijas"
 
 #: rewrite/rewriteDefine.c:481
-#, fuzzy, c-format
-#| msgid "could not convert table \"%s\" to a view because it has child tables"
+#, c-format
 msgid "could not convert table \"%s\" to a view because it has parent tables"
-msgstr "no se pudo convertir la tabla «%s» en vista porque tiene tablas hijas"
+msgstr "no se pudo convertir la tabla «%s» en vista porque tiene tablas padres"
 
 #: rewrite/rewriteDefine.c:487
 #, c-format
@@ -20565,192 +20289,200 @@ msgstr "no existe la regla «%s» para la relación «%s»"
 msgid "renaming an ON SELECT rule is not allowed"
 msgstr "no se permite cambiar el nombre de una regla ON SELECT"
 
-#: rewrite/rewriteHandler.c:551
+#: rewrite/rewriteHandler.c:554
 #, c-format
 msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten"
 msgstr "el nombre de consulta WITH «%s» aparece tanto en una acción de regla y en la consulta que está siendo reescrita"
 
-#: rewrite/rewriteHandler.c:611
+#: rewrite/rewriteHandler.c:581
+#, c-format
+msgid "INSERT...SELECT rule actions are not supported for queries having data-modifying statements in WITH"
+msgstr "las acciones de reglas INSERT...SELECT no están soportadas para consultas que tengan sentencias que modifiquen datos en WITH"
+
+#: rewrite/rewriteHandler.c:634
 #, c-format
 msgid "cannot have RETURNING lists in multiple rules"
 msgstr "no se puede usar RETURNING en múltiples reglas"
 
-#: rewrite/rewriteHandler.c:843 rewrite/rewriteHandler.c:882
-#, fuzzy, c-format
-#| msgid "cannot insert into column \"%s\""
+#: rewrite/rewriteHandler.c:866 rewrite/rewriteHandler.c:905
+#, c-format
 msgid "cannot insert a non-DEFAULT value into column \"%s\""
-msgstr "no se puede insertar en la columna «%s»"
+msgstr "no se puede insertar un valor no-predeterminado en la columna «%s»"
 
-#: rewrite/rewriteHandler.c:845 rewrite/rewriteHandler.c:911
+#: rewrite/rewriteHandler.c:868 rewrite/rewriteHandler.c:934
 #, c-format
 msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS."
 msgstr "La columna \"%s\" es una columna de identidad definida como GENERATED ALWAYS."
 
-#: rewrite/rewriteHandler.c:847
+#: rewrite/rewriteHandler.c:870
 #, c-format
 msgid "Use OVERRIDING SYSTEM VALUE to override."
 msgstr "Use OVERRIDING SYSTEM VALUE para controlar manualmente."
 
-#: rewrite/rewriteHandler.c:909 rewrite/rewriteHandler.c:917
+#: rewrite/rewriteHandler.c:932 rewrite/rewriteHandler.c:940
 #, c-format
 msgid "column \"%s\" can only be updated to DEFAULT"
 msgstr "la columna «%s» sólo puede actualizarse a DEFAULT"
 
-#: rewrite/rewriteHandler.c:1064 rewrite/rewriteHandler.c:1082
+#: rewrite/rewriteHandler.c:1087 rewrite/rewriteHandler.c:1105
 #, c-format
 msgid "multiple assignments to same column \"%s\""
 msgstr "hay múltiples asignaciones a la misma columna «%s»"
 
-#: rewrite/rewriteHandler.c:2084 rewrite/rewriteHandler.c:3898
+#: rewrite/rewriteHandler.c:2107 rewrite/rewriteHandler.c:3935
 #, c-format
 msgid "infinite recursion detected in rules for relation \"%s\""
 msgstr "se detectó recursión infinita en las reglas de la relación «%s»"
 
-#: rewrite/rewriteHandler.c:2169
+#: rewrite/rewriteHandler.c:2192
 #, c-format
 msgid "infinite recursion detected in policy for relation \"%s\""
 msgstr "se detectó recursión infinita en la política para la relación «%s»"
 
-#: rewrite/rewriteHandler.c:2489
+#: rewrite/rewriteHandler.c:2512
 msgid "Junk view columns are not updatable."
 msgstr "Las columnas «basura» de vistas no son actualizables."
 
-#: rewrite/rewriteHandler.c:2494
+#: rewrite/rewriteHandler.c:2517
 msgid "View columns that are not columns of their base relation are not updatable."
 msgstr "Las columnas de vistas que no son columnas de su relación base no son actualizables."
 
-#: rewrite/rewriteHandler.c:2497
+#: rewrite/rewriteHandler.c:2520
 msgid "View columns that refer to system columns are not updatable."
 msgstr "Las columnas de vistas que se refieren a columnas de sistema no son actualizables."
 
-#: rewrite/rewriteHandler.c:2500
+#: rewrite/rewriteHandler.c:2523
 msgid "View columns that return whole-row references are not updatable."
 msgstr "Las columnas de vistas que retornan referencias a la fila completa no son actualizables."
 
 # XXX a %s here would be nice ...
-#: rewrite/rewriteHandler.c:2561
+#: rewrite/rewriteHandler.c:2584
 msgid "Views containing DISTINCT are not automatically updatable."
 msgstr "Las vistas que contienen DISTINCT no son automáticamente actualizables."
 
-#: rewrite/rewriteHandler.c:2564
+#: rewrite/rewriteHandler.c:2587
 msgid "Views containing GROUP BY are not automatically updatable."
 msgstr "Las vistas que contienen GROUP BY no son automáticamente actualizables."
 
-#: rewrite/rewriteHandler.c:2567
+#: rewrite/rewriteHandler.c:2590
 msgid "Views containing HAVING are not automatically updatable."
 msgstr "Las vistas que contienen HAVING no son automáticamente actualizables."
 
-#: rewrite/rewriteHandler.c:2570
+#: rewrite/rewriteHandler.c:2593
 msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable."
 msgstr "Las vistas que contienen UNION, INTERSECT o EXCEPT no son automáticamente actualizables."
 
-#: rewrite/rewriteHandler.c:2573
+#: rewrite/rewriteHandler.c:2596
 msgid "Views containing WITH are not automatically updatable."
 msgstr "Las vistas que contienen WITH no son automáticamente actualizables."
 
-#: rewrite/rewriteHandler.c:2576
+#: rewrite/rewriteHandler.c:2599
 msgid "Views containing LIMIT or OFFSET are not automatically updatable."
 msgstr "Las vistas que contienen LIMIT u OFFSET no son automáticamente actualizables."
 
-#: rewrite/rewriteHandler.c:2588
+#: rewrite/rewriteHandler.c:2611
 msgid "Views that return aggregate functions are not automatically updatable."
 msgstr "Las vistas que retornan funciones de agregación no son automáticamente actualizables."
 
-#: rewrite/rewriteHandler.c:2591
+#: rewrite/rewriteHandler.c:2614
 msgid "Views that return window functions are not automatically updatable."
 msgstr "Las vistas que retornan funciones ventana no son automáticamente actualizables."
 
-#: rewrite/rewriteHandler.c:2594
+#: rewrite/rewriteHandler.c:2617
 msgid "Views that return set-returning functions are not automatically updatable."
 msgstr "Las vistas que retornan funciones-que-retornan-conjuntos no son automáticamente actualizables."
 
-#: rewrite/rewriteHandler.c:2601 rewrite/rewriteHandler.c:2605
-#: rewrite/rewriteHandler.c:2613
+#: rewrite/rewriteHandler.c:2624 rewrite/rewriteHandler.c:2628
+#: rewrite/rewriteHandler.c:2636
 msgid "Views that do not select from a single table or view are not automatically updatable."
 msgstr "Las vistas que no extraen desde una única tabla o vista no son automáticamente actualizables."
 
-#: rewrite/rewriteHandler.c:2616
+#: rewrite/rewriteHandler.c:2639
 msgid "Views containing TABLESAMPLE are not automatically updatable."
 msgstr "Las vistas que contienen TABLESAMPLE no son automáticamente actualizables."
 
-#: rewrite/rewriteHandler.c:2640
+#: rewrite/rewriteHandler.c:2663
 msgid "Views that have no updatable columns are not automatically updatable."
 msgstr "Las vistas que no tienen columnas actualizables no son automáticamente actualizables."
 
-#: rewrite/rewriteHandler.c:3117
+#: rewrite/rewriteHandler.c:3140
 #, c-format
 msgid "cannot insert into column \"%s\" of view \"%s\""
 msgstr "no se puede insertar en la columna «%s» de la vista «%s»"
 
-#: rewrite/rewriteHandler.c:3125
+#: rewrite/rewriteHandler.c:3148
 #, c-format
 msgid "cannot update column \"%s\" of view \"%s\""
 msgstr "no se puede actualizar la columna «%s» vista «%s»"
 
-#: rewrite/rewriteHandler.c:3603
+#: rewrite/rewriteHandler.c:3629
+#, c-format
+msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH"
+msgstr "las reglas DO INSTEAD NOTIFY no están soportadas para sentencias que modifiquen datos en WITH"
+
+#: rewrite/rewriteHandler.c:3640
 #, c-format
 msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH"
 msgstr "las reglas DO INSTEAD NOTHING no están soportadas para sentencias que modifiquen datos en WITH"
 
-#: rewrite/rewriteHandler.c:3617
+#: rewrite/rewriteHandler.c:3654
 #, c-format
 msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH"
 msgstr "las reglas DO INSTEAD condicionales no están soportadas para sentencias que modifiquen datos en WITH"
 
-#: rewrite/rewriteHandler.c:3621
+#: rewrite/rewriteHandler.c:3658
 #, c-format
 msgid "DO ALSO rules are not supported for data-modifying statements in WITH"
 msgstr "las reglas DO ALSO no están soportadas para sentencias que modifiquen datos en WITH"
 
-#: rewrite/rewriteHandler.c:3626
+#: rewrite/rewriteHandler.c:3663
 #, c-format
 msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH"
 msgstr "las reglas DO INSTEAD de múltiples sentencias no están soportadas para sentencias que modifiquen datos en WITH"
 
 # XXX a %s here would be nice ...
-#: rewrite/rewriteHandler.c:3826 rewrite/rewriteHandler.c:3834
-#: rewrite/rewriteHandler.c:3842
-#, fuzzy, c-format
-#| msgid "Views containing DISTINCT are not automatically updatable."
+#: rewrite/rewriteHandler.c:3863 rewrite/rewriteHandler.c:3871
+#: rewrite/rewriteHandler.c:3879
+#, c-format
 msgid "Views with conditional DO INSTEAD rules are not automatically updatable."
-msgstr "Las vistas que contienen DISTINCT no son automáticamente actualizables."
+msgstr "Las vistas con reglas DO INSTEAD condicionales no son automáticamente actualizables."
 
-#: rewrite/rewriteHandler.c:3935
+#: rewrite/rewriteHandler.c:3972
 #, c-format
 msgid "cannot perform INSERT RETURNING on relation \"%s\""
 msgstr "no se puede hacer INSERT RETURNING a la relación «%s»"
 
-#: rewrite/rewriteHandler.c:3937
+#: rewrite/rewriteHandler.c:3974
 #, c-format
 msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause."
 msgstr "Necesita un regla incondicional ON INSERT DO INSTEAD con una cláusula RETURNING."
 
-#: rewrite/rewriteHandler.c:3942
+#: rewrite/rewriteHandler.c:3979
 #, c-format
 msgid "cannot perform UPDATE RETURNING on relation \"%s\""
 msgstr "no se puede hacer UPDATE RETURNING a la relación «%s»"
 
-#: rewrite/rewriteHandler.c:3944
+#: rewrite/rewriteHandler.c:3981
 #, c-format
 msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause."
 msgstr "Necesita un regla incondicional ON UPDATE DO INSTEAD con una cláusula RETURNING."
 
-#: rewrite/rewriteHandler.c:3949
+#: rewrite/rewriteHandler.c:3986
 #, c-format
 msgid "cannot perform DELETE RETURNING on relation \"%s\""
 msgstr "no se puede hacer DELETE RETURNING a la relación «%s»"
 
-#: rewrite/rewriteHandler.c:3951
+#: rewrite/rewriteHandler.c:3988
 #, c-format
 msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause."
 msgstr "Necesita un regla incondicional ON DELETE DO INSTEAD con una clásula RETURNING."
 
-#: rewrite/rewriteHandler.c:3969
+#: rewrite/rewriteHandler.c:4006
 #, c-format
 msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules"
 msgstr "INSERT con una cláusula ON CONFLICT no puede usarse con una tabla que tiene reglas INSERT o UPDATE"
 
-#: rewrite/rewriteHandler.c:4026
+#: rewrite/rewriteHandler.c:4063
 #, c-format
 msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries"
 msgstr "WITH no puede ser usado en una consulta que está siendo convertida en múltiples consultas a través de reglas"
@@ -20895,18 +20627,12 @@ msgstr "parámetro Snowball no reconocido: «%s»"
 msgid "missing Language parameter"
 msgstr "falta un parámetro Language"
 
-#: statistics/extended_stats.c:175
+#: statistics/extended_stats.c:178
 #, c-format
 msgid "statistics object \"%s.%s\" could not be computed for relation \"%s.%s\""
 msgstr "el objeto de estadísticas «%s.%s» no pudo ser calculado para la relación «%s.%s»"
 
-#: statistics/extended_stats.c:2277
-#, fuzzy, c-format
-#| msgid "\"%s\" is not a composite type"
-msgid "relation \"pg_statistic\" does not have a composite type"
-msgstr "«%s» no es un tipo compuesto"
-
-#: statistics/mcv.c:1371 utils/adt/jsonfuncs.c:1941
+#: statistics/mcv.c:1371 utils/adt/jsonfuncs.c:1943
 #, 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"
@@ -20916,37 +20642,42 @@ msgstr "se llamó una función que retorna un registro en un contexto que no pue
 msgid "cannot access temporary tables of other sessions"
 msgstr "no se pueden acceder tablas temporales de otras sesiones"
 
-#: storage/buffer/bufmgr.c:917
+#: storage/buffer/bufmgr.c:839
+#, c-format
+msgid "cannot extend relation %s beyond %u blocks"
+msgstr "no se puede extender la relación %s más allá de %u bloques"
+
+#: storage/buffer/bufmgr.c:926
 #, c-format
 msgid "unexpected data beyond EOF in block %u of relation %s"
 msgstr "datos inesperados más allá del EOF en el bloque %u de relación %s"
 
-#: storage/buffer/bufmgr.c:919
+#: storage/buffer/bufmgr.c:928
 #, c-format
 msgid "This has been seen to occur with buggy kernels; consider updating your system."
 msgstr "Esto parece ocurrir sólo con kernels defectuosos; considere actualizar su sistema."
 
-#: storage/buffer/bufmgr.c:1018
+#: storage/buffer/bufmgr.c:1027
 #, c-format
 msgid "invalid page in block %u of relation %s; zeroing out page"
 msgstr "la página no es válida en el bloque %u de la relación «%s»; reinicializando la página"
 
-#: storage/buffer/bufmgr.c:4524
+#: storage/buffer/bufmgr.c:4533
 #, c-format
 msgid "could not write block %u of %s"
 msgstr "no se pudo escribir el bloque %u de %s"
 
-#: storage/buffer/bufmgr.c:4526
+#: storage/buffer/bufmgr.c:4535
 #, c-format
 msgid "Multiple failures --- write error might be permanent."
 msgstr "Múltiples fallas --- el error de escritura puede ser permanente."
 
-#: storage/buffer/bufmgr.c:4547 storage/buffer/bufmgr.c:4566
+#: storage/buffer/bufmgr.c:4556 storage/buffer/bufmgr.c:4575
 #, c-format
 msgid "writing block %u of relation %s"
 msgstr "escribiendo el bloque %u de la relación %s"
 
-#: storage/buffer/bufmgr.c:4870
+#: storage/buffer/bufmgr.c:4879
 #, c-format
 msgid "snapshot too old"
 msgstr "snapshot demasiado antiguo"
@@ -20972,12 +20703,11 @@ msgid "could not determine size of temporary file \"%s\" from BufFile \"%s\": %m
 msgstr "no se pudo determinar el tamaño del archivo temporal «%s» del BufFile «%s»: %m"
 
 #: storage/file/buffile.c:884
-#, fuzzy, c-format
-#| msgid "could not delete file \"%s\": %m"
+#, c-format
 msgid "could not delete shared fileset \"%s\": %m"
-msgstr "no se pudo borrar el archivo «%s»: %m"
+msgstr "no se pudo borrar el conjunto de archivos compartidos «%s»: %m"
 
-#: storage/file/buffile.c:902 storage/smgr/md.c:306 storage/smgr/md.c:865
+#: storage/file/buffile.c:902 storage/smgr/md.c:306 storage/smgr/md.c:866
 #, c-format
 msgid "could not truncate file \"%s\": %m"
 msgstr "no se pudo truncar el archivo «%s»: %m"
@@ -21002,98 +20732,91 @@ msgstr "no se pudo ejecutar munmap() mientras se sincronizaban (flush) datos: %m
 msgid "could not link file \"%s\" to \"%s\": %m"
 msgstr "no se pudo enlazar (link) el archivo «%s» a «%s»: %m"
 
-#: storage/file/fd.c:929
+#: storage/file/fd.c:931
 #, c-format
 msgid "getrlimit failed: %m"
 msgstr "getrlimit falló: %m"
 
-#: storage/file/fd.c:1019
+#: storage/file/fd.c:1021
 #, c-format
 msgid "insufficient file descriptors available to start server process"
 msgstr "los descriptores de archivo disponibles son insuficientes para iniciar un proceso servidor"
 
-#: storage/file/fd.c:1020
+#: storage/file/fd.c:1022
 #, c-format
 msgid "System allows %d, we need at least %d."
 msgstr "El sistema permite %d, se requieren al menos %d."
 
-#: storage/file/fd.c:1071 storage/file/fd.c:2408 storage/file/fd.c:2518
-#: storage/file/fd.c:2669
+#: storage/file/fd.c:1073 storage/file/fd.c:2410 storage/file/fd.c:2520
+#: storage/file/fd.c:2671
 #, c-format
 msgid "out of file descriptors: %m; release and retry"
 msgstr "se agotaron los descriptores de archivo: %m; libere e intente nuevamente"
 
-#: storage/file/fd.c:1445
+#: storage/file/fd.c:1447
 #, c-format
 msgid "temporary file: path \"%s\", size %lu"
 msgstr "archivo temporal: ruta «%s», tamaño %lu"
 
-#: storage/file/fd.c:1576
+#: storage/file/fd.c:1578
 #, c-format
 msgid "cannot create temporary directory \"%s\": %m"
 msgstr "no se pudo crear el directorio temporal «%s»: %m"
 
-#: storage/file/fd.c:1583
+#: storage/file/fd.c:1585
 #, c-format
 msgid "cannot create temporary subdirectory \"%s\": %m"
 msgstr "no se pudo crear el subdirectorio temporal «%s»: %m"
 
-#: storage/file/fd.c:1776
+#: storage/file/fd.c:1778
 #, c-format
 msgid "could not create temporary file \"%s\": %m"
 msgstr "no se pudo crear el archivo temporal «%s»: %m"
 
-#: storage/file/fd.c:1810
+#: storage/file/fd.c:1812
 #, c-format
 msgid "could not open temporary file \"%s\": %m"
 msgstr "no se pudo abrir el archivo temporal «%s»: %m"
 
-#: storage/file/fd.c:1851
+#: storage/file/fd.c:1853
 #, c-format
 msgid "could not unlink temporary file \"%s\": %m"
 msgstr "no se pudo eliminar (unlink) el archivo temporal «%s»: %m"
 
-#: storage/file/fd.c:1939
+#: storage/file/fd.c:1941
 #, c-format
 msgid "could not delete file \"%s\": %m"
 msgstr "no se pudo borrar el archivo «%s»: %m"
 
-#: storage/file/fd.c:2119
+#: storage/file/fd.c:2121
 #, c-format
 msgid "temporary file size exceeds temp_file_limit (%dkB)"
 msgstr "el tamaño del archivo temporal excede temp_file_limit permitido (%dkB)"
 
-#: storage/file/fd.c:2384 storage/file/fd.c:2443
+#: storage/file/fd.c:2386 storage/file/fd.c:2445
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\""
 msgstr "se excedió maxAllocatedDescs (%d) mientras se trataba de abrir el archivo «%s»"
 
-#: storage/file/fd.c:2488
+#: storage/file/fd.c:2490
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\""
 msgstr "se excedió maxAllocatedDescs (%d) mientras se trataba de ejecutar la orden «%s»"
 
-#: storage/file/fd.c:2645
+#: storage/file/fd.c:2647
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\""
 msgstr "se excedió maxAllocatedDescs (%d) mientras se trataba de abrir el directorio «%s»"
 
-#: storage/file/fd.c:3175
+#: storage/file/fd.c:3177
 #, c-format
 msgid "unexpected file found in temporary-files directory: \"%s\""
 msgstr "archivo inesperado en directorio de archivos temporales: «%s»"
 
-#: storage/file/fd.c:3298
-#, fuzzy, c-format
-#| msgid "could not open file \"%s\": %m"
-msgid "could not open %s: %m"
-msgstr "no se pudo abrir el archivo «%s»: %m"
-
-#: storage/file/fd.c:3304
-#, fuzzy, c-format
-#| msgid "could not fsync file \"%s\": %m"
-msgid "could not sync filesystem for \"%s\": %m"
-msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m"
+#: storage/file/fd.c:3306
+#, 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"
 
 #: storage/file/sharedfileset.c:144
 #, c-format
@@ -21170,37 +20893,34 @@ msgstr "no se pudo cerrar el segmento de memoria compartida «%s»: %m"
 msgid "could not duplicate handle for \"%s\": %m"
 msgstr "no se pudo duplicar el «handle» para «%s»: %m"
 
-#: storage/ipc/procarray.c:3724
-#, fuzzy, c-format
-#| msgid "database \"%s\" is being used by logical replication subscription"
+#: storage/ipc/procarray.c:3802
+#, c-format
 msgid "database \"%s\" is being used by prepared transactions"
-msgstr "la base de datos «%s» está siendo utilizada por suscripciones de replicación lógica"
+msgstr "la base de datos «%s» está siendo utilizada por transacciones preparadas"
 
-#: storage/ipc/procarray.c:3756 storage/ipc/signalfuncs.c:219
+#: storage/ipc/procarray.c:3834 storage/ipc/signalfuncs.c:221
 #, c-format
 msgid "must be a superuser to terminate superuser process"
 msgstr "debe ser superusuario para terminar proceso de superusuario"
 
-#: storage/ipc/procarray.c:3763 storage/ipc/signalfuncs.c:224
+#: storage/ipc/procarray.c:3841 storage/ipc/signalfuncs.c:226
 #, c-format
 msgid "must be a member of the role whose process is being terminated or member of pg_signal_backend"
 msgstr "debe ser miembro del rol cuyo proceso se está terminando o ser miembro de pg_signal_backend"
 
 #: storage/ipc/shm_mq.c:368
-#, fuzzy, c-format
-#| msgid "could not send tuple to shared-memory queue"
+#, c-format
 msgid "cannot send a message of size %zu via shared memory queue"
-msgstr "no se pudo enviar la tupla a la cola en memoria compartida"
+msgstr "no se puede enviar un mensaje de tamaño %zu mediante la cola de memoria compartida"
 
 #: storage/ipc/shm_mq.c:694
-#, fuzzy, c-format
-#| msgid "invalid magic number in dynamic shared memory segment"
+#, c-format
 msgid "invalid message size %zu in shared memory queue"
-msgstr "número mágico no válido en segmento de memoria compartida dinámica"
+msgstr "tamaño no válido de mensaje %zu en cola de memoria compartida"
 
 #: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:981
-#: storage/lmgr/lock.c:1019 storage/lmgr/lock.c:2844 storage/lmgr/lock.c:4173
-#: storage/lmgr/lock.c:4238 storage/lmgr/lock.c:4545
+#: storage/lmgr/lock.c:1019 storage/lmgr/lock.c:2844 storage/lmgr/lock.c:4258
+#: storage/lmgr/lock.c:4323 storage/lmgr/lock.c:4673
 #: storage/lmgr/predicate.c:2470 storage/lmgr/predicate.c:2485
 #: storage/lmgr/predicate.c:3967 storage/lmgr/predicate.c:5078
 #: utils/hash/dynahash.c:1112
@@ -21233,8 +20953,7 @@ msgstr "el espacio de memoria compartida es insuficiente para la estructura «%s
 msgid "requested shared memory size overflows size_t"
 msgstr "la petición de tamaño de memoria compartida desborda size_t"
 
-#: storage/ipc/signalfuncs.c:68 storage/ipc/signalfuncs.c:261
-#: utils/adt/mcxtfuncs.c:204
+#: storage/ipc/signalfuncs.c:68 utils/adt/mcxtfuncs.c:204
 #, c-format
 msgid "PID %d is not a PostgreSQL server process"
 msgstr "PID %d no es un proceso servidor de PostgreSQL"
@@ -21258,53 +20977,45 @@ msgstr "debe ser miembro del rol cuya consulta se está cancelando o ser miembro
 #: storage/ipc/signalfuncs.c:165
 #, c-format
 msgid "could not check the existence of the backend with PID %d: %m"
-msgstr ""
+msgstr "no se pudo comprobar la existencia del proceso de servidor con PID %d: %m"
 
 #: storage/ipc/signalfuncs.c:183
-#, fuzzy, c-format
-#| msgid "server did not promote within %d seconds"
-msgid "backend with PID %d did not terminate within %lld milliseconds"
-msgstr "el servidor no promovió en %d segundos"
-
-#: storage/ipc/signalfuncs.c:212
-#, fuzzy, c-format
-#| msgid "LIMIT must not be negative"
-msgid "\"timeout\" must not be negative"
-msgstr "LIMIT no debe ser negativo"
+#, c-format
+msgid "backend with PID %d did not terminate within %lld millisecond"
+msgid_plural "backend with PID %d did not terminate within %lld milliseconds"
+msgstr[0] "el proceso de servidor con PID %d no terminó dentro de %lld milisegundo"
+msgstr[1] "el proceso de servidor con PID %d no terminó dentro de %lld milisegundos"
 
-#: storage/ipc/signalfuncs.c:254
-#, fuzzy, c-format
-#| msgid "\"wait_seconds\" must not be negative or zero"
-msgid "\"timeout\" must not be negative or zero"
-msgstr "«wait_seconds» no puede ser negativo o cero"
+#: storage/ipc/signalfuncs.c:214
+#, c-format
+msgid "\"timeout\" must not be negative"
+msgstr "\"timeout\" no debe ser negativo"
 
-#: storage/ipc/signalfuncs.c:300
+#: storage/ipc/signalfuncs.c:266
 #, c-format
 msgid "must be superuser to rotate log files with adminpack 1.0"
 msgstr "bebe ser superusuario para rotar archivos de log con adminpack 1.0"
 
 #. translator: %s is a SQL function name
-#: storage/ipc/signalfuncs.c:302 utils/adt/genfile.c:255
+#: storage/ipc/signalfuncs.c:268 utils/adt/genfile.c:255
 #, c-format
 msgid "Consider using %s, which is part of core, instead."
 msgstr "Considere usar %s, que es parte del servidor, en su lugar."
 
-#: storage/ipc/signalfuncs.c:308 storage/ipc/signalfuncs.c:328
+#: storage/ipc/signalfuncs.c:274 storage/ipc/signalfuncs.c:294
 #, c-format
 msgid "rotation not possible because log collection not active"
 msgstr "la rotación no es posible porque la recoleccion de log no está activa"
 
 #: storage/ipc/standby.c:305
-#, fuzzy, c-format
-#| msgid "process %d still waiting for %s on %s after %ld.%03d ms"
+#, c-format
 msgid "recovery still waiting after %ld.%03d ms: %s"
-msgstr "el proceso %d aún espera %s en %s después de %ld.%03d ms"
+msgstr "la recuperación aún está esperando después de %ld.%03d ms: %s"
 
 #: storage/ipc/standby.c:314
-#, fuzzy, c-format
-#| msgid "process %d still waiting for %s on %s after %ld.%03d ms"
+#, c-format
 msgid "recovery finished waiting after %ld.%03d ms: %s"
-msgstr "el proceso %d aún espera %s en %s después de %ld.%03d ms"
+msgstr "la recuperación terminó de esperar después de %ld.%03d ms: %s"
 
 #: storage/ipc/standby.c:878 tcop/postgres.c:3317
 #, c-format
@@ -21316,58 +21027,50 @@ msgstr "cancelando la sentencia debido a un conflicto con la recuperación"
 msgid "User transaction caused buffer deadlock with recovery."
 msgstr "La transacción del usuario causó un «deadlock» con la recuperación."
 
-#: storage/ipc/standby.c:1421
-#, fuzzy
-#| msgid "unknown"
+#: storage/ipc/standby.c:1423
 msgid "unknown reason"
-msgstr "desconocido"
+msgstr "razón desconocida"
 
-#: storage/ipc/standby.c:1426
+#: storage/ipc/standby.c:1428
 msgid "recovery conflict on buffer pin"
-msgstr ""
+msgstr "conflicto de recuperación en «pin» de búfer"
 
-#: storage/ipc/standby.c:1429
-#, fuzzy
-#| msgid "abort reason: recovery conflict"
+#: storage/ipc/standby.c:1431
 msgid "recovery conflict on lock"
-msgstr "razón para abortar: conflicto en la recuperación"
+msgstr "conflicto de recuperación en bloqueo"
 
-#: storage/ipc/standby.c:1432
-#, fuzzy
-#| msgid "remove a tablespace"
+#: storage/ipc/standby.c:1434
 msgid "recovery conflict on tablespace"
-msgstr "elimina un tablespace"
+msgstr "conflicto de recuperación en tablespace"
 
-#: storage/ipc/standby.c:1435
+#: storage/ipc/standby.c:1437
 msgid "recovery conflict on snapshot"
-msgstr ""
+msgstr "conflicto de recuperación en snapshot"
 
-#: storage/ipc/standby.c:1438
+#: storage/ipc/standby.c:1440
 msgid "recovery conflict on buffer deadlock"
-msgstr ""
+msgstr "conflicto de recuperación en deadlock de búfer"
 
-#: storage/ipc/standby.c:1441
-#, fuzzy
-#| msgid "already connected to a database"
+#: storage/ipc/standby.c:1443
 msgid "recovery conflict on database"
-msgstr "ya está conectado a una base de datos"
+msgstr "conflicto de recuperación en base de datos"
 
 #: storage/large_object/inv_api.c:191
 #, c-format
 msgid "pg_largeobject entry for OID %u, page %d has invalid data field size %d"
 msgstr "la entrada pg_largeobject para el OID %u, página %d tiene tamaño de campo %d no válido"
 
-#: storage/large_object/inv_api.c:272
+#: storage/large_object/inv_api.c:274
 #, c-format
 msgid "invalid flags for opening a large object: %d"
 msgstr "opciones no válidas para abrir un objeto grande: %d"
 
-#: storage/large_object/inv_api.c:462
+#: storage/large_object/inv_api.c:457
 #, c-format
 msgid "invalid whence setting: %d"
 msgstr "parámetro «whence» no válido: %d"
 
-#: storage/large_object/inv_api.c:634
+#: storage/large_object/inv_api.c:629
 #, c-format
 msgid "invalid large object write request size: %d"
 msgstr "tamaño de petición de escritura de objeto grande no válido: %d"
@@ -21432,64 +21135,63 @@ msgstr "mientras se verificaba la tupla actualizada (%u,%u) en la relación «%s
 msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\""
 msgstr "mientras se verificaba una restricción de exclusión en la tupla (%u,%u) en la relación «%s»"
 
-#: storage/lmgr/lmgr.c:1106
+#: storage/lmgr/lmgr.c:1107
 #, c-format
 msgid "relation %u of database %u"
 msgstr "relación %u de la base de datos %u"
 
-#: storage/lmgr/lmgr.c:1112
+#: storage/lmgr/lmgr.c:1113
 #, c-format
 msgid "extension of relation %u of database %u"
 msgstr "extensión de la relación %u de la base de datos %u"
 
-#: storage/lmgr/lmgr.c:1118
-#, fuzzy, c-format
-#| msgid "relation %u of database %u"
+#: storage/lmgr/lmgr.c:1119
+#, c-format
 msgid "pg_database.datfrozenxid of database %u"
-msgstr "relación %u de la base de datos %u"
+msgstr "pg_database.datfrozenxid de la base de datos %u"
 
-#: storage/lmgr/lmgr.c:1123
+#: storage/lmgr/lmgr.c:1124
 #, c-format
 msgid "page %u of relation %u of database %u"
 msgstr "página %u de la relación %u de la base de datos %u"
 
-#: storage/lmgr/lmgr.c:1130
+#: storage/lmgr/lmgr.c:1131
 #, c-format
 msgid "tuple (%u,%u) of relation %u of database %u"
 msgstr "tupla (%u,%u) de la relación %u de la base de datos %u"
 
-#: storage/lmgr/lmgr.c:1138
+#: storage/lmgr/lmgr.c:1139
 #, c-format
 msgid "transaction %u"
 msgstr "transacción %u"
 
-#: storage/lmgr/lmgr.c:1143
+#: storage/lmgr/lmgr.c:1144
 #, c-format
 msgid "virtual transaction %d/%u"
 msgstr "transacción virtual %d/%u"
 
-#: storage/lmgr/lmgr.c:1149
+#: storage/lmgr/lmgr.c:1150
 #, c-format
 msgid "speculative token %u of transaction %u"
 msgstr "token especulativo %u de la transacción %u"
 
-#: storage/lmgr/lmgr.c:1155
+#: storage/lmgr/lmgr.c:1156
 #, c-format
 msgid "object %u of class %u of database %u"
 msgstr "objeto %u de clase %u de la base de datos %u"
 
-#: storage/lmgr/lmgr.c:1163
+#: storage/lmgr/lmgr.c:1164
 #, c-format
 msgid "user lock [%u,%u,%u]"
 msgstr "candado de usuario [%u,%u,%u]"
 
 # XXX is this a good translation?
-#: storage/lmgr/lmgr.c:1170
+#: storage/lmgr/lmgr.c:1171
 #, c-format
 msgid "advisory lock [%u,%u,%u,%u]"
 msgstr "candado consultivo [%u,%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:1178
+#: storage/lmgr/lmgr.c:1179
 #, c-format
 msgid "unrecognized locktag type %d"
 msgstr "tipo de locktag %d no reconocido"
@@ -21505,12 +21207,12 @@ msgid "Only RowExclusiveLock or less can be acquired on database objects during
 msgstr "Sólo candados RowExclusiveLock o menor pueden ser adquiridos en objetos de la base de datos durante la recuperación."
 
 #: storage/lmgr/lock.c:982 storage/lmgr/lock.c:1020 storage/lmgr/lock.c:2845
-#: storage/lmgr/lock.c:4174 storage/lmgr/lock.c:4239 storage/lmgr/lock.c:4546
+#: storage/lmgr/lock.c:4259 storage/lmgr/lock.c:4324 storage/lmgr/lock.c:4674
 #, c-format
 msgid "You might need to increase max_locks_per_transaction."
 msgstr "Puede ser necesario incrementar max_locks_per_transaction."
 
-#: storage/lmgr/lock.c:3283 storage/lmgr/lock.c:3399
+#: storage/lmgr/lock.c:3300 storage/lmgr/lock.c:3368 storage/lmgr/lock.c:3484
 #, c-format
 msgid "cannot PREPARE while holding both session-level and transaction-level locks on the same object"
 msgstr "no se puede hacer PREPARE mientras se mantienen candados a nivel de sesión y transacción simultáneamente sobre el mismo objeto"
@@ -21638,70 +21340,70 @@ msgstr "los largos de ítem están corruptos: total %u, espacio disponible %u"
 msgid "corrupted line pointer: offset = %u, size = %u"
 msgstr "puntero de ítem corrupto: desplazamiento = %u, tamaño = %u"
 
-#: storage/smgr/md.c:434
+#: storage/smgr/md.c:435
 #, c-format
 msgid "cannot extend file \"%s\" beyond %u blocks"
 msgstr "no se pudo extender el archivo «%s» más allá de %u bloques"
 
-#: storage/smgr/md.c:449
+#: storage/smgr/md.c:450
 #, c-format
 msgid "could not extend file \"%s\": %m"
 msgstr "no se pudo extender el archivo «%s»: %m"
 
-#: storage/smgr/md.c:451 storage/smgr/md.c:458 storage/smgr/md.c:746
+#: storage/smgr/md.c:452 storage/smgr/md.c:459 storage/smgr/md.c:747
 #, c-format
 msgid "Check free disk space."
 msgstr "Verifique el espacio libre en disco."
 
-#: storage/smgr/md.c:455
+#: storage/smgr/md.c:456
 #, c-format
 msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
 msgstr "no se pudo extender el archivo «%s»: sólo se escribieron %d de %d bytes en el bloque %u"
 
-#: storage/smgr/md.c:667
+#: storage/smgr/md.c:668
 #, c-format
 msgid "could not read block %u in file \"%s\": %m"
 msgstr "no se pudo leer el bloque %u del archivo «%s»: %m"
 
-#: storage/smgr/md.c:683
+#: storage/smgr/md.c:684
 #, c-format
 msgid "could not read block %u in file \"%s\": read only %d of %d bytes"
 msgstr "no se pudo leer el bloque %u del archivo «%s»: se leyeron sólo %d de %d bytes"
 
-#: storage/smgr/md.c:737
+#: storage/smgr/md.c:738
 #, c-format
 msgid "could not write block %u in file \"%s\": %m"
 msgstr "no se pudo escribir el bloque %u en el archivo «%s»: %m"
 
-#: storage/smgr/md.c:742
+#: storage/smgr/md.c:743
 #, c-format
 msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes"
 msgstr "no se pudo escribir el bloque %u en el archivo «%s»: se escribieron sólo %d de %d bytes"
 
-#: storage/smgr/md.c:836
+#: storage/smgr/md.c:837
 #, c-format
 msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now"
 msgstr "no se pudo truncar el archivo «%s» a %u bloques: es de sólo %u bloques ahora"
 
-#: storage/smgr/md.c:891
+#: storage/smgr/md.c:892
 #, c-format
 msgid "could not truncate file \"%s\" to %u blocks: %m"
 msgstr "no se pudo truncar el archivo «%s» a %u bloques: %m"
 
-#: storage/smgr/md.c:1285
+#: storage/smgr/md.c:1286
 #, c-format
 msgid "could not open file \"%s\" (target block %u): previous segment is only %u blocks"
 msgstr "no se pudo abrir el archivo «%s» (bloque buscado %u): el segmento previo sólo tiene %u bloques"
 
-#: storage/smgr/md.c:1299
+#: storage/smgr/md.c:1300
 #, c-format
 msgid "could not open file \"%s\" (target block %u): %m"
 msgstr "no se pudo abrir el archivo «%s» (bloque buscado %u): %m"
 
 #: tcop/fastpath.c:148
 #, c-format
-msgid "cannot call function %s via fastpath interface"
-msgstr ""
+msgid "cannot call function \"%s\" via fastpath interface"
+msgstr "no se puede llamar a la función «%s» mediante la interfaz fastpath"
 
 #: tcop/fastpath.c:233
 #, c-format
@@ -21853,34 +21555,29 @@ msgid "User was connected to a database that must be dropped."
 msgstr "El usuario estaba conectado a una base de datos que debía ser eliminada."
 
 #: tcop/postgres.c:2513
-#, fuzzy, c-format
-#| msgid "there is no parameter $%d"
+#, c-format
 msgid "portal \"%s\" parameter $%d = %s"
-msgstr "no hay parámetro $%d"
+msgstr "portal «%s» parámetro $%d = %s"
 
 #: tcop/postgres.c:2516
-#, fuzzy, c-format
-#| msgid "there is no parameter $%d"
+#, c-format
 msgid "portal \"%s\" parameter $%d"
-msgstr "no hay parámetro $%d"
+msgstr "portal «%s» parámetro $%d"
 
 #: tcop/postgres.c:2522
-#, fuzzy, c-format
-#| msgid "unrecognized Snowball parameter: \"%s\""
+#, c-format
 msgid "unnamed portal parameter $%d = %s"
-msgstr "parámetro Snowball no reconocido: «%s»"
+msgstr "portal sin nombre, parámetro %d = %s"
 
 #: tcop/postgres.c:2525
-#, fuzzy, c-format
-#| msgid "no value found for parameter %d"
+#, c-format
 msgid "unnamed portal parameter $%d"
-msgstr "no se encontró un valor para parámetro %d"
+msgstr "portal sin nombre, parámetro %d"
 
 #: tcop/postgres.c:2871
-#, fuzzy, c-format
-#| msgid "terminating connection due to unexpected postmaster exit"
+#, c-format
 msgid "terminating connection because of unexpected SIGQUIT signal"
-msgstr "terminando la conexión debido al término inesperado de postmaster"
+msgstr "terminando la conexión debido a una señal SIGQUIT inesperada"
 
 #: tcop/postgres.c:2877
 #, c-format
@@ -21898,10 +21595,9 @@ msgid "In a moment you should be able to reconnect to the database and repeat yo
 msgstr "Dentro de un momento debería poder reconectarse y repetir la consulta."
 
 #: tcop/postgres.c:2889
-#, fuzzy, c-format
-#| msgid "terminating connection due to administrator command"
+#, c-format
 msgid "terminating connection due to immediate shutdown command"
-msgstr "terminando la conexión debido a una orden del administrador"
+msgstr "terminando la conexión debido a una orden de apagado inmediato"
 
 #: tcop/postgres.c:2975
 #, c-format
@@ -21969,10 +21665,9 @@ msgid "terminating connection due to idle-in-transaction timeout"
 msgstr "terminando la conexión debido a que se agotó el tiempo de espera para transacciones abiertas inactivas"
 
 #: tcop/postgres.c:3356
-#, fuzzy, c-format
-#| msgid "terminating connection due to idle-in-transaction timeout"
+#, c-format
 msgid "terminating connection due to idle-session timeout"
-msgstr "terminando la conexión debido a que se agotó el tiempo de espera para transacciones abiertas inactivas"
+msgstr "terminando la conexión debido a que se agotó el tiempo de espera para sesiones abiertas inactivas"
 
 #: tcop/postgres.c:3475
 #, c-format
@@ -22039,17 +21734,17 @@ msgstr "el protocolo extendido de consultas no está soportado en conexiones de
 msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s"
 msgstr "desconexión: duración de sesión: %d:%02d:%02d.%03d usuario=%s base=%s host=%s%s%s"
 
-#: tcop/pquery.c:636
+#: tcop/pquery.c:638
 #, c-format
 msgid "bind message has %d result formats but query has %d columns"
 msgstr "el mensaje de enlace (bind) tiene %d formatos de resultado pero la consulta tiene %d columnas"
 
-#: tcop/pquery.c:939
+#: tcop/pquery.c:941 tcop/pquery.c:1703
 #, c-format
 msgid "cursor can only scan forward"
 msgstr "el cursor sólo se puede desplazar hacia adelante"
 
-#: tcop/pquery.c:940
+#: tcop/pquery.c:942 tcop/pquery.c:1704
 #, c-format
 msgid "Declare it with SCROLL option to enable backward scan."
 msgstr "Declárelo con SCROLL para permitirle desplazar hacia atrás."
@@ -22078,7 +21773,13 @@ msgstr "no se puede ejecutar %s durante la recuperación"
 msgid "cannot execute %s within security-restricted operation"
 msgstr "no se puede ejecutar %s durante una operación restringida por seguridad"
 
-#: tcop/utility.c:913
+#. translator: %s is name of a SQL command, eg LISTEN
+#: tcop/utility.c:820
+#, c-format
+msgid "cannot execute %s within a background process"
+msgstr "no se puede ejecutar %s dentro de un proceso en segundo plano"
+
+#: tcop/utility.c:945
 #, c-format
 msgid "must be superuser to do CHECKPOINT"
 msgstr "debe ser superusuario para ejecutar CHECKPOINT"
@@ -22445,10 +22146,10 @@ msgstr "no existe la función «%s»"
 msgid "must be member of role \"%s\""
 msgstr "debe ser miembro del rol «%s»"
 
-#: utils/adt/array_expanded.c:274 utils/adt/arrayfuncs.c:935
-#: utils/adt/arrayfuncs.c:1543 utils/adt/arrayfuncs.c:3262
-#: utils/adt/arrayfuncs.c:3404 utils/adt/arrayfuncs.c:5945
-#: utils/adt/arrayfuncs.c:6286 utils/adt/arrayutils.c:94
+#: utils/adt/array_expanded.c:274 utils/adt/arrayfuncs.c:936
+#: utils/adt/arrayfuncs.c:1544 utils/adt/arrayfuncs.c:3263
+#: utils/adt/arrayfuncs.c:3405 utils/adt/arrayfuncs.c:5980
+#: utils/adt/arrayfuncs.c:6321 utils/adt/arrayutils.c:94
 #: utils/adt/arrayutils.c:103 utils/adt/arrayutils.c:110
 #, c-format
 msgid "array size exceeds the maximum allowed (%d)"
@@ -22475,9 +22176,9 @@ msgstr "el tipo de entrada no es un array"
 #: utils/adt/int.c:1004 utils/adt/int.c:1037 utils/adt/int.c:1051
 #: utils/adt/int.c:1065 utils/adt/int.c:1096 utils/adt/int.c:1178
 #: utils/adt/int.c:1242 utils/adt/int.c:1310 utils/adt/int.c:1316
-#: utils/adt/int8.c:1299 utils/adt/numeric.c:1776 utils/adt/numeric.c:4207
-#: utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1121
-#: utils/adt/varlena.c:3433
+#: utils/adt/int8.c:1299 utils/adt/numeric.c:1768 utils/adt/numeric.c:4203
+#: utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1114
+#: utils/adt/varlena.c:3426
 #, c-format
 msgid "integer out of range"
 msgstr "entero fuera de rango"
@@ -22524,255 +22225,254 @@ msgstr "no está soportada la búsqueda de elementos en arrays multidimensionale
 msgid "initial position must not be null"
 msgstr "la posición inicial no debe ser null"
 
-#: utils/adt/arrayfuncs.c:270 utils/adt/arrayfuncs.c:284
-#: utils/adt/arrayfuncs.c:295 utils/adt/arrayfuncs.c:317
-#: utils/adt/arrayfuncs.c:332 utils/adt/arrayfuncs.c:346
-#: utils/adt/arrayfuncs.c:352 utils/adt/arrayfuncs.c:359
-#: utils/adt/arrayfuncs.c:492 utils/adt/arrayfuncs.c:508
-#: utils/adt/arrayfuncs.c:519 utils/adt/arrayfuncs.c:534
-#: utils/adt/arrayfuncs.c:555 utils/adt/arrayfuncs.c:585
-#: utils/adt/arrayfuncs.c:592 utils/adt/arrayfuncs.c:600
-#: utils/adt/arrayfuncs.c:634 utils/adt/arrayfuncs.c:657
-#: utils/adt/arrayfuncs.c:677 utils/adt/arrayfuncs.c:789
-#: utils/adt/arrayfuncs.c:798 utils/adt/arrayfuncs.c:828
-#: utils/adt/arrayfuncs.c:843 utils/adt/arrayfuncs.c:896
+#: utils/adt/arrayfuncs.c:271 utils/adt/arrayfuncs.c:285
+#: utils/adt/arrayfuncs.c:296 utils/adt/arrayfuncs.c:318
+#: utils/adt/arrayfuncs.c:333 utils/adt/arrayfuncs.c:347
+#: utils/adt/arrayfuncs.c:353 utils/adt/arrayfuncs.c:360
+#: utils/adt/arrayfuncs.c:493 utils/adt/arrayfuncs.c:509
+#: utils/adt/arrayfuncs.c:520 utils/adt/arrayfuncs.c:535
+#: utils/adt/arrayfuncs.c:556 utils/adt/arrayfuncs.c:586
+#: utils/adt/arrayfuncs.c:593 utils/adt/arrayfuncs.c:601
+#: utils/adt/arrayfuncs.c:635 utils/adt/arrayfuncs.c:658
+#: utils/adt/arrayfuncs.c:678 utils/adt/arrayfuncs.c:790
+#: utils/adt/arrayfuncs.c:799 utils/adt/arrayfuncs.c:829
+#: utils/adt/arrayfuncs.c:844 utils/adt/arrayfuncs.c:897
 #, c-format
 msgid "malformed array literal: \"%s\""
 msgstr "literal de array mal formado: «%s»"
 
-#: utils/adt/arrayfuncs.c:271
+#: utils/adt/arrayfuncs.c:272
 #, c-format
 msgid "\"[\" must introduce explicitly-specified array dimensions."
 msgstr "Un «[» debe introducir dimensiones de array especificadas explícitamente."
 
-#: utils/adt/arrayfuncs.c:285
+#: utils/adt/arrayfuncs.c:286
 #, c-format
 msgid "Missing array dimension value."
 msgstr "Falta un valor de dimensión de array."
 
-#: utils/adt/arrayfuncs.c:296 utils/adt/arrayfuncs.c:333
+#: utils/adt/arrayfuncs.c:297 utils/adt/arrayfuncs.c:334
 #, c-format
 msgid "Missing \"%s\" after array dimensions."
 msgstr "Falta «%s» luego de las dimensiones de array."
 
-#: utils/adt/arrayfuncs.c:305 utils/adt/arrayfuncs.c:2909
-#: utils/adt/arrayfuncs.c:2941 utils/adt/arrayfuncs.c:2956
+#: utils/adt/arrayfuncs.c:306 utils/adt/arrayfuncs.c:2910
+#: utils/adt/arrayfuncs.c:2942 utils/adt/arrayfuncs.c:2957
 #, c-format
 msgid "upper bound cannot be less than lower bound"
 msgstr "el límite superior no puede ser menor que el límite inferior"
 
-#: utils/adt/arrayfuncs.c:318
+#: utils/adt/arrayfuncs.c:319
 #, c-format
 msgid "Array value must start with \"{\" or dimension information."
 msgstr "El valor de array debe comenzar con «{» o información de dimensión."
 
-#: utils/adt/arrayfuncs.c:347
+#: utils/adt/arrayfuncs.c:348
 #, c-format
 msgid "Array contents must start with \"{\"."
 msgstr "El contenido del array debe empezar con «{»."
 
-#: utils/adt/arrayfuncs.c:353 utils/adt/arrayfuncs.c:360
+#: utils/adt/arrayfuncs.c:354 utils/adt/arrayfuncs.c:361
 #, c-format
 msgid "Specified array dimensions do not match array contents."
 msgstr "Las dimensiones del array especificadas no coinciden con el contenido del array."
 
-#: utils/adt/arrayfuncs.c:493 utils/adt/arrayfuncs.c:520
-#: utils/adt/multirangetypes.c:162 utils/adt/rangetypes.c:2310
+#: utils/adt/arrayfuncs.c:494 utils/adt/arrayfuncs.c:521
+#: utils/adt/multirangetypes.c:163 utils/adt/rangetypes.c:2310
 #: utils/adt/rangetypes.c:2318 utils/adt/rowtypes.c:211
 #: utils/adt/rowtypes.c:219
 #, c-format
 msgid "Unexpected end of input."
 msgstr "Fin inesperado de la entrada."
 
-#: utils/adt/arrayfuncs.c:509 utils/adt/arrayfuncs.c:556
-#: utils/adt/arrayfuncs.c:586 utils/adt/arrayfuncs.c:635
+#: utils/adt/arrayfuncs.c:510 utils/adt/arrayfuncs.c:557
+#: utils/adt/arrayfuncs.c:587 utils/adt/arrayfuncs.c:636
 #, c-format
 msgid "Unexpected \"%c\" character."
 msgstr "Carácter «%c» inesperado."
 
-#: utils/adt/arrayfuncs.c:535 utils/adt/arrayfuncs.c:658
+#: utils/adt/arrayfuncs.c:536 utils/adt/arrayfuncs.c:659
 #, c-format
 msgid "Unexpected array element."
 msgstr "Elemento de array inesperado."
 
-#: utils/adt/arrayfuncs.c:593
+#: utils/adt/arrayfuncs.c:594
 #, c-format
 msgid "Unmatched \"%c\" character."
 msgstr "Carácter «%c» desemparejado."
 
-#: utils/adt/arrayfuncs.c:601 utils/adt/jsonfuncs.c:2593
+#: utils/adt/arrayfuncs.c:602 utils/adt/jsonfuncs.c:2595
 #, c-format
 msgid "Multidimensional arrays must have sub-arrays with matching dimensions."
 msgstr "Los arrays multidimensionales deben tener sub-arrays con dimensiones coincidentes."
 
-#: utils/adt/arrayfuncs.c:678
+#: utils/adt/arrayfuncs.c:679 utils/adt/multirangetypes.c:286
 #, c-format
 msgid "Junk after closing right brace."
 msgstr "Basura después de la llave derecha de cierre."
 
-#: utils/adt/arrayfuncs.c:1300 utils/adt/arrayfuncs.c:3370
-#: utils/adt/arrayfuncs.c:5849
+#: utils/adt/arrayfuncs.c:1301 utils/adt/arrayfuncs.c:3371
+#: utils/adt/arrayfuncs.c:5884
 #, c-format
 msgid "invalid number of dimensions: %d"
 msgstr "número incorrecto de dimensiones: %d"
 
-#: utils/adt/arrayfuncs.c:1311
+#: utils/adt/arrayfuncs.c:1312
 #, c-format
 msgid "invalid array flags"
 msgstr "opciones de array no válidas"
 
-#: utils/adt/arrayfuncs.c:1333
+#: utils/adt/arrayfuncs.c:1334
 #, c-format
 msgid "binary data has array element type %u (%s) instead of expected %u (%s)"
-msgstr ""
+msgstr "los datos binarios tienen el tipo de elemento de array %u (%s) en lugar del esperado %u (%s)"
 
-#: utils/adt/arrayfuncs.c:1377 utils/adt/multirangetypes.c:443
+#: utils/adt/arrayfuncs.c:1378 utils/adt/multirangetypes.c:444
 #: utils/adt/rangetypes.c:333 utils/cache/lsyscache.c:2905
 #, c-format
 msgid "no binary input function available for type %s"
 msgstr "no hay una función binaria de entrada para el tipo %s"
 
-#: utils/adt/arrayfuncs.c:1517
+#: utils/adt/arrayfuncs.c:1518
 #, c-format
 msgid "improper binary format in array element %d"
 msgstr "el formato binario no es válido en elemento %d de array"
 
-#: utils/adt/arrayfuncs.c:1598 utils/adt/multirangetypes.c:448
+#: utils/adt/arrayfuncs.c:1599 utils/adt/multirangetypes.c:449
 #: utils/adt/rangetypes.c:338 utils/cache/lsyscache.c:2938
 #, c-format
 msgid "no binary output function available for type %s"
 msgstr "no hay una función binaria de salida para el tipo %s"
 
-#: utils/adt/arrayfuncs.c:2077
+#: utils/adt/arrayfuncs.c:2078
 #, c-format
 msgid "slices of fixed-length arrays not implemented"
 msgstr "no está implementada la obtención de segmentos de arrays de largo fijo"
 
-#: utils/adt/arrayfuncs.c:2255 utils/adt/arrayfuncs.c:2277
-#: utils/adt/arrayfuncs.c:2326 utils/adt/arrayfuncs.c:2565
-#: utils/adt/arrayfuncs.c:2887 utils/adt/arrayfuncs.c:5835
-#: utils/adt/arrayfuncs.c:5861 utils/adt/arrayfuncs.c:5872
+#: utils/adt/arrayfuncs.c:2256 utils/adt/arrayfuncs.c:2278
+#: utils/adt/arrayfuncs.c:2327 utils/adt/arrayfuncs.c:2566
+#: utils/adt/arrayfuncs.c:2888 utils/adt/arrayfuncs.c:5870
+#: utils/adt/arrayfuncs.c:5896 utils/adt/arrayfuncs.c:5907
 #: utils/adt/json.c:1141 utils/adt/json.c:1216 utils/adt/jsonb.c:1316
-#: utils/adt/jsonb.c:1402 utils/adt/jsonfuncs.c:4427 utils/adt/jsonfuncs.c:4580
-#: utils/adt/jsonfuncs.c:4692 utils/adt/jsonfuncs.c:4741
+#: utils/adt/jsonb.c:1402 utils/adt/jsonfuncs.c:4429 utils/adt/jsonfuncs.c:4582
+#: utils/adt/jsonfuncs.c:4694 utils/adt/jsonfuncs.c:4743
 #, c-format
 msgid "wrong number of array subscripts"
 msgstr "número incorrecto de subíndices del array"
 
-#: utils/adt/arrayfuncs.c:2260 utils/adt/arrayfuncs.c:2368
-#: utils/adt/arrayfuncs.c:2632 utils/adt/arrayfuncs.c:2946
+#: utils/adt/arrayfuncs.c:2261 utils/adt/arrayfuncs.c:2369
+#: utils/adt/arrayfuncs.c:2633 utils/adt/arrayfuncs.c:2947
 #, c-format
 msgid "array subscript out of range"
 msgstr "subíndice de array fuera de rango"
 
-#: utils/adt/arrayfuncs.c:2265
+#: utils/adt/arrayfuncs.c:2266
 #, c-format
 msgid "cannot assign null value to an element of a fixed-length array"
 msgstr "no se puede asignar un valor nulo a un elemento de un array de longitud fija"
 
-#: utils/adt/arrayfuncs.c:2834
+#: utils/adt/arrayfuncs.c:2835
 #, c-format
 msgid "updates on slices of fixed-length arrays not implemented"
 msgstr "no están implementadas las actualizaciones en segmentos de arrays de largo fija"
 
-#: utils/adt/arrayfuncs.c:2865
+#: utils/adt/arrayfuncs.c:2866
 #, c-format
 msgid "array slice subscript must provide both boundaries"
 msgstr "los subíndices del segmento de array deben especificar ambos bordes"
 
-#: utils/adt/arrayfuncs.c:2866
+#: utils/adt/arrayfuncs.c:2867
 #, c-format
 msgid "When assigning to a slice of an empty array value, slice boundaries must be fully specified."
 msgstr "Cuando se asigna a un segmento de un array vacío, los bordes del segmento deben ser especificados completamente."
 
-#: utils/adt/arrayfuncs.c:2877 utils/adt/arrayfuncs.c:2973
+#: utils/adt/arrayfuncs.c:2878 utils/adt/arrayfuncs.c:2974
 #, c-format
 msgid "source array too small"
 msgstr "el array de origen es demasiado pequeño"
 
-#: utils/adt/arrayfuncs.c:3528
+#: utils/adt/arrayfuncs.c:3529
 #, c-format
 msgid "null array element not allowed in this context"
 msgstr "los arrays con elementos null no son permitidos en este contexto"
 
-#: utils/adt/arrayfuncs.c:3630 utils/adt/arrayfuncs.c:3801
-#: utils/adt/arrayfuncs.c:4157
+#: utils/adt/arrayfuncs.c:3631 utils/adt/arrayfuncs.c:3802
+#: utils/adt/arrayfuncs.c:4192
 #, c-format
 msgid "cannot compare arrays of different element types"
 msgstr "no se pueden comparar arrays con elementos de distintos tipos"
 
-#: utils/adt/arrayfuncs.c:3979 utils/adt/multirangetypes.c:2670
-#: utils/adt/multirangetypes.c:2742 utils/adt/rangetypes.c:1343
+#: utils/adt/arrayfuncs.c:3980 utils/adt/multirangetypes.c:2742
+#: utils/adt/multirangetypes.c:2814 utils/adt/rangetypes.c:1343
 #: utils/adt/rangetypes.c:1407 utils/adt/rowtypes.c:1858
 #, c-format
 msgid "could not identify a hash function for type %s"
 msgstr "no se pudo identificar una función de hash para el tipo %s"
 
-#: utils/adt/arrayfuncs.c:4072 utils/adt/rowtypes.c:1979
+#: utils/adt/arrayfuncs.c:4107 utils/adt/rowtypes.c:1979
 #, c-format
 msgid "could not identify an extended hash function for type %s"
 msgstr "no se pudo identificar una función de hash extendida para el tipo %s"
 
-#: utils/adt/arrayfuncs.c:5249
+#: utils/adt/arrayfuncs.c:5284
 #, c-format
 msgid "data type %s is not an array type"
 msgstr "el tipo %s no es un array"
 
-#: utils/adt/arrayfuncs.c:5304
+#: utils/adt/arrayfuncs.c:5339
 #, c-format
 msgid "cannot accumulate null arrays"
 msgstr "no se pueden acumular arrays nulos"
 
-#: utils/adt/arrayfuncs.c:5332
+#: utils/adt/arrayfuncs.c:5367
 #, c-format
 msgid "cannot accumulate empty arrays"
 msgstr "no se pueden acumular arrays vacíos"
 
-#: utils/adt/arrayfuncs.c:5359 utils/adt/arrayfuncs.c:5365
+#: utils/adt/arrayfuncs.c:5394 utils/adt/arrayfuncs.c:5400
 #, c-format
 msgid "cannot accumulate arrays of different dimensionality"
 msgstr "no se pueden acumular arrays de distinta dimensionalidad"
 
-#: utils/adt/arrayfuncs.c:5733 utils/adt/arrayfuncs.c:5773
+#: utils/adt/arrayfuncs.c:5768 utils/adt/arrayfuncs.c:5808
 #, c-format
 msgid "dimension array or low bound array cannot be null"
 msgstr "el array de dimensiones o el array de límites inferiores debe ser no nulo"
 
-#: utils/adt/arrayfuncs.c:5836 utils/adt/arrayfuncs.c:5862
+#: utils/adt/arrayfuncs.c:5871 utils/adt/arrayfuncs.c:5897
 #, c-format
 msgid "Dimension array must be one dimensional."
 msgstr "El array de dimensiones debe ser unidimensional."
 
-#: utils/adt/arrayfuncs.c:5841 utils/adt/arrayfuncs.c:5867
+#: utils/adt/arrayfuncs.c:5876 utils/adt/arrayfuncs.c:5902
 #, c-format
 msgid "dimension values cannot be null"
 msgstr "los valores de dimensión no pueden ser null"
 
-#: utils/adt/arrayfuncs.c:5873
+#: utils/adt/arrayfuncs.c:5908
 #, c-format
 msgid "Low bound array has different size than dimensions array."
 msgstr "El array de límites inferiores tiene tamaño diferente que el array de dimensiones."
 
-#: utils/adt/arrayfuncs.c:6151
+#: utils/adt/arrayfuncs.c:6186
 #, c-format
 msgid "removing elements from multidimensional arrays is not supported"
 msgstr "la eliminación de elementos desde arrays multidimensionales no está soportada"
 
-#: utils/adt/arrayfuncs.c:6428
+#: utils/adt/arrayfuncs.c:6463
 #, c-format
 msgid "thresholds must be one-dimensional array"
 msgstr "los umbrales deben ser un array unidimensional"
 
-#: utils/adt/arrayfuncs.c:6433
+#: utils/adt/arrayfuncs.c:6468
 #, c-format
 msgid "thresholds array must not contain NULLs"
 msgstr "el array de umbrales no debe contener nulos"
 
-#: utils/adt/arrayfuncs.c:6666
-#, fuzzy, c-format
-#| msgid "number of parameters must be between 0 and 65535\n"
+#: utils/adt/arrayfuncs.c:6701
+#, c-format
 msgid "number of elements to trim must be between 0 and %d"
-msgstr "el número de parámetros debe estar entre 0 y 65535\n"
+msgstr "el número de elementos a recortar debe estar entre 0 y %d"
 
 #: utils/adt/arraysubs.c:93 utils/adt/arraysubs.c:130
 #, c-format
@@ -22787,7 +22487,7 @@ msgstr "subíndice de array en asignación no puede ser nulo"
 #: utils/adt/arrayutils.c:140
 #, c-format
 msgid "array lower bound is too large: %d"
-msgstr ""
+msgstr "el límite inferior del array es demasiado grande: %d"
 
 #: utils/adt/arrayutils.c:240
 #, c-format
@@ -22820,9 +22520,9 @@ msgstr "la conversión de codificación de %s a ASCII no está soportada"
 #: utils/adt/geo_ops.c:4672 utils/adt/geo_ops.c:4679 utils/adt/int8.c:126
 #: utils/adt/jsonpath.c:182 utils/adt/mac.c:94 utils/adt/mac8.c:93
 #: utils/adt/mac8.c:166 utils/adt/mac8.c:184 utils/adt/mac8.c:202
-#: utils/adt/mac8.c:221 utils/adt/network.c:100 utils/adt/numeric.c:702
-#: utils/adt/numeric.c:721 utils/adt/numeric.c:6861 utils/adt/numeric.c:6885
-#: utils/adt/numeric.c:6909 utils/adt/numeric.c:7878 utils/adt/numutils.c:116
+#: utils/adt/mac8.c:221 utils/adt/network.c:100 utils/adt/numeric.c:694
+#: utils/adt/numeric.c:713 utils/adt/numeric.c:6858 utils/adt/numeric.c:6882
+#: utils/adt/numeric.c:6906 utils/adt/numeric.c:7864 utils/adt/numutils.c:116
 #: utils/adt/numutils.c:126 utils/adt/numutils.c:170 utils/adt/numutils.c:246
 #: utils/adt/numutils.c:322 utils/adt/oid.c:44 utils/adt/oid.c:58
 #: utils/adt/oid.c:64 utils/adt/oid.c:86 utils/adt/pg_lsn.c:74
@@ -22846,9 +22546,9 @@ msgstr "el valor «%s» está fuera de rango para el tipo %s"
 #: utils/adt/int.c:1018 utils/adt/int.c:1080 utils/adt/int.c:1118
 #: utils/adt/int.c:1146 utils/adt/int8.c:600 utils/adt/int8.c:658
 #: utils/adt/int8.c:985 utils/adt/int8.c:1065 utils/adt/int8.c:1127
-#: utils/adt/int8.c:1207 utils/adt/numeric.c:3032 utils/adt/numeric.c:3055
-#: utils/adt/numeric.c:3140 utils/adt/numeric.c:3158 utils/adt/numeric.c:3254
-#: utils/adt/numeric.c:8427 utils/adt/numeric.c:8717 utils/adt/numeric.c:10299
+#: utils/adt/int8.c:1207 utils/adt/numeric.c:3031 utils/adt/numeric.c:3054
+#: utils/adt/numeric.c:3139 utils/adt/numeric.c:3157 utils/adt/numeric.c:3253
+#: utils/adt/numeric.c:8413 utils/adt/numeric.c:8703 utils/adt/numeric.c:10340
 #: utils/adt/timestamp.c:3281
 #, c-format
 msgid "division by zero"
@@ -22910,16 +22610,14 @@ msgid "date out of range for timestamp"
 msgstr "fecha fuera de rango para timestamp"
 
 #: utils/adt/date.c:1127 utils/adt/date.c:1210 utils/adt/date.c:1226
-#, fuzzy, c-format
-#| msgid "interval units \"%s\" not supported"
+#, c-format
 msgid "date units \"%s\" not supported"
-msgstr "las unidades de interval «%s» no están soportadas"
+msgstr "las unidades de «date» «%s» no están soportadas"
 
 #: utils/adt/date.c:1235
-#, fuzzy, c-format
-#| msgid "\"time\" units \"%s\" not recognized"
+#, c-format
 msgid "date units \"%s\" not recognized"
-msgstr "las unidades de «time» «%s» no son reconocidas"
+msgstr "las unidades de «date» «%s» no son reconocidas"
 
 #: utils/adt/date.c:1318 utils/adt/date.c:1364 utils/adt/date.c:1920
 #: utils/adt/date.c:1951 utils/adt/date.c:1980 utils/adt/date.c:2844
@@ -22935,15 +22633,15 @@ msgstr "las unidades de «time» «%s» no son reconocidas"
 #: utils/adt/timestamp.c:2989 utils/adt/timestamp.c:3002
 #: utils/adt/timestamp.c:3013 utils/adt/timestamp.c:3021
 #: utils/adt/timestamp.c:3681 utils/adt/timestamp.c:3806
-#: utils/adt/timestamp.c:3891 utils/adt/timestamp.c:3981
-#: utils/adt/timestamp.c:4069 utils/adt/timestamp.c:4172
-#: utils/adt/timestamp.c:4674 utils/adt/timestamp.c:4948
-#: utils/adt/timestamp.c:5401 utils/adt/timestamp.c:5415
-#: utils/adt/timestamp.c:5420 utils/adt/timestamp.c:5434
-#: utils/adt/timestamp.c:5467 utils/adt/timestamp.c:5554
-#: utils/adt/timestamp.c:5595 utils/adt/timestamp.c:5599
-#: utils/adt/timestamp.c:5668 utils/adt/timestamp.c:5672
-#: utils/adt/timestamp.c:5686 utils/adt/timestamp.c:5720 utils/adt/xml.c:2232
+#: utils/adt/timestamp.c:3896 utils/adt/timestamp.c:3986
+#: utils/adt/timestamp.c:4079 utils/adt/timestamp.c:4182
+#: utils/adt/timestamp.c:4684 utils/adt/timestamp.c:4958
+#: utils/adt/timestamp.c:5411 utils/adt/timestamp.c:5425
+#: utils/adt/timestamp.c:5430 utils/adt/timestamp.c:5444
+#: utils/adt/timestamp.c:5477 utils/adt/timestamp.c:5564
+#: utils/adt/timestamp.c:5605 utils/adt/timestamp.c:5609
+#: utils/adt/timestamp.c:5678 utils/adt/timestamp.c:5682
+#: utils/adt/timestamp.c:5696 utils/adt/timestamp.c:5730 utils/adt/xml.c:2232
 #: utils/adt/xml.c:2239 utils/adt/xml.c:2259 utils/adt/xml.c:2266
 #, c-format
 msgid "timestamp out of range"
@@ -22961,7 +22659,7 @@ msgstr "valor en campo de hora fuera de rango: %d:%02d:%02g"
 
 #: utils/adt/date.c:2109 utils/adt/date.c:2643 utils/adt/float.c:1047
 #: utils/adt/float.c:1123 utils/adt/int.c:614 utils/adt/int.c:661
-#: utils/adt/int.c:696 utils/adt/int8.c:499 utils/adt/numeric.c:2443
+#: utils/adt/int.c:696 utils/adt/int8.c:499 utils/adt/numeric.c:2435
 #: utils/adt/timestamp.c:3330 utils/adt/timestamp.c:3361
 #: utils/adt/timestamp.c:3392
 #, c-format
@@ -22983,15 +22681,15 @@ msgstr "desplazamiento de huso horario fuera de rango"
 msgid "\"time with time zone\" units \"%s\" not recognized"
 msgstr "las unidades de «timestamp with time zone» «%s» no son reconocidas"
 
-#: utils/adt/date.c:3095 utils/adt/datetime.c:951 utils/adt/datetime.c:1858
+#: utils/adt/date.c:3097 utils/adt/datetime.c:951 utils/adt/datetime.c:1858
 #: utils/adt/datetime.c:4648 utils/adt/timestamp.c:515
-#: utils/adt/timestamp.c:542 utils/adt/timestamp.c:4255
-#: utils/adt/timestamp.c:5426 utils/adt/timestamp.c:5678
+#: utils/adt/timestamp.c:542 utils/adt/timestamp.c:4265
+#: utils/adt/timestamp.c:5436 utils/adt/timestamp.c:5688
 #, c-format
 msgid "time zone \"%s\" not recognized"
 msgstr "el huso horario «%s» no es reconocido"
 
-#: utils/adt/date.c:3127 utils/adt/timestamp.c:5456 utils/adt/timestamp.c:5709
+#: utils/adt/date.c:3129 utils/adt/timestamp.c:5466 utils/adt/timestamp.c:5719
 #, c-format
 msgid "interval time zone \"%s\" must not include months or days"
 msgstr "el intervalo de huso horario «%s» no debe especificar meses o días"
@@ -23021,22 +22719,22 @@ msgstr "desplazamiento de huso horario fuera de rango: «%s»"
 msgid "This time zone name appears in the configuration file for time zone abbreviation \"%s\"."
 msgstr "Este nombre de huso horario aparece en el archivo de configuración para abreviaciones de husos horarios «%s»."
 
-#: utils/adt/datum.c:89 utils/adt/datum.c:101
+#: utils/adt/datum.c:90 utils/adt/datum.c:102
 #, c-format
 msgid "invalid Datum pointer"
 msgstr "puntero a Datum no válido"
 
-#: utils/adt/dbsize.c:749 utils/adt/dbsize.c:817
+#: utils/adt/dbsize.c:754 utils/adt/dbsize.c:822
 #, c-format
 msgid "invalid size: \"%s\""
 msgstr "tamaño no válido: «%s»"
 
-#: utils/adt/dbsize.c:818
+#: utils/adt/dbsize.c:823
 #, c-format
 msgid "Invalid size unit: \"%s\"."
 msgstr "Nombre de unidad de tamaño no válido: «%s»."
 
-#: utils/adt/dbsize.c:819
+#: utils/adt/dbsize.c:824
 #, c-format
 msgid "Valid units are \"bytes\", \"kB\", \"MB\", \"GB\", and \"TB\"."
 msgstr "Unidades válidas son «bytes«, «kB», «MB», «GB» y «TB»."
@@ -23046,39 +22744,47 @@ msgstr "Unidades válidas son «bytes«, «kB», «MB», «GB» y «TB»."
 msgid "type %s is not a domain"
 msgstr "tipo «%s» no es un dominio"
 
-#: utils/adt/encode.c:68 utils/adt/encode.c:112
+#: utils/adt/encode.c:65 utils/adt/encode.c:113
 #, c-format
 msgid "unrecognized encoding: \"%s\""
 msgstr "no se reconoce la codificación: «%s»"
 
-#: utils/adt/encode.c:82
-#, fuzzy, c-format
-#| msgid "result of decoding conversion is too large"
+#: utils/adt/encode.c:79
+#, c-format
 msgid "result of encoding conversion is too large"
 msgstr "el resultado de la conversión de codificación es demasiado grande"
 
-#: utils/adt/encode.c:126
+#: utils/adt/encode.c:127
 #, c-format
 msgid "result of decoding conversion is too large"
-msgstr "el resultado de la conversión de codificación es demasiado grande"
+msgstr "el resultado de la conversión de decodificación es demasiado grande"
+
+#: utils/adt/encode.c:186
+#, c-format
+msgid "invalid hexadecimal digit: \"%.*s\""
+msgstr "dígito hexadecimal no válido: «%.*s»"
+
+#: utils/adt/encode.c:216
+#, c-format
+msgid "invalid hexadecimal data: odd number of digits"
+msgstr "el dato hexadecimal no es válido: tiene un número impar de dígitos"
 
-#: utils/adt/encode.c:261
+#: utils/adt/encode.c:334
 #, c-format
 msgid "unexpected \"=\" while decoding base64 sequence"
 msgstr "«=» inesperado mientras se decodificaba la secuencia base64"
 
-#: utils/adt/encode.c:273
-#, fuzzy, c-format
-#| msgid "invalid symbol \"%c\" while decoding base64 sequence"
+#: utils/adt/encode.c:346
+#, c-format
 msgid "invalid symbol \"%.*s\" found while decoding base64 sequence"
-msgstr "símbolo «%c» no válido al decodificar secuencia base64"
+msgstr "se encontró símbolo no válido «%.*s» al decodificar secuencia base64"
 
-#: utils/adt/encode.c:304
+#: utils/adt/encode.c:367
 #, c-format
 msgid "invalid base64 end sequence"
 msgstr "secuencia de término base64 no válida"
 
-#: utils/adt/encode.c:305
+#: utils/adt/encode.c:368
 #, c-format
 msgid "Input data is missing padding, is truncated, or is otherwise corrupted."
 msgstr "A los datos de entrada les falta relleno, o están truncados, o están corruptos de alguna otra forma."
@@ -23138,34 +22844,34 @@ msgstr "«%s» está fuera de rango para el tipo double precision"
 #: utils/adt/float.c:1258 utils/adt/float.c:1332 utils/adt/int.c:334
 #: utils/adt/int.c:872 utils/adt/int.c:894 utils/adt/int.c:908
 #: utils/adt/int.c:922 utils/adt/int.c:954 utils/adt/int.c:1192
-#: utils/adt/int8.c:1320 utils/adt/numeric.c:4317 utils/adt/numeric.c:4326
+#: utils/adt/int8.c:1320 utils/adt/numeric.c:4315 utils/adt/numeric.c:4320
 #, c-format
 msgid "smallint out of range"
 msgstr "smallint fuera de rango"
 
-#: utils/adt/float.c:1458 utils/adt/numeric.c:3550 utils/adt/numeric.c:9310
+#: utils/adt/float.c:1458 utils/adt/numeric.c:3549 utils/adt/numeric.c:9296
 #, c-format
 msgid "cannot take square root of a negative number"
 msgstr "no se puede calcular la raíz cuadrada un de número negativo"
 
-#: utils/adt/float.c:1526 utils/adt/numeric.c:3825 utils/adt/numeric.c:3935
+#: utils/adt/float.c:1526 utils/adt/numeric.c:3824 utils/adt/numeric.c:3936
 #, c-format
 msgid "zero raised to a negative power is undefined"
 msgstr "cero elevado a una potencia negativa es indefinido"
 
-#: utils/adt/float.c:1530 utils/adt/numeric.c:3829 utils/adt/numeric.c:3940
+#: utils/adt/float.c:1530 utils/adt/numeric.c:3828 utils/adt/numeric.c:10193
 #, c-format
 msgid "a negative number raised to a non-integer power yields a complex result"
 msgstr "un número negativo elevado a una potencia no positiva entrega un resultado complejo"
 
-#: utils/adt/float.c:1706 utils/adt/float.c:1739 utils/adt/numeric.c:3737
-#: utils/adt/numeric.c:9974
+#: utils/adt/float.c:1706 utils/adt/float.c:1739 utils/adt/numeric.c:3736
+#: utils/adt/numeric.c:9966
 #, c-format
 msgid "cannot take logarithm of zero"
 msgstr "no se puede calcular logaritmo de cero"
 
-#: utils/adt/float.c:1710 utils/adt/float.c:1743 utils/adt/numeric.c:3675
-#: utils/adt/numeric.c:3732 utils/adt/numeric.c:9978
+#: utils/adt/float.c:1710 utils/adt/float.c:1743 utils/adt/numeric.c:3674
+#: utils/adt/numeric.c:3731 utils/adt/numeric.c:9970
 #, c-format
 msgid "cannot take logarithm of a negative number"
 msgstr "no se puede calcular logaritmo de un número negativo"
@@ -23184,22 +22890,22 @@ msgstr "la entrada está fuera de rango"
 msgid "setseed parameter %g is out of allowed range [-1,1]"
 msgstr "parámetro setseed %g fuera del rango permitido [-1,1]"
 
-#: utils/adt/float.c:4030 utils/adt/numeric.c:1716
+#: utils/adt/float.c:4030 utils/adt/numeric.c:1708
 #, c-format
 msgid "count must be greater than zero"
 msgstr "count debe ser mayor que cero"
 
-#: utils/adt/float.c:4035 utils/adt/numeric.c:1727
+#: utils/adt/float.c:4035 utils/adt/numeric.c:1719
 #, c-format
 msgid "operand, lower bound, and upper bound cannot be NaN"
 msgstr "el operando, límite inferior y límite superior no pueden ser NaN"
 
-#: utils/adt/float.c:4041 utils/adt/numeric.c:1732
+#: utils/adt/float.c:4041 utils/adt/numeric.c:1724
 #, c-format
 msgid "lower and upper bounds must be finite"
 msgstr "los límites inferior y superior deben ser finitos"
 
-#: utils/adt/float.c:4075 utils/adt/numeric.c:1746
+#: utils/adt/float.c:4075 utils/adt/numeric.c:1738
 #, c-format
 msgid "lower bound cannot equal upper bound"
 msgstr "el límite superior no puede ser igual al límite inferior"
@@ -23285,10 +22991,9 @@ msgid "\"EEEE\" may only be used together with digit and decimal point patterns.
 msgstr "«EEEE» sólo puede ser usado en conjunción con patrones de dígitos y puntos decimales."
 
 #: utils/adt/formatting.c:1394
-#, fuzzy, c-format
-#| msgid "unmatched format separator \"%c\""
+#, c-format
 msgid "invalid datetime format separator: \"%s\""
-msgstr "separador de formato «%c» desemparejado"
+msgstr "separador de formato «datetime» no válido: «%s»"
 
 #: utils/adt/formatting.c:1521
 #, c-format
@@ -23388,10 +23093,9 @@ msgid "unmatched format separator \"%c\""
 msgstr "separador de formato «%c» desemparejado"
 
 #: utils/adt/formatting.c:3403
-#, fuzzy, c-format
-#| msgid "unmatched format separator \"%c\""
+#, c-format
 msgid "unmatched format character \"%s\""
-msgstr "separador de formato «%c» desemparejado"
+msgstr "carácter de formato «%s» desemparejado"
 
 #: utils/adt/formatting.c:3509 utils/adt/formatting.c:3853
 #, c-format
@@ -23496,10 +23200,9 @@ msgid "could not seek in file \"%s\": %m"
 msgstr "no se pudo posicionar (seek) el archivo «%s»: %m"
 
 #: utils/adt/genfile.c:176
-#, fuzzy, c-format
-#| msgid "requested length too large"
+#, c-format
 msgid "file length too large"
-msgstr "el tamaño solicitado es demasiado grande"
+msgstr "el tamaño del archivo es demasiado grande"
 
 #: utils/adt/genfile.c:253
 #, c-format
@@ -23533,10 +23236,9 @@ msgid "function \"dist_lb\" not implemented"
 msgstr "la función «dist_lb» no está implementada"
 
 #: utils/adt/geo_ops.c:2568
-#, fuzzy, c-format
-#| msgid "function \"dist_lb\" not implemented"
+#, c-format
 msgid "function \"dist_bl\" not implemented"
-msgstr "la función «dist_lb» no está implementada"
+msgstr "la función «dist_bl» no está implementada"
 
 #: utils/adt/geo_ops.c:2987
 #, c-format
@@ -23598,8 +23300,8 @@ msgstr "datos de int2vector no válidos"
 msgid "oidvector has too many elements"
 msgstr "el oidvector tiene demasiados elementos"
 
-#: utils/adt/int.c:1508 utils/adt/int8.c:1446 utils/adt/numeric.c:1624
-#: utils/adt/timestamp.c:5771 utils/adt/timestamp.c:5851
+#: utils/adt/int.c:1508 utils/adt/int8.c:1446 utils/adt/numeric.c:1616
+#: utils/adt/timestamp.c:5781 utils/adt/timestamp.c:5861
 #, c-format
 msgid "step size cannot equal zero"
 msgstr "el tamaño de paso no puede ser cero"
@@ -23613,7 +23315,7 @@ msgstr "el tamaño de paso no puede ser cero"
 #: utils/adt/int8.c:1037 utils/adt/int8.c:1051 utils/adt/int8.c:1084
 #: utils/adt/int8.c:1098 utils/adt/int8.c:1112 utils/adt/int8.c:1143
 #: utils/adt/int8.c:1165 utils/adt/int8.c:1179 utils/adt/int8.c:1193
-#: utils/adt/int8.c:1355 utils/adt/int8.c:1390 utils/adt/numeric.c:4276
+#: utils/adt/int8.c:1355 utils/adt/int8.c:1390 utils/adt/numeric.c:4274
 #: utils/adt/varbit.c:1676
 #, c-format
 msgid "bigint out of range"
@@ -23752,241 +23454,235 @@ msgstr "el tamaño total de los elementos del array jsonb excede el máximo de %
 msgid "total size of jsonb object elements exceeds the maximum of %u bytes"
 msgstr "el tamaño total de los elementos del objeto jsonb excede el máximo de %u bytes"
 
-#: utils/adt/jsonbsubs.c:70 utils/adt/jsonbsubs.c:152
-#, fuzzy, c-format
-#| msgid "this build does not support compression"
+#: utils/adt/jsonbsubs.c:70 utils/adt/jsonbsubs.c:151
+#, c-format
 msgid "jsonb subscript does not support slices"
-msgstr "esta instalación no soporta compresión"
+msgstr "el subíndice jsonb no soporta segmentos"
 
-#: utils/adt/jsonbsubs.c:103 utils/adt/jsonbsubs.c:118
-#, fuzzy, c-format
-#| msgid "log format \"%s\" is not supported"
-msgid "subscript type is not supported"
-msgstr "el formato de log «%s» no está soportado"
+#: utils/adt/jsonbsubs.c:103 utils/adt/jsonbsubs.c:117
+#, c-format
+msgid "subscript type %s is not supported"
+msgstr "el tipo de subíndice %s no está soportado"
 
 #: utils/adt/jsonbsubs.c:104
 #, c-format
-msgid "Jsonb subscript must be coerced only to one type, integer or text."
-msgstr ""
+msgid "jsonb subscript must be coercible to only one type, integer or text."
+msgstr "subíndice jsonb debe ser coercible solo para un tipo, integer o text."
 
-#: utils/adt/jsonbsubs.c:119
+#: utils/adt/jsonbsubs.c:118
 #, c-format
-msgid "Jsonb subscript must be coerced to either integer or text"
-msgstr ""
+msgid "jsonb subscript must be coercible to either integer or text."
+msgstr "subíndice jsonb debe ser coercible ya sea para integer o para text."
 
-#: utils/adt/jsonbsubs.c:140
-#, fuzzy, c-format
-#| msgid "array subscript must have type integer"
+#: utils/adt/jsonbsubs.c:139
+#, c-format
 msgid "jsonb subscript must have text type"
-msgstr "los subíndices de arrays deben tener tipo entero"
+msgstr "subíndice jsonb debe tener tipo text"
 
-#: utils/adt/jsonbsubs.c:208
-#, fuzzy, c-format
-#| msgid "array subscript in assignment must not be null"
+#: utils/adt/jsonbsubs.c:207
+#, c-format
 msgid "jsonb subscript in assignment must not be null"
-msgstr "subíndice de array en asignación no puede ser nulo"
+msgstr "subíndice jsonb en asignación no puede ser nulo"
 
-#: utils/adt/jsonfuncs.c:555 utils/adt/jsonfuncs.c:789
-#: utils/adt/jsonfuncs.c:2471 utils/adt/jsonfuncs.c:2911
-#: utils/adt/jsonfuncs.c:3700 utils/adt/jsonfuncs.c:4030
+#: utils/adt/jsonfuncs.c:555 utils/adt/jsonfuncs.c:791
+#: utils/adt/jsonfuncs.c:2473 utils/adt/jsonfuncs.c:2913
+#: utils/adt/jsonfuncs.c:3702 utils/adt/jsonfuncs.c:4032
 #, c-format
 msgid "cannot call %s on a scalar"
 msgstr "no se puede invocar %s en un escalar"
 
-#: utils/adt/jsonfuncs.c:560 utils/adt/jsonfuncs.c:776
-#: utils/adt/jsonfuncs.c:2913 utils/adt/jsonfuncs.c:3689
+#: utils/adt/jsonfuncs.c:560 utils/adt/jsonfuncs.c:778
+#: utils/adt/jsonfuncs.c:2915 utils/adt/jsonfuncs.c:3691
 #, c-format
 msgid "cannot call %s on an array"
 msgstr "no se puede invocar %s en un array"
 
-#: utils/adt/jsonfuncs.c:685
+#: utils/adt/jsonfuncs.c:687
 #, c-format
 msgid "JSON data, line %d: %s%s%s"
 msgstr "Datos JSON, línea %d: %s%s%s"
 
-#: utils/adt/jsonfuncs.c:1823 utils/adt/jsonfuncs.c:1858
+#: utils/adt/jsonfuncs.c:1825 utils/adt/jsonfuncs.c:1860
 #, c-format
 msgid "cannot get array length of a scalar"
 msgstr "no se puede obtener el largo de array de un escalar"
 
-#: utils/adt/jsonfuncs.c:1827 utils/adt/jsonfuncs.c:1846
+#: utils/adt/jsonfuncs.c:1829 utils/adt/jsonfuncs.c:1848
 #, c-format
 msgid "cannot get array length of a non-array"
 msgstr "no se puede obtener el largo de array de un no-array"
 
-#: utils/adt/jsonfuncs.c:1923
+#: utils/adt/jsonfuncs.c:1925
 #, c-format
 msgid "cannot call %s on a non-object"
 msgstr "no se puede invocar %s en un no-objeto"
 
-#: utils/adt/jsonfuncs.c:2162
+#: utils/adt/jsonfuncs.c:2164
 #, c-format
 msgid "cannot deconstruct an array as an object"
 msgstr "no se puede desconstruir un array como un objeto"
 
-#: utils/adt/jsonfuncs.c:2174
+#: utils/adt/jsonfuncs.c:2176
 #, c-format
 msgid "cannot deconstruct a scalar"
 msgstr "no se puede desconstruir un escalar"
 
-#: utils/adt/jsonfuncs.c:2220
+#: utils/adt/jsonfuncs.c:2222
 #, c-format
 msgid "cannot extract elements from a scalar"
 msgstr "no se pueden extraer elementos de un escalar"
 
-#: utils/adt/jsonfuncs.c:2224
+#: utils/adt/jsonfuncs.c:2226
 #, c-format
 msgid "cannot extract elements from an object"
 msgstr "no se pudo extraer elementos de un objeto"
 
-#: utils/adt/jsonfuncs.c:2458 utils/adt/jsonfuncs.c:3915
+#: utils/adt/jsonfuncs.c:2460 utils/adt/jsonfuncs.c:3917
 #, c-format
 msgid "cannot call %s on a non-array"
 msgstr "no se puede invocar %s en un no-array"
 
-#: utils/adt/jsonfuncs.c:2528 utils/adt/jsonfuncs.c:2533
-#: utils/adt/jsonfuncs.c:2550 utils/adt/jsonfuncs.c:2556
+#: utils/adt/jsonfuncs.c:2530 utils/adt/jsonfuncs.c:2535
+#: utils/adt/jsonfuncs.c:2552 utils/adt/jsonfuncs.c:2558
 #, c-format
 msgid "expected JSON array"
 msgstr "se esperaba un array JSON"
 
-#: utils/adt/jsonfuncs.c:2529
+#: utils/adt/jsonfuncs.c:2531
 #, c-format
 msgid "See the value of key \"%s\"."
 msgstr "Vea el valor de la llave «%s»."
 
-#: utils/adt/jsonfuncs.c:2551
+#: utils/adt/jsonfuncs.c:2553
 #, c-format
 msgid "See the array element %s of key \"%s\"."
 msgstr "Vea el elemento %s de la llave «%s»."
 
-#: utils/adt/jsonfuncs.c:2557
+#: utils/adt/jsonfuncs.c:2559
 #, c-format
 msgid "See the array element %s."
 msgstr "Veo el elemento de array %s."
 
-#: utils/adt/jsonfuncs.c:2592
+#: utils/adt/jsonfuncs.c:2594
 #, c-format
 msgid "malformed JSON array"
 msgstr "array JSON mal formado"
 
 #. translator: %s is a function name, eg json_to_record
-#: utils/adt/jsonfuncs.c:3419
+#: utils/adt/jsonfuncs.c:3421
 #, c-format
 msgid "first argument of %s must be a row type"
 msgstr "el primer argumento de %s debe ser un tipo de registro"
 
 #. translator: %s is a function name, eg json_to_record
-#: utils/adt/jsonfuncs.c:3443
+#: utils/adt/jsonfuncs.c:3445
 #, c-format
 msgid "could not determine row type for result of %s"
 msgstr "no se pudo determinar el tipo de dato para el resultado de %s"
 
-#: utils/adt/jsonfuncs.c:3445
+#: utils/adt/jsonfuncs.c:3447
 #, c-format
 msgid "Provide a non-null record argument, or call the function in the FROM clause using a column definition list."
 msgstr "Provea un argumento de registro no-nulo, o invoque la función en la cláusula FROM usando una lista de definición de columnas."
 
-#: utils/adt/jsonfuncs.c:3932 utils/adt/jsonfuncs.c:4012
+#: utils/adt/jsonfuncs.c:3934 utils/adt/jsonfuncs.c:4014
 #, c-format
 msgid "argument of %s must be an array of objects"
 msgstr "el argumento de %s debe ser un array de objetos"
 
-#: utils/adt/jsonfuncs.c:3965
+#: utils/adt/jsonfuncs.c:3967
 #, c-format
 msgid "cannot call %s on an object"
 msgstr "no se puede invocar %s en un objeto"
 
-#: utils/adt/jsonfuncs.c:4373 utils/adt/jsonfuncs.c:4432
-#: utils/adt/jsonfuncs.c:4512
+#: utils/adt/jsonfuncs.c:4375 utils/adt/jsonfuncs.c:4434
+#: utils/adt/jsonfuncs.c:4514
 #, c-format
 msgid "cannot delete from scalar"
 msgstr "no se puede eliminar de un escalar"
 
-#: utils/adt/jsonfuncs.c:4517
+#: utils/adt/jsonfuncs.c:4519
 #, c-format
 msgid "cannot delete from object using integer index"
 msgstr "no se puede eliminar de un objeto usando un índice numérico"
 
-#: utils/adt/jsonfuncs.c:4585 utils/adt/jsonfuncs.c:4746
+#: utils/adt/jsonfuncs.c:4587 utils/adt/jsonfuncs.c:4748
 #, c-format
 msgid "cannot set path in scalar"
 msgstr "no se puede definir una ruta en un escalar"
 
-#: utils/adt/jsonfuncs.c:4627 utils/adt/jsonfuncs.c:4669
+#: utils/adt/jsonfuncs.c:4629 utils/adt/jsonfuncs.c:4671
 #, c-format
 msgid "null_value_treatment must be \"delete_key\", \"return_target\", \"use_json_null\", or \"raise_exception\""
 msgstr "null_value_treatment debe ser «delete_key», «return_target», «use_json_null», o «raise_exception»"
 
-#: utils/adt/jsonfuncs.c:4640
-#, fuzzy, c-format
-#| msgid "slot name must not be null"
+#: utils/adt/jsonfuncs.c:4642
+#, c-format
 msgid "JSON value must not be null"
-msgstr "el nombre de slot no debe ser null"
+msgstr "valor JSON no debe ser null"
 
-#: utils/adt/jsonfuncs.c:4641
+#: utils/adt/jsonfuncs.c:4643
 #, c-format
 msgid "Exception was raised because null_value_treatment is \"raise_exception\"."
 msgstr "Una excepción fue lanzada porque null_value_treatment es «raise_exception»."
 
-#: utils/adt/jsonfuncs.c:4642
+#: utils/adt/jsonfuncs.c:4644
 #, c-format
 msgid "To avoid, either change the null_value_treatment argument or ensure that an SQL NULL is not passed."
 msgstr "Para impedir esto, puede cambiar el argumento null_value_treatment o asegurarse que no se pase un nulo SQL."
 
-#: utils/adt/jsonfuncs.c:4697
+#: utils/adt/jsonfuncs.c:4699
 #, c-format
 msgid "cannot delete path in scalar"
 msgstr "no se puede eliminar una ruta en un escalar"
 
-#: utils/adt/jsonfuncs.c:4913
+#: utils/adt/jsonfuncs.c:4915
 #, c-format
 msgid "path element at position %d is null"
 msgstr "el elemento en la posición %d de la ruta es null"
 
-#: utils/adt/jsonfuncs.c:4932 utils/adt/jsonfuncs.c:4963
-#: utils/adt/jsonfuncs.c:5030
+#: utils/adt/jsonfuncs.c:4934 utils/adt/jsonfuncs.c:4965
+#: utils/adt/jsonfuncs.c:5032
 #, c-format
 msgid "cannot replace existing key"
 msgstr "no se puede reemplazar una llave existente"
 
-#: utils/adt/jsonfuncs.c:4933 utils/adt/jsonfuncs.c:4964
+#: utils/adt/jsonfuncs.c:4935 utils/adt/jsonfuncs.c:4966
 #, c-format
 msgid "The path assumes key is a composite object, but it is a scalar value."
-msgstr ""
+msgstr "La ruta asume que la llave es un objeto compuesto, pero es un valor escalar."
 
-#: utils/adt/jsonfuncs.c:5031
+#: utils/adt/jsonfuncs.c:5033
 #, c-format
 msgid "Try using the function jsonb_set to replace key value."
 msgstr "Intente usar la función jsonb_set para reemplazar el valor de la llave."
 
-#: utils/adt/jsonfuncs.c:5135
+#: utils/adt/jsonfuncs.c:5137
 #, c-format
 msgid "path element at position %d is not an integer: \"%s\""
 msgstr "el elemento de ruta en la posición %d no es un entero: «%s»"
 
-#: utils/adt/jsonfuncs.c:5152
-#, fuzzy, c-format
-#| msgid "path element at position %d is not an integer: \"%s\""
+#: utils/adt/jsonfuncs.c:5154
+#, c-format
 msgid "path element at position %d is out of range: %d"
-msgstr "el elemento de ruta en la posición %d no es un entero: «%s»"
+msgstr "el elemento de ruta en la posición %d está fuera de rango: %d"
 
-#: utils/adt/jsonfuncs.c:5304
+#: utils/adt/jsonfuncs.c:5306
 #, c-format
 msgid "wrong flag type, only arrays and scalars are allowed"
 msgstr "indicador de tipo errónea, sólo se permiten arrays y tipos escalares"
 
-#: utils/adt/jsonfuncs.c:5311
+#: utils/adt/jsonfuncs.c:5313
 #, c-format
 msgid "flag array element is not a string"
 msgstr "elemento del array de opciones no es un string"
 
-#: utils/adt/jsonfuncs.c:5312 utils/adt/jsonfuncs.c:5334
+#: utils/adt/jsonfuncs.c:5314 utils/adt/jsonfuncs.c:5336
 #, c-format
 msgid "Possible values are: \"string\", \"numeric\", \"boolean\", \"key\", and \"all\"."
 msgstr "Los valores posibles son: «string», «numeric», «boolean», «key» y «all»."
 
-#: utils/adt/jsonfuncs.c:5332
+#: utils/adt/jsonfuncs.c:5334
 #, c-format
 msgid "wrong flag in flag array: \"%s\""
 msgstr "indicador erróneo en array de indicadores: «%s»"
@@ -24052,10 +23748,9 @@ msgid "jsonpath item method .%s() can only be applied to an array"
 msgstr "el método de ítem jsonpath .%s() sólo puede aplicase a un array"
 
 #: utils/adt/jsonpath_exec.c:1055
-#, fuzzy, c-format
-#| msgid "string argument of jsonpath item method .%s() is not a valid representation of a double precision number"
+#, c-format
 msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision"
-msgstr "el argumento cadena del método de item jsonpath .%s() no es una representación válida de un número de precisión doble"
+msgstr "el argumento numérico del método de item jsonpath .%s() está fuera de rango para el tipo de precisión doble"
 
 #: utils/adt/jsonpath_exec.c:1076
 #, c-format
@@ -24123,14 +23818,12 @@ msgid "jsonpath array subscript is out of integer range"
 msgstr "subíndice de array jsonpath fuera del rango entero"
 
 #: utils/adt/jsonpath_exec.c:2591
-#, fuzzy, c-format
-#| msgid "cannot convert value from %s to %s without timezone usage"
+#, c-format
 msgid "cannot convert value from %s to %s without time zone usage"
 msgstr "no se puede convertir el valor de %s a %s sin uso de huso horario"
 
 #: utils/adt/jsonpath_exec.c:2593
-#, fuzzy, c-format
-#| msgid "Use *_tz() function for timezone support."
+#, c-format
 msgid "Use *_tz() function for time zone support."
 msgstr "Utilice una función *_tz() para el soporte de huso horario."
 
@@ -24195,10 +23888,9 @@ msgid "Only addresses that have FF and FE as values in the 4th and 5th bytes fro
 msgstr "Sólo las direcciones que tienen FF y FF como valores en el cuarto y quinto bytes desde la izquierda, por ejemplo xx:xx:xx:ff:fe:xx:xx:xx se pueden convertir de macaddr8 a macaddr."
 
 #: utils/adt/mcxtfuncs.c:184
-#, fuzzy, c-format
-#| msgid "must be superuser to alter a type"
+#, c-format
 msgid "must be a superuser to log memory contexts"
-msgstr "debe ser superusuario para alterar un tipo"
+msgstr "debe ser superusuario para registrar contextos de memoria"
 
 #: utils/adt/misc.c:243
 #, c-format
@@ -24228,11 +23920,11 @@ msgstr "reservado"
 
 #: utils/adt/misc.c:478
 msgid "can be bare label"
-msgstr ""
+msgstr "puede ser una etiqueta sola"
 
 #: utils/adt/misc.c:483
 msgid "requires AS"
-msgstr ""
+msgstr "requiere AS"
 
 #: utils/adt/misc.c:730 utils/adt/misc.c:744 utils/adt/misc.c:783
 #: utils/adt/misc.c:789 utils/adt/misc.c:795 utils/adt/misc.c:818
@@ -24270,65 +23962,47 @@ msgstr "el formato de log «%s» no está soportado"
 msgid "The supported log formats are \"stderr\" and \"csvlog\"."
 msgstr "Los formatos de registro admitidos son \"stderr\" y \"csvlog\"."
 
-#: utils/adt/multirangetypes.c:147 utils/adt/multirangetypes.c:160
-#: utils/adt/multirangetypes.c:189 utils/adt/multirangetypes.c:259
-#: utils/adt/multirangetypes.c:283
-#, fuzzy, c-format
-#| msgid "malformed range literal: \"%s\""
+#: utils/adt/multirangetypes.c:148 utils/adt/multirangetypes.c:161
+#: utils/adt/multirangetypes.c:190 utils/adt/multirangetypes.c:260
+#: utils/adt/multirangetypes.c:284
+#, c-format
 msgid "malformed multirange literal: \"%s\""
-msgstr "literal de rango mal formado: «%s»"
+msgstr "literal de multirango mal formado: «%s»"
 
-#: utils/adt/multirangetypes.c:149
-#, fuzzy, c-format
-#| msgid "Missing left parenthesis."
+#: utils/adt/multirangetypes.c:150
+#, c-format
 msgid "Missing left brace."
-msgstr "Falta paréntesis izquierdo."
+msgstr "Falta llave izquierda."
 
-#: utils/adt/multirangetypes.c:191
-#, fuzzy, c-format
-#| msgid "unexpected array start"
+#: utils/adt/multirangetypes.c:192
+#, c-format
 msgid "Expected range start."
-msgstr "inicio de array inesperado"
+msgstr "Se esperaba inicio de rango."
 
-#: utils/adt/multirangetypes.c:261
-#, fuzzy, c-format
-#| msgid "unexpected end of line"
+#: utils/adt/multirangetypes.c:262
+#, c-format
 msgid "Expected comma or end of multirange."
-msgstr "fin de línea inesperado"
-
-#: utils/adt/multirangetypes.c:285
-#, fuzzy, c-format
-#| msgid "Junk after closing right brace."
-msgid "Junk after right brace."
-msgstr "Basura después de la llave derecha de cierre."
-
-#: utils/adt/multirangetypes.c:971
-#, fuzzy, c-format
-#| msgid "thresholds must be one-dimensional array"
-msgid "multiranges cannot be constructed from multi-dimensional arrays"
-msgstr "los umbrales deben ser un array unidimensional"
+msgstr "Se esperaba una coma o el final del multirango."
 
-#: utils/adt/multirangetypes.c:977 utils/adt/multirangetypes.c:1042
-#, fuzzy, c-format
-#| msgid "type %s is not a composite type"
-msgid "type %u does not match constructor type"
-msgstr "el tipo %s no es un tipo compuesto"
+#: utils/adt/multirangetypes.c:975
+#, c-format
+msgid "multiranges cannot be constructed from multidimensional arrays"
+msgstr "no se puede construir multirangos a partir de arrays multidimensionales"
 
-#: utils/adt/multirangetypes.c:999
+#: utils/adt/multirangetypes.c:1001
 #, c-format
-msgid "multirange values cannot contain NULL members"
-msgstr ""
+msgid "multirange values cannot contain null members"
+msgstr "valores de multirango no pueden contener miembros nulos"
 
 #: utils/adt/multirangetypes.c:1349
-#, fuzzy, c-format
-#| msgid "%s must be called inside a transaction"
+#, c-format
 msgid "range_agg must be called with a range"
-msgstr "%s no debe ser ejecutado dentro de una transacción"
+msgstr "range_agg debe ser ejecutado con un rango"
 
 #: utils/adt/multirangetypes.c:1420
 #, c-format
 msgid "range_intersect_agg must be called with a multirange"
-msgstr ""
+msgstr "range_intersect_agg debe ser ejecutado con un multirango"
 
 #: utils/adt/network.c:111
 #, c-format
@@ -24404,148 +24078,109 @@ msgstr "el resultado está fuera de rango"
 msgid "cannot subtract inet values of different sizes"
 msgstr "no se puede sustraer valores inet de distintos tamaños"
 
-#: utils/adt/numeric.c:975
+#: utils/adt/numeric.c:967
 #, c-format
 msgid "invalid sign in external \"numeric\" value"
 msgstr "el signo no es válido en el valor «numeric» externo"
 
-#: utils/adt/numeric.c:981
+#: utils/adt/numeric.c:973
 #, c-format
 msgid "invalid scale in external \"numeric\" value"
 msgstr "la escala no es válida en el valor «numeric» externo"
 
-#: utils/adt/numeric.c:990
+#: utils/adt/numeric.c:982
 #, c-format
 msgid "invalid digit in external \"numeric\" value"
 msgstr "hay un dígito no válido en el valor «numeric» externo"
 
-#: utils/adt/numeric.c:1203 utils/adt/numeric.c:1217
+#: utils/adt/numeric.c:1195 utils/adt/numeric.c:1209
 #, c-format
 msgid "NUMERIC precision %d must be between 1 and %d"
 msgstr "la precisión %d de NUMERIC debe estar entre 1 y %d"
 
-#: utils/adt/numeric.c:1208
+#: utils/adt/numeric.c:1200
 #, c-format
 msgid "NUMERIC scale %d must be between 0 and precision %d"
 msgstr "la escala de NUMERIC, %d, debe estar entre 0 y la precisión %d"
 
-#: utils/adt/numeric.c:1226
+#: utils/adt/numeric.c:1218
 #, c-format
 msgid "invalid NUMERIC type modifier"
 msgstr "modificador de tipo NUMERIC no es válido"
 
-#: utils/adt/numeric.c:1584
+#: utils/adt/numeric.c:1576
 #, c-format
 msgid "start value cannot be NaN"
 msgstr "el valor de inicio no puede ser NaN"
 
-#: utils/adt/numeric.c:1588
-#, fuzzy, c-format
-#| msgid "start value cannot be NaN"
+#: utils/adt/numeric.c:1580
+#, c-format
 msgid "start value cannot be infinity"
-msgstr "el valor de inicio no puede ser NaN"
+msgstr "el valor de inicio no puede ser infinito"
 
-#: utils/adt/numeric.c:1595
+#: utils/adt/numeric.c:1587
 #, c-format
 msgid "stop value cannot be NaN"
 msgstr "el valor de término no puede ser NaN"
 
-#: utils/adt/numeric.c:1599
-#, fuzzy, c-format
-#| msgid "stop value cannot be NaN"
+#: utils/adt/numeric.c:1591
+#, c-format
 msgid "stop value cannot be infinity"
-msgstr "el valor de término no puede ser NaN"
+msgstr "el valor de término no puede ser infinito"
 
-#: utils/adt/numeric.c:1612
+#: utils/adt/numeric.c:1604
 #, c-format
 msgid "step size cannot be NaN"
 msgstr "el tamaño de paso no puede ser NaN"
 
-#: utils/adt/numeric.c:1616
-#, fuzzy, c-format
-#| msgid "step size cannot be NaN"
+#: utils/adt/numeric.c:1608
+#, c-format
 msgid "step size cannot be infinity"
-msgstr "el tamaño de paso no puede ser NaN"
+msgstr "el tamaño de paso no puede ser infinito"
 
-#: utils/adt/numeric.c:3490
-#, fuzzy, c-format
-#| msgid "zero raised to a negative power is undefined"
+#: utils/adt/numeric.c:3489
+#, c-format
 msgid "factorial of a negative number is undefined"
-msgstr "cero elevado a una potencia negativa es indefinido"
+msgstr "el factorial de un número negativo es indefinido"
 
-#: utils/adt/numeric.c:3500 utils/adt/numeric.c:6924 utils/adt/numeric.c:7408
-#: utils/adt/numeric.c:9783 utils/adt/numeric.c:10221 utils/adt/numeric.c:10335
-#: utils/adt/numeric.c:10408
+#: utils/adt/numeric.c:3499 utils/adt/numeric.c:6921 utils/adt/numeric.c:7394
+#: utils/adt/numeric.c:9771 utils/adt/numeric.c:10250 utils/adt/numeric.c:10376
+#: utils/adt/numeric.c:10449
 #, c-format
 msgid "value overflows numeric format"
 msgstr "el valor excede el formato numeric"
 
-#: utils/adt/numeric.c:4185
+#: utils/adt/numeric.c:4181 utils/adt/numeric.c:4261 utils/adt/numeric.c:4302
+#: utils/adt/numeric.c:4496
 #, c-format
-msgid "cannot convert NaN to integer"
-msgstr "no se puede convertir NaN a entero"
-
-#: utils/adt/numeric.c:4189
-#, fuzzy, c-format
-#| msgid "cannot convert infinity to numeric"
-msgid "cannot convert infinity to integer"
-msgstr "no se puede convertir infinito a numeric"
+msgid "cannot convert NaN to %s"
+msgstr "no se puede convertir NaN a %s"
 
-#: utils/adt/numeric.c:4263
+#: utils/adt/numeric.c:4185 utils/adt/numeric.c:4265 utils/adt/numeric.c:4306
+#: utils/adt/numeric.c:4500
 #, c-format
-msgid "cannot convert NaN to bigint"
-msgstr "no se puede convertir NaN a bigint"
+msgid "cannot convert infinity to %s"
+msgstr "no se puede convertir infinito a %s"
 
-#: utils/adt/numeric.c:4267
-#, fuzzy, c-format
-#| msgid "cannot convert infinity to numeric"
-msgid "cannot convert infinity to bigint"
-msgstr "no se puede convertir infinito a numeric"
-
-#: utils/adt/numeric.c:4304
+#: utils/adt/numeric.c:4509
 #, c-format
-msgid "cannot convert NaN to smallint"
-msgstr "no se puede convertir NaN a smallint"
-
-#: utils/adt/numeric.c:4308
-#, fuzzy, c-format
-#| msgid "cannot convert infinity to numeric"
-msgid "cannot convert infinity to smallint"
-msgstr "no se puede convertir infinito a numeric"
-
-#: utils/adt/numeric.c:4499
-#, fuzzy, c-format
-#| msgid "cannot convert NaN to bigint"
-msgid "cannot convert NaN to pg_lsn"
-msgstr "no se puede convertir NaN a bigint"
-
-#: utils/adt/numeric.c:4503
-#, fuzzy, c-format
-#| msgid "cannot convert infinity to numeric"
-msgid "cannot convert infinity to pg_lsn"
-msgstr "no se puede convertir infinito a numeric"
-
-#: utils/adt/numeric.c:4512
-#, fuzzy, c-format
-#| msgid "bigint out of range"
 msgid "pg_lsn out of range"
-msgstr "bigint fuera de rango"
+msgstr "pg_lsn fuera de rango"
 
-#: utils/adt/numeric.c:7492 utils/adt/numeric.c:7539
+#: utils/adt/numeric.c:7478 utils/adt/numeric.c:7525
 #, c-format
 msgid "numeric field overflow"
 msgstr "desbordamiento de campo numeric"
 
-#: utils/adt/numeric.c:7493
+#: utils/adt/numeric.c:7479
 #, c-format
 msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d."
 msgstr "Un campo con precisión %d, escala %d debe redondear a un valor absoluto menor que %s%d."
 
-#: utils/adt/numeric.c:7540
-#, fuzzy, c-format
-#| msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d."
+#: utils/adt/numeric.c:7526
+#, c-format
 msgid "A field with precision %d, scale %d cannot hold an infinite value."
-msgstr "Un campo con precisión %d, escala %d debe redondear a un valor absoluto menor que %s%d."
+msgstr "Un campo con precisión %d, escala %d no puede contener un valor infinito."
 
 #: utils/adt/numutils.c:154
 #, c-format
@@ -24645,10 +24280,9 @@ msgid "Rebuild all objects affected by this collation and run ALTER COLLATION %s
 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."
 
 #: utils/adt/pg_locale.c:1692
-#, fuzzy, c-format
-#| msgid "could not create locale \"%s\": %m"
+#, c-format
 msgid "could not load locale \"%s\""
-msgstr "no se pudo crear la configuración regional «%s»: %m"
+msgstr "no se pudo cargar la configuración regional «%s»"
 
 #: utils/adt/pg_locale.c:1717
 #, c-format
@@ -24682,16 +24316,14 @@ msgid "The server's LC_CTYPE locale is probably incompatible with the database e
 msgstr "La configuración regional LC_CTYPE del servidor es probablemente incompatible con la codificación de la base de datos."
 
 #: utils/adt/pg_lsn.c:263
-#, fuzzy, c-format
-#| msgid "cannot convert NaN to bigint"
+#, c-format
 msgid "cannot add NaN to pg_lsn"
-msgstr "no se puede convertir NaN a bigint"
+msgstr "no se puede sumar NaN a bigint"
 
 #: utils/adt/pg_lsn.c:297
-#, fuzzy, c-format
-#| msgid "cannot subtract infinite dates"
+#, c-format
 msgid "cannot subtract NaN from pg_lsn"
-msgstr "no se pueden restar fechas infinitas"
+msgstr "no se puede restar NaN de pg_lsn"
 
 #: utils/adt/pg_upgrade_support.c:29
 #, c-format
@@ -24736,7 +24368,7 @@ msgstr "el resultado de la unión de rangos no sería contiguo"
 #: utils/adt/rangetypes.c:1214
 #, c-format
 msgid "range_intersect_agg must be called with a range"
-msgstr ""
+msgstr "range_intersect_agg debe ser ejecutado con un rango"
 
 #: utils/adt/rangetypes.c:1689
 #, c-format
@@ -24788,16 +24420,15 @@ msgstr "Demasiadas comas."
 msgid "Junk after right parenthesis or bracket."
 msgstr "Basura después del paréntesis o corchete derecho."
 
-#: utils/adt/regexp.c:289 utils/adt/regexp.c:1543 utils/adt/varlena.c:4560
+#: utils/adt/regexp.c:289 utils/adt/regexp.c:1543 utils/adt/varlena.c:4553
 #, c-format
 msgid "regular expression failed: %s"
 msgstr "la expresión regular falló: %s"
 
 #: utils/adt/regexp.c:426
-#, fuzzy, c-format
-#| msgid "invalid regular expression option: \"%c\""
+#, c-format
 msgid "invalid regular expression option: \"%.*s\""
-msgstr "opción de expresión regular no válida: «%c»"
+msgstr "opción de expresión regular no válida: «%.*s»"
 
 #: utils/adt/regexp.c:836
 #, c-format
@@ -24831,7 +24462,7 @@ msgid "more than one operator named %s"
 msgstr "existe más de un operador llamado %s"
 
 #: utils/adt/regproc.c:715 utils/adt/regproc.c:756 utils/adt/regproc.c:2055
-#: utils/adt/ruleutils.c:9650 utils/adt/ruleutils.c:9819
+#: utils/adt/ruleutils.c:9706 utils/adt/ruleutils.c:9875
 #, c-format
 msgid "too many arguments"
 msgstr "demasiados argumentos"
@@ -24843,7 +24474,7 @@ msgstr "Provea dos tipos de argumento para un operador."
 
 #: utils/adt/regproc.c:1639 utils/adt/regproc.c:1663 utils/adt/regproc.c:1764
 #: utils/adt/regproc.c:1788 utils/adt/regproc.c:1890 utils/adt/regproc.c:1895
-#: utils/adt/varlena.c:3709 utils/adt/varlena.c:3714
+#: utils/adt/varlena.c:3702 utils/adt/varlena.c:3707
 #, c-format
 msgid "invalid name syntax"
 msgstr "la sintaxis de nombre no es válida"
@@ -24983,7 +24614,7 @@ msgstr "número de columnas erróneo: %d, se esperaban %d"
 #: utils/adt/rowtypes.c:574
 #, c-format
 msgid "binary data has type %u (%s) instead of expected %u (%s) in record column %d"
-msgstr ""
+msgstr "los datos binarios tienen tipo %u (%s) en lugar del esperado %u (%s) en columna de registro %d"
 
 #: utils/adt/rowtypes.c:641
 #, c-format
@@ -25002,7 +24633,7 @@ msgstr "no se pueden comparar los tipos de columnas disímiles %s y %s en la col
 msgid "cannot compare record types with different numbers of columns"
 msgstr "no se pueden comparar registros con cantidad distinta de columnas"
 
-#: utils/adt/ruleutils.c:5077
+#: utils/adt/ruleutils.c:5118
 #, c-format
 msgid "rule \"%s\" has unsupported event type %d"
 msgstr "la regla «%s» tiene el tipo de evento no soportado %d"
@@ -25017,7 +24648,7 @@ msgstr "la precisión de TIMESTAMP(%d)%s no debe ser negativa"
 msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d"
 msgstr "la precisión de TIMESTAMP(%d)%s fue reducida al máximo permitido, %d"
 
-#: utils/adt/timestamp.c:178 utils/adt/timestamp.c:436 utils/misc/guc.c:12411
+#: utils/adt/timestamp.c:178 utils/adt/timestamp.c:436 utils/misc/guc.c:12412
 #, c-format
 msgid "timestamp out of range: \"%s\""
 msgstr "timestamp fuera de rango: «%s»"
@@ -25078,52 +24709,56 @@ msgstr "la precisión de interval(%d) debe estar entre %d y %d"
 msgid "cannot subtract infinite timestamps"
 msgstr "no se pueden restar timestamps infinitos"
 
-#: utils/adt/timestamp.c:3837 utils/adt/timestamp.c:4015
-#, fuzzy, c-format
-#| msgid "bigint out of range"
+#: utils/adt/timestamp.c:3837 utils/adt/timestamp.c:4020
+#, c-format
 msgid "origin out of range"
-msgstr "bigint fuera de rango"
+msgstr "origen fuera de rango"
 
-#: utils/adt/timestamp.c:3842 utils/adt/timestamp.c:4020
+#: utils/adt/timestamp.c:3842 utils/adt/timestamp.c:4025
 #, c-format
 msgid "timestamps cannot be binned into intervals containing months or years"
-msgstr ""
+msgstr "no se puede aproximar (bin) timestamps hacia intervalos que contengan meses o años"
+
+#: utils/adt/timestamp.c:3849 utils/adt/timestamp.c:4032
+#, c-format
+msgid "stride must be greater than zero"
+msgstr "el intervalo de paso (stride) debe ser mayor que cero"
 
-#: utils/adt/timestamp.c:3973 utils/adt/timestamp.c:4610
-#: utils/adt/timestamp.c:4810 utils/adt/timestamp.c:4857
+#: utils/adt/timestamp.c:3978 utils/adt/timestamp.c:4620
+#: utils/adt/timestamp.c:4820 utils/adt/timestamp.c:4867
 #, c-format
 msgid "timestamp units \"%s\" not supported"
 msgstr "las unidades de timestamp «%s» no están soportadas"
 
-#: utils/adt/timestamp.c:3987 utils/adt/timestamp.c:4564
-#: utils/adt/timestamp.c:4867
+#: utils/adt/timestamp.c:3992 utils/adt/timestamp.c:4574
+#: utils/adt/timestamp.c:4877
 #, c-format
 msgid "timestamp units \"%s\" not recognized"
 msgstr "las unidades de timestamp «%s» no son reconocidas"
 
-#: utils/adt/timestamp.c:4161 utils/adt/timestamp.c:4605
-#: utils/adt/timestamp.c:5081 utils/adt/timestamp.c:5129
+#: utils/adt/timestamp.c:4171 utils/adt/timestamp.c:4615
+#: utils/adt/timestamp.c:5091 utils/adt/timestamp.c:5139
 #, c-format
 msgid "timestamp with time zone units \"%s\" not supported"
 msgstr "las unidades de timestamp with time zone «%s» no están soportadas"
 
-#: utils/adt/timestamp.c:4178 utils/adt/timestamp.c:4559
-#: utils/adt/timestamp.c:5138
+#: utils/adt/timestamp.c:4188 utils/adt/timestamp.c:4569
+#: utils/adt/timestamp.c:5148
 #, c-format
 msgid "timestamp with time zone units \"%s\" not recognized"
 msgstr "las unidades de timestamp with time zone «%s» no son reconocidas"
 
-#: utils/adt/timestamp.c:4336
+#: utils/adt/timestamp.c:4346
 #, c-format
 msgid "interval units \"%s\" not supported because months usually have fractional weeks"
 msgstr "las unidades de intervalo «%s» no están soportadas porque los meses normalmente tienen semanas fraccionales"
 
-#: utils/adt/timestamp.c:4342 utils/adt/timestamp.c:5261
+#: utils/adt/timestamp.c:4352 utils/adt/timestamp.c:5271
 #, c-format
 msgid "interval units \"%s\" not supported"
 msgstr "las unidades de interval «%s» no están soportadas"
 
-#: utils/adt/timestamp.c:4358 utils/adt/timestamp.c:5322
+#: utils/adt/timestamp.c:4368 utils/adt/timestamp.c:5332
 #, c-format
 msgid "interval units \"%s\" not recognized"
 msgstr "las unidades de interval «%s» no son reconocidas"
@@ -25153,10 +24788,10 @@ msgstr "suppress_redundant_updates_trigger: debe ser invocado «FOR EACH ROW»"
 msgid "gtsvector_in not implemented"
 msgstr "gtsvector_in no está implementado"
 
-#: utils/adt/tsquery.c:199
+#: utils/adt/tsquery.c:199 utils/adt/tsquery_op.c:124
 #, c-format
-msgid "distance in phrase operator should not be greater than %d"
-msgstr "distancia en operador de frases no debe ser mayor que %d"
+msgid "distance in phrase operator must be an integer value between zero and %d inclusive"
+msgstr "distancia en operador de frases debe ser un valor entero entre zero y %d inclusive"
 
 #: utils/adt/tsquery.c:306 utils/adt/tsquery.c:691
 #: utils/adt/tsvector_parser.c:133
@@ -25199,11 +24834,6 @@ msgstr "el tsquery es demasiado grande"
 msgid "text-search query contains only stop words or doesn't contain lexemes, ignored"
 msgstr "la consulta de búsqueda en texto contiene sólo stopwords o no contiene lexemas; ignorada"
 
-#: utils/adt/tsquery_op.c:124
-#, c-format
-msgid "distance in phrase operator should be non-negative and less than %d"
-msgstr "la distancia en el operador de frases debe ser no negativa y menor que %d"
-
 #: utils/adt/tsquery_rewrite.c:321
 #, c-format
 msgid "ts_rewrite query must return two tsquery columns"
@@ -25336,16 +24966,14 @@ msgid "bit string length %d does not match type bit(%d)"
 msgstr "el largo de la cadena de bits %d no coincide con el tipo bit(%d)"
 
 #: utils/adt/varbit.c:234 utils/adt/varbit.c:535
-#, fuzzy, c-format
-#| msgid "\"%c\" is not a valid binary digit"
+#, c-format
 msgid "\"%.*s\" is not a valid binary digit"
-msgstr "«%c» no es un dígito binario válido"
+msgstr "«%.*s» no es un dígito binario válido"
 
 #: utils/adt/varbit.c:259 utils/adt/varbit.c:560
-#, fuzzy, c-format
-#| msgid "\"%c\" is not a valid hexadecimal digit"
+#, c-format
 msgid "\"%.*s\" is not a valid hexadecimal digit"
-msgstr "«%c» no es un dígito hexadecimal válido"
+msgstr "«%.*s» no es un dígito hexadecimal válido"
 
 #: utils/adt/varbit.c:347 utils/adt/varbit.c:652
 #, c-format
@@ -25357,9 +24985,9 @@ msgstr "el largo no es válido en cadena de bits externa"
 msgid "bit string too long for type bit varying(%d)"
 msgstr "la cadena de bits es demasiado larga para el tipo bit varying(%d)"
 
-#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:897
-#: utils/adt/varlena.c:960 utils/adt/varlena.c:1117 utils/adt/varlena.c:3351
-#: utils/adt/varlena.c:3429
+#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:890
+#: utils/adt/varlena.c:953 utils/adt/varlena.c:1110 utils/adt/varlena.c:3344
+#: utils/adt/varlena.c:3422
 #, c-format
 msgid "negative substring length not allowed"
 msgstr "no se permite un largo negativo de subcadena"
@@ -25384,7 +25012,7 @@ msgstr "no se puede hacer XOR entre cadenas de bits de distintos tamaños"
 msgid "bit index %d out of valid range (0..%d)"
 msgstr "el índice de bit %d está fuera del rango válido (0..%d)"
 
-#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3633
+#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3626
 #, c-format
 msgid "new bit must be 0 or 1"
 msgstr "el nuevo bit debe ser 0 o 1"
@@ -25399,114 +25027,110 @@ msgstr "el valor es demasiado largo para el tipo character(%d)"
 msgid "value too long for type character varying(%d)"
 msgstr "el valor es demasiado largo para el tipo character varying(%d)"
 
-#: utils/adt/varchar.c:732 utils/adt/varlena.c:1523
+#: utils/adt/varchar.c:732 utils/adt/varlena.c:1516
 #, c-format
 msgid "could not determine which collation to use for string comparison"
 msgstr "no se pudo determinar qué ordenamiento usar para la comparación de cadenas"
 
-#: utils/adt/varlena.c:1216 utils/adt/varlena.c:1963
+#: utils/adt/varlena.c:1209 utils/adt/varlena.c:1956
 #, c-format
 msgid "nondeterministic collations are not supported for substring searches"
 msgstr "los ordenamientos no determinísticos no están soportados para búsquedas de sub-cadenas"
 
-#: utils/adt/varlena.c:1622 utils/adt/varlena.c:1635
+#: utils/adt/varlena.c:1615 utils/adt/varlena.c:1628
 #, c-format
 msgid "could not convert string to UTF-16: error code %lu"
 msgstr "no se pudo convertir la cadena a UTF-16: código de error %lu"
 
-#: utils/adt/varlena.c:1650
+#: utils/adt/varlena.c:1643
 #, c-format
 msgid "could not compare Unicode strings: %m"
 msgstr "no se pudieron comparar las cadenas Unicode: %m"
 
-#: utils/adt/varlena.c:1701 utils/adt/varlena.c:2415
+#: utils/adt/varlena.c:1694 utils/adt/varlena.c:2408
 #, c-format
 msgid "collation failed: %s"
 msgstr "el ordenamiento falló: %s"
 
-#: utils/adt/varlena.c:2623
+#: utils/adt/varlena.c:2616
 #, c-format
 msgid "sort key generation failed: %s"
 msgstr "la generación de la llave de ordenamiento falló: %s"
 
-#: utils/adt/varlena.c:3517 utils/adt/varlena.c:3584
+#: utils/adt/varlena.c:3510 utils/adt/varlena.c:3577
 #, c-format
 msgid "index %d out of valid range, 0..%d"
 msgstr "el índice %d está fuera de rango [0..%d]"
 
-#: utils/adt/varlena.c:3548 utils/adt/varlena.c:3620
+#: utils/adt/varlena.c:3541 utils/adt/varlena.c:3613
 #, c-format
 msgid "index %lld out of valid range, 0..%lld"
 msgstr "el índice %lld está fuera de rango, 0..%lld"
 
-#: utils/adt/varlena.c:4656
-#, fuzzy, c-format
-#| msgid "field position must be greater than zero"
+#: utils/adt/varlena.c:4649
+#, c-format
 msgid "field position must not be zero"
-msgstr "la posición del campo debe ser mayor que cero"
+msgstr "la posición del campo no debe ser cero"
 
-#: utils/adt/varlena.c:5697
+#: utils/adt/varlena.c:5690
 #, c-format
 msgid "unterminated format() type specifier"
 msgstr "especificador de tipo inconcluso en format()"
 
-#: utils/adt/varlena.c:5698 utils/adt/varlena.c:5832 utils/adt/varlena.c:5953
+#: utils/adt/varlena.c:5691 utils/adt/varlena.c:5825 utils/adt/varlena.c:5946
 #, c-format
 msgid "For a single \"%%\" use \"%%%%\"."
 msgstr "Para un «%%» solo, use «%%%%»."
 
-#: utils/adt/varlena.c:5830 utils/adt/varlena.c:5951
-#, fuzzy, c-format
-#| msgid "unrecognized format() type specifier \"%c\""
+#: utils/adt/varlena.c:5823 utils/adt/varlena.c:5944
+#, c-format
 msgid "unrecognized format() type specifier \"%.*s\""
-msgstr "especificador de tipo no reconocido «%c» en format()"
+msgstr "especificador de tipo no reconocido «%.*s» en format()"
 
-#: utils/adt/varlena.c:5843 utils/adt/varlena.c:5900
+#: utils/adt/varlena.c:5836 utils/adt/varlena.c:5893
 #, c-format
 msgid "too few arguments for format()"
 msgstr "muy pocos argumentos para format()"
 
-#: utils/adt/varlena.c:5996 utils/adt/varlena.c:6178
+#: utils/adt/varlena.c:5989 utils/adt/varlena.c:6171
 #, c-format
 msgid "number is out of range"
 msgstr "el número está fuera de rango"
 
-#: utils/adt/varlena.c:6059 utils/adt/varlena.c:6087
+#: utils/adt/varlena.c:6052 utils/adt/varlena.c:6080
 #, c-format
 msgid "format specifies argument 0, but arguments are numbered from 1"
 msgstr "la conversión especifica el argumento 0, pero los argumentos se numeran desde 1"
 
-#: utils/adt/varlena.c:6080
+#: utils/adt/varlena.c:6073
 #, c-format
 msgid "width argument position must be ended by \"$\""
 msgstr "la posición del argumento de anchura debe terminar con «$»"
 
-#: utils/adt/varlena.c:6125
+#: utils/adt/varlena.c:6118
 #, c-format
 msgid "null values cannot be formatted as an SQL identifier"
 msgstr "los valores nulos no pueden ser formateados como un identificador SQL"
 
-#: utils/adt/varlena.c:6251
+#: utils/adt/varlena.c:6244
 #, c-format
 msgid "Unicode normalization can only be performed if server encoding is UTF8"
 msgstr "la normalización Unicode sólo puede ser hecha si la codificación de servidor es UTF8"
 
-#: utils/adt/varlena.c:6264
+#: utils/adt/varlena.c:6257
 #, c-format
 msgid "invalid normalization form: %s"
 msgstr "forma de normalización no válida: %s"
 
-#: utils/adt/varlena.c:6467 utils/adt/varlena.c:6502 utils/adt/varlena.c:6537
-#, fuzzy, c-format
-#| msgid "invalid Unicode escape"
+#: utils/adt/varlena.c:6460 utils/adt/varlena.c:6495 utils/adt/varlena.c:6530
+#, c-format
 msgid "invalid Unicode code point: %04X"
-msgstr "valor de escape Unicode no válido"
+msgstr "punto de código Unicode no válido: %04X"
 
-#: utils/adt/varlena.c:6567
-#, fuzzy, c-format
-#| msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX."
+#: utils/adt/varlena.c:6560
+#, c-format
 msgid "Unicode escapes must be \\XXXX, \\+XXXXXX, \\uXXXX, or \\UXXXXXXXX."
-msgstr "Los escapes Unicode deben ser \\uXXXX o \\UXXXXXXXX."
+msgstr "Los escapes Unicode deben ser \\XXXX, \\+XXXXXX, \\uXXXX o \\UXXXXXXXX."
 
 #: utils/adt/windowfuncs.c:243
 #, c-format
@@ -25713,17 +25337,17 @@ msgstr "falta la función de soporte %3$d para el tipo %4$s de la clase de opera
 msgid "cached plan must not change result type"
 msgstr "el plan almacenado no debe cambiar el tipo de resultado"
 
-#: utils/cache/relcache.c:6213
+#: utils/cache/relcache.c:6324
 #, c-format
 msgid "could not create relation-cache initialization file \"%s\": %m"
 msgstr "no se pudo crear el archivo de cache de catálogos de sistema «%s»: %m"
 
-#: utils/cache/relcache.c:6215
+#: utils/cache/relcache.c:6326
 #, c-format
 msgid "Continuing anyway, but there's something wrong."
 msgstr "Prosiguiendo de todas maneras, pero hay algo mal."
 
-#: utils/cache/relcache.c:6537
+#: utils/cache/relcache.c:6648
 #, c-format
 msgid "could not remove cache file \"%s\": %m"
 msgstr "no se pudo eliminar el archivo de cache «%s»: %m"
@@ -25733,32 +25357,30 @@ msgstr "no se pudo eliminar el archivo de cache «%s»: %m"
 msgid "cannot PREPARE a transaction that modified relation mapping"
 msgstr "no se puede hacer PREPARE de una transacción que ha modificado el mapeo de relaciones"
 
-#: utils/cache/relmapper.c:761
+#: utils/cache/relmapper.c:767
 #, c-format
 msgid "relation mapping file \"%s\" contains invalid data"
 msgstr "el archivo de mapeo de relaciones «%s» contiene datos no válidos"
 
-#: utils/cache/relmapper.c:771
+#: utils/cache/relmapper.c:777
 #, c-format
 msgid "relation mapping file \"%s\" contains incorrect checksum"
 msgstr "el archivo de mapeo de relaciones «%s» tiene una suma de verificación incorrecta"
 
-#: utils/cache/typcache.c:1808 utils/fmgr/funcapi.c:463
+#: utils/cache/typcache.c:1811 utils/fmgr/funcapi.c:463
 #, c-format
 msgid "record type has not been registered"
 msgstr "el tipo record no ha sido registrado"
 
 #: utils/error/assert.c:39
-#, fuzzy, c-format
-#| msgid "TRAP: ExceptionalCondition: bad arguments\n"
+#, c-format
 msgid "TRAP: ExceptionalCondition: bad arguments in PID %d\n"
-msgstr "TRAP: ExceptionalConditions: argumentos erróneos\n"
+msgstr "TRAP: ExceptionalCondition: argumentos erróneos en PID %d\n"
 
 #: utils/error/assert.c:42
-#, fuzzy, c-format
-#| msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d)\n"
+#, c-format
 msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d, PID: %d)\n"
-msgstr "TRAP: %s(«%s», Archivo: «%s», Línea: %d)\n"
+msgstr "TRAP: %s(«%s», Archivo: «%s», Línea: %d, PID: %d)\n"
 
 #: utils/error/elog.c:409
 #, c-format
@@ -25954,8 +25576,7 @@ msgid "unrecognized API version %d reported by info function \"%s\""
 msgstr "la versión de API %d no reconocida fue reportada por la función «%s»"
 
 #: utils/fmgr/fmgr.c:1999
-#, fuzzy, c-format
-#| msgid "operator class options info is absent in function call context"
+#, c-format
 msgid "operator class options info is absent in function call context"
 msgstr "la información de opciones de la clase de operadores está ausente en el contexto de llamada a función"
 
@@ -25970,10 +25591,14 @@ msgid "could not determine actual result type for function \"%s\" declared to re
 msgstr "no se pudo determinar el tipo verdadero de resultado para la función «%s»  declarada retornando tipo %s"
 
 #: utils/fmgr/funcapi.c:531
-#, fuzzy, c-format
-#| msgid "argument declared %s is not a range type but type %s"
+#, c-format
 msgid "argument declared %s does not contain a range type but type %s"
-msgstr "el argumento declarado %s no es un tipo de rango sino tipo %s"
+msgstr "el argumento declarado %s no contiene un tipo de rango sino tipo %s"
+
+#: utils/fmgr/funcapi.c:614
+#, 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"
 
 #: utils/fmgr/funcapi.c:1831 utils/fmgr/funcapi.c:1863
 #, c-format
@@ -26025,7 +25650,7 @@ msgstr "el directorio de datos «%s» tiene permisos no válidos"
 msgid "Permissions should be u=rwx (0700) or u=rwx,g=rx (0750)."
 msgstr "Los permisos deberían ser u=rwx (0700) o u=rwx,g=rx (0750)."
 
-#: utils/init/miscinit.c:645 utils/misc/guc.c:7481
+#: utils/init/miscinit.c:645 utils/misc/guc.c:7482
 #, c-format
 msgid "cannot set parameter \"%s\" within security-restricted operation"
 msgstr "no se puede definir el parámetro «%s» dentro de una operación restringida por seguridad"
@@ -26126,7 +25751,7 @@ msgstr "El archivo parece accidentalmente abandonado, pero no pudo ser eliminado
 msgid "could not write lock file \"%s\": %m"
 msgstr "no se pudo escribir el archivo de bloqueo «%s»: %m"
 
-#: utils/init/miscinit.c:1357 utils/init/miscinit.c:1499 utils/misc/guc.c:10377
+#: utils/init/miscinit.c:1357 utils/init/miscinit.c:1499 utils/misc/guc.c:10378
 #, c-format
 msgid "could not read from file \"%s\": %m"
 msgstr "no se pudo leer el archivo «%s»: %m"
@@ -26172,33 +25797,29 @@ msgid "replication connection authorized: user=%s"
 msgstr "conexión de replicación autorizada: usuario=%s"
 
 #: utils/init/postinit.c:257
-#, fuzzy, c-format
-#| msgid "replication connection authorized: user=%s"
+#, c-format
 msgid "connection authorized: user=%s"
-msgstr "conexión de replicación autorizada: usuario=%s"
+msgstr "conexión autorizada: usuario=%s"
 
 #: utils/init/postinit.c:260
-#, fuzzy, c-format
-#| msgid "database %s"
+#, c-format
 msgid " database=%s"
-msgstr "base de datos %s"
+msgstr " base_de_datos=%s"
 
 #: utils/init/postinit.c:263
-#, fuzzy, c-format
-#| msgid "publication_name"
+#, c-format
 msgid " application_name=%s"
-msgstr "nombre_de_publicación"
+msgstr " nombre_de_aplicación=%s"
 
 #: utils/init/postinit.c:268
-#, fuzzy, c-format
-#| msgid "SSL connection (protocol: %s, cipher: %s, bits: %s, compression: %s)\n"
+#, c-format
 msgid " SSL enabled (protocol=%s, cipher=%s, bits=%d)"
-msgstr "Conexión SSL (protocolo: %s, cifrado: %s, bits: %s, compresión: %s)\n"
+msgstr " SSL habilitado (protocolo=%s, cifrado=%s, bits=%d)"
 
 #: utils/init/postinit.c:280
 #, c-format
 msgid " GSS (authenticated=%s, encrypted=%s, principal=%s)"
-msgstr ""
+msgstr " GSS (autenticado=%s, cifrado=%s, principal=%s)"
 
 #: utils/init/postinit.c:281 utils/init/postinit.c:282
 #: utils/init/postinit.c:287 utils/init/postinit.c:288
@@ -26213,7 +25834,7 @@ msgstr "sí"
 #: utils/init/postinit.c:286
 #, c-format
 msgid " GSS (authenticated=%s, encrypted=%s)"
-msgstr ""
+msgstr " GSS (autenticado=%s, cifrado=%s)"
 
 #: utils/init/postinit.c:323
 #, c-format
@@ -26369,10 +25990,9 @@ msgid "invalid byte value for encoding \"%s\": 0x%02x"
 msgstr "byte no válido para codificación «%s»: 0x%02x"
 
 #: utils/mb/mbutils.c:877
-#, fuzzy, c-format
-#| msgid "invalid Unicode escape"
+#, c-format
 msgid "invalid Unicode code point"
-msgstr "valor de escape Unicode no válido"
+msgstr "punto de código Unicode no válido"
 
 #: utils/mb/mbutils.c:1146
 #, c-format
@@ -26458,10 +26078,8 @@ msgid "Replication / Sending Servers"
 msgstr "Replicación / Servidores de Envío"
 
 #: utils/misc/guc.c:752
-#, fuzzy
-#| msgid "Replication / Master Server"
 msgid "Replication / Primary Server"
-msgstr "Replicación / Servidor Maestro"
+msgstr "Replicación / Servidor Primario"
 
 #: utils/misc/guc.c:754
 msgid "Replication / Standby Servers"
@@ -26489,7 +26107,7 @@ msgstr "Afinamiento de Consultas / Otras Opciones del Planner"
 
 #: utils/misc/guc.c:766
 msgid "Reporting and Logging / Where to Log"
-msgstr "Reporte y Registro / Cuándo Registrar"
+msgstr "Reporte y Registro / Dónde Registrar"
 
 #: utils/misc/guc.c:768
 msgid "Reporting and Logging / When to Log"
@@ -26500,10 +26118,8 @@ msgid "Reporting and Logging / What to Log"
 msgstr "Reporte y Registro / Qué Registrar"
 
 #: utils/misc/guc.c:772
-#, fuzzy
-#| msgid "Reporting and Logging / Where to Log"
 msgid "Reporting and Logging / Process Title"
-msgstr "Reporte y Registro / Cuándo Registrar"
+msgstr "Reporte y Registro / Título del Proceso"
 
 #: utils/misc/guc.c:774
 msgid "Statistics / Monitoring"
@@ -26594,10 +26210,8 @@ msgid "Enables the planner's use of explicit sort steps."
 msgstr "Permitir el uso de pasos explícitos de ordenamiento."
 
 #: utils/misc/guc.c:1017
-#, fuzzy
-#| msgid "Enables the planner's use of explicit sort steps."
 msgid "Enables the planner's use of incremental sort steps."
-msgstr "Permitir el uso de pasos explícitos de ordenamiento."
+msgstr "Permitir el uso de pasos incrementales de ordenamiento."
 
 #: utils/misc/guc.c:1026
 msgid "Enables the planner's use of hashed aggregation plans."
@@ -26608,10 +26222,8 @@ msgid "Enables the planner's use of materialization."
 msgstr "Permitir el uso de materialización de planes."
 
 #: utils/misc/guc.c:1046
-#, fuzzy
-#| msgid "Enables the planner's use of parallel hash plans."
-msgid "Enables the planner's use of result caching."
-msgstr "Permitir el uso de planes «hash join» paralelos."
+msgid "Enables the planner's use of memoization."
+msgstr "Permitir el uso de memoización de planes."
 
 #: utils/misc/guc.c:1056
 msgid "Enables the planner's use of nested-loop join plans."
@@ -26646,8 +26258,6 @@ msgid "Enables the planner's use of parallel hash plans."
 msgstr "Permitir el uso de planes «hash join» paralelos."
 
 #: utils/misc/guc.c:1136
-#, fuzzy
-#| msgid "Enables plan-time and run-time partition pruning."
 msgid "Enables plan-time and execution-time partition pruning."
 msgstr "Permitir el uso de poda de particiones en tiempo de plan y ejecución."
 
@@ -26656,10 +26266,8 @@ msgid "Allows the query planner and executor to compare partition bounds to cond
 msgstr "Permite al optimizador de consultas y al ejecutor a comparar bordes de particiones a condiciones en las consultas para determinar qué particiones deben recorrerse."
 
 #: utils/misc/guc.c:1148
-#, fuzzy
-#| msgid "Enables the planner's use of parallel append plans."
 msgid "Enables the planner's use of async append plans."
-msgstr "Permitir el uso de planes «append» paralelos."
+msgstr "Permitir el uso de planes «append» asíncronos."
 
 #: utils/misc/guc.c:1158
 msgid "Enables genetic query optimization."
@@ -26718,16 +26326,12 @@ msgid "Detection of a damaged page header normally causes PostgreSQL to report a
 msgstr "La detección de un encabezado de página dañado normalmente hace que PostgreSQL reporte un error, abortando la transacción en curso. Definiendo zero_damaged_pages a true hace que el sistema reporte un mensaje de warning, escriba ceros en toda la página, y continúe el procesamiento. Este comportamiento destruirá datos; en particular, todas las tuplas en la página dañada."
 
 #: utils/misc/guc.c:1266
-#, fuzzy
-#| msgid "Continues processing after a checksum failure."
 msgid "Continues recovery after an invalid pages failure."
-msgstr "Continuar procesando después de una falla de suma de verificación."
+msgstr "Continuar procesando después de una falla de páginas no válidas."
 
 #: utils/misc/guc.c:1267
-#, fuzzy
-#| msgid "Detection of a checksum failure normally causes PostgreSQL to report an error, aborting the current transaction. Setting ignore_checksum_failure to true causes the system to ignore the failure (but still report a warning), and continue processing. This behavior could cause crashes or other serious problems. Only has an effect if checksums are enabled."
 msgid "Detection of WAL records having references to invalid pages during recovery causes PostgreSQL to raise a PANIC-level error, aborting the recovery. Setting ignore_invalid_pages to true causes the system to ignore invalid page references in WAL records (but still report a warning), and continue recovery. This behavior may cause crashes, data loss, propagate or hide corruption, or other serious problems. Only has an effect during recovery or in standby mode."
-msgstr "La detección de una suma de verificación que no coincide normalmente hace que PostgreSQL reporte un error, abortando la transacción en curso. Definiendo ignore_checksum_failure a true hace que el sistema ignore la falla (pero aún así reporta un mensaje de warning), y continúe el procesamiento. Este comportamiento podría causar caídas del sistema u otros problemas serios. Sólo tiene efecto si las sumas de verificación están activadas."
+msgstr "La detección de que registros de WAL tengan referencias a páginas no válidas durante la recuperación hace que PostgreSQL produzca un error de nivel PANIC, abortando la recuperación. Establecer el valor de ignore_invalid_pages a true hace que el sistema ignore las referencias a páginas no válidas en registros de WAL (pero aún así reporta un mensaje de warning), y continúe la recuperación. Este comportamiento podría causar caídas del sistema, pérdida de datos, propagar u ocultar corrupción, u otros problemas serios. Sólo tiene efecto durante la recuperación o en modo standby."
 
 #: utils/misc/guc.c:1285
 msgid "Writes full pages to WAL when first modified after a checkpoint."
@@ -26738,10 +26342,8 @@ msgid "A page write in process during an operating system crash might be only pa
 msgstr "Una escritura de página que está siendo procesada durante una caída del sistema operativo puede ser completada sólo parcialmente.  Durante la recuperación, los cambios de registros (tuplas) almacenados en WAL no son suficientes para la recuperación. Esta opción activa la escritura de las páginas a WAL cuando son modificadas por primera vez después de un punto de control, de manera que una recuperación total es posible."
 
 #: utils/misc/guc.c:1299
-#, fuzzy
-#| msgid "Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modifications."
 msgid "Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modification."
-msgstr "Escribir páginas completas a WAL cuando son modificadas después de un punto de control, incluso para modificaciones no críticas."
+msgstr "Escribir páginas completas al WAL cuando son modificadas después de un punto de control, incluso para una modificación no crítica."
 
 #: utils/misc/guc.c:1309
 msgid "Compresses full-page writes written in WAL file."
@@ -26784,1600 +26386,1525 @@ msgid "Reinitialize server after backend crash."
 msgstr "Reinicializar el servidor después de una caída de un proceso servidor."
 
 #: utils/misc/guc.c:1408
-#, fuzzy
-#| msgid "Reinitialize server after backend crash."
 msgid "Remove temporary files after backend crash."
-msgstr "Reinicializar el servidor después de una caída de un proceso servidor."
+msgstr "Eliminar archivos temporales después de una caída de un proceso servidor."
 
-#: utils/misc/guc.c:1418
+#: utils/misc/guc.c:1419
 msgid "Logs the duration of each completed SQL statement."
 msgstr "Registrar la duración de cada sentencia SQL ejecutada."
 
-#: utils/misc/guc.c:1427
+#: utils/misc/guc.c:1428
 msgid "Logs each query's parse tree."
 msgstr "Registrar cada arbol analizado de consulta "
 
-#: utils/misc/guc.c:1436
+#: utils/misc/guc.c:1437
 msgid "Logs each query's rewritten parse tree."
 msgstr "Registrar cada reescritura del arból analizado de consulta"
 
-#: utils/misc/guc.c:1445
+#: utils/misc/guc.c:1446
 msgid "Logs each query's execution plan."
 msgstr "Registrar el plan de ejecución de cada consulta."
 
-#: utils/misc/guc.c:1454
+#: utils/misc/guc.c:1455
 msgid "Indents parse and plan tree displays."
 msgstr "Indentar los árboles de parse y plan."
 
-#: utils/misc/guc.c:1463
+#: utils/misc/guc.c:1464
 msgid "Writes parser performance statistics to the server log."
 msgstr "Escribir estadísticas de parser al registro del servidor."
 
-#: utils/misc/guc.c:1472
+#: utils/misc/guc.c:1473
 msgid "Writes planner performance statistics to the server log."
 msgstr "Escribir estadísticas de planner al registro del servidor."
 
-#: utils/misc/guc.c:1481
+#: utils/misc/guc.c:1482
 msgid "Writes executor performance statistics to the server log."
 msgstr "Escribir estadísticas del executor al registro del servidor."
 
-#: utils/misc/guc.c:1490
+#: utils/misc/guc.c:1491
 msgid "Writes cumulative performance statistics to the server log."
 msgstr "Escribir estadísticas acumulativas al registro del servidor."
 
-#: utils/misc/guc.c:1500
+#: utils/misc/guc.c:1501
 msgid "Logs system resource usage statistics (memory and CPU) on various B-tree operations."
 msgstr "Registrar uso de recursos de sistema (memoria y CPU) en varias operaciones B-tree."
 
-#: utils/misc/guc.c:1512
+#: utils/misc/guc.c:1513
 msgid "Collects information about executing commands."
 msgstr "Recolectar estadísticas sobre órdenes en ejecución."
 
-#: utils/misc/guc.c:1513
+#: utils/misc/guc.c:1514
 msgid "Enables the collection of information on the currently executing command of each session, along with the time at which that command began execution."
 msgstr "Activa la recolección de información sobre la orden actualmente en ejecución en cada sesión, junto con el momento en el cual esa orden comenzó la ejecución."
 
-#: utils/misc/guc.c:1523
+#: utils/misc/guc.c:1524
 msgid "Collects statistics on database activity."
 msgstr "Recolectar estadísticas de actividad de la base de datos."
 
-#: utils/misc/guc.c:1532
+#: utils/misc/guc.c:1533
 msgid "Collects timing statistics for database I/O activity."
 msgstr "Recolectar estadísticas de tiempos en las operaciones de I/O de la base de datos."
 
-#: utils/misc/guc.c:1541
-#, fuzzy
-#| msgid "Collects timing statistics for database I/O activity."
+#: utils/misc/guc.c:1542
 msgid "Collects timing statistics for WAL I/O activity."
-msgstr "Recolectar estadísticas de tiempos en las operaciones de I/O de la base de datos."
+msgstr "Recolectar estadísticas de tiempos en las operaciones de I/O del WAL."
 
-#: utils/misc/guc.c:1551
+#: utils/misc/guc.c:1552
 msgid "Updates the process title to show the active SQL command."
 msgstr "Actualiza el título del proceso para mostrar la orden SQL activo."
 
-#: utils/misc/guc.c:1552
+#: utils/misc/guc.c:1553
 msgid "Enables updating of the process title every time a new SQL command is received by the server."
 msgstr "Habilita que se actualice el título del proceso cada vez que una orden SQL es recibido por el servidor."
 
-#: utils/misc/guc.c:1565
+#: utils/misc/guc.c:1566
 msgid "Starts the autovacuum subprocess."
 msgstr "Iniciar el subproceso de autovacuum."
 
-#: utils/misc/guc.c:1575
+#: utils/misc/guc.c:1576
 msgid "Generates debugging output for LISTEN and NOTIFY."
 msgstr "Generar salida de depuración para LISTEN y NOTIFY."
 
-#: utils/misc/guc.c:1587
+#: utils/misc/guc.c:1588
 msgid "Emits information about lock usage."
 msgstr "Emitir información acerca del uso de locks."
 
-#: utils/misc/guc.c:1597
+#: utils/misc/guc.c:1598
 msgid "Emits information about user lock usage."
 msgstr "Emitir información acerca del uso de locks de usuario."
 
-#: utils/misc/guc.c:1607
+#: utils/misc/guc.c:1608
 msgid "Emits information about lightweight lock usage."
 msgstr "Emitir información acerca del uso de «lightweight locks»."
 
-#: utils/misc/guc.c:1617
+#: utils/misc/guc.c:1618
 msgid "Dumps information about all current locks when a deadlock timeout occurs."
 msgstr "Volcar información acerca de los locks existentes cuando se agota el tiempo de deadlock."
 
-#: utils/misc/guc.c:1629
+#: utils/misc/guc.c:1630
 msgid "Logs long lock waits."
 msgstr "Registrar esperas largas de bloqueos."
 
-#: utils/misc/guc.c:1638
-#, fuzzy
-#| msgid "abort reason: recovery conflict"
+#: utils/misc/guc.c:1639
 msgid "Logs standby recovery conflict waits."
-msgstr "razón para abortar: conflicto en la recuperación"
+msgstr "Registrar esperas por conflictos en recuperación de standby"
 
-#: utils/misc/guc.c:1647
+#: utils/misc/guc.c:1648
 msgid "Logs the host name in the connection logs."
 msgstr "Registrar el nombre del host en la conexión."
 
-#: utils/misc/guc.c:1648
+#: utils/misc/guc.c:1649
 msgid "By default, connection logs only show the IP address of the connecting host. If you want them to show the host name you can turn this on, but depending on your host name resolution setup it might impose a non-negligible performance penalty."
 msgstr "Por omisión, los registros de conexión sólo muestran la dirección IP del host que establece la conexión. Si desea que se despliegue el nombre del host puede activar esta opción, pero dependiendo de su configuración de resolución de nombres esto puede imponer una penalización de rendimiento no despreciable."
 
-#: utils/misc/guc.c:1659
+#: utils/misc/guc.c:1660
 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"."
 msgstr "Tratar expr=NULL como expr IS NULL."
 
-#: utils/misc/guc.c:1660
+#: utils/misc/guc.c:1661
 msgid "When turned on, expressions of the form expr = NULL (or NULL = expr) are treated as expr IS NULL, that is, they return true if expr evaluates to the null value, and false otherwise. The correct behavior of expr = NULL is to always return null (unknown)."
 msgstr "Cuando está activado, expresiones de la forma expr = NULL (o NULL = expr) son tratadas como expr IS NULL, esto es, retornarán verdadero si expr es evaluada al valor nulo, y falso en caso contrario. El comportamiento correcto de expr = NULL es retornar siempre null (desconocido)."
 
-#: utils/misc/guc.c:1672
+#: utils/misc/guc.c:1673
 msgid "Enables per-database user names."
 msgstr "Activar el uso de nombre de usuario locales a cada base de datos."
 
-#: utils/misc/guc.c:1681
+#: utils/misc/guc.c:1682
 msgid "Sets the default read-only status of new transactions."
 msgstr "Estado por omisión de sólo lectura de nuevas transacciones."
 
-#: utils/misc/guc.c:1691
+#: utils/misc/guc.c:1692
 msgid "Sets the current transaction's read-only status."
 msgstr "Activa el estado de sólo lectura de la transacción en curso."
 
-#: utils/misc/guc.c:1701
+#: utils/misc/guc.c:1702
 msgid "Sets the default deferrable status of new transactions."
 msgstr "Estado por omisión de postergable de nuevas transacciones."
 
-#: utils/misc/guc.c:1710
+#: utils/misc/guc.c:1711
 msgid "Whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures."
 msgstr "Si está activo, las transacciones serializables de sólo lectura serán pausadas hasta que puedan ejecutarse sin posibles fallas de serialización."
 
-#: utils/misc/guc.c:1720
+#: utils/misc/guc.c:1721
 msgid "Enable row security."
 msgstr "Activar seguridad de registros."
 
-#: utils/misc/guc.c:1721
+#: utils/misc/guc.c:1722
 msgid "When enabled, row security will be applied to all users."
 msgstr "Cuando está activada, la seguridad de registros se aplicará a todos los usuarios."
 
-#: utils/misc/guc.c:1729
-#, fuzzy
-#| msgid "Check function bodies during CREATE FUNCTION."
+#: utils/misc/guc.c:1730
 msgid "Check routine bodies during CREATE FUNCTION and CREATE PROCEDURE."
-msgstr "Verificar definición de funciones durante CREATE FUNCTION."
+msgstr "Verificar definición de rutinas durante CREATE FUNCTION y CREATE PROCEDURE."
 
-#: utils/misc/guc.c:1738
+#: utils/misc/guc.c:1739
 msgid "Enable input of NULL elements in arrays."
 msgstr "Habilita el ingreso de elementos nulos en arrays."
 
-#: utils/misc/guc.c:1739
+#: utils/misc/guc.c:1740
 msgid "When turned on, unquoted NULL in an array input value means a null value; otherwise it is taken literally."
 msgstr "Cuando está activo, un valor NULL sin comillas en la entrada de un array significa un valor nulo; en caso contrario es tomado literalmente."
 
-#: utils/misc/guc.c:1755
+#: utils/misc/guc.c:1756
 msgid "WITH OIDS is no longer supported; this can only be false."
 msgstr "WITH OIDS ya no está soportado; esto sólo puede ser false."
 
-#: utils/misc/guc.c:1765
+#: utils/misc/guc.c:1766
 msgid "Start a subprocess to capture stderr output and/or csvlogs into log files."
 msgstr "Lanzar un subproceso para capturar stderr y/o logs CSV en archivos de log."
 
-#: utils/misc/guc.c:1774
+#: utils/misc/guc.c:1775
 msgid "Truncate existing log files of same name during log rotation."
 msgstr "Truncar archivos de log del mismo nombre durante la rotación."
 
-#: utils/misc/guc.c:1785
+#: utils/misc/guc.c:1786
 msgid "Emit information about resource usage in sorting."
 msgstr "Emitir información acerca de uso de recursos durante los ordenamientos."
 
-#: utils/misc/guc.c:1799
+#: utils/misc/guc.c:1800
 msgid "Generate debugging output for synchronized scanning."
 msgstr "Generar salida de depuración para recorrido sincronizado."
 
-#: utils/misc/guc.c:1814
+#: utils/misc/guc.c:1815
 msgid "Enable bounded sorting using heap sort."
 msgstr "Activar ordenamiento acotado usando «heap sort»."
 
-#: utils/misc/guc.c:1827
+#: utils/misc/guc.c:1828
 msgid "Emit WAL-related debugging output."
 msgstr "Activar salida de depuración de WAL."
 
-#: utils/misc/guc.c:1839
-#, fuzzy
-#| msgid "Datetimes are integer based."
+#: utils/misc/guc.c:1840
 msgid "Shows whether datetimes are integer based."
-msgstr "Las fechas y horas se basan en tipos enteros."
+msgstr "Mostrar si las fechas y horas se basan en tipos enteros."
 
-#: utils/misc/guc.c:1850
+#: utils/misc/guc.c:1851
 msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive."
 msgstr "Define que los nombres de usuario Kerberos y GSSAPI deberían ser tratados sin distinción de mayúsculas."
 
-#: utils/misc/guc.c:1860
+#: utils/misc/guc.c:1861
 msgid "Warn about backslash escapes in ordinary string literals."
 msgstr "Avisa acerca de escapes de backslash en literales de cadena corrientes."
 
-#: utils/misc/guc.c:1870
+#: utils/misc/guc.c:1871
 msgid "Causes '...' strings to treat backslashes literally."
 msgstr "Provoca que las cadenas '...' traten las barras inclinadas inversas (\\) en forma literal."
 
-#: utils/misc/guc.c:1881
+#: utils/misc/guc.c:1882
 msgid "Enable synchronized sequential scans."
 msgstr "Permitir la sincronización de recorridos secuenciales."
 
-#: utils/misc/guc.c:1891
+#: utils/misc/guc.c:1892
 msgid "Sets whether to include or exclude transaction with recovery target."
 msgstr "Define si incluir o excluir la transacción con el destino de recuperación."
 
-#: utils/misc/guc.c:1901
+#: utils/misc/guc.c:1902
 msgid "Allows connections and queries during recovery."
 msgstr "Permite conexiones y consultas durante la recuperación."
 
-#: utils/misc/guc.c:1911
+#: utils/misc/guc.c:1912
 msgid "Allows feedback from a hot standby to the primary that will avoid query conflicts."
 msgstr "Permite retroalimentación desde un hot standby hacia el primario que evitará conflictos en consultas."
 
-#: utils/misc/guc.c:1921
+#: utils/misc/guc.c:1922
 msgid "Shows whether hot standby is currently active."
-msgstr ""
+msgstr "Muestra si hot standby está activo actualmente."
 
-#: utils/misc/guc.c:1932
+#: utils/misc/guc.c:1933
 msgid "Allows modifications of the structure of system tables."
 msgstr "Permite modificaciones de la estructura de las tablas del sistema."
 
-#: utils/misc/guc.c:1943
+#: utils/misc/guc.c:1944
 msgid "Disables reading from system indexes."
 msgstr "Deshabilita lectura de índices del sistema."
 
-#: utils/misc/guc.c:1944
+#: utils/misc/guc.c:1945
 msgid "It does not prevent updating the indexes, so it is safe to use.  The worst consequence is slowness."
 msgstr "No evita la actualización de índices, así que es seguro. Lo peor que puede ocurrir es lentitud del sistema."
 
-#: utils/misc/guc.c:1955
+#: utils/misc/guc.c:1956
 msgid "Enables backward compatibility mode for privilege checks on large objects."
 msgstr "Activa el modo de compatibilidad con versiones anteriores de las comprobaciones de privilegios de objetos grandes."
 
-#: utils/misc/guc.c:1956
+#: utils/misc/guc.c:1957
 msgid "Skips privilege checks when reading or modifying large objects, for compatibility with PostgreSQL releases prior to 9.0."
 msgstr "Omite las comprobaciones de privilegios cuando se leen o modifican los objetos grandes, para compatibilidad con versiones de PostgreSQL anteriores a 9.0."
 
-#: utils/misc/guc.c:1966
+#: utils/misc/guc.c:1967
 msgid "When generating SQL fragments, quote all identifiers."
 msgstr "Al generar fragmentos SQL, entrecomillar todos los identificadores."
 
-#: utils/misc/guc.c:1976
+#: utils/misc/guc.c:1977
 msgid "Shows whether data checksums are turned on for this cluster."
 msgstr "Indica si las sumas de verificación están activas en este cluster."
 
-#: utils/misc/guc.c:1987
+#: utils/misc/guc.c:1988
 msgid "Add sequence number to syslog messages to avoid duplicate suppression."
 msgstr "Agregar número de secuencia a mensajes syslog para evitar supresión de duplicados."
 
-#: utils/misc/guc.c:1997
+#: utils/misc/guc.c:1998
 msgid "Split messages sent to syslog by lines and to fit into 1024 bytes."
 msgstr "Dividir mensajes enviados a syslog en líneas y que quepan en 1024 bytes."
 
-#: utils/misc/guc.c:2007
+#: utils/misc/guc.c:2008
 msgid "Controls whether Gather and Gather Merge also run subplans."
 msgstr "Controla si los Gather y Gather Merge también ejecutan subplanes."
 
-#: utils/misc/guc.c:2008
-#, fuzzy
-#| msgid "Should gather nodes also run subplans, or just gather tuples?"
+#: utils/misc/guc.c:2009
 msgid "Should gather nodes also run subplans or just gather tuples?"
-msgstr "¿Deben los nodos de recolección ejecutar subplanes, o sólo recolectar tuplas?"
+msgstr "¿Deben los nodos de recolección ejecutar subplanes o sólo recolectar tuplas?"
 
-#: utils/misc/guc.c:2018
+#: utils/misc/guc.c:2019
 msgid "Allow JIT compilation."
 msgstr "Permitir compilación JIT."
 
-#: utils/misc/guc.c:2029
-#, fuzzy
-#| msgid "Register JIT compiled function with debugger."
+#: utils/misc/guc.c:2030
 msgid "Register JIT-compiled functions with debugger."
-msgstr "Registra la función JIT compilada con el depurador."
+msgstr "Registrar las funciones JIT compiladas con el depurador."
 
-#: utils/misc/guc.c:2046
+#: utils/misc/guc.c:2047
 msgid "Write out LLVM bitcode to facilitate JIT debugging."
 msgstr "Escribe el bitcode LLVM para facilitar depuración de JIT."
 
-#: utils/misc/guc.c:2057
+#: utils/misc/guc.c:2058
 msgid "Allow JIT compilation of expressions."
 msgstr "Permitir compilación JIT de expresiones."
 
-#: utils/misc/guc.c:2068
-#, fuzzy
-#| msgid "Register JIT compiled function with perf profiler."
+#: utils/misc/guc.c:2069
 msgid "Register JIT-compiled functions with perf profiler."
-msgstr "Registrar funciones JIT-compiladas con el analizador «perf»."
+msgstr "Registrar las funciones JIT compiladas con el analizador «perf»."
 
-#: utils/misc/guc.c:2085
+#: utils/misc/guc.c:2086
 msgid "Allow JIT compilation of tuple deforming."
 msgstr "Permitir compilación JIT de deformación de tuplas."
 
-#: utils/misc/guc.c:2096
+#: utils/misc/guc.c:2097
 msgid "Whether to continue running after a failure to sync data files."
 msgstr "Si continuar ejecutando después de una falla al sincronizar archivos de datos."
 
-#: utils/misc/guc.c:2105
+#: utils/misc/guc.c:2106
 msgid "Sets whether a WAL receiver should create a temporary replication slot if no permanent slot is configured."
 msgstr "Definir si un receptor de WAL debe crear un slot de replicación temporal en caso de no haber configurado un slot permanente."
 
-#: utils/misc/guc.c:2123
+#: utils/misc/guc.c:2124
 msgid "Forces a switch to the next WAL file if a new file has not been started within N seconds."
 msgstr "Fuerza a que utilizar el siguiente archivo de WAL si no se ha comenzado un nuevo archivo de WAL dentro de N segundos."
 
-#: utils/misc/guc.c:2134
+#: utils/misc/guc.c:2135
 msgid "Waits N seconds on connection startup after authentication."
 msgstr "Espera N segundos al inicio de la conexión después de la autentificación."
 
-#: utils/misc/guc.c:2135 utils/misc/guc.c:2733
+#: utils/misc/guc.c:2136 utils/misc/guc.c:2734
 msgid "This allows attaching a debugger to the process."
 msgstr "Esto permite adjuntar un depurador al proceso."
 
-#: utils/misc/guc.c:2144
+#: utils/misc/guc.c:2145
 msgid "Sets the default statistics target."
 msgstr "Definir el valor por omisión de toma de estadísticas."
 
-#: utils/misc/guc.c:2145
+#: utils/misc/guc.c:2146
 msgid "This applies to table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS."
 msgstr "Esto se aplica a columnas de tablas que no tienen un valor definido a través de ALTER TABLE SET STATISTICS."
 
-#: utils/misc/guc.c:2154
+#: utils/misc/guc.c:2155
 msgid "Sets the FROM-list size beyond which subqueries are not collapsed."
 msgstr "Tamaño de lista de FROM a partir del cual subconsultas no serán colapsadas."
 
-#: utils/misc/guc.c:2156
+#: utils/misc/guc.c:2157
 msgid "The planner will merge subqueries into upper queries if the resulting FROM list would have no more than this many items."
 msgstr "El planner mezclará subconsultas en consultas de nivel superior si la lista FROM resultante es menor que esta cantidad de ítems."
 
-#: utils/misc/guc.c:2167
+#: utils/misc/guc.c:2168
 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened."
 msgstr "Tamaño de lista de FROM a partir del cual constructos JOIN no serán aplanados."
 
-#: utils/misc/guc.c:2169
+#: utils/misc/guc.c:2170
 msgid "The planner will flatten explicit JOIN constructs into lists of FROM items whenever a list of no more than this many items would result."
 msgstr "El planner aplanará constructos JOIN explícitos en listas de ítems FROM siempre que la lista resultante no tenga más que esta cantidad de ítems."
 
-#: utils/misc/guc.c:2180
+#: utils/misc/guc.c:2181
 msgid "Sets the threshold of FROM items beyond which GEQO is used."
 msgstr "Umbral de ítems en FROM a partir del cual se usará GEQO."
 
-#: utils/misc/guc.c:2190
+#: utils/misc/guc.c:2191
 msgid "GEQO: effort is used to set the default for other GEQO parameters."
 msgstr "GEQO: effort se usa para determinar los valores por defecto para otros parámetros."
 
-#: utils/misc/guc.c:2200
+#: utils/misc/guc.c:2201
 msgid "GEQO: number of individuals in the population."
 msgstr "GEQO: número de individuos en una población."
 
-#: utils/misc/guc.c:2201 utils/misc/guc.c:2211
+#: utils/misc/guc.c:2202 utils/misc/guc.c:2212
 msgid "Zero selects a suitable default value."
 msgstr "Cero selecciona un valor por omisión razonable."
 
-#: utils/misc/guc.c:2210
+#: utils/misc/guc.c:2211
 msgid "GEQO: number of iterations of the algorithm."
 msgstr "GEQO: número de iteraciones del algoritmo."
 
-#: utils/misc/guc.c:2222
+#: utils/misc/guc.c:2223
 msgid "Sets the time to wait on a lock before checking for deadlock."
 msgstr "Define el tiempo a esperar un lock antes de buscar un deadlock."
 
-#: utils/misc/guc.c:2233
+#: utils/misc/guc.c:2234
 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data."
 msgstr "Define el máximo retardo antes de cancelar consultas cuando un servidor hot standby está procesando datos de WAL archivado."
 
-#: utils/misc/guc.c:2244
+#: utils/misc/guc.c:2245
 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data."
 msgstr "Define el máximo retardo antes de cancelar consultas cuando un servidor hot standby está procesando datos de WAL en flujo."
 
-#: utils/misc/guc.c:2255
+#: utils/misc/guc.c:2256
 msgid "Sets the minimum delay for applying changes during recovery."
 msgstr "Define el retraso mínimo para aplicar cambios durante la recuperación."
 
-#: utils/misc/guc.c:2266
+#: utils/misc/guc.c:2267
 msgid "Sets the maximum interval between WAL receiver status reports to the sending server."
 msgstr "Define el intervalo máximo entre reportes de estado que el receptor de WAL envía al servidor origen."
 
-#: utils/misc/guc.c:2277
+#: utils/misc/guc.c:2278
 msgid "Sets the maximum wait time to receive data from the sending server."
 msgstr "Define el máximo tiempo de espera para recibir datos desde el servidor origen."
 
-#: utils/misc/guc.c:2288
+#: utils/misc/guc.c:2289
 msgid "Sets the maximum number of concurrent connections."
 msgstr "Número máximo de conexiones concurrentes."
 
-#: utils/misc/guc.c:2299
+#: utils/misc/guc.c:2300
 msgid "Sets the number of connection slots reserved for superusers."
 msgstr "Número de conexiones reservadas para superusuarios."
 
-#: utils/misc/guc.c:2309
-#, fuzzy
-#| msgid "could not map dynamic shared memory segment"
+#: utils/misc/guc.c:2310
 msgid "Amount of dynamic shared memory reserved at startup."
-msgstr "no se pudo mapear el segmento de memoria compartida dinámica"
+msgstr "Cantidad de memoria compartida dinámica reservada al iniciar."
 
-#: utils/misc/guc.c:2324
+#: utils/misc/guc.c:2325
 msgid "Sets the number of shared memory buffers used by the server."
 msgstr "Número de búfers de memoria compartida usados por el servidor."
 
-#: utils/misc/guc.c:2335
+#: utils/misc/guc.c:2336
 msgid "Sets the maximum number of temporary buffers used by each session."
 msgstr "Número de búfers de memoria temporal usados por cada sesión."
 
-#: utils/misc/guc.c:2346
+#: utils/misc/guc.c:2347
 msgid "Sets the TCP port the server listens on."
 msgstr "Puerto TCP en el cual escuchará el servidor."
 
-#: utils/misc/guc.c:2356
+#: utils/misc/guc.c:2357
 msgid "Sets the access permissions of the Unix-domain socket."
 msgstr "Privilegios de acceso al socket Unix."
 
-#: utils/misc/guc.c:2357
+#: utils/misc/guc.c:2358
 msgid "Unix-domain sockets use the usual Unix file system permission set. The parameter value is expected to be a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)"
 msgstr "Los sockets de dominio Unix usan la funcionalidad de permisos de archivos estándar de Unix. Se espera que el valor de esta opción sea una especificación numérica de modo, en la forma aceptada por las llamadas a sistema chmod y umask. Para usar el modo octal acostumbrado, comience el número con un 0 (cero)."
 
-#: utils/misc/guc.c:2371
+#: utils/misc/guc.c:2372
 msgid "Sets the file permissions for log files."
 msgstr "Define los privilegios para los archivos del registro del servidor."
 
-#: utils/misc/guc.c:2372
+#: utils/misc/guc.c:2373
 msgid "The parameter value is expected to be a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)"
 msgstr "Se espera que el valor de esta opción sea una especificación numérica de modo, en la forma aceptada por las llamadas a sistema chmod y umask. Para usar el modo octal acostumbrado, comience el número con un 0 (cero)."
 
-#: utils/misc/guc.c:2386
-#, fuzzy
-#| msgid "Mode of the data directory."
+#: utils/misc/guc.c:2387
 msgid "Shows the mode of the data directory."
-msgstr "Modo del directorio de datos."
+msgstr "Muestra el modo del directorio de datos."
 
-#: utils/misc/guc.c:2387
+#: utils/misc/guc.c:2388
 msgid "The parameter value is a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)"
 msgstr "El valor del parámetro es una especificación numérica de modo, en la forma aceptada por las llamadas a sistema chmod y umask. (Para usar el modo octal acostumbrado, comience el número con un 0 (cero).)"
 
-#: utils/misc/guc.c:2400
+#: utils/misc/guc.c:2401
 msgid "Sets the maximum memory to be used for query workspaces."
 msgstr "Establece el límite de memoria que se usará para espacios de trabajo de consultas."
 
-#: utils/misc/guc.c:2401
+#: utils/misc/guc.c:2402
 msgid "This much memory can be used by each internal sort operation and hash table before switching to temporary disk files."
 msgstr "Esta es la cantidad máxima de memoria que se usará para operaciones internas de ordenamiento y tablas de hashing, antes de comenzar a usar archivos temporales en disco."
 
-#: utils/misc/guc.c:2413
+#: utils/misc/guc.c:2414
 msgid "Sets the maximum memory to be used for maintenance operations."
 msgstr "Establece el límite de memoria que se usará para operaciones de mantención."
 
-#: utils/misc/guc.c:2414
+#: utils/misc/guc.c:2415
 msgid "This includes operations such as VACUUM and CREATE INDEX."
 msgstr "Esto incluye operaciones como VACUUM y CREATE INDEX."
 
-#: utils/misc/guc.c:2424
-#, fuzzy
-#| msgid "Sets the maximum memory to be used for maintenance operations."
+#: utils/misc/guc.c:2425
 msgid "Sets the maximum memory to be used for logical decoding."
-msgstr "Establece el límite de memoria que se usará para operaciones de mantención."
+msgstr "Establece el límite de memoria que se usará para decodificación lógica."
 
-#: utils/misc/guc.c:2425
-#, fuzzy
-#| msgid "This much memory can be used by each internal sort operation and hash table before switching to temporary disk files."
+#: utils/misc/guc.c:2426
 msgid "This much memory can be used by each internal reorder buffer before spilling to disk."
-msgstr "Esta es la cantidad máxima de memoria que se usará para operaciones internas de ordenamiento y tablas de hashing, antes de comenzar a usar archivos temporales en disco."
+msgstr "Esta es la cantidad máxima de memoria que puede ser usada para cada búfer interno de ordenamiento, antes de comenzar a usar disco."
 
-#: utils/misc/guc.c:2441
+#: utils/misc/guc.c:2442
 msgid "Sets the maximum stack depth, in kilobytes."
 msgstr "Establece el tamaño máximo del stack, en kilobytes."
 
-#: utils/misc/guc.c:2452
+#: utils/misc/guc.c:2453
 msgid "Limits the total size of all temporary files used by each process."
 msgstr "Limita el tamaño total de todos los archivos temporales usados en cada proceso."
 
-#: utils/misc/guc.c:2453
+#: utils/misc/guc.c:2454
 msgid "-1 means no limit."
 msgstr "-1 significa sin límite."
 
-#: utils/misc/guc.c:2463
+#: utils/misc/guc.c:2464
 msgid "Vacuum cost for a page found in the buffer cache."
 msgstr "Costo de Vacuum de una página encontrada en el buffer."
 
-#: utils/misc/guc.c:2473
+#: utils/misc/guc.c:2474
 msgid "Vacuum cost for a page not found in the buffer cache."
 msgstr "Costo de Vacuum de una página no encontrada en el cache."
 
-#: utils/misc/guc.c:2483
+#: utils/misc/guc.c:2484
 msgid "Vacuum cost for a page dirtied by vacuum."
 msgstr "Costo de Vacuum de una página ensuciada por vacuum."
 
-#: utils/misc/guc.c:2493
+#: utils/misc/guc.c:2494
 msgid "Vacuum cost amount available before napping."
 msgstr "Costo de Vacuum disponible antes de descansar."
 
-#: utils/misc/guc.c:2503
+#: utils/misc/guc.c:2504
 msgid "Vacuum cost amount available before napping, for autovacuum."
 msgstr "Costo de Vacuum disponible antes de descansar, para autovacuum."
 
-#: utils/misc/guc.c:2513
+#: utils/misc/guc.c:2514
 msgid "Sets the maximum number of simultaneously open files for each server process."
 msgstr "Define la cantidad máxima de archivos abiertos por cada subproceso."
 
-#: utils/misc/guc.c:2526
+#: utils/misc/guc.c:2527
 msgid "Sets the maximum number of simultaneously prepared transactions."
 msgstr "Define la cantidad máxima de transacciones preparadas simultáneas."
 
-#: utils/misc/guc.c:2537
+#: utils/misc/guc.c:2538
 msgid "Sets the minimum OID of tables for tracking locks."
 msgstr "Define el OID mínimo para hacer seguimiento de locks."
 
-#: utils/misc/guc.c:2538
+#: utils/misc/guc.c:2539
 msgid "Is used to avoid output on system tables."
 msgstr "Se usa para evitar salida excesiva por tablas de sistema."
 
-#: utils/misc/guc.c:2547
+#: utils/misc/guc.c:2548
 msgid "Sets the OID of the table with unconditionally lock tracing."
 msgstr "Define el OID de una tabla con trazado incondicional de locks."
 
-#: utils/misc/guc.c:2559
+#: utils/misc/guc.c:2560
 msgid "Sets the maximum allowed duration of any statement."
 msgstr "Define la duración máxima permitida de sentencias."
 
-#: utils/misc/guc.c:2560 utils/misc/guc.c:2571 utils/misc/guc.c:2582
-#: utils/misc/guc.c:2593
+#: utils/misc/guc.c:2561 utils/misc/guc.c:2572 utils/misc/guc.c:2583
+#: utils/misc/guc.c:2594
 msgid "A value of 0 turns off the timeout."
 msgstr "Un valor de 0 desactiva el máximo."
 
-#: utils/misc/guc.c:2570
+#: utils/misc/guc.c:2571
 msgid "Sets the maximum allowed duration of any wait for a lock."
 msgstr "Define la duración máxima permitida de cualquier espera por un lock."
 
-#: utils/misc/guc.c:2581
-#, fuzzy
-#| msgid "Sets the maximum allowed duration of any idling transaction."
+#: utils/misc/guc.c:2582
 msgid "Sets the maximum allowed idle time between queries, when in a transaction."
-msgstr "Define la duración máxima permitida de transacciones inactivas."
+msgstr "Define el tiempo máximo permitido de inactividad entre consultas, cuando están dentro de una transacción."
 
-#: utils/misc/guc.c:2592
-#, fuzzy
-#| msgid "Sets the maximum allowed duration of any idling transaction."
+#: utils/misc/guc.c:2593
 msgid "Sets the maximum allowed idle time between queries, when not in a transaction."
-msgstr "Define la duración máxima permitida de transacciones inactivas."
+msgstr "Define el tiempo máximo permitido de inactividad entre consultas, cuando no están dentro de una transacción."
 
-#: utils/misc/guc.c:2603
+#: utils/misc/guc.c:2604
 msgid "Minimum age at which VACUUM should freeze a table row."
 msgstr "Mínima edad a la cual VACUUM debería congelar (freeze) una fila de una tabla."
 
-#: utils/misc/guc.c:2613
+#: utils/misc/guc.c:2614
 msgid "Age at which VACUUM should scan whole table to freeze tuples."
 msgstr "Edad a la cual VACUUM debería recorrer una tabla completa para congelar (freeze) las filas."
 
-#: utils/misc/guc.c:2623
+#: utils/misc/guc.c:2624
 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row."
 msgstr "Mínima edad a la cual VACUUM debería congelar (freeze) el multixact en una fila."
 
-#: utils/misc/guc.c:2633
+#: utils/misc/guc.c:2634
 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples."
 msgstr "Edad de multixact a la cual VACUUM debería recorrer una tabla completa para congelar (freeze) las filas."
 
-#: utils/misc/guc.c:2643
+#: utils/misc/guc.c:2644
 msgid "Number of transactions by which VACUUM and HOT cleanup should be deferred, if any."
 msgstr "Número de transacciones por las cuales VACUUM y la limpieza HOT deberían postergarse."
 
-#: utils/misc/guc.c:2652
-#, fuzzy
-#| msgid "Age at which VACUUM should scan whole table to freeze tuples."
+#: utils/misc/guc.c:2653
 msgid "Age at which VACUUM should trigger failsafe to avoid a wraparound outage."
-msgstr "Edad a la cual VACUUM debería recorrer una tabla completa para congelar (freeze) las filas."
+msgstr "Edad a la cual VACUUM debería activar el modo failsafe para evitar pérdida de servicio por reciclaje (wraparound)."
 
-#: utils/misc/guc.c:2661
-#, fuzzy
-#| msgid "Multixact age at which VACUUM should scan whole table to freeze tuples."
+#: utils/misc/guc.c:2662
 msgid "Multixact age at which VACUUM should trigger failsafe to avoid a wraparound outage."
-msgstr "Edad de multixact a la cual VACUUM debería recorrer una tabla completa para congelar (freeze) las filas."
+msgstr "Edad de multixact a la cual VACUUM debería activar el modo failsafe para evitar pérdida de servicio por reciclaje (wraparound)."
 
-#: utils/misc/guc.c:2674
+#: utils/misc/guc.c:2675
 msgid "Sets the maximum number of locks per transaction."
 msgstr "Cantidad máxima de candados (locks) por transacción."
 
-#: utils/misc/guc.c:2675
+#: utils/misc/guc.c:2676
 msgid "The shared lock table is sized on the assumption that at most max_locks_per_transaction * max_connections distinct objects will need to be locked at any one time."
 msgstr "El tamaño de la tabla compartida de candados se calcula usando la suposición de que a lo más max_locks_per_transaction * max_connections objetos necesitarán ser bloqueados simultáneamente."
 
-#: utils/misc/guc.c:2686
+#: utils/misc/guc.c:2687
 msgid "Sets the maximum number of predicate locks per transaction."
 msgstr "Cantidad máxima de candados (locks) de predicado por transacción."
 
-#: utils/misc/guc.c:2687
+#: utils/misc/guc.c:2688
 msgid "The shared predicate lock table is sized on the assumption that at most max_pred_locks_per_transaction * max_connections distinct objects will need to be locked at any one time."
 msgstr "El tamaño de la tabla compartida de candados se calcula usando la suposición de que a lo más max_pred_locks_per_transaction * max_connections objetos necesitarán ser bloqueados simultáneamente."
 
-#: utils/misc/guc.c:2698
+#: utils/misc/guc.c:2699
 msgid "Sets the maximum number of predicate-locked pages and tuples per relation."
 msgstr "Cantidad máxima de páginas y tuplas bloqueadas por predicado."
 
-#: utils/misc/guc.c:2699
+#: utils/misc/guc.c:2700
 msgid "If more than this total of pages and tuples in the same relation are locked by a connection, those locks are replaced by a relation-level lock."
 msgstr "Si más que este total de páginas y tuplas en la misma relación están bloqueadas por una conexión, esos locks son reemplazados por un lock a nivel de relación."
 
-#: utils/misc/guc.c:2709
+#: utils/misc/guc.c:2710
 msgid "Sets the maximum number of predicate-locked tuples per page."
 msgstr "Cantidad máxima de locks de predicado por página."
 
-#: utils/misc/guc.c:2710
+#: utils/misc/guc.c:2711
 msgid "If more than this number of tuples on the same page are locked by a connection, those locks are replaced by a page-level lock."
 msgstr "Si más que este número de tuplas de la misma página están bloqueadas por una conexión, esos locks son reemplazados por un lock a nivel de página."
 
-#: utils/misc/guc.c:2720
+#: utils/misc/guc.c:2721
 msgid "Sets the maximum allowed time to complete client authentication."
 msgstr "Define el tiempo máximo para completar proceso de autentificación."
 
-#: utils/misc/guc.c:2732
+#: utils/misc/guc.c:2733
 msgid "Waits N seconds on connection startup before authentication."
 msgstr "Espera N segundos al inicio de la conexión antes de la autentificación."
 
-#: utils/misc/guc.c:2743
-#, fuzzy
-#| msgid "Shows the size of write ahead log segments."
+#: utils/misc/guc.c:2744
 msgid "Sets the size of WAL files held for standby servers."
-msgstr "Muestra el tamaño de los segmentos de WAL."
+msgstr "Establece el tamaño de los archivos de WAL retenidos para los servidores standby."
 
-#: utils/misc/guc.c:2754
+#: utils/misc/guc.c:2755
 msgid "Sets the minimum size to shrink the WAL to."
 msgstr "Define el tamaño mínimo al cual reducir el WAL."
 
-#: utils/misc/guc.c:2766
+#: utils/misc/guc.c:2767
 msgid "Sets the WAL size that triggers a checkpoint."
 msgstr "Define el tamaño de WAL que desencadena un checkpoint."
 
-#: utils/misc/guc.c:2778
+#: utils/misc/guc.c:2779
 msgid "Sets the maximum time between automatic WAL checkpoints."
 msgstr "Define el tiempo máximo entre puntos de control de WAL automáticos."
 
-#: utils/misc/guc.c:2789
+#: utils/misc/guc.c:2790
 msgid "Enables warnings if checkpoint segments are filled more frequently than this."
 msgstr "Registrar si el llenado de segmentos de WAL es más frecuente que esto."
 
-#: utils/misc/guc.c:2791
+#: utils/misc/guc.c:2792
 msgid "Write a message to the server log if checkpoints caused by the filling of checkpoint segment files happens more frequently than this number of seconds. Zero turns off the warning."
 msgstr "Envía un mensaje a los registros del servidor si los punto de control causados por el llenado de archivos de segmento sucede con más frecuencia que este número de segundos. Un valor de 0 (cero) desactiva la opción."
 
-#: utils/misc/guc.c:2803 utils/misc/guc.c:3019 utils/misc/guc.c:3066
+#: utils/misc/guc.c:2804 utils/misc/guc.c:3020 utils/misc/guc.c:3067
 msgid "Number of pages after which previously performed writes are flushed to disk."
 msgstr "Número de páginas después del cual las escrituras previamente ejecutadas se sincronizan a disco."
 
-#: utils/misc/guc.c:2814
+#: utils/misc/guc.c:2815
 msgid "Sets the number of disk-page buffers in shared memory for WAL."
 msgstr "Búfers en memoria compartida para páginas de WAL."
 
-#: utils/misc/guc.c:2825
+#: utils/misc/guc.c:2826
 msgid "Time between WAL flushes performed in the WAL writer."
 msgstr "Tiempo entre sincronizaciones de WAL ejecutadas por el proceso escritor de WAL."
 
-#: utils/misc/guc.c:2836
+#: utils/misc/guc.c:2837
 msgid "Amount of WAL written out by WAL writer that triggers a flush."
 msgstr "Cantidad de WAL escrito por el proceso escritor de WAL que desencadena una sincronización (flush)."
 
-#: utils/misc/guc.c:2847
-#, fuzzy
-#| msgid "Size of new file to fsync instead of writing WAL."
+#: utils/misc/guc.c:2848
 msgid "Minimum size of new file to fsync instead of writing WAL."
-msgstr "Tamaño del nuevo archivo para hacer fsync en lugar de escribir WAL."
+msgstr "Tamaño mínimo del nuevo archivo para hacer fsync en lugar de escribir WAL."
 
-#: utils/misc/guc.c:2858
+#: utils/misc/guc.c:2859
 msgid "Sets the maximum number of simultaneously running WAL sender processes."
 msgstr "Define la cantidad máxima de procesos «WAL sender» simultáneos."
 
-#: utils/misc/guc.c:2869
+#: utils/misc/guc.c:2870
 msgid "Sets the maximum number of simultaneously defined replication slots."
 msgstr "Define la cantidad máxima de slots de replicación definidos simultáneamente."
 
-#: utils/misc/guc.c:2879
-#, fuzzy
-#| msgid "Sets the maximum number of simultaneously defined replication slots."
+#: utils/misc/guc.c:2880
 msgid "Sets the maximum WAL size that can be reserved by replication slots."
-msgstr "Define la cantidad máxima de slots de replicación definidos simultáneamente."
+msgstr "Define el tamaño máximo de WAL que puede ser reservado por slots de replicación."
 
-#: utils/misc/guc.c:2880
+#: utils/misc/guc.c:2881
 msgid "Replication slots will be marked as failed, and segments released for deletion or recycling, if this much space is occupied by WAL on disk."
 msgstr "Los slots de replicación serán invalidados, y los segmentos de WAL eliminados o reciclados, si se usa esta cantidad de espacio de disco en WAL."
 
-#: utils/misc/guc.c:2892
+#: utils/misc/guc.c:2893
 msgid "Sets the maximum time to wait for WAL replication."
 msgstr "Define el tiempo máximo a esperar la replicación de WAL."
 
-#: utils/misc/guc.c:2903
+#: utils/misc/guc.c:2904
 msgid "Sets the delay in microseconds between transaction commit and flushing WAL to disk."
 msgstr "Retardo en microsegundos entre completar una transacción y escribir WAL a disco."
 
-#: utils/misc/guc.c:2915
+#: utils/misc/guc.c:2916
 msgid "Sets the minimum concurrent open transactions before performing commit_delay."
 msgstr "Mínimo de transacciones concurrentes para esperar commit_delay."
 
-#: utils/misc/guc.c:2926
+#: utils/misc/guc.c:2927
 msgid "Sets the number of digits displayed for floating-point values."
 msgstr "Ajustar el número de dígitos mostrados para valores de coma flotante."
 
-#: utils/misc/guc.c:2927
+#: utils/misc/guc.c:2928
 msgid "This affects real, double precision, and geometric data types. A zero or negative parameter value is added to the standard number of digits (FLT_DIG or DBL_DIG as appropriate). Any value greater than zero selects precise output mode."
 msgstr "Esto afecta los tipos real, de doble precisión, y geométricos. Un valor del parámetro cero o negativo se agrega a la cantidad estándar de dígitos (FLT_DIG o DBL_DIG, según sea apropiado). Cualquier valor mayor que cero selecciona el modo de salida preciso."
 
-#: utils/misc/guc.c:2939
-#, fuzzy
-#| msgid "Sets the minimum execution time above which autovacuum actions will be logged."
+#: utils/misc/guc.c:2940
 msgid "Sets the minimum execution time above which a sample of statements will be logged. Sampling is determined by log_statement_sample_rate."
-msgstr "Tiempo mínimo de ejecución a partir del cual se registran las acciones de autovacuum."
+msgstr "Establece el tiempo mínimo de ejecución a partir del cual se registra una muestra de la sentencia. El muestreo es determinado por log_statement_sample_rate."
 
-#: utils/misc/guc.c:2942
-#, fuzzy
-#| msgid "Zero prints all queries. -1 turns this feature off."
+#: utils/misc/guc.c:2943
 msgid "Zero logs a sample of all queries. -1 turns this feature off."
-msgstr "Cero imprime todas las consultas. -1 desactiva esta funcionalidad."
+msgstr "Cero registra una muestra de todas las consultas. -1 desactiva esta funcionalidad."
 
-#: utils/misc/guc.c:2952
-#, fuzzy
-#| msgid "Sets the minimum execution time above which autovacuum actions will be logged."
+#: utils/misc/guc.c:2953
 msgid "Sets the minimum execution time above which all statements will be logged."
-msgstr "Tiempo mínimo de ejecución a partir del cual se registran las acciones de autovacuum."
+msgstr "Establece el tiempo mínimo de ejecución a partir del cual se registran todas las sentencias."
 
-#: utils/misc/guc.c:2954
+#: utils/misc/guc.c:2955
 msgid "Zero prints all queries. -1 turns this feature off."
 msgstr "Cero imprime todas las consultas. -1 desactiva esta funcionalidad."
 
-#: utils/misc/guc.c:2964
+#: utils/misc/guc.c:2965
 msgid "Sets the minimum execution time above which autovacuum actions will be logged."
 msgstr "Tiempo mínimo de ejecución a partir del cual se registran las acciones de autovacuum."
 
-#: utils/misc/guc.c:2966
+#: utils/misc/guc.c:2967
 msgid "Zero prints all actions. -1 turns autovacuum logging off."
 msgstr "Cero registra todas las acciones. -1 desactiva el registro de autovacuum."
 
-#: utils/misc/guc.c:2976
+#: utils/misc/guc.c:2977
 msgid "When logging statements, limit logged parameter values to first N bytes."
 msgstr "Cuando se registren sentencias, limitar los valores de parámetros registrados a los primeros N bytes."
 
-#: utils/misc/guc.c:2977 utils/misc/guc.c:2988
+#: utils/misc/guc.c:2978 utils/misc/guc.c:2989
 msgid "-1 to print values in full."
 msgstr "-1 para mostrar los valores completos."
 
-#: utils/misc/guc.c:2987
+#: utils/misc/guc.c:2988
 msgid "When reporting an error, limit logged parameter values to first N bytes."
 msgstr "Cuando se reporta un error, limitar los valores de parámetros registrados a los primeros N bytes."
 
-#: utils/misc/guc.c:2998
+#: utils/misc/guc.c:2999
 msgid "Background writer sleep time between rounds."
 msgstr "Tiempo de descanso entre rondas del background writer"
 
-#: utils/misc/guc.c:3009
+#: utils/misc/guc.c:3010
 msgid "Background writer maximum number of LRU pages to flush per round."
 msgstr "Número máximo de páginas LRU a escribir en cada ronda del background writer"
 
-#: utils/misc/guc.c:3032
+#: utils/misc/guc.c:3033
 msgid "Number of simultaneous requests that can be handled efficiently by the disk subsystem."
 msgstr "Cantidad máxima de peticiones simultáneas que pueden ser manejadas eficientemente por el sistema de disco."
 
-#: utils/misc/guc.c:3050
+#: utils/misc/guc.c:3051
 msgid "A variant of effective_io_concurrency that is used for maintenance work."
 msgstr "Una variante de effective_io_concurrency que se usa para tareas de mantención."
 
-#: utils/misc/guc.c:3079
+#: utils/misc/guc.c:3080
 msgid "Maximum number of concurrent worker processes."
 msgstr "Número máximo de procesos ayudantes concurrentes."
 
-#: utils/misc/guc.c:3091
+#: utils/misc/guc.c:3092
 msgid "Maximum number of logical replication worker processes."
 msgstr "Número máximo de procesos ayudantes de replicación lógica."
 
-#: utils/misc/guc.c:3103
+#: utils/misc/guc.c:3104
 msgid "Maximum number of table synchronization workers per subscription."
 msgstr "Número máximo de procesos ayudantes de sincronización por suscripción."
 
-#: utils/misc/guc.c:3113
+#: utils/misc/guc.c:3114
 msgid "Automatic log file rotation will occur after N minutes."
 msgstr "La rotación automática de archivos de log se efectuará después de N minutos."
 
-#: utils/misc/guc.c:3124
+#: utils/misc/guc.c:3125
 msgid "Automatic log file rotation will occur after N kilobytes."
 msgstr "La rotación automática de archivos de log se efectuará después de N kilobytes."
 
-#: utils/misc/guc.c:3135
+#: utils/misc/guc.c:3136
 msgid "Shows the maximum number of function arguments."
 msgstr "Muestra la cantidad máxima de argumentos de funciones."
 
-#: utils/misc/guc.c:3146
+#: utils/misc/guc.c:3147
 msgid "Shows the maximum number of index keys."
 msgstr "Muestra la cantidad máxima de claves de índices."
 
-#: utils/misc/guc.c:3157
+#: utils/misc/guc.c:3158
 msgid "Shows the maximum identifier length."
 msgstr "Muestra el largo máximo de identificadores."
 
-#: utils/misc/guc.c:3168
+#: utils/misc/guc.c:3169
 msgid "Shows the size of a disk block."
 msgstr "Muestra el tamaño de un bloque de disco."
 
-#: utils/misc/guc.c:3179
+#: utils/misc/guc.c:3180
 msgid "Shows the number of pages per disk file."
 msgstr "Muestra el número de páginas por archivo en disco."
 
-#: utils/misc/guc.c:3190
+#: utils/misc/guc.c:3191
 msgid "Shows the block size in the write ahead log."
 msgstr "Muestra el tamaño de bloque en el write-ahead log."
 
-#: utils/misc/guc.c:3201
+#: utils/misc/guc.c:3202
 msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt."
 msgstr "Define el tiempo a esperar antes de reintentar obtener WAL después de un intento fallido."
 
-#: utils/misc/guc.c:3213
+#: utils/misc/guc.c:3214
 msgid "Shows the size of write ahead log segments."
 msgstr "Muestra el tamaño de los segmentos de WAL."
 
-#: utils/misc/guc.c:3226
+#: utils/misc/guc.c:3227
 msgid "Time to sleep between autovacuum runs."
 msgstr "Tiempo de descanso entre ejecuciones de autovacuum."
 
-#: utils/misc/guc.c:3236
+#: utils/misc/guc.c:3237
 msgid "Minimum number of tuple updates or deletes prior to vacuum."
 msgstr "Número mínimo de updates o deletes antes de ejecutar vacuum."
 
-#: utils/misc/guc.c:3245
-#, fuzzy
-#| msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze."
+#: utils/misc/guc.c:3246
 msgid "Minimum number of tuple inserts prior to vacuum, or -1 to disable insert vacuums."
-msgstr "Número mínimo de inserciones, actualizaciones y eliminaciones de tuplas antes de ejecutar analyze."
+msgstr "Número mínimo de inserciones de tuplas antes de ejecutar vacuum, o -1 para desactivar vacuums por inserciones."
 
-#: utils/misc/guc.c:3254
+#: utils/misc/guc.c:3255
 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze."
 msgstr "Número mínimo de inserciones, actualizaciones y eliminaciones de tuplas antes de ejecutar analyze."
 
-#: utils/misc/guc.c:3264
+#: utils/misc/guc.c:3265
 msgid "Age at which to autovacuum a table to prevent transaction ID wraparound."
 msgstr "Edad a la cual aplicar VACUUM automáticamente a una tabla para prevenir problemas por reciclaje de ID de transacción."
 
-#: utils/misc/guc.c:3279
+#: utils/misc/guc.c:3280
 msgid "Multixact age at which to autovacuum a table to prevent multixact wraparound."
 msgstr "Edad de multixact a la cual aplicar VACUUM automáticamente a una tabla para prevenir problemas por reciclaje de ID de multixacts."
 
-#: utils/misc/guc.c:3289
+#: utils/misc/guc.c:3290
 msgid "Sets the maximum number of simultaneously running autovacuum worker processes."
 msgstr "Define la cantidad máxima de procesos «autovacuum worker» simultáneos."
 
-#: utils/misc/guc.c:3299
+#: utils/misc/guc.c:3300
 msgid "Sets the maximum number of parallel processes per maintenance operation."
 msgstr "Cantidad máxima de procesos ayudantes paralelos por operación de mantención."
 
-#: utils/misc/guc.c:3309
+#: utils/misc/guc.c:3310
 msgid "Sets the maximum number of parallel processes per executor node."
 msgstr "Cantidad máxima de locks de predicado por nodo de ejecución."
 
-#: utils/misc/guc.c:3320
+#: utils/misc/guc.c:3321
 msgid "Sets the maximum number of parallel workers that can be active at one time."
 msgstr "Define la cantidad máxima de procesos ayudantes que pueden estar activos en un momento dado."
 
-#: utils/misc/guc.c:3331
+#: utils/misc/guc.c:3332
 msgid "Sets the maximum memory to be used by each autovacuum worker process."
 msgstr "Establece el límite de memoria que cada proceso «autovacuum worker» usará."
 
-#: utils/misc/guc.c:3342
+#: utils/misc/guc.c:3343
 msgid "Time before a snapshot is too old to read pages changed after the snapshot was taken."
 msgstr "Tiempo antes de que un snapshot sea demasiado antiguo para leer páginas después de que el snapshot fue tomado."
 
-#: utils/misc/guc.c:3343
+#: utils/misc/guc.c:3344
 msgid "A value of -1 disables this feature."
 msgstr "El valor -1 desactiva esta característica."
 
-#: utils/misc/guc.c:3353
+#: utils/misc/guc.c:3354
 msgid "Time between issuing TCP keepalives."
 msgstr "Tiempo entre cada emisión de TCP keepalive."
 
-#: utils/misc/guc.c:3354 utils/misc/guc.c:3365 utils/misc/guc.c:3489
+#: utils/misc/guc.c:3355 utils/misc/guc.c:3366 utils/misc/guc.c:3490
 msgid "A value of 0 uses the system default."
 msgstr "Un valor 0 usa el valor por omisión del sistema."
 
-#: utils/misc/guc.c:3364
+#: utils/misc/guc.c:3365
 msgid "Time between TCP keepalive retransmits."
 msgstr "Tiempo entre retransmisiones TCP keepalive."
 
-#: utils/misc/guc.c:3375
+#: utils/misc/guc.c:3376
 msgid "SSL renegotiation is no longer supported; this can only be 0."
 msgstr "La renegociación SSL ya no está soportada; esto sólo puede ser 0."
 
-#: utils/misc/guc.c:3386
+#: utils/misc/guc.c:3387
 msgid "Maximum number of TCP keepalive retransmits."
 msgstr "Cantidad máxima de retransmisiones TCP keepalive."
 
-#: utils/misc/guc.c:3387
+#: utils/misc/guc.c:3388
 msgid "This controls the number of consecutive keepalive retransmits that can be lost before a connection is considered dead. A value of 0 uses the system default."
 msgstr "Esto controla el número de retransmisiones consecutivas de keepalive que pueden ser perdidas antes que la conexión sea considerada muerta.  Un valor 0 usa el valor por omisión del sistema."
 
-#: utils/misc/guc.c:3398
+#: utils/misc/guc.c:3399
 msgid "Sets the maximum allowed result for exact search by GIN."
 msgstr "Define el máximo de resultados permitidos por búsquedas exactas con GIN."
 
-#: utils/misc/guc.c:3409
+#: utils/misc/guc.c:3410
 msgid "Sets the planner's assumption about the total size of the data caches."
 msgstr "Define la suposición del optimizador sobre el tamaño total de los caches de datos."
 
-#: utils/misc/guc.c:3410
+#: utils/misc/guc.c:3411
 msgid "That is, the total size of the caches (kernel cache and shared buffers) used for PostgreSQL data files. This is measured in disk pages, which are normally 8 kB each."
 msgstr "Esto es, el tamaño total de caches (cache del kernel y búfers compartidos) usados por archivos de datos de PostgreSQL. Esto se mide en páginas de disco, que normalmente son de 8 kB cada una."
 
-#: utils/misc/guc.c:3421
+#: utils/misc/guc.c:3422
 msgid "Sets the minimum amount of table data for a parallel scan."
 msgstr "Define la cantidad mínima de datos en una tabla para un recorrido paralelo."
 
-#: utils/misc/guc.c:3422
+#: utils/misc/guc.c:3423
 msgid "If the planner estimates that it will read a number of table pages too small to reach this limit, a parallel scan will not be considered."
 msgstr "Si el planificador estima que leerá un número de páginas de tabla demasiado pequeñas para alcanzar este límite, no se considerará una búsqueda paralela."
 
-#: utils/misc/guc.c:3432
+#: utils/misc/guc.c:3433
 msgid "Sets the minimum amount of index data for a parallel scan."
 msgstr "Define la cantidad mínima de datos en un índice para un recorrido paralelo."
 
-#: utils/misc/guc.c:3433
+#: utils/misc/guc.c:3434
 msgid "If the planner estimates that it will read a number of index pages too small to reach this limit, a parallel scan will not be considered."
 msgstr "Si el planificador estima que leerá un número de páginas de índice demasiado pequeñas para alcanzar este límite, no se considerará una búsqueda paralela."
 
-#: utils/misc/guc.c:3444
+#: utils/misc/guc.c:3445
 msgid "Shows the server version as an integer."
 msgstr "Muestra la versión del servidor como un número entero."
 
-#: utils/misc/guc.c:3455
+#: utils/misc/guc.c:3456
 msgid "Log the use of temporary files larger than this number of kilobytes."
 msgstr "Registra el uso de archivos temporales que crezcan más allá de este número de kilobytes."
 
-#: utils/misc/guc.c:3456
+#: utils/misc/guc.c:3457
 msgid "Zero logs all files. The default is -1 (turning this feature off)."
 msgstr "Cero registra todos los archivos. El valor por omisión es -1 (lo cual desactiva el registro)."
 
-#: utils/misc/guc.c:3466
+#: utils/misc/guc.c:3467
 msgid "Sets the size reserved for pg_stat_activity.query, in bytes."
 msgstr "Tamaño reservado para pg_stat_activity.query, en bytes."
 
-#: utils/misc/guc.c:3477
+#: utils/misc/guc.c:3478
 msgid "Sets the maximum size of the pending list for GIN index."
 msgstr "Define el tamaño máximo de la lista de pendientes de un índice GIN."
 
-#: utils/misc/guc.c:3488
+#: utils/misc/guc.c:3489
 msgid "TCP user timeout."
 msgstr "Tiempo de expiración de TCP."
 
-#: utils/misc/guc.c:3499
+#: utils/misc/guc.c:3500
 msgid "The size of huge page that should be requested."
-msgstr ""
+msgstr "El tamaño de huge page que se debería solicitar."
 
-#: utils/misc/guc.c:3510
-msgid "Aggressively invalidate system caches for debugging purposes."
-msgstr ""
+#: utils/misc/guc.c:3511
+msgid "Aggressively flush system caches for debugging purposes."
+msgstr "Escribir cachés de sistema de forma agresiva para propósitos de depuración."
 
-#: utils/misc/guc.c:3533
-#, fuzzy
-#| msgid "Sets the maximum interval between WAL receiver status reports to the sending server."
+#: utils/misc/guc.c:3534
 msgid "Sets the time interval between checks for disconnection while running queries."
-msgstr "Define el intervalo máximo entre reportes de estado que el receptor de WAL envía al servidor origen."
+msgstr "Establece el intervalo entre revisiones de desconexión mientras se ejecutan consultas."
 
-#: utils/misc/guc.c:3553
+#: utils/misc/guc.c:3554
 msgid "Sets the planner's estimate of the cost of a sequentially fetched disk page."
 msgstr "Estimación del costo de una página leída secuencialmente."
 
-#: utils/misc/guc.c:3564
+#: utils/misc/guc.c:3565
 msgid "Sets the planner's estimate of the cost of a nonsequentially fetched disk page."
 msgstr "Estimación del costo de una página leída no secuencialmente."
 
-#: utils/misc/guc.c:3575
+#: utils/misc/guc.c:3576
 msgid "Sets the planner's estimate of the cost of processing each tuple (row)."
 msgstr "Estimación del costo de procesar cada tupla (fila)."
 
-#: utils/misc/guc.c:3586
+#: utils/misc/guc.c:3587
 msgid "Sets the planner's estimate of the cost of processing each index entry during an index scan."
 msgstr "Estimación del costo de procesar cada fila de índice durante un recorrido de índice."
 
-#: utils/misc/guc.c:3597
+#: utils/misc/guc.c:3598
 msgid "Sets the planner's estimate of the cost of processing each operator or function call."
 msgstr "Estimación del costo de procesar cada operador o llamada a función."
 
-#: utils/misc/guc.c:3608
-#, fuzzy
-#| msgid "Sets the planner's estimate of the cost of passing each tuple (row) from worker to master backend."
+#: utils/misc/guc.c:3609
 msgid "Sets the planner's estimate of the cost of passing each tuple (row) from worker to leader backend."
 msgstr "Estimación del costo de pasar cada tupla (fila) desde un proceso ayudante al proceso servidor principal."
 
-#: utils/misc/guc.c:3619
+#: utils/misc/guc.c:3620
 msgid "Sets the planner's estimate of the cost of starting up worker processes for parallel query."
 msgstr "Estimación del costo de lanzar procesos ayudantes para consultas en paralelo."
 
-#: utils/misc/guc.c:3631
+#: utils/misc/guc.c:3632
 msgid "Perform JIT compilation if query is more expensive."
 msgstr "Ejecutar compilación JIT si la consulta es más cara."
 
-#: utils/misc/guc.c:3632
+#: utils/misc/guc.c:3633
 msgid "-1 disables JIT compilation."
 msgstr "-1 inhabilita compilación JIT."
 
-#: utils/misc/guc.c:3642
-#, fuzzy
-#| msgid "Optimize JITed functions if query is more expensive."
+#: utils/misc/guc.c:3643
 msgid "Optimize JIT-compiled functions if query is more expensive."
-msgstr "Optimizar funciones JIT-compiladas si la consulta es más cara."
+msgstr "Optimizar funciones compiladas en tiempo de ejecución (JIT) si la consulta es más cara."
 
-#: utils/misc/guc.c:3643
+#: utils/misc/guc.c:3644
 msgid "-1 disables optimization."
 msgstr "-1 inhabilita la optimización."
 
-#: utils/misc/guc.c:3653
+#: utils/misc/guc.c:3654
 msgid "Perform JIT inlining if query is more expensive."
 msgstr "Ejecutar «inlining» JIT si la consulta es más cara."
 
-#: utils/misc/guc.c:3654
+#: utils/misc/guc.c:3655
 msgid "-1 disables inlining."
 msgstr "-1 inhabilita el «inlining»."
 
-#: utils/misc/guc.c:3664
+#: utils/misc/guc.c:3665
 msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved."
 msgstr "Estimación de la fracción de filas de un cursor que serán extraídas."
 
-#: utils/misc/guc.c:3676
+#: utils/misc/guc.c:3677
 msgid "GEQO: selective pressure within the population."
 msgstr "GEQO: presión selectiva dentro de la población."
 
-#: utils/misc/guc.c:3687
+#: utils/misc/guc.c:3688
 msgid "GEQO: seed for random path selection."
 msgstr "GEQO: semilla para la selección aleatoria de caminos."
 
-#: utils/misc/guc.c:3698
+#: utils/misc/guc.c:3699
 msgid "Multiple of work_mem to use for hash tables."
 msgstr "Múltiplo de work_mem para el uso de tablas de hash."
 
-#: utils/misc/guc.c:3709
+#: utils/misc/guc.c:3710
 msgid "Multiple of the average buffer usage to free per round."
 msgstr "Múltiplo del uso promedio de búfers que liberar en cada ronda."
 
-#: utils/misc/guc.c:3719
+#: utils/misc/guc.c:3720
 msgid "Sets the seed for random-number generation."
 msgstr "Semilla para la generación de números aleatorios."
 
-#: utils/misc/guc.c:3730
+#: utils/misc/guc.c:3731
 msgid "Vacuum cost delay in milliseconds."
 msgstr "Tiempo de descanso de vacuum en milisegundos."
 
-#: utils/misc/guc.c:3741
+#: utils/misc/guc.c:3742
 msgid "Vacuum cost delay in milliseconds, for autovacuum."
 msgstr "Tiempo de descanso de vacuum en milisegundos, para autovacuum."
 
-#: utils/misc/guc.c:3752
+#: utils/misc/guc.c:3753
 msgid "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples."
 msgstr "Número de updates o deletes de tuplas antes de ejecutar un vacuum, como fracción de reltuples."
 
-#: utils/misc/guc.c:3762
-#, fuzzy
-#| msgid "Number of tuple inserts prior to index cleanup as a fraction of reltuples."
+#: utils/misc/guc.c:3763
 msgid "Number of tuple inserts prior to vacuum as a fraction of reltuples."
-msgstr "Número de inserts de tuplas antes de ejecutar una limpieza de índice, como fracción de reltuples."
+msgstr "Número de inserts de tuplas antes de ejecutar un vacuum, como fracción de reltuples."
 
-#: utils/misc/guc.c:3772
+#: utils/misc/guc.c:3773
 msgid "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples."
 msgstr "Número mínimo de inserciones, actualizaciones y eliminaciones de tuplas antes de ejecutar analyze, como fracción de reltuples."
 
-#: utils/misc/guc.c:3782
+#: utils/misc/guc.c:3783
 msgid "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval."
 msgstr "Tiempo utilizado en escribir páginas «sucias» durante los puntos de control, medido como fracción del intervalo del punto de control."
 
-#: utils/misc/guc.c:3792
+#: utils/misc/guc.c:3793
 msgid "Fraction of statements exceeding log_min_duration_sample to be logged."
 msgstr "Fracción de sentencias que duren más de log_min_duration_sample a ser registradas."
 
-#: utils/misc/guc.c:3793
+#: utils/misc/guc.c:3794
 msgid "Use a value between 0.0 (never log) and 1.0 (always log)."
 msgstr "Use un valor entre 0.0 (no registrar nunca) y 1.0 (registrar siempre)."
 
-#: utils/misc/guc.c:3802
-#, fuzzy
-#| msgid "Set the fraction of transactions to log for new transactions."
+#: utils/misc/guc.c:3803
 msgid "Sets the fraction of transactions from which to log all statements."
-msgstr "Define la fracción de transacciones que registrar en el log, para nuevas transacciones."
+msgstr "Define la fracción de transacciones desde la cual registrar en el log todas las sentencias."
 
-#: utils/misc/guc.c:3803
-#, fuzzy
-#| msgid "Logs all statements from a fraction of transactions. Use a value between 0.0 (never log) and 1.0 (log all statements for all transactions)."
+#: utils/misc/guc.c:3804
 msgid "Use a value between 0.0 (never log) and 1.0 (log all statements for all transactions)."
-msgstr "Registra todas las sentencias de una fracción de transacciones. Use un valor entre 0.0 (nunca registrar) y 1.0 (registrar todas las sentencias de todas las transacciones)."
+msgstr "Use un valor entre 0.0 (nunca registrar) y 1.0 (registrar todas las sentencias de todas las transacciones)."
 
-#: utils/misc/guc.c:3822
+#: utils/misc/guc.c:3823
 msgid "Sets the shell command that will be called to archive a WAL file."
 msgstr "Orden de shell que se invocará para archivar un archivo WAL."
 
-#: utils/misc/guc.c:3832
-#, fuzzy
-#| msgid "Sets the shell command that will be called to archive a WAL file."
+#: utils/misc/guc.c:3833
 msgid "Sets the shell command that will be called to retrieve an archived WAL file."
-msgstr "Orden de shell que se invocará para archivar un archivo WAL."
+msgstr "Orden de shell que se invocará para recuperar un archivo WAL archivado."
 
-#: utils/misc/guc.c:3842
+#: utils/misc/guc.c:3843
 msgid "Sets the shell command that will be executed at every restart point."
 msgstr "Orden de shell que se invocará en cada «restart point»."
 
-#: utils/misc/guc.c:3852
+#: utils/misc/guc.c:3853
 msgid "Sets the shell command that will be executed once at the end of recovery."
 msgstr "Orden de shell que se invocará una vez al terminar la recuperación."
 
-#: utils/misc/guc.c:3862
+#: utils/misc/guc.c:3863
 msgid "Specifies the timeline to recover into."
 msgstr "Especifica la línea de tiempo a la cual recuperar."
 
-#: utils/misc/guc.c:3872
+#: utils/misc/guc.c:3873
 msgid "Set to \"immediate\" to end recovery as soon as a consistent state is reached."
 msgstr "Defina a «immediate» para terminar la recuperación en cuando se alcance el estado consistente."
 
-#: utils/misc/guc.c:3881
+#: utils/misc/guc.c:3882
 msgid "Sets the transaction ID up to which recovery will proceed."
 msgstr "Define el ID de transacción hasta el cual se ejecutará la recuperación."
 
-#: utils/misc/guc.c:3890
+#: utils/misc/guc.c:3891
 msgid "Sets the time stamp up to which recovery will proceed."
 msgstr "Define la marca de tiempo hasta la cual se ejecutará la recuperación."
 
-#: utils/misc/guc.c:3899
+#: utils/misc/guc.c:3900
 msgid "Sets the named restore point up to which recovery will proceed."
 msgstr "Define el nombre del punto de restauración hasta el cual se ejecutará la recuperación."
 
-#: utils/misc/guc.c:3908
+#: utils/misc/guc.c:3909
 msgid "Sets the LSN of the write-ahead log location up to which recovery will proceed."
 msgstr "Define el LSN de la ubicación de WAL hasta la cual se ejecutará la recuperación."
 
-#: utils/misc/guc.c:3918
+#: utils/misc/guc.c:3919
 msgid "Specifies a file name whose presence ends recovery in the standby."
 msgstr "Especifica un nombre de archivo cuya presencia termina la recuperación en el standby."
 
-#: utils/misc/guc.c:3928
+#: utils/misc/guc.c:3929
 msgid "Sets the connection string to be used to connect to the sending server."
 msgstr "Define la cadena de conexión que se usará para conectarse al servidor de origen."
 
-#: utils/misc/guc.c:3939
+#: utils/misc/guc.c:3940
 msgid "Sets the name of the replication slot to use on the sending server."
 msgstr "Define el nombre del slot de replicación a utilizar en el servidor de origen."
 
-#: utils/misc/guc.c:3949
+#: utils/misc/guc.c:3950
 msgid "Sets the client's character set encoding."
 msgstr "Codificación del juego de caracteres del cliente."
 
-#: utils/misc/guc.c:3960
+#: utils/misc/guc.c:3961
 msgid "Controls information prefixed to each log line."
 msgstr "Controla el prefijo que antecede cada línea registrada."
 
-#: utils/misc/guc.c:3961
+#: utils/misc/guc.c:3962
 msgid "If blank, no prefix is used."
 msgstr "si está en blanco, no se usa prefijo."
 
-#: utils/misc/guc.c:3970
+#: utils/misc/guc.c:3971
 msgid "Sets the time zone to use in log messages."
 msgstr "Define el huso horario usando en los mensajes registrados."
 
-#: utils/misc/guc.c:3980
+#: utils/misc/guc.c:3981
 msgid "Sets the display format for date and time values."
 msgstr "Formato de salida para valores de horas y fechas."
 
-#: utils/misc/guc.c:3981
+#: utils/misc/guc.c:3982
 msgid "Also controls interpretation of ambiguous date inputs."
 msgstr "También controla la interpretación de entradas ambiguas de fechas"
 
-#: utils/misc/guc.c:3992
+#: utils/misc/guc.c:3993
 msgid "Sets the default table access method for new tables."
 msgstr "Define el método de acceso a tablas por omisión para nuevas tablas."
 
-#: utils/misc/guc.c:4003
+#: utils/misc/guc.c:4004
 msgid "Sets the default tablespace to create tables and indexes in."
 msgstr "Define el tablespace en el cual crear tablas e índices."
 
-#: utils/misc/guc.c:4004
+#: utils/misc/guc.c:4005
 msgid "An empty string selects the database's default tablespace."
 msgstr "Una cadena vacía especifica el tablespace por omisión de la base de datos."
 
-#: utils/misc/guc.c:4014
+#: utils/misc/guc.c:4015
 msgid "Sets the tablespace(s) to use for temporary tables and sort files."
 msgstr "Define el/los tablespace/s en el cual crear tablas temporales y archivos de ordenamiento."
 
-#: utils/misc/guc.c:4025
+#: utils/misc/guc.c:4026
 msgid "Sets the path for dynamically loadable modules."
 msgstr "Ruta para módulos dinámicos."
 
-#: utils/misc/guc.c:4026
+#: utils/misc/guc.c:4027
 msgid "If a dynamically loadable module needs to be opened and the specified name does not have a directory component (i.e., the name does not contain a slash), the system will search this path for the specified file."
 msgstr "Si se necesita abrir un módulo dinámico y el nombre especificado no tiene un componente de directorio (es decir, no contiene un slash), el sistema buscará el archivo especificado en esta ruta."
 
-#: utils/misc/guc.c:4039
+#: utils/misc/guc.c:4040
 msgid "Sets the location of the Kerberos server key file."
 msgstr "Ubicación del archivo de llave del servidor Kerberos."
 
-#: utils/misc/guc.c:4050
+#: utils/misc/guc.c:4051
 msgid "Sets the Bonjour service name."
 msgstr "Nombre del servicio Bonjour."
 
-#: utils/misc/guc.c:4062
+#: utils/misc/guc.c:4063
 msgid "Shows the collation order locale."
 msgstr "Configuración regional de ordenamiento de cadenas (collation)."
 
-#: utils/misc/guc.c:4073
+#: utils/misc/guc.c:4074
 msgid "Shows the character classification and case conversion locale."
 msgstr "Configuración regional de clasificación de caracteres y conversión de mayúsculas."
 
-#: utils/misc/guc.c:4084
+#: utils/misc/guc.c:4085
 msgid "Sets the language in which messages are displayed."
 msgstr "Idioma en el que se despliegan los mensajes."
 
-#: utils/misc/guc.c:4094
+#: utils/misc/guc.c:4095
 msgid "Sets the locale for formatting monetary amounts."
 msgstr "Configuración regional para formatos de moneda."
 
-#: utils/misc/guc.c:4104
+#: utils/misc/guc.c:4105
 msgid "Sets the locale for formatting numbers."
 msgstr "Configuración regional para formatos de números."
 
-#: utils/misc/guc.c:4114
+#: utils/misc/guc.c:4115
 msgid "Sets the locale for formatting date and time values."
 msgstr "Configuración regional para formatos de horas y fechas."
 
-#: utils/misc/guc.c:4124
+#: utils/misc/guc.c:4125
 msgid "Lists shared libraries to preload into each backend."
 msgstr "Bibliotecas compartidas a precargar en cada proceso."
 
-#: utils/misc/guc.c:4135
+#: utils/misc/guc.c:4136
 msgid "Lists shared libraries to preload into server."
 msgstr "Bibliotecas compartidas a precargar en el servidor."
 
-#: utils/misc/guc.c:4146
+#: utils/misc/guc.c:4147
 msgid "Lists unprivileged shared libraries to preload into each backend."
 msgstr "Bibliotecas compartidas no privilegiadas a precargar en cada proceso."
 
-#: utils/misc/guc.c:4157
+#: utils/misc/guc.c:4158
 msgid "Sets the schema search order for names that are not schema-qualified."
 msgstr "Orden de búsqueda en schemas para nombres que no especifican schema."
 
-#: utils/misc/guc.c:4169
-#, fuzzy
-#| msgid "Sets the server (database) character set encoding."
+#: utils/misc/guc.c:4170
 msgid "Shows the server (database) character set encoding."
-msgstr "Codificación de caracteres del servidor (bases de datos)."
+msgstr "Muestra la codificación de caracteres del servidor (base de datos)."
 
-#: utils/misc/guc.c:4181
+#: utils/misc/guc.c:4182
 msgid "Shows the server version."
 msgstr "Versión del servidor."
 
-#: utils/misc/guc.c:4193
+#: utils/misc/guc.c:4194
 msgid "Sets the current role."
 msgstr "Define el rol actual."
 
-#: utils/misc/guc.c:4205
+#: utils/misc/guc.c:4206
 msgid "Sets the session user name."
 msgstr "Define el nombre del usuario de sesión."
 
-#: utils/misc/guc.c:4216
+#: utils/misc/guc.c:4217
 msgid "Sets the destination for server log output."
 msgstr "Define el destino de la salida del registro del servidor."
 
-#: utils/misc/guc.c:4217
+#: utils/misc/guc.c:4218
 msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", and \"eventlog\", depending on the platform."
 msgstr "Los valores aceptables son combinaciones de «stderr», «syslog», «csvlog» y «eventlog», dependiendo de la plataforma."
 
-#: utils/misc/guc.c:4228
+#: utils/misc/guc.c:4229
 msgid "Sets the destination directory for log files."
 msgstr "Define el directorio de destino de los archivos del registro del servidor."
 
-#: utils/misc/guc.c:4229
+#: utils/misc/guc.c:4230
 msgid "Can be specified as relative to the data directory or as absolute path."
 msgstr "Puede ser una ruta relativa al directorio de datos o una ruta absoluta."
 
-#: utils/misc/guc.c:4239
+#: utils/misc/guc.c:4240
 msgid "Sets the file name pattern for log files."
 msgstr "Define el patrón para los nombres de archivo del registro del servidor."
 
-#: utils/misc/guc.c:4250
+#: utils/misc/guc.c:4251
 msgid "Sets the program name used to identify PostgreSQL messages in syslog."
 msgstr "Nombre de programa para identificar PostgreSQL en mensajes de syslog."
 
-#: utils/misc/guc.c:4261
+#: utils/misc/guc.c:4262
 msgid "Sets the application name used to identify PostgreSQL messages in the event log."
 msgstr "Nombre de programa para identificar PostgreSQL en mensajes del log de eventos."
 
-#: utils/misc/guc.c:4272
+#: utils/misc/guc.c:4273
 msgid "Sets the time zone for displaying and interpreting time stamps."
 msgstr "Huso horario para desplegar e interpretar valores de tiempo."
 
-#: utils/misc/guc.c:4282
+#: utils/misc/guc.c:4283
 msgid "Selects a file of time zone abbreviations."
 msgstr "Selecciona un archivo de abreviaciones de huso horario."
 
-#: utils/misc/guc.c:4292
+#: utils/misc/guc.c:4293
 msgid "Sets the owning group of the Unix-domain socket."
 msgstr "Grupo dueño del socket de dominio Unix."
 
-#: utils/misc/guc.c:4293
+#: utils/misc/guc.c:4294
 msgid "The owning user of the socket is always the user that starts the server."
 msgstr "El usuario dueño del socket siempre es el usuario que inicia el servidor."
 
-#: utils/misc/guc.c:4303
+#: utils/misc/guc.c:4304
 msgid "Sets the directories where Unix-domain sockets will be created."
 msgstr "Directorios donde se crearán los sockets de dominio Unix."
 
-#: utils/misc/guc.c:4318
+#: utils/misc/guc.c:4319
 msgid "Sets the host name or IP address(es) to listen to."
 msgstr "Define el nombre de anfitrión o dirección IP en la cual escuchar."
 
-#: utils/misc/guc.c:4333
+#: utils/misc/guc.c:4334
 msgid "Sets the server's data directory."
 msgstr "Define la ubicación del directorio de datos."
 
-#: utils/misc/guc.c:4344
+#: utils/misc/guc.c:4345
 msgid "Sets the server's main configuration file."
 msgstr "Define la ubicación del archivo principal de configuración del servidor."
 
-#: utils/misc/guc.c:4355
+#: utils/misc/guc.c:4356
 msgid "Sets the server's \"hba\" configuration file."
 msgstr "Define la ubicación del archivo de configuración «hba» del servidor."
 
-#: utils/misc/guc.c:4366
+#: utils/misc/guc.c:4367
 msgid "Sets the server's \"ident\" configuration file."
 msgstr "Define la ubicación del archivo de configuración «ident» del servidor."
 
-#: utils/misc/guc.c:4377
+#: utils/misc/guc.c:4378
 msgid "Writes the postmaster PID to the specified file."
 msgstr "Registra el PID de postmaster en el archivo especificado."
 
-#: utils/misc/guc.c:4388
-#, fuzzy
-#| msgid "Name of the SSL library."
+#: utils/misc/guc.c:4389
 msgid "Shows the name of the SSL library."
-msgstr "Nombre de la biblioteca SSL."
+msgstr "Muestra el nombre de la biblioteca SSL."
 
-#: utils/misc/guc.c:4403
+#: utils/misc/guc.c:4404
 msgid "Location of the SSL server certificate file."
 msgstr "Ubicación del archivo de certificado SSL del servidor."
 
-#: utils/misc/guc.c:4413
+#: utils/misc/guc.c:4414
 msgid "Location of the SSL server private key file."
 msgstr "Ubicación del archivo de la llave SSL privada del servidor."
 
-#: utils/misc/guc.c:4423
+#: utils/misc/guc.c:4424
 msgid "Location of the SSL certificate authority file."
 msgstr "Ubicación del archivo de autoridad certificadora SSL."
 
-#: utils/misc/guc.c:4433
+#: utils/misc/guc.c:4434
 msgid "Location of the SSL certificate revocation list file."
 msgstr "Ubicación del archivo de lista de revocación de certificados SSL"
 
-#: utils/misc/guc.c:4443
-#, fuzzy
-#| msgid "Location of the SSL certificate revocation list file."
+#: utils/misc/guc.c:4444
 msgid "Location of the SSL certificate revocation list directory."
-msgstr "Ubicación del archivo de lista de revocación de certificados SSL"
+msgstr "Ubicación del directorio de lista de revocación de certificados SSL"
 
-#: utils/misc/guc.c:4453
+#: utils/misc/guc.c:4454
 msgid "Writes temporary statistics files to the specified directory."
 msgstr "Escribe los archivos temporales de estadísticas al directorio especificado."
 
-#: utils/misc/guc.c:4464
+#: utils/misc/guc.c:4465
 msgid "Number of synchronous standbys and list of names of potential synchronous ones."
 msgstr "Número de standbys sincrónicos y lista de nombres de los potenciales sincrónicos."
 
-#: utils/misc/guc.c:4475
+#: utils/misc/guc.c:4476
 msgid "Sets default text search configuration."
 msgstr "Define la configuración de búsqueda en texto por omisión."
 
-#: utils/misc/guc.c:4485
+#: utils/misc/guc.c:4486
 msgid "Sets the list of allowed SSL ciphers."
 msgstr "Define la lista de cifrados SSL permitidos."
 
-#: utils/misc/guc.c:4500
+#: utils/misc/guc.c:4501
 msgid "Sets the curve to use for ECDH."
 msgstr "Define la curva a usar para ECDH."
 
-#: utils/misc/guc.c:4515
+#: utils/misc/guc.c:4516
 msgid "Location of the SSL DH parameters file."
 msgstr "Ubicación del archivo de parámetros DH para SSL."
 
-#: utils/misc/guc.c:4526
+#: utils/misc/guc.c:4527
 msgid "Command to obtain passphrases for SSL."
 msgstr "Orden para obtener frases clave para SSL."
 
-#: utils/misc/guc.c:4537
+#: utils/misc/guc.c:4538
 msgid "Sets the application name to be reported in statistics and logs."
 msgstr "Define el nombre de aplicación a reportarse en estadísticas y logs."
 
-#: utils/misc/guc.c:4548
+#: utils/misc/guc.c:4549
 msgid "Sets the name of the cluster, which is included in the process title."
 msgstr "Define el nombre del clúster, el cual se incluye en el título de proceso."
 
-#: utils/misc/guc.c:4559
+#: utils/misc/guc.c:4560
 msgid "Sets the WAL resource managers for which WAL consistency checks are done."
 msgstr "Define los gestores de recursos WAL para los cuales hacer verificaciones de consistencia WAL."
 
-#: utils/misc/guc.c:4560
+#: utils/misc/guc.c:4561
 msgid "Full-page images will be logged for all data blocks and cross-checked against the results of WAL replay."
 msgstr "Se registrarán imágenes de página completa para todos los bloques de datos, y comparados con los resultados de la aplicación de WAL."
 
-#: utils/misc/guc.c:4570
+#: utils/misc/guc.c:4571
 msgid "JIT provider to use."
 msgstr "Proveedor JIT a usar."
 
-#: utils/misc/guc.c:4581
-#, fuzzy
-#| msgid "Logs the host name in the connection logs."
+#: utils/misc/guc.c:4582
 msgid "Log backtrace for errors in these functions."
-msgstr "Registrar el nombre del host en la conexión."
+msgstr "Registrar el backtrace para errores que se produzcan en estas funciones."
 
-#: utils/misc/guc.c:4601
+#: utils/misc/guc.c:4602
 msgid "Sets whether \"\\'\" is allowed in string literals."
 msgstr "Define si «\\'» está permitido en literales de cadena."
 
-#: utils/misc/guc.c:4611
+#: utils/misc/guc.c:4612
 msgid "Sets the output format for bytea."
 msgstr "Formato de salida para bytea."
 
-#: utils/misc/guc.c:4621
+#: utils/misc/guc.c:4622
 msgid "Sets the message levels that are sent to the client."
 msgstr "Nivel de mensajes enviados al cliente."
 
-#: utils/misc/guc.c:4622 utils/misc/guc.c:4708 utils/misc/guc.c:4719
-#: utils/misc/guc.c:4795
+#: utils/misc/guc.c:4623 utils/misc/guc.c:4709 utils/misc/guc.c:4720
+#: utils/misc/guc.c:4796
 msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent."
 msgstr "Cada nivel incluye todos los niveles que lo siguen.  Mientras más posterior el nivel, menos mensajes se enviarán."
 
-#: utils/misc/guc.c:4632
-#, fuzzy
-#| msgid "unterminated quoted identifier"
+#: utils/misc/guc.c:4633
 msgid "Compute query identifiers."
-msgstr "un identificador entre comillas está inconcluso"
+msgstr "Calcular identificadores de consulta."
 
-#: utils/misc/guc.c:4642
+#: utils/misc/guc.c:4643
 msgid "Enables the planner to use constraints to optimize queries."
 msgstr "Permitir el uso de restricciones para limitar los accesos a tablas."
 
-#: utils/misc/guc.c:4643
+#: utils/misc/guc.c:4644
 msgid "Table scans will be skipped if their constraints guarantee that no rows match the query."
 msgstr "Las tablas no serán recorridas si sus restricciones garantizan que ninguna fila coincidirá con la consulta."
 
-#: utils/misc/guc.c:4654
-#, fuzzy
-#| msgid "Sets the default table access method for new tables."
+#: utils/misc/guc.c:4655
 msgid "Sets the default compression method for compressible values."
-msgstr "Define el método de acceso a tablas por omisión para nuevas tablas."
+msgstr "Define el método de compresión por omisión para valores comprimibles."
 
-#: utils/misc/guc.c:4665
+#: utils/misc/guc.c:4666
 msgid "Sets the transaction isolation level of each new transaction."
 msgstr "Nivel de aislación (isolation level) de transacciones nuevas."
 
-#: utils/misc/guc.c:4675
+#: utils/misc/guc.c:4676
 msgid "Sets the current transaction's isolation level."
 msgstr "Define el nivel de aislación de la transacción en curso."
 
-#: utils/misc/guc.c:4686
+#: utils/misc/guc.c:4687
 msgid "Sets the display format for interval values."
 msgstr "Formato de salida para valores de intervalos."
 
-#: utils/misc/guc.c:4697
+#: utils/misc/guc.c:4698
 msgid "Sets the verbosity of logged messages."
 msgstr "Verbosidad de los mensajes registrados."
 
-#: utils/misc/guc.c:4707
+#: utils/misc/guc.c:4708
 msgid "Sets the message levels that are logged."
 msgstr "Nivel de mensajes registrados."
 
-#: utils/misc/guc.c:4718
+#: utils/misc/guc.c:4719
 msgid "Causes all statements generating error at or above this level to be logged."
 msgstr "Registrar sentencias que generan error de nivel superior o igual a éste."
 
-#: utils/misc/guc.c:4729
+#: utils/misc/guc.c:4730
 msgid "Sets the type of statements logged."
 msgstr "Define el tipo de sentencias que se registran."
 
-#: utils/misc/guc.c:4739
+#: utils/misc/guc.c:4740
 msgid "Sets the syslog \"facility\" to be used when syslog enabled."
 msgstr "«Facility» de syslog que se usará cuando syslog esté habilitado."
 
-#: utils/misc/guc.c:4754
+#: utils/misc/guc.c:4755
 msgid "Sets the session's behavior for triggers and rewrite rules."
 msgstr "Define el comportamiento de la sesión con respecto a disparadores y reglas de reescritura."
 
-#: utils/misc/guc.c:4764
+#: utils/misc/guc.c:4765
 msgid "Sets the current transaction's synchronization level."
 msgstr "Define el nivel de sincronización de la transacción en curso."
 
-#: utils/misc/guc.c:4774
+#: utils/misc/guc.c:4775
 msgid "Allows archiving of WAL files using archive_command."
 msgstr "Permite el archivado de WAL usando archive_command."
 
-#: utils/misc/guc.c:4784
+#: utils/misc/guc.c:4785
 msgid "Sets the action to perform upon reaching the recovery target."
 msgstr "Acción a ejecutar al alcanzar el destino de recuperación."
 
-#: utils/misc/guc.c:4794
+#: utils/misc/guc.c:4795
 msgid "Enables logging of recovery-related debugging information."
 msgstr "Recolectar información de depuración relacionada con la recuperación."
 
-#: utils/misc/guc.c:4810
+#: utils/misc/guc.c:4811
 msgid "Collects function-level statistics on database activity."
 msgstr "Recolectar estadísticas de actividad de funciones en la base de datos."
 
-#: utils/misc/guc.c:4820
-#, fuzzy
-#| msgid "Set the level of information written to the WAL."
+#: utils/misc/guc.c:4821
 msgid "Sets the level of information written to the WAL."
-msgstr "Nivel de información escrita a WAL."
+msgstr "Establece el nivel de información escrita al WAL."
 
-#: utils/misc/guc.c:4830
+#: utils/misc/guc.c:4831
 msgid "Selects the dynamic shared memory implementation used."
 msgstr "Escoge la implementación de memoria compartida dinámica que se usará."
 
-#: utils/misc/guc.c:4840
+#: utils/misc/guc.c:4841
 msgid "Selects the shared memory implementation used for the main shared memory region."
 msgstr "Escoge la implementación de memoria compartida dinámica que se usará para la región principal de memoria compartida."
 
-#: utils/misc/guc.c:4850
+#: utils/misc/guc.c:4851
 msgid "Selects the method used for forcing WAL updates to disk."
 msgstr "Selecciona el método usado para forzar escritura de WAL a disco."
 
-#: utils/misc/guc.c:4860
+#: utils/misc/guc.c:4861
 msgid "Sets how binary values are to be encoded in XML."
 msgstr "Define cómo se codificarán los valores binarios en XML."
 
-#: utils/misc/guc.c:4870
+#: utils/misc/guc.c:4871
 msgid "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments."
 msgstr "Define si los datos XML implícitos en operaciones de análisis y serialización serán considerados documentos o fragmentos de contenido."
 
-#: utils/misc/guc.c:4881
+#: utils/misc/guc.c:4882
 msgid "Use of huge pages on Linux or Windows."
 msgstr "Usar páginas grandes (huge) en Linux o Windows."
 
-#: utils/misc/guc.c:4891
+#: utils/misc/guc.c:4892
 msgid "Forces use of parallel query facilities."
 msgstr "Obliga al uso de la funcionalidad de consultas paralelas."
 
-#: utils/misc/guc.c:4892
+#: utils/misc/guc.c:4893
 msgid "If possible, run query using a parallel worker and with parallel restrictions."
 msgstr "Si es posible, ejecuta cada consulta en un ayudante paralelo y con restricciones de paralelismo."
 
-#: utils/misc/guc.c:4902
+#: utils/misc/guc.c:4903
 msgid "Chooses the algorithm for encrypting passwords."
 msgstr "Escoge el algoritmo para cifrar contraseñas."
 
-#: utils/misc/guc.c:4912
+#: utils/misc/guc.c:4913
 msgid "Controls the planner's selection of custom or generic plan."
 msgstr "Controla la selección del optimizador de planes genéricos o «custom»."
 
-#: utils/misc/guc.c:4913
+#: utils/misc/guc.c:4914
 msgid "Prepared statements can have custom and generic plans, and the planner will attempt to choose which is better.  This can be set to override the default behavior."
 msgstr "Las sentencias preparadas pueden tener planes genéricos y «custom», y el optimizador intentará escoger cuál es mejor. Esto puede usarse para controlar manualmente el comportamiento."
 
-#: utils/misc/guc.c:4925
+#: utils/misc/guc.c:4926
 msgid "Sets the minimum SSL/TLS protocol version to use."
 msgstr "Define la versión mínima del protocolo SSL/TLS a usar."
 
-#: utils/misc/guc.c:4937
+#: utils/misc/guc.c:4938
 msgid "Sets the maximum SSL/TLS protocol version to use."
 msgstr "Define la versión máxima del protocolo SSL/TLS a usar."
 
-#: utils/misc/guc.c:4949
+#: utils/misc/guc.c:4950
 msgid "Sets the method for synchronizing the data directory before crash recovery."
-msgstr ""
+msgstr "Establece el método para sincronizar el directorio de datos antes de la recuperación ante una caída."
 
-#: utils/misc/guc.c:5518
-#, fuzzy, c-format
-#| msgid "unrecognized configuration parameter \"%s\""
+#: utils/misc/guc.c:5519
+#, c-format
 msgid "invalid configuration parameter name \"%s\""
-msgstr "parámetro de configuración «%s» no reconocido"
+msgstr "nombre de parámetro de configuración «%s» no válido"
 
-#: utils/misc/guc.c:5520
+#: utils/misc/guc.c:5521
 #, c-format
 msgid "Custom parameter names must be two or more simple identifiers separated by dots."
-msgstr ""
+msgstr "Los nombres de los parámetros personalizados deben ser dos o más identificadores sencillos separados por puntos."
 
-#: utils/misc/guc.c:5529 utils/misc/guc.c:9288
+#: utils/misc/guc.c:5530 utils/misc/guc.c:9289
 #, c-format
 msgid "unrecognized configuration parameter \"%s\""
 msgstr "parámetro de configuración «%s» no reconocido"
 
-#: utils/misc/guc.c:5822
+#: utils/misc/guc.c:5823
 #, c-format
 msgid "%s: could not access directory \"%s\": %s\n"
 msgstr "%s: no se pudo acceder al directorio «%s»: %s\n"
 
-#: utils/misc/guc.c:5827
+#: utils/misc/guc.c:5828
 #, c-format
 msgid "Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n"
 msgstr "Ejecute initdb o pg_basebackup para inicializar un directorio de datos de PostgreSQL.\n"
 
-#: utils/misc/guc.c:5847
+#: utils/misc/guc.c:5848
 #, c-format
 msgid ""
 "%s does not know where to find the server configuration file.\n"
@@ -28386,12 +27913,12 @@ msgstr ""
 "%s no sabe dónde encontrar el archivo de configuración del servidor.\n"
 "Debe especificar la opción --config-file o -D o definir la variable de ambiente PGDATA.\n"
 
-#: utils/misc/guc.c:5866
+#: utils/misc/guc.c:5867
 #, c-format
 msgid "%s: could not access the server configuration file \"%s\": %s\n"
 msgstr "%s: no se pudo acceder al archivo de configuración «%s»: %s\n"
 
-#: utils/misc/guc.c:5892
+#: utils/misc/guc.c:5893
 #, c-format
 msgid ""
 "%s does not know where to find the database system data.\n"
@@ -28400,7 +27927,7 @@ msgstr ""
 "%s no sabe dónde encontrar los archivos de sistema de la base de datos.\n"
 "Esto puede especificarse como «data_directory» en «%s», o usando la opción -D, o a través de la variable de ambiente PGDATA.\n"
 
-#: utils/misc/guc.c:5940
+#: utils/misc/guc.c:5941
 #, c-format
 msgid ""
 "%s does not know where to find the \"hba\" configuration file.\n"
@@ -28409,7 +27936,7 @@ msgstr ""
 "%s no sabe dónde encontrar el archivo de configuración «hba».\n"
 "Esto puede especificarse como «hba_file» en «%s», o usando la opción -D, o a través de la variable de ambiente PGDATA.\n"
 
-#: utils/misc/guc.c:5963
+#: utils/misc/guc.c:5964
 #, c-format
 msgid ""
 "%s does not know where to find the \"ident\" configuration file.\n"
@@ -28418,186 +27945,181 @@ msgstr ""
 "%s no sabe dónde encontrar el archivo de configuración «ident».\n"
 "Esto puede especificarse como «ident_file» en «%s», o usando la opción -D, o a través de la variable de ambiente PGDATA.\n"
 
-#: utils/misc/guc.c:6888
+#: utils/misc/guc.c:6889
 msgid "Value exceeds integer range."
 msgstr "El valor excede el rango para enteros."
 
-#: utils/misc/guc.c:7124
+#: utils/misc/guc.c:7125
 #, c-format
 msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d .. %d)"
 msgstr "%d%s%s está fuera del rango aceptable para el parámetro «%s» (%d .. %d)"
 
-#: utils/misc/guc.c:7160
+#: utils/misc/guc.c:7161
 #, c-format
 msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g .. %g)"
 msgstr "%g%s%s está fuera del rango aceptable para el parámetro «%s» (%g .. %g)"
 
-#: utils/misc/guc.c:7320 utils/misc/guc.c:8692
+#: utils/misc/guc.c:7321 utils/misc/guc.c:8693
 #, c-format
 msgid "cannot set parameters during a parallel operation"
 msgstr "no se puede definir parámetros durante una operación paralela"
 
-#: utils/misc/guc.c:7337 utils/misc/guc.c:8533
+#: utils/misc/guc.c:7338 utils/misc/guc.c:8534
 #, c-format
 msgid "parameter \"%s\" cannot be changed"
 msgstr "no se puede cambiar el parámetro «%s»"
 
-#: utils/misc/guc.c:7370
+#: utils/misc/guc.c:7371
 #, c-format
 msgid "parameter \"%s\" cannot be changed now"
 msgstr "el parámetro «%s» no se puede cambiar en este momento"
 
-#: utils/misc/guc.c:7388 utils/misc/guc.c:7435 utils/misc/guc.c:11333
+#: utils/misc/guc.c:7389 utils/misc/guc.c:7436 utils/misc/guc.c:11334
 #, c-format
 msgid "permission denied to set parameter \"%s\""
 msgstr "se ha denegado el permiso para cambiar la opción «%s»"
 
-#: utils/misc/guc.c:7425
+#: utils/misc/guc.c:7426
 #, c-format
 msgid "parameter \"%s\" cannot be set after connection start"
 msgstr "el parámetro «%s» no se puede cambiar después de efectuar la conexión"
 
-#: utils/misc/guc.c:7473
+#: utils/misc/guc.c:7474
 #, c-format
 msgid "cannot set parameter \"%s\" within security-definer function"
 msgstr "no se puede definir el parámetro «%s» dentro una función security-definer"
 
-#: utils/misc/guc.c:8106 utils/misc/guc.c:8153 utils/misc/guc.c:9550
+#: utils/misc/guc.c:8107 utils/misc/guc.c:8154 utils/misc/guc.c:9551
 #, c-format
 msgid "must be superuser or a member of pg_read_all_settings to examine \"%s\""
 msgstr "debe ser superusuario o miembro del rol pg_read_all settings para examinar «%s»"
 
-#: utils/misc/guc.c:8237
+#: utils/misc/guc.c:8238
 #, c-format
 msgid "SET %s takes only one argument"
 msgstr "SET %s lleva sólo un argumento"
 
-#: utils/misc/guc.c:8485
+#: utils/misc/guc.c:8486
 #, c-format
 msgid "must be superuser to execute ALTER SYSTEM command"
 msgstr "debe ser superusuario para ejecutar la orden ALTER SYSTEM"
 
-#: utils/misc/guc.c:8566
+#: utils/misc/guc.c:8567
 #, c-format
 msgid "parameter value for ALTER SYSTEM must not contain a newline"
 msgstr "los valores de parámetros para ALTER SYSTEM no deben contener saltos de línea"
 
-#: utils/misc/guc.c:8611
+#: utils/misc/guc.c:8612
 #, c-format
 msgid "could not parse contents of file \"%s\""
 msgstr "no se pudo interpretar el contenido del archivo «%s»"
 
-#: utils/misc/guc.c:8768
+#: utils/misc/guc.c:8769
 #, c-format
 msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented"
 msgstr "SET LOCAL TRANSACTION SNAPSHOT no está implementado"
 
-#: utils/misc/guc.c:8852
+#: utils/misc/guc.c:8853
 #, c-format
 msgid "SET requires parameter name"
 msgstr "SET requiere el nombre de un parámetro"
 
-#: utils/misc/guc.c:8985
+#: utils/misc/guc.c:8986
 #, c-format
 msgid "attempt to redefine parameter \"%s\""
 msgstr "intento de cambiar la opción «%s»"
 
-#: utils/misc/guc.c:10780
-#, fuzzy, c-format
-#| msgid "parameter \"%s\" changed to \"%s\""
+#: utils/misc/guc.c:10781
+#, c-format
 msgid "while setting parameter \"%s\" to \"%s\""
-msgstr "el parámetro «%s» fue cambiado a «%s»"
+msgstr "al establecer el parámetro «%s» a «%s»"
 
-#: utils/misc/guc.c:10945
+#: utils/misc/guc.c:10946
 #, c-format
 msgid "parameter \"%s\" could not be set"
 msgstr "no se pudo cambiar el parámetro «%s»"
 
-#: utils/misc/guc.c:11037
+#: utils/misc/guc.c:11038
 #, c-format
 msgid "could not parse setting for parameter \"%s\""
 msgstr "no se pudo interpretar el valor de para el parámetro «%s»"
 
-#: utils/misc/guc.c:11395 utils/misc/guc.c:11429
+#: utils/misc/guc.c:11396 utils/misc/guc.c:11430
 #, c-format
 msgid "invalid value for parameter \"%s\": %d"
 msgstr "valor no válido para el parámetro «%s»: %d"
 
-#: utils/misc/guc.c:11463
+#: utils/misc/guc.c:11464
 #, c-format
 msgid "invalid value for parameter \"%s\": %g"
 msgstr "valor no válido para el parámetro «%s»: %g"
 
-#: utils/misc/guc.c:11750
+#: utils/misc/guc.c:11751
 #, c-format
 msgid "\"temp_buffers\" cannot be changed after any temporary tables have been accessed in the session."
 msgstr "«temp_buffers» no puede ser cambiado después de que cualquier tabla temporal haya sido accedida en la sesión."
 
-#: utils/misc/guc.c:11762
+#: utils/misc/guc.c:11763
 #, c-format
 msgid "Bonjour is not supported by this build"
 msgstr "Bonjour no está soportado en este servidor"
 
-#: utils/misc/guc.c:11775
+#: utils/misc/guc.c:11776
 #, c-format
 msgid "SSL is not supported by this build"
 msgstr "SSL no está soportado en este servidor"
 
-#: utils/misc/guc.c:11787
+#: utils/misc/guc.c:11788
 #, c-format
 msgid "Cannot enable parameter when \"log_statement_stats\" is true."
 msgstr "No se puede activar el parámetro cuando «log_statement_stats» está activo."
 
-#: utils/misc/guc.c:11799
+#: utils/misc/guc.c:11800
 #, c-format
 msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true."
 msgstr "No se puede activar «log_statement_stats» cuando «log_parser_stats», «log_planner_stats» o «log_executor_stats» están activos."
 
-#: utils/misc/guc.c:12029
+#: utils/misc/guc.c:12030
 #, c-format
 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()."
 
-#: utils/misc/guc.c:12042
-#, fuzzy, c-format
-#| msgid "effective_io_concurrency must be set to 0 on platforms that lack posix_fadvise()."
+#: utils/misc/guc.c:12043
+#, c-format
 msgid "maintenance_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()."
+msgstr "maintenance_io_concurrency debe ser 0 en plataformas que no tienen posix_fadvise()."
 
-#: utils/misc/guc.c:12056
-#, fuzzy, c-format
-#| msgid "huge pages not supported on this platform"
+#: utils/misc/guc.c:12057
+#, c-format
 msgid "huge_page_size must be 0 on this platform."
-msgstr "las huge pages no están soportados en esta plataforma"
+msgstr "huge_page_size debe ser 0 en esta plataforma."
 
-#: utils/misc/guc.c:12070
-#, fuzzy, c-format
-#| msgid "effective_io_concurrency must be set to 0 on platforms that lack posix_fadvise()."
+#: utils/misc/guc.c:12071
+#, c-format
 msgid "client_connection_check_interval must be set to 0 on platforms that lack POLLRDHUP."
-msgstr "effective_io_concurrency debe ser 0 en plataformas que no tienen posix_fadvise()."
+msgstr "client_connection_check_interval debe ser 0 en plataformas que no tienen POLLRDHUP."
 
-#: utils/misc/guc.c:12198
-#, fuzzy, c-format
-#| msgid "Invalid character value."
+#: utils/misc/guc.c:12199
+#, c-format
 msgid "invalid character"
-msgstr "Valor de carácter no válido."
+msgstr "carácter no válido"
 
-#: utils/misc/guc.c:12258
+#: utils/misc/guc.c:12259
 #, c-format
 msgid "recovery_target_timeline is not a valid number."
 msgstr "recovery_target_timeline no es un número válido."
 
-#: utils/misc/guc.c:12298
+#: utils/misc/guc.c:12299
 #, c-format
 msgid "multiple recovery targets specified"
 msgstr "múltiples valores de destino de recuperación especificados"
 
-#: utils/misc/guc.c:12299
+#: utils/misc/guc.c:12300
 #, c-format
 msgid "At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid may be set."
 msgstr "A lo más uno de recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid puede estar definido."
 
-#: utils/misc/guc.c:12307
+#: utils/misc/guc.c:12308
 #, c-format
 msgid "The only allowed value is \"immediate\"."
 msgstr "El único valor permitido es «immediate»."
@@ -28724,7 +28246,7 @@ msgstr "Falló una petición de tamaño %zu en el contexto de memoria «%s»."
 #: utils/mmgr/mcxt.c:1046
 #, c-format
 msgid "logging memory contexts of PID %d"
-msgstr ""
+msgstr "registrando contextos de memoria del PID %d"
 
 #: utils/mmgr/portalmem.c:187
 #, c-format
@@ -28736,42 +28258,40 @@ msgstr "el cursor «%s» ya existe"
 msgid "closing existing cursor \"%s\""
 msgstr "cerrando el cursor «%s» preexistente"
 
-#: utils/mmgr/portalmem.c:400
+#: utils/mmgr/portalmem.c:401
 #, c-format
 msgid "portal \"%s\" cannot be run"
 msgstr "el portal «%s» no puede ser ejecutado"
 
-#: utils/mmgr/portalmem.c:478
+#: utils/mmgr/portalmem.c:479
 #, c-format
 msgid "cannot drop pinned portal \"%s\""
 msgstr "no se puede eliminar el portal «pinned» «%s»"
 
-#: utils/mmgr/portalmem.c:486
+#: utils/mmgr/portalmem.c:487
 #, c-format
 msgid "cannot drop active portal \"%s\""
 msgstr "no se puede eliminar el portal activo «%s»"
 
-#: utils/mmgr/portalmem.c:736
+#: utils/mmgr/portalmem.c:738
 #, c-format
 msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD"
 msgstr "no se puede hacer PREPARE de una transacción que ha creado un cursor WITH HOLD"
 
-#: utils/mmgr/portalmem.c:1275
+#: utils/mmgr/portalmem.c:1279
 #, c-format
 msgid "cannot perform transaction commands inside a cursor loop that is not read-only"
 msgstr "no se pueden ejecutar órdenes de transacción dentro de un bucle de cursor que no es de sólo lectura"
 
 #: utils/sort/logtape.c:268 utils/sort/logtape.c:291
-#, fuzzy, c-format
-#| msgid "could not rewind temporary file"
+#, c-format
 msgid "could not seek to block %ld of temporary file"
-msgstr "no se puede rebobinar el archivo temporal"
+msgstr "no se pudo posicionar (seek) en el bloque %ld del archivo temporal"
 
 #: utils/sort/logtape.c:297
-#, fuzzy, c-format
-#| msgid "could not read from hash-join temporary file: read only %zu of %zu bytes"
+#, c-format
 msgid "could not read block %ld of temporary file: read only %zu of %zu bytes"
-msgstr "no se pudo leer el archivo temporal de hash-join: se leyeron sólo %zu de %zu bytes"
+msgstr "no se pudo leer el bloque %ld del archivo temporal: se leyeron sólo %zu de %zu bytes"
 
 #: utils/sort/sharedtuplestore.c:430 utils/sort/sharedtuplestore.c:439
 #: utils/sort/sharedtuplestore.c:462 utils/sort/sharedtuplestore.c:479
@@ -28786,16 +28306,14 @@ msgid "unexpected chunk in shared tuplestore temporary file"
 msgstr "trozo inesperado en archivo temporal del tuplestore compartido"
 
 #: utils/sort/sharedtuplestore.c:569
-#, fuzzy, c-format
-#| msgid "could not seek block %u in shared tuplestore temporary file"
+#, c-format
 msgid "could not seek to block %u in shared tuplestore temporary file"
-msgstr "no se pudo posicionar (seek) al bloque %u en el archivo temporal del tuplestore compartido"
+msgstr "no se pudo posicionar (seek) en el bloque %u en el archivo temporal del tuplestore compartido"
 
 #: utils/sort/sharedtuplestore.c:576
-#, fuzzy, c-format
-#| msgid "could not read from hash-join temporary file: read only %zu of %zu bytes"
+#, c-format
 msgid "could not read from shared tuplestore temporary file: read only %zu of %zu bytes"
-msgstr "no se pudo leer el archivo temporal de hash-join: se leyeron sólo %zu de %zu bytes"
+msgstr "no se pudo leer el archivo temporal del tuplestore compartido: se leyeron sólo %zu de %zu bytes"
 
 #: utils/sort/tuplesort.c:3216
 #, c-format
@@ -28828,225 +28346,219 @@ msgstr "no se pudo posicionar (seek) en el archivo temporal del tuplestore"
 
 #: utils/sort/tuplestore.c:1477 utils/sort/tuplestore.c:1540
 #: utils/sort/tuplestore.c:1548
-#, fuzzy, c-format
-#| msgid "could not read from hash-join temporary file: read only %zu of %zu bytes"
+#, c-format
 msgid "could not read from tuplestore temporary file: read only %zu of %zu bytes"
-msgstr "no se pudo leer el archivo temporal de hash-join: se leyeron sólo %zu de %zu bytes"
+msgstr "no se pudo leer el archivo temporal del tuplestore: se leyeron sólo %zu de %zu bytes"
 
 #: utils/time/snapmgr.c:568
 #, c-format
 msgid "The source transaction is not running anymore."
 msgstr "La transacción de origen ya no está en ejecución."
 
-#: utils/time/snapmgr.c:1147
+#: utils/time/snapmgr.c:1162
 #, c-format
 msgid "cannot export a snapshot from a subtransaction"
 msgstr "no se puede exportar snapshots desde una subtransacción"
 
-#: utils/time/snapmgr.c:1306 utils/time/snapmgr.c:1311
-#: utils/time/snapmgr.c:1316 utils/time/snapmgr.c:1331
-#: utils/time/snapmgr.c:1336 utils/time/snapmgr.c:1341
-#: utils/time/snapmgr.c:1356 utils/time/snapmgr.c:1361
-#: utils/time/snapmgr.c:1366 utils/time/snapmgr.c:1468
-#: utils/time/snapmgr.c:1484 utils/time/snapmgr.c:1509
+#: utils/time/snapmgr.c:1321 utils/time/snapmgr.c:1326
+#: utils/time/snapmgr.c:1331 utils/time/snapmgr.c:1346
+#: utils/time/snapmgr.c:1351 utils/time/snapmgr.c:1356
+#: utils/time/snapmgr.c:1371 utils/time/snapmgr.c:1376
+#: utils/time/snapmgr.c:1381 utils/time/snapmgr.c:1483
+#: utils/time/snapmgr.c:1499 utils/time/snapmgr.c:1524
 #, c-format
 msgid "invalid snapshot data in file \"%s\""
 msgstr "datos no válidos en archivo de snapshot «%s»"
 
-#: utils/time/snapmgr.c:1403
+#: utils/time/snapmgr.c:1418
 #, c-format
 msgid "SET TRANSACTION SNAPSHOT must be called before any query"
 msgstr "SET TRANSACTION SNAPSHOT debe ser llamado antes de cualquier consulta"
 
-#: utils/time/snapmgr.c:1412
+#: utils/time/snapmgr.c:1427
 #, c-format
 msgid "a snapshot-importing transaction must have isolation level SERIALIZABLE or REPEATABLE READ"
 msgstr "una transacción que importa un snapshot no debe tener nivel de aislación SERIALIZABLE o REPEATABLE READ"
 
-#: utils/time/snapmgr.c:1421 utils/time/snapmgr.c:1430
+#: utils/time/snapmgr.c:1436 utils/time/snapmgr.c:1445
 #, c-format
 msgid "invalid snapshot identifier: \"%s\""
 msgstr "identificador de snapshot no válido: «%s»"
 
-#: utils/time/snapmgr.c:1522
+#: utils/time/snapmgr.c:1537
 #, c-format
 msgid "a serializable transaction cannot import a snapshot from a non-serializable transaction"
 msgstr "una transacción serializable no puede importar un snapshot desde una transacción no serializable"
 
-#: utils/time/snapmgr.c:1526
+#: utils/time/snapmgr.c:1541
 #, c-format
 msgid "a non-read-only serializable transaction cannot import a snapshot from a read-only transaction"
 msgstr "una transacción serializable que no es de sólo lectura no puede importar un snapshot de una transacción de sólo lectura"
 
-#: utils/time/snapmgr.c:1541
+#: utils/time/snapmgr.c:1556
 #, c-format
 msgid "cannot import a snapshot from a different database"
 msgstr "no se puede importar un snapshot desde una base de datos diferente"
 
-#~ msgid "Number of tuple inserts prior to index cleanup as a fraction of reltuples."
-#~ msgstr "Número de inserts de tuplas antes de ejecutar una limpieza de índice, como fracción de reltuples."
-
-#~ msgid "For RAID arrays, this should be approximately the number of drive spindles in the array."
-#~ msgstr "Para arrays RAID, esto debería ser aproximadamente la cantidad de discos en el array."
+#~ msgid "  -o OPTIONS         pass \"OPTIONS\" to each server process (obsolete)\n"
+#~ msgstr "  -o OPCIONES     pasar «OPCIONES» a cada proceso servidor (obsoleto)\n"
 
-#~ msgid "Emit a warning for constructs that changed meaning since PostgreSQL 9.4."
-#~ msgstr "Emitir una advertencia en constructos que cambiaron significado desde PostgreSQL 9.4."
+#~ msgid " read=%.3f"
+#~ msgstr " lectura=%.3f"
 
-#~ msgid "Version and Platform Compatibility"
-#~ msgstr "Compatibilidad de Versión y Plataforma"
+#~ msgid " write=%.3f"
+#~ msgstr " escritura=%.3f"
 
-#~ msgid "Client Connection Defaults"
-#~ msgstr "Valores por Omisión de Conexiones"
+#~ msgid "\"%s\" has now caught up with upstream server"
+#~ msgstr "«%s» ha alcanzado al servidor de origen"
 
-#~ msgid "Statistics"
-#~ msgstr "Estadísticas"
+#~ msgid "\"%s\": removed %.0f row versions in %u pages"
+#~ msgstr "«%s»: se eliminaron %.0f versiones de filas en %u páginas"
 
-#~ msgid "Process Title"
-#~ msgstr "Título de Proceso"
+#~ msgid "\"%s\": removed %d dead item identifiers in %u pages"
+#~ msgstr "«%s»: se eliminaron %d identificadores de elementos muertos en %u páginas"
 
-#~ msgid "Reporting and Logging"
-#~ msgstr "Reporte y Registro"
+#~ msgid "%s %s will create implicit index \"%s\" for table \"%s\""
+#~ msgstr "%s %s creará el índice implícito «%s» para la tabla «%s»"
 
-#~ msgid "Query Tuning"
-#~ msgstr "Afinamiento de Consultas"
+#~ msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\""
+#~ msgstr "%s creará una secuencia implícita «%s» para la columna serial «%s.%s»"
 
-#~ msgid "Replication"
-#~ msgstr "Replicación"
+#~ msgid "%u page is entirely empty.\n"
+#~ msgid_plural "%u pages are entirely empty.\n"
+#~ msgstr[0] "%u página está completamente vacía.\n"
+#~ msgstr[1] "%u páginas están completamente vacías.\n"
 
-#~ msgid "Write-Ahead Log"
-#~ msgstr "Write-Ahead Log"
+#~ msgid "%u page removed.\n"
+#~ msgid_plural "%u pages removed.\n"
+#~ msgstr[0] "%u página eliminada.\n"
+#~ msgstr[1] "%u páginas eliminadas.\n"
 
-#~ msgid "Resource Usage"
-#~ msgstr "Uso de Recursos"
+#~ msgid "COPY BINARY is not supported to stdout or from stdin"
+#~ msgstr "COPY BINARY no está soportado a la salida estándar o desde la entrada estándar"
 
-#~ msgid "connection authorized: user=%s database=%s"
-#~ msgstr "conexión autorizada: usuario=%s database=%s"
+#~ msgid "Client Connection Defaults"
+#~ msgstr "Valores por Omisión de Conexiones"
 
-#~ msgid "connection authorized: user=%s database=%s application_name=%s"
-#~ msgstr "conexión autorizada: usuario=%s base de datos=%s application_name=%s"
+#~ msgid "Either set wal_level to \"replica\" on the master, or turn off hot_standby here."
+#~ msgstr "Defina wal_level a «replica» en el maestro, o bien desactive hot_standby en este servidor."
 
-#~ msgid "connection authorized: user=%s database=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)"
-#~ msgstr "conexión autorizada: usuario=%s base de datos=%s SSL activo (protocolo=%s, cifrado=%s, bits=%d, compresión=%s"
+#~ msgid "Emit a warning for constructs that changed meaning since PostgreSQL 9.4."
+#~ msgstr "Emitir una advertencia en constructos que cambiaron significado desde PostgreSQL 9.4."
 
-#~ msgid "connection authorized: user=%s database=%s application_name=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)"
-#~ msgstr "conexión autorizada: usuario=%s base_de_datos=%s application_name=%s SSL activo (protocolo=%s, cifrado=%s, bits=%d, compresión=%s)"
+#~ msgid "For RAID arrays, this should be approximately the number of drive spindles in the array."
+#~ msgstr "Para arrays RAID, esto debería ser aproximadamente la cantidad de discos en el array."
 
-#~ msgid "replication connection authorized: user=%s application_name=%s"
-#~ msgstr "conexión de replicación autorizada: usuario=%s application_name=%s"
+#~ msgid "GSSAPI encryption can only be used with gss, trust, or reject authentication methods"
+#~ msgstr "el cifrado GSSAPI sólo puede ser usado con los métodos gss, trust o reject"
 
-#~ msgid "replication connection authorized: user=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)"
-#~ msgstr "conexión de replicación autorizada: usuario=%s SSL activo (protocolo=%s, cifrado=%s, bits=%d, compresión=%s)"
+#~ msgid "GSSAPI encryption only supports gss, trust, or reject authentication"
+#~ msgstr "El cifrado GSSAPI sólo soporta autentificación gss, trust o reject"
 
-#~ msgid "on"
-#~ msgstr "activado"
+#~ msgid "GSSAPI is not supported in protocol version 2"
+#~ msgstr "GSSAPI no está soportado por el protocolo versión 2"
 
-#~ msgid "off"
-#~ msgstr "desactivado"
+#~ msgid "I/O Timings:"
+#~ msgstr "Tiempos de E/S:"
 
-#~ msgid "replication connection authorized: user=%s application_name=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)"
-#~ msgstr "conexión de replicación autorizada: usuario=%s application_name=%s SSL activo (protocolo=%s, cifrado=%s, bits=%d, compresión=%s)"
+#~ msgid "INOUT arguments are permitted."
+#~ msgstr "Argumentos INOUT están permitidos."
 
-#~ msgid "loaded library \"%s\""
-#~ msgstr "biblioteca «%s» cargada"
+#~ msgid "Is another postmaster already running on port %d? If not, remove socket file \"%s\" and retry."
+#~ msgstr "¿Hay otro postmaster corriendo en el puerto %d? Si no, elimine el socket «%s» y reintente."
 
-#~ msgid "You need to rebuild PostgreSQL using --with-libxml."
-#~ msgstr "Necesita reconstruir PostgreSQL usando --with-libxml."
+#~ msgid "MultiXact member stop limit is now %u based on MultiXact %u"
+#~ msgstr "el límite de detención de miembros de multixact es ahora %u basado en el multixact %u"
 
-#~ msgid "wrong data type: %u, expected %u"
-#~ msgstr "tipo de dato erróneo: %u, se esperaba %u"
+#~ msgid "MultiXactId wrap limit is %u, limited by database with OID %u"
+#~ msgstr "el límite para el reciclaje de MultiXactId es %u, limitado por base de datos con OID %u"
 
-#~ msgid "invalid concatenation of jsonb objects"
-#~ msgstr "concatenación no válida de objetos jsonb"
+#~ msgid "Number of tuple inserts prior to index cleanup as a fraction of reltuples."
+#~ msgstr "Número de inserts de tuplas antes de ejecutar una limpieza de índice, como fracción de reltuples."
 
-#~ msgid "wrong element type"
-#~ msgstr "el tipo de elemento es erróneo"
+#~ msgid "ORIGIN message sent out of order"
+#~ msgstr "mensaje ORIGIN enviado fuera de orden"
 
-#~ msgid "logical replication launcher shutting down"
-#~ msgstr "lanzador de replicación lógica apagándose"
+#~ msgid "OpenSSL failure"
+#~ msgstr "falla de OpenSSL"
 
-#~ msgid "bind %s to %s"
-#~ msgstr "bind %s a %s"
+#~ msgid "Process %d waits for %s on %s."
+#~ msgstr "El proceso %d espera %s en %s."
 
-#~ msgid "parse %s: %s"
-#~ msgstr "parse %s: %s"
+#~ msgid "Process Title"
+#~ msgstr "Título de Proceso"
 
-#~ msgid "unexpected EOF on client connection"
-#~ msgstr "se encontró fin de archivo inesperado en la conexión del cliente"
+#~ msgid "Query Tuning"
+#~ msgstr "Afinamiento de Consultas"
 
-#~ msgid "could not fsync file \"%s\" but retrying: %m"
-#~ msgstr "no se pudo sincronizar (fsync) archivo «%s» pero reintentando: %m"
+#~ msgid "REINDEX is not yet implemented for partitioned indexes"
+#~ msgstr "REINDEX no está implementado aún para tablas particionadas"
 
-#~ msgid "could not forward fsync request because request queue is full"
-#~ msgstr "no se pudo enviar una petición fsync porque la cola de peticiones está llena"
+#~ msgid "REINDEX of partitioned tables is not yet implemented, skipping \"%s\""
+#~ msgstr "REINDEX de tablas particionadas no está implementado aún, omitiendo «%s»"
 
-#~ msgid "sending cancel to blocking autovacuum PID %d"
-#~ msgstr "enviando señal de cancelación a la tarea autovacuum bloqueante con PID %d"
+#~ msgid "Replication"
+#~ msgstr "Replicación"
 
-#~ msgid "Process %d waits for %s on %s."
-#~ msgstr "El proceso %d espera %s en %s."
-
-#~ msgid "deferrable snapshot was unsafe; trying a new one"
-#~ msgstr "la instantánea postergada era insegura; intentando con una nueva"
-
-#~ msgid "\"%s\" has now caught up with upstream server"
-#~ msgstr "«%s» ha alcanzado al servidor de origen"
+#~ msgid "Reporting and Logging"
+#~ msgstr "Reporte y Registro"
 
-#~ msgid "unexpected standby message type \"%c\", after receiving CopyDone"
-#~ msgstr "mensaje de standby de tipo «%c» inesperado, después de recibir CopyDone"
+#~ msgid "Resource Usage"
+#~ msgstr "Uso de Recursos"
 
-#~ msgid "standby \"%s\" now has synchronous standby priority %u"
-#~ msgstr "el standby «%s» ahora tiene prioridad sincrónica %u"
+#~ msgid "SASL authentication is not supported in protocol version 2"
+#~ msgstr "autentificación SASL no está soportada en el protocolo versión 2"
 
-#~ msgid "logical replication apply worker for subscription \"%s\" will restart because subscription's publications were changed"
-#~ msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará porque las publicaciones de la suscripción fueron cambiadas"
+#~ msgid "SSL connection from \"%s\""
+#~ msgstr "conexión SSL desde «%s»"
 
-#~ msgid "logical replication apply worker for subscription \"%s\" will restart because the replication slot name was changed"
-#~ msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará porque el nombre del slot de replicación fue cambiado"
+#~ msgid "SSL off"
+#~ msgstr "SSL inactivo"
 
-#~ msgid "logical replication apply worker for subscription \"%s\" will restart because the connection information was changed"
-#~ msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará porque la información de conexión fue cambiada"
+#~ msgid "SSPI is not supported in protocol version 2"
+#~ msgstr "SSPI no está soportado por el protocolo versión 2"
 
-#~ msgid "could not fetch table info for table \"%s.%s\": %s"
-#~ msgstr "no se pudo obtener información de la tabla «%s.%s»: %s"
+#~ msgid "Statistics"
+#~ msgstr "Estadísticas"
 
-#~ msgid "only superusers can query or manipulate replication origins"
-#~ msgstr "debe ser superusuario para consultar o manipular orígenes de replicación"
+#~ msgid "The error was: %s"
+#~ msgstr "El error fue: %s"
 
-#~ msgid "logical replication launcher started"
-#~ msgstr "lanzador de replicación lógica iniciado"
+#~ msgid "There were %.0f unused item identifiers.\n"
+#~ msgstr "Hubo %.0f identificadores de ítem sin usar.\n"
 
-#~ msgid "starting logical replication worker for subscription \"%s\""
-#~ msgstr "iniciando el proceso ayudante de replicación lógica para la suscripción «%s»"
+#~ 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"
 
-#~ msgid "could not reread block %d of file \"%s\": %m"
-#~ msgstr "no se pudo leer el bloque %d del archivo «%s»: %m"
+#~ msgid "Version and Platform Compatibility"
+#~ msgstr "Compatibilidad de Versión y Plataforma"
 
-#~ msgid "could not fseek in file \"%s\": %m"
-#~ msgstr "no se pudo posicionar (fseek) el archivo «%s»: %m"
+#~ msgid "Write-Ahead Log"
+#~ msgstr "Write-Ahead Log"
 
-#~ msgid "could not read from file \"%s\""
-#~ msgstr "no se pudo leer del archivo «%s»"
+#~ msgid "You need to rebuild PostgreSQL using --with-libxml."
+#~ msgstr "Necesita reconstruir PostgreSQL usando --with-libxml."
 
-#~ msgid "logger shutting down"
-#~ msgstr "proceso logger apagándose"
+#~ msgid "arguments declared \"anycompatiblerange\" are not all alike"
+#~ msgstr "los argumentos declarados «anycompatiblerange» no son todos parecidos"
 
-#~ msgid "starting background worker process \"%s\""
-#~ msgstr "iniciando el proceso ayudante «%s»"
+#~ msgid "arguments declared \"anyelement\" are not all alike"
+#~ msgstr "los argumentos declarados «anyelement» no son de tipos compatibles"
 
-#~ msgid "could not fork archiver: %m"
-#~ msgstr "no se pudo lanzar el proceso archivador: %m"
+#~ msgid "arguments declared \"anyrange\" are not all alike"
+#~ msgstr "los argumentos declarados «anyrange» no son de tipos compatibles"
 
-#~ msgid "compacted fsync request queue from %d entries to %d entries"
-#~ msgstr "la cola de peticiones de fsync fue compactada de %d a %d elementos"
+#~ msgid "array assignment requires type %s but expression is of type %s"
+#~ msgstr "la asignación de array debe tener tipo %s pero la expresión es de tipo %s"
 
-#~ msgid "unregistering background worker \"%s\""
-#~ msgstr "des-registrando el proceso ayudante «%s»"
+#~ msgid "at least one of leftarg or rightarg must be specified"
+#~ msgstr "debe especificar al menos uno de los argumentos izquierdo o derecho"
 
-#~ msgid "registering background worker \"%s\""
-#~ msgstr "registrando el proceso ayudante «%s»"
+#~ msgid "authentication file line too long"
+#~ msgstr "línea en el archivo de autentificación demasiado larga"
 
-#~ msgid "autovacuum: processing database \"%s\""
-#~ msgstr "autovacuum: procesando la base de datos «%s»"
+#~ msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s"
+#~ msgstr "analyze automático de la tabla «%s.%s.%s»: uso del sistema: %s"
 
 #~ msgid "autovacuum launcher shutting down"
 #~ msgstr "lanzador de autovacuum apagándose"
@@ -29054,172 +28566,254 @@ msgstr "no se puede importar un snapshot desde una base de datos diferente"
 #~ msgid "autovacuum launcher started"
 #~ msgstr "lanzador de autovacuum iniciado"
 
-#~ msgid "disabling huge pages"
-#~ msgstr "desactivando «huge pages»"
+#~ msgid "autovacuum: processing database \"%s\""
+#~ msgstr "autovacuum: procesando la base de datos «%s»"
 
-#~ msgid "could not enable Lock Pages in Memory user right"
-#~ msgstr "no se pudo activar el privilegio «Bloquear páginas en la memoria»"
+#~ msgid "backup label %s in file \"%s\""
+#~ msgstr "etiqueta de respaldo %s en archivo «%s»"
 
-#~ msgid "could not enable Lock Pages in Memory user right: error code %lu"
-#~ msgstr "no se pudo activar el privilegio «Bloquear páginas en la memoria»: código de error %lu"
+#~ msgid "backup time %s in file \"%s\""
+#~ msgstr "tiempo de respaldo %s en archivo «%s»"
+
+#~ msgid "backup timeline %u in file \"%s\""
+#~ msgstr "línea de tiempo %u en archivo «%s»"
+
+#~ msgid "bind %s to %s"
+#~ msgstr "bind %s a %s"
+
+#~ msgid "building index \"%s\" on table \"%s\" serially"
+#~ msgstr "construyendo índice «%s» en la tabla «%s» en forma serial"
+
+#~ msgid "building index \"%s\" on table \"%s\" with request for %d parallel worker"
+#~ msgid_plural "building index \"%s\" on table \"%s\" with request for %d parallel workers"
+#~ msgstr[0] "construyendo índice «%s» en la tabla «%s» solicitando %d ayudante paralelo"
+#~ msgstr[1] "construyendo índice «%s» en la tabla «%s» solicitando %d ayudantes paralelos"
+
+#~ msgid "cannot PREPARE a transaction that has manipulated logical replication workers"
+#~ msgstr "no se puede hacer PREPARE de una transacción que ha manipulado procesos ayudantes de replicación lógica"
+
+#~ msgid "cannot convert NaN to bigint"
+#~ msgstr "no se puede convertir NaN a bigint"
+
+#~ msgid "cannot convert NaN to integer"
+#~ msgstr "no se puede convertir NaN a entero"
+
+#~ msgid "cannot convert NaN to smallint"
+#~ msgstr "no se puede convertir NaN a smallint"
+
+#~ msgid "cannot reindex invalid index on TOAST table concurrently"
+#~ msgstr "no se puede reindexar el índice no válido en una tabla TOAST concurrentemente"
+
+#~ msgid "checkpoint record is at %X/%X"
+#~ msgstr "el registro del punto de control está en %X/%X"
+
+#~ msgid "checkpoint skipped because system is idle"
+#~ msgstr "omitiendo checkpoint porque el sistema está inactivo"
 
 #~ msgid "collation of partition bound value for column \"%s\" does not match partition key collation \"%s\""
 #~ msgstr "el ordenamiento (collation) del valor de borde de partición para la columna «%s» no coincide con el ordenamiento de la llave de particionamiento «%s»"
 
+#~ msgid "compacted fsync request queue from %d entries to %d entries"
+#~ msgstr "la cola de peticiones de fsync fue compactada de %d a %d elementos"
+
+#~ msgid "connection authorized: user=%s database=%s"
+#~ msgstr "conexión autorizada: usuario=%s database=%s"
+
+#~ msgid "connection authorized: user=%s database=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)"
+#~ msgstr "conexión autorizada: usuario=%s base de datos=%s SSL activo (protocolo=%s, cifrado=%s, bits=%d, compresión=%s"
+
+#~ msgid "connection authorized: user=%s database=%s application_name=%s"
+#~ msgstr "conexión autorizada: usuario=%s base de datos=%s application_name=%s"
+
+#~ msgid "connection authorized: user=%s database=%s application_name=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)"
+#~ msgstr "conexión autorizada: usuario=%s base_de_datos=%s application_name=%s SSL activo (protocolo=%s, cifrado=%s, bits=%d, compresión=%s)"
+
+#~ msgid "connection lost during COPY to stdout"
+#~ msgstr "se perdió la conexión durante COPY a la salida estándar"
+
+#~ msgid "connection was re-authenticated"
+#~ msgstr "la conexión fue reautenticada"
+
+#, c-format
+#~ msgid "could not compute %s hash: %s"
+#~ msgstr "no se pudo calcular el hash %s: %s"
+
 #~ msgid "could not determine which collation to use for partition bound expression"
 #~ msgstr "no se pudo determinar qué ordenamiento (collation) usar para la expresión de borde de particionamiento"
 
-#~ msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\""
-#~ msgstr "%s creará una secuencia implícita «%s» para la columna serial «%s.%s»"
+#~ msgid "could not enable Lock Pages in Memory user right"
+#~ msgstr "no se pudo activar el privilegio «Bloquear páginas en la memoria»"
 
-#~ msgid "array assignment requires type %s but expression is of type %s"
-#~ msgstr "la asignación de array debe tener tipo %s pero la expresión es de tipo %s"
+#~ msgid "could not enable Lock Pages in Memory user right: error code %lu"
+#~ msgstr "no se pudo activar el privilegio «Bloquear páginas en la memoria»: código de error %lu"
 
-#~ msgid "operator precedence change: %s is now lower precedence than %s"
-#~ msgstr "cambio de precedencia de operadores: %s es ahora de menor precedencia que %s"
+#~ msgid "could not fetch table info for table \"%s.%s\": %s"
+#~ msgstr "no se pudo obtener información de la tabla «%s.%s»: %s"
 
-#~ msgid "arguments declared \"anycompatiblerange\" are not all alike"
-#~ msgstr "los argumentos declarados «anycompatiblerange» no son todos parecidos"
+#~ msgid "could not fork archiver: %m"
+#~ msgstr "no se pudo lanzar el proceso archivador: %m"
 
-#~ msgid "arguments declared \"anyrange\" are not all alike"
-#~ msgstr "los argumentos declarados «anyrange» no son de tipos compatibles"
+#~ msgid "could not forward fsync request because request queue is full"
+#~ msgstr "no se pudo enviar una petición fsync porque la cola de peticiones está llena"
 
-#~ msgid "arguments declared \"anyelement\" are not all alike"
-#~ msgstr "los argumentos declarados «anyelement» no son de tipos compatibles"
+#~ msgid "could not fseek in file \"%s\": %m"
+#~ msgstr "no se pudo posicionar (fseek) el archivo «%s»: %m"
 
-#~ msgid "  -o OPTIONS         pass \"OPTIONS\" to each server process (obsolete)\n"
-#~ msgstr "  -o OPCIONES     pasar «OPCIONES» a cada proceso servidor (obsoleto)\n"
+#~ msgid "could not fsync file \"%s\" but retrying: %m"
+#~ msgstr "no se pudo sincronizar (fsync) archivo «%s» pero reintentando: %m"
 
-#~ msgid "Is another postmaster already running on port %d? If not, remove socket file \"%s\" and retry."
-#~ msgstr "¿Hay otro postmaster corriendo en el puerto %d? Si no, elimine el socket «%s» y reintente."
+#~ msgid "could not read from file \"%s\""
+#~ msgstr "no se pudo leer del archivo «%s»"
 
-#~ msgid "setsockopt(SO_REUSEADDR) failed for %s address \"%s\": %m"
-#~ msgstr "setsockopt(SO_REUSEADDR) falló para la dirección %s «%s»: %m"
+#~ msgid "could not reread block %d of file \"%s\": %m"
+#~ msgstr "no se pudo leer el bloque %d del archivo «%s»: %m"
 
-#~ msgid "GSSAPI encryption only supports gss, trust, or reject authentication"
-#~ msgstr "El cifrado GSSAPI sólo soporta autentificación gss, trust o reject"
+#~ msgid "deferrable snapshot was unsafe; trying a new one"
+#~ msgstr "la instantánea postergada era insegura; intentando con una nueva"
 
-#~ msgid "authentication file line too long"
-#~ msgstr "línea en el archivo de autentificación demasiado larga"
+#~ msgid "destination buffer too small"
+#~ msgstr "el búfer destino es demasiado pequeño"
 
-#~ msgid "SSL connection from \"%s\""
-#~ msgstr "conexión SSL desde «%s»"
+#~ msgid "disabling huge pages"
+#~ msgstr "desactivando «huge pages»"
 
-#~ msgid "SSPI is not supported in protocol version 2"
-#~ msgstr "SSPI no está soportado por el protocolo versión 2"
+#~ msgid "distance in phrase operator should be non-negative and less than %d"
+#~ msgstr "la distancia en el operador de frases debe ser no negativa y menor que %d"
 
-#~ msgid "GSSAPI is not supported in protocol version 2"
-#~ msgstr "GSSAPI no está soportado por el protocolo versión 2"
+#~ msgid "distance in phrase operator should not be greater than %d"
+#~ msgstr "distancia en operador de frases no debe ser mayor que %d"
 
-#~ msgid "SASL authentication is not supported in protocol version 2"
-#~ msgstr "autentificación SASL no está soportada en el protocolo versión 2"
+#~ msgid "drop auto-cascades to %s"
+#~ msgstr "eliminando automáticamente %s"
 
-#~ msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\""
-#~ msgstr "no hay una línea en pg_hba.conf para «%s», usuario «%s», base de datos «%s»"
+#~ msgid "initializing for hot standby"
+#~ msgstr "inicializando para hot standby"
 
-#~ msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\""
-#~ msgstr "no hay una línea en pg_hba.conf para la conexión de replicación desde el servidor «%s», usuario «%s»"
+#~ msgid "insufficient columns in %s constraint definition"
+#~ msgstr "columnas insuficientes en definición de restricción %s"
 
-#~ msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\""
-#~ msgstr "pg_hba.conf rechaza la conexión para el servidor «%s», usuario «%s», base de datos «%s»"
+#~ msgid "invalid concatenation of jsonb objects"
+#~ msgstr "concatenación no válida de objetos jsonb"
 
-#~ msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\""
-#~ msgstr "pg_hba.conf rechaza la conexión de replicación para el servidor «%s», usuario «%s»"
+#~ msgid "invalid hexadecimal digit"
+#~ msgstr "dígito hexadecimal no válido"
 
-#~ msgid "SSL off"
-#~ msgstr "SSL inactivo"
+#~ msgid "invalid logical replication message type \"%c\""
+#~ msgstr "tipo de mensaje de replicación lógica «%c» no válido"
 
-#~ msgid "GSSAPI encryption can only be used with gss, trust, or reject authentication methods"
-#~ msgstr "el cifrado GSSAPI sólo puede ser usado con los métodos gss, trust o reject"
+#~ msgid "loaded library \"%s\""
+#~ msgstr "biblioteca «%s» cargada"
 
-#~ msgid "time to inline: %.3fs, opt: %.3fs, emit: %.3fs"
-#~ msgstr "tiempo en «inline»: %.3fs, opt: %.3fs, emisión: %.3fs"
+#~ msgid "logger shutting down"
+#~ msgstr "proceso logger apagándose"
 
-#~ msgid "must be superuser to alter replication users"
-#~ msgstr "debe ser superusuario para alterar usuarios de replicación"
+#~ msgid "logical replication apply worker for subscription \"%s\" will restart because subscription's publications were changed"
+#~ msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará porque las publicaciones de la suscripción fueron cambiadas"
+
+#~ msgid "logical replication apply worker for subscription \"%s\" will restart because the connection information was changed"
+#~ msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará porque la información de conexión fue cambiada"
+
+#~ msgid "logical replication apply worker for subscription \"%s\" will restart because the replication slot name was changed"
+#~ msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará porque el nombre del slot de replicación fue cambiado"
+
+#~ msgid "logical replication launcher shutting down"
+#~ msgstr "lanzador de replicación lógica apagándose"
+
+#~ msgid "logical replication launcher started"
+#~ msgstr "lanzador de replicación lógica iniciado"
+
+#~ msgid "modulus for hash partition must be a positive integer"
+#~ msgstr "el módulo para una partición hash debe ser un entero positivo"
 
 #~ msgid "moving row to another partition during a BEFORE trigger is not supported"
 #~ msgstr "mover registros a otra partición durante un trigger BEFORE no está soportado"
 
-#~ msgid "updated partition constraint for default partition \"%s\" is implied by existing constraints"
-#~ msgstr "la restricción de partición actualizada para la partición por omisión \"%s\" está implícita en las restricciones existentes"
+#~ msgid "must be superuser to alter replication users"
+#~ msgstr "debe ser superusuario para alterar usuarios de replicación"
 
-#~ msgid "partition constraint for table \"%s\" is implied by existing constraints"
-#~ msgstr "la restricción de partición para la tabla \"%s\" está implícita en las restricciones existentes"
+#~ msgid "must be superuser to drop access methods"
+#~ msgstr "debe ser superusuario para eliminar métodos de acceso"
 
-#~ msgid "validating foreign key constraint \"%s\""
-#~ msgstr "validando restricción de llave foránea «%s»"
+#~ msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\""
+#~ msgstr "no hay una línea en pg_hba.conf para «%s», usuario «%s», base de datos «%s»"
 
-#~ msgid "verifying table \"%s\""
-#~ msgstr "verificando tabla «%s»"
+#~ msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\""
+#~ msgstr "no hay una línea en pg_hba.conf para la conexión de replicación desde el servidor «%s», usuario «%s»"
 
-#~ msgid "rewriting table \"%s\""
-#~ msgstr "reescribiendo tabla «%s»"
+#~ msgid "off"
+#~ msgstr "desactivado"
 
-#~ msgid "The error was: %s"
-#~ msgstr "El error fue: %s"
+#~ msgid "oldest MultiXactId member is at offset %u"
+#~ msgstr "el miembro de multixact más antiguo está en la posición %u"
 
-#~ msgid "table \"%s.%s\" removed from subscription \"%s\""
-#~ msgstr "tabla «%s.%s» eliminada de suscripción «%s»"
+#~ msgid "on"
+#~ msgstr "activado"
 
-#~ msgid "table \"%s.%s\" added to subscription \"%s\""
-#~ msgstr "tabla «%s.%s» agregada a suscripción «%s»"
+#~ msgid "only superusers can query or manipulate replication origins"
+#~ msgstr "debe ser superusuario para consultar o manipular orígenes de replicación"
 
-#~ msgid "at least one of leftarg or rightarg must be specified"
-#~ msgstr "debe especificar al menos uno de los argumentos izquierdo o derecho"
+#~ msgid "operator precedence change: %s is now lower precedence than %s"
+#~ msgstr "cambio de precedencia de operadores: %s es ahora de menor precedencia que %s"
 
-#~ msgid "REINDEX is not yet implemented for partitioned indexes"
-#~ msgstr "REINDEX no está implementado aún para tablas particionadas"
+#~ msgid "overflow of destination buffer in hex decoding"
+#~ msgstr "desbordamiento de búfer destino en decodificación hexadecimal"
 
-#~ msgid "cannot reindex invalid index on TOAST table concurrently"
-#~ msgstr "no se puede reindexar el índice no válido en una tabla TOAST concurrentemente"
+#~ msgid "overflow of destination buffer in hex encoding"
+#~ msgstr "desbordamiento de búfer destino en codificación hexadecimal"
 
-#~ msgid "%s %s will create implicit index \"%s\" for table \"%s\""
-#~ msgstr "%s %s creará el índice implícito «%s» para la tabla «%s»"
+#~ msgid "parse %s: %s"
+#~ msgstr "parse %s: %s"
 
-#~ msgid "insufficient columns in %s constraint definition"
-#~ msgstr "columnas insuficientes en definición de restricción %s"
+#~ msgid "partition constraint for table \"%s\" is implied by existing constraints"
+#~ msgstr "la restricción de partición para la tabla \"%s\" está implícita en las restricciones existentes"
 
-#~ msgid "INOUT arguments are permitted."
-#~ msgstr "Argumentos INOUT están permitidos."
+#~ msgid "password too long"
+#~ msgstr "la contraseña es demasiado larga"
+
+#~ msgid "pclose failed: %m"
+#~ msgstr "pclose falló: %m"
+
+#~ msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\""
+#~ msgstr "pg_hba.conf rechaza la conexión para el servidor «%s», usuario «%s», base de datos «%s»"
+
+#~ msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\""
+#~ msgstr "pg_hba.conf rechaza la conexión de replicación para el servidor «%s», usuario «%s»"
 
 #~ msgid "procedures cannot have OUT arguments"
 #~ msgstr "los procedimientos no pueden tener argumentos OUT"
 
-#~ msgid "connection lost during COPY to stdout"
-#~ msgstr "se perdió la conexión durante COPY a la salida estándar"
+#~ msgid "recycled write-ahead log file \"%s\""
+#~ msgstr "reciclado archivo de WAL «%s»"
 
-#~ msgid "COPY BINARY is not supported to stdout or from stdin"
-#~ msgstr "COPY BINARY no está soportado a la salida estándar o desde la entrada estándar"
+#~ msgid "registering background worker \"%s\""
+#~ msgstr "registrando el proceso ayudante «%s»"
 
-#~ msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s"
-#~ msgstr "analyze automático de la tabla «%s.%s.%s»: uso del sistema: %s"
+#~ msgid "removing file \"%s\""
+#~ msgstr "eliminando el archivo «%s»"
 
-#~ msgid "must be superuser to drop access methods"
-#~ msgstr "debe ser superusuario para eliminar métodos de acceso"
+#~ msgid "removing write-ahead log file \"%s\""
+#~ msgstr "eliminando archivo de WAL «%s»"
 
-#~ msgid "REINDEX of partitioned tables is not yet implemented, skipping \"%s\""
-#~ msgstr "REINDEX de tablas particionadas no está implementado aún, omitiendo «%s»"
+#~ msgid "replication connection authorized: user=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)"
+#~ msgstr "conexión de replicación autorizada: usuario=%s SSL activo (protocolo=%s, cifrado=%s, bits=%d, compresión=%s)"
 
-#~ msgid "building index \"%s\" on table \"%s\" with request for %d parallel worker"
-#~ msgid_plural "building index \"%s\" on table \"%s\" with request for %d parallel workers"
-#~ msgstr[0] "construyendo índice «%s» en la tabla «%s» solicitando %d ayudante paralelo"
-#~ msgstr[1] "construyendo índice «%s» en la tabla «%s» solicitando %d ayudantes paralelos"
+#~ msgid "replication connection authorized: user=%s application_name=%s"
+#~ msgstr "conexión de replicación autorizada: usuario=%s application_name=%s"
 
-#~ msgid "building index \"%s\" on table \"%s\" serially"
-#~ msgstr "construyendo índice «%s» en la tabla «%s» en forma serial"
+#~ msgid "replication connection authorized: user=%s application_name=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)"
+#~ msgstr "conexión de replicación autorizada: usuario=%s application_name=%s SSL activo (protocolo=%s, cifrado=%s, bits=%d, compresión=%s)"
 
-#~ msgid "drop auto-cascades to %s"
-#~ msgstr "eliminando automáticamente %s"
+#~ msgid "rewriting table \"%s\""
+#~ msgstr "reescribiendo tabla «%s»"
 
-#~ msgid "backup timeline %u in file \"%s\""
-#~ msgstr "línea de tiempo %u en archivo «%s»"
+#~ msgid "role \"%s\" could not be removed from policy \"%s\" on \"%s\""
+#~ msgstr "el rol «%s» no pudo ser eliminado de la política «%s» en «%s»"
 
-#~ msgid "backup label %s in file \"%s\""
-#~ msgstr "etiqueta de respaldo %s en archivo «%s»"
+#~ msgid "sending cancel to blocking autovacuum PID %d"
+#~ msgstr "enviando señal de cancelación a la tarea autovacuum bloqueante con PID %d"
 
-#~ msgid "backup time %s in file \"%s\""
-#~ msgstr "tiempo de respaldo %s en archivo «%s»"
+#~ msgid "setsockopt(SO_REUSEADDR) failed for %s address \"%s\": %m"
+#~ msgstr "setsockopt(SO_REUSEADDR) falló para la dirección %s «%s»: %m"
 
 #~ msgid "skipping restartpoint, already performed at %X/%X"
 #~ msgstr "omitiendo el restartpoint, ya fue llevado a cabo en %X/%X"
@@ -29227,58 +28821,59 @@ msgstr "no se puede importar un snapshot desde una base de datos diferente"
 #~ msgid "skipping restartpoint, recovery has already ended"
 #~ msgstr "omitiendo el restartpoint, la recuperación ya ha terminado"
 
-#~ msgid "checkpoint skipped because system is idle"
-#~ msgstr "omitiendo checkpoint porque el sistema está inactivo"
+#~ msgid "standby \"%s\" now has synchronous standby priority %u"
+#~ msgstr "el standby «%s» ahora tiene prioridad sincrónica %u"
 
-#~ msgid "initializing for hot standby"
-#~ msgstr "inicializando para hot standby"
+#~ msgid "starting background worker process \"%s\""
+#~ msgstr "iniciando el proceso ayudante «%s»"
 
-#~ msgid "checkpoint record is at %X/%X"
-#~ msgstr "el registro del punto de control está en %X/%X"
+#~ msgid "starting logical replication worker for subscription \"%s\""
+#~ msgstr "iniciando el proceso ayudante de replicación lógica para la suscripción «%s»"
 
-#~ msgid "Either set wal_level to \"replica\" on the master, or turn off hot_standby here."
-#~ msgstr "Defina wal_level a «replica» en el maestro, o bien desactive hot_standby en este servidor."
+#~ msgid "success"
+#~ msgstr "éxito"
 
-#~ msgid "removing write-ahead log file \"%s\""
-#~ msgstr "eliminando archivo de WAL «%s»"
+#~ msgid "system usage: %s\n"
+#~ msgstr "uso de sistema: %s\n"
 
-#~ msgid "recycled write-ahead log file \"%s\""
-#~ msgstr "reciclado archivo de WAL «%s»"
+#~ msgid "table \"%s.%s\" added to subscription \"%s\""
+#~ msgstr "tabla «%s.%s» agregada a suscripción «%s»"
 
-#~ msgid "updated min recovery point to %X/%X on timeline %u"
-#~ msgstr "el punto mínimo de recuperación fue actualizado a %X/%X en el timeline %u"
+#~ msgid "table \"%s.%s\" removed from subscription \"%s\""
+#~ msgstr "tabla «%s.%s» eliminada de suscripción «%s»"
 
-#~ msgid "cannot PREPARE a transaction that has manipulated logical replication workers"
-#~ msgstr "no se puede hacer PREPARE de una transacción que ha manipulado procesos ayudantes de replicación lógica"
+#~ msgid "time to inline: %.3fs, opt: %.3fs, emit: %.3fs"
+#~ msgstr "tiempo en «inline»: %.3fs, opt: %.3fs, emisión: %.3fs"
 
 #~ msgid "transaction ID wrap limit is %u, limited by database with OID %u"
 #~ msgstr "el límite para el reciclaje de ID de transacciones es %u, limitado por base de datos con OID %u"
 
-#~ msgid "removing file \"%s\""
-#~ msgstr "eliminando el archivo «%s»"
+#~ msgid "unexpected EOF on client connection"
+#~ msgstr "se encontró fin de archivo inesperado en la conexión del cliente"
 
-#~ msgid "MultiXact member stop limit is now %u based on MultiXact %u"
-#~ msgstr "el límite de detención de miembros de multixact es ahora %u basado en el multixact %u"
+#~ msgid "unexpected standby message type \"%c\", after receiving CopyDone"
+#~ msgstr "mensaje de standby de tipo «%c» inesperado, después de recibir CopyDone"
 
-#~ msgid "oldest MultiXactId member is at offset %u"
-#~ msgstr "el miembro de multixact más antiguo está en la posición %u"
+#~ msgid "unregistering background worker \"%s\""
+#~ msgstr "des-registrando el proceso ayudante «%s»"
 
-#~ msgid "MultiXactId wrap limit is %u, limited by database with OID %u"
-#~ msgstr "el límite para el reciclaje de MultiXactId es %u, limitado por base de datos con OID %u"
+#~ msgid "unsupported LZ4 compression method"
+#~ msgstr "método de compresión LZ4 no soportado"
 
-#~ msgid "%u page is entirely empty.\n"
-#~ msgid_plural "%u pages are entirely empty.\n"
-#~ msgstr[0] "%u página está completamente vacía.\n"
-#~ msgstr[1] "%u páginas están completamente vacías.\n"
+#~ msgid "updated min recovery point to %X/%X on timeline %u"
+#~ msgstr "el punto mínimo de recuperación fue actualizado a %X/%X en el timeline %u"
 
-#~ msgid "There were %.0f unused item identifiers.\n"
-#~ msgstr "Hubo %.0f identificadores de ítem sin usar.\n"
+#~ msgid "updated partition constraint for default partition \"%s\" is implied by existing constraints"
+#~ msgstr "la restricción de partición actualizada para la partición por omisión \"%s\" está implícita en las restricciones existentes"
 
-#~ msgid "\"%s\": removed %.0f row versions in %u pages"
-#~ msgstr "«%s»: se eliminaron %.0f versiones de filas en %u páginas"
+#~ msgid "validating foreign key constraint \"%s\""
+#~ msgstr "validando restricción de llave foránea «%s»"
 
-#~ msgid "password too long"
-#~ msgstr "la contraseña es demasiado larga"
+#~ msgid "verifying table \"%s\""
+#~ msgstr "verificando tabla «%s»"
 
-#~ msgid "pclose failed: %m"
-#~ msgstr "pclose falló: %m"
+#~ msgid "wrong data type: %u, expected %u"
+#~ msgstr "tipo de dato erróneo: %u, se esperaba %u"
+
+#~ msgid "wrong element type"
+#~ msgstr "el tipo de elemento es erróneo"
index 0d953bc4571c22911e7ff53a20d0e9e4c1ae28c2..aaba6e56f8e857dd1c3e258fc5f0b9f94bebb938 100644 (file)
@@ -1,53 +1,55 @@
-# translation of postgres.po to fr_fr
-# french message translation file for postgres
+# LANGUAGE message translation file for postgres
+# Copyright (C) 2003-2022 PostgreSQL Global Development Group
+# This file is distributed under the same license as the postgres (PostgreSQL) package.
 #
 # Use these quotes: « %s »
-# Guillaume Lelarge , 2003-2009.
+#
+# Guillaume Lelarge , 2003-2022.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 12\n"
+"Project-Id-Version: PostgreSQL 15\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2021-06-19 16:10+0000\n"
-"PO-Revision-Date: 2021-06-21 12:29+0200\n"
-"Last-Translator: Christophe Courtois >\n"
+"POT-Creation-Date: 2022-04-12 05:16+0000\n"
+"PO-Revision-Date: 2022-04-12 17:29+0200\n"
+"Last-Translator: Guillaume Lelarge >\n"
 "Language-Team: French \n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Poedit 2.4.3\n"
+"X-Generator: Poedit 3.0.1\n"
 
 #: ../common/config_info.c:134 ../common/config_info.c:142 ../common/config_info.c:150 ../common/config_info.c:158 ../common/config_info.c:166 ../common/config_info.c:174 ../common/config_info.c:182 ../common/config_info.c:190
 msgid "not recorded"
 msgstr "non enregistré"
 
-#: ../common/controldata_utils.c:68 ../common/controldata_utils.c:73 commands/copyfrom.c:1516 commands/extension.c:3456 utils/adt/genfile.c:128
+#: ../common/controldata_utils.c:68 ../common/controldata_utils.c:73 commands/copyfrom.c:1516 commands/extension.c:3464 utils/adt/genfile.c:128
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m"
 
-#: ../common/controldata_utils.c:86 ../common/controldata_utils.c:89 access/transam/timeline.c:143 access/transam/timeline.c:362 access/transam/twophase.c:1271 access/transam/xlog.c:3545 access/transam/xlog.c:4770 access/transam/xlog.c:11336 access/transam/xlog.c:11349 access/transam/xlog.c:11802 access/transam/xlog.c:11882 access/transam/xlog.c:11919 access/transam/xlog.c:11979 access/transam/xlogfuncs.c:703 access/transam/xlogfuncs.c:722 commands/extension.c:3466 libpq/hba.c:534 replication/basebackup.c:2020 replication/logical/origin.c:729 replication/logical/origin.c:765 replication/logical/reorderbuffer.c:4905 replication/logical/snapbuild.c:1733
-#: replication/logical/snapbuild.c:1775 replication/logical/snapbuild.c:1802 replication/slot.c:1700 replication/slot.c:1741 replication/walsender.c:544 storage/file/buffile.c:445 storage/file/copydir.c:195 utils/adt/genfile.c:202 utils/adt/misc.c:859 utils/cache/relmapper.c:741
+#: ../common/controldata_utils.c:86 ../common/controldata_utils.c:89 access/transam/timeline.c:143 access/transam/timeline.c:362 access/transam/twophase.c:1327 access/transam/xlog.c:3569 access/transam/xlog.c:4807 access/transam/xlog.c:11516 access/transam/xlog.c:11529 access/transam/xlog.c:11982 access/transam/xlog.c:12062 access/transam/xlog.c:12099 access/transam/xlog.c:12159 access/transam/xlogfuncs.c:703 access/transam/xlogfuncs.c:722 commands/extension.c:3474 libpq/hba.c:534 replication/basebackup.c:2020 replication/logical/origin.c:729 replication/logical/origin.c:765 replication/logical/reorderbuffer.c:4917 replication/logical/snapbuild.c:1749
+#: replication/logical/snapbuild.c:1791 replication/logical/snapbuild.c:1818 replication/slot.c:1720 replication/slot.c:1761 replication/walsender.c:544 storage/file/buffile.c:445 storage/file/copydir.c:195 utils/adt/genfile.c:202 utils/adt/misc.c:859 utils/cache/relmapper.c:744
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "n'a pas pu lire le fichier « %s » : %m"
 
-#: ../common/controldata_utils.c:97 ../common/controldata_utils.c:101 access/transam/xlog.c:3550 access/transam/xlog.c:4775 replication/basebackup.c:2024 replication/logical/origin.c:734 replication/logical/origin.c:773 replication/logical/snapbuild.c:1738 replication/logical/snapbuild.c:1780 replication/logical/snapbuild.c:1807 replication/slot.c:1704 replication/slot.c:1745 replication/walsender.c:549 utils/cache/relmapper.c:745
+#: ../common/controldata_utils.c:97 ../common/controldata_utils.c:101 access/transam/xlog.c:3574 access/transam/xlog.c:4812 replication/basebackup.c:2024 replication/logical/origin.c:734 replication/logical/origin.c:773 replication/logical/snapbuild.c:1754 replication/logical/snapbuild.c:1796 replication/logical/snapbuild.c:1823 replication/slot.c:1724 replication/slot.c:1765 replication/walsender.c:549 utils/cache/relmapper.c:748
 #, c-format
 msgid "could not read file \"%s\": read %d of %zu"
 msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu"
 
-#: ../common/controldata_utils.c:112 ../common/controldata_utils.c:117 ../common/controldata_utils.c:256 ../common/controldata_utils.c:259 access/heap/rewriteheap.c:1185 access/heap/rewriteheap.c:1288 access/transam/timeline.c:392 access/transam/timeline.c:438 access/transam/timeline.c:516 access/transam/twophase.c:1283 access/transam/twophase.c:1680 access/transam/xlog.c:3417 access/transam/xlog.c:3585 access/transam/xlog.c:3590 access/transam/xlog.c:3918 access/transam/xlog.c:4740 access/transam/xlog.c:5665 access/transam/xlogfuncs.c:728 commands/copyfrom.c:1576 commands/copyto.c:328 libpq/be-fsstubs.c:462 libpq/be-fsstubs.c:533 replication/logical/origin.c:667
-#: replication/logical/origin.c:806 replication/logical/reorderbuffer.c:4963 replication/logical/snapbuild.c:1642 replication/logical/snapbuild.c:1815 replication/slot.c:1591 replication/slot.c:1752 replication/walsender.c:559 storage/file/copydir.c:218 storage/file/copydir.c:223 storage/file/fd.c:738 storage/file/fd.c:3534 storage/file/fd.c:3637 utils/cache/relmapper.c:753 utils/cache/relmapper.c:892
+#: ../common/controldata_utils.c:112 ../common/controldata_utils.c:117 ../common/controldata_utils.c:256 ../common/controldata_utils.c:259 access/heap/rewriteheap.c:1185 access/heap/rewriteheap.c:1288 access/transam/timeline.c:392 access/transam/timeline.c:438 access/transam/timeline.c:516 access/transam/twophase.c:1339 access/transam/twophase.c:1744 access/transam/xlog.c:3441 access/transam/xlog.c:3609 access/transam/xlog.c:3614 access/transam/xlog.c:3942 access/transam/xlog.c:4777 access/transam/xlog.c:5702 access/transam/xlogfuncs.c:728 commands/copyfrom.c:1576 commands/copyto.c:328 libpq/be-fsstubs.c:455 libpq/be-fsstubs.c:525 replication/logical/origin.c:667
+#: replication/logical/origin.c:806 replication/logical/reorderbuffer.c:4975 replication/logical/snapbuild.c:1658 replication/logical/snapbuild.c:1831 replication/slot.c:1611 replication/slot.c:1772 replication/walsender.c:559 storage/file/copydir.c:218 storage/file/copydir.c:223 storage/file/fd.c:738 storage/file/fd.c:3536 storage/file/fd.c:3639 utils/cache/relmapper.c:759 utils/cache/relmapper.c:898
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "n'a pas pu fermer le fichier « %s » : %m"
 
 #: ../common/controldata_utils.c:135
 msgid "byte ordering mismatch"
-msgstr "incohérence dans l'ordre des octets"
+msgstr "différence de l'ordre des octets"
 
 #: ../common/controldata_utils.c:137
 #, c-format
@@ -57,32 +59,32 @@ msgid ""
 "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 ""
-"ATTENTION : possible incohérence dans l'ordre des octets\n"
+"possible incohérence dans l'ordre des octets\n"
 "L'ordre des octets utilisé pour enregistrer le fichier pg_control peut ne\n"
 "pas correspondre à celui utilisé par ce programme. Dans ce cas, les\n"
 "résultats ci-dessous sont incorrects, et l'installation de PostgreSQL\n"
 "est incompatible avec ce répertoire des données."
 
-#: ../common/controldata_utils.c:197 ../common/controldata_utils.c:203 ../common/file_utils.c:232 ../common/file_utils.c:291 ../common/file_utils.c:365 access/heap/rewriteheap.c:1271 access/transam/timeline.c:111 access/transam/timeline.c:251 access/transam/timeline.c:348 access/transam/twophase.c:1227 access/transam/xlog.c:3303 access/transam/xlog.c:3459 access/transam/xlog.c:3500 access/transam/xlog.c:3698 access/transam/xlog.c:3783 access/transam/xlog.c:3886 access/transam/xlog.c:4760 access/transam/xlogutils.c:803 postmaster/syslogger.c:1488 replication/basebackup.c:616 replication/basebackup.c:1610 replication/logical/origin.c:719 replication/logical/reorderbuffer.c:3570
-#: replication/logical/reorderbuffer.c:4119 replication/logical/reorderbuffer.c:4885 replication/logical/snapbuild.c:1597 replication/logical/snapbuild.c:1704 replication/slot.c:1672 replication/walsender.c:517 replication/walsender.c:2526 storage/file/copydir.c:161 storage/file/fd.c:713 storage/file/fd.c:3521 storage/file/fd.c:3608 storage/smgr/md.c:502 utils/cache/relmapper.c:724 utils/cache/relmapper.c:836 utils/error/elog.c:1938 utils/init/miscinit.c:1346 utils/init/miscinit.c:1480 utils/init/miscinit.c:1557 utils/misc/guc.c:8604 utils/misc/guc.c:8636
+#: ../common/controldata_utils.c:197 ../common/controldata_utils.c:203 ../common/file_utils.c:232 ../common/file_utils.c:291 ../common/file_utils.c:365 access/heap/rewriteheap.c:1271 access/transam/timeline.c:111 access/transam/timeline.c:251 access/transam/timeline.c:348 access/transam/twophase.c:1283 access/transam/xlog.c:3327 access/transam/xlog.c:3483 access/transam/xlog.c:3524 access/transam/xlog.c:3722 access/transam/xlog.c:3807 access/transam/xlog.c:3910 access/transam/xlog.c:4797 access/transam/xlogutils.c:803 postmaster/syslogger.c:1488 replication/basebackup.c:616 replication/basebackup.c:1610 replication/logical/origin.c:719 replication/logical/reorderbuffer.c:3572
+#: replication/logical/reorderbuffer.c:4121 replication/logical/reorderbuffer.c:4897 replication/logical/snapbuild.c:1613 replication/logical/snapbuild.c:1720 replication/slot.c:1692 replication/walsender.c:517 replication/walsender.c:2535 storage/file/copydir.c:161 storage/file/fd.c:713 storage/file/fd.c:3300 storage/file/fd.c:3523 storage/file/fd.c:3610 storage/smgr/md.c:503 utils/cache/relmapper.c:724 utils/cache/relmapper.c:842 utils/error/elog.c:1938 utils/init/miscinit.c:1346 utils/init/miscinit.c:1480 utils/init/miscinit.c:1557 utils/misc/guc.c:8605 utils/misc/guc.c:8637
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier « %s » : %m"
 
-#: ../common/controldata_utils.c:221 ../common/controldata_utils.c:224 access/transam/twophase.c:1653 access/transam/twophase.c:1662 access/transam/xlog.c:11093 access/transam/xlog.c:11131 access/transam/xlog.c:11544 access/transam/xlogfuncs.c:782 postmaster/postmaster.c:5659 postmaster/syslogger.c:1499 postmaster/syslogger.c:1512 utils/cache/relmapper.c:870
+#: ../common/controldata_utils.c:221 ../common/controldata_utils.c:224 access/transam/twophase.c:1717 access/transam/twophase.c:1726 access/transam/xlog.c:11273 access/transam/xlog.c:11311 access/transam/xlog.c:11724 access/transam/xlogfuncs.c:782 postmaster/postmaster.c:5682 postmaster/syslogger.c:1499 postmaster/syslogger.c:1512 utils/cache/relmapper.c:876
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "impossible d'écrire le fichier « %s » : %m"
 
-#: ../common/controldata_utils.c:239 ../common/controldata_utils.c:245 ../common/file_utils.c:303 ../common/file_utils.c:373 access/heap/rewriteheap.c:967 access/heap/rewriteheap.c:1179 access/heap/rewriteheap.c:1282 access/transam/timeline.c:432 access/transam/timeline.c:510 access/transam/twophase.c:1674 access/transam/xlog.c:3410 access/transam/xlog.c:3579 access/transam/xlog.c:4733 access/transam/xlog.c:10584 access/transam/xlog.c:10625 replication/logical/snapbuild.c:1635 replication/slot.c:1577 replication/slot.c:1682 storage/file/fd.c:730 storage/file/fd.c:3629 storage/smgr/md.c:950 storage/smgr/md.c:991 storage/sync/sync.c:417 utils/cache/relmapper.c:885
-#: utils/misc/guc.c:8391
+#: ../common/controldata_utils.c:239 ../common/controldata_utils.c:245 ../common/file_utils.c:303 ../common/file_utils.c:373 access/heap/rewriteheap.c:967 access/heap/rewriteheap.c:1179 access/heap/rewriteheap.c:1282 access/transam/timeline.c:432 access/transam/timeline.c:510 access/transam/twophase.c:1738 access/transam/xlog.c:3434 access/transam/xlog.c:3603 access/transam/xlog.c:4770 access/transam/xlog.c:10764 access/transam/xlog.c:10805 replication/logical/snapbuild.c:1651 replication/slot.c:1597 replication/slot.c:1702 storage/file/fd.c:730 storage/file/fd.c:3631 storage/smgr/md.c:951 storage/smgr/md.c:992 storage/sync/sync.c:441 utils/cache/relmapper.c:891
+#: utils/misc/guc.c:8392
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m"
 
-#: ../common/cryptohash_openssl.c:104 ../common/exec.c:522 ../common/exec.c:567 ../common/exec.c:659 ../common/hmac_openssl.c:103 ../common/psprintf.c:143 ../common/stringinfo.c:305 ../port/path.c:630 ../port/path.c:668 ../port/path.c:685 access/transam/twophase.c:1341 access/transam/xlog.c:6631 lib/dshash.c:246 libpq/auth.c:1482 libpq/auth.c:1550 libpq/auth.c:2108 libpq/be-secure-gssapi.c:520 postmaster/bgworker.c:349 postmaster/bgworker.c:948 postmaster/postmaster.c:2516 postmaster/postmaster.c:4175 postmaster/postmaster.c:4845 postmaster/postmaster.c:5584 postmaster/postmaster.c:5948 replication/libpqwalreceiver/libpqwalreceiver.c:283 replication/logical/logical.c:205
-#: replication/walsender.c:591 storage/buffer/localbuf.c:442 storage/file/fd.c:882 storage/file/fd.c:1352 storage/file/fd.c:1513 storage/file/fd.c:2321 storage/ipc/procarray.c:1411 storage/ipc/procarray.c:2205 storage/ipc/procarray.c:2212 storage/ipc/procarray.c:2701 storage/ipc/procarray.c:3325 utils/adt/cryptohashfuncs.c:46 utils/adt/cryptohashfuncs.c:66 utils/adt/formatting.c:1699 utils/adt/formatting.c:1823 utils/adt/formatting.c:1948 utils/adt/pg_locale.c:450 utils/adt/pg_locale.c:614 utils/adt/regexp.c:223 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:513 utils/hash/dynahash.c:613 utils/hash/dynahash.c:1116 utils/mb/mbutils.c:401 utils/mb/mbutils.c:429 utils/mb/mbutils.c:814
-#: utils/mb/mbutils.c:841 utils/misc/guc.c:5035 utils/misc/guc.c:5051 utils/misc/guc.c:5064 utils/misc/guc.c:8369 utils/misc/tzparser.c:467 utils/mmgr/aset.c:476 utils/mmgr/dsa.c:701 utils/mmgr/dsa.c:723 utils/mmgr/dsa.c:804 utils/mmgr/generation.c:234 utils/mmgr/mcxt.c:888 utils/mmgr/mcxt.c:924 utils/mmgr/mcxt.c:962 utils/mmgr/mcxt.c:1000 utils/mmgr/mcxt.c:1082 utils/mmgr/mcxt.c:1113 utils/mmgr/mcxt.c:1149 utils/mmgr/mcxt.c:1201 utils/mmgr/mcxt.c:1236 utils/mmgr/mcxt.c:1271 utils/mmgr/slab.c:236
+#: ../common/cryptohash_openssl.c:104 ../common/exec.c:522 ../common/exec.c:567 ../common/exec.c:659 ../common/hmac_openssl.c:101 ../common/psprintf.c:143 ../common/stringinfo.c:305 ../port/path.c:630 ../port/path.c:668 ../port/path.c:685 access/transam/twophase.c:1397 access/transam/xlog.c:6677 lib/dshash.c:246 libpq/auth.c:1491 libpq/auth.c:1559 libpq/auth.c:2117 libpq/be-secure-gssapi.c:520 postmaster/bgworker.c:349 postmaster/bgworker.c:948 postmaster/postmaster.c:2540 postmaster/postmaster.c:4198 postmaster/postmaster.c:4868 postmaster/postmaster.c:5607 postmaster/postmaster.c:5971 replication/libpqwalreceiver/libpqwalreceiver.c:283 replication/logical/logical.c:205
+#: replication/walsender.c:591 storage/buffer/localbuf.c:442 storage/file/fd.c:882 storage/file/fd.c:1354 storage/file/fd.c:1515 storage/file/fd.c:2323 storage/ipc/procarray.c:1427 storage/ipc/procarray.c:2252 storage/ipc/procarray.c:2259 storage/ipc/procarray.c:2761 storage/ipc/procarray.c:3385 utils/adt/cryptohashfuncs.c:46 utils/adt/cryptohashfuncs.c:66 utils/adt/formatting.c:1699 utils/adt/formatting.c:1823 utils/adt/formatting.c:1948 utils/adt/pg_locale.c:450 utils/adt/pg_locale.c:614 utils/adt/regexp.c:223 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:513 utils/hash/dynahash.c:613 utils/hash/dynahash.c:1116 utils/mb/mbutils.c:401 utils/mb/mbutils.c:429 utils/mb/mbutils.c:814
+#: utils/mb/mbutils.c:841 utils/misc/guc.c:5036 utils/misc/guc.c:5052 utils/misc/guc.c:5065 utils/misc/guc.c:8370 utils/misc/tzparser.c:467 utils/mmgr/aset.c:476 utils/mmgr/dsa.c:701 utils/mmgr/dsa.c:723 utils/mmgr/dsa.c:804 utils/mmgr/generation.c:234 utils/mmgr/mcxt.c:888 utils/mmgr/mcxt.c:924 utils/mmgr/mcxt.c:962 utils/mmgr/mcxt.c:1000 utils/mmgr/mcxt.c:1088 utils/mmgr/mcxt.c:1119 utils/mmgr/mcxt.c:1155 utils/mmgr/mcxt.c:1207 utils/mmgr/mcxt.c:1242 utils/mmgr/mcxt.c:1277 utils/mmgr/slab.c:236
 #, c-format
 msgid "out of memory"
 msgstr "mémoire épuisée"
@@ -112,7 +114,7 @@ msgstr "n'a pas pu trouver un « %s » à exécuter"
 msgid "could not change directory to \"%s\": %m"
 msgstr "n'a pas pu modifier le répertoire par « %s » : %m"
 
-#: ../common/exec.c:286 access/transam/xlog.c:10967 replication/basebackup.c:1428 utils/adt/misc.c:340
+#: ../common/exec.c:286 access/transam/xlog.c:11147 replication/basebackup.c:1428 utils/adt/misc.c:340
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "n'a pas pu lire le lien symbolique « %s » : %m"
@@ -132,52 +134,27 @@ msgstr "mémoire épuisée\n"
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n"
 
-#: ../common/file_utils.c:87 ../common/file_utils.c:451 ../common/file_utils.c:455 access/transam/twophase.c:1239 access/transam/xlog.c:11069 access/transam/xlog.c:11107 access/transam/xlog.c:11324 access/transam/xlogarchive.c:110 access/transam/xlogarchive.c:227 commands/copyfrom.c:1526 commands/copyto.c:728 commands/extension.c:3445 commands/tablespace.c:807 commands/tablespace.c:898 guc-file.l:1060 replication/basebackup.c:439 replication/basebackup.c:622 replication/basebackup.c:698 replication/logical/snapbuild.c:1514 storage/file/copydir.c:68 storage/file/copydir.c:107 storage/file/fd.c:1863 storage/file/fd.c:1949 storage/file/fd.c:3149 storage/file/fd.c:3353
+#: ../common/file_utils.c:87 ../common/file_utils.c:451 ../common/file_utils.c:455 access/transam/twophase.c:1295 access/transam/xlog.c:11249 access/transam/xlog.c:11287 access/transam/xlog.c:11504 access/transam/xlogarchive.c:110 access/transam/xlogarchive.c:227 commands/copyfrom.c:1526 commands/copyto.c:726 commands/extension.c:3453 commands/tablespace.c:803 commands/tablespace.c:894 guc-file.l:1062 replication/basebackup.c:439 replication/basebackup.c:622 replication/basebackup.c:698 replication/logical/snapbuild.c:1530 storage/file/copydir.c:68 storage/file/copydir.c:107 storage/file/fd.c:1865 storage/file/fd.c:1951 storage/file/fd.c:3151 storage/file/fd.c:3355
 #: utils/adt/dbsize.c:70 utils/adt/dbsize.c:222 utils/adt/dbsize.c:302 utils/adt/genfile.c:418 utils/adt/genfile.c:644
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "n'a pas pu tester le fichier « %s » : %m"
 
-#: ../common/file_utils.c:166 ../common/pgfnames.c:48 commands/tablespace.c:730 commands/tablespace.c:740 postmaster/postmaster.c:1515 storage/file/fd.c:2724 storage/file/reinit.c:122 utils/adt/misc.c:262 utils/misc/tzparser.c:338
+#: ../common/file_utils.c:166 ../common/pgfnames.c:48 commands/tablespace.c:726 commands/tablespace.c:736 postmaster/postmaster.c:1515 storage/file/fd.c:2726 storage/file/reinit.c:122 utils/adt/misc.c:262 utils/misc/tzparser.c:338
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "n'a pas pu ouvrir le répertoire « %s » : %m"
 
-#: ../common/file_utils.c:200 ../common/pgfnames.c:69 storage/file/fd.c:2736
+#: ../common/file_utils.c:200 ../common/pgfnames.c:69 storage/file/fd.c:2738
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "n'a pas pu lire le répertoire « %s » : %m"
 
-#: ../common/file_utils.c:383 access/transam/xlogarchive.c:412 postmaster/syslogger.c:1523 replication/logical/snapbuild.c:1654 replication/slot.c:643 replication/slot.c:1463 replication/slot.c:1605 storage/file/fd.c:748 storage/file/fd.c:846 utils/time/snapmgr.c:1265
+#: ../common/file_utils.c:383 access/transam/xlogarchive.c:412 postmaster/syslogger.c:1523 replication/logical/snapbuild.c:1670 replication/slot.c:643 replication/slot.c:1483 replication/slot.c:1625 storage/file/fd.c:748 storage/file/fd.c:846 utils/time/snapmgr.c:1280
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m"
 
-#: ../common/hex.c:54
-#, c-format
-msgid "invalid hexadecimal digit"
-msgstr "chiffre hexadécimal invalide"
-
-#: ../common/hex.c:59
-#, c-format
-msgid "invalid hexadecimal digit: \"%.*s\""
-msgstr "chiffre hexadécimal invalide : « %.*s »"
-
-#: ../common/hex.c:90
-#, c-format
-msgid "overflow of destination buffer in hex encoding"
-msgstr "Calcule les identifiants de requête"
-
-#: ../common/hex.c:136 ../common/hex.c:141
-#, c-format
-msgid "invalid hexadecimal data: odd number of digits"
-msgstr "donnée hexadécimale invalide : nombre pair de chiffres"
-
-#: ../common/hex.c:152
-#, c-format
-msgid "overflow of destination buffer in hex decoding"
-msgstr ""
-
 #: ../common/jsonapi.c:1066
 #, c-format
 msgid "Escape sequence \"\\%s\" is invalid."
@@ -196,17 +173,17 @@ msgstr "Attendait une fin de l'entrée, mais a trouvé « %s »."
 #: ../common/jsonapi.c:1075
 #, c-format
 msgid "Expected array element or \"]\", but found \"%s\"."
-msgstr "Élément de tableau ou « ] » attendu, mais trouvé « %s »."
+msgstr "Élément de tableau ou « ] » attendu, mais « %s » trouvé."
 
 #: ../common/jsonapi.c:1078
 #, c-format
 msgid "Expected \",\" or \"]\", but found \"%s\"."
-msgstr "« , » ou « ] » attendu, mais trouvé « %s »."
+msgstr "« , » ou « ] » attendu, mais « %s » trouvé."
 
 #: ../common/jsonapi.c:1081
 #, c-format
 msgid "Expected \":\", but found \"%s\"."
-msgstr "« : » attendu, mais trouvé « %s »."
+msgstr "« : » attendu, mais « %s » trouvé."
 
 #: ../common/jsonapi.c:1084
 #, c-format
@@ -220,12 +197,12 @@ msgstr "La chaîne en entrée se ferme de manière inattendue."
 #: ../common/jsonapi.c:1089
 #, c-format
 msgid "Expected string or \"}\", but found \"%s\"."
-msgstr "Chaîne ou « } » attendu, mais « %s » trouvé"
+msgstr "Chaîne ou « } » attendu, mais « %s » trouvé."
 
 #: ../common/jsonapi.c:1092
 #, c-format
 msgid "Expected \",\" or \"}\", but found \"%s\"."
-msgstr "« , » ou « } » attendu, mais trouvé « %s »."
+msgstr "« , » ou « } » attendu, mais « %s » trouvé."
 
 #: ../common/jsonapi.c:1095
 #, c-format
@@ -290,7 +267,7 @@ msgstr "nom du fork invalide"
 msgid "Valid fork names are \"main\", \"fsm\", \"vm\", and \"init\"."
 msgstr "Les noms de fork valides sont « main », « fsm », « vm » et « init »."
 
-#: ../common/restricted_token.c:64 libpq/auth.c:1512 libpq/auth.c:2544
+#: ../common/restricted_token.c:64 libpq/auth.c:1521 libpq/auth.c:2553
 #, c-format
 msgid "could not load library \"%s\": error code %lu"
 msgstr "n'a pas pu charger la bibliothèque « %s » : code d'erreur %lu"
@@ -363,7 +340,7 @@ msgstr ""
 msgid "could not look up effective user ID %ld: %s"
 msgstr "n'a pas pu trouver l'identifiant réel %ld de l'utilisateur : %s"
 
-#: ../common/username.c:45 libpq/auth.c:2044
+#: ../common/username.c:45 libpq/auth.c:2053
 msgid "user does not exist"
 msgstr "l'utilisateur n'existe pas"
 
@@ -489,7 +466,7 @@ msgstr "n'a pas pu vérifier l'appartenance du jeton d'accès : code d'erreur %l
 msgid "request for BRIN range summarization for index \"%s\" page %u was not recorded"
 msgstr "requête de résumé d'intervalle BRIN pour la page « %s » de l'index « %u » n'a pas été enregistrée"
 
-#: access/brin/brin.c:1015 access/brin/brin.c:1092 access/gin/ginfast.c:1035 access/transam/xlog.c:10746 access/transam/xlog.c:11275 access/transam/xlogfuncs.c:274 access/transam/xlogfuncs.c:301 access/transam/xlogfuncs.c:340 access/transam/xlogfuncs.c:361 access/transam/xlogfuncs.c:382 access/transam/xlogfuncs.c:452 access/transam/xlogfuncs.c:509
+#: access/brin/brin.c:1015 access/brin/brin.c:1092 access/gin/ginfast.c:1035 access/transam/xlog.c:10926 access/transam/xlog.c:11455 access/transam/xlogfuncs.c:274 access/transam/xlogfuncs.c:301 access/transam/xlogfuncs.c:340 access/transam/xlogfuncs.c:361 access/transam/xlogfuncs.c:382 access/transam/xlogfuncs.c:452 access/transam/xlogfuncs.c:509
 #, c-format
 msgid "recovery is in progress"
 msgstr "restauration en cours"
@@ -514,12 +491,12 @@ msgstr "« %s » n'est pas un index BRIN"
 msgid "could not open parent table of index \"%s\""
 msgstr "n'a pas pu ouvrir la table parent de l'index « %s »"
 
-#: access/brin/brin_bloom.c:751 access/brin/brin_bloom.c:793 access/brin/brin_minmax_multi.c:2987 access/brin/brin_minmax_multi.c:3130 statistics/dependencies.c:651 statistics/dependencies.c:704 statistics/mcv.c:1483 statistics/mcv.c:1514 statistics/mvdistinct.c:343 statistics/mvdistinct.c:396 utils/adt/pseudotypes.c:43 utils/adt/pseudotypes.c:77 utils/adt/pseudotypes.c:252
+#: access/brin/brin_bloom.c:751 access/brin/brin_bloom.c:793 access/brin/brin_minmax_multi.c:3004 access/brin/brin_minmax_multi.c:3147 statistics/dependencies.c:662 statistics/dependencies.c:715 statistics/mcv.c:1483 statistics/mcv.c:1514 statistics/mvdistinct.c:343 statistics/mvdistinct.c:396 utils/adt/pseudotypes.c:43 utils/adt/pseudotypes.c:77 utils/adt/pseudotypes.c:252
 #, c-format
 msgid "cannot accept a value of type %s"
 msgstr "ne peut pas accepter une valeur de type %s"
 
-#: access/brin/brin_minmax_multi.c:2146 access/brin/brin_minmax_multi.c:2153 access/brin/brin_minmax_multi.c:2160 utils/adt/timestamp.c:941 utils/adt/timestamp.c:1515 utils/adt/timestamp.c:1982 utils/adt/timestamp.c:3059 utils/adt/timestamp.c:3064 utils/adt/timestamp.c:3069 utils/adt/timestamp.c:3119 utils/adt/timestamp.c:3126 utils/adt/timestamp.c:3133 utils/adt/timestamp.c:3153 utils/adt/timestamp.c:3160 utils/adt/timestamp.c:3167 utils/adt/timestamp.c:3197 utils/adt/timestamp.c:3205 utils/adt/timestamp.c:3249 utils/adt/timestamp.c:3676 utils/adt/timestamp.c:3801 utils/adt/timestamp.c:4349
+#: access/brin/brin_minmax_multi.c:2163 access/brin/brin_minmax_multi.c:2170 access/brin/brin_minmax_multi.c:2177 utils/adt/timestamp.c:941 utils/adt/timestamp.c:1515 utils/adt/timestamp.c:1982 utils/adt/timestamp.c:3059 utils/adt/timestamp.c:3064 utils/adt/timestamp.c:3069 utils/adt/timestamp.c:3119 utils/adt/timestamp.c:3126 utils/adt/timestamp.c:3133 utils/adt/timestamp.c:3153 utils/adt/timestamp.c:3160 utils/adt/timestamp.c:3167 utils/adt/timestamp.c:3197 utils/adt/timestamp.c:3205 utils/adt/timestamp.c:3249 utils/adt/timestamp.c:3676 utils/adt/timestamp.c:3801 utils/adt/timestamp.c:4359
 #, c-format
 msgid "interval out of range"
 msgstr "intervalle en dehors des limites"
@@ -633,7 +610,7 @@ msgstr "le nombre de colonnes (%d) dépasse la limite (%d)"
 msgid "number of index columns (%d) exceeds limit (%d)"
 msgstr "le nombre de colonnes indexées (%d) dépasse la limite (%d)"
 
-#: access/common/indextuple.c:190 access/spgist/spgutils.c:947
+#: access/common/indextuple.c:190 access/spgist/spgutils.c:959
 #, c-format
 msgid "index row requires %zu bytes, maximum size is %zu"
 msgstr "la ligne index requiert %zu octets, la taille maximum est %zu"
@@ -666,7 +643,7 @@ msgstr "RESET ne doit pas inclure de valeurs pour les paramètres"
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "espace de nom du paramètre « %s » non reconnu"
 
-#: access/common/reloptions.c:1294 utils/misc/guc.c:12514
+#: access/common/reloptions.c:1294 utils/misc/guc.c:12515
 #, c-format
 msgid "tables declared WITH OIDS are not supported"
 msgstr "les tables avec WITH OIDS ne sont pas supportées"
@@ -718,8 +695,8 @@ msgstr "valeur invalide pour l'option enum « %s » : %s"
 
 #: access/common/toast_compression.c:32
 #, c-format
-msgid "unsupported LZ4 compression method"
-msgstr "méthode compression LZ4 non supportée"
+msgid "compression method lz4 not supported"
+msgstr "méthode de compression lz4 non supportée"
 
 #: access/common/toast_compression.c:33
 #, c-format
@@ -778,7 +755,7 @@ msgstr ""
 msgid "To fix this, do REINDEX INDEX \"%s\"."
 msgstr "Pour corriger ceci, faites un REINDEX INDEX « %s »."
 
-#: access/gin/ginutil.c:145 executor/execExpr.c:2166 utils/adt/arrayfuncs.c:3818 utils/adt/arrayfuncs.c:6452 utils/adt/rowtypes.c:957
+#: access/gin/ginutil.c:145 executor/execExpr.c:2166 utils/adt/arrayfuncs.c:3819 utils/adt/arrayfuncs.c:6487 utils/adt/rowtypes.c:957
 #, c-format
 msgid "could not identify a comparison function for type %s"
 msgstr "n'a pas pu identifier une fonction de comparaison pour le type %s"
@@ -812,7 +789,7 @@ msgstr ""
 "Ceci est dû à la division d'une page incomplète à la restauration suite à un\n"
 "crash avant la mise à jour en 9.1."
 
-#: access/gist/gist.c:761 access/gist/gistutil.c:801 access/gist/gistutil.c:812 access/gist/gistvacuum.c:423 access/hash/hashutil.c:227 access/hash/hashutil.c:238 access/hash/hashutil.c:250 access/hash/hashutil.c:271 access/nbtree/nbtpage.c:810 access/nbtree/nbtpage.c:821
+#: access/gist/gist.c:761 access/gist/gistutil.c:800 access/gist/gistutil.c:811 access/gist/gistvacuum.c:423 access/hash/hashutil.c:227 access/hash/hashutil.c:238 access/hash/hashutil.c:250 access/hash/hashutil.c:271 access/nbtree/nbtpage.c:810 access/nbtree/nbtpage.c:821
 #, c-format
 msgid "Please REINDEX it."
 msgstr "Merci d'exécuter REINDEX sur cet objet."
@@ -820,7 +797,7 @@ msgstr "Merci d'exécuter REINDEX sur cet objet."
 #: access/gist/gist.c:1175
 #, c-format
 msgid "fixing incomplete split in index \"%s\", block %u"
-msgstr ""
+msgstr "correction d'une division non terminée dans l'index « %s », bloc %u"
 
 #: access/gist/gistsplit.c:446
 #, c-format
@@ -835,12 +812,12 @@ msgstr ""
 "ou essayez d'utiliser la colonne comme second dans la commande\n"
 "CREATE INDEX."
 
-#: access/gist/gistutil.c:798 access/hash/hashutil.c:224 access/nbtree/nbtpage.c:807
+#: access/gist/gistutil.c:797 access/hash/hashutil.c:224 access/nbtree/nbtpage.c:807
 #, c-format
 msgid "index \"%s\" contains unexpected zero page at block %u"
 msgstr "l'index « %s » contient une page zéro inattendue au bloc %u"
 
-#: access/gist/gistutil.c:809 access/hash/hashutil.c:235 access/hash/hashutil.c:247 access/nbtree/nbtpage.c:818
+#: access/gist/gistutil.c:808 access/hash/hashutil.c:235 access/hash/hashutil.c:247 access/nbtree/nbtpage.c:818
 #, c-format
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "l'index « %s » contient une page corrompue au bloc %u"
@@ -859,12 +836,12 @@ msgstr ""
 "la famille d'opérateur « %s » de la méthode d'accès %s contient la spécification opfamily ORDER BY\n"
 "incorrecte pour l'opérateur %s"
 
-#: access/hash/hashfunc.c:255 access/hash/hashfunc.c:311 utils/adt/varchar.c:993 utils/adt/varchar.c:1053
+#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334 utils/adt/varchar.c:993 utils/adt/varchar.c:1053
 #, c-format
 msgid "could not determine which collation to use for string hashing"
 msgstr "n'a pas pu déterminer le collationnement à utiliser pour le hachage de chaîne"
 
-#: access/hash/hashfunc.c:256 access/hash/hashfunc.c:312 catalog/heap.c:713 catalog/heap.c:719 commands/createas.c:206 commands/createas.c:503 commands/indexcmds.c:1869 commands/tablecmds.c:16794 commands/view.c:86 regex/regc_pg_locale.c:263 utils/adt/formatting.c:1666 utils/adt/formatting.c:1790 utils/adt/formatting.c:1915 utils/adt/like.c:194 utils/adt/like_support.c:1003 utils/adt/varchar.c:733 utils/adt/varchar.c:994 utils/adt/varchar.c:1054 utils/adt/varlena.c:1524
+#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:335 catalog/heap.c:713 catalog/heap.c:719 commands/createas.c:206 commands/createas.c:503 commands/indexcmds.c:1869 commands/tablecmds.c:16839 commands/view.c:86 regex/regc_pg_locale.c:263 utils/adt/formatting.c:1666 utils/adt/formatting.c:1790 utils/adt/formatting.c:1915 utils/adt/like.c:194 utils/adt/like_support.c:1003 utils/adt/varchar.c:733 utils/adt/varchar.c:994 utils/adt/varchar.c:1054 utils/adt/varlena.c:1517
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Utilisez la clause COLLARE pour configurer explicitement le collationnement."
@@ -874,7 +851,7 @@ msgstr "Utilisez la clause COLLARE pour configurer explicitement le collationnem
 msgid "index row size %zu exceeds hash maximum %zu"
 msgstr "la taille de la ligne index, %zu, dépasse le hachage maximum, %zu"
 
-#: access/hash/hashinsert.c:84 access/spgist/spgdoinsert.c:2004 access/spgist/spgdoinsert.c:2279 access/spgist/spgutils.c:1008
+#: access/hash/hashinsert.c:84 access/spgist/spgdoinsert.c:2004 access/spgist/spgdoinsert.c:2279 access/spgist/spgutils.c:1020
 #, c-format
 msgid "Values larger than a buffer page cannot be indexed."
 msgstr "Les valeurs plus larges qu'une page de tampon ne peuvent pas être indexées."
@@ -931,7 +908,7 @@ msgstr "ne peut pas supprimer les lignes lors d'une opération parallèle"
 msgid "attempted to delete invisible tuple"
 msgstr "tentative de supprimer une ligne invisible"
 
-#: access/heap/heapam.c:3209 access/heap/heapam.c:6010
+#: access/heap/heapam.c:3209 access/heap/heapam.c:6019
 #, c-format
 msgid "cannot update tuples during a parallel operation"
 msgstr "ne peut pas mettre à jour les lignes lors d'une opération parallèle"
@@ -941,7 +918,7 @@ msgstr "ne peut pas mettre à jour les lignes lors d'une opération parallèle"
 msgid "attempted to update invisible tuple"
 msgstr "tentative de mettre à jour une ligne invisible"
 
-#: access/heap/heapam.c:4663 access/heap/heapam.c:4701 access/heap/heapam.c:4957 access/heap/heapam_handler.c:452
+#: access/heap/heapam.c:4663 access/heap/heapam.c:4701 access/heap/heapam.c:4966 access/heap/heapam_handler.c:456
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "n'a pas pu obtenir un verrou sur la relation « %s »"
@@ -961,7 +938,7 @@ msgstr "la ligne est trop grande : taille %zu, taille maximale %zu"
 msgid "could not write to file \"%s\", wrote %d of %d: %m"
 msgstr "n'a pas pu écrire le fichier « %s », a écrit %d de %d : %m"
 
-#: access/heap/rewriteheap.c:1020 access/heap/rewriteheap.c:1138 access/transam/timeline.c:329 access/transam/timeline.c:485 access/transam/xlog.c:3326 access/transam/xlog.c:3514 access/transam/xlog.c:4712 access/transam/xlog.c:11084 access/transam/xlog.c:11122 access/transam/xlog.c:11527 access/transam/xlogfuncs.c:776 postmaster/postmaster.c:4600 postmaster/postmaster.c:5646 replication/logical/origin.c:587 replication/slot.c:1524 storage/file/copydir.c:167 storage/smgr/md.c:218 utils/time/snapmgr.c:1244
+#: access/heap/rewriteheap.c:1020 access/heap/rewriteheap.c:1138 access/transam/timeline.c:329 access/transam/timeline.c:485 access/transam/xlog.c:3350 access/transam/xlog.c:3538 access/transam/xlog.c:4749 access/transam/xlog.c:11264 access/transam/xlog.c:11302 access/transam/xlog.c:11707 access/transam/xlogfuncs.c:776 postmaster/postmaster.c:4623 postmaster/postmaster.c:5669 replication/logical/origin.c:587 replication/slot.c:1544 storage/file/copydir.c:167 storage/smgr/md.c:218 utils/time/snapmgr.c:1259
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "n'a pas pu créer le fichier « %s » : %m"
@@ -971,184 +948,165 @@ msgstr "n'a pas pu créer le fichier « %s » : %m"
 msgid "could not truncate file \"%s\" to %u: %m"
 msgstr "n'a pas pu tronquer le fichier « %s » en %u : %m"
 
-#: access/heap/rewriteheap.c:1166 access/transam/timeline.c:384 access/transam/timeline.c:424 access/transam/timeline.c:502 access/transam/xlog.c:3398 access/transam/xlog.c:3570 access/transam/xlog.c:4724 postmaster/postmaster.c:4610 postmaster/postmaster.c:4620 replication/logical/origin.c:599 replication/logical/origin.c:641 replication/logical/origin.c:660 replication/logical/snapbuild.c:1611 replication/slot.c:1559 storage/file/buffile.c:506 storage/file/copydir.c:207 utils/init/miscinit.c:1421 utils/init/miscinit.c:1432 utils/init/miscinit.c:1440 utils/misc/guc.c:8352 utils/misc/guc.c:8383 utils/misc/guc.c:10292 utils/misc/guc.c:10306 utils/time/snapmgr.c:1249
-#: utils/time/snapmgr.c:1256
+#: access/heap/rewriteheap.c:1166 access/transam/timeline.c:384 access/transam/timeline.c:424 access/transam/timeline.c:502 access/transam/xlog.c:3422 access/transam/xlog.c:3594 access/transam/xlog.c:4761 postmaster/postmaster.c:4633 postmaster/postmaster.c:4643 replication/logical/origin.c:599 replication/logical/origin.c:641 replication/logical/origin.c:660 replication/logical/snapbuild.c:1627 replication/slot.c:1579 storage/file/buffile.c:506 storage/file/copydir.c:207 utils/init/miscinit.c:1421 utils/init/miscinit.c:1432 utils/init/miscinit.c:1440 utils/misc/guc.c:8353 utils/misc/guc.c:8384 utils/misc/guc.c:10293 utils/misc/guc.c:10307 utils/time/snapmgr.c:1264
+#: utils/time/snapmgr.c:1271
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "n'a pas pu écrire dans le fichier « %s » : %m"
 
-#: access/heap/rewriteheap.c:1256 access/transam/twophase.c:1613 access/transam/xlogarchive.c:118 access/transam/xlogarchive.c:422 postmaster/postmaster.c:1096 postmaster/syslogger.c:1465 replication/logical/origin.c:575 replication/logical/reorderbuffer.c:4387 replication/logical/snapbuild.c:1556 replication/logical/snapbuild.c:1972 replication/slot.c:1656 storage/file/fd.c:788 storage/file/fd.c:3169 storage/file/fd.c:3231 storage/file/reinit.c:250 storage/ipc/dsm.c:315 storage/smgr/md.c:344 storage/smgr/md.c:394 storage/sync/sync.c:231 utils/time/snapmgr.c:1589
+#: access/heap/rewriteheap.c:1256 access/transam/twophase.c:1677 access/transam/xlogarchive.c:118 access/transam/xlogarchive.c:422 postmaster/postmaster.c:1096 postmaster/syslogger.c:1465 replication/logical/origin.c:575 replication/logical/reorderbuffer.c:4390 replication/logical/snapbuild.c:1572 replication/logical/snapbuild.c:1988 replication/slot.c:1676 storage/file/fd.c:788 storage/file/fd.c:3171 storage/file/fd.c:3233 storage/file/reinit.c:250 storage/ipc/dsm.c:315 storage/smgr/md.c:344 storage/smgr/md.c:394 storage/sync/sync.c:237 utils/time/snapmgr.c:1604
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "n'a pas pu supprimer le fichier « %s » : %m"
 
-#: access/heap/vacuumlazy.c:772
+#: access/heap/vacuumlazy.c:773
 #, c-format
 msgid "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "VACUUM automatique agressif pour éviter un rebouclage des identifiants de transaction dans la table « %s.%s.%s »  : %d parcours d'index\n"
 
-#: access/heap/vacuumlazy.c:774
+#: access/heap/vacuumlazy.c:775
 #, c-format
 msgid "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "VACUUM automatique pour éviter un rebouclage des identifiants de transaction dans la table « %s.%s.%s » : parcours d'index : %d\n"
 
-#: access/heap/vacuumlazy.c:779
+#: access/heap/vacuumlazy.c:780
 #, c-format
 msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "VACUUM automatique agressif de la table « %s.%s.%s » : %d parcours d'index\n"
 
-#: access/heap/vacuumlazy.c:781
+#: access/heap/vacuumlazy.c:782
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "VACUUM automatique de la table « %s.%s.%s » : %d parcours d'index\n"
 
-#: access/heap/vacuumlazy.c:788
+#: access/heap/vacuumlazy.c:789
 #, c-format
 msgid "pages: %u removed, %u remain, %u skipped due to pins, %u skipped frozen\n"
 msgstr "pages : %u supprimées, %u restants, %u ignorées à cause de verrous; %u ignorées car gelées\n"
 
-#: access/heap/vacuumlazy.c:794
+#: access/heap/vacuumlazy.c:795
 #, c-format
 msgid "tuples: %lld removed, %lld remain, %lld are dead but not yet removable, oldest xmin: %u\n"
 msgstr "lignes : %lld supprimées, %lld restantes, %lld sont mortes mais pas encore supprimables, plus ancien xmin : %u\n"
 
-#: access/heap/vacuumlazy.c:800 commands/analyze.c:794
-#, c-format
-msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n"
-msgstr "utilisation du cache : %lld récupérés, %lld ratés, %lld modifiés\n"
+#: access/heap/vacuumlazy.c:806
+msgid "index scan not needed: "
+msgstr "parcours d'index non nécessaire : "
+
+#: access/heap/vacuumlazy.c:808
+msgid "index scan needed: "
+msgstr "parcours d'index nécessaire : "
 
 #: access/heap/vacuumlazy.c:810
 #, c-format
-msgid " %u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n"
-msgstr ""
-
-#: access/heap/vacuumlazy.c:813
-msgid "index scan not needed:"
-msgstr "parcours d'index non nécessaire :"
+msgid "%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n"
+msgstr "%u blocs de la table (%.2f%% au total) ont %lld versions mortes de lignes supprimées\n"
 
 #: access/heap/vacuumlazy.c:815
-msgid "index scan needed:"
-msgstr "parcours d'index nécessaire :"
+msgid "index scan bypassed: "
+msgstr "parcours d'index contourné : "
+
+#: access/heap/vacuumlazy.c:817
+msgid "index scan bypassed by failsafe: "
+msgstr "parcours d'index contourné par failsafe : "
 
 #: access/heap/vacuumlazy.c:819
 #, c-format
-msgid " %u pages from table (%.2f%% of total) have %lld dead item identifiers\n"
-msgstr ""
+msgid "%u pages from table (%.2f%% of total) have %lld dead item identifiers\n"
+msgstr "%u pages de la table (%.2f%% au total) ont %lld identifiants d'élément mort\n"
 
-#: access/heap/vacuumlazy.c:822
-msgid "index scan bypassed:"
-msgstr ""
-
-#: access/heap/vacuumlazy.c:824
-msgid "index scan bypassed by failsafe:"
-msgstr ""
-
-#: access/heap/vacuumlazy.c:840
+#: access/heap/vacuumlazy.c:834
 #, c-format
 msgid "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u reusable\n"
 msgstr "index \"%s\": blocs : %u au total, %u nouvellement supprimés, %u actuellement supprimés, %u réutilisables\n"
 
-#: access/heap/vacuumlazy.c:847 commands/analyze.c:798
+#: access/heap/vacuumlazy.c:846 commands/analyze.c:814
 #, c-format
-msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
-msgstr "vitesse moyenne de lecture : %.3f Mo/s, vitesse moyenne d'écriture : %.3f Mo/s\n"
-
-#: access/heap/vacuumlazy.c:851 commands/analyze.c:802
-msgid "I/O Timings:"
-msgstr "Chronométrages I/O :"
+msgid "I/O timings: read: %.3f ms, write: %.3f ms\n"
+msgstr ""
+"chronométrage I/O : lecture : %.3f ms, écriture : %.3f ms\n"
+"\n"
 
-#: access/heap/vacuumlazy.c:853 commands/analyze.c:804
+#: access/heap/vacuumlazy.c:849 commands/analyze.c:817
 #, c-format
-msgid " read=%.3f"
-msgstr " lu=%.3f"
+msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
+msgstr "vitesse moyenne de lecture : %.3f Mo/s, vitesse moyenne d'écriture : %.3f Mo/s\n"
 
-#: access/heap/vacuumlazy.c:856 commands/analyze.c:807
+#: access/heap/vacuumlazy.c:852 commands/analyze.c:819
 #, c-format
-msgid " write=%.3f"
-msgstr " écrit=%.3f"
+msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n"
+msgstr "utilisation du cache : %lld récupérés, %lld ratés, %lld modifiés\n"
 
-#: access/heap/vacuumlazy.c:860
+#: access/heap/vacuumlazy.c:857
 #, c-format
-msgid "system usage: %s\n"
-msgstr "utilisation du système : %s\n"
+msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n"
+msgstr "utilisation des WAL : %lld enregistrements, %lld images complètes de blocs, %llu octets\n"
 
-#: access/heap/vacuumlazy.c:862
+#: access/heap/vacuumlazy.c:861 commands/analyze.c:823
 #, c-format
-msgid "WAL usage: %lld records, %lld full page images, %llu bytes"
-msgstr "utilisation des WAL : %lld enregistrements, %lld images complètes de blocs, %llu octets"
+msgid "system usage: %s"
+msgstr "utilisation du système : %s"
 
-#: access/heap/vacuumlazy.c:937
+#: access/heap/vacuumlazy.c:933
 #, c-format
 msgid "aggressively vacuuming \"%s.%s\""
 msgstr "exécution d'un VACUUM agressif sur « %s.%s »"
 
-#: access/heap/vacuumlazy.c:942 commands/cluster.c:898
+#: access/heap/vacuumlazy.c:938 commands/cluster.c:898
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "exécution du VACUUM sur « %s.%s »"
 
-#: access/heap/vacuumlazy.c:1652
+#: access/heap/vacuumlazy.c:1640 access/heap/vacuumlazy.c:2385
 #, c-format
-msgid "\"%s\": removed %lld dead item identifiers in %u pages"
-msgstr "« %s »: %lld versions de ligne supprimées dans %u blocs"
+msgid "table \"%s\": removed %lld dead item identifiers in %u pages"
+msgstr "table « %s »: %lld versions mortes de ligne supprimées dans %u blocs"
 
-#: access/heap/vacuumlazy.c:1658
+#: access/heap/vacuumlazy.c:1656
 #, c-format
 msgid "%lld dead row versions cannot be removed yet, oldest xmin: %u\n"
 msgstr "%lld versions de lignes mortes ne peuvent pas encore être supprimées, plus ancien xmin : %u\n"
 
-#: access/heap/vacuumlazy.c:1660
-#, c-format
-msgid "%u page removed.\n"
-msgid_plural "%u pages removed.\n"
-msgstr[0] "%u bloc supprimé.\n"
-msgstr[1] "%u blocs supprimés.\n"
-
-#: access/heap/vacuumlazy.c:1664
+#: access/heap/vacuumlazy.c:1658
 #, c-format
 msgid "Skipped %u page due to buffer pins, "
 msgid_plural "Skipped %u pages due to buffer pins, "
 msgstr[0] "Ignore %u page à cause des verrous de blocs, "
 msgstr[1] "Ignore %u pages à cause des verrous de blocs, "
 
-#: access/heap/vacuumlazy.c:1668
+#: access/heap/vacuumlazy.c:1662
 #, c-format
 msgid "%u frozen page.\n"
 msgid_plural "%u frozen pages.\n"
 msgstr[0] "%u page gelée.\n"
 msgstr[1] "%u pages gelées.\n"
 
-#: access/heap/vacuumlazy.c:1672 commands/indexcmds.c:3986 commands/indexcmds.c:4005
+#: access/heap/vacuumlazy.c:1666 commands/indexcmds.c:3986 commands/indexcmds.c:4005
 #, c-format
 msgid "%s."
 msgstr "%s."
 
-#: access/heap/vacuumlazy.c:1675
-#, c-format
-msgid "\"%s\": found %lld removable, %lld nonremovable row versions in %u out of %u pages"
-msgstr "« %s » : trouvé %lld versions de ligne supprimables, %lld non supprimables, dans %u blocs sur %u"
-
-#: access/heap/vacuumlazy.c:2179
+#: access/heap/vacuumlazy.c:1669
 #, c-format
-msgid "\"%s\": index scan bypassed: %u pages from table (%.2f%% of total) have %lld dead item identifiers"
-msgstr ""
+msgid "table \"%s\": found %lld removable, %lld nonremovable row versions in %u out of %u pages"
+msgstr "table « %s » : trouvé %lld versions de ligne supprimables, %lld non supprimables, dans %u blocs sur %u"
 
-#: access/heap/vacuumlazy.c:2390
+#: access/heap/vacuumlazy.c:2173
 #, c-format
-msgid "\"%s\": removed %d dead item identifiers in %u pages"
-msgstr "« %s »: %d versions de lignes mortes supprimées dans %u blocs"
+msgid "table \"%s\": index scan bypassed: %u pages from table (%.2f%% of total) have %lld dead item identifiers"
+msgstr "table \"%s\" : parcours d'index ignoré : %u pages de la table (%.2f%% au total) ont %lld identifiants de ligne morte"
 
-#: access/heap/vacuumlazy.c:2625
+#: access/heap/vacuumlazy.c:2617
 #, c-format
 msgid "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after %d index scans"
-msgstr ""
+msgstr "ignore la maintenance non essentielle de la table \"%s.%s.%s\" comme mesure de sécurité après %d parcours d'index"
 
-#: access/heap/vacuumlazy.c:2630
+#: access/heap/vacuumlazy.c:2622
 #, c-format
-msgid "table's relfrozenxid or relminmxid is too far in the past"
-msgstr "le relfrozenxid ou le relminmxid de la table est loin dans le passé"
+msgid "The table's relfrozenxid or relminmxid is too far in the past."
+msgstr "le relfrozenxid ou le relminmxid de la table est trop loin dans le passé"
 
-#: access/heap/vacuumlazy.c:2631
+#: access/heap/vacuumlazy.c:2623
 #, c-format
 msgid ""
 "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n"
@@ -1157,31 +1115,31 @@ msgstr ""
 "Réfléchissez à augmenter la valeur du paramètre de configuration « maintenance_work_mem » ou « autovacuum_work_mem ».\n"
 "Vous pouvez aussi réfléchir à d'autres façons d'exécuter un VACUUM pour tenir sur l'allocation des identifiants de transaction."
 
-#: access/heap/vacuumlazy.c:2771
+#: access/heap/vacuumlazy.c:2763
 #, 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)"
 msgstr[0] "a lancé %d worker parallélisé pour le nettoyage d'index du VACUUM (planifié : %d)"
 msgstr[1] "a lancé %d workers parallélisés pour le nettoyage d'index du VACUUM (planifié : %d)"
 
-#: access/heap/vacuumlazy.c:2777
+#: access/heap/vacuumlazy.c:2769
 #, 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] "a lancé %d worker parallélisé pour le vacuum d'index (planifié : %d)"
 msgstr[1] "a lancé %d workers parallélisés pour le vacuum d'index (planifié : %d)"
 
-#: access/heap/vacuumlazy.c:3066
+#: access/heap/vacuumlazy.c:3063
 #, c-format
 msgid "scanned index \"%s\" to remove %d row versions"
 msgstr "a parcouru l'index « %s » pour supprimer %d versions de lignes"
 
-#: access/heap/vacuumlazy.c:3123
+#: access/heap/vacuumlazy.c:3120
 #, c-format
 msgid "index \"%s\" now contains %.0f row versions in %u pages"
 msgstr "l'index « %s » contient maintenant %.0f versions de ligne dans %u pages"
 
-#: access/heap/vacuumlazy.c:3127
+#: access/heap/vacuumlazy.c:3124
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -1194,67 +1152,67 @@ msgstr ""
 "%u blocs d'index sont actuellement supprimés, dont %u sont actuellement réutilisables.\n"
 "%s."
 
-#: access/heap/vacuumlazy.c:3236
+#: access/heap/vacuumlazy.c:3233
 #, c-format
 msgid "\"%s\": stopping truncate due to conflicting lock request"
 msgstr "« %s » : arrêt du TRUNCATE à cause d'un conflit dans la demande de verrou"
 
-#: access/heap/vacuumlazy.c:3302
+#: access/heap/vacuumlazy.c:3299
 #, c-format
-msgid "\"%s\": truncated %u to %u pages"
-msgstr "« %s » : %u pages tronqués en %u"
+msgid "table \"%s\": truncated %u to %u pages"
+msgstr "table « %s » : %u pages tronqués en %u"
 
-#: access/heap/vacuumlazy.c:3366
+#: access/heap/vacuumlazy.c:3363
 #, c-format
-msgid "\"%s\": suspending truncate due to conflicting lock request"
-msgstr "« %s » : mis en suspens du TRUNCATE à cause d'un conflit dans la demande de verrou"
+msgid "table \"%s\": suspending truncate due to conflicting lock request"
+msgstr "table « %s » : mis en suspens du TRUNCATE à cause d'un conflit dans la demande de verrou"
 
-#: access/heap/vacuumlazy.c:3511
+#: access/heap/vacuumlazy.c:3508
 #, c-format
 msgid "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary tables in parallel"
 msgstr "désactivation de l'option de parallélisation du VACUUM sur « %s » --- ne peut pas exécuter un VACUUM parallélisé sur des tables temporaires"
 
-#: access/heap/vacuumlazy.c:4266
+#: access/heap/vacuumlazy.c:4274
 #, c-format
-msgid "while scanning block %u and offset %u of relation \"%s.%s\""
-msgstr "lors du parcours du bloc %u et du décalage %u de la relation « %s.%s »"
+msgid "while scanning block %u offset %u of relation \"%s.%s\""
+msgstr "lors du parcours du bloc %u au décalage %u de la relation « %s.%s »"
 
-#: access/heap/vacuumlazy.c:4269
+#: access/heap/vacuumlazy.c:4277
 #, c-format
 msgid "while scanning block %u of relation \"%s.%s\""
 msgstr "lors du parcours du bloc %u de la relation « %s.%s »"
 
-#: access/heap/vacuumlazy.c:4273
+#: access/heap/vacuumlazy.c:4281
 #, c-format
 msgid "while scanning relation \"%s.%s\""
 msgstr "lors du parcours de la relation « %s.%s »"
 
-#: access/heap/vacuumlazy.c:4281
+#: access/heap/vacuumlazy.c:4289
 #, c-format
-msgid "while vacuuming block %u and offset %u of relation \"%s.%s\""
-msgstr "lors du traitement par VACUUM du bloc %u et du décalage %u de la relation « %s.%s »"
+msgid "while vacuuming block %u offset %u of relation \"%s.%s\""
+msgstr "lors du traitement par VACUUM du bloc %u au décalage %u de la relation « %s.%s »"
 
-#: access/heap/vacuumlazy.c:4284
+#: access/heap/vacuumlazy.c:4292
 #, c-format
 msgid "while vacuuming block %u of relation \"%s.%s\""
 msgstr "lors du VACUUM du bloc %u de la relation « %s.%s »"
 
-#: access/heap/vacuumlazy.c:4288
+#: access/heap/vacuumlazy.c:4296
 #, c-format
 msgid "while vacuuming relation \"%s.%s\""
 msgstr "lors du vacuum de la relation « %s.%s »"
 
-#: access/heap/vacuumlazy.c:4293
+#: access/heap/vacuumlazy.c:4301
 #, c-format
 msgid "while vacuuming index \"%s\" of relation \"%s.%s\""
 msgstr "lors du nettoyage de l'index « %s » dans la relation « %s.%s »"
 
-#: access/heap/vacuumlazy.c:4298
+#: access/heap/vacuumlazy.c:4306
 #, c-format
 msgid "while cleaning up index \"%s\" of relation \"%s.%s\""
 msgstr "lors du nettoyage de l'index « %s » dans la relation « %s.%s »"
 
-#: access/heap/vacuumlazy.c:4304
+#: access/heap/vacuumlazy.c:4312
 #, c-format
 msgid "while truncating relation \"%s.%s\" to %u blocks"
 msgstr "lors du tronquage de la relation « %s.%s » à %u blocs"
@@ -1274,7 +1232,7 @@ msgstr "la méthode d'accès « %s » n'a pas de handler"
 msgid "transaction aborted during system catalog scan"
 msgstr "transaction annulée lors du parcours du catalogue système"
 
-#: access/index/indexam.c:142 catalog/objectaddress.c:1355 commands/indexcmds.c:2670 commands/tablecmds.c:267 commands/tablecmds.c:291 commands/tablecmds.c:16492 commands/tablecmds.c:18194
+#: access/index/indexam.c:142 catalog/objectaddress.c:1355 commands/indexcmds.c:2670 commands/tablecmds.c:267 commands/tablecmds.c:291 commands/tablecmds.c:16537 commands/tablecmds.c:18274
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "« %s » n'est pas un index"
@@ -1347,12 +1305,12 @@ msgstr ""
 "la famille d'opérateur « %s » de la méthode d'accès %s nécessite une fonction de support\n"
 "manquante pour les types %s et %s"
 
-#: access/spgist/spgutils.c:232
+#: access/spgist/spgutils.c:244
 #, c-format
 msgid "compress method must be defined when leaf type is different from input type"
 msgstr "la méthode de compression doit être définie quand le type feuille est différent du type d'entrée"
 
-#: access/spgist/spgutils.c:1005
+#: access/spgist/spgutils.c:1017
 #, c-format
 msgid "SP-GiST inner tuple size %zu exceeds maximum %zu"
 msgstr "la taille de la ligne interne SP-GiST, %zu, dépasse le maximum %zu"
@@ -1374,7 +1332,7 @@ msgstr ""
 msgid "\"%s\" is an index"
 msgstr "« %s » est un index"
 
-#: access/table/table.c:54 access/table/table.c:88 access/table/table.c:117 access/table/table.c:150 catalog/aclchk.c:1799 commands/tablecmds.c:13197 commands/tablecmds.c:16501
+#: access/table/table.c:54 access/table/table.c:88 access/table/table.c:117 access/table/table.c:150 catalog/aclchk.c:1799 commands/tablecmds.c:13238 commands/tablecmds.c:16546
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "« %s » est un type composite"
@@ -1389,7 +1347,7 @@ msgstr "le tid (%u, %u) n'est pas valide pour la relation « %s »"
 msgid "%s cannot be empty."
 msgstr "%s ne peut pas être vide."
 
-#: access/table/tableamapi.c:122 utils/misc/guc.c:12438
+#: access/table/tableamapi.c:122 utils/misc/guc.c:12439
 #, c-format
 msgid "%s is too long (maximum %d characters)."
 msgstr "%s est trop long (%d caractères maximum)."
@@ -1409,22 +1367,22 @@ msgstr "La méthode d'accès « %s » n'existe pas."
 msgid "sample percentage must be between 0 and 100"
 msgstr "le pourcentage de l'échantillonnage doit être compris entre 0 et 100"
 
-#: access/transam/commit_ts.c:278
+#: access/transam/commit_ts.c:280
 #, c-format
 msgid "cannot retrieve commit timestamp for transaction %u"
 msgstr "ne peut pas récupérer l'horodatage de la validation pour la transaction %u"
 
-#: access/transam/commit_ts.c:376
+#: access/transam/commit_ts.c:378
 #, c-format
 msgid "could not get commit timestamp data"
 msgstr "n'a pas pu récupérer les données d'horodatage de la validation"
 
-#: access/transam/commit_ts.c:378
+#: access/transam/commit_ts.c:380
 #, c-format
 msgid "Make sure the configuration parameter \"%s\" is set on the primary server."
 msgstr "Assurez-vous que le paramètre de configuration « %s » soit configuré sur le serveur primaire."
 
-#: access/transam/commit_ts.c:380
+#: access/transam/commit_ts.c:382
 #, c-format
 msgid "Make sure the configuration parameter \"%s\" is set."
 msgstr "Assurez-vous que le paramètre de configuration « %s » soit configuré."
@@ -1538,36 +1496,36 @@ msgstr "ne peut pas tronquer jusqu'au MutiXact %u car il n'existe pas sur disque
 msgid "invalid MultiXactId: %u"
 msgstr "MultiXactId invalide : %u"
 
-#: access/transam/parallel.c:707 access/transam/parallel.c:826
+#: access/transam/parallel.c:718 access/transam/parallel.c:837
 #, c-format
 msgid "parallel worker failed to initialize"
 msgstr "échec de l'initialisation du worker parallèle"
 
-#: access/transam/parallel.c:708 access/transam/parallel.c:827
+#: access/transam/parallel.c:719 access/transam/parallel.c:838
 #, c-format
 msgid "More details may be available in the server log."
 msgstr "Plus de détails sont disponibles dans les traces du serveur."
 
-#: access/transam/parallel.c:888
+#: access/transam/parallel.c:899
 #, c-format
 msgid "postmaster exited during a parallel transaction"
 msgstr "postmaster a quitté pendant une transaction parallèle"
 
-#: access/transam/parallel.c:1075
+#: access/transam/parallel.c:1086
 #, c-format
 msgid "lost connection to parallel worker"
 msgstr "perte de la connexion au processus parallèle"
 
-#: access/transam/parallel.c:1141 access/transam/parallel.c:1143
+#: access/transam/parallel.c:1152 access/transam/parallel.c:1154
 msgid "parallel worker"
 msgstr "processus parallèle"
 
-#: access/transam/parallel.c:1294
+#: access/transam/parallel.c:1307
 #, c-format
 msgid "could not map dynamic shared memory segment"
 msgstr "n'a pas pu mapper le segment de mémoire partagée dynamique"
 
-#: access/transam/parallel.c:1299
+#: access/transam/parallel.c:1312
 #, c-format
 msgid "invalid magic number in dynamic shared memory segment"
 msgstr "numéro magique invalide dans le segment de mémoire partagée dynamique"
@@ -1689,147 +1647,152 @@ msgstr "Configure max_prepared_transactions à une valeur différente de zéro."
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "l'identifiant de la transaction « %s » est déjà utilisé"
 
-#: access/transam/twophase.c:417 access/transam/twophase.c:2385
+#: access/transam/twophase.c:417 access/transam/twophase.c:2449
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "nombre maximum de transactions préparées obtenu"
 
-#: access/transam/twophase.c:418 access/transam/twophase.c:2386
+#: access/transam/twophase.c:418 access/transam/twophase.c:2450
 #, c-format
 msgid "Increase max_prepared_transactions (currently %d)."
 msgstr "Augmentez max_prepared_transactions (actuellement %d)."
 
-#: access/transam/twophase.c:584
+#: access/transam/twophase.c:594
 #, c-format
 msgid "prepared transaction with identifier \"%s\" is busy"
 msgstr "la transaction préparée d'identifiant « %s » est occupée"
 
-#: access/transam/twophase.c:590
+#: access/transam/twophase.c:600
 #, c-format
 msgid "permission denied to finish prepared transaction"
 msgstr "droit refusé pour terminer la transaction préparée"
 
-#: access/transam/twophase.c:591
+#: access/transam/twophase.c:601
 #, c-format
 msgid "Must be superuser or the user that prepared the transaction."
 msgstr "Doit être super-utilisateur ou l'utilisateur qui a préparé la transaction."
 
-#: access/transam/twophase.c:602
+#: access/transam/twophase.c:612
 #, c-format
 msgid "prepared transaction belongs to another database"
 msgstr "la transaction préparée appartient à une autre base de données"
 
-#: access/transam/twophase.c:603
+#: access/transam/twophase.c:613
 #, c-format
 msgid "Connect to the database where the transaction was prepared to finish it."
 msgstr ""
 "Connectez-vous à la base de données où la transaction a été préparée pour\n"
 "la terminer."
 
-#: access/transam/twophase.c:618
+#: access/transam/twophase.c:628
 #, c-format
 msgid "prepared transaction with identifier \"%s\" does not exist"
 msgstr "la transaction préparée d'identifiant « %s » n'existe pas"
 
-#: access/transam/twophase.c:1093
+#: access/transam/twophase.c:1149
 #, c-format
 msgid "two-phase state file maximum length exceeded"
 msgstr ""
 "longueur maximale dépassée pour le fichier de statut de la validation en\n"
 "deux phase"
 
-#: access/transam/twophase.c:1247
+#: access/transam/twophase.c:1303
 #, c-format
 msgid "incorrect size of file \"%s\": %lld byte"
 msgid_plural "incorrect size of file \"%s\": %lld bytes"
 msgstr[0] "taille incorrecte du fichier « %s » : %lld octet"
 msgstr[1] "taille incorrecte du fichier « %s » : %lld octets"
 
-#: access/transam/twophase.c:1256
+#: access/transam/twophase.c:1312
 #, c-format
 msgid "incorrect alignment of CRC offset for file \"%s\""
 msgstr "alignement