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. Stop a cluster
  2. Start a cluster

Stop/Start PostgreSQL Cluster

You can stop/start a cluster to save computing resources. When a cluster is stopped, the computing resources of this cluster are released, which means the pods of Kubernetes are released, but the storage resources are reserved. You can start this cluster again to restore it to the state it was in before it was stopped.

Stop a cluster

  1. Configure the name of your cluster and run the command below to stop this cluster.

    Apply an OpsRequest to stop a cluster.

    kubectl apply -f - <<EOF
    apiVersion: apps.kubeblocks.io/v1alpha1
    kind: OpsRequest
    metadata:
      name: ops-stop
      namespace: demo
    spec:
      clusterName: mycluster
      type: Stop
    EOF
    

    Configure replicas as 0 to delete pods.

    kubectl edit cluster mycluster -n demo
    

    Edit the value of spec.componentSpecs.replicas.

    ...
    spec:
      clusterDefinitionRef: postgresql
      clusterVersionRef: postgresql-14.8.0
      terminationPolicy: Delete
      componentSpecs:
      - name: postgresql
        componentDefRef: postgresql
        disableExporter: true  
        replicas: 0 # Change this value
    ...
    
    kbcli cluster stop mycluster -n demo
    
  2. Check the status of the cluster to see whether it is stopped.

    kubectl get cluster mycluster -n demo
    
    kbcli cluster list -n demo
    

Start a cluster

  1. Configure the name of your cluster and run the command below to start this cluster.

    kubectl apply -f - <<EOF
    apiVersion: apps.kubeblocks.io/v1alpha1
    kind: OpsRequest
    metadata:
      name: ops-start
      namespace: demo
    spec:
      clusterName: mycluster
      type: Start
    EOF 
    

    Change replicas back to the original amount to start this cluster again.

    kubectl edit cluster mycluster -n demo
    

    Edit the value of spec.componentSpecs.replicas.

    ...
    spec:
      clusterDefinitionRef: postgresql
      clusterVersionRef: postgresql-14.8.0
      terminationPolicy: Delete
      componentSpecs:
      - name: mysql
        componentDefRef: mysql
        disableExporter: true
        replicas: 1 # Change this value
    ...
    
    kbcli cluster start mycluster -n demo
    
  2. Check the status of the cluster to see whether it is running again.

    kubectl get cluster mycluster -n demo
    
    kbcli cluster list -n demo
    

© 2025 ApeCloud PTE. Ltd.