PolarDB for PostgreSQL oferece suporte à extensão pgAudit. Essa extensão gera logs de auditoria frequentemente exigidos para certificações governamentais, financeiras ou ISO. Use esses logs para solucionar problemas, analisar comportamentos e rastrear o uso dos dados no banco de dados.
Aplicabilidade
O PolarDB for PostgreSQL é compatível com as seguintes versões:
PostgreSQL 17 (versão secundária do mecanismo 2.0.17.6.4.0 e posteriores)
PostgreSQL 16 (versão secundária do mecanismo 2.0.16.9.9.0 e posteriores)
PostgreSQL 14 (versão secundária do mecanismo 2.0.14.5.1.0 e posteriores)
PostgreSQL 11 (versão secundária do mecanismo 2.0.11.9.25.0 e posteriores)
Visualize a versão secundária do mecanismo no console ou execute a instrução SHOW polardb_version;. Se o cluster não atender ao requisito de versão, atualize a versão secundária do mecanismo.
Observações importantes
Visualize os logs de auditoria no SQL Explorer.
Uma conta privilegiada é necessária para definir os parâmetros da extensão.
Guia de uso
Instale a extensão
CREATE EXTENSION pgaudit;
Auditar operações de leitura
Execute o comando a seguir para auditar todas as operações de leitura no banco de dados pgaudit_testdb.
ALTER DATABASE pgaudit_testdb SET pgaudit.log = 'READ';
Após a execução do comando, todas as operações de leitura, como SELECT, no banco de dados pgaudit_testdb serão auditadas. As operações de escrita, como INSERT e UPDATE, não serão auditadas.
Auditar operações de leitura e escrita
Execute o comando a seguir para auditar todas as operações de leitura e escrita no banco de dados pgaudit_testdb.
ALTER DATABASE pgaudit_testdb SET pgaudit.log = 'READ,WRITE';
Após a execução do comando, todas as operações de leitura e escrita, como SELECT, INSERT e UPDATE, no banco de dados pgaudit_testdb serão auditadas.
Desativar a auditoria
ALTER DATABASE pgaudit_testdb SET pgaudit.log = 'NONE';
Auditar operações em um objeto específico
Execute os comandos a seguir para definir o usuário de auditoria no banco de dados pgaudit_testdb, crie uma tabela e conceder todas as permissões dessa tabela ao usuário.
CREATE USER audit_role;
ALTER DATABASE pgaudit_testdb SET pgaudit.role = 'audit_role';
CREATE TABLE test_audit (id INT);
GRANT ALL ON test_audit TO audit_role;
Após a execução dos comandos, apenas as operações na tabela test_audit do banco de dados pgaudit_testdb serão auditadas.
Desinstalar a extensão
DROP EXTENSION pgaudit;
Referências
Para obter mais informações sobre o pgAudit, consulte a documentação oficial do pgAudit.