Debian に PostgreSQL をインストール&外部接続許可



今までMySQL一辺倒でPostgreSQLは使ったことがなかったので、
ちょっと触ってみます。

早速、Debianにインストールし、外部からODBC経由で接続可能な状態とします。

インストールはapt-getで行いました。

apt-get install postgresql


インストールすると、postgresというユーザーが作られるようです。
パスワードが設定されていないので、パスワードを設定してやります。

# passwd postgres
新しいUNIXパスワードを入力してください:
新しいUNIX パスワードを再入力してください:
passwd: パスワードは正しく更新されました



次に、postgresユーザーでデータベースに接続してみます。

# su - postgres
$psql
Welcome to psql 8.3.7, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit


ちゃんとインストールできた模様。
pqslを終了するには、\qを入力します。
※ちゃんと書いてあるんですが、地味にはまりました。


この状態では、ローカルからのアクセスしか受け付けない
設定となっています。

外部からのアクセスを許可するには、2つのファイルを変更します。

/etc/postgresql/8.3/main/postgresql.conf
このファイルにlisten_addressesという項目があります。
コメントを外し、'*'を指定します。
listen_addresses = '*'


/etc/postgresql/8.3/main/pg_hba.conf
このファイルにアクセスを受け付けるクライアントの設定を記載します。
設定内容はこんな感じ。
host all all 192.168.1.0/24 trust

やり方がまずかったのだと思うのですが、認証モードはtrustを指定しないと
ODBCの接続を受け付けてくれませんでした。


今度はWindowsにODBCドライバをインストールします。

http://www.postgresql.jp/PostgreSQL/8_3/8_3_7
ここからWindows版インストーラをダウンロードします。

解凍した中にあるpostgresql-8.3.msiを起動します。
※今思えば、setup.batを叩くのが正しい方法かも。

以下、インストーラーの画面です。





ODBCドライバは、「アプリケーションスタックビルダ」と呼ばれる機能で
インストールします。
そのため、この画面でスタックビルダを選択しておきます。



この後、スタックビルだが起動します。


proxy環境であれば、proxyサーバーのIPとポートを入力します。



カテゴリ-Database Drivers-psqlODBCを選択します。









こんな感じで、ODBCドライバが追加されました。



【参考URL】
PostgreSQL導入から接続まで
PostgreSQLで外部からのアクセスを受け付ける設定
21.1. pg_hba.confファイル





もどる