I have seen several people asking about getting error numbers or similar things out of
postgres. The way I have done this is as follows:
CREATE TABLE errors (
errorstring TEXT PRIMARY KEY,
message TEXT
);
INSERT INTO errors VALUES ('^FATAL 1: Database "([^\"]+)" does not exist in the
system catalog.$', 'FATALE 1: Le database "$1" n''existe pas dans le catalogue
systeme');
Now in the app if we use perl and DBI we set RaiseError => 1 and catch the error via
$dbh->errstr or something
pass it into a query like:
prepare('SELECT * FROM errors WHERE ? ~ errorstring');
#Isn't postgres great? reverse regular expression searches :)
my $s = execute($dbh->errstr);
then we exploit perl's ability:
$dbh->errstr =~ /$s->{'errorstring'}/"$s->{'message'}"/e;
Hopes someone else find it usefull,
Getting out numbers is offcourse even easier.
Aasmund Midttun Godal
[EMAIL PROTECTED] - http://www.godal.com/
+47 40 45 20 46
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/users-lounge/docs/faq.html