
GCP でホストされている PostgreSQL データベースをバージョン 9.6 からバージョン 13 にアップグレードする任務を負っています。
私が見つけた指示(アップグレード) では、新しいデータベースを作成し、「ターゲットインスタンスに同じユーザーアカウント、同じ PostgreSQL 権限、パスワードがあることを確認する」必要があると書かれています。
当社には数十のユーザーとロールを持つ多数のデータベースがあり、ユーザーが直接接続して独自のパスワードを設定できるようにしています。すべてのパスワードを変更せずにデータベースのアップグレードを実行したいと考えています。
pg_dumpall を使用してユーザーを新しいデータベースにコピーすることを検討しましたが、pg_authid を読み取る権限がないため失敗します。pg_authid を読み取るにはスーパーユーザー アカウントが必要なようですが、GCP ではスーパーユーザー アカウントが許可されていません。
データベースをアップグレードして既存のパスワードを保持する方法はありますか?
答え1
私が質問した時点ではこれを行う方法がなかったようですが、その後状況は進歩しました。
Google Cloud SQL では、既存のユーザー パスワードを保持するインプレース メジャー バージョン アップグレードが提供されるようになりました。
https://cloud.google.com/sql/docs/postgres/upgrade-major-db-version-inplace