PostgreSQL e pgAdmin para ambiente de desenvolvimento


Seja para estudos / experimentos, ou até para desenvolver aplicações completas, com o Docker fica bem mais simples de prover a infraestrutura que precisamos. Neste post, mostro como faço para subir o PostgreSQL e o pgAdmin para ambiente de desenvolvimento.

Antes de tudo, você precisa ter o Docker (com Docker Compose) rodando em sua máquina.

Para rodar o Docker no Windows, você deveria pode utilizar o WSL. Caso não saiba do que isso se trata, consulte a documentação da Microsoft, ela está muito bem feita!

Na pasta raíz do seu projeto, crie um arquivo chamado docker-compose.yaml, com o seguinte conteúdo:

version: "3.8"
services:
  postgres:
    image: postgres:15.2-alpine
    environment:
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: secret
    ports:
      - 5432:5432
  pgadmin:
    depends_on:
      - postgres
    image: dpage/pgadmin4:6.20
    environment:
      PGADMIN_DEFAULT_EMAIL: admin@host.com
      PGADMIN_DEFAULT_PASSWORD: secret
    ports:
      - 5480:80

Para iniciar os serviços, basta rodar o comando:

docker-compose up

Se preferir, você pode iniciar os serviços em background. Para isso, use a flag -d, assim:

docker-compose up -d

Gerenciar o PostgreSQL com psql

Para testar o setup, podemos nos conectar ao Postgres usando o psql dentro do nosso container.

Execute o shell com o comando:

docker-compose exec postgres /bin/sh

Faça login no psql:

psql -U admin

Liste os bancos de dados:

\l

Gerenciar o PostgreSQL com pgAdmin

Como alternativa ao psql, podemos utilizar uma interface gráfica para gerenciar o Postgres. Uma das opções aqui é o pgAdmin.

Em seu navegador preferido, acesse http://localhost:5480.

Faça login no pgAdmin com as credenciais: admin@host.com / secret.

String de conexão PostgreSQL

Para conectar suas aplicações ao Postgres, basta informar a string de conexão.

Troque db-name pelo nome do banco de dados ao qual deseja utilizar em sua aplicação:

postgresql://admin:secret@localhost:5432/db-name