Re: Request assistance connecting with Pg::connectdb
| От | wsheldah@lexmark.com |
|---|---|
| Тема | Re: Request assistance connecting with Pg::connectdb |
| Дата | |
| Msg-id | OF923D9A3E.93848B53-ON85256C7E.004F95A0@lexmark.com обсуждение исходный текст |
| Ответ на | Request assistance connecting with Pg::connectdb (public@ryanwright.com (Ryan Wright)) |
| Список | 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 по дате отправления: