RE: Campos serial pierden indice al hacer pg_restore

From: "Fernando Hevia" <fhevia(at)ip-tel(dot)com(dot)ar>
To: "'Vicente Ramon Roca Cantin'" <vicente(at)rvminformatica(dot)com>, <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Campos serial pierden indice al hacer pg_restore
Date: 2009-08-06 19:39:50
Message-ID: 574E3EEE292D4231A04FBEA1E702DF5C@iptel.com.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

> -----Mensaje original-----
> De: Vicente Ramon Roca Cantin
>
> Hola lista
>
> Bueno el problema es que hago unos backups de unas tablas que
> todas tienen un campo serial que es primary key,y cuando hago
> la restauracion con pg_restore veo que las sequencias si que
> estan,pero postgres me vuelve a empezar desde cero con el
> serial,con lo que obtengo un bonito duplicate primary key,los
> backups de tablas los hago por separado.
>
> 1.¿Me estoy dejando alguna tabla indice?
> 2.Si hago un backup entero y un restore entero de la BD esto no pasa
>
> Gracias y un saludo
>

Al declarar tu campo "serial" Postgres crea y vincula la secuencia por ti
automáticamente. Estimo entonces que el dump lo debes estar haciendo sólo
sobre la tabla por lo cual durante el restore Postgres no encuentra la
secuencia y vuelve a crearla.
Asegurate de incluir la secuencia en el dump para que esto no ocurra.

Para evitar confusiones, en lo personal prefiero no usar campos serial sino
campos bigint, crear explicitamente la secuencia y asociarla con el
tradicional ... DEFAULT nextval('nombre secuencia').

Saludos,
Fernando.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Lennin Caro 2009-08-06 19:43:55 Re: Error al Iniciar Servicio
Previous Message Pedro Muñoz 2009-08-06 19:26:37 Re: [perulinux] Re: ideas