2016-10-03 30 views
2

我有一個事件觸發器,它在創建,修改和刪除表時執行。在事件觸發器中獲取表名

create event trigger CustomizeTable 
    on ddl_command_end 
    when tag in ('create table', 'alter table', 'drop table') 
    execute procedure CustomizeTable(); 

在這個過程中,我想在新創建的表上創建一個觸發器。

create or replace function CustomizeTable() returns event_trigger as 
$$ 
begin 
     EXECUTE 'create trigger DoAudit after update on XXXXXX... 
end; 
$$ 
language plpgsql; 

如何在事件觸發器中獲取表名?

我嘗試使用TG_TABLE_NAME如解釋here但似乎這隻適用於非事件觸發器。

回答

3

您必須使用the documentation中描述的事件觸發信息功能。

+0

哦,我在那個網站的9.4文檔,只是看到它從9.5開始擴展。感謝那。 – ChrisB