Re: [INTERFACES] Detecting existance of table - Mailing list pgsql-interfaces

From Gene Selkov Jr.
Subject Re: [INTERFACES] Detecting existance of table
Date
Msg-id 199904212145.QAA23534@antares.mcs.anl.gov
Whole thread Raw
In response to Detecting existance of table  ("Brett W. McCoy" <bmccoy@lan2wan.com>)
List pgsql-interfaces
> Is there a way of detecting the existance of a table via a function call?

Not through the client library, as far as I can tell. Why would you
need a function call?  Send a query, like this one:

http://wit.mcs.anl.gov/EMP/list-classes.cgi?database=emp

> Actually, can an exception be caught somehow?  I'm
> mainly doing this with PHP3, but I also need to do it via the Perl Pg.pm

That's easy in perl:

  eval {local $SIG{__DIE__}; do soemthing wrong here }

This piece of code will catch an exception caused by eval() and do
nothing.  Refer to the following document for an extensive discussion
of signal handling (__DIE__ is just a signal):

http://theory.uwinnipeg.ca/CPAN/data/pod2texi/perlipc.html

However, I don't see how anything you do in Pg might lead to an
exception (other than FPE). Queries against non-existent objects will
generate errors in the backend, of which your code will be notified
via Pg. But that will not cause any exceptions. You will just get
a different result code.

But I agree that filling your server log with harmless error messages
is not good. Query pg_class first.

--Gene

pgsql-interfaces by date:

Previous
From: "Gene Selkov, Jr."
Date:
Subject: Re: [SQL] perl and postgres. . .
Next
From: "Pavel PaJaSoft Janousek"
Date:
Subject: Error in indexing?