# Postgres/Postgres-pr - some confusion

**URL:** <https://www.ruby-forum.com/t/postgres-postgres-pr-some-confusion/76163>\
**Category:** Ruby\
**Created:** [November 16, 2006, 10:53am UTC](https://www.ruby-forum.com/t/postgres-postgres-pr-some-confusion/76163 "2006-11-16T10:53:12Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![nicken](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/d07c76/32.png) [@nicken](https://www.ruby-forum.com/u/nicken)\
**Post date:** [November 16, 2006, 10:53am UTC](https://www.ruby-forum.com/t/postgres-postgres-pr-some-confusion/76163/1 "2006-11-16T10:53:12Z")

</div>

Hello,

I’m doing some work using the ruby postgres lirbaries and I’m slightly  
confused about a few things. I installed the postgres libraries  
using:

gem install postgres posrgres-pr

If I use:

require ‘rubygems’  
require ‘postgres-pr/connection’

I cannot use the following syntax:

db = PGconn.connect($HOST, “”, “”, “”, $DBNAME , $LOGIN, $PASS)

Where as when I use:

require ‘rubygems’  
require ‘postgres’

This syntax is fine. So there is obviously a difference between the  
two libraries, but I’m kind of stuck for finding out exactly what the  
differences are. I need

Based on this documentation:

[http://phrogz.net/rubylibs/rdoc/index.html](http://phrogz.net/rubylibs/rdoc/index.html)

and the docs from my local gems directory, I’ve got some things  
working. But, when I try and the the PGConn.quote method, ruby  
complains that there is no quote method, which according to the source  
code I can find, there isnt, but which is listed in the documentation.  
So I’m wondering if the documentation I have been looking at is  
incorrect, if I am missing some libraries, or if I am not requiring  
the correct libraries. I thought that the postgres-pr library was a  
wrapper for the postgres.c library?

Any explanation / direction to documenation would be really  
appreciated. Even just confirming if there is a PGconn.quote method  
and which lirbary its in would be a great help!

CHeers

Nick

---

<div class="post-metadata">

**Author:** ![nicken](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/d07c76/32.png) [@nicken](https://www.ruby-forum.com/u/nicken)\
**Post date:** [November 16, 2006, 7:47pm UTC](https://www.ruby-forum.com/t/postgres-postgres-pr-some-confusion/76163/2 "2006-11-16T19:47:08Z")

</div>

On 11/16/06, Nick B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I’m doing some work using the ruby postgres lirbaries and I’m slightly  
> confused about a few things. I installed the postgres libraries  
> using:

postgres-pr is a pure-Ruby postgres client; postgres is a C client using  
libpq.

jeremy

---

<div class="post-metadata">

**Author:** ![nicken](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/d07c76/32.png) [@nicken](https://www.ruby-forum.com/u/nicken)\
**Post date:** [November 16, 2006, 7:53pm UTC](https://www.ruby-forum.com/t/postgres-postgres-pr-some-confusion/76163/3 "2006-11-16T19:53:09Z")

</div>

> the correct libraries. I thought that the postgres-pr library was a  
> wrapper for the postgres.c library?

I thought the same thing until I was writing some basic queries using  
the  
connection and pgresult. The result type is different between the two.  
I’ve moved away from using postgres-pr because of the inconsistencies  
and  
belief that the c client will be faster anyway.

---

<div class="post-metadata">

**Author:** ![nicken](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/d07c76/32.png) [@nicken](https://www.ruby-forum.com/u/nicken)\
**Post date:** [November 16, 2006, 9:01pm UTC](https://www.ruby-forum.com/t/postgres-postgres-pr-some-confusion/76163/4 "2006-11-16T21:01:26Z")

</div>

Hi,

> > orking. But, when I try and the the PGConn.quote method, ruby

PGconn.escape(str) should be available.

> > the correct libraries. I thought that the postgres-pr library was a  
> > wrapper for the postgres.c library?
> 
> I thought the same thing until I was writing some basic queries using the  
> connection and pgresult. The result type is different between the two.  
> I’ve moved away from using postgres-pr because of the inconsistencies and  
> belief that the c client will be faster anyway.

Yes, the c extension is much better, not perfect though.

When you have a look at Og (get 0.40 via rubygems), you’ll see that a  
few  
things have to be done to make the -pr more compatible to the c ext.

og/lib/og/adapter/postgresql/override.rb

I think it was Neumann who made the postgres-pr wrapper, which is a thin  
layer around the dbi lib as far as I remember, it is pure Ruby, no C  
involved.

Kash
