KubeBlocks
BlogsKubeBlocks Cloud
⌘K
​
KubeBlocks for PostgreSQL

Introduction

PostgreSQL introduction

Cluster Management

Create and connect
Scale
Expand volume
Restart
Stop/Start
Switchover
Delete protection

Configuration

Configure cluster parameters

PostgreSQL Connection Pool

Connection pool

High Availability

High Availability for PostgreSQL
  1. Termination policy
  2. Step

Delete a PostgreSQL Cluster

NOTE

The termination policy determines how a cluster is deleted.

Termination policy

terminationPolicyDeleting Operation
DoNotTerminateDoNotTerminate blocks delete operation.
HaltHalt deletes Cluster resources like Pods and Services but retains Persistent Volume Claims (PVCs), allowing for data preservation while stopping other operations. Halt policy is deprecated in v0.9.1 and will have same meaning as DoNotTerminate.
DeleteDelete extends the Halt policy by also removing PVCs, leading to a thorough cleanup while removing all persistent data.
WipeOutWipeOut deletes all Cluster resources, including volume snapshots and backups in external storage. This results in complete data removal and should be used cautiously, especially in non-production environments, to avoid irreversible data loss.

To check the termination policy, execute the following command.

kubectl -n demo get cluster mycluster
>
NAME        CLUSTER-DEFINITION   VERSION             TERMINATION-POLICY   STATUS    AGE
mycluster   postgresql           postgresql-14.8.0   Delete               Running   29m
kbcli cluster list mycluster -n demo
>
NAME        NAMESPACE   CLUSTER-DEFINITION   VERSION             TERMINATION-POLICY   STATUS    CREATED-TIME
mycluster   demo        postgresql           postgresql-14.8.0   Delete               Running   Sep 28,2024 16:47 UTC+0800

Step

Run the command below to delete a specified cluster.

kubectl delete cluster mycluster -n demo

If you want to delete a cluster and its all related resources, you can modify the termination policy to WipeOut, and then delete the cluster.

kubectl patch -n demo cluster mycluster -p '{"spec":{"terminationPolicy":"WipeOut"}}' --type="merge"

kubectl delete -n demo cluster mycluster
kbcli cluster delete mycluster -n demo

© 2025 ApeCloud PTE. Ltd.