= pg

home :: https://bitbucket.org/ged/ruby-pg
mirror :: https://github.com/ged/ruby-pg
docs :: http://deveiate.org/code/pg


== Description

Pg is the Ruby interface to the {PostgreSQL RDBMS}[http://www.postgresql.org/].

It works with {PostgreSQL 8.4 and later}[http://www.postgresql.org/support/versioning/].

A small example usage:

  #!/usr/bin/env ruby

  require 'pg'

  # Output a table of current connections to the DB
  conn = PG.connect( dbname: 'sales' )
  conn.exec( "SELECT * FROM pg_stat_activity" ) do |result|
    puts "     PID | User             | Query"
  result.each do |row|
      puts " %7d | %-16s | %s " %
        row.values_at('procpid', 'usename', 'current_query')
    end
  end

== Build Status

{<img src="https://travis-ci.org/ged/ruby-pg.png?branch=master" alt="Build Status" />}[https://travis-ci.org/ged/ruby-pg]


== Requirements

* Ruby 1.9.3-p392, or 2.0.0-p0.
* PostgreSQL 8.4.x or later (with headers, -dev packages, etc).

It may work with earlier versions of Ruby/PostgreSQL as well, but those are
not regularly tested.


== How To Install

Install via RubyGems:

    gem install pg

You may need to specify the path to the 'pg_config' program installed with
Postgres:

    gem install pg -- --with-pg-config=<path to pg_config>

If you're installing via Bundler, you can provide compile hints like so:

    bundle config build.pg --with-pg-config=<path to pg_config>

See README-OS_X.rdoc for more information about installing under MacOS X, and
README-Windows.rdoc for Windows build/installation instructions.

There's also {a Google+ group}[http://goo.gl/TFy1U] and a
{mailing list}[http://groups.google.com/group/ruby-pg] if you get stuck, or just
want to chat about something.


== Contributing

To report bugs, suggest features, or check out the source with Mercurial,
{check out the project page}[http://bitbucket.org/ged/ruby-pg]. If you prefer
Git, there's also a {Github mirror}[https://github.com/ged/ruby-pg].

After checking out the source, run:

    $ rake newb

This task will install any missing dependencies, run the tests/specs, and
generate the API documentation.

The current maintainers are Michael Granger <ged@FaerieMUD.org> and
Lars Kanis <lars@greiz-reinsdorf.de>.


== Copying

Copyright (c) 1997-2013 by the authors.

* Jeff Davis <ruby-pg@j-davis.com>
* Guy Decoux (ts) <decoux@moulon.inra.fr>
* Michael Granger <ged@FaerieMUD.org>
* Lars Kanis <lars@greiz-reinsdorf.de>
* Dave Lee
* Eiji Matsumoto <usagi@ruby.club.or.jp>
* Yukihiro Matsumoto <matz@ruby-lang.org>
* Noboru Saitou <noborus@netlab.jp>

You may redistribute this software under the same terms as Ruby itself; see
http://www.ruby-lang.org/en/LICENSE.txt or the LICENSE file in the source
for details.

Portions of the code are from the PostgreSQL project, and are distributed
under the terms of the PostgreSQL license, included in the file POSTGRES.

Portions copyright LAIKA, Inc.


== Acknowledgments

See Contributors.rdoc for the many additional fine people that have contributed
to this library over the years.

We are thankful to the people at the ruby-list and ruby-dev mailing lists.
And to the people who developed PostgreSQL.

