Rechargement de PostgreSQL après des changements de configuration
16
J'ai apporté quelques modifications à pg_hba.conf et je veux qu'elles prennent effet. J'ai trouvé plusieurs endroits où les gens disent que je peux dire à PostgreSQL de se recharger, mais il existe plusieurs techniques différentes répertoriées, et aucune ne fonctionne pour moi pour le moment.
La référence la plus fiable que j'ai trouvée concerne la commande pg_ctl, mais je ne sais pas où se trouve mon dossier PGDATA. Je continuerai de chercher.
Bien que la personne d'origine posant la question ait laissé entendre qu'il utilise Ubuntu 8.10, beaucoup de personnes, en utilisant des versions ultérieures d'Ubuntu, pourraient également trébucher ici. Et cela pourrait aussi fonctionner avec 8.10. Je ne sais pas, je n'ai aucune installation 8.10 pour l'essayer ..
Ok, allons droit au but. La "nouvelle" façon de contrôler les services est donc d'utiliser la servicecommande. Vous pouvez donc recharger les configurations avec la commande suivante:
service postgresql-8.3 reload
Naturellement, vous devez avoir les droits appropriés, il est donc très probablement nécessaire d'ajouter la commande à quelque chose comme sudoou su -c rootcomme ceci:
sudo service postgresql-8.3 reload
ou su -c root 'service postgresql-8.3 reload'
PS Il est suggéré dans la documentation Ubuntu que quelque chose concernant cette nouvelle méthode avait été fait il y a longtemps avec la sortie de 6.10, mais si je l'ai bien compris, il n'a pas été utilisé de manière plus générale avant 9.10.
J'ai effectué une mise à niveau au cours des deux dernières années, je vais donc essayer cela. Merci de me garder au frais.
Don Kirkby
Il est généralement préférable d'utiliser su -à la place de justesu
x-yuri
5
Option 1: à partir du shell de ligne de commande
su - postgres
/usr/bin/pg_ctl reload
Option 2: utilisation de SQL
SELECT pg_reload_conf();
L'utilisation de l'une ou l'autre de ces options n'interrompt aucune requête ou connexion active à la base de données, appliquant ainsi ces changements de manière apparente.
Si vous utilisez PostgreSQL empaqueté, l'utilisation du script de package - comme cet exemple pour Ubuntu - serait la technique recommandée. Si vous avez construit à partir des sources, utilisez pg_ctl.
su -
à la place de justesu
Option 1: à partir du shell de ligne de commande
Option 2: utilisation de SQL
L'utilisation de l'une ou l'autre de ces options n'interrompt aucune requête ou connexion active à la base de données, appliquant ainsi ces changements de manière apparente.
la source
Ça fera l'affaire:
la source
Si vous ne voulez pas redémarrer le serveur et envoyer simplement un signal à postgreSQL, tapez simplement la commande:
pg_ctl reload
la source
J'ai finalement trouvé une technique qui fonctionne pour moi à partir de cet article . La commande est:
J'apprécierais toujours vos commentaires sur la technique recommandée.
la source
Ce qui suit devrait le faire pour vous:
la source
En une seule ligne:
la source
la source