From: | Gunnar Wolf <gwolf(at)gwolf(dot)org> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Funciones para iterar sobre tipos inet/cidr |
Date: | 2005-04-14 17:28:02 |
Message-ID: | 20050414172802.GA21517@gwolf.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola gente,
Estoy haciendo un programita para administración de redes. Decidí que
el usuario final debe tener tan poco contacto directo con la BD como
sea posible... Pero no encuentro cómo hacer esto: Tengo las siguientes
tablas:
CREATE TABLE networks (
id serial PRIMARY KEY,
name text,
netaddr cidr NOT NULL,
gateway inet
);
CREATE TABLE ip (
ip inet PRIMARY KEY,
mac macaddr,
(...y otros campos irrelevantes)
);
Ahora, quiero montar un trigger que al crear una red, cree todas las
entradas para las IPs contenidas en ella. Mi idea original era
comenzar con thisip:=network(netaddr) e ir creando las entradas en ip
una a una, incrementando la IP en uno cada vez, hasta que deje de ser
verdadero que thisip << netaddr.
¿Mi problema? Que no encuentro manera de efectuar aritmética sobre
direcciones IP :-( ¿Cómo puedo iterar (desde un trigger) sobre las
direcciones de una red?
Saludos,
--
Gunnar Wolf - gwolf(at)gwolf(dot)org - (+52-55)1451-2244 / 5554-9450
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF
From | Date | Subject | |
---|---|---|---|
Next Message | Leonel Nunez | 2005-04-14 17:58:46 | Re: Funciones para iterar sobre tipos inet/cidr |
Previous Message | Roberto Cesar Najera | 2005-04-14 17:26:30 | tipo de dato money |