Por que o PostgreSQL aceita conexões durante a recuperação?
Eu queria usar ps_isready
para determinar se meu banco de dados foi recuperado de um backup e está pronto para aceitar conexões. Mas diz que o banco de dados está pronto muito antes de a recuperação ser realmente concluída.
Agora verifico se o recovery.signal
arquivo existe, mas me pergunto se existe uma maneira "melhor" de determinar se a recuperação foi concluída.
relate perguntas
-
Posso ativar o PITR depois que o banco de dados foi usado
-
Práticas recomendadas para executar a replicação atrasada do deslocamento de tempo
-
Os procedimentos armazenados impedem a injeção de SQL?
-
Sequências Biológicas do UniProt no PostgreSQL
-
Qual é a diferença entre a replicação do PostgreSQL 9.0 e o Slony-I?
Duas opções vêm à minha mente:
conecte-se e verifique se o PostgreSQL não está mais em modo de recuperação:
se a conexão falhar, o PostgreSQL não está ativo
se o resultado for
t
, o PostgreSQL está se recuperandose o resultado for
f
, o PostgreSQL termina com a recuperação.definido
hot_standby = off
postgresql.conf
Então o PostgreSQL não permitirá conexões no modo de recuperação.