私は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
ヒントはありますか?何を探すべきですか?
解決しました。 ダニエルヴェリテの回答のおかげで、私は次のように解決しました。
grant usage on schema public to public;
grant create on schema public to public;
これらはパブリックスキーマの既定のアクセス許可ですか?
私はデータベースにアクセスできる単一のユーザーを持っているので、これはとにかくセキュリティリスクを上げることはできないと思います...
template1にも同じ変更を加える必要があると思います。それが正しいか?template1のアクセス許可が正しいかどうか(たとえば、デフォルト値)を確認するにはどうすればよいですか?