From: | Tanveer Munavar <mohamedtanveer007(at)gmail(dot)com> |
---|---|
To: | Michel Pelletier <pelletier(dot)michel(at)gmail(dot)com> |
Cc: | pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Firing an event trigger for ADD COLUMN? |
Date: | 2020-05-12 00:07:15 |
Message-ID: | CAE2XJrO+2aUjyeJwswbQPqhGDWdipYpOSn9kMuDnTi=WwM3w8w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
> 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(dot)michel(at)gmail(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2020-05-12 00:23:05 | Re: Firing an event trigger for ADD COLUMN? |
Previous Message | Michel Pelletier | 2020-05-11 23:26:53 | Firing an event trigger for ADD COLUMN? |