I'm logged in with a superuser account and this is the process I'm doing:
1-> CREATE ROLE test WITH IN ROLE testroles PASSWORD 'testpasswd' 2-> CREATE SCHEMA AUTHORIZATION test
The role is correctly created but I'm getting this error when trying to create the Schema:
ERROR: must be member of role "test"
PostgreSQL has a CREATE SCHEMA statement that is used to create a new schema in a database. Syntax: CREATE SCHEMA [IF NOT EXISTS] schema_name; Let's analyze the above syntax: First, specify the name of the schema after the CREATE SCHEMA keywords.
Users, groups, and roles are the same thing in PostgreSQL, with the only difference being that users have permission to log in by default. The CREATE USER and CREATE GROUP statements are actually aliases for the CREATE ROLE statement.
I ran into this issue when using CREATE DATABASE
on Amazon RDS. I think it's essentially the same as using CREATE SCHEMA
.
When using Amazon RDS, the user issuing the CREATE DATABASE
must be a member of the role that will be the owner of the database. In my case, the superuser account I'm using is called root
, and I'm going to create a role o
which is going to own a database d
:
postgres=> CREATE ROLE o; CREATE ROLE postgres=> CREATE DATABASE d OWNER = o; ERROR: must be member of role "o" postgres=> GRANT o TO root; GRANT ROLE postgres=> CREATE DATABASE d OWNER = o; CREATE DATABASE
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With