Q: postgres access in Windows

  • Thread starter G. Ralph Kuntz, MD, MS
  • Start date
G

G. Ralph Kuntz, MD, MS

I spent a couple of hour this weekend trying to get Ruby to talk to
PostgreSQL on a Windows Vista machine without success. I am working
with both Cygwin Ruby and JRuby.

I installed the DBI gem, including dbd_pg. I get the following error
in both version of Ruby:

Could not load driver (no such file to load -- /usr/lib/ruby/
site_ruby/1.8/dbd/Pg)

I also tried jruby-postgres and pgconn but I could not figure out how
to call the first one and got errors with the second. I could not
find any documentation (even tried ri).

I tried Googling everything I could think of.

Has anyone gotten a DB connection to PostgreSQL working under Windows
with any version of Ruby?

Thanks.
 
J

J-H Johansen

I spent a couple of hour this weekend trying to get Ruby to talk to
PostgreSQL on a Windows Vista machine without success. I am working
with both Cygwin Ruby and JRuby.

I installed the DBI gem, including dbd_pg. I get the following error
in both version of Ruby:

Could not load driver (no such file to load -- /usr/lib/ruby/
site_ruby/1.8/dbd/Pg)

I also tried jruby-postgres and pgconn but I could not figure out how
to call the first one and got errors with the second. I could not
find any documentation (even tried ri).

I tried Googling everything I could think of.

Has anyone gotten a DB connection to PostgreSQL working under Windows
with any version of Ruby?

Thanks.


Hi,

My current use of postgres is done like this (but I think you can
require 'dbi' instead of 'rubygems'):

require 'rubygems'
require 'postgres'

$conn = PGconn.connect('hostname','port','','','db-name','username','password')

If you've installed rails you can also do the following in order to
use ActiveRecord which is nice:

require 'rubygems'
require 'active_record'

ActiveRecord::Base.pluralize_table_names = false
ActiveRecord::Base.establish_connection(
:adapter => "postgresql",
:host => "hostname",
:database => "db-name",
:username => "username",
:password => "password"
)

And then create objects of tables or views.
Assuming you have a table or a view called gen_table:

class GenTable < ActiveRecord::Base; end
gt = GenTable.find:)all)

for a in gt
puts a.id
end
 
G

G. Ralph Kuntz, MD, MS

That worked like a charm!

Is there any documentation on PGconn and the other classes in the
postgres-pr module?

Thanks.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,776
Messages
2,569,603
Members
45,189
Latest member
CryptoTaxSoftware

Latest Threads

Top