Re: system_information.triggers & truncate triggers - Mailing list pgsql-hackers

From Tom Lane
Subject Re: system_information.triggers & truncate triggers
Date
Msg-id 22677.1348668141@sss.pgh.pa.us
Whole thread Raw
In response to Re: system_information.triggers & truncate triggers  (Daniel Farina <daniel@heroku.com>)
Responses Re: system_information.triggers & truncate triggers  (Simon Riggs <simon@2ndQuadrant.com>)
Re: system_information.triggers & truncate triggers  (Christopher Browne <cbbrowne@gmail.com>)
List pgsql-hackers
Daniel Farina <daniel@heroku.com> writes:
> On Tue, Sep 25, 2012 at 10:55 PM, Jaime Casanova <jaime@2ndquadrant.com> wrote:
>> The definition of information_schema.triggers contains this:
>> -- TRIGGER_TYPE_UPDATE; we intentionally omit TRIGGER_TYPE_TRUNCATE
>> so it seems that we are not showing TRUNCATE triggers intentionally,
>> but that comment fails to explain why

> Wouldn't it be because TRUNCATE is a PostgreSQL language extension?

Yeah.  The SQL standard specifies the allowed values in that column,
and TRUNCATE is not among them.

For similar reasons, you won't find exclusion constraints represented
in the information_schema views, and there are some other cases that
I don't recall this early in the morning.

The point of the information_schema (at least IMHO) is to present
standard-conforming information about standard-conforming database
objects in a standard-conforming way, so that cross-DBMS applications
can rely on what they'll see there.  If you are doing anything that's
not described by the SQL standard, you will get at best an incomplete
view of it from the information_schema.  In that case you're a lot
better off looking directly at the underlying catalogs.

(Yes, I'm aware that some other DBMS vendors have a more liberal
interpretation of what standards compliance means in this area.)
        regards, tom lane



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Doc patch to note which system catalogs have oids
Next
From: Tom Lane
Date:
Subject: Re: htup header reorganization breaks many extension modules