Translation updates
authorPeter Eisentraut
Mon, 21 May 2018 16:27:42 +0000 (12:27 -0400)
committerPeter Eisentraut
Mon, 21 May 2018 16:29:52 +0000 (12:29 -0400)
Source-Git-URL: git://git.postgresql.org/git/pgtranslation/messages.git
Source-Git-Hash: 3a5a71cccad5c68e01008e9e3a4f06930197a05e

187 files changed:
src/backend/po/de.po
src/backend/po/fr.po
src/backend/po/it.po
src/backend/po/ko.po
src/backend/po/ru.po
src/bin/initdb/nls.mk
src/bin/initdb/po/de.po
src/bin/initdb/po/fr.po
src/bin/initdb/po/it.po
src/bin/initdb/po/ko.po
src/bin/initdb/po/ru.po
src/bin/initdb/po/sv.po
src/bin/initdb/po/tr.po [new file with mode: 0644]
src/bin/initdb/po/vi.po [new file with mode: 0644]
src/bin/pg_archivecleanup/nls.mk
src/bin/pg_archivecleanup/po/de.po
src/bin/pg_archivecleanup/po/es.po
src/bin/pg_archivecleanup/po/fr.po
src/bin/pg_archivecleanup/po/ja.po [new file with mode: 0644]
src/bin/pg_archivecleanup/po/ko.po [new file with mode: 0644]
src/bin/pg_archivecleanup/po/ru.po
src/bin/pg_archivecleanup/po/tr.po [new file with mode: 0644]
src/bin/pg_archivecleanup/po/vi.po [new file with mode: 0644]
src/bin/pg_basebackup/nls.mk
src/bin/pg_basebackup/po/de.po
src/bin/pg_basebackup/po/es.po
src/bin/pg_basebackup/po/fr.po
src/bin/pg_basebackup/po/it.po
src/bin/pg_basebackup/po/ja.po [new file with mode: 0644]
src/bin/pg_basebackup/po/ko.po
src/bin/pg_basebackup/po/ru.po
src/bin/pg_basebackup/po/sv.po [new file with mode: 0644]
src/bin/pg_basebackup/po/tr.po [new file with mode: 0644]
src/bin/pg_basebackup/po/vi.po [new file with mode: 0644]
src/bin/pg_config/nls.mk
src/bin/pg_config/po/it.po
src/bin/pg_config/po/ko.po
src/bin/pg_config/po/ru.po
src/bin/pg_config/po/vi.po [new file with mode: 0644]
src/bin/pg_controldata/nls.mk
src/bin/pg_controldata/po/de.po
src/bin/pg_controldata/po/it.po
src/bin/pg_controldata/po/ko.po
src/bin/pg_controldata/po/ru.po
src/bin/pg_controldata/po/sv.po
src/bin/pg_controldata/po/tr.po [new file with mode: 0644]
src/bin/pg_controldata/po/vi.po [new file with mode: 0644]
src/bin/pg_ctl/nls.mk
src/bin/pg_ctl/po/de.po
src/bin/pg_ctl/po/fr.po
src/bin/pg_ctl/po/it.po
src/bin/pg_ctl/po/ko.po
src/bin/pg_ctl/po/ru.po
src/bin/pg_ctl/po/sv.po
src/bin/pg_ctl/po/tr.po [new file with mode: 0644]
src/bin/pg_dump/nls.mk
src/bin/pg_dump/po/de.po
src/bin/pg_dump/po/es.po
src/bin/pg_dump/po/fr.po
src/bin/pg_dump/po/he.po [new file with mode: 0644]
src/bin/pg_dump/po/it.po
src/bin/pg_dump/po/ko.po
src/bin/pg_dump/po/ru.po
src/bin/pg_dump/po/sv.po
src/bin/pg_dump/po/tr.po [new file with mode: 0644]
src/bin/pg_resetwal/nls.mk
src/bin/pg_resetwal/po/de.po
src/bin/pg_resetwal/po/fr.po
src/bin/pg_resetwal/po/ko.po
src/bin/pg_resetwal/po/ru.po
src/bin/pg_resetwal/po/sv.po
src/bin/pg_resetwal/po/tr.po [new file with mode: 0644]
src/bin/pg_rewind/nls.mk
src/bin/pg_rewind/po/de.po
src/bin/pg_rewind/po/es.po
src/bin/pg_rewind/po/fr.po
src/bin/pg_rewind/po/it.po
src/bin/pg_rewind/po/ko.po
src/bin/pg_rewind/po/ru.po
src/bin/pg_rewind/po/sv.po
src/bin/pg_rewind/po/tr.po [new file with mode: 0644]
src/bin/pg_test_fsync/nls.mk
src/bin/pg_test_fsync/po/de.po [new file with mode: 0644]
src/bin/pg_test_fsync/po/es.po
src/bin/pg_test_fsync/po/fr.po
src/bin/pg_test_fsync/po/ja.po [new file with mode: 0644]
src/bin/pg_test_fsync/po/ko.po [new file with mode: 0644]
src/bin/pg_test_fsync/po/ru.po
src/bin/pg_test_fsync/po/sv.po
src/bin/pg_test_fsync/po/tr.po [new file with mode: 0644]
src/bin/pg_test_fsync/po/vi.po [new file with mode: 0644]
src/bin/pg_test_timing/nls.mk
src/bin/pg_test_timing/po/de.po
src/bin/pg_test_timing/po/es.po
src/bin/pg_test_timing/po/fr.po
src/bin/pg_test_timing/po/ja.po [new file with mode: 0644]
src/bin/pg_test_timing/po/ko.po [new file with mode: 0644]
src/bin/pg_test_timing/po/ru.po
src/bin/pg_test_timing/po/tr.po [new file with mode: 0644]
src/bin/pg_test_timing/po/vi.po [new file with mode: 0644]
src/bin/pg_upgrade/nls.mk
src/bin/pg_upgrade/po/de.po [new file with mode: 0644]
src/bin/pg_upgrade/po/fr.po
src/bin/pg_upgrade/po/ja.po [new file with mode: 0644]
src/bin/pg_upgrade/po/ko.po [new file with mode: 0644]
src/bin/pg_upgrade/po/ru.po
src/bin/pg_upgrade/po/sv.po [new file with mode: 0644]
src/bin/pg_upgrade/po/tr.po [new file with mode: 0644]
src/bin/pg_waldump/nls.mk
src/bin/pg_waldump/po/de.po [new file with mode: 0644]
src/bin/pg_waldump/po/es.po
src/bin/pg_waldump/po/fr.po
src/bin/pg_waldump/po/ja.po [new file with mode: 0644]
src/bin/pg_waldump/po/ko.po [new file with mode: 0644]
src/bin/pg_waldump/po/ru.po [new file with mode: 0644]
src/bin/pg_waldump/po/sv.po
src/bin/pg_waldump/po/tr.po [new file with mode: 0644]
src/bin/pg_waldump/po/vi.po [new file with mode: 0644]
src/bin/psql/po/de.po
src/bin/psql/po/fr.po
src/bin/psql/po/it.po
src/bin/psql/po/ja.po
src/bin/psql/po/ko.po
src/bin/psql/po/ru.po
src/bin/psql/po/sv.po
src/bin/scripts/nls.mk
src/bin/scripts/po/de.po
src/bin/scripts/po/it.po
src/bin/scripts/po/ko.po
src/bin/scripts/po/ru.po
src/bin/scripts/po/sv.po
src/bin/scripts/po/tr.po [new file with mode: 0644]
src/interfaces/ecpg/ecpglib/nls.mk
src/interfaces/ecpg/ecpglib/po/it.po
src/interfaces/ecpg/ecpglib/po/ko.po
src/interfaces/ecpg/ecpglib/po/ru.po
src/interfaces/ecpg/ecpglib/po/sv.po [new file with mode: 0644]
src/interfaces/ecpg/ecpglib/po/vi.po [new file with mode: 0644]
src/interfaces/ecpg/preproc/nls.mk
src/interfaces/ecpg/preproc/po/de.po
src/interfaces/ecpg/preproc/po/fr.po
src/interfaces/ecpg/preproc/po/it.po
src/interfaces/ecpg/preproc/po/ko.po
src/interfaces/ecpg/preproc/po/ru.po
src/interfaces/ecpg/preproc/po/sv.po [new file with mode: 0644]
src/interfaces/ecpg/preproc/po/vi.po [new file with mode: 0644]
src/interfaces/libpq/po/de.po
src/interfaces/libpq/po/es.po
src/interfaces/libpq/po/fr.po
src/interfaces/libpq/po/it.po
src/interfaces/libpq/po/ko.po
src/interfaces/libpq/po/ru.po
src/interfaces/libpq/po/sv.po
src/interfaces/libpq/po/tr.po
src/pl/plperl/nls.mk
src/pl/plperl/po/it.po
src/pl/plperl/po/ja.po
src/pl/plperl/po/ko.po
src/pl/plperl/po/ru.po
src/pl/plperl/po/tr.po
src/pl/plperl/po/vi.po [new file with mode: 0644]
src/pl/plpgsql/src/nls.mk
src/pl/plpgsql/src/po/de.po
src/pl/plpgsql/src/po/it.po
src/pl/plpgsql/src/po/ja.po
src/pl/plpgsql/src/po/ko.po
src/pl/plpgsql/src/po/ru.po
src/pl/plpgsql/src/po/sv.po
src/pl/plpgsql/src/po/tr.po [new file with mode: 0644]
src/pl/plpgsql/src/po/vi.po [new file with mode: 0644]
src/pl/plpython/nls.mk
src/pl/plpython/po/de.po
src/pl/plpython/po/fr.po
src/pl/plpython/po/it.po
src/pl/plpython/po/ja.po
src/pl/plpython/po/ko.po
src/pl/plpython/po/ru.po
src/pl/plpython/po/sv.po
src/pl/plpython/po/tr.po [new file with mode: 0644]
src/pl/plpython/po/vi.po [new file with mode: 0644]
src/pl/tcl/nls.mk
src/pl/tcl/po/it.po
src/pl/tcl/po/ja.po
src/pl/tcl/po/ko.po
src/pl/tcl/po/ru.po
src/pl/tcl/po/tr.po
src/pl/tcl/po/vi.po [new file with mode: 0644]

index 09622423fbb24f39c917d4f555d6048acc7b676a..ca52df6731c52be123d71732c0886f0c50287bcb 100644 (file)
@@ -1,14 +1,14 @@
 # German message translation file for PostgreSQL server
-# Peter Eisentraut , 2001 - 2017.
+# Peter Eisentraut , 2001 - 2018.
 #
 # Use these quotes: »%s«
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 10\n"
+"Project-Id-Version: PostgreSQL 11\n"
 "Report-Msgid-Bugs-To: [email protected]\n"
-"POT-Creation-Date: 2017-03-13 20:08+0000\n"
-"PO-Revision-Date: 2017-03-13 17:04-0400\n"
+"POT-Creation-Date: 2018-05-21 12:39+0000\n"
+"PO-Revision-Date: 2018-05-21 11:21-0400\n"
 "Last-Translator: Peter Eisentraut \n"
 "Language-Team: German \n"
 "Language: de\n"
@@ -17,48 +17,60 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../common/config_info.c:131 ../common/config_info.c:139
-#: ../common/config_info.c:147 ../common/config_info.c:155
-#: ../common/config_info.c:163 ../common/config_info.c:171
-#: ../common/config_info.c:179 ../common/config_info.c:187
-#: ../common/config_info.c:195
+#: ../common/config_info.c:130 ../common/config_info.c:138
+#: ../common/config_info.c:146 ../common/config_info.c:154
+#: ../common/config_info.c:162 ../common/config_info.c:170
+#: ../common/config_info.c:178 ../common/config_info.c:186
+#: ../common/config_info.c:194
 msgid "not recorded"
 msgstr "nicht aufgezeichnet"
 
-#: ../common/controldata_utils.c:57 commands/copy.c:3028
-#: commands/extension.c:3323 utils/adt/genfile.c:134
+#: ../common/controldata_utils.c:58 commands/copy.c:3147
+#: commands/extension.c:3330 utils/adt/genfile.c:151
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "konnte Datei »%s« nicht zum Lesen öffnen: %m"
 
-#: ../common/controldata_utils.c:61
+#: ../common/controldata_utils.c:62
 #, c-format
 msgid "%s: could not open file \"%s\" for reading: %s\n"
 msgstr "%s: konnte Datei »%s« nicht zum Lesen öffnen: %s\n"
 
-#: ../common/controldata_utils.c:71 access/transam/timeline.c:345
-#: access/transam/xlog.c:3368 access/transam/xlog.c:10701
-#: access/transam/xlog.c:10714 access/transam/xlog.c:11106
-#: access/transam/xlog.c:11149 access/transam/xlog.c:11188
-#: access/transam/xlog.c:11231 access/transam/xlogfuncs.c:664
-#: access/transam/xlogfuncs.c:683 commands/extension.c:3333 libpq/hba.c:496
-#: replication/logical/origin.c:658 replication/logical/origin.c:688
-#: replication/logical/reorderbuffer.c:3055 replication/walsender.c:469
-#: storage/file/copydir.c:176 utils/adt/genfile.c:151 utils/adt/misc.c:924
+#: ../common/controldata_utils.c:75 access/transam/timeline.c:347
+#: access/transam/xlog.c:3407 access/transam/xlog.c:10857
+#: access/transam/xlog.c:10870 access/transam/xlog.c:11295
+#: access/transam/xlog.c:11375 access/transam/xlog.c:11414
+#: access/transam/xlog.c:11457 access/transam/xlogfuncs.c:658
+#: access/transam/xlogfuncs.c:677 commands/extension.c:3340 libpq/hba.c:499
+#: replication/logical/origin.c:701 replication/logical/origin.c:731
+#: replication/logical/reorderbuffer.c:3101 replication/walsender.c:507
+#: storage/file/copydir.c:195 utils/adt/genfile.c:168 utils/adt/misc.c:944
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht lesen: %m"
 
-#: ../common/controldata_utils.c:74
+#: ../common/controldata_utils.c:78
 #, c-format
 msgid "%s: could not read file \"%s\": %s\n"
 msgstr "%s: konnte Datei »%s« nicht lesen: %s\n"
 
-#: ../common/controldata_utils.c:95
+#: ../common/controldata_utils.c:86
+#, fuzzy, c-format
+#| msgid "could not read file \"%s\": read %d of %zu"
+msgid "could not read file \"%s\": read %d bytes, expected %d"
+msgstr "konnte Datei »%s« nicht lesen: %d von %zu gelesen"
+
+#: ../common/controldata_utils.c:90
+#, fuzzy, c-format
+#| msgid "could not read file \"%s\": read %d of %zu"
+msgid "%s: could not read file \"%s\": read %d bytes, expected %d\n"
+msgstr "konnte Datei »%s« nicht lesen: %d von %zu gelesen"
+
+#: ../common/controldata_utils.c:112
 msgid "byte ordering mismatch"
 msgstr "falsche Byte-Reihenfolge"
 
-#: ../common/controldata_utils.c:97
+#: ../common/controldata_utils.c:114
 #, c-format
 msgid ""
 "WARNING: possible byte ordering mismatch\n"
@@ -121,33 +133,33 @@ msgstr "Speicher aufgebraucht\n"
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "kann NULL-Zeiger nicht kopieren (interner Fehler)\n"
 
-#: ../common/file_utils.c:82 ../common/file_utils.c:167
+#: ../common/file_utils.c:82 ../common/file_utils.c:186
 #, c-format
 msgid "%s: could not stat file \"%s\": %s\n"
 msgstr "%s: konnte »stat« für Datei »%s« nicht ausführen: %s\n"
 
-#: ../common/file_utils.c:143
+#: ../common/file_utils.c:162
 #, c-format
 msgid "%s: could not open directory \"%s\": %s\n"
 msgstr "%s: konnte Verzeichnis »%s« nicht öffnen: %s\n"
 
-#: ../common/file_utils.c:179
+#: ../common/file_utils.c:198
 #, c-format
 msgid "%s: could not read directory \"%s\": %s\n"
 msgstr "%s: konnte Verzeichnis »%s« nicht lesen: %s\n"
 
-#: ../common/file_utils.c:212 ../common/file_utils.c:272
-#: ../common/file_utils.c:348
+#: ../common/file_utils.c:231 ../common/file_utils.c:291
+#: ../common/file_utils.c:367
 #, c-format
 msgid "%s: could not open file \"%s\": %s\n"
 msgstr "%s: konnte Datei »%s« nicht öffnen: %s\n"
 
-#: ../common/file_utils.c:285 ../common/file_utils.c:357
+#: ../common/file_utils.c:304 ../common/file_utils.c:376
 #, c-format
 msgid "%s: could not fsync file \"%s\": %s\n"
 msgstr "%s: konnte Datei »%s« nicht fsyncen: %s\n"
 
-#: ../common/file_utils.c:368
+#: ../common/file_utils.c:387
 #, c-format
 msgid "%s: could not rename file \"%s\" to \"%s\": %s\n"
 msgstr "%s: konnte Datei »%s« nicht in »%s« umbenennen: %s\n"
@@ -168,42 +180,42 @@ msgid "could not close directory \"%s\": %s\n"
 msgstr "konnte Verzeichnis »%s« nicht schließen: %s\n"
 
 #: ../common/psprintf.c:179 ../port/path.c:630 ../port/path.c:668
-#: ../port/path.c:685 access/transam/twophase.c:1261
-#: access/transam/xlog.c:6317 lib/stringinfo.c:300 libpq/auth.c:1011
-#: libpq/auth.c:1376 libpq/auth.c:1444 libpq/auth.c:1960
-#: postmaster/bgworker.c:318 postmaster/bgworker.c:874
-#: postmaster/postmaster.c:2363 postmaster/postmaster.c:2385
-#: postmaster/postmaster.c:3935 postmaster/postmaster.c:4635
-#: postmaster/postmaster.c:4710 postmaster/postmaster.c:5379
-#: postmaster/postmaster.c:5660
-#: replication/libpqwalreceiver/libpqwalreceiver.c:246
-#: replication/logical/logical.c:168 storage/buffer/localbuf.c:436
-#: storage/file/fd.c:736 storage/file/fd.c:1164 storage/file/fd.c:1282
-#: storage/file/fd.c:1993 storage/ipc/procarray.c:1054
-#: storage/ipc/procarray.c:1540 storage/ipc/procarray.c:1547
-#: storage/ipc/procarray.c:1961 storage/ipc/procarray.c:2564
-#: utils/adt/formatting.c:1509 utils/adt/formatting.c:1629
-#: utils/adt/formatting.c:1750 utils/adt/pg_locale.c:462
-#: utils/adt/pg_locale.c:646 utils/adt/regexp.c:219 utils/adt/varlena.c:4427
-#: utils/adt/varlena.c:4448 utils/fmgr/dfmgr.c:216 utils/hash/dynahash.c:429
-#: utils/hash/dynahash.c:535 utils/hash/dynahash.c:1047 utils/mb/mbutils.c:376
-#: utils/mb/mbutils.c:709 utils/misc/guc.c:3954 utils/misc/guc.c:3970
-#: utils/misc/guc.c:3983 utils/misc/guc.c:6929 utils/misc/tzparser.c:468
-#: utils/mmgr/aset.c:404 utils/mmgr/dsa.c:713 utils/mmgr/dsa.c:795
-#: utils/mmgr/mcxt.c:725 utils/mmgr/mcxt.c:760 utils/mmgr/mcxt.c:797
-#: utils/mmgr/mcxt.c:834 utils/mmgr/mcxt.c:868 utils/mmgr/mcxt.c:897
-#: utils/mmgr/mcxt.c:931 utils/mmgr/mcxt.c:982 utils/mmgr/mcxt.c:1016
-#: utils/mmgr/mcxt.c:1050
+#: ../port/path.c:685 access/transam/twophase.c:1372 access/transam/xlog.c:6443
+#: lib/dshash.c:246 lib/stringinfo.c:277 libpq/auth.c:1150 libpq/auth.c:1516
+#: libpq/auth.c:1584 libpq/auth.c:2102 postmaster/bgworker.c:337
+#: postmaster/bgworker.c:914 postmaster/postmaster.c:2390
+#: postmaster/postmaster.c:2412 postmaster/postmaster.c:3979
+#: postmaster/postmaster.c:4687 postmaster/postmaster.c:4762
+#: postmaster/postmaster.c:5454 postmaster/postmaster.c:5791
+#: replication/libpqwalreceiver/libpqwalreceiver.c:260
+#: replication/logical/logical.c:174 storage/buffer/localbuf.c:436
+#: storage/file/fd.c:781 storage/file/fd.c:1219 storage/file/fd.c:1380
+#: storage/file/fd.c:2286 storage/ipc/procarray.c:1058
+#: storage/ipc/procarray.c:1546 storage/ipc/procarray.c:1553
+#: storage/ipc/procarray.c:1970 storage/ipc/procarray.c:2581
+#: utils/adt/cryptohashes.c:45 utils/adt/cryptohashes.c:65
+#: utils/adt/formatting.c:1568 utils/adt/formatting.c:1690
+#: utils/adt/formatting.c:1813 utils/adt/pg_locale.c:468
+#: utils/adt/pg_locale.c:652 utils/adt/regexp.c:219 utils/fmgr/dfmgr.c:221
+#: utils/hash/dynahash.c:448 utils/hash/dynahash.c:557
+#: utils/hash/dynahash.c:1069 utils/mb/mbutils.c:365 utils/mb/mbutils.c:698
+#: utils/misc/guc.c:4220 utils/misc/guc.c:4236 utils/misc/guc.c:4249
+#: utils/misc/guc.c:7224 utils/misc/tzparser.c:468 utils/mmgr/aset.c:482
+#: utils/mmgr/dsa.c:713 utils/mmgr/dsa.c:795 utils/mmgr/generation.c:249
+#: utils/mmgr/mcxt.c:796 utils/mmgr/mcxt.c:832 utils/mmgr/mcxt.c:870
+#: utils/mmgr/mcxt.c:908 utils/mmgr/mcxt.c:944 utils/mmgr/mcxt.c:975
+#: utils/mmgr/mcxt.c:1011 utils/mmgr/mcxt.c:1063 utils/mmgr/mcxt.c:1098
+#: utils/mmgr/mcxt.c:1133 utils/mmgr/slab.c:239
 #, c-format
 msgid "out of memory"
 msgstr "Speicher aufgebraucht"
 
-#: ../common/relpath.c:59
+#: ../common/relpath.c:58
 #, c-format
 msgid "invalid fork name"
 msgstr "ungültiger Fork-Name"
 
-#: ../common/relpath.c:60
+#: ../common/relpath.c:59
 #, c-format
 msgid "Valid fork names are \"main\", \"fsm\", \"vm\", and \"init\"."
 msgstr "Gültige Fork-Namen sind »main«, »fsm«, »vm« und »init«."
@@ -253,12 +265,17 @@ msgstr "konnte »stat« für Datei oder Verzeichnis »%s« nicht ausführen: %s\
 msgid "could not remove file or directory \"%s\": %s\n"
 msgstr "konnte Datei oder Verzeichnis »%s« nicht entfernen: %s\n"
 
+#: ../common/saslprep.c:1090
+#, c-format
+msgid "password too long"
+msgstr "Passwort zu lang"
+
 #: ../common/username.c:43
 #, c-format
 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:1907
+#: ../common/username.c:45 libpq/auth.c:2049
 msgid "user does not exist"
 msgstr "Benutzer existiert nicht"
 
@@ -365,159 +382,194 @@ msgstr "konnte aktuelles Arbeitsverzeichnis nicht ermitteln: %s\n"
 msgid "unrecognized error %d"
 msgstr "unbekannter Fehler %d"
 
-#: ../port/win32security.c:68
-#, c-format
-msgid "could not open process token: error code %lu\n"
-msgstr "konnte Prozess-Token nicht öffnen: Fehlercode %lu\n"
-
-#: ../port/win32security.c:89
+#: ../port/win32security.c:62
 #, c-format
 msgid "could not get SID for Administrators group: error code %lu\n"
 msgstr "konnte SID der Administrators-Gruppe nicht ermitteln: Fehlercode %lu\n"
 
-#: ../port/win32security.c:99
+#: ../port/win32security.c:72
 #, c-format
 msgid "could not get SID for PowerUsers group: error code %lu\n"
 msgstr "konnte SID der PowerUsers-Gruppe nicht ermitteln: Fehlercode %lu\n"
 
-#: access/brin/brin.c:820
+#: ../port/win32security.c:80
+#, c-format
+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:200
+#, c-format
+msgid "request for BRIN range summarization for index \"%s\" page %u was not recorded"
+msgstr ""
+
+#: access/brin/brin.c:880 access/brin/brin.c:951
+#, c-format
+msgid "block number out of range: %s"
+msgstr "Blocknummer ist außerhalb des gültigen Bereichs: %s"
+
+#: access/brin/brin.c:903 access/brin/brin.c:974
 #, c-format
 msgid "\"%s\" is not a BRIN index"
 msgstr "»%s« ist kein BRIN-Index"
 
-#: access/brin/brin.c:836
+#: access/brin/brin.c:919 access/brin/brin.c:990
 #, c-format
 msgid "could not open parent table of index %s"
 msgstr "konnte Basistabelle von Index %s nicht öffnen"
 
-#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:360
-#: access/brin/brin_pageops.c:826
+#: access/brin/brin_pageops.c:77 access/brin/brin_pageops.c:363
+#: access/brin/brin_pageops.c:844 access/gin/ginentrypage.c:110
+#: access/gist/gist.c:1376 access/nbtree/nbtinsert.c:678
+#: access/nbtree/nbtsort.c:839 access/spgist/spgdoinsert.c:1957
+#, 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«"
+
+#: access/brin/brin_revmap.c:382 access/brin/brin_revmap.c:388
+#, c-format
+msgid "corrupted BRIN index: inconsistent range map"
+msgstr "verfälschter BRIN-Index: inkonsistente Range-Map"
+
+#: access/brin/brin_revmap.c:404
 #, c-format
-msgid "index row size %lu exceeds maximum %lu for index \"%s\""
-msgstr "Größe %lu der Indexzeile überschreitet Maximum %lu für Index »%s«"
+msgid "leftover placeholder tuple detected in BRIN index \"%s\", deleting"
+msgstr "übrig gebliebenes Platzhaltertupel in BRIN-Index »%s« entdeckt, wird gelöscht"
 
-#: access/brin/brin_revmap.c:459
+#: access/brin/brin_revmap.c:601
 #, c-format
 msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u"
 msgstr "unerwarteter Seitentyp 0x%04X in BRIN-Index »%s« Block %u"
 
-#: access/brin/brin_validate.c:116
+#: access/brin/brin_validate.c:116 access/gin/ginvalidate.c:149
+#: access/gist/gistvalidate.c:146 access/hash/hashvalidate.c:132
+#: access/nbtree/nbtvalidate.c:110 access/spgist/spgvalidate.c:165
 #, c-format
-msgid "brin operator family \"%s\" contains function %s with invalid support number %d"
-msgstr "BRIN-Operatorfamilie »%s« enthält Funktion %s mit ungültiger Support-Nummer %d"
+msgid "operator family \"%s\" of access method %s contains function %s with invalid support number %d"
+msgstr "Operatorfamilie »%s« für Zugriffsmethode %s enthält Funktion %s mit ungültiger Support-Nummer %d"
 
-#: access/brin/brin_validate.c:132
+#: access/brin/brin_validate.c:132 access/gin/ginvalidate.c:161
+#: access/gist/gistvalidate.c:158 access/hash/hashvalidate.c:115
+#: access/nbtree/nbtvalidate.c:122 access/spgist/spgvalidate.c:177
 #, c-format
-msgid "brin operator family \"%s\" contains function %s with wrong signature for support number %d"
-msgstr "BRIN-Operatorfamilie »%s« enthält Funktion %s mit falscher Signatur für Support-Nummer %d"
+msgid "operator family \"%s\" of access method %s contains function %s with wrong signature for support number %d"
+msgstr "Operatorfamilie »%s« für Zugriffsmethode %s enthält Funktion %s mit falscher Signatur für Support-Nummer %d"
 
-#: access/brin/brin_validate.c:154
+#: access/brin/brin_validate.c:154 access/gin/ginvalidate.c:180
+#: access/gist/gistvalidate.c:178 access/hash/hashvalidate.c:153
+#: access/nbtree/nbtvalidate.c:142 access/spgist/spgvalidate.c:196
 #, c-format
-msgid "brin operator family \"%s\" contains operator %s with invalid strategy number %d"
-msgstr "BRIN-Operatorfamilie »%s« enthält Operator %s mit ungültiger Strategienummer %d"
+msgid "operator family \"%s\" of access method %s contains operator %s with invalid strategy number %d"
+msgstr "Operatorfamilie »%s« für Zugriffsmethode %s enthält Operator %s mit ungültiger Strategienummer %d"
 
-#: access/brin/brin_validate.c:183
+#: access/brin/brin_validate.c:183 access/gin/ginvalidate.c:193
+#: access/hash/hashvalidate.c:166 access/nbtree/nbtvalidate.c:155
+#: access/spgist/spgvalidate.c:209
 #, c-format
-msgid "brin operator family \"%s\" contains invalid ORDER BY specification for operator %s"
-msgstr "BRIN-Operatorfamilie »%s« enthält ungültige ORDER-BY-Angabe für Operator %s"
+msgid "operator family \"%s\" of access method %s contains invalid ORDER BY specification for operator %s"
+msgstr "Operatorfamilie »%s« für Zugriffsmethode %s enthält ungültige ORDER-BY-Angabe für Operator %s"
 
-#: access/brin/brin_validate.c:196
+#: access/brin/brin_validate.c:196 access/gin/ginvalidate.c:206
+#: access/gist/gistvalidate.c:226 access/hash/hashvalidate.c:179
+#: access/nbtree/nbtvalidate.c:168 access/spgist/spgvalidate.c:222
 #, c-format
-msgid "brin operator family \"%s\" contains operator %s with wrong signature"
-msgstr "BRIN-Operatorfamilie »%s« enthält Operator %s mit falscher Signatur"
+msgid "operator family \"%s\" of access method %s contains operator %s with wrong signature"
+msgstr "Operatorfamilie »%s« für Zugriffsmethode %s enthält Operator %s mit falscher Signatur"
 
-#: access/brin/brin_validate.c:234
+#: access/brin/brin_validate.c:234 access/hash/hashvalidate.c:219
+#: access/nbtree/nbtvalidate.c:226 access/spgist/spgvalidate.c:249
 #, c-format
-msgid "brin operator family \"%s\" is missing operator(s) for types %s and %s"
-msgstr "in BRIN-Operatorfamilie »%s« fehlen Operatoren für Typen %s und %s"
+msgid "operator family \"%s\" of access method %s is missing operator(s) for types %s and %s"
+msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlen Operatoren für Typen %s und %s"
 
 #: access/brin/brin_validate.c:244
 #, c-format
-msgid "brin operator family \"%s\" is missing support function(s) for types %s and %s"
-msgstr "in BRIN-Operatorfamilie »%s« fehlen Support-Funktionen für Typen %s und %s"
+msgid "operator family \"%s\" of access method %s is missing support function(s) for types %s and %s"
+msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlen Support-Funktionen für Typen %s und %s"
 
-#: access/brin/brin_validate.c:257
+#: access/brin/brin_validate.c:257 access/hash/hashvalidate.c:233
+#: access/nbtree/nbtvalidate.c:250 access/spgist/spgvalidate.c:282
 #, c-format
-msgid "brin operator class \"%s\" is missing operator(s)"
-msgstr "in BRIN-Operatorklasse »%s« fehlen Operatoren"
+msgid "operator class \"%s\" of access method %s is missing operator(s)"
+msgstr "in Operatorklasse »%s« für Zugriffsmethode %s fehlen Operatoren"
 
-#: access/brin/brin_validate.c:268
+#: access/brin/brin_validate.c:268 access/gin/ginvalidate.c:247
+#: access/gist/gistvalidate.c:266
 #, c-format
-msgid "brin operator class \"%s\" is missing support function %d"
-msgstr "in BRIN-Operatorklasse »%s« fehlt Support-Funktion %d"
+msgid "operator class \"%s\" of access method %s is missing support function %d"
+msgstr "in Operatorklasse »%s« für Zugriffsmethode %s fehlt Support-Funktion %d"
 
-#: access/common/heaptuple.c:708 access/common/heaptuple.c:1407
+#: access/common/heaptuple.c:1090 access/common/heaptuple.c:1806
 #, c-format
 msgid "number of columns (%d) exceeds limit (%d)"
 msgstr "Anzahl der Spalten (%d) überschreitet Maximum (%d)"
 
-#: access/common/indextuple.c:60
+#: access/common/indextuple.c:63
 #, c-format
 msgid "number of index columns (%d) exceeds limit (%d)"
 msgstr "Anzahl der Indexspalten (%d) überschreitet Maximum (%d)"
 
-#: access/common/indextuple.c:176 access/spgist/spgutils.c:647
+#: access/common/indextuple.c:179 access/spgist/spgutils.c:685
 #, 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:290 tcop/fastpath.c:182 tcop/fastpath.c:544
-#: tcop/postgres.c:1727
+#: access/common/printtup.c:365 tcop/fastpath.c:180 tcop/fastpath.c:530
+#: tcop/postgres.c:1755
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "nicht unterstützter Formatcode: %d"
 
-#: access/common/reloptions.c:531
+#: access/common/reloptions.c:568
 #, c-format
 msgid "user-defined relation parameter types limit exceeded"
 msgstr "Wertebereich des Typs für benutzerdefinierte Relationsparameter überschritten"
 
-#: access/common/reloptions.c:812
+#: access/common/reloptions.c:849
 #, c-format
 msgid "RESET must not include values for parameters"
 msgstr "RESET darf keinen Parameterwert enthalten"
 
-#: access/common/reloptions.c:845
+#: access/common/reloptions.c:881
 #, c-format
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "unbekannter Parameter-Namensraum »%s«"
 
-#: access/common/reloptions.c:1087 parser/parse_clause.c:259
+#: access/common/reloptions.c:1121 parser/parse_clause.c:277
 #, c-format
 msgid "unrecognized parameter \"%s\""
 msgstr "unbekannter Parameter »%s«"
 
-#: access/common/reloptions.c:1117
+#: access/common/reloptions.c:1151
 #, c-format
 msgid "parameter \"%s\" specified more than once"
 msgstr "Parameter »%s« mehrmals angegeben"
 
-#: access/common/reloptions.c:1133
+#: access/common/reloptions.c:1167
 #, 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:1145
+#: access/common/reloptions.c:1179
 #, c-format
 msgid "invalid value for integer option \"%s\": %s"
 msgstr "ungültiger Wert für ganzzahlige Option »%s«: »%s«"
 
-#: access/common/reloptions.c:1151 access/common/reloptions.c:1171
+#: access/common/reloptions.c:1185 access/common/reloptions.c:1205
 #, 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:1153
+#: access/common/reloptions.c:1187
 #, c-format
 msgid "Valid values are between \"%d\" and \"%d\"."
 msgstr "Gültige Werte sind zwischen »%d« und »%d«."
 
-#: access/common/reloptions.c:1165
+#: access/common/reloptions.c:1199
 #, c-format
 msgid "invalid value for floating point option \"%s\": %s"
 msgstr "ungültiger Wert für Gleitkommaoption »%s«: »%s«"
 
-#: access/common/reloptions.c:1173
+#: access/common/reloptions.c:1207
 #, c-format
 msgid "Valid values are between \"%f\" and \"%f\"."
 msgstr "Gültige Werte sind zwischen »%f« und »%f«."
@@ -532,18 +584,18 @@ msgstr "Zurückgegebener Typ %1$s stimmt in Spalte %3$d nicht mit erwartetem Typ
 msgid "Number of returned columns (%d) does not match expected column count (%d)."
 msgstr "Anzahl der zurückgegebenen Spalten (%d) entspricht nicht der erwarteten Spaltenanzahl (%d)."
 
-#: access/common/tupconvert.c:316
+#: access/common/tupconvert.c:329
 #, c-format
 msgid "Attribute \"%s\" of type %s does not match corresponding attribute of type %s."
 msgstr "Attribut »%s« von Typ %s stimmt nicht mit dem entsprechenden Attribut von Typ %s überein."
 
-#: access/common/tupconvert.c:328
+#: access/common/tupconvert.c:341
 #, c-format
 msgid "Attribute \"%s\" of type %s does not exist in type %s."
 msgstr "Attribut »%s« von Typ %s existiert nicht in Typ %s."
 
-#: access/common/tupdesc.c:722 parser/parse_clause.c:791
-#: parser/parse_relation.c:1517
+#: access/common/tupdesc.c:834 parser/parse_clause.c:819
+#: parser/parse_relation.c:1539
 #, c-format
 msgid "column \"%s\" cannot be declared SETOF"
 msgstr "Spalte »%s« kann nicht als SETOF deklariert werden"
@@ -558,109 +610,73 @@ msgstr "Posting-Liste ist zu lang"
 msgid "Reduce maintenance_work_mem."
 msgstr "Reduzieren Sie maintenance_work_mem."
 
-#: access/gin/ginentrypage.c:110 access/gist/gist.c:1363
-#: access/nbtree/nbtinsert.c:577 access/nbtree/nbtsort.c:488
-#: access/spgist/spgdoinsert.c:1933
-#, 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«"
-
-#: access/gin/ginfast.c:991 access/transam/xlog.c:10136
-#: access/transam/xlog.c:10640 access/transam/xlogfuncs.c:292
-#: access/transam/xlogfuncs.c:319 access/transam/xlogfuncs.c:358
-#: access/transam/xlogfuncs.c:379 access/transam/xlogfuncs.c:400
-#: access/transam/xlogfuncs.c:470 access/transam/xlogfuncs.c:526
+#: access/gin/ginfast.c:1023 access/transam/xlog.c:10269
+#: access/transam/xlog.c:10796 access/transam/xlogfuncs.c:286
+#: access/transam/xlogfuncs.c:313 access/transam/xlogfuncs.c:352
+#: access/transam/xlogfuncs.c:373 access/transam/xlogfuncs.c:394
+#: access/transam/xlogfuncs.c:464 access/transam/xlogfuncs.c:520
 #, c-format
 msgid "recovery is in progress"
 msgstr "Wiederherstellung läuft"
 
-#: access/gin/ginfast.c:992
+#: access/gin/ginfast.c:1024
 #, c-format
 msgid "GIN pending list cannot be cleaned up during recovery."
 msgstr "GIN-Pending-Liste kann nicht während der Wiederherstellung aufgeräumt werden."
 
-#: access/gin/ginfast.c:999
+#: access/gin/ginfast.c:1031
 #, c-format
 msgid "\"%s\" is not a GIN index"
 msgstr "»%s« ist kein GIN-Index"
 
-#: access/gin/ginfast.c:1010
+#: access/gin/ginfast.c:1042
 #, c-format
 msgid "cannot access temporary indexes of other sessions"
 msgstr "auf temporäre Indexe anderer Sitzungen kann nicht zugegriffen werden"
 
-#: access/gin/ginscan.c:405
+#: access/gin/ginscan.c:402
 #, c-format
 msgid "old GIN indexes do not support whole-index scans nor searches for nulls"
 msgstr "alte GIN-Indexe unterstützen keine Scans des ganzen Index oder Suchen nach NULL-Werten"
 
-#: access/gin/ginscan.c:406
+#: access/gin/ginscan.c:403
 #, c-format
 msgid "To fix this, do REINDEX INDEX \"%s\"."
 msgstr "Um das zu reparieren, führen Sie REINDEX INDEX \"%s\" aus."
 
-#: access/gin/ginutil.c:134 executor/execQual.c:4865
-#: utils/adt/arrayfuncs.c:3803 utils/adt/arrayfuncs.c:6325
-#: utils/adt/rowtypes.c:927
+#: access/gin/ginutil.c:138 executor/execExpr.c:1867
+#: utils/adt/arrayfuncs.c:3777 utils/adt/arrayfuncs.c:6375
+#: utils/adt/rowtypes.c:935
 #, c-format
 msgid "could not identify a comparison function for type %s"
 msgstr "konnte keine Vergleichsfunktion für Typ %s ermitteln"
 
-#: access/gin/ginvalidate.c:93
-#, c-format
-msgid "gin operator family \"%s\" contains support procedure %s with cross-type registration"
-msgstr "GIN-Operatorfamilie »%s« enthält Support-Prozedur %s mit typübergreifender Registrierung"
-
-#: access/gin/ginvalidate.c:149
-#, c-format
-msgid "gin operator family \"%s\" contains function %s with invalid support number %d"
-msgstr "GIN-Operatorfamilie »%s« enthält Funktion %s mit ungültiger Support-Nummer %d"
-
-#: access/gin/ginvalidate.c:161
-#, c-format
-msgid "gin operator family \"%s\" contains function %s with wrong signature for support number %d"
-msgstr "GIN-Operatorfamilie »%s« enthält Funktion %s mit falscher Signatur für Support-Nummer %d"
-
-#: access/gin/ginvalidate.c:180
-#, c-format
-msgid "gin operator family \"%s\" contains operator %s with invalid strategy number %d"
-msgstr "GIN-Operatorfamilie »%s« enthält Operator %s mit ungültiger Strategienummer %d"
-
-#: access/gin/ginvalidate.c:193
-#, c-format
-msgid "gin operator family \"%s\" contains invalid ORDER BY specification for operator %s"
-msgstr "GIN-Operatorfamilie »%s« enthält ungültige ORDER-BY-Angabe für Operator %s"
-
-#: access/gin/ginvalidate.c:206
-#, c-format
-msgid "gin operator family \"%s\" contains operator %s with wrong signature"
-msgstr "GIN-Operatorfamilie »%s« enthält Operator %s mit falscher Signatur"
-
-#: access/gin/ginvalidate.c:247
+#: access/gin/ginvalidate.c:93 access/gist/gistvalidate.c:93
+#: access/hash/hashvalidate.c:99 access/spgist/spgvalidate.c:99
 #, c-format
-msgid "gin operator class \"%s\" is missing support function %d"
-msgstr "in GIN-Operatorklasse »%s« fehlt Support-Funktion %d"
+msgid "operator family \"%s\" of access method %s contains support procedure %s with different left and right input types"
+msgstr "Operatorfamilie »%s« für Zugriffsmethode %s enthält Support-Prozedur %s mit unterschiedlichen linken und rechten Eingabetypen"
 
 #: access/gin/ginvalidate.c:257
 #, c-format
-msgid "gin operator class \"%s\" is missing support function %d or %d"
-msgstr "in GIN-Operatorklasse »%s« fehlt Support-Funktion %d oder %d"
+msgid "operator class \"%s\" of access method %s is missing support function %d or %d"
+msgstr "in Operatorklasse »%s« für Zugriffsmethode %s fehlt Support-Funktion %d oder %d"
 
-#: access/gist/gist.c:706 access/gist/gistvacuum.c:258
+#: access/gist/gist.c:713 access/gist/gistvacuum.c:257
 #, 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:708 access/gist/gistvacuum.c:260
+#: access/gist/gist.c:715 access/gist/gistvacuum.c:259
 #, 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:709 access/gist/gistutil.c:739
-#: access/gist/gistutil.c:750 access/gist/gistvacuum.c:261
-#: access/hash/hashutil.c:174 access/hash/hashutil.c:185
-#: access/hash/hashutil.c:197 access/hash/hashutil.c:218
-#: access/nbtree/nbtpage.c:519 access/nbtree/nbtpage.c:530
+#: access/gist/gist.c:716 access/gist/gistutil.c:759 access/gist/gistutil.c:770
+#: access/gist/gistvacuum.c:260 access/hash/hashutil.c:241
+#: access/hash/hashutil.c:252 access/hash/hashutil.c:264
+#: access/hash/hashutil.c:285 access/nbtree/nbtpage.c:678
+#: access/nbtree/nbtpage.c:689
 #, c-format
 msgid "Please REINDEX it."
 msgstr "Bitte führen Sie REINDEX für den Index aus."
@@ -675,7 +691,7 @@ msgstr "ungültiger Wert für Option »buffering«"
 msgid "Valid values are \"on\", \"off\", and \"auto\"."
 msgstr "Gültige Werte sind »on«, »off« und »auto«."
 
-#: access/gist/gistbuildbuffers.c:778 utils/sort/logtape.c:231
+#: access/gist/gistbuildbuffers.c:778 utils/sort/logtape.c:255
 #, c-format
 msgid "could not write block %ld of temporary file: %m"
 msgstr "konnte Block %ld von temporärer Datei nicht schreiben: %m"
@@ -690,276 +706,206 @@ msgstr "Picksplit-Methode für Spalte %d von Index »%s« fehlgeschlagen"
 msgid "The index is not optimal. To optimize it, contact a developer, or try to use the column as the second one in the CREATE INDEX command."
 msgstr "Der Index ist nicht optimal. Um ihn zu optimieren, kontaktieren Sie einen Entwickler oder versuchen Sie, die Spalte als die zweite im CREATE-INDEX-Befehl zu verwenden."
 
-#: access/gist/gistutil.c:736 access/hash/hashutil.c:171
-#: access/nbtree/nbtpage.c:516
+#: access/gist/gistutil.c:756 access/hash/hashutil.c:238
+#: access/nbtree/nbtpage.c:675
 #, c-format
 msgid "index \"%s\" contains unexpected zero page at block %u"
 msgstr "Index »%s« enthält unerwartete Nullseite bei Block %u"
 
-#: access/gist/gistutil.c:747 access/hash/hashutil.c:182
-#: access/hash/hashutil.c:194 access/nbtree/nbtpage.c:527
+#: access/gist/gistutil.c:767 access/hash/hashutil.c:249
+#: access/hash/hashutil.c:261 access/nbtree/nbtpage.c:686
 #, c-format
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "Index »%s« enthält korrupte Seite bei Block %u"
 
-#: access/gist/gistvalidate.c:93
-#, c-format
-msgid "gist operator family \"%s\" contains support procedure %s with cross-type registration"
-msgstr "GiST-Operatorfamilie »%s« enthält Support-Prozedur %s mit typübergreifender Registrierung"
-
-#: access/gist/gistvalidate.c:146
-#, c-format
-msgid "gist operator family \"%s\" contains function %s with invalid support number %d"
-msgstr "GiST-Operatorfamilie »%s« enthält Funktion %s mit ungültiger Support-Nummer %d"
-
-#: access/gist/gistvalidate.c:158
-#, c-format
-msgid "gist operator family \"%s\" contains function %s with wrong signature for support number %d"
-msgstr "GiST-Operatorfamilie »%s« enthält Funktion %s mit falscher Signatur für Support-Nummer %d"
-
-#: access/gist/gistvalidate.c:178
-#, c-format
-msgid "gist operator family \"%s\" contains operator %s with invalid strategy number %d"
-msgstr "GiST-Operatorfamilie »%s« enthält Operator %s mit ungültiger Strategienummer %d"
-
 #: access/gist/gistvalidate.c:196
 #, c-format
-msgid "gist operator family \"%s\" contains unsupported ORDER BY specification for operator %s"
-msgstr "GiST-Operatorfamilie »%s« enthält nicht unterstützte ORDER-BY-Angabe für Operator %s"
+msgid "operator family \"%s\" of access method %s contains unsupported ORDER BY specification for operator %s"
+msgstr "Operatorfamilie »%s« für Zugriffsmethode %s enthält nicht unterstützte ORDER-BY-Angabe für Operator %s"
 
 #: access/gist/gistvalidate.c:207
 #, c-format
-msgid "gist operator family \"%s\" contains incorrect ORDER BY opfamily specification for operator %s"
-msgstr "GiST-Operatorfamilie »%s« enthält ungültige ORDER-BY-Operatorfamilienangabe für Operator %s"
-
-#: access/gist/gistvalidate.c:226
-#, c-format
-msgid "gist operator family \"%s\" contains operator %s with wrong signature"
-msgstr "GiST-Operatorfamilie »%s« enthält Operator %s mit falscher Signatur"
-
-#: access/gist/gistvalidate.c:265
-#, c-format
-msgid "gist operator class \"%s\" is missing support function %d"
-msgstr "in GiST-Operatorklasse »%s« fehlt Support-Funktion %d"
+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/hashinsert.c:74
+#: 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:76 access/spgist/spgdoinsert.c:1937
-#: access/spgist/spgutils.c:708
+#: access/hash/hashinsert.c:85 access/spgist/spgdoinsert.c:1961
+#: access/spgist/spgutils.c:746
 #, 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:84
-#, fuzzy, c-format
-#| msgid "invalid port number: \"%s\"\n"
+#: access/hash/hashovfl.c:87
+#, c-format
 msgid "invalid overflow block number %u"
-msgstr "ungültige Portnummer: »%s«\n"
+msgstr "ungültige Überlaufblocknummer %u"
 
-#: access/hash/hashovfl.c:273 access/hash/hashpage.c:426
+#: access/hash/hashovfl.c:283 access/hash/hashpage.c:463
 #, c-format
 msgid "out of overflow pages in hash index \"%s\""
 msgstr "keine Überlaufseiten in Hash-Index »%s« mehr"
 
-#: access/hash/hashsearch.c:248
+#: access/hash/hashsearch.c:315
 #, c-format
 msgid "hash indexes do not support whole-index scans"
 msgstr "Hash-Indexe unterstützen keine Scans des ganzen Index"
 
-#: access/hash/hashutil.c:210
+#: access/hash/hashutil.c:277
 #, c-format
 msgid "index \"%s\" is not a hash index"
 msgstr "Index »%s« ist kein Hash-Index"
 
-#: access/hash/hashutil.c:216
+#: access/hash/hashutil.c:283
 #, c-format
 msgid "index \"%s\" has wrong hash version"
 msgstr "Index »%s« hat falsche Hash-Version"
 
-#: access/hash/hashvalidate.c:99
-#, c-format
-msgid "hash operator family \"%s\" contains support procedure %s with cross-type registration"
-msgstr "Hash-Operatorfamilie »%s« enthält Support-Prozedur %s mit typübergreifender Registrierung"
-
-#: access/hash/hashvalidate.c:114
-#, c-format
-msgid "hash operator family \"%s\" contains function %s with wrong signature for support number %d"
-msgstr "Hash-Operatorfamilie »%s« enthält Funktion %s mit falscher Signatur für Support-Nummer %d"
-
-#: access/hash/hashvalidate.c:131
-#, c-format
-msgid "hash operator family \"%s\" contains function %s with invalid support number %d"
-msgstr "Hash-Operatorfamilie »%s« enthält Funktion %s mit ungültiger Support-Nummer %d"
-
-#: access/hash/hashvalidate.c:152
-#, c-format
-msgid "hash operator family \"%s\" contains operator %s with invalid strategy number %d"
-msgstr "Hash-Operatorfamilie »%s« enthält Operator %s mit ungültiger Strategienummer %d"
-
-#: access/hash/hashvalidate.c:165
-#, c-format
-msgid "hash operator family \"%s\" contains invalid ORDER BY specification for operator %s"
-msgstr "Hash-Operatorfamilie »%s« enthält ungültige ORDER-BY-Angabe für Operator %s"
-
-#: access/hash/hashvalidate.c:178
-#, c-format
-msgid "hash operator family \"%s\" contains operator %s with wrong signature"
-msgstr "Hash-Operatorfamilie »%s« enthält Operator %s mit falscher Signatur"
-
-#: access/hash/hashvalidate.c:190
-#, c-format
-msgid "hash operator family \"%s\" lacks support function for operator %s"
-msgstr "in Hash-Operatorfamilie »%s« fehlt Support-Funktion für Operator %s"
-
-#: access/hash/hashvalidate.c:218
-#, c-format
-msgid "hash operator family \"%s\" is missing operator(s) for types %s and %s"
-msgstr "in Hash-Operatorfamilie »%s« fehlen Operatoren für Typen %s und %s"
-
-#: access/hash/hashvalidate.c:232
+#: access/hash/hashvalidate.c:191
 #, c-format
-msgid "hash operator class \"%s\" is missing operator(s)"
-msgstr "in Hash-Operatorklasse »%s« fehlen Operatoren"
+msgid "operator family \"%s\" of access method %s lacks support function for operator %s"
+msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlt Support-Funktion für Operator %s"
 
-#: access/hash/hashvalidate.c:248
+#: access/hash/hashvalidate.c:249 access/nbtree/nbtvalidate.c:266
 #, c-format
-msgid "hash operator family \"%s\" is missing cross-type operator(s)"
-msgstr "in Hash-Operatorfamilie »%s« fehlen typübergreifende Operatoren"
+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:1296 access/heap/heapam.c:1324
-#: access/heap/heapam.c:1356 catalog/aclchk.c:1754
+#: access/heap/heapam.c:1304 access/heap/heapam.c:1333
+#: access/heap/heapam.c:1366 catalog/aclchk.c:1828
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "»%s« ist ein Index"
 
-#: access/heap/heapam.c:1301 access/heap/heapam.c:1329
-#: access/heap/heapam.c:1361 catalog/aclchk.c:1761 commands/tablecmds.c:9558
-#: commands/tablecmds.c:12769
+#: access/heap/heapam.c:1309 access/heap/heapam.c:1338
+#: access/heap/heapam.c:1371 catalog/aclchk.c:1835 commands/tablecmds.c:10326
+#: commands/tablecmds.c:13538
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "»%s« ist ein zusammengesetzter Typ"
 
-#: access/heap/heapam.c:2595
+#: access/heap/heapam.c:2639
 #, c-format
-msgid "cannot insert tuples during a parallel operation"
-msgstr "während einer parallelen Operation können keine Tupel eingefügt werden"
+msgid "cannot insert tuples in a parallel worker"
+msgstr "in einem parallelen Arbeitsprozess können keine Tupel eingefügt werden"
 
-#: access/heap/heapam.c:3045
+#: access/heap/heapam.c:3091
 #, 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:3091
+#: access/heap/heapam.c:3137
 #, c-format
 msgid "attempted to delete invisible tuple"
 msgstr "Versuch ein unsichtbares Tupel zu löschen"
 
-#: access/heap/heapam.c:3517 access/heap/heapam.c:6268
+#: access/heap/heapam.c:3572 access/heap/heapam.c:6409
 #, 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:3639
+#: access/heap/heapam.c:3720
 #, c-format
 msgid "attempted to update invisible tuple"
 msgstr "Versuch ein unsichtbares Tupel zu aktualisieren"
 
-#: access/heap/heapam.c:4991 access/heap/heapam.c:5029
-#: access/heap/heapam.c:5281 executor/execMain.c:2461
+#: access/heap/heapam.c:5085 access/heap/heapam.c:5123
+#: access/heap/heapam.c:5375 executor/execMain.c:2654
 #, 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/hio.c:322 access/heap/rewriteheap.c:664
+#: access/heap/hio.c:338 access/heap/rewriteheap.c:670
 #, 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:923
+#: access/heap/rewriteheap.c:930
 #, 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:963 access/heap/rewriteheap.c:1175
-#: access/heap/rewriteheap.c:1272 access/transam/timeline.c:406
-#: access/transam/timeline.c:482 access/transam/xlog.c:3235
-#: access/transam/xlog.c:3397 replication/logical/snapbuild.c:1604
-#: replication/slot.c:1125 replication/slot.c:1210 storage/file/fd.c:631
-#: storage/file/fd.c:3129 storage/smgr/md.c:1043 storage/smgr/md.c:1276
-#: storage/smgr/md.c:1449 utils/misc/guc.c:6951
+#: access/heap/rewriteheap.c:970 access/heap/rewriteheap.c:1185
+#: access/heap/rewriteheap.c:1284 access/transam/timeline.c:411
+#: access/transam/timeline.c:490 access/transam/xlog.c:3274
+#: access/transam/xlog.c:3440 replication/logical/snapbuild.c:1629
+#: replication/slot.c:1290 replication/slot.c:1377 storage/file/fd.c:639
+#: storage/file/fd.c:3515 storage/smgr/md.c:1043 storage/smgr/md.c:1276
+#: storage/smgr/md.c:1449 utils/misc/guc.c:7246
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht fsyncen: %m"
 
-#: access/heap/rewriteheap.c:1018 access/heap/rewriteheap.c:1138
-#: access/transam/timeline.c:314 access/transam/timeline.c:460
-#: access/transam/xlog.c:3191 access/transam/xlog.c:3340
-#: access/transam/xlog.c:10470 access/transam/xlog.c:10508
-#: access/transam/xlog.c:10881 postmaster/postmaster.c:4410
-#: replication/logical/origin.c:535 replication/slot.c:1082
-#: storage/file/copydir.c:162 storage/smgr/md.c:326 utils/time/snapmgr.c:1275
+#: access/heap/rewriteheap.c:1024 access/heap/rewriteheap.c:1143
+#: access/transam/timeline.c:314 access/transam/timeline.c:465
+#: access/transam/xlog.c:3227 access/transam/xlog.c:3378
+#: access/transam/xlog.c:10607 access/transam/xlog.c:10645
+#: access/transam/xlog.c:11048 postmaster/postmaster.c:4454
+#: replication/logical/origin.c:575 replication/slot.c:1242
+#: storage/file/copydir.c:167 storage/smgr/md.c:326 utils/time/snapmgr.c:1297
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht erstellen: %m"
 
-#: access/heap/rewriteheap.c:1147
+#: access/heap/rewriteheap.c:1153
 #, 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:1154 replication/walsender.c:451
+#: access/heap/rewriteheap.c:1161 replication/walsender.c:487
 #: storage/smgr/md.c:1948
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
 msgstr "konnte Positionszeiger nicht ans Ende der Datei »%s« setzen: %m"
 
-#: access/heap/rewriteheap.c:1165 access/transam/timeline.c:366
-#: access/transam/timeline.c:400 access/transam/timeline.c:476
-#: access/transam/xlog.c:3226 access/transam/xlog.c:3390
-#: postmaster/postmaster.c:4420 postmaster/postmaster.c:4430
-#: replication/logical/origin.c:544 replication/logical/origin.c:580
-#: replication/logical/origin.c:596 replication/logical/snapbuild.c:1588
-#: replication/slot.c:1111 storage/file/copydir.c:187
-#: utils/init/miscinit.c:1228 utils/init/miscinit.c:1237
-#: utils/init/miscinit.c:1244 utils/misc/guc.c:6912 utils/misc/guc.c:6943
-#: utils/misc/guc.c:8792 utils/misc/guc.c:8806 utils/time/snapmgr.c:1280
-#: utils/time/snapmgr.c:1287
+#: access/heap/rewriteheap.c:1173 access/transam/timeline.c:369
+#: access/transam/timeline.c:404 access/transam/timeline.c:482
+#: access/transam/xlog.c:3263 access/transam/xlog.c:3431
+#: postmaster/postmaster.c:4464 postmaster/postmaster.c:4474
+#: replication/logical/origin.c:584 replication/logical/origin.c:623
+#: replication/logical/origin.c:639 replication/logical/snapbuild.c:1611
+#: replication/slot.c:1273 storage/file/copydir.c:208
+#: utils/init/miscinit.c:1341 utils/init/miscinit.c:1352
+#: utils/init/miscinit.c:1360 utils/misc/guc.c:7207 utils/misc/guc.c:7238
+#: utils/misc/guc.c:9099 utils/misc/guc.c:9113 utils/time/snapmgr.c:1302
+#: utils/time/snapmgr.c:1309
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "konnte nicht in Datei »%s« schreiben: %m"
 
-#: access/heap/rewriteheap.c:1248 access/transam/xlog.c:10719
-#: access/transam/xlogarchive.c:113 access/transam/xlogarchive.c:467
-#: postmaster/postmaster.c:1239 postmaster/syslogger.c:1371
-#: replication/logical/origin.c:522 replication/logical/reorderbuffer.c:2588
-#: replication/logical/reorderbuffer.c:2645
-#: replication/logical/snapbuild.c:1532 replication/logical/snapbuild.c:1907
-#: replication/slot.c:1184 storage/ipc/dsm.c:327 storage/smgr/md.c:425
-#: storage/smgr/md.c:474 storage/smgr/md.c:1396
+#: access/heap/rewriteheap.c:1259 access/transam/xlogarchive.c:113
+#: access/transam/xlogarchive.c:469 postmaster/postmaster.c:1275
+#: postmaster/syslogger.c:1372 replication/logical/origin.c:563
+#: replication/logical/reorderbuffer.c:2607
+#: replication/logical/snapbuild.c:1560 replication/logical/snapbuild.c:1935
+#: replication/slot.c:1350 storage/file/fd.c:690 storage/file/fd.c:3118
+#: storage/file/fd.c:3180 storage/file/reinit.c:255 storage/ipc/dsm.c:315
+#: storage/smgr/md.c:425 storage/smgr/md.c:474 storage/smgr/md.c:1396
+#: utils/time/snapmgr.c:1640
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht löschen: %m"
 
-#: access/heap/rewriteheap.c:1262 access/transam/timeline.c:110
-#: access/transam/timeline.c:235 access/transam/timeline.c:333
-#: access/transam/xlog.c:3167 access/transam/xlog.c:3284
-#: access/transam/xlog.c:3325 access/transam/xlog.c:3598
-#: access/transam/xlog.c:3676 access/transam/xlogutils.c:702
-#: postmaster/syslogger.c:1380 replication/basebackup.c:474
-#: replication/basebackup.c:1218 replication/logical/origin.c:651
-#: replication/logical/reorderbuffer.c:2112
-#: replication/logical/reorderbuffer.c:2358
-#: replication/logical/reorderbuffer.c:3037
-#: replication/logical/snapbuild.c:1581 replication/logical/snapbuild.c:1665
-#: replication/slot.c:1199 replication/walsender.c:444
-#: replication/walsender.c:2055 storage/file/copydir.c:155
-#: storage/file/fd.c:614 storage/file/fd.c:3041 storage/file/fd.c:3108
-#: storage/smgr/md.c:607 utils/error/elog.c:1879 utils/init/miscinit.c:1163
-#: utils/init/miscinit.c:1284 utils/init/miscinit.c:1359 utils/misc/guc.c:7171
-#: utils/misc/guc.c:7204
+#: access/heap/rewriteheap.c:1273 access/transam/timeline.c:111
+#: access/transam/timeline.c:236 access/transam/timeline.c:333
+#: access/transam/xlog.c:3204 access/transam/xlog.c:3323
+#: access/transam/xlog.c:3364 access/transam/xlog.c:3641
+#: access/transam/xlog.c:3719 access/transam/xlogutils.c:708
+#: postmaster/syslogger.c:1381 replication/basebackup.c:507
+#: replication/basebackup.c:1381 replication/logical/origin.c:694
+#: replication/logical/reorderbuffer.c:2134
+#: replication/logical/reorderbuffer.c:2378
+#: replication/logical/reorderbuffer.c:3081
+#: replication/logical/snapbuild.c:1603 replication/logical/snapbuild.c:1691
+#: replication/slot.c:1365 replication/walsender.c:480
+#: replication/walsender.c:2401 storage/file/copydir.c:161
+#: storage/file/fd.c:622 storage/file/fd.c:3410 storage/file/fd.c:3494
+#: storage/smgr/md.c:607 utils/error/elog.c:1879 utils/init/miscinit.c:1265
+#: utils/init/miscinit.c:1400 utils/init/miscinit.c:1477 utils/misc/guc.c:7466
+#: utils/misc/guc.c:7498
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht öffnen: %m"
@@ -974,34 +920,34 @@ 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/indexam.c:160 catalog/objectaddress.c:1200
-#: commands/indexcmds.c:1811 commands/tablecmds.c:247
-#: commands/tablecmds.c:12760
+#: access/index/indexam.c:160 catalog/objectaddress.c:1223
+#: commands/indexcmds.c:2236 commands/tablecmds.c:249 commands/tablecmds.c:273
+#: commands/tablecmds.c:13529 commands/tablecmds.c:14772
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "»%s« ist kein Index"
 
-#: access/nbtree/nbtinsert.c:429
+#: access/nbtree/nbtinsert.c:530
 #, c-format
 msgid "duplicate key value violates unique constraint \"%s\""
 msgstr "doppelter Schlüsselwert verletzt Unique-Constraint »%s«"
 
-#: access/nbtree/nbtinsert.c:431
+#: access/nbtree/nbtinsert.c:532
 #, c-format
 msgid "Key %s already exists."
 msgstr "Schlüssel »%s« existiert bereits."
 
-#: access/nbtree/nbtinsert.c:498
+#: access/nbtree/nbtinsert.c:599
 #, c-format
 msgid "failed to re-find tuple within index \"%s\""
 msgstr "konnte Tupel mit Index »%s« nicht erneut finden"
 
-#: access/nbtree/nbtinsert.c:500
+#: access/nbtree/nbtinsert.c:601
 #, 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/nbtinsert.c:580 access/nbtree/nbtsort.c:491
+#: access/nbtree/nbtinsert.c:681 access/nbtree/nbtsort.c:842
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -1010,122 +956,47 @@ msgstr ""
 "Werte, die größer sind als 1/3 einer Pufferseite, können nicht indiziert werden.\n"
 "Erstellen Sie eventuell einen Funktionsindex auf einen MD5-Hash oder verwenden Sie Volltextindizierung."
 
-#: access/nbtree/nbtpage.c:169 access/nbtree/nbtpage.c:372
-#: access/nbtree/nbtpage.c:459 parser/parse_utilcmd.c:1770
+#: access/nbtree/nbtpage.c:318 access/nbtree/nbtpage.c:529
+#: access/nbtree/nbtpage.c:618 parser/parse_utilcmd.c:2055
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "Index »%s« ist kein B-Tree"
 
-#: access/nbtree/nbtpage.c:175 access/nbtree/nbtpage.c:378
-#: access/nbtree/nbtpage.c:465
+#: access/nbtree/nbtpage.c:325 access/nbtree/nbtpage.c:536
+#: access/nbtree/nbtpage.c:625
 #, c-format
-msgid "version mismatch in index \"%s\": file version %d, code version %d"
-msgstr "keine Versionsübereinstimmung in Index »%s«: Dateiversion %d, Code-Version %d"
+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:1153
+#: access/nbtree/nbtpage.c:1312
 #, c-format
 msgid "index \"%s\" contains a half-dead internal page"
 msgstr "Index »%s« enthält eine halbtote interne Seite"
 
-#: access/nbtree/nbtpage.c:1155
+#: access/nbtree/nbtpage.c:1314
 #, 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/nbtvalidate.c:101
-#, c-format
-msgid "btree operator family \"%s\" contains function %s with invalid support number %d"
-msgstr "B-Tree-Operatorfamilie »%s« enthält Funktion %s mit ungültiger Support-Nummer %d"
-
-#: access/nbtree/nbtvalidate.c:113
-#, c-format
-msgid "btree operator family \"%s\" contains function %s with wrong signature for support number %d"
-msgstr "B-Tree-Operatorfamilie »%s« enthält Funktion %s mit falscher Signatur für Support-Nummer %d"
-
-#: access/nbtree/nbtvalidate.c:133
-#, c-format
-msgid "btree operator family \"%s\" contains operator %s with invalid strategy number %d"
-msgstr "B-Tree-Operatorfamilie »%s« enthält Operator %s mit ungültiger Strategienummer %d"
-
-#: access/nbtree/nbtvalidate.c:146
-#, c-format
-msgid "btree operator family \"%s\" contains invalid ORDER BY specification for operator %s"
-msgstr "B-Tree-Operatorfamilie »%s« enthält ungültige ORDER-BY-Angabe für Operator %s"
-
-#: access/nbtree/nbtvalidate.c:159
-#, c-format
-msgid "btree operator family \"%s\" contains operator %s with wrong signature"
-msgstr "B-Tree-Operatorfamilie »%s« enthält Operator %s mit falscher Signatur"
-
-#: access/nbtree/nbtvalidate.c:201
-#, c-format
-msgid "btree operator family \"%s\" is missing operator(s) for types %s and %s"
-msgstr "in B-Tree-Operatorfamilie »%s« fehlen Operatoren für Typen %s und %s"
-
-#: access/nbtree/nbtvalidate.c:211
-#, c-format
-msgid "btree operator family \"%s\" is missing support function for types %s and %s"
-msgstr "in B-Tree-Operatorfamilie »%s« fehlen Support-Funktionen für Typen %s und %s"
-
-#: access/nbtree/nbtvalidate.c:225
+#: access/nbtree/nbtvalidate.c:236
 #, c-format
-msgid "btree operator class \"%s\" is missing operator(s)"
-msgstr "in B-Tree-Operatorklasse »%s« fehlen Operatoren"
+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/nbtree/nbtvalidate.c:242
+#: access/spgist/spgutils.c:136
 #, c-format
-msgid "btree operator family \"%s\" is missing cross-type operator(s)"
-msgstr "in B-Tree-Operatorfamilie »%s« fehlen typübergreifende Operatoren"
+msgid "compress method must not defined when leaf type is different from input type"
+msgstr ""
 
-#: access/spgist/spgutils.c:705
+#: access/spgist/spgutils.c:743
 #, c-format
 msgid "SP-GiST inner tuple size %zu exceeds maximum %zu"
 msgstr "innere Tupelgröße %zu überschreitet SP-GiST-Maximum %zu"
 
-#: access/spgist/spgvalidate.c:93
-#, c-format
-msgid "spgist operator family \"%s\" contains support procedure %s with cross-type registration"
-msgstr "SPGiST-Operatorfamilie »%s« enthält Support-Prozedur %s mit typübergreifender Registrierung"
-
-#: access/spgist/spgvalidate.c:116
-#, c-format
-msgid "spgist operator family \"%s\" contains function %s with invalid support number %d"
-msgstr "SPGiST-Operatorfamilie »%s« enthält Funktion %s mit ungültiger Support-Nummer %d"
-
-#: access/spgist/spgvalidate.c:128
-#, c-format
-msgid "spgist operator family \"%s\" contains function %s with wrong signature for support number %d"
-msgstr "SPGiST-Operatorfamilie »%s« enthält Funktion %s mit falscher Signatur für Support-Nummer %d"
-
-#: access/spgist/spgvalidate.c:147
-#, c-format
-msgid "spgist operator family \"%s\" contains operator %s with invalid strategy number %d"
-msgstr "SPGiST-Operatorfamilie »%s« enthält Operator %s mit ungültiger Strategienummer %d"
-
-#: access/spgist/spgvalidate.c:160
+#: access/spgist/spgvalidate.c:269
 #, c-format
-msgid "spgist operator family \"%s\" contains invalid ORDER BY specification for operator %s"
-msgstr "SPGiST-Operatorfamilie »%s« enthält ungültige ORDER-BY-Angabe für Operator %s"
-
-#: access/spgist/spgvalidate.c:173
-#, c-format
-msgid "spgist operator family \"%s\" contains operator %s with wrong signature"
-msgstr "SPGiST-Operatorfamilie »%s« enthält Operator %s mit falscher Signatur"
-
-#: access/spgist/spgvalidate.c:201
-#, c-format
-msgid "spgist operator family \"%s\" is missing operator(s) for types %s and %s"
-msgstr "in SPGiST-Operatorfamilie »%s« fehlen Operatoren für Typen %s und %s"
-
-#: access/spgist/spgvalidate.c:221
-#, c-format
-msgid "spgist operator family \"%s\" is missing support function %d for type %s"
-msgstr "in SPGiST-Operatorfamilie »%s« fehlt Support-Funktion %d für Typ %s"
-
-#: access/spgist/spgvalidate.c:234
-#, c-format
-msgid "spgist operator class \"%s\" is missing operator(s)"
-msgstr "in SPGiST-Operatorklasse »%s« fehlen Operatoren"
+msgid "operator family \"%s\" of access method %s is missing support function %d for type %s"
+msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlt Support-Funktion %d für Typ %s"
 
 #: access/tablesample/bernoulli.c:152 access/tablesample/system.c:156
 #, c-format
@@ -1162,24 +1033,24 @@ msgstr "Datenbank nimmt keine Befehle an, die neue MultiXactIds erzeugen, um Dat
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in that database.\n"
-"You might also need to commit or roll back old prepared transactions."
+"You might also need to commit or roll back old prepared transactions, or drop stale replication slots."
 msgstr ""
 "Führen Sie ein datenbankweites VACUUM in dieser Datenbank aus.\n"
-"Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen."
+"Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen oder unbenutzte Replikations-Slots löschen."
 
 #: access/transam/multixact.c:1007
 #, c-format
 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:1028 access/transam/multixact.c:2314
+#: access/transam/multixact.c:1028 access/transam/multixact.c:2318
 #, 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:1037 access/transam/multixact.c:2323
+#: access/transam/multixact.c:1037 access/transam/multixact.c:2327
 #, 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"
@@ -1225,331 +1096,352 @@ 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:2264
+#: access/transam/multixact.c:2268
 #, c-format
 msgid "MultiXactId wrap limit is %u, limited by database with OID %u"
 msgstr "Grenze für MultiXactId-Überlauf ist %u, begrenzt durch Datenbank mit OID %u"
 
-#: access/transam/multixact.c:2319 access/transam/multixact.c:2328
+#: access/transam/multixact.c:2323 access/transam/multixact.c:2332
 #: access/transam/varsup.c:146 access/transam/varsup.c:153
-#: access/transam/varsup.c:384 access/transam/varsup.c:391
+#: access/transam/varsup.c:405 access/transam/varsup.c:412
 #, c-format
 msgid ""
 "To avoid a database shutdown, execute a database-wide VACUUM in that database.\n"
-"You might also need to commit or roll back old prepared transactions."
+"You might also need to commit or roll back old prepared transactions, or drop stale replication slots."
 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."
+"Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen oder unbenutzte Replikations-Slots löschen."
 
-#: access/transam/multixact.c:2598
+#: access/transam/multixact.c:2602
 #, c-format
 msgid "oldest MultiXactId member is at offset %u"
 msgstr "ältestes MultiXactId-Mitglied ist bei Offset %u"
 
-#: access/transam/multixact.c:2602
+#: access/transam/multixact.c:2606
 #, 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:2624
+#: access/transam/multixact.c:2628
 #, c-format
 msgid "MultiXact member wraparound protections are now enabled"
 msgstr "MultiXact-Member-Wraparound-Schutz ist jetzt aktiviert"
 
-#: access/transam/multixact.c:2626
+#: access/transam/multixact.c:2631
 #, c-format
 msgid "MultiXact member stop limit is now %u based on MultiXact %u"
 msgstr "MultiXact-Member-Stopp-Limit ist jetzt %u, basierend auf MultiXact %u"
 
-#: access/transam/multixact.c:3006
+#: access/transam/multixact.c:3011
 #, 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:3024
+#: access/transam/multixact.c:3029
 #, 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:3350
+#: access/transam/multixact.c:3355
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "ungültige MultiXactId: %u"
 
-#: access/transam/parallel.c:592
+#: access/transam/parallel.c:660 access/transam/parallel.c:783
+#, c-format
+msgid "parallel worker failed to initialize"
+msgstr "Initialisierung von parallelem Arbeitsprozess fehlgeschlagen"
+
+#: access/transam/parallel.c:661 access/transam/parallel.c:784
+#, 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:845
 #, c-format
 msgid "postmaster exited during a parallel transaction"
 msgstr "Postmaster beendete während einer parallelen Transaktion"
 
-#: access/transam/parallel.c:777
+#: access/transam/parallel.c:1032
 #, c-format
 msgid "lost connection to parallel worker"
 msgstr "Verbindung mit parallelem Arbeitsprozess verloren"
 
-#: access/transam/parallel.c:836 access/transam/parallel.c:838
+#: access/transam/parallel.c:1098 access/transam/parallel.c:1100
 msgid "parallel worker"
 msgstr "paralleler Arbeitsprozess"
 
-#: access/transam/parallel.c:977
+#: access/transam/parallel.c:1245
 #, c-format
 msgid "could not map dynamic shared memory segment"
 msgstr "konnte dynamisches Shared-Memory-Segment nicht mappen"
 
-#: access/transam/parallel.c:982
+#: access/transam/parallel.c:1250
 #, 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:663
+#: access/transam/slru.c:668
 #, c-format
 msgid "file \"%s\" doesn't exist, reading as zeroes"
 msgstr "Datei »%s« existiert nicht, wird als Nullen eingelesen"
 
-#: access/transam/slru.c:893 access/transam/slru.c:899
-#: access/transam/slru.c:906 access/transam/slru.c:913
-#: access/transam/slru.c:920 access/transam/slru.c:927
+#: access/transam/slru.c:906 access/transam/slru.c:912
+#: access/transam/slru.c:919 access/transam/slru.c:926
+#: access/transam/slru.c:933 access/transam/slru.c:940
 #, c-format
 msgid "could not access status of transaction %u"
 msgstr "konnte auf den Status von Transaktion %u nicht zugreifen"
 
-#: access/transam/slru.c:894
+#: access/transam/slru.c:907
 #, c-format
 msgid "Could not open file \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht öffnen: %m."
 
-#: access/transam/slru.c:900
+#: access/transam/slru.c:913
 #, c-format
 msgid "Could not seek in file \"%s\" to offset %u: %m."
 msgstr "Konnte Positionszeiger in Datei »%s« nicht auf %u setzen: %m."
 
-#: access/transam/slru.c:907
+#: access/transam/slru.c:920
 #, c-format
 msgid "Could not read from file \"%s\" at offset %u: %m."
 msgstr "Konnte nicht aus Datei »%s« bei Position %u lesen: %m."
 
-#: access/transam/slru.c:914
+#: access/transam/slru.c:927
 #, c-format
 msgid "Could not write to file \"%s\" at offset %u: %m."
 msgstr "Konnte nicht in Datei »%s« bei Position %u schreiben: %m."
 
-#: access/transam/slru.c:921
+#: access/transam/slru.c:934
 #, c-format
 msgid "Could not fsync file \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht fsyncen: %m."
 
-#: access/transam/slru.c:928
+#: access/transam/slru.c:941
 #, c-format
 msgid "Could not close file \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht schließen: %m."
 
-#: access/transam/slru.c:1183
+#: access/transam/slru.c:1198
 #, c-format
 msgid "could not truncate directory \"%s\": apparent wraparound"
 msgstr "konnte Verzeichnis »%s« nicht leeren: anscheinender Überlauf"
 
-#: access/transam/slru.c:1238 access/transam/slru.c:1294
+#: access/transam/slru.c:1253 access/transam/slru.c:1309
 #, c-format
 msgid "removing file \"%s\""
 msgstr "entferne Datei »%s«"
 
-#: access/transam/timeline.c:147 access/transam/timeline.c:152
+#: access/transam/timeline.c:148 access/transam/timeline.c:153
 #, c-format
 msgid "syntax error in history file: %s"
 msgstr "Syntaxfehler in History-Datei: %s"
 
-#: access/transam/timeline.c:148
+#: access/transam/timeline.c:149
 #, c-format
 msgid "Expected a numeric timeline ID."
 msgstr "Eine numerische Zeitleisten-ID wurde erwartet."
 
-#: access/transam/timeline.c:153
+#: access/transam/timeline.c:154
 #, c-format
-msgid "Expected a transaction log switchpoint location."
-msgstr "Eine Transaktionslog-Switchpoint-Position wurde erwartet."
+msgid "Expected a write-ahead log switchpoint location."
+msgstr "Eine Write-Ahead-Log-Switchpoint-Position wurde erwartet."
 
-#: access/transam/timeline.c:157
+#: access/transam/timeline.c:158
 #, c-format
 msgid "invalid data in history file: %s"
 msgstr "ungültige Daten in History-Datei: %s"
 
-#: access/transam/timeline.c:158
+#: access/transam/timeline.c:159
 #, c-format
 msgid "Timeline IDs must be in increasing sequence."
 msgstr "Zeitleisten-IDs müssen in aufsteigender Folge sein."
 
-#: access/transam/timeline.c:178
+#: access/transam/timeline.c:179
 #, c-format
 msgid "invalid data in history file \"%s\""
 msgstr "ungültige Daten in History-Datei »%s«"
 
-#: access/transam/timeline.c:179
+#: access/transam/timeline.c:180
 #, c-format
 msgid "Timeline IDs must be less than child timeline's ID."
 msgstr "Zeitleisten-IDs müssen kleiner als die Zeitleisten-ID des Kindes sein."
 
-#: access/transam/timeline.c:411 access/transam/timeline.c:487
-#: access/transam/xlog.c:3241 access/transam/xlog.c:3402
-#: access/transam/xlogfuncs.c:689 commands/copy.c:1743
-#: storage/file/copydir.c:201
+#: access/transam/timeline.c:417 access/transam/timeline.c:496
+#: access/transam/xlog.c:3281 access/transam/xlog.c:3446
+#: access/transam/xlogfuncs.c:683 commands/copy.c:1742
+#: storage/file/copydir.c:219
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht schließen: %m"
 
-#: access/transam/timeline.c:569
+#: access/transam/timeline.c:578
 #, c-format
 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:362
+#: access/transam/twophase.c:381
 #, c-format
 msgid "transaction identifier \"%s\" is too long"
 msgstr "Transaktionsbezeichner »%s« ist zu lang"
 
-#: access/transam/twophase.c:369
+#: access/transam/twophase.c:388
 #, c-format
 msgid "prepared transactions are disabled"
 msgstr "vorbereitete Transaktionen sind abgeschaltet"
 
-#: access/transam/twophase.c:370
+#: access/transam/twophase.c:389
 #, 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:389
+#: access/transam/twophase.c:408
 #, c-format
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "Transaktionsbezeichner »%s« wird bereits verwendet"
 
-#: access/transam/twophase.c:398
+#: access/transam/twophase.c:417 access/transam/twophase.c:2415
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "maximale Anzahl vorbereiteter Transaktionen erreicht"
 
-#: access/transam/twophase.c:399
+#: access/transam/twophase.c:418 access/transam/twophase.c:2416
 #, c-format
 msgid "Increase max_prepared_transactions (currently %d)."
 msgstr "Erhöhen Sie max_prepared_transactions (aktuell %d)."
 
-#: access/transam/twophase.c:539
+#: access/transam/twophase.c:585
 #, c-format
 msgid "prepared transaction with identifier \"%s\" is busy"
 msgstr "vorbereitete Transaktion mit Bezeichner »%s« ist beschäftigt"
 
-#: access/transam/twophase.c:545
+#: access/transam/twophase.c:591
 #, c-format
 msgid "permission denied to finish prepared transaction"
 msgstr "keine Berechtigung, um vorbereitete Transaktion abzuschließen"
 
-#: access/transam/twophase.c:546
+#: access/transam/twophase.c:592
 #, 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:557
+#: access/transam/twophase.c:603
 #, c-format
 msgid "prepared transaction belongs to another database"
 msgstr "vorbereitete Transaktion gehört zu einer anderen Datenbank"
 
-#: access/transam/twophase.c:558
+#: access/transam/twophase.c:604
 #, 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:573
+#: access/transam/twophase.c:619
 #, c-format
 msgid "prepared transaction with identifier \"%s\" does not exist"
 msgstr "vorbereitete Transaktion mit Bezeichner »%s« existiert nicht"
 
-#: access/transam/twophase.c:1042
+#: access/transam/twophase.c:1102
 #, c-format
 msgid "two-phase state file maximum length exceeded"
 msgstr "maximale Länge der Zweiphasen-Statusdatei überschritten"
 
-#: access/transam/twophase.c:1160
+#: access/transam/twophase.c:1231
 #, c-format
 msgid "could not open two-phase state file \"%s\": %m"
 msgstr "konnte Zweiphasen-Statusdatei »%s« nicht öffnen: %m"
 
-#: access/transam/twophase.c:1177
+#: access/transam/twophase.c:1248
 #, c-format
 msgid "could not stat two-phase state file \"%s\": %m"
 msgstr "konnte »stat« für Zweiphasen-Statusdatei »%s« nicht ausführen: %m"
 
-#: access/transam/twophase.c:1209
+#: access/transam/twophase.c:1282
 #, c-format
 msgid "could not read two-phase state file \"%s\": %m"
 msgstr "konnte Zweiphasen-Statusdatei »%s« nicht lesen: %m"
 
-#: access/transam/twophase.c:1262 access/transam/xlog.c:6318
+#: access/transam/twophase.c:1373 access/transam/xlog.c:6444
 #, c-format
 msgid "Failed while allocating a WAL reading processor."
 msgstr "Fehlgeschlagen beim Anlegen eines WAL-Leseprozessors."
 
-#: access/transam/twophase.c:1268
+#: access/transam/twophase.c:1379
 #, 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:1276
+#: access/transam/twophase.c:1387
 #, 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:1511
+#: access/transam/twophase.c:1630
 #, c-format
 msgid "could not remove two-phase state file \"%s\": %m"
 msgstr "konnte Zweiphasen-Statusdatei »%s« nicht löschen: %m"
 
-#: access/transam/twophase.c:1541
+#: access/transam/twophase.c:1659
 #, c-format
 msgid "could not recreate two-phase state file \"%s\": %m"
 msgstr "konnte Zweiphasen-Statusdatei »%s« nicht wieder erstellen: %m"
 
-#: access/transam/twophase.c:1550 access/transam/twophase.c:1557
+#: access/transam/twophase.c:1670 access/transam/twophase.c:1678
 #, c-format
 msgid "could not write two-phase state file: %m"
 msgstr "konnte Zweiphasen-Statusdatei nicht schreiben: %m"
 
-#: access/transam/twophase.c:1569
+#: access/transam/twophase.c:1692
 #, c-format
 msgid "could not fsync two-phase state file: %m"
 msgstr "konnte Zweiphasen-Statusdatei nicht fsyncen: %m"
 
-#: access/transam/twophase.c:1575
+#: access/transam/twophase.c:1699
 #, c-format
 msgid "could not close two-phase state file: %m"
 msgstr "konnte Zweiphasen-Statusdatei nicht schließen: %m"
 
-#: access/transam/twophase.c:1648
-#, fuzzy, c-format
-#| msgid "%u two-phase state file was written for long-running prepared transactions"
-#| msgid_plural "%u two-phase state files were written for long-running prepared transactions"
+#: access/transam/twophase.c:1787
+#, 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 lange laufende vorbereitete Transaktionen geschrieben"
+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:1712
+#: access/transam/twophase.c:2016
 #, c-format
-msgid "removing future two-phase state file \"%s\""
-msgstr "entferne Zweiphasen-Statusdatei aus der Zukunft »%s«"
+msgid "recovering prepared transaction %u from shared memory"
+msgstr "Wiederherstellung der vorbereiteten Transaktion %u aus dem Shared Memory"
 
-#: access/transam/twophase.c:1728 access/transam/twophase.c:1739
-#: access/transam/twophase.c:1859 access/transam/twophase.c:1870
-#: access/transam/twophase.c:1947
+#: access/transam/twophase.c:2106
 #, c-format
-msgid "removing corrupt two-phase state file \"%s\""
-msgstr "entferne verfälschte Zweiphasen-Statusdatei »%s«"
+msgid "removing stale two-phase state file for transaction %u"
+msgstr "entferne abgelaufene Zweiphasen-Statusdatei für Transaktion %u"
 
-#: access/transam/twophase.c:1848 access/transam/twophase.c:1936
+#: access/transam/twophase.c:2113
 #, c-format
-msgid "removing stale two-phase state file \"%s\""
-msgstr "entferne abgelaufene Zweiphasen-Statusdatei »%s«"
+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:1954
+#: access/transam/twophase.c:2126
 #, c-format
-msgid "recovering prepared transaction %u"
-msgstr "Wiederherstellung der vorbereiteten Transaktion %u"
+msgid "removing future two-phase state file for transaction %u"
+msgstr "entferne zukünftige Zweiphasen-Statusdatei für Transaktion %u"
+
+#: access/transam/twophase.c:2133
+#, 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:2147 access/transam/twophase.c:2166
+#, c-format
+msgid "removing corrupt two-phase state file for transaction %u"
+msgstr "entferne verfälschte Zweiphasen-Statusdatei für Transaktion %u"
+
+#: access/transam/twophase.c:2173
+#, c-format
+msgid "removing corrupt two-phase state from memory for transaction %u"
+msgstr "entferne verfälschten Zweiphasen-Status aus dem Speicher für Transaktion %u"
 
 #: access/transam/varsup.c:124
 #, c-format
@@ -1560,1189 +1452,1205 @@ msgstr "Datenbank nimmt keine Befehle an, um Datenverlust wegen Transaktionsnumm
 #, c-format
 msgid ""
 "Stop the postmaster and vacuum that database in single-user mode.\n"
-"You might also need to commit or roll back old prepared transactions."
+"You might also need to commit or roll back old prepared transactions, or drop stale replication slots."
 msgstr ""
 "Halten Sie den Postmaster an und führen Sie in dieser Datenbank VACUUM im Einzelbenutzermodus aus.\n"
-"Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen."
+"Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen oder unbenutzte Replikations-Slots löschen."
 
 #: access/transam/varsup.c:131
 #, c-format
 msgid "database is not accepting commands to avoid wraparound data loss in database with OID %u"
 msgstr "Datenbank nimmt keine Befehle an, um Datenverlust wegen Transaktionsnummernüberlauf in Datenbank mit OID %u zu vermeiden"
 
-#: access/transam/varsup.c:143 access/transam/varsup.c:381
+#: access/transam/varsup.c:143 access/transam/varsup.c:402
 #, c-format
 msgid "database \"%s\" must be vacuumed within %u transactions"
 msgstr "Datenbank »%s« muss innerhalb von %u Transaktionen gevacuumt werden"
 
-#: access/transam/varsup.c:150 access/transam/varsup.c:388
+#: access/transam/varsup.c:150 access/transam/varsup.c:409
 #, c-format
 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/varsup.c:346
+#: access/transam/varsup.c:367
 #, c-format
 msgid "transaction ID wrap limit is %u, limited by database with OID %u"
 msgstr "Grenze für Transaktionsnummernüberlauf ist %u, begrenzt durch Datenbank mit OID %u"
 
-#: access/transam/xact.c:945
+#: access/transam/xact.c:938
 #, 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:1469
+#: access/transam/xact.c:1463
 #, c-format
 msgid "maximum number of committed subtransactions (%d) exceeded"
 msgstr "maximale Anzahl committeter Subtransaktionen (%d) überschritten"
 
-#: access/transam/xact.c:2266
+#: access/transam/xact.c:2258
 #, c-format
 msgid "cannot PREPARE a transaction that has operated on temporary tables"
 msgstr "PREPARE kann nicht für eine Transaktion ausgeführt werden, die temporäre Tabellen bearbeitet hat"
 
-#: access/transam/xact.c:2276
+#: access/transam/xact.c:2268
 #, 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"
 
+#: access/transam/xact.c:2277
+#, c-format
+msgid "cannot PREPARE a transaction that has manipulated logical replication workers"
+msgstr "PREPARE kann nicht für eine Transaktion ausgeführt werden, die Arbeitsprozesse für logische Replikation manipuliert hat"
+
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3161
+#: access/transam/xact.c:3162
 #, 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:3171
+#: access/transam/xact.c:3172
 #, 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:3181
+#: access/transam/xact.c:3182
 #, c-format
-msgid "%s cannot be executed from a function or multi-command string"
-msgstr "%s kann nicht aus einer Funktion oder einer mehrbefehligen Zeichenkette heraus ausgeführt werden"
+msgid "%s cannot be executed from a function"
+msgstr "%s kann nicht aus einer Funktion ausgerufen werden"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3252
+#: access/transam/xact.c:3251 access/transam/xact.c:3875
+#: access/transam/xact.c:3944 access/transam/xact.c:4055
 #, c-format
 msgid "%s can only be used in transaction blocks"
 msgstr "%s kann nur in Transaktionsblöcken verwendet werden"
 
-#: access/transam/xact.c:3436
+#: access/transam/xact.c:3444
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "eine Transaktion ist bereits begonnen"
 
-#: access/transam/xact.c:3604 access/transam/xact.c:3707
+#: access/transam/xact.c:3555 access/transam/xact.c:3625
+#: access/transam/xact.c:3734
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "keine Transaktion offen"
 
-#: access/transam/xact.c:3615
+#: access/transam/xact.c:3636
 #, c-format
 msgid "cannot commit during a parallel operation"
 msgstr "während einer parallelen Operation kann nicht committet werden"
 
-#: access/transam/xact.c:3718
+#: access/transam/xact.c:3745
 #, c-format
 msgid "cannot abort during a parallel operation"
 msgstr "während einer parallelen Operation kann nicht abgebrochen werden"
 
-#: access/transam/xact.c:3760
+#: access/transam/xact.c:3839
 #, 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:3827
+#: access/transam/xact.c:3926
 #, 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:3838 access/transam/xact.c:3890
-#: access/transam/xact.c:3896 access/transam/xact.c:3952
-#: access/transam/xact.c:4002 access/transam/xact.c:4008
+#: access/transam/xact.c:3936 access/transam/xact.c:3987
+#: access/transam/xact.c:4047 access/transam/xact.c:4096
 #, c-format
-msgid "no such savepoint"
-msgstr "Sicherungspunkt existiert nicht"
+msgid "savepoint \"%s\" does not exist"
+msgstr "Sicherungspunkt »%s« existiert nicht"
 
-#: access/transam/xact.c:3940
+#: access/transam/xact.c:3993 access/transam/xact.c:4102
+#, fuzzy, c-format
+#| msgid "user mapping for \"%s\" does not exist for the server"
+msgid "savepoint \"%s\" does not exist within current savepoint level"
+msgstr "Benutzerabbildung für »%s« existiert für den Server nicht"
+
+#: access/transam/xact.c:4035
 #, 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:4068
+#: access/transam/xact.c:4163
 #, 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:4135
+#: access/transam/xact.c:4231
 #, 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:4743
+#: access/transam/xact.c:4867
 #, 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:2446
+#: access/transam/xlog.c:2479
 #, c-format
 msgid "could not seek in log file %s to offset %u: %m"
 msgstr "konnte Positionszeiger in Logdatei %s nicht auf %u setzen: %m"
 
-#: access/transam/xlog.c:2466
+#: access/transam/xlog.c:2501
 #, 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:2730
+#: access/transam/xlog.c:2767
 #, c-format
 msgid "updated min recovery point to %X/%X on timeline %u"
 msgstr "minimaler Recovery-Punkt auf %X/%X auf Zeitleiste %u aktualisiert"
 
-#: access/transam/xlog.c:3372
+#: access/transam/xlog.c:3411
 #, c-format
 msgid "not enough data in file \"%s\""
 msgstr "nicht genug Daten in Datei »%s«"
 
-#: access/transam/xlog.c:3513
+#: access/transam/xlog.c:3556
 #, c-format
-msgid "could not open transaction log file \"%s\": %m"
-msgstr "konnte Transaktionslogdatei »%s« nicht öffnen: %m"
+msgid "could not open write-ahead log file \"%s\": %m"
+msgstr "konnte Write-Ahead-Log-Datei »%s« nicht öffnen: %m"
 
-#: access/transam/xlog.c:3702 access/transam/xlog.c:5503
+#: access/transam/xlog.c:3745 access/transam/xlog.c:5634
 #, c-format
 msgid "could not close log file %s: %m"
 msgstr "konnte Logdatei %s nicht schließen: %m"
 
-#: access/transam/xlog.c:3759 access/transam/xlogutils.c:697
-#: replication/walsender.c:2050
+#: access/transam/xlog.c:3811 access/transam/xlogutils.c:703
+#: replication/walsender.c:2396
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "das angeforderte WAL-Segment %s wurde schon entfernt"
 
-#: access/transam/xlog.c:3819 access/transam/xlog.c:3894
-#: access/transam/xlog.c:4092
-#, c-format
-msgid "could not open transaction log directory \"%s\": %m"
-msgstr "konnte Transaktionslog-Verzeichnis »%s« nicht öffnen: %m"
-
-#: access/transam/xlog.c:3975
+#: access/transam/xlog.c:4018
 #, c-format
-msgid "recycled transaction log file \"%s\""
-msgstr "Transaktionslogdatei »%s« wird wiederverwendet"
+msgid "recycled write-ahead log file \"%s\""
+msgstr "Write-Ahead-Log-Datei »%s« wird wiederverwendet"
 
-#: access/transam/xlog.c:3987
+#: access/transam/xlog.c:4030
 #, c-format
-msgid "removing transaction log file \"%s\""
-msgstr "entferne Transaktionslogdatei »%s«"
+msgid "removing write-ahead log file \"%s\""
+msgstr "entferne Write-Ahead-Log-Datei »%s«"
 
-#: access/transam/xlog.c:4007
+#: access/transam/xlog.c:4050
 #, c-format
-msgid "could not rename old transaction log file \"%s\": %m"
-msgstr "konnte alte Transaktionslogdatei »%s« nicht umbenennen: %m"
+msgid "could not rename old write-ahead log file \"%s\": %m"
+msgstr "konnte alte Write-Ahead-Log-Datei »%s« nicht umbenennen: %m"
 
-#: access/transam/xlog.c:4019
-#, c-format
-msgid "could not remove old transaction log file \"%s\": %m"
-msgstr "konnte alte Transaktionslogdatei »%s« nicht löschen: %m"
-
-#: access/transam/xlog.c:4052 access/transam/xlog.c:4062
+#: access/transam/xlog.c:4092 access/transam/xlog.c:4102
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "benötigtes WAL-Verzeichnis »%s« existiert nicht"
 
-#: access/transam/xlog.c:4068
+#: access/transam/xlog.c:4108
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "erzeuge fehlendes WAL-Verzeichnis »%s«"
 
-#: access/transam/xlog.c:4071
+#: access/transam/xlog.c:4111
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "konnte fehlendes Verzeichnis »%s« nicht erzeugen: %m"
 
-#: access/transam/xlog.c:4102
-#, c-format
-msgid "removing transaction log backup history file \"%s\""
-msgstr "entferne Transaktionslog-Backup-History-Datei »%s«"
-
-#: access/transam/xlog.c:4183
+#: access/transam/xlog.c:4219
 #, 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:4305
+#: access/transam/xlog.c:4341
 #, 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:4319
+#: access/transam/xlog.c:4355
 #, 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:4338
+#: access/transam/xlog.c:4374
 #, c-format
 msgid "new target timeline is %u"
 msgstr "neue Zielzeitleiste ist %u"
 
-#: access/transam/xlog.c:4413
+#: access/transam/xlog.c:4454
 #, c-format
 msgid "could not create control file \"%s\": %m"
 msgstr "konnte Kontrolldatei »%s« nicht erzeugen: %m"
 
-#: access/transam/xlog.c:4424 access/transam/xlog.c:4644
+#: access/transam/xlog.c:4466 access/transam/xlog.c:4720
 #, c-format
 msgid "could not write to control file: %m"
 msgstr "konnte nicht in Kontrolldatei schreiben: %m"
 
-#: access/transam/xlog.c:4430 access/transam/xlog.c:4650
+#: access/transam/xlog.c:4474 access/transam/xlog.c:4728
 #, c-format
 msgid "could not fsync control file: %m"
 msgstr "konnte Kontrolldatei nicht fsyncen: %m"
 
-#: access/transam/xlog.c:4435 access/transam/xlog.c:4655
+#: access/transam/xlog.c:4480 access/transam/xlog.c:4734
 #, c-format
 msgid "could not close control file: %m"
 msgstr "konnte Kontrolldatei nicht schließen: %m"
 
-#: access/transam/xlog.c:4453 access/transam/xlog.c:4633
+#: access/transam/xlog.c:4499 access/transam/xlog.c:4708
 #, c-format
 msgid "could not open control file \"%s\": %m"
 msgstr "konnte Kontrolldatei »%s« nicht öffnen: %m"
 
-#: access/transam/xlog.c:4459
+#: access/transam/xlog.c:4509
 #, c-format
 msgid "could not read from control file: %m"
 msgstr "konnte nicht aus Kontrolldatei lesen: %m"
 
-#: access/transam/xlog.c:4472 access/transam/xlog.c:4481
-#: access/transam/xlog.c:4505 access/transam/xlog.c:4512
-#: access/transam/xlog.c:4519 access/transam/xlog.c:4524
-#: access/transam/xlog.c:4531 access/transam/xlog.c:4538
-#: access/transam/xlog.c:4545 access/transam/xlog.c:4552
-#: access/transam/xlog.c:4559 access/transam/xlog.c:4566
-#: access/transam/xlog.c:4573 access/transam/xlog.c:4582
-#: access/transam/xlog.c:4589 access/transam/xlog.c:4598
-#: access/transam/xlog.c:4605 utils/init/miscinit.c:1380
+#: access/transam/xlog.c:4512
+#, fuzzy, c-format
+#| msgid "could not read from control file: %m"
+msgid "could not read from control file: read %d bytes, expected %d"
+msgstr "konnte nicht aus Kontrolldatei lesen: %m"
+
+#: access/transam/xlog.c:4527 access/transam/xlog.c:4536
+#: access/transam/xlog.c:4560 access/transam/xlog.c:4567
+#: access/transam/xlog.c:4574 access/transam/xlog.c:4579
+#: access/transam/xlog.c:4586 access/transam/xlog.c:4593
+#: access/transam/xlog.c:4600 access/transam/xlog.c:4607
+#: access/transam/xlog.c:4614 access/transam/xlog.c:4621
+#: access/transam/xlog.c:4630 access/transam/xlog.c:4637
+#: access/transam/xlog.c:4646 access/transam/xlog.c:4653
+#: utils/init/miscinit.c:1498
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "Datenbankdateien sind inkompatibel mit Server"
 
-#: access/transam/xlog.c:4473
+#: access/transam/xlog.c:4528
 #, 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:4477
+#: access/transam/xlog.c:4532
 #, 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:4482
+#: access/transam/xlog.c:4537
 #, 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:4485 access/transam/xlog.c:4509
-#: access/transam/xlog.c:4516 access/transam/xlog.c:4521
+#: access/transam/xlog.c:4540 access/transam/xlog.c:4564
+#: access/transam/xlog.c:4571 access/transam/xlog.c:4576
 #, 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:4496
+#: access/transam/xlog.c:4551
 #, c-format
 msgid "incorrect checksum in control file"
 msgstr "falsche Prüfsumme in Kontrolldatei"
 
-#: access/transam/xlog.c:4506
+#: access/transam/xlog.c:4561
 #, 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:4513
+#: access/transam/xlog.c:4568
 #, 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:4520
+#: access/transam/xlog.c:4575
 #, 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:4525
+#: access/transam/xlog.c:4580
 #, 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:4528 access/transam/xlog.c:4535
-#: access/transam/xlog.c:4542 access/transam/xlog.c:4549
-#: access/transam/xlog.c:4556 access/transam/xlog.c:4563
-#: access/transam/xlog.c:4570 access/transam/xlog.c:4577
-#: access/transam/xlog.c:4585 access/transam/xlog.c:4592
-#: access/transam/xlog.c:4601 access/transam/xlog.c:4608
+#: access/transam/xlog.c:4583 access/transam/xlog.c:4590
+#: access/transam/xlog.c:4597 access/transam/xlog.c:4604
+#: access/transam/xlog.c:4611 access/transam/xlog.c:4618
+#: access/transam/xlog.c:4625 access/transam/xlog.c:4633
+#: access/transam/xlog.c:4640 access/transam/xlog.c:4649
+#: access/transam/xlog.c:4656
 #, 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:4532
+#: access/transam/xlog.c:4587
 #, 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:4539
+#: access/transam/xlog.c:4594
 #, 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:4546
-#, c-format
-msgid "The database cluster was initialized with XLOG_SEG_SIZE %d, but the server was compiled with XLOG_SEG_SIZE %d."
-msgstr "Der Datenbank-Cluster wurde mit XLOG_SEG_SIZE %d initialisiert, aber der Server wurde mit XLOG_SEG_SIZE %d kompiliert."
-
-#: access/transam/xlog.c:4553
+#: access/transam/xlog.c:4601
 #, 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:4560
+#: access/transam/xlog.c:4608
 #, 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:4567
+#: access/transam/xlog.c:4615
 #, 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:4574
+#: access/transam/xlog.c:4622
 #, 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:4583
+#: access/transam/xlog.c:4631
 #, c-format
 msgid "The database cluster was initialized without USE_FLOAT4_BYVAL but the server was compiled with USE_FLOAT4_BYVAL."
 msgstr "Der Datenbank-Cluster wurde ohne USE_FLOAT4_BYVAL initialisiert, aber der Server wurde mit USE_FLOAT4_BYVAL kompiliert."
 
-#: access/transam/xlog.c:4590
+#: access/transam/xlog.c:4638
 #, c-format
 msgid "The database cluster was initialized with USE_FLOAT4_BYVAL but the server was compiled without USE_FLOAT4_BYVAL."
 msgstr "Der Datenbank-Cluster wurde mit USE_FLOAT4_BYVAL initialisiert, aber der Server wurde ohne USE_FLOAT4_BYVAL kompiliert."
 
-#: access/transam/xlog.c:4599
+#: access/transam/xlog.c:4647
 #, 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:4606
+#: access/transam/xlog.c:4654
 #, 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:4958
-#, fuzzy, c-format
-#| msgid "could not generate random encryption vector"
-msgid "could not generation secret authorization token"
-msgstr "konnte zufälligen Verschlüsselungsvektor nicht erzeugen"
+#: access/transam/xlog.c:4663
+#, 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:4675
+#, 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:4679
+#, 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:5066
+#, c-format
+msgid "could not generate secret authorization token"
+msgstr "konnte geheimes Autorisierungstoken nicht erzeugen"
 
-#: access/transam/xlog.c:5046
+#: access/transam/xlog.c:5156
 #, c-format
-msgid "could not write bootstrap transaction log file: %m"
-msgstr "konnte Bootstrap-Transaktionslogdatei nicht schreiben: %m"
+msgid "could not write bootstrap write-ahead log file: %m"
+msgstr "konnte Bootstrap-Write-Ahead-Log-Datei nicht schreiben: %m"
 
-#: access/transam/xlog.c:5052
+#: access/transam/xlog.c:5164
 #, c-format
-msgid "could not fsync bootstrap transaction log file: %m"
-msgstr "konnte Bootstrap-Transaktionslogdatei nicht fsyncen: %m"
+msgid "could not fsync bootstrap write-ahead log file: %m"
+msgstr "konnte Bootstrap-Write-Ahead-Log-Datei nicht fsyncen: %m"
 
-#: access/transam/xlog.c:5057
+#: access/transam/xlog.c:5170
 #, c-format
-msgid "could not close bootstrap transaction log file: %m"
-msgstr "konnte Bootstrap-Transaktionslogdatei nicht schließen: %m"
+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:5133
+#: access/transam/xlog.c:5252
 #, c-format
 msgid "could not open recovery command file \"%s\": %m"
 msgstr "konnte Recovery-Kommandodatei »%s« nicht öffnen: %m"
 
-#: access/transam/xlog.c:5179 access/transam/xlog.c:5281
+#: access/transam/xlog.c:5298 access/transam/xlog.c:5412
 #, c-format
 msgid "invalid value for recovery parameter \"%s\": \"%s\""
 msgstr "ungültiger Wert für Recovery-Parameter »%s«: »%s«"
 
-#: access/transam/xlog.c:5182
+#: access/transam/xlog.c:5301
 #, c-format
 msgid "Valid values are \"pause\", \"promote\", and \"shutdown\"."
 msgstr "Gültige Werte sind »pause«, »promote« und »shutdown«."
 
-#: access/transam/xlog.c:5202
+#: access/transam/xlog.c:5321
 #, c-format
 msgid "recovery_target_timeline is not a valid number: \"%s\""
 msgstr "recovery_target_timeline ist keine gültige Zahl: »%s«"
 
-#: access/transam/xlog.c:5219
+#: access/transam/xlog.c:5338
 #, c-format
 msgid "recovery_target_xid is not a valid number: \"%s\""
 msgstr "recovery_target_xid ist keine gültige Zahl: »%s«"
 
-#: access/transam/xlog.c:5250
+#: access/transam/xlog.c:5358
+#, c-format
+msgid "recovery_target_time is not a valid timestamp: \"%s\""
+msgstr "recovery_target_time ist keine gültige Zeitangabe: »%s«"
+
+#: access/transam/xlog.c:5381
 #, c-format
 msgid "recovery_target_name is too long (maximum %d characters)"
 msgstr "recovery_target_name ist zu lang (maximal %d Zeichen)"
 
-#: access/transam/xlog.c:5284
+#: access/transam/xlog.c:5415
 #, c-format
 msgid "The only allowed value is \"immediate\"."
 msgstr "Der einzige erlaubte Wert ist »immediate«."
 
-#: access/transam/xlog.c:5297 access/transam/xlog.c:5308
-#: commands/extension.c:546 commands/extension.c:554 utils/misc/guc.c:5706
+#: access/transam/xlog.c:5428 access/transam/xlog.c:5439
+#: commands/extension.c:547 commands/extension.c:555 utils/misc/guc.c:5973
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "Parameter »%s« erfordert einen Boole’schen Wert"
 
-#: access/transam/xlog.c:5343
+#: access/transam/xlog.c:5474
 #, c-format
 msgid "parameter \"%s\" requires a temporal value"
 msgstr "Parameter »%s« erfordert einen Zeitwert"
 
-#: access/transam/xlog.c:5345 catalog/dependency.c:959
-#: catalog/dependency.c:960 catalog/dependency.c:966 catalog/dependency.c:967
-#: catalog/dependency.c:978 catalog/dependency.c:979 commands/tablecmds.c:946
-#: commands/tablecmds.c:10018 commands/user.c:1052 commands/view.c:505
-#: libpq/auth.c:334 replication/syncrep.c:1118 storage/lmgr/deadlock.c:1139
-#: storage/lmgr/proc.c:1286 utils/adt/acl.c:5248 utils/misc/guc.c:5728
-#: utils/misc/guc.c:5821 utils/misc/guc.c:9773 utils/misc/guc.c:9807
-#: utils/misc/guc.c:9841 utils/misc/guc.c:9875 utils/misc/guc.c:9910
+#: access/transam/xlog.c:5476 catalog/dependency.c:969 catalog/dependency.c:970
+#: catalog/dependency.c:976 catalog/dependency.c:977 catalog/dependency.c:988
+#: catalog/dependency.c:989 commands/tablecmds.c:1069
+#: commands/tablecmds.c:10790 commands/user.c:1064 commands/view.c:505
+#: libpq/auth.c:336 replication/syncrep.c:1158 storage/lmgr/deadlock.c:1139
+#: storage/lmgr/proc.c:1322 utils/adt/acl.c:5269 utils/misc/guc.c:5995
+#: utils/misc/guc.c:6088 utils/misc/guc.c:10075 utils/misc/guc.c:10109
+#: utils/misc/guc.c:10143 utils/misc/guc.c:10177 utils/misc/guc.c:10212
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: access/transam/xlog.c:5352
+#: access/transam/xlog.c:5483
 #, c-format
 msgid "unrecognized recovery parameter \"%s\""
 msgstr "unbekannter Recovery-Parameter »%s«"
 
-#: access/transam/xlog.c:5363
+#: access/transam/xlog.c:5494
 #, c-format
 msgid "recovery command file \"%s\" specified neither primary_conninfo nor restore_command"
 msgstr "Recovery-Kommandodatei »%s« hat weder primary_conninfo noch restore_command angegeben"
 
-#: access/transam/xlog.c:5365
+#: access/transam/xlog.c:5496
 #, 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."
 
-#: access/transam/xlog.c:5372
+#: access/transam/xlog.c:5503
 #, c-format
 msgid "recovery command file \"%s\" must specify restore_command when standby mode is not enabled"
 msgstr "Recovery-Kommandodatei »%s« muss restore_command angeben, wenn der Standby-Modus nicht eingeschaltet ist"
 
-#: access/transam/xlog.c:5393
+#: access/transam/xlog.c:5524
 #, c-format
 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:5412
+#: access/transam/xlog.c:5543
 #, c-format
 msgid "recovery target timeline %u does not exist"
 msgstr "recovery_target_timeline %u existiert nicht"
 
-#: access/transam/xlog.c:5533
+#: access/transam/xlog.c:5664
 #, c-format
 msgid "archive recovery complete"
 msgstr "Wiederherstellung aus Archiv abgeschlossen"
 
-#: access/transam/xlog.c:5592 access/transam/xlog.c:5858
+#: access/transam/xlog.c:5723 access/transam/xlog.c:5989
 #, c-format
 msgid "recovery stopping after reaching consistency"
 msgstr "Wiederherstellung beendet nachdem Konsistenz erreicht wurde"
 
-#: access/transam/xlog.c:5613
+#: access/transam/xlog.c:5744
 #, c-format
-msgid "recovery stopping before WAL position (LSN) \"%X/%X\""
+msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
 msgstr "Wiederherstellung beendet vor WAL-Position (LSN) »%X/%X«"
 
-#: access/transam/xlog.c:5699
+#: access/transam/xlog.c:5830
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr "Wiederherstellung beendet vor Commit der Transaktion %u, Zeit %s"
 
-#: access/transam/xlog.c:5706
+#: access/transam/xlog.c:5837
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr "Wiederherstellung beendet vor Abbruch der Transaktion %u, Zeit %s"
 
-#: access/transam/xlog.c:5752
+#: access/transam/xlog.c:5883
 #, c-format
 msgid "recovery stopping at restore point \"%s\", time %s"
 msgstr "Wiederherstellung beendet bei Restore-Punkt »%s«, Zeit %s"
 
-#: access/transam/xlog.c:5770
+#: access/transam/xlog.c:5901
 #, c-format
-msgid "recovery stopping after WAL position (LSN) \"%X/%X\""
+msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
 msgstr "Wiederherstellung beendet nach WAL-Position (LSN) »%X/%X«"
 
-#: access/transam/xlog.c:5838
+#: access/transam/xlog.c:5969
 #, c-format
 msgid "recovery stopping after commit of transaction %u, time %s"
 msgstr "Wiederherstellung beendet nach Commit der Transaktion %u, Zeit %s"
 
-#: access/transam/xlog.c:5846
+#: access/transam/xlog.c:5977
 #, c-format
 msgid "recovery stopping after abort of transaction %u, time %s"
 msgstr "Wiederherstellung beendet nach Abbruch der Transaktion %u, Zeit %s"
 
-#: access/transam/xlog.c:5886
+#: access/transam/xlog.c:6017
 #, c-format
 msgid "recovery has paused"
 msgstr "Wiederherstellung wurde pausiert"
 
-#: access/transam/xlog.c:5887
+#: access/transam/xlog.c:6018
 #, c-format
 msgid "Execute pg_wal_replay_resume() to continue."
 msgstr "Führen Sie pg_wal_replay_resume() aus um fortzusetzen."
 
-#: access/transam/xlog.c:6095
+#: access/transam/xlog.c:6226
 #, c-format
 msgid "hot standby is not possible because %s = %d is a lower setting than on the master server (its value was %d)"
 msgstr "Hot Standby ist nicht möglich, weil %s = %d eine niedrigere Einstellung als auf dem Masterserver ist (Wert dort war %d)"
 
-#: access/transam/xlog.c:6121
+#: access/transam/xlog.c:6252
 #, c-format
 msgid "WAL was generated with wal_level=minimal, data may be missing"
 msgstr "WAL wurde mit wal_level=minimal erzeugt, eventuell fehlen Daten"
 
-#: access/transam/xlog.c:6122
+#: access/transam/xlog.c:6253
 #, c-format
 msgid "This happens if you temporarily set wal_level=minimal without taking a new base backup."
 msgstr "Das passiert, wenn vorübergehend wal_level=minimal gesetzt wurde, ohne ein neues Base-Backup zu erzeugen."
 
-#: access/transam/xlog.c:6133
+#: access/transam/xlog.c:6264
 #, c-format
 msgid "hot standby is not possible because wal_level was not set to \"replica\" or higher on the master server"
 msgstr "Hot Standby ist nicht möglich, weil wal_level auf dem Masterserver nicht auf »replica« oder höher gesetzt wurde"
 
-#: access/transam/xlog.c:6134
+#: access/transam/xlog.c:6265
 #, c-format
 msgid "Either set wal_level to \"replica\" on the master, or turn off hot_standby here."
 msgstr "Setzen Sie entweder wal_level auf »replica« auf dem Master oder schalten Sie hot_standby hier aus."
 
-#: access/transam/xlog.c:6191
+#: access/transam/xlog.c:6317
 #, c-format
 msgid "control file contains invalid data"
 msgstr "Kontrolldatei enthält ungültige Daten"
 
-#: access/transam/xlog.c:6197
+#: access/transam/xlog.c:6323
 #, c-format
 msgid "database system was shut down at %s"
 msgstr "Datenbanksystem wurde am %s heruntergefahren"
 
-#: access/transam/xlog.c:6202
+#: access/transam/xlog.c:6328
 #, c-format
 msgid "database system was shut down in recovery at %s"
 msgstr "Datenbanksystem wurde während der Wiederherstellung am %s heruntergefahren"
 
-#: access/transam/xlog.c:6206
+#: access/transam/xlog.c:6332
 #, c-format
 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:6210
+#: access/transam/xlog.c:6336
 #, c-format
 msgid "database system was interrupted while in recovery at %s"
 msgstr "Datenbanksystem wurde während der Wiederherstellung am %s unterbrochen"
 
-#: access/transam/xlog.c:6212
+#: access/transam/xlog.c:6338
 #, 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."
 
-#: access/transam/xlog.c:6216
+#: access/transam/xlog.c:6342
 #, 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"
 
-#: access/transam/xlog.c:6218
+#: access/transam/xlog.c:6344
 #, 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."
 
-#: access/transam/xlog.c:6222
+#: access/transam/xlog.c:6348
 #, c-format
 msgid "database system was interrupted; last known up at %s"
 msgstr "Datenbanksystem wurde unterbrochen; letzte bekannte Aktion am %s"
 
-#: access/transam/xlog.c:6278
+#: access/transam/xlog.c:6404
 #, c-format
 msgid "entering standby mode"
 msgstr "Standby-Modus eingeschaltet"
 
-#: access/transam/xlog.c:6281
+#: access/transam/xlog.c:6407
 #, c-format
 msgid "starting point-in-time recovery to XID %u"
 msgstr "starte Point-in-Time-Recovery bis XID %u"
 
-#: access/transam/xlog.c:6285
+#: access/transam/xlog.c:6411
 #, c-format
 msgid "starting point-in-time recovery to %s"
 msgstr "starte Point-in-Time-Recovery bis %s"
 
-#: access/transam/xlog.c:6289
+#: access/transam/xlog.c:6415
 #, c-format
 msgid "starting point-in-time recovery to \"%s\""
 msgstr "starte Point-in-Time-Recovery bis »%s«"
 
-#: access/transam/xlog.c:6293
+#: access/transam/xlog.c:6419
 #, c-format
-msgid "starting point-in-time recovery to WAL position (LSN) \"%X/%X\""
+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:6298
+#: access/transam/xlog.c:6424
 #, c-format
 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:6301
+#: access/transam/xlog.c:6427
 #, c-format
 msgid "starting archive recovery"
 msgstr "starte Wiederherstellung aus Archiv"
 
-#: access/transam/xlog.c:6352 access/transam/xlog.c:6480
+#: access/transam/xlog.c:6478 access/transam/xlog.c:6603
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr "Checkpoint-Eintrag ist bei %X/%X"
 
-#: access/transam/xlog.c:6366
+#: access/transam/xlog.c:6492
 #, c-format
 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:6367 access/transam/xlog.c:6374
+#: access/transam/xlog.c:6493 access/transam/xlog.c:6500
 #, c-format
 msgid "If you are not restoring from a backup, try removing the file \"%s/backup_label\"."
 msgstr "Wenn Sie gerade keine Sicherung wiederherstellen, versuchen Sie, die Datei »%s/backup_label« zu löschen."
 
-#: access/transam/xlog.c:6373
+#: access/transam/xlog.c:6499
 #, c-format
 msgid "could not locate required checkpoint record"
 msgstr "konnte den nötigen Checkpoint-Datensatz nicht finden"
 
-#: access/transam/xlog.c:6399 commands/tablespace.c:639
+#: access/transam/xlog.c:6525 commands/tablespace.c:641
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "konnte symbolische Verknüpfung »%s« nicht erstellen: %m"
 
-#: access/transam/xlog.c:6431 access/transam/xlog.c:6437
+#: access/transam/xlog.c:6557 access/transam/xlog.c:6563
 #, c-format
 msgid "ignoring file \"%s\" because no file \"%s\" exists"
 msgstr "ignoriere Datei »%s«, weil keine Datei »%s« existiert"
 
-#: access/transam/xlog.c:6433 access/transam/xlog.c:11310
+#: access/transam/xlog.c:6559 access/transam/xlog.c:11536
 #, c-format
 msgid "File \"%s\" was renamed to \"%s\"."
 msgstr "Datei »%s« wurde in »%s« umbenannt."
 
-#: access/transam/xlog.c:6439
+#: access/transam/xlog.c:6565
 #, c-format
 msgid "Could not rename file \"%s\" to \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht in »%s« umbenennen: %m."
 
-#: access/transam/xlog.c:6490 access/transam/xlog.c:6505
+#: access/transam/xlog.c:6615
 #, c-format
 msgid "could not locate a valid checkpoint record"
 msgstr "konnte keinen gültigen Checkpoint-Datensatz finden"
 
-#: access/transam/xlog.c:6499
-#, c-format
-msgid "using previous checkpoint record at %X/%X"
-msgstr "verwende vorherigen Checkpoint-Eintrag bei %X/%X"
-
-#: access/transam/xlog.c:6543
+#: access/transam/xlog.c:6653
 #, 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"
 
-#: access/transam/xlog.c:6545
+#: access/transam/xlog.c:6655
 #, 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."
 
-#: access/transam/xlog.c:6561
+#: access/transam/xlog.c:6671
 #, 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:6592
+#: access/transam/xlog.c:6702
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "ungültige nächste Transaktions-ID"
 
-#: access/transam/xlog.c:6675
+#: access/transam/xlog.c:6796
 #, c-format
 msgid "invalid redo in checkpoint record"
 msgstr "ungültiges Redo im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:6686
+#: access/transam/xlog.c:6807
 #, c-format
 msgid "invalid redo record in shutdown checkpoint"
 msgstr "ungültiger Redo-Datensatz im Shutdown-Checkpoint"
 
-#: access/transam/xlog.c:6714
+#: access/transam/xlog.c:6835
 #, c-format
 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:6718
+#: access/transam/xlog.c:6839
 #, 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"
 
-#: access/transam/xlog.c:6762
+#: access/transam/xlog.c:6882
 #, c-format
 msgid "backup_label contains data inconsistent with control file"
 msgstr "Daten in backup_label stimmen nicht mit Kontrolldatei überein"
 
-#: access/transam/xlog.c:6763
+#: access/transam/xlog.c:6883
 #, 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."
 
-#: access/transam/xlog.c:6837
+#: access/transam/xlog.c:6957
 #, c-format
 msgid "initializing for hot standby"
 msgstr "initialisiere für Hot Standby"
 
-#: access/transam/xlog.c:6969
+#: access/transam/xlog.c:7089
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "Redo beginnt bei %X/%X"
 
-#: access/transam/xlog.c:7203
+#: access/transam/xlog.c:7323
 #, 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:7241
+#: access/transam/xlog.c:7361
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "Redo fertig bei %X/%X"
 
-#: access/transam/xlog.c:7246 access/transam/xlog.c:9244
+#: access/transam/xlog.c:7366
 #, c-format
 msgid "last completed transaction was at log time %s"
 msgstr "letzte vollständige Transaktion war bei Logzeit %s"
 
-#: access/transam/xlog.c:7255
+#: access/transam/xlog.c:7375
 #, c-format
 msgid "redo is not required"
 msgstr "Redo nicht nötig"
 
-#: access/transam/xlog.c:7330 access/transam/xlog.c:7334
+#: access/transam/xlog.c:7450 access/transam/xlog.c:7454
 #, c-format
 msgid "WAL ends before end of online backup"
 msgstr "WAL endet vor dem Ende der Online-Sicherung"
 
-#: access/transam/xlog.c:7331
+#: access/transam/xlog.c:7451
 #, 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/xlog.c:7335
+#: access/transam/xlog.c:7455
 #, 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."
 
-#: access/transam/xlog.c:7338
+#: access/transam/xlog.c:7458
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "WAL endet vor einem konsistenten Wiederherstellungspunkt"
 
-#: access/transam/xlog.c:7365
+#: access/transam/xlog.c:7485
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "gewählte neue Zeitleisten-ID: %u"
 
-#: access/transam/xlog.c:7794
+#: access/transam/xlog.c:7914
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "konsistenter Wiederherstellungszustand erreicht bei %X/%X"
 
-#: access/transam/xlog.c:7986
+#: access/transam/xlog.c:8106
 #, c-format
 msgid "invalid primary checkpoint link in control file"
 msgstr "ungültige primäre Checkpoint-Verknüpfung in Kontrolldatei"
 
-#: access/transam/xlog.c:7990
-#, c-format
-msgid "invalid secondary checkpoint link in control file"
-msgstr "ungültige sekundäre Checkpoint-Verknüpfung in Kontrolldatei"
-
-#: access/transam/xlog.c:7994
+#: access/transam/xlog.c:8110
 #, c-format
 msgid "invalid checkpoint link in backup_label file"
 msgstr "ungültige Checkpoint-Verknüpfung in backup_label-Datei"
 
-#: access/transam/xlog.c:8011
+#: access/transam/xlog.c:8127
 #, c-format
 msgid "invalid primary checkpoint record"
 msgstr "ungültiger primärer Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:8015
-#, c-format
-msgid "invalid secondary checkpoint record"
-msgstr "ungültiger sekundärer Checkpoint-Datensatz"
-
-#: access/transam/xlog.c:8019
+#: access/transam/xlog.c:8131
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "ungültiger Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:8030
+#: access/transam/xlog.c:8142
 #, c-format
 msgid "invalid resource manager ID in primary checkpoint record"
 msgstr "ungültige Resource-Manager-ID im primären Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:8034
-#, c-format
-msgid "invalid resource manager ID in secondary checkpoint record"
-msgstr "ungültige Resource-Manager-ID im sekundären Checkpoint-Datensatz"
-
-#: access/transam/xlog.c:8038
+#: access/transam/xlog.c:8146
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "ungültige Resource-Manager-ID im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:8051
+#: access/transam/xlog.c:8159
 #, c-format
 msgid "invalid xl_info in primary checkpoint record"
 msgstr "ungültige xl_info im primären Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:8055
-#, c-format
-msgid "invalid xl_info in secondary checkpoint record"
-msgstr "ungültige xl_info im sekundären Checkpoint-Datensatz"
-
-#: access/transam/xlog.c:8059
+#: access/transam/xlog.c:8163
 #, c-format
 msgid "invalid xl_info in checkpoint record"
 msgstr "ungültige xl_info im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:8070
+#: access/transam/xlog.c:8174
 #, c-format
 msgid "invalid length of primary checkpoint record"
 msgstr "ungültige Länge des primären Checkpoint-Datensatzes"
 
-#: access/transam/xlog.c:8074
-#, c-format
-msgid "invalid length of secondary checkpoint record"
-msgstr "ungültige Länge des sekundären Checkpoint-Datensatzes"
-
-#: access/transam/xlog.c:8078
+#: access/transam/xlog.c:8178
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "ungültige Länge des Checkpoint-Datensatzes"
 
-#: access/transam/xlog.c:8281
+#: access/transam/xlog.c:8384
 #, c-format
 msgid "shutting down"
 msgstr "fahre herunter"
 
-#: access/transam/xlog.c:8589
-#, fuzzy, c-format
-#| msgid "checkpoint request failed"
-msgid "checkpoint skipped due to an idle system"
-msgstr "Checkpoint-Anforderung fehlgeschlagen"
+#: access/transam/xlog.c:8703
+#, c-format
+msgid "checkpoint skipped because system is idle"
+msgstr "Checkpoint übersprungen weil das System inaktiv ist"
 
-#: access/transam/xlog.c:8789
+#: access/transam/xlog.c:8908
 #, c-format
-msgid "concurrent transaction log activity while database system is shutting down"
-msgstr "gleichzeitige Transaktionslog-Aktivität während das Datenbanksystem herunterfährt"
+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:9043
+#: access/transam/xlog.c:9161
 #, c-format
 msgid "skipping restartpoint, recovery has already ended"
 msgstr "Restart-Punkt übersprungen, Wiederherstellung ist bereits beendet"
 
-#: access/transam/xlog.c:9066
+#: access/transam/xlog.c:9184
 #, c-format
 msgid "skipping restartpoint, already performed at %X/%X"
 msgstr "Restart-Punkt wird übersprungen, schon bei %X/%X erledigt"
 
-#: access/transam/xlog.c:9242
+#: access/transam/xlog.c:9359
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "Recovery-Restart-Punkt bei %X/%X"
 
-#: access/transam/xlog.c:9378
+#: access/transam/xlog.c:9361
+#, c-format
+msgid "Last completed transaction was at log time %s."
+msgstr "Die letzte vollständige Transaktion war bei Logzeit %s."
+
+#: access/transam/xlog.c:9495
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "Restore-Punkt »%s« erzeugt bei %X/%X"
 
-#: access/transam/xlog.c:9508
+#: access/transam/xlog.c:9625
 #, 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"
 
-#: access/transam/xlog.c:9517
+#: access/transam/xlog.c:9634
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr "unerwartete Zeitleisten-ID %u (nach %u) im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:9533
+#: access/transam/xlog.c:9650
 #, 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"
 
-#: access/transam/xlog.c:9604
+#: access/transam/xlog.c:9726
 #, c-format
 msgid "online backup was canceled, recovery cannot continue"
 msgstr "Online-Sicherung wurde storniert, Wiederherstellung kann nicht fortgesetzt werden"
 
-#: access/transam/xlog.c:9660 access/transam/xlog.c:9707
-#: access/transam/xlog.c:9730
+#: access/transam/xlog.c:9782 access/transam/xlog.c:9838
+#: access/transam/xlog.c:9861
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
 msgstr "unerwartete Zeitleisten-ID %u (sollte %u sein) im Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:10005
+#: access/transam/xlog.c:10137
 #, c-format
 msgid "could not fsync log segment %s: %m"
 msgstr "konnte Logsegment %s nicht fsyncen: %m"
 
-#: access/transam/xlog.c:10029
+#: access/transam/xlog.c:10162
 #, c-format
 msgid "could not fsync log file %s: %m"
 msgstr "konnte Logdatei %s nicht fsyncen: %m"
 
-#: access/transam/xlog.c:10037
+#: access/transam/xlog.c:10170
 #, c-format
 msgid "could not fsync write-through log file %s: %m"
 msgstr "konnte Write-Through-Logdatei %s nicht fsyncen: %m"
 
-#: access/transam/xlog.c:10046
+#: access/transam/xlog.c:10179
 #, c-format
 msgid "could not fdatasync log file %s: %m"
 msgstr "konnte Logdatei %s nicht fdatasyncen: %m"
 
-#: access/transam/xlog.c:10137 access/transam/xlog.c:10641
-#: access/transam/xlogfuncs.c:293 access/transam/xlogfuncs.c:320
-#: access/transam/xlogfuncs.c:359 access/transam/xlogfuncs.c:380
-#: access/transam/xlogfuncs.c:401
+#: access/transam/xlog.c:10270 access/transam/xlog.c:10797
+#: access/transam/xlogfuncs.c:287 access/transam/xlogfuncs.c:314
+#: access/transam/xlogfuncs.c:353 access/transam/xlogfuncs.c:374
+#: access/transam/xlogfuncs.c:395
 #, c-format
 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:10146 access/transam/xlog.c:10650
+#: access/transam/xlog.c:10279 access/transam/xlog.c:10806
 #, c-format
 msgid "WAL level not sufficient for making an online backup"
 msgstr "WAL-Level nicht ausreichend, um Online-Sicherung durchzuführen"
 
-#: access/transam/xlog.c:10147 access/transam/xlog.c:10651
-#: access/transam/xlogfuncs.c:326
+#: access/transam/xlog.c:10280 access/transam/xlog.c:10807
+#: access/transam/xlogfuncs.c:320
 #, 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."
 
-#: access/transam/xlog.c:10152
+#: access/transam/xlog.c:10285
 #, c-format
 msgid "backup label too long (max %d bytes)"
 msgstr "Backup-Label zu lang (maximal %d Bytes)"
 
-#: access/transam/xlog.c:10189 access/transam/xlog.c:10461
-#: access/transam/xlog.c:10499
+#: access/transam/xlog.c:10322 access/transam/xlog.c:10598
+#: access/transam/xlog.c:10636
 #, c-format
 msgid "a backup is already in progress"
 msgstr "ein Backup läuft bereits"
 
-#: access/transam/xlog.c:10190
+#: access/transam/xlog.c:10323
 #, c-format
 msgid "Run pg_stop_backup() and try again."
 msgstr "Führen Sie pg_stop_backup() aus und versuchen Sie es nochmal."
 
-#: access/transam/xlog.c:10285
+#: access/transam/xlog.c:10419
 #, 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"
 
-#: access/transam/xlog.c:10287 access/transam/xlog.c:10832
+#: access/transam/xlog.c:10421 access/transam/xlog.c:11002
 #, c-format
 msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the master, and then try an online backup again."
 msgstr "Das bedeutet, dass die aktuelle Datensicherung auf dem Standby-Server verfälscht ist und nicht verwendet werden sollte. Schalten Sie full_page_writes ein, führen Sie CHECKPOINT aus und versuchen Sie dann die Online-Sicherung erneut."
 
-#: access/transam/xlog.c:10354 replication/basebackup.c:1096
-#: utils/adt/misc.c:497
+#: access/transam/xlog.c:10489 replication/basebackup.c:1222
+#: utils/adt/misc.c:517
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "konnte symbolische Verknüpfung »%s« nicht lesen: %m"
 
-#: access/transam/xlog.c:10361 replication/basebackup.c:1101
-#: utils/adt/misc.c:502
+#: access/transam/xlog.c:10496 replication/basebackup.c:1227
+#: utils/adt/misc.c:522
 #, c-format
 msgid "symbolic link \"%s\" target is too long"
 msgstr "Ziel für symbolische Verknüpfung »%s« ist zu lang"
 
-#: access/transam/xlog.c:10414 commands/tablespace.c:389
-#: commands/tablespace.c:551 replication/basebackup.c:1116
-#: utils/adt/misc.c:510
+#: access/transam/xlog.c:10548 commands/tablespace.c:391
+#: commands/tablespace.c:553 replication/basebackup.c:1242 utils/adt/misc.c:530
 #, c-format
 msgid "tablespaces are not supported on this platform"
 msgstr "Tablespaces werden auf dieser Plattform nicht unterstützt"
 
-#: access/transam/xlog.c:10455 access/transam/xlog.c:10493
-#: access/transam/xlog.c:10689 access/transam/xlogarchive.c:105
-#: access/transam/xlogarchive.c:264 commands/copy.c:1864 commands/copy.c:3038
-#: commands/extension.c:3312 commands/tablespace.c:780
-#: commands/tablespace.c:871 guc-file.l:1001 replication/basebackup.c:480
-#: replication/basebackup.c:548 replication/logical/snapbuild.c:1490
-#: storage/file/copydir.c:72 storage/file/copydir.c:115 storage/file/fd.c:2903
-#: storage/file/fd.c:2995 utils/adt/dbsize.c:69 utils/adt/dbsize.c:219
-#: utils/adt/dbsize.c:299 utils/adt/genfile.c:114 utils/adt/genfile.c:333
+#: access/transam/xlog.c:10592 access/transam/xlog.c:10630
+#: access/transam/xlog.c:10845 access/transam/xlogarchive.c:105
+#: access/transam/xlogarchive.c:265 commands/copy.c:1872 commands/copy.c:3157
+#: commands/extension.c:3319 commands/tablespace.c:782
+#: commands/tablespace.c:873 guc-file.l:1004 replication/basebackup.c:513
+#: replication/basebackup.c:583 replication/logical/snapbuild.c:1518
+#: storage/file/copydir.c:68 storage/file/copydir.c:107 storage/file/fd.c:1732
+#: storage/file/fd.c:3098 storage/file/fd.c:3277 storage/file/fd.c:3362
+#: utils/adt/dbsize.c:70 utils/adt/dbsize.c:222 utils/adt/dbsize.c:302
+#: utils/adt/genfile.c:131 utils/adt/genfile.c:382
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "konnte »stat« für Datei »%s« nicht ausführen: %m"
 
-#: access/transam/xlog.c:10462 access/transam/xlog.c:10500
+#: access/transam/xlog.c:10599 access/transam/xlog.c:10637
 #, 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."
 
-#: access/transam/xlog.c:10479 access/transam/xlog.c:10517
-#: access/transam/xlog.c:10893 postmaster/syslogger.c:1391
-#: postmaster/syslogger.c:1404
+#: access/transam/xlog.c:10616 access/transam/xlog.c:10654
+#: access/transam/xlog.c:11065 postmaster/syslogger.c:1392
+#: postmaster/syslogger.c:1405
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht schreiben: %m"
 
-#: access/transam/xlog.c:10666
+#: access/transam/xlog.c:10822
 #, c-format
 msgid "exclusive backup not in progress"
 msgstr "es läuft kein exklusives Backup"
 
-#: access/transam/xlog.c:10693
+#: access/transam/xlog.c:10849
 #, c-format
 msgid "a backup is not in progress"
 msgstr "es läuft kein Backup"
 
-#: access/transam/xlog.c:10767 access/transam/xlog.c:10780
-#: access/transam/xlog.c:11120 access/transam/xlog.c:11126
-#: access/transam/xlog.c:11210 access/transam/xlogfuncs.c:694
+#: access/transam/xlog.c:10935 access/transam/xlog.c:10948
+#: access/transam/xlog.c:11309 access/transam/xlog.c:11315
+#: access/transam/xlog.c:11363 access/transam/xlog.c:11436
+#: access/transam/xlogfuncs.c:688
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "ungültige Daten in Datei »%s«"
 
-#: access/transam/xlog.c:10784 replication/basebackup.c:994
+#: access/transam/xlog.c:10952 replication/basebackup.c:1079
 #, 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"
 
-#: access/transam/xlog.c:10785 replication/basebackup.c:995
+#: access/transam/xlog.c:10953 replication/basebackup.c:1080
 #, 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."
 
-#: access/transam/xlog.c:10830
+#: access/transam/xlog.c:11000
 #, 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"
 
-#: access/transam/xlog.c:10942
+#: access/transam/xlog.c:11120
 #, c-format
 msgid "pg_stop_backup cleanup done, waiting for required WAL segments to be archived"
 msgstr "Aufräumen nach pg_stop_backup beendet, warte bis die benötigten WAL-Segmente archiviert sind"
 
-#: access/transam/xlog.c:10952
+#: access/transam/xlog.c:11130
 #, c-format
 msgid "pg_stop_backup still waiting for all required WAL segments to be archived (%d seconds elapsed)"
 msgstr "pg_stop_backup wartet immer noch, bis alle benötigten WAL-Segmente archiviert sind (%d Sekunden abgelaufen)"
 
-#: access/transam/xlog.c:10954
+#: access/transam/xlog.c:11132
 #, c-format
 msgid "Check that your archive_command is executing properly.  pg_stop_backup can be canceled safely, 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. pg_stop_backup kann gefahrlos abgebrochen werden, aber die Datenbanksicherung wird ohne die fehlenden WAL-Segmente nicht benutzbar sein."
 
-#: access/transam/xlog.c:10961
+#: access/transam/xlog.c:11139
 #, c-format
 msgid "pg_stop_backup complete, all required WAL segments have been archived"
 msgstr "pg_stop_backup abgeschlossen, alle benötigten WAL-Segmente wurden archiviert"
 
-#: access/transam/xlog.c:10965
+#: access/transam/xlog.c:11143
 #, 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"
 
+#: access/transam/xlog.c:11346
+#, fuzzy, c-format
+#| msgid "could not seek in file \"%s\": %m"
+msgid "backup time %s in file \"%s\""
+msgstr "konnte Positionszeiger in Datei »%s« nicht setzen: %m"
+
+#: access/transam/xlog.c:11351
+#, fuzzy, c-format
+#| msgid "could not read block %u in file \"%s\": %m"
+msgid "backup label %s in file \"%s\""
+msgstr "konnte Block %u in Datei »%s« nicht lesen: %m"
+
+#: access/transam/xlog.c:11364
+#, c-format
+msgid "Timeline ID parsed is %u, but expected %u"
+msgstr ""
+
+#: access/transam/xlog.c:11368
+#, fuzzy, c-format
+#| msgid "could not write block %u in file \"%s\": %m"
+msgid "backup timeline %u in file \"%s\""
+msgstr "konnte Block %u in Datei »%s« nicht schreiben: %m"
+
 #. translator: %s is a WAL record description
-#: access/transam/xlog.c:11250
+#: access/transam/xlog.c:11476
 #, c-format
 msgid "WAL redo at %X/%X for %s"
 msgstr "WAL-Redo bei %X/%X für %s"
 
-#: access/transam/xlog.c:11299
+#: access/transam/xlog.c:11525
 #, c-format
 msgid "online backup mode was not canceled"
 msgstr "Online-Sicherungsmodus wurde nicht storniert"
 
-#: access/transam/xlog.c:11300
+#: access/transam/xlog.c:11526
 #, c-format
 msgid "File \"%s\" could not be renamed to \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht in »%s« umbenennen: %m."
 
-#: access/transam/xlog.c:11309 access/transam/xlog.c:11321
-#: access/transam/xlog.c:11331
+#: access/transam/xlog.c:11535 access/transam/xlog.c:11547
+#: access/transam/xlog.c:11557
 #, c-format
 msgid "online backup mode canceled"
 msgstr "Online-Sicherungsmodus storniert"
 
-#: access/transam/xlog.c:11322
+#: access/transam/xlog.c:11548
 #, 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."
 
-#: access/transam/xlog.c:11332
+#: access/transam/xlog.c:11558
 #, 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."
 
-#: access/transam/xlog.c:11454 access/transam/xlogutils.c:719
-#: replication/walreceiver.c:1005 replication/walsender.c:2067
+#: access/transam/xlog.c:11682 access/transam/xlogutils.c:726
+#: replication/walreceiver.c:1025 replication/walsender.c:2413
 #, c-format
 msgid "could not seek in log segment %s to offset %u: %m"
 msgstr "konnte Positionszeiger von Logsegment %s nicht auf %u setzen: %m"
 
-#: access/transam/xlog.c:11466
+#: access/transam/xlog.c:11696
 #, c-format
 msgid "could not read from log segment %s, offset %u: %m"
 msgstr "konnte nicht aus Logsegment %s, Position %u lesen: %m"
 
-#: access/transam/xlog.c:11940
+#: access/transam/xlog.c:12225
 #, c-format
 msgid "received promote request"
 msgstr "Anforderung zum Befördern empfangen"
 
-#: access/transam/xlog.c:11953
+#: access/transam/xlog.c:12238
 #, c-format
 msgid "trigger file found: %s"
 msgstr "Triggerdatei gefunden: %s"
 
-#: access/transam/xlog.c:11962
+#: access/transam/xlog.c:12247
 #, c-format
 msgid "could not stat trigger file \"%s\": %m"
 msgstr "konnte »stat« für Trigger-Datei »%s« nicht ausführen: %m"
 
-#: access/transam/xlogarchive.c:243
+#: access/transam/xlogarchive.c:244
 #, c-format
 msgid "archive file \"%s\" has wrong size: %lu instead of %lu"
 msgstr "Archivdatei »%s« hat falsche Größe: %lu statt %lu"
 
-#: access/transam/xlogarchive.c:252
+#: access/transam/xlogarchive.c:253
 #, c-format
 msgid "restored log file \"%s\" from archive"
 msgstr "Logdatei »%s« aus Archiv wiederhergestellt"
 
-#: access/transam/xlogarchive.c:302
+#: access/transam/xlogarchive.c:303
 #, c-format
 msgid "could not restore file \"%s\" from archive: %s"
 msgstr "konnte Datei »%s« nicht aus Archiv wiederherstellen: %s"
@@ -2750,125 +2658,115 @@ msgstr "konnte Datei »%s« nicht aus Archiv wiederherstellen: %s"
 #. translator: First %s represents a recovery.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:414
+#: access/transam/xlogarchive.c:416
 #, c-format
 msgid "%s \"%s\": %s"
 msgstr "%s »%s«: %s"
 
-#: access/transam/xlogarchive.c:457 postmaster/syslogger.c:1415
-#: replication/logical/snapbuild.c:1618 replication/slot.c:517
-#: replication/slot.c:1029 replication/slot.c:1137 storage/file/fd.c:642
-#: storage/file/fd.c:700 utils/time/snapmgr.c:1298
+#: access/transam/xlogarchive.c:459 postmaster/syslogger.c:1416
+#: replication/logical/snapbuild.c:1644 replication/slot.c:590
+#: replication/slot.c:1191 replication/slot.c:1303 storage/file/fd.c:650
+#: storage/file/fd.c:745 utils/time/snapmgr.c:1318
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "konnte Datei »%s« nicht in »%s« umbenennen: %m"
 
-#: access/transam/xlogarchive.c:524 access/transam/xlogarchive.c:588
+#: access/transam/xlogarchive.c:526 access/transam/xlogarchive.c:590
 #, c-format
 msgid "could not create archive status file \"%s\": %m"
 msgstr "konnte Archivstatusdatei »%s« nicht erstellen: %m"
 
-#: access/transam/xlogarchive.c:532 access/transam/xlogarchive.c:596
+#: access/transam/xlogarchive.c:534 access/transam/xlogarchive.c:598
 #, c-format
 msgid "could not write archive status file \"%s\": %m"
 msgstr "konnte Archivstatusdatei »%s« nicht schreiben: %m"
 
-#: access/transam/xlogfuncs.c:57
+#: access/transam/xlogfuncs.c:54
 #, 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"
 
-#: access/transam/xlogfuncs.c:87
+#: access/transam/xlogfuncs.c:84
 #, c-format
 msgid "a backup is already in progress in this session"
 msgstr "ein Backup läuft bereits in dieser Sitzung"
 
-#: access/transam/xlogfuncs.c:93 commands/tablespace.c:703
-#: commands/tablespace.c:713 postmaster/postmaster.c:1434
-#: replication/basebackup.c:368 replication/basebackup.c:708
-#: storage/file/copydir.c:53 storage/file/copydir.c:96 storage/file/fd.c:2369
-#: storage/file/fd.c:2968 storage/ipc/dsm.c:301 utils/adt/genfile.c:439
-#: utils/adt/misc.c:410 utils/misc/tzparser.c:339
-#, c-format
-msgid "could not open directory \"%s\": %m"
-msgstr "konnte Verzeichnis »%s« nicht öffnen: %m"
-
-#: access/transam/xlogfuncs.c:154 access/transam/xlogfuncs.c:228
+#: access/transam/xlogfuncs.c:142 access/transam/xlogfuncs.c:224
 #, c-format
 msgid "non-exclusive backup in progress"
 msgstr "es läuft ein nicht-exklusives Backup"
 
-#: access/transam/xlogfuncs.c:155 access/transam/xlogfuncs.c:229
+#: access/transam/xlogfuncs.c:143 access/transam/xlogfuncs.c:225
 #, c-format
 msgid "Did you mean to use pg_stop_backup('f')?"
 msgstr "Meinten Sie pg_stop_backup('f')?"
 
-#: access/transam/xlogfuncs.c:199 commands/event_trigger.c:1450
-#: commands/event_trigger.c:2001 commands/extension.c:1889
-#: commands/extension.c:1998 commands/extension.c:2222 commands/prepare.c:718
-#: executor/execQual.c:1312 executor/functions.c:1024 foreign/foreign.c:488
-#: libpq/hba.c:2414 replication/logical/launcher.c:680
-#: replication/logical/logicalfuncs.c:176 replication/logical/origin.c:1384
-#: replication/slotfuncs.c:196 replication/walsender.c:2716
-#: utils/adt/jsonfuncs.c:1484 utils/adt/jsonfuncs.c:1614
-#: utils/adt/jsonfuncs.c:1802 utils/adt/jsonfuncs.c:1929
-#: utils/adt/jsonfuncs.c:2695 utils/adt/pgstatfuncs.c:454
-#: utils/adt/pgstatfuncs.c:555 utils/fmgr/funcapi.c:62 utils/misc/guc.c:8501
-#: utils/mmgr/portalmem.c:1053
+#: access/transam/xlogfuncs.c:195 commands/event_trigger.c:1464
+#: commands/event_trigger.c:2015 commands/extension.c:1895
+#: commands/extension.c:2004 commands/extension.c:2228 commands/prepare.c:722
+#: executor/execExpr.c:2208 executor/execSRF.c:715 executor/functions.c:1034
+#: foreign/foreign.c:488 libpq/hba.c:2600 replication/logical/launcher.c:1027
+#: replication/logical/logicalfuncs.c:176 replication/logical/origin.c:1442
+#: replication/slotfuncs.c:200 replication/walsender.c:3182
+#: utils/adt/jsonfuncs.c:1701 utils/adt/jsonfuncs.c:1832
+#: utils/adt/jsonfuncs.c:2020 utils/adt/jsonfuncs.c:2147
+#: utils/adt/jsonfuncs.c:3567 utils/adt/pgstatfuncs.c:457
+#: utils/adt/pgstatfuncs.c:558 utils/fmgr/funcapi.c:62 utils/misc/guc.c:8808
+#: utils/mmgr/portalmem.c:1124
 #, 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"
 
-#: access/transam/xlogfuncs.c:203 commands/event_trigger.c:1454
-#: commands/event_trigger.c:2005 commands/extension.c:1893
-#: commands/extension.c:2002 commands/extension.c:2226 commands/prepare.c:722
-#: foreign/foreign.c:493 libpq/hba.c:2418 replication/logical/launcher.c:684
-#: replication/logical/logicalfuncs.c:180 replication/logical/origin.c:1388
-#: replication/slotfuncs.c:200 replication/walsender.c:2720
-#: utils/adt/pgstatfuncs.c:458 utils/adt/pgstatfuncs.c:559
-#: utils/misc/guc.c:8505 utils/misc/pg_config.c:44 utils/mmgr/portalmem.c:1057
+#: access/transam/xlogfuncs.c:199 commands/event_trigger.c:1468
+#: commands/event_trigger.c:2019 commands/extension.c:1899
+#: commands/extension.c:2008 commands/extension.c:2232 commands/prepare.c:726
+#: foreign/foreign.c:493 libpq/hba.c:2604 replication/logical/launcher.c:1031
+#: replication/logical/logicalfuncs.c:180 replication/logical/origin.c:1446
+#: replication/slotfuncs.c:204 replication/walsender.c:3186
+#: utils/adt/pgstatfuncs.c:461 utils/adt/pgstatfuncs.c:562
+#: utils/misc/guc.c:8812 utils/misc/pg_config.c:43 utils/mmgr/portalmem.c:1128
 #, 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"
 
-#: access/transam/xlogfuncs.c:246
+#: access/transam/xlogfuncs.c:241
 #, c-format
 msgid "non-exclusive backup is not in progress"
 msgstr "es läuft kein nicht-exklusives Backup"
 
-#: access/transam/xlogfuncs.c:247
+#: access/transam/xlogfuncs.c:242
 #, c-format
 msgid "Did you mean to use pg_stop_backup('t')?"
 msgstr "Meinten Sie pg_stop_backup('t')?"
 
-#: access/transam/xlogfuncs.c:325
+#: access/transam/xlogfuncs.c:319
 #, c-format
 msgid "WAL level not sufficient for creating a restore point"
 msgstr "WAL-Level nicht ausreichend, um Restore-Punkt anzulegen"
 
-#: access/transam/xlogfuncs.c:333
+#: access/transam/xlogfuncs.c:327
 #, c-format
 msgid "value too long for restore point (maximum %d characters)"
 msgstr "Wert zu lang für Restore-Punkt (maximal %d Zeichen)"
 
-#: access/transam/xlogfuncs.c:471
+#: access/transam/xlogfuncs.c:465
 #, c-format
 msgid "pg_walfile_name_offset() cannot be executed during recovery."
 msgstr "pg_walfile_name_offset() kann nicht während der Wiederherstellung ausgeführt werden."
 
-#: access/transam/xlogfuncs.c:527
+#: access/transam/xlogfuncs.c:521
 #, c-format
 msgid "pg_walfile_name() cannot be executed during recovery."
 msgstr "pg_walfile_name() kann nicht während der Wiederherstellung ausgeführt werden."
 
-#: access/transam/xlogfuncs.c:547 access/transam/xlogfuncs.c:567
-#: access/transam/xlogfuncs.c:584
+#: access/transam/xlogfuncs.c:541 access/transam/xlogfuncs.c:561
+#: access/transam/xlogfuncs.c:578
 #, c-format
 msgid "recovery is not in progress"
 msgstr "Wiederherstellung läuft nicht"
 
-#: access/transam/xlogfuncs.c:548 access/transam/xlogfuncs.c:568
-#: access/transam/xlogfuncs.c:585
+#: access/transam/xlogfuncs.c:542 access/transam/xlogfuncs.c:562
+#: access/transam/xlogfuncs.c:579
 #, c-format
 msgid "Recovery control functions can only be executed during recovery."
 msgstr "Wiederherstellungskontrollfunktionen können nur während der Wiederherstellung ausgeführt werden."
@@ -2883,7 +2781,7 @@ msgstr "ungültiger Datensatz-Offset bei %X/%X"
 msgid "contrecord is requested by %X/%X"
 msgstr "Contrecord angefordert von %X/%X"
 
-#: access/transam/xlogreader.c:325 access/transam/xlogreader.c:625
+#: access/transam/xlogreader.c:325 access/transam/xlogreader.c:623
 #, 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"
@@ -2903,713 +2801,838 @@ msgstr "keine Contrecord-Flag bei %X/%X"
 msgid "invalid contrecord length %u at %X/%X"
 msgstr "ungültige Contrecord-Länge %u bei %X/%X"
 
-#: access/transam/xlogreader.c:633
+#: access/transam/xlogreader.c:631
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "ungültige Resource-Manager-ID %u bei %X/%X"
 
-#: access/transam/xlogreader.c:647 access/transam/xlogreader.c:664
+#: access/transam/xlogreader.c:645 access/transam/xlogreader.c:662
 #, c-format
 msgid "record with incorrect prev-link %X/%X at %X/%X"
 msgstr "Datensatz mit falschem Prev-Link %X/%X bei %X/%X"
 
-#: access/transam/xlogreader.c:701
+#: access/transam/xlogreader.c:699
 #, 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"
 
-#: access/transam/xlogreader.c:734
+#: access/transam/xlogreader.c:736
 #, c-format
 msgid "invalid magic number %04X in log segment %s, offset %u"
 msgstr "ungültige magische Zahl %04X in Logsegment %s, Offset %u"
 
-#: access/transam/xlogreader.c:748 access/transam/xlogreader.c:799
+#: access/transam/xlogreader.c:750 access/transam/xlogreader.c:801
 #, c-format
 msgid "invalid info bits %04X in log segment %s, offset %u"
 msgstr "ungültige Info-Bits %04X in Logsegment %s, Offset %u"
 
-#: access/transam/xlogreader.c:774
+#: access/transam/xlogreader.c:776
 #, c-format
 msgid "WAL file is from different database system: WAL file database system identifier is %s, pg_control database system identifier is %s"
 msgstr "WAL-Datei ist von einem anderen Datenbanksystem: Datenbanksystemidentifikator in WAL-Datei ist %s, Datenbanksystemidentifikator in pg_control ist %s"
 
-#: access/transam/xlogreader.c:781
+#: access/transam/xlogreader.c:783
 #, c-format
-msgid "WAL file is from different database system: incorrect XLOG_SEG_SIZE in page header"
-msgstr "WAL-Datei ist von einem anderen Datenbanksystem: Falsche XLOG_SEG_SIZE im Seitenkopf"
+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/xlogreader.c:787
+#: access/transam/xlogreader.c:789
 #, 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"
+msgstr "WAL-Datei ist von einem anderen Datenbanksystem: falsche XLOG_BLCKSZ im Seitenkopf"
 
-#: access/transam/xlogreader.c:813
+#: access/transam/xlogreader.c:820
 #, c-format
 msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
 msgstr "unerwartete Pageaddr %X/%X in Logsegment %s, Offset %u"
 
-#: access/transam/xlogreader.c:838
+#: access/transam/xlogreader.c:845
 #, 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"
 
-#: access/transam/xlogreader.c:1083
+#: access/transam/xlogreader.c:1090
 #, c-format
 msgid "out-of-order block_id %u at %X/%X"
 msgstr "block_id %u außer der Reihe bei %X/%X"
 
-#: access/transam/xlogreader.c:1106
+#: access/transam/xlogreader.c:1113
 #, 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"
 
-#: access/transam/xlogreader.c:1113
+#: access/transam/xlogreader.c:1120
 #, 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"
 
-#: access/transam/xlogreader.c:1149
+#: access/transam/xlogreader.c:1156
 #, 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"
 
-#: access/transam/xlogreader.c:1165
+#: access/transam/xlogreader.c:1172
 #, 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"
 
-#: access/transam/xlogreader.c:1180
+#: access/transam/xlogreader.c:1187
 #, 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"
 
-#: access/transam/xlogreader.c:1195
+#: access/transam/xlogreader.c:1202
 #, 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"
 
-#: access/transam/xlogreader.c:1211
+#: access/transam/xlogreader.c:1218
 #, 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"
 
-#: access/transam/xlogreader.c:1223
+#: access/transam/xlogreader.c:1230
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "ungültige block_id %u bei %X/%X"
 
-#: access/transam/xlogreader.c:1291
+#: access/transam/xlogreader.c:1319
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "Datensatz mit ungültiger Länge bei %X/%X"
 
-#: access/transam/xlogreader.c:1380
+#: access/transam/xlogreader.c:1408
 #, c-format
 msgid "invalid compressed image at %X/%X, block %d"
 msgstr "ungültiges komprimiertes Abbild bei %X/%X, Block %d"
 
-#: access/transam/xlogutils.c:740 replication/walsender.c:2084
+#: access/transam/xlogutils.c:749 replication/walsender.c:2432
 #, c-format
 msgid "could not read from log segment %s, offset %u, length %lu: %m"
 msgstr "konnte nicht aus Logsegment %s bei Position %u, Länge %lu lesen: %m"
 
-#: bootstrap/bootstrap.c:271 postmaster/postmaster.c:801 tcop/postgres.c:3489
+#: bootstrap/bootstrap.c:268
+#, 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:285 postmaster/postmaster.c:826 tcop/postgres.c:3552
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s benötigt einen Wert"
 
-#: bootstrap/bootstrap.c:276 postmaster/postmaster.c:806 tcop/postgres.c:3494
+#: bootstrap/bootstrap.c:290 postmaster/postmaster.c:831 tcop/postgres.c:3557
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s benötigt einen Wert"
 
-#: bootstrap/bootstrap.c:287 postmaster/postmaster.c:818
-#: postmaster/postmaster.c:831
+#: bootstrap/bootstrap.c:301 postmaster/postmaster.c:843
+#: postmaster/postmaster.c:856
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Versuchen Sie »%s --help« für weitere Informationen.\n"
 
-#: bootstrap/bootstrap.c:296
+#: bootstrap/bootstrap.c:310
 #, c-format
 msgid "%s: invalid command-line arguments\n"
 msgstr "%s: ungültige Kommandozeilenargumente\n"
 
-#: catalog/aclchk.c:202
+#: catalog/aclchk.c:203
 #, c-format
 msgid "grant options can only be granted to roles"
 msgstr "Grant-Optionen können nur Rollen gewährt werden"
 
-#: catalog/aclchk.c:325
+#: catalog/aclchk.c:326
 #, 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:330
+#: catalog/aclchk.c:331
 #, c-format
 msgid "no privileges were granted for \"%s\""
 msgstr "es wurden keine Privilegien für »%s« gewährt"
 
-#: catalog/aclchk.c:338
+#: catalog/aclchk.c:339
 #, 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:343
+#: catalog/aclchk.c:344
 #, c-format
 msgid "not all privileges were granted for \"%s\""
 msgstr "es wurden nicht alle Priviligien für »%s« gewährt"
 
-#: catalog/aclchk.c:354
+#: catalog/aclchk.c:355
 #, 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:359
+#: catalog/aclchk.c:360
 #, c-format
 msgid "no privileges could be revoked for \"%s\""
 msgstr "es konnten keine Privilegien für »%s« entzogen werden"
 
-#: catalog/aclchk.c:367
+#: catalog/aclchk.c:368
 #, 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:372
+#: catalog/aclchk.c:373
 #, 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:454 catalog/aclchk.c:947
+#: catalog/aclchk.c:456 catalog/aclchk.c:995
 #, c-format
 msgid "invalid privilege type %s for relation"
 msgstr "ungültiger Privilegtyp %s für Relation"
 
-#: catalog/aclchk.c:458 catalog/aclchk.c:951
+#: catalog/aclchk.c:460 catalog/aclchk.c:999
 #, c-format
 msgid "invalid privilege type %s for sequence"
 msgstr "ungültiger Privilegtyp %s für Sequenz"
 
-#: catalog/aclchk.c:462
+#: catalog/aclchk.c:464
 #, c-format
 msgid "invalid privilege type %s for database"
 msgstr "ungültiger Privilegtyp %s für Datenbank"
 
-#: catalog/aclchk.c:466
+#: catalog/aclchk.c:468
 #, c-format
 msgid "invalid privilege type %s for domain"
 msgstr "ungültiger Privilegtyp %s für Domäne"
 
-#: catalog/aclchk.c:470 catalog/aclchk.c:955
+#: catalog/aclchk.c:472 catalog/aclchk.c:1003
 #, c-format
 msgid "invalid privilege type %s for function"
 msgstr "ungültiger Privilegtyp %s für Funktion"
 
-#: catalog/aclchk.c:474
+#: catalog/aclchk.c:476
 #, c-format
 msgid "invalid privilege type %s for language"
 msgstr "ungültiger Privilegtyp %s für Sprache"
 
-#: catalog/aclchk.c:478
+#: catalog/aclchk.c:480
 #, c-format
 msgid "invalid privilege type %s for large object"
 msgstr "ungültiger Privilegtyp %s für Large Object"
 
-#: catalog/aclchk.c:482
+#: catalog/aclchk.c:484 catalog/aclchk.c:1019
 #, c-format
 msgid "invalid privilege type %s for schema"
 msgstr "ungültiger Privilegtyp %s für Schema"
 
-#: catalog/aclchk.c:486
+#: catalog/aclchk.c:488 catalog/aclchk.c:1007
+#, c-format
+msgid "invalid privilege type %s for procedure"
+msgstr "ungültiger Privilegtyp %s für Prozedur"
+
+#: catalog/aclchk.c:492 catalog/aclchk.c:1011
+#, c-format
+msgid "invalid privilege type %s for routine"
+msgstr "ungültiger Privilegtyp %s für Routine"
+
+#: catalog/aclchk.c:496
 #, c-format
 msgid "invalid privilege type %s for tablespace"
 msgstr "ungültiger Privilegtyp %s für Tablespace"
 
-#: catalog/aclchk.c:490 catalog/aclchk.c:959
+#: catalog/aclchk.c:500 catalog/aclchk.c:1015
 #, c-format
 msgid "invalid privilege type %s for type"
 msgstr "ungültiger Privilegtyp %s für Typ"
 
-#: catalog/aclchk.c:494
+#: catalog/aclchk.c:504
 #, 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:508
 #, 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:547
 #, c-format
 msgid "column privileges are only valid for relations"
 msgstr "Spaltenprivilegien sind nur für Relation gültig"
 
-#: catalog/aclchk.c:695 catalog/aclchk.c:3900 catalog/aclchk.c:4682
-#: catalog/objectaddress.c:912 catalog/pg_largeobject.c:111
-#: storage/large_object/inv_api.c:291
+#: catalog/aclchk.c:707 catalog/aclchk.c:4131 catalog/aclchk.c:4913
+#: catalog/objectaddress.c:928 catalog/pg_largeobject.c:111
+#: storage/large_object/inv_api.c:284
 #, c-format
 msgid "large object %u does not exist"
 msgstr "Large Object %u existiert nicht"
 
-#: catalog/aclchk.c:884 catalog/aclchk.c:893 commands/collationcmds.c:92
-#: commands/copy.c:1039 commands/copy.c:1059 commands/copy.c:1068
-#: commands/copy.c:1077 commands/copy.c:1086 commands/copy.c:1095
-#: commands/copy.c:1104 commands/copy.c:1113 commands/copy.c:1122
-#: commands/copy.c:1140 commands/copy.c:1156 commands/copy.c:1176
-#: commands/copy.c:1193 commands/dbcommands.c:155 commands/dbcommands.c:164
+#: catalog/aclchk.c:932 catalog/aclchk.c:941 commands/collationcmds.c:113
+#: commands/copy.c:1057 commands/copy.c:1077 commands/copy.c:1086
+#: commands/copy.c:1095 commands/copy.c:1104 commands/copy.c:1113
+#: commands/copy.c:1122 commands/copy.c:1131 commands/copy.c:1140
+#: commands/copy.c:1158 commands/copy.c:1174 commands/copy.c:1194
+#: commands/copy.c:1211 commands/dbcommands.c:155 commands/dbcommands.c:164
 #: commands/dbcommands.c:173 commands/dbcommands.c:182
 #: commands/dbcommands.c:191 commands/dbcommands.c:200
 #: commands/dbcommands.c:209 commands/dbcommands.c:218
-#: commands/dbcommands.c:227 commands/dbcommands.c:1419
-#: commands/dbcommands.c:1428 commands/dbcommands.c:1437
-#: commands/dbcommands.c:1446 commands/extension.c:1672
-#: commands/extension.c:1682 commands/extension.c:1692
-#: commands/extension.c:1702 commands/extension.c:2942
+#: commands/dbcommands.c:227 commands/dbcommands.c:1427
+#: commands/dbcommands.c:1436 commands/dbcommands.c:1445
+#: commands/dbcommands.c:1454 commands/extension.c:1678
+#: commands/extension.c:1688 commands/extension.c:1698
+#: commands/extension.c:1708 commands/extension.c:2949
 #: commands/foreigncmds.c:537 commands/foreigncmds.c:546
-#: commands/functioncmds.c:526 commands/functioncmds.c:643
-#: commands/functioncmds.c:652 commands/functioncmds.c:661
-#: commands/functioncmds.c:670 commands/functioncmds.c:2076
-#: commands/functioncmds.c:2084 commands/publicationcmds.c:89
-#: commands/publicationcmds.c:99 commands/publicationcmds.c:109
-#: commands/publicationcmds.c:119 commands/publicationcmds.c:129
-#: commands/publicationcmds.c:139 commands/sequence.c:1247
-#: commands/sequence.c:1256 commands/sequence.c:1265 commands/sequence.c:1274
-#: commands/sequence.c:1283 commands/sequence.c:1292 commands/sequence.c:1301
-#: commands/sequence.c:1310 commands/sequence.c:1319
-#: commands/subscriptioncmds.c:83 commands/subscriptioncmds.c:92
-#: commands/subscriptioncmds.c:101 commands/subscriptioncmds.c:111
-#: commands/subscriptioncmds.c:121 commands/subscriptioncmds.c:131
-#: commands/subscriptioncmds.c:141 commands/typecmds.c:298
-#: commands/typecmds.c:1375 commands/typecmds.c:1384 commands/typecmds.c:1392
-#: commands/typecmds.c:1400 commands/typecmds.c:1408 commands/user.c:138
-#: commands/user.c:161 commands/user.c:170 commands/user.c:179
-#: commands/user.c:188 commands/user.c:197 commands/user.c:206
-#: commands/user.c:215 commands/user.c:224 commands/user.c:233
-#: commands/user.c:242 commands/user.c:251 commands/user.c:260
-#: commands/user.c:547 commands/user.c:564 commands/user.c:572
-#: commands/user.c:580 commands/user.c:588 commands/user.c:596
-#: commands/user.c:604 commands/user.c:612 commands/user.c:621
-#: commands/user.c:629 commands/user.c:637 replication/pgoutput/pgoutput.c:107
-#: replication/pgoutput/pgoutput.c:128
+#: commands/functioncmds.c:557 commands/functioncmds.c:682
+#: commands/functioncmds.c:691 commands/functioncmds.c:700
+#: commands/functioncmds.c:709 commands/functioncmds.c:2103
+#: commands/functioncmds.c:2111 commands/publicationcmds.c:92
+#: commands/sequence.c:1256 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/subscriptioncmds.c:110 commands/subscriptioncmds.c:120
+#: commands/subscriptioncmds.c:130 commands/subscriptioncmds.c:140
+#: commands/subscriptioncmds.c:154 commands/subscriptioncmds.c:165
+#: commands/subscriptioncmds.c:179 commands/tablecmds.c:6254
+#: commands/typecmds.c:295 commands/typecmds.c:1444 commands/typecmds.c:1453
+#: commands/typecmds.c:1461 commands/typecmds.c:1469 commands/typecmds.c:1477
+#: commands/user.c:134 commands/user.c:148 commands/user.c:157
+#: commands/user.c:166 commands/user.c:175 commands/user.c:184
+#: commands/user.c:193 commands/user.c:202 commands/user.c:211
+#: commands/user.c:220 commands/user.c:229 commands/user.c:238
+#: commands/user.c:247 commands/user.c:555 commands/user.c:563
+#: commands/user.c:571 commands/user.c:579 commands/user.c:587
+#: commands/user.c:595 commands/user.c:603 commands/user.c:611
+#: commands/user.c:620 commands/user.c:628 commands/user.c:636
+#: parser/parse_utilcmd.c:407 replication/pgoutput/pgoutput.c:111
+#: replication/pgoutput/pgoutput.c:132 replication/walsender.c:801
+#: replication/walsender.c:812 replication/walsender.c:822
 #, c-format
 msgid "conflicting or redundant options"
 msgstr "widersprüchliche oder überflüssige Optionen"
 
-#: catalog/aclchk.c:992
+#: catalog/aclchk.c:1052
 #, c-format
 msgid "default privileges cannot be set for columns"
 msgstr "Vorgabeprivilegien können nicht für Spalten gesetzt werden"
 
-#: catalog/aclchk.c:1503 catalog/objectaddress.c:1367 commands/analyze.c:384
-#: commands/copy.c:4657 commands/sequence.c:1625 commands/tablecmds.c:5533
-#: commands/tablecmds.c:5694 commands/tablecmds.c:5751
-#: commands/tablecmds.c:5865 commands/tablecmds.c:5919
-#: commands/tablecmds.c:6011 commands/tablecmds.c:6167
-#: commands/tablecmds.c:8386 commands/tablecmds.c:8662
-#: commands/tablecmds.c:9079 commands/trigger.c:732 parser/analyze.c:2305
-#: parser/parse_relation.c:2575 parser/parse_relation.c:2637
-#: parser/parse_target.c:1001 parser/parse_type.c:127 utils/adt/acl.c:2823
-#: utils/adt/ruleutils.c:2188
+#: catalog/aclchk.c:1212
+#, 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:1576 catalog/objectaddress.c:1390 commands/analyze.c:433
+#: commands/copy.c:4777 commands/sequence.c:1691 commands/tablecmds.c:5900
+#: commands/tablecmds.c:6048 commands/tablecmds.c:6105
+#: commands/tablecmds.c:6179 commands/tablecmds.c:6273
+#: commands/tablecmds.c:6332 commands/tablecmds.c:6471
+#: commands/tablecmds.c:6546 commands/tablecmds.c:6638
+#: commands/tablecmds.c:6732 commands/tablecmds.c:9066
+#: commands/tablecmds.c:9345 commands/tablecmds.c:9782 commands/trigger.c:904
+#: parser/analyze.c:2311 parser/parse_relation.c:2735
+#: parser/parse_relation.c:2798 parser/parse_target.c:1024
+#: parser/parse_type.c:127 utils/adt/acl.c:2843 utils/adt/ruleutils.c:2422
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "Spalte »%s« von Relation »%s« existiert nicht"
 
-#: catalog/aclchk.c:1769 catalog/objectaddress.c:1207 commands/sequence.c:1137
-#: commands/tablecmds.c:229 commands/tablecmds.c:12734 utils/adt/acl.c:2059
-#: utils/adt/acl.c:2089 utils/adt/acl.c:2121 utils/adt/acl.c:2153
-#: utils/adt/acl.c:2181 utils/adt/acl.c:2211
+#: catalog/aclchk.c:1843 catalog/objectaddress.c:1230 commands/sequence.c:1129
+#: commands/tablecmds.c:231 commands/tablecmds.c:13502 utils/adt/acl.c:2076
+#: utils/adt/acl.c:2106 utils/adt/acl.c:2138 utils/adt/acl.c:2170
+#: utils/adt/acl.c:2198 utils/adt/acl.c:2228
 #, c-format
 msgid "\"%s\" is not a sequence"
 msgstr "»%s« ist keine Sequenz"
 
-#: catalog/aclchk.c:1807
+#: catalog/aclchk.c:1881
 #, 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:1824
+#: catalog/aclchk.c:1898
 #, c-format
 msgid "invalid privilege type %s for table"
 msgstr "ungültiger Privilegtyp %s für Tabelle"
 
-#: catalog/aclchk.c:1990
+#: catalog/aclchk.c:2064
 #, c-format
 msgid "invalid privilege type %s for column"
 msgstr "ungültiger Privilegtyp %s für Spalte"
 
-#: catalog/aclchk.c:2003
+#: catalog/aclchk.c:2077
 #, c-format
 msgid "sequence \"%s\" only supports SELECT column privileges"
 msgstr "Sequenz »%s« unterstützt nur den Spaltenprivilegientyp SELECT"
 
-#: catalog/aclchk.c:2585
+#: catalog/aclchk.c:2659
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "Sprache »%s« ist nicht »trusted«"
 
-#: catalog/aclchk.c:2587
+#: catalog/aclchk.c:2661
 #, 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:3101
+#: catalog/aclchk.c:3175
 #, c-format
 msgid "cannot set privileges of array types"
 msgstr "für Array-Typen können keine Privilegien gesetzt werden"
 
-#: catalog/aclchk.c:3102
+#: catalog/aclchk.c:3176
 #, c-format
 msgid "Set the privileges of the element type instead."
 msgstr "Setzen Sie stattdessen die Privilegien des Elementtyps."
 
-#: catalog/aclchk.c:3109 catalog/objectaddress.c:1497 commands/typecmds.c:3165
+#: catalog/aclchk.c:3183 catalog/objectaddress.c:1520
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "»%s« ist keine Domäne"
 
-#: catalog/aclchk.c:3229
+#: catalog/aclchk.c:3303
 #, c-format
 msgid "unrecognized privilege type \"%s\""
 msgstr "unbekannter Privilegtyp »%s«"
 
-#: catalog/aclchk.c:3278
+#: catalog/aclchk.c:3364
 #, c-format
-msgid "permission denied for column %s"
-msgstr "keine Berechtigung für Spalte %s"
+msgid "permission denied for aggregate %s"
+msgstr "keine Berechtigung für Aggregatfunktion %s"
+
+#: catalog/aclchk.c:3367
+#, c-format
+msgid "permission denied for collation %s"
+msgstr "keine Berechtigung für Sortierfolge %s"
 
-#: catalog/aclchk.c:3280
+#: catalog/aclchk.c:3370
 #, c-format
-msgid "permission denied for relation %s"
-msgstr "keine Berechtigung für Relation %s"
+msgid "permission denied for column %s"
+msgstr "keine Berechtigung für Spalte %s"
 
-#: catalog/aclchk.c:3282 commands/sequence.c:599 commands/sequence.c:833
-#: commands/sequence.c:875 commands/sequence.c:916 commands/sequence.c:1671
-#: commands/sequence.c:1735
+#: catalog/aclchk.c:3373
 #, c-format
-msgid "permission denied for sequence %s"
-msgstr "keine Berechtigung für Sequenz %s"
+msgid "permission denied for conversion %s"
+msgstr "keine Berechtigung für Konversion %s"
 
-#: catalog/aclchk.c:3284
+#: catalog/aclchk.c:3376
 #, c-format
 msgid "permission denied for database %s"
 msgstr "keine Berechtigung für Datenbank %s"
 
-#: catalog/aclchk.c:3286
+#: catalog/aclchk.c:3379
 #, c-format
-msgid "permission denied for function %s"
-msgstr "keine Berechtigung für Funktion %s"
+msgid "permission denied for domain %s"
+msgstr "keine Berechtigung für Domäne %s"
 
-#: catalog/aclchk.c:3288
+#: catalog/aclchk.c:3382
 #, c-format
-msgid "permission denied for operator %s"
-msgstr "keine Berechtigung für Operator %s"
+msgid "permission denied for event trigger %s"
+msgstr "keine Berechtigung für Ereignistrigger %s"
 
-#: catalog/aclchk.c:3290
+#: catalog/aclchk.c:3385
 #, c-format
-msgid "permission denied for type %s"
-msgstr "keine Berechtigung für Typ %s"
+msgid "permission denied for extension %s"
+msgstr "keine Berechtigung für Erweiterung %s"
+
+#: catalog/aclchk.c:3388
+#, c-format
+msgid "permission denied for foreign-data wrapper %s"
+msgstr "keine Berechtigung für Fremddaten-Wrapper %s"
+
+#: catalog/aclchk.c:3391
+#, c-format
+msgid "permission denied for foreign server %s"
+msgstr "keine Berechtigung für Fremdserver %s"
+
+#: catalog/aclchk.c:3394
+#, c-format
+msgid "permission denied for foreign table %s"
+msgstr "keine Berechtigung für Fremdtabelle %s"
+
+#: catalog/aclchk.c:3397
+#, c-format
+msgid "permission denied for function %s"
+msgstr "keine Berechtigung für Funktion %s"
 
-#: catalog/aclchk.c:3292
+#: catalog/aclchk.c:3400
+#, c-format
+msgid "permission denied for index %s"
+msgstr "keine Berechtigung für Index %s"
+
+#: catalog/aclchk.c:3403
 #, c-format
 msgid "permission denied for language %s"
 msgstr "keine Berechtigung für Sprache %s"
 
-#: catalog/aclchk.c:3294
+#: catalog/aclchk.c:3406
 #, c-format
 msgid "permission denied for large object %s"
 msgstr "keine Berechtigung für Large Object %s"
 
-#: catalog/aclchk.c:3296
+#: catalog/aclchk.c:3409
 #, c-format
-msgid "permission denied for schema %s"
-msgstr "keine Berechtigung für Schema %s"
+msgid "permission denied for materialized view %s"
+msgstr "keine Berechtigung für materialisierte Sicht %s"
 
-#: catalog/aclchk.c:3298
+#: catalog/aclchk.c:3412
 #, c-format
 msgid "permission denied for operator class %s"
 msgstr "keine Berechtigung für Operatorklasse %s"
 
-#: catalog/aclchk.c:3300
+#: catalog/aclchk.c:3415
+#, c-format
+msgid "permission denied for operator %s"
+msgstr "keine Berechtigung für Operator %s"
+
+#: catalog/aclchk.c:3418
 #, c-format
 msgid "permission denied for operator family %s"
 msgstr "keine Berechtigung für Operatorfamilie %s"
 
-#: catalog/aclchk.c:3302
+#: catalog/aclchk.c:3421
 #, c-format
-msgid "permission denied for collation %s"
-msgstr "keine Berechtigung für Sortierfolge %s"
+msgid "permission denied for policy %s"
+msgstr "keine Berechtigung für Policy %s"
 
-#: catalog/aclchk.c:3304
+#: catalog/aclchk.c:3424
 #, c-format
-msgid "permission denied for conversion %s"
-msgstr "keine Berechtigung für Konversion %s"
+msgid "permission denied for procedure %s"
+msgstr "keine Berechtigung für Prozedur %s"
 
-#: catalog/aclchk.c:3306
+#: catalog/aclchk.c:3427
 #, c-format
-msgid "permission denied for tablespace %s"
-msgstr "keine Berechtigung für Tablespace %s"
+msgid "permission denied for publication %s"
+msgstr "keine Berechtigung für Publikation %s"
 
-#: catalog/aclchk.c:3308
+#: catalog/aclchk.c:3430
 #, c-format
-msgid "permission denied for text search dictionary %s"
-msgstr "keine Berechtigung für Textsuchewörterbuch %s"
+msgid "permission denied for routine %s"
+msgstr "keine Berechtigung für Routine %s"
 
-#: catalog/aclchk.c:3310
+#: catalog/aclchk.c:3433
 #, c-format
-msgid "permission denied for text search configuration %s"
-msgstr "keine Berechtigung für Textsuchekonfiguration %s"
+msgid "permission denied for schema %s"
+msgstr "keine Berechtigung für Schema %s"
 
-#: catalog/aclchk.c:3312
+#: catalog/aclchk.c:3436 commands/sequence.c:599 commands/sequence.c:833
+#: commands/sequence.c:875 commands/sequence.c:916 commands/sequence.c:1789
+#: commands/sequence.c:1853
 #, c-format
-msgid "permission denied for foreign-data wrapper %s"
-msgstr "keine Berechtigung für Fremddaten-Wrapper %s"
+msgid "permission denied for sequence %s"
+msgstr "keine Berechtigung für Sequenz %s"
 
-#: catalog/aclchk.c:3314
+#: catalog/aclchk.c:3439
 #, c-format
-msgid "permission denied for foreign server %s"
-msgstr "keine Berechtigung für Fremdserver %s"
+msgid "permission denied for statistics object %s"
+msgstr "keine Berechtigung für Statistikobjekt %s"
 
-#: catalog/aclchk.c:3316
+#: catalog/aclchk.c:3442
 #, c-format
-msgid "permission denied for event trigger %s"
-msgstr "keine Berechtigung für Ereignistrigger %s"
+msgid "permission denied for subscription %s"
+msgstr "keine Berechtigung für Subskription %s"
 
-#: catalog/aclchk.c:3318
+#: catalog/aclchk.c:3445
 #, c-format
-msgid "permission denied for extension %s"
-msgstr "keine Berechtigung für Erweiterung %s"
+msgid "permission denied for table %s"
+msgstr "keine Berechtigung für Tabelle %s"
 
-#: catalog/aclchk.c:3320
+#: catalog/aclchk.c:3448
 #, c-format
-msgid "permission denied for publication %s"
-msgstr "keine Berechtigung für Publikation %s"
+msgid "permission denied for tablespace %s"
+msgstr "keine Berechtigung für Tablespace %s"
 
-#: catalog/aclchk.c:3322
+#: catalog/aclchk.c:3451
 #, c-format
-msgid "permission denied for subscription %s"
-msgstr "keine Berechtigung für Subskription %s"
+msgid "permission denied for text search configuration %s"
+msgstr "keine Berechtigung für Textsuchekonfiguration %s"
 
-#: catalog/aclchk.c:3328 catalog/aclchk.c:3330
+#: catalog/aclchk.c:3454
 #, c-format
-msgid "must be owner of relation %s"
-msgstr "Berechtigung nur für Eigentümer der Relation %s"
+msgid "permission denied for text search dictionary %s"
+msgstr "keine Berechtigung für Textsuchewörterbuch %s"
 
-#: catalog/aclchk.c:3332
+#: catalog/aclchk.c:3457
 #, c-format
-msgid "must be owner of sequence %s"
-msgstr "Berechtigung nur für Eigentümer der Sequenz %s"
+msgid "permission denied for type %s"
+msgstr "keine Berechtigung für Typ %s"
+
+#: catalog/aclchk.c:3460
+#, c-format
+msgid "permission denied for view %s"
+msgstr "keine Berechtigung für Sicht %s"
+
+#: catalog/aclchk.c:3495
+#, c-format
+msgid "must be owner of aggregate %s"
+msgstr "Berechtigung nur für Eigentümer der Aggregatfunktion %s"
+
+#: catalog/aclchk.c:3498
+#, c-format
+msgid "must be owner of collation %s"
+msgstr "Berechtigung nur für Eigentümer der Sortierfolge %s"
+
+#: catalog/aclchk.c:3501
+#, c-format
+msgid "must be owner of conversion %s"
+msgstr "Berechtigung nur für Eigentümer der Konversion %s"
 
-#: catalog/aclchk.c:3334
+#: catalog/aclchk.c:3504
 #, c-format
 msgid "must be owner of database %s"
 msgstr "Berechtigung nur für Eigentümer der Datenbank %s"
 
-#: catalog/aclchk.c:3336
+#: catalog/aclchk.c:3507
 #, c-format
-msgid "must be owner of function %s"
-msgstr "Berechtigung nur für Eigentümer der Funktion %s"
+msgid "must be owner of domain %s"
+msgstr "Berechtigung nur für Eigentümer der Domäne %s"
 
-#: catalog/aclchk.c:3338
+#: catalog/aclchk.c:3510
 #, c-format
-msgid "must be owner of operator %s"
-msgstr "Berechtigung nur für Eigentümer des Operators %s"
+msgid "must be owner of event trigger %s"
+msgstr "Berechtigung nur für Eigentümer des Ereignistriggers %s"
 
-#: catalog/aclchk.c:3340
+#: catalog/aclchk.c:3513
 #, c-format
-msgid "must be owner of type %s"
-msgstr "Berechtigung nur für Eigentümer des Typs %s"
+msgid "must be owner of extension %s"
+msgstr "Berechtigung nur für Eigentümer der Erweiterung %s"
+
+#: catalog/aclchk.c:3516
+#, 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:3519
+#, c-format
+msgid "must be owner of foreign server %s"
+msgstr "Berechtigung nur für Eigentümer des Fremdservers %s"
 
-#: catalog/aclchk.c:3342
+#: catalog/aclchk.c:3522
+#, c-format
+msgid "must be owner of foreign table %s"
+msgstr "Berechtigung nur für Eigentümer der Fremdtabelle %s"
+
+#: catalog/aclchk.c:3525
+#, c-format
+msgid "must be owner of function %s"
+msgstr "Berechtigung nur für Eigentümer der Funktion %s"
+
+#: catalog/aclchk.c:3528
+#, c-format
+msgid "must be owner of index %s"
+msgstr "Berechtigung nur für Eigentümer des Index %s"
+
+#: catalog/aclchk.c:3531
 #, c-format
 msgid "must be owner of language %s"
 msgstr "Berechtigung nur für Eigentümer der Sprache %s"
 
-#: catalog/aclchk.c:3344
+#: catalog/aclchk.c:3534
 #, c-format
 msgid "must be owner of large object %s"
 msgstr "Berechtigung nur für Eigentümer des Large Object %s"
 
-#: catalog/aclchk.c:3346
+#: catalog/aclchk.c:3537
 #, c-format
-msgid "must be owner of schema %s"
-msgstr "Berechtigung nur für Eigentümer des Schemas %s"
+msgid "must be owner of materialized view %s"
+msgstr "Berechtigung nur für Eigentümer der materialisierten Sicht %s"
 
-#: catalog/aclchk.c:3348
+#: catalog/aclchk.c:3540
 #, c-format
 msgid "must be owner of operator class %s"
 msgstr "Berechtigung nur für Eigentümer der Operatorklasse %s"
 
-#: catalog/aclchk.c:3350
+#: catalog/aclchk.c:3543
+#, c-format
+msgid "must be owner of operator %s"
+msgstr "Berechtigung nur für Eigentümer des Operators %s"
+
+#: catalog/aclchk.c:3546
 #, c-format
 msgid "must be owner of operator family %s"
 msgstr "Berechtigung nur für Eigentümer der Operatorfamilie %s"
 
-#: catalog/aclchk.c:3352
+#: catalog/aclchk.c:3549
 #, c-format
-msgid "must be owner of collation %s"
-msgstr "Berechtigung nur für Eigentümer der Sortierfolge %s"
+msgid "must be owner of procedure %s"
+msgstr "Berechtigung nur für Eigentümer der Prozedur %s"
 
-#: catalog/aclchk.c:3354
+#: catalog/aclchk.c:3552
 #, c-format
-msgid "must be owner of conversion %s"
-msgstr "Berechtigung nur für Eigentümer der Konversion %s"
+msgid "must be owner of publication %s"
+msgstr "Berechtigung nur für Eigentümer der Publikation %s"
 
-#: catalog/aclchk.c:3356
+#: catalog/aclchk.c:3555
 #, c-format
-msgid "must be owner of tablespace %s"
-msgstr "Berechtigung nur für Eigentümer des Tablespace %s"
+msgid "must be owner of routine %s"
+msgstr "Berechtigung nur für Eigentümer der Routine %s"
 
-#: catalog/aclchk.c:3358
+#: catalog/aclchk.c:3558
 #, c-format
-msgid "must be owner of text search dictionary %s"
-msgstr "Berechtigung nur für Eigentümer des Textsuchewörterbuches %s"
+msgid "must be owner of sequence %s"
+msgstr "Berechtigung nur für Eigentümer der Sequenz %s"
 
-#: catalog/aclchk.c:3360
+#: catalog/aclchk.c:3561
 #, c-format
-msgid "must be owner of text search configuration %s"
-msgstr "Berechtigung nur für Eigentümer der Textsuchekonfiguration %s"
+msgid "must be owner of subscription %s"
+msgstr "Berechtigung nur für Eigentümer der Subskription %s"
 
-#: catalog/aclchk.c:3362
+#: catalog/aclchk.c:3564
 #, c-format
-msgid "must be owner of foreign-data wrapper %s"
-msgstr "Berechtigung nur für Eigentümer des Fremddaten-Wrappers %s"
+msgid "must be owner of table %s"
+msgstr "Berechtigung nur für Eigentümer der Tabelle %s"
 
-#: catalog/aclchk.c:3364
+#: catalog/aclchk.c:3567
 #, c-format
-msgid "must be owner of foreign server %s"
-msgstr "Berechtigung nur für Eigentümer des Fremdservers %s"
+msgid "must be owner of type %s"
+msgstr "Berechtigung nur für Eigentümer des Typs %s"
 
-#: catalog/aclchk.c:3366
+#: catalog/aclchk.c:3570
 #, c-format
-msgid "must be owner of event trigger %s"
-msgstr "Berechtigung nur für Eigentümer des Ereignistriggers %s"
+msgid "must be owner of view %s"
+msgstr "Berechtigung nur für Eigentümer der Sicht %s"
 
-#: catalog/aclchk.c:3368
+#: catalog/aclchk.c:3573
 #, c-format
-msgid "must be owner of extension %s"
-msgstr "Berechtigung nur für Eigentümer der Erweiterung %s"
+msgid "must be owner of schema %s"
+msgstr "Berechtigung nur für Eigentümer des Schemas %s"
 
-#: catalog/aclchk.c:3370
+#: catalog/aclchk.c:3576
 #, c-format
-msgid "must be owner of publication %s"
-msgstr "Berechtigung nur für Eigentümer der Publikation %s"
+msgid "must be owner of statistics object %s"
+msgstr "Berechtigung nur für Eigentümer des Statistikobjekts %s"
 
-#: catalog/aclchk.c:3372
+#: catalog/aclchk.c:3579
 #, c-format
-msgid "must be owner of subscription %s"
-msgstr "Berechtigung nur für Eigentümer der Subskription %s"
+msgid "must be owner of tablespace %s"
+msgstr "Berechtigung nur für Eigentümer des Tablespace %s"
+
+#: catalog/aclchk.c:3582
+#, c-format
+msgid "must be owner of text search configuration %s"
+msgstr "Berechtigung nur für Eigentümer der Textsuchekonfiguration %s"
+
+#: catalog/aclchk.c:3585
+#, 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:3599
+#, c-format
+msgid "must be owner of relation %s"
+msgstr "Berechtigung nur für Eigentümer der Relation %s"
 
-#: catalog/aclchk.c:3414
+#: catalog/aclchk.c:3643
 #, c-format
 msgid "permission denied for column \"%s\" of relation \"%s\""
 msgstr "keine Berechtigung für Spalte »%s« von Relation »%s«"
 
-#: catalog/aclchk.c:3533 catalog/aclchk.c:3541
+#: catalog/aclchk.c:3764 catalog/aclchk.c:3772
 #, 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:3614 catalog/aclchk.c:4533
+#: catalog/aclchk.c:3845 catalog/aclchk.c:4764
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "Relation mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:3713 catalog/aclchk.c:4951
+#: catalog/aclchk.c:3944 catalog/aclchk.c:5182
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "Datenbank mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:3767 catalog/aclchk.c:4611 tcop/fastpath.c:223
-#: utils/fmgr/fmgr.c:2428
+#: catalog/aclchk.c:3998 catalog/aclchk.c:4842 tcop/fastpath.c:221
+#: utils/fmgr/fmgr.c:2195
 #, c-format
 msgid "function with OID %u does not exist"
 msgstr "Funktion mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:3821 catalog/aclchk.c:4637
+#: catalog/aclchk.c:4052 catalog/aclchk.c:4868
 #, c-format
 msgid "language with OID %u does not exist"
 msgstr "Sprache mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:3985 catalog/aclchk.c:4709
+#: catalog/aclchk.c:4216 catalog/aclchk.c:4940
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "Schema mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4039 catalog/aclchk.c:4736
+#: catalog/aclchk.c:4270 catalog/aclchk.c:4967
 #, c-format
 msgid "tablespace with OID %u does not exist"
 msgstr "Tablespace mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4098 catalog/aclchk.c:4870 commands/foreigncmds.c:324
+#: catalog/aclchk.c:4329 catalog/aclchk.c:5101 commands/foreigncmds.c:324
 #, c-format
 msgid "foreign-data wrapper with OID %u does not exist"
 msgstr "Fremddaten-Wrapper mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4160 catalog/aclchk.c:4897 commands/foreigncmds.c:459
+#: catalog/aclchk.c:4391 catalog/aclchk.c:5128 commands/foreigncmds.c:459
 #, c-format
 msgid "foreign server with OID %u does not exist"
 msgstr "Fremdserver mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4220 catalog/aclchk.c:4559 utils/cache/typcache.c:238
+#: catalog/aclchk.c:4451 catalog/aclchk.c:4790 utils/cache/typcache.c:368
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "Typ mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4585
+#: catalog/aclchk.c:4816
 #, c-format
 msgid "operator with OID %u does not exist"
 msgstr "Operator mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4762
+#: catalog/aclchk.c:4993
 #, c-format
 msgid "operator class with OID %u does not exist"
 msgstr "Operatorklasse mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4789
+#: catalog/aclchk.c:5020
 #, c-format
 msgid "operator family with OID %u does not exist"
 msgstr "Operatorfamilie mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4816
+#: catalog/aclchk.c:5047
 #, c-format
 msgid "text search dictionary with OID %u does not exist"
 msgstr "Textsuchewörterbuch mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4843
+#: catalog/aclchk.c:5074
 #, c-format
 msgid "text search configuration with OID %u does not exist"
 msgstr "Textsuchekonfiguration mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4924 commands/event_trigger.c:587
+#: catalog/aclchk.c:5155 commands/event_trigger.c:590
 #, c-format
 msgid "event trigger with OID %u does not exist"
 msgstr "Ereignistrigger mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:4977
+#: catalog/aclchk.c:5208 commands/collationcmds.c:347
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "Sortierfolge mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5003
+#: catalog/aclchk.c:5234
 #, c-format
 msgid "conversion with OID %u does not exist"
 msgstr "Konversion mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5044
+#: catalog/aclchk.c:5275
 #, c-format
 msgid "extension with OID %u does not exist"
 msgstr "Erweiterung mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5071 commands/publicationcmds.c:746
+#: catalog/aclchk.c:5302 commands/publicationcmds.c:747
 #, c-format
 msgid "publication with OID %u does not exist"
 msgstr "Publikation mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:5097 commands/subscriptioncmds.c:682
+#: catalog/aclchk.c:5328 commands/subscriptioncmds.c:1098
 #, c-format
 msgid "subscription with OID %u does not exist"
 msgstr "Subskription mit OID %u existiert nicht"
 
+#: catalog/aclchk.c:5354
+#, c-format
+msgid "statistics object with OID %u does not exist"
+msgstr "Statistikobjekt mit OID %u existiert nicht"
+
 #: catalog/dependency.c:611
 #, c-format
 msgid "cannot drop %s because %s requires it"
@@ -3620,27 +3643,27 @@ msgstr "kann %s nicht löschen, wird von %s benötigt"
 msgid "You can drop %s instead."
 msgstr "Sie können stattdessen %s löschen."
 
-#: catalog/dependency.c:777 catalog/pg_shdepend.c:573
+#: catalog/dependency.c:787 catalog/pg_shdepend.c:574
 #, 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:895
+#: catalog/dependency.c:905
 #, c-format
 msgid "drop auto-cascades to %s"
 msgstr "Löschvorgang löscht automatisch %s"
 
-#: catalog/dependency.c:907 catalog/dependency.c:916
+#: catalog/dependency.c:917 catalog/dependency.c:926
 #, c-format
 msgid "%s depends on %s"
 msgstr "%s hängt von %s ab"
 
-#: catalog/dependency.c:928 catalog/dependency.c:937
+#: catalog/dependency.c:938 catalog/dependency.c:947
 #, c-format
 msgid "drop cascades to %s"
 msgstr "Löschvorgang löscht ebenfalls %s"
 
-#: catalog/dependency.c:945 catalog/pg_shdepend.c:684
+#: catalog/dependency.c:955 catalog/pg_shdepend.c:685
 #, c-format
 msgid ""
 "\n"
@@ -3655,617 +3678,628 @@ msgstr[1] ""
 "\n"
 "und %d weitere Objekte (Liste im Serverlog)"
 
-#: catalog/dependency.c:957
+#: catalog/dependency.c:967
 #, 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:961 catalog/dependency.c:968
+#: catalog/dependency.c:971 catalog/dependency.c:978
 #, 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:965
+#: catalog/dependency.c:975
 #, 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:974
+#: catalog/dependency.c:984
 #, 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:1616
-#, fuzzy, c-format
-#| msgid "constant of the type \"regrole\" cannot be used here"
+#: catalog/dependency.c:1644
+#, c-format
 msgid "constant of the type %s cannot be used here"
-msgstr "Konstante vom Typ »regrole« kann hier nicht verwendet werden"
+msgstr "Konstante vom Typ %s kann hier nicht verwendet werden"
 
-#: catalog/heap.c:281
+#: catalog/heap.c:286
 #, c-format
 msgid "permission denied to create \"%s.%s\""
 msgstr "keine Berechtigung, um »%s.%s« zu erzeugen"
 
-#: catalog/heap.c:283
+#: catalog/heap.c:288
 #, c-format
 msgid "System catalog modifications are currently disallowed."
 msgstr "Änderungen an Systemkatalogen sind gegenwärtig nicht erlaubt."
 
-#: catalog/heap.c:418 commands/tablecmds.c:1619 commands/tablecmds.c:2122
-#: commands/tablecmds.c:5144
+#: catalog/heap.c:425 commands/tablecmds.c:1861 commands/tablecmds.c:2372
+#: commands/tablecmds.c:5467
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "Tabellen können höchstens %d Spalten haben"
 
-#: catalog/heap.c:435 commands/tablecmds.c:5402
+#: catalog/heap.c:444 commands/tablecmds.c:5763
 #, 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:451
+#: catalog/heap.c:460
 #, c-format
 msgid "column name \"%s\" specified more than once"
 msgstr "Spaltenname »%s« mehrmals angegeben"
 
-#: catalog/heap.c:504
+#: catalog/heap.c:513
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "Spalte »%s« hat Pseudotyp %s"
 
-#: catalog/heap.c:534
+#: catalog/heap.c:543
 #, c-format
 msgid "composite type %s cannot be made a member of itself"
 msgstr "zusammengesetzter Typ %s kann nicht Teil von sich selbst werden"
 
-#: catalog/heap.c:576 commands/createas.c:201 commands/createas.c:497
+#: catalog/heap.c:585 commands/createas.c:201 commands/createas.c:498
 #, 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:578 commands/createas.c:204 commands/createas.c:500
-#: commands/indexcmds.c:1141 commands/tablecmds.c:13000 commands/view.c:103
-#: regex/regc_pg_locale.c:262 utils/adt/formatting.c:1500
-#: utils/adt/formatting.c:1552 utils/adt/formatting.c:1620
-#: utils/adt/formatting.c:1672 utils/adt/formatting.c:1741
-#: utils/adt/formatting.c:1805 utils/adt/like.c:213 utils/adt/selfuncs.c:5332
-#: utils/adt/varlena.c:1422 utils/adt/varlena.c:1827
+#: catalog/heap.c:587 commands/createas.c:204 commands/createas.c:501
+#: commands/indexcmds.c:1557 commands/tablecmds.c:13803 commands/view.c:103
+#: regex/regc_pg_locale.c:263 utils/adt/formatting.c:1536
+#: utils/adt/formatting.c:1658 utils/adt/formatting.c:1781 utils/adt/like.c:184
+#: utils/adt/selfuncs.c:5807 utils/adt/varlena.c:1416 utils/adt/varlena.c:1881
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Verwenden Sie die COLLATE-Klausel, um die Sortierfolge explizit zu setzen."
 
-#: catalog/heap.c:1063 catalog/index.c:806 commands/tablecmds.c:2903
+#: catalog/heap.c:1076 catalog/index.c:864 commands/tablecmds.c:3141
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "Relation »%s« existiert bereits"
 
-#: catalog/heap.c:1079 catalog/pg_type.c:410 catalog/pg_type.c:717
-#: commands/typecmds.c:239 commands/typecmds.c:788 commands/typecmds.c:1139
-#: commands/typecmds.c:1350 commands/typecmds.c:2106
+#: catalog/heap.c:1092 catalog/pg_type.c:409 catalog/pg_type.c:731
+#: commands/typecmds.c:236 commands/typecmds.c:787 commands/typecmds.c:1186
+#: commands/typecmds.c:1419 commands/typecmds.c:2174
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "Typ »%s« existiert bereits"
 
-#: catalog/heap.c:1080
+#: catalog/heap.c:1093
 #, 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:1109
+#: catalog/heap.c:1122
 #, 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:2063
-#, fuzzy, c-format
-#| msgid "cannot use a deferrable unique constraint for referenced table \"%s\""
+#: catalog/heap.c:2254
+#, c-format
 msgid "cannot add NO INHERIT constraint to partitioned table \"%s\""
-msgstr "aufschiebbarer Unique-Constraint kann nicht für Tabelle »%s«, auf die verwiesen wird, verwendet werden"
+msgstr "zur partitionierten Tabelle »%s« kann kein NO-INHERIT-Constraint hinzugefügt werden"
 
-#: catalog/heap.c:2321
+#: catalog/heap.c:2519
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "Check-Constraint »%s« existiert bereits"
 
-#: catalog/heap.c:2489 catalog/pg_constraint.c:649 commands/tablecmds.c:6525
+#: catalog/heap.c:2688 catalog/pg_constraint.c:912 commands/tablecmds.c:7109
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "Constraint »%s« existiert bereits für Relation »%s«"
 
-#: catalog/heap.c:2496
+#: catalog/heap.c:2695
 #, 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:2507
+#: catalog/heap.c:2706
 #, 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:2517
+#: catalog/heap.c:2716
 #, 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:2522
+#: catalog/heap.c:2721
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "Constraint »%s« wird mit geerbter Definition zusammengeführt"
 
-#: catalog/heap.c:2638
+#: catalog/heap.c:2837
 #, c-format
 msgid "cannot use column references in default expression"
 msgstr "Spaltenverweise können nicht in Vorgabeausdrücken verwendet werden"
 
-#: catalog/heap.c:2663 rewrite/rewriteHandler.c:1097
+#: catalog/heap.c:2862 rewrite/rewriteHandler.c:1176
 #, 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:2668 commands/prepare.c:384 parser/parse_node.c:428
-#: parser/parse_target.c:589 parser/parse_target.c:839
-#: parser/parse_target.c:849 rewrite/rewriteHandler.c:1102
+#: catalog/heap.c:2867 commands/prepare.c:384 parser/parse_node.c:430
+#: parser/parse_target.c:590 parser/parse_target.c:859
+#: parser/parse_target.c:869 rewrite/rewriteHandler.c:1181
 #, 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:2715
+#: catalog/heap.c:2914
 #, 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:2955
+#: catalog/heap.c:3154
 #, c-format
 msgid "unsupported ON COMMIT and foreign key combination"
 msgstr "nicht unterstützte Kombination aus ON COMMIT und Fremdschlüssel"
 
-#: catalog/heap.c:2956
+#: catalog/heap.c:3155
 #, 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:2961
+#: catalog/heap.c:3160
 #, 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:2962
+#: catalog/heap.c:3161
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "Tabelle »%s« verweist auf »%s«."
 
-#: catalog/heap.c:2964
+#: catalog/heap.c:3163
 #, 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:210 parser/parse_utilcmd.c:1541 parser/parse_utilcmd.c:1627
+#: catalog/index.c:231 parser/parse_utilcmd.c:1824 parser/parse_utilcmd.c:1911
 #, 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:228
+#: catalog/index.c:249
 #, c-format
 msgid "primary keys cannot be expressions"
 msgstr "Primärschlüssel können keine Ausdrücke sein"
 
-#: catalog/index.c:756 catalog/index.c:1174
+#: catalog/index.c:814 catalog/index.c:1259
 #, 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:766
+#: catalog/index.c:824
 #, 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:784
+#: catalog/index.c:842
 #, c-format
 msgid "shared indexes cannot be created after initdb"
 msgstr "Cluster-globale Indexe können nicht nach initdb erzeugt werden"
 
-#: catalog/index.c:798 commands/createas.c:249 commands/sequence.c:149
-#: parser/parse_utilcmd.c:197
+#: catalog/index.c:856 commands/createas.c:250 commands/sequence.c:152
+#: parser/parse_utilcmd.c:205
 #, c-format
 msgid "relation \"%s\" already exists, skipping"
 msgstr "Relation »%s« existiert bereits, wird übersprungen"
 
-#: catalog/index.c:834
+#: catalog/index.c:892
 #, 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:1435
+#: catalog/index.c:1534
 #, 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:2020
-#, c-format
-msgid "building index \"%s\" on table \"%s\""
+#: catalog/index.c:2263
+#, fuzzy, c-format
+#| msgid "building index \"%s\" on table \"%s\""
+msgid "building index \"%s\" on table \"%s\" serially"
 msgstr "baue Index »%s« von Tabelle »%s«"
 
-#: catalog/index.c:3338
+#: catalog/index.c:2268
+#, fuzzy, c-format
+#| msgid "building index \"%s\" on table \"%s\""
+msgid "building index \"%s\" on table \"%s\" with request for %d parallel worker"
+msgid_plural "building index \"%s\" on table \"%s\" with request for %d parallel workers"
+msgstr[0] "baue Index »%s« von Tabelle »%s«"
+msgstr[1] "baue Index »%s« von Tabelle »%s«"
+
+#: catalog/index.c:3657
 #, c-format
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht reindizieren"
 
-#: catalog/index.c:3469
+#: catalog/index.c:3788
 #, c-format
 msgid "index \"%s\" was reindexed"
 msgstr "Index »%s« wurde neu indiziert"
 
-#: catalog/index.c:3471 commands/vacuumlazy.c:1345 commands/vacuumlazy.c:1421
-#: commands/vacuumlazy.c:1610 commands/vacuumlazy.c:1820
+#: catalog/index.c:3859
 #, c-format
-msgid "%s."
-msgstr "%s."
+msgid "REINDEX of partitioned tables is not yet implemented, skipping \"%s\""
+msgstr "REINDEX von partitionierten Tabellen ist noch nicht implementiert, »%s« wird übersprungen"
 
-#: catalog/namespace.c:234 catalog/namespace.c:432 catalog/namespace.c:526
-#: commands/trigger.c:4782
+#: catalog/namespace.c:248 catalog/namespace.c:452 catalog/namespace.c:546
+#: commands/trigger.c:5377
 #, 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:291
+#: catalog/namespace.c:305
 #, c-format
 msgid "temporary tables cannot specify a schema name"
 msgstr "temporäre Tabellen können keinen Schemanamen angeben"
 
-#: catalog/namespace.c:370
+#: catalog/namespace.c:386
 #, c-format
 msgid "could not obtain lock on relation \"%s.%s\""
 msgstr "konnte Sperre für Relation »%s.%s« nicht setzen"
 
-#: catalog/namespace.c:375 commands/lockcmds.c:145
+#: catalog/namespace.c:391 commands/lockcmds.c:152 commands/lockcmds.c:238
 #, c-format
 msgid "could not obtain lock on relation \"%s\""
 msgstr "konnte Sperre für Relation »%s« nicht setzen"
 
-#: catalog/namespace.c:399 parser/parse_relation.c:1137
+#: catalog/namespace.c:419 parser/parse_relation.c:1158
 #, c-format
 msgid "relation \"%s.%s\" does not exist"
 msgstr "Relation »%s.%s« existiert nicht"
 
-#: catalog/namespace.c:404 parser/parse_relation.c:1150
-#: parser/parse_relation.c:1158 utils/adt/regproc.c:1036
+#: catalog/namespace.c:424 parser/parse_relation.c:1171
+#: parser/parse_relation.c:1179
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "Relation »%s« existiert nicht"
 
-#: catalog/namespace.c:472 catalog/namespace.c:2826 commands/extension.c:1460
-#: commands/extension.c:1466
+#: catalog/namespace.c:492 catalog/namespace.c:3011 commands/extension.c:1466
+#: commands/extension.c:1472
 #, c-format
 msgid "no schema has been selected to create in"
 msgstr "kein Schema für die Objekterzeugung ausgewählt"
 
-#: catalog/namespace.c:624 catalog/namespace.c:637
+#: catalog/namespace.c:644 catalog/namespace.c:657
 #, 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:628
+#: catalog/namespace.c:648
 #, 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:643
+#: catalog/namespace.c:663
 #, 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:2139
+#: catalog/namespace.c:2201
+#, c-format
+msgid "statistics object \"%s\" does not exist"
+msgstr "Statistikobjekt »%s« existiert nicht"
+
+#: catalog/namespace.c:2324
 #, c-format
 msgid "text search parser \"%s\" does not exist"
 msgstr "Textsucheparser »%s« existiert nicht"
 
-#: catalog/namespace.c:2265
+#: catalog/namespace.c:2450
 #, c-format
 msgid "text search dictionary \"%s\" does not exist"
 msgstr "Textsuchewörterbuch »%s« existiert nicht"
 
-#: catalog/namespace.c:2392
+#: catalog/namespace.c:2577
 #, c-format
 msgid "text search template \"%s\" does not exist"
 msgstr "Textsuchevorlage »%s« existiert nicht"
 
-#: catalog/namespace.c:2518 commands/tsearchcmds.c:1185
-#: utils/cache/ts_cache.c:612
+#: catalog/namespace.c:2703 commands/tsearchcmds.c:1185
+#: utils/cache/ts_cache.c:616
 #, c-format
 msgid "text search configuration \"%s\" does not exist"
 msgstr "Textsuchekonfiguration »%s« existiert nicht"
 
-#: catalog/namespace.c:2631 parser/parse_expr.c:791 parser/parse_target.c:1191
+#: catalog/namespace.c:2816 parser/parse_expr.c:793 parser/parse_target.c:1214
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "Verweise auf andere Datenbanken sind nicht implementiert: %s"
 
-#: catalog/namespace.c:2637 gram.y:14068 gram.y:15487 parser/parse_expr.c:798
-#: parser/parse_target.c:1198
+#: catalog/namespace.c:2822 gram.y:14690 gram.y:16122 parser/parse_expr.c:800
+#: parser/parse_target.c:1221
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "falscher qualifizierter Name (zu viele Namensteile): %s"
 
-#: catalog/namespace.c:2768
+#: catalog/namespace.c:2953
 #, 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:2774
+#: catalog/namespace.c:2959
 #, 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:2847 commands/schemacmds.c:255
-#: commands/schemacmds.c:333 commands/tablecmds.c:891
+#: catalog/namespace.c:3032 commands/schemacmds.c:256 commands/schemacmds.c:334
+#: commands/tablecmds.c:1014
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "Schema »%s« existiert nicht"
 
-#: catalog/namespace.c:2878
+#: catalog/namespace.c:3063
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "falscher Relationsname (zu viele Namensteile): %s"
 
-#: catalog/namespace.c:3388
+#: catalog/namespace.c:3557
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" does not exist"
 msgstr "Sortierfolge »%s« für Kodierung »%s« existiert nicht"
 
-#: catalog/namespace.c:3443
+#: catalog/namespace.c:3612
 #, c-format
 msgid "conversion \"%s\" does not exist"
 msgstr "Konversion »%s« existiert nicht"
 
-#: catalog/namespace.c:3651
+#: catalog/namespace.c:3820
 #, 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:3667
+#: catalog/namespace.c:3836
 #, 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:3673
+#: catalog/namespace.c:3842
 #, c-format
-msgid "cannot create temporary tables in parallel mode"
-msgstr "im Parallelmodus können keine temporären Tabellen erzeugt werden"
+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:3922 commands/tablespace.c:1169 commands/variable.c:64
-#: utils/misc/guc.c:9942 utils/misc/guc.c:10020
+#: catalog/namespace.c:4091 commands/tablespace.c:1171 commands/variable.c:64
+#: utils/misc/guc.c:10244 utils/misc/guc.c:10322
 #, c-format
 msgid "List syntax is invalid."
 msgstr "Die Listensyntax ist ungültig."
 
-#: catalog/objectaddress.c:1215 catalog/pg_publication.c:57
-#: commands/lockcmds.c:93 commands/policy.c:94 commands/policy.c:391
-#: commands/policy.c:480 commands/tablecmds.c:223 commands/tablecmds.c:265
-#: commands/tablecmds.c:1477 commands/tablecmds.c:4665
-#: commands/tablecmds.c:8502
+#: catalog/objectaddress.c:1238 catalog/pg_publication.c:66
+#: commands/policy.c:94 commands/policy.c:394 commands/policy.c:484
+#: commands/tablecmds.c:225 commands/tablecmds.c:267 commands/tablecmds.c:1719
+#: commands/tablecmds.c:4962 commands/tablecmds.c:9184
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "»%s« ist keine Tabelle"
 
-#: catalog/objectaddress.c:1222 commands/tablecmds.c:235
-#: commands/tablecmds.c:4695 commands/tablecmds.c:12739 commands/view.c:141
+#: catalog/objectaddress.c:1245 commands/tablecmds.c:237
+#: commands/tablecmds.c:4992 commands/tablecmds.c:13507 commands/view.c:141
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "»%s« ist keine Sicht"
 
-#: catalog/objectaddress.c:1229 commands/matview.c:172
-#: commands/tablecmds.c:241 commands/tablecmds.c:12744
+#: catalog/objectaddress.c:1252 commands/matview.c:172 commands/tablecmds.c:243
+#: commands/tablecmds.c:13512
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "»%s« ist keine materialisierte Sicht"
 
-#: catalog/objectaddress.c:1236 commands/tablecmds.c:259
-#: commands/tablecmds.c:4698 commands/tablecmds.c:12749
+#: catalog/objectaddress.c:1259 commands/tablecmds.c:261
+#: commands/tablecmds.c:4995 commands/tablecmds.c:13517
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "»%s« ist keine Fremdtabelle"
 
-#: catalog/objectaddress.c:1277
-#, fuzzy, c-format
-#| msgid "%s must specify unqualified relation names"
+#: catalog/objectaddress.c:1300
+#, c-format
 msgid "must specify relation and object name"
-msgstr "%s muss unqualifizierte Relationsnamen angeben"
+msgstr "Relations- und Objektname müssen angegeben werden"
 
-#: catalog/objectaddress.c:1353 catalog/objectaddress.c:1406
+#: catalog/objectaddress.c:1376 catalog/objectaddress.c:1429
 #, c-format
 msgid "column name must be qualified"
 msgstr "Spaltenname muss qualifiziert werden"
 
-#: catalog/objectaddress.c:1449
+#: catalog/objectaddress.c:1472
 #, 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:1486 commands/functioncmds.c:128
-#: commands/tablecmds.c:251 commands/typecmds.c:3233 parser/parse_type.c:226
-#: parser/parse_type.c:255 parser/parse_type.c:794 utils/adt/acl.c:4357
-#: utils/adt/regproc.c:1227
+#: catalog/objectaddress.c:1509 commands/functioncmds.c:131
+#: commands/tablecmds.c:253 commands/typecmds.c:3320 parser/parse_type.c:226
+#: parser/parse_type.c:255 parser/parse_type.c:828 utils/adt/acl.c:4377
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "Typ »%s« existiert nicht"
 
-#: catalog/objectaddress.c:1603
+#: catalog/objectaddress.c:1628
 #, c-format
 msgid "operator %d (%s, %s) of %s does not exist"
 msgstr "Operator %d (%s, %s) von %s existiert nicht"
 
-#: catalog/objectaddress.c:1632
+#: catalog/objectaddress.c:1659
 #, c-format
 msgid "function %d (%s, %s) of %s does not exist"
 msgstr "Funktion %d (%s, %s) von %s existiert nicht"
 
-#: catalog/objectaddress.c:1681 catalog/objectaddress.c:1707
+#: catalog/objectaddress.c:1710 catalog/objectaddress.c:1736
 #, 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:1696 commands/foreigncmds.c:428
-#: commands/foreigncmds.c:991 commands/foreigncmds.c:1349
+#: catalog/objectaddress.c:1725 commands/foreigncmds.c:428
+#: commands/foreigncmds.c:1004 commands/foreigncmds.c:1377
 #: foreign/foreign.c:688
 #, c-format
 msgid "server \"%s\" does not exist"
 msgstr "Server »%s« existiert nicht"
 
-#: catalog/objectaddress.c:1763
+#: catalog/objectaddress.c:1792
 #, c-format
 msgid "publication relation \"%s\" in publication \"%s\" does not exist"
 msgstr "Publikationsrelation »%s« in Publikation »%s« existiert nicht"
 
-#: catalog/objectaddress.c:1822
+#: catalog/objectaddress.c:1854
 #, c-format
-msgid "unrecognized default ACL object type %c"
-msgstr "unbekannter Standard-ACL-Objekttyp %c"
+msgid "unrecognized default ACL object type \"%c\""
+msgstr "unbekannter Standard-ACL-Objekttyp »%c«"
 
-#: catalog/objectaddress.c:1823
+#: catalog/objectaddress.c:1855
 #, c-format
-msgid "Valid object types are \"r\", \"S\", \"f\", and \"T\"."
-msgstr "Gültige Objekttypen sind »r«, »S«, »f« und »T«."
+msgid "Valid object types are \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"."
+msgstr "Gültige Objekttypen sind »%c«, »%c«, »%c«, »%c«, »%c«."
 
-#: catalog/objectaddress.c:1869
+#: catalog/objectaddress.c:1906
 #, 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:1874
+#: catalog/objectaddress.c:1911
 #, 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:1901 catalog/objectaddress.c:1959
-#: catalog/objectaddress.c:2014
+#: catalog/objectaddress.c:1938 catalog/objectaddress.c:1996
+#: catalog/objectaddress.c:2053
 #, c-format
 msgid "name or argument lists may not contain nulls"
 msgstr "Namens- oder Argumentlisten dürfen keine NULL-Werte enthalten"
 
-#: catalog/objectaddress.c:1935
+#: catalog/objectaddress.c:1972
 #, c-format
 msgid "unsupported object type \"%s\""
 msgstr "nicht unterstützter Objekttyp »%s«"
 
-#: catalog/objectaddress.c:1955 catalog/objectaddress.c:1973
-#: catalog/objectaddress.c:2110
+#: catalog/objectaddress.c:1992 catalog/objectaddress.c:2010
+#: catalog/objectaddress.c:2151
 #, c-format
 msgid "name list length must be exactly %d"
 msgstr "Länge der Namensliste muss genau %d sein"
 
-#: catalog/objectaddress.c:1977
+#: catalog/objectaddress.c:2014
 #, c-format
 msgid "large object OID may not be null"
 msgstr "Large-Object-OID darf nicht NULL sein"
 
-#: catalog/objectaddress.c:1986 catalog/objectaddress.c:2047
-#: catalog/objectaddress.c:2054
+#: catalog/objectaddress.c:2023 catalog/objectaddress.c:2086
+#: catalog/objectaddress.c:2093
 #, c-format
 msgid "name list length must be at least %d"
 msgstr "Länge der Namensliste muss mindestens %d sein"
 
-#: catalog/objectaddress.c:2040 catalog/objectaddress.c:2060
+#: catalog/objectaddress.c:2079 catalog/objectaddress.c:2100
 #, c-format
 msgid "argument list length must be exactly %d"
 msgstr "Länge der Argumentliste muss genau %d sein"
 
-#: catalog/objectaddress.c:2285 libpq/be-fsstubs.c:350
+#: catalog/objectaddress.c:2330 libpq/be-fsstubs.c:321
 #, c-format
 msgid "must be owner of large object %u"
 msgstr "Berechtigung nur für Eigentümer des Large Object %u"
 
-#: catalog/objectaddress.c:2300 commands/functioncmds.c:1419
+#: catalog/objectaddress.c:2345 commands/functioncmds.c:1452
 #, 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:2350 catalog/objectaddress.c:2367
+#: catalog/objectaddress.c:2395 catalog/objectaddress.c:2412
 #, c-format
 msgid "must be superuser"
 msgstr "Berechtigung nur für Superuser"
 
-#: catalog/objectaddress.c:2357
+#: catalog/objectaddress.c:2402
 #, c-format
 msgid "must have CREATEROLE privilege"
 msgstr "Berechtigung nur mit CREATEROLE-Privileg"
 
-#: catalog/objectaddress.c:2432
+#: catalog/objectaddress.c:2481
 #, c-format
 msgid "unrecognized object type \"%s\""
 msgstr "unbekannter Objekttyp »%s«"
 
-#: catalog/objectaddress.c:2627
+#: catalog/objectaddress.c:2686
 #, c-format
 msgid " column %s"
 msgstr " Spalte %s"
 
-#: catalog/objectaddress.c:2633
+#: catalog/objectaddress.c:2693
 #, c-format
 msgid "function %s"
 msgstr "Funktion %s"
 
-#: catalog/objectaddress.c:2638
+#: catalog/objectaddress.c:2698
 #, c-format
 msgid "type %s"
 msgstr "Typ %s"
 
-#: catalog/objectaddress.c:2668
+#: catalog/objectaddress.c:2728
 #, c-format
 msgid "cast from %s to %s"
 msgstr "Typumwandlung von %s in %s"
 
-#: catalog/objectaddress.c:2688
+#: catalog/objectaddress.c:2748
 #, c-format
 msgid "collation %s"
 msgstr "Sortierfolge %s"
 
-#: catalog/objectaddress.c:2712
+#: catalog/objectaddress.c:2772
 #, c-format
 msgid "constraint %s on %s"
 msgstr "Constraint %s für %s"
 
-#: catalog/objectaddress.c:2718
+#: catalog/objectaddress.c:2778
 #, c-format
 msgid "constraint %s"
 msgstr "Constraint %s"
 
-#: catalog/objectaddress.c:2735
+#: catalog/objectaddress.c:2795
 #, c-format
 msgid "conversion %s"
 msgstr "Konversion %s"
 
-#: catalog/objectaddress.c:2772
+#: catalog/objectaddress.c:2832
 #, c-format
 msgid "default for %s"
 msgstr "Vorgabewert für %s"
 
-#: catalog/objectaddress.c:2781
+#: catalog/objectaddress.c:2841
 #, c-format
 msgid "language %s"
 msgstr "Sprache %s"
 
-#: catalog/objectaddress.c:2786
+#: catalog/objectaddress.c:2846
 #, c-format
 msgid "large object %u"
 msgstr "Large Object %u"
 
-#: catalog/objectaddress.c:2791
+#: catalog/objectaddress.c:2851
 #, c-format
 msgid "operator %s"
 msgstr "Operator %s"
 
-#: catalog/objectaddress.c:2823
+#: catalog/objectaddress.c:2883
 #, c-format
 msgid "operator class %s for access method %s"
 msgstr "Operatorklasse %s für Zugriffsmethode %s"
 
+#: catalog/objectaddress.c:2906
+#, c-format
+msgid "access method %s"
+msgstr "Zugriffsmethode %s"
+
 #. translator: %d is the operator strategy (a number), the
 #. 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:2873
+#: catalog/objectaddress.c:2948
 #, c-format
 msgid "operator %d (%s, %s) of %s: %s"
 msgstr "Operator %d (%s, %s) von %s: %s"
@@ -4274,406 +4308,401 @@ 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:2923
+#: catalog/objectaddress.c:2998
 #, c-format
 msgid "function %d (%s, %s) of %s: %s"
 msgstr "Funktion %d (%s, %s) von %s: %s"
 
-#: catalog/objectaddress.c:2963
+#: catalog/objectaddress.c:3038
 #, c-format
 msgid "rule %s on "
 msgstr "Regel %s für "
 
-#: catalog/objectaddress.c:2985
-#, c-format
-msgid "transform for %s language %s"
-msgstr "Transformation %s für Sprache %s"
-
-#: catalog/objectaddress.c:3019
+#: catalog/objectaddress.c:3073
 #, c-format
 msgid "trigger %s on "
 msgstr "Trigger %s für "
 
-#: catalog/objectaddress.c:3036
+#: catalog/objectaddress.c:3090
 #, c-format
 msgid "schema %s"
 msgstr "Schema %s"
 
-#: catalog/objectaddress.c:3049
+#: catalog/objectaddress.c:3107
+#, c-format
+msgid "statistics object %s"
+msgstr "Statistikobjekt %s"
+
+#: catalog/objectaddress.c:3123
 #, c-format
 msgid "text search parser %s"
 msgstr "Textsucheparser %s"
 
-#: catalog/objectaddress.c:3064
+#: catalog/objectaddress.c:3138
 #, c-format
 msgid "text search dictionary %s"
 msgstr "Textsuchewörterbuch %s"
 
-#: catalog/objectaddress.c:3079
+#: catalog/objectaddress.c:3153
 #, c-format
 msgid "text search template %s"
 msgstr "Textsuchevorlage %s"
 
-#: catalog/objectaddress.c:3094
+#: catalog/objectaddress.c:3168
 #, c-format
 msgid "text search configuration %s"
 msgstr "Textsuchekonfiguration %s"
 
-#: catalog/objectaddress.c:3102
+#: catalog/objectaddress.c:3176
 #, c-format
 msgid "role %s"
 msgstr "Rolle %s"
 
-#: catalog/objectaddress.c:3115
+#: catalog/objectaddress.c:3189
 #, c-format
 msgid "database %s"
 msgstr "Datenbank %s"
 
-#: catalog/objectaddress.c:3127
+#: catalog/objectaddress.c:3201
 #, c-format
 msgid "tablespace %s"
 msgstr "Tablespace %s"
 
-#: catalog/objectaddress.c:3136
+#: catalog/objectaddress.c:3210
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "Fremddaten-Wrapper %s"
 
-#: catalog/objectaddress.c:3145
+#: catalog/objectaddress.c:3219
 #, c-format
 msgid "server %s"
 msgstr "Server %s"
 
-#: catalog/objectaddress.c:3173
+#: catalog/objectaddress.c:3247
 #, c-format
 msgid "user mapping for %s on server %s"
 msgstr "Benutzerabbildung für %s auf Server %s"
 
-#: catalog/objectaddress.c:3208
+#: catalog/objectaddress.c:3282
 #, c-format
 msgid "default privileges on new relations belonging to role %s"
 msgstr "Vorgabeprivilegien für neue Relationen von Rolle %s"
 
-#: catalog/objectaddress.c:3213
+#: catalog/objectaddress.c:3287
 #, c-format
 msgid "default privileges on new sequences belonging to role %s"
 msgstr "Vorgabeprivilegien für neue Sequenzen von Rolle %s"
 
-#: catalog/objectaddress.c:3218
+#: catalog/objectaddress.c:3292
 #, c-format
 msgid "default privileges on new functions belonging to role %s"
 msgstr "Vorgabeprivilegien für neue Funktionen von Rolle %s"
 
-#: catalog/objectaddress.c:3223
+#: catalog/objectaddress.c:3297
 #, c-format
 msgid "default privileges on new types belonging to role %s"
 msgstr "Vorgabeprivilegien für neue Typen von Rolle %s"
 
-#: catalog/objectaddress.c:3229
+#: catalog/objectaddress.c:3302
+#, c-format
+msgid "default privileges on new schemas belonging to role %s"
+msgstr "Vorgabeprivilegien für neue Schemas von Rolle %s"
+
+#: catalog/objectaddress.c:3308
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "Vorgabeprivilegien von Rolle %s"
 
-#: catalog/objectaddress.c:3237
+#: catalog/objectaddress.c:3316
 #, c-format
 msgid " in schema %s"
 msgstr " in Schema %s"
 
-#: catalog/objectaddress.c:3254
+#: catalog/objectaddress.c:3333
 #, c-format
 msgid "extension %s"
 msgstr "Erweiterung %s"
 
-#: catalog/objectaddress.c:3267
+#: catalog/objectaddress.c:3346
 #, c-format
 msgid "event trigger %s"
 msgstr "Ereignistrigger %s"
 
-#: catalog/objectaddress.c:3299
+#: catalog/objectaddress.c:3378
 #, c-format
 msgid "policy %s on "
 msgstr "Policy %s für "
 
-#: catalog/objectaddress.c:3317
-#, c-format
-msgid "access method %s"
-msgstr "Zugriffsmethode %s"
-
-#: catalog/objectaddress.c:3325
+#: catalog/objectaddress.c:3389
 #, c-format
 msgid "publication %s"
 msgstr "Publikation %s"
 
-#: catalog/objectaddress.c:3345
+#: catalog/objectaddress.c:3409
 #, c-format
 msgid "publication table %s in publication %s"
 msgstr "Publikationstabelle %s in Publikation %s"
 
-#: catalog/objectaddress.c:3353
+#: catalog/objectaddress.c:3417
 #, c-format
 msgid "subscription %s"
 msgstr "Subskription %s"
 
-#: catalog/objectaddress.c:3413
+#: catalog/objectaddress.c:3435
+#, c-format
+msgid "transform for %s language %s"
+msgstr "Transformation %s für Sprache %s"
+
+#: catalog/objectaddress.c:3496
 #, c-format
 msgid "table %s"
 msgstr "Tabelle %s"
 
-#: catalog/objectaddress.c:3417
+#: catalog/objectaddress.c:3501
 #, c-format
 msgid "index %s"
 msgstr "Index %s"
 
-#: catalog/objectaddress.c:3421
+#: catalog/objectaddress.c:3505
 #, c-format
 msgid "sequence %s"
 msgstr "Sequenz %s"
 
-#: catalog/objectaddress.c:3425
+#: catalog/objectaddress.c:3509
 #, c-format
 msgid "toast table %s"
 msgstr "TOAST-Tabelle %s"
 
-#: catalog/objectaddress.c:3429
+#: catalog/objectaddress.c:3513
 #, c-format
 msgid "view %s"
 msgstr "Sicht %s"
 
-#: catalog/objectaddress.c:3433
+#: catalog/objectaddress.c:3517
 #, c-format
 msgid "materialized view %s"
 msgstr "materialisierte Sicht %s"
 
-#: catalog/objectaddress.c:3437
+#: catalog/objectaddress.c:3521
 #, c-format
 msgid "composite type %s"
 msgstr "zusammengesetzter Typ %s"
 
-#: catalog/objectaddress.c:3441
+#: catalog/objectaddress.c:3525
 #, c-format
 msgid "foreign table %s"
 msgstr "Fremdtabelle %s"
 
-#: catalog/objectaddress.c:3446
+#: catalog/objectaddress.c:3530
 #, c-format
 msgid "relation %s"
 msgstr "Relation %s"
 
-#: catalog/objectaddress.c:3483
+#: catalog/objectaddress.c:3567
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "Operatorfamilie %s für Zugriffsmethode %s"
 
-#: catalog/objectaddress.c:4854
+#: catalog/objectaddress.c:4939
 #, c-format
 msgid "%s in publication %s"
 msgstr "%s in Publikation %s"
 
-#: catalog/partition.c:741
-#, fuzzy, c-format
-#| msgid "cannot determine transition data type"
-msgid "cannot create range partition with empty range"
-msgstr "kann Übergangsdatentyp nicht bestimmen"
-
-#: catalog/partition.c:835
-#, fuzzy, c-format
-#| msgid "relation \"%s\" is not a parent of relation \"%s\""
-msgid "partition \"%s\" would overlap partition \"%s\""
-msgstr "Relation »%s« ist keine Basisrelation von Relation »%s«"
-
-#: catalog/partition.c:939 catalog/partition.c:1088 commands/analyze.c:1438
-#: commands/tablecmds.c:8564 executor/execMain.c:3159 executor/execQual.c:2691
+#: catalog/partition.c:180 catalog/pg_constraint.c:441 commands/analyze.c:1499
+#: commands/indexcmds.c:922 commands/tablecmds.c:941 commands/tablecmds.c:9246
+#: commands/tablecmds.c:14403 commands/tablecmds.c:14880
+#: executor/execExprInterp.c:3302 executor/execMain.c:1927
+#: executor/execMain.c:2006 executor/execMain.c:2054 executor/execMain.c:2165
+#: executor/execPartition.c:409 executor/execPartition.c:469
+#: executor/execPartition.c:585 executor/execPartition.c:688
+#: executor/execPartition.c:759 executor/execPartition.c:957
+#: executor/nodeModifyTable.c:1835
 msgid "could not convert row type"
 msgstr "konnte Zeilentyp nicht umwandeln"
 
-#: catalog/partition.c:1726
-#, c-format
-msgid "range partition key of row contains null"
-msgstr ""
-
-#: catalog/pg_aggregate.c:125
+#: catalog/pg_aggregate.c:126
 #, c-format
 msgid "aggregates cannot have more than %d argument"
 msgid_plural "aggregates cannot have more than %d arguments"
 msgstr[0] "Aggregatfunktionen können nicht mehr als %d Argument haben"
 msgstr[1] "Aggregatfunktionen können nicht mehr als %d Argumente haben"
 
-#: catalog/pg_aggregate.c:148 catalog/pg_aggregate.c:158
+#: catalog/pg_aggregate.c:149 catalog/pg_aggregate.c:159
 #, c-format
 msgid "cannot determine transition data type"
 msgstr "kann Übergangsdatentyp nicht bestimmen"
 
-#: catalog/pg_aggregate.c:149 catalog/pg_aggregate.c:159
+#: catalog/pg_aggregate.c:150 catalog/pg_aggregate.c:160
 #, c-format
 msgid "An aggregate using a polymorphic transition type must have at least one polymorphic argument."
 msgstr "Eine Aggregatfunktion mit polymorphischem Übergangstyp muss mindestens ein polymorphisches Argument haben."
 
-#: catalog/pg_aggregate.c:172
+#: catalog/pg_aggregate.c:173
 #, c-format
 msgid "a variadic ordered-set aggregate must use VARIADIC type ANY"
 msgstr "eine variadische Ordered-Set-Aggregatfunktion muss VARIADIC-Typ ANY verwenden"
 
-#: catalog/pg_aggregate.c:198
+#: catalog/pg_aggregate.c:199
 #, c-format
 msgid "a hypothetical-set aggregate must have direct arguments matching its aggregated arguments"
 msgstr "eine Hypothetical-Set-Aggregatfunktion muss direkte Argumente haben, die mit ihren aggregierten Argumenten übereinstimmen"
 
-#: catalog/pg_aggregate.c:245 catalog/pg_aggregate.c:289
+#: catalog/pg_aggregate.c:246 catalog/pg_aggregate.c:290
 #, c-format
 msgid "return type of transition function %s is not %s"
 msgstr "Rückgabetyp der Übergangsfunktion %s ist nicht %s"
 
-#: catalog/pg_aggregate.c:265 catalog/pg_aggregate.c:308
+#: catalog/pg_aggregate.c:266 catalog/pg_aggregate.c:309
 #, c-format
 msgid "must not omit initial value when transition function is strict and transition type is not compatible with input type"
 msgstr "Anfangswert darf nicht ausgelassen werden, wenn Übergangsfunktion strikt ist und Übergangstyp nicht mit Eingabetyp kompatibel ist"
 
-#: catalog/pg_aggregate.c:334
+#: catalog/pg_aggregate.c:335
 #, c-format
 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:351 executor/nodeWindowAgg.c:2298
+#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:2823
 #, 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"
 
-#: catalog/pg_aggregate.c:395 catalog/pg_aggregate.c:545
+#: catalog/pg_aggregate.c:396 catalog/pg_aggregate.c:549
 #, c-format
 msgid "final function with extra arguments must not be declared STRICT"
 msgstr "Abschlussfunktion mit zusätzlichen Argumenten darf nicht als STRICT deklariert sein"
 
-#: catalog/pg_aggregate.c:425
+#: catalog/pg_aggregate.c:427
 #, c-format
 msgid "return type of combine function %s is not %s"
 msgstr "Rückgabetyp der Kombinierfunktion %s ist nicht %s"
 
-#: catalog/pg_aggregate.c:436
+#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:2943
 #, c-format
-msgid "combine function with \"%s\" transition type must not be declared STRICT"
-msgstr "Kombinierfunktion mit Übergangstyp »%s« darf nicht als STRICT deklariert sein"
+msgid "combine function with transition type %s must not be declared STRICT"
+msgstr "Kombinierfunktion mit Übergangstyp %s darf nicht als STRICT deklariert sein"
 
-#: catalog/pg_aggregate.c:455
+#: catalog/pg_aggregate.c:458
 #, c-format
 msgid "return type of serialization function %s is not %s"
 msgstr "Rückgabetyp der Serialisierungsfunktion %s ist nicht %s"
 
-#: catalog/pg_aggregate.c:475
+#: catalog/pg_aggregate.c:479
 #, c-format
 msgid "return type of deserialization function %s is not %s"
 msgstr "Rückgabetyp der Deserialisierungsfunktion %s ist nicht %s"
 
-#: catalog/pg_aggregate.c:491 catalog/pg_proc.c:243 catalog/pg_proc.c:250
+#: catalog/pg_aggregate.c:495 catalog/pg_proc.c:241 catalog/pg_proc.c:248
 #, c-format
 msgid "cannot determine result data type"
 msgstr "kann Ergebnisdatentyp nicht bestimmen"
 
-#: catalog/pg_aggregate.c:492
+#: catalog/pg_aggregate.c:496
 #, c-format
 msgid "An aggregate returning a polymorphic type must have at least one polymorphic argument."
 msgstr "Eine Aggregatfunktion, die einen polymorphischen Typ zurückgibt, muss mindestens ein polymorphisches Argument haben."
 
-#: catalog/pg_aggregate.c:504 catalog/pg_proc.c:256
+#: catalog/pg_aggregate.c:508 catalog/pg_proc.c:254
 #, c-format
 msgid "unsafe use of pseudo-type \"internal\""
 msgstr "unsichere Verwendung des Pseudotyps »internal«"
 
-#: catalog/pg_aggregate.c:505 catalog/pg_proc.c:257
+#: catalog/pg_aggregate.c:509 catalog/pg_proc.c:255
 #, c-format
 msgid "A function returning \"internal\" must have at least one \"internal\" argument."
 msgstr "Eine Funktion, die »internal« zurückgibt, muss mindestens ein Argument vom Typ »internal« haben."
 
-#: catalog/pg_aggregate.c:558
+#: catalog/pg_aggregate.c:562
 #, c-format
 msgid "moving-aggregate implementation returns type %s, but plain implementation returns type %s"
 msgstr "Moving-Aggregat-Implementierung gibt Typ %s zurück, aber die normale Implementierung gibt Typ %s zurück"
 
-#: catalog/pg_aggregate.c:569
+#: catalog/pg_aggregate.c:573
 #, c-format
 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:810 commands/typecmds.c:1698
-#: commands/typecmds.c:1749 commands/typecmds.c:1780 commands/typecmds.c:1803
-#: commands/typecmds.c:1824 commands/typecmds.c:1851 commands/typecmds.c:1878
-#: commands/typecmds.c:1955 commands/typecmds.c:1997 parser/parse_func.c:365
-#: parser/parse_func.c:394 parser/parse_func.c:419 parser/parse_func.c:433
-#: parser/parse_func.c:508 parser/parse_func.c:519 parser/parse_func.c:1927
+#: catalog/pg_aggregate.c:819 commands/typecmds.c:1766 commands/typecmds.c:1817
+#: commands/typecmds.c:1848 commands/typecmds.c:1871 commands/typecmds.c:1892
+#: commands/typecmds.c:1919 commands/typecmds.c:1946 commands/typecmds.c:2023
+#: commands/typecmds.c:2065 parser/parse_func.c:398 parser/parse_func.c:427
+#: parser/parse_func.c:452 parser/parse_func.c:466 parser/parse_func.c:541
+#: parser/parse_func.c:552 parser/parse_func.c:2022
 #, c-format
 msgid "function %s does not exist"
 msgstr "Funktion %s existiert nicht"
 
-#: catalog/pg_aggregate.c:816
+#: catalog/pg_aggregate.c:825
 #, c-format
 msgid "function %s returns a set"
 msgstr "Funktion %s gibt eine Ergebnismenge zurück"
 
-#: catalog/pg_aggregate.c:831
+#: catalog/pg_aggregate.c:840
 #, c-format
 msgid "function %s must accept VARIADIC ANY to be used in this aggregate"
 msgstr "Funktion %s muss VARIADIC ANY akzeptieren, um in dieser Aggregatfunktion verwendet zu werden"
 
-#: catalog/pg_aggregate.c:855
+#: catalog/pg_aggregate.c:864
 #, c-format
 msgid "function %s requires run-time type coercion"
 msgstr "Funktion %s erfordert Typumwandlung zur Laufzeit"
 
-#: catalog/pg_collation.c:81
-#, 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:88
-#, c-format
-msgid "collation \"%s\" for encoding \"%s\" already exists"
-msgstr "Sortierfolge »%s« für Kodierung »%s« existiert bereits"
-
-#: catalog/pg_collation.c:106
+#: catalog/pg_collation.c:92 catalog/pg_collation.c:139
 #, c-format
 msgid "collation \"%s\" already exists, skipping"
 msgstr "Sortierfolge »%s« existiert bereits, wird übersprungen"
 
-#: catalog/pg_collation.c:113
+#: catalog/pg_collation.c:94
+#, 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:102 catalog/pg_collation.c:146
 #, c-format
 msgid "collation \"%s\" already exists"
 msgstr "Sortierfolge »%s« existiert bereits"
 
-#: catalog/pg_constraint.c:658
+#: catalog/pg_collation.c:104
+#, c-format
+msgid "collation \"%s\" for encoding \"%s\" already exists"
+msgstr "Sortierfolge »%s« für Kodierung »%s« existiert bereits"
+
+#: catalog/pg_constraint.c:921
 #, c-format
 msgid "constraint \"%s\" for domain %s already exists"
 msgstr "Constraint »%s« für Domäne %s existiert bereits"
 
-#: catalog/pg_constraint.c:788
+#: catalog/pg_constraint.c:1089 catalog/pg_constraint.c:1165
 #, c-format
 msgid "table \"%s\" has multiple constraints named \"%s\""
 msgstr "Tabelle »%s« hat mehrere Constraints namens »%s«"
 
-#: catalog/pg_constraint.c:800
+#: catalog/pg_constraint.c:1101 catalog/pg_constraint.c:1199
 #, c-format
 msgid "constraint \"%s\" for table \"%s\" does not exist"
 msgstr "Constraint »%s« für Tabelle »%s« existiert nicht"
 
-#: catalog/pg_constraint.c:846
+#: catalog/pg_constraint.c:1284
 #, c-format
-msgid "domain \"%s\" has multiple constraints named \"%s\""
-msgstr "Domäne »%s« hat mehrere Constraints namens »%s«"
+msgid "domain %s has multiple constraints named \"%s\""
+msgstr "Domäne %s hat mehrere Constraints namens »%s«"
 
-#: catalog/pg_constraint.c:858
+#: catalog/pg_constraint.c:1296
 #, c-format
-msgid "constraint \"%s\" for domain \"%s\" does not exist"
-msgstr "Constraint »%s« für Domäne »%s« existiert nicht"
+msgid "constraint \"%s\" for domain %s does not exist"
+msgstr "Constraint »%s« für Domäne %s existiert nicht"
 
-#: catalog/pg_conversion.c:66
+#: catalog/pg_conversion.c:65
 #, c-format
 msgid "conversion \"%s\" already exists"
 msgstr "Konversion »%s« existiert bereits"
 
-#: catalog/pg_conversion.c:79
+#: catalog/pg_conversion.c:78
 #, c-format
 msgid "default conversion for %s to %s already exists"
 msgstr "Standardumwandlung von %s nach %s existiert bereits"
 
-#: catalog/pg_depend.c:163 commands/extension.c:3211
+#: catalog/pg_depend.c:163 commands/extension.c:3218
 #, c-format
 msgid "%s is already a member of extension \"%s\""
 msgstr "%s ist schon Mitglied der Erweiterung »%s«"
@@ -4718,206 +4747,226 @@ msgstr "OID-Wert für pg_enum ist im Binary-Upgrade-Modus nicht gesetzt"
 msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade"
 msgstr "ALTER TYPE ADD BEFORE/AFTER ist mit Binary Upgrade inkompatibel"
 
-#: catalog/pg_namespace.c:61 commands/schemacmds.c:263
+#: catalog/pg_namespace.c:63 commands/schemacmds.c:264
 #, c-format
 msgid "schema \"%s\" already exists"
 msgstr "Schema »%s« existiert bereits"
 
-#: catalog/pg_operator.c:219 catalog/pg_operator.c:358
+#: catalog/pg_operator.c:218 catalog/pg_operator.c:357
 #, c-format
 msgid "\"%s\" is not a valid operator name"
 msgstr "»%s« ist kein gültiger Operatorname"
 
-#: catalog/pg_operator.c:367
+#: catalog/pg_operator.c:366
 #, c-format
 msgid "only binary operators can have commutators"
 msgstr "nur binäre Operatoren können Kommutatoren haben"
 
-#: catalog/pg_operator.c:371 commands/operatorcmds.c:482
+#: catalog/pg_operator.c:370 commands/operatorcmds.c:481
 #, c-format
 msgid "only binary operators can have join selectivity"
 msgstr "nur binäre Operatoren können Join-Selectivity haben"
 
-#: catalog/pg_operator.c:375
+#: catalog/pg_operator.c:374
 #, c-format
 msgid "only binary operators can merge join"
 msgstr "nur binäre Operatoren können an einem Merge-Verbund teilnehmen"
 
-#: catalog/pg_operator.c:379
+#: catalog/pg_operator.c:378
 #, c-format
 msgid "only binary operators can hash"
 msgstr "nur binäre Operatoren können eine Hash-Funktion haben"
 
-#: catalog/pg_operator.c:390
+#: catalog/pg_operator.c:389
 #, c-format
 msgid "only boolean operators can have negators"
 msgstr "nur Boole’sche Operatoren können Negatoren haben"
 
-#: catalog/pg_operator.c:394 commands/operatorcmds.c:490
+#: catalog/pg_operator.c:393 commands/operatorcmds.c:489
 #, c-format
 msgid "only boolean operators can have restriction selectivity"
 msgstr "nur Boole’sche Operatoren können Restriction-Selectivity haben"
 
-#: catalog/pg_operator.c:398 commands/operatorcmds.c:494
+#: catalog/pg_operator.c:397 commands/operatorcmds.c:493
 #, c-format
 msgid "only boolean operators can have join selectivity"
 msgstr "nur Boole’sche Operatoren können Join-Selectivity haben"
 
-#: catalog/pg_operator.c:402
+#: catalog/pg_operator.c:401
 #, c-format
 msgid "only boolean operators can merge join"
 msgstr "nur Boole’sche Operatoren können an einem Merge-Verbund teilnehmen"
 
-#: catalog/pg_operator.c:406
+#: catalog/pg_operator.c:405
 #, c-format
 msgid "only boolean operators can hash"
 msgstr "nur Boole’sche Operatoren können eine Hash-Funktion haben"
 
-#: catalog/pg_operator.c:418
+#: catalog/pg_operator.c:417
 #, c-format
 msgid "operator %s already exists"
 msgstr "Operator %s existiert bereits"
 
-#: catalog/pg_operator.c:612
+#: catalog/pg_operator.c:611
 #, c-format
 msgid "operator cannot be its own negator or sort operator"
 msgstr "Operator kann nicht sein eigener Negator oder Sortierungsoperator sein"
 
-#: catalog/pg_proc.c:131 parser/parse_func.c:1951 parser/parse_func.c:1991
+#: catalog/pg_proc.c:129 parser/parse_func.c:2058
 #, 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:244
+#: catalog/pg_proc.c:242
 #, c-format
 msgid "A function returning a polymorphic type must have at least one polymorphic argument."
 msgstr "Eine Funktion, die einen polymorphischen Typ zurückgibt, muss mindestens ein polymorphisches Argument haben."
 
-#: catalog/pg_proc.c:251
+#: catalog/pg_proc.c:249
 #, c-format
 msgid "A function returning \"anyrange\" must have at least one \"anyrange\" argument."
 msgstr "Eine Funktion, die »anyrange« zurückgibt, muss mindestens ein Argument vom Typ »anyrange« haben."
 
-#: catalog/pg_proc.c:269
+#: catalog/pg_proc.c:267
 #, c-format
 msgid "\"%s\" is already an attribute of type %s"
 msgstr "»%s« ist schon ein Attribut von Typ %s"
 
-#: catalog/pg_proc.c:400
+#: catalog/pg_proc.c:397
 #, c-format
 msgid "function \"%s\" already exists with same argument types"
 msgstr "Funktion »%s« existiert bereits mit den selben Argumenttypen"
 
-#: catalog/pg_proc.c:414 catalog/pg_proc.c:437
+#: catalog/pg_proc.c:407
+#, c-format
+msgid "cannot change routine kind"
+msgstr "kann Routinenart nicht ändern"
+
+#: catalog/pg_proc.c:409
+#, c-format
+msgid "\"%s\" is an aggregate function."
+msgstr "»%s« ist eine Aggregatfunktion."
+
+#: catalog/pg_proc.c:411
+#, c-format
+msgid "\"%s\" is a function."
+msgstr "»%s« ist eine Funktion."
+
+#: catalog/pg_proc.c:413
+#, c-format
+msgid "\"%s\" is a procedure."
+msgstr "»%s« ist eine Prozedur."
+
+#: catalog/pg_proc.c:415
+#, c-format
+msgid "\"%s\" is a window function."
+msgstr "»%s« ist eine Fensterfunktion."
+
+#: catalog/pg_proc.c:426 catalog/pg_proc.c:450
 #, c-format
 msgid "cannot change return type of existing function"
 msgstr "kann Rückgabetyp einer bestehenden Funktion nicht ändern"
 
-#: catalog/pg_proc.c:415 catalog/pg_proc.c:439 catalog/pg_proc.c:482
-#: catalog/pg_proc.c:506 catalog/pg_proc.c:532
+#: catalog/pg_proc.c:427 catalog/pg_proc.c:452 catalog/pg_proc.c:495
+#: catalog/pg_proc.c:519 catalog/pg_proc.c:545
 #, c-format
 msgid "Use DROP FUNCTION %s first."
 msgstr "Verwenden Sie zuerst DROP FUNCTION %s."
 
-#: catalog/pg_proc.c:438
+#: catalog/pg_proc.c:451
 #, c-format
 msgid "Row type defined by OUT parameters is different."
 msgstr "Der von OUT-Parametern bestimmte Zeilentyp ist verschieden."
 
-#: catalog/pg_proc.c:480
+#: catalog/pg_proc.c:493
 #, c-format
 msgid "cannot change name of input parameter \"%s\""
 msgstr "kann Name des Eingabeparameters »%s« nicht ändern"
 
-#: catalog/pg_proc.c:505
+#: catalog/pg_proc.c:518
 #, c-format
 msgid "cannot remove parameter defaults from existing function"
 msgstr "kann Parametervorgabewerte einer bestehenden Funktion nicht entfernen"
 
-#: catalog/pg_proc.c:531
+#: catalog/pg_proc.c:544
 #, c-format
 msgid "cannot change data type of existing parameter default value"
 msgstr "kann Datentyp eines bestehenden Parametervorgabewerts nicht ändern"
 
-#: catalog/pg_proc.c:544
-#, c-format
-msgid "function \"%s\" is an aggregate function"
-msgstr "Funktion »%s« ist eine Aggregatfunktion"
-
-#: catalog/pg_proc.c:549
-#, c-format
-msgid "function \"%s\" is not an aggregate function"
-msgstr "Funktion »%s« ist keine Aggregatfunktion"
-
-#: catalog/pg_proc.c:557
-#, c-format
-msgid "function \"%s\" is a window function"
-msgstr "Funktion %s ist eine Fensterfunktion"
-
-#: catalog/pg_proc.c:562
-#, c-format
-msgid "function \"%s\" is not a window function"
-msgstr "Funktion »%s« ist keine Fensterfunktion"
-
-#: catalog/pg_proc.c:768
+#: catalog/pg_proc.c:753
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "es gibt keine eingebaute Funktion namens %s"
 
-#: catalog/pg_proc.c:866
+#: catalog/pg_proc.c:851
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "SQL-Funktionen können keinen Rückgabetyp »%s« haben"
 
-#: catalog/pg_proc.c:881
+#: catalog/pg_proc.c:866
 #, 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:967 executor/functions.c:1424
+#: catalog/pg_proc.c:954 executor/functions.c:1434
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "SQL-Funktion »%s«"
 
+#: catalog/pg_publication.c:57 commands/trigger.c:235 commands/trigger.c:253
+#, c-format
+msgid "\"%s\" is a partitioned table"
+msgstr "»%s« ist eine partitionierte Tabelle"
+
 #: catalog/pg_publication.c:59
 #, c-format
+msgid "Adding partitioned tables to publications is not supported."
+msgstr "Partitionierte Tabellen in Publikationen werden nicht unterstützt."
+
+#: catalog/pg_publication.c:60
+#, c-format
+msgid "You can add the table partitions individually."
+msgstr "Sie können die Tabellenpartitionen einzeln hinzufügen."
+
+#: catalog/pg_publication.c:68
+#, c-format
 msgid "Only tables can be added to publications."
 msgstr "Nur Tabellen können Teil einer Publikationen sein."
 
-#: catalog/pg_publication.c:65
+#: catalog/pg_publication.c:74
 #, c-format
 msgid "\"%s\" is a system table"
 msgstr "»%s« ist eine Systemtabelle"
 
-#: catalog/pg_publication.c:67
+#: catalog/pg_publication.c:76
 #, c-format
 msgid "System tables cannot be added to publications."
 msgstr "Systemtabellen können nicht Teil einer Publikationen sein."
 
-#: catalog/pg_publication.c:73
+#: catalog/pg_publication.c:82
 #, c-format
 msgid "table \"%s\" cannot be replicated"
 msgstr "Tabelle »%s« kann nicht repliziert werden"
 
-#: catalog/pg_publication.c:75
+#: catalog/pg_publication.c:84
 #, c-format
 msgid "Temporary and unlogged relations cannot be replicated."
 msgstr "Temporäre und ungeloggte Tabellen können nicht repliziert werden."
 
-#: catalog/pg_publication.c:134
+#: catalog/pg_publication.c:175
 #, c-format
 msgid "relation \"%s\" is already member of publication \"%s\""
 msgstr "Relation »%s« ist schon Mitglied der Publikation »%s«"
 
-#: catalog/pg_publication.c:361 catalog/pg_publication.c:382
-#: commands/publicationcmds.c:430 commands/publicationcmds.c:715
+#: catalog/pg_publication.c:403 catalog/pg_publication.c:424
+#: commands/publicationcmds.c:415 commands/publicationcmds.c:716
 #, c-format
 msgid "publication \"%s\" does not exist"
 msgstr "Publikation »%s« existiert nicht"
 
-#: catalog/pg_shdepend.c:691
+#: catalog/pg_shdepend.c:692
 #, c-format
 msgid ""
 "\n"
@@ -4932,98 +4981,98 @@ msgstr[1] ""
 "\n"
 "und Objekte in %d anderen Datenbanken (Liste im Serverlog)"
 
-#: catalog/pg_shdepend.c:997
+#: catalog/pg_shdepend.c:998
 #, c-format
 msgid "role %u was concurrently dropped"
 msgstr "Rolle %u wurde gleichzeitig gelöscht"
 
-#: catalog/pg_shdepend.c:1016
+#: catalog/pg_shdepend.c:1017
 #, c-format
 msgid "tablespace %u was concurrently dropped"
 msgstr "Tablespace %u wurde gleichzeitig gelöscht"
 
-#: catalog/pg_shdepend.c:1031
+#: catalog/pg_shdepend.c:1032
 #, c-format
 msgid "database %u was concurrently dropped"
 msgstr "Datenbank %u wurde gleichzeitig gelöscht"
 
-#: catalog/pg_shdepend.c:1076
+#: catalog/pg_shdepend.c:1077
 #, c-format
 msgid "owner of %s"
 msgstr "Eigentümer von %s"
 
-#: catalog/pg_shdepend.c:1078
+#: catalog/pg_shdepend.c:1079
 #, c-format
 msgid "privileges for %s"
 msgstr "Privilegien für %s"
 
-#: catalog/pg_shdepend.c:1080
+#: catalog/pg_shdepend.c:1081
 #, c-format
 msgid "target of %s"
 msgstr "Ziel von %s"
 
 #. translator: %s will always be "database %s"
-#: catalog/pg_shdepend.c:1088
+#: catalog/pg_shdepend.c:1089
 #, 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:1199
+#: catalog/pg_shdepend.c:1200
 #, 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:1314
+#: catalog/pg_shdepend.c:1315
 #, 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:158 commands/subscriptioncmds.c:373
-#: commands/subscriptioncmds.c:481 commands/subscriptioncmds.c:651
+#: catalog/pg_subscription.c:176 commands/subscriptioncmds.c:633
+#: commands/subscriptioncmds.c:843 commands/subscriptioncmds.c:1067
 #, c-format
 msgid "subscription \"%s\" does not exist"
 msgstr "Subskription »%s« existiert nicht"
 
-#: catalog/pg_type.c:136 catalog/pg_type.c:452
+#: catalog/pg_type.c:135 catalog/pg_type.c:451
 #, 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:251
+#: catalog/pg_type.c:250
 #, c-format
 msgid "invalid type internal size %d"
 msgstr "ungültige interne Typgröße %d"
 
-#: catalog/pg_type.c:267 catalog/pg_type.c:275 catalog/pg_type.c:283
-#: catalog/pg_type.c:292
+#: catalog/pg_type.c:266 catalog/pg_type.c:274 catalog/pg_type.c:282
+#: catalog/pg_type.c:291
 #, 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:299
+#: catalog/pg_type.c:298
 #, 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:308 catalog/pg_type.c:314
+#: catalog/pg_type.c:307 catalog/pg_type.c:313
 #, 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:322
+#: catalog/pg_type.c:321
 #, 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:781
+#: catalog/pg_type.c:800
 #, c-format
 msgid "could not form array type name for type \"%s\""
 msgstr "konnte keinen Arraytypnamen für Datentyp »%s« erzeugen"
 
-#: catalog/toasting.c:105 commands/indexcmds.c:395 commands/tablecmds.c:4677
-#: commands/tablecmds.c:12627
+#: catalog/toasting.c:105 commands/indexcmds.c:447 commands/tablecmds.c:4974
+#: commands/tablecmds.c:13395
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "»%s« ist keine Tabelle oder materialisierte Sicht"
@@ -5033,152 +5082,163 @@ msgstr "»%s« ist keine Tabelle oder materialisierte Sicht"
 msgid "shared tables cannot be toasted after initdb"
 msgstr "Cluster-globale Tabellen können nach initdb nicht mehr getoastet werden"
 
-#: commands/aggregatecmds.c:157
+#: commands/aggregatecmds.c:166
 #, c-format
 msgid "only ordered-set aggregates can be hypothetical"
 msgstr "nur Ordered-Set-Aggregatfunktionen können Hypothetical-Set-Aggregatfunktionen sein"
 
-#: commands/aggregatecmds.c:182
+#: commands/aggregatecmds.c:191
 #, c-format
 msgid "aggregate attribute \"%s\" not recognized"
 msgstr "Attribut »%s« für Aggregatfunktion unbekannt"
 
-#: commands/aggregatecmds.c:192
+#: commands/aggregatecmds.c:201
 #, c-format
 msgid "aggregate stype must be specified"
 msgstr "»stype« für Aggregatfunktion muss angegeben werden"
 
-#: commands/aggregatecmds.c:196
+#: commands/aggregatecmds.c:205
 #, c-format
 msgid "aggregate sfunc must be specified"
 msgstr "»sfunc« für Aggregatfunktion muss angegeben werden"
 
-#: commands/aggregatecmds.c:208
+#: commands/aggregatecmds.c:217
 #, c-format
 msgid "aggregate msfunc must be specified when mstype is specified"
 msgstr "»msfunc« für Aggregatfunktion muss angegeben werden, wenn »mstype« angegeben ist"
 
-#: commands/aggregatecmds.c:212
+#: commands/aggregatecmds.c:221
 #, c-format
 msgid "aggregate minvfunc must be specified when mstype is specified"
 msgstr "»minvfunc« für Aggregatfunktion muss angegeben werden, wenn »mstype« angegeben ist"
 
-#: commands/aggregatecmds.c:219
+#: commands/aggregatecmds.c:228
 #, c-format
 msgid "aggregate msfunc must not be specified without mstype"
 msgstr "»msfunc« für Aggregatfunktion darf nicht angegeben werden, wenn »mstype« nicht angegeben ist"
 
-#: commands/aggregatecmds.c:223
+#: commands/aggregatecmds.c:232
 #, c-format
 msgid "aggregate minvfunc must not be specified without mstype"
 msgstr "»minvfunc« für Aggregatfunktion darf nicht angegeben werden, wenn »mstype« nicht angegeben ist"
 
-#: commands/aggregatecmds.c:227
+#: commands/aggregatecmds.c:236
 #, c-format
 msgid "aggregate mfinalfunc must not be specified without mstype"
 msgstr "»mfinalfunc« für Aggregatfunktion darf nicht angegeben werden, wenn »mstype« nicht angegeben ist"
 
-#: commands/aggregatecmds.c:231
+#: commands/aggregatecmds.c:240
 #, c-format
 msgid "aggregate msspace must not be specified without mstype"
 msgstr "»msspace« für Aggregatfunktion darf nicht angegeben werden, wenn »mstype« nicht angegeben ist"
 
-#: commands/aggregatecmds.c:235
+#: commands/aggregatecmds.c:244
 #, c-format
 msgid "aggregate minitcond must not be specified without mstype"
 msgstr "»minitcond« für Aggregatfunktion darf nicht angegeben werden, wenn »mstype« nicht angegeben ist"
 
-#: commands/aggregatecmds.c:255
+#: commands/aggregatecmds.c:273
 #, c-format
 msgid "aggregate input type must be specified"
 msgstr "Eingabetyp für Aggregatfunktion muss angegeben werden"
 
-#: commands/aggregatecmds.c:285
+#: commands/aggregatecmds.c:303
 #, c-format
 msgid "basetype is redundant with aggregate input type specification"
 msgstr "Angabe »basetype« ist überflüssig bei Angabe des Eingabetyps der Aggregatfunktion"
 
-#: commands/aggregatecmds.c:326 commands/aggregatecmds.c:367
+#: commands/aggregatecmds.c:344 commands/aggregatecmds.c:385
 #, c-format
 msgid "aggregate transition data type cannot be %s"
 msgstr "Übergangsdatentyp von Aggregatfunktion kann nicht %s sein"
 
-#: commands/aggregatecmds.c:338
+#: commands/aggregatecmds.c:356
 #, c-format
 msgid "serialization functions may be specified only when the aggregate transition data type is %s"
 msgstr "Serialisierungsfunktionen dürfen nur angegeben werden, wenn der Übergangsdatentyp der Aggregatfunktion %s ist"
 
-#: commands/aggregatecmds.c:348
+#: commands/aggregatecmds.c:366
 #, c-format
 msgid "must specify both or neither of serialization and deserialization functions"
 msgstr "Serialisierungs- und Deserialisierungsfunktionen müssen zusammen angegeben werden"
 
-#: commands/aggregatecmds.c:413 commands/functioncmds.c:564
+#: commands/aggregatecmds.c:431 commands/functioncmds.c:602
 #, c-format
 msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE"
 msgstr "Parameter »parallel« muss SAFE, RESTRICTED oder UNSAFE sein"
 
-#: commands/alter.c:83 commands/event_trigger.c:233
+#: commands/aggregatecmds.c:486
+#, fuzzy, c-format
+#| msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE"
+msgid "parameter \"%s\" must be READ_ONLY, SHARABLE, or READ_WRITE"
+msgstr "Parameter »parallel« muss SAFE, RESTRICTED oder UNSAFE sein"
+
+#: commands/alter.c:84 commands/event_trigger.c:236
 #, c-format
 msgid "event trigger \"%s\" already exists"
 msgstr "Ereignistrigger »%s« existiert bereits"
 
-#: commands/alter.c:86 commands/foreigncmds.c:595
+#: commands/alter.c:87 commands/foreigncmds.c:595
 #, c-format
 msgid "foreign-data wrapper \"%s\" already exists"
 msgstr "Fremddaten-Wrapper »%s« existiert bereits"
 
-#: commands/alter.c:89 commands/foreigncmds.c:886
+#: commands/alter.c:90 commands/foreigncmds.c:898
 #, c-format
 msgid "server \"%s\" already exists"
 msgstr "Server »%s« existiert bereits"
 
-#: commands/alter.c:92 commands/proclang.c:367
+#: commands/alter.c:93 commands/proclang.c:363
 #, c-format
 msgid "language \"%s\" already exists"
 msgstr "Sprache »%s« existiert bereits"
 
-#: commands/alter.c:95 commands/publicationcmds.c:189
+#: commands/alter.c:96 commands/publicationcmds.c:176
 #, c-format
 msgid "publication \"%s\" already exists"
 msgstr "Publikation »%s« existiert bereits"
 
-#: commands/alter.c:98 commands/subscriptioncmds.c:256
+#: commands/alter.c:99 commands/subscriptioncmds.c:358
 #, c-format
 msgid "subscription \"%s\" already exists"
 msgstr "Subskription »%s« existiert bereits"
 
-#: commands/alter.c:121
+#: commands/alter.c:122
 #, c-format
 msgid "conversion \"%s\" already exists in schema \"%s\""
 msgstr "Konversion »%s« existiert bereits in Schema »%s«"
 
-#: commands/alter.c:125
+#: commands/alter.c:126
+#, c-format
+msgid "statistics object \"%s\" already exists in schema \"%s\""
+msgstr "Statistikobjekt »%s« existiert bereits in Schema »%s«"
+
+#: commands/alter.c:130
 #, c-format
 msgid "text search parser \"%s\" already exists in schema \"%s\""
 msgstr "Textsucheparser »%s« existiert bereits in Schema »%s«"
 
-#: commands/alter.c:129
+#: commands/alter.c:134
 #, c-format
 msgid "text search dictionary \"%s\" already exists in schema \"%s\""
 msgstr "Textsuchewörterbuch »%s« existiert bereits in Schema »%s«"
 
-#: commands/alter.c:133
+#: commands/alter.c:138
 #, c-format
 msgid "text search template \"%s\" already exists in schema \"%s\""
 msgstr "Textsuchevorlage »%s« existiert bereits in Schema »%s«"
 
-#: commands/alter.c:137
+#: commands/alter.c:142
 #, c-format
 msgid "text search configuration \"%s\" already exists in schema \"%s\""
 msgstr "Textsuchekonfiguration »%s« existiert bereits in Schema »%s«"
 
-#: commands/alter.c:211
+#: commands/alter.c:216
 #, c-format
 msgid "must be superuser to rename %s"
 msgstr "nur Superuser können %s umbenennen"
 
-#: commands/alter.c:670
+#: commands/alter.c:713
 #, c-format
 msgid "must be superuser to set schema of %s"
 msgstr "nur Superuser können Schema von %s setzen"
@@ -5203,8 +5263,8 @@ msgstr "Zugriffsmethode »%s« existiert bereits"
 msgid "must be superuser to drop access methods"
 msgstr "nur Superuser können Zugriffsmethoden löschen"
 
-#: commands/amcmds.c:174 commands/indexcmds.c:163 commands/indexcmds.c:502
-#: commands/opclasscmds.c:363 commands/opclasscmds.c:777
+#: commands/amcmds.c:174 commands/indexcmds.c:172 commands/indexcmds.c:587
+#: commands/opclasscmds.c:364 commands/opclasscmds.c:778
 #, c-format
 msgid "access method \"%s\" does not exist"
 msgstr "Zugriffsmethode »%s« existiert nicht"
@@ -5214,179 +5274,200 @@ msgstr "Zugriffsmethode »%s« existiert nicht"
 msgid "handler function is not specified"
 msgstr "keine Handler-Funktion angegeben"
 
-#: commands/amcmds.c:262 commands/event_trigger.c:242
-#: commands/foreigncmds.c:487 commands/proclang.c:117 commands/proclang.c:289
-#: commands/trigger.c:531 parser/parse_clause.c:961
+#: commands/amcmds.c:262 commands/event_trigger.c:245
+#: commands/foreigncmds.c:487 commands/proclang.c:116 commands/proclang.c:285
+#: commands/trigger.c:696 parser/parse_clause.c:989
 #, c-format
 msgid "function %s must return type %s"
 msgstr "Function %s muss Rückgabetyp %s haben"
 
-#: commands/analyze.c:145
+#: commands/analyze.c:187
 #, c-format
 msgid "skipping analyze of \"%s\" --- lock not available"
 msgstr "überspringe Analyze von »%s« --- Sperre nicht verfügbar"
 
-#: commands/analyze.c:162
+#: commands/analyze.c:192
+#, c-format
+msgid "skipping analyze of \"%s\" --- relation no longer exists"
+msgstr "überspringe Analyze von »%s« --- Relation existiert nicht mehr"
+
+#: commands/analyze.c:209
 #, c-format
 msgid "skipping \"%s\" --- only superuser can analyze it"
 msgstr "überspringe »%s« --- nur Superuser kann sie analysieren"
 
-#: commands/analyze.c:166
+#: commands/analyze.c:213
 #, 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/analyze.c:170
+#: commands/analyze.c:217
 #, 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/analyze.c:230
+#: commands/analyze.c:275
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze this foreign table"
 msgstr "überspringe »%s« --- kann diese Fremdtabelle nicht analysieren"
 
-#: commands/analyze.c:247
+#: commands/analyze.c:292
 #, 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:328
+#: commands/analyze.c:373
 #, c-format
 msgid "analyzing \"%s.%s\" inheritance tree"
 msgstr "analysiere Vererbungsbaum von »%s.%s«"
 
-#: commands/analyze.c:333
+#: commands/analyze.c:378
 #, c-format
 msgid "analyzing \"%s.%s\""
 msgstr "analysiere »%s.%s«"
 
-#: commands/analyze.c:658
+#: commands/analyze.c:438
+#, c-format
+msgid "column \"%s\" of relation \"%s\" appears more than once"
+msgstr "Spalte »%s« von Relation »%s« erscheint mehrmals"
+
+#: commands/analyze.c:718
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s"
 msgstr "automatisches Analysieren von Tabelle »%s.%s.%s« Systembenutzung: %s"
 
-#: commands/analyze.c:1212
+#: commands/analyze.c:1273
 #, 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:1292
+#: commands/analyze.c:1353
 #, 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:1390
+#: commands/analyze.c:1451
 #, 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:555
+#: commands/async.c:558
 #, c-format
 msgid "channel name cannot be empty"
 msgstr "Kanalname kann nicht leer sein"
 
-#: commands/async.c:560
+#: commands/async.c:563
 #, c-format
 msgid "channel name too long"
 msgstr "Kanalname zu lang"
 
-#: commands/async.c:567
+#: commands/async.c:570
 #, c-format
 msgid "payload string too long"
 msgstr "Payload-Zeichenkette zu lang"
 
-#: commands/async.c:753
+#: commands/async.c:756
 #, 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:856
+#: commands/async.c:859
 #, c-format
 msgid "too many notifications in the NOTIFY queue"
 msgstr "zu viele Benachrichtigungen in NOTIFY-Schlange"
 
-#: commands/async.c:1486
+#: commands/async.c:1491
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "NOTIFY-Schlange ist %.0f%% voll"
 
-#: commands/async.c:1488
+#: commands/async.c:1493
 #, 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:1491
+#: commands/async.c:1496
 #, 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:129 commands/cluster.c:364
+#: commands/cluster.c:129 commands/cluster.c:372
 #, c-format
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht clustern"
 
-#: commands/cluster.c:159
+#: commands/cluster.c:137
+#, c-format
+msgid "cannot cluster a partitioned table"
+msgstr "eine partitionierte Tabelle kann nicht geclustert werden"
+
+#: commands/cluster.c:167
 #, 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:173 commands/tablecmds.c:9858 commands/tablecmds.c:11721
+#: commands/cluster.c:181 commands/tablecmds.c:10629 commands/tablecmds.c:12488
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "Index »%s« für Tabelle »%s« existiert nicht"
 
-#: commands/cluster.c:353
+#: commands/cluster.c:361
 #, c-format
 msgid "cannot cluster a shared catalog"
 msgstr "globaler Katalog kann nicht geclustert werden"
 
-#: commands/cluster.c:368
+#: commands/cluster.c:376
 #, c-format
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "temporäre Tabellen anderer Sitzungen können nicht gevacuumt werden"
 
-#: commands/cluster.c:431 commands/tablecmds.c:11731
+#: commands/cluster.c:439 commands/tablecmds.c:12498
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "»%s« ist kein Index für Tabelle »%s«"
 
-#: commands/cluster.c:439
+#: commands/cluster.c:447
 #, 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:451
+#: commands/cluster.c:459
 #, c-format
 msgid "cannot cluster on partial index \"%s\""
 msgstr "kann nicht anhand des partiellen Index »%s« clustern"
 
-#: commands/cluster.c:465
+#: commands/cluster.c:473
 #, c-format
 msgid "cannot cluster on invalid index \"%s\""
 msgstr "kann nicht anhand des ungültigen Index »%s« clustern"
 
-#: commands/cluster.c:918
+#: commands/cluster.c:497
+#, fuzzy, c-format
+#| msgid "cannot create index on partitioned table \"%s\""
+msgid "cannot mark index clustered in partitioned table"
+msgstr "kann keinen Index für partitionierte Tabelle »%s« erzeugen"
+
+#: commands/cluster.c:938
 #, c-format
 msgid "clustering \"%s.%s\" using index scan on \"%s\""
 msgstr "clustere »%s.%s« durch Index-Scan von »%s«"
 
-#: commands/cluster.c:924
+#: commands/cluster.c:944
 #, c-format
 msgid "clustering \"%s.%s\" using sequential scan and sort"
 msgstr "clustere »%s.%s« durch sequenziellen Scan und Sortieren"
 
-#: commands/cluster.c:929 commands/vacuumlazy.c:486
+#: commands/cluster.c:949 commands/vacuumlazy.c:505
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "vacuume »%s.%s«"
 
-#: commands/cluster.c:1084
+#: commands/cluster.c:1106
 #, 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"
 
-#: commands/cluster.c:1088
+#: commands/cluster.c:1110
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -5395,66 +5476,92 @@ msgstr ""
 "%.0f tote Zeilenversionen können noch nicht entfernt werden.\n"
 "%s."
 
-#: commands/collationcmds.c:79
+#: commands/collationcmds.c:100
 #, c-format
 msgid "collation attribute \"%s\" not recognized"
 msgstr "Attribut »%s« für Sortierfolge unbekannt"
 
-#: commands/collationcmds.c:125
+#: commands/collationcmds.c:142
+#, c-format
+msgid "collation \"default\" cannot be copied"
+msgstr "Sortierfolge »default« kann nicht kopiert werden"
+
+#: commands/collationcmds.c:172
+#, c-format
+msgid "unrecognized collation provider: %s"
+msgstr "unbekannter Sortierfolgen-Provider: %s"
+
+#: commands/collationcmds.c:181
 #, c-format
 msgid "parameter \"lc_collate\" must be specified"
 msgstr "Parameter »lc_collate« muss angegeben werden"
 
-#: commands/collationcmds.c:130
+#: commands/collationcmds.c:186
 #, c-format
 msgid "parameter \"lc_ctype\" must be specified"
 msgstr "Parameter »lc_ctype« muss angegeben werden"
 
-#: commands/collationcmds.c:170
+#: commands/collationcmds.c:245
 #, 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:181
+#: commands/collationcmds.c:256
 #, c-format
 msgid "collation \"%s\" already exists in schema \"%s\""
 msgstr "Sortierfolge »%s« existiert bereits in Schema »%s«"
 
-#: commands/collationcmds.c:243
+#: commands/collationcmds.c:304
 #, c-format
-msgid "must be superuser to import system collations"
-msgstr "nur Superuser können Systemsortierfolgen importieren"
+msgid "changing version from %s to %s"
+msgstr "Version wird von %s in %s geändert"
 
-#: commands/collationcmds.c:250 commands/copy.c:1827 commands/copy.c:3013
+#: commands/collationcmds.c:319
 #, c-format
-msgid "could not execute command \"%s\": %m"
-msgstr "konnte Befehl »%s« nicht ausführen: %m"
+msgid "version has not changed"
+msgstr "Version hat sich nicht geändert"
 
-#: commands/collationcmds.c:343
+#: commands/collationcmds.c:450
 #, c-format
-msgid "no usable system locales were found"
+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:511
+#, c-format
+msgid "must be superuser to import system collations"
+msgstr "nur Superuser können Systemsortierfolgen importieren"
+
+#: commands/collationcmds.c:534 commands/copy.c:1826 commands/copy.c:3132
+#: libpq/be-secure-common.c:80
+#, c-format
+msgid "could not execute command \"%s\": %m"
+msgstr "konnte Befehl »%s« nicht ausführen: %m"
+
+#: commands/collationcmds.c:665
+#, c-format
+msgid "no usable system locales were found"
 msgstr "keine brauchbaren System-Locales gefunden"
 
-#: commands/comment.c:61 commands/dbcommands.c:808 commands/dbcommands.c:988
-#: commands/dbcommands.c:1092 commands/dbcommands.c:1282
-#: commands/dbcommands.c:1505 commands/dbcommands.c:1619
-#: commands/dbcommands.c:2035 utils/init/postinit.c:841
-#: utils/init/postinit.c:943 utils/init/postinit.c:960
+#: commands/comment.c:61 commands/dbcommands.c:808 commands/dbcommands.c:996
+#: commands/dbcommands.c:1100 commands/dbcommands.c:1290
+#: commands/dbcommands.c:1513 commands/dbcommands.c:1627
+#: commands/dbcommands.c:2043 utils/init/postinit.c:853
+#: utils/init/postinit.c:958 utils/init/postinit.c:975
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "Datenbank »%s« existiert nicht"
 
-#: commands/comment.c:100 commands/seclabel.c:117 parser/parse_utilcmd.c:824
+#: commands/comment.c:101 commands/seclabel.c:117 parser/parse_utilcmd.c:924
 #, 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/constraint.c:60 utils/adt/ri_triggers.c:2715
+#: commands/constraint.c:60 utils/adt/ri_triggers.c:2256
 #, c-format
 msgid "function \"%s\" was not called by trigger manager"
 msgstr "Funktion »%s« wurde nicht von Triggermanager aufgerufen"
 
-#: commands/constraint.c:67 utils/adt/ri_triggers.c:2724
+#: commands/constraint.c:67 utils/adt/ri_triggers.c:2265
 #, c-format
 msgid "function \"%s\" must be fired AFTER ROW"
 msgstr "Funktion »%s« muss AFTER ROW ausgelöst werden"
@@ -5464,561 +5571,554 @@ msgstr "Funktion »%s« muss AFTER ROW ausgelöst werden"
 msgid "function \"%s\" must be fired for INSERT or UPDATE"
 msgstr "Funktion »%s« muss von INSERT oder UPDATE ausgelöst werden"
 
-#: commands/conversioncmds.c:66
+#: commands/conversioncmds.c:65
 #, c-format
 msgid "source encoding \"%s\" does not exist"
 msgstr "Quellkodierung »%s« existiert nicht"
 
-#: commands/conversioncmds.c:73
+#: commands/conversioncmds.c:72
 #, c-format
 msgid "destination encoding \"%s\" does not exist"
 msgstr "Zielkodierung »%s« existiert nicht"
 
-#: commands/conversioncmds.c:87
+#: commands/conversioncmds.c:86
 #, c-format
 msgid "encoding conversion function %s must return type %s"
 msgstr "Kodierungskonversionsfunktion %s muss Typ %s zurückgeben"
 
-#: commands/copy.c:369 commands/copy.c:403
+#: commands/copy.c:372 commands/copy.c:406
 #, c-format
 msgid "COPY BINARY is not supported to stdout or from stdin"
 msgstr "COPY BINARY mit STDOUT oder STDIN wird nicht unterstützt"
 
-#: commands/copy.c:503
+#: commands/copy.c:506
 #, c-format
 msgid "could not write to COPY program: %m"
 msgstr "konnte nicht zum COPY-Programm schreiben: %m"
 
-#: commands/copy.c:508
+#: commands/copy.c:511
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "konnte nicht in COPY-Datei schreiben: %m"
 
-#: commands/copy.c:521
+#: commands/copy.c:524
 #, c-format
 msgid "connection lost during COPY to stdout"
 msgstr "Verbindung während COPY nach STDOUT verloren"
 
-#: commands/copy.c:562
+#: commands/copy.c:568
 #, c-format
 msgid "could not read from COPY file: %m"
 msgstr "konnte nicht aus COPY-Datei lesen: %m"
 
-#: commands/copy.c:578 commands/copy.c:599 commands/copy.c:603
-#: tcop/postgres.c:341 tcop/postgres.c:377 tcop/postgres.c:404
+#: commands/copy.c:584 commands/copy.c:605 commands/copy.c:609
+#: tcop/postgres.c:348 tcop/postgres.c:384 tcop/postgres.c:411
 #, c-format
 msgid "unexpected EOF on client connection with an open transaction"
 msgstr "unerwartetes EOF auf Client-Verbindung mit einer offenen Transaktion"
 
-#: commands/copy.c:616
+#: commands/copy.c:622
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "COPY FROM STDIN fehlgeschlagen: %s"
 
-#: commands/copy.c:632
+#: commands/copy.c:638
 #, c-format
 msgid "unexpected message type 0x%02X during COPY from stdin"
 msgstr "unerwarteter Messagetyp 0x%02X während COPY FROM STDIN"
 
-#: commands/copy.c:791
+#: commands/copy.c:804
 #, c-format
-msgid "must be superuser to COPY to or from an external program"
-msgstr "nur Superuser können COPY mit externen Programmen verwenden"
+msgid "must be superuser or a member 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:792 commands/copy.c:798
+#: commands/copy.c:805 commands/copy.c:814 commands/copy.c:821
 #, c-format
 msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works for anyone."
 msgstr "Jeder kann COPY mit STDOUT oder STDIN verwenden. Der Befehl \\copy in psql funktioniert auch für jeden."
 
-#: commands/copy.c:797
+#: commands/copy.c:813
+#, c-format
+msgid "must be superuser or a member 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:820
 #, c-format
-msgid "must be superuser to COPY to or from a file"
-msgstr "nur Superuser können COPY mit Dateien verwenden"
+msgid "must be superuser or a member 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:864
+#: commands/copy.c:883
 #, c-format
 msgid "COPY FROM not supported with row-level security"
 msgstr "COPY FROM wird nicht unterstützt mit Sicherheit auf Zeilenebene"
 
-#: commands/copy.c:865
+#: commands/copy.c:884
 #, c-format
 msgid "Use INSERT statements instead."
 msgstr "Verwenden Sie stattdessen INSERT-Anweisungen."
 
-#: commands/copy.c:1051
+#: commands/copy.c:1069
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "COPY-Format »%s« nicht erkannt"
 
-#: commands/copy.c:1131 commands/copy.c:1147 commands/copy.c:1162
-#: commands/copy.c:1184
+#: commands/copy.c:1149 commands/copy.c:1165 commands/copy.c:1180
+#: commands/copy.c:1202
 #, 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:1199
+#: commands/copy.c:1217
 #, 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:1206 commands/dbcommands.c:242 commands/dbcommands.c:1453
+#: commands/copy.c:1224 commands/dbcommands.c:242 commands/dbcommands.c:1461
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "Option »%s« nicht erkannt"
 
-#: commands/copy.c:1218
+#: commands/copy.c:1236
 #, c-format
 msgid "cannot specify DELIMITER in BINARY mode"
 msgstr "DELIMITER kann nicht im BINARY-Modus angegeben werden"
 
-#: commands/copy.c:1223
+#: commands/copy.c:1241
 #, c-format
 msgid "cannot specify NULL in BINARY mode"
 msgstr "NULL kann nicht im BINARY-Modus angegeben werden"
 
-#: commands/copy.c:1245
+#: commands/copy.c:1263
 #, 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:1252
+#: commands/copy.c:1270
 #, c-format
 msgid "COPY delimiter cannot be newline or carriage return"
 msgstr "COPY-Trennzeichen kann nicht Newline oder Carriage Return sein"
 
-#: commands/copy.c:1258
+#: commands/copy.c:1276
 #, 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:1275
+#: commands/copy.c:1293
 #, c-format
 msgid "COPY delimiter cannot be \"%s\""
 msgstr "DELIMITER für COPY darf nicht »%s« sein"
 
-#: commands/copy.c:1281
+#: commands/copy.c:1299
 #, c-format
 msgid "COPY HEADER available only in CSV mode"
 msgstr "COPY HEADER ist nur im CSV-Modus verfügbar"
 
-#: commands/copy.c:1287
+#: commands/copy.c:1305
 #, 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:1292
+#: commands/copy.c:1310
 #, 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:1297
+#: commands/copy.c:1315
 #, c-format
 msgid "COPY delimiter and quote must be different"
 msgstr "DELIMITER und QUOTE für COPY müssen verschieden sein"
 
-#: commands/copy.c:1303
+#: commands/copy.c:1321
 #, 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:1308
+#: commands/copy.c:1326
 #, 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:1314
+#: commands/copy.c:1332
 #, 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:1318
+#: commands/copy.c:1336
 #, c-format
 msgid "COPY force quote only available using COPY TO"
 msgstr "FORCE_QUOTE ist nur bei COPY TO verfügbar"
 
-#: commands/copy.c:1324
+#: commands/copy.c:1342
 #, 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:1328
+#: commands/copy.c:1346
 #, 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:1334
+#: commands/copy.c:1352
 #, 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:1339
+#: commands/copy.c:1357
 #, c-format
 msgid "COPY force null only available using COPY FROM"
 msgstr "FORCE_NULL ist nur bei COPY FROM verfügbar"
 
-#: commands/copy.c:1345
+#: commands/copy.c:1363
 #, 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:1352
+#: commands/copy.c:1370
 #, 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:1413
+#: commands/copy.c:1431
 #, c-format
 msgid "table \"%s\" does not have OIDs"
 msgstr "Tabelle »%s« hat keine OIDs"
 
-#: commands/copy.c:1454
+#: commands/copy.c:1448
 #, c-format
 msgid "COPY (query) WITH OIDS is not supported"
 msgstr "COPY (Anfrage) WITH OIDS wird nicht unterstützt"
 
-#: commands/copy.c:1474
+#: commands/copy.c:1469
 #, 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/copy.c:1488
+#: commands/copy.c:1483
 #, 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/copy.c:1492
+#: commands/copy.c:1487
 #, c-format
 msgid "DO ALSO rules are not supported for the COPY"
 msgstr "DO ALSO-Regeln werden für COPY nicht unterstützt"
 
-#: commands/copy.c:1497
+#: commands/copy.c:1492
 #, 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/copy.c:1507
+#: commands/copy.c:1502
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) wird nicht unterstützt"
 
-#: commands/copy.c:1524
+#: commands/copy.c:1519
 #, c-format
 msgid "COPY query must have a RETURNING clause"
 msgstr "COPY-Anfrage muss eine RETURNING-Klausel haben"
 
-#: commands/copy.c:1552
+#: commands/copy.c:1547
 #, c-format
 msgid "relation referenced by COPY statement has changed"
 msgstr "die von der COPY-Anweisung verwendete Relation hat sich geändert"
 
-#: commands/copy.c:1610
+#: commands/copy.c:1606
 #, c-format
 msgid "FORCE_QUOTE column \"%s\" not referenced by COPY"
 msgstr "FORCE_QUOTE-Spalte »%s« wird von COPY nicht verwendet"
 
-#: commands/copy.c:1632
+#: commands/copy.c:1629
 #, 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/copy.c:1654
+#: commands/copy.c:1652
 #, c-format
 msgid "FORCE_NULL column \"%s\" not referenced by COPY"
 msgstr "Spalte »%s« mit FORCE_NULL wird von COPY nicht verwendet"
 
-#: commands/copy.c:1719
+#: commands/copy.c:1718 libpq/be-secure-common.c:102
 #, c-format
 msgid "could not close pipe to external command: %m"
 msgstr "konnte Pipe zu externem Programm nicht schließen: %m"
 
-#: commands/copy.c:1723
+#: commands/copy.c:1722
 #, c-format
 msgid "program \"%s\" failed"
 msgstr "Programm »%s« fehlgeschlagen"
 
-#: commands/copy.c:1773
+#: commands/copy.c:1772
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "kann nicht aus Sicht »%s« kopieren"
 
-#: commands/copy.c:1775 commands/copy.c:1781 commands/copy.c:1787
-#: commands/copy.c:1798
+#: commands/copy.c:1774 commands/copy.c:1780 commands/copy.c:1786
+#: commands/copy.c:1797
 #, c-format
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "Versuchen Sie die Variante COPY (SELECT ...) TO."
 
-#: commands/copy.c:1779
+#: commands/copy.c:1778
 #, c-format
 msgid "cannot copy from materialized view \"%s\""
 msgstr "kann nicht aus materialisierter Sicht »%s« kopieren"
 
-#: commands/copy.c:1785
+#: commands/copy.c:1784
 #, c-format
 msgid "cannot copy from foreign table \"%s\""
 msgstr "kann nicht aus Fremdtabelle »%s« kopieren"
 
-#: commands/copy.c:1791
+#: commands/copy.c:1790
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "kann nicht aus Sequenz »%s« kopieren"
 
-#: commands/copy.c:1796
+#: commands/copy.c:1795
 #, c-format
 msgid "cannot copy from partitioned table \"%s\""
 msgstr "kann nicht aus partitionierter Tabelle »%s« kopieren"
 
-#: commands/copy.c:1802
+#: commands/copy.c:1801
 #, c-format
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "kann nicht aus Relation »%s«, die keine Tabelle ist, kopieren"
 
-#: commands/copy.c:1842
+#: commands/copy.c:1841
 #, c-format
 msgid "relative path not allowed for COPY to file"
 msgstr "relativer Pfad bei COPY in Datei nicht erlaubt"
 
-#: commands/copy.c:1854
+#: commands/copy.c:1862
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "konnte Datei »%s« nicht zum Schreiben öffnen: %m"
 
-#: commands/copy.c:1857
+#: commands/copy.c:1865
 #, 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 ""
+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/copy.c:1870 commands/copy.c:3044
+#: commands/copy.c:1878 commands/copy.c:3163
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "»%s« ist ein Verzeichnis"
 
-#: commands/copy.c:2193
+#: commands/copy.c:2200
 #, c-format
 msgid "COPY %s, line %d, column %s"
 msgstr "COPY %s, Zeile %d, Spalte %s"
 
-#: commands/copy.c:2197 commands/copy.c:2244
+#: commands/copy.c:2204 commands/copy.c:2251
 #, c-format
 msgid "COPY %s, line %d"
 msgstr "COPY %s, Zeile %d"
 
-#: commands/copy.c:2208
+#: commands/copy.c:2215
 #, c-format
 msgid "COPY %s, line %d, column %s: \"%s\""
 msgstr "COPY %s, Zeile %d, Spalte %s: »%s«"
 
-#: commands/copy.c:2216
+#: commands/copy.c:2223
 #, c-format
 msgid "COPY %s, line %d, column %s: null input"
 msgstr "COPY %s, Zeile %d, Spalte %s: NULL Eingabe"
 
-#: commands/copy.c:2238
+#: commands/copy.c:2245
 #, c-format
 msgid "COPY %s, line %d: \"%s\""
 msgstr "COPY %s, Zeile %d: »%s«"
 
-#: commands/copy.c:2332
+#: commands/copy.c:2341
 #, c-format
 msgid "cannot copy to view \"%s\""
 msgstr "kann nicht in Sicht »%s« kopieren"
 
-#: commands/copy.c:2334
-#, fuzzy, c-format
-#| msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule."
+#: commands/copy.c:2343
+#, c-format
 msgid "To enable copying to a view, provide an INSTEAD OF INSERT trigger."
-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."
+msgstr "Um Kopieren in eine Sicht zu ermöglichen, richten Sie einen INSTEAD OF INSERT Trigger ein."
 
-#: commands/copy.c:2338
+#: commands/copy.c:2347
 #, c-format
 msgid "cannot copy to materialized view \"%s\""
 msgstr "kann nicht in materialisierte Sicht »%s« kopieren"
 
-#: commands/copy.c:2343
-#, c-format
-msgid "cannot copy to foreign table \"%s\""
-msgstr "kann nicht in Fremdtabelle »%s« kopieren"
-
-#: commands/copy.c:2348
+#: commands/copy.c:2352
 #, c-format
 msgid "cannot copy to sequence \"%s\""
 msgstr "kann nicht in Sequenz »%s« kopieren"
 
-#: commands/copy.c:2353
+#: commands/copy.c:2357
 #, c-format
 msgid "cannot copy to non-table relation \"%s\""
 msgstr "kann nicht in Relation »%s« kopieren, die keine Tabelle ist"
 
-#: commands/copy.c:2416
+#: commands/copy.c:2432
 #, c-format
 msgid "cannot perform FREEZE because of prior transaction activity"
 msgstr "FREEZE kann nicht durchgeführt werden wegen vorheriger Aktivität in dieser Transaktion"
 
-#: commands/copy.c:2422
+#: commands/copy.c:2438
 #, c-format
 msgid "cannot perform FREEZE because the table was not created or truncated in the current subtransaction"
 msgstr "FREEZE kann nicht durchgeführt werden, weil die Tabelle nicht in der aktuellen Transaktion erzeugt oder geleert wurde"
 
-#: commands/copy.c:2587 executor/nodeModifyTable.c:311
-#, fuzzy, c-format
-#| msgid "cannot insert into foreign table \"%s\""
-msgid "cannot route inserted tuples to a foreign table"
-msgstr "kann nicht in Fremdtabelle »%s« einfügen"
-
-#: commands/copy.c:3031
+#: commands/copy.c:3150
 #, 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 ""
+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/copy.c:3064
+#: commands/copy.c:3183
 #, c-format
 msgid "COPY file signature not recognized"
 msgstr "COPY-Datei-Signatur nicht erkannt"
 
-#: commands/copy.c:3069
+#: commands/copy.c:3188
 #, c-format
 msgid "invalid COPY file header (missing flags)"
 msgstr "ungültiger COPY-Dateikopf (Flags fehlen)"
 
-#: commands/copy.c:3075
+#: commands/copy.c:3194
 #, c-format
 msgid "unrecognized critical flags in COPY file header"
 msgstr "unbekannte kritische Flags im COPY-Dateikopf"
 
-#: commands/copy.c:3081
+#: commands/copy.c:3200
 #, c-format
 msgid "invalid COPY file header (missing length)"
 msgstr "ungültiger COPY-Dateikopf (Länge fehlt)"
 
-#: commands/copy.c:3088
+#: commands/copy.c:3207
 #, c-format
 msgid "invalid COPY file header (wrong length)"
 msgstr "ungültiger COPY-Dateikopf (falsche Länge)"
 
-#: commands/copy.c:3221 commands/copy.c:3928 commands/copy.c:4158
+#: commands/copy.c:3338 commands/copy.c:4047 commands/copy.c:4277
 #, c-format
 msgid "extra data after last expected column"
 msgstr "zusätzliche Daten nach letzter erwarteter Spalte"
 
-#: commands/copy.c:3231
+#: commands/copy.c:3348
 #, c-format
 msgid "missing data for OID column"
 msgstr "fehlende Daten für OID-Spalte"
 
-#: commands/copy.c:3237
+#: commands/copy.c:3354
 #, c-format
 msgid "null OID in COPY data"
 msgstr "OID ist NULL in COPY-Daten"
 
-#: commands/copy.c:3247 commands/copy.c:3370
+#: commands/copy.c:3364 commands/copy.c:3488
 #, c-format
 msgid "invalid OID in COPY data"
 msgstr "ungültige OID in COPY-Daten"
 
-#: commands/copy.c:3262
+#: commands/copy.c:3380
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "fehlende Daten für Spalte »%s«"
 
-#: commands/copy.c:3345
+#: commands/copy.c:3463
 #, c-format
 msgid "received copy data after EOF marker"
 msgstr "COPY-Daten nach EOF-Markierung empfangen"
 
-#: commands/copy.c:3352
+#: commands/copy.c:3470
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "Feldanzahl in Zeile ist %d, erwartet wurden %d"
 
-#: commands/copy.c:3692 commands/copy.c:3709
+#: commands/copy.c:3811 commands/copy.c:3828
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "Carriage-Return-Zeichen in Daten gefunden"
 
-#: commands/copy.c:3693 commands/copy.c:3710
+#: commands/copy.c:3812 commands/copy.c:3829
 #, c-format
 msgid "unquoted carriage return found in data"
 msgstr "ungequotetes Carriage-Return-Zeichen in Daten gefunden"
 
-#: commands/copy.c:3695 commands/copy.c:3712
+#: commands/copy.c:3814 commands/copy.c:3831
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Verwenden Sie »\\r«, um ein Carriage-Return-Zeichen darzustellen."
 
-#: commands/copy.c:3696 commands/copy.c:3713
+#: commands/copy.c:3815 commands/copy.c:3832
 #, 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/copy.c:3725
+#: commands/copy.c:3844
 #, c-format
 msgid "literal newline found in data"
 msgstr "Newline-Zeichen in Daten gefunden"
 
-#: commands/copy.c:3726
+#: commands/copy.c:3845
 #, c-format
 msgid "unquoted newline found in data"
 msgstr "ungequotetes Newline-Zeichen in Daten gefunden"
 
-#: commands/copy.c:3728
+#: commands/copy.c:3847
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "Verwenden Sie »\\n«, um ein Newline-Zeichen darzustellen."
 
-#: commands/copy.c:3729
+#: commands/copy.c:3848
 #, c-format
 msgid "Use quoted CSV field to represent newline."
 msgstr "Verwenden Sie ein gequotetes CSV-Feld, um ein Newline-Zeichen darzustellen."
 
-#: commands/copy.c:3775 commands/copy.c:3811
+#: commands/copy.c:3894 commands/copy.c:3930
 #, 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/copy.c:3784 commands/copy.c:3800
+#: commands/copy.c:3903 commands/copy.c:3919
 #, c-format
 msgid "end-of-copy marker corrupt"
 msgstr "COPY-Ende-Markierung verfälscht"
 
-#: commands/copy.c:4242
+#: commands/copy.c:4361
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "Quotes in CSV-Feld nicht abgeschlossen"
 
-#: commands/copy.c:4319 commands/copy.c:4338
+#: commands/copy.c:4438 commands/copy.c:4457
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "unerwartetes EOF in COPY-Daten"
 
-#: commands/copy.c:4328
+#: commands/copy.c:4447
 #, c-format
 msgid "invalid field size"
 msgstr "ungültige Feldgröße"
 
-#: commands/copy.c:4351
+#: commands/copy.c:4470
 #, c-format
 msgid "incorrect binary data format"
 msgstr "falsches Binärdatenformat"
 
-#: commands/copy.c:4662 commands/indexcmds.c:1062 commands/tablecmds.c:1655
-#: commands/tablecmds.c:2150 commands/tablecmds.c:2573
-#: parser/parse_relation.c:3111 parser/parse_relation.c:3131
-#: utils/adt/tsvector_op.c:2561
+#: commands/copy.c:4782 commands/indexcmds.c:1442 commands/statscmds.c:206
+#: commands/tablecmds.c:1897 commands/tablecmds.c:2400
+#: commands/tablecmds.c:2811 parser/parse_relation.c:3288
+#: parser/parse_relation.c:3308 utils/adt/tsvector_op.c:2561
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "Spalte »%s« existiert nicht"
 
-#: commands/copy.c:4669 commands/tablecmds.c:1681 commands/trigger.c:741
-#: parser/parse_target.c:1017 parser/parse_target.c:1028
+#: commands/copy.c:4789 commands/tablecmds.c:1923 commands/tablecmds.c:2426
+#: commands/trigger.c:913 parser/parse_target.c:1040 parser/parse_target.c:1051
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "Spalte »%s« mehrmals angegeben"
 
-#: commands/createas.c:213 commands/createas.c:508
+#: commands/createas.c:213 commands/createas.c:509
 #, c-format
 msgid "too many column names were specified"
 msgstr "zu viele Spaltennamen wurden angegeben"
 
-#: commands/createas.c:549
+#: commands/createas.c:550
 #, c-format
 msgid "policies not yet implemented for this command"
 msgstr "Policys sind für diesen Befehl noch nicht implementiert"
@@ -6043,8 +6143,8 @@ msgstr "%d ist kein gültiger Kodierungscode"
 msgid "%s is not a valid encoding name"
 msgstr "%s ist kein gültiger Kodierungsname"
 
-#: commands/dbcommands.c:292 commands/dbcommands.c:1486 commands/user.c:289
-#: commands/user.c:665
+#: commands/dbcommands.c:292 commands/dbcommands.c:1494 commands/user.c:276
+#: commands/user.c:664
 #, c-format
 msgid "invalid connection limit: %d"
 msgstr "ungültige Verbindungshöchstgrenze: %d"
@@ -6104,7 +6204,7 @@ msgstr "neues LC_CTYPE (%s) ist inkompatibel mit dem LC_CTYPE der Template-Daten
 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:432 commands/dbcommands.c:1138
+#: commands/dbcommands.c:432 commands/dbcommands.c:1146
 #, c-format
 msgid "pg_global cannot be used as default tablespace"
 msgstr "pg_global kann nicht als Standard-Tablespace verwendet werden"
@@ -6119,7 +6219,7 @@ msgstr "kann neuen Standard-Tablespace »%s« nicht setzen"
 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:480 commands/dbcommands.c:1008
+#: commands/dbcommands.c:480 commands/dbcommands.c:1016
 #, c-format
 msgid "database \"%s\" already exists"
 msgstr "Datenbank »%s« existiert bereits"
@@ -6159,96 +6259,96 @@ msgstr "Template-Datenbank kann nicht gelöscht werden"
 msgid "cannot drop the currently open database"
 msgstr "kann aktuell geöffnete Datenbank nicht löschen"
 
-#: commands/dbcommands.c:855
+#: commands/dbcommands.c:858
 #, c-format
-msgid "database \"%s\" is used by a logical replication slot"
-msgstr "Datenbank »%s« wird von einem logischen Replikations-Slot verwendet"
+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:857
+#: commands/dbcommands.c:860
 #, c-format
-msgid "There is %d slot, %d of them active."
-msgid_plural "There are %d slots, %d of them active."
-msgstr[0] "%d Slot ist vorhanden, %d davon aktiv."
-msgstr[1] "%d Slots sind vorhanden, %d davon aktiv."
+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:871 commands/dbcommands.c:1030
-#: commands/dbcommands.c:1160
+#: commands/dbcommands.c:874 commands/dbcommands.c:1038
+#: commands/dbcommands.c:1168
 #, c-format
 msgid "database \"%s\" is being accessed by other users"
 msgstr "auf Datenbank »%s« wird von anderen Benutzern zugegriffen"
 
-#: commands/dbcommands.c:884
+#: commands/dbcommands.c:887
 #, 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:886
+#: commands/dbcommands.c:889
 #, c-format
 msgid "There is %d subscription."
 msgid_plural "There are %d subscriptions."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d Subskription ist vorhanden."
+msgstr[1] "%d Subskriptionen sind vorhanden."
 
-#: commands/dbcommands.c:999
+#: commands/dbcommands.c:1007
 #, c-format
 msgid "permission denied to rename database"
 msgstr "keine Berechtigung, um Datenbank umzubenennen"
 
-#: commands/dbcommands.c:1019
+#: commands/dbcommands.c:1027
 #, c-format
 msgid "current database cannot be renamed"
 msgstr "aktuelle Datenbank kann nicht umbenannt werden"
 
-#: commands/dbcommands.c:1116
+#: commands/dbcommands.c:1124
 #, 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:1219
+#: commands/dbcommands.c:1227
 #, 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:1221
+#: commands/dbcommands.c:1229
 #, 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:1347 commands/dbcommands.c:1892
-#: commands/dbcommands.c:2096 commands/dbcommands.c:2144
-#: commands/tablespace.c:604
+#: commands/dbcommands.c:1355 commands/dbcommands.c:1900
+#: commands/dbcommands.c:2104 commands/dbcommands.c:2159
+#: commands/tablespace.c:606
 #, 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:1467
+#: commands/dbcommands.c:1475
 #, c-format
 msgid "option \"%s\" cannot be specified with other options"
 msgstr "Option »%s« kann nicht mit anderen Optionen angegeben werden"
 
-#: commands/dbcommands.c:1522
+#: commands/dbcommands.c:1530
 #, c-format
 msgid "cannot disallow connections for current database"
 msgstr "Verbindungen mit der aktuellen Datenbank können nicht verboten werden"
 
-#: commands/dbcommands.c:1659
+#: commands/dbcommands.c:1667
 #, c-format
 msgid "permission denied to change owner of database"
 msgstr "keine Berechtigung, um Eigentümer der Datenbank zu ändern"
 
-#: commands/dbcommands.c:1979
+#: commands/dbcommands.c:1987
 #, 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:1982
+#: commands/dbcommands.c:1990
 #, 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:1987
+#: commands/dbcommands.c:1995
 #, c-format
 msgid "There is %d prepared transaction using the database."
 msgid_plural "There are %d prepared transactions using the database."
@@ -6292,70 +6392,75 @@ msgstr "Argument von %s muss ein Typname sein"
 msgid "invalid argument for %s: \"%s\""
 msgstr "ungültiges Argument für %s: »%s«"
 
-#: commands/dropcmds.c:104 commands/functioncmds.c:1200
-#: utils/adt/ruleutils.c:2284
+#: commands/dropcmds.c:98 commands/functioncmds.c:1210
+#: utils/adt/ruleutils.c:2520
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "»%s« ist eine Aggregatfunktion"
 
-#: commands/dropcmds.c:106
+#: commands/dropcmds.c:100
 #, c-format
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Verwenden Sie DROP AGGREGATE, um Aggregatfunktionen zu löschen."
 
-#: commands/dropcmds.c:157 commands/sequence.c:430 commands/tablecmds.c:2657
-#: commands/tablecmds.c:2808 commands/tablecmds.c:2851
-#: commands/tablecmds.c:12104 tcop/utility.c:1159
+#: commands/dropcmds.c:149 commands/sequence.c:441 commands/tablecmds.c:2895
+#: commands/tablecmds.c:3046 commands/tablecmds.c:3089
+#: commands/tablecmds.c:12871 tcop/utility.c:1160
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "Relation »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:187 commands/dropcmds.c:286 commands/tablecmds.c:896
+#: commands/dropcmds.c:179 commands/dropcmds.c:278 commands/tablecmds.c:1019
 #, c-format
 msgid "schema \"%s\" does not exist, skipping"
 msgstr "Schema »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:227 commands/dropcmds.c:266 commands/tablecmds.c:252
+#: commands/dropcmds.c:219 commands/dropcmds.c:258 commands/tablecmds.c:254
 #, c-format
 msgid "type \"%s\" does not exist, skipping"
 msgstr "Typ »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:256
+#: commands/dropcmds.c:248
 #, c-format
 msgid "access method \"%s\" does not exist, skipping"
 msgstr "Zugriffsmethode »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:274
+#: commands/dropcmds.c:266
 #, c-format
 msgid "collation \"%s\" does not exist, skipping"
 msgstr "Sortierfolge »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:281
+#: commands/dropcmds.c:273
 #, c-format
 msgid "conversion \"%s\" does not exist, skipping"
 msgstr "Konversion »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:292
+#: commands/dropcmds.c:284
+#, c-format
+msgid "statistics object \"%s\" does not exist, skipping"
+msgstr "Statistikobjekt »%s« existiert nicht, wird übersprungen"
+
+#: commands/dropcmds.c:291
 #, c-format
 msgid "text search parser \"%s\" does not exist, skipping"
 msgstr "Textsucheparser »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:299
+#: commands/dropcmds.c:298
 #, c-format
 msgid "text search dictionary \"%s\" does not exist, skipping"
 msgstr "Textsuchewörterbuch »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:306
+#: commands/dropcmds.c:305
 #, c-format
 msgid "text search template \"%s\" does not exist, skipping"
 msgstr "Textsuchevorlage »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:313
+#: commands/dropcmds.c:312
 #, c-format
 msgid "text search configuration \"%s\" does not exist, skipping"
 msgstr "Textsuchekonfiguration »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:318
+#: commands/dropcmds.c:317
 #, c-format
 msgid "extension \"%s\" does not exist, skipping"
 msgstr "Erweiterung »%s« existiert nicht, wird übersprungen"
@@ -6365,139 +6470,149 @@ msgstr "Erweiterung »%s« existiert nicht, wird übersprungen"
 msgid "function %s(%s) does not exist, skipping"
 msgstr "Funktion %s(%s) existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:339
+#: commands/dropcmds.c:340
+#, c-format
+msgid "procedure %s(%s) does not exist, skipping"
+msgstr "Prozedur %s(%s) existiert nicht, wird übersprungen"
+
+#: commands/dropcmds.c:353
+#, c-format
+msgid "routine %s(%s) does not exist, skipping"
+msgstr "Routine %s(%s) existiert nicht, wird übersprungen"
+
+#: commands/dropcmds.c:366
 #, c-format
 msgid "aggregate %s(%s) does not exist, skipping"
 msgstr "Aggregatfunktion %s(%s) existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:351
+#: commands/dropcmds.c:379
 #, c-format
 msgid "operator %s does not exist, skipping"
 msgstr "Operator %s existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:357
+#: commands/dropcmds.c:385
 #, c-format
 msgid "language \"%s\" does not exist, skipping"
 msgstr "Sprache »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:366
+#: commands/dropcmds.c:394
 #, c-format
 msgid "cast from type %s to type %s does not exist, skipping"
 msgstr "Typumwandlung von Typ %s in Typ %s existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:375
+#: commands/dropcmds.c:403
 #, c-format
 msgid "transform for type %s language \"%s\" does not exist, skipping"
 msgstr "Transformation für Typ %s Sprache »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:383
+#: commands/dropcmds.c:411
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "Trigger »%s« für Relation »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:392
+#: commands/dropcmds.c:420
 #, c-format
 msgid "policy \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "Policy »%s« für Relation »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:399
+#: commands/dropcmds.c:427
 #, c-format
 msgid "event trigger \"%s\" does not exist, skipping"
 msgstr "Ereignistrigger »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:405
+#: commands/dropcmds.c:433
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist, skipping"
 msgstr "Regel »%s« für Relation »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:412
+#: commands/dropcmds.c:440
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist, skipping"
 msgstr "Fremddaten-Wrapper »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:416
+#: commands/dropcmds.c:444
 #, c-format
 msgid "server \"%s\" does not exist, skipping"
 msgstr "Server »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:425
+#: commands/dropcmds.c:453
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\", skipping"
 msgstr "Operatorklasse »%s« existiert nicht für Zugriffsmethode »%s«, wird übersprungen"
 
-#: commands/dropcmds.c:437
+#: commands/dropcmds.c:465
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\", skipping"
 msgstr "Operatorfamilie »%s« existiert nicht für Zugriffsmethode »%s«, wird übersprungen"
 
-#: commands/dropcmds.c:444
+#: commands/dropcmds.c:472
 #, c-format
 msgid "publication \"%s\" does not exist, skipping"
 msgstr "Publikation »%s« existiert nicht, wird übersprungen"
 
-#: commands/event_trigger.c:184
+#: commands/event_trigger.c:187
 #, c-format
 msgid "permission denied to create event trigger \"%s\""
 msgstr "keine Berechtigung, um Ereignistrigger »%s« zu erzeugen"
 
-#: commands/event_trigger.c:186
+#: commands/event_trigger.c:189
 #, c-format
 msgid "Must be superuser to create an event trigger."
 msgstr "Nur Superuser können Ereignistrigger anlegen."
 
-#: commands/event_trigger.c:195
+#: commands/event_trigger.c:198
 #, c-format
 msgid "unrecognized event name \"%s\""
 msgstr "unbekannter Ereignisname »%s«"
 
-#: commands/event_trigger.c:212
+#: commands/event_trigger.c:215
 #, c-format
 msgid "unrecognized filter variable \"%s\""
 msgstr "unbekannte Filtervariable »%s«"
 
-#: commands/event_trigger.c:267
+#: commands/event_trigger.c:270
 #, c-format
 msgid "filter value \"%s\" not recognized for filter variable \"%s\""
 msgstr "Filterwert »%s« nicht erkannt für Filtervariable »%s«"
 
 #. translator: %s represents an SQL statement name
-#: commands/event_trigger.c:273 commands/event_trigger.c:343
+#: commands/event_trigger.c:276 commands/event_trigger.c:346
 #, c-format
 msgid "event triggers are not supported for %s"
 msgstr "Ereignistrigger für %s werden nicht unterstützt"
 
-#: commands/event_trigger.c:366
+#: commands/event_trigger.c:369
 #, c-format
 msgid "filter variable \"%s\" specified more than once"
 msgstr "Filtervariable »%s« mehrmals angegeben"
 
-#: commands/event_trigger.c:513 commands/event_trigger.c:556
-#: commands/event_trigger.c:648
+#: commands/event_trigger.c:516 commands/event_trigger.c:559
+#: commands/event_trigger.c:651
 #, c-format
 msgid "event trigger \"%s\" does not exist"
 msgstr "Ereignistrigger »%s« existiert nicht"
 
-#: commands/event_trigger.c:617
+#: commands/event_trigger.c:620
 #, c-format
 msgid "permission denied to change owner of event trigger \"%s\""
 msgstr "keine Berechtigung, um Eigentümer des Ereignistriggers »%s« zu ändern"
 
-#: commands/event_trigger.c:619
+#: commands/event_trigger.c:622
 #, c-format
 msgid "The owner of an event trigger must be a superuser."
 msgstr "Der Eigentümer eines Ereignistriggers muss ein Superuser sein."
 
-#: commands/event_trigger.c:1443
+#: commands/event_trigger.c:1457
 #, c-format
 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:1563 commands/event_trigger.c:1584
+#: commands/event_trigger.c:1577 commands/event_trigger.c:1598
 #, 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:1994
+#: commands/event_trigger.c:2008
 #, c-format
 msgid "%s can only be called in an event trigger function"
 msgstr "%s kann nur in einer Ereignistriggerfunktion aufgerufen werden"
@@ -6522,235 +6637,234 @@ msgstr "EXPLAIN-Option BUFFERS erfordert ANALYZE"
 msgid "EXPLAIN option TIMING requires ANALYZE"
 msgstr "EXPLAIN-Option TIMING erfordert ANALYZE"
 
-#: commands/extension.c:167 commands/extension.c:2900
+#: commands/extension.c:168 commands/extension.c:2907
 #, c-format
 msgid "extension \"%s\" does not exist"
 msgstr "Erweiterung »%s« existiert nicht"
 
-#: commands/extension.c:266 commands/extension.c:275 commands/extension.c:287
-#: commands/extension.c:297
+#: commands/extension.c:267 commands/extension.c:276 commands/extension.c:288
+#: commands/extension.c:298
 #, c-format
 msgid "invalid extension name: \"%s\""
 msgstr "ungültiger Erweiterungsname: »%s«"
 
-#: commands/extension.c:267
+#: commands/extension.c:268
 #, c-format
 msgid "Extension names must not be empty."
 msgstr "Erweiterungsnamen dürfen nicht leer sein."
 
-#: commands/extension.c:276
+#: commands/extension.c:277
 #, c-format
 msgid "Extension names must not contain \"--\"."
 msgstr "Erweiterungsnamen dürfen nicht »--« enthalten."
 
-#: commands/extension.c:288
+#: commands/extension.c:289
 #, c-format
 msgid "Extension names must not begin or end with \"-\"."
 msgstr "Erweiterungsnamen dürfen nicht mit »-« anfangen oder aufhören."
 
-#: commands/extension.c:298
+#: commands/extension.c:299
 #, c-format
 msgid "Extension names must not contain directory separator characters."
 msgstr "Erweiterungsnamen dürfen keine Verzeichnistrennzeichen enthalten."
 
-#: commands/extension.c:313 commands/extension.c:322 commands/extension.c:331
-#: commands/extension.c:341
+#: commands/extension.c:314 commands/extension.c:323 commands/extension.c:332
+#: commands/extension.c:342
 #, c-format
 msgid "invalid extension version name: \"%s\""
 msgstr "ungültiger Erweiterungsversionsname: »%s«"
 
-#: commands/extension.c:314
+#: commands/extension.c:315
 #, c-format
 msgid "Version names must not be empty."
 msgstr "Versionsnamen dürfen nicht leer sein."
 
-#: commands/extension.c:323
+#: commands/extension.c:324
 #, c-format
 msgid "Version names must not contain \"--\"."
 msgstr "Versionsnamen dürfen nicht »--« enthalten."
 
-#: commands/extension.c:332
+#: commands/extension.c:333
 #, c-format
 msgid "Version names must not begin or end with \"-\"."
 msgstr "Versionsnamen dürfen nicht mit »-« anfangen oder aufhören."
 
-#: commands/extension.c:342
+#: commands/extension.c:343
 #, c-format
 msgid "Version names must not contain directory separator characters."
 msgstr "Versionsnamen dürfen keine Verzeichnistrennzeichen enthalten."
 
-#: commands/extension.c:492
+#: commands/extension.c:493
 #, c-format
 msgid "could not open extension control file \"%s\": %m"
 msgstr "konnte Erweiterungskontrolldatei »%s« nicht öffnen: %m"
 
-#: commands/extension.c:514 commands/extension.c:524
+#: commands/extension.c:515 commands/extension.c:525
 #, 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:563
+#: commands/extension.c:564
 #, c-format
 msgid "\"%s\" is not a valid encoding name"
 msgstr "»%s« ist kein gültiger Kodierungsname"
 
-#: commands/extension.c:577
+#: commands/extension.c:578
 #, c-format
 msgid "parameter \"%s\" must be a list of extension names"
 msgstr "Parameter »%s« muss eine Liste von Erweiterungsnamen sein"
 
-#: commands/extension.c:584
+#: commands/extension.c:585
 #, c-format
 msgid "unrecognized parameter \"%s\" in file \"%s\""
 msgstr "unbekannter Parameter »%s« in Datei »%s«"
 
-#: commands/extension.c:593
+#: commands/extension.c:594
 #, 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:756
+#: commands/extension.c:761
 #, c-format
 msgid "transaction control statements are not allowed within an extension script"
 msgstr "Transaktionskontrollanweisungen sind nicht in einem Erweiterungsskript erlaubt"
 
-#: commands/extension.c:801
+#: commands/extension.c:807
 #, c-format
 msgid "permission denied to create extension \"%s\""
 msgstr "keine Berechtigung, um Erweiterung »%s« zu erzeugen"
 
-#: commands/extension.c:803
+#: commands/extension.c:809
 #, c-format
 msgid "Must be superuser to create this extension."
 msgstr "Nur Superuser können diese Erweiterung anlegen."
 
-#: commands/extension.c:807
+#: commands/extension.c:813
 #, c-format
 msgid "permission denied to update extension \"%s\""
 msgstr "keine Berechtigung, um Erweiterung »%s« zu aktualisieren"
 
-#: commands/extension.c:809
+#: commands/extension.c:815
 #, c-format
 msgid "Must be superuser to update this extension."
 msgstr "Nur Superuser können diese Erweiterung aktualisieren."
 
-#: commands/extension.c:1091
+#: commands/extension.c:1097
 #, 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:1298 commands/extension.c:2961
+#: commands/extension.c:1304 commands/extension.c:2968
 #, c-format
 msgid "version to install must be specified"
 msgstr "die zu installierende Version muss angegeben werden"
 
-#: commands/extension.c:1320
+#: commands/extension.c:1326
 #, c-format
 msgid "FROM version must be different from installation target version \"%s\""
 msgstr "FROM-Version muss verschieden von der zu installierenden Version »%s« sein"
 
-#: commands/extension.c:1385
-#, fuzzy, c-format
-#| msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\""
+#: commands/extension.c:1391
+#, c-format
 msgid "extension \"%s\" has no installation script nor update path for version \"%s\""
-msgstr "Erweiterung »%s« hat keinen Aktualisierungspfad von Version »%s« auf Version »%s«"
+msgstr "Erweiterung »%s« hat kein Installationsskript und keinen Aktualisierungspfad für Version »%s«"
 
-#: commands/extension.c:1420
+#: commands/extension.c:1426
 #, c-format
 msgid "extension \"%s\" must be installed in schema \"%s\""
 msgstr "Erweiterung »%s« muss in Schema »%s« installiert werden"
 
-#: commands/extension.c:1573
+#: commands/extension.c:1579
 #, c-format
 msgid "cyclic dependency detected between extensions \"%s\" and \"%s\""
 msgstr "zyklische Abhängigkeit zwischen Erweiterungen »%s« und »%s« entdeckt"
 
-#: commands/extension.c:1578
+#: commands/extension.c:1584
 #, c-format
 msgid "installing required extension \"%s\""
 msgstr "installiere benötigte Erweiterung »%s«"
 
-#: commands/extension.c:1602
+#: commands/extension.c:1608
 #, c-format
 msgid "required extension \"%s\" is not installed"
 msgstr "benötigte Erweiterung »%s« ist nicht installiert"
 
-#: commands/extension.c:1605
+#: commands/extension.c:1611
 #, 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:1642
+#: commands/extension.c:1648
 #, c-format
 msgid "extension \"%s\" already exists, skipping"
 msgstr "Erweiterung »%s« existiert bereits, wird übersprungen"
 
-#: commands/extension.c:1649
+#: commands/extension.c:1655
 #, c-format
 msgid "extension \"%s\" already exists"
 msgstr "Erweiterung »%s« existiert bereits"
 
-#: commands/extension.c:1660
+#: commands/extension.c:1666
 #, c-format
 msgid "nested CREATE EXTENSION is not supported"
 msgstr "geschachteltes CREATE EXTENSION wird nicht unterstützt"
 
-#: commands/extension.c:1841
+#: commands/extension.c:1847
 #, 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:2343
+#: commands/extension.c:2349
 #, c-format
 msgid "pg_extension_config_dump() can only be called from an SQL script executed by CREATE EXTENSION"
 msgstr "pg_extension_config_dump() kann nur von einem SQL-Skript aufgerufen werden, das von CREATE EXTENSION ausgeführt wird"
 
-#: commands/extension.c:2355
+#: commands/extension.c:2361
 #, c-format
 msgid "OID %u does not refer to a table"
 msgstr "OID %u bezieht sich nicht auf eine Tabelle"
 
-#: commands/extension.c:2360
+#: commands/extension.c:2366
 #, 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:2716
+#: commands/extension.c:2722
 #, 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:2756 commands/extension.c:2819
+#: commands/extension.c:2763 commands/extension.c:2826
 #, c-format
 msgid "extension \"%s\" does not support SET SCHEMA"
 msgstr "Erweiterung »%s« unterstützt SET SCHEMA nicht"
 
-#: commands/extension.c:2821
+#: commands/extension.c:2828
 #, c-format
 msgid "%s is not in the extension's schema \"%s\""
 msgstr "%s ist nicht im Schema der Erweiterung (»%s«)"
 
-#: commands/extension.c:2880
+#: commands/extension.c:2887
 #, c-format
 msgid "nested ALTER EXTENSION is not supported"
 msgstr "geschachteltes ALTER EXTENSION wird nicht unterstützt"
 
-#: commands/extension.c:2972
+#: commands/extension.c:2979
 #, c-format
 msgid "version \"%s\" of extension \"%s\" is already installed"
 msgstr "Version »%s« von Erweiterung »%s« ist bereits installiert"
 
-#: commands/extension.c:3223
+#: commands/extension.c:3230
 #, 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:3251
+#: commands/extension.c:3258
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s ist kein Mitglied der Erweiterung »%s«"
 
-#: commands/extension.c:3317
+#: commands/extension.c:3324
 #, c-format
 msgid "file \"%s\" is too large"
 msgstr "Datei »%s« ist zu groß"
@@ -6815,536 +6929,641 @@ msgstr "das Ändern des Handlers des Fremddaten-Wrappers kann das Verhalten von
 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:1158
+#: commands/foreigncmds.c:890
+#, c-format
+msgid "server \"%s\" already exists, skipping"
+msgstr "Server »%s« existiert bereits, wird übersprungen"
+
+#: commands/foreigncmds.c:1175
 #, c-format
-msgid "user mapping \"%s\" already exists for server %s"
-msgstr "Benutzerabbildung »%s« existiert bereits für Server »%s«"
+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:1250 commands/foreigncmds.c:1365
+#: commands/foreigncmds.c:1185
 #, c-format
-msgid "user mapping \"%s\" does not exist for the server"
-msgstr "Benutzerabbildung »%s« existiert für den Server nicht"
+msgid "user mapping for \"%s\" already exists for server %s"
+msgstr "Benutzerabbildung für »%s« existiert bereits für Server %s"
 
-#: commands/foreigncmds.c:1352
+#: commands/foreigncmds.c:1278 commands/foreigncmds.c:1393
+#, c-format
+msgid "user mapping for \"%s\" does not exist for the server"
+msgstr "Benutzerabbildung für »%s« existiert für den Server nicht"
+
+#: commands/foreigncmds.c:1380
 #, c-format
 msgid "server does not exist, skipping"
 msgstr "Server existiert nicht, wird übersprungen"
 
-#: commands/foreigncmds.c:1370
+#: commands/foreigncmds.c:1398
 #, c-format
-msgid "user mapping \"%s\" does not exist for the server, skipping"
-msgstr "Benutzerabbildung »%s« existiert nicht für den Server, wird übersprungen"
+msgid "user mapping for \"%s\" does not exist for the server, skipping"
+msgstr "Benutzerabbildung für »%s« existiert für den Server nicht, wird übersprungen"
 
-#: commands/foreigncmds.c:1521 foreign/foreign.c:357
+#: commands/foreigncmds.c:1549 foreign/foreign.c:357
 #, c-format
 msgid "foreign-data wrapper \"%s\" has no handler"
 msgstr "Fremddaten-Wrapper »%s« hat keinen Handler"
 
-#: commands/foreigncmds.c:1527
+#: commands/foreigncmds.c:1555
 #, 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:1630
+#: commands/foreigncmds.c:1658
 #, c-format
 msgid "importing foreign table \"%s\""
 msgstr "importiere Fremdtabelle »%s«"
 
-#: commands/functioncmds.c:99
+#: commands/functioncmds.c:102
 #, c-format
 msgid "SQL function cannot return shell type %s"
 msgstr "SQL-Funktion kann keinen Hüllen-Rückgabetyp %s haben"
 
-#: commands/functioncmds.c:104
+#: commands/functioncmds.c:107
 #, c-format
 msgid "return type %s is only a shell"
 msgstr "Rückgabetyp %s ist nur eine Hülle"
 
-#: commands/functioncmds.c:134 parser/parse_type.c:337
+#: commands/functioncmds.c:137 parser/parse_type.c:337
 #, 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:140
+#: commands/functioncmds.c:143
 #, c-format
 msgid "type \"%s\" is not yet defined"
 msgstr "Typ »%s« ist noch nicht definiert"
 
-#: commands/functioncmds.c:141
+#: commands/functioncmds.c:144
 #, c-format
 msgid "Creating a shell type definition."
 msgstr "Hüllentypdefinition wird erzeugt."
 
-#: commands/functioncmds.c:233
+#: commands/functioncmds.c:236
 #, c-format
 msgid "SQL function cannot accept shell type %s"
 msgstr "SQL-Funktion kann keinen Hüllentyp %s annehmen"
 
-#: commands/functioncmds.c:239
+#: commands/functioncmds.c:242
 #, c-format
 msgid "aggregate cannot accept shell type %s"
 msgstr "Aggregatfunktion kann keinen Hüllentyp %s annehmen"
 
-#: commands/functioncmds.c:244
+#: commands/functioncmds.c:247
 #, c-format
 msgid "argument type %s is only a shell"
 msgstr "Argumenttyp %s ist nur eine Hülle"
 
-#: commands/functioncmds.c:254
+#: commands/functioncmds.c:257
 #, c-format
 msgid "type %s does not exist"
 msgstr "Typ %s existiert nicht"
 
-#: commands/functioncmds.c:268
+#: commands/functioncmds.c:271
 #, c-format
 msgid "aggregates cannot accept set arguments"
 msgstr "Aggregatfunktionen können keine SETOF-Argumente haben"
 
-#: commands/functioncmds.c:272
+#: commands/functioncmds.c:275
+#, c-format
+msgid "procedures cannot accept set arguments"
+msgstr "Prozeduren können keine SETOF-Argumente haben"
+
+#: commands/functioncmds.c:279
 #, c-format
 msgid "functions cannot accept set arguments"
 msgstr "Funktionen können keine SETOF-Argumente haben"
 
-#: commands/functioncmds.c:282
+#: commands/functioncmds.c:287
+#, c-format
+msgid "procedures cannot have OUT arguments"
+msgstr "Prozeduren können keine OUT-Argumente haben"
+
+#: commands/functioncmds.c:288
+#, c-format
+msgid "INOUT arguments are permitted."
+msgstr "INOUT-Argumente sind erlaubt."
+
+#: commands/functioncmds.c:298
 #, c-format
 msgid "VARIADIC parameter must be the last input parameter"
 msgstr "VARIADIC-Parameter muss der letzte Eingabeparameter sein"
 
-#: commands/functioncmds.c:310
+#: commands/functioncmds.c:328
 #, c-format
 msgid "VARIADIC parameter must be an array"
 msgstr "VARIADIC-Parameter muss ein Array sein"
 
-#: commands/functioncmds.c:350
+#: commands/functioncmds.c:368
 #, c-format
 msgid "parameter name \"%s\" used more than once"
 msgstr "Parametername »%s« mehrmals angegeben"
 
-#: commands/functioncmds.c:365
+#: commands/functioncmds.c:383
 #, c-format
 msgid "only input parameters can have default values"
 msgstr "nur Eingabeparameter können Vorgabewerte haben"
 
-#: commands/functioncmds.c:380
+#: commands/functioncmds.c:398
 #, c-format
 msgid "cannot use table references in parameter default value"
 msgstr "Tabellenverweise können nicht in Parametervorgabewerten verwendet werden"
 
-#: commands/functioncmds.c:404
+#: commands/functioncmds.c:422
 #, 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:700
+#: commands/functioncmds.c:564 commands/functioncmds.c:714
+#, c-format
+msgid "invalid attribute in procedure definition"
+msgstr "ungültiges Attribut in Prozedurdefinition"
+
+#: commands/functioncmds.c:745
 #, c-format
 msgid "no function body specified"
 msgstr "kein Funktionskörper angegeben"
 
-#: commands/functioncmds.c:710
+#: commands/functioncmds.c:755
 #, c-format
 msgid "no language specified"
 msgstr "keine Sprache angegeben"
 
-#: commands/functioncmds.c:735 commands/functioncmds.c:1241
+#: commands/functioncmds.c:780 commands/functioncmds.c:1254
 #, c-format
 msgid "COST must be positive"
 msgstr "COST muss positiv sein"
 
-#: commands/functioncmds.c:743 commands/functioncmds.c:1249
+#: commands/functioncmds.c:788 commands/functioncmds.c:1262
 #, c-format
 msgid "ROWS must be positive"
 msgstr "ROWS muss positiv sein"
 
-#: commands/functioncmds.c:784
-#, c-format
-msgid "unrecognized function attribute \"%s\" ignored"
-msgstr "unbekanntes Funktionsattribut »%s« ignoriert"
-
-#: commands/functioncmds.c:836
+#: commands/functioncmds.c:840
 #, 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:930 commands/functioncmds.c:2110
-#: commands/proclang.c:561
+#: commands/functioncmds.c:935 commands/functioncmds.c:2137
+#: commands/proclang.c:557
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "Sprache »%s« existiert nicht"
 
-#: commands/functioncmds.c:932 commands/functioncmds.c:2112
+#: commands/functioncmds.c:937 commands/functioncmds.c:2139
 #, c-format
-msgid "Use CREATE LANGUAGE to load the language into the database."
-msgstr "Sie müssen CREATE LANGUAGE verwenden, um die Sprache in die Datenbank zu laden."
+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:967 commands/functioncmds.c:1233
+#: commands/functioncmds.c:972 commands/functioncmds.c:1246
 #, c-format
 msgid "only superuser can define a leakproof function"
 msgstr "nur Superuser können eine »leakproof«-Funktion definieren"
 
-#: commands/functioncmds.c:1009
+#: commands/functioncmds.c:1021
 #, 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:1022
+#: commands/functioncmds.c:1034
 #, c-format
 msgid "function result type must be specified"
 msgstr "Ergebnistyp der Funktion muss angegeben werden"
 
-#: commands/functioncmds.c:1076 commands/functioncmds.c:1253
+#: commands/functioncmds.c:1086 commands/functioncmds.c:1266
 #, 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:1405
+#: commands/functioncmds.c:1438
 #, c-format
 msgid "source data type %s is a pseudo-type"
 msgstr "Quelldatentyp %s ist ein Pseudotyp"
 
-#: commands/functioncmds.c:1411
+#: commands/functioncmds.c:1444
 #, c-format
 msgid "target data type %s is a pseudo-type"
 msgstr "Zieldatentyp %s ist ein Pseudotyp"
 
-#: commands/functioncmds.c:1435
+#: commands/functioncmds.c:1468
 #, 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:1440
+#: commands/functioncmds.c:1473
 #, 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:1465
+#: commands/functioncmds.c:1498
 #, c-format
 msgid "cast function must take one to three arguments"
 msgstr "Typumwandlungsfunktion muss ein bis drei Argumente haben"
 
-#: commands/functioncmds.c:1469
+#: commands/functioncmds.c:1502
 #, 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:1473
+#: commands/functioncmds.c:1506
 #, c-format
 msgid "second argument of cast function must be type %s"
 msgstr "zweites Argument der Typumwandlungsfunktion muss Typ %s haben"
 
-#: commands/functioncmds.c:1478
+#: commands/functioncmds.c:1511
 #, c-format
 msgid "third argument of cast function must be type %s"
 msgstr "drittes Argument der Typumwandlungsfunktion muss Typ %s haben"
 
-#: commands/functioncmds.c:1483
+#: commands/functioncmds.c:1516
 #, 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:1494
+#: commands/functioncmds.c:1527
 #, c-format
 msgid "cast function must not be volatile"
 msgstr "Typumwandlungsfunktion darf nicht VOLATILE sein"
 
-#: commands/functioncmds.c:1499
-#, c-format
-msgid "cast function must not be an aggregate function"
-msgstr "Typumwandlungsfunktion darf keine Aggregatfunktion sein"
-
-#: commands/functioncmds.c:1503
+#: commands/functioncmds.c:1532
 #, c-format
-msgid "cast function must not be a window function"
-msgstr "Typumwandlungsfunktion darf keine Fensterfunktion sein"
+msgid "cast function must be a normal function"
+msgstr "Typumwandlungsfunktion muss eine normale Funktion sein"
 
-#: commands/functioncmds.c:1507
+#: commands/functioncmds.c:1536
 #, c-format
 msgid "cast function must not return a set"
 msgstr "Typumwandlungsfunktion darf keine Ergebnismenge zurückgeben"
 
-#: commands/functioncmds.c:1533
+#: commands/functioncmds.c:1562
 #, 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:1548
+#: commands/functioncmds.c:1577
 #, c-format
 msgid "source and target data types are not physically compatible"
 msgstr "Quelldatentyp und Zieldatentyp sind nicht physikalisch kompatibel"
 
-#: commands/functioncmds.c:1563
+#: commands/functioncmds.c:1592
 #, c-format
 msgid "composite data types are not binary-compatible"
 msgstr "zusammengesetzte Datentypen sind nicht binärkompatibel"
 
-#: commands/functioncmds.c:1569
+#: commands/functioncmds.c:1598
 #, c-format
 msgid "enum data types are not binary-compatible"
 msgstr "Enum-Datentypen sind nicht binärkompatibel"
 
-#: commands/functioncmds.c:1575
+#: commands/functioncmds.c:1604
 #, c-format
 msgid "array data types are not binary-compatible"
 msgstr "Array-Datentypen sind nicht binärkompatibel"
 
-#: commands/functioncmds.c:1592
+#: commands/functioncmds.c:1621
 #, 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:1602
+#: commands/functioncmds.c:1631
 #, c-format
 msgid "source data type and target data type are the same"
 msgstr "Quelldatentyp und Zieldatentyp sind der selbe"
 
-#: commands/functioncmds.c:1635
+#: commands/functioncmds.c:1664
 #, c-format
 msgid "cast from type %s to type %s already exists"
 msgstr "Typumwandlung von Typ %s in Typ %s existiert bereits"
 
-#: commands/functioncmds.c:1708
+#: commands/functioncmds.c:1737
 #, c-format
 msgid "cast from type %s to type %s does not exist"
 msgstr "Typumwandlung von Typ %s in Typ %s existiert nicht"
 
-#: commands/functioncmds.c:1747
+#: commands/functioncmds.c:1776
 #, c-format
 msgid "transform function must not be volatile"
 msgstr "Transformationsfunktion darf nicht VOLATILE sein"
 
-#: commands/functioncmds.c:1751
-#, c-format
-msgid "transform function must not be an aggregate function"
-msgstr "Transformationsfunktion darf keine Aggregatfunktion sein"
-
-#: commands/functioncmds.c:1755
+#: commands/functioncmds.c:1780
 #, c-format
-msgid "transform function must not be a window function"
-msgstr "Transformationsfunktion darf keine Fensterfunktion sein"
+msgid "transform function must be a normal function"
+msgstr "Transformationsfunktion muss eine normale Funktion sein"
 
-#: commands/functioncmds.c:1759
+#: commands/functioncmds.c:1784
 #, c-format
 msgid "transform function must not return a set"
 msgstr "Transformationsfunktion darf keine Ergebnismenge zurückgeben"
 
-#: commands/functioncmds.c:1763
+#: commands/functioncmds.c:1788
 #, c-format
 msgid "transform function must take one argument"
 msgstr "Transformationsfunktion muss ein Argument haben"
 
-#: commands/functioncmds.c:1767
+#: commands/functioncmds.c:1792
 #, c-format
 msgid "first argument of transform function must be type %s"
 msgstr "erstes Argument der Transformationsfunktion muss Typ %s haben"
 
-#: commands/functioncmds.c:1805
+#: commands/functioncmds.c:1830
 #, c-format
 msgid "data type %s is a pseudo-type"
 msgstr "Datentyp %s ist ein Pseudotyp"
 
-#: commands/functioncmds.c:1811
+#: commands/functioncmds.c:1836
 #, c-format
 msgid "data type %s is a domain"
 msgstr "Datentyp %s ist eine Domäne"
 
-#: commands/functioncmds.c:1851
+#: commands/functioncmds.c:1876
 #, 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:1877
+#: commands/functioncmds.c:1902
 #, 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:1904
+#: commands/functioncmds.c:1929
 #, c-format
 msgid "transform for type %s language \"%s\" already exists"
 msgstr "Transformation für Typ %s Sprache »%s« existiert bereits"
 
-#: commands/functioncmds.c:1993
+#: commands/functioncmds.c:2018
 #, 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:2044
+#: commands/functioncmds.c:2069
 #, c-format
 msgid "function %s already exists in schema \"%s\""
 msgstr "Funktion %s existiert bereits in Schema »%s«"
 
-#: commands/functioncmds.c:2097
+#: commands/functioncmds.c:2124
 #, c-format
 msgid "no inline code specified"
 msgstr "kein Inline-Code angegeben"
 
-#: commands/functioncmds.c:2142
+#: commands/functioncmds.c:2170
 #, c-format
 msgid "language \"%s\" does not support inline code execution"
 msgstr "Sprache »%s« unterstützt das Ausführen von Inline-Code nicht"
 
-#: commands/indexcmds.c:350
+#: commands/functioncmds.c:2259
+#, 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:375
+#, c-format
+msgid "included columns must not intersect with key columns"
+msgstr ""
+
+#: commands/indexcmds.c:397
 #, c-format
 msgid "must specify at least one column"
 msgstr "mindestens eine Spalte muss angegeben werden"
 
-#: commands/indexcmds.c:354
+#: commands/indexcmds.c:401
 #, c-format
 msgid "cannot use more than %d columns in an index"
 msgstr "Index kann nicht mehr als %d Spalten enthalten"
 
-#: commands/indexcmds.c:385
+#: commands/indexcmds.c:441
 #, c-format
 msgid "cannot create index on foreign table \"%s\""
 msgstr "kann keinen Index für Fremdtabelle »%s« erzeugen"
 
-#: commands/indexcmds.c:390
-#, c-format
-msgid "cannot create index on partitioned table \"%s\""
+#: commands/indexcmds.c:466
+#, fuzzy, c-format
+#| msgid "cannot create index on partitioned table \"%s\""
+msgid "cannot create index on partitioned table \"%s\" concurrently"
 msgstr "kann keinen Index für partitionierte Tabelle »%s« erzeugen"
 
-#: commands/indexcmds.c:405
+#: commands/indexcmds.c:471
+#, fuzzy, c-format
+#| msgid "cannot create index on partitioned table \"%s\""
+msgid "cannot create exclusion constraints on partitioned table \"%s\""
+msgstr "kann keinen Index für partitionierte Tabelle »%s« erzeugen"
+
+#: commands/indexcmds.c:481
 #, c-format
 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:461 commands/tablecmds.c:579
-#: commands/tablecmds.c:10166
+#: commands/indexcmds.c:546 commands/tablecmds.c:614 commands/tablecmds.c:10938
 #, 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"
 
-#: commands/indexcmds.c:494
+#: commands/indexcmds.c:579
 #, c-format
 msgid "substituting access method \"gist\" for obsolete method \"rtree\""
 msgstr "ersetze Zugriffsmethode »gist« für obsolete Methode »rtree«"
 
-#: commands/indexcmds.c:512
-#, c-format
-msgid "hash indexes are not WAL-logged and their use is discouraged"
-msgstr "Hash-Indexe werden nicht im WAL geloggt und von ihrer Verwendung wird abgeraten."
-
-#: commands/indexcmds.c:517
+#: commands/indexcmds.c:597
 #, c-format
 msgid "access method \"%s\" does not support unique indexes"
 msgstr "Zugriffsmethode »%s« unterstützt keine Unique Indexe"
 
-#: commands/indexcmds.c:522
+#: commands/indexcmds.c:602
+#, fuzzy, c-format
+#| msgid "access method \"%s\" does not support unique indexes"
+msgid "access method \"%s\" does not support included columns"
+msgstr "Zugriffsmethode »%s« unterstützt keine Unique Indexe"
+
+#: commands/indexcmds.c:607
 #, c-format
 msgid "access method \"%s\" does not support multicolumn indexes"
 msgstr "Zugriffsmethode »%s« unterstützt keine mehrspaltigen Indexe"
 
-#: commands/indexcmds.c:527
+#: commands/indexcmds.c:612
 #, c-format
 msgid "access method \"%s\" does not support exclusion constraints"
 msgstr "Zugriffsmethode »%s« unterstützt keine Exclusion-Constraints"
 
-#: commands/indexcmds.c:599 commands/indexcmds.c:619
+#: commands/indexcmds.c:724
+#, fuzzy, c-format
+#| msgid "merging constraint \"%s\" with inherited definition"
+msgid "unsupported %s constraint with partition key definition"
+msgstr "Constraint »%s« wird mit geerbter Definition zusammengeführt"
+
+#: commands/indexcmds.c:726
+#, fuzzy, c-format
+#| msgid "cannot use subquery in partition key expression"
+msgid "%s constraints cannot be used when partition keys include expressions."
+msgstr "Unteranfragen können nicht in Partitionierungsschlüsselausdrücken verwendet werden"
+
+#: commands/indexcmds.c:744
+#, fuzzy, c-format
+#| msgid "duplicate column name in statistics definition"
+msgid "insufficient columns in %s constraint definition"
+msgstr "doppelter Spaltenname in Statistikdefinition"
+
+#: commands/indexcmds.c:746
+#, c-format
+msgid "%s constraint on table \"%s\" lacks column \"%s\" which is part of the partition key."
+msgstr ""
+
+#: commands/indexcmds.c:765 commands/indexcmds.c:785
 #, c-format
 msgid "index creation on system columns is not supported"
 msgstr "Indexerzeugung für Systemspalten wird nicht unterstützt"
 
-#: commands/indexcmds.c:644
+#: commands/indexcmds.c:810
 #, c-format
 msgid "%s %s will create implicit index \"%s\" for table \"%s\""
 msgstr "%s %s erstellt implizit einen Index »%s« für Tabelle »%s«"
 
-#: commands/indexcmds.c:991
+#: commands/indexcmds.c:1371
 #, 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:1057 parser/parse_utilcmd.c:1946
+#: commands/indexcmds.c:1437 parser/parse_utilcmd.c:2238
+#: parser/parse_utilcmd.c:2362
 #, 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:1117
+#: commands/indexcmds.c:1461 parser/parse_utilcmd.c:1587
+#, fuzzy, c-format
+#| msgid "lossy distance functions are not supported in index-only scans"
+msgid "expressions are not supported in included columns"
+msgstr "verlustbehaftete Abstandsfunktionen werden in Index-Only-Scans nicht unterstützt"
+
+#: commands/indexcmds.c:1502
 #, c-format
 msgid "functions in index expression must be marked IMMUTABLE"
 msgstr "Funktionen im Indexausdruck müssen als IMMUTABLE markiert sein"
 
-#: commands/indexcmds.c:1140
+#: commands/indexcmds.c:1517
+#, fuzzy, c-format
+#| msgid "identity columns are not supported on partitions"
+msgid "including column does not support a collation"
+msgstr "Identitätsspalten in partitionierten Tabellen werden nicht unterstützt"
+
+#: commands/indexcmds.c:1521
+#, fuzzy, c-format
+#| msgid "identity columns are not supported on partitions"
+msgid "including column does not support an operator class"
+msgstr "Identitätsspalten in partitionierten Tabellen werden nicht unterstützt"
+
+#: commands/indexcmds.c:1525
+#, fuzzy, c-format
+#| msgid "access method \"%s\" does not support ASC/DESC options"
+msgid "including column does not support ASC/DESC options"
+msgstr "Zugriffsmethode »%s« unterstützt die Optionen ASC/DESC nicht"
+
+#: commands/indexcmds.c:1529
+#, fuzzy, c-format
+#| msgid "access method \"%s\" does not support NULLS FIRST/LAST options"
+msgid "including column does not support NULLS FIRST/LAST options"
+msgstr "Zugriffsmethode »%s« unterstützt die Optionen NULLS FIRST/LAST nicht"
+
+#: commands/indexcmds.c:1556
 #, 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:1148 commands/tablecmds.c:13007
-#: commands/typecmds.c:831 parser/parse_expr.c:2730 parser/parse_type.c:549
-#: parser/parse_utilcmd.c:2873 utils/adt/misc.c:661
+#: commands/indexcmds.c:1564 commands/tablecmds.c:13810 commands/typecmds.c:833
+#: parser/parse_expr.c:2772 parser/parse_type.c:549 parser/parse_utilcmd.c:3393
+#: utils/adt/misc.c:681
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "Sortierfolgen werden von Typ %s nicht unterstützt"
 
-#: commands/indexcmds.c:1186
+#: commands/indexcmds.c:1602
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "Operator %s ist nicht kommutativ"
 
-#: commands/indexcmds.c:1188
+#: commands/indexcmds.c:1604
 #, 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:1214
+#: commands/indexcmds.c:1630
 #, 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:1217
+#: commands/indexcmds.c:1633
 #, 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:1252
+#: commands/indexcmds.c:1668
 #, 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:1257
+#: commands/indexcmds.c:1673
 #, 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:1316 commands/typecmds.c:1928
+#: commands/indexcmds.c:1732 commands/typecmds.c:1996
 #, 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:1318
+#: commands/indexcmds.c:1734
 #, 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:1347 commands/indexcmds.c:1355
-#: commands/opclasscmds.c:205
+#: commands/indexcmds.c:1763 commands/indexcmds.c:1771
+#: commands/opclasscmds.c:206
 #, 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:1368 commands/typecmds.c:1916
+#: commands/indexcmds.c:1784 commands/typecmds.c:1984
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr "Operatorklasse »%s« akzeptiert Datentyp %s nicht"
 
-#: commands/indexcmds.c:1458
+#: commands/indexcmds.c:1874
 #, 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:1849
+#: commands/indexcmds.c:2274
 #, c-format
 msgid "table \"%s\" has no indexes"
 msgstr "Tabelle »%s« hat keine Indexe"
 
-#: commands/indexcmds.c:1904
+#: commands/indexcmds.c:2329
 #, c-format
 msgid "can only reindex the currently open database"
 msgstr "aktuell geöffnete Datenbank kann nicht reindiziert werden"
 
-#: commands/indexcmds.c:2004
+#: commands/indexcmds.c:2435
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "Tabelle »%s.%s« wurde neu indiziert"
 
+#: commands/indexcmds.c:2457
+#, c-format
+msgid "REINDEX is not yet implemented for partitioned indexes"
+msgstr "REINDEX ist für partitionierte Indexe noch nicht implementiert"
+
+#: commands/lockcmds.c:100
+#, fuzzy, c-format
+#| msgid "\"%s\" is not a table or view"
+msgid "\"%s\" is not a table or a view"
+msgstr "»%s« ist keine Tabelle oder Sicht"
+
+#: commands/lockcmds.c:224 rewrite/rewriteHandler.c:1824
+#: rewrite/rewriteHandler.c:3424
+#, c-format
+msgid "infinite recursion detected in rules for relation \"%s\""
+msgstr "unendliche Rekursion entdeckt in Regeln für Relation »%s«"
+
 #: commands/matview.c:179
 #, c-format
 msgid "CONCURRENTLY cannot be used when the materialized view is not populated"
@@ -7355,235 +7574,261 @@ msgstr "CONCURRENTLY kann nicht verwendet werden, wenn die materialisierte Sicht
 msgid "CONCURRENTLY and WITH NO DATA options cannot be used together"
 msgstr "Optionen CONCURRENTLY und WITH NO DATA können nicht zusammen verwendet werden"
 
-#: commands/matview.c:255
+#: commands/matview.c:244
 #, c-format
 msgid "cannot refresh materialized view \"%s\" concurrently"
 msgstr "kann materialisierte Sicht »%s« nicht nebenläufig auffrischen"
 
-#: commands/matview.c:258
+#: commands/matview.c:247
 #, 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:654
+#: commands/matview.c:645
 #, 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:656
+#: commands/matview.c:647
 #, c-format
 msgid "Row: %s"
 msgstr "Zeile: %s"
 
-#: commands/opclasscmds.c:126
+#: commands/opclasscmds.c:127
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\""
 msgstr "Operatorfamilie »%s« existiert nicht für Zugriffsmethode »%s«"
 
-#: commands/opclasscmds.c:264
+#: commands/opclasscmds.c:265
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists"
 msgstr "Operatorfamilie »%s« für Zugriffsmethode »%s« existiert bereits"
 
-#: commands/opclasscmds.c:402
+#: commands/opclasscmds.c:403
 #, c-format
 msgid "must be superuser to create an operator class"
 msgstr "nur Superuser können Operatorklassen erzeugen"
 
-#: commands/opclasscmds.c:475 commands/opclasscmds.c:849
-#: commands/opclasscmds.c:973
+#: commands/opclasscmds.c:476 commands/opclasscmds.c:850
+#: commands/opclasscmds.c:974
 #, c-format
 msgid "invalid operator number %d, must be between 1 and %d"
 msgstr "ungültige Operatornummer %d, muss zwischen 1 und %d sein"
 
-#: commands/opclasscmds.c:519 commands/opclasscmds.c:893
-#: commands/opclasscmds.c:988
+#: commands/opclasscmds.c:520 commands/opclasscmds.c:894
+#: commands/opclasscmds.c:989
 #, c-format
 msgid "invalid procedure number %d, must be between 1 and %d"
 msgstr "ungültige Prozedurnummer %d, muss zwischen 1 und %d sein"
 
-#: commands/opclasscmds.c:548
+#: commands/opclasscmds.c:549
 #, c-format
 msgid "storage type specified more than once"
 msgstr "Storage-Typ mehrmals angegeben"
 
-#: commands/opclasscmds.c:575
+#: commands/opclasscmds.c:576
 #, c-format
 msgid "storage type cannot be different from data type for access method \"%s\""
 msgstr "Storage-Typ kann nicht vom Datentyp der Zugriffsmethode »%s« verschieden sein"
 
-#: commands/opclasscmds.c:591
+#: commands/opclasscmds.c:592
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists"
 msgstr "Operatorklasse »%s« für Zugriffsmethode »%s« existiert bereits"
 
-#: commands/opclasscmds.c:619
+#: commands/opclasscmds.c:620
 #, c-format
 msgid "could not make operator class \"%s\" be default for type %s"
 msgstr "konnte Operatorklasse »%s« nicht zum Standard für Typ %s machen"
 
-#: commands/opclasscmds.c:622
+#: commands/opclasscmds.c:623
 #, c-format
 msgid "Operator class \"%s\" already is the default."
 msgstr "Operatorklasse »%s« ist bereits der Standard."
 
-#: commands/opclasscmds.c:747
+#: commands/opclasscmds.c:748
 #, c-format
 msgid "must be superuser to create an operator family"
 msgstr "nur Superuser können Operatorfamilien erzeugen"
 
-#: commands/opclasscmds.c:803
+#: commands/opclasscmds.c:804
 #, c-format
 msgid "must be superuser to alter an operator family"
 msgstr "nur Superuser können Operatorfamilien ändern"
 
-#: commands/opclasscmds.c:858
+#: commands/opclasscmds.c:859
 #, c-format
 msgid "operator argument types must be specified in ALTER OPERATOR FAMILY"
 msgstr "Operatorargumenttypen müssen in ALTER OPERATOR FAMILY angegeben werden"
 
-#: commands/opclasscmds.c:921
+#: commands/opclasscmds.c:922
 #, c-format
 msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY"
 msgstr "STORAGE kann in ALTER OPERATOR FAMILY nicht angegeben werden"
 
-#: commands/opclasscmds.c:1043
+#: commands/opclasscmds.c:1044
 #, c-format
 msgid "one or two argument types must be specified"
 msgstr "ein oder zwei Argumenttypen müssen angegeben werden"
 
-#: commands/opclasscmds.c:1069
+#: commands/opclasscmds.c:1070
 #, c-format
 msgid "index operators must be binary"
 msgstr "Indexoperatoren müssen binär sein"
 
-#: commands/opclasscmds.c:1088
+#: commands/opclasscmds.c:1089
 #, c-format
 msgid "access method \"%s\" does not support ordering operators"
 msgstr "Zugriffsmethode »%s« unterstützt keine Sortieroperatoren"
 
-#: commands/opclasscmds.c:1099
+#: commands/opclasscmds.c:1100
 #, c-format
 msgid "index search operators must return boolean"
 msgstr "Indexsuchoperatoren müssen Typ boolean zurückgeben"
 
-#: commands/opclasscmds.c:1141
+#: commands/opclasscmds.c:1144
 #, c-format
 msgid "btree comparison procedures must have two arguments"
 msgstr "btree-Vergleichsprozeduren müssen zwei Argumente haben"
 
-#: commands/opclasscmds.c:1145
+#: commands/opclasscmds.c:1148
 #, c-format
 msgid "btree comparison procedures must return integer"
 msgstr "btree-Vergleichsprozeduren müssen Typ integer zurückgeben"
 
-#: commands/opclasscmds.c:1162
+#: commands/opclasscmds.c:1165
 #, c-format
 msgid "btree sort support procedures must accept type \"internal\""
 msgstr "btree-Sortierunterstützungsprozeduren müssen Typ »internal« akzeptieren"
 
-#: commands/opclasscmds.c:1166
+#: commands/opclasscmds.c:1169
 #, c-format
 msgid "btree sort support procedures must return void"
 msgstr "btree-Sortierunterstützungsprozeduren müssen Typ void zurückgeben"
 
-#: commands/opclasscmds.c:1178
-#, c-format
-msgid "hash procedures must have one argument"
+#: commands/opclasscmds.c:1180
+#, fuzzy, c-format
+#| msgid "btree comparison procedures must have two arguments"
+msgid "btree in_range procedures must have five arguments"
+msgstr "btree-Vergleichsprozeduren müssen zwei Argumente haben"
+
+#: commands/opclasscmds.c:1184
+#, fuzzy, c-format
+#| msgid "btree comparison procedures must return integer"
+msgid "btree in_range procedures must return boolean"
+msgstr "btree-Vergleichsprozeduren müssen Typ integer zurückgeben"
+
+#: commands/opclasscmds.c:1203
+#, fuzzy, c-format
+#| msgid "hash procedures must have one argument"
+msgid "hash procedure 1 must have one argument"
 msgstr "Hash-Prozeduren müssen ein Argument haben"
 
-#: commands/opclasscmds.c:1182
-#, c-format
-msgid "hash procedures must return integer"
+#: commands/opclasscmds.c:1207
+#, fuzzy, c-format
+#| msgid "hash procedures must return integer"
+msgid "hash procedure 1 must return integer"
+msgstr "Hash-Prozeduren müssen Typ integer zurückgeben"
+
+#: commands/opclasscmds.c:1214
+#, fuzzy, c-format
+#| msgid "hash procedures must have one argument"
+msgid "hash procedure 2 must have two arguments"
+msgstr "Hash-Prozeduren müssen ein Argument haben"
+
+#: commands/opclasscmds.c:1218
+#, fuzzy, c-format
+#| msgid "hash procedures must return integer"
+msgid "hash procedure 2 must return bigint"
 msgstr "Hash-Prozeduren müssen Typ integer zurückgeben"
 
-#: commands/opclasscmds.c:1206
+#: commands/opclasscmds.c:1243
 #, c-format
 msgid "associated data types must be specified for index support procedure"
 msgstr "zugehörige Datentypen müssen für Indexunterstützungsprozedur angegeben werden"
 
-#: commands/opclasscmds.c:1231
+#: commands/opclasscmds.c:1268
 #, c-format
 msgid "procedure number %d for (%s,%s) appears more than once"
 msgstr "Prozedurnummer %d für (%s,%s) einscheint mehrmals"
 
-#: commands/opclasscmds.c:1238
+#: commands/opclasscmds.c:1275
 #, c-format
 msgid "operator number %d for (%s,%s) appears more than once"
 msgstr "Operatornummer %d für (%s,%s) einscheint mehrmals"
 
-#: commands/opclasscmds.c:1287
+#: commands/opclasscmds.c:1324
 #, c-format
 msgid "operator %d(%s,%s) already exists in operator family \"%s\""
 msgstr "Operator %d(%s,%s) existiert bereits in Operatorfamilie »%s«"
 
-#: commands/opclasscmds.c:1401
+#: commands/opclasscmds.c:1438
 #, c-format
 msgid "function %d(%s,%s) already exists in operator family \"%s\""
 msgstr "Funktion %d(%s,%s) existiert bereits in Operatorfamilie »%s«"
 
-#: commands/opclasscmds.c:1489
+#: commands/opclasscmds.c:1526
 #, c-format
 msgid "operator %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "Operator %d(%s,%s) existiert nicht in Operatorfamilie »%s«"
 
-#: commands/opclasscmds.c:1529
+#: commands/opclasscmds.c:1566
 #, c-format
 msgid "function %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "Funktion %d(%s,%s) existiert nicht in Operatorfamilie »%s«"
 
-#: commands/opclasscmds.c:1659
+#: commands/opclasscmds.c:1696
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists in schema \"%s\""
 msgstr "Operatorklasse »%s« für Zugriffsmethode »%s« existiert bereits in Schema »%s«"
 
-#: commands/opclasscmds.c:1682
+#: commands/opclasscmds.c:1719
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists in schema \"%s\""
 msgstr "Operatorfamilie »%s« für Zugriffsmethode »%s« existiert bereits in Schema »%s«"
 
-#: commands/operatorcmds.c:114 commands/operatorcmds.c:122
+#: commands/operatorcmds.c:113 commands/operatorcmds.c:121
 #, c-format
 msgid "SETOF type not allowed for operator argument"
 msgstr "SETOF-Typ nicht als Operatorargument erlaubt"
 
-#: commands/operatorcmds.c:152 commands/operatorcmds.c:454
+#: commands/operatorcmds.c:151 commands/operatorcmds.c:453
 #, c-format
 msgid "operator attribute \"%s\" not recognized"
 msgstr "Operator-Attribut »%s« unbekannt"
 
-#: commands/operatorcmds.c:163
+#: commands/operatorcmds.c:162
 #, c-format
 msgid "operator procedure must be specified"
 msgstr "Operatorprozedur muss angegeben werden"
 
-#: commands/operatorcmds.c:174
+#: commands/operatorcmds.c:173
 #, c-format
 msgid "at least one of leftarg or rightarg must be specified"
 msgstr "entweder leftarg oder rightarg (oder beides) muss angegeben werden"
 
-#: commands/operatorcmds.c:278
+#: commands/operatorcmds.c:277
 #, c-format
 msgid "restriction estimator function %s must return type %s"
 msgstr "Restriktionsschätzfunktion %s muss Typ %s zurückgeben"
 
-#: commands/operatorcmds.c:324
+#: commands/operatorcmds.c:323
 #, c-format
 msgid "join estimator function %s must return type %s"
 msgstr "Join-Schätzfunktion %s muss Typ %s zurückgeben"
 
-#: commands/operatorcmds.c:448
+#: commands/operatorcmds.c:447
 #, c-format
 msgid "operator attribute \"%s\" cannot be changed"
 msgstr "Operator-Attribut »%s« kann nicht geändert werden"
 
-#: commands/policy.c:87 commands/policy.c:397 commands/policy.c:486
-#: commands/tablecmds.c:1134 commands/tablecmds.c:1490
-#: commands/tablecmds.c:2467 commands/tablecmds.c:4647
-#: commands/tablecmds.c:6742 commands/tablecmds.c:12660
-#: commands/tablecmds.c:12695 commands/trigger.c:251 commands/trigger.c:1235
-#: commands/trigger.c:1344 rewrite/rewriteDefine.c:272
-#: rewrite/rewriteDefine.c:911
+#: commands/policy.c:87 commands/policy.c:400 commands/policy.c:490
+#: commands/tablecmds.c:1275 commands/tablecmds.c:1732
+#: commands/tablecmds.c:2705 commands/tablecmds.c:4944
+#: commands/tablecmds.c:7343 commands/tablecmds.c:13428
+#: commands/tablecmds.c:13463 commands/trigger.c:316 commands/trigger.c:1526
+#: commands/trigger.c:1635 rewrite/rewriteDefine.c:272
+#: rewrite/rewriteDefine.c:924
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "keine Berechtigung: »%s« ist ein Systemkatalog"
@@ -7598,44 +7843,43 @@ msgstr "angegebene Rollen außer PUBLIC werden ignoriert"
 msgid "All roles are members of the PUBLIC role."
 msgstr "Alle Rollen sind Mitglieder der Rolle PUBLIC."
 
-#: commands/policy.c:510
+#: commands/policy.c:514
 #, 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:716
+#: commands/policy.c:720
 #, 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:725 commands/policy.c:1023
+#: commands/policy.c:729 commands/policy.c:1027
 #, c-format
 msgid "only WITH CHECK expression allowed for INSERT"
 msgstr "für INSERT sind nur WITH-CHECK-Ausdrücke erlaubt"
 
-#: commands/policy.c:798 commands/policy.c:1243
+#: commands/policy.c:802 commands/policy.c:1247
 #, c-format
 msgid "policy \"%s\" for table \"%s\" already exists"
 msgstr "Policy »%s« für Tabelle »%s« existiert bereits"
 
-#: commands/policy.c:995 commands/policy.c:1271 commands/policy.c:1343
+#: commands/policy.c:999 commands/policy.c:1275 commands/policy.c:1347
 #, c-format
 msgid "policy \"%s\" for table \"%s\" does not exist"
 msgstr "Policy »%s« für Tabelle »%s« existiert nicht"
 
-#: commands/policy.c:1013
+#: commands/policy.c:1017
 #, 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:58 commands/portalcmds.c:182
-#: commands/portalcmds.c:234
+#: commands/portalcmds.c:58 commands/portalcmds.c:182 commands/portalcmds.c:234
 #, c-format
 msgid "invalid cursor name: must not be empty"
 msgstr "ungültiger Cursorname: darf nicht leer sein"
 
 #: commands/portalcmds.c:190 commands/portalcmds.c:244
-#: executor/execCurrent.c:67 utils/adt/xml.c:2460 utils/adt/xml.c:2627
+#: executor/execCurrent.c:68 utils/adt/xml.c:2469 utils/adt/xml.c:2639
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "Cursor »%s« existiert nicht"
@@ -7645,7 +7889,7 @@ msgstr "Cursor »%s« existiert nicht"
 msgid "invalid statement name: must not be empty"
 msgstr "ungültiger Anweisungsname: darf nicht leer sein"
 
-#: commands/prepare.c:141 parser/parse_param.c:304 tcop/postgres.c:1350
+#: commands/prepare.c:141 parser/parse_param.c:304 tcop/postgres.c:1376
 #, c-format
 msgid "could not determine data type of parameter $%d"
 msgstr "konnte Datentyp von Parameter $%d nicht ermitteln"
@@ -7675,67 +7919,81 @@ msgstr "%d Parameter erwartet aber %d erhalten."
 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:474
+#: commands/prepare.c:475
 #, c-format
 msgid "prepared statement \"%s\" already exists"
 msgstr "vorbereitete Anweisung »%s« existiert bereits"
 
-#: commands/prepare.c:513
+#: commands/prepare.c:514
 #, c-format
 msgid "prepared statement \"%s\" does not exist"
 msgstr "vorbereitete Anweisung »%s« existiert nicht"
 
-#: commands/proclang.c:87
+#: commands/proclang.c:86
 #, c-format
 msgid "using pg_pltemplate information instead of CREATE LANGUAGE parameters"
 msgstr "verwende Informationen aus pg_pltemplate statt der CREATE-LANGUAGE-Parameter"
 
-#: commands/proclang.c:97
+#: commands/proclang.c:96
 #, c-format
 msgid "must be superuser to create procedural language \"%s\""
 msgstr "nur Superuser können prozedurale Sprache »%s« erzeugen"
 
-#: commands/proclang.c:252
+#: commands/proclang.c:248
 #, c-format
 msgid "unsupported language \"%s\""
 msgstr "nicht unterstützte Sprache »%s«"
 
-#: commands/proclang.c:254
+#: commands/proclang.c:250
 #, c-format
 msgid "The supported languages are listed in the pg_pltemplate system catalog."
 msgstr "Die unterstützten Sprachen stehen im Systemkatalog pg_pltemplate."
 
-#: commands/proclang.c:262
+#: commands/proclang.c:258
 #, c-format
 msgid "must be superuser to create custom procedural language"
 msgstr "nur Superuser können maßgeschneiderte prozedurale Sprachen erzeugen"
 
-#: commands/proclang.c:281 commands/trigger.c:523 commands/typecmds.c:457
-#: commands/typecmds.c:474
+#: commands/proclang.c:277 commands/trigger.c:688 commands/typecmds.c:454
+#: commands/typecmds.c:471
 #, c-format
 msgid "changing return type of function %s from %s to %s"
 msgstr "ändere Rückgabetyp von Funktion %s von %s in %s"
 
-#: commands/publicationcmds.c:179
+#: commands/publicationcmds.c:109
+#, c-format
+msgid "invalid list syntax for \"publish\" option"
+msgstr "ungültige Listensyntax für »publish«-Option"
+
+#: commands/publicationcmds.c:127
+#, c-format
+msgid "unrecognized \"publish\" value: \"%s\""
+msgstr "unbekannter »publish«-Wert: »%s«"
+
+#: commands/publicationcmds.c:133
+#, c-format
+msgid "unrecognized publication parameter: %s"
+msgstr "unbekannter Publikationsparameter: %s"
+
+#: commands/publicationcmds.c:166
 #, 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:351
+#: commands/publicationcmds.c:335
 #, c-format
 msgid "publication \"%s\" is defined as FOR ALL TABLES"
 msgstr "Publikation »%s« ist als FOR ALL TABLES definiert"
 
-#: commands/publicationcmds.c:353
+#: commands/publicationcmds.c:337
 #, c-format
 msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications."
-msgstr ""
+msgstr "In einer FOR-ALL-TABLES-Publikation können keine Tabellen hinzugefügt oder entfernt werden."
 
-#: commands/publicationcmds.c:651
-#, fuzzy, c-format
-#| msgid "relation \"%s\" is not a parent of relation \"%s\""
+#: commands/publicationcmds.c:638
+#, c-format
 msgid "relation \"%s\" is not part of the publication"
-msgstr "Relation »%s« ist keine Basisrelation von Relation »%s«"
+msgstr "Relation »%s« ist nicht Teil der Publikation"
 
 #: commands/publicationcmds.c:681
 #, c-format
@@ -7744,15 +8002,15 @@ msgstr "keine Berechtigung, um Eigentümer der Publikation »%s« zu ändern"
 
 #: commands/publicationcmds.c:683
 #, c-format
-msgid "The owner of a publication must be a superuser."
-msgstr "Der Eigentümer einer Publikation muss ein Superuser sein."
+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:106 commands/schemacmds.c:279
+#: commands/schemacmds.c:106 commands/schemacmds.c:280
 #, c-format
 msgid "unacceptable schema name \"%s\""
 msgstr "inakzeptabler Schemaname »%s«"
 
-#: commands/schemacmds.c:107 commands/schemacmds.c:280
+#: commands/schemacmds.c:107 commands/schemacmds.c:281
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system schemas."
 msgstr "Der Präfix »pg_« ist für Systemschemas reserviert."
@@ -7777,7 +8035,7 @@ msgstr "Provider muss angegeben werden, wenn mehrere Security-Label-Provider gel
 msgid "security label provider \"%s\" is not loaded"
 msgstr "Security-Label-Provider »%s« ist nicht geladen"
 
-#: commands/sequence.c:135
+#: commands/sequence.c:138
 #, c-format
 msgid "unlogged sequences are not supported"
 msgstr "ungeloggte Sequenzen werden nicht unterstützt"
@@ -7807,1664 +8065,2023 @@ msgstr "lastval ist in dieser Sitzung noch nicht definiert"
 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)"
 
-#: commands/sequence.c:1344
+#: commands/sequence.c:1349
+#, c-format
+msgid "invalid sequence option SEQUENCE NAME"
+msgstr "ungültige Sequenzoption SEQUENCE NAME"
+
+#: commands/sequence.c:1375
+#, 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:1376
 #, c-format
 msgid "sequence type must be smallint, integer, or bigint"
-msgstr ""
+msgstr "Sequenztyp muss smallint, integer oder bigint sein"
 
-#: commands/sequence.c:1356
+#: commands/sequence.c:1410
 #, c-format
 msgid "INCREMENT must not be zero"
 msgstr "INCREMENT darf nicht null sein"
 
-#: commands/sequence.c:1405
-#, fuzzy, c-format
-#| msgid "\"%s\" is out of range for type real"
+#: commands/sequence.c:1463
+#, c-format
 msgid "MAXVALUE (%s) is out of range for sequence data type %s"
-msgstr "»%s« ist außerhalb des gültigen Bereichs für Typ real"
+msgstr "MAXVALUE (%s) ist außerhalb des gültigen Bereichs für Sequenzdatentyp %s"
 
-#: commands/sequence.c:1442
-#, fuzzy, c-format
-#| msgid "\"%s\" is out of range for type real"
+#: commands/sequence.c:1500
+#, c-format
 msgid "MINVALUE (%s) is out of range for sequence data type %s"
-msgstr "»%s« ist außerhalb des gültigen Bereichs für Typ real"
+msgstr "MINVALUE (%s) ist außerhalb des gültigen Bereichs für Sequenzdatentyp %s"
 
-#: commands/sequence.c:1456
+#: commands/sequence.c:1514
 #, c-format
 msgid "MINVALUE (%s) must be less than MAXVALUE (%s)"
 msgstr "MINVALUE (%s) muss kleiner als MAXVALUE (%s) sein"
 
-#: commands/sequence.c:1481
+#: commands/sequence.c:1541
 #, c-format
 msgid "START value (%s) cannot be less than MINVALUE (%s)"
 msgstr "START-Wert (%s) kann nicht kleiner als MINVALUE (%s) sein"
 
-#: commands/sequence.c:1493
+#: commands/sequence.c:1553
 #, c-format
 msgid "START value (%s) cannot be greater than MAXVALUE (%s)"
 msgstr "START-Wert (%s) kann nicht größer als MAXVALUE (%s) sein"
 
-#: commands/sequence.c:1523
+#: commands/sequence.c:1583
 #, c-format
 msgid "RESTART value (%s) cannot be less than MINVALUE (%s)"
 msgstr "RESTART-Wert (%s) kann nicht kleiner als MINVALUE (%s) sein"
 
-#: commands/sequence.c:1535
+#: commands/sequence.c:1595
 #, c-format
 msgid "RESTART value (%s) cannot be greater than MAXVALUE (%s)"
 msgstr "RESTART-Wert (%s) kann nicht größer als MAXVALUE (%s) sein"
 
-#: commands/sequence.c:1550
+#: commands/sequence.c:1610
 #, c-format
 msgid "CACHE (%s) must be greater than zero"
 msgstr "CACHE (%s) muss größer als null sein"
 
-#: commands/sequence.c:1582
+#: commands/sequence.c:1647
 #, c-format
 msgid "invalid OWNED BY option"
 msgstr "ungültige OWNED BY Option"
 
-#: commands/sequence.c:1583
+#: commands/sequence.c:1648
 #, 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:1607
+#: commands/sequence.c:1673
 #, 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:1614
+#: commands/sequence.c:1680
 #, 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:1618
+#: commands/sequence.c:1684
 #, 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/subscriptioncmds.c:188
+#: commands/sequence.c:1706
+#, c-format
+msgid "cannot change ownership of identity sequence"
+msgstr "kann Eigentümer einer Identitätssequenz nicht ändern"
+
+#: commands/sequence.c:1707 commands/tablecmds.c:10316
+#: commands/tablecmds.c:12891
+#, c-format
+msgid "Sequence \"%s\" is linked to table \"%s\"."
+msgstr "Sequenz »%s« ist mit Tabelle »%s« verknüpft."
+
+#: commands/statscmds.c:93 commands/statscmds.c:102
+#, 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:120
+#, 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:163
+#, c-format
+msgid "statistics object \"%s\" already exists, skipping"
+msgstr "Statistikobjekt »%s« existiert bereits, wird übersprungen"
+
+#: commands/statscmds.c:171
+#, c-format
+msgid "statistics object \"%s\" already exists"
+msgstr "Statistikobjekt »%s« existiert bereits"
+
+#: commands/statscmds.c:193 commands/statscmds.c:199
+#, c-format
+msgid "only simple column references are allowed in CREATE STATISTICS"
+msgstr "in CREATE STATISTICS sind nur einfache Spaltenverweise erlaubt"
+
+#: commands/statscmds.c:214
+#, c-format
+msgid "statistics creation on system columns is not supported"
+msgstr "Statistikerzeugung für Systemspalten wird nicht unterstützt"
+
+#: commands/statscmds.c:221
+#, 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:228
+#, c-format
+msgid "cannot have more than %d columns in statistics"
+msgstr "Statistiken können nicht mehr als %d Spalten enthalten"
+
+#: commands/statscmds.c:243
+#, c-format
+msgid "extended statistics require at least 2 columns"
+msgstr "erweiterte Statistiken benötigen mindestens 2 Spalten"
+
+#: commands/statscmds.c:261
+#, c-format
+msgid "duplicate column name in statistics definition"
+msgstr "doppelter Spaltenname in Statistikdefinition"
+
+#: commands/statscmds.c:289
+#, c-format
+msgid "unrecognized statistics kind \"%s\""
+msgstr "unbekannte Statistikart »%s«"
+
+#: commands/subscriptioncmds.c:187
+#, c-format
+msgid "unrecognized subscription parameter: %s"
+msgstr "unbekannter Subskriptionsparameter: %s"
+
+#: commands/subscriptioncmds.c:200
+#, c-format
+msgid "connect = false and enabled = true are mutually exclusive options"
+msgstr "die Optionen connect = false und enabled = true schließen einander aus"
+
+#: commands/subscriptioncmds.c:205
+#, c-format
+msgid "connect = false and create_slot = true are mutually exclusive options"
+msgstr "die Optionen connect = false und create_slot = true schließen einander aus"
+
+#: commands/subscriptioncmds.c:210
+#, c-format
+msgid "connect = false and copy_data = true are mutually exclusive options"
+msgstr "die Optionen connect = false und copy_data = true schließen einander aus"
+
+#: commands/subscriptioncmds.c:227
+#, c-format
+msgid "slot_name = NONE and enabled = true are mutually exclusive options"
+msgstr "die Optionen slot_name = NONE und enabled = true schließen einander aus"
+
+#: commands/subscriptioncmds.c:232
+#, c-format
+msgid "slot_name = NONE and create_slot = true are mutually exclusive options"
+msgstr "die Optionen slot_name = NONE und create_slot = true schließen einander aus"
+
+#: commands/subscriptioncmds.c:237
+#, c-format
+msgid "subscription with slot_name = NONE must also set enabled = false"
+msgstr "Subskription mit slot_name = NONE muss auch enabled = false setzen"
+
+#: commands/subscriptioncmds.c:242
+#, c-format
+msgid "subscription with slot_name = NONE must also set create_slot = false"
+msgstr "Subskription mit slot_name = NONE muss auch create_slot = false setzen"
+
+#: commands/subscriptioncmds.c:283
 #, c-format
 msgid "publication name \"%s\" used more than once"
 msgstr "Publikationsname »%s« mehrmals angegeben"
 
-#: commands/subscriptioncmds.c:245
+#: commands/subscriptioncmds.c:347
 #, c-format
 msgid "must be superuser to create subscriptions"
 msgstr "nur Superuser können Subskriptionen erzeugen"
 
-#: commands/subscriptioncmds.c:313 replication/logical/worker.c:1427
-#, fuzzy, c-format
-#| msgid "could not connect to the primary server: %s"
+#: commands/subscriptioncmds.c:427 commands/subscriptioncmds.c:520
+#: replication/logical/tablesync.c:856 replication/logical/worker.c:1720
+#, c-format
 msgid "could not connect to the publisher: %s"
-msgstr "konnte nicht mit dem Primärserver verbinden: %s"
+msgstr "konnte nicht mit dem Publikationsserver verbinden: %s"
 
-#: commands/subscriptioncmds.c:319
-#, fuzzy, c-format
-#| msgid "%s: creating replication slot \"%s\"\n"
+#: commands/subscriptioncmds.c:469
+#, c-format
 msgid "created replication slot \"%s\" on publisher"
-msgstr "%s: erzeuge Replikations-Slot »%s«\n"
+msgstr "Replikations-Slot »%s« wurde auf dem Publikationsserver erzeugt"
+
+#: commands/subscriptioncmds.c:486
+#, c-format
+msgid "tables were not subscribed, you will have to run ALTER SUBSCRIPTION ... REFRESH PUBLICATION to subscribe the tables"
+msgstr "keine Tabellen wurden zur Subskription hinzugefügt; Sie müssen ALTER SUBSCRIPTION ... REFRESH PUBLICATION ausführen, um Tabellen zur Subskription hinzuzufügen"
+
+#: commands/subscriptioncmds.c:576
+#, c-format
+msgid "table \"%s.%s\" added to subscription \"%s\""
+msgstr "Tabelle »%s.%s« wurde zur Subskription »%s« hinzugefügt"
+
+#: commands/subscriptioncmds.c:600
+#, c-format
+msgid "table \"%s.%s\" removed from subscription \"%s\""
+msgstr "Tabelle »%s.%s« wurde aus Subskription »%s« entfernt"
+
+#: commands/subscriptioncmds.c:669
+#, c-format
+msgid "cannot set slot_name = NONE for enabled subscription"
+msgstr "für eine aktivierte Subskription kann nicht slot_name = NONE gesetzt werden"
+
+#: commands/subscriptioncmds.c:703
+#, 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:749
+#, 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:485
+#: commands/subscriptioncmds.c:750
+#, c-format
+msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
+msgstr "Verwenden Sie ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
+
+#: commands/subscriptioncmds.c:768
+#, 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:847
 #, c-format
 msgid "subscription \"%s\" does not exist, skipping"
 msgstr "Subskription »%s« existiert nicht, wird übersprungen"
 
-#: commands/subscriptioncmds.c:564
+#: commands/subscriptioncmds.c:972
 #, c-format
 msgid "could not connect to publisher when attempting to drop the replication slot \"%s\""
-msgstr ""
+msgstr "konnte beim Versuch den Replikations-Slot »%s« zu löschen nicht mit dem Publikationsserver verbinden"
 
-#: commands/subscriptioncmds.c:566 commands/subscriptioncmds.c:574
+#: commands/subscriptioncmds.c:974 commands/subscriptioncmds.c:988
+#: replication/logical/tablesync.c:905 replication/logical/tablesync.c:927
 #, c-format
 msgid "The error was: %s"
 msgstr "Der Fehler war: %s"
 
-#: commands/subscriptioncmds.c:572
-#, fuzzy, c-format
-#| msgid "%s: could not send replication command \"%s\": %s"
+#: commands/subscriptioncmds.c:975
+#, c-format
+msgid "Use ALTER SUBSCRIPTION ... SET (slot_name = NONE) to disassociate the subscription from the slot."
+msgstr "Verwenden Sie ALTER SUBSCRIPTION ... SET (slot_name = NONE), um die Subskription vom Slot zu trennen."
+
+#: commands/subscriptioncmds.c:986
+#, c-format
 msgid "could not drop the replication slot \"%s\" on publisher"
-msgstr "%s: konnte Replikationsbefehl »%s« nicht senden: %s"
+msgstr "konnte Replikations-Slot »%s« auf dem Publikationsserver nicht löschen"
 
-#: commands/subscriptioncmds.c:577
-#, fuzzy, c-format
-#| msgid "%s: dropping replication slot \"%s\"\n"
+#: commands/subscriptioncmds.c:991
+#, c-format
 msgid "dropped replication slot \"%s\" on publisher"
-msgstr "%s: lösche Replikations-Slot »%s«\n"
+msgstr "Replikations-Slot »%s« auf dem Publikationsserver wurde gelöscht"
 
-#: commands/subscriptioncmds.c:616
+#: commands/subscriptioncmds.c:1032
 #, 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:618
+#: commands/subscriptioncmds.c:1034
 #, c-format
-msgid "The owner of an subscription must be a superuser."
+msgid "The owner of a subscription must be a superuser."
 msgstr "Der Eigentümer einer Subskription muss ein Superuser sein."
 
-#: commands/tablecmds.c:221 commands/tablecmds.c:263
+#: commands/subscriptioncmds.c:1147
+#, 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/tablecmds.c:223 commands/tablecmds.c:265
 #, c-format
 msgid "table \"%s\" does not exist"
 msgstr "Tabelle »%s« existiert nicht"
 
-#: commands/tablecmds.c:222 commands/tablecmds.c:264
+#: commands/tablecmds.c:224 commands/tablecmds.c:266
 #, c-format
 msgid "table \"%s\" does not exist, skipping"
 msgstr "Tabelle »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:224 commands/tablecmds.c:266
+#: commands/tablecmds.c:226 commands/tablecmds.c:268
 msgid "Use DROP TABLE to remove a table."
 msgstr "Verwenden Sie DROP TABLE, um eine Tabelle zu löschen."
 
-#: commands/tablecmds.c:227
+#: commands/tablecmds.c:229
 #, c-format
 msgid "sequence \"%s\" does not exist"
 msgstr "Sequenz »%s« existiert nicht"
 
-#: commands/tablecmds.c:228
+#: commands/tablecmds.c:230
 #, c-format
 msgid "sequence \"%s\" does not exist, skipping"
 msgstr "Sequenz »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:230
+#: commands/tablecmds.c:232
 msgid "Use DROP SEQUENCE to remove a sequence."
 msgstr "Verwenden Sie DROP SEQUENCE, um eine Sequenz zu löschen."
 
-#: commands/tablecmds.c:233
+#: commands/tablecmds.c:235
 #, c-format
 msgid "view \"%s\" does not exist"
 msgstr "Sicht »%s« existiert nicht"
 
-#: commands/tablecmds.c:234
+#: commands/tablecmds.c:236
 #, c-format
 msgid "view \"%s\" does not exist, skipping"
 msgstr "Sicht »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:236
+#: commands/tablecmds.c:238
 msgid "Use DROP VIEW to remove a view."
 msgstr "Verwenden Sie DROP VIEW, um eine Sicht zu löschen."
 
-#: commands/tablecmds.c:239
+#: commands/tablecmds.c:241
 #, c-format
 msgid "materialized view \"%s\" does not exist"
 msgstr "materialisierte Sicht »%s« existiert nicht"
 
-#: commands/tablecmds.c:240
+#: commands/tablecmds.c:242
 #, c-format
 msgid "materialized view \"%s\" does not exist, skipping"
 msgstr "materialisierte Sicht »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:242
+#: commands/tablecmds.c:244
 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:245 parser/parse_utilcmd.c:1698
+#: commands/tablecmds.c:247 commands/tablecmds.c:271 commands/tablecmds.c:14815
+#: parser/parse_utilcmd.c:1983
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "Index »%s« existiert nicht"
 
-#: commands/tablecmds.c:246
+#: commands/tablecmds.c:248 commands/tablecmds.c:272
 #, c-format
 msgid "index \"%s\" does not exist, skipping"
 msgstr "Index »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:248
+#: commands/tablecmds.c:250 commands/tablecmds.c:274
 msgid "Use DROP INDEX to remove an index."
 msgstr "Verwenden Sie DROP INDEX, um einen Index zu löschen."
 
-#: commands/tablecmds.c:253
+#: commands/tablecmds.c:255
 #, c-format
 msgid "\"%s\" is not a type"
 msgstr "»%s« ist kein Typ"
 
-#: commands/tablecmds.c:254
+#: commands/tablecmds.c:256
 msgid "Use DROP TYPE to remove a type."
 msgstr "Verwenden Sie DROP TYPE, um einen Typen zu löschen."
 
-#: commands/tablecmds.c:257 commands/tablecmds.c:9065
-#: commands/tablecmds.c:11904
+#: commands/tablecmds.c:259 commands/tablecmds.c:9768
+#: commands/tablecmds.c:12671
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "Fremdtabelle »%s« existiert nicht"
 
-#: commands/tablecmds.c:258
+#: commands/tablecmds.c:260
 #, c-format
 msgid "foreign table \"%s\" does not exist, skipping"
 msgstr "Fremdtabelle »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:260
+#: commands/tablecmds.c:262
 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:519
+#: commands/tablecmds.c:554
 #, 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:547
+#: commands/tablecmds.c:582
 #, 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:646
-#, fuzzy, c-format
-#| msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs"
+#: commands/tablecmds.c:683
+#, c-format
 msgid "cannot create table with OIDs as partition of table without OIDs"
-msgstr "Tabelle »%s« ohne OIDs kann nicht von Tabelle »%s« mit OIDs erben"
+msgstr "kann Tabelle mit OIDs nicht als Partition einer Tabelle ohne OIDs erzeugen"
 
-#: commands/tablecmds.c:764 parser/parse_utilcmd.c:3040
-#, fuzzy, c-format
-#| msgid "\"%s\" is not an index"
+#: commands/tablecmds.c:810
+#, c-format
 msgid "\"%s\" is not partitioned"
-msgstr "»%s« ist kein Index"
+msgstr "»%s« ist nicht partitioniert"
+
+#: commands/tablecmds.c:888
+#, c-format
+msgid "cannot partition using more than %d columns"
+msgstr "Partitionierung kann nicht mehr als %d Spalten verwenden"
 
-#: commands/tablecmds.c:972
+#: commands/tablecmds.c:1095
 #, 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:976
+#: commands/tablecmds.c:1099
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
 msgstr "DROP INDEX CONCURRENTLY unterstützt kein CASCADE"
 
-#: commands/tablecmds.c:1224
-#, fuzzy, c-format
-#| msgid "column must be added to child tables too"
-msgid "must truncate child tables too"
-msgstr "Spalte muss ebenso in den abgeleiteten Tabellen hinzugefügt werden"
+#: commands/tablecmds.c:1381
+#, c-format
+msgid "cannot truncate only a partitioned table"
+msgstr "kann nicht nur eine partitionierte Tabelle leeren"
+
+#: commands/tablecmds.c:1382
+#, 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:1252
+#: commands/tablecmds.c:1451
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "Truncate-Vorgang leert ebenfalls Tabelle »%s«"
 
-#: commands/tablecmds.c:1500
+#: commands/tablecmds.c:1742
 #, c-format
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht leeren"
 
-#: commands/tablecmds.c:1731 commands/tablecmds.c:10648
-#, fuzzy, c-format
-#| msgid "cannot insert into foreign table \"%s\""
+#: commands/tablecmds.c:1973 commands/tablecmds.c:11422
+#, c-format
 msgid "cannot inherit from partitioned table \"%s\""
-msgstr "kann nicht in Fremdtabelle »%s« einfügen"
+msgstr "von partitionierter Tabelle »%s« kann nicht geerbt werden"
 
-#: commands/tablecmds.c:1736
-#, fuzzy, c-format
-#| msgid "cannot inherit from temporary relation \"%s\""
+#: commands/tablecmds.c:1978
+#, c-format
 msgid "cannot inherit from partition \"%s\""
-msgstr "von temporärer Relation »%s« kann nicht geerbt werden"
+msgstr "von Partition »%s« kann nicht geerbt werden"
 
-#: commands/tablecmds.c:1744 parser/parse_utilcmd.c:1909
+#: commands/tablecmds.c:1986 parser/parse_utilcmd.c:2200
+#: parser/parse_utilcmd.c:2323
 #, 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:1752 commands/tablecmds.c:10627
+#: commands/tablecmds.c:1994 commands/tablecmds.c:11401
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "von temporärer Relation »%s« kann nicht geerbt werden"
 
-#: commands/tablecmds.c:1762 commands/tablecmds.c:10635
+#: commands/tablecmds.c:2004 commands/tablecmds.c:11409
 #, 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:1779 commands/tablecmds.c:10746
+#: commands/tablecmds.c:2021 commands/tablecmds.c:11533
 #, 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:1827
+#: commands/tablecmds.c:2070
 #, c-format
 msgid "merging multiple inherited definitions of column \"%s\""
 msgstr "geerbte Definitionen von Spalte »%s« werden zusammengeführt"
 
-#: commands/tablecmds.c:1835
+#: commands/tablecmds.c:2078
 #, c-format
 msgid "inherited column \"%s\" has a type conflict"
 msgstr "geerbte Spalte »%s« hat Typkonflikt"
 
-#: commands/tablecmds.c:1837 commands/tablecmds.c:1860
-#: commands/tablecmds.c:2065 commands/tablecmds.c:2089
-#: parser/parse_coerce.c:1650 parser/parse_coerce.c:1670
-#: parser/parse_coerce.c:1690 parser/parse_coerce.c:1736
-#: parser/parse_coerce.c:1775 parser/parse_param.c:218
+#: commands/tablecmds.c:2080 commands/tablecmds.c:2103
+#: commands/tablecmds.c:2309 commands/tablecmds.c:2339
+#: parser/parse_coerce.c:1716 parser/parse_coerce.c:1736
+#: parser/parse_coerce.c:1756 parser/parse_coerce.c:1802
+#: parser/parse_coerce.c:1841 parser/parse_param.c:218
 #, c-format
 msgid "%s versus %s"
 msgstr "%s gegen %s"
 
-#: commands/tablecmds.c:1846
+#: commands/tablecmds.c:2089
 #, c-format
 msgid "inherited column \"%s\" has a collation conflict"
 msgstr "geerbte Spalte »%s« hat Sortierfolgenkonflikt"
 
-#: commands/tablecmds.c:1848 commands/tablecmds.c:2077
-#: commands/tablecmds.c:5092
+#: commands/tablecmds.c:2091 commands/tablecmds.c:2321
+#: commands/tablecmds.c:5404
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "»%s« gegen »%s«"
 
-#: commands/tablecmds.c:1858
+#: commands/tablecmds.c:2101
 #, 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:1971 commands/tablecmds.c:8573
-#: parser/parse_utilcmd.c:993 parser/parse_utilcmd.c:1343
-#: parser/parse_utilcmd.c:1419
+#: commands/tablecmds.c:2215 commands/tablecmds.c:9255
+#: parser/parse_utilcmd.c:1116 parser/parse_utilcmd.c:1516
+#: parser/parse_utilcmd.c:1623
 #, c-format
 msgid "cannot convert whole-row table reference"
 msgstr "kann Verweis auf ganze Zeile der Tabelle nicht umwandeln"
 
-#: commands/tablecmds.c:1972 parser/parse_utilcmd.c:994
+#: commands/tablecmds.c:2216 parser/parse_utilcmd.c:1117
 #, 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:2051
+#: commands/tablecmds.c:2295
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "Spalte »%s« wird mit geerbter Definition zusammengeführt"
 
-#: commands/tablecmds.c:2055
+#: commands/tablecmds.c:2299
 #, 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:2056
+#: commands/tablecmds.c:2300
 #, 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:2063
+#: commands/tablecmds.c:2307
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "für Spalte »%s« besteht ein Typkonflikt"
 
-#: commands/tablecmds.c:2075
+#: commands/tablecmds.c:2319
 #, c-format
 msgid "column \"%s\" has a collation conflict"
 msgstr "für Spalte »%s« besteht ein Sortierfolgenkonflikt"
 
-#: commands/tablecmds.c:2087
+#: commands/tablecmds.c:2337
 #, 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:2189
+#: commands/tablecmds.c:2448
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "Spalte »%s« erbt widersprüchliche Vorgabewerte"
 
-#: commands/tablecmds.c:2191
+#: commands/tablecmds.c:2450
 #, 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:2238
+#: commands/tablecmds.c:2497
 #, 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:2437
+#: commands/tablecmds.c:2674
 #, c-format
 msgid "cannot rename column of typed table"
 msgstr "Spalte einer getypten Tabelle kann nicht umbenannt werden"
 
-#: commands/tablecmds.c:2455
+#: commands/tablecmds.c:2693
 #, 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:2549
+#: commands/tablecmds.c:2787
 #, 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:2581
+#: commands/tablecmds.c:2819
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "Systemspalte »%s« kann nicht umbenannt werden"
 
-#: commands/tablecmds.c:2596
+#: commands/tablecmds.c:2834
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "kann vererbte Spalte »%s« nicht umbenennen"
 
-#: commands/tablecmds.c:2748
+#: commands/tablecmds.c:2986
 #, 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:2755
+#: commands/tablecmds.c:2993
 #, 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:2979
+#: commands/tablecmds.c:3218
 #, 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:2988
+#: commands/tablecmds.c:3228
 #, 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:4087
+#: commands/tablecmds.c:4372
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "Systemrelation »%s« kann nicht neu geschrieben werden"
 
-#: commands/tablecmds.c:4093
+#: commands/tablecmds.c:4378
 #, 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:4103
+#: commands/tablecmds.c:4388
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht neu schreiben"
 
-#: commands/tablecmds.c:4382
+#: commands/tablecmds.c:4665
 #, c-format
 msgid "rewriting table \"%s\""
 msgstr "schreibe Tabelle »%s« neu"
 
-#: commands/tablecmds.c:4386
+#: commands/tablecmds.c:4669
 #, c-format
 msgid "verifying table \"%s\""
 msgstr "überprüfe Tabelle »%s«"
 
-#: commands/tablecmds.c:4499
+#: commands/tablecmds.c:4785
 #, c-format
 msgid "column \"%s\" contains null values"
 msgstr "Spalte »%s« enthält NULL-Werte"
 
-#: commands/tablecmds.c:4514 commands/tablecmds.c:7844
+#: commands/tablecmds.c:4801 commands/tablecmds.c:8492
 #, c-format
 msgid "check constraint \"%s\" is violated by some row"
 msgstr "Check-Constraint »%s« wird von irgendeiner Zeile verletzt"
 
-#: commands/tablecmds.c:4530
+#: commands/tablecmds.c:4819
 #, fuzzy, c-format
-#| msgid "check constraint \"%s\" is violated by some row"
+#| msgid "partition constraint is violated by some row"
+msgid "updated partition constraint for default partition would be violated by some row"
+msgstr "Partitions-Constraint wird von irgendeiner Zeile verletzt"
+
+#: commands/tablecmds.c:4823
+#, c-format
 msgid "partition constraint is violated by some row"
-msgstr "Check-Constraint »%s« wird von irgendeiner Zeile verletzt"
+msgstr "Partitions-Constraint wird von irgendeiner Zeile verletzt"
 
-#: commands/tablecmds.c:4668 commands/trigger.c:245
-#: rewrite/rewriteDefine.c:266 rewrite/rewriteDefine.c:906
+#: commands/tablecmds.c:4965 commands/trigger.c:310 rewrite/rewriteDefine.c:266
+#: rewrite/rewriteDefine.c:919
 #, c-format
 msgid "\"%s\" is not a table or view"
 msgstr "»%s« ist keine Tabelle oder Sicht"
 
-#: commands/tablecmds.c:4671 commands/trigger.c:1229 commands/trigger.c:1335
+#: commands/tablecmds.c:4968 commands/trigger.c:1520 commands/trigger.c:1626
 #, c-format
 msgid "\"%s\" is not a table, view, or foreign table"
 msgstr "»%s« ist keine Tabelle, Sicht oder Fremdtabelle"
 
-#: commands/tablecmds.c:4674
+#: commands/tablecmds.c:4971
 #, 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:4680
+#: commands/tablecmds.c:4977
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or index"
 msgstr "»%s« ist weder Tabelle, materialisierte Sicht noch Index"
 
-#: commands/tablecmds.c:4683
+#: commands/tablecmds.c:4980
 #, 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:4686
+#: commands/tablecmds.c:4983
 #, c-format
 msgid "\"%s\" is not a table or foreign table"
 msgstr "»%s« ist keine Tabelle oder Fremdtabelle"
 
-#: commands/tablecmds.c:4689
+#: commands/tablecmds.c:4986
 #, c-format
 msgid "\"%s\" is not a table, composite type, or foreign table"
 msgstr "»%s« ist weder Tabelle, Sicht, zusammengesetzter Typ noch Fremdtabelle"
 
-#: commands/tablecmds.c:4692 commands/tablecmds.c:5814
+#: commands/tablecmds.c:4989 commands/tablecmds.c:6407
 #, 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:4702
+#: commands/tablecmds.c:4999
 #, c-format
 msgid "\"%s\" is of the wrong type"
 msgstr "»%s« hat den falschen Typ"
 
-#: commands/tablecmds.c:4856 commands/tablecmds.c:4863
+#: commands/tablecmds.c:5174 commands/tablecmds.c:5181
 #, 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:4870
+#: commands/tablecmds.c:5188
 #, 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:4877
+#: commands/tablecmds.c:5195
 #, 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:4939
+#: commands/tablecmds.c:5249
 #, 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:4941
+#: commands/tablecmds.c:5251
 #, 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:4985
+#: commands/tablecmds.c:5297
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "Typ %s ist kein zusammengesetzter Typ"
 
-#: commands/tablecmds.c:5011
+#: commands/tablecmds.c:5323
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "zu einer getypten Tabelle kann keine Spalte hinzugefügt werden"
 
-#: commands/tablecmds.c:5055
-#, fuzzy, c-format
-#| msgid "cannot add column to typed table"
+#: commands/tablecmds.c:5367
+#, c-format
 msgid "cannot add column to a partition"
-msgstr "zu einer getypten Tabelle kann keine Spalte hinzugefügt werden"
+msgstr "zu einer Partition kann keine Spalte hinzugefügt werden"
 
-#: commands/tablecmds.c:5084 commands/tablecmds.c:10872
+#: commands/tablecmds.c:5396 commands/tablecmds.c:11660
 #, 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:5090 commands/tablecmds.c:10879
+#: commands/tablecmds.c:5402 commands/tablecmds.c:11667
 #, 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:5100
+#: commands/tablecmds.c:5412
 #, c-format
 msgid "child table \"%s\" has a conflicting \"%s\" column"
 msgstr "abgeleitete Tabelle »%s« hat eine widersprüchliche Spalte »%s«"
 
-#: commands/tablecmds.c:5111
+#: commands/tablecmds.c:5423
 #, 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:5335
+#: commands/tablecmds.c:5447
+#, 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:5696
 #, 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:5410
+#: commands/tablecmds.c:5771
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists, skipping"
 msgstr "Spalte »%s« von Relation »%s« existiert bereits, wird übersprungen"
 
-#: commands/tablecmds.c:5417
+#: commands/tablecmds.c:5778
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "Spalte »%s« von Relation »%s« existiert bereits"
 
-#: commands/tablecmds.c:5511 commands/tablecmds.c:8246
-#, fuzzy, c-format
-#| msgid "constraint must be added to child tables too"
-msgid "constraint must be dropped from child tables too"
-msgstr "Constraint muss ebenso in den abgeleiteten Tabellen hinzugefügt werden"
+#: commands/tablecmds.c:5876 commands/tablecmds.c:8935
+#, 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:5877 commands/tablecmds.c:6021
+#: commands/tablecmds.c:6798 commands/tablecmds.c:8936
+#, c-format
+msgid "Do not specify the ONLY keyword."
+msgstr "Lassen Sie das Schlüsselwort ONLY weg."
 
-#: commands/tablecmds.c:5542 commands/tablecmds.c:5703
-#: commands/tablecmds.c:5758 commands/tablecmds.c:5873
-#: commands/tablecmds.c:5927 commands/tablecmds.c:6019
-#: commands/tablecmds.c:8395 commands/tablecmds.c:9088
+#: commands/tablecmds.c:5909 commands/tablecmds.c:6057
+#: commands/tablecmds.c:6112 commands/tablecmds.c:6188
+#: commands/tablecmds.c:6282 commands/tablecmds.c:6341
+#: commands/tablecmds.c:6491 commands/tablecmds.c:6554
+#: commands/tablecmds.c:6646 commands/tablecmds.c:9075
+#: commands/tablecmds.c:9791
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "Systemspalte »%s« kann nicht geändert werden"
 
-#: commands/tablecmds.c:5578
+#: commands/tablecmds.c:5915 commands/tablecmds.c:6118
+#, 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:5951
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "Spalte »%s« ist in einem Primärschlüssel"
 
-#: commands/tablecmds.c:5600
-#, fuzzy, c-format
-#| msgid "column \"%s\" in child table must be marked NOT NULL"
+#: commands/tablecmds.c:5973
+#, c-format
 msgid "column \"%s\" is marked NOT NULL in parent table"
-msgstr "Spalte »%s« in abgeleiteter Tabelle muss als NOT NULL markiert sein"
+msgstr "Spalte »%s« ist in Elterntabelle als NOT NULL markiert"
 
-#: commands/tablecmds.c:5625
-#, fuzzy, c-format
-#| msgid "column \"%s\" is in a primary key"
-msgid "column \"%s\" is in range partition key"
-msgstr "Spalte »%s« ist in einem Primärschlüssel"
+#: commands/tablecmds.c:6020
+#, c-format
+msgid "cannot add constraint to only the partitioned table when partitions exist"
+msgstr "Constraint kann nicht nur zu der partitionierten Tabelle hinzugefügt werden, wenn Partitionen existieren"
 
-#: commands/tablecmds.c:5672 commands/tablecmds.c:6659
+#: commands/tablecmds.c:6120
 #, c-format
-msgid "constraint must be added to child tables too"
-msgstr "Constraint muss ebenso in den abgeleiteten Tabellen hinzugefügt werden"
+msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead."
+msgstr "Verwenden Sie stattdessen ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY."
+
+#: commands/tablecmds.c:6199
+#, 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:6205
+#, 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:6211
+#, 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:5846
+#: commands/tablecmds.c:6288 commands/tablecmds.c:6349
+#, 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:6354
+#, 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:6419
+#, c-format
+msgid "cannot refer to non-index column by number"
+msgstr ""
+
+#: commands/tablecmds.c:6450
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "Statistikziel %d ist zu niedrig"
 
-#: commands/tablecmds.c:5854
+#: commands/tablecmds.c:6458
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "setze Statistikziel auf %d herab"
 
-#: commands/tablecmds.c:5999
+#: commands/tablecmds.c:6481
+#, c-format
+msgid "column number %d of relation \"%s\" does not exist"
+msgstr "Spalte Nummer %d von Relation »%s« existiert nicht"
+
+#: commands/tablecmds.c:6499
+#, fuzzy, c-format
+#| msgid "cannot insert into column \"%s\" of view \"%s\""
+msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\""
+msgstr "kann nicht in Spalte »%s« von Sicht »%s« einfügen"
+
+#: commands/tablecmds.c:6501
+#, fuzzy, c-format
+#| msgid "Collects statistics on database activity."
+msgid "Alter statistics on table column instead."
+msgstr "Sammelt Statistiken über Datenbankaktivität."
+
+#: commands/tablecmds.c:6626
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "ungültiger Storage-Typ »%s«"
 
-#: commands/tablecmds.c:6031
+#: commands/tablecmds.c:6658
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
 msgstr "Spaltendatentyp %s kann nur Storage-Typ PLAIN"
 
-#: commands/tablecmds.c:6066
+#: commands/tablecmds.c:6693
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "aus einer getypten Tabelle können keine Spalten gelöscht werden"
 
-#: commands/tablecmds.c:6173
+#: commands/tablecmds.c:6738
 #, 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:6186
+#: commands/tablecmds.c:6751
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "Systemspalte »%s« kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:6193
+#: commands/tablecmds.c:6758
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "geerbte Spalte »%s« kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:6202
-#, fuzzy, c-format
-#| msgid "cannot drop column from typed table"
+#: commands/tablecmds.c:6769
+#, c-format
 msgid "cannot drop column named in partition key"
-msgstr "aus einer getypten Tabelle können keine Spalten gelöscht werden"
+msgstr "eine im Partitionierungsschlüssel verwendete Spalte kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:6206
-#, fuzzy, c-format
-#| msgid "cannot use column references in default expression"
+#: commands/tablecmds.c:6773
+#, c-format
 msgid "cannot drop column referenced in partition key expression"
-msgstr "Spaltenverweise können nicht in Vorgabeausdrücken verwendet werden"
+msgstr "eine im Partitionierungsschlüsselausdruck verwendete Spalte kann nicht gelöscht werden"
+
+#: commands/tablecmds.c:6797
+#, 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:6230
+#: commands/tablecmds.c:7002
 #, fuzzy, c-format
-#| msgid "column must be added to child tables too"
-msgid "column must be dropped from child tables too"
-msgstr "Spalte muss ebenso in den abgeleiteten Tabellen hinzugefügt werden"
+#| msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\""
+msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables"
+msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX benennt Index »%s« um in »%s«"
 
-#: commands/tablecmds.c:6446
+#: commands/tablecmds.c:7027
 #, 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:6730
-#, fuzzy, c-format
-#| msgid "cannot insert into foreign table \"%s\""
+#: commands/tablecmds.c:7244
+#, 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:7316
+#, c-format
 msgid "cannot reference partitioned table \"%s\""
-msgstr "kann nicht in Fremdtabelle »%s« einfügen"
+msgstr "Fremdschlüssel kann nicht auf partitionierte Tabelle »%s« verweisen"
 
-#: commands/tablecmds.c:6736
+#: commands/tablecmds.c:7324
+#, fuzzy, c-format
+#| msgid "cannot reference partitioned table \"%s\""
+msgid "foreign key referencing partitioned table \"%s\" must not be ONLY"
+msgstr "Fremdschlüssel kann nicht auf partitionierte Tabelle »%s« verweisen"
+
+#: commands/tablecmds.c:7329
+#, fuzzy, c-format
+#| msgid "cannot rewrite system relation \"%s\""
+msgid "cannot add NOT VALID foreign key to relation \"%s\""
+msgstr "Systemrelation »%s« kann nicht neu geschrieben werden"
+
+#: commands/tablecmds.c:7331
+#, fuzzy, c-format
+#| msgid "unique constraints are not supported on partitioned tables"
+msgid "This feature is not yet supported on partitioned tables."
+msgstr "Unique-Constraints auf partitionierten Tabellen werden nicht unterstützt"
+
+#: commands/tablecmds.c:7337
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "Relation »%s«, auf die verwiesen wird, ist keine Tabelle"
 
-#: commands/tablecmds.c:6759
+#: commands/tablecmds.c:7360
 #, 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:6766
+#: commands/tablecmds.c:7367
 #, 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:6772
+#: commands/tablecmds.c:7373
 #, 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:6776
+#: commands/tablecmds.c:7377
 #, 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:6837
+#: commands/tablecmds.c:7437
 #, 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:6944
+#: commands/tablecmds.c:7544
 #, c-format
 msgid "foreign key constraint \"%s\" cannot be implemented"
 msgstr "Fremdschlüssel-Constraint »%s« kann nicht implementiert werden"
 
-#: commands/tablecmds.c:6947
+#: commands/tablecmds.c:7547
 #, 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:7153 commands/tablecmds.c:7319
-#: commands/tablecmds.c:8225 commands/tablecmds.c:8291
+#: commands/tablecmds.c:7792 commands/tablecmds.c:7958
+#: commands/tablecmds.c:8903 commands/tablecmds.c:8971
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist"
 msgstr "Constraint »%s« von Relation »%s« existiert nicht"
 
-#: commands/tablecmds.c:7159
+#: commands/tablecmds.c:7798
 #, 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:7326
+#: commands/tablecmds.c:7965
 #, 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:7395
+#: commands/tablecmds.c:8035
 #, c-format
 msgid "constraint must be validated on child tables too"
 msgstr "Constraint muss ebenso in den abgeleiteten Tabellen validiert werden"
 
-#: commands/tablecmds.c:7463
+#: commands/tablecmds.c:8103
 #, 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:7468
+#: commands/tablecmds.c:8108
 #, 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:7533
+#: commands/tablecmds.c:8173
 #, 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:7550
+#: commands/tablecmds.c:8190
 #, 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:7615
+#: commands/tablecmds.c:8255
 #, 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:7709
+#: commands/tablecmds.c:8349
 #, 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:7714
+#: commands/tablecmds.c:8354
 #, 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:7877
+#: commands/tablecmds.c:8525
 #, c-format
 msgid "validating foreign key constraint \"%s\""
 msgstr "validiere Fremdschlüssel-Constraint »%s«"
 
-#: commands/tablecmds.c:8179
+#: commands/tablecmds.c:8857
 #, 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:8231
+#: commands/tablecmds.c:8909
 #, 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:8379
+#: commands/tablecmds.c:9059
 #, c-format
 msgid "cannot alter column type of typed table"
 msgstr "Spaltentyp einer getypten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:8402
+#: commands/tablecmds.c:9082
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "kann vererbte Spalte »%s« nicht ändern"
 
-#: commands/tablecmds.c:8411
-#, fuzzy, c-format
-#| msgid "cannot alter type of a column used in a trigger definition"
+#: commands/tablecmds.c:9093
+#, c-format
 msgid "cannot alter type of column named in partition key"
-msgstr "Typ einer Spalte, die in einer Trigger-Definition verwendet wird, kann nicht geändert werden"
+msgstr "Typ einer Spalte, die im Partitionierungschlüssel verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:8415
-#, fuzzy, c-format
-#| msgid "cannot use column references in default expression"
+#: commands/tablecmds.c:9097
+#, c-format
 msgid "cannot alter type of column referenced in partition key expression"
-msgstr "Spaltenverweise können nicht in Vorgabeausdrücken verwendet werden"
+msgstr "Typ einer Spalte, die im Partitionierungschlüsselausdruck verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:8465
+#: commands/tablecmds.c:9147
 #, 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:8468
+#: commands/tablecmds.c:9150
 #, 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:8472
+#: commands/tablecmds.c:9154
 #, 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:8475
+#: commands/tablecmds.c:9157
 #, c-format
 msgid "You might need to specify \"USING %s::%s\"."
 msgstr "Sie müssen möglicherweise »USING %s::%s« angeben."
 
-#: commands/tablecmds.c:8574
+#: commands/tablecmds.c:9256
 #, 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:8585
+#: commands/tablecmds.c:9267
 #, 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:8672
+#: commands/tablecmds.c:9356
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "Typ der Spalte »%s« kann nicht zweimal geändert werden"
 
-#: commands/tablecmds.c:8708
+#: commands/tablecmds.c:9392
 #, 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:8834
+#: commands/tablecmds.c:9519
 #, 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:8835 commands/tablecmds.c:8854
-#: commands/tablecmds.c:8872
+#: commands/tablecmds.c:9520 commands/tablecmds.c:9539
+#: commands/tablecmds.c:9557
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s hängt von Spalte »%s« ab"
 
-#: commands/tablecmds.c:8853
+#: commands/tablecmds.c:9538
 #, 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:8871
+#: commands/tablecmds.c:9556
 #, 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:9528
+#: commands/tablecmds.c:10286 commands/tablecmds.c:10298
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "kann Eigentümer des Index »%s« nicht ändern"
 
-#: commands/tablecmds.c:9530
+#: commands/tablecmds.c:10288 commands/tablecmds.c:10300
 #, 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:9546
+#: commands/tablecmds.c:10314
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "kann Eigentümer der Sequenz »%s« nicht ändern"
 
-#: commands/tablecmds.c:9548 commands/tablecmds.c:12123
-#, c-format
-msgid "Sequence \"%s\" is linked to table \"%s\"."
-msgstr "Sequenz »%s« ist mit Tabelle »%s« verknüpft."
-
-#: commands/tablecmds.c:9560 commands/tablecmds.c:12770
+#: commands/tablecmds.c:10328 commands/tablecmds.c:13539
 #, c-format
 msgid "Use ALTER TYPE instead."
 msgstr "Verwenden Sie stattdessen ALTER TYPE."
 
-#: commands/tablecmds.c:9569
+#: commands/tablecmds.c:10337
 #, c-format
 msgid "\"%s\" is not a table, view, sequence, or foreign table"
 msgstr "»%s« ist keine Tabelle, Sicht, Sequenz oder Fremdtabelle"
 
-#: commands/tablecmds.c:9910
+#: commands/tablecmds.c:10681
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "mehrere SET TABLESPACE Unterbefehle sind ungültig"
 
-#: commands/tablecmds.c:9984
+#: commands/tablecmds.c:10756
 #, 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:10017 commands/view.c:504
+#: commands/tablecmds.c:10789 commands/view.c:504
 #, 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:10159
+#: commands/tablecmds.c:10931
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "Systemrelation »%s« kann nicht verschoben werden"
 
-#: commands/tablecmds.c:10175
+#: commands/tablecmds.c:10947
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "temporäre Tabellen anderer Sitzungen können nicht verschoben werden"
 
-#: commands/tablecmds.c:10311
+#: commands/tablecmds.c:11083
 #, 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:10323
+#: commands/tablecmds.c:11095
 #, 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:10415
+#: commands/tablecmds.c:11188
 #, 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:10431
+#: commands/tablecmds.c:11204
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "keine passenden Relationen in Tablespace »%s« gefunden"
 
-#: commands/tablecmds.c:10505 storage/buffer/bufmgr.c:915
+#: commands/tablecmds.c:11278 storage/buffer/bufmgr.c:915
 #, c-format
 msgid "invalid page in block %u of relation %s"
 msgstr "ungültige Seite in Block %u von Relation %s"
 
-#: commands/tablecmds.c:10587
+#: commands/tablecmds.c:11360
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "Vererbung einer getypten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:10592 commands/tablecmds.c:11120
-#, fuzzy, c-format
-#| msgid "cannot change inheritance of typed table"
+#: commands/tablecmds.c:11365 commands/tablecmds.c:11908
+#, c-format
 msgid "cannot change inheritance of a partition"
-msgstr "Vererbung einer getypten Tabelle kann nicht geändert werden"
+msgstr "Vererbung einer Partition kann nicht geändert werden"
 
-#: commands/tablecmds.c:10597
-#, fuzzy, c-format
-#| msgid "cannot change inheritance of typed table"
+#: commands/tablecmds.c:11370
+#, c-format
 msgid "cannot change inheritance of partitioned table"
-msgstr "Vererbung einer getypten Tabelle kann nicht geändert werden"
+msgstr "Vererbung einer partitionierten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:10642
+#: commands/tablecmds.c:11416
 #, 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:10655
-#, fuzzy, c-format
-#| msgid "cannot inherit from temporary relation \"%s\""
+#: commands/tablecmds.c:11429
+#, c-format
 msgid "cannot inherit from a partition"
-msgstr "von temporärer Relation »%s« kann nicht geerbt werden"
+msgstr "von einer Partition kann nicht geerbt werden"
 
-#: commands/tablecmds.c:10677 commands/tablecmds.c:13122
+#: commands/tablecmds.c:11451 commands/tablecmds.c:14133
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "zirkuläre Vererbung ist nicht erlaubt"
 
-#: commands/tablecmds.c:10678 commands/tablecmds.c:13123
+#: commands/tablecmds.c:11452 commands/tablecmds.c:14134
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "»%s« ist schon von »%s« abgeleitet."
 
-#: commands/tablecmds.c:10686
+#: commands/tablecmds.c:11460
 #, c-format
 msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs"
 msgstr "Tabelle »%s« ohne OIDs kann nicht von Tabelle »%s« mit OIDs erben"
 
-#: commands/tablecmds.c:10890
+#: commands/tablecmds.c:11473
+#, 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:11475
+#, 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:11678
 #, 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:10917 commands/tablecmds.c:10956
+#: commands/tablecmds.c:11705 commands/tablecmds.c:11744
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "Spalte »%s« fehlt in abgeleiteter Tabelle"
 
-#: commands/tablecmds.c:11044
+#: commands/tablecmds.c:11832
 #, 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:11052
+#: commands/tablecmds.c:11840
 #, 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:11063
+#: commands/tablecmds.c:11851
 #, 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:11098
+#: commands/tablecmds.c:11886
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "Constraint »%s« fehlt in abgeleiteter Tabelle"
 
-#: commands/tablecmds.c:11214
-#, fuzzy, c-format
-#| msgid "relation \"%s\" is not a parent of relation \"%s\""
+#: commands/tablecmds.c:11975
+#, c-format
 msgid "relation \"%s\" is not a partition of relation \"%s\""
-msgstr "Relation »%s« ist keine Basisrelation von Relation »%s«"
+msgstr "Relation »%s« ist keine Partition von Relation »%s«"
 
-#: commands/tablecmds.c:11220
+#: commands/tablecmds.c:11981
 #, c-format
 msgid "relation \"%s\" is not a parent of relation \"%s\""
 msgstr "Relation »%s« ist keine Basisrelation von Relation »%s«"
 
-#: commands/tablecmds.c:11444
+#: commands/tablecmds.c:12207
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "getypte Tabellen können nicht erben"
 
-#: commands/tablecmds.c:11475
+#: commands/tablecmds.c:12238
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "Spalte »%s« fehlt in Tabelle"
 
-#: commands/tablecmds.c:11485
+#: commands/tablecmds.c:12249
 #, c-format
 msgid "table has column \"%s\" where type requires \"%s\""
 msgstr "Tabelle hat Spalte »%s«, aber Typ benötigt »%s«"
 
-#: commands/tablecmds.c:11494
+#: commands/tablecmds.c:12258
 #, c-format
 msgid "table \"%s\" has different type for column \"%s\""
 msgstr "Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«"
 
-#: commands/tablecmds.c:11507
+#: commands/tablecmds.c:12272
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "Tabelle hat zusätzliche Spalte »%s«"
 
-#: commands/tablecmds.c:11558
+#: commands/tablecmds.c:12324
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "»%s« ist keine getypte Tabelle"
 
-#: commands/tablecmds.c:11739
+#: commands/tablecmds.c:12506
 #, 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:11745
+#: commands/tablecmds.c:12512
 #, 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:11751
+#: commands/tablecmds.c:12518
 #, 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:11757
+#: commands/tablecmds.c:12524
 #, 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:11763
+#: commands/tablecmds.c:12530
 #, 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:11784
+#: commands/tablecmds.c:12551
 #, 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:11791
+#: commands/tablecmds.c:12558
 #, 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:11984
+#: commands/tablecmds.c:12751
 #, 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:12008
-#, fuzzy, c-format
+#: commands/tablecmds.c:12775
+#, 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:12010
+#: commands/tablecmds.c:12777
 #, c-format
 msgid "Unlogged relations cannot be replicated."
 msgstr "Ungeloggte Relationen können nicht repliziert werden."
 
-#: commands/tablecmds.c:12055
+#: commands/tablecmds.c:12822
 #, 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:12065
+#: commands/tablecmds.c:12832
 #, 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:12122
+#: commands/tablecmds.c:12890
 #, 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:12228
+#: commands/tablecmds.c:12996
 #, c-format
 msgid "relation \"%s\" already exists in schema \"%s\""
 msgstr "Relation »%s« existiert bereits in Schema »%s«"
 
-#: commands/tablecmds.c:12754
+#: commands/tablecmds.c:13522
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "»%s« ist kein zusammengesetzter Typ"
 
-#: commands/tablecmds.c:12785
+#: commands/tablecmds.c:13554
 #, 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"
 
-#: commands/tablecmds.c:12816
-#, fuzzy, c-format
-#| msgid "unrecognized privilege type \"%s\""
+#: commands/tablecmds.c:13589
+#, c-format
 msgid "unrecognized partitioning strategy \"%s\""
-msgstr "unbekannter Privilegtyp »%s«"
+msgstr "unbekannte Partitionierungsstrategie »%s«"
 
-#: commands/tablecmds.c:12842
-#, fuzzy, c-format
-#| msgid "common column name \"%s\" appears more than once in right table"
+#: commands/tablecmds.c:13597
+#, 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:13622
+#, c-format
 msgid "column \"%s\" appears more than once in partition key"
-msgstr "gemeinsamer Spaltenname »%s« erscheint mehrmals in der rechten Tabelle"
+msgstr "Spalte »%s« erscheint mehrmals im Partitionierungsschlüssel"
 
-#: commands/tablecmds.c:12890
-#, fuzzy, c-format
-#| msgid "column \"%s\" named in key does not exist"
+#: commands/tablecmds.c:13677
+#, c-format
 msgid "column \"%s\" named in partition key does not exist"
-msgstr "Spalte »%s«, die im Schlüssel verwendet wird, existiert nicht"
+msgstr "Spalte »%s«, die im Partitionierungsschlüssel verwendet wird, existiert nicht"
 
-#: commands/tablecmds.c:12897
-#, fuzzy, c-format
-#| msgid "cannot alter system column \"%s\""
+#: commands/tablecmds.c:13684
+#, c-format
 msgid "cannot use system column \"%s\" in partition key"
-msgstr "Systemspalte »%s« kann nicht geändert werden"
+msgstr "Systemspalte »%s« kann nicht im Partitionierungsschlüssel verwendet werden"
 
-#: commands/tablecmds.c:12955
-#, fuzzy, c-format
-#| msgid "functions in index expression must be marked IMMUTABLE"
+#: commands/tablecmds.c:13747
+#, c-format
 msgid "functions in partition key expression must be marked IMMUTABLE"
-msgstr "Funktionen im Indexausdruck müssen als IMMUTABLE markiert sein"
+msgstr "Funktionen im Partitionierungsschlüsselausdruck müssen als IMMUTABLE markiert sein"
 
-#: commands/tablecmds.c:12964
-#, fuzzy, c-format
-#| msgid "cannot use expression index \"%s\" as replica identity"
+#: commands/tablecmds.c:13764
+#, c-format
+msgid "partition key expressions cannot contain whole-row references"
+msgstr "Partitionierungsschlüsselausdruck kann nicht Verweis auf die ganze Zeile der Tabelle enthalten"
+
+#: commands/tablecmds.c:13771
+#, c-format
+msgid "partition key expressions cannot contain system column references"
+msgstr "Partitionierungsschlüsselausdruck kann nicht auf Systemspalten verweisen"
+
+#: commands/tablecmds.c:13781
+#, c-format
 msgid "cannot use constant expression as partition key"
-msgstr "Ausdrucksindex »%s« kann nicht als Replik-Identität verwendet werden"
+msgstr "Partitionierungsschlüssel kann kein konstanter Ausdruck sein"
 
-#: commands/tablecmds.c:12978
-#, fuzzy, c-format
-#| msgid "USING expression contains a whole-row table reference."
-msgid "partition key expressions cannot contain whole-row references"
-msgstr "USING-Ausdruck enthält einen Verweis auf die ganze Zeile der Tabelle."
+#: commands/tablecmds.c:13802
+#, 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:12999
+#: commands/tablecmds.c:13835
 #, fuzzy, c-format
-#| msgid "could not determine which collation to use for index expression"
-msgid "could not determine which collation to use for partition expression"
-msgstr "konnte die für den Indexausdruck zu verwendende Sortierfolge nicht bestimmen"
+#| msgid "data type %s has no default btree operator class"
+msgid "data type %s has no default hash operator class"
+msgstr "Datentyp %s hat keine Standardoperatorklasse für btree"
 
-#: commands/tablecmds.c:13024
+#: commands/tablecmds.c:13837
 #, fuzzy, c-format
-#| msgid "data type %s has no default operator class for access method \"%s\""
+#| msgid "You must specify a btree operator class or define a default btree operator class for the data type."
+msgid "You must specify a hash operator class or define a default hash 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:13841
+#, c-format
 msgid "data type %s has no default btree operator class"
-msgstr "Datentyp %s hat keine Standardoperatorklasse für Zugriffsmethode »%s«"
+msgstr "Datentyp %s hat keine Standardoperatorklasse für btree"
 
-#: commands/tablecmds.c:13026
-#, fuzzy, c-format
-#| msgid "You must specify an operator class for the index or define a default operator class for the data type."
+#: commands/tablecmds.c:13843
+#, 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 für den Index eine Operatorklasse angeben oder eine Standardoperatorklasse für den Datentyp definieren."
+msgstr "Sie müssen eine btree-Operatorklasse angeben oder eine btree-Standardoperatorklasse für den Datentyp definieren."
+
+#: commands/tablecmds.c:13968
+#, c-format
+msgid "partition constraint for table \"%s\" is implied by existing constraints"
+msgstr "Partitions-Constraint für Tabelle »%s« ist schon in bestehenden Constraints inbegriffen"
 
-#: commands/tablecmds.c:13073
+#: commands/tablecmds.c:13972 partitioning/partbounds.c:621
+#: partitioning/partbounds.c:666
 #, fuzzy, c-format
-#| msgid "\"%s\" is already a view"
+#| msgid "partition constraint for table \"%s\" is implied by existing constraints"
+msgid "updated partition constraint for default partition \"%s\" is implied by existing constraints"
+msgstr "Partitions-Constraint für Tabelle »%s« ist schon in bestehenden Constraints inbegriffen"
+
+#: commands/tablecmds.c:14073
+#, c-format
 msgid "\"%s\" is already a partition"
-msgstr "»%s« ist bereits eine Sicht"
+msgstr "»%s« ist bereits eine Partition"
 
-#: commands/tablecmds.c:13079
-#, fuzzy, c-format
-#| msgid "cannot add column to typed table"
+#: commands/tablecmds.c:14079
+#, c-format
 msgid "cannot attach a typed table as partition"
-msgstr "zu einer getypten Tabelle kann keine Spalte hinzugefügt werden"
+msgstr "eine getypte Tabelle kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:13095
+#: commands/tablecmds.c:14095
 #, c-format
 msgid "cannot attach inheritance child as partition"
-msgstr ""
+msgstr "ein Vererbungskind kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:13109
-#, fuzzy, c-format
-#| msgid "cannot change inheritance of typed table"
+#: commands/tablecmds.c:14109
+#, c-format
 msgid "cannot attach inheritance parent as partition"
-msgstr "Vererbung einer getypten Tabelle kann nicht geändert werden"
+msgstr "eine Tabelle mit abgeleiteten Tabellen kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:13132
-#, fuzzy, c-format
-#| msgid "cannot inherit from temporary relation \"%s\""
+#: commands/tablecmds.c:14143
+#, c-format
 msgid "cannot attach a permanent relation as partition of temporary relation \"%s\""
-msgstr "von temporärer Relation »%s« kann nicht geerbt werden"
+msgstr "eine permanente Relation kann nicht als Partition an temporäre Relation »%s« angefügt werden"
 
-#: commands/tablecmds.c:13140
-#, fuzzy, c-format
-#| msgid "cannot inherit to temporary relation of another session"
+#: commands/tablecmds.c:14151
+#, c-format
 msgid "cannot attach as partition of temporary relation of another session"
-msgstr "an temporäre Relation einer anderen Sitzung kann nicht vererbt werden"
+msgstr "kann nicht als Partition an temporäre Relation einer anderen Sitzung anfügen"
 
-#: commands/tablecmds.c:13147
-#, fuzzy, c-format
-#| msgid "cannot inherit to temporary relation of another session"
+#: commands/tablecmds.c:14158
+#, c-format
 msgid "cannot attach temporary relation of another session as partition"
-msgstr "an temporäre Relation einer anderen Sitzung kann nicht vererbt werden"
+msgstr "temporäre Relation einer anderen Sitzung kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:13153
-#, fuzzy, c-format
-#| msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs"
+#: commands/tablecmds.c:14164
+#, c-format
 msgid "cannot attach table \"%s\" without OIDs as partition of table \"%s\" with OIDs"
-msgstr "Tabelle »%s« ohne OIDs kann nicht von Tabelle »%s« mit OIDs erben"
+msgstr "kann Tabelle »%s« ohne OIDs nicht als Partition an Tabelle »%s« mit OIDs anfügen"
 
-#: commands/tablecmds.c:13161
-#, fuzzy, c-format
-#| msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs"
+#: commands/tablecmds.c:14172
+#, c-format
 msgid "cannot attach table \"%s\" with OIDs as partition of table \"%s\" without OIDs"
-msgstr "Tabelle »%s« ohne OIDs kann nicht von Tabelle »%s« mit OIDs erben"
+msgstr "kann Tabelle »%s« mit OIDs nicht als Partition an Tabelle »%s« ohne OIDs anfügen"
 
-#: commands/tablecmds.c:13183
-#, fuzzy, c-format
-#| msgid "column \"%s\" not found in data type %s"
+#: commands/tablecmds.c:14194
+#, c-format
 msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\""
-msgstr "Spalte »%s« nicht gefunden im Datentyp %s"
+msgstr "Tabelle »%s« enthält Spalte »%s«, die nicht in der Elterntabelle »%s« gefunden wurde"
 
-#: commands/tablecmds.c:13186
+#: commands/tablecmds.c:14197
 #, c-format
-msgid "New partition should contain only the columns present in parent."
-msgstr ""
+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:13358
+#: commands/tablecmds.c:14209
 #, c-format
-msgid "partition constraint for table \"%s\" is implied by existing constraints"
+msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition"
+msgstr "Trigger »%s« verhindert, dass Tabelle »%s« eine Partition werden kann"
+
+#: commands/tablecmds.c:14211 commands/trigger.c:462
+#, 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:14849 commands/tablecmds.c:14868
+#: commands/tablecmds.c:14890 commands/tablecmds.c:14909
+#: commands/tablecmds.c:14965
+#, fuzzy, c-format
+#| msgid "cannot attach table \"%s\" without OIDs as partition of table \"%s\" with OIDs"
+msgid "cannot attach index \"%s\" as a partition of index \"%s\""
+msgstr "kann Tabelle »%s« ohne OIDs nicht als Partition an Tabelle »%s« mit OIDs anfügen"
+
+#: commands/tablecmds.c:14852
+#, fuzzy, c-format
+#| msgid "index \"%s\" is already associated with a constraint"
+msgid "Index \"%s\" is already attached to another index."
+msgstr "Index »%s« gehört bereits zu einem Constraint"
+
+#: commands/tablecmds.c:14871
+#, fuzzy, c-format
+#| msgid "\"%s\" is not an index for table \"%s\""
+msgid "Index \"%s\" is not an index on any partition of table \"%s\"."
+msgstr "»%s« ist kein Index für Tabelle »%s«"
+
+#: commands/tablecmds.c:14893
+#, fuzzy, c-format
+#| msgid "Nonce does not match."
+msgid "The index definitions do not match."
+msgstr "Nonce stimmt nicht überein."
+
+#: commands/tablecmds.c:14912
+#, c-format
+msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"."
 msgstr ""
 
-#: commands/tablespace.c:162 commands/tablespace.c:179
-#: commands/tablespace.c:190 commands/tablespace.c:198
-#: commands/tablespace.c:623 replication/slot.c:1017 storage/file/copydir.c:47
+#: commands/tablecmds.c:14968
+#, fuzzy, c-format
+#| msgid "cannot inherit from partition \"%s\""
+msgid "Another index is already attached for partition \"%s\"."
+msgstr "von Partition »%s« kann nicht geerbt werden"
+
+#: commands/tablespace.c:163 commands/tablespace.c:180
+#: commands/tablespace.c:191 commands/tablespace.c:199
+#: commands/tablespace.c:625 replication/slot.c:1179 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:210 utils/adt/genfile.c:581
 #, 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:219
 #, c-format
 msgid "\"%s\" exists but is not a directory"
 msgstr "»%s« existiert, ist aber kein Verzeichnis"
 
-#: commands/tablespace.c:249
+#: commands/tablespace.c:250
 #, c-format
 msgid "permission denied to create tablespace \"%s\""
 msgstr "keine Berechtigung, um Tablespace »%s« zu erzeugen"
 
-#: commands/tablespace.c:251
+#: commands/tablespace.c:252
 #, c-format
 msgid "Must be superuser to create a tablespace."
 msgstr "Nur Superuser können Tablespaces anlegen."
 
-#: commands/tablespace.c:267
+#: commands/tablespace.c:268
 #, c-format
 msgid "tablespace location cannot contain single quotes"
 msgstr "Tablespace-Pfad darf keine Apostrophe enthalten"
 
-#: commands/tablespace.c:277
+#: commands/tablespace.c:278
 #, c-format
 msgid "tablespace location must be an absolute path"
 msgstr "Tablespace-Pfad muss ein absoluter Pfad sein"
 
-#: commands/tablespace.c:288
+#: commands/tablespace.c:290
 #, c-format
 msgid "tablespace location \"%s\" is too long"
 msgstr "Tablespace-Pfad »%s« ist zu lang"
 
-#: commands/tablespace.c:295
+#: commands/tablespace.c:297
 #, c-format
 msgid "tablespace location should not be inside the data directory"
 msgstr "Tablespace-Pfad sollte nicht innerhalb des Datenverzeichnisses sein"
 
-#: commands/tablespace.c:304 commands/tablespace.c:950
+#: commands/tablespace.c:306 commands/tablespace.c:952
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "inakzeptabler Tablespace-Name »%s«"
 
-#: commands/tablespace.c:306 commands/tablespace.c:951
+#: commands/tablespace.c:308 commands/tablespace.c:953
 #, 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:316 commands/tablespace.c:963
+#: commands/tablespace.c:318 commands/tablespace.c:965
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "Tablespace »%s« existiert bereits"
 
-#: commands/tablespace.c:428 commands/tablespace.c:933
-#: commands/tablespace.c:1013 commands/tablespace.c:1081
-#: commands/tablespace.c:1214 commands/tablespace.c:1414
+#: commands/tablespace.c:430 commands/tablespace.c:935
+#: commands/tablespace.c:1015 commands/tablespace.c:1083
+#: commands/tablespace.c:1216 commands/tablespace.c:1416
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "Tablespace »%s« existiert nicht"
 
-#: commands/tablespace.c:434
+#: commands/tablespace.c:436
 #, c-format
 msgid "tablespace \"%s\" does not exist, skipping"
 msgstr "Tablespace »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablespace.c:510
+#: commands/tablespace.c:512
 #, c-format
 msgid "tablespace \"%s\" is not empty"
 msgstr "Tablespace »%s« ist nicht leer"
 
-#: commands/tablespace.c:582
+#: commands/tablespace.c:584
 #, c-format
 msgid "directory \"%s\" does not exist"
 msgstr "Verzeichnis »%s« existiert nicht"
 
-#: commands/tablespace.c:583
+#: commands/tablespace.c:585
 #, 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:588
+#: commands/tablespace.c:590
 #, c-format
 msgid "could not set permissions on directory \"%s\": %m"
 msgstr "konnte Zugriffsrechte für Verzeichnis »%s« nicht setzen: %m"
 
-#: commands/tablespace.c:618
+#: commands/tablespace.c:620
 #, c-format
 msgid "directory \"%s\" already in use as a tablespace"
 msgstr "Verzeichnis »%s« ist bereits als Tablespace in Verwendung"
 
-#: commands/tablespace.c:742 commands/tablespace.c:755
-#: commands/tablespace.c:791 commands/tablespace.c:883
+#: commands/tablespace.c:705 commands/tablespace.c:715
+#: postmaster/postmaster.c:1476 storage/file/fd.c:2680
+#: storage/file/reinit.c:122 utils/adt/genfile.c:483 utils/adt/genfile.c:554
+#: utils/adt/misc.c:436 utils/misc/tzparser.c:339
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "konnte Verzeichnis »%s« nicht öffnen: %m"
+
+#: commands/tablespace.c:744 commands/tablespace.c:757
+#: commands/tablespace.c:793 commands/tablespace.c:885 storage/file/fd.c:3110
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "konnte Verzeichnis »%s« nicht löschen: %m"
 
-#: commands/tablespace.c:804 commands/tablespace.c:892
+#: commands/tablespace.c:806 commands/tablespace.c:894
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "konnte symbolische Verknüpfung »%s« nicht löschen: %m"
 
-#: commands/tablespace.c:814 commands/tablespace.c:901
+#: commands/tablespace.c:816 commands/tablespace.c:903
 #, c-format
 msgid "\"%s\" is not a directory or symbolic link"
 msgstr "»%s« ist kein Verzeichnis oder symbolische Verknüpfung"
 
-#: commands/tablespace.c:1086
+#: commands/tablespace.c:1088
 #, c-format
 msgid "Tablespace \"%s\" does not exist."
 msgstr "Tablespace »%s« existiert nicht."
 
-#: commands/tablespace.c:1513
+#: commands/tablespace.c:1515
 #, c-format
 msgid "directories for tablespace %u could not be removed"
 msgstr "Verzeichnisse für Tablespace %u konnten nicht entfernt werden"
 
-#: commands/tablespace.c:1515
+#: commands/tablespace.c:1517
 #, 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:187
+#: commands/trigger.c:207 commands/trigger.c:218
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "»%s« ist eine Tabelle"
 
-#: commands/trigger.c:189
+#: commands/trigger.c:209 commands/trigger.c:220
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "Tabellen können keine INSTEAD OF-Trigger haben."
 
-#: commands/trigger.c:194
+#: commands/trigger.c:237
 #, fuzzy, c-format
-#| msgid "\"%s\" is a partial index"
-msgid "\"%s\" is a partitioned table"
-msgstr "»%s« ist ein partieller Index"
+#| msgid "Partitioned tables cannot have ROW triggers."
+msgid "Partitioned tables cannot have BEFORE / FOR EACH ROW triggers."
+msgstr "Partitionierte Tabellen können keine ROW-Trigger haben."
 
-#: commands/trigger.c:196
+#: commands/trigger.c:255
 #, fuzzy, c-format
-#| msgid "Foreign tables cannot have TRUNCATE triggers."
-msgid "Partitioned tables cannot have ROW triggers."
-msgstr "Fremdtabellen können keine TRUNCATE-Trigger haben."
+#| msgid "Triggers on foreign tables cannot have transition tables."
+msgid "Triggers on partitioned tables cannot have transition tables."
+msgstr "Trigger für Fremdtabellen können keine Übergangstabellen haben."
 
-#: commands/trigger.c:207 commands/trigger.c:214
+#: commands/trigger.c:267 commands/trigger.c:274 commands/trigger.c:444
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "»%s« ist eine Sicht"
 
-#: commands/trigger.c:209
+#: commands/trigger.c:269
 #, 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:216
+#: commands/trigger.c:276
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "Sichten können keine TRUNCATE-Trigger haben."
 
-#: commands/trigger.c:224 commands/trigger.c:231 commands/trigger.c:238
+#: commands/trigger.c:284 commands/trigger.c:291 commands/trigger.c:303
+#: commands/trigger.c:437
 #, c-format
 msgid "\"%s\" is a foreign table"
 msgstr "»%s« ist eine Fremdtabelle"
 
-#: commands/trigger.c:226
+#: commands/trigger.c:286
 #, c-format
 msgid "Foreign tables cannot have INSTEAD OF triggers."
 msgstr "Fremdtabellen können keine INSTEAD OF-Trigger haben."
 
-#: commands/trigger.c:233
+#: commands/trigger.c:293
 #, c-format
 msgid "Foreign tables cannot have TRUNCATE triggers."
 msgstr "Fremdtabellen können keine TRUNCATE-Trigger haben."
 
-#: commands/trigger.c:240
+#: commands/trigger.c:305
 #, c-format
 msgid "Foreign tables cannot have constraint triggers."
 msgstr "Fremdtabellen können keine Constraint-Trigger haben."
 
-#: commands/trigger.c:303
+#: commands/trigger.c:380
 #, c-format
 msgid "TRUNCATE FOR EACH ROW triggers are not supported"
 msgstr "TRUNCATE FOR EACH ROW-Trigger werden nicht unterstützt"
 
-#: commands/trigger.c:311
+#: commands/trigger.c:388
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "INSTEAD OF-Trigger müssen FOR EACH ROW sein"
 
-#: commands/trigger.c:315
+#: commands/trigger.c:392
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "INSTEAD OF-Trigger können keine WHEN-Bedingungen haben"
 
-#: commands/trigger.c:319
+#: commands/trigger.c:396
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "INSTEAD OF-Trigger können keine Spaltenlisten haben"
 
-#: commands/trigger.c:348
-#, fuzzy, c-format
-#| msgid "using variable \"%s\" in different declare statements is not supported"
+#: commands/trigger.c:425
+#, c-format
 msgid "ROW variable naming in the REFERENCING clause is not supported"
-msgstr "Verwendung der Variable »%s« in verschiedenen DECLARE-Anweisungen wird nicht unterstützt"
+msgstr "Benennung von ROW-Variablen in der REFERENCING-Klausel wird nicht unterstützt"
 
-#: commands/trigger.c:349
+#: commands/trigger.c:426
 #, c-format
 msgid "Use OLD TABLE or NEW TABLE for naming transition tables."
-msgstr ""
+msgstr "Verwenden Sie OLD TABLE und NEW TABLE, um Übergangstabellen zu benennen."
 
-#: commands/trigger.c:360
-#, fuzzy, c-format
-#| msgid "%s: transaction log directory location can only be specified in plain mode\n"
+#: commands/trigger.c:439
+#, c-format
+msgid "Triggers on foreign tables cannot have transition tables."
+msgstr "Trigger für Fremdtabellen können keine Übergangstabellen haben."
+
+#: commands/trigger.c:446
+#, c-format
+msgid "Triggers on views cannot have transition tables."
+msgstr "Trigger für Sichten können keine Übergangstabellen haben."
+
+#: commands/trigger.c:466
+#, 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:472
+#, c-format
 msgid "transition table name can only be specified for an AFTER trigger"
-msgstr "%s: Transaktionslogverzeichnis kann nur im »plain«-Modus angegeben werden\n"
+msgstr "Übergangstabellenname kann nur für einen AFTER-Trigger angegeben werden"
+
+#: commands/trigger.c:477
+#, c-format
+msgid "TRUNCATE triggers with transition tables are not supported"
+msgstr "TRUNCATE-Trigger mit Übergangstabellen werden nicht unterstützt"
+
+#: commands/trigger.c:494
+#, 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:505
+#, 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:368
+#: commands/trigger.c:522
 #, c-format
 msgid "NEW TABLE can only be specified for an INSERT or UPDATE trigger"
-msgstr ""
+msgstr "NEW TABLE kann nur für INSERT- oder UPDATE-Trigger angegeben werden"
 
-#: commands/trigger.c:373
+#: commands/trigger.c:527
 #, c-format
 msgid "NEW TABLE cannot be specified multiple times"
-msgstr ""
+msgstr "NEW TABLE kann nicht mehrmals angegeben werden"
 
-#: commands/trigger.c:383
+#: commands/trigger.c:537
 #, c-format
 msgid "OLD TABLE can only be specified for a DELETE or UPDATE trigger"
-msgstr ""
+msgstr "OLD TABLE kann nur für DELETE- oder UPDATE-Trigger angegeben werden"
 
-#: commands/trigger.c:388
+#: commands/trigger.c:542
 #, c-format
 msgid "OLD TABLE cannot be specified multiple times"
-msgstr ""
+msgstr "OLD TABLE kann nicht mehrmals angegeben werden"
 
-#: commands/trigger.c:398
+#: commands/trigger.c:552
 #, c-format
 msgid "OLD TABLE name and NEW TABLE name cannot be the same"
-msgstr ""
+msgstr "Name für OLD TABLE und NEW TABLE kann nicht gleich sein"
 
-#: commands/trigger.c:455 commands/trigger.c:468
+#: commands/trigger.c:614 commands/trigger.c:627
 #, 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:460
+#: commands/trigger.c:619
 #, 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:473
+#: commands/trigger.c:632
 #, 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:478
+#: commands/trigger.c:637
 #, 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:643 commands/trigger.c:1414
+#: commands/trigger.c:810 commands/trigger.c:1705
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "Trigger »%s« für Relation »%s« existiert bereits"
 
-#: commands/trigger.c:939
+#: commands/trigger.c:1230
 msgid "Found referenced table's UPDATE trigger."
 msgstr "UPDATE-Trigger der Zieltabelle wurde gefunden."
 
-#: commands/trigger.c:940
+#: commands/trigger.c:1231
 msgid "Found referenced table's DELETE trigger."
 msgstr "DELETE-Trigger der Zieltabelle wurde gefunden."
 
-#: commands/trigger.c:941
+#: commands/trigger.c:1232
 msgid "Found referencing table's trigger."
 msgstr "Trigger der Quelltabelle wurde gefunden."
 
-#: commands/trigger.c:1050 commands/trigger.c:1066
+#: commands/trigger.c:1341 commands/trigger.c:1357
 #, c-format
 msgid "ignoring incomplete trigger group for constraint \"%s\" %s"
 msgstr "unvollständige Triggergruppe für Constraint \"%s\" %s ignoriert"
 
-#: commands/trigger.c:1079
+#: commands/trigger.c:1370
 #, c-format
 msgid "converting trigger group into constraint \"%s\" %s"
 msgstr "Triggergruppe wird in Constraint \"%s\" %s umgewandelt"
 
-#: commands/trigger.c:1300 commands/trigger.c:1459 commands/trigger.c:1574
+#: commands/trigger.c:1591 commands/trigger.c:1750 commands/trigger.c:1886
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "Trigger »%s« für Tabelle »%s« existiert nicht"
 
-#: commands/trigger.c:1542
+#: commands/trigger.c:1833
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "keine Berechtigung: »%s« ist ein Systemtrigger"
 
-#: commands/trigger.c:2097
+#: commands/trigger.c:2433
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "Triggerfunktion %u gab NULL-Wert zurück"
 
-#: commands/trigger.c:2158 commands/trigger.c:2364 commands/trigger.c:2575
-#: commands/trigger.c:2854
+#: commands/trigger.c:2499 commands/trigger.c:2714 commands/trigger.c:2933
+#: commands/trigger.c:3223
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "Trigger für BEFORE STATEMENT kann keinen Wert zurückgeben"
 
-#: commands/trigger.c:2916 executor/nodeModifyTable.c:746
-#: executor/nodeModifyTable.c:1041
+#: commands/trigger.c:3285 executor/nodeModifyTable.c:757
+#: executor/nodeModifyTable.c:1220
 #, 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:2917 executor/nodeModifyTable.c:747
-#: executor/nodeModifyTable.c:1042
+#: commands/trigger.c:3286 executor/nodeModifyTable.c:758
+#: executor/nodeModifyTable.c:1221
 #, 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:2931 executor/execMain.c:2526
-#: executor/nodeLockRows.c:216 executor/nodeModifyTable.c:213
-#: executor/nodeModifyTable.c:759 executor/nodeModifyTable.c:1054
-#: executor/nodeModifyTable.c:1220
+#: commands/trigger.c:3300 executor/execMain.c:2719 executor/nodeLockRows.c:220
+#: executor/nodeModifyTable.c:225 executor/nodeModifyTable.c:770
+#: executor/nodeModifyTable.c:1233 executor/nodeModifyTable.c:1409
 #, c-format
 msgid "could not serialize access due to concurrent update"
 msgstr "kann Zugriff nicht serialisieren wegen gleichzeitiger Aktualisierung"
 
-#: commands/trigger.c:4834
+#: commands/trigger.c:3304 executor/execMain.c:2723 executor/execMain.c:2798
+#: executor/nodeLockRows.c:224
+#, fuzzy, c-format
+#| msgid "tuple to be updated was already modified by an operation triggered by the current command"
+msgid "tuple to be locked was already moved to another partition due to concurrent update"
+msgstr "das zu aktualisierende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert"
+
+#: commands/trigger.c:5429
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "Constraint »%s« ist nicht aufschiebbar"
 
-#: commands/trigger.c:4857
+#: commands/trigger.c:5452
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "Constraint »%s« existiert nicht"
@@ -9544,632 +10161,675 @@ msgstr "Optionen PARSER und COPY können nicht beide angegeben werden"
 msgid "text search parser is required"
 msgstr "Textsucheparser muss angegeben werden"
 
-#: commands/tsearchcmds.c:1266
+#: commands/tsearchcmds.c:1265
 #, c-format
 msgid "token type \"%s\" does not exist"
 msgstr "Tokentyp »%s« existiert nicht"
 
-#: commands/tsearchcmds.c:1487
+#: commands/tsearchcmds.c:1486
 #, c-format
 msgid "mapping for token type \"%s\" does not exist"
 msgstr "Mapping für Tokentyp »%s« existiert nicht"
 
-#: commands/tsearchcmds.c:1493
+#: commands/tsearchcmds.c:1492
 #, c-format
 msgid "mapping for token type \"%s\" does not exist, skipping"
 msgstr "Mapping für Tokentyp »%s« existiert nicht, wird übersprungen"
 
-#: commands/tsearchcmds.c:1648 commands/tsearchcmds.c:1759
+#: commands/tsearchcmds.c:1647 commands/tsearchcmds.c:1758
 #, c-format
 msgid "invalid parameter list format: \"%s\""
 msgstr "ungültiges Parameterlistenformat: »%s«"
 
-#: commands/typecmds.c:183
+#: commands/typecmds.c:180
 #, c-format
 msgid "must be superuser to create a base type"
 msgstr "nur Superuser können Basistypen anlegen"
 
-#: commands/typecmds.c:290 commands/typecmds.c:1414
+#: commands/typecmds.c:287 commands/typecmds.c:1483
 #, c-format
 msgid "type attribute \"%s\" not recognized"
 msgstr "Typ-Attribut »%s« nicht erkannt"
 
-#: commands/typecmds.c:346
+#: commands/typecmds.c:343
 #, c-format
 msgid "invalid type category \"%s\": must be simple ASCII"
 msgstr "ungültige Typenkategorie »%s«: muss einfacher ASCII-Wert sein"
 
-#: commands/typecmds.c:365
+#: commands/typecmds.c:362
 #, c-format
 msgid "array element type cannot be %s"
 msgstr "Arrayelementtyp kann nicht %s sein"
 
-#: commands/typecmds.c:397
+#: commands/typecmds.c:394
 #, c-format
 msgid "alignment \"%s\" not recognized"
 msgstr "Ausrichtung »%s« nicht erkannt"
 
-#: commands/typecmds.c:414
+#: commands/typecmds.c:411
 #, c-format
 msgid "storage \"%s\" not recognized"
 msgstr "Storage-Typ »%s« nicht erkannt"
 
-#: commands/typecmds.c:425
+#: commands/typecmds.c:422
 #, c-format
 msgid "type input function must be specified"
 msgstr "Typeingabefunktion muss angegeben werden"
 
-#: commands/typecmds.c:429
+#: commands/typecmds.c:426
 #, c-format
 msgid "type output function must be specified"
 msgstr "Typausgabefunktion muss angegeben werden"
 
-#: commands/typecmds.c:434
+#: commands/typecmds.c:431
 #, c-format
 msgid "type modifier output function is useless without a type modifier input function"
 msgstr "Typmodifikatorausgabefunktion ist nutzlos ohne Typmodifikatoreingabefunktion"
 
-#: commands/typecmds.c:464
+#: commands/typecmds.c:461
 #, c-format
 msgid "type input function %s must return type %s"
 msgstr "Typeingabefunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:481
+#: commands/typecmds.c:478
 #, c-format
 msgid "type output function %s must return type %s"
 msgstr "Typausgabefunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:490
+#: commands/typecmds.c:487
 #, c-format
 msgid "type receive function %s must return type %s"
 msgstr "Typempfangsfunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:499
+#: commands/typecmds.c:496
 #, c-format
 msgid "type send function %s must return type %s"
 msgstr "Typsendefunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:564
+#: commands/typecmds.c:561
 #, c-format
 msgid "type input function %s should not be volatile"
 msgstr "Typeingabefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:569
+#: commands/typecmds.c:566
 #, c-format
 msgid "type output function %s should not be volatile"
 msgstr "Typausgabefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:574
+#: commands/typecmds.c:571
 #, c-format
 msgid "type receive function %s should not be volatile"
 msgstr "Typempfangsfunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:579
+#: commands/typecmds.c:576
 #, c-format
 msgid "type send function %s should not be volatile"
 msgstr "Typsendefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:584
+#: commands/typecmds.c:581
 #, c-format
 msgid "type modifier input function %s should not be volatile"
 msgstr "Typmodifikatoreingabefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:589
+#: commands/typecmds.c:586
 #, c-format
 msgid "type modifier output function %s should not be volatile"
 msgstr "Typmodifikatorausgabefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:811
+#: commands/typecmds.c:813
 #, 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:897
+#: commands/typecmds.c:899
 #, c-format
 msgid "multiple default expressions"
 msgstr "mehrere Vorgabeausdrücke"
 
-#: commands/typecmds.c:959 commands/typecmds.c:968
+#: commands/typecmds.c:961 commands/typecmds.c:970
 #, c-format
 msgid "conflicting NULL/NOT NULL constraints"
 msgstr "wiedersprüchliche NULL/NOT NULL-Constraints"
 
-#: commands/typecmds.c:984
+#: commands/typecmds.c:986
 #, 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:993 commands/typecmds.c:2512
+#: commands/typecmds.c:995 commands/typecmds.c:2581
 #, c-format
 msgid "unique constraints not possible for domains"
 msgstr "Unique-Constraints sind nicht für Domänen möglich"
 
-#: commands/typecmds.c:999 commands/typecmds.c:2518
+#: commands/typecmds.c:1001 commands/typecmds.c:2587
 #, 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:1005 commands/typecmds.c:2524
+#: commands/typecmds.c:1007 commands/typecmds.c:2593
 #, c-format
 msgid "exclusion constraints not possible for domains"
 msgstr "Exclusion-Constraints sind nicht für Domänen möglich"
 
-#: commands/typecmds.c:1011 commands/typecmds.c:2530
+#: commands/typecmds.c:1013 commands/typecmds.c:2599
 #, 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:1020 commands/typecmds.c:2539
+#: commands/typecmds.c:1022 commands/typecmds.c:2608
 #, 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:1284 utils/cache/typcache.c:1636
+#: commands/typecmds.c:1353 utils/cache/typcache.c:2319
 #, c-format
 msgid "%s is not an enum"
 msgstr "»%s« ist kein Enum"
 
-#: commands/typecmds.c:1422
+#: commands/typecmds.c:1491
 #, c-format
 msgid "type attribute \"subtype\" is required"
 msgstr "Typ-Attribut »subtype« muss angegeben werden"
 
-#: commands/typecmds.c:1427
+#: commands/typecmds.c:1496
 #, c-format
 msgid "range subtype cannot be %s"
 msgstr "Bereichtsuntertyp kann nicht %s sein"
 
-#: commands/typecmds.c:1446
+#: commands/typecmds.c:1515
 #, 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:1680
+#: commands/typecmds.c:1748
 #, c-format
 msgid "changing argument type of function %s from \"opaque\" to \"cstring\""
 msgstr "ändere Argumenttyp von Funktion %s von »opaque« in »cstring«"
 
-#: commands/typecmds.c:1731
+#: commands/typecmds.c:1799
 #, c-format
 msgid "changing argument type of function %s from \"opaque\" to %s"
 msgstr "ändere Argumenttyp von Funktion %s von »opaque« in %s"
 
-#: commands/typecmds.c:1830
+#: commands/typecmds.c:1898
 #, c-format
 msgid "typmod_in function %s must return type %s"
 msgstr "typmod_in-Funktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:1857
+#: commands/typecmds.c:1925
 #, c-format
 msgid "typmod_out function %s must return type %s"
 msgstr "typmod_out-Funktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:1884
+#: commands/typecmds.c:1952
 #, c-format
 msgid "type analyze function %s must return type %s"
 msgstr "Typanalysefunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:1930
+#: commands/typecmds.c:1998
 #, 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:1961
+#: commands/typecmds.c:2029
 #, c-format
 msgid "range canonical function %s must return range type"
 msgstr "Bereichstyp-Canonical-Funktion %s muss Bereichstyp zurückgeben"
 
-#: commands/typecmds.c:1967
+#: commands/typecmds.c:2035
 #, c-format
 msgid "range canonical function %s must be immutable"
 msgstr "Bereichstyp-Canonical-Funktion %s muss »immutable« sein"
 
-#: commands/typecmds.c:2003
+#: commands/typecmds.c:2071
 #, 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:2010
+#: commands/typecmds.c:2078
 #, c-format
 msgid "range subtype diff function %s must be immutable"
 msgstr "Bereichstyp-Untertyp-Diff-Funktion %s muss »immutable« sein"
 
-#: commands/typecmds.c:2037
+#: commands/typecmds.c:2105
 #, 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:2340
+#: commands/typecmds.c:2409
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains null values"
 msgstr "Spalte »%s« von Tabelle »%s« enthält NULL-Werte"
 
-#: commands/typecmds.c:2453 commands/typecmds.c:2636
+#: commands/typecmds.c:2522 commands/typecmds.c:2705
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist"
 msgstr "Constraint »%s« von Domäne »%s« existiert nicht"
 
-#: commands/typecmds.c:2457
+#: commands/typecmds.c:2526
 #, 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:2642
+#: commands/typecmds.c:2711
 #, 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:2747
+#: commands/typecmds.c:2817
 #, 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:2960 commands/typecmds.c:3247 commands/typecmds.c:3434
+#: commands/typecmds.c:3045 commands/typecmds.c:3252 commands/typecmds.c:3334
+#: commands/typecmds.c:3521
 #, c-format
 msgid "%s is not a domain"
 msgstr "%s ist keine Domäne"
 
-#: commands/typecmds.c:2994
+#: commands/typecmds.c:3079
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" already exists"
 msgstr "Constraint »%s« für Domäne »%s« existiert bereits"
 
-#: commands/typecmds.c:3045
+#: commands/typecmds.c:3130
 #, 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:3177 commands/typecmds.c:3259 commands/typecmds.c:3551
+#: commands/typecmds.c:3264 commands/typecmds.c:3346 commands/typecmds.c:3638
 #, c-format
 msgid "%s is a table's row type"
 msgstr "%s ist der Zeilentyp einer Tabelle"
 
-#: commands/typecmds.c:3179 commands/typecmds.c:3261 commands/typecmds.c:3553
+#: commands/typecmds.c:3266 commands/typecmds.c:3348 commands/typecmds.c:3640
 #, c-format
 msgid "Use ALTER TABLE instead."
 msgstr "Verwenden Sie stattdessen ALTER TABLE."
 
-#: commands/typecmds.c:3186 commands/typecmds.c:3268 commands/typecmds.c:3466
+#: commands/typecmds.c:3273 commands/typecmds.c:3355 commands/typecmds.c:3553
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "Array-Typ %s kann nicht verändert werden"
 
-#: commands/typecmds.c:3188 commands/typecmds.c:3270 commands/typecmds.c:3468
+#: commands/typecmds.c:3275 commands/typecmds.c:3357 commands/typecmds.c:3555
 #, 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:3536
+#: commands/typecmds.c:3623
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "Typ %s existiert bereits in Schema »%s«"
 
-#: commands/user.c:154
+#: commands/user.c:141
 #, c-format
 msgid "SYSID can no longer be specified"
 msgstr "SYSID kann nicht mehr angegeben werden"
 
-#: commands/user.c:308
+#: commands/user.c:295
 #, c-format
 msgid "must be superuser to create superusers"
 msgstr "nur Superuser können Superuser anlegen"
 
-#: commands/user.c:315
+#: commands/user.c:302
 #, c-format
 msgid "must be superuser to create replication users"
 msgstr "nur Superuser können Replikationsbenutzer anlegen"
 
-#: commands/user.c:322 commands/user.c:708
+#: commands/user.c:309 commands/user.c:707
 #, c-format
 msgid "must be superuser to change bypassrls attribute"
 msgstr "nur Superuser können das Attribut »bypassrls« ändern"
 
-#: commands/user.c:329
+#: commands/user.c:316
 #, c-format
 msgid "permission denied to create role"
 msgstr "keine Berechtigung, um Rolle zu erzeugen"
 
-#: commands/user.c:339 commands/user.c:1183 commands/user.c:1190 gram.y:14233
-#: gram.y:14268 utils/adt/acl.c:5246 utils/adt/acl.c:5252
+#: commands/user.c:326 commands/user.c:1195 commands/user.c:1202 gram.y:14855
+#: gram.y:14893 utils/adt/acl.c:5267 utils/adt/acl.c:5273
 #, c-format
 msgid "role name \"%s\" is reserved"
 msgstr "Rollenname »%s« ist reserviert"
 
-#: commands/user.c:341 commands/user.c:1185 commands/user.c:1192
+#: commands/user.c:328 commands/user.c:1197 commands/user.c:1204
 #, c-format
 msgid "Role names starting with \"pg_\" are reserved."
 msgstr "Rollennamen, die mit »pg_« anfangen, sind reserviert."
 
-#: commands/user.c:353 commands/user.c:1198
+#: commands/user.c:340 commands/user.c:1210
 #, c-format
 msgid "role \"%s\" already exists"
 msgstr "Rolle »%s« existiert bereits"
 
-#: commands/user.c:426
+#: commands/user.c:406 commands/user.c:816
+#, 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:437
 #, 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:694 commands/user.c:903 commands/user.c:1437
-#: commands/user.c:1581
+#: commands/user.c:693 commands/user.c:915 commands/user.c:1449
+#: commands/user.c:1593
 #, c-format
 msgid "must be superuser to alter superusers"
 msgstr "nur Superuser können Superuser ändern"
 
-#: commands/user.c:701
+#: commands/user.c:700
 #, c-format
 msgid "must be superuser to alter replication users"
 msgstr "nur Superuser können Replikationsbenutzer ändern"
 
-#: commands/user.c:724 commands/user.c:911
+#: commands/user.c:723 commands/user.c:923
 #, c-format
 msgid "permission denied"
 msgstr "keine Berechtigung"
 
-#: commands/user.c:941
+#: commands/user.c:953
 #, c-format
 msgid "must be superuser to alter settings globally"
 msgstr "nur Superuser können globale Einstellungen ändern"
 
-#: commands/user.c:963
+#: commands/user.c:975
 #, c-format
 msgid "permission denied to drop role"
 msgstr "keine Berechtigung, um Rolle zu entfernen"
 
-#: commands/user.c:987
+#: commands/user.c:999
 #, c-format
 msgid "cannot use special role specifier in DROP ROLE"
 msgstr "in DROP ROLE kann kein Rollenplatzhalter verwendet werden"
 
-#: commands/user.c:997 commands/user.c:1154 commands/variable.c:822
-#: commands/variable.c:894 utils/adt/acl.c:5104 utils/adt/acl.c:5151
-#: utils/adt/acl.c:5179 utils/adt/acl.c:5197 utils/init/miscinit.c:502
+#: commands/user.c:1009 commands/user.c:1166 commands/variable.c:822
+#: commands/variable.c:894 utils/adt/acl.c:5124 utils/adt/acl.c:5171
+#: utils/adt/acl.c:5199 utils/adt/acl.c:5217 utils/init/miscinit.c:599
 #, c-format
 msgid "role \"%s\" does not exist"
 msgstr "Rolle »%s« existiert nicht"
 
-#: commands/user.c:1002
+#: commands/user.c:1014
 #, c-format
 msgid "role \"%s\" does not exist, skipping"
 msgstr "Rolle »%s« existiert nicht, wird übersprungen"
 
-#: commands/user.c:1014 commands/user.c:1018
+#: commands/user.c:1026 commands/user.c:1030
 #, c-format
 msgid "current user cannot be dropped"
 msgstr "aktueller Benutzer kann nicht entfernt werden"
 
-#: commands/user.c:1022
+#: commands/user.c:1034
 #, c-format
 msgid "session user cannot be dropped"
 msgstr "aktueller Sitzungsbenutzer kann nicht entfernt werden"
 
-#: commands/user.c:1033
+#: commands/user.c:1045
 #, c-format
 msgid "must be superuser to drop superusers"
 msgstr "nur Superuser können Superuser löschen"
 
-#: commands/user.c:1049
+#: commands/user.c:1061
 #, 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:1170
+#: commands/user.c:1182
 #, c-format
 msgid "session user cannot be renamed"
 msgstr "aktueller Sitzungsbenutzer kann nicht umbenannt werden"
 
-#: commands/user.c:1174
+#: commands/user.c:1186
 #, c-format
 msgid "current user cannot be renamed"
 msgstr "aktueller Benutzer kann nicht umbenannt werden"
 
-#: commands/user.c:1208
+#: commands/user.c:1220
 #, c-format
 msgid "must be superuser to rename superusers"
 msgstr "nur Superuser können Superuser umbenennen"
 
-#: commands/user.c:1215
+#: commands/user.c:1227
 #, c-format
 msgid "permission denied to rename role"
 msgstr "keine Berechtigung, um Rolle umzubenennen"
 
-#: commands/user.c:1236
+#: commands/user.c:1248
 #, c-format
 msgid "MD5 password cleared because of role rename"
 msgstr "MD5-Passwort wegen Rollenumbenennung gelöscht"
 
-#: commands/user.c:1296
+#: commands/user.c:1308
 #, 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:1334
+#: commands/user.c:1346
 #, c-format
 msgid "permission denied to drop objects"
 msgstr "keine Berechtigung, um Objekte zu löschen"
 
-#: commands/user.c:1361 commands/user.c:1370
+#: commands/user.c:1373 commands/user.c:1382
 #, c-format
 msgid "permission denied to reassign objects"
 msgstr "keine Berechtigung, um Objekte neu zuzuordnen"
 
-#: commands/user.c:1445 commands/user.c:1589
+#: commands/user.c:1457 commands/user.c:1601
 #, c-format
 msgid "must have admin option on role \"%s\""
 msgstr "Admin-Option für Rolle »%s« wird benötigt"
 
-#: commands/user.c:1462
+#: commands/user.c:1474
 #, c-format
 msgid "must be superuser to set grantor"
 msgstr "nur Superuser können Grantor setzen"
 
-#: commands/user.c:1487
+#: commands/user.c:1499
 #, c-format
 msgid "role \"%s\" is a member of role \"%s\""
 msgstr "Rolle »%s« ist ein Mitglied der Rolle »%s«"
 
-#: commands/user.c:1502
+#: commands/user.c:1514
 #, c-format
 msgid "role \"%s\" is already a member of role \"%s\""
 msgstr "Rolle »%s« ist schon Mitglied der Rolle »%s«"
 
-#: commands/user.c:1611
+#: commands/user.c:1623
 #, c-format
 msgid "role \"%s\" is not a member of role \"%s\""
 msgstr "Rolle »%s« ist kein Mitglied der Rolle »%s«"
 
-#: commands/vacuum.c:186
+#: commands/vacuum.c:111
+#, fuzzy, c-format
+#| msgid "aggregate minvfunc must be specified when mstype is specified"
+msgid "ANALYZE option must be specified when a column list is provided"
+msgstr "»minvfunc« für Aggregatfunktion muss angegeben werden, wenn »mstype« angegeben ist"
+
+#: commands/vacuum.c:203
 #, 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:196
+#: commands/vacuum.c:213
 #, 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:565
+#: commands/vacuum.c:657
 #, c-format
 msgid "oldest xmin is far in the past"
 msgstr "älteste xmin ist weit in der Vergangenheit"
 
-#: commands/vacuum.c:566
+#: commands/vacuum.c:658
 #, c-format
-msgid "Close open transactions soon to avoid wraparound problems."
-msgstr "Schließen Sie bald alle offenen Transaktionen, um Überlaufprobleme zu vermeiden."
+msgid ""
+"Close open transactions soon to avoid wraparound problems.\n"
+"You might also need to commit or roll back old prepared transactions, or drop stale replication slots."
+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:605
+#: commands/vacuum.c:698
 #, c-format
 msgid "oldest multixact is far in the past"
 msgstr "älteste Multixact ist weit in der Vergangenheit"
 
-#: commands/vacuum.c:606
+#: commands/vacuum.c:699
 #, 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:1176
+#: commands/vacuum.c:1245
 #, 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:1177
+#: commands/vacuum.c:1246
 #, 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:1306
+#: commands/vacuum.c:1418
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "überspringe Vacuum von »%s« --- Sperre nicht verfügbar"
 
-#: commands/vacuum.c:1332
+#: commands/vacuum.c:1423
+#, c-format
+msgid "skipping vacuum of \"%s\" --- relation no longer exists"
+msgstr "überspringe Vacuum von »%s« --- Relation existiert nicht mehr"
+
+#: commands/vacuum.c:1447
 #, c-format
 msgid "skipping \"%s\" --- only superuser can vacuum it"
 msgstr "überspringe »%s« --- nur Superuser kann sie vacuumen"
 
-#: commands/vacuum.c:1336
+#: commands/vacuum.c:1451
 #, 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:1340
+#: commands/vacuum.c:1455
 #, 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:1359
+#: commands/vacuum.c:1472
 #, 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/vacuumlazy.c:372
+#: commands/vacuumlazy.c:378
+#, fuzzy, c-format
+#| msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
+msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n"
+msgstr "automatisches Vacuum der Tabelle »%s.%s.%s«: Index-Scans: %d\n"
+
+#: commands/vacuumlazy.c:380
 #, 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"
 
-#: commands/vacuumlazy.c:377
+#: commands/vacuumlazy.c:386
 #, c-format
 msgid "pages: %u removed, %u remain, %u skipped due to pins, %u skipped frozen\n"
 msgstr "Seiten: %u entfernt, %u verbleiben, %u übersprungen wegen Pins, %u übersprungen weil eingefroren\n"
 
-#: commands/vacuumlazy.c:383
-#, fuzzy, c-format
-#| msgid "tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable\n"
+#: commands/vacuumlazy.c:392
+#, c-format
 msgid "tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable, oldest xmin: %u\n"
-msgstr "Tupel: %.0f entfernt, %.0f verbleiben, %.0f sind tot aber noch nicht entfernbar\n"
+msgstr "Tupel: %.0f entfernt, %.0f verbleiben, %.0f sind tot aber noch nicht entfernbar, ältestes xmin: %u\n"
 
-#: commands/vacuumlazy.c:389
+#: commands/vacuumlazy.c:398
 #, c-format
 msgid "buffer usage: %d hits, %d misses, %d dirtied\n"
 msgstr "Puffer-Verwendung: %d Treffer, %d Verfehlen, %d geändert\n"
 
-#: commands/vacuumlazy.c:393
+#: commands/vacuumlazy.c:402
 #, 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"
 
-#: commands/vacuumlazy.c:395
+#: commands/vacuumlazy.c:404
 #, c-format
 msgid "system usage: %s"
 msgstr "Systembenutzung: %s"
 
-#: commands/vacuumlazy.c:853
+#: commands/vacuumlazy.c:500
+#, fuzzy, c-format
+#| msgid "vacuuming \"%s.%s\""
+msgid "aggressively vacuuming \"%s.%s\""
+msgstr "vacuume »%s.%s«"
+
+#: commands/vacuumlazy.c:881
 #, c-format
 msgid "relation \"%s\" page %u is uninitialized --- fixing"
 msgstr "Seite %2$u in Relation »%1$s« ist nicht initialisiert --- wird repariert"
 
-#: commands/vacuumlazy.c:1323
+#: commands/vacuumlazy.c:1417
 #, c-format
 msgid "\"%s\": removed %.0f row versions in %u pages"
 msgstr "»%s«: %.0f Zeilenversionen in %u Seiten entfernt"
 
-#: commands/vacuumlazy.c:1333
-#, fuzzy, c-format
-#| msgid "%.0f dead row versions cannot be removed yet.\n"
+#: commands/vacuumlazy.c:1427
+#, c-format
 msgid "%.0f dead row versions cannot be removed yet, oldest xmin: %u\n"
-msgstr "%.0f tote Zeilenversionen können noch nicht entfernt werden.\n"
+msgstr "%.0f tote Zeilenversionen können noch nicht entfernt werden, ältestes xmin: %u\n"
 
-#: commands/vacuumlazy.c:1335
+#: commands/vacuumlazy.c:1429
 #, c-format
 msgid "There were %.0f unused item pointers.\n"
 msgstr "Es gab %.0f unbenutzte Itemzeiger.\n"
 
-#: commands/vacuumlazy.c:1337
+#: commands/vacuumlazy.c:1431
 #, c-format
-msgid "Skipped %u page due to buffer pins.\n"
-msgid_plural "Skipped %u pages due to buffer pins.\n"
-msgstr[0] "%u Seite wegen Buffer-Pins übersprungen.\n"
-msgstr[1] "%u Seiten wegen Buffer-Pins übersprungen.\n"
+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"
 
-#: commands/vacuumlazy.c:1341
+#: commands/vacuumlazy.c:1435
 #, c-format
-msgid "%u page is entirely empty.\n"
+msgid "%u frozen page.\n"
+msgid_plural "%u frozen pages.\n"
+msgstr[0] "%u eingefrorene Seite.\n"
+msgstr[1] "%u eingefrorene Seiten.\n"
+
+#: commands/vacuumlazy.c:1439
+#, c-format
+msgid "%u page is entirely empty.\n"
 msgid_plural "%u pages are entirely empty.\n"
 msgstr[0] "%u Seite ist vollkommen leer.\n"
 msgstr[1] "%u Seiten sind vollkommen leer.\n"
 
-#: commands/vacuumlazy.c:1349
+#: commands/vacuumlazy.c:1443
+#, c-format
+msgid "%s."
+msgstr "%s."
+
+#: commands/vacuumlazy.c:1446
 #, c-format
 msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u out of %u pages"
 msgstr "»%s«: %.0f entfernbare, %.0f nicht entfernbare Zeilenversionen in %u von %u Seiten gefunden"
 
-#: commands/vacuumlazy.c:1418
+#: commands/vacuumlazy.c:1515
 #, c-format
 msgid "\"%s\": removed %d row versions in %d pages"
 msgstr "»%s«: %d Zeilenversionen in %d Seiten entfernt"
 
-#: commands/vacuumlazy.c:1607
+#: commands/vacuumlazy.c:1704
 #, c-format
 msgid "scanned index \"%s\" to remove %d row versions"
 msgstr "Index »%s« gelesen und %d Zeilenversionen entfernt"
 
-#: commands/vacuumlazy.c:1653
+#: commands/vacuumlazy.c:1756
 #, c-format
 msgid "index \"%s\" now contains %.0f row versions in %u pages"
 msgstr "Index »%s« enthält %.0f Zeilenversionen in %u Seiten"
 
-#: commands/vacuumlazy.c:1657
+#: commands/vacuumlazy.c:1760
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -10180,22 +10840,22 @@ msgstr ""
 "%u Indexseiten wurden gelöscht, %u sind gegenwärtig wiederverwendbar.\n"
 "%s."
 
-#: commands/vacuumlazy.c:1752
+#: commands/vacuumlazy.c:1855
 #, c-format
 msgid "\"%s\": stopping truncate due to conflicting lock request"
 msgstr "»%s«: Truncate wird gestoppt wegen Sperrkonflikt"
 
-#: commands/vacuumlazy.c:1817
+#: commands/vacuumlazy.c:1920
 #, c-format
 msgid "\"%s\": truncated %u to %u pages"
 msgstr "»%s«: von %u auf %u Seiten verkürzt"
 
-#: commands/vacuumlazy.c:1882
+#: commands/vacuumlazy.c:1985
 #, c-format
 msgid "\"%s\": suspending truncate due to conflicting lock request"
 msgstr "»%s«: Truncate wird ausgesetzt wegen Sperrkonflikt"
 
-#: commands/variable.c:165 utils/misc/guc.c:9982 utils/misc/guc.c:10044
+#: commands/variable.c:165 utils/misc/guc.c:10284 utils/misc/guc.c:10346
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Unbekanntes Schlüsselwort: »%s«."
@@ -10255,7 +10915,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:571 storage/lmgr/predicate.c:1576
+#: commands/variable.c:571 storage/lmgr/predicate.c:1603
 #, c-format
 msgid "cannot use serializable mode in a hot standby"
 msgstr "kann serialisierbaren Modus nicht in einem Hot Standby verwenden"
@@ -10287,8 +10947,8 @@ msgstr "»client_encoding« kann jetzt nicht geändert werden."
 
 #: commands/variable.c:776
 #, c-format
-msgid "cannot change client_encoding in a parallel worker"
-msgstr "client_encoding kann nicht in einem parallelen Arbeitsprozess geändert werden"
+msgid "cannot change client_encoding during a parallel operation"
+msgstr "client_encoding kann nicht während einer parallelen Operation geändert werden"
 
 #: commands/variable.c:912
 #, c-format
@@ -10355,422 +11015,449 @@ msgstr "Sichten können nicht ungeloggt sein, weil sie keinen Speicherplatz verw
 msgid "view \"%s\" will be a temporary view"
 msgstr "Sicht »%s« wird eine temporäre Sicht"
 
-#: executor/execCurrent.c:76
+#: executor/execCurrent.c:77
 #, c-format
 msgid "cursor \"%s\" is not a SELECT query"
 msgstr "Cursor »%s« ist keine SELECT-Anfrage"
 
-#: executor/execCurrent.c:82
+#: executor/execCurrent.c:83
 #, c-format
 msgid "cursor \"%s\" is held from a previous transaction"
 msgstr "Cursor »%s« wurde aus einer vorherigen Transaktion beibehalten"
 
-#: executor/execCurrent.c:114
+#: executor/execCurrent.c:115
 #, c-format
 msgid "cursor \"%s\" has multiple FOR UPDATE/SHARE references to table \"%s\""
 msgstr "Cursor »%s« hat mehrere FOR UPDATE/SHARE-Verweise auf Tabelle »%s«"
 
-#: executor/execCurrent.c:123
+#: executor/execCurrent.c:124
 #, c-format
 msgid "cursor \"%s\" does not have a FOR UPDATE/SHARE reference to table \"%s\""
 msgstr "Cursor »%s« hat keinen FOR UPDATE/SHARE-Verweis auf Tabelle »%s«"
 
-#: executor/execCurrent.c:133 executor/execCurrent.c:179
+#: executor/execCurrent.c:134 executor/execCurrent.c:177
 #, c-format
 msgid "cursor \"%s\" is not positioned on a row"
 msgstr "Cursor »%s« ist nicht auf eine Zeile positioniert"
 
-#: executor/execCurrent.c:166
+#: executor/execCurrent.c:164 executor/execCurrent.c:219
+#: executor/execCurrent.c:231
 #, c-format
 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:231 executor/execQual.c:1128
+#: executor/execCurrent.c:273 executor/execExprInterp.c:2311
 #, 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:243 executor/execQual.c:1140
+#: executor/execCurrent.c:285 executor/execExprInterp.c:2323
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "kein Wert für Parameter %d gefunden"
 
-#: executor/execIndexing.c:545
+#: executor/execExpr.c:856 parser/parse_agg.c:794
+#, c-format
+msgid "window function calls cannot be nested"
+msgstr "Aufrufe von Fensterfunktionen können nicht geschachtelt werden"
+
+#: executor/execExpr.c:1314
+#, c-format
+msgid "target type is not an array"
+msgstr "Zieltyp ist kein Array"
+
+#: executor/execExpr.c:1646
+#, c-format
+msgid "ROW() column has type %s instead of type %s"
+msgstr "ROW()-Spalte hat Typ %s statt Typ %s"
+
+#: executor/execExpr.c:2181 executor/execSRF.c:697 parser/parse_func.c:120
+#: parser/parse_func.c:576 parser/parse_func.c:950
+#, 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:2479 executor/execExpr.c:2485
+#: executor/execExprInterp.c:2640 utils/adt/arrayfuncs.c:261
+#: utils/adt/arrayfuncs.c:559 utils/adt/arrayfuncs.c:1289
+#: utils/adt/arrayfuncs.c:3335 utils/adt/arrayfuncs.c:5291
+#: utils/adt/arrayfuncs.c:5808
+#, 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:1879
+#, c-format
+msgid "attribute %d of type %s has been dropped"
+msgstr "Attribut %d von Typ %s wurde gelöscht"
+
+#: executor/execExprInterp.c:1885
+#, c-format
+msgid "attribute %d of type %s has wrong type"
+msgstr "Attribut %d von Typ %s hat falschen Typ"
+
+#: executor/execExprInterp.c:1887 executor/execExprInterp.c:2913
+#: executor/execExprInterp.c:2960
+#, c-format
+msgid "Table has type %s, but query expects %s."
+msgstr "Tabelle hat Typ %s, aber Anfrage erwartet %s."
+
+#: executor/execExprInterp.c:2401
+#, 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:2618
+#, c-format
+msgid "cannot merge incompatible arrays"
+msgstr "kann inkompatible Arrays nicht verschmelzen"
+
+#: executor/execExprInterp.c:2619
+#, 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:2660 executor/execExprInterp.c:2690
+#, 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:2912 executor/execExprInterp.c:2959
+#, c-format
+msgid "attribute %d has wrong type"
+msgstr "Attribut %d hat falschen Typ"
+
+#: executor/execExprInterp.c:3069
+#, c-format
+msgid "array subscript in assignment must not be null"
+msgstr "Arrayindex in Zuweisung darf nicht NULL sein"
+
+#: executor/execExprInterp.c:3502 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:3517 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:3888 executor/execExprInterp.c:3905
+#: executor/execExprInterp.c:4007 executor/nodeModifyTable.c:106
+#: executor/nodeModifyTable.c:117 executor/nodeModifyTable.c:134
+#: executor/nodeModifyTable.c:142
+#, 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/execExprInterp.c:3889
+#, 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:3906 executor/nodeModifyTable.c:118
+#, 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."
+
+#: executor/execExprInterp.c:4008 executor/execSRF.c:953
+#, 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/execIndexing.c:543
 #, c-format
 msgid "ON CONFLICT does not support deferrable unique constraints/exclusion constraints as arbiters"
 msgstr "ON CONFLICT unterstützt keine aufschiebbaren Unique-Constraints/Exclusion-Constraints als Arbiter"
 
-#: executor/execIndexing.c:822
+#: executor/execIndexing.c:818
 #, c-format
 msgid "could not create exclusion constraint \"%s\""
 msgstr "konnte Exclusion-Constraint »%s« nicht erzeugen"
 
-#: executor/execIndexing.c:825
+#: executor/execIndexing.c:821
 #, c-format
 msgid "Key %s conflicts with key %s."
 msgstr "Schlüssel %s kollidiert mit Schlüssel %s."
 
-#: executor/execIndexing.c:827
+#: executor/execIndexing.c:823
 #, c-format
 msgid "Key conflicts exist."
 msgstr "Es bestehen Schlüsselkonflikte."
 
-#: executor/execIndexing.c:833
+#: executor/execIndexing.c:829
 #, c-format
 msgid "conflicting key value violates exclusion constraint \"%s\""
 msgstr "kollidierender Schlüsselwert verletzt Exclusion-Constraint »%s«"
 
-#: executor/execIndexing.c:836
+#: executor/execIndexing.c:832
 #, c-format
 msgid "Key %s conflicts with existing key %s."
 msgstr "Schlüssel %s kollidiert mit vorhandenem Schlüssel %s."
 
-#: executor/execIndexing.c:838
+#: executor/execIndexing.c:834
 #, c-format
 msgid "Key conflicts with existing key."
 msgstr "Der Schlüssel kollidiert mit einem vorhandenen Schlüssel."
 
-#: executor/execMain.c:1040
+#: executor/execMain.c:1119
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "kann Sequenz »%s« nicht ändern"
 
-#: executor/execMain.c:1046
+#: executor/execMain.c:1125
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "kann TOAST-Relation »%s« nicht ändern"
 
-#: executor/execMain.c:1064 rewrite/rewriteHandler.c:2661
+#: executor/execMain.c:1143 rewrite/rewriteHandler.c:2752
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "kann nicht in Sicht »%s« einfügen"
 
-#: executor/execMain.c:1066 rewrite/rewriteHandler.c:2664
+#: executor/execMain.c:1145 rewrite/rewriteHandler.c:2755
 #, 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:1072 rewrite/rewriteHandler.c:2669
+#: executor/execMain.c:1151 rewrite/rewriteHandler.c:2760
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "kann Sicht »%s« nicht aktualisieren"
 
-#: executor/execMain.c:1074 rewrite/rewriteHandler.c:2672
+#: executor/execMain.c:1153 rewrite/rewriteHandler.c:2763
 #, 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:1080 rewrite/rewriteHandler.c:2677
+#: executor/execMain.c:1159 rewrite/rewriteHandler.c:2768
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "kann nicht aus Sicht »%s« löschen"
 
-#: executor/execMain.c:1082 rewrite/rewriteHandler.c:2680
+#: executor/execMain.c:1161 rewrite/rewriteHandler.c:2771
 #, 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:1093
+#: executor/execMain.c:1172
 #, c-format
 msgid "cannot change materialized view \"%s\""
 msgstr "kann materialisierte Sicht »%s« nicht ändern"
 
-#: executor/execMain.c:1105
+#: executor/execMain.c:1184
 #, c-format
 msgid "cannot insert into foreign table \"%s\""
 msgstr "kann nicht in Fremdtabelle »%s« einfügen"
 
-#: executor/execMain.c:1111
+#: executor/execMain.c:1190
 #, c-format
 msgid "foreign table \"%s\" does not allow inserts"
 msgstr "Fremdtabelle »%s« erlaubt kein Einfügen"
 
-#: executor/execMain.c:1118
+#: executor/execMain.c:1197
 #, c-format
 msgid "cannot update foreign table \"%s\""
 msgstr "kann Fremdtabelle »%s« nicht aktualisieren"
 
-#: executor/execMain.c:1124
+#: executor/execMain.c:1203
 #, c-format
 msgid "foreign table \"%s\" does not allow updates"
 msgstr "Fremdtabelle »%s« erlaubt kein Aktualisieren"
 
-#: executor/execMain.c:1131
+#: executor/execMain.c:1210
 #, c-format
 msgid "cannot delete from foreign table \"%s\""
 msgstr "kann nicht aus Fremdtabelle »%s« löschen"
 
-#: executor/execMain.c:1137
+#: executor/execMain.c:1216
 #, c-format
 msgid "foreign table \"%s\" does not allow deletes"
 msgstr "Fremdtabelle »%s« erlaubt kein Löschen"
 
-#: executor/execMain.c:1148
+#: executor/execMain.c:1227
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "kann Relation »%s« nicht ändern"
 
-#: executor/execMain.c:1175
+#: executor/execMain.c:1254
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "kann Zeilen in Sequenz »%s« nicht sperren"
 
-#: executor/execMain.c:1182
+#: executor/execMain.c:1261
 #, c-format
 msgid "cannot lock rows in TOAST relation \"%s\""
 msgstr "kann Zeilen in TOAST-Relation »%s« nicht sperren"
 
-#: executor/execMain.c:1189
+#: executor/execMain.c:1268
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "kann Zeilen in Sicht »%s« nicht sperren"
 
-#: executor/execMain.c:1197
+#: executor/execMain.c:1276
 #, c-format
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "kann Zeilen in materialisierter Sicht »%s« nicht sperren"
 
-#: executor/execMain.c:1206 executor/execMain.c:2760
-#: executor/nodeLockRows.c:132
+#: executor/execMain.c:1285 executor/execMain.c:2966
+#: 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:1212
+#: executor/execMain.c:1291
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "kann Zeilen in Relation »%s« nicht sperren"
 
-#: executor/execMain.c:1842
+#: executor/execMain.c:1946
 #, c-format
-msgid "null value in column \"%s\" violates not-null constraint"
-msgstr "NULL-Wert in Spalte »%s« verletzt Not-Null-Constraint"
+msgid "new row for relation \"%s\" violates partition constraint"
+msgstr "neue Zeile für Relation »%s« verletzt Partitions-Constraint"
 
-#: executor/execMain.c:1844 executor/execMain.c:1878 executor/execMain.c:1908
-#: executor/execMain.c:1995
+#: executor/execMain.c:1948 executor/execMain.c:2028 executor/execMain.c:2075
+#: executor/execMain.c:2187
 #, c-format
 msgid "Failing row contains %s."
 msgstr "Fehlgeschlagene Zeile enthält %s."
 
-#: executor/execMain.c:1876
+#: executor/execMain.c:2026
 #, c-format
-msgid "new row for relation \"%s\" violates check constraint \"%s\""
-msgstr "neue Zeile für Relation »%s« verletzt Check-Constraint »%s«"
+msgid "null value in column \"%s\" violates not-null constraint"
+msgstr "NULL-Wert in Spalte »%s« verletzt Not-Null-Constraint"
 
-#: executor/execMain.c:1906
-#, fuzzy, c-format
-#| msgid "new row for relation \"%s\" violates check constraint \"%s\""
-msgid "new row for relation \"%s\" violates partition constraint"
+#: executor/execMain.c:2073
+#, 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:1993
+#: executor/execMain.c:2185
 #, c-format
 msgid "new row violates check option for view \"%s\""
 msgstr "neue Zeile verletzt Check-Option für Sicht »%s«"
 
-#: executor/execMain.c:2003
+#: executor/execMain.c:2195
 #, 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:2008
+#: executor/execMain.c:2200
 #, 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:2015
+#: executor/execMain.c:2207
 #, 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:2020
+#: executor/execMain.c:2212
 #, 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/execMain.c:3221
-#, fuzzy, c-format
-#| msgid "no matching relations in tablespace \"%s\" found"
+#: executor/execPartition.c:286
+#, c-format
 msgid "no partition of relation \"%s\" found for row"
-msgstr "keine passenden Relationen in Tablespace »%s« gefunden"
+msgstr "keine Partition von Relation »%s« für die Zeile gefunden"
 
-#: executor/execMain.c:3223
-#, fuzzy, c-format
-#| msgid "Failing row contains %s."
+#: executor/execPartition.c:288
+#, c-format
 msgid "Partition key of the failing row contains %s."
-msgstr "Fehlgeschlagene Zeile enthält %s."
+msgstr "Partitionierungsschlüssel der fehlgeschlagenen Zeile enthält %s."
+
+#: executor/execReplication.c:197 executor/execReplication.c:361
+#, fuzzy, c-format
+#| msgid "tuple to be updated was already modified by an operation triggered by the current command"
+msgid "tuple to be locked was already moved to another partition due to concurrent update, retrying"
+msgstr "das zu aktualisierende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert"
 
-#: executor/execQual.c:282 executor/execQual.c:318 executor/execQual.c:2985
-#: utils/adt/array_userfuncs.c:484 utils/adt/arrayfuncs.c:260
-#: utils/adt/arrayfuncs.c:558 utils/adt/arrayfuncs.c:1288
-#: utils/adt/arrayfuncs.c:3361 utils/adt/arrayfuncs.c:5241
-#: utils/adt/arrayfuncs.c:5758
+#: executor/execReplication.c:201 executor/execReplication.c:365
 #, c-format
-msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
-msgstr "Anzahl der Arraydimensionen (%d) überschreitet erlaubtes Maximum (%d)"
+msgid "concurrent update, retrying"
+msgstr "gleichzeitige Aktualisierung, versuche erneut"
 
-#: executor/execQual.c:303 executor/execQual.c:338
+#: executor/execReplication.c:262 parser/parse_oper.c:228
+#: utils/adt/array_userfuncs.c:719 utils/adt/array_userfuncs.c:858
+#: utils/adt/arrayfuncs.c:3613 utils/adt/arrayfuncs.c:4129
+#: utils/adt/arrayfuncs.c:6089 utils/adt/rowtypes.c:1179
 #, c-format
-msgid "array subscript in assignment must not be null"
-msgstr "Arrayindex in Zuweisung darf nicht NULL sein"
+msgid "could not identify an equality operator for type %s"
+msgstr "konnte keinen Ist-Gleich-Operator für Typ %s ermitteln"
 
-#: executor/execQual.c:626 executor/execQual.c:3964
+#: executor/execReplication.c:574
 #, c-format
-msgid "attribute %d has wrong type"
-msgstr "Attribut %d hat falschen Typ"
+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/execQual.c:627 executor/execQual.c:3965
+#: executor/execReplication.c:576
 #, c-format
-msgid "Table has type %s, but query expects %s."
-msgstr "Tabelle hat Typ %s, aber Anfrage erwartet %s."
+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/execQual.c:814 executor/execQual.c:831 executor/execQual.c:1027
-#: executor/nodeModifyTable.c:95 executor/nodeModifyTable.c:105
-#: executor/nodeModifyTable.c:122 executor/nodeModifyTable.c:130
+#: executor/execReplication.c:580
 #, 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"
+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/execQual.c:815
+#: executor/execReplication.c:582
 #, 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."
+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/execQual.c:832 executor/nodeModifyTable.c:106
+#: executor/execReplication.c:601
 #, 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."
+msgid "logical replication target relation \"%s.%s\" is not a table"
+msgstr "Zielrelation für logische Replikation »%s.%s« ist keine Tabelle"
 
-#: executor/execQual.c:1028 executor/execQual.c:1602
+#: executor/execSRF.c:308
 #, 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."
+msgid "rows returned by function are not all of the same row type"
+msgstr "von Funktion zurückgegebene Zeilen haben nicht alle den selben Zeilentyp"
 
-#: executor/execQual.c:1294 parser/parse_func.c:116 parser/parse_func.c:543
-#: parser/parse_func.c:902
+#: executor/execSRF.c:356 executor/execSRF.c:647
 #, 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 Funktion übergeben"
-msgstr[1] "kann nicht mehr als %d Argumente an Funktion übergeben"
+msgid "table-function protocol for materialize mode was not followed"
+msgstr "Tabellenfunktionsprotokoll für Materialisierungsmodus wurde nicht befolgt"
+
+#: executor/execSRF.c:363 executor/execSRF.c:665
+#, c-format
+msgid "unrecognized table-function returnMode: %d"
+msgstr "unbekannter returnMode von Tabellenfunktion: %d"
 
-#: executor/execQual.c:1520
+#: executor/execSRF.c:871
 #, c-format
 msgid "function returning setof record called in context that cannot accept type record"
 msgstr "Funktion mit Ergebnis SETOF RECORD in einem Zusammenhang aufgerufen, der den Typ RECORD nicht verarbeiten kann"
 
-#: executor/execQual.c:1575 executor/execQual.c:1591 executor/execQual.c:1601
+#: executor/execSRF.c:926 executor/execSRF.c:942 executor/execSRF.c:952
 #, c-format
 msgid "function return row and query-specified return row do not match"
 msgstr "von Funktion zurückgegebene Zeile und von der Anfrage angegebene zurückzugebende Zeile stimmen nicht überein"
 
-#: executor/execQual.c:1576
+#: executor/execSRF.c:927
 #, c-format
 msgid "Returned row contains %d attribute, but query expects %d."
 msgid_plural "Returned row contains %d attributes, but query expects %d."
 msgstr[0] "Zurückgegebene Zeile enthält %d Attribut, aber Anfrage erwartet %d."
 msgstr[1] "Zurückgegebene Zeile enthält %d Attribute, aber Anfrage erwartet %d."
 
-#: executor/execQual.c:1592
+#: executor/execSRF.c:943
 #, c-format
 msgid "Returned type %s at ordinal position %d, but query expects %s."
 msgstr "Rückgabetyp war %s auf Position %d, aber Anfrage erwartet %s."
 
-#: executor/execQual.c:1790 executor/execQual.c:2153
-#, c-format
-msgid "table-function protocol for materialize mode was not followed"
-msgstr "Tabellenfunktionsprotokoll für Materialisierungsmodus wurde nicht befolgt"
-
-#: executor/execQual.c:1808 executor/execQual.c:2160
-#, c-format
-msgid "unrecognized table-function returnMode: %d"
-msgstr "unbekannter returnMode von Tabellenfunktion: %d"
-
-#: executor/execQual.c:2105
-#, c-format
-msgid "rows returned by function are not all of the same row type"
-msgstr "von Funktion zurückgegebene Zeilen haben nicht alle den selben Zeilentyp"
-
-#: executor/execQual.c:2963
-#, c-format
-msgid "cannot merge incompatible arrays"
-msgstr "kann inkompatible Arrays nicht verschmelzen"
-
-#: executor/execQual.c:2964
-#, 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/execQual.c:3005 executor/execQual.c:3032
-#, 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/execQual.c:3831 utils/adt/domains.c:146
-#, c-format
-msgid "domain %s does not allow null values"
-msgstr "Domäne %s erlaubt keine NULL-Werte"
-
-#: executor/execQual.c:3868 utils/adt/domains.c:188
-#, c-format
-msgid "value for domain %s violates check constraint \"%s\""
-msgstr "Wert für Domäne %s verletzt Check-Constraint »%s«"
-
-#: executor/execQual.c:4209
-#, 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/execQual.c:4397 parser/parse_agg.c:764
-#, c-format
-msgid "window function calls cannot be nested"
-msgstr "Aufrufe von Fensterfunktionen können nicht geschachtelt werden"
-
-#: executor/execQual.c:4614
-#, c-format
-msgid "target type is not an array"
-msgstr "Zieltyp ist kein Array"
-
-#: executor/execQual.c:4730
-#, c-format
-msgid "ROW() column has type %s instead of type %s"
-msgstr "ROW()-Spalte hat Typ %s statt Typ %s"
-
-#: executor/execReplication.c:195 executor/execReplication.c:342
-#, c-format
-msgid "concurrent update, retrying"
-msgstr ""
-
-#: executor/execReplication.c:544
-#, fuzzy, c-format
-#| msgid "cannot alter type \"%s\" because it is the type of a typed table"
-msgid "cannot update table \"%s\" because it does not have replica identity and publishes updates"
-msgstr "kann Typ »%s« nicht ändern, weil er der Typ einer getypten Tabelle ist"
-
-#: executor/execReplication.c:546
-#, c-format
-msgid "To enable updating the table, set REPLICA IDENTITY using ALTER TABLE."
-msgstr ""
-
-#: executor/execReplication.c:550
-#, fuzzy, c-format
-#| msgid "cannot alter type \"%s\" because it is the type of a typed table"
-msgid "cannot delete from table \"%s\" because it does not have replica identity and publishes deletes"
-msgstr "kann Typ »%s« nicht ändern, weil er der Typ einer getypten Tabelle ist"
-
-#: executor/execReplication.c:552
-#, c-format
-msgid "To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE."
-msgstr ""
-
-#: executor/execUtils.c:808
+#: executor/execUtils.c:679
 #, c-format
 msgid "materialized view \"%s\" has not been populated"
 msgstr "materialisierte Sicht »%s« wurde noch nicht befüllt"
 
-#: executor/execUtils.c:810
+#: executor/execUtils.c:681
 #, c-format
 msgid "Use the REFRESH MATERIALIZED VIEW command."
 msgstr "Verwenden Sie den Befehl REFRESH MATERIALIZED VIEW."
@@ -10780,278 +11467,321 @@ 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:519
+#: executor/functions.c:521
 #, c-format
 msgid "cannot COPY to/from client in a SQL function"
 msgstr "COPY vom/zum Client funktioniert in einer SQL-Funktion nicht"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:525
+#: executor/functions.c:527
 #, c-format
 msgid "%s is not allowed in a SQL function"
 msgstr "%s ist in SQL-Funktionen nicht erlaubt"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:533 executor/spi.c:1281 executor/spi.c:2052
+#: executor/functions.c:535 executor/spi.c:1380 executor/spi.c:2170
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s ist in als nicht »volatile« markierten Funktionen nicht erlaubt"
 
-#: executor/functions.c:653
+#: executor/functions.c:656
 #, c-format
 msgid "could not determine actual result type for function declared to return type %s"
 msgstr "konnte tatsächlichen Ergebnistyp von Funktion mit deklarierten Rückgabetyp %s nicht bestimmen"
 
-#: executor/functions.c:1408
+#: executor/functions.c:1418
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "SQL-Funktion »%s« Anweisung %d"
 
-#: executor/functions.c:1434
+#: executor/functions.c:1444
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "SQL-Funktion »%s« beim Start"
 
-#: executor/functions.c:1592 executor/functions.c:1629
-#: executor/functions.c:1641 executor/functions.c:1754
-#: executor/functions.c:1787 executor/functions.c:1817
+#: executor/functions.c:1537
+#, fuzzy, c-format
+#| msgid "return type %s is not supported for SQL functions"
+msgid "calling procedures with output arguments is not supported in SQL functions"
+msgstr "Rückgabetyp %s wird von SQL-Funktionen nicht unterstützt"
+
+#: executor/functions.c:1657 executor/functions.c:1690
+#: executor/functions.c:1702 executor/functions.c:1826
+#: executor/functions.c:1859 executor/functions.c:1889
 #, 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:1594
+#: executor/functions.c:1659
 #, 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:1631
+#: executor/functions.c:1692
 #, c-format
 msgid "Final statement must return exactly one column."
 msgstr "Die letzte Anweisung muss genau eine Spalte zurückgeben."
 
-#: executor/functions.c:1643
+#: executor/functions.c:1704
 #, c-format
 msgid "Actual return type is %s."
 msgstr "Eigentlicher Rückgabetyp ist %s."
 
-#: executor/functions.c:1756
+#: executor/functions.c:1828
 #, c-format
 msgid "Final statement returns too many columns."
 msgstr "Die letzte Anweisung gibt zu viele Spalten zurück."
 
-#: executor/functions.c:1789
+#: executor/functions.c:1861
 #, 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:1819
+#: executor/functions.c:1891
 #, c-format
 msgid "Final statement returns too few columns."
 msgstr "Die letzte Anweisung gibt zu wenige Spalten zurück."
 
-#: executor/functions.c:1868
+#: executor/functions.c:1940
 #, 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:3121
+#: executor/nodeAgg.c:2802 parser/parse_agg.c:633 parser/parse_agg.c:663
 #, c-format
-msgid "combine function for aggregate %u must be declared as STRICT"
-msgstr "Kombinierfunktion für Aggregatfunktion %u muss als STRICT deklariert sein"
+msgid "aggregate function calls cannot be nested"
+msgstr "Aufrufe von Aggregatfunktionen können nicht geschachtelt werden"
 
-#: executor/nodeAgg.c:3166 executor/nodeWindowAgg.c:2282
+#: executor/nodeAgg.c:2988 executor/nodeWindowAgg.c:2807
 #, 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:3220 parser/parse_agg.c:618 parser/parse_agg.c:648
-#, c-format
-msgid "aggregate function calls cannot be nested"
-msgstr "Aufrufe von Aggregatfunktionen können nicht geschachtelt werden"
-
-#: executor/nodeCustom.c:146 executor/nodeCustom.c:157
+#: executor/nodeCustom.c:148 executor/nodeCustom.c:159
 #, c-format
 msgid "custom scan \"%s\" does not support MarkPos"
 msgstr "Custom-Scan »%s« unterstützt MarkPos nicht"
 
-#: executor/nodeHashjoin.c:768 executor/nodeHashjoin.c:798
+#: executor/nodeHashjoin.c:1040 executor/nodeHashjoin.c:1070
 #, c-format
 msgid "could not rewind hash-join temporary file: %m"
 msgstr "konnte Position in temporärer Datei für Hash-Verbund nicht auf Anfang setzen: %m"
 
-#: executor/nodeHashjoin.c:833 executor/nodeHashjoin.c:839
+#: executor/nodeHashjoin.c:1228 executor/nodeHashjoin.c:1234
 #, c-format
 msgid "could not write to hash-join temporary file: %m"
 msgstr "konnte nicht in temporäre Datei für Hash-Verbund schreiben: %m"
 
-#: executor/nodeHashjoin.c:880 executor/nodeHashjoin.c:890
+#: executor/nodeHashjoin.c:1275 executor/nodeHashjoin.c:1285
 #, c-format
 msgid "could not read from hash-join temporary file: %m"
 msgstr "konnte nicht aus temporärer Datei für Hash-Verbund lesen: %m"
 
-#: executor/nodeIndexonlyscan.c:233
+#: executor/nodeIndexonlyscan.c:236
 #, c-format
 msgid "lossy distance functions are not supported in index-only scans"
 msgstr "verlustbehaftete Abstandsfunktionen werden in Index-Only-Scans nicht unterstützt"
 
-#: executor/nodeLimit.c:252
+#: executor/nodeLimit.c:256
 #, c-format
 msgid "OFFSET must not be negative"
 msgstr "OFFSET darf nicht negativ sein"
 
-#: executor/nodeLimit.c:278
+#: executor/nodeLimit.c:282
 #, c-format
 msgid "LIMIT must not be negative"
 msgstr "LIMIT darf nicht negativ sein"
 
-#: executor/nodeMergejoin.c:1535
+#: executor/nodeMergejoin.c:1567
 #, c-format
 msgid "RIGHT JOIN is only supported with merge-joinable join conditions"
 msgstr "RIGHT JOIN wird nur für Merge-Verbund-fähige Verbundbedingungen unterstützt"
 
-#: executor/nodeMergejoin.c:1555
+#: executor/nodeMergejoin.c:1585
 #, c-format
 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:96
+#: executor/nodeModifyTable.c:107
 #, c-format
 msgid "Query has too many columns."
 msgstr "Anfrage hat zu viele Spalten."
 
-#: executor/nodeModifyTable.c:123
+#: executor/nodeModifyTable.c:135
 #, 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/nodeModifyTable.c:131
+#: executor/nodeModifyTable.c:143
 #, c-format
 msgid "Query has too few columns."
 msgstr "Anfrage hat zu wenige Spalten."
 
-#: executor/nodeModifyTable.c:1201
+#: executor/nodeModifyTable.c:774
+#, fuzzy, c-format
+#| msgid "tuple to be updated was already modified by an operation triggered by the current command"
+msgid "tuple to be deleted was already moved to another partition due to concurrent update"
+msgstr "das zu aktualisierende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert"
+
+#: executor/nodeModifyTable.c:1074
+#, fuzzy, c-format
+#| msgid "invalid OWNED BY option"
+msgid "invalid ON UPDATE specification"
+msgstr "ungültige OWNED BY Option"
+
+#: executor/nodeModifyTable.c:1075
+#, c-format
+msgid "The result tuple would appear in a different partition than the original tuple."
+msgstr ""
+
+#: executor/nodeModifyTable.c:1237
+#, fuzzy, c-format
+#| msgid "tuple to be updated was already modified by an operation triggered by the current command"
+msgid "tuple to be updated was already moved to another partition due to concurrent update"
+msgstr "das zu aktualisierende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert"
+
+#: executor/nodeModifyTable.c:1388
 #, c-format
 msgid "ON CONFLICT DO UPDATE 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:1202
+#: executor/nodeModifyTable.c:1389
 #, 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:305
+#: executor/nodeSamplescan.c:279
 #, c-format
 msgid "TABLESAMPLE parameter cannot be null"
 msgstr "Parameter von TABLESAMPLE darf nicht NULL sein"
 
-#: executor/nodeSamplescan.c:317
+#: executor/nodeSamplescan.c:291
 #, c-format
 msgid "TABLESAMPLE REPEATABLE parameter cannot be null"
 msgstr "Parameter von TABLESAMPLE REPEATABLE darf nicht NULL sein"
 
-#: executor/nodeSubplan.c:339 executor/nodeSubplan.c:378
-#: executor/nodeSubplan.c:1028
+#: executor/nodeSubplan.c:336 executor/nodeSubplan.c:375
+#: executor/nodeSubplan.c:1097
 #, c-format
 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:369
-#, fuzzy, c-format
-#| msgid "slot name must not be null"
+#: executor/nodeTableFuncscan.c:362
+#, c-format
 msgid "namespace URI must not be null"
-msgstr "Slot-Name darf nicht NULL sein"
+msgstr "Namensraum-URI darf nicht NULL sein"
 
-#: executor/nodeTableFuncscan.c:380
-#, fuzzy, c-format
-#| msgid "FOREACH expression must not be null"
+#: executor/nodeTableFuncscan.c:373
+#, c-format
 msgid "row filter expression must not be null"
-msgstr "FOREACH-Ausdruck darf nicht NULL sein"
+msgstr "Zeilenfilterausdruck darf nicht NULL sein"
 
-#: executor/nodeTableFuncscan.c:405
-#, fuzzy, c-format
-#| msgid "FOREACH expression must not be null"
+#: executor/nodeTableFuncscan.c:399
+#, c-format
 msgid "column filter expression must not be null"
-msgstr "FOREACH-Ausdruck darf nicht NULL sein"
+msgstr "Spaltenfilterausdruck darf nicht NULL sein"
 
-#: executor/nodeTableFuncscan.c:406
-#, fuzzy, c-format
-#| msgid "missing data for column \"%s\""
+#: executor/nodeTableFuncscan.c:400
+#, c-format
 msgid "Filter for column \"%s\" is null."
-msgstr "fehlende Daten für Spalte »%s«"
+msgstr "Filter für Spalte »%s« ist NULL."
 
-#: executor/nodeTableFuncscan.c:485
-#, fuzzy, c-format
-#| msgid "cannot alter inherited column \"%s\""
+#: executor/nodeTableFuncscan.c:483
+#, c-format
 msgid "null is not allowed in column \"%s\""
-msgstr "kann vererbte Spalte »%s« nicht ändern"
+msgstr "NULL ist in Spalte »%s« nicht erlaubt"
 
-#: executor/nodeWindowAgg.c:353
+#: executor/nodeWindowAgg.c:355
 #, c-format
 msgid "moving-aggregate transition function must not return null"
 msgstr "Moving-Aggregat-Übergangsfunktion darf nicht NULL zurückgeben"
 
-#: executor/nodeWindowAgg.c:1621
+#: executor/nodeWindowAgg.c:2047
 #, c-format
 msgid "frame starting offset must not be null"
 msgstr "Frame-Start-Offset darf nicht NULL sein"
 
-#: executor/nodeWindowAgg.c:1634
+#: executor/nodeWindowAgg.c:2060
 #, c-format
 msgid "frame starting offset must not be negative"
 msgstr "Frame-Start-Offset darf nicht negativ sein"
 
-#: executor/nodeWindowAgg.c:1646
+#: executor/nodeWindowAgg.c:2072
 #, c-format
 msgid "frame ending offset must not be null"
 msgstr "Frame-Ende-Offset darf nicht NULL sein"
 
-#: executor/nodeWindowAgg.c:1659
+#: executor/nodeWindowAgg.c:2085
 #, c-format
 msgid "frame ending offset must not be negative"
 msgstr "Frame-Ende-Offset darf nicht negativ sein"
 
-#: executor/spi.c:196
+#: executor/nodeWindowAgg.c:2723
+#, fuzzy, c-format
+#| msgid "aggregate function calls cannot contain window function calls"
+msgid "aggregate function %s does not support use as a window function"
+msgstr "Aufrufe von Aggregatfunktionen können keine Aufrufe von Fensterfunktionen enthalten"
+
+#: executor/spi.c:213 executor/spi.c:247
+#, fuzzy, c-format
+#| msgid "invalid next transaction ID"
+msgid "invalid transaction termination"
+msgstr "ungültige nächste Transaktions-ID"
+
+#: executor/spi.c:227
+#, fuzzy, c-format
+#| msgid "cannot commit subtransactions during a parallel operation"
+msgid "cannot commit while a subtransaction is active"
+msgstr "während einer parallelen Operation können keine Subtransaktionen committet werden"
+
+#: executor/spi.c:253
+#, fuzzy, c-format
+#| msgid "%s cannot run inside a subtransaction"
+msgid "cannot roll back while a subtransaction is active"
+msgstr "%s kann nicht in einer Subtransaktion laufen"
+
+#: executor/spi.c:290
 #, c-format
 msgid "transaction left non-empty SPI stack"
 msgstr "Transaktion ließ nicht-leeren SPI-Stack zurück"
 
-#: executor/spi.c:197 executor/spi.c:260
+#: executor/spi.c:291 executor/spi.c:352
 #, c-format
 msgid "Check for missing \"SPI_finish\" calls."
 msgstr "Prüfen Sie, ob Aufrufe von »SPI_finish« fehlen."
 
-#: executor/spi.c:259
+#: executor/spi.c:351
 #, c-format
 msgid "subtransaction left non-empty SPI stack"
 msgstr "Subtransaktion ließ nicht-leeren SPI-Stack zurück"
 
-#: executor/spi.c:1142
+#: executor/spi.c:1241
 #, 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:1147
+#: executor/spi.c:1246
 #, c-format
 msgid "cannot open %s query as cursor"
 msgstr "%s kann nicht als Cursor geöffnet werden"
 
-#: executor/spi.c:1255
+#: executor/spi.c:1351
 #, 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:1256 parser/analyze.c:2442
+#: executor/spi.c:1352 parser/analyze.c:2448
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Scrollbare Cursor müssen READ ONLY sein."
 
-#: executor/spi.c:2355
+#: executor/spi.c:2492
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "SQL-Anweisung »%s«"
 
-#: executor/tqueue.c:317
+#: executor/tqueue.c:70
 #, c-format
 msgid "could not send tuple to shared-memory queue"
 msgstr "konnte Tupel nicht an Shared-Memory-Queue senden"
@@ -11071,652 +11801,733 @@ msgstr "ungültige Option »%s«"
 msgid "Valid options in this context are: %s"
 msgstr "Gültige Optionen in diesem Zusammenhang sind: %s"
 
-#: gram.y:1060
+#: gram.y:1026
+#, c-format
+msgid "UNENCRYPTED PASSWORD is no longer supported"
+msgstr "UNENCRYPTED PASSWORD wird nicht mehr unterstützt"
+
+#: gram.y:1027
+#, 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:1089
 #, c-format
 msgid "unrecognized role option \"%s\""
 msgstr "unbekannte Rollenoption »%s«"
 
-#: gram.y:1334 gram.y:1349
+#: gram.y:1336 gram.y:1351
 #, c-format
 msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements"
 msgstr "CREATE SCHEMA IF NOT EXISTS kann keine Schemaelemente enthalten"
 
-#: gram.y:1494
+#: gram.y:1496
 #, c-format
 msgid "current database cannot be changed"
 msgstr "aktuelle Datenbank kann nicht geändert werden"
 
-#: gram.y:1618
+#: gram.y:1620
 #, c-format
 msgid "time zone interval must be HOUR or HOUR TO MINUTE"
 msgstr "Zeitzonenintervall muss HOUR oder HOUR TO MINUTE sein"
 
-#: gram.y:2769 gram.y:2798
+#: gram.y:2138
+#, fuzzy, c-format
+#| msgid "Value must be in the range %d to %d."
+msgid "column number must be in range from 1 to %d"
+msgstr "Der Wert muss im Bereich %d bis %d sein."
+
+#: gram.y:2677
+#, c-format
+msgid "sequence option \"%s\" not supported here"
+msgstr "Sequenzoption »%s« wird hier nicht unterstützt"
+
+#: gram.y:2706
+#, fuzzy, c-format
+#| msgid "option \"%s\" provided more than once"
+msgid "modulus for hash partition provided more than once"
+msgstr "Option »%s« mehrmals angegeben"
+
+#: gram.y:2715
+#, fuzzy, c-format
+#| msgid "option \"%s\" provided more than once"
+msgid "remainder for hash partition provided more than once"
+msgstr "Option »%s« mehrmals angegeben"
+
+#: gram.y:2722
+#, fuzzy, c-format
+#| msgid "unrecognized exception condition \"%s\""
+msgid "unrecognized hash partition bound specification \"%s\""
+msgstr "unbekannte Ausnahmebedingung »%s«"
+
+#: gram.y:2730
+#, fuzzy, c-format
+#| msgid "type output function must be specified"
+msgid "modulus for hash partition must be specified"
+msgstr "Typausgabefunktion muss angegeben werden"
+
+#: gram.y:2734
+#, fuzzy, c-format
+#| msgid "one or two argument types must be specified"
+msgid "remainder for hash partition must be specified"
+msgstr "ein oder zwei Argumenttypen müssen angegeben werden"
+
+#: gram.y:2986 gram.y:3015
 #, c-format
 msgid "STDIN/STDOUT not allowed with PROGRAM"
 msgstr "STDIN/STDOUT sind nicht mit PROGRAM erlaubt"
 
-#: gram.y:3108 gram.y:3115 gram.y:10841 gram.y:10849
+#: gram.y:3325 gram.y:3332 gram.y:11460 gram.y:11468
 #, 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:3592 utils/adt/ri_triggers.c:314 utils/adt/ri_triggers.c:371
-#: utils/adt/ri_triggers.c:790 utils/adt/ri_triggers.c:1013
-#: utils/adt/ri_triggers.c:1169 utils/adt/ri_triggers.c:1350
-#: utils/adt/ri_triggers.c:1515 utils/adt/ri_triggers.c:1691
-#: utils/adt/ri_triggers.c:1871 utils/adt/ri_triggers.c:2062
-#: utils/adt/ri_triggers.c:2120 utils/adt/ri_triggers.c:2225
-#: utils/adt/ri_triggers.c:2402
+#: gram.y:3817 utils/adt/ri_triggers.c:308 utils/adt/ri_triggers.c:365
+#: utils/adt/ri_triggers.c:853 utils/adt/ri_triggers.c:1013
+#: utils/adt/ri_triggers.c:1198 utils/adt/ri_triggers.c:1419
+#: utils/adt/ri_triggers.c:1654 utils/adt/ri_triggers.c:1712
+#: utils/adt/ri_triggers.c:1817 utils/adt/ri_triggers.c:1997
 #, c-format
 msgid "MATCH PARTIAL not yet implemented"
 msgstr "MATCH PARTIAL ist noch nicht implementiert"
 
-#: gram.y:4983
-#, fuzzy, c-format
-#| msgid "unrecognized role option \"%s\""
+#: gram.y:5299
+#, c-format
 msgid "unrecognized row security option \"%s\""
-msgstr "unbekannte Rollenoption »%s«"
+msgstr "unbekannte Zeilensicherheitsoption »%s«"
 
-#: gram.y:4984
+#: gram.y:5300
 #, c-format
 msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently."
-msgstr ""
+msgstr "Aktuell werden nur PERMISSIVE und RESTRICTIVE unterstützt."
 
-#: gram.y:5092
+#: gram.y:5408
 msgid "duplicate trigger events specified"
 msgstr "mehrere Trigger-Ereignisse angegeben"
 
-#: gram.y:5228 parser/parse_utilcmd.c:2794 parser/parse_utilcmd.c:2820
+#: gram.y:5544 parser/parse_utilcmd.c:3314 parser/parse_utilcmd.c:3340
 #, c-format
 msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
 msgstr "Constraint, der als INITIALLY DEFERRED deklariert wurde, muss DEFERRABLE sein"
 
-#: gram.y:5235
+#: gram.y:5551
 #, c-format
 msgid "conflicting constraint properties"
 msgstr "widersprüchliche Constraint-Eigentschaften"
 
-#: gram.y:5341
+#: gram.y:5657
 #, c-format
 msgid "CREATE ASSERTION is not yet implemented"
 msgstr "CREATE ASSERTION ist noch nicht implementiert"
 
-#: gram.y:5356
+#: gram.y:5672
 #, c-format
 msgid "DROP ASSERTION is not yet implemented"
 msgstr "DROP ASSERTION ist noch nicht implementiert"
 
-#: gram.y:5740
+#: gram.y:6052
 #, c-format
 msgid "RECHECK is no longer required"
 msgstr "RECHECK wird nicht mehr benötigt"
 
-#: gram.y:5741
+#: gram.y:6053
 #, c-format
 msgid "Update your data type."
 msgstr "Aktualisieren Sie Ihren Datentyp."
 
-#: gram.y:7350
+#: gram.y:7789
 #, c-format
 msgid "aggregates cannot have output arguments"
 msgstr "Aggregatfunktionen können keine OUT-Argumente haben"
 
-#: gram.y:7679 utils/adt/regproc.c:776 utils/adt/regproc.c:817
+#: gram.y:8177 utils/adt/regproc.c:691 utils/adt/regproc.c:732
 #, c-format
 msgid "missing argument"
 msgstr "Argument fehlt"
 
-#: gram.y:7680 utils/adt/regproc.c:777 utils/adt/regproc.c:818
+#: gram.y:8178 utils/adt/regproc.c:692 utils/adt/regproc.c:733
 #, 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:9125
-#, fuzzy, c-format
-#| msgid "unrecognized role option \"%s\""
-msgid "unrecognized option \"%s\""
-msgstr "unbekannte Rollenoption »%s«"
-
-#: gram.y:9450 gram.y:9468
+#: gram.y:10043 gram.y:10061
 #, 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:9986
+#: gram.y:10558
 #, c-format
 msgid "unrecognized VACUUM option \"%s\""
 msgstr "unbekannte VACUUM-Option »%s«"
 
-#: gram.y:10949
+#: gram.y:11568
 #, c-format
 msgid "LIMIT #,# syntax is not supported"
 msgstr "Syntax LIMIT x,y wird nicht unterstützt"
 
-#: gram.y:10950
+#: gram.y:11569
 #, c-format
 msgid "Use separate LIMIT and OFFSET clauses."
 msgstr "Verwenden Sie die getrennten Klauseln LIMIT und OFFSET."
 
-#: gram.y:11231 gram.y:11256
+#: gram.y:11850 gram.y:11875
 #, c-format
 msgid "VALUES in FROM must have an alias"
 msgstr "VALUES in FROM muss Aliasnamen erhalten"
 
-#: gram.y:11232 gram.y:11257
+#: gram.y:11851 gram.y:11876
 #, c-format
 msgid "For example, FROM (VALUES ...) [AS] foo."
 msgstr "Zum Beispiel FROM (VALUES ...) [AS] xyz."
 
-#: gram.y:11237 gram.y:11262
+#: gram.y:11856 gram.y:11881
 #, c-format
 msgid "subquery in FROM must have an alias"
 msgstr "Unteranfrage in FROM muss Aliasnamen erhalten"
 
-#: gram.y:11238 gram.y:11263
+#: gram.y:11857 gram.y:11882
 #, c-format
 msgid "For example, FROM (SELECT ...) [AS] foo."
 msgstr "Zum Beispiel FROM (SELECT ...) [AS] xyz."
 
-#: gram.y:11716
+#: gram.y:12336
 #, c-format
 msgid "only one DEFAULT value is allowed"
-msgstr ""
+msgstr "nur ein DEFAULT-Wert ist erlaubt"
 
-#: gram.y:11725
+#: gram.y:12345
 #, c-format
 msgid "only one PATH value per column is allowed"
-msgstr ""
+msgstr "nur ein PATH-Wert pro Spalte ist erlaubt"
 
-#: gram.y:11734
-#, fuzzy, c-format
-#| msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
+#: gram.y:12354
+#, c-format
 msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\""
-msgstr "widersprüchliche NULL/NOT NULL-Deklarationen für Spalte »%s« von Tabelle »%s«"
+msgstr "widersprüchliche oder überflüssige NULL/NOT NULL-Deklarationen für Spalte »%s«"
 
-#: gram.y:11743
-#, fuzzy, c-format
-#| msgid "unrecognized role option \"%s\""
+#: gram.y:12363
+#, c-format
 msgid "unrecognized column option \"%s\""
-msgstr "unbekannte Rollenoption »%s«"
+msgstr "unbekannte Spaltenoption »%s«"
 
-#: gram.y:11997
+#: gram.y:12617
 #, 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:12006
+#: gram.y:12626
 #, 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:12497
+#: gram.y:13117
 #, 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:12502
+#: gram.y:13122
 #, 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:12677
+#: gram.y:13297
 #, c-format
 msgid "UNIQUE predicate is not yet implemented"
 msgstr "UNIQUE-Prädikat ist noch nicht implementiert"
 
-#: gram.y:13024
+#: gram.y:13644
 #, 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:13029
+#: gram.y:13649
 #, c-format
 msgid "cannot use DISTINCT with WITHIN GROUP"
 msgstr "DISTINCT kann nicht mit WITHIN GROUP verwendet werden"
 
-#: gram.y:13034
+#: gram.y:13654
 #, c-format
 msgid "cannot use VARIADIC with WITHIN GROUP"
 msgstr "VARIADIC kann nicht mit WITHIN GROUP verwendet werden"
 
-#: gram.y:13460
-#, c-format
-msgid "RANGE PRECEDING is only supported with UNBOUNDED"
-msgstr "RANGE PRECEDING wird nur mit UNBOUNDED unterstützt"
-
-#: gram.y:13466
-#, c-format
-msgid "RANGE FOLLOWING is only supported with UNBOUNDED"
-msgstr "RANGE FOLLOWING wird nur mit UNBOUNDED unterstützt"
-
-#: gram.y:13493 gram.y:13516
+#: gram.y:14107 gram.y:14130
 #, c-format
 msgid "frame start cannot be UNBOUNDED FOLLOWING"
 msgstr "Frame-Beginn kann nicht UNBOUNDED FOLLOWING sein"
 
-#: gram.y:13498
+#: gram.y:14112
 #, 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:13521
+#: gram.y:14135
 #, c-format
 msgid "frame end cannot be UNBOUNDED PRECEDING"
 msgstr "Frame-Ende kann nicht UNBOUNDED PRECEDING sein"
 
-#: gram.y:13527
+#: gram.y:14141
 #, 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:13534
+#: gram.y:14148
 #, 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:14169
+#: gram.y:14791
 #, c-format
 msgid "type modifier cannot have parameter name"
 msgstr "Typmodifikator kann keinen Parameternamen haben"
 
-#: gram.y:14175
+#: gram.y:14797
 #, c-format
 msgid "type modifier cannot have ORDER BY"
 msgstr "Typmodifikator kann kein ORDER BY haben"
 
-#: gram.y:14239 gram.y:14245
+#: gram.y:14862 gram.y:14869
 #, c-format
 msgid "%s cannot be used as a role name here"
 msgstr "%s kann hier nicht als Rollenname verwendet werden"
 
-#: gram.y:14905 gram.y:15094
+#: gram.y:15540 gram.y:15729
 msgid "improper use of \"*\""
 msgstr "unzulässige Verwendung von »*«"
 
-#: gram.y:15057 gram.y:15074 tsearch/spell.c:954 tsearch/spell.c:971
+#: gram.y:15692 gram.y:15709 tsearch/spell.c:954 tsearch/spell.c:971
 #: tsearch/spell.c:988 tsearch/spell.c:1005 tsearch/spell.c:1070
 #, c-format
 msgid "syntax error"
 msgstr "Syntaxfehler"
 
-#: gram.y:15158
+#: gram.y:15793
 #, 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:15195
+#: gram.y:15830
 #, c-format
 msgid "multiple ORDER BY clauses not allowed"
 msgstr "mehrere ORDER-BY-Klauseln sind nicht erlaubt"
 
-#: gram.y:15206
+#: gram.y:15841
 #, c-format
 msgid "multiple OFFSET clauses not allowed"
 msgstr "mehrere OFFSET-Klauseln sind nicht erlaubt"
 
-#: gram.y:15215
+#: gram.y:15850
 #, c-format
 msgid "multiple LIMIT clauses not allowed"
 msgstr "mehrere LIMIT-Klauseln sind nicht erlaubt"
 
-#: gram.y:15224
+#: gram.y:15859
 #, c-format
 msgid "multiple WITH clauses not allowed"
 msgstr "mehrere WITH-Klauseln sind nicht erlaubt"
 
-#: gram.y:15428
+#: gram.y:16063
 #, 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:15529
+#: gram.y:16164
 #, c-format
 msgid "multiple COLLATE clauses not allowed"
 msgstr "mehrere COLLATE-Klauseln sind nicht erlaubt"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:15567 gram.y:15580
+#: gram.y:16202 gram.y:16215
 #, 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:15593
+#: gram.y:16228
 #, 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:15606
+#: gram.y:16241
 #, c-format
 msgid "%s constraints cannot be marked NO INHERIT"
 msgstr "%s-Constraints können nicht als NO INHERIT markiert werden"
 
-#: guc-file.l:313
+#: guc-file.l:316
 #, c-format
 msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %u"
 msgstr "unbekannter Konfigurationsparameter »%s« in Datei »%s« Zeile %u"
 
-#: guc-file.l:350 utils/misc/guc.c:5962 utils/misc/guc.c:6155
-#: utils/misc/guc.c:6245 utils/misc/guc.c:6335 utils/misc/guc.c:6443
-#: utils/misc/guc.c:6538
+#: guc-file.l:353 utils/misc/guc.c:6229 utils/misc/guc.c:6423
+#: utils/misc/guc.c:6513 utils/misc/guc.c:6603 utils/misc/guc.c:6711
+#: utils/misc/guc.c:6806
 #, 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:386
+#: 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:452
+#: guc-file.l:455
 #, c-format
 msgid "parameter \"%s\" changed to \"%s\""
 msgstr "Parameter »%s« auf »%s« gesetzt"
 
-#: guc-file.l:494
+#: guc-file.l:497
 #, c-format
 msgid "configuration file \"%s\" contains errors"
 msgstr "Konfigurationsdatei »%s« enthält Fehler"
 
-#: guc-file.l:499
+#: 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:504
+#: 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:580
 #, 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:593 libpq/hba.c:1961 libpq/hba.c:2361
+#: guc-file.l:596 libpq/hba.c:2142 libpq/hba.c:2547
 #, c-format
 msgid "could not open configuration file \"%s\": %m"
 msgstr "konnte Konfigurationsdatei »%s« nicht öffnen: %m"
 
-#: guc-file.l:604
+#: guc-file.l:607
 #, c-format
 msgid "skipping missing configuration file \"%s\""
 msgstr "fehlende Konfigurationsdatei »%s« wird übersprungen"
 
-#: guc-file.l:858
+#: guc-file.l:861
 #, 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:868
+#: guc-file.l:871
 #, 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:888
+#: guc-file.l:891
 #, c-format
 msgid "too many syntax errors found, abandoning file \"%s\""
 msgstr "zu viele Syntaxfehler gefunden, Datei »%s« wird aufgegeben"
 
-#: guc-file.l:940
+#: guc-file.l:943
 #, c-format
 msgid "could not open configuration directory \"%s\": %m"
 msgstr "konnte Konfigurationsverzeichnis »%s« nicht öffnen: %m"
 
-#: lib/stringinfo.c:301
+#: jit/jit.c:197 utils/fmgr/dfmgr.c:201 utils/fmgr/dfmgr.c:418
+#: utils/fmgr/dfmgr.c:466
+#, c-format
+msgid "could not access file \"%s\": %m"
+msgstr "konnte nicht auf Datei »%s« zugreifen: %m"
+
+#: jit/llvm/llvmjit.c:595
+#, c-format
+msgid "time to inline: %.3fs, opt: %.3fs, emit: %.3fs"
+msgstr ""
+
+#: lib/dshash.c:247 utils/mmgr/dsa.c:714 utils/mmgr/dsa.c:796
+#, c-format
+msgid "Failed on DSA request of size %zu."
+msgstr "Fehler bei DSA-Anfrage mit Größe %zu."
+
+#: lib/stringinfo.c:278
 #, c-format
 msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes."
 msgstr "Kann Zeichenkettenpuffer mit %d Bytes nicht um %d Bytes vergrößern."
 
-#: libpq/auth-scram.c:200
-#, fuzzy, c-format
-#| msgid "User does not have CONNECT privilege."
+#: libpq/auth-scram.c:203 libpq/auth-scram.c:443 libpq/auth-scram.c:452
+#, c-format
+msgid "invalid SCRAM verifier for user \"%s\""
+msgstr "ungültiger SCRAM-Verifier für Benutzer »%s«"
+
+#: libpq/auth-scram.c:214
+#, c-format
 msgid "User \"%s\" does not have a valid SCRAM verifier."
-msgstr "Benutzer hat das CONNECT-Privileg nicht."
+msgstr "Benutzer »%s« hat keinen gültigen SCRAM-Verifier."
 
-#: libpq/auth-scram.c:234
+#: libpq/auth-scram.c:292 libpq/auth-scram.c:297 libpq/auth-scram.c:591
+#: libpq/auth-scram.c:599 libpq/auth-scram.c:680 libpq/auth-scram.c:690
+#: libpq/auth-scram.c:797 libpq/auth-scram.c:820 libpq/auth-scram.c:871
+#: libpq/auth-scram.c:886 libpq/auth-scram.c:1188 libpq/auth-scram.c:1196
 #, c-format
-msgid "malformed SCRAM message (empty message)"
-msgstr ""
+msgid "malformed SCRAM message"
+msgstr "fehlerhafte SCRAM-Nachricht"
 
-#: libpq/auth-scram.c:238
+#: libpq/auth-scram.c:293
 #, c-format
-msgid "malformed SCRAM message (length mismatch)"
-msgstr ""
+msgid "The message is empty."
+msgstr "Die Nachricht ist leer."
 
-#: libpq/auth-scram.c:270
+#: libpq/auth-scram.c:298
 #, c-format
-msgid "invalid SCRAM response (nonce mismatch)"
-msgstr ""
+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:343
-#, fuzzy, c-format
-#| msgid "could not generate random encryption vector"
+#: libpq/auth-scram.c:330
+#, c-format
+msgid "invalid SCRAM response"
+msgstr "ungültige SCRAM-Antwort"
+
+#: libpq/auth-scram.c:331
+#, c-format
+msgid "Nonce does not match."
+msgstr "Nonce stimmt nicht überein."
+
+#: libpq/auth-scram.c:405
+#, c-format
 msgid "could not generate random salt"
-msgstr "konnte zufälligen Verschlüsselungsvektor nicht erzeugen"
+msgstr "konnte zufälliges Salt nicht erzeugen"
 
-#: libpq/auth-scram.c:483
+#: libpq/auth-scram.c:592
 #, c-format
-msgid "malformed SCRAM message (attribute '%c' expected, %s found)"
-msgstr ""
+msgid "Expected attribute \"%c\" but found \"%s\"."
+msgstr "Attribut »%c« wurde erwartet, aber »%s« wurde gefunden."
+
+#: libpq/auth-scram.c:600 libpq/auth-scram.c:691
+#, c-format
+msgid "Expected character \"=\" for attribute \"%c\"."
+msgstr "Zeichen »=« für Attribut »%c« wurde erwartet."
+
+#: libpq/auth-scram.c:681
+#, 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:798 libpq/auth-scram.c:821
+#, c-format
+msgid "Comma expected, but found character \"%s\"."
+msgstr "Komma wurde erwartet, aber Zeichen »%s« wurde gefunden."
 
-#: libpq/auth-scram.c:490 libpq/auth-scram.c:579
+#: libpq/auth-scram.c:813
 #, c-format
-msgid "malformed SCRAM message (expected = in attr %c)"
+msgid "SCRAM channel binding negotiation error"
 msgstr ""
 
-#: libpq/auth-scram.c:570
+#: libpq/auth-scram.c:814
 #, c-format
-msgid "malformed SCRAM message (attribute expected, invalid char %s found)"
+msgid "The client supports SCRAM channel binding but thinks the server does not.  However, this server does support channel binding."
 msgstr ""
 
-#: libpq/auth-scram.c:692
+#: libpq/auth-scram.c:848
 #, c-format
 msgid "client requires SCRAM channel binding, but it is not supported"
-msgstr ""
+msgstr "Client verlangt SCRAM-Channel-Binding, was nicht unterstützt wird"
 
-#: libpq/auth-scram.c:696
+#: libpq/auth-scram.c:862
 #, c-format
-msgid "malformed SCRAM message (unexpected channel-binding flag %s)"
+msgid "unsupported SCRAM channel-binding type"
 msgstr ""
 
-#: libpq/auth-scram.c:702
+#: libpq/auth-scram.c:872
 #, c-format
-msgid "malformed SCRAM message (comma expected, got %s)"
-msgstr ""
+msgid "Unexpected channel-binding flag \"%s\"."
+msgstr "Unerwartetes Channel-Binding-Flag »%s«."
 
-#: libpq/auth-scram.c:712
+#: libpq/auth-scram.c:882
 #, c-format
 msgid "client uses authorization identity, but it is not supported"
-msgstr ""
+msgstr "Client verwendet Autorisierungsidentität, was nicht unterstützt wird"
 
-#: libpq/auth-scram.c:716
+#: libpq/auth-scram.c:887
 #, c-format
-msgid "malformed SCRAM message (unexpected attribute %s in client-first-message)"
-msgstr ""
+msgid "Unexpected attribute \"%s\" in client-first-message."
+msgstr "Unerwartetes Attribut »%s« in »client-first-message«."
 
-#: libpq/auth-scram.c:732
+#: libpq/auth-scram.c:903
 #, c-format
-msgid "client requires mandatory SCRAM extension"
-msgstr ""
+msgid "client requires an unsupported SCRAM extension"
+msgstr "Client verlangt eine nicht unterstützte SCRAM-Erweiterung"
 
-#: libpq/auth-scram.c:746
+#: libpq/auth-scram.c:917
 #, c-format
 msgid "non-printable characters in SCRAM nonce"
-msgstr ""
+msgstr "nicht druckbare Zeichen in SCRAM-Nonce"
 
-#: libpq/auth-scram.c:863
-#, fuzzy, c-format
-#| msgid "could not generate random encryption vector"
+#: libpq/auth-scram.c:1034
+#, c-format
 msgid "could not generate random nonce"
-msgstr "konnte zufälligen Verschlüsselungsvektor nicht erzeugen"
+msgstr "konnte zufällige Nonce nicht erzeugen"
 
-#: libpq/auth-scram.c:931
+#: libpq/auth-scram.c:1158
 #, c-format
-msgid "unexpected SCRAM channel-binding attribute in client-final-message"
+msgid "SCRAM channel binding check failed"
 msgstr ""
 
-#: libpq/auth-scram.c:945
+#: libpq/auth-scram.c:1172
 #, c-format
-msgid "malformed SCRAM message (malformed proof in client-final-message"
-msgstr ""
+msgid "unexpected SCRAM channel-binding attribute in client-final-message"
+msgstr "unerwartetes SCRAM-Channel-Binding-Attribut in »client-final-message«"
 
-#: libpq/auth-scram.c:952
+#: libpq/auth-scram.c:1189
 #, c-format
-msgid "malformed SCRAM message (garbage at end of client-final-message)"
-msgstr ""
+msgid "Malformed proof in client-final-message."
+msgstr "Fehlerhafter Proof in »client-final-message«."
 
-#: libpq/auth.c:280
+#: libpq/auth-scram.c:1197
+#, 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:282
 #, c-format
 msgid "authentication failed for user \"%s\": host rejected"
 msgstr "Authentifizierung für Benutzer »%s« fehlgeschlagen: Host abgelehnt"
 
-#: libpq/auth.c:283
+#: libpq/auth.c:285
 #, c-format
 msgid "\"trust\" authentication failed for user \"%s\""
 msgstr "»trust«-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:286
+#: libpq/auth.c:288
 #, c-format
 msgid "Ident authentication failed for user \"%s\""
 msgstr "Ident-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:289
+#: libpq/auth.c:291
 #, c-format
 msgid "Peer authentication failed for user \"%s\""
 msgstr "Peer-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:294
+#: libpq/auth.c:296
 #, c-format
 msgid "password authentication failed for user \"%s\""
 msgstr "Passwort-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:299
+#: libpq/auth.c:301
 #, c-format
 msgid "GSSAPI authentication failed for user \"%s\""
 msgstr "GSSAPI-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:302
+#: libpq/auth.c:304
 #, c-format
 msgid "SSPI authentication failed for user \"%s\""
 msgstr "SSPI-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:305
+#: libpq/auth.c:307
 #, c-format
 msgid "PAM authentication failed for user \"%s\""
 msgstr "PAM-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:308
+#: libpq/auth.c:310
 #, c-format
 msgid "BSD authentication failed for user \"%s\""
 msgstr "BSD-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:311
+#: libpq/auth.c:313
 #, c-format
 msgid "LDAP authentication failed for user \"%s\""
 msgstr "LDAP-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:314
+#: libpq/auth.c:316
 #, c-format
 msgid "certificate authentication failed for user \"%s\""
 msgstr "Zertifikatauthentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:317
+#: libpq/auth.c:319
 #, c-format
 msgid "RADIUS authentication failed for user \"%s\""
 msgstr "RADIUS-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:320
+#: libpq/auth.c:322
 #, c-format
 msgid "authentication failed for user \"%s\": invalid authentication method"
 msgstr "Authentifizierung für Benutzer »%s« fehlgeschlagen: ungültige Authentifizierungsmethode"
 
-#: libpq/auth.c:324
+#: libpq/auth.c:326
 #, 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
+#: libpq/auth.c:373
 #, 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:382
+#: libpq/auth.c:384
 #, c-format
 msgid "connection requires a valid client certificate"
 msgstr "Verbindung erfordert ein gültiges Client-Zertifikat"
 
-#: libpq/auth.c:415
+#: libpq/auth.c:417
 #, 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"
 
-#: libpq/auth.c:417 libpq/auth.c:433 libpq/auth.c:491 libpq/auth.c:509
+#: libpq/auth.c:419 libpq/auth.c:435 libpq/auth.c:493 libpq/auth.c:511
 msgid "SSL off"
 msgstr "SSL aus"
 
-#: libpq/auth.c:417 libpq/auth.c:433 libpq/auth.c:491 libpq/auth.c:509
+#: libpq/auth.c:419 libpq/auth.c:435 libpq/auth.c:493 libpq/auth.c:511
 msgid "SSL on"
 msgstr "SSL an"
 
-#: libpq/auth.c:421
+#: libpq/auth.c:423
 #, c-format
 msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\""
 msgstr "pg_hba.conf lehnt Replikationsverbindung ab für Host »%s«, Benutzer »%s«"
 
-#: libpq/auth.c:430
+#: libpq/auth.c:432
 #, 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:437
+#: libpq/auth.c:439
 #, c-format
 msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\""
 msgstr "pg_hba.conf lehnt Verbindung ab für Host »%s«, Benutzer »%s«, Datenbank »%s«"
 
-#: libpq/auth.c:466
+#: libpq/auth.c:468
 #, 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:469
+#: libpq/auth.c:471
 #, 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:472
+#: libpq/auth.c:474
 #, 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:475
+#: libpq/auth.c:477
 #, 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:480
+#: libpq/auth.c:482
 #, 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."
 
-#: libpq/auth.c:489
+#: libpq/auth.c:491
 #, 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"
 
-#: libpq/auth.c:496
+#: libpq/auth.c:498
 #, c-format
 msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\""
 msgstr "kein pg_hba.conf-Eintrag für Replikationsverbindung von Host »%s«, Benutzer »%s«"
 
-#: libpq/auth.c:506
+#: libpq/auth.c:508
 #, 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:514
+#: libpq/auth.c:516
 #, c-format
 msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\""
 msgstr "kein pg_hba.conf-Eintrag für Host »%s«, Benutzer »%s«, Datenbank »%s«"
@@ -11731,1100 +12542,1192 @@ msgstr "Passwort-Antwort erwartet, Message-Typ %d empfangen"
 msgid "invalid password packet size"
 msgstr "ungültige Größe des Passwortpakets"
 
-#: libpq/auth.c:727 libpq/hba.c:1319
+#: libpq/auth.c:715
+#, c-format
+msgid "empty password returned by client"
+msgstr "Client gab leeres Passwort zurück"
+
+#: libpq/auth.c:835 libpq/hba.c:1325
 #, 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:733
-#, fuzzy, c-format
-#| msgid "could not generate random encryption vector"
+#: libpq/auth.c:841
+#, c-format
 msgid "could not generate random MD5 salt"
-msgstr "konnte zufälligen Verschlüsselungsvektor nicht erzeugen"
+msgstr "konnte zufälliges MD5-Salt nicht erzeugen"
 
-#: libpq/auth.c:812
-#, fuzzy, c-format
-#| msgid "SSPI is not supported in protocol version 2"
+#: libpq/auth.c:888
+#, c-format
 msgid "SASL authentication is not supported in protocol version 2"
-msgstr "SSL wird in Protokollversion 2 nicht unterstützt"
+msgstr "SASL-Authentifizierung wird in Protokollversion 2 nicht unterstützt"
 
-#: libpq/auth.c:852
-#, fuzzy, c-format
-#| msgid "expected GSS response, got message type %d"
+#: libpq/auth.c:947
+#, c-format
 msgid "expected SASL response, got message type %d"
-msgstr "GSS-Antwort erwartet, Message-Typ %d empfangen"
+msgstr "SASL-Antwort erwartet, Message-Typ %d empfangen"
+
+#: libpq/auth.c:981
+#, c-format
+msgid "client selected an invalid SASL authentication mechanism"
+msgstr "Client hat einen ungültigen SASL-Authentifizierungsmechanismums gewählt"
 
-#: libpq/auth.c:989
+#: libpq/auth.c:1128
 #, c-format
 msgid "GSSAPI is not supported in protocol version 2"
 msgstr "GSSAPI wird in Protokollversion 2 nicht unterstützt"
 
-#: libpq/auth.c:1049
+#: libpq/auth.c:1188
 #, c-format
 msgid "expected GSS response, got message type %d"
 msgstr "GSS-Antwort erwartet, Message-Typ %d empfangen"
 
-#: libpq/auth.c:1111
+#: libpq/auth.c:1250
 msgid "accepting GSS security context failed"
 msgstr "Annahme des GSS-Sicherheitskontexts fehlgeschlagen"
 
-#: libpq/auth.c:1137
+#: libpq/auth.c:1276
 msgid "retrieving GSS user name failed"
 msgstr "Abfrage des GSS-Benutzernamens fehlgeschlagen"
 
-#: libpq/auth.c:1256
+#: libpq/auth.c:1396
 #, c-format
 msgid "SSPI is not supported in protocol version 2"
 msgstr "SSL wird in Protokollversion 2 nicht unterstützt"
 
-#: libpq/auth.c:1271
+#: libpq/auth.c:1411
 msgid "could not acquire SSPI credentials"
 msgstr "konnte SSPI-Credentials nicht erhalten"
 
-#: libpq/auth.c:1289
+#: libpq/auth.c:1429
 #, c-format
 msgid "expected SSPI response, got message type %d"
 msgstr "SSPI-Antwort erwartet, Message-Typ %d empfangen"
 
-#: libpq/auth.c:1362
+#: libpq/auth.c:1502
 msgid "could not accept SSPI security context"
 msgstr "konnte SSPI-Sicherheitskontext nicht akzeptieren"
 
-#: libpq/auth.c:1424
+#: libpq/auth.c:1564
 msgid "could not get token from SSPI security context"
 msgstr "konnte kein Token vom SSPI-Sicherheitskontext erhalten"
 
-#: libpq/auth.c:1543 libpq/auth.c:1562
+#: libpq/auth.c:1683 libpq/auth.c:1702
 #, c-format
 msgid "could not translate name"
 msgstr "konnte Namen nicht umwandeln"
 
-#: libpq/auth.c:1575
+#: libpq/auth.c:1715
 #, c-format
 msgid "realm name too long"
 msgstr "Realm-Name zu lang"
 
-#: libpq/auth.c:1590
+#: libpq/auth.c:1730
 #, c-format
 msgid "translated account name too long"
 msgstr "umgewandelter Account-Name zu lang"
 
-#: libpq/auth.c:1776
+#: libpq/auth.c:1916
 #, c-format
 msgid "could not create socket for Ident connection: %m"
 msgstr "konnte Socket für Ident-Verbindung nicht erzeugen: %m"
 
-#: libpq/auth.c:1791
+#: libpq/auth.c:1931
 #, c-format
 msgid "could not bind to local address \"%s\": %m"
 msgstr "konnte nicht mit lokaler Adresse »%s« verbinden: %m"
 
-#: libpq/auth.c:1803
+#: libpq/auth.c:1943
 #, 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:1825
+#: libpq/auth.c:1965
 #, 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:1842
+#: libpq/auth.c:1982
 #, 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:1852
+#: libpq/auth.c:1992
 #, c-format
 msgid "invalidly formatted response from Ident server: \"%s\""
 msgstr "ungültig formatierte Antwort vom Ident-Server: »%s«"
 
-#: libpq/auth.c:1892
+#: libpq/auth.c:2032
 #, c-format
 msgid "peer authentication is not supported on this platform"
 msgstr "Peer-Authentifizierung wird auf dieser Plattform nicht unterstützt"
 
-#: libpq/auth.c:1896
+#: libpq/auth.c:2036
 #, c-format
 msgid "could not get peer credentials: %m"
 msgstr "konnte Credentials von Gegenstelle nicht ermitteln: %m"
 
-#: libpq/auth.c:1905
+#: libpq/auth.c:2047
 #, c-format
 msgid "could not look up local user ID %ld: %s"
 msgstr "konnte lokale Benutzer-ID %ld nicht nachschlagen: %s"
 
-#: libpq/auth.c:1989 libpq/auth.c:2315 libpq/auth.c:2675
-#, c-format
-msgid "empty password returned by client"
-msgstr "Client gab leeres Passwort zurück"
-
-#: libpq/auth.c:1999
+#: libpq/auth.c:2135
 #, c-format
 msgid "error from underlying PAM layer: %s"
 msgstr "Fehler von der unteren PAM-Ebene: %s"
 
-#: libpq/auth.c:2080
+#: libpq/auth.c:2216
 #, c-format
 msgid "could not create PAM authenticator: %s"
 msgstr "konnte PAM-Authenticator nicht erzeugen: %s"
 
-#: libpq/auth.c:2091
+#: libpq/auth.c:2227
 #, c-format
 msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr "pam_set_item(PAM_USER) fehlgeschlagen: %s"
 
-#: libpq/auth.c:2102
+#: libpq/auth.c:2238
 #, c-format
 msgid "pam_set_item(PAM_RHOST) failed: %s"
 msgstr "pam_set_item(PAM_RHOST) fehlgeschlagen: %s"
 
-#: libpq/auth.c:2113
+#: libpq/auth.c:2249
 #, c-format
 msgid "pam_set_item(PAM_CONV) failed: %s"
 msgstr "pam_set_item(PAM_CONV) fehlgeschlagen: %s"
 
-#: libpq/auth.c:2124
+#: libpq/auth.c:2260
 #, c-format
 msgid "pam_authenticate failed: %s"
 msgstr "pam_authenticate fehlgeschlagen: %s"
 
-#: libpq/auth.c:2135
+#: libpq/auth.c:2271
 #, c-format
 msgid "pam_acct_mgmt failed: %s"
 msgstr "pam_acct_mgmt fehlgeschlagen: %s"
 
-#: libpq/auth.c:2146
+#: libpq/auth.c:2282
 #, c-format
 msgid "could not release PAM authenticator: %s"
 msgstr "konnte PAM-Authenticator nicht freigeben: %s"
 
-#: libpq/auth.c:2211
-#, c-format
-msgid "could not initialize LDAP: %m"
-msgstr "konnte LDAP nicht initialisieren: %m"
-
-#: libpq/auth.c:2214
+#: libpq/auth.c:2358
 #, c-format
 msgid "could not initialize LDAP: error code %d"
 msgstr "konnte LDAP nicht initialisieren: Fehlercode %d"
 
-#: libpq/auth.c:2224
+#: libpq/auth.c:2375
+#, c-format
+msgid "could not initialize LDAP: %s"
+msgstr "konnte LDAP nicht initialisieren: %s"
+
+#: libpq/auth.c:2385
+#, fuzzy, c-format
+#| msgid "filters not supported in LDAP URLs"
+msgid "ldaps not supported with this LDAP library"
+msgstr "Filter in LDAP-URLs werden nicht unterstützt"
+
+#: libpq/auth.c:2393
+#, c-format
+msgid "could not initialize LDAP: %m"
+msgstr "konnte LDAP nicht initialisieren: %m"
+
+#: libpq/auth.c:2403
 #, c-format
 msgid "could not set LDAP protocol version: %s"
 msgstr "konnte LDAP-Protokollversion nicht setzen: %s"
 
-#: libpq/auth.c:2253
+#: libpq/auth.c:2434
 #, c-format
 msgid "could not load wldap32.dll"
 msgstr "konnte wldap32.dll nicht laden"
 
-#: libpq/auth.c:2261
+#: libpq/auth.c:2442
 #, 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:2262
+#: libpq/auth.c:2443
 #, 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:2277
+#: libpq/auth.c:2458
 #, c-format
 msgid "could not start LDAP TLS session: %s"
 msgstr "konnte LDAP-TLS-Sitzung nicht starten: %s"
 
-#: libpq/auth.c:2299
+#: libpq/auth.c:2521
 #, c-format
 msgid "LDAP server not specified"
 msgstr "LDAP-Server nicht angegeben"
 
-#: libpq/auth.c:2352
+#: libpq/auth.c:2576
 #, c-format
 msgid "invalid character in user name for LDAP authentication"
 msgstr "ungültiges Zeichen im Benutzernamen für LDAP-Authentifizierung"
 
-#: libpq/auth.c:2367
+#: libpq/auth.c:2593
 #, 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:2391
+#: libpq/auth.c:2622
 #, 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:2402
+#: libpq/auth.c:2636
 #, c-format
 msgid "LDAP user \"%s\" does not exist"
 msgstr "LDAP-Benutzer »%s« existiert nicht"
 
-#: libpq/auth.c:2403
+#: libpq/auth.c:2637
 #, 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:2407
+#: libpq/auth.c:2641
 #, c-format
 msgid "LDAP user \"%s\" is not unique"
 msgstr "LDAP-Benutzer »%s« ist nicht eindeutig"
 
-#: libpq/auth.c:2408
+#: libpq/auth.c:2642
 #, 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:2426
+#: libpq/auth.c:2662
 #, 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:2446
-#, c-format
-msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s"
+#: libpq/auth.c:2683
+#, fuzzy, c-format
+#| msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s"
+msgid "could not unbind after searching for user \"%s\" on server \"%s\""
 msgstr "Losbinden fehlgeschlagen nach Suche nach Benutzer »%s« auf Server »%s«: %s"
 
-#: libpq/auth.c:2476
+#: libpq/auth.c:2714
 #, 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:2504
+#: libpq/auth.c:2743
+#, c-format
+msgid "LDAP diagnostics: %s"
+msgstr "LDAP-Diagnostik: %s"
+
+#: libpq/auth.c:2768
 #, 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:2631
+#: libpq/auth.c:2871
 #, c-format
 msgid "RADIUS server not specified"
 msgstr "RADIUS-Server nicht angegeben"
 
-#: libpq/auth.c:2638
+#: libpq/auth.c:2878
 #, c-format
 msgid "RADIUS secret not specified"
 msgstr "RADIUS-Geheimnis nicht angegeben"
 
-#: libpq/auth.c:2654 libpq/hba.c:1786
-#, 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:2682
+#: libpq/auth.c:2892
 #, 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:2693
+#: libpq/auth.c:2997 libpq/hba.c:1908
+#, 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:3011
 #, c-format
 msgid "could not generate random encryption vector"
 msgstr "konnte zufälligen Verschlüsselungsvektor nicht erzeugen"
 
-#: libpq/auth.c:2726
+#: libpq/auth.c:3045
 #, c-format
 msgid "could not perform MD5 encryption of password"
 msgstr "konnte MD5-Verschlüsselung des Passworts nicht durchführen"
 
-#: libpq/auth.c:2751
+#: libpq/auth.c:3071
 #, c-format
 msgid "could not create RADIUS socket: %m"
 msgstr "konnte RADIUS-Socket nicht erstellen: %m"
 
-#: libpq/auth.c:2772
+#: libpq/auth.c:3093
 #, c-format
 msgid "could not bind local RADIUS socket: %m"
 msgstr "konnte lokales RADIUS-Socket nicht binden: %m"
 
-#: libpq/auth.c:2782
+#: libpq/auth.c:3103
 #, c-format
 msgid "could not send RADIUS packet: %m"
 msgstr "konnte RADIUS-Paket nicht senden: %m"
 
-#: libpq/auth.c:2815 libpq/auth.c:2840
+#: libpq/auth.c:3136 libpq/auth.c:3162
 #, c-format
-msgid "timeout waiting for RADIUS response"
-msgstr "Zeitüberschreitung beim Warten auf RADIUS-Antwort"
+msgid "timeout waiting for RADIUS response from %s"
+msgstr "Zeitüberschreitung beim Warten auf RADIUS-Antwort von %s"
 
-#: libpq/auth.c:2833
+#: libpq/auth.c:3155
 #, c-format
 msgid "could not check status on RADIUS socket: %m"
 msgstr "konnte Status des RADIUS-Sockets nicht prüfen: %m"
 
-#: libpq/auth.c:2862
+#: libpq/auth.c:3185
 #, c-format
 msgid "could not read RADIUS response: %m"
 msgstr "konnte RADIUS-Antwort nicht lesen: %m"
 
-#: libpq/auth.c:2874 libpq/auth.c:2878
+#: libpq/auth.c:3198 libpq/auth.c:3202
 #, c-format
-msgid "RADIUS response was sent from incorrect port: %d"
-msgstr "RADIUS-Antwort wurde von falschem Port gesendet: %d"
+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:2887
+#: libpq/auth.c:3211
 #, c-format
-msgid "RADIUS response too short: %d"
-msgstr "RADIUS-Antwort zu kurz: %d"
+msgid "RADIUS response from %s too short: %d"
+msgstr "RADIUS-Antwort von %s zu kurz: %d"
 
-#: libpq/auth.c:2894
+#: libpq/auth.c:3218
 #, c-format
-msgid "RADIUS response has corrupt length: %d (actual length %d)"
-msgstr "RADIUS-Antwort hat verfälschte Länge: %d (tatsächliche Länge %d)"
+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:2902
+#: libpq/auth.c:3226
 #, c-format
-msgid "RADIUS response is to a different request: %d (should be %d)"
-msgstr "RADIUS-Antwort unterscheidet sich von Anfrage: %d (sollte %d sein)"
+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:2927
+#: libpq/auth.c:3251
 #, c-format
 msgid "could not perform MD5 encryption of received packet"
 msgstr "konnte MD5-Verschlüsselung des empfangenen Pakets nicht durchführen"
 
-#: libpq/auth.c:2936
+#: libpq/auth.c:3260
 #, c-format
-msgid "RADIUS response has incorrect MD5 signature"
-msgstr "RADIUS-Antwort hat falsche MD5-Signatur"
+msgid "RADIUS response from %s has incorrect MD5 signature"
+msgstr "RADIUS-Antwort von %s hat falsche MD5-Signatur"
 
-#: libpq/auth.c:2953
+#: libpq/auth.c:3278
 #, c-format
-msgid "RADIUS response has invalid code (%d) for user \"%s\""
-msgstr "RADIUS-Antwort hat ungültigen Code (%d) für Benutzer »%s«"
+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:132 libpq/be-fsstubs.c:163 libpq/be-fsstubs.c:197
-#: libpq/be-fsstubs.c:237 libpq/be-fsstubs.c:262 libpq/be-fsstubs.c:310
-#: libpq/be-fsstubs.c:333 libpq/be-fsstubs.c:581
+#: 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:545
 #, c-format
 msgid "invalid large-object descriptor: %d"
 msgstr "ungültiger Large-Object-Deskriptor: %d"
 
-#: libpq/be-fsstubs.c:178 libpq/be-fsstubs.c:216 libpq/be-fsstubs.c:600
-#: libpq/be-fsstubs.c:788
+#: libpq/be-fsstubs.c:161
 #, c-format
-msgid "permission denied for large object %u"
-msgstr "keine Berechtigung für Large Object %u"
+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:203 libpq/be-fsstubs.c:587
+#: libpq/be-fsstubs.c:185 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:245
+#: libpq/be-fsstubs.c:212
 #, 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:318
+#: libpq/be-fsstubs.c:285
 #, 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:455
-#, c-format
-msgid "must be superuser to use server-side lo_import()"
-msgstr "nur Superuser können das serverseitige lo_import() verwenden"
-
-#: libpq/be-fsstubs.c:456
-#, c-format
-msgid "Anyone can use the client-side lo_import() provided by libpq."
-msgstr "Jeder kann das clientseitige lo_import() von libpq verwenden."
-
-#: libpq/be-fsstubs.c:469
+#: libpq/be-fsstubs.c:432
 #, c-format
 msgid "could not open server file \"%s\": %m"
 msgstr "konnte Serverdatei »%s« nicht öffnen: %m"
 
-#: libpq/be-fsstubs.c:491
+#: libpq/be-fsstubs.c:454
 #, c-format
 msgid "could not read server file \"%s\": %m"
 msgstr "konnte Serverdatei »%s« nicht lesen: %m"
 
-#: libpq/be-fsstubs.c:521
-#, c-format
-msgid "must be superuser to use server-side lo_export()"
-msgstr "nur Superuser können das serverseitige lo_export() verwenden"
-
-#: libpq/be-fsstubs.c:522
-#, c-format
-msgid "Anyone can use the client-side lo_export() provided by libpq."
-msgstr "Jeder kann das clientseitige lo_export() von libpq verwenden."
-
-#: libpq/be-fsstubs.c:547
+#: libpq/be-fsstubs.c:511
 #, c-format
 msgid "could not create server file \"%s\": %m"
 msgstr "konnte Serverdatei »%s« nicht erstellen: %m"
 
-#: libpq/be-fsstubs.c:559
+#: libpq/be-fsstubs.c:523
 #, c-format
 msgid "could not write server file \"%s\": %m"
 msgstr "konnte Serverdatei »%s« nicht schreiben: %m"
 
-#: libpq/be-fsstubs.c:813
+#: libpq/be-fsstubs.c:752
 #, c-format
 msgid "large object read request is too large"
 msgstr "Large-Object-Leseaufforderung ist zu groß"
 
-#: libpq/be-fsstubs.c:855 utils/adt/genfile.c:211 utils/adt/genfile.c:252
+#: libpq/be-fsstubs.c:794 utils/adt/genfile.c:231 utils/adt/genfile.c:270
+#: utils/adt/genfile.c:306
 #, c-format
 msgid "requested length cannot be negative"
 msgstr "verlangte Länge darf nicht negativ sein"
 
-#: libpq/be-secure-openssl.c:197
+#: libpq/be-fsstubs.c:847 storage/large_object/inv_api.c:296
+#: storage/large_object/inv_api.c:308 storage/large_object/inv_api.c:512
+#: storage/large_object/inv_api.c:623 storage/large_object/inv_api.c:813
 #, c-format
-msgid "could not create SSL context: %s"
-msgstr "konnte SSL-Kontext nicht erzeugen: %s"
+msgid "permission denied for large object %u"
+msgstr "keine Berechtigung für Large Object %u"
+
+#: libpq/be-secure-common.c:91
+#, fuzzy, c-format
+#| msgid "could not read from file \"%s\": %m"
+msgid "could not read from command \"%s\": %m"
+msgstr "konnte nicht aus Datei »%s« lesen: %m"
 
-#: libpq/be-secure-openssl.c:225
+#: libpq/be-secure-common.c:109
 #, c-format
-msgid "could not load server certificate file \"%s\": %s"
-msgstr "konnte Serverzertifikatsdatei »%s« nicht laden: %s"
+msgid "command \"%s\" failed"
+msgstr "Befehl »%s« fehlgeschlagen"
 
-#: libpq/be-secure-openssl.c:234
+#: libpq/be-secure-common.c:139
 #, c-format
 msgid "could not access private key file \"%s\": %m"
 msgstr "konnte auf private Schlüsseldatei »%s« nicht zugreifen: %m"
 
-#: libpq/be-secure-openssl.c:243
+#: libpq/be-secure-common.c:148
 #, c-format
 msgid "private key file \"%s\" is not a regular file"
 msgstr "private Schlüsseldatei »%s« ist keine normale Datei"
 
-#: libpq/be-secure-openssl.c:258
+#: libpq/be-secure-common.c:163
 #, 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-openssl.c:281
+#: 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-openssl.c:283
+#: 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."
 
-#: libpq/be-secure-openssl.c:300
-#, fuzzy, c-format
-#| msgid "private key file \"%s\" must be owned by the database user or root"
+#: libpq/be-secure-openssl.c:104
+#, c-format
+msgid "could not create SSL context: %s"
+msgstr "konnte SSL-Kontext nicht erzeugen: %s"
+
+#: libpq/be-secure-openssl.c:147
+#, c-format
+msgid "could not load server certificate file \"%s\": %s"
+msgstr "konnte Serverzertifikatsdatei »%s« nicht laden: %s"
+
+#: libpq/be-secure-openssl.c:167
+#, c-format
 msgid "private key file \"%s\" cannot be reloaded because it requires a passphrase"
-msgstr "private Schlüsseldatei »%s« muss als Eigentümer den Datenbankbenutzer oder »root« haben"
+msgstr "private Schlüsseldatei »%s« kann nicht neu geladen werden, weil sie eine Passphrase benötigt"
 
-#: libpq/be-secure-openssl.c:305
+#: libpq/be-secure-openssl.c:172
 #, 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:314
+#: libpq/be-secure-openssl.c:181
 #, c-format
 msgid "check of private key failed: %s"
 msgstr "Überprüfung des privaten Schlüssels fehlgeschlagen: %s"
 
-#: libpq/be-secure-openssl.c:334
+#: libpq/be-secure-openssl.c:208
 #, c-format
 msgid "could not set the cipher list (no valid ciphers available)"
-msgstr ""
+msgstr "konnte Cipher-Liste nicht setzen (keine gültigen Ciphers verfügbar)"
 
-#: libpq/be-secure-openssl.c:352
+#: libpq/be-secure-openssl.c:226
 #, 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:379
+#: libpq/be-secure-openssl.c:253
 #, c-format
 msgid "SSL certificate revocation list file \"%s\" ignored"
 msgstr "SSL-Certificate-Revocation-List-Datei »%s« ignoriert"
 
-#: libpq/be-secure-openssl.c:381
+#: libpq/be-secure-openssl.c:255
 #, c-format
 msgid "SSL library does not support certificate revocation lists."
 msgstr "SSL-Bibliothek unterstützt keine Certificate-Revocation-Lists."
 
-#: libpq/be-secure-openssl.c:388
+#: libpq/be-secure-openssl.c:262
 #, 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:469
-#, fuzzy, c-format
-#| msgid "could not initialize SSL connection: %s"
+#: libpq/be-secure-openssl.c:337
+#, c-format
 msgid "could not initialize SSL connection: SSL context not set up"
-msgstr "konnte SSL-Verbindung nicht initialisieren: %s"
+msgstr "konnte SSL-Verbindung nicht initialisieren: SSL-Kontext nicht eingerichtet"
 
-#: libpq/be-secure-openssl.c:477
+#: libpq/be-secure-openssl.c:345
 #, c-format
 msgid "could not initialize SSL connection: %s"
 msgstr "konnte SSL-Verbindung nicht initialisieren: %s"
 
-#: libpq/be-secure-openssl.c:485
+#: libpq/be-secure-openssl.c:353
 #, c-format
 msgid "could not set SSL socket: %s"
 msgstr "konnte SSL-Socket nicht setzen: %s"
 
-#: libpq/be-secure-openssl.c:540
+#: libpq/be-secure-openssl.c:408
 #, c-format
 msgid "could not accept SSL connection: %m"
 msgstr "konnte SSL-Verbindung nicht annehmen: %m"
 
-#: libpq/be-secure-openssl.c:544 libpq/be-secure-openssl.c:555
+#: libpq/be-secure-openssl.c:412 libpq/be-secure-openssl.c:423
 #, c-format
 msgid "could not accept SSL connection: EOF detected"
 msgstr "konnte SSL-Verbindung nicht annehmen: EOF entdeckt"
 
-#: libpq/be-secure-openssl.c:549
+#: libpq/be-secure-openssl.c:417
 #, c-format
 msgid "could not accept SSL connection: %s"
 msgstr "konnte SSL-Verbindung nicht annehmen: %s"
 
-#: libpq/be-secure-openssl.c:560 libpq/be-secure-openssl.c:699
-#: libpq/be-secure-openssl.c:759
+#: libpq/be-secure-openssl.c:428 libpq/be-secure-openssl.c:559
+#: libpq/be-secure-openssl.c:623
 #, c-format
 msgid "unrecognized SSL error code: %d"
 msgstr "unbekannter SSL-Fehlercode: %d"
 
-#: libpq/be-secure-openssl.c:602
+#: libpq/be-secure-openssl.c:470
 #, 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:613
-#, c-format
-msgid "SSL connection from \"%s\""
-msgstr "SSL-Verbindung von »%s«"
-
-#: libpq/be-secure-openssl.c:690 libpq/be-secure-openssl.c:750
+#: libpq/be-secure-openssl.c:548 libpq/be-secure-openssl.c:607
 #, c-format
 msgid "SSL error: %s"
 msgstr "SSL-Fehler: %s"
 
-#: libpq/be-secure-openssl.c:1179
+#: libpq/be-secure-openssl.c:788
+#, c-format
+msgid "could not open DH parameters file \"%s\": %m"
+msgstr "konnte DH-Parameterdatei »%s« nicht öffnen: %m"
+
+#: libpq/be-secure-openssl.c:800
+#, c-format
+msgid "could not load DH parameters file: %s"
+msgstr "konnte DH-Parameterdatei nicht laden: %s"
+
+#: libpq/be-secure-openssl.c:810
+#, c-format
+msgid "invalid DH parameters: %s"
+msgstr "ungültige DH-Parameter: %s"
+
+#: libpq/be-secure-openssl.c:818
+#, c-format
+msgid "invalid DH parameters: p is not prime"
+msgstr "ungültige DH-Parameter: p ist keine Primzahl"
+
+#: libpq/be-secure-openssl.c:826
+#, 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:981
+#, c-format
+msgid "DH: could not load DH parameters"
+msgstr "DH: konnte DH-Parameter nicht laden"
+
+#: libpq/be-secure-openssl.c:989
+#, c-format
+msgid "DH: could not set DH parameters: %s"
+msgstr "DH: konnte DH-Parameter nicht setzen: %s"
+
+#: libpq/be-secure-openssl.c:1013
 #, c-format
 msgid "ECDH: unrecognized curve name: %s"
 msgstr "ECDH: unbekannter Kurvenname: %s"
 
-#: libpq/be-secure-openssl.c:1188
+#: libpq/be-secure-openssl.c:1022
 #, c-format
 msgid "ECDH: could not create key"
 msgstr "ECDH: konnte Schlüssel nicht erzeugen"
 
-#: libpq/be-secure-openssl.c:1216
+#: libpq/be-secure-openssl.c:1050
 msgid "no SSL error reported"
 msgstr "kein SSL-Fehler berichtet"
 
-#: libpq/be-secure-openssl.c:1220
+#: libpq/be-secure-openssl.c:1054
 #, c-format
 msgid "SSL error code %lu"
 msgstr "SSL-Fehlercode %lu"
 
-#: libpq/be-secure.c:188 libpq/be-secure.c:274
+#: libpq/be-secure-openssl.c:1182
+#, fuzzy, c-format
+#| msgid "local connections are not supported by this build"
+msgid "channel binding type \"tls-server-end-point\" is not supported by this build"
+msgstr "lokale Verbindungen werden von dieser Installation nicht unterstützt"
+
+#: libpq/be-secure.c:119
+#, c-format
+msgid "SSL connection from \"%s\""
+msgstr "SSL-Verbindung von »%s«"
+
+#: libpq/be-secure.c:193 libpq/be-secure.c:279
 #, c-format
 msgid "terminating connection due to unexpected postmaster exit"
 msgstr "Verbindung wird abgebrochen wegen unerwartetem Ende des Postmasters"
 
-#: libpq/crypt.c:58
+#: libpq/crypt.c:51
 #, c-format
 msgid "Role \"%s\" does not exist."
 msgstr "Rolle »%s« existiert nicht."
 
-#: libpq/crypt.c:68
+#: libpq/crypt.c:61
 #, c-format
 msgid "User \"%s\" has no password assigned."
 msgstr "Benutzer »%s« hat kein Passwort zugewiesen."
 
-#: libpq/crypt.c:83
-#, c-format
-msgid "User \"%s\" has an empty password."
-msgstr "Benutzer »%s« hat ein leeres Passwort."
-
-#: libpq/crypt.c:97
+#: libpq/crypt.c:79
 #, c-format
 msgid "User \"%s\" has an expired password."
 msgstr "Benutzer »%s« hat ein abgelaufenes Passwort."
 
-#: libpq/crypt.c:254
+#: libpq/crypt.c:173
 #, c-format
 msgid "User \"%s\" has a password that cannot be used with MD5 authentication."
-msgstr ""
+msgstr "Benutzer »%s« hat ein Passwort, das nicht mit MD5-Authentifizierung verwendet werden kann."
 
-#: libpq/crypt.c:263 libpq/crypt.c:330
+#: libpq/crypt.c:197 libpq/crypt.c:238 libpq/crypt.c:262
 #, c-format
 msgid "Password does not match for user \"%s\"."
 msgstr "Passwort stimmt nicht überein für Benutzer »%s«."
 
-#: libpq/crypt.c:321
+#: libpq/crypt.c:281
 #, c-format
 msgid "Password of user \"%s\" is in unrecognized format."
-msgstr ""
+msgstr "Passwort von Benutzer »%s« hat unbekanntes Format."
 
-#: libpq/hba.c:232
+#: libpq/hba.c:235
 #, c-format
 msgid "authentication file token too long, skipping: \"%s\""
 msgstr "Token in Authentifizierungsdatei zu lang, wird übersprungen: »%s«"
 
-#: libpq/hba.c:404
+#: libpq/hba.c:407
 #, 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:506
+#: libpq/hba.c:509
 #, c-format
 msgid "authentication file line too long"
 msgstr "Zeile in Authentifizierungsdatei zu lang"
 
-#: libpq/hba.c:507 libpq/hba.c:861 libpq/hba.c:881 libpq/hba.c:919
-#: libpq/hba.c:969 libpq/hba.c:983 libpq/hba.c:1005 libpq/hba.c:1014
-#: libpq/hba.c:1035 libpq/hba.c:1048 libpq/hba.c:1068 libpq/hba.c:1090
-#: libpq/hba.c:1102 libpq/hba.c:1158 libpq/hba.c:1178 libpq/hba.c:1192
-#: libpq/hba.c:1211 libpq/hba.c:1222 libpq/hba.c:1237 libpq/hba.c:1255
-#: libpq/hba.c:1271 libpq/hba.c:1283 libpq/hba.c:1320 libpq/hba.c:1361
-#: libpq/hba.c:1374 libpq/hba.c:1396 libpq/hba.c:1408 libpq/hba.c:1426
-#: libpq/hba.c:1476 libpq/hba.c:1515 libpq/hba.c:1526 libpq/hba.c:1583
-#: libpq/hba.c:1599 libpq/hba.c:1698 libpq/hba.c:1788 libpq/hba.c:1808
-#: libpq/hba.c:1830 tsearch/ts_locale.c:182
+#: libpq/hba.c:510 libpq/hba.c:867 libpq/hba.c:887 libpq/hba.c:925
+#: libpq/hba.c:975 libpq/hba.c:989 libpq/hba.c:1011 libpq/hba.c:1020
+#: libpq/hba.c:1041 libpq/hba.c:1054 libpq/hba.c:1074 libpq/hba.c:1096
+#: libpq/hba.c:1108 libpq/hba.c:1164 libpq/hba.c:1184 libpq/hba.c:1198
+#: libpq/hba.c:1217 libpq/hba.c:1228 libpq/hba.c:1243 libpq/hba.c:1261
+#: libpq/hba.c:1277 libpq/hba.c:1289 libpq/hba.c:1326 libpq/hba.c:1367
+#: libpq/hba.c:1380 libpq/hba.c:1402 libpq/hba.c:1414 libpq/hba.c:1432
+#: libpq/hba.c:1482 libpq/hba.c:1523 libpq/hba.c:1534 libpq/hba.c:1550
+#: libpq/hba.c:1567 libpq/hba.c:1577 libpq/hba.c:1635 libpq/hba.c:1673
+#: libpq/hba.c:1689 libpq/hba.c:1779 libpq/hba.c:1797 libpq/hba.c:1891
+#: libpq/hba.c:1910 libpq/hba.c:1939 libpq/hba.c:1952 libpq/hba.c:1975
+#: libpq/hba.c:1997 libpq/hba.c:2011 tsearch/ts_locale.c:179
 #, c-format
 msgid "line %d of configuration file \"%s\""
 msgstr "Zeile %d in Konfigurationsdatei »%s«"
 
 #. translator: the second %s is a list of auth methods
-#: libpq/hba.c:859
+#: libpq/hba.c:865
 #, 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:879
+#: libpq/hba.c:885
 #, c-format
 msgid "authentication method \"%s\" requires argument \"%s\" to be set"
 msgstr "Authentifizierungsmethode »%s« benötigt Argument »%s«"
 
-#: libpq/hba.c:907
+#: libpq/hba.c:913
 #, 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:918
+#: libpq/hba.c:924
 #, c-format
 msgid "multiple values in ident field"
 msgstr "mehrere Werte in Ident-Feld"
 
-#: libpq/hba.c:967
+#: libpq/hba.c:973
 #, c-format
 msgid "multiple values specified for connection type"
 msgstr "mehrere Werte angegeben für Verbindungstyp"
 
-#: libpq/hba.c:968
+#: libpq/hba.c:974
 #, c-format
 msgid "Specify exactly one connection type per line."
 msgstr "Geben Sie genau einen Verbindungstyp pro Zeile an."
 
-#: libpq/hba.c:982
+#: libpq/hba.c:988
 #, c-format
 msgid "local connections are not supported by this build"
 msgstr "lokale Verbindungen werden von dieser Installation nicht unterstützt"
 
-#: libpq/hba.c:1003
+#: libpq/hba.c:1009
 #, c-format
 msgid "hostssl record cannot match because SSL is disabled"
-msgstr ""
+msgstr "hostssl-Eintrag kann nicht angewendet werden, weil SSL deaktiviert ist"
 
-#: libpq/hba.c:1004
+#: libpq/hba.c:1010
 #, c-format
 msgid "Set ssl = on in postgresql.conf."
 msgstr "Setzen Sie ssl = on in postgresql.conf."
 
-#: libpq/hba.c:1012
-#, fuzzy, c-format
-#| msgid "hostssl is not supported by this build"
+#: libpq/hba.c:1018
+#, c-format
 msgid "hostssl record cannot match because SSL is not supported by this build"
-msgstr "hostssl wird von dieser Installation nicht unterstützt"
+msgstr "hostssl-Eintrag kann nicht angewendet werden, weil SSL von dieser Installation nicht unterstützt wird"
 
-#: libpq/hba.c:1013
+#: libpq/hba.c:1019
 #, c-format
 msgid "Compile with --with-openssl to use SSL connections."
 msgstr "Kompilieren Sie mit --with-openssl, um SSL-Verbindungen zu verwenden."
 
-#: libpq/hba.c:1033
+#: libpq/hba.c:1039
 #, c-format
 msgid "invalid connection type \"%s\""
 msgstr "ungültiger Verbindungstyp »%s«"
 
-#: libpq/hba.c:1047
+#: libpq/hba.c:1053
 #, c-format
 msgid "end-of-line before database specification"
 msgstr "Zeilenende vor Datenbankangabe"
 
-#: libpq/hba.c:1067
+#: libpq/hba.c:1073
 #, c-format
 msgid "end-of-line before role specification"
 msgstr "Zeilenende vor Rollenangabe"
 
-#: libpq/hba.c:1089
+#: libpq/hba.c:1095
 #, c-format
 msgid "end-of-line before IP address specification"
 msgstr "Zeilenende vor IP-Adressangabe"
 
-#: libpq/hba.c:1100
+#: libpq/hba.c:1106
 #, c-format
 msgid "multiple values specified for host address"
 msgstr "mehrere Werte für Hostadresse angegeben"
 
-#: libpq/hba.c:1101
+#: libpq/hba.c:1107
 #, c-format
 msgid "Specify one address range per line."
 msgstr "Geben Sie einen Adressbereich pro Zeile an."
 
-#: libpq/hba.c:1156
+#: libpq/hba.c:1162
 #, c-format
 msgid "invalid IP address \"%s\": %s"
 msgstr "ungültige IP-Adresse »%s«: %s"
 
-#: libpq/hba.c:1176
+#: libpq/hba.c:1182
 #, 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:1190
+#: libpq/hba.c:1196
 #, c-format
 msgid "invalid CIDR mask in address \"%s\""
 msgstr "ungültige CIDR-Maske in Adresse »%s«"
 
-#: libpq/hba.c:1209
+#: libpq/hba.c:1215
 #, c-format
 msgid "end-of-line before netmask specification"
 msgstr "Zeilenende vor Netzmaskenangabe"
 
-#: libpq/hba.c:1210
+#: libpq/hba.c:1216
 #, 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:1221
+#: libpq/hba.c:1227
 #, c-format
 msgid "multiple values specified for netmask"
 msgstr "mehrere Werte für Netzmaske angegeben"
 
-#: libpq/hba.c:1235
+#: libpq/hba.c:1241
 #, c-format
 msgid "invalid IP mask \"%s\": %s"
 msgstr "ungültige IP-Maske »%s«: %s"
 
-#: libpq/hba.c:1254
+#: libpq/hba.c:1260
 #, c-format
 msgid "IP address and mask do not match"
 msgstr "IP-Adresse und -Maske passen nicht zusammen"
 
-#: libpq/hba.c:1270
+#: libpq/hba.c:1276
 #, c-format
 msgid "end-of-line before authentication method"
 msgstr "Zeilenende vor Authentifizierungsmethode"
 
-#: libpq/hba.c:1281
+#: libpq/hba.c:1287
 #, c-format
 msgid "multiple values specified for authentication type"
 msgstr "mehrere Werte für Authentifizierungstyp angegeben"
 
-#: libpq/hba.c:1282
+#: libpq/hba.c:1288
 #, c-format
 msgid "Specify exactly one authentication type per line."
 msgstr "Geben Sie genau einen Authentifizierungstyp pro Zeile an."
 
-#: libpq/hba.c:1359
+#: libpq/hba.c:1365
 #, c-format
 msgid "invalid authentication method \"%s\""
 msgstr "ungültige Authentifizierungsmethode »%s«"
 
-#: libpq/hba.c:1372
+#: libpq/hba.c:1378
 #, 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:1395
+#: libpq/hba.c:1401
 #, c-format
 msgid "gssapi authentication is not supported on local sockets"
 msgstr "gssapi-Authentifizierung wird auf lokalen Sockets nicht unterstützt"
 
-#: libpq/hba.c:1407
+#: libpq/hba.c:1413
 #, c-format
 msgid "peer authentication is only supported on local sockets"
 msgstr "peer-Authentifizierung wird nur auf lokalen Sockets unterstützt"
 
-#: libpq/hba.c:1425
+#: libpq/hba.c:1431
 #, c-format
 msgid "cert authentication is only supported on hostssl connections"
 msgstr "cert-Authentifizierung wird nur auf »hostssl«-Verbindungen unterstützt"
 
-#: libpq/hba.c:1475
+#: libpq/hba.c:1481
 #, c-format
 msgid "authentication option not in name=value format: %s"
 msgstr "Authentifizierungsoption nicht im Format name=wert: %s"
 
-#: libpq/hba.c:1514
+#: libpq/hba.c:1522
 #, c-format
-msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, or ldapurl together with ldapprefix"
-msgstr "ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute oder ldapurl kann nicht zusammen mit ldapprefix verwendet werden"
+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:1525
+#: libpq/hba.c:1533
 #, 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:1573
+#: libpq/hba.c:1549
+#, fuzzy, c-format
+#| msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, or ldapurl together with ldapprefix"
+msgid "cannot use ldapsearchattribute together with ldapsearchfilter"
+msgstr "ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute oder ldapurl kann nicht zusammen mit ldapprefix verwendet werden"
+
+#: libpq/hba.c:1566
+#, c-format
+msgid "list of RADIUS servers cannot be empty"
+msgstr "List der RADIUS-Server darf nicht leer sein"
+
+#: libpq/hba.c:1576
+#, c-format
+msgid "list of RADIUS secrets cannot be empty"
+msgstr "Liste der RADIUS-Geheimnisse darf nicht leer sein"
+
+#: libpq/hba.c:1629
+#, c-format
+msgid "the number of %s (%d) must be 1 or the same as the number of %s (%d)"
+msgstr "die Anzahl %s (%d) muss 1 oder gleich der Anzahl %s (%d) sein"
+
+#: libpq/hba.c:1663
 msgid "ident, peer, gssapi, sspi, and cert"
 msgstr "ident, peer, gssapi, sspi und cert"
 
-#: libpq/hba.c:1582
+#: libpq/hba.c:1672
 #, c-format
 msgid "clientcert can only be configured for \"hostssl\" rows"
 msgstr "clientcert kann nur für »hostssl«-Zeilen konfiguriert werden"
 
-#: libpq/hba.c:1598
+#: libpq/hba.c:1688
 #, c-format
 msgid "clientcert can not be set to 0 when using \"cert\" authentication"
 msgstr "clientcert kann nicht auf 0 gesetzt sein, wenn »cert«-Authentifizierung verwendet wird"
 
-#: libpq/hba.c:1635
+#: libpq/hba.c:1725
 #, c-format
 msgid "could not parse LDAP URL \"%s\": %s"
 msgstr "konnte LDAP-URL »%s« nicht interpretieren: %s"
 
-#: libpq/hba.c:1645
+#: libpq/hba.c:1736
 #, c-format
 msgid "unsupported LDAP URL scheme: %s"
 msgstr "nicht unterstütztes LDAP-URL-Schema: %s"
 
-#: libpq/hba.c:1663
-#, c-format
-msgid "filters not supported in LDAP URLs"
-msgstr "Filter in LDAP-URLs werden nicht unterstützt"
-
-#: libpq/hba.c:1672
+#: libpq/hba.c:1760
 #, c-format
 msgid "LDAP URLs not supported on this platform"
 msgstr "LDAP-URLs werden auf dieser Plattform nicht unterstützt"
 
-#: libpq/hba.c:1697
+#: libpq/hba.c:1778
+#, c-format
+msgid "invalid ldapscheme value: \"%s\""
+msgstr "ungültiger ldapscheme-Wert: »%s«"
+
+#: libpq/hba.c:1796
 #, c-format
 msgid "invalid LDAP port number: \"%s\""
 msgstr "ungültige LDAP-Portnummer: »%s«"
 
-#: libpq/hba.c:1738 libpq/hba.c:1745
+#: libpq/hba.c:1842 libpq/hba.c:1849
 msgid "gssapi and sspi"
 msgstr "gssapi und sspi"
 
-#: libpq/hba.c:1754 libpq/hba.c:1763
+#: libpq/hba.c:1858 libpq/hba.c:1867
 msgid "sspi"
 msgstr "sspi"
 
-#: libpq/hba.c:1807
+#: libpq/hba.c:1889
+#, c-format
+msgid "could not parse RADIUS server list \"%s\""
+msgstr "konnte RADIUS-Serverliste »%s« nicht parsen"
+
+#: libpq/hba.c:1937
+#, c-format
+msgid "could not parse RADIUS port list \"%s\""
+msgstr "konnte RADIUS-Portliste »%s« nicht parsen"
+
+#: libpq/hba.c:1951
 #, c-format
 msgid "invalid RADIUS port number: \"%s\""
 msgstr "ungültige RADIUS-Portnummer: »%s«"
 
-#: libpq/hba.c:1828
+#: libpq/hba.c:1973
+#, c-format
+msgid "could not parse RADIUS secret list \"%s\""
+msgstr "konnte RADIUS-Geheimnisliste »%s« nicht parsen"
+
+#: libpq/hba.c:1995
+#, c-format
+msgid "could not parse RADIUS identifiers list \"%s\""
+msgstr "konnte RADIUS-Bezeichnerliste »%s« nicht parsen"
+
+#: libpq/hba.c:2009
 #, c-format
 msgid "unrecognized authentication option name: \"%s\""
 msgstr "unbekannter Authentifizierungsoptionsname: »%s«"
 
-#: libpq/hba.c:2012
+#: libpq/hba.c:2193
 #, c-format
 msgid "configuration file \"%s\" contains no entries"
 msgstr "Konfigurationsdatei »%s« enthält keine Einträge"
 
-#: libpq/hba.c:2517
+#: libpq/hba.c:2703
 #, c-format
 msgid "invalid regular expression \"%s\": %s"
 msgstr "ungültiger regulärer Ausdruck »%s«: %s"
 
-#: libpq/hba.c:2577
+#: libpq/hba.c:2763
 #, c-format
 msgid "regular expression match for \"%s\" failed: %s"
 msgstr "Suche nach regulärem Ausdruck für »%s« fehlgeschlagen: %s"
 
-#: libpq/hba.c:2596
+#: libpq/hba.c:2782
 #, 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:2693
+#: libpq/hba.c:2879
 #, 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:2713
+#: libpq/hba.c:2899
 #, 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:2746
+#: libpq/hba.c:2932
 #, c-format
 msgid "could not open usermap file \"%s\": %m"
 msgstr "konnte Usermap-Datei »%s« nicht öffnen: %m"
 
-#: libpq/pqcomm.c:201
+#: libpq/pqcomm.c:220
 #, c-format
 msgid "could not set socket to nonblocking mode: %m"
 msgstr "konnte Socket nicht auf nicht-blockierenden Modus umstellen: %m"
 
-#: libpq/pqcomm.c:355
+#: libpq/pqcomm.c:374
 #, c-format
 msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)"
 msgstr "Unix-Domain-Socket-Pfad »%s« ist zu lang (maximal %d Bytes)"
 
-#: libpq/pqcomm.c:376
+#: libpq/pqcomm.c:395
 #, c-format
 msgid "could not translate host name \"%s\", service \"%s\" to address: %s"
 msgstr "konnte Hostname »%s«, Dienst »%s« nicht in Adresse übersetzen: %s"
 
-#: libpq/pqcomm.c:380
+#: libpq/pqcomm.c:399
 #, c-format
 msgid "could not translate service \"%s\" to address: %s"
 msgstr "konnte Dienst »%s« nicht in Adresse übersetzen: %s"
 
-#: libpq/pqcomm.c:407
+#: libpq/pqcomm.c:426
 #, c-format
 msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded"
 msgstr "konnte nicht an alle verlangten Adressen binden: MAXLISTEN (%d) überschritten"
 
-#: libpq/pqcomm.c:416
+#: libpq/pqcomm.c:435
 msgid "IPv4"
 msgstr "IPv4"
 
-#: libpq/pqcomm.c:420
+#: libpq/pqcomm.c:439
 msgid "IPv6"
 msgstr "IPv6"
 
-#: libpq/pqcomm.c:425
+#: libpq/pqcomm.c:444
 msgid "Unix"
 msgstr "Unix"
 
-#: libpq/pqcomm.c:430
+#: libpq/pqcomm.c:449
 #, c-format
 msgid "unrecognized address family %d"
 msgstr "unbekannte Adressfamilie %d"
 
 #. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:456
-#, fuzzy, c-format
-#| msgid "could not create listen socket for \"%s\""
+#: libpq/pqcomm.c:475
+#, c-format
 msgid "could not create %s socket for address \"%s\": %m"
-msgstr "konnte Listen-Socket für »%s« nicht erzeugen"
+msgstr "konnte %s-Socket für Adresse »%s« nicht erzeugen: %m"
 
 #. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:482
-#, fuzzy, c-format
-#| msgid "setsockopt(SO_REUSEADDR) failed: %m"
+#: libpq/pqcomm.c:501
+#, c-format
 msgid "setsockopt(SO_REUSEADDR) failed for %s address \"%s\": %m"
-msgstr "setsockopt(SO_REUSEADDR) fehlgeschlagen: %m"
+msgstr "setsockopt(SO_REUSEADDR) für %s-Adresse »%s« fehlgeschlagen: %m"
 
 #. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:499
-#, fuzzy, c-format
-#| msgid "setsockopt(IPV6_V6ONLY) failed: %m"
+#: libpq/pqcomm.c:518
+#, c-format
 msgid "setsockopt(IPV6_V6ONLY) failed for %s address \"%s\": %m"
-msgstr "setsockopt(IPV6_V6ONLY) fehlgeschlagen: %m"
+msgstr "setsockopt(IPV6_V6ONLY) für %s-Adresse »%s« fehlgeschlagen: %m"
 
 #. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:519
-#, fuzzy, c-format
-#| msgid "could not bind to local address \"%s\": %m"
+#: libpq/pqcomm.c:538
+#, c-format
 msgid "could not bind %s address \"%s\": %m"
-msgstr "konnte nicht mit lokaler Adresse »%s« verbinden: %m"
+msgstr "konnte %s-Adresse »%s« nicht binden: %m"
 
-#: libpq/pqcomm.c:522
+#: libpq/pqcomm.c:541
 #, c-format
 msgid "Is another postmaster already running on port %d? If not, remove socket file \"%s\" and retry."
 msgstr "Läuft bereits ein anderer Postmaster auf Port %d? Wenn nicht, entfernen Sie die Socketdatei »%s« und versuchen Sie erneut."
 
-#: libpq/pqcomm.c:525
+#: libpq/pqcomm.c:544
 #, c-format
 msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry."
 msgstr "Läuft bereits ein anderer Postmaster auf Port %d? Wenn nicht, warten Sie einige Sekunden und versuchen Sie erneut."
 
 #. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:558
-#, fuzzy, c-format
-#| msgid "could not bind to local address \"%s\": %m"
+#: libpq/pqcomm.c:577
+#, c-format
 msgid "could not listen on %s address \"%s\": %m"
-msgstr "konnte nicht mit lokaler Adresse »%s« verbinden: %m"
+msgstr "konnte nicht auf %s-Adresse »%s« hören: %m"
 
-#. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:566
-#, fuzzy, c-format
-#| msgid "invalid CIDR mask in address \"%s\""
-msgid "listening on %s address \"%s\""
-msgstr "ungültige CIDR-Maske in Adresse »%s«"
+#: libpq/pqcomm.c:586
+#, c-format
+msgid "listening on Unix socket \"%s\""
+msgstr "erwarte Verbindungen auf Unix-Socket »%s«"
+
+#. translator: first %s is IPv4 or IPv6
+#: libpq/pqcomm.c:592
+#, c-format
+msgid "listening on %s address \"%s\", port %d"
+msgstr "erwarte Verbindungen auf %s-Adresse »%s«, Port %d"
 
-#: libpq/pqcomm.c:649
+#: libpq/pqcomm.c:675
 #, c-format
 msgid "group \"%s\" does not exist"
 msgstr "Gruppe »%s« existiert nicht"
 
-#: libpq/pqcomm.c:659
+#: libpq/pqcomm.c:685
 #, c-format
 msgid "could not set group of file \"%s\": %m"
 msgstr "konnte Gruppe von Datei »%s« nicht setzen: %m"
 
-#: libpq/pqcomm.c:670
+#: libpq/pqcomm.c:696
 #, c-format
 msgid "could not set permissions of file \"%s\": %m"
 msgstr "konnte Zugriffsrechte von Datei »%s« nicht setzen: %m"
 
-#: libpq/pqcomm.c:700
+#: libpq/pqcomm.c:726
 #, c-format
 msgid "could not accept new connection: %m"
 msgstr "konnte neue Verbindung nicht akzeptieren: %m"
 
-#: libpq/pqcomm.c:901
+#: libpq/pqcomm.c:927
 #, c-format
 msgid "there is no client connection"
 msgstr "es besteht keine Client-Verbindung"
 
-#: libpq/pqcomm.c:952 libpq/pqcomm.c:1048
+#: libpq/pqcomm.c:978 libpq/pqcomm.c:1074
 #, c-format
 msgid "could not receive data from client: %m"
 msgstr "konnte Daten vom Client nicht empfangen: %m"
 
-#: libpq/pqcomm.c:1193 tcop/postgres.c:3907
+#: libpq/pqcomm.c:1219 tcop/postgres.c:3991
 #, c-format
 msgid "terminating connection because protocol synchronization was lost"
 msgstr "Verbindung wird abgebrochen, weil Protokollsynchronisierung verloren wurde"
 
-#: libpq/pqcomm.c:1259
+#: libpq/pqcomm.c:1285
 #, c-format
 msgid "unexpected EOF within message length word"
 msgstr "unerwartetes EOF im Message-Längenwort"
 
-#: libpq/pqcomm.c:1270
+#: libpq/pqcomm.c:1296
 #, c-format
 msgid "invalid message length"
 msgstr "ungültige Message-Länge"
 
-#: libpq/pqcomm.c:1292 libpq/pqcomm.c:1305
+#: libpq/pqcomm.c:1318 libpq/pqcomm.c:1331
 #, c-format
 msgid "incomplete message from client"
 msgstr "unvollständige Message vom Client"
 
-#: libpq/pqcomm.c:1438
+#: libpq/pqcomm.c:1464
 #, c-format
 msgid "could not send data to client: %m"
 msgstr "konnte Daten nicht an den Client senden: %m"
 
-#: libpq/pqformat.c:437
+#: libpq/pqformat.c:406
 #, c-format
 msgid "no data left in message"
 msgstr "keine Daten in Message übrig"
 
-#: libpq/pqformat.c:557 libpq/pqformat.c:575 libpq/pqformat.c:596
-#: utils/adt/arrayfuncs.c:1457 utils/adt/rowtypes.c:563
+#: libpq/pqformat.c:517 libpq/pqformat.c:535 libpq/pqformat.c:556
+#: utils/adt/arrayfuncs.c:1458 utils/adt/rowtypes.c:566
 #, c-format
 msgid "insufficient data left in message"
 msgstr "nicht genug Daten in Message übrig"
 
-#: libpq/pqformat.c:637 libpq/pqformat.c:666
+#: libpq/pqformat.c:597 libpq/pqformat.c:626
 #, c-format
 msgid "invalid string in message"
 msgstr "ungültige Zeichenkette in Message"
 
-#: libpq/pqformat.c:682
+#: libpq/pqformat.c:642
 #, c-format
 msgid "invalid message format"
 msgstr "ungültiges Message-Format"
@@ -13129,317 +14032,316 @@ msgstr "erweiterbarer Knotentyp »%s« existiert bereits"
 msgid "ExtensibleNodeMethods \"%s\" was not registered"
 msgstr "ExtensibleNodeMethods »%s« wurde nicht registriert"
 
-#: nodes/nodeFuncs.c:123 nodes/nodeFuncs.c:154 parser/parse_coerce.c:1844
-#: parser/parse_coerce.c:1872 parser/parse_coerce.c:1948
-#: parser/parse_expr.c:2089 parser/parse_func.c:598 parser/parse_oper.c:958
+#: nodes/nodeFuncs.c:123 nodes/nodeFuncs.c:154 parser/parse_coerce.c:1910
+#: parser/parse_coerce.c:1938 parser/parse_coerce.c:2014
+#: parser/parse_expr.c:2119 parser/parse_func.c:631 parser/parse_oper.c:967
 #, c-format
 msgid "could not find array type for data type %s"
 msgstr "konnte Arraytyp für Datentyp %s nicht finden"
 
-#: optimizer/path/joinrels.c:802
+#: optimizer/path/joinrels.c:837
 #, c-format
 msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions"
 msgstr "FULL JOIN wird nur für Merge- oder Hash-Verbund-fähige Verbundbedingungen unterstützt"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/initsplan.c:1200
+#: optimizer/plan/initsplan.c:1221
 #, c-format
 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:1480 parser/analyze.c:1619 parser/analyze.c:1816
-#: parser/analyze.c:2610
+#: optimizer/plan/planner.c:1757 parser/analyze.c:1625 parser/analyze.c:1822
+#: parser/analyze.c:2653
 #, c-format
 msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr "%s ist nicht in UNION/INTERSECT/EXCEPT erlaubt"
 
-#: optimizer/plan/planner.c:3854
+#: optimizer/plan/planner.c:2329 optimizer/plan/planner.c:4050
 #, c-format
 msgid "could not implement GROUP BY"
 msgstr "konnte GROUP BY nicht implementieren"
 
-#: optimizer/plan/planner.c:3855 optimizer/plan/planner.c:4257
-#: optimizer/prep/prepunion.c:928
+#: optimizer/plan/planner.c:2330 optimizer/plan/planner.c:4051
+#: optimizer/plan/planner.c:4795 optimizer/prep/prepunion.c:1074
 #, 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:4256
+#: optimizer/plan/planner.c:4794
 #, c-format
 msgid "could not implement DISTINCT"
 msgstr "konnte DISTINCT nicht implementieren"
 
-#: optimizer/plan/planner.c:4936
+#: optimizer/plan/planner.c:5479
 #, c-format
 msgid "could not implement window PARTITION BY"
 msgstr "konnte PARTITION BY für Fenster nicht implementieren"
 
-#: optimizer/plan/planner.c:4937
+#: optimizer/plan/planner.c:5480
 #, c-format
 msgid "Window partitioning columns must be of sortable datatypes."
 msgstr "Fensterpartitionierungsspalten müssen sortierbare Datentypen haben."
 
-#: optimizer/plan/planner.c:4941
+#: optimizer/plan/planner.c:5484
 #, c-format
 msgid "could not implement window ORDER BY"
 msgstr "konnte ORDER BY für Fenster nicht implementieren"
 
-#: optimizer/plan/planner.c:4942
+#: optimizer/plan/planner.c:5485
 #, c-format
 msgid "Window ordering columns must be of sortable datatypes."
 msgstr "Fenstersortierspalten müssen sortierbare Datentypen haben."
 
-#: optimizer/plan/setrefs.c:413
+#: optimizer/plan/setrefs.c:418
 #, c-format
 msgid "too many range table entries"
 msgstr "zu viele Range-Table-Einträge"
 
-#: optimizer/prep/prepunion.c:483
+#: optimizer/prep/prepunion.c:538
 #, c-format
 msgid "could not implement recursive UNION"
 msgstr "konnte rekursive UNION nicht implementieren"
 
-#: optimizer/prep/prepunion.c:484
+#: optimizer/prep/prepunion.c:539
 #, c-format
 msgid "All column datatypes must be hashable."
 msgstr "Alle Spaltendatentypen müssen hashbar sein."
 
 #. translator: %s is UNION, INTERSECT, or EXCEPT
-#: optimizer/prep/prepunion.c:927
+#: optimizer/prep/prepunion.c:1073
 #, c-format
 msgid "could not implement %s"
 msgstr "konnte %s nicht implementieren"
 
-#: optimizer/util/clauses.c:4634
+#: optimizer/util/clauses.c:4834
 #, c-format
 msgid "SQL function \"%s\" during inlining"
 msgstr "SQL-Funktion »%s« beim Inlining"
 
-#: optimizer/util/plancat.c:115
+#: optimizer/util/plancat.c:127
 #, 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:613
+#: optimizer/util/plancat.c:651
 #, 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:630
+#: optimizer/util/plancat.c:668
 #, 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:681
+#: optimizer/util/plancat.c:719
 #, c-format
 msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints"
 msgstr "ON CONFLICT DO UDPATE nicht unterstützt mit Exclusion-Constraints"
 
-#: optimizer/util/plancat.c:786
+#: optimizer/util/plancat.c:824
 #, 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:695 parser/analyze.c:1382
+#: parser/analyze.c:709 parser/analyze.c:1388
 #, 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:850
-#, fuzzy, c-format
-#| msgid "ON CONFLICT is not supported with system catalog tables"
-msgid "ON CONFLICT clause is not supported with partitioned tables"
-msgstr "ON CONFLICT wird nicht mit Systemkatalogtabellen unterstützt"
-
-#: parser/analyze.c:913
+#: parser/analyze.c:919
 #, c-format
 msgid "INSERT has more expressions than target columns"
 msgstr "INSERT hat mehr Ausdrücke als Zielspalten"
 
-#: parser/analyze.c:931
+#: parser/analyze.c:937
 #, c-format
 msgid "INSERT has more target columns than expressions"
 msgstr "INSERT hat mehr Zielspalten als Ausdrücke"
 
-#: parser/analyze.c:935
+#: parser/analyze.c:941
 #, 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:1195 parser/analyze.c:1592
+#: parser/analyze.c:1201 parser/analyze.c:1598
 #, 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:1524 parser/analyze.c:2789
+#: parser/analyze.c:1530 parser/analyze.c:2832
 #, c-format
 msgid "%s cannot be applied to VALUES"
 msgstr "%s kann nicht auf VALUES angewendet werden"
 
-#: parser/analyze.c:1743
+#: parser/analyze.c:1749
 #, c-format
 msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
 msgstr "ungültige ORDER-BY-Klausel mit UNION/INTERSECT/EXCEPT"
 
-#: parser/analyze.c:1744
+#: parser/analyze.c:1750
 #, 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:1745
+#: parser/analyze.c:1751
 #, 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:1806
+#: parser/analyze.c:1812
 #, 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:1878
+#: parser/analyze.c:1884
 #, 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:1967
+#: parser/analyze.c:1973
 #, 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:2360
+#: parser/analyze.c:2366
 #, c-format
 msgid "RETURNING must have at least one column"
 msgstr "RETURNING muss mindestens eine Spalte haben"
 
-#: parser/analyze.c:2401
+#: parser/analyze.c:2407
 #, c-format
 msgid "cannot specify both SCROLL and NO SCROLL"
 msgstr "SCROLL und NO SCROLL können nicht beide angegeben werden"
 
-#: parser/analyze.c:2420
+#: parser/analyze.c:2426
 #, 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:2428
+#: parser/analyze.c:2434
 #, c-format
 msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
 msgstr "DECLARE CURSOR WITH HOLD ... %s wird nicht unterstützt"
 
-#: parser/analyze.c:2431
+#: parser/analyze.c:2437
 #, 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:2439
+#: parser/analyze.c:2445
 #, 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:2450
+#: parser/analyze.c:2456
 #, c-format
 msgid "DECLARE INSENSITIVE CURSOR ... %s is not supported"
 msgstr "DECLARE INSENSITIVE CURSOR ... %s wird nicht unterstützt"
 
-#: parser/analyze.c:2453
+#: parser/analyze.c:2459
 #, c-format
 msgid "Insensitive cursors must be READ ONLY."
 msgstr "Insensitive Cursor müssen READ ONLY sein."
 
-#: parser/analyze.c:2519
+#: parser/analyze.c:2525
 #, 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:2529
+#: parser/analyze.c:2535
 #, 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:2539
+#: parser/analyze.c:2545
 #, 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:2551
+#: parser/analyze.c:2557
 #, c-format
 msgid "materialized views cannot be UNLOGGED"
 msgstr "materialisierte Sichten können nicht UNLOGGED sein"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2617
+#: parser/analyze.c:2660
 #, 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:2624
+#: parser/analyze.c:2667
 #, 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:2631
+#: parser/analyze.c:2674
 #, 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:2638
+#: parser/analyze.c:2681
 #, 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:2645
+#: parser/analyze.c:2688
 #, 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:2652
+#: parser/analyze.c:2695
 #, 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:2731
+#: parser/analyze.c:2774
 #, 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:2762
+#: parser/analyze.c:2805
 #, 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:2771
+#: parser/analyze.c:2814
 #, 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:2780
-#, fuzzy, c-format
-#| msgid "%s cannot be applied to a function"
+#: parser/analyze.c:2823
+#, c-format
 msgid "%s cannot be applied to a table function"
-msgstr "%s kann nicht auf eine Funktion angewendet werden"
+msgstr "%s kann nicht auf eine Tabellenfunktion angewendet werden"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:2798
+#: parser/analyze.c:2841
 #, 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:2815
+#: parser/analyze.c:2850
+#, 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:2867
 #, c-format
 msgid "relation \"%s\" in %s clause not found in FROM clause"
 msgstr "Relation »%s« in %s nicht in der FROM-Klausel gefunden"
@@ -13507,513 +14409,577 @@ msgstr "Aggregatfunktionen sind in der Fenster-ROWS-Klausel nicht erlaubt"
 msgid "grouping operations are not allowed in window ROWS"
 msgstr "Gruppieroperationen sind in der Fenster-ROWS-Klausel nicht erlaubt"
 
-#: parser/parse_agg.c:454
+#: parser/parse_agg.c:425
+#, fuzzy
+#| msgid "aggregate functions are not allowed in window ROWS"
+msgid "aggregate functions are not allowed in window GROUPS"
+msgstr "Aggregatfunktionen sind in der Fenster-ROWS-Klausel nicht erlaubt"
+
+#: parser/parse_agg.c:427
+#, fuzzy
+#| msgid "grouping operations are not allowed in window ROWS"
+msgid "grouping operations are not allowed in window GROUPS"
+msgstr "Gruppieroperationen sind in der Fenster-ROWS-Klausel nicht erlaubt"
+
+#: parser/parse_agg.c:461
 msgid "aggregate functions are not allowed in check constraints"
 msgstr "Aggregatfunktionen sind in Check-Constraints nicht erlaubt"
 
-#: parser/parse_agg.c:456
+#: parser/parse_agg.c:463
 msgid "grouping operations are not allowed in check constraints"
 msgstr "Gruppieroperationen sind in Check-Constraints nicht erlaubt"
 
-#: parser/parse_agg.c:463
+#: parser/parse_agg.c:470
 msgid "aggregate functions are not allowed in DEFAULT expressions"
 msgstr "Aggregatfunktionen sind in DEFAULT-Ausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:465
+#: parser/parse_agg.c:472
 msgid "grouping operations are not allowed in DEFAULT expressions"
 msgstr "Gruppieroperationen sind in DEFAULT-Ausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:470
+#: parser/parse_agg.c:477
 msgid "aggregate functions are not allowed in index expressions"
 msgstr "Aggregatfunktionen sind in Indexausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:472
+#: parser/parse_agg.c:479
 msgid "grouping operations are not allowed in index expressions"
 msgstr "Gruppieroperationen sind in Indexausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:477
+#: parser/parse_agg.c:484
 msgid "aggregate functions are not allowed in index predicates"
 msgstr "Aggregatfunktionen sind in Indexprädikaten nicht erlaubt"
 
-#: parser/parse_agg.c:479
+#: parser/parse_agg.c:486
 msgid "grouping operations are not allowed in index predicates"
 msgstr "Gruppieroperationen sind in Indexprädikaten nicht erlaubt"
 
-#: parser/parse_agg.c:484
+#: parser/parse_agg.c:491
 msgid "aggregate functions are not allowed in transform expressions"
 msgstr "Aggregatfunktionen sind in Umwandlungsausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:486
+#: parser/parse_agg.c:493
 msgid "grouping operations are not allowed in transform expressions"
 msgstr "Gruppieroperationen sind in Umwandlungsausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:491
+#: parser/parse_agg.c:498
 msgid "aggregate functions are not allowed in EXECUTE parameters"
 msgstr "Aggregatfunktionen sind in EXECUTE-Parametern nicht erlaubt"
 
-#: parser/parse_agg.c:493
+#: parser/parse_agg.c:500
 msgid "grouping operations are not allowed in EXECUTE parameters"
 msgstr "Gruppieroperationen sind in EXECUTE-Parametern nicht erlaubt"
 
-#: parser/parse_agg.c:498
+#: parser/parse_agg.c:505
 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:500
+#: parser/parse_agg.c:507
 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:505
-#, fuzzy
-#| msgid "aggregate functions are not allowed in index expressions"
-msgid "aggregate functions are not allowed in partition key expression"
-msgstr "Aggregatfunktionen sind in Indexausdrücken nicht erlaubt"
+#: parser/parse_agg.c:512
+msgid "aggregate functions are not allowed in partition key expressions"
+msgstr "Aggregatfunktionen sind in Partitionierungsschlüsselausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:507
-#, fuzzy
-#| msgid "grouping operations are not allowed in index expressions"
-msgid "grouping operations are not allowed in partition key expression"
-msgstr "Gruppieroperationen sind in Indexausdrücken nicht erlaubt"
+#: parser/parse_agg.c:514
+msgid "grouping operations are not allowed in partition key expressions"
+msgstr "Gruppieroperationen sind in Partitionierungsschlüsselausdrücken nicht erlaubt"
+
+#: parser/parse_agg.c:520
+msgid "aggregate functions are not allowed in CALL arguments"
+msgstr "Aggregatfunktionen sind in CALL-Argumenten nicht erlaubt"
+
+#: parser/parse_agg.c:522
+msgid "grouping operations are not allowed in CALL arguments"
+msgstr "Gruppieroperationen sind in CALL-Argumenten nicht erlaubt"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:530 parser/parse_clause.c:1767
+#: parser/parse_agg.c:545 parser/parse_clause.c:1817
 #, 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:533
+#: parser/parse_agg.c:548
 #, c-format
 msgid "grouping operations are not allowed in %s"
 msgstr "Gruppieroperationen sind in %s nicht erlaubt"
 
-#: parser/parse_agg.c:641
+#: parser/parse_agg.c:656
 #, c-format
 msgid "outer-level aggregate cannot contain a lower-level variable in its direct arguments"
 msgstr "Aggregatfunktion auf äußerer Ebene kann keine Variable einer unteren Ebene in ihren direkten Argumenten haben"
 
-#: parser/parse_agg.c:712
+#: parser/parse_agg.c:735
+#, c-format
+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:736 parser/parse_expr.c:1766 parser/parse_expr.c:2246
+#: parser/parse_func.c:802
+#, 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."
+
+#: parser/parse_agg.c:741
 #, c-format
 msgid "aggregate function calls cannot contain window function calls"
 msgstr "Aufrufe von Aggregatfunktionen können keine Aufrufe von Fensterfunktionen enthalten"
 
-#: parser/parse_agg.c:790
+#: parser/parse_agg.c:820
 msgid "window functions are not allowed in JOIN conditions"
 msgstr "Fensterfunktionen sind in JOIN-Bedingungen nicht erlaubt"
 
-#: parser/parse_agg.c:797
+#: parser/parse_agg.c:827
 msgid "window functions are not allowed in functions in FROM"
 msgstr "Fensterfunktionen sind in Funktionen in FROM nicht erlaubt"
 
-#: parser/parse_agg.c:803
+#: parser/parse_agg.c:833
 msgid "window functions are not allowed in policy expressions"
 msgstr "Fensterfunktionen sind in Policy-Ausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:815
+#: parser/parse_agg.c:846
 msgid "window functions are not allowed in window definitions"
 msgstr "Fensterfunktionen sind in Fensterdefinitionen nicht erlaubt"
 
-#: parser/parse_agg.c:847
+#: parser/parse_agg.c:878
 msgid "window functions are not allowed in check constraints"
 msgstr "Fensterfunktionen sind in Check-Constraints nicht erlaubt"
 
-#: parser/parse_agg.c:851
+#: parser/parse_agg.c:882
 msgid "window functions are not allowed in DEFAULT expressions"
 msgstr "Fensterfunktionen sind in DEFAULT-Ausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:854
+#: parser/parse_agg.c:885
 msgid "window functions are not allowed in index expressions"
 msgstr "Fensterfunktionen sind in Indexausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:857
+#: parser/parse_agg.c:888
 msgid "window functions are not allowed in index predicates"
 msgstr "Fensterfunktionen sind in Indexprädikaten nicht erlaubt"
 
-#: parser/parse_agg.c:860
+#: parser/parse_agg.c:891
 msgid "window functions are not allowed in transform expressions"
 msgstr "Fensterfunktionen sind in Umwandlungsausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:863
+#: parser/parse_agg.c:894
 msgid "window functions are not allowed in EXECUTE parameters"
 msgstr "Fensterfunktionen sind in EXECUTE-Parametern nicht erlaubt"
 
-#: parser/parse_agg.c:866
+#: parser/parse_agg.c:897
 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:869
-#, fuzzy
-#| msgid "window functions are not allowed in index expressions"
-msgid "window functions are not allowed in partition key expression"
-msgstr "Fensterfunktionen sind in Indexausdrücken nicht erlaubt"
+#: parser/parse_agg.c:900
+msgid "window functions are not allowed in partition key expressions"
+msgstr "Fensterfunktionen sind in Partitionierungsschlüsselausdrücken nicht erlaubt"
+
+#: parser/parse_agg.c:903
+msgid "window functions are not allowed in CALL arguments"
+msgstr "Fensterfunktionen sind in CALL-Argumenten nicht erlaubt"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:889 parser/parse_clause.c:1776
+#: parser/parse_agg.c:923 parser/parse_clause.c:1826
 #, c-format
 msgid "window functions are not allowed in %s"
 msgstr "Fensterfunktionen sind in %s nicht erlaubt"
 
-#: parser/parse_agg.c:923 parser/parse_clause.c:2610
+#: parser/parse_agg.c:957 parser/parse_clause.c:2662
 #, c-format
 msgid "window \"%s\" does not exist"
 msgstr "Fenster »%s« existiert nicht"
 
-#: parser/parse_agg.c:1008
+#: parser/parse_agg.c:1042
 #, c-format
 msgid "too many grouping sets present (maximum 4096)"
 msgstr "zu viele Grouping-Sets vorhanden (maximal 4096)"
 
-#: parser/parse_agg.c:1157
+#: parser/parse_agg.c:1191
 #, 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:1350
+#: parser/parse_agg.c:1384
 #, 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:1353
+#: parser/parse_agg.c:1387
 #, 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:1358
+#: parser/parse_agg.c:1392
 #, 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:1522
+#: parser/parse_agg.c:1556
 #, 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"
 
-#: parser/parse_clause.c:626
+#: parser/parse_clause.c:199
+#, c-format
+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:615 parser/parse_clause.c:643 parser/parse_func.c:2220
+#, 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:655
 #, 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:659
+#: parser/parse_clause.c:688
 #, 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:660
+#: parser/parse_clause.c:689
 #, 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:666
+#: parser/parse_clause.c:695
 #, 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:667
+#: parser/parse_clause.c:696
 #, 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:674
+#: parser/parse_clause.c:703
 #, 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:675
+#: parser/parse_clause.c:704
 #, 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:779
+#: parser/parse_clause.c:807
 #, c-format
 msgid "only one FOR ORDINALITY column is allowed"
-msgstr ""
+msgstr "nur eine FOR-ORDINALITY-Spalte ist erlaubt"
 
-#: parser/parse_clause.c:840
+#: parser/parse_clause.c:868
 #, c-format
 msgid "column name \"%s\" is not unique"
 msgstr "Spaltenname »%s« ist nicht eindeutig"
 
-#: parser/parse_clause.c:882
-#, fuzzy, c-format
-#| msgid "function %s is not unique"
+#: parser/parse_clause.c:910
+#, c-format
 msgid "namespace name \"%s\" is not unique"
-msgstr "Funktion %s ist nicht eindeutig"
+msgstr "Namensraumname »%s« ist nicht eindeutig"
 
-#: parser/parse_clause.c:892
+#: parser/parse_clause.c:920
 #, c-format
 msgid "only one default namespace is allowed"
-msgstr ""
+msgstr "nur ein Standardnamensraum ist erlaubt"
 
-#: parser/parse_clause.c:953
+#: parser/parse_clause.c:981
 #, c-format
 msgid "tablesample method %s does not exist"
 msgstr "Tablesample-Methode %s existiert nicht"
 
-#: parser/parse_clause.c:975
+#: parser/parse_clause.c:1003
 #, 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:1009
+#: parser/parse_clause.c:1037
 #, c-format
 msgid "tablesample method %s does not support REPEATABLE"
 msgstr "Tablesample-Methode %s unterstützt REPEATABLE nicht"
 
-#: parser/parse_clause.c:1157
+#: parser/parse_clause.c:1207
 #, 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:1327
+#: parser/parse_clause.c:1377
 #, 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:1342
+#: parser/parse_clause.c:1392
 #, 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:1351
+#: parser/parse_clause.c:1401
 #, 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:1365
+#: parser/parse_clause.c:1415
 #, 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:1374
+#: parser/parse_clause.c:1424
 #, 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:1428
+#: parser/parse_clause.c:1478
 #, c-format
 msgid "column alias list for \"%s\" has too many entries"
 msgstr "Spaltenaliasliste für »%s« hat zu viele Einträge"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1737
+#: parser/parse_clause.c:1787
 #, 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:1902
+#: parser/parse_clause.c:1952
 #, 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:1931
+#: parser/parse_clause.c:1981
 #, 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:1953
+#: parser/parse_clause.c:2003
 #, 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:2394
+#: parser/parse_clause.c:2444
 #, c-format
 msgid "CUBE is limited to 12 elements"
 msgstr "CUBE ist auf 12 Elemente begrenzt"
 
-#: parser/parse_clause.c:2598
+#: parser/parse_clause.c:2650
 #, c-format
 msgid "window \"%s\" is already defined"
 msgstr "Fenster »%s« ist bereits definiert"
 
-#: parser/parse_clause.c:2659
+#: parser/parse_clause.c:2711
 #, 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:2671
+#: parser/parse_clause.c:2723
 #, 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:2701 parser/parse_clause.c:2707
+#: parser/parse_clause.c:2753 parser/parse_clause.c:2759
 #, 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:2709
+#: parser/parse_clause.c:2761
 #, c-format
 msgid "Omit the parentheses in this OVER clause."
 msgstr "Lassen Sie die Klammern in dieser OVER-Klausel weg."
 
-#: parser/parse_clause.c:2775
+#: parser/parse_clause.c:2781
+#, c-format
+msgid "RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column"
+msgstr ""
+
+#: parser/parse_clause.c:2864
 #, 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:2776
+#: parser/parse_clause.c:2865
 #, 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:2808
+#: parser/parse_clause.c:2897
 #, 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:2809
+#: parser/parse_clause.c:2898
 #, c-format
 msgid "SELECT DISTINCT must have at least one column"
 msgstr "SELECT DISTINCT muss mindestens eine Spalte haben"
 
-#: parser/parse_clause.c:2875 parser/parse_clause.c:2907
+#: parser/parse_clause.c:2964 parser/parse_clause.c:2996
 #, 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:2985
+#: parser/parse_clause.c:3074
 #, 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:2991
+#: parser/parse_clause.c:3080
 #, 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:3071
+#: parser/parse_clause.c:3159
 #, 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:3072
+#: parser/parse_clause.c:3160
 #, c-format
 msgid "For example, ON CONFLICT (column_name)."
 msgstr "Zum Bespiel ON CONFLICT (Spaltenname)."
 
-#: parser/parse_clause.c:3083
+#: parser/parse_clause.c:3171
 #, 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:3091
+#: parser/parse_clause.c:3179
 #, 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:3217
+#: parser/parse_clause.c:3322
 #, c-format
 msgid "operator %s is not a valid ordering operator"
 msgstr "Operator %s ist kein gültiger Sortieroperator"
 
-#: parser/parse_clause.c:3219
+#: parser/parse_clause.c:3324
 #, 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_coerce.c:971 parser/parse_coerce.c:1001
-#: parser/parse_coerce.c:1019 parser/parse_coerce.c:1034
-#: parser/parse_expr.c:2123 parser/parse_expr.c:2699 parser/parse_target.c:935
+#: parser/parse_clause.c:3635
+#, c-format
+msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s"
+msgstr ""
+
+#: parser/parse_clause.c:3641
+#, c-format
+msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s and offset type %s"
+msgstr ""
+
+#: parser/parse_clause.c:3644
+#, c-format
+msgid "Cast the offset value to an appropriate type."
+msgstr ""
+
+#: parser/parse_clause.c:3649
+#, c-format
+msgid "RANGE with offset PRECEDING/FOLLOWING has multiple interpretations for column type %s and offset type %s"
+msgstr ""
+
+#: parser/parse_clause.c:3652
+#, c-format
+msgid "Cast the offset value to the exact intended type."
+msgstr ""
+
+#: parser/parse_coerce.c:1017 parser/parse_coerce.c:1055
+#: parser/parse_coerce.c:1073 parser/parse_coerce.c:1088
+#: parser/parse_expr.c:2153 parser/parse_expr.c:2741 parser/parse_target.c:955
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "kann Typ %s nicht in Typ %s umwandeln"
 
-#: parser/parse_coerce.c:1004
+#: parser/parse_coerce.c:1058
 #, c-format
 msgid "Input has too few columns."
 msgstr "Eingabe hat zu wenige Spalten."
 
-#: parser/parse_coerce.c:1022
+#: parser/parse_coerce.c:1076
 #, 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:1037
+#: parser/parse_coerce.c:1091
 #, 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:1080 parser/parse_coerce.c:1128
+#: parser/parse_coerce.c:1146 parser/parse_coerce.c:1194
 #, 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:1091 parser/parse_coerce.c:1140
+#: parser/parse_coerce.c:1157 parser/parse_coerce.c:1206
 #, 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:1280
+#: parser/parse_coerce.c:1346
 #, c-format
 msgid "%s types %s and %s cannot be matched"
 msgstr "%s-Typen %s und %s passen nicht zusammen"
 
 #. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:1347
+#: parser/parse_coerce.c:1413
 #, c-format
 msgid "%s could not convert type %s to %s"
 msgstr "%s konnte Typ %s nicht in %s umwandeln"
 
-#: parser/parse_coerce.c:1649
+#: parser/parse_coerce.c:1715
 #, c-format
 msgid "arguments declared \"anyelement\" are not all alike"
 msgstr "als »anyelement« deklariert Argumente sind nicht alle gleich"
 
-#: parser/parse_coerce.c:1669
+#: parser/parse_coerce.c:1735
 #, c-format
 msgid "arguments declared \"anyarray\" are not all alike"
 msgstr "als »anyarray« deklarierte Argumente sind nicht alle gleich"
 
-#: parser/parse_coerce.c:1689
+#: parser/parse_coerce.c:1755
 #, c-format
 msgid "arguments declared \"anyrange\" are not all alike"
 msgstr "als »anyrange« deklarierte Argumente sind nicht alle gleich"
 
-#: parser/parse_coerce.c:1718 parser/parse_coerce.c:1933
-#: parser/parse_coerce.c:1967
-#, fuzzy, c-format
-#| msgid "argument declared \"anyarray\" is not an array but type %s"
+#: parser/parse_coerce.c:1784 parser/parse_coerce.c:1999
+#: parser/parse_coerce.c:2033
+#, c-format
 msgid "argument declared %s is not an array but type %s"
-msgstr "als »anyarray« deklariertes Argument ist kein Array sondern Typ %s"
+msgstr "als %s deklariertes Argument ist kein Array sondern Typ %s"
 
-#: parser/parse_coerce.c:1734 parser/parse_coerce.c:1773
-#, fuzzy, c-format
-#| msgid "argument declared \"anyarray\" is not consistent with argument declared \"anyelement\""
+#: parser/parse_coerce.c:1800 parser/parse_coerce.c:1839
+#, c-format
 msgid "argument declared %s is not consistent with argument declared %s"
-msgstr "als »anyarray« deklariertes Argument ist nicht mit als »anyelement« deklariertem Argument konsistent"
+msgstr "als %s deklariertes Argument ist nicht mit als %s deklariertem Argument konsistent"
 
-#: parser/parse_coerce.c:1756 parser/parse_coerce.c:1980
-#, fuzzy, c-format
-#| msgid "argument declared \"anyrange\" is not a range type but type %s"
+#: parser/parse_coerce.c:1822 parser/parse_coerce.c:2046
+#, c-format
 msgid "argument declared %s is not a range type but type %s"
-msgstr "als »anyrange« deklariertes Argument ist kein Bereichstyp sondern Typ %s"
+msgstr "als %s deklariertes Argument ist kein Bereichstyp sondern Typ %s"
 
-#: parser/parse_coerce.c:1794
-#, fuzzy, c-format
-#| msgid "could not determine polymorphic type because input has type \"unknown\""
+#: parser/parse_coerce.c:1860
+#, c-format
 msgid "could not determine polymorphic type because input has type %s"
-msgstr "konnte polymorphischen Typ nicht bestimmen, weil Eingabe Typ »unknown« hat"
+msgstr "konnte polymorphischen Typ nicht bestimmen, weil Eingabe Typ %s hat"
 
-#: parser/parse_coerce.c:1805
+#: parser/parse_coerce.c:1871
 #, 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:1815
+#: parser/parse_coerce.c:1881
 #, 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:1855 parser/parse_coerce.c:1885
+#: parser/parse_coerce.c:1921 parser/parse_coerce.c:1951
 #, c-format
 msgid "could not find range type for data type %s"
 msgstr "konnte Bereichstyp für Datentyp %s nicht finden"
@@ -14135,444 +15101,493 @@ 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:357
-#, fuzzy, c-format
-#| msgid "null array element not allowed in this context"
+#: parser/parse_expr.c:350
+#, c-format
 msgid "DEFAULT is not allowed in this context"
-msgstr "NULL-Werte im Array sind in diesem Zusammenhang nicht erlaubt"
+msgstr "DEFAULT ist in diesem Zusammenhang nicht erlaubt"
 
-#: parser/parse_expr.c:410 parser/parse_relation.c:3110
-#: parser/parse_relation.c:3130
+#: parser/parse_expr.c:403 parser/parse_relation.c:3287
+#: parser/parse_relation.c:3307
 #, c-format
 msgid "column %s.%s does not exist"
 msgstr "Spalte %s.%s existiert nicht"
 
-#: parser/parse_expr.c:422
+#: parser/parse_expr.c:415
 #, c-format
 msgid "column \"%s\" not found in data type %s"
 msgstr "Spalte »%s« nicht gefunden im Datentyp %s"
 
-#: parser/parse_expr.c:428
+#: parser/parse_expr.c:421
 #, 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:434
+#: parser/parse_expr.c:427
 #, 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:464 parser/parse_target.c:721
+#: parser/parse_expr.c:458 parser/parse_target.c:722
 #, c-format
 msgid "row expansion via \"*\" is not supported here"
 msgstr "Zeilenexpansion mit »*« wird hier nicht unterstützt"
 
-#: parser/parse_expr.c:769 parser/parse_relation.c:668
-#: parser/parse_relation.c:768 parser/parse_target.c:1170
+#: parser/parse_expr.c:771 parser/parse_relation.c:689
+#: parser/parse_relation.c:789 parser/parse_target.c:1193
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "Spaltenverweis »%s« ist nicht eindeutig"
 
-#: parser/parse_expr.c:825 parser/parse_param.c:110 parser/parse_param.c:142
+#: parser/parse_expr.c:827 parser/parse_param.c:110 parser/parse_param.c:142
 #: parser/parse_param.c:199 parser/parse_param.c:298
 #, c-format
 msgid "there is no parameter $%d"
 msgstr "es gibt keinen Parameter $%d"
 
-#: parser/parse_expr.c:1064
+#: parser/parse_expr.c:1070
 #, c-format
 msgid "NULLIF requires = operator to yield boolean"
 msgstr "NULLIF erfordert, dass Operator = boolean ergibt"
 
-#: parser/parse_expr.c:1508 parser/parse_expr.c:1540
+#. translator: %s is name of a SQL construct, eg NULLIF
+#: parser/parse_expr.c:1076 parser/parse_expr.c:3057
+#, c-format
+msgid "%s must not return a set"
+msgstr "%s darf keine Ergebnismenge zurückgeben"
+
+#: parser/parse_expr.c:1524 parser/parse_expr.c:1556
 #, 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:1554
+#: parser/parse_expr.c:1570
 #, c-format
 msgid "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression"
-msgstr ""
+msgstr "die Quelle für ein UPDATE-Element mit mehreren Spalten muss ein Sub-SELECT oder ein ROW()-Ausdruck sein"
 
-#: parser/parse_expr.c:1798
+#. translator: %s is name of a SQL construct, eg GROUP BY
+#: parser/parse_expr.c:1764 parser/parse_expr.c:2244 parser/parse_func.c:2327
+#, c-format
+msgid "set-returning functions are not allowed in %s"
+msgstr "Funktionen mit Ergebnismenge sind in %s nicht erlaubt"
+
+#: parser/parse_expr.c:1825
 msgid "cannot use subquery in check constraint"
 msgstr "Unteranfragen können nicht in Check-Constraints verwendet werden"
 
-#: parser/parse_expr.c:1802
+#: parser/parse_expr.c:1829
 msgid "cannot use subquery in DEFAULT expression"
 msgstr "Unteranfragen können nicht in DEFAULT-Ausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1805
+#: parser/parse_expr.c:1832
 msgid "cannot use subquery in index expression"
 msgstr "Unteranfragen können nicht in Indexausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1808
+#: parser/parse_expr.c:1835
 msgid "cannot use subquery in index predicate"
 msgstr "Unteranfragen können nicht im Indexprädikat verwendet werden"
 
-#: parser/parse_expr.c:1811
+#: parser/parse_expr.c:1838
 msgid "cannot use subquery in transform expression"
 msgstr "Unteranfragen können in Umwandlungsausdrücken nicht verwendet werden"
 
-#: parser/parse_expr.c:1814
+#: parser/parse_expr.c:1841
 msgid "cannot use subquery in EXECUTE parameter"
 msgstr "Unteranfragen können nicht in EXECUTE-Parameter verwendet werden"
 
-#: parser/parse_expr.c:1817
+#: parser/parse_expr.c:1844
 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:1820
-#, fuzzy
-#| msgid "cannot use subquery in index expression"
+#: parser/parse_expr.c:1847
 msgid "cannot use subquery in partition key expression"
-msgstr "Unteranfragen können nicht in Indexausdrücken verwendet werden"
+msgstr "Unteranfragen können nicht in Partitionierungsschlüsselausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1873
+#: parser/parse_expr.c:1850
+msgid "cannot use subquery in CALL argument"
+msgstr "Unteranfragen können nicht in CALL-Argument verwendet werden"
+
+#: parser/parse_expr.c:1903
 #, c-format
 msgid "subquery must return only one column"
 msgstr "Unteranfrage darf nur eine Spalte zurückgeben"
 
-#: parser/parse_expr.c:1957
+#: parser/parse_expr.c:1987
 #, c-format
 msgid "subquery has too many columns"
 msgstr "Unteranfrage hat zu viele Spalten"
 
-#: parser/parse_expr.c:1962
+#: parser/parse_expr.c:1992
 #, c-format
 msgid "subquery has too few columns"
 msgstr "Unteranfrage hat zu wenige Spalten"
 
-#: parser/parse_expr.c:2063
+#: parser/parse_expr.c:2093
 #, c-format
 msgid "cannot determine type of empty array"
 msgstr "kann Typ eines leeren Arrays nicht bestimmen"
 
-#: parser/parse_expr.c:2064
+#: parser/parse_expr.c:2094
 #, 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:2078
+#: parser/parse_expr.c:2108
 #, 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:2353
+#: parser/parse_expr.c:2395
 #, c-format
 msgid "unnamed XML attribute value must be a column reference"
 msgstr "unbenannter XML-Attributwert muss ein Spaltenverweis sein"
 
-#: parser/parse_expr.c:2354
+#: parser/parse_expr.c:2396
 #, c-format
 msgid "unnamed XML element value must be a column reference"
 msgstr "unbenannter XML-Elementwert muss ein Spaltenverweis sein"
 
-#: parser/parse_expr.c:2369
+#: parser/parse_expr.c:2411
 #, c-format
 msgid "XML attribute name \"%s\" appears more than once"
 msgstr "XML-Attributname »%s« einscheint mehrmals"
 
-#: parser/parse_expr.c:2476
+#: parser/parse_expr.c:2518
 #, c-format
 msgid "cannot cast XMLSERIALIZE result to %s"
 msgstr "kann das Ergebnis von XMLSERIALIZE nicht in Typ %s umwandeln"
 
-#: parser/parse_expr.c:2772 parser/parse_expr.c:2967
+#: parser/parse_expr.c:2814 parser/parse_expr.c:3010
 #, c-format
 msgid "unequal number of entries in row expressions"
 msgstr "ungleiche Anzahl Einträge in Zeilenausdrücken"
 
-#: parser/parse_expr.c:2782
+#: parser/parse_expr.c:2824
 #, c-format
 msgid "cannot compare rows of zero length"
 msgstr "kann Zeilen mit Länge null nicht vergleichen"
 
-#: parser/parse_expr.c:2806
+#: parser/parse_expr.c:2849
 #, 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:2813
+#: parser/parse_expr.c:2856
 #, c-format
 msgid "row comparison operator must not return a set"
 msgstr "Zeilenvergleichsoperator darf keine Ergebnismenge zurückgeben"
 
-#: parser/parse_expr.c:2872 parser/parse_expr.c:2913
+#: parser/parse_expr.c:2915 parser/parse_expr.c:2956
 #, c-format
 msgid "could not determine interpretation of row comparison operator %s"
 msgstr "konnte Interpretation des Zeilenvergleichsoperators %s nicht bestimmen"
 
-#: parser/parse_expr.c:2874
+#: parser/parse_expr.c:2917
 #, 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:2915
+#: parser/parse_expr.c:2958
 #, c-format
 msgid "There are multiple equally-plausible candidates."
 msgstr "Es gibt mehrere gleichermaßen plausible Kandidaten."
 
-#: parser/parse_expr.c:3007
+#: parser/parse_expr.c:3051
 #, c-format
 msgid "IS DISTINCT FROM requires = operator to yield boolean"
 msgstr "IS DISTINCT FROM erfordert, dass Operator = boolean ergibt"
 
-#: parser/parse_expr.c:3320 parser/parse_expr.c:3338
+#: parser/parse_expr.c:3370 parser/parse_expr.c:3388
 #, c-format
 msgid "operator precedence change: %s is now lower precedence than %s"
 msgstr "Änderung der Operatorrangfolge: %s hat jetzt niedrigere Priorität als %s"
 
-#: parser/parse_func.c:175
+#: parser/parse_func.c:179
 #, c-format
 msgid "argument name \"%s\" used more than once"
 msgstr "Argumentname »%s« mehrmals angegeben"
 
-#: parser/parse_func.c:186
+#: parser/parse_func.c:190
 #, c-format
 msgid "positional argument cannot follow named argument"
 msgstr "Positionsargument kann nicht hinter benanntem Argument stehen"
 
-#: parser/parse_func.c:271
+#: parser/parse_func.c:275
 #, c-format
 msgid "%s(*) specified, but %s is not an aggregate function"
 msgstr "%s(*) angegeben, aber %s ist keine Aggregatfunktion"
 
-#: parser/parse_func.c:278
+#: parser/parse_func.c:282
 #, 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:284
+#: parser/parse_func.c:288
 #, 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:290
+#: parser/parse_func.c:294
 #, 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:296
+#: parser/parse_func.c:300
 #, 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:302
+#: parser/parse_func.c:306
+#, 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:313 parser/parse_func.c:342 parser/parse_func.c:2120
+#, c-format
+msgid "%s is not a procedure"
+msgstr "%s ist keine Prozedur"
+
+#: parser/parse_func.c:317
+#, c-format
+msgid "To call a function, use SELECT."
+msgstr "Um eine Funktion aufzurufen, verwenden Sie SELECT."
+
+#: parser/parse_func.c:323
+#, c-format
+msgid "%s is a procedure"
+msgstr "%s ist eine Prozedur"
+
+#: parser/parse_func.c:327
 #, 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"
+msgid "To call a procedure, use CALL."
+msgstr "Um eine Prozedur aufzurufen, verwenden Sie CALL."
 
-#: parser/parse_func.c:332
+#: parser/parse_func.c:365
 #, 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:338
+#: parser/parse_func.c:371
 #, 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:369 parser/parse_func.c:398
+#: parser/parse_func.c:402 parser/parse_func.c:431
 #, c-format
 msgid "There is an ordered-set aggregate %s, but it requires %d direct arguments, not %d."
 msgstr "Es gibt eine Ordered-Set-Aggregatfunktion %s, aber sie benötigt %d direkte Argumente, nicht %d."
 
-#: parser/parse_func.c:423
+#: parser/parse_func.c:456
 #, 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:437
+#: parser/parse_func.c:470
 #, c-format
 msgid "There is an ordered-set aggregate %s, but it requires at least %d direct arguments."
 msgstr "Es gibt eine Ordered-Set-Aggregatfunktion %s, aber sie benötigt mindestens %d direkte Argumente."
 
-#: parser/parse_func.c:456
+#: parser/parse_func.c:489
 #, 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:469
+#: parser/parse_func.c:502
 #, c-format
 msgid "window function %s requires an OVER clause"
 msgstr "Fensterfunktion %s erfordert eine OVER-Klausel"
 
-#: parser/parse_func.c:476
+#: parser/parse_func.c:509
 #, c-format
 msgid "window function %s cannot have WITHIN GROUP"
 msgstr "Fensterfunktion %s kann kein WITHIN GROUP haben"
 
-#: parser/parse_func.c:497
+#: parser/parse_func.c:530
 #, c-format
 msgid "function %s is not unique"
 msgstr "Funktion %s ist nicht eindeutig"
 
-#: parser/parse_func.c:500
+#: parser/parse_func.c:533
 #, 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:511
+#: parser/parse_func.c:544
 #, 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:522
+#: parser/parse_func.c:555
 #, 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:624
+#: parser/parse_func.c:657
 #, c-format
 msgid "VARIADIC argument must be an array"
 msgstr "VARIADIC-Argument muss ein Array sein"
 
-#: parser/parse_func.c:676 parser/parse_func.c:740
+#: parser/parse_func.c:709 parser/parse_func.c:773
 #, 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:683
+#: parser/parse_func.c:716
 #, c-format
 msgid "aggregates cannot return sets"
 msgstr "Aggregatfunktionen können keine Ergebnismengen zurückgeben"
 
-#: parser/parse_func.c:698
+#: parser/parse_func.c:731
 #, c-format
 msgid "aggregates cannot use named arguments"
 msgstr "Aggregatfunktionen können keine benannten Argumente verwenden"
 
-#: parser/parse_func.c:730
+#: parser/parse_func.c:763
 #, c-format
 msgid "DISTINCT is not implemented for window functions"
 msgstr "DISTINCT ist für Fensterfunktionen nicht implementiert"
 
-#: parser/parse_func.c:750
+#: parser/parse_func.c:783
 #, 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:759
+#: parser/parse_func.c:792
 #, 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:765
+#: parser/parse_func.c:801
+#, 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:809
 #, c-format
 msgid "window functions cannot return sets"
 msgstr "Fensterfunktionen können keine Ergebnismengen zurückgeben"
 
-#: parser/parse_func.c:2014
+#: parser/parse_func.c:1995
+#, c-format
+msgid "function name \"%s\" is not unique"
+msgstr "Funktionsname »%s« ist nicht eindeutig"
+
+#: parser/parse_func.c:1997
+#, 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:2007
+#, c-format
+msgid "could not find a function named \"%s\""
+msgstr "konnte keine Funktion namens »%s« finden"
+
+#: parser/parse_func.c:2089
+#, c-format
+msgid "%s is not a function"
+msgstr "%s ist keine Funktion"
+
+#: parser/parse_func.c:2103
+#, c-format
+msgid "could not find a procedure named \"%s\""
+msgstr "konnte keine Prozedur namens »%s« finden"
+
+#: parser/parse_func.c:2108
+#, c-format
+msgid "procedure %s does not exist"
+msgstr "Prozedur %s existiert nicht"
+
+#: parser/parse_func.c:2134
+#, fuzzy, c-format
+#| msgid "could not find a function named \"%s\""
+msgid "could not find a aggregate named \"%s\""
+msgstr "konnte keine Funktion namens »%s« finden"
+
+#: parser/parse_func.c:2139
 #, c-format
 msgid "aggregate %s(*) does not exist"
 msgstr "Aggregatfunktion %s(*) existiert nicht"
 
-#: parser/parse_func.c:2019
+#: parser/parse_func.c:2144
 #, c-format
 msgid "aggregate %s does not exist"
 msgstr "Aggregatfunktion %s existiert nicht"
 
-#: parser/parse_func.c:2038
+#: parser/parse_func.c:2157
 #, c-format
 msgid "function %s is not an aggregate"
 msgstr "Funktion %s ist keine Aggregatfunktion"
 
-#: parser/parse_func.c:2086
-#, fuzzy
-#| msgid "window functions are not allowed in JOIN conditions"
+#: parser/parse_func.c:2207
 msgid "set-returning functions are not allowed in JOIN conditions"
-msgstr "Fensterfunktionen sind in JOIN-Bedingungen nicht erlaubt"
+msgstr "Funktionen mit Ergebnismenge sind in JOIN-Bedingungen nicht erlaubt"
 
-#: parser/parse_func.c:2099
-#, fuzzy
-#| msgid "window functions are not allowed in policy expressions"
+#: parser/parse_func.c:2228
 msgid "set-returning functions are not allowed in policy expressions"
-msgstr "Fensterfunktionen sind in Policy-Ausdrücken nicht erlaubt"
+msgstr "Funktionen mit Ergebnismenge sind in Policy-Ausdrücken nicht erlaubt"
 
-#: parser/parse_func.c:2114
-#, fuzzy
-#| msgid "window functions are not allowed in window definitions"
+#: parser/parse_func.c:2244
 msgid "set-returning functions are not allowed in window definitions"
-msgstr "Fensterfunktionen sind in Fensterdefinitionen nicht erlaubt"
+msgstr "Funktionen mit Ergebnismenge sind in Fensterdefinitionen nicht erlaubt"
 
-#: parser/parse_func.c:2152
-#, fuzzy
-#| msgid "window functions are not allowed in check constraints"
+#: parser/parse_func.c:2282
 msgid "set-returning functions are not allowed in check constraints"
-msgstr "Fensterfunktionen sind in Check-Constraints nicht erlaubt"
+msgstr "Funktionen mit Ergebnismenge sind in Check-Constraints nicht erlaubt"
 
-#: parser/parse_func.c:2156
-#, fuzzy
-#| msgid "window functions are not allowed in DEFAULT expressions"
+#: parser/parse_func.c:2286
 msgid "set-returning functions are not allowed in DEFAULT expressions"
-msgstr "Fensterfunktionen sind in DEFAULT-Ausdrücken nicht erlaubt"
+msgstr "Funktionen mit Ergebnismenge sind in DEFAULT-Ausdrücken nicht erlaubt"
 
-#: parser/parse_func.c:2159
-#, fuzzy
-#| msgid "window functions are not allowed in index expressions"
+#: parser/parse_func.c:2289
 msgid "set-returning functions are not allowed in index expressions"
-msgstr "Fensterfunktionen sind in Indexausdrücken nicht erlaubt"
+msgstr "Funktionen mit Ergebnismenge sind in Indexausdrücken nicht erlaubt"
 
-#: parser/parse_func.c:2162
-#, fuzzy
-#| msgid "window functions are not allowed in index predicates"
+#: parser/parse_func.c:2292
 msgid "set-returning functions are not allowed in index predicates"
-msgstr "Fensterfunktionen sind in Indexprädikaten nicht erlaubt"
+msgstr "Funktionen mit Ergebnismenge sind in Indexprädikaten nicht erlaubt"
 
-#: parser/parse_func.c:2165
-#, fuzzy
-#| msgid "window functions are not allowed in transform expressions"
+#: parser/parse_func.c:2295
 msgid "set-returning functions are not allowed in transform expressions"
-msgstr "Fensterfunktionen sind in Umwandlungsausdrücken nicht erlaubt"
+msgstr "Funktionen mit Ergebnismenge sind in Umwandlungsausdrücken nicht erlaubt"
 
-#: parser/parse_func.c:2168
-#, fuzzy
-#| msgid "window functions are not allowed in EXECUTE parameters"
+#: parser/parse_func.c:2298
 msgid "set-returning functions are not allowed in EXECUTE parameters"
-msgstr "Fensterfunktionen sind in EXECUTE-Parametern nicht erlaubt"
+msgstr "Funktionen mit Ergebnismenge sind in EXECUTE-Parametern nicht erlaubt"
 
-#: parser/parse_func.c:2171
-#, fuzzy
-#| msgid "window functions are not allowed in trigger WHEN conditions"
+#: parser/parse_func.c:2301
 msgid "set-returning functions are not allowed in trigger WHEN conditions"
-msgstr "Fensterfunktionen sind in der WHEN-Bedingung eines Triggers nicht erlaubt"
+msgstr "Funktionen mit Ergebnismenge sind in der WHEN-Bedingung eines Triggers nicht erlaubt"
 
-#: parser/parse_func.c:2174
-#, fuzzy
-#| msgid "window functions are not allowed in index expressions"
-msgid "set-returning functions are not allowed in partition key expression"
-msgstr "Fensterfunktionen sind in Indexausdrücken nicht erlaubt"
+#: parser/parse_func.c:2304
+msgid "set-returning functions are not allowed in partition key expressions"
+msgstr "Funktionen mit Ergebnismenge sind in Partitionierungsschlüsselausdrücken nicht erlaubt"
 
-#. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_func.c:2194
-#, fuzzy, c-format
-#| msgid "window functions are not allowed in %s"
-msgid "set-returning functions are not allowed in %s"
-msgstr "Fensterfunktionen sind in %s nicht erlaubt"
+#: parser/parse_func.c:2307
+msgid "set-returning functions are not allowed in CALL arguments"
+msgstr "Funktionen mit Ergebnismenge sind in CALL-Argumenten nicht erlaubt"
 
-#: parser/parse_node.c:85
+#: parser/parse_node.c:87
 #, c-format
 msgid "target lists can have at most %d entries"
 msgstr "Targetlisten können höchstens %d Einträge haben"
 
-#: parser/parse_node.c:254
+#: parser/parse_node.c:256
 #, c-format
 msgid "cannot subscript type %s because it is not an array"
 msgstr "kann aus Typ %s kein Element auswählen, weil er kein Array ist"
 
-#: parser/parse_node.c:356 parser/parse_node.c:393
+#: parser/parse_node.c:358 parser/parse_node.c:395
 #, c-format
 msgid "array subscript must have type integer"
 msgstr "Arrayindex muss Typ integer haben"
 
-#: parser/parse_node.c:424
+#: parser/parse_node.c:426
 #, c-format
 msgid "array assignment requires type %s but expression is of type %s"
 msgstr "Arrayzuweisung erfordert Typ %s, aber Ausdruck hat Typ %s"
 
-#: parser/parse_oper.c:125 parser/parse_oper.c:724 utils/adt/regproc.c:585
-#: utils/adt/regproc.c:605 utils/adt/regproc.c:789
+#: parser/parse_oper.c:125 parser/parse_oper.c:724 utils/adt/regproc.c:520
+#: utils/adt/regproc.c:704
 #, c-format
 msgid "operator does not exist: %s"
 msgstr "Operator existiert nicht: %s"
@@ -14582,14 +15597,6 @@ msgstr "Operator existiert nicht: %s"
 msgid "Use an explicit ordering operator or modify the query."
 msgstr "Verwenden Sie einen ausdrücklichen Sortieroperator oder ändern Sie die Anfrage."
 
-#: parser/parse_oper.c:228 utils/adt/array_userfuncs.c:794
-#: utils/adt/array_userfuncs.c:933 utils/adt/arrayfuncs.c:3639
-#: utils/adt/arrayfuncs.c:4077 utils/adt/arrayfuncs.c:6039
-#: utils/adt/rowtypes.c:1167
-#, c-format
-msgid "could not identify an equality operator for type %s"
-msgstr "konnte keinen Ist-Gleich-Operator für Typ %s ermitteln"
-
 #: parser/parse_oper.c:480
 #, c-format
 msgid "operator requires run-time type coercion: %s"
@@ -14605,27 +15612,32 @@ msgstr "Operator ist nicht eindeutig: %s"
 msgid "Could not choose a best candidate operator. You might need to add explicit type casts."
 msgstr "Konnte keinen besten Kandidatoperator auswählen. Sie müssen möglicherweise ausdrückliche Typumwandlungen hinzufügen."
 
-#: parser/parse_oper.c:726
+#: parser/parse_oper.c:727
 #, c-format
-msgid "No operator matches the given name and argument type(s). You might need to add explicit type casts."
+msgid "No operator matches the given name and argument type. You might need to add an explicit type cast."
+msgstr "Kein Operator stimmt mit dem angegebenen Namen und Argumenttyp überein. Sie müssen möglicherweise ausdrückliche Typumwandlungen hinzufügen."
+
+#: parser/parse_oper.c:729
+#, c-format
+msgid "No operator matches the given name and argument types. You might need to add explicit type casts."
 msgstr "Kein Operator stimmt mit dem angegebenen Namen und den Argumenttypen überein. Sie müssen möglicherweise ausdrückliche Typumwandlungen hinzufügen."
 
-#: parser/parse_oper.c:785 parser/parse_oper.c:903
+#: parser/parse_oper.c:790 parser/parse_oper.c:912
 #, c-format
 msgid "operator is only a shell: %s"
 msgstr "Operator ist nur eine Hülle: %s"
 
-#: parser/parse_oper.c:891
+#: parser/parse_oper.c:900
 #, c-format
 msgid "op ANY/ALL (array) requires array on right side"
 msgstr "op ANY/ALL (array) erfordert Array auf der rechten Seite"
 
-#: parser/parse_oper.c:933
+#: parser/parse_oper.c:942
 #, c-format
 msgid "op ANY/ALL (array) requires operator to yield boolean"
 msgstr "op ANY/ALL (array) erfordert, dass Operator boolean ergibt"
 
-#: parser/parse_oper.c:938
+#: parser/parse_oper.c:947
 #, c-format
 msgid "op ANY/ALL (array) requires operator not to return a set"
 msgstr "op ANY/ALL (array) erfordert, dass Operator keine Ergebnismenge zurückgibt"
@@ -14635,158 +15647,159 @@ 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_relation.c:175
+#: parser/parse_relation.c:176
 #, c-format
 msgid "table reference \"%s\" is ambiguous"
 msgstr "Tabellenbezug »%s« ist nicht eindeutig"
 
-#: parser/parse_relation.c:219
+#: parser/parse_relation.c:220
 #, c-format
 msgid "table reference %u is ambiguous"
 msgstr "Tabellenbezug %u ist nicht eindeutig"
 
-#: parser/parse_relation.c:398
+#: parser/parse_relation.c:419
 #, c-format
 msgid "table name \"%s\" specified more than once"
 msgstr "Tabellenname »%s« mehrmals angegeben"
 
-#: parser/parse_relation.c:425 parser/parse_relation.c:3050
+#: parser/parse_relation.c:446 parser/parse_relation.c:3227
 #, 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:428 parser/parse_relation.c:3055
+#: parser/parse_relation.c:449 parser/parse_relation.c:3232
 #, 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."
 
-#: parser/parse_relation.c:430
+#: parser/parse_relation.c:451
 #, c-format
 msgid "The combining JOIN type must be INNER or LEFT for a LATERAL reference."
 msgstr "Der JOIN-Typ für LATERAL muss INNER oder LEFT sein."
 
-#: parser/parse_relation.c:706
+#: parser/parse_relation.c:727
 #, c-format
 msgid "system column \"%s\" reference in check constraint is invalid"
 msgstr "Verweis auf Systemspalte »%s« im Check-Constraint ist ungültig"
 
-#: parser/parse_relation.c:1065 parser/parse_relation.c:1345
-#: parser/parse_relation.c:1914
+#: parser/parse_relation.c:1086 parser/parse_relation.c:1366
+#: parser/parse_relation.c:1936
 #, 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:1152
+#: parser/parse_relation.c:1173
 #, 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:1154
+#: parser/parse_relation.c:1175
 #, 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:1465
+#: parser/parse_relation.c:1486
 #, 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:1474
+#: parser/parse_relation.c:1495
 #, 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:1553
+#: parser/parse_relation.c:1575
 #, 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:1742
+#: parser/parse_relation.c:1764
 #, 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:1797
+#: parser/parse_relation.c:1819
 #, c-format
 msgid "joins can have at most %d columns"
 msgstr "Verbunde können höchstens %d Spalten haben"
 
-#: parser/parse_relation.c:1887
+#: parser/parse_relation.c:1909
 #, c-format
 msgid "WITH query \"%s\" does not have a RETURNING clause"
 msgstr "WITH-Anfrage »%s« hat keine RETURNING-Klausel"
 
-#: parser/parse_relation.c:2685 parser/parse_relation.c:2834
+#: parser/parse_relation.c:2846 parser/parse_relation.c:2884
+#: parser/parse_relation.c:3011
 #, c-format
 msgid "column %d of relation \"%s\" does not exist"
 msgstr "Spalte %d von Relation »%s« existiert nicht"
 
-#: parser/parse_relation.c:3053
+#: parser/parse_relation.c:3230
 #, 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:3061
+#: parser/parse_relation.c:3238
 #, c-format
 msgid "missing FROM-clause entry for table \"%s\""
 msgstr "fehlender Eintrag in FROM-Klausel für Tabelle »%s«"
 
-#: parser/parse_relation.c:3113
+#: parser/parse_relation.c:3290
 #, 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:3115
+#: parser/parse_relation.c:3292
 #, 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:3132
+#: parser/parse_relation.c:3309
 #, 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:482 parser/parse_target.c:774
+#: parser/parse_target.c:483 parser/parse_target.c:784
 #, c-format
 msgid "cannot assign to system column \"%s\""
 msgstr "kann Systemspalte »%s« keinen Wert zuweisen"
 
-#: parser/parse_target.c:510
+#: parser/parse_target.c:511
 #, c-format
 msgid "cannot set an array element to DEFAULT"
 msgstr "kann Arrayelement nicht auf DEFAULT setzen"
 
-#: parser/parse_target.c:515
+#: parser/parse_target.c:516
 #, c-format
 msgid "cannot set a subfield to DEFAULT"
 msgstr "kann Subfeld nicht auf DEFAULT setzen"
 
-#: parser/parse_target.c:584
+#: parser/parse_target.c:585
 #, 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:758
+#: parser/parse_target.c:768
 #, 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:767
+#: parser/parse_target.c:777
 #, 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:834
+#: parser/parse_target.c:854
 #, c-format
 msgid "array 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"
 
-#: parser/parse_target.c:844
+#: parser/parse_target.c:864
 #, 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"
 
-#: parser/parse_target.c:1260
+#: parser/parse_target.c:1283
 #, c-format
 msgid "SELECT * with no tables specified is not valid"
 msgstr "SELECT * ist nicht gültig, wenn keine Tabellen angegeben sind"
@@ -14806,7 +15819,7 @@ 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:261 parser/parse_type.c:804 utils/cache/typcache.c:243
+#: parser/parse_type.c:261 parser/parse_type.c:838 utils/cache/typcache.c:373
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "Typ »%s« ist nur eine Hülle"
@@ -14821,312 +15834,408 @@ msgstr "Typmodifikator ist für Typ »%s« nicht erlaubt"
 msgid "type modifiers must be simple constants or identifiers"
 msgstr "Typmodifikatoren müssen einfache Konstanten oder Bezeichner sein"
 
-#: parser/parse_type.c:670 parser/parse_type.c:769
+#: parser/parse_type.c:704 parser/parse_type.c:803
 #, c-format
 msgid "invalid type name \"%s\""
 msgstr "ungültiger Typname: »%s«"
 
-#: parser/parse_utilcmd.c:263
-#, fuzzy, c-format
-#| msgid "cannot create temporary tables in parallel mode"
+#: parser/parse_utilcmd.c:272
+#, c-format
 msgid "cannot create partitioned table as inheritance child"
-msgstr "im Parallelmodus können keine temporären Tabellen erzeugt werden"
+msgstr "partitionierte Tabelle kann nicht als Vererbungskind erzeugt werden"
 
-#: parser/parse_utilcmd.c:268
-#, fuzzy, c-format
-#| msgid "cannot use more than %d columns in an index"
-msgid "cannot partition using more than %d columns"
-msgstr "Index kann nicht mehr als %d Spalten enthalten"
-
-#: parser/parse_utilcmd.c:275
+#: parser/parse_utilcmd.c:447
 #, c-format
-msgid "cannot list partition using more than one column"
-msgstr ""
+msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\""
+msgstr "%s erstellt implizit eine Sequenz »%s« für die »serial«-Spalte »%s.%s«"
 
-#: parser/parse_utilcmd.c:413
+#: parser/parse_utilcmd.c:570
 #, c-format
 msgid "array of serial is not implemented"
 msgstr "Array aus Typ serial ist nicht implementiert"
 
-#: parser/parse_utilcmd.c:461
-#, c-format
-msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\""
-msgstr "%s erstellt implizit eine Sequenz »%s« für die »serial«-Spalte »%s.%s«"
-
-#: parser/parse_utilcmd.c:554 parser/parse_utilcmd.c:566
+#: parser/parse_utilcmd.c:646 parser/parse_utilcmd.c:658
 #, 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:578
+#: parser/parse_utilcmd.c:670
 #, 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:595 parser/parse_utilcmd.c:704
+#: parser/parse_utilcmd.c:687
 #, c-format
-msgid "primary key constraints are not supported on foreign tables"
-msgstr "Primärschlüssel für Fremdtabellen werden nicht unterstützt"
+msgid "identity columns are not supported on typed tables"
+msgstr "Identitätsspalten in getypten Tabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:601 parser/parse_utilcmd.c:710
-#, fuzzy, c-format
-#| msgid "primary key constraints are not supported on foreign tables"
-msgid "primary key constraints are not supported on partitioned tables"
+#: parser/parse_utilcmd.c:691
+#, c-format
+msgid "identity columns are not supported on partitions"
+msgstr "Identitätsspalten in partitionierten Tabellen werden nicht unterstützt"
+
+#: parser/parse_utilcmd.c:700
+#, 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:723 parser/parse_utilcmd.c:822
+#, 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:610 parser/parse_utilcmd.c:720
+#: parser/parse_utilcmd.c:732 parser/parse_utilcmd.c:832
 #, c-format
 msgid "unique constraints are not supported on foreign tables"
 msgstr "Unique-Constraints auf Fremdtabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:616 parser/parse_utilcmd.c:726
-#, fuzzy, c-format
-#| msgid "unique constraints are not supported on foreign tables"
-msgid "unique constraints are not supported on partitioned tables"
-msgstr "Unique-Constraints auf Fremdtabellen werden nicht unterstützt"
-
-#: parser/parse_utilcmd.c:633 parser/parse_utilcmd.c:756
+#: parser/parse_utilcmd.c:749 parser/parse_utilcmd.c:862
 #, c-format
 msgid "foreign key constraints are not supported on foreign tables"
 msgstr "Fremdschlüssel-Constraints auf Fremdtabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:639 parser/parse_utilcmd.c:762
-#, fuzzy, c-format
-#| msgid "foreign key constraints are not supported on foreign tables"
-msgid "foreign key constraints are not supported on partitioned tables"
-msgstr "Fremdschlüssel-Constraints auf Fremdtabellen werden nicht unterstützt"
+#: parser/parse_utilcmd.c:777
+#, 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:736
+#: parser/parse_utilcmd.c:842
 #, c-format
 msgid "exclusion constraints are not supported on foreign tables"
 msgstr "Exclusion-Constraints auf Fremdtabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:742
-#, fuzzy, c-format
-#| msgid "exclusion constraints are not supported on foreign tables"
+#: parser/parse_utilcmd.c:848
+#, c-format
 msgid "exclusion constraints are not supported on partitioned tables"
-msgstr "Exclusion-Constraints auf Fremdtabellen werden nicht unterstützt"
+msgstr "Exclusion-Constraints auf partitionierten Tabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:812
+#: parser/parse_utilcmd.c:912
 #, 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:1344 parser/parse_utilcmd.c:1420
+#: parser/parse_utilcmd.c:1517 parser/parse_utilcmd.c:1624
 #, 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:1689
+#: parser/parse_utilcmd.c:1974
 #, 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:1709
+#: parser/parse_utilcmd.c:1994
 #, c-format
 msgid "index \"%s\" is already associated with a constraint"
 msgstr "Index »%s« gehört bereits zu einem Constraint"
 
-#: parser/parse_utilcmd.c:1717
+#: parser/parse_utilcmd.c:2002
 #, c-format
 msgid "index \"%s\" does not belong to table \"%s\""
 msgstr "Index »%s« gehört nicht zu Tabelle »%s«"
 
-#: parser/parse_utilcmd.c:1724
+#: parser/parse_utilcmd.c:2009
 #, c-format
 msgid "index \"%s\" is not valid"
 msgstr "Index »%s« ist nicht gültig"
 
-#: parser/parse_utilcmd.c:1730
+#: parser/parse_utilcmd.c:2015
 #, c-format
 msgid "\"%s\" is not a unique index"
 msgstr "»%s« ist kein Unique Index"
 
-#: parser/parse_utilcmd.c:1731 parser/parse_utilcmd.c:1738
-#: parser/parse_utilcmd.c:1745 parser/parse_utilcmd.c:1815
+#: parser/parse_utilcmd.c:2016 parser/parse_utilcmd.c:2023
+#: parser/parse_utilcmd.c:2030 parser/parse_utilcmd.c:2102
 #, 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:1737
+#: parser/parse_utilcmd.c:2022
 #, c-format
 msgid "index \"%s\" contains expressions"
 msgstr "Index »%s« enthält Ausdrücke"
 
-#: parser/parse_utilcmd.c:1744
+#: parser/parse_utilcmd.c:2029
 #, c-format
 msgid "\"%s\" is a partial index"
 msgstr "»%s« ist ein partieller Index"
 
-#: parser/parse_utilcmd.c:1756
+#: parser/parse_utilcmd.c:2041
 #, c-format
 msgid "\"%s\" is a deferrable index"
 msgstr "»%s« ist ein aufschiebbarer Index"
 
-#: parser/parse_utilcmd.c:1757
+#: parser/parse_utilcmd.c:2042
 #, 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:1814
+#: parser/parse_utilcmd.c:2101
 #, c-format
 msgid "index \"%s\" does not have default sorting behavior"
 msgstr "Index »%s« hat nicht das Standardsortierverhalten"
 
-#: parser/parse_utilcmd.c:1958
+#: parser/parse_utilcmd.c:2250
 #, 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:1964
+#: parser/parse_utilcmd.c:2256
 #, c-format
 msgid "column \"%s\" appears twice in unique constraint"
 msgstr "Spalte »%s« erscheint zweimal im Unique-Constraint"
 
-#: parser/parse_utilcmd.c:2173
+#: parser/parse_utilcmd.c:2579
 #, 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:2219
+#: parser/parse_utilcmd.c:2625
 #, c-format
 msgid "rules on materialized views are not supported"
 msgstr "Regeln für materialisierte Sichten werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:2280
+#: parser/parse_utilcmd.c:2686
 #, 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:2352
+#: parser/parse_utilcmd.c:2758
 #, 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:2370 parser/parse_utilcmd.c:2469
-#: rewrite/rewriteHandler.c:498 rewrite/rewriteManip.c:1015
+#: parser/parse_utilcmd.c:2776 parser/parse_utilcmd.c:2875
+#: rewrite/rewriteHandler.c:497 rewrite/rewriteManip.c:1015
 #, c-format
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr "UNION/INTERSECTION/EXCEPT mit Bedingung sind nicht implementiert"
 
-#: parser/parse_utilcmd.c:2388
+#: parser/parse_utilcmd.c:2794
 #, c-format
 msgid "ON SELECT rule cannot use OLD"
 msgstr "ON-SELECT-Regel kann nicht OLD verwenden"
 
-#: parser/parse_utilcmd.c:2392
+#: parser/parse_utilcmd.c:2798
 #, c-format
 msgid "ON SELECT rule cannot use NEW"
 msgstr "ON-SELECT-Regel kann nicht NEW verwenden"
 
-#: parser/parse_utilcmd.c:2401
+#: parser/parse_utilcmd.c:2807
 #, c-format
 msgid "ON INSERT rule cannot use OLD"
 msgstr "ON-INSERT-Regel kann nicht OLD verwenden"
 
-#: parser/parse_utilcmd.c:2407
+#: parser/parse_utilcmd.c:2813
 #, c-format
 msgid "ON DELETE rule cannot use NEW"
 msgstr "ON-DELETE-Regel kann nicht NEW verwenden"
 
-#: parser/parse_utilcmd.c:2435
+#: parser/parse_utilcmd.c:2841
 #, c-format
 msgid "cannot refer to OLD within WITH query"
 msgstr "in WITH-Anfrage kann nicht auf OLD verweisen werden"
 
-#: parser/parse_utilcmd.c:2442
+#: parser/parse_utilcmd.c:2848
 #, c-format
 msgid "cannot refer to NEW within WITH query"
 msgstr "in WITH-Anfrage kann nicht auf NEW verwiesen werden"
 
-#: parser/parse_utilcmd.c:2766
+#: parser/parse_utilcmd.c:3286
 #, c-format
 msgid "misplaced DEFERRABLE clause"
 msgstr "falsch platzierte DEFERRABLE-Klausel"
 
-#: parser/parse_utilcmd.c:2771 parser/parse_utilcmd.c:2786
+#: parser/parse_utilcmd.c:3291 parser/parse_utilcmd.c:3306
 #, c-format
 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr "mehrere DEFERRABLE/NOT DEFERRABLE-Klauseln sind nicht erlaubt"
 
-#: parser/parse_utilcmd.c:2781
+#: parser/parse_utilcmd.c:3301
 #, c-format
 msgid "misplaced NOT DEFERRABLE clause"
 msgstr "falsch platzierte NOT DEFERRABLE-Klausel"
 
-#: parser/parse_utilcmd.c:2802
+#: parser/parse_utilcmd.c:3322
 #, c-format
 msgid "misplaced INITIALLY DEFERRED clause"
 msgstr "falsch platzierte INITIALLY DEFERRED-Klausel"
 
-#: parser/parse_utilcmd.c:2807 parser/parse_utilcmd.c:2833
+#: parser/parse_utilcmd.c:3327 parser/parse_utilcmd.c:3353
 #, c-format
 msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr "mehrere INITIALLY IMMEDIATE/DEFERRED-Klauseln sind nicht erlaubt"
 
-#: parser/parse_utilcmd.c:2828
+#: parser/parse_utilcmd.c:3348
 #, c-format
 msgid "misplaced INITIALLY IMMEDIATE clause"
 msgstr "falsch platzierte INITIALLY IMMEDIATE-Klausel"
 
-#: parser/parse_utilcmd.c:3019
+#: parser/parse_utilcmd.c:3539
 #, 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:3085
+#: parser/parse_utilcmd.c:3573
+#, c-format
+msgid "table \"%s\" is not partitioned"
+msgstr "Tabelle »%s« ist nicht partitioniert"
+
+#: parser/parse_utilcmd.c:3580
+#, c-format
+msgid "index \"%s\" is not partitioned"
+msgstr "Index »%s« ist nicht partitioniert"
+
+#: parser/parse_utilcmd.c:3614
 #, fuzzy, c-format
-#| msgid "invalid format specification for an interval value"
-msgid "invalid bound specification for a list partition"
-msgstr "ungültige Formatangabe für Intervall-Wert"
+#| msgid "Partitioned tables cannot have ROW triggers."
+msgid "a hash-partitioned table may not have a default partition"
+msgstr "Partitionierte Tabellen können keine ROW-Trigger haben."
 
-#: parser/parse_utilcmd.c:3108 parser/parse_utilcmd.c:3208
-#: parser/parse_utilcmd.c:3235
+#: parser/parse_utilcmd.c:3631
 #, fuzzy, c-format
-#| msgid "cannot alter type of column \"%s\" twice"
-msgid "specified value cannot be cast to type \"%s\" of column \"%s\""
-msgstr "Typ der Spalte »%s« kann nicht zweimal geändert werden"
+#| msgid "invalid bound specification for a list partition"
+msgid "invalid bound specification for a hash partition"
+msgstr "ungültige Begrenzungsangabe für eine Listenpartition"
 
-#: parser/parse_utilcmd.c:3147
+#: parser/parse_utilcmd.c:3637 partitioning/partbounds.c:2135
 #, fuzzy, c-format
-#| msgid "invalid format specification for an interval value"
-msgid "invalid bound specification for a range partition"
-msgstr "ungültige Formatangabe für Intervall-Wert"
+#| msgid "%s: duration must be a positive integer (duration is \"%d\")\n"
+msgid "modulus for hash partition must be a positive integer"
+msgstr "%s: Dauer muss eine positive ganze Zahl sein (Dauer ist »%d«)\n"
 
-#: parser/parse_utilcmd.c:3155
+#: parser/parse_utilcmd.c:3644 partitioning/partbounds.c:2143
 #, fuzzy, c-format
-#| msgid "must specify at least one column"
+#| msgid "precision for type float must be less than 54 bits"
+msgid "remainder for hash partition must be less than modulus"
+msgstr "Präzision von Typ float muss weniger als 54 Bits sein"
+
+#: parser/parse_utilcmd.c:3656
+#, c-format
+msgid "invalid bound specification for a list partition"
+msgstr "ungültige Begrenzungsangabe für eine Listenpartition"
+
+#: parser/parse_utilcmd.c:3712
+#, c-format
+msgid "invalid bound specification for a range partition"
+msgstr "ungültige Begrenzungsangabe für eine Bereichspartition"
+
+#: parser/parse_utilcmd.c:3718
+#, c-format
 msgid "FROM must specify exactly one value per partitioning column"
-msgstr "mindestens eine Spalte muss angegeben werden"
+msgstr "FROM muss genau einen Wert pro Partitionierungsspalte angeben"
 
-#: parser/parse_utilcmd.c:3159
-#, fuzzy, c-format
-#| msgid "must specify at least one column"
+#: parser/parse_utilcmd.c:3722
+#, c-format
 msgid "TO must specify exactly one value per partitioning column"
-msgstr "mindestens eine Spalte muss angegeben werden"
+msgstr "TO muss genau einen Wert pro Partitionierungsspalte angeben"
 
-#: parser/parse_utilcmd.c:3197 parser/parse_utilcmd.c:3224
-#, fuzzy, c-format
-#| msgid "cannot specify NULL in BINARY mode"
+#: parser/parse_utilcmd.c:3769 parser/parse_utilcmd.c:3783
+#, c-format
 msgid "cannot specify NULL in range bound"
-msgstr "NULL kann nicht im BINARY-Modus angegeben werden"
+msgstr "NULL kann nicht in der Bereichsgrenze angegeben werden"
+
+#: parser/parse_utilcmd.c:3830
+#, 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:3837
+#, 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:3868 parser/parse_utilcmd.c:3880
+#, 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/parse_utilcmd.c:3882
+#, c-format
+msgid "The cast requires a non-immutable conversion."
+msgstr "Die Typumwandlung ist nicht »immutable«."
+
+#: parser/parse_utilcmd.c:3883
+#, c-format
+msgid "Try putting the literal value in single quotes."
+msgstr "Versuchen Sie, den Wert in einfachen Ausführungszeichen zu schreiben."
 
 #: parser/scansup.c:204
 #, c-format
 msgid "identifier \"%s\" will be truncated to \"%s\""
 msgstr "Bezeichner »%s« wird auf »%s« gekürzt"
 
-#: port/pg_shmem.c:175 port/sysv_shmem.c:175
+#: partitioning/partbounds.c:331
+#, fuzzy, c-format
+#| msgid "partition \"%s\" would overlap partition \"%s\""
+msgid "partition \"%s\" conflicts with existing default partition \"%s\""
+msgstr "Partition »%s« würde sich mit Partition »%s« überlappen"
+
+#: partitioning/partbounds.c:390
+#, c-format
+msgid "every hash partition modulus must be a factor of the next larger modulus"
+msgstr ""
+
+#: partitioning/partbounds.c:486
+#, c-format
+msgid "empty range bound specified for partition \"%s\""
+msgstr "leere Bereichsgrenze angegeben für Partition »%s«"
+
+#: partitioning/partbounds.c:488
+#, 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:585
+#, c-format
+msgid "partition \"%s\" would overlap partition \"%s\""
+msgstr "Partition »%s« würde sich mit Partition »%s« überlappen"
+
+#: partitioning/partbounds.c:685
+#, fuzzy, c-format
+#| msgid "relation \"%s\" is not a partition of relation \"%s\""
+msgid "skipped scanning foreign table \"%s\" which is a partition of default partition \"%s\""
+msgstr "Relation »%s« ist keine Partition von Relation »%s«"
+
+#: partitioning/partbounds.c:724
+#, fuzzy, c-format
+#| msgid "partition constraint is violated by some row"
+msgid "updated partition constraint for default partition \"%s\" would be violated by some row"
+msgstr "Partitions-Constraint wird von irgendeiner Zeile verletzt"
+
+#: partitioning/partbounds.c:2139
+#, c-format
+msgid "remainder for hash partition must be a non-negative integer"
+msgstr ""
+
+#: partitioning/partbounds.c:2166
+#, fuzzy, c-format
+#| msgid "\"%s\" is a partitioned table"
+msgid "\"%s\" is not a hash partitioned table"
+msgstr "»%s« ist eine partitionierte Tabelle"
+
+#: partitioning/partbounds.c:2177 partitioning/partbounds.c:2293
+#, fuzzy, c-format
+#| msgid "number of columns does not match number of values"
+msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)"
+msgstr "Anzahl der Spalten stimmt nicht mit der Anzahl der Werte überein"
+
+#: partitioning/partbounds.c:2197 partitioning/partbounds.c:2229
+#, c-format
+msgid "column %d of the partition key has type \"%s\", but supplied value is of type \"%s\""
+msgstr ""
+
+#: port/pg_shmem.c:196 port/sysv_shmem.c:196
 #, c-format
 msgid "could not create shared memory segment: %m"
 msgstr "konnte Shared-Memory-Segment nicht erzeugen: %m"
 
-#: port/pg_shmem.c:176 port/sysv_shmem.c:176
+#: port/pg_shmem.c:197 port/sysv_shmem.c:197
 #, 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:180 port/sysv_shmem.c:180
+#: port/pg_shmem.c:201 port/sysv_shmem.c:201
 #, 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"
@@ -15135,7 +16244,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:187 port/sysv_shmem.c:187
+#: port/pg_shmem.c:208 port/sysv_shmem.c:208
 #, 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"
@@ -15144,7 +16253,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:193 port/sysv_shmem.c:193
+#: port/pg_shmem.c:214 port/sysv_shmem.c:214
 #, 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"
@@ -15153,24 +16262,24 @@ 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:483 port/sysv_shmem.c:483
+#: port/pg_shmem.c:505 port/sysv_shmem.c:505
 #, c-format
 msgid "could not map anonymous shared memory: %m"
 msgstr "konnte anonymes Shared Memory nicht mappen: %m"
 
-#: port/pg_shmem.c:485 port/sysv_shmem.c:485
+#: port/pg_shmem.c:507 port/sysv_shmem.c:507
 #, 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:551 port/sysv_shmem.c:551 port/win32_shmem.c:134
+#: port/pg_shmem.c:573 port/sysv_shmem.c:573
 #, c-format
 msgid "huge pages not supported on this platform"
 msgstr "Huge Pages werden auf dieser Plattform nicht unterstützt"
 
-#: port/pg_shmem.c:646 port/sysv_shmem.c:646
+#: port/pg_shmem.c:668 port/sysv_shmem.c:668
 #, c-format
 msgid "could not stat data directory \"%s\": %m"
 msgstr "konnte »stat« für Datenverzeichnis »%s« nicht ausführen: %m"
@@ -15259,161 +16368,202 @@ msgstr "konnte Semaphore nicht entsperren: Fehlercode %lu"
 msgid "could not try-lock semaphore: error code %lu"
 msgstr "konnte Semaphore nicht versuchsweise sperren: Fehlercode %lu"
 
-#: port/win32_shmem.c:173 port/win32_shmem.c:208 port/win32_shmem.c:226
+#: port/win32_shmem.c:122 port/win32_shmem.c:130 port/win32_shmem.c:142
+#: port/win32_shmem.c:157
+#, fuzzy, c-format
+#| msgid "could not create shared memory segment: error code %lu"
+msgid "could not enable Lock Pages in Memory user right: error code %lu"
+msgstr "konnte Shared-Memory-Segment nicht erzeugen: Fehlercode %lu"
+
+#: port/win32_shmem.c:123 port/win32_shmem.c:131 port/win32_shmem.c:143
+#: port/win32_shmem.c:158
+#, fuzzy, c-format
+#| msgid "Failed system call was DuplicateHandle."
+msgid "Failed system call was %s."
+msgstr "Fehlgeschlagener Systemaufruf war DuplicateHandle."
+
+#: port/win32_shmem.c:153
+#, fuzzy, c-format
+#| msgid "could not create shared memory segment: %m"
+msgid "could not enable Lock Pages in Memory user right"
+msgstr "konnte Shared-Memory-Segment nicht erzeugen: %m"
+
+#: port/win32_shmem.c:154
+#, c-format
+msgid "Assign Lock Pages in Memory user right to the Windows user account which runs PostgreSQL."
+msgstr ""
+
+#: port/win32_shmem.c:210
+#, fuzzy, c-format
+#| msgid "The server (version %s) does not support tablespaces.\n"
+msgid "the processor does not support large pages"
+msgstr "Der Server (Version %s) unterstützt keine Tablespaces.\n"
+
+#: port/win32_shmem.c:212 port/win32_shmem.c:217
+#, fuzzy, c-format
+#| msgid "disabling triggers for %s\n"
+msgid "disabling huge pages"
+msgstr "schalte Trigger für %s aus\n"
+
+#: port/win32_shmem.c:279 port/win32_shmem.c:315 port/win32_shmem.c:333
 #, c-format
 msgid "could not create shared memory segment: error code %lu"
 msgstr "konnte Shared-Memory-Segment nicht erzeugen: Fehlercode %lu"
 
-#: port/win32_shmem.c:174
+#: port/win32_shmem.c:280
 #, c-format
 msgid "Failed system call was CreateFileMapping(size=%zu, name=%s)."
 msgstr "Fehlgeschlagener Systemaufruf war CreateFileMapping(Größe=%zu, Name=%s)."
 
-#: port/win32_shmem.c:198
+#: port/win32_shmem.c:305
 #, c-format
 msgid "pre-existing shared memory block is still in use"
 msgstr "bereits bestehender Shared-Memory-Block wird noch benutzt"
 
-#: port/win32_shmem.c:199
+#: port/win32_shmem.c:306
 #, c-format
 msgid "Check if there are any old server processes still running, and terminate them."
 msgstr "Prüfen Sie, ob irgendwelche alten Serverprozesse noch laufen und beenden Sie diese."
 
-#: port/win32_shmem.c:209
+#: port/win32_shmem.c:316
 #, c-format
 msgid "Failed system call was DuplicateHandle."
 msgstr "Fehlgeschlagener Systemaufruf war DuplicateHandle."
 
-#: port/win32_shmem.c:227
+#: port/win32_shmem.c:334
 #, c-format
 msgid "Failed system call was MapViewOfFileEx."
 msgstr "Fehlgeschlagener Systemaufruf war MapViewOfFileEx."
 
-#: postmaster/autovacuum.c:380
+#: postmaster/autovacuum.c:406
 #, c-format
 msgid "could not fork autovacuum launcher process: %m"
 msgstr "konnte Autovacuum-Launcher-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/autovacuum.c:416
+#: postmaster/autovacuum.c:442
 #, c-format
 msgid "autovacuum launcher started"
 msgstr "Autovacuum-Launcher startet"
 
-#: postmaster/autovacuum.c:780
+#: postmaster/autovacuum.c:832
 #, c-format
 msgid "autovacuum launcher shutting down"
 msgstr "Autovacuum-Launcher fährt herunter"
 
-#: postmaster/autovacuum.c:1442
+#: postmaster/autovacuum.c:1494
 #, c-format
 msgid "could not fork autovacuum worker process: %m"
 msgstr "konnte Autovacuum-Worker-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/autovacuum.c:1640
+#: postmaster/autovacuum.c:1700
 #, c-format
 msgid "autovacuum: processing database \"%s\""
 msgstr "Autovacuum: bearbeite Datenbank »%s«"
 
-#: postmaster/autovacuum.c:2214
-#, fuzzy, c-format
-#| msgid "autovacuum: dropping orphan temp table \"%s\".\"%s\" in database \"%s\""
+#: postmaster/autovacuum.c:2275
+#, c-format
 msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\""
-msgstr "Autovacuum: lösche verwaiste temporäre Tabelle »%s.%s« in Datenbank »%s«"
+msgstr "Autovacuum: lösche verwaiste temporäre Tabelle »%s.%s.%s«"
 
-#: postmaster/autovacuum.c:2420
+#: postmaster/autovacuum.c:2504
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\""
 msgstr "automatisches Vacuum der Tabelle »%s.%s.%s«"
 
-#: postmaster/autovacuum.c:2423
+#: postmaster/autovacuum.c:2507
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\""
 msgstr "automatisches Analysieren der Tabelle »%s.%s.%s«"
 
-#: postmaster/autovacuum.c:2972
+#: postmaster/autovacuum.c:2700
+#, c-format
+msgid "processing work entry for relation \"%s.%s.%s\""
+msgstr "verarbeite Arbeitseintrag für Relation »%s.%s.%s«"
+
+#: postmaster/autovacuum.c:3279
 #, c-format
 msgid "autovacuum not started because of misconfiguration"
 msgstr "Autovacuum wegen Fehlkonfiguration nicht gestartet"
 
-#: postmaster/autovacuum.c:2973
+#: postmaster/autovacuum.c:3280
 #, c-format
 msgid "Enable the \"track_counts\" option."
 msgstr "Schalten Sie die Option »track_counts« ein."
 
-#: postmaster/bgworker.c:375 postmaster/bgworker.c:814
+#: postmaster/bgworker.c:395 postmaster/bgworker.c:862
 #, c-format
 msgid "registering background worker \"%s\""
 msgstr "registriere Background-Worker »%s«"
 
-#: postmaster/bgworker.c:407
+#: postmaster/bgworker.c:427
 #, c-format
 msgid "unregistering background worker \"%s\""
 msgstr "deregistriere Background-Worker »%s«"
 
-#: postmaster/bgworker.c:551
+#: postmaster/bgworker.c:592
 #, 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:560
+#: postmaster/bgworker.c:601
 #, 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:574
+#: postmaster/bgworker.c:615
 #, c-format
 msgid "background worker \"%s\": invalid restart interval"
 msgstr "Background-Worker »%s«: ungültiges Neustart-Intervall"
 
-#: postmaster/bgworker.c:619
+#: postmaster/bgworker.c:630
+#, 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:681
 #, 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:830
+#: postmaster/bgworker.c:870
 #, 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:842
+#: postmaster/bgworker.c:882
 #, 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:857
+#: postmaster/bgworker.c:897
 #, c-format
 msgid "too many background workers"
 msgstr "zu viele Background-Worker"
 
-#: postmaster/bgworker.c:858
+#: postmaster/bgworker.c:898
 #, 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:862
+#: postmaster/bgworker.c:902
 #, c-format
 msgid "Consider increasing the configuration parameter \"max_worker_processes\"."
 msgstr "Erhöhen Sie eventuell den Konfigurationsparameter »max_worker_processes«."
 
-#: postmaster/checkpointer.c:465
+#: postmaster/checkpointer.c:464
 #, 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:469
+#: postmaster/checkpointer.c:468
 #, c-format
 msgid "Consider increasing the configuration parameter \"max_wal_size\"."
 msgstr "Erhöhen Sie eventuell den Konfigurationsparameter »max_wal_size«."
 
-#: postmaster/checkpointer.c:629
-#, c-format
-msgid "transaction log switch forced (archive_timeout=%d)"
-msgstr "Umschalten des Transaktionslogs erzwungen (archive_timeout=%d)"
-
 #: postmaster/checkpointer.c:1088
 #, c-format
 msgid "checkpoint request failed"
@@ -15429,354 +16579,305 @@ msgstr "Einzelheiten finden Sie in den letzten Meldungen im Serverlog."
 msgid "compacted fsync request queue from %d entries to %d entries"
 msgstr "fsync-Anfrageschlange von %d Einträgen auf %d Einträge zusammengefasst"
 
-#: postmaster/pgarch.c:149
+#: postmaster/pgarch.c:148
 #, c-format
 msgid "could not fork archiver: %m"
 msgstr "konnte Archivierer nicht starten (fork-Fehler): %m"
 
-#: postmaster/pgarch.c:457
+#: postmaster/pgarch.c:456
 #, c-format
 msgid "archive_mode enabled, yet archive_command is not set"
 msgstr "archive_mode ist an, aber archive_command ist nicht gesetzt"
 
-#: postmaster/pgarch.c:485
+#: postmaster/pgarch.c:484
 #, c-format
-msgid "archiving transaction log file \"%s\" failed too many times, will try again later"
-msgstr "Archivieren der Transaktionslogdatei »%s« schlug zu oft fehl, wird später erneut versucht"
+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:588
+#: postmaster/pgarch.c:587
 #, c-format
 msgid "archive command failed with exit code %d"
 msgstr "Archivbefehl ist fehlgeschlagen mit Statuscode %d"
 
-#: postmaster/pgarch.c:590 postmaster/pgarch.c:600 postmaster/pgarch.c:607
-#: postmaster/pgarch.c:613 postmaster/pgarch.c:622
+#: postmaster/pgarch.c:589 postmaster/pgarch.c:599 postmaster/pgarch.c:606
+#: postmaster/pgarch.c:612 postmaster/pgarch.c:621
 #, c-format
 msgid "The failed archive command was: %s"
 msgstr "Der fehlgeschlagene Archivbefehl war: %s"
 
-#: postmaster/pgarch.c:597
+#: postmaster/pgarch.c:596
 #, c-format
 msgid "archive command was terminated by exception 0x%X"
 msgstr "Archivbefehl wurde durch Ausnahme 0x%X beendet"
 
-#: postmaster/pgarch.c:599 postmaster/postmaster.c:3527
+#: postmaster/pgarch.c:598 postmaster/postmaster.c:3567
 #, 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:604
+#: postmaster/pgarch.c:603
 #, c-format
 msgid "archive command was terminated by signal %d: %s"
 msgstr "Archivbefehl wurde von Signal %d beendet: %s"
 
-#: postmaster/pgarch.c:611
+#: postmaster/pgarch.c:610
 #, c-format
 msgid "archive command was terminated by signal %d"
 msgstr "Archivbefehl wurde von Signal %d beendet"
 
-#: postmaster/pgarch.c:620
+#: postmaster/pgarch.c:619
 #, c-format
 msgid "archive command exited with unrecognized status %d"
 msgstr "Archivbefehl hat mit unbekanntem Status %d beendet"
 
-#: postmaster/pgarch.c:632
-#, c-format
-msgid "archived transaction log file \"%s\""
-msgstr "archivierte Transaktionslogdatei »%s«"
-
-#: postmaster/pgarch.c:681
-#, c-format
-msgid "could not open archive status directory \"%s\": %m"
-msgstr "konnte Archivstatusverzeichnis »%s« nicht öffnen: %m"
-
-#: postmaster/pgstat.c:360
+#: postmaster/pgstat.c:395
 #, c-format
 msgid "could not resolve \"localhost\": %s"
 msgstr "konnte »localhost« nicht auflösen: %s"
 
-#: postmaster/pgstat.c:383
+#: postmaster/pgstat.c:418
 #, c-format
 msgid "trying another address for the statistics collector"
 msgstr "andere Adresse für Statistiksammelprozess wird versucht"
 
-#: postmaster/pgstat.c:392
+#: postmaster/pgstat.c:427
 #, c-format
 msgid "could not create socket for statistics collector: %m"
 msgstr "konnte Socket für Statistiksammelprozess nicht erzeugen: %m"
 
-#: postmaster/pgstat.c:404
+#: postmaster/pgstat.c:439
 #, c-format
 msgid "could not bind socket for statistics collector: %m"
 msgstr "konnte Socket für Statistiksammelprozess nicht binden: %m"
 
-#: postmaster/pgstat.c:415
+#: postmaster/pgstat.c:450
 #, 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:431
+#: postmaster/pgstat.c:466
 #, c-format
 msgid "could not connect socket for statistics collector: %m"
 msgstr "konnte nicht mit Socket für Statistiksammelprozess verbinden: %m"
 
-#: postmaster/pgstat.c:452
+#: postmaster/pgstat.c:487
 #, 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:478
+#: postmaster/pgstat.c:513
 #, c-format
 msgid "select() failed in statistics collector: %m"
 msgstr "select() im Statistiksammelprozess fehlgeschlagen: %m"
 
-#: postmaster/pgstat.c:493
+#: postmaster/pgstat.c:528
 #, 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:508
+#: postmaster/pgstat.c:543
 #, 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:518
+#: postmaster/pgstat.c:553
 #, 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:541
+#: postmaster/pgstat.c:576
 #, 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:551
+#: postmaster/pgstat.c:615
 #, c-format
 msgid "disabling statistics collector for lack of working socket"
 msgstr "Statistiksammelprozess abgeschaltet wegen nicht funkionierender Socket"
 
-#: postmaster/pgstat.c:698
+#: postmaster/pgstat.c:762
 #, c-format
 msgid "could not fork statistics collector: %m"
 msgstr "konnte Statistiksammelprozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/pgstat.c:1266
+#: postmaster/pgstat.c:1342
 #, c-format
 msgid "unrecognized reset target: \"%s\""
 msgstr "unbekanntes Reset-Ziel: »%s«"
 
-#: postmaster/pgstat.c:1267
+#: postmaster/pgstat.c:1343
 #, c-format
 msgid "Target must be \"archiver\" or \"bgwriter\"."
 msgstr "Das Reset-Ziel muss »archiver« oder »bgwriter« sein."
 
-#: postmaster/pgstat.c:3816
+#: postmaster/pgstat.c:4362
 #, c-format
 msgid "could not read statistics message: %m"
 msgstr "konnte Statistiknachricht nicht lesen: %m"
 
-#: postmaster/pgstat.c:4148 postmaster/pgstat.c:4305
+#: postmaster/pgstat.c:4694 postmaster/pgstat.c:4851
 #, c-format
 msgid "could not open temporary statistics file \"%s\": %m"
 msgstr "konnte temporäre Statistikdatei »%s« nicht öffnen: %m"
 
-#: postmaster/pgstat.c:4215 postmaster/pgstat.c:4350
+#: postmaster/pgstat.c:4761 postmaster/pgstat.c:4896
 #, c-format
 msgid "could not write temporary statistics file \"%s\": %m"
 msgstr "konnte temporäre Statistikdatei »%s« nicht schreiben: %m"
 
-#: postmaster/pgstat.c:4224 postmaster/pgstat.c:4359
+#: postmaster/pgstat.c:4770 postmaster/pgstat.c:4905
 #, c-format
 msgid "could not close temporary statistics file \"%s\": %m"
 msgstr "konnte temporäre Statistikdatei »%s« nicht schließen: %m"
 
-#: postmaster/pgstat.c:4232 postmaster/pgstat.c:4367
+#: postmaster/pgstat.c:4778 postmaster/pgstat.c:4913
 #, 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:4456 postmaster/pgstat.c:4641 postmaster/pgstat.c:4794
+#: postmaster/pgstat.c:5002 postmaster/pgstat.c:5208 postmaster/pgstat.c:5361
 #, c-format
 msgid "could not open statistics file \"%s\": %m"
 msgstr "konnte Statistikdatei »%s« nicht öffnen: %m"
 
-#: postmaster/pgstat.c:4468 postmaster/pgstat.c:4478 postmaster/pgstat.c:4488
-#: postmaster/pgstat.c:4509 postmaster/pgstat.c:4524 postmaster/pgstat.c:4578
-#: postmaster/pgstat.c:4653 postmaster/pgstat.c:4673 postmaster/pgstat.c:4691
-#: postmaster/pgstat.c:4707 postmaster/pgstat.c:4725 postmaster/pgstat.c:4741
-#: postmaster/pgstat.c:4806 postmaster/pgstat.c:4818 postmaster/pgstat.c:4830
-#: postmaster/pgstat.c:4855 postmaster/pgstat.c:4877
+#: postmaster/pgstat.c:5014 postmaster/pgstat.c:5024 postmaster/pgstat.c:5045
+#: postmaster/pgstat.c:5067 postmaster/pgstat.c:5082 postmaster/pgstat.c:5145
+#: postmaster/pgstat.c:5220 postmaster/pgstat.c:5240 postmaster/pgstat.c:5258
+#: postmaster/pgstat.c:5274 postmaster/pgstat.c:5292 postmaster/pgstat.c:5308
+#: postmaster/pgstat.c:5373 postmaster/pgstat.c:5385 postmaster/pgstat.c:5397
+#: postmaster/pgstat.c:5422 postmaster/pgstat.c:5444
 #, c-format
 msgid "corrupted statistics file \"%s\""
 msgstr "verfälschte Statistikdatei »%s«"
 
-#: postmaster/pgstat.c:5006
+#: postmaster/pgstat.c:5573
 #, 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:5333
+#: postmaster/pgstat.c:5900
 #, c-format
 msgid "database hash table corrupted during cleanup --- abort"
 msgstr "Datenbank-Hash-Tabelle beim Aufräumen verfälscht --- Abbruch"
 
-#: postmaster/postmaster.c:692
+#: postmaster/postmaster.c:717
 #, 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:778
+#: postmaster/postmaster.c:803
 #, 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:829
+#: postmaster/postmaster.c:854
 #, c-format
 msgid "%s: invalid argument: \"%s\"\n"
 msgstr "%s: ungültiges Argument: »%s«\n"
 
-#: postmaster/postmaster.c:868
-#, c-format
-msgid "%s: superuser_reserved_connections must be less than max_connections\n"
+#: postmaster/postmaster.c:896
+#, fuzzy, c-format
+#| msgid "%s: superuser_reserved_connections must be less than max_connections\n"
+msgid "%s: superuser_reserved_connections (%d) plus max_wal_senders (%d) must be less than max_connections (%d)\n"
 msgstr "%s: superuser_reserved_connections muss kleiner als max_connections sein\n"
 
-#: postmaster/postmaster.c:873
-#, c-format
-msgid "%s: max_wal_senders must be less than max_connections\n"
-msgstr "%s: max_wal_senders muss kleiner als max_connections sein\n"
-
-#: postmaster/postmaster.c:878
+#: postmaster/postmaster.c:903
 #, 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:881
+#: postmaster/postmaster.c:906
 #, 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:889
+#: postmaster/postmaster.c:914
 #, c-format
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s: ungültige datetoken-Tabellen, bitte reparieren\n"
 
-#: postmaster/postmaster.c:992 postmaster/postmaster.c:1090
-#: utils/init/miscinit.c:1429
+#: postmaster/postmaster.c:1028 postmaster/postmaster.c:1126
+#: utils/init/miscinit.c:1547
 #, c-format
 msgid "invalid list syntax in parameter \"%s\""
 msgstr "ungültige Listensyntax für Parameter »%s«"
 
-#: postmaster/postmaster.c:1023
+#: postmaster/postmaster.c:1059
 #, c-format
 msgid "could not create listen socket for \"%s\""
 msgstr "konnte Listen-Socket für »%s« nicht erzeugen"
 
-#: postmaster/postmaster.c:1029
+#: postmaster/postmaster.c:1065
 #, c-format
 msgid "could not create any TCP/IP sockets"
 msgstr "konnte keine TCP/IP-Sockets erstellen"
 
-#: postmaster/postmaster.c:1112
+#: postmaster/postmaster.c:1148
 #, 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:1118
+#: postmaster/postmaster.c:1154
 #, c-format
 msgid "could not create any Unix-domain sockets"
 msgstr "konnte keine Unix-Domain-Sockets erzeugen"
 
-#: postmaster/postmaster.c:1130
+#: postmaster/postmaster.c:1166
 #, c-format
 msgid "no socket created for listening"
 msgstr "keine Listen-Socket erzeugt"
 
-#: postmaster/postmaster.c:1170
+#: postmaster/postmaster.c:1206
 #, 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:1199
+#: postmaster/postmaster.c:1235
 #, 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:1203
+#: postmaster/postmaster.c:1239
 #, 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:1260
+#: postmaster/postmaster.c:1296
 #, c-format
 msgid "ending log output to stderr"
 msgstr "Logausgabe nach stderr endet"
 
-#: postmaster/postmaster.c:1261
+#: postmaster/postmaster.c:1297
 #, c-format
 msgid "Future log output will go to log destination \"%s\"."
 msgstr "Die weitere Logausgabe geht an Logziel »%s«."
 
-#: postmaster/postmaster.c:1287 utils/init/postinit.c:213
+#: postmaster/postmaster.c:1323 utils/init/postinit.c:214
 #, c-format
 msgid "could not load pg_hba.conf"
 msgstr "konnte pg_hba.conf nicht laden"
 
-#: postmaster/postmaster.c:1313
+#: postmaster/postmaster.c:1349
 #, c-format
 msgid "postmaster became multithreaded during startup"
 msgstr "Postmaster ist während des Starts multithreaded geworden"
 
-#: postmaster/postmaster.c:1314
+#: postmaster/postmaster.c:1350
 #, 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:1413
+#: postmaster/postmaster.c:1455
 #, c-format
 msgid "%s: could not locate matching postgres executable"
 msgstr "%s: konnte kein passendes Programm »postgres« finden"
 
-#: postmaster/postmaster.c:1436 utils/misc/tzparser.c:341
+#: postmaster/postmaster.c:1478 utils/misc/tzparser.c:341
 #, 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:1464
-#, c-format
-msgid "data directory \"%s\" does not exist"
-msgstr "Datenverzeichnis »%s« existiert nicht"
-
-#: postmaster/postmaster.c:1469
-#, c-format
-msgid "could not read permissions of directory \"%s\": %m"
-msgstr "konnte Zugriffsrechte von Verzeichnis »%s« nicht lesen: %m"
-
-#: postmaster/postmaster.c:1477
-#, c-format
-msgid "specified data directory \"%s\" is not a directory"
-msgstr "angegebenes Datenverzeichnis »%s« ist kein Verzeichnis"
-
-#: postmaster/postmaster.c:1493
-#, c-format
-msgid "data directory \"%s\" has wrong ownership"
-msgstr "Datenverzeichnis »%s« hat falschen Eigentümer"
-
-#: postmaster/postmaster.c:1495
-#, c-format
-msgid "The server must be started by the user that owns the data directory."
-msgstr "Der Server muss von dem Benutzer gestartet werden, dem das Datenverzeichnis gehört."
-
-#: postmaster/postmaster.c:1515
-#, c-format
-msgid "data directory \"%s\" has group or world access"
-msgstr "Datenverzeichnis »%s« erlaubt Zugriff von Gruppe oder Welt"
-
-#: postmaster/postmaster.c:1517
-#, c-format
-msgid "Permissions should be u=rwx (0700)."
-msgstr "Rechte sollten u=rwx (0700) sein."
-
-#: postmaster/postmaster.c:1528
+#: postmaster/postmaster.c:1505
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -15787,716 +16888,784 @@ msgstr ""
 "Es wurde im Verzeichnis »%s« erwartet,\n"
 "aber die Datei »%s« konnte nicht geöffnet werden: %s\n"
 
-#: postmaster/postmaster.c:1705
+#: postmaster/postmaster.c:1682
 #, c-format
 msgid "select() failed in postmaster: %m"
 msgstr "select() fehlgeschlagen im Postmaster: %m"
 
-#: postmaster/postmaster.c:1856
+#: postmaster/postmaster.c:1837
 #, 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:1934 postmaster/postmaster.c:1965
+#: postmaster/postmaster.c:1915 postmaster/postmaster.c:1946
 #, c-format
 msgid "incomplete startup packet"
 msgstr "unvollständiges Startpaket"
 
-#: postmaster/postmaster.c:1946
+#: postmaster/postmaster.c:1927
 #, c-format
 msgid "invalid length of startup packet"
 msgstr "ungültige Länge des Startpakets"
 
-#: postmaster/postmaster.c:2004
+#: postmaster/postmaster.c:1985
 #, c-format
 msgid "failed to send SSL negotiation response: %m"
 msgstr "konnte SSL-Verhandlungsantwort nicht senden: %m"
 
-#: postmaster/postmaster.c:2033
+#: postmaster/postmaster.c:2011
 #, 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:2096 utils/misc/guc.c:5726 utils/misc/guc.c:5819
-#: utils/misc/guc.c:7117 utils/misc/guc.c:9870 utils/misc/guc.c:9904
+#: postmaster/postmaster.c:2075 utils/misc/guc.c:5993 utils/misc/guc.c:6086
+#: utils/misc/guc.c:7412 utils/misc/guc.c:10172 utils/misc/guc.c:10206
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "ungültiger Wert für Parameter »%s«: »%s«"
 
-#: postmaster/postmaster.c:2099
+#: postmaster/postmaster.c:2078
 #, c-format
 msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"."
 msgstr "Gültige Werte sind: »false«, 0, »true«, 1, »database«."
 
-#: postmaster/postmaster.c:2119
+#: postmaster/postmaster.c:2108
 #, 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:2147
+#: postmaster/postmaster.c:2146
 #, c-format
 msgid "no PostgreSQL user name specified in startup packet"
 msgstr "kein PostgreSQL-Benutzername im Startpaket angegeben"
 
-#: postmaster/postmaster.c:2206
+#: postmaster/postmaster.c:2205
 #, c-format
 msgid "the database system is starting up"
 msgstr "das Datenbanksystem startet"
 
-#: postmaster/postmaster.c:2211
+#: postmaster/postmaster.c:2210
 #, c-format
 msgid "the database system is shutting down"
 msgstr "das Datenbanksystem fährt herunter"
 
-#: postmaster/postmaster.c:2216
+#: postmaster/postmaster.c:2215
 #, c-format
 msgid "the database system is in recovery mode"
 msgstr "das Datenbanksystem ist im Wiederherstellungsmodus"
 
-#: postmaster/postmaster.c:2221 storage/ipc/procarray.c:290
-#: storage/ipc/sinvaladt.c:298 storage/lmgr/proc.c:338
+#: postmaster/postmaster.c:2220 storage/ipc/procarray.c:292
+#: storage/ipc/sinvaladt.c:298 storage/lmgr/proc.c:339
 #, c-format
 msgid "sorry, too many clients already"
 msgstr "tut mir leid, schon zu viele Verbindungen"
 
-#: postmaster/postmaster.c:2283
+#: postmaster/postmaster.c:2310
 #, c-format
 msgid "wrong key in cancel request for process %d"
 msgstr "falscher Schlüssel in Stornierungsanfrage für Prozess %d"
 
-#: postmaster/postmaster.c:2291
+#: postmaster/postmaster.c:2318
 #, 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:2502
+#: postmaster/postmaster.c:2529
 #, c-format
 msgid "received SIGHUP, reloading configuration files"
 msgstr "SIGHUP empfangen, Konfigurationsdateien werden neu geladen"
 
-#: postmaster/postmaster.c:2527
-#, fuzzy, c-format
-#| msgid "pg_hba.conf not reloaded"
+#: postmaster/postmaster.c:2554
+#, c-format
 msgid "pg_hba.conf was not reloaded"
-msgstr "pg_hba.conf nicht neu geladen"
+msgstr "pg_hba.conf wurde nicht neu geladen"
 
-#: postmaster/postmaster.c:2531
-#, fuzzy, c-format
-#| msgid "pg_ident.conf not reloaded"
+#: postmaster/postmaster.c:2558
+#, c-format
 msgid "pg_ident.conf was not reloaded"
-msgstr "pg_ident.conf nicht neu geladen"
+msgstr "pg_ident.conf wurde nicht neu geladen"
 
-#: postmaster/postmaster.c:2541
-#, fuzzy, c-format
-#| msgid "text search configuration parameter \"%s\" not recognized"
+#: postmaster/postmaster.c:2568
+#, c-format
 msgid "SSL configuration was not reloaded"
-msgstr "Textsuchekonfigurationsparameter »%s« nicht erkannt"
+msgstr "SSL-Konfiguration wurde nicht neu geladen"
 
-#: postmaster/postmaster.c:2589
+#: postmaster/postmaster.c:2616
 #, c-format
 msgid "received smart shutdown request"
 msgstr "intelligentes Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2644
+#: postmaster/postmaster.c:2674
 #, c-format
 msgid "received fast shutdown request"
 msgstr "schnelles Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2674
+#: postmaster/postmaster.c:2707
 #, c-format
 msgid "aborting any active transactions"
 msgstr "etwaige aktive Transaktionen werden abgebrochen"
 
-#: postmaster/postmaster.c:2708
+#: postmaster/postmaster.c:2741
 #, c-format
 msgid "received immediate shutdown request"
 msgstr "sofortiges Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2772
+#: postmaster/postmaster.c:2808
 #, c-format
 msgid "shutdown at recovery target"
 msgstr "Herunterfahren beim Wiederherstellungsziel"
 
-#: postmaster/postmaster.c:2788 postmaster/postmaster.c:2811
+#: postmaster/postmaster.c:2824 postmaster/postmaster.c:2847
 msgid "startup process"
 msgstr "Startprozess"
 
-#: postmaster/postmaster.c:2791
+#: postmaster/postmaster.c:2827
 #, c-format
 msgid "aborting startup due to startup process failure"
 msgstr "Serverstart abgebrochen wegen Startprozessfehler"
 
-#: postmaster/postmaster.c:2852
+#: postmaster/postmaster.c:2888
 #, c-format
 msgid "database system is ready to accept connections"
 msgstr "Datenbanksystem ist bereit, um Verbindungen anzunehmen"
 
-#: postmaster/postmaster.c:2871
+#: postmaster/postmaster.c:2909
 msgid "background writer process"
 msgstr "Background-Writer-Prozess"
 
-#: postmaster/postmaster.c:2925
+#: postmaster/postmaster.c:2963
 msgid "checkpointer process"
 msgstr "Checkpointer-Prozess"
 
-#: postmaster/postmaster.c:2941
+#: postmaster/postmaster.c:2979
 msgid "WAL writer process"
 msgstr "WAL-Schreibprozess"
 
-#: postmaster/postmaster.c:2955
+#: postmaster/postmaster.c:2994
 msgid "WAL receiver process"
 msgstr "WAL-Receiver-Prozess"
 
-#: postmaster/postmaster.c:2970
+#: postmaster/postmaster.c:3009
 msgid "autovacuum launcher process"
 msgstr "Autovacuum-Launcher-Prozess"
 
-#: postmaster/postmaster.c:2985
+#: postmaster/postmaster.c:3024
 msgid "archiver process"
 msgstr "Archivierprozess"
 
-#: postmaster/postmaster.c:3001
+#: postmaster/postmaster.c:3040
 msgid "statistics collector process"
 msgstr "Statistiksammelprozess"
 
-#: postmaster/postmaster.c:3015
+#: postmaster/postmaster.c:3054
 msgid "system logger process"
 msgstr "Systemlogger-Prozess"
 
-#: postmaster/postmaster.c:3077
-msgid "worker process"
-msgstr "Worker-Prozess"
+#: postmaster/postmaster.c:3116
+#, c-format
+msgid "background worker \"%s\""
+msgstr "Background-Worker »%s«"
 
-#: postmaster/postmaster.c:3160 postmaster/postmaster.c:3180
-#: postmaster/postmaster.c:3187 postmaster/postmaster.c:3205
+#: postmaster/postmaster.c:3200 postmaster/postmaster.c:3220
+#: postmaster/postmaster.c:3227 postmaster/postmaster.c:3245
 msgid "server process"
 msgstr "Serverprozess"
 
-#: postmaster/postmaster.c:3259
+#: postmaster/postmaster.c:3299
 #, c-format
 msgid "terminating any other active server processes"
 msgstr "aktive Serverprozesse werden abgebrochen"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3515
+#: postmaster/postmaster.c:3555
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) beendete mit Status %d"
 
-#: postmaster/postmaster.c:3517 postmaster/postmaster.c:3528
-#: postmaster/postmaster.c:3539 postmaster/postmaster.c:3548
-#: postmaster/postmaster.c:3558
+#: postmaster/postmaster.c:3557 postmaster/postmaster.c:3568
+#: postmaster/postmaster.c:3579 postmaster/postmaster.c:3588
+#: postmaster/postmaster.c:3598
 #, c-format
 msgid "Failed process was running: %s"
 msgstr "Der fehlgeschlagene Prozess führte aus: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3525
+#: postmaster/postmaster.c:3565
 #, c-format
 msgid "%s (PID %d) was terminated by exception 0x%X"
 msgstr "%s (PID %d) wurde durch Ausnahme 0x%X beendet"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3535
+#: postmaster/postmaster.c:3575
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d: %s"
 msgstr "%s (PID %d) wurde von Signal %d beendet: %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3546
+#: postmaster/postmaster.c:3586
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d"
 msgstr "%s (PID %d) wurde von Signal %d beendet"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3556
+#: postmaster/postmaster.c:3596
 #, c-format
 msgid "%s (PID %d) exited with unrecognized status %d"
 msgstr "%s (PID %d) beendete mit unbekanntem Status %d"
 
-#: postmaster/postmaster.c:3743
+#: postmaster/postmaster.c:3783
 #, c-format
 msgid "abnormal database system shutdown"
 msgstr "abnormales Herunterfahren des Datenbanksystems"
 
-#: postmaster/postmaster.c:3783
+#: postmaster/postmaster.c:3823
 #, c-format
 msgid "all server processes terminated; reinitializing"
 msgstr "alle Serverprozesse beendet; initialisiere neu"
 
-#: postmaster/postmaster.c:3949 postmaster/postmaster.c:5343
-#: postmaster/postmaster.c:5649
-#, fuzzy, c-format
-#| msgid "could not generate random encryption vector"
+#: postmaster/postmaster.c:3993 postmaster/postmaster.c:5418
+#: postmaster/postmaster.c:5782
+#, c-format
 msgid "could not generate random cancel key"
-msgstr "konnte zufälligen Verschlüsselungsvektor nicht erzeugen"
+msgstr "konnte zufälligen Stornierungsschlüssel nicht erzeugen"
 
-#: postmaster/postmaster.c:4003
+#: postmaster/postmaster.c:4047
 #, c-format
 msgid "could not fork new process for connection: %m"
 msgstr "konnte neuen Prozess für Verbindung nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:4045
+#: postmaster/postmaster.c:4089
 msgid "could not fork new process for connection: "
 msgstr "konnte neuen Prozess für Verbindung nicht starten (fork-Fehler): "
 
-#: postmaster/postmaster.c:4159
+#: postmaster/postmaster.c:4203
 #, c-format
 msgid "connection received: host=%s port=%s"
 msgstr "Verbindung empfangen: Host=%s Port=%s"
 
-#: postmaster/postmaster.c:4164
+#: postmaster/postmaster.c:4208
 #, c-format
 msgid "connection received: host=%s"
 msgstr "Verbindung empfangen: Host=%s"
 
-#: postmaster/postmaster.c:4449
+#: postmaster/postmaster.c:4493
 #, c-format
 msgid "could not execute server process \"%s\": %m"
 msgstr "konnte Serverprozess »%s« nicht ausführen: %m"
 
-#: postmaster/postmaster.c:4792
+#: postmaster/postmaster.c:4646
+#, c-format
+msgid "giving up after too many tries to reserve shared memory"
+msgstr "Aufgabe nach zu vielen Versuchen, Shared Memory zu reservieren"
+
+#: postmaster/postmaster.c:4647
+#, c-format
+msgid "This might be caused by ASLR or antivirus software."
+msgstr "Dies kann durch ASLR oder Antivirus-Software verursacht werden."
+
+#: postmaster/postmaster.c:4858
 #, c-format
 msgid "SSL configuration could not be loaded in child process"
-msgstr ""
+msgstr "SSL-Konfiguration konnte im Kindprozess nicht geladen werden"
 
-#: postmaster/postmaster.c:4924
+#: postmaster/postmaster.c:4990
 #, c-format
 msgid "Please report this to ."
 msgstr "Bitte berichten Sie das an ."
 
-#: postmaster/postmaster.c:5003
+#: postmaster/postmaster.c:5077
 #, c-format
 msgid "database system is ready to accept read only connections"
 msgstr "Datenbanksystem ist bereit, um lesende Verbindungen anzunehmen"
 
-#: postmaster/postmaster.c:5271
+#: postmaster/postmaster.c:5346
 #, c-format
 msgid "could not fork startup process: %m"
 msgstr "konnte Startprozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5275
+#: postmaster/postmaster.c:5350
 #, c-format
 msgid "could not fork background writer process: %m"
 msgstr "konnte Background-Writer-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5279
+#: postmaster/postmaster.c:5354
 #, c-format
 msgid "could not fork checkpointer process: %m"
 msgstr "konnte Checkpointer-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5283
+#: postmaster/postmaster.c:5358
 #, c-format
 msgid "could not fork WAL writer process: %m"
 msgstr "konnte WAL-Writer-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5287
+#: postmaster/postmaster.c:5362
 #, c-format
 msgid "could not fork WAL receiver process: %m"
 msgstr "konnte WAL-Receiver-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5291
+#: postmaster/postmaster.c:5366
 #, c-format
 msgid "could not fork process: %m"
 msgstr "konnte Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5460 postmaster/postmaster.c:5483
+#: postmaster/postmaster.c:5553 postmaster/postmaster.c:5576
 #, c-format
 msgid "database connection requirement not indicated during registration"
 msgstr "die Notwendigkeit, Datenbankverbindungen zu erzeugen, wurde bei der Registrierung nicht angezeigt"
 
-#: postmaster/postmaster.c:5467 postmaster/postmaster.c:5490
+#: postmaster/postmaster.c:5560 postmaster/postmaster.c:5583
 #, c-format
 msgid "invalid processing mode in background worker"
 msgstr "ungültiger Verarbeitungsmodus in Background-Worker"
 
-#: postmaster/postmaster.c:5542
+#: postmaster/postmaster.c:5655
 #, c-format
 msgid "starting background worker process \"%s\""
 msgstr "starte Background-Worker-Prozess »%s«"
 
-#: postmaster/postmaster.c:5553
+#: postmaster/postmaster.c:5667
 #, c-format
 msgid "could not fork worker process: %m"
 msgstr "konnte Worker-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:5950
+#: postmaster/postmaster.c:6100
 #, c-format
 msgid "could not duplicate socket %d for use in backend: error code %d"
 msgstr "konnte Socket %d nicht für Verwendung in Backend duplizieren: Fehlercode %d"
 
-#: postmaster/postmaster.c:5982
+#: postmaster/postmaster.c:6132
 #, c-format
 msgid "could not create inherited socket: error code %d\n"
 msgstr "konnte geerbtes Socket nicht erzeugen: Fehlercode %d\n"
 
-#: postmaster/postmaster.c:6011
+#: postmaster/postmaster.c:6161
 #, c-format
 msgid "could not open backend variables file \"%s\": %s\n"
 msgstr "konnte Servervariablendatei »%s« nicht öffnen: %s\n"
 
-#: postmaster/postmaster.c:6018
+#: postmaster/postmaster.c:6168
 #, c-format
 msgid "could not read from backend variables file \"%s\": %s\n"
 msgstr "konnte nicht aus Servervariablendatei »%s« lesen: %s\n"
 
-#: postmaster/postmaster.c:6027
+#: postmaster/postmaster.c:6177
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "konnte Datei »%s« nicht löschen: %s\n"
 
-#: postmaster/postmaster.c:6044
+#: postmaster/postmaster.c:6194
 #, c-format
 msgid "could not map view of backend variables: error code %lu\n"
 msgstr "konnte Sicht der Backend-Variablen nicht mappen: Fehlercode %lu\n"
 
-#: postmaster/postmaster.c:6053
+#: postmaster/postmaster.c:6203
 #, c-format
 msgid "could not unmap view of backend variables: error code %lu\n"
 msgstr "konnte Sicht der Backend-Variablen nicht unmappen: Fehlercode %lu\n"
 
-#: postmaster/postmaster.c:6060
+#: postmaster/postmaster.c:6210
 #, c-format
 msgid "could not close handle to backend parameter variables: error code %lu\n"
 msgstr "konnte Handle für Backend-Parametervariablen nicht schließen: Fehlercode %lu\n"
 
-#: postmaster/postmaster.c:6221
+#: postmaster/postmaster.c:6371
 #, c-format
 msgid "could not read exit code for process\n"
 msgstr "konnte Exitcode des Prozesses nicht lesen\n"
 
-#: postmaster/postmaster.c:6226
+#: postmaster/postmaster.c:6376
 #, c-format
 msgid "could not post child completion status\n"
 msgstr "konnte Child-Completion-Status nicht versenden\n"
 
-#: postmaster/syslogger.c:452 postmaster/syslogger.c:1053
+#: postmaster/syslogger.c:453 postmaster/syslogger.c:1054
 #, c-format
 msgid "could not read from logger pipe: %m"
 msgstr "konnte nicht aus Logger-Pipe lesen: %m"
 
-#: postmaster/syslogger.c:502
+#: postmaster/syslogger.c:503
 #, c-format
 msgid "logger shutting down"
 msgstr "Logger fährt herunter"
 
-#: postmaster/syslogger.c:546 postmaster/syslogger.c:560
+#: postmaster/syslogger.c:547 postmaster/syslogger.c:561
 #, c-format
 msgid "could not create pipe for syslog: %m"
 msgstr "konnte Pipe für Syslog nicht erzeugen: %m"
 
-#: postmaster/syslogger.c:596
+#: postmaster/syslogger.c:597
 #, c-format
 msgid "could not fork system logger: %m"
 msgstr "konnte Systemlogger nicht starten (fork-Fehler): %m"
 
-#: postmaster/syslogger.c:632
+#: postmaster/syslogger.c:633
 #, c-format
 msgid "redirecting log output to logging collector process"
 msgstr "Logausgabe wird an Logsammelprozess umgeleitet"
 
-#: postmaster/syslogger.c:633
+#: postmaster/syslogger.c:634
 #, c-format
 msgid "Future log output will appear in directory \"%s\"."
 msgstr "Die weitere Logausgabe wird im Verzeichnis »%s« erscheinen."
 
-#: postmaster/syslogger.c:641
+#: postmaster/syslogger.c:642
 #, c-format
 msgid "could not redirect stdout: %m"
 msgstr "konnte Standardausgabe nicht umleiten: %m"
 
-#: postmaster/syslogger.c:646 postmaster/syslogger.c:663
+#: postmaster/syslogger.c:647 postmaster/syslogger.c:664
 #, c-format
 msgid "could not redirect stderr: %m"
 msgstr "konnte Standardfehlerausgabe nicht umleiten: %m"
 
-#: postmaster/syslogger.c:1008
+#: postmaster/syslogger.c:1009
 #, c-format
 msgid "could not write to log file: %s\n"
 msgstr "konnte nicht in Logdatei schreiben: %s\n"
 
-#: postmaster/syslogger.c:1150
+#: postmaster/syslogger.c:1151
 #, c-format
 msgid "could not open log file \"%s\": %m"
 msgstr "konnte Logdatei »%s« nicht öffnen: %m"
 
-#: postmaster/syslogger.c:1212 postmaster/syslogger.c:1256
+#: postmaster/syslogger.c:1213 postmaster/syslogger.c:1257
 #, c-format
 msgid "disabling automatic rotation (use SIGHUP to re-enable)"
 msgstr "automatische Rotation abgeschaltet (SIGHUP zum Wiederanschalten verwenden)"
 
-#: regex/regc_pg_locale.c:261
+#: regex/regc_pg_locale.c:262
 #, c-format
 msgid "could not determine which collation to use for regular expression"
 msgstr "konnte die für den regulären Ausdruck zu verwendende Sortierfolge nicht bestimmen"
 
-#: repl_gram.y:280 repl_gram.y:317
+#: repl_gram.y:336 repl_gram.y:368
 #, c-format
 msgid "invalid timeline %u"
 msgstr "ungültige Zeitleiste %u"
 
-#: repl_scanner.l:122
+#: repl_scanner.l:129
 msgid "invalid streaming start location"
 msgstr "ungültige Streaming-Startposition"
 
-#: repl_scanner.l:173 scan.l:670
+#: repl_scanner.l:180 scan.l:674
 msgid "unterminated quoted string"
 msgstr "Zeichenkette in Anführungszeichen nicht abgeschlossen"
 
-#: repl_scanner.l:183
-#, c-format
-msgid "syntax error: unexpected character \"%s\""
-msgstr "Syntaxfehler: unerwartetes Zeichen »%s«"
-
-#: replication/basebackup.c:303
+#: replication/basebackup.c:336
 #, c-format
 msgid "could not stat control file \"%s\": %m"
 msgstr "konnte »stat« für Kontrolldatei »%s« nicht ausführen: %m"
 
-#: replication/basebackup.c:412
+#: replication/basebackup.c:443
 #, c-format
 msgid "could not find any WAL files"
 msgstr "konnte keine WAL-Dateien finden"
 
-#: replication/basebackup.c:425 replication/basebackup.c:439
-#: replication/basebackup.c:448
+#: replication/basebackup.c:457 replication/basebackup.c:472
+#: replication/basebackup.c:481
 #, c-format
 msgid "could not find WAL file \"%s\""
 msgstr "konnte WAL-Datei »%s« nicht finden"
 
-#: replication/basebackup.c:487 replication/basebackup.c:513
+#: replication/basebackup.c:520 replication/basebackup.c:548
 #, c-format
 msgid "unexpected WAL file size \"%s\""
 msgstr "unerwartete WAL-Dateigröße »%s«"
 
-#: replication/basebackup.c:499 replication/basebackup.c:1228
+#: replication/basebackup.c:534 replication/basebackup.c:1526
 #, c-format
 msgid "base backup could not send data, aborting backup"
 msgstr "Basissicherung konnte keine Daten senden, Sicherung abgebrochen"
 
-#: replication/basebackup.c:601 replication/basebackup.c:610
-#: replication/basebackup.c:619 replication/basebackup.c:628
-#: replication/basebackup.c:637 replication/basebackup.c:648
-#: replication/basebackup.c:665
+#: replication/basebackup.c:606
+#, fuzzy, c-format
+#| msgid "  data checksum version\n"
+msgid "%s total checksum verification failures"
+msgstr "  Datenprüfsummenversion\n"
+
+#: replication/basebackup.c:610
+#, c-format
+msgid "checksum verification failure during base backup"
+msgstr ""
+
+#: replication/basebackup.c:654 replication/basebackup.c:663
+#: replication/basebackup.c:672 replication/basebackup.c:681
+#: replication/basebackup.c:690 replication/basebackup.c:701
+#: replication/basebackup.c:718 replication/basebackup.c:727
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "doppelte Option »%s«"
 
-#: replication/basebackup.c:654 utils/misc/guc.c:5736
-#, c-format
-msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
-msgstr "%d ist außerhalb des gültigen Bereichs für Parameter »%s« (%d ... %d)"
+#: replication/basebackup.c:707 utils/misc/guc.c:6003
+#, c-format
+msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
+msgstr "%d ist außerhalb des gültigen Bereichs für Parameter »%s« (%d ... %d)"
+
+#: replication/basebackup.c:981 replication/basebackup.c:1151
+#, c-format
+msgid "could not stat file or directory \"%s\": %m"
+msgstr "konnte »stat« für Datei oder Verzeichnis »%s« nicht ausführen: %m"
+
+#: replication/basebackup.c:1306
+#, c-format
+msgid "skipping special file \"%s\""
+msgstr "überspringe besondere Datei »%s«"
+
+#: replication/basebackup.c:1411
+#, fuzzy, c-format
+#| msgid "invalid column number %d for table \"%s\"\n"
+msgid "invalid segment number %d in file \"%s\""
+msgstr "ungültige Spaltennummer %d in Tabelle »%s«\n"
+
+#: replication/basebackup.c:1430
+#, c-format
+msgid "cannot verify checksum in file \"%s\", block %d: read buffer size %d and page size %d differ"
+msgstr ""
+
+#: replication/basebackup.c:1474 replication/basebackup.c:1490
+#, fuzzy, c-format
+#| msgid "could not seek in file \"%s\": %m"
+msgid "could not fseek in file \"%s\": %m"
+msgstr "konnte Positionszeiger in Datei »%s« nicht setzen: %m"
+
+#: replication/basebackup.c:1482
+#, fuzzy, c-format
+#| msgid "could not read block %u in file \"%s\": %m"
+msgid "could not reread block %d of file \"%s\": %m"
+msgstr "konnte Block %u in Datei »%s« nicht lesen: %m"
+
+#: replication/basebackup.c:1506
+#, fuzzy, c-format
+#| msgid "page verification failed, calculated checksum %u but expected %u"
+msgid "checksum verification failed in file \"%s\", block %d: calculated %X but expected %X"
+msgstr "Seitenüberprüfung fehlgeschlagen, berechnete Prüfsumme %u, aber erwartet %u"
 
-#: replication/basebackup.c:928 replication/basebackup.c:1025
+#: replication/basebackup.c:1513
 #, c-format
-msgid "could not stat file or directory \"%s\": %m"
-msgstr "konnte »stat« für Datei oder Verzeichnis »%s« nicht ausführen: %m"
+msgid "further checksum verification failures in file \"%s\" will not be reported"
+msgstr ""
 
-#: replication/basebackup.c:1180
+#: replication/basebackup.c:1571
 #, c-format
-msgid "skipping special file \"%s\""
-msgstr "überspringe besondere Datei »%s«"
+msgid "file \"%s\" has a total of %d checksum verification failures"
+msgstr ""
 
-#: replication/basebackup.c:1293
+#: replication/basebackup.c:1599
 #, c-format
 msgid "file name too long for tar format: \"%s\""
 msgstr "Dateiname zu lang für Tar-Format: »%s«"
 
-#: replication/basebackup.c:1298
+#: replication/basebackup.c:1604
 #, c-format
 msgid "symbolic link target too long for tar format: file name \"%s\", target \"%s\""
 msgstr "Ziel der symbolischen Verknüpfung zu lang für Tar-Format: Dateiname »%s«, Ziel »%s«"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:221
-#, fuzzy, c-format
-#| msgid "invalid connection type: %s"
+#: replication/libpqwalreceiver/libpqwalreceiver.c:235
+#, c-format
 msgid "invalid connection string syntax: %s"
-msgstr "ungültiger Verbindungstyp: %s"
+msgstr "ungültige Syntax für Verbindungszeichenkette: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:245
+#: replication/libpqwalreceiver/libpqwalreceiver.c:259
 #, c-format
 msgid "could not parse connection string: %s"
 msgstr "konnte Verbindungsparameter nicht interpretieren: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:295
+#: replication/libpqwalreceiver/libpqwalreceiver.c:332
 #, c-format
 msgid "could not receive database system identifier and timeline ID from the primary server: %s"
 msgstr "konnte Datenbanksystemidentifikator und Zeitleisten-ID nicht vom Primärserver empfangen: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:306
-#: replication/libpqwalreceiver/libpqwalreceiver.c:512
+#: replication/libpqwalreceiver/libpqwalreceiver.c:343
+#: replication/libpqwalreceiver/libpqwalreceiver.c:550
 #, c-format
 msgid "invalid response from primary server"
 msgstr "ungültige Antwort vom Primärserver"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:307
+#: replication/libpqwalreceiver/libpqwalreceiver.c:344
 #, c-format
 msgid "Could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields."
 msgstr "Konnte System nicht identifizieren: %d Zeilen und %d Felder erhalten, %d Zeilen und %d oder mehr Felder erwartet."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:373
-#: replication/libpqwalreceiver/libpqwalreceiver.c:379
-#: replication/libpqwalreceiver/libpqwalreceiver.c:404
+#: replication/libpqwalreceiver/libpqwalreceiver.c:410
+#: replication/libpqwalreceiver/libpqwalreceiver.c:416
+#: replication/libpqwalreceiver/libpqwalreceiver.c:441
 #, c-format
 msgid "could not start WAL streaming: %s"
 msgstr "konnte WAL-Streaming nicht starten: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:423
+#: replication/libpqwalreceiver/libpqwalreceiver.c:460
 #, c-format
 msgid "could not send end-of-streaming message to primary: %s"
 msgstr "konnte End-of-Streaming-Nachricht nicht an Primärserver senden: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:447
+#: replication/libpqwalreceiver/libpqwalreceiver.c:482
 #, c-format
 msgid "unexpected result set after end-of-streaming"
 msgstr "unerwartete Ergebnismenge nach End-of-Streaming"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:467
+#: replication/libpqwalreceiver/libpqwalreceiver.c:496
+#, c-format
+msgid "error while shutting down streaming COPY: %s"
+msgstr "Fehler beim Beenden des COPY-Datenstroms: %s"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:505
 #, c-format
 msgid "error reading result of streaming command: %s"
 msgstr "Fehler beim Lesen des Ergebnisses von Streaming-Befehl: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:475
+#: replication/libpqwalreceiver/libpqwalreceiver.c:513
+#: replication/libpqwalreceiver/libpqwalreceiver.c:741
 #, c-format
 msgid "unexpected result after CommandComplete: %s"
 msgstr "unerwartetes Ergebnis nach CommandComplete: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:501
+#: replication/libpqwalreceiver/libpqwalreceiver.c:539
 #, c-format
 msgid "could not receive timeline history file from the primary server: %s"
 msgstr "konnte Zeitleisten-History-Datei nicht vom Primärserver empfangen: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:513
+#: replication/libpqwalreceiver/libpqwalreceiver.c:551
 #, c-format
 msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields."
 msgstr "1 Tupel mit 2 Feldern erwartet, %d Tupel mit %d Feldern erhalten."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:660
-#: replication/libpqwalreceiver/libpqwalreceiver.c:687
-#: replication/libpqwalreceiver/libpqwalreceiver.c:693
+#: replication/libpqwalreceiver/libpqwalreceiver.c:705
+#: replication/libpqwalreceiver/libpqwalreceiver.c:756
+#: replication/libpqwalreceiver/libpqwalreceiver.c:762
 #, c-format
 msgid "could not receive data from WAL stream: %s"
 msgstr "konnte keine Daten vom WAL-Stream empfangen: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:712
+#: replication/libpqwalreceiver/libpqwalreceiver.c:781
 #, c-format
 msgid "could not send data to WAL stream: %s"
 msgstr "konnte keine Daten an den WAL-Stream senden: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:746
-#, fuzzy, c-format
-#| msgid "could not create directory \"%s\": %s\n"
+#: replication/libpqwalreceiver/libpqwalreceiver.c:830
+#, c-format
 msgid "could not create replication slot \"%s\": %s"
-msgstr "konnte Verzeichnis »%s« nicht erzeugen: %s\n"
+msgstr "konnte Replikations-Slot »%s« nicht erzeugen: %s"
 
-#: replication/logical/launcher.c:236
-#, fuzzy, c-format
-#| msgid "starting logical decoding for slot \"%s\""
+#: replication/libpqwalreceiver/libpqwalreceiver.c:864
+#, c-format
+msgid "invalid query response"
+msgstr "ungültige Antwort auf Anfrage"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:865
+#, c-format
+msgid "Expected %d fields, got %d fields."
+msgstr "%d Felder erwartet, %d Feldern erhalten."
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:934
+#, c-format
+msgid "the query interface requires a database connection"
+msgstr "Ausführen von Anfragen benötigt eine Datenbankverbindung"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:965
+msgid "empty query"
+msgstr "leere Anfrage"
+
+#: replication/logical/launcher.c:298
+#, c-format
 msgid "starting logical replication worker for subscription \"%s\""
-msgstr "starte logisches Dekodieren für Slot »%s«"
+msgstr "starte Arbeitsprozess für logische Replikation für Subskription »%s«"
 
-#: replication/logical/launcher.c:243
-#, fuzzy, c-format
-#| msgid "cannot query or manipulate replication origin when max_replication_slots = 0"
+#: replication/logical/launcher.c:305
+#, c-format
 msgid "cannot start logical replication workers when max_replication_slots = 0"
-msgstr "Replication-Origin kann nicht abgefragt oder geändert werden, wenn max_replication_slots = 0"
+msgstr "Arbeitsprozesse für logische Replikation können nicht gestartet werden, wenn max_replication_slots = 0"
 
-#: replication/logical/launcher.c:267
+#: replication/logical/launcher.c:385
 #, c-format
-msgid "out of logical replication workers slots"
-msgstr ""
+msgid "out of logical replication worker slots"
+msgstr "alle Slots für Arbeitsprozesse für logische Replikation belegt"
 
-#: replication/logical/launcher.c:268
-#, fuzzy, c-format
-#| msgid "You might need to increase max_locks_per_transaction."
+#: replication/logical/launcher.c:386
+#, c-format
 msgid "You might need to increase max_logical_replication_workers."
-msgstr "Sie müssen möglicherweise max_locks_per_transaction erhöhen."
+msgstr "Sie müssen möglicherweise max_logical_replication_workers erhöhen."
 
-#: replication/logical/launcher.c:296
-#, fuzzy, c-format
-#| msgid "too many background workers"
-msgid "out of background workers slots"
-msgstr "zu viele Background-Worker"
+#: replication/logical/launcher.c:441
+#, c-format
+msgid "out of background worker slots"
+msgstr "alle Slots für Background-Worker belegt"
 
-#: replication/logical/launcher.c:297
-#, fuzzy, c-format
-#| msgid "You might need to increase max_locks_per_transaction."
+#: replication/logical/launcher.c:442
+#, c-format
 msgid "You might need to increase max_worker_processes."
-msgstr "Sie müssen möglicherweise max_locks_per_transaction erhöhen."
+msgstr "Sie müssen möglicherweise max_worker_processes erhöhen."
 
-#: replication/logical/launcher.c:413
+#: replication/logical/launcher.c:625
 #, c-format
-msgid "logical replication worker slot %d already used by another worker"
-msgstr ""
+msgid "logical replication worker slot %d is empty, cannot attach"
+msgstr "Arbeitsprozess-Slot %d für logische Replikation ist leer, kann nicht zugeteilt werden"
 
-#: replication/logical/launcher.c:556
-#, fuzzy, c-format
-#| msgid "autovacuum launcher started"
-msgid "logical replication launcher started"
-msgstr "Autovacuum-Launcher startet"
+#: replication/logical/launcher.c:634
+#, c-format
+msgid "logical replication worker slot %d is already used by another worker, cannot attach"
+msgstr "Arbeitsprozess-Slot %d für logische Replikation wird schon von einem anderen Arbeitsprozess verwendet, kann nicht zugeteilt werden"
 
-#: replication/logical/launcher.c:656
-#, fuzzy, c-format
-#| msgid "autovacuum launcher shutting down"
-msgid "logical replication launcher shutting down"
-msgstr "Autovacuum-Launcher fährt herunter"
+#: replication/logical/launcher.c:888
+#, c-format
+msgid "logical replication launcher started"
+msgstr "Logical-Replication-Launcher startet"
 
-#: replication/logical/logical.c:83
+#: replication/logical/logical.c:85
 #, c-format
 msgid "logical decoding requires wal_level >= logical"
 msgstr "logische Dekodierung erfordert wal_level >= logical"
 
-#: replication/logical/logical.c:88
+#: replication/logical/logical.c:90
 #, c-format
 msgid "logical decoding requires a database connection"
 msgstr "logische Dekodierung benötigt eine Datenbankverbindung"
 
-#: replication/logical/logical.c:106
+#: replication/logical/logical.c:108
 #, c-format
 msgid "logical decoding cannot be used while in recovery"
 msgstr "logische Dekodierung kann nicht während der Wiederherstellung verwendet werden"
 
-#: replication/logical/logical.c:236 replication/logical/logical.c:348
+#: replication/logical/logical.c:250 replication/logical/logical.c:376
 #, c-format
 msgid "cannot use physical replication slot for logical decoding"
 msgstr "physischer Replikations-Slot kann nicht für logisches Dekodieren verwendet werden"
 
-#: replication/logical/logical.c:241 replication/logical/logical.c:353
+#: replication/logical/logical.c:255 replication/logical/logical.c:381
 #, c-format
 msgid "replication slot \"%s\" was not created in this database"
 msgstr "Replikations-Slot »%s« wurde nicht in dieser Datenbank erzeugt"
 
-#: replication/logical/logical.c:248
+#: replication/logical/logical.c:262
 #, c-format
 msgid "cannot create logical replication slot in transaction that has performed writes"
 msgstr "logischer Replikations-Slot kann nicht in einer Transaktion erzeugt werden, die Schreibvorgänge ausgeführt hat"
 
-#: replication/logical/logical.c:390
+#: replication/logical/logical.c:421
 #, c-format
 msgid "starting logical decoding for slot \"%s\""
 msgstr "starte logisches Dekodieren für Slot »%s«"
 
-#: replication/logical/logical.c:392
+#: replication/logical/logical.c:423
 #, c-format
-msgid "streaming transactions committing after %X/%X, reading WAL from %X/%X"
-msgstr "Streaming beginnt bei Transaktionen, die nach %X/%X committen; lese WAL ab %X/%X"
+msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
+msgstr "Streaming beginnt bei Transaktionen, die nach %X/%X committen; lese WAL ab %X/%X."
 
-#: replication/logical/logical.c:527
+#: replication/logical/logical.c:570
 #, c-format
 msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
 msgstr "Slot »%s«, Ausgabe-Plugin »%s«, im Callback %s, zugehörige LSN %X/%X"
 
-#: replication/logical/logical.c:534
+#: replication/logical/logical.c:577
 #, c-format
 msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
 msgstr "Slot »%s«, Ausgabe-Plugin »%s«, im Callback %s"
 
-#: replication/logical/logicalfuncs.c:114 replication/slotfuncs.c:32
+#: replication/logical/logicalfuncs.c:114 replication/slotfuncs.c:35
 #, c-format
 msgid "must be superuser or replication role to use replication slots"
 msgstr "nur Superuser und Replikationsrollen können Replikations-Slots verwenden"
@@ -16521,616 +17690,716 @@ msgstr "Array muss eindimensional sein"
 msgid "array must not contain nulls"
 msgstr "Array darf keine NULL-Werte enthalten"
 
-#: replication/logical/logicalfuncs.c:222 utils/adt/json.c:2282
-#: utils/adt/jsonb.c:1357
+#: replication/logical/logicalfuncs.c:222 utils/adt/json.c:2310
+#: utils/adt/jsonb.c:1269
 #, c-format
 msgid "array must have even number of elements"
 msgstr "Array muss eine gerade Anzahl Elemente haben"
 
-#: replication/logical/logicalfuncs.c:265
+#: replication/logical/logicalfuncs.c:269
 #, c-format
 msgid "logical decoding output plugin \"%s\" produces binary output, but function \"%s\" expects textual data"
 msgstr "Ausgabe-Plugin »%s« erzeugt binäre Ausgabe, aber Funktion »%s« erwartet Textdaten"
 
-#: replication/logical/origin.c:180
+#: replication/logical/origin.c:185
 #, c-format
 msgid "only superusers can query or manipulate replication origins"
 msgstr "nur Superuser können Replication-Origins abfragen oder ändern"
 
-#: replication/logical/origin.c:185
+#: replication/logical/origin.c:190
 #, c-format
 msgid "cannot query or manipulate replication origin when max_replication_slots = 0"
 msgstr "Replication-Origin kann nicht abgefragt oder geändert werden, wenn max_replication_slots = 0"
 
-#: replication/logical/origin.c:190
+#: replication/logical/origin.c:195
 #, c-format
 msgid "cannot manipulate replication origins during recovery"
 msgstr "Replication-Origins können nicht während der Wiederherstellung geändert werden"
 
-#: replication/logical/origin.c:314
+#: replication/logical/origin.c:230
+#, c-format
+msgid "replication origin \"%s\" does not exist"
+msgstr "Replication-Origin »%s« existiert nicht"
+
+#: replication/logical/origin.c:321
 #, c-format
 msgid "could not find free replication origin OID"
 msgstr "konnte keine freie Replication-Origin-OID finden"
 
-#: replication/logical/origin.c:351
+#: replication/logical/origin.c:369
 #, c-format
 msgid "could not drop replication origin with OID %d, in use by PID %d"
 msgstr "konnte Replication-Origin mit OID %d nicht löschen, wird von PID %d verwendet"
 
-#: replication/logical/origin.c:664
+#: replication/logical/origin.c:461
+#, c-format
+msgid "replication origin with OID %u does not exist"
+msgstr "Replication-Origin mit OID %u existiert nicht"
+
+#: replication/logical/origin.c:707
 #, c-format
 msgid "replication checkpoint has wrong magic %u instead of %u"
 msgstr "Replikations-Checkpoint hat falsche magische Zahl %u statt %u"
 
-#: replication/logical/origin.c:696
+#: replication/logical/origin.c:739
 #, c-format
 msgid "could not read file \"%s\": read %d of %zu"
 msgstr "konnte Datei »%s« nicht lesen: %d von %zu gelesen"
 
-#: replication/logical/origin.c:705
+#: replication/logical/origin.c:748
 #, c-format
 msgid "could not find free replication state, increase max_replication_slots"
 msgstr "konnte keinen freien Replication-State finden, erhöhen Sie max_replication_slots"
 
-#: replication/logical/origin.c:723
+#: replication/logical/origin.c:766
 #, c-format
 msgid "replication slot checkpoint has wrong checksum %u, expected %u"
 msgstr "Replikations-Slot-Checkpoint hat falsche Prüfsumme %u, erwartet wurde %u"
 
-#: replication/logical/origin.c:847
+#: replication/logical/origin.c:890
 #, c-format
 msgid "replication origin with OID %d is already active for PID %d"
 msgstr "Replication-Origin mit OID %d ist bereits aktiv für PID %d"
 
-#: replication/logical/origin.c:858 replication/logical/origin.c:1038
+#: replication/logical/origin.c:901 replication/logical/origin.c:1088
 #, c-format
 msgid "could not find free replication state slot for replication origin with OID %u"
 msgstr "konnte keinen freien Replication-State-Slot für Replication-Origin mit OID %u finden"
 
-#: replication/logical/origin.c:860 replication/logical/origin.c:1040
-#: replication/slot.c:1336
+#: replication/logical/origin.c:903 replication/logical/origin.c:1090
+#: replication/slot.c:1508
 #, c-format
 msgid "Increase max_replication_slots and try again."
 msgstr "Erhöhen Sie max_replication_slots und versuchen Sie es erneut."
 
-#: replication/logical/origin.c:997
+#: replication/logical/origin.c:1047
 #, c-format
 msgid "cannot setup replication origin when one is already setup"
 msgstr "kann Replication-Origin nicht einrichten, wenn schon einer eingerichtet ist"
 
-#: replication/logical/origin.c:1026
+#: replication/logical/origin.c:1076
 #, c-format
 msgid "replication identifier %d is already active for PID %d"
 msgstr "Replikationsidentifikator %d ist bereits aktiv für PID %d"
 
-#: replication/logical/origin.c:1072 replication/logical/origin.c:1267
-#: replication/logical/origin.c:1287
+#: replication/logical/origin.c:1127 replication/logical/origin.c:1325
+#: replication/logical/origin.c:1345
 #, c-format
 msgid "no replication origin is configured"
 msgstr "kein Replication-Origin konfiguriert"
 
-#: replication/logical/relation.c:265
-#, fuzzy, c-format
-#| msgid "replication slot \"%s\" does not exist"
+#: replication/logical/relation.c:255
+#, c-format
 msgid "logical replication target relation \"%s.%s\" does not exist"
-msgstr "Replikations-Slot »%s« existiert nicht"
-
-#: replication/logical/relation.c:276
-#, fuzzy, c-format
-#| msgid "referenced relation \"%s\" is not a table"
-msgid "logical replication target relation \"%s.%s\" is not a table"
-msgstr "Relation »%s«, auf die verwiesen wird, ist keine Tabelle"
+msgstr "Zielrelation für logische Replikation »%s.%s« existiert nicht"
 
-#: replication/logical/relation.c:303
+#: replication/logical/relation.c:297
 #, c-format
 msgid "logical replication target relation \"%s.%s\" is missing some replicated columns"
-msgstr ""
+msgstr "in Zielrelation für logische Replikation »%s.%s« fehlen replizierte Spalten"
 
-#: replication/logical/relation.c:342
+#: replication/logical/relation.c:337
 #, c-format
 msgid "logical replication target relation \"%s.%s\" uses system columns in REPLICA IDENTITY index"
-msgstr ""
-
-#: replication/logical/relation.c:452
-#, fuzzy, c-format
-#| msgid "function \"%s\" not found\n"
-msgid "builtin type %u not found"
-msgstr "Funktion »%s« nicht gefunden\n"
-
-#: replication/logical/relation.c:453
-#, c-format
-msgid "This can be caused by having publisher with higher major version than subscriber"
-msgstr ""
-
-#: replication/logical/relation.c:485
-#, fuzzy, c-format
-#| msgid "database \"%s\" is used by a logical replication slot"
-msgid "data type \"%s.%s\" required for logical replication does not exist"
-msgstr "Datenbank »%s« wird von einem logischen Replikations-Slot verwendet"
+msgstr "Zielrelation für logische Replikation »%s.%s« verwendet Systemspalten in REPLICA-IDENTITY-Index"
 
-#: replication/logical/reorderbuffer.c:2286
+#: replication/logical/reorderbuffer.c:2310
 #, c-format
 msgid "could not write to data file for XID %u: %m"
 msgstr "konnte nicht in Datendatei für XID %u schreiben: %m"
 
-#: replication/logical/reorderbuffer.c:2382
-#: replication/logical/reorderbuffer.c:2402
+#: replication/logical/reorderbuffer.c:2403
+#: replication/logical/reorderbuffer.c:2425
 #, c-format
 msgid "could not read from reorderbuffer spill file: %m"
 msgstr "konnte nicht aus Reorder-Buffer-Spill-Datei lesen: %m"
 
-#: replication/logical/reorderbuffer.c:2386
-#: replication/logical/reorderbuffer.c:2406
+#: replication/logical/reorderbuffer.c:2407
+#: replication/logical/reorderbuffer.c:2429
 #, c-format
 msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes"
 msgstr "konnte nicht aus Reorder-Buffer-Spill-Datei lesen: %d statt %u Bytes gelesen"
 
-#: replication/logical/reorderbuffer.c:3062
+#: replication/logical/reorderbuffer.c:2642
+#, fuzzy, c-format
+#| msgid "could not read file \"%s\", read %d of %d: %m"
+msgid "could not remove file \"%s\" during removal of pg_replslot/%s/*.xid: %m"
+msgstr "konnte Datei »%s« nicht lesen, %d von %d gelesen: %m"
+
+#: replication/logical/reorderbuffer.c:3108
 #, c-format
 msgid "could not read from file \"%s\": read %d instead of %d bytes"
 msgstr "konnte nicht aus Datei »%s« lesen: %d statt %d Bytes gelesen"
 
-#: replication/logical/snapbuild.c:597
+#: replication/logical/snapbuild.c:612
+#, c-format
+msgid "initial slot snapshot too large"
+msgstr "initialer Slot-Snapshot ist zu groß"
+
+#: replication/logical/snapbuild.c:664
 #, c-format
 msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID"
 msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs"
 msgstr[0] "logischer Dekodierungs-Snapshot exportiert: »%s« mit %u Transaktions-ID"
 msgstr[1] "logischer Dekodierungs-Snapshot exportiert: »%s« mit %u Transaktions-IDs"
 
-#: replication/logical/snapbuild.c:916 replication/logical/snapbuild.c:1281
-#: replication/logical/snapbuild.c:1812
+#: replication/logical/snapbuild.c:1262 replication/logical/snapbuild.c:1355
+#: replication/logical/snapbuild.c:1841
 #, c-format
 msgid "logical decoding found consistent point at %X/%X"
 msgstr "logisches Dekodieren fand konsistenten Punkt bei %X/%X"
 
-#: replication/logical/snapbuild.c:918
-#, c-format
-msgid "Transaction ID %u finished; no more running transactions."
-msgstr "Transaktions-ID %u beendet; keine laufenden Transaktionen mehr."
-
-#: replication/logical/snapbuild.c:1283
+#: replication/logical/snapbuild.c:1264
 #, c-format
 msgid "There are no running transactions."
 msgstr "Keine laufenden Transaktionen."
 
-#: replication/logical/snapbuild.c:1345
+#: replication/logical/snapbuild.c:1306
 #, c-format
 msgid "logical decoding found initial starting point at %X/%X"
 msgstr "logisches Dekodieren fand initialen Startpunkt bei %X/%X"
 
-#: replication/logical/snapbuild.c:1347
+#: replication/logical/snapbuild.c:1308 replication/logical/snapbuild.c:1332
+#, c-format
+msgid "Waiting for transactions (approximately %d) older than %u to end."
+msgstr "Warten auf Abschluss der Transaktionen (ungefähr %d), die älter als %u sind."
+
+#: replication/logical/snapbuild.c:1330
+#, c-format
+msgid "logical decoding found initial consistent point at %X/%X"
+msgstr "logisches Dekodieren fand initialen konsistenten Punkt bei %X/%X"
+
+#: replication/logical/snapbuild.c:1357
 #, c-format
-msgid "%u transaction needs to finish."
-msgid_plural "%u transactions need to finish."
-msgstr[0] "%u Transaktion muss noch abschließen."
-msgstr[1] "%u Transaktionen müssen noch abschließen."
+msgid "There are no old transactions anymore."
+msgstr "Es laufen keine alten Transaktionen mehr."
 
-#: replication/logical/snapbuild.c:1686 replication/logical/snapbuild.c:1712
-#: replication/logical/snapbuild.c:1726 replication/logical/snapbuild.c:1740
+#: replication/logical/snapbuild.c:1714 replication/logical/snapbuild.c:1742
+#: replication/logical/snapbuild.c:1759 replication/log