Author - Jobin Augustine

Failover of Logical Replication Slots in PostgreSQL

failover logical replication slots postgresql

Missing Piece: Failover of the Logical Replication Slot
Logical decoding capability has existed in PostgreSQL for the last several versions, and a lot more functionalities are added over time.  However, one of the very crucial functionalities is still missing in PostgreSQL, which prevents logical replication to be part of critical production environments where downstream expects […]

Read more

SQL Optimizations in PostgreSQL: IN vs EXISTS vs ANY/ALL vs JOIN

SQL optimizations in PostgreSQL

This is one of the most common questions asked by developers who write SQL queries against the PostgreSQL database. There are multiple ways in which a sub select or lookup can be framed in a SQL statement. PostgreSQL optimizer is very smart at optimizing queries, and many of the queries can be rewritten/transformed for […]

Read more

Compression of PostgreSQL WAL Archives Becoming More Important

Compression of PostgreSQL WAL Archives

As hardware and software evolve, the bottlenecks in a database system also shift. Many old problems might disappear and new types of problems pop-up.
Old Limitations
There were days when CPU and Memory was a limitation. More than a decade back, servers with 4 cores were “High End” and as a DBA, my biggest worry was […]

Read more

Upgrading PostgreSQL – Patroni Cluster and Switching from Python 2 to Python 3

upgrading postgresql python 3

Python 2 has officially completed its life as of Jan 1st, 2020 and the Python 2.x branch will not be maintained anymore. You might be seeing repeated notices of deprecation in log files and terminals like:

Shell

DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as […]

Read more