Report this

What is the reason for this report?

Permission denied for database postgres when creating schemas in dev database

Posted on February 13, 2021

I was able to successfully connect to my app’s dev database, however when I try to create a schema with this script:

client.query(
  `CREATE SCHEMA IF NOT EXISTS ${team};`, (err, res) => {
  if (err) console.log(err.stack);
});

I get the following error:

digitalocean app error: permission denied for database db

I understand that the dev database doesn’t allow me to create databases, but nothing is said about creating schemas which is what I tried to do. It turns out that the default user db doesn’t have that privilege and it seems that there’s no way for me to change it.

What are the default user permissions? Should I be allowed to create PostgreSQL schemas in the dev database? This is what I get, and it looks like the user I have access to has no permissions whatsoever.

Role name Attributes Member of
_dodb Superuser, Replication {}
db {}
doadmin Create role, Create DB, Replication, Bypass RLS {db}
postgres Superuser, Create role, Create DB, Replication, Bypass RLS {}

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Start building today

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.