Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

PostgreSQLのシーケンス操作関数

PostgreSQLのシーケンス操作関数は連番の数値を入れる際に便利な機能です。

実際のところ

シーケンス型serialを3からはじめる場合、以下のようにします。

CREATE SEQUENCE serial START 3;

ためしに中をみてみると、デフォで色々と値を持っている事がわかります。

SELECT * FROM serial;
 sequence_name | last_value | start_value | increment_by |      max_value      | min_value | cache_value | log_cnt | is_cycled | is_called 
---------------+------------+-------------+--------------+---------------------+-----------+-------------+---------+-----------+-----------
 serial        |          3 |           3 |            1 | 9223372036854775807 |         1 |           1 |      32 | f         | t
(1 row)

現在の値

SELECT currval('serial');
 currval 
---------
       3
(1 row)

次の値

SELECT nextval('serial');
 nextval 
---------
       4
(1 row)

数値の設定

SELECT setval('serial', 42);
 setval 
--------
     42
(1 row)

SELECT currval('serial');
 currval 
---------
      42
(1 row)