Re: Slony: fatal error

From: Cesar A <cesar(dot)carbonara(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Slony: fatal error
Date: 2010-10-27 19:57:03
Message-ID: AANLkTi=zk9aMRQYQ_u_xtkqBGrE-4PjiUQS-c=i5TVyH@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Bueno, tal parece que tiene que ver con la definición de la PK...

Estoy haciendo algunas pruebas, ya pasé... sigo con mi agite, y comento

El 28 de octubre de 2010 11:26, Cesar A <cesar(dot)carbonara(at)gmail(dot)com>escribió:

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

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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Horacio Miranda 2010-10-27 22:38:35 Re: problema con trigger
Previous Message masc68@gmail.com 2010-10-27 18:28:33 Re: Error en funcion