본문 바로가기

PostgreSQL

permission denied for sequence 오류 날 때 sequence 권한주기

시퀀스 조회

# 전체 시퀀스 조회
select * from pg_catalog.pg_sequences;

# 특정 시퀀스 현재값 조회
select currval('abc_id_seq');

 

SQL Error [42501]: ERROR: permission denied for sequence abc_id_seq

: 권한이 없는 경우에 나는 오류이며 권한을 주면 된다.


SQL Error [55000]: ERROR: currval of sequence "abc_id_seq" is not yet defined in this session

: 권한이 있지만 값이 없을 경우에 나는 오류이며 nextval을 실행하면 된다.

시퀀스 권한 주기, 시퀀스 다음값 생성

# 시퀀스 권한 주기
grant usage, select on all sequences in schema {schema} TO {role};

# 시퀀스 다음값 생성
select nextval('abc_id_seq');

시퀀스 값 초기화

alter sequence abc_id_seq restart with 1;

시퀀스 값 변경

select setval('abc_id_seq', 1);

select setval('abc_id_seq', 1, false);

 

default 값인 true면 지정한 시퀀스 다음값부터, false면 지정한 시퀀스부터 실행한다.

'PostgreSQL' 카테고리의 다른 글

PostgreSQL db, schema, user, role 생성  (0) 2023.01.04