Jan 25, 2022 |
Insight for DBAs, PostgreSQL, Security
Recently, a few PostgreSQL users reported that they got connection failures after switching to PostgreSQL 14. “Why do I get the error FATAL: password authentication failed for a user in the new server?” has become one of the most intriguing questions. At least in one case, it was a bit of a surprise that the […]
Jan 13, 2022 |
Insight for DBAs, PostgreSQL
Failover of the logical replication slot has always been the pain point while using the logical replication in PostgreSQL. This lack of feature undermined the use of logical replication and acted as one of the biggest deterrents. The stake and impact were so high that many organizations had to discard their plans around logical replication, […]
Oct 12, 2021 |
Insight for DBAs, Insight for Developers, PostgreSQL
Often users come to us with incidents of database crashes due to OOM Killer. The Out Of Memory killer terminates PostgreSQL processes and remains the top reason for most of the PostgreSQL database crashes reported to us. There could be multiple reasons why a host machine could run out of memory, and the most common […]
Aug 10, 2021 |
Insight for DBAs, Insight for Developers, PostgreSQL
Many times, we see PostgreSQL users getting confused about the query/statement duration reported in PostgreSQL logs. Other PostgreSQL tools like pgBadger present the same data based on the log file, which further increases the confusion. Knowing the full impact of network-related overhead and cursors is important not only to alleviate the confusion but also to […]
Jun 24, 2021 |
Insight for DBAs, PostgreSQL
pg_repack is one of the oldest, widely used, extension projects for PostgreSQL. It is so much popular that even DBaaS service providers couldn’t avoid it. It is a “power tool” in the hands of a DBA to deal with bloated/fragmented tables. I can’t imagine a serious production deployment without it these days. It magically replaces […]
Jun 11, 2021 |
Insight for DBAs, Percona Live, Percona Software, PostgreSQL
A couple of weeks ago, Jobin and I did a short presentation during Percona Live Online bearing a similar title as the one for this post: “PostgreSQL HA With Patroni: Looking at Failure Scenarios and How the Cluster Recovers From Them”. We deployed a 3-node PostgreSQL environment with some recycled hardware we had lying around […]
Feb 26, 2021 |
Benchmarks, Insight for DBAs, Insight for Developers, PostgreSQL
Yes, this post is about connection queueing, not just pooling. Because “connection pooling” – pre-created connections as a pool – is a much-celebrated feature. Almost every discussion on connection pool/pgBouncer starts with the overhead of establishing a new connection to PostgreSQL… and how pre-created connections in the pool can save the world. But there is […]
Jan 22, 2021 |
Benchmarks, Cloud, Insight for DBAs, PostgreSQL
The expected growth of ARM processors in data centers has been a hot topic for discussion for quite some time, and we were curious to see how it performs with PostgreSQL. The general availability of ARM-based servers for testing and evaluation was a major obstacle. The icebreaker was when AWS announced their ARM-based processors offering […]
Dec 01, 2020 |
Insight for DBAs, Percona Software, PostgreSQL
In one of my previous blog posts, Why PostgreSQL WAL Archival is Slow, I tried to explain three of the major design limitations of PostgreSQL’s WAL archiver which is not so great for a database with high WAL generation. In this post, I want to discuss how pgBackRest is addressing one of the problems (cause […]
Sep 10, 2020 |
Insight for DBAs, PostgreSQL
Indexes are one of the core features of all the database management systems (DBMS). Indexes have a very long history in PostgreSQL, which has quite a rich set of index features. PostgreSQL has B-Tree, Hash, GIN, GIST, and BRIN indexes. And because the development around indexes is still going on, PostgreSQL 13 provides some enhancements. […]
Sep 09, 2020 |
Cloud, Insight for DBAs, PostgreSQL
It is very common to see many customer cases where a sudden increase in disk space usage is caused by a lot of WAL segments filling up the WAL directory (pg_wal). Panicking customers generally ask “Why isn’t PostgreSQL deleting them?”. The most common reasons we used to find were: Failing WAL archival A slot holding […]
Aug 21, 2020 |
Insight for DBAs, PostgreSQL
I find myself discussing and explaining sychronous_commit with many PostgreSQL users, especially with novice users. So, I thought of noting down all the key points as a blog post which will be useful for more users. Recently I got an opportunity to talk about some related topics in our PostgreSQL Percona Tech Days. What Is […]
May 21, 2020 |
Insight for DBAs, Insight for Developers, 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 […]
Apr 16, 2020 |
Insight for DBAs, Insight for Developers, PostgreSQL
Feb 13, 2020 |
Insight for DBAs, PostgreSQL
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 […]
Jan 17, 2020 |
Insight for DBAs, PostgreSQL
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:
|
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. |
Python 2 had a wonderful life, coming from a humble background and becoming one of the most popular […]
Dec 03, 2019 |
PostgreSQL
There is a less-talked-about improvement in PostgreSQL 12 which can greatly reduce the benign log entries. This patch is probably one of the smallest in PostgreSQL 12. The commit message says:
|
Don't log incomplete startup packet if it's empty This will stop logging cases where, for example, a monitor opens a connection and immediately closes it. If the packet contains any data an incomplete packet will still be logged. Author: Tom Lane |
This patch is going to improve the experience of many enterprise users by reducing unwanted log entries. It is very common to see […]
Nov 08, 2019 |
Insight for DBAs, PostgreSQL
We discussed one of the traditional ways to configure HAProxy with PostgreSQL in our previous blog about HAProxy using Xinetd. There we briefly mentioned the limitation of the HAProxy’s built-in pgsql-check health check option. It lacks features to detect and differentiate the Primary and Hot-Standby. It tries to establish a connection to the database instance […]
Oct 31, 2019 |
Insight for DBAs, PostgreSQL
Recently we published a blog about a very simple application failover using libpq features which could be the simplest of all automatic application connection routing. In this blog post, we are discussing how a proxy server using HAProxy can be used for connection routing which is a well-known technique with very wide deployment. There are […]
Aug 15, 2019 |
Benchmarks, PostgreSQL
We have been writing blog posts about how to write simple extensions in C language and a little more complex one by Ibrar which were well received by PostgreSQL user community. Then we observed that many PostgreSQL users create simple triggers for small auditing requirements, and then feel the pain of trigger on transactions. So […]