de: Translation updates
authorPeter Eisentraut <peter@eisentraut.org>
Tue, 8 Apr 2025 06:46:20 +0000 (08:46 +0200)
committerPeter Eisentraut <peter@eisentraut.org>
Tue, 8 Apr 2025 06:46:33 +0000 (08:46 +0200)
de/pg_upgrade.po

index 545eab9df793ef39cfb1ff90c4fd674d0e0ab88e..4a225c29f21cc504c6b63c4940e1ac7628067892 100644 (file)
@@ -1,13 +1,13 @@
 # German message translation file for pg_upgrade
-# Copyright (C) 2024 PostgreSQL Global Development Group
+# Copyright (C) 2025 PostgreSQL Global Development Group
 # This file is distributed under the same license as the PostgreSQL package.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: pg_upgrade (PostgreSQL) 17\n"
+"Project-Id-Version: pg_upgrade (PostgreSQL) 18\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2024-10-30 10:50+0000\n"
-"PO-Revision-Date: 2024-10-30 16:05+0100\n"
+"POT-Creation-Date: 2025-04-08 04:51+0000\n"
+"PO-Revision-Date: 2025-04-08 08:44+0200\n"
 "Last-Translator: Peter Eisentraut <peter@eisentraut.org>\n"
 "Language-Team: German <pgsql-translators@postgresql.org>\n"
 "Language: de\n"
@@ -45,12 +45,12 @@ msgstr "Benutzer existiert nicht"
 msgid "user name lookup failure: error code %lu"
 msgstr "Fehler beim Nachschlagen des Benutzernamens: Fehlercode %lu"
 
-#: ../../fe_utils/string_utils.c:434
+#: ../../fe_utils/string_utils.c:587
 #, c-format
 msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
 msgstr "Argument des Shell-Befehls enthält Newline oder Carriage Return: »%s«\n"
 
-#: ../../fe_utils/string_utils.c:607
+#: ../../fe_utils/string_utils.c:760
 #, c-format
 msgid "database name contains a newline or carriage return: \"%s\"\n"
 msgstr "Datenbankname enthält Newline oder Carriage Return: »%s«\n"
@@ -229,34 +229,34 @@ msgstr ""
 "löschen oder in einen anderen Datentyp ändern und das Upgrade neu\n"
 "starten.\n"
 
-#: check.c:345
-#, c-format
-msgid "Checking data type usage"
-msgstr "Prüfe Verwendung von Datentypen"
-
-#: check.c:480
+#: check.c:421
 #, c-format
 msgid "failed check: %s"
 msgstr "fehlgeschlagene Prüfung: %s"
 
-#: check.c:483
+#: check.c:424
 msgid "A list of the problem columns is in the file:"
 msgstr "Eine Liste der Problemspalten ist in der Datei:"
 
-#: check.c:495 check.c:963 check.c:1136 check.c:1251 check.c:1345 check.c:1473
-#: check.c:1549 check.c:1613 check.c:1686 check.c:1865 check.c:1884
-#: check.c:1953 check.c:2005 file.c:378 file.c:415 function.c:189 option.c:493
-#: version.c:79 version.c:177
+#: check.c:430 check.c:1026 check.c:1177 check.c:1260 check.c:1349 check.c:1440
+#: check.c:1572 check.c:1657 check.c:1704 check.c:1784 check.c:2089
+#: check.c:2108 check.c:2154 check.c:2207 file.c:378 file.c:415 function.c:208
+#: option.c:519 version.c:79 version.c:162
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht öffnen: %m"
 
-#: check.c:522
+#: check.c:472
+#, c-format
+msgid "Checking data type usage"
+msgstr "Prüfe Verwendung von Datentypen"
+
+#: check.c:526
 #, c-format
 msgid "Data type checks failed: %s"
 msgstr "Datentypprüfungen fehlgeschlagen: %s"
 
-#: check.c:563
+#: check.c:575
 #, c-format
 msgid ""
 "Performing Consistency Checks on Old Live Server\n"
@@ -265,7 +265,7 @@ msgstr ""
 "Führe Konsistenzprüfungen am alten laufenden Server durch\n"
 "---------------------------------------------------------"
 
-#: check.c:569
+#: check.c:581
 #, c-format
 msgid ""
 "Performing Consistency Checks\n"
@@ -274,7 +274,13 @@ msgstr ""
 "Führe Konsistenzprüfungen durch\n"
 "-------------------------------"
 
-#: check.c:718
+#: check.c:745
+#, fuzzy, c-format
+#| msgid "This utility can only upgrade from PostgreSQL version %s and later."
+msgid "Swap mode can only upgrade clusters from PostgreSQL version %s and later."
+msgstr "Dieses Programm kann nur Upgrades von PostgreSQL Version %s oder später durchführen."
+
+#: check.c:768
 #, c-format
 msgid ""
 "\n"
@@ -283,7 +289,7 @@ msgstr ""
 "\n"
 "*Cluster sind kompatibel*"
 
-#: check.c:726
+#: check.c:776
 #, c-format
 msgid ""
 "\n"
@@ -295,18 +301,19 @@ msgstr ""
 "neuen Cluster neu mit initdb initialisieren, bevor fortgesetzt\n"
 "werden kann."
 
-#: check.c:767
+#: check.c:817
 #, c-format
 msgid ""
-"Optimizer statistics are not transferred by pg_upgrade.\n"
+"Some optimizer statistics may not have been transferred by pg_upgrade.\n"
 "Once you start the new server, consider running:\n"
-"    %s/vacuumdb %s--all --analyze-in-stages"
+"    %s/vacuumdb %s--all --analyze-in-stages --missing-stats-only"
 msgstr ""
-"Optimizer-Statistiken werden von pg_upgrade nicht übertragen. Wenn Sie\n"
-"den neuen Server starten, sollte Sie diesen Befehl ausführen:\n"
-"    %s/vacuumdb %s--all --analyze-in-stages"
+"Einige Optimizer-Statistiken wurden möglicherweise von pg_upgrade\n"
+"nicht übertragen. Wenn Sie den neuen Server starten, sollte Sie diesen\n"
+"Befehl ausführen:\n"
+"    %s/vacuumdb %s--all --analyze-in-stages --missing-stats-only"
 
-#: check.c:773
+#: check.c:823
 #, c-format
 msgid ""
 "Running this script will delete the old cluster's data files:\n"
@@ -315,7 +322,7 @@ msgstr ""
 "Mit diesem Skript können die Dateien des alten Clusters gelöscht werden:\n"
 "    %s"
 
-#: check.c:778
+#: check.c:828
 #, c-format
 msgid ""
 "Could not create a script to delete the old cluster's data files\n"
@@ -328,57 +335,63 @@ msgstr ""
 "Datenverzeichnis des neuen Clusters im alten Cluster-Verzeichnis\n"
 "liegen.  Der Inhalt des alten Clusters muss von Hand gelöscht werden."
 
-#: check.c:790
+#: check.c:840
 #, c-format
 msgid "Checking cluster versions"
 msgstr "Prüfe Cluster-Versionen"
 
-#: check.c:802
+#: check.c:852
 #, c-format
 msgid "This utility can only upgrade from PostgreSQL version %s and later."
 msgstr "Dieses Programm kann nur Upgrades von PostgreSQL Version %s oder später durchführen."
 
-#: check.c:807
+#: check.c:857
 #, c-format
 msgid "This utility can only upgrade to PostgreSQL version %s."
 msgstr "Dieses Programm kann nur Upgrades auf PostgreSQL Version %s durchführen."
 
-#: check.c:816
+#: check.c:866
 #, c-format
 msgid "This utility cannot be used to downgrade to older major PostgreSQL versions."
 msgstr "Dieses Programm kann keine Downgrades auf ältere Hauptversionen von PostgreSQL durchführen."
 
-#: check.c:821
+#: check.c:871
 #, c-format
 msgid "Old cluster data and binary directories are from different major versions."
 msgstr "Die Daten- und Programmverzeichnisse des alten Clusters stammen von verschiedenen Hauptversionen."
 
-#: check.c:824
+#: check.c:874
 #, c-format
 msgid "New cluster data and binary directories are from different major versions."
 msgstr "Die Daten- und Programmverzeichnisse des neuen Clusters stammen von verschiedenen Hauptversionen."
 
-#: check.c:839
+#: check.c:885
+#, fuzzy, c-format
+#| msgid "This utility can only upgrade from PostgreSQL version %s and later."
+msgid "%s option cannot be used to upgrade from PostgreSQL %s and later."
+msgstr "Dieses Programm kann nur Upgrades von PostgreSQL Version %s oder später durchführen."
+
+#: check.c:901
 #, c-format
 msgid "When checking a live server, the old and new port numbers must be different."
 msgstr "Wenn ein laufender Server geprüft wird, müssen die alte und die neue Portnummer verschieden sein."
 
-#: check.c:859
+#: check.c:921
 #, c-format
 msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\""
 msgstr "Datenbank »%s« im neuen Cluster ist nicht leer: Relation »%s.%s« gefunden"
 
-#: check.c:882
+#: check.c:944
 #, c-format
 msgid "Checking for new cluster tablespace directories"
 msgstr "Prüfe Tablespace-Verzeichnisse des neuen Clusters"
 
-#: check.c:893
+#: check.c:955
 #, c-format
 msgid "new cluster tablespace directory already exists: \"%s\""
 msgstr "Tablespace-Verzeichnis für neuen Cluster existiert bereits: »%s«"
 
-#: check.c:926
+#: check.c:989
 #, c-format
 msgid ""
 "\n"
@@ -387,7 +400,7 @@ msgstr ""
 "\n"
 "WARNUNG:  das neue Datenverzeichnis sollte nicht im alten Datenverzeichnis, d.h. %s, liegen"
 
-#: check.c:950
+#: check.c:1013
 #, c-format
 msgid ""
 "\n"
@@ -396,93 +409,93 @@ msgstr ""
 "\n"
 "WARNUNG:  benutzerdefinierte Tablespace-Pfade sollten nicht im Datenverzeichnis, d.h. %s, liegen"
 
-#: check.c:960
+#: check.c:1023
 #, c-format
 msgid "Creating script to delete old cluster"
 msgstr "Erzeuge Skript zum Löschen des alten Clusters"
 
-#: check.c:1014
+#: check.c:1051
 #, c-format
 msgid "could not add execute permission to file \"%s\": %m"
 msgstr "konnte Datei »%s« nicht ausführbar machen: %m"
 
-#: check.c:1034
+#: check.c:1071
 #, c-format
 msgid "Checking database user is the install user"
 msgstr "Prüfe ob der Datenbankbenutzer der Installationsbenutzer ist"
 
-#: check.c:1050
+#: check.c:1087
 #, c-format
 msgid "database user \"%s\" is not the install user"
 msgstr "Datenbankbenutzer »%s« ist nicht der Installationsbenutzer"
 
-#: check.c:1061
+#: check.c:1098
 #, c-format
 msgid "could not determine the number of users"
 msgstr "konnte die Anzahl der Benutzer nicht ermitteln"
 
-#: check.c:1069
+#: check.c:1106
 #, c-format
 msgid "Only the install user can be defined in the new cluster."
 msgstr "Nur der Installationsbenutzer darf im neuen Cluster definiert sein."
 
-#: check.c:1098
+#: check.c:1136
 #, c-format
 msgid "Checking database connection settings"
 msgstr "Prüfe Verbindungseinstellungen der Datenbank"
 
-#: check.c:1124
+#: check.c:1164
 #, c-format
 msgid "template0 must not allow connections, i.e. its pg_database.datallowconn must be false"
 msgstr "template0 darf keine Verbindungen erlauben, d.h. ihr pg_database.datallowconn muss falsch sein"
 
-#: check.c:1150 check.c:1270 check.c:1367 check.c:1492 check.c:1568
-#: check.c:1626 check.c:1706 check.c:1897 check.c:2022 function.c:210
+#: check.c:1191 check.c:1312 check.c:1408 check.c:1536 check.c:1612
+#: check.c:1670 check.c:1753 check.c:2121 check.c:2263 function.c:229
 #, c-format
 msgid "fatal"
 msgstr "fatal"
 
-#: check.c:1151
+#: check.c:1192
 #, c-format
 msgid ""
 "All non-template0 databases must allow connections, i.e. their\n"
-"pg_database.datallowconn must be true.  Your installation contains\n"
-"non-template0 databases with their pg_database.datallowconn set to\n"
-"false.  Consider allowing connection for all non-template0 databases\n"
-"or drop the databases which do not allow connections.  A list of\n"
-"databases with the problem is in the file:\n"
+"pg_database.datallowconn must be true and pg_database.datconnlimit\n"
+"must not be -2.  Your installation contains non-template0 databases\n"
+"which cannot be connected to.  Consider allowing connection for all\n"
+"non-template0 databases or drop the databases which do not allow\n"
+"connections.  A list of databases with the problem is in the file:\n"
 "    %s"
 msgstr ""
 "Alle Datenbanken außer template0 müssen Verbindungen erlauben,\n"
-"d.h. ihr pg_database.datallowconn muss wahr sein. Ihre Installation\n"
-"enthält Datenbanken außer template0, deren pg_database.datallowconn\n"
-"auf falsch gesetzt ist. Sie sollten Verbindungen für alle Datenbanken\n"
-"außer template0 erlauben oder die Datenbanken, die keine Verbindungen\n"
-"erlauben, löschen. Eine Liste der Datenbanken mit diesem Problem ist\n"
-"in der Datei:\n"
+"d.h. ihr pg_database.datallowconn muss wahr sein und\n"
+"pg_database.datconnlimit darf nicht -2 sein. Ihre Installation enthält\n"
+"Datenbanken außer template0, zu denen nicht verbunden werden kann.\n"
+"Sie sollten Verbindungen für alle Datenbanken außer template0 erlauben\n"
+"oder die Datenbanken, die keine Verbindungen erlauben, löschen. Eine\n"
+"Liste der Datenbanken mit diesem Problem ist in der Datei:\n"
 "    %s"
 
-#: check.c:1176
+#: check.c:1217
 #, c-format
 msgid "Checking for prepared transactions"
 msgstr "Prüfe auf vorbereitete Transaktionen"
 
-#: check.c:1185
+#: check.c:1226
 #, c-format
 msgid "The source cluster contains prepared transactions"
 msgstr "Der alte Cluster enthält vorbereitete Transaktionen"
 
-#: check.c:1187
+#: check.c:1228
 #, c-format
 msgid "The target cluster contains prepared transactions"
 msgstr "Der neue Cluster enthält vorbereitete Transaktionen"
 
-#: check.c:1212
+#: check.c:1288
 #, c-format
 msgid "Checking for contrib/isn with bigint-passing mismatch"
 msgstr "Prüfe auf contrib/isn mit unpassender bigint-Übergabe"
 
-#: check.c:1271
+#: check.c:1313
 #, c-format
 msgid ""
 "Your installation contains \"contrib/isn\" functions which rely on the\n"
@@ -502,12 +515,12 @@ msgstr ""
 "der problematischen Funktionen ist in der Datei:\n"
 "    %s"
 
-#: check.c:1293
+#: check.c:1393
 #, c-format
 msgid "Checking for user-defined postfix operators"
 msgstr "Prüfe auf benutzerdefinierte Postfix-Operatoren"
 
-#: check.c:1368
+#: check.c:1409
 #, c-format
 msgid ""
 "Your installation contains user-defined postfix operators, which are not\n"
@@ -522,12 +535,12 @@ msgstr ""
 "Liste der benutzerdefinierten Postfixoperatoren ist in der Datei:\n"
 "    %s"
 
-#: check.c:1392
+#: check.c:1464
 #, c-format
 msgid "Checking for incompatible polymorphic functions"
 msgstr "Prüfe auf inkompatible polymorphische Funktionen"
 
-#: check.c:1493
+#: check.c:1537
 #, c-format
 msgid ""
 "Your installation contains user-defined objects that refer to internal\n"
@@ -548,12 +561,12 @@ msgstr ""
 "Eine Liste der problematischen Objekte ist in der Datei:\n"
 "    %s"
 
-#: check.c:1517
+#: check.c:1597
 #, c-format
 msgid "Checking for tables WITH OIDS"
 msgstr "Prüfe auf Tabellen mit WITH OIDS"
 
-#: check.c:1569
+#: check.c:1613
 #, c-format
 msgid ""
 "Your installation contains tables declared WITH OIDS, which is not\n"
@@ -568,12 +581,12 @@ msgstr ""
 "Eine Liste der Tabellen mit dem Problem ist in der Datei:\n"
 "    %s"
 
-#: check.c:1596
+#: check.c:1640
 #, c-format
 msgid "Checking for roles starting with \"pg_\""
 msgstr "Prüfe auf Rollen, die mit »pg_« anfangen"
 
-#: check.c:1627
+#: check.c:1671
 #, c-format
 msgid ""
 "Your installation contains roles starting with \"pg_\".\n"
@@ -588,12 +601,12 @@ msgstr ""
 "Eine Liste der Rollen, die mit »pg_« anfangen, ist in der Datei:\n"
 "    %s"
 
-#: check.c:1647
+#: check.c:1725
 #, c-format
 msgid "Checking for user-defined encoding conversions"
 msgstr "Prüfe auf benutzerdefinierte Kodierungsumwandlungen"
 
-#: check.c:1707
+#: check.c:1754
 #, c-format
 msgid ""
 "Your installation contains user-defined encoding conversions.\n"
@@ -612,52 +625,70 @@ msgstr ""
 "in der Datei:\n"
 "    %s"
 
-#: check.c:1746
+#: check.c:1839
+#, c-format
+msgid "Checking for objects affected by Unicode update"
+msgstr "Prüfe auf vom Unicode-Update betroffene Objekte"
+
+#: check.c:1933 version.c:121
+#, c-format
+msgid "warning"
+msgstr "Warnung"
+
+#: check.c:1934
+#, c-format
+msgid ""
+"Your installation contains relations that may be affected by a new version of Unicode.\n"
+"A list of potentially-affected relations is in the file:\n"
+"    %s"
+msgstr ""
+
+#: check.c:1970
 #, c-format
 msgid "Checking for new cluster logical replication slots"
 msgstr "Prüfe logische Replikations-Slots des neuen Clusters"
 
-#: check.c:1754
+#: check.c:1978
 #, c-format
 msgid "could not count the number of logical replication slots"
 msgstr "konnte Anzahl der logischen Replikations-Slots nicht zählen"
 
-#: check.c:1759
+#: check.c:1983
 #, c-format
 msgid "expected 0 logical replication slots but found %d"
 msgstr "0 logische Replikations-Slots erwartet aber %d gefunden"
 
-#: check.c:1769 check.c:1820
+#: check.c:1993 check.c:2044
 #, c-format
 msgid "could not determine parameter settings on new cluster"
 msgstr "konnte Parametereinstellung im neuen Cluster nicht ermitteln"
 
-#: check.c:1774
+#: check.c:1998
 #, c-format
 msgid "\"wal_level\" must be \"logical\" but is set to \"%s\""
 msgstr "»wal_level« muss »logical« sein, aber es ist auf »%s« gesetzt"
 
-#: check.c:1780
+#: check.c:2004
 #, c-format
 msgid "\"max_replication_slots\" (%d) must be greater than or equal to the number of logical replication slots (%d) on the old cluster"
 msgstr "»max_replication_slots« (%d) muss größer als oder gleich der Anzahl der logischen Replikations-Slots (%d) im alten Cluster sein"
 
-#: check.c:1812
+#: check.c:2036
 #, c-format
 msgid "Checking for new cluster configuration for subscriptions"
 msgstr "Prüfe Konfiguration für Subskriptionen im neuen Cluster"
 
-#: check.c:1824
+#: check.c:2048
 #, c-format
-msgid "\"max_replication_slots\" (%d) must be greater than or equal to the number of subscriptions (%d) on the old cluster"
-msgstr "»max_replication_slots« (%d) muss größer als oder gleich der Anzahl der Subskriptionen (%d) im alten Cluster sein"
+msgid "\"max_active_replication_origins\" (%d) must be greater than or equal to the number of subscriptions (%d) on the old cluster"
+msgstr "»max_active_replication_origins« (%d) muss größer als oder gleich der Anzahl der Subskriptionen (%d) im alten Cluster sein"
 
-#: check.c:1846
+#: check.c:2070
 #, c-format
 msgid "Checking for valid logical replication slots"
 msgstr "Prüfe auf gültige logische Replikations-Slots"
 
-#: check.c:1898
+#: check.c:2122
 #, c-format
 msgid ""
 "Your installation contains logical replication slots that cannot be upgraded.\n"
@@ -673,12 +704,12 @@ msgstr ""
 "Eine Liste der problematischen Slots ist in der Datei:\n"
 "    %s"
 
-#: check.c:1922
+#: check.c:2182
 #, c-format
 msgid "Checking for subscription state"
 msgstr "Prüfe Subskriptionszustand"
 
-#: check.c:2023
+#: check.c:2264
 #, c-format
 msgid ""
 "Your installation contains subscriptions without origin or having relations not in i (initialize) or r (ready) state.\n"
@@ -693,184 +724,190 @@ msgstr ""
 "Subskriptionen ist in der Datei:\n"
 "    %s"
 
-#: controldata.c:129 controldata.c:199
+#: controldata.c:133 controldata.c:203
 #, c-format
 msgid "could not get control data using %s: %m"
 msgstr "konnte Kontrolldaten mit %s nicht ermitteln: %m"
 
-#: controldata.c:139
+#: controldata.c:143
 #, c-format
 msgid "%d: database cluster state problem"
 msgstr "%d: Problem mit dem Zustand des Clusters"
 
-#: controldata.c:158
+#: controldata.c:162
 #, c-format
 msgid "The source cluster was shut down while in recovery mode.  To upgrade, use \"rsync\" as documented or shut it down as a primary."
 msgstr "Der alte Cluster wurde im Wiederherstellungsmodus heruntergefahren. Um ihn zu aktualisieren, verwenden Sie »rsync« wie in der Dokumentation beschrieben oder fahren Sie ihn im Primärmodus herunter."
 
-#: controldata.c:160
+#: controldata.c:164
 #, c-format
 msgid "The target cluster was shut down while in recovery mode.  To upgrade, use \"rsync\" as documented or shut it down as a primary."
 msgstr "Der neue Cluster wurde im Wiederherstellungsmodus heruntergefahren. Um ihn zu aktualisieren, verwenden Sie »rsync« wie in der Dokumentation beschrieben oder fahren Sie ihn im Primärmodus herunter."
 
-#: controldata.c:165
+#: controldata.c:169
 #, c-format
 msgid "The source cluster was not shut down cleanly, state reported as: \"%s\""
 msgstr "Der alte Cluster wurde nicht sauber heruntergefahren, gemeldeter Status: »%s«"
 
-#: controldata.c:167
+#: controldata.c:171
 #, c-format
 msgid "The target cluster was not shut down cleanly, state reported as: \"%s\""
 msgstr "Der neue Cluster wurde nicht sauber heruntergefahren, gemeldeter Status: »%s«"
 
-#: controldata.c:175 controldata.c:507
+#: controldata.c:179 controldata.c:530
 #, c-format
 msgid "could not get control data using %s: %s"
 msgstr "konnte Kontrolldaten mit %s nicht ermitteln: %s"
 
-#: controldata.c:181
+#: controldata.c:185
 #, c-format
 msgid "The source cluster lacks cluster state information:"
 msgstr "Im alten Cluster fehlen Cluster-Zustandsinformationen:"
 
-#: controldata.c:183
+#: controldata.c:187
 #, c-format
 msgid "The target cluster lacks cluster state information:"
 msgstr "Im neuen Cluster fehlen Cluster-Zustandsinformationen:"
 
-#: controldata.c:213 dump.c:50 exec.c:118 pg_upgrade.c:556 pg_upgrade.c:596
-#: pg_upgrade.c:945 relfilenumber.c:233 server.c:34 util.c:337
+#: controldata.c:217 dump.c:50 exec.c:118 pg_upgrade.c:603 pg_upgrade.c:643
+#: pg_upgrade.c:992 relfilenumber.c:610 server.c:34 util.c:337
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: controldata.c:220
+#: controldata.c:224
 #, c-format
 msgid "%d: pg_resetwal problem"
 msgstr "%d: Problem mit pg_resetwal"
 
-#: controldata.c:230 controldata.c:240 controldata.c:251 controldata.c:262
-#: controldata.c:273 controldata.c:292 controldata.c:303 controldata.c:314
-#: controldata.c:325 controldata.c:336 controldata.c:347 controldata.c:358
-#: controldata.c:361 controldata.c:365 controldata.c:375 controldata.c:387
-#: controldata.c:398 controldata.c:409 controldata.c:420 controldata.c:431
-#: controldata.c:442 controldata.c:453 controldata.c:464 controldata.c:475
-#: controldata.c:486 controldata.c:497
+#: controldata.c:234 controldata.c:244 controldata.c:255 controldata.c:266
+#: controldata.c:277 controldata.c:296 controldata.c:307 controldata.c:318
+#: controldata.c:329 controldata.c:340 controldata.c:351 controldata.c:362
+#: controldata.c:365 controldata.c:369 controldata.c:379 controldata.c:391
+#: controldata.c:402 controldata.c:413 controldata.c:424 controldata.c:435
+#: controldata.c:446 controldata.c:457 controldata.c:468 controldata.c:479
+#: controldata.c:490 controldata.c:501 controldata.c:512 controldata.c:521
 #, c-format
 msgid "%d: controldata retrieval problem"
 msgstr "%d: Problem beim Ermitteln der Kontrolldaten"
 
-#: controldata.c:578
+#: controldata.c:618
 #, c-format
 msgid "The source cluster lacks some required control information:"
 msgstr "Im alten Cluster fehlen einige notwendige Kontrollinformationen:"
 
-#: controldata.c:581
+#: controldata.c:621
 #, c-format
 msgid "The target cluster lacks some required control information:"
 msgstr "Im neuen Cluster fehlen einige notwendige Kontrollinformationen:"
 
-#: controldata.c:584
+#: controldata.c:624
 #, c-format
 msgid "  checkpoint next XID"
 msgstr "  Checkpoint nächste XID"
 
-#: controldata.c:587
+#: controldata.c:627
 #, c-format
 msgid "  latest checkpoint next OID"
 msgstr "  NextOID des letzten Checkpoints"
 
-#: controldata.c:590
+#: controldata.c:630
 #, c-format
 msgid "  latest checkpoint next MultiXactId"
 msgstr "  NextMultiXactId des letzten Checkpoints"
 
-#: controldata.c:594
+#: controldata.c:634
 #, c-format
 msgid "  latest checkpoint oldest MultiXactId"
 msgstr "  oldestMultiXid des letzten Checkpoints"
 
-#: controldata.c:597
+#: controldata.c:637
 #, c-format
 msgid "  latest checkpoint oldestXID"
 msgstr "  oldestXID des letzten Checkpoints"
 
-#: controldata.c:600
+#: controldata.c:640
 #, c-format
 msgid "  latest checkpoint next MultiXactOffset"
 msgstr "  NextMultiOffset des letzten Checkpoints"
 
-#: controldata.c:603
+#: controldata.c:643
 #, c-format
 msgid "  first WAL segment after reset"
 msgstr "  erstes WAL-Segment nach dem Reset"
 
-#: controldata.c:606
+#: controldata.c:646
 #, c-format
 msgid "  float8 argument passing method"
 msgstr "  Übergabe von Float8-Argumenten"
 
-#: controldata.c:609
+#: controldata.c:649
 #, c-format
 msgid "  maximum alignment"
 msgstr "  maximale Ausrichtung (Alignment)"
 
-#: controldata.c:612
+#: controldata.c:652
 #, c-format
 msgid "  block size"
 msgstr "  Blockgröße"
 
-#: controldata.c:615
+#: controldata.c:655
 #, c-format
 msgid "  large relation segment size"
 msgstr "  Segmentgröße für große Relationen"
 
-#: controldata.c:618
+#: controldata.c:658
 #, c-format
 msgid "  WAL block size"
 msgstr "  WAL-Blockgröße"
 
-#: controldata.c:621
+#: controldata.c:661
 #, c-format
 msgid "  WAL segment size"
 msgstr "  WAL-Segmentgröße"
 
-#: controldata.c:624
+#: controldata.c:664
 #, c-format
 msgid "  maximum identifier length"
 msgstr "  maximale Bezeichnerlänge"
 
-#: controldata.c:627
+#: controldata.c:667
 #, c-format
 msgid "  maximum number of indexed columns"
 msgstr "  maximale Anzahl indizierter Spalten"
 
-#: controldata.c:630
+#: controldata.c:670
 #, c-format
 msgid "  maximum TOAST chunk size"
 msgstr "  maximale TOAST-Chunk-Größe"
 
-#: controldata.c:634
+#: controldata.c:674
 #, c-format
 msgid "  large-object chunk size"
 msgstr "  Large-Object-Chunk-Größe"
 
-#: controldata.c:637
+#: controldata.c:677
 #, c-format
 msgid "  dates/times are integers?"
 msgstr "  Datum/Zeit sind Ganzzahlen?"
 
-#: controldata.c:641
+#: controldata.c:681
 #, c-format
 msgid "  data checksum version"
 msgstr "  Datenprüfsummenversion"
 
-#: controldata.c:643
+#: controldata.c:685
+#, fuzzy, c-format
+#| msgid "  default collation: %s\n"
+msgid "  default char signedness"
+msgstr "  Standardsortierfolge: %s\n"
+
+#: controldata.c:687
 #, c-format
 msgid "Cannot continue without required control information, terminating"
 msgstr "Kann ohne die benötigten Kontrollinformationen nicht fortsetzen, Programm wird beendet"
 
-#: controldata.c:658
+#: controldata.c:702
 #, c-format
 msgid ""
 "old and new pg_controldata alignments are invalid or do not match.\n"
@@ -879,91 +916,106 @@ msgstr ""
 "altes und neues Alignment in pg_controldata ist ungültig oder stimmt nicht überein\n"
 "Wahrscheinlich ist ein Cluster eine 32-Bit-Installation und der andere 64-Bit"
 
-#: controldata.c:662
+#: controldata.c:706
 #, c-format
 msgid "old and new pg_controldata block sizes are invalid or do not match"
 msgstr "alte und neue Blockgrößen von pg_controldata sind ungültig oder stimmen nicht überein"
 
-#: controldata.c:665
+#: controldata.c:709
 #, c-format
 msgid "old and new pg_controldata maximum relation segment sizes are invalid or do not match"
 msgstr "alte und neue maximale Relationssegmentgrößen von pg_controldata sind ungültig oder stimmen nicht überein"
 
-#: controldata.c:668
+#: controldata.c:712
 #, c-format
 msgid "old and new pg_controldata WAL block sizes are invalid or do not match"
 msgstr "alte und neue WAL-Blockgrößen von pg_controldata sind ungültig oder stimmen nicht überein"
 
-#: controldata.c:671
+#: controldata.c:715
 #, c-format
 msgid "old and new pg_controldata WAL segment sizes are invalid or do not match"
 msgstr "alte und neue WAL-Segmentgrößen von pg_controldata sind ungültig oder stimmen nicht überein"
 
-#: controldata.c:674
+#: controldata.c:718
 #, c-format
 msgid "old and new pg_controldata maximum identifier lengths are invalid or do not match"
 msgstr "alte und neue maximale Bezeichnerlängen von pg_controldata sind ungültig oder stimmen nicht überein"
 
-#: controldata.c:677
+#: controldata.c:721
 #, c-format
 msgid "old and new pg_controldata maximum indexed columns are invalid or do not match"
 msgstr "alte und neue Maximalzahlen indizierter Spalten von pg_controldata sind ungültig oder stimmen nicht überein"
 
-#: controldata.c:680
+#: controldata.c:724
 #, c-format
 msgid "old and new pg_controldata maximum TOAST chunk sizes are invalid or do not match"
 msgstr "alte und neue maximale TOAST-Chunk-Größen von pg_controldata sind ungültig oder stimmen nicht überein"
 
-#: controldata.c:685
+#: controldata.c:729
 #, c-format
 msgid "old and new pg_controldata large-object chunk sizes are invalid or do not match"
 msgstr "alte und neue Large-Object-Chunk-Größen von pg_controldata sind ungültig oder stimmen nicht überein"
 
-#: controldata.c:688
+#: controldata.c:732
 #, c-format
 msgid "old and new pg_controldata date/time storage types do not match"
 msgstr "alte und neue Speicherung von Datums- und Zeittypen von pg_controldata ist ungültig oder stimmt nicht überein"
 
-#: controldata.c:701
+#: controldata.c:745
 #, c-format
 msgid "old cluster does not use data checksums but the new one does"
 msgstr "der alte Cluster verwendet keine Datenprüfsummen, aber der neue verwendet sie"
 
-#: controldata.c:704
+#: controldata.c:748
 #, c-format
 msgid "old cluster uses data checksums but the new one does not"
 msgstr "die alte Cluster verwendet Datenprüfsummen, aber der neue nicht"
 
-#: controldata.c:706
+#: controldata.c:750
 #, c-format
 msgid "old and new cluster pg_controldata checksum versions do not match"
 msgstr "Prüfsummenversionen im alten und neuen Cluster stimmen nicht überein"
 
-#: controldata.c:717
-#, c-format
-msgid "Adding \".old\" suffix to old global/pg_control"
+#: controldata.c:761
+#, fuzzy, c-format
+#| msgid "Adding \".old\" suffix to old global/pg_control"
+msgid "Adding \".old\" suffix to old "
 msgstr "Füge Endung ».old« an altes global/pg_control an"
 
-#: controldata.c:722
+#: controldata.c:766
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "konnte Datei »%s« nicht in »%s« umbenennen: %m"
 
-#: controldata.c:726
+#: controldata.c:771
 #, c-format
 msgid ""
 "\n"
 "If you want to start the old cluster, you will need to remove\n"
-"the \".old\" suffix from %s/global/pg_control.old.\n"
+"the \".old\" suffix from %s/%s.old.\n"
 "Because \"link\" mode was used, the old cluster cannot be safely\n"
 "started once the new cluster has been started."
 msgstr ""
 "\n"
 "Wenn Sie den alten Cluster starten wollen, müssen Sie die Endung\n"
-"».old« von %s/global/pg_control.old entfernen. Da der »link«-Modus\n"
+"».old« von %s/%s.old entfernen. Da der »link«-Modus\n"
 "verwendet wurde, kann der alte Cluster nicht gefahrlos gestartet\n"
 "werden, nachdem der neue Cluster gestartet worden ist."
 
+#: controldata.c:778
+#, c-format
+msgid ""
+"\n"
+"Because \"swap\" mode was used, the old cluster can no longer be\n"
+"safely started."
+msgstr ""
+
+#: controldata.c:782 file.c:455
+#, fuzzy, c-format
+#| msgid "unrecognized status code"
+msgid "unrecognized transfer mode"
+msgstr "nicht erkannter Statuscode"
+
 #: dump.c:20
 #, c-format
 msgid "Creating dump of global objects"
@@ -994,7 +1046,7 @@ msgstr "konnte pg_ctl-Version nicht ermitteln von %s"
 msgid "command too long"
 msgstr "Befehl zu lang"
 
-#: exec.c:160 pg_upgrade.c:311
+#: exec.c:160 pg_upgrade.c:312
 #, c-format
 msgid "could not open log file \"%s\": %m"
 msgstr "konnte Logdatei »%s« nicht öffnen: %m"
@@ -1031,7 +1083,7 @@ msgstr ""
 "Prüfen Sie die letzten Zeilen von »%s« für den\n"
 "wahrscheinlichen Grund für das Scheitern."
 
-#: exec.c:218 pg_upgrade.c:321
+#: exec.c:218 pg_upgrade.c:322
 #, c-format
 msgid "could not write to log file \"%s\": %m"
 msgstr "konnte nicht in Logdatei »%s «schreiben: %m"
@@ -1156,7 +1208,7 @@ msgstr "konnte Dateibereich nicht vom alten in das neue Datenverzeichnis kopiere
 msgid "copy_file_range not supported on this platform"
 msgstr "copy_file_range wird auf dieser Plattform nicht unterstützt"
 
-#: file.c:447
+#: file.c:449
 #, c-format
 msgid ""
 "could not create hard link between old and new data directories: %m\n"
@@ -1165,22 +1217,31 @@ msgstr ""
 "konnte Hard-Link-Verknüpfung zwischen altem und neuen Datenverzeichnis nicht erzeugen: %m\n"
 "Im Link-Modus müssen das alte und das neue Datenverzeichnis im selben Dateisystem liegen."
 
-#: function.c:154
+#: file.c:452
+#, c-format
+msgid ""
+"could not create hard link between old and new data directories: %m\n"
+"In swap mode the old and new data directories must be on the same file system."
+msgstr ""
+"konnte Hard-Link-Verknüpfung zwischen altem und neuen Datenverzeichnis nicht erzeugen: %m\n"
+"Im Swap-Modus müssen das alte und das neue Datenverzeichnis im selben Dateisystem liegen."
+
+#: function.c:173
 #, c-format
 msgid "Checking for presence of required libraries"
 msgstr "Prüfe das Vorhandensein benötigter Bibliotheken"
 
-#: function.c:190
+#: function.c:209
 #, c-format
 msgid "could not load library \"%s\": %s"
 msgstr "konnte Bibliothek »%s« nicht laden: %s"
 
-#: function.c:201
+#: function.c:220
 #, c-format
 msgid "In database: %s\n"
 msgstr "In Datenbank: %s\n"
 
-#: function.c:211
+#: function.c:230
 #, c-format
 msgid ""
 "Your installation references loadable libraries that are missing from the\n"
@@ -1196,47 +1257,47 @@ msgstr ""
 "Datei:\n"
 "    %s"
 
-#: info.c:128
+#: info.c:131
 #, c-format
 msgid "Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s\", new name \"%s.%s\""
 msgstr "Relationsnamen für OID %u in Datenbank »%s« stimmen nicht überein: alten Name »%s.%s«, neuer Name »%s.%s«"
 
-#: info.c:148
+#: info.c:151
 #, c-format
 msgid "Failed to match up old and new tables in database \"%s\""
 msgstr "Alte und neue Tabellen in Datenbank »%s« konnten nicht gepaart werden"
 
-#: info.c:229
+#: info.c:232
 #, c-format
 msgid " which is an index on \"%s.%s\""
 msgstr ", ein Index für »%s.%s«"
 
-#: info.c:239
+#: info.c:242
 #, c-format
 msgid " which is an index on OID %u"
 msgstr ", ein Index für OID %u"
 
-#: info.c:251
+#: info.c:254
 #, c-format
 msgid " which is the TOAST table for \"%s.%s\""
 msgstr ", eine TOAST-Tabelle für »%s.%s«"
 
-#: info.c:259
+#: info.c:262
 #, c-format
 msgid " which is the TOAST table for OID %u"
 msgstr ", eine TOAST-Tabelle für OID %u"
 
-#: info.c:263
+#: info.c:266
 #, c-format
 msgid "No match found in old cluster for new relation with OID %u in database \"%s\": %s"
 msgstr "Keine Übereinstimmung gefunden im alten Cluster für neue Relation mit OID %u in Datenbank »%s«: %s"
 
-#: info.c:266
+#: info.c:269
 #, c-format
 msgid "No match found in new cluster for old relation with OID %u in database \"%s\": %s"
 msgstr "Keine Übereinstimmung gefunden im neuen Cluster für alte Relation mit OID %u in Datenbank »%s«: %s"
 
-#: info.c:300
+#: info.c:325
 #, c-format
 msgid ""
 "\n"
@@ -1245,7 +1306,7 @@ msgstr ""
 "\n"
 "Quelldatenbanken:"
 
-#: info.c:302
+#: info.c:327
 #, c-format
 msgid ""
 "\n"
@@ -1254,92 +1315,97 @@ msgstr ""
 "\n"
 "Zieldatenbanken:"
 
-#: info.c:346
+#: info.c:371
 #, c-format
 msgid "template0 not found"
 msgstr "template0 nicht gefunden"
 
-#: info.c:805
+#: info.c:817
 #, c-format
 msgid "Database: \"%s\""
 msgstr "Datenbank: »%s«"
 
-#: info.c:818
+#: info.c:830
 #, c-format
 msgid "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\""
 msgstr "relname: »%s.%s«, reloid: %u, reltblspace: »%s«"
 
-#: info.c:832
+#: info.c:844
 #, c-format
 msgid "Logical replication slots in the database:"
 msgstr "Logische Replikations-Slots in der Datenbank:"
 
-#: info.c:838
+#: info.c:850
 #, c-format
 msgid "slot name: \"%s\", output plugin: \"%s\", two_phase: %s"
 msgstr "Slot-Name: »%s«, Ausgabe-Plugin: »%s«, two_phase: %s"
 
-#: option.c:105
+#: option.c:110
 #, c-format
 msgid "%s: cannot be run as root"
 msgstr "%s: kann nicht als root ausgeführt werden"
 
-#: option.c:172
+#: option.c:177
 #, c-format
 msgid "invalid old port number"
 msgstr "ungültige alte Portnummer"
 
-#: option.c:177
+#: option.c:182
 #, c-format
 msgid "invalid new port number"
 msgstr "ungültige neue Portnummer"
 
-#: option.c:216
+#: option.c:230
+#, c-format
+msgid "invalid argument for option %s"
+msgstr "ungültiges Argument für Option %s"
+
+#: option.c:238
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Versuchen Sie »%s --help« für weitere Informationen.\n"
 
-#: option.c:223
+#: option.c:245
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "zu viele Kommandozeilenargumente (das erste ist »%s«)"
 
-#: option.c:229
+#: option.c:251
 #, c-format
 msgid "Running in verbose mode"
 msgstr "Ausführung im Verbose-Modus"
 
-#: option.c:247
+#: option.c:269
 msgid "old cluster binaries reside"
 msgstr "die Programmdateien des alten Clusters liegen"
 
-#: option.c:249
+#: option.c:271
 msgid "new cluster binaries reside"
 msgstr "die Programmdateien des neuen Clusters liegen"
 
-#: option.c:251
+#: option.c:273
 msgid "old cluster data resides"
 msgstr "die Daten das alten Clusters liegen"
 
-#: option.c:253
+#: option.c:275
 msgid "new cluster data resides"
 msgstr "die Daten des neuen Clusters liegen"
 
-#: option.c:255
+#: option.c:277
 msgid "sockets will be created"
 msgstr "die Sockets erzeugt werden sollen"
 
-#: option.c:272 option.c:374
+#: option.c:294 option.c:400
 #, c-format
 msgid "could not determine current directory"
 msgstr "konnte aktuelles Verzeichnis nicht ermitteln"
 
-#: option.c:275
+#: option.c:297
 #, c-format
 msgid "cannot run pg_upgrade from inside the new cluster data directory on Windows"
 msgstr "auf Windows kann pg_upgrade nicht von innerhalb des Cluster-Datenverzeichnisses ausgeführt werden"
 
-#: option.c:284
+#: option.c:306
 #, c-format
 msgid ""
 "pg_upgrade upgrades a PostgreSQL cluster to a different major version.\n"
@@ -1348,12 +1414,12 @@ msgstr ""
 "pg_upgrade aktualisiert einen PostgreSQL-Cluster auf eine neue Hauptversion.\n"
 "\n"
 
-#: option.c:285
+#: option.c:307
 #, c-format
 msgid "Usage:\n"
 msgstr "Aufruf:\n"
 
-#: option.c:286
+#: option.c:308
 #, c-format
 msgid ""
 "  pg_upgrade [OPTION]...\n"
@@ -1362,17 +1428,17 @@ msgstr ""
 "  pg_upgrade [OPTION]...\n"
 "\n"
 
-#: option.c:287
+#: option.c:309
 #, c-format
 msgid "Options:\n"
 msgstr "Optionen:\n"
 
-#: option.c:288
+#: option.c:310
 #, c-format
 msgid "  -b, --old-bindir=BINDIR       old cluster executable directory\n"
 msgstr "  -b, --old-bindir=BINVERZ      Programmverzeichnis des alten Clusters\n"
 
-#: option.c:289
+#: option.c:311
 #, c-format
 msgid ""
 "  -B, --new-bindir=BINDIR       new cluster executable directory (default\n"
@@ -1381,111 +1447,128 @@ msgstr ""
 "  -B, --new-bindir=BINVERZ      Programmverzeichnis des neuen Clusters\n"
 "                                (Standard: gleiches Verzeichnis wie pg_upgrade)\n"
 
-#: option.c:291
+#: option.c:313
 #, c-format
 msgid "  -c, --check                   check clusters only, don't change any data\n"
 msgstr "  -c, --check                   nur Cluster prüfen, keine Daten ändern\n"
 
-#: option.c:292
+#: option.c:314
 #, c-format
 msgid "  -d, --old-datadir=DATADIR     old cluster data directory\n"
 msgstr "  -d, --old-datadir=DATENVERZ   Datenverzeichnis des alten Clusters\n"
 
-#: option.c:293
+#: option.c:315
 #, c-format
 msgid "  -D, --new-datadir=DATADIR     new cluster data directory\n"
 msgstr "  -D, --new-datadir=DATENVERZ   Datenverzeichnis des neuen Clusters\n"
 
-#: option.c:294
+#: option.c:316
 #, c-format
 msgid "  -j, --jobs=NUM                number of simultaneous processes or threads to use\n"
 msgstr "  -j, --jobs=NUM                Anzahl paralleler Prozesse oder Threads\n"
 
-#: option.c:295
+#: option.c:317
 #, c-format
 msgid "  -k, --link                    link instead of copying files to new cluster\n"
 msgstr "  -k, --link                    Dateien in den neuen Cluster verknüpfen statt kopieren\n"
 
-#: option.c:296
+#: option.c:318
 #, c-format
 msgid "  -N, --no-sync                 do not wait for changes to be written safely to disk\n"
 msgstr ""
 "  -N, --no-sync                 nicht warten, bis Änderungen sicher auf Festplatte\n"
 "                                geschrieben sind\n"
 
-#: option.c:297
+#: option.c:319
 #, c-format
 msgid "  -o, --old-options=OPTIONS     old cluster options to pass to the server\n"
 msgstr "  -o, --old-options=OPTIONEN    Serveroptionen für den alten Cluster\n"
 
-#: option.c:298
+#: option.c:320
 #, c-format
 msgid "  -O, --new-options=OPTIONS     new cluster options to pass to the server\n"
 msgstr "  -O, --new-options=OPTIONEN    Serveroptionen für den neuen Cluster\n"
 
-#: option.c:299
+#: option.c:321
 #, c-format
 msgid "  -p, --old-port=PORT           old cluster port number (default %d)\n"
 msgstr "  -p, --old-port=PORT           Portnummer für den alten Cluster (Standard: %d)\n"
 
-#: option.c:300
+#: option.c:322
 #, c-format
 msgid "  -P, --new-port=PORT           new cluster port number (default %d)\n"
 msgstr "  -P, --new-port=PORT           Portnummer für den neuen Cluster (Standard: %d)\n"
 
-#: option.c:301
+#: option.c:323
 #, c-format
 msgid "  -r, --retain                  retain SQL and log files after success\n"
 msgstr "  -r, --retain                  SQL- und Logdateien bei Erfolg aufheben\n"
 
-#: option.c:302
+#: option.c:324
 #, c-format
 msgid "  -s, --socketdir=DIR           socket directory to use (default current dir.)\n"
 msgstr "  -s, --socketdir=VERZ          Verzeichnis für Socket (Standard: aktuelles Verz.)\n"
 
-#: option.c:303
+#: option.c:325
 #, c-format
 msgid "  -U, --username=NAME           cluster superuser (default \"%s\")\n"
 msgstr "  -U, --username=NAME           Cluster-Superuser (Standard: »%s«)\n"
 
-#: option.c:304
+#: option.c:326
 #, c-format
 msgid "  -v, --verbose                 enable verbose internal logging\n"
 msgstr "  -v, --verbose                 »Verbose«-Modus einschalten\n"
 
-#: option.c:305
+#: option.c:327
 #, c-format
 msgid "  -V, --version                 display version information, then exit\n"
 msgstr "  -V, --version                 Versionsinformationen anzeigen, dann beenden\n"
 
-#: option.c:306
+#: option.c:328
 #, c-format
 msgid "  --clone                       clone instead of copying files to new cluster\n"
 msgstr "  --clone                       Dateien in den neuen Cluster klonen statt kopieren\n"
 
-#: option.c:307
+#: option.c:329
 #, c-format
 msgid "  --copy                        copy files to new cluster (default)\n"
 msgstr "  --copy                        Dateien in den neuen Cluster kopieren (Voreinstellung)\n"
 
-#: option.c:308
+#: option.c:330
 #, c-format
 msgid "  --copy-file-range             copy files to new cluster with copy_file_range\n"
 msgstr "  --copy-file-range             Dateien mit copy_file_range in den neuen Cluster kopieren\n"
 
-#: option.c:309
+#: option.c:331
+#, c-format
+msgid "  --no-statistics               do not import statistics from old cluster\n"
+msgstr "  --no-statistics               Statistiken vom alten Cluster nicht importieren\n"
+
+#: option.c:332
+#, c-format
+msgid ""
+"  --set-char-signedness=OPTION  set new cluster char signedness to \"signed\" or\n"
+"                                \"unsigned\"\n"
+msgstr ""
+
+#: option.c:334
+#, c-format
+msgid "  --swap                        move data directories to new cluster\n"
+msgstr "  --swap                        Datenverzeichnisse in den neuen Cluster verschieben\n"
+
+#: option.c:335
 #, c-format
 msgid "  --sync-method=METHOD          set method for syncing files to disk\n"
 msgstr ""
 "  --sync-method=METHODE         Methode zum Synchronisieren von Dateien auf\n"
 "                                Festplatte setzen\n"
 
-#: option.c:310
+#: option.c:336
 #, c-format
 msgid "  -?, --help                    show this help, then exit\n"
 msgstr "  -?, --help                    diese Hilfe anzeigen, dann beenden\n"
 
-#: option.c:311
+#: option.c:337
 #, c-format
 msgid ""
 "\n"
@@ -1500,7 +1583,7 @@ msgstr ""
 "  den Postmaster für den alten Cluster anhalten\n"
 "  den Postmaster für den neuen Cluster anhalten\n"
 
-#: option.c:316
+#: option.c:342
 #, c-format
 msgid ""
 "\n"
@@ -1517,7 +1600,7 @@ msgstr ""
 "  das »bin«-Verzeichnis der alten Version (-b BINVERZ)\n"
 "  das »bin«-Verzeichnis der neuen Version (-B BINVERZ)\n"
 
-#: option.c:322
+#: option.c:348
 #, c-format
 msgid ""
 "\n"
@@ -1530,7 +1613,7 @@ msgstr ""
 "  pg_upgrade -d alterCluster/data -D neuerCluster/data -b alterCluster/bin -B neuerCluster/bin\n"
 "oder\n"
 
-#: option.c:327
+#: option.c:353
 #, c-format
 msgid ""
 "  $ export PGDATAOLD=oldCluster/data\n"
@@ -1545,7 +1628,7 @@ msgstr ""
 "  $ export PGBINNEW=neuerCluster/bin\n"
 "  $ pg_upgrade\n"
 
-#: option.c:333
+#: option.c:359
 #, c-format
 msgid ""
 "  C:\\> set PGDATAOLD=oldCluster/data\n"
@@ -1560,7 +1643,7 @@ msgstr ""
 "  C:\\> set PGBINNEW=neuerCluster/bin\n"
 "  C:\\> pg_upgrade\n"
 
-#: option.c:339
+#: option.c:365
 #, c-format
 msgid ""
 "\n"
@@ -1569,12 +1652,12 @@ msgstr ""
 "\n"
 "Berichten Sie Fehler an <%s>.\n"
 
-#: option.c:340
+#: option.c:366
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "%s Homepage: <%s>\n"
 
-#: option.c:380
+#: option.c:406
 #, c-format
 msgid ""
 "You must identify the directory where the %s.\n"
@@ -1583,32 +1666,32 @@ msgstr ""
 "Sie müssen das Verzeichnis angeben, wo %s.\n"
 "Bitte verwenden Sie die Kommandzeilenoption %s oder die Umgebungsvariable %s."
 
-#: option.c:433
+#: option.c:459
 #, c-format
 msgid "Finding the real data directory for the source cluster"
 msgstr "Suche das tatsächliche Datenverzeichnis des alten Clusters"
 
-#: option.c:435
+#: option.c:461
 #, c-format
 msgid "Finding the real data directory for the target cluster"
 msgstr "Suche das tatsächliche Datenverzeichnis des neuen Clusters"
 
-#: option.c:448
+#: option.c:474
 #, c-format
 msgid "could not get data directory using %s: %m"
 msgstr "konnte Datenverzeichnis mit %s nicht ermitteln: %m"
 
-#: option.c:452
+#: option.c:478
 #, c-format
 msgid "could not get data directory using %s: %s"
 msgstr "konnte Datenverzeichnis mit %s nicht ermitteln: %s"
 
-#: option.c:500
+#: option.c:526
 #, c-format
 msgid "could not read line %d from file \"%s\": %m"
 msgstr "konnte Zeile %d aus Datei »%s« nicht lesen: %m"
 
-#: option.c:517
+#: option.c:543
 #, c-format
 msgid "user-supplied old port number %hu corrected to %hu"
 msgstr "vom Benutzer angegebene Portnummer %hu wurde auf %hu korrigiert"
@@ -1638,12 +1721,12 @@ msgstr "Kindprozess wurde abnormal beendet: Status %d"
 msgid "child worker exited abnormally: %m"
 msgstr "Kindprozess wurde abnormal beendet: %m"
 
-#: pg_upgrade.c:115
+#: pg_upgrade.c:111
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
 msgstr "konnte Zugriffsrechte von Verzeichnis »%s« nicht lesen: %m"
 
-#: pg_upgrade.c:147
+#: pg_upgrade.c:143
 #, c-format
 msgid ""
 "\n"
@@ -1654,17 +1737,17 @@ msgstr ""
 "Führe Upgrade durch\n"
 "-------------------"
 
-#: pg_upgrade.c:192
+#: pg_upgrade.c:191
 #, c-format
 msgid "Setting next OID for new cluster"
 msgstr "Setze nächste OID im neuen Cluster"
 
-#: pg_upgrade.c:216
+#: pg_upgrade.c:215
 #, c-format
 msgid "Sync data directory to disk"
 msgstr "Synchronisiere Datenverzeichnis auf Festplatte"
 
-#: pg_upgrade.c:230
+#: pg_upgrade.c:231
 #, c-format
 msgid ""
 "\n"
@@ -1675,23 +1758,23 @@ msgstr ""
 "Upgrade abgeschlossen\n"
 "---------------------"
 
-#: pg_upgrade.c:263 pg_upgrade.c:276 pg_upgrade.c:283 pg_upgrade.c:290
-#: pg_upgrade.c:308 pg_upgrade.c:319
+#: pg_upgrade.c:264 pg_upgrade.c:277 pg_upgrade.c:284 pg_upgrade.c:291
+#: pg_upgrade.c:309 pg_upgrade.c:320
 #, c-format
 msgid "directory path for new cluster is too long"
 msgstr "Verzeichnispfad für neuen Cluster ist zu lang"
 
-#: pg_upgrade.c:297 pg_upgrade.c:299 pg_upgrade.c:301 pg_upgrade.c:303
+#: pg_upgrade.c:298 pg_upgrade.c:300 pg_upgrade.c:302 pg_upgrade.c:304
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "konnte Verzeichnis »%s« nicht erzeugen: %m"
 
-#: pg_upgrade.c:352
+#: pg_upgrade.c:353
 #, c-format
 msgid "%s: could not find own program executable"
 msgstr "%s: konnte eigene Programmdatei nicht finden"
 
-#: pg_upgrade.c:378
+#: pg_upgrade.c:379
 #, c-format
 msgid ""
 "There seems to be a postmaster servicing the old cluster.\n"
@@ -1700,7 +1783,7 @@ msgstr ""
 "Es läuft scheinbar ein Postmaster für den alten Cluster.\n"
 "Bitte beenden Sie diesen Postmaster und versuchen Sie es erneut."
 
-#: pg_upgrade.c:391
+#: pg_upgrade.c:392
 #, c-format
 msgid ""
 "There seems to be a postmaster servicing the new cluster.\n"
@@ -1709,141 +1792,209 @@ msgstr ""
 "Es läuft scheinbar ein Postmaster für den neuen Cluster.\n"
 "Bitte beenden Sie diesen Postmaster und versuchen Sie es erneut."
 
-#: pg_upgrade.c:413
+#: pg_upgrade.c:418
+#, fuzzy, c-format
+#| msgid "Setting locale and encoding for new cluster"
+msgid "Setting the default char signedness for new cluster"
+msgstr "Setze Locale und Kodierung für neuen Cluster"
+
+#: pg_upgrade.c:446
 #, c-format
 msgid "Setting locale and encoding for new cluster"
 msgstr "Setze Locale und Kodierung für neuen Cluster"
 
-#: pg_upgrade.c:489
+#: pg_upgrade.c:524
 #, c-format
 msgid "Analyzing all rows in the new cluster"
 msgstr "Analysiere alle Zeilen im neuen Cluster"
 
-#: pg_upgrade.c:502
+#: pg_upgrade.c:537
 #, c-format
 msgid "Freezing all rows in the new cluster"
 msgstr "Friere alle Zeilen im neuen Cluster ein"
 
-#: pg_upgrade.c:522
+#: pg_upgrade.c:557
 #, c-format
 msgid "Restoring global objects in the new cluster"
 msgstr "Stelle globale Objekte im neuen Cluster wieder her"
 
-#: pg_upgrade.c:538
+#: pg_upgrade.c:574
 #, c-format
 msgid "Restoring database schemas in the new cluster"
 msgstr "Stelle Datenbankschemas im neuen Cluster wieder her"
 
-#: pg_upgrade.c:662
+#: pg_upgrade.c:709
 #, c-format
 msgid "Deleting files from new %s"
 msgstr "Lösche Dateien aus neuem %s"
 
-#: pg_upgrade.c:666
+#: pg_upgrade.c:713
 #, c-format
 msgid "could not delete directory \"%s\""
 msgstr "konnte Verzeichnis »%s« nicht löschen"
 
-#: pg_upgrade.c:685
+#: pg_upgrade.c:732
 #, c-format
 msgid "Copying old %s to new server"
 msgstr "Kopiere altes %s zum neuen Server"
 
-#: pg_upgrade.c:711
+#: pg_upgrade.c:758
 #, c-format
 msgid "Setting oldest XID for new cluster"
 msgstr "Setze älteste XID im neuen Cluster"
 
-#: pg_upgrade.c:719
+#: pg_upgrade.c:766
 #, c-format
 msgid "Setting next transaction ID and epoch for new cluster"
 msgstr "Setze nächste Transaktions-ID und -epoche im neuen Cluster"
 
-#: pg_upgrade.c:749
+#: pg_upgrade.c:796
 #, c-format
 msgid "Setting next multixact ID and offset for new cluster"
 msgstr "Setze nächste Multixact-ID und nächstes Offset im neuen Cluster"
 
-#: pg_upgrade.c:773
+#: pg_upgrade.c:820
 #, c-format
 msgid "Setting oldest multixact ID in new cluster"
 msgstr "Setze älteste Multixact-ID im neuen Cluster"
 
-#: pg_upgrade.c:793
+#: pg_upgrade.c:840
 #, c-format
 msgid "Resetting WAL archives"
 msgstr "Setze WAL-Archive zurück"
 
-#: pg_upgrade.c:836
+#: pg_upgrade.c:883
 #, c-format
 msgid "Setting frozenxid and minmxid counters in new cluster"
 msgstr "Setze frozenxid und minmxid im neuen Cluster"
 
-#: pg_upgrade.c:838
+#: pg_upgrade.c:885
 #, c-format
 msgid "Setting minmxid counter in new cluster"
 msgstr "Setze minmxid im neuen Cluster"
 
-#: pg_upgrade.c:929
+#: pg_upgrade.c:976
 #, c-format
 msgid "Restoring logical replication slots in the new cluster"
 msgstr "Stelle logische Replikations-Slots im neuen Cluster wieder her"
 
-#: relfilenumber.c:35
+#: relfilenumber.c:68
+#, fuzzy, c-format
+#| msgid "could not fsync file \"%s\": %m"
+msgid "could not synchronize file \"%s\": %m"
+msgstr "konnte Datei »%s« nicht fsyncen: %m"
+
+#: relfilenumber.c:114
 #, c-format
 msgid "Cloning user relation files"
 msgstr "Klone Benutzertabellendateien"
 
-#: relfilenumber.c:38
+#: relfilenumber.c:117
 #, c-format
 msgid "Copying user relation files"
 msgstr "Kopiere Benutzertabellendateien"
 
-#: relfilenumber.c:41
+#: relfilenumber.c:120
 #, c-format
 msgid "Copying user relation files with copy_file_range"
 msgstr "Kopiere Benutzertabellendateien mit copy_file_range"
 
-#: relfilenumber.c:44
+#: relfilenumber.c:123
 #, c-format
 msgid "Linking user relation files"
 msgstr "Verknüpfe Benutzertabellendateien"
 
-#: relfilenumber.c:118
+#: relfilenumber.c:126
+#, fuzzy, c-format
+#| msgid "syncing data directory"
+msgid "Swapping data directories"
+msgstr "synchronisiere Datenverzeichnis"
+
+#: relfilenumber.c:200
 #, c-format
 msgid "old database \"%s\" not found in the new cluster"
 msgstr "alte Datenbank »%s« nicht im neuen Cluster gefunden"
 
-#: relfilenumber.c:221
+#: relfilenumber.c:287
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "konnte »stat« für Datei »%s« nicht ausführen: %m"
+
+#: relfilenumber.c:293 relfilenumber.c:297
+#, fuzzy, c-format
+#| msgid "could not create directory \"%s\": %m"
+msgid "could not create directory \"%s\""
+msgstr "konnte Verzeichnis »%s« nicht erzeugen: %m"
+
+#: relfilenumber.c:301 relfilenumber.c:305
+#, fuzzy, c-format
+#| msgid "could not rename file \"%s\" to \"%s\": %m"
+msgid "could not rename \"%s\" to \"%s\""
+msgstr "konnte Datei »%s« nicht in »%s« umbenennen: %m"
+
+#: relfilenumber.c:375 relfilenumber.c:402
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "konnte Verzeichnis »%s« nicht öffnen: %m"
+
+#: relfilenumber.c:393 relfilenumber.c:420
+#, fuzzy, c-format
+#| msgid "could not rename file \"%s\" to \"%s\": %m"
+msgid "could not rename \"%s\" to \"%s\": %m"
+msgstr "konnte Datei »%s« nicht in »%s« umbenennen: %m"
+
+#: relfilenumber.c:396 relfilenumber.c:434
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "konnte Verzeichnis »%s« nicht lesen: %m"
+
+#: relfilenumber.c:439
+#, fuzzy, c-format
+#| msgid "could not close directory \"%s\": %m"
+msgid "could not synchronize directory \"%s\": %m"
+msgstr "konnte Verzeichnis »%s« nicht schließen: %m"
+
+#: relfilenumber.c:441
+#, fuzzy, c-format
+#| msgid "could not create directory \"%s\": %m"
+msgid "could not synchronize parent directory of \"%s\": %m"
+msgstr "konnte Verzeichnis »%s« nicht erzeugen: %m"
+
+#: relfilenumber.c:598
 #, c-format
 msgid "error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %m"
 msgstr "Fehler beim Prüfen auf Existenz der Datei für »%s.%s« (»%s« nach »%s«): %m"
 
-#: relfilenumber.c:238
+#: relfilenumber.c:615
 #, c-format
 msgid "rewriting \"%s\" to \"%s\""
 msgstr "konvertiere »%s« nach »%s«"
 
-#: relfilenumber.c:246
+#: relfilenumber.c:623
 #, c-format
 msgid "cloning \"%s\" to \"%s\""
 msgstr "klone »%s« nach »%s«"
 
-#: relfilenumber.c:251
+#: relfilenumber.c:628
 #, c-format
 msgid "copying \"%s\" to \"%s\""
 msgstr "kopiere »%s« nach »%s«"
 
-#: relfilenumber.c:256
+#: relfilenumber.c:633
 #, c-format
 msgid "copying \"%s\" to \"%s\" with copy_file_range"
 msgstr "kopiere »%s« nach »%s« mit copy_file_range"
 
-#: relfilenumber.c:261
+#: relfilenumber.c:638
 #, c-format
 msgid "linking \"%s\" to \"%s\""
 msgstr "verknüpfe »%s« nach »%s«"
 
+#: relfilenumber.c:644
+#, c-format
+msgid "should never happen"
+msgstr ""
+
 #: server.c:39 server.c:143 util.c:248 util.c:278
 #, c-format
 msgid "Failure, exiting\n"
@@ -1875,7 +2026,7 @@ msgstr "konnte Versionsdatei »%s« nicht öffnen: %m"
 msgid "could not parse version file \"%s\""
 msgstr "konnte Versionsdatei »%s« nicht interpretieren"
 
-#: server.c:310
+#: server.c:317
 #, c-format
 msgid ""
 "\n"
@@ -1884,7 +2035,7 @@ msgstr ""
 "\n"
 "%s"
 
-#: server.c:314
+#: server.c:321
 #, c-format
 msgid ""
 "could not connect to source postmaster started with the command:\n"
@@ -1893,7 +2044,7 @@ msgstr ""
 "konnte nicht mit dem Postmaster für den alten Cluster verbinden, gestartet mit dem Befehl:\n"
 "%s"
 
-#: server.c:318
+#: server.c:325
 #, c-format
 msgid ""
 "could not connect to target postmaster started with the command:\n"
@@ -1902,22 +2053,22 @@ msgstr ""
 "konnte nicht mit dem Postmaster für den neuen Cluster verbinden, gestartet mit dem Befehl:\n"
 "%s"
 
-#: server.c:332
+#: server.c:339
 #, c-format
 msgid "pg_ctl failed to start the source server, or connection failed"
 msgstr "pg_ctl konnte den Quellserver nicht starten, oder Verbindung fehlgeschlagen"
 
-#: server.c:334
+#: server.c:341
 #, c-format
 msgid "pg_ctl failed to start the target server, or connection failed"
 msgstr "pg_ctl konnte den Zielserver nicht starten, oder Verbindung fehlgeschlagen"
 
-#: server.c:379
+#: server.c:386
 #, c-format
 msgid "out of memory"
 msgstr "Speicher aufgebraucht"
 
-#: server.c:392
+#: server.c:399
 #, c-format
 msgid "libpq environment variable %s has a non-local server value: %s"
 msgstr "libpq-Umgebungsvariable %s hat einen nicht lokalen Serverwert: %s"
@@ -1966,11 +2117,6 @@ msgstr "ok"
 msgid "Checking for hash indexes"
 msgstr "Prüfe auf Hash-Indexe"
 
-#: version.c:121
-#, c-format
-msgid "warning"
-msgstr "Warnung"
-
 #: version.c:123
 #, c-format
 msgid ""
@@ -2006,17 +2152,17 @@ msgstr ""
 "ungültigen Indexe neu zu erzeugen. Bis dahin werden diese Indexe nicht\n"
 "verwendet werden."
 
-#: version.c:153
+#: version.c:187
 #, c-format
 msgid "Checking for extension updates"
 msgstr "Prüfe auf Aktualisierungen von Erweiterungen"
 
-#: version.c:200
+#: version.c:201
 #, c-format
 msgid "notice"
 msgstr "Hinweis"
 
-#: version.c:201
+#: version.c:202
 #, c-format
 msgid ""
 "\n"