PostgreSQL 자동 증가 시퀀스 재설정
PostgreSQL은 MySQL처럼 AUTO_INCREMENT
을 사용하지 않습니다. 대신 시퀀스를 사용하여 자동 증가 값을 관리합니다. 시퀀스의 시작 값을 재설정하려면 테이블의 자동 증가 열과 연결된 시퀀스 이름을 식별해야 합니다.
ALTER TABLE product AUTO_INCREMENT = 1453
사용 시도는 PostgreSQL이 이 구문을 인식하지 못하기 때문에 실패합니다. "'제품' 관계가 존재하지 않습니다."라는 오류가 자주 발생합니다.
시퀀스 이름은 일반적으로 ${table_name}_${column_name}_seq
패턴을 따릅니다. "Id" 열이 있는 "product"라는 테이블의 경우 시퀀스는 "product_id_seq"입니다.
1453에서 시작하도록 시퀀스를 재설정하는 올바른 명령은 다음과 같습니다.
<code class="language-sql">ALTER SEQUENCE product_id_seq RESTART WITH 1453;</code>
올바른 시퀀스 이름을 찾으려면 d
명령줄 도구에서 psql
명령을 사용하세요. 예를 들어 d product
은 자동 증가 열(기본 제약 조건을 통해)에서 사용되는 시퀀스 이름을 포함하여 테이블 정의를 표시합니다. 또는 SELECT pg_catalog.pg_get_serial_sequence('product', 'id');
과 같은 쿼리를 사용하여 시퀀스 이름을 직접 검색할 수 있습니다.
위 내용은 Postgres 자동 증가 카운터를 어떻게 재설정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!