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
|
Список | 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 по дате отправления: