Product reference pages are available in English only.
Database as a Service

PostgreSQL

What Is It?

PostgreSQL is a fully managed, open-source relational database service offering versions 14, 15, and 16 with support for advanced extensions including PostGIS, TimescaleDB, and pgvector. The service provides high availability through configurable replication modes (asynchronous or strictly synchronous; the older plain synchronous mode is deprecated), automated backups with a configurable retention window (1 to 365 days, 7 days by default) and point-in-time recovery, and cluster topologies with up to 5 instances (1 primary + 4 standbys). Clusters run on private LANs only and include built-in monitoring via Prometheus-style metrics.

Quick Facts

Aspect Details
Type Managed relational database (open-source PostgreSQL)
Versions PostgreSQL 14, 15, and 16 (major version upgrades supported in-place)
Replication Modes Asynchronous (lowest latency), Strictly Synchronous (durability over availability); plain Synchronous is deprecated
High Availability 1 primary + 0-4 standby instances (max 5 instances per cluster)
Scaling Vertical (CPU, RAM, storage per instance) and horizontal (add standby replicas)
Storage SSD Premium (recommended), SSD, or HDD, with shared space for WAL files
Extensions Pre-installed set including PostGIS, TimescaleDB, pgvector, pg_stat_statements, plpgsql, and more
Network Access Private LAN only (no public internet exposure)

Resource Configuration

Component Options
CPU Cores Configurable per instance (subject to quota)
RAM Configurable per instance (subject to quota)
Storage Type SSD Premium (recommended for production), SSD, or HDD
Storage Size Configurable in GB, shared with WAL files
Instances per Cluster 1-5 (1 primary + up to 4 standbys)

Replication Mode Comparison

Mode Latency Data Loss Risk Availability Use Case
Asynchronous Lowest Possible loss of recent transactions Highest Development, read-heavy workloads
Synchronous (deprecated) Higher No data loss on failover High Legacy clusters only; use Strictly Synchronous for new clusters
Strictly Synchronous Highest Zero data loss guarantee Lower (requires at least 3 replicas) Mission-critical data with absolute durability requirements

Pre-installed Extensions (PostgreSQL 15+)

Extension Default Active Purpose
pg_stat_statements Yes Query performance tracking
setuser Yes Secure user switching
plpgsql Yes Procedural SQL language
pg_stat_kcache Yes Kernel cache statistics
pg_trgm No Trigram text search
postgis No Geospatial data types and functions
timescaledb No Time-series database optimization
vector No Vector similarity search for AI/ML workloads

Extensions marked "No" must be activated manually with CREATE EXTENSION command.

What You Can Do

Advanced SQL and Data Types

Execute complex queries with full PostgreSQL SQL support. Use native JSON/JSONB data types, array types, geospatial data (PostGIS extension), and time-series optimizations (TimescaleDB extension). Create custom functions, triggers, and stored procedures.

High Availability Clustering

Deploy clusters with one primary and up to four standby instances. Choose replication mode based on your durability and latency requirements. Automatic failover promotes a standby to primary during hardware failures or maintenance. Planned failovers signal clients via closed TCP connections.

Note: Strictly synchronous mode sacrifices availability (requires at least 3 replicas) to guarantee zero data loss.

Automated Backups and Point-in-Time Recovery

Automatic backups use base backup plus continuous WAL (Write-Ahead Log) archiving. Backups are encrypted and stored in an IONOS Cloud Object Storage bucket in the same region (or in eu-central-2 if Object Storage is unavailable in that region), with a configurable retention window of 1 to 365 days (7 days by default). Restore to any point within the retention window. Backups are automatically created during cluster creation, version upgrades, and before PITR operations.

Note: Up to 30 minutes or 16 MB of data may be lost if the last WAL segment is not archived before a failure.

Extension Ecosystem

Activate pre-installed extensions for specialized functionality. Use PostGIS for location-based applications, TimescaleDB for time-series analytics, pgvector for AI/ML similarity search, and pg_stat_statements for query performance analysis. Extensions can be activated per-cluster on PostgreSQL 15+ using standard CREATE EXTENSION commands.

Vertical and Horizontal Scaling

Scale vertically by adjusting CPU, RAM, and storage per instance. Scale horizontally by adding standby replicas (up to 4 standbys). Maintenance operations on multi-replica clusters update only standbys first, allowing switchover to keep primary online during minor version patches.

Role-Based Access Control

Create roles as privilege containers and users as roles with LOGIN capability. Revoke PUBLIC rights on databases and grant specific privileges (CONNECT, USAGE, SELECT, INSERT, UPDATE, DELETE) as needed. Use ALTER DEFAULT PRIVILEGES to control permissions on future objects.

Note: Initial admin username and password can only be set during cluster creation. Subsequent password changes require SQL commands.

Performance Monitoring and Metrics

Built-in Prometheus-style metrics track CPU load (5-minute average), RAM and storage utilization, instance count, transaction rate, index vs sequential scans, and per-instance load. Access metrics via DCD dashboard or Telemetry API (2-week retention). Use pg_stat_statements extension for detailed query performance analysis.

Access Logs and Auditing

Connection, disconnection, lock-wait, DDL, long-running queries (>500ms), and error statements are logged on-disk (max ~175 MB) and shipped to central storage with 30-day retention. Fetch logs via API with optional time range, direction, and limit parameters.

Maintenance Windows

Schedule weekly 4-hour maintenance window (day + UTC start time) for patches and minor version upgrades. Minor upgrades are automatic and backward-compatible. Major version upgrades are manual and require testing on cloned cluster, sufficient free storage, and planned downtime.

Kubernetes Integration

Attach Kubernetes node pools to the same private LAN as the database cluster. Use standard PostgreSQL client libraries from pods to connect. Verify connectivity with pg_isready command.

Best For

Scenario Why It Fits
ACID-compliant applications Full transaction support with configurable durability guarantees (synchronous replication)
Geospatial applications PostGIS extension provides native support for location data, spatial queries, and GIS functions
Time-series analytics TimescaleDB extension optimizes storage and queries for time-series data at scale
AI/ML workloads pgvector extension enables vector similarity search for embeddings and semantic search
Data warehousing Advanced SQL features, complex queries, and horizontal read scaling via standby replicas
Mission-critical systems Strictly synchronous replication guarantees zero data loss with automatic failover
Regulatory compliance Encrypted backups, access logs with 30-day retention, role-based access control
Multi-tenant applications Fine-grained privilege management and database-level isolation

Key Considerations

Billing & Costs

  • Main billing: CPU cores and RAM are billed per hour; storage and backup storage are billed per GB per 30 days, all provisioned per instance
  • When stopped: Billing continues even when cluster is stopped (resources remain reserved)
  • Additional costs: Storage for WAL files (shares allocated storage), backup storage in IONOS Cloud Object Storage (billed per GB / 30 days)

Limitations

  • Maximum 5 instances per cluster (1 primary + 4 standbys)
  • Automatic backup retention defaults to 7 days but is configurable from 1 to 365 days; point-in-time recovery is limited to the currently configured backup retention window.
  • Up to 30 minutes or 16 MB of data may be lost if last WAL segment is not archived before failure
  • Storage is shared between database files and WAL files (plan capacity accordingly)
  • Initial admin username and password can only be set during cluster creation
  • Major version upgrades are not automatic (requires manual testing and planning)
  • Strictly synchronous mode requires at least 3 replicas (sacrifices availability for durability)
  • Private IP must be from LAN /24 subnet and avoid DHCP range (typically x.x.x.3-10)
  • Extensions require PostgreSQL 15+ for manual activation
  • Access logs retained for 30 days (max ~175 MB on-disk)
  • Metrics via Telemetry API have 2-week retention

Management Options

  • IONOS Data Center Designer (DCD) web interface for cluster creation and management
  • IONOS DBaaS REST API for programmatic control
  • PostgreSQL client tools (psql, pgAdmin, DBeaver, etc.)
  • Standard PostgreSQL drivers for application integration
  • Prometheus-style metrics API for monitoring
  • Access logs API for auditing and troubleshooting
  • ionosctl CLI for Kubernetes node pool attachment