Translation updates
authorPeter Eisentraut <peter@eisentraut.org>
Mon, 16 May 2022 09:12:42 +0000 (11:12 +0200)
committerPeter Eisentraut <peter@eisentraut.org>
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 <peter@eisentraut.org>, 2001 - 2021.
+# Peter Eisentraut <peter@eisentraut.org>, 2001 - 2022.
 #
 # Use these quotes: »%s«
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 14\n"
+"Project-Id-Version: PostgreSQL 15\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\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 <peter@eisentraut.org>\n"
 "Language-Team: German <pgsql-translators@postgresql.org>\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 "Serverproz