Peter Eisentraut <pete...@gmx.net> wrote: > On 2/20/13 2:30 PM, Kevin Grittner wrote: >>> Are there TRUNCATE triggers on materialized views? >> No. Nor SELECT, INSERT, UPDATE, or DELETE triggers. You can't >> create a trigger of any type on a materialized view. I don't >> think that would interfere with event triggers, though. > > More generally, I would consider the invalidation of a > materialized view a DDL command, whereas truncating a table is a > DML command.
The force of that assertion is somewhat undercut by the fact that the ExecuteTruncate() function does exactly what needs to be done to discard the data in a materialized view and make it appear as non-scannable. Even if we dress it up with different syntax, it's not clear that we wouldn't build a TruncateStmt in the parser and pass it through exactly the same execution path. We would just need to look at the relkind to generate a different command tag. > This has various implications with triggers, logging, > permissions. I think it's not good to mix those two. Could you give a more concrete example of where you see a problem? -- Kevin Grittner EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers