Now Moved

Postgres-XC Wiki page is now at new location. Please visit there for the latest information.

Project Overview

Postgres-XC (eXtensible Cluster) is a multi-master write-scalable PostgreSQL cluster based on shared-nothing architecture, developed by Postgres-XC Development Group. Introductory information can be found here (pdf&odp).

Features of PG-XC include:

Write‐scalable PostgreSQL cluster

More than 3× scalability performance speedup with five servers, compared with pure PostgreSQL (DBT‐1). Result as of 1.0 release. Ways to improve more scalability are known.

General Information

Now some of the queries can be executed in parallel in multiple data nodes.

Failover/High Availability

Yes

Core features are available. External tools can be used for failover

Online provisioning

No

PostgreSQL upgrades

No

All the nodes should be upgraded at the same time.

Detached node/WAN

No

Postgres-XC depends upon high speed communication.

PostgreSQL core modifications required

Yes

Programming languages

C, flex, bison, bash, perl (same as Postgres)

Licensing

BSD, PostgreSQL license

Complete clustering solution

Yes

High-availability feature is already available, will be strengthened with next releases

PostgreSQL versions

9.1-based

Planning to move to 9.2 once 9.2 stable branch is out

Model Summary

Synchronous multi-master.

Model description

Extracting transaction management into single server to provide transaction ID and snapshot, as well as other global values. Thus Postgres-XC provides consistent database view to any transactions running on any master.

Each table can be partitioned or replicated, as specified in CREATE TABLE statement. Distribution can be also done on a portion of nodes if wanted.