Craig Ringer wrote:
Đỗ Ngọc Trí Cường wrote:
Dear all,
I've a problem but I search all the help file and can't find the solution.
I want to track all action of a specify role on all or one schema in
database.
Can you help me?
You can use statement-level logging, though there are no facilities in
statement-level logging to restrict what is logged to only one role's
activity.
You can use the usual audit triggers on database tables, which is what I
would recommend. Audit triggers in PostgreSQL cannot track reads
(SELECTs), only INSERT/UPDATE/DELETE and in 8.4 also TRUNCATE. They
cannot track ALTER/RENAME/DROP table, changes to sequences, etc. It is
trivial to write an audit trigger that only records anything when a user
is a member of a particular role.
Yes tracking SELECTs needs would have to go with a log file, since also
a DO INSTEAD rule on SELECT has to be another SELECT command, and cannot
e.g. be a INSERT followed by a SELECT.
Something similar is mentioned in this thread:
http://archives.postgresql.org/pgsql-performance/2008-07/msg00144.php
regards,
Yeb Havinga
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general