Acionadores de eventos para RDS para PostgreSQL - Amazon Relational Database Service

Acionadores de eventos para RDS para PostgreSQL

Todas as versões atuais do PostgreSQL suportam acionadores de eventos, assim como todas as versões disponíveis do RDS para PostgreSQL. Você pode usar a conta de usuário principal (padrão, postgres) para criar, modificar, renomear e excluir acionadores de eventos. Os acionadores de eventos estão no nível da instância do banco de dados, portanto, podem ser aplicados a todos os bancos de dados em uma instância.

Por exemplo, o código a seguir cria um acionador de evento que imprime o usuário atual no final de cada comando de linguagem de definição de dados (DDL).

CREATE OR REPLACE FUNCTION raise_notice_func() RETURNS event_trigger LANGUAGE plpgsql AS $$ BEGIN RAISE NOTICE 'In trigger function: %', current_user; END; $$; CREATE EVENT TRIGGER event_trigger_1 ON ddl_command_end EXECUTE PROCEDURE raise_notice_func();

Para obter mais informações sobre os triggers de eventos do PostgreSQL, consulte Triggers de eventos na documentação do PostgreSQL.

Há várias limitações de uso para os acionadores de eventos do PostgreSQL no Amazon RDS. Incluindo o seguinte:

  • Não é possível criar gatilhos de eventos em réplicas de leitura. No entanto, você pode criar triggers de eventos na origem de uma réplica de leitura. Os acionadores de eventos serão copiados para a réplica de leitura. Os triggers de eventos na réplica de leitura não são acionados nela quando há mudanças provenientes da origem. No entanto, se a réplica de leitura for promovida, os acionadores de eventos existentes serão ativados quando ocorrerem operações do banco de dados.

  • Para realizar uma atualização de versão principal da instância de banco de dados do PostgreSQL que usa acionadores de eventos, exclua os acionadores antes de atualizar a instância.