Re: Log de conexion

From: Jairo Graterón <jgrateron(at)gmail(dot)com>
To: Carlos Edward Grajales Marmolejo <cgrajales(at)colombiasoftware(dot)net>
Cc: Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Log de conexion
Date: 2018-05-01 20:03:52
Message-ID: CALnU-rMU81gh91LUtWp9PrHNq=h6R40rxrhHKbo5KTY2qRBrSg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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 <
cgrajales(at)colombiasoftware(dot)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
> Cel. 318 359 46 15
> Tel: (2) 487 64 66
>

In response to

  • Log de conexion at 2018-04-30 23:19:46 from Carlos Edward Grajales Marmolejo

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message mauricio pullabuestan 2018-05-02 02:56:57 Diferencia entre timestamp a interval en formato horas
Previous Message Lucas Luengas 2018-05-01 19:47:27 Re: Log de conexion