web-dev-qa-db-fra.com

Comment vérifier la syntaxe de pg_hba.conf et d'autres fichiers de conf postgresql sur ubuntu / debian / linux?

Plusieurs fois, le service postgresql ne peut pas redémarrer après quelques modifications de configuration.

Existe-t-il un outil en ligne de commande permettant de vérifier la syntaxe de pg_hba.conf et autres pg *.conf fichiers avant de recharger/redémarrer le service, ou mieux encore, après tout changement de configuration?

6
Rémi B.

Tu peux courir:

postgres=# SELECT pg_reload_conf();
 pg_reload_conf
----------------
 t
(1 row)

postgres=# 

.. depuis psql. ou kill -HUP le processus postmaster.

Toutes les erreurs de validation de configuration seront ensuite placées dans le fichier journal de Postgres et ne rechargeront pas la configuration. Exemple de journal:

2016-10-05 10:31:57 BST LOG:  received SIGHUP, reloading configuration files
2016-10-05 10:31:57 BST LOG:  invalid connection type "awdawdawdawd"
2016-10-05 10:31:57 BST CONTEXT:  line 1 of configuration file "/etc/postgresql/9.3/main/pg_hba.conf"
2016-10-05 10:31:57 BST WARNING:  pg_hba.conf not reloaded

Je ne connais pas d'outil qui vérifie simplement la validité de la configuration, mais il y avait un fil sur la liste de diffusion pgsql-hackers ici qui a discuté d'une proposition de validateur.

9
Philᵀᴹ