CloudNativePG
- CloudNativePG
- Before You Start
- Use cases
- Architecture
- Installation and upgrades
- Installation on Kubernetes
- Details about the deployment
- Upgrades
- Spread Upgrades
- In-place updates of the instance manager
- Compatibility among versions
- Upgrading to 1.28.0 or 1.27.x
- Upgrading to 1.27.0 or 1.26.1
- Upgrading to 1.26 from a previous minor version
- Deprecation of backup metrics and fields in the
Cluster.status - Declarative Hibernation in the
cnpgplugin - Upgrading to 1.25 from a previous minor version
- Upgrading to 1.24 from a previous minor version
- From Replica Clusters to Distributed Topology
- Quickstart
- Image Catalog
- Bootstrap
- Importing Postgres databases
- Security
- Code
- Container
- Cluster
- Role Based Access Control (RBAC)
- Deployments and
ClusterRoleResources - Why Are ClusterRole Permissions Needed?
- Calls to the API server made by the instance manager
- Pod and Container Security Contexts
- Security Context Constraints
- Restricting Pod access using AppArmor
- Network Policies
- Exposed Ports
- PostgreSQL
- Storage
- Postgres instance manager
- Scheduling
- Resource management
- Failure Modes
- Rolling Updates
- Replication
- Logical Replication
- Backup
- WAL archiving
- Recovery
- Service Management
- PostgreSQL Configuration
- PostgreSQL Role Management
- PostgreSQL Database Management
- Tablespaces
- Operator configuration
- Instance pod configuration
- Storage
- Backup and recovery
- Benchmarking CloudNativePG
- Encryption at rest
- Persistent Volume Claim (PVC)
- Configuration via a storage class
- Configuration via a PVC template
- Volume for WAL
- Volumes for tablespaces
- Volume expansion
- Static provisioning of persistent volumes
- Block storage considerations (Ceph/Longhorn)
- Labels and annotations
- Monitoring
- Monitoring Instances
- Monitoring with the Prometheus operator
- Enabling TLS on the Metrics Port
- Predefined set of metrics
- User defined metrics
- Example of a user defined metric
- Example of a user defined metric with predicate query
- Example of a user defined metric running on multiple databases
- Structure of a user defined metric
- Output of a user defined metric
- Default set of metrics
- Differences with the Prometheus Postgres exporter
- Monitoring the CloudNativePG operator
- How to inspect the exported metrics
- Auxiliary resources
- Monitoring Instances
- Logging
- Certificates
- Client TLS/SSL connections
- Connecting from an application
- Connection pooling
- Replica clusters
- Kubernetes Upgrade and Maintenance
- PostgreSQL Upgrades
- Kubectl Plugin
- Install
- Use
- Generation of installation manifests
- Status
- Promote
- Certificates
- Restart
- Reload
- Maintenance
- Report
- report Operator
- report Cluster
- Logs
- Cluster logs
- Pretty
- Destroy
- Cluster Hibernation
- Benchmarking the database with pgbench
- Benchmarking the storage with fio
- Requesting a new physical backup
- Launching psql
- Snapshotting a Postgres cluster
- Using pgAdmin4 for evaluation/demonstration purposes only
- Logical Replication Publications
- Creating a new publication
- Dropping a publication
- Logical Replication Subscriptions
- Creating a new subscription
- Dropping a subscription
- Synchronizing sequences
- Integration with K9s
- Permissions required by the plugin
- Automated failover
- RTO and RPO impact
- Delayed failover
- Failover Quorum (Quorum-based Failover)
- How it works
- Quorum Failover Example Scenarios
- Scenario 1: Three-node cluster, failing pod(s)
- Scenario 2: Three-node cluster, network partition
- Scenario 3: Five-node cluster, network partition
- Scenario 4: Three-node cluster with remote synchronous replicas
- Scenario 5: Three-node cluster, preferred data durability, network partition
- Troubleshooting
- Before you start
- First steps
- Are there backups?
- Emergency backup
- Logs
- Operator information
- Cluster information
- Pod information
- Backup information
- Storage information
- Node information
- Conditions
- Networking
- PostgreSQL core dumps
- Some known issues
- Storage is full
- Pods are stuck in
Pendingstate - Replicas out of sync when no backup is configured
- Cluster stuck in
Creating new replica - Networking is impaired by installed Network Policies
- Error while bootstrapping the data directory
- Bootstrap job hangs in running status
- Replicas take over two minutes to reconnect after a failover
- Fencing
- Declarative hibernation
- PostGIS
- End-to-End Tests
- Container Image Requirements
- Image Volume Extensions
- CNPG-I
- Operator capability levels
- Level 1: Basic install
- Operator deployment via declarative configuration
- PostgreSQL cluster deployment via declarative configuration
- Override of operand images through the CRD
- Labels and annotations
- Self-contained instance manager
- Storage configuration
- Replica configuration
- Service Configuration
- Database configuration
- Configuration of Postgres roles, users, and groups
- Pod security standards
- Affinity
- Topology spread constraints
- Command-line interface
- Current status of the cluster
- Operator’s certification authority
- Cluster’s certification authority
- TLS connections
- Certificate authentication for streaming replication
- Continuous configuration management
- Import of existing PostgreSQL databases
- PostGIS clusters
- Basic LDAP authentication for PostgreSQL
- Multiple installation methods
- Convention over configuration
- Level 2: Seamless upgrades
- Level 3: Full lifecycle
- PostgreSQL WAL archive
- PostgreSQL Backups
- Backups from a standby
- Full restore from a backup
- Point-in-time recovery (PITR) from a backup
- Zero-Data-Loss Clusters Through Synchronous Replication
- Replica clusters
- Distributed Database Topologies
- Tablespace support
- Customizable Startup, Liveness, and Readiness Probes
- Rolling deployments
- Scale up and down of replicas
- Maintenance window and PodDisruptionBudget for Kubernetes nodes
- Fencing
- Hibernation
- Reuse of persistent volumes storage in pods
- CPU and memory requests and limits
- Connection pooling with PgBouncer
- Logical Replication
- Level 4: Deep insights
- Level 5: Auto pilot
- Level 1: Basic install
- Custom Pod Controller
- Examples
- Networking
- Benchmarking
- Frequently Asked Questions (FAQ)
- API Reference
- Resource Types
- Backup
- Cluster
- ClusterImageCatalog
- Database
- FailoverQuorum
- ImageCatalog
- Pooler
- Publication
- ScheduledBackup
- Subscription
- AffinityConfiguration
- AvailableArchitecture
- BackupConfiguration
- BackupMethod
- BackupPhase
- BackupPluginConfiguration
- BackupSnapshotElementStatus
- BackupSnapshotStatus
- BackupSource
- BackupSpec
- BackupStatus
- BackupTarget
- BootstrapConfiguration
- BootstrapInitDB
- BootstrapPgBaseBackup
- BootstrapRecovery
- CatalogImage
- CertificatesConfiguration
- CertificatesStatus
- ClusterMonitoringTLSConfiguration
- ClusterSpec
- ClusterStatus
- ConfigMapResourceVersion
- DataDurabilityLevel
- DataSource
- DatabaseObjectSpec
- DatabaseObjectStatus
- DatabaseReclaimPolicy
- DatabaseRoleRef
- DatabaseSpec
- DatabaseStatus
- EmbeddedObjectMetadata
- EnsureOption
- EphemeralVolumesSizeLimitConfiguration
- ExtensionConfiguration
- ExtensionSpec
- ExternalCluster
- FDWSpec
- FailoverQuorumStatus
- ImageCatalogRef
- ImageCatalogSpec
- ImageInfo
- Import
- ImportSource
- InstanceID
- InstanceReportedState
- IsolationCheckConfiguration
- LDAPBindAsAuth
- LDAPBindSearchAuth
- LDAPConfig
- LDAPScheme
- LivenessProbe
- ManagedConfiguration
- ManagedRoles
- ManagedService
- ManagedServices
- Metadata
- MonitoringConfiguration
- NodeMaintenanceWindow
- OnlineConfiguration
- OptionSpec
- OptionSpecValue
- PasswordState
- PgBouncerIntegrationStatus
- PgBouncerPoolMode
- PgBouncerSecrets
- PgBouncerSpec
- PluginConfiguration
- PluginStatus
- PodTemplateSpec
- PodTopologyLabels
- PoolerIntegrations
- PoolerMonitoringConfiguration
- PoolerSecrets
- PoolerSpec
- PoolerStatus
- PoolerType
- PostgresConfiguration
- PrimaryUpdateMethod
- PrimaryUpdateStrategy
- Probe
- ProbeStrategyType
- ProbeWithStrategy
- ProbesConfiguration
- PublicationReclaimPolicy
- PublicationSpec
- PublicationStatus
- PublicationTarget
- PublicationTargetObject
- PublicationTargetTable
- RecoveryTarget
- ReplicaClusterConfiguration
- ReplicationSlotsConfiguration
- ReplicationSlotsHAConfiguration
- RoleConfiguration
- SQLRefs
- ScheduledBackupSpec
- ScheduledBackupStatus
- SchemaSpec
- SecretVersion
- SecretsResourceVersion
- ServiceAccountTemplate
- ServiceSelectorType
- ServiceTemplateSpec
- ServiceUpdateStrategy
- SnapshotOwnerReference
- SnapshotType
- StorageConfiguration
- SubscriptionReclaimPolicy
- SubscriptionSpec
- SubscriptionStatus
- SwitchReplicaClusterStatus
- SyncReplicaElectionConstraints
- SynchronizeReplicasConfiguration
- SynchronousReplicaConfiguration
- SynchronousReplicaConfigurationMethod
- TablespaceConfiguration
- TablespaceState
- TablespaceStatus
- Topology
- UsageSpec
- VolumeSnapshotConfiguration
- Supported releases
- Preview Versions
- Release Note