Thanks to my colleague Linas Virbalas, Tungsten Replicator has just taken the next step to support full logical replication for PostgreSQL. Linas posted an article today on his new blog describing PostgreSQL logical replication using SLONY triggers. I saw a demo of his implementation and was really impressed. For more information you should read the article, which provides an excellent description of how Tungsten replicates from SLONY logs.
It is pretty exciting whenever Tungsten replicates data to or from a new DBMS type, but PostgreSQL logical replication is really special. Tungsten Replicator has been able to manage native warm standby and log streaming replication more than a year using a script-based plugin. This is fine for offering copies for failover but rather limited for problems beyond simple availability. Logical replication opens up a whole new set of solutions that include multi-master replication, heterogeneous data transfer, and large-scale read scaling on replicas. It is also a key building block for advanced clustering capabilities like zero-downtime upgrade as well as for building multi-tenant systems for SaaS applications. After years of working on these problems for MySQL we are glad to finally attack them head on for PostgreSQL as well.
There is still a lot of work to achieve fully functional, easy-to-use PostgreSQL logical replication, but the work that Linas described gives Tungsten a clear path forward. I expect we will make rapid progress, because so many of the other parts of Tungsten Replicator are already in place. Meanwhile, Linas has put together a very readable blog that should make interesting reading for years to come.