alter sequence

Started by Peter Kroonover 13 years ago4 messagesgeneral
Jump to latest
#1Peter Kroon
plakroon@gmail.com

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

#2Pavel Stehule
pavel.stehule@gmail.com
In reply to: Peter Kroon (#1)
Re: alter sequence

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

Show quoted text

ALTER SEQUENCE (select pg_get_serial_sequence('table', 'id')) RESTART WITH
1;

#3Jasen Betts
jasen@xnet.co.nz
In reply to: Peter Kroon (#1)
Re: alter sequence

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

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#4Guillaume Lelarge
guillaume@lelarge.info
In reply to: Jasen Betts (#3)
Re: alter sequence

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

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general