Estou tentando configurar um novo projeto com um banco de dados Postgresql 15.5.
Eu tenho uma instância em execução. Se eu criar um novo banco de dados
psql --command "create database \"tagger-db\""
criar um novo usuário
psql --command "create user \"tagger-user\""
conceder todos os privilégios no novo banco de dados ao novo usuário
psql --command "grant all privileges on database \"tagger-db\" to \"tagger-user\""
se eu tentar criar uma tabela com o novo usuário
psql -U "tagger-user" -d "tagger-db" --command "create table users (id uuid primary key)"
Estou tendo o erro a seguir
ERROR: permission denied for schema public
qual a forma correta de conceder ao novo usuário todos os privilégios no banco de dados?
ALL PRIVILEGES ON DATABASE
significa todos estes três:CREATE
,CONNECT
, eTEMPORARY
, nada mais. Se quiser que seu novo usuário crie objetos noPUBLIC
esquema (o que não é uma boa ideia), você também precisará conceder privilégios nesse esquema.