본문 바로가기
PostgreSQL

[PostgreSQL] Sequence 권한

by Ssun's 2021. 11. 17.

1. Sequence 생성

 

SQL> CREATE SEQUENCE 시퀀스명

         START WITH 1 

         INCREMENT BY 1;

 

2. Sequence 조회

 

SQL> SELECT * 

         FROM PG_CATALOG.PG_SEQUENCES;

 

3. Sequence 값 조회, 권한 부여

 

SQL> SELECT CURRVAL('시퀀스명');

SQL Error [55000]: ERROR: currval of sequence "sequence_name" is not yet defined in this session
해결 : currval은 현재 세션에서 nextval로 얻은 가장 최근 값을 반환하므로 nextval이 호출되지 않았다면 오류가 발생됨.
        nextval('시퀀스명'); 실행 후에 currval('시퀀스명') 을 호출하면 오류 발생하지 않음

SQL> SELECT NEXTVAL('시퀀스명');

 

SQL> SELECT LAST_VALUE

         FROM 시퀀스명;

SQL Error[42501]: ERROR: permission denied for sequence sequence_name
해결 : 권한이 없어 나는 에러
        GRANT USAGE, SELECT ON 시퀀스명 TO USER명;

        GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA 스키마명 TO USER명;
        (스키마의 모든 시퀀스에 대한 권한 부여)

 

5. Sequence 초기화

 

SQL> ALTER SEQUENCE 시퀀스명

        RESTART WITH 1;

반응형

'PostgreSQL' 카테고리의 다른 글

[PostgreSQL] foreign table 성능  (0) 2022.01.15
[PostgreSQL] psql 옵션  (0) 2021.11.02
[PostgeSql] PostgreSql 구조  (0) 2021.09.29
[PostgreSQL] DB에서 서버의 file 조회, 읽기  (0) 2021.05.25
[PostgreSQL] postgres_fdw  (0) 2021.05.24

댓글