Skip to main content

HTTP daemon to check postgresql server status for haproxy

This repository implements a permanent HTTP daemon to monitor postgresql database state and to decide which server in configuration is active master.

Response from tool is used by haproxy to redirect traffic to writable postgres master server, to readonly slave servers and to detect unavailable postgres servers.

Configuration files

Configuration path is ~/.config/pgstatus.conf. Configuration file is required if you want to monitor a postgres server that is not localhost:5432 as user postgres and not using postgres as database to check.

See example configuration file in examples directory.

See example configuration for haproxy in examples/haproxy.conf.

Running the service

There is example systemd service unit available in examples/pgstatus-daemon.service, configured by default to run as postgres user (so normally no user and password needs to be configured for default postgres).

To install:

cp examples/pgstatus-daemon.service /etc/systemd/system/ systemctl daemon-reload systemctl enable pgstatus-daemon systemctl start pgstatus-daemon

Credits

The basic idea is based on website

https://severalnines.com/blog/postgresql-load-balancing-using-haproxy-keepalived

Instead of xinetd and shell script, this implements the check as a systemd controlled permanent daemon.

Release files for pgstatus 1.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pgstatus 1.1.3
File Size Uploaded
pgstatus-1.1.3.tar.gz 3.9 kB Details

Release files / pgstatus-1.1.3.tar.gz

Download URL pgstatus-1.1.3.tar.gz
Size 3.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7adb3c5ed4e7b3004755b4e4e5f7ab3e3cdfb39b523f450d827797f3a52004d4
BLAKE2b-256 checksum
How to use checksums
095e641683b1526804645276cf23ec658ad19f0113558cbd9e1763c341dd08dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.7.2

Release history Release notifications | RSS feed

This release

1.1.3 This release

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.1

1 release file

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page