web-dev-qa-db-ja.com

設定変更後のPostgreSQLのリロード

Pg_hba.confにいくつかの変更を加えたので、それらを有効にしてほしい。私はPostgreSQLにリロードするように指示できると言っている場所をいくつか見つけましたが、いくつかの異なるテクニックがリストされており、それらのどれもまだ私にはうまくいきません。

私が見つけた最も信頼できる参照はpg_ctlコマンドに関するものですが、PGDATAフォルダーがどこにあるのかわかりません。探し続けます。

Ubuntu 8.10でPostgreSQL 8.3を実行しています。

16
Don Kirkby

Pgに接続し、コマンドを発行することで、PGDATAの場所を確認できます。

show data_directory;

Ubuntuでは、通常/var/lib/postgresql/8.3/main/

また、次のことができます:/etc/init.d/postgresql-8.3 reload

15
user13185

質問をした最初の人は彼がUbuntu 8.10を実行していることを暗示していましたが、Ubuntuの新しいバージョンを使用すると、ここでもつまずくかもしれません。そして、これは実際には8.10でも機能するかもしれません。わからない、私はそれを試す8.10のインストールを持っていない。

さて、要点をカットしましょう。したがって、サービスを制御するクールな「新しい」方法は、serviceコマンドを使用することです。したがって、次のコマンドを使用して構成を再ロードできます。

service postgresql-8.3 reload

当然、適切な権限を持っている必要があるので、次のようにSudosu -c rootのようなものをコマンドの前に付ける必要があります:

Sudo service postgresql-8.3 reload
または
su -c root 'service postgresql-8.3 reload'

追伸 buntuドキュメントで この新しい方法に関連する何かが6.10のリリースでそこまで遡って行われたことが示唆されていますが、私が正しく理解していれば、より一般的な用途には使用されていません9.10まで。

17
Timo

オプション1:コマンドラインシェルから

su - postgres
/usr/bin/pg_ctl reload

オプション2:SQLの使用

SELECT pg_reload_conf();

どちらのオプションを使用しても、アクティブなクエリやデータベースへの接続が中断されることはないため、これらの変更が適用されているように見えます。

5

これはトリックを行います:

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

サーバーを再起動せず、postgreSQLにシグナルを送信するだけの場合は、次のコマンドを入力します。
pg_ctl reload

2
omu

私はようやく この記事 から私に役立つテクニックを見つけました。コマンドは次のとおりです。

Sudo invoke-rc.d postgresql-8.3 reload

推奨される手法が何であるかについては、フィードバックをいただければ幸いです。

1
Don Kirkby

以下はあなたのためにそれをするべきです:

Sudo /etc/init.d/postgresql-8.3 reload
1
Avery Payne

Systemdを使用する最新のLinux distoでは、postgresを再起動するためにsystemctlを使用する必要がありました。 CentOS7で機能したものは次のとおりです。

まず、現在のPostgresサービスの正確な名前を見つけます。

systemctl | grep postgres

結果は次のとおりです。

postgresql-10.service                                                                                 
loaded active     running      PostgreSQL 10 database server

次に、その名前を使用してPostgresを再起動します。

Sudo systemctl restart postgresql-10.service
0

1行で:

su -c "pg_ctl reload" - postgres
0
mivk