すべての着信接続を受け入れるようにPostgreSQLを構成する方法


106

ソースIPアドレスに関係なく、すべての着信接続を受け入れるように構成したいPostgreSQLデータベースがあります。pg_hba.confファイルでこれをどのように構成できますか?私はpostgreSQLバージョン8.4を使用しています。

回答:


215

だけを使用してください0.0.0.0/0

host    all             all             0.0.0.0/0            md5

listen_addressesin postgresql.conf(またはALTER SYSTEM SET)が、使用可能なすべてのIPインターフェースで着信接続を許可していることを確認してください。

listen_addresses = '*'

変更後、設定をリロードする必要があります。これを行う1つの方法は、これSELECTをスーパーユーザーとして実行することです。

SELECT pg_reload_conf();

これは本当にタイプで動作しmd5ますか?タイプを使用する必要があると思いましたtrust...
Dan LaRocque

5
「信頼」により、すべてのユーザーがパスワードなしで接続できます。それは私が使用しないものです。パスワードは常に使用する必要がある最低限のものです。自分のコンピュータでも。
フランクハイケンズ

1
ああ、私は質問を別の方法で読みました-彼は無条件にすべてのクライアントからの接続を受け入れることを意味すると思っていました(おそらく重要でないテストベッドの場合)。あなたが今何をしているのか分かります。
Dan LaRocque、2010

6
:ネットワークがIPv6の場合は、pg_hba.confファイルを変更::/0する0.0.0.0/0ときとは対照的にを使用する必要があります。
Aron Boyette、2015年

2
postgres強力なパスワードがあることを確認してください:sudo -u postgres psql\password
Adobe

47

0.0.0.0/0 すべてのIPv4アドレス

::0/0 すべてのIPv6アドレス

all 任意のIPアドレスに一致させる

samehost サーバー自身のIPアドレスのいずれかに一致する

samenet サーバーが直接接続されている任意のサブネット内の任意のアドレスに一致させるため。

例えば

host    all             all             0.0.0.0/0            md5


0

centosでpostgres 12を使用してすべてのファイルを構成します。

ステップ1:ファイルを検索して編集する

sudo vi /var/lib/pgsql/12/data/pg_hba.conf

「i」を押して、IPv4行の変更

host    all             all             0.0.0.0/0            md5

ステップ2:ファイルpostgresql.confを検索して編集する

sudo vi /var/lib/pgsql/12/data/postgresql.conf

最後の行を追加:listen_addresses = '*':wq!(ファイルを保存)-ステップ3:再起動

systemctl restart postgresql-12.service

-6

この行をpostgresフォルダのpg_hba.confに追加します

host    all    all    all    trust

「信頼」により、すべてのユーザーがパスワードなしで接続できます。


コードにコメントを追加できますか?どこに配置し、どのように機能しますか?
Alistra

4
このコードスニペットは歓迎されており、多少の助けになるかもしれませんが、これが問題を解決する方法理由の説明含めると、大幅に改善されます。あなたが今尋ねている人だけでなく、あなたが将来の読者のための質問に答えていることを忘れないでください!回答を編集して説明を追加し、適用される制限と前提を示してください。
Toby Speight 2017

すべての
IP
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.