de: Translation updates
authorPeter Eisentraut <peter@eisentraut.org>
Sun, 4 Sep 2022 20:55:20 +0000 (22:55 +0200)
committerPeter Eisentraut <peter@eisentraut.org>
Sun, 4 Sep 2022 20:55:20 +0000 (22:55 +0200)
de/postgres.po

index 359f62a2f80d0e303d1033c1ec97e1cb0f4e66b7..5eb03b0a8b60f460c425d28f0fcfbdde6c811910 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 15\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2022-08-31 06:10+0000\n"
-"PO-Revision-Date: 2022-08-31 18:21+0200\n"
+"POT-Creation-Date: 2022-09-03 03:41+0000\n"
+"PO-Revision-Date: 2022-09-04 22:52+0200\n"
 "Last-Translator: Peter Eisentraut <peter@eisentraut.org>\n"
 "Language-Team: German <pgsql-translators@postgresql.org>\n"
 "Language: de\n"
@@ -138,8 +138,8 @@ msgstr ""
 #: access/transam/timeline.c:348 access/transam/twophase.c:1304
 #: access/transam/xlog.c:2941 access/transam/xlog.c:3123
 #: access/transam/xlog.c:3162 access/transam/xlog.c:3357
-#: access/transam/xlog.c:4012 access/transam/xlogrecovery.c:4170
-#: access/transam/xlogrecovery.c:4273 access/transam/xlogutils.c:850
+#: access/transam/xlog.c:4012 access/transam/xlogrecovery.c:4178
+#: access/transam/xlogrecovery.c:4281 access/transam/xlogutils.c:850
 #: backup/basebackup.c:522 backup/basebackup.c:1519 postmaster/syslogger.c:1560
 #: replication/logical/origin.c:719 replication/logical/reorderbuffer.c:3581
 #: replication/logical/reorderbuffer.c:4130
@@ -202,8 +202,8 @@ msgstr "konnte Datei »%s« nicht fsyncen: %m"
 #: storage/file/fd.c:1595 storage/file/fd.c:2409 storage/ipc/procarray.c:1437
 #: storage/ipc/procarray.c:2249 storage/ipc/procarray.c:2256
 #: storage/ipc/procarray.c:2759 storage/ipc/procarray.c:3390
-#: utils/adt/formatting.c:1727 utils/adt/formatting.c:1849
-#: utils/adt/formatting.c:1972 utils/adt/pg_locale.c:450
+#: utils/adt/formatting.c:1732 utils/adt/formatting.c:1854
+#: utils/adt/formatting.c:1977 utils/adt/pg_locale.c:450
 #: utils/adt/pg_locale.c:614 utils/adt/regexp.c:224 utils/fmgr/dfmgr.c:229
 #: utils/hash/dynahash.c:513 utils/hash/dynahash.c:613
 #: utils/hash/dynahash.c:1116 utils/mb/mbutils.c:401 utils/mb/mbutils.c:429
@@ -214,7 +214,7 @@ msgstr "konnte Datei »%s« nicht fsyncen: %m"
 #: utils/mmgr/mcxt.c:888 utils/mmgr/mcxt.c:924 utils/mmgr/mcxt.c:962
 #: utils/mmgr/mcxt.c:1000 utils/mmgr/mcxt.c:1088 utils/mmgr/mcxt.c:1119
 #: utils/mmgr/mcxt.c:1155 utils/mmgr/mcxt.c:1207 utils/mmgr/mcxt.c:1242
-#: utils/mmgr/mcxt.c:1277 utils/mmgr/slab.c:236
+#: utils/mmgr/mcxt.c:1277 utils/mmgr/slab.c:238
 #, c-format
 msgid "out of memory"
 msgstr "Speicher aufgebraucht"
@@ -920,7 +920,7 @@ msgstr "Komprimierungsmethode lz4 nicht unterstützt"
 msgid "This functionality requires the server to be built with lz4 support."
 msgstr "Diese Funktionalität verlangt, dass der Server mit lz4-Unterstützung gebaut wird."
 
-#: access/common/tupdesc.c:825 parser/parse_clause.c:773
+#: access/common/tupdesc.c:825 parser/parse_clause.c:771
 #: parser/parse_relation.c:1857
 #, c-format
 msgid "column \"%s\" cannot be declared SETOF"
@@ -1055,8 +1055,8 @@ msgstr "konnte die für das Zeichenketten-Hashing zu verwendende Sortierfolge ni
 #: access/hash/hashfunc.c:279 access/hash/hashfunc.c:335 catalog/heap.c:665
 #: catalog/heap.c:671 commands/createas.c:206 commands/createas.c:515
 #: commands/indexcmds.c:1962 commands/tablecmds.c:17446 commands/view.c:86
-#: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1685
-#: utils/adt/formatting.c:1807 utils/adt/formatting.c:1930 utils/adt/like.c:190
+#: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1690
+#: utils/adt/formatting.c:1812 utils/adt/formatting.c:1935 utils/adt/like.c:190
 #: utils/adt/like_support.c:1025 utils/adt/varchar.c:733
 #: utils/adt/varchar.c:1004 utils/adt/varchar.c:1064 utils/adt/varlena.c:1499
 #, c-format
@@ -1255,17 +1255,17 @@ msgstr "verpasste Tupel: %lld tot von %u Seiten nicht entfernt wegen Cleanup-Loc
 #: access/heap/vacuumlazy.c:708
 #, c-format
 msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n"
-msgstr ""
+msgstr "entfernbare Obergrenze: %u, was %d XIDs alt war als die Operation endete\n"
 
 #: access/heap/vacuumlazy.c:714
 #, c-format
 msgid "new relfrozenxid: %u, which is %d XIDs ahead of previous value\n"
-msgstr ""
+msgstr "neue relfrozenxid: %u, was %d XIDs vor dem vorherigen Wert ist\n"
 
 #: access/heap/vacuumlazy.c:721
 #, c-format
 msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n"
-msgstr ""
+msgstr "neue relminmxid: %u, was %d MXIDs vor dem vorherigen Wert ist\n"
 
 #: access/heap/vacuumlazy.c:727
 msgid "index scan not needed: "
@@ -2750,7 +2750,7 @@ msgstr "ungültiger Datensatz-Offset bei %X/%X"
 msgid "contrecord is requested by %X/%X"
 msgstr "Contrecord angefordert von %X/%X"
 
-#: access/transam/xlogreader.c:670 access/transam/xlogreader.c:1102
+#: access/transam/xlogreader.c:670 access/transam/xlogreader.c:1106
 #, c-format
 msgid "invalid record length at %X/%X: wanted %u, got %u"
 msgstr "ungültige Datensatzlänge bei %X/%X: %u erwartet, %u erhalten"
@@ -2775,122 +2775,122 @@ msgstr "keine Contrecord-Flag bei %X/%X"
 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:1110
+#: access/transam/xlogreader.c:1114
 #, 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:1123 access/transam/xlogreader.c:1139
+#: access/transam/xlogreader.c:1127 access/transam/xlogreader.c:1143
 #, 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:1175
+#: access/transam/xlogreader.c:1179
 #, 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:1212
+#: access/transam/xlogreader.c:1216
 #, c-format
 msgid "invalid magic number %04X in log segment %s, offset %u"
 msgstr "ungültige magische Zahl %04X in Logsegment %s, Offset %u"
 
-#: access/transam/xlogreader.c:1226 access/transam/xlogreader.c:1267
+#: access/transam/xlogreader.c:1230 access/transam/xlogreader.c:1271
 #, c-format
 msgid "invalid info bits %04X in log segment %s, offset %u"
 msgstr "ungültige Info-Bits %04X in Logsegment %s, Offset %u"
 
-#: access/transam/xlogreader.c:1241
+#: access/transam/xlogreader.c:1245
 #, 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:1249
+#: access/transam/xlogreader.c:1253
 #, 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:1255
+#: access/transam/xlogreader.c:1259
 #, 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:1286
+#: access/transam/xlogreader.c:1290
 #, c-format
 msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
 msgstr "unerwartete Pageaddr %X/%X in Logsegment %s, Offset %u"
 
-#: access/transam/xlogreader.c:1311
+#: access/transam/xlogreader.c:1315
 #, c-format
 msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
 msgstr "Zeitleisten-ID %u außer der Reihe (nach %u) in Logsegment %s, Offset %u"
 
-#: access/transam/xlogreader.c:1706
+#: access/transam/xlogreader.c:1720
 #, 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:1730
+#: access/transam/xlogreader.c:1744
 #, 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:1737
+#: access/transam/xlogreader.c:1751
 #, 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:1773
+#: access/transam/xlogreader.c:1787
 #, 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:1789
+#: access/transam/xlogreader.c:1803
 #, 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:1803
+#: access/transam/xlogreader.c:1817
 #, 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:1818
+#: access/transam/xlogreader.c:1832
 #, 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:1834
+#: access/transam/xlogreader.c:1848
 #, 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:1846
+#: access/transam/xlogreader.c:1860
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "ungültige block_id %u bei %X/%X"
 
-#: access/transam/xlogreader.c:1913
+#: access/transam/xlogreader.c:1927
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "Datensatz mit ungültiger Länge bei %X/%X"
 
-#: access/transam/xlogreader.c:1938
+#: access/transam/xlogreader.c:1952
 #, c-format
 msgid "failed to locate backup block with ID %d in WAL record"
 msgstr "konnte Backup-Block mit ID %d nicht im WAL-Eintrag finden"
 
-#: access/transam/xlogreader.c:2044 access/transam/xlogreader.c:2061
+#: access/transam/xlogreader.c:2058 access/transam/xlogreader.c:2075
 #, c-format
 msgid "image at %X/%X compressed with %s not supported by build, block %d"
 msgstr "Abbild bei %X/%X komprimiert mit %s nicht unterstützt von dieser Installation, Block %d"
 
-#: access/transam/xlogreader.c:2070
+#: access/transam/xlogreader.c:2084
 #, c-format
 msgid "image at %X/%X compressed with unknown method, block %d"
 msgstr "Abbild bei %X/%X, komprimiert mit unbekannter Methode, Block %d"
 
-#: access/transam/xlogreader.c:2078
+#: access/transam/xlogreader.c:2092
 #, c-format
 msgid "invalid compressed image at %X/%X, block %d"
 msgstr "ungültiges komprimiertes Abbild bei %X/%X, Block %d"
@@ -3192,7 +3192,7 @@ msgstr "pausiere am Ende der Wiederherstellung"
 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:2808 access/transam/xlogrecovery.c:4605
+#: access/transam/xlogrecovery.c:2808 access/transam/xlogrecovery.c:4613
 #, c-format
 msgid "recovery has paused"
 msgstr "Wiederherstellung wurde pausiert"
@@ -3217,128 +3217,128 @@ msgstr "konnte nicht aus Logsegment %s, Position %u lesen: %m"
 msgid "could not read from log segment %s, offset %u: read %d of %zu"
 msgstr "konnte nicht aus Logsegment %s bei Position %u lesen: %d von %zu gelesen"
 
-#: access/transam/xlogrecovery.c:3922
+#: access/transam/xlogrecovery.c:3930
 #, c-format
 msgid "invalid primary checkpoint link in control file"
 msgstr "ungültige primäre Checkpoint-Verknüpfung in Kontrolldatei"
 
-#: access/transam/xlogrecovery.c:3926
+#: access/transam/xlogrecovery.c:3934
 #, c-format
 msgid "invalid checkpoint link in backup_label file"
 msgstr "ungültige Checkpoint-Verknüpfung in backup_label-Datei"
 
-#: access/transam/xlogrecovery.c:3944
+#: access/transam/xlogrecovery.c:3952
 #, c-format
 msgid "invalid primary checkpoint record"
 msgstr "ungültiger primärer Checkpoint-Datensatz"
 
-#: access/transam/xlogrecovery.c:3948
+#: access/transam/xlogrecovery.c:3956
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "ungültiger Checkpoint-Datensatz"
 
-#: access/transam/xlogrecovery.c:3959
+#: access/transam/xlogrecovery.c:3967
 #, c-format
 msgid "invalid resource manager ID in primary checkpoint record"
 msgstr "ungültige Resource-Manager-ID im primären Checkpoint-Datensatz"
 
-#: access/transam/xlogrecovery.c:3963
+#: access/transam/xlogrecovery.c:3971
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "ungültige Resource-Manager-ID im Checkpoint-Datensatz"
 
-#: access/transam/xlogrecovery.c:3976
+#: access/transam/xlogrecovery.c:3984
 #, c-format
 msgid "invalid xl_info in primary checkpoint record"
 msgstr "ungültige xl_info im primären Checkpoint-Datensatz"
 
-#: access/transam/xlogrecovery.c:3980
+#: access/transam/xlogrecovery.c:3988
 #, c-format
 msgid "invalid xl_info in checkpoint record"
 msgstr "ungültige xl_info im Checkpoint-Datensatz"
 
-#: access/transam/xlogrecovery.c:3991
+#: access/transam/xlogrecovery.c:3999
 #, c-format
 msgid "invalid length of primary checkpoint record"
 msgstr "ungültige Länge des primären Checkpoint-Datensatzes"
 
-#: access/transam/xlogrecovery.c:3995
+#: access/transam/xlogrecovery.c:4003
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "ungültige Länge des Checkpoint-Datensatzes"
 
-#: access/transam/xlogrecovery.c:4051
+#: access/transam/xlogrecovery.c:4059
 #, 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:4065
+#: access/transam/xlogrecovery.c:4073
 #, 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:4084
+#: access/transam/xlogrecovery.c:4092
 #, c-format
 msgid "new target timeline is %u"
 msgstr "neue Zielzeitleiste ist %u"
 
-#: access/transam/xlogrecovery.c:4287
+#: access/transam/xlogrecovery.c:4295
 #, c-format
 msgid "WAL receiver process shutdown requested"
 msgstr "Herunterfahren des WAL-Receiver-Prozesses verlangt"
 
-#: access/transam/xlogrecovery.c:4350
+#: access/transam/xlogrecovery.c:4358
 #, c-format
 msgid "received promote request"
 msgstr "Anforderung zum Befördern empfangen"
 
-#: access/transam/xlogrecovery.c:4363
+#: access/transam/xlogrecovery.c:4371
 #, c-format
 msgid "promote trigger file found: %s"
 msgstr "Promote-Triggerdatei gefunden: %s"
 
-#: access/transam/xlogrecovery.c:4371
+#: access/transam/xlogrecovery.c:4379
 #, c-format
 msgid "could not stat promote trigger file \"%s\": %m"
 msgstr "konnte »stat« für Promote-Triggerdatei »%s« nicht ausführen: %m"
 
-#: access/transam/xlogrecovery.c:4596
+#: access/transam/xlogrecovery.c:4604
 #, 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:4597 access/transam/xlogrecovery.c:4624
-#: access/transam/xlogrecovery.c:4654
+#: access/transam/xlogrecovery.c:4605 access/transam/xlogrecovery.c:4632
+#: access/transam/xlogrecovery.c:4662
 #, 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:4606
+#: access/transam/xlogrecovery.c:4614
 #, 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:4607
+#: access/transam/xlogrecovery.c:4615
 #, 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:4618
+#: access/transam/xlogrecovery.c:4626
 #, 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:4628
+#: access/transam/xlogrecovery.c:4636
 #, 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:4652
+#: access/transam/xlogrecovery.c:4660
 #, c-format
 msgid "recovery aborted because of insufficient parameter settings"
 msgstr "Wiederherstellung abgebrochen wegen unzureichender Parametereinstellungen"
 
-#: access/transam/xlogrecovery.c:4658
+#: access/transam/xlogrecovery.c:4666
 #, 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."
@@ -3774,7 +3774,7 @@ msgstr "Klausel IN SCHEMA kann nicht verwendet werden, wenn GRANT/REVOKE ON SCHE
 #: parser/parse_relation.c:725 parser/parse_target.c:1063
 #: parser/parse_type.c:144 parser/parse_utilcmd.c:3434
 #: parser/parse_utilcmd.c:3470 parser/parse_utilcmd.c:3512 utils/adt/acl.c:2869
-#: utils/adt/ruleutils.c:2820
+#: utils/adt/ruleutils.c:2810
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "Spalte »%s« von Relation »%s« existiert nicht"
@@ -4418,8 +4418,8 @@ 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:2410 parser/parse_relation.c:3370
-#: parser/parse_relation.c:3380
+#: catalog/dependency.c:2410 parser/parse_relation.c:3369
+#: parser/parse_relation.c:3379
 #, c-format
 msgid "column %d of relation \"%s\" does not exist"
 msgstr "Spalte %d von Relation »%s« existiert nicht"
@@ -4780,12 +4780,12 @@ msgstr "Textsuchevorlage »%s« existiert nicht"
 msgid "text search configuration \"%s\" does not exist"
 msgstr "Textsuchekonfiguration »%s« existiert nicht"
 
-#: catalog/namespace.c:2883 parser/parse_expr.c:868 parser/parse_target.c:1255
+#: catalog/namespace.c:2883 parser/parse_expr.c:806 parser/parse_target.c:1255
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "Verweise auf andere Datenbanken sind nicht implementiert: %s"
 
-#: catalog/namespace.c:2889 gram.y:19330 gram.y:19370 parser/parse_expr.c:875
+#: catalog/namespace.c:2889 gram.y:18257 gram.y:18297 parser/parse_expr.c:813
 #: parser/parse_target.c:1262
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
@@ -6205,7 +6205,7 @@ msgstr "keine Handler-Funktion angegeben"
 
 #: commands/amcmds.c:264 commands/event_trigger.c:183
 #: commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:713
-#: parser/parse_clause.c:942
+#: parser/parse_clause.c:940
 #, c-format
 msgid "function %s must return type %s"
 msgstr "Funktion %s muss Rückgabetyp %s haben"
@@ -6714,8 +6714,8 @@ msgstr "Generierte Spalten können nicht in COPY verwendet werden."
 
 #: commands/copy.c:781 commands/indexcmds.c:1833 commands/statscmds.c:243
 #: commands/tablecmds.c:2379 commands/tablecmds.c:3035
-#: commands/tablecmds.c:3529 parser/parse_relation.c:3656
-#: parser/parse_relation.c:3676 utils/adt/tsvector_op.c:2685
+#: commands/tablecmds.c:3529 parser/parse_relation.c:3655
+#: parser/parse_relation.c:3675 utils/adt/tsvector_op.c:2685
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "Spalte »%s« existiert nicht"
@@ -7454,7 +7454,7 @@ msgid "invalid argument for %s: \"%s\""
 msgstr "ungültiges Argument für %s: »%s«"
 
 #: commands/dropcmds.c:100 commands/functioncmds.c:1394
-#: utils/adt/ruleutils.c:2918
+#: utils/adt/ruleutils.c:2908
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "»%s« ist eine Aggregatfunktion"
@@ -8571,7 +8571,7 @@ 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:1969 commands/tablecmds.c:17453 commands/typecmds.c:807
-#: parser/parse_expr.c:2752 parser/parse_type.c:570 parser/parse_utilcmd.c:3795
+#: parser/parse_expr.c:2690 parser/parse_type.c:570 parser/parse_utilcmd.c:3795
 #: utils/adt/misc.c:601
 #, c-format
 msgid "collations are not supported by type %s"
@@ -8725,7 +8725,7 @@ msgstr "kann Relation »%s« nicht sperren"
 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:199 gram.y:19067
+#: commands/matview.c:199 gram.y:17994
 #, c-format
 msgid "%s and %s options cannot be used together"
 msgstr "Optionen %s und %s können nicht zusammen verwendet werden"
@@ -9182,7 +9182,7 @@ msgstr "Benutzerdefinierte Operatoren sind nicht erlaubt."
 
 #: commands/publicationcmds.c:617
 msgid "Expressions only allow columns, constants, built-in operators, built-in data types, built-in collations, and immutable built-in functions."
-msgstr ""
+msgstr "Ausdrücke erlauben nur Spalten, Konstanten, eingebaute Operatoren, eingebaute Datentypen, eingebaute Sortierfolgen und eingebaute Funktionen, die »immutable« sind."
 
 #: commands/publicationcmds.c:631
 #, c-format
@@ -12072,8 +12072,8 @@ msgstr "nur Superuser können Benutzer mit »bypassrls« anlegen"
 msgid "permission denied to create role"
 msgstr "keine Berechtigung, um Rolle zu erzeugen"
 
-#: commands/user.c:287 commands/user.c:1139 commands/user.c:1146 gram.y:17457
-#: gram.y:17503 utils/adt/acl.c:5331 utils/adt/acl.c:5337
+#: commands/user.c:287 commands/user.c:1139 commands/user.c:1146 gram.y:16436
+#: gram.y:16482 utils/adt/acl.c:5331 utils/adt/acl.c:5337
 #, c-format
 msgid "role name \"%s\" is reserved"
 msgstr "Rollenname »%s« ist reserviert"
@@ -12606,19 +12606,19 @@ 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:2485
+#: executor/execCurrent.c:280 executor/execExprInterp.c:2453
 #, 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:2497
+#: executor/execCurrent.c:292 executor/execExprInterp.c:2465
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "kein Wert für Parameter %d gefunden"
 
 #: executor/execExpr.c:632 executor/execExpr.c:639 executor/execExpr.c:645
-#: executor/execExprInterp.c:4169 executor/execExprInterp.c:4186
-#: executor/execExprInterp.c:4285 executor/nodeModifyTable.c:218
+#: executor/execExprInterp.c:4052 executor/execExprInterp.c:4069
+#: executor/execExprInterp.c:4168 executor/nodeModifyTable.c:218
 #: executor/nodeModifyTable.c:229 executor/nodeModifyTable.c:246
 #: executor/nodeModifyTable.c:254
 #, c-format
@@ -12635,7 +12635,7 @@ msgstr "Anfrage hat zu viele Spalten."
 msgid "Query provides a value for a dropped column at ordinal position %d."
 msgstr "Anfrage liefert einen Wert für eine gelöschte Spalte auf Position %d."
 
-#: executor/execExpr.c:646 executor/execExprInterp.c:4187
+#: executor/execExpr.c:646 executor/execExprInterp.c:4070
 #: executor/nodeModifyTable.c:230
 #, c-format
 msgid "Table has type %s at ordinal position %d, but query expects %s."
@@ -12656,7 +12656,7 @@ msgstr "Zieltyp ist kein Array"
 msgid "ROW() column has type %s instead of type %s"
 msgstr "ROW()-Spalte hat Typ %s statt Typ %s"
 
-#: executor/execExpr.c:2736 executor/execSRF.c:718 parser/parse_func.c:138
+#: executor/execExpr.c:2479 executor/execSRF.c:718 parser/parse_func.c:138
 #: parser/parse_func.c:655 parser/parse_func.c:1031
 #, c-format
 msgid "cannot pass more than %d argument to a function"
@@ -12664,39 +12664,39 @@ 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:2763 executor/execSRF.c:738 executor/functions.c:1073
-#: utils/adt/jsonfuncs.c:3736 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143
+#: executor/execExpr.c:2506 executor/execSRF.c:738 executor/functions.c:1073
+#: utils/adt/jsonfuncs.c:3691 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:3122 parser/parse_node.c:276 parser/parse_node.c:326
+#: executor/execExpr.c:2865 parser/parse_node.c:276 parser/parse_node.c:326
 #, c-format
 msgid "cannot subscript type %s because it does not support subscripting"
 msgstr "kann aus Typ %s kein Element auswählen, weil er Subscripting nicht unterstützt"
 
-#: executor/execExpr.c:3250 executor/execExpr.c:3272
+#: executor/execExpr.c:2993 executor/execExpr.c:3015
 #, c-format
 msgid "type %s does not support subscripted assignment"
 msgstr "Typ %s unterstützt Wertzuweisungen in Elemente nicht"
 
-#: executor/execExprInterp.c:1950
+#: executor/execExprInterp.c:1918
 #, c-format
 msgid "attribute %d of type %s has been dropped"
 msgstr "Attribut %d von Typ %s wurde gelöscht"
 
-#: executor/execExprInterp.c:1956
+#: executor/execExprInterp.c:1924
 #, c-format
 msgid "attribute %d of type %s has wrong type"
 msgstr "Attribut %d von Typ %s hat falschen Typ"
 
-#: executor/execExprInterp.c:1958 executor/execExprInterp.c:3086
-#: executor/execExprInterp.c:3132
+#: executor/execExprInterp.c:1926 executor/execExprInterp.c:3054
+#: executor/execExprInterp.c:3100
 #, c-format
 msgid "Table has type %s, but query expects %s."
 msgstr "Tabelle hat Typ %s, aber Anfrage erwartet %s."
 
-#: executor/execExprInterp.c:2037 utils/adt/expandedrecord.c:99
+#: executor/execExprInterp.c:2005 utils/adt/expandedrecord.c:99
 #: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1749
 #: utils/cache/typcache.c:1908 utils/cache/typcache.c:2055
 #: utils/fmgr/funcapi.c:527
@@ -12704,22 +12704,22 @@ msgstr "Tabelle hat Typ %s, aber Anfrage erwartet %s."
 msgid "type %s is not composite"
 msgstr "Typ %s ist kein zusammengesetzter Typ"
 
-#: executor/execExprInterp.c:2575
+#: executor/execExprInterp.c:2543
 #, 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:2788
+#: executor/execExprInterp.c:2756
 #, c-format
 msgid "cannot merge incompatible arrays"
 msgstr "kann inkompatible Arrays nicht verschmelzen"
 
-#: executor/execExprInterp.c:2789
+#: executor/execExprInterp.c:2757
 #, 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:2810 utils/adt/arrayfuncs.c:263
+#: executor/execExprInterp.c:2778 utils/adt/arrayfuncs.c:263
 #: utils/adt/arrayfuncs.c:563 utils/adt/arrayfuncs.c:1305
 #: utils/adt/arrayfuncs.c:3375 utils/adt/arrayfuncs.c:5372
 #: utils/adt/arrayfuncs.c:5889 utils/adt/arraysubs.c:150
@@ -12728,48 +12728,38 @@ msgstr "Arrayelement mit Typ %s kann nicht in ARRAY-Konstrukt mit Elementtyp %s
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "Anzahl der Arraydimensionen (%d) überschreitet erlaubtes Maximum (%d)"
 
-#: executor/execExprInterp.c:2830 executor/execExprInterp.c:2860
+#: executor/execExprInterp.c:2798 executor/execExprInterp.c:2828
 #, 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:3085 executor/execExprInterp.c:3131
+#: executor/execExprInterp.c:3053 executor/execExprInterp.c:3099
 #, c-format
 msgid "attribute %d has wrong type"
 msgstr "Attribut %d hat falschen Typ"
 
-#: executor/execExprInterp.c:3713 utils/adt/domains.c:149
+#: executor/execExprInterp.c:3681 utils/adt/domains.c:149
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "Domäne %s erlaubt keine NULL-Werte"
 
-#: executor/execExprInterp.c:3728 utils/adt/domains.c:184
+#: executor/execExprInterp.c:3696 utils/adt/domains.c:184
 #, c-format
 msgid "value for domain %s violates check constraint \"%s\""
 msgstr "Wert für Domäne %s verletzt Check-Constraint »%s«"
 
-#: executor/execExprInterp.c:4170
+#: executor/execExprInterp.c:4053
 #, 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:4286 executor/execSRF.c:977
+#: executor/execExprInterp.c:4169 executor/execSRF.c:977
 #, c-format
 msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
 msgstr "Physischer Speicher stimmt nicht überein mit gelöschtem Attribut auf Position %d."
 
-#: executor/execExprInterp.c:4984
-#, c-format
-msgid "SQL/JSON item cannot be cast to target type"
-msgstr "SQL-JSON-Item kann nicht in den Zieltyp umgewandelt werden"
-
-#: executor/execExprInterp.c:5038
-#, c-format
-msgid "no SQL/JSON item"
-msgstr ""
-
 #: executor/execIndexing.c:571
 #, c-format
 msgid "ON CONFLICT does not support deferrable unique constraints/exclusion constraints as arbiters"
@@ -13272,12 +13262,12 @@ msgstr "Das Ergebnistupel würde in einer anderen Partition erscheinen als das u
 #: executor/nodeModifyTable.c:2084
 #, 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 ""
+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:2085
 #, c-format
 msgid "A foreign key points to ancestor \"%s\", but not the root ancestor \"%s\"."
-msgstr ""
+msgstr "Ein Fremdschlüssel verweist auf den Vorgänger »%s«, aber nicht auf den Wurzelvorgänger »%s«."
 
 #: executor/nodeModifyTable.c:2088
 #, c-format
@@ -13298,7 +13288,7 @@ msgstr "Stellen Sie sicher, dass keine im selben Befehl fürs Einfügen vorgeseh
 #: executor/nodeModifyTable.c:2825
 #, c-format
 msgid "Ensure that not more than one source row matches any one target row."
-msgstr ""
+msgstr "Stellen Sie sicher, dass nicht mehr als eine Quellzeile auf jede Zielzeile passt."
 
 #: executor/nodeModifyTable.c:2928
 #, c-format
@@ -13326,27 +13316,27 @@ msgstr "Parameter von TABLESAMPLE REPEATABLE darf nicht NULL sein"
 msgid "more than one row returned by a subquery used as an expression"
 msgstr "als Ausdruck verwendete Unteranfrage ergab mehr als eine Zeile"
 
-#: executor/nodeTableFuncscan.c:377
+#: executor/nodeTableFuncscan.c:375
 #, c-format
 msgid "namespace URI must not be null"
 msgstr "Namensraum-URI darf nicht NULL sein"
 
-#: executor/nodeTableFuncscan.c:393
+#: executor/nodeTableFuncscan.c:389
 #, c-format
 msgid "row filter expression must not be null"
 msgstr "Zeilenfilterausdruck darf nicht NULL sein"
 
-#: executor/nodeTableFuncscan.c:420
+#: executor/nodeTableFuncscan.c:415
 #, c-format
 msgid "column filter expression must not be null"
 msgstr "Spaltenfilterausdruck darf nicht NULL sein"
 
-#: executor/nodeTableFuncscan.c:421
+#: executor/nodeTableFuncscan.c:416
 #, c-format
 msgid "Filter for column \"%s\" is null."
 msgstr "Filter für Spalte »%s« ist NULL."
 
-#: executor/nodeTableFuncscan.c:511
+#: executor/nodeTableFuncscan.c:506
 #, c-format
 msgid "null is not allowed in column \"%s\""
 msgstr "NULL ist in Spalte »%s« nicht erlaubt"
@@ -13483,406 +13473,401 @@ msgstr "Gültige Optionen in diesem Zusammenhang sind: %s"
 msgid "There are no valid options in this context."
 msgstr "Es gibt keine gültigen Optionen in diesem Zusammenhang."
 
-#: gram.y:1260
+#: gram.y:1145
 #, c-format
 msgid "UNENCRYPTED PASSWORD is no longer supported"
 msgstr "UNENCRYPTED PASSWORD wird nicht mehr unterstützt"
 
-#: gram.y:1261
+#: gram.y:1146
 #, 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:1323
+#: gram.y:1208
 #, c-format
 msgid "unrecognized role option \"%s\""
 msgstr "unbekannte Rollenoption »%s«"
 
-#: gram.y:1588 gram.y:1604
+#: gram.y:1473 gram.y:1489
 #, c-format
 msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements"
 msgstr "CREATE SCHEMA IF NOT EXISTS kann keine Schemaelemente enthalten"
 
-#: gram.y:1761
+#: gram.y:1646
 #, c-format
 msgid "current database cannot be changed"
 msgstr "aktuelle Datenbank kann nicht geändert werden"
 
-#: gram.y:1894
+#: gram.y:1779
 #, c-format
 msgid "time zone interval must be HOUR or HOUR TO MINUTE"
 msgstr "Zeitzonenintervall muss HOUR oder HOUR TO MINUTE sein"
 
-#: gram.y:2511
+#: gram.y:2396
 #, c-format
 msgid "column number must be in range from 1 to %d"
 msgstr "Spaltennummer muss im Bereich 1 bis %d sein"
 
-#: gram.y:3113
+#: gram.y:2998
 #, c-format
 msgid "sequence option \"%s\" not supported here"
 msgstr "Sequenzoption »%s« wird hier nicht unterstützt"
 
-#: gram.y:3142
+#: gram.y:3027
 #, c-format
 msgid "modulus for hash partition provided more than once"
 msgstr "Modulus für Hashpartition mehrmals angegeben"
 
-#: gram.y:3151
+#: gram.y:3036
 #, c-format
 msgid "remainder for hash partition provided more than once"
 msgstr "Rest für Hashpartition mehrmals angegeben"
 
-#: gram.y:3158
+#: gram.y:3043
 #, c-format
 msgid "unrecognized hash partition bound specification \"%s\""
 msgstr "unbekannte Hashpartitionsbegrenzungsangabe »%s«"
 
-#: gram.y:3166
+#: gram.y:3051
 #, c-format
 msgid "modulus for hash partition must be specified"
 msgstr "Modulus für Hashpartition muss angegeben werden"
 
-#: gram.y:3170
+#: gram.y:3055
 #, c-format
 msgid "remainder for hash partition must be specified"
 msgstr "Rest für Hashpartition muss angegeben werden"
 
-#: gram.y:3378 gram.y:3412
+#: gram.y:3263 gram.y:3297
 #, c-format
 msgid "STDIN/STDOUT not allowed with PROGRAM"
 msgstr "STDIN/STDOUT sind nicht mit PROGRAM erlaubt"
 
-#: gram.y:3384
+#: gram.y:3269
 #, c-format
 msgid "WHERE clause not allowed with COPY TO"
 msgstr "mit COPY TO ist keine WHERE-Klausel erlaubt"
 
-#: gram.y:3723 gram.y:3730 gram.y:12873 gram.y:12881
+#: gram.y:3608 gram.y:3615 gram.y:12758 gram.y:12766
 #, 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:3880
 #, 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:4286 utils/adt/ri_triggers.c:2098
+#: gram.y:4171 utils/adt/ri_triggers.c:2098
 #, c-format
 msgid "MATCH PARTIAL not yet implemented"
 msgstr "MATCH PARTIAL ist noch nicht implementiert"
 
-#: gram.y:4378
+#: gram.y:4263
 #, 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:5088
+#: gram.y:4973
 #, c-format
 msgid "CREATE EXTENSION ... FROM is no longer supported"
 msgstr "CREATE EXTENSION ... FROM wird nicht mehr unterstützt"
 
-#: gram.y:5786
+#: gram.y:5671
 #, c-format
 msgid "unrecognized row security option \"%s\""
 msgstr "unbekannte Zeilensicherheitsoption »%s«"
 
-#: gram.y:5787
+#: gram.y:5672
 #, c-format
 msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently."
 msgstr "Aktuell werden nur PERMISSIVE und RESTRICTIVE unterstützt."
 
-#: gram.y:5872
+#: gram.y:5757
 #, c-format
 msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported"
 msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER wird nicht unterstützt"
 
-#: gram.y:5909
+#: gram.y:5794
 msgid "duplicate trigger events specified"
 msgstr "mehrere Trigger-Ereignisse angegeben"
 
-#: gram.y:6051 parser/parse_utilcmd.c:3716 parser/parse_utilcmd.c:3742
+#: gram.y:5936 parser/parse_utilcmd.c:3716 parser/parse_utilcmd.c:3742
 #, c-format
 msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
 msgstr "Constraint, der als INITIALLY DEFERRED deklariert wurde, muss DEFERRABLE sein"
 
-#: gram.y:6058
+#: gram.y:5943
 #, c-format
 msgid "conflicting constraint properties"
 msgstr "widersprüchliche Constraint-Eigentschaften"
 
-#: gram.y:6157
+#: gram.y:6042
 #, c-format
 msgid "CREATE ASSERTION is not yet implemented"
 msgstr "CREATE ASSERTION ist noch nicht implementiert"
 
-#: gram.y:6565
+#: gram.y:6450
 #, c-format
 msgid "RECHECK is no longer required"
 msgstr "RECHECK wird nicht mehr benötigt"
 
-#: gram.y:6566
+#: gram.y:6451
 #, c-format
 msgid "Update your data type."
 msgstr "Aktualisieren Sie Ihren Datentyp."
 
-#: gram.y:8422
+#: gram.y:8307
 #, c-format
 msgid "aggregates cannot have output arguments"
 msgstr "Aggregatfunktionen können keine OUT-Argumente haben"
 
-#: gram.y:8885 utils/adt/regproc.c:710 utils/adt/regproc.c:751
+#: gram.y:8770 utils/adt/regproc.c:710 utils/adt/regproc.c:751
 #, c-format
 msgid "missing argument"
 msgstr "Argument fehlt"
 
-#: gram.y:8886 utils/adt/regproc.c:711 utils/adt/regproc.c:752
+#: gram.y:8771 utils/adt/regproc.c:711 utils/adt/regproc.c:752
 #, c-format
 msgid "Use NONE to denote the missing argument of a unary operator."
 msgstr "Verwenden Sie NONE, um das fehlende Argument eines unären Operators anzugeben."
 
-#: gram.y:11107 gram.y:11126
+#: gram.y:10992 gram.y:11011
 #, 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:13012
+#: gram.y:12897
 #, c-format
 msgid "LIMIT #,# syntax is not supported"
 msgstr "Syntax LIMIT x,y wird nicht unterstützt"
 
-#: gram.y:13013
+#: gram.y:12898
 #, c-format
 msgid "Use separate LIMIT and OFFSET clauses."
 msgstr "Verwenden Sie die getrennten Klauseln LIMIT und OFFSET."
 
-#: gram.y:13366 gram.y:13392
+#: gram.y:13251 gram.y:13277
 #, c-format
 msgid "VALUES in FROM must have an alias"
 msgstr "VALUES in FROM muss Aliasnamen erhalten"
 
-#: gram.y:13367 gram.y:13393
+#: gram.y:13252 gram.y:13278
 #, c-format
 msgid "For example, FROM (VALUES ...) [AS] foo."
 msgstr "Zum Beispiel FROM (VALUES ...) [AS] xyz."
 
-#: gram.y:13372 gram.y:13398
+#: gram.y:13257 gram.y:13283
 #, c-format
 msgid "subquery in FROM must have an alias"
 msgstr "Unteranfrage in FROM muss Aliasnamen erhalten"
 
-#: gram.y:13373 gram.y:13399
+#: gram.y:13258 gram.y:13284
 #, c-format
 msgid "For example, FROM (SELECT ...) [AS] foo."
 msgstr "Zum Beispiel FROM (SELECT ...) [AS] xyz."
 
-#: gram.y:13932
+#: gram.y:13802
 #, c-format
 msgid "only one DEFAULT value is allowed"
 msgstr "nur ein DEFAULT-Wert ist erlaubt"
 
-#: gram.y:13941
+#: gram.y:13811
 #, c-format
 msgid "only one PATH value per column is allowed"
 msgstr "nur ein PATH-Wert pro Spalte ist erlaubt"
 
-#: gram.y:13950
+#: gram.y:13820
 #, 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:13959
+#: gram.y:13829
 #, c-format
 msgid "unrecognized column option \"%s\""
 msgstr "unbekannte Spaltenoption »%s«"
 
-#: gram.y:14217
+#: gram.y:14083
 #, 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:14226
+#: gram.y:14092
 #, 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:14736
+#: gram.y:14595
 #, 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:14741
+#: gram.y:14600
 #, 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:14918
+#: gram.y:14777
 #, c-format
 msgid "UNIQUE predicate is not yet implemented"
 msgstr "UNIQUE-Prädikat ist noch nicht implementiert"
 
-#: gram.y:15356
+#: gram.y:15155
 #, 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:15361
+#: gram.y:15160
 #, c-format
 msgid "cannot use DISTINCT with WITHIN GROUP"
 msgstr "DISTINCT kann nicht mit WITHIN GROUP verwendet werden"
 
-#: gram.y:15366
+#: gram.y:15165
 #, c-format
 msgid "cannot use VARIADIC with WITHIN GROUP"
 msgstr "VARIADIC kann nicht mit WITHIN GROUP verwendet werden"
 
-#: gram.y:15916 gram.y:15940
+#: gram.y:15702 gram.y:15726
 #, c-format
 msgid "frame start cannot be UNBOUNDED FOLLOWING"
 msgstr "Frame-Beginn kann nicht UNBOUNDED FOLLOWING sein"
 
-#: gram.y:15921
+#: gram.y:15707
 #, 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:15945
+#: gram.y:15731
 #, c-format
 msgid "frame end cannot be UNBOUNDED PRECEDING"
 msgstr "Frame-Ende kann nicht UNBOUNDED PRECEDING sein"
 
-#: gram.y:15951
+#: gram.y:15737
 #, 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:15958
+#: gram.y:15744
 #, 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:16644 gram.y:16836
-#, c-format
-msgid "SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used"
-msgstr ""
-
-#: gram.y:17390
+#: gram.y:16369
 #, c-format
 msgid "type modifier cannot have parameter name"
 msgstr "Typmodifikator kann keinen Parameternamen haben"
 
-#: gram.y:17396
+#: gram.y:16375
 #, c-format
 msgid "type modifier cannot have ORDER BY"
 msgstr "Typmodifikator kann kein ORDER BY haben"
 
-#: gram.y:17464 gram.y:17471 gram.y:17478
+#: gram.y:16443 gram.y:16450 gram.y:16457
 #, c-format
 msgid "%s cannot be used as a role name here"
 msgstr "%s kann hier nicht als Rollenname verwendet werden"
 
-#: gram.y:17568 gram.y:19055
+#: gram.y:16547 gram.y:17982
 #, 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:18734 gram.y:18921
+#: gram.y:17661 gram.y:17848
 msgid "improper use of \"*\""
 msgstr "unzulässige Verwendung von »*«"
 
-#: gram.y:18884 gram.y:18901 tsearch/spell.c:983 tsearch/spell.c:1000
+#: gram.y:17811 gram.y:17828 tsearch/spell.c:983 tsearch/spell.c:1000
 #: tsearch/spell.c:1017 tsearch/spell.c:1034 tsearch/spell.c:1099
 #, c-format
 msgid "syntax error"
 msgstr "Syntaxfehler"
 
-#: gram.y:18985
+#: gram.y:17912
 #, 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:19022
+#: gram.y:17949
 #, c-format
 msgid "multiple ORDER BY clauses not allowed"
 msgstr "mehrere ORDER-BY-Klauseln sind nicht erlaubt"
 
-#: gram.y:19033
+#: gram.y:17960
 #, c-format
 msgid "multiple OFFSET clauses not allowed"
 msgstr "mehrere OFFSET-Klauseln sind nicht erlaubt"
 
-#: gram.y:19042
+#: gram.y:17969
 #, c-format
 msgid "multiple LIMIT clauses not allowed"
 msgstr "mehrere LIMIT-Klauseln sind nicht erlaubt"
 
-#: gram.y:19051
+#: gram.y:17978
 #, c-format
 msgid "multiple limit options not allowed"
 msgstr "mehrere Limit-Optionen sind nicht erlaubt"
 
-#: gram.y:19078
+#: gram.y:18005
 #, c-format
 msgid "multiple WITH clauses not allowed"
 msgstr "mehrere WITH-Klauseln sind nicht erlaubt"
 
-#: gram.y:19271
+#: gram.y:18198
 #, 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:19404
+#: gram.y:18331
 #, c-format
 msgid "multiple COLLATE clauses not allowed"
 msgstr "mehrere COLLATE-Klauseln sind nicht erlaubt"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:19442 gram.y:19455
+#: gram.y:18369 gram.y:18382
 #, 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:19468
+#: gram.y:18395
 #, 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:19481
+#: gram.y:18408
 #, c-format
 msgid "%s constraints cannot be marked NO INHERIT"
 msgstr "%s-Constraints können nicht als NO INHERIT markiert werden"
 
-#: gram.y:19505
+#: gram.y:18432
 #, fuzzy, c-format
 #| msgid "invalid publication_names syntax"
 msgid "invalid publication object list"
 msgstr "ungültige Syntax für publication_names"
 
-#: gram.y:19506
+#: gram.y:18433
 #, c-format
 msgid "One of TABLE or ALL TABLES IN SCHEMA must be specified before a standalone table or schema name."
 msgstr ""
 
-#: gram.y:19522
+#: gram.y:18449
 #, fuzzy, c-format
 #| msgid "invalid file name argument"
 msgid "invalid table name at or near"
 msgstr "ungültiges Dateinamenargument"
 
-#: gram.y:19543
+#: gram.y:18470
 #, c-format
 msgid "WHERE clause not allowed for schema"
 msgstr "für Schemas ist keine WHERE-Klausel erlaubt"
 
-#: gram.y:19550
+#: gram.y:18477
 #, c-format
 msgid "column specification not allowed for schema"
 msgstr "für Schemas ist keine Spaltenangabe erlaubt"
 
-#: gram.y:19564
+#: gram.y:18491
 #, fuzzy, c-format
 #| msgid "invalid statement name \"%s\" on line %d"
 msgid "invalid schema name at or near"
@@ -15972,19 +15957,14 @@ msgstr "erweiterbarer Knotentyp »%s« existiert bereits"
 msgid "ExtensibleNodeMethods \"%s\" was not registered"
 msgstr "ExtensibleNodeMethods »%s« wurde nicht registriert"
 
-#: nodes/makefuncs.c:151 statistics/extended_stats.c:2336
+#: nodes/makefuncs.c:150 statistics/extended_stats.c:2336
 #, c-format
 msgid "relation \"%s\" does not have a composite type"
 msgstr "Relation »%s« hat keinen zusammengesetzten Typ"
 
-#: nodes/makefuncs.c:905
-#, c-format
-msgid "unrecognized JSON encoding: %s"
-msgstr "unbekannte JSON-Kodierung: %s"
-
 #: nodes/nodeFuncs.c:114 nodes/nodeFuncs.c:145 parser/parse_coerce.c:2567
 #: parser/parse_coerce.c:2705 parser/parse_coerce.c:2752
-#: parser/parse_expr.c:2085 parser/parse_func.c:710 parser/parse_oper.c:883
+#: parser/parse_expr.c:2023 parser/parse_func.c:710 parser/parse_oper.c:883
 #: utils/fmgr/funcapi.c:627
 #, c-format
 msgid "could not find array type for data type %s"
@@ -16070,7 +16050,7 @@ msgstr "Alle Spaltendatentypen müssen hashbar sein."
 msgid "could not implement %s"
 msgstr "konnte %s nicht implementieren"
 
-#: optimizer/util/clauses.c:4854
+#: optimizer/util/clauses.c:4776
 #, c-format
 msgid "SQL function \"%s\" during inlining"
 msgstr "SQL-Funktion »%s« beim Inlining"
@@ -16499,7 +16479,7 @@ 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:585 parser/parse_clause.c:1840
+#: parser/parse_agg.c:585 parser/parse_clause.c:1834
 #, c-format
 msgid "aggregate functions are not allowed in %s"
 msgstr "Aggregatfunktionen sind in %s nicht erlaubt"
@@ -16520,7 +16500,7 @@ msgstr "Aggregatfunktion auf äußerer Ebene kann keine Variable einer unteren E
 msgid "aggregate function calls cannot contain set-returning function calls"
 msgstr "Aufrufe von Aggregatfunktionen können keine Aufrufe von Funktionen mit Ergebnismenge enthalten"
 
-#: parser/parse_agg.c:769 parser/parse_expr.c:1736 parser/parse_expr.c:2218
+#: parser/parse_agg.c:769 parser/parse_expr.c:1674 parser/parse_expr.c:2156
 #: parser/parse_func.c:883
 #, c-format
 msgid "You might be able to move the set-returning function into a LATERAL FROM item."
@@ -16604,12 +16584,12 @@ 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:974 parser/parse_clause.c:1849
+#: parser/parse_agg.c:974 parser/parse_clause.c:1843
 #, c-format
 msgid "window functions are not allowed in %s"
 msgstr "Fensterfunktionen sind in %s nicht erlaubt"
 
-#: parser/parse_agg.c:1008 parser/parse_clause.c:2682
+#: parser/parse_agg.c:1008 parser/parse_clause.c:2676
 #, c-format
 msgid "window \"%s\" does not exist"
 msgstr "Fenster »%s« existiert nicht"
@@ -16689,236 +16669,235 @@ msgstr "WITH ORDINALITY kann nicht mit einer Spaltendefinitionsliste verwendet w
 msgid "Put the column definition list inside ROWS FROM()."
 msgstr "Geben Sie die Spaltendefinitionsliste innerhalb von ROWS FROM() an."
 
-#: parser/parse_clause.c:761
+#: parser/parse_clause.c:759
 #, c-format
 msgid "only one FOR ORDINALITY column is allowed"
 msgstr "nur eine FOR-ORDINALITY-Spalte ist erlaubt"
 
-#: parser/parse_clause.c:822 parser/parse_jsontable.c:445
+#: parser/parse_clause.c:820
 #, c-format
 msgid "column name \"%s\" is not unique"
 msgstr "Spaltenname »%s« ist nicht eindeutig"
 
-#: parser/parse_clause.c:864
+#: parser/parse_clause.c:862
 #, c-format
 msgid "namespace name \"%s\" is not unique"
 msgstr "Namensraumname »%s« ist nicht eindeutig"
 
-#: parser/parse_clause.c:874
+#: parser/parse_clause.c:872
 #, c-format
 msgid "only one default namespace is allowed"
 msgstr "nur ein Standardnamensraum ist erlaubt"
 
-#: parser/parse_clause.c:934
+#: parser/parse_clause.c:932
 #, c-format
 msgid "tablesample method %s does not exist"
 msgstr "Tablesample-Methode %s existiert nicht"
 
-#: parser/parse_clause.c:956
+#: parser/parse_clause.c:954
 #, 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:990
+#: parser/parse_clause.c:988
 #, c-format
 msgid "tablesample method %s does not support REPEATABLE"
 msgstr "Tablesample-Methode %s unterstützt REPEATABLE nicht"
 
-#: parser/parse_clause.c:1143
+#: parser/parse_clause.c:1137
 #, 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:1333
+#: parser/parse_clause.c:1327
 #, 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:1348
+#: parser/parse_clause.c:1342
 #, 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:1357
+#: parser/parse_clause.c:1351
 #, 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:1372
+#: parser/parse_clause.c:1366
 #, 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:1381
+#: parser/parse_clause.c:1375
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in right table"
 msgstr "Spalte »%s« aus der USING-Klausel existiert nicht in der rechten Tabelle"
 
-#: parser/parse_clause.c:1785
+#: parser/parse_clause.c:1779
 #, c-format
 msgid "row count cannot be null in FETCH FIRST ... WITH TIES clause"
 msgstr "Zeilenzahl in FETCH FIRST ... WITH TIES darf nicht NULL sein"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1810
+#: parser/parse_clause.c:1804
 #, c-format
 msgid "argument of %s must not contain variables"
 msgstr "Argument von %s darf keine Variablen enthalten"
 
 #. translator: first %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1975
+#: parser/parse_clause.c:1969
 #, c-format
 msgid "%s \"%s\" is ambiguous"
 msgstr "%s »%s« ist nicht eindeutig"
 
 #. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:2003
+#: parser/parse_clause.c:1997
 #, c-format
 msgid "non-integer constant in %s"
 msgstr "Konstante in %s ist keine ganze Zahl"
 
 #. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:2025
+#: parser/parse_clause.c:2019
 #, c-format
 msgid "%s position %d is not in select list"
 msgstr "%s Position %d ist nicht in der Select-Liste"
 
-#: parser/parse_clause.c:2464
+#: parser/parse_clause.c:2458
 #, c-format
 msgid "CUBE is limited to 12 elements"
 msgstr "CUBE ist auf 12 Elemente begrenzt"
 
-#: parser/parse_clause.c:2670
+#: parser/parse_clause.c:2664
 #, c-format
 msgid "window \"%s\" is already defined"
 msgstr "Fenster »%s« ist bereits definiert"
 
-#: parser/parse_clause.c:2731
+#: parser/parse_clause.c:2725
 #, c-format
 msgid "cannot override PARTITION BY clause of window \"%s\""
 msgstr "PARTITION-BY-Klausel von Fenster »%s« kann nicht aufgehoben werden"
 
-#: parser/parse_clause.c:2743
+#: parser/parse_clause.c:2737
 #, c-format
 msgid "cannot override ORDER BY clause of window \"%s\""
 msgstr "ORDER-BY-Klausel von Fenster »%s« kann nicht aufgehoben werden"
 
-#: parser/parse_clause.c:2773 parser/parse_clause.c:2779
+#: parser/parse_clause.c:2767 parser/parse_clause.c:2773
 #, c-format
 msgid "cannot copy window \"%s\" because it has a frame clause"
 msgstr "kann Fenster »%s« nicht kopieren, weil es eine Frame-Klausel hat"
 
-#: parser/parse_clause.c:2781
+#: parser/parse_clause.c:2775
 #, c-format
 msgid "Omit the parentheses in this OVER clause."
 msgstr "Lassen Sie die Klammern in dieser OVER-Klausel weg."
 
-#: parser/parse_clause.c:2801
+#: parser/parse_clause.c:2795
 #, c-format
 msgid "RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column"
 msgstr "RANGE mit Offset PRECEDING/FOLLOWING benötigt genau eine ORDER-BY-Spalte"
 
-#: parser/parse_clause.c:2824
+#: parser/parse_clause.c:2818
 #, c-format
 msgid "GROUPS mode requires an ORDER BY clause"
 msgstr "GROUPS-Modus erfordert eine ORDER-BY-Klausel"
 
-#: parser/parse_clause.c:2895
+#: parser/parse_clause.c:2889
 #, c-format
 msgid "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument list"
 msgstr "in einer Aggregatfunktion mit DISTINCT müssen ORDER-BY-Ausdrücke in der Argumentliste erscheinen"
 
-#: parser/parse_clause.c:2896
+#: parser/parse_clause.c:2890
 #, c-format
 msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list"
 msgstr "bei SELECT DISTINCT müssen ORDER-BY-Ausdrücke in der Select-Liste erscheinen"
 
-#: parser/parse_clause.c:2928
+#: parser/parse_clause.c:2922
 #, c-format
 msgid "an aggregate with DISTINCT must have at least one argument"
 msgstr "eine Aggregatfunktion mit DISTINCT muss mindestens ein Argument haben"
 
-#: parser/parse_clause.c:2929
+#: parser/parse_clause.c:2923
 #, c-format
 msgid "SELECT DISTINCT must have at least one column"
 msgstr "SELECT DISTINCT muss mindestens eine Spalte haben"
 
-#: parser/parse_clause.c:2995 parser/parse_clause.c:3027
+#: parser/parse_clause.c:2989 parser/parse_clause.c:3021
 #, c-format
 msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
 msgstr "Ausdrücke in SELECT DISTINCT ON müssen mit den ersten Ausdrücken in ORDER BY übereinstimmen"
 
-#: parser/parse_clause.c:3105
+#: parser/parse_clause.c:3099
 #, c-format
 msgid "ASC/DESC is not allowed in ON CONFLICT clause"
 msgstr "ASC/DESC ist in der ON-CONFLICT-Klausel nicht erlaubt"
 
-#: parser/parse_clause.c:3111
+#: parser/parse_clause.c:3105
 #, c-format
 msgid "NULLS FIRST/LAST is not allowed in ON CONFLICT clause"
 msgstr "NULLS FIRST/LAST ist in der ON-CONFLICT-Klausel nicht erlaubt"
 
-#: parser/parse_clause.c:3190
+#: parser/parse_clause.c:3184
 #, c-format
 msgid "ON CONFLICT DO UPDATE requires inference specification or constraint name"
 msgstr "ON CONFLICT DO UPDATE benötigt Inferenzangabe oder Constraint-Namen"
 
-#: parser/parse_clause.c:3191
+#: parser/parse_clause.c:3185
 #, c-format
 msgid "For example, ON CONFLICT (column_name)."
 msgstr "Zum Bespiel ON CONFLICT (Spaltenname)."
 
-#: parser/parse_clause.c:3202
+#: parser/parse_clause.c:3196
 #, c-format
 msgid "ON CONFLICT is not supported with system catalog tables"
 msgstr "ON CONFLICT wird nicht mit Systemkatalogtabellen unterstützt"
 
-#: parser/parse_clause.c:3210
+#: parser/parse_clause.c:3204
 #, c-format
 msgid "ON CONFLICT is not supported on table \"%s\" used as a catalog table"
 msgstr "ON CONFLICT wird nicht unterstützt mit Tabelle »%s«, die als Katalogtabelle verwendet wird"
 
-#: parser/parse_clause.c:3340
+#: parser/parse_clause.c:3334
 #, c-format
 msgid "operator %s is not a valid ordering operator"
 msgstr "Operator %s ist kein gültiger Sortieroperator"
 
-#: parser/parse_clause.c:3342
+#: parser/parse_clause.c:3336
 #, c-format
 msgid "Ordering operators must be \"<\" or \">\" members of btree operator families."
 msgstr "Sortieroperatoren müssen die Mitglieder »<« oder »>« einer »btree«-Operatorfamilie sein."
 
-#: parser/parse_clause.c:3653
+#: parser/parse_clause.c:3647
 #, 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:3659
+#: parser/parse_clause.c:3653
 #, 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:3662
+#: parser/parse_clause.c:3656
 #, 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:3667
+#: parser/parse_clause.c:3661
 #, 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:3670
+#: parser/parse_clause.c:3664
 #, 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:2119 parser/parse_expr.c:2721 parser/parse_expr.c:3378
-#: parser/parse_expr.c:3611 parser/parse_expr.c:4447 parser/parse_target.c:994
+#: parser/parse_expr.c:2057 parser/parse_expr.c:2659 parser/parse_target.c:994
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "kann Typ %s nicht in Typ %s umwandeln"
@@ -17072,18 +17051,18 @@ msgid "A result of type internal requires at least one input of type internal."
 msgstr "Ein Ergebnis mit Typ internal benötigt mindestens eine Eingabe mit Typ internal."
 
 #: parser/parse_collate.c:228 parser/parse_collate.c:475
-#: parser/parse_collate.c:1012
+#: parser/parse_collate.c:1005
 #, c-format
 msgid "collation mismatch between implicit collations \"%s\" and \"%s\""
 msgstr "implizite Sortierfolgen »%s« und »%s« stimmen nicht überein"
 
 #: parser/parse_collate.c:231 parser/parse_collate.c:478
-#: parser/parse_collate.c:1015
+#: parser/parse_collate.c:1008
 #, c-format
 msgid "You can choose the collation by applying the COLLATE clause to one or both expressions."
 msgstr "Sie können die Sortierfolge auswählen, indem Sie die COLLATE-Klausel auf einen oder beide Ausdrücke anwenden."
 
-#: parser/parse_collate.c:862
+#: parser/parse_collate.c:855
 #, c-format
 msgid "collation mismatch between explicit collations \"%s\" and \"%s\""
 msgstr "explizite Sortierfolgen »%s« und »%s« stimmen nicht überein"
@@ -17263,331 +17242,231 @@ 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:300
+#: parser/parse_expr.c:282
 #, c-format
 msgid "DEFAULT is not allowed in this context"
 msgstr "DEFAULT ist in diesem Zusammenhang nicht erlaubt"
 
-#: parser/parse_expr.c:397 parser/parse_relation.c:3655
-#: parser/parse_relation.c:3675
+#: parser/parse_expr.c:335 parser/parse_relation.c:3654
+#: parser/parse_relation.c:3674
 #, c-format
 msgid "column %s.%s does not exist"
 msgstr "Spalte %s.%s existiert nicht"
 
-#: parser/parse_expr.c:409
+#: parser/parse_expr.c:347
 #, c-format
 msgid "column \"%s\" not found in data type %s"
 msgstr "Spalte »%s« nicht gefunden im Datentyp %s"
 
-#: parser/parse_expr.c:415
+#: parser/parse_expr.c:353
 #, 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:421
+#: parser/parse_expr.c:359
 #, 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:452 parser/parse_target.c:739
+#: parser/parse_expr.c:390 parser/parse_target.c:739
 #, c-format
 msgid "row expansion via \"*\" is not supported here"
 msgstr "Zeilenexpansion mit »*« wird hier nicht unterstützt"
 
-#: parser/parse_expr.c:574
+#: parser/parse_expr.c:512
 msgid "cannot use column reference in DEFAULT expression"
 msgstr "Spaltenverweise können nicht in DEFAULT-Ausdrücken verwendet werden"
 
-#: parser/parse_expr.c:577
+#: parser/parse_expr.c:515
 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:818
+#: parser/parse_expr.c:784 parser/parse_relation.c:818
 #: parser/parse_relation.c:900 parser/parse_target.c:1234
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "Spaltenverweis »%s« ist nicht eindeutig"
 
-#: parser/parse_expr.c:902 parser/parse_param.c:110 parser/parse_param.c:142
+#: parser/parse_expr.c:840 parser/parse_param.c:110 parser/parse_param.c:142
 #: parser/parse_param.c:208 parser/parse_param.c:307
 #, c-format
 msgid "there is no parameter $%d"
 msgstr "es gibt keinen Parameter $%d"
 
-#: parser/parse_expr.c:1102
+#: parser/parse_expr.c:1040
 #, c-format
 msgid "NULLIF requires = operator to yield boolean"
 msgstr "NULLIF erfordert, dass Operator = boolean ergibt"
 
 #. translator: %s is name of a SQL construct, eg NULLIF
-#: parser/parse_expr.c:1108 parser/parse_expr.c:3037
+#: parser/parse_expr.c:1046 parser/parse_expr.c:2975
 #, c-format
 msgid "%s must not return a set"
 msgstr "%s darf keine Ergebnismenge zurückgeben"
 
-#: parser/parse_expr.c:1493 parser/parse_expr.c:1525
+#: parser/parse_expr.c:1431 parser/parse_expr.c:1463
 #, 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:1539
+#: parser/parse_expr.c:1477
 #, 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:1734 parser/parse_expr.c:2216 parser/parse_func.c:2679
+#: parser/parse_expr.c:1672 parser/parse_expr.c:2154 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:1797
+#: parser/parse_expr.c:1735
 msgid "cannot use subquery in check constraint"
 msgstr "Unteranfragen können nicht in Check-Constraints verwendet werden"
 
-#: parser/parse_expr.c:1801
+#: parser/parse_expr.c:1739
 msgid "cannot use subquery in DEFAULT expression"
 msgstr "Unteranfragen können nicht in DEFAULT-Ausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1804
+#: parser/parse_expr.c:1742
 msgid "cannot use subquery in index expression"
 msgstr "Unteranfragen können nicht in Indexausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1807
+#: parser/parse_expr.c:1745
 msgid "cannot use subquery in index predicate"
 msgstr "Unteranfragen können nicht im Indexprädikat verwendet werden"
 
-#: parser/parse_expr.c:1810
+#: parser/parse_expr.c:1748
 msgid "cannot use subquery in statistics expression"
 msgstr "Unteranfragen können nicht in Statistikausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1813
+#: parser/parse_expr.c:1751
 msgid "cannot use subquery in transform expression"
 msgstr "Unteranfragen können in Umwandlungsausdrücken nicht verwendet werden"
 
-#: parser/parse_expr.c:1816
+#: parser/parse_expr.c:1754
 msgid "cannot use subquery in EXECUTE parameter"
 msgstr "Unteranfragen können nicht in EXECUTE-Parameter verwendet werden"
 
-#: parser/parse_expr.c:1819
+#: parser/parse_expr.c:1757
 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:1822
+#: parser/parse_expr.c:1760
 msgid "cannot use subquery in partition bound"
 msgstr "Unteranfragen können nicht in Partitionsbegrenzungen verwendet werden"
 
-#: parser/parse_expr.c:1825
+#: parser/parse_expr.c:1763
 msgid "cannot use subquery in partition key expression"
 msgstr "Unteranfragen können nicht in Partitionierungsschlüsselausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1828
+#: parser/parse_expr.c:1766
 msgid "cannot use subquery in CALL argument"
 msgstr "Unteranfragen können nicht in CALL-Argument verwendet werden"
 
-#: parser/parse_expr.c:1831
+#: parser/parse_expr.c:1769
 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:1834
+#: parser/parse_expr.c:1772
 msgid "cannot use subquery in column generation expression"
 msgstr "Unteranfragen können nicht in Spaltengenerierungsausdrücken verwendet werden"
 
-#: parser/parse_expr.c:1887 parser/parse_expr.c:3724
+#: parser/parse_expr.c:1825
 #, c-format
 msgid "subquery must return only one column"
 msgstr "Unteranfrage darf nur eine Spalte zurückgeben"
 
-#: parser/parse_expr.c:1958
+#: parser/parse_expr.c:1896
 #, c-format
 msgid "subquery has too many columns"
 msgstr "Unteranfrage hat zu viele Spalten"
 
-#: parser/parse_expr.c:1963
+#: parser/parse_expr.c:1901
 #, c-format
 msgid "subquery has too few columns"
 msgstr "Unteranfrage hat zu wenige Spalten"
 
-#: parser/parse_expr.c:2059
+#: parser/parse_expr.c:1997
 #, c-format
 msgid "cannot determine type of empty array"
 msgstr "kann Typ eines leeren Arrays nicht bestimmen"
 
-#: parser/parse_expr.c:2060
+#: parser/parse_expr.c:1998
 #, 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:2074
+#: parser/parse_expr.c:2012
 #, 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:2157
+#: parser/parse_expr.c:2095
 #, 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:2362
+#: parser/parse_expr.c:2300
 #, c-format
 msgid "unnamed XML attribute value must be a column reference"
 msgstr "unbenannter XML-Attributwert muss ein Spaltenverweis sein"
 
-#: parser/parse_expr.c:2363
+#: parser/parse_expr.c:2301
 #, c-format
 msgid "unnamed XML element value must be a column reference"
 msgstr "unbenannter XML-Elementwert muss ein Spaltenverweis sein"
 
-#: parser/parse_expr.c:2378
+#: parser/parse_expr.c:2316
 #, c-format
 msgid "XML attribute name \"%s\" appears more than once"
 msgstr "XML-Attributname »%s« einscheint mehrmals"
 
-#: parser/parse_expr.c:2485
+#: parser/parse_expr.c:2423
 #, c-format
 msgid "cannot cast XMLSERIALIZE result to %s"
 msgstr "kann das Ergebnis von XMLSERIALIZE nicht in Typ %s umwandeln"
 
-#: parser/parse_expr.c:2794 parser/parse_expr.c:2990
+#: parser/parse_expr.c:2732 parser/parse_expr.c:2928
 #, c-format
 msgid "unequal number of entries in row expressions"
 msgstr "ungleiche Anzahl Einträge in Zeilenausdrücken"
 
-#: parser/parse_expr.c:2804
+#: parser/parse_expr.c:2742
 #, c-format
 msgid "cannot compare rows of zero length"
 msgstr "kann Zeilen mit Länge null nicht vergleichen"
 
-#: parser/parse_expr.c:2829
+#: parser/parse_expr.c:2767
 #, 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:2836
+#: parser/parse_expr.c:2774
 #, c-format
 msgid "row comparison operator must not return a set"
 msgstr "Zeilenvergleichsoperator darf keine Ergebnismenge zurückgeben"
 
-#: parser/parse_expr.c:2895 parser/parse_expr.c:2936
+#: parser/parse_expr.c:2833 parser/parse_expr.c:2874
 #, c-format
 msgid "could not determine interpretation of row comparison operator %s"
 msgstr "konnte Interpretation des Zeilenvergleichsoperators %s nicht bestimmen"
 
-#: parser/parse_expr.c:2897
+#: parser/parse_expr.c:2835
 #, 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:2938
+#: parser/parse_expr.c:2876
 #, c-format
 msgid "There are multiple equally-plausible candidates."
 msgstr "Es gibt mehrere gleichermaßen plausible Kandidaten."
 
-#: parser/parse_expr.c:3031
+#: parser/parse_expr.c:2969
 #, c-format
 msgid "IS DISTINCT FROM requires = operator to yield boolean"
 msgstr "IS DISTINCT FROM erfordert, dass Operator = boolean ergibt"
 
-#: parser/parse_expr.c:3283
-#, c-format
-msgid "JSON ENCODING clause is only allowed for bytea input type"
-msgstr ""
-
-#: parser/parse_expr.c:3290
-#, c-format
-msgid "FORMAT JSON has no effect for json and jsonb types"
-msgstr "FORMAT JSON hat keinen Effekt für Typen json und jsonb"
-
-#: parser/parse_expr.c:3345
-#, c-format
-msgid "cannot use non-string types with implicit FORMAT JSON clause"
-msgstr ""
-
-#: parser/parse_expr.c:3449
-#, c-format
-msgid "cannot use JSON format with non-string output types"
-msgstr "JSON-Format kann nicht mit Ausgabetypen, die keine Zeichenketten sind, verwendet werden"
-
-#: parser/parse_expr.c:3462
-#, c-format
-msgid "cannot set JSON encoding for non-bytea output types"
-msgstr ""
-
-#: parser/parse_expr.c:3467
-#, c-format
-msgid "unsupported JSON encoding"
-msgstr "nicht unterstützte JSON-Kodierung"
-
-#: parser/parse_expr.c:3468
-#, c-format
-msgid "Only UTF8 JSON encoding is supported."
-msgstr ""
-
-#: parser/parse_expr.c:3505
-#, 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:3805 parser/parse_func.c:864
-#, c-format
-msgid "aggregate ORDER BY is not implemented for window functions"
-msgstr "ORDER BY in Aggregatfunktion ist für Fensterfunktionen nicht implementiert"
-
-#: parser/parse_expr.c:4022
-#, c-format
-msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types"
-msgstr ""
-
-#: parser/parse_expr.c:4042
-#, c-format
-msgid "cannot use type %s in IS JSON predicate"
-msgstr "Typ %s kann nicht in IS JSON Prädikat verwendet werden"
-
-#: parser/parse_expr.c:4108
-#, c-format
-msgid "JSON_TABLE path name is not allowed here"
-msgstr "JSON_TABLE-Pfadname ist hier nicht erlaubt"
-
-#: parser/parse_expr.c:4135
-#, c-format
-msgid "JSON path expression must be type %s, not type %s"
-msgstr "JSON-Pfadausdruck muss Typ %s haben, nicht Typ %s"
-
-#: parser/parse_expr.c:4297
-#, c-format
-msgid "cannot cast DEFAULT expression type %s to %s"
-msgstr "kann den Typ des DEFAULT-Ausdrucks %s nicht in Typ %s umwandeln"
-
-#: parser/parse_expr.c:4466
-#, c-format
-msgid "JSON_TABLE() is not yet implemented for the json type"
-msgstr "JSON_TABLE() ist für den Typ json noch nicht implementiert"
-
-#: parser/parse_expr.c:4467 parser/parse_expr.c:4477
-#, c-format
-msgid "Try casting the argument to jsonb"
-msgstr "Versuchen Sie, das Argument in jsonb umzuwandeln"
-
-#: parser/parse_expr.c:4476
-#, c-format
-msgid "%s() is not yet implemented for the json type"
-msgstr "%s() ist für den Typ json noch nicht implementiert"
-
-#: parser/parse_expr.c:4497 parser/parse_expr.c:4598
-#, c-format
-msgid "cannot use RETURNING type %s in %s"
-msgstr "RETURNING-Typ %s kann nicht in %s verwendet werden"
-
-#: parser/parse_expr.c:4540
-#, c-format
-msgid "cannot use non-string types with WITH UNIQUE KEYS clause"
-msgstr ""
-
-#: parser/parse_expr.c:4601
-#, c-format
-msgid "Try returning a string type or bytea."
-msgstr ""
-
 #: parser/parse_func.c:194
 #, c-format
 msgid "argument name \"%s\" used more than once"
@@ -17757,6 +17636,11 @@ msgstr "Aggregatfunktionen können keine benannten Argumente verwenden"
 msgid "DISTINCT is not implemented for window functions"
 msgstr "DISTINCT ist für Fensterfunktionen nicht implementiert"
 
+#: parser/parse_func.c:864
+#, c-format
+msgid "aggregate ORDER BY is not implemented for window functions"
+msgstr "ORDER BY in Aggregatfunktion ist für Fensterfunktionen nicht implementiert"
+
 #: parser/parse_func.c:873
 #, c-format
 msgid "FILTER is not implemented for non-aggregate window functions"
@@ -17922,79 +17806,6 @@ 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:143
-#, c-format
-msgid "duplicate JSON_TABLE column name: %s"
-msgstr "doppelter Spaltenname in JSON_TABLE: %s"
-
-#: parser/parse_jsontable.c:144
-#, c-format
-msgid "JSON_TABLE column names must be distinct from one another."
-msgstr ""
-
-#: parser/parse_jsontable.c:247
-#, c-format
-msgid "nested JSON_TABLE columns must contain an explicit AS pathname specification if an explicit PLAN clause is used"
-msgstr ""
-
-#: parser/parse_jsontable.c:260 parser/parse_jsontable.c:271
-#: parser/parse_jsontable.c:387 parser/parse_jsontable.c:588
-#: parser/parse_jsontable.c:607
-#, c-format
-msgid "invalid JSON_TABLE plan"
-msgstr "ungültiger JSON_TABLE-Plan"
-
-#: parser/parse_jsontable.c:261
-#, c-format
-msgid "Plan node for nested path %s was not found in plan."
-msgstr ""
-
-#: parser/parse_jsontable.c:272
-#, c-format
-msgid "Plan node contains some extra or duplicate sibling nodes."
-msgstr ""
-
-#: parser/parse_jsontable.c:388
-#, fuzzy, c-format
-#| msgid "old database \"%s\" not found in the new cluster\n"
-msgid "Path name was %s not found in nested columns list."
-msgstr "alte Datenbank »%s« nicht im neuen Cluster gefunden\n"
-
-#: parser/parse_jsontable.c:477
-#, c-format
-msgid "cannot use WITH WRAPPER clause with scalar columns"
-msgstr ""
-
-#: parser/parse_jsontable.c:482
-#, c-format
-msgid "cannot use OMIT QUOTES clause with scalar columns"
-msgstr ""
-
-#: parser/parse_jsontable.c:566
-#, c-format
-msgid "invalid JSON_TABLE expression"
-msgstr "ungültiger JSON_TABLE-Ausdruck"
-
-#: parser/parse_jsontable.c:567
-#, c-format
-msgid "JSON_TABLE columns must contain explicit AS pathname specification if explicit PLAN clause is used"
-msgstr ""
-
-#: parser/parse_jsontable.c:589
-#, c-format
-msgid "Expected INNER or OUTER JSON_TABLE plan node."
-msgstr ""
-
-#: parser/parse_jsontable.c:608
-#, c-format
-msgid "Path name mismatch: expected %s but %s is given."
-msgstr ""
-
-#: parser/parse_jsontable.c:709
-#, c-format
-msgid "only string constants supported in JSON_TABLE path specification"
-msgstr ""
-
 #: parser/parse_merge.c:119
 #, c-format
 msgid "WITH RECURSIVE is not supported for MERGE statement"
@@ -18116,12 +17927,12 @@ msgstr "Tabellenbezug %u ist nicht eindeutig"
 msgid "table name \"%s\" specified more than once"
 msgstr "Tabellenname »%s« mehrmals angegeben"
 
-#: parser/parse_relation.c:474 parser/parse_relation.c:3595
+#: parser/parse_relation.c:474 parser/parse_relation.c:3594
 #, c-format
 msgid "invalid reference to FROM-clause entry for table \"%s\""
 msgstr "ungültiger Verweis auf FROM-Klausel-Eintrag für Tabelle »%s«"
 
-#: parser/parse_relation.c:478 parser/parse_relation.c:3600
+#: parser/parse_relation.c:478 parser/parse_relation.c:3599
 #, 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."
@@ -18147,7 +17958,7 @@ 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:1184 parser/parse_relation.c:1636
-#: parser/parse_relation.c:2358
+#: parser/parse_relation.c:2357
 #, c-format
 msgid "table \"%s\" has %d columns available but %d columns specified"
 msgstr "Tabelle »%s« hat %d Spalten, aber %d Spalten wurden angegeben"
@@ -18197,52 +18008,52 @@ msgstr "Funktion »%s« in FROM hat nicht unterstützten Rückgabetyp %s"
 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:2050
+#: parser/parse_relation.c:2049
 #, 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:2139
+#: parser/parse_relation.c:2138
 #, 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:2211
+#: parser/parse_relation.c:2210
 #, c-format
 msgid "joins can have at most %d columns"
 msgstr "Verbunde können höchstens %d Spalten haben"
 
-#: parser/parse_relation.c:2236
+#: parser/parse_relation.c:2235
 #, 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:2331
+#: parser/parse_relation.c:2330
 #, c-format
 msgid "WITH query \"%s\" does not have a RETURNING clause"
 msgstr "WITH-Anfrage »%s« hat keine RETURNING-Klausel"
 
-#: parser/parse_relation.c:3598
+#: parser/parse_relation.c:3597
 #, 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:3606
+#: parser/parse_relation.c:3605
 #, c-format
 msgid "missing FROM-clause entry for table \"%s\""
 msgstr "fehlender Eintrag in FROM-Klausel für Tabelle »%s«"
 
-#: parser/parse_relation.c:3658
+#: parser/parse_relation.c:3657
 #, 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:3660
+#: parser/parse_relation.c:3659
 #, 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:3677
+#: parser/parse_relation.c:3676
 #, 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."
@@ -18661,30 +18472,30 @@ msgstr "jede Begrenzung, die auf MINVALUE folgt, muss auch MINVALUE sein"
 msgid "specified value cannot be cast to type %s for column \"%s\""
 msgstr "angegebener Wert kann nicht in Typ %s für Spalte »%s« umgewandelt werden"
 
-#: parser/parser.c:263
+#: parser/parser.c:247
 msgid "UESCAPE must be followed by a simple string literal"
 msgstr "auf UESCAPE muss eine einfache Zeichenkettenkonstante folgen"
 
-#: parser/parser.c:268
+#: parser/parser.c:252
 msgid "invalid Unicode escape character"
 msgstr "ungültiges Unicode-Escape-Zeichen"
 
-#: parser/parser.c:337 scan.l:1338
+#: parser/parser.c:321 scan.l:1338
 #, c-format
 msgid "invalid Unicode escape value"
 msgstr "ungültiger Unicode-Escape-Wert"
 
-#: parser/parser.c:484 scan.l:684 utils/adt/varlena.c:6529
+#: parser/parser.c:468 scan.l:684 utils/adt/varlena.c:6529
 #, c-format
 msgid "invalid Unicode escape"
 msgstr "ungültiges Unicode-Escape"
 
-#: parser/parser.c:485
+#: parser/parser.c:469
 #, c-format
 msgid "Unicode escapes must be \\XXXX or \\+XXXXXX."
 msgstr "Unicode-Escapes müssen \\XXXX oder \\+XXXXXX sein."
 
-#: parser/parser.c:513 scan.l:645 scan.l:661 scan.l:677
+#: parser/parser.c:497 scan.l:645 scan.l:661 scan.l:677
 #: utils/adt/varlena.c:6554
 #, c-format
 msgid "invalid Unicode surrogate pair"
@@ -18995,32 +18806,32 @@ msgstr "Autovacuum-Worker benötigte zu lange zum Starten; abgebrochen"
 msgid "could not fork autovacuum worker process: %m"
 msgstr "konnte Autovacuum-Worker-Prozess nicht starten (fork-Fehler): %m"
 
-#: postmaster/autovacuum.c:2262
+#: postmaster/autovacuum.c:2265
 #, 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:2487
+#: postmaster/autovacuum.c:2490
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\""
 msgstr "automatisches Vacuum der Tabelle »%s.%s.%s«"
 
-#: postmaster/autovacuum.c:2490
+#: postmaster/autovacuum.c:2493
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\""
 msgstr "automatisches Analysieren der Tabelle »%s.%s.%s«"
 
-#: postmaster/autovacuum.c:2683
+#: postmaster/autovacuum.c:2686
 #, c-format
 msgid "processing work entry for relation \"%s.%s.%s\""
 msgstr "verarbeite Arbeitseintrag für Relation »%s.%s.%s«"
 
-#: postmaster/autovacuum.c:3294
+#: postmaster/autovacuum.c:3297
 #, c-format
 msgid "autovacuum not started because of misconfiguration"
 msgstr "Autovacuum wegen Fehlkonfiguration nicht gestartet"
 
-#: postmaster/autovacuum.c:3295
+#: postmaster/autovacuum.c:3298
 #, c-format
 msgid "Enable the \"track_counts\" option."
 msgstr "Schalten Sie die Option »track_counts« ein."
@@ -20092,8 +19903,8 @@ msgstr "Array muss eindimensional sein"
 msgid "array must not contain nulls"
 msgstr "Array darf keine NULL-Werte enthalten"
 
-#: replication/logical/logicalfuncs.c:181 utils/adt/json.c:1437
-#: utils/adt/jsonb.c:1365
+#: replication/logical/logicalfuncs.c:181 utils/adt/json.c:1128
+#: utils/adt/jsonb.c:1302
 #, c-format
 msgid "array must have even number of elements"
 msgstr "Array muss eine gerade Anzahl Elemente haben"
@@ -21406,10 +21217,9 @@ msgid "NEW variables in ON UPDATE rules cannot reference columns that are part o
 msgstr "NEW-Variablen in ON UPDATE-Regeln können nicht auf Spalten verweisen, die Teil einer Mehrfachzuweisung in dem UPDATE-Befehl sind"
 
 #: rewrite/rewriteSearchCycle.c:410
-#, fuzzy, c-format
-#| msgid "with a SEARCH or CYCLE clause, the left side of the UNION must be a SELECT"
+#, c-format
 msgid "with a SEARCH or CYCLE clause, the recursive reference to WITH query \"%s\" must be at the top level of its right-hand SELECT"
-msgstr "mit einer SEARCH- oder CYCLE-Klausel muss die linke Seite von UNION ein SELECT sein"
+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:465
 msgid "unterminated /* comment"
@@ -23027,7 +22837,7 @@ msgstr "Funktionsaufruf einer gelöschten Funktion"
 #: utils/activity/pgstat_xact.c:371
 #, c-format
 msgid "resetting existing stats for type %s, db=%u, oid=%u"
-msgstr ""
+msgstr "bestehende Statistiken für Typ %s, db=%u, oid=%u werden zurückgesetzt"
 
 #: utils/adt/acl.c:168 utils/adt/name.c:93
 #, c-format
@@ -23149,9 +22959,9 @@ msgid "array size exceeds the maximum allowed (%d)"
 msgstr "Arraygröße überschreitet erlaubtes Maximum (%d)"
 
 #: utils/adt/array_userfuncs.c:80 utils/adt/array_userfuncs.c:467
-#: utils/adt/array_userfuncs.c:547 utils/adt/json.c:667 utils/adt/json.c:803
-#: utils/adt/json.c:837 utils/adt/jsonb.c:1104 utils/adt/jsonb.c:1177
-#: utils/adt/jsonb.c:1598 utils/adt/jsonb.c:1785 utils/adt/jsonb.c:1795
+#: utils/adt/array_userfuncs.c:547 utils/adt/json.c:645 utils/adt/json.c:740
+#: utils/adt/json.c:778 utils/adt/jsonb.c:1114 utils/adt/jsonb.c:1143
+#: utils/adt/jsonb.c:1537 utils/adt/jsonb.c:1701 utils/adt/jsonb.c:1711
 #, c-format
 msgid "could not determine input data type"
 msgstr "konnte Eingabedatentypen nicht bestimmen"
@@ -23346,9 +23156,9 @@ msgstr "Auswählen von Stücken aus Arrays mit fester Länge ist nicht implement
 #: utils/adt/arrayfuncs.c:2327 utils/adt/arrayfuncs.c:2566
 #: utils/adt/arrayfuncs.c:2888 utils/adt/arrayfuncs.c:5871
 #: utils/adt/arrayfuncs.c:5897 utils/adt/arrayfuncs.c:5908
-#: utils/adt/json.c:1450 utils/adt/json.c:1524 utils/adt/jsonb.c:1378
-#: utils/adt/jsonb.c:1464 utils/adt/jsonfuncs.c:4363 utils/adt/jsonfuncs.c:4516
-#: utils/adt/jsonfuncs.c:4628 utils/adt/jsonfuncs.c:4677
+#: utils/adt/json.c:1141 utils/adt/json.c:1215 utils/adt/jsonb.c:1315
+#: utils/adt/jsonb.c:1401 utils/adt/jsonfuncs.c:4318 utils/adt/jsonfuncs.c:4471
+#: utils/adt/jsonfuncs.c:4583 utils/adt/jsonfuncs.c:4632
 #, c-format
 msgid "wrong number of array subscripts"
 msgstr "falsche Anzahl Arrayindizes"
@@ -23511,7 +23321,7 @@ msgstr "Kodierungsumwandlung zwischen %s und ASCII wird nicht unterstützt"
 #: utils/adt/geo_ops.c:974 utils/adt/geo_ops.c:1389 utils/adt/geo_ops.c:1424
 #: utils/adt/geo_ops.c:1432 utils/adt/geo_ops.c:3392 utils/adt/geo_ops.c:4607
 #: utils/adt/geo_ops.c:4622 utils/adt/geo_ops.c:4629 utils/adt/int.c:165
-#: utils/adt/int.c:177 utils/adt/jsonpath.c:184 utils/adt/mac.c:93
+#: utils/adt/int.c:177 utils/adt/jsonpath.c:182 utils/adt/mac.c:93
 #: utils/adt/mac8.c:93 utils/adt/mac8.c:166 utils/adt/mac8.c:184
 #: utils/adt/mac8.c:202 utils/adt/mac8.c:221 utils/adt/network.c:99
 #: utils/adt/numeric.c:698 utils/adt/numeric.c:717 utils/adt/numeric.c:6854
@@ -23573,9 +23383,9 @@ msgstr "Präzision von TIME(%d)%s darf nicht negativ sein"
 msgid "TIME(%d)%s precision reduced to maximum allowed, %d"
 msgstr "Präzision von TIME(%d)%s auf erlaubten Höchstwert %d reduziert"
 
-#: utils/adt/date.c:160 utils/adt/date.c:168 utils/adt/formatting.c:4294
-#: utils/adt/formatting.c:4303 utils/adt/formatting.c:4409
-#: utils/adt/formatting.c:4419
+#: utils/adt/date.c:160 utils/adt/date.c:168 utils/adt/formatting.c:4299
+#: utils/adt/formatting.c:4308 utils/adt/formatting.c:4414
+#: utils/adt/formatting.c:4424
 #, c-format
 msgid "date out of range: \"%s\""
 msgstr "date ist außerhalb des gültigen Bereichs: »%s«"
@@ -23629,9 +23439,9 @@ msgstr "Einheit »%s« nicht erkannt für Typ %s"
 #: utils/adt/date.c:1307 utils/adt/date.c:1353 utils/adt/date.c:1907
 #: utils/adt/date.c:1938 utils/adt/date.c:1967 utils/adt/date.c:2831
 #: utils/adt/date.c:3078 utils/adt/datetime.c:420 utils/adt/datetime.c:1869
-#: utils/adt/formatting.c:4136 utils/adt/formatting.c:4172
-#: utils/adt/formatting.c:4263 utils/adt/formatting.c:4385 utils/adt/json.c:440
-#: utils/adt/json.c:479 utils/adt/timestamp.c:225 utils/adt/timestamp.c:257
+#: utils/adt/formatting.c:4141 utils/adt/formatting.c:4177
+#: utils/adt/formatting.c:4268 utils/adt/formatting.c:4390 utils/adt/json.c:418
+#: utils/adt/json.c:457 utils/adt/timestamp.c:225 utils/adt/timestamp.c:257
 #: utils/adt/timestamp.c:699 utils/adt/timestamp.c:708
 #: utils/adt/timestamp.c:786 utils/adt/timestamp.c:819
 #: utils/adt/timestamp.c:2916 utils/adt/timestamp.c:2937
@@ -23654,7 +23464,7 @@ msgstr "Einheit »%s« nicht erkannt für Typ %s"
 msgid "timestamp out of range"
 msgstr "timestamp ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/date.c:1524 utils/adt/date.c:2326 utils/adt/formatting.c:4471
+#: utils/adt/date.c:1524 utils/adt/date.c:2326 utils/adt/formatting.c:4476
 #, c-format
 msgid "time out of range"
 msgstr "time ist außerhalb des gültigen Bereichs"
@@ -23917,254 +23727,254 @@ msgstr "ungültige Formatangabe für Intervall-Wert"
 msgid "Intervals are not tied to specific calendar dates."
 msgstr "Intervalle beziehen sich nicht auf bestimmte Kalenderdaten."
 
-#: utils/adt/formatting.c:1187
+#: utils/adt/formatting.c:1192
 #, c-format
 msgid "\"EEEE\" must be the last pattern used"
 msgstr "»EEEE« muss das letzte Muster sein"
 
-#: utils/adt/formatting.c:1195
+#: utils/adt/formatting.c:1200
 #, c-format
 msgid "\"9\" must be ahead of \"PR\""
 msgstr "»9« muss vor »PR« stehen"
 
-#: utils/adt/formatting.c:1211
+#: utils/adt/formatting.c:1216
 #, c-format
 msgid "\"0\" must be ahead of \"PR\""
 msgstr "»0« muss vor »PR« stehen"
 
-#: utils/adt/formatting.c:1238
+#: utils/adt/formatting.c:1243
 #, c-format
 msgid "multiple decimal points"
 msgstr "mehrere Dezimalpunkte"
 
-#: utils/adt/formatting.c:1242 utils/adt/formatting.c:1325
+#: utils/adt/formatting.c:1247 utils/adt/formatting.c:1330
 #, c-format
 msgid "cannot use \"V\" and decimal point together"
 msgstr "»V« und Dezimalpunkt können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1254
+#: utils/adt/formatting.c:1259
 #, c-format
 msgid "cannot use \"S\" twice"
 msgstr "»S« kann nicht zweimal verwendet werden"
 
-#: utils/adt/formatting.c:1258
+#: utils/adt/formatting.c:1263
 #, c-format
 msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together"
 msgstr "»S« und »PL«/»MI«/»SG«/»PR« können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1278
+#: utils/adt/formatting.c:1283
 #, c-format
 msgid "cannot use \"S\" and \"MI\" together"
 msgstr "»S« und »MI« können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1288
+#: utils/adt/formatting.c:1293
 #, c-format
 msgid "cannot use \"S\" and \"PL\" together"
 msgstr "»S« und »PL« können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1298
+#: utils/adt/formatting.c:1303
 #, c-format
 msgid "cannot use \"S\" and \"SG\" together"
 msgstr "»S« und »SG« können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1307
+#: utils/adt/formatting.c:1312
 #, c-format
 msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together"
 msgstr "»PR« und »S«/»PL«/»MI«/»SG« können nicht zusammen verwendet werden"
 
-#: utils/adt/formatting.c:1333
+#: utils/adt/formatting.c:1338
 #, c-format
 msgid "cannot use \"EEEE\" twice"
 msgstr "»EEEE« kann nicht zweimal verwendet werden"
 
-#: utils/adt/formatting.c:1339
+#: utils/adt/formatting.c:1344
 #, c-format
 msgid "\"EEEE\" is incompatible with other formats"
 msgstr "»EEEE« ist mit anderen Formaten inkompatibel"
 
-#: utils/adt/formatting.c:1340
+#: utils/adt/formatting.c:1345
 #, c-format
 msgid "\"EEEE\" may only be used together with digit and decimal point patterns."
 msgstr "»EEEE« kann nur zusammen mit Platzhaltern für Ziffern oder Dezimalpunkt verwendet werden."
 
-#: utils/adt/formatting.c:1424
+#: utils/adt/formatting.c:1429
 #, c-format
 msgid "invalid datetime format separator: \"%s\""
 msgstr "ungültiges Datum-/Zeit-Formattrennzeichen: »%s«"
 
-#: utils/adt/formatting.c:1551
+#: utils/adt/formatting.c:1556
 #, c-format
 msgid "\"%s\" is not a number"
 msgstr "»%s« ist keine Zahl"
 
-#: utils/adt/formatting.c:1629
+#: utils/adt/formatting.c:1634
 #, c-format
 msgid "case conversion failed: %s"
 msgstr "Groß/Klein-Umwandlung fehlgeschlagen: %s"
 
-#: utils/adt/formatting.c:1683 utils/adt/formatting.c:1805
-#: utils/adt/formatting.c:1928
+#: utils/adt/formatting.c:1688 utils/adt/formatting.c:1810
+#: utils/adt/formatting.c:1933
 #, c-format
 msgid "could not determine which collation to use for %s function"
 msgstr "konnte die für die Funktion %s zu verwendende Sortierfolge nicht bestimmen"
 
-#: utils/adt/formatting.c:2309
+#: utils/adt/formatting.c:2314
 #, c-format
 msgid "invalid combination of date conventions"
 msgstr "ungültige Kombination von Datumskonventionen"
 
-#: utils/adt/formatting.c:2310
+#: utils/adt/formatting.c:2315
 #, c-format
 msgid "Do not mix Gregorian and ISO week date conventions in a formatting template."
 msgstr "Die Gregorianische und die ISO-Konvention für Wochendaten können nicht einer Formatvorlage gemischt werden."
 
-#: utils/adt/formatting.c:2333
+#: utils/adt/formatting.c:2338
 #, c-format
 msgid "conflicting values for \"%s\" field in formatting string"
 msgstr "widersprüchliche Werte für das Feld »%s« in Formatzeichenkette"
 
-#: utils/adt/formatting.c:2336
+#: utils/adt/formatting.c:2341
 #, c-format
 msgid "This value contradicts a previous setting for the same field type."
 msgstr "Der Wert widerspricht einer vorherigen Einstellung für den selben Feldtyp."
 
-#: utils/adt/formatting.c:2407
+#: utils/adt/formatting.c:2412
 #, c-format
 msgid "source string too short for \"%s\" formatting field"
 msgstr "Quellzeichenkette zu kurz für Formatfeld »%s»"
 
-#: utils/adt/formatting.c:2410
+#: utils/adt/formatting.c:2415
 #, c-format
 msgid "Field requires %d characters, but only %d remain."
 msgstr "Feld benötigt %d Zeichen, aber nur %d verbleiben."
 
-#: utils/adt/formatting.c:2413 utils/adt/formatting.c:2428
+#: utils/adt/formatting.c:2418 utils/adt/formatting.c:2433
 #, c-format
 msgid "If your source string is not fixed-width, try using the \"FM\" modifier."
 msgstr "Wenn die Quellzeichenkette keine feste Breite hat, versuchen Sie den Modifikator »FM«."
 
-#: utils/adt/formatting.c:2423 utils/adt/formatting.c:2437
-#: utils/adt/formatting.c:2660
+#: utils/adt/formatting.c:2428 utils/adt/formatting.c:2442
+#: utils/adt/formatting.c:2665
 #, c-format
 msgid "invalid value \"%s\" for \"%s\""
 msgstr "ungültiger Wert »%s« für »%s«"
 
-#: utils/adt/formatting.c:2425
+#: utils/adt/formatting.c:2430
 #, c-format
 msgid "Field requires %d characters, but only %d could be parsed."
 msgstr "Feld benötigt %d Zeichen, aber nur %d konnten geparst werden."
 
-#: utils/adt/formatting.c:2439
+#: utils/adt/formatting.c:2444
 #, c-format
 msgid "Value must be an integer."
 msgstr "Der Wert muss eine ganze Zahl sein."
 
-#: utils/adt/formatting.c:2444
+#: utils/adt/formatting.c:2449
 #, c-format
 msgid "value for \"%s\" in source string is out of range"
 msgstr "Wert für »%s« in der Eingabezeichenkette ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/formatting.c:2446
+#: utils/adt/formatting.c:2451
 #, c-format
 msgid "Value must be in the range %d to %d."
 msgstr "Der Wert muss im Bereich %d bis %d sein."
 
-#: utils/adt/formatting.c:2662
+#: utils/adt/formatting.c:2667
 #, c-format
 msgid "The given value did not match any of the allowed values for this field."
 msgstr "Der angegebene Wert stimmte mit keinem der für dieses Feld zulässigen Werte überein."
 
-#: utils/adt/formatting.c:2881 utils/adt/formatting.c:2901
-#: utils/adt/formatting.c:2921 utils/adt/formatting.c:2941
-#: utils/adt/formatting.c:2960 utils/adt/formatting.c:2979
-#: utils/adt/formatting.c:3003 utils/adt/formatting.c:3021
-#: utils/adt/formatting.c:3039 utils/adt/formatting.c:3057
-#: utils/adt/formatting.c:3074 utils/adt/formatting.c:3091
+#: utils/adt/formatting.c:2886 utils/adt/formatting.c:2906
+#: utils/adt/formatting.c:2926 utils/adt/formatting.c:2946
+#: utils/adt/formatting.c:2965 utils/adt/formatting.c:2984
+#: utils/adt/formatting.c:3008 utils/adt/formatting.c:3026
+#: utils/adt/formatting.c:3044 utils/adt/formatting.c:3062
+#: utils/adt/formatting.c:3079 utils/adt/formatting.c:3096
 #, c-format
 msgid "localized string format value too long"
 msgstr "lokalisierter Formatwert ist zu lang"
 
-#: utils/adt/formatting.c:3368
+#: utils/adt/formatting.c:3373
 #, c-format
 msgid "unmatched format separator \"%c\""
 msgstr "Formattrennzeichen »%c« ohne passende Eingabe"
 
-#: utils/adt/formatting.c:3429
+#: utils/adt/formatting.c:3434
 #, c-format
 msgid "unmatched format character \"%s\""
 msgstr "Formatzeichen »%s« ohne passende Eingabe"
 
-#: utils/adt/formatting.c:3535 utils/adt/formatting.c:3879
+#: utils/adt/formatting.c:3540 utils/adt/formatting.c:3884
 #, c-format
 msgid "formatting field \"%s\" is only supported in to_char"
 msgstr "Formatfeld »%s« wird nur in to_char unterstützt"
 
-#: utils/adt/formatting.c:3710
+#: utils/adt/formatting.c:3715
 #, c-format
 msgid "invalid input string for \"Y,YYY\""
 msgstr "ungültige Eingabe für »Y,YYY«"
 
-#: utils/adt/formatting.c:3796
+#: utils/adt/formatting.c:3801
 #, c-format
 msgid "input string is too short for datetime format"
 msgstr "Eingabezeichenkette ist zu kurz für Datum-/Zeitformat"
 
-#: utils/adt/formatting.c:3804
+#: utils/adt/formatting.c:3809
 #, c-format
 msgid "trailing characters remain in input string after datetime format"
 msgstr "nach dem Datum-/Zeitformat bleiben noch Zeichen in der Eingabezeichenkette"
 
-#: utils/adt/formatting.c:4365
+#: utils/adt/formatting.c:4370
 #, c-format
 msgid "missing time zone in input string for type timestamptz"
 msgstr "Zeitzone fehlt in Eingabezeichenkette für Typ timestamptz"
 
-#: utils/adt/formatting.c:4371
+#: utils/adt/formatting.c:4376
 #, c-format
 msgid "timestamptz out of range"
 msgstr "timestamptz ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/formatting.c:4399
+#: utils/adt/formatting.c:4404
 #, c-format
 msgid "datetime format is zoned but not timed"
 msgstr "Datum-/Zeitformat hat Zeitzone aber keine Zeit"
 
-#: utils/adt/formatting.c:4451
+#: utils/adt/formatting.c:4456
 #, c-format
 msgid "missing time zone in input string for type timetz"
 msgstr "Zeitzone fehlt in Eingabezeichenkette für Typ timetz"
 
-#: utils/adt/formatting.c:4457
+#: utils/adt/formatting.c:4462
 #, c-format
 msgid "timetz out of range"
 msgstr "timetz ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/formatting.c:4483
+#: utils/adt/formatting.c:4488
 #, c-format
 msgid "datetime format is not dated and not timed"
 msgstr "Datum-/Zeitformat hat kein Datum und keine Zeit"
 
-#: utils/adt/formatting.c:4616
+#: utils/adt/formatting.c:4621
 #, c-format
 msgid "hour \"%d\" is invalid for the 12-hour clock"
 msgstr "Stunde »%d« ist bei einer 12-Stunden-Uhr ungültig"
 
-#: utils/adt/formatting.c:4618
+#: utils/adt/formatting.c:4623
 #, c-format
 msgid "Use the 24-hour clock, or give an hour between 1 and 12."
 msgstr "Verwenden Sie die 24-Stunden-Uhr oder geben Sie eine Stunde zwischen 1 und 12 an."
 
-#: utils/adt/formatting.c:4729
+#: utils/adt/formatting.c:4734
 #, c-format
 msgid "cannot calculate day of year without year information"
 msgstr "kann Tag des Jahres nicht berechnen ohne Jahrinformationen"
 
-#: utils/adt/formatting.c:5648
+#: utils/adt/formatting.c:5653
 #, c-format
 msgid "\"EEEE\" not supported for input"
 msgstr "»E« wird nicht bei der Eingabe unterstützt"
 
-#: utils/adt/formatting.c:5660
+#: utils/adt/formatting.c:5665
 #, c-format
 msgid "\"RN\" not supported for input"
 msgstr "»RN« wird nicht bei der Eingabe unterstützt"
@@ -24288,141 +24098,130 @@ msgstr "bigint ist außerhalb des gültigen Bereichs"
 msgid "OID out of range"
 msgstr "OID ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/json.c:293 utils/adt/jsonb.c:747
+#: utils/adt/json.c:271 utils/adt/jsonb.c:757
 #, c-format
 msgid "key value must be scalar, not array, composite, or json"
 msgstr "Schlüsselwert muss skalar sein, nicht Array, zusammengesetzt oder json"
 
-#: utils/adt/json.c:1069 utils/adt/json.c:1079 utils/fmgr/funcapi.c:2061
+#: utils/adt/json.c:892 utils/adt/json.c:902 utils/fmgr/funcapi.c:2061
 #, c-format
 msgid "could not determine data type for argument %d"
 msgstr "konnte Datentyp von Argument %d nicht ermitteln"
 
-#: utils/adt/json.c:1102 utils/adt/jsonb.c:1811
+#: utils/adt/json.c:926 utils/adt/jsonb.c:1727
 #, c-format
 msgid "field name must not be null"
 msgstr "Feldname darf nicht NULL sein"
 
-#: utils/adt/json.c:1141 utils/adt/json.c:1305
-#, fuzzy, c-format
-#| msgid "Duplicate keys exist."
-msgid "duplicate JSON key %s"
-msgstr "Es existieren doppelte Schlüssel."
-
-#: utils/adt/json.c:1249 utils/adt/jsonb.c:1195
+#: utils/adt/json.c:1010 utils/adt/jsonb.c:1177
 #, c-format
 msgid "argument list must have even number of elements"
 msgstr "Argumentliste muss gerade Anzahl Elemente haben"
 
 #. translator: %s is a SQL function name
-#: utils/adt/json.c:1251 utils/adt/jsonb.c:1197
+#: utils/adt/json.c:1012 utils/adt/jsonb.c:1179
 #, c-format
 msgid "The arguments of %s must consist of alternating keys and values."
 msgstr "Die Argumente von %s müssen abwechselnd Schlüssel und Werte sein."
 
-#: utils/adt/json.c:1289
+#: utils/adt/json.c:1028
 #, c-format
 msgid "argument %d cannot be null"
 msgstr "Argument %d darf nicht NULL sein"
 
-#: utils/adt/json.c:1290
+#: utils/adt/json.c:1029
 #, c-format
 msgid "Object keys should be text."
 msgstr "Objektschlüssel sollten Text sein."
 
-#: utils/adt/json.c:1444 utils/adt/jsonb.c:1372
+#: utils/adt/json.c:1135 utils/adt/jsonb.c:1309
 #, c-format
 msgid "array must have two columns"
 msgstr "Array muss zwei Spalten haben"
 
-#: utils/adt/json.c:1468 utils/adt/json.c:1551 utils/adt/jsonb.c:1396
-#: utils/adt/jsonb.c:1491
+#: utils/adt/json.c:1159 utils/adt/json.c:1242 utils/adt/jsonb.c:1333
+#: utils/adt/jsonb.c:1428
 #, c-format
 msgid "null value not allowed for object key"
 msgstr "NULL-Werte sind nicht als Objektschlüssel erlaubt"
 
-#: utils/adt/json.c:1540 utils/adt/jsonb.c:1480
+#: utils/adt/json.c:1231 utils/adt/jsonb.c:1417
 #, c-format
 msgid "mismatched array dimensions"
 msgstr "Array-Dimensionen passen nicht"
 
-#: utils/adt/json.c:1720 utils/adt/jsonb_util.c:1958
-#, c-format
-msgid "duplicate JSON object key value"
-msgstr ""
-
-#: utils/adt/jsonb.c:276
+#: utils/adt/jsonb.c:287
 #, c-format
 msgid "string too long to represent as jsonb string"
 msgstr "Zeichenkette ist zu lang für jsonb"
 
-#: utils/adt/jsonb.c:277
+#: utils/adt/jsonb.c:288
 #, c-format
 msgid "Due to an implementation restriction, jsonb strings cannot exceed %d bytes."
 msgstr "Aufgrund einer Einschränkung der Implementierung können jsonb-Zeichenketten nicht länger als %d Bytes sein."
 
-#: utils/adt/jsonb.c:1214
+#: utils/adt/jsonb.c:1192
 #, c-format
 msgid "argument %d: key must not be null"
 msgstr "Argument %d: Schlüssel darf nicht NULL sein"
 
-#: utils/adt/jsonb.c:1873
+#: utils/adt/jsonb.c:1780
 #, c-format
 msgid "object keys must be strings"
 msgstr "Objektschlüssel müssen Zeichenketten sein"
 
-#: utils/adt/jsonb.c:2083
+#: utils/adt/jsonb.c:1943
 #, c-format
 msgid "cannot cast jsonb null to type %s"
 msgstr "kann jsonb-Null-Wert nicht in Typ %s umwandeln"
 
-#: utils/adt/jsonb.c:2084
+#: utils/adt/jsonb.c:1944
 #, c-format
 msgid "cannot cast jsonb string to type %s"
 msgstr "kann jsonb-Zeichenkette nicht in Typ %s umwandeln"
 
-#: utils/adt/jsonb.c:2085
+#: utils/adt/jsonb.c:1945
 #, c-format
 msgid "cannot cast jsonb numeric to type %s"
 msgstr "kann jsonb numerischen Wert nicht in Typ %s umwandeln"
 
-#: utils/adt/jsonb.c:2086
+#: utils/adt/jsonb.c:1946
 #, c-format
 msgid "cannot cast jsonb boolean to type %s"
 msgstr "kann jsonb-boolean nicht in Typ %s umwandeln"
 
-#: utils/adt/jsonb.c:2087
+#: utils/adt/jsonb.c:1947
 #, c-format
 msgid "cannot cast jsonb array to type %s"
 msgstr "kann jsonb-Array nicht in Typ %s umwandeln"
 
-#: utils/adt/jsonb.c:2088
+#: utils/adt/jsonb.c:1948
 #, c-format
 msgid "cannot cast jsonb object to type %s"
 msgstr "kann jsonb-Objekt nicht in Typ %s umwandeln"
 
-#: utils/adt/jsonb.c:2089
+#: utils/adt/jsonb.c:1949
 #, c-format
 msgid "cannot cast jsonb array or object to type %s"
 msgstr "kann jsonb-Array oder -Objekt nicht in Typ %s umwandeln"
 
-#: utils/adt/jsonb_util.c:758
+#: utils/adt/jsonb_util.c:752
 #, c-format
 msgid "number of jsonb object pairs exceeds the maximum allowed (%zu)"
 msgstr "Anzahl der jsonb-Objekte-Paare überschreitet erlaubtes Maximum (%zu)"
 
-#: utils/adt/jsonb_util.c:799
+#: utils/adt/jsonb_util.c:793
 #, c-format
 msgid "number of jsonb array elements exceeds the maximum allowed (%zu)"
 msgstr "Anzahl der jsonb-Arrayelemente überschreitet erlaubtes Maximum (%zu)"
 
-#: utils/adt/jsonb_util.c:1673 utils/adt/jsonb_util.c:1693
+#: utils/adt/jsonb_util.c:1667 utils/adt/jsonb_util.c:1687
 #, c-format
 msgid "total size of jsonb array elements exceeds the maximum of %u bytes"
 msgstr "Gesamtgröße der jsonb-Array-Elemente überschreitet die maximale Größe von %u Bytes"
 
-#: utils/adt/jsonb_util.c:1754 utils/adt/jsonb_util.c:1789
-#: utils/adt/jsonb_util.c:1809
+#: utils/adt/jsonb_util.c:1748 utils/adt/jsonb_util.c:1783
+#: utils/adt/jsonb_util.c:1803
 #, c-format
 msgid "total size of jsonb object elements exceeds the maximum of %u bytes"
 msgstr "Gesamtgröße der jsonb-Objektelemente überschreitet die maximale Größe von %u Bytes"
@@ -24459,13 +24258,13 @@ msgstr "jsonb-Index in Zuweisung darf nicht NULL sein"
 
 #: utils/adt/jsonfuncs.c:555 utils/adt/jsonfuncs.c:791
 #: utils/adt/jsonfuncs.c:2360 utils/adt/jsonfuncs.c:2800
-#: utils/adt/jsonfuncs.c:3634 utils/adt/jsonfuncs.c:3967
+#: utils/adt/jsonfuncs.c:3589 utils/adt/jsonfuncs.c:3922
 #, c-format
 msgid "cannot call %s on a scalar"
 msgstr "%s kann nicht mit einem skalaren Wert aufgerufen werden"
 
 #: utils/adt/jsonfuncs.c:560 utils/adt/jsonfuncs.c:778
-#: utils/adt/jsonfuncs.c:2802 utils/adt/jsonfuncs.c:3623
+#: utils/adt/jsonfuncs.c:2802 utils/adt/jsonfuncs.c:3578
 #, c-format
 msgid "cannot call %s on an array"
 msgstr "%s kann nicht mit einem Array aufgerufen werden"
@@ -24510,7 +24309,7 @@ msgstr "kann keine Elemente aus einem skalaren Wert auswählen"
 msgid "cannot extract elements from an object"
 msgstr "kann keine Elemente aus einem Objekt auswählen"
 
-#: utils/adt/jsonfuncs.c:2347 utils/adt/jsonfuncs.c:3852
+#: utils/adt/jsonfuncs.c:2347 utils/adt/jsonfuncs.c:3807
 #, c-format
 msgid "cannot call %s on a non-array"
 msgstr "%s kann nicht mit etwas aufgerufen werden, das kein Array ist"
@@ -24542,289 +24341,269 @@ msgid "malformed JSON array"
 msgstr "fehlerhaftes JSON-Array"
 
 #. translator: %s is a function name, eg json_to_record
-#: utils/adt/jsonfuncs.c:3353
+#: utils/adt/jsonfuncs.c:3308
 #, c-format
 msgid "first argument of %s must be a row type"
 msgstr "erstes Argument von %s muss ein Zeilentyp sein"
 
 #. translator: %s is a function name, eg json_to_record
-#: utils/adt/jsonfuncs.c:3377
+#: utils/adt/jsonfuncs.c:3332
 #, c-format
 msgid "could not determine row type for result of %s"
 msgstr "konnte Zeilentyp für Ergebnis von %s nicht ermitteln"
 
-#: utils/adt/jsonfuncs.c:3379
+#: utils/adt/jsonfuncs.c:3334
 #, c-format
 msgid "Provide a non-null record argument, or call the function in the FROM clause using a column definition list."
 msgstr "Geben Sie ein »record«-Argument, das nicht NULL ist, an oder rufen Sie die Funktion in der FROM-Klausel mit einer Spaltendefinitionsliste auf."
 
-#: utils/adt/jsonfuncs.c:3741 utils/fmgr/funcapi.c:94
+#: utils/adt/jsonfuncs.c:3696 utils/fmgr/funcapi.c:94
 #, c-format
 msgid "materialize mode required, but it is not allowed in this context"
 msgstr "Materialisierungsmodus wird benötigt, ist aber in diesem Zusammenhang nicht erlaubt"
 
-#: utils/adt/jsonfuncs.c:3869 utils/adt/jsonfuncs.c:3949
+#: utils/adt/jsonfuncs.c:3824 utils/adt/jsonfuncs.c:3904
 #, c-format
 msgid "argument of %s must be an array of objects"
 msgstr "Argument von %s muss ein Array von Objekten sein"
 
-#: utils/adt/jsonfuncs.c:3902
+#: utils/adt/jsonfuncs.c:3857
 #, c-format
 msgid "cannot call %s on an object"
 msgstr "%s kann nicht mit einem Objekt aufgerufen werden"
 
-#: utils/adt/jsonfuncs.c:4309 utils/adt/jsonfuncs.c:4368
-#: utils/adt/jsonfuncs.c:4448
+#: utils/adt/jsonfuncs.c:4264 utils/adt/jsonfuncs.c:4323
+#: utils/adt/jsonfuncs.c:4403
 #, c-format
 msgid "cannot delete from scalar"
 msgstr "kann nicht aus skalarem Wert löschen"
 
-#: utils/adt/jsonfuncs.c:4453
+#: utils/adt/jsonfuncs.c:4408
 #, c-format
 msgid "cannot delete from object using integer index"
 msgstr "aus einem Objekt kann nicht per numerischem Index gelöscht werden"
 
-#: utils/adt/jsonfuncs.c:4521 utils/adt/jsonfuncs.c:4682
+#: utils/adt/jsonfuncs.c:4476 utils/adt/jsonfuncs.c:4637
 #, c-format
 msgid "cannot set path in scalar"
 msgstr "in einem skalaren Wert kann kein Pfad gesetzt werden"
 
-#: utils/adt/jsonfuncs.c:4563 utils/adt/jsonfuncs.c:4605
+#: utils/adt/jsonfuncs.c:4518 utils/adt/jsonfuncs.c:4560
 #, c-format
 msgid "null_value_treatment must be \"delete_key\", \"return_target\", \"use_json_null\", or \"raise_exception\""
 msgstr "null_value_treatment muss »delete_key«, »return_target«, »use_json_null« oder »raise_exception« sein"
 
-#: utils/adt/jsonfuncs.c:4576
+#: utils/adt/jsonfuncs.c:4531
 #, c-format
 msgid "JSON value must not be null"
 msgstr "JSON-Wert darf nicht NULL sein"
 
-#: utils/adt/jsonfuncs.c:4577
+#: utils/adt/jsonfuncs.c:4532
 #, c-format
 msgid "Exception was raised because null_value_treatment is \"raise_exception\"."
 msgstr "Ausnahme wurde ausgelöst, weil null_value_treatment »raise_exception« ist."
 
-#: utils/adt/jsonfuncs.c:4578
+#: utils/adt/jsonfuncs.c:4533
 #, c-format
 msgid "To avoid, either change the null_value_treatment argument or ensure that an SQL NULL is not passed."
 msgstr "Um dies zu vermeiden, ändern Sie das Argument null_value_treatment oder sorgen Sie dafür, dass kein SQL NULL übergeben wird."
 
-#: utils/adt/jsonfuncs.c:4633
+#: utils/adt/jsonfuncs.c:4588
 #, c-format
 msgid "cannot delete path in scalar"
 msgstr "in einem skalaren Wert kann kein Pfad gelöscht werden"
 
-#: utils/adt/jsonfuncs.c:4849
+#: utils/adt/jsonfuncs.c:4804
 #, c-format
 msgid "path element at position %d is null"
 msgstr "Pfadelement auf Position %d ist NULL"
 
-#: utils/adt/jsonfuncs.c:4868 utils/adt/jsonfuncs.c:4899
-#: utils/adt/jsonfuncs.c:4966
+#: utils/adt/jsonfuncs.c:4823 utils/adt/jsonfuncs.c:4854
+#: utils/adt/jsonfuncs.c:4921
 #, c-format
 msgid "cannot replace existing key"
 msgstr "existierender Schlüssel kann nicht ersetzt werden"
 
-#: utils/adt/jsonfuncs.c:4869 utils/adt/jsonfuncs.c:4900
+#: utils/adt/jsonfuncs.c:4824 utils/adt/jsonfuncs.c:4855
 #, c-format
 msgid "The path assumes key is a composite object, but it is a scalar value."
 msgstr "Der Pfad nimmt an, dass der Schlüssel ein zusammengesetztes Objekt ist, aber er ist ein skalarer Wert."
 
-#: utils/adt/jsonfuncs.c:4967
+#: utils/adt/jsonfuncs.c:4922
 #, c-format
 msgid "Try using the function jsonb_set to replace key value."
 msgstr "Verwenden Sie die Funktion jsonb_set, um den Schlüsselwert zu ersetzen."
 
-#: utils/adt/jsonfuncs.c:5071
+#: utils/adt/jsonfuncs.c:5026
 #, c-format
 msgid "path element at position %d is not an integer: \"%s\""
 msgstr "Pfadelement auf Position %d ist keine ganze Zahl: »%s«"
 
-#: utils/adt/jsonfuncs.c:5088
+#: utils/adt/jsonfuncs.c:5043
 #, c-format
 msgid "path element at position %d is out of range: %d"
 msgstr "Pfadelement auf Position %d ist außerhalb des gültigen Bereichs: %d"
 
-#: utils/adt/jsonfuncs.c:5240
+#: utils/adt/jsonfuncs.c:5195
 #, c-format
 msgid "wrong flag type, only arrays and scalars are allowed"
 msgstr "falscher Flag-Typ, nur Arrays und skalare Werte sind erlaubt"
 
-#: utils/adt/jsonfuncs.c:5247
+#: utils/adt/jsonfuncs.c:5202
 #, c-format
 msgid "flag array element is not a string"
 msgstr "Flag-Array-Element ist keine Zeichenkette"
 
-#: utils/adt/jsonfuncs.c:5248 utils/adt/jsonfuncs.c:5270
+#: utils/adt/jsonfuncs.c:5203 utils/adt/jsonfuncs.c:5225
 #, c-format
 msgid "Possible values are: \"string\", \"numeric\", \"boolean\", \"key\", and \"all\"."
 msgstr "Mögliche Werte sind: »string«, »numeric«, »boolean«, »key« und »all«."
 
-#: utils/adt/jsonfuncs.c:5268
+#: utils/adt/jsonfuncs.c:5223
 #, c-format
 msgid "wrong flag in flag array: \"%s\""
 msgstr "falsche Flag im Flag-Array: »%s«"
 
-#: utils/adt/jsonpath.c:364
+#: utils/adt/jsonpath.c:362
 #, c-format
 msgid "@ is not allowed in root expressions"
 msgstr "@ ist nicht erlaubt in Wurzelausdrücken"
 
-#: utils/adt/jsonpath.c:370
+#: utils/adt/jsonpath.c:368
 #, c-format
 msgid "LAST is allowed only in array subscripts"
 msgstr "LAST ist nur in Arrayindizes erlaubt"
 
-#: utils/adt/jsonpath_exec.c:434
+#: utils/adt/jsonpath_exec.c:360
 #, c-format
 msgid "single boolean result is expected"
 msgstr "ein einzelnes Ergebnis mit Typ boolean wird erwartet"
 
-#: utils/adt/jsonpath_exec.c:746
+#: utils/adt/jsonpath_exec.c:556
+#, c-format
+msgid "\"vars\" argument is not an object"
+msgstr "Argument »vars« ist kein Objekt"
+
+#: utils/adt/jsonpath_exec.c:557
+#, c-format
+msgid "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object."
+msgstr "JSON-Path-Parameter sollten als Schüssel-Wert-Paare im »vars«-Objekt kodiert werden."
+
+#: utils/adt/jsonpath_exec.c:674
 #, c-format
 msgid "JSON object does not contain key \"%s\""
 msgstr "JSON-Objekt enthält Schlüssel »%s« nicht"
 
-#: utils/adt/jsonpath_exec.c:758
+#: utils/adt/jsonpath_exec.c:686
 #, c-format
 msgid "jsonpath member accessor can only be applied to an object"
 msgstr "JSON-Path-Member-Zugriff kann nur auf ein Objekt angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:787
+#: utils/adt/jsonpath_exec.c:715
 #, c-format
 msgid "jsonpath wildcard array accessor can only be applied to an array"
 msgstr "JSON-Path-Wildcard-Array-Indizierung kann nur auf ein Array angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:835
+#: utils/adt/jsonpath_exec.c:763
 #, c-format
 msgid "jsonpath array subscript is out of bounds"
 msgstr "JSON-Path-Arrayindex ist außerhalb des gültigen Bereichs"
 
-#: utils/adt/jsonpath_exec.c:892
+#: utils/adt/jsonpath_exec.c:820
 #, c-format
 msgid "jsonpath array accessor can only be applied to an array"
 msgstr "JSON-Path-Array-Indizierung kann nur auf ein Array angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:944
+#: utils/adt/jsonpath_exec.c:872
 #, c-format
 msgid "jsonpath wildcard member accessor can only be applied to an object"
 msgstr "JSON-Path-Wildcard-Member-Zugriff kann nur auf ein Objekt angwendet werden"
 
-#: utils/adt/jsonpath_exec.c:1074
+#: utils/adt/jsonpath_exec.c:1002
 #, c-format
 msgid "jsonpath item method .%s() can only be applied to an array"
 msgstr "Jsonpath-Item-Methode .%s() kann nur auf ein Array angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:1127
+#: utils/adt/jsonpath_exec.c:1055
 #, c-format
 msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision"
 msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision"
 
-#: utils/adt/jsonpath_exec.c:1148
+#: utils/adt/jsonpath_exec.c:1076
 #, c-format
 msgid "string argument of jsonpath item method .%s() is not a valid representation of a double precision number"
 msgstr "Zeichenkettenargument der JSON-Path-Item-Methode .%s() ist nicht gültig für Typ double precision"
 
-#: utils/adt/jsonpath_exec.c:1161
+#: utils/adt/jsonpath_exec.c:1089
 #, c-format
 msgid "jsonpath item method .%s() can only be applied to a string or numeric value"
 msgstr "JSON-Path-Item-Methode .%s() kann nur auf eine Zeichenkette oder einen numerischen Wert angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:1651
+#: utils/adt/jsonpath_exec.c:1579
 #, c-format
 msgid "left operand of jsonpath operator %s is not a single numeric value"
 msgstr "linker Operand des JSON-Path-Operators %s ist kein einzelner numerischer Wert"
 
-#: utils/adt/jsonpath_exec.c:1658
+#: utils/adt/jsonpath_exec.c:1586
 #, c-format
 msgid "right operand of jsonpath operator %s is not a single numeric value"
 msgstr "rechter Operand des JSON-Path-Operators %s ist kein einzelner numerischer Wert"
 
-#: utils/adt/jsonpath_exec.c:1726
+#: utils/adt/jsonpath_exec.c:1654
 #, c-format
 msgid "operand of unary jsonpath operator %s is not a numeric value"
 msgstr "Operand des unären JSON-Path-Operators %s ist kein numerischer Wert"
 
-#: utils/adt/jsonpath_exec.c:1824
+#: utils/adt/jsonpath_exec.c:1752
 #, c-format
 msgid "jsonpath item method .%s() can only be applied to a numeric value"
 msgstr "JSON-Path-Item-Methode .%s() kann nur auf einen numerischen Wert angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:1864
+#: utils/adt/jsonpath_exec.c:1792
 #, c-format
 msgid "jsonpath item method .%s() can only be applied to a string"
 msgstr "JSON-Path-Item-Methode .%s() kann nur auf eine Zeichenkette angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:1958
+#: utils/adt/jsonpath_exec.c:1886
 #, c-format
 msgid "datetime format is not recognized: \"%s\""
 msgstr "Datum-/Zeitformat nicht erkannt: »%s«"
 
-#: utils/adt/jsonpath_exec.c:1960
+#: utils/adt/jsonpath_exec.c:1888
 #, c-format
 msgid "Use a datetime template argument to specify the input data format."
 msgstr "Verwenden Sie das Template-Argument für .datetime(), um das Eingabeformat anzugeben."
 
-#: utils/adt/jsonpath_exec.c:2028
+#: utils/adt/jsonpath_exec.c:1956
 #, c-format
 msgid "jsonpath item method .%s() can only be applied to an object"
 msgstr "JSON-Path-Item-Methode .%s() kann nur auf ein Objekt angewendet werden"
 
-#: utils/adt/jsonpath_exec.c:2195
+#: utils/adt/jsonpath_exec.c:2138
 #, c-format
 msgid "could not find jsonpath variable \"%s\""
 msgstr "konnte JSON-Path-Variable »%s« nicht finden"
 
-#: utils/adt/jsonpath_exec.c:2216
-#, c-format
-msgid "\"vars\" argument is not an object"
-msgstr "Argument »vars« ist kein Objekt"
-
-#: utils/adt/jsonpath_exec.c:2217
-#, c-format
-msgid "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object."
-msgstr "JSON-Path-Parameter sollten als Schüssel-Wert-Paare im »vars«-Objekt kodiert werden."
-
-#: utils/adt/jsonpath_exec.c:2495
+#: utils/adt/jsonpath_exec.c:2402
 #, c-format
 msgid "jsonpath array subscript is not a single numeric value"
 msgstr "JSON-Path-Arrayindex ist kein einzelner numerischer Wert"
 
-#: utils/adt/jsonpath_exec.c:2507
+#: utils/adt/jsonpath_exec.c:2414
 #, c-format
 msgid "jsonpath array subscript is out of integer range"
 msgstr "JSON-Path-Arrayindex außerhalb des gültigen Bereichs für ganze Zahlen"
 
-#: utils/adt/jsonpath_exec.c:2691
+#: utils/adt/jsonpath_exec.c:2591
 #, c-format
 msgid "cannot convert value from %s to %s without time zone usage"
 msgstr "Wert kann nicht von %s nach %s konvertiert werden ohne Verwendung von Zeitzonen"
 
-#: utils/adt/jsonpath_exec.c:2693
+#: utils/adt/jsonpath_exec.c:2593
 #, c-format
 msgid "Use *_tz() function for time zone support."
 msgstr "Verwenden Sie die *_tz()-Funktion für Zeitzonenunterstützung."
 
-#: utils/adt/jsonpath_exec.c:2974
-#, c-format
-msgid "JSON path expression in JSON_QUERY should return singleton item without wrapper"
-msgstr ""
-
-#: utils/adt/jsonpath_exec.c:2976
-#, c-format
-msgid "Use WITH WRAPPER clause to wrap SQL/JSON item sequence into array."
-msgstr ""
-
-#: utils/adt/jsonpath_exec.c:3024 utils/adt/jsonpath_exec.c:3044
-#, c-format
-msgid "JSON path expression in JSON_VALUE should return singleton scalar item"
-msgstr ""
-
-#: utils/adt/jsonpath_exec.c:3137
-#, c-format
-msgid "only bool, numeric, and text types could be casted to supported jsonpath types."
-msgstr ""
-
 #: utils/adt/levenshtein.c:133
 #, c-format
 msgid "levenshtein argument exceeds maximum length of %d characters"
@@ -25426,7 +25205,7 @@ msgstr "ungültige Option für regulären Ausdruck: »%.*s«"
 #: utils/adt/regexp.c:668
 #, c-format
 msgid "If you meant to use regexp_replace() with a start parameter, cast the fourth argument to integer explicitly."
-msgstr ""
+msgstr "Wenn Sie regexp_replace() mit einem Startparameter verwenden wollten, wandeln Sie das vierte Argument explizit in integer um."
 
 #: utils/adt/regexp.c:702 utils/adt/regexp.c:711 utils/adt/regexp.c:1068
 #: utils/adt/regexp.c:1132 utils/adt/regexp.c:1141 utils/adt/regexp.c:1150
@@ -25470,7 +25249,7 @@ msgid "more than one operator named %s"
 msgstr "es gibt mehrere Operatoren namens %s"
 
 #: utils/adt/regproc.c:715 utils/adt/regproc.c:756 utils/adt/regproc.c:2055
-#: utils/adt/ruleutils.c:10116 utils/adt/ruleutils.c:10398
+#: utils/adt/ruleutils.c:9869 utils/adt/ruleutils.c:10038
 #, c-format
 msgid "too many arguments"
 msgstr "zu viele Argumente"
@@ -25641,22 +25420,22 @@ msgstr "kann unterschiedliche Spaltentyp %s und %s in Record-Spalte %d nicht ver
 msgid "cannot compare record types with different numbers of columns"
 msgstr "kann Record-Typen mit unterschiedlicher Anzahl Spalten nicht vergleichen"
 
-#: utils/adt/ruleutils.c:2715
+#: utils/adt/ruleutils.c:2705
 #, c-format
 msgid "input is a query, not an expression"
 msgstr "Eingabe ist eine Anfrage, kein Ausdruck"
 
-#: utils/adt/ruleutils.c:2727
+#: utils/adt/ruleutils.c:2717
 #, c-format
 msgid "expression contains variables of more than one relation"
 msgstr "Ausdruck enthält Verweise auf Variablen von mehr als einer Relation"
 
-#: utils/adt/ruleutils.c:2734
+#: utils/adt/ruleutils.c:2724
 #, c-format
 msgid "expression contains variables"
 msgstr "Ausdruck enthält Variablen"
 
-#: utils/adt/ruleutils.c:5257
+#: utils/adt/ruleutils.c:5247
 #, c-format
 msgid "rule \"%s\" has unsupported event type %d"
 msgstr "Regel »%s« hat nicht unterstützten Ereignistyp %d"
@@ -27148,10 +26927,8 @@ msgid "Statistics / Monitoring"
 msgstr "Statistiken / Überwachung"
 
 #: utils/misc/guc.c:836
-#, fuzzy
-#| msgid "Statistics / Query and Index Statistics Collector"
 msgid "Statistics / Cumulative Query and Index Statistics"
-msgstr "Statistiken / Statistiksammler für Anfragen und Indexe"
+msgstr "Statistiken / Kumulierte Anfrage- und Indexstatistiken"
 
 #: utils/misc/guc.c:838
 msgid "Autovacuum"
@@ -27714,16 +27491,12 @@ msgid "Sets whether a WAL receiver should create a temporary replication slot if
 msgstr "Bestimmt, ob der WAL-Receiver einen temporären Replikations-Slot erzeugen soll, wenn kein permanenter Slot konfiguriert ist."
 
 #: utils/misc/guc.c:2196
-#, fuzzy
-#| msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt."
 msgid "Sets the amount of time to wait before forcing a switch to the next WAL file."
-msgstr "Setzt die Zeit, die gewartet wird, bevor nach einem fehlgeschlagenen Versuch neue WAL-Daten angefordert werden."
+msgstr "Setzt die Zeit, die gewartet wird, bevor ein Umschalten auf die nächste WAL-Datei erzwungen wird."
 
 #: utils/misc/guc.c:2207
-#, fuzzy
-#| msgid "Sets the maximum time to wait for WAL replication."
 msgid "Sets the amount of time to wait after authentication on connection startup."
-msgstr "Setzt die maximale Zeit, um auf WAL-Replikation zu warten."
+msgstr "Setzt die Zeit, die nach der Authentifizierung beim Verbindungsstart gewartet wird."
 
 #: utils/misc/guc.c:2209 utils/misc/guc.c:2830
 msgid "This allows attaching a debugger to the process."
@@ -27818,10 +27591,8 @@ msgid "Shows the size of the server's main shared memory area (rounded up to the
 msgstr "Zeigt die Größe des primären Shared-Memory-Bereichs des Servers (aufgerundet zum nächsten MB)."
 
 #: utils/misc/guc.c:2420
-#, fuzzy
-#| msgid "Sets the number of disk-page buffers in shared memory for WAL."
 msgid "Shows the number of huge pages needed for the main shared memory area."
-msgstr "Setzt die Anzahl Diskseitenpuffer für WAL im Shared Memory."
+msgstr "Zeigt die Anzahl der Huge Pages, die für den primären Shared-Memory-Bereich benötigt werden."
 
 #: utils/misc/guc.c:2421
 msgid "-1 indicates that the value could not be determined."
@@ -28021,10 +27792,8 @@ msgid "Sets the maximum allowed time to complete client authentication."
 msgstr "Setzt die maximale Zeit, um die Client-Authentifizierung zu beenden."
 
 #: utils/misc/guc.c:2828
-#, fuzzy
-#| msgid "Sets the maximum time to wait for WAL replication."
 msgid "Sets the amount of time to wait before authentication on connection startup."
-msgstr "Setzt die maximale Zeit, um auf WAL-Replikation zu warten."
+msgstr "Setzt die Zeit, die vor der Authentifizierung beim Verbindungsstart gewartet wird."
 
 #: utils/misc/guc.c:2840
 msgid "Maximum buffer size for reading ahead in the WAL during recovery."
@@ -28140,7 +27909,7 @@ msgstr "Null gibt alls Aktionen aus. -1 schaltet die Log-Aufzeichnung über Auto
 
 #: utils/misc/guc.c:3085
 msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements."
-msgstr ""
+msgstr "Setzt die maximale Länge in Bytes für geloggte Daten von Bind-Parametern, wenn Anfragen geloggt werden."
 
 #: utils/misc/guc.c:3087 utils/misc/guc.c:3099
 msgid "-1 to print values in full."
@@ -28148,7 +27917,7 @@ msgstr "-1 um die Werte vollständig auszugeben."
 
 #: utils/misc/guc.c:3097
 msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements, on error."
-msgstr ""
+msgstr "Setzt die maximale Länge in Bytes für bei Fehlern geloggte Daten von Bind-Parametern, wenn Anfragen geloggt werden."
 
 #: utils/misc/guc.c:3109
 msgid "Background writer sleep time between rounds."
@@ -28179,16 +27948,12 @@ msgid "Maximum number of table synchronization workers per subscription."
 msgstr "Maximale Anzahl Arbeitsprozesse für Tabellensynchronisation pro Subskription."
 
 #: utils/misc/guc.c:3225
-#, fuzzy
-#| msgid "Sets the maximum time to wait for WAL replication."
 msgid "Sets the amount of time to wait before forcing log file rotation."
-msgstr "Setzt die maximale Zeit, um auf WAL-Replikation zu warten."
+msgstr "Setzt die Zeit, die gewartet wird, bevor Logdateirotation erzwungen wird."
 
 #: utils/misc/guc.c:3237
-#, fuzzy
-#| msgid "Sets the maximum WAL size that can be reserved by replication slots."
 msgid "Sets the maximum size a log file can reach before being rotated."
-msgstr "Setzt die maximale WAL-Größe, die von Replikations-Slots reserviert werden kann."
+msgstr "Setzt die maximale Größe, die eine Logdatei erreichen kann, bevor sie rotiert wird."
 
 #: utils/misc/guc.c:3249
 msgid "Shows the maximum number of function arguments."
@@ -28424,13 +28189,11 @@ msgstr "-1 schaltet Inlining aus."
 
 #: utils/misc/guc.c:3787
 msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved."
-msgstr "Setzt den vom Planer geschätzten Anteil der Cursor-Zeilen, die ausgelesen werden werden."
+msgstr "Setzt die Planerschätzung für den Anteil der Cursor-Zeilen, die ausgelesen werden werden."
 
 #: utils/misc/guc.c:3799
-#, fuzzy
-#| msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved."
 msgid "Sets the planner's estimate of the average size of a recursive query's working table."
-msgstr "Setzt den vom Planer geschätzten Anteil der Cursor-Zeilen, die ausgelesen werden werden."
+msgstr "Setzt die Planerschätzung für die durchschnittliche Größe der Arbeitstabelle einer rekursiven Anfrage."
 
 #: utils/misc/guc.c:3811
 msgid "GEQO: selective pressure within the population."
@@ -28830,10 +28593,8 @@ msgid "Each level includes all the levels that follow it. The later the level, t
 msgstr "Jeder Wert schließt alle ihm folgenden Werte mit ein. Je weiter hinten der Wert steht, desto weniger Meldungen werden gesendet werden."
 
 #: utils/misc/guc.c:4766
-#, fuzzy
-#| msgid "Compute query identifiers."
 msgid "Enables in-core computation of query identifiers."
-msgstr "Anfragebezeichner berechnen."
+msgstr "Schaltet die eingebaute Berechnung von Anfragebezeichnern ein."
 
 #: utils/misc/guc.c:4776
 msgid "Enables the planner to use constraints to optimize queries."
@@ -28904,16 +28665,12 @@ msgid "Collects function-level statistics on database activity."
 msgstr "Sammelt Statistiken auf Funktionsebene über Datenbankaktivität."
 
 #: utils/misc/guc.c:4956
-#, fuzzy
-#| msgid "Sets the default statistics target."
 msgid "Sets the consistency of accesses to statistics data"
-msgstr "Setzt das voreingestellte Statistikziel."
+msgstr "Setzt die Konsistenz von Zugriffen auf Statistikdaten."
 
 #: utils/misc/guc.c:4966
-#, fuzzy
-#| msgid "Compresses full-page writes written in WAL file."
 msgid "Compresses full-page writes written in WAL file with specified method."
-msgstr "Komprimiert in WAL-Dateien geschriebene volle Seiten."
+msgstr "Komprimiert in WAL-Dateien geschriebene volle Seiten mit der angegebenen Methode."
 
 #: utils/misc/guc.c:4976
 msgid "Sets the level of information written to the WAL."
@@ -28944,10 +28701,8 @@ msgid "Use of huge pages on Linux or Windows."
 msgstr "Huge Pages auf Linux oder Windows verwenden."
 
 #: utils/misc/guc.c:5047
-#, fuzzy
-#| msgid "cannot execute %s during recovery"
 msgid "Prefetch referenced blocks during recovery"
-msgstr "%s kann nicht während der Wiederherstellung ausgeführt werden"
+msgstr "Während der Wiederherstellung Blöcke, auf die verwiesen wird, vorab einlesen"
 
 #: utils/misc/guc.c:5048
 msgid "Look ahead in the WAL to find references to uncached data."
@@ -29341,7 +29096,7 @@ msgstr "Zeile ist zu lang in Zeitzonendatei »%s«, Zeile %d"
 msgid "@INCLUDE without file name in time zone file \"%s\", line %d"
 msgstr "@INCLUDE ohne Dateiname in Zeitzonendatei »%s«, Zeile %d"
 
-#: utils/mmgr/aset.c:477 utils/mmgr/generation.c:267 utils/mmgr/slab.c:237
+#: utils/mmgr/aset.c:477 utils/mmgr/generation.c:267 utils/mmgr/slab.c:239
 #, c-format
 msgid "Failed while creating memory context \"%s\"."
 msgstr "Fehler während der Erzeugung des Speicherkontexts »%s«."