9
4

More than 1 year has passed since last update.

PostgreSQLでシーケンスをリセットする方法2選

Last updated at Posted at 2022-01-30

はじめに

シーケンスのリセットし忘れでテストデータ作成時にシーケンスの重複エラーがあり、リセットの方法を調査する機会がありましたのでそのときのメモを残しています。方法としては調査した限りだと、2通りあるのかなと思います。

  • TRUNCATEによるシーケンスをリセット
  • シーケンス関数(setval)によるリセット

方法1 TRUNCATEによるシーケンスをリセット

TRUNCATE TABLE <table_name> RESTART IDENTITY;

方法2 シーケンス関数(setval)によるシーケンスをリセット

SELECT SETVAL ('テーブル名_カラム名_seq', 1, false);

※第3引数をtrueにすると2番目のパラメータで指定した数値の次の値からシーケンスが振られます。
(上記の例だと、シーケンスは2が振られます)

おまけ シーケンスの値を確認

SELECT * FROM テーブル名_カラム名_seq;

#参考

9
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
4