Provided by: manpages-zh_1.6.3.6-1_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