2016-05-10 9 views
0

の外部からのPostgreSQLにアクセスすることはできませんサーバーは、サーバ

の外部からのPostgreSQLにアクセスすることはできません私はすでに私のサーバー上のPostgreSQLデータベースの2つのインスタンスを持っている、しかし、彼らは私がいないように構成されました。どちらのデータベースも、Windows Server上でサービスとしてランチされます。 PostgreSQLサービスの値が「ネットワークサービス」である「ログオン」列があります。

私はPostgreSQLの別のインスタンスを作成し、それをpg_ctl.exe経由でサービスに追加しました。すべてが他のサービスとまったく同じです。 1つの違いは、 'Log On As'の値が '。\ postgres'に設定されていることです。 「ネットワークサービス」に変更すると、サービス起動時に次のメッセージが表示されます。

ローカルコンピュータの「servicename」サービスが開始されて停止しました。一部のサービスは、他のサービスやプログラムで使用されていない場合は自動的に停止します。

'。\ postgres'または 'ローカルシステム'に設定されている場合、データベースはランチングされ、pgAdmin(ローカルサーバー上にある場合)を使用してアクセスできます。しかし、私はこのデータベースにサーバーの外部からアクセスすることはできません。

postgresql.confではlisten_addressesとportのみを設定しました。

ルータに問題がある可能性がありますが、この「Log On As」が問題の根源ではないことを知りたいと思います。

+0

'Log On As'は原因ではありません。新しいインスタンスに使用されたポートが他のものによって使用されていないことを確かめていますか?また、Windowsファイアウォールで新しいポートを開く必要があるかもしれません。 –

+0

はい、ポートは何も使用されていません。Windowsファイアウォールでポートを開けました。 – Serbin

+0

同じコンピュータ上でpgAdminまたはpsql経由で新しいPostgreSQLサーバに接続しようとしましたが、localhostまたは127.0.0.1ではなく外部IPアドレスを指定しましたか? –

答えて

0

私の問題私は権限の不足によって引き起こされた「としてログオン」と「ネットワークサービス」でPostgreSQLサービスを開始することはできませんこのユーザーのデータフォルダに移動します。私はちょうどフルコントロールのパーミッションとセキュリティタブで 'ネットワークサービス'を追加し、これはこの小さな問題を解決しました。

しかし、サーバーの外部からデータベースにアクセスできないときの問題は、ネットワーク設定に起因していました。私はルータを設定して、今はすべて正常に動作します。

1

外部IPからのアクセスはpg_hba.confの中で明示的に許可されなければならない - http://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html

+0

はい、このファイルに "host DBname all 0.0.0.0/0 md5"という行を追加しました。他のインスタンスは同じ行を持ち、正常に動作しています。 – Serbin

+0

@Serbin - リロードしましたか? –

+0

はい、もちろんです。私はサービスとサーバーも再ロードしました。 – Serbin