Hola,

Existe un modulo pgAudit, revisa por ahí va y hace lo que necesitas.

Saludos,

Gilberto

On 2018-05-01 16:03, Jairo Graterón wrote:
Saludos,

De repente hay alguna solución más optima pero usé esta manera

primero crear una tabla en una BD distinta a la de producción

create table auditoria_session
(
 idauditoria serial not null,
 datname name not null,
 usename name not null,
 application_name text not null,
 client_addr inet not null,
 client_port integer not null,
 backend_start timestamp not null,
 primary key(idauditoria),
 unique ( datname, usename, application_name, client_addr,
client_port, backend_start)
);

Y en un proceso aparte ( un programa en C, Python) se hace una
consulta a pg_stat_activity cada dos o tres segundos para no crear
carga en el servidor, se guardan los registros que no estén en
auditoria_session.

insert into auditoria_session (datname, usename, application_name,
client_addr, client_port, backend_start)

select datname, usename, application_name, client_addr, client_port,
backend_start from pg_stat_activity
where (datname, usename, application_name, client_addr, client_port,
backend_start ) NOT IN
(select datname, usename, application_name, client_addr, client_port,
backend_start from auditoria_session)

Unos cientos de registros diarios no creo que ocupen mucho en el
disco, pero se pueden eliminar algunos datos cada ciertos meses.

El 30 de abril de 2018, 19:19, Carlos Edward Grajales Marmolejo
<cgraja...@colombiasoftware.net> escribió:

Buenas tardes.

Alguien de la lista sabe si existe alguna forma de capturar las
conexiones realizadas a una base de datos?, diferente al log de
postgres???

Requiero saber la siguiente informacion:
1. ip de conexion
2. base de datos de conexion
3. fecha y hora de conexion
4. cualquier informacion adicional.

Se wue mediante el log de porstgres se puede obtener esta
informacion, sin embargo quisiera saber si existe un metodo
alternativo.

Algo asi como un trigger que se dispare al momento de la conexion y
poder almacenar dicha informacion en una tabla independiente desde
que cliente lo haga (psql, pgadmin, software, aplicacion, etc).

O si dicha informacion esta presente en alguna tabla para
recolectarla..

Gracias por la colaboracion.

--

------------------------------------------------------------------

Cordialmente,

_CARLOS EDWARD GRAJALES_
Colombia Software Ltda.

* Calle 26N# 5AN-67

Cali - Colombia
www.colombiasoftware.net [1]
Cel. 318 359 46 15
Tel: (2) 487 64 66



Links:
------
[1] http://www.colombiasoftware.net/

Reply via email to