# PostgreSQL Cluster Provisioning Inputs (staging / production) Fill this template before marking T0.1 complete. One row per environment. | Env | Host | Port | DB name | User | Password/Secret ref | Pooling (min/max) | Backup owner & cadence | Monitoring owner & target (Prom/Grafana) | Connection options (SSL, timeout) | Notes | | --- | ---- | ---- | ------- | ---- | ------------------- | ----------------- | ---------------------- | ---------------------------------------- | --------------------------------- | ----- | | Staging | postgres-staging.internal | 5432 | stellaops | stellaops_app | ${POSTGRES_STAGING_PASSWORD:?} | min=5 / max=20 | DevOps · daily full + WAL | DevOps · prom-staging / grafana-staging | SSL required; stmt_timeout=30s | CONFIRMED 2025-12-05 | | Prod | postgres-prod.internal | 5432 | stellaops | stellaops_app | ${POSTGRES_PROD_PASSWORD:?} | min=5 / max=30 | DevOps · daily full + WAL + weekly PITR drill | DevOps · prom-prod / grafana-prod | SSL required; stmt_timeout=30s | CONFIRMED 2025-12-05 | Provisioning checklist - [ ] PostgreSQL 16+ provisioned (HA or single per env) - [ ] Network allowlist for app/CI runners - [ ] PgBouncer (transaction mode) or equivalent pooler configured - [ ] Backups tested (restore drill) - [ ] Monitoring/alerts enabled (pg_stat_statements, disk, locks, replication lag) - [ ] Credentials stored in secrets manager (link here) - [ ] Connection strings injected into app settings / deployment values Reference - See `docs/db/persistence-config-template.yaml` for appsettings structure. - See `docs/db/MIGRATION_STRATEGY.md` for migration/lock expectations.