• 締切済み

netstat実行時のlocalhost.localdom:postgresの意味

postgresをlocalhost以外から接続したいと思い、pg_hba.confに host all all XXX.XXX.XXX.XXX/32 trust と設定したのですが接続できず困っています。 netstat -l -A inetを実行すると tcp 0 0 localhost.localdom:postgres *:* LISTEN と表示されますが、Local Addressに「localhost.localdom:postgres 」と表示されるのは、localhostのみpostgresの接続が許可されているという意味でしょうか?

みんなの回答

noname#30334
noname#30334
回答No.2

すみません。 バージョン8以降は、 tcpip_socket → listen_addresses に置き換わってました。 listen_addresses = 'localhost'(デフォルト)を'*'に変えれば良いです。 '192.168.0.0/24'等でも良いようです。 「tcpip_socket」は、消して下さい。 失礼しました。

hahihuke
質問者

お礼

ありがとうございます。 上記のとおり設定をおったら接続できました!!

noname#30334
noname#30334
回答No.1

postgresql.confの下記の設定をご確認下さい。 tcpip_socket = true port = 5432 外部からの接続を許可した場合、netstatの結果は、下記のようになるはずです。 tcp 0 0 *:postgresql *:* LISTEN >「localhost.localdom:postgres 」と表示されるのは、localhostのみpostgresの接続が許可されているという意味でしょうか? そういう事だと思います。

hahihuke
質問者

補足

ありがとうございます。やはり、localhostのみが接続許可されている状態ですね・・・ postgresql.confを確認しましたが、  tcpip_socketは見つかりませんでした。  postgresは、8.1.4を使用していますが、そのせいでしょうか?  また、tcpip_socket = trueとport = 5432を追加したのですが、  再起動したところpostgresが立ち上がらなくなってしまいました。  postgresのバージョンのせいでしょうか?

関連するQ&A

  • postgres に接続できない

    PHP4とpostgrs8.0を利用しています。OSはWINDOWS2000です。 $DB_SERVER="localhost"; $Port = "5432"; $DB_NAME="test"; $DB_UID="postgres"; $DB_PASS="abc"; define("DB_CONECT","host=$DB_SERVER port=$Port dbname=$DB_NAME user=$DB_UID password=\"$DB_PASS\""); という設定で pg_connect(DB_CONECT) の接続でエラーが発生します。 Warning: pg_connect(): Unable to connect to PostgreSQL server: FATAL: password authentication failed for user "postgres" in c:\*****.php on line 12 なぜでしょうか? pg_hba.confの設定で host all all 127.0.0.1/32 md5 を host all all 127.0.0.1/32 trust に変更すると接続できるのですが。 それは問題ないのでしょうか? またレンタルサーバーのpostgresを利用する場合、 その設定も個人で変更できるのでしょうか? よろしくお願い致します。

    • ベストアンサー
    • PHP
  • ODBCテストエラー(pg_hba.conf)

    おせわになります。 早速ですが質問です。 -------------------------------------------------- 仮想PC(VMWare)側 CentOS 5.6 + PostgreSQL 9 実PC Win XP -------------------------------------------------- と言う環境で、ODBC接続のテストを行おうとすると、 「FATAL:no pg_hba.conf entry for host "xxx.xxx.xxx.xxx", user "xxx", database "xxx", SSL off」 と表示されます。 調べたところ"pg_hba.conf"に修正が必要とのことですが、"pg_hba.conf"なるファイルが見付らず、代わりに?"pg_hba.conf.sample"と言うファイルが存在します。 場所は"opt/postgreSQL/9.0/share/postgresql"です。 とりあえず、同じフォルダにコピーを作成してリネームし、"host all all xxx.xxx.xxx.xxx/xxx trust"の記述も追加しましたが、結果は変わらずでした。 そこで、 -------------------------------------------------- 1."pg_hba.conf"が見付らない時点で、何かおかしい(セットアップエラー?)のか? 2.同じフォルダにコピーを作成してリネーム、"host all all xxx.xxx.xxx.xxx/xxx trust"の記述追加は正しいのか? 3.2が正しいのであれば、ODBC接続テストでこのエラーが出る原因には何が考えられるか? -------------------------------------------------- が解る方はおみえでないでしょうか? 因みに、仮想PCのファイアウォールは無効にしてあり、実PCからのPingが飛ぶのも確認しております。 以上、よろしくお願いいたします。

  • postgresにクライアントpcから接続できない。

    いつもお世話になっております。 社内にテスト環境を作成しようと、CentOS 5 にpostgres8.4.0をインストールした所、そのサーバ自体からは、dbの作成、tableの作成等sqlの発行は出来るのですが、同じネットワークのwindowsクライアントマシンからpgAdminIIIで接続しようとした所、左下に "データベースに接続...失敗しました"とエラーがでてしまいます。 サーバの設定 "pg_hba.conf"は host all all 192.168.0.0/16 trust を追加(クライアントはこのアドレス内です) "postgresql.conf"は listen_addresses = '*' port = 5432 の行を上記のように変更 CentOSのサーバにはping飛びます。 pgAdminの設定は、 アドレス(サーバIP)、記述(設定名)、DBメンテナンス(DB名)、ユーザー名(postgres)、portはそのまま"5432" で接続しようとしています。 サーバ側のインストール手順は実際に行った手順を書いてましたが、 添付ファイルのような感じです。 どこがいけないか調べるにはどのようにすれば良いでしょうか。 よろしくお願いします。

  • psqlの一部でエラー

    あるサーバーにDBのダンプをインポート仕様としています psql - U postgresで接続できていることは確認してあります psql -h localhost -U postgres -f xxxxxx.dump xxxxxx とうつとIdent authentication failed for user "postgres"とFATALが出て インポートかでません pg_hba# TYPE DATABASE USER CIDR-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 ident # IPv6 local connections: host all all ::1/128 ident.confには下記になってます どうしてでしょうか?

  • リモート接続ができない

    初質問です。よろしくお願いします。 <問題> ネットワークを介したリモート接続で以下のエラー。 (以下は、クライントPCで psql を実行したときのものです。) D:\Program Files\Download Files\psql>psql -h 192.168.0.100 test Connection to database 'test' failed. connectDB() -- connect() failed: No error Is the postmaster running (with -i) at '192.168.0.100' and accepting connections on TCP/IP port '5432'? ・サーバマシン上での同じコマンドは以下のとおりOKです。 [postgres@localhost data]$ psql -h 192.168.0.100 -l List of databases Name | Owner | Encoding -----------+----------+---------- postgres | postgres | EUC_JP test | postgres | EUC_JP (4 rows) <行った対処> ・postgresユーザは、LINUXユーザでも登録済み ・ping 192.168.0.100 は Reply があることを確認 ・サービス名 postgres のポート番号を/etc/servicesで 5432 を確認 ・postmasterを'-i'付きで起動(pg_ctl -w start -o '-i') ・psコマンドにて、'-i'付きで起動を確認 ・postgresql.conf にて、"listen_adresses = '*'"を設定 ・pg_hba.conf にて、"host all all 0.0.0.0/0 trust"を追加設定 ・netstatコマンドにて、 tcp *:postgres LISTEN であることを確認 <環境> ・LAN環境  ・BUFFALO無線LANのAirStationを使用。 ・クライアントPCは無線接続、サーバは有線接続 ・サーバマシン  ・CPU:PEN3 800MHz,MEM:256MB ・OS:FedoraCore5  ・IP:192.168.0.100/24  ・PostgreSQL 8.1.2  ・PSQL ・クライアントPC  ・CPU:Cel 650MHz,MEM:384MB ・OS:WindowsXP Pro  ・IP:DHCP  ・PSQL ・Common SQL Environment 1.59

  • phpPgAdminでログインできない

    おせわになります よろしくお願いします。 現在、ファーストサーバー様のデルタ1を使用して サーバーの構築を行っています。 WEBページまで見れるようになったのですがphpPgAdminでログインできなくて困っています よろしくお願いします。 【pg_hba.conf】 local all all ident sameuser # IPv4 local connections: host all all 127.0.0.1/32 ident sameuser # IPv6 local connections: host all all ::1/128 ident sameuser local all all trust host all all 192.168.0.0/24 trust host all all 0.0.0.0/0 md5 【config.inc.php】 $conf['servers'][0]['host'] = '127.0.0.1'; $conf['servers'][0]['defaultdb'] = 'test'; $conf['extra_login_security'] = false; テストというデータベースは作成済みです この状態で[postgres]でログインしようとすると ログインに失敗しましたとなります ユーザーIDとパスワードは何度も試したので間違いないと思うのですが SSHからのデータベース操作はできます。 以上よろしくお願いします

  • Windowsログイン後にnetstat -n を実行すると・・・

    Windowsログイン直後にコマンドプロンプトを立ち上げて netstat -n を実行すると インターネットエクスプローラーを開いていないのに ------------------------------------- C:\>netstat -n Active Connections  Proto Local Address Foreign Address State TCP 192.168.1.2:1027 211.10.xxx.xxx:80 TIME_WAIT TCP 192.168.1.2:1036 210.148.xxx.xxx:80 TIME_WAIT ------------------------------------- とインタネットエクスプローラーを使用している時と 同じ表示になります。 これはなぜでしょうか? ちなみにWeb閲覧してすぐ再起動して netstat -n を実行したときに上記の接続が確認されます。 セキュリティソフト     Norton InterNetSecurity2005

  • TCP/IP接続

    OS:fedora7 postgresql:8.2.5 ClientPC:windowsXP にてpgAdminIIIで接続したいのですが、接続できません。 エラー内容は 「server doesn't listen・・・・accepting TCP/IP connections on port 5432?」 という感じです。 postgreの起動時には /etc/rc.d/init.d/postgresql start -i ってな感じで「-i」オプションはつけてますし、 pg_hba.confにも host all all 自PCのIPaddress/24 trust ってな感じで、 自分のPCからのアクセスを許可するように設定してます。 あと、いろいろ自分なりに調べると、 postgresql.confの tcpip_socket = true にすべきというのを知りましたが、 このような項目はありません。 また記述して起動するとエラーとなります。 あとは listen_addresses = '*' port = 5432 としています。 他に設定し忘れているものがあるのでしょうか? もしくは、何か確認すべきものありますでしょうか? ご存知の方おられましたらご教授願います。 よろしくお願いいたします。

  • PHPとPostgreSQLがつながらない

    PHPとPostgreSQLの初心者です。PHPとPostgreSQLを 使ってプログラムを作ろうと思ってます。 開発はPC上で、PostgreとPHPサーバはLinuxマシンに あります。まず最初にPostgreのインストールですが、 Fedora Core5 に着いていたPotsgreSQL8.1.3を入れ ました。設定としては、 postgresql.confでは listen_address='localhost,192.168.1.3' としました。192.168.1.3はLinuxマシンのローカル アドレスです。 pg_hba.confではconnectionのところで host all all 192.168.1.3 255.255.255.0 tyust としました。その後 host all all 0.0.0.0 255.255.255.0 tyust とかいろいろ試してみました。 一方PHPの方はほとんど何も設定をしていません。と いうか設定方法がよくわかりません。 以上の環境で、簡単なPHPプログラムをPostgreにつなげないで実行したところ問題なく動きました。 20行くらいのPHPを書いてみましたが、特に問題はあ りませんでした。 PostgreSQLの方は、PCからSSHで入って、接続テスト 用のDBを作り、テーブルも3つ作って、データを数件 Insertしました。 いよいよPHPからDBにつなぐことになったのですが、 プログラム上では以下のように書きました。 <?php    print "こんにちは"; $conn = pg_connect ('host=192.168.1.3 port=5432 dbname=phptest user=postgres');    print "こんばんは"; if (!$conn) { print "PostgreSQLへの接続に失敗です"; exit(); } else ・ ・ して実行したところ、「こんにちは」は表示されま したが、「こんばんは」以下はは表示しませんで した。$conn の先には進んでいないようです。 当然ここに書いた以外にも設定を変えてみましたが、 つながりませんでした。よろしくお願いします。

    • 締切済み
    • PHP
  • Common SQL Environment で接続できません。

    Common SQL Environment を使い、RedHat9にインストール時に自動的に入れたPostgreSQLに接続しようとすると、 connectDB() connect() feild:No error Is the postmaster running (with -i) at '192.168.10.5' and accepting connectons on TCP/IP port'5432'? と、エラーがでて、接続できません。 pg_hba.confには、 host all xxxxx 192.168.10.2 255.255.255.0 trust を追加。 postgresql.conf では、 tcpip_socket = true port = 5432 のコメントを外しています。 他に、何か必要なのでしょうか? あちこち情報を探しているのですが、なかなか見つからなくて。 よろしくお願いします。