Re: Obtener Direccion IP de la Maquina

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....
> >
>
>

In response to

Responses

Browse pgsql-es-ayuda by date

  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