> Is this asymmetry a bug? I realize these event trigger functions are typically written in C, but I'd like to keep this idea contained to a plpgsql function and cover as many reversible changes as I can.
This is the expected behavior since pg_event_trigger_ddl_commands function does not return object_name unlike the pg_event_trigger_dropped_objects. https://www.postgresql.org/docs/9.6/functions-event-triggers.html Logging the statement through log_statement=ddl or higher is the only way I see to capture the details of alter statement. On Tue, May 12, 2020 at 4:57 AM Michel Pelletier <pelletier.mic...@gmail.com> wrote: > I'm writing a script that "reverses" ddl operations in an "up" script by > capturing event triggers and generating a "down" script for reverting. > I've got it working great for tables, indexes, etc, but it seems ADD COLUMN > doesn't sent an event, here's the code i'm using, pasted straight from the > documentation: > > https://gist.github.com/michelp/c6daa1c123c4743be4f8b08fad5d5396 > > And here's the results I get, I get an event for dropping a column, but > not adding one: > > postgres=# create table foo (bar int); > NOTICE: CREATE TABLE created object: table public public.foo > CREATE TABLE > postgres=# alter table foo add column baz int; > NOTICE: ALTER TABLE created object: table public public.foo > ALTER TABLE > postgres=# alter table foo drop column bar; > NOTICE: ALTER TABLE dropped object: table column public.<NULL> > public.foo.bar > NOTICE: ALTER TABLE created object: table public public.foo > ALTER TABLE > postgres=# > > Is this asymmetry a bug? I realize these event trigger functions are > typically written in C, but I'd like to keep this idea contained to a > plpgsql function and cover as many reversible changes as I can. > > Thank you, > > -Michel > -- Thanks, Mohamed Tanveer 988-061-3565 www.linkedin.com/in/tanveermunavar