ruby-pg 改め pg2009/07/16

Ruby用のPostgreSQLアダプタは、pure rubyのpostgesl-prとか、Cで書かれたruby-postgresとかがあったけど、 メンテナンスが滞っているようなので、ruby-pgができた(バージョンナンバーはruby-postgresの最終版から継続) というのは既知だったのですが、ruby-pg の 2008.02.05リリース版以降で、gem のパッケージ名が pg になっているのには 気がついていませんでした。(ruby- のprefixが取れた)

RubyForgeのプロジェクトページのタイトルとかtarファイルのファイル名は "ruby-pg"のままなんですがね……。

パッケージ名が二文字とかってどうなのよと思わなくはないですが、サクっとアップデート。

0.8.0ではwindows用バイナリも用意されたようです。 というか、0.8.0はwindowsサポートが目玉なのかな? 0.8.0のリリースノート

メモ

そういえば、ruby-postgres(0.7.9)では、

$ irb
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'postgres'
=> true
irb(main):003:0> pg = PGconn.new(:dbname=>'charge_production', :user=>'postgres', :port=>9999)
TypeError: wrong argument type Fixnum (expected String)
        from (irb):4:in `initialize'
        from (irb):4:in `new'
        from (irb):4
        from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:62
irb(main):004:0> pg = PGconn.new(:dbname=>'charge_production', :user=>'postgres', :port=>'9999')
=> #<PGconn:0xb7b12fd0>

こんな感じで、PGconn.newの引数のportをFixnumで与えるとエラーになっていたのが

$ irb
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'pg'
=> true
irb(main):003:0> pg = PGconn.new(:dbname=>'charge_production', :user=>'postgres',:port=>9999)
=> #<PGconn:0xb7c01be4>

ruby-pgではエラーにならなくなっている。 (0.7.9.2008.01.28, 0.8.0 で確認)