こんばんわ。 たまごとかです。 FreeBSD上で影舞を使ってBTSを運用してたのですが、 6.2Rから最新のportsにバージョンアップしたところPostgreSQLに接続できなく なりました。
問題の切り分けとして以下サンプルプログラムを実行したところ、 ------------------------------------------------------------------------ #!/usr/local/bin/ruby require "dbi" $SAFE = 1 database = 'template1' host = 'localhost' usr = 'kagemai' pass = '' DBI.connect("DBI:Pg:database=#{database};host=#{host}", usr, pass) do |db| end ------------------------------------------------------------------------ 以下エラーとなりました。 ------------------------------------------------------------------------ /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:342:in `load_driver': Could not load driver (no such file to load -- postgres). Note that in SAFE mode >= 1, driver URLs have to be case sensitive! (DBI::InterfaceError) from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:227:in `_get_full_driver' from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:213:in `connect' from ./test.cgi:13 ------------------------------------------------------------------------ postgresql用のライブラリにアクセスできてないっぽいです。 関係ありそうなパッケージは以下をインストールしてあります。 postgresql-client-8.2.6_1 postgresql-server-8.2.6 eruby-1.0.5 ja-ruby18-uconv-0.4.12 mod_ruby-1.2.6 ruby-1.8.6.111_1,1 ruby18-GD-0.7.4_6 ruby18-aspectr-0.3.5 ruby18-bdb-0.6.2 ruby18-dbd_pg-0.1.1 ruby18-dbi-0.1.1 ruby18-gems-1.0.1_3 ruby18-iconv-1.8.6.111,1 ruby18-setup.rb-3.4.1 rubygem-ruby-postgres-0.7.1.2006.04.06_1 以上です。何かお分かりの方がいらっしゃいましたらご教授願います。