Обсуждение: DB Audit

Поиск
Список
Период
Сортировка

DB Audit

От
misspaola@tiscali.it
Дата:

Hi,

I am using sybase ase as dbms and I would migrate to postgresql, but the absence of a built in DB audit functionality is a show stopper for me.

So I would know if there is a way to get information about DB events like:

server boots

login & logout

table access.

attempt to access particular objects
 
particular user’s actions.
 
Regards, Paola

 

Scopri istella, il nuovo motore per il web italiano.
Istella garantisce risultati di qualità e la possibilità di condividere, in modo semplice e veloce, documenti, immagini, audio e video.
Usa istella, vai su http://www.istella.it?wtk=amc138614816829636

Re: DB Audit

От
Albe Laurenz
Дата:
misspaola@tiscali.it wrote:
> I am using sybase ase as dbms and I would migrate to postgresql, but the absence of a built in DB
> audit functionality is a show stopper for me.
> 
> So I would know if there is a way to get information about DB events like:
> 
> server boots
> 
> login & logout
> 
> table access.
> 
> attempt to access particular objects
> 
> particular user’s actions.

You can use the server log file to record all these events.

You won't be able to define logging for only certain tables,
but it is possible to discriminate based on database or
logged on user.

Yours,
Laurenz Albe

Re: DB Audit

От
bricklen
Дата:

On Tue, Dec 10, 2013 at 6:53 AM, <misspaola@tiscali.it> wrote:

I am using sybase ase as dbms and I would migrate to postgresql, but the absence of a built in DB audit functionality is a show stopper for me.

So I would know if there is a way to get information about DB events like:

server boots

login & logout

table access.

attempt to access particular objects
 
particular user’s actions.

In addition to what Laurenz has mentioned,by default auditing does not exist, but there are ways to add your own, some of which include:

- https://github.com/2ndQuadrant/audit-trigger
- Create views over your tables which also select a db function to log SELECT access.
Eg.
create or replace view user_details as
select col1, col2, col3, col4, null as audit from some_table
union all select null, null, null, null, audit_function(current_user) as func;

There are probably other options, but I can't think of any off the top of my head at the moment. This question has come up in these lists before and on Stack Overflow, so you might want to search around a bit for other options.