Pg_hba.confにいくつかの変更を加えたので、それらを有効にしてほしい。私はPostgreSQLにリロードするように指示できると言っている場所をいくつか見つけましたが、いくつかの異なるテクニックがリストされており、それらのどれもまだ私にはうまくいきません。
私が見つけた最も信頼できる参照はpg_ctlコマンドに関するものですが、PGDATAフォルダーがどこにあるのかわかりません。探し続けます。
Ubuntu 8.10でPostgreSQL 8.3を実行しています。
Pgに接続し、コマンドを発行することで、PGDATAの場所を確認できます。
show data_directory;
Ubuntuでは、通常/var/lib/postgresql/8.3/main/
。
また、次のことができます:/etc/init.d/postgresql-8.3 reload
質問をした最初の人は彼がUbuntu 8.10を実行していることを暗示していましたが、Ubuntuの新しいバージョンを使用すると、ここでもつまずくかもしれません。そして、これは実際には8.10でも機能するかもしれません。わからない、私はそれを試す8.10のインストールを持っていない。
さて、要点をカットしましょう。したがって、サービスを制御するクールな「新しい」方法は、service
コマンドを使用することです。したがって、次のコマンドを使用して構成を再ロードできます。
service postgresql-8.3 reload
当然、適切な権限を持っている必要があるので、次のようにSudo
やsu -c root
のようなものをコマンドの前に付ける必要があります:
Sudo service postgresql-8.3 reload
またはsu -c root 'service postgresql-8.3 reload'
追伸 buntuドキュメントで この新しい方法に関連する何かが6.10のリリースでそこまで遡って行われたことが示唆されていますが、私が正しく理解していれば、より一般的な用途には使用されていません9.10まで。
オプション1:コマンドラインシェルから
su - postgres
/usr/bin/pg_ctl reload
オプション2:SQLの使用
SELECT pg_reload_conf();
どちらのオプションを使用しても、アクティブなクエリやデータベースへの接続が中断されることはないため、これらの変更が適用されているように見えます。
これはトリックを行います:
kill -HUP $(head -1 $PGDATA/postmaster.pid)
サーバーを再起動せず、postgreSQLにシグナルを送信するだけの場合は、次のコマンドを入力します。pg_ctl reload
私はようやく この記事 から私に役立つテクニックを見つけました。コマンドは次のとおりです。
Sudo invoke-rc.d postgresql-8.3 reload
推奨される手法が何であるかについては、フィードバックをいただければ幸いです。
以下はあなたのためにそれをするべきです:
Sudo /etc/init.d/postgresql-8.3 reload
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
1行で:
su -c "pg_ctl reload" - postgres