Skip to main content

PostgreSQL TimescaleDB cluster fault tolerance

By default, a Managed Database cluster PostgreSQL TimescaleDB consists of one master node. To ensure cluster fault tolerance, you need to add replicas to it. In multi-node clusters, one node will be the master node, while the others will be replicas.

note

For example, if you have created a three-node cluster, the cluster will contain one master node and two replicas. If you add more nodes, they will be replicas.

When adding replicas, consider the node allocation type in the cluster.

Master node

By default, a cluster consists of one main node — a master node. When connecting to the master node, all operations are available: reading (SELECT) and writing (INSERT, UPDATE, DELETE and others).

All data changes on the master node are duplicated on the replicas. The replication process does not affect the operation of the replicas or the master node.

Replicas

Replicas are full copies of the master node. They are available for read-only data operations (SELECT). In PostgreSQL TimescaleDB Managed Database clusters, one replica is always synchronous, and all subsequent replicas are asynchronous.

Having replicas in a cluster ensures its fault tolerance — if the master node stops working, its role will be taken over by one of the replicas, and the cluster will continue to operate normally. When the master node is restored, it will take on the role of a replica. At this point, the master node address will change.

An SLA applies to a cluster with replicas — we guarantee 99.95% write availability and 99.99% read availability.

If there are no replicas in the cluster, it will be unavailable until the master node is restored. Data will not be lost.

We recommend creating fault-tolerant clusters with replicas or adding replicas to existing clusters.

Node allocation type

The node allocation type in a cluster depends on:

  • the presence of replicas in the cluster;
  • type of pool where the cluster is located;
  • the number of segments in the pool;
  • the configuration line.

You can view the list of pools and segments in the Servercore Infrastructure table in the Locations: countries, regions, availability zones, pools, and data center addresses guide.

Four node allocation types are available:

  • Single-Segment;
  • Multi-Segment;
  • Single-AZ;
  • Multi-AZ

Nodes are placed in the same segment of a single-zone pool. Applicable:

  • for clusters without replicas;
  • for clusters with replicas that are located in pools with only one segment;
  • clusters with replicas in the HighFreq and Dedicated configuration lines.
note

For example, you have created a three-node cluster (one master node and two replicas) in the HighFreq line configuration in the ru-2 pool. All nodes will be placed in the same pool segment, for example, ru-2c.

Change the number of replicas

You can increase or decrease the number of replicas. When changing the number of replicas, the cluster continues to run.

  1. In the Dashboard, on the top menu, click Products and select Managed Databases.
  2. Open the Active tab.
  3. Open the cluster page → Settings tab.
  4. Click Edit configuration.
  5. In the Fault Tolerance block, in the Number of nodes field, specify the new number of replicas. If the subnet to which the cluster is connected has no free addresses, you cannot add a replica — each new replica occupies a new address in the subnet.
  6. Click Save.