Uncategorized

【PostgreSQL】外部からデータベースへ接続するためのアクセス制御設定(Linux編)

本記事は、PostgreSQLのDatabaseをWindowsクライアントPCから接続するための設定と必要な環境について記載しています。
※Postgresql自体のインストールは別記事をご覧ください。

postgres.confの変更

外部からのDB接続を受け付けるために、リッスンIPアドレスを設定します。
vi等のテキストエディタで、以下のファイルを開きます。

sudo vi /etc/postgresql/<PostgreSQLバージョン>/main/postgresql.conf

※<PostgreSQLバージョン>にはインストールされているpostgresqlのメジャーバージョンの数字が入ります。
確認する場合は、以下のコマンドでひとつ上のフォルダにアクセスしてからlsコマンドで確認してください。

cd /etc/postgresql/
ls
<バージョンの番号フォルダ>
出力結果イメージ
postgresql.confを開いて下にスクロールすると以下のような画面が出てきます。
iキーを押してinsertモードに切り替え、「#listen_addresses = ‘localhost’」の上に以下を記載します。

全PCからのアクセスを許可する場合

listen_addresses = ‘*’

特定のPCからのみアクセスする場合

listen_addresses = ‘localhost,(接続したいPCのIPv4アドレス)’
複数のPCを指定したい場合はカンマ「,」で接続して記載します。
サブネットを使用しての範囲指定(例:192.168.15.0/24)は使用できませんので、1台ずつ設定してください。

pg_hba.confの設定

pg_hba.conf ファイルを編集します。
sudo vi /etc/postgresql/<PostgreSQLバージョン>/main/pg_hba.conf

全ての外部IPアドレスを許可する場合、以下の行を「# IPv4 local connections:」の中に追加します。
既存の127.0.0.1の部分を書き換えても、その下に追加してもどちらでも問題ありません。

# TYPE DATABASE USER ADDRESS METHOD
host all all 0.0.0.0/0 md5
追加例:

 

TOP