2013-09-02 2 views
22

私はPostgreSQL 9.2をWindows 7にインストールしていますが、仮想マシンにWindows XPをインストールしていますが、これらの2つのデータベースを接続して両方のシステムからデータベースを追加/PostgreSQLデータベースへのリモートアクセスを許可する方法

+0

ありがとうございますが、私はMicrosoft Virtual PCを使用していますが、追加するIPアドレスはどのように知っていますか? – Ali4356

答えて

48

リモートからPostgreSQLデータベースにアクセスするためには、次の2つの主要なPostgreSQLの設定ファイルを設定する必要があります。ここでは

pg_hba.confの

postgresql.confの
をあなたがそれらを設定する方法について簡単に説明します

まず、Windows 7のすべてのネットワークインターフェイスでポート5432で待機するようにPostgreSQLサービスを設定します機械E:
は はファイルpostgresql.confを開きます(通常はCにあります:\プログラムファイル\のPostgreSQL \ 9.2 \データ)とパラメータ

listen_addresses = '*' 

はWindowsXPの仮想マシンのネットワークアドレスを確認し、pg_hbaにパラメータを設定し、設定しますpostgresqlが仮想マシンホストからの接続を受け入れることができるように、.confファイル(postgresql.confの同じディレクトリにあります)を使用します。例えば
、Windows XPとマシンが192.168.56.2のIPアドレスを持っている場合、pg_hba.confファイルに追加します。

host all all 192.168.56.1/24 md5 

このように、PostgreSQLはネットワーク192.168.1.XXX上のすべてのホストからの接続を受け付けます。

Windows 7でPostgreSQLサービスを再起動します(サービス - > PosgreSQL 9.2:サービスを右クリックして再起動します)。 Windows XPマシンにpgAdminをインストールし、PostgreSQLに接続しようとします。

+0

残念ながら、残念ながらそれはうまくいきませんでした。私が行った変更はすべてWindows 7側にあり、PostgreSQLサービスを再起動すると、pg_hba.confから仮想マシンのIPアドレスを削除するまで再開しませんでした。私は仮想マシンのファイルに何かを追加しますか? – Ali4356

+1

Windows 7のファイアウォールをチェックしましたか? WindowsXPからWindows7にpingできますか? 'netstat -a -n'コマンドを使ってpostgresqlがアドレスをリッスンしているかどうかを調べることもできます。 – AndreaBoc

+0

Nvmさん、IPアドレス問題だったので、今は魅力的です:) – Ali4356

2

これをpg_hba.confに追加し、PostgreSQLを再起動する必要があります。

ホストすべてすべて192.168.56.1/24 MD5

これはVirtualBoxに動作し、ホストオンリーアダプタが有効になっています。 Virtualboxを使用しない場合は、IPアドレスを置き換える必要があります。

+0

ありがとうございますが、私はMicrosoft Virtual PCを使用していますが、追加するIPアドレスはどのように知っていますか? – Ali4356

5

のPostgreSQL 9.5.1を使用している場合、下記の設定に従ってください。その後、設定 pg_hba.conf を追加し、あなたのパスを選択し、それを開く

  1. pgAdminで でオープンhg_hba.conf pgAdmin
  2. postgresqlサービスを再起動
+0

あなたのネットワークIPアドレスは0.0.0.0/0ですか?またはそれはちょうどすべてのIPアドレスを受け入れるのですか? – ziggy

+1

@ziggy:すべてのIPアドレス。 X.X.X.Xが0.0.0.0/0を使用できるようにする。 192.X.X.Xが192.0.0.0/8を使用できるようにする。 192.168.X.Xが192.168.0.0/8を使用できるようにする。 192.168.1.Xが192.0.0.0/16を使用できるようにする。 192.168.1.Xが192.168.1.0/24を使用できるようにする。 192.168.1.2のみ192.168.1.2/32を使用できるようにする – JCasso

1

上記の設定に加えて、 pg_hba.confとpostgresql.confファイルを編集し、PostGreSQLサービスを再起動すると、一部のWindows 7コンピュータでは、ポートを有効にする必要があります(例: 5432)を受信することができます。

これがコンピュータに必要な場合は、Windowsファイアウォールを開き、ポート(たとえば5432)の受信ルールを追加してください。 これで、クライアントコンピュータのpgAdminから再度接続してみます。 postgresql.confの

編集hba_file.confファイル でセットlisten_addresses = '*'

1

と、ファイルの最後に次のエントリを追加します。については

host all    all    0.0.0.0/0      md5 
host all    all    ::/0       md5 

設定を見つけますファイルthis linkが役に立ちます。

関連する問題