O catálogo pg_trigger armazena informações sobre os gatilhos existentes em tabelas e visões. Veja CREATE TRIGGER para obter mais informações.
Tabela 52.58. Colunas de pg_trigger
Coluna Tipo de dados Descrição |
|---|
Identificador da linha |
Tabela onde o gatilho se encontra |
Gatilho pai do qual este gatilho é clonado (isto acontece quando são criadas ou anexadas partições a uma tabela particionada); zero se não for um clone |
Nome do gatilho (deve ser único entre os gatilhos da mesma tabela) |
Função a ser chamada |
Máscara de bits que identifica as condições de disparo do gatilho |
Controla em que modos de
session_replication_role o gatilho dispara:
|
Verdade se o gatilho foi gerado internamente (geralmente, para impor
a restrição identificada por |
Tabela referenciada por uma restrição de integridade referencial (zero se o gatilho não for para uma restrição de integridade referencial) |
Índice que dá suporte à restrição de unicidade, chave primária, integridade referencial ou de exclusão (zero se o gatilho não for para um desses tipos de restrição) |
A entrada em pg_constraint associada ao gatilho (zero se o gatilho não for para uma restrição) |
Verdade se o gatilho de restrição for postergável |
Verdade se o gatilho de restrição for inicialmente postergado |
Número de cadeias de caracteres de argumento passadas para a função de gatilho |
Números de coluna, se o gatilho for específico de coluna; caso contrário, uma matriz vazia |
Cadeias de caracteres de argumentos a serem passadas para o
gatilho, cada uma terminada em |
Árvore de expressão (na representação
|
Nome da cláusula |
Nome da cláusula |
No momento, o disparo específico de coluna tem suporte apenas para
eventos UPDATE e, portanto,
tgattr é relevante apenas para este tipo
de evento.
tgtype pode conter bits para outros tipos
de evento também, mas presume-se que sejam de toda a tabela,
independentemente do que esteja em tgattr.
Quando tgconstraint é diferente de zero,
tgconstrrelid,
tgconstrindid,
tgdeferrable e
tginitdeferred
são amplamente redundantes com a entrada em
pg_constraint referenciada.
Entretanto, é possível que um gatilho não postergável seja associado
a uma restrição postergável: restrições de chave estrangeira podem
ter alguns gatilhos postergáveis e outros não postergáveis.
pg_class.relhastriggers
deverá ser verdade se a relação tiver algum gatilho neste catálogo.
Exemplo 52.32. Exemplo do tradutor
Gatilhos existentes em tabelas e visões
Uso do catálogo pg_trigger para mostrar os gatilhos existentes em tabelas e visões da usuária ana.
ana=> SELECT tgrelid::regclass AS tabela, tgname AS gatilho ana-> FROM pg_trigger;
tabela | gatilho
---------------+------------------------------
autor | RI_ConstraintTrigger_a_34403
autor | RI_ConstraintTrigger_a_34404
literatura | RI_ConstraintTrigger_c_34405
literatura | RI_ConstraintTrigger_c_34406
pessoa_tipada | trg_imc_valor
test | gat_testa_validar_id
(6 linhas)