On 16/10/2010 16:13, Kynn Jones wrote:
> I want to code a Perl function (part of a Perl library) for determining
> the existence of a particular database (in a given host/port).
>
> One way would be to just attempt making a connection to it, trapping any
> errors upon failure (with eval), or discarding the connection upon success.
>
> This approach has the added benefit of also checking the accessibility
> of the database to the user running the code, but for this application
> this added benefit is not necessary. Checking existence is all that
> matters.
>
> Is there an even faster way to check for a database's existence that
> does not require establishing a connection?
You're going to have to connect no matter what you do, assuming that
you're accessing it from another machine.
An alternative, if it suited your application, would be to maintain a
connection to a database which you know exists, such as template1 or
(better) postgres, and just query pg_database for the existence of the
database you want. If you can keep a connection open for long periods,
I'm sure this would be pretty fast.
Ray.
--
Raymond O'Donnell :: Galway :: Ireland
rod@iol.ie