event triggers in 9.3.4 - Mailing list pgsql-general

From Vasudevan, Ramya
Subject event triggers in 9.3.4
Date
Msg-id 20EE50F73664E744AF948F0106FE6DFA585A790C@SEAMBX01.sea.corp.int.untd.com
Whole thread Raw
Responses Re: event triggers in 9.3.4  (Adrian Klaver <adrian.klaver@aklaver.com>)
Re: event triggers in 9.3.4  (hubert depesz lubaczewski <depesz@gmail.com>)
List pgsql-general

 

I set up the following to log all DDLs executed in the database:

 

CREATE TABLE log_ddl_info(ddl_tag text, ddl_event text, ddl_time timestamp);

 

CREATE OR REPLACE FUNCTION log_ddl_execution()

RETURNS event_trigger AS $$

DECLARE

insertquery TEXT;

BEGIN

insertquery := 'INSERT INTO log_ddl_info VALUES (''' || tg_tag ||''', ''' || tg_event || ''', statement_timestamp())';

EXECUTE insertquery;

RAISE NOTICE 'Recorded execution of command % with event %', tg_tag, tg_event;

END;

$$ LANGUAGE plpgsql;

 

CREATE EVENT TRIGGER log_ddl_info_start  ON ddl_command_start EXECUTE PROCEDURE log_ddl_execution();

CREATE EVENT TRIGGER log_ddl_info_end   ON ddl_command_end  EXECUTE PROCEDURE log_ddl_execution();

 

Is there a way to log the object name (or the oid) in the function?           

 

Thank you,

________________

Ramya Vasudevan

Database Administrator

 

CLASSMATES

333 Elliott Ave. West, Suite 500

Seattle, WA 98119

206.301.4933 o

 

pgsql-general by date:

Previous
From: Nick Guenther
Date:
Subject: Re: Watching Views
Next
From: Adrian Klaver
Date:
Subject: Re: event triggers in 9.3.4