Я искал триггер события, который сработал после создания таблицы. Я нашел здесь несколько хороших постов и провел несколько тестов. Моя проблема в том, что ничего не происходит, ни ошибок, ни вывода. Поэтому, пожалуйста, дайте несколько советов, что я делаю неправильно. Вот мой код.
Я новичок в postgres, пришёл от oracle, поэтому, пожалуйста, прости меня за этот, возможно, «простой» вопрос.
create table createt (tname char(20));
CREATE OR REPLACE FUNCTION insert()
RETURNS event_trigger
AS $$
DECLARE r RECORD;
BEGIN
r := pg_event_trigger_ddl_commands();
INSERT INTO createt VALUES(r.object_identity);
END;
$$
LANGUAGE plpgsql;
CREATE EVENT TRIGGER insert_event ON ddl_command_end
WHEN TAG IN ('CREATE TABLE')
EXECUTE PROCEDURE insert();
Итак, в этом тестовом примере я хочу поместить имя таблицы вновь созданной таблицы в таблицу createt! Но ничего не происходит. Как я могу проверить, сработал ли триггер. Или как я могу отладить функцию?
Спасибо за ваше время и советы.