Re: Ayuda actualizando secuencias

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Luis Fernando Curiel Cabrera <lcuriel(at)gmail(dot)com>
Cc: Lista de Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Ayuda actualizando secuencias
Date: 2010-01-04 15:16:35
Message-ID: 20100104151635.GD3778@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Luis Fernando Curiel Cabrera escribió:
> Hice una copia de la base de datos, de un servidor a otro. Todo se exporto
> correctamente, solo las secuencias se quedaron en 1.

Algo hiciste mal. Las secuencias quedan con su valor correcto cuando
exportas los datos.

> Quiero actualizar cada
> secuencia al valor que deben de tener. Para ello cree esta query, pero me
> marca error:
>
> ALTER SEQUENCE base_serial RESTART SELECT CASE WHEN CAST(MAX(bsid_) as
> bigint) IS NULL THEN 1 ELSE CAST(MAX(bsid_) as bigint)+1 END FROM base;

No puedes usar una expresión (como el SELECT que tienes) en un ALTER
SEQUENCE. Podrías escribir una función plpgsql que use EXECUTE para
lanzar un ALTER SEQUENCE.

Nota que para obtener todas las secuencias podrías usar
select oid::regclass from pg_class where relkind = 's'

--
Alvaro Herrera Vendo parcela en Valdivia:
http://www.portalinmobiliario.com/propiedades/fichas.asp?PropID=749682
"The West won the world not by the superiority of its ideas or values
or religion but rather by its superiority in applying organized violence.
Westerners often forget this fact, non-Westerners never do."
(Samuel P. Huntington)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2010-01-04 15:27:21 Re: Importante
Previous Message Fernando Hevia 2010-01-04 14:30:29 RE: Como bloquear IPs en postgresql !!!