From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Thomas Kellerer <spam_eater(at)gmx(dot)net> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: How to extract information from pg_ddl_command type |
Date: | 2019-07-12 22:23:43 |
Message-ID: | 20190712222343.GA26924@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 2019-Jul-11, Thomas Kellerer wrote:
> The function pg_event_trigger_ddl_commands() returns several columns, one of them being "command" that is of the type "pg_ddl_command".
>
> The manual[1] describes this column as:
>
> > A complete representation of the command, in internal format.
> > This cannot be output directly, but it can be passed to other
> > functions to obtain different pieces of information about the
> > command.
>
> However, I can not find any of those "other functions" to extract information from that column.
>
> My goal is to get the complete SQL text that fired the event trigger - is that even possible through pg_event_trigger_ddl_commands()?
You need a C function. See the test module in
src/test/modules/test_ddl_deparse -- it contains a very simple
implementation that doesn't really do a lot, but maybe it helps. The
real meat of the thing is in an outdated module I wrote for 9.5. I
think the latest version of that was posted by Alexander Shulgin in 2015
here
https://postgr.es/m/CACACo5Q_UXYwF117LBhjZ3xaMPyrgqnqE=mXvRhEfjJ51aCfwQ@mail.gmail.com
or maybe it's here
https://postgr.es/m/CACACo5QQuAV+n4Gi+YA1JF_a+QenR6SJuP8CYdPSrXKa+FHS3A@mail.gmail.com
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Ken Tanzer | 2019-07-13 00:38:59 | Re: Compiling table_log for PG 11 / attisdropped |
Previous Message | Benedict Holland | 2019-07-12 21:08:44 | Re: Machine learning top of db logs |