8
respostas

Erro de permissão ao criar a DATABASE

O que pode ter ocorrido ?

home=> CREATE DATABASE controle_compras; ERROR: permission denied to create database home=>

8 respostas

Isso está relacionado ao privilégio de usuário. Digite \du no terminal e procure por uma conta Super User para poder logar nela, e então não terá mais restrições de escrita e leitura.

A partir de uma conta Super User também é possível criar outro Super User, ou também modificar os privilégios de uma conta já criada.

Não ajudou muito colega.

home=> create database controle_compras;
ERROR:  permission denied to create database
home=> 
root@vaio:/home/home# psql
psql: FATAL:  role "root" does not exist
root@vaio:/home/home# 

Você não criou um usuário para poder criar um banco de dados no Postgre...

sudo -u -s postgres createuser owning_user

owning_user = usuário do terminal

@Alura, Alguém aí pode dar uma LUZ ???

Não ajudou muito @André, agradeço sua intenção, mas o problema persiste e infelizmente falta pessoas capacitadas aqui para dar suporte ao material, o correto é a equipe de desenvolvimento material dar este tipo de suporte. Para não ficarmos DANDO SOCO NA PONTA DE FACA !

Oi Fabiano, tudo bem? Me explica melhor o que tá acontecendo por favor? Você consegue logar com o usuário postgres padrão, mas mesmo ele não consegue criar o banco?

Depois de fazer o login, executa o comando \du e cola a saída dele aqui pra gente entender como estão seus usuários e permissões por favor?

Fala Fabiano, tudo bem?

No seu prompt de comando, rode:

sudo -u postgres -i

Tente criar o usuário "owning_user" através do comando:

sudo -u postgres createuser owning_user

Se o usuário estiver sem permissão para criar data base, rode o seguinte comando para dar permissão ao seu usuário:

ALTER USER owning_user CREATEDB;

Depois, tente criar novamente a sua database conforme demonstrado no curso.

Aguardo seu retorno para saber se deu certo, tudo bem?

Abraço!

Após o segundo comando:

postgres@vaio:~$ sudo -u postgres createuser owning_user
postgres is not in the sudoers file.  This incident will be reported.
postgres@vaio:~$ 

este( owning_user ) eu posso usar qualquer outro nome no lugar deste owning_user ?

Fabiano, você não consegue logar no banco e executar o \du que comentei acima?