新しいデータベースtest
を作成し、次のコマンドでユーザー 'eonil'を作成しました。
CREATE ROLE eonil LOGIN ENCRYPTED PASSWORD 'password' NOINHERIT VALID UNTIL 'infinity';
私のPostgreSQLで。走る psql -U eonil test
。新しいスキーマを作成しようとすると、エラーが表示されます。
test=> CREATE SCHEMA new_schema AUTHORIZATION eonil;
ERROR: permission denied for database test
test=>
なぜこれがエラーになるのですか?何が必要ですか?
ユーザーに、データベースに対するCREATE
特権を付与します。
GRANT CREATE ON DATABASE test TO eonil
CREATE
特権を既存のデータベースに適用すると、ユーザーはデータベース内に新しいスキーマを作成できます。 GRANT
で実行できるその他のアクセス権限の公式ドキュメントは here です。