Question Recharger PostgreSQL après les changements de configuration


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 recharger, mais plusieurs techniques sont répertoriées, et aucune d'entre elles ne fonctionne encore pour moi.

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 vais continuer à chercher.

J'utilise PostgreSQL 8.3 sur Ubuntu 8.10.


12
2017-09-02 00:22


origine




Réponses:


Vous pouvez vérifier où se trouve votre PGDATA en vous connectant à pg et en émettant la commande suivante:

show data_directory;

Sur Ubuntu, c'est généralement /var/lib/postgresql/8.3/main/.

En outre, vous pouvez: /etc/init.d/postgresql-8.3 reload


11
2017-09-02 07:38





Bien que la personne d'origine posant la question ait laissé entendre qu'il utilisait beaucoup de personnes sous Ubuntu 8.10, l'utilisation de versions ultérieures d'Ubuntu risquerait également de faire trébucher. Et cela pourrait en fait fonctionner avec 8.10 aussi. Je ne sais pas, je n'ai aucune installation 8.10 pour l'essayer ..

Ok, permet de couper au point. La "nouvelle" méthode de contrôle des services consiste donc à utiliser le service commander. Vous pouvez donc recharger les configurations avec la commande suivante:

service postgresql-8.3 reload

naturellement, vous devez disposer des droits appropriés; il est donc très probablement nécessaire de compléter la commande avec quelque chose comme: sudo ou su -c root comme ça:

sudo service postgresql-8.3 reload
ou
su -c root 'service postgresql-8.3 reload'

P.S. Il est suggéré dans la documentation Ubuntu que quelque chose concernant cette nouvelle méthode avait été fait il y a bien longtemps avec la sortie de la version 6.10, cependant, si j'ai bien compris, il n'a pas été utilisé de manière plus générale avant le 9.10.


12
2017-09-26 10:16



J'ai effectué une mise à niveau au cours des deux dernières années, je vais donc essayer. Merci de me garder au frais. - Don Kirkby
Il est généralement préférable d'utiliser su - au lieu de juste su - x-yuri


Option 1: à partir du shell de ligne de commande

su - postgres
/usr/bin/pg_ctl reload

Option 2: Utiliser SQL

SELECT pg_reload_conf();

L'utilisation de l'une ou l'autre des options n'interrompra pas les requêtes actives ou les connexions à la base de données, appliquant ainsi ces modifications sans le moindre effort.


5
2017-07-11 12:37





Ça fera l'affaire:

kill -HUP $(head -1 $PGDATA/postmaster.pid)

2
2018-05-01 09:36





Si vous ne voulez pas redémarrer le serveur et juste envoyer un signal à postgreSQL, tapez juste la commande:
pg_ctl reload


2
2018-04-23 12:17





J'ai enfin trouvé une technique qui me convient depuis Cet article. La commande est:

sudo invoke-rc.d postgresql-8.3 reload

J'apprécierais tout de même les commentaires sur la technique recommandée.


1
2017-09-02 00:25



Si vous utilisez un package PostgreSQL, l’utilisation du script de package, comme dans cet exemple pour Ubuntu, serait la technique recommandée. Si vous avez construit à partir des sources, utilisez pg_ctl. - Magnus Hagander


Ce qui suit devrait le faire pour vous:

sudo /etc/init.d/postgresql-8.3 reload

1
2017-09-02 00:36