Обсуждение: Error Codes?
I'm a bit confused about the current state of error codes in Pg. The docs and the mailing list archives seem to indicate that this is a TODO item, however, at least when using Perl with DBD::Pg, when I call $db->err() or examine $DBI::err I get a number back. For instance, 7 if I try to insert too many columns into a row, and a 1 if the connection fails. What's the scoop, and if error codes really do exist, is there a list of such codes? Thanks, Fran
Look at $db->errstr That has the text version of the error code. --rob ----- Original Message ----- From: "Fran Fabrizio" <ffabrizio@mmrd.com> To: <pgsql-general@postgresql.org> Sent: Wednesday, October 10, 2001 2:48 PM Subject: [GENERAL] Error Codes? > I'm a bit confused about the current state of error codes in Pg. The > docs and > the mailing list archives seem to indicate that this is a TODO item, > however, > at least when using Perl with DBD::Pg, when I call $db->err() or examine > > $DBI::err I get a number back. For instance, 7 if I try to insert too > many > columns into a row, and a 1 if the connection fails. What's the scoop, > and if > error codes really do exist, is there a list of such codes? > > Thanks, > Fran > > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/users-lounge/docs/faq.html >
> Rob Arnold wrote: > > > Look at $db->errstr That has the text version of the error code. > > > > --rob Yes, but I want to know about the codes, not the text. If the codes exist, they are easier to work with than the text. -Fran
On Wed, Oct 10, 2001 at 05:41:37PM -0400, Fran Fabrizio wrote: > > Rob Arnold wrote: > > > > > Look at $db->errstr That has the text version of the error code. > > > > > > --rob > > Yes, but I want to know about the codes, not the text. If the codes exist, > they are easier to work with than the text. I find this code useful. You can build a hash from which you can extract more useful error messages. perl -MPg <<'EOF' print map { "$_ => ".$Pg::{$_}->()."\n" } sort grep { /^PGRES_/ } keys %Pg:: EOF === output === PGRES_BAD_RESPONSE => 5 PGRES_COMMAND_OK => 1 PGRES_CONNECTION_BAD => 1 PGRES_CONNECTION_OK => 0 PGRES_COPY_IN => 4 PGRES_COPY_OUT => 3 PGRES_EMPTY_QUERY => 0 PGRES_FATAL_ERROR => 7 PGRES_INV_ARCHIVE => 65536 PGRES_INV_READ => 262144 PGRES_INV_SMGRMASK => 65535 PGRES_INV_WRITE => 131072 PGRES_InvalidOid => 0 PGRES_NONFATAL_ERROR => 6 PGRES_TUPLES_OK => 2 ================ > > -Fran > > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > Magnetism, electricity and motion are like a three-for-two special offer: > if you have two of them, the third one comes free.