postgresがソケットでリッスンしているのは確かですか?ユーザー名とパスワードが正しいですか?
のようなものを試してみたいと思います
require 'pg'
puts PG::Connection.ping(:dbname => 'oData',:user => 'am',:password => '')
puts "trying with tcp"
puts PG::Connection.ping(:dbname => 'oData',:user => 'am',:password => '', :port => 5432)