System Requirements
This page describes the hardware and software requirements for each component of the PMP4PG platform.
PMP4PG is composed of two server-side components:
- The Backend — a Java Spring Boot application that embeds the Angular frontend and exposes the REST API
- The Repository — a PostgreSQL database that stores all collected metrics
Both can run on the same host for small environments, or on dedicated hosts for production deployments.
The Agent is a separate lightweight binary deployed on each PostgreSQL server you want to monitor.
The Community Edition supports monitoring of one PostgreSQL server. The Enterprise Edition supports unlimited servers. System requirements below apply to both editions — scale accordingly for larger fleets.
Backend Server
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 4 GB | 8 GB |
| Disk | 20 GB | 30 GB |
| OS | Rocky Linux 8+, RHEL 8+ | Rocky Linux 9 / RHEL 9 |
| Java Runtime (JRE) | 17 | 21 LTS |
Memory requirements scale with the number of monitored servers and concurrent users. As a general guideline, plan for an additional ~1 GB RAM per 5 monitored servers.
Repository Server (PostgreSQL + TimescaleDB)
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 4 GB | 8 GB |
| Disk | +20 GB | - |
| OS | Rocky Linux 8+, RHEL 8+ | Rocky Linux 9 / RHEL 9 |
| PostgreSQL | 16 | 16+ |
| TimescaleDB | 2.x | Latest 2.x |
The PMP repository must run on a dedicated PostgreSQL instance, separate from any PostgreSQL servers you intend to monitor with PMP4PG.
Disk Sizing Estimate
Disk usage grows primarily with the number of monitored servers and the configured data retention period.
| Fleet Size | Estimated Monthly Growth |
|---|---|
| 1 server (Community) | ~5 GB / month |
| 2–10 servers | ~5–20 GB / month |
| 10+ servers | Plan accordingly |
Configure data retention policies to purge old live ASH samples and limit repository growth. History tables (*_history) are much smaller than live tables.
Agent Host
The agent is deployed on each PostgreSQL server you want to monitor. It is extremely lightweight and has no measurable impact on PostgreSQL performance.
| Resource | Details |
|---|---|
| OS | Rocky Linux 8+, RHEL 8+, Debian 11/12, Ubuntu 20.04/22.04/24.04 |
| Architecture | x86_64 (amd64) |
| RAM | ~100 MB |
| PostgreSQL monitored | 14 and later |
| Network | Outbound HTTPS (443) access to the Backend |
Supported Deployment Topologies
All-in-One (Community Edition / Development)
Suitable for monitoring a single PostgreSQL server or for evaluation purposes.
┌─────────────────────────────────────────────┐
│ Single Host │
│ Backend (+ embedded frontend) │
│ Repository (PostgreSQL + TimescaleDB) │
└─────────────────────────────────────────────┘
▲ HTTPS (443)
│
┌─────────────┴───────────────────────────────┐
│ Monitored PostgreSQL Server │
│ PMP Agent │
└─────────────────────────────────────────────┘
Distributed (Enterprise Edition / Production)
Recommended for production deployments with multiple monitored servers.
┌──────────────────────┐ ┌──────────────────────┐
│ Backend Host │ │ Repository Host │
│ Java + Nginx │────▶│ PostgreSQL + │
│ (embedded frontend) │ │ TimescaleDB │
└──────────────────────┘ └──────────────────────┘
▲ HTTPS (443)
│
┌─────────┴────────────────────────────────────────┐
│ Monitored PostgreSQL Servers │
│ PMP Agent PMP Agent PMP Agent ... │
└──────────────────────────────────────────────────┘