PostgreSQL 8.0.0 文書
前のページ | 巻戻し |  | 早送り | 次のページ

# ALTER SEQUENCE

## 名前

ALTER SEQUENCE -- シーケンス生成器の定義の変更

## 概要

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

## 説明

`ALTER SEQUENCE`は、既存のシーケンス生成器のパラメータを変更します。 `ALTER SEQUENCE`で指定されていないパラメータは全て、以前の設定のままとなります。

## パラメータ

`name`

  変更するシーケンスの名前です。(スキーマ修飾名も可。)

`increment`

  `INCREMENT BY `increment``句は省略可能です。 正の値は昇順のシーケンスを作成し、負の値は降順のシーケンスを作成します。 指定されない場合、以前の増分値が保持されます。

`minvalue`
`NO MINVALUE`

  `MINVALUE `minvalue`` はシーケンスが生成する最小値を決定します。 `NO MINVALUE`が指定された場合、昇順、降順でそれぞれ1と-263-1がデフォルトになります。 どちらのオプションも指定されていなければ、現在の最小値が保持されます。

`maxvalue`
`NO MAXVALUE`

  `MAXVALUE `maxvalue`` はシーケンスが生成する最大値を決定します。 `NO MAXVALUE`が指定された場合、昇順、降順でそれぞれ263-1と-1がデフォルトになります。 どちらのオプションも指定されていなければ、現在の最大値が保持されます。

`start`

  省略可能な`RESTART WITH `start``句は、シーケンスの現在値を変更します。

`cache`

  `CACHE `cache``句により、シーケンス番号を事前に割り当て、高速にアクセスできるようにメモリに保存することができます。 最小は1です。(1度に1つの値を生成、つまり、キャッシュが無い) 指定がなければ、以前のキャッシュ値が保持されます。

CYCLE

  省略可能な`CYCLE`キーワードを使用して、シーケンスが、昇順、降順それぞれ`maxvalue`または、`minvalue`に達した時、そのシーケンスを周回させることができます。 限界値に達すると、次に生成される番号はそれぞれ、`minvalue`または、`maxvalue`になります。

NO CYCLE

  省略可能な`NO CYCLE`キーワードが指定されると、シーケンスの最大値に達した後の`nextval`呼び出しは全てエラーとなります。 `CYCLE`も`NO CYCLE`も指定されない場合は、以前の周回動作が保持されます。

## 例

`serial`シーケンスを105から再開します。

    ALTER SEQUENCE serial RESTART WITH 105;

## 注釈

同じシーケンスから番号を取得するトランザクションの同時実行ブロックを防ぐために、`ALTER SEQUENCE`はロールバックできません。 この変更は即座に効果が現われ、元に戻すことはできません。

`ALTER SEQUENCE`は、実行したバックエンド以外のバックエンドにおける`nextval`にすぐに影響を与えません。別のバックエンドは、事前に割り当てられた(キャッシュされた)値を持っています。 事前にキャッシュされた値を全て使い果たした後に、変更されたシーケンスパラメータを検知します。 コマンドを実行したバックエンドは即座に効果が現われます。

## 互換性

`ALTER SEQUENCE`はSQL:2003に従います。

前のページ | ホーム | 次のページ
ALTER SCHEMA | 上に戻る | ALTER TABLE