postgresql에서는 PK를 만들 때 SEQUENCE 오브젝트를 사용합니다. 개발 또는 테스트를 하면 해당 SEQUENCE의 값을 특정 값으로 설정해야 할 때가 있어 방법을 정리합니다.
SELECT setval('sequence_name', new_value, is_called);
시퀀스의 현재값을 특정값(new_value
)으로 업데이트 합니다.
sequence_name
: 업데이트하려는 시퀀스의 이름입니다.new_value
: 시퀀스가 가져야 할 새로운 값입니다.is_called
: 시퀀스가 이미 호출되었는지 여부를 나타내는 boolean 값입니다.SELECT setval('my_sequence ', 42); -- 다음 nextval은 43을 반환합니다.
SELECT setval('my_sequence ', 42, true); -- 다음 nextval은 43을 반환합니다.
SELECT setval('my_sequence ', 42, false); -- 다음 nextval은 42를 반환합니다.