ayuda con el ip del usuario

From: "Linder Poclaba" <linder(dot)poclaba(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: ayuda con el ip del usuario
Date: 2006-05-29 14:25:56
Message-ID: 5aa69e1b0605290725r4c3d920ak451fb359ef89ca6e@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola lista, tenia un pregunta, quiero insertar en una tabla el ip del
usuario que se conecto a mi base de datos, uso la funcion

inet_client_addr()

pero al insertar no me muestra nada, el campo al cual inserto es de tipo
cidr

la estructura de la tabla es:

Table "public.bitacora"
Column | Type | Modifiers
--------------+---------+----------------------------------------------------------------
id_bitacora | integer | not null default
nextval('bitacora_id_bitacora_seq'::regclass)
id_usuario | integer |
usuario | text |
ip_pc | cidr |
fecha_inicio | date |
fecha_fin | date |
Indexes:
"bitacora_pkey" PRIMARY KEY, btree (id_bitacora)

y mi funcion es:

CREATE OR REPLACE FUNCTION accion_usuario() RETURNS TRIGGER AS $$
DECLARE
id_u int;
BEGIN
IF(TG_OP = 'INSERT') OR (TG_OP = 'DELETE') OR (TG_OP = 'UPDATE') THEN
SELECT usesysid INTO id_u from pg_user where usename =
current_user;
INSERT INTO bitacora(id_usuario,usuario,ip_pc,fecha_inicio)
values (id_u,current_user,inet_client_addr(),'now');
END IF;
IF (TG_OP = 'INSERT') OR (TG_OP = 'UPDATE')THEN
RETURN NEW;
END IF;
IF (TG_OP = 'DELETE') THEN
RETURN OLD;
END IF;

END;
$$
LANGUAGE plpgsql;

Que estoy haciendo mal?

Gracias y saludos.

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Julio Rivero 2006-05-29 14:38:33 Re: Ayuda para Respaldo...
Previous Message Carlos Alberto Cianci 2006-05-29 14:19:14 Crear tablespace