Re: Request assistance connecting with Pg::connectdb

From: wsheldah(at)lexmark(dot)com
To: public(at)ryanwright(dot)com (Ryan Wright)
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Request assistance connecting with Pg::connectdb
Date: 2002-11-27 14:34:02
Message-ID: OF923D9A3E.93848B53-ON85256C7E.004F95A0@lexmark.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


Just a few suggestions:

You *might* get more information if you add an 'or die $!' to the end of
the line that starts '$conn = Pg::connectdb'. If that connection fails,
$conn won't even get instantiated, so there won't be anything in
$conn->status or $conn->errorMessage.

I would suggest using DBI and DBD::Pg, rather than the Pg driver. At least
that's what I've used successfully.

This probably isn't related to your current problem, but I would also
strongly recommend upgrading to at least perl 5.6.1, if not the current
stable 5.8.0. Version 5.6.1 contains several bugfixes and improvements to
5.6.0.

Good luck,

Wes Sheldahl

public(at)ryanwright(dot)com (Ryan Wright)@postgresql.org on 11/20/2002 04:55:16
PM

Sent by: pgsql-general-owner(at)postgresql(dot)org

To: pgsql-general(at)postgresql(dot)org
cc:
Subject: [GENERAL] Request assistance connecting with Pg::connectdb

Hello,

I am having a heck of a time connecting to my postgres server, and was
hoping some kind soul would advise me on how to proceed.

The problem: Perl script dies with no error message.

Code snippet:

$conn = Pg::connectdb("dbname=testdb host=localhost port=5432
user=postgres password=test");
print "status = ",$conn->status, "\n";
die $conn->errorMessage unless PGRES_CONNECTION_OK eq $conn->status;

Code output:

status = 0
Died at ./testscript.pl line 105.

Other relevant information:

- If I specify an incorrect database or username, I get appropriate
error messages from postgres.
- It doesn't matter whether I specify a correct or incorrect password;
I get the same empty error.
- "psql -U postgres -W testdb" works just fine. psql actually works
perfect in every respect. I can connect, grab records, and do
everything I should be able to do.
- Postgres has been started correctly and netstat shows it listening
on tcp port 5432. I accomplished this by changing tcpip_socket = true
in postgresql.conf.
- The machine running the script is the same machine running postgres.
- pg_hba.conf is configured as follows:
local all trust
host all 127.0.0.1 255.255.255.255 trust
host all 192.168.1.12 255.255.255.255 trust

I added the server's remote IP in testing to see if it made a
difference. It did not.

Installation notes:

- System is a Red Hat 7.2 box.
- Postgres v7.2.3 was installed from RPMs yesterday. No prior version
of Postgres has ever been installed on this server.
- Perl version 5.6.0.
- The Postgres Perl extensions were also installed from RPMs. They
installed into /usr/lib/perl5/site_perl/5.6.1/i386_linux. They didn't
work from there, so I moved the files Pg.pm, Pg.so, and autosplit.ix
to /usr/lib/perl5/5.6.0 where my cgi-bin.pl resided.

Any advice would be greatly appreciated!

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)

Browse pgsql-general by date

  From Date Subject
Next Message Jean-Christian Imbeault 2002-11-27 14:38:28 Re: Create Timestamp From Date and Time
Previous Message Ken Guest 2002-11-27 14:29:16 rename