vale, muchas gracias a todos por la info, voy a revisar sobre lo que me enviaron para saber cual puede ser la mas viable.
Saludos El 2 de mayo de 2018, 7:10, <gilberto.casti...@etecsa.cu> escribió: > 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/ >> > -- ------------------------------------------------------------------ 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