PostgreSQL 18 Baseline Upgrade for Containerized Stack
Status of This Memo
This document specifies a standards-track architecture for upgrading the containerized PostgreSQL baseline to major version 18. Distribution of this memo is unlimited within the organization and to authorized external reviewers.
This document is a DRAFT and is subject to change based on review feedback.
Abstract
This RFC defines the architecture decision to standardize the PostgreSQL baseline at major version 18 for the containerized stack that serves local development and production environments. The decision applies to both the metadata database and the tenant database, and it codifies a uniform baseline to reduce drift, improve operational predictability, and ensure a consistent extension surface area.
The document specifies non-negotiable invariants for data integrity, rollback safety, logical decoding continuity, extension availability, and connection pooling compatibility. It also describes the architecture-level approach, affected components, and upgrade mechanics without prescribing operational runbooks or implementation commands.
The RFC provides a shared contract for platform and application teams so that all services relying on PostgreSQL, PgBouncer, Debezium, and schema migration tooling can adopt the upgrade with explicit guarantees and known constraints.
Document Information
| Attribute | Value |
|---|---|
| RFC ID | RFC-DBOPS-0001 |
| Title | PostgreSQL 18 Baseline Upgrade for Containerized Stack |
| Status | Draft |
| Category | Standards Track |
| Kind | Architecture |
| Version | 1.0.0 |
| Author(s) | Prathik Shetty |
| Created | 2026-02-23 |
| Last Updated | 2026-02-23 |
Scope Boundaries
| Aspect | In Scope | Out of Scope |
|---|---|---|
| Baseline version | PostgreSQL 18 for containerized stack | Non-PostgreSQL databases or external managed services |
| Data safety | Integrity guarantees, rollback properties | Operational runbooks and step-by-step procedures |
| CDC | Logical decoding continuity for Debezium | Connector configuration or transformation logic |
| Extensions | pg_cron availability; removal of AGE, pgvector, pg_net | New extension feature enablement |
| Pooling | PgBouncer transaction and session modes | Pooler tuning parameters |
| Schema migration | Prisma baselining to align with extension surface | Application-level schema redesigns |
Intended Audience
This document is written for:
- Platform & Infrastructure Engineers
- Application Developers consuming PostgreSQL services
- Database Reliability Engineers
- Review Board
No prior knowledge of the internal system is assumed.
Conventions and Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
Table of Contents
Part 1: Foundation
-
- 1.1 Background
- 1.2 Current State
- 1.3 Motivation
- 1.4 Scope Statement
-
- 2.1 Design Goals
- 2.2 Non-Goals
- 2.3 Invariants
- 2.4 Success Criteria
Part 2: Architecture
-
- 3.1 System Overview
- 3.2 Authority Domains
- 3.3 Trust Boundaries
- 3.4 Stable Interfaces
-
- 4.1 PostgreSQL Image Build
- 4.2 Metadata Database Container
- 4.3 Tenant Database Container
- 4.4 PgBouncer Transaction Pooler
- 4.5 PgBouncer Session Pooler
- 4.6 Debezium Connect
- 4.7 Schema Migration Tooling
- 4.8 Extension Ecosystem
Part 3: Upgrade Mechanics
- Upgrade Mechanics
- 5.1 Major Version Data Directory Constraints
- 5.2 Extension ABI and Catalog Compatibility
- 5.3 Logical Decoding and CDC
- 5.4 Rollback Properties
- 5.5 Operational Constraints
- 5.6 Schema Migration Baselining
Part 4: Rationale and Evolution
-
- 6.1 Rejected Alternatives
-
- 7.1 Future Considerations
Appendices
Quick Navigation
| Section | Description | Audience |
|---|---|---|
| 1. Introduction | Problem space and motivation | All |
| 2. Requirements | Design constraints and invariants | All |
| 3. Architecture | System overview and trust boundaries | Engineers, Architects |
| 4. Components | System building blocks | Engineers |
| 5. Upgrade Mechanics | Upgrade constraints and migration gates | Engineers, Architects |
| 6. Rationale | Rejected alternatives | Architects |
| 7. Evolution | Future considerations | Architects |
Reading Paths
Platform / Infra Engineers? Start with Introduction → Requirements → Architecture → Upgrade Mechanics
Application Teams? Focus on Introduction → Requirements → Components → Glossary
Review Board? Read all sections, especially Requirements (Invariants) → Rationale → Evolution
Understanding Design Decisions? Read Requirements → Rationale → Evolution
Document Navigation
| Previous | Index | Next |
|---|---|---|
| — | Table of Contents | 1. Introduction → |
End of Section 0