Обсуждение: alter sequence
ALTER SEQUENCE (select pg_get_serial_sequence('table', 'id')) RESTART WITH 1;
The query fails:
ALTER SEQUENCE (select pg_get_serial_sequence('table...
it's because of the (
I guess I'm using the wrong syntax.
It is possible this way? Would be great!
Best,
Peter
Hello
you can't to do it directly. Expression cannot be used instead object name
you can use a plpgsql DO in this moment
DO $$
BEGIN
EXECUTE format('ALTER SEQUENCE %I RESTART WITH 1',
pg_get_serial_sequence('table', 'id'));
END;
$$ LANGUAGE plpgsql;
Regards
Pavel Stehule
2012/11/24 Peter Kroon <plakroon@gmail.com>:
> ALTER SEQUENCE (select pg_get_serial_sequence('table', 'id')) RESTART WITH
> 1;
On 2012-11-24, Peter Kroon <plakroon@gmail.com> wrote:
> --f46d04389321c8f47d04cf3c0f32
> Content-Type: text/plain; charset=ISO-8859-1
>
> ALTER SEQUENCE (select pg_get_serial_sequence('table', 'id')) RESTART WITH
> 1;
> The query fails:
> ALTER SEQUENCE (select pg_get_serial_sequence('table...
> it's because of the (
you can end-run this problem by using the (undocumented ?) function setval:
select pg_catalog.setval(pg_get_serial_sequence('table','id') ,1,false);
--
⚂⚃ 100% natural
On Sun, 2012-12-02 at 11:42 +0000, Jasen Betts wrote:
> On 2012-11-24, Peter Kroon <plakroon@gmail.com> wrote:
> > --f46d04389321c8f47d04cf3c0f32
> > Content-Type: text/plain; charset=ISO-8859-1
> >
> > ALTER SEQUENCE (select pg_get_serial_sequence('table', 'id')) RESTART WITH
> > 1;
>
> > The query fails:
> > ALTER SEQUENCE (select pg_get_serial_sequence('table...
> > it's because of the (
>
> you can end-run this problem by using the (undocumented ?) function setval:
>
> select pg_catalog.setval(pg_get_serial_sequence('table','id') ,1,false);
>
It's documented:
http://www.postgresql.org/docs/9.2/interactive/functions-sequence.html
for setval and
http://www.postgresql.org/docs/9.2/static/functions-info.html for
pg_get_serial_sequence.
--
Guillaume
http://blog.guillaume.lelarge.info
http://www.dalibo.com