본문 바로가기
서버/DB

postgresql sequence 사용하기

by 아카이sun 2023. 8. 24.

postgresql의  sequence에 대해서 다음과 같은 명령어들이 있다.

다음의 가상 테이블이 있다고 가정한다.

table명 : member

column명 : member_id, member_name

  • 시퀀스 생성
-- serial4를 입력하여 자동으로 시퀀스를 생성하는 방법
CREATE TABLE member (
	member_id serial4 NOT NULL,
	member_name varchar NOT NULL,
);

-- mem_seq를 수동으로 생성하고 관리하는 방법
CREATE SEQUENCE mem_seq START 1;
CREATE TABLE member (
	member_id int4 NOT NULL DEFAULT nextval('mem_seq'::regclass), -- 회원번호
	member_name varchar NOT NULL,
);

 

  • 시퀀스 초기화 
-- 시퀀스를 초기화 하는 방법은 다음과 같다
ALTER SEQUENCE mem_seq RESTART WITH 1;

-- seral4로 자동으로 시퀀스를 관리한다면 
-- 테이블을 초기화하는 동시에 시퀀스도 재설정 가능하다.
-- RESTART IDENTITY는 테이블과 연결된 시퀀스를 초기화 한다.
-- CASCADE는 관련된 모든 시퀀스에 영향을 준다.

TRUNCATE member RESTART IDENTITY CASCADE;

 

  •  시퀀스 번호 조회
SELECT last_value FROM mem_seq;

 

  • 시퀀스 변경
-- 다음 값으로 변경 (ex: 1 -> 2)
SELECT nextval('mem_seq')

-- 특정 값으로 변경 (ex: 1 -> 10)
SELECT setval('mem_seq', 10)

 

  • 시퀀스 삭제
DROP SEQUENCE mem_seq;

'서버 > DB' 카테고리의 다른 글

오라클 복구 쿼리  (0) 2024.01.31
postgresql lock 테이블 조회 및 kill  (0) 2023.04.19
postgresql dump & restore  (0) 2023.02.16
오라클 connect by level 사용법  (0) 2022.02.15
Maximum execution time of 120 seconds exceeded  (0) 2021.11.04

댓글