
Ich wurde mit der Aktualisierung unserer auf GCP gehosteten PostgreSQL-Datenbanken von Version 9.6 auf Version 13 beauftragt.
Die Anweisungen, die ich gefunden habe (https://cloud.google.com/sql/docs/postgres/upgrade-db) sagen, dass wir eine neue Datenbank erstellen müssen und dann „Stellen Sie sicher, dass die Zielinstanz über dieselben Benutzerkonten mit denselben PostgreSQL-Berechtigungen und Passwörtern verfügt“
Wir haben eine Reihe von Datenbanken mit Dutzenden von Benutzern und Rollen. Wir erlauben Benutzern, sich direkt anzumelden und ihre eigenen Passwörter festzulegen. Wir möchten das Datenbank-Upgrade durchführen, ohne alle Passwörter zu ändern.
Ich habe versucht, die Benutzer mit pg_dumpall in eine neue Datenbank zu kopieren, aber das schlägt fehl, da ich keine Berechtigung zum Lesen von pg_authid habe. Es scheint, dass wir ein Superuser-Konto benötigen, um pg_authid lesen zu können, und GCP erlaubt keine Superuser-Konten.
Gibt es eine Möglichkeit, die Datenbanken zu aktualisieren und die vorhandenen Passwörter beizubehalten?
Antwort1
Als ich die Frage gestellt habe, gab es anscheinend noch keine Möglichkeit, dies zu tun, aber seitdem hat sich einiges getan.
Google Cloud SQL bietet jetzt direkte Hauptversionsupgrades an, bei denen die vorhandenen Benutzerkennwörter beibehalten werden.
https://cloud.google.com/sql/docs/postgres/upgrade-major-db-version-inplace