Hello,
Hope this email finds you well. Currently, I have a running PostgreSQL container, and I've encountered an issue. When my application runs overnight, I receive the error message 'FATAL: Sorry, too many clients already.' To address this, I increased the number of max_connections to 3000, 5000, and also 10000, but I still receive the error. Now, I'm considering implementing a health check. Specifically, I'd like to automatically restart the PostgreSQL container if this error occurs. How can I achieve this with a health check in my Docker Compose?
postgres:
restart: always
image: postgres:latest
# mem_limit: 1g
ports:
- ${POSTGRES_PORT}:${POSTGRES_PORT}
volumes:
- ./data/db/postgres:/var/lib/postgresql/data:rw
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
healthcheck:
test: ["CMD-SHELL", "sh -c 'pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}'"]
interval: 30s
timeout: 10s
retries: 5
extra_hosts:
- "postgres:${HOST_IP}"
Best regards,