Menu

Roadmap

Koichi Suzuki

Discussion of the roadmap

In the cluster summit and XC meeting as a part of PGCon 2014, this year, many productive discussions were made. Outline of the meeting will be found at Cluster Summit memo and XC meeting memo.

The important conclusions/advices were as follows:

  • Postgres-XC already has sufficient feature.
    • Missing features are not seriously used in production.
  • Should concentrate on stabilization and bug fix.
  • Catching-up PostgreSQL may not be urgent issue.
  • Make community process more open.
  • Publishing simple benchmark is sufficient. Just concentrate on DBT-1, DBT-2 and pgbench.

To-do list below has a bunch of features. Most of them can be classified as:

  • Performance improvement,
  • Improve cluster configuration and operation,
  • High-availability.

To-do list and priority is subject to realistic use case and resource. Further discussion/proposal and development effort are very very welcome.

List of ToDos

It is highly advised that proposal/discussion material are linked from each item.

PG Merge

  • PostgreSQL 9.4 merge
    • This is high priority because we want to stay in sync with PG.

Single Binary for Postgres-XC

  • Coordinator/Datanode integration
    • When only one node is running as a cluster, planner should produce the same plan as current PostgreSQL.
    • Simplify cluster configuration/operation
    • This will improve read transaction by local cache at coordinator level.
  • GTM/GTM Proxy integration into user backend or postmaster.

Performance Improvement

  • Subquery optimisation
  • DML Planning
  • Executor refactoring to support binary mode
    • Needed for better support of JDBC

Statics Collector

  • Statistics (Maintain global statistics. Necessary for planning big queries as seen in DBT-3)
  • Query optimisation (statistics)

More PG compliance

  • SELECT FOR UPDATE
  • WHERE CURRENT OF
  • Long object support

Partitioning

  • Distribution column update
  • Alter table concurrently
  • Range and list distribution

External data sources

  • Database links
  • FDW

Transaction

  • SAVEPOINT
  • Global deadlock detection

Administration

  • pgxc_ctl improvement
  • Barrier improvement
    • Synchronize PREPARE in explicit 2PC if applicable.

Constraints support

  • Global constraints

Connectors

  • CREATE TABLE AS in JDBC

Other

  • DBT-5 Analysis and running DBT-5 with Postgres-XC
  • Use of temporary object with implicit 2PC
  • General OID/CTID handling
  • General function handling
  • upgrade utility for upgrading a PG standalone database to PG XC cluster
  • Pooler enhancements / refactoring

Known Bugs

  • Fix the bug #311 (fail to commit in plpgsql)
  • Fix the bug #427, some statment stack with EXECUTE DIRECT
  • Fix view privilege issue.
  • Transaction handling while GTM is out.

Other open bug list is available at List of known bugs.


Related

Postgres-XC: Main_Page