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)