Monitoring PostgreSQL Metrics with ClickStack
This guide shows you how to monitor PostgreSQL performance metrics with ClickStack by configuring the OpenTelemetry collector's PostgreSQL receiver. You'll learn how to:
- Configure the OTel collector to collect PostgreSQL metrics
- Deploy ClickStack with your custom configuration
- Use a pre-built dashboard to visualize PostgreSQL performance (transactions, connections, database size, cache hit ratios)
A demo dataset with sample metrics is available if you want to test the integration before configuring your production PostgreSQL database.
Time required: 10-15 minutes
Integration with existing PostgreSQL
This section covers configuring your existing PostgreSQL installation to send metrics to ClickStack by configuring the ClickStack OTel collector with the PostgreSQL receiver.
If you would like to test the PostgreSQL metrics integration before configuring your own existing setup, you can test with our preconfigured demo dataset in the following section.
Prerequisites
- ClickStack instance running
- Existing PostgreSQL installation (version 9.6 or newer)
- Network access from ClickStack to PostgreSQL (default port 5432)
- PostgreSQL monitoring user with appropriate permissions
Ensure monitoring user has required permissions
The PostgreSQL receiver requires a user with read access to statistics views. Grant the pg_monitor role to your monitoring user:
Create custom OTel collector configuration
ClickStack allows you to extend the base OpenTelemetry collector configuration by mounting a custom configuration file and setting an environment variable.
Create postgres-metrics.yaml:
The tls: insecure: true setting disables SSL verification for development/testing. For production PostgreSQL with SSL enabled, remove this line or configure proper certificates.
Verify metrics collection
Once configured, log into HyperDX and verify metrics are flowing:
- Navigate to the Metrics explorer
- Search for metrics starting with postgresql. (e.g., postgresql.backends, postgresql.commits)
- You should see metric data points appearing at your configured collection interval
Once metrics are flowing, proceed to the Dashboards and visualization section to import the pre-built dashboard.
Demo dataset
For users who want to test the PostgreSQL metrics integration before configuring their production systems, we provide a pre-generated dataset with realistic PostgreSQL metrics patterns.
This demo dataset includes database-level metrics only to keep the sample data lightweight. Table and index metrics are collected automatically when monitoring a real PostgreSQL database.
Download the sample metrics dataset
Download the pre-generated metrics files (24 hours of PostgreSQL metrics with realistic patterns):
The dataset includes realistic patterns:
- Morning connection spike (08:00) - Login rush
- Cache performance issue (11:00) - Blocks_read spike
- Application bug (14:00-14:30) - Rollback rate spikes to 15%
- Deadlock incidents (14:15, 16:30) - Rare deadlocks
Start ClickStack
Start a ClickStack instance:
Wait approximately 30 seconds for ClickStack to fully start.
Verify metrics in HyperDX
Once loaded, the quickest way to see your metrics is through the pre-built dashboard.
Proceed to the Dashboards and visualization section to import the dashboard and view many PostgreSQL metrics at once.
The demo dataset time range is November 10, 2025 00:00:00 to November 11, 2025 00:00:00. Make sure your time range in HyperDX matches this window.
Dashboards and visualization
To help you get started monitoring PostgreSQL with ClickStack, we provide essential visualizations for PostgreSQL metrics.
Import the pre-built dashboard
- Open HyperDX and navigate to the Dashboards section
- Click Import Dashboard in the upper right corner under the ellipses
- Upload the
postgres-metrics-dashboard.jsonfile and click Finish Import
View the dashboard
The dashboard will be created with all visualizations pre-configured:
For the demo dataset, ensure the time range is set to November 10, 2025 00:00:00 - November 11, 2025 00:00:00.
Troubleshooting
Custom config not loading
Verify the environment variable is set:
Check the custom config file is mounted:
No metrics appearing in HyperDX
Verify PostgreSQL is accessible:
Check OTel collector logs:
Authentication errors
Verify password is set correctly:
Test credentials directly:
Next steps
After setting up PostgreSQL metrics monitoring:
- Set up alerts for critical thresholds (connection limits, high rollback rates, low cache hit ratios)
- Enable query-level monitoring with
pg_stat_statementsextension - Monitor multiple PostgreSQL instances by duplicating the receiver configuration with different endpoints and service names
Going to production
This guide extends ClickStack's built-in OpenTelemetry Collector for quick setup. For production deployments, we recommend running your own OTel Collector and sending data to ClickStack's OTLP endpoint. See Sending OpenTelemetry data for production configuration.