電子書籍の厳選無料作品が豊富!

いつもお世話になっております。

社内にテスト環境を作成しようと、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"
で接続しようとしています。

サーバ側のインストール手順は実際に行った手順を書いてましたが、
添付ファイルのような感じです。

どこがいけないか調べるにはどのようにすれば良いでしょうか。
よろしくお願いします。

A 回答 (2件)

CentOSのファイアウォールでtcp/5432がブロックされていませんか?


CentOS上で
system-config-securitylevel-tui
を実行し、
Other portsにpostgres:tcp
を追加してみてください
    • good
    • 0
この回答へのお礼

ファイアウォールの設定を見直した所、無事接続する事ができました。
大変ありがとうございました。

お礼日時:2009/08/27 13:55

おそらく、ident検査で省かれているものと思われます



IPアドレス等が分からないのでなんとも言えませんがpg_hba.confが私には怪しいように見えます。それだと192.168.0.XXXしか繋がらなかったような気がします……IPアドレスがそれで当たっているならば、スーパーユーザー権限を疑ってください

どこがいけないかを調べるみたいなものは出来ないと思いますよ
私の場合はコンフィグファイルと睨めっこして、調査していくタイプなので……

この回答への補足

ご回答ありがとうございます。

host all all 192.168.10.0/24 trust
と変更してもやはり同様に駄目でした。

*****以下、CentOSサーバでpostgresインストールを行った手順になります。

2.PostgreSQLインストール
 2.1 作成した環境にrootでログインする。

 2.2 postgresユーザを作成する。
# useradd postgres

 2.3 rpmのアンインストール(postgresがインストールされている場合は削除)
#rpm -e postgresql-devel
#rpm -e postgresql-server
#rpm -e postgresql

 2.4 PostgreSQL8.4.0を以下のサイトからダウンロードする。
http://www.postgresql.jp/PostgreSQL/8_2/8_2_6

 2.5 /usr/local/srcにコピーし、展開を行う。
# cd /usr/local/src
# tar zxf postgresql-8.4.0.tar.gz

 2.6 コンパイル、インストールを行う。
# cd postgresql-8.4.0
# ./configure --enable-multibyte=UTF-8 --with-perl
# make all
  
※configure: error: no acceptable C compiler found in $PATH See `config.log' for more details.
上記のようなエラーが出た場合は、
# yum install glibc glibc.i386
# yum install gcc*
を実行

※更にreadlineが無いみたいなメッセージが出たら
# yum install readline-devel.i386
を実行。

・最後に All of PostgreSQL is successfully made. Ready to install と表示されていればコンパイル成功

 2.7 インストールを行う。
  # make install

 2.8 ディレクトリの権限を変更する。
# chown postgres.postgres -R /usr/local/pgsql

 2.9 postgresユーザの環境変数設定を行う。
# su - postgres
$vi ~/.bash_profile
(下記内容を追記)
export PATH="$PATH":/usr/local/pgsql/bin
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH="$MANPATH":$POSTGRES_HOME/man
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"


 2.10 変更内容を反映させる。
$ source ~/.bash_profile

 2.11 DBを初期化する。
$ initdb --encoding=UTF-8

 2.12 /usr/local/pgsql/data/pg_hba.confを編集する。
・下記行を追加
host all all 192.168.0.0/16 trust

 2.13 /usr/local/pgsql/data/postgresql.confを編集する。
・以下の行を変更
 listen_addresses = '*' (外からのTCP/IPソケット接続を有効にする。)
 port = 5432

 2.14 rootユーザでPostgreSQLが自動起動できるよう設定する。
# cd /etc/rc.d/init.d/
# vi postgresql
-------以下内容を記述------
#!/bin/bash
#
# PostgreSQL
#
# chkconfig: 35 99 01
# description: PostgreSQL script
# processname: postgresql

case "$1" in
start)
su - postgres -c "/usr/local/pgsql/bin/pg_ctl start"
;;
stop)
su - postgres -c "/usr/local/pgsql/bin/pg_ctl stop"
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
esac
-------ここまで------
・自動起動に追加
# chmod 755 /etc/rc.d/init.d/postgresql
# chkconfig --add postgresql

 2.15 rootユーザでpostgresユーザにパスワードを設定する
# passwd postgres ← 現環境は パスワード:********

 2.16 データベースを起動する。
$ pg_ctl start

 2.17 DBを作成する。
$ psql

postgres=# create database tdb
postgres=# \q

******************
何か気付いた点がありましたら、アドバイス頂けますでしょうか。
よろしくお願いします。

補足日時:2009/08/27 11:15
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す