Windows環境にpostgresをインストールするときのメモ

http://ruby.scripting.ca/postgres/
を使ってRubyからPostgreSQLを使おうと思ったけど
インストールにハマりにハマったのでメモ。
同じ症状に悩んでいる人の助けになれば。


注意:Ruby on Railsは使ってません。
苦労しないとフレームワークのありがたみがわからないと思うので。


リモートでgemしてもなぜか失敗するのでローカルからgem

gem install --l ruby-postgres-0.7.1.2005.12.21-mswin


READMEに書いてある通りに環境変数PGLIBを設定し、
erb用のファイルに

<% require "postgres" %>

を書いて、ブラウザからアクセス。

libpq.dll が見つからなかったため、このアプリケーションを開始できませんでした。
アプリケーションをインストールし直すとこの問題は解決される場合があります。 


$POSTGRES_HOME\binを環境変数PATHに追加して
いったんログオフ、再びアクセス。

プロシージャ エントリ ポイント HMAC_CTX_set_flags がダイナミック リンク ライブラリ libeay32.dll から見つかりませんでした。


C:\Ruby\bin\libeay32.dll
のバージョンが古いのが問題らしい。
libeay32.dllをlibeay32.dll.bakとかにリネームして
$POSTGRES_HOME\binからlibeay32.dllをコピーし、再びアクセス。


いざ使ってみると、

in `initialize': FATAL:  no pg_hba.conf entry 
for host "::1", user "user", database "dbname", SSL off (PGError)

とかいうエラーが出るので、


$POSTGRES_HOME\data\ pg_hba.confの末尾の行のコメントを外す

# IPv6 local connections:
host    all         all         ::1/128               md5


これで無事エラーもなく、postgresが使える環境になる。