Search Postgresql Archives

Re: How to determine table schema in trigger function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2005-08-18 at 17:02 +0300, Andrus wrote: 
> I created generic (for tables in different schemas) trigger function :
> 
> CREATE OR REPLACE FUNCTION setlastchange() RETURNS "trigger"
> AS $$BEGIN
> UPDATE serverti SET lastchange='now'  WHERE tablename=TG_RELNAME and
>    schemaname=TG_SCHEMA;
> RETURN NULL;
> END$$  LANGUAGE plpgsql STRICT;
> 
> 
> Unfortunately, this does not work since TG_SCHEMA is not valid in PL/pgSQL
> 
> How to determine schema name where table TG_RELNAME belongs in trigger 
> function ?

How about extracting relnamespace from pg_catalog.pg_class?

  UPDATE serverti SET lastchange='now'
    WHERE tablename=TG_RELNAME and schemaname=(
            SELECT  n.nspname
              FROM  pg_catalog.pg_namespace AS n,
                    pg_catalog.pg_class AS c
              WHERE c.relnamespace = n.oid AND
                    c.oid = TG_RELID
         );


---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux