Re: Determining table change in an event trigger

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Determining table change in an event trigger
Дата
Msg-id 20160824045843.GA191805@alvherre.pgsql
обсуждение исходный текст
Ответ на Determining table change in an event trigger  (Jonathan Rogers <jrogers@emphasys-software.com>)
Ответы Re: Determining table change in an event trigger  (Jonathan Rogers <jrogers@emphasys-software.com>)
Список pgsql-general
Jonathan Rogers wrote:
> I am trying to use an event trigger to do something when a column
> changes. I can declare an event trigger "ON sql_drop WHEN TAG IN ('ALTER
> TABLE')" to get dropped columns. However, I can't figure out any good
> way to determine when a column has been added or altered.
>
> I can declare an event trigger "ON ddl_command_end WHEN TAG IN ('ALTER
> TABLE')" but that gets unwanted events such as disabling triggers on a
> table. Function pg_event_trigger_ddl_commands() returns rows with column
> "command" of type "pg_ddl_command" which contains "a complete
> representation of the command, in internal format." According to the
> docs, this cannot be output directly, but it can be passed to other
> functions to obtain different pieces of information about the command.
> However, I cannot find any other functions which operate on the type
> pg_ddl_command. Am I missing something? Is the documentation lacking?

Yeah, that type can only be processed by C functions.  You'd need to
write a C function to examine the structure and see whether it matches
what you need.

--
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


В списке pgsql-general по дате отправления:

Предыдущее
От: Craig James
Дата:
Сообщение: Re: Foreign key against a partitioned table
Следующее
От: Thomas Güttler
Дата:
Сообщение: ElasticSearch Beats