Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

Next:From: Julio RiveroDate: 2006-05-29 14:38:33
Subject: Re: Ayuda para Respaldo...
Previous:From: Carlos Alberto CianciDate: 2006-05-29 14:19:14
Subject: Crear tablespace

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group