Saltar a contenido

PostgreSQL en Docker

PostgreSQL es el sistema de gestión de bases de datos relacional de objetos más avanzado del mundo. Ejecutarlo en Docker simplifica su despliegue y mantenimiento.

Despliegue Básico (docker-compose)

version: "3.8"
services:
  db:
    image: postgres:16-alpine
    restart: always
    environment:
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mysecretpassword
      POSTGRES_DB: mydatabase
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    ports:
      - "5432:5432"

Alta Disponibilidad (HA)

Para entornos de producción crítica, se recomienda usar Patroni o CloudNativePG (en Kubernetes). Una configuración simple de Master-Replica requiere configuración manual de primary_conninfo en la réplica y wal_level=replica en el primario.

Backups

Utilizar pg_dump regularmente es fundamental:

docker exec -t my-postgres pg_dump -U myuser mydatabase > backup.sql