PostgreSQL 시퀀스는 Oracle과 비슷하며, 다만 currval 수행시 해당 세션에 사용된 값이 보여짐 

(실제로는 다른 세션에서 sequence 사용에 따라 값이 증가 되어 있을수 있음)

 

1. 생성 

 CREATE SEQUENCE test_schema.tb_test_id_seq
     INCREMENT 1                  -- 1씩 증가
     START 20000                   -- 시작값
     MINVALUE 1

     MAXVALUE 9223372036854775807
     CACHE 1;

 

2. 삭제

  drop sequence test_schema.tb_test_id_seq;

 

3. 사용

  현재 값 확인 (다른 세션에서 사용에 따라 값이 안 맞을수 있음)

  select currval('tb_test_id_seq');

 

  다음값 확인 또는 사용하기 (실제로 값이 증가)

  select nextval('tb_test_id_seq');

  insert into tb_test values (nextval('tb_test_id_seq'));

 

  시작값 변경

  select setval('tb_test_id_seq', 100000);

'RDB > PostreSQL' 카테고리의 다른 글

ora2pg 사용법  (0) 2022.06.20
PostgreSQL에 data file import  (0) 2021.06.23
postgresql 테이블스페이스 확인  (0) 2021.06.23
PostgreSQL window function  (0) 2020.06.30
PostgreSQL 12 테이블 조인 방식  (0) 2020.05.04

+ Recent posts