4
respostas

[Dúvida] Não consigo usar o comando: sudo -u postgres psql ou o psql -U postgres

Não estou conseguindo usar o comando sudo -u postgres psql ou o psql -U postgres. Como posso ativar o psql para criar o banco de dados?

4 respostas

Olá Roberth! Tudo bem?

Parece que você está enfrentando dificuldades para acessar o shell do PostgreSQL usando os comandos sudo -u postgres psql ou psql -U postgres. Vamos tentar resolver isso juntos!

Aqui estão algumas sugestões que podem te ajudar:

  1. Verifique se o PostgreSQL está instalado e em execução: Certifique-se de que o PostgreSQL está instalado no seu sistema e que o serviço está ativo. Você pode verificar o status do serviço com o comando:

    sudo service postgresql status
    

    Se não estiver em execução, você pode iniciá-lo com:

    sudo service postgresql start
    
  2. Usuário e permissões: O comando sudo -u postgres psql é usado para acessar o shell do PostgreSQL como o usuário postgres. Se estiver tendo problemas, certifique-se de que você tem permissões de sudo no seu sistema.

  3. Senha do usuário postgres: Se você estiver usando o comando psql -U postgres, ele pode estar solicitando uma senha. Certifique-se de que você sabe a senha correta do usuário postgres. Caso contrário, você pode redefinir a senha usando o seguinte comando:

    sudo -u postgres psql
    

    E, em seguida, no shell do PostgreSQL:

    ALTER USER postgres WITH PASSWORD 'nova_senha';
    
  4. Verifique o caminho do psql: Às vezes, o caminho do executável psql pode não estar no seu PATH. Você pode tentar acessar o psql usando o caminho completo, como /usr/bin/psql.

  5. Erros específicos: Se houver mensagens de erro específicas ao tentar executar os comandos, compartilhe-as, pois elas podem fornecer pistas adicionais sobre o que pode estar errado.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Aparece a seguinte mensagem no terminal:

input: sudo service postgresql status
output: Comando não encontrado

O meu SO é o Windows, os comando do instrutror são para o Linux? Seria esse o problema?

  • Baixar o PostegreSQL para desktop, deixar ele aberto.

  • Abrir o prompt de comando windows e entrar com o comando:
    cd "C:\Program Files\PostgreSQL\<versão>\bin"
    Atenção ao número da versão do PostgreSQL baixado, e substituir o número no código acima.

  • Após chegar ao endereço acima, entrar com o comando:
    psql -U postgres

  • Agora é seguir com as instruções do curso:

  1. Criar o banco de dados
  2. Alterar usuário e senha
  • Rodar Uvicorn no terminal VSC

Agora estou com problemas ao rodar o uvicorn, com o erro:

\__init__.py", line 135, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe7 in position 78: invalid continuation byte

Tentei o client_encoding='utf8' no database.py:
engine = create_engine(DATABASE_URL, client_encoding='utf8')

Achei que fosse só um erro de decode, mas tô completamente perdido e nem o docs do FastAPI consigo verificar.