web-dev-qa-db-ja.com

他のサーバーからデータベースへのアクセスを許可するためのpg_hba.confファイルの構成

あるサーバーにpostgresデータベースがあり、別のサーバーからアクセスする必要があります。

Pg_hba.confファイルを編集する必要がありますが、このファイルを編集する手順は何なのかわかりました。サーバーCentos

ファイルに次の行を追加する必要があります

Host    all         all         10.0.2.12         255.255.255.255   trust

var/lib/pgsql/data/に配置しました

今、基本的に私はこれを行うための正しい手順が何であるかわかりません

15
Elitmiar

最初に、指定されたpg_hba.confのバックアップコピーを取ります

Sudo tar cvf /var/tmp/mybackup_pg_hba_conf.tar /var/lib/pgsql/data/pg_hba.conf

そうすれば、失敗しても古いバージョンを準備できます。 tarアーカイブの優れた機能は、権限とディレクトリを保持することです。したがって、pg_hba.confが認識できないほど壊れている場合。あなたはできる:

cd /
Sudo tar xvf /var/tmp/mybackup_pg_hba_conf.tar

これにより、以前に作成したアーカイブからバックアップpg_hba.confが復元されます。

行の実際の挿入については:

Sudo su -c 'echo "Host    all         all         10.0.2.12         255.255.255.255   trust" >> /var/lib/pgsql/data/pg_hba.conf'

(注:コマンドが編集されました。bortzmeyerに感謝します!)

それを行う必要があります。これはpg_hba.confに行を追加するだけであることに注意してください。これを変更する必要がある場合は、実際のエディターを使用する必要があります。 viのように。学習曲線は少し険しいかもしれませんが、少なくとも基本を学んだ後は、遭遇するほとんどすべてのUNIX環境で非常に安全であるはずです。

これで軌道に戻りました。次に、postgresqlデータベースを再起動してみてください。 Centosマシンでは、これは次のようにして行われると思います。

Sudo service postgresql restart

または、再起動せずに設定をリロードすることもできます:

su - postgres
pg_ctl reload

これで、10.0.2.12からCentos-machines postrgresqlデータベースにアクセスできるはずです。

14
pyhimys

Postgresql.confを編集し、行を変更/追加することを忘れないでください

listen_addresses = '*'

Postgresqlはデフォルトでlocalhostで待機します

13
user16233