WindowsでCygwinのPostgreSQLとphpPgAdminをインストールするには?

  • MySQL + phpMyAdmin なら知ってるけど、PostgreSQLって良くわかんねーぜ
  • だけど明日の朝イチでお客様の前でWindowsのノートPCを使い、PostgreSQLを使ったデモを見せるって???
  • えーーー、終電まであと1時間しかないじゃん

なんていう、追い詰めらてなりふりかまってられない時に良いかも知れません。
なお、作業を楽にするために、全て(ローカルの)Administratorsグループのユーザーで行うことを前提にしています。*1

  1. Apache, phpのインストールを済ませ、php.iniでpostgresqlへの接続を有効にします。
    extension=php_pgsql.dll
  2. Cygwinをインストールする。どんな構成でもよいが、postgresqlは絶対入れること
    2003052101.png
  3. CygIPCをダウンロード&解凍し、/usr (= c:\cygwin\usr) に上書きでファイルをコピーします
  4. /etc/profile (= c:\cygwin\etc\profile) をエディタで開き、ファイルの終わりに次のように書きます
    #-----------
    # PostgreSQL
    #-----------
    PATH=$PATH:/usr/local/pgsql/bin:/usr/local/pgsql/lib
    export PGLIB=/usr/local/pgsql/lib
    export PGDATA=/usr/local/pgsql/data
    export PGCLIENTENCODING=SJIS
    /usr/local/bin/ipc-daemon &
    alias pgstart=\'nohup postmaster >pg.log 2>&1 &lt;/dev/null &\'</div>
  5. Cygwin Shellを立ち上げて、PostgreSQLの初期化を行います。
    /usr/bin/initdb --encoding=EUC_JP --no-locale -D /usr/local/pgsql/data
  6. /usr/local/pgsql/data/pg_hba.conf (= c:\cygwin\usr\local\pgsql\data\pg_hba.conf) の最後に、
    host    all         all         192.168.11.0      255.255.255.0     trust
    IPアドレスは適宜環境に合わせます(要は同じネットワークアドレスのホストからの接続を許容する)
  7. Cygwin shell でPostgreSQLを起動します。先ほど/etc/profileに書いたaliasを使います。ログは pg.logファイルです。(エクスプローラーでダブルクリックしてメモ帳が立ちあがるとちょっと楽かなぁ、と思って拡張子を.logにしてみました)
    pgstart
  8. phpPgAdminの配布元からphpPgAdmin 3.0.0-dev-4など、Ver.3系をとって来るともれなく日本語ファイルも付いて来て良い感じです。これをWebServerに配置し、conf/config.inc.phpのここを書き換えます
    13行目:$conf['servers'][0]['host'] = 'localhost';  // Hostname or IP address for server
    19行目:$conf['default_lang'] = 'japanese-euc';
  9. ブラウザで phpPgAdminにアクセスします。ユーザーIDは、windowsにログオンしたIDをいれ、パスワードは空のままでOKです。

postgres用のユーザーアカウントを作って・・・と正攻法を取ると、おそらくハマると思うので、格好悪いですがここで紹介した方法でひとまず動かし、ある程度自信がついたら(?)望ましい環境で動かすようにしましょう。

こことかこことかこのへんを参考にしました。

以下、ちょっとしたこと

  • phpPgAdminを使うときは postmaster -i -S の方が良いらしい(pgstart というエイリアスにしてある)
  • 4つのコマンドだけ覚えておけばまぁ安心?
    起動 pgstart (/etc/profileに書いたaliasです)
    終了 pg_ctl stop
    ログを見る cat ~/pg.log (c:\cygwin\home\(ユーザ名)\pg.logをエディタで見る方が楽かな?)
    postmaster.pid の削除は rmpgpid  (/etc/profileに書いたaliasです)

*1 それよりも環境変数で、CYGWIN=nontsec nosmbntsec するのがいいかも

添付ファイル: file2003052101.png 110件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-05-10 (火) 01:12:02