This feature is in and subject to change. To share feedback and/or issues, contact Support.
ALTER VIRTUAL CLUSTER statement initiates a failover or failback in a and manages a virtual cluster.
PCR happens between an active primary cluster and a passive standby cluster that accepts updates from the primary cluster. The unit of replication is a virtual cluster, which is part of the underlying infrastructure in the primary and standby clusters. The CockroachDB cluster has:
- The system virtual cluster manages the cluster’s control plane and the replication of the cluster’s data. Admins connect to the system virtual cluster to configure and manage the underlying CockroachDB cluster, set up PCR, create and manage a virtual cluster, and observe metrics and logs for the CockroachDB cluster and each virtual cluster.
- Each other virtual cluster manages its own data plane. Users connect to a virtual cluster by default, rather than the system virtual cluster. To connect to the system virtual cluster, the connection string must be modified. Virtual clusters contain user data and run application workloads. When PCR is enabled, the non-system virtual cluster on both primary and secondary clusters is named
main.
Required privileges
ALTER VIRTUAL CLUSTER requires one of the following privileges:
- The
adminrole. - The
MANAGEVIRTUALCLUSTERallows the user to run all the relatedVIRTUAL CLUSTERSQL statements for PCR.
Synopsis
<?xml version=“1.0” encoding=“UTF-8”?>Parameters
Options
You can use the following options withALTER VIRTUAL CLUSTER {vc} START REPLICATION OF virtual_cluster_spec ON physical_cluster to initiate the .
Examples
Start the failover process
To start the process, useCOMPLETE REPLICATION and provide the timestamp to restore as of:
SYSTEM TIMEto specify a .LATESTto specify the most recent replicated timestamp.
If you started the PCR stream with the
READ VIRTUAL CLUSTER option, failing over with SYSTEM TIME will destroy the readonly virtual cluster. If you fail over with LATEST, the readonly virtual cluster will remain on the original standby cluster, but will not update with new writes.shared service for a virtual cluster and prevent it from accepting SQL connections:
Start the failback process
To to a cluster that was previously the primary cluster, use theALTER VIRTUAL CLUSTER syntax:
READ VIRTUAL CLUSTER option with the ALTER VIRTUAL CLUSTER failback syntax to start a PCR stream that also creates a read-only virtual cluster on the standby cluster.
If you started the original PCR stream on an existing cluster without virtualization enabled, refer to the section for instructions.

