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@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to