PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Impedir a queda da tabela se as condições não forem atendidas


Imagino que você esteja tentando perguntar:

Nesse caso, sua única opção integrada é usar permissões. Consulte GRANT e REVOKE no manual do PostgreSQL.

Se você quiser algo mais complexo, você pode escrever um ProcessUtility_hook , mas isso requer que você escreva uma extensão em C que seja compilada e carregada no servidor.

Escrevendo um ProcessUtility_hook não é muito difícil, mas existem diferenças entre as definições do PostgreSQL 9.2 e 9.3 que significam que você precisará de extensões separadas. Aqui está um exemplo básico:https://github.com/ringerc/scrapcode/ tree/master/postgresql/example_processutility_hook e aqui está um gancho do ProcessUtility que realmente faz algo útil:https://github.com/ringerc/postgres/blob/bdr-reject-unsafe-commands/contrib/bdr/bdr_commandfilter.c

Se você não tem experiência em programação C e há algum tempo, um ProcessUtility_hook não é para você.

Veja também:Como evitar que a tabela seja descartada?