Saludos Tengo que implementar un sistema de replicación. Aún estamos definiendo, pero en principio va 1 principal en la sede, 2 esclavos en la sede (comor espaldos), 2 en 2 sucursales (1 en cada una).
He ido mirando y probando a partir de un material de Alvaro sobre Slony, y la documentación oficial. Hasta ahora, probé con 2 tablas y funcionó, pero cuando metí otra me tiró error. El scritp sh local2.sh : #!/bin/sh slonik <<_EOF_ cluster name = encuentro; node 1 admin conninfo = 'dbname=sir user=slony password=slony'; node 2 admin conninfo = 'host=192.168.0.12 dbname=sir user=slony password=slony'; create set (id=1, origin=1, comment='tablas del Encuentro Código Político'); set add table (set id=1, origin=1, id=1, full qualified name='public.region'); set add sequence (set id=1, origin=1, id=1, full qualified name='public.region_reg_001_seq'); set add table (set id=1, origin=1, id=2, full qualified name='public.estado'); set add sequence (set id=1, origin=1, id=2, full qualified name='public.estado_est_001_seq'); set add table (set id=1, origin=1, id=3, full qualified name='public.municipio'); set add sequence (set id=1, origin=1, id=3, full qualified name='public.municipio_id_seq'); echo 'Se ha creado el set 1 con la tabla de Region y Estado'; subscribe set (id=1, provider=1, receiver=2, forward=yes); echo 'El nodo 2 esta suscrito al set 1, proveedor es nodo 1'; _EOF_ El error: <stdin>:6: PGRES_FATAL_ERROR select "_encuentro".storeSet(1, 'tablas del Encuentro Código Político'); - ERROR: llave duplicada viola restricción de unicidad «sl_set-pkey» CONTEXT: sentencia SQL: «insert into "_encuentro".sl_set (set_id, set_origin, set_comment) values ( $1 , $2 , $3 )» PL/pgSQL function "storeset" line 13 at SQL statement Con las tablas region y estado, funciona perfecto! al meter municipios me salta el erro. Sin emabrgo, al tabla municipios tiene tan sólo 77 registros. He hecho una consulta y no hay valores nulos ni duplicados, de hecho, la estructura: CREATE TABLE municipio ( reg_001 character varying(2) NOT NULL, est_001 character varying(2) NOT NULL, mun_001 character varying(2) NOT NULL, mun_002 character varying(35) NOT NULL, id integer NOT NULL ); ALTER TABLE public.municipio OWNER TO carbonara; CREATE SEQUENCE municipio_id_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; ALTER TABLE public.municipio_id_seq OWNER TO carbonara; ALTER SEQUENCE municipio_id_seq OWNED BY municipio.id; ALTER TABLE municipio ALTER COLUMN id SET DEFAULT nextval('municipio_id_seq'::regclass); ALTER TABLE ONLY municipio ADD CONSTRAINT municipio_pkey PRIMARY KEY (id); ALTER TABLE ONLY municipio ADD CONSTRAINT municipio_ukey UNIQUE (reg_001, est_001, mun_001); ALTER TABLE ONLY municipio ADD CONSTRAINT estado_fkey FOREIGN KEY (reg_001, est_001) REFERENCES estado(reg_001, est_001) ON UPDATE CASCADE ON DELETE RESTRICT; Algún comentario? -- -- Sí no eres parte de la solución... eres parte del problema. Les Luthiers -- ... y no dejes de leer: Netiqueta: Conjunto de reglas que regulan la conducta del usuario en internet http://es.wikibooks.org/wiki/Netiquette -- Cesar A. Carbonara R. C.I. Nº V.11.952.572 -- Usuario Linux 377997 www.gulmer.org.ve