Eu li algo sobre pg_ctl reload
(não tenho certeza se isso está na distro do Windows da pg) ... também existe uma maneira de verificar se a configuração não vai quebrá-la completamente, como apachectl configtest
?
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?
Eu não acho que exista algo assim para o PostgreSQL.
pg_ctl reload
verifica a sintaxe do arquivo de configuração, mas só funciona com um servidor em execução. Se houver um erro de sintaxe, ele o relatará, mas o informará ao arquivo de log do servidor em execução, não à linha de comando.E se não houver erro de sintaxe, ele aplica essas alterações que podem ser aplicadas ao servidor em execução, o que não parece o que você deseja.
Algumas configurações não podem ser alteradas com um recarregamento, mas apenas com uma reinicialização completa. As alterações nessas configurações serão anotadas no arquivo de log e, em seguida, ignoradas. Outras coisas são chamadas de erros, mas não erros de sintaxe. Essas coisas também serão relatadas ao arquivo de log e ignoradas. Mas essas condições não impedirão que outras alterações sejam aplicadas ao servidor em execução.
Se você alterar "shared_buffer=1TB", essa é uma sintaxe e semântica válidas, portanto, você não receberá um aviso nessa frente se tentar recarregá-lo. Mas também não aplicaria a alteração, pois shared_buffers não pode ser alterado sem uma reinicialização completa. Então, se você tentasse reiniciar, seu servidor pararia e não iniciaria novamente, porque seu servidor (provavelmente) não tem 1 TB de memória disponível para ele.
Seu comentário pergunta especificamente sobre como adicionar usuários. Esse é um tema um pouco diferente do que eu tinha em mente. No PostgreSQL, você pode adicionar usuários apenas via SQL, desde que correspondam a um padrão já existente no pg_hba.conf. Se você precisar alterar o pg_hba.conf (para adicionar hosts ou vincular hosts específicos a usuários específicos), isso exigirá um recarregamento, que também pode ser feito em SQL via
SELECT pg_reload_conf();
. O arquivo pg_hba.conf é um pouco mais simples que o arquivo postgresql.conf. Mas ainda não há "lint" como ferramenta para isso, que eu saiba. Ele nunca precisa de uma reinicialização para entrar em vigor (a menos que você o altere para invocar novos módulos como ssl que ainda não estão configurados e precisam de uma reinicialização para configurar). Ele só precisa de uma recarga. Se você introduzir erros de sintaxe no pg_hba.conf, o recarregamento deixará as coisas em paz e reclamará no arquivo de log. Se você não estivesse prestando atenção a essas reclamações e reinicie, seu servidor pararia e se recusaria a iniciar novamente devido aos erros de sintaxe em pg_hba.conf. Portanto, boas regras práticas são nunca emitir uma reinicialização quando um recarregamento seria suficiente e procurar no arquivo de log após um recarregamento. Além disso, tente usar curingas na medida do possível no arquivo pg_hba.