본문 바로가기

DB/Postgresql

[Postgresql] Serial (Sequence) 조회

반응형

Postgresql 에서는 시퀀스의 불편함을 해결하기 위해 serial 타입을 제공한다.

 

  • serial 조회
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;

 

  • 시퀀스 현재값 / 현재 세션
select currval('seq_name');
  • 시퀀스 다음값
select nextval('seq_name');
  • 코드 생성규칙 예제
select 'F' || lpad(currval('fac_mng_id_seq') :: varchar, 15, '0');

 

CURRVAL은 세션에서만 존재하는 임시값으로 아래 같은 오류가 날 수 있음

 

ERROR: currval of sequence is not yet defined in this session

 

nextval() 실행 후 조회 하면 됨.

 

 

 

반응형