Provided by: postgresql-client-8.4_8.4.11-1_amd64 bug


       ALTER SEQUENCE - change the definition of a sequence generator


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


       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.  To alter the owner, you must also be a
       direct or indirect member of the new owning role, and that role must have CREATE privilege
       on  the  sequence's schema. (These restrictions enforce that altering the owner doesn't do
       anything you couldn't do by dropping and recreating the sequence.   However,  a  superuser
       can alter ownership of any sequence anyway.)


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

              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.


              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.


              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  START  WITH  start  changes  the recorded start value of the
              sequence. This has no effect on the current sequence  value;  it  simply  sets  the
              value that future ALTER SEQUENCE RESTART commands will use.

              The  optional  clause  RESTART  [  WITH  restart ] 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.  Writing RESTART
              with no restart value is equivalent to supplying the start value that was  recorded
              by CREATE SEQUENCE or last set by ALTER SEQUENCE START WITH.

       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

              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''.

              The user name of the new owner of the sequence.

              The new name for the sequence.

              The new schema for the sequence.


       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, OWNER
       TO, RENAME TO, and SET SCHEMA clauses cause ordinary catalog updates that  can  be  rolled

       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.)

       For  historical reasons, ALTER TABLE can be used with sequences too; but the only variants
       of ALTER TABLE that are allowed with sequences are equivalent to the forms shown above.


       Restart a sequence called serial, at 105:



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


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