Provided by: manpages-zh_1.6.3.3-2_all bug

NAME

       ALTER SEQUENCE - 更改一個序列生成器的定義

SYNOPSIS

       ALTER SEQUENCE name [ INCREMENT [ BY ] increment ]
           [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ]
           [ RESTART [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]

DESCRIPTION 描述

       ALTER   SEQUENCE   命令修改一個現有的序列發生器的參數。   任何沒有明確在   ALTER  SEQUENCE
       命令裏聲明的參數都將保留原先的設置。

PARAMETERS 參數

       name
               一個要修改的序列的名字(可以有模式修飾)。

       increment
              INCREMENT                               BY                                increment
              子句是可選的。一個正數會讓序列成爲遞增序列,負數則成爲遞減序列。
              如果沒有聲明,將沿用原來的遞增值。

       minvalue

       NO MINVALUE
               可選的子句  MINVALUE   minvalue    決定一個序列可以生成的最小的值。如果聲明瞭   NO
              MINVALUE,將使用缺省值,          對於遞增和遞減的序列分別是          1          和
              -2^63-1。如果沒有聲明任何選項,則沿用當前的最小值。

       maxvalue

       NO MAXVALUE
               可選的子句      MAXVALUE      maxvalue       決定序列的最大值。如果聲明瞭       NO
              MAXVALUE,則使用缺省值,對於遞增和遞減的序列分別是             2^63-1            和
              -1。如果兩個選項都沒有聲明, 則沿用當前的最大值。

       start
               可選的 RESTART WITH start 子句允許序列可以在任何地方開始。

       cache  CACHE      cache       選項打開序列號預分配並存儲在內存緩衝的功能。最小值是       1
              (也就是每次只能生成一個數值,沒有緩衝)。 如果沒有聲明,將沿用舊的緩衝值。

       CYCLE
               可選的鍵字    CYCLE   可以用於允許序列在達到遞增序列的   maxvalue   或者遞減序列的
              minvalue的時候重疊使用。 如果達到了極限,那麼生成的下一個數字將分別是  minvaluemaxvalueNO CYCLE
               如果聲明瞭可選鍵字       NO       CYCLE,任何在序列達到其最大極限後對      nextval
              的調用都將返回錯誤。     如果既未聲明      CYCLE      也未聲明      NO      CYCLE,
              那麼將沿用原有的循環行爲。

EXAMPLES 例子

        從 105 開始重新開始一個叫 serial 的序列:

       ALTER SEQUENCE serial RESTART WITH 105;

NOTES 注意

        爲了避免併發的事務從同一個序列獲取數值的時候被阻塞住,ALTER  SEQUENCE  操作從來不會回滾;
       修改馬上生效並且不能恢復。

       ALTER       SEQUENCE       將不會立即影響後端的       nextval       結果,除了當前的之外,
       因爲它又已經緩衝了的序列號。它們只有再使用光所有已經緩衝的數值之後才能意識到改變了的序列參數。當前後端將立即被影響。

COMPATIBILITY 兼容性

   SQL99
       ALTER SEQUENCE 是 PostgreSQL  語言擴展。在 SQL99 裏沒有 ALTER SEQUENCE 語句。

譯者

       Postgresql 中文網站 何偉平 <laser@pgsqldb.org>

       本頁面中文版由中文 man 手冊頁計劃提供。
       中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh