CodeGym /Cursos /SQL SELF /Erros comuns na instalação e configuração do PostgreSQL

Erros comuns na instalação e configuração do PostgreSQL

SQL SELF
Nível 4 , Lição 1
Disponível

1. Componentes principais do PostgreSQL

O instalador precisa colocar pra você três coisas principais: o servidor e dois clientes. Agora vou falar rapidinho sobre eles.

Servidor postgres

Esse é o coração do PostgreSQL. O servidor é responsável por:

  • Processar as requisições dos clientes.
  • Gerenciar os dados: leitura, escrita, atualização.
  • Garantir a segurança e integridade dos dados.

Quando você inicia o servidor PostgreSQL, ele fica pronto pra receber requisições dos clientes.

Clientes

Clientes são programas que se conectam ao servidor e mandam SQL queries pra ele. No PostgreSQL tem alguns clientes bem conhecidos:

  • Programa psql: linha de comando pra trabalhar com PostgreSQL. Perfeito pra quem curte um terminal raiz ou é dev old school.
  • Programa pgAdmin: interface gráfica pra gerenciar o servidor. Tipo um canivete suíço pra banco de dados — bonito e prático.
  • Outros clientes: na real, tem dezenas de libs e ferramentas pra usar o PostgreSQL em outras linguagens, tipo psycopg3 pra Python ou pg pra Ruby.

Como esses componentes trabalham juntos? O usuário faz uma requisição pelo cliente (psql/pgAdmin) → o cliente manda a query pro servidor postgres → o servidor processa a query, usando dados do sistema de arquivos e da memória dele → o resultado volta pro cliente.

2. Conectando ao banco pelo terminal

Como eu espero que você lembre, psql é o programa pra usar o PostgreSQL pela linha de comando. Ele é perfeito se você quer testar algo rapidão, rodar uma query ou explorar o banco.

Exemplo: usando o psql


# Conectando ao servidor
psql -U postgres

Se tudo der certo, você vai ver uma tela mais ou menos assim:


psql (17.5)
Type "help" for help.

postgres=#

Parabéns, você tá no terminal dentro do psql!

Assim que a conexão estiver feita, dá pra rodar comandos:


-- Criar um banco de dados
CREATE DATABASE test_db;

-- Ver a lista de bancos
\l

-- Trocar pra um banco específico
\c test_db

-- Sair da sessão
\q

Ferramenta top pra quem curte trabalhar "direto ao ponto".

3. Problemas comuns na instalação

E se der ruim? Se você não viu a lista de bancos, ou nem conseguiu logar? O instalador terminou e ficou por isso mesmo 😡 Erros, mensagens estranhas no terminal, postgres não inicia, psql finge que nem te conhece. Já passou por isso? Parabéns — você tá na fase clássica do “fiz tudo certo, mas nada funciona”. 😅

Bora passar pelas armadilhas top que todo iniciante pisa. E vamos fazer isso de boa, com um chá quente e aquela vontade de vencer qualquer erro nos logs. Então respira fundo — hoje a gente vai botar ordem e tirar o PostgreSQL do modo “só funciona com o mentor”. 🛠️🐘

Problema 1. Conflito de portas

Esse é um dos casos mais comuns. O PostgreSQL, por padrão, usa a porta 5432 pra conectar com o servidor. Se essa porta já tá ocupada por outro app, a instalação até vai, mas o servidor não vai rodar.

Como identificar o problema?

Ao iniciar o PostgreSQL, o servidor se recusa a funcionar, ou mostra uma mensagem tipo:


could not bind IPv4 socket: Address already in use

Solução:

Veja qual app tá usando a porta 5432. No Linux, roda esse comando:


sudo netstat -tuln | grep 5432

No Windows, no terminal, roda:


netstat -ano | find "5432"

Se a porta realmente estiver ocupada, você pode mudar a porta do PostgreSQL. Abre o arquivo postgresql.conf (fica na pasta de dados do PostgreSQL) e procura a linha:


#port = 5432

Troca a porta pra uma livre, tipo:


port = 5433

Não esquece de reiniciar o servidor depois de mudar.

Problema 2. Permissões insuficientes

No Windows, pode rolar do instalador do PostgreSQL não conseguir terminar direito porque o usuário atual não tem permissão suficiente.

Como identificar o problema?

O instalador trava ou mostra mensagem dizendo que faltam permissões.

Solução:

Roda a instalação como administrador. Pra isso, clica com o botão direito no instalador e escolhe "Executar como administrador".

Problema 3. Problemas com variáveis de ambiente

Às vezes, depois de instalar o PostgreSQL, o comando psql não é reconhecido no terminal.

Como identificar o problema?

Quando tenta rodar o psql, aparece uma mensagem tipo:


'psql' is not recognized as an internal or external command

Solução:

Esse erro é porque o caminho da pasta dos binários do PostgreSQL (tipo C:\Program Files\PostgreSQL\17\bin) não tá nas variáveis de ambiente.

Pra arrumar isso no Windows:

  1. Abre "Propriedades do Sistema" → "Avançado" → "Variáveis de Ambiente".
  2. Acha a variável Path em "Variáveis do Sistema" e edita ela.
  3. Adiciona o caminho da pasta bin do PostgreSQL. Tipo:
    
    C:\Program Files\PostgreSQL\17\bin
            
  4. Depois disso, reinicia o terminal.

4. Erros ao conectar no servidor

Às vezes tudo vai liso: você inicia o PostgreSQL, abre o psql e conecta no banco sem stress. Mas às vezes... dá ruim. Alguma coisa bloqueia. A senha parece certa, o servidor tá rodando... Mas o psql fica bravo contigo.

Relaxa — esses erros acontecem com todo mundo. Aqui embaixo vou mostrar os problemas de conexão mais comuns e como resolver rapidinho.

Problema 1. Senha errada pro usuário postgres

Quando você instala o PostgreSQL, define uma senha pro superusuário do SGBD postgres. Se esquecer ou digitar errado, não vai conseguir conectar no servidor.

Como identificar o problema?

Ao rodar o comando de conexão:


psql -U postgres

Você recebe um erro tipo:


password authentication failed for user "postgres"

Solução:

Se esqueceu a senha do postgres, dá pra resetar assim:

  1. Abre o arquivo pg_hba.conf, que fica na pasta de dados do PostgreSQL C:\Program Files\PostgreSQL\17\data
  2. Troca a linha:
    
    host    all             all             127.0.0.1/32            md5
            
    Por:
    
    host    all             all             127.0.0.1/32            trust
            

    Isso desativa a checagem de senha temporariamente.

  3. Reinicia o servidor PostgreSQL.
  4. Conecta no banco sem senha:
    
    psql -U postgres
            
  5. Muda a senha com o comando:
    
    ALTER ROLE postgres PASSWORD 'new_password';
            
  6. Volta o pg_hba.conf pro jeito que tava antes e reinicia o servidor.

Problema 2. Host ou porta errados

Se o cliente psql não consegue conectar no servidor, confere se você colocou o host e a porta certos nas configs.

Como identificar o problema?

O erro de conexão pode ser assim:


could not connect to server: Connection refused
    Is the server running on host "127.0.0.1" and accepting
    TCP/IP connections on port 5432?

Solução:

Confere se o servidor PostgreSQL tá rodando:


systemctl status postgresql

(Linux) ou abre "Serviços" (Services) no Windows (Ctrl+Shift+Esc).

Se o servidor estiver rodando, confere as configs no pg_hba.conf. Vê se as linhas de conexão pro host local (127.0.0.1) e pro seu IP tão certas. Tipo:


host    all             all             127.0.0.1/32            md5
host    all             all             192.168.1.100/32        md5

5. Dicas gerais pra resolver problemas

  • Use os logs do PostgreSQL
    Logs são seus melhores amigos. Eles ficam na pasta de dados do PostgreSQL (tipo /var/log/postgresql/ no Linux). Se der ruim, começa olhando os logs.
  • Confira a documentação
    O PostgreSQL tem uma das melhores documentações que existe. Se você achou um erro, é bem provável que a solução tá lá na doc oficial: https://www.postgresql.org/docs/.
  • Use a comunidade
    Se travar, dá uma olhada no Stack Overflow, ChatGPT ou nos fóruns do PostgreSQL. As chances de achar uma solução pronta são grandes.

P.S.

Importante! Se nada funcionou pra você — manda uma mensagem pro nosso suporte: a gente te ajuda a resolver e depois atualiza esse artigo.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION