Обновите PostgreSQL, размещенный на GCP, сохранив существующие пароли пользователей

Обновите PostgreSQL, размещенный на GCP, сохранив существующие пароли пользователей

Мне было поручено обновить наши базы данных PostgreSQL, размещенные на GCP, с версии 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

Связанный контент