필드 중에 serial (integer not null default nextval('필드이름_seq'::regclass)) 값을 조절하기.



select setval('시퀀스이름', 원하는값);




ex) 테이블이름이 userlist 이고 serial 값이 idx 라면 seq 이름은 아마 userlist_idx_seq 일 것.
값을 100으로 하고 싶다면 아래처럼 조절가능.

select setval('userlist_idx_seq', 100);




setval은 마지막 인자로 boolean 형을 하나 받을 수 있는데,
true 이면 sequence의 nextval은 현재값 +1 이고 false 이면 그 값을 그대로 반환한다.

ex) select setval('some_seq', 100); 일 경우 nextval('some_seq') 는 101 을 반환하고,
      select setval('some_seq', 100, false); 일 경우 nextval('some_seq') 는 100 을 반환.








Posted by bloodguy
,