Postgres-XC Wiki

Postgres-XC Implementation

Postgres-XC implementation covers several topics of database cluster, as follows:

  • Consistent transaction management and visibility maintenance throughout a cluster, as well as providing consistent global value such as sequence and timestamp (GTM, GTM-Proxy, GTM-Standby).
  • Statement handling where multiple database nodes are involved, including
  • Table partitioning/replication among multiple databases.
  • Proxy statements to a remote node,
  • Decompose a statement to those for individual database node including join and other predicate pushdown and column projection.
  • Cross-node statement handling including cross-node join.
  • Aggregate over multiple database nodes (statement decompose and result finalize).
  • Synchronized PITR among multiple nodes, synchronizing any 2PC status over the cluster.
  • HA-feature for monitoring components including GTM-Standby, cluster status monitoring and maitenance.

Some of them has deep correspondence to PostgreSQL itself.

Contribute to PostgreSQL

Among the above, we may be able to contribute Postgres-XC code to PostgreSQL as follows:

  • Visibility maintenance throught a cluster. This may help to maintain visibility in a group of Hot Standby nodes.
  • Statement proxying including join pushdown and column projection. This will improve SQL/MED performance.
  • Cross-node statement handling including aggregate. This will help to implement database federation feature in PostgreSQL.