From: | Andres Ortiz <ing(dot)andresortiz(at)gmail(dot)com> |
---|---|
To: | Alfredo Rico <alfredorico(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Obtener Direccion IP de la Maquina |
Date: | 2005-12-12 19:55:23 |
Message-ID: | 4f5cefbe0512121155k1448e947r@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Saludos Alfredo, El fin ultimo de conseguir la direccion IP es saber que
maquina fue la que entro dentro de un rango de direcciones que yo especifico
en el pg_hba.conf y asi saber quien modifico la informacion de una tabla, de
acuerdo a investigaciones que he hecho me tope con una funcion escrita en C
que al final expongo, pero soy novato en postgres y no he podido ponerla a
funcionar, primero que todo se que debo crear el archivo .so (objeto
compartido), con la orden: gcc -fpic -c get_ip.c -I/usr/local/pgsql/include
logro esto, ahora bien, me salen una serie de errores que al parecer son por
la falta de la libreria postgres.h, ahy es donde no se como hacer, si
descargo la libreria o que??, estoy ya loco con este tema. Te agradeceria si
me puedes guir paso a paso con esto.
A continuación pongo la función
#include "postgres.h"
#include "miscadmin.h"
#include "libpq/libpq.h"
extern Datum get_ip_address(PG_FUNCTION_ARGS);
PG_FUNCTION_INFO_V1(get_ip_address);
extern Datum
get_ip_address(PG_FUNCTION_ARGS)
{
char remote_addr_s[NI_MAXHOST];
char remote_port[NI_MAXSERV];
text *ptext;
getnameinfo_all(&(MyProcPort->raddr.addr), MyProcPort->raddr.salen,
remote_addr_s, sizeof(remote_addr_s),
remote_port, sizeof(remote_port),
NI_NUMERICHOST | NI_NUMERICSERV);
ptext = DatumGetTextP(DirectFunctionCall1(textin,
CStringGetDatum(&remote_addr_s[0])));
if (ptext == NULL)
PG_RETURN_NULL();
PG_RETURN_TEXT_P(ptext);
}
Buen día.
El día 9/12/05, Alfredo Rico <alfredorico(at)gmail(dot)com> escribió:
> Hola Andres,
>
> si lo que necesitas es restringir el acceso a clientes desde ciertas
> direcciones IP, puedes editar el archivo pg_hba.conf
>
> Saludos cordiales.
> Alfredo Rico.-
>
>
> On 12/6/05, Andres Ortiz <ing(dot)andresortiz(at)gmail(dot)com> wrote:
> >
> > Saludos a los que hacen grande esta lista, necesito obtener la direccion
> > IP de una maquina remota que se conecta a mi base de datos en PostgreSQL
> > 7.4 como parte final para completar una rule, existe alguna forma o
> > funcion que me lo permita?, Gracias a un participante de esta lista se que
> > con la funcion inet_client_addr() se puede en la version 8, pero que hay
> > para la version 7?. Saludos....
> >
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Roberto Aguirre | 2005-12-12 20:18:10 | RE: PROCEDURE para invocar desde PowerBuilder |
Previous Message | Mario Guerrero | 2005-12-12 19:19:22 | Crear un serial en un Select Into |