DB
[DB/PostgreSQL] 시퀀스 (Sequence) 사용하기 - 자동 증가 컬럼
kjun.kr
2023. 10. 6. 20:14
728x90
728x170
기본적인 Sequence 사용하는 방법
-- 시퀀스 생성
CREATE SEQUENCE seq_name
-- 시퀀스 삭제
DROP SEQUENCE seq_name
-- 다음 시퀀스 값 가져오기
nextval('seq_name')
-- 현재 시퀀스 값 가져오기 - 오류나는 경우 nextval('seq_name') 을 해주면 된다.
currval('seq_name')
-- 시퀀스 초기화 - true : nextval = +1, false : nextval = 1
setval('seq_name', seq_val, [true/false])
아래는 만들어진 시퀀스목록을 가져오는 쿼리문
select n.nspname as sequence_schema,
c.relname as sequence_name,
u.usename as owner
from pg_class c
join pg_namespace n on n.oid = c.relnamespace
join pg_user u on u.usesysid = c.relowner
where c.relkind = 'S'
and u.usename = current_user;
테이블 생성시 시퀀스 이용하여 자동증가 컬럼 정의 하기
CREATE SEQUENCE table_name_id_seq;
CREATE TABLE table_name (
id integer NOT NULL DEFAULT nextval('table_name_id_seq')
);
ALTER SEQUENCE table_name_id_seq OWNED BY table_name.id;
728x90
그리드형