본문 바로가기

데이터베이스

[pg] postgres 에서 autoincrement 가 적용된 primary key 의 seq를 초기화하는 쿼리

반응형

seq 초기화 쿼리문법

다음과 같은 형식으로 입력하면 테이블명에 해당하는 컬럼의 자동증가 시퀸스의 값이 1로 초기화된다.

ALTER SEQUENCE 테이블명_컬럼명_seq RESTART WITH 1;

 

예시

예를 들어, ALTER SEQUENCE quotes_quote_id_seq RESTART WITH 1; 이라고 지정한다면, quotes 라는 테이블의 quote_id 의 seq 에 입력된 값이 1로 재시작 되면서, 테이블에 값을 추가하면 초기화된 1 부터 다시 증가하는 것을 확인할 수 있다.

 

[이미지1] 시퀸스를 재설정하는 쿼리 문법

 

 

설명에서 누락된 점이 있다면, 기존에 존재했던 테이블의 이미지가 없다는 점인데, 부연 설명하자면,  원래는 quote_id 가 650 이후로 시작되고 있었다. 하지만, 위 쿼리를 통해 시퀸스를 초기화하고 나서 다시 DELETE 쿼리를 통해 데이터 전체를 삭제하고,  INSERT 했을 때, 아래와 같인 결과를 얻을 수 있었다.

 

[이미지2] 정상적으로 1 부터 시작하는 것을 볼 수 있다.

반응형

'데이터베이스' 카테고리의 다른 글

[postgres] 외래키 제약 조건에 대한 정리  (2) 2024.02.05