PostgreSQLのシーケンス

シーケンス作成

サンプル

CREATE SEQUENCE sample
INCREMENT BY 1
MAXVALUE 99999999
START WITH 1
NO CYCLE;

CREATE SEQUENCEとパラメータの説明

  • CREATE SEQUENCE:新しいシーケンス番号ジェネレータを作成する。sampleの部分には作成したいシーケンスの名前を指定する。
  • INCREMENT BY :インクリメントする数を指定する。サンプルではシーケンスの値が1ずつ増える。
  • MAXVALUE:シーケンスの最大値を指定する。
  • START WITH:任意の数からシーケンス番号を開始する。サンプルではシーケンス番号が1から始まる。
  • NO CYCLE:シーケンスの限界値に達した後のnextval呼び出しは全てエラーになる。

その他パラメータ

その他のパラメータについてはこのページを参照

シーケンスの現在値を変更

サンプル

ALTER SEQUENCE sample
RESTART START WITH 100;

ALTER SEQUENCEとパラメータの説明

  • ALTER SEQUENCE:シーケンスジェネレータの定義を変更する。sampleの部分にはシーケンス名を指定する。
  • RESTART START WITH:シーケンスの現在値を変更する。サンプルではシーケンスの現在値が100になり、その状態でシーケンスを取得するとシーケンス番号が100から始まる。

その他パラメータ

その他のパラメータについてはこのページを参照

シーケンス取得

SELECT nextval('sample');
  • 上記のSELECT文を実行するとインクリメントされたシーケンスが取得できる。
  • sampleの部分には取得したいシーケンスの名前を指定する。

シーケンスの状態確認

SELECT * FROM sample;
  • シーケンスをインクリメントせずに、現在のシーケンス値(last_value)を確認する。
  • sampleの部分には確認したいシーケンスの名前を指定する。

シーケンス削除

DROP SEQUENCE sample;
  • シーケンスを削除する
  • sampleの部分には削除したいシーケンスの名前を指定する。