티스토리 뷰

728x90

원인 : 해당 user에 접근 권한이 없어서. 

org.springframework.jdbc.BadSqlGrammarException: 
### Error updating database.  Cause: org.postgresql.util.PSQLException: 오류: 테이블명 릴레이션(relation) 접근 권한 없음
### The error may involve egovframework.com.sym.log.service.impl.EgovLogManageMapper.logInsertSysLog-Inline
### The error occurred while setting parameters

   USER 조회   

select * from PG_SHADOW;

   권한 종류  

SELECT 테이블이나 뷰에 데이터를 조회
INSERT 테이블에 새로운 데이터를 추가
UPDATE 테이블의 데이터를 수정
DELETE 테이블에서 데이터를 삭제
TRUNCATE 테이블의 데이터를 비운다.
REFERENCES 테이블과 컬럼에 외래 키 제약 조건 생성
TRIGGER 테이블에 트리거 생성
CREATE 대상이 데이터베이스의 경우 스키마를 만들 수 있다. 대상 스키마의 경우, 테이블 등의 개체 생성
CONNECT 지정된 데이터베이스에 연결
TEMPORARY 데이터베이스에 임시 테이블을 생성
EXECUTE 함수 또는 프로 시저 연산자의 사용을 허용
USAGE 대상이 스키마의 경우는 객체에 대한 액세스를 허용한다. 대상이 스키가 아니면, 대상에 따라 권한이 부여
ALL PRIVILEGES 사용할 수 있는 권한을 정리해 허용.(=SELECT, INSERT, UPDATE, DELETE TRUNCATE, REFERENCES, TRIGGER)

- 해결방법 -

   테이블에 모든 권한 추가  

GRANT ALL PRIVILEGES ON table_name To role_name;

   properties Owner 변경  

 

 

 

 

 

 

 

참고 : https://www.postgresql.org/docs/9.0/sql-grant.html

 

GRANT

GRANT Name GRANT -- define access privileges Synopsis GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER } [,...] | ALL [ PRIVILEGES ] } ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] } TO { [ GROU

www.postgresql.org