libpq and error codes

From: Dave Williss <dwilliss(at)microimages(dot)com>
To: pgsql-interfaces(at)postgresql(dot)org
Subject: libpq and error codes
Date: 2007-08-24 14:37:01
Message-ID: 46CEED0D.1040506@microimages.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

I can't seem to find a reliable way to determine if the error from a
call to PQconnectdb is due to an invalid username/password. I can call
PQstatus and it tells me CONNECTION_BAD, which I'd expect, and then
PQerrorMessage gives me a plain text message that explains the reason, but
error messages can be localized. A different version of PostgreSQL may
decide to change the wording, so just doing a string comparison on the
error message won't cut it.

What I need is a nice, numeric error code that I can compare to a known
value that means invalid password. But there doesn't seem to be any
function to do that. Am I just being blind?

The reason I need this is that in our software, if the user tries to
open a connection to a database and gets an authorization error of some
kind, we pop up a username/password dialog and let them try again. But
if it's due to any other kind of problem (server down, etc), we give
them the error message directly.

Dave Williss

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Tom Lane 2007-08-24 16:41:51 Re: libpq and error codes
Previous Message Roger Moloney 2007-08-23 14:55:10 ecpg: HOW TO READ RECORD ??