あるサーバーにpostgresデータベースがあり、別のサーバーからアクセスする必要があります。
Pg_hba.confファイルを編集する必要がありますが、このファイルを編集する手順は何なのかわかりました。サーバーCentos
ファイルに次の行を追加する必要があります
Host all all 10.0.2.12 255.255.255.255 trust
var/lib/pgsql/data/
に配置しました
今、基本的に私はこれを行うための正しい手順が何であるかわかりません
最初に、指定された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データベースにアクセスできるはずです。
Postgresql.confを編集し、行を変更/追加することを忘れないでください
listen_addresses = '*'
Postgresqlはデフォルトでlocalhostで待機します