우당탕탕 에러모음
[PostgreSQL] no schema has been selected to create in ~ 에러
푸른달아흐렛밤
2023. 4. 16. 22:47
반응형
PostgreSQL로 DB 생성시 'public'이라는 default schema가 제공되며 모든 유저에게 접근 권한이 부여된다.
다만 해당 스키마 사용 시 보안상 취약하다는 문제가 있다.
따라서 새로운 schema를 생성하여 사용하는 것이 좋다.
이를 위해서 public schema 권한 revoke 적용한 후 테이블을 생성하려하면,
no schema has been selected to create in 줄 1: create table {테이블이름}(
위와 같은 에러가 발생하게 된다.
한마디로 public schema가 아닌 다른 schema를 사용하란 소리!
해결법은, 스키마를 생성해주면 된다.
create schema {스키마명} authorization {유저명};
스키마 목록 확인을 해보면
\dn+
그런데 생성 이후 다시 테이블을 생성해보면 같은 오류문구가 발생한다.
스키마를 생성만 하고 여전히 public schema를 사용하고 있기 때문이다.
따라서, 새로 생성한 schema를 설정해준다.
set search_path to "{유저명}",{스키마명};
설정 후 테이블을 생성하면, 생성이 아주 잘 된다 👍
반응형