This blog will continue the discussion of parallel query in PostgreSQL. In the previous blog of this series, we learned about parallel index scans, its design in PostgreSQL and the...
Cost based optimization A query may be executed in many different ways, modeled as plans in query optimizer, differing in resources required and/or execution time. A typical DBMS's query optimizer...
PostgreSQL 10 introduced declarative partitioning, which included list and range partitioning. But, it had always been an open question as to what happens if we get rows which do not...
There is a lot to say about parallelism in PostgreSQL. We have come a long way since I wrote my first post on this topic ( Parallel Sequential Scans). Each...
Built-in sharding is something that many people have wanted to see in PostgreSQL for a long time. It would be a gross exaggeration to say that PostgreSQL 11 (due to...
The world is awash with statistics about the General Data Protection Regulation (GDPR) and depending on who you believe, companies are either completely ready (this study says 72% of global...
Before declarative partitioning was introduced in PostgreSQL 10, one had to use table inheritance. One of the main drawbacks of using table inheritance is that ROW triggers are needed for...
Thanks to the tireless work of Google Summer of Code student Shubham Barai with the support of reviewers, a mentor, and a committer, PostgreSQL 11 will ship with predicate lock...
Postgres isn't the best at naming things. Of course, there is the old computer saying, "There are only two hard things in Computer Science: cache invalidation and naming things." With...