升级 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

相关内容