Re: Request assistance connecting with Pg::connectdb - Mailing list pgsql-general

From wsheldah@lexmark.com
Subject Re: Request assistance connecting with Pg::connectdb
Date
Msg-id OF923D9A3E.93848B53-ON85256C7E.004F95A0@lexmark.com
Whole thread Raw
In response to Request assistance connecting with Pg::connectdb  (public@ryanwright.com (Ryan Wright))
List 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@ryanwright.com (Ryan Wright)@postgresql.org on 11/20/2002 04:55:16
PM

Sent by:    pgsql-general-owner@postgresql.org


To:    pgsql-general@postgresql.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@postgresql.org)





pgsql-general by date:

Previous
From: "scott.marlowe"
Date:
Subject: Re: One SQL to access two databases.
Next
From: Bruce Momjian
Date:
Subject: Re: Two features left