I'm trying to create a event trigger
, executed whenever a table is created.
When this happens I would like to insert into a table ( which has 2 columns id
and tablename
) the name of the table created. Reading the docs I'm not able to find how can i get the table name.
So far I have this:
CREATE OR REPLACE FUNCTION insert_layer()
RETURNS event_trigger
AS $$
DECLARE r RECORD;
BEGIN
RAISE NOTICE 'event for % ', tg_tag;
-- I would like to execute this
--EXECUTE format('INSERT INTO "public.Layers"(name) VALUES(' || tableNameHere || ')') INTO result;
END;
$$
LANGUAGE plpgsql;
CREATE EVENT TRIGGER insert_layer_event ON ddl_command_start
WHEN TAG IN ('CREATE TABLE')
EXECUTE PROCEDURE insert_layer();