Home Explore Blog CI



postgresql

1st chunk of `doc/src/sgml/ref/alter_sequence.sgml`
64c40721fd45488da67ff58b7527a0f01cb4adecc2f4051f0000000100000fa1
<!--
doc/src/sgml/ref/alter_sequence.sgml
PostgreSQL documentation
-->

<refentry id="sql-altersequence">
 <indexterm zone="sql-altersequence">
  <primary>ALTER SEQUENCE</primary>
 </indexterm>

 <refmeta>
  <refentrytitle>ALTER SEQUENCE</refentrytitle>
  <manvolnum>7</manvolnum>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>ALTER SEQUENCE</refname>
  <refpurpose>
   change the definition of a sequence generator
  </refpurpose>
 </refnamediv>

 <refsynopsisdiv>
<synopsis>
ALTER SEQUENCE [ IF EXISTS ] <replaceable class="parameter">name</replaceable>
    [ AS <replaceable class="parameter">data_type</replaceable> ]
    [ INCREMENT [ BY ] <replaceable class="parameter">increment</replaceable> ]
    [ MINVALUE <replaceable class="parameter">minvalue</replaceable> | NO MINVALUE ] [ MAXVALUE <replaceable class="parameter">maxvalue</replaceable> | NO MAXVALUE ]
    [ [ NO ] CYCLE ]
    [ START [ WITH ] <replaceable class="parameter">start</replaceable> ]
    [ RESTART [ [ WITH ] <replaceable class="parameter">restart</replaceable> ] ]
    [ CACHE <replaceable class="parameter">cache</replaceable> ]
    [ OWNED BY { <replaceable class="parameter">table_name</replaceable>.<replaceable class="parameter">column_name</replaceable> | NONE } ]
ALTER SEQUENCE [ IF EXISTS ] <replaceable class="parameter">name</replaceable> SET { LOGGED | UNLOGGED }
ALTER SEQUENCE [ IF EXISTS ] <replaceable class="parameter">name</replaceable> OWNER TO { <replaceable class="parameter">new_owner</replaceable> | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER SEQUENCE [ IF EXISTS ] <replaceable class="parameter">name</replaceable> RENAME TO <replaceable class="parameter">new_name</replaceable>
ALTER SEQUENCE [ IF EXISTS ] <replaceable class="parameter">name</replaceable> SET SCHEMA <replaceable class="parameter">new_schema</replaceable>
</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

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

  <para>
   You must own the sequence to use <command>ALTER SEQUENCE</command>.
   To change a sequence's schema, you must also have <literal>CREATE</literal>
   privilege on the new schema.
   To alter the owner, you must be able to <literal>SET ROLE</literal> to the
   new owning role, and that role must have <literal>CREATE</literal>
   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.)
  </para>
 </refsect1>

 <refsect1>
  <title>Parameters</title>

   <para>
    <variablelist>
     <varlistentry>
      <term><replaceable class="parameter">name</replaceable></term>
      <listitem>
       <para>
        The name (optionally schema-qualified) of a sequence to be altered.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term><literal>IF EXISTS</literal></term>
      <listitem>
       <para>
        Do not throw an error if the sequence does not exist. A notice is issued
        in this case.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term><replaceable class="parameter">data_type</replaceable></term>
      <listitem>
       <para>
        The optional
        clause <literal>AS <replaceable class="parameter">data_type</replaceable></literal>
        changes the data type of the sequence.  Valid types are
        <literal>smallint</literal>, <literal>integer</literal>,
        and <literal>bigint</literal>.
       </para>

       <para>
        Changing the data type automatically changes the minimum and maximum
        values of the sequence if and only if the previous minimum and maximum
        values were the minimum

Title: ALTER SEQUENCE
Summary
This documentation describes the ALTER SEQUENCE command in PostgreSQL, which is used to modify the parameters of an existing sequence generator. The command syntax, required privileges, and available parameters such as increment, minvalue, maxvalue, cycle, start, restart, cache, owned by, logged/unlogged status, owner, rename, and schema are detailed. The 'IF EXISTS' option is also explained, which prevents errors if the sequence does not exist.