Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Erro PostgreSQL e duvida !!

Boa tarde tenho um problema e uma duvida sobre o PostgreSQL.

  1. Quando abrir o SQL Shell sempre dá o seguinte error depois de logado. AVISO: página de código do Console (850) difere da página de código do Windows (1252) caracteres de 8 bits podem não funcionar corretamente. Veja página de referência do psql "Notes for Windows users" para obter detalhes. Alguém pode me ajudar a resolver isso. Windows 10 e PostgreSQL !!

  2. Pq os comandos do curso e diferente da documentação: "https://www.postgresql.org/files/documentation/pdf/10/postgresql-10-A4.pdf" Na documentação diz para criar banco e usar ele com o seguinte codigo: createdb projeto , psql projeto !! Enquanto o curso para fazer isso utiliza CREATE DATABASE projeto , \c projeto !!!!

3 respostas
solução

Bom dia Diogo!

Primeiro sobre a dúvida mais fácil, a segunda, e ela tem duas respostas.

  1. Você está olhando a documentação do PostgreSql versão 10, quando no curso estamos utilizando a versão abaixo, 9. Isso pode causar diferença de comandos, mas raramente vai ter quebra de compatibilidade entre eles e ambos funcionarão. O jeito é experimentar os dois jeitos e ver o que acontece.

  2. E mais importante: a documentação roda os comandos no terminal puro, enquanto no curso o instrutor já se conectou ao console do psql antes de rodar os comandos.

    • O comando createdb não existe dentro do postgresql, somente no terminal shell/bash/prompt. É um comando que acessa o psql e então roda o comando CREATE DATABASE dbName.
    • Repare que a documentação te sugere conectar no banco usando o comando psql projeto. Esse comando (psql) é o que você utiliza para se conectar ao terminal interno do PostgreSql, para então poder gerenciar seus bancos de dados e fazer consultas. Passando um nome de banco de dados para ele (projeto) você está falando que quer 1. entrar no terminal do PostgreSql; 2. se conectar imediatamente ao db projeto. É o mesmo que utilizar os dois comandos em sequência:
      psql #no prompt
      \c projeto # no terminal do psql

É isso. Agora vamos à segunda dúvida. Isso parece ser um problema de Encoding. Seu banco de dados deve estar configurado em UTF-8 e o terminal do Windows por padrão utiliza UTF-16. Para conectar no terminal utilizando UTF-8, pelo que eu encontrei na internet basta, no Windows, apertar Super+R (Super é o botão Windows) e rodar o comando cmd.exe /c chcp 65001. Como não tenho uma máquina com Windows aqui, não posso fazer o teste pra confirmar pra você.

É isso! Espero ter ajudado, mas qualquer dúvida pode voltar aqui e eu apareço pra tentar ajudar novamente.

Abraço e bons estudos!

Obrigado pela ajuda ! O engraçado que mesmo usando o PostgreSql 10 os comandos que mencionei não funciona. O que foi ensinado no curso está funcionando. Sobre o erro não funcionou !!

Imagina, Diogo, é um prazer ajudar! Última explicação então: os comandos que você mencionou são utilizados diretamente no prompt de comando, antes de entrar no terminal do postgre.

Se você está utilizando algum tipo de aplicativo pra interagir com o postgre, você não vai conseguir utilizar os comandos, pois ele entra diretamente no terminal do postgre.

Sempre às ordens! Bons estudos e boa noite!