升級 GCP 託管的 PostgreSQL,同時保留現有使用者密碼

升級 GCP 託管的 PostgreSQL,同時保留現有使用者密碼

我的任務是將 GCP 託管的 PostgreSQL 資料庫從版本 9.6 升級到版本 13。

我找到的說明(https://cloud.google.com/sql/docs/postgres/upgrade-db)說我們需要建立一個新資料庫,然後“確保目標實例具有...相同的使用者帳戶,具有相同的 PostgreSQL 權限和密碼”

我們有許多資料庫,有幾十個使用者和角色,我們允許使用者直接連接並設定自己的密碼。我們希望在不更改所有密碼的情況下執行資料庫升級。

我考慮過使用 pg_dumpall 將使用者複製到新資料庫,但它失敗了,因為我沒有讀取 pg_authid 的權限。看來我們需要一個超級使用者帳號才能讀取pg_authid,而GCP不允許超級使用者帳號。

有沒有辦法升級資料庫並保留現有密碼?

答案1

在我提出問題時似乎沒有辦法做到這一點,但從那時起事情就發生了變化。

Google Cloud SQL 現在提供就地主要版本升級,這將保留現有的使用者密碼。

https://cloud.google.com/sql/docs/postgres/upgrade-major-db-version-inplace

相關內容