FreeBSD 13.4 RELEASE - postgreSQL - 外部からの接続設定
- 1. 概要
- 2. アクセス許可設定
1. 概要
「PostgreSQL」のデータベースは、デフォルトの設定ではホスト内のユーザのみにアクセスを許可しています。
2. アクセス許可設定
ホスト外のユーザに対してオープンするには、以下のファイルを編集します。
/var/db/postgres/data16/pg_hba.conf
/var/db/postgres/data16/postgresql.conf
「/var/db/postgres/data16/pg_hba.conf」は
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all trust
host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust
の個所を編集します。
編集の際は、「postgres」ユーザ権限で編集しないと後で権限の問題が発生しますので、
sudo -u postgres vim /var/db/postgres/data16/pg_hba.conf
で編集します。
データベースをどこの誰からでも参照可能にするには、1カラム目のコメント用「#」をはずすだけですが、これでは危険極まりないので、許可するアドレスを下記の要領で設定します。
| TYPE |
localは UNIX のドメインソケット使用の接続を示し host は TCP/IP を使用した接続を示します。 |
| DATABASE | データベース名を記述します all を指定すると全データベースを指定することになります
| | USER | ロール名を指定します
| | CIDR-ADDRESS |
標準のドット区切り10進表記でのIPアドレスとCIDRマスクの長さを指定します |
| METHOD | ユーザ認証を行う方法を指定します
| ident | ident(RFC1413)による認証を行う |
| trust | 認証処理を行わず、スルーでパスさせる |
| reject | 接続を拒否する |
| password [password_file] |
パスワードファイルによる認証を行う |
| crypt |
PostgreSQL のシステムテーブル pg_shadow による認証を行う |
| kbr4/kbr5 | Kerberos V4/V5 による認証を行う |
|
「pg_hba.conf」は、上から順に見ていき、条件にマッチした行が見つかると、それが適用されます。
「/var/db/postgres/data16/postgresql.conf」も、編集の際は、「postgres」ユーザ権限で編集しないと後で権限の問題が発生しますので、
sudo -u postgres vim /var/db/postgres/data16/postgresql.conf
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
#listen_addresses = 'localhost' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
#port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
の記述を変更することで、「ODBC」接続できるようになります。
サーバアドレスを「192.168.0.2」とすれば、「ODBC」接続を可能にするには
listen_addresses = 'localhost,192.168.0.2'
port = 5432
と、ポート番号「5432」を有効にし、「listen_addresses」に ','(カンマ)区切りで、サーバの「IP」アドレスなり、ドメイン名なりを加えます。
|
|