PostgreSQLにFireDACでリモート接続するには?

解決


桜坂  2016-03-08 06:26:30  No: 48059

WIN7(192.168.x.xxx)で次を仮運用しています。
PostgreSQL(X86),DelphiXE7エンタープライス FireDACで接続しています。
FireDACのパラメータはつぎの通りです・
DriverID PG 
pooled False 
Database akb48
user_name postgres 
password xxxxxxxx 
monitorby  空欄 
server localhost
port 5432
logintimeout 30
CharacterSet UTF8
ExtendedMetadata false
OidAsBlob Yes
UnknownFormat BYTEA
ApplicationName ALLBooks
PGAdvanced 空欄
MetaDefSchema  myysche,public
MetaurSchema   myysche,public
これで接続されDBGRIDが表示されます。
ところが、別PCでも表示するため試しにServerのlocalhostを
上記の192.168.xx.xxxに直すと、エラーで表示されません。
localhostと192.168.xx.xxxは同じpcです。
他のpcからは見られないのでしょうか。
もっとも、上記の例は同じpcでもアドレス表記はダメでlocalhostは良いという結果で混乱しています。
どこが悪いのでしょうか。教えてください。


igy  2016-03-08 06:35:45  No: 48060

Googleとかで、
postgresql リモート接続 設定
などで検索してみるのは、いかがですか?


桜坂  2016-03-10 00:44:59  No: 48061

igy様、いつもご指導ありがとうございます。
頭の中で、ループ状態のため環境を整理しました。
別pc(win7pro32ビット)に新たにPostgreSQLをインストールしました。
完全に別pcからFireDACでアクセスするよう環境を整えて検証しています。
しかし現状、いろいろなサイトを参考にし設定しましたがダメでした。
1つ1つ検証していきましたらポートが開いていないことに気づきました。
ファイヤーウォール設定がダメなようです。
Delphiの趣旨から外れるので、このまま続けていいものか迷っているところです。
もうすこし時間を下さい。
メッセージは「ポートが既に使われている・・・」というようなメッセージが出ております。
netstatなどを使い、見ましたが、それらしい動作のサービスは見当たりません。
PostgreSQL自体のポートを変えてもダメでした。


桜坂  2016-03-10 00:47:32  No: 48062

追記です。
ファイヤーウォールは設定したつもりです。
でも、ダメなのかもしれません。
もう少し検証します。


igy  2016-03-10 08:01:04  No: 48063

こちらでも、試したところ、

同じPCで動作しているPostgreSQLに対し、
localhost から 192.168.x.xに変更して、接続しようとすると、

[FireDAC][Phys][PG][libpq]no pg_hba.conf entry for host
"192.168.x.x", user "xxxxxxx", database "hoge", SSL off.

とエラーが表示するので、

他ホストから接続するための設定
http://rina.jpn.ph/~rance/linux/postgresql/connect.html
にある、
>3.接続できるクライアントを設定する
のとおり、pg_hba.conf を書き換え、

Windows 7 パーソナルファイアウォールに個別ポート許可設定 
http://www.akakagemaru.info/port/windows7fwport.html

を参考に、ポート5432を開けたところ、
特に問題なく、接続できました。


igy  2016-03-10 08:18:53  No: 48064

>Windows 7 パーソナルファイアウォールに個別ポート許可設定 
>http://www.akakagemaru.info/port/windows7fwport.html
>
>を参考に、ポート5432を開けたところ、

ただ、同じPCからだと、ポート開けなくても、192.168.x.xで
接続できるみたいです。


igy  2016-03-10 08:29:15  No: 48065

なお、別のPC(Windows 10)から、接続テストしたところ、
問題なく接続できました。

PosgreSQL 9.4.5(32bit版)
Windows 7 Pro 64bit


au  2016-03-10 17:50:27  No: 48066

同じPCでもlocalhostではなくIP指定だと接続出来ないって事はpostgresql.confのlisten_addresses がデフォルトのままって事なんではないでしょうか
ttps://www.postgresql.jp/document/9.5/html/runtime-config-connection.html


桜坂  2016-03-10 21:57:29  No: 48067

igyさん、auさん、ありがとうございます。
早速試してみます。
本日、職場を離れていますので明日チャレンジしてみます。
ありがとうございます。


桜坂  2016-03-13 14:12:21  No: 48068

igy様、au様、いつもご指導ありがとうございます。
ちょっとの間だけ試しましたがダメでした。
リッスンかポート設定が上手くいきません。
別pcに問題があるのかもしれません。
別な急用の為離れますので、検証にもう少し時間をください。


桜坂  2016-03-17 23:57:08  No: 48069

igy様、au様、いつもご指導ありがとうございます。
別pcと書きましたが、別ネットワークに属するpcを使いまわしていました。
別ネットワークのセキュリティの問題ではじかれている可能性が判明しました。
申し訳ありませんが、私側の事情によりスレッドを閉じさせていただきます。
またご指導願いたいと思います。
すみませんでした。重ねてお詫び申し上げます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加