"ERROR: must be member of role" When creating schema in PostgreSQL
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
I came across this same problem, it is complaining about the current(master) user you are logged in with is not a member of the user group you are trying to create the schema for. You should grant the role access to your master user and it will let you create the SCHEMA without error:
GRANT <role> TO <master_user>;