CloudNativePG
=============
CloudNativePG (CNPG) is an open-source `operator `_
designed to manage `PostgreSQL `_ workloads on any supported
`Kubernetes `_ cluster. It fosters cloud-neutrality through seamless
deployment in private, public, hybrid, and multi-cloud environments via
its :ref:`Distributed Topology ` feature.
Built around DevOps principles, CloudNativePG embraces declarative
configuration and immutable infrastructure, ensuring reliability and
automation in database management.
At its core, CloudNativePG introduces a custom Kubernetes resource
called ``Cluster`` , representing a PostgreSQL cluster with:
- A single primary instance for write operations.
- Optional replicas for High Availability and read scaling.
These instances reside within a Kubernetes namespace, allowing
applications to connect seamlessly using operator-managed services.
Failovers and switchovers occur transparently, eliminating the need for
manual intervention.
For applications inside the Kubernetes cluster, CNPG provides a
microservice database approach, enabling co-location of PostgreSQL
clusters and applications in the same namespace for optimized access.
For applications outside the cluster, CNPG offers flexible connectivity
through service templates and ``LoadBalancer`` services for direct TCP
exposure. Additionally, web applications can take advantage of the
native connection pooler based on PgBouncer.
CloudNativePG was originally built by `EDB `_ , then released open
source under Apache License 2.0. The `source code repository is in GitHub `_ .
.. Note::
Based on the :ref:`Operator Capability Levels model ` , users can expect a "Level V - Auto Pilot" subset of capabilities from the CloudNativePG Operator.
.. toctree::
:maxdepth: 3
ch_01
before_you_start
use_cases
architecture
installation_upgrade
quickstart
image_catalog
bootstrap
database_import
security
instance_manager
scheduling
resource_management
failure_modes
rolling_update
replication
logical_replication
backup
wal_archiving
recovery
service_management
postgresql_conf
declarative_role_management
declarative_database_management
tablespaces
operator_conf
cluster_conf
storage
labels_annotations
monitoring
logging
certificates
ssl_connections
applications
connection_pooling
replica_cluster
kubernetes_upgrade
postgres_upgrades
kubectl-plugin
failover
troubleshooting
fencing
declarative_hibernation
postgis
e2e
container_images
imagevolume_extensions
cnpg_i
operator_capability_levels
controller
samples
networking
benchmarking
faq
cloudnative-pg.v1
supported_releases
preview_version
release_notes--index
cncf-projects--index
appendixes--index