Database/PostgreSQL

[PostgreSQL/Error] permission denied for language internal

Ma_Sand 2024. 5. 23. 10:02
반응형

설치파일 테스트를 위해 데이터베이스 계정을 새로 만들어 설치파일과 관련된 설정 SQL 파일을 실행했는데 위 에러가 발생했다.

 

찾아보니 내가 만든 데이터베이스 계정이 슈퍼유저 권한이 없었던 게 문제였다.

또한 저 SQL 파일 이외에 DDL SQL 파일도 있었기 때문에 CREATEDB 권한도 필요했다.

 

슈퍼유저 권한과 CREATEDB 권한 설정은 다음 쿼리를 실행하면 된다.

1) 슈퍼유저 권한 부여 쿼리

ALTER USER DB사용자계정명 WITH SUPERUSER;
#예시> ALTER USER tistory WITH SUPERUSER;

 

2) CREATEDB 권한 부여 쿼리

ALTER USER DB사용자계정명 CREATEDB;
# ALTER USER tistory CREATEDB;

 

 

참고) DB 사용자 계정마다 부여된 권한을 확인하려면?

1) postgres 계정으로 로그인한다.

su - postgres

 

 

2) psql을 입력한 후 postgres 계정 비밀번호를 입력한다.

psql
Password:

 

3) 사용자 계정들에 대한 부여된 권한을 확인하기 위해 \du를 입력한다.

\du

 

반응형