Month: August 2016
Walbouncer update – a proxy for selective PostgreSQL physical replication
By Kaarel Moppel – Walbouncer was covered on the blog when it was first announced, but that was almost 2 years ago. So it’s a good time to echo it out again, especially in light of compatibility update to support PostgreSQL 9.5, addition of a helper script for bootstrapping replicas called Walbouncer-companion and making the […]
Insert-only data modeling with PostgreSQL?
By Kaarel Moppel – In recent years, there has been quite a lot of buzz about “insert-only” approaches and some database-like products (Datomic, Apache Samza) have emerged, being inspired by the idea of having an immutable data store. In light of cheap storage and powerful hardware, I see the idea definitely having potential for certain […]
Logging of data modifications and the “log_statement” configuration parameter
By Kaarel Moppel – PostgreSQL has a bagful of server configuration parameters (249 according to my counting for version 9.5) at your disposal, which is mostly a good thing, as it enables you to take the maximum out of your hardware, if you’re willing to put in the necessary time. However, some of the parameters […]
Exploding runtime: How nested loops can destroy speed
Sometimes it happens that a query slows down dramatically for no obvious reason. In other cases queries go south in case a certain set of input parameters is used. In some of those situations, wrong optimizer estimates can be the root cause of all evil. One of my “favorite” issues with wrong planner estimates: Underestimated […]
paginators – The story about voluntary pain in PostgreSQL
It happens on a quite regular basis that people contact the CYBERTEC PostgreSQL Support Desk to get support for a pretty common thing: Paginators on websites. What is the main issue? How hard can be it to display simple tables after all? A typical scenario with paginators Suppose you want to display a table on […]