de: Recommit merged base file, no translation changes
authorPeter Eisentraut <peter@eisentraut.org>
Tue, 11 Mar 2025 10:06:37 +0000 (11:06 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Tue, 11 Mar 2025 10:06:37 +0000 (11:06 +0100)
de/postgres.po

index 45cb4b8564e2e29dd54953341b4bd3336f722c3d..de09e08fe3258e706d932cf047c157546a91eb2b 100644 (file)
@@ -1,14 +1,14 @@
 # German message translation file for PostgreSQL server
-# Peter Eisentraut <peter@eisentraut.org>, 2001 - 2024.
+# Peter Eisentraut <peter@eisentraut.org>, 2001 - 2025.
 #
 # Use these quotes: »%s«
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 17\n"
+"Project-Id-Version: PostgreSQL 18\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2025-02-06 20:11+0000\n"
-"PO-Revision-Date: 2025-02-07 09:07+0100\n"
+"POT-Creation-Date: 2025-03-11 08:11+0000\n"
+"PO-Revision-Date: 2025-03-11 11:05+0100\n"
 "Last-Translator: Peter Eisentraut <peter@eisentraut.org>\n"
 "Language-Team: German <pgsql-translators@postgresql.org>\n"
 "Language: de\n"
@@ -80,23 +80,23 @@ msgid "not recorded"
 msgstr "nicht aufgezeichnet"
 
 #: ../common/controldata_utils.c:93 ../common/controldata_utils.c:97
-#: commands/copyfrom.c:1739 commands/extension.c:3538 utils/adt/genfile.c:123
-#: utils/time/snapmgr.c:1430
+#: commands/copyfrom.c:1879 commands/extension.c:3652 utils/adt/genfile.c:123
+#: utils/time/snapmgr.c:1378
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "konnte Datei »%s« nicht zum Lesen öffnen: %m"
 
 #: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110
 #: access/transam/timeline.c:143 access/transam/timeline.c:362
-#: access/transam/twophase.c:1353 access/transam/xlog.c:3477
-#: access/transam/xlog.c:4341 access/transam/xlogrecovery.c:1238
-#: access/transam/xlogrecovery.c:1336 access/transam/xlogrecovery.c:1373
-#: access/transam/xlogrecovery.c:1440 backup/basebackup.c:2123
-#: backup/walsummary.c:283 commands/extension.c:3548 libpq/hba.c:764
-#: replication/logical/origin.c:745 replication/logical/origin.c:781
-#: replication/logical/reorderbuffer.c:5113
-#: replication/logical/snapbuild.c:2052 replication/slot.c:2236
-#: replication/slot.c:2277 replication/walsender.c:655
+#: access/transam/twophase.c:1353 access/transam/xlog.c:3488
+#: access/transam/xlog.c:4379 access/transam/xlogrecovery.c:1241
+#: access/transam/xlogrecovery.c:1339 access/transam/xlogrecovery.c:1376
+#: access/transam/xlogrecovery.c:1443 backup/basebackup.c:2127
+#: backup/walsummary.c:283 commands/extension.c:3662 libpq/hba.c:769
+#: replication/logical/origin.c:749 replication/logical/origin.c:785
+#: replication/logical/reorderbuffer.c:5237
+#: replication/logical/snapbuild.c:1903 replication/slot.c:2430
+#: replication/slot.c:2471 replication/walsender.c:623
 #: storage/file/buffile.c:470 storage/file/copydir.c:185
 #: utils/adt/genfile.c:197 utils/adt/misc.c:1028 utils/cache/relmapper.c:829
 #, c-format
@@ -104,10 +104,10 @@ msgid "could not read file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht lesen: %m"
 
 #: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119
-#: access/transam/xlog.c:3482 access/transam/xlog.c:4346
-#: replication/logical/origin.c:750 replication/logical/origin.c:789
-#: replication/logical/snapbuild.c:2057 replication/slot.c:2240
-#: replication/slot.c:2281 replication/walsender.c:660
+#: access/transam/xlog.c:3493 access/transam/xlog.c:4384
+#: replication/logical/origin.c:754 replication/logical/origin.c:793
+#: replication/logical/snapbuild.c:1908 replication/slot.c:2434
+#: replication/slot.c:2475 replication/walsender.c:628
 #: utils/cache/relmapper.c:833
 #, c-format
 msgid "could not read file \"%s\": read %d of %zu"
@@ -118,17 +118,17 @@ msgstr "konnte Datei »%s« nicht lesen: %d von %zu gelesen"
 #: access/heap/rewriteheap.c:1141 access/heap/rewriteheap.c:1246
 #: access/transam/timeline.c:392 access/transam/timeline.c:438
 #: access/transam/timeline.c:512 access/transam/twophase.c:1365
-#: access/transam/twophase.c:1784 access/transam/xlog.c:3323
-#: access/transam/xlog.c:3517 access/transam/xlog.c:3522
-#: access/transam/xlog.c:3658 access/transam/xlog.c:4311
-#: access/transam/xlog.c:5246 commands/copyfrom.c:1799 commands/copyto.c:325
-#: libpq/be-fsstubs.c:470 libpq/be-fsstubs.c:540
-#: replication/logical/origin.c:683 replication/logical/origin.c:822
-#: replication/logical/reorderbuffer.c:5165
-#: replication/logical/snapbuild.c:1819 replication/logical/snapbuild.c:1943
-#: replication/slot.c:2126 replication/slot.c:2288 replication/walsender.c:670
-#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:828
-#: storage/file/fd.c:3753 storage/file/fd.c:3859 utils/cache/relmapper.c:841
+#: access/transam/twophase.c:1783 access/transam/xlog.c:3334
+#: access/transam/xlog.c:3528 access/transam/xlog.c:3533
+#: access/transam/xlog.c:3669 access/transam/xlog.c:4349
+#: access/transam/xlog.c:5319 commands/copyfrom.c:1929 commands/copyto.c:598
+#: libpq/be-fsstubs.c:475 libpq/be-fsstubs.c:545
+#: replication/logical/origin.c:687 replication/logical/origin.c:826
+#: replication/logical/reorderbuffer.c:5289
+#: replication/logical/snapbuild.c:1648 replication/logical/snapbuild.c:1769
+#: replication/slot.c:2319 replication/slot.c:2482 replication/walsender.c:638
+#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:827
+#: storage/file/fd.c:3776 storage/file/fd.c:3882 utils/cache/relmapper.c:841
 #: utils/cache/relmapper.c:956
 #, c-format
 msgid "could not close file \"%s\": %m"
@@ -153,105 +153,104 @@ msgstr ""
 "wäre inkompatibel mit diesem Datenverzeichnis."
 
 #: ../common/controldata_utils.c:225 ../common/controldata_utils.c:230
-#: ../common/file_utils.c:70 ../common/file_utils.c:347
-#: ../common/file_utils.c:406 ../common/file_utils.c:480
+#: ../common/file_utils.c:71 ../common/file_utils.c:348
+#: ../common/file_utils.c:407 ../common/file_utils.c:481
 #: access/heap/rewriteheap.c:1229 access/transam/timeline.c:111
 #: access/transam/timeline.c:251 access/transam/timeline.c:348
-#: access/transam/twophase.c:1309 access/transam/xlog.c:3230
-#: access/transam/xlog.c:3393 access/transam/xlog.c:3432
-#: access/transam/xlog.c:3625 access/transam/xlog.c:4331
-#: access/transam/xlogrecovery.c:4264 access/transam/xlogrecovery.c:4367
-#: access/transam/xlogutils.c:836 backup/basebackup.c:547
-#: backup/basebackup.c:1598 backup/walsummary.c:220 libpq/hba.c:624
-#: postmaster/syslogger.c:1511 replication/logical/origin.c:735
-#: replication/logical/reorderbuffer.c:3766
-#: replication/logical/reorderbuffer.c:4320
-#: replication/logical/reorderbuffer.c:5093
-#: replication/logical/snapbuild.c:1774 replication/logical/snapbuild.c:1884
-#: replication/slot.c:2208 replication/walsender.c:628
-#: replication/walsender.c:3051 storage/file/copydir.c:151
-#: storage/file/fd.c:803 storage/file/fd.c:3510 storage/file/fd.c:3740
-#: storage/file/fd.c:3830 storage/smgr/md.c:661 utils/cache/relmapper.c:818
-#: utils/cache/relmapper.c:935 utils/error/elog.c:2124
-#: utils/init/miscinit.c:1580 utils/init/miscinit.c:1714
-#: utils/init/miscinit.c:1791 utils/misc/guc.c:4777 utils/misc/guc.c:4827
+#: access/transam/twophase.c:1309 access/transam/xlog.c:3224
+#: access/transam/xlog.c:3404 access/transam/xlog.c:3443
+#: access/transam/xlog.c:3636 access/transam/xlog.c:4369
+#: access/transam/xlogrecovery.c:4279 access/transam/xlogrecovery.c:4380
+#: access/transam/xlogutils.c:825 backup/basebackup.c:549
+#: backup/basebackup.c:1600 backup/walsummary.c:220 libpq/hba.c:626
+#: postmaster/syslogger.c:1512 replication/logical/origin.c:739
+#: replication/logical/reorderbuffer.c:3889
+#: replication/logical/reorderbuffer.c:4443
+#: replication/logical/reorderbuffer.c:5217
+#: replication/logical/snapbuild.c:1603 replication/logical/snapbuild.c:1710
+#: replication/slot.c:2402 replication/walsender.c:596
+#: replication/walsender.c:3022 storage/file/copydir.c:151
+#: storage/file/fd.c:802 storage/file/fd.c:3533 storage/file/fd.c:3763
+#: storage/file/fd.c:3853 storage/smgr/md.c:665 utils/cache/relmapper.c:818
+#: utils/cache/relmapper.c:935 utils/error/elog.c:2127
+#: utils/init/miscinit.c:1582 utils/init/miscinit.c:1716
+#: utils/init/miscinit.c:1793 utils/misc/guc.c:4774 utils/misc/guc.c:4824
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht öffnen: %m"
 
 #: ../common/controldata_utils.c:246 ../common/controldata_utils.c:249
-#: access/transam/twophase.c:1757 access/transam/twophase.c:1766
-#: access/transam/xlog.c:9280 access/transam/xlogfuncs.c:698
+#: access/transam/twophase.c:1756 access/transam/twophase.c:1765
+#: access/transam/xlog.c:9325 access/transam/xlogfuncs.c:699
 #: backup/basebackup_server.c:173 backup/basebackup_server.c:266
-#: backup/walsummary.c:304 postmaster/postmaster.c:4127
-#: postmaster/syslogger.c:1522 postmaster/syslogger.c:1535
-#: postmaster/syslogger.c:1548 utils/cache/relmapper.c:947
+#: backup/walsummary.c:304 postmaster/postmaster.c:4030
+#: postmaster/syslogger.c:1523 postmaster/syslogger.c:1536
+#: postmaster/syslogger.c:1549 utils/cache/relmapper.c:947
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht schreiben: %m"
 
 #: ../common/controldata_utils.c:263 ../common/controldata_utils.c:268
-#: ../common/file_utils.c:418 ../common/file_utils.c:488
+#: ../common/file_utils.c:419 ../common/file_utils.c:489
 #: access/heap/rewriteheap.c:925 access/heap/rewriteheap.c:1135
 #: access/heap/rewriteheap.c:1240 access/transam/timeline.c:432
-#: access/transam/timeline.c:506 access/transam/twophase.c:1778
-#: access/transam/xlog.c:3316 access/transam/xlog.c:3511
-#: access/transam/xlog.c:4304 access/transam/xlog.c:8655
-#: access/transam/xlog.c:8700 backup/basebackup_server.c:207
-#: commands/dbcommands.c:514 replication/logical/snapbuild.c:1812
-#: replication/slot.c:2112 replication/slot.c:2218 storage/file/fd.c:820
-#: storage/file/fd.c:3851 storage/smgr/md.c:1331 storage/smgr/md.c:1376
-#: storage/sync/sync.c:446 utils/misc/guc.c:4530
+#: access/transam/timeline.c:506 access/transam/twophase.c:1777
+#: access/transam/xlog.c:3324 access/transam/xlog.c:3522
+#: access/transam/xlog.c:4342 access/transam/xlog.c:8711
+#: access/transam/xlog.c:8755 backup/basebackup_server.c:207
+#: commands/dbcommands.c:514 replication/logical/snapbuild.c:1641
+#: replication/slot.c:2305 replication/slot.c:2412 storage/file/fd.c:819
+#: storage/file/fd.c:3874 storage/smgr/md.c:1354 storage/smgr/md.c:1399
+#: storage/sync/sync.c:446 utils/misc/guc.c:4527
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht fsyncen: %m"
 
 #: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:158
-#: ../common/cryptohash_openssl.c:356 ../common/exec.c:562 ../common/exec.c:607
-#: ../common/exec.c:699 ../common/hmac.c:309 ../common/hmac.c:325
-#: ../common/hmac_openssl.c:160 ../common/hmac_openssl.c:357
-#: ../common/md5_common.c:156 ../common/parse_manifest.c:157
-#: ../common/parse_manifest.c:852 ../common/psprintf.c:143
-#: ../common/scram-common.c:268 ../common/stringinfo.c:314 ../port/path.c:828
-#: ../port/path.c:865 ../port/path.c:882 access/transam/twophase.c:1418
-#: access/transam/xlogrecovery.c:564 lib/dshash.c:253 libpq/auth.c:1352
-#: libpq/auth.c:1396 libpq/auth.c:1953 libpq/be-secure-gssapi.c:524
-#: postmaster/bgworker.c:355 postmaster/bgworker.c:945
-#: postmaster/postmaster.c:3560 postmaster/postmaster.c:4021
-#: postmaster/postmaster.c:4383 postmaster/walsummarizer.c:935
-#: replication/libpqwalreceiver/libpqwalreceiver.c:387
-#: replication/logical/logical.c:210 replication/walsender.c:835
-#: storage/buffer/localbuf.c:606 storage/file/fd.c:912 storage/file/fd.c:1443
-#: storage/file/fd.c:1604 storage/file/fd.c:2531 storage/ipc/procarray.c:1465
-#: storage/ipc/procarray.c:2219 storage/ipc/procarray.c:2226
-#: storage/ipc/procarray.c:2731 storage/ipc/procarray.c:3435
-#: utils/adt/formatting.c:1725 utils/adt/formatting.c:1873
-#: utils/adt/formatting.c:2075 utils/adt/pg_locale.c:532
-#: utils/adt/pg_locale.c:696 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:516
-#: utils/hash/dynahash.c:616 utils/hash/dynahash.c:1099 utils/mb/mbutils.c:401
-#: utils/mb/mbutils.c:429 utils/mb/mbutils.c:814 utils/mb/mbutils.c:841
-#: utils/misc/guc.c:649 utils/misc/guc.c:674 utils/misc/guc.c:1062
-#: utils/misc/guc.c:4508 utils/misc/tzparser.c:477 utils/mmgr/aset.c:451
-#: utils/mmgr/bump.c:183 utils/mmgr/dsa.c:707 utils/mmgr/dsa.c:729
-#: utils/mmgr/dsa.c:810 utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1154
-#: utils/mmgr/slab.c:370
+#: ../common/cryptohash_openssl.c:356 ../common/exec.c:543 ../common/exec.c:588
+#: ../common/exec.c:680 ../common/hmac.c:309 ../common/hmac.c:325
+#: ../common/hmac_openssl.c:151 ../common/hmac_openssl.c:339
+#: ../common/jsonapi.c:2407 ../common/md5_common.c:156
+#: ../common/parse_manifest.c:157 ../common/parse_manifest.c:852
+#: ../common/psprintf.c:140 ../common/scram-common.c:268 ../port/path.c:829
+#: ../port/path.c:866 ../port/path.c:883 access/transam/twophase.c:1418
+#: access/transam/xlogrecovery.c:565 lib/dshash.c:253 libpq/auth.c:1342
+#: libpq/auth.c:1386 libpq/auth.c:1948 libpq/be-secure-gssapi.c:527
+#: postmaster/bgworker.c:355 postmaster/bgworker.c:1022
+#: postmaster/postmaster.c:3507 postmaster/walsummarizer.c:936
+#: replication/libpqwalreceiver/libpqwalreceiver.c:388
+#: replication/logical/logical.c:210 replication/walsender.c:805
+#: storage/buffer/localbuf.c:607 storage/file/fd.c:911 storage/file/fd.c:1442
+#: storage/file/fd.c:1603 storage/file/fd.c:2553 storage/ipc/procarray.c:1465
+#: storage/ipc/procarray.c:2217 storage/ipc/procarray.c:2224
+#: storage/ipc/procarray.c:2727 storage/ipc/procarray.c:3436
+#: utils/adt/pg_locale.c:530 utils/adt/pg_locale.c:694
+#: utils/adt/pg_locale_icu.c:364 utils/adt/pg_locale_libc.c:208
+#: utils/adt/pg_locale_libc.c:303 utils/adt/pg_locale_libc.c:391
+#: utils/fmgr/dfmgr.c:219 utils/hash/dynahash.c:516 utils/hash/dynahash.c:616
+#: utils/hash/dynahash.c:1099 utils/mb/mbutils.c:401 utils/mb/mbutils.c:429
+#: utils/mb/mbutils.c:814 utils/mb/mbutils.c:841 utils/misc/guc.c:647
+#: utils/misc/guc.c:672 utils/misc/guc.c:1060 utils/misc/guc.c:4505
+#: utils/misc/tzparser.c:479 utils/mmgr/aset.c:451 utils/mmgr/bump.c:183
+#: utils/mmgr/dsa.c:707 utils/mmgr/dsa.c:729 utils/mmgr/dsa.c:810
+#: utils/mmgr/generation.c:215 utils/mmgr/mcxt.c:1155 utils/mmgr/slab.c:370
 #, c-format
 msgid "out of memory"
 msgstr "Speicher aufgebraucht"
 
 #: ../common/cryptohash.c:266 ../common/cryptohash.c:272
 #: ../common/cryptohash_openssl.c:368 ../common/cryptohash_openssl.c:376
-#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:369
-#: ../common/hmac_openssl.c:377
+#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:351
+#: ../common/hmac_openssl.c:359
 msgid "success"
 msgstr "Erfolg"
 
 #: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:370
-#: ../common/hmac_openssl.c:371
+#: ../common/hmac_openssl.c:353
 msgid "destination buffer too small"
 msgstr "Zielpuffer ist zu klein"
 
-#: ../common/cryptohash_openssl.c:372 ../common/hmac_openssl.c:373
+#: ../common/cryptohash_openssl.c:372 ../common/hmac_openssl.c:355
 msgid "OpenSSL failure"
 msgstr "OpenSSL-Fehler"
 
@@ -275,34 +274,34 @@ msgstr "konnte kein »%s« zum Ausführen finden"
 msgid "could not resolve path \"%s\" to absolute form: %m"
 msgstr "konnte Pfad »%s« nicht in absolute Form auflösen: %m"
 
-#: ../common/exec.c:382 commands/collationcmds.c:876 commands/copyfrom.c:1723
-#: commands/copyto.c:654 libpq/be-secure-common.c:59
+#: ../common/exec.c:363 commands/collationcmds.c:872 commands/copyfrom.c:1863
+#: commands/copyto.c:931 libpq/be-secure-common.c:59
 #, c-format
 msgid "could not execute command \"%s\": %m"
 msgstr "konnte Befehl »%s« nicht ausführen: %m"
 
-#: ../common/exec.c:394 libpq/be-secure-common.c:71
+#: ../common/exec.c:375 libpq/be-secure-common.c:71
 #, c-format
 msgid "could not read from command \"%s\": %m"
 msgstr "konnte nicht von Befehl »%s« lesen: %m"
 
-#: ../common/exec.c:397
+#: ../common/exec.c:378
 #, c-format
 msgid "no data was returned by command \"%s\""
 msgstr "Befehl »%s« gab keine Daten zurück"
 
-#: ../common/exec.c:424 libpq/pqcomm.c:192 storage/ipc/latch.c:1169
-#: storage/ipc/latch.c:1349 storage/ipc/latch.c:1589 storage/ipc/latch.c:1751
-#: storage/ipc/latch.c:1877
+#: ../common/exec.c:405 libpq/pqcomm.c:193 storage/ipc/waiteventset.c:782
+#: storage/ipc/waiteventset.c:962 storage/ipc/waiteventset.c:1202
+#: storage/ipc/waiteventset.c:1364 storage/ipc/waiteventset.c:1490
 #, c-format
 msgid "%s() failed: %m"
 msgstr "%s() fehlgeschlagen: %m"
 
 #: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75
 #: ../common/fe_memutils.c:98 ../common/fe_memutils.c:161
-#: ../common/psprintf.c:145 ../port/path.c:830 ../port/path.c:867
-#: ../port/path.c:884 utils/misc/ps_status.c:193 utils/misc/ps_status.c:201
-#: utils/misc/ps_status.c:228 utils/misc/ps_status.c:236
+#: ../common/psprintf.c:142 ../port/path.c:831 ../port/path.c:868
+#: ../port/path.c:885 utils/misc/ps_status.c:195 utils/misc/ps_status.c:203
+#: utils/misc/ps_status.c:230 utils/misc/ps_status.c:238
 #, c-format
 msgid "out of memory\n"
 msgstr "Speicher aufgebraucht\n"
@@ -312,51 +311,51 @@ 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:76 storage/file/fd.c:3516
+#: ../common/file_utils.c:77 storage/file/fd.c:3539
 #, c-format
 msgid "could not synchronize file system for file \"%s\": %m"
 msgstr "konnte Dateisystem für Datei »%s« nicht synchronisieren: %m"
 
-#: ../common/file_utils.c:120 ../common/file_utils.c:566
-#: ../common/file_utils.c:570 access/transam/twophase.c:1321
+#: ../common/file_utils.c:121 ../common/file_utils.c:567
+#: ../common/file_utils.c:571 access/transam/twophase.c:1321
 #: access/transam/xlogarchive.c:111 access/transam/xlogarchive.c:235
-#: backup/basebackup.c:355 backup/basebackup.c:553 backup/basebackup.c:624
-#: backup/walsummary.c:247 backup/walsummary.c:254 commands/copyfrom.c:1749
-#: commands/copyto.c:700 commands/extension.c:3527 commands/tablespace.c:804
+#: backup/basebackup.c:357 backup/basebackup.c:555 backup/basebackup.c:626
+#: backup/walsummary.c:247 backup/walsummary.c:254 commands/copyfrom.c:1889
+#: commands/copyto.c:977 commands/extension.c:3641 commands/tablespace.c:804
 #: commands/tablespace.c:893 postmaster/pgarch.c:680
-#: replication/logical/snapbuild.c:1670 replication/logical/snapbuild.c:2173
-#: storage/file/fd.c:1968 storage/file/fd.c:2054 storage/file/fd.c:3564
-#: utils/adt/dbsize.c:105 utils/adt/dbsize.c:257 utils/adt/dbsize.c:337
+#: replication/logical/snapbuild.c:1498 replication/logical/snapbuild.c:2025
+#: storage/file/fd.c:1967 storage/file/fd.c:2053 storage/file/fd.c:3587
+#: utils/adt/dbsize.c:105 utils/adt/dbsize.c:266 utils/adt/dbsize.c:355
 #: utils/adt/genfile.c:437 utils/adt/genfile.c:612 utils/adt/misc.c:340
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "konnte »stat« für Datei »%s« nicht ausführen: %m"
 
-#: ../common/file_utils.c:130 ../common/file_utils.c:227
+#: ../common/file_utils.c:131 ../common/file_utils.c:228
 #, c-format
 msgid "this build does not support sync method \"%s\""
 msgstr "diese Installation unterstützt Sync-Methode »%s« nicht"
 
-#: ../common/file_utils.c:151 ../common/file_utils.c:281
+#: ../common/file_utils.c:152 ../common/file_utils.c:282
 #: ../common/pgfnames.c:48 ../common/rmtree.c:63 commands/tablespace.c:728
-#: commands/tablespace.c:738 postmaster/postmaster.c:1470
-#: storage/file/fd.c:2933 storage/file/reinit.c:126 utils/adt/misc.c:256
-#: utils/misc/tzparser.c:339
+#: commands/tablespace.c:738 postmaster/postmaster.c:1482
+#: storage/file/fd.c:2955 storage/file/reinit.c:126 utils/adt/misc.c:256
+#: utils/misc/tzparser.c:340
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "konnte Verzeichnis »%s« nicht öffnen: %m"
 
-#: ../common/file_utils.c:169 ../common/file_utils.c:315
-#: ../common/pgfnames.c:69 ../common/rmtree.c:106 storage/file/fd.c:2945
+#: ../common/file_utils.c:170 ../common/file_utils.c:316
+#: ../common/pgfnames.c:69 ../common/rmtree.c:106 storage/file/fd.c:2967
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "konnte Verzeichnis »%s« nicht lesen: %m"
 
-#: ../common/file_utils.c:498 access/transam/xlogarchive.c:389
-#: postmaster/pgarch.c:834 postmaster/syslogger.c:1559
-#: replication/logical/snapbuild.c:1831 replication/slot.c:936
-#: replication/slot.c:1998 replication/slot.c:2140 storage/file/fd.c:838
-#: utils/time/snapmgr.c:1255
+#: ../common/file_utils.c:499 access/transam/xlogarchive.c:389
+#: postmaster/pgarch.c:834 postmaster/syslogger.c:1560
+#: replication/logical/snapbuild.c:1660 replication/slot.c:987
+#: replication/slot.c:2191 replication/slot.c:2333 storage/file/fd.c:837
+#: utils/time/snapmgr.c:1203
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "konnte Datei »%s« nicht in »%s« umbenennen: %m"
@@ -365,122 +364,128 @@ msgstr "konnte Datei »%s« nicht in »%s« umbenennen: %m"
 msgid "internal error"
 msgstr "interner Fehler"
 
-#: ../common/jsonapi.c:2121
+#: ../common/jsonapi.c:2432
 msgid "Recursive descent parser cannot use incremental lexer."
 msgstr "Parser mit rekursivem Abstieg kann inkrementellen Lexer nicht benutzen."
 
-#: ../common/jsonapi.c:2123
+#: ../common/jsonapi.c:2434
 msgid "Incremental parser requires incremental lexer."
 msgstr "Inkrementeller Parser benötigt inkrementellen Lexer."
 
-#: ../common/jsonapi.c:2125
+#: ../common/jsonapi.c:2436
 msgid "JSON nested too deep, maximum permitted depth is 6400."
 msgstr "JSON zu tief geschachtelt, maximale erlaubte Tiefe ist 6400."
 
-#: ../common/jsonapi.c:2127
+#: ../common/jsonapi.c:2438
 #, c-format
 msgid "Escape sequence \"\\%.*s\" is invalid."
 msgstr "Escape-Sequenz »\\%.*s« ist nicht gültig."
 
-#: ../common/jsonapi.c:2131
+#: ../common/jsonapi.c:2442
 #, c-format
 msgid "Character with value 0x%02x must be escaped."
 msgstr "Zeichen mit Wert 0x%02x muss escapt werden."
 
-#: ../common/jsonapi.c:2135
+#: ../common/jsonapi.c:2446
 #, c-format
 msgid "Expected end of input, but found \"%.*s\"."
 msgstr "Ende der Eingabe erwartet, aber »%.*s« gefunden."
 
-#: ../common/jsonapi.c:2138
+#: ../common/jsonapi.c:2449
 #, c-format
 msgid "Expected array element or \"]\", but found \"%.*s\"."
 msgstr "Array-Element oder »]« erwartet, aber »%.*s« gefunden."
 
-#: ../common/jsonapi.c:2141
+#: ../common/jsonapi.c:2452
 #, c-format
 msgid "Expected \",\" or \"]\", but found \"%.*s\"."
 msgstr "»,« oder »]« erwartet, aber »%.*s« gefunden."
 
-#: ../common/jsonapi.c:2144
+#: ../common/jsonapi.c:2455
 #, c-format
 msgid "Expected \":\", but found \"%.*s\"."
 msgstr "»:« erwartet, aber »%.*s« gefunden."
 
-#: ../common/jsonapi.c:2147
+#: ../common/jsonapi.c:2458
 #, c-format
 msgid "Expected JSON value, but found \"%.*s\"."
 msgstr "JSON-Wert erwartet, aber »%.*s« gefunden."
 
-#: ../common/jsonapi.c:2150
+#: ../common/jsonapi.c:2461
 msgid "The input string ended unexpectedly."
 msgstr "Die Eingabezeichenkette endete unerwartet."
 
-#: ../common/jsonapi.c:2152
+#: ../common/jsonapi.c:2463
 #, c-format
 msgid "Expected string or \"}\", but found \"%.*s\"."
 msgstr "Zeichenkette oder »}« erwartet, aber »%.*s« gefunden."
 
-#: ../common/jsonapi.c:2155
+#: ../common/jsonapi.c:2466
 #, c-format
 msgid "Expected \",\" or \"}\", but found \"%.*s\"."
 msgstr "»,« oder »}« erwartet, aber »%.*s« gefunden."
 
-#: ../common/jsonapi.c:2158
+#: ../common/jsonapi.c:2469
 #, c-format
 msgid "Expected string, but found \"%.*s\"."
 msgstr "Zeichenkette erwartet, aber »%.*s« gefunden."
 
-#: ../common/jsonapi.c:2161
+#: ../common/jsonapi.c:2472
 #, c-format
 msgid "Token \"%.*s\" is invalid."
 msgstr "Token »%.*s« ist ungültig."
 
-#: ../common/jsonapi.c:2164 jsonpath_scan.l:608
+#: ../common/jsonapi.c:2478 jsonpath_scan.l:585
 #, c-format
 msgid "\\u0000 cannot be converted to text."
 msgstr "\\u0000 kann nicht in »text« umgewandelt werden."
 
-#: ../common/jsonapi.c:2166
+#: ../common/jsonapi.c:2480
 msgid "\"\\u\" must be followed by four hexadecimal digits."
 msgstr "Nach »\\u« müssen vier Hexadezimalziffern folgen."
 
-#: ../common/jsonapi.c:2169
+#: ../common/jsonapi.c:2483
 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8."
 msgstr "Unicode-Escape-Werte können nicht für Code-Punkt-Werte über 007F verwendet werden, wenn die Kodierung nicht UTF8 ist."
 
-#: ../common/jsonapi.c:2178
+#: ../common/jsonapi.c:2492
 #, c-format
 msgid "Unicode escape value could not be translated to the server's encoding %s."
 msgstr "Unicode-Escape-Wert konnte nicht in die Serverkodierung %s umgewandelt werden."
 
-#: ../common/jsonapi.c:2185 jsonpath_scan.l:641
+#: ../common/jsonapi.c:2499 jsonpath_scan.l:618
 #, c-format
 msgid "Unicode high surrogate must not follow a high surrogate."
 msgstr "Unicode-High-Surrogate darf nicht auf ein High-Surrogate folgen."
 
-#: ../common/jsonapi.c:2187 jsonpath_scan.l:652 jsonpath_scan.l:662
-#: jsonpath_scan.l:713
+#: ../common/jsonapi.c:2501 jsonpath_scan.l:629 jsonpath_scan.l:639
+#: jsonpath_scan.l:691
 #, c-format
 msgid "Unicode low surrogate must follow a high surrogate."
 msgstr "Unicode-Low-Surrogate muss auf ein High-Surrogate folgen."
 
-#: ../common/logging.c:276
+#: ../common/jsonapi.c:2523
+#, fuzzy
+#| msgid "out of memory while allocating a WAL reading processor"
+msgid "out of memory while constructing error description"
+msgstr "Speicher aufgebraucht beim Anlegen eines WAL-Leseprozessors"
+
+#: ../common/logging.c:279
 #, c-format
 msgid "error: "
 msgstr "Fehler: "
 
-#: ../common/logging.c:283
+#: ../common/logging.c:286
 #, c-format
 msgid "warning: "
 msgstr "Warnung: "
 
-#: ../common/logging.c:294
+#: ../common/logging.c:297
 #, c-format
 msgid "detail: "
 msgstr "Detail: "
 
-#: ../common/logging.c:301
+#: ../common/logging.c:304
 #, c-format
 msgid "hint: "
 msgstr "Tipp: "
@@ -575,7 +580,7 @@ msgstr "konnte Dateinamen nicht dekodieren"
 msgid "file size is not an integer"
 msgstr "Dateigröße ist keine ganze Zahl"
 
-#: ../common/parse_manifest.c:699 backup/basebackup.c:870
+#: ../common/parse_manifest.c:699 backup/basebackup.c:872
 #, c-format
 msgid "unrecognized checksum algorithm: \"%s\""
 msgstr "unbekannter Prüfsummenalgorithmus: »%s«"
@@ -644,9 +649,9 @@ msgstr "konnte Backup-Manifest nicht parsen: %s"
 
 #: ../common/percentrepl.c:79 ../common/percentrepl.c:85
 #: ../common/percentrepl.c:118 ../common/percentrepl.c:124
-#: tcop/backend_startup.c:741 utils/misc/guc.c:3167 utils/misc/guc.c:3208
-#: utils/misc/guc.c:3283 utils/misc/guc.c:4712 utils/misc/guc.c:6931
-#: utils/misc/guc.c:6972
+#: tcop/backend_startup.c:766 utils/misc/guc.c:3164 utils/misc/guc.c:3205
+#: utils/misc/guc.c:3280 utils/misc/guc.c:4709 utils/misc/guc.c:6928
+#: utils/misc/guc.c:6969
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "ungültiger Wert für Parameter »%s«: »%s«"
@@ -707,22 +712,22 @@ msgid "could not get exit code from subprocess: error code %lu"
 msgstr "konnte Statuscode des Subprozesses nicht ermitteln: Fehlercode %lu"
 
 #: ../common/rmtree.c:97 access/heap/rewriteheap.c:1214
-#: access/transam/twophase.c:1717 access/transam/xlogarchive.c:119
-#: access/transam/xlogarchive.c:399 postmaster/postmaster.c:1048
-#: postmaster/syslogger.c:1488 replication/logical/origin.c:591
-#: replication/logical/reorderbuffer.c:4589
-#: replication/logical/snapbuild.c:1712 replication/logical/snapbuild.c:2146
-#: replication/slot.c:2192 storage/file/fd.c:878 storage/file/fd.c:3378
-#: storage/file/fd.c:3440 storage/file/reinit.c:261 storage/ipc/dsm.c:343
-#: storage/smgr/md.c:381 storage/smgr/md.c:440 storage/sync/sync.c:243
-#: utils/time/snapmgr.c:1591
+#: access/transam/twophase.c:1716 access/transam/xlogarchive.c:119
+#: access/transam/xlogarchive.c:399 postmaster/postmaster.c:1059
+#: postmaster/syslogger.c:1489 replication/logical/origin.c:595
+#: replication/logical/reorderbuffer.c:4712
+#: replication/logical/snapbuild.c:1541 replication/logical/snapbuild.c:1997
+#: replication/slot.c:2386 storage/file/fd.c:877 storage/file/fd.c:3401
+#: storage/file/fd.c:3463 storage/file/reinit.c:261 storage/ipc/dsm.c:343
+#: storage/smgr/md.c:391 storage/smgr/md.c:450 storage/sync/sync.c:243
+#: utils/time/snapmgr.c:1539
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht löschen: %m"
 
 #: ../common/rmtree.c:124 commands/tablespace.c:767 commands/tablespace.c:780
-#: commands/tablespace.c:815 commands/tablespace.c:905 storage/file/fd.c:3370
-#: storage/file/fd.c:3779
+#: commands/tablespace.c:815 commands/tablespace.c:905 storage/file/fd.c:3393
+#: storage/file/fd.c:3802
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "konnte Verzeichnis »%s« nicht löschen: %m"
@@ -739,15 +744,25 @@ msgstr "konnte Stored Key nicht kodieren"
 msgid "could not encode server key"
 msgstr "konnte Server Key nicht kodieren"
 
-#: ../common/stringinfo.c:315
+#: ../common/stringinfo.c:362
+#, fuzzy, c-format
+#| msgid "bit string length exceeds the maximum allowed (%d)"
+msgid "string buffer exceeds maximum allowed length (%zu bytes)"
+msgstr "Länge der Bitkette überschreitet erlaubtes Maximum (%d)"
+
+#: ../common/stringinfo.c:363
 #, 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."
 
-#: ../common/stringinfo.c:319
-#, c-format
+#: ../common/stringinfo.c:367
+#, fuzzy, c-format
+#| msgid ""
+#| "out of memory\n"
+#| "\n"
+#| "Cannot enlarge string buffer containing %d bytes by %d more bytes.\n"
 msgid ""
-"out of memory\n"
+"string buffer exceeds maximum allowed length (%zu bytes)\n"
 "\n"
 "Cannot enlarge string buffer containing %d bytes by %d more bytes.\n"
 msgstr ""
@@ -760,7 +775,7 @@ msgstr ""
 msgid "could not look up effective user ID %ld: %s"
 msgstr "konnte effektive Benutzer-ID %ld nicht nachschlagen: %s"
 
-#: ../common/username.c:45 libpq/auth.c:1888
+#: ../common/username.c:45
 msgid "user does not exist"
 msgstr "Benutzer existiert nicht"
 
@@ -799,12 +814,12 @@ msgstr "Kindprozess wurde von Signal %d beendet: %s"
 msgid "child process exited with unrecognized status %d"
 msgstr "Kindprozess hat mit unbekanntem Status %d beendet"
 
-#: ../port/chklocale.c:283
+#: ../port/chklocale.c:280
 #, c-format
 msgid "could not determine encoding for codeset \"%s\""
 msgstr "konnte Kodierung für Codeset »%s« nicht bestimmen"
 
-#: ../port/chklocale.c:404 ../port/chklocale.c:410
+#: ../port/chklocale.c:370 ../port/chklocale.c:376
 #, c-format
 msgid "could not determine encoding for locale \"%s\": codeset is \"%s\""
 msgstr "konnte Kodierung für Locale »%s« nicht bestimmen: Codeset ist »%s«"
@@ -852,7 +867,7 @@ msgstr "Versuche werden für 30 Sekunden wiederholt."
 msgid "You might have antivirus, backup, or similar software interfering with the database system."
 msgstr "Möglicherweise stört eine Antivirus-, Datensicherungs- oder ähnliche Software das Datenbanksystem."
 
-#: ../port/path.c:852
+#: ../port/path.c:853
 #, c-format
 msgid "could not get current working directory: %m\n"
 msgstr "konnte aktuelles Arbeitsverzeichnis nicht ermitteln: %m\n"
@@ -862,16 +877,6 @@ msgstr "konnte aktuelles Arbeitsverzeichnis nicht ermitteln: %m\n"
 msgid "operating system error %d"
 msgstr "Betriebssystemfehler %d"
 
-#: ../port/user.c:43 ../port/user.c:79
-#, c-format
-msgid "could not look up local user ID %d: %s"
-msgstr "konnte lokale Benutzer-ID %d nicht nachschlagen: %s"
-
-#: ../port/user.c:48 ../port/user.c:84
-#, c-format
-msgid "local user with ID %d does not exist"
-msgstr "lokaler Benutzer mit ID %d existiert nicht"
-
 #: ../port/win32security.c:62
 #, c-format
 msgid "could not get SID for Administrators group: error code %lu\n"
@@ -887,47 +892,49 @@ msgstr "konnte SID der PowerUsers-Gruppe nicht ermitteln: Fehlercode %lu\n"
 msgid "could not check access token membership: error code %lu\n"
 msgstr "konnte Access-Token-Mitgliedschaft nicht prüfen: Fehlercode %lu\n"
 
-#: access/brin/brin.c:405
+#: access/brin/brin.c:414
 #, c-format
 msgid "request for BRIN range summarization for index \"%s\" page %u was not recorded"
 msgstr "Aufforderung für BRIN-Range-Summarization für Index »%s« Seite %u wurde nicht aufgezeichnet"
 
-#: access/brin/brin.c:1385 access/brin/brin.c:1493 access/gin/ginfast.c:1040
-#: access/transam/xlogfuncs.c:183 access/transam/xlogfuncs.c:208
-#: access/transam/xlogfuncs.c:241 access/transam/xlogfuncs.c:280
-#: access/transam/xlogfuncs.c:301 access/transam/xlogfuncs.c:322
-#: access/transam/xlogfuncs.c:388 access/transam/xlogfuncs.c:446
+#: access/brin/brin.c:1395 access/brin/brin.c:1503 access/gin/ginfast.c:1040
+#: access/transam/xlogfuncs.c:184 access/transam/xlogfuncs.c:209
+#: access/transam/xlogfuncs.c:242 access/transam/xlogfuncs.c:281
+#: access/transam/xlogfuncs.c:302 access/transam/xlogfuncs.c:323
+#: access/transam/xlogfuncs.c:389 access/transam/xlogfuncs.c:447
+#: statistics/attribute_stats.c:179 statistics/attribute_stats.c:914
+#: statistics/relation_stats.c:117
 #, c-format
 msgid "recovery is in progress"
 msgstr "Wiederherstellung läuft"
 
-#: access/brin/brin.c:1386 access/brin/brin.c:1494
+#: access/brin/brin.c:1396 access/brin/brin.c:1504
 #, c-format
 msgid "BRIN control functions cannot be executed during recovery."
 msgstr "Während der Wiederherstellung können keine BRIN-Kontrollfunktionen ausgeführt werden."
 
-#: access/brin/brin.c:1391 access/brin/brin.c:1499
+#: access/brin/brin.c:1401 access/brin/brin.c:1509
 #, c-format
 msgid "block number out of range: %lld"
 msgstr "Blocknummer ist außerhalb des gültigen Bereichs: %lld"
 
-#: access/brin/brin.c:1436 access/brin/brin.c:1525
+#: access/brin/brin.c:1446 access/brin/brin.c:1535
 #, c-format
 msgid "\"%s\" is not a BRIN index"
 msgstr "»%s« ist kein BRIN-Index"
 
-#: access/brin/brin.c:1452 access/brin/brin.c:1541
+#: access/brin/brin.c:1462 access/brin/brin.c:1551
 #, c-format
 msgid "could not open parent table of index \"%s\""
 msgstr "konnte Basistabelle von Index »%s« nicht öffnen"
 
-#: access/brin/brin.c:1461 access/brin/brin.c:1557 access/gin/ginfast.c:1085
-#: parser/parse_utilcmd.c:2277
+#: access/brin/brin.c:1471 access/brin/brin.c:1567 access/gin/ginfast.c:1085
+#: parser/parse_utilcmd.c:2447
 #, c-format
 msgid "index \"%s\" is not valid"
 msgstr "Index »%s« ist nicht gültig"
 
-#: access/brin/brin_bloom.c:783 access/brin/brin_bloom.c:825
+#: access/brin/brin_bloom.c:782 access/brin/brin_bloom.c:824
 #: access/brin/brin_minmax_multi.c:2993 access/brin/brin_minmax_multi.c:3130
 #: statistics/dependencies.c:661 statistics/dependencies.c:714
 #: statistics/mcv.c:1480 statistics/mcv.c:1511 statistics/mvdistinct.c:343
@@ -939,7 +946,7 @@ msgstr "kann keinen Wert vom Typ %s annehmen"
 
 #: access/brin/brin_pageops.c:75 access/brin/brin_pageops.c:361
 #: access/brin/brin_pageops.c:851 access/gin/ginentrypage.c:109
-#: access/gist/gist.c:1463 access/spgist/spgdoinsert.c:2001
+#: access/gist/gist.c:1468 access/spgist/spgdoinsert.c:2001
 #: access/spgist/spgdoinsert.c:2278
 #, c-format
 msgid "index row size %zu exceeds maximum %zu for index \"%s\""
@@ -955,90 +962,91 @@ msgstr "verfälschter BRIN-Index: inkonsistente Range-Map"
 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:118 access/gin/ginvalidate.c:149
-#: access/gist/gistvalidate.c:152 access/hash/hashvalidate.c:139
-#: access/nbtree/nbtvalidate.c:120 access/spgist/spgvalidate.c:189
+#: access/brin/brin_validate.c:111 access/gin/ginvalidate.c:142
+#: access/gist/gistvalidate.c:150 access/hash/hashvalidate.c:112
+#: access/nbtree/nbtvalidate.c:112 access/spgist/spgvalidate.c:181
 #, c-format
 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:134 access/gin/ginvalidate.c:161
-#: access/gist/gistvalidate.c:164 access/hash/hashvalidate.c:118
-#: access/nbtree/nbtvalidate.c:132 access/spgist/spgvalidate.c:201
+#: access/brin/brin_validate.c:127 access/gin/ginvalidate.c:154
+#: access/gist/gistvalidate.c:162 access/hash/hashvalidate.c:124
+#: access/nbtree/nbtvalidate.c:124 access/spgist/spgvalidate.c:193
 #, c-format
 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:156 access/gin/ginvalidate.c:180
-#: access/gist/gistvalidate.c:184 access/hash/hashvalidate.c:160
-#: access/nbtree/nbtvalidate.c:152 access/spgist/spgvalidate.c:221
+#: access/brin/brin_validate.c:149 access/gin/ginvalidate.c:173
+#: access/gist/gistvalidate.c:182 access/hash/hashvalidate.c:150
+#: access/nbtree/nbtvalidate.c:144 access/spgist/spgvalidate.c:213
 #, c-format
 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:185 access/gin/ginvalidate.c:193
-#: access/hash/hashvalidate.c:173 access/nbtree/nbtvalidate.c:165
-#: access/spgist/spgvalidate.c:237
+#: access/brin/brin_validate.c:178 access/gin/ginvalidate.c:186
+#: access/hash/hashvalidate.c:163 access/nbtree/nbtvalidate.c:157
+#: access/spgist/spgvalidate.c:229
 #, c-format
 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:198 access/gin/ginvalidate.c:206
-#: access/gist/gistvalidate.c:232 access/hash/hashvalidate.c:186
-#: access/nbtree/nbtvalidate.c:178 access/spgist/spgvalidate.c:253
+#: access/brin/brin_validate.c:191 access/gin/ginvalidate.c:199
+#: access/gist/gistvalidate.c:230 access/hash/hashvalidate.c:176
+#: access/nbtree/nbtvalidate.c:170 access/spgist/spgvalidate.c:245
 #, c-format
 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:236 access/hash/hashvalidate.c:226
-#: access/nbtree/nbtvalidate.c:236 access/spgist/spgvalidate.c:280
+#: access/brin/brin_validate.c:229 access/hash/hashvalidate.c:216
+#: access/nbtree/nbtvalidate.c:228 access/spgist/spgvalidate.c:272
 #, c-format
 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:246
+#: access/brin/brin_validate.c:239
 #, c-format
 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:259 access/hash/hashvalidate.c:240
-#: access/nbtree/nbtvalidate.c:260 access/spgist/spgvalidate.c:315
+#: access/brin/brin_validate.c:252 access/hash/hashvalidate.c:230
+#: access/nbtree/nbtvalidate.c:252 access/spgist/spgvalidate.c:307
 #, c-format
 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:270 access/gin/ginvalidate.c:248
-#: access/gist/gistvalidate.c:273
+#: access/brin/brin_validate.c:263 access/gin/ginvalidate.c:241
+#: access/gist/gistvalidate.c:272
 #, c-format
 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/attmap.c:121
-#, c-format
-msgid "Returned type %s does not match expected type %s in column %d."
+#: access/common/attmap.c:118
+#, fuzzy, c-format
+#| msgid "Returned type %s does not match expected type %s in column %d."
+msgid "Returned type %s does not match expected type %s in column \"%s\" (position %d)."
 msgstr "Zurückgegebener Typ %1$s stimmt in Spalte %3$d nicht mit erwartetem Typ %2$s überein."
 
-#: access/common/attmap.c:149
+#: access/common/attmap.c:147
 #, c-format
 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/attmap.c:233 access/common/attmap.c:245
+#: access/common/attmap.c:231 access/common/attmap.c:243
 #, c-format
 msgid "could not convert row type"
 msgstr "konnte Zeilentyp nicht umwandeln"
 
-#: access/common/attmap.c:234
+#: access/common/attmap.c:232
 #, 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/attmap.c:246
+#: access/common/attmap.c:244
 #, 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/heaptuple.c:1132 access/common/heaptuple.c:1467
+#: access/common/heaptuple.c:1133 access/common/heaptuple.c:1468
 #, c-format
 msgid "number of columns (%d) exceeds limit (%d)"
 msgstr "Anzahl der Spalten (%d) überschreitet Maximum (%d)"
@@ -1048,96 +1056,96 @@ msgstr "Anzahl der Spalten (%d) überschreitet Maximum (%d)"
 msgid "number of index columns (%d) exceeds limit (%d)"
 msgstr "Anzahl der Indexspalten (%d) überschreitet Maximum (%d)"
 
-#: access/common/indextuple.c:209 access/spgist/spgutils.c:970
+#: access/common/indextuple.c:209 access/spgist/spgutils.c:978
 #, c-format
 msgid "index row requires %zu bytes, maximum size is %zu"
 msgstr "Indexzeile benötigt %zu Bytes, Maximalgröße ist %zu"
 
-#: access/common/printtup.c:292 commands/explain.c:5376 tcop/fastpath.c:107
-#: tcop/fastpath.c:454 tcop/postgres.c:1956
+#: access/common/printtup.c:292 commands/explain_dr.c:93 tcop/fastpath.c:106
+#: tcop/fastpath.c:453 tcop/postgres.c:1949
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "nicht unterstützter Formatcode: %d"
 
-#: access/common/reloptions.c:519 access/common/reloptions.c:530
+#: access/common/reloptions.c:538 access/common/reloptions.c:549
 msgid "Valid values are \"on\", \"off\", and \"auto\"."
 msgstr "Gültige Werte sind »on«, »off« und »auto«."
 
-#: access/common/reloptions.c:541
+#: access/common/reloptions.c:560
 msgid "Valid values are \"local\" and \"cascaded\"."
 msgstr "Gültige Werte sind »local« und »cascaded«."
 
-#: access/common/reloptions.c:689
+#: access/common/reloptions.c:708
 #, c-format
 msgid "user-defined relation parameter types limit exceeded"
 msgstr "Wertebereich des Typs für benutzerdefinierte Relationsparameter überschritten"
 
-#: access/common/reloptions.c:1231
+#: access/common/reloptions.c:1250
 #, c-format
 msgid "RESET must not include values for parameters"
 msgstr "RESET darf keinen Parameterwert enthalten"
 
-#: access/common/reloptions.c:1263
+#: access/common/reloptions.c:1282
 #, c-format
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "unbekannter Parameter-Namensraum »%s«"
 
-#: access/common/reloptions.c:1300 commands/variable.c:1214
+#: access/common/reloptions.c:1319 commands/variable.c:1226
 #, c-format
 msgid "tables declared WITH OIDS are not supported"
 msgstr "Tabellen mit WITH OIDS werden nicht unterstützt"
 
-#: access/common/reloptions.c:1468
+#: access/common/reloptions.c:1487
 #, c-format
 msgid "unrecognized parameter \"%s\""
 msgstr "unbekannter Parameter »%s«"
 
-#: access/common/reloptions.c:1580
+#: access/common/reloptions.c:1599
 #, c-format
 msgid "parameter \"%s\" specified more than once"
 msgstr "Parameter »%s« mehrmals angegeben"
 
-#: access/common/reloptions.c:1596
+#: access/common/reloptions.c:1615
 #, 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:1608
+#: access/common/reloptions.c:1627
 #, c-format
 msgid "invalid value for integer option \"%s\": %s"
 msgstr "ungültiger Wert für ganzzahlige Option »%s«: »%s«"
 
-#: access/common/reloptions.c:1614 access/common/reloptions.c:1634
+#: access/common/reloptions.c:1633 access/common/reloptions.c:1653
 #, 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:1616
+#: access/common/reloptions.c:1635
 #, c-format
 msgid "Valid values are between \"%d\" and \"%d\"."
 msgstr "Gültige Werte sind zwischen »%d« und »%d«."
 
-#: access/common/reloptions.c:1628
+#: access/common/reloptions.c:1647
 #, c-format
 msgid "invalid value for floating point option \"%s\": %s"
 msgstr "ungültiger Wert für Gleitkommaoption »%s«: »%s«"
 
-#: access/common/reloptions.c:1636
+#: access/common/reloptions.c:1655
 #, c-format
 msgid "Valid values are between \"%f\" and \"%f\"."
 msgstr "Gültige Werte sind zwischen »%f« und »%f«."
 
-#: access/common/reloptions.c:1658
+#: access/common/reloptions.c:1677
 #, c-format
 msgid "invalid value for enum option \"%s\": %s"
 msgstr "ungültiger Wert für Enum-Option »%s«: »%s«"
 
-#: access/common/reloptions.c:1989
+#: access/common/reloptions.c:2012
 #, c-format
 msgid "cannot specify storage parameters for a partitioned table"
 msgstr "für eine partitionierte Tabelle können keine Storage-Parameter angegeben werden"
 
-#: access/common/reloptions.c:1990
+#: access/common/reloptions.c:2013
 #, c-format
 msgid "Specify storage parameters for its leaf partitions instead."
 msgstr "Geben Sie Storage-Parameter stattdessen für ihre Blattpartitionen an."
@@ -1182,51 +1190,51 @@ msgstr "auf temporäre Indexe anderer Sitzungen kann nicht zugegriffen werden"
 msgid "failed to re-find tuple within index \"%s\""
 msgstr "konnte Tupel mit Index »%s« nicht erneut finden"
 
-#: access/gin/ginscan.c:431
+#: access/gin/gininsert.c:1283 access/gin/ginutil.c:152
+#: executor/execExpr.c:2244 utils/adt/arrayfuncs.c:4028
+#: utils/adt/arrayfuncs.c:6724 utils/adt/rowtypes.c:974
+#, c-format
+msgid "could not identify a comparison function for type %s"
+msgstr "konnte keine Vergleichsfunktion für Typ %s ermitteln"
+
+#: access/gin/ginscan.c:437
 #, 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:432
+#: access/gin/ginscan.c:438
 #, 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:147 executor/execExpr.c:2200
-#: utils/adt/arrayfuncs.c:4016 utils/adt/arrayfuncs.c:6712
-#: utils/adt/rowtypes.c:974
-#, c-format
-msgid "could not identify a comparison function for type %s"
-msgstr "konnte keine Vergleichsfunktion für Typ %s ermitteln"
-
-#: access/gin/ginvalidate.c:90 access/gist/gistvalidate.c:92
-#: access/hash/hashvalidate.c:102 access/spgist/spgvalidate.c:102
+#: access/gin/ginvalidate.c:83 access/gist/gistvalidate.c:84
+#: access/hash/hashvalidate.c:89 access/spgist/spgvalidate.c:94
 #, c-format
 msgid "operator family \"%s\" of access method %s contains support function %s with different left and right input types"
 msgstr "Operatorfamilie »%s« für Zugriffsmethode %s enthält Support-Funktion %s mit unterschiedlichen linken und rechten Eingabetypen"
 
-#: access/gin/ginvalidate.c:258
+#: access/gin/ginvalidate.c:251
 #, c-format
 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/gin/ginvalidate.c:331 access/gist/gistvalidate.c:349
-#: access/spgist/spgvalidate.c:387
+#: access/gin/ginvalidate.c:323 access/gist/gistvalidate.c:348
+#: access/spgist/spgvalidate.c:378
 #, c-format
 msgid "support function number %d is invalid for access method %s"
 msgstr "Support-Funktionsnummer %d ist ungültig für Zugriffsmethode %s"
 
-#: access/gist/gist.c:760 access/gist/gistvacuum.c:426
+#: access/gist/gist.c:765 access/gist/gistvacuum.c:426
 #, c-format
 msgid "index \"%s\" contains an inner tuple marked as invalid"
 msgstr "Index »%s« enthält ein inneres Tupel, das als ungültig markiert ist"
 
-#: access/gist/gist.c:762 access/gist/gistvacuum.c:428
+#: access/gist/gist.c:767 access/gist/gistvacuum.c:428
 #, c-format
 msgid "This is caused by an incomplete page split at crash recovery before upgrading to PostgreSQL 9.1."
 msgstr "Das kommt von einem unvollständigen Page-Split bei der Crash-Recovery vor dem Upgrade auf PostgreSQL 9.1."
 
-#: access/gist/gist.c:763 access/gist/gistutil.c:800 access/gist/gistutil.c:811
+#: access/gist/gist.c:768 access/gist/gistutil.c:801 access/gist/gistutil.c:812
 #: access/gist/gistvacuum.c:429 access/hash/hashutil.c:226
 #: access/hash/hashutil.c:237 access/hash/hashutil.c:249
 #: access/hash/hashutil.c:270 access/nbtree/nbtpage.c:813
@@ -1235,7 +1243,7 @@ msgstr "Das kommt von einem unvollständigen Page-Split bei der Crash-Recovery v
 msgid "Please REINDEX it."
 msgstr "Bitte führen Sie REINDEX für den Index aus."
 
-#: access/gist/gist.c:1196
+#: access/gist/gist.c:1201
 #, c-format
 msgid "fixing incomplete split in index \"%s\", block %u"
 msgstr "repariere unvollständiges Teilen in Index »%s«, Block %u"
@@ -1250,41 +1258,42 @@ 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:797 access/hash/hashutil.c:223
+#: access/gist/gistutil.c:798 access/hash/hashutil.c:223
 #: access/nbtree/nbtpage.c:810
 #, 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:808 access/hash/hashutil.c:234
+#: access/gist/gistutil.c:809 access/hash/hashutil.c:234
 #: access/hash/hashutil.c:246 access/nbtree/nbtpage.c:821
 #, c-format
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "Index »%s« enthält korrupte Seite bei Block %u"
 
-#: access/gist/gistvalidate.c:202
+#: access/gist/gistvalidate.c:200
 #, c-format
 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:213
+#: access/gist/gistvalidate.c:211
 #, c-format
 msgid "operator family \"%s\" of access method %s contains incorrect ORDER BY opfamily specification for operator %s"
 msgstr "Operatorfamilie »%s« für Zugriffsmethode %s enthält ungültige ORDER-BY-Operatorfamilienangabe für Operator %s"
 
-#: access/hash/hashfunc.c:277 access/hash/hashfunc.c:333
-#: utils/adt/varchar.c:1008 utils/adt/varchar.c:1065
+#: access/hash/hashfunc.c:277 access/hash/hashfunc.c:332
+#: utils/adt/varchar.c:1000 utils/adt/varchar.c:1056
 #, c-format
 msgid "could not determine which collation to use for string hashing"
 msgstr "konnte die für das Zeichenketten-Hashing zu verwendende Sortierfolge nicht bestimmen"
 
-#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334 catalog/heap.c:672
-#: catalog/heap.c:678 commands/createas.c:201 commands/createas.c:508
-#: commands/indexcmds.c:2021 commands/tablecmds.c:18178 commands/view.c:81
-#: regex/regc_pg_locale.c:245 utils/adt/formatting.c:1653
-#: utils/adt/formatting.c:1801 utils/adt/formatting.c:1991 utils/adt/like.c:189
-#: utils/adt/like_support.c:1024 utils/adt/varchar.c:738
-#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1066 utils/adt/varlena.c:1521
+#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:333 catalog/heap.c:679
+#: catalog/heap.c:685 commands/createas.c:201 commands/createas.c:514
+#: commands/indexcmds.c:2096 commands/tablecmds.c:19163 commands/view.c:80
+#: regex/regc_pg_locale.c:245 utils/adt/formatting.c:1655
+#: utils/adt/formatting.c:1719 utils/adt/formatting.c:1783
+#: utils/adt/formatting.c:1847 utils/adt/like.c:163 utils/adt/like.c:194
+#: utils/adt/like_support.c:1020 utils/adt/varchar.c:738
+#: utils/adt/varchar.c:1001 utils/adt/varchar.c:1057 utils/adt/varlena.c:1592
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Verwenden Sie die COLLATE-Klausel, um die Sortierfolge explizit zu setzen."
@@ -1295,7 +1304,7 @@ 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:86 access/spgist/spgdoinsert.c:2005
-#: access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1031
+#: access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1039
 #, 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."
@@ -1325,54 +1334,54 @@ msgstr "Index »%s« ist kein Hash-Index"
 msgid "index \"%s\" has wrong hash version"
 msgstr "Index »%s« hat falsche Hash-Version"
 
-#: access/hash/hashvalidate.c:198
+#: access/hash/hashvalidate.c:188
 #, c-format
 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:256 access/nbtree/nbtvalidate.c:276
+#: access/hash/hashvalidate.c:246 access/nbtree/nbtvalidate.c:268
 #, c-format
 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:2206
+#: access/heap/heapam.c:2209
 #, c-format
 msgid "cannot insert tuples in a parallel worker"
 msgstr "in einem parallelen Arbeitsprozess können keine Tupel eingefügt werden"
 
-#: access/heap/heapam.c:2725
+#: access/heap/heapam.c:2728
 #, 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:2772
+#: access/heap/heapam.c:2775
 #, c-format
 msgid "attempted to delete invisible tuple"
 msgstr "Versuch ein unsichtbares Tupel zu löschen"
 
-#: access/heap/heapam.c:3220 access/heap/heapam.c:6501 access/index/genam.c:818
+#: access/heap/heapam.c:3223 access/index/genam.c:832
 #, 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:3397
+#: access/heap/heapam.c:3400
 #, c-format
 msgid "attempted to update invisible tuple"
 msgstr "Versuch ein unsichtbares Tupel zu aktualisieren"
 
-#: access/heap/heapam.c:4908 access/heap/heapam.c:4946
-#: access/heap/heapam.c:5211 access/heap/heapam_handler.c:468
+#: access/heap/heapam.c:4911 access/heap/heapam.c:4949
+#: access/heap/heapam.c:5214 access/heap/heapam_handler.c:466
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "konnte Sperre für Zeile in Relation »%s« nicht setzen"
 
-#: access/heap/heapam.c:6314 commands/trigger.c:3340
-#: executor/nodeModifyTable.c:2376 executor/nodeModifyTable.c:2467
+#: access/heap/heapam.c:6328 commands/trigger.c:3350
+#: executor/nodeModifyTable.c:2545 executor/nodeModifyTable.c:2635
 #, 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"
 
-#: access/heap/heapam_handler.c:413
+#: access/heap/heapam_handler.c:411
 #, c-format
 msgid "tuple to be locked was already moved to another partition due to concurrent update"
 msgstr "das zu sperrende Tupel wurde schon durch ein gleichzeitiges Update in eine andere Partition verschoben"
@@ -1389,14 +1398,14 @@ msgstr "konnte nicht in Datei »%s« schreiben, %d von %d geschrieben: %m"
 
 #: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094
 #: access/transam/timeline.c:329 access/transam/timeline.c:481
-#: access/transam/xlog.c:3255 access/transam/xlog.c:3446
-#: access/transam/xlog.c:4283 access/transam/xlog.c:9269
-#: access/transam/xlogfuncs.c:692 backup/basebackup_server.c:149
+#: access/transam/xlog.c:3249 access/transam/xlog.c:3457
+#: access/transam/xlog.c:4321 access/transam/xlog.c:9314
+#: access/transam/xlogfuncs.c:693 backup/basebackup_server.c:149
 #: backup/basebackup_server.c:242 commands/dbcommands.c:494
-#: postmaster/launch_backend.c:340 postmaster/postmaster.c:4114
-#: postmaster/walsummarizer.c:1212 replication/logical/origin.c:603
-#: replication/slot.c:2059 storage/file/copydir.c:157 storage/smgr/md.c:230
-#: utils/time/snapmgr.c:1234
+#: postmaster/launch_backend.c:338 postmaster/postmaster.c:4017
+#: postmaster/walsummarizer.c:1213 replication/logical/origin.c:607
+#: replication/slot.c:2252 storage/file/copydir.c:157 storage/smgr/md.c:242
+#: utils/time/snapmgr.c:1182
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht erstellen: %m"
@@ -1408,162 +1417,181 @@ msgstr "konnte Datei »%s« nicht auf %u kürzen: %m"
 
 #: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384
 #: access/transam/timeline.c:424 access/transam/timeline.c:498
-#: access/transam/xlog.c:3305 access/transam/xlog.c:3502
-#: access/transam/xlog.c:4295 commands/dbcommands.c:506
-#: postmaster/launch_backend.c:351 postmaster/launch_backend.c:363
-#: replication/logical/origin.c:615 replication/logical/origin.c:657
-#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1788
-#: replication/slot.c:2094 storage/file/buffile.c:545
-#: storage/file/copydir.c:197 utils/init/miscinit.c:1655
-#: utils/init/miscinit.c:1666 utils/init/miscinit.c:1674 utils/misc/guc.c:4491
-#: utils/misc/guc.c:4522 utils/misc/guc.c:5675 utils/misc/guc.c:5693
-#: utils/time/snapmgr.c:1239 utils/time/snapmgr.c:1246
+#: access/transam/xlog.c:3310 access/transam/xlog.c:3513
+#: access/transam/xlog.c:4333 commands/dbcommands.c:506
+#: postmaster/launch_backend.c:349 postmaster/launch_backend.c:361
+#: replication/logical/origin.c:619 replication/logical/origin.c:661
+#: replication/logical/origin.c:680 replication/logical/snapbuild.c:1617
+#: replication/slot.c:2287 storage/file/buffile.c:545
+#: storage/file/copydir.c:197 utils/init/miscinit.c:1657
+#: utils/init/miscinit.c:1668 utils/init/miscinit.c:1676 utils/misc/guc.c:4488
+#: utils/misc/guc.c:4519 utils/misc/guc.c:5672 utils/misc/guc.c:5690
+#: utils/time/snapmgr.c:1187 utils/time/snapmgr.c:1194
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "konnte nicht in Datei »%s« schreiben: %m"
 
-#: access/heap/vacuumlazy.c:473
+#: access/heap/vacuumlazy.c:814
 #, c-format
 msgid "aggressively vacuuming \"%s.%s.%s\""
 msgstr "aggressives Vacuum von »%s.%s.%s«"
 
-#: access/heap/vacuumlazy.c:478
+#: access/heap/vacuumlazy.c:819
 #, c-format
 msgid "vacuuming \"%s.%s.%s\""
 msgstr "Vacuum von »%s.%s.%s«"
 
-#: access/heap/vacuumlazy.c:626
+#: access/heap/vacuumlazy.c:987
 #, c-format
 msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n"
 msgstr "beende Vacuum der Tabelle »%s.%s.%s«: Index-Scans: %d\n"
 
-#: access/heap/vacuumlazy.c:637
+#: access/heap/vacuumlazy.c:998
 #, c-format
 msgid "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "automatisches aggressives Vacuum um Überlauf zu verhindern in der Tabelle »%s.%s.%s«: Index-Scans: %d\n"
 
-#: access/heap/vacuumlazy.c:639
+#: access/heap/vacuumlazy.c:1000
 #, c-format
 msgid "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "automatisches Vacuum um Überlauf zu verhindern in der Tabelle »%s.%s.%s«: Index-Scans: %d\n"
 
-#: access/heap/vacuumlazy.c:644
+#: access/heap/vacuumlazy.c:1005
 #, c-format
 msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "automatisches aggressives Vacuum der Tabelle »%s.%s.%s«: Index-Scans: %d\n"
 
-#: access/heap/vacuumlazy.c:646
+#: access/heap/vacuumlazy.c:1007
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "automatisches Vacuum der Tabelle »%s.%s.%s«: Index-Scans: %d\n"
 
-#: access/heap/vacuumlazy.c:653
-#, c-format
-msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n"
+#: access/heap/vacuumlazy.c:1014
+#, fuzzy, c-format
+#| msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n"
+msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total), %u eagerly scanned\n"
 msgstr "Seiten: %u entfernt, %u verbleiben, %u gescannt (%.2f%% der Gesamtzahl)\n"
 
-#: access/heap/vacuumlazy.c:660
+#: access/heap/vacuumlazy.c:1023
 #, c-format
 msgid "tuples: %lld removed, %lld remain, %lld are dead but not yet removable\n"
 msgstr "Tupel: %lld entfernt, %lld verbleiben, %lld sind tot aber noch nicht entfernbar\n"
 
-#: access/heap/vacuumlazy.c:666
+#: access/heap/vacuumlazy.c:1029
 #, c-format
 msgid "tuples missed: %lld dead from %u pages not removed due to cleanup lock contention\n"
 msgstr "verpasste Tupel: %lld tot von %u Seiten nicht entfernt wegen Cleanup-Lock-Konflikt\n"
 
-#: access/heap/vacuumlazy.c:672
+#: access/heap/vacuumlazy.c:1035
 #, c-format
 msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n"
 msgstr "entfernbare Obergrenze: %u, was %d XIDs alt war als die Operation endete\n"
 
-#: access/heap/vacuumlazy.c:679
+#: access/heap/vacuumlazy.c:1042
 #, c-format
 msgid "new relfrozenxid: %u, which is %d XIDs ahead of previous value\n"
 msgstr "neue relfrozenxid: %u, was %d XIDs vor dem vorherigen Wert ist\n"
 
-#: access/heap/vacuumlazy.c:687
+#: access/heap/vacuumlazy.c:1050
 #, c-format
 msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n"
 msgstr "neue relminmxid: %u, was %d MXIDs vor dem vorherigen Wert ist\n"
 
-#: access/heap/vacuumlazy.c:690
+#: access/heap/vacuumlazy.c:1053
 #, c-format
 msgid "frozen: %u pages from table (%.2f%% of total) had %lld tuples frozen\n"
 msgstr "eingefroren: in %u Seiten der Tabelle (%.2f%% der Gesamtzahl) wurden %lld Tupel eingefroren\n"
 
-#: access/heap/vacuumlazy.c:698
+#: access/heap/vacuumlazy.c:1061
+#, c-format
+msgid "visibility map: %u pages set all-visible, %u pages set all-frozen (%u were all-visible)\n"
+msgstr ""
+
+#: access/heap/vacuumlazy.c:1069
 msgid "index scan not needed: "
 msgstr "Index-Scan nicht benötigt: "
 
-#: access/heap/vacuumlazy.c:700
+#: access/heap/vacuumlazy.c:1071
 msgid "index scan needed: "
 msgstr "Index-Scan benötigt: "
 
-#: access/heap/vacuumlazy.c:702
+#: access/heap/vacuumlazy.c:1073
 #, c-format
 msgid "%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n"
 msgstr "in %u Seiten der Tabelle (%.2f%% der Gesamtzahl) wurden %lld tote Item-Bezeichner entfernt\n"
 
-#: access/heap/vacuumlazy.c:707
+#: access/heap/vacuumlazy.c:1078
 msgid "index scan bypassed: "
 msgstr "Index-Scan umgangen: "
 
-#: access/heap/vacuumlazy.c:709
+#: access/heap/vacuumlazy.c:1080
 msgid "index scan bypassed by failsafe: "
 msgstr "Index-Scan umgangen durch Ausfallsicherung: "
 
-#: access/heap/vacuumlazy.c:711
+#: access/heap/vacuumlazy.c:1082
 #, c-format
 msgid "%u pages from table (%.2f%% of total) have %lld dead item identifiers\n"
 msgstr "%u Seiten der Tabelle (%.2f%% der Gesamtzahl) haben %lld tote Item-Bezeichner\n"
 
-#: access/heap/vacuumlazy.c:726
+#: access/heap/vacuumlazy.c:1097
 #, c-format
 msgid "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u reusable\n"
 msgstr "Index »%s«: Seiten: %u gesamt, %u neu gelöscht, %u gegenwärtig gelöscht, %u wiederverwendbar\n"
 
-#: access/heap/vacuumlazy.c:738 commands/analyze.c:794
+#: access/heap/vacuumlazy.c:1112 commands/analyze.c:817
+#, fuzzy, c-format
+#| msgid "Time: %.3f ms\n"
+msgid "delay time: %.3f ms\n"
+msgstr "Zeit: %.3f ms\n"
+
+#: access/heap/vacuumlazy.c:1120 commands/analyze.c:825
 #, c-format
 msgid "I/O timings: read: %.3f ms, write: %.3f ms\n"
 msgstr "I/O-Zeitmessungen: Lesen: %.3f ms, Schreiben: %.3f ms\n"
 
-#: access/heap/vacuumlazy.c:748 commands/analyze.c:797
+#: access/heap/vacuumlazy.c:1130 commands/analyze.c:828
 #, c-format
 msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
 msgstr "durchschn. Leserate: %.3f MB/s, durchschn. Schreibrate: %.3f MB/s\n"
 
-#: access/heap/vacuumlazy.c:751 commands/analyze.c:799
-#, c-format
-msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n"
+#: access/heap/vacuumlazy.c:1133 commands/analyze.c:830
+#, fuzzy, c-format
+#| msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n"
+msgid "buffer usage: %lld hits, %lld reads, %lld dirtied\n"
 msgstr "Puffer-Verwendung: %lld Treffer, %lld Verfehlen, %lld geändert\n"
 
-#: access/heap/vacuumlazy.c:756
-#, c-format
-msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n"
+#: access/heap/vacuumlazy.c:1138 commands/analyze.c:835
+#, fuzzy, c-format
+#| msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n"
+msgid "WAL usage: %lld records, %lld full page images, %llu bytes, %lld buffers full\n"
 msgstr "WAL-Benutzung: %lld Einträge, %lld Full Page Images, %llu Bytes\n"
 
-#: access/heap/vacuumlazy.c:760 commands/analyze.c:803
+#: access/heap/vacuumlazy.c:1143 commands/analyze.c:840
 #, c-format
 msgid "system usage: %s"
 msgstr "Systembenutzung: %s"
 
-#: access/heap/vacuumlazy.c:2170
+#: access/heap/vacuumlazy.c:1423
+#, c-format
+msgid "disabling eager scanning after freezing %u eagerly scanned blocks of \"%s.%s.%s\""
+msgstr ""
+
+#: access/heap/vacuumlazy.c:2802
 #, c-format
 msgid "table \"%s\": removed %lld dead item identifiers in %u pages"
 msgstr "Tabelle »%s«: %lld tote Item-Bezeichner in %u Seiten entfernt"
 
-#: access/heap/vacuumlazy.c:2324
+#: access/heap/vacuumlazy.c:2974
 #, c-format
 msgid "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after %d index scans"
 msgstr "umgehe nicht essentielle Wartung der Tabelle »%s.%s.%s« als Ausfallsicherung nach %d Index-Scans"
 
-#: access/heap/vacuumlazy.c:2327
+#: access/heap/vacuumlazy.c:2977
 #, c-format
 msgid "The table's relfrozenxid or relminmxid is too far in the past."
 msgstr "relfrozenxid oder relminmxid der Tabelle ist zu weit in der Vergangenheit."
 
-#: access/heap/vacuumlazy.c:2328
+#: access/heap/vacuumlazy.c:2978
 #, c-format
 msgid ""
 "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n"
@@ -1572,67 +1600,67 @@ msgstr ""
 "Erhöhen Sie eventuell die Konfigurationsparameter »maintenance_work_mem« oder »autovacuum_work_mem«.\n"
 "Sie müssen möglicherweise auch andere Wege in Betracht ziehen, wie VACUUM mit der Benutzung von Transaktions-IDs mithalten kann."
 
-#: access/heap/vacuumlazy.c:2590
+#: access/heap/vacuumlazy.c:3240
 #, c-format
 msgid "\"%s\": stopping truncate due to conflicting lock request"
 msgstr "»%s«: Truncate wird gestoppt wegen Sperrkonflikt"
 
-#: access/heap/vacuumlazy.c:2660
+#: access/heap/vacuumlazy.c:3310
 #, c-format
 msgid "table \"%s\": truncated %u to %u pages"
 msgstr "Tabelle »%s«: von %u auf %u Seiten verkürzt"
 
-#: access/heap/vacuumlazy.c:2722
+#: access/heap/vacuumlazy.c:3372
 #, c-format
 msgid "table \"%s\": suspending truncate due to conflicting lock request"
 msgstr "Tabelle »%s«: Truncate wird ausgesetzt wegen Sperrkonflikt"
 
-#: access/heap/vacuumlazy.c:2841
+#: access/heap/vacuumlazy.c:3491
 #, c-format
 msgid "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary tables in parallel"
 msgstr "Paralleloption für Vacuum von »%s« wird deaktiviert --- Vacuum in temporären Tabellen kann nicht parallel ausgeführt werden"
 
-#: access/heap/vacuumlazy.c:3108
+#: access/heap/vacuumlazy.c:3758
 #, c-format
 msgid "while scanning block %u offset %u of relation \"%s.%s\""
 msgstr "beim Scannen von Block %u Offset %u von Relation »%s.%s«"
 
-#: access/heap/vacuumlazy.c:3111
+#: access/heap/vacuumlazy.c:3761
 #, c-format
 msgid "while scanning block %u of relation \"%s.%s\""
 msgstr "beim Scannen von Block %u von Relation »%s.%s«"
 
-#: access/heap/vacuumlazy.c:3115
+#: access/heap/vacuumlazy.c:3765
 #, c-format
 msgid "while scanning relation \"%s.%s\""
 msgstr "beim Scannen von Relation »%s.%s«"
 
-#: access/heap/vacuumlazy.c:3123
+#: access/heap/vacuumlazy.c:3773
 #, c-format
 msgid "while vacuuming block %u offset %u of relation \"%s.%s\""
 msgstr "beim Vacuum von Block %u Offset %u von Relation »%s.%s«"
 
-#: access/heap/vacuumlazy.c:3126
+#: access/heap/vacuumlazy.c:3776
 #, c-format
 msgid "while vacuuming block %u of relation \"%s.%s\""
 msgstr "beim Vacuum von Block %u von Relation »%s.%s«"
 
-#: access/heap/vacuumlazy.c:3130
+#: access/heap/vacuumlazy.c:3780
 #, c-format
 msgid "while vacuuming relation \"%s.%s\""
 msgstr "beim Vacuum von Relation »%s.%s«"
 
-#: access/heap/vacuumlazy.c:3135 commands/vacuumparallel.c:1112
+#: access/heap/vacuumlazy.c:3785 commands/vacuumparallel.c:1126
 #, c-format
 msgid "while vacuuming index \"%s\" of relation \"%s.%s\""
 msgstr "beim Vacuum von Index »%s« von Relation »%s.%s«"
 
-#: access/heap/vacuumlazy.c:3140 commands/vacuumparallel.c:1118
+#: access/heap/vacuumlazy.c:3790 commands/vacuumparallel.c:1132
 #, c-format
 msgid "while cleaning up index \"%s\" of relation \"%s.%s\""
 msgstr "beim Säubern von Index »%s« von Relation »%s.%s«"
 
-#: access/heap/vacuumlazy.c:3146
+#: access/heap/vacuumlazy.c:3796
 #, c-format
 msgid "while truncating relation \"%s.%s\" to %u blocks"
 msgstr "beim Trunkieren von Relation »%s.%s« auf %u Blöcke"
@@ -1647,24 +1675,24 @@ msgstr "Zugriffsmethode »%s« ist nicht vom Typ %s"
 msgid "index access method \"%s\" does not have a handler"
 msgstr "Indexzugriffsmethode »%s« hat keinen Handler"
 
-#: access/index/genam.c:489
+#: access/index/genam.c:497
 #, c-format
 msgid "transaction aborted during system catalog scan"
 msgstr "Transaktion während eines Systemkatalog-Scans abgebrochen"
 
-#: access/index/genam.c:657 access/index/indexam.c:82
+#: access/index/genam.c:666 access/index/indexam.c:82
 #, c-format
 msgid "cannot access index \"%s\" while it is being reindexed"
 msgstr "auf Index »%s« kann nicht zugegriffen werden, während er reindiziert wird"
 
-#: access/index/indexam.c:203 catalog/objectaddress.c:1356
-#: commands/indexcmds.c:2851 commands/tablecmds.c:281 commands/tablecmds.c:305
-#: commands/tablecmds.c:17873 commands/tablecmds.c:19762
+#: access/index/indexam.c:203 catalog/objectaddress.c:1361
+#: commands/indexcmds.c:2988 commands/tablecmds.c:284 commands/tablecmds.c:308
+#: commands/tablecmds.c:18852 commands/tablecmds.c:20763
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "»%s« ist kein Index"
 
-#: access/index/indexam.c:1028
+#: access/index/indexam.c:1030
 #, c-format
 msgid "operator class %s has no options"
 msgstr "Operatorklasse %s hat keine Optionen"
@@ -1685,7 +1713,7 @@ msgid "This may be because of a non-immutable index expression."
 msgstr "Das kann daran liegen, dass der Indexausdruck nicht »immutable« ist."
 
 #: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611
-#: parser/parse_utilcmd.c:2323
+#: parser/parse_utilcmd.c:2498
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "Index »%s« ist kein B-Tree"
@@ -1705,17 +1733,17 @@ msgstr "Index »%s« enthält eine halbtote interne Seite"
 msgid "This can be caused by an interrupted VACUUM in version 9.3 or older, before upgrade. Please REINDEX it."
 msgstr "Die Ursache kann ein unterbrochenes VACUUM in Version 9.3 oder älter vor dem Upgrade sein. Bitte REINDEX durchführen."
 
-#: access/nbtree/nbtutils.c:5108
+#: access/nbtree/nbtutils.c:3270
 #, c-format
 msgid "index row size %zu exceeds btree version %u maximum %zu for index \"%s\""
 msgstr "Größe %zu der Indexzeile überschreitet btree-Version %u Maximum %zu für Index »%s«"
 
-#: access/nbtree/nbtutils.c:5114
+#: access/nbtree/nbtutils.c:3276
 #, c-format
 msgid "Index row references tuple (%u,%u) in relation \"%s\"."
 msgstr "Indexzeile verweist auf Tupel (%u,%u) in Relation »%s«."
 
-#: access/nbtree/nbtutils.c:5118
+#: access/nbtree/nbtutils.c:3280
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -1724,7 +1752,7 @@ 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/nbtvalidate.c:246
+#: access/nbtree/nbtvalidate.c:238
 #, c-format
 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"
@@ -1735,27 +1763,27 @@ msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlt Support-Funktion
 msgid "cannot open relation \"%s\""
 msgstr "kann Relation »%s« nicht öffnen"
 
-#: access/spgist/spgutils.c:245
+#: access/spgist/spgutils.c:251
 #, c-format
 msgid "compress method must be defined when leaf type is different from input type"
 msgstr "Compress-Methode muss definiert sein, wenn der Leaf-Typ verschieden vom Eingabetyp ist"
 
-#: access/spgist/spgutils.c:1028
+#: access/spgist/spgutils.c:1036
 #, 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:136
+#: access/spgist/spgvalidate.c:128
 #, c-format
 msgid "SP-GiST leaf data type %s does not match declared type %s"
 msgstr "SP-GiST-Leaf-Datentyp %s stimmt nicht mit deklariertem Typ %s überein"
 
-#: access/spgist/spgvalidate.c:302
+#: access/spgist/spgvalidate.c:294
 #, c-format
 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/table/tableam.c:255
+#: access/table/tableam.c:256
 #, c-format
 msgid "tid (%u, %u) is not valid for relation \"%s\""
 msgstr "tid (%u, %u) ist nicht gültig für Relation »%s«"
@@ -1765,7 +1793,7 @@ msgstr "tid (%u, %u) ist nicht gültig für Relation »%s«"
 msgid "\"%s\" cannot be empty."
 msgstr "»%s« kann nicht leer sein."
 
-#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4859
+#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4872
 #, c-format
 msgid "\"%s\" is too long (maximum %d characters)."
 msgstr "»%s« ist zu lang (maximal %d Zeichen)."
@@ -1805,13 +1833,13 @@ msgstr "Stellen Sie sicher, dass der Konfigurationsparameter »%s« auf dem Prim
 msgid "Make sure the configuration parameter \"%s\" is set."
 msgstr "Stellen Sie sicher, dass der Konfigurationsparameter »%s« gesetzt ist."
 
-#: access/transam/multixact.c:1091
+#: access/transam/multixact.c:1097
 #, c-format
 msgid "database is not accepting commands that assign new MultiXactIds to avoid wraparound data loss in database \"%s\""
 msgstr "Datenbank nimmt keine Befehle an, die neue MultiXactIds zuweisen, um Datenverlust wegen Transaktionsnummernüberlauf in Datenbank »%s« zu vermeiden"
 
-#: access/transam/multixact.c:1093 access/transam/multixact.c:1100
-#: access/transam/multixact.c:1124 access/transam/multixact.c:1133
+#: access/transam/multixact.c:1099 access/transam/multixact.c:1106
+#: access/transam/multixact.c:1130 access/transam/multixact.c:1139
 #: access/transam/varsup.c:158 access/transam/varsup.c:165
 #, c-format
 msgid ""
@@ -1821,65 +1849,65 @@ msgstr ""
 "Führen Sie ein datenbankweites VACUUM in dieser Datenbank aus.\n"
 "Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen oder unbenutzte Replikations-Slots löschen."
 
-#: access/transam/multixact.c:1098
+#: access/transam/multixact.c:1104
 #, c-format
 msgid "database is not accepting commands that assign new MultiXactIds to avoid wraparound data loss in database with OID %u"
 msgstr "Datenbank nimmt keine Befehle an, die neue MultiXactIds zuweisen, um Datenverlust wegen Transaktionsnummernüberlauf in Datenbank mit OID %u zu vermeiden"
 
-#: access/transam/multixact.c:1119 access/transam/multixact.c:2474
+#: access/transam/multixact.c:1125 access/transam/multixact.c:2482
 #, 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:1128 access/transam/multixact.c:2483
+#: access/transam/multixact.c:1134 access/transam/multixact.c:2491
 #, c-format
 msgid "database with OID %u must be vacuumed before %u more MultiXactId is used"
 msgid_plural "database with OID %u must be vacuumed before %u more MultiXactIds are used"
 msgstr[0] "Datenbank mit OID %u muss gevacuumt werden, bevor %u weitere MultiXactId aufgebraucht ist"
 msgstr[1] "Datenbank mit OID %u muss gevacuumt werden, bevor %u weitere MultiXactIds aufgebraucht sind"
 
-#: access/transam/multixact.c:1189
+#: access/transam/multixact.c:1195
 #, c-format
 msgid "multixact \"members\" limit exceeded"
 msgstr "Grenzwert für Multixact-»Members« überschritten"
 
-#: access/transam/multixact.c:1190
+#: access/transam/multixact.c:1196
 #, c-format
 msgid "This command would create a multixact with %u members, but the remaining space is only enough for %u member."
 msgid_plural "This command would create a multixact with %u members, but the remaining space is only enough for %u members."
 msgstr[0] "Dieser Befehl würde eine Multixact mit %u Mitgliedern erzeugen, aber es ist nur genug Platz für %u Mitglied."
 msgstr[1] "Dieser Befehl würde eine Multixact mit %u Mitgliedern erzeugen, aber es ist nur genug Platz für %u Mitglieder."
 
-#: access/transam/multixact.c:1195
+#: access/transam/multixact.c:1201
 #, c-format
 msgid "Execute a database-wide VACUUM in database with OID %u with reduced \"vacuum_multixact_freeze_min_age\" and \"vacuum_multixact_freeze_table_age\" settings."
 msgstr "Führen Sie ein datenbankweites VACUUM in der Datenbank mit OID %u aus, mit reduzierten Einstellungen für »vacuum_multixact_freeze_min_age« und »vacuum_multixact_freeze_table_age«."
 
-#: access/transam/multixact.c:1226
+#: access/transam/multixact.c:1232
 #, c-format
 msgid "database with OID %u must be vacuumed before %d more multixact member is used"
 msgid_plural "database with OID %u must be vacuumed before %d more multixact members are used"
 msgstr[0] "Datenbank mit OID %u muss gevacuumt werden, bevor %d weiteres Multixact-Mitglied aufgebraucht ist"
 msgstr[1] "Datenbank mit OID %u muss gevacuumt werden, bevor %d weitere Multixact-Mitglieder aufgebraucht sind"
 
-#: access/transam/multixact.c:1231
+#: access/transam/multixact.c:1237
 #, c-format
 msgid "Execute a database-wide VACUUM in that database with reduced \"vacuum_multixact_freeze_min_age\" and \"vacuum_multixact_freeze_table_age\" settings."
 msgstr "Führen Sie ein datenbankweites VACUUM in dieser Datenbank aus, mit reduzierten Einstellungen für »vacuum_multixact_freeze_min_age« und »vacuum_multixact_freeze_table_age«."
 
-#: access/transam/multixact.c:1371
+#: access/transam/multixact.c:1377
 #, c-format
 msgid "MultiXactId %u does no longer exist -- apparent wraparound"
 msgstr "MultiXactId %u existiert nicht mehr -- anscheinender Überlauf"
 
-#: access/transam/multixact.c:1377
+#: access/transam/multixact.c:1383
 #, c-format
 msgid "MultiXactId %u has not been created yet -- apparent wraparound"
 msgstr "MultiXactId %u wurde noch nicht erzeugt -- anscheinender Überlauf"
 
-#: access/transam/multixact.c:2479 access/transam/multixact.c:2488
+#: access/transam/multixact.c:2487 access/transam/multixact.c:2496
 #, c-format
 msgid ""
 "To avoid MultiXactId assignment failures, execute a database-wide VACUUM in that database.\n"
@@ -1888,61 +1916,61 @@ msgstr ""
 "Um Scheitern von MultiXactId-Zuweisungen zu vermeiden, führen Sie ein komplettes VACUUM über diese Datenbank aus.\n"
 "Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen oder unbenutzte Replikations-Slots löschen."
 
-#: access/transam/multixact.c:2767
+#: access/transam/multixact.c:2775
 #, 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:2789
+#: access/transam/multixact.c:2797
 #, c-format
 msgid "MultiXact member wraparound protections are now enabled"
 msgstr "MultiXact-Member-Wraparound-Schutz ist jetzt aktiviert"
 
-#: access/transam/multixact.c:3180
+#: access/transam/multixact.c:3188
 #, 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:3198
+#: access/transam/multixact.c:3206
 #, 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:3517
+#: access/transam/multixact.c:3525
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "ungültige MultiXactId: %u"
 
-#: access/transam/parallel.c:748 access/transam/parallel.c:867
+#: access/transam/parallel.c:752 access/transam/parallel.c:871
 #, c-format
 msgid "parallel worker failed to initialize"
 msgstr "Initialisierung von parallelem Arbeitsprozess fehlgeschlagen"
 
-#: access/transam/parallel.c:749 access/transam/parallel.c:868
+#: access/transam/parallel.c:753 access/transam/parallel.c:872
 #, 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:929
+#: access/transam/parallel.c:933
 #, c-format
 msgid "postmaster exited during a parallel transaction"
 msgstr "Postmaster beendete während einer parallelen Transaktion"
 
-#: access/transam/parallel.c:1116
+#: access/transam/parallel.c:1120
 #, c-format
 msgid "lost connection to parallel worker"
 msgstr "Verbindung mit parallelem Arbeitsprozess verloren"
 
-#: access/transam/parallel.c:1172 access/transam/parallel.c:1174
+#: access/transam/parallel.c:1176 access/transam/parallel.c:1178
 msgid "parallel worker"
 msgstr "paralleler Arbeitsprozess"
 
-#: access/transam/parallel.c:1344 replication/logical/applyparallelworker.c:890
+#: access/transam/parallel.c:1348 replication/logical/applyparallelworker.c:890
 #, c-format
 msgid "could not map dynamic shared memory segment"
 msgstr "konnte dynamisches Shared-Memory-Segment nicht mappen"
 
-#: access/transam/parallel.c:1349 replication/logical/applyparallelworker.c:896
+#: access/transam/parallel.c:1353 replication/logical/applyparallelworker.c:896
 #, c-format
 msgid "invalid magic number in dynamic shared memory segment"
 msgstr "ungültige magische Zahl in dynamischem Shared-Memory-Segment"
@@ -2004,64 +2032,65 @@ msgid "registered custom resource manager \"%s\" with ID %d"
 msgstr "Custom-Resource-Manager »%s« mit ID %d wurde registriert"
 
 #: access/transam/slru.c:361
-#, c-format
-msgid "\"%s\" must be a multiple of %d"
+#, fuzzy, c-format
+#| msgid "\"%s\" must be a multiple of %d"
+msgid "\"%s\" must be a multiple of %d."
 msgstr "»%s« muss ein Vielfaches von %d sein"
 
-#: access/transam/slru.c:830
+#: access/transam/slru.c:833
 #, c-format
 msgid "file \"%s\" doesn't exist, reading as zeroes"
 msgstr "Datei »%s« existiert nicht, wird als Nullen eingelesen"
 
-#: access/transam/slru.c:1059 access/transam/slru.c:1065
-#: access/transam/slru.c:1073 access/transam/slru.c:1078
-#: access/transam/slru.c:1085 access/transam/slru.c:1090
-#: access/transam/slru.c:1097 access/transam/slru.c:1104
+#: access/transam/slru.c:1062 access/transam/slru.c:1068
+#: access/transam/slru.c:1076 access/transam/slru.c:1081
+#: access/transam/slru.c:1088 access/transam/slru.c:1093
+#: access/transam/slru.c:1100 access/transam/slru.c:1107
 #, c-format
 msgid "could not access status of transaction %u"
 msgstr "konnte auf den Status von Transaktion %u nicht zugreifen"
 
-#: access/transam/slru.c:1060
+#: access/transam/slru.c:1063
 #, c-format
 msgid "Could not open file \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht öffnen: %m."
 
-#: access/transam/slru.c:1066
+#: access/transam/slru.c:1069
 #, c-format
 msgid "Could not seek in file \"%s\" to offset %d: %m."
 msgstr "Konnte Positionszeiger in Datei »%s« nicht auf %d setzen: %m."
 
-#: access/transam/slru.c:1074
+#: access/transam/slru.c:1077
 #, c-format
 msgid "Could not read from file \"%s\" at offset %d: %m."
 msgstr "Konnte nicht aus Datei »%s« bei Position %d lesen: %m."
 
-#: access/transam/slru.c:1079
+#: access/transam/slru.c:1082
 #, c-format
 msgid "Could not read from file \"%s\" at offset %d: read too few bytes."
 msgstr "Konnte nicht aus Datei »%s« bei Position %d lesen: zu wenige Bytes gelesen."
 
-#: access/transam/slru.c:1086
+#: access/transam/slru.c:1089
 #, c-format
 msgid "Could not write to file \"%s\" at offset %d: %m."
 msgstr "Konnte nicht in Datei »%s« bei Position %d schreiben: %m."
 
-#: access/transam/slru.c:1091
+#: access/transam/slru.c:1094
 #, c-format
 msgid "Could not write to file \"%s\" at offset %d: wrote too few bytes."
 msgstr "Konnte nicht in Datei »%s« bei Position %d schreiben: zu wenige Bytes geschrieben."
 
-#: access/transam/slru.c:1098
+#: access/transam/slru.c:1101
 #, c-format
 msgid "Could not fsync file \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht fsyncen: %m."
 
-#: access/transam/slru.c:1105
+#: access/transam/slru.c:1108
 #, c-format
 msgid "Could not close file \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht schließen: %m."
 
-#: access/transam/slru.c:1431
+#: access/transam/slru.c:1434
 #, c-format
 msgid "could not truncate directory \"%s\": apparent wraparound"
 msgstr "konnte Verzeichnis »%s« nicht leeren: anscheinender Überlauf"
@@ -2126,12 +2155,12 @@ msgstr "Setzen Sie »max_prepared_transactions« auf einen Wert höher als null.
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "Transaktionsbezeichner »%s« wird bereits verwendet"
 
-#: access/transam/twophase.c:404 access/transam/twophase.c:2531
+#: access/transam/twophase.c:404 access/transam/twophase.c:2530
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "maximale Anzahl vorbereiteter Transaktionen erreicht"
 
-#: access/transam/twophase.c:405 access/transam/twophase.c:2532
+#: access/transam/twophase.c:405 access/transam/twophase.c:2531
 #, c-format
 msgid "Increase \"max_prepared_transactions\" (currently %d)."
 msgstr "Erhöhen Sie »max_prepared_transactions« (aktuell %d)."
@@ -2203,9 +2232,9 @@ msgstr "ungültige Größe in Datei »%s« gespeichert"
 msgid "calculated CRC checksum does not match value stored in file \"%s\""
 msgstr "berechnete CRC-Prüfsumme stimmt nicht mit dem Wert in Datei »%s« überein"
 
-#: access/transam/twophase.c:1419 access/transam/xlogrecovery.c:565
-#: postmaster/walsummarizer.c:936 replication/logical/logical.c:211
-#: replication/walsender.c:836
+#: access/transam/twophase.c:1419 access/transam/xlogrecovery.c:566
+#: postmaster/walsummarizer.c:937 replication/logical/logical.c:211
+#: replication/walsender.c:806
 #, c-format
 msgid "Failed while allocating a WAL reading processor."
 msgstr "Fehlgeschlagen beim Anlegen eines WAL-Leseprozessors."
@@ -2225,64 +2254,64 @@ msgstr "konnte Zweiphasen-Status nicht aus dem WAL bei %X/%X lesen"
 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:1745
+#: access/transam/twophase.c:1744
 #, c-format
 msgid "could not recreate file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht neu erzeugen: %m"
 
-#: access/transam/twophase.c:1872
+#: access/transam/twophase.c:1871
 #, c-format
 msgid "%u two-phase state file was written for a long-running prepared transaction"
 msgid_plural "%u two-phase state files were written for long-running prepared transactions"
 msgstr[0] "%u Zweiphasen-Statusdatei wurde für eine lange laufende vorbereitete Transaktion geschrieben"
 msgstr[1] "%u Zweiphasen-Statusdateien wurden für lange laufende vorbereitete Transaktionen geschrieben"
 
-#: access/transam/twophase.c:2107
+#: access/transam/twophase.c:2106
 #, c-format
 msgid "recovering prepared transaction %u from shared memory"
 msgstr "Wiederherstellung der vorbereiteten Transaktion %u aus dem Shared Memory"
 
-#: access/transam/twophase.c:2200
+#: access/transam/twophase.c:2199
 #, c-format
 msgid "removing stale two-phase state file for transaction %u"
 msgstr "entferne abgelaufene Zweiphasen-Statusdatei für Transaktion %u"
 
-#: access/transam/twophase.c:2207
+#: access/transam/twophase.c:2206
 #, c-format
 msgid "removing stale two-phase state from memory for transaction %u"
 msgstr "entferne abgelaufenen Zweiphasen-Status aus dem Speicher für Transaktion %u"
 
-#: access/transam/twophase.c:2220
+#: access/transam/twophase.c:2219
 #, c-format
 msgid "removing future two-phase state file for transaction %u"
 msgstr "entferne zukünftige Zweiphasen-Statusdatei für Transaktion %u"
 
-#: access/transam/twophase.c:2227
+#: access/transam/twophase.c:2226
 #, 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:2252
+#: access/transam/twophase.c:2251
 #, c-format
 msgid "corrupted two-phase state file for transaction %u"
 msgstr "verfälschte Zweiphasen-Statusdatei für Transaktion %u"
 
-#: access/transam/twophase.c:2257
+#: access/transam/twophase.c:2256
 #, c-format
 msgid "corrupted two-phase state in memory for transaction %u"
 msgstr "verfälschter Zweiphasen-Status im Speicher für Transaktion %u"
 
-#: access/transam/twophase.c:2514
+#: access/transam/twophase.c:2513
 #, c-format
 msgid "could not recover two-phase state file for transaction %u"
 msgstr "konnte Zweiphasen-Statusdatei für Transaktion %u nicht wiederherstellen"
 
-#: access/transam/twophase.c:2516
+#: access/transam/twophase.c:2515
 #, c-format
 msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk."
 msgstr "Zweiphasen-Statusdatei wurde in WAL-Eintrag %X/%X gefunden, aber diese Transaktion wurde schon von der Festplatte wiederhergestellt."
 
-#: access/transam/twophase.c:2524 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209
+#: access/transam/twophase.c:2523 storage/file/fd.c:513 utils/fmgr/dfmgr.c:199
 #, c-format
 msgid "could not access file \"%s\": %m"
 msgstr "konnte nicht auf Datei »%s« zugreifen: %m"
@@ -2326,584 +2355,539 @@ msgstr ""
 "Um ein Fehler bei der Zuweisung von XIDs zu vermeiden, führen Sie ein komplettes VACUUM über diese Datenbank aus.\n"
 "Eventuell müssen Sie auch alte vorbereitete Transaktionen committen oder zurückrollen oder unbenutzte Replikations-Slots löschen."
 
-#: access/transam/xact.c:649
+#: access/transam/xact.c:651
 #, c-format
 msgid "cannot assign transaction IDs during a parallel operation"
 msgstr "während einer parallelen Operation können keine Transaktions-IDs zugewiesen werden"
 
-#: access/transam/xact.c:840
+#: access/transam/xact.c:842
 #, c-format
 msgid "cannot modify data in a parallel worker"
 msgstr "in einem parallelen Arbeitsprozess können keine Daten modifiziert werden"
 
-#: access/transam/xact.c:1115
+#: access/transam/xact.c:1117
 #, c-format
 msgid "cannot start commands during a parallel operation"
 msgstr "während einer parallelen Operation können keine Befehle gestartet werden"
 
-#: access/transam/xact.c:1123
+#: access/transam/xact.c:1125
 #, 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:1664
+#: access/transam/xact.c:1694
 #, c-format
 msgid "maximum number of committed subtransactions (%d) exceeded"
 msgstr "maximale Anzahl committeter Subtransaktionen (%d) überschritten"
 
-#: access/transam/xact.c:2561
+#: access/transam/xact.c:2613
 #, c-format
 msgid "cannot PREPARE a transaction that has operated on temporary objects"
 msgstr "PREPARE kann nicht für eine Transaktion ausgeführt werden, die temporäre Objekte bearbeitet hat"
 
-#: access/transam/xact.c:2571
+#: access/transam/xact.c:2623
 #, c-format
 msgid "cannot PREPARE a transaction that has exported snapshots"
 msgstr "PREPARE kann nicht für eine Transaktion ausgeführt werden, die Snapshots exportiert hat"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3593
+#: access/transam/xact.c:3649
 #, 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:3603
+#: access/transam/xact.c:3659
 #, 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:3613
-#, c-format
-msgid "%s cannot be executed within a pipeline"
-msgstr "%s kann nicht innerhalb einer Pipeline ausgeführt werden"
-
-#. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3623
+#: access/transam/xact.c:3669
 #, c-format
 msgid "%s cannot be executed from a function"
 msgstr "%s kann nicht aus einer Funktion ausgeführt werden"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3694 access/transam/xact.c:4019
-#: access/transam/xact.c:4098 access/transam/xact.c:4221
-#: access/transam/xact.c:4372 access/transam/xact.c:4441
-#: access/transam/xact.c:4552
+#: access/transam/xact.c:3740 access/transam/xact.c:4062
+#: access/transam/xact.c:4141 access/transam/xact.c:4264
+#: access/transam/xact.c:4415 access/transam/xact.c:4484
+#: access/transam/xact.c:4595
 #, c-format
 msgid "%s can only be used in transaction blocks"
 msgstr "%s kann nur in Transaktionsblöcken verwendet werden"
 
-#: access/transam/xact.c:3905
+#: access/transam/xact.c:3948
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "eine Transaktion ist bereits begonnen"
 
-#: access/transam/xact.c:4024 access/transam/xact.c:4103
-#: access/transam/xact.c:4226
+#: access/transam/xact.c:4067 access/transam/xact.c:4146
+#: access/transam/xact.c:4269
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "keine Transaktion offen"
 
-#: access/transam/xact.c:4114
+#: access/transam/xact.c:4157
 #, c-format
 msgid "cannot commit during a parallel operation"
 msgstr "während einer parallelen Operation kann nicht committet werden"
 
-#: access/transam/xact.c:4237
+#: access/transam/xact.c:4280
 #, c-format
 msgid "cannot abort during a parallel operation"
 msgstr "während einer parallelen Operation kann nicht abgebrochen werden"
 
-#: access/transam/xact.c:4336
+#: access/transam/xact.c:4379
 #, 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:4423
+#: access/transam/xact.c:4466
 #, 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:4433 access/transam/xact.c:4484
-#: access/transam/xact.c:4544 access/transam/xact.c:4593
+#: access/transam/xact.c:4476 access/transam/xact.c:4527
+#: access/transam/xact.c:4587 access/transam/xact.c:4636
 #, c-format
 msgid "savepoint \"%s\" does not exist"
 msgstr "Sicherungspunkt »%s« existiert nicht"
 
-#: access/transam/xact.c:4490 access/transam/xact.c:4599
+#: access/transam/xact.c:4533 access/transam/xact.c:4642
 #, c-format
 msgid "savepoint \"%s\" does not exist within current savepoint level"
 msgstr "Sicherungspunkt »%s« existiert nicht innerhalb der aktuellen Sicherungspunktebene"
 
-#: access/transam/xact.c:4532
+#: access/transam/xact.c:4575
 #, 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:5376
+#: access/transam/xact.c:5426
 #, 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:1542
+#: access/transam/xlog.c:1541
 #, c-format
 msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X"
 msgstr "Flush hinter das Ende des erzeugten WAL angefordert; Anforderung %X/%X, aktuelle Position %X/%X"
 
-#: access/transam/xlog.c:1769
+#: access/transam/xlog.c:1768
 #, c-format
 msgid "cannot read past end of generated WAL: requested %X/%X, current position %X/%X"
 msgstr "kann nicht hinter das Ende des erzeugten WAL lesen: Anforderung %X/%X, aktuelle Position %X/%X"
 
-#: access/transam/xlog.c:2210 access/transam/xlog.c:4501
+#: access/transam/xlog.c:2209 access/transam/xlog.c:4557
 #, c-format
 msgid "The WAL segment size must be a power of two between 1 MB and 1 GB."
 msgstr "Die WAL-Segmentgröße muss eine Zweierpotenz zwischen 1 MB und 1 GB sein."
 
-#: access/transam/xlog.c:2228
+#: access/transam/xlog.c:2227
 #, c-format
 msgid "\"%s\" must be set to -1 during binary upgrade mode."
 msgstr "»%s« muss im Binary-Upgrade-Modus auf -1 gesetzt sein."
 
-#: access/transam/xlog.c:2477
+#: access/transam/xlog.c:2464
 #, 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:3739 access/transam/xlogutils.c:831
-#: replication/walsender.c:3045
+#: access/transam/xlog.c:3750 access/transam/xlogutils.c:820
+#: replication/walsender.c:3016
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "das angeforderte WAL-Segment %s wurde schon entfernt"
 
-#: access/transam/xlog.c:4061
+#: access/transam/xlog.c:4072
 #, c-format
 msgid "could not rename file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht umbenennen: %m"
 
-#: access/transam/xlog.c:4104 access/transam/xlog.c:4115
-#: access/transam/xlog.c:4136
+#: access/transam/xlog.c:4115 access/transam/xlog.c:4126
+#: access/transam/xlog.c:4147
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "benötigtes WAL-Verzeichnis »%s« existiert nicht"
 
-#: access/transam/xlog.c:4121 access/transam/xlog.c:4142
+#: access/transam/xlog.c:4132 access/transam/xlog.c:4153
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "erzeuge fehlendes WAL-Verzeichnis »%s«"
 
-#: access/transam/xlog.c:4125 access/transam/xlog.c:4145
-#: commands/dbcommands.c:3262
+#: access/transam/xlog.c:4136 access/transam/xlog.c:4156
+#: commands/dbcommands.c:3275
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "konnte fehlendes Verzeichnis »%s« nicht erzeugen: %m"
 
-#: access/transam/xlog.c:4212
+#: access/transam/xlog.c:4223
 #, c-format
 msgid "could not generate secret authorization token"
 msgstr "konnte geheimes Autorisierungstoken nicht erzeugen"
 
-#: access/transam/xlog.c:4363 access/transam/xlog.c:4373
-#: access/transam/xlog.c:4399 access/transam/xlog.c:4407
-#: access/transam/xlog.c:4415 access/transam/xlog.c:4421
-#: access/transam/xlog.c:4429 access/transam/xlog.c:4437
-#: access/transam/xlog.c:4445 access/transam/xlog.c:4453
-#: access/transam/xlog.c:4461 access/transam/xlog.c:4469
-#: access/transam/xlog.c:4479 access/transam/xlog.c:4487
-#: utils/init/miscinit.c:1812
+#: access/transam/xlog.c:4401 access/transam/xlog.c:4411
+#: access/transam/xlog.c:4437 access/transam/xlog.c:4447
+#: access/transam/xlog.c:4457 access/transam/xlog.c:4463
+#: access/transam/xlog.c:4473 access/transam/xlog.c:4483
+#: access/transam/xlog.c:4493 access/transam/xlog.c:4503
+#: access/transam/xlog.c:4513 access/transam/xlog.c:4523
+#: access/transam/xlog.c:4535 access/transam/xlog.c:4543
+#: utils/init/miscinit.c:1814
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "Datenbankdateien sind inkompatibel mit Server"
 
-#: access/transam/xlog.c:4364
+#: access/transam/xlog.c:4402
 #, 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:4368
+#: access/transam/xlog.c:4406
 #, 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:4374
+#: access/transam/xlog.c:4412
 #, 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:4377 access/transam/xlog.c:4403
-#: access/transam/xlog.c:4411 access/transam/xlog.c:4417
+#: access/transam/xlog.c:4415 access/transam/xlog.c:4443
+#: access/transam/xlog.c:4453 access/transam/xlog.c:4459
 #, 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:4389
+#: access/transam/xlog.c:4427
 #, c-format
 msgid "incorrect checksum in control file"
 msgstr "falsche Prüfsumme in Kontrolldatei"
 
-#: access/transam/xlog.c:4400
-#, c-format
-msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d."
-msgstr "Der Datenbank-Cluster wurde mit CATALOG_VERSION_NO %d initialisiert, aber der Server wurde mit CATALOG_VERSION_NO %d kompiliert."
-
-#: access/transam/xlog.c:4408
-#, c-format
-msgid "The database cluster was initialized with MAXALIGN %d, but the server was compiled with MAXALIGN %d."
-msgstr "Der Datenbank-Cluster wurde mit MAXALIGN %d initialisiert, aber der Server wurde mit MAXALIGN %d kompiliert."
+#. translator: %s is a variable name and %d is its value
+#: access/transam/xlog.c:4439 access/transam/xlog.c:4449
+#: access/transam/xlog.c:4465 access/transam/xlog.c:4475
+#: access/transam/xlog.c:4485 access/transam/xlog.c:4495
+#: access/transam/xlog.c:4505 access/transam/xlog.c:4515
+#: access/transam/xlog.c:4525
+#, fuzzy, c-format
+#| msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d."
+msgid "The database cluster was initialized with %s %d, but the server was compiled with %s %d."
+msgstr "Der Datenbank-Cluster wurde mit BLCKSZ %d initialisiert, aber der Server wurde mit BLCKSZ %d kompiliert."
 
-#: access/transam/xlog.c:4416
+#: access/transam/xlog.c:4458
 #, 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:4422
-#, 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:4425 access/transam/xlog.c:4433
-#: access/transam/xlog.c:4441 access/transam/xlog.c:4449
-#: access/transam/xlog.c:4457 access/transam/xlog.c:4465
-#: access/transam/xlog.c:4473 access/transam/xlog.c:4482
-#: access/transam/xlog.c:4490
+#: access/transam/xlog.c:4469 access/transam/xlog.c:4479
+#: access/transam/xlog.c:4489 access/transam/xlog.c:4499
+#: access/transam/xlog.c:4509 access/transam/xlog.c:4519
+#: access/transam/xlog.c:4529 access/transam/xlog.c:4538
+#: access/transam/xlog.c:4546
 #, 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:4430
-#, 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:4438
-#, 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:4446
-#, 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:4454
-#, c-format
-msgid "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server was compiled with INDEX_MAX_KEYS %d."
-msgstr "Der Datenbank-Cluster wurde mit INDEX_MAX_KEYS %d initialisiert, aber der Server wurde mit INDEX_MAX_KEYS %d kompiliert."
-
-#: access/transam/xlog.c:4462
-#, c-format
-msgid "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the server was compiled with TOAST_MAX_CHUNK_SIZE %d."
-msgstr "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:4470
-#, 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:4480
+#: access/transam/xlog.c:4536
 #, 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:4488
+#: access/transam/xlog.c:4544
 #, 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:4497
+#: access/transam/xlog.c:4553
 #, c-format
 msgid "invalid WAL segment size in control file (%d byte)"
 msgid_plural "invalid WAL segment size in control file (%d bytes)"
 msgstr[0] "ungültige WAL-Segmentgröße in Kontrolldatei (%d Byte)"
 msgstr[1] "ungültige WAL-Segmentgröße in Kontrolldatei (%d Bytes)"
 
-#: access/transam/xlog.c:4510
-#, 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:4514
-#, 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"
+#. translator: both %s are GUC names
+#: access/transam/xlog.c:4567 access/transam/xlog.c:4573
+#, fuzzy, c-format
+#| msgid "%s must be less than %s"
+msgid "\"%s\" must be at least twice \"%s\""
+msgstr "%s muss kleiner als %s sein"
 
-#: access/transam/xlog.c:4662 catalog/namespace.c:4696
-#: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72
-#: replication/slot.c:2429 tcop/postgres.c:3715 utils/error/elog.c:2247
+#: access/transam/xlog.c:4735 catalog/namespace.c:4696
+#: commands/tablespace.c:1210 commands/user.c:2542 commands/variable.c:72
+#: replication/slot.c:2655 tcop/postgres.c:3592 utils/error/elog.c:2250
 #, c-format
 msgid "List syntax is invalid."
 msgstr "Die Listensyntax ist ungültig."
 
-#: access/transam/xlog.c:4708 commands/user.c:2545 commands/variable.c:173
-#: tcop/postgres.c:3731 utils/error/elog.c:2273
+#: access/transam/xlog.c:4781 commands/user.c:2558 commands/variable.c:173
+#: tcop/postgres.c:3608 utils/error/elog.c:2276
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Unbekanntes Schlüsselwort: »%s«."
 
-#: access/transam/xlog.c:5129
+#: access/transam/xlog.c:5202
 #, c-format
 msgid "could not write bootstrap write-ahead log file: %m"
 msgstr "konnte Bootstrap-Write-Ahead-Log-Datei nicht schreiben: %m"
 
-#: access/transam/xlog.c:5137
+#: access/transam/xlog.c:5210
 #, c-format
 msgid "could not fsync bootstrap write-ahead log file: %m"
 msgstr "konnte Bootstrap-Write-Ahead-Log-Datei nicht fsyncen: %m"
 
-#: access/transam/xlog.c:5143
+#: access/transam/xlog.c:5216
 #, c-format
 msgid "could not close bootstrap write-ahead log file: %m"
 msgstr "konnte Bootstrap-Write-Ahead-Log-Datei nicht schließen: %m"
 
-#: access/transam/xlog.c:5368
+#: access/transam/xlog.c:5441
 #, c-format
 msgid "WAL was generated with \"wal_level=minimal\", cannot continue recovering"
 msgstr "WAL wurde mit »wal_level=minimal« erzeugt, Wiederherstellung kann nicht fortgesetzt werden"
 
-#: access/transam/xlog.c:5369
+#: access/transam/xlog.c:5442
 #, c-format
 msgid "This happens if you temporarily set \"wal_level=minimal\" on the server."
 msgstr "Das passiert, wenn auf dem Server vorübergehend »wal_level=minimal« gesetzt wurde."
 
-#: access/transam/xlog.c:5370
+#: access/transam/xlog.c:5443
 #, c-format
 msgid "Use a backup taken after setting \"wal_level\" to higher than \"minimal\"."
 msgstr "Verwenden Sie ein Backup, das durchgeführt wurde, nachdem »wal_level« auf höher als »minimal« gesetzt wurde."
 
-#: access/transam/xlog.c:5435
+#: access/transam/xlog.c:5508
 #, c-format
 msgid "control file contains invalid checkpoint location"
 msgstr "Kontrolldatei enthält ungültige Checkpoint-Position"
 
-#: access/transam/xlog.c:5446
+#: access/transam/xlog.c:5519
 #, c-format
 msgid "database system was shut down at %s"
 msgstr "Datenbanksystem wurde am %s heruntergefahren"
 
-#: access/transam/xlog.c:5452
+#: access/transam/xlog.c:5525
 #, 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:5458
+#: access/transam/xlog.c:5531
 #, 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:5464
+#: access/transam/xlog.c:5537
 #, 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:5466
+#: access/transam/xlog.c:5539
 #, 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:5472
+#: access/transam/xlog.c:5545
 #, 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:5474
+#: access/transam/xlog.c:5547
 #, 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:5480
+#: access/transam/xlog.c:5553
 #, 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:5487
+#: access/transam/xlog.c:5560
 #, c-format
 msgid "control file contains invalid database cluster state"
 msgstr "Kontrolldatei enthält ungültigen Datenbankclusterstatus"
 
-#: access/transam/xlog.c:5875
+#: access/transam/xlog.c:5948
 #, c-format
 msgid "WAL ends before end of online backup"
 msgstr "WAL endet vor dem Ende der Online-Sicherung"
 
-#: access/transam/xlog.c:5876
+#: access/transam/xlog.c:5949
 #, 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:5880
+#: access/transam/xlog.c:5953
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "WAL endet vor einem konsistenten Wiederherstellungspunkt"
 
-#: access/transam/xlog.c:5926
+#: access/transam/xlog.c:5999
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "gewählte neue Zeitleisten-ID: %u"
 
-#: access/transam/xlog.c:5959
+#: access/transam/xlog.c:6032
 #, c-format
 msgid "archive recovery complete"
 msgstr "Wiederherstellung aus Archiv abgeschlossen"
 
-#: access/transam/xlog.c:6612
+#: access/transam/xlog.c:6661
 #, c-format
 msgid "shutting down"
 msgstr "fahre herunter"
 
 #. translator: the placeholders show checkpoint options
-#: access/transam/xlog.c:6651
+#: access/transam/xlog.c:6700
 #, c-format
 msgid "restartpoint starting:%s%s%s%s%s%s%s%s"
 msgstr "Restart-Punkt beginnt:%s%s%s%s%s%s%s%s"
 
 #. translator: the placeholders show checkpoint options
-#: access/transam/xlog.c:6663
+#: access/transam/xlog.c:6712
 #, c-format
 msgid "checkpoint starting:%s%s%s%s%s%s%s%s"
 msgstr "Checkpoint beginnt:%s%s%s%s%s%s%s%s"
 
-#: access/transam/xlog.c:6728
-#, c-format
-msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
+#: access/transam/xlog.c:6777
+#, fuzzy, c-format
+#| msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
+msgid "restartpoint complete: wrote %d buffers (%.1f%%), wrote %d SLRU buffers; %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
 msgstr "Restart-Punkt komplett: %d Puffer geschrieben (%.1f%%); %d WAL-Datei(en) hinzugefügt, %d entfernt, %d wiederverwendet; Schreiben=%ld,%03d s, Sync=%ld,%03d s, gesamt=%ld,%03d s; sync. Dateien=%d, längste=%ld,%03d s, Durchschnitt=%ld.%03d s; Entfernung=%d kB, Schätzung=%d kB; LSN=%X/%X, Redo-LSN=%X/%X"
 
-#: access/transam/xlog.c:6751
-#, c-format
-msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
+#: access/transam/xlog.c:6801
+#, fuzzy, c-format
+#| msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
+msgid "checkpoint complete: wrote %d buffers (%.1f%%), wrote %d SLRU buffers; %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
 msgstr "Checkpoint komplett: %d Puffer geschrieben (%.1f%%); %d WAL-Datei(en) hinzugefügt, %d entfernt, %d wiederverwendet; Schreiben=%ld,%03d s, Sync=%ld,%03d s, gesamt=%ld,%03d s; sync. Dateien=%d, längste=%ld,%03d s, Durchschnitt=%ld.%03d s; Entfernung=%d kB, Schätzung=%d kB; LSN=%X/%X, Redo-LSN=%X/%X"
 
-#: access/transam/xlog.c:7233
+#: access/transam/xlog.c:7287
 #, c-format
 msgid "concurrent write-ahead log activity while database system is shutting down"
 msgstr "gleichzeitige Write-Ahead-Log-Aktivität während das Datenbanksystem herunterfährt"
 
-#: access/transam/xlog.c:7818
+#: access/transam/xlog.c:7874
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "Recovery-Restart-Punkt bei %X/%X"
 
-#: access/transam/xlog.c:7820
+#: access/transam/xlog.c:7876
 #, 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:8082
+#: access/transam/xlog.c:8138
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "Restore-Punkt »%s« erzeugt bei %X/%X"
 
-#: access/transam/xlog.c:8289
+#: access/transam/xlog.c:8345
 #, c-format
 msgid "online backup was canceled, recovery cannot continue"
 msgstr "Online-Sicherung wurde storniert, Wiederherstellung kann nicht fortgesetzt werden"
 
-#: access/transam/xlog.c:8347
+#: access/transam/xlog.c:8403
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record"
 msgstr "unerwartete Zeitleisten-ID %u (sollte %u sein) im Shutdown-Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:8405
+#: access/transam/xlog.c:8461
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in online checkpoint record"
 msgstr "unerwartete Zeitleisten-ID %u (sollte %u sein) im Online-Checkpoint-Datensatz"
 
-#: access/transam/xlog.c:8434
+#: access/transam/xlog.c:8490
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record"
 msgstr "unerwartete Zeitleisten-ID %u (sollte %u sein) im End-of-Recovery-Datensatz"
 
-#: access/transam/xlog.c:8705
+#: access/transam/xlog.c:8760
 #, c-format
 msgid "could not fsync write-through file \"%s\": %m"
 msgstr "konnte Write-Through-Logdatei »%s« nicht fsyncen: %m"
 
-#: access/transam/xlog.c:8710
+#: access/transam/xlog.c:8765
 #, c-format
 msgid "could not fdatasync file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht fdatasyncen: %m"
 
-#: access/transam/xlog.c:8797 access/transam/xlog.c:9133
+#: access/transam/xlog.c:8842 access/transam/xlog.c:9178
 #, 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:8798 access/transam/xlogfuncs.c:248
+#: access/transam/xlog.c:8843 access/transam/xlog.c:9179
+#: access/transam/xlogfuncs.c:249
 #, 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:8803
+#: access/transam/xlog.c:8848
 #, c-format
 msgid "backup label too long (max %d bytes)"
 msgstr "Backup-Label zu lang (maximal %d Bytes)"
 
-#: access/transam/xlog.c:8924
+#: access/transam/xlog.c:8969
 #, 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:8926 access/transam/xlog.c:9222
+#: access/transam/xlog.c:8971 access/transam/xlog.c:9267
 #, c-format
 msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable \"full_page_writes\" and run CHECKPOINT on the primary, and then try an online backup again."
 msgstr "Das bedeutet, dass die aktuelle Datensicherung auf dem Standby-Server verfälscht ist und nicht verwendet werden sollte. Schalten Sie auf dem Primärserver »full_page_writes« ein, führen Sie dort CHECKPOINT aus und versuchen Sie dann die Online-Sicherung erneut."
 
-#: access/transam/xlog.c:9006 backup/basebackup.c:1417 utils/adt/misc.c:354
+#: access/transam/xlog.c:9051 backup/basebackup.c:1419 utils/adt/misc.c:354
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "konnte symbolische Verknüpfung »%s« nicht lesen: %m"
 
-#: access/transam/xlog.c:9013 backup/basebackup.c:1422 utils/adt/misc.c:359
+#: access/transam/xlog.c:9058 backup/basebackup.c:1424 utils/adt/misc.c:359
 #, 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:9134
-#, 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:9172 backup/basebackup.c:1281
+#: access/transam/xlog.c:9217 backup/basebackup.c:1283
 #, 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:9173 backup/basebackup.c:1282
+#: access/transam/xlog.c:9218 backup/basebackup.c:1284
 #, 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:9220
+#: access/transam/xlog.c:9265
 #, 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:9336
+#: access/transam/xlog.c:9381
 #, c-format
 msgid "base backup done, waiting for required WAL segments to be archived"
 msgstr "Basissicherung beendet, warte bis die benötigten WAL-Segmente archiviert sind"
 
-#: access/transam/xlog.c:9350
+#: access/transam/xlog.c:9395
 #, c-format
 msgid "still waiting for all required WAL segments to be archived (%d seconds elapsed)"
 msgstr "warte immer noch, bis alle benötigten WAL-Segmente archiviert sind (%d Sekunden abgelaufen)"
 
-#: access/transam/xlog.c:9352
+#: access/transam/xlog.c:9397
 #, c-format
 msgid "Check that your \"archive_command\" is executing properly.  You can safely cancel this backup, but the database backup will not be usable without all the WAL segments."
 msgstr "Prüfen Sie, ob das »archive_command« korrekt ausgeführt wird. Dieser Sicherungsvorgang kann gefahrlos abgebrochen werden, aber die Datenbanksicherung wird ohne die fehlenden WAL-Segmente nicht benutzbar sein."
 
-#: access/transam/xlog.c:9359
+#: access/transam/xlog.c:9404
 #, c-format
 msgid "all required WAL segments have been archived"
 msgstr "alle benötigten WAL-Segmente wurden archiviert"
 
-#: access/transam/xlog.c:9363
+#: access/transam/xlog.c:9408
 #, 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:9402
+#: access/transam/xlog.c:9447
 #, c-format
 msgid "aborting backup due to backend exiting before pg_backup_stop was called"
 msgstr "Backup wird abgebrochen, weil Backend-Prozess beendete, bevor pg_backup_stop aufgerufen wurde"
@@ -2946,276 +2930,277 @@ msgstr "konnte Archivstatusdatei »%s« nicht erstellen: %m"
 msgid "could not write archive status file \"%s\": %m"
 msgstr "konnte Archivstatusdatei »%s« nicht schreiben: %m"
 
-#: access/transam/xlogfuncs.c:69 backup/basebackup.c:997
+#: access/transam/xlogfuncs.c:70 backup/basebackup.c:999
 #, 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:140
+#: access/transam/xlogfuncs.c:141
 #, c-format
 msgid "backup is not in progress"
 msgstr "es läuft kein Backup"
 
-#: access/transam/xlogfuncs.c:141
+#: access/transam/xlogfuncs.c:142
 #, c-format
 msgid "Did you call pg_backup_start()?"
 msgstr "Haben Sie pg_backup_start() ausgeführt?"
 
-#: access/transam/xlogfuncs.c:184 access/transam/xlogfuncs.c:242
-#: access/transam/xlogfuncs.c:281 access/transam/xlogfuncs.c:302
-#: access/transam/xlogfuncs.c:323
+#: access/transam/xlogfuncs.c:185 access/transam/xlogfuncs.c:243
+#: access/transam/xlogfuncs.c:282 access/transam/xlogfuncs.c:303
+#: access/transam/xlogfuncs.c:324
 #, 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/xlogfuncs.c:209 access/transam/xlogfuncs.c:389
-#: access/transam/xlogfuncs.c:447
+#: access/transam/xlogfuncs.c:210 access/transam/xlogfuncs.c:390
+#: access/transam/xlogfuncs.c:448
 #, c-format
 msgid "%s cannot be executed during recovery."
 msgstr "%s kann nicht während der Wiederherstellung ausgeführt werden."
 
-#: access/transam/xlogfuncs.c:215
+#: access/transam/xlogfuncs.c:216
 #, c-format
 msgid "pg_log_standby_snapshot() can only be used if \"wal_level\" >= \"replica\""
 msgstr "pg_log_standby_snapshot() kann nur verwendet werden, wenn »wal_level« >= »replica«"
 
-#: access/transam/xlogfuncs.c:247
+#: access/transam/xlogfuncs.c:248
 #, 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:255
+#: access/transam/xlogfuncs.c:256
 #, 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:486
+#: access/transam/xlogfuncs.c:487
 #, c-format
 msgid "invalid WAL file name \"%s\""
 msgstr "ungültiger WAL-Dateiname »%s«"
 
-#: access/transam/xlogfuncs.c:522 access/transam/xlogfuncs.c:552
-#: access/transam/xlogfuncs.c:576 access/transam/xlogfuncs.c:599
-#: access/transam/xlogfuncs.c:679
+#: access/transam/xlogfuncs.c:523 access/transam/xlogfuncs.c:553
+#: access/transam/xlogfuncs.c:577 access/transam/xlogfuncs.c:600
+#: access/transam/xlogfuncs.c:680
 #, c-format
 msgid "recovery is not in progress"
 msgstr "Wiederherstellung läuft nicht"
 
-#: access/transam/xlogfuncs.c:523 access/transam/xlogfuncs.c:553
-#: access/transam/xlogfuncs.c:577 access/transam/xlogfuncs.c:600
-#: access/transam/xlogfuncs.c:680
+#: access/transam/xlogfuncs.c:524 access/transam/xlogfuncs.c:554
+#: access/transam/xlogfuncs.c:578 access/transam/xlogfuncs.c:601
+#: access/transam/xlogfuncs.c:681
 #, c-format
 msgid "Recovery control functions can only be executed during recovery."
 msgstr "Wiederherstellungskontrollfunktionen können nur während der Wiederherstellung ausgeführt werden."
 
-#: access/transam/xlogfuncs.c:528 access/transam/xlogfuncs.c:558
+#: access/transam/xlogfuncs.c:529 access/transam/xlogfuncs.c:559
 #, c-format
 msgid "standby promotion is ongoing"
 msgstr "Beförderung des Standby läuft"
 
-#: access/transam/xlogfuncs.c:529 access/transam/xlogfuncs.c:559
+#: access/transam/xlogfuncs.c:530 access/transam/xlogfuncs.c:560
 #, c-format
 msgid "%s cannot be executed after promotion is triggered."
 msgstr "%s kann nicht ausgeführt werden, nachdem eine Beförderung angestoßen wurde."
 
-#: access/transam/xlogfuncs.c:685
+#: access/transam/xlogfuncs.c:686
 #, c-format
 msgid "\"wait_seconds\" must not be negative or zero"
 msgstr "»wait_seconds« darf nicht negativ oder null sein"
 
-#: access/transam/xlogfuncs.c:707 storage/ipc/signalfuncs.c:265
+#: access/transam/xlogfuncs.c:708 storage/ipc/signalfuncs.c:293
 #, c-format
 msgid "failed to send signal to postmaster: %m"
 msgstr "konnte Signal nicht an Postmaster senden: %m"
 
-#: access/transam/xlogfuncs.c:739 libpq/be-secure.c:237 libpq/be-secure.c:346
+#: access/transam/xlogfuncs.c:740 libpq/be-secure.c:241 libpq/be-secure.c:350
 #, c-format
 msgid "terminating connection due to unexpected postmaster exit"
 msgstr "Verbindung wird abgebrochen wegen unerwartetem Ende des Postmasters"
 
-#: access/transam/xlogfuncs.c:740
+#: access/transam/xlogfuncs.c:741
 #, c-format
 msgid "while waiting on promotion"
 msgstr "beim Warten auf Beförderung"
 
-#: access/transam/xlogfuncs.c:744
+#: access/transam/xlogfuncs.c:745
 #, c-format
 msgid "server did not promote within %d second"
 msgid_plural "server did not promote within %d seconds"
 msgstr[0] "Befördern des Servers wurde nicht innerhalb von %d Sekunde abgeschlossen"
 msgstr[1] "Befördern des Servers wurde nicht innerhalb von %d Sekunden abgeschlossen"
 
-#: access/transam/xlogprefetcher.c:1088
-#, c-format
-msgid "\"recovery_prefetch\" is not supported on platforms that lack posix_fadvise()."
+#: access/transam/xlogprefetcher.c:1086
+#, fuzzy, c-format
+#| msgid "\"recovery_prefetch\" is not supported on platforms that lack posix_fadvise()."
+msgid "\"recovery_prefetch\" is not supported on platforms that lack support for issuing read-ahead advice."
 msgstr "»recovery_prefetch« wird auf Plattformen ohne posix_fadvise() nicht unterstützt."
 
-#: access/transam/xlogreader.c:619
+#: access/transam/xlogreader.c:620
 #, c-format
 msgid "invalid record offset at %X/%X: expected at least %u, got %u"
 msgstr "ungültiger Datensatz-Offset bei %X/%X: mindestens %u erwartet, %u erhalten"
 
-#: access/transam/xlogreader.c:628
+#: access/transam/xlogreader.c:629
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "Contrecord angefordert von %X/%X"
 
-#: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1134
+#: access/transam/xlogreader.c:670 access/transam/xlogreader.c:1135
 #, c-format
 msgid "invalid record length at %X/%X: expected at least %u, got %u"
 msgstr "ungültige Datensatzlänge bei %X/%X: mindestens %u erwartet, %u erhalten"
 
-#: access/transam/xlogreader.c:758
+#: access/transam/xlogreader.c:759
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "keine Contrecord-Flag bei %X/%X"
 
-#: access/transam/xlogreader.c:771
+#: access/transam/xlogreader.c:772
 #, c-format
 msgid "invalid contrecord length %u (expected %lld) at %X/%X"
 msgstr "ungültige Contrecord-Länge %u (erwartet %lld) bei %X/%X"
 
-#: access/transam/xlogreader.c:1142
+#: access/transam/xlogreader.c:1143
 #, 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:1155 access/transam/xlogreader.c:1171
+#: access/transam/xlogreader.c:1156 access/transam/xlogreader.c:1172
 #, 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:1209
+#: access/transam/xlogreader.c:1210
 #, 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:1243
+#: access/transam/xlogreader.c:1244
 #, c-format
 msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "ungültige magische Zahl %04X in WAL-Segment %s, LSN %X/%X, Offset %u"
 
-#: access/transam/xlogreader.c:1258 access/transam/xlogreader.c:1300
+#: access/transam/xlogreader.c:1259 access/transam/xlogreader.c:1301
 #, c-format
 msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "ungültige Info-Bits %04X in WAL-Segment %s, LSN %X/%X, Offset %u"
 
-#: access/transam/xlogreader.c:1274
+#: access/transam/xlogreader.c:1275
 #, c-format
 msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu"
 msgstr "WAL-Datei ist von einem anderen Datenbanksystem: Datenbanksystemidentifikator in WAL-Datei ist %llu, Datenbanksystemidentifikator in pg_control ist %llu"
 
-#: access/transam/xlogreader.c:1282
+#: access/transam/xlogreader.c:1283
 #, c-format
 msgid "WAL file is from different database system: incorrect segment size in page header"
 msgstr "WAL-Datei ist von einem anderen Datenbanksystem: falsche Segmentgröße im Seitenkopf"
 
-#: access/transam/xlogreader.c:1288
+#: access/transam/xlogreader.c:1289
 #, 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"
 
-#: access/transam/xlogreader.c:1320
+#: access/transam/xlogreader.c:1321
 #, c-format
 msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "unerwartete Pageaddr %X/%X in WAL-Segment %s, LSN %X/%X, Offset %u"
 
-#: access/transam/xlogreader.c:1346
+#: access/transam/xlogreader.c:1347
 #, c-format
 msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "Zeitleisten-ID %u außer der Reihe (nach %u) in WAL-Segment %s, LSN %X/%X, Offset %u"
 
-#: access/transam/xlogreader.c:1749
+#: access/transam/xlogreader.c:1759
 #, 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:1773
+#: access/transam/xlogreader.c:1783
 #, 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:1780
+#: access/transam/xlogreader.c:1790
 #, 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:1816
+#: access/transam/xlogreader.c:1826
 #, 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:1832
+#: access/transam/xlogreader.c:1842
 #, 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:1846
+#: access/transam/xlogreader.c:1856
 #, c-format
 msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
 msgstr "BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge %u bei %X/%X"
 
-#: access/transam/xlogreader.c:1861
+#: access/transam/xlogreader.c:1871
 #, c-format
 msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
 msgstr "weder BKPIMAGE_HAS_HOLE noch BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge ist %u bei %X/%X"
 
-#: access/transam/xlogreader.c:1877
+#: access/transam/xlogreader.c:1887
 #, 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:1889
+#: access/transam/xlogreader.c:1899
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "ungültige block_id %u bei %X/%X"
 
-#: access/transam/xlogreader.c:1956
+#: access/transam/xlogreader.c:1966
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "Datensatz mit ungültiger Länge bei %X/%X"
 
-#: access/transam/xlogreader.c:1982
+#: access/transam/xlogreader.c:1992
 #, c-format
 msgid "could not locate backup block with ID %d in WAL record"
 msgstr "konnte Backup-Block mit ID %d nicht im WAL-Eintrag finden"
 
-#: access/transam/xlogreader.c:2066
+#: access/transam/xlogreader.c:2076
 #, c-format
 msgid "could not restore image at %X/%X with invalid block %d specified"
 msgstr "konnte Abbild bei %X/%X mit ungültigem angegebenen Block %d nicht wiederherstellen"
 
-#: access/transam/xlogreader.c:2073
+#: access/transam/xlogreader.c:2083
 #, c-format
 msgid "could not restore image at %X/%X with invalid state, block %d"
 msgstr "konnte Abbild mit ungültigem Zustand bei %X/%X nicht wiederherstellen, Block %d"
 
-#: access/transam/xlogreader.c:2100 access/transam/xlogreader.c:2117
+#: access/transam/xlogreader.c:2110 access/transam/xlogreader.c:2127
 #, c-format
 msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
 msgstr "konnte Abbild bei %X/%X nicht wiederherstellen, komprimiert mit %s, nicht unterstützt von dieser Installation, Block %d"
 
-#: access/transam/xlogreader.c:2126
+#: access/transam/xlogreader.c:2136
 #, c-format
 msgid "could not restore image at %X/%X compressed with unknown method, block %d"
 msgstr "konnte Abbild bei %X/%X nicht wiederherstellen, komprimiert mit unbekannter Methode, Block %d"
 
-#: access/transam/xlogreader.c:2134
+#: access/transam/xlogreader.c:2144
 #, c-format
 msgid "could not decompress image at %X/%X, block %d"
 msgstr "konnte Abbild bei %X/%X nicht dekomprimieren, Block %d"
 
-#: access/transam/xlogrecovery.c:617
+#: access/transam/xlogrecovery.c:618
 #, c-format
 msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on timeline ID %u"
 msgstr "starte Wiederherstellung aus Backup mit Redo-LSN %X/%X, Checkpoint-LSN %X/%X, auf Zeitleisten-ID %u"
 
-#: access/transam/xlogrecovery.c:649
+#: access/transam/xlogrecovery.c:650
 #, c-format
 msgid "could not find redo location %X/%X referenced by checkpoint record at %X/%X"
 msgstr "konnte die Redo-Position %X/%X, die vom Checkpoint-Datensatz bei %X/%X referenziert wird, nicht finden"
 
-#: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662
+#: access/transam/xlogrecovery.c:652 access/transam/xlogrecovery.c:663
 #, c-format
 msgid ""
 "If you are restoring from a backup, touch \"%s/recovery.signal\" or \"%s/standby.signal\" and add required recovery options.\n"
@@ -3226,467 +3211,470 @@ msgstr ""
 "Wenn Sie gerade kein Backup wiederherstellen, dann versuchen Sie, die Datei »%s/backup_label« zu entfernen.\n"
 "Vorsicht: Wenn ein Backup wiederhergestellt wird und »%s/backup_label« gelöscht wird, dann wird das den Cluster verfälschen."
 
-#: access/transam/xlogrecovery.c:660
+#: access/transam/xlogrecovery.c:661
 #, c-format
 msgid "could not locate required checkpoint record at %X/%X"
 msgstr "konnte den nötigen Checkpoint-Datensatz bei %X/%X nicht finden"
 
-#: access/transam/xlogrecovery.c:690 commands/tablespace.c:664
+#: access/transam/xlogrecovery.c:691 commands/tablespace.c:664
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "konnte symbolische Verknüpfung »%s« nicht erstellen: %m"
 
-#: access/transam/xlogrecovery.c:723 access/transam/xlogrecovery.c:729
+#: access/transam/xlogrecovery.c:724 access/transam/xlogrecovery.c:730
 #, c-format
 msgid "ignoring file \"%s\" because no file \"%s\" exists"
 msgstr "ignoriere Datei »%s«, weil keine Datei »%s« existiert"
 
-#: access/transam/xlogrecovery.c:725
+#: access/transam/xlogrecovery.c:726
 #, c-format
 msgid "File \"%s\" was renamed to \"%s\"."
 msgstr "Datei »%s« wurde in »%s« umbenannt."
 
-#: access/transam/xlogrecovery.c:731
+#: access/transam/xlogrecovery.c:732
 #, c-format
 msgid "Could not rename file \"%s\" to \"%s\": %m."
 msgstr "Konnte Datei »%s« nicht in »%s« umbenennen: %m."
 
-#: access/transam/xlogrecovery.c:770
+#: access/transam/xlogrecovery.c:771
 #, c-format
 msgid "restarting backup recovery with redo LSN %X/%X"
 msgstr "starte Wiederherstellung aus Backup neu mit Redo-LSN %X/%X"
 
-#: access/transam/xlogrecovery.c:795
+#: access/transam/xlogrecovery.c:796
 #, c-format
 msgid "could not locate a valid checkpoint record at %X/%X"
 msgstr "konnte keinen gültigen Checkpoint-Datensatz bei %X/%X finden"
 
-#: access/transam/xlogrecovery.c:806
+#: access/transam/xlogrecovery.c:807
 #, c-format
 msgid "entering standby mode"
 msgstr "Standby-Modus eingeschaltet"
 
-#: access/transam/xlogrecovery.c:809
+#: access/transam/xlogrecovery.c:810
 #, c-format
 msgid "starting point-in-time recovery to XID %u"
 msgstr "starte Point-in-Time-Recovery bis XID %u"
 
-#: access/transam/xlogrecovery.c:813
+#: access/transam/xlogrecovery.c:814
 #, c-format
 msgid "starting point-in-time recovery to %s"
 msgstr "starte Point-in-Time-Recovery bis %s"
 
-#: access/transam/xlogrecovery.c:817
+#: access/transam/xlogrecovery.c:818
 #, c-format
 msgid "starting point-in-time recovery to \"%s\""
 msgstr "starte Point-in-Time-Recovery bis »%s«"
 
-#: access/transam/xlogrecovery.c:821
+#: access/transam/xlogrecovery.c:822
 #, c-format
 msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
 msgstr "starte Point-in-Time-Recovery bis WAL-Position (LSN) »%X/%X«"
 
-#: access/transam/xlogrecovery.c:825
+#: access/transam/xlogrecovery.c:826
 #, 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/xlogrecovery.c:828
+#: access/transam/xlogrecovery.c:829
 #, c-format
 msgid "starting archive recovery"
 msgstr "starte Wiederherstellung aus Archiv"
 
-#: access/transam/xlogrecovery.c:849
+#: access/transam/xlogrecovery.c:850
 #, 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/xlogrecovery.c:851
-#, c-format
-msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
+#. translator: %s is a backup_label file or a pg_control file
+#: access/transam/xlogrecovery.c:853
+#, fuzzy, 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."
+msgid "Latest checkpoint in file \"%s\" is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
 msgstr "Neuester Checkpoint ist bei %X/%X auf Zeitleiste %u, aber in der History der angeforderten Zeitleiste zweigte der Server von dieser Zeitleiste bei %X/%X ab."
 
-#: access/transam/xlogrecovery.c:865
+#: access/transam/xlogrecovery.c:868
 #, 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/xlogrecovery.c:893
+#: access/transam/xlogrecovery.c:896
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "ungültige nächste Transaktions-ID"
 
-#: access/transam/xlogrecovery.c:898
+#: access/transam/xlogrecovery.c:901
 #, c-format
 msgid "invalid redo in checkpoint record"
 msgstr "ungültiges Redo im Checkpoint-Datensatz"
 
-#: access/transam/xlogrecovery.c:909
+#: access/transam/xlogrecovery.c:912
 #, c-format
 msgid "invalid redo record in shutdown checkpoint"
 msgstr "ungültiger Redo-Datensatz im Shutdown-Checkpoint"
 
-#: access/transam/xlogrecovery.c:938
+#: access/transam/xlogrecovery.c:941
 #, 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/xlogrecovery.c:942
+#: access/transam/xlogrecovery.c:945
 #, 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/xlogrecovery.c:985
+#: access/transam/xlogrecovery.c:988
 #, c-format
 msgid "backup_label contains data inconsistent with control file"
 msgstr "Daten in backup_label stimmen nicht mit Kontrolldatei überein"
 
-#: access/transam/xlogrecovery.c:986
+#: access/transam/xlogrecovery.c:989
 #, 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/xlogrecovery.c:1040
+#: access/transam/xlogrecovery.c:1043
 #, c-format
 msgid "using recovery command file \"%s\" is not supported"
 msgstr "Verwendung von Recovery-Befehlsdatei »%s« wird nicht unterstützt"
 
-#: access/transam/xlogrecovery.c:1105
+#: access/transam/xlogrecovery.c:1108
 #, 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/xlogrecovery.c:1122
+#: access/transam/xlogrecovery.c:1125
 #, c-format
 msgid "specified neither \"primary_conninfo\" nor \"restore_command\""
 msgstr "weder »primary_conninfo« noch »restore_command« angegeben"
 
-#: access/transam/xlogrecovery.c:1123
+#: access/transam/xlogrecovery.c:1126
 #, 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/xlogrecovery.c:1131
+#: access/transam/xlogrecovery.c:1134
 #, c-format
 msgid "must specify \"restore_command\" when standby mode is not enabled"
 msgstr "»restore_command« muss angegeben werden, wenn der Standby-Modus nicht eingeschaltet ist"
 
-#: access/transam/xlogrecovery.c:1169
+#: access/transam/xlogrecovery.c:1172
 #, c-format
 msgid "recovery target timeline %u does not exist"
 msgstr "recovery_target_timeline %u existiert nicht"
 
-#: access/transam/xlogrecovery.c:1252 access/transam/xlogrecovery.c:1259
-#: access/transam/xlogrecovery.c:1318 access/transam/xlogrecovery.c:1406
-#: access/transam/xlogrecovery.c:1415 access/transam/xlogrecovery.c:1435
+#: access/transam/xlogrecovery.c:1255 access/transam/xlogrecovery.c:1262
+#: access/transam/xlogrecovery.c:1321 access/transam/xlogrecovery.c:1409
+#: access/transam/xlogrecovery.c:1418 access/transam/xlogrecovery.c:1438
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "ungültige Daten in Datei »%s«"
 
-#: access/transam/xlogrecovery.c:1319
+#: access/transam/xlogrecovery.c:1322
 #, c-format
 msgid "Timeline ID parsed is %u, but expected %u."
 msgstr "Gelesene Zeitleisten-ID ist %u, aber %u wurde erwartet."
 
-#: access/transam/xlogrecovery.c:1330
+#: access/transam/xlogrecovery.c:1333
 #, c-format
 msgid "this is an incremental backup, not a data directory"
 msgstr "dies ist ein inkrementelles Backup, kein Datenverzeichnis"
 
-#: access/transam/xlogrecovery.c:1331
+#: access/transam/xlogrecovery.c:1334
 #, c-format
 msgid "Use pg_combinebackup to reconstruct a valid data directory."
 msgstr "Verwenden Sie pg_combinebackup, um ein gültiges Datenverzeichnis zu rekonstruieren."
 
-#: access/transam/xlogrecovery.c:1717
+#: access/transam/xlogrecovery.c:1720
 #, c-format
 msgid "unexpected record type found at redo point %X/%X"
 msgstr "unerwarteter Datensatztyp bei Redo-Position %X/%X gefunden"
 
-#: access/transam/xlogrecovery.c:1740
+#: access/transam/xlogrecovery.c:1743
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "Redo beginnt bei %X/%X"
 
-#: access/transam/xlogrecovery.c:1753
+#: access/transam/xlogrecovery.c:1756
 #, c-format
 msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X"
 msgstr "Redo im Gang, abgelaufene Zeit: %ld.%02d s, aktuelle LSN: %X/%X"
 
-#: access/transam/xlogrecovery.c:1843
+#: access/transam/xlogrecovery.c:1846
 #, c-format
 msgid "requested recovery stop point is before consistent recovery point"
 msgstr "angeforderter Recovery-Endpunkt ist vor konsistentem Recovery-Punkt"
 
-#: access/transam/xlogrecovery.c:1875
+#: access/transam/xlogrecovery.c:1878
 #, c-format
 msgid "redo done at %X/%X system usage: %s"
 msgstr "Redo fertig bei %X/%X Systembenutzung: %s"
 
-#: access/transam/xlogrecovery.c:1881
+#: access/transam/xlogrecovery.c:1884
 #, c-format
 msgid "last completed transaction was at log time %s"
 msgstr "letzte vollständige Transaktion war bei Logzeit %s"
 
-#: access/transam/xlogrecovery.c:1890
+#: access/transam/xlogrecovery.c:1893
 #, c-format
 msgid "redo is not required"
 msgstr "Redo nicht nötig"
 
-#: access/transam/xlogrecovery.c:1901
+#: access/transam/xlogrecovery.c:1905
 #, c-format
 msgid "recovery ended before configured recovery target was reached"
 msgstr "Wiederherstellung endete bevor das konfigurierte Wiederherstellungsziel erreicht wurde"
 
-#: access/transam/xlogrecovery.c:2095
+#: access/transam/xlogrecovery.c:2099
 #, c-format
 msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s"
 msgstr "fehlender Contrecord bei %X/%X erfolgreich übersprungen, überschrieben am %s"
 
-#: access/transam/xlogrecovery.c:2162
+#: access/transam/xlogrecovery.c:2166
 #, c-format
 msgid "unexpected directory entry \"%s\" found in %s"
 msgstr "unerwarteter Verzeichniseintrag »%s« in %s gefunden"
 
-#: access/transam/xlogrecovery.c:2164
-#, c-format
-msgid "All directory entries in pg_tblspc/ should be symbolic links."
+#: access/transam/xlogrecovery.c:2168
+#, fuzzy, c-format
+#| msgid "All directory entries in pg_tblspc/ should be symbolic links."
+msgid "All directory entries in %s/ should be symbolic links."
 msgstr "Alle Verzeichniseinträge in pg_tblspc/ sollten symbolische Verknüpfungen sein."
 
-#: access/transam/xlogrecovery.c:2165
+#: access/transam/xlogrecovery.c:2170
 #, c-format
 msgid "Remove those directories, or set \"allow_in_place_tablespaces\" to ON transiently to let recovery complete."
 msgstr "Entfernen Sie diese Verzeichnisse oder setzen Sie »allow_in_place_tablespaces« vorrübergehend auf ON, damit die Wiederherstellung abschließen kann."
 
-#: access/transam/xlogrecovery.c:2217
+#: access/transam/xlogrecovery.c:2222
 #, c-format
 msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X"
 msgstr "Wiederherstellung aus Backup abgeschlossen mit Redo-LSN %X/%X und End-LSN %X/%X"
 
-#: access/transam/xlogrecovery.c:2247
+#: access/transam/xlogrecovery.c:2252
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "konsistenter Wiederherstellungszustand erreicht bei %X/%X"
 
 #. translator: %s is a WAL record description
-#: access/transam/xlogrecovery.c:2285
+#: access/transam/xlogrecovery.c:2290
 #, c-format
 msgid "WAL redo at %X/%X for %s"
 msgstr "WAL-Redo bei %X/%X für %s"
 
-#: access/transam/xlogrecovery.c:2383
+#: access/transam/xlogrecovery.c:2388
 #, 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/xlogrecovery.c:2392
+#: access/transam/xlogrecovery.c:2397
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr "unerwartete Zeitleisten-ID %u (nach %u) im Checkpoint-Datensatz"
 
-#: access/transam/xlogrecovery.c:2408
+#: access/transam/xlogrecovery.c:2413
 #, 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/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868
+#: access/transam/xlogrecovery.c:2597 access/transam/xlogrecovery.c:2873
 #, c-format
 msgid "recovery stopping after reaching consistency"
 msgstr "Wiederherstellung beendet nachdem Konsistenz erreicht wurde"
 
-#: access/transam/xlogrecovery.c:2613
+#: access/transam/xlogrecovery.c:2618
 #, c-format
 msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
 msgstr "Wiederherstellung beendet vor WAL-Position (LSN) »%X/%X«"
 
-#: access/transam/xlogrecovery.c:2703
+#: access/transam/xlogrecovery.c:2708
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr "Wiederherstellung beendet vor Commit der Transaktion %u, Zeit %s"
 
-#: access/transam/xlogrecovery.c:2710
+#: access/transam/xlogrecovery.c:2715
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr "Wiederherstellung beendet vor Abbruch der Transaktion %u, Zeit %s"
 
-#: access/transam/xlogrecovery.c:2763
+#: access/transam/xlogrecovery.c:2768
 #, c-format
 msgid "recovery stopping at restore point \"%s\", time %s"
 msgstr "Wiederherstellung beendet bei Restore-Punkt »%s«, Zeit %s"
 
-#: access/transam/xlogrecovery.c:2781
+#: access/transam/xlogrecovery.c:2786
 #, c-format
 msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
 msgstr "Wiederherstellung beendet nach WAL-Position (LSN) »%X/%X«"
 
-#: access/transam/xlogrecovery.c:2848
+#: access/transam/xlogrecovery.c:2853
 #, c-format
 msgid "recovery stopping after commit of transaction %u, time %s"
 msgstr "Wiederherstellung beendet nach Commit der Transaktion %u, Zeit %s"
 
-#: access/transam/xlogrecovery.c:2856
+#: access/transam/xlogrecovery.c:2861
 #, c-format
 msgid "recovery stopping after abort of transaction %u, time %s"
 msgstr "Wiederherstellung beendet nach Abbruch der Transaktion %u, Zeit %s"
 
-#: access/transam/xlogrecovery.c:2937
+#: access/transam/xlogrecovery.c:2942
 #, c-format
 msgid "pausing at the end of recovery"
 msgstr "pausiere am Ende der Wiederherstellung"
 
-#: access/transam/xlogrecovery.c:2938
+#: access/transam/xlogrecovery.c:2943
 #, c-format
 msgid "Execute pg_wal_replay_resume() to promote."
 msgstr "Führen Sie pg_wal_replay_resume() aus, um den Server zum Primärserver zu befördern."
 
-#: access/transam/xlogrecovery.c:2941 access/transam/xlogrecovery.c:4679
+#: access/transam/xlogrecovery.c:2946 access/transam/xlogrecovery.c:4692
 #, c-format
 msgid "recovery has paused"
 msgstr "Wiederherstellung wurde pausiert"
 
-#: access/transam/xlogrecovery.c:2942
+#: access/transam/xlogrecovery.c:2947
 #, c-format
 msgid "Execute pg_wal_replay_resume() to continue."
 msgstr "Führen Sie pg_wal_replay_resume() aus um fortzusetzen."
 
-#: access/transam/xlogrecovery.c:3205
+#: access/transam/xlogrecovery.c:3210
 #, c-format
 msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "unerwartete Zeitleisten-ID %u in WAL-Segment %s, LSN %X/%X, Offset %u"
 
-#: access/transam/xlogrecovery.c:3413
+#: access/transam/xlogrecovery.c:3426
 #, c-format
 msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m"
 msgstr "konnte nicht aus WAL-Segment %s, LSN %X/%X, Position %u lesen: %m"
 
-#: access/transam/xlogrecovery.c:3420
+#: access/transam/xlogrecovery.c:3433
 #, c-format
 msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu"
 msgstr "konnte nicht aus WAL-Segment %s, LSN %X/%X, Position %u lesen: %d von %zu gelesen"
 
-#: access/transam/xlogrecovery.c:4061
+#: access/transam/xlogrecovery.c:4076
 #, c-format
 msgid "invalid checkpoint location"
 msgstr "ungültige Checkpoint-Position"
 
-#: access/transam/xlogrecovery.c:4071
+#: access/transam/xlogrecovery.c:4086
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "ungültiger Checkpoint-Datensatz"
 
-#: access/transam/xlogrecovery.c:4077
+#: access/transam/xlogrecovery.c:4092
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "ungültige Resource-Manager-ID im Checkpoint-Datensatz"
 
-#: access/transam/xlogrecovery.c:4085
+#: access/transam/xlogrecovery.c:4100
 #, c-format
 msgid "invalid xl_info in checkpoint record"
 msgstr "ungültige xl_info im Checkpoint-Datensatz"
 
-#: access/transam/xlogrecovery.c:4091
+#: access/transam/xlogrecovery.c:4106
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "ungültige Länge des Checkpoint-Datensatzes"
 
-#: access/transam/xlogrecovery.c:4145
+#: access/transam/xlogrecovery.c:4160
 #, 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/xlogrecovery.c:4159
+#: access/transam/xlogrecovery.c:4174
 #, 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/xlogrecovery.c:4178
+#: access/transam/xlogrecovery.c:4193
 #, c-format
 msgid "new target timeline is %u"
 msgstr "neue Zielzeitleiste ist %u"
 
-#: access/transam/xlogrecovery.c:4381
+#: access/transam/xlogrecovery.c:4394
 #, c-format
 msgid "WAL receiver process shutdown requested"
 msgstr "Herunterfahren des WAL-Receiver-Prozesses verlangt"
 
-#: access/transam/xlogrecovery.c:4441
+#: access/transam/xlogrecovery.c:4454
 #, c-format
 msgid "received promote request"
 msgstr "Anforderung zum Befördern empfangen"
 
-#: access/transam/xlogrecovery.c:4670
+#: access/transam/xlogrecovery.c:4683
 #, c-format
 msgid "hot standby is not possible because of insufficient parameter settings"
 msgstr "Hot Standby ist nicht möglich wegen unzureichender Parametereinstellungen"
 
-#: access/transam/xlogrecovery.c:4671 access/transam/xlogrecovery.c:4698
-#: access/transam/xlogrecovery.c:4728
+#: access/transam/xlogrecovery.c:4684 access/transam/xlogrecovery.c:4711
+#: access/transam/xlogrecovery.c:4741
 #, c-format
 msgid "%s = %d is a lower setting than on the primary server, where its value was %d."
 msgstr "%s = %d ist eine niedrigere Einstellung als auf dem Primärserver, wo der Wert %d war."
 
-#: access/transam/xlogrecovery.c:4680
+#: access/transam/xlogrecovery.c:4693
 #, c-format
 msgid "If recovery is unpaused, the server will shut down."
 msgstr "Wenn die Wiederherstellungspause beendet wird, wird der Server herunterfahren."
 
-#: access/transam/xlogrecovery.c:4681
+#: access/transam/xlogrecovery.c:4694
 #, c-format
 msgid "You can then restart the server after making the necessary configuration changes."
 msgstr "Sie können den Server dann neu starten, nachdem die nötigen Konfigurationsänderungen getätigt worden sind."
 
-#: access/transam/xlogrecovery.c:4692
+#: access/transam/xlogrecovery.c:4705
 #, c-format
 msgid "promotion is not possible because of insufficient parameter settings"
 msgstr "Beförderung ist nicht möglich wegen unzureichender Parametereinstellungen"
 
-#: access/transam/xlogrecovery.c:4702
+#: access/transam/xlogrecovery.c:4715
 #, c-format
 msgid "Restart the server after making the necessary configuration changes."
 msgstr "Starten Sie den Server neu, nachdem die nötigen Konfigurationsänderungen getätigt worden sind."
 
-#: access/transam/xlogrecovery.c:4726
+#: access/transam/xlogrecovery.c:4739
 #, c-format
 msgid "recovery aborted because of insufficient parameter settings"
 msgstr "Wiederherstellung abgebrochen wegen unzureichender Parametereinstellungen"
 
-#: access/transam/xlogrecovery.c:4732
+#: access/transam/xlogrecovery.c:4745
 #, c-format
 msgid "You can restart the server after making the necessary configuration changes."
 msgstr "Sie können den Server neu starten, nachdem die nötigen Konfigurationsänderungen getätigt worden sind."
 
-#: access/transam/xlogrecovery.c:4774
+#: access/transam/xlogrecovery.c:4787
 #, c-format
 msgid "multiple recovery targets specified"
 msgstr "mehrere Wiederherstellungsziele angegeben"
 
-#: access/transam/xlogrecovery.c:4775
+#: access/transam/xlogrecovery.c:4788
 #, c-format
 msgid "At most one of \"recovery_target\", \"recovery_target_lsn\", \"recovery_target_name\", \"recovery_target_time\", \"recovery_target_xid\" may be set."
 msgstr "Höchstens eins aus »recovery_target«, »recovery_target_lsn«, »recovery_target_name«, »recovery_target_time«, »recovery_target_xid« darf gesetzt sein."
 
-#: access/transam/xlogrecovery.c:4786
+#: access/transam/xlogrecovery.c:4799
 #, c-format
 msgid "The only allowed value is \"immediate\"."
 msgstr "Der einzige erlaubte Wert ist »immediate«."
 
-#: access/transam/xlogrecovery.c:4938 utils/adt/timestamp.c:202
-#: utils/adt/timestamp.c:455
-#, c-format
-msgid "timestamp out of range: \"%s\""
+#: access/transam/xlogrecovery.c:4951
+#, fuzzy, c-format
+#| msgid "timestamp out of range: \"%s\""
+msgid "Timestamp out of range: \"%s\"."
 msgstr "timestamp ist außerhalb des gültigen Bereichs: »%s«"
 
-#: access/transam/xlogrecovery.c:4983
+#: access/transam/xlogrecovery.c:4996
 #, c-format
 msgid "\"recovery_target_timeline\" is not a valid number."
 msgstr "»recovery_target_timeline« ist keine gültige Zahl."
 
-#: access/transam/xlogutils.c:1032
+#: access/transam/xlogutils.c:1023
 #, c-format
 msgid "could not read from WAL segment %s, offset %d: %m"
 msgstr "konnte nicht aus WAL-Segment %s, Position %d lesen: %m"
 
-#: access/transam/xlogutils.c:1039
+#: access/transam/xlogutils.c:1030
 #, c-format
 msgid "could not read from WAL segment %s, offset %d: read %d of %d"
 msgstr "konnte nicht aus WAL-Segment %s, Position %d lesen: %d von %d gelesen"
@@ -3707,7 +3695,7 @@ msgstr "Der fehlgeschlagene Archivbefehl war: %s"
 msgid "archive command was terminated by exception 0x%X"
 msgstr "Archivbefehl wurde durch Ausnahme 0x%X beendet"
 
-#: archive/shell_archive.c:109 postmaster/postmaster.c:3095
+#: archive/shell_archive.c:109 postmaster/postmaster.c:2819
 #, 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."
@@ -3722,165 +3710,165 @@ msgstr "Archivbefehl wurde von Signal %d beendet: %s"
 msgid "archive command exited with unrecognized status %d"
 msgstr "Archivbefehl hat mit unbekanntem Status %d beendet"
 
-#: backup/backup_manifest.c:254
+#: backup/backup_manifest.c:255
 #, c-format
 msgid "expected end timeline %u but found timeline %u"
 msgstr "End-Zeitleiste %u wurde erwartet, aber Zeitleiste %u wurde gefunden"
 
-#: backup/backup_manifest.c:278
+#: backup/backup_manifest.c:279
 #, c-format
 msgid "expected start timeline %u but found timeline %u"
 msgstr "Start-Zeitleiste %u wurde erwartet, aber Zeitleiste %u wurde gefunden"
 
-#: backup/backup_manifest.c:305
+#: backup/backup_manifest.c:306
 #, c-format
 msgid "start timeline %u not found in history of timeline %u"
 msgstr "Start-Zeitleiste %u nicht in der History der Zeitleiste %u gefunden"
 
-#: backup/backup_manifest.c:356
+#: backup/backup_manifest.c:357
 #, c-format
 msgid "could not rewind temporary file"
 msgstr "konnte Position in temporärer Datei nicht auf Anfang setzen"
 
-#: backup/basebackup.c:479
+#: backup/basebackup.c:481
 #, c-format
 msgid "could not find any WAL files"
 msgstr "konnte keine WAL-Dateien finden"
 
-#: backup/basebackup.c:494 backup/basebackup.c:509 backup/basebackup.c:518
+#: backup/basebackup.c:496 backup/basebackup.c:511 backup/basebackup.c:520
 #, c-format
 msgid "could not find WAL file \"%s\""
 msgstr "konnte WAL-Datei »%s« nicht finden"
 
-#: backup/basebackup.c:560 backup/basebackup.c:585
+#: backup/basebackup.c:562 backup/basebackup.c:587
 #, c-format
 msgid "unexpected WAL file size \"%s\""
 msgstr "unerwartete WAL-Dateigröße »%s«"
 
-#: backup/basebackup.c:656
+#: backup/basebackup.c:658
 #, c-format
 msgid "%lld total checksum verification failure"
 msgid_plural "%lld total checksum verification failures"
 msgstr[0] "%lld Prüfsummenfehler insgesamt"
 msgstr[1] "%lld Prüfsummenfehler insgesamt"
 
-#: backup/basebackup.c:663
+#: backup/basebackup.c:665
 #, c-format
 msgid "checksum verification failure during base backup"
 msgstr "Prüfsummenüberprüfung bei der Basissicherung fehlgeschlagen"
 
-#: backup/basebackup.c:733 backup/basebackup.c:742 backup/basebackup.c:753
-#: backup/basebackup.c:770 backup/basebackup.c:779 backup/basebackup.c:788
-#: backup/basebackup.c:803 backup/basebackup.c:820 backup/basebackup.c:829
-#: backup/basebackup.c:841 backup/basebackup.c:865 backup/basebackup.c:879
-#: backup/basebackup.c:890 backup/basebackup.c:901 backup/basebackup.c:914
+#: backup/basebackup.c:735 backup/basebackup.c:744 backup/basebackup.c:755
+#: backup/basebackup.c:772 backup/basebackup.c:781 backup/basebackup.c:790
+#: backup/basebackup.c:805 backup/basebackup.c:822 backup/basebackup.c:831
+#: backup/basebackup.c:843 backup/basebackup.c:867 backup/basebackup.c:881
+#: backup/basebackup.c:892 backup/basebackup.c:903 backup/basebackup.c:916
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "doppelte Option »%s«"
 
-#: backup/basebackup.c:761
+#: backup/basebackup.c:763
 #, c-format
 msgid "unrecognized checkpoint type: \"%s\""
 msgstr "unbekannter Checkpoint-Typ: »%s«"
 
-#: backup/basebackup.c:793
+#: backup/basebackup.c:795
 #, c-format
 msgid "incremental backups cannot be taken unless WAL summarization is enabled"
 msgstr "inkrementelle Backups können nicht durchgeführt werden, wenn WAL-Zusammenfassung nicht eingeschaltet ist"
 
-#: backup/basebackup.c:809
+#: backup/basebackup.c:811
 #, 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)"
 
-#: backup/basebackup.c:854
+#: backup/basebackup.c:856
 #, c-format
 msgid "unrecognized manifest option: \"%s\""
 msgstr "unbekannte Manifestoption: »%s«"
 
-#: backup/basebackup.c:905
+#: backup/basebackup.c:907
 #, c-format
 msgid "unrecognized compression algorithm: \"%s\""
 msgstr "unbekannter Komprimierungsalgorithmus: »%s«"
 
-#: backup/basebackup.c:921
+#: backup/basebackup.c:923
 #, c-format
 msgid "unrecognized base backup option: \"%s\""
 msgstr "unbekannte Base-Backup-Option: »%s«"
 
-#: backup/basebackup.c:932
+#: backup/basebackup.c:934
 #, c-format
 msgid "manifest checksums require a backup manifest"
 msgstr "Manifest-Prüfsummen benötigen ein Backup-Manifest"
 
-#: backup/basebackup.c:941
+#: backup/basebackup.c:943
 #, c-format
 msgid "target detail cannot be used without target"
 msgstr "Zieldetail kann nicht ohne Ziel verwendet werden"
 
-#: backup/basebackup.c:950 backup/basebackup_target.c:218
+#: backup/basebackup.c:952 backup/basebackup_target.c:218
 #, c-format
 msgid "target \"%s\" does not accept a target detail"
 msgstr "Ziel »%s« akzeptiert kein Zieldetail"
 
-#: backup/basebackup.c:961
+#: backup/basebackup.c:963
 #, c-format
 msgid "compression detail cannot be specified unless compression is enabled"
 msgstr "Komprimierungsdetail kann nicht angegeben werden, wenn Komprimierung nicht eingeschaltet ist"
 
-#: backup/basebackup.c:974
+#: backup/basebackup.c:976
 #, c-format
 msgid "invalid compression specification: %s"
 msgstr "ungültige Komprimierungsangabe: %s"
 
-#: backup/basebackup.c:1024
+#: backup/basebackup.c:1026
 #, c-format
 msgid "must UPLOAD_MANIFEST before performing an incremental BASE_BACKUP"
 msgstr "UPLOAD_MANIFEST muss vor einem inkrementellen BASE_BACKUP ausgeführt werden"
 
-#: backup/basebackup.c:1157 backup/basebackup.c:1358
+#: backup/basebackup.c:1159 backup/basebackup.c:1360
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr "konnte »stat« für Datei oder Verzeichnis »%s« nicht ausführen: %m"
 
-#: backup/basebackup.c:1544
+#: backup/basebackup.c:1546
 #, c-format
 msgid "skipping special file \"%s\""
 msgstr "überspringe besondere Datei »%s«"
 
-#: backup/basebackup.c:1751
+#: backup/basebackup.c:1753
 #, c-format
 msgid "could not verify checksum in file \"%s\", block %u: read buffer size %d and page size %d differ"
 msgstr "konnte Prüfsumme in Datei »%s«, Block %u nicht überprüfen: gelesene Puffergröße %d und Seitengröße %d sind verschieden"
 
-#: backup/basebackup.c:1813
+#: backup/basebackup.c:1815
 #, c-format
 msgid "file \"%s\" has a total of %d checksum verification failure"
 msgid_plural "file \"%s\" has a total of %d checksum verification failures"
 msgstr[0] "Datei »%s« hat insgesamt %d Prüfsummenfehler"
 msgstr[1] "Datei »%s« hat insgesamt %d Prüfsummenfehler"
 
-#: backup/basebackup.c:1917
+#: backup/basebackup.c:1919
 #, c-format
 msgid "checksum verification failed in file \"%s\", block %u: calculated %X but expected %X"
 msgstr "Prüfsummenüberprüfung fehlgeschlagen in Datei »%s«, Block %u: berechnet %X, aber erwartet %X"
 
-#: backup/basebackup.c:1924
+#: backup/basebackup.c:1926
 #, c-format
 msgid "further checksum verification failures in file \"%s\" will not be reported"
 msgstr "weitere Prüfsummenfehler in Datei »%s« werden nicht berichtet werden"
 
-#: backup/basebackup.c:2048
+#: backup/basebackup.c:2051
 #, c-format
 msgid "file name too long for tar format: \"%s\""
 msgstr "Dateiname zu lang für Tar-Format: »%s«"
 
-#: backup/basebackup.c:2053
+#: backup/basebackup.c:2057
 #, 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«"
 
-#: backup/basebackup.c:2127
+#: backup/basebackup.c:2131
 #, c-format
 msgid "could not read file \"%s\": read %zd of %zu"
 msgstr "konnte Datei »%s« nicht lesen: %zd von %zu gelesen"
@@ -3895,62 +3883,62 @@ msgstr "gzip-Komprimierung wird von dieser Installation nicht unterstützt"
 msgid "could not initialize compression library"
 msgstr "konnte Komprimierungsbibliothek nicht initialisieren"
 
-#: backup/basebackup_incremental.c:294
+#: backup/basebackup_incremental.c:292
 #, c-format
 msgid "manifest contains no required WAL ranges"
 msgstr "Manifest enthält keine benötigten WAL-Bereiche"
 
-#: backup/basebackup_incremental.c:349
+#: backup/basebackup_incremental.c:347
 #, c-format
 msgid "timeline %u found in manifest, but not in this server's history"
 msgstr "Zeitleiste %u wurde im Manifest gefunden, aber nicht in der History dieses Servers"
 
-#: backup/basebackup_incremental.c:414
+#: backup/basebackup_incremental.c:412
 #, c-format
 msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X"
 msgstr "Manifest benötigt WAL aus der initialen Zeitleiste %u beginnend bei %X/%X, aber diese Zeitleiste beginnt bei %X/%X"
 
-#: backup/basebackup_incremental.c:424
+#: backup/basebackup_incremental.c:422
 #, c-format
 msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X"
 msgstr "Manifest benötigt WAL aus der Fortsetzungszeitleiste %u beginnend bei %X/%X, aber diese Zeitleiste beginnt bei %X/%X"
 
-#: backup/basebackup_incremental.c:435
+#: backup/basebackup_incremental.c:433
 #, c-format
 msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X"
 msgstr "Manifest benötigt WAL aus der finalen Zeitleiste %u endend bei %X/%X, aber dieses Backup startet bei %X/%X"
 
-#: backup/basebackup_incremental.c:439
+#: backup/basebackup_incremental.c:437
 #, c-format
 msgid "This can happen for incremental backups on a standby if there was little activity since the previous backup."
 msgstr "Das kann für inkrementelle Backups auf einem Standby passieren, wenn es wenig Aktivität seit dem letzten Backup gab."
 
-#: backup/basebackup_incremental.c:446
+#: backup/basebackup_incremental.c:444
 #, c-format
 msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X"
 msgstr "Manifest benötigt WAL aus der nicht-finalen Zeitleiste %u endend bei %X/%X, aber dieser Server hat die Zeitleiste bei %X/%X gewechselt"
 
-#: backup/basebackup_incremental.c:527
+#: backup/basebackup_incremental.c:525
 #, c-format
 msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist"
 msgstr "WAL-Zusammenfassungen auf Zeitleiste %u von %X/%X bis %X/%X werden benötigt, aber für diese Zeitleiste und diesen LSN-Bereich existieren keine Zusammenfassungen."
 
-#: backup/basebackup_incremental.c:534
+#: backup/basebackup_incremental.c:532
 #, c-format
 msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete"
 msgstr "WAL-Zusammenfassungen auf Zeitleiste %u von %X/%X bis %X/%X werden benötigt, aber die Zusammenfassungen für diese Zeitleiste und diesen LSN-Bereich sind unvollständig."
 
-#: backup/basebackup_incremental.c:538
+#: backup/basebackup_incremental.c:536
 #, c-format
 msgid "The first unsummarized LSN in this range is %X/%X."
 msgstr "Die erste nicht zusammengefasste LSN in diesem Bereich ist %X/%X."
 
-#: backup/basebackup_incremental.c:938
+#: backup/basebackup_incremental.c:934
 #, c-format
 msgid "backup manifest version 1 does not support incremental backup"
 msgstr "Backup-Manifest Version 1 unterstützt kein inkrementelles Backup"
 
-#: backup/basebackup_incremental.c:956
+#: backup/basebackup_incremental.c:952
 #, c-format
 msgid "system identifier in backup manifest is %llu, but database system identifier is %llu"
 msgstr "Systemidentifikator im Backup-Manifest ist %llu, aber Datenbanksystemidentifikator ist %llu"
@@ -3977,7 +3965,7 @@ msgstr "relativer Pfad nicht erlaubt für auf dem Server abgelegtes Backup"
 
 #: backup/basebackup_server.c:102 commands/dbcommands.c:477
 #: commands/tablespace.c:157 commands/tablespace.c:173
-#: commands/tablespace.c:593 commands/tablespace.c:638 replication/slot.c:1986
+#: commands/tablespace.c:593 commands/tablespace.c:638 replication/slot.c:2179
 #: storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
@@ -3988,15 +3976,15 @@ msgstr "konnte Verzeichnis »%s« nicht erzeugen: %m"
 msgid "directory \"%s\" exists but is not empty"
 msgstr "Verzeichnis »%s« existiert aber ist nicht leer"
 
-#: backup/basebackup_server.c:123 utils/init/postinit.c:1178
+#: backup/basebackup_server.c:123 utils/init/postinit.c:1150
 #, c-format
 msgid "could not access directory \"%s\": %m"
 msgstr "konnte nicht auf Verzeichnis »%s« zugreifen: %m"
 
 #: backup/basebackup_server.c:175 backup/basebackup_server.c:182
 #: backup/basebackup_server.c:268 backup/basebackup_server.c:275
-#: backup/walsummary.c:312 storage/smgr/md.c:502 storage/smgr/md.c:509
-#: storage/smgr/md.c:591 storage/smgr/md.c:613 storage/smgr/md.c:999
+#: backup/walsummary.c:312 storage/smgr/md.c:509 storage/smgr/md.c:516
+#: storage/smgr/md.c:598 storage/smgr/md.c:620 storage/smgr/md.c:1022
 #, c-format
 msgid "Check free disk space."
 msgstr "Prüfen Sie den freien Festplattenplatz."
@@ -4037,23 +4025,29 @@ msgstr "konnte Long-Distance-Modus nicht einschalten: %s"
 msgid "invalid timeline %lld"
 msgstr "ungültige Zeitleiste %lld"
 
-#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3946
+#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:616 tcop/postgres.c:3822
+#, fuzzy, c-format
+#| msgid "%s must be positive"
+msgid "--%s must be first argument"
+msgstr "%s muss positiv sein"
+
+#: bootstrap/bootstrap.c:253 postmaster/postmaster.c:630 tcop/postgres.c:3836
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s benötigt einen Wert"
 
-#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3951
+#: bootstrap/bootstrap.c:258 postmaster/postmaster.c:635 tcop/postgres.c:3841
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s benötigt einen Wert"
 
-#: bootstrap/bootstrap.c:282 postmaster/postmaster.c:746
-#: postmaster/postmaster.c:759
+#: bootstrap/bootstrap.c:296 postmaster/postmaster.c:753
+#: postmaster/postmaster.c:766
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Versuchen Sie »%s --help« für weitere Informationen.\n"
 
-#: bootstrap/bootstrap.c:291
+#: bootstrap/bootstrap.c:305
 #, c-format
 msgid "%s: invalid command-line arguments\n"
 msgstr "%s: ungültige Kommandozeilenargumente\n"
@@ -4108,12 +4102,12 @@ msgstr "es konnten nicht alle Privilegien für »%s« entzogen werden"
 msgid "grantor must be current user"
 msgstr "Grantor muss aktueller Benutzer sein"
 
-#: catalog/aclchk.c:480 catalog/aclchk.c:1055
+#: catalog/aclchk.c:480 catalog/aclchk.c:982
 #, c-format
 msgid "invalid privilege type %s for relation"
 msgstr "ungültiger Privilegtyp %s für Relation"
 
-#: catalog/aclchk.c:484 catalog/aclchk.c:1059
+#: catalog/aclchk.c:484 catalog/aclchk.c:986
 #, c-format
 msgid "invalid privilege type %s for sequence"
 msgstr "ungültiger Privilegtyp %s für Sequenz"
@@ -4128,7 +4122,7 @@ msgstr "ungültiger Privilegtyp %s für Datenbank"
 msgid "invalid privilege type %s for domain"
 msgstr "ungültiger Privilegtyp %s für Domäne"
 
-#: catalog/aclchk.c:496 catalog/aclchk.c:1063
+#: catalog/aclchk.c:496 catalog/aclchk.c:990
 #, c-format
 msgid "invalid privilege type %s for function"
 msgstr "ungültiger Privilegtyp %s für Funktion"
@@ -4143,17 +4137,17 @@ msgstr "ungültiger Privilegtyp %s für Sprache"
 msgid "invalid privilege type %s for large object"
 msgstr "ungültiger Privilegtyp %s für Large Object"
 
-#: catalog/aclchk.c:508 catalog/aclchk.c:1079
+#: catalog/aclchk.c:508 catalog/aclchk.c:1006
 #, c-format
 msgid "invalid privilege type %s for schema"
 msgstr "ungültiger Privilegtyp %s für Schema"
 
-#: catalog/aclchk.c:512 catalog/aclchk.c:1067
+#: catalog/aclchk.c:512 catalog/aclchk.c:994
 #, c-format
 msgid "invalid privilege type %s for procedure"
 msgstr "ungültiger Privilegtyp %s für Prozedur"
 
-#: catalog/aclchk.c:516 catalog/aclchk.c:1071
+#: catalog/aclchk.c:516 catalog/aclchk.c:998
 #, c-format
 msgid "invalid privilege type %s for routine"
 msgstr "ungültiger Privilegtyp %s für Routine"
@@ -4163,7 +4157,7 @@ msgstr "ungültiger Privilegtyp %s für Routine"
 msgid "invalid privilege type %s for tablespace"
 msgstr "ungültiger Privilegtyp %s für Tablespace"
 
-#: catalog/aclchk.c:524 catalog/aclchk.c:1075
+#: catalog/aclchk.c:524 catalog/aclchk.c:1002
 #, c-format
 msgid "invalid privilege type %s for type"
 msgstr "ungültiger Privilegtyp %s für Typ"
@@ -4188,534 +4182,525 @@ msgstr "ungültiger Privilegtyp %s für Parameter"
 msgid "column privileges are only valid for relations"
 msgstr "Spaltenprivilegien sind nur für Relation gültig"
 
-#: catalog/aclchk.c:738 catalog/aclchk.c:3629 catalog/objectaddress.c:1054
-#: catalog/pg_largeobject.c:113 storage/large_object/inv_api.c:285
-#, c-format
-msgid "large object %u does not exist"
-msgstr "Large Object %u existiert nicht"
-
-#: catalog/aclchk.c:1112
+#: catalog/aclchk.c:1039
 #, c-format
 msgid "default privileges cannot be set for columns"
 msgstr "Vorgabeprivilegien können nicht für Spalten gesetzt werden"
 
-#: catalog/aclchk.c:1148
+#: catalog/aclchk.c:1075
 #, c-format
 msgid "permission denied to change default privileges"
 msgstr "keine Berechtigung, um Vorgabeprivilegien zu ändern"
 
-#: catalog/aclchk.c:1266
+#: catalog/aclchk.c:1193
 #, 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:1617 catalog/catalog.c:659 catalog/objectaddress.c:1523
-#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:951
-#: commands/sequence.c:1655 commands/tablecmds.c:7541 commands/tablecmds.c:7695
-#: commands/tablecmds.c:7745 commands/tablecmds.c:7819
-#: commands/tablecmds.c:7889 commands/tablecmds.c:8019
-#: commands/tablecmds.c:8148 commands/tablecmds.c:8242
-#: commands/tablecmds.c:8343 commands/tablecmds.c:8470
-#: commands/tablecmds.c:8500 commands/tablecmds.c:8642
-#: commands/tablecmds.c:8735 commands/tablecmds.c:8869
-#: commands/tablecmds.c:8981 commands/tablecmds.c:12797
-#: commands/tablecmds.c:12989 commands/tablecmds.c:13150
-#: commands/tablecmds.c:14339 commands/tablecmds.c:16966 commands/trigger.c:942
-#: parser/analyze.c:2530 parser/parse_relation.c:737 parser/parse_target.c:1067
-#: parser/parse_type.c:144 parser/parse_utilcmd.c:3409
-#: parser/parse_utilcmd.c:3449 parser/parse_utilcmd.c:3491 utils/adt/acl.c:2923
-#: utils/adt/ruleutils.c:2812
+#: catalog/aclchk.c:1544 catalog/catalog.c:655 catalog/heap.c:2611
+#: catalog/heap.c:2930 catalog/objectaddress.c:1528
+#: catalog/pg_publication.c:570 commands/analyze.c:388 commands/copy.c:1000
+#: commands/sequence.c:1655 commands/tablecmds.c:7656 commands/tablecmds.c:7821
+#: commands/tablecmds.c:8021 commands/tablecmds.c:8150
+#: commands/tablecmds.c:8279 commands/tablecmds.c:8373
+#: commands/tablecmds.c:8476 commands/tablecmds.c:8639
+#: commands/tablecmds.c:8669 commands/tablecmds.c:8824
+#: commands/tablecmds.c:8927 commands/tablecmds.c:9061
+#: commands/tablecmds.c:9174 commands/tablecmds.c:13613
+#: commands/tablecmds.c:13813 commands/tablecmds.c:13974
+#: commands/tablecmds.c:15179 commands/tablecmds.c:17942 commands/trigger.c:947
+#: parser/analyze.c:2621 parser/parse_relation.c:749 parser/parse_target.c:1070
+#: parser/parse_type.c:144 parser/parse_utilcmd.c:3654
+#: parser/parse_utilcmd.c:3694 parser/parse_utilcmd.c:3736
+#: statistics/attribute_stats.c:201 statistics/attribute_stats.c:932
+#: utils/adt/acl.c:2921 utils/adt/ruleutils.c:2855
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "Spalte »%s« von Relation »%s« existiert nicht"
 
-#: catalog/aclchk.c:1862
+#: catalog/aclchk.c:1789
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "»%s« ist ein Index"
 
-#: catalog/aclchk.c:1869 commands/tablecmds.c:14496 commands/tablecmds.c:17882
+#: catalog/aclchk.c:1796 commands/tablecmds.c:15336 commands/tablecmds.c:18861
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "»%s« ist ein zusammengesetzter Typ"
 
-#: catalog/aclchk.c:1877 catalog/objectaddress.c:1363 commands/tablecmds.c:263
-#: commands/tablecmds.c:17846 utils/adt/acl.c:2107 utils/adt/acl.c:2137
-#: utils/adt/acl.c:2170 utils/adt/acl.c:2206 utils/adt/acl.c:2237
-#: utils/adt/acl.c:2268
+#: catalog/aclchk.c:1804 catalog/objectaddress.c:1368 commands/tablecmds.c:266
+#: commands/tablecmds.c:18825 utils/adt/acl.c:2105 utils/adt/acl.c:2135
+#: utils/adt/acl.c:2168 utils/adt/acl.c:2204 utils/adt/acl.c:2235
+#: utils/adt/acl.c:2266
 #, c-format
 msgid "\"%s\" is not a sequence"
 msgstr "»%s« ist keine Sequenz"
 
-#: catalog/aclchk.c:1915
+#: catalog/aclchk.c:1842
 #, 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:1932
+#: catalog/aclchk.c:1859
 #, c-format
 msgid "invalid privilege type %s for table"
 msgstr "ungültiger Privilegtyp %s für Tabelle"
 
-#: catalog/aclchk.c:2097
+#: catalog/aclchk.c:2024
 #, c-format
 msgid "invalid privilege type %s for column"
 msgstr "ungültiger Privilegtyp %s für Spalte"
 
-#: catalog/aclchk.c:2110
+#: catalog/aclchk.c:2037
 #, c-format
 msgid "sequence \"%s\" only supports SELECT column privileges"
 msgstr "Sequenz »%s« unterstützt nur den Spaltenprivilegientyp SELECT"
 
-#: catalog/aclchk.c:2301
+#: catalog/aclchk.c:2228
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "Sprache »%s« ist nicht »trusted«"
 
-#: catalog/aclchk.c:2303
+#: catalog/aclchk.c:2230
 #, 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:2454
+#: catalog/aclchk.c:2381
 #, c-format
 msgid "cannot set privileges of array types"
 msgstr "für Array-Typen können keine Privilegien gesetzt werden"
 
-#: catalog/aclchk.c:2455
+#: catalog/aclchk.c:2382
 #, c-format
 msgid "Set the privileges of the element type instead."
 msgstr "Setzen Sie stattdessen die Privilegien des Elementtyps."
 
-#: catalog/aclchk.c:2459
+#: catalog/aclchk.c:2386
 #, c-format
 msgid "cannot set privileges of multirange types"
 msgstr "für Multirange-Typen können keine Privilegien gesetzt werden"
 
-#: catalog/aclchk.c:2460
+#: catalog/aclchk.c:2387
 #, c-format
 msgid "Set the privileges of the range type instead."
 msgstr "Setzen Sie stattdessen die Privilegien des Range-Typs."
 
-#: catalog/aclchk.c:2467 catalog/objectaddress.c:1629
-#, c-format
-msgid "\"%s\" is not a domain"
-msgstr "»%s« ist keine Domäne"
-
-#: catalog/aclchk.c:2653
+#: catalog/aclchk.c:2570
 #, c-format
 msgid "unrecognized privilege type \"%s\""
 msgstr "unbekannter Privilegtyp »%s«"
 
-#: catalog/aclchk.c:2720
+#: catalog/aclchk.c:2637
 #, c-format
 msgid "permission denied for aggregate %s"
 msgstr "keine Berechtigung für Aggregatfunktion %s"
 
-#: catalog/aclchk.c:2723
+#: catalog/aclchk.c:2640
 #, c-format
 msgid "permission denied for collation %s"
 msgstr "keine Berechtigung für Sortierfolge %s"
 
-#: catalog/aclchk.c:2726
+#: catalog/aclchk.c:2643
 #, c-format
 msgid "permission denied for column %s"
 msgstr "keine Berechtigung für Spalte %s"
 
-#: catalog/aclchk.c:2729
+#: catalog/aclchk.c:2646
 #, c-format
 msgid "permission denied for conversion %s"
 msgstr "keine Berechtigung für Konversion %s"
 
-#: catalog/aclchk.c:2732
+#: catalog/aclchk.c:2649
 #, c-format
 msgid "permission denied for database %s"
 msgstr "keine Berechtigung für Datenbank %s"
 
-#: catalog/aclchk.c:2735
+#: catalog/aclchk.c:2652
 #, c-format
 msgid "permission denied for domain %s"
 msgstr "keine Berechtigung für Domäne %s"
 
-#: catalog/aclchk.c:2738
+#: catalog/aclchk.c:2655
 #, c-format
 msgid "permission denied for event trigger %s"
 msgstr "keine Berechtigung für Ereignistrigger %s"
 
-#: catalog/aclchk.c:2741
+#: catalog/aclchk.c:2658
 #, c-format
 msgid "permission denied for extension %s"
 msgstr "keine Berechtigung für Erweiterung %s"
 
-#: catalog/aclchk.c:2744
+#: catalog/aclchk.c:2661
 #, c-format
 msgid "permission denied for foreign-data wrapper %s"
 msgstr "keine Berechtigung für Fremddaten-Wrapper %s"
 
-#: catalog/aclchk.c:2747
+#: catalog/aclchk.c:2664
 #, c-format
 msgid "permission denied for foreign server %s"
 msgstr "keine Berechtigung für Fremdserver %s"
 
-#: catalog/aclchk.c:2750
+#: catalog/aclchk.c:2667
 #, c-format
 msgid "permission denied for foreign table %s"
 msgstr "keine Berechtigung für Fremdtabelle %s"
 
-#: catalog/aclchk.c:2753
+#: catalog/aclchk.c:2670
 #, c-format
 msgid "permission denied for function %s"
 msgstr "keine Berechtigung für Funktion %s"
 
-#: catalog/aclchk.c:2756
+#: catalog/aclchk.c:2673
 #, c-format
 msgid "permission denied for index %s"
 msgstr "keine Berechtigung für Index %s"
 
-#: catalog/aclchk.c:2759
+#: catalog/aclchk.c:2676
 #, c-format
 msgid "permission denied for language %s"
 msgstr "keine Berechtigung für Sprache %s"
 
-#: catalog/aclchk.c:2762
+#: catalog/aclchk.c:2679
 #, c-format
 msgid "permission denied for large object %s"
 msgstr "keine Berechtigung für Large Object %s"
 
-#: catalog/aclchk.c:2765
+#: catalog/aclchk.c:2682
 #, c-format
 msgid "permission denied for materialized view %s"
 msgstr "keine Berechtigung für materialisierte Sicht %s"
 
-#: catalog/aclchk.c:2768
+#: catalog/aclchk.c:2685
 #, c-format
 msgid "permission denied for operator class %s"
 msgstr "keine Berechtigung für Operatorklasse %s"
 
-#: catalog/aclchk.c:2771
+#: catalog/aclchk.c:2688
 #, c-format
 msgid "permission denied for operator %s"
 msgstr "keine Berechtigung für Operator %s"
 
-#: catalog/aclchk.c:2774
+#: catalog/aclchk.c:2691
 #, c-format
 msgid "permission denied for operator family %s"
 msgstr "keine Berechtigung für Operatorfamilie %s"
 
-#: catalog/aclchk.c:2777
+#: catalog/aclchk.c:2694
 #, c-format
 msgid "permission denied for parameter %s"
 msgstr "keine Berechtigung für Parameter %s"
 
-#: catalog/aclchk.c:2780
+#: catalog/aclchk.c:2697
 #, c-format
 msgid "permission denied for policy %s"
 msgstr "keine Berechtigung für Policy %s"
 
-#: catalog/aclchk.c:2783
+#: catalog/aclchk.c:2700
 #, c-format
 msgid "permission denied for procedure %s"
 msgstr "keine Berechtigung für Prozedur %s"
 
-#: catalog/aclchk.c:2786
+#: catalog/aclchk.c:2703
 #, c-format
 msgid "permission denied for publication %s"
 msgstr "keine Berechtigung für Publikation %s"
 
-#: catalog/aclchk.c:2789
+#: catalog/aclchk.c:2706
 #, c-format
 msgid "permission denied for routine %s"
 msgstr "keine Berechtigung für Routine %s"
 
-#: catalog/aclchk.c:2792
+#: catalog/aclchk.c:2709
 #, c-format
 msgid "permission denied for schema %s"
 msgstr "keine Berechtigung für Schema %s"
 
-#: catalog/aclchk.c:2795 commands/sequence.c:654 commands/sequence.c:880
+#: catalog/aclchk.c:2712 commands/sequence.c:654 commands/sequence.c:880
 #: commands/sequence.c:922 commands/sequence.c:963 commands/sequence.c:1753
-#: commands/sequence.c:1799
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "keine Berechtigung für Sequenz %s"
 
-#: catalog/aclchk.c:2798
+#: catalog/aclchk.c:2715
 #, c-format
 msgid "permission denied for statistics object %s"
 msgstr "keine Berechtigung für Statistikobjekt %s"
 
-#: catalog/aclchk.c:2801
+#: catalog/aclchk.c:2718
 #, c-format
 msgid "permission denied for subscription %s"
 msgstr "keine Berechtigung für Subskription %s"
 
-#: catalog/aclchk.c:2804
+#: catalog/aclchk.c:2721
 #, c-format
 msgid "permission denied for table %s"
 msgstr "keine Berechtigung für Tabelle %s"
 
-#: catalog/aclchk.c:2807
+#: catalog/aclchk.c:2724
 #, c-format
 msgid "permission denied for tablespace %s"
 msgstr "keine Berechtigung für Tablespace %s"
 
-#: catalog/aclchk.c:2810
+#: catalog/aclchk.c:2727
 #, c-format
 msgid "permission denied for text search configuration %s"
 msgstr "keine Berechtigung für Textsuchekonfiguration %s"
 
-#: catalog/aclchk.c:2813
+#: catalog/aclchk.c:2730
 #, c-format
 msgid "permission denied for text search dictionary %s"
 msgstr "keine Berechtigung für Textsuchewörterbuch %s"
 
-#: catalog/aclchk.c:2816
+#: catalog/aclchk.c:2733
 #, c-format
 msgid "permission denied for type %s"
 msgstr "keine Berechtigung für Typ %s"
 
-#: catalog/aclchk.c:2819
+#: catalog/aclchk.c:2736
 #, c-format
 msgid "permission denied for view %s"
 msgstr "keine Berechtigung für Sicht %s"
 
-#: catalog/aclchk.c:2855
+#: catalog/aclchk.c:2772
 #, c-format
 msgid "must be owner of aggregate %s"
 msgstr "Berechtigung nur für Eigentümer der Aggregatfunktion %s"
 
-#: catalog/aclchk.c:2858
+#: catalog/aclchk.c:2775
 #, c-format
 msgid "must be owner of collation %s"
 msgstr "Berechtigung nur für Eigentümer der Sortierfolge %s"
 
-#: catalog/aclchk.c:2861
+#: catalog/aclchk.c:2778
 #, c-format
 msgid "must be owner of conversion %s"
 msgstr "Berechtigung nur für Eigentümer der Konversion %s"
 
-#: catalog/aclchk.c:2864
+#: catalog/aclchk.c:2781
 #, c-format
 msgid "must be owner of database %s"
 msgstr "Berechtigung nur für Eigentümer der Datenbank %s"
 
-#: catalog/aclchk.c:2867
+#: catalog/aclchk.c:2784
 #, c-format
 msgid "must be owner of domain %s"
 msgstr "Berechtigung nur für Eigentümer der Domäne %s"
 
-#: catalog/aclchk.c:2870
+#: catalog/aclchk.c:2787
 #, c-format
 msgid "must be owner of event trigger %s"
 msgstr "Berechtigung nur für Eigentümer des Ereignistriggers %s"
 
-#: catalog/aclchk.c:2873
+#: catalog/aclchk.c:2790
 #, c-format
 msgid "must be owner of extension %s"
 msgstr "Berechtigung nur für Eigentümer der Erweiterung %s"
 
-#: catalog/aclchk.c:2876
+#: catalog/aclchk.c:2793
 #, 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:2879
+#: catalog/aclchk.c:2796
 #, c-format
 msgid "must be owner of foreign server %s"
 msgstr "Berechtigung nur für Eigentümer des Fremdservers %s"
 
-#: catalog/aclchk.c:2882
+#: catalog/aclchk.c:2799
 #, c-format
 msgid "must be owner of foreign table %s"
 msgstr "Berechtigung nur für Eigentümer der Fremdtabelle %s"
 
-#: catalog/aclchk.c:2885
+#: catalog/aclchk.c:2802
 #, c-format
 msgid "must be owner of function %s"
 msgstr "Berechtigung nur für Eigentümer der Funktion %s"
 
-#: catalog/aclchk.c:2888
+#: catalog/aclchk.c:2805
 #, c-format
 msgid "must be owner of index %s"
 msgstr "Berechtigung nur für Eigentümer des Index %s"
 
-#: catalog/aclchk.c:2891
+#: catalog/aclchk.c:2808
 #, c-format
 msgid "must be owner of language %s"
 msgstr "Berechtigung nur für Eigentümer der Sprache %s"
 
-#: catalog/aclchk.c:2894
+#: catalog/aclchk.c:2811
 #, c-format
 msgid "must be owner of large object %s"
 msgstr "Berechtigung nur für Eigentümer des Large Object %s"
 
-#: catalog/aclchk.c:2897
+#: catalog/aclchk.c:2814
 #, c-format
 msgid "must be owner of materialized view %s"
 msgstr "Berechtigung nur für Eigentümer der materialisierten Sicht %s"
 
-#: catalog/aclchk.c:2900
+#: catalog/aclchk.c:2817
 #, c-format
 msgid "must be owner of operator class %s"
 msgstr "Berechtigung nur für Eigentümer der Operatorklasse %s"
 
-#: catalog/aclchk.c:2903
+#: catalog/aclchk.c:2820
 #, c-format
 msgid "must be owner of operator %s"
 msgstr "Berechtigung nur für Eigentümer des Operators %s"
 
-#: catalog/aclchk.c:2906
+#: catalog/aclchk.c:2823
 #, c-format
 msgid "must be owner of operator family %s"
 msgstr "Berechtigung nur für Eigentümer der Operatorfamilie %s"
 
-#: catalog/aclchk.c:2909
+#: catalog/aclchk.c:2826
 #, c-format
 msgid "must be owner of procedure %s"
 msgstr "Berechtigung nur für Eigentümer der Prozedur %s"
 
-#: catalog/aclchk.c:2912
+#: catalog/aclchk.c:2829
 #, c-format
 msgid "must be owner of publication %s"
 msgstr "Berechtigung nur für Eigentümer der Publikation %s"
 
-#: catalog/aclchk.c:2915
+#: catalog/aclchk.c:2832
 #, c-format
 msgid "must be owner of routine %s"
 msgstr "Berechtigung nur für Eigentümer der Routine %s"
 
-#: catalog/aclchk.c:2918
+#: catalog/aclchk.c:2835
 #, c-format
 msgid "must be owner of sequence %s"
 msgstr "Berechtigung nur für Eigentümer der Sequenz %s"
 
-#: catalog/aclchk.c:2921
+#: catalog/aclchk.c:2838
 #, c-format
 msgid "must be owner of subscription %s"
 msgstr "Berechtigung nur für Eigentümer der Subskription %s"
 
-#: catalog/aclchk.c:2924
+#: catalog/aclchk.c:2841
 #, c-format
 msgid "must be owner of table %s"
 msgstr "Berechtigung nur für Eigentümer der Tabelle %s"
 
-#: catalog/aclchk.c:2927
+#: catalog/aclchk.c:2844
 #, c-format
 msgid "must be owner of type %s"
 msgstr "Berechtigung nur für Eigentümer des Typs %s"
 
-#: catalog/aclchk.c:2930
+#: catalog/aclchk.c:2847
 #, c-format
 msgid "must be owner of view %s"
 msgstr "Berechtigung nur für Eigentümer der Sicht %s"
 
-#: catalog/aclchk.c:2933
+#: catalog/aclchk.c:2850
 #, c-format
 msgid "must be owner of schema %s"
 msgstr "Berechtigung nur für Eigentümer des Schemas %s"
 
-#: catalog/aclchk.c:2936
+#: catalog/aclchk.c:2853
 #, c-format
 msgid "must be owner of statistics object %s"
 msgstr "Berechtigung nur für Eigentümer des Statistikobjekts %s"
 
-#: catalog/aclchk.c:2939
+#: catalog/aclchk.c:2856
 #, c-format
 msgid "must be owner of tablespace %s"
 msgstr "Berechtigung nur für Eigentümer des Tablespace %s"
 
-#: catalog/aclchk.c:2942
+#: catalog/aclchk.c:2859
 #, c-format
 msgid "must be owner of text search configuration %s"
 msgstr "Berechtigung nur für Eigentümer der Textsuchekonfiguration %s"
 
-#: catalog/aclchk.c:2945
+#: catalog/aclchk.c:2862
 #, 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:2959
+#: catalog/aclchk.c:2876
 #, c-format
 msgid "must be owner of relation %s"
 msgstr "Berechtigung nur für Eigentümer der Relation %s"
 
-#: catalog/aclchk.c:3005
+#: catalog/aclchk.c:2922
 #, c-format
 msgid "permission denied for column \"%s\" of relation \"%s\""
 msgstr "keine Berechtigung für Spalte »%s« von Relation »%s«"
 
-#: catalog/aclchk.c:3162 catalog/aclchk.c:4170 catalog/aclchk.c:4201
-#, c-format
-msgid "%s with OID %u does not exist"
-msgstr "%s mit OID %u existiert nicht"
-
-#: catalog/aclchk.c:3245 catalog/aclchk.c:3264
+#: catalog/aclchk.c:3156 catalog/aclchk.c:3175
 #, 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:3302 catalog/aclchk.c:3365 catalog/aclchk.c:4004
+#: catalog/aclchk.c:3213 catalog/aclchk.c:3276 catalog/aclchk.c:3915
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "Relation mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:3550
+#: catalog/aclchk.c:3461
 #, c-format
 msgid "parameter ACL with OID %u does not exist"
 msgstr "Parameter-ACL mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:3723 commands/collationcmds.c:853
-#: commands/publicationcmds.c:1739
+#: catalog/aclchk.c:3540 catalog/objectaddress.c:1055
+#: catalog/pg_largeobject.c:111 libpq/be-fsstubs.c:323
+#: storage/large_object/inv_api.c:247
+#, c-format
+msgid "large object %u does not exist"
+msgstr "Large Object %u existiert nicht"
+
+#: catalog/aclchk.c:3634 commands/collationcmds.c:849
+#: commands/publicationcmds.c:1807
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "Schema mit OID %u existiert nicht"
 
-#: catalog/aclchk.c:3797 catalog/aclchk.c:3824 catalog/aclchk.c:3853
-#: utils/cache/typcache.c:392 utils/cache/typcache.c:447
+#: catalog/aclchk.c:3708 catalog/aclchk.c:3735 catalog/aclchk.c:3764
+#: utils/cache/typcache.c:473 utils/cache/typcache.c:527
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "Typ mit OID %u existiert nicht"
 
-#: catalog/catalog.c:477
+#: catalog/catalog.c:475
 #, c-format
 msgid "still searching for an unused OID in relation \"%s\""
 msgstr "suche immer noch nach einer unbenutzten OID in in Relation »%s«"
 
-#: catalog/catalog.c:479
+#: catalog/catalog.c:477
 #, c-format
 msgid "OID candidates have been checked %llu time, but no unused OID has been found yet."
 msgid_plural "OID candidates have been checked %llu times, but no unused OID has been found yet."
 msgstr[0] "OID-Kandidaten wurden %llu mal geprüft, aber es wurde bisher keine unbenutzte OID gefunden."
 msgstr[1] "OID-Kandidaten wurden %llu mal geprüft, aber es wurde bisher keine unbenutzte OID gefunden."
 
-#: catalog/catalog.c:504
+#: catalog/catalog.c:502
 #, c-format
 msgid "new OID has been assigned in relation \"%s\" after %llu retry"
 msgid_plural "new OID has been assigned in relation \"%s\" after %llu retries"
 msgstr[0] "neue OID in Relation »%s« wurde zugewiesen nach %llu Versuch"
 msgstr[1] "neue OID in Relation »%s« wurde zugewiesen nach %llu Versuchen"
 
-#: catalog/catalog.c:637 catalog/catalog.c:704
+#: catalog/catalog.c:633 catalog/catalog.c:700
 #, c-format
 msgid "must be superuser to call %s()"
 msgstr "nur Superuser können %s() aufrufen"
 
-#: catalog/catalog.c:646
+#: catalog/catalog.c:642
 #, c-format
 msgid "pg_nextoid() can only be used on system catalogs"
 msgstr "pg_nextoid() kann nur mit Systemkatalogen verwendet werden"
 
-#: catalog/catalog.c:651 parser/parse_utilcmd.c:2270
+#: catalog/catalog.c:647 parser/parse_utilcmd.c:2440
 #, c-format
 msgid "index \"%s\" does not belong to table \"%s\""
 msgstr "Index »%s« gehört nicht zu Tabelle »%s«"
 
-#: catalog/catalog.c:668
+#: catalog/catalog.c:664
 #, c-format
 msgid "column \"%s\" is not of type oid"
 msgstr "Spalte »%s« hat nicht Typ oid"
 
-#: catalog/catalog.c:675
+#: catalog/catalog.c:671
 #, c-format
 msgid "index \"%s\" is not the index for column \"%s\""
 msgstr "»%s« ist kein Index für Spalte »%s«"
@@ -4766,15 +4751,15 @@ 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:1153 catalog/dependency.c:1160
-#: catalog/dependency.c:1171 commands/tablecmds.c:1459
-#: commands/tablecmds.c:15088 commands/tablespace.c:460 commands/user.c:1302
-#: commands/vacuum.c:211 commands/view.c:441 executor/execExprInterp.c:4655
-#: executor/execExprInterp.c:4663 libpq/auth.c:324
-#: replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1011
-#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1432 utils/misc/guc.c:3169
-#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6825
-#: utils/misc/guc.c:6859 utils/misc/guc.c:6893 utils/misc/guc.c:6936
-#: utils/misc/guc.c:6978
+#: catalog/dependency.c:1171 commands/tablecmds.c:1482
+#: commands/tablecmds.c:15928 commands/tablespace.c:460 commands/user.c:1302
+#: commands/vacuum.c:223 commands/view.c:441 executor/execExprInterp.c:5130
+#: executor/execExprInterp.c:5138 libpq/auth.c:311
+#: replication/logical/applyparallelworker.c:1041 replication/slot.c:1594
+#: replication/syncrep.c:1012 storage/lmgr/deadlock.c:1137
+#: storage/lmgr/proc.c:1474 utils/misc/guc.c:3166 utils/misc/guc.c:3207
+#: utils/misc/guc.c:3282 utils/misc/guc.c:6822 utils/misc/guc.c:6856
+#: utils/misc/guc.c:6890 utils/misc/guc.c:6933 utils/misc/guc.c:6975
 #, c-format
 msgid "%s"
 msgstr "%s"
@@ -4801,303 +4786,358 @@ msgstr[1] "Löschvorgang löscht ebenfalls %d weitere Objekte"
 msgid "constant of the type %s cannot be used here"
 msgstr "Konstante vom Typ %s kann hier nicht verwendet werden"
 
-#: catalog/dependency.c:2375 parser/parse_relation.c:3407
-#: parser/parse_relation.c:3417
+#: catalog/dependency.c:2205
+#, fuzzy, c-format
+#| msgid "only table \"%s\" can be referenced in check constraint"
+msgid "transition table \"%s\" cannot be referenced in a persistent object"
+msgstr "nur Verweise auf Tabelle »%s« sind im Check-Constraint zugelassen"
+
+#: catalog/dependency.c:2390 parser/parse_relation.c:3513
+#: parser/parse_relation.c:3523 statistics/attribute_stats.c:213
 #, c-format
 msgid "column %d of relation \"%s\" does not exist"
 msgstr "Spalte %d von Relation »%s« existiert nicht"
 
-#: catalog/heap.c:325
+#: catalog/heap.c:321
 #, c-format
 msgid "permission denied to create \"%s.%s\""
 msgstr "keine Berechtigung, um »%s.%s« zu erzeugen"
 
-#: catalog/heap.c:327
+#: catalog/heap.c:323
 #, c-format
 msgid "System catalog modifications are currently disallowed."
 msgstr "Änderungen an Systemkatalogen sind gegenwärtig nicht erlaubt."
 
-#: catalog/heap.c:467 commands/tablecmds.c:2495 commands/tablecmds.c:2917
-#: commands/tablecmds.c:7163
+#: catalog/heap.c:463 commands/tablecmds.c:2525 commands/tablecmds.c:2977
+#: commands/tablecmds.c:7268
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "Tabellen können höchstens %d Spalten haben"
 
-#: catalog/heap.c:485 commands/tablecmds.c:7432
+#: catalog/heap.c:481 commands/tablecmds.c:7568
 #, 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:501
+#: catalog/heap.c:497
 #, c-format
 msgid "column name \"%s\" specified more than once"
 msgstr "Spaltenname »%s« mehrmals angegeben"
 
 #. translator: first %s is an integer not a name
-#: catalog/heap.c:579
+#: catalog/heap.c:575
 #, c-format
 msgid "partition key column %s has pseudo-type %s"
 msgstr "Partitionierungsschlüsselspalte %s hat Pseudotyp %s"
 
-#: catalog/heap.c:584
+#: catalog/heap.c:580
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "Spalte »%s« hat Pseudotyp %s"
 
-#: catalog/heap.c:615
+#: catalog/heap.c:595
+#, fuzzy, c-format
+#| msgid "default for column \"%s\" cannot be cast automatically to type %s"
+msgid "virtual generated column \"%s\" cannot have a domain type"
+msgstr "Vorgabewert der Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden"
+
+#: catalog/heap.c:622
 #, c-format
 msgid "composite type %s cannot be made a member of itself"
 msgstr "zusammengesetzter Typ %s kann nicht Teil von sich selbst werden"
 
 #. translator: first %s is an integer not a name
-#: catalog/heap.c:670
+#: catalog/heap.c:677
 #, c-format
 msgid "no collation was derived for partition key column %s with collatable type %s"
 msgstr "für Partitionierungsschlüsselspalte %s mit sortierbarem Typ %s wurde keine Sortierfolge abgeleitet"
 
-#: catalog/heap.c:676 commands/createas.c:198 commands/createas.c:505
+#: catalog/heap.c:683 commands/createas.c:198 commands/createas.c:511
 #, 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:1161 catalog/index.c:899 commands/createas.c:401
-#: commands/tablecmds.c:4171
+#: catalog/heap.c:1169 catalog/index.c:901 commands/createas.c:407
+#: commands/tablecmds.c:4259
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "Relation »%s« existiert bereits"
 
-#: catalog/heap.c:1177 catalog/pg_type.c:434 catalog/pg_type.c:805
+#: catalog/heap.c:1185 catalog/pg_type.c:434 catalog/pg_type.c:805
 #: catalog/pg_type.c:977 commands/typecmds.c:253 commands/typecmds.c:265
-#: commands/typecmds.c:758 commands/typecmds.c:1179 commands/typecmds.c:1405
-#: commands/typecmds.c:1585 commands/typecmds.c:2556
+#: commands/typecmds.c:758 commands/typecmds.c:1205 commands/typecmds.c:1431
+#: commands/typecmds.c:1611 commands/typecmds.c:2582
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "Typ »%s« existiert bereits"
 
-#: catalog/heap.c:1178
+#: catalog/heap.c:1186
 #, 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:1218
+#: catalog/heap.c:1226
 #, c-format
 msgid "toast relfilenumber value not set when in binary upgrade mode"
 msgstr "TOAST-Relfile-Nummer-Wert ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: catalog/heap.c:1229
+#: catalog/heap.c:1237
 #, 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:1239
+#: catalog/heap.c:1247
 #, c-format
 msgid "relfilenumber value not set when in binary upgrade mode"
 msgstr "Relfile-Nummer-Wert ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: catalog/heap.c:2130
+#: catalog/heap.c:2192
 #, c-format
 msgid "cannot add NO INHERIT constraint to partitioned table \"%s\""
 msgstr "zur partitionierten Tabelle »%s« kann kein NO-INHERIT-Constraint hinzugefügt werden"
 
-#: catalog/heap.c:2402
+#: catalog/heap.c:2515
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "Check-Constraint »%s« existiert bereits"
 
-#: catalog/heap.c:2574 catalog/index.c:913 catalog/pg_constraint.c:724
-#: commands/tablecmds.c:9356
+#: catalog/heap.c:2616 catalog/heap.c:2936
+#, fuzzy, c-format
+#| msgid "cannot assign to system column \"%s\""
+msgid "cannot add not-null constraint on system column \"%s\""
+msgstr "kann Systemspalte »%s« keinen Wert zuweisen"
+
+#: catalog/heap.c:2622 catalog/heap.c:2942 commands/tablecmds.c:7835
+#: parser/parse_utilcmd.c:1002
+#, fuzzy, c-format
+#| msgid "unique constraints are not supported on foreign tables"
+msgid "not-null constraints are not supported on virtual generated columns"
+msgstr "Unique-Constraints auf Fremdtabellen werden nicht unterstützt"
+
+#: catalog/heap.c:2643 catalog/heap.c:2769 catalog/heap.c:3025
+#: catalog/index.c:915 catalog/pg_constraint.c:984 commands/tablecmds.c:9615
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "Constraint »%s« existiert bereits für Relation »%s«"
 
-#: catalog/heap.c:2581
+#: catalog/heap.c:2776
 #, 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:2592
+#: catalog/heap.c:2787
 #, 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:2602
+#: catalog/heap.c:2797
 #, 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:2607
+#: catalog/heap.c:2809
+#, fuzzy, c-format
+#| msgid "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\""
+msgid "constraint \"%s\" conflicts with NOT ENFORCED constraint on relation \"%s\""
+msgstr "Constraint »%s« kollidiert mit NOT-VALID-Constraint für Relation »%s«"
+
+#: catalog/heap.c:2814
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "Constraint »%s« wird mit geerbter Definition zusammengeführt"
 
-#: catalog/heap.c:2633 catalog/pg_constraint.c:853 commands/tablecmds.c:3074
-#: commands/tablecmds.c:3377 commands/tablecmds.c:7089
-#: commands/tablecmds.c:15907 commands/tablecmds.c:16038
+#: catalog/heap.c:2838 catalog/pg_constraint.c:762 catalog/pg_constraint.c:1113
+#: commands/tablecmds.c:3142 commands/tablecmds.c:3462
+#: commands/tablecmds.c:7193 commands/tablecmds.c:7867
+#: commands/tablecmds.c:16769 commands/tablecmds.c:16951
 #, c-format
 msgid "too many inheritance parents"
 msgstr "zu viele Elterntabellen"
 
-#: catalog/heap.c:2717
+#: catalog/heap.c:2960 parser/parse_utilcmd.c:2649
+#, fuzzy, c-format
+#| msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
+msgid "conflicting NO INHERIT declaration for not-null constraint on column \"%s\""
+msgstr "widersprüchliche NULL/NOT NULL-Deklarationen für Spalte »%s« von Tabelle »%s«"
+
+#: catalog/heap.c:2974
+#, fuzzy, c-format
+#| msgid "cannot alter constraint \"%s\" on relation \"%s\""
+msgid "conflicting not-null constraint names \"%s\" and \"%s\""
+msgstr "Constraint »%s« von Relation »%s« kann nicht geändert werden"
+
+#: catalog/heap.c:3004
+#, c-format
+msgid "cannot define not-null constraint on column \"%s\" with NO INHERIT"
+msgstr ""
+
+#: catalog/heap.c:3006
+#, fuzzy, c-format
+#| msgid "null value in column \"%s\" of relation \"%s\" violates not-null constraint"
+msgid "The column has an inherited not-null constraint."
+msgstr "NULL-Wert in Spalte »%s« von Relation »%s« verletzt Not-Null-Constraint"
+
+#: catalog/heap.c:3196
 #, c-format
 msgid "cannot use generated column \"%s\" in column generation expression"
 msgstr "generierte Spalte »%s« kann nicht im Spaltengenerierungsausdruck verwendet werden"
 
-#: catalog/heap.c:2719
+#: catalog/heap.c:3198
 #, c-format
 msgid "A generated column cannot reference another generated column."
 msgstr "Eine generierte Spalte kann nicht auf eine andere generierte Spalte verweisen."
 
-#: catalog/heap.c:2725
+#: catalog/heap.c:3204
 #, c-format
 msgid "cannot use whole-row variable in column generation expression"
 msgstr "Variable mit Verweis auf die ganze Zeile kann nicht im Spaltengenerierungsausdruck verwendet werden"
 
-#: catalog/heap.c:2726
+#: catalog/heap.c:3205
 #, c-format
 msgid "This would cause the generated column to depend on its own value."
 msgstr "Dadurch würde die generierte Spalte von ihrem eigenen Wert abhängen."
 
-#: catalog/heap.c:2781
+#: catalog/heap.c:3260
 #, c-format
 msgid "generation expression is not immutable"
 msgstr "Generierungsausdruck ist nicht »immutable«"
 
-#: catalog/heap.c:2809 rewrite/rewriteHandler.c:1276
+#: catalog/heap.c:3288 rewrite/rewriteHandler.c:1285
 #, 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:2814 commands/prepare.c:331 parser/analyze.c:2758
-#: parser/parse_target.c:592 parser/parse_target.c:882
-#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1281
+#: catalog/heap.c:3293 commands/prepare.c:333 parser/analyze.c:2952
+#: parser/parse_target.c:595 parser/parse_target.c:885
+#: parser/parse_target.c:895 rewrite/rewriteHandler.c:1290
 #, 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:2861
+#: catalog/heap.c:3340
 #, 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:3167
+#: catalog/heap.c:3646
 #, c-format
 msgid "unsupported ON COMMIT and foreign key combination"
 msgstr "nicht unterstützte Kombination aus ON COMMIT und Fremdschlüssel"
 
-#: catalog/heap.c:3168
+#: catalog/heap.c:3647
 #, 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:3173
+#: catalog/heap.c:3652
 #, 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:3174
+#: catalog/heap.c:3653
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "Tabelle »%s« verweist auf »%s«."
 
-#: catalog/heap.c:3176
+#: catalog/heap.c:3655
 #, 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:219 parser/parse_utilcmd.c:2176
+#: catalog/index.c:220 parser/parse_utilcmd.c:2345
 #, 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:233
+#: catalog/index.c:234
 #, c-format
 msgid "primary keys cannot use NULLS NOT DISTINCT indexes"
 msgstr "Primärschlüssel können keine NULLS-NOT-DISTINCT-Indexe verwenden"
 
-#: catalog/index.c:250
+#: catalog/index.c:251
 #, c-format
 msgid "primary keys cannot be expressions"
 msgstr "Primärschlüssel können keine Ausdrücke sein"
 
-#: catalog/index.c:267
+#: catalog/index.c:268
 #, c-format
 msgid "primary key column \"%s\" is not marked NOT NULL"
 msgstr "Primärschlüsselspalte »%s« ist nicht als NOT NULL markiert"
 
-#: catalog/index.c:798 catalog/index.c:1915
+#: catalog/index.c:800 catalog/index.c:1921
 #, 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:838
+#: catalog/index.c:840
 #, c-format
 msgid "nondeterministic collations are not supported for operator class \"%s\""
 msgstr "nichtdeterministische Sortierfolgen werden von Operatorklasse »%s« nicht unterstützt"
 
-#: catalog/index.c:853
+#: catalog/index.c:855
 #, 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:862 catalog/index.c:1331
+#: catalog/index.c:864 catalog/index.c:1333
 #, c-format
 msgid "concurrent index creation for exclusion constraints is not supported"
 msgstr "nebenläufige Indexerzeugung für Exclusion-Constraints wird nicht unterstützt"
 
-#: catalog/index.c:871
+#: catalog/index.c:873
 #, c-format
 msgid "shared indexes cannot be created after initdb"
 msgstr "Cluster-globale Indexe können nicht nach initdb erzeugt werden"
 
-#: catalog/index.c:891 commands/createas.c:416 commands/sequence.c:159
-#: parser/parse_utilcmd.c:209
+#: catalog/index.c:893 commands/createas.c:422 commands/sequence.c:159
+#: parser/parse_utilcmd.c:210
 #, c-format
 msgid "relation \"%s\" already exists, skipping"
 msgstr "Relation »%s« existiert bereits, wird übersprungen"
 
-#: catalog/index.c:941
+#: catalog/index.c:943
 #, 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:951 utils/cache/relcache.c:3791
+#: catalog/index.c:953 utils/cache/relcache.c:3744
 #, c-format
 msgid "index relfilenumber value not set when in binary upgrade mode"
 msgstr "Index-Relfile-Nummer-Wert ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: catalog/index.c:2214
+#: catalog/index.c:2222
 #, 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:3668
+#: catalog/index.c:3729
 #, c-format
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht reindizieren"
 
-#: catalog/index.c:3679 commands/indexcmds.c:3626
+#: catalog/index.c:3740 commands/indexcmds.c:3763
 #, c-format
 msgid "cannot reindex invalid index on TOAST table"
 msgstr "ungültiger Index einer TOAST-Tabelle kann nicht reindiziert werden"
 
-#: catalog/index.c:3695 commands/indexcmds.c:3504 commands/indexcmds.c:3650
-#: commands/tablecmds.c:3581
+#: catalog/index.c:3756 commands/indexcmds.c:3641 commands/indexcmds.c:3787
+#: commands/tablecmds.c:3666
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "Systemrelation »%s« kann nicht verschoben werden"
 
-#: catalog/index.c:3832
+#: catalog/index.c:3893
 #, c-format
 msgid "index \"%s\" was reindexed"
 msgstr "Index »%s« wurde neu indiziert"
 
-#: catalog/index.c:3998
+#: catalog/index.c:4059
 #, c-format
 msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping"
 msgstr "ungültiger Index »%s.%s« einer TOAST-Tabelle kann nicht reindizert werden, wird übersprungen"
 
 #: catalog/namespace.c:462 catalog/namespace.c:666 catalog/namespace.c:758
-#: commands/trigger.c:5729
+#: commands/trigger.c:5780
 #, c-format
 msgid "cross-database references are not implemented: \"%s.%s.%s\""
 msgstr "Verweise auf andere Datenbanken sind nicht implementiert: »%s.%s.%s«"
@@ -5117,19 +5157,19 @@ msgstr "konnte Sperre für Relation »%s.%s« nicht setzen"
 msgid "could not obtain lock on relation \"%s\""
 msgstr "konnte Sperre für Relation »%s« nicht setzen"
 
-#: catalog/namespace.c:633 parser/parse_relation.c:1430
+#: catalog/namespace.c:633 parser/parse_relation.c:1447
 #, c-format
 msgid "relation \"%s.%s\" does not exist"
 msgstr "Relation »%s.%s« existiert nicht"
 
-#: catalog/namespace.c:638 parser/parse_relation.c:1443
-#: parser/parse_relation.c:1451 utils/adt/regproc.c:913
+#: catalog/namespace.c:638 parser/parse_relation.c:1460
+#: parser/parse_relation.c:1468 utils/adt/regproc.c:913
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "Relation »%s« existiert nicht"
 
-#: catalog/namespace.c:704 catalog/namespace.c:3522 commands/extension.c:1607
-#: commands/extension.c:1613
+#: catalog/namespace.c:704 catalog/namespace.c:3522 commands/extension.c:1720
+#: commands/extension.c:1726
 #, c-format
 msgid "no schema has been selected to create in"
 msgstr "kein Schema für die Objekterzeugung ausgewählt"
@@ -5175,13 +5215,13 @@ msgstr "Textsuchevorlage »%s« existiert nicht"
 msgid "text search configuration \"%s\" does not exist"
 msgstr "Textsuchekonfiguration »%s« existiert nicht"
 
-#: catalog/namespace.c:3329 parser/parse_expr.c:868 parser/parse_target.c:1259
+#: catalog/namespace.c:3329 parser/parse_expr.c:866 parser/parse_target.c:1262
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "Verweise auf andere Datenbanken sind nicht implementiert: %s"
 
-#: catalog/namespace.c:3335 gram.y:19181 gram.y:19221 parser/parse_expr.c:875
-#: parser/parse_target.c:1266
+#: catalog/namespace.c:3335 gram.y:19421 gram.y:19461 parser/parse_expr.c:873
+#: parser/parse_target.c:1269
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "falscher qualifizierter Name (zu viele Namensteile): %s"
@@ -5197,7 +5237,7 @@ 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:3544 commands/schemacmds.c:264 commands/schemacmds.c:344
-#: commands/tablecmds.c:1404 utils/adt/regproc.c:1688
+#: commands/tablecmds.c:1427 utils/adt/regproc.c:1688
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "Schema »%s« existiert nicht"
@@ -5232,243 +5272,248 @@ msgstr "während der Wiederherstellung können keine temporären Tabellen erzeug
 msgid "cannot create temporary tables during a parallel operation"
 msgstr "während einer parallelen Operation können keine temporären Tabellen erzeugt werden"
 
-#: catalog/objectaddress.c:1371 commands/policy.c:93 commands/policy.c:373
-#: commands/tablecmds.c:257 commands/tablecmds.c:299 commands/tablecmds.c:2327
-#: commands/tablecmds.c:12925
+#: catalog/objectaddress.c:1376 commands/policy.c:93 commands/policy.c:373
+#: commands/tablecmds.c:260 commands/tablecmds.c:302 commands/tablecmds.c:2350
+#: commands/tablecmds.c:13748
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "»%s« ist keine Tabelle"
 
-#: catalog/objectaddress.c:1378 commands/tablecmds.c:269
-#: commands/tablecmds.c:17851 commands/view.c:114
+#: catalog/objectaddress.c:1383 commands/tablecmds.c:272
+#: commands/tablecmds.c:18830 commands/view.c:113
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "»%s« ist keine Sicht"
 
-#: catalog/objectaddress.c:1385 commands/matview.c:199 commands/tablecmds.c:275
-#: commands/tablecmds.c:17856
+#: catalog/objectaddress.c:1390 commands/matview.c:201 commands/tablecmds.c:278
+#: commands/tablecmds.c:18835
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "»%s« ist keine materialisierte Sicht"
 
-#: catalog/objectaddress.c:1392 commands/tablecmds.c:293
-#: commands/tablecmds.c:17861
+#: catalog/objectaddress.c:1397 commands/tablecmds.c:296
+#: commands/tablecmds.c:18840
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "»%s« ist keine Fremdtabelle"
 
-#: catalog/objectaddress.c:1433
+#: catalog/objectaddress.c:1438
 #, c-format
 msgid "must specify relation and object name"
 msgstr "Relations- und Objektname müssen angegeben werden"
 
-#: catalog/objectaddress.c:1509 catalog/objectaddress.c:1562
+#: catalog/objectaddress.c:1514 catalog/objectaddress.c:1567
 #, c-format
 msgid "column name must be qualified"
 msgstr "Spaltenname muss qualifiziert werden"
 
-#: catalog/objectaddress.c:1581
+#: catalog/objectaddress.c:1586
 #, 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:1618 commands/functioncmds.c:132
-#: commands/tablecmds.c:285 commands/typecmds.c:278 commands/typecmds.c:3843
+#: catalog/objectaddress.c:1623 commands/functioncmds.c:132
+#: commands/tablecmds.c:288 commands/typecmds.c:278 commands/typecmds.c:3830
 #: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:801
-#: utils/adt/acl.c:4560
+#: utils/adt/acl.c:4558
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "Typ »%s« existiert nicht"
 
-#: catalog/objectaddress.c:1737
+#: catalog/objectaddress.c:1634
+#, c-format
+msgid "\"%s\" is not a domain"
+msgstr "»%s« ist keine Domäne"
+
+#: catalog/objectaddress.c:1742
 #, c-format
 msgid "operator %d (%s, %s) of %s does not exist"
 msgstr "Operator %d (%s, %s) von %s existiert nicht"
 
-#: catalog/objectaddress.c:1768
+#: catalog/objectaddress.c:1773
 #, c-format
 msgid "function %d (%s, %s) of %s does not exist"
 msgstr "Funktion %d (%s, %s) von %s existiert nicht"
 
-#: catalog/objectaddress.c:1819 catalog/objectaddress.c:1845
+#: catalog/objectaddress.c:1824 catalog/objectaddress.c:1850
 #, 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:1834 commands/foreigncmds.c:430
+#: catalog/objectaddress.c:1839 commands/foreigncmds.c:430
 #: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:713
 #, c-format
 msgid "server \"%s\" does not exist"
 msgstr "Server »%s« existiert nicht"
 
-#: catalog/objectaddress.c:1901
+#: catalog/objectaddress.c:1906
 #, c-format
 msgid "publication relation \"%s\" in publication \"%s\" does not exist"
 msgstr "Publikationsrelation »%s« in Publikation »%s« existiert nicht"
 
-#: catalog/objectaddress.c:1948
+#: catalog/objectaddress.c:1953
 #, c-format
 msgid "publication schema \"%s\" in publication \"%s\" does not exist"
 msgstr "Publikationsschema »%s« in Publikation »%s« existiert nicht"
 
-#: catalog/objectaddress.c:2006
+#: catalog/objectaddress.c:2011
 #, c-format
 msgid "unrecognized default ACL object type \"%c\""
 msgstr "unbekannter Standard-ACL-Objekttyp »%c«"
 
-#: catalog/objectaddress.c:2007
+#: catalog/objectaddress.c:2012
 #, c-format
 msgid "Valid object types are \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"."
 msgstr "Gültige Objekttypen sind »%c«, »%c«, »%c«, »%c«, »%c«."
 
-#: catalog/objectaddress.c:2058
+#: catalog/objectaddress.c:2063
 #, 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:2063
+#: catalog/objectaddress.c:2068
 #, 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:2089 catalog/objectaddress.c:2146
-#: catalog/objectaddress.c:2201
+#: catalog/objectaddress.c:2094 catalog/objectaddress.c:2151
+#: catalog/objectaddress.c:2206
 #, c-format
 msgid "name or argument lists may not contain nulls"
 msgstr "Namens- oder Argumentlisten dürfen keine NULL-Werte enthalten"
 
-#: catalog/objectaddress.c:2123
+#: catalog/objectaddress.c:2128
 #, c-format
 msgid "unsupported object type \"%s\""
 msgstr "nicht unterstützter Objekttyp »%s«"
 
-#: catalog/objectaddress.c:2142 catalog/objectaddress.c:2159
-#: catalog/objectaddress.c:2224 catalog/objectaddress.c:2308
+#: catalog/objectaddress.c:2147 catalog/objectaddress.c:2164
+#: catalog/objectaddress.c:2229 catalog/objectaddress.c:2313
 #, c-format
 msgid "name list length must be exactly %d"
 msgstr "Länge der Namensliste muss genau %d sein"
 
-#: catalog/objectaddress.c:2163
+#: catalog/objectaddress.c:2168
 #, c-format
 msgid "large object OID may not be null"
 msgstr "Large-Object-OID darf nicht NULL sein"
 
-#: catalog/objectaddress.c:2172 catalog/objectaddress.c:2242
-#: catalog/objectaddress.c:2249
+#: catalog/objectaddress.c:2177 catalog/objectaddress.c:2247
+#: catalog/objectaddress.c:2254
 #, c-format
 msgid "name list length must be at least %d"
 msgstr "Länge der Namensliste muss mindestens %d sein"
 
-#: catalog/objectaddress.c:2235 catalog/objectaddress.c:2256
+#: catalog/objectaddress.c:2240 catalog/objectaddress.c:2261
 #, c-format
 msgid "argument list length must be exactly %d"
 msgstr "Länge der Argumentliste muss genau %d sein"
 
-#: catalog/objectaddress.c:2470 libpq/be-fsstubs.c:329
+#: catalog/objectaddress.c:2475 libpq/be-fsstubs.c:334
 #, c-format
 msgid "must be owner of large object %u"
 msgstr "Berechtigung nur für Eigentümer des Large Object %u"
 
-#: catalog/objectaddress.c:2485 commands/functioncmds.c:1560
+#: catalog/objectaddress.c:2490 commands/functioncmds.c:1575
 #, 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:2512 catalog/objectaddress.c:2521
-#: catalog/objectaddress.c:2527
+#: catalog/objectaddress.c:2517 catalog/objectaddress.c:2526
+#: catalog/objectaddress.c:2532
 #, c-format
 msgid "permission denied"
 msgstr "keine Berechtigung"
 
-#: catalog/objectaddress.c:2513 catalog/objectaddress.c:2522
+#: catalog/objectaddress.c:2518 catalog/objectaddress.c:2527
 #, c-format
 msgid "The current user must have the %s attribute."
 msgstr "Der aktuelle Benutzer muss das %s-Attribut haben."
 
-#: catalog/objectaddress.c:2528
+#: catalog/objectaddress.c:2533
 #, c-format
 msgid "The current user must have the %s option on role \"%s\"."
 msgstr "Der aktuelle Benutzer muss die %s-Option für Rolle »%s« haben."
 
-#: catalog/objectaddress.c:2542
+#: catalog/objectaddress.c:2547
 #, c-format
 msgid "must be superuser"
 msgstr "Berechtigung nur für Superuser"
 
-#: catalog/objectaddress.c:2611
+#: catalog/objectaddress.c:2616
 #, c-format
 msgid "unrecognized object type \"%s\""
 msgstr "unbekannter Objekttyp »%s«"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:2928
+#: catalog/objectaddress.c:2933
 #, c-format
 msgid "column %s of %s"
 msgstr "Spalte %s von %s"
 
-#: catalog/objectaddress.c:2943
+#: catalog/objectaddress.c:2948
 #, c-format
 msgid "function %s"
 msgstr "Funktion %s"
 
-#: catalog/objectaddress.c:2956
+#: catalog/objectaddress.c:2961
 #, c-format
 msgid "type %s"
 msgstr "Typ %s"
 
-#: catalog/objectaddress.c:2993
+#: catalog/objectaddress.c:2998
 #, c-format
 msgid "cast from %s to %s"
 msgstr "Typumwandlung von %s in %s"
 
-#: catalog/objectaddress.c:3026
+#: catalog/objectaddress.c:3031
 #, c-format
 msgid "collation %s"
 msgstr "Sortierfolge %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3057
+#: catalog/objectaddress.c:3062
 #, c-format
 msgid "constraint %s on %s"
 msgstr "Constraint %s für %s"
 
-#: catalog/objectaddress.c:3063
+#: catalog/objectaddress.c:3068
 #, c-format
 msgid "constraint %s"
 msgstr "Constraint %s"
 
-#: catalog/objectaddress.c:3095
+#: catalog/objectaddress.c:3100
 #, c-format
 msgid "conversion %s"
 msgstr "Konversion %s"
 
 #. translator: %s is typically "column %s of table %s"
-#: catalog/objectaddress.c:3117
+#: catalog/objectaddress.c:3122
 #, c-format
 msgid "default value for %s"
 msgstr "Vorgabewert für %s"
 
-#: catalog/objectaddress.c:3128
+#: catalog/objectaddress.c:3133
 #, c-format
 msgid "language %s"
 msgstr "Sprache %s"
 
-#: catalog/objectaddress.c:3136
+#: catalog/objectaddress.c:3141
 #, c-format
 msgid "large object %u"
 msgstr "Large Object %u"
 
-#: catalog/objectaddress.c:3149
+#: catalog/objectaddress.c:3154
 #, c-format
 msgid "operator %s"
 msgstr "Operator %s"
 
-#: catalog/objectaddress.c:3186
+#: catalog/objectaddress.c:3191
 #, c-format
 msgid "operator class %s for access method %s"
 msgstr "Operatorklasse %s für Zugriffsmethode %s"
 
-#: catalog/objectaddress.c:3214
+#: catalog/objectaddress.c:3219
 #, c-format
 msgid "access method %s"
 msgstr "Zugriffsmethode %s"
@@ -5477,7 +5522,7 @@ msgstr "Zugriffsmethode %s"
 #. first two %s's are data type names, the third %s is the
 #. description of the operator family, and the last %s is the
 #. textual form of the operator with arguments.
-#: catalog/objectaddress.c:3269
+#: catalog/objectaddress.c:3274
 #, c-format
 msgid "operator %d (%s, %s) of %s: %s"
 msgstr "Operator %d (%s, %s) von %s: %s"
@@ -5486,236 +5531,236 @@ 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:3334
+#: catalog/objectaddress.c:3339
 #, c-format
 msgid "function %d (%s, %s) of %s: %s"
 msgstr "Funktion %d (%s, %s) von %s: %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3388
+#: catalog/objectaddress.c:3393
 #, c-format
 msgid "rule %s on %s"
 msgstr "Regel %s für %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3434
+#: catalog/objectaddress.c:3439
 #, c-format
 msgid "trigger %s on %s"
 msgstr "Trigger %s für %s"
 
-#: catalog/objectaddress.c:3454
+#: catalog/objectaddress.c:3459
 #, c-format
 msgid "schema %s"
 msgstr "Schema %s"
 
-#: catalog/objectaddress.c:3482
+#: catalog/objectaddress.c:3487
 #, c-format
 msgid "statistics object %s"
 msgstr "Statistikobjekt %s"
 
-#: catalog/objectaddress.c:3513
+#: catalog/objectaddress.c:3518
 #, c-format
 msgid "text search parser %s"
 msgstr "Textsucheparser %s"
 
-#: catalog/objectaddress.c:3544
+#: catalog/objectaddress.c:3549
 #, c-format
 msgid "text search dictionary %s"
 msgstr "Textsuchewörterbuch %s"
 
-#: catalog/objectaddress.c:3575
+#: catalog/objectaddress.c:3580
 #, c-format
 msgid "text search template %s"
 msgstr "Textsuchevorlage %s"
 
-#: catalog/objectaddress.c:3606
+#: catalog/objectaddress.c:3611
 #, c-format
 msgid "text search configuration %s"
 msgstr "Textsuchekonfiguration %s"
 
-#: catalog/objectaddress.c:3619
+#: catalog/objectaddress.c:3624
 #, c-format
 msgid "role %s"
 msgstr "Rolle %s"
 
-#: catalog/objectaddress.c:3656 catalog/objectaddress.c:5505
+#: catalog/objectaddress.c:3661 catalog/objectaddress.c:5579
 #, c-format
 msgid "membership of role %s in role %s"
 msgstr "Mitgliedschaft von Rolle %s in Rolle %s"
 
-#: catalog/objectaddress.c:3677
+#: catalog/objectaddress.c:3682
 #, c-format
 msgid "database %s"
 msgstr "Datenbank %s"
 
-#: catalog/objectaddress.c:3693
+#: catalog/objectaddress.c:3698
 #, c-format
 msgid "tablespace %s"
 msgstr "Tablespace %s"
 
-#: catalog/objectaddress.c:3704
+#: catalog/objectaddress.c:3709
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "Fremddaten-Wrapper %s"
 
-#: catalog/objectaddress.c:3714
+#: catalog/objectaddress.c:3719
 #, c-format
 msgid "server %s"
 msgstr "Server %s"
 
-#: catalog/objectaddress.c:3747
+#: catalog/objectaddress.c:3752
 #, c-format
 msgid "user mapping for %s on server %s"
 msgstr "Benutzerabbildung für %s auf Server %s"
 
-#: catalog/objectaddress.c:3799
+#: catalog/objectaddress.c:3804
 #, c-format
 msgid "default privileges on new relations belonging to role %s in schema %s"
 msgstr "Vorgabeprivilegien für neue Relationen von Rolle %s in Schema %s"
 
-#: catalog/objectaddress.c:3803
+#: catalog/objectaddress.c:3808
 #, c-format
 msgid "default privileges on new relations belonging to role %s"
 msgstr "Vorgabeprivilegien für neue Relationen von Rolle %s"
 
-#: catalog/objectaddress.c:3809
+#: catalog/objectaddress.c:3814
 #, c-format
 msgid "default privileges on new sequences belonging to role %s in schema %s"
 msgstr "Vorgabeprivilegien für neue Sequenzen von Rolle %s in Schema %s"
 
-#: catalog/objectaddress.c:3813
+#: catalog/objectaddress.c:3818
 #, c-format
 msgid "default privileges on new sequences belonging to role %s"
 msgstr "Vorgabeprivilegien für neue Sequenzen von Rolle %s"
 
-#: catalog/objectaddress.c:3819
+#: catalog/objectaddress.c:3824
 #, c-format
 msgid "default privileges on new functions belonging to role %s in schema %s"
 msgstr "Vorgabeprivilegien für neue Funktionen von Rolle %s in Schema %s"
 
-#: catalog/objectaddress.c:3823
+#: catalog/objectaddress.c:3828
 #, c-format
 msgid "default privileges on new functions belonging to role %s"
 msgstr "Vorgabeprivilegien für neue Funktionen von Rolle %s"
 
-#: catalog/objectaddress.c:3829
+#: catalog/objectaddress.c:3834
 #, c-format
 msgid "default privileges on new types belonging to role %s in schema %s"
 msgstr "Vorgabeprivilegien für neue Typen von Rolle %s in Schema %s"
 
-#: catalog/objectaddress.c:3833
+#: catalog/objectaddress.c:3838
 #, c-format
 msgid "default privileges on new types belonging to role %s"
 msgstr "Vorgabeprivilegien für neue Typen von Rolle %s"
 
-#: catalog/objectaddress.c:3839
+#: catalog/objectaddress.c:3844
 #, c-format
 msgid "default privileges on new schemas belonging to role %s"
 msgstr "Vorgabeprivilegien für neue Schemas von Rolle %s"
 
-#: catalog/objectaddress.c:3846
+#: catalog/objectaddress.c:3851
 #, c-format
 msgid "default privileges belonging to role %s in schema %s"
 msgstr "Vorgabeprivilegien von Rolle %s in Schema %s"
 
-#: catalog/objectaddress.c:3850
+#: catalog/objectaddress.c:3855
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "Vorgabeprivilegien von Rolle %s"
 
-#: catalog/objectaddress.c:3872
+#: catalog/objectaddress.c:3877
 #, c-format
 msgid "extension %s"
 msgstr "Erweiterung %s"
 
-#: catalog/objectaddress.c:3889
+#: catalog/objectaddress.c:3894
 #, c-format
 msgid "event trigger %s"
 msgstr "Ereignistrigger %s"
 
-#: catalog/objectaddress.c:3913
+#: catalog/objectaddress.c:3918
 #, c-format
 msgid "parameter %s"
 msgstr "Parameter %s"
 
 #. translator: second %s is, e.g., "table %s"
-#: catalog/objectaddress.c:3956
+#: catalog/objectaddress.c:3961
 #, c-format
 msgid "policy %s on %s"
 msgstr "Policy %s für %s"
 
-#: catalog/objectaddress.c:3970
+#: catalog/objectaddress.c:3975
 #, c-format
 msgid "publication %s"
 msgstr "Publikation %s"
 
-#: catalog/objectaddress.c:3983
+#: catalog/objectaddress.c:3988
 #, c-format
 msgid "publication of schema %s in publication %s"
 msgstr "Publikation von Schema %s in Publikation %s"
 
 #. translator: first %s is, e.g., "table %s"
-#: catalog/objectaddress.c:4014
+#: catalog/objectaddress.c:4019
 #, c-format
 msgid "publication of %s in publication %s"
 msgstr "Publikation von %s in Publikation %s"
 
-#: catalog/objectaddress.c:4027
+#: catalog/objectaddress.c:4032
 #, c-format
 msgid "subscription %s"
 msgstr "Subskription %s"
 
-#: catalog/objectaddress.c:4048
+#: catalog/objectaddress.c:4053
 #, c-format
 msgid "transform for %s language %s"
 msgstr "Transformation %s für Sprache %s"
 
-#: catalog/objectaddress.c:4117
+#: catalog/objectaddress.c:4122
 #, c-format
 msgid "table %s"
 msgstr "Tabelle %s"
 
-#: catalog/objectaddress.c:4122
+#: catalog/objectaddress.c:4127
 #, c-format
 msgid "index %s"
 msgstr "Index %s"
 
-#: catalog/objectaddress.c:4126
+#: catalog/objectaddress.c:4131
 #, c-format
 msgid "sequence %s"
 msgstr "Sequenz %s"
 
-#: catalog/objectaddress.c:4130
+#: catalog/objectaddress.c:4135
 #, c-format
 msgid "toast table %s"
 msgstr "TOAST-Tabelle %s"
 
-#: catalog/objectaddress.c:4134
+#: catalog/objectaddress.c:4139
 #, c-format
 msgid "view %s"
 msgstr "Sicht %s"
 
-#: catalog/objectaddress.c:4138
+#: catalog/objectaddress.c:4143
 #, c-format
 msgid "materialized view %s"
 msgstr "materialisierte Sicht %s"
 
-#: catalog/objectaddress.c:4142
+#: catalog/objectaddress.c:4147
 #, c-format
 msgid "composite type %s"
 msgstr "zusammengesetzter Typ %s"
 
-#: catalog/objectaddress.c:4146
+#: catalog/objectaddress.c:4151
 #, c-format
 msgid "foreign table %s"
 msgstr "Fremdtabelle %s"
 
-#: catalog/objectaddress.c:4151
+#: catalog/objectaddress.c:4156
 #, c-format
 msgid "relation %s"
 msgstr "Relation %s"
 
-#: catalog/objectaddress.c:4192
+#: catalog/objectaddress.c:4197
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "Operatorfamilie %s für Zugriffsmethode %s"
@@ -5757,7 +5802,7 @@ msgstr "Anfangswert darf nicht ausgelassen werden, wenn Übergangsfunktion strik
 msgid "return type of inverse transition function %s is not %s"
 msgstr "Rückgabetyp der inversen Übergangsfunktion %s ist nicht %s"
 
-#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:2991
+#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:3057
 #, 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"
@@ -5772,7 +5817,7 @@ msgstr "Abschlussfunktion mit zusätzlichen Argumenten darf nicht als STRICT dek
 msgid "return type of combine function %s is not %s"
 msgstr "Rückgabetyp der Kombinierfunktion %s ist nicht %s"
 
-#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3902
+#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3942
 #, c-format
 msgid "combine function with transition type %s must not be declared STRICT"
 msgstr "Kombinierfunktion mit Übergangstyp %s darf nicht als STRICT deklariert sein"
@@ -5832,11 +5877,11 @@ msgstr "»%s« ist eine Hypothetical-Set-Aggregatfunktion."
 msgid "cannot change number of direct arguments of an aggregate function"
 msgstr "die Anzahl direkter Argumente einer Aggregatfunktion kann nicht geändert werden"
 
-#: catalog/pg_aggregate.c:858 commands/functioncmds.c:686
-#: commands/typecmds.c:1985 commands/typecmds.c:2031 commands/typecmds.c:2083
-#: commands/typecmds.c:2120 commands/typecmds.c:2154 commands/typecmds.c:2188
-#: commands/typecmds.c:2222 commands/typecmds.c:2251 commands/typecmds.c:2338
-#: commands/typecmds.c:2380 parser/parse_func.c:417 parser/parse_func.c:448
+#: catalog/pg_aggregate.c:858 commands/functioncmds.c:701
+#: commands/typecmds.c:2011 commands/typecmds.c:2057 commands/typecmds.c:2109
+#: commands/typecmds.c:2146 commands/typecmds.c:2180 commands/typecmds.c:2214
+#: commands/typecmds.c:2248 commands/typecmds.c:2277 commands/typecmds.c:2364
+#: commands/typecmds.c:2406 parser/parse_func.c:417 parser/parse_func.c:448
 #: parser/parse_func.c:475 parser/parse_func.c:489 parser/parse_func.c:611
 #: parser/parse_func.c:631 parser/parse_func.c:2172 parser/parse_func.c:2445
 #, c-format
@@ -5933,21 +5978,37 @@ msgstr "Sortierfolge »%s« existiert bereits"
 msgid "collation \"%s\" for encoding \"%s\" already exists"
 msgstr "Sortierfolge »%s« für Kodierung »%s« existiert bereits"
 
-#: catalog/pg_constraint.c:732
+#: catalog/pg_constraint.c:753 commands/tablecmds.c:7852
+#, fuzzy, c-format
+#| msgid "cannot alter constraint \"%s\" on relation \"%s\""
+msgid "cannot change NO INHERIT status of NOT NULL constraint \"%s\" on relation \"%s\""
+msgstr "Constraint »%s« von Relation »%s« kann nicht geändert werden"
+
+#: catalog/pg_constraint.c:992
 #, c-format
 msgid "constraint \"%s\" for domain %s already exists"
 msgstr "Constraint »%s« für Domäne %s existiert bereits"
 
-#: catalog/pg_constraint.c:932 catalog/pg_constraint.c:1025
+#: catalog/pg_constraint.c:1193 catalog/pg_constraint.c:1286
 #, c-format
 msgid "constraint \"%s\" for table \"%s\" does not exist"
 msgstr "Constraint »%s« für Tabelle »%s« existiert nicht"
 
-#: catalog/pg_constraint.c:1125
+#: catalog/pg_constraint.c:1386
 #, c-format
 msgid "constraint \"%s\" for domain %s does not exist"
 msgstr "Constraint »%s« für Domäne %s existiert nicht"
 
+#: catalog/pg_constraint.c:1640
+#, c-format
+msgid "invalid type for PERIOD part of foreign key"
+msgstr ""
+
+#: catalog/pg_constraint.c:1641
+#, c-format
+msgid "Only range and multirange are supported."
+msgstr ""
+
 #: catalog/pg_conversion.c:64
 #, c-format
 msgid "conversion \"%s\" already exists"
@@ -5958,27 +6019,27 @@ msgstr "Konversion »%s« existiert bereits"
 msgid "default conversion for %s to %s already exists"
 msgstr "Standardumwandlung von %s nach %s existiert bereits"
 
-#: catalog/pg_depend.c:224 commands/extension.c:3397
+#: catalog/pg_depend.c:223 commands/extension.c:3510
 #, c-format
 msgid "%s is already a member of extension \"%s\""
 msgstr "%s ist schon Mitglied der Erweiterung »%s«"
 
-#: catalog/pg_depend.c:231 catalog/pg_depend.c:282 commands/extension.c:3437
+#: catalog/pg_depend.c:230 catalog/pg_depend.c:281 commands/extension.c:3550
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s ist kein Mitglied der Erweiterung »%s«"
 
-#: catalog/pg_depend.c:234
+#: catalog/pg_depend.c:233
 #, c-format
 msgid "An extension is not allowed to replace an object that it does not own."
 msgstr "Eine Erweiterung darf kein Objekt ersetzen, das ihr nicht gehört."
 
-#: catalog/pg_depend.c:285
+#: catalog/pg_depend.c:284
 #, c-format
 msgid "An extension may only use CREATE ... IF NOT EXISTS to skip object creation if the conflicting object is one that it already owns."
 msgstr "Eine Erweiterung darf CREATE .. IF NOT EXISTS zum Überspringen der Erzeugung eines Objekts nur verwenden, wenn ihr das vorhandene Objekt schon gehört."
 
-#: catalog/pg_depend.c:648
+#: catalog/pg_depend.c:647
 #, c-format
 msgid "cannot remove dependency on %s because it is a system object"
 msgstr "kann Abhängigkeit von %s nicht entfernen, weil es ein Systemobjekt ist"
@@ -6028,8 +6089,8 @@ msgstr "Partition »%s« kann nicht abgetrennt werden"
 msgid "The partition is being detached concurrently or has an unfinished detach."
 msgstr "Die Partition wird nebenläufig abgetrennt oder hat eine unfertige Abtrennoperation."
 
-#: catalog/pg_inherits.c:595 commands/tablecmds.c:4800
-#: commands/tablecmds.c:16153
+#: catalog/pg_inherits.c:595 commands/tablecmds.c:4879
+#: commands/tablecmds.c:17077
 #, c-format
 msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation."
 msgstr "Verwendet Sie ALTER TABLE ... DETACH PARTITION ... FINALIZE, um die unerledigte Abtrennoperation abzuschließen."
@@ -6221,68 +6282,69 @@ msgstr "SQL-Funktionen können keinen Rückgabetyp »%s« haben"
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "SQL-Funktionen können keine Argumente vom Typ »%s« haben"
 
-#: catalog/pg_proc.c:986 executor/functions.c:1468
+#: catalog/pg_proc.c:986 executor/functions.c:1470
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "SQL-Funktion »%s«"
 
-#: catalog/pg_publication.c:66 catalog/pg_publication.c:74
-#: catalog/pg_publication.c:82 catalog/pg_publication.c:88
+#: catalog/pg_publication.c:63 catalog/pg_publication.c:71
+#: catalog/pg_publication.c:79 catalog/pg_publication.c:85
 #, c-format
 msgid "cannot add relation \"%s\" to publication"
 msgstr "Relation »%s« kann nicht zu Publikation hinzugefügt werden"
 
-#: catalog/pg_publication.c:76
+#: catalog/pg_publication.c:73
 #, c-format
 msgid "This operation is not supported for system tables."
 msgstr "Diese Operation wird für Systemtabellen nicht unterstützt."
 
-#: catalog/pg_publication.c:84
+#: catalog/pg_publication.c:81
 #, c-format
 msgid "This operation is not supported for temporary tables."
 msgstr "Diese Operation wird für temporäre Tabellen nicht unterstützt."
 
-#: catalog/pg_publication.c:90
+#: catalog/pg_publication.c:87
 #, c-format
 msgid "This operation is not supported for unlogged tables."
 msgstr "Diese Operation wird für ungeloggte Tabellen nicht unterstützt."
 
-#: catalog/pg_publication.c:104 catalog/pg_publication.c:112
+#: catalog/pg_publication.c:101 catalog/pg_publication.c:109
 #, c-format
 msgid "cannot add schema \"%s\" to publication"
 msgstr "Schema »%s« kann nicht zu Publikation hinzugefügt werden"
 
-#: catalog/pg_publication.c:106
+#: catalog/pg_publication.c:103
 #, c-format
 msgid "This operation is not supported for system schemas."
 msgstr "Diese Operation wird für Systemschemas nicht unterstützt."
 
-#: catalog/pg_publication.c:114
+#: catalog/pg_publication.c:111
 #, c-format
 msgid "Temporary schemas cannot be replicated."
 msgstr "Temporäre Schemas können nicht repliziert werden."
 
-#: catalog/pg_publication.c:392
+#: catalog/pg_publication.c:462
 #, c-format
 msgid "relation \"%s\" is already member of publication \"%s\""
 msgstr "Relation »%s« ist schon Mitglied der Publikation »%s«"
 
-#: catalog/pg_publication.c:534
+#: catalog/pg_publication.c:576
 #, c-format
 msgid "cannot use system column \"%s\" in publication column list"
 msgstr "Systemspalte »%s« kann nicht in der Publikationspaltenliste verwendet werden"
 
-#: catalog/pg_publication.c:540
-#, c-format
-msgid "cannot use generated column \"%s\" in publication column list"
+#: catalog/pg_publication.c:582
+#, fuzzy, c-format
+#| msgid "cannot use generated column \"%s\" in publication column list"
+msgid "cannot use virtual generated column \"%s\" in publication column list"
 msgstr "generierte Spalte »%s« kann nicht in der Publikationsspaltenliste verwendet werden"
 
-#: catalog/pg_publication.c:546
+#: catalog/pg_publication.c:588
 #, c-format
 msgid "duplicate column \"%s\" in publication column list"
 msgstr "doppelte Spalte »%s« in Publikationsspaltenliste"
 
-#: catalog/pg_publication.c:636
+#: catalog/pg_publication.c:700
 #, c-format
 msgid "schema \"%s\" is already member of publication \"%s\""
 msgstr "Schema »%s« ist schon Mitglied der Publikation »%s«"
@@ -6360,12 +6422,12 @@ msgstr "kann Objekte, die %s gehören, nicht löschen, weil sie vom Datenbanksys
 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:438
+#: catalog/pg_subscription.c:469
 #, c-format
 msgid "could not drop relation mapping for subscription \"%s\""
 msgstr "konnte Relation-Mapping für Subskription »%s« nicht löschen"
 
-#: catalog/pg_subscription.c:440
+#: catalog/pg_subscription.c:471
 #, c-format
 msgid "Table synchronization for relation \"%s\" is in progress and is in state \"%c\"."
 msgstr "Tabellensynchronisierung für Relation »%s« ist im Gang und hat Status »%c«."
@@ -6373,7 +6435,7 @@ msgstr "Tabellensynchronisierung für Relation »%s« ist im Gang und hat Status
 #. translator: first %s is a SQL ALTER command and second %s is a
 #. SQL DROP command
 #.
-#: catalog/pg_subscription.c:447
+#: catalog/pg_subscription.c:478
 #, c-format
 msgid "Use %s to enable subscription if not already enabled or use %s to drop the subscription."
 msgstr "Verwenden Sie %s um die Subskription zu aktivieren, falls noch nicht aktiviert, oder %s um die Subskription zu löschen."
@@ -6404,7 +6466,7 @@ msgstr "interne Größe %d ist ungültig für Typen mit Wertübergabe"
 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:325 commands/typecmds.c:4363
+#: catalog/pg_type.c:325 commands/typecmds.c:4350
 #, c-format
 msgid "fixed-size types must have storage PLAIN"
 msgstr "Typen mit fester Größe müssen Storage-Typ PLAIN haben"
@@ -6419,7 +6481,7 @@ msgstr "Fehler während der Erzeugung eines Multirange-Typs für Typ »%s«."
 msgid "You can manually specify a multirange type name using the \"multirange_type_name\" attribute."
 msgstr "Sie können einen Multirange-Typnamen manuell angeben, mit dem Attribut »multirange_type_name«."
 
-#: catalog/storage.c:533 storage/buffer/bufmgr.c:1540
+#: catalog/storage.c:533 storage/buffer/bufmgr.c:1550
 #, c-format
 msgid "invalid page in block %u of relation %s"
 msgstr "ungültige Seite in Block %u von Relation %s"
@@ -6504,7 +6566,7 @@ msgstr "Serialisierungsfunktionen dürfen nur angegeben werden, wenn der Überga
 msgid "must specify both or neither of serialization and deserialization functions"
 msgstr "Serialisierungs- und Deserialisierungsfunktionen müssen zusammen angegeben werden"
 
-#: commands/aggregatecmds.c:434 commands/functioncmds.c:634
+#: commands/aggregatecmds.c:434 commands/functioncmds.c:649
 #, c-format
 msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE"
 msgstr "Parameter »parallel« muss SAFE, RESTRICTED oder UNSAFE sein"
@@ -6534,12 +6596,12 @@ msgstr "Server »%s« existiert bereits"
 msgid "language \"%s\" already exists"
 msgstr "Sprache »%s« existiert bereits"
 
-#: commands/alter.c:95 commands/publicationcmds.c:764
+#: commands/alter.c:95 commands/publicationcmds.c:826
 #, c-format
 msgid "publication \"%s\" already exists"
 msgstr "Publikation »%s« existiert bereits"
 
-#: commands/alter.c:98 commands/subscriptioncmds.c:669
+#: commands/alter.c:98 commands/subscriptioncmds.c:629
 #, c-format
 msgid "subscription \"%s\" already exists"
 msgstr "Subskription »%s« existiert bereits"
@@ -6579,21 +6641,21 @@ msgstr "Textsuchekonfiguration »%s« existiert bereits in Schema »%s«"
 msgid "must be superuser to rename %s"
 msgstr "nur Superuser können %s umbenennen"
 
-#: commands/alter.c:256 commands/subscriptioncmds.c:648
-#: commands/subscriptioncmds.c:1129 commands/subscriptioncmds.c:1212
-#: commands/subscriptioncmds.c:1918
+#: commands/alter.c:256 commands/subscriptioncmds.c:608
+#: commands/subscriptioncmds.c:1147 commands/subscriptioncmds.c:1231
+#: commands/subscriptioncmds.c:1989
 #, c-format
 msgid "password_required=false is superuser-only"
 msgstr "password_required=false ist nur für Superuser"
 
-#: commands/alter.c:257 commands/subscriptioncmds.c:649
-#: commands/subscriptioncmds.c:1130 commands/subscriptioncmds.c:1213
-#: commands/subscriptioncmds.c:1919
+#: commands/alter.c:257 commands/subscriptioncmds.c:609
+#: commands/subscriptioncmds.c:1148 commands/subscriptioncmds.c:1232
+#: commands/subscriptioncmds.c:1990
 #, c-format
 msgid "Subscriptions with the password_required option set to false may only be created or modified by the superuser."
 msgstr "Subskriptionen mit der Option password_required auf falsch gesetzt können nur vom Superuser erzeugt oder geändert werden."
 
-#: commands/alter.c:735
+#: commands/alter.c:730
 #, c-format
 msgid "must be superuser to set schema of %s"
 msgstr "nur Superuser können Schema von %s setzen"
@@ -6613,7 +6675,7 @@ msgstr "Nur Superuser können Zugriffsmethoden anlegen."
 msgid "access method \"%s\" already exists"
 msgstr "Zugriffsmethode »%s« existiert bereits"
 
-#: commands/amcmds.c:154 commands/indexcmds.c:224 commands/indexcmds.c:850
+#: commands/amcmds.c:154 commands/indexcmds.c:226 commands/indexcmds.c:859
 #: commands/opclasscmds.c:375 commands/opclasscmds.c:833
 #, c-format
 msgid "access method \"%s\" does not exist"
@@ -6625,53 +6687,59 @@ msgid "handler function is not specified"
 msgstr "keine Handler-Funktion angegeben"
 
 #: commands/amcmds.c:264 commands/event_trigger.c:200
-#: commands/foreigncmds.c:489 commands/proclang.c:78 commands/trigger.c:702
-#: parser/parse_clause.c:943
+#: commands/foreigncmds.c:489 commands/proclang.c:78 commands/trigger.c:705
+#: parser/parse_clause.c:941
 #, c-format
 msgid "function %s must return type %s"
 msgstr "Funktion %s muss Rückgabetyp %s haben"
 
-#: commands/analyze.c:217
+#: commands/analyze.c:215
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze this foreign table"
 msgstr "überspringe »%s« --- kann diese Fremdtabelle nicht analysieren"
 
-#: commands/analyze.c:234
+#: commands/analyze.c:232
 #, 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:314
+#: commands/analyze.c:317
 #, c-format
 msgid "analyzing \"%s.%s\" inheritance tree"
 msgstr "analysiere Vererbungsbaum von »%s.%s«"
 
-#: commands/analyze.c:319
+#: commands/analyze.c:322
 #, c-format
 msgid "analyzing \"%s.%s\""
 msgstr "analysiere »%s.%s«"
 
-#: commands/analyze.c:385
+#: commands/analyze.c:393
 #, c-format
 msgid "column \"%s\" of relation \"%s\" appears more than once"
 msgstr "Spalte »%s« von Relation »%s« erscheint mehrmals"
 
-#: commands/analyze.c:785
+#: commands/analyze.c:803
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\"\n"
 msgstr "automatisches Analysieren der Tabelle »%s.%s.%s«\n"
 
-#: commands/analyze.c:1300
+#: commands/analyze.c:805
+#, fuzzy, c-format
+#| msgid "heap table \"%s.%s.%s\":\n"
+msgid "finished analyzing table \"%s.%s.%s\"\n"
+msgstr "Heap-Tabelle »%s.%s.%s«:\n"
+
+#: commands/analyze.c:1341
 #, 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:1384
+#: commands/analyze.c:1425
 #, 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:1482
+#: commands/analyze.c:1523
 #, 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"
@@ -6716,82 +6784,82 @@ msgstr "Der Serverprozess mit PID %d gehört zu denen mit den ältesten Transakt
 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:128
+#: commands/cluster.c:127
 #, c-format
 msgid "unrecognized CLUSTER option \"%s\""
 msgstr "unbekannte CLUSTER-Option »%s«"
 
-#: commands/cluster.c:159 commands/cluster.c:433
+#: commands/cluster.c:158 commands/cluster.c:421
 #, c-format
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht clustern"
 
-#: commands/cluster.c:177
+#: commands/cluster.c:176
 #, c-format
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "es gibt keinen bereits geclusterten Index für Tabelle »%s«"
 
-#: commands/cluster.c:191 commands/tablecmds.c:14797 commands/tablecmds.c:16729
+#: commands/cluster.c:190 commands/tablecmds.c:15637 commands/tablecmds.c:17699
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "Index »%s« für Tabelle »%s« existiert nicht"
 
-#: commands/cluster.c:422
+#: commands/cluster.c:410
 #, c-format
 msgid "cannot cluster a shared catalog"
 msgstr "globaler Katalog kann nicht geclustert werden"
 
-#: commands/cluster.c:437
+#: commands/cluster.c:425
 #, c-format
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "temporäre Tabellen anderer Sitzungen können nicht gevacuumt werden"
 
-#: commands/cluster.c:513 commands/tablecmds.c:16739
+#: commands/cluster.c:507 commands/tablecmds.c:17709
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "»%s« ist kein Index für Tabelle »%s«"
 
-#: commands/cluster.c:521
+#: commands/cluster.c:515
 #, 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:533
+#: commands/cluster.c:527
 #, c-format
 msgid "cannot cluster on partial index \"%s\""
 msgstr "kann nicht anhand des partiellen Index »%s« clustern"
 
-#: commands/cluster.c:547
+#: commands/cluster.c:541
 #, c-format
 msgid "cannot cluster on invalid index \"%s\""
 msgstr "kann nicht anhand des ungültigen Index »%s« clustern"
 
-#: commands/cluster.c:571
+#: commands/cluster.c:565
 #, c-format
 msgid "cannot mark index clustered in partitioned table"
 msgstr "ein Index kann nicht als anhand einer partitionierten Tabelle geclustert markiert werden"
 
-#: commands/cluster.c:956
+#: commands/cluster.c:961
 #, c-format
 msgid "clustering \"%s.%s\" using index scan on \"%s\""
 msgstr "clustere »%s.%s« durch Index-Scan von »%s«"
 
-#: commands/cluster.c:962
+#: commands/cluster.c:967
 #, c-format
 msgid "clustering \"%s.%s\" using sequential scan and sort"
 msgstr "clustere »%s.%s« durch sequenziellen Scan und Sortieren"
 
-#: commands/cluster.c:967
+#: commands/cluster.c:972
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "Vacuum von »%s.%s«"
 
-#: commands/cluster.c:994
+#: commands/cluster.c:999
 #, c-format
 msgid "\"%s.%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
 msgstr "»%s.%s«: %.0f entfernbare, %.0f nicht entfernbare Zeilenversionen in %u Seiten gefunden"
 
-#: commands/cluster.c:999
+#: commands/cluster.c:1004
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -6800,7 +6868,7 @@ msgstr ""
 "%.0f tote Zeilenversionen können noch nicht entfernt werden.\n"
 "%s."
 
-#: commands/cluster.c:1744
+#: commands/cluster.c:1751
 #, c-format
 msgid "permission denied to cluster \"%s\", skipping it"
 msgstr "keine Berechtigung für Clustern von »%s«, wird übersprungen"
@@ -6811,13 +6879,14 @@ msgid "collation attribute \"%s\" not recognized"
 msgstr "Attribut »%s« für Sortierfolge unbekannt"
 
 #: commands/collationcmds.c:123 commands/collationcmds.c:129
-#: commands/define.c:388 commands/tablecmds.c:8129
-#: replication/pgoutput/pgoutput.c:314 replication/pgoutput/pgoutput.c:337
-#: replication/pgoutput/pgoutput.c:351 replication/pgoutput/pgoutput.c:361
-#: replication/pgoutput/pgoutput.c:371 replication/pgoutput/pgoutput.c:381
-#: replication/pgoutput/pgoutput.c:393 replication/walsender.c:1146
-#: replication/walsender.c:1168 replication/walsender.c:1178
-#: replication/walsender.c:1187 replication/walsender.c:1426
+#: commands/define.c:375 commands/tablecmds.c:8260
+#: replication/pgoutput/pgoutput.c:317 replication/pgoutput/pgoutput.c:340
+#: replication/pgoutput/pgoutput.c:354 replication/pgoutput/pgoutput.c:364
+#: replication/pgoutput/pgoutput.c:374 replication/pgoutput/pgoutput.c:384
+#: replication/pgoutput/pgoutput.c:396 replication/walsender.c:1117
+#: replication/walsender.c:1139 replication/walsender.c:1149
+#: replication/walsender.c:1158 replication/walsender.c:1400
+#: replication/walsender.c:1409
 #, c-format
 msgid "conflicting or redundant options"
 msgstr "widersprüchliche oder überflüssige Optionen"
@@ -6848,7 +6917,7 @@ msgstr "unbekannter Sortierfolgen-Provider: %s"
 msgid "parameter \"%s\" must be specified"
 msgstr "Parameter »%s« muss angegeben werden"
 
-#: commands/collationcmds.c:293 commands/dbcommands.c:1134
+#: commands/collationcmds.c:293 commands/dbcommands.c:1147
 #, c-format
 msgid "using standard form \"%s\" for ICU locale \"%s\""
 msgstr "verwende Standardform »%s« für ICU-Locale »%s«"
@@ -6858,7 +6927,7 @@ msgstr "verwende Standardform »%s« für ICU-Locale »%s«"
 msgid "nondeterministic collations not supported with this provider"
 msgstr "nichtdeterministische Sortierfolgen werden von diesem Provider nicht unterstützt"
 
-#: commands/collationcmds.c:317 commands/dbcommands.c:1087
+#: commands/collationcmds.c:317 commands/dbcommands.c:1100
 #, c-format
 msgid "ICU rules cannot be specified unless locale provider is ICU"
 msgstr "ICU-Regeln können nur angegeben werden, wenn der Locale-Provider ICU ist"
@@ -6868,68 +6937,69 @@ msgstr "ICU-Regeln können nur angegeben werden, wenn der Locale-Provider ICU is
 msgid "current database's encoding is not supported with this provider"
 msgstr "Kodierung der aktuellen Datenbank wird von diesem Provider nicht unterstützt"
 
-#: commands/collationcmds.c:409
+#: commands/collationcmds.c:405
 #, 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:420
+#: commands/collationcmds.c:416
 #, c-format
 msgid "collation \"%s\" already exists in schema \"%s\""
 msgstr "Sortierfolge »%s« existiert bereits in Schema »%s«"
 
-#: commands/collationcmds.c:445
+#: commands/collationcmds.c:441
 #, c-format
 msgid "cannot refresh version of default collation"
 msgstr "Version der Standardsortierfolge kann nicht aufgefrischt werden"
 
 #. translator: %s is an SQL command
 #. translator: %s is an SQL ALTER command
-#: commands/collationcmds.c:447 commands/subscriptioncmds.c:1376
-#: commands/tablecmds.c:7905 commands/tablecmds.c:7915
-#: commands/tablecmds.c:7917 commands/tablecmds.c:14499
-#: commands/tablecmds.c:17884 commands/tablecmds.c:17905
-#: commands/typecmds.c:3787 commands/typecmds.c:3872 commands/typecmds.c:4226
+#: commands/collationcmds.c:443 commands/subscriptioncmds.c:1445
+#: commands/tablecmds.c:8037 commands/tablecmds.c:8047
+#: commands/tablecmds.c:8049 commands/tablecmds.c:15339
+#: commands/tablecmds.c:18863 commands/tablecmds.c:18884
+#: commands/typecmds.c:3774 commands/typecmds.c:3859 commands/typecmds.c:4213
 #, c-format
 msgid "Use %s instead."
 msgstr "Verwenden Sie stattdessen %s."
 
-#: commands/collationcmds.c:480 commands/dbcommands.c:2566
+#: commands/collationcmds.c:476 commands/dbcommands.c:2579
 #, c-format
 msgid "changing version from %s to %s"
 msgstr "Version wird von %s in %s geändert"
 
-#: commands/collationcmds.c:495 commands/dbcommands.c:2579
+#: commands/collationcmds.c:491 commands/dbcommands.c:2592
 #, c-format
 msgid "version has not changed"
 msgstr "Version hat sich nicht geändert"
 
-#: commands/collationcmds.c:528 commands/dbcommands.c:2749
+#: commands/collationcmds.c:524 commands/dbcommands.c:2762
+#: utils/adt/dbsize.c:180
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "Datenbank mit OID %u existiert nicht"
 
-#: commands/collationcmds.c:554
+#: commands/collationcmds.c:550
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "Sortierfolge mit OID %u existiert nicht"
 
-#: commands/collationcmds.c:848
+#: commands/collationcmds.c:844
 #, c-format
 msgid "must be superuser to import system collations"
 msgstr "nur Superuser können Systemsortierfolgen importieren"
 
-#: commands/collationcmds.c:968 commands/collationcmds.c:1053
+#: commands/collationcmds.c:964 commands/collationcmds.c:1049
 #, c-format
 msgid "no usable system locales were found"
 msgstr "keine brauchbaren System-Locales gefunden"
 
-#: commands/comment.c:61 commands/dbcommands.c:1665 commands/dbcommands.c:1883
-#: commands/dbcommands.c:1995 commands/dbcommands.c:2193
-#: commands/dbcommands.c:2433 commands/dbcommands.c:2526
-#: commands/dbcommands.c:2650 commands/dbcommands.c:3161
-#: utils/init/postinit.c:1034 utils/init/postinit.c:1098
-#: utils/init/postinit.c:1171
+#: commands/comment.c:61 commands/dbcommands.c:1678 commands/dbcommands.c:1896
+#: commands/dbcommands.c:2008 commands/dbcommands.c:2206
+#: commands/dbcommands.c:2446 commands/dbcommands.c:2539
+#: commands/dbcommands.c:2663 commands/dbcommands.c:3174
+#: utils/init/postinit.c:1006 utils/init/postinit.c:1070
+#: utils/init/postinit.c:1143
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "Datenbank »%s« existiert nicht"
@@ -6939,12 +7009,12 @@ msgstr "Datenbank »%s« existiert nicht"
 msgid "cannot set comment on relation \"%s\""
 msgstr "Kommentar von Relation »%s« kann nicht gesetzt werden"
 
-#: commands/constraint.c:61 utils/adt/ri_triggers.c:2019
+#: commands/constraint.c:61 utils/adt/ri_triggers.c:2175
 #, c-format
 msgid "function \"%s\" was not called by trigger manager"
 msgstr "Funktion »%s« wurde nicht von Triggermanager aufgerufen"
 
-#: commands/constraint.c:68 utils/adt/ri_triggers.c:2028
+#: commands/constraint.c:68 utils/adt/ri_triggers.c:2184
 #, c-format
 msgid "function \"%s\" must be fired AFTER ROW"
 msgstr "Funktion »%s« muss AFTER ROW ausgelöst werden"
@@ -7036,212 +7106,246 @@ msgstr "%s erfordert einen Boole’schen Wert oder »match«"
 
 #. translator: first %s is the name of a COPY option, e.g. ON_ERROR,
 #. second %s is a COPY with direction, e.g. COPY TO
-#: commands/copy.c:402 commands/copy.c:782 commands/copy.c:798
-#: commands/copy.c:815 commands/copy.c:841 commands/copy.c:851
+#: commands/copy.c:402 commands/copy.c:818 commands/copy.c:834
+#: commands/copy.c:851 commands/copy.c:877 commands/copy.c:887
 #, c-format
 msgid "COPY %s cannot be used with %s"
 msgstr "COPY %s kann nicht mit %s verwendet werden"
 
 #. translator: first %s is the name of a COPY option, e.g. ON_ERROR
-#: commands/copy.c:416 commands/copy.c:441
+#: commands/copy.c:416 commands/copy.c:474
 #, c-format
 msgid "COPY %s \"%s\" not recognized"
 msgstr "COPY %s »%s« nicht erkannt"
 
-#: commands/copy.c:502
+#: commands/copy.c:436 commands/define.c:73 commands/define.c:84
+#: commands/define.c:178 commands/define.c:196 commands/define.c:211
+#: commands/define.c:229
+#, c-format
+msgid "%s requires a numeric value"
+msgstr "%s erfordert einen numerischen Wert"
+
+#: commands/copy.c:446
+#, fuzzy, c-format
+#| msgid "CACHE (%lld) must be greater than zero"
+msgid "REJECT_LIMIT (%lld) must be greater than zero"
+msgstr "CACHE (%lld) muss größer als null sein"
+
+#: commands/copy.c:536
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "COPY-Format »%s« nicht erkannt"
 
-#: commands/copy.c:560 commands/copy.c:575 commands/copy.c:590
-#: commands/copy.c:609
+#: commands/copy.c:594 commands/copy.c:609 commands/copy.c:624
+#: commands/copy.c:643
 #, 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:621
+#: commands/copy.c:655
 #, 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:642 commands/dbcommands.c:866 commands/dbcommands.c:2381
+#: commands/copy.c:683 commands/dbcommands.c:879 commands/dbcommands.c:2394
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "Option »%s« nicht erkannt"
 
 #. translator: %s is the name of a COPY option, e.g. ON_ERROR
-#: commands/copy.c:655 commands/copy.c:660 commands/copy.c:665
-#: commands/copy.c:740
+#: commands/copy.c:696 commands/copy.c:701 commands/copy.c:706
+#: commands/copy.c:776
 #, c-format
 msgid "cannot specify %s in BINARY mode"
 msgstr "%s kann nicht im BINARY-Modus angegeben werden"
 
-#: commands/copy.c:670
-#, c-format
-msgid "only ON_ERROR STOP is allowed in BINARY mode"
-msgstr "nur ON_ERROR STOP ist im BINARY-Modus erlaubt"
-
-#: commands/copy.c:692
+#: commands/copy.c:728
 #, 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:699
+#: commands/copy.c:735
 #, c-format
 msgid "COPY delimiter cannot be newline or carriage return"
 msgstr "COPY-Trennzeichen kann nicht Newline oder Carriage Return sein"
 
-#: commands/copy.c:705
+#: commands/copy.c:741
 #, 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:715
+#: commands/copy.c:751
 #, c-format
 msgid "COPY default representation cannot use newline or carriage return"
 msgstr "COPY DEFAULT-Darstellung kann nicht Newline oder Carriage Return enthalten"
 
-#: commands/copy.c:733
+#: commands/copy.c:769
 #, c-format
 msgid "COPY delimiter cannot be \"%s\""
 msgstr "DELIMITER für COPY darf nicht »%s« sein"
 
 #. translator: %s is the name of a COPY option, e.g. ON_ERROR
-#: commands/copy.c:747 commands/copy.c:764 commands/copy.c:776
-#: commands/copy.c:791 commands/copy.c:807
+#: commands/copy.c:783 commands/copy.c:800 commands/copy.c:812
+#: commands/copy.c:827 commands/copy.c:843
 #, c-format
 msgid "COPY %s requires CSV mode"
 msgstr "COPY %s benötigt CSV-Modus"
 
-#: commands/copy.c:752
+#: commands/copy.c:788
 #, 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:757
+#: commands/copy.c:793
 #, c-format
 msgid "COPY delimiter and quote must be different"
 msgstr "DELIMITER und QUOTE für COPY müssen verschieden sein"
 
-#: commands/copy.c:769
+#: commands/copy.c:805
 #, 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"
 
 #. translator: %s is the name of a COPY option, e.g. NULL
-#: commands/copy.c:823 commands/copy.c:859
+#: commands/copy.c:859 commands/copy.c:895
 #, c-format
 msgid "COPY delimiter character must not appear in the %s specification"
 msgstr "Trennzeichen für COPY darf nicht in der %s-Darstellung erscheinen"
 
 #. translator: %s is the name of a COPY option, e.g. NULL
-#: commands/copy.c:832 commands/copy.c:868
+#: commands/copy.c:868 commands/copy.c:904
 #, c-format
 msgid "CSV quote character must not appear in the %s specification"
 msgstr "CSV-Quote-Zeichen darf nicht in der %s-Darstellung erscheinen"
 
-#: commands/copy.c:877
+#: commands/copy.c:913
 #, c-format
 msgid "NULL specification and DEFAULT specification cannot be the same"
 msgstr "NULL-Darstellung und DEFAULT-Darstellung können nicht gleich sein"
 
-#: commands/copy.c:939
+#: commands/copy.c:919
+#, c-format
+msgid "only ON_ERROR STOP is allowed in BINARY mode"
+msgstr "nur ON_ERROR STOP ist im BINARY-Modus erlaubt"
+
+#. translator: first and second %s are the names of COPY option, e.g.
+#. * ON_ERROR, third is the value of the COPY option, e.g. IGNORE
+#: commands/copy.c:926
+#, fuzzy, c-format
+#| msgid "COPY %s requires CSV mode"
+msgid "COPY %s requires %s to be set to %s"
+msgstr "COPY %s benötigt CSV-Modus"
+
+#: commands/copy.c:988
 #, c-format
 msgid "column \"%s\" is a generated column"
 msgstr "Spalte »%s« ist eine generierte Spalte"
 
-#: commands/copy.c:941
+#: commands/copy.c:990
 #, c-format
 msgid "Generated columns cannot be used in COPY."
 msgstr "Generierte Spalten können nicht in COPY verwendet werden."
 
-#: commands/copy.c:956 commands/indexcmds.c:1890 commands/statscmds.c:239
-#: commands/tablecmds.c:2526 commands/tablecmds.c:2997
-#: commands/tablecmds.c:3808 parser/parse_relation.c:3692
-#: parser/parse_relation.c:3702 parser/parse_relation.c:3720
-#: parser/parse_relation.c:3727 parser/parse_relation.c:3741
+#: commands/copy.c:1005 commands/indexcmds.c:1965 commands/statscmds.c:239
+#: commands/tablecmds.c:2556 commands/tablecmds.c:3064
+#: commands/tablecmds.c:3893 parser/parse_relation.c:3798
+#: parser/parse_relation.c:3808 parser/parse_relation.c:3826
+#: parser/parse_relation.c:3833 parser/parse_relation.c:3847
 #: utils/adt/tsvector_op.c:2853
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "Spalte »%s« existiert nicht"
 
-#: commands/copy.c:963 commands/tablecmds.c:2552 commands/trigger.c:951
-#: parser/parse_target.c:1083 parser/parse_target.c:1094
+#: commands/copy.c:1012 commands/tablecmds.c:2582 commands/trigger.c:956
+#: parser/parse_target.c:1086 parser/parse_target.c:1097
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "Spalte »%s« mehrmals angegeben"
 
-#: commands/copyfrom.c:118
+#: commands/copyfrom.c:260
 #, c-format
 msgid "COPY %s"
 msgstr "COPY %s"
 
-#: commands/copyfrom.c:126
+#: commands/copyfrom.c:268
 #, c-format
 msgid "COPY %s, line %llu, column %s"
 msgstr "COPY %s, Zeile %llu, Spalte %s"
 
-#: commands/copyfrom.c:131 commands/copyfrom.c:177
+#: commands/copyfrom.c:273 commands/copyfrom.c:319
 #, c-format
 msgid "COPY %s, line %llu"
 msgstr "COPY %s, Zeile %llu"
 
-#: commands/copyfrom.c:143
+#: commands/copyfrom.c:285
 #, c-format
 msgid "COPY %s, line %llu, column %s: \"%s\""
 msgstr "COPY %s, Zeile %llu, Spalte %s: »%s«"
 
-#: commands/copyfrom.c:153
+#: commands/copyfrom.c:295
 #, c-format
 msgid "COPY %s, line %llu, column %s: null input"
 msgstr "COPY %s, Zeile %llu, Spalte %s: NULL Eingabe"
 
-#: commands/copyfrom.c:170
+#: commands/copyfrom.c:312
 #, c-format
 msgid "COPY %s, line %llu: \"%s\""
 msgstr "COPY %s, Zeile %llu: »%s«"
 
-#: commands/copyfrom.c:673
+#: commands/copyfrom.c:823
 #, c-format
 msgid "cannot copy to view \"%s\""
 msgstr "kann nicht in Sicht »%s« kopieren"
 
-#: commands/copyfrom.c:675
+#: commands/copyfrom.c:825
 #, c-format
 msgid "To enable copying to a view, provide an INSTEAD OF INSERT trigger."
 msgstr "Um Kopieren in eine Sicht zu ermöglichen, richten Sie einen INSTEAD OF INSERT Trigger ein."
 
-#: commands/copyfrom.c:679
+#: commands/copyfrom.c:829
 #, c-format
 msgid "cannot copy to materialized view \"%s\""
 msgstr "kann nicht in materialisierte Sicht »%s« kopieren"
 
-#: commands/copyfrom.c:684
+#: commands/copyfrom.c:834
 #, c-format
 msgid "cannot copy to sequence \"%s\""
 msgstr "kann nicht in Sequenz »%s« kopieren"
 
-#: commands/copyfrom.c:689
+#: commands/copyfrom.c:839
 #, c-format
 msgid "cannot copy to non-table relation \"%s\""
 msgstr "kann nicht in Relation »%s« kopieren, die keine Tabelle ist"
 
-#: commands/copyfrom.c:729
+#: commands/copyfrom.c:879
 #, c-format
 msgid "cannot perform COPY FREEZE on a partitioned table"
 msgstr "COPY FREEZE kann nicht in einer partitionierten Tabelle durchgeführt werden"
 
-#: commands/copyfrom.c:744
+#: commands/copyfrom.c:886
+#, fuzzy, c-format
+#| msgid "cannot perform COPY FREEZE on a partitioned table"
+msgid "cannot perform COPY FREEZE on a foreign table"
+msgstr "COPY FREEZE kann nicht in einer partitionierten Tabelle durchgeführt werden"
+
+#: commands/copyfrom.c:900
 #, c-format
 msgid "cannot perform COPY FREEZE because of prior transaction activity"
 msgstr "COPY FREEZE kann nicht durchgeführt werden wegen vorheriger Aktivität in dieser Transaktion"
 
-#: commands/copyfrom.c:750
+#: commands/copyfrom.c:906
 #, c-format
 msgid "cannot perform COPY FREEZE because the table was not created or truncated in the current subtransaction"
 msgstr "COPY FREEZE kann nicht durchgeführt werden, weil die Tabelle nicht in der aktuellen Transaktion erzeugt oder geleert wurde"
 
-#: commands/copyfrom.c:1313
+#: commands/copyfrom.c:1171
+#, fuzzy, c-format
+#| msgid "%llu row was skipped due to data type incompatibility"
+#| msgid_plural "%llu rows were skipped due to data type incompatibility"
+msgid "skipped more than REJECT_LIMIT (%lld) rows due to data type incompatibility"
+msgstr "%llu Zeile wurde übersprungen wegen Datentypinkompatibilität"
+
+#: commands/copyfrom.c:1474
 #, c-format
 msgid "%llu row was skipped due to data type incompatibility"
 msgid_plural "%llu rows were skipped due to data type incompatibility"
@@ -7250,32 +7354,32 @@ msgstr[1] "%llu Zeilen wurden übersprungen wegen Datentypinkompatibilität"
 
 #. translator: first %s is the name of a COPY option, e.g. FORCE_NOT_NULL
 #. translator: %s is the name of a COPY option, e.g. FORCE_NOT_NULL
-#: commands/copyfrom.c:1448 commands/copyfrom.c:1491 commands/copyto.c:601
+#: commands/copyfrom.c:1611 commands/copyfrom.c:1654 commands/copyto.c:878
 #, c-format
 msgid "%s column \"%s\" not referenced by COPY"
 msgstr "Spalte »%s« mit %s wird von COPY nicht verwendet"
 
-#: commands/copyfrom.c:1544 utils/mb/mbutils.c:385
+#: commands/copyfrom.c:1707 utils/mb/mbutils.c:385
 #, c-format
 msgid "default conversion function for encoding \"%s\" to \"%s\" does not exist"
 msgstr "Standardumwandlung von Kodierung »%s« nach »%s« existiert nicht"
 
-#: commands/copyfrom.c:1742
+#: commands/copyfrom.c:1882
 #, c-format
 msgid "COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \\copy."
 msgstr "Mit COPY FROM liest der PostgreSQL-Serverprozess eine Datei. Möglicherweise möchten Sie Funktionalität auf Client-Seite verwenden, wie zum Beispiel \\copy in psql."
 
-#: commands/copyfrom.c:1755 commands/copyto.c:706
+#: commands/copyfrom.c:1895 commands/copyto.c:983
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "»%s« ist ein Verzeichnis"
 
-#: commands/copyfrom.c:1823 commands/copyto.c:299 libpq/be-secure-common.c:83
+#: commands/copyfrom.c:1953 commands/copyto.c:572 libpq/be-secure-common.c:83
 #, c-format
 msgid "could not close pipe to external command: %m"
 msgstr "konnte Pipe zu externem Programm nicht schließen: %m"
 
-#: commands/copyfrom.c:1838 commands/copyto.c:304
+#: commands/copyfrom.c:1968 commands/copyto.c:577
 #, c-format
 msgid "program \"%s\" failed"
 msgstr "Programm »%s« fehlgeschlagen"
@@ -7316,676 +7420,672 @@ msgid "could not read from COPY file: %m"
 msgstr "konnte nicht aus COPY-Datei lesen: %m"
 
 #: commands/copyfromparse.c:278 commands/copyfromparse.c:303
-#: replication/walsender.c:756 replication/walsender.c:782 tcop/postgres.c:381
+#: replication/walsender.c:726 replication/walsender.c:752 tcop/postgres.c:368
 #, c-format
 msgid "unexpected EOF on client connection with an open transaction"
 msgstr "unerwartetes EOF auf Client-Verbindung mit einer offenen Transaktion"
 
-#: commands/copyfromparse.c:294 replication/walsender.c:772
+#: commands/copyfromparse.c:294 replication/walsender.c:742
 #, c-format
 msgid "unexpected message type 0x%02X during COPY from stdin"
 msgstr "unerwarteter Messagetyp 0x%02X während COPY FROM STDIN"
 
-#: commands/copyfromparse.c:317 replication/walsender.c:803
+#: commands/copyfromparse.c:317 replication/walsender.c:773
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "COPY FROM STDIN fehlgeschlagen: %s"
 
-#: commands/copyfromparse.c:785
+#: commands/copyfromparse.c:802
 #, c-format
 msgid "wrong number of fields in header line: got %d, expected %d"
 msgstr "falsche Anzahl Felder in Kopfzeile: %d erhalten, %d erwartet"
 
-#: commands/copyfromparse.c:801
+#: commands/copyfromparse.c:818
 #, c-format
 msgid "column name mismatch in header line field %d: got null value (\"%s\"), expected \"%s\""
 msgstr "Spaltenname in Kopfzeile Feld %d stimmt nicht überein: NULL-Wert (»%s«) erhalten, »%s« erwartet"
 
-#: commands/copyfromparse.c:808
+#: commands/copyfromparse.c:825
 #, c-format
 msgid "column name mismatch in header line field %d: got \"%s\", expected \"%s\""
 msgstr "Spaltenname in Kopfzeile Feld %d stimmt nicht überein: »%s« erhalten, »%s« erwartet"
 
-#: commands/copyfromparse.c:892 commands/copyfromparse.c:1554
-#: commands/copyfromparse.c:1810
+#: commands/copyfromparse.c:962 commands/copyfromparse.c:1581
+#: commands/copyfromparse.c:1837
 #, c-format
 msgid "extra data after last expected column"
 msgstr "zusätzliche Daten nach letzter erwarteter Spalte"
 
-#: commands/copyfromparse.c:906
+#: commands/copyfromparse.c:976
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "fehlende Daten für Spalte »%s«"
 
-#: commands/copyfromparse.c:990
+#: commands/copyfromparse.c:1056
 #, c-format
 msgid "skipping row due to data type incompatibility at line %llu for column \"%s\": \"%s\""
 msgstr "Zeile wird übersprungen wegen Datentypinkompatibilität auf Zeile %llu für Spalte »%s«: »%s«"
 
-#: commands/copyfromparse.c:998
+#: commands/copyfromparse.c:1064
 #, c-format
 msgid "skipping row due to data type incompatibility at line %llu for column \"%s\": null input"
 msgstr "Zeile wird übersprungen wegen Datentypinkompatibilität auf Zeile %llu für Spalte »%s«: Eingabe ist NULL"
 
-#: commands/copyfromparse.c:1044
+#: commands/copyfromparse.c:1122
 #, c-format
 msgid "received copy data after EOF marker"
 msgstr "COPY-Daten nach EOF-Markierung empfangen"
 
-#: commands/copyfromparse.c:1051
+#: commands/copyfromparse.c:1129
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "Feldanzahl in Zeile ist %d, erwartet wurden %d"
 
-#: commands/copyfromparse.c:1336 commands/copyfromparse.c:1353
+#: commands/copyfromparse.c:1394 commands/copyfromparse.c:1411
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "Carriage-Return-Zeichen in Daten gefunden"
 
-#: commands/copyfromparse.c:1337 commands/copyfromparse.c:1354
+#: commands/copyfromparse.c:1395 commands/copyfromparse.c:1412
 #, c-format
 msgid "unquoted carriage return found in data"
 msgstr "ungequotetes Carriage-Return-Zeichen in Daten gefunden"
 
-#: commands/copyfromparse.c:1339 commands/copyfromparse.c:1356
+#: commands/copyfromparse.c:1397 commands/copyfromparse.c:1414
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Verwenden Sie »\\r«, um ein Carriage-Return-Zeichen darzustellen."
 
-#: commands/copyfromparse.c:1340 commands/copyfromparse.c:1357
+#: commands/copyfromparse.c:1398 commands/copyfromparse.c:1415
 #, c-format
 msgid "Use quoted CSV field to represent carriage return."
 msgstr "Verwenden Sie ein gequotetes CSV-Feld, um ein Carriage-Return-Zeichen darzustellen."
 
-#: commands/copyfromparse.c:1369
+#: commands/copyfromparse.c:1427
 #, c-format
 msgid "literal newline found in data"
 msgstr "Newline-Zeichen in Daten gefunden"
 
-#: commands/copyfromparse.c:1370
+#: commands/copyfromparse.c:1428
 #, c-format
 msgid "unquoted newline found in data"
 msgstr "ungequotetes Newline-Zeichen in Daten gefunden"
 
-#: commands/copyfromparse.c:1372
+#: commands/copyfromparse.c:1430
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "Verwenden Sie »\\n«, um ein Newline-Zeichen darzustellen."
 
-#: commands/copyfromparse.c:1373
+#: commands/copyfromparse.c:1431
 #, c-format
 msgid "Use quoted CSV field to represent newline."
 msgstr "Verwenden Sie ein gequotetes CSV-Feld, um ein Newline-Zeichen darzustellen."
 
-#: commands/copyfromparse.c:1419 commands/copyfromparse.c:1455
+#: commands/copyfromparse.c:1469 commands/copyfromparse.c:1491
 #, c-format
 msgid "end-of-copy marker does not match previous newline style"
 msgstr "COPY-Ende-Markierung stimmt nicht mit vorherigem Newline-Stil überein"
 
-#: commands/copyfromparse.c:1428 commands/copyfromparse.c:1444
-#, c-format
-msgid "end-of-copy marker corrupt"
-msgstr "COPY-Ende-Markierung verfälscht"
+#: commands/copyfromparse.c:1473 commands/copyfromparse.c:1484
+#: commands/copyfromparse.c:1500
+#, fuzzy, c-format
+#| msgid "end-of-copy marker does not match previous newline style"
+msgid "end-of-copy marker is not alone on its line"
+msgstr "COPY-Ende-Markierung stimmt nicht mit vorherigem Newline-Stil überein"
 
-#: commands/copyfromparse.c:1746 commands/copyfromparse.c:1961
+#: commands/copyfromparse.c:1773 commands/copyfromparse.c:1988
 #, c-format
 msgid "unexpected default marker in COPY data"
 msgstr "unerwartete Default-Markierung in COPY-Daten"
 
-#: commands/copyfromparse.c:1747 commands/copyfromparse.c:1962
+#: commands/copyfromparse.c:1774 commands/copyfromparse.c:1989
 #, c-format
 msgid "Column \"%s\" has no default value."
 msgstr "Spalte »%s« hat keinen Vorgabewert."
 
-#: commands/copyfromparse.c:1894
+#: commands/copyfromparse.c:1921
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "Quotes in CSV-Feld nicht abgeschlossen"
 
-#: commands/copyfromparse.c:1996 commands/copyfromparse.c:2015
+#: commands/copyfromparse.c:2023 commands/copyfromparse.c:2042
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "unerwartetes EOF in COPY-Daten"
 
-#: commands/copyfromparse.c:2005
+#: commands/copyfromparse.c:2032
 #, c-format
 msgid "invalid field size"
 msgstr "ungültige Feldgröße"
 
-#: commands/copyfromparse.c:2028
+#: commands/copyfromparse.c:2055
 #, c-format
 msgid "incorrect binary data format"
 msgstr "falsches Binärdatenformat"
 
-#: commands/copyto.c:229
+#: commands/copyto.c:477
 #, c-format
 msgid "could not write to COPY program: %m"
 msgstr "konnte nicht zum COPY-Programm schreiben: %m"
 
-#: commands/copyto.c:234
+#: commands/copyto.c:482
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "konnte nicht in COPY-Datei schreiben: %m"
 
-#: commands/copyto.c:379
+#: commands/copyto.c:652
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "kann nicht aus Sicht »%s« kopieren"
 
-#: commands/copyto.c:381 commands/copyto.c:387 commands/copyto.c:393
-#: commands/copyto.c:404
+#: commands/copyto.c:654 commands/copyto.c:660 commands/copyto.c:666
+#: commands/copyto.c:677
 #, c-format
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "Versuchen Sie die Variante COPY (SELECT ...) TO."
 
-#: commands/copyto.c:385
+#: commands/copyto.c:658
 #, c-format
 msgid "cannot copy from materialized view \"%s\""
 msgstr "kann nicht aus materialisierter Sicht »%s« kopieren"
 
-#: commands/copyto.c:391
+#: commands/copyto.c:664
 #, c-format
 msgid "cannot copy from foreign table \"%s\""
 msgstr "kann nicht aus Fremdtabelle »%s« kopieren"
 
-#: commands/copyto.c:397
+#: commands/copyto.c:670
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "kann nicht aus Sequenz »%s« kopieren"
 
-#: commands/copyto.c:402
+#: commands/copyto.c:675
 #, c-format
 msgid "cannot copy from partitioned table \"%s\""
 msgstr "kann nicht aus partitionierter Tabelle »%s« kopieren"
 
-#: commands/copyto.c:408
+#: commands/copyto.c:681
 #, c-format
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "kann nicht aus Relation »%s«, die keine Tabelle ist, kopieren"
 
-#: commands/copyto.c:460
+#: commands/copyto.c:736
 #, c-format
 msgid "DO INSTEAD NOTHING rules are not supported for COPY"
 msgstr "DO-INSTEAD-NOTHING-Regeln werden für COPY nicht unterstützt"
 
-#: commands/copyto.c:474
+#: commands/copyto.c:750
 #, c-format
 msgid "conditional DO INSTEAD rules are not supported for COPY"
 msgstr "DO-INSTEAD-Regeln mit Bedingung werden für COPY nicht unterstützt"
 
-#: commands/copyto.c:478
+#: commands/copyto.c:754
 #, c-format
 msgid "DO ALSO rules are not supported for COPY"
 msgstr "DO-ALSO-Regeln werden für COPY nicht unterstützt"
 
-#: commands/copyto.c:483
+#: commands/copyto.c:759
 #, c-format
 msgid "multi-statement DO INSTEAD rules are not supported for COPY"
 msgstr "DO-INSTEAD-Regeln mit mehreren Anweisungen werden für COPY nicht unterstützt"
 
-#: commands/copyto.c:493
+#: commands/copyto.c:769
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) wird nicht unterstützt"
 
-#: commands/copyto.c:499
+#: commands/copyto.c:775
 #, c-format
 msgid "COPY query must not be a utility command"
 msgstr "COPY-Anfrage darf kein Utility-Befehl sein"
 
-#: commands/copyto.c:515
+#: commands/copyto.c:791
 #, c-format
 msgid "COPY query must have a RETURNING clause"
 msgstr "COPY-Anfrage muss eine RETURNING-Klausel haben"
 
-#: commands/copyto.c:544
+#: commands/copyto.c:820
 #, c-format
 msgid "relation referenced by COPY statement has changed"
 msgstr "die von der COPY-Anweisung verwendete Relation hat sich geändert"
 
-#: commands/copyto.c:671
+#: commands/copyto.c:948
 #, c-format
 msgid "relative path not allowed for COPY to file"
 msgstr "relativer Pfad bei COPY in Datei nicht erlaubt"
 
-#: commands/copyto.c:690
+#: commands/copyto.c:967
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "konnte Datei »%s« nicht zum Schreiben öffnen: %m"
 
-#: commands/copyto.c:693
+#: commands/copyto.c:970
 #, c-format
 msgid "COPY TO instructs the PostgreSQL server process to write a file. You may want a client-side facility such as psql's \\copy."
 msgstr "Mit COPY TO schreibt der PostgreSQL-Serverprozess eine Datei. Möglicherweise möchten Sie Funktionalität auf Client-Seite verwenden, wie zum Beispiel \\copy in psql."
 
-#: commands/createas.c:210 commands/createas.c:516
+#: commands/createas.c:210 commands/createas.c:522
 #, c-format
 msgid "too many column names were specified"
 msgstr "zu viele Spaltennamen wurden angegeben"
 
-#: commands/createas.c:539
+#: commands/createas.c:545
 #, c-format
 msgid "policies not yet implemented for this command"
 msgstr "Policys sind für diesen Befehl noch nicht implementiert"
 
-#: commands/dbcommands.c:829
+#: commands/dbcommands.c:842
 #, c-format
 msgid "LOCATION is not supported anymore"
 msgstr "LOCATION wird nicht mehr unterstützt"
 
-#: commands/dbcommands.c:830
+#: commands/dbcommands.c:843
 #, c-format
 msgid "Consider using tablespaces instead."
 msgstr "Verwenden Sie stattdessen Tablespaces."
 
-#: commands/dbcommands.c:855
+#: commands/dbcommands.c:868
 #, c-format
 msgid "OIDs less than %u are reserved for system objects"
 msgstr "OIDs kleiner als %u sind für Systemobjekte reserviert"
 
-#: commands/dbcommands.c:886 utils/adt/ascii.c:146
+#: commands/dbcommands.c:899 utils/adt/ascii.c:146
 #, c-format
 msgid "%d is not a valid encoding code"
 msgstr "%d ist kein gültiger Kodierungscode"
 
-#: commands/dbcommands.c:897 utils/adt/ascii.c:128
+#: commands/dbcommands.c:910 utils/adt/ascii.c:128
 #, c-format
 msgid "%s is not a valid encoding name"
 msgstr "%s ist kein gültiger Kodierungsname"
 
-#: commands/dbcommands.c:931
+#: commands/dbcommands.c:944
 #, c-format
 msgid "unrecognized locale provider: %s"
 msgstr "unbekannter Locale-Provider: %s"
 
-#: commands/dbcommands.c:944 commands/dbcommands.c:2414 commands/user.c:299
+#: commands/dbcommands.c:957 commands/dbcommands.c:2427 commands/user.c:300
 #: commands/user.c:739
 #, c-format
 msgid "invalid connection limit: %d"
 msgstr "ungültige Verbindungshöchstgrenze: %d"
 
-#: commands/dbcommands.c:965
+#: commands/dbcommands.c:978
 #, c-format
 msgid "permission denied to create database"
 msgstr "keine Berechtigung, um Datenbank zu erzeugen"
 
-#: commands/dbcommands.c:989
+#: commands/dbcommands.c:1002
 #, c-format
 msgid "template database \"%s\" does not exist"
 msgstr "Template-Datenbank »%s« existiert nicht"
 
-#: commands/dbcommands.c:999
+#: commands/dbcommands.c:1012
 #, c-format
 msgid "cannot use invalid database \"%s\" as template"
 msgstr "ungültige Datenbank »%s« kann nicht als Template verwendet werden"
 
-#: commands/dbcommands.c:1000 commands/dbcommands.c:2444
-#: utils/init/postinit.c:1113
+#: commands/dbcommands.c:1013 commands/dbcommands.c:2457
+#: utils/init/postinit.c:1085
 #, c-format
 msgid "Use DROP DATABASE to drop invalid databases."
 msgstr "Verwenden Sie DROP DATABASE, um ungültige Datenbanken zu löschen."
 
-#: commands/dbcommands.c:1011
+#: commands/dbcommands.c:1024
 #, c-format
 msgid "permission denied to copy database \"%s\""
 msgstr "keine Berechtigung, um Datenbank »%s« zu kopieren"
 
-#: commands/dbcommands.c:1028
+#: commands/dbcommands.c:1041
 #, c-format
 msgid "invalid create database strategy \"%s\""
 msgstr "ungültige Datenbankerzeugungsstrategie »%s«"
 
-#: commands/dbcommands.c:1029
+#: commands/dbcommands.c:1042
 #, c-format
 msgid "Valid strategies are \"wal_log\" and \"file_copy\"."
 msgstr "Gültige Strategien sind »wal_log« und »file_copy«."
 
-#: commands/dbcommands.c:1050
+#: commands/dbcommands.c:1063
 #, c-format
 msgid "invalid server encoding %d"
 msgstr "ungültige Serverkodierung %d"
 
-#: commands/dbcommands.c:1056
+#: commands/dbcommands.c:1069
 #, c-format
 msgid "invalid LC_COLLATE locale name: \"%s\""
 msgstr "ungültiger LC_COLLATE-Locale-Name: »%s«"
 
-#: commands/dbcommands.c:1057 commands/dbcommands.c:1063
+#: commands/dbcommands.c:1070 commands/dbcommands.c:1076
 #, c-format
 msgid "If the locale name is specific to ICU, use ICU_LOCALE."
 msgstr "Wenn der Locale-Name nur für ICU gültig ist, verwenden Sie ICU_LOCALE."
 
-#: commands/dbcommands.c:1062
+#: commands/dbcommands.c:1075
 #, c-format
 msgid "invalid LC_CTYPE locale name: \"%s\""
 msgstr "ungültiger LC_CTYPE-Locale-Name: »%s«"
 
-#: commands/dbcommands.c:1074
+#: commands/dbcommands.c:1087
 #, c-format
 msgid "BUILTIN_LOCALE cannot be specified unless locale provider is builtin"
 msgstr "BUILTIN_LOCALE kann nur angegeben werden, wenn der Locale-Provider »builtin« ist"
 
-#: commands/dbcommands.c:1082
+#: commands/dbcommands.c:1095
 #, c-format
 msgid "ICU locale cannot be specified unless locale provider is ICU"
 msgstr "ICU-Locale kann nur angegeben werden, wenn der Locale-Provider ICU ist"
 
-#: commands/dbcommands.c:1100
+#: commands/dbcommands.c:1113
 #, c-format
 msgid "LOCALE or BUILTIN_LOCALE must be specified"
 msgstr "LOCALE oder BUILTIN_LOCALE muss angegeben werden"
 
-#: commands/dbcommands.c:1109
+#: commands/dbcommands.c:1122
 #, c-format
 msgid "encoding \"%s\" is not supported with ICU provider"
 msgstr "Kodierung »%s« wird vom ICU-Provider nicht unterstützt"
 
-#: commands/dbcommands.c:1119
+#: commands/dbcommands.c:1132
 #, c-format
 msgid "LOCALE or ICU_LOCALE must be specified"
 msgstr "LOCALE oder ICU_LOCALE muss angegeben werden"
 
-#: commands/dbcommands.c:1163
+#: commands/dbcommands.c:1176
 #, c-format
 msgid "new encoding (%s) is incompatible with the encoding of the template database (%s)"
 msgstr "neue Kodierung (%s) ist inkompatibel mit der Kodierung der Template-Datenbank (%s)"
 
-#: commands/dbcommands.c:1166
+#: commands/dbcommands.c:1179
 #, c-format
 msgid "Use the same encoding as in the template database, or use template0 as template."
 msgstr "Verwenden Sie die gleiche Kodierung wie die Template-Datenbank oder verwenden Sie template0 als Template."
 
-#: commands/dbcommands.c:1171
+#: commands/dbcommands.c:1184
 #, c-format
 msgid "new collation (%s) is incompatible with the collation of the template database (%s)"
 msgstr "neue Sortierreihenfolge (%s) ist inkompatibel mit der Sortierreihenfolge der Template-Datenbank (%s)"
 
-#: commands/dbcommands.c:1173
+#: commands/dbcommands.c:1186
 #, c-format
 msgid "Use the same collation as in the template database, or use template0 as template."
 msgstr "Verwenden Sie die gleiche Sortierreihenfolge wie die Template-Datenbank oder verwenden Sie template0 als Template."
 
-#: commands/dbcommands.c:1178
+#: commands/dbcommands.c:1191
 #, c-format
 msgid "new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database (%s)"
 msgstr "neues LC_CTYPE (%s) ist inkompatibel mit dem LC_CTYPE der Template-Datenbank (%s)"
 
-#: commands/dbcommands.c:1180
+#: commands/dbcommands.c:1193
 #, c-format
 msgid "Use the same LC_CTYPE as in the template database, or use template0 as template."
 msgstr "Verwenden Sie das gleiche LC_CTYPE wie die Template-Datenbank oder verwenden Sie template0 als Template."
 
-#: commands/dbcommands.c:1185
+#: commands/dbcommands.c:1198
 #, c-format
 msgid "new locale provider (%s) does not match locale provider of the template database (%s)"
 msgstr "neuer Locale-Provider (%s) stimmt nicht mit dem Locale-Provider der Template-Datenbank (%s) überein"
 
-#: commands/dbcommands.c:1187
+#: commands/dbcommands.c:1200
 #, c-format
 msgid "Use the same locale provider as in the template database, or use template0 as template."
 msgstr "Verwenden Sie den gleichen Locale-Provider wie die Template-Datenbank oder verwenden Sie template0 als Template."
 
-#: commands/dbcommands.c:1199
+#: commands/dbcommands.c:1212
 #, c-format
 msgid "new ICU locale (%s) is incompatible with the ICU locale of the template database (%s)"
 msgstr "neue ICU-Locale (%s) ist inkompatibel mit der ICU-Locale der Template-Datenbank (%s)"
 
-#: commands/dbcommands.c:1201
+#: commands/dbcommands.c:1214
 #, c-format
 msgid "Use the same ICU locale as in the template database, or use template0 as template."
 msgstr "Verwenden Sie die gleiche ICU-Locale wie die Template-Datenbank oder verwenden Sie template0 als Template."
 
-#: commands/dbcommands.c:1212
+#: commands/dbcommands.c:1225
 #, c-format
 msgid "new ICU collation rules (%s) are incompatible with the ICU collation rules of the template database (%s)"
 msgstr "die neuen ICU-Sortierfolgenregeln (%s) sind inkompatibel mit den ICU-Sortierfolgenregeln der Template-Datenbank (%s)"
 
-#: commands/dbcommands.c:1214
+#: commands/dbcommands.c:1227
 #, c-format
 msgid "Use the same ICU collation rules as in the template database, or use template0 as template."
 msgstr "Verwenden Sie die gleichen ICU-Sortierfolgenregeln wie in der Template-Datenbank oder verwenden Sie template0 als Template."
 
-#: commands/dbcommands.c:1243
+#: commands/dbcommands.c:1256
 #, c-format
 msgid "template database \"%s\" has a collation version, but no actual collation version could be determined"
 msgstr "Template-Datenbank »%s« hat eine Sortierfolgenversion, aber keine tatsächliche Sortierfolgenversion konnte ermittelt werden"
 
-#: commands/dbcommands.c:1248
+#: commands/dbcommands.c:1261
 #, c-format
 msgid "template database \"%s\" has a collation version mismatch"
 msgstr "Version von Sortierfolge für Template-Datenbank »%s« stimmt nicht überein"
 
-#: commands/dbcommands.c:1250
+#: commands/dbcommands.c:1263
 #, c-format
 msgid "The template database was created using collation version %s, but the operating system provides version %s."
 msgstr "Die Template-Datenbank wurde mit Sortierfolgenversion %s erzeugt, aber das Betriebssystem hat Version %s."
 
-#: commands/dbcommands.c:1253
+#: commands/dbcommands.c:1266
 #, c-format
 msgid "Rebuild all objects in the template database that use the default collation and run ALTER DATABASE %s REFRESH COLLATION VERSION, or build PostgreSQL with the right library version."
 msgstr "Bauen Sie alle Objekte in der Template-Datenbank, die die Standardsortierfolge verwenden, neu und führen Sie ALTER DATABASE %s REFRESH COLLATION VERSION aus, oder bauen Sie PostgreSQL mit der richtigen Bibliotheksversion."
 
-#: commands/dbcommands.c:1298 commands/dbcommands.c:2041
+#: commands/dbcommands.c:1311 commands/dbcommands.c:2054
 #, c-format
 msgid "pg_global cannot be used as default tablespace"
 msgstr "pg_global kann nicht als Standard-Tablespace verwendet werden"
 
-#: commands/dbcommands.c:1324
+#: commands/dbcommands.c:1337
 #, c-format
 msgid "cannot assign new default tablespace \"%s\""
 msgstr "kann neuen Standard-Tablespace »%s« nicht setzen"
 
-#: commands/dbcommands.c:1326
+#: commands/dbcommands.c:1339
 #, c-format
 msgid "There is a conflict because database \"%s\" already has some tables in this tablespace."
 msgstr "Es gibt einen Konflikt, weil Datenbank »%s« schon einige Tabellen in diesem Tablespace hat."
 
-#: commands/dbcommands.c:1356 commands/dbcommands.c:1912
+#: commands/dbcommands.c:1369 commands/dbcommands.c:1925
 #, c-format
 msgid "database \"%s\" already exists"
 msgstr "Datenbank »%s« existiert bereits"
 
-#: commands/dbcommands.c:1370
+#: commands/dbcommands.c:1383
 #, c-format
 msgid "source database \"%s\" is being accessed by other users"
 msgstr "auf Quelldatenbank »%s« wird gerade von anderen Benutzern zugegriffen"
 
-#: commands/dbcommands.c:1392
+#: commands/dbcommands.c:1405
 #, c-format
 msgid "database OID %u is already in use by database \"%s\""
 msgstr "Datenbank-OID %u wird bereits von Datenbank »%s« verwendet"
 
-#: commands/dbcommands.c:1398
+#: commands/dbcommands.c:1411
 #, c-format
 msgid "data directory with the specified OID %u already exists"
 msgstr "Datenverzeichnis mit der angegebenen OID %u existiert bereits"
 
-#: commands/dbcommands.c:1571 commands/dbcommands.c:1586
-#: utils/adt/pg_locale.c:2588
+#: commands/dbcommands.c:1584 commands/dbcommands.c:1599
+#: utils/adt/pg_locale.c:1659
 #, c-format
 msgid "encoding \"%s\" does not match locale \"%s\""
 msgstr "Kodierung »%s« stimmt nicht mit Locale »%s« überein"
 
-#: commands/dbcommands.c:1574
+#: commands/dbcommands.c:1587
 #, c-format
 msgid "The chosen LC_CTYPE setting requires encoding \"%s\"."
 msgstr "Die gewählte LC_CTYPE-Einstellung verlangt die Kodierung »%s«."
 
-#: commands/dbcommands.c:1589
+#: commands/dbcommands.c:1602
 #, c-format
 msgid "The chosen LC_COLLATE setting requires encoding \"%s\"."
 msgstr "Die gewählte LC_COLLATE-Einstellung verlangt die Kodierung »%s«."
 
-#: commands/dbcommands.c:1672
+#: commands/dbcommands.c:1685
 #, c-format
 msgid "database \"%s\" does not exist, skipping"
 msgstr "Datenbank »%s« existiert nicht, wird übersprungen"
 
-#: commands/dbcommands.c:1696
+#: commands/dbcommands.c:1709
 #, c-format
 msgid "cannot drop a template database"
 msgstr "Template-Datenbank kann nicht gelöscht werden"
 
-#: commands/dbcommands.c:1702
+#: commands/dbcommands.c:1715
 #, c-format
 msgid "cannot drop the currently open database"
 msgstr "kann aktuell geöffnete Datenbank nicht löschen"
 
-#: commands/dbcommands.c:1715
+#: commands/dbcommands.c:1728
 #, c-format
 msgid "database \"%s\" is used by an active logical replication slot"
 msgstr "Datenbank »%s« wird von einem aktiven logischen Replikations-Slot verwendet"
 
-#: commands/dbcommands.c:1717
+#: commands/dbcommands.c:1730
 #, c-format
 msgid "There is %d active slot."
 msgid_plural "There are %d active slots."
 msgstr[0] "%d Slot ist vorhanden."
 msgstr[1] "%d Slots sind vorhanden."
 
-#: commands/dbcommands.c:1731
+#: commands/dbcommands.c:1744
 #, 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:1733
+#: commands/dbcommands.c:1746
 #, c-format
 msgid "There is %d subscription."
 msgid_plural "There are %d subscriptions."
 msgstr[0] "%d Subskription ist vorhanden."
 msgstr[1] "%d Subskriptionen sind vorhanden."
 
-#: commands/dbcommands.c:1754 commands/dbcommands.c:1934
-#: commands/dbcommands.c:2063
+#: commands/dbcommands.c:1767 commands/dbcommands.c:1947
+#: commands/dbcommands.c:2076
 #, c-format
 msgid "database \"%s\" is being accessed by other users"
 msgstr "auf Datenbank »%s« wird von anderen Benutzern zugegriffen"
 
-#: commands/dbcommands.c:1894
+#: commands/dbcommands.c:1907
 #, c-format
 msgid "permission denied to rename database"
 msgstr "keine Berechtigung, um Datenbank umzubenennen"
 
-#: commands/dbcommands.c:1923
+#: commands/dbcommands.c:1936
 #, c-format
 msgid "current database cannot be renamed"
 msgstr "aktuelle Datenbank kann nicht umbenannt werden"
 
-#: commands/dbcommands.c:2019
+#: commands/dbcommands.c:2032
 #, 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:2125
+#: commands/dbcommands.c:2138
 #, 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:2127
+#: commands/dbcommands.c:2140
 #, 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:2256 commands/dbcommands.c:2999
-#: commands/dbcommands.c:3299 commands/dbcommands.c:3412
+#: commands/dbcommands.c:2269 commands/dbcommands.c:3012
+#: commands/dbcommands.c:3312 commands/dbcommands.c:3425
 #, 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:2317
+#: commands/dbcommands.c:2330
 #, c-format
 msgid "unrecognized DROP DATABASE option \"%s\""
 msgstr "unbekannte DROP-DATABASE-Option »%s«"
 
-#: commands/dbcommands.c:2395
+#: commands/dbcommands.c:2408
 #, c-format
 msgid "option \"%s\" cannot be specified with other options"
 msgstr "Option »%s« kann nicht mit anderen Optionen angegeben werden"
 
-#: commands/dbcommands.c:2443
+#: commands/dbcommands.c:2456
 #, c-format
 msgid "cannot alter invalid database \"%s\""
 msgstr "ungültige Datenbank »%s« kann nicht geändert werden"
 
-#: commands/dbcommands.c:2460
+#: commands/dbcommands.c:2473
 #, c-format
 msgid "cannot disallow connections for current database"
 msgstr "Verbindungen mit der aktuellen Datenbank können nicht verboten werden"
 
-#: commands/dbcommands.c:2690
+#: commands/dbcommands.c:2703
 #, c-format
 msgid "permission denied to change owner of database"
 msgstr "keine Berechtigung, um Eigentümer der Datenbank zu ändern"
 
-#: commands/dbcommands.c:3105
+#: commands/dbcommands.c:3118
 #, 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:3108
+#: commands/dbcommands.c:3121
 #, 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:3113 storage/ipc/procarray.c:3859
+#: commands/dbcommands.c:3126 storage/ipc/procarray.c:3860
 #, c-format
 msgid "There is %d prepared transaction using the database."
 msgid_plural "There are %d prepared transactions using the database."
 msgstr[0] "%d vorbereitete Transaktion verwendet die Datenbank."
 msgstr[1] "%d vorbereitete Transaktionen verwenden die Datenbank."
 
-#: commands/dbcommands.c:3255
+#: commands/dbcommands.c:3268
 #, c-format
 msgid "missing directory \"%s\""
 msgstr "Verzeichnis »%s« fehlt"
 
-#: commands/dbcommands.c:3313 commands/tablespace.c:184
+#: commands/dbcommands.c:3326 commands/tablespace.c:184
 #: commands/tablespace.c:633
 #, c-format
 msgid "could not stat directory \"%s\": %m"
 msgstr "konnte »stat« für Verzeichnis »%s« nicht ausführen: %m"
 
-#: commands/define.c:53 commands/define.c:257 commands/define.c:289
-#: commands/define.c:317 commands/define.c:363
+#: commands/define.c:40 commands/define.c:244 commands/define.c:276
+#: commands/define.c:304 commands/define.c:350
 #, c-format
 msgid "%s requires a parameter"
 msgstr "%s erfordert einen Parameter"
 
-#: commands/define.c:86 commands/define.c:97 commands/define.c:191
-#: commands/define.c:209 commands/define.c:224 commands/define.c:242
-#, c-format
-msgid "%s requires a numeric value"
-msgstr "%s erfordert einen numerischen Wert"
-
-#: commands/define.c:153
+#: commands/define.c:140
 #, c-format
 msgid "%s requires a Boolean value"
 msgstr "%s erfordert einen Boole’schen Wert"
 
-#: commands/define.c:167 commands/define.c:176 commands/define.c:326
+#: commands/define.c:154 commands/define.c:163 commands/define.c:313
 #, c-format
 msgid "%s requires an integer value"
 msgstr "%s erfordert einen ganzzahligen Wert"
 
-#: commands/define.c:271
+#: commands/define.c:258
 #, c-format
 msgid "argument of %s must be a name"
 msgstr "Argument von %s muss ein Name sein"
 
-#: commands/define.c:301
+#: commands/define.c:288
 #, c-format
 msgid "argument of %s must be a type name"
 msgstr "Argument von %s muss ein Typname sein"
 
-#: commands/define.c:347
+#: commands/define.c:334
 #, c-format
 msgid "invalid argument for %s: \"%s\""
 msgstr "ungültiges Argument für %s: »%s«"
 
-#: commands/dropcmds.c:96 commands/functioncmds.c:1382
-#: utils/adt/ruleutils.c:2910
+#: commands/dropcmds.c:96 commands/functioncmds.c:1397
+#: utils/adt/ruleutils.c:2953
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "»%s« ist eine Aggregatfunktion"
@@ -7995,19 +8095,19 @@ msgstr "»%s« ist eine Aggregatfunktion"
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Verwenden Sie DROP AGGREGATE, um Aggregatfunktionen zu löschen."
 
-#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3892
-#: commands/tablecmds.c:4050 commands/tablecmds.c:4102
-#: commands/tablecmds.c:17161 tcop/utility.c:1325
+#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3977
+#: commands/tablecmds.c:4138 commands/tablecmds.c:4190
+#: commands/tablecmds.c:18140 tcop/utility.c:1328
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "Relation »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:183 commands/dropcmds.c:282 commands/tablecmds.c:1409
+#: commands/dropcmds.c:183 commands/dropcmds.c:282 commands/tablecmds.c:1432
 #, c-format
 msgid "schema \"%s\" does not exist, skipping"
 msgstr "Schema »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:223 commands/dropcmds.c:262 commands/tablecmds.c:286
+#: commands/dropcmds.c:223 commands/dropcmds.c:262 commands/tablecmds.c:289
 #, c-format
 msgid "type \"%s\" does not exist, skipping"
 msgstr "Typ »%s« existiert nicht, wird übersprungen"
@@ -8027,7 +8127,7 @@ msgstr "Sortierfolge »%s« existiert nicht, wird übersprungen"
 msgid "conversion \"%s\" does not exist, skipping"
 msgstr "Konversion »%s« existiert nicht, wird übersprungen"
 
-#: commands/dropcmds.c:288 commands/statscmds.c:664
+#: commands/dropcmds.c:288 commands/statscmds.c:682
 #, c-format
 msgid "statistics object \"%s\" does not exist, skipping"
 msgstr "Statistikobjekt »%s« existiert nicht, wird übersprungen"
@@ -8204,330 +8304,339 @@ msgstr "keine Berechtigung, um Eigentümer des Ereignistriggers »%s« zu änder
 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:1409
+#: commands/event_trigger.c:1404
 #, 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:1502 commands/event_trigger.c:1523
+#: commands/event_trigger.c:1497 commands/event_trigger.c:1518
 #, 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:1936
+#: commands/event_trigger.c:1931
 #, c-format
 msgid "%s can only be called in an event trigger function"
 msgstr "%s kann nur in einer Ereignistriggerfunktion aufgerufen werden"
 
-#: commands/explain.c:241 commands/explain.c:266
+#: commands/explain.c:227 commands/explain.c:252
 #, c-format
 msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\""
 msgstr "unbekannter Wert für EXPLAIN-Option »%s«: »%s«"
 
-#: commands/explain.c:273
+#: commands/explain.c:259
 #, c-format
 msgid "unrecognized EXPLAIN option \"%s\""
 msgstr "unbekannte EXPLAIN-Option »%s«"
 
-#: commands/explain.c:282
-#, c-format
-msgid "EXPLAIN option WAL requires ANALYZE"
+#: commands/explain.c:268 commands/explain.c:280 commands/explain.c:286
+#, fuzzy, c-format
+#| msgid "EXPLAIN option WAL requires ANALYZE"
+msgid "EXPLAIN option %s requires ANALYZE"
 msgstr "EXPLAIN-Option WAL erfordert ANALYZE"
 
-#: commands/explain.c:291
-#, c-format
-msgid "EXPLAIN option TIMING requires ANALYZE"
-msgstr "EXPLAIN-Option TIMING erfordert ANALYZE"
-
-#: commands/explain.c:297
-#, c-format
-msgid "EXPLAIN option SERIALIZE requires ANALYZE"
-msgstr "EXPLAIN-Option SERIALIZE erfordert ANALYZE"
-
-#: commands/explain.c:303
+#: commands/explain.c:292
 #, c-format
 msgid "EXPLAIN options ANALYZE and GENERIC_PLAN cannot be used together"
 msgstr "EXPLAIN-Optionen ANALYZE und GENERIC_PLAN können nicht zusammen verwendet werden"
 
-#: commands/extension.c:178 commands/extension.c:3031
+#: commands/extension.c:168 commands/extension.c:3144
 #, c-format
 msgid "extension \"%s\" does not exist"
 msgstr "Erweiterung »%s« existiert nicht"
 
-#: commands/extension.c:277 commands/extension.c:286 commands/extension.c:298
-#: commands/extension.c:308
+#: commands/extension.c:233 commands/extension.c:242 commands/extension.c:254
+#: commands/extension.c:264
 #, c-format
 msgid "invalid extension name: \"%s\""
 msgstr "ungültiger Erweiterungsname: »%s«"
 
-#: commands/extension.c:278
+#: commands/extension.c:234
 #, c-format
 msgid "Extension names must not be empty."
 msgstr "Erweiterungsnamen dürfen nicht leer sein."
 
-#: commands/extension.c:287
+#: commands/extension.c:243
 #, c-format
 msgid "Extension names must not contain \"--\"."
 msgstr "Erweiterungsnamen dürfen nicht »--« enthalten."
 
-#: commands/extension.c:299
+#: commands/extension.c:255
 #, c-format
 msgid "Extension names must not begin or end with \"-\"."
 msgstr "Erweiterungsnamen dürfen nicht mit »-« anfangen oder aufhören."
 
-#: commands/extension.c:309
+#: commands/extension.c:265
 #, c-format
 msgid "Extension names must not contain directory separator characters."
 msgstr "Erweiterungsnamen dürfen keine Verzeichnistrennzeichen enthalten."
 
-#: commands/extension.c:324 commands/extension.c:333 commands/extension.c:342
-#: commands/extension.c:352
+#: commands/extension.c:280 commands/extension.c:289 commands/extension.c:298
+#: commands/extension.c:308
 #, c-format
 msgid "invalid extension version name: \"%s\""
 msgstr "ungültiger Erweiterungsversionsname: »%s«"
 
-#: commands/extension.c:325
+#: commands/extension.c:281
 #, c-format
 msgid "Version names must not be empty."
 msgstr "Versionsnamen dürfen nicht leer sein."
 
-#: commands/extension.c:334
+#: commands/extension.c:290
 #, c-format
 msgid "Version names must not contain \"--\"."
 msgstr "Versionsnamen dürfen nicht »--« enthalten."
 
-#: commands/extension.c:343
+#: commands/extension.c:299
 #, c-format
 msgid "Version names must not begin or end with \"-\"."
 msgstr "Versionsnamen dürfen nicht mit »-« anfangen oder aufhören."
 
-#: commands/extension.c:353
+#: commands/extension.c:309
 #, c-format
 msgid "Version names must not contain directory separator characters."
 msgstr "Versionsnamen dürfen keine Verzeichnistrennzeichen enthalten."
 
-#: commands/extension.c:507
+#: commands/extension.c:463
 #, c-format
 msgid "extension \"%s\" is not available"
 msgstr "Erweiterung »%s« ist nicht verfügbar"
 
-#: commands/extension.c:508
+#: commands/extension.c:464
 #, c-format
 msgid "Could not open extension control file \"%s\": %m."
 msgstr "Konnte Erweiterungskontrolldatei »%s« nicht öffnen: %m."
 
-#: commands/extension.c:510
+#: commands/extension.c:466
 #, c-format
 msgid "The extension must first be installed on the system where PostgreSQL is running."
 msgstr "Die Erweiterung muss zuerst auf dem System, auf dem PostgreSQL läuft, installiert werden."
 
-#: commands/extension.c:514
+#: commands/extension.c:470
 #, c-format
 msgid "could not open extension control file \"%s\": %m"
 msgstr "konnte Erweiterungskontrolldatei »%s« nicht öffnen: %m"
 
-#: commands/extension.c:537 commands/extension.c:547
+#: commands/extension.c:493 commands/extension.c:503
 #, 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:569 commands/extension.c:577 commands/extension.c:585
-#: utils/misc/guc.c:3147
+#: commands/extension.c:525 commands/extension.c:533 commands/extension.c:541
+#: utils/misc/guc.c:3144
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "Parameter »%s« erfordert einen Boole’schen Wert"
 
-#: commands/extension.c:594
+#: commands/extension.c:550
 #, c-format
 msgid "\"%s\" is not a valid encoding name"
 msgstr "»%s« ist kein gültiger Kodierungsname"
 
-#: commands/extension.c:608 commands/extension.c:623
+#: commands/extension.c:564 commands/extension.c:579
 #, c-format
 msgid "parameter \"%s\" must be a list of extension names"
 msgstr "Parameter »%s« muss eine Liste von Erweiterungsnamen sein"
 
-#: commands/extension.c:630
+#: commands/extension.c:586
 #, c-format
 msgid "unrecognized parameter \"%s\" in file \"%s\""
 msgstr "unbekannter Parameter »%s« in Datei »%s«"
 
-#: commands/extension.c:639
+#: commands/extension.c:595
 #, 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:817
+#: commands/extension.c:781
+#, fuzzy, c-format
+#| msgid "SQL statement \"%s\""
+msgid "SQL statement \"%.*s\""
+msgstr "SQL-Anweisung »%s«"
+
+#: commands/extension.c:810
+#, fuzzy, c-format
+#| msgid "unrecognized descriptor item \"%s\" on line %d"
+msgid "extension script file \"%s\", near line %d"
+msgstr "unbekanntes Deskriptorelement »%s« auf Zeile %d"
+
+#: commands/extension.c:814
+#, fuzzy, c-format
+#| msgid "skipping special file \"%s\""
+msgid "extension script file \"%s\""
+msgstr "überspringe besondere Datei »%s«"
+
+#: commands/extension.c:928
 #, c-format
 msgid "transaction control statements are not allowed within an extension script"
 msgstr "Transaktionskontrollanweisungen sind nicht in einem Erweiterungsskript erlaubt"
 
-#: commands/extension.c:897
+#: commands/extension.c:1010
 #, c-format
 msgid "permission denied to create extension \"%s\""
 msgstr "keine Berechtigung, um Erweiterung »%s« zu erzeugen"
 
-#: commands/extension.c:900
+#: commands/extension.c:1013
 #, c-format
 msgid "Must have CREATE privilege on current database to create this extension."
 msgstr "CREATE-Privileg für die aktuelle Datenbank wird benötigt, um diese Erweiterung anzulegen."
 
-#: commands/extension.c:901
+#: commands/extension.c:1014
 #, c-format
 msgid "Must be superuser to create this extension."
 msgstr "Nur Superuser können diese Erweiterung anlegen."
 
-#: commands/extension.c:905
+#: commands/extension.c:1018
 #, c-format
 msgid "permission denied to update extension \"%s\""
 msgstr "keine Berechtigung, um Erweiterung »%s« zu aktualisieren"
 
-#: commands/extension.c:908
+#: commands/extension.c:1021
 #, c-format
 msgid "Must have CREATE privilege on current database to update this extension."
 msgstr "CREATE-Privileg für die aktuelle Datenbank wird benötigt, um diese Erweiterung zu aktualisieren."
 
-#: commands/extension.c:909
+#: commands/extension.c:1022
 #, c-format
 msgid "Must be superuser to update this extension."
 msgstr "Nur Superuser können diese Erweiterung aktualisieren."
 
-#: commands/extension.c:1042
+#: commands/extension.c:1155
 #, c-format
 msgid "invalid character in extension owner: must not contain any of \"%s\""
 msgstr "ungültiges Zeichen im Erweiterungseigentümer: darf keins aus »%s« enthalten"
 
-#: commands/extension.c:1066 commands/extension.c:1093
+#: commands/extension.c:1179 commands/extension.c:1206
 #, c-format
 msgid "invalid character in extension \"%s\" schema: must not contain any of \"%s\""
 msgstr "ungültiges Zeichen in Schema von Erweiterung »%s«: darf keins aus »%s« enthalten"
 
-#: commands/extension.c:1288
+#: commands/extension.c:1401
 #, 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:1496 commands/extension.c:3089
+#: commands/extension.c:1609 commands/extension.c:3202
 #, c-format
 msgid "version to install must be specified"
 msgstr "die zu installierende Version muss angegeben werden"
 
-#: commands/extension.c:1533
+#: commands/extension.c:1646
 #, c-format
 msgid "extension \"%s\" has no installation script nor update path for version \"%s\""
 msgstr "Erweiterung »%s« hat kein Installationsskript und keinen Aktualisierungspfad für Version »%s«"
 
-#: commands/extension.c:1567
+#: commands/extension.c:1680
 #, c-format
 msgid "extension \"%s\" must be installed in schema \"%s\""
 msgstr "Erweiterung »%s« muss in Schema »%s« installiert werden"
 
-#: commands/extension.c:1727
+#: commands/extension.c:1840
 #, c-format
 msgid "cyclic dependency detected between extensions \"%s\" and \"%s\""
 msgstr "zyklische Abhängigkeit zwischen Erweiterungen »%s« und »%s« entdeckt"
 
-#: commands/extension.c:1732
+#: commands/extension.c:1845
 #, c-format
 msgid "installing required extension \"%s\""
 msgstr "installiere benötigte Erweiterung »%s«"
 
-#: commands/extension.c:1755
+#: commands/extension.c:1868
 #, c-format
 msgid "required extension \"%s\" is not installed"
 msgstr "benötigte Erweiterung »%s« ist nicht installiert"
 
-#: commands/extension.c:1758
+#: commands/extension.c:1871
 #, 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:1793
+#: commands/extension.c:1906
 #, c-format
 msgid "extension \"%s\" already exists, skipping"
 msgstr "Erweiterung »%s« existiert bereits, wird übersprungen"
 
-#: commands/extension.c:1800
+#: commands/extension.c:1913
 #, c-format
 msgid "extension \"%s\" already exists"
 msgstr "Erweiterung »%s« existiert bereits"
 
-#: commands/extension.c:1811
+#: commands/extension.c:1924
 #, c-format
 msgid "nested CREATE EXTENSION is not supported"
 msgstr "geschachteltes CREATE EXTENSION wird nicht unterstützt"
 
-#: commands/extension.c:1975
+#: commands/extension.c:2088
 #, 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:2450
+#: commands/extension.c:2563
 #, c-format
 msgid "%s can only be called from an SQL script executed by CREATE EXTENSION"
 msgstr "%s kann nur von einem SQL-Skript aufgerufen werden, das von CREATE EXTENSION ausgeführt wird"
 
-#: commands/extension.c:2462
+#: commands/extension.c:2575
 #, c-format
 msgid "OID %u does not refer to a table"
 msgstr "OID %u bezieht sich nicht auf eine Tabelle"
 
-#: commands/extension.c:2467
+#: commands/extension.c:2580
 #, 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:2813
+#: commands/extension.c:2926
 #, 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:2854 commands/extension.c:2948
+#: commands/extension.c:2967 commands/extension.c:3061
 #, c-format
 msgid "extension \"%s\" does not support SET SCHEMA"
 msgstr "Erweiterung »%s« unterstützt SET SCHEMA nicht"
 
-#: commands/extension.c:2911
+#: commands/extension.c:3024
 #, c-format
 msgid "cannot SET SCHEMA of extension \"%s\" because other extensions prevent it"
 msgstr "SET SCHEMA für Erweiterung »%s« ist nicht möglich, weil andere Erweiterungen es verhindern"
 
-#: commands/extension.c:2913
+#: commands/extension.c:3026
 #, c-format
 msgid "Extension \"%s\" requests no relocation of extension \"%s\"."
 msgstr "Erweiterung »%s« verhindert Verlagerung von Erweiterung »%s«."
 
-#: commands/extension.c:2950
+#: commands/extension.c:3063
 #, c-format
 msgid "%s is not in the extension's schema \"%s\""
 msgstr "%s ist nicht im Schema der Erweiterung (»%s«)"
 
-#: commands/extension.c:3011
+#: commands/extension.c:3124
 #, c-format
 msgid "nested ALTER EXTENSION is not supported"
 msgstr "geschachteltes ALTER EXTENSION wird nicht unterstützt"
 
-#: commands/extension.c:3100
+#: commands/extension.c:3213
 #, c-format
 msgid "version \"%s\" of extension \"%s\" is already installed"
 msgstr "Version »%s« von Erweiterung »%s« ist bereits installiert"
 
-#: commands/extension.c:3311
+#: commands/extension.c:3424
 #, c-format
 msgid "cannot add an object of this type to an extension"
 msgstr "ein Objekt dieses Typs kann nicht zu einer Erweiterung hinzugefügt werden"
 
-#: commands/extension.c:3409
+#: commands/extension.c:3522
 #, 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:3491 commands/typecmds.c:4042 utils/fmgr/funcapi.c:725
+#: commands/extension.c:3604 commands/typecmds.c:4029 utils/fmgr/funcapi.c:725
 #, c-format
 msgid "could not find multirange type for data type %s"
 msgstr "konnte Multirange-Typ für Datentyp %s nicht finden"
 
-#: commands/extension.c:3532
+#: commands/extension.c:3646
 #, c-format
 msgid "file \"%s\" is too large"
 msgstr "Datei »%s« ist zu groß"
@@ -8672,641 +8781,692 @@ msgstr "Hüllentypdefinition wird erzeugt."
 msgid "SQL function cannot accept shell type %s"
 msgstr "SQL-Funktion kann keinen Hüllentyp %s annehmen"
 
-#: commands/functioncmds.c:250
+#: commands/functioncmds.c:251
 #, c-format
 msgid "aggregate cannot accept shell type %s"
 msgstr "Aggregatfunktion kann keinen Hüllentyp %s annehmen"
 
-#: commands/functioncmds.c:255
+#: commands/functioncmds.c:257
 #, c-format
 msgid "argument type %s is only a shell"
 msgstr "Argumenttyp %s ist nur eine Hülle"
 
-#: commands/functioncmds.c:265
+#: commands/functioncmds.c:268
 #, c-format
 msgid "type %s does not exist"
 msgstr "Typ %s existiert nicht"
 
-#: commands/functioncmds.c:279
+#: commands/functioncmds.c:283
 #, c-format
 msgid "aggregates cannot accept set arguments"
 msgstr "Aggregatfunktionen können keine SETOF-Argumente haben"
 
-#: commands/functioncmds.c:283
+#: commands/functioncmds.c:288
 #, c-format
 msgid "procedures cannot accept set arguments"
 msgstr "Prozeduren können keine SETOF-Argumente haben"
 
-#: commands/functioncmds.c:287
+#: commands/functioncmds.c:293
 #, c-format
 msgid "functions cannot accept set arguments"
 msgstr "Funktionen können keine SETOF-Argumente haben"
 
-#: commands/functioncmds.c:297
+#: commands/functioncmds.c:304
 #, c-format
 msgid "VARIADIC parameter must be the last input parameter"
 msgstr "VARIADIC-Parameter muss der letzte Eingabeparameter sein"
 
-#: commands/functioncmds.c:317
+#: commands/functioncmds.c:325
 #, c-format
 msgid "VARIADIC parameter must be the last parameter"
 msgstr "VARIADIC-Parameter muss der letzte Parameter sein"
 
-#: commands/functioncmds.c:342
+#: commands/functioncmds.c:351
 #, c-format
 msgid "VARIADIC parameter must be an array"
 msgstr "VARIADIC-Parameter muss ein Array sein"
 
-#: commands/functioncmds.c:387
+#: commands/functioncmds.c:397
 #, c-format
 msgid "parameter name \"%s\" used more than once"
 msgstr "Parametername »%s« mehrmals angegeben"
 
-#: commands/functioncmds.c:405
+#: commands/functioncmds.c:416
 #, c-format
 msgid "only input parameters can have default values"
 msgstr "nur Eingabeparameter können Vorgabewerte haben"
 
-#: commands/functioncmds.c:420
+#: commands/functioncmds.c:432
 #, c-format
 msgid "cannot use table references in parameter default value"
 msgstr "Tabellenverweise können nicht in Parametervorgabewerten verwendet werden"
 
-#: commands/functioncmds.c:444
+#: commands/functioncmds.c:457
 #, 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:454
+#: commands/functioncmds.c:468
 #, c-format
 msgid "procedure OUT parameters cannot appear after one with a default value"
 msgstr "Prozedur-OUT-Parameter können nicht nach einem Parameter mit Vorgabewert stehen"
 
-#: commands/functioncmds.c:596 commands/functioncmds.c:775
+#: commands/functioncmds.c:611 commands/functioncmds.c:790
 #, c-format
 msgid "invalid attribute in procedure definition"
 msgstr "ungültiges Attribut in Prozedurdefinition"
 
-#: commands/functioncmds.c:692
+#: commands/functioncmds.c:707
 #, c-format
 msgid "support function %s must return type %s"
 msgstr "Unterstützungsfunktion %s muss Rückgabetyp %s haben"
 
-#: commands/functioncmds.c:703
+#: commands/functioncmds.c:718
 #, c-format
 msgid "must be superuser to specify a support function"
 msgstr "nur Superuser können eine Support-Funktion angeben"
 
-#: commands/functioncmds.c:824 commands/functioncmds.c:1427
+#: commands/functioncmds.c:839 commands/functioncmds.c:1442
 #, c-format
 msgid "COST must be positive"
 msgstr "COST muss positiv sein"
 
-#: commands/functioncmds.c:832 commands/functioncmds.c:1435
+#: commands/functioncmds.c:847 commands/functioncmds.c:1450
 #, c-format
 msgid "ROWS must be positive"
 msgstr "ROWS muss positiv sein"
 
-#: commands/functioncmds.c:861
+#: commands/functioncmds.c:876
 #, c-format
 msgid "no function body specified"
 msgstr "kein Funktionskörper angegeben"
 
-#: commands/functioncmds.c:866
+#: commands/functioncmds.c:881
 #, c-format
 msgid "duplicate function body specified"
 msgstr "doppelter Funktionskörper angegeben"
 
-#: commands/functioncmds.c:871
+#: commands/functioncmds.c:886
 #, c-format
 msgid "inline SQL function body only valid for language SQL"
 msgstr "Inline-SQL-Funktionskörper ist nur gültig für Sprache SQL"
 
-#: commands/functioncmds.c:913
+#: commands/functioncmds.c:928
 #, c-format
 msgid "SQL function with unquoted function body cannot have polymorphic arguments"
 msgstr "SQL-Funktion mit Funktionsrumpf nicht in Anführungszeichen kann keine polymorphen Argumente haben"
 
-#: commands/functioncmds.c:939 commands/functioncmds.c:958
+#: commands/functioncmds.c:954 commands/functioncmds.c:973
 #, c-format
 msgid "%s is not yet supported in unquoted SQL function body"
 msgstr "%s ist in SQL-Funktionen nicht in Anführungszeichen noch nicht erlaubt"
 
-#: commands/functioncmds.c:986
+#: commands/functioncmds.c:1001
 #, 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:1091
+#: commands/functioncmds.c:1106
 #, c-format
 msgid "no language specified"
 msgstr "keine Sprache angegeben"
 
-#: commands/functioncmds.c:1099 commands/functioncmds.c:2117
+#: commands/functioncmds.c:1114 commands/functioncmds.c:2132
 #: commands/proclang.c:235
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "Sprache »%s« existiert nicht"
 
-#: commands/functioncmds.c:1101 commands/functioncmds.c:2119
+#: commands/functioncmds.c:1116 commands/functioncmds.c:2134
 #, c-format
 msgid "Use CREATE EXTENSION to load the language into the database."
 msgstr "Verwenden Sie CREATE EXTENSION, um die Sprache in die Datenbank zu laden."
 
-#: commands/functioncmds.c:1134 commands/functioncmds.c:1419
+#: commands/functioncmds.c:1149 commands/functioncmds.c:1434
 #, c-format
 msgid "only superuser can define a leakproof function"
 msgstr "nur Superuser können eine »leakproof«-Funktion definieren"
 
-#: commands/functioncmds.c:1185
+#: commands/functioncmds.c:1200
 #, 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:1198
+#: commands/functioncmds.c:1213
 #, c-format
 msgid "function result type must be specified"
 msgstr "Ergebnistyp der Funktion muss angegeben werden"
 
-#: commands/functioncmds.c:1251 commands/functioncmds.c:1439
+#: commands/functioncmds.c:1266 commands/functioncmds.c:1454
 #, 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:1546
+#: commands/functioncmds.c:1561
 #, c-format
 msgid "source data type %s is a pseudo-type"
 msgstr "Quelldatentyp %s ist ein Pseudotyp"
 
-#: commands/functioncmds.c:1552
+#: commands/functioncmds.c:1567
 #, c-format
 msgid "target data type %s is a pseudo-type"
 msgstr "Zieldatentyp %s ist ein Pseudotyp"
 
-#: commands/functioncmds.c:1576
+#: commands/functioncmds.c:1591
 #, 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:1581
+#: commands/functioncmds.c:1596
 #, 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:1606
+#: commands/functioncmds.c:1621
 #, c-format
 msgid "cast function must take one to three arguments"
 msgstr "Typumwandlungsfunktion muss ein bis drei Argumente haben"
 
-#: commands/functioncmds.c:1612
+#: commands/functioncmds.c:1627
 #, 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:1616
+#: commands/functioncmds.c:1631
 #, c-format
 msgid "second argument of cast function must be type %s"
 msgstr "zweites Argument der Typumwandlungsfunktion muss Typ %s haben"
 
-#: commands/functioncmds.c:1621
+#: commands/functioncmds.c:1636
 #, c-format
 msgid "third argument of cast function must be type %s"
 msgstr "drittes Argument der Typumwandlungsfunktion muss Typ %s haben"
 
-#: commands/functioncmds.c:1628
+#: commands/functioncmds.c:1643
 #, 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:1639
+#: commands/functioncmds.c:1654
 #, c-format
 msgid "cast function must not be volatile"
 msgstr "Typumwandlungsfunktion darf nicht VOLATILE sein"
 
-#: commands/functioncmds.c:1644
+#: commands/functioncmds.c:1659
 #, c-format
 msgid "cast function must be a normal function"
 msgstr "Typumwandlungsfunktion muss eine normale Funktion sein"
 
-#: commands/functioncmds.c:1648
+#: commands/functioncmds.c:1663
 #, c-format
 msgid "cast function must not return a set"
 msgstr "Typumwandlungsfunktion darf keine Ergebnismenge zurückgeben"
 
-#: commands/functioncmds.c:1674
+#: commands/functioncmds.c:1689
 #, 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:1689
+#: commands/functioncmds.c:1704
 #, c-format
 msgid "source and target data types are not physically compatible"
 msgstr "Quelldatentyp und Zieldatentyp sind nicht physikalisch kompatibel"
 
-#: commands/functioncmds.c:1709
+#: commands/functioncmds.c:1724
 #, c-format
 msgid "composite data types are not binary-compatible"
 msgstr "zusammengesetzte Datentypen sind nicht binärkompatibel"
 
-#: commands/functioncmds.c:1715
+#: commands/functioncmds.c:1730
 #, c-format
 msgid "array data types are not binary-compatible"
 msgstr "Array-Datentypen sind nicht binärkompatibel"
 
-#: commands/functioncmds.c:1723
+#: commands/functioncmds.c:1738
 #, c-format
 msgid "range data types are not binary-compatible"
 msgstr "Range-Datentypen sind nicht binärkompatibel"
 
-#: commands/functioncmds.c:1729
+#: commands/functioncmds.c:1744
 #, c-format
 msgid "enum data types are not binary-compatible"
 msgstr "Enum-Datentypen sind nicht binärkompatibel"
 
-#: commands/functioncmds.c:1746
+#: commands/functioncmds.c:1761
 #, 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:1756
+#: commands/functioncmds.c:1771
 #, c-format
 msgid "source data type and target data type are the same"
 msgstr "Quelldatentyp und Zieldatentyp sind der selbe"
 
-#: commands/functioncmds.c:1789
+#: commands/functioncmds.c:1804
 #, c-format
 msgid "transform function must not be volatile"
 msgstr "Transformationsfunktion darf nicht VOLATILE sein"
 
-#: commands/functioncmds.c:1793
+#: commands/functioncmds.c:1808
 #, c-format
 msgid "transform function must be a normal function"
 msgstr "Transformationsfunktion muss eine normale Funktion sein"
 
-#: commands/functioncmds.c:1797
+#: commands/functioncmds.c:1812
 #, c-format
 msgid "transform function must not return a set"
 msgstr "Transformationsfunktion darf keine Ergebnismenge zurückgeben"
 
-#: commands/functioncmds.c:1801
+#: commands/functioncmds.c:1816
 #, c-format
 msgid "transform function must take one argument"
 msgstr "Transformationsfunktion muss ein Argument haben"
 
-#: commands/functioncmds.c:1805
+#: commands/functioncmds.c:1820
 #, c-format
 msgid "first argument of transform function must be type %s"
 msgstr "erstes Argument der Transformationsfunktion muss Typ %s haben"
 
-#: commands/functioncmds.c:1844
+#: commands/functioncmds.c:1859
 #, c-format
 msgid "data type %s is a pseudo-type"
 msgstr "Datentyp %s ist ein Pseudotyp"
 
-#: commands/functioncmds.c:1850
+#: commands/functioncmds.c:1865
 #, c-format
 msgid "data type %s is a domain"
 msgstr "Datentyp %s ist eine Domäne"
 
-#: commands/functioncmds.c:1890
+#: commands/functioncmds.c:1905
 #, 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:1916
+#: commands/functioncmds.c:1931
 #, 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:1943
+#: commands/functioncmds.c:1958
 #, c-format
 msgid "transform for type %s language \"%s\" already exists"
 msgstr "Transformation für Typ %s Sprache »%s« existiert bereits"
 
-#: commands/functioncmds.c:2029
+#: commands/functioncmds.c:2044
 #, 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:2053
+#: commands/functioncmds.c:2068
 #, c-format
 msgid "function %s already exists in schema \"%s\""
 msgstr "Funktion %s existiert bereits in Schema »%s«"
 
-#: commands/functioncmds.c:2104
+#: commands/functioncmds.c:2119
 #, c-format
 msgid "no inline code specified"
 msgstr "kein Inline-Code angegeben"
 
-#: commands/functioncmds.c:2150
+#: commands/functioncmds.c:2165
 #, c-format
 msgid "language \"%s\" does not support inline code execution"
 msgstr "Sprache »%s« unterstützt das Ausführen von Inline-Code nicht"
 
-#: commands/functioncmds.c:2245
+#: commands/functioncmds.c:2260
 #, 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:656
+#: commands/indexcmds.c:659
 #, c-format
 msgid "must specify at least one column"
 msgstr "mindestens eine Spalte muss angegeben werden"
 
-#: commands/indexcmds.c:660
+#: commands/indexcmds.c:663
 #, c-format
 msgid "cannot use more than %d columns in an index"
 msgstr "Index kann nicht mehr als %d Spalten enthalten"
 
-#: commands/indexcmds.c:703
+#: commands/indexcmds.c:712
 #, c-format
 msgid "cannot create index on relation \"%s\""
 msgstr "kann keinen Index für Relation »%s« erzeugen"
 
-#: commands/indexcmds.c:729
+#: commands/indexcmds.c:738
 #, c-format
 msgid "cannot create index on partitioned table \"%s\" concurrently"
 msgstr "kann Index für partitionierte Tabelle »%s« nicht nebenläufig erzeugen"
 
-#: commands/indexcmds.c:739
+#: commands/indexcmds.c:748
 #, 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:777 commands/tablecmds.c:818 commands/tablespace.c:1178
+#: commands/indexcmds.c:786 commands/tablecmds.c:855 commands/tablespace.c:1178
 #, c-format
 msgid "cannot specify default tablespace for partitioned relations"
 msgstr "für partitionierte Relationen kann kein Standard-Tablespace angegeben werden"
 
-#: commands/indexcmds.c:809 commands/tablecmds.c:849 commands/tablecmds.c:3588
+#: commands/indexcmds.c:818 commands/tablecmds.c:886 commands/tablecmds.c:3673
 #, 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:842
+#: commands/indexcmds.c:851
 #, c-format
 msgid "substituting access method \"gist\" for obsolete method \"rtree\""
 msgstr "ersetze Zugriffsmethode »gist« für obsolete Methode »rtree«"
 
-#: commands/indexcmds.c:863
+#: commands/indexcmds.c:872
 #, c-format
 msgid "access method \"%s\" does not support unique indexes"
 msgstr "Zugriffsmethode »%s« unterstützt keine Unique Indexe"
 
-#: commands/indexcmds.c:868
+#: commands/indexcmds.c:877
 #, c-format
 msgid "access method \"%s\" does not support included columns"
 msgstr "Zugriffsmethode »%s« unterstützt keine eingeschlossenen Spalten"
 
-#: commands/indexcmds.c:873
+#: commands/indexcmds.c:882
 #, c-format
 msgid "access method \"%s\" does not support multicolumn indexes"
 msgstr "Zugriffsmethode »%s« unterstützt keine mehrspaltigen Indexe"
 
-#: commands/indexcmds.c:878
+#: commands/indexcmds.c:887
 #, c-format
 msgid "access method \"%s\" does not support exclusion constraints"
 msgstr "Zugriffsmethode »%s« unterstützt keine Exclusion-Constraints"
 
-#: commands/indexcmds.c:1007
+#: commands/indexcmds.c:892
+#, fuzzy, c-format
+#| msgid "access method \"%s\" does not support exclusion constraints"
+msgid "access method \"%s\" does not support WITHOUT OVERLAPS constraints"
+msgstr "Zugriffsmethode »%s« unterstützt keine Exclusion-Constraints"
+
+#: commands/indexcmds.c:1023
 #, c-format
 msgid "cannot match partition key to an index using access method \"%s\""
 msgstr "Partitionierungsschlüssel kann nicht mit Zugriffsmethode »%s« mit einem Index gepaart werden"
 
-#: commands/indexcmds.c:1017
+#: commands/indexcmds.c:1033
 #, c-format
 msgid "unsupported %s constraint with partition key definition"
 msgstr "nicht unterstützter %s-Constraint mit Partitionierungsschlüsseldefinition"
 
-#: commands/indexcmds.c:1019
+#: commands/indexcmds.c:1035
 #, c-format
 msgid "%s constraints cannot be used when partition keys include expressions."
 msgstr "%s-Constraints können nicht verwendet werden, wenn Partitionierungsschlüssel Ausdrücke enthalten."
 
-#: commands/indexcmds.c:1069
+#: commands/indexcmds.c:1085
 #, c-format
 msgid "cannot match partition key to index on column \"%s\" using non-equal operator \"%s\""
 msgstr "Partitionierungsschlüssel kann nicht mit Nicht-Ist-Gleich-Operator »%s« mit Index für Spalte »%s« gepaart werden"
 
-#: commands/indexcmds.c:1085
+#: commands/indexcmds.c:1101
 #, c-format
 msgid "unique constraint on partitioned table must include all partitioning columns"
 msgstr "Unique-Constraint für partitionierte Tabelle muss alle Partitionierungsspalten enthalten"
 
-#: commands/indexcmds.c:1086
+#: commands/indexcmds.c:1102
 #, c-format
 msgid "%s constraint on table \"%s\" lacks column \"%s\" which is part of the partition key."
 msgstr "Im %s-Constraint in Tabelle »%s« fehlt Spalte »%s«, welche Teil des Partitionierungsschlüssels ist."
 
-#: commands/indexcmds.c:1105 commands/indexcmds.c:1124
+#: commands/indexcmds.c:1124 commands/indexcmds.c:1153
 #, c-format
 msgid "index creation on system columns is not supported"
 msgstr "Indexerzeugung für Systemspalten wird nicht unterstützt"
 
-#: commands/indexcmds.c:1354 tcop/utility.c:1515
+#: commands/indexcmds.c:1131 commands/indexcmds.c:1170
+#, fuzzy, c-format
+#| msgid "index creation on system columns is not supported"
+msgid "unique constraints on virtual generated columns are not supported"
+msgstr "Indexerzeugung für Systemspalten wird nicht unterstützt"
+
+#: commands/indexcmds.c:1132 commands/indexcmds.c:1171
+#, fuzzy, c-format
+#| msgid "index creation on system columns is not supported"
+msgid "indexes on virtual generated columns are not supported"
+msgstr "Indexerzeugung für Systemspalten wird nicht unterstützt"
+
+#: commands/indexcmds.c:1403 tcop/utility.c:1518
 #, c-format
 msgid "cannot create unique index on partitioned table \"%s\""
 msgstr "kann keinen Unique Index für partitionierte Tabelle »%s« erzeugen"
 
-#: commands/indexcmds.c:1356 tcop/utility.c:1517
+#: commands/indexcmds.c:1405 tcop/utility.c:1520
 #, c-format
 msgid "Table \"%s\" contains partitions that are foreign tables."
 msgstr "Tabelle »%s« enthält Partitionen, die Fremdtabellen sind."
 
-#: commands/indexcmds.c:1806
+#: commands/indexcmds.c:1863
 #, 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:1885 parser/parse_utilcmd.c:2519
-#: parser/parse_utilcmd.c:2654
+#: commands/indexcmds.c:1960 parser/parse_utilcmd.c:2729
+#: parser/parse_utilcmd.c:2912
 #, 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:1909 parser/parse_utilcmd.c:1807
+#: commands/indexcmds.c:1984 parser/parse_utilcmd.c:1981
 #, c-format
 msgid "expressions are not supported in included columns"
 msgstr "in eingeschlossenen Spalten werden keine Ausdrücke unterstützt"
 
-#: commands/indexcmds.c:1950
+#: commands/indexcmds.c:2025
 #, c-format
 msgid "functions in index expression must be marked IMMUTABLE"
 msgstr "Funktionen im Indexausdruck müssen als IMMUTABLE markiert sein"
 
-#: commands/indexcmds.c:1965
+#: commands/indexcmds.c:2040
 #, c-format
 msgid "including column does not support a collation"
 msgstr "inkludierte Spalte unterstützt keine Sortierfolge"
 
-#: commands/indexcmds.c:1969
+#: commands/indexcmds.c:2044
 #, c-format
 msgid "including column does not support an operator class"
 msgstr "inkludierte Spalte unterstützt keine Operatorklasse"
 
-#: commands/indexcmds.c:1973
+#: commands/indexcmds.c:2048
 #, c-format
 msgid "including column does not support ASC/DESC options"
 msgstr "inkludierte Spalte unterstützt die Optionen ASC/DESC nicht"
 
-#: commands/indexcmds.c:1977
+#: commands/indexcmds.c:2052
 #, c-format
 msgid "including column does not support NULLS FIRST/LAST options"
 msgstr "inkludierte Spalte unterstützt die Optionen NULLS FIRST/LAST nicht"
 
-#: commands/indexcmds.c:2020
+#: commands/indexcmds.c:2095
 #, 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:2028 commands/tablecmds.c:18185 commands/typecmds.c:811
-#: parser/parse_expr.c:2785 parser/parse_type.c:568 parser/parse_utilcmd.c:3771
+#: commands/indexcmds.c:2103 commands/tablecmds.c:19170 commands/typecmds.c:812
+#: parser/parse_expr.c:2793 parser/parse_type.c:568 parser/parse_utilcmd.c:4054
 #: utils/adt/misc.c:630
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "Sortierfolgen werden von Typ %s nicht unterstützt"
 
-#: commands/indexcmds.c:2095
+#: commands/indexcmds.c:2170
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "Operator %s ist nicht kommutativ"
 
-#: commands/indexcmds.c:2097
+#: commands/indexcmds.c:2172
 #, 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:2123
+#: commands/indexcmds.c:2182
 #, 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:2126
+#: commands/indexcmds.c:2185
 #, 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:2161
+#: commands/indexcmds.c:2234
 #, 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:2166
+#: commands/indexcmds.c:2239
 #, 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:2210 commands/tablecmds.c:18210
-#: commands/tablecmds.c:18216 commands/typecmds.c:2311
+#: commands/indexcmds.c:2283 commands/tablecmds.c:19195
+#: commands/tablecmds.c:19201 commands/typecmds.c:2337
 #, 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:2212
+#: commands/indexcmds.c:2285
 #, 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:2241 commands/indexcmds.c:2249
+#: commands/indexcmds.c:2314 commands/indexcmds.c:2322
 #: commands/opclasscmds.c:205
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "Operatorklasse »%s« existiert nicht für Zugriffsmethode »%s«"
 
-#: commands/indexcmds.c:2263 commands/typecmds.c:2299
+#: commands/indexcmds.c:2336 commands/typecmds.c:2325
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr "Operatorklasse »%s« akzeptiert Datentyp %s nicht"
 
-#: commands/indexcmds.c:2353
+#: commands/indexcmds.c:2426
 #, 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:2681
+#: commands/indexcmds.c:2475 commands/indexcmds.c:2494
+#: executor/execReplication.c:329 parser/parse_cte.c:302
+#: parser/parse_oper.c:221 utils/adt/array_userfuncs.c:1395
+#: utils/adt/array_userfuncs.c:1538 utils/adt/arrayfuncs.c:3864
+#: utils/adt/arrayfuncs.c:4419 utils/adt/arrayfuncs.c:6438
+#: utils/adt/rowtypes.c:1220
+#, c-format
+msgid "could not identify an equality operator for type %s"
+msgstr "konnte keinen Ist-Gleich-Operator für Typ %s ermitteln"
+
+#: commands/indexcmds.c:2476 commands/indexcmds.c:2495
+#, fuzzy, c-format
+#| msgid "could not identify an ordering operator for type %s"
+msgid "could not identify an overlaps operator for type %s"
+msgstr "konnte keine Sortieroperator für Typ %s ermitteln"
+
+#: commands/indexcmds.c:2477 commands/indexcmds.c:2496
+#, fuzzy, c-format
+#| msgid "could not identify an inequality operator for type %s"
+msgid "could not identify a contained-by operator for type %s"
+msgstr "konnte keinen Ist-Ungleich-Operator für Typ %s ermitteln"
+
+#: commands/indexcmds.c:2478 commands/tablecmds.c:10147
+#, c-format
+msgid "Could not translate compare type %d for operator family \"%s\", input type %s, access method \"%s\"."
+msgstr ""
+
+#: commands/indexcmds.c:2497
+#, fuzzy, c-format
+#| msgid "operator family %s for access method %s"
+msgid "There is no suitable operator in operator family \"%s\" for access method \"%s\"."
+msgstr "Operatorfamilie %s für Zugriffsmethode %s"
+
+#: commands/indexcmds.c:2818
 #, c-format
 msgid "unrecognized REINDEX option \"%s\""
 msgstr "unbekannte REINDEX-Option »%s«"
 
-#: commands/indexcmds.c:2913
+#: commands/indexcmds.c:3050
 #, c-format
 msgid "table \"%s\" has no indexes that can be reindexed concurrently"
 msgstr "Tabelle »%s« hat keine Indexe, die nebenläufig reindiziert werden können"
 
-#: commands/indexcmds.c:2927
+#: commands/indexcmds.c:3064
 #, c-format
 msgid "table \"%s\" has no indexes to reindex"
 msgstr "Tabelle »%s« hat keine zu reindizierenden Indexe"
 
-#: commands/indexcmds.c:2974 commands/indexcmds.c:3485
-#: commands/indexcmds.c:3615
+#: commands/indexcmds.c:3111 commands/indexcmds.c:3622
+#: commands/indexcmds.c:3752
 #, c-format
 msgid "cannot reindex system catalogs concurrently"
 msgstr "Systemkataloge können nicht nebenläufig reindiziert werden"
 
-#: commands/indexcmds.c:2998
+#: commands/indexcmds.c:3135
 #, c-format
 msgid "can only reindex the currently open database"
 msgstr "nur die aktuell geöffnete Datenbank kann reindiziert werden"
 
-#: commands/indexcmds.c:3090
+#: commands/indexcmds.c:3227
 #, c-format
 msgid "cannot reindex system catalogs concurrently, skipping all"
 msgstr "Systemkataloge können nicht nebenläufig reindiziert werden, werden alle übersprungen"
 
-#: commands/indexcmds.c:3123
+#: commands/indexcmds.c:3260
 #, c-format
 msgid "cannot move system relations, skipping all"
 msgstr "Systemrelationen können nicht verschoben werden, werden alle übersprungen"
 
-#: commands/indexcmds.c:3169
+#: commands/indexcmds.c:3306
 #, c-format
 msgid "while reindexing partitioned table \"%s.%s\""
 msgstr "beim Reindizieren der partitionierten Tabelle »%s.%s«"
 
-#: commands/indexcmds.c:3172
+#: commands/indexcmds.c:3309
 #, c-format
 msgid "while reindexing partitioned index \"%s.%s\""
 msgstr "beim Reindizieren des partitionierten Index »%s.%s«"
 
-#: commands/indexcmds.c:3365 commands/indexcmds.c:4241
+#: commands/indexcmds.c:3502 commands/indexcmds.c:4394
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "Tabelle »%s.%s« wurde neu indiziert"
 
-#: commands/indexcmds.c:3517 commands/indexcmds.c:3570
+#: commands/indexcmds.c:3654 commands/indexcmds.c:3707
 #, c-format
 msgid "skipping reindex of invalid index \"%s.%s\""
 msgstr "Reindizieren des ungültigen Index »%s.%s« wird übersprungen"
 
-#: commands/indexcmds.c:3520 commands/indexcmds.c:3573
+#: commands/indexcmds.c:3657 commands/indexcmds.c:3710
 #, c-format
 msgid "Use DROP INDEX or REINDEX INDEX."
 msgstr "Verwenden Sie DROP INDEX oder REINDEX INDEX."
 
-#: commands/indexcmds.c:3524
+#: commands/indexcmds.c:3661
 #, c-format
 msgid "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping"
 msgstr "Exclusion-Constraint-Index »%s.%s« kann nicht nebenläufig reindizert werden, wird übersprungen"
 
-#: commands/indexcmds.c:3680
+#: commands/indexcmds.c:3817
 #, c-format
 msgid "cannot reindex this type of relation concurrently"
 msgstr "diese Art Relation kann nicht nebenläufig reindiziert werden"
 
-#: commands/indexcmds.c:3698
+#: commands/indexcmds.c:3835
 #, c-format
 msgid "cannot move non-shared relation to tablespace \"%s\""
 msgstr "nicht geteilte Relation kann nicht nach Tablespace »%s« verschoben werden"
 
-#: commands/indexcmds.c:4222 commands/indexcmds.c:4234
+#: commands/indexcmds.c:4375 commands/indexcmds.c:4387
 #, c-format
 msgid "index \"%s.%s\" was reindexed"
 msgstr "Index »%s.%s« wurde neu indiziert"
 
-#: commands/indexcmds.c:4224 commands/indexcmds.c:4243
+#: commands/indexcmds.c:4377 commands/indexcmds.c:4396
 #, c-format
 msgid "%s."
 msgstr "%s."
@@ -9316,36 +9476,42 @@ msgstr "%s."
 msgid "cannot lock relation \"%s\""
 msgstr "kann Relation »%s« nicht sperren"
 
-#: commands/matview.c:206
+#: commands/matview.c:208
 #, c-format
 msgid "CONCURRENTLY cannot be used when the materialized view is not populated"
 msgstr "CONCURRENTLY kann nicht verwendet werden, wenn die materialisierte Sicht nicht befüllt ist"
 
-#: commands/matview.c:212 gram.y:18918
+#: commands/matview.c:214 gram.y:19151
 #, c-format
 msgid "%s and %s options cannot be used together"
 msgstr "Optionen %s und %s können nicht zusammen verwendet werden"
 
-#: commands/matview.c:269
+#: commands/matview.c:273
 #, c-format
 msgid "cannot refresh materialized view \"%s\" concurrently"
 msgstr "kann materialisierte Sicht »%s« nicht nebenläufig auffrischen"
 
-#: commands/matview.c:272
+#: commands/matview.c:276
 #, 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:666
+#: commands/matview.c:683
 #, 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:668
+#: commands/matview.c:685
 #, c-format
 msgid "Row: %s"
 msgstr "Zeile: %s"
 
+#: commands/matview.c:841
+#, fuzzy, c-format
+#| msgid "could not find suitable encoding for locale \"%s\""
+msgid "could not find suitable unique index on materialized view"
+msgstr "konnte keine passende Kodierung für Locale »%s« finden"
+
 #: commands/opclasscmds.c:124
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\""
@@ -9459,48 +9625,57 @@ msgid "Valid signature of operator class options parsing function is %s."
 msgstr "Gültige Signatur einer Operatorklassenoptionsparsefunktion ist %s."
 
 #: commands/opclasscmds.c:1259
-#, c-format
-msgid "btree comparison functions must have two arguments"
+#, fuzzy, c-format
+#| msgid "btree comparison functions must have two arguments"
+msgid "ordering comparison functions must have two arguments"
 msgstr "btree-Vergleichsfunktionen müssen zwei Argumente haben"
 
 #: commands/opclasscmds.c:1263
-#, c-format
-msgid "btree comparison functions must return integer"
+#, fuzzy, c-format
+#| msgid "btree comparison functions must return integer"
+msgid "ordering comparison functions must return integer"
 msgstr "btree-Vergleichsfunktionen müssen Typ integer zurückgeben"
 
 #: commands/opclasscmds.c:1280
-#, c-format
-msgid "btree sort support functions must accept type \"internal\""
+#, fuzzy, c-format
+#| msgid "btree sort support functions must accept type \"internal\""
+msgid "ordering sort support functions must accept type \"internal\""
 msgstr "btree-Sortierunterstützungsfunktionen müssen Typ »internal« akzeptieren"
 
 #: commands/opclasscmds.c:1284
-#, c-format
-msgid "btree sort support functions must return void"
+#, fuzzy, c-format
+#| msgid "btree sort support functions must return void"
+msgid "ordering sort support functions must return void"
 msgstr "btree-Sortierunterstützungsfunktionen müssen Typ void zurückgeben"
 
 #: commands/opclasscmds.c:1295
-#, c-format
-msgid "btree in_range functions must have five arguments"
+#, fuzzy, c-format
+#| msgid "btree in_range functions must have five arguments"
+msgid "ordering in_range functions must have five arguments"
 msgstr "btree-in_range-Funktionen müssen fünf Argumente haben"
 
 #: commands/opclasscmds.c:1299
-#, c-format
-msgid "btree in_range functions must return boolean"
+#, fuzzy, c-format
+#| msgid "btree in_range functions must return boolean"
+msgid "ordering in_range functions must return boolean"
 msgstr "btree-in_range-Funktionen müssen Typ boolean zurückgeben"
 
 #: commands/opclasscmds.c:1315
-#, c-format
-msgid "btree equal image functions must have one argument"
+#, fuzzy, c-format
+#| msgid "btree equal image functions must have one argument"
+msgid "ordering equal image functions must have one argument"
 msgstr "btree-equal-image-Funktionen müssen ein Argument haben"
 
 #: commands/opclasscmds.c:1319
-#, c-format
-msgid "btree equal image functions must return boolean"
+#, fuzzy, c-format
+#| msgid "btree equal image functions must return boolean"
+msgid "ordering equal image functions must return boolean"
 msgstr "btree-equal-image-Funktionen müssen Typ boolean zurückgeben"
 
 #: commands/opclasscmds.c:1332
-#, c-format
-msgid "btree equal image functions must not be cross-type"
+#, fuzzy, c-format
+#| msgid "btree equal image functions must not be cross-type"
+msgid "ordering equal image functions must not be cross-type"
 msgstr "btree-equal-image-Funktionen dürfen nicht typübergreifend sein"
 
 #: commands/opclasscmds.c:1342
@@ -9636,11 +9811,11 @@ msgid "operator attribute \"%s\" cannot be changed if it has already been set"
 msgstr "Operator-Attribut »%s« kann nicht geändert werden, wenn es schon gesetzt wurde"
 
 #: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:146
-#: commands/tablecmds.c:1740 commands/tablecmds.c:2340
-#: commands/tablecmds.c:3702 commands/tablecmds.c:6605
-#: commands/tablecmds.c:9637 commands/tablecmds.c:17772
-#: commands/tablecmds.c:17807 commands/trigger.c:316 commands/trigger.c:1332
-#: commands/trigger.c:1442 rewrite/rewriteDefine.c:268
+#: commands/tablecmds.c:1763 commands/tablecmds.c:2363
+#: commands/tablecmds.c:3787 commands/tablecmds.c:6700
+#: commands/tablecmds.c:9904 commands/tablecmds.c:18751
+#: commands/tablecmds.c:18786 commands/trigger.c:318 commands/trigger.c:1337
+#: commands/trigger.c:1447 rewrite/rewriteDefine.c:268
 #: rewrite/rewriteDefine.c:779 rewrite/rewriteRemove.c:74
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
@@ -9681,53 +9856,53 @@ msgstr "Policy »%s« für Tabelle »%s« existiert nicht"
 msgid "only USING expression allowed for SELECT, DELETE"
 msgstr "für SELECT und DELETE sind nur USING-Ausdrücke erlaubt"
 
-#: commands/portalcmds.c:60 commands/portalcmds.c:181 commands/portalcmds.c:232
+#: commands/portalcmds.c:63 commands/portalcmds.c:192 commands/portalcmds.c:243
 #, c-format
 msgid "invalid cursor name: must not be empty"
 msgstr "ungültiger Cursorname: darf nicht leer sein"
 
-#: commands/portalcmds.c:72
+#: commands/portalcmds.c:75
 #, c-format
 msgid "cannot create a cursor WITH HOLD within security-restricted operation"
 msgstr "kann WITH-HOLD-Cursor nicht in einer sicherheitsbeschränkten Operation erzeugen"
 
-#: commands/portalcmds.c:189 commands/portalcmds.c:242
+#: commands/portalcmds.c:200 commands/portalcmds.c:253
 #: executor/execCurrent.c:70 utils/adt/xml.c:2936 utils/adt/xml.c:3106
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "Cursor »%s« existiert nicht"
 
-#: commands/prepare.c:72
+#: commands/prepare.c:73
 #, c-format
 msgid "invalid statement name: must not be empty"
 msgstr "ungültiger Anweisungsname: darf nicht leer sein"
 
-#: commands/prepare.c:227 commands/prepare.c:232
+#: commands/prepare.c:229 commands/prepare.c:234
 #, c-format
 msgid "prepared statement is not a SELECT"
 msgstr "vorbereitete Anweisung ist kein SELECT"
 
-#: commands/prepare.c:292
+#: commands/prepare.c:294
 #, c-format
 msgid "wrong number of parameters for prepared statement \"%s\""
 msgstr "falsche Anzahl Parameter für vorbereitete Anweisung »%s«"
 
-#: commands/prepare.c:294
+#: commands/prepare.c:296
 #, c-format
 msgid "Expected %d parameters but got %d."
 msgstr "%d Parameter erwartet aber %d erhalten."
 
-#: commands/prepare.c:327
+#: commands/prepare.c:329
 #, c-format
 msgid "parameter $%d of type %s cannot be coerced to the expected type %s"
 msgstr "Parameter $%d mit Typ %s kann nicht in erwarteten Typ %s umgewandelt werden"
 
-#: commands/prepare.c:411
+#: commands/prepare.c:413
 #, c-format
 msgid "prepared statement \"%s\" already exists"
 msgstr "vorbereitete Anweisung »%s« existiert bereits"
 
-#: commands/prepare.c:450
+#: commands/prepare.c:452
 #, c-format
 msgid "prepared statement \"%s\" does not exist"
 msgstr "vorbereitete Anweisung »%s« existiert nicht"
@@ -9737,203 +9912,210 @@ msgstr "vorbereitete Anweisung »%s« existiert nicht"
 msgid "must be superuser to create custom procedural language"
 msgstr "nur Superuser können maßgeschneiderte prozedurale Sprachen erzeugen"
 
-#: commands/publicationcmds.c:124 postmaster/postmaster.c:1108
-#: postmaster/postmaster.c:1210 utils/init/miscinit.c:1865
+#: commands/publicationcmds.c:130 libpq/auth-oauth.c:850
+#: postmaster/postmaster.c:1120 postmaster/postmaster.c:1222
+#: utils/init/miscinit.c:1867
 #, c-format
 msgid "invalid list syntax in parameter \"%s\""
 msgstr "ungültige Listensyntax für Parameter »%s«"
 
-#: commands/publicationcmds.c:143
+#: commands/publicationcmds.c:149
 #, c-format
 msgid "unrecognized value for publication option \"%s\": \"%s\""
 msgstr "unbekannter Wert für Publikationsoption »%s«: »%s«"
 
-#: commands/publicationcmds.c:157
+#: commands/publicationcmds.c:170
 #, c-format
 msgid "unrecognized publication parameter: \"%s\""
 msgstr "unbekannter Publikationsparameter: »%s«"
 
-#: commands/publicationcmds.c:198
+#: commands/publicationcmds.c:211
 #, c-format
 msgid "no schema has been selected for CURRENT_SCHEMA"
 msgstr "kein Schema für CURRENT_SCHEMA ausgewählt"
 
-#: commands/publicationcmds.c:495
+#: commands/publicationcmds.c:553
 msgid "System columns are not allowed."
 msgstr "Systemspalten sind nicht erlaubt."
 
-#: commands/publicationcmds.c:502 commands/publicationcmds.c:507
-#: commands/publicationcmds.c:524
+#: commands/publicationcmds.c:560 commands/publicationcmds.c:565
+#: commands/publicationcmds.c:582
 msgid "User-defined operators are not allowed."
 msgstr "Benutzerdefinierte Operatoren sind nicht erlaubt."
 
-#: commands/publicationcmds.c:548
+#: commands/publicationcmds.c:606
 msgid "Only columns, constants, built-in operators, built-in data types, built-in collations, and immutable built-in functions are allowed."
 msgstr "Nur Spalten, Konstanten, eingebaute Operatoren, eingebaute Datentypen, eingebaute Sortierfolgen und eingebaute Funktionen, die »immutable« sind, sind erlaubt."
 
-#: commands/publicationcmds.c:560
+#: commands/publicationcmds.c:618
 msgid "User-defined types are not allowed."
 msgstr "Benutzerdefinierte Typen sind nicht erlaubt."
 
-#: commands/publicationcmds.c:563
+#: commands/publicationcmds.c:621
 msgid "User-defined or built-in mutable functions are not allowed."
 msgstr "Benutzerdefinierte Funktionen oder eingebaute Funktionen, die nicht »immutable« sind, sind nicht erlaubt."
 
-#: commands/publicationcmds.c:566
+#: commands/publicationcmds.c:624
 msgid "User-defined collations are not allowed."
 msgstr "Benutzerdefinierte Sortierfolgen sind nicht erlaubt."
 
-#: commands/publicationcmds.c:576
+#: commands/publicationcmds.c:634
 #, c-format
 msgid "invalid publication WHERE expression"
 msgstr "ungültiger WHERE-Ausdruck für Publikation"
 
-#: commands/publicationcmds.c:629
+#: commands/publicationcmds.c:687
 #, c-format
 msgid "cannot use publication WHERE clause for relation \"%s\""
 msgstr "Publikations-WHERE-Ausdruck kann nicht für Relation »%s« verwendet werden"
 
-#: commands/publicationcmds.c:631
+#: commands/publicationcmds.c:689
 #, c-format
 msgid "WHERE clause cannot be used for a partitioned table when %s is false."
 msgstr "WHERE-Klausel kann nicht für eine partitionierte Tabelle verwendet werden, wenn %s falsch ist."
 
-#: commands/publicationcmds.c:702 commands/publicationcmds.c:716
+#: commands/publicationcmds.c:762 commands/publicationcmds.c:776
 #, c-format
 msgid "cannot use column list for relation \"%s.%s\" in publication \"%s\""
 msgstr "für Relation »%s.%s« in Publikation »%s« kann keine Spaltenliste verwendet werden"
 
-#: commands/publicationcmds.c:705
+#: commands/publicationcmds.c:765
 #, c-format
 msgid "Column lists cannot be specified in publications containing FOR TABLES IN SCHEMA elements."
 msgstr "Spaltenlisten können nicht in Publikationen, die FOR-TABLES-IN-SCHEMA-Elemente enthalten, angegeben werden."
 
-#: commands/publicationcmds.c:719
+#: commands/publicationcmds.c:779
 #, c-format
 msgid "Column lists cannot be specified for partitioned tables when %s is false."
 msgstr "Spaltenlisten können nicht für partitionierte Tabellen angegeben werden, wenn %s falsch ist."
 
-#: commands/publicationcmds.c:754
+#: commands/publicationcmds.c:816
 #, 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:825
+#: commands/publicationcmds.c:891
 #, c-format
 msgid "must be superuser to create FOR TABLES IN SCHEMA publication"
 msgstr "nur Superuser können eine Publikation FOR TABLES IN SCHEMA erzeugen"
 
-#: commands/publicationcmds.c:861
+#: commands/publicationcmds.c:927
 #, c-format
 msgid "\"wal_level\" is insufficient to publish logical changes"
 msgstr "»wal_level« ist nicht ausreichend, um logische Veränderungen zu publizieren"
 
-#: commands/publicationcmds.c:862
+#: commands/publicationcmds.c:928
 #, c-format
 msgid "Set \"wal_level\" to \"logical\" before creating subscriptions."
 msgstr "Setzen Sie »wal_level« auf »logical« bevor Sie Subskriptionen erzeugen."
 
-#: commands/publicationcmds.c:958 commands/publicationcmds.c:966
+#: commands/publicationcmds.c:1028 commands/publicationcmds.c:1036
 #, c-format
 msgid "cannot set parameter \"%s\" to false for publication \"%s\""
 msgstr "Parameter »%s« kann für Publikation »%s« nicht auf falsch gesetzt werden"
 
-#: commands/publicationcmds.c:961
+#: commands/publicationcmds.c:1031
 #, c-format
 msgid "The publication contains a WHERE clause for partitioned table \"%s\", which is not allowed when \"%s\" is false."
 msgstr "Die Publikation enthält eine WHERE-Klausel für die partitionierte Tabelle »%s«, was nicht erlaubt ist, wenn »%s« falsch ist."
 
-#: commands/publicationcmds.c:969
+#: commands/publicationcmds.c:1039
 #, c-format
 msgid "The publication contains a column list for partitioned table \"%s\", which is not allowed when \"%s\" is false."
 msgstr "Die Publikation enthält eine Spaltenliste für die partitionierte Tabelle »%s«, was nicht erlaubt ist, wenn »%s« falsch ist."
 
-#: commands/publicationcmds.c:1292
+#: commands/publicationcmds.c:1360
 #, c-format
 msgid "cannot add schema to publication \"%s\""
 msgstr "Schema kann nicht zu Publikation »%s« hinzugefügt werden"
 
-#: commands/publicationcmds.c:1294
+#: commands/publicationcmds.c:1362
 #, c-format
 msgid "Schemas cannot be added if any tables that specify a column list are already part of the publication."
 msgstr "Schemas können nicht hinzugefügt werden, wenn Tabellen, die eine Spaltenliste angeben, schon Teil der Publikation sind."
 
-#: commands/publicationcmds.c:1342
+#: commands/publicationcmds.c:1410
 #, c-format
 msgid "must be superuser to add or set schemas"
 msgstr "nur Superuser können Schemas hinzufügen oder setzen"
 
-#: commands/publicationcmds.c:1351 commands/publicationcmds.c:1359
+#: commands/publicationcmds.c:1419 commands/publicationcmds.c:1427
 #, c-format
 msgid "publication \"%s\" is defined as FOR ALL TABLES"
 msgstr "Publikation »%s« ist als FOR ALL TABLES definiert"
 
-#: commands/publicationcmds.c:1353
+#: commands/publicationcmds.c:1421
 #, c-format
 msgid "Schemas cannot be added to or dropped from FOR ALL TABLES publications."
 msgstr "In einer FOR-ALL-TABLES-Publikation können keine Schemas hinzugefügt oder entfernt werden."
 
-#: commands/publicationcmds.c:1361
+#: commands/publicationcmds.c:1429
 #, c-format
 msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications."
 msgstr "In einer FOR-ALL-TABLES-Publikation können keine Tabellen hinzugefügt oder entfernt werden."
 
-#: commands/publicationcmds.c:1385 commands/publicationcmds.c:1424
-#: commands/publicationcmds.c:1961 utils/cache/lsyscache.c:3634
+#: commands/publicationcmds.c:1453 commands/publicationcmds.c:1492
+#: commands/publicationcmds.c:2029 utils/cache/lsyscache.c:3673
 #, c-format
 msgid "publication \"%s\" does not exist"
 msgstr "Publikation »%s« existiert nicht"
 
-#: commands/publicationcmds.c:1587 commands/publicationcmds.c:1650
+#: commands/publicationcmds.c:1655 commands/publicationcmds.c:1718
 #, c-format
 msgid "conflicting or redundant WHERE clauses for table \"%s\""
 msgstr "widersprüchliche oder überflüssige WHERE-Klauseln für Tabelle »%s«"
 
-#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1662
+#: commands/publicationcmds.c:1662 commands/publicationcmds.c:1730
 #, c-format
 msgid "conflicting or redundant column lists for table \"%s\""
 msgstr "widersprüchliche oder überflüssige Spaltenlisten für Tabelle »%s«"
 
-#: commands/publicationcmds.c:1796
+#: commands/publicationcmds.c:1864
 #, c-format
 msgid "column list must not be specified in ALTER PUBLICATION ... DROP"
 msgstr "in ALTER PUBLICATION ... DROP darf keine Spaltenliste angegeben werden"
 
-#: commands/publicationcmds.c:1808
+#: commands/publicationcmds.c:1876
 #, c-format
 msgid "relation \"%s\" is not part of the publication"
 msgstr "Relation »%s« ist nicht Teil der Publikation"
 
-#: commands/publicationcmds.c:1815
+#: commands/publicationcmds.c:1883
 #, c-format
 msgid "cannot use a WHERE clause when removing a table from a publication"
 msgstr "WHERE-Klausel kann nicht verwendet werden, wenn eine Tabelle aus einer Publikation entfernt wird"
 
-#: commands/publicationcmds.c:1875
+#: commands/publicationcmds.c:1943
 #, c-format
 msgid "tables from schema \"%s\" are not part of the publication"
 msgstr "Tabellen von Schema »%s« sind nicht Teil der Publikation"
 
-#: commands/publicationcmds.c:1918 commands/publicationcmds.c:1925
+#: commands/publicationcmds.c:1986 commands/publicationcmds.c:1993
 #, c-format
 msgid "permission denied to change owner of publication \"%s\""
 msgstr "keine Berechtigung, um Eigentümer der Publikation »%s« zu ändern"
 
-#: commands/publicationcmds.c:1920
+#: commands/publicationcmds.c:1988
 #, c-format
 msgid "The owner of a FOR ALL TABLES publication must be a superuser."
 msgstr "Der Eigentümer einer FOR-ALL-TABLES-Publikation muss ein Superuser sein."
 
-#: commands/publicationcmds.c:1927
+#: commands/publicationcmds.c:1995
 #, c-format
 msgid "The owner of a FOR TABLES IN SCHEMA publication must be a superuser."
 msgstr "Der Eigentümer einer FOR-TABLES-IN-SCHEMA-Publikation muss ein Superuser sein."
 
-#: commands/publicationcmds.c:1993
+#: commands/publicationcmds.c:2061
 #, c-format
 msgid "publication with OID %u does not exist"
 msgstr "Publikation mit OID %u existiert nicht"
 
+#: commands/publicationcmds.c:2094
+#, fuzzy, c-format
+#| msgid "%s requires a numeric value"
+msgid "%s requires a \"none\" or \"stored\" value"
+msgstr "%s erfordert einen numerischen Wert"
+
 #: commands/schemacmds.c:109 commands/schemacmds.c:289
 #, c-format
 msgid "unacceptable schema name \"%s\""
@@ -10089,13 +10271,13 @@ msgstr "Sequenz muss im selben Schema wie die verknüpfte Tabelle sein"
 msgid "cannot change ownership of identity sequence"
 msgstr "kann Eigentümer einer Identitätssequenz nicht ändern"
 
-#: commands/sequence.c:1671 commands/tablecmds.c:14486
-#: commands/tablecmds.c:17181
+#: commands/sequence.c:1671 commands/tablecmds.c:15326
+#: commands/tablecmds.c:18160
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "Sequenz »%s« ist mit Tabelle »%s« verknüpft."
 
-#: commands/statscmds.c:106 commands/statscmds.c:115 tcop/utility.c:1883
+#: commands/statscmds.c:106 commands/statscmds.c:115 tcop/utility.c:1886
 #, c-format
 msgid "only a single relation is allowed in CREATE STATISTICS"
 msgstr "in CREATE STATISTICS ist nur eine einzelne Relation erlaubt"
@@ -10120,1786 +10302,1954 @@ msgstr "Statistikobjekt »%s« existiert bereits"
 msgid "cannot have more than %d columns in statistics"
 msgstr "Statistiken können nicht mehr als %d Spalten enthalten"
 
-#: commands/statscmds.c:247 commands/statscmds.c:270 commands/statscmds.c:304
+#: commands/statscmds.c:247 commands/statscmds.c:276 commands/statscmds.c:316
 #, c-format
 msgid "statistics creation on system columns is not supported"
 msgstr "Statistikerzeugung für Systemspalten wird nicht unterstützt"
 
-#: commands/statscmds.c:254 commands/statscmds.c:277
+#: commands/statscmds.c:253 commands/statscmds.c:282 commands/statscmds.c:322
+#, fuzzy, c-format
+#| msgid "statistics creation on system columns is not supported"
+msgid "statistics creation on virtual generated columns is not supported"
+msgstr "Statistikerzeugung für Systemspalten wird nicht unterstützt"
+
+#: commands/statscmds.c:260 commands/statscmds.c:289
 #, 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:321
+#: commands/statscmds.c:339
 #, c-format
 msgid "expression cannot be used in multivariate statistics because its type %s has no default btree operator class"
 msgstr "Ausdruck kann nicht in multivariaten Statistiken verwendet werden, weil sein Typ %s keine Standardoperatorklasse für btree hat"
 
-#: commands/statscmds.c:342
+#: commands/statscmds.c:360
 #, c-format
 msgid "when building statistics on a single expression, statistics kinds may not be specified"
 msgstr "wenn Statistiken für einen einzelnen Ausdruck gebaut werden, kann die Statistikart nicht angegeben werden"
 
-#: commands/statscmds.c:371
+#: commands/statscmds.c:389
 #, c-format
 msgid "unrecognized statistics kind \"%s\""
 msgstr "unbekannte Statistikart »%s«"
 
-#: commands/statscmds.c:400
+#: commands/statscmds.c:418
 #, c-format
 msgid "extended statistics require at least 2 columns"
 msgstr "erweiterte Statistiken benötigen mindestens 2 Spalten"
 
-#: commands/statscmds.c:418
+#: commands/statscmds.c:436
 #, c-format
 msgid "duplicate column name in statistics definition"
 msgstr "doppelter Spaltenname in Statistikdefinition"
 
-#: commands/statscmds.c:453
+#: commands/statscmds.c:471
 #, c-format
 msgid "duplicate expression in statistics definition"
 msgstr "doppelter Ausdruck in Statistikdefinition"
 
-#: commands/statscmds.c:628 commands/tablecmds.c:8620
+#: commands/statscmds.c:646 commands/tablecmds.c:8802
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "Statistikziel %d ist zu niedrig"
 
-#: commands/statscmds.c:636 commands/tablecmds.c:8628
+#: commands/statscmds.c:654 commands/tablecmds.c:8810
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "setze Statistikziel auf %d herab"
 
-#: commands/statscmds.c:660
+#: commands/statscmds.c:678
 #, c-format
 msgid "statistics object \"%s.%s\" does not exist, skipping"
 msgstr "Statistikobjekt »%s.%s« existiert nicht, wird übersprungen"
 
-#: commands/subscriptioncmds.c:275 commands/subscriptioncmds.c:372
-#, c-format
-msgid "unrecognized subscription parameter: \"%s\""
-msgstr "unbekannter Subskriptionsparameter: »%s«"
-
-#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:404
+#: commands/subscriptioncmds.c:331 replication/pgoutput/pgoutput.c:407
 #, c-format
 msgid "unrecognized origin value: \"%s\""
 msgstr "unbekannter Origin-Wert: »%s«"
 
-#: commands/subscriptioncmds.c:363
+#: commands/subscriptioncmds.c:354
 #, c-format
 msgid "invalid WAL location (LSN): %s"
 msgstr "ungültige WAL-Position (LSN): %s"
 
+#: commands/subscriptioncmds.c:363
+#, c-format
+msgid "unrecognized subscription parameter: \"%s\""
+msgstr "unbekannter Subskriptionsparameter: »%s«"
+
 #. translator: both %s are strings of the form "option = value"
-#: commands/subscriptioncmds.c:387 commands/subscriptioncmds.c:394
-#: commands/subscriptioncmds.c:401 commands/subscriptioncmds.c:423
-#: commands/subscriptioncmds.c:439
+#: commands/subscriptioncmds.c:378 commands/subscriptioncmds.c:385
+#: commands/subscriptioncmds.c:392 commands/subscriptioncmds.c:414
+#: commands/subscriptioncmds.c:430
 #, c-format
 msgid "%s and %s are mutually exclusive options"
 msgstr "die Optionen %s und %s schließen einander aus"
 
 #. translator: both %s are strings of the form "option = value"
-#: commands/subscriptioncmds.c:429 commands/subscriptioncmds.c:445
+#: commands/subscriptioncmds.c:420 commands/subscriptioncmds.c:436
 #, c-format
 msgid "subscription with %s must also set %s"
 msgstr "Subskription mit %s muss auch %s setzen"
 
-#: commands/subscriptioncmds.c:506
+#: commands/subscriptioncmds.c:466
 #, c-format
 msgid "could not receive list of publications from the publisher: %s"
 msgstr "konnte Liste der Publikationen nicht vom Publikationsserver empfangen: %s"
 
-#: commands/subscriptioncmds.c:538
+#: commands/subscriptioncmds.c:498
 #, c-format
 msgid "publication %s does not exist on the publisher"
 msgid_plural "publications %s do not exist on the publisher"
 msgstr[0] "Publikation %s existiert auf dem Publikationsserver nicht"
 msgstr[1] "Publikationen %s existieren auf dem Publikationsserver nicht"
 
-#: commands/subscriptioncmds.c:626
+#: commands/subscriptioncmds.c:586
 #, c-format
 msgid "permission denied to create subscription"
 msgstr "keine Berechtigung, um Subskription zu erzeugen"
 
-#: commands/subscriptioncmds.c:627
+#: commands/subscriptioncmds.c:587
 #, c-format
 msgid "Only roles with privileges of the \"%s\" role may create subscriptions."
 msgstr "Nur Rollen mit den Privilegien der Rolle »%s« können Subskriptionen erzeugen."
 
-#: commands/subscriptioncmds.c:758 commands/subscriptioncmds.c:891
-#: commands/subscriptioncmds.c:1524 replication/logical/tablesync.c:1345
-#: replication/logical/worker.c:4503
-#, c-format
-msgid "could not connect to the publisher: %s"
+#: commands/subscriptioncmds.c:718 commands/subscriptioncmds.c:852
+#: commands/subscriptioncmds.c:1594
+#, fuzzy, c-format
+#| msgid "could not connect to the publisher: %s"
+msgid "subscription \"%s\" could not connect to the publisher: %s"
 msgstr "konnte nicht mit dem Publikationsserver verbinden: %s"
 
-#: commands/subscriptioncmds.c:829
+#: commands/subscriptioncmds.c:790
 #, c-format
 msgid "created replication slot \"%s\" on publisher"
 msgstr "Replikations-Slot »%s« wurde auf dem Publikationsserver erzeugt"
 
-#: commands/subscriptioncmds.c:841
+#: commands/subscriptioncmds.c:802
 #, c-format
 msgid "subscription was created, but is not connected"
 msgstr "Subskription wurde erzeugt, ist aber nicht verbunden"
 
-#: commands/subscriptioncmds.c:842
+#: commands/subscriptioncmds.c:803
 #, c-format
 msgid "To initiate replication, you must manually create the replication slot, enable the subscription, and refresh the subscription."
 msgstr "Um die Replikation einzuleiten, müssen Sie den Replikations-Slot manuell erzeugen, die Subskription aktivieren und die Subskription auffrischen."
 
-#: commands/subscriptioncmds.c:1109 commands/subscriptioncmds.c:1590
-#: commands/subscriptioncmds.c:1973 utils/cache/lsyscache.c:3684
+#: commands/subscriptioncmds.c:1070
+#, fuzzy, c-format
+#| msgid "cannot set %s for enabled subscription"
+msgid "cannot set option \"%s\" for enabled subscription"
+msgstr "für eine aktivierte Subskription kann nicht %s gesetzt werden"
+
+#: commands/subscriptioncmds.c:1084
 #, c-format
-msgid "subscription \"%s\" does not exist"
+msgid "cannot set option \"%s\" for a subscription that does not have a slot name"
+msgstr "Option »%s« kann nicht für eine Subskription ohne Slot-Name gesetzt werden"
+
+#: commands/subscriptioncmds.c:1127 commands/subscriptioncmds.c:1663
+#: commands/subscriptioncmds.c:2044 utils/cache/lsyscache.c:3723
+#, c-format
+msgid "subscription \"%s\" does not exist"
 msgstr "Subskription »%s« existiert nicht"
 
-#: commands/subscriptioncmds.c:1166 commands/subscriptioncmds.c:1245
+#: commands/subscriptioncmds.c:1185
 #, c-format
 msgid "cannot set %s for enabled subscription"
 msgstr "für eine aktivierte Subskription kann nicht %s gesetzt werden"
 
-#: commands/subscriptioncmds.c:1233
+#: commands/subscriptioncmds.c:1270
+#, fuzzy, c-format
+#| msgid "source and target cluster are on the same timeline"
+msgid "slot_name and two_phase cannot be altered at the same time"
+msgstr "Quell- und Ziel-Cluster sind auf der gleichen Zeitleiste"
+
+#: commands/subscriptioncmds.c:1286
+#, fuzzy, c-format
+#| msgid "cannot use %s with a logical replication slot"
+msgid "cannot alter two_phase when logical replication worker is still running"
+msgstr "%s kann nicht mit einem logischem Replikations-Slot verwendet werden"
+
+#: commands/subscriptioncmds.c:1287
 #, c-format
-msgid "cannot set option \"%s\" for a subscription that does not have a slot name"
-msgstr "Option »%s« kann nicht für eine Subskription ohne Slot-Name gesetzt werden"
+msgid "Try again after some time."
+msgstr ""
+
+#: commands/subscriptioncmds.c:1300
+#, c-format
+msgid "cannot disable two_phase when prepared transactions are present"
+msgstr ""
 
-#: commands/subscriptioncmds.c:1279
+#: commands/subscriptioncmds.c:1301
+#, fuzzy, c-format
+#| msgid "Stop the standby server and try again."
+msgid "Resolve these transactions and try again."
+msgstr "Halten Sie den Standby-Server an und versuchen Sie erneut."
+
+#: commands/subscriptioncmds.c:1348
 #, 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:1323 commands/subscriptioncmds.c:1374
+#: commands/subscriptioncmds.c:1392 commands/subscriptioncmds.c:1443
 #, 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:1324
+#: commands/subscriptioncmds.c:1393
 #, c-format
 msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 msgstr "Verwenden Sie ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 
-#: commands/subscriptioncmds.c:1333 commands/subscriptioncmds.c:1388
+#: commands/subscriptioncmds.c:1402 commands/subscriptioncmds.c:1457
 #, c-format
 msgid "ALTER SUBSCRIPTION with refresh and copy_data is not allowed when two_phase is enabled"
 msgstr "ALTER SUBSCRIPTION mit »refresh« und »copy_data« ist nicht erlaubt, wenn »two_phase« eingeschaltet ist"
 
-#: commands/subscriptioncmds.c:1334
+#: commands/subscriptioncmds.c:1403
 #, c-format
 msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION with refresh = false, or with copy_data = false, or use DROP/CREATE SUBSCRIPTION."
 msgstr "Verwenden Sie ALTER SUBSCRIPTION ... SET PUBLICATION mit refresh = false, oder mit copy_data = false, oder verwenden Sie DROP/CREATE SUBSCRIPTION."
 
 #. translator: %s is an SQL ALTER command
-#: commands/subscriptioncmds.c:1390
+#: commands/subscriptioncmds.c:1459
 #, c-format
 msgid "Use %s with refresh = false, or with copy_data = false, or use DROP/CREATE SUBSCRIPTION."
 msgstr "Verwenden Sie %s mit refresh = false, oder mit copy_data = false, oder verwenden Sie DROP/CREATE SUBSCRIPTION."
 
-#: commands/subscriptioncmds.c:1412
+#: commands/subscriptioncmds.c:1481
 #, 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:1437
+#: commands/subscriptioncmds.c:1506
 #, c-format
 msgid "ALTER SUBSCRIPTION ... REFRESH with copy_data is not allowed when two_phase is enabled"
 msgstr "ALTER SUBSCRIPTION ... REFRESH mit »copy_data« ist nicht erlaubt, wenn »two_phase« eingeschaltet ist"
 
-#: commands/subscriptioncmds.c:1438
+#: commands/subscriptioncmds.c:1507
 #, c-format
 msgid "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/CREATE SUBSCRIPTION."
 msgstr "Verwenden Sie ALTER SUBSCRIPTION ... REFRESH mit copy_data = false, oder verwenden Sie DROP/CREATE SUBSCRIPTION."
 
-#: commands/subscriptioncmds.c:1473
+#: commands/subscriptioncmds.c:1542
 #, c-format
 msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X"
 msgstr "zu überspringende WAL-Position (LSN %X/%X) muss größer als Origin-LSN %X/%X sein"
 
-#: commands/subscriptioncmds.c:1594
+#: commands/subscriptioncmds.c:1667
 #, c-format
 msgid "subscription \"%s\" does not exist, skipping"
 msgstr "Subskription »%s« existiert nicht, wird übersprungen"
 
-#: commands/subscriptioncmds.c:1863
+#: commands/subscriptioncmds.c:1934
 #, c-format
 msgid "dropped replication slot \"%s\" on publisher"
 msgstr "Replikations-Slot »%s« auf dem Publikationsserver wurde gelöscht"
 
-#: commands/subscriptioncmds.c:1872 commands/subscriptioncmds.c:1880
+#: commands/subscriptioncmds.c:1943 commands/subscriptioncmds.c:1951
 #, c-format
 msgid "could not drop replication slot \"%s\" on publisher: %s"
 msgstr "konnte Replikations-Slot »%s« auf dem Publikationsserver nicht löschen: %s"
 
-#: commands/subscriptioncmds.c:2005
+#: commands/subscriptioncmds.c:2076
 #, c-format
 msgid "subscription with OID %u does not exist"
 msgstr "Subskription mit OID %u existiert nicht"
 
-#: commands/subscriptioncmds.c:2076 commands/subscriptioncmds.c:2201
+#: commands/subscriptioncmds.c:2150 commands/subscriptioncmds.c:2274
 #, c-format
 msgid "could not receive list of replicated tables from the publisher: %s"
 msgstr "konnte Liste der replizierten Tabellen nicht vom Publikationsserver empfangen: %s"
 
-#: commands/subscriptioncmds.c:2112
+#: commands/subscriptioncmds.c:2186
 #, c-format
 msgid "subscription \"%s\" requested copy_data with origin = NONE but might copy data that had a different origin"
 msgstr "Subskription »%s« verlangte copy_data mit origin = NONE, aber könnte Daten kopieren, die einen anderen Origin hatten"
 
-#: commands/subscriptioncmds.c:2114
+#: commands/subscriptioncmds.c:2188
 #, c-format
 msgid "The subscription being created subscribes to a publication (%s) that contains tables that are written to by other subscriptions."
 msgid_plural "The subscription being created subscribes to publications (%s) that contain tables that are written to by other subscriptions."
 msgstr[0] "Die zu erzeugende Subskription hat eine Publikation (%s) abonniert, die Tabellen enthält, in die von anderen Subskriptionen geschrieben wird."
 msgstr[1] "Die zu erzeugende Subskription hat Publikationen (%s) abonniert, die Tabellen enthalten, in die von anderen Subskriptionen geschrieben wird."
 
-#: commands/subscriptioncmds.c:2117
+#: commands/subscriptioncmds.c:2191
 #, c-format
 msgid "Verify that initial data copied from the publisher tables did not come from other origins."
 msgstr "Überprüfen Sie, dass die von den publizierten Tabellen kopierten initialen Daten nicht von anderen Origins kamen."
 
-#: commands/subscriptioncmds.c:2223 replication/logical/tablesync.c:906
-#: replication/pgoutput/pgoutput.c:1143
+#: commands/subscriptioncmds.c:2296 replication/logical/tablesync.c:905
+#: replication/pgoutput/pgoutput.c:1157
 #, c-format
 msgid "cannot use different column lists for table \"%s.%s\" in different publications"
 msgstr "für Tabelle »%s.%s« können nicht verschiedene Spaltenlisten für verschiedene Publikationen verwendet werden"
 
-#: commands/subscriptioncmds.c:2273
+#: commands/subscriptioncmds.c:2346
 #, c-format
 msgid "could not connect to publisher when attempting to drop replication slot \"%s\": %s"
 msgstr "konnte beim Versuch den Replikations-Slot »%s« zu löschen nicht mit dem Publikationsserver verbinden: %s"
 
 #. translator: %s is an SQL ALTER command
-#: commands/subscriptioncmds.c:2276
+#: commands/subscriptioncmds.c:2349
 #, c-format
 msgid "Use %s to disable the subscription, and then use %s to disassociate it from the slot."
 msgstr "Verwenden Sie %s, um die Subskription zu deaktivieren, und dann %s, um sie vom Slot zu trennen."
 
-#: commands/subscriptioncmds.c:2307
+#: commands/subscriptioncmds.c:2380
 #, c-format
 msgid "publication name \"%s\" used more than once"
 msgstr "Publikationsname »%s« mehrmals angegeben"
 
-#: commands/subscriptioncmds.c:2351
+#: commands/subscriptioncmds.c:2424
 #, c-format
 msgid "publication \"%s\" is already in subscription \"%s\""
 msgstr "Publikation »%s« ist bereits in Subskription »%s«"
 
-#: commands/subscriptioncmds.c:2365
+#: commands/subscriptioncmds.c:2438
 #, c-format
 msgid "publication \"%s\" is not in subscription \"%s\""
 msgstr "Publikation »%s« ist nicht in Subskription »%s«"
 
-#: commands/subscriptioncmds.c:2376
+#: commands/subscriptioncmds.c:2449
 #, c-format
 msgid "cannot drop all the publications from a subscription"
 msgstr "kann nicht alle Publikationen von einer Subskription löschen"
 
-#: commands/subscriptioncmds.c:2433
+#: commands/subscriptioncmds.c:2506
 #, c-format
 msgid "%s requires a Boolean value or \"parallel\""
 msgstr "%s erfordert einen Boole’schen Wert oder »parallel«"
 
-#: commands/tablecmds.c:255 commands/tablecmds.c:297
+#: commands/tablecmds.c:258 commands/tablecmds.c:300
 #, c-format
 msgid "table \"%s\" does not exist"
 msgstr "Tabelle »%s« existiert nicht"
 
-#: commands/tablecmds.c:256 commands/tablecmds.c:298
+#: commands/tablecmds.c:259 commands/tablecmds.c:301
 #, c-format
 msgid "table \"%s\" does not exist, skipping"
 msgstr "Tabelle »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:258 commands/tablecmds.c:300
+#: commands/tablecmds.c:261 commands/tablecmds.c:303
 msgid "Use DROP TABLE to remove a table."
 msgstr "Verwenden Sie DROP TABLE, um eine Tabelle zu löschen."
 
-#: commands/tablecmds.c:261
+#: commands/tablecmds.c:264
 #, c-format
 msgid "sequence \"%s\" does not exist"
 msgstr "Sequenz »%s« existiert nicht"
 
-#: commands/tablecmds.c:262
+#: commands/tablecmds.c:265
 #, c-format
 msgid "sequence \"%s\" does not exist, skipping"
 msgstr "Sequenz »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:264
+#: commands/tablecmds.c:267
 msgid "Use DROP SEQUENCE to remove a sequence."
 msgstr "Verwenden Sie DROP SEQUENCE, um eine Sequenz zu löschen."
 
-#: commands/tablecmds.c:267
+#: commands/tablecmds.c:270
 #, c-format
 msgid "view \"%s\" does not exist"
 msgstr "Sicht »%s« existiert nicht"
 
-#: commands/tablecmds.c:268
+#: commands/tablecmds.c:271
 #, c-format
 msgid "view \"%s\" does not exist, skipping"
 msgstr "Sicht »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:270
+#: commands/tablecmds.c:273
 msgid "Use DROP VIEW to remove a view."
 msgstr "Verwenden Sie DROP VIEW, um eine Sicht zu löschen."
 
-#: commands/tablecmds.c:273
+#: commands/tablecmds.c:276
 #, c-format
 msgid "materialized view \"%s\" does not exist"
 msgstr "materialisierte Sicht »%s« existiert nicht"
 
-#: commands/tablecmds.c:274
+#: commands/tablecmds.c:277
 #, c-format
 msgid "materialized view \"%s\" does not exist, skipping"
 msgstr "materialisierte Sicht »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:276
+#: commands/tablecmds.c:279
 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:279 commands/tablecmds.c:303 commands/tablecmds.c:19805
-#: parser/parse_utilcmd.c:2251
+#: commands/tablecmds.c:282 commands/tablecmds.c:306 commands/tablecmds.c:20806
+#: parser/parse_utilcmd.c:2421
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "Index »%s« existiert nicht"
 
-#: commands/tablecmds.c:280 commands/tablecmds.c:304
+#: commands/tablecmds.c:283 commands/tablecmds.c:307
 #, c-format
 msgid "index \"%s\" does not exist, skipping"
 msgstr "Index »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:282 commands/tablecmds.c:306
+#: commands/tablecmds.c:285 commands/tablecmds.c:309
 msgid "Use DROP INDEX to remove an index."
 msgstr "Verwenden Sie DROP INDEX, um einen Index zu löschen."
 
-#: commands/tablecmds.c:287
+#: commands/tablecmds.c:290
 #, c-format
 msgid "\"%s\" is not a type"
 msgstr "»%s« ist kein Typ"
 
-#: commands/tablecmds.c:288
+#: commands/tablecmds.c:291
 msgid "Use DROP TYPE to remove a type."
 msgstr "Verwenden Sie DROP TYPE, um einen Typen zu löschen."
 
-#: commands/tablecmds.c:291 commands/tablecmds.c:14325
-#: commands/tablecmds.c:16886
+#: commands/tablecmds.c:294 commands/tablecmds.c:15165
+#: commands/tablecmds.c:17862
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "Fremdtabelle »%s« existiert nicht"
 
-#: commands/tablecmds.c:292
+#: commands/tablecmds.c:295
 #, c-format
 msgid "foreign table \"%s\" does not exist, skipping"
 msgstr "Fremdtabelle »%s« existiert nicht, wird übersprungen"
 
-#: commands/tablecmds.c:294
+#: commands/tablecmds.c:297
 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:734
+#: commands/tablecmds.c:765
 #, 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:765
+#: commands/tablecmds.c:782
+#, fuzzy, c-format
+#| msgid "materialized views cannot be unlogged"
+msgid "partitioned tables cannot be unlogged"
+msgstr "materialisierte Sichten können nicht ungeloggt sein"
+
+#: commands/tablecmds.c:802
 #, 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:801 commands/tablecmds.c:15745
+#: commands/tablecmds.c:838 commands/tablecmds.c:16586
 #, 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:1067
+#: commands/tablecmds.c:1096
 #, c-format
 msgid "\"%s\" is not partitioned"
 msgstr "»%s« ist nicht partitioniert"
 
-#: commands/tablecmds.c:1161
+#: commands/tablecmds.c:1190
 #, c-format
 msgid "cannot partition using more than %d columns"
 msgstr "Partitionierung kann nicht mehr als %d Spalten verwenden"
 
-#: commands/tablecmds.c:1217
+#: commands/tablecmds.c:1246
 #, c-format
 msgid "cannot create foreign partition of partitioned table \"%s\""
 msgstr "kann keine Fremdpartition der partitionierten Tabelle »%s« erzeugen"
 
-#: commands/tablecmds.c:1219
+#: commands/tablecmds.c:1248
 #, c-format
 msgid "Table \"%s\" contains indexes that are unique."
 msgstr "Tabelle »%s« enthält Unique Indexe."
 
-#: commands/tablecmds.c:1338 commands/tablecmds.c:13341
+#: commands/tablecmds.c:1378 commands/tablecmds.c:14165
 #, c-format
 msgid "too many array dimensions"
 msgstr "zu viele Array-Dimensionen"
 
-#: commands/tablecmds.c:1343 parser/parse_clause.c:774
-#: parser/parse_relation.c:1912
+#: commands/tablecmds.c:1383 parser/parse_clause.c:772
+#: parser/parse_relation.c:1929
 #, c-format
 msgid "column \"%s\" cannot be declared SETOF"
 msgstr "Spalte »%s« kann nicht als SETOF deklariert werden"
 
-#: commands/tablecmds.c:1489
+#: commands/tablecmds.c:1512
 #, 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:1493
+#: commands/tablecmds.c:1516
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
 msgstr "DROP INDEX CONCURRENTLY unterstützt kein CASCADE"
 
-#: commands/tablecmds.c:1597
+#: commands/tablecmds.c:1620
 #, c-format
 msgid "cannot drop partitioned index \"%s\" concurrently"
 msgstr "kann partitionierten Index »%s« nicht nebenläufig löschen"
 
-#: commands/tablecmds.c:1885
+#: commands/tablecmds.c:1908
 #, c-format
 msgid "cannot truncate only a partitioned table"
 msgstr "kann nicht nur eine partitionierte Tabelle leeren"
 
-#: commands/tablecmds.c:1886
+#: commands/tablecmds.c:1909
 #, 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:1959
+#: commands/tablecmds.c:1982
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "Truncate-Vorgang leert ebenfalls Tabelle »%s«"
 
-#: commands/tablecmds.c:2320
+#: commands/tablecmds.c:2343
 #, c-format
 msgid "cannot truncate foreign table \"%s\""
 msgstr "kann Fremdtabelle »%s« nicht leeren"
 
-#: commands/tablecmds.c:2377
+#: commands/tablecmds.c:2400
 #, c-format
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht leeren"
 
-#: commands/tablecmds.c:2606 commands/tablecmds.c:15642
+#: commands/tablecmds.c:2638 commands/tablecmds.c:16483
 #, c-format
 msgid "cannot inherit from partitioned table \"%s\""
 msgstr "von partitionierter Tabelle »%s« kann nicht geerbt werden"
 
-#: commands/tablecmds.c:2611
+#: commands/tablecmds.c:2643
 #, c-format
 msgid "cannot inherit from partition \"%s\""
 msgstr "von Partition »%s« kann nicht geerbt werden"
 
-#: commands/tablecmds.c:2619 parser/parse_utilcmd.c:2481
-#: parser/parse_utilcmd.c:2623
+#: commands/tablecmds.c:2651 parser/parse_utilcmd.c:2693
+#: parser/parse_utilcmd.c:2881
 #, 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:2631
+#: commands/tablecmds.c:2663
 #, c-format
 msgid "cannot create a temporary relation as partition of permanent relation \"%s\""
 msgstr "eine temporäre Relation kann nicht als Partition der permanenten Relation »%s« erzeugt werden"
 
-#: commands/tablecmds.c:2640 commands/tablecmds.c:15621
+#: commands/tablecmds.c:2672 commands/tablecmds.c:16462
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "von temporärer Relation »%s« kann nicht geerbt werden"
 
-#: commands/tablecmds.c:2650 commands/tablecmds.c:15629
+#: commands/tablecmds.c:2682 commands/tablecmds.c:16470
 #, 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:2791 commands/tablecmds.c:2845
-#: commands/tablecmds.c:13024 parser/parse_utilcmd.c:1265
-#: parser/parse_utilcmd.c:1308 parser/parse_utilcmd.c:1735
-#: parser/parse_utilcmd.c:1843
+#: commands/tablecmds.c:2837 commands/tablecmds.c:2891
+#: commands/tablecmds.c:13848 parser/parse_utilcmd.c:1432
+#: parser/parse_utilcmd.c:1477 parser/parse_utilcmd.c:1909
+#: parser/parse_utilcmd.c:2017
 #, c-format
 msgid "cannot convert whole-row table reference"
 msgstr "kann Verweis auf ganze Zeile der Tabelle nicht umwandeln"
 
-#: commands/tablecmds.c:2792 parser/parse_utilcmd.c:1266
+#: commands/tablecmds.c:2838 parser/parse_utilcmd.c:1433
 #, c-format
 msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"."
 msgstr "Generierungsausdruck für Spalte »%s« enthält einen Verweis auf die ganze Zeile der Tabelle »%s«."
 
-#: commands/tablecmds.c:2846 parser/parse_utilcmd.c:1309
+#: commands/tablecmds.c:2892 parser/parse_utilcmd.c:1478
 #, 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:2956 commands/tablecmds.c:3227
+#: commands/tablecmds.c:3014 commands/tablecmds.c:3308
 #, c-format
 msgid "column \"%s\" inherits from generated column but specifies default"
 msgstr "Spalte »%s« erbt von einer generierten Spalte aber hat einen Vorgabewert angegeben"
 
-#: commands/tablecmds.c:2961 commands/tablecmds.c:3232
+#: commands/tablecmds.c:3019 commands/tablecmds.c:3313
 #, c-format
 msgid "column \"%s\" inherits from generated column but specifies identity"
 msgstr "Spalte »%s« erbt von einer generierten Spalte aber ist als Identitätsspalte definiert"
 
-#: commands/tablecmds.c:2969 commands/tablecmds.c:3240
+#: commands/tablecmds.c:3027 commands/tablecmds.c:3321
 #, c-format
 msgid "child column \"%s\" specifies generation expression"
 msgstr "abgeleitete Spalte »%s« gibt einen Generierungsausdruck an"
 
-#: commands/tablecmds.c:2971 commands/tablecmds.c:3242
+#: commands/tablecmds.c:3029 commands/tablecmds.c:3323
 #, c-format
 msgid "A child table column cannot be generated unless its parent column is."
 msgstr "Eine Spalte einer abgeleiteten Tabelle kann nur generiert sein, wenn die Spalte in der Elterntabelle es auch ist."
 
-#: commands/tablecmds.c:3017
+#: commands/tablecmds.c:3035 commands/tablecmds.c:3329
+#: commands/tablecmds.c:16748
+#, fuzzy, c-format
+#| msgid "column \"%s\" inherits from generated column but specifies identity"
+msgid "column \"%s\" inherits from generated column of different kind"
+msgstr "Spalte »%s« erbt von einer generierten Spalte aber ist als Identitätsspalte definiert"
+
+#: commands/tablecmds.c:3037 commands/tablecmds.c:3331
+#: commands/tablecmds.c:16749
+#, c-format
+msgid "Parent column is %s, child column is %s."
+msgstr ""
+
+#: commands/tablecmds.c:3084
 #, c-format
 msgid "column \"%s\" inherits conflicting generation expressions"
 msgstr "Spalte »%s« erbt widersprüchliche Generierungsausdrücke"
 
-#: commands/tablecmds.c:3019
+#: commands/tablecmds.c:3086
 #, c-format
 msgid "To resolve the conflict, specify a generation expression explicitly."
 msgstr "Um den Konflikt zu lösen, geben Sie einen Generierungsausdruck ausdrücklich an."
 
-#: commands/tablecmds.c:3023
+#: commands/tablecmds.c:3090
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "Spalte »%s« erbt widersprüchliche Vorgabewerte"
 
-#: commands/tablecmds.c:3025
+#: commands/tablecmds.c:3092
 #, 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:3080
+#: commands/tablecmds.c:3159
 #, 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:3131
+#: commands/tablecmds.c:3212
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "Spalte »%s« wird mit geerbter Definition zusammengeführt"
 
-#: commands/tablecmds.c:3135
+#: commands/tablecmds.c:3216
 #, 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:3136
+#: commands/tablecmds.c:3217
 #, 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:3148
+#: commands/tablecmds.c:3229
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "für Spalte »%s« besteht ein Typkonflikt"
 
-#: commands/tablecmds.c:3150 commands/tablecmds.c:3184
-#: commands/tablecmds.c:3200 commands/tablecmds.c:3307
-#: commands/tablecmds.c:3340 commands/tablecmds.c:3356
-#: parser/parse_coerce.c:2192 parser/parse_coerce.c:2212
-#: parser/parse_coerce.c:2232 parser/parse_coerce.c:2253
-#: parser/parse_coerce.c:2308 parser/parse_coerce.c:2342
-#: parser/parse_coerce.c:2418 parser/parse_coerce.c:2449
-#: parser/parse_coerce.c:2488 parser/parse_coerce.c:2555
-#: parser/parse_param.c:223
+#: commands/tablecmds.c:3231 commands/tablecmds.c:3265
+#: commands/tablecmds.c:3281 commands/tablecmds.c:3397
+#: commands/tablecmds.c:3425 commands/tablecmds.c:3441
+#: parser/parse_coerce.c:2190 parser/parse_coerce.c:2210
+#: parser/parse_coerce.c:2230 parser/parse_coerce.c:2251
+#: parser/parse_coerce.c:2306 parser/parse_coerce.c:2340
+#: parser/parse_coerce.c:2416 parser/parse_coerce.c:2447
+#: parser/parse_coerce.c:2486 parser/parse_coerce.c:2553
+#: parser/parse_param.c:224
 #, c-format
 msgid "%s versus %s"
 msgstr "%s gegen %s"
 
-#: commands/tablecmds.c:3162
+#: commands/tablecmds.c:3243
 #, c-format
 msgid "column \"%s\" has a collation conflict"
 msgstr "für Spalte »%s« besteht ein Sortierfolgenkonflikt"
 
-#: commands/tablecmds.c:3164 commands/tablecmds.c:3326
-#: commands/tablecmds.c:7080
+#: commands/tablecmds.c:3245 commands/tablecmds.c:3411
+#: commands/tablecmds.c:7184
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "»%s« gegen »%s«"
 
-#: commands/tablecmds.c:3182
+#: commands/tablecmds.c:3263
 #, 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:3198 commands/tablecmds.c:3354
+#: commands/tablecmds.c:3279 commands/tablecmds.c:3439
 #, c-format
 msgid "column \"%s\" has a compression method conflict"
 msgstr "für Spalte »%s« besteht ein Komprimierungsmethodenkonflikt"
 
-#: commands/tablecmds.c:3293
+#: commands/tablecmds.c:3383
 #, c-format
 msgid "merging multiple inherited definitions of column \"%s\""
 msgstr "geerbte Definitionen von Spalte »%s« werden zusammengeführt"
 
-#: commands/tablecmds.c:3305
+#: commands/tablecmds.c:3395
 #, c-format
 msgid "inherited column \"%s\" has a type conflict"
 msgstr "geerbte Spalte »%s« hat Typkonflikt"
 
-#: commands/tablecmds.c:3324
+#: commands/tablecmds.c:3409
 #, c-format
 msgid "inherited column \"%s\" has a collation conflict"
 msgstr "geerbte Spalte »%s« hat Sortierfolgenkonflikt"
 
-#: commands/tablecmds.c:3338
+#: commands/tablecmds.c:3423
 #, 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:3366
+#: commands/tablecmds.c:3451
 #, c-format
 msgid "inherited column \"%s\" has a generation conflict"
 msgstr "geerbte Spalte »%s« hat einen Generierungskonflikt"
 
-#: commands/tablecmds.c:3597
+#: commands/tablecmds.c:3682
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "temporäre Tabellen anderer Sitzungen können nicht verschoben werden"
 
-#: commands/tablecmds.c:3670
+#: commands/tablecmds.c:3755
 #, c-format
 msgid "cannot rename column of typed table"
 msgstr "Spalte einer getypten Tabelle kann nicht umbenannt werden"
 
-#: commands/tablecmds.c:3689
+#: commands/tablecmds.c:3774
 #, c-format
 msgid "cannot rename columns of relation \"%s\""
 msgstr "Spalten von Relation »%s« können nicht umbenannt werden"
 
-#: commands/tablecmds.c:3784
+#: commands/tablecmds.c:3869
 #, 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:3816
+#: commands/tablecmds.c:3901
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "Systemspalte »%s« kann nicht umbenannt werden"
 
-#: commands/tablecmds.c:3831
+#: commands/tablecmds.c:3916
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "kann vererbte Spalte »%s« nicht umbenennen"
 
-#: commands/tablecmds.c:3983
+#: commands/tablecmds.c:4071
 #, 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:3990
+#: commands/tablecmds.c:4078
 #, 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:4290
+#: commands/tablecmds.c:4378
 #, 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:4299
+#: commands/tablecmds.c:4387
 #, 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:4325
+#: commands/tablecmds.c:4413
 #, c-format
 msgid "cannot alter temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht ändern"
 
-#: commands/tablecmds.c:4798
+#: commands/tablecmds.c:4877
 #, c-format
 msgid "cannot alter partition \"%s\" with an incomplete detach"
 msgstr "kann Partition »%s« mit einer unvollständigen Abtrennoperation nicht ändern"
 
-#: commands/tablecmds.c:5002 commands/tablecmds.c:5017
+#: commands/tablecmds.c:5106
 #, c-format
 msgid "cannot change persistence setting twice"
 msgstr "Persistenzeinstellung kann nicht zweimal geändert werden"
 
-#: commands/tablecmds.c:5038
+#: commands/tablecmds.c:5123
 #, c-format
 msgid "cannot have multiple SET ACCESS METHOD subcommands"
 msgstr "mehrere SET ACCESS METHOD Unterbefehle sind ungültig"
 
-#: commands/tablecmds.c:5768
+#: commands/tablecmds.c:5857
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "Systemrelation »%s« kann nicht neu geschrieben werden"
 
-#: commands/tablecmds.c:5774
+#: commands/tablecmds.c:5863
 #, 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:5786
+#: commands/tablecmds.c:5875
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "kann temporäre Tabellen anderer Sitzungen nicht neu schreiben"
 
-#: commands/tablecmds.c:6281
+#: commands/tablecmds.c:6375
 #, c-format
 msgid "column \"%s\" of relation \"%s\" contains null values"
 msgstr "Spalte »%s« von Relation »%s« enthält NULL-Werte"
 
-#: commands/tablecmds.c:6298
+#: commands/tablecmds.c:6392
 #, c-format
 msgid "check constraint \"%s\" of relation \"%s\" is violated by some row"
 msgstr "Check-Constraint »%s« von Relation »%s« wird von irgendeiner Zeile verletzt"
 
-#: commands/tablecmds.c:6317 partitioning/partbounds.c:3387
+#: commands/tablecmds.c:6412 partitioning/partbounds.c:3387
 #, c-format
 msgid "updated partition constraint for default partition \"%s\" would be violated by some row"
 msgstr "aktualisierter Partitions-Constraint der Standardpartition »%s« würde von irgendeiner Zeile verletzt werden"
 
-#: commands/tablecmds.c:6323
+#: commands/tablecmds.c:6418
 #, c-format
 msgid "partition constraint of relation \"%s\" is violated by some row"
 msgstr "Partitions-Constraint von Relation »%s« wird von irgendeiner Zeile verletzt"
 
 #. translator: %s is a group of some SQL keywords
-#: commands/tablecmds.c:6588
+#: commands/tablecmds.c:6683
 #, c-format
 msgid "ALTER action %s cannot be performed on relation \"%s\""
 msgstr "ALTER-Aktion %s kann nicht mit Relation »%s« ausgeführt werden"
 
-#: commands/tablecmds.c:6843 commands/tablecmds.c:6850
+#: commands/tablecmds.c:6938 commands/tablecmds.c:6945
 #, 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:6857
+#: commands/tablecmds.c:6952
 #, 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:6864
+#: commands/tablecmds.c:6959
 #, 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:6920
+#: commands/tablecmds.c:7015
 #, 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:6922
+#: commands/tablecmds.c:7017
 #, 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:6968
+#: commands/tablecmds.c:7063
+#, fuzzy, c-format
+#| msgid "cannot alter type \"%s\" because it is the type of a typed table"
+msgid "type %s is the row type of another table"
+msgstr "kann Typ »%s« nicht ändern, weil er der Typ einer getypten Tabelle ist"
+
+#: commands/tablecmds.c:7065
+#, c-format
+msgid "A typed table must use a stand-alone composite type created with CREATE TYPE."
+msgstr ""
+
+#: commands/tablecmds.c:7070
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "Typ %s ist kein zusammengesetzter Typ"
 
-#: commands/tablecmds.c:6995
+#: commands/tablecmds.c:7097
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "zu einer getypten Tabelle kann keine Spalte hinzugefügt werden"
 
-#: commands/tablecmds.c:7043
+#: commands/tablecmds.c:7147
 #, c-format
 msgid "cannot add column to a partition"
 msgstr "zu einer Partition kann keine Spalte hinzugefügt werden"
 
-#: commands/tablecmds.c:7072 commands/tablecmds.c:15860
+#: commands/tablecmds.c:7176 commands/tablecmds.c:16704
 #, 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:7078 commands/tablecmds.c:15866
+#: commands/tablecmds.c:7182 commands/tablecmds.c:16710
 #, 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:7096
+#: commands/tablecmds.c:7200
 #, 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:7149
+#: commands/tablecmds.c:7253
 #, 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:7362
+#: commands/tablecmds.c:7498
 #, 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:7440
+#: commands/tablecmds.c:7576
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists, skipping"
 msgstr "Spalte »%s« von Relation »%s« existiert bereits, wird übersprungen"
 
-#: commands/tablecmds.c:7447
+#: commands/tablecmds.c:7583
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "Spalte »%s« von Relation »%s« existiert bereits"
 
-#: commands/tablecmds.c:7513 commands/tablecmds.c:12652
-#, 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:7514 commands/tablecmds.c:7828
-#: commands/tablecmds.c:8006 commands/tablecmds.c:8113
-#: commands/tablecmds.c:8230 commands/tablecmds.c:9049
-#: commands/tablecmds.c:12653
-#, c-format
-msgid "Do not specify the ONLY keyword."
-msgstr "Lassen Sie das Schlüsselwort ONLY weg."
-
-#: commands/tablecmds.c:7550 commands/tablecmds.c:7754
-#: commands/tablecmds.c:7896 commands/tablecmds.c:8028
-#: commands/tablecmds.c:8157 commands/tablecmds.c:8251
-#: commands/tablecmds.c:8352 commands/tablecmds.c:8509
-#: commands/tablecmds.c:8662 commands/tablecmds.c:8743
-#: commands/tablecmds.c:8877 commands/tablecmds.c:12806
-#: commands/tablecmds.c:14348 commands/tablecmds.c:16975
+#: commands/tablecmds.c:7674 commands/tablecmds.c:7828
+#: commands/tablecmds.c:8028 commands/tablecmds.c:8159
+#: commands/tablecmds.c:8288 commands/tablecmds.c:8382
+#: commands/tablecmds.c:8485 commands/tablecmds.c:8678
+#: commands/tablecmds.c:8844 commands/tablecmds.c:8935
+#: commands/tablecmds.c:9069 commands/tablecmds.c:13623
+#: commands/tablecmds.c:15188 commands/tablecmds.c:17951
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "Systemspalte »%s« kann nicht geändert werden"
 
-#: commands/tablecmds.c:7556 commands/tablecmds.c:7902
+#: commands/tablecmds.c:7680 commands/tablecmds.c:8034
+#: commands/tablecmds.c:13384
 #, 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:7597
-#, c-format
-msgid "column \"%s\" is in a primary key"
-msgstr "Spalte »%s« ist in einem Primärschlüssel"
-
-#: commands/tablecmds.c:7602
-#, c-format
-msgid "column \"%s\" is in index used as replica identity"
-msgstr "Spalte »%s« ist in einem Index, der als Replik-Identität verwendet wird"
-
-#: commands/tablecmds.c:7625
+#: commands/tablecmds.c:7697
 #, c-format
 msgid "column \"%s\" is marked NOT NULL in parent table"
 msgstr "Spalte »%s« ist in Elterntabelle als NOT NULL markiert"
 
-#: commands/tablecmds.c:7825 commands/tablecmds.c:9533
+#: commands/tablecmds.c:7836 commands/tablecmds.c:8504
+#: commands/tablecmds.c:8519 commands/tablecmds.c:8691
+#, fuzzy, c-format
+#| msgid "column \"%s\" of relation \"%s\" is a generated column"
+msgid "Column \"%s\" of relation \"%s\" is a virtual generated column."
+msgstr "Spalte »%s« von Relation »%s« ist eine generierte Spalte"
+
+#: commands/tablecmds.c:7905 commands/tablecmds.c:9803
 #, 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:7826
+#: commands/tablecmds.c:7906 commands/tablecmds.c:8137
+#: commands/tablecmds.c:8244 commands/tablecmds.c:8361
+#: commands/tablecmds.c:9242 commands/tablecmds.c:11849
 #, c-format
-msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL."
-msgstr "Spalte »%s« von Relation »%s« ist nicht bereits NOT NULL."
+msgid "Do not specify the ONLY keyword."
+msgstr "Lassen Sie das Schlüsselwort ONLY weg."
 
-#: commands/tablecmds.c:7911
+#: commands/tablecmds.c:8043
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is a generated column"
 msgstr "Spalte »%s« von Relation »%s« ist eine generierte Spalte"
 
-#: commands/tablecmds.c:8005
+#: commands/tablecmds.c:8136
 #, c-format
 msgid "cannot add identity to a column of only the partitioned table"
 msgstr "Identität kann nicht einer Spalte nur in der partitionierten Tabelle hinzugefügt werden"
 
-#: commands/tablecmds.c:8011
+#: commands/tablecmds.c:8142
 #, c-format
 msgid "cannot add identity to a column of a partition"
 msgstr "zu einer Spalte einer Partition kann keine Identität hinzugefügt werden"
 
-#: commands/tablecmds.c:8039
+#: commands/tablecmds.c:8170
 #, 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:8045
+#: commands/tablecmds.c:8176
 #, 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:8051
+#: commands/tablecmds.c:8182
 #, 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:8112
+#: commands/tablecmds.c:8243
 #, c-format
 msgid "cannot change identity column of only the partitioned table"
 msgstr "Identitätsspalte kann nicht nur in der partitionierten Tabelle geändert werden"
 
-#: commands/tablecmds.c:8118
+#: commands/tablecmds.c:8249
 #, c-format
 msgid "cannot change identity column of a partition"
 msgstr "Identitätsspalte einer Partition kann nicht geändert werden"
 
-#: commands/tablecmds.c:8163 commands/tablecmds.c:8259
+#: commands/tablecmds.c:8294 commands/tablecmds.c:8390
 #, 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:8229
+#: commands/tablecmds.c:8360
 #, c-format
 msgid "cannot drop identity from a column of only the partitioned table"
 msgstr "Identität kann nicht von einer Spalte nur in der partitionierten Tabelle gelöscht werden"
 
-#: commands/tablecmds.c:8235
+#: commands/tablecmds.c:8366
 #, c-format
 msgid "cannot drop identity from a column of a partition"
 msgstr "Identität kann nicht von einer Spalte einer Partition gelöscht werden"
 
-#: commands/tablecmds.c:8264
+#: commands/tablecmds.c:8395
 #, 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:8358
+#: commands/tablecmds.c:8492 commands/tablecmds.c:8699
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not a generated column"
 msgstr "Spalte »%s« von Relation »%s« ist keine generierte Spalte"
 
-#: commands/tablecmds.c:8456
+#: commands/tablecmds.c:8503
+#, c-format
+msgid "ALTER TABLE / SET EXPRESSION is not supported for virtual generated columns on tables with check constraints"
+msgstr ""
+
+#: commands/tablecmds.c:8518
+#, c-format
+msgid "ALTER TABLE / SET EXPRESSION is not supported for virtual generated columns on tables that are part of a publication"
+msgstr ""
+
+#: commands/tablecmds.c:8625
 #, c-format
 msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too"
 msgstr "ALTER TABLE / DROP EXPRESSION muss auch auf abgeleitete Tabellen angewendet werden"
 
-#: commands/tablecmds.c:8478
+#: commands/tablecmds.c:8647
 #, c-format
 msgid "cannot drop generation expression from inherited column"
 msgstr "Generierungsausdruck von vererbter Spalte kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:8517
-#, c-format
-msgid "column \"%s\" of relation \"%s\" is not a stored generated column"
-msgstr "Spalte »%s« von Relation »%s« ist keine gespeicherte generierte Spalte"
+#: commands/tablecmds.c:8690
+#, fuzzy, c-format
+#| msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too"
+msgid "ALTER TABLE / DROP EXPRESSION is not supported for virtual generated columns"
+msgstr "ALTER TABLE / DROP EXPRESSION muss auch auf abgeleitete Tabellen angewendet werden"
 
-#: commands/tablecmds.c:8522
-#, c-format
-msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping"
+#: commands/tablecmds.c:8704
+#, fuzzy, c-format
+#| msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping"
+msgid "column \"%s\" of relation \"%s\" is not a generated column, skipping"
 msgstr "Spalte »%s« von Relation »%s« ist keine gespeicherte generierte Spalte, wird übersprungen"
 
-#: commands/tablecmds.c:8600
+#: commands/tablecmds.c:8782
 #, c-format
 msgid "cannot refer to non-index column by number"
 msgstr "auf eine Nicht-Index-Spalte kann nicht per Nummer verwiesen werden"
 
-#: commands/tablecmds.c:8652
+#: commands/tablecmds.c:8834
 #, c-format
 msgid "column number %d of relation \"%s\" does not exist"
 msgstr "Spalte Nummer %d von Relation »%s« existiert nicht"
 
-#: commands/tablecmds.c:8671
+#: commands/tablecmds.c:8854
+#, fuzzy, c-format
+#| msgid "cannot alter statistics on included column \"%s\" of index \"%s\""
+msgid "cannot alter statistics on virtual generated column \"%s\""
+msgstr "Statistiken von eingeschlossener Spalte »%s« von Index »%s« können nicht geändert werden"
+
+#: commands/tablecmds.c:8863
 #, c-format
 msgid "cannot alter statistics on included column \"%s\" of index \"%s\""
 msgstr "Statistiken von eingeschlossener Spalte »%s« von Index »%s« können nicht geändert werden"
 
-#: commands/tablecmds.c:8676
+#: commands/tablecmds.c:8868
 #, c-format
 msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\""
 msgstr "kann Statistiken von Spalte »%s« von Index »%s«, welche kein Ausdruck ist, nicht ändern"
 
-#: commands/tablecmds.c:8678
+#: commands/tablecmds.c:8870
 #, c-format
 msgid "Alter statistics on table column instead."
 msgstr "Ändern Sie stattdessen die Statistiken für die Tabellenspalte."
 
-#: commands/tablecmds.c:8924
+#: commands/tablecmds.c:9116
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "aus einer getypten Tabelle können keine Spalten gelöscht werden"
 
-#: commands/tablecmds.c:8987
+#: commands/tablecmds.c:9180
 #, 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:9000
+#: commands/tablecmds.c:9193
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "Systemspalte »%s« kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:9010
+#: commands/tablecmds.c:9203
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "geerbte Spalte »%s« kann nicht gelöscht werden"
 
-#: commands/tablecmds.c:9023
+#: commands/tablecmds.c:9216
 #, c-format
 msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\""
 msgstr "Spalte »%s« kann nicht gelöscht werden, weil sie Teil des Partitionierungsschlüssels von Relation »%s« ist"
 
-#: commands/tablecmds.c:9048
+#: commands/tablecmds.c:9241
 #, 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:9253
+#: commands/tablecmds.c:9370
+#, fuzzy, c-format
+#| msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL."
+msgid "column \"%s\" of table \"%s\" is not marked NOT NULL"
+msgstr "Spalte »%s« von Relation »%s« ist nicht bereits NOT NULL."
+
+#: commands/tablecmds.c:9511
 #, c-format
 msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables"
 msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX wird für partitionierte Tabellen nicht unterstützt"
 
-#: commands/tablecmds.c:9278
+#: commands/tablecmds.c:9536
 #, 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:9615
+#: commands/tablecmds.c:9890
 #, c-format
 msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\""
 msgstr "ONLY nicht möglich für Fremdschlüssel für partitionierte Tabelle »%s« verweisend auf Relation »%s«"
 
-#: commands/tablecmds.c:9621
-#, c-format
-msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\""
-msgstr "Hinzufügen von Fremdschlüssel mit NOT VALID nicht möglich für partitionierte Tabelle »%s« verweisend auf Relation »%s«"
-
-#: commands/tablecmds.c:9624
-#, c-format
-msgid "This feature is not yet supported on partitioned tables."
-msgstr "Dieses Feature wird für partitionierte Tabellen noch nicht unterstützt."
-
-#: commands/tablecmds.c:9631 commands/tablecmds.c:10092
+#: commands/tablecmds.c:9898 commands/tablecmds.c:10504
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "Relation »%s«, auf die verwiesen wird, ist keine Tabelle"
 
-#: commands/tablecmds.c:9654
+#: commands/tablecmds.c:9921
 #, 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:9661
+#: commands/tablecmds.c:9928
 #, 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:9667
+#: commands/tablecmds.c:9934
 #, 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:9671
+#: commands/tablecmds.c:9938
 #, 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:9735 commands/tablecmds.c:9741
+#: commands/tablecmds.c:9953 commands/tablecmds.c:9980
+#, c-format
+msgid "foreign key uses PERIOD on the referenced table but not the referencing table"
+msgstr ""
+
+#: commands/tablecmds.c:9992
+#, c-format
+msgid "foreign key uses PERIOD on the referencing table but not the referenced table"
+msgstr ""
+
+#: commands/tablecmds.c:10006
+#, c-format
+msgid "foreign key must use PERIOD when referencing a primary using WITHOUT OVERLAPS"
+msgstr ""
+
+#: commands/tablecmds.c:10030 commands/tablecmds.c:10036
 #, c-format
 msgid "invalid %s action for foreign key constraint containing generated column"
 msgstr "ungültige %s-Aktion für Fremdschlüssel-Constraint, der eine generierte Spalte enthält"
 
-#: commands/tablecmds.c:9757
+#: commands/tablecmds.c:10051
+#, fuzzy, c-format
+#| msgid "index creation on system columns is not supported"
+msgid "foreign key constraints on virtual generated columns are not supported"
+msgstr "Indexerzeugung für Systemspalten wird nicht unterstützt"
+
+#: commands/tablecmds.c:10065 commands/tablecmds.c:10074
+#, fuzzy, c-format
+#| msgid "invalid %s action for foreign key constraint containing generated column"
+msgid "unsupported %s action for foreign key constraint using PERIOD"
+msgstr "ungültige %s-Aktion für Fremdschlüssel-Constraint, der eine generierte Spalte enthält"
+
+#: commands/tablecmds.c:10089
 #, 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:9864
+#: commands/tablecmds.c:10145
+#, fuzzy, c-format
+#| msgid "could not identify an ordering operator for type %s"
+msgid "could not identify an overlaps operator for foreign key"
+msgstr "konnte keine Sortieroperator für Typ %s ermitteln"
+
+#: commands/tablecmds.c:10146
+#, fuzzy, c-format
+#| msgid "could not identify an equality operator for type %s"
+msgid "could not identify an equality operator for foreign key"
+msgstr "konnte keinen Ist-Gleich-Operator für Typ %s ermitteln"
+
+#: commands/tablecmds.c:10211 commands/tablecmds.c:10245
 #, c-format
 msgid "foreign key constraint \"%s\" cannot be implemented"
 msgstr "Fremdschlüssel-Constraint »%s« kann nicht implementiert werden"
 
-#: commands/tablecmds.c:9866
-#, c-format
-msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s."
+#: commands/tablecmds.c:10213
+#, fuzzy, c-format
+#| msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s."
+msgid "Key columns \"%s\" of the referencing table and \"%s\" of the referenced table are of incompatible types: %s and %s."
 msgstr "Schlüsselspalten »%s« und »%s« haben inkompatible Typen: %s und %s."
 
-#: commands/tablecmds.c:10035
+#: commands/tablecmds.c:10246
+#, c-format
+msgid "Key columns \"%s\" of the referencing table and \"%s\" of the referenced table have incompatible collations: \"%s\" and \"%s\".  If either collation is nondeterministic, then both collations have to be the same."
+msgstr ""
+
+#: commands/tablecmds.c:10446
 #, c-format
 msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key"
 msgstr "Spalte »%s«, auf die in der ON-DELETE-SET-Aktion verwiesen wird, muss Teil des Fremdschlüssels sein"
 
-#: commands/tablecmds.c:10392 commands/tablecmds.c:10832
-#: parser/parse_utilcmd.c:822 parser/parse_utilcmd.c:945
+#: commands/tablecmds.c:10811 commands/tablecmds.c:11252
+#: parser/parse_utilcmd.c:941 parser/parse_utilcmd.c:1100
 #, c-format
 msgid "foreign key constraints are not supported on foreign tables"
 msgstr "Fremdschlüssel-Constraints auf Fremdtabellen werden nicht unterstützt"
 
-#: commands/tablecmds.c:10815
+#: commands/tablecmds.c:11235
 #, c-format
 msgid "cannot attach table \"%s\" as a partition because it is referenced by foreign key \"%s\""
 msgstr "kann Tabelle »%s« nicht als Partition anfügen, weil auf sie von Fremdschlüssel »%s« verwiesen wird"
 
-#: commands/tablecmds.c:11416 commands/tablecmds.c:11697
-#: commands/tablecmds.c:12609 commands/tablecmds.c:12683
+#: commands/tablecmds.c:11848
+#, fuzzy, c-format
+#| msgid "constraint must be validated on child tables too"
+msgid "constraint must be altered in child tables too"
+msgstr "Constraint muss ebenso in den abgeleiteten Tabellen validiert werden"
+
+#: commands/tablecmds.c:11877 commands/tablecmds.c:12276
+#: commands/tablecmds.c:13263 commands/tablecmds.c:13492
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist"
 msgstr "Constraint »%s« von Relation »%s« existiert nicht"
 
-#: commands/tablecmds.c:11423
+#: commands/tablecmds.c:11884
 #, 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:11461
+#: commands/tablecmds.c:11890
+#, fuzzy, c-format
+#| msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint"
+msgid "constraint \"%s\" of relation \"%s\" is not a not-null constraint"
+msgstr "Constraint »%s« von Relation »%s« ist kein Fremdschlüssel-Constraint"
+
+#: commands/tablecmds.c:11898
+#, fuzzy, c-format
+#| msgid "cannot drop inherited constraint \"%s\" of relation \"%s\""
+msgid "cannot alter inherited constraint \"%s\" on relation \"%s\""
+msgstr "geerbter Constraint »%s« von Relation »%s« kann nicht gelöscht werden"
+
+#: commands/tablecmds.c:11938
 #, c-format
 msgid "cannot alter constraint \"%s\" on relation \"%s\""
 msgstr "Constraint »%s« von Relation »%s« kann nicht geändert werden"
 
-#: commands/tablecmds.c:11464
+#: commands/tablecmds.c:11941
 #, c-format
 msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"."
 msgstr "Constraint »%s« ist von Constraint »%s« von Relation »%s« abgeleitet."
 
-#: commands/tablecmds.c:11466
+#: commands/tablecmds.c:11943
 #, c-format
 msgid "You may alter the constraint it derives from instead."
 msgstr "Sie können stattdessen den Constraint, von dem er abgeleitet ist, ändern."
 
-#: commands/tablecmds.c:11705
+#: commands/tablecmds.c:12284
 #, 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:11782
+#: commands/tablecmds.c:12290
+#, c-format
+msgid "cannot validate NOT ENFORCED constraint"
+msgstr ""
+
+#: commands/tablecmds.c:12474
 #, c-format
 msgid "constraint must be validated on child tables too"
 msgstr "Constraint muss ebenso in den abgeleiteten Tabellen validiert werden"
 
-#: commands/tablecmds.c:11869
+#: commands/tablecmds.c:12548
 #, 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:11875
+#: commands/tablecmds.c:12554
 #, c-format
 msgid "system columns cannot be used in foreign keys"
 msgstr "Systemspalten können nicht in Fremdschlüsseln verwendet werden"
 
-#: commands/tablecmds.c:11879
+#: commands/tablecmds.c:12558
 #, 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:11944
+#: commands/tablecmds.c:12626
 #, 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:11961
+#: commands/tablecmds.c:12643
 #, 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:12029
+#: commands/tablecmds.c:12716
 #, 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:12121
+#: commands/tablecmds.c:12819
 #, 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:12126
+#: commands/tablecmds.c:12824
 #, 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:12565
+#: commands/tablecmds.c:13267
+#, 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:13312
 #, 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:12615
+#: commands/tablecmds.c:13364
 #, c-format
-msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping"
-msgstr "Constraint »%s« von Relation »%s« existiert nicht, wird übersprungen"
+msgid "column \"%s\" is in a primary key"
+msgstr "Spalte »%s« ist in einem Primärschlüssel"
+
+#: commands/tablecmds.c:13372
+#, c-format
+msgid "column \"%s\" is in index used as replica identity"
+msgstr "Spalte »%s« ist in einem Index, der als Replik-Identität verwendet wird"
 
-#: commands/tablecmds.c:12790
+#: commands/tablecmds.c:13605
 #, c-format
 msgid "cannot alter column type of typed table"
 msgstr "Spaltentyp einer getypten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:12816
+#: commands/tablecmds.c:13633
 #, c-format
 msgid "cannot specify USING when altering type of generated column"
 msgstr "USING kann nicht angegeben werden, wenn der Typ einer generierten Spalte geändert wird"
 
-#: commands/tablecmds.c:12817 commands/tablecmds.c:18028
-#: commands/tablecmds.c:18118 commands/trigger.c:656
-#: rewrite/rewriteHandler.c:941 rewrite/rewriteHandler.c:976
+#: commands/tablecmds.c:13634 commands/tablecmds.c:19010
+#: commands/tablecmds.c:19103 commands/trigger.c:659
+#: rewrite/rewriteHandler.c:949 rewrite/rewriteHandler.c:984
 #, c-format
 msgid "Column \"%s\" is a generated column."
 msgstr "Spalte »%s« ist eine generierte Spalte."
 
-#: commands/tablecmds.c:12827
+#: commands/tablecmds.c:13645
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "kann vererbte Spalte »%s« nicht ändern"
 
-#: commands/tablecmds.c:12836
+#: commands/tablecmds.c:13654
 #, c-format
 msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\""
 msgstr "Spalte »%s« kann nicht geändert werden, weil sie Teil des Partitionierungsschlüssels von Relation »%s« ist"
 
-#: commands/tablecmds.c:12886
+#: commands/tablecmds.c:13709
 #, 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:12889
+#: commands/tablecmds.c:13712
 #, 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:12893
+#: commands/tablecmds.c:13716
 #, 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:12897
+#: commands/tablecmds.c:13720
 #, c-format
 msgid "You might need to specify \"USING %s::%s\"."
 msgstr "Sie müssen möglicherweise »USING %s::%s« angeben."
 
-#: commands/tablecmds.c:12996
+#: commands/tablecmds.c:13820
 #, c-format
 msgid "cannot alter inherited column \"%s\" of relation \"%s\""
 msgstr "geerbte Spalte »%s« von Relation »%s« kann nicht geändert werden"
 
-#: commands/tablecmds.c:13025
+#: commands/tablecmds.c:13849
 #, 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:13036
+#: commands/tablecmds.c:13860
 #, 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:13161
+#: commands/tablecmds.c:13985
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "Typ der Spalte »%s« kann nicht zweimal geändert werden"
 
-#: commands/tablecmds.c:13199
+#: commands/tablecmds.c:14023
 #, c-format
 msgid "generation expression for column \"%s\" cannot be cast automatically to type %s"
 msgstr "Generierungsausdruck der Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden"
 
-#: commands/tablecmds.c:13204
+#: commands/tablecmds.c:14028
 #, 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:13508
+#: commands/tablecmds.c:14332
 #, c-format
 msgid "cannot alter type of a column used by a function or procedure"
 msgstr "Typ einer Spalte, die von einer Funktion oder Prozedur verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:13509 commands/tablecmds.c:13524
-#: commands/tablecmds.c:13544 commands/tablecmds.c:13563
-#: commands/tablecmds.c:13622
+#: commands/tablecmds.c:14333 commands/tablecmds.c:14348
+#: commands/tablecmds.c:14368 commands/tablecmds.c:14387
+#: commands/tablecmds.c:14446
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s hängt von Spalte »%s« ab"
 
-#: commands/tablecmds.c:13523
+#: commands/tablecmds.c:14347
 #, 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:13543
+#: commands/tablecmds.c:14367
 #, 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:13562
+#: commands/tablecmds.c:14386
 #, 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:13593
+#: commands/tablecmds.c:14417
 #, c-format
 msgid "cannot alter type of a column used by a generated column"
 msgstr "Typ einer Spalte, die von einer generierten Spalte verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:13594
+#: commands/tablecmds.c:14418
 #, c-format
 msgid "Column \"%s\" is used by generated column \"%s\"."
 msgstr "Spalte »%s« wird von generierter Spalte »%s« verwendet."
 
-#: commands/tablecmds.c:13621
+#: commands/tablecmds.c:14445
 #, c-format
 msgid "cannot alter type of a column used by a publication WHERE clause"
 msgstr "Typ einer Spalte, die in der WHERE-Klausel einer Publikation verwendet wird, kann nicht geändert werden"
 
-#: commands/tablecmds.c:14456 commands/tablecmds.c:14468
+#: commands/tablecmds.c:15296 commands/tablecmds.c:15308
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "kann Eigentümer des Index »%s« nicht ändern"
 
-#: commands/tablecmds.c:14458 commands/tablecmds.c:14470
+#: commands/tablecmds.c:15298 commands/tablecmds.c:15310
 #, 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:14484
+#: commands/tablecmds.c:15324
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "kann Eigentümer der Sequenz »%s« nicht ändern"
 
-#: commands/tablecmds.c:14509
+#: commands/tablecmds.c:15349
 #, c-format
 msgid "cannot change owner of relation \"%s\""
 msgstr "kann Eigentümer der Relation »%s« nicht ändern"
 
-#: commands/tablecmds.c:14976
+#: commands/tablecmds.c:15816
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "mehrere SET TABLESPACE Unterbefehle sind ungültig"
 
-#: commands/tablecmds.c:15053
+#: commands/tablecmds.c:15893
 #, c-format
 msgid "cannot set options for relation \"%s\""
 msgstr "für Relation »%s« können keine Optionen gesetzt werden"
 
-#: commands/tablecmds.c:15087 commands/view.c:440
+#: commands/tablecmds.c:15927 commands/view.c:440
 #, 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:15338
+#: commands/tablecmds.c:16178
 #, 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:15350
+#: commands/tablecmds.c:16190
 #, 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:15442
+#: commands/tablecmds.c:16282
 #, 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:15458
+#: commands/tablecmds.c:16298
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "keine passenden Relationen in Tablespace »%s« gefunden"
 
-#: commands/tablecmds.c:15580
+#: commands/tablecmds.c:16420
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "Vererbung einer getypten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:15585 commands/tablecmds.c:16085
+#: commands/tablecmds.c:16425 commands/tablecmds.c:17009
 #, c-format
 msgid "cannot change inheritance of a partition"
 msgstr "Vererbung einer Partition kann nicht geändert werden"
 
-#: commands/tablecmds.c:15590
+#: commands/tablecmds.c:16430
 #, c-format
 msgid "cannot change inheritance of partitioned table"
 msgstr "Vererbung einer partitionierten Tabelle kann nicht geändert werden"
 
-#: commands/tablecmds.c:15636
+#: commands/tablecmds.c:16477
 #, 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:15649
+#: commands/tablecmds.c:16490
 #, c-format
 msgid "cannot inherit from a partition"
 msgstr "von einer Partition kann nicht geerbt werden"
 
-#: commands/tablecmds.c:15671 commands/tablecmds.c:18529
+#: commands/tablecmds.c:16512 commands/tablecmds.c:19521
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "zirkuläre Vererbung ist nicht erlaubt"
 
-#: commands/tablecmds.c:15672 commands/tablecmds.c:18530
+#: commands/tablecmds.c:16513 commands/tablecmds.c:19522
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "»%s« ist schon von »%s« abgeleitet."
 
-#: commands/tablecmds.c:15685
+#: commands/tablecmds.c:16526
 #, 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:15687
+#: commands/tablecmds.c:16528
 #, 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:15876
-#, c-format
-msgid "column \"%s\" in child table must be marked NOT NULL"
+#: commands/tablecmds.c:16729 commands/tablecmds.c:16978
+#, fuzzy, c-format
+#| msgid "column \"%s\" in child table must be marked NOT NULL"
+msgid "column \"%s\" in child table \"%s\" must be marked NOT NULL"
 msgstr "Spalte »%s« in abgeleiteter Tabelle muss als NOT NULL markiert sein"
 
-#: commands/tablecmds.c:15885
+#: commands/tablecmds.c:16739
 #, c-format
 msgid "column \"%s\" in child table must be a generated column"
 msgstr "Spalte »%s« in abgeleiteter Tabelle muss eine generierte Spalte sein"
 
-#: commands/tablecmds.c:15889
+#: commands/tablecmds.c:16743
 #, c-format
 msgid "column \"%s\" in child table must not be a generated column"
 msgstr "Spalte »%s« in abgeleiteter Tabelle darf keine generierte Spalte sein"
 
-#: commands/tablecmds.c:15927
+#: commands/tablecmds.c:16789
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "Spalte »%s« fehlt in abgeleiteter Tabelle"
 
-#: commands/tablecmds.c:16008
+#: commands/tablecmds.c:16906
 #, 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:16015
+#: commands/tablecmds.c:16915
 #, 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:16025
+#: commands/tablecmds.c:16926
 #, 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:16063
+#: commands/tablecmds.c:16937
+#, fuzzy, c-format
+#| msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\""
+msgid "constraint \"%s\" conflicts with NOT ENFORCED constraint on child table \"%s\""
+msgstr "Constraint »%s« kollidiert mit NOT-VALID-Constraint für abgeleitete Tabelle »%s«"
+
+#: commands/tablecmds.c:16986
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "Constraint »%s« fehlt in abgeleiteter Tabelle"
 
-#: commands/tablecmds.c:16149
+#: commands/tablecmds.c:17073
 #, c-format
 msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\""
 msgstr "Partition »%s« hat schon eine unerledigte Abtrennoperation in der partitionierten Tabelle »%s.%s«"
 
-#: commands/tablecmds.c:16178 commands/tablecmds.c:16224
+#: commands/tablecmds.c:17102 commands/tablecmds.c:17150
 #, c-format
 msgid "relation \"%s\" is not a partition of relation \"%s\""
 msgstr "Relation »%s« ist keine Partition von Relation »%s«"
 
-#: commands/tablecmds.c:16230
+#: commands/tablecmds.c:17156
 #, c-format
 msgid "relation \"%s\" is not a parent of relation \"%s\""
 msgstr "Relation »%s« ist keine Basisrelation von Relation »%s«"
 
-#: commands/tablecmds.c:16457
+#: commands/tablecmds.c:17427
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "getypte Tabellen können nicht erben"
 
-#: commands/tablecmds.c:16487
+#: commands/tablecmds.c:17457
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "Spalte »%s« fehlt in Tabelle"
 
-#: commands/tablecmds.c:16498
+#: commands/tablecmds.c:17468
 #, c-format
 msgid "table has column \"%s\" where type requires \"%s\""
 msgstr "Tabelle hat Spalte »%s«, aber Typ benötigt »%s«"
 
-#: commands/tablecmds.c:16507
+#: commands/tablecmds.c:17477
 #, c-format
 msgid "table \"%s\" has different type for column \"%s\""
 msgstr "Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«"
 
-#: commands/tablecmds.c:16521
+#: commands/tablecmds.c:17491
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "Tabelle hat zusätzliche Spalte »%s«"
 
-#: commands/tablecmds.c:16573
+#: commands/tablecmds.c:17543
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "»%s« ist keine getypte Tabelle"
 
-#: commands/tablecmds.c:16747
+#: commands/tablecmds.c:17723
 #, 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:16753
+#: commands/tablecmds.c:17729
 #, 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:16759
+#: commands/tablecmds.c:17735
 #, 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:16765
+#: commands/tablecmds.c:17741
 #, 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:16782
+#: commands/tablecmds.c:17758
 #, 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:16789
+#: commands/tablecmds.c:17765
 #, 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:17041
+#: commands/tablecmds.c:18014
 #, 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:17065
+#: commands/tablecmds.c:18038
 #, 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:17067
+#: commands/tablecmds.c:18040
 #, c-format
 msgid "Unlogged relations cannot be replicated."
 msgstr "Ungeloggte Relationen können nicht repliziert werden."
 
-#: commands/tablecmds.c:17112
+#: commands/tablecmds.c:18085
 #, 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:17122
+#: commands/tablecmds.c:18095
 #, 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:17180
+#: commands/tablecmds.c:18159
 #, 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:17288
+#: commands/tablecmds.c:18267
 #, c-format
 msgid "relation \"%s\" already exists in schema \"%s\""
 msgstr "Relation »%s« existiert bereits in Schema »%s«"
 
-#: commands/tablecmds.c:17713
+#: commands/tablecmds.c:18692
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "»%s« ist keine Tabelle oder materialisierte Sicht"
 
-#: commands/tablecmds.c:17866
+#: commands/tablecmds.c:18845
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "»%s« ist kein zusammengesetzter Typ"
 
-#: commands/tablecmds.c:17896
+#: commands/tablecmds.c:18875
 #, c-format
 msgid "cannot change schema of index \"%s\""
 msgstr "kann Schema des Index »%s« nicht ändern"
 
-#: commands/tablecmds.c:17898 commands/tablecmds.c:17912
+#: commands/tablecmds.c:18877 commands/tablecmds.c:18891
 #, c-format
 msgid "Change the schema of the table instead."
 msgstr "Ändern Sie stattdessen das Schema der Tabelle."
 
-#: commands/tablecmds.c:17902
+#: commands/tablecmds.c:18881
 #, c-format
 msgid "cannot change schema of composite type \"%s\""
 msgstr "kann Schema des zusammengesetzten Typs »%s« nicht ändern"
 
-#: commands/tablecmds.c:17910
+#: commands/tablecmds.c:18889
 #, c-format
 msgid "cannot change schema of TOAST table \"%s\""
 msgstr "kann Schema der TOAST-Tabelle »%s« nicht ändern"
 
-#: commands/tablecmds.c:17942
+#: commands/tablecmds.c:18921
 #, 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:18008
+#: commands/tablecmds.c:18987
 #, c-format
 msgid "column \"%s\" named in partition key does not exist"
 msgstr "Spalte »%s«, die im Partitionierungsschlüssel verwendet wird, existiert nicht"
 
-#: commands/tablecmds.c:18016
+#: commands/tablecmds.c:18995
 #, c-format
 msgid "cannot use system column \"%s\" in partition key"
 msgstr "Systemspalte »%s« kann nicht im Partitionierungsschlüssel verwendet werden"
 
-#: commands/tablecmds.c:18027 commands/tablecmds.c:18117
+#: commands/tablecmds.c:19009 commands/tablecmds.c:19102
 #, c-format
 msgid "cannot use generated column in partition key"
 msgstr "generierte Spalte kann nicht im Partitionierungsschlüssel verwendet werden"
 
-#: commands/tablecmds.c:18100
+#: commands/tablecmds.c:19082
 #, c-format
 msgid "partition key expressions cannot contain system column references"
 msgstr "Partitionierungsschlüsselausdruck kann nicht auf Systemspalten verweisen"
 
-#: commands/tablecmds.c:18147
+#: commands/tablecmds.c:19132
 #, c-format
 msgid "functions in partition key expression must be marked IMMUTABLE"
 msgstr "Funktionen im Partitionierungsschlüsselausdruck müssen als IMMUTABLE markiert sein"
 
-#: commands/tablecmds.c:18156
+#: commands/tablecmds.c:19141
 #, c-format
 msgid "cannot use constant expression as partition key"
 msgstr "Partitionierungsschlüssel kann kein konstanter Ausdruck sein"
 
-#: commands/tablecmds.c:18177
+#: commands/tablecmds.c:19162
 #, 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:18212
+#: commands/tablecmds.c:19197
 #, c-format
 msgid "You must specify a hash operator class or define a default hash operator class for the data type."
 msgstr "Sie müssen eine hash-Operatorklasse angeben oder eine hash-Standardoperatorklasse für den Datentyp definieren."
 
-#: commands/tablecmds.c:18218
+#: commands/tablecmds.c:19203
 #, c-format
 msgid "You must specify a btree operator class or define a default btree operator class for the data type."
 msgstr "Sie müssen eine btree-Operatorklasse angeben oder eine btree-Standardoperatorklasse für den Datentyp definieren."
 
-#: commands/tablecmds.c:18469
+#: commands/tablecmds.c:19461
 #, c-format
 msgid "\"%s\" is already a partition"
 msgstr "»%s« ist bereits eine Partition"
 
-#: commands/tablecmds.c:18475
+#: commands/tablecmds.c:19467
 #, c-format
 msgid "cannot attach a typed table as partition"
 msgstr "eine getypte Tabelle kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:18491
+#: commands/tablecmds.c:19483
 #, c-format
 msgid "cannot attach inheritance child as partition"
 msgstr "ein Vererbungskind kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:18505
+#: commands/tablecmds.c:19497
 #, c-format
 msgid "cannot attach inheritance parent as partition"
 msgstr "eine Tabelle mit abgeleiteten Tabellen kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:18539
+#: commands/tablecmds.c:19531
 #, c-format
 msgid "cannot attach a temporary relation as partition of permanent relation \"%s\""
 msgstr "eine temporäre Relation kann nicht als Partition an permanente Relation »%s« angefügt werden"
 
-#: commands/tablecmds.c:18547
+#: commands/tablecmds.c:19539
 #, c-format
 msgid "cannot attach a permanent relation as partition of temporary relation \"%s\""
 msgstr "eine permanente Relation kann nicht als Partition an temporäre Relation »%s« angefügt werden"
 
-#: commands/tablecmds.c:18555
+#: commands/tablecmds.c:19547
 #, c-format
 msgid "cannot attach as partition of temporary relation of another session"
 msgstr "kann nicht als Partition an temporäre Relation einer anderen Sitzung anfügen"
 
-#: commands/tablecmds.c:18562
+#: commands/tablecmds.c:19554
 #, c-format
 msgid "cannot attach temporary relation of another session as partition"
 msgstr "temporäre Relation einer anderen Sitzung kann nicht als Partition angefügt werden"
 
-#: commands/tablecmds.c:18582
+#: commands/tablecmds.c:19574
 #, c-format
 msgid "table \"%s\" being attached contains an identity column \"%s\""
 msgstr "anzufügende Tabelle »%s« enthält eine Identitätsspalte »%s«"
 
-#: commands/tablecmds.c:18584
+#: commands/tablecmds.c:19576
 #, c-format
 msgid "The new partition may not contain an identity column."
 msgstr "Die neue Partition darf keine Identitätsspalte enthalten."
 
-#: commands/tablecmds.c:18592
+#: commands/tablecmds.c:19584
 #, c-format
 msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\""
 msgstr "Tabelle »%s« enthält Spalte »%s«, die nicht in der Elterntabelle »%s« gefunden wurde"
 
-#: commands/tablecmds.c:18595
+#: commands/tablecmds.c:19587
 #, c-format
 msgid "The new partition may contain only the columns present in parent."
 msgstr "Die neue Partition darf nur Spalten enthalten, die auch die Elterntabelle hat."
 
-#: commands/tablecmds.c:18607
+#: commands/tablecmds.c:19599
 #, c-format
 msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition"
 msgstr "Trigger »%s« verhindert, dass Tabelle »%s« eine Partition werden kann"
 
-#: commands/tablecmds.c:18609
+#: commands/tablecmds.c:19601
 #, 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:18785
+#: commands/tablecmds.c:19783
 #, c-format
 msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\""
 msgstr "kann Fremdtabelle »%s« nicht als Partition an partitionierte Tabelle »%s« anfügen"
 
-#: commands/tablecmds.c:18788
+#: commands/tablecmds.c:19786
 #, c-format
 msgid "Partitioned table \"%s\" contains unique indexes."
 msgstr "Partitionierte Tabelle »%s« enthält Unique-Indexe."
 
-#: commands/tablecmds.c:19110
+#: commands/tablecmds.c:20109
 #, c-format
 msgid "cannot detach partitions concurrently when a default partition exists"
 msgstr "nebenläufiges Abtrennen einer Partition ist nicht möglich, wenn eine Standardpartition existiert"
 
-#: commands/tablecmds.c:19219
+#: commands/tablecmds.c:20218
 #, c-format
 msgid "partitioned table \"%s\" was removed concurrently"
 msgstr "partitionierte Tabelle »%s« wurde nebenläufig entfernt"
 
-#: commands/tablecmds.c:19225
+#: commands/tablecmds.c:20224
 #, c-format
 msgid "partition \"%s\" was removed concurrently"
 msgstr "Partition »%s« wurde nebenläufig entfernt"
 
-#: commands/tablecmds.c:19839 commands/tablecmds.c:19859
-#: commands/tablecmds.c:19880 commands/tablecmds.c:19899
-#: commands/tablecmds.c:19941
+#: commands/tablecmds.c:20840 commands/tablecmds.c:20860
+#: commands/tablecmds.c:20881 commands/tablecmds.c:20900
+#: commands/tablecmds.c:20949
 #, c-format
 msgid "cannot attach index \"%s\" as a partition of index \"%s\""
 msgstr "kann Index »%s« nicht als Partition an Index »%s« anfügen"
 
-#: commands/tablecmds.c:19842
+#: commands/tablecmds.c:20843
 #, c-format
 msgid "Index \"%s\" is already attached to another index."
 msgstr "Index »%s« ist bereits an einen anderen Index angefügt."
 
-#: commands/tablecmds.c:19862
+#: commands/tablecmds.c:20863
 #, c-format
 msgid "Index \"%s\" is not an index on any partition of table \"%s\"."
 msgstr "Index »%s« ist kein Index irgendeiner Partition von Tabelle »%s«."
 
-#: commands/tablecmds.c:19883
+#: commands/tablecmds.c:20884
 #, c-format
 msgid "The index definitions do not match."
 msgstr "Die Indexdefinitionen stimmen nicht überein."
 
-#: commands/tablecmds.c:19902
+#: commands/tablecmds.c:20903
 #, c-format
 msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"."
 msgstr "Der Index »%s« gehört zu einem Constraint in Tabelle »%s«, aber kein Constraint existiert für Index »%s«."
 
-#: commands/tablecmds.c:19944
+#: commands/tablecmds.c:20952
 #, c-format
 msgid "Another index is already attached for partition \"%s\"."
 msgstr "Ein anderer Index ist bereits für Partition »%s« angefügt."
 
-#: commands/tablecmds.c:20180
+#: commands/tablecmds.c:21075
+#, fuzzy, c-format
+#| msgid "invalid attribute in procedure definition"
+msgid "invalid primary key definition"
+msgstr "ungültiges Attribut in Prozedurdefinition"
+
+#: commands/tablecmds.c:21076
+#, fuzzy, c-format
+#| msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL."
+msgid "Column \"%s\" of relation \"%s\" is not marked NOT NULL."
+msgstr "Spalte »%s« von Relation »%s« ist nicht bereits NOT NULL."
+
+#: commands/tablecmds.c:21211
 #, c-format
 msgid "column data type %s does not support compression"
 msgstr "Spaltendatentyp %s unterstützt keine Komprimierung"
 
-#: commands/tablecmds.c:20187
+#: commands/tablecmds.c:21218
 #, c-format
 msgid "invalid compression method \"%s\""
 msgstr "ungültige Komprimierungsmethode »%s«"
 
-#: commands/tablecmds.c:20213
+#: commands/tablecmds.c:21244
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "ungültiger Storage-Typ »%s«"
 
-#: commands/tablecmds.c:20223
+#: commands/tablecmds.c:21254
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
 msgstr "Spaltendatentyp %s kann nur Storage-Typ PLAIN"
@@ -12026,281 +12376,281 @@ msgstr "Verzeichnisse für Tablespace %u konnten nicht entfernt werden"
 msgid "You can remove the directories manually if necessary."
 msgstr "Sie können die Verzeichnisse falls nötig manuell entfernen."
 
-#: commands/trigger.c:225 commands/trigger.c:236
+#: commands/trigger.c:227 commands/trigger.c:238
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "»%s« ist eine Tabelle"
 
-#: commands/trigger.c:227 commands/trigger.c:238
+#: commands/trigger.c:229 commands/trigger.c:240
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "Tabellen können keine INSTEAD OF-Trigger haben."
 
-#: commands/trigger.c:259
+#: commands/trigger.c:261
 #, c-format
 msgid "\"%s\" is a partitioned table"
 msgstr "»%s« ist eine partitionierte Tabelle"
 
-#: commands/trigger.c:261
+#: commands/trigger.c:263
 #, c-format
 msgid "ROW triggers with transition tables are not supported on partitioned tables."
 msgstr "ROW-Trigger mit Übergangstabellen werden für partitionierte Tabellen nicht unterstützt."
 
-#: commands/trigger.c:273 commands/trigger.c:280 commands/trigger.c:444
+#: commands/trigger.c:275 commands/trigger.c:282 commands/trigger.c:446
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "»%s« ist eine Sicht"
 
-#: commands/trigger.c:275
+#: commands/trigger.c:277
 #, 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:282
+#: commands/trigger.c:284
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "Sichten können keine TRUNCATE-Trigger haben."
 
-#: commands/trigger.c:290 commands/trigger.c:302 commands/trigger.c:437
+#: commands/trigger.c:292 commands/trigger.c:304 commands/trigger.c:439
 #, c-format
 msgid "\"%s\" is a foreign table"
 msgstr "»%s« ist eine Fremdtabelle"
 
-#: commands/trigger.c:292
+#: commands/trigger.c:294
 #, c-format
 msgid "Foreign tables cannot have INSTEAD OF triggers."
 msgstr "Fremdtabellen können keine INSTEAD OF-Trigger haben."
 
-#: commands/trigger.c:304
+#: commands/trigger.c:306
 #, c-format
 msgid "Foreign tables cannot have constraint triggers."
 msgstr "Fremdtabellen können keine Constraint-Trigger haben."
 
-#: commands/trigger.c:309 commands/trigger.c:1325 commands/trigger.c:1432
+#: commands/trigger.c:311 commands/trigger.c:1330 commands/trigger.c:1437
 #, c-format
 msgid "relation \"%s\" cannot have triggers"
 msgstr "Relation »%s« kann keine Trigger haben"
 
-#: commands/trigger.c:380
+#: commands/trigger.c:382
 #, c-format
 msgid "TRUNCATE FOR EACH ROW triggers are not supported"
 msgstr "TRUNCATE FOR EACH ROW-Trigger werden nicht unterstützt"
 
-#: commands/trigger.c:388
+#: commands/trigger.c:390
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "INSTEAD OF-Trigger müssen FOR EACH ROW sein"
 
-#: commands/trigger.c:392
+#: commands/trigger.c:394
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "INSTEAD OF-Trigger können keine WHEN-Bedingungen haben"
 
-#: commands/trigger.c:396
+#: commands/trigger.c:398
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "INSTEAD OF-Trigger können keine Spaltenlisten haben"
 
-#: commands/trigger.c:425
+#: commands/trigger.c:427
 #, c-format
 msgid "ROW variable naming in the REFERENCING clause is not supported"
 msgstr "Benennung von ROW-Variablen in der REFERENCING-Klausel wird nicht unterstützt"
 
-#: commands/trigger.c:426
+#: commands/trigger.c:428
 #, c-format
 msgid "Use OLD TABLE or NEW TABLE for naming transition tables."
 msgstr "Verwenden Sie OLD TABLE und NEW TABLE, um Übergangstabellen zu benennen."
 
-#: commands/trigger.c:439
+#: commands/trigger.c:441
 #, 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
+#: commands/trigger.c:448
 #, c-format
 msgid "Triggers on views cannot have transition tables."
 msgstr "Trigger für Sichten können keine Übergangstabellen haben."
 
-#: commands/trigger.c:462
+#: commands/trigger.c:464
 #, 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/trigger.c:466
+#: commands/trigger.c:468
 #, 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
+#: commands/trigger.c:474
 #, c-format
 msgid "transition table name can only be specified for an AFTER trigger"
 msgstr "Übergangstabellenname kann nur für einen AFTER-Trigger angegeben werden"
 
-#: commands/trigger.c:477
+#: commands/trigger.c:479
 #, c-format
 msgid "TRUNCATE triggers with transition tables are not supported"
 msgstr "TRUNCATE-Trigger mit Übergangstabellen werden nicht unterstützt"
 
-#: commands/trigger.c:494
+#: commands/trigger.c:496
 #, 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
+#: commands/trigger.c:507
 #, 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:522
+#: commands/trigger.c:524
 #, c-format
 msgid "NEW TABLE can only be specified for an INSERT or UPDATE trigger"
 msgstr "NEW TABLE kann nur für INSERT- oder UPDATE-Trigger angegeben werden"
 
-#: commands/trigger.c:527
+#: commands/trigger.c:529
 #, c-format
 msgid "NEW TABLE cannot be specified multiple times"
 msgstr "NEW TABLE kann nicht mehrmals angegeben werden"
 
-#: commands/trigger.c:537
+#: commands/trigger.c:539
 #, c-format
 msgid "OLD TABLE can only be specified for a DELETE or UPDATE trigger"
 msgstr "OLD TABLE kann nur für DELETE- oder UPDATE-Trigger angegeben werden"
 
-#: commands/trigger.c:542
+#: commands/trigger.c:544
 #, c-format
 msgid "OLD TABLE cannot be specified multiple times"
 msgstr "OLD TABLE kann nicht mehrmals angegeben werden"
 
-#: commands/trigger.c:552
+#: commands/trigger.c:554
 #, c-format
 msgid "OLD TABLE name and NEW TABLE name cannot be the same"
 msgstr "Name für OLD TABLE und NEW TABLE kann nicht gleich sein"
 
-#: commands/trigger.c:616 commands/trigger.c:629
+#: commands/trigger.c:618 commands/trigger.c:631
 #, 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:621
+#: commands/trigger.c:623
 #, 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:634
+#: commands/trigger.c:636
 #, 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:639
+#: commands/trigger.c:641
 #, 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:647 commands/trigger.c:655
+#: commands/trigger.c:650 commands/trigger.c:658
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW generated columns"
 msgstr "WHEN-Bedingung eines BEFORE-Triggers kann keine Verweise auf generierte Spalten in NEW enthalten"
 
-#: commands/trigger.c:648
+#: commands/trigger.c:651
 #, c-format
 msgid "A whole-row reference is used and the table contains generated columns."
 msgstr "Ein Verweis auf die ganze Zeile der Tabelle wird verwendet und die Tabelle enthält generierte Spalten."
 
-#: commands/trigger.c:763 commands/trigger.c:1607
+#: commands/trigger.c:766 commands/trigger.c:1613
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "Trigger »%s« für Relation »%s« existiert bereits"
 
-#: commands/trigger.c:776
+#: commands/trigger.c:779
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" is an internal or a child trigger"
 msgstr "Trigger »%s« für Relation »%s« ist ein interner oder abgeleiteter Trigger"
 
-#: commands/trigger.c:795
+#: commands/trigger.c:798
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger"
 msgstr "Trigger »%s« für Relation »%s« ist ein Constraint-Trigger"
 
-#: commands/trigger.c:1397 commands/trigger.c:1550 commands/trigger.c:1831
+#: commands/trigger.c:1402 commands/trigger.c:1556 commands/trigger.c:1837
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "Trigger »%s« für Tabelle »%s« existiert nicht"
 
-#: commands/trigger.c:1522
+#: commands/trigger.c:1528
 #, c-format
 msgid "cannot rename trigger \"%s\" on table \"%s\""
 msgstr "Trigger »%s« für Tabelle »%s« kann nicht umbenannt werden"
 
-#: commands/trigger.c:1524
+#: commands/trigger.c:1530
 #, c-format
 msgid "Rename the trigger on the partitioned table \"%s\" instead."
 msgstr "Benennen Sie stattdessen den Trigger für die partitionierte Tabelle »%s« um."
 
-#: commands/trigger.c:1624
+#: commands/trigger.c:1630
 #, c-format
 msgid "renamed trigger \"%s\" on relation \"%s\""
 msgstr "Trigger »%s« für Tabelle »%s« wurde umbenannt"
 
-#: commands/trigger.c:1770
+#: commands/trigger.c:1776
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "keine Berechtigung: »%s« ist ein Systemtrigger"
 
-#: commands/trigger.c:2379
+#: commands/trigger.c:2385
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "Triggerfunktion %u gab NULL-Wert zurück"
 
-#: commands/trigger.c:2439 commands/trigger.c:2657 commands/trigger.c:2910
-#: commands/trigger.c:3263
+#: commands/trigger.c:2445 commands/trigger.c:2665 commands/trigger.c:2918
+#: commands/trigger.c:3273
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "Trigger für BEFORE STATEMENT kann keinen Wert zurückgeben"
 
-#: commands/trigger.c:2515
+#: commands/trigger.c:2523
 #, c-format
 msgid "moving row to another partition during a BEFORE FOR EACH ROW trigger is not supported"
 msgstr "Verschieben einer Zeile in eine andere Partition durch einen BEFORE-FOR-EACH-ROW-Trigger wird nicht unterstützt"
 
-#: commands/trigger.c:2516
+#: commands/trigger.c:2524
 #, c-format
 msgid "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"."
 msgstr "Vor der Ausführung von Trigger »%s« gehörte die Zeile in Partition »%s.%s«."
 
-#: commands/trigger.c:3341 executor/nodeModifyTable.c:1541
-#: executor/nodeModifyTable.c:1615 executor/nodeModifyTable.c:2377
-#: executor/nodeModifyTable.c:2468 executor/nodeModifyTable.c:3132
-#: executor/nodeModifyTable.c:3302
+#: commands/trigger.c:3351 executor/nodeModifyTable.c:1665
+#: executor/nodeModifyTable.c:1739 executor/nodeModifyTable.c:2546
+#: executor/nodeModifyTable.c:2636 executor/nodeModifyTable.c:3308
+#: executor/nodeModifyTable.c:3478
 #, 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:3382 executor/nodeLockRows.c:228
-#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:314
-#: executor/nodeModifyTable.c:1557 executor/nodeModifyTable.c:2394
-#: executor/nodeModifyTable.c:2618
+#: commands/trigger.c:3392 executor/nodeLockRows.c:228
+#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:368
+#: executor/nodeModifyTable.c:1681 executor/nodeModifyTable.c:2562
+#: executor/nodeModifyTable.c:2787
 #, c-format
 msgid "could not serialize access due to concurrent update"
 msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitiger Aktualisierung"
 
-#: commands/trigger.c:3390 executor/nodeModifyTable.c:1647
-#: executor/nodeModifyTable.c:2485 executor/nodeModifyTable.c:2642
-#: executor/nodeModifyTable.c:3150
+#: commands/trigger.c:3400 executor/nodeModifyTable.c:1771
+#: executor/nodeModifyTable.c:2653 executor/nodeModifyTable.c:2811
+#: executor/nodeModifyTable.c:3326
 #, c-format
 msgid "could not serialize access due to concurrent delete"
 msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitigem Löschen"
 
-#: commands/trigger.c:4599
+#: commands/trigger.c:4635
 #, c-format
 msgid "cannot fire deferred trigger within security-restricted operation"
 msgstr "aufgeschobener Trigger kann nicht in einer sicherheitsbeschränkten Operation ausgelöst werden"
 
-#: commands/trigger.c:5780
+#: commands/trigger.c:5831
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "Constraint »%s« ist nicht aufschiebbar"
 
-#: commands/trigger.c:5803
+#: commands/trigger.c:5854
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "Constraint »%s« existiert nicht"
@@ -12410,7 +12760,7 @@ msgstr "nur Superuser können Basistypen anlegen"
 msgid "Create the type as a shell type, then create its I/O functions, then do a full CREATE TYPE."
 msgstr "Erzeugen Sie den Typ als Shell-Typ, legen Sie dann die I/O-Funktionen an und führen Sie dann das volle CREATE TYPE aus."
 
-#: commands/typecmds.c:331 commands/typecmds.c:1460 commands/typecmds.c:4480
+#: commands/typecmds.c:331 commands/typecmds.c:1486 commands/typecmds.c:4467
 #, c-format
 msgid "type attribute \"%s\" not recognized"
 msgstr "Typ-Attribut »%s« nicht erkannt"
@@ -12430,7 +12780,7 @@ msgstr "Arrayelementtyp kann nicht %s sein"
 msgid "alignment \"%s\" not recognized"
 msgstr "Ausrichtung »%s« nicht erkannt"
 
-#: commands/typecmds.c:454 commands/typecmds.c:4354
+#: commands/typecmds.c:454 commands/typecmds.c:4341
 #, c-format
 msgid "storage \"%s\" not recognized"
 msgstr "Storage-Typ »%s« nicht erkannt"
@@ -12460,336 +12810,354 @@ msgstr "Elementtyp kann nicht ohne eine Subscript-Funktion angeben werden"
 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:883
+#: commands/typecmds.c:885
 #, c-format
 msgid "multiple default expressions"
 msgstr "mehrere Vorgabeausdrücke"
 
-#: commands/typecmds.c:946 commands/typecmds.c:955
+#: commands/typecmds.c:945 commands/typecmds.c:960
 #, c-format
 msgid "conflicting NULL/NOT NULL constraints"
 msgstr "wiedersprüchliche NULL/NOT NULL-Constraints"
 
-#: commands/typecmds.c:971
+#: commands/typecmds.c:950
+#, fuzzy, c-format
+#| msgid "check constraints for domains cannot be marked NO INHERIT"
+msgid "not-null 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:977
 #, 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:980 commands/typecmds.c:2940
+#: commands/typecmds.c:988
 #, c-format
 msgid "unique constraints not possible for domains"
 msgstr "Unique-Constraints sind nicht für Domänen möglich"
 
-#: commands/typecmds.c:986 commands/typecmds.c:2946
+#: commands/typecmds.c:995
 #, 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:992 commands/typecmds.c:2952
+#: commands/typecmds.c:1002
 #, c-format
 msgid "exclusion constraints not possible for domains"
 msgstr "Exclusion-Constraints sind nicht für Domänen möglich"
 
-#: commands/typecmds.c:998 commands/typecmds.c:2958
+#: commands/typecmds.c:1009
 #, 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:1007 commands/typecmds.c:2967
+#: commands/typecmds.c:1019
 #, 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:1327 utils/cache/typcache.c:2570
+#: commands/typecmds.c:1027
+#, fuzzy, c-format
+#| msgid "specifying constraint deferrability not supported for domains"
+msgid "specifying GENERATED not supported for domains"
+msgstr "Setzen des Constraint-Modus wird für Domänen nicht unterstützt"
+
+#: commands/typecmds.c:1035
+#, fuzzy, c-format
+#| msgid "specifying constraint deferrability not supported for domains"
+msgid "specifying constraint enforceability not supported for domains"
+msgstr "Setzen des Constraint-Modus wird für Domänen nicht unterstützt"
+
+#: commands/typecmds.c:1353 utils/cache/typcache.c:2743
 #, c-format
 msgid "%s is not an enum"
 msgstr "»%s« ist kein Enum"
 
-#: commands/typecmds.c:1468
+#: commands/typecmds.c:1494
 #, c-format
 msgid "type attribute \"subtype\" is required"
 msgstr "Typ-Attribut »subtype« muss angegeben werden"
 
-#: commands/typecmds.c:1473
+#: commands/typecmds.c:1499
 #, c-format
 msgid "range subtype cannot be %s"
 msgstr "Bereichtsuntertyp kann nicht %s sein"
 
-#: commands/typecmds.c:1492
+#: commands/typecmds.c:1518
 #, 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:1502
+#: commands/typecmds.c:1528
 #, c-format
 msgid "cannot specify a canonical function without a pre-created shell type"
 msgstr "Canonical-Funktion kann nicht angegeben werden ohne einen vorher angelegten Shell-Typ"
 
-#: commands/typecmds.c:1503
+#: commands/typecmds.c:1529
 #, c-format
 msgid "Create the type as a shell type, then create its canonicalization function, then do a full CREATE TYPE."
 msgstr "Erzeugen Sie den Typ als Shell-Typ, legen Sie dann die Canonicalization-Funktion an und führen Sie dann das volle CREATE TYPE aus."
 
-#: commands/typecmds.c:1975
+#: commands/typecmds.c:2001
 #, c-format
 msgid "type input function %s has multiple matches"
 msgstr "Typeingabefunktion %s hat mehrere Übereinstimmungen"
 
-#: commands/typecmds.c:1993
+#: commands/typecmds.c:2019
 #, c-format
 msgid "type input function %s must return type %s"
 msgstr "Typeingabefunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2009
+#: commands/typecmds.c:2035
 #, c-format
 msgid "type input function %s should not be volatile"
 msgstr "Typeingabefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:2037
+#: commands/typecmds.c:2063
 #, c-format
 msgid "type output function %s must return type %s"
 msgstr "Typausgabefunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2044
+#: commands/typecmds.c:2070
 #, c-format
 msgid "type output function %s should not be volatile"
 msgstr "Typausgabefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:2073
+#: commands/typecmds.c:2099
 #, c-format
 msgid "type receive function %s has multiple matches"
 msgstr "Typempfangsfunktion %s hat mehrere Übereinstimmungen"
 
-#: commands/typecmds.c:2091
+#: commands/typecmds.c:2117
 #, c-format
 msgid "type receive function %s must return type %s"
 msgstr "Typempfangsfunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2098
+#: commands/typecmds.c:2124
 #, c-format
 msgid "type receive function %s should not be volatile"
 msgstr "Typempfangsfunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:2126
+#: commands/typecmds.c:2152
 #, c-format
 msgid "type send function %s must return type %s"
 msgstr "Typsendefunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2133
+#: commands/typecmds.c:2159
 #, c-format
 msgid "type send function %s should not be volatile"
 msgstr "Typsendefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:2160
+#: commands/typecmds.c:2186
 #, c-format
 msgid "typmod_in function %s must return type %s"
 msgstr "typmod_in-Funktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2167
+#: commands/typecmds.c:2193
 #, c-format
 msgid "type modifier input function %s should not be volatile"
 msgstr "Typmodifikatoreingabefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:2194
+#: commands/typecmds.c:2220
 #, c-format
 msgid "typmod_out function %s must return type %s"
 msgstr "typmod_out-Funktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2201
+#: commands/typecmds.c:2227
 #, c-format
 msgid "type modifier output function %s should not be volatile"
 msgstr "Typmodifikatorausgabefunktion %s sollte nicht VOLATILE sein"
 
-#: commands/typecmds.c:2228
+#: commands/typecmds.c:2254
 #, c-format
 msgid "type analyze function %s must return type %s"
 msgstr "Typanalysefunktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2257
+#: commands/typecmds.c:2283
 #, c-format
 msgid "type subscripting function %s must return type %s"
 msgstr "Typ-Subscript-Funktion %s muss Typ %s zurückgeben"
 
-#: commands/typecmds.c:2267
+#: commands/typecmds.c:2293
 #, c-format
 msgid "user-defined types cannot use subscripting function %s"
 msgstr "benutzerdefinierte Typen können Subscript-Funktion %s nicht verwenden"
 
-#: commands/typecmds.c:2313
+#: commands/typecmds.c:2339
 #, 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:2344
+#: commands/typecmds.c:2370
 #, c-format
 msgid "range canonical function %s must return range type"
 msgstr "Bereichstyp-Canonical-Funktion %s muss Bereichstyp zurückgeben"
 
-#: commands/typecmds.c:2350
+#: commands/typecmds.c:2376
 #, c-format
 msgid "range canonical function %s must be immutable"
 msgstr "Bereichstyp-Canonical-Funktion %s muss »immutable« sein"
 
-#: commands/typecmds.c:2386
+#: commands/typecmds.c:2412
 #, 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:2393
+#: commands/typecmds.c:2419
 #, c-format
 msgid "range subtype diff function %s must be immutable"
 msgstr "Bereichstyp-Untertyp-Diff-Funktion %s muss »immutable« sein"
 
-#: commands/typecmds.c:2420
+#: commands/typecmds.c:2446
 #, 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:2453
+#: commands/typecmds.c:2479
 #, c-format
 msgid "pg_type multirange OID value not set when in binary upgrade mode"
 msgstr "Multirange-OID-Wert für pg_type ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: commands/typecmds.c:2486
+#: commands/typecmds.c:2512
 #, c-format
 msgid "pg_type multirange array OID value not set when in binary upgrade mode"
 msgstr "Multirange-Array-OID-Wert für pg_type ist im Binary-Upgrade-Modus nicht gesetzt"
 
-#: commands/typecmds.c:2868 commands/typecmds.c:3093
+#: commands/typecmds.c:2894 commands/typecmds.c:3076
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist"
 msgstr "Constraint »%s« von Domäne »%s« existiert nicht"
 
-#: commands/typecmds.c:2872
+#: commands/typecmds.c:2898
 #, 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:3100
+#: commands/typecmds.c:3083
 #, 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:3180
+#: commands/typecmds.c:3163
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains null values"
 msgstr "Spalte »%s« von Tabelle »%s« enthält NULL-Werte"
 
-#: commands/typecmds.c:3269
+#: commands/typecmds.c:3252
 #, 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:3498 commands/typecmds.c:3772 commands/typecmds.c:3857
-#: commands/typecmds.c:4073
+#: commands/typecmds.c:3481 commands/typecmds.c:3759 commands/typecmds.c:3844
+#: commands/typecmds.c:4060
 #, c-format
 msgid "%s is not a domain"
 msgstr "%s ist keine Domäne"
 
-#: commands/typecmds.c:3532 commands/typecmds.c:3686
+#: commands/typecmds.c:3515 commands/typecmds.c:3671
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" already exists"
 msgstr "Constraint »%s« für Domäne »%s« existiert bereits"
 
-#: commands/typecmds.c:3583
+#: commands/typecmds.c:3566
 #, 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:3784 commands/typecmds.c:3869 commands/typecmds.c:4223
+#: commands/typecmds.c:3771 commands/typecmds.c:3856 commands/typecmds.c:4210
 #, c-format
 msgid "%s is a table's row type"
 msgstr "%s ist der Zeilentyp einer Tabelle"
 
-#: commands/typecmds.c:3794 commands/typecmds.c:3879 commands/typecmds.c:4121
+#: commands/typecmds.c:3781 commands/typecmds.c:3866 commands/typecmds.c:4108
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "Array-Typ %s kann nicht verändert werden"
 
-#: commands/typecmds.c:3796 commands/typecmds.c:3881 commands/typecmds.c:4123
+#: commands/typecmds.c:3783 commands/typecmds.c:3868 commands/typecmds.c:4110
 #, 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:3892
+#: commands/typecmds.c:3879
 #, c-format
 msgid "cannot alter multirange type %s"
 msgstr "Multirange-Typ %s kann nicht verändert werden"
 
-#: commands/typecmds.c:3895
+#: commands/typecmds.c:3882
 #, c-format
 msgid "You can alter type %s, which will alter the multirange type as well."
 msgstr "Sie können den Typ %s ändern, wodurch der Multirange-Typ ebenfalls geändert wird."
 
-#: commands/typecmds.c:4202
+#: commands/typecmds.c:4189
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "Typ %s existiert bereits in Schema »%s«"
 
-#: commands/typecmds.c:4382
+#: commands/typecmds.c:4369
 #, c-format
 msgid "cannot change type's storage to PLAIN"
 msgstr "Storage-Typ eines Typs kann nicht in PLAIN geändert werden"
 
-#: commands/typecmds.c:4475
+#: commands/typecmds.c:4462
 #, c-format
 msgid "type attribute \"%s\" cannot be changed"
 msgstr "Typ-Attribut »%s« kann nicht geändert werden"
 
-#: commands/typecmds.c:4493
+#: commands/typecmds.c:4480
 #, c-format
 msgid "must be superuser to alter a type"
 msgstr "nur Superuser können Typen ändern"
 
-#: commands/typecmds.c:4514 commands/typecmds.c:4523
+#: commands/typecmds.c:4501 commands/typecmds.c:4510
 #, c-format
 msgid "%s is not a base type"
 msgstr "%s ist kein Basistyp"
 
-#: commands/user.c:200
+#: commands/user.c:201
 #, c-format
 msgid "SYSID can no longer be specified"
 msgstr "SYSID kann nicht mehr angegeben werden"
 
-#: commands/user.c:318 commands/user.c:324 commands/user.c:330
-#: commands/user.c:336 commands/user.c:342
+#: commands/user.c:319 commands/user.c:325 commands/user.c:331
+#: commands/user.c:337 commands/user.c:343
 #, c-format
 msgid "permission denied to create role"
 msgstr "keine Berechtigung, um Rolle zu erzeugen"
 
-#: commands/user.c:319
+#: commands/user.c:320
 #, c-format
 msgid "Only roles with the %s attribute may create roles."
 msgstr "Nur Rollen mit dem %s-Attribut können Rollen erzeugen."
 
-#: commands/user.c:325 commands/user.c:331 commands/user.c:337
-#: commands/user.c:343
+#: commands/user.c:326 commands/user.c:332 commands/user.c:338
+#: commands/user.c:344
 #, c-format
 msgid "Only roles with the %s attribute may create roles with the %s attribute."
 msgstr "Nur Rollen mit dem %s-Attribut können Rollen mit dem %s-Attribut erzeugen."
 
-#: commands/user.c:354 commands/user.c:1386 commands/user.c:1393 gram.y:17310
-#: gram.y:17356 utils/adt/acl.c:5574 utils/adt/acl.c:5580
+#: commands/user.c:355 commands/user.c:1386 commands/user.c:1393 gram.y:17498
+#: gram.y:17544 utils/adt/acl.c:5708 utils/adt/acl.c:5714
 #, c-format
 msgid "role name \"%s\" is reserved"
 msgstr "Rollenname »%s« ist reserviert"
 
-#: commands/user.c:356 commands/user.c:1388 commands/user.c:1395
+#: commands/user.c:357 commands/user.c:1388 commands/user.c:1395
 #, c-format
 msgid "Role names starting with \"pg_\" are reserved."
 msgstr "Rollennamen, die mit »pg_« anfangen, sind reserviert."
 
-#: commands/user.c:377 commands/user.c:1410
+#: commands/user.c:378 commands/user.c:1410
 #, c-format
 msgid "role \"%s\" already exists"
 msgstr "Rolle »%s« existiert bereits"
 
-#: commands/user.c:439 commands/user.c:924
+#: commands/user.c:440 commands/user.c:924
 #, 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:468
+#: commands/user.c:469
 #, 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"
@@ -12862,11 +13230,11 @@ msgstr "Nur Rollen mit dem %s-Attribut und der %s-Option für die Zielrollen kö
 msgid "cannot use special role specifier in DROP ROLE"
 msgstr "in DROP ROLE kann kein Rollenplatzhalter verwendet werden"
 
-#: commands/user.c:1135 commands/user.c:1357 commands/variable.c:851
-#: commands/variable.c:854 commands/variable.c:971 commands/variable.c:974
-#: utils/adt/acl.c:365 utils/adt/acl.c:385 utils/adt/acl.c:5429
-#: utils/adt/acl.c:5477 utils/adt/acl.c:5505 utils/adt/acl.c:5524
-#: utils/adt/regproc.c:1571 utils/init/miscinit.c:799
+#: commands/user.c:1135 commands/user.c:1357 commands/variable.c:864
+#: commands/variable.c:867 commands/variable.c:983 commands/variable.c:986
+#: utils/adt/acl.c:366 utils/adt/acl.c:386 utils/adt/acl.c:5563
+#: utils/adt/acl.c:5611 utils/adt/acl.c:5639 utils/adt/acl.c:5658
+#: utils/adt/regproc.c:1571 utils/init/miscinit.c:801
 #, c-format
 msgid "role \"%s\" does not exist"
 msgstr "Rolle »%s« existiert nicht"
@@ -12931,7 +13299,7 @@ msgstr "Nur Rollen mit dem %s-Attribut und der %s-Option für Rolle »%s« könn
 msgid "MD5 password cleared because of role rename"
 msgstr "MD5-Passwort wegen Rollenumbenennung gelöscht"
 
-#: commands/user.c:1518 gram.y:1294
+#: commands/user.c:1518 gram.y:1286
 #, c-format
 msgid "unrecognized role option \"%s\""
 msgstr "unbekannte Rollenoption »%s«"
@@ -12971,207 +13339,214 @@ msgstr "Nur Rollen mit den Privilegien der Rolle »%s« können ihr gehörende O
 msgid "Only roles with privileges of role \"%s\" may reassign objects to it."
 msgstr "Nur Rollen mit den Privilegien der Rolle »%s« können ihr Objekte zuordnen."
 
-#: commands/user.c:1733
+#: commands/user.c:1734
 #, c-format
 msgid "role \"%s\" cannot be a member of any role"
 msgstr "Rolle »%s« kann kein Mitglied einer Rolle sein"
 
-#: commands/user.c:1746
+#: commands/user.c:1747
 #, c-format
 msgid "role \"%s\" is a member of role \"%s\""
 msgstr "Rolle »%s« ist ein Mitglied der Rolle »%s«"
 
-#: commands/user.c:1786 commands/user.c:1812
+#: commands/user.c:1787 commands/user.c:1813
 #, c-format
 msgid "%s option cannot be granted back to your own grantor"
 msgstr "%s-Option kann nicht an den eigenen Grantor gegeben werden"
 
-#: commands/user.c:1889
+#: commands/user.c:1890
 #, c-format
 msgid "role \"%s\" has already been granted membership in role \"%s\" by role \"%s\""
 msgstr "Rolle »%s« wurde schon Mitgliedschaft in Rolle »%s« durch Rolle »%s« gewährt"
 
-#: commands/user.c:2024
+#: commands/user.c:2036
 #, c-format
 msgid "role \"%s\" has not been granted membership in role \"%s\" by role \"%s\""
 msgstr "Rolle »%s« wurde keine Mitgliedschaft in Rolle »%s« durch Rolle »%s« gewährt"
 
-#: commands/user.c:2124
+#: commands/user.c:2137
 #, c-format
 msgid "role \"%s\" cannot have explicit members"
 msgstr "Rolle »%s« kann keine expliziten Mitglieder haben"
 
-#: commands/user.c:2135 commands/user.c:2158
+#: commands/user.c:2148 commands/user.c:2171
 #, c-format
 msgid "permission denied to grant role \"%s\""
 msgstr "keine Berechtigung, um Rolle »%s« zu gewähren"
 
-#: commands/user.c:2137
+#: commands/user.c:2150
 #, c-format
 msgid "Only roles with the %s attribute may grant roles with the %s attribute."
 msgstr "Nur Rollen mit dem %s-Attribut können Rollen mit dem %s-Attribut gewähren."
 
-#: commands/user.c:2142 commands/user.c:2165
+#: commands/user.c:2155 commands/user.c:2178
 #, c-format
 msgid "permission denied to revoke role \"%s\""
 msgstr "keine Berechtigung, um Rolle »%s« zu entziehen"
 
-#: commands/user.c:2144
+#: commands/user.c:2157
 #, c-format
 msgid "Only roles with the %s attribute may revoke roles with the %s attribute."
 msgstr "Nur Rollen mit dem %s-Attribut können Rollen mit dem %s-Attribut entziehen."
 
-#: commands/user.c:2160
+#: commands/user.c:2173
 #, c-format
 msgid "Only roles with the %s option on role \"%s\" may grant this role."
 msgstr "Nur Rollen mit der %s-Option für Rolle »%s« können diese Rolle gewähren."
 
-#: commands/user.c:2167
+#: commands/user.c:2180
 #, c-format
 msgid "Only roles with the %s option on role \"%s\" may revoke this role."
 msgstr "Nur Rollen mit der %s-Option für Rolle »%s« können diese Rolle entziehen."
 
-#: commands/user.c:2247 commands/user.c:2256
+#: commands/user.c:2260 commands/user.c:2269
 #, c-format
 msgid "permission denied to grant privileges as role \"%s\""
 msgstr "keine Berechtigung, um Privilegien als Rolle »%s« zu gewähren"
 
-#: commands/user.c:2249
+#: commands/user.c:2262
 #, c-format
 msgid "Only roles with privileges of role \"%s\" may grant privileges as this role."
 msgstr "Nur Rollen mit den Privilegien der Rolle »%s« können Privilegien als diese Rolle gewähren."
 
-#: commands/user.c:2258
+#: commands/user.c:2271
 #, c-format
 msgid "The grantor must have the %s option on role \"%s\"."
 msgstr "Der Grantor muss die %s-Option für Rolle »%s« haben."
 
-#: commands/user.c:2266
+#: commands/user.c:2279
 #, c-format
 msgid "permission denied to revoke privileges granted by role \"%s\""
 msgstr "keine Berechtigung, um von Rolle »%s« gewährte Privilegien zu entziehen"
 
-#: commands/user.c:2268
+#: commands/user.c:2281
 #, c-format
 msgid "Only roles with privileges of role \"%s\" may revoke privileges granted by this role."
 msgstr "Nur Rollen mit den Privilegien der Rolle »%s« können von dieser Rolle gewährte Privilegien entziehen."
 
-#: commands/user.c:2491 utils/adt/acl.c:1324
+#: commands/user.c:2504 utils/adt/acl.c:1325
 #, c-format
 msgid "dependent privileges exist"
 msgstr "abhängige Privilegien existieren"
 
-#: commands/user.c:2492 utils/adt/acl.c:1325
+#: commands/user.c:2505 utils/adt/acl.c:1326
 #, c-format
 msgid "Use CASCADE to revoke them too."
 msgstr "Verwenden Sie CASCADE, um diese auch zu entziehen."
 
-#: commands/vacuum.c:134
-#, c-format
-msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB"
+#: commands/vacuum.c:145
+#, fuzzy, c-format
+#| msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB"
+msgid "\"%s\" must be 0 or between %d kB and %d kB."
 msgstr "»vacuum_buffer_usage_limit« muss 0 sein oder zwischen %d kB und %d kB liegen"
 
-#: commands/vacuum.c:209
+#: commands/vacuum.c:221
 #, c-format
 msgid "BUFFER_USAGE_LIMIT option must be 0 or between %d kB and %d kB"
 msgstr "Option BUFFER_USAGE_LIMIT muss 0 sein oder zwischen %d kB und %d kB liegen"
 
-#: commands/vacuum.c:219
+#: commands/vacuum.c:231
 #, c-format
 msgid "unrecognized ANALYZE option \"%s\""
 msgstr "unbekannte ANALYZE-Option »%s«"
 
-#: commands/vacuum.c:259
+#: commands/vacuum.c:271
 #, c-format
 msgid "parallel option requires a value between 0 and %d"
 msgstr "Option PARALLEL benötigt einen Wert zwischen 0 und %d"
 
-#: commands/vacuum.c:271
+#: commands/vacuum.c:283
 #, c-format
 msgid "parallel workers for vacuum must be between 0 and %d"
 msgstr "parallele Arbeitsprozesse für Vacuum müssen zwischen 0 und %d sein"
 
-#: commands/vacuum.c:292
+#: commands/vacuum.c:304
 #, c-format
 msgid "unrecognized VACUUM option \"%s\""
 msgstr "unbekannte VACUUM-Option »%s«"
 
-#: commands/vacuum.c:318
+#: commands/vacuum.c:330
 #, c-format
 msgid "VACUUM FULL cannot be performed in parallel"
 msgstr "VACUUM FULL kann nicht parallel ausgeführt werden"
 
-#: commands/vacuum.c:329
+#: commands/vacuum.c:341
 #, c-format
 msgid "BUFFER_USAGE_LIMIT cannot be specified for VACUUM FULL"
 msgstr "BUFFER_USAGE_LIMIT kann nicht für VACUUM FULL angegeben werden"
 
-#: commands/vacuum.c:343
+#: commands/vacuum.c:355
 #, c-format
 msgid "ANALYZE option must be specified when a column list is provided"
 msgstr "Option ANALYZE muss angegeben werden, wenn eine Spaltenliste angegeben ist"
 
-#: commands/vacuum.c:355
+#: commands/vacuum.c:367
 #, 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:362
+#: commands/vacuum.c:374
 #, c-format
 msgid "PROCESS_TOAST required with VACUUM FULL"
 msgstr "PROCESS_TOAST benötigt VACUUM FULL"
 
-#: commands/vacuum.c:371
+#: commands/vacuum.c:383
 #, c-format
 msgid "ONLY_DATABASE_STATS cannot be specified with a list of tables"
 msgstr "ONLY_DATABASE_STATS kann nicht mit einer Tabellenliste angegeben werden"
 
-#: commands/vacuum.c:380
+#: commands/vacuum.c:392
 #, c-format
 msgid "ONLY_DATABASE_STATS cannot be specified with other VACUUM options"
 msgstr "ONLY_DATABASE_STATS kann nicht mit anderen VACUUM-Optionen angegeben werden"
 
-#: commands/vacuum.c:515
+#: commands/vacuum.c:532
 #, 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:730
+#: commands/vacuum.c:744
 #, c-format
 msgid "permission denied to vacuum \"%s\", skipping it"
 msgstr "keine Berechtigung für Vacuum von »%s«, wird übersprungen"
 
-#: commands/vacuum.c:743
+#: commands/vacuum.c:757
 #, c-format
 msgid "permission denied to analyze \"%s\", skipping it"
 msgstr "keine Berechtigung für Analyze von »%s«, wird übersprungen"
 
-#: commands/vacuum.c:821 commands/vacuum.c:918
+#: commands/vacuum.c:835 commands/vacuum.c:936
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "überspringe Vacuum von »%s« --- Sperre nicht verfügbar"
 
-#: commands/vacuum.c:826
+#: commands/vacuum.c:840
 #, c-format
 msgid "skipping vacuum of \"%s\" --- relation no longer exists"
 msgstr "überspringe Vacuum von »%s« --- Relation existiert nicht mehr"
 
-#: commands/vacuum.c:842 commands/vacuum.c:923
+#: commands/vacuum.c:856 commands/vacuum.c:941
 #, c-format
 msgid "skipping analyze of \"%s\" --- lock not available"
 msgstr "überspringe Analyze von »%s« --- Sperre nicht verfügbar"
 
-#: commands/vacuum.c:847
+#: commands/vacuum.c:861
 #, c-format
 msgid "skipping analyze of \"%s\" --- relation no longer exists"
 msgstr "überspringe Analyze von »%s« --- Relation existiert nicht mehr"
 
-#: commands/vacuum.c:1139
+#: commands/vacuum.c:977
+#, fuzzy, c-format
+#| msgid "partitioned table \"%s\" was removed concurrently"
+msgid "VACUUM ONLY of partitioned table \"%s\" has no effect"
+msgstr "partitionierte Tabelle »%s« wurde nebenläufig entfernt"
+
+#: commands/vacuum.c:1168
 #, c-format
 msgid "cutoff for removing and freezing tuples is far in the past"
 msgstr "Obergrenze für das Entfernen und Einfrieren von Tuples ist weit in der Vergangenheit"
 
-#: commands/vacuum.c:1140 commands/vacuum.c:1145
+#: commands/vacuum.c:1169 commands/vacuum.c:1174
 #, c-format
 msgid ""
 "Close open transactions soon to avoid wraparound problems.\n"
@@ -13180,37 +13555,37 @@ 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:1144
+#: commands/vacuum.c:1173
 #, c-format
 msgid "cutoff for freezing multixacts is far in the past"
 msgstr "Obergrenze für das Einfrieren von Multixacts ist weit in der Vergangenheit"
 
-#: commands/vacuum.c:1900
+#: commands/vacuum.c:1935
 #, 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:1901
+#: commands/vacuum.c:1936
 #, 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:2080
+#: commands/vacuum.c:2115
 #, 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/vacuum.c:2512
+#: commands/vacuum.c:2608
 #, c-format
 msgid "scanned index \"%s\" to remove %lld row versions"
 msgstr "Index »%s« gelesen und %lld Zeilenversionen entfernt"
 
-#: commands/vacuum.c:2531
+#: commands/vacuum.c:2627
 #, c-format
 msgid "index \"%s\" now contains %.0f row versions in %u pages"
 msgstr "Index »%s« enthält %.0f Zeilenversionen in %u Seiten"
 
-#: commands/vacuum.c:2535
+#: commands/vacuum.c:2631
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -13221,14 +13596,14 @@ msgstr ""
 "%u Indexseiten wurden neu gelöscht.\n"
 "%u Indexseiten sind gegenwärtig gelöscht, wovon %u gegenwärtig wiederverwendbar sind."
 
-#: commands/vacuumparallel.c:707
+#: commands/vacuumparallel.c:709
 #, c-format
 msgid "launched %d parallel vacuum worker for index vacuuming (planned: %d)"
 msgid_plural "launched %d parallel vacuum workers for index vacuuming (planned: %d)"
 msgstr[0] "%d parallelen Vacuum-Worker für Index-Vacuum gestartet (geplant: %d)"
 msgstr[1] "%d parallele Vacuum-Worker für Index-Vacuum gestartet (geplant: %d)"
 
-#: commands/vacuumparallel.c:713
+#: commands/vacuumparallel.c:715
 #, c-format
 msgid "launched %d parallel vacuum worker for index cleanup (planned: %d)"
 msgid_plural "launched %d parallel vacuum workers for index cleanup (planned: %d)"
@@ -13236,8 +13611,9 @@ msgstr[0] "%d parallelen Vacuum-Worker für Index-Cleanup gestartet (geplant: %d
 msgstr[1] "%d parallele Vacuum-Worker für Index-Cleanup gestartet (geplant: %d)"
 
 #: commands/variable.c:185
-#, c-format
-msgid "Conflicting \"datestyle\" specifications."
+#, fuzzy, c-format
+#| msgid "Conflicting \"datestyle\" specifications."
+msgid "Conflicting \"DateStyle\" specifications."
 msgstr "Widersprüchliche »datestyle«-Angaben."
 
 #: commands/variable.c:307
@@ -13250,12 +13626,12 @@ msgstr "Im Zeitzonenintervall können keine Monate angegeben werden."
 msgid "Cannot specify days in time zone interval."
 msgstr "Im Zeitzonenintervall können keine Tage angegeben werden."
 
-#: commands/variable.c:351 commands/variable.c:433
+#: commands/variable.c:351 commands/variable.c:435
 #, c-format
 msgid "time zone \"%s\" appears to use leap seconds"
 msgstr "Zeitzone »%s« verwendet anscheinend Schaltsekunden"
 
-#: commands/variable.c:353 commands/variable.c:435
+#: commands/variable.c:353 commands/variable.c:437
 #, c-format
 msgid "PostgreSQL does not support leap seconds."
 msgstr "PostgreSQL unterstützt keine Schaltsekunden."
@@ -13265,107 +13641,104 @@ msgstr "PostgreSQL unterstützt keine Schaltsekunden."
 msgid "UTC timezone offset is out of range."
 msgstr "Zeitzonenabstand zu UTC ist außerhalb des gültigen Bereichs."
 
-#: commands/variable.c:552
+#: commands/variable.c:554
 #, c-format
 msgid "cannot set transaction read-write mode inside a read-only transaction"
 msgstr "kann den Read/Write-Modus einer Transaktion nicht in einer Read-Only-Transaktion setzen"
 
-#: commands/variable.c:559
+#: commands/variable.c:561
 #, c-format
 msgid "transaction read-write mode must be set before any query"
 msgstr "Read/Write-Modus einer Transaktion muss vor allen Anfragen gesetzt werden"
 
-#: commands/variable.c:566
+#: commands/variable.c:568
 #, c-format
 msgid "cannot set transaction read-write mode during recovery"
 msgstr "kann den Read/Write-Modus einer Transaktion nicht während der Wiederherstellung setzen"
 
-#: commands/variable.c:592
+#: commands/variable.c:596
 #, c-format
 msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query"
 msgstr "SET TRANSACTION ISOLATION LEVEL muss vor allen Anfragen aufgerufen werden"
 
-#: commands/variable.c:599
+#: commands/variable.c:603
 #, c-format
 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:606 storage/lmgr/predicate.c:1685
+#: commands/variable.c:610 storage/lmgr/predicate.c:1685
 #, c-format
 msgid "cannot use serializable mode in a hot standby"
 msgstr "kann serialisierbaren Modus nicht in einem Hot Standby verwenden"
 
-#: commands/variable.c:607
+#: commands/variable.c:611
 #, c-format
 msgid "You can use REPEATABLE READ instead."
 msgstr "Sie können stattdessen REPEATABLE READ verwenden."
 
-#: commands/variable.c:625
+#: commands/variable.c:633
 #, c-format
 msgid "SET TRANSACTION [NOT] DEFERRABLE cannot be called within a subtransaction"
 msgstr "SET TRANSACTION [NOT] DEFERRABLE kann nicht in einer Subtransaktion aufgerufen werden"
 
-#: commands/variable.c:631
+#: commands/variable.c:639
 #, c-format
 msgid "SET TRANSACTION [NOT] DEFERRABLE must be called before any query"
 msgstr "SET TRANSACTION [NOT] DEFERRABLE muss vor allen Anfragen aufgerufen werden"
 
-#: commands/variable.c:713
+#: commands/variable.c:715
+#, fuzzy, c-format
+#| msgid "cannot change \"client_encoding\" during a parallel operation"
+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:743
 #, c-format
 msgid "Conversion between %s and %s is not supported."
 msgstr "Umwandlung zwischen %s und %s wird nicht unterstützt."
 
-#: commands/variable.c:720
+#: commands/variable.c:750
 #, c-format
 msgid "Cannot change \"client_encoding\" now."
 msgstr "»client_encoding« kann jetzt nicht geändert werden."
 
-#: commands/variable.c:781
-#, c-format
-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:876
+#: commands/variable.c:889
 #, c-format
 msgid "permission will be denied to set session authorization \"%s\""
 msgstr "es wird keine Berechtigung gegeben werden, um Sitzungsautorisierung »%s« zu setzen"
 
-#: commands/variable.c:881
+#: commands/variable.c:894
 #, c-format
 msgid "permission denied to set session authorization \"%s\""
 msgstr "keine Berechtigung, um Sitzungsautorisierung »%s« zu setzen"
 
-#: commands/variable.c:991
+#: commands/variable.c:1003
 #, c-format
 msgid "permission will be denied to set role \"%s\""
 msgstr "Berechtigung fehlt, um Rolle »%s« zu setzen"
 
-#: commands/variable.c:996
+#: commands/variable.c:1008
 #, c-format
 msgid "permission denied to set role \"%s\""
 msgstr "keine Berechtigung, um Rolle »%s« zu setzen"
 
-#: commands/variable.c:1200
+#: commands/variable.c:1212
 #, c-format
 msgid "Bonjour is not supported by this build"
 msgstr "Bonjour wird von dieser Installation nicht unterstützt"
 
-#: commands/variable.c:1228
-#, c-format
-msgid "\"effective_io_concurrency\" must be set to 0 on platforms that lack posix_fadvise()."
+#: commands/variable.c:1240 commands/variable.c:1254
+#, fuzzy, c-format
+#| msgid "\"effective_io_concurrency\" must be set to 0 on platforms that lack posix_fadvise()."
+msgid "\"%s\" must be set to 0 on platforms that lack support for issuing read-ahead advice."
 msgstr "»effective_io_concurrency« muss auf Plattformen ohne posix_fadvise() auf 0 gesetzt sein."
 
-#: commands/variable.c:1241
-#, c-format
-msgid "\"maintenance_io_concurrency\" must be set to 0 on platforms that lack posix_fadvise()."
-msgstr "»maintenance_io_concurrency« muss auf Plattformen ohne posix_fadvise() auf 0 gesetzt sein."
-
-#: commands/variable.c:1254
+#: commands/variable.c:1268
 #, c-format
 msgid "SSL is not supported by this build"
 msgstr "SSL wird von dieser Installation nicht unterstützt"
 
-#: commands/view.c:79
+#: commands/view.c:78
 #, c-format
 msgid "could not determine which collation to use for view column \"%s\""
 msgstr "konnte die für die Sichtspalte »%s« zu verwendende Sortierfolge nicht bestimmen"
@@ -13451,57 +13824,57 @@ msgstr "Cursor »%s« ist nicht auf eine Zeile positioniert"
 msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\""
 msgstr "Cursor »%s« ist kein einfach aktualisierbarer Scan der Tabelle »%s«"
 
-#: executor/execCurrent.c:280 executor/execExprInterp.c:2555
+#: executor/execCurrent.c:280 executor/execExprInterp.c:3012
 #, c-format
 msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)"
 msgstr "Typ von Parameter %d (%s) stimmt nicht mit dem überein, als der Plan vorbereitet worden ist (%s)"
 
-#: executor/execCurrent.c:292 executor/execExprInterp.c:2567
+#: executor/execCurrent.c:292 executor/execExprInterp.c:3024
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "kein Wert für Parameter %d gefunden"
 
-#: executor/execExpr.c:642 executor/execExpr.c:649 executor/execExpr.c:655
-#: executor/execExprInterp.c:4852 executor/execExprInterp.c:4869
-#: executor/execExprInterp.c:4968 executor/nodeModifyTable.c:203
-#: executor/nodeModifyTable.c:214 executor/nodeModifyTable.c:231
-#: executor/nodeModifyTable.c:239
+#: executor/execExpr.c:667 executor/execExpr.c:674 executor/execExpr.c:680
+#: executor/execExprInterp.c:5359 executor/execExprInterp.c:5376
+#: executor/execExprInterp.c:5475 executor/nodeModifyTable.c:210
+#: executor/nodeModifyTable.c:221 executor/nodeModifyTable.c:238
+#: executor/nodeModifyTable.c:246
 #, c-format
 msgid "table row type and query-specified row type do not match"
 msgstr "Zeilentyp der Tabelle und der von der Anfrage angegebene Zeilentyp stimmen nicht überein"
 
-#: executor/execExpr.c:643 executor/nodeModifyTable.c:204
+#: executor/execExpr.c:668 executor/nodeModifyTable.c:211
 #, c-format
 msgid "Query has too many columns."
 msgstr "Anfrage hat zu viele Spalten."
 
-#: executor/execExpr.c:650 executor/nodeModifyTable.c:232
+#: executor/execExpr.c:675 executor/nodeModifyTable.c:239
 #, c-format
 msgid "Query provides a value for a dropped column at ordinal position %d."
 msgstr "Anfrage liefert einen Wert für eine gelöschte Spalte auf Position %d."
 
-#: executor/execExpr.c:656 executor/execExprInterp.c:4870
-#: executor/nodeModifyTable.c:215
+#: executor/execExpr.c:681 executor/execExprInterp.c:5377
+#: executor/nodeModifyTable.c:222
 #, 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/execExpr.c:1104 parser/parse_agg.c:838
+#: executor/execExpr.c:1157 parser/parse_agg.c:843
 #, c-format
 msgid "window function calls cannot be nested"
 msgstr "Aufrufe von Fensterfunktionen können nicht geschachtelt werden"
 
-#: executor/execExpr.c:1649
+#: executor/execExpr.c:1689
 #, c-format
 msgid "target type is not an array"
 msgstr "Zieltyp ist kein Array"
 
-#: executor/execExpr.c:1989
+#: executor/execExpr.c:2033
 #, c-format
 msgid "ROW() column has type %s instead of type %s"
 msgstr "ROW()-Spalte hat Typ %s statt Typ %s"
 
-#: executor/execExpr.c:2653 executor/execSRF.c:718 parser/parse_func.c:138
+#: executor/execExpr.c:2729 executor/execSRF.c:718 parser/parse_func.c:138
 #: parser/parse_func.c:655 parser/parse_func.c:1033
 #, c-format
 msgid "cannot pass more than %d argument to a function"
@@ -13509,379 +13882,382 @@ 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:2680 executor/execSRF.c:738 executor/functions.c:1068
-#: utils/adt/jsonfuncs.c:4054 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143
+#: executor/execExpr.c:2756 executor/execSRF.c:738 executor/functions.c:1070
+#: utils/adt/jsonfuncs.c:4056 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr "Funktion mit Mengenergebnis in einem Zusammenhang aufgerufen, der keine Mengenergebnisse verarbeiten kann"
 
-#: executor/execExpr.c:3086 parser/parse_node.c:272 parser/parse_node.c:322
+#: executor/execExpr.c:3254 parser/parse_node.c:272 parser/parse_node.c:322
 #, c-format
 msgid "cannot subscript type %s because it does not support subscripting"
 msgstr "kann aus Typ %s kein Element auswählen, weil er Subscripting nicht unterstützt"
 
-#: executor/execExpr.c:3214 executor/execExpr.c:3236
+#: executor/execExpr.c:3382 executor/execExpr.c:3404
 #, c-format
 msgid "type %s does not support subscripted assignment"
 msgstr "Typ %s unterstützt Wertzuweisungen in Elemente nicht"
 
-#: executor/execExprInterp.c:2019
+#: executor/execExprInterp.c:2334
 #, c-format
 msgid "attribute %d of type %s has been dropped"
 msgstr "Attribut %d von Typ %s wurde gelöscht"
 
-#: executor/execExprInterp.c:2025
+#: executor/execExprInterp.c:2340
 #, c-format
 msgid "attribute %d of type %s has wrong type"
 msgstr "Attribut %d von Typ %s hat falschen Typ"
 
-#: executor/execExprInterp.c:2027 executor/execExprInterp.c:3226
-#: executor/execExprInterp.c:3272
+#: executor/execExprInterp.c:2342 executor/execExprInterp.c:3701
+#: executor/execExprInterp.c:3747
 #, c-format
 msgid "Table has type %s, but query expects %s."
 msgstr "Tabelle hat Typ %s, aber Anfrage erwartet %s."
 
-#: executor/execExprInterp.c:2107 utils/adt/expandedrecord.c:99
-#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1752
-#: utils/cache/typcache.c:1911 utils/cache/typcache.c:2058
+#: executor/execExprInterp.c:2422 utils/adt/expandedrecord.c:99
+#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1839
+#: utils/cache/typcache.c:1998 utils/cache/typcache.c:2145
 #: utils/fmgr/funcapi.c:569
 #, c-format
 msgid "type %s is not composite"
 msgstr "Typ %s ist kein zusammengesetzter Typ"
 
-#: executor/execExprInterp.c:2710
+#: executor/execExprInterp.c:3185
 #, 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:2923
+#: executor/execExprInterp.c:3398
 #, c-format
 msgid "cannot merge incompatible arrays"
 msgstr "kann inkompatible Arrays nicht verschmelzen"
 
-#: executor/execExprInterp.c:2924
+#: executor/execExprInterp.c:3399
 #, 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:2945 utils/adt/arrayfuncs.c:1305
-#: utils/adt/arrayfuncs.c:3503 utils/adt/arrayfuncs.c:5593
-#: utils/adt/arrayfuncs.c:6110 utils/adt/arraysubs.c:150
-#: utils/adt/arraysubs.c:488
+#: executor/execExprInterp.c:3420 utils/adt/arrayfuncs.c:1305
+#: utils/adt/arrayfuncs.c:3515 utils/adt/arrayfuncs.c:5605
+#: utils/adt/arrayfuncs.c:6122 utils/adt/arraysubs.c:151
+#: utils/adt/arraysubs.c:489
 #, 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:2965 executor/execExprInterp.c:3000
+#: executor/execExprInterp.c:3440 executor/execExprInterp.c:3475
 #, 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:2977 utils/adt/array_expanded.c:274
+#: executor/execExprInterp.c:3452 utils/adt/array_expanded.c:274
 #: utils/adt/arrayfuncs.c:335 utils/adt/arrayfuncs.c:494
 #: utils/adt/arrayfuncs.c:727 utils/adt/arrayfuncs.c:1533
 #: utils/adt/arrayfuncs.c:2341 utils/adt/arrayfuncs.c:2356
 #: utils/adt/arrayfuncs.c:2618 utils/adt/arrayfuncs.c:2634
 #: utils/adt/arrayfuncs.c:2895 utils/adt/arrayfuncs.c:2949
 #: utils/adt/arrayfuncs.c:2964 utils/adt/arrayfuncs.c:3305
-#: utils/adt/arrayfuncs.c:3533 utils/adt/arrayfuncs.c:5365
-#: utils/adt/arrayfuncs.c:6202 utils/adt/arrayfuncs.c:6546
+#: utils/adt/arrayfuncs.c:3545 utils/adt/arrayfuncs.c:5377
+#: utils/adt/arrayfuncs.c:6214 utils/adt/arrayfuncs.c:6558
 #: utils/adt/arrayutils.c:83 utils/adt/arrayutils.c:92
 #: utils/adt/arrayutils.c:99
 #, c-format
 msgid "array size exceeds the maximum allowed (%d)"
 msgstr "Arraygröße überschreitet erlaubtes Maximum (%d)"
 
-#: executor/execExprInterp.c:3225 executor/execExprInterp.c:3271
+#: executor/execExprInterp.c:3700 executor/execExprInterp.c:3746
 #, c-format
 msgid "attribute %d has wrong type"
 msgstr "Attribut %d hat falschen Typ"
 
-#: executor/execExprInterp.c:3857 utils/adt/domains.c:158
+#: executor/execExprInterp.c:4332 utils/adt/domains.c:158
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "Domäne %s erlaubt keine NULL-Werte"
 
-#: executor/execExprInterp.c:3872 utils/adt/domains.c:196
+#: executor/execExprInterp.c:4347 utils/adt/domains.c:196
 #, 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:4447
+#: executor/execExprInterp.c:4922
 #, c-format
 msgid "no SQL/JSON item found for specified path of column \"%s\""
 msgstr "kein SQL/JSON-Item für angegebenen Pfad von Spalte »%s« gefunden"
 
-#: executor/execExprInterp.c:4452
+#: executor/execExprInterp.c:4927
 #, c-format
 msgid "no SQL/JSON item found for specified path"
 msgstr "kein SQL/JSON-Item für angegebenen Pfad gefunden"
 
 #. translator: first %s is a SQL/JSON clause (e.g. ON ERROR)
-#: executor/execExprInterp.c:4652 executor/execExprInterp.c:4660
+#: executor/execExprInterp.c:5127 executor/execExprInterp.c:5135
 #, c-format
 msgid "could not coerce %s expression (%s) to the RETURNING type"
 msgstr "konnte %s-Ausdruck (%s) nicht in RETURNING-Typ umwandeln"
 
-#: executor/execExprInterp.c:4853
+#: executor/execExprInterp.c:5360
 #, 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:4969 executor/execSRF.c:977
+#: executor/execExprInterp.c:5476 executor/execSRF.c:977
 #, c-format
 msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
 msgstr "Physischer Speicher stimmt nicht überein mit gelöschtem Attribut auf Position %d."
 
-#: executor/execIndexing.c:593
+#: executor/execIndexing.c:609
 #, 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:870
+#: executor/execIndexing.c:912
 #, c-format
 msgid "could not create exclusion constraint \"%s\""
 msgstr "konnte Exclusion-Constraint »%s« nicht erzeugen"
 
-#: executor/execIndexing.c:873
+#: executor/execIndexing.c:915
 #, c-format
 msgid "Key %s conflicts with key %s."
 msgstr "Schlüssel %s kollidiert mit Schlüssel %s."
 
-#: executor/execIndexing.c:875
+#: executor/execIndexing.c:917
 #, c-format
 msgid "Key conflicts exist."
 msgstr "Es bestehen Schlüsselkonflikte."
 
-#: executor/execIndexing.c:881
+#: executor/execIndexing.c:923
 #, c-format
 msgid "conflicting key value violates exclusion constraint \"%s\""
 msgstr "kollidierender Schlüsselwert verletzt Exclusion-Constraint »%s«"
 
-#: executor/execIndexing.c:884
+#: executor/execIndexing.c:926
 #, c-format
 msgid "Key %s conflicts with existing key %s."
 msgstr "Schlüssel %s kollidiert mit vorhandenem Schlüssel %s."
 
-#: executor/execIndexing.c:886
+#: executor/execIndexing.c:928
 #, c-format
 msgid "Key conflicts with existing key."
 msgstr "Der Schlüssel kollidiert mit einem vorhandenen Schlüssel."
 
-#: executor/execMain.c:1039
+#: executor/execIndexing.c:1173
+#, c-format
+msgid "empty WITHOUT OVERLAPS value found in column \"%s\" in relation \"%s\""
+msgstr ""
+
+#: executor/execMain.c:1168
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "kann Sequenz »%s« nicht ändern"
 
-#: executor/execMain.c:1045
+#: executor/execMain.c:1174
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "kann TOAST-Relation »%s« nicht ändern"
 
-#: executor/execMain.c:1064
+#: executor/execMain.c:1193
 #, c-format
 msgid "cannot change materialized view \"%s\""
 msgstr "kann materialisierte Sicht »%s« nicht ändern"
 
-#: executor/execMain.c:1076
+#: executor/execMain.c:1205
 #, c-format
 msgid "cannot insert into foreign table \"%s\""
 msgstr "kann nicht in Fremdtabelle »%s« einfügen"
 
-#: executor/execMain.c:1082
+#: executor/execMain.c:1211
 #, c-format
 msgid "foreign table \"%s\" does not allow inserts"
 msgstr "Fremdtabelle »%s« erlaubt kein Einfügen"
 
-#: executor/execMain.c:1089
+#: executor/execMain.c:1218
 #, c-format
 msgid "cannot update foreign table \"%s\""
 msgstr "kann Fremdtabelle »%s« nicht aktualisieren"
 
-#: executor/execMain.c:1095
+#: executor/execMain.c:1224
 #, c-format
 msgid "foreign table \"%s\" does not allow updates"
 msgstr "Fremdtabelle »%s« erlaubt kein Aktualisieren"
 
-#: executor/execMain.c:1102
+#: executor/execMain.c:1231
 #, c-format
 msgid "cannot delete from foreign table \"%s\""
 msgstr "kann nicht aus Fremdtabelle »%s« löschen"
 
-#: executor/execMain.c:1108
+#: executor/execMain.c:1237
 #, c-format
 msgid "foreign table \"%s\" does not allow deletes"
 msgstr "Fremdtabelle »%s« erlaubt kein Löschen"
 
-#: executor/execMain.c:1119
+#: executor/execMain.c:1248
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "kann Relation »%s« nicht ändern"
 
-#: executor/execMain.c:1146
+#: executor/execMain.c:1275
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "kann Zeilen in Sequenz »%s« nicht sperren"
 
-#: executor/execMain.c:1153
+#: executor/execMain.c:1282
 #, c-format
 msgid "cannot lock rows in TOAST relation \"%s\""
 msgstr "kann Zeilen in TOAST-Relation »%s« nicht sperren"
 
-#: executor/execMain.c:1160
+#: executor/execMain.c:1289
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "kann Zeilen in Sicht »%s« nicht sperren"
 
-#: executor/execMain.c:1168
+#: executor/execMain.c:1297
 #, c-format
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "kann Zeilen in materialisierter Sicht »%s« nicht sperren"
 
-#: executor/execMain.c:1177 executor/execMain.c:2687
+#: executor/execMain.c:1306 executor/execMain.c:2826
 #: executor/nodeLockRows.c:135
 #, c-format
 msgid "cannot lock rows in foreign table \"%s\""
 msgstr "kann Zeilen in Fremdtabelle »%s« nicht sperren"
 
-#: executor/execMain.c:1183
+#: executor/execMain.c:1312
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "kann Zeilen in Relation »%s« nicht sperren"
 
-#: executor/execMain.c:1901
+#: executor/execMain.c:2036
 #, c-format
 msgid "new row for relation \"%s\" violates partition constraint"
 msgstr "neue Zeile für Relation »%s« verletzt Partitions-Constraint"
 
-#: executor/execMain.c:1903 executor/execMain.c:1987 executor/execMain.c:2038
-#: executor/execMain.c:2148
+#: executor/execMain.c:2038 executor/execMain.c:2122 executor/execMain.c:2173
+#: executor/execMain.c:2283
 #, c-format
 msgid "Failing row contains %s."
 msgstr "Fehlgeschlagene Zeile enthält %s."
 
-#: executor/execMain.c:1984
+#: executor/execMain.c:2119
 #, c-format
 msgid "null value in column \"%s\" of relation \"%s\" violates not-null constraint"
 msgstr "NULL-Wert in Spalte »%s« von Relation »%s« verletzt Not-Null-Constraint"
 
-#: executor/execMain.c:2036
+#: executor/execMain.c:2171
 #, 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:2146
+#: executor/execMain.c:2281
 #, c-format
 msgid "new row violates check option for view \"%s\""
 msgstr "neue Zeile verletzt Check-Option für Sicht »%s«"
 
-#: executor/execMain.c:2156
+#: executor/execMain.c:2291
 #, 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:2161
+#: executor/execMain.c:2296
 #, 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:2169
+#: executor/execMain.c:2304
 #, c-format
 msgid "target row violates row-level security policy \"%s\" (USING expression) for table \"%s\""
 msgstr "Zielzeile verletzt Policy für Sicherheit auf Zeilenebene »%s« (USING-Ausdruck) für Tabelle »%s«"
 
-#: executor/execMain.c:2174
+#: executor/execMain.c:2309
 #, c-format
 msgid "target row violates row-level security policy (USING expression) for table \"%s\""
 msgstr "Zielzeile verletzt Policy für Sicherheit auf Zeilenebene (USING-Ausdruck) für Tabelle »%s«"
 
-#: executor/execMain.c:2181
+#: executor/execMain.c:2316
 #, 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:2186
+#: executor/execMain.c:2321
 #, c-format
 msgid "new row violates row-level security policy (USING expression) for table \"%s\""
 msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene (USING-Ausdruck) für Tabelle »%s«"
 
-#: executor/execPartition.c:327
+#: executor/execPartition.c:331
 #, c-format
 msgid "no partition of relation \"%s\" found for row"
 msgstr "keine Partition von Relation »%s« für die Zeile gefunden"
 
-#: executor/execPartition.c:330
+#: executor/execPartition.c:334
 #, c-format
 msgid "Partition key of the failing row contains %s."
 msgstr "Partitionierungsschlüssel der fehlgeschlagenen Zeile enthält %s."
 
-#: executor/execReplication.c:272 executor/execReplication.c:456
+#: executor/execReplication.c:147
 #, c-format
 msgid "tuple to be locked was already moved to another partition due to concurrent update, retrying"
 msgstr "das zu sperrende Tupel wurde schon durch ein gleichzeitiges Update in eine andere Partition verschoben, versuche erneut"
 
-#: executor/execReplication.c:276 executor/execReplication.c:460
+#: executor/execReplication.c:151
 #, c-format
 msgid "concurrent update, retrying"
 msgstr "gleichzeitige Aktualisierung, versuche erneut"
 
-#: executor/execReplication.c:282 executor/execReplication.c:466
+#: executor/execReplication.c:158
 #, c-format
 msgid "concurrent delete, retrying"
 msgstr "gleichzeitiges Löschen, versuche erneut"
 
-#: executor/execReplication.c:352 parser/parse_cte.c:302
-#: parser/parse_oper.c:221 utils/adt/array_userfuncs.c:1334
-#: utils/adt/array_userfuncs.c:1477 utils/adt/arrayfuncs.c:3852
-#: utils/adt/arrayfuncs.c:4407 utils/adt/arrayfuncs.c:6426
-#: utils/adt/rowtypes.c:1220
-#, c-format
-msgid "could not identify an equality operator for type %s"
-msgstr "konnte keinen Ist-Gleich-Operator für Typ %s ermitteln"
-
-#: executor/execReplication.c:687 executor/execReplication.c:693
+#: executor/execReplication.c:771 executor/execReplication.c:777
+#: executor/execReplication.c:783
 #, c-format
 msgid "cannot update table \"%s\""
 msgstr "kann Tabelle »%s« nicht aktualisieren"
 
-#: executor/execReplication.c:689 executor/execReplication.c:701
+#: executor/execReplication.c:773 executor/execReplication.c:791
 #, c-format
 msgid "Column used in the publication WHERE expression is not part of the replica identity."
 msgstr "Im WHERE-Ausdruck der Publikation verwendete Spalte ist nicht Teil der Replika-Identität."
 
-#: executor/execReplication.c:695 executor/execReplication.c:707
+#: executor/execReplication.c:779 executor/execReplication.c:797
 #, c-format
 msgid "Column list used by the publication does not cover the replica identity."
 msgstr "Die von der Publikation verwendete Spaltenliste umfasst die Replika-Identität nicht."
 
-#: executor/execReplication.c:699 executor/execReplication.c:705
+#: executor/execReplication.c:785 executor/execReplication.c:803
+#, c-format
+msgid "Replica identity must not contain unpublished generated columns."
+msgstr ""
+
+#: executor/execReplication.c:789 executor/execReplication.c:795
+#: executor/execReplication.c:801
 #, c-format
 msgid "cannot delete from table \"%s\""
 msgstr "kann nicht aus Tabelle »%s« löschen"
 
-#: executor/execReplication.c:725
+#: executor/execReplication.c:821
 #, c-format
 msgid "cannot update table \"%s\" because it does not have a replica identity and publishes updates"
 msgstr "Tabelle »%s« kann nicht aktualisiert werden, weil sie keine Replik-Identität hat und Updates publiziert"
 
-#: executor/execReplication.c:727
+#: executor/execReplication.c:823
 #, c-format
 msgid "To enable updating the table, set REPLICA IDENTITY using ALTER TABLE."
 msgstr "Um Aktualisieren der Tabelle zu ermöglichen, setzen Sie REPLICA IDENTITY mit ALTER TABLE."
 
-#: executor/execReplication.c:731
+#: executor/execReplication.c:827
 #, c-format
 msgid "cannot delete from table \"%s\" because it does not have a replica identity and publishes deletes"
 msgstr "aus Tabelle »%s« kann nicht gelöscht werden, weil sie keine Replik-Identität hat und Deletes publiziert"
 
-#: executor/execReplication.c:733
+#: executor/execReplication.c:829
 #, c-format
 msgid "To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE."
 msgstr "Um Löschen in der Tabelle zu ermöglichen, setzen Sie REPLICA IDENTITY mit ALTER TABLE."
 
-#: executor/execReplication.c:749
+#: executor/execReplication.c:845
 #, c-format
 msgid "cannot use relation \"%s.%s\" as logical replication target"
 msgstr "Relation »%s.%s« kann nicht als Ziel für logische Replikation verwendet werden"
@@ -13944,12 +14320,12 @@ msgstr "dieser Tupeltyp hat keine Transaktionsinformationen"
 msgid "don't have a storage tuple in this context"
 msgstr "in diesem Kontext gibt es kein zu speicherndes Tupel"
 
-#: executor/execUtils.c:713
+#: executor/execUtils.c:760
 #, c-format
 msgid "materialized view \"%s\" has not been populated"
 msgstr "materialisierte Sicht »%s« wurde noch nicht befüllt"
 
-#: executor/execUtils.c:715
+#: executor/execUtils.c:762
 #, c-format
 msgid "Use the REFRESH MATERIALIZED VIEW command."
 msgstr "Verwenden Sie den Befehl REFRESH MATERIALIZED VIEW."
@@ -13971,74 +14347,74 @@ msgid "%s is not allowed in an SQL function"
 msgstr "%s ist in SQL-Funktionen nicht erlaubt"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:527 executor/spi.c:1744 executor/spi.c:2657
+#: executor/functions.c:527 executor/spi.c:1746 executor/spi.c:2660
 #, 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:1452
+#: executor/functions.c:1454
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "SQL-Funktion »%s« Anweisung %d"
 
-#: executor/functions.c:1478
+#: executor/functions.c:1480
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "SQL-Funktion »%s« beim Start"
 
-#: executor/functions.c:1563
+#: executor/functions.c:1565
 #, c-format
 msgid "calling procedures with output arguments is not supported in SQL functions"
 msgstr "Aufruf von Prozeduren mit Ausgabeargumenten wird in SQL-Funktionen nicht unterstützt"
 
-#: executor/functions.c:1698 executor/functions.c:1736
-#: executor/functions.c:1750 executor/functions.c:1845
-#: executor/functions.c:1878 executor/functions.c:1892
+#: executor/functions.c:1700 executor/functions.c:1738
+#: executor/functions.c:1752 executor/functions.c:1847
+#: executor/functions.c:1880 executor/functions.c:1894
 #, 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:1700
+#: executor/functions.c:1702
 #, c-format
 msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE/MERGE RETURNING."
 msgstr "Die letzte Anweisung der Funktion muss ein SELECT oder INSERT/UPDATE/DELETE/MERGE RETURNING sein."
 
-#: executor/functions.c:1738
+#: executor/functions.c:1740
 #, c-format
 msgid "Final statement must return exactly one column."
 msgstr "Die letzte Anweisung muss genau eine Spalte zurückgeben."
 
-#: executor/functions.c:1752
+#: executor/functions.c:1754
 #, c-format
 msgid "Actual return type is %s."
 msgstr "Eigentlicher Rückgabetyp ist %s."
 
-#: executor/functions.c:1847
+#: executor/functions.c:1849
 #, c-format
 msgid "Final statement returns too many columns."
 msgstr "Die letzte Anweisung gibt zu viele Spalten zurück."
 
-#: executor/functions.c:1880
+#: executor/functions.c:1882
 #, 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:1894
+#: executor/functions.c:1896
 #, c-format
 msgid "Final statement returns too few columns."
 msgstr "Die letzte Anweisung gibt zu wenige Spalten zurück."
 
-#: executor/functions.c:1922
+#: executor/functions.c:1924
 #, 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:3936 executor/nodeWindowAgg.c:2975
+#: executor/nodeAgg.c:3976 executor/nodeWindowAgg.c:3041
 #, 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:3966 parser/parse_agg.c:680 parser/parse_agg.c:708
+#: executor/nodeAgg.c:3999 parser/parse_agg.c:685 parser/parse_agg.c:713
 #, c-format
 msgid "aggregate function calls cannot be nested"
 msgstr "Aufrufe von Aggregatfunktionen können nicht geschachtelt werden"
@@ -14048,7 +14424,7 @@ msgstr "Aufrufe von Aggregatfunktionen können nicht geschachtelt werden"
 msgid "custom scan \"%s\" does not support MarkPos"
 msgstr "Custom-Scan »%s« unterstützt MarkPos nicht"
 
-#: executor/nodeHashjoin.c:1131 executor/nodeHashjoin.c:1161
+#: executor/nodeHashjoin.c:1230 executor/nodeHashjoin.c:1260
 #, c-format
 msgid "could not rewind hash-join temporary file"
 msgstr "konnte Position in temporärer Datei für Hash-Verbund nicht auf Anfang setzen"
@@ -14068,74 +14444,74 @@ msgstr "OFFSET darf nicht negativ sein"
 msgid "LIMIT must not be negative"
 msgstr "LIMIT darf nicht negativ sein"
 
-#: executor/nodeMergejoin.c:1579
+#: executor/nodeMergejoin.c:1574
 #, 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:1597
+#: executor/nodeMergejoin.c:1592
 #, 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:240
+#: executor/nodeModifyTable.c:247
 #, c-format
 msgid "Query has too few columns."
 msgstr "Anfrage hat zu wenige Spalten."
 
-#: executor/nodeModifyTable.c:1540 executor/nodeModifyTable.c:1614
+#: executor/nodeModifyTable.c:1664 executor/nodeModifyTable.c:1738
 #, c-format
 msgid "tuple to be deleted was already modified by an operation triggered by the current command"
 msgstr "das zu löschende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert"
 
-#: executor/nodeModifyTable.c:1769
+#: executor/nodeModifyTable.c:1937
 #, c-format
 msgid "invalid ON UPDATE specification"
 msgstr "ungültige ON-UPDATE-Angabe"
 
-#: executor/nodeModifyTable.c:1770
+#: executor/nodeModifyTable.c:1938
 #, c-format
 msgid "The result tuple would appear in a different partition than the original tuple."
 msgstr "Das Ergebnistupel würde in einer anderen Partition erscheinen als das ursprüngliche Tupel."
 
-#: executor/nodeModifyTable.c:2226
+#: executor/nodeModifyTable.c:2394
 #, c-format
 msgid "cannot move tuple across partitions when a non-root ancestor of the source partition is directly referenced in a foreign key"
 msgstr "Tupel kann nicht zwischen Partitionen bewegt werden, wenn ein Fremdschlüssel direkt auf einen Vorgänger (außer der Wurzel) der Quellpartition verweist"
 
-#: executor/nodeModifyTable.c:2227
+#: executor/nodeModifyTable.c:2395
 #, c-format
 msgid "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"."
 msgstr "Ein Fremdschlüssel verweist auf den Vorgänger »%s«, aber nicht auf den Wurzelvorgänger »%s«."
 
-#: executor/nodeModifyTable.c:2230
+#: executor/nodeModifyTable.c:2398
 #, c-format
 msgid "Consider defining the foreign key on table \"%s\"."
 msgstr "Definieren Sie den Fremdschlüssel eventuell für Tabelle »%s«."
 
 #. translator: %s is a SQL command name
-#: executor/nodeModifyTable.c:2596 executor/nodeModifyTable.c:3138
-#: executor/nodeModifyTable.c:3308
+#: executor/nodeModifyTable.c:2765 executor/nodeModifyTable.c:3314
+#: executor/nodeModifyTable.c:3484
 #, c-format
 msgid "%s command cannot affect row a second time"
 msgstr "Befehl in %s kann eine Zeile nicht ein zweites Mal ändern"
 
-#: executor/nodeModifyTable.c:2598
+#: executor/nodeModifyTable.c:2767
 #, 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/nodeModifyTable.c:3131 executor/nodeModifyTable.c:3301
+#: executor/nodeModifyTable.c:3307 executor/nodeModifyTable.c:3477
 #, c-format
 msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command"
 msgstr "das zu aktualisierende oder zu löschende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert"
 
-#: executor/nodeModifyTable.c:3140 executor/nodeModifyTable.c:3310
+#: executor/nodeModifyTable.c:3316 executor/nodeModifyTable.c:3486
 #, c-format
 msgid "Ensure that not more than one source row matches any one target row."
 msgstr "Stellen Sie sicher, dass nicht mehr als eine Quellzeile auf jede Zielzeile passt."
 
-#: executor/nodeModifyTable.c:3209
+#: executor/nodeModifyTable.c:3385
 #, c-format
 msgid "tuple to be merged was already moved to another partition due to concurrent update"
 msgstr "das zu mergende Tupel wurde schon durch ein gleichzeitiges Update in eine andere Partition verschoben"
@@ -14150,8 +14526,8 @@ msgstr "Parameter von TABLESAMPLE darf nicht NULL sein"
 msgid "TABLESAMPLE REPEATABLE parameter cannot be null"
 msgstr "Parameter von TABLESAMPLE REPEATABLE darf nicht NULL sein"
 
-#: executor/nodeSubplan.c:325 executor/nodeSubplan.c:351
-#: executor/nodeSubplan.c:405 executor/nodeSubplan.c:1174
+#: executor/nodeSubplan.c:317 executor/nodeSubplan.c:343
+#: executor/nodeSubplan.c:397 executor/nodeSubplan.c:1182
 #, 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"
@@ -14186,104 +14562,105 @@ msgstr "NULL ist in Spalte »%s« nicht erlaubt"
 msgid "moving-aggregate transition function must not return null"
 msgstr "Moving-Aggregat-Übergangsfunktion darf nicht NULL zurückgeben"
 
-#: executor/nodeWindowAgg.c:2083
+#: executor/nodeWindowAgg.c:2106
 #, c-format
 msgid "frame starting offset must not be null"
 msgstr "Frame-Start-Offset darf nicht NULL sein"
 
-#: executor/nodeWindowAgg.c:2096
+#: executor/nodeWindowAgg.c:2120
 #, c-format
 msgid "frame starting offset must not be negative"
 msgstr "Frame-Start-Offset darf nicht negativ sein"
 
-#: executor/nodeWindowAgg.c:2108
+#: executor/nodeWindowAgg.c:2133
 #, c-format
 msgid "frame ending offset must not be null"
 msgstr "Frame-Ende-Offset darf nicht NULL sein"
 
-#: executor/nodeWindowAgg.c:2121
+#: executor/nodeWindowAgg.c:2147
 #, c-format
 msgid "frame ending offset must not be negative"
 msgstr "Frame-Ende-Offset darf nicht negativ sein"
 
-#: executor/nodeWindowAgg.c:2891
+#: executor/nodeWindowAgg.c:2957
 #, c-format
 msgid "aggregate function %s does not support use as a window function"
 msgstr "Aggregatfunktion %s unterstützt die Verwendung als Fensterfunktion nicht"
 
-#: executor/spi.c:241 executor/spi.c:341
+#: executor/spi.c:242 executor/spi.c:342
 #, c-format
 msgid "invalid transaction termination"
 msgstr "ungültige Transaktionsbeendung"
 
-#: executor/spi.c:256
+#: executor/spi.c:257
 #, c-format
 msgid "cannot commit while a subtransaction is active"
 msgstr "während eine Subtransaktion aktiv ist kann nicht committet werden"
 
-#: executor/spi.c:347
+#: executor/spi.c:348
 #, c-format
 msgid "cannot roll back while a subtransaction is active"
 msgstr "während eine Subtransaktion aktiv ist kann nicht zurückgerollt werden"
 
-#: executor/spi.c:471
+#: executor/spi.c:472
 #, c-format
 msgid "transaction left non-empty SPI stack"
 msgstr "Transaktion ließ nicht-leeren SPI-Stack zurück"
 
-#: executor/spi.c:472 executor/spi.c:532
+#: executor/spi.c:473 executor/spi.c:533
 #, c-format
 msgid "Check for missing \"SPI_finish\" calls."
 msgstr "Prüfen Sie, ob Aufrufe von »SPI_finish« fehlen."
 
-#: executor/spi.c:531
+#: executor/spi.c:532
 #, c-format
 msgid "subtransaction left non-empty SPI stack"
 msgstr "Subtransaktion ließ nicht-leeren SPI-Stack zurück"
 
-#: executor/spi.c:1602
+#: executor/spi.c:1603
 #, 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:1612
+#: executor/spi.c:1613
 #, c-format
 msgid "cannot open %s query as cursor"
 msgstr "%s kann nicht als Cursor geöffnet werden"
 
-#: executor/spi.c:1718
+#: executor/spi.c:1720
 #, 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:1719 parser/analyze.c:2928
+#: executor/spi.c:1721 parser/analyze.c:3122
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Scrollbare Cursor müssen READ ONLY sein."
 
-#: executor/spi.c:2496
+#: executor/spi.c:2498
 #, c-format
 msgid "empty query does not return tuples"
 msgstr "leere Anfrage gibt keine Tupel zurück"
 
 #. translator: %s is name of a SQL command, eg INSERT
-#: executor/spi.c:2570
+#: executor/spi.c:2573
 #, c-format
 msgid "%s query does not return tuples"
 msgstr "%s-Anfrage gibt keine Tupel zurück"
 
-#: executor/spi.c:2987
-#, c-format
-msgid "SQL expression \"%s\""
+#: executor/spi.c:3004
+#, fuzzy, c-format
+#| msgid "SQL expression \"%s\""
+msgid "PL/pgSQL expression \"%s\""
 msgstr "SQL-Ausdruck »%s«"
 
-#: executor/spi.c:2992
+#: executor/spi.c:3009
 #, c-format
 msgid "PL/pgSQL assignment \"%s\""
 msgstr "PL/pgSQL-Zuweisung »%s«"
 
-#: executor/spi.c:2995
+#: executor/spi.c:3012
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "SQL-Anweisung »%s«"
@@ -14298,7 +14675,7 @@ msgstr "konnte Tupel nicht an Shared-Memory-Queue senden"
 msgid "user mapping not found for user \"%s\", server \"%s\""
 msgstr "Benutzerabbildung für Benutzer »%s«, Server »%s« nicht gefunden"
 
-#: foreign/foreign.c:336 optimizer/plan/createplan.c:7153
+#: foreign/foreign.c:336 optimizer/plan/createplan.c:7241
 #: optimizer/util/plancat.c:540
 #, c-format
 msgid "access to non-system foreign table is restricted"
@@ -14319,462 +14696,461 @@ msgstr "Vielleicht meinten Sie die Option »%s«."
 msgid "There are no valid options in this context."
 msgstr "Es gibt keine gültigen Optionen in diesem Zusammenhang."
 
-#: gram.y:1231
+#: gram.y:1223
 #, c-format
 msgid "UNENCRYPTED PASSWORD is no longer supported"
 msgstr "UNENCRYPTED PASSWORD wird nicht mehr unterstützt"
 
-#: gram.y:1232
+#: gram.y:1224
 #, 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:1559 gram.y:1575
+#: gram.y:1551 gram.y:1567
 #, c-format
 msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements"
 msgstr "CREATE SCHEMA IF NOT EXISTS kann keine Schemaelemente enthalten"
 
-#: gram.y:1727
+#: gram.y:1728
 #, c-format
 msgid "current database cannot be changed"
 msgstr "aktuelle Datenbank kann nicht geändert werden"
 
-#: gram.y:1860
+#: gram.y:1869
 #, c-format
 msgid "time zone interval must be HOUR or HOUR TO MINUTE"
 msgstr "Zeitzonenintervall muss HOUR oder HOUR TO MINUTE sein"
 
-#: gram.y:2487
+#: gram.y:2501
 #, c-format
 msgid "column number must be in range from 1 to %d"
 msgstr "Spaltennummer muss im Bereich 1 bis %d sein"
 
-#: gram.y:3083
+#: gram.y:3125
 #, c-format
 msgid "sequence option \"%s\" not supported here"
 msgstr "Sequenzoption »%s« wird hier nicht unterstützt"
 
-#: gram.y:3122
+#: gram.y:3164
 #, c-format
 msgid "modulus for hash partition provided more than once"
 msgstr "Modulus für Hashpartition mehrmals angegeben"
 
-#: gram.y:3131
+#: gram.y:3173
 #, c-format
 msgid "remainder for hash partition provided more than once"
 msgstr "Rest für Hashpartition mehrmals angegeben"
 
-#: gram.y:3138
+#: gram.y:3180
 #, c-format
 msgid "unrecognized hash partition bound specification \"%s\""
 msgstr "unbekannte Hashpartitionsbegrenzungsangabe »%s«"
 
-#: gram.y:3146
+#: gram.y:3188
 #, c-format
 msgid "modulus for hash partition must be specified"
 msgstr "Modulus für Hashpartition muss angegeben werden"
 
-#: gram.y:3150
+#: gram.y:3193
 #, c-format
 msgid "remainder for hash partition must be specified"
 msgstr "Rest für Hashpartition muss angegeben werden"
 
-#: gram.y:3358 gram.y:3392
+#: gram.y:3402 gram.y:3437
 #, c-format
 msgid "STDIN/STDOUT not allowed with PROGRAM"
 msgstr "STDIN/STDOUT sind nicht mit PROGRAM erlaubt"
 
-#: gram.y:3364
+#: gram.y:3408
 #, c-format
 msgid "WHERE clause not allowed with COPY TO"
 msgstr "mit COPY TO ist keine WHERE-Klausel erlaubt"
 
-#: gram.y:3712 gram.y:3719 gram.y:13023 gram.y:13031
+#: gram.y:3757 gram.y:3764 gram.y:13189 gram.y:13197
 #, 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:3995
+#: gram.y:4046
 #, c-format
 msgid "for a generated column, GENERATED ALWAYS must be specified"
 msgstr "für eine generierte Spalte muss GENERATED ALWAYS angegeben werden"
 
-#: gram.y:4340 utils/adt/ri_triggers.c:2103
+#: gram.y:4456 utils/adt/ri_triggers.c:2259
 #, c-format
 msgid "MATCH PARTIAL not yet implemented"
 msgstr "MATCH PARTIAL ist noch nicht implementiert"
 
-#: gram.y:4432
+#: gram.y:4548
 #, c-format
 msgid "a column list with %s is only supported for ON DELETE actions"
 msgstr "eine Spaltenliste für %s wird nur für ON-DELETE-Aktionen unterstützt"
 
-#: gram.y:5151
+#: gram.y:5267
 #, c-format
 msgid "CREATE EXTENSION ... FROM is no longer supported"
 msgstr "CREATE EXTENSION ... FROM wird nicht mehr unterstützt"
 
-#: gram.y:5849
+#: gram.y:5965
 #, c-format
 msgid "unrecognized row security option \"%s\""
 msgstr "unbekannte Zeilensicherheitsoption »%s«"
 
-#: gram.y:5850
+#: gram.y:5966
 #, c-format
 msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently."
 msgstr "Aktuell werden nur PERMISSIVE und RESTRICTIVE unterstützt."
 
-#: gram.y:5935
+#: gram.y:6051
 #, c-format
 msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported"
 msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER wird nicht unterstützt"
 
-#: gram.y:5972
+#: gram.y:6089
 msgid "duplicate trigger events specified"
 msgstr "mehrere Trigger-Ereignisse angegeben"
 
-#: gram.y:6114 parser/parse_utilcmd.c:3692 parser/parse_utilcmd.c:3718
+#: gram.y:6231 parser/parse_utilcmd.c:3938 parser/parse_utilcmd.c:3964
 #, c-format
 msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
 msgstr "Constraint, der als INITIALLY DEFERRED deklariert wurde, muss DEFERRABLE sein"
 
-#: gram.y:6121
+#: gram.y:6239
 #, c-format
 msgid "conflicting constraint properties"
 msgstr "widersprüchliche Constraint-Eigentschaften"
 
-#: gram.y:6220
+#: gram.y:6340
 #, c-format
 msgid "CREATE ASSERTION is not yet implemented"
 msgstr "CREATE ASSERTION ist noch nicht implementiert"
 
-#: gram.y:6537
+#: gram.y:6658
 #, c-format
 msgid "dropping an enum value is not implemented"
 msgstr "Löschen eines Enum-Werts ist nicht implementiert"
 
-#: gram.y:6655
-#, c-format
-msgid "RECHECK is no longer required"
-msgstr "RECHECK wird nicht mehr benötigt"
-
-#: gram.y:6656
-#, c-format
-msgid "Update your data type."
-msgstr "Aktualisieren Sie Ihren Datentyp."
-
-#: gram.y:8529
+#: gram.y:8637
 #, c-format
 msgid "aggregates cannot have output arguments"
 msgstr "Aggregatfunktionen können keine OUT-Argumente haben"
 
-#: gram.y:8992 utils/adt/regproc.c:670
+#: gram.y:9101 utils/adt/regproc.c:670
 #, c-format
 msgid "missing argument"
 msgstr "Argument fehlt"
 
-#: gram.y:8993 utils/adt/regproc.c:671
+#: gram.y:9102 utils/adt/regproc.c:671
 #, 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:11221 gram.y:11240
+#: gram.y:11330 gram.y:11349
 #, 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:13162
+#: gram.y:13336
 #, c-format
 msgid "LIMIT #,# syntax is not supported"
 msgstr "Syntax LIMIT x,y wird nicht unterstützt"
 
-#: gram.y:13163
+#: gram.y:13337
 #, c-format
 msgid "Use separate LIMIT and OFFSET clauses."
 msgstr "Verwenden Sie die getrennten Klauseln LIMIT und OFFSET."
 
-#: gram.y:14038
+#: gram.y:14225
 #, c-format
 msgid "only one DEFAULT value is allowed"
 msgstr "nur ein DEFAULT-Wert ist erlaubt"
 
-#: gram.y:14047
+#: gram.y:14234
 #, c-format
 msgid "only one PATH value per column is allowed"
 msgstr "nur ein PATH-Wert pro Spalte ist erlaubt"
 
-#: gram.y:14056
+#: gram.y:14243
 #, c-format
 msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\""
 msgstr "widersprüchliche oder überflüssige NULL/NOT NULL-Deklarationen für Spalte »%s«"
 
-#: gram.y:14065
+#: gram.y:14252
 #, c-format
 msgid "unrecognized column option \"%s\""
 msgstr "unbekannte Spaltenoption »%s«"
 
-#: gram.y:14147
+#: gram.y:14334
 #, c-format
 msgid "only string constants are supported in JSON_TABLE path specification"
 msgstr "nur Zeichenkettenkonstanten werden in Pfadangaben in JSON_TABLE unterstützt"
 
-#: gram.y:14469
+#: gram.y:14656
 #, 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:14478
+#: gram.y:14665
 #, 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:14995
+#: gram.y:15182
 #, 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:15000
+#: gram.y:15187
 #, 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:15177
+#: gram.y:15364
 #, c-format
 msgid "UNIQUE predicate is not yet implemented"
 msgstr "UNIQUE-Prädikat ist noch nicht implementiert"
 
-#: gram.y:15591
+#: gram.y:15778
 #, 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:15596
+#: gram.y:15783
 #, c-format
 msgid "cannot use DISTINCT with WITHIN GROUP"
 msgstr "DISTINCT kann nicht mit WITHIN GROUP verwendet werden"
 
-#: gram.y:15601
+#: gram.y:15788
 #, c-format
 msgid "cannot use VARIADIC with WITHIN GROUP"
 msgstr "VARIADIC kann nicht mit WITHIN GROUP verwendet werden"
 
-#: gram.y:16328 gram.y:16352
+#: gram.y:16515 gram.y:16539
 #, c-format
 msgid "frame start cannot be UNBOUNDED FOLLOWING"
 msgstr "Frame-Beginn kann nicht UNBOUNDED FOLLOWING sein"
 
-#: gram.y:16333
+#: gram.y:16520
 #, 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:16357
+#: gram.y:16544
 #, c-format
 msgid "frame end cannot be UNBOUNDED PRECEDING"
 msgstr "Frame-Ende kann nicht UNBOUNDED PRECEDING sein"
 
-#: gram.y:16363
+#: gram.y:16550
 #, 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:16370
+#: gram.y:16557
 #, 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:16919
+#: gram.y:17106
 #, c-format
 msgid "unrecognized JSON encoding: %s"
 msgstr "unbekannte JSON-Kodierung: %s"
 
-#: gram.y:17243
+#: gram.y:17431
 #, c-format
 msgid "type modifier cannot have parameter name"
 msgstr "Typmodifikator kann keinen Parameternamen haben"
 
-#: gram.y:17249
+#: gram.y:17437
 #, c-format
 msgid "type modifier cannot have ORDER BY"
 msgstr "Typmodifikator kann kein ORDER BY haben"
 
-#: gram.y:17317 gram.y:17324 gram.y:17331
+#: gram.y:17505 gram.y:17512 gram.y:17519
 #, c-format
 msgid "%s cannot be used as a role name here"
 msgstr "%s kann hier nicht als Rollenname verwendet werden"
 
-#: gram.y:17421 gram.y:18906
+#: gram.y:17609 gram.y:19138
 #, c-format
 msgid "WITH TIES cannot be specified without ORDER BY clause"
 msgstr "WITH TIES kann nicht ohne ORDER-BY-Klausel angegeben werden"
 
-#: gram.y:18597 gram.y:18772
+#: gram.y:18831 gram.y:19006
 msgid "improper use of \"*\""
 msgstr "unzulässige Verwendung von »*«"
 
-#: gram.y:18735 gram.y:18752 tsearch/spell.c:963 tsearch/spell.c:980
-#: tsearch/spell.c:997 tsearch/spell.c:1014 tsearch/spell.c:1079
+#: gram.y:18969 gram.y:18986 tsearch/spell.c:965 tsearch/spell.c:982
+#: tsearch/spell.c:999 tsearch/spell.c:1016 tsearch/spell.c:1082
 #, c-format
 msgid "syntax error"
 msgstr "Syntaxfehler"
 
-#: gram.y:18836
+#: gram.y:19070
 #, 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:18873
+#: gram.y:19107
 #, c-format
 msgid "multiple ORDER BY clauses not allowed"
 msgstr "mehrere ORDER-BY-Klauseln sind nicht erlaubt"
 
-#: gram.y:18884
+#: gram.y:19118
 #, c-format
 msgid "multiple OFFSET clauses not allowed"
 msgstr "mehrere OFFSET-Klauseln sind nicht erlaubt"
 
-#: gram.y:18893
+#: gram.y:19127
 #, c-format
 msgid "multiple LIMIT clauses not allowed"
 msgstr "mehrere LIMIT-Klauseln sind nicht erlaubt"
 
-#: gram.y:18902
-#, c-format
-msgid "multiple limit options not allowed"
-msgstr "mehrere Limit-Optionen sind nicht erlaubt"
-
-#: gram.y:18929
+#: gram.y:19163
 #, c-format
 msgid "multiple WITH clauses not allowed"
 msgstr "mehrere WITH-Klauseln sind nicht erlaubt"
 
-#: gram.y:19122
+#: gram.y:19361
 #, 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:19255
+#: gram.y:19495
 #, c-format
 msgid "multiple COLLATE clauses not allowed"
 msgstr "mehrere COLLATE-Klauseln sind nicht erlaubt"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:19293 gram.y:19306
+#: gram.y:19535 gram.y:19548
 #, 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:19319
+#: gram.y:19561
 #, 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:19332
+#: gram.y:19574
 #, c-format
 msgid "%s constraints cannot be marked NO INHERIT"
 msgstr "%s-Constraints können nicht als NO INHERIT markiert werden"
 
-#: gram.y:19354
+#. translator: %s is CHECK, UNIQUE, or similar
+#: gram.y:19587
+#, fuzzy, c-format
+#| msgid "%s constraints cannot be marked NOT VALID"
+msgid "%s constraints cannot be marked NOT ENFORCED"
+msgstr "%s-Constraints können nicht als NOT VALID markiert werden"
+
+#. translator: %s is CHECK, UNIQUE, or similar
+#: gram.y:19609
+#, fuzzy, c-format
+#| msgid "%s constraints cannot be marked DEFERRABLE"
+msgid "%s constraints cannot be marked ENFORCED"
+msgstr "%s-Constraints können nicht als DEFERRABLE markiert werden"
+
+#: gram.y:19631
 #, c-format
 msgid "unrecognized partitioning strategy \"%s\""
 msgstr "unbekannte Partitionierungsstrategie »%s«"
 
-#: gram.y:19378
+#: gram.y:19655
 #, c-format
 msgid "invalid publication object list"
 msgstr "ungültige Publikationsobjektliste"
 
-#: gram.y:19379
+#: gram.y:19656
 #, c-format
 msgid "One of TABLE or TABLES IN SCHEMA must be specified before a standalone table or schema name."
 msgstr "Entweder TABLE oder TABLES IN SCHEMA muss vor einem alleinstehenden Tabellen- oder Schemanamen angegeben werden."
 
-#: gram.y:19395
+#: gram.y:19672
 #, c-format
 msgid "invalid table name"
 msgstr "ungültiger Tabellenname"
 
-#: gram.y:19416
+#: gram.y:19693
 #, c-format
 msgid "WHERE clause not allowed for schema"
 msgstr "für Schemas ist keine WHERE-Klausel erlaubt"
 
-#: gram.y:19423
+#: gram.y:19700
 #, c-format
 msgid "column specification not allowed for schema"
 msgstr "für Schemas ist keine Spaltenangabe erlaubt"
 
-#: gram.y:19437
+#: gram.y:19714
 #, c-format
 msgid "invalid schema name"
 msgstr "ungültiger Schemaname"
 
-#: guc-file.l:192
+#: guc-file.l:193
 #, c-format
 msgid "empty configuration file name: \"%s\""
 msgstr "leerer Konfigurationsdateiname: »%s«"
 
-#: guc-file.l:209
+#: guc-file.l:210
 #, 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:229
+#: guc-file.l:230
 #, c-format
 msgid "configuration file recursion in \"%s\""
 msgstr "Konfigurationsdateirekursion in »%s«"
 
-#: guc-file.l:245
+#: guc-file.l:246
 #, c-format
 msgid "could not open configuration file \"%s\": %m"
 msgstr "konnte Konfigurationsdatei »%s« nicht öffnen: %m"
 
-#: guc-file.l:256
+#: guc-file.l:257
 #, c-format
 msgid "skipping missing configuration file \"%s\""
 msgstr "fehlende Konfigurationsdatei »%s« wird übersprungen"
 
-#: guc-file.l:511
+#: guc-file.l:518
 #, 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:521
+#: guc-file.l:528
 #, 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:541
+#: guc-file.l:548
 #, c-format
 msgid "too many syntax errors found, abandoning file \"%s\""
 msgstr "zu viele Syntaxfehler gefunden, Datei »%s« wird aufgegeben"
 
-#: jsonpath_gram.y:266 jsonpath_gram.y:598 jsonpath_scan.l:640
-#: jsonpath_scan.l:651 jsonpath_scan.l:661 jsonpath_scan.l:712
-#: utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:659
-#: utils/adt/varlena.c:333 utils/adt/varlena.c:374
+#: jsonpath_gram.y:268 jsonpath_gram.y:600 jsonpath_scan.l:617
+#: jsonpath_scan.l:628 jsonpath_scan.l:638 jsonpath_scan.l:690
+#: utils/adt/encode.c:513 utils/adt/encode.c:578 utils/adt/jsonfuncs.c:661
+#: utils/adt/varlena.c:341 utils/adt/varlena.c:382
 #, c-format
 msgid "invalid input syntax for type %s"
 msgstr "ungültige Eingabesyntax für Typ %s"
 
-#: jsonpath_gram.y:267
+#: jsonpath_gram.y:269
 #, c-format
 msgid ".decimal() can only have an optional precision[,scale]."
 msgstr ".decimal() kann nur optionale Argumente Präzision[,Skala] haben."
 
-#: jsonpath_gram.y:599
+#: jsonpath_gram.y:601
 #, c-format
 msgid "Unrecognized flag character \"%.*s\" in LIKE_REGEX predicate."
 msgstr "Unbekanntes Flag-Zeichen »%.*s« in LIKE_REGEX-Prädikat."
 
-#: jsonpath_gram.y:629 tsearch/spell.c:749 utils/adt/regexp.c:223
+#: jsonpath_gram.y:631 tsearch/spell.c:751 utils/adt/regexp.c:223
 #, c-format
 msgid "invalid regular expression: %s"
 msgstr "ungültiger regulärer Ausdruck: %s"
 
-#: jsonpath_gram.y:677
+#: jsonpath_gram.y:679
 #, c-format
 msgid "XQuery \"x\" flag (expanded regular expressions) is not implemented"
 msgstr "XQuery-Flag »x« (expanded regular expression) ist nicht implementiert"
@@ -14791,49 +15167,49 @@ msgstr "ungültige hexadezimale Zeichensequenz"
 msgid "unexpected end after backslash"
 msgstr "unerwartetes Ende nach Backslash"
 
-#: jsonpath_scan.l:201 repl_scanner.l:211 scan.l:756
+#: jsonpath_scan.l:201 repl_scanner.l:217 scan.l:742
 msgid "unterminated quoted string"
 msgstr "Zeichenkette in Anführungszeichen nicht abgeschlossen"
 
-#: jsonpath_scan.l:228
+#: jsonpath_scan.l:227
 msgid "unexpected end of comment"
 msgstr "unerwartetes Kommentarende"
 
-#: jsonpath_scan.l:319
+#: jsonpath_scan.l:317
 msgid "invalid numeric literal"
 msgstr "ungültige numerische Konstante"
 
-#: jsonpath_scan.l:325 jsonpath_scan.l:331 jsonpath_scan.l:337 scan.l:1064
-#: scan.l:1068 scan.l:1072 scan.l:1076
+#: jsonpath_scan.l:322 jsonpath_scan.l:327 jsonpath_scan.l:332 scan.l:1056
+#: scan.l:1060 scan.l:1064 scan.l:1068
 msgid "trailing junk after numeric literal"
 msgstr "Müll folgt auf numerische Konstante"
 
 #. translator: %s is typically "syntax error"
-#: jsonpath_scan.l:375
+#: jsonpath_scan.l:378
 #, c-format
 msgid "%s at end of jsonpath input"
 msgstr "%s am Ende der jsonpath-Eingabe"
 
 #. translator: first %s is typically "syntax error"
-#: jsonpath_scan.l:382
+#: jsonpath_scan.l:385
 #, c-format
 msgid "%s at or near \"%s\" of jsonpath input"
 msgstr "%s bei »%s« in jsonpath-Eingabe"
 
-#: jsonpath_scan.l:568
+#: jsonpath_scan.l:545
 msgid "invalid input"
 msgstr "ungültige Eingabe"
 
-#: jsonpath_scan.l:594
+#: jsonpath_scan.l:571
 msgid "invalid hexadecimal digit"
 msgstr "ungültige hexadezimale Ziffer"
 
-#: jsonpath_scan.l:607 utils/adt/jsonfuncs.c:647
+#: jsonpath_scan.l:584 utils/adt/jsonfuncs.c:649
 #, c-format
 msgid "unsupported Unicode escape sequence"
 msgstr "nicht unterstützte Unicode-Escape-Sequenz"
 
-#: jsonpath_scan.l:625
+#: jsonpath_scan.l:602
 #, c-format
 msgid "could not convert Unicode to server encoding"
 msgstr "konnte Unicode nicht in Serverkodierung umwandeln"
@@ -14844,712 +15220,912 @@ msgstr "konnte Unicode nicht in Serverkodierung umwandeln"
 msgid "Failed on DSA request of size %zu."
 msgstr "Fehler bei DSA-Anfrage mit Größe %zu."
 
-#: libpq/auth-sasl.c:97
-#, c-format
-msgid "expected SASL response, got message type %d"
-msgstr "SASL-Antwort erwartet, Message-Typ %d empfangen"
-
-#: libpq/auth-scram.c:263
+#: libpq/auth-oauth.c:109 libpq/auth-scram.c:267
 #, c-format
 msgid "client selected an invalid SASL authentication mechanism"
 msgstr "Client hat einen ungültigen SASL-Authentifizierungsmechanismums gewählt"
 
-#: libpq/auth-scram.c:287 libpq/auth-scram.c:536 libpq/auth-scram.c:547
-#, c-format
-msgid "invalid SCRAM secret for user \"%s\""
-msgstr "ungültiges SCRAM-Geheimnis für Benutzer »%s«"
-
-#: libpq/auth-scram.c:298
-#, c-format
-msgid "User \"%s\" does not have a valid SCRAM secret."
-msgstr "Benutzer »%s« hat kein gültiges SCRAM-Geheimnis."
-
-#: libpq/auth-scram.c:378 libpq/auth-scram.c:383 libpq/auth-scram.c:737
-#: libpq/auth-scram.c:745 libpq/auth-scram.c:850 libpq/auth-scram.c:863
-#: libpq/auth-scram.c:873 libpq/auth-scram.c:981 libpq/auth-scram.c:988
-#: libpq/auth-scram.c:1003 libpq/auth-scram.c:1018 libpq/auth-scram.c:1032
-#: libpq/auth-scram.c:1050 libpq/auth-scram.c:1065 libpq/auth-scram.c:1379
-#: libpq/auth-scram.c:1387
-#, c-format
-msgid "malformed SCRAM message"
+#: libpq/auth-oauth.c:169 libpq/auth-oauth.c:174 libpq/auth-oauth.c:192
+#: libpq/auth-oauth.c:220 libpq/auth-oauth.c:230 libpq/auth-oauth.c:239
+#: libpq/auth-oauth.c:254 libpq/auth-oauth.c:263 libpq/auth-oauth.c:272
+#: libpq/auth-oauth.c:279 libpq/auth-oauth.c:342 libpq/auth-oauth.c:349
+#: libpq/auth-oauth.c:375 libpq/auth-oauth.c:420 libpq/auth-oauth.c:438
+#: libpq/auth-oauth.c:452 libpq/auth-oauth.c:472
+#, fuzzy, c-format
+#| msgid "malformed SCRAM message"
+msgid "malformed OAUTHBEARER message"
 msgstr "fehlerhafte SCRAM-Nachricht"
 
-#: libpq/auth-scram.c:379
+#: libpq/auth-oauth.c:170 libpq/auth-scram.c:383
 #, c-format
 msgid "The message is empty."
 msgstr "Die Nachricht ist leer."
 
-#: libpq/auth-scram.c:384
+#: libpq/auth-oauth.c:175 libpq/auth-scram.c:388
 #, c-format
 msgid "Message length does not match input length."
 msgstr "Länge der Nachricht stimmt nicht mit Länge der Eingabe überein."
 
-#: libpq/auth-scram.c:416
+#: libpq/auth-oauth.c:193
 #, c-format
-msgid "invalid SCRAM response"
-msgstr "ungültige SCRAM-Antwort"
+msgid "Client did not send a kvsep response."
+msgstr ""
 
-#: libpq/auth-scram.c:417
-#, c-format
-msgid "Nonce does not match."
-msgstr "Nonce stimmt nicht überein."
+#: libpq/auth-oauth.c:221
+#, fuzzy, c-format
+#| msgid "The client selected SCRAM-SHA-256 without channel binding, but the SCRAM message includes channel binding data."
+msgid "The server does not support channel binding for OAuth, but the client message includes channel binding data."
+msgstr "Der Client hat SCRAM-SHA-256 ohne Channel-Binding gewählt, aber die SCRAM-Nachricht enthält Channel-Binding-Daten."
 
-#: libpq/auth-scram.c:493
+#: libpq/auth-oauth.c:231 libpq/auth-scram.c:1003 libpq/auth-scram.c:1033
 #, c-format
-msgid "could not generate random salt"
-msgstr "konnte zufälliges Salt nicht erzeugen"
+msgid "Comma expected, but found character \"%s\"."
+msgstr "Komma wurde erwartet, aber Zeichen »%s« wurde gefunden."
 
-#: libpq/auth-scram.c:738
+#: libpq/auth-oauth.c:240 libpq/auth-scram.c:1065
 #, c-format
-msgid "Expected attribute \"%c\" but found \"%s\"."
-msgstr "Attribut »%c« wurde erwartet, aber »%s« wurde gefunden."
+msgid "Unexpected channel-binding flag \"%s\"."
+msgstr "Unerwartetes Channel-Binding-Flag »%s«."
 
-#: libpq/auth-scram.c:746 libpq/auth-scram.c:874
+#: libpq/auth-oauth.c:250 libpq/auth-scram.c:1075
 #, c-format
-msgid "Expected character \"=\" for attribute \"%c\"."
-msgstr "Zeichen »=« für Attribut »%c« wurde erwartet."
+msgid "client uses authorization identity, but it is not supported"
+msgstr "Client verwendet Autorisierungsidentität, was nicht unterstützt wird"
 
-#: libpq/auth-scram.c:851
+#: libpq/auth-oauth.c:255 libpq/auth-scram.c:1080
 #, c-format
-msgid "Attribute expected, but found end of string."
-msgstr "Attribut wurde erwartet, aber Ende der Zeichenkette wurde gefunden."
+msgid "Unexpected attribute \"%s\" in client-first-message."
+msgstr "Unerwartetes Attribut »%s« in »client-first-message«."
 
-#: libpq/auth-scram.c:864
-#, c-format
-msgid "Attribute expected, but found invalid character \"%s\"."
-msgstr "Attribut wurde erwartet, aber ungültiges Zeichen »%s« wurde gefunden."
+#: libpq/auth-oauth.c:264
+#, fuzzy, c-format
+#| msgid "Comma expected, but found character \"%s\"."
+msgid "Key-value separator expected, but found character \"%s\"."
+msgstr "Komma wurde erwartet, aber Zeichen »%s« wurde gefunden."
 
-#: libpq/auth-scram.c:982 libpq/auth-scram.c:1004
-#, c-format
-msgid "The client selected SCRAM-SHA-256-PLUS, but the SCRAM message does not include channel binding data."
-msgstr "Der Client hat SCRAM-SHA-256-PLUS gewählt, aber die SCRAM-Nachricht enthielt keine Channel-Binding-Daten."
+#: libpq/auth-oauth.c:273
+#, fuzzy, c-format
+#| msgid "File \"%s\" does not contain valid data."
+msgid "Message does not contain an auth value."
+msgstr "Die Datei »%s« enthält keine gültigen Daten."
 
-#: libpq/auth-scram.c:989 libpq/auth-scram.c:1019
+#: libpq/auth-oauth.c:280
 #, c-format
-msgid "Comma expected, but found character \"%s\"."
-msgstr "Komma wurde erwartet, aber Zeichen »%s« wurde gefunden."
+msgid "Message contains additional data after the final terminator."
+msgstr ""
 
-#: libpq/auth-scram.c:1010
+#: libpq/auth-oauth.c:343
 #, c-format
-msgid "SCRAM channel binding negotiation error"
-msgstr "Fehler bei der Aushandlung von SCRAM-Channel-Binding"
+msgid "Message contains an empty key name."
+msgstr ""
 
-#: libpq/auth-scram.c:1011
+#: libpq/auth-oauth.c:350
 #, c-format
-msgid "The client supports SCRAM channel binding but thinks the server does not.  However, this server does support channel binding."
-msgstr "Der Client unterstützt SCRAM-Channel-Binding aber glaubt dass der Server es nicht tut. Dieser Server unterstützt jedoch Channel-Binding."
+msgid "Message contains an invalid key name."
+msgstr ""
 
-#: libpq/auth-scram.c:1033
-#, c-format
-msgid "The client selected SCRAM-SHA-256 without channel binding, but the SCRAM message includes channel binding data."
-msgstr "Der Client hat SCRAM-SHA-256 ohne Channel-Binding gewählt, aber die SCRAM-Nachricht enthält Channel-Binding-Daten."
+#: libpq/auth-oauth.c:376
+#, fuzzy, c-format
+#| msgid "enum %s contains no values"
+msgid "Message contains an invalid value."
+msgstr "Enum %s enthält keine Werte"
 
-#: libpq/auth-scram.c:1044
+#: libpq/auth-oauth.c:421
 #, c-format
-msgid "unsupported SCRAM channel-binding type \"%s\""
-msgstr "nicht unterstützter SCRAM-Channel-Binding-Typ »%s«"
+msgid "Message contains an unterminated key/value pair."
+msgstr ""
 
-#: libpq/auth-scram.c:1051
+#: libpq/auth-oauth.c:439
 #, c-format
-msgid "Unexpected channel-binding flag \"%s\"."
-msgstr "Unerwartetes Channel-Binding-Flag »%s«."
+msgid "Message contains a key without a value."
+msgstr ""
 
-#: libpq/auth-scram.c:1061
+#: libpq/auth-oauth.c:453
 #, c-format
-msgid "client uses authorization identity, but it is not supported"
-msgstr "Client verwendet Autorisierungsidentität, was nicht unterstützt wird"
+msgid "Message contains multiple auth values."
+msgstr ""
 
-#: libpq/auth-scram.c:1066
+#: libpq/auth-oauth.c:473
 #, c-format
-msgid "Unexpected attribute \"%s\" in client-first-message."
-msgstr "Unerwartetes Attribut »%s« in »client-first-message«."
+msgid "Message did not contain a final terminator."
+msgstr ""
+
+#: libpq/auth-oauth.c:499
+#, fuzzy, c-format
+#| msgid "unit \"%s\" not recognized for type %s"
+msgid "OAuth is not properly configured for this user"
+msgstr "Einheit »%s« nicht erkannt für Typ %s"
+
+#: libpq/auth-oauth.c:500
+#, c-format
+msgid "The issuer and scope parameters must be set in pg_hba.conf."
+msgstr ""
+
+#: libpq/auth-oauth.c:585 libpq/auth-oauth.c:602 libpq/auth-oauth.c:624
+#, fuzzy, c-format
+#| msgid "malformed JSON array"
+msgid "malformed OAuth bearer token"
+msgstr "fehlerhaftes JSON-Array"
+
+#: libpq/auth-oauth.c:586
+#, fuzzy, c-format
+#| msgid "client selected an invalid SASL authentication mechanism"
+msgid "Client response indicated a non-Bearer authentication scheme."
+msgstr "Client hat einen ungültigen SASL-Authentifizierungsmechanismums gewählt"
+
+#: libpq/auth-oauth.c:603
+#, fuzzy, c-format
+#| msgid "Query buffer is empty."
+msgid "Bearer token is empty."
+msgstr "Anfragepuffer ist leer."
+
+#: libpq/auth-oauth.c:625
+#, c-format
+msgid "Bearer token is not in the correct format."
+msgstr ""
+
+#: libpq/auth-oauth.c:656
+#, c-format
+msgid "validation of OAuth token requested without a validator loaded"
+msgstr ""
+
+#: libpq/auth-oauth.c:665
+#, c-format
+msgid "internal error in OAuth validator module"
+msgstr ""
+
+#: libpq/auth-oauth.c:679 libpq/auth-oauth.c:703 libpq/auth.c:293
+#, fuzzy, c-format
+#| msgid "Peer authentication failed for user \"%s\""
+msgid "OAuth bearer authentication failed for user \"%s\""
+msgstr "Peer-Authentifizierung für Benutzer »%s« fehlgeschlagen"
+
+#: libpq/auth-oauth.c:681
+#, c-format
+msgid "Validator failed to authorize the provided token."
+msgstr ""
+
+#: libpq/auth-oauth.c:705
+#, c-format
+msgid "Validator provided no identity."
+msgstr ""
+
+#: libpq/auth-oauth.c:760
+#, fuzzy, c-format
+#| msgid "archive modules have to define the symbol %s"
+msgid "%s module \"%s\" must define the symbol %s"
+msgstr "Archivmodule müssen das Symbol %s definieren"
+
+#: libpq/auth-oauth.c:773
+#, fuzzy, c-format
+#| msgid "incompatible library \"%s\": magic block mismatch"
+msgid "%s module \"%s\": magic number mismatch"
+msgstr "inkompatible Bibliothek »%s«: magischer Block stimmt überein"
+
+#: libpq/auth-oauth.c:775
+#, c-format
+msgid "Server has magic number 0x%08X, module has 0x%08X."
+msgstr ""
+
+#: libpq/auth-oauth.c:784
+#, fuzzy, c-format
+#| msgid "archive modules must register an archive callback"
+msgid "%s module \"%s\" must provide a %s callback"
+msgstr "Archivmodule müssen einen Archiv-Callback registrieren"
+
+#: libpq/auth-oauth.c:833
+#, fuzzy, c-format
+#| msgid "authentication option \"%s\" is only valid for authentication methods %s"
+msgid "oauth_validator_libraries must be set for authentication method %s"
+msgstr "Authentifizierungsoption »%s« ist nur gültig für Authentifizierungsmethoden %s"
+
+#: libpq/auth-oauth.c:835 libpq/auth-oauth.c:868 libpq/auth-oauth.c:884
+#: libpq/hba.c:331 libpq/hba.c:666 libpq/hba.c:1251 libpq/hba.c:1271
+#: libpq/hba.c:1294 libpq/hba.c:1307 libpq/hba.c:1360 libpq/hba.c:1388
+#: libpq/hba.c:1396 libpq/hba.c:1408 libpq/hba.c:1429 libpq/hba.c:1442
+#: libpq/hba.c:1467 libpq/hba.c:1494 libpq/hba.c:1506 libpq/hba.c:1565
+#: libpq/hba.c:1585 libpq/hba.c:1599 libpq/hba.c:1619 libpq/hba.c:1630
+#: libpq/hba.c:1645 libpq/hba.c:1664 libpq/hba.c:1680 libpq/hba.c:1692
+#: libpq/hba.c:1760 libpq/hba.c:1773 libpq/hba.c:1795 libpq/hba.c:1807
+#: libpq/hba.c:1825 libpq/hba.c:1875 libpq/hba.c:1919 libpq/hba.c:1930
+#: libpq/hba.c:1946 libpq/hba.c:1963 libpq/hba.c:1974 libpq/hba.c:1993
+#: libpq/hba.c:2009 libpq/hba.c:2025 libpq/hba.c:2069 libpq/hba.c:2115
+#: libpq/hba.c:2132 libpq/hba.c:2145 libpq/hba.c:2157 libpq/hba.c:2176
+#: libpq/hba.c:2262 libpq/hba.c:2280 libpq/hba.c:2374 libpq/hba.c:2393
+#: libpq/hba.c:2422 libpq/hba.c:2435 libpq/hba.c:2458 libpq/hba.c:2480
+#: libpq/hba.c:2517 tsearch/ts_locale.c:196
+#, c-format
+msgid "line %d of configuration file \"%s\""
+msgstr "Zeile %d in Konfigurationsdatei »%s«"
+
+#: libpq/auth-oauth.c:867
+#, fuzzy, c-format
+#| msgid "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix\", or \"ldapsuffix\" to be set"
+msgid "authentication method \"oauth\" requires argument \"validator\" to be set when oauth_validator_libraries contains multiple options"
+msgstr "Authentifizierungsmethode »ldap« benötigt Argument »ldapbasedn«, »ldapprefix« oder »ldapsuffix«"
+
+#: libpq/auth-oauth.c:882
+#, fuzzy, c-format
+#| msgid "role \"%s\" is not permitted to log in"
+msgid "validator \"%s\" is not permitted by %s"
+msgstr "Rolle »%s« hat keine Berechtigung zum Einloggen"
+
+#: libpq/auth-sasl.c:89
+#, c-format
+msgid "expected SASL response, got message type %d"
+msgstr "SASL-Antwort erwartet, Message-Typ %d empfangen"
+
+#: libpq/auth-scram.c:291 libpq/auth-scram.c:547 libpq/auth-scram.c:558
+#, c-format
+msgid "invalid SCRAM secret for user \"%s\""
+msgstr "ungültiges SCRAM-Geheimnis für Benutzer »%s«"
+
+#: libpq/auth-scram.c:302
+#, c-format
+msgid "User \"%s\" does not have a valid SCRAM secret."
+msgstr "Benutzer »%s« hat kein gültiges SCRAM-Geheimnis."
+
+#: libpq/auth-scram.c:382 libpq/auth-scram.c:387 libpq/auth-scram.c:751
+#: libpq/auth-scram.c:759 libpq/auth-scram.c:864 libpq/auth-scram.c:877
+#: libpq/auth-scram.c:887 libpq/auth-scram.c:995 libpq/auth-scram.c:1002
+#: libpq/auth-scram.c:1017 libpq/auth-scram.c:1032 libpq/auth-scram.c:1046
+#: libpq/auth-scram.c:1064 libpq/auth-scram.c:1079 libpq/auth-scram.c:1392
+#: libpq/auth-scram.c:1400
+#, c-format
+msgid "malformed SCRAM message"
+msgstr "fehlerhafte SCRAM-Nachricht"
+
+#: libpq/auth-scram.c:420
+#, c-format
+msgid "invalid SCRAM response"
+msgstr "ungültige SCRAM-Antwort"
+
+#: libpq/auth-scram.c:421
+#, c-format
+msgid "Nonce does not match."
+msgstr "Nonce stimmt nicht überein."
+
+#: libpq/auth-scram.c:504
+#, c-format
+msgid "could not generate random salt"
+msgstr "konnte zufälliges Salt nicht erzeugen"
+
+#: libpq/auth-scram.c:752
+#, c-format
+msgid "Expected attribute \"%c\" but found \"%s\"."
+msgstr "Attribut »%c« wurde erwartet, aber »%s« wurde gefunden."
+
+#: libpq/auth-scram.c:760 libpq/auth-scram.c:888
+#, c-format
+msgid "Expected character \"=\" for attribute \"%c\"."
+msgstr "Zeichen »=« für Attribut »%c« wurde erwartet."
+
+#: libpq/auth-scram.c:865
+#, c-format
+msgid "Attribute expected, but found end of string."
+msgstr "Attribut wurde erwartet, aber Ende der Zeichenkette wurde gefunden."
+
+#: libpq/auth-scram.c:878
+#, 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:996 libpq/auth-scram.c:1018
+#, c-format
+msgid "The client selected SCRAM-SHA-256-PLUS, but the SCRAM message does not include channel binding data."
+msgstr "Der Client hat SCRAM-SHA-256-PLUS gewählt, aber die SCRAM-Nachricht enthielt keine Channel-Binding-Daten."
+
+#: libpq/auth-scram.c:1024
+#, c-format
+msgid "SCRAM channel binding negotiation error"
+msgstr "Fehler bei der Aushandlung von SCRAM-Channel-Binding"
+
+#: libpq/auth-scram.c:1025
+#, c-format
+msgid "The client supports SCRAM channel binding but thinks the server does not.  However, this server does support channel binding."
+msgstr "Der Client unterstützt SCRAM-Channel-Binding aber glaubt dass der Server es nicht tut. Dieser Server unterstützt jedoch Channel-Binding."
+
+#: libpq/auth-scram.c:1047
+#, c-format
+msgid "The client selected SCRAM-SHA-256 without channel binding, but the SCRAM message includes channel binding data."
+msgstr "Der Client hat SCRAM-SHA-256 ohne Channel-Binding gewählt, aber die SCRAM-Nachricht enthält Channel-Binding-Daten."
+
+#: libpq/auth-scram.c:1058
+#, c-format
+msgid "unsupported SCRAM channel-binding type \"%s\""
+msgstr "nicht unterstützter SCRAM-Channel-Binding-Typ »%s«"
 
-#: libpq/auth-scram.c:1082
+#: libpq/auth-scram.c:1096
 #, c-format
 msgid "client requires an unsupported SCRAM extension"
 msgstr "Client verlangt eine nicht unterstützte SCRAM-Erweiterung"
 
-#: libpq/auth-scram.c:1096
+#: libpq/auth-scram.c:1110
 #, c-format
 msgid "non-printable characters in SCRAM nonce"
 msgstr "nicht druckbare Zeichen in SCRAM-Nonce"
 
-#: libpq/auth-scram.c:1227
+#: libpq/auth-scram.c:1240
 #, c-format
 msgid "could not generate random nonce"
 msgstr "konnte zufällige Nonce nicht erzeugen"
 
-#: libpq/auth-scram.c:1237
+#: libpq/auth-scram.c:1250
 #, c-format
 msgid "could not encode random nonce"
 msgstr "konnte zufällige Nonce nicht kodieren"
 
-#: libpq/auth-scram.c:1343
+#: libpq/auth-scram.c:1356
 #, c-format
 msgid "SCRAM channel binding check failed"
 msgstr "SCRAM-Channel-Binding-Prüfung fehlgeschlagen"
 
-#: libpq/auth-scram.c:1361
+#: libpq/auth-scram.c:1374
 #, c-format
 msgid "unexpected SCRAM channel-binding attribute in client-final-message"
 msgstr "unerwartetes SCRAM-Channel-Binding-Attribut in »client-final-message«"
 
-#: libpq/auth-scram.c:1380
+#: libpq/auth-scram.c:1393
 #, c-format
 msgid "Malformed proof in client-final-message."
 msgstr "Fehlerhafter Proof in »client-final-message«."
 
-#: libpq/auth-scram.c:1388
+#: libpq/auth-scram.c:1401
 #, 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:269
+#: libpq/auth.c:253
 #, c-format
 msgid "authentication failed for user \"%s\": host rejected"
 msgstr "Authentifizierung für Benutzer »%s« fehlgeschlagen: Host abgelehnt"
 
-#: libpq/auth.c:272
+#: libpq/auth.c:256
 #, c-format
 msgid "\"trust\" authentication failed for user \"%s\""
 msgstr "»trust«-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:275
+#: libpq/auth.c:259
 #, c-format
 msgid "Ident authentication failed for user \"%s\""
 msgstr "Ident-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:278
+#: libpq/auth.c:262
 #, c-format
 msgid "Peer authentication failed for user \"%s\""
 msgstr "Peer-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:283
+#: libpq/auth.c:267
 #, c-format
 msgid "password authentication failed for user \"%s\""
 msgstr "Passwort-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:288
+#: libpq/auth.c:272
 #, c-format
 msgid "GSSAPI authentication failed for user \"%s\""
 msgstr "GSSAPI-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:291
+#: libpq/auth.c:275
 #, c-format
 msgid "SSPI authentication failed for user \"%s\""
 msgstr "SSPI-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:294
+#: libpq/auth.c:278
 #, c-format
 msgid "PAM authentication failed for user \"%s\""
 msgstr "PAM-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:297
+#: libpq/auth.c:281
 #, c-format
 msgid "BSD authentication failed for user \"%s\""
 msgstr "BSD-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:300
+#: libpq/auth.c:284
 #, c-format
 msgid "LDAP authentication failed for user \"%s\""
 msgstr "LDAP-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:303
+#: libpq/auth.c:287
 #, c-format
 msgid "certificate authentication failed for user \"%s\""
 msgstr "Zertifikatauthentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:306
+#: libpq/auth.c:290
 #, c-format
 msgid "RADIUS authentication failed for user \"%s\""
 msgstr "RADIUS-Authentifizierung für Benutzer »%s« fehlgeschlagen"
 
-#: libpq/auth.c:309
+#: libpq/auth.c:296
 #, c-format
 msgid "authentication failed for user \"%s\": invalid authentication method"
 msgstr "Authentifizierung für Benutzer »%s« fehlgeschlagen: ungültige Authentifizierungsmethode"
 
-#: libpq/auth.c:313
+#: libpq/auth.c:300
 #, c-format
 msgid "Connection matched file \"%s\" line %d: \"%s\""
 msgstr "Verbindung stimmte mit Datei »%s« Zeile %d überein: »%s«"
 
-#: libpq/auth.c:357
+#: libpq/auth.c:344
 #, c-format
 msgid "authentication identifier set more than once"
 msgstr "Authentifizierungsbezeichner mehrmals gesetzt"
 
-#: libpq/auth.c:358
+#: libpq/auth.c:345
 #, c-format
 msgid "previous identifier: \"%s\"; new identifier: \"%s\""
 msgstr "vorheriger Bezeichner: »%s«; neuer Bezeichner: »%s«"
 
-#: libpq/auth.c:368
+#: libpq/auth.c:355
 #, c-format
 msgid "connection authenticated: identity=\"%s\" method=%s (%s:%d)"
 msgstr "Verbindung authentifiziert: Identität=»%s« Methode=%s (%s:%d)"
 
-#: libpq/auth.c:408
+#: libpq/auth.c:395
 #, 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:419
+#: libpq/auth.c:406
 #, c-format
 msgid "connection requires a valid client certificate"
 msgstr "Verbindung erfordert ein gültiges Client-Zertifikat"
 
-#: libpq/auth.c:450 libpq/auth.c:496
+#: libpq/auth.c:437 libpq/auth.c:483
 msgid "GSS encryption"
 msgstr "GSS-Verschlüsselung"
 
-#: libpq/auth.c:453 libpq/auth.c:499
+#: libpq/auth.c:440 libpq/auth.c:486
 msgid "SSL encryption"
 msgstr "SSL-Verschlüsselung"
 
-#: libpq/auth.c:455 libpq/auth.c:501
+#: libpq/auth.c:442 libpq/auth.c:488
 msgid "no encryption"
 msgstr "keine Verschlüsselung"
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:461
+#: libpq/auth.c:448
 #, c-format
 msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
 msgstr "pg_hba.conf lehnt Replikationsverbindung ab für Host »%s«, Benutzer »%s«, %s"
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:468
+#: libpq/auth.c:455
 #, 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:506
+#: libpq/auth.c:493
 #, 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:509
+#: libpq/auth.c:496
 #, 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:512
+#: libpq/auth.c:499
 #, 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:515
+#: libpq/auth.c:502
 #, 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:520
+#: libpq/auth.c:507
 #, c-format
 msgid "Could not resolve client IP address to a host name: %s."
 msgstr "Konnte Client-IP-Adresse nicht in einen Hostnamen auflösen: %s."
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:528
+#: libpq/auth.c:515
 #, c-format
 msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\", %s"
 msgstr "kein pg_hba.conf-Eintrag für Replikationsverbindung von Host »%s«, Benutzer »%s«, %s"
 
 #. translator: last %s describes encryption state
-#: libpq/auth.c:536
+#: libpq/auth.c:523
 #, 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:656
+#: libpq/auth.c:646
 #, c-format
 msgid "connection authenticated: user=\"%s\" method=%s (%s:%d)"
 msgstr "Verbindung authentifiziert: Benutzer=»%s« Methode=%s (%s:%d)"
 
-#: libpq/auth.c:725
+#: libpq/auth.c:715
 #, c-format
 msgid "expected password response, got message type %d"
 msgstr "Passwort-Antwort erwartet, Message-Typ %d empfangen"
 
-#: libpq/auth.c:746
+#: libpq/auth.c:736
 #, c-format
 msgid "invalid password packet size"
 msgstr "ungültige Größe des Passwortpakets"
 
-#: libpq/auth.c:764
+#: libpq/auth.c:754
 #, c-format
 msgid "empty password returned by client"
 msgstr "Client gab leeres Passwort zurück"
 
-#: libpq/auth.c:892
+#: libpq/auth.c:882
 #, c-format
 msgid "could not generate random MD5 salt"
 msgstr "konnte zufälliges MD5-Salt nicht erzeugen"
 
-#: libpq/auth.c:943 libpq/be-secure-gssapi.c:540
+#: libpq/auth.c:933 libpq/be-secure-gssapi.c:543
 #, c-format
 msgid "could not set environment: %m"
 msgstr "konnte Umgebung nicht setzen: %m"
 
-#: libpq/auth.c:982
+#: libpq/auth.c:972
 #, c-format
 msgid "expected GSS response, got message type %d"
 msgstr "GSS-Antwort erwartet, Message-Typ %d empfangen"
 
-#: libpq/auth.c:1048
+#: libpq/auth.c:1038
 msgid "accepting GSS security context failed"
 msgstr "Annahme des GSS-Sicherheitskontexts fehlgeschlagen"
 
-#: libpq/auth.c:1089
+#: libpq/auth.c:1079
 msgid "retrieving GSS user name failed"
 msgstr "Abfrage des GSS-Benutzernamens fehlgeschlagen"
 
-#: libpq/auth.c:1235
+#: libpq/auth.c:1225
 msgid "could not acquire SSPI credentials"
 msgstr "konnte SSPI-Credentials nicht erhalten"
 
-#: libpq/auth.c:1260
+#: libpq/auth.c:1250
 #, c-format
 msgid "expected SSPI response, got message type %d"
 msgstr "SSPI-Antwort erwartet, Message-Typ %d empfangen"
 
-#: libpq/auth.c:1338
+#: libpq/auth.c:1328
 msgid "could not accept SSPI security context"
 msgstr "konnte SSPI-Sicherheitskontext nicht akzeptieren"
 
-#: libpq/auth.c:1379
+#: libpq/auth.c:1369
 msgid "could not get token from SSPI security context"
 msgstr "konnte kein Token vom SSPI-Sicherheitskontext erhalten"
 
-#: libpq/auth.c:1515 libpq/auth.c:1534
+#: libpq/auth.c:1505 libpq/auth.c:1524
 #, c-format
 msgid "could not translate name"
 msgstr "konnte Namen nicht umwandeln"
 
-#: libpq/auth.c:1547
+#: libpq/auth.c:1537
 #, c-format
 msgid "realm name too long"
 msgstr "Realm-Name zu lang"
 
-#: libpq/auth.c:1562
+#: libpq/auth.c:1552
 #, c-format
 msgid "translated account name too long"
 msgstr "umgewandelter Account-Name zu lang"
 
-#: libpq/auth.c:1741
+#: libpq/auth.c:1731
 #, c-format
 msgid "could not create socket for Ident connection: %m"
 msgstr "konnte Socket für Ident-Verbindung nicht erzeugen: %m"
 
-#: libpq/auth.c:1756
+#: libpq/auth.c:1746
 #, c-format
 msgid "could not bind to local address \"%s\": %m"
 msgstr "konnte nicht mit lokaler Adresse »%s« verbinden: %m"
 
-#: libpq/auth.c:1768
+#: libpq/auth.c:1758
 #, 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:1790
+#: libpq/auth.c:1780
 #, 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:1807
+#: libpq/auth.c:1797
 #, 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:1817
+#: libpq/auth.c:1807
 #, c-format
 msgid "invalidly formatted response from Ident server: \"%s\""
 msgstr "ungültig formatierte Antwort vom Ident-Server: »%s«"
 
-#: libpq/auth.c:1870
+#: libpq/auth.c:1863
 #, c-format
 msgid "peer authentication is not supported on this platform"
 msgstr "Peer-Authentifizierung wird auf dieser Plattform nicht unterstützt"
 
-#: libpq/auth.c:1874
+#: libpq/auth.c:1867
 #, c-format
 msgid "could not get peer credentials: %m"
 msgstr "konnte Credentials von Gegenstelle nicht ermitteln: %m"
 
-#: libpq/auth.c:1886
+#: libpq/auth.c:1877
+#, c-format
+msgid "could not look up local user ID %ld: %m"
+msgstr "konnte lokale Benutzer-ID %ld nicht nachschlagen: %m"
+
+#: libpq/auth.c:1883
 #, c-format
-msgid "could not look up local user ID %ld: %s"
-msgstr "konnte lokale Benutzer-ID %ld nicht nachschlagen: %s"
+msgid "local user with ID %ld does not exist"
+msgstr "lokaler Benutzer mit ID %ld existiert nicht"
 
-#: libpq/auth.c:1988
+#: libpq/auth.c:1983
 #, c-format
 msgid "error from underlying PAM layer: %s"
 msgstr "Fehler von der unteren PAM-Ebene: %s"
 
-#: libpq/auth.c:1999
+#: libpq/auth.c:1994
 #, c-format
 msgid "unsupported PAM conversation %d/\"%s\""
 msgstr "nicht unterstützte PAM-Conversation: %d/»%s«"
 
-#: libpq/auth.c:2056
+#: libpq/auth.c:2051
 #, c-format
 msgid "could not create PAM authenticator: %s"
 msgstr "konnte PAM-Authenticator nicht erzeugen: %s"
 
-#: libpq/auth.c:2067
+#: libpq/auth.c:2062
 #, c-format
 msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr "pam_set_item(PAM_USER) fehlgeschlagen: %s"
 
-#: libpq/auth.c:2099
+#: libpq/auth.c:2094
 #, c-format
 msgid "pam_set_item(PAM_RHOST) failed: %s"
 msgstr "pam_set_item(PAM_RHOST) fehlgeschlagen: %s"
 
-#: libpq/auth.c:2111
+#: libpq/auth.c:2106
 #, 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:2119
 #, c-format
 msgid "pam_authenticate failed: %s"
 msgstr "pam_authenticate fehlgeschlagen: %s"
 
-#: libpq/auth.c:2137
+#: libpq/auth.c:2132
 #, c-format
 msgid "pam_acct_mgmt failed: %s"
 msgstr "pam_acct_mgmt fehlgeschlagen: %s"
 
-#: libpq/auth.c:2148
+#: libpq/auth.c:2143
 #, c-format
 msgid "could not release PAM authenticator: %s"
 msgstr "konnte PAM-Authenticator nicht freigeben: %s"
 
-#: libpq/auth.c:2228
+#: libpq/auth.c:2223
 #, c-format
 msgid "could not initialize LDAP: error code %d"
 msgstr "konnte LDAP nicht initialisieren: Fehlercode %d"
 
-#: libpq/auth.c:2265
+#: libpq/auth.c:2260
 #, c-format
 msgid "could not extract domain name from ldapbasedn"
 msgstr "konnte keinen Domain-Namen aus ldapbasedn herauslesen"
 
-#: libpq/auth.c:2273
+#: libpq/auth.c:2268
 #, c-format
 msgid "LDAP authentication could not find DNS SRV records for \"%s\""
 msgstr "LDAP-Authentifizierung konnte keine DNS-SRV-Einträge für »%s« finden"
 
-#: libpq/auth.c:2275
+#: libpq/auth.c:2270
 #, c-format
 msgid "Set an LDAP server name explicitly."
 msgstr "Geben Sie einen LDAP-Servernamen explizit an."
 
-#: libpq/auth.c:2327
+#: libpq/auth.c:2322
 #, c-format
 msgid "could not initialize LDAP: %s"
 msgstr "konnte LDAP nicht initialisieren: %s"
 
-#: libpq/auth.c:2337
+#: libpq/auth.c:2332
 #, c-format
 msgid "ldaps not supported with this LDAP library"
 msgstr "ldaps wird mit dieser LDAP-Bibliothek nicht unterstützt"
 
-#: libpq/auth.c:2345
+#: libpq/auth.c:2340
 #, c-format
 msgid "could not initialize LDAP: %m"
 msgstr "konnte LDAP nicht initialisieren: %m"
 
-#: libpq/auth.c:2355
+#: libpq/auth.c:2350
 #, c-format
 msgid "could not set LDAP protocol version: %s"
 msgstr "konnte LDAP-Protokollversion nicht setzen: %s"
 
-#: libpq/auth.c:2371
+#: libpq/auth.c:2366
 #, c-format
 msgid "could not start LDAP TLS session: %s"
 msgstr "konnte LDAP-TLS-Sitzung nicht starten: %s"
 
-#: libpq/auth.c:2448
+#: libpq/auth.c:2443
 #, c-format
 msgid "LDAP server not specified, and no ldapbasedn"
 msgstr "LDAP-Server nicht angegeben, und kein ldapbasedn"
 
-#: libpq/auth.c:2455
+#: libpq/auth.c:2450
 #, c-format
 msgid "LDAP server not specified"
 msgstr "LDAP-Server nicht angegeben"
 
-#: libpq/auth.c:2517
+#: libpq/auth.c:2512
 #, c-format
 msgid "invalid character in user name for LDAP authentication"
 msgstr "ungültiges Zeichen im Benutzernamen für LDAP-Authentifizierung"
 
-#: libpq/auth.c:2534
+#: libpq/auth.c:2529
 #, 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:2564
+#: libpq/auth.c:2559
 #, 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:2580
+#: libpq/auth.c:2575
 #, c-format
 msgid "LDAP user \"%s\" does not exist"
 msgstr "LDAP-Benutzer »%s« existiert nicht"
 
-#: libpq/auth.c:2581
+#: libpq/auth.c:2576
 #, 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:2585
+#: libpq/auth.c:2580
 #, c-format
 msgid "LDAP user \"%s\" is not unique"
 msgstr "LDAP-Benutzer »%s« ist nicht eindeutig"
 
-#: libpq/auth.c:2586
+#: libpq/auth.c:2581
 #, 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:2606
+#: libpq/auth.c:2601
 #, 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:2633
+#: libpq/auth.c:2628
 #, 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:2665
+#: libpq/auth.c:2660
 #, c-format
 msgid "LDAP diagnostics: %s"
 msgstr "LDAP-Diagnostik: %s"
 
-#: libpq/auth.c:2703
+#: libpq/auth.c:2698
 #, 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:2724
+#: libpq/auth.c:2719
 #, c-format
 msgid "certificate authentication failed for user \"%s\": unable to retrieve subject DN"
 msgstr "Zertifikatauthentifizierung für Benutzer »%s« fehlgeschlagen: konnte Subject-DN nicht abfragen"
 
-#: libpq/auth.c:2747
+#: libpq/auth.c:2742
 #, c-format
 msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": DN mismatch"
 msgstr "Zertifikatüberprüfung (clientcert=verify=full) für Benutzer »%s« fehlgeschlagen: DN stimmt nicht überein"
 
-#: libpq/auth.c:2752
+#: libpq/auth.c:2747
 #, c-format
 msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": CN mismatch"
 msgstr "Zertifikatüberprüfung (clientcert=verify=full) für Benutzer »%s« fehlgeschlagen: CN stimmt nicht überein"
 
-#: libpq/auth.c:2854
+#: libpq/auth.c:2849
 #, c-format
 msgid "RADIUS server not specified"
 msgstr "RADIUS-Server nicht angegeben"
 
-#: libpq/auth.c:2861
+#: libpq/auth.c:2856
 #, c-format
 msgid "RADIUS secret not specified"
 msgstr "RADIUS-Geheimnis nicht angegeben"
 
-#: libpq/auth.c:2875
+#: libpq/auth.c:2870
 #, 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:2977 libpq/hba.c:2352
+#: libpq/auth.c:2972 libpq/hba.c:2391
 #, 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:2991
+#: libpq/auth.c:2986
 #, c-format
 msgid "could not generate random encryption vector"
 msgstr "konnte zufälligen Verschlüsselungsvektor nicht erzeugen"
 
-#: libpq/auth.c:3028
+#: libpq/auth.c:3023
 #, c-format
 msgid "could not perform MD5 encryption of password: %s"
 msgstr "konnte MD5-Verschlüsselung des Passworts nicht durchführen: %s"
 
-#: libpq/auth.c:3055
+#: libpq/auth.c:3050
 #, c-format
 msgid "could not create RADIUS socket: %m"
 msgstr "konnte RADIUS-Socket nicht erstellen: %m"
 
-#: libpq/auth.c:3071
+#: libpq/auth.c:3066
 #, c-format
 msgid "could not bind local RADIUS socket: %m"
 msgstr "konnte lokales RADIUS-Socket nicht binden: %m"
 
-#: libpq/auth.c:3081
+#: libpq/auth.c:3076
 #, c-format
 msgid "could not send RADIUS packet: %m"
 msgstr "konnte RADIUS-Paket nicht senden: %m"
 
-#: libpq/auth.c:3115 libpq/auth.c:3141
+#: libpq/auth.c:3110 libpq/auth.c:3136
 #, c-format
 msgid "timeout waiting for RADIUS response from %s"
 msgstr "Zeitüberschreitung beim Warten auf RADIUS-Antwort von %s"
 
-#: libpq/auth.c:3134
+#: libpq/auth.c:3129
 #, c-format
 msgid "could not check status on RADIUS socket: %m"
 msgstr "konnte Status des RADIUS-Sockets nicht prüfen: %m"
 
-#: libpq/auth.c:3164
+#: libpq/auth.c:3159
 #, c-format
 msgid "could not read RADIUS response: %m"
 msgstr "konnte RADIUS-Antwort nicht lesen: %m"
 
-#: libpq/auth.c:3172
+#: libpq/auth.c:3167
 #, c-format
 msgid "RADIUS response from %s was sent from incorrect port: %d"
 msgstr "RADIUS-Antwort von %s wurde von falschem Port gesendet: %d"
 
-#: libpq/auth.c:3180
+#: libpq/auth.c:3175
 #, c-format
 msgid "RADIUS response from %s too short: %d"
 msgstr "RADIUS-Antwort von %s zu kurz: %d"
 
-#: libpq/auth.c:3187
+#: libpq/auth.c:3182
 #, c-format
 msgid "RADIUS response from %s has corrupt length: %d (actual length %d)"
 msgstr "RADIUS-Antwort von %s hat verfälschte Länge: %d (tatsächliche Länge %d)"
 
-#: libpq/auth.c:3195
+#: libpq/auth.c:3190
 #, c-format
 msgid "RADIUS response from %s is to a different request: %d (should be %d)"
 msgstr "RADIUS-Antwort von %s unterscheidet sich von Anfrage: %d (sollte %d sein)"
 
-#: libpq/auth.c:3220
+#: libpq/auth.c:3217
 #, c-format
 msgid "could not perform MD5 encryption of received packet: %s"
 msgstr "konnte MD5-Verschlüsselung des empfangenen Pakets nicht durchführen: %s"
 
-#: libpq/auth.c:3230
+#: libpq/auth.c:3227
 #, c-format
 msgid "RADIUS response from %s has incorrect MD5 signature"
 msgstr "RADIUS-Antwort von %s hat falsche MD5-Signatur"
 
-#: libpq/auth.c:3248
+#: libpq/auth.c:3245
 #, c-format
 msgid "RADIUS response from %s has invalid code (%d) for user \"%s\""
 msgstr "RADIUS-Antwort von %s hat ungültigen Code (%d) für Benutzer »%s«"
 
 #: libpq/be-fsstubs.c:133 libpq/be-fsstubs.c:162 libpq/be-fsstubs.c:190
 #: libpq/be-fsstubs.c:216 libpq/be-fsstubs.c:241 libpq/be-fsstubs.c:283
-#: libpq/be-fsstubs.c:306 libpq/be-fsstubs.c:560
+#: libpq/be-fsstubs.c:306 libpq/be-fsstubs.c:565
 #, c-format
 msgid "invalid large-object descriptor: %d"
 msgstr "ungültiger Large-Object-Deskriptor: %d"
@@ -15559,7 +16135,7 @@ msgstr "ungültiger Large-Object-Deskriptor: %d"
 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:197 libpq/be-fsstubs.c:567
+#: libpq/be-fsstubs.c:197 libpq/be-fsstubs.c:572
 #, c-format
 msgid "large object descriptor %d was not opened for writing"
 msgstr "Large-Objekt-Deskriptor %d wurde nicht zum Schreiben geöffnet"
@@ -15574,32 +16150,32 @@ msgstr "Ergebnis von lo_lseek ist außerhalb des gültigen Bereichs für Large-O
 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:439
+#: libpq/be-fsstubs.c:444
 #, c-format
 msgid "could not open server file \"%s\": %m"
 msgstr "konnte Serverdatei »%s« nicht öffnen: %m"
 
-#: libpq/be-fsstubs.c:462
+#: libpq/be-fsstubs.c:467
 #, c-format
 msgid "could not read server file \"%s\": %m"
 msgstr "konnte Serverdatei »%s« nicht lesen: %m"
 
-#: libpq/be-fsstubs.c:521
+#: libpq/be-fsstubs.c:526
 #, c-format
 msgid "could not create server file \"%s\": %m"
 msgstr "konnte Serverdatei »%s« nicht erstellen: %m"
 
-#: libpq/be-fsstubs.c:533
+#: libpq/be-fsstubs.c:538
 #, c-format
 msgid "could not write server file \"%s\": %m"
 msgstr "konnte Serverdatei »%s« nicht schreiben: %m"
 
-#: libpq/be-fsstubs.c:774
+#: libpq/be-fsstubs.c:779
 #, c-format
 msgid "large object read request is too large"
 msgstr "Large-Object-Leseaufforderung ist zu groß"
 
-#: libpq/be-fsstubs.c:816 utils/adt/genfile.c:248 utils/adt/genfile.c:269
+#: libpq/be-fsstubs.c:821 utils/adt/genfile.c:248 utils/adt/genfile.c:269
 #, c-format
 msgid "requested length cannot be negative"
 msgstr "verlangte Länge darf nicht negativ sein"
@@ -15634,819 +16210,849 @@ msgstr "private Schlüsseldatei »%s« erlaubt Zugriff von Gruppe oder Welt"
 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-gssapi.c:201
+#: libpq/be-secure-gssapi.c:202
 msgid "GSSAPI wrap error"
 msgstr "GSSAPI-Wrap-Fehler"
 
-#: libpq/be-secure-gssapi.c:208
+#: libpq/be-secure-gssapi.c:209
 #, c-format
 msgid "outgoing GSSAPI message would not use confidentiality"
 msgstr "ausgehende GSSAPI-Nachricht würde keine Vertraulichkeit verwenden"
 
-#: libpq/be-secure-gssapi.c:215 libpq/be-secure-gssapi.c:634
+#: libpq/be-secure-gssapi.c:216 libpq/be-secure-gssapi.c:637
 #, c-format
 msgid "server tried to send oversize GSSAPI packet (%zu > %zu)"
 msgstr "Server versuchte übergroßes GSSAPI-Paket zu senden (%zu > %zu)"
 
-#: libpq/be-secure-gssapi.c:351
+#: libpq/be-secure-gssapi.c:352
 #, c-format
 msgid "oversize GSSAPI packet sent by the client (%zu > %zu)"
 msgstr "übergroßes GSSAPI-Paket vom Client gesendet (%zu > %zu)"
 
-#: libpq/be-secure-gssapi.c:389
+#: libpq/be-secure-gssapi.c:390
 msgid "GSSAPI unwrap error"
 msgstr "GSSAPI-Unwrap-Fehler"
 
-#: libpq/be-secure-gssapi.c:396
+#: libpq/be-secure-gssapi.c:397
 #, c-format
 msgid "incoming GSSAPI message did not use confidentiality"
 msgstr "eingehende GSSAPI-Nachricht verwendete keine Vertraulichkeit"
 
-#: libpq/be-secure-gssapi.c:575
+#: libpq/be-secure-gssapi.c:578
 #, c-format
 msgid "oversize GSSAPI packet sent by the client (%zu > %d)"
 msgstr "übergroßes GSSAPI-Paket vom Client gesendet (%zu > %d)"
 
-#: libpq/be-secure-gssapi.c:600
+#: libpq/be-secure-gssapi.c:603
 msgid "could not accept GSSAPI security context"
 msgstr "konnte GSSAPI-Sicherheitskontext nicht akzeptieren"
 
-#: libpq/be-secure-gssapi.c:701
+#: libpq/be-secure-gssapi.c:704
 msgid "GSSAPI size check error"
 msgstr "GSSAPI-Fehler bei der Größenprüfung"
 
-#: libpq/be-secure-openssl.c:131
+#: libpq/be-secure-openssl.c:118
 #, c-format
 msgid "could not create SSL context: %s"
 msgstr "konnte SSL-Kontext nicht erzeugen: %s"
 
-#: libpq/be-secure-openssl.c:157
+#: libpq/be-secure-openssl.c:144
 #, c-format
 msgid "could not load server certificate file \"%s\": %s"
 msgstr "konnte Serverzertifikatsdatei »%s« nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:177
+#: libpq/be-secure-openssl.c:164
 #, c-format
 msgid "private key file \"%s\" cannot be reloaded because it requires a passphrase"
 msgstr "private Schlüsseldatei »%s« kann nicht neu geladen werden, weil sie eine Passphrase benötigt"
 
-#: libpq/be-secure-openssl.c:182
+#: libpq/be-secure-openssl.c:169
 #, 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:191
+#: libpq/be-secure-openssl.c:178
 #, c-format
 msgid "check of private key failed: %s"
 msgstr "Überprüfung des privaten Schlüssels fehlgeschlagen: %s"
 
 #. translator: first %s is a GUC option name, second %s is its value
-#: libpq/be-secure-openssl.c:204 libpq/be-secure-openssl.c:227
+#: libpq/be-secure-openssl.c:191 libpq/be-secure-openssl.c:214
 #, c-format
 msgid "\"%s\" setting \"%s\" not supported by this build"
 msgstr "»%s«-Wert »%s« wird von dieser Installation nicht unterstützt"
 
-#: libpq/be-secure-openssl.c:214
+#: libpq/be-secure-openssl.c:201
 #, c-format
 msgid "could not set minimum SSL protocol version"
 msgstr "konnte minimale SSL-Protokollversion nicht setzen"
 
-#: libpq/be-secure-openssl.c:237
+#: libpq/be-secure-openssl.c:224
 #, c-format
 msgid "could not set maximum SSL protocol version"
 msgstr "konnte maximale SSL-Protokollversion nicht setzen"
 
-#: libpq/be-secure-openssl.c:253
+#: libpq/be-secure-openssl.c:241
 #, c-format
 msgid "could not set SSL protocol version range"
 msgstr "konnte SSL-Protokollversionsbereich nicht setzen"
 
-#: libpq/be-secure-openssl.c:254
+#: libpq/be-secure-openssl.c:242
 #, c-format
 msgid "\"%s\" cannot be higher than \"%s\""
 msgstr "»%s« kann nicht höher als »%s« sein"
 
-#: libpq/be-secure-openssl.c:307
-#, c-format
-msgid "could not set the cipher list (no valid ciphers available)"
+#: libpq/be-secure-openssl.c:295
+#, fuzzy, c-format
+#| msgid "could not set the cipher list (no valid ciphers available)"
+msgid "could not set the TLSv1.2 cipher list (no valid ciphers available)"
+msgstr "konnte Cipher-Liste nicht setzen (keine gültigen Ciphers verfügbar)"
+
+#: libpq/be-secure-openssl.c:310
+#, fuzzy, c-format
+#| msgid "could not set the cipher list (no valid ciphers available)"
+msgid "could not set the TLSv1.3 cipher suites (no valid ciphers available)"
 msgstr "konnte Cipher-Liste nicht setzen (keine gültigen Ciphers verfügbar)"
 
-#: libpq/be-secure-openssl.c:327
+#: libpq/be-secure-openssl.c:331
 #, 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:376
+#: libpq/be-secure-openssl.c:380
 #, 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:384
+#: libpq/be-secure-openssl.c:388
 #, c-format
 msgid "could not load SSL certificate revocation list directory \"%s\": %s"
 msgstr "konnte SSL-Certificate-Revocation-List-Verzeichnis »%s« nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:392
+#: libpq/be-secure-openssl.c:396
 #, c-format
 msgid "could not load SSL certificate revocation list file \"%s\" or directory \"%s\": %s"
 msgstr "konnte SSL-Certificate-Revocation-List-Datei »%s« oder -Verzeichnis »%s« nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:450
+#: libpq/be-secure-openssl.c:454
 #, c-format
 msgid "could not initialize SSL connection: SSL context not set up"
 msgstr "konnte SSL-Verbindung nicht initialisieren: SSL-Kontext nicht eingerichtet"
 
-#: libpq/be-secure-openssl.c:464
+#: libpq/be-secure-openssl.c:468
 #, c-format
 msgid "could not initialize SSL connection: %s"
 msgstr "konnte SSL-Verbindung nicht initialisieren: %s"
 
-#: libpq/be-secure-openssl.c:472
+#: libpq/be-secure-openssl.c:476
 #, c-format
 msgid "could not set SSL socket: %s"
 msgstr "konnte SSL-Socket nicht setzen: %s"
 
-#: libpq/be-secure-openssl.c:528
+#: libpq/be-secure-openssl.c:532
 #, c-format
 msgid "could not accept SSL connection: %m"
 msgstr "konnte SSL-Verbindung nicht annehmen: %m"
 
-#: libpq/be-secure-openssl.c:532 libpq/be-secure-openssl.c:589
+#: libpq/be-secure-openssl.c:536 libpq/be-secure-openssl.c:593
 #, c-format
 msgid "could not accept SSL connection: EOF detected"
 msgstr "konnte SSL-Verbindung nicht annehmen: EOF entdeckt"
 
-#: libpq/be-secure-openssl.c:573
+#: libpq/be-secure-openssl.c:577
 #, c-format
 msgid "could not accept SSL connection: %s"
 msgstr "konnte SSL-Verbindung nicht annehmen: %s"
 
-#: libpq/be-secure-openssl.c:577
+#: libpq/be-secure-openssl.c:581
 #, c-format
 msgid "This may indicate that the client does not support any SSL protocol version between %s and %s."
 msgstr "Das zeigt möglicherweise an, dass der Client keine SSL-Protokollversion zwischen %s und %s unterstützt."
 
-#: libpq/be-secure-openssl.c:594 libpq/be-secure-openssl.c:809
-#: libpq/be-secure-openssl.c:879
+#: libpq/be-secure-openssl.c:598 libpq/be-secure-openssl.c:813
+#: libpq/be-secure-openssl.c:883
 #, c-format
 msgid "unrecognized SSL error code: %d"
 msgstr "unbekannter SSL-Fehlercode: %d"
 
-#: libpq/be-secure-openssl.c:622
+#: libpq/be-secure-openssl.c:626
 #, c-format
 msgid "received SSL connection request with unexpected ALPN protocol"
 msgstr "SSL-Verbindungsanfrage mit unerwartetem ALPN-Protokoll erhalten"
 
-#: libpq/be-secure-openssl.c:666
+#: libpq/be-secure-openssl.c:670
 #, 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:712
+#: libpq/be-secure-openssl.c:716
 #, c-format
 msgid "SSL certificate's distinguished name contains embedded null"
 msgstr "Distinguished Name im SSL-Zertifikat enthält Null-Byte"
 
-#: libpq/be-secure-openssl.c:798 libpq/be-secure-openssl.c:863
+#: libpq/be-secure-openssl.c:802 libpq/be-secure-openssl.c:867
 #, c-format
 msgid "SSL error: %s"
 msgstr "SSL-Fehler: %s"
 
-#: libpq/be-secure-openssl.c:1038
+#: libpq/be-secure-openssl.c:1050
 #, c-format
 msgid "could not open DH parameters file \"%s\": %m"
 msgstr "konnte DH-Parameterdatei »%s« nicht öffnen: %m"
 
-#: libpq/be-secure-openssl.c:1050
+#: libpq/be-secure-openssl.c:1062
 #, c-format
 msgid "could not load DH parameters file: %s"
 msgstr "konnte DH-Parameterdatei nicht laden: %s"
 
-#: libpq/be-secure-openssl.c:1060
+#: libpq/be-secure-openssl.c:1072
 #, c-format
 msgid "invalid DH parameters: %s"
 msgstr "ungültige DH-Parameter: %s"
 
-#: libpq/be-secure-openssl.c:1069
+#: libpq/be-secure-openssl.c:1081
 #, c-format
 msgid "invalid DH parameters: p is not prime"
 msgstr "ungültige DH-Parameter: p ist keine Primzahl"
 
-#: libpq/be-secure-openssl.c:1078
+#: libpq/be-secure-openssl.c:1090
 #, 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:1214
+#: libpq/be-secure-openssl.c:1226
 #, c-format
 msgid "Client certificate verification failed at depth %d: %s."
 msgstr "Überprüfung des Client-Zertifikats ist auf Tiefe %d fehlgeschlagen: %s."
 
-#: libpq/be-secure-openssl.c:1251
+#: libpq/be-secure-openssl.c:1263
 #, c-format
 msgid "Failed certificate data (unverified): subject \"%s\", serial number %s, issuer \"%s\"."
 msgstr "Daten des fehlgeschlagenen Zertifikats (nicht verifiziert): Subject »%s«, Seriennummer %s, Aussteller »%s«."
 
-#: libpq/be-secure-openssl.c:1252
+#: libpq/be-secure-openssl.c:1264
 msgid "unknown"
 msgstr "unbekannt"
 
-#: libpq/be-secure-openssl.c:1389
+#: libpq/be-secure-openssl.c:1401
 #, c-format
 msgid "DH: could not load DH parameters"
 msgstr "DH: konnte DH-Parameter nicht laden"
 
-#: libpq/be-secure-openssl.c:1397
+#: libpq/be-secure-openssl.c:1409
 #, c-format
 msgid "DH: could not set DH parameters: %s"
 msgstr "DH: konnte DH-Parameter nicht setzen: %s"
 
-#: libpq/be-secure-openssl.c:1424
+#: libpq/be-secure-openssl.c:1439
 #, c-format
-msgid "ECDH: unrecognized curve name: %s"
-msgstr "ECDH: unbekannter Kurvenname: %s"
+msgid "failed to set group names specified in ssl_groups: %s"
+msgstr ""
+
+#: libpq/be-secure-openssl.c:1441
+msgid "No valid groups found"
+msgstr ""
 
-#: libpq/be-secure-openssl.c:1433
+#: libpq/be-secure-openssl.c:1442
 #, c-format
-msgid "ECDH: could not create key"
-msgstr "ECDH: konnte Schlüssel nicht erzeugen"
+msgid "Ensure that each group name is spelled correctly and supported by the installed version of OpenSSL"
+msgstr ""
 
-#: libpq/be-secure-openssl.c:1461
+#: libpq/be-secure-openssl.c:1488
 msgid "no SSL error reported"
 msgstr "kein SSL-Fehler berichtet"
 
-#: libpq/be-secure-openssl.c:1479
+#: libpq/be-secure-openssl.c:1506
 #, c-format
 msgid "SSL error code %lu"
 msgstr "SSL-Fehlercode %lu"
 
-#: libpq/be-secure-openssl.c:1636
+#: libpq/be-secure-openssl.c:1663
 #, c-format
 msgid "could not create BIO"
 msgstr "konnte BIO nicht erzeugen"
 
-#: libpq/be-secure-openssl.c:1646
+#: libpq/be-secure-openssl.c:1673
 #, c-format
 msgid "could not get NID for ASN1_OBJECT object"
 msgstr "konnte NID für ASN1_OBJECT-Objekt nicht ermitteln"
 
-#: libpq/be-secure-openssl.c:1654
+#: libpq/be-secure-openssl.c:1681
 #, c-format
 msgid "could not convert NID %d to an ASN1_OBJECT structure"
 msgstr "konnte NID %d nicht in eine ASN1_OBJECT-Struktur umwandeln"
 
-#: libpq/crypt.c:48
+#: libpq/crypt.c:50
 #, c-format
 msgid "Role \"%s\" does not exist."
 msgstr "Rolle »%s« existiert nicht."
 
-#: libpq/crypt.c:58
+#: libpq/crypt.c:60
 #, c-format
 msgid "User \"%s\" has no password assigned."
 msgstr "Benutzer »%s« hat kein Passwort zugewiesen."
 
-#: libpq/crypt.c:76
+#: libpq/crypt.c:78
 #, c-format
 msgid "User \"%s\" has an expired password."
 msgstr "Benutzer »%s« hat ein abgelaufenes Passwort."
 
-#: libpq/crypt.c:182
+#: libpq/crypt.c:174
+#, fuzzy, c-format
+#| msgid "directory path for new cluster is too long"
+msgid "encrypted password is too long"
+msgstr "Verzeichnispfad für neuen Cluster ist zu lang"
+
+#: libpq/crypt.c:175
+#, c-format
+msgid "Encrypted passwords must be no longer than %d bytes."
+msgstr ""
+
+#: libpq/crypt.c:183
+#, fuzzy, c-format
+#| msgid "could not encrypt password: %s"
+msgid "setting an MD5-encrypted password"
+msgstr "konnte Passwort nicht verschlüsseln: %s"
+
+#: libpq/crypt.c:184
+#, c-format
+msgid "MD5 password support is deprecated and will be removed in a future release of PostgreSQL."
+msgstr ""
+
+#: libpq/crypt.c:185
+#, c-format
+msgid "Refer to the PostgreSQL documentation for details about migrating to another password type."
+msgstr ""
+
+#: libpq/crypt.c:216
 #, c-format
 msgid "User \"%s\" has a password that cannot be used with MD5 authentication."
 msgstr "Benutzer »%s« hat ein Passwort, das nicht mit MD5-Authentifizierung verwendet werden kann."
 
-#: libpq/crypt.c:203 libpq/crypt.c:245 libpq/crypt.c:265
+#: libpq/crypt.c:237 libpq/crypt.c:279 libpq/crypt.c:299
 #, c-format
 msgid "Password does not match for user \"%s\"."
 msgstr "Passwort stimmt nicht überein für Benutzer »%s«."
 
-#: libpq/crypt.c:284
+#: libpq/crypt.c:318
 #, c-format
 msgid "Password of user \"%s\" is in unrecognized format."
 msgstr "Passwort von Benutzer »%s« hat unbekanntes Format."
 
-#: libpq/hba.c:327
+#: libpq/hba.c:329
 #, c-format
 msgid "invalid regular expression \"%s\": %s"
 msgstr "ungültiger regulärer Ausdruck »%s«: %s"
 
-#: libpq/hba.c:329 libpq/hba.c:661 libpq/hba.c:1245 libpq/hba.c:1265
-#: libpq/hba.c:1288 libpq/hba.c:1301 libpq/hba.c:1354 libpq/hba.c:1382
-#: libpq/hba.c:1390 libpq/hba.c:1402 libpq/hba.c:1423 libpq/hba.c:1436
-#: libpq/hba.c:1461 libpq/hba.c:1488 libpq/hba.c:1500 libpq/hba.c:1559
-#: libpq/hba.c:1579 libpq/hba.c:1593 libpq/hba.c:1613 libpq/hba.c:1624
-#: libpq/hba.c:1639 libpq/hba.c:1658 libpq/hba.c:1674 libpq/hba.c:1686
-#: libpq/hba.c:1752 libpq/hba.c:1765 libpq/hba.c:1787 libpq/hba.c:1799
-#: libpq/hba.c:1817 libpq/hba.c:1867 libpq/hba.c:1911 libpq/hba.c:1922
-#: libpq/hba.c:1938 libpq/hba.c:1955 libpq/hba.c:1966 libpq/hba.c:1985
-#: libpq/hba.c:2001 libpq/hba.c:2017 libpq/hba.c:2076 libpq/hba.c:2093
-#: libpq/hba.c:2106 libpq/hba.c:2118 libpq/hba.c:2137 libpq/hba.c:2223
-#: libpq/hba.c:2241 libpq/hba.c:2335 libpq/hba.c:2354 libpq/hba.c:2383
-#: libpq/hba.c:2396 libpq/hba.c:2419 libpq/hba.c:2441 libpq/hba.c:2455
-#: tsearch/ts_locale.c:241
-#, c-format
-msgid "line %d of configuration file \"%s\""
-msgstr "Zeile %d in Konfigurationsdatei »%s«"
-
-#: libpq/hba.c:457
+#: libpq/hba.c:459
 #, c-format
 msgid "skipping missing authentication file \"%s\""
 msgstr "fehlende Authentifizierungsdatei »%s« wird übersprungen"
 
-#: libpq/hba.c:609
+#: libpq/hba.c:611
 #, c-format
 msgid "could not open file \"%s\": maximum nesting depth exceeded"
 msgstr "konnte Datei »%s« nicht öffnen: maximale Verschachtelungstiefe überschritten"
 
-#: libpq/hba.c:1216
+#: libpq/hba.c:1222
 #, c-format
 msgid "error enumerating network interfaces: %m"
 msgstr "Fehler beim Aufzählen der Netzwerkschnittstellen: %m"
 
 #. translator: the second %s is a list of auth methods
-#: libpq/hba.c:1243
+#: libpq/hba.c:1249
 #, 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:1263
+#: libpq/hba.c:1269
 #, c-format
 msgid "authentication method \"%s\" requires argument \"%s\" to be set"
 msgstr "Authentifizierungsmethode »%s« benötigt Argument »%s«"
 
-#: libpq/hba.c:1287
+#: libpq/hba.c:1293
 #, c-format
 msgid "missing entry at end of line"
 msgstr "fehlender Eintrag am Ende der Zeile"
 
-#: libpq/hba.c:1300
+#: libpq/hba.c:1306
 #, c-format
 msgid "multiple values in ident field"
 msgstr "mehrere Werte in Ident-Feld"
 
-#: libpq/hba.c:1352
+#: libpq/hba.c:1358
 #, c-format
 msgid "multiple values specified for connection type"
 msgstr "mehrere Werte angegeben für Verbindungstyp"
 
-#: libpq/hba.c:1353
+#: libpq/hba.c:1359
 #, c-format
 msgid "Specify exactly one connection type per line."
 msgstr "Geben Sie genau einen Verbindungstyp pro Zeile an."
 
-#: libpq/hba.c:1380
+#: libpq/hba.c:1386
 #, c-format
 msgid "hostssl record cannot match because SSL is disabled"
 msgstr "hostssl-Eintrag kann nicht angewendet werden, weil SSL deaktiviert ist"
 
-#: libpq/hba.c:1381
+#: libpq/hba.c:1387
 #, c-format
 msgid "Set \"ssl = on\" in postgresql.conf."
 msgstr "Setzen Sie »ssl = on« in postgresql.conf."
 
-#: libpq/hba.c:1389
+#: libpq/hba.c:1395
 #, c-format
 msgid "hostssl record cannot match because SSL is not supported by this build"
 msgstr "hostssl-Eintrag kann nicht angewendet werden, weil SSL von dieser Installation nicht unterstützt wird"
 
-#: libpq/hba.c:1401
+#: libpq/hba.c:1407
 #, c-format
 msgid "hostgssenc record cannot match because GSSAPI is not supported by this build"
 msgstr "hostgssenc-Eintrag kann nicht angewendet werden, weil GSSAPI von dieser Installation nicht unterstützt wird"
 
-#: libpq/hba.c:1421
+#: libpq/hba.c:1427
 #, c-format
 msgid "invalid connection type \"%s\""
 msgstr "ungültiger Verbindungstyp »%s«"
 
-#: libpq/hba.c:1435
+#: libpq/hba.c:1441
 #, c-format
 msgid "end-of-line before database specification"
 msgstr "Zeilenende vor Datenbankangabe"
 
-#: libpq/hba.c:1460
+#: libpq/hba.c:1466
 #, c-format
 msgid "end-of-line before role specification"
 msgstr "Zeilenende vor Rollenangabe"
 
-#: libpq/hba.c:1487
+#: libpq/hba.c:1493
 #, c-format
 msgid "end-of-line before IP address specification"
 msgstr "Zeilenende vor IP-Adressangabe"
 
-#: libpq/hba.c:1498
+#: libpq/hba.c:1504
 #, c-format
 msgid "multiple values specified for host address"
 msgstr "mehrere Werte für Hostadresse angegeben"
 
-#: libpq/hba.c:1499
+#: libpq/hba.c:1505
 #, c-format
 msgid "Specify one address range per line."
 msgstr "Geben Sie einen Adressbereich pro Zeile an."
 
-#: libpq/hba.c:1557
+#: libpq/hba.c:1563
 #, c-format
 msgid "invalid IP address \"%s\": %s"
 msgstr "ungültige IP-Adresse »%s«: %s"
 
-#: libpq/hba.c:1577
+#: libpq/hba.c:1583
 #, 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:1591
+#: libpq/hba.c:1597
 #, c-format
 msgid "invalid CIDR mask in address \"%s\""
 msgstr "ungültige CIDR-Maske in Adresse »%s«"
 
-#: libpq/hba.c:1611
+#: libpq/hba.c:1617
 #, c-format
 msgid "end-of-line before netmask specification"
 msgstr "Zeilenende vor Netzmaskenangabe"
 
-#: libpq/hba.c:1612
+#: libpq/hba.c:1618
 #, 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:1623
+#: libpq/hba.c:1629
 #, c-format
 msgid "multiple values specified for netmask"
 msgstr "mehrere Werte für Netzmaske angegeben"
 
-#: libpq/hba.c:1637
+#: libpq/hba.c:1643
 #, c-format
 msgid "invalid IP mask \"%s\": %s"
 msgstr "ungültige IP-Maske »%s«: %s"
 
-#: libpq/hba.c:1657
+#: libpq/hba.c:1663
 #, c-format
 msgid "IP address and mask do not match"
 msgstr "IP-Adresse und -Maske passen nicht zusammen"
 
-#: libpq/hba.c:1673
+#: libpq/hba.c:1679
 #, c-format
 msgid "end-of-line before authentication method"
 msgstr "Zeilenende vor Authentifizierungsmethode"
 
-#: libpq/hba.c:1684
+#: libpq/hba.c:1690
 #, c-format
 msgid "multiple values specified for authentication type"
 msgstr "mehrere Werte für Authentifizierungstyp angegeben"
 
-#: libpq/hba.c:1685
+#: libpq/hba.c:1691
 #, c-format
 msgid "Specify exactly one authentication type per line."
 msgstr "Geben Sie genau einen Authentifizierungstyp pro Zeile an."
 
-#: libpq/hba.c:1750
+#: libpq/hba.c:1758
 #, c-format
 msgid "invalid authentication method \"%s\""
 msgstr "ungültige Authentifizierungsmethode »%s«"
 
-#: libpq/hba.c:1763
+#: libpq/hba.c:1771
 #, 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:1786
+#: libpq/hba.c:1794
 #, c-format
 msgid "gssapi authentication is not supported on local sockets"
 msgstr "gssapi-Authentifizierung wird auf lokalen Sockets nicht unterstützt"
 
-#: libpq/hba.c:1798
+#: libpq/hba.c:1806
 #, c-format
 msgid "peer authentication is only supported on local sockets"
 msgstr "peer-Authentifizierung wird nur auf lokalen Sockets unterstützt"
 
-#: libpq/hba.c:1816
+#: libpq/hba.c:1824
 #, c-format
 msgid "cert authentication is only supported on hostssl connections"
 msgstr "cert-Authentifizierung wird nur auf »hostssl«-Verbindungen unterstützt"
 
-#: libpq/hba.c:1866
+#: libpq/hba.c:1874
 #, c-format
 msgid "authentication option not in name=value format: %s"
 msgstr "Authentifizierungsoption nicht im Format name=wert: %s"
 
-#: libpq/hba.c:1910
+#: libpq/hba.c:1918
 #, c-format
-msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, ldapsearchfilter, or ldapurl together with ldapprefix"
-msgstr "ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, ldapsearchfilter oder ldapurl kann nicht zusammen mit ldapprefix verwendet werden"
+msgid "cannot mix options for simple bind and search+bind modes"
+msgstr ""
 
-#: libpq/hba.c:1921
+#: libpq/hba.c:1929
 #, 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:1937
+#: libpq/hba.c:1945
 #, c-format
 msgid "cannot use ldapsearchattribute together with ldapsearchfilter"
 msgstr "ldapsearchattribute kann nicht zusammen mit ldapsearchfilter verwendet werden"
 
-#: libpq/hba.c:1954
+#: libpq/hba.c:1962
 #, c-format
 msgid "list of RADIUS servers cannot be empty"
 msgstr "List der RADIUS-Server darf nicht leer sein"
 
-#: libpq/hba.c:1965
+#: libpq/hba.c:1973
 #, c-format
 msgid "list of RADIUS secrets cannot be empty"
 msgstr "Liste der RADIUS-Geheimnisse darf nicht leer sein"
 
-#: libpq/hba.c:1982
+#: libpq/hba.c:1990
 #, c-format
 msgid "the number of RADIUS secrets (%d) must be 1 or the same as the number of RADIUS servers (%d)"
 msgstr "die Anzahl der RADIUS-Geheimnisse (%d) muss 1 oder gleich der Anzahl der RADIUS-Server (%d) sein"
 
-#: libpq/hba.c:1998
+#: libpq/hba.c:2006
 #, c-format
 msgid "the number of RADIUS ports (%d) must be 1 or the same as the number of RADIUS servers (%d)"
 msgstr "die Anzahl der RADIUS-Ports (%d) muss 1 oder gleich der Anzahl der RADIUS-Server (%d) sein"
 
-#: libpq/hba.c:2014
+#: libpq/hba.c:2022
 #, c-format
 msgid "the number of RADIUS identifiers (%d) must be 1 or the same as the number of RADIUS servers (%d)"
 msgstr "die Anzahl der RADIUS-Bezeichner (%d) muss 1 oder gleich der Anzahl der RADIUS-Server (%d) sein"
 
-#: libpq/hba.c:2066
-msgid "ident, peer, gssapi, sspi, and cert"
+#. translator: strings are replaced with hba options
+#: libpq/hba.c:2067
+#, fuzzy, c-format
+#| msgid "COPY %s cannot be used with %s"
+msgid "%s cannot be used in combination with %s"
+msgstr "COPY %s kann nicht mit %s verwendet werden"
+
+#: libpq/hba.c:2105
+#, fuzzy
+#| msgid "ident, peer, gssapi, sspi, and cert"
+msgid "ident, peer, gssapi, sspi, cert, and oauth"
 msgstr "ident, peer, gssapi, sspi und cert"
 
-#: libpq/hba.c:2075
+#: libpq/hba.c:2114
 #, c-format
 msgid "clientcert can only be configured for \"hostssl\" rows"
 msgstr "clientcert kann nur für »hostssl«-Zeilen konfiguriert werden"
 
-#: libpq/hba.c:2092
+#: libpq/hba.c:2131
 #, c-format
 msgid "clientcert only accepts \"verify-full\" when using \"cert\" authentication"
 msgstr "clientcert akzeptiert »verify-full« nur, wenn »cert«-Authentifizierung verwendet wird"
 
-#: libpq/hba.c:2105
+#: libpq/hba.c:2144
 #, c-format
 msgid "invalid value for clientcert: \"%s\""
 msgstr "ungültiger Wert für clientcert: »%s«"
 
-#: libpq/hba.c:2117
+#: libpq/hba.c:2156
 #, c-format
 msgid "clientname can only be configured for \"hostssl\" rows"
 msgstr "clientname kann nur für »hostssl«-Zeilen konfiguriert werden"
 
-#: libpq/hba.c:2136
+#: libpq/hba.c:2175
 #, c-format
 msgid "invalid value for clientname: \"%s\""
 msgstr "ungültiger Wert für clientname: »%s«"
 
-#: libpq/hba.c:2169
+#: libpq/hba.c:2208
 #, c-format
 msgid "could not parse LDAP URL \"%s\": %s"
 msgstr "konnte LDAP-URL »%s« nicht interpretieren: %s"
 
-#: libpq/hba.c:2180
+#: libpq/hba.c:2219
 #, c-format
 msgid "unsupported LDAP URL scheme: %s"
 msgstr "nicht unterstütztes LDAP-URL-Schema: %s"
 
-#: libpq/hba.c:2204
+#: libpq/hba.c:2243
 #, c-format
 msgid "LDAP URLs not supported on this platform"
 msgstr "LDAP-URLs werden auf dieser Plattform nicht unterstützt"
 
-#: libpq/hba.c:2222
+#: libpq/hba.c:2261
 #, c-format
 msgid "invalid ldapscheme value: \"%s\""
 msgstr "ungültiger ldapscheme-Wert: »%s«"
 
-#: libpq/hba.c:2240
+#: libpq/hba.c:2279
 #, c-format
 msgid "invalid LDAP port number: \"%s\""
 msgstr "ungültige LDAP-Portnummer: »%s«"
 
-#: libpq/hba.c:2286 libpq/hba.c:2293
+#: libpq/hba.c:2325 libpq/hba.c:2332
 msgid "gssapi and sspi"
 msgstr "gssapi und sspi"
 
-#: libpq/hba.c:2302 libpq/hba.c:2311
+#: libpq/hba.c:2341 libpq/hba.c:2350
 msgid "sspi"
 msgstr "sspi"
 
-#: libpq/hba.c:2333
+#: libpq/hba.c:2372
 #, c-format
 msgid "could not parse RADIUS server list \"%s\""
 msgstr "konnte RADIUS-Serverliste »%s« nicht parsen"
 
-#: libpq/hba.c:2381
+#: libpq/hba.c:2420
 #, c-format
 msgid "could not parse RADIUS port list \"%s\""
 msgstr "konnte RADIUS-Portliste »%s« nicht parsen"
 
-#: libpq/hba.c:2395
+#: libpq/hba.c:2434
 #, c-format
 msgid "invalid RADIUS port number: \"%s\""
 msgstr "ungültige RADIUS-Portnummer: »%s«"
 
-#: libpq/hba.c:2417
+#: libpq/hba.c:2456
 #, c-format
 msgid "could not parse RADIUS secret list \"%s\""
 msgstr "konnte RADIUS-Geheimnisliste »%s« nicht parsen"
 
-#: libpq/hba.c:2439
+#: libpq/hba.c:2478
 #, c-format
 msgid "could not parse RADIUS identifiers list \"%s\""
 msgstr "konnte RADIUS-Bezeichnerliste »%s« nicht parsen"
 
-#: libpq/hba.c:2453
+#: libpq/hba.c:2515
 #, c-format
 msgid "unrecognized authentication option name: \"%s\""
 msgstr "unbekannter Authentifizierungsoptionsname: »%s«"
 
-#: libpq/hba.c:2645
+#: libpq/hba.c:2707
 #, c-format
 msgid "configuration file \"%s\" contains no entries"
 msgstr "Konfigurationsdatei »%s« enthält keine Einträge"
 
-#: libpq/hba.c:2798
+#: libpq/hba.c:2860
 #, c-format
 msgid "regular expression match for \"%s\" failed: %s"
 msgstr "Suche nach regulärem Ausdruck für »%s« fehlgeschlagen: %s"
 
-#: libpq/hba.c:2822
+#: libpq/hba.c:2884
 #, 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:2925
+#: libpq/hba.c:2987
 #, 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:2945
+#: libpq/hba.c:3007
 #, 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/pqcomm.c:211 libpq/pqcomm.c:219 libpq/pqcomm.c:250 libpq/pqcomm.c:259
-#: libpq/pqcomm.c:1648 libpq/pqcomm.c:1693 libpq/pqcomm.c:1733
-#: libpq/pqcomm.c:1777 libpq/pqcomm.c:1816 libpq/pqcomm.c:1855
-#: libpq/pqcomm.c:1891 libpq/pqcomm.c:1930
+#: libpq/pqcomm.c:212 libpq/pqcomm.c:220 libpq/pqcomm.c:251 libpq/pqcomm.c:260
+#: libpq/pqcomm.c:1652 libpq/pqcomm.c:1697 libpq/pqcomm.c:1737
+#: libpq/pqcomm.c:1781 libpq/pqcomm.c:1820 libpq/pqcomm.c:1859
+#: libpq/pqcomm.c:1895 libpq/pqcomm.c:1934
 #, c-format
 msgid "%s(%s) failed: %m"
 msgstr "%s(%s) fehlgeschlagen: %m"
 
-#: libpq/pqcomm.c:296
+#: libpq/pqcomm.c:297
 #, c-format
 msgid "could not set socket to nonblocking mode: %m"
 msgstr "konnte Socket nicht auf nicht-blockierenden Modus umstellen: %m"
 
-#: libpq/pqcomm.c:456
+#: libpq/pqcomm.c:457
 #, 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:476
+#: libpq/pqcomm.c:477
 #, 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:480
+#: libpq/pqcomm.c:481
 #, c-format
 msgid "could not translate service \"%s\" to address: %s"
 msgstr "konnte Dienst »%s« nicht in Adresse übersetzen: %s"
 
-#: libpq/pqcomm.c:502
+#: libpq/pqcomm.c:503
 #, 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:511
+#: libpq/pqcomm.c:512
 msgid "IPv4"
 msgstr "IPv4"
 
-#: libpq/pqcomm.c:514
+#: libpq/pqcomm.c:515
 msgid "IPv6"
 msgstr "IPv6"
 
-#: libpq/pqcomm.c:517
+#: libpq/pqcomm.c:518
 msgid "Unix"
 msgstr "Unix"
 
-#: libpq/pqcomm.c:521
+#: libpq/pqcomm.c:522
 #, c-format
 msgid "unrecognized address family %d"
 msgstr "unbekannte Adressfamilie %d"
 
 #. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:545
+#: libpq/pqcomm.c:546
 #, c-format
 msgid "could not create %s socket for address \"%s\": %m"
 msgstr "konnte %s-Socket für Adresse »%s« nicht erzeugen: %m"
 
-#. translator: third %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:574 libpq/pqcomm.c:592
+#. translator: third %s is IPv4 or IPv6
+#. translator: third %s is IPv6
+#: libpq/pqcomm.c:575 libpq/pqcomm.c:593
 #, c-format
 msgid "%s(%s) failed for %s address \"%s\": %m"
 msgstr "%s(%s) für %s-Adresse »%s« fehlgeschlagen: %m"
 
 #. translator: first %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:615
+#: libpq/pqcomm.c:616
 #, c-format
 msgid "could not bind %s address \"%s\": %m"
 msgstr "konnte %s-Adresse »%s« nicht binden: %m"
 
-#: libpq/pqcomm.c:619
+#: libpq/pqcomm.c:620
 #, c-format
 msgid "Is another postmaster already running on port %d?"
 msgstr "Läuft bereits ein anderer Postmaster auf Port %d?"
 
-#: libpq/pqcomm.c:621
+#: libpq/pqcomm.c:622
 #, 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:650
+#: libpq/pqcomm.c:651
 #, c-format
 msgid "could not listen on %s address \"%s\": %m"
 msgstr "konnte nicht auf %s-Adresse »%s« hören: %m"
 
-#: libpq/pqcomm.c:658
+#: libpq/pqcomm.c:659
 #, 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:663
+#: libpq/pqcomm.c:664
 #, c-format
 msgid "listening on %s address \"%s\", port %d"
 msgstr "erwarte Verbindungen auf %s-Adresse »%s«, Port %d"
 
-#: libpq/pqcomm.c:753
+#: libpq/pqcomm.c:754
 #, c-format
 msgid "group \"%s\" does not exist"
 msgstr "Gruppe »%s« existiert nicht"
 
-#: libpq/pqcomm.c:763
+#: libpq/pqcomm.c:764
 #, c-format
 msgid "could not set group of file \"%s\": %m"
 msgstr "konnte Gruppe von Datei »%s« nicht setzen: %m"
 
-#: libpq/pqcomm.c:774
+#: libpq/pqcomm.c:775
 #, c-format
 msgid "could not set permissions of file \"%s\": %m"
 msgstr "konnte Zugriffsrechte von Datei »%s« nicht setzen: %m"
 
-#: libpq/pqcomm.c:803
+#: libpq/pqcomm.c:804
 #, c-format
 msgid "could not accept new connection: %m"
 msgstr "konnte neue Verbindung nicht akzeptieren: %m"
 
-#: libpq/pqcomm.c:885
+#: libpq/pqcomm.c:886
 #, c-format
 msgid "there is no client connection"
 msgstr "es besteht keine Client-Verbindung"
 
-#: libpq/pqcomm.c:941 libpq/pqcomm.c:1042
+#: libpq/pqcomm.c:942 libpq/pqcomm.c:1043
 #, c-format
 msgid "could not receive data from client: %m"
 msgstr "konnte Daten vom Client nicht empfangen: %m"
 
-#: libpq/pqcomm.c:1149 tcop/postgres.c:4533
+#: libpq/pqcomm.c:1151 tcop/postgres.c:4459
 #, c-format
 msgid "terminating connection because protocol synchronization was lost"
 msgstr "Verbindung wird abgebrochen, weil Protokollsynchronisierung verloren wurde"
 
-#: libpq/pqcomm.c:1215
+#: libpq/pqcomm.c:1217
 #, c-format
 msgid "unexpected EOF within message length word"
 msgstr "unerwartetes EOF im Message-Längenwort"
 
-#: libpq/pqcomm.c:1225
+#: libpq/pqcomm.c:1227
 #, c-format
 msgid "invalid message length"
 msgstr "ungültige Message-Länge"
 
-#: libpq/pqcomm.c:1247 libpq/pqcomm.c:1260
+#: libpq/pqcomm.c:1249 libpq/pqcomm.c:1262
 #, c-format
 msgid "incomplete message from client"
 msgstr "unvollständige Message vom Client"
 
-#: libpq/pqcomm.c:1401
+#: libpq/pqcomm.c:1405
 #, c-format
 msgid "could not send data to client: %m"
 msgstr "konnte Daten nicht an den Client senden: %m"
 
-#: libpq/pqcomm.c:1616
+#: libpq/pqcomm.c:1620
 #, c-format
 msgid "%s(%s) failed: error code %d"
 msgstr "%s(%s) fehlgeschlagen: Fehlercode %d"
 
-#: libpq/pqcomm.c:1705
+#: libpq/pqcomm.c:1709
 #, c-format
 msgid "setting the keepalive idle time is not supported"
 msgstr "Setzen der Keepalive-Idle-Zeit wird nicht unterstützt"
 
-#: libpq/pqcomm.c:1789 libpq/pqcomm.c:1864 libpq/pqcomm.c:1939
+#: libpq/pqcomm.c:1793 libpq/pqcomm.c:1868 libpq/pqcomm.c:1943
 #, c-format
 msgid "%s(%s) not supported"
 msgstr "%s(%s) nicht unterstützt"
@@ -16457,7 +17063,7 @@ msgid "no data left in message"
 msgstr "keine Daten in Message übrig"
 
 #: libpq/pqformat.c:515 libpq/pqformat.c:533 libpq/pqformat.c:554
-#: utils/adt/array_userfuncs.c:797 utils/adt/arrayfuncs.c:1481
+#: utils/adt/array_userfuncs.c:858 utils/adt/arrayfuncs.c:1481
 #: utils/adt/rowtypes.c:613
 #, c-format
 msgid "insufficient data left in message"
@@ -16473,12 +17079,12 @@ msgstr "ungültige Zeichenkette in Message"
 msgid "invalid message format"
 msgstr "ungültiges Message-Format"
 
-#: main/main.c:236
+#: main/main.c:301
 #, c-format
 msgid "%s: WSAStartup failed: %d\n"
 msgstr "%s: WSAStartup fehlgeschlagen: %d\n"
 
-#: main/main.c:324
+#: main/main.c:389
 #, c-format
 msgid ""
 "%s is the PostgreSQL server.\n"
@@ -16487,7 +17093,7 @@ msgstr ""
 "%s ist der PostgreSQL-Server.\n"
 "\n"
 
-#: main/main.c:325
+#: main/main.c:390
 #, c-format
 msgid ""
 "Usage:\n"
@@ -16498,107 +17104,107 @@ msgstr ""
 "  %s [OPTION]...\n"
 "\n"
 
-#: main/main.c:326
+#: main/main.c:391
 #, c-format
 msgid "Options:\n"
 msgstr "Optionen:\n"
 
-#: main/main.c:327
+#: main/main.c:392
 #, c-format
 msgid "  -B NBUFFERS        number of shared buffers\n"
 msgstr "  -B ZAHL            Anzahl der geteilten Puffer\n"
 
-#: main/main.c:328
+#: main/main.c:393
 #, c-format
 msgid "  -c NAME=VALUE      set run-time parameter\n"
 msgstr "  -c NAME=WERT       setze Konfigurationsparameter\n"
 
-#: main/main.c:329
+#: main/main.c:394
 #, c-format
 msgid "  -C NAME            print value of run-time parameter, then exit\n"
 msgstr "  -C NAME            Wert des Konfigurationsparameters ausgeben, dann beenden\n"
 
-#: main/main.c:330
+#: main/main.c:395
 #, c-format
 msgid "  -d 1-5             debugging level\n"
 msgstr "  -d 1-5             Debug-Level\n"
 
-#: main/main.c:331
+#: main/main.c:396
 #, c-format
 msgid "  -D DATADIR         database directory\n"
 msgstr "  -D VERZEICHNIS     Datenbankverzeichnis\n"
 
-#: main/main.c:332
+#: main/main.c:397
 #, c-format
 msgid "  -e                 use European date input format (DMY)\n"
 msgstr "  -e                 verwende europäisches Datumseingabeformat (DMY)\n"
 
-#: main/main.c:333
+#: main/main.c:398
 #, c-format
 msgid "  -F                 turn fsync off\n"
 msgstr "  -F                 »fsync« ausschalten\n"
 
-#: main/main.c:334
+#: main/main.c:399
 #, c-format
 msgid "  -h HOSTNAME        host name or IP address to listen on\n"
 msgstr "  -h HOSTNAME        horche auf Hostname oder IP-Adresse\n"
 
-#: main/main.c:335
+#: main/main.c:400
 #, c-format
 msgid "  -i                 enable TCP/IP connections (deprecated)\n"
 msgstr "  -i                 ermögliche TCP/IP-Verbindungen (veraltet)\n"
 
-#: main/main.c:336
+#: main/main.c:401
 #, c-format
 msgid "  -k DIRECTORY       Unix-domain socket location\n"
 msgstr "  -k VERZEICHNIS     Ort der Unix-Domain-Socket\n"
 
-#: main/main.c:338
+#: main/main.c:403
 #, c-format
 msgid "  -l                 enable SSL connections\n"
 msgstr "  -l                 ermögliche SSL-Verbindungen\n"
 
-#: main/main.c:340
+#: main/main.c:405
 #, c-format
 msgid "  -N MAX-CONNECT     maximum number of allowed connections\n"
 msgstr "  -N ZAHL            Anzahl der erlaubten Verbindungen\n"
 
-#: main/main.c:341
+#: main/main.c:406
 #, c-format
 msgid "  -p PORT            port number to listen on\n"
 msgstr "  -p PORT            auf dieser Portnummer horchen\n"
 
-#: main/main.c:342
+#: main/main.c:407
 #, c-format
 msgid "  -s                 show statistics after each query\n"
 msgstr "  -s                 zeige Statistiken nach jeder Anfrage\n"
 
-#: main/main.c:343
+#: main/main.c:408
 #, c-format
 msgid "  -S WORK-MEM        set amount of memory for sorts (in kB)\n"
 msgstr "  -S ZAHL            setze Speicher für Sortiervorgänge (in kB)\n"
 
-#: main/main.c:344
+#: main/main.c:409
 #, c-format
 msgid "  -V, --version      output version information, then exit\n"
 msgstr "  -V, --version      Versionsinformationen anzeigen, dann beenden\n"
 
-#: main/main.c:345
+#: main/main.c:410
 #, c-format
 msgid "  --NAME=VALUE       set run-time parameter\n"
 msgstr "  --NAME=WERT        setze Konfigurationsparameter\n"
 
-#: main/main.c:346
+#: main/main.c:411
 #, c-format
 msgid "  --describe-config  describe configuration parameters, then exit\n"
 msgstr "  --describe-config  zeige Konfigurationsparameter und beende\n"
 
-#: main/main.c:347
+#: main/main.c:412
 #, c-format
 msgid "  -?, --help         show this help, then exit\n"
 msgstr "  -?, --help         diese Hilfe anzeigen, dann beenden\n"
 
-#: main/main.c:349
+#: main/main.c:414
 #, c-format
 msgid ""
 "\n"
@@ -16607,37 +17213,37 @@ msgstr ""
 "\n"
 "Entwickleroptionen:\n"
 
-#: main/main.c:350
+#: main/main.c:415
 #, c-format
 msgid "  -f s|i|o|b|t|n|m|h forbid use of some plan types\n"
 msgstr "  -f s|i|o|b|t|n|m|h verbiete Verwendung einiger Plantypen\n"
 
-#: main/main.c:351
+#: main/main.c:416
 #, c-format
 msgid "  -O                 allow system table structure changes\n"
 msgstr "  -O                 erlaube Änderungen an Systemtabellenstruktur\n"
 
-#: main/main.c:352
+#: main/main.c:417
 #, c-format
 msgid "  -P                 disable system indexes\n"
 msgstr "  -P                 schalte Systemindexe aus\n"
 
-#: main/main.c:353
+#: main/main.c:418
 #, c-format
 msgid "  -t pa|pl|ex        show timings after each query\n"
 msgstr "  -t pa|pl|ex        zeige Zeitmessung nach jeder Anfrage\n"
 
-#: main/main.c:354
+#: main/main.c:419
 #, c-format
 msgid "  -T                 send SIGABRT to all backend processes if one dies\n"
 msgstr "  -T                 SIGABRT an alle Backend-Prozesse senden wenn einer stirbt\n"
 
-#: main/main.c:355
+#: main/main.c:420
 #, c-format
 msgid "  -W NUM             wait NUM seconds to allow attach from a debugger\n"
 msgstr "  -W ZAHL            warte ZAHL Sekunden, um Debugger starten zu können\n"
 
-#: main/main.c:357
+#: main/main.c:422
 #, c-format
 msgid ""
 "\n"
@@ -16646,39 +17252,39 @@ msgstr ""
 "\n"
 "Optionen für Einzelbenutzermodus:\n"
 
-#: main/main.c:358
+#: main/main.c:423
 #, c-format
 msgid "  --single           selects single-user mode (must be first argument)\n"
 msgstr "  --single           wählt den Einzelbenutzermodus (muss erstes Argument sein)\n"
 
-#: main/main.c:359
+#: main/main.c:424
 #, c-format
 msgid "  DBNAME             database name (defaults to user name)\n"
 msgstr "  DBNAME             Datenbankname (Vorgabe: Benutzername)\n"
 
-#: main/main.c:360
+#: main/main.c:425
 #, c-format
 msgid "  -d 0-5             override debugging level\n"
 msgstr "  -d 0-5             Debug-Level setzen\n"
 
-#: main/main.c:361
+#: main/main.c:426
 #, c-format
 msgid "  -E                 echo statement before execution\n"
 msgstr "  -E                 gebe Befehl vor der Ausführung aus\n"
 
-#: main/main.c:362
+#: main/main.c:427
 #, c-format
 msgid "  -j                 do not use newline as interactive query delimiter\n"
 msgstr ""
 "  -j                 verwende Zeilenende nicht als Anfrageende im interaktiven\n"
 "                     Modus\n"
 
-#: main/main.c:363 main/main.c:369
+#: main/main.c:428 main/main.c:434
 #, c-format
 msgid "  -r FILENAME        send stdout and stderr to given file\n"
 msgstr "  -r DATEINAME       sende stdout und stderr in genannte Datei\n"
 
-#: main/main.c:365
+#: main/main.c:430
 #, c-format
 msgid ""
 "\n"
@@ -16687,22 +17293,22 @@ msgstr ""
 "\n"
 "Optionen für Bootstrap-Modus:\n"
 
-#: main/main.c:366
+#: main/main.c:431
 #, c-format
 msgid "  --boot             selects bootstrapping mode (must be first argument)\n"
 msgstr "  --boot             wählt den Bootstrap-Modus (muss erstes Argument sein)\n"
 
-#: main/main.c:367
+#: main/main.c:432
 #, c-format
 msgid "  --check            selects check mode (must be first argument)\n"
 msgstr "  --check            wählt den Check-Modus (muss erstes Argument sein)\n"
 
-#: main/main.c:368
+#: main/main.c:433
 #, c-format
 msgid "  DBNAME             database name (mandatory argument in bootstrapping mode)\n"
 msgstr "  DBNAME             Datenbankname (Pflichtangabe im Bootstrap-Modus)\n"
 
-#: main/main.c:371
+#: main/main.c:436
 #, c-format
 msgid ""
 "\n"
@@ -16719,12 +17325,12 @@ msgstr ""
 "\n"
 "Berichten Sie Fehler an <%s>.\n"
 
-#: main/main.c:375
+#: main/main.c:440
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s Homepage: <%s>\n"
 
-#: main/main.c:386
+#: main/main.c:451
 #, c-format
 msgid ""
 "\"root\" execution of the PostgreSQL server is not permitted.\n"
@@ -16738,12 +17344,12 @@ msgstr ""
 "Dokumentation finden Sie weitere Informationen darüber, wie der\n"
 "Server richtig gestartet wird.\n"
 
-#: main/main.c:403
+#: main/main.c:468
 #, c-format
 msgid "%s: real and effective user IDs must match\n"
 msgstr "%s: reelle und effektive Benutzer-IDs müssen übereinstimmen\n"
 
-#: main/main.c:410
+#: main/main.c:475
 #, c-format
 msgid ""
 "Execution of PostgreSQL by a user with administrative permissions is not\n"
@@ -16768,14 +17374,14 @@ msgstr "erweiterbarer Knotentyp »%s« existiert bereits"
 msgid "ExtensibleNodeMethods \"%s\" was not registered"
 msgstr "ExtensibleNodeMethods »%s« wurde nicht registriert"
 
-#: nodes/makefuncs.c:152 statistics/extended_stats.c:2310
+#: nodes/makefuncs.c:154 statistics/extended_stats.c:2306
 #, c-format
 msgid "relation \"%s\" does not have a composite type"
 msgstr "Relation »%s« hat keinen zusammengesetzten Typ"
 
-#: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:2604
-#: parser/parse_coerce.c:2742 parser/parse_coerce.c:2789
-#: parser/parse_expr.c:2112 parser/parse_func.c:710 parser/parse_oper.c:869
+#: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:2602
+#: parser/parse_coerce.c:2740 parser/parse_coerce.c:2787
+#: parser/parse_expr.c:2110 parser/parse_func.c:710 parser/parse_oper.c:869
 #: utils/fmgr/funcapi.c:669
 #, c-format
 msgid "could not find array type for data type %s"
@@ -16791,83 +17397,95 @@ msgstr "Portal »%s« mit Parametern: %s"
 msgid "unnamed portal with parameters: %s"
 msgstr "unbenanntes Portal mit Parametern: %s"
 
-#: optimizer/path/joinrels.c:972
+#: optimizer/path/joinrels.c:973
 #, 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"
 
-#: optimizer/plan/createplan.c:7175 parser/parse_merge.c:203
-#: rewrite/rewriteHandler.c:1680
+#: optimizer/plan/createplan.c:7263 parser/parse_merge.c:203
+#: rewrite/rewriteHandler.c:1689
 #, c-format
 msgid "cannot execute MERGE on relation \"%s\""
 msgstr "MERGE kann für Relation »%s« nicht ausgeführt werden"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/initsplan.c:1407
+#: optimizer/plan/initsplan.c:1755
 #, 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:1380 parser/analyze.c:1771 parser/analyze.c:2029
-#: parser/analyze.c:3247
+#: optimizer/plan/planner.c:1453 parser/analyze.c:1861 parser/analyze.c:2120
+#: parser/analyze.c:3441
 #, c-format
 msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr "%s ist nicht in UNION/INTERSECT/EXCEPT erlaubt"
 
-#: optimizer/plan/planner.c:2121 optimizer/plan/planner.c:4108
+#: optimizer/plan/planner.c:2192 optimizer/plan/planner.c:4035
 #, c-format
 msgid "could not implement GROUP BY"
 msgstr "konnte GROUP BY nicht implementieren"
 
-#: optimizer/plan/planner.c:2122 optimizer/plan/planner.c:4109
-#: optimizer/plan/planner.c:4790 optimizer/prep/prepunion.c:1320
+#: optimizer/plan/planner.c:2193 optimizer/plan/planner.c:4036
+#: optimizer/plan/planner.c:4717 optimizer/prep/prepunion.c:1073
 #, 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:4789
+#: optimizer/plan/planner.c:4716
 #, c-format
 msgid "could not implement DISTINCT"
 msgstr "konnte DISTINCT nicht implementieren"
 
-#: optimizer/plan/planner.c:6134
+#: optimizer/plan/planner.c:6132
 #, c-format
 msgid "could not implement window PARTITION BY"
 msgstr "konnte PARTITION BY für Fenster nicht implementieren"
 
-#: optimizer/plan/planner.c:6135
+#: optimizer/plan/planner.c:6133
 #, c-format
 msgid "Window partitioning columns must be of sortable datatypes."
 msgstr "Fensterpartitionierungsspalten müssen sortierbare Datentypen haben."
 
-#: optimizer/plan/planner.c:6139
+#: optimizer/plan/planner.c:6137
 #, c-format
 msgid "could not implement window ORDER BY"
 msgstr "konnte ORDER BY für Fenster nicht implementieren"
 
-#: optimizer/plan/planner.c:6140
+#: optimizer/plan/planner.c:6138
 #, c-format
 msgid "Window ordering columns must be of sortable datatypes."
 msgstr "Fenstersortierspalten müssen sortierbare Datentypen haben."
 
-#: optimizer/prep/prepunion.c:467
+#: optimizer/prep/prepunion.c:440
 #, c-format
 msgid "could not implement recursive UNION"
 msgstr "konnte rekursive UNION nicht implementieren"
 
-#: optimizer/prep/prepunion.c:468
+#: optimizer/prep/prepunion.c:441
 #, 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:1319
+#. translator: %s is INTERSECT or EXCEPT
+#: optimizer/prep/prepunion.c:1071
 #, c-format
 msgid "could not implement %s"
 msgstr "konnte %s nicht implementieren"
 
-#: optimizer/util/clauses.c:4963
+#: optimizer/util/appendinfo.c:165
+#, fuzzy, c-format
+#| msgid "constraint \"%s\" of relation \"%s\" does not exist"
+msgid "attribute \"%s\" of relation \"%s\" does not match parent's type"
+msgstr "Constraint »%s« von Relation »%s« existiert nicht"
+
+#: optimizer/util/appendinfo.c:170
+#, fuzzy, c-format
+#| msgid "constraint \"%s\" of relation \"%s\" does not exist"
+msgid "attribute \"%s\" of relation \"%s\" does not match parent's collation"
+msgstr "Constraint »%s« von Relation »%s« existiert nicht"
+
+#: optimizer/util/clauses.c:4964
 #, c-format
 msgid "SQL function \"%s\" during inlining"
 msgstr "SQL-Funktion »%s« beim Inlining"
@@ -16892,668 +17510,680 @@ msgstr "Constraint in der ON-CONFLICT-Klausel hat keinen zugehörigen Index"
 msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints"
 msgstr "ON CONFLICT DO UPDATE nicht unterstützt mit Exclusion-Constraints"
 
-#: optimizer/util/plancat.c:945
+#: optimizer/util/plancat.c:952
 #, 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:824 parser/analyze.c:1550
+#: parser/analyze.c:915 parser/analyze.c:1640
 #, 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:1027
+#: parser/analyze.c:1117
 #, c-format
 msgid "INSERT has more expressions than target columns"
 msgstr "INSERT hat mehr Ausdrücke als Zielspalten"
 
-#: parser/analyze.c:1045
+#: parser/analyze.c:1135
 #, c-format
 msgid "INSERT has more target columns than expressions"
 msgstr "INSERT hat mehr Zielspalten als Ausdrücke"
 
-#: parser/analyze.c:1049
+#: parser/analyze.c:1139
 #, 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:1357 parser/analyze.c:1744
+#: parser/analyze.c:1447 parser/analyze.c:1834
 #, 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:1673 parser/analyze.c:3479
+#: parser/analyze.c:1763 parser/analyze.c:3673
 #, c-format
 msgid "%s cannot be applied to VALUES"
 msgstr "%s kann nicht auf VALUES angewendet werden"
 
-#: parser/analyze.c:1911
+#: parser/analyze.c:2001
 #, c-format
 msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
 msgstr "ungültige ORDER-BY-Klausel mit UNION/INTERSECT/EXCEPT"
 
-#: parser/analyze.c:1912
+#: parser/analyze.c:2002
 #, 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:1913
+#: parser/analyze.c:2003
 #, 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:2019
+#: parser/analyze.c:2110
 #, 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:2091
+#: parser/analyze.c:2182
 #, 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:2178
+#: parser/analyze.c:2269
 #, 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:2535
+#: parser/analyze.c:2626
 #, c-format
 msgid "SET target columns cannot be qualified with the relation name."
 msgstr "SET-Zielspalten können nicht mit dem Relationsnamen qualifiziert werden."
 
-#: parser/analyze.c:2589
+#. translator: %s is OLD or NEW
+#: parser/analyze.c:2714 parser/analyze.c:2724
+#, fuzzy, c-format
+#| msgid "NEW TABLE cannot be specified multiple times"
+msgid "%s cannot be specified multiple times"
+msgstr "NEW TABLE kann nicht mehrmals angegeben werden"
+
+#: parser/analyze.c:2736 parser/parse_relation.c:473
+#, c-format
+msgid "table name \"%s\" specified more than once"
+msgstr "Tabellenname »%s« mehrmals angegeben"
+
+#: parser/analyze.c:2784
 #, c-format
 msgid "RETURNING must have at least one column"
 msgstr "RETURNING muss mindestens eine Spalte haben"
 
-#: parser/analyze.c:2692
+#: parser/analyze.c:2886
 #, c-format
 msgid "assignment source returned %d column"
 msgid_plural "assignment source returned %d columns"
 msgstr[0] "Quelle der Wertzuweisung hat %d Spalte zurückgegeben"
 msgstr[1] "Quelle der Wertzuweisung hat %d Spalten zurückgegeben"
 
-#: parser/analyze.c:2753
+#: parser/analyze.c:2947
 #, c-format
 msgid "variable \"%s\" is of type %s but expression is of type %s"
 msgstr "Variable »%s« hat Typ %s, aber der Ausdruck hat Typ %s"
 
 #. translator: %s is a SQL keyword
-#: parser/analyze.c:2878 parser/analyze.c:2886
+#: parser/analyze.c:3072 parser/analyze.c:3080
 #, c-format
 msgid "cannot specify both %s and %s"
 msgstr "%s und %s können nicht beide angegeben werden"
 
-#: parser/analyze.c:2906
+#: parser/analyze.c:3100
 #, 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:2914
+#: parser/analyze.c:3108
 #, c-format
 msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
 msgstr "DECLARE CURSOR WITH HOLD ... %s wird nicht unterstützt"
 
-#: parser/analyze.c:2917
+#: parser/analyze.c:3111
 #, 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:2925
+#: parser/analyze.c:3119
 #, 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:2936
+#: parser/analyze.c:3130
 #, c-format
 msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid"
 msgstr "DECLARE INSENSITIVE CURSOR ... %s ist nicht gültig"
 
-#: parser/analyze.c:2939
+#: parser/analyze.c:3133
 #, c-format
 msgid "Insensitive cursors must be READ ONLY."
 msgstr "Insensitive Cursor müssen READ ONLY sein."
 
-#: parser/analyze.c:3033
+#: parser/analyze.c:3227
 #, 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:3043
+#: parser/analyze.c:3237
 #, 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:3053
+#: parser/analyze.c:3247
 #, 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:3065
+#: parser/analyze.c:3259
 #, c-format
 msgid "materialized views cannot be unlogged"
 msgstr "materialisierte Sichten können nicht ungeloggt sein"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3254
+#: parser/analyze.c:3448
 #, 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:3261
+#: parser/analyze.c:3455
 #, 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:3268
+#: parser/analyze.c:3462
 #, 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:3275
+#: parser/analyze.c:3469
 #, 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:3282
+#: parser/analyze.c:3476
 #, 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:3289
+#: parser/analyze.c:3483
 #, 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:3388
+#: parser/analyze.c:3582
 #, 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:3452
+#: parser/analyze.c:3646
 #, 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:3461
+#: parser/analyze.c:3655
 #, 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:3470
+#: parser/analyze.c:3664
 #, c-format
 msgid "%s cannot be applied to a table function"
 msgstr "%s kann nicht auf eine Tabellenfunktion angewendet werden"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: parser/analyze.c:3488
+#: parser/analyze.c:3682
 #, 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:3497
+#: parser/analyze.c:3691
 #, 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:3517
+#: parser/analyze.c:3711
 #, c-format
 msgid "relation \"%s\" in %s clause not found in FROM clause"
 msgstr "Relation »%s« in %s nicht in der FROM-Klausel gefunden"
 
-#: parser/parse_agg.c:210 parser/parse_oper.c:215
+#: parser/parse_agg.c:215 parser/parse_oper.c:215
 #, c-format
 msgid "could not identify an ordering operator for type %s"
 msgstr "konnte keine Sortieroperator für Typ %s ermitteln"
 
-#: parser/parse_agg.c:212
+#: parser/parse_agg.c:217
 #, c-format
 msgid "Aggregates with DISTINCT must be able to sort their inputs."
 msgstr "Aggregatfunktionen mit DISTINCT müssen ihre Eingaben sortieren können."
 
-#: parser/parse_agg.c:270
+#: parser/parse_agg.c:275
 #, c-format
 msgid "GROUPING must have fewer than 32 arguments"
 msgstr "GROUPING muss weniger als 32 Argumente haben"
 
-#: parser/parse_agg.c:373
+#: parser/parse_agg.c:378
 msgid "aggregate functions are not allowed in JOIN conditions"
 msgstr "Aggregatfunktionen sind in JOIN-Bedingungen nicht erlaubt"
 
-#: parser/parse_agg.c:375
+#: parser/parse_agg.c:380
 msgid "grouping operations are not allowed in JOIN conditions"
 msgstr "Gruppieroperationen sind in JOIN-Bedingungen nicht erlaubt"
 
-#: parser/parse_agg.c:385
+#: parser/parse_agg.c:390
 msgid "aggregate functions are not allowed in FROM clause of their own query level"
 msgstr "Aggregatfunktionen sind nicht in der FROM-Klausel ihrer eigenen Anfrageebene erlaubt"
 
-#: parser/parse_agg.c:387
+#: parser/parse_agg.c:392
 msgid "grouping operations are not allowed in FROM clause of their own query level"
 msgstr "Gruppieroperationen sind nicht in der FROM-Klausel ihrer eigenen Anfrageebene erlaubt"
 
-#: parser/parse_agg.c:392
+#: parser/parse_agg.c:397
 msgid "aggregate functions are not allowed in functions in FROM"
 msgstr "Aggregatfunktionen sind in Funktionen in FROM nicht erlaubt"
 
-#: parser/parse_agg.c:394
+#: parser/parse_agg.c:399
 msgid "grouping operations are not allowed in functions in FROM"
 msgstr "Gruppieroperationen sind in Funktionen in FROM nicht erlaubt"
 
-#: parser/parse_agg.c:402
+#: parser/parse_agg.c:407
 msgid "aggregate functions are not allowed in policy expressions"
 msgstr "Aggregatfunktionen sind in Policy-Ausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:404
+#: parser/parse_agg.c:409
 msgid "grouping operations are not allowed in policy expressions"
 msgstr "Gruppieroperationen sind in Policy-Ausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:421
+#: parser/parse_agg.c:426
 msgid "aggregate functions are not allowed in window RANGE"
 msgstr "Aggregatfunktionen sind in der Fenster-RANGE-Klausel nicht erlaubt"
 
-#: parser/parse_agg.c:423
+#: parser/parse_agg.c:428
 msgid "grouping operations are not allowed in window RANGE"
 msgstr "Gruppieroperationen sind in der Fenster-RANGE-Klausel nicht erlaubt"
 
-#: parser/parse_agg.c:428
+#: parser/parse_agg.c:433
 msgid "aggregate functions are not allowed in window ROWS"
 msgstr "Aggregatfunktionen sind in der Fenster-ROWS-Klausel nicht erlaubt"
 
-#: parser/parse_agg.c:430
+#: parser/parse_agg.c:435
 msgid "grouping operations are not allowed in window ROWS"
 msgstr "Gruppieroperationen sind in der Fenster-ROWS-Klausel nicht erlaubt"
 
-#: parser/parse_agg.c:435
+#: parser/parse_agg.c:440
 msgid "aggregate functions are not allowed in window GROUPS"
 msgstr "Aggregatfunktionen sind in der Fenster-GROUPS-Klausel nicht erlaubt"
 
-#: parser/parse_agg.c:437
+#: parser/parse_agg.c:442
 msgid "grouping operations are not allowed in window GROUPS"
 msgstr "Gruppieroperationen sind in der Fenster-GROUPS-Klausel nicht erlaubt"
 
-#: parser/parse_agg.c:450
+#: parser/parse_agg.c:455
 msgid "aggregate functions are not allowed in MERGE WHEN conditions"
 msgstr "Aggregatfunktionen sind in MERGE-WHEN-Bedingungen nicht erlaubt"
 
-#: parser/parse_agg.c:452
+#: parser/parse_agg.c:457
 msgid "grouping operations are not allowed in MERGE WHEN conditions"
 msgstr "Gruppieroperationen sind in MERGE-WHEN-Bedingungen nicht erlaubt"
 
-#: parser/parse_agg.c:479
+#: parser/parse_agg.c:484
 msgid "aggregate functions are not allowed in check constraints"
 msgstr "Aggregatfunktionen sind in Check-Constraints nicht erlaubt"
 
-#: parser/parse_agg.c:481
+#: parser/parse_agg.c:486
 msgid "grouping operations are not allowed in check constraints"
 msgstr "Gruppieroperationen sind in Check-Constraints nicht erlaubt"
 
-#: parser/parse_agg.c:488
+#: parser/parse_agg.c:493
 msgid "aggregate functions are not allowed in DEFAULT expressions"
 msgstr "Aggregatfunktionen sind in DEFAULT-Ausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:490
+#: parser/parse_agg.c:495
 msgid "grouping operations are not allowed in DEFAULT expressions"
 msgstr "Gruppieroperationen sind in DEFAULT-Ausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:495
+#: parser/parse_agg.c:500
 msgid "aggregate functions are not allowed in index expressions"
 msgstr "Aggregatfunktionen sind in Indexausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:497
+#: parser/parse_agg.c:502
 msgid "grouping operations are not allowed in index expressions"
 msgstr "Gruppieroperationen sind in Indexausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:502
+#: parser/parse_agg.c:507
 msgid "aggregate functions are not allowed in index predicates"
 msgstr "Aggregatfunktionen sind in Indexprädikaten nicht erlaubt"
 
-#: parser/parse_agg.c:504
+#: parser/parse_agg.c:509
 msgid "grouping operations are not allowed in index predicates"
 msgstr "Gruppieroperationen sind in Indexprädikaten nicht erlaubt"
 
-#: parser/parse_agg.c:509
+#: parser/parse_agg.c:514
 msgid "aggregate functions are not allowed in statistics expressions"
 msgstr "Aggregatfunktionen sind in Statistikausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:511
+#: parser/parse_agg.c:516
 msgid "grouping operations are not allowed in statistics expressions"
 msgstr "Gruppieroperationen sind in Statistikausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:516
+#: parser/parse_agg.c:521
 msgid "aggregate functions are not allowed in transform expressions"
 msgstr "Aggregatfunktionen sind in Umwandlungsausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:518
+#: parser/parse_agg.c:523
 msgid "grouping operations are not allowed in transform expressions"
 msgstr "Gruppieroperationen sind in Umwandlungsausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:523
+#: parser/parse_agg.c:528
 msgid "aggregate functions are not allowed in EXECUTE parameters"
 msgstr "Aggregatfunktionen sind in EXECUTE-Parametern nicht erlaubt"
 
-#: parser/parse_agg.c:525
+#: parser/parse_agg.c:530
 msgid "grouping operations are not allowed in EXECUTE parameters"
 msgstr "Gruppieroperationen sind in EXECUTE-Parametern nicht erlaubt"
 
-#: parser/parse_agg.c:530
+#: parser/parse_agg.c:535
 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:532
+#: parser/parse_agg.c:537
 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:537
+#: parser/parse_agg.c:542
 msgid "aggregate functions are not allowed in partition bound"
 msgstr "Aggregatfunktionen sind in Partitionsbegrenzungen nicht erlaubt"
 
-#: parser/parse_agg.c:539
+#: parser/parse_agg.c:544
 msgid "grouping operations are not allowed in partition bound"
 msgstr "Gruppieroperationen sind in Partitionsbegrenzungen nicht erlaubt"
 
-#: parser/parse_agg.c:544
+#: parser/parse_agg.c:549
 msgid "aggregate functions are not allowed in partition key expressions"
 msgstr "Aggregatfunktionen sind in Partitionierungsschlüsselausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:546
+#: parser/parse_agg.c:551
 msgid "grouping operations are not allowed in partition key expressions"
 msgstr "Gruppieroperationen sind in Partitionierungsschlüsselausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:552
+#: parser/parse_agg.c:557
 msgid "aggregate functions are not allowed in column generation expressions"
 msgstr "Aggregatfunktionen sind in Spaltengenerierungsausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:554
+#: parser/parse_agg.c:559
 msgid "grouping operations are not allowed in column generation expressions"
 msgstr "Gruppieroperationen sind in Spaltengenerierungsausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:560
+#: parser/parse_agg.c:565
 msgid "aggregate functions are not allowed in CALL arguments"
 msgstr "Aggregatfunktionen sind in CALL-Argumenten nicht erlaubt"
 
-#: parser/parse_agg.c:562
+#: parser/parse_agg.c:567
 msgid "grouping operations are not allowed in CALL arguments"
 msgstr "Gruppieroperationen sind in CALL-Argumenten nicht erlaubt"
 
-#: parser/parse_agg.c:568
+#: parser/parse_agg.c:573
 msgid "aggregate functions are not allowed in COPY FROM WHERE conditions"
 msgstr "Aggregatfunktionen sind in COPY-FROM-WHERE-Bedingungen nicht erlaubt"
 
-#: parser/parse_agg.c:570
+#: parser/parse_agg.c:575
 msgid "grouping operations are not allowed in COPY FROM WHERE conditions"
 msgstr "Gruppieroperationen sind in COPY-FROM-WHERE-Bedingungen nicht erlaubt"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:597 parser/parse_clause.c:1962
+#: parser/parse_agg.c:602 parser/parse_clause.c:1962
 #, 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:600
+#: parser/parse_agg.c:605
 #, c-format
 msgid "grouping operations are not allowed in %s"
 msgstr "Gruppieroperationen sind in %s nicht erlaubt"
 
-#: parser/parse_agg.c:701
+#: parser/parse_agg.c:706
 #, 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:779
+#: parser/parse_agg.c:784
 #, 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:780 parser/parse_expr.c:1762 parser/parse_expr.c:2245
+#: parser/parse_agg.c:785 parser/parse_expr.c:1760 parser/parse_expr.c:2243
 #: parser/parse_func.c:885
 #, 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:785
+#: parser/parse_agg.c:790
 #, 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:864
+#: parser/parse_agg.c:869
 msgid "window functions are not allowed in JOIN conditions"
 msgstr "Fensterfunktionen sind in JOIN-Bedingungen nicht erlaubt"
 
-#: parser/parse_agg.c:871
+#: parser/parse_agg.c:876
 msgid "window functions are not allowed in functions in FROM"
 msgstr "Fensterfunktionen sind in Funktionen in FROM nicht erlaubt"
 
-#: parser/parse_agg.c:877
+#: parser/parse_agg.c:882
 msgid "window functions are not allowed in policy expressions"
 msgstr "Fensterfunktionen sind in Policy-Ausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:890
+#: parser/parse_agg.c:895
 msgid "window functions are not allowed in window definitions"
 msgstr "Fensterfunktionen sind in Fensterdefinitionen nicht erlaubt"
 
-#: parser/parse_agg.c:901
+#: parser/parse_agg.c:906
 msgid "window functions are not allowed in MERGE WHEN conditions"
 msgstr "Fensterfunktionen sind in MERGE-WHEN-Bedingungen nicht erlaubt"
 
-#: parser/parse_agg.c:926
+#: parser/parse_agg.c:931
 msgid "window functions are not allowed in check constraints"
 msgstr "Fensterfunktionen sind in Check-Constraints nicht erlaubt"
 
-#: parser/parse_agg.c:930
+#: parser/parse_agg.c:935
 msgid "window functions are not allowed in DEFAULT expressions"
 msgstr "Fensterfunktionen sind in DEFAULT-Ausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:933
+#: parser/parse_agg.c:938
 msgid "window functions are not allowed in index expressions"
 msgstr "Fensterfunktionen sind in Indexausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:936
+#: parser/parse_agg.c:941
 msgid "window functions are not allowed in statistics expressions"
 msgstr "Fensterfunktionen sind in Statistikausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:939
+#: parser/parse_agg.c:944
 msgid "window functions are not allowed in index predicates"
 msgstr "Fensterfunktionen sind in Indexprädikaten nicht erlaubt"
 
-#: parser/parse_agg.c:942
+#: parser/parse_agg.c:947
 msgid "window functions are not allowed in transform expressions"
 msgstr "Fensterfunktionen sind in Umwandlungsausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:945
+#: parser/parse_agg.c:950
 msgid "window functions are not allowed in EXECUTE parameters"
 msgstr "Fensterfunktionen sind in EXECUTE-Parametern nicht erlaubt"
 
-#: parser/parse_agg.c:948
+#: parser/parse_agg.c:953
 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:951
+#: parser/parse_agg.c:956
 msgid "window functions are not allowed in partition bound"
 msgstr "Fensterfunktionen sind in Partitionsbegrenzungen nicht erlaubt"
 
-#: parser/parse_agg.c:954
+#: parser/parse_agg.c:959
 msgid "window functions are not allowed in partition key expressions"
 msgstr "Fensterfunktionen sind in Partitionierungsschlüsselausdrücken nicht erlaubt"
 
-#: parser/parse_agg.c:957
+#: parser/parse_agg.c:962
 msgid "window functions are not allowed in CALL arguments"
 msgstr "Fensterfunktionen sind in CALL-Argumenten nicht erlaubt"
 
-#: parser/parse_agg.c:960
+#: parser/parse_agg.c:965
 msgid "window functions are not allowed in COPY FROM WHERE conditions"
 msgstr "Fensterfunktionen sind in COPY-FROM-WHERE-Bedingungen nicht erlaubt"
 
-#: parser/parse_agg.c:963
+#: parser/parse_agg.c:968
 msgid "window functions are not allowed in column generation expressions"
 msgstr "Fensterfunktionen sind in Spaltengenerierungsausdrücken nicht erlaubt"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:986 parser/parse_clause.c:1971
+#: parser/parse_agg.c:991 parser/parse_clause.c:1971
 #, c-format
 msgid "window functions are not allowed in %s"
 msgstr "Fensterfunktionen sind in %s nicht erlaubt"
 
-#: parser/parse_agg.c:1020 parser/parse_clause.c:2804
+#: parser/parse_agg.c:1025 parser/parse_clause.c:2804
 #, c-format
 msgid "window \"%s\" does not exist"
 msgstr "Fenster »%s« existiert nicht"
 
-#: parser/parse_agg.c:1108
+#: parser/parse_agg.c:1115
 #, c-format
 msgid "too many grouping sets present (maximum 4096)"
 msgstr "zu viele Grouping-Sets vorhanden (maximal 4096)"
 
-#: parser/parse_agg.c:1248
+#: parser/parse_agg.c:1276
 #, 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:1441
+#: parser/parse_agg.c:1499
 #, 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:1444
+#: parser/parse_agg.c:1502
 #, 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:1449
+#: parser/parse_agg.c:1507
 #, 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:1613
+#: parser/parse_agg.c:1672
 #, 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:193
+#: parser/parse_clause.c:191
 #, 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:569 parser/parse_clause.c:597 parser/parse_func.c:2553
+#: parser/parse_clause.c:567 parser/parse_clause.c:595 parser/parse_func.c:2553
 #, 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:609
+#: parser/parse_clause.c:607
 #, 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:642
+#: parser/parse_clause.c:640
 #, 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:643
+#: parser/parse_clause.c:641
 #, 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:649
+#: parser/parse_clause.c:647
 #, 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:650
+#: parser/parse_clause.c:648
 #, 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:657
+#: parser/parse_clause.c:655
 #, 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:658
+#: parser/parse_clause.c:656
 #, 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:762 parser/parse_jsontable.c:295
+#: parser/parse_clause.c:760 parser/parse_jsontable.c:293
 #, c-format
 msgid "only one FOR ORDINALITY column is allowed"
 msgstr "nur eine FOR-ORDINALITY-Spalte ist erlaubt"
 
-#: parser/parse_clause.c:823
+#: parser/parse_clause.c:821
 #, c-format
 msgid "column name \"%s\" is not unique"
 msgstr "Spaltenname »%s« ist nicht eindeutig"
 
-#: parser/parse_clause.c:865
+#: parser/parse_clause.c:863
 #, c-format
 msgid "namespace name \"%s\" is not unique"
 msgstr "Namensraumname »%s« ist nicht eindeutig"
 
-#: parser/parse_clause.c:875
+#: parser/parse_clause.c:873
 #, c-format
 msgid "only one default namespace is allowed"
 msgstr "nur ein Standardnamensraum ist erlaubt"
 
-#: parser/parse_clause.c:935
+#: parser/parse_clause.c:933
 #, c-format
 msgid "tablesample method %s does not exist"
 msgstr "Tablesample-Methode %s existiert nicht"
 
-#: parser/parse_clause.c:957
+#: parser/parse_clause.c:955
 #, 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:991
+#: parser/parse_clause.c:989
 #, c-format
 msgid "tablesample method %s does not support REPEATABLE"
 msgstr "Tablesample-Methode %s unterstützt REPEATABLE nicht"
 
-#: parser/parse_clause.c:1144
+#: parser/parse_clause.c:1142
 #, 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:1331
+#: parser/parse_clause.c:1329
 #, 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:1346
+#: parser/parse_clause.c:1344
 #, 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:1355
+#: parser/parse_clause.c:1353
 #, 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:1370
+#: parser/parse_clause.c:1368
 #, 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:1379
+#: parser/parse_clause.c:1377
 #, 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"
@@ -17692,184 +18322,184 @@ msgstr "Operator %s ist kein gültiger Sortieroperator"
 msgid "Ordering operators must be \"<\" or \">\" members of btree operator families."
 msgstr "Sortieroperatoren müssen die Mitglieder »<« oder »>« einer »btree«-Operatorfamilie sein."
 
-#: parser/parse_clause.c:3775
+#: parser/parse_clause.c:3778
 #, c-format
 msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s"
 msgstr "RANGE mit Offset PRECEDING/FOLLOWING wird für Spaltentyp %s nicht unterstützt"
 
-#: parser/parse_clause.c:3781
+#: parser/parse_clause.c:3784
 #, c-format
 msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s and offset type %s"
 msgstr "RANGE mit Offset PRECEDING/FOLLOWING wird für Spaltentyp %s und Offset-Typ %s nicht unterstützt"
 
-#: parser/parse_clause.c:3784
+#: parser/parse_clause.c:3787
 #, c-format
 msgid "Cast the offset value to an appropriate type."
 msgstr "Wandeln Sie den Offset-Wert in einen passenden Typ um."
 
-#: parser/parse_clause.c:3789
+#: parser/parse_clause.c:3792
 #, c-format
 msgid "RANGE with offset PRECEDING/FOLLOWING has multiple interpretations for column type %s and offset type %s"
 msgstr "RANGE mit Offset PRECEDING/FOLLOWING hat mehrere Interpretationen für Spaltentyp %s und Offset-Typ %s"
 
-#: parser/parse_clause.c:3792
+#: parser/parse_clause.c:3795
 #, c-format
 msgid "Cast the offset value to the exact intended type."
 msgstr "Wandeln Sie den Offset-Wert in den genauen beabsichtigten Typ um."
 
-#: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088
-#: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121
-#: parser/parse_expr.c:2146 parser/parse_expr.c:2754 parser/parse_expr.c:3405
-#: parser/parse_expr.c:3634 parser/parse_target.c:998
+#: parser/parse_coerce.c:1048 parser/parse_coerce.c:1086
+#: parser/parse_coerce.c:1104 parser/parse_coerce.c:1119
+#: parser/parse_expr.c:2144 parser/parse_expr.c:2762 parser/parse_expr.c:3413
+#: parser/parse_expr.c:3642 parser/parse_target.c:1001
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "kann Typ %s nicht in Typ %s umwandeln"
 
-#: parser/parse_coerce.c:1091
+#: parser/parse_coerce.c:1089
 #, c-format
 msgid "Input has too few columns."
 msgstr "Eingabe hat zu wenige Spalten."
 
-#: parser/parse_coerce.c:1109
+#: parser/parse_coerce.c:1107
 #, 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:1124
+#: parser/parse_coerce.c:1122
 #, 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:1179 parser/parse_coerce.c:1227
+#: parser/parse_coerce.c:1177 parser/parse_coerce.c:1225
 #, 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:1190 parser/parse_coerce.c:1239
+#: parser/parse_coerce.c:1188 parser/parse_coerce.c:1237
 #, 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:1420
+#: parser/parse_coerce.c:1418
 #, c-format
 msgid "%s types %s and %s cannot be matched"
 msgstr "%s-Typen %s und %s passen nicht zusammen"
 
-#: parser/parse_coerce.c:1536
+#: parser/parse_coerce.c:1534
 #, c-format
 msgid "argument types %s and %s cannot be matched"
 msgstr "Argumenttypen %s und %s passen nicht zusammen"
 
 #. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:1588
+#: parser/parse_coerce.c:1586
 #, c-format
 msgid "%s could not convert type %s to %s"
 msgstr "%s konnte Typ %s nicht in %s umwandeln"
 
-#: parser/parse_coerce.c:2191 parser/parse_coerce.c:2211
-#: parser/parse_coerce.c:2231 parser/parse_coerce.c:2252
-#: parser/parse_coerce.c:2307 parser/parse_coerce.c:2341
+#: parser/parse_coerce.c:2189 parser/parse_coerce.c:2209
+#: parser/parse_coerce.c:2229 parser/parse_coerce.c:2250
+#: parser/parse_coerce.c:2305 parser/parse_coerce.c:2339
 #, c-format
 msgid "arguments declared \"%s\" are not all alike"
 msgstr "als »%s« deklarierte Argumente sind nicht alle gleich"
 
-#: parser/parse_coerce.c:2286 parser/parse_coerce.c:2399
+#: parser/parse_coerce.c:2284 parser/parse_coerce.c:2397
 #: utils/fmgr/funcapi.c:600
 #, c-format
 msgid "argument declared %s is not an array but type %s"
 msgstr "als %s deklariertes Argument ist kein Array sondern Typ %s"
 
-#: parser/parse_coerce.c:2319 parser/parse_coerce.c:2469
+#: parser/parse_coerce.c:2317 parser/parse_coerce.c:2467
 #: utils/fmgr/funcapi.c:614
 #, c-format
 msgid "argument declared %s is not a range type but type %s"
 msgstr "als %s deklariertes Argument ist kein Bereichstyp sondern Typ %s"
 
-#: parser/parse_coerce.c:2353 parser/parse_coerce.c:2433
-#: parser/parse_coerce.c:2566 utils/fmgr/funcapi.c:632 utils/fmgr/funcapi.c:697
+#: parser/parse_coerce.c:2351 parser/parse_coerce.c:2431
+#: parser/parse_coerce.c:2564 utils/fmgr/funcapi.c:632 utils/fmgr/funcapi.c:697
 #, c-format
 msgid "argument declared %s is not a multirange type but type %s"
 msgstr "als %s deklariertes Argument ist kein Multirange-Typ sondern Typ %s"
 
-#: parser/parse_coerce.c:2390
+#: parser/parse_coerce.c:2388
 #, c-format
 msgid "cannot determine element type of \"anyarray\" argument"
 msgstr "kann Elementtyp des Arguments mit Typ »anyarray« nicht bestimmen"
 
-#: parser/parse_coerce.c:2416 parser/parse_coerce.c:2447
-#: parser/parse_coerce.c:2486 parser/parse_coerce.c:2552
+#: parser/parse_coerce.c:2414 parser/parse_coerce.c:2445
+#: parser/parse_coerce.c:2484 parser/parse_coerce.c:2550
 #, c-format
 msgid "argument declared %s is not consistent with argument declared %s"
 msgstr "als %s deklariertes Argument ist nicht mit als %s deklariertem Argument konsistent"
 
-#: parser/parse_coerce.c:2511
+#: parser/parse_coerce.c:2509
 #, c-format
 msgid "could not determine polymorphic type because input has type %s"
 msgstr "konnte polymorphischen Typ nicht bestimmen, weil Eingabe Typ %s hat"
 
-#: parser/parse_coerce.c:2525
+#: parser/parse_coerce.c:2523
 #, 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:2535
+#: parser/parse_coerce.c:2533
 #, 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:2596
+#: parser/parse_coerce.c:2594
 #, c-format
 msgid "arguments of anycompatible family cannot be cast to a common type"
 msgstr "Argumente der anycompatible-Familie können nicht in einen gemeinsamen Typ umgewandelt werden"
 
-#: parser/parse_coerce.c:2614 parser/parse_coerce.c:2635
-#: parser/parse_coerce.c:2685 parser/parse_coerce.c:2690
-#: parser/parse_coerce.c:2754 parser/parse_coerce.c:2766
+#: parser/parse_coerce.c:2612 parser/parse_coerce.c:2633
+#: parser/parse_coerce.c:2683 parser/parse_coerce.c:2688
+#: parser/parse_coerce.c:2752 parser/parse_coerce.c:2764
 #, c-format
 msgid "could not determine polymorphic type %s because input has type %s"
 msgstr "konnte polymorphischen Typ %s nicht bestimmen, weil Eingabe Typ %s hat"
 
-#: parser/parse_coerce.c:2624
+#: parser/parse_coerce.c:2622
 #, c-format
 msgid "anycompatiblerange type %s does not match anycompatible type %s"
 msgstr "anycompatiblerange-Typ %s stimmt nicht mit anycompatible-Typ %s überein"
 
-#: parser/parse_coerce.c:2645
+#: parser/parse_coerce.c:2643
 #, c-format
 msgid "anycompatiblemultirange type %s does not match anycompatible type %s"
 msgstr "anycompatiblemultirange-Typ %s stimmt nicht mit anycompatible-Typ %s überein"
 
-#: parser/parse_coerce.c:2659
+#: parser/parse_coerce.c:2657
 #, c-format
 msgid "type matched to anycompatiblenonarray is an array type: %s"
 msgstr "mit »anycompatiblenonarray« gepaarter Typ ist ein Array-Typ: %s"
 
-#: parser/parse_coerce.c:2894
+#: parser/parse_coerce.c:2892
 #, c-format
 msgid "A result of type %s requires at least one input of type anyrange or anymultirange."
 msgstr "Ein Ergebnis mit Typ %s benötigt mindestens eine Eingabe mit Typ anyrange oder anymultirange."
 
-#: parser/parse_coerce.c:2911
+#: parser/parse_coerce.c:2909
 #, c-format
 msgid "A result of type %s requires at least one input of type anycompatiblerange or anycompatiblemultirange."
 msgstr "Ein Ergebnis mit Typ %s benötigt mindestens eine Eingabe mit Typ anycompatiblerange oder anycompatiblemultirange."
 
-#: parser/parse_coerce.c:2923
+#: parser/parse_coerce.c:2921
 #, c-format
 msgid "A result of type %s requires at least one input of type anyelement, anyarray, anynonarray, anyenum, anyrange, or anymultirange."
 msgstr "Ein Ergebnis mit Typ %s benötigt mindestens eine Eingabe mit Typ anyelement, anyarray, anynonarray, anyenum, anyrange oder anymultirange."
 
-#: parser/parse_coerce.c:2935
+#: parser/parse_coerce.c:2933
 #, c-format
 msgid "A result of type %s requires at least one input of type anycompatible, anycompatiblearray, anycompatiblenonarray, anycompatiblerange, or anycompatiblemultirange."
 msgstr "Ein Ergebnis mit Typ %s benötigt mindestens eine Eingabe mit Typ anycompatible, anycompatiblearray, anycompatiblenonarray, anycompatiblerange oder anycompatiblemultirange."
 
-#: parser/parse_coerce.c:2965
+#: parser/parse_coerce.c:2963
 msgid "A result of type internal requires at least one input of type internal."
 msgstr "Ein Ergebnis mit Typ internal benötigt mindestens eine Eingabe mit Typ internal."
 
@@ -18060,334 +18690,334 @@ 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:313
+#: parser/parse_expr.c:311
 #, c-format
 msgid "DEFAULT is not allowed in this context"
 msgstr "DEFAULT ist in diesem Zusammenhang nicht erlaubt"
 
-#: parser/parse_expr.c:406 parser/parse_relation.c:3691
-#: parser/parse_relation.c:3701 parser/parse_relation.c:3719
-#: parser/parse_relation.c:3726 parser/parse_relation.c:3740
+#: parser/parse_expr.c:404 parser/parse_relation.c:3797
+#: parser/parse_relation.c:3807 parser/parse_relation.c:3825
+#: parser/parse_relation.c:3832 parser/parse_relation.c:3846
 #, c-format
 msgid "column %s.%s does not exist"
 msgstr "Spalte %s.%s existiert nicht"
 
-#: parser/parse_expr.c:418
+#: parser/parse_expr.c:416
 #, c-format
 msgid "column \"%s\" not found in data type %s"
 msgstr "Spalte »%s« nicht gefunden im Datentyp %s"
 
-#: parser/parse_expr.c:424
+#: parser/parse_expr.c:422
 #, 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:430
+#: parser/parse_expr.c:428
 #, 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:461 parser/parse_target.c:732
+#: parser/parse_expr.c:459 parser/parse_target.c:735
 #, c-format
 msgid "row expansion via \"*\" is not supported here"
 msgstr "Zeilenexpansion mit »*« wird hier nicht unterstützt"
 
-#: parser/parse_expr.c:584
+#: parser/parse_expr.c:582
 msgid "cannot use column reference in DEFAULT expression"
 msgstr "Spaltenverweise können nicht in DEFAULT-Ausdrücken verwendet werden"
 
-#: parser/parse_expr.c:587
+#: parser/parse_expr.c:585
 msgid "cannot use column reference in partition bound expression"
 msgstr "Spaltenverweise können nicht in Partitionsbegrenzungsausdrücken verwendet werden"
 
-#: parser/parse_expr.c:846 parser/parse_relation.c:833
-#: parser/parse_relation.c:915 parser/parse_target.c:1238
+#: parser/parse_expr.c:844 parser/parse_relation.c:848
+#: parser/parse_relation.c:930 parser/parse_target.c:1241
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "Spaltenverweis »%s« ist nicht eindeutig"
 
-#: parser/parse_expr.c:902 parser/parse_param.c:110 parser/parse_param.c:142
-#: parser/parse_param.c:204 parser/parse_param.c:303
+#: parser/parse_expr.c:900 parser/parse_param.c:111 parser/parse_param.c:143
+#: parser/parse_param.c:205 parser/parse_param.c:304
 #, c-format
 msgid "there is no parameter $%d"
 msgstr "es gibt keinen Parameter $%d"
 
 #. translator: %s is name of a SQL construct, eg NULLIF
-#: parser/parse_expr.c:1103 parser/parse_expr.c:3065
+#: parser/parse_expr.c:1101 parser/parse_expr.c:3073
 #, c-format
 msgid "%s requires = operator to yield boolean"
 msgstr "%s erfordert, dass Operator = boolean ergibt"
 
 #. translator: %s is name of a SQL construct, eg NULLIF
-#: parser/parse_expr.c:1109 parser/parse_expr.c:3072
+#: parser/parse_expr.c:1107 parser/parse_expr.c:3080
 #, c-format
 msgid "%s must not return a set"
 msgstr "%s darf keine Ergebnismenge zurückgeben"
 
-#: parser/parse_expr.c:1395
+#: parser/parse_expr.c:1393
 #, c-format
 msgid "MERGE_ACTION() can only be used in the RETURNING list of a MERGE command"
 msgstr "MERGE_ACTION() kann nur in der RETURNING-Liste eines MERGE-Befehls verwendet werden"
 
-#: parser/parse_expr.c:1519 parser/parse_expr.c:1551
+#: parser/parse_expr.c:1517 parser/parse_expr.c:1549
 #, 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:1565
+#: parser/parse_expr.c:1563
 #, c-format
 msgid "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression"
 msgstr "die Quelle für ein UPDATE-Element mit mehreren Spalten muss ein Sub-SELECT oder ein ROW()-Ausdruck sein"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_expr.c:1760 parser/parse_expr.c:2243 parser/parse_func.c:2679
+#: parser/parse_expr.c:1758 parser/parse_expr.c:2241 parser/parse_func.c:2679
 #, c-format
 msgid "set-returning functions are not allowed in %s"
 msgstr "Funktionen mit Ergebnismenge sind in %s nicht erlaubt"
 
-#: parser/parse_expr.c:1824
+#: parser/parse_expr.c:1822
 msgid "cannot use subquery in check constraint"
 msgstr "Unteranfragen können nicht in Check-Constraints verwendet werden"
 
-#: parser/parse_expr.c:1828
+#: parser/parse_expr.c:1826
 msgid "cannot use subquery in DEFAULT expression"
 msgstr "Unteranfragen können nicht in DEFAULT-Ausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1831
+#: parser/parse_expr.c:1829
 msgid "cannot use subquery in index expression"
 msgstr "Unteranfragen können nicht in Indexausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1834
+#: parser/parse_expr.c:1832
 msgid "cannot use subquery in index predicate"
 msgstr "Unteranfragen können nicht im Indexprädikat verwendet werden"
 
-#: parser/parse_expr.c:1837
+#: parser/parse_expr.c:1835
 msgid "cannot use subquery in statistics expression"
 msgstr "Unteranfragen können nicht in Statistikausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1840
+#: 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:1843
+#: 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:1846
+#: 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:1849
+#: parser/parse_expr.c:1847
 msgid "cannot use subquery in partition bound"
 msgstr "Unteranfragen können nicht in Partitionsbegrenzungen verwendet werden"
 
-#: parser/parse_expr.c:1852
+#: parser/parse_expr.c:1850
 msgid "cannot use subquery in partition key expression"
 msgstr "Unteranfragen können nicht in Partitionierungsschlüsselausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1855
+#: parser/parse_expr.c:1853
 msgid "cannot use subquery in CALL argument"
 msgstr "Unteranfragen können nicht in CALL-Argument verwendet werden"
 
-#: parser/parse_expr.c:1858
+#: parser/parse_expr.c:1856
 msgid "cannot use subquery in COPY FROM WHERE condition"
 msgstr "Unteranfragen können nicht in COPY-FROM-WHERE-Bedingungen verwendet werden"
 
-#: parser/parse_expr.c:1861
+#: parser/parse_expr.c:1859
 msgid "cannot use subquery in column generation expression"
 msgstr "Unteranfragen können nicht in Spaltengenerierungsausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1914 parser/parse_expr.c:3764
+#: parser/parse_expr.c:1912 parser/parse_expr.c:3772
 #, c-format
 msgid "subquery must return only one column"
 msgstr "Unteranfrage darf nur eine Spalte zurückgeben"
 
-#: parser/parse_expr.c:1985
+#: parser/parse_expr.c:1983
 #, c-format
 msgid "subquery has too many columns"
 msgstr "Unteranfrage hat zu viele Spalten"
 
-#: parser/parse_expr.c:1990
+#: parser/parse_expr.c:1988
 #, c-format
 msgid "subquery has too few columns"
 msgstr "Unteranfrage hat zu wenige Spalten"
 
-#: parser/parse_expr.c:2086
+#: parser/parse_expr.c:2084
 #, c-format
 msgid "cannot determine type of empty array"
 msgstr "kann Typ eines leeren Arrays nicht bestimmen"
 
-#: parser/parse_expr.c:2087
+#: parser/parse_expr.c:2085
 #, 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:2101
+#: parser/parse_expr.c:2099
 #, 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:2184
+#: parser/parse_expr.c:2182
 #, c-format
 msgid "ROW expressions can have at most %d entries"
 msgstr "ROW-Ausdrücke können höchstens %d Einträge haben"
 
-#: parser/parse_expr.c:2389
+#: parser/parse_expr.c:2387
 #, c-format
 msgid "unnamed XML attribute value must be a column reference"
 msgstr "unbenannter XML-Attributwert muss ein Spaltenverweis sein"
 
-#: parser/parse_expr.c:2390
+#: parser/parse_expr.c:2388
 #, c-format
 msgid "unnamed XML element value must be a column reference"
 msgstr "unbenannter XML-Elementwert muss ein Spaltenverweis sein"
 
-#: parser/parse_expr.c:2405
+#: parser/parse_expr.c:2403
 #, c-format
 msgid "XML attribute name \"%s\" appears more than once"
 msgstr "XML-Attributname »%s« einscheint mehrmals"
 
-#: parser/parse_expr.c:2513
+#: parser/parse_expr.c:2511
 #, c-format
 msgid "cannot cast XMLSERIALIZE result to %s"
 msgstr "kann das Ergebnis von XMLSERIALIZE nicht in Typ %s umwandeln"
 
-#: parser/parse_expr.c:2827 parser/parse_expr.c:3023
+#: parser/parse_expr.c:2835 parser/parse_expr.c:3031
 #, c-format
 msgid "unequal number of entries in row expressions"
 msgstr "ungleiche Anzahl Einträge in Zeilenausdrücken"
 
-#: parser/parse_expr.c:2837
+#: parser/parse_expr.c:2845
 #, c-format
 msgid "cannot compare rows of zero length"
 msgstr "kann Zeilen mit Länge null nicht vergleichen"
 
-#: parser/parse_expr.c:2862
+#: parser/parse_expr.c:2870
 #, 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:2869
+#: parser/parse_expr.c:2877
 #, c-format
 msgid "row comparison operator must not return a set"
 msgstr "Zeilenvergleichsoperator darf keine Ergebnismenge zurückgeben"
 
-#: parser/parse_expr.c:2928 parser/parse_expr.c:2969
+#: parser/parse_expr.c:2936 parser/parse_expr.c:2977
 #, c-format
 msgid "could not determine interpretation of row comparison operator %s"
 msgstr "konnte Interpretation des Zeilenvergleichsoperators %s nicht bestimmen"
 
-#: parser/parse_expr.c:2930
+#: parser/parse_expr.c:2938
 #, 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:2971
+#: parser/parse_expr.c:2979
 #, c-format
 msgid "There are multiple equally-plausible candidates."
 msgstr "Es gibt mehrere gleichermaßen plausible Kandidaten."
 
-#: parser/parse_expr.c:3306
+#: parser/parse_expr.c:3314
 #, c-format
 msgid "JSON ENCODING clause is only allowed for bytea input type"
 msgstr "JSON-ENCODING-Klausel ist nur für Eingabetyp bytea erlaubt"
 
-#: parser/parse_expr.c:3370
+#: parser/parse_expr.c:3378
 #, c-format
 msgid "cannot use non-string types with implicit FORMAT JSON clause"
 msgstr "implizite FORMAT-JSON-Klausel kann nicht mit Typen verwendet werden, die keine Zeichenketten sind"
 
-#: parser/parse_expr.c:3371
+#: parser/parse_expr.c:3379
 #, c-format
 msgid "cannot use non-string types with explicit FORMAT JSON clause"
 msgstr "explizite FORMAT-JSON-Klausel kann nicht mit Typen verwendet werden, die keine Zeichenketten sind"
 
-#: parser/parse_expr.c:3460
+#: parser/parse_expr.c:3468
 #, c-format
 msgid "cannot use JSON format with non-string output types"
 msgstr "Format JSON kann nicht mit Ausgabetypen verwendet werden, die keine Zeichenketten sind"
 
-#: parser/parse_expr.c:3473
+#: parser/parse_expr.c:3481
 #, c-format
 msgid "cannot set JSON encoding for non-bytea output types"
 msgstr "JSON-Kodierung kann nur für Ausgabetyp bytea gesetzt werden"
 
-#: parser/parse_expr.c:3478
+#: parser/parse_expr.c:3486
 #, c-format
 msgid "unsupported JSON encoding"
 msgstr "nicht unterstützte JSON-Kodierung"
 
-#: parser/parse_expr.c:3479
+#: parser/parse_expr.c:3487
 #, c-format
 msgid "Only UTF8 JSON encoding is supported."
 msgstr "Nur die JSON-Kodierung UTF8 wird unterstützt."
 
-#: parser/parse_expr.c:3516
+#: parser/parse_expr.c:3524
 #, c-format
 msgid "returning SETOF types is not supported in SQL/JSON functions"
 msgstr "Rückgabe von SETOF-Typen wird in SQL/JSON-Funktionen nicht unterstützt"
 
-#: parser/parse_expr.c:3521
+#: parser/parse_expr.c:3529
 #, c-format
 msgid "returning pseudo-types is not supported in SQL/JSON functions"
 msgstr "Rückgabe von Pseudotypen wird in SQL/JSON-Funktionen nicht unterstützt"
 
-#: parser/parse_expr.c:3849 parser/parse_func.c:866
+#: parser/parse_expr.c:3857 parser/parse_func.c:866
 #, c-format
 msgid "aggregate ORDER BY is not implemented for window functions"
 msgstr "ORDER BY in Aggregatfunktion ist für Fensterfunktionen nicht implementiert"
 
-#: parser/parse_expr.c:4072
+#: parser/parse_expr.c:4080
 #, c-format
 msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types"
 msgstr "JSON-FORMAT-ENCODING-Klausel kann nur für Eingabetyp bytea verwendet werden"
 
-#: parser/parse_expr.c:4092
+#: parser/parse_expr.c:4100
 #, c-format
 msgid "cannot use type %s in IS JSON predicate"
 msgstr "Typ %s kann nicht im IS-JSON-Prädikat verwendet werden"
 
-#: parser/parse_expr.c:4118 parser/parse_expr.c:4239
+#: parser/parse_expr.c:4126 parser/parse_expr.c:4247
 #, c-format
 msgid "cannot use type %s in RETURNING clause of %s"
 msgstr "Typ %s kann nicht in der RETURNING-Klausel von %s verwendet werden"
 
-#: parser/parse_expr.c:4120
+#: parser/parse_expr.c:4128
 #, c-format
 msgid "Try returning json or jsonb."
 msgstr "Versuchen Sie json oder jsonb zurückzugeben."
 
-#: parser/parse_expr.c:4168
+#: parser/parse_expr.c:4176
 #, c-format
 msgid "cannot use non-string types with WITH UNIQUE KEYS clause"
 msgstr "Klausel WITH UNIQUE KEYS kann nicht mit Typen verwendet werden, die keine Zeichenketten sind"
 
-#: parser/parse_expr.c:4242
+#: parser/parse_expr.c:4250
 #, c-format
 msgid "Try returning a string type or bytea."
 msgstr "Versuchen Sie einen Zeichenkettentyp oder bytea zurückzugeben."
 
-#: parser/parse_expr.c:4307
+#: parser/parse_expr.c:4315
 #, c-format
 msgid "cannot specify FORMAT JSON in RETURNING clause of %s()"
 msgstr "FORMAT JSON kann nicht in der RETURNING-Klausel von %s() angegeben werden"
 
-#: parser/parse_expr.c:4320
+#: parser/parse_expr.c:4328
 #, c-format
 msgid "SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used"
 msgstr "SQL/JSON-QUOTES-Verhalten darf nicht angegeben werden, wenn WITH WRAPPER verwendet wird"
 
 #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY)
-#: parser/parse_expr.c:4334 parser/parse_expr.c:4363 parser/parse_expr.c:4394
-#: parser/parse_expr.c:4420 parser/parse_expr.c:4446
-#: parser/parse_jsontable.c:94
+#: parser/parse_expr.c:4342 parser/parse_expr.c:4371 parser/parse_expr.c:4402
+#: parser/parse_expr.c:4428 parser/parse_expr.c:4454
+#: parser/parse_jsontable.c:92
 #, c-format
 msgid "invalid %s behavior"
 msgstr "ungültiges »%s«-Verhalten"
 
 #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY),
 #. second %s is a SQL/JSON function name (e.g. JSON_QUERY)
-#: parser/parse_expr.c:4337 parser/parse_expr.c:4366
+#: parser/parse_expr.c:4345 parser/parse_expr.c:4374
 #, c-format
 msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for %s."
 msgstr "Nur ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT oder DEFAULT-Ausdruck sind erlaubt in %s für %s."
@@ -18395,68 +19025,68 @@ msgstr "Nur ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT oder DEFAULT-Ausdruck sind er
 #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY)
 #. translator: first %s is name a SQL/JSON clause (eg. ON EMPTY)
 #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY)
-#: parser/parse_expr.c:4344 parser/parse_expr.c:4373 parser/parse_expr.c:4402
-#: parser/parse_expr.c:4430 parser/parse_expr.c:4456
+#: parser/parse_expr.c:4352 parser/parse_expr.c:4381 parser/parse_expr.c:4410
+#: parser/parse_expr.c:4438 parser/parse_expr.c:4464
 #, c-format
 msgid "invalid %s behavior for column \"%s\""
 msgstr "ungültiges »%s«-Verhalten für Spalte »%s«"
 
 #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY)
-#: parser/parse_expr.c:4347 parser/parse_expr.c:4376
+#: parser/parse_expr.c:4355 parser/parse_expr.c:4384
 #, c-format
 msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for formatted columns."
 msgstr "Nur ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT oder DEFAULT-Ausdruck sind erlaubt in %s für formatierte Spalten."
 
-#: parser/parse_expr.c:4395
+#: parser/parse_expr.c:4403
 #, c-format
 msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for %s."
 msgstr "Nur ERROR, TRUE, FALSE oder UNKNOWN sind erlaubt in %s für %s."
 
 #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY)
-#: parser/parse_expr.c:4405
+#: parser/parse_expr.c:4413
 #, c-format
 msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for EXISTS columns."
 msgstr "Nur ERROR, TRUE, FALSE oder UNKNOWN sind erlaubt in %s für EXISTS-Spalten."
 
 #. translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY),
 #. second %s is a SQL/JSON function name (e.g. JSON_QUERY)
-#: parser/parse_expr.c:4423 parser/parse_expr.c:4449
+#: parser/parse_expr.c:4431 parser/parse_expr.c:4457
 #, c-format
 msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for %s."
 msgstr "Nur ERROR, NULL oder DEFAULT-Ausdruck sind erlaubt in %s für %s."
 
 #. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY)
-#: parser/parse_expr.c:4433 parser/parse_expr.c:4459
+#: parser/parse_expr.c:4441 parser/parse_expr.c:4467
 #, c-format
 msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for scalar columns."
 msgstr "Nur ERROR, NULL oder DEFAULT-Ausdruck sind erlaubt in %s für skalare Spalten."
 
-#: parser/parse_expr.c:4489
+#: parser/parse_expr.c:4497
 #, c-format
 msgid "JSON path expression must be of type %s, not of type %s"
 msgstr "JSON-Pfadausdruck muss Typ %s haben, nicht Typ %s"
 
-#: parser/parse_expr.c:4707
+#: parser/parse_expr.c:4715
 #, c-format
 msgid "can only specify a constant, non-aggregate function, or operator expression for DEFAULT"
 msgstr "für DEFAULT kann nur eine Konstante, Nicht-Aggregat-Funktion oder ein Operatorausdruck angegeben werden"
 
-#: parser/parse_expr.c:4712
+#: parser/parse_expr.c:4720
 #, c-format
 msgid "DEFAULT expression must not contain column references"
 msgstr "DEFAULT-Ausdruck darf keine Spaltenverweise enthalten"
 
-#: parser/parse_expr.c:4717
+#: parser/parse_expr.c:4725
 #, c-format
 msgid "DEFAULT expression must not return a set"
 msgstr "DEFAULT-Ausdruck darf keine Ergebnismenge zurückgeben"
 
-#: parser/parse_expr.c:4793 parser/parse_expr.c:4802
+#: parser/parse_expr.c:4801 parser/parse_expr.c:4810
 #, c-format
 msgid "cannot cast behavior expression of type %s to %s"
 msgstr "kann Verhaltensausdruck nicht von Typ %s in %s umwandeln"
 
-#: parser/parse_expr.c:4796
+#: parser/parse_expr.c:4804
 #, c-format
 msgid "You will need to explicitly cast the expression to type %s."
 msgstr "Sie werden den Ausdruck ausdrücklich in Typ %s umwandeln müssen."
@@ -18795,12 +19425,12 @@ msgstr "Funktionen mit Ergebnismenge sind in COPY-FROM-WHERE-Bedingungen nicht e
 msgid "set-returning functions are not allowed in column generation expressions"
 msgstr "Funktionen mit Ergebnismenge sind in Spaltengenerierungsausdrücken nicht erlaubt"
 
-#: parser/parse_jsontable.c:95
+#: parser/parse_jsontable.c:93
 #, c-format
 msgid "Only EMPTY [ ARRAY ] or ERROR is allowed in the top-level ON ERROR clause."
 msgstr "Nur EMPTY [ ARRAY ] oder ERROR ist in der ON-ERROR-Klausel auf der obersten Ebene erlaubt."
 
-#: parser/parse_jsontable.c:189 parser/parse_jsontable.c:203
+#: parser/parse_jsontable.c:187 parser/parse_jsontable.c:201
 #, c-format
 msgid "duplicate JSON_TABLE column or path name: %s"
 msgstr "doppelter JSON_TABLE-Spalten- oder -Pfadname: %s"
@@ -18880,229 +19510,224 @@ msgstr "op ANY/ALL (array) erfordert, dass Operator boolean ergibt"
 msgid "op ANY/ALL (array) requires operator not to return a set"
 msgstr "op ANY/ALL (array) erfordert, dass Operator keine Ergebnismenge zurückgibt"
 
-#: parser/parse_param.c:221
+#: parser/parse_param.c:222
 #, c-format
 msgid "inconsistent types deduced for parameter $%d"
 msgstr "inkonsistente Typen für Parameter $%d ermittelt"
 
-#: parser/parse_param.c:309 tcop/postgres.c:744
+#: parser/parse_param.c:310 tcop/postgres.c:733
 #, c-format
 msgid "could not determine data type of parameter $%d"
 msgstr "konnte Datentyp von Parameter $%d nicht ermitteln"
 
-#: parser/parse_relation.c:221
+#: parser/parse_relation.c:226
 #, c-format
 msgid "table reference \"%s\" is ambiguous"
 msgstr "Tabellenbezug »%s« ist nicht eindeutig"
 
-#: parser/parse_relation.c:265
+#: parser/parse_relation.c:273
 #, c-format
 msgid "table reference %u is ambiguous"
 msgstr "Tabellenbezug %u ist nicht eindeutig"
 
-#: parser/parse_relation.c:465
-#, c-format
-msgid "table name \"%s\" specified more than once"
-msgstr "Tabellenname »%s« mehrmals angegeben"
-
-#: parser/parse_relation.c:494 parser/parse_relation.c:3633
-#: parser/parse_relation.c:3642
+#: parser/parse_relation.c:502 parser/parse_relation.c:3739
+#: parser/parse_relation.c:3748
 #, 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:498 parser/parse_relation.c:3644
+#: parser/parse_relation.c:506 parser/parse_relation.c:3750
 #, 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:500
+#: parser/parse_relation.c:508
 #, 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:703
+#: parser/parse_relation.c:711
 #, 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:712
+#: parser/parse_relation.c:724
 #, c-format
 msgid "cannot use system column \"%s\" in column generation expression"
 msgstr "Systemspalte »%s« kann nicht in Spaltengenerierungsausdruck verwendet werden"
 
-#: parser/parse_relation.c:723
+#: parser/parse_relation.c:735
 #, c-format
 msgid "cannot use system column \"%s\" in MERGE WHEN condition"
 msgstr "Systemspalte »%s« kann nicht in MERGE-WHEN-Bedingung verwendet werden"
 
-#: parser/parse_relation.c:1236 parser/parse_relation.c:1691
-#: parser/parse_relation.c:2384
+#: parser/parse_relation.c:1251 parser/parse_relation.c:1708
+#: parser/parse_relation.c:2402
 #, 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:1445
+#: parser/parse_relation.c:1462
 #, 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:1447
+#: parser/parse_relation.c:1464
 #, 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:1833
+#: parser/parse_relation.c:1850
 #, c-format
 msgid "a column definition list is redundant for a function with OUT parameters"
 msgstr "eine Spaltendefinitionsliste ist überflüssig bei einer Funktion mit OUT-Parametern"
 
-#: parser/parse_relation.c:1839
+#: parser/parse_relation.c:1856
 #, c-format
 msgid "a column definition list is redundant for a function returning a named composite type"
 msgstr "eine Spaltendefinitionsliste ist überflüssig bei einer Funktion, die einen benannten zusammengesetzten Typ zurückgibt"
 
-#: parser/parse_relation.c:1846
+#: parser/parse_relation.c:1863
 #, 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:1857
+#: parser/parse_relation.c:1874
 #, 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:1894
+#: parser/parse_relation.c:1911
 #, c-format
 msgid "column definition lists can have at most %d entries"
 msgstr "Spaltendefinitionslisten können höchstens %d Einträge haben"
 
-#: parser/parse_relation.c:1954
+#: parser/parse_relation.c:1971
 #, 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:1981 parser/parse_relation.c:2066
+#: parser/parse_relation.c:1998 parser/parse_relation.c:2083
 #, c-format
 msgid "functions in FROM can return at most %d columns"
 msgstr "Funktionen in FROM können höchstens %d Spalten zurückgeben"
 
-#: parser/parse_relation.c:2096
+#: parser/parse_relation.c:2113
 #, c-format
 msgid "%s function has %d columns available but %d columns specified"
 msgstr "Funktion %s hat %d Spalten verfügbar, aber %d Spalten wurden angegeben"
 
-#: parser/parse_relation.c:2177
+#: parser/parse_relation.c:2194
 #, 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:2242
+#: parser/parse_relation.c:2259
 #, c-format
 msgid "joins can have at most %d columns"
 msgstr "Verbunde können höchstens %d Spalten haben"
 
-#: parser/parse_relation.c:2267
+#: parser/parse_relation.c:2284
 #, c-format
 msgid "join expression \"%s\" has %d columns available but %d columns specified"
 msgstr "Verbundausdruck »%s« hat %d Spalten verfügbar, aber %d Spalten wurden angegeben"
 
-#: parser/parse_relation.c:2357
+#: parser/parse_relation.c:2375
 #, c-format
 msgid "WITH query \"%s\" does not have a RETURNING clause"
 msgstr "WITH-Anfrage »%s« hat keine RETURNING-Klausel"
 
-#: parser/parse_relation.c:3635
+#: parser/parse_relation.c:3741
 #, 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:3647
+#: parser/parse_relation.c:3753
 #, c-format
 msgid "To reference that table, you must mark this subquery with LATERAL."
 msgstr "Um auf diese Tabelle zu verweisen, müssen Sie diese Unteranfrage mit LATERAL markieren."
 
-#: parser/parse_relation.c:3653
+#: parser/parse_relation.c:3759
 #, c-format
 msgid "missing FROM-clause entry for table \"%s\""
 msgstr "fehlender Eintrag in FROM-Klausel für Tabelle »%s«"
 
-#: parser/parse_relation.c:3693
+#: parser/parse_relation.c:3799
 #, c-format
 msgid "There are columns named \"%s\", but they are in tables that cannot be referenced from this part of the query."
 msgstr "Es gibt Spalten namens »%s«, aber sie sind in Tabellen, auf die aus diesem Teil der Anfrage nicht verwiesen werden kann."
 
-#: parser/parse_relation.c:3695
+#: parser/parse_relation.c:3801
 #, c-format
 msgid "Try using a table-qualified name."
 msgstr "Versuchen Sie, einen tabellenqualifizierten Namen zu verwenden."
 
-#: parser/parse_relation.c:3703
+#: parser/parse_relation.c:3809
 #, 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:3706
+#: parser/parse_relation.c:3812
 #, c-format
 msgid "To reference that column, you must mark this subquery with LATERAL."
 msgstr "Um auf diese Spalte zu verweisen, müssen Sie diese Unteranfrage mit LATERAL markieren."
 
-#: parser/parse_relation.c:3708
+#: parser/parse_relation.c:3814
 #, c-format
 msgid "To reference that column, you must use a table-qualified name."
 msgstr "Um auf diese Spalte zu verweisen, müssen Sie einen tabellenqualifizierten Namen verwenden."
 
-#: parser/parse_relation.c:3728
+#: parser/parse_relation.c:3834
 #, 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:3742
+#: parser/parse_relation.c:3848
 #, 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:480 parser/parse_target.c:795
+#: parser/parse_target.c:483 parser/parse_target.c:798
 #, c-format
 msgid "cannot assign to system column \"%s\""
 msgstr "kann Systemspalte »%s« keinen Wert zuweisen"
 
-#: parser/parse_target.c:508
+#: 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:513
+#: 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:587
+#: parser/parse_target.c:590
 #, 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:779
+#: parser/parse_target.c:782
 #, 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:788
+#: parser/parse_target.c:791
 #, 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:877
+#: parser/parse_target.c:880
 #, c-format
 msgid "subscripted assignment to \"%s\" requires type %s but expression is of type %s"
 msgstr "Wertzuweisung in Elemente von »%s« erfordert Typ %s, aber Ausdruck hat Typ %s"
 
-#: parser/parse_target.c:887
+#: parser/parse_target.c:890
 #, 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:1327
+#: parser/parse_target.c:1330
 #, c-format
 msgid "SELECT * with no tables specified is not valid"
 msgstr "SELECT * ist nicht gültig, wenn keine Tabellen angegeben sind"
@@ -19122,8 +19747,8 @@ msgstr "falscher %%TYPE-Verweis (zu viele Namensteile): %s"
 msgid "type reference %s converted to %s"
 msgstr "Typverweis %s in %s umgewandelt"
 
-#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:397
-#: utils/cache/typcache.c:452
+#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:478
+#: utils/cache/typcache.c:532
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "Typ »%s« ist nur eine Hülle"
@@ -19143,325 +19768,360 @@ msgstr "Typmodifikatoren müssen einfache Konstanten oder Bezeichner sein"
 msgid "invalid type name \"%s\""
 msgstr "ungültiger Typname: »%s«"
 
-#: parser/parse_utilcmd.c:263
+#: parser/parse_utilcmd.c:265
 #, c-format
 msgid "cannot create partitioned table as inheritance child"
 msgstr "partitionierte Tabelle kann nicht als Vererbungskind erzeugt werden"
 
-#: parser/parse_utilcmd.c:475
+#: parser/parse_utilcmd.c:504
 #, c-format
 msgid "cannot set logged status of a temporary sequence"
 msgstr "kann den geloggten Status einer temporären Sequenz nicht ändern"
 
-#: parser/parse_utilcmd.c:611
+#: parser/parse_utilcmd.c:642
 #, c-format
 msgid "array of serial is not implemented"
 msgstr "Array aus Typ serial ist nicht implementiert"
 
-#: parser/parse_utilcmd.c:690 parser/parse_utilcmd.c:702
-#: parser/parse_utilcmd.c:761
+#: parser/parse_utilcmd.c:747 parser/parse_utilcmd.c:765
+#: parser/parse_utilcmd.c:873 parser/parse_utilcmd.c:906
 #, 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:714
+#: parser/parse_utilcmd.c:759 parser/parse_utilcmd.c:1091
+#, fuzzy, c-format
+#| msgid "check constraints for domains cannot be marked NO INHERIT"
+msgid "not-null constraints on partitioned tables cannot be NO INHERIT"
+msgstr "Check-Constraints für Domänen können nicht als NO INHERIT markiert werden"
+
+#: parser/parse_utilcmd.c:773 parser/parse_utilcmd.c:808
+#, fuzzy, c-format
+#| msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
+msgid "conflicting NO INHERIT declarations for not-null constraints on column \"%s\""
+msgstr "widersprüchliche NULL/NOT NULL-Deklarationen für Spalte »%s« von Tabelle »%s«"
+
+#: parser/parse_utilcmd.c:821
 #, 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:731
+#: parser/parse_utilcmd.c:838
 #, c-format
 msgid "identity columns are not supported on typed tables"
 msgstr "Identitätsspalten in getypten Tabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:735
+#: parser/parse_utilcmd.c:842
 #, c-format
 msgid "identity columns are not supported on partitions"
 msgstr "Identitätsspalten in partitionierten Tabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:744
+#: parser/parse_utilcmd.c:851
 #, 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:774
+#: parser/parse_utilcmd.c:884
 #, c-format
 msgid "generated columns are not supported on typed tables"
 msgstr "generierte Spalten in getypten Tabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:778
+#: parser/parse_utilcmd.c:888
 #, c-format
 msgid "multiple generation clauses specified for column \"%s\" of table \"%s\""
 msgstr "mehrere Generierungsklauseln angegeben für Spalte »%s« von Tabelle »%s«"
 
-#: parser/parse_utilcmd.c:796 parser/parse_utilcmd.c:911
+#: parser/parse_utilcmd.c:915 parser/parse_utilcmd.c:1057
 #, 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:805 parser/parse_utilcmd.c:921
+#: parser/parse_utilcmd.c:924 parser/parse_utilcmd.c:1067
 #, c-format
 msgid "unique constraints are not supported on foreign tables"
 msgstr "Unique-Constraints auf Fremdtabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:850
+#: parser/parse_utilcmd.c:971
 #, 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:858
+#: parser/parse_utilcmd.c:979
 #, c-format
 msgid "both default and generation expression specified for column \"%s\" of table \"%s\""
 msgstr "sowohl Vorgabewert als auch Generierungsausdruck angegeben für Spalte »%s« von Tabelle »%s«"
 
-#: parser/parse_utilcmd.c:866
+#: parser/parse_utilcmd.c:987
 #, c-format
 msgid "both identity and generation expression specified for column \"%s\" of table \"%s\""
 msgstr "sowohl Identität als auch Generierungsausdruck angegeben für Spalte »%s« von Tabelle »%s«"
 
-#: parser/parse_utilcmd.c:931
+#: parser/parse_utilcmd.c:1077
 #, c-format
 msgid "exclusion constraints are not supported on foreign tables"
 msgstr "Exclusion-Constraints auf Fremdtabellen werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:996
-#, 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:1009
+#: parser/parse_utilcmd.c:1163
 #, c-format
 msgid "relation \"%s\" is invalid in LIKE clause"
 msgstr "Relation »%s« ist ungültig in der LIKE-Klausel"
 
-#: parser/parse_utilcmd.c:1736 parser/parse_utilcmd.c:1844
+#: parser/parse_utilcmd.c:1910 parser/parse_utilcmd.c:2018
 #, 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:2242
+#: parser/parse_utilcmd.c:2412
 #, 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:2262
+#: parser/parse_utilcmd.c:2432
 #, c-format
 msgid "index \"%s\" is already associated with a constraint"
 msgstr "Index »%s« gehört bereits zu einem Constraint"
 
-#: parser/parse_utilcmd.c:2283
+#: parser/parse_utilcmd.c:2458
 #, c-format
 msgid "\"%s\" is not a unique index"
 msgstr "»%s« ist kein Unique Index"
 
-#: parser/parse_utilcmd.c:2284 parser/parse_utilcmd.c:2291
-#: parser/parse_utilcmd.c:2298 parser/parse_utilcmd.c:2375
+#: parser/parse_utilcmd.c:2459 parser/parse_utilcmd.c:2466
+#: parser/parse_utilcmd.c:2473 parser/parse_utilcmd.c:2550
 #, 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:2290
+#: parser/parse_utilcmd.c:2465
 #, c-format
 msgid "index \"%s\" contains expressions"
 msgstr "Index »%s« enthält Ausdrücke"
 
-#: parser/parse_utilcmd.c:2297
+#: parser/parse_utilcmd.c:2472
 #, c-format
 msgid "\"%s\" is a partial index"
 msgstr "»%s« ist ein partieller Index"
 
-#: parser/parse_utilcmd.c:2309
+#: parser/parse_utilcmd.c:2484
 #, c-format
 msgid "\"%s\" is a deferrable index"
 msgstr "»%s« ist ein aufschiebbarer Index"
 
-#: parser/parse_utilcmd.c:2310
+#: parser/parse_utilcmd.c:2485
 #, 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:2374
+#: parser/parse_utilcmd.c:2549
 #, c-format
 msgid "index \"%s\" column number %d does not have default sorting behavior"
 msgstr "Index »%s« Spalte Nummer %d hat nicht das Standardsortierverhalten"
 
-#: parser/parse_utilcmd.c:2531
+#: parser/parse_utilcmd.c:2741
 #, 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:2537
+#: parser/parse_utilcmd.c:2747
 #, c-format
 msgid "column \"%s\" appears twice in unique constraint"
 msgstr "Spalte »%s« erscheint zweimal im Unique-Constraint"
 
-#: parser/parse_utilcmd.c:2871
+#: parser/parse_utilcmd.c:2792
+#, c-format
+msgid "column \"%s\" in WITHOUT OVERLAPS is not a range or multirange type"
+msgstr ""
+
+#: parser/parse_utilcmd.c:2820
+#, c-format
+msgid "constraint using WITHOUT OVERLAPS needs at least two columns"
+msgstr ""
+
+#: parser/parse_utilcmd.c:3115
 #, 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:2943
+#: parser/parse_utilcmd.c:3187
 #, c-format
 msgid "statistics expressions can refer only to the table being referenced"
 msgstr "Statistikausdrücke können nur auf die referenzierte Tabelle verweisen"
 
-#: parser/parse_utilcmd.c:2986
+#: parser/parse_utilcmd.c:3230
 #, c-format
 msgid "rules on materialized views are not supported"
 msgstr "Regeln für materialisierte Sichten werden nicht unterstützt"
 
-#: parser/parse_utilcmd.c:3046
+#: parser/parse_utilcmd.c:3290
 #, 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:3118
+#: parser/parse_utilcmd.c:3362
 #, 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:3136 parser/parse_utilcmd.c:3237
-#: rewrite/rewriteHandler.c:544 rewrite/rewriteManip.c:1096
+#: parser/parse_utilcmd.c:3380 parser/parse_utilcmd.c:3481
+#: rewrite/rewriteHandler.c:546 rewrite/rewriteManip.c:1234
 #, c-format
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr "UNION/INTERSECTION/EXCEPT mit Bedingung sind nicht implementiert"
 
-#: parser/parse_utilcmd.c:3154
+#: parser/parse_utilcmd.c:3398
 #, c-format
 msgid "ON SELECT rule cannot use OLD"
 msgstr "ON-SELECT-Regel kann nicht OLD verwenden"
 
-#: parser/parse_utilcmd.c:3158
+#: parser/parse_utilcmd.c:3402
 #, c-format
 msgid "ON SELECT rule cannot use NEW"
 msgstr "ON-SELECT-Regel kann nicht NEW verwenden"
 
-#: parser/parse_utilcmd.c:3167
+#: parser/parse_utilcmd.c:3411
 #, c-format
 msgid "ON INSERT rule cannot use OLD"
 msgstr "ON-INSERT-Regel kann nicht OLD verwenden"
 
-#: parser/parse_utilcmd.c:3173
+#: parser/parse_utilcmd.c:3417
 #, c-format
 msgid "ON DELETE rule cannot use NEW"
 msgstr "ON-DELETE-Regel kann nicht NEW verwenden"
 
-#: parser/parse_utilcmd.c:3201
+#: parser/parse_utilcmd.c:3445
 #, c-format
 msgid "cannot refer to OLD within WITH query"
 msgstr "in WITH-Anfrage kann nicht auf OLD verweisen werden"
 
-#: parser/parse_utilcmd.c:3208
+#: parser/parse_utilcmd.c:3452
 #, c-format
 msgid "cannot refer to NEW within WITH query"
 msgstr "in WITH-Anfrage kann nicht auf NEW verwiesen werden"
 
-#: parser/parse_utilcmd.c:3664
+#: parser/parse_utilcmd.c:3910
 #, c-format
 msgid "misplaced DEFERRABLE clause"
 msgstr "falsch platzierte DEFERRABLE-Klausel"
 
-#: parser/parse_utilcmd.c:3669 parser/parse_utilcmd.c:3684
+#: parser/parse_utilcmd.c:3915 parser/parse_utilcmd.c:3930
 #, c-format
 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr "mehrere DEFERRABLE/NOT DEFERRABLE-Klauseln sind nicht erlaubt"
 
-#: parser/parse_utilcmd.c:3679
+#: parser/parse_utilcmd.c:3925
 #, c-format
 msgid "misplaced NOT DEFERRABLE clause"
 msgstr "falsch platzierte NOT DEFERRABLE-Klausel"
 
-#: parser/parse_utilcmd.c:3700
+#: parser/parse_utilcmd.c:3946
 #, c-format
 msgid "misplaced INITIALLY DEFERRED clause"
 msgstr "falsch platzierte INITIALLY DEFERRED-Klausel"
 
-#: parser/parse_utilcmd.c:3705 parser/parse_utilcmd.c:3731
+#: parser/parse_utilcmd.c:3951 parser/parse_utilcmd.c:3977
 #, c-format
 msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr "mehrere INITIALLY IMMEDIATE/DEFERRED-Klauseln sind nicht erlaubt"
 
-#: parser/parse_utilcmd.c:3726
+#: parser/parse_utilcmd.c:3972
 #, c-format
 msgid "misplaced INITIALLY IMMEDIATE clause"
 msgstr "falsch platzierte INITIALLY IMMEDIATE-Klausel"
 
-#: parser/parse_utilcmd.c:3919
+#: parser/parse_utilcmd.c:3988
+#, fuzzy, c-format
+#| msgid "misplaced DEFERRABLE clause"
+msgid "misplaced ENFORCED clause"
+msgstr "falsch platzierte DEFERRABLE-Klausel"
+
+#: parser/parse_utilcmd.c:3993 parser/parse_utilcmd.c:4009
+#, fuzzy, c-format
+#| msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
+msgid "multiple ENFORCED/NOT ENFORCED clauses not allowed"
+msgstr "mehrere DEFERRABLE/NOT DEFERRABLE-Klauseln sind nicht erlaubt"
+
+#: parser/parse_utilcmd.c:4004
+#, fuzzy, c-format
+#| msgid "misplaced NOT DEFERRABLE clause"
+msgid "misplaced NOT ENFORCED clause"
+msgstr "falsch platzierte NOT DEFERRABLE-Klausel"
+
+#: parser/parse_utilcmd.c:4202
 #, 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:3954
+#: parser/parse_utilcmd.c:4237
 #, c-format
 msgid "\"%s\" is not a partitioned table"
 msgstr "»%s« ist keine partitionierte Tabelle"
 
-#: parser/parse_utilcmd.c:3961
+#: parser/parse_utilcmd.c:4244
 #, c-format
 msgid "table \"%s\" is not partitioned"
 msgstr "Tabelle »%s« ist nicht partitioniert"
 
-#: parser/parse_utilcmd.c:3968
+#: parser/parse_utilcmd.c:4251
 #, c-format
 msgid "index \"%s\" is not partitioned"
 msgstr "Index »%s« ist nicht partitioniert"
 
-#: parser/parse_utilcmd.c:4008
+#: parser/parse_utilcmd.c:4291
 #, c-format
 msgid "a hash-partitioned table may not have a default partition"
 msgstr "eine hashpartitionierte Tabelle kann keine Standardpartition haben"
 
-#: parser/parse_utilcmd.c:4025
+#: parser/parse_utilcmd.c:4308
 #, c-format
 msgid "invalid bound specification for a hash partition"
 msgstr "ungültige Begrenzungsangabe für eine Hash-Partition"
 
-#: parser/parse_utilcmd.c:4031 partitioning/partbounds.c:4802
+#: parser/parse_utilcmd.c:4314 partitioning/partbounds.c:4802
 #, c-format
 msgid "modulus for hash partition must be an integer value greater than zero"
 msgstr "Modulus für Hashpartition muss eine ganze Zahl größer als null sein"
 
-#: parser/parse_utilcmd.c:4038 partitioning/partbounds.c:4810
+#: parser/parse_utilcmd.c:4321 partitioning/partbounds.c:4810
 #, c-format
 msgid "remainder for hash partition must be less than modulus"
 msgstr "Rest für Hashpartition muss kleiner als Modulus sein"
 
-#: parser/parse_utilcmd.c:4051
+#: parser/parse_utilcmd.c:4334
 #, c-format
 msgid "invalid bound specification for a list partition"
 msgstr "ungültige Begrenzungsangabe für eine Listenpartition"
 
-#: parser/parse_utilcmd.c:4104
+#: parser/parse_utilcmd.c:4387
 #, c-format
 msgid "invalid bound specification for a range partition"
 msgstr "ungültige Begrenzungsangabe für eine Bereichspartition"
 
-#: parser/parse_utilcmd.c:4110
+#: parser/parse_utilcmd.c:4393
 #, c-format
 msgid "FROM must specify exactly one value per partitioning column"
 msgstr "FROM muss genau einen Wert pro Partitionierungsspalte angeben"
 
-#: parser/parse_utilcmd.c:4114
+#: parser/parse_utilcmd.c:4397
 #, c-format
 msgid "TO must specify exactly one value per partitioning column"
 msgstr "TO muss genau einen Wert pro Partitionierungsspalte angeben"
 
-#: parser/parse_utilcmd.c:4228
+#: parser/parse_utilcmd.c:4511
 #, c-format
 msgid "cannot specify NULL in range bound"
 msgstr "NULL kann nicht in der Bereichsgrenze angegeben werden"
 
-#: parser/parse_utilcmd.c:4277
+#: parser/parse_utilcmd.c:4560
 #, 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:4284
+#: parser/parse_utilcmd.c:4567
 #, 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:4327
+#: parser/parse_utilcmd.c:4610
 #, 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"
@@ -19474,12 +20134,12 @@ msgstr "auf UESCAPE muss eine einfache Zeichenkettenkonstante folgen"
 msgid "invalid Unicode escape character"
 msgstr "ungültiges Unicode-Escape-Zeichen"
 
-#: parser/parser.c:347 scan.l:1393
+#: parser/parser.c:347 scan.l:1385
 #, c-format
 msgid "invalid Unicode escape value"
 msgstr "ungültiger Unicode-Escape-Wert"
 
-#: parser/parser.c:494 scan.l:716 utils/adt/varlena.c:6640
+#: parser/parser.c:494 scan.l:702 utils/adt/varlena.c:6821
 #, c-format
 msgid "invalid Unicode escape"
 msgstr "ungültiges Unicode-Escape"
@@ -19489,8 +20149,8 @@ msgstr "ungültiges Unicode-Escape"
 msgid "Unicode escapes must be \\XXXX or \\+XXXXXX."
 msgstr "Unicode-Escapes müssen \\XXXX oder \\+XXXXXX sein."
 
-#: parser/parser.c:523 scan.l:677 scan.l:693 scan.l:709
-#: utils/adt/varlena.c:6665
+#: parser/parser.c:523 scan.l:663 scan.l:679 scan.l:695
+#: utils/adt/varlena.c:6846
 #, c-format
 msgid "invalid Unicode surrogate pair"
 msgstr "ungültiges Unicode-Surrogatpaar"
@@ -19634,12 +20294,12 @@ msgstr "Huge Pages werden auf dieser Plattform nicht unterstützt"
 msgid "huge pages not supported with the current \"shared_memory_type\" setting"
 msgstr "Huge Pages werden mit der aktuellen »shared_memory_type«-Einstellung nicht unterstützt"
 
-#: port/pg_shmem.c:798 port/sysv_shmem.c:798 utils/init/miscinit.c:1401
+#: port/pg_shmem.c:798 port/sysv_shmem.c:798 utils/init/miscinit.c:1403
 #, c-format
 msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use"
 msgstr "bereits bestehender Shared-Memory-Block (Schlüssel %lu, ID %lu) wird noch benutzt"
 
-#: port/pg_shmem.c:801 port/sysv_shmem.c:801 utils/init/miscinit.c:1403
+#: port/pg_shmem.c:801 port/sysv_shmem.c:801 utils/init/miscinit.c:1405
 #, c-format
 msgid "Terminate any old server processes associated with data directory \"%s\"."
 msgstr "Beenden Sie alle alten Serverprozesse, die zum Datenverzeichnis »%s« gehören."
@@ -19788,201 +20448,222 @@ msgstr "Fehlgeschlagener Systemaufruf war DuplicateHandle."
 msgid "Failed system call was MapViewOfFileEx."
 msgstr "Fehlgeschlagener Systemaufruf war MapViewOfFileEx."
 
-#: postmaster/autovacuum.c:686
+#: postmaster/autovacuum.c:691
 #, c-format
 msgid "autovacuum worker took too long to start; canceled"
 msgstr "Autovacuum-Worker benötigte zu lange zum Starten; abgebrochen"
 
-#: postmaster/autovacuum.c:2203
+#: postmaster/autovacuum.c:2215
 #, c-format
 msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\""
 msgstr "Autovacuum: lösche verwaiste temporäre Tabelle »%s.%s.%s«"
 
-#: postmaster/autovacuum.c:2439
+#: postmaster/autovacuum.c:2451
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\""
 msgstr "automatisches Vacuum der Tabelle »%s.%s.%s«"
 
-#: postmaster/autovacuum.c:2442
+#: postmaster/autovacuum.c:2454
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\""
 msgstr "automatisches Analysieren der Tabelle »%s.%s.%s«"
 
-#: postmaster/autovacuum.c:2636
+#: postmaster/autovacuum.c:2648
 #, c-format
 msgid "processing work entry for relation \"%s.%s.%s\""
 msgstr "verarbeite Arbeitseintrag für Relation »%s.%s.%s«"
 
-#: postmaster/autovacuum.c:3254
+#: postmaster/autovacuum.c:3306
 #, c-format
 msgid "autovacuum not started because of misconfiguration"
 msgstr "Autovacuum wegen Fehlkonfiguration nicht gestartet"
 
-#: postmaster/autovacuum.c:3255
+#: postmaster/autovacuum.c:3307
 #, c-format
 msgid "Enable the \"track_counts\" option."
 msgstr "Schalten Sie die Option »track_counts« ein."
 
-#: postmaster/bgworker.c:260
+#: postmaster/autovacuum.c:3429
+#, c-format
+msgid "\"autovacuum_max_workers\" (%d) should be less than or equal to \"autovacuum_worker_slots\" (%d)"
+msgstr ""
+
+#: postmaster/autovacuum.c:3431
 #, c-format
-msgid "inconsistent background worker state (max_worker_processes=%d, total_slots=%d)"
+msgid "The server will only start up to \"autovacuum_worker_slots\" (%d) autovacuum workers at a given time."
+msgstr ""
+
+#: postmaster/bgworker.c:260
+#, fuzzy, c-format
+#| msgid "inconsistent background worker state (max_worker_processes=%d, total_slots=%d)"
+msgid "inconsistent background worker state (\"max_worker_processes\"=%d, total slots=%d)"
 msgstr "inkonsistenter Background-Worker-Zustand (max_worker_processes=%d, total_slots=%d)"
 
-#: postmaster/bgworker.c:651
+#: postmaster/bgworker.c:645
 #, c-format
 msgid "background worker \"%s\": background workers without shared memory access are not supported"
 msgstr "Background-Worker »%s«: Background-Worker ohne Shared-Memory-Zugriff werden nicht unterstützt"
 
-#: postmaster/bgworker.c:662
+#: postmaster/bgworker.c:656
 #, 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:676
+#: postmaster/bgworker.c:670
 #, c-format
 msgid "background worker \"%s\": invalid restart interval"
 msgstr "Background-Worker »%s«: ungültiges Neustart-Intervall"
 
-#: postmaster/bgworker.c:691
+#: postmaster/bgworker.c:685
 #, 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:715 tcop/postgres.c:3312
+#: postmaster/bgworker.c:709 tcop/postgres.c:3316
 #, 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:888
+#: postmaster/bgworker.c:868 postmaster/bgworker.c:902
+#, c-format
+msgid "database connection requirement not indicated during registration"
+msgstr "die Notwendigkeit, Datenbankverbindungen zu erzeugen, wurde bei der Registrierung nicht angezeigt"
+
+#: postmaster/bgworker.c:878 postmaster/bgworker.c:912
+#, c-format
+msgid "invalid processing mode in background worker"
+msgstr "ungültiger Verarbeitungsmodus in Background-Worker"
+
+#: postmaster/bgworker.c:965
 #, 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:911
+#: postmaster/bgworker.c:988
 #, 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:926
+#: postmaster/bgworker.c:1003
 #, c-format
 msgid "too many background workers"
 msgstr "zu viele Background-Worker"
 
-#: postmaster/bgworker.c:927
+#: postmaster/bgworker.c:1004
 #, 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:931 postmaster/checkpointer.c:445
+#: postmaster/bgworker.c:1008 postmaster/checkpointer.c:457
 #, c-format
 msgid "Consider increasing the configuration parameter \"%s\"."
 msgstr "Erhöhen Sie eventuell den Konfigurationsparameter »%s«."
 
-#: postmaster/checkpointer.c:441
+#: postmaster/checkpointer.c:453
 #, 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:1067
+#: postmaster/checkpointer.c:1119
 #, c-format
 msgid "checkpoint request failed"
 msgstr "Checkpoint-Anforderung fehlgeschlagen"
 
-#: postmaster/checkpointer.c:1068
+#: postmaster/checkpointer.c:1120
 #, c-format
 msgid "Consult recent messages in the server log for details."
 msgstr "Einzelheiten finden Sie in den letzten Meldungen im Serverlog."
 
-#: postmaster/launch_backend.c:381
+#: postmaster/launch_backend.c:379
 #, c-format
 msgid "could not execute server process \"%s\": %m"
 msgstr "konnte Serverprozess »%s« nicht ausführen: %m"
 
-#: postmaster/launch_backend.c:434
+#: postmaster/launch_backend.c:433
 #, c-format
 msgid "could not create backend parameter file mapping: error code %lu"
 msgstr "konnte Backend-Parameter-Datei-Mapping nicht erzeugen: Fehlercode %lu"
 
-#: postmaster/launch_backend.c:442
+#: postmaster/launch_backend.c:441
 #, c-format
 msgid "could not map backend parameter memory: error code %lu"
 msgstr "konnte Backend-Parameter-Speicher nicht mappen: Fehlercode %lu"
 
-#: postmaster/launch_backend.c:459
+#: postmaster/launch_backend.c:458
 #, c-format
 msgid "subprocess command line too long"
 msgstr "Kommandozeile für Subprozess zu lang"
 
-#: postmaster/launch_backend.c:477
+#: postmaster/launch_backend.c:476
 #, c-format
 msgid "CreateProcess() call failed: %m (error code %lu)"
 msgstr "Aufruf von CreateProcess() fehlgeschlagen: %m (Fehlercode %lu)"
 
-#: postmaster/launch_backend.c:504
+#: postmaster/launch_backend.c:505
 #, c-format
 msgid "could not unmap view of backend parameter file: error code %lu"
 msgstr "konnte Sicht der Backend-Parameter-Datei nicht unmappen: Fehlercode %lu"
 
-#: postmaster/launch_backend.c:508
+#: postmaster/launch_backend.c:509
 #, c-format
 msgid "could not close handle to backend parameter file: error code %lu"
 msgstr "konnte Handle für Backend-Parameter-Datei nicht schließen: Fehlercode %lu"
 
-#: postmaster/launch_backend.c:530
+#: postmaster/launch_backend.c:531
 #, c-format
 msgid "giving up after too many tries to reserve shared memory"
 msgstr "Aufgabe nach zu vielen Versuchen, Shared Memory zu reservieren"
 
-#: postmaster/launch_backend.c:531
+#: postmaster/launch_backend.c:532
 #, c-format
 msgid "This might be caused by ASLR or antivirus software."
 msgstr "Dies kann durch ASLR oder Antivirus-Software verursacht werden."
 
-#: postmaster/launch_backend.c:834
+#: postmaster/launch_backend.c:821
 #, 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/launch_backend.c:866
+#: postmaster/launch_backend.c:853
 #, c-format
 msgid "could not create inherited socket: error code %d\n"
 msgstr "konnte geerbtes Socket nicht erzeugen: Fehlercode %d\n"
 
-#: postmaster/launch_backend.c:895
+#: postmaster/launch_backend.c:882
 #, c-format
 msgid "could not open backend variables file \"%s\": %m\n"
 msgstr "konnte Servervariablendatei »%s« nicht öffnen: %m\n"
 
-#: postmaster/launch_backend.c:901
+#: postmaster/launch_backend.c:888
 #, c-format
 msgid "could not read from backend variables file \"%s\": %m\n"
 msgstr "konnte nicht aus Servervariablendatei »%s« lesen: %m\n"
 
-#: postmaster/launch_backend.c:912
+#: postmaster/launch_backend.c:899
 #, c-format
 msgid "could not read startup data from backend variables file \"%s\": %m\n"
 msgstr "konnte Startup-Daten nicht aus Servervariablendatei »%s« lesen: %m\n"
 
-#: postmaster/launch_backend.c:924
+#: postmaster/launch_backend.c:911
 #, c-format
 msgid "could not remove file \"%s\": %m\n"
 msgstr "konnte Datei »%s« nicht löschen: %m\n"
 
-#: postmaster/launch_backend.c:940
+#: postmaster/launch_backend.c:927
 #, 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/launch_backend.c:959
+#: postmaster/launch_backend.c:946
 #, 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/launch_backend.c:966
+#: postmaster/launch_backend.c:953
 #, 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"
@@ -20032,138 +20713,138 @@ msgstr "Archivmodule müssen das Symbol %s definieren"
 msgid "archive modules must register an archive callback"
 msgstr "Archivmodule müssen einen Archiv-Callback registrieren"
 
-#: postmaster/postmaster.c:661
+#: postmaster/postmaster.c:668
 #, 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:734
+#: postmaster/postmaster.c:741
 #, 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:757
+#: postmaster/postmaster.c:764
 #, c-format
 msgid "%s: invalid argument: \"%s\"\n"
 msgstr "%s: ungültiges Argument: »%s«\n"
 
-#: postmaster/postmaster.c:825
+#: postmaster/postmaster.c:832
 #, c-format
 msgid "%s: \"superuser_reserved_connections\" (%d) plus \"reserved_connections\" (%d) must be less than \"max_connections\" (%d)\n"
 msgstr "%s: »superuser_reserved_connections« (%d) plus »reserved_connections« (%d) muss kleiner als »max_connections« (%d) sein\n"
 
-#: postmaster/postmaster.c:833
+#: postmaster/postmaster.c:840
 #, 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:836
+#: postmaster/postmaster.c:843
 #, c-format
 msgid "WAL streaming (\"max_wal_senders\" > 0) requires \"wal_level\" to be \"replica\" or \"logical\""
 msgstr "WAL-Streaming (»max_wal_senders« > 0) benötigt »wal_level« »replica« oder »logical«"
 
-#: postmaster/postmaster.c:839
+#: postmaster/postmaster.c:846
 #, c-format
 msgid "WAL cannot be summarized when \"wal_level\" is \"minimal\""
 msgstr "WAL kann nicht zusammengefasst werden, wenn »wal_level« »minimal« ist"
 
-#: postmaster/postmaster.c:847
+#: postmaster/postmaster.c:854
 #, c-format
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s: ungültige datetoken-Tabellen, bitte reparieren\n"
 
-#: postmaster/postmaster.c:1004
+#: postmaster/postmaster.c:1015
 #, 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:1069
+#: postmaster/postmaster.c:1081
 #, c-format
 msgid "ending log output to stderr"
 msgstr "Logausgabe nach stderr endet"
 
-#: postmaster/postmaster.c:1070
+#: postmaster/postmaster.c:1082
 #, c-format
 msgid "Future log output will go to log destination \"%s\"."
 msgstr "Die weitere Logausgabe geht an Logziel »%s«."
 
-#: postmaster/postmaster.c:1081
+#: postmaster/postmaster.c:1093
 #, c-format
 msgid "starting %s"
 msgstr "%s startet"
 
-#: postmaster/postmaster.c:1143
+#: postmaster/postmaster.c:1155
 #, c-format
 msgid "could not create listen socket for \"%s\""
 msgstr "konnte Listen-Socket für »%s« nicht erzeugen"
 
-#: postmaster/postmaster.c:1149
+#: postmaster/postmaster.c:1161
 #, c-format
 msgid "could not create any TCP/IP sockets"
 msgstr "konnte keine TCP/IP-Sockets erstellen"
 
-#: postmaster/postmaster.c:1181
+#: postmaster/postmaster.c:1193
 #, c-format
 msgid "DNSServiceRegister() failed: error code %ld"
 msgstr "DNSServiceRegister() fehlgeschlagen: Fehlercode %ld"
 
-#: postmaster/postmaster.c:1234
+#: postmaster/postmaster.c:1246
 #, 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:1240
+#: postmaster/postmaster.c:1252
 #, c-format
 msgid "could not create any Unix-domain sockets"
 msgstr "konnte keine Unix-Domain-Sockets erzeugen"
 
-#: postmaster/postmaster.c:1251
+#: postmaster/postmaster.c:1263
 #, c-format
 msgid "no socket created for listening"
 msgstr "keine Listen-Socket erzeugt"
 
-#: postmaster/postmaster.c:1282
+#: postmaster/postmaster.c:1294
 #, c-format
 msgid "%s: could not change permissions of external PID file \"%s\": %m\n"
 msgstr "%s: konnte Rechte der externen PID-Datei »%s« nicht ändern: %m\n"
 
-#: postmaster/postmaster.c:1286
+#: postmaster/postmaster.c:1298
 #, c-format
 msgid "%s: could not write external PID file \"%s\": %m\n"
 msgstr "%s: konnte externe PID-Datei »%s« nicht schreiben: %m\n"
 
 #. translator: %s is a configuration file
-#: postmaster/postmaster.c:1314 utils/init/postinit.c:221
+#: postmaster/postmaster.c:1326 utils/init/postinit.c:223
 #, c-format
 msgid "could not load %s"
 msgstr "konnte %s nicht laden"
 
-#: postmaster/postmaster.c:1342
+#: postmaster/postmaster.c:1354
 #, c-format
 msgid "postmaster became multithreaded during startup"
 msgstr "Postmaster ist während des Starts multithreaded geworden"
 
-#: postmaster/postmaster.c:1343 postmaster/postmaster.c:3684
+#: postmaster/postmaster.c:1355 postmaster/postmaster.c:3600
 #, 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:1442
+#: postmaster/postmaster.c:1454
 #, c-format
 msgid "%s: could not locate my own executable path"
 msgstr "%s: konnte Pfad des eigenen Programs nicht finden"
 
-#: postmaster/postmaster.c:1449
+#: postmaster/postmaster.c:1461
 #, c-format
 msgid "%s: could not locate matching postgres executable"
 msgstr "%s: konnte kein passendes Programm »postgres« finden"
 
-#: postmaster/postmaster.c:1472 utils/misc/tzparser.c:341
+#: postmaster/postmaster.c:1484 utils/misc/tzparser.c:342
 #, 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:1499
+#: postmaster/postmaster.c:1511
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -20175,329 +20856,316 @@ msgstr ""
 "aber die Datei »%s« konnte nicht geöffnet werden: %m\n"
 
 #. translator: %s is SIGKILL or SIGABRT
-#: postmaster/postmaster.c:1789
+#: postmaster/postmaster.c:1748
 #, c-format
 msgid "issuing %s to recalcitrant children"
 msgstr "%s wird an ungehorsame Kinder gesendet"
 
-#: postmaster/postmaster.c:1811
+#: postmaster/postmaster.c:1770
 #, 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:1874
-#, c-format
-msgid "wrong key in cancel request for process %d"
-msgstr "falscher Schlüssel in Stornierungsanfrage für Prozess %d"
-
-#: postmaster/postmaster.c:1886
-#, 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:2106
+#: postmaster/postmaster.c:1991
 #, c-format
 msgid "received SIGHUP, reloading configuration files"
 msgstr "SIGHUP empfangen, Konfigurationsdateien werden neu geladen"
 
 #. translator: %s is a configuration file
-#: postmaster/postmaster.c:2134 postmaster/postmaster.c:2138
+#: postmaster/postmaster.c:1999 postmaster/postmaster.c:2003
 #, c-format
 msgid "%s was not reloaded"
 msgstr "%s wurde nicht neu geladen"
 
-#: postmaster/postmaster.c:2148
+#: postmaster/postmaster.c:2013
 #, c-format
 msgid "SSL configuration was not reloaded"
 msgstr "SSL-Konfiguration wurde nicht neu geladen"
 
-#: postmaster/postmaster.c:2234
+#: postmaster/postmaster.c:2099
 #, c-format
 msgid "received smart shutdown request"
 msgstr "intelligentes Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2275
+#: postmaster/postmaster.c:2140
 #, c-format
 msgid "received fast shutdown request"
 msgstr "schnelles Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2293
+#: postmaster/postmaster.c:2158
 #, c-format
 msgid "aborting any active transactions"
 msgstr "etwaige aktive Transaktionen werden abgebrochen"
 
-#: postmaster/postmaster.c:2317
+#: postmaster/postmaster.c:2182
 #, c-format
 msgid "received immediate shutdown request"
 msgstr "sofortiges Herunterfahren verlangt"
 
-#: postmaster/postmaster.c:2389
+#: postmaster/postmaster.c:2257
 #, c-format
 msgid "shutdown at recovery target"
 msgstr "Herunterfahren beim Wiederherstellungsziel"
 
-#: postmaster/postmaster.c:2407 postmaster/postmaster.c:2443
+#: postmaster/postmaster.c:2275 postmaster/postmaster.c:2311
 msgid "startup process"
 msgstr "Startprozess"
 
-#: postmaster/postmaster.c:2410
+#: postmaster/postmaster.c:2278
 #, c-format
 msgid "aborting startup due to startup process failure"
 msgstr "Serverstart abgebrochen wegen Startprozessfehler"
 
-#: postmaster/postmaster.c:2485
+#: postmaster/postmaster.c:2334
 #, c-format
 msgid "database system is ready to accept connections"
 msgstr "Datenbanksystem ist bereit, um Verbindungen anzunehmen"
 
-#: postmaster/postmaster.c:2506
+#: postmaster/postmaster.c:2356
 msgid "background writer process"
 msgstr "Background-Writer-Prozess"
 
-#: postmaster/postmaster.c:2553
+#: postmaster/postmaster.c:2389
 msgid "checkpointer process"
 msgstr "Checkpointer-Prozess"
 
-#: postmaster/postmaster.c:2569
+#: postmaster/postmaster.c:2406
 msgid "WAL writer process"
 msgstr "WAL-Schreibprozess"
 
-#: postmaster/postmaster.c:2584
+#: postmaster/postmaster.c:2422
 msgid "WAL receiver process"
 msgstr "WAL-Receiver-Prozess"
 
-#: postmaster/postmaster.c:2598
+#: postmaster/postmaster.c:2437
 msgid "WAL summarizer process"
 msgstr "WAL-Summarizer-Prozess"
 
-#: postmaster/postmaster.c:2613
+#: postmaster/postmaster.c:2453
 msgid "autovacuum launcher process"
 msgstr "Autovacuum-Launcher-Prozess"
 
-#: postmaster/postmaster.c:2631
+#: postmaster/postmaster.c:2469
 msgid "archiver process"
 msgstr "Archivierprozess"
 
-#: postmaster/postmaster.c:2644
+#: postmaster/postmaster.c:2484
 msgid "system logger process"
 msgstr "Systemlogger-Prozess"
 
-#: postmaster/postmaster.c:2661
+#: postmaster/postmaster.c:2502
 msgid "slot sync worker process"
 msgstr "Slot-Sync-Arbeitsprozess"
 
-#: postmaster/postmaster.c:2717
+#: postmaster/postmaster.c:2522 postmaster/postmaster.c:2524
+#, fuzzy
+#| msgid "could not write to child process: %s\n"
+msgid "untracked child process"
+msgstr "konnte nicht an Kindprozess schreiben: %s\n"
+
+#: postmaster/postmaster.c:2557
 #, c-format
 msgid "background worker \"%s\""
 msgstr "Background-Worker »%s«"
 
-#: postmaster/postmaster.c:2796 postmaster/postmaster.c:2816
-#: postmaster/postmaster.c:2823 postmaster/postmaster.c:2841
-msgid "server process"
-msgstr "Serverprozess"
-
-#: postmaster/postmaster.c:2895
+#: postmaster/postmaster.c:2773
 #, 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:3082
+#: postmaster/postmaster.c:2806
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) beendete mit Status %d"
 
-#: postmaster/postmaster.c:3084 postmaster/postmaster.c:3096
-#: postmaster/postmaster.c:3106 postmaster/postmaster.c:3117
+#: postmaster/postmaster.c:2808 postmaster/postmaster.c:2820
+#: postmaster/postmaster.c:2830 postmaster/postmaster.c:2841
 #, 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:3093
+#: postmaster/postmaster.c:2817
 #, 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:3103
+#: postmaster/postmaster.c:2827
 #, 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:3115
+#: postmaster/postmaster.c:2839
 #, c-format
 msgid "%s (PID %d) exited with unrecognized status %d"
 msgstr "%s (PID %d) beendete mit unbekanntem Status %d"
 
-#: postmaster/postmaster.c:3331
+#: postmaster/postmaster.c:3114
 #, c-format
 msgid "abnormal database system shutdown"
 msgstr "abnormales Herunterfahren des Datenbanksystems"
 
-#: postmaster/postmaster.c:3357
+#: postmaster/postmaster.c:3140
 #, c-format
 msgid "shutting down due to startup process failure"
 msgstr "fahre herunter wegen Startprozessfehler"
 
-#: postmaster/postmaster.c:3363
+#: postmaster/postmaster.c:3146
 #, c-format
 msgid "shutting down because \"restart_after_crash\" is off"
 msgstr "fahre herunter, weil »restart_after_crash« aus ist"
 
-#: postmaster/postmaster.c:3375
+#: postmaster/postmaster.c:3158
 #, c-format
 msgid "all server processes terminated; reinitializing"
 msgstr "alle Serverprozesse beendet; initialisiere neu"
 
-#: postmaster/postmaster.c:3574 postmaster/postmaster.c:3985
-#: postmaster/postmaster.c:4374
-#, c-format
-msgid "could not generate random cancel key"
-msgstr "konnte zufälligen Stornierungsschlüssel nicht erzeugen"
-
-#: postmaster/postmaster.c:3607
+#: postmaster/postmaster.c:3530
 #, 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:3649
+#: postmaster/postmaster.c:3565
 msgid "could not fork new process for connection: "
 msgstr "konnte neuen Prozess für Verbindung nicht starten (fork-Fehler): "
 
-#: postmaster/postmaster.c:3683
+#: postmaster/postmaster.c:3599
 #, c-format
 msgid "postmaster became multithreaded"
 msgstr "Postmaster ist multithreaded geworden"
 
-#: postmaster/postmaster.c:3752
+#: postmaster/postmaster.c:3670
 #, c-format
 msgid "database system is ready to accept read-only connections"
 msgstr "Datenbanksystem ist bereit, um lesende Verbindungen anzunehmen"
 
-#: postmaster/postmaster.c:3935
+#: postmaster/postmaster.c:3771
+#, fuzzy, c-format
+#| msgid "manifest ended unexpectedly"
+msgid "WAL was shut down unexpectedly"
+msgstr "Manifest endete unerwartet"
+
+#: postmaster/postmaster.c:3896
+#, fuzzy, c-format
+#| msgid "no slot available for new background worker process"
+msgid "no slot available for new autovacuum worker process"
+msgstr "kein Slot für neuen Background-Worker-Prozess verfügbar"
+
+#: postmaster/postmaster.c:3911
 #, c-format
 msgid "could not fork \"%s\" process: %m"
 msgstr "konnte »%s«-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:4173 postmaster/postmaster.c:4207
-#, 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:4183 postmaster/postmaster.c:4217
+#: postmaster/postmaster.c:4070
 #, c-format
-msgid "invalid processing mode in background worker"
-msgstr "ungültiger Verarbeitungsmodus in Background-Worker"
+msgid "no slot available for new background worker process"
+msgstr "kein Slot für neuen Background-Worker-Prozess verfügbar"
 
-#: postmaster/postmaster.c:4277
+#: postmaster/postmaster.c:4088
 #, c-format
 msgid "could not fork background worker process: %m"
 msgstr "konnte Background-Worker-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/postmaster.c:4360
-#, c-format
-msgid "no slot available for new background worker process"
-msgstr "kein Slot für neuen Background-Worker-Prozess verfügbar"
-
-#: postmaster/postmaster.c:4623
+#: postmaster/postmaster.c:4327
 #, c-format
 msgid "could not read exit code for process\n"
 msgstr "konnte Exitcode des Prozesses nicht lesen\n"
 
-#: postmaster/postmaster.c:4665
+#: postmaster/postmaster.c:4369
 #, c-format
 msgid "could not post child completion status\n"
 msgstr "konnte Child-Completion-Status nicht versenden\n"
 
-#: postmaster/syslogger.c:529 postmaster/syslogger.c:1173
+#: postmaster/syslogger.c:527 postmaster/syslogger.c:1172
 #, c-format
 msgid "could not read from logger pipe: %m"
 msgstr "konnte nicht aus Logger-Pipe lesen: %m"
 
-#: postmaster/syslogger.c:629 postmaster/syslogger.c:643
+#: postmaster/syslogger.c:626 postmaster/syslogger.c:640
 #, c-format
 msgid "could not create pipe for syslog: %m"
 msgstr "konnte Pipe für Syslog nicht erzeugen: %m"
 
-#: postmaster/syslogger.c:712
+#: postmaster/syslogger.c:711
 #, c-format
 msgid "could not fork system logger: %m"
 msgstr "konnte Systemlogger nicht starten (fork-Fehler): %m"
 
-#: postmaster/syslogger.c:731
+#: postmaster/syslogger.c:730
 #, c-format
 msgid "redirecting log output to logging collector process"
 msgstr "Logausgabe wird an Logsammelprozess umgeleitet"
 
-#: postmaster/syslogger.c:732
+#: postmaster/syslogger.c:731
 #, c-format
 msgid "Future log output will appear in directory \"%s\"."
 msgstr "Die weitere Logausgabe wird im Verzeichnis »%s« erscheinen."
 
-#: postmaster/syslogger.c:740
+#: postmaster/syslogger.c:739
 #, c-format
 msgid "could not redirect stdout: %m"
 msgstr "konnte Standardausgabe nicht umleiten: %m"
 
-#: postmaster/syslogger.c:745 postmaster/syslogger.c:762
+#: postmaster/syslogger.c:744 postmaster/syslogger.c:761
 #, c-format
 msgid "could not redirect stderr: %m"
 msgstr "konnte Standardfehlerausgabe nicht umleiten: %m"
 
-#: postmaster/syslogger.c:1128
+#: postmaster/syslogger.c:1127
 #, c-format
 msgid "could not write to log file: %m\n"
 msgstr "konnte nicht in Logdatei schreiben: %m\n"
 
-#: postmaster/syslogger.c:1246
+#: postmaster/syslogger.c:1247
 #, c-format
 msgid "could not open log file \"%s\": %m"
 msgstr "konnte Logdatei »%s« nicht öffnen: %m"
 
-#: postmaster/syslogger.c:1336
+#: postmaster/syslogger.c:1337
 #, c-format
 msgid "disabling automatic rotation (use SIGHUP to re-enable)"
 msgstr "automatische Rotation abgeschaltet (SIGHUP zum Wiederanschalten verwenden)"
 
-#: postmaster/walsummarizer.c:740
+#: postmaster/walsummarizer.c:741
 #, c-format
 msgid "WAL summarization is not progressing"
 msgstr "WAL-Zusammenfassung kommt nicht voran"
 
-#: postmaster/walsummarizer.c:741
+#: postmaster/walsummarizer.c:742
 #, c-format
 msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory."
 msgstr "Zusammenfassung bis %X/%X wird benötigt, aber sie hängt fest bei %X/%X auf Festplatte und %X/%X im Speicher."
 
-#: postmaster/walsummarizer.c:755
+#: postmaster/walsummarizer.c:756
 #, c-format
 msgid "still waiting for WAL summarization through %X/%X after %ld second"
 msgid_plural "still waiting for WAL summarization through %X/%X after %ld seconds"
 msgstr[0] "warte immer noch auf WAL-Zusammenfassung bis %X/%X nach %ld Sekunde"
 msgstr[1] "warte immer noch auf WAL-Zusammenfassung bis %X/%X nach %ld Sekunden"
 
-#: postmaster/walsummarizer.c:760
+#: postmaster/walsummarizer.c:761
 #, c-format
 msgid "Summarization has reached %X/%X on disk and %X/%X in memory."
 msgstr "Zusammenfassung hat %X/%X auf Festplatte und %X/%X im Speicher erreicht."
 
-#: postmaster/walsummarizer.c:1000
+#: postmaster/walsummarizer.c:1001
 #, c-format
 msgid "could not find a valid record after %X/%X"
 msgstr "konnte keinen gültigen Datensatz nach %X/%X finden"
 
-#: postmaster/walsummarizer.c:1045
+#: postmaster/walsummarizer.c:1046
 #, c-format
 msgid "could not read WAL from timeline %u at %X/%X: %s"
 msgstr "konnte WAL aus Zeitleiste %u bei %X/%X nicht lesen: %s"
 
-#: postmaster/walsummarizer.c:1051
+#: postmaster/walsummarizer.c:1052
 #, c-format
 msgid "could not read WAL from timeline %u at %X/%X"
 msgstr "konnte WAL aus Zeitleiste %u bei %X/%X nicht lesen"
@@ -20507,158 +21175,158 @@ msgstr "konnte WAL aus Zeitleiste %u bei %X/%X nicht lesen"
 msgid "could not determine which collation to use for regular expression"
 msgstr "konnte die für den regulären Ausdruck zu verwendende Sortierfolge nicht bestimmen"
 
-#: regex/regc_pg_locale.c:262
+#: regex/regc_pg_locale.c:265
 #, c-format
 msgid "nondeterministic collations are not supported for regular expressions"
 msgstr "nichtdeterministische Sortierfolgen werden von regulären Ausdrücken nicht unterstützt"
 
-#: repl_gram.y:318 repl_gram.y:359
+#: repl_gram.y:322 repl_gram.y:363
 #, c-format
 msgid "invalid timeline %u"
 msgstr "ungültige Zeitleiste %u"
 
-#: repl_scanner.l:154
+#: repl_scanner.l:160
 msgid "invalid streaming start location"
 msgstr "ungültige Streaming-Startposition"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:267
-#: replication/libpqwalreceiver/libpqwalreceiver.c:358
+#: replication/libpqwalreceiver/libpqwalreceiver.c:268
+#: replication/libpqwalreceiver/libpqwalreceiver.c:359
 #, c-format
 msgid "password is required"
 msgstr "Passwort wird benötigt"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:268
+#: replication/libpqwalreceiver/libpqwalreceiver.c:269
 #, c-format
 msgid "Non-superuser cannot connect if the server does not request a password."
 msgstr "Nicht-Superuser kann nicht verbinden, wenn der Server kein Passwort anfordert."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:269
+#: replication/libpqwalreceiver/libpqwalreceiver.c:270
 #, c-format
 msgid "Target server's authentication method must be changed, or set password_required=false in the subscription parameters."
 msgstr "Die Authentifizierungsmethode des Zielservers muss geändern werden oder setzen Sie password_required=false in den Subskriptionsparametern."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:285
+#: replication/libpqwalreceiver/libpqwalreceiver.c:286
 #, c-format
 msgid "could not clear search path: %s"
 msgstr "konnte Suchpfad nicht auf leer setzen: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:331
-#: replication/libpqwalreceiver/libpqwalreceiver.c:517
+#: replication/libpqwalreceiver/libpqwalreceiver.c:332
+#: replication/libpqwalreceiver/libpqwalreceiver.c:518
 #, c-format
 msgid "invalid connection string syntax: %s"
 msgstr "ungültige Syntax für Verbindungszeichenkette: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:359
+#: replication/libpqwalreceiver/libpqwalreceiver.c:360
 #, c-format
 msgid "Non-superusers must provide a password in the connection string."
 msgstr "Nicht-Superuser müssen ein Passwort in den Verbindungsparametern angeben."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:386
+#: replication/libpqwalreceiver/libpqwalreceiver.c:387
 #, c-format
 msgid "could not parse connection string: %s"
 msgstr "konnte Verbindungsparameter nicht interpretieren: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:459
+#: replication/libpqwalreceiver/libpqwalreceiver.c:460
 #, 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:476
-#: replication/libpqwalreceiver/libpqwalreceiver.c:763
+#: replication/libpqwalreceiver/libpqwalreceiver.c:477
+#: replication/libpqwalreceiver/libpqwalreceiver.c:764
 #, c-format
 msgid "invalid response from primary server"
 msgstr "ungültige Antwort vom Primärserver"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:477
+#: replication/libpqwalreceiver/libpqwalreceiver.c:478
 #, 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:606
-#: replication/libpqwalreceiver/libpqwalreceiver.c:613
-#: replication/libpqwalreceiver/libpqwalreceiver.c:643
+#: replication/libpqwalreceiver/libpqwalreceiver.c:607
+#: replication/libpqwalreceiver/libpqwalreceiver.c:614
+#: replication/libpqwalreceiver/libpqwalreceiver.c:644
 #, c-format
 msgid "could not start WAL streaming: %s"
 msgstr "konnte WAL-Streaming nicht starten: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:667
+#: replication/libpqwalreceiver/libpqwalreceiver.c:668
 #, 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:690
+#: replication/libpqwalreceiver/libpqwalreceiver.c:691
 #, c-format
 msgid "unexpected result set after end-of-streaming"
 msgstr "unerwartete Ergebnismenge nach End-of-Streaming"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:705
+#: replication/libpqwalreceiver/libpqwalreceiver.c:706
 #, c-format
 msgid "error while shutting down streaming COPY: %s"
 msgstr "Fehler beim Beenden des COPY-Datenstroms: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:715
+#: replication/libpqwalreceiver/libpqwalreceiver.c:716
 #, c-format
 msgid "error reading result of streaming command: %s"
 msgstr "Fehler beim Lesen des Ergebnisses von Streaming-Befehl: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:724
-#: replication/libpqwalreceiver/libpqwalreceiver.c:957
+#: replication/libpqwalreceiver/libpqwalreceiver.c:725
+#: replication/libpqwalreceiver/libpqwalreceiver.c:958
 #, c-format
 msgid "unexpected result after CommandComplete: %s"
 msgstr "unerwartetes Ergebnis nach CommandComplete: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:751
+#: replication/libpqwalreceiver/libpqwalreceiver.c:752
 #, 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:764
+#: replication/libpqwalreceiver/libpqwalreceiver.c:765
 #, 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:920
-#: replication/libpqwalreceiver/libpqwalreceiver.c:973
-#: replication/libpqwalreceiver/libpqwalreceiver.c:980
+#: replication/libpqwalreceiver/libpqwalreceiver.c:921
+#: replication/libpqwalreceiver/libpqwalreceiver.c:974
+#: replication/libpqwalreceiver/libpqwalreceiver.c:981
 #, c-format
 msgid "could not receive data from WAL stream: %s"
 msgstr "konnte keine Daten vom WAL-Stream empfangen: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1000
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1001
 #, 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:1101
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1102
 #, c-format
 msgid "could not create replication slot \"%s\": %s"
 msgstr "konnte Replikations-Slot »%s« nicht erzeugen: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1140
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1153
 #, c-format
 msgid "could not alter replication slot \"%s\": %s"
 msgstr "konnte Replikations-Slot »%s« nicht ändern: %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1174
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1187
 #, c-format
 msgid "invalid query response"
 msgstr "ungültige Antwort auf Anfrage"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1175
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1188
 #, c-format
 msgid "Expected %d fields, got %d fields."
 msgstr "%d Felder erwartet, %d Feldern erhalten."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1245
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1258
 #, c-format
 msgid "the query interface requires a database connection"
 msgstr "Ausführen von Anfragen benötigt eine Datenbankverbindung"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1277
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1290
 msgid "empty query"
 msgstr "leere Anfrage"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:1283
+#: replication/libpqwalreceiver/libpqwalreceiver.c:1296
 msgid "unexpected pipeline mode"
 msgstr "unerwarteter Pipeline-Modus"
 
@@ -20698,41 +21366,163 @@ msgstr "konnte Daten nicht an Shared-Memory-Queue senden"
 msgid "logical replication apply worker will serialize the remaining changes of remote transaction %u to a file"
 msgstr "Apply-Worker für logische Replikation wird die restlichen Änderungen der Remote-Transaktion %u in eine Datei serialisieren"
 
+#: replication/logical/conflict.c:122
+#, fuzzy, c-format
+#| msgid "cannot use column list for relation \"%s.%s\" in publication \"%s\""
+msgid "conflict detected on relation \"%s.%s\": conflict=%s"
+msgstr "für Relation »%s.%s« in Publikation »%s« kann keine Spaltenliste verwendet werden"
+
+#: replication/logical/conflict.c:217
+#, c-format
+msgid "Key already exists in unique index \"%s\", modified locally in transaction %u at %s."
+msgstr ""
+
+#: replication/logical/conflict.c:221
+#, c-format
+msgid "Key already exists in unique index \"%s\", modified by origin \"%s\" in transaction %u at %s."
+msgstr ""
+
+#: replication/logical/conflict.c:233
+#, c-format
+msgid "Key already exists in unique index \"%s\", modified by a non-existent origin in transaction %u at %s."
+msgstr ""
+
+#: replication/logical/conflict.c:238
+#, c-format
+msgid "Key already exists in unique index \"%s\", modified in transaction %u."
+msgstr ""
+
+#: replication/logical/conflict.c:245
+#, c-format
+msgid "Updating the row that was modified locally in transaction %u at %s."
+msgstr ""
+
+#: replication/logical/conflict.c:248
+#, c-format
+msgid "Updating the row that was modified by a different origin \"%s\" in transaction %u at %s."
+msgstr ""
+
+#: replication/logical/conflict.c:253
+#, c-format
+msgid "Updating the row that was modified by a non-existent origin in transaction %u at %s."
+msgstr ""
+
+#: replication/logical/conflict.c:259
+#, fuzzy
+#| msgid "could not find a \"%s\" to execute"
+msgid "Could not find the row to be updated."
+msgstr "konnte kein »%s« zum Ausführen finden"
+
+#: replication/logical/conflict.c:264
+#, c-format
+msgid "Deleting the row that was modified locally in transaction %u at %s."
+msgstr ""
+
+#: replication/logical/conflict.c:267
+#, c-format
+msgid "Deleting the row that was modified by a different origin \"%s\" in transaction %u at %s."
+msgstr ""
+
+#: replication/logical/conflict.c:272
+#, c-format
+msgid "Deleting the row that was modified by a non-existent origin in transaction %u at %s."
+msgstr ""
+
+#: replication/logical/conflict.c:278
+#, fuzzy
+#| msgid "could not find a \"%s\" to execute"
+msgid "Could not find the row to be deleted."
+msgstr "konnte kein »%s« zum Ausführen finden"
+
+#: replication/logical/conflict.c:333
+#, c-format
+msgid "Key %s"
+msgstr ""
+
+#: replication/logical/conflict.c:350
+#, c-format
+msgid "existing local tuple %s"
+msgstr ""
+
+#: replication/logical/conflict.c:355
+#, c-format
+msgid "Existing local tuple %s"
+msgstr ""
+
+#: replication/logical/conflict.c:382
+#, fuzzy, c-format
+#| msgid "composite type %s"
+msgid "remote tuple %s"
+msgstr "zusammengesetzter Typ %s"
+
+#: replication/logical/conflict.c:386
+#, fuzzy, c-format
+#| msgid "composite type %s"
+msgid "Remote tuple %s"
+msgstr "zusammengesetzter Typ %s"
+
+#: replication/logical/conflict.c:420
+#, fuzzy, c-format
+#| msgid ", replica identity"
+msgid "replica identity %s"
+msgstr ", Replika-Identität"
+
+#: replication/logical/conflict.c:421
+#, fuzzy, c-format
+#| msgid ", replica identity"
+msgid "replica identity full %s"
+msgstr ", Replika-Identität"
+
+#: replication/logical/conflict.c:426
+#, fuzzy, c-format
+#| msgid "Replica Identity"
+msgid "Replica identity %s"
+msgstr "Replika-Identität"
+
+#: replication/logical/conflict.c:427
+#, fuzzy, c-format
+#| msgid "Replica Identity"
+msgid "Replica identity full %s"
+msgstr "Replika-Identität"
+
 #: replication/logical/decode.c:177 replication/logical/logical.c:141
 #, c-format
 msgid "logical decoding on standby requires \"wal_level\" >= \"logical\" on the primary"
 msgstr "logische Dekodierung auf dem Standby-Server erfordert »wal_level« >= »logical« auf dem Primärserver"
 
-#: replication/logical/launcher.c:334
-#, c-format
-msgid "cannot start logical replication workers when max_replication_slots = 0"
+#: replication/logical/launcher.c:331
+#, fuzzy, c-format
+#| msgid "cannot start logical replication workers when max_replication_slots = 0"
+msgid "cannot start logical replication workers when \"max_replication_slots\"=0"
 msgstr "Arbeitsprozesse für logische Replikation können nicht gestartet werden, wenn max_replication_slots = 0"
 
-#: replication/logical/launcher.c:427
+#: replication/logical/launcher.c:424
 #, c-format
 msgid "out of logical replication worker slots"
 msgstr "alle Slots für Arbeitsprozesse für logische Replikation belegt"
 
-#: replication/logical/launcher.c:428 replication/logical/launcher.c:514
-#: replication/slot.c:1524 storage/lmgr/lock.c:985 storage/lmgr/lock.c:1023
-#: storage/lmgr/lock.c:2836 storage/lmgr/lock.c:4221 storage/lmgr/lock.c:4286
-#: storage/lmgr/lock.c:4636 storage/lmgr/predicate.c:2469
-#: storage/lmgr/predicate.c:2484 storage/lmgr/predicate.c:3881
+#. translator: %s is a GUC variable name
+#: replication/logical/launcher.c:425 replication/logical/launcher.c:511
+#: replication/slot.c:1556 replication/slot.c:1579 storage/lmgr/lock.c:1033
+#: storage/lmgr/lock.c:1071 storage/lmgr/lock.c:2908 storage/lmgr/lock.c:4311
+#: storage/lmgr/lock.c:4376 storage/lmgr/lock.c:4726
+#: storage/lmgr/predicate.c:2469 storage/lmgr/predicate.c:2484
+#: storage/lmgr/predicate.c:3881
 #, c-format
 msgid "You might need to increase \"%s\"."
 msgstr "Sie müssen möglicherweise »%s« erhöhen."
 
-#: replication/logical/launcher.c:513
+#: replication/logical/launcher.c:510
 #, c-format
 msgid "out of background worker slots"
 msgstr "alle Slots für Background-Worker belegt"
 
-#: replication/logical/launcher.c:720
+#: replication/logical/launcher.c:717
 #, c-format
 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:729
+#: replication/logical/launcher.c:726
 #, 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"
@@ -20767,8 +21557,8 @@ msgstr "logischer Replikations-Slot kann nicht in einer Transaktion erzeugt werd
 msgid "cannot use replication slot \"%s\" for logical decoding"
 msgstr "physischer Replikations-Slot »%s« kann nicht für logisches Dekodieren verwendet werden"
 
-#: replication/logical/logical.c:542 replication/slot.c:798
-#: replication/slot.c:829
+#: replication/logical/logical.c:542 replication/slot.c:828
+#: replication/slot.c:863
 #, c-format
 msgid "This replication slot is being synchronized from the primary server."
 msgstr "Dieser Replikations-Slot wird vom Primärserver synchronisiert."
@@ -20778,55 +21568,40 @@ msgstr "Dieser Replikations-Slot wird vom Primärserver synchronisiert."
 msgid "Specify another replication slot."
 msgstr "Geben Sie einen anderen Replikations-Slot an."
 
-#: replication/logical/logical.c:554 replication/logical/logical.c:561
-#, c-format
-msgid "can no longer get changes from replication slot \"%s\""
-msgstr "aus Replikations-Slot »%s« können keine Änderungen mehr gelesen werden"
-
-#: replication/logical/logical.c:556
-#, c-format
-msgid "This slot has been invalidated because it exceeded the maximum reserved size."
-msgstr "Dieser Slot wurde ungültig gemacht, weil er die maximale reservierte Größe überschritten hat."
-
-#: replication/logical/logical.c:563
-#, c-format
-msgid "This slot has been invalidated because it was conflicting with recovery."
-msgstr "Dieser Slot wurde ungültig gemacht, weil er mit der Wiederherstellung kollidierte."
-
-#: replication/logical/logical.c:628
+#: replication/logical/logical.c:609
 #, c-format
 msgid "starting logical decoding for slot \"%s\""
 msgstr "starte logisches Dekodieren für Slot »%s«"
 
-#: replication/logical/logical.c:630
+#: replication/logical/logical.c:611
 #, c-format
 msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
 msgstr "Streaming beginnt bei Transaktionen, die nach %X/%X committen; lese WAL ab %X/%X."
 
-#: replication/logical/logical.c:778
+#: replication/logical/logical.c:759
 #, 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:784
+#: replication/logical/logical.c:765
 #, c-format
 msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
 msgstr "Slot »%s«, Ausgabe-Plugin »%s«, im Callback %s"
 
-#: replication/logical/logical.c:955 replication/logical/logical.c:1000
-#: replication/logical/logical.c:1045 replication/logical/logical.c:1091
+#: replication/logical/logical.c:936 replication/logical/logical.c:981
+#: replication/logical/logical.c:1026 replication/logical/logical.c:1072
 #, c-format
 msgid "logical replication at prepare time requires a %s callback"
 msgstr "logische Replikation bei PREPARE TRANSACTION benötigt einen %s-Callback"
 
-#: replication/logical/logical.c:1323 replication/logical/logical.c:1372
-#: replication/logical/logical.c:1413 replication/logical/logical.c:1499
-#: replication/logical/logical.c:1548
+#: replication/logical/logical.c:1304 replication/logical/logical.c:1353
+#: replication/logical/logical.c:1394 replication/logical/logical.c:1480
+#: replication/logical/logical.c:1529
 #, c-format
 msgid "logical streaming requires a %s callback"
 msgstr "logisches Streaming benötigt einen %s-Callback"
 
-#: replication/logical/logical.c:1458
+#: replication/logical/logical.c:1439
 #, c-format
 msgid "logical streaming at prepare time requires a %s callback"
 msgstr "logisches Streaming bei PREPARE TRANSACTION benötigt einen %s-Callback"
@@ -20851,7 +21626,7 @@ msgstr "Array muss eindimensional sein"
 msgid "array must not contain nulls"
 msgstr "Array darf keine NULL-Werte enthalten"
 
-#: replication/logical/logicalfuncs.c:177 utils/adt/json.c:1420
+#: replication/logical/logicalfuncs.c:177 utils/adt/json.c:1428
 #: utils/adt/jsonb.c:1304
 #, c-format
 msgid "array must have even number of elements"
@@ -20862,209 +21637,220 @@ msgstr "Array muss eine gerade Anzahl Elemente haben"
 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:190
+#: replication/logical/origin.c:194
 #, c-format
 msgid "cannot query or manipulate replication origin when \"max_replication_slots\" is 0"
 msgstr "Replication-Origin kann nicht abgefragt oder geändert werden, wenn »max_replication_slots« 0 ist"
 
-#: replication/logical/origin.c:195
+#: replication/logical/origin.c:199
 #, 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:240
+#: replication/logical/origin.c:244
 #, c-format
 msgid "replication origin \"%s\" does not exist"
 msgstr "Replication-Origin »%s« existiert nicht"
 
-#: replication/logical/origin.c:331
+#: replication/logical/origin.c:335
 #, c-format
 msgid "could not find free replication origin ID"
 msgstr "konnte keine freie Replication-Origin-ID finden"
 
-#: replication/logical/origin.c:365
+#: replication/logical/origin.c:369
 #, c-format
 msgid "could not drop replication origin with ID %d, in use by PID %d"
 msgstr "konnte Replication-Origin mit ID %d nicht löschen, wird von PID %d verwendet"
 
-#: replication/logical/origin.c:492
+#: replication/logical/origin.c:496
 #, c-format
 msgid "replication origin with ID %d does not exist"
 msgstr "Replication-Origin mit ID %d existiert nicht"
 
-#: replication/logical/origin.c:757
+#: replication/logical/origin.c:761
 #, 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:798
+#: replication/logical/origin.c:802
 #, 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:806
+#: replication/logical/origin.c:810
 #, c-format
 msgid "recovered replication state of node %d to %X/%X"
 msgstr "Replikationszustand von Knoten %d auf %X/%X wiederhergestellt"
 
-#: replication/logical/origin.c:816
+#: replication/logical/origin.c:820
 #, 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:944 replication/logical/origin.c:1143
+#: replication/logical/origin.c:948 replication/logical/origin.c:1147
 #, c-format
 msgid "replication origin with ID %d is already active for PID %d"
 msgstr "Replication-Origin mit ID %d ist bereits aktiv für PID %d"
 
-#: replication/logical/origin.c:955 replication/logical/origin.c:1156
+#: replication/logical/origin.c:959 replication/logical/origin.c:1160
 #, c-format
 msgid "could not find free replication state slot for replication origin with ID %d"
 msgstr "konnte keinen freien Replication-State-Slot für Replication-Origin mit ID %d finden"
 
-#: replication/logical/origin.c:957 replication/logical/origin.c:1158
-#: replication/slot.c:2384
+#: replication/logical/origin.c:961 replication/logical/origin.c:1162
+#: replication/slot.c:2599
 #, 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:1114
+#: replication/logical/origin.c:1118
 #, 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:1199 replication/logical/origin.c:1415
-#: replication/logical/origin.c:1435
+#: replication/logical/origin.c:1203 replication/logical/origin.c:1419
+#: replication/logical/origin.c:1439
 #, c-format
 msgid "no replication origin is configured"
 msgstr "kein Replication-Origin konfiguriert"
 
-#: replication/logical/origin.c:1285
+#: replication/logical/origin.c:1289
 #, c-format
 msgid "replication origin name \"%s\" is reserved"
 msgstr "Replication-Origin-Name »%s« ist reserviert"
 
-#: replication/logical/origin.c:1287
+#: replication/logical/origin.c:1291
 #, c-format
 msgid "Origin names \"%s\", \"%s\", and names starting with \"pg_\" are reserved."
 msgstr "Replication-Origin-Namen »%s«, »%s« und Namen, die mit »pg_« anfangen, sind reserviert."
 
-#: replication/logical/relation.c:242
+#: replication/logical/relation.c:241
+msgid ", "
+msgstr ", "
+
+#: replication/logical/relation.c:243
 #, c-format
 msgid "\"%s\""
 msgstr "»%s«"
 
-#: replication/logical/relation.c:245
-#, c-format
-msgid ", \"%s\""
-msgstr ", »%s«"
-
-#: replication/logical/relation.c:251
+#: replication/logical/relation.c:262
 #, c-format
 msgid "logical replication target relation \"%s.%s\" is missing replicated column: %s"
 msgid_plural "logical replication target relation \"%s.%s\" is missing replicated columns: %s"
 msgstr[0] "in Zielrelation für logische Replikation »%s.%s« fehlt eine replizierte Spalte: %s"
 msgstr[1] "in Zielrelation für logische Replikation »%s.%s« fehlen replizierte Spalten: %s"
 
-#: replication/logical/relation.c:306
+#: replication/logical/relation.c:273
+#, fuzzy, c-format
+#| msgid "logical replication target relation \"%s.%s\" is missing replicated column: %s"
+#| msgid_plural "logical replication target relation \"%s.%s\" is missing replicated columns: %s"
+msgid "logical replication target relation \"%s.%s\" has incompatible generated column: %s"
+msgid_plural "logical replication target relation \"%s.%s\" has incompatible generated columns: %s"
+msgstr[0] "in Zielrelation für logische Replikation »%s.%s« fehlt eine replizierte Spalte: %s"
+msgstr[1] "in Zielrelation für logische Replikation »%s.%s« fehlen replizierte Spalten: %s"
+
+#: replication/logical/relation.c:328
 #, c-format
 msgid "logical replication target relation \"%s.%s\" uses system columns in REPLICA IDENTITY index"
 msgstr "Zielrelation für logische Replikation »%s.%s« verwendet Systemspalten in REPLICA-IDENTITY-Index"
 
-#: replication/logical/relation.c:398
+#: replication/logical/relation.c:421
 #, c-format
 msgid "logical replication target relation \"%s.%s\" does not exist"
 msgstr "Zielrelation für logische Replikation »%s.%s« existiert nicht"
 
-#: replication/logical/reorderbuffer.c:3999
+#: replication/logical/reorderbuffer.c:4122
 #, 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:4345
-#: replication/logical/reorderbuffer.c:4370
+#: replication/logical/reorderbuffer.c:4468
+#: replication/logical/reorderbuffer.c:4493
 #, 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:4349
-#: replication/logical/reorderbuffer.c:4374
+#: replication/logical/reorderbuffer.c:4472
+#: replication/logical/reorderbuffer.c:4497
 #, 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:4624
-#, c-format
-msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m"
+#: replication/logical/reorderbuffer.c:4747
+#, fuzzy, c-format
+#| msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m"
+msgid "could not remove file \"%s\" during removal of %s/%s/xid*: %m"
 msgstr "konnte Datei »%s« nicht löschen, bei Löschen von pg_replslot/%s/xid*: %m"
 
-#: replication/logical/reorderbuffer.c:5120
+#: replication/logical/reorderbuffer.c:5244
 #, 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/slotsync.c:215
+#: replication/logical/slotsync.c:213
 #, c-format
 msgid "could not synchronize replication slot \"%s\" because remote slot precedes local slot"
 msgstr "konnte Replikations-Slot »%s« nicht synchronisieren, weil der Remote-Slot dem lokalen vorangeht"
 
-#: replication/logical/slotsync.c:217
+#: replication/logical/slotsync.c:215
 #, c-format
 msgid "The remote slot has LSN %X/%X and catalog xmin %u, but the local slot has LSN %X/%X and catalog xmin %u."
 msgstr "Der Remote-Slot hat LSN %X/%X und Katalog-xmin %u, aber der lokale Slot hat LSN %X/%X und Katalog-xmin %u."
 
-#: replication/logical/slotsync.c:459
+#: replication/logical/slotsync.c:457
 #, c-format
 msgid "dropped replication slot \"%s\" of database with OID %u"
 msgstr "Replikations-Slot »%s« von Datenbank mit OID %u wurde gelöscht"
 
-#: replication/logical/slotsync.c:579
+#: replication/logical/slotsync.c:577
 #, c-format
 msgid "could not synchronize replication slot \"%s\""
 msgstr "konnte Replikations-Slot »%s« nicht synchronisieren"
 
-#: replication/logical/slotsync.c:580
+#: replication/logical/slotsync.c:578
 #, c-format
 msgid "Logical decoding could not find consistent point from local slot's LSN %X/%X."
 msgstr "Logisches Dekodieren konnte keinen konsistenten Punkt von der LSN des lokalen Slots %X/%X finden."
 
-#: replication/logical/slotsync.c:589
+#: replication/logical/slotsync.c:587
 #, c-format
 msgid "newly created replication slot \"%s\" is sync-ready now"
 msgstr "neu erzeugter Replikations-Slot »%s« ist jetzt bereit für die Synchronisierung"
 
-#: replication/logical/slotsync.c:628
+#: replication/logical/slotsync.c:626
 #, c-format
 msgid "skipping slot synchronization because the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X"
 msgstr "Slot-Synchronisierung wird übersprungen, weil die empfangene Slot-Sync-LSN %X/%X für Slot »%s« der Position %X/%X des Standbys voraus ist"
 
-#: replication/logical/slotsync.c:650
+#: replication/logical/slotsync.c:648
 #, c-format
 msgid "exiting from slot synchronization because same name slot \"%s\" already exists on the standby"
 msgstr "verlasse Slot-Synchronisierung, weil der gleiche Slot »%s« schon auf dem Standby existiert"
 
-#: replication/logical/slotsync.c:819
+#: replication/logical/slotsync.c:817
 #, c-format
 msgid "could not fetch failover logical slots info from the primary server: %s"
 msgstr "konnte Informationen über logische Failover-Slots nicht vom Primärserver holen: %s"
 
-#: replication/logical/slotsync.c:965
-#, c-format
-msgid "could not fetch primary_slot_name \"%s\" info from the primary server: %s"
+#: replication/logical/slotsync.c:963
+#, fuzzy, c-format
+#| msgid "could not fetch primary_slot_name \"%s\" info from the primary server: %s"
+msgid "could not fetch primary slot name \"%s\" info from the primary server: %s"
 msgstr "konnte Informationen über primary_slot_name »%s« nicht vom Primärserver holen: %s"
 
-#: replication/logical/slotsync.c:967
-#, c-format
-msgid "Check if primary_slot_name is configured correctly."
+#: replication/logical/slotsync.c:965
+#, fuzzy, c-format
+#| msgid "Check if primary_slot_name is configured correctly."
+msgid "Check if \"primary_slot_name\" is configured correctly."
 msgstr "Prüfen Sie, ob primary_slot_name korrekt konfiguriert ist."
 
-#: replication/logical/slotsync.c:987
+#: replication/logical/slotsync.c:985
 #, c-format
 msgid "cannot synchronize replication slots from a standby server"
 msgstr "Replikations-Slots können nicht von einem Standby-Server synchronisiert werden"
 
 #. translator: second %s is a GUC variable name
-#: replication/logical/slotsync.c:996
+#: replication/logical/slotsync.c:994
 #, c-format
 msgid "replication slot \"%s\" specified by \"%s\" does not exist on primary server"
 msgstr "Replikations-Slot »%s«, der in »%s« angegeben ist, existiert auf dem Publikationsserver nicht"
@@ -21072,129 +21858,129 @@ msgstr "Replikations-Slot »%s«, der in »%s« angegeben ist, existiert auf dem
 #. translator: first %s is a connection option; second %s is a GUC
 #. variable name
 #.
-#: replication/logical/slotsync.c:1029
+#: replication/logical/slotsync.c:1027
 #, c-format
 msgid "replication slot synchronization requires \"%s\" to be specified in \"%s\""
 msgstr "Replikations-Slot-Synchronisierung erfordert, dass »%s« in »%s« angegeben wird"
 
-#: replication/logical/slotsync.c:1050
+#: replication/logical/slotsync.c:1048
 #, c-format
 msgid "replication slot synchronization requires \"wal_level\" >= \"logical\""
 msgstr "Replikations-Slot-Synchronisierung erfordert »wal_level« >= »logical«"
 
 #. translator: %s is a GUC variable name
-#: replication/logical/slotsync.c:1063 replication/logical/slotsync.c:1091
+#: replication/logical/slotsync.c:1061 replication/logical/slotsync.c:1089
 #, c-format
 msgid "replication slot synchronization requires \"%s\" to be set"
 msgstr "Replikations-Slot-Synchronisierung erfordert, dass »%s« definiert ist"
 
 #. translator: %s is a GUC variable name
-#: replication/logical/slotsync.c:1077
+#: replication/logical/slotsync.c:1075
 #, c-format
 msgid "replication slot synchronization requires \"%s\" to be enabled"
 msgstr "Replikations-Slot-Synchronisierung erfordert, dass »%s« eingeschaltet ist"
 
 #. translator: %s is a GUC variable name
-#: replication/logical/slotsync.c:1129
+#: replication/logical/slotsync.c:1127
 #, c-format
 msgid "replication slot synchronization worker will shut down because \"%s\" is disabled"
 msgstr "Arbeitsprozess für Replikations-Slot-Synchronisierung wird herunterfahren, weil »%s« deaktiviert ist"
 
-#: replication/logical/slotsync.c:1138
+#: replication/logical/slotsync.c:1136
 #, c-format
 msgid "replication slot synchronization worker will restart because of a parameter change"
 msgstr "Arbeitsprozess für Replikations-Slot-Synchronisierung wird neu starten wegen einer Parameteränderung"
 
-#: replication/logical/slotsync.c:1162
+#: replication/logical/slotsync.c:1160
 #, c-format
 msgid "replication slot synchronization worker is shutting down on receiving SIGINT"
 msgstr "Arbeitsprozess für Replikations-Slot-Synchronisierung fährt herunter, weil SIGINT empfangen wurde"
 
-#: replication/logical/slotsync.c:1287
+#: replication/logical/slotsync.c:1285
 #, c-format
 msgid "cannot synchronize replication slots when standby promotion is ongoing"
 msgstr "Replikations-Slots können nicht synchronisiert werden, während die Standby-Beförderung läuft"
 
-#: replication/logical/slotsync.c:1295
+#: replication/logical/slotsync.c:1293
 #, c-format
 msgid "cannot synchronize replication slots concurrently"
 msgstr "Replikations-Slots können nicht nebenläufig synchronisiert werden"
 
-#: replication/logical/slotsync.c:1403
+#: replication/logical/slotsync.c:1401
 #, c-format
 msgid "slot sync worker started"
 msgstr "Slot-Sync-Arbeitsprozess gestartet"
 
-#: replication/logical/slotsync.c:1466 replication/slotfuncs.c:900
-#: replication/walreceiver.c:307
-#, c-format
-msgid "could not connect to the primary server: %s"
+#: replication/logical/slotsync.c:1464 replication/slotfuncs.c:902
+#, fuzzy, c-format
+#| msgid "could not connect to the primary server: %s"
+msgid "synchronization worker \"%s\" could not connect to the primary server: %s"
 msgstr "konnte nicht mit dem Primärserver verbinden: %s"
 
-#: replication/logical/snapbuild.c:653
+#: replication/logical/snapbuild.c:514
 #, c-format
 msgid "initial slot snapshot too large"
 msgstr "initialer Slot-Snapshot ist zu groß"
 
-#: replication/logical/snapbuild.c:707
+#: replication/logical/snapbuild.c:568
 #, 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:1404 replication/logical/snapbuild.c:1501
-#: replication/logical/snapbuild.c:2017
+#: replication/logical/snapbuild.c:1265 replication/logical/snapbuild.c:1362
+#: replication/logical/snapbuild.c:1868
 #, c-format
 msgid "logical decoding found consistent point at %X/%X"
 msgstr "logisches Dekodieren fand konsistenten Punkt bei %X/%X"
 
-#: replication/logical/snapbuild.c:1406
+#: replication/logical/snapbuild.c:1267
 #, c-format
 msgid "There are no running transactions."
 msgstr "Keine laufenden Transaktionen."
 
-#: replication/logical/snapbuild.c:1453
+#: replication/logical/snapbuild.c:1314
 #, 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:1455 replication/logical/snapbuild.c:1479
+#: replication/logical/snapbuild.c:1316 replication/logical/snapbuild.c:1340
 #, 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:1477
+#: replication/logical/snapbuild.c:1338
 #, 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:1503
+#: replication/logical/snapbuild.c:1364
 #, c-format
 msgid "There are no old transactions anymore."
 msgstr "Es laufen keine alten Transaktionen mehr."
 
-#: replication/logical/snapbuild.c:1904
+#: replication/logical/snapbuild.c:1730
 #, c-format
 msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u"
 msgstr "Scanbuild-State-Datei »%s« hat falsche magische Zahl %u statt %u"
 
-#: replication/logical/snapbuild.c:1910
+#: replication/logical/snapbuild.c:1736
 #, c-format
 msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u"
 msgstr "Snapbuild-State-Datei »%s« hat nicht unterstützte Version: %u statt %u"
 
-#: replication/logical/snapbuild.c:1951
+#: replication/logical/snapbuild.c:1777
 #, c-format
 msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u"
 msgstr "Prüfsummenfehler bei Snapbuild-State-Datei »%s«: ist %u, sollte %u sein"
 
-#: replication/logical/snapbuild.c:2019
+#: replication/logical/snapbuild.c:1870
 #, c-format
 msgid "Logical decoding will begin using saved snapshot."
 msgstr "Logische Dekodierung beginnt mit gespeichertem Snapshot."
 
-#: replication/logical/snapbuild.c:2126
+#: replication/logical/snapbuild.c:1977
 #, c-format
 msgid "could not parse file name \"%s\""
 msgstr "konnte Dateinamen »%s« nicht parsen"
@@ -21209,564 +21995,624 @@ msgstr "Arbeitsprozess für logische Replikation für Tabellensynchronisation f
 msgid "logical replication apply worker for subscription \"%s\" will restart so that two_phase can be enabled"
 msgstr "Apply-Worker für logische Replikation für Subskription »%s« wird neu starten, damit two_phase eingeschaltet werden kann"
 
-#: replication/logical/tablesync.c:827 replication/logical/tablesync.c:969
+#: replication/logical/tablesync.c:831 replication/logical/tablesync.c:972
 #, c-format
 msgid "could not fetch table info for table \"%s.%s\" from publisher: %s"
 msgstr "konnte Tabelleninformationen für Tabelle »%s.%s« nicht vom Publikationsserver holen: %s"
 
-#: replication/logical/tablesync.c:834
+#: replication/logical/tablesync.c:838
 #, c-format
 msgid "table \"%s.%s\" not found on publisher"
 msgstr "Tabelle »%s.%s« nicht auf dem Publikationsserver gefunden"
 
-#: replication/logical/tablesync.c:892
+#: replication/logical/tablesync.c:891
 #, c-format
 msgid "could not fetch column list info for table \"%s.%s\" from publisher: %s"
 msgstr "konnte Spaltenlisteninformationen für Tabelle »%s.%s« nicht vom Publikationsserver holen: %s"
 
-#: replication/logical/tablesync.c:1071
+#: replication/logical/tablesync.c:1070
 #, c-format
 msgid "could not fetch table WHERE clause info for table \"%s.%s\" from publisher: %s"
 msgstr "konnte WHERE-Klausel-Informationen für Tabelle »%s.%s« nicht vom Publikationsserver holen: %s"
 
-#: replication/logical/tablesync.c:1230
+#: replication/logical/tablesync.c:1237
 #, c-format
 msgid "could not start initial contents copy for table \"%s.%s\": %s"
 msgstr "konnte Kopieren des Anfangsinhalts für Tabelle »%s.%s« nicht starten: %s"
 
-#: replication/logical/tablesync.c:1429
+#: replication/logical/tablesync.c:1352
+#, fuzzy, c-format
+#| msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has finished"
+msgid "table synchronization worker for subscription \"%s\" could not connect to the publisher: %s"
+msgstr "Arbeitsprozess für logische Replikation für Tabellensynchronisation für Subskription »%s«, Tabelle »%s« hat abgeschlossen"
+
+#: replication/logical/tablesync.c:1437
 #, c-format
 msgid "table copy could not start transaction on publisher: %s"
 msgstr "beim Kopieren der Tabelle konnte die Transaktion auf dem Publikationsserver nicht gestartet werden: %s"
 
-#: replication/logical/tablesync.c:1472
+#: replication/logical/tablesync.c:1480
 #, c-format
 msgid "replication origin \"%s\" already exists"
 msgstr "Replication-Origin »%s« existiert bereits"
 
-#: replication/logical/tablesync.c:1505 replication/logical/worker.c:2361
+#: replication/logical/tablesync.c:1513 replication/logical/worker.c:2383
 #, c-format
 msgid "user \"%s\" cannot replicate into relation with row-level security enabled: \"%s\""
 msgstr "Benutzer »%s« kann nicht in eine Relation mit Sicherheit auf Zeilenebene replizieren: »%s«"
 
-#: replication/logical/tablesync.c:1518
+#: replication/logical/tablesync.c:1526
 #, c-format
 msgid "table copy could not finish transaction on publisher: %s"
 msgstr "beim Kopieren der Tabelle konnte die Transaktion auf dem Publikationsserver nicht beenden werden: %s"
 
-#: replication/logical/worker.c:481
+#: replication/logical/worker.c:479
 #, c-format
 msgid "logical replication parallel apply worker for subscription \"%s\" will stop"
 msgstr "Parallel-Apply-Worker für logische Replikation für Subskription »%s« wird anhalten"
 
-#: replication/logical/worker.c:483
+#: replication/logical/worker.c:481
 #, c-format
 msgid "Cannot handle streamed replication transactions using parallel apply workers until all tables have been synchronized."
 msgstr "Gestreamte Replikationstransaktionen können erst mit parallelen Apply-Worker-Prozessen verarbeitet werden, wenn alle Tabellen synchronisiert worden sind."
 
-#: replication/logical/worker.c:852 replication/logical/worker.c:967
+#: replication/logical/worker.c:851 replication/logical/worker.c:966
 #, c-format
 msgid "incorrect binary data format in logical replication column %d"
 msgstr "falsches Binärdatenformat in Spalte %d in logischer Replikation"
 
-#: replication/logical/worker.c:2500
+#: replication/logical/worker.c:2530
 #, c-format
 msgid "publisher did not send replica identity column expected by the logical replication target relation \"%s.%s\""
 msgstr "Publikationsserver hat nicht die Replikidentitätsspalten gesendet, die von Replikationszielrelation »%s.%s« erwartet wurden"
 
-#: replication/logical/worker.c:2507
+#: replication/logical/worker.c:2537
 #, c-format
 msgid "logical replication target relation \"%s.%s\" has neither REPLICA IDENTITY index nor PRIMARY KEY and published relation does not have REPLICA IDENTITY FULL"
 msgstr "Zielrelation für logische Replikation »%s.%s« hat weder REPLICA-IDENTITY-Index noch Primärschlüssel und die publizierte Relation hat kein REPLICA IDENTITY FULL"
 
-#: replication/logical/worker.c:3371
+#: replication/logical/worker.c:3476
 #, c-format
 msgid "invalid logical replication message type \"??? (%d)\""
 msgstr "ungültiger Nachrichtentyp für logische Replikation »??? (%d)«"
 
-#: replication/logical/worker.c:3543
+#: replication/logical/worker.c:3648
 #, c-format
 msgid "data stream from publisher has ended"
 msgstr "Datenstrom vom Publikationsserver endete"
 
-#: replication/logical/worker.c:3697
+#: replication/logical/worker.c:3802
 #, c-format
 msgid "terminating logical replication worker due to timeout"
 msgstr "Arbeitsprozess für logische Replikation wird abgebrochen wegen Zeitüberschreitung"
 
-#: replication/logical/worker.c:3891
+#: replication/logical/worker.c:3999
 #, c-format
 msgid "logical replication worker for subscription \"%s\" will stop because the subscription was removed"
 msgstr "Arbeitsprozess für logische Replikation für Subskription »%s« wird anhalten, weil die Subskription entfernt wurde"
 
-#: replication/logical/worker.c:3905
+#: replication/logical/worker.c:4013
 #, c-format
 msgid "logical replication worker for subscription \"%s\" will stop because the subscription was disabled"
 msgstr "Arbeitsprozess für logische Replikation für Subskription »%s« wird anhalten, weil die Subskription deaktiviert wurde"
 
-#: replication/logical/worker.c:3936
+#: replication/logical/worker.c:4044
 #, c-format
 msgid "logical replication parallel apply worker for subscription \"%s\" will stop because of a parameter change"
 msgstr "Parallel-Apply-Worker für logische Replikation für Subskription »%s« wird anhalten wegen einer Parameteränderung"
 
-#: replication/logical/worker.c:3940
+#: replication/logical/worker.c:4048
 #, c-format
 msgid "logical replication worker for subscription \"%s\" will restart because of a parameter change"
 msgstr "Arbeitsprozess für logische Replikation für Subskription »%s« wird neu starten wegen einer Parameteränderung"
 
-#: replication/logical/worker.c:3954
+#: replication/logical/worker.c:4062
 #, c-format
 msgid "logical replication parallel apply worker for subscription \"%s\" will stop because the subscription owner's superuser privileges have been revoked"
 msgstr "Parallel-Apply-Worker für logische Replikation für Subskription »%s« wird anhalten, weil die Superuser-Privilegien des Eigentümers der Subskription entzogen wurden"
 
-#: replication/logical/worker.c:3958
+#: replication/logical/worker.c:4066
 #, c-format
 msgid "logical replication worker for subscription \"%s\" will restart because the subscription owner's superuser privileges have been revoked"
 msgstr "Arbeitsprozess für logische Replikation für Subskription »%s« wird neu starten, weil die Superuser-Privilegien des Eigentümers der Subskription entzogen wurden"
 
-#: replication/logical/worker.c:4478
+#: replication/logical/worker.c:4568
 #, c-format
 msgid "subscription has no replication slot set"
 msgstr "für die Subskription ist kein Replikations-Slot gesetzt"
 
-#: replication/logical/worker.c:4591
+#: replication/logical/worker.c:4593
+#, fuzzy, c-format
+#| msgid "could not connect to the publisher: %s"
+msgid "apply worker for subscription \"%s\" could not connect to the publisher: %s"
+msgstr "konnte nicht mit dem Publikationsserver verbinden: %s"
+
+#: replication/logical/worker.c:4682
 #, c-format
 msgid "logical replication worker for subscription %u will not start because the subscription was removed during startup"
 msgstr "Arbeitsprozess für logische Replikation für Subskription %u« wird nicht starten, weil die Subskription während des Starts entfernt wurde"
 
-#: replication/logical/worker.c:4607
+#: replication/logical/worker.c:4698
 #, c-format
 msgid "logical replication worker for subscription \"%s\" will not start because the subscription was disabled during startup"
 msgstr "Arbeitsprozess für logische Replikation für Subskription »%s« wird nicht starten, weil die Subskription während des Starts deaktiviert wurde"
 
-#: replication/logical/worker.c:4631
+#: replication/logical/worker.c:4722
 #, c-format
 msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started"
 msgstr "Arbeitsprozess für logische Replikation für Tabellensynchronisation für Subskription »%s«, Tabelle »%s« hat gestartet"
 
-#: replication/logical/worker.c:4636
+#: replication/logical/worker.c:4727
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" has started"
 msgstr "Apply-Worker für logische Replikation für Subskription »%s« hat gestartet"
 
-#: replication/logical/worker.c:4758
+#: replication/logical/worker.c:4849
 #, c-format
 msgid "subscription \"%s\" has been disabled because of an error"
 msgstr "Subskription »%s« wurde wegen eines Fehlers deaktiviert"
 
-#: replication/logical/worker.c:4806
+#: replication/logical/worker.c:4897
 #, c-format
 msgid "logical replication starts skipping transaction at LSN %X/%X"
 msgstr "logische Replikation beginnt Überspringen von Transaktion bei %X/%X"
 
-#: replication/logical/worker.c:4820
+#: replication/logical/worker.c:4911
 #, c-format
 msgid "logical replication completed skipping transaction at LSN %X/%X"
 msgstr "logische Replikation beendet Überspringen von Transaktion bei %X/%X"
 
-#: replication/logical/worker.c:4902
+#: replication/logical/worker.c:4993
 #, c-format
 msgid "skip-LSN of subscription \"%s\" cleared"
 msgstr "Skip-LSN von Subskription »%s« gelöscht"
 
-#: replication/logical/worker.c:4903
+#: replication/logical/worker.c:4994
 #, c-format
 msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X."
 msgstr "Die WAL-Endposition (LSN) %X/%X der Remote-Transaktion stimmte nicht mit der Skip-LSN %X/%X überein."
 
-#: replication/logical/worker.c:4940
+#: replication/logical/worker.c:5031
 #, c-format
 msgid "processing remote data for replication origin \"%s\" during message type \"%s\""
 msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s«"
 
-#: replication/logical/worker.c:4944
+#: replication/logical/worker.c:5035
 #, c-format
 msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u"
 msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« in Transaktion %u"
 
-#: replication/logical/worker.c:4949
+#: replication/logical/worker.c:5040
 #, c-format
 msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X"
 msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« in Transaktion %u, beendet bei %X/%X"
 
-#: replication/logical/worker.c:4960
+#: replication/logical/worker.c:5051
 #, c-format
 msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u"
 msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« für Replikationszielrelation »%s.%s« in Transaktion %u"
 
-#: replication/logical/worker.c:4967
+#: replication/logical/worker.c:5058
 #, c-format
 msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X"
 msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« für Replikationszielrelation »%s.%s« in Transaktion %u, beendet bei %X/%X"
 
-#: replication/logical/worker.c:4978
+#: replication/logical/worker.c:5069
 #, c-format
 msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u"
 msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« für Replikationszielrelation »%s.%s« Spalte »%s« in Transaktion %u"
 
-#: replication/logical/worker.c:4986
+#: replication/logical/worker.c:5077
 #, c-format
 msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X"
 msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« für Replikationszielrelation »%s.%s« Spalte »%s« in Transaktion %u, beendet bei %X/%X"
 
-#: replication/pgoutput/pgoutput.c:322
+#: replication/pgoutput/pgoutput.c:325
 #, c-format
 msgid "invalid proto_version"
 msgstr "ungültige proto_version"
 
-#: replication/pgoutput/pgoutput.c:327
+#: replication/pgoutput/pgoutput.c:330
 #, c-format
 msgid "proto_version \"%s\" out of range"
 msgstr "proto_version »%s« ist außerhalb des gültigen Bereichs"
 
-#: replication/pgoutput/pgoutput.c:344
+#: replication/pgoutput/pgoutput.c:347
 #, c-format
 msgid "invalid publication_names syntax"
 msgstr "ungültige Syntax für publication_names"
 
-#: replication/pgoutput/pgoutput.c:414 replication/pgoutput/pgoutput.c:418
+#: replication/pgoutput/pgoutput.c:417 replication/pgoutput/pgoutput.c:421
 #, c-format
 msgid "option \"%s\" missing"
 msgstr "Option »%s« fehlt"
 
-#: replication/pgoutput/pgoutput.c:478
+#: replication/pgoutput/pgoutput.c:466
 #, c-format
 msgid "client sent proto_version=%d but server only supports protocol %d or lower"
 msgstr "Client sendete proto_version=%d, aber Server unterstützt nur Protokoll %d oder niedriger"
 
-#: replication/pgoutput/pgoutput.c:484
+#: replication/pgoutput/pgoutput.c:472
 #, c-format
 msgid "client sent proto_version=%d but server only supports protocol %d or higher"
 msgstr "Client sendete proto_version=%d, aber Server unterstützt nur Protokoll %d oder höher"
 
-#: replication/pgoutput/pgoutput.c:499
+#: replication/pgoutput/pgoutput.c:487
 #, c-format
 msgid "requested proto_version=%d does not support streaming, need %d or higher"
 msgstr "angeforderte proto_version=%d unterstützt Streaming nicht, benötigt %d oder höher"
 
-#: replication/pgoutput/pgoutput.c:505
+#: replication/pgoutput/pgoutput.c:493
 #, c-format
 msgid "requested proto_version=%d does not support parallel streaming, need %d or higher"
 msgstr "angeforderte proto_version=%d unterstützt paralleles Streaming nicht, benötigt %d oder höher"
 
-#: replication/pgoutput/pgoutput.c:510
+#: replication/pgoutput/pgoutput.c:498
 #, c-format
 msgid "streaming requested, but not supported by output plugin"
 msgstr "Streaming angefordert, aber wird vom Ausgabe-Plugin nicht unterstützt"
 
-#: replication/pgoutput/pgoutput.c:524
+#: replication/pgoutput/pgoutput.c:512
 #, c-format
 msgid "requested proto_version=%d does not support two-phase commit, need %d or higher"
 msgstr "angeforderte proto_version=%d unterstützt Zwei-Phasen-Commit nicht, benötigt %d oder höher"
 
-#: replication/pgoutput/pgoutput.c:529
+#: replication/pgoutput/pgoutput.c:517
 #, c-format
 msgid "two-phase commit requested, but not supported by output plugin"
 msgstr "Zwei-Phasen-Commit angefordert, aber wird vom Ausgabe-Plugin nicht unterstützt"
 
-#: replication/slot.c:260
+#: replication/pgoutput/pgoutput.c:1080
+#, fuzzy, c-format
+#| msgid "cannot use different column lists for table \"%s.%s\" in different publications"
+msgid "cannot use different values of publish_generated_columns for table \"%s.%s\" in different publications"
+msgstr "für Tabelle »%s.%s« können nicht verschiedene Spaltenlisten für verschiedene Publikationen verwendet werden"
+
+#: replication/slot.c:275
 #, c-format
 msgid "replication slot name \"%s\" is too short"
 msgstr "Replikations-Slot-Name »%s« ist zu kurz"
 
-#: replication/slot.c:269
+#: replication/slot.c:284
 #, c-format
 msgid "replication slot name \"%s\" is too long"
 msgstr "Replikations-Slot-Name »%s« ist zu lang"
 
-#: replication/slot.c:282
+#: replication/slot.c:297
 #, c-format
 msgid "replication slot name \"%s\" contains invalid character"
 msgstr "Replikations-Slot-Name »%s« enthält ungültiges Zeichen"
 
-#: replication/slot.c:284
+#: replication/slot.c:299
 #, c-format
 msgid "Replication slot names may only contain lower case letters, numbers, and the underscore character."
 msgstr "Replikations-Slot-Namen dürfen nur Kleinbuchstaben, Zahlen und Unterstriche enthalten."
 
-#: replication/slot.c:333
+#: replication/slot.c:348
 #, c-format
 msgid "cannot enable failover for a replication slot created on the standby"
 msgstr "Failover kann nicht für einen auf dem Standby erzeugten Replikations-Slot eingeschaltet werden"
 
-#: replication/slot.c:345 replication/slot.c:849
+#: replication/slot.c:360 replication/slot.c:885
 #, c-format
 msgid "cannot enable failover for a temporary replication slot"
 msgstr "Failover kann nicht für einen temporären Replikations-Slot eingeschaltet werden"
 
-#: replication/slot.c:370
+#: replication/slot.c:385
 #, c-format
 msgid "replication slot \"%s\" already exists"
 msgstr "Replikations-Slot »%s« existiert bereits"
 
-#: replication/slot.c:380
+#: replication/slot.c:395
 #, c-format
 msgid "all replication slots are in use"
 msgstr "alle Replikations-Slots sind in Benutzung"
 
-#: replication/slot.c:381
+#: replication/slot.c:396
 #, c-format
 msgid "Free one or increase \"max_replication_slots\"."
 msgstr "Geben Sie einen frei oder erhöhen Sie »max_replication_slots«."
 
-#: replication/slot.c:560 replication/slot.c:2450 replication/slotfuncs.c:661
-#: utils/activity/pgstat_replslot.c:56 utils/adt/genfile.c:728
+#: replication/slot.c:579 replication/slotfuncs.c:658
+#: utils/activity/pgstat_replslot.c:56 utils/adt/genfile.c:739
 #, c-format
 msgid "replication slot \"%s\" does not exist"
 msgstr "Replikations-Slot »%s« existiert nicht"
 
-#: replication/slot.c:606 replication/slot.c:1337
+#: replication/slot.c:634 replication/slot.c:1388
 #, c-format
 msgid "replication slot \"%s\" is active for PID %d"
 msgstr "Replikations-Slot »%s« ist aktiv für PID %d"
 
-#: replication/slot.c:638
+#: replication/slot.c:651
+#, fuzzy, c-format
+#| msgid "can no longer get changes from replication slot \"%s\""
+msgid "can no longer access replication slot \"%s\""
+msgstr "aus Replikations-Slot »%s« können keine Änderungen mehr gelesen werden"
+
+#: replication/slot.c:653
+#, fuzzy, c-format
+#| msgid "User was using a logical replication slot that must be invalidated."
+msgid "This replication slot has been invalidated due to \"%s\"."
+msgstr "Benutzer verwendete einen logischen Replikations-Slot, der ungültig gemacht werden muss."
+
+#: replication/slot.c:672
 #, c-format
 msgid "acquired logical replication slot \"%s\""
 msgstr "logischer Replikations-Slot »%s« wurde akquiriert"
 
-#: replication/slot.c:640
+#: replication/slot.c:674
 #, c-format
 msgid "acquired physical replication slot \"%s\""
 msgstr "physischer Replikations-Slot »%s« wurde akquiriert"
 
-#: replication/slot.c:729
+#: replication/slot.c:759
 #, c-format
 msgid "released logical replication slot \"%s\""
 msgstr "logischer Replikations-Slot »%s« wurde freigegeben"
 
-#: replication/slot.c:731
+#: replication/slot.c:761
 #, c-format
 msgid "released physical replication slot \"%s\""
 msgstr "physischer Replikations-Slot »%s« wurde freigegeben"
 
-#: replication/slot.c:797
+#: replication/slot.c:827
 #, c-format
 msgid "cannot drop replication slot \"%s\""
 msgstr "kann Replikations-Slot »%s« nicht löschen"
 
-#: replication/slot.c:816
+#: replication/slot.c:850
 #, c-format
 msgid "cannot use %s with a physical replication slot"
 msgstr "%s kann nicht mit einem physischem Replikations-Slot verwendet werden"
 
-#: replication/slot.c:828
+#: replication/slot.c:862
 #, c-format
 msgid "cannot alter replication slot \"%s\""
 msgstr "Replikations-Slot »%s« kann nicht geändert werden"
 
-#: replication/slot.c:838
+#: replication/slot.c:872
 #, c-format
 msgid "cannot enable failover for a replication slot on the standby"
 msgstr "Failover kann nicht für einen Replikations-Slot auf dem Standby eingeschaltet werden"
 
-#: replication/slot.c:969 replication/slot.c:1927 replication/slot.c:2311
+#: replication/slot.c:1020 replication/slot.c:2120 replication/slot.c:2505
 #, c-format
 msgid "could not remove directory \"%s\""
 msgstr "konnte Verzeichnis »%s« nicht löschen"
 
-#: replication/slot.c:1372
+#: replication/slot.c:1423
 #, c-format
 msgid "replication slots can only be used if \"max_replication_slots\" > 0"
 msgstr "Replikations-Slots können nur verwendet werden, wenn »max_replication_slots« > 0"
 
-#: replication/slot.c:1377
+#: replication/slot.c:1428
 #, c-format
 msgid "replication slots can only be used if \"wal_level\" >= \"replica\""
 msgstr "Replikations-Slots können nur verwendet werden, wenn »wal_level« >= replica"
 
-#: replication/slot.c:1389
+#: replication/slot.c:1440
 #, c-format
 msgid "permission denied to use replication slots"
 msgstr "keine Berechtigung, um Replikations-Slots zu verwenden"
 
-#: replication/slot.c:1390
+#: replication/slot.c:1441
 #, c-format
 msgid "Only roles with the %s attribute may use replication slots."
 msgstr "Nur Rollen mit dem %s-Attribut können Replikations-Slots verwenden."
 
-#: replication/slot.c:1498
+#: replication/slot.c:1550
 #, c-format
 msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte."
 msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes."
 msgstr[0] "Die restart_lsn des Slots %X/%X überschreitet das Maximum um %llu Byte."
 msgstr[1] "Die restart_lsn des Slots %X/%X überschreitet das Maximum um %llu Bytes."
 
-#: replication/slot.c:1506
+#: replication/slot.c:1561
 #, c-format
 msgid "The slot conflicted with xid horizon %u."
 msgstr "Der Slot kollidierte mit dem xid-Horizont %u."
 
-#: replication/slot.c:1511
+#: replication/slot.c:1566
 msgid "Logical decoding on standby requires \"wal_level\" >= \"logical\" on the primary server."
 msgstr "Logische Dekodierung auf dem Standby-Server erfordert »wal_level« >= »logical« auf dem Primärserver."
 
-#: replication/slot.c:1519
+#. translator: %s is a GUC variable name
+#: replication/slot.c:1575
+#, c-format
+msgid "The slot's idle time of %dmin %02ds exceeds the configured \"%s\" duration of %dmin."
+msgstr ""
+
+#: replication/slot.c:1589
 #, c-format
 msgid "terminating process %d to release replication slot \"%s\""
 msgstr "Prozess %d wird beendet, um Replikations-Slot »%s« freizugeben"
 
-#: replication/slot.c:1521
+#: replication/slot.c:1591
 #, c-format
 msgid "invalidating obsolete replication slot \"%s\""
 msgstr "obsoleter Replikations-Slot »%s« wird ungültig gemacht"
 
-#: replication/slot.c:2249
+#: replication/slot.c:2443
 #, c-format
 msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u"
 msgstr "Replikations-Slot-Datei »%s« hat falsche magische Zahl: %u statt %u"
 
-#: replication/slot.c:2256
+#: replication/slot.c:2450
 #, c-format
 msgid "replication slot file \"%s\" has unsupported version %u"
 msgstr "Replikations-Slot-Datei »%s« hat nicht unterstützte Version %u"
 
-#: replication/slot.c:2263
+#: replication/slot.c:2457
 #, c-format
 msgid "replication slot file \"%s\" has corrupted length %u"
 msgstr "Replikations-Slot-Datei »%s« hat falsche Länge %u"
 
-#: replication/slot.c:2299
+#: replication/slot.c:2493
 #, c-format
 msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u"
 msgstr "Prüfsummenfehler bei Replikations-Slot-Datei »%s«: ist %u, sollte %u sein"
 
-#: replication/slot.c:2333
+#: replication/slot.c:2529
 #, c-format
 msgid "logical replication slot \"%s\" exists, but \"wal_level\" < \"logical\""
 msgstr "logischer Replikations-Slot »%s« existiert, aber »wal_level« < »logical«"
 
-#: replication/slot.c:2335
+#: replication/slot.c:2531
 #, c-format
 msgid "Change \"wal_level\" to be \"logical\" or higher."
 msgstr "Ändern Sie »wal_level« in »logical« oder höher."
 
-#: replication/slot.c:2339
+#: replication/slot.c:2543
+#, fuzzy, c-format
+#| msgid "logical replication slot \"%s\" exists, but \"wal_level\" < \"logical\""
+msgid "logical replication slot \"%s\" exists on the standby, but \"hot_standby\" = \"off\""
+msgstr "logischer Replikations-Slot »%s« existiert, aber »wal_level« < »logical«"
+
+#: replication/slot.c:2545
+#, c-format
+msgid "Change \"hot_standby\" to be \"on\"."
+msgstr ""
+
+#: replication/slot.c:2550
 #, c-format
 msgid "physical replication slot \"%s\" exists, but \"wal_level\" < \"replica\""
 msgstr "physischer Replikations-Slot »%s« existiert, aber »wal_level« < »replica«"
 
-#: replication/slot.c:2341
+#: replication/slot.c:2552
 #, c-format
 msgid "Change \"wal_level\" to be \"replica\" or higher."
 msgstr "Ändern Sie »wal_level« in »replica« oder höher."
 
-#: replication/slot.c:2383
+#: replication/slot.c:2598
 #, c-format
 msgid "too many replication slots active before shutdown"
 msgstr "zu viele aktive Replikations-Slots vor dem Herunterfahren"
 
-#: replication/slot.c:2458
-#, c-format
-msgid "\"%s\" is not a physical replication slot"
+#: replication/slot.c:2676
+#, fuzzy, c-format
+#| msgid "replication slot \"%s\" does not exist"
+msgid "Replication slot \"%s\" does not exist."
+msgstr "Replikations-Slot »%s« existiert nicht"
+
+#: replication/slot.c:2684
+#, fuzzy, c-format
+#| msgid "\"%s\" is not a physical replication slot"
+msgid "\"%s\" is not a physical replication slot."
 msgstr "»%s« ist kein physischer Replikations-Slot"
 
-#: replication/slot.c:2635
+#: replication/slot.c:2861
 #, c-format
 msgid "replication slot \"%s\" specified in parameter \"%s\" does not exist"
 msgstr "Replikations-Slot »%s«, der in Parameter »%s« angegeben ist, existiert nicht"
 
-#: replication/slot.c:2637 replication/slot.c:2671 replication/slot.c:2686
+#: replication/slot.c:2863 replication/slot.c:2897 replication/slot.c:2912
 #, c-format
 msgid "Logical replication is waiting on the standby associated with replication slot \"%s\"."
 msgstr "Logische Replikation wartet auf den Standby, der zum Replikations-Slot »%s« gehört."
 
-#: replication/slot.c:2639
+#: replication/slot.c:2865
 #, c-format
 msgid "Create the replication slot \"%s\" or amend parameter \"%s\"."
 msgstr "Erzeugen Sie den Replikations-Slot »%s« oder berichtigen Sie den Parameter »%s«."
 
-#: replication/slot.c:2649
+#: replication/slot.c:2875
 #, c-format
 msgid "cannot specify logical replication slot \"%s\" in parameter \"%s\""
 msgstr "logischer Replikations-Slot »%s« kann nicht in Parameter »%s« angegeben werden"
 
-#: replication/slot.c:2651
+#: replication/slot.c:2877
 #, c-format
 msgid "Logical replication is waiting for correction on replication slot \"%s\"."
 msgstr "Logische Replikation wartet auf Korrektur bei Replikations-Slot »%s«."
 
-#: replication/slot.c:2653
+#: replication/slot.c:2879
 #, c-format
 msgid "Remove the logical replication slot \"%s\" from parameter \"%s\"."
 msgstr "Entfernen Sie den Replikations-Slot »%s« aus dem Parameter »%s«."
 
-#: replication/slot.c:2669
+#: replication/slot.c:2895
 #, c-format
 msgid "physical replication slot \"%s\" specified in parameter \"%s\" has been invalidated"
 msgstr "der physische Replikations-Slot »%s«, der in Parameter »%s« angegeben wurde, wurde ungültig gemacht"
 
-#: replication/slot.c:2673
+#: replication/slot.c:2899
 #, c-format
 msgid "Drop and recreate the replication slot \"%s\", or amend parameter \"%s\"."
 msgstr "Löschen Sie den Replikations-Slot »%s« und erzeugen Sie ihn neu, oder berichtigen Sie den Parameter »%s«."
 
-#: replication/slot.c:2684
+#: replication/slot.c:2910
 #, c-format
 msgid "replication slot \"%s\" specified in parameter \"%s\" does not have active_pid"
 msgstr "der Replikations-Slot »%s«, der in Parameter »%s« angegeben wurde, hat keine active_pid"
 
-#: replication/slot.c:2688
+#: replication/slot.c:2914
 #, c-format
 msgid "Start the standby associated with the replication slot \"%s\", or amend parameter \"%s\"."
 msgstr "Starten Sie den zum Replikations-Slot »%s« gehörenden Standby oder berichtigen Sie den Parameter »%s«."
 
-#: replication/slotfuncs.c:526
+#: replication/slot.c:3006
+#, fuzzy, c-format
+#| msgid "\"%s\" must be set to -1 during binary upgrade mode."
+msgid "\"%s\" must be set to 0 during binary upgrade mode."
+msgstr "»%s« muss im Binary-Upgrade-Modus auf -1 gesetzt sein."
+
+#: replication/slotfuncs.c:523
 #, c-format
 msgid "invalid target WAL LSN"
 msgstr "ungültige Ziel-WAL-LSN"
 
-#: replication/slotfuncs.c:548
+#: replication/slotfuncs.c:545
 #, c-format
 msgid "replication slot \"%s\" cannot be advanced"
 msgstr "Replikations-Slot »%s« kann nicht vorwärtsgesetzt werden"
 
-#: replication/slotfuncs.c:550
+#: replication/slotfuncs.c:547
 #, c-format
 msgid "This slot has never previously reserved WAL, or it has been invalidated."
 msgstr "Diese Slot hat nie zuvor WAL reserviert oder er wurde ungültig gemacht."
 
-#: replication/slotfuncs.c:566
+#: replication/slotfuncs.c:563
 #, c-format
 msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
 msgstr "Replikations-Slot kann nicht auf %X/%X vorwärtsgesetzt werden, Minimum ist %X/%X"
 
-#: replication/slotfuncs.c:673
+#: replication/slotfuncs.c:670
 #, c-format
 msgid "cannot copy physical replication slot \"%s\" as a logical replication slot"
 msgstr "physischer Replikations-Slot »%s« kann nicht als logischer Replikations-Slot kopiert werden"
 
-#: replication/slotfuncs.c:675
+#: replication/slotfuncs.c:672
 #, c-format
 msgid "cannot copy logical replication slot \"%s\" as a physical replication slot"
 msgstr "logischer Replikations-Slot »%s« kann nicht als physischer Replikations-Slot kopiert werden"
 
-#: replication/slotfuncs.c:682
+#: replication/slotfuncs.c:679
 #, c-format
 msgid "cannot copy a replication slot that doesn't reserve WAL"
 msgstr "ein Replikations-Slot, der kein WAL reserviert, kann nicht kopiert werden"
 
-#: replication/slotfuncs.c:768
+#: replication/slotfuncs.c:770
 #, c-format
 msgid "could not copy replication slot \"%s\""
 msgstr "konnte Replikations-Slot »%s« nicht kopieren"
 
-#: replication/slotfuncs.c:770
+#: replication/slotfuncs.c:772
 #, c-format
 msgid "The source replication slot was modified incompatibly during the copy operation."
 msgstr "Der Quell-Replikations-Slot wurde während der Kopieroperation inkompatibel geändert."
 
-#: replication/slotfuncs.c:776
+#: replication/slotfuncs.c:778
 #, c-format
 msgid "cannot copy unfinished logical replication slot \"%s\""
 msgstr "kann unfertigen Replikations-Slot »%s« nicht kopieren"
 
-#: replication/slotfuncs.c:778
+#: replication/slotfuncs.c:780
 #, c-format
 msgid "Retry when the source replication slot's confirmed_flush_lsn is valid."
 msgstr "Versuchen Sie es erneut, wenn confirmed_flush_lsn des Quell-Replikations-Slots gültig ist."
 
-#: replication/slotfuncs.c:877
+#: replication/slotfuncs.c:879
 #, c-format
 msgid "replication slots can only be synchronized to a standby server"
 msgstr "Replikations-Slots können nur zu einem Standby-Server synchronisiert werden"
@@ -21796,12 +22642,13 @@ msgstr "Standby »%s« ist jetzt ein synchroner Standby mit Priorität %d"
 msgid "standby \"%s\" is now a candidate for quorum synchronous standby"
 msgstr "Standby »%s« ist jetzt ein Kandidat für synchroner Standby mit Quorum"
 
-#: replication/syncrep.c:1013
-#, c-format
-msgid "\"synchronous_standby_names\" parser failed"
-msgstr "Parser für »synchronous_standby_names« fehlgeschlagen"
+#: replication/syncrep.c:1014
+#, fuzzy, c-format
+#| msgid "\"%s\" failed"
+msgid "\"%s\" parser failed."
+msgstr "»%s« fehlgeschlagen"
 
-#: replication/syncrep.c:1019
+#: replication/syncrep.c:1021
 #, c-format
 msgid "number of synchronous standbys (%d) must be greater than zero"
 msgstr "Anzahl synchroner Standbys (%d) muss größer als null sein"
@@ -21811,190 +22658,196 @@ msgstr "Anzahl synchroner Standbys (%d) muss größer als null sein"
 msgid "terminating walreceiver process due to administrator command"
 msgstr "WAL-Receiver-Prozess wird abgebrochen aufgrund von Anweisung des Administrators"
 
-#: replication/walreceiver.c:354
+#: replication/walreceiver.c:307
+#, fuzzy, c-format
+#| msgid "could not connect to the primary server: %s"
+msgid "streaming replication receiver \"%s\" could not connect to the primary server: %s"
+msgstr "konnte nicht mit dem Primärserver verbinden: %s"
+
+#: replication/walreceiver.c:355
 #, c-format
 msgid "database system identifier differs between the primary and standby"
 msgstr "Datenbanksystemidentifikator unterscheidet sich zwischen Primär- und Standby-Server"
 
-#: replication/walreceiver.c:355
+#: replication/walreceiver.c:356
 #, c-format
 msgid "The primary's identifier is %s, the standby's identifier is %s."
 msgstr "Identifikator des Primärservers ist %s, Identifikator des Standby ist %s."
 
-#: replication/walreceiver.c:366
+#: replication/walreceiver.c:367
 #, c-format
 msgid "highest timeline %u of the primary is behind recovery timeline %u"
 msgstr "höchste Zeitleiste %u des primären Servers liegt hinter Wiederherstellungszeitleiste %u zurück"
 
-#: replication/walreceiver.c:419
+#: replication/walreceiver.c:420
 #, c-format
 msgid "started streaming WAL from primary at %X/%X on timeline %u"
 msgstr "WAL-Streaming vom Primärserver gestartet bei %X/%X auf Zeitleiste %u"
 
-#: replication/walreceiver.c:423
+#: replication/walreceiver.c:424
 #, c-format
 msgid "restarted WAL streaming at %X/%X on timeline %u"
 msgstr "WAL-Streaming neu gestartet bei %X/%X auf Zeitleiste %u"
 
-#: replication/walreceiver.c:458
+#: replication/walreceiver.c:459
 #, c-format
 msgid "cannot continue WAL streaming, recovery has already ended"
 msgstr "kann WAL-Streaming nicht fortsetzen, Wiederherstellung ist bereits beendet"
 
-#: replication/walreceiver.c:502
+#: replication/walreceiver.c:503
 #, c-format
 msgid "replication terminated by primary server"
 msgstr "Replikation wurde durch Primärserver beendet"
 
-#: replication/walreceiver.c:503
+#: replication/walreceiver.c:504
 #, c-format
 msgid "End of WAL reached on timeline %u at %X/%X."
 msgstr "WAL-Ende erreicht auf Zeitleiste %u bei %X/%X."
 
-#: replication/walreceiver.c:593
+#: replication/walreceiver.c:604
 #, c-format
 msgid "terminating walreceiver due to timeout"
 msgstr "WAL-Receiver-Prozess wird abgebrochen wegen Zeitüberschreitung"
 
-#: replication/walreceiver.c:625
+#: replication/walreceiver.c:636
 #, c-format
 msgid "primary server contains no more WAL on requested timeline %u"
 msgstr "Primärserver enthält kein WAL mehr auf angeforderter Zeitleiste %u"
 
-#: replication/walreceiver.c:641 replication/walreceiver.c:1071
+#: replication/walreceiver.c:652 replication/walreceiver.c:1094
 #, c-format
 msgid "could not close WAL segment %s: %m"
 msgstr "konnte WAL-Segment %s nicht schließen: %m"
 
-#: replication/walreceiver.c:760
+#: replication/walreceiver.c:771
 #, c-format
 msgid "fetching timeline history file for timeline %u from primary server"
 msgstr "hole Zeitleisten-History-Datei für Zeitleiste %u vom Primärserver"
 
-#: replication/walreceiver.c:959
+#: replication/walreceiver.c:982
 #, c-format
 msgid "could not write to WAL segment %s at offset %d, length %lu: %m"
 msgstr "konnte nicht in WAL-Segment %s bei Position %d, Länge %lu schreiben: %m"
 
-#: replication/walsender.c:531
+#: replication/walsender.c:499
 #, c-format
 msgid "cannot use %s with a logical replication slot"
 msgstr "%s kann nicht mit einem logischem Replikations-Slot verwendet werden"
 
-#: replication/walsender.c:635 storage/smgr/md.c:1735
+#: replication/walsender.c:603 storage/smgr/md.c:1751
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
 msgstr "konnte Positionszeiger nicht ans Ende der Datei »%s« setzen: %m"
 
-#: replication/walsender.c:639
+#: replication/walsender.c:607
 #, c-format
 msgid "could not seek to beginning of file \"%s\": %m"
 msgstr "konnte Positionszeiger nicht den Anfang der Datei »%s« setzen: %m"
 
-#: replication/walsender.c:853
+#: replication/walsender.c:823
 #, c-format
 msgid "cannot use a logical replication slot for physical replication"
 msgstr "logischer Replikations-Slot kann nicht für physische Replikation verwendet werden"
 
-#: replication/walsender.c:919
+#: replication/walsender.c:889
 #, c-format
 msgid "requested starting point %X/%X on timeline %u is not in this server's history"
 msgstr "angeforderter Startpunkt %X/%X auf Zeitleiste %u ist nicht in der History dieses Servers"
 
-#: replication/walsender.c:922
+#: replication/walsender.c:892
 #, c-format
 msgid "This server's history forked from timeline %u at %X/%X."
 msgstr "Die History dieses Servers zweigte von Zeitleiste %u bei %X/%X ab."
 
-#: replication/walsender.c:966
+#: replication/walsender.c:936
 #, c-format
 msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
 msgstr "angeforderter Startpunkt %X/%X ist vor der WAL-Flush-Position dieses Servers %X/%X"
 
-#: replication/walsender.c:1160
+#: replication/walsender.c:1131
 #, c-format
 msgid "unrecognized value for CREATE_REPLICATION_SLOT option \"%s\": \"%s\""
 msgstr "unbekannter Wert für CREATE_REPLICATION_SLOT-Option »%s«: »%s«"
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:1266
+#: replication/walsender.c:1237
 #, c-format
 msgid "%s must not be called inside a transaction"
 msgstr "%s darf nicht in einer Transaktion aufgerufen werden"
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:1276
+#: replication/walsender.c:1247
 #, c-format
 msgid "%s must be called inside a transaction"
 msgstr "%s muss in einer Transaktion aufgerufen werden"
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:1282
+#: replication/walsender.c:1253
 #, c-format
 msgid "%s must be called in REPEATABLE READ isolation mode transaction"
 msgstr "%s muss in einer Transaktion im Isolationsmodus REPEATABLE READ aufgerufen werden"
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:1287
+#: replication/walsender.c:1258
 #, c-format
 msgid "%s must be called in a read-only transaction"
 msgstr "%s muss in einer Read-Only-Transaktion aufgerufen werden"
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:1293
+#: replication/walsender.c:1264
 #, c-format
 msgid "%s must be called before any query"
 msgstr "%s muss vor allen Anfragen aufgerufen werden"
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
-#: replication/walsender.c:1299
+#: replication/walsender.c:1270
 #, c-format
 msgid "%s must not be called in a subtransaction"
 msgstr "%s darf nicht in einer Subtransaktion aufgerufen werden"
 
-#: replication/walsender.c:1472
+#: replication/walsender.c:1447
 #, c-format
 msgid "terminating walsender process after promotion"
 msgstr "WAL-Sender-Prozess wird nach Beförderung abgebrochen"
 
-#: replication/walsender.c:2000
+#: replication/walsender.c:1976
 #, c-format
 msgid "cannot execute new commands while WAL sender is in stopping mode"
 msgstr "während der WAL-Sender im Stoppmodus ist können keine neuen Befehle ausgeführt werden"
 
-#: replication/walsender.c:2035
+#: replication/walsender.c:2011
 #, c-format
 msgid "cannot execute SQL commands in WAL sender for physical replication"
 msgstr "im WAL-Sender für physische Replikation können keine SQL-Befehle ausgeführt werden"
 
-#: replication/walsender.c:2068
+#: replication/walsender.c:2042
 #, c-format
 msgid "received replication command: %s"
 msgstr "Replikationsbefehl empfangen: %s"
 
-#: replication/walsender.c:2076 tcop/fastpath.c:209 tcop/postgres.c:1142
-#: tcop/postgres.c:1500 tcop/postgres.c:1752 tcop/postgres.c:2234
-#: tcop/postgres.c:2672 tcop/postgres.c:2749
+#: replication/walsender.c:2050 tcop/fastpath.c:208 tcop/postgres.c:1135
+#: tcop/postgres.c:1493 tcop/postgres.c:1745 tcop/postgres.c:2228
+#: tcop/postgres.c:2665 tcop/postgres.c:2742
 #, c-format
 msgid "current transaction is aborted, commands ignored until end of transaction block"
 msgstr "aktuelle Transaktion wurde abgebrochen, Befehle werden bis zum Ende der Transaktion ignoriert"
 
-#: replication/walsender.c:2233 replication/walsender.c:2268
+#: replication/walsender.c:2207 replication/walsender.c:2242
 #, c-format
 msgid "unexpected EOF on standby connection"
 msgstr "unerwartetes EOF auf Standby-Verbindung"
 
-#: replication/walsender.c:2256
+#: replication/walsender.c:2230
 #, c-format
 msgid "invalid standby message type \"%c\""
 msgstr "ungültiger Standby-Message-Typ »%c«"
 
-#: replication/walsender.c:2345
+#: replication/walsender.c:2319
 #, c-format
 msgid "unexpected message type \"%c\""
 msgstr "unerwarteter Message-Typ »%c«"
 
-#: replication/walsender.c:2759
+#: replication/walsender.c:2733
 #, c-format
 msgid "terminating walsender process due to replication timeout"
 msgstr "WAL-Sender-Prozess wird abgebrochen wegen Zeitüberschreitung bei der Replikation"
@@ -22175,286 +23028,286 @@ msgstr "Regel »%s« für Relation »%s« existiert nicht"
 msgid "renaming an ON SELECT rule is not allowed"
 msgstr "Umbenennen einer ON-SELECT-Regel ist nicht erlaubt"
 
-#: rewrite/rewriteHandler.c:588
+#: rewrite/rewriteHandler.c:590
 #, c-format
 msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten"
 msgstr "WITH-Anfragename »%s« erscheint sowohl in der Regelaktion als auch in der umzuschreibenden Anfrage"
 
-#: rewrite/rewriteHandler.c:615
+#: rewrite/rewriteHandler.c:617
 #, c-format
 msgid "INSERT ... SELECT rule actions are not supported for queries having data-modifying statements in WITH"
 msgstr "INSERT ... SELECT-Regelaktionen werden für Anfrangen mit datenmodifizierenden Anweisungen in WITH nicht unterstützt"
 
-#: rewrite/rewriteHandler.c:668
+#: rewrite/rewriteHandler.c:671
 #, c-format
 msgid "cannot have RETURNING lists in multiple rules"
 msgstr "RETURNING-Listen können nicht in mehreren Regeln auftreten"
 
-#: rewrite/rewriteHandler.c:900 rewrite/rewriteHandler.c:939
+#: rewrite/rewriteHandler.c:908 rewrite/rewriteHandler.c:947
 #, c-format
 msgid "cannot insert a non-DEFAULT value into column \"%s\""
 msgstr "kann keinen Wert außer DEFAULT in Spalte »%s« einfügen"
 
-#: rewrite/rewriteHandler.c:902 rewrite/rewriteHandler.c:968
+#: rewrite/rewriteHandler.c:910 rewrite/rewriteHandler.c:976
 #, c-format
 msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS."
 msgstr "Spalte »%s« ist eine Identitätsspalte, die als GENERATED ALWAYS definiert ist."
 
-#: rewrite/rewriteHandler.c:904
+#: rewrite/rewriteHandler.c:912
 #, c-format
 msgid "Use OVERRIDING SYSTEM VALUE to override."
 msgstr "Verwenden Sie OVERRIDING SYSTEM VALUE, um diese Einschränkung außer Kraft zu setzen."
 
-#: rewrite/rewriteHandler.c:966 rewrite/rewriteHandler.c:974
+#: rewrite/rewriteHandler.c:974 rewrite/rewriteHandler.c:982
 #, c-format
 msgid "column \"%s\" can only be updated to DEFAULT"
 msgstr "Spalte »%s« kann nur auf DEFAULT aktualisiert werden"
 
-#: rewrite/rewriteHandler.c:1109 rewrite/rewriteHandler.c:1127
+#: rewrite/rewriteHandler.c:1118 rewrite/rewriteHandler.c:1136
 #, c-format
 msgid "multiple assignments to same column \"%s\""
 msgstr "mehrere Zuweisungen zur selben Spalte »%s«"
 
-#: rewrite/rewriteHandler.c:1682
+#: rewrite/rewriteHandler.c:1691
 #, c-format
 msgid "MERGE is not supported for relations with rules."
 msgstr "MERGE wird für Relationen mit Regeln nicht unterstützt."
 
-#: rewrite/rewriteHandler.c:1722 rewrite/rewriteHandler.c:3262
+#: rewrite/rewriteHandler.c:1731 rewrite/rewriteHandler.c:3271
 #, c-format
 msgid "access to non-system view \"%s\" is restricted"
 msgstr "Zugriff auf Nicht-System-Sicht »%s« ist beschränkt"
 
-#: rewrite/rewriteHandler.c:2122 rewrite/rewriteHandler.c:4254
+#: rewrite/rewriteHandler.c:2130 rewrite/rewriteHandler.c:4265
 #, c-format
 msgid "infinite recursion detected in rules for relation \"%s\""
 msgstr "unendliche Rekursion entdeckt in Regeln für Relation »%s«"
 
-#: rewrite/rewriteHandler.c:2227
+#: rewrite/rewriteHandler.c:2235
 #, c-format
 msgid "infinite recursion detected in policy for relation \"%s\""
 msgstr "unendliche Rekursion entdeckt in Policys für Relation »%s«"
 
-#: rewrite/rewriteHandler.c:2589
+#: rewrite/rewriteHandler.c:2598
 msgid "Junk view columns are not updatable."
 msgstr "Junk-Sichtspalten sind nicht aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2594
+#: rewrite/rewriteHandler.c:2603
 msgid "View columns that are not columns of their base relation are not updatable."
 msgstr "Sichtspalten, die nicht Spalten ihrer Basisrelation sind, sind nicht aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2597
+#: rewrite/rewriteHandler.c:2606
 msgid "View columns that refer to system columns are not updatable."
 msgstr "Sichtspalten, die auf Systemspalten verweisen, sind nicht aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2600
+#: rewrite/rewriteHandler.c:2609
 msgid "View columns that return whole-row references are not updatable."
 msgstr "Sichtspalten, die Verweise auf ganze Zeilen zurückgeben, sind nicht aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2661
+#: rewrite/rewriteHandler.c:2670
 msgid "Views containing DISTINCT are not automatically updatable."
 msgstr "Sichten, die DISTINCT enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2664
+#: rewrite/rewriteHandler.c:2673
 msgid "Views containing GROUP BY are not automatically updatable."
 msgstr "Sichten, die GROUP BY enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2667
+#: rewrite/rewriteHandler.c:2676
 msgid "Views containing HAVING are not automatically updatable."
 msgstr "Sichten, die HAVING enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2670
+#: rewrite/rewriteHandler.c:2679
 msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable."
 msgstr "Sichten, die UNION, INTERSECT oder EXCEPT enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2673
+#: rewrite/rewriteHandler.c:2682
 msgid "Views containing WITH are not automatically updatable."
 msgstr "Sichten, die WITH enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2676
+#: rewrite/rewriteHandler.c:2685
 msgid "Views containing LIMIT or OFFSET are not automatically updatable."
 msgstr "Sichten, die LIMIT oder OFFSET enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2688
+#: rewrite/rewriteHandler.c:2697
 msgid "Views that return aggregate functions are not automatically updatable."
 msgstr "Sichten, die Aggregatfunktionen zurückgeben, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2691
+#: rewrite/rewriteHandler.c:2700
 msgid "Views that return window functions are not automatically updatable."
 msgstr "Sichten, die Fensterfunktionen zurückgeben, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2694
+#: rewrite/rewriteHandler.c:2703
 msgid "Views that return set-returning functions are not automatically updatable."
 msgstr "Sichten, die Funktionen mit Ergebnismenge zurückgeben, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2701 rewrite/rewriteHandler.c:2705
-#: rewrite/rewriteHandler.c:2713
+#: rewrite/rewriteHandler.c:2710 rewrite/rewriteHandler.c:2714
+#: rewrite/rewriteHandler.c:2722
 msgid "Views that do not select from a single table or view are not automatically updatable."
 msgstr "Sichten, die nicht aus einer einzigen Tabelle oder Sicht lesen, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2716
+#: rewrite/rewriteHandler.c:2725
 msgid "Views containing TABLESAMPLE are not automatically updatable."
 msgstr "Sichten, die TABLESAMPLE enthalten, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:2740
+#: rewrite/rewriteHandler.c:2749
 msgid "Views that have no updatable columns are not automatically updatable."
 msgstr "Sichten, die keine aktualisierbaren Spalten haben, sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:3121 rewrite/rewriteHandler.c:3156
+#: rewrite/rewriteHandler.c:3130 rewrite/rewriteHandler.c:3165
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "kann nicht in Sicht »%s« einfügen"
 
-#: rewrite/rewriteHandler.c:3124
+#: rewrite/rewriteHandler.c:3133
 #, 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."
 
-#: rewrite/rewriteHandler.c:3129 rewrite/rewriteHandler.c:3165
+#: rewrite/rewriteHandler.c:3138 rewrite/rewriteHandler.c:3174
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "kann Sicht »%s« nicht aktualisieren"
 
-#: rewrite/rewriteHandler.c:3132
+#: rewrite/rewriteHandler.c:3141
 #, 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."
 
-#: rewrite/rewriteHandler.c:3137 rewrite/rewriteHandler.c:3174
+#: rewrite/rewriteHandler.c:3146 rewrite/rewriteHandler.c:3183
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "kann nicht aus Sicht »%s« löschen"
 
-#: rewrite/rewriteHandler.c:3140
+#: rewrite/rewriteHandler.c:3149
 #, 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."
 
-#: rewrite/rewriteHandler.c:3159
+#: rewrite/rewriteHandler.c:3168
 #, c-format
 msgid "To enable inserting into the view using MERGE, provide an INSTEAD OF INSERT trigger."
 msgstr "Um Einfügen in die Sicht mit MERGE zu ermöglichen, richten Sie einen INSTEAD OF INSERT Trigger ein."
 
-#: rewrite/rewriteHandler.c:3168
+#: rewrite/rewriteHandler.c:3177
 #, c-format
 msgid "To enable updating the view using MERGE, provide an INSTEAD OF UPDATE trigger."
 msgstr "Um Aktualisieren der Sicht mit MERGE zu ermöglichen, richten Sie einen INSTEAD OF UPDATE Trigger ein."
 
-#: rewrite/rewriteHandler.c:3177
+#: rewrite/rewriteHandler.c:3186
 #, c-format
 msgid "To enable deleting from the view using MERGE, provide an INSTEAD OF DELETE trigger."
 msgstr "Um Löschen aus der Sicht zu ermöglichen, richten Sie einen INSTEAD OF DELETE Trigger ein."
 
-#: rewrite/rewriteHandler.c:3352
+#: rewrite/rewriteHandler.c:3361
 #, c-format
 msgid "cannot insert into column \"%s\" of view \"%s\""
 msgstr "kann nicht in Spalte »%s« von Sicht »%s« einfügen"
 
-#: rewrite/rewriteHandler.c:3360
+#: rewrite/rewriteHandler.c:3369
 #, c-format
 msgid "cannot update column \"%s\" of view \"%s\""
 msgstr "kann Spalte »%s« von Sicht »%s« nicht aktualisieren"
 
-#: rewrite/rewriteHandler.c:3368
+#: rewrite/rewriteHandler.c:3377
 #, c-format
 msgid "cannot merge into column \"%s\" of view \"%s\""
 msgstr "kann nicht in Spalte »%s« von Sicht »%s« mergen"
 
-#: rewrite/rewriteHandler.c:3396
+#: rewrite/rewriteHandler.c:3405
 #, c-format
 msgid "cannot merge into view \"%s\""
 msgstr "kann nicht in Sicht »%s« mergen"
 
-#: rewrite/rewriteHandler.c:3398
+#: rewrite/rewriteHandler.c:3407
 #, c-format
 msgid "MERGE is not supported for views with INSTEAD OF triggers for some actions but not all."
 msgstr "MERGE wird nicht unterstützt für Sichten mit INSTEAD-OF-Trigger für einige Aktionen aber nicht für alle."
 
-#: rewrite/rewriteHandler.c:3399
+#: rewrite/rewriteHandler.c:3408
 #, c-format
 msgid "To enable merging into the view, either provide a full set of INSTEAD OF triggers or drop the existing INSTEAD OF triggers."
 msgstr "Um Mergen in die Sicht zu ermöglichen, richten Sie entweder einen vollen Satz an INSTEAD-OF-Triggern ein oder löschen Sie die bestehenden INSTEAD-OF-Trigger."
 
-#: rewrite/rewriteHandler.c:3912
+#: rewrite/rewriteHandler.c:3923
 #, c-format
 msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH"
 msgstr "DO-INSTEAD-NOTIFY-Regeln werden für datenmodifizierende Anweisungen in WITH nicht unterstützt"
 
-#: rewrite/rewriteHandler.c:3923
+#: rewrite/rewriteHandler.c:3934
 #, c-format
 msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH"
 msgstr "DO-INSTEAD-NOTHING-Regeln werden für datenmodifizierende Anweisungen in WITH nicht unterstützt"
 
-#: rewrite/rewriteHandler.c:3937
+#: rewrite/rewriteHandler.c:3948
 #, c-format
 msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH"
 msgstr "DO-INSTEAD-Regeln mit Bedingung werden für datenmodifizierende Anweisungen in WITH nicht unterstützt"
 
-#: rewrite/rewriteHandler.c:3941
+#: rewrite/rewriteHandler.c:3952
 #, c-format
 msgid "DO ALSO rules are not supported for data-modifying statements in WITH"
 msgstr "DO-ALSO-Regeln werden für datenmodifizierende Anweisungen in WITH nicht unterstützt"
 
-#: rewrite/rewriteHandler.c:3946
+#: rewrite/rewriteHandler.c:3957
 #, c-format
 msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH"
 msgstr "DO-INSTEAD-Regeln mit mehreren Anweisungen werden für datenmodifizierende Anweisungen in WITH nicht unterstützt"
 
-#: rewrite/rewriteHandler.c:4206
+#: rewrite/rewriteHandler.c:4217
 msgid "Views with conditional DO INSTEAD rules are not automatically updatable."
 msgstr "Sichten mit DO-INSTEAD-Regeln mit Bedingung sind nicht automatisch aktualisierbar."
 
-#: rewrite/rewriteHandler.c:4303
+#: rewrite/rewriteHandler.c:4314
 #, c-format
 msgid "cannot perform INSERT RETURNING on relation \"%s\""
 msgstr "INSERT RETURNING kann in Relation »%s« nicht ausgeführt werden"
 
-#: rewrite/rewriteHandler.c:4305
+#: rewrite/rewriteHandler.c:4316
 #, c-format
 msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause."
 msgstr "Sie benötigen eine ON INSERT DO INSTEAD Regel ohne Bedingung, mit RETURNING-Klausel."
 
-#: rewrite/rewriteHandler.c:4310
+#: rewrite/rewriteHandler.c:4321
 #, c-format
 msgid "cannot perform UPDATE RETURNING on relation \"%s\""
 msgstr "UPDATE RETURNING kann in Relation »%s« nicht ausgeführt werden"
 
-#: rewrite/rewriteHandler.c:4312
+#: rewrite/rewriteHandler.c:4323
 #, c-format
 msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause."
 msgstr "Sie benötigen eine ON UPDATE DO INSTEAD Regel ohne Bedingung, mit RETURNING-Klausel."
 
-#: rewrite/rewriteHandler.c:4317
+#: rewrite/rewriteHandler.c:4328
 #, c-format
 msgid "cannot perform DELETE RETURNING on relation \"%s\""
 msgstr "DELETE RETURNING kann in Relation »%s« nicht ausgeführt werden"
 
-#: rewrite/rewriteHandler.c:4319
+#: rewrite/rewriteHandler.c:4330
 #, c-format
 msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause."
 msgstr "Sie benötigen eine ON DELETE DO INSTEAD Regel ohne Bedingung, mit RETURNING-Klausel."
 
-#: rewrite/rewriteHandler.c:4337
+#: rewrite/rewriteHandler.c:4348
 #, c-format
 msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules"
 msgstr "INSERT mit ON-CONFLICT-Klausel kann nicht mit Tabelle verwendet werden, die INSERT- oder UPDATE-Regeln hat"
 
-#: rewrite/rewriteHandler.c:4394
+#: rewrite/rewriteHandler.c:4405
 #, c-format
 msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries"
 msgstr "WITH kann nicht in einer Anfrage verwendet werden, die durch Regeln in mehrere Anfragen umgeschrieben wird"
 
-#: rewrite/rewriteManip.c:1084
+#: rewrite/rewriteManip.c:1222
 #, c-format
 msgid "conditional utility statements are not implemented"
 msgstr "Utility-Anweisungen mit Bedingung sind nicht implementiert"
 
-#: rewrite/rewriteManip.c:1431
+#: rewrite/rewriteManip.c:1567
 #, c-format
 msgid "WHERE CURRENT OF on a view is not implemented"
 msgstr "WHERE CURRENT OF mit einer Sicht ist nicht implementiert"
 
-#: rewrite/rewriteManip.c:1767
+#: rewrite/rewriteManip.c:1970
 #, c-format
 msgid "NEW variables in ON UPDATE rules cannot reference columns that are part of a multiple assignment in the subject UPDATE command"
 msgstr "NEW-Variablen in ON UPDATE-Regeln können nicht auf Spalten verweisen, die Teil einer Mehrfachzuweisung in dem UPDATE-Befehl sind"
@@ -22464,148 +23317,236 @@ msgstr "NEW-Variablen in ON UPDATE-Regeln können nicht auf Spalten verweisen, d
 msgid "with a SEARCH or CYCLE clause, the recursive reference to WITH query \"%s\" must be at the top level of its right-hand SELECT"
 msgstr "mit einer SEARCH- oder CYCLE-Klausel muss der rekursive Verweis auf WITH-Anfrage »%s« auf der obersten Ebene ihres rechten SELECT sein"
 
-#: scan.l:497
+#: scan.l:483
 msgid "unterminated /* comment"
 msgstr "/*-Kommentar nicht abgeschlossen"
 
-#: scan.l:517
+#: scan.l:503
 msgid "unterminated bit string literal"
 msgstr "Bitkettenkonstante nicht abgeschlossen"
 
-#: scan.l:531
+#: scan.l:517
 msgid "unterminated hexadecimal string literal"
 msgstr "hexadezimale Zeichenkette nicht abgeschlossen"
 
-#: scan.l:581
+#: scan.l:567
 #, c-format
 msgid "unsafe use of string constant with Unicode escapes"
 msgstr "unsichere Verwendung von Zeichenkette mit Unicode-Escapes"
 
-#: scan.l:582
+#: scan.l:568
 #, c-format
 msgid "String constants with Unicode escapes cannot be used when \"standard_conforming_strings\" is off."
 msgstr "Zeichenketten mit Unicode-Escapes können nicht verwendet werden, wenn »standard_conforming_strings« aus ist."
 
-#: scan.l:643
+#: scan.l:629
 msgid "unhandled previous state in xqs"
 msgstr "unbehandelter vorheriger Zustand in xqs"
 
-#: scan.l:717
+#: scan.l:703
 #, c-format
 msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX."
 msgstr "Unicode-Escapes müssen \\uXXXX oder \\UXXXXXXXX sein."
 
-#: scan.l:728
+#: scan.l:714
 #, c-format
 msgid "unsafe use of \\' in a string literal"
 msgstr "unsichere Verwendung von \\' in Zeichenkettenkonstante"
 
-#: scan.l:729
+#: scan.l:715
 #, c-format
 msgid "Use '' to write quotes in strings. \\' is insecure in client-only encodings."
 msgstr "Verwenden Sie '', um Quotes in Zeichenketten zu schreiben. \\' ist in bestimmten Client-seitigen Kodierungen unsicher."
 
-#: scan.l:801
+#: scan.l:787
 msgid "unterminated dollar-quoted string"
 msgstr "Dollar-Quotes nicht abgeschlossen"
 
-#: scan.l:818 scan.l:828
+#: scan.l:804 scan.l:814
 msgid "zero-length delimited identifier"
 msgstr "Bezeichner in Anführungszeichen hat Länge null"
 
-#: scan.l:839 syncrep_scanner.l:101
+#: scan.l:825 syncrep_scanner.l:114
 msgid "unterminated quoted identifier"
 msgstr "Bezeichner in Anführungszeichen nicht abgeschlossen"
 
-#: scan.l:1002
+#: scan.l:988
 msgid "operator too long"
 msgstr "Operator zu lang"
 
-#: scan.l:1015
+#: scan.l:1001
+#, fuzzy
+#| msgid "parameter number %d is out of range 0..%d"
+msgid "parameter number too large"
+msgstr "Parameternummer %d ist außerhalb des zulässigen Bereichs 0..%d"
+
+#: scan.l:1007
 msgid "trailing junk after parameter"
 msgstr "Müll folgt auf Parameter"
 
-#: scan.l:1036
+#: scan.l:1028
 msgid "invalid hexadecimal integer"
 msgstr "ungültige hexadezimale Zahl"
 
-#: scan.l:1040
+#: scan.l:1032
 msgid "invalid octal integer"
 msgstr "ungültige oktale Zahl"
 
-#: scan.l:1044
+#: scan.l:1036
 msgid "invalid binary integer"
 msgstr "ungültige binäre Zahl"
 
 #. translator: %s is typically the translation of "syntax error"
-#: scan.l:1239
+#: scan.l:1231
 #, c-format
 msgid "%s at end of input"
 msgstr "%s am Ende der Eingabe"
 
 #. translator: first %s is typically the translation of "syntax error"
-#: scan.l:1247
+#: scan.l:1239
 #, c-format
 msgid "%s at or near \"%s\""
 msgstr "%s bei »%s«"
 
-#: scan.l:1439
+#: scan.l:1431
 #, c-format
 msgid "nonstandard use of \\' in a string literal"
 msgstr "nicht standardkonforme Verwendung von \\' in Zeichenkettenkonstante"
 
-#: scan.l:1440
+#: scan.l:1432
 #, c-format
 msgid "Use '' to write quotes in strings, or use the escape string syntax (E'...')."
 msgstr "Verwenden Sie '', um Quotes in Zeichenketten zu schreiben, oder verwenden Sie die Syntax für Escape-Zeichenketten (E'...')."
 
-#: scan.l:1449
+#: scan.l:1441
 #, c-format
 msgid "nonstandard use of \\\\ in a string literal"
 msgstr "nicht standardkonforme Verwendung  von \\\\ in Zeichenkettenkonstante"
 
-#: scan.l:1450
+#: scan.l:1442
 #, c-format
 msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'."
 msgstr "Verwenden Sie die Syntax für Escape-Zeichenketten für Backslashes, z.B. E'\\\\'."
 
-#: scan.l:1464
+#: scan.l:1456
 #, c-format
 msgid "nonstandard use of escape in a string literal"
 msgstr "nicht standardkonforme Verwendung von Escape in Zeichenkettenkonstante"
 
-#: scan.l:1465
+#: scan.l:1457
 #, c-format
 msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'."
 msgstr "Verwenden Sie die Syntax für Escape-Zeichenketten, z.B. E'\\r\\n'."
 
-#: snowball/dict_snowball.c:215
+#: snowball/dict_snowball.c:217
 #, c-format
 msgid "no Snowball stemmer available for language \"%s\" and encoding \"%s\""
 msgstr "kein Snowball-Stemmer für Sprache »%s« und Kodierung »%s« verfügbar"
 
-#: snowball/dict_snowball.c:238 tsearch/dict_ispell.c:74
-#: tsearch/dict_simple.c:49
+#: snowball/dict_snowball.c:240 tsearch/dict_ispell.c:75
+#: tsearch/dict_simple.c:50
 #, c-format
 msgid "multiple StopWords parameters"
 msgstr "mehrere »StopWords«-Parameter"
 
-#: snowball/dict_snowball.c:247
+#: snowball/dict_snowball.c:249
 #, c-format
 msgid "multiple Language parameters"
 msgstr "mehrere »Language«-Parameter"
 
-#: snowball/dict_snowball.c:254
+#: snowball/dict_snowball.c:256
 #, c-format
 msgid "unrecognized Snowball parameter: \"%s\""
 msgstr "unbekannter Snowball-Parameter: »%s«"
 
-#: snowball/dict_snowball.c:262
+#: snowball/dict_snowball.c:264
 #, c-format
 msgid "missing Language parameter"
 msgstr "Parameter »Language« fehlt"
 
-#: statistics/extended_stats.c:176
+#: statistics/attribute_stats.c:180 statistics/attribute_stats.c:915
+#: statistics/relation_stats.c:118
+#, fuzzy, c-format
+#| msgid "%s cannot be executed during recovery."
+msgid "Statistics cannot be modified during recovery."
+msgstr "%s kann nicht während der Wiederherstellung ausgeführt werden."
+
+#: statistics/attribute_stats.c:193
+#, fuzzy, c-format
+#| msgid "cannot specify both %s and %s"
+msgid "cannot specify both attname and attnum"
+msgstr "%s und %s können nicht beide angegeben werden"
+
+#: statistics/attribute_stats.c:220
+#, fuzzy, c-format
+#| msgid "must specify at least one column"
+msgid "must specify either attname or attnum"
+msgstr "mindestens eine Spalte muss angegeben werden"
+
+#: statistics/attribute_stats.c:228
+#, fuzzy, c-format
+#| msgid "cannot assign to system column \"%s\""
+msgid "cannot modify statistics on system column \"%s\""
+msgstr "kann Systemspalte »%s« keinen Wert zuweisen"
+
+#: statistics/attribute_stats.c:292
+#, fuzzy, c-format
+#| msgid "cannot determine element type of \"anyarray\" argument"
+msgid "unable to determine element type of attribute \"%s\""
+msgstr "kann Elementtyp des Arguments mit Typ »anyarray« nicht bestimmen"
+
+#: statistics/attribute_stats.c:293
+#, c-format
+msgid "Cannot set STATISTIC_KIND_MCELEM or STATISTIC_KIND_DECHIST."
+msgstr ""
+
+#: statistics/attribute_stats.c:308
+#, fuzzy, c-format
+#| msgid "could not determine data type for argument %d"
+msgid "could not determine less-than operator for attribute \"%s\""
+msgstr "konnte Datentyp von Argument %d nicht ermitteln"
+
+#: statistics/attribute_stats.c:309
+#, c-format
+msgid "Cannot set STATISTIC_KIND_HISTOGRAM or STATISTIC_KIND_CORRELATION."
+msgstr ""
+
+#: statistics/attribute_stats.c:322
+#, fuzzy, c-format
+#| msgid "variable \"%s\" is not an array"
+msgid "attribute \"%s\" is not a range type"
+msgstr "Variable »%s« ist kein Array"
+
+#: statistics/attribute_stats.c:323
+#, c-format