A question relative to creating an audit table
I ma considering setting up a function, and triggers to put a record in an
audit table when certain tables are altered. I pretty much think I know how
to do this, with one exception.
Can a function, called by a trigger, determine what table it was called
for?
--
"They that would give up essential liberty for temporary safety deserve
neither liberty nor safety."
-- Benjamin Franklin
Why not to pass TG_TABLE_SCHEMA and TG_TABLE_NAME in its arguments?
Show quoted text
On 27. Feb 2020, at 22:28, stan <stanb@panix.com> wrote:
I ma considering setting up a function, and triggers to put a record in an
audit table when certain tables are altered. I pretty much think I know how
to do this, with one exception.Can a function, called by a trigger, determine what table it was called
for?--
"They that would give up essential liberty for temporary safety deserve
neither liberty nor safety."
-- Benjamin Franklin
On 2/27/20 1:28 PM, stan wrote:
I ma considering setting up a function, and triggers to put a record in an
audit table when certain tables are altered. I pretty much think I know how
to do this, with one exception.Can a function, called by a trigger, determine what table it was called
for?
Asked and answered:
/messages/by-id/CAKFQuwY=wXXLZBJMv5ULk4P4B5sF+fnZXWThp-UGERE-NxEb4w@mail.gmail.com
--
Adrian Klaver
adrian.klaver@aklaver.com
On 27/02/2020 22:28, stan wrote:
I ma considering setting up a function, and triggers to put a record in an
audit table when certain tables are altered. I pretty much think I know how
to do this, with one exception.
There are extensions out there that deal with this for you. Here is
one: https://github.com/xocolatl/periods/
Can a function, called by a trigger, determine what table it was called
for?
Yes.
--
Vik Fearing
On Thu, Feb 27, 2020 at 10:30:15PM +0100, Andrei Zhidenkov wrote:
Why not to pass TG_TABLE_SCHEMA and TG_TABLE_NAME in its arguments?
On 27. Feb 2020, at 22:28, stan <stanb@panix.com> wrote:
I ma considering setting up a function, and triggers to put a record in an
audit table when certain tables are altered. I pretty much think I know how
to do this, with one exception.Can a function, called by a trigger, determine what table it was called
for?
I suppose I could do that. I have in mind a single function to accomplish the
audit log, but I will have to have unique triggers for each table. I was
just hoping not to have to do that. Are these values that I could read
automatically? Or do I have to hard code them?
--
"They that would give up essential liberty for temporary safety deserve
neither liberty nor safety."
-- Benjamin Franklin
Please, read chapter 43.10.1 of the PostgreSQL documentation (https://www.postgresql.org/docs/11/plpgsql-trigger.html <https://www.postgresql.org/docs/11/plpgsql-trigger.html>). Just to be sure we are on the same page.
Show quoted text
On 28. Feb 2020, at 14:59, stan <stanb@panix.com> wrote:
On Thu, Feb 27, 2020 at 10:30:15PM +0100, Andrei Zhidenkov wrote:
Why not to pass TG_TABLE_SCHEMA and TG_TABLE_NAME in its arguments?
On 27. Feb 2020, at 22:28, stan <stanb@panix.com> wrote:
I ma considering setting up a function, and triggers to put a record in an
audit table when certain tables are altered. I pretty much think I know how
to do this, with one exception.Can a function, called by a trigger, determine what table it was called
for?I suppose I could do that. I have in mind a single function to accomplish the
audit log, but I will have to have unique triggers for each table. I was
just hoping not to have to do that. Are these values that I could read
automatically? Or do I have to hard code them?--
"They that would give up essential liberty for temporary safety deserve
neither liberty nor safety."
-- Benjamin Franklin