Received: from antares.mcs.anl.gov (mcs.anl.gov [140.221.9.6]) by hub.org (8.9.3/8.9.1) with SMTP id RAA32970 for ; Wed, 21 Apr 1999 17:45:34 -0400 (EDT) (envelope-from selkovjr@xnet.com) Received: from xnet.com (selkovjr@selkovjr.xnet.com [205.243.141.67]) by antares.mcs.anl.gov (8.6.10/8.6.10) with ESMTP id QAA23534; Wed, 21 Apr 1999 16:45:22 -0500 Message-Id: <199904212145.QAA23534@antares.mcs.anl.gov> To: "Brett W. McCoy" , pgsql-interfaces@postgreSQL.org To: "Gene Selkov, Jr." Subject: Re: [INTERFACES] Detecting existance of table In-Reply-To: Your message of "Wed, 21 Apr 1999 19:00:20 EDT." Date: Wed, 21 Apr 1999 16:45:16 -0400 From: "Gene Selkov Jr." > 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