Percona Resources

Software
Downloads

All of Percona’s open source software products, in one place, to download as much or as little as you need.

Valkey Contribution

Product Documentation

Why Percona for MongoDB?

Why Percona for PostgreSQL?

Percona Blog

Percona Blog

Our popular knowledge center for all Percona products and all related topics.

Community

Percona Community Hub

A place to stay in touch with the open-source community

Events

Percona Events Hub

See all of Percona’s upcoming events and view materials like webinars and forums from past events

About

About Percona

Percona is an open source database software, support, and services company that helps make databases and applications run better.

Percona in the News

See Percona’s recent news coverage, press releases and industry recognition for our open source software and support.

Our Customers

Our Partners

Careers

Contact Us

Ibrar Ahmed
Joined Percona in the month of July 2018. Before joining Percona, Ibrar worked as a Senior Database Architect at EnterpriseDB for 10 Years. Ibrar has 18 years of software development experience. Ibrar authored multiple books on PostgreSQL.

Useful PostgreSQL Index Maintenance Queries to Improve Performance

This blog was first authored in 2020. We’ve updated it in 2025 for clarity and relevance, reflecting current practices while honoring their original perspective. PostgreSQL offers a rich set of indexing features, and while there’s no shortage of articles explaining how indexes work, one challenge often goes overlooked: maintenance. Over time, unused or duplicate indexes […]

How to Upgrade PostgreSQL Extensions (Without Breaking Anything)

This blog was first authored by Ibrar Ahmed in 2023. We’ve updated it in 2025 for clarity and relevance, reflecting current practices while honoring their original perspective. PostgreSQL’s flexibility gets a lot of credit. Performance too. But what really sets it apart, especially for teams with growing systems or changing requirements, is extensibility. With tools […]

Troubleshooting 10 of the Most Common PostgreSQL Errors

This blog was first authored by Ibrar Ahmed in 2020. We’ve updated it in 2025 for clarity and relevance, reflecting current practices while honoring their original perspective. If you’re running PostgreSQL and suddenly hit an error you don’t recognize, you’re in good company. Most issues aren’t actually bugs; they’re things like permissions problems, connection failures, […]

Why PostgreSQL NULL Values Break Your Queries (And How to Fix Them)

This blog was first authored by Ibrar Ahmed in 2020. We’ve updated it in 2025 for clarity and relevance, reflecting current practices while honoring their original perspective. Picture this: you’re running what should be a simple query, and PostgreSQL returns completely unexpected results. You double-check your syntax, verify your data, and everything looks correct. The […]

Essential Guide to the PostgreSQL VACUUM Command for Performance

This blog post was originally published in January 2023 and was updated in March 2025. In PostgreSQL, the VACUUM command is a critical maintenance task essential to optimize database performance and reclaim wasted disk space. Using the PostgreSQL VACUUM command involves removing deleted or outdated row versions (“dead tuples”) from tables and indexes, and optionally […]

PostgreSQL Database Security: External Server-Based Authentication

Database security is crucial to protecting sensitive information stored in a database. A critical aspect is authentication, which refers to verifying the identity of a user trying to access the database. The authentication process is typically accomplished through usernames and passwords and includes other factors such as security tokens and one-time passwords. Database Administrators (DBAs) […]

Unlocking the Secrets of TOAST: How To Optimize Large Column Storage in PostgreSQL for Top Performance and Scalability

PostgreSQL is a fantastic database, but if you’re storing images, video, audio files, or other large data objects, you need to “toast” them to get optimal performance. This post will look at using The Oversized-Attribute Storage Technique (TOAST) to improve performance and scalability.  PostgreSQL uses fixed-sized pages, which makes it challenging to store huge data […]

PostgreSQL 14 Database Monitoring and Logging Enhancements

PostgreSQL-14 was released in September 2021, and it contained many performance improvements and feature enhancements, including some features from a monitoring perspective. As we know, monitoring is the key element of any database management system, and PostgreSQL keeps updating and enhancing the monitoring capabilities. Here are some key ones in PostgreSQL-14. Query Identifier Query identifier […]

PostgreSQL Database Security: OS – Authentication

Security is everybody’s concern when talking about data and information, and therefore it becomes the main foundation of every database. Security means protecting your data from unauthorized access. That means only authorized users can log in to a system called authentication; a user can only do what they are authorized to do (authorization) and log […]

Improve PostgreSQL Query Performance Insights with pg_stat_monitor

Understanding query performance patterns is essentially the foundation for query performance tuning. It, in many ways, dictates how a database cluster evolves. And then there are obviously direct and indirect cost connotations as well. PostgreSQL provides very detailed statistics through a number of catalog views and extensions that can be easily added to provide more […]

postgres_fdw Enhancement in PostgreSQL 14

Note: PostgreSQL 14 has been released. Please visit PostgreSQL 14 – Performance, Security, Usability, and Observability for additional information.  It’s exciting times in the PostgreSQL world with the version 14 beta released a few days ago. It’s now time to look under the hood and find out what has changed from version 13, see what […]

PostgreSQL Database Security: Authentication

Recently, I wrote an overview about what you need to know about PostgreSQL security. For this post, I want to write about PostgreSQL authentication. It is divided into three categories: 1. PostgreSQL Internal Authentication, 2. OS-based Authentication, and 3. External Server-Based Authentication.  In most cases, PostgreSQL is configured to be used with internal authentication, so […]

PostgreSQL 13 New Feature: dropdb –force

There have been many big features added to PostgreSQL 13, like Parallel Vacuum, de-duplication of indexes, etc., and a complete list can be found at PostgreSQL 13 release notes. Along with the big features, there are also small ones added, including dropdb –force. Dropdb –force A new command-line option is added to dropdb command, and […]

Postgresql_fdw Authentication Changes in PostgreSQL 13

PostgreSQL 13 is released with some cool features, such as index enhancement, partition enhancements, and many others. Along with these enhancements, there are some security-related enhancements that require some explanation. There are two major ones: one is related to libpq and the other is related to postgres_fdw. As it is known that postgres_fdw  is considered […]

Index Improvements in PostgreSQL 13

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. […]