
Recebi a tarefa de atualizar nossos bancos de dados PostgreSQL hospedados no GCP da versão 9.6 para a versão 13.
As instruções que encontrei (https://cloud.google.com/sql/docs/postgres/upgrade-db) dizem que precisamos criar um novo banco de dados e depois "Certifique-se de que a instância de destino tenha... As mesmas contas de usuário, com os mesmos privilégios e senhas do PostgreSQL"
Temos vários bancos de dados com dezenas de usuários e funções, permitimos que os usuários se conectem diretamente e definam suas próprias senhas. Gostaríamos de realizar a atualização do banco de dados sem alterar todas as senhas.
Eu tentei usar o pg_dumpall para copiar os usuários para um novo banco de dados, mas ele falhou porque não tenho permissão para ler o pg_authid. Parece que precisamos de uma conta de superusuário para poder ler o pg_authid, e o GCP não permite contas de superusuário.
Existe alguma maneira de atualizar os bancos de dados e manter as senhas existentes?
Responder1
Parece que não havia como fazer isso no momento em que fiz a pergunta, mas as coisas mudaram desde então.
O Google Cloud SQL agora oferece atualizações de versão principais no local, que manterão as senhas de usuário existentes.
https://cloud.google.com/sql/docs/postgres/upgrade-major-db-version-inplace