35.55. triggers

Представление triggers показывает все триггеры, определённые в текущей базе данных для таблиц и представлений, к которым имеет доступ текущий пользователь (являясь владельцем или имея некоторые права, кроме SELECT).

Таблица 35.53. Столбцы triggers

ИмяТип данныхОписание
trigger_catalogsql_identifierИмя базы данных, содержащей триггер (всегда текущая база)
trigger_schemasql_identifierИмя схемы, содержащей триггер
trigger_namesql_identifierИмя триггера
event_manipulationcharacter_dataСобытие, вызывающие срабатывание триггера (INSERT, UPDATE или DELETE)
event_object_catalogsql_identifierИмя базы данных, содержащей таблицу, для которой определён триггер (всегда текущая база)
event_object_schemasql_identifierИмя схемы, содержащей таблицу, для которой определён триггер
event_object_tablesql_identifierИмя таблицы, для которой определён триггер
action_ordercardinal_numberПорядок срабатывания триггеров, имеющих одинаковые свойства event_manipulation, action_timing и action_orientation. В Postgres Pro триггеры срабатывают по порядку их имён, что и отражается в этом столбце.
action_conditioncharacter_dataУсловие WHEN триггера, либо NULL, если его нет (так же NULL, если таблица не принадлежит текущей активной роли)
action_statementcharacter_dataОператор, выполняемый триггером (в настоящее время всегда EXECUTE FUNCTION функция(...))
action_orientationcharacter_dataОпределяет, срабатывает ли триггер для каждой обрабатываемой строки или только для каждого оператора (ROW или STATEMENT)
action_timingcharacter_dataМомент срабатывания триггера (BEFORE (до), AFTER (после) или INSTEAD OF (вместо))
action_reference_old_tablesql_identifierИмя «старой» переходной таблицы либо NULL, если её нет
action_reference_new_tablesql_identifierИмя «новой» переходной таблицы либо NULL, если её нет
action_reference_old_rowsql_identifierОтносится к функциональности, отсутствующей в Postgres Pro
action_reference_new_rowsql_identifierОтносится к функциональности, отсутствующей в Postgres Pro
createdtime_stampОтносится к функциональности, отсутствующей в Postgres Pro

Триггеры в Postgres Pro несовместимы со стандартом в двух аспектах, которые влияют на их представление в информационной схеме. Во-первых, имена триггеров являются локальными для каждой таблицы в Postgres Pro, а не независимыми объектами схемы. Таким образом, в одной схеме могут быть дублирующиеся имена триггеров, если они принадлежат разным таблицам. (Значения trigger_catalog и trigger_schema на самом деле относятся к таблице, для которой определён триггер.) Во-вторых, триггеры в Postgres Pro могут срабатывать при нескольких событиях (например, ON INSERT OR UPDATE), тогда как стандарт SQL допускает только одно событие. Если триггер настроен на несколько событий, он представляется в информационной схеме в виде нескольких строк, по одной для каждого типа события. Вследствие этих двух особенностей, первичный ключ в представлении triggers на самом деле (trigger_catalog, trigger_schema, event_object_table, trigger_name, event_manipulation), а не (trigger_catalog, trigger_schema, trigger_name), как должно быть согласно стандарту SQL. Однако если определять триггеры в строгом соответствии со стандартом SQL (чтобы имена триггеров были уникальны в схеме и каждый триггер связывался только с одним событием), это расхождение никак не проявится.

Примечание

До PostgreSQL 9.1 в этом представлении столбцы action_timing, action_reference_old_table, action_reference_new_table, action_reference_old_row и action_reference_new_row назывались condition_timing, condition_reference_old_table, condition_reference_new_table, condition_reference_old_row и condition_reference_new_row, соответственно. Старые имена были продиктованы стандартом SQL:1999. Новые имена соответствуют стандарту SQL:2003 и более поздним.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy