> -----Mensaje original-----
> De: Alvaro Herrera [mailto:alvhe...@alvh.no-ip.org] 
> Enviado el: Jueves, 06 de Agosto de 2009 16:56
> Para: Juan Romero
> CC: Fernando Hevia; 'Vicente Ramon Roca Cantin'; 
> pgsql-es-ayuda@postgresql.org
> Asunto: Re: [pgsql-es-ayuda] Campos serial pierden indice al 
> hacer pg_restore
> 
> Juan Romero escribió:
> > 
> > On Aug 6, 2009, at 2:39 PM, Fernando Hevia wrote:
> > 
> > >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').
> > 
> > Acaso eso no es lo que hace postgres cuando uno crea un 
> campo serial? 
> > Hasta donde he visto, postgres crea una secuencia y la asocia con 
> > default. La unica diferencia es que en tu caso tu le pones 
> el nombre a 
> > dicha secuencia; o me estoy perdiendo de algo?
> 
> No, estás en lo cierto.  Lo que hace Fernando no tiene 
> ninguna ventaja, aparte de definir el nombre de la secuencia 
> (cosa que no sirve de mucho de todas formas).
> 

Como dije, no se trata de ventajas sino de una preferencia personal.
Al forzar la declaración explícita me aseguro no olvidar configurar la
secuencia tal cual quiero que se comporte: aparte del nombre, parámetros
como el número de inicio, cuantos valores pre-generar por nextval(), etc. 
Y es inevitable cuando se requiere especificar una secuencia existente, por
ejemplo si desde varias tablas tomarán valores de una misma secuencia.

Saludos.




--
TIP 8: explain analyze es tu amigo

Responder a