Provided by: postgresql-client-8.3_8.3.8-1_i386 bug

NAME

       ALTER SEQUENCE - change the definition of a sequence generator

SYNOPSIS

       ALTER SEQUENCE name [ INCREMENT [ BY ] increment ]
           [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ]
           [ RESTART [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]
           [ OWNED BY { table.column | NONE } ]
       ALTER SEQUENCE name RENAME TO new_name
       ALTER SEQUENCE name SET SCHEMA new_schema

DESCRIPTION

       ALTER   SEQUENCE   changes  the  parameters  of  an  existing  sequence
       generator. Any parameters not specifically set in  the  ALTER  SEQUENCE
       command retain their prior settings.

       You  must  own  the  sequence  to  use  ALTER  SEQUENCE.   To  change a
       sequence’s schema, you must also  have  CREATE  privilege  on  the  new
       schema.

PARAMETERS

       name   The  name  (optionally  schema-qualified)  of  a  sequence to be
              altered.

       increment
              The clause INCREMENT BY increment is optional. A positive  value
              will  make  an  ascending  sequence, a negative one a descending
              sequence. If  unspecified,  the  old  increment  value  will  be
              maintained.

       minvalue

       NO MINVALUE
              The  optional  clause  MINVALUE  minvalue determines the minimum
              value a sequence can generate. If NO MINVALUE is specified,  the
              defaults of 1 and -263-1 for ascending and descending sequences,
              respectively, will be used. If neither option is specified,  the
              current minimum value will be maintained.

       maxvalue

       NO MAXVALUE
              The  optional  clause  MAXVALUE  maxvalue determines the maximum
              value for  the  sequence.  If  NO  MAXVALUE  is  specified,  the
              defaults   are   263-1  and  -1  for  ascending  and  descending
              sequences, respectively, will be  used.  If  neither  option  is
              specified, the current maximum value will be maintained.

       start  The optional clause RESTART WITH start changes the current value
              of the sequence.  This  is  equivalent  to  calling  the  setval
              function  with  is_called  =  false: the specified value will be
              returned by the next call of nextval.

       cache  The  clause  CACHE  cache  enables  sequence   numbers   to   be
              preallocated and stored in memory for faster access. The minimum
              value is 1 (only one value can be generated at a time, i.e.,  no
              cache).  If unspecified, the old cache value will be maintained.

       CYCLE  The optional CYCLE key word can be used to enable  the  sequence
              to wrap around when the maxvalue or minvalue has been reached by
              an ascending or descending sequence respectively. If  the  limit
              is  reached,  the  next number generated will be the minvalue or
              maxvalue, respectively.

       NO CYCLE
              If the optional NO CYCLE key word is  specified,  any  calls  to
              nextval  after  the  sequence has reached its maximum value will
              return an error.  If neither CYCLE or NO  CYCLE  are  specified,
              the old cycle behavior will be maintained.

       OWNED BY table.column

       OWNED BY NONE
              The  OWNED BY option causes the sequence to be associated with a
              specific table column, such that if that column  (or  its  whole
              table) is dropped, the sequence will be automatically dropped as
              well. If specified, this  association  replaces  any  previously
              specified association for the sequence. The specified table must
              have the same owner and be in the same schema as  the  sequence.
              Specifying  OWNED  BY  NONE  removes  any  existing association,
              making the sequence ‘‘free-standing’’.

       new_name
              The new name for the sequence.

       new_schema
              The new schema for the sequence.

NOTES

       To avoid blocking of concurrent transactions that obtain  numbers  from
       the  same sequence, ALTER SEQUENCE’s effects on the sequence generation
       parameters are never rolled back; those changes take effect immediately
       and  are  not reversible. However, the OWNED BY, RENAME, and SET SCHEMA
       clauses cause ordinary catalog updates that can be rolled back.

       ALTER SEQUENCE will not immediately affect nextval results in backends,
       other  than  the  current one, that have preallocated (cached) sequence
       values. They will use up  all  cached  values  prior  to  noticing  the
       changed  sequence  generation  parameters.  The current backend will be
       affected immediately.

       ALTER SEQUENCE does not affect the currval  status  for  the  sequence.
       (Before PostgreSQL 8.3, it sometimes did.)

       Some  variants  of  ALTER TABLE can be used with sequences as well; for
       example, to rename a sequence it is also possible to  use  ALTER  TABLE
       RENAME.

EXAMPLES

       Restart a sequence called serial, at 105:

       ALTER SEQUENCE serial RESTART WITH 105;

COMPATIBILITY

       ALTER  SEQUENCE  conforms to the SQL standard, except for the OWNED BY,
       RENAME, and SET SCHEMA clauses, which are PostgreSQL extensions.

SEE ALSO

       CREATE SEQUENCE [create_sequence(7)], DROP SEQUENCE [drop_sequence(l)]