Eu executei o seguinte SQL no psql:
CREATE USER bspu LOGIN;
CREATE DATABASE bsp OWNER bspu;
GRANT ALL PRIVILEGES ON DATABASE bsp TO bspu;
\c bsp
CREATE TABLE users (
id SERIAL PRIMARY KEY,
client_id VARCHAR(20) NOT NULL,
api_key VARCHAR(100) NOT NULL,
api_secret VARCHAR(100) NOT NULL,
auth_token VARCHAR(128) NOT NULL
);
Quando eu logo como bspu
e tento consultar a users
tabela, recebo o erro:
permission denied for relation users
Eu tentei correr:
ALTER DEFAULT PRIVILEGES GRANT ALL ON TABLES TO bspu;
Mas isso não ajuda. O que estou fazendo errado? Por que o proprietário do banco de dados NÃO tem permissão para consultar seu próprio banco de dados?
EDIT: atualizei bspu
para superusuário por enquanto, para poder continuar trabalhando. Qualquer orientação adicional apreciada.
SELECT session_user, current_user
na parte superior do seu script? E qual é a sua versão do Postgres?
\dt "users"
mostra a saída do show?