Re: setting serial start value

From: Michael Fuhr <mike(at)fuhr(dot)org>
To: Greg Philpott <gphilpott(at)mdialogue(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: setting serial start value
Date: 2006-07-21 04:05:34
Message-ID: 20060721040534.GA38749@winnie.fuhr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, Jul 20, 2006 at 11:35:51PM -0400, Greg Philpott wrote:
> Hi Michael, from terminal in psql I enter
> # ALTER SEQUENCE public.users MINVALUE 9999;
> But it doesn't work. I don't think I am specifying the field
> correctly. the schema is public, the table is users, the field is id.

ALTER SEQUENCE uses the sequence name, not the table name. Also,
use RESTART WITH to set the sequence's current value. Example:

test=> CREATE TABLE users (id serial PRIMARY KEY, username text);
NOTICE: CREATE TABLE will create implicit sequence "users_id_seq" for "serial" column "users.id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "users_pkey" for table "users"
CREATE TABLE
test=> ALTER SEQUENCE users_id_seq RESTART WITH 10000;
ALTER SEQUENCE
test=> INSERT INTO users (username) VALUES ('Alice');
INSERT 2592322 1
test=> INSERT INTO users (username) VALUES ('Bob');
INSERT 2592323 1
test=> SELECT * FROM users;
id | username
-------+----------
10000 | Alice
10001 | Bob
(2 rows)

--
Michael Fuhr

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Greg Philpott 2006-07-21 04:26:18 Re: setting serial start value
Previous Message Greg Philpott 2006-07-21 03:35:51 Re: setting serial start value