공개 스키마에 문제가 있음을 알고있는 Amazon RDS postgresql 데이터베이스에서 작업하고 있습니다 (삭제되었을 수도 있음). 그러나 분명히 스키마가 존재하고 어쨌든 문제는 해결되지 않습니다. 다음은 새로 작성된 빈 데이터베이스가있는 샘플 세션입니다.
mydb=> CREATE TABLE distributors (
mydb(> did integer,
mydb(> name varchar(40) UNIQUE
mydb(> );
ERROR: no schema has been selected to create in
mydb=> show search_path;
search_path
----------------
"$user",public
(1 row)
mydb=> create schema public;
ERROR: schema "public" already exists
힌트가 있습니까? 무엇을 찾아야합니까?
해결되었습니다. Daniel Vérité의 답변 덕분에 다음을 통해 해결했습니다.
grant usage on schema public to public;
grant create on schema public to public;
공용 스키마에 대한 기본 권한입니까?
데이터베이스에 액세스 할 수있는 단일 사용자가 있으므로 보안 위험이 발생할 수 없습니다 ...
template1 에서 동일한 수정을해야한다고 생각합니다 . 맞습니까? template1의 권한 (예 : 기본값)이 올바른지 어떻게 확인할 수 있습니까?