2005-08-20:PostgreSQL for Windows

いまさらですが、Version 8 からネイティブ動作がサポートされた Windows 用 PostgreSQL を試してみた、というメモ。
けっこうお手軽。

お役立ちリンク

ページ内リンク


インストール

バイナリのゲット

FTP サイトから postgresql-8.0.3-ja.zip をもらってくる。
インストーラが日本語化されていてベンリ。

インストール

zip ファイルを開いて、postgresql-8.0-ja.mxi を実行する。
インストーラが立ち上がり、ライセンス条項が表示される。

ついでインストールするコンポーネントの選択。
わたしは PgAdmin は使わないので選択からはずした。
ほかにインストールする接続ドライバ(ODBC とか JDBC とね)が選べたり。
インストールする場所はデフォルトのままでいいっしょ。
# デフォルトは \Program Files\PostgreSQL\8.0

次は PostgreSQL をどのようなサービスとして起動するかの設定。
サービス名・サービスを実行するアカウント名など。
Unix で PostgreSQL を root であげるべきでないのと同じく、Windows で PostgreSQL を Administrator であげるべきではない。
PostgreSQL のインストーラーはここで新しいアカウントを作ってくれる。
PostgreSQL のサービスを実行するアカウント名とパスワードを入力しよう。

既存のユーザーを指定すればそのユーザーで、新しいユーザー名をいれれば新規にアカウントを作成した上で、そのユーザーでの実行になる。

# ちょろいパスワードを入れると怒られるが、いいえを選べばそのままでも大丈夫。

正常に登録できると以下のメッセージがでる。

続いてデータベースクラスタの初期化設定。unix でいう initdb に相当するものかな。
エンコーディングはデフォルトが EUC_JP になっている(さすが日本語インストーラー)。
データベースクラスタのスーパーユーザー名をここで指定する。
これは Windows でのアカウントとはまったく別個で、PostgreSQL のデータベース上でのアカウント管理になる。
unix だと initdb を実行したアカウントが自動的に PostgreSQL 上でも作られるけどね。
画面上では自分のユーザーアカウント名を指定している。

ちなみに上で「すべてのアドレスでコネクションを受け入れる」をチェックしているが、これをはずすと localhost からしか受け付けなくなる。
まぁ、ここでどう設定しようと、あとからちゃんと pg_hba.conf を設定しろよ、ということだと思うんだが。

次はストアドプロシジャとして使う言語の選択。
そもそも私はここらへん使わないのだけど。。。(^^;
インストールするコンポーネントで選ばなかったものは選択できない。

contrib なもののインストール選択。ごめん、一個も選んでない。

以上でインストール実行前の設定は終了。いざインストール。

しばらく待つと終了。

とりあえず動作確認として psql でデータベースにつないでみよう。
コマンドプロンプトを起動して \Program Files\PostgreSQL\8.0\bin に移動。
psql で接続。
あっさりとふつーにつながる。


設定

サービスの確認

[コントロールパネル]→[管理ツール]→[サービス] を選択。
ちゃんと PostgreSQL がいる。

サービスを停止して設定ファイルの編集

[サービス] の一覧から PostgreSQL を選びプロパティを表示する。

停止を押してサービスを停止させる。
設定ファイルは \Program Files\PostgreSQL\8.0\data 以下。
とりあえず以下のファイルの設定をチェック。

  • pg_hba.conf
  • postgresql.conf

どう設定すべきかは。。。てきとーにぐぐってください。(なげやり)

サービスを再開して設定のチェック

ふたたびさきほどのプロパティで、今度は開始を押してサービスを再開。
わたしは pg_hba.conf をいじって、同じセグメントのマシンからの接続を許可するようにしたので、この Windows マシンで動いている coLinux から psql で接続できるか確認。
。。。が、できなかった。あれれ? と悩むこと1分。

Windows のファイヤーウォール機能でした。

5432 ポートをブロックしないようにして、再度やってみたら問題なく接続。

# psql の表示で 7.4.5 とあるのは、coLinux 内でインストールしているのが 7.4.5 だからです。


使う

なんというか、ふつーに動くので、そのままふつーに使ってください。:-)

以前、cygwin 上に苦労してビルドしてたのはなんだったんだ、という感じ。
とっても楽チンに環境がインストールされる。
開発者のみなさまに感謝!