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