RE: Auditing via logical decoding

From: <from_postgres(at)safetyphil(dot)com>
To: "'Tomas Vondra'" <tomas(dot)vondra(at)2ndquadrant(dot)com>, <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: RE: Auditing via logical decoding
Date: 2018-07-27 14:43:02
Message-ID: 011301d425b8$1f3f7690$5dbe63b0$@safetyphil.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

>> We have been using our own trigger-based audit system at my firm
>> successfully for some years, but the performance penalty is starting to
>> grate a bit and so I have been tasked with seeing if we can make use of
>> the new logical decoding functions to achieve the same thing. I thought
>> that someone must already have written something that would satisfy our
>> use-case but my internet searches have come up short so far so I am
>> considering writing a logical decoding plugin to do what we want.

> Have you checked pgaudit [1]? I haven't checked if it matches all your
> requirements, but considering it's an extension aimed at auditing use
> cases it might. And it's already available, of course.

Actually no, I hadn't come across this before, thanks for the heads up. It is important for us to be able to get the audit data back into a different database, but it looks like I could scrape the logs and do that. At the very least it shows that it is possible to hook into postgres in the right places to emit extra logical messages if that turns out to be the better way to do it.

It doesn't appear to support application_name, nor the connection details of the user doing the update - but perhaps that would be just as sensible to add it here than in a logical output plugin.

It's a bit tricky coming to a big codebase like postgres and trying to decide the best route of doing something; I don't have much of a mental model about how complicated the various systems are :)

Kind Regards,

Phil

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2018-07-27 14:44:55 Re: How can we submit code patches that implement our (pending) patents?
Previous Message Bossart, Nathan 2018-07-27 14:40:42 Re: BUG #15182: Canceling authentication due to timeout aka Denial of Service Attack