我可以为创建表或选择进入事件触发器创建翻译。例如:当创建表xxxx时,表名必须以“temp”开头。
我的代码
我的代码
CREATE OR REPLACE FUNCTION create_table_func()
RETURNS event_trigger
AS
$$
DECLARE
V_TABLE name := TG_TABLE_NAME;
BEGIN
if V_TABLE !~ '^temp'
then
RAISE EXCEPTION 'must bigen with temp';
end if;
END;
$$ LANGUAGE plpgsql SECURITY DEFINER;
CREATE EVENT TRIGGER create_table_1 ON ddl_command_start
WHEN TAG IN ('SELECT INTO')
EXECUTE PROCEDURE create_table_func();
但是当执行select * into test11 from test_bak时
[错误] 错误:列"tg_table_name"不存在