Thread: Postgresql docker health check

Postgresql docker health check

From
Amna Abdul Rehman
Date:
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,
--

Re: Postgresql docker health check

From
"Peter J. Holzer"
Date:
On 2024-03-12 15:43:13 +0100, Amna Abdul Rehman wrote:
> 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.

While implementing "emergency brakes" like this is generally a good
idea, you should investigate why you have so many connections. If you
have way more connections than you can reasonably expect, something is
wrong, And it is better to fix the root cause than to just hit
everything over the head with a hammer periodically.

        hp

--
   _  | Peter J. Holzer    | Story must make more sense than reality.
|_|_) |                    |
| |   | hjp@hjp.at         |    -- Charles Stross, "Creative writing
__/   | http://www.hjp.at/ |       challenge!"

Attachment