Jul 18, 2025 |
Database Trends, Insight for DBAs, MySQL
My first experiments creating an MCP Server to provide AI access to a PostgreSQL database using the FastMCP Python framework and Anthropic’s and OpenAI’s APIs highlighted an important requirement: for now, these two APIs can only communicate with an MCP server through HTTPS over a public URL. While researching how to make this work (which […]
Jul 17, 2025 |
Database Trends, Insight for DBAs, PostgreSQL
I admittedly have some work to do to catch up with the AI “trend”. It’s been around (as in, easily accessible) for a few years now, but I can probably still count on my fingers the number of times I’ve used a prompt to ask it anything. That is, discounting the mostly frustrating and usually […]
Jul 02, 2025 |
Benchmarks, PostgreSQL, ProxySQL
In the first post of this series (Testing ReadySet as a Query Cacher for PostgreSQL (Plus ProxySQL and HAproxy) Part 1: How-To), I presented my test environment and methodology and explained how to install ReadySet, ProxySQL, and HAproxy and configure them to work with PostgreSQL. In this final part, I present the different test scenarios […]
Jul 01, 2025 |
Benchmarks, PostgreSQL, ProxySQL
A couple of weeks ago, I attended a PGDay event in Blumenau, a city not far away from where I live in Brazil. Opening the day were former Percona colleagues Marcelo Altmann and Wagner Bianchi, showcasing ReadySet’s support for PostgreSQL. Readyset is a source-available database cache service that differs from other solutions by not relying […]
Mar 01, 2025 |
Insight for DBAs, PostgreSQL
This blog was originally written in September 2018 and was updated in March 2025. In this post, we cover the methods used to achieve an enterprise-grade PostgreSQL backup strategy. We’ll explore options like pg_basebackup and WAL archiving to enable PostgreSQL Point-in-Time Recovery (PITR), discuss PostgreSQL backup best practices, and touch upon enterprise database backup tools. […]
Feb 27, 2025 |
PostgreSQL
This post was originally published in March 2019 and was updated in February 2025. Planning a PostgreSQL upgrade but not sold on pg_upgrade? You’re not alone. If pg_upgrade feels too risky or limiting, pg_dump and pg_restore give you something better: full control. You can move across major versions, make schema changes, and leave storage format […]
Nov 19, 2024 |
Cloud, Monitoring, Percona Software, PostgreSQL
This is a follow-up to my colleagues Nickolay and Phong’s Store and Manage Logs of Percona Operator Pods with PMM and Grafana Loki and Agustin’s Turbocharging Percona Monitoring and Management With Loki’s Log-shipping Functionality blog posts. Here, I focus on making PostgreSQL database logs from a Kubernetes cluster deployed with the Percona Operator for PostgreSQL […]
Nov 14, 2024 |
Cloud, Insight for DBAs, MySQL, Percona Software
Even though I used a dedicated Kubernetes cluster to host my test database, I had this belief that by not explicitly allocating (or requesting, in Kubernetes vocabulary) CPU resources to my Percona XtraDB Cluster (PXC) pods or yet making just a small request, Kubernetes could be delaying access to the free CPU cycles available on […]
Apr 14, 2023 |
Monitoring, MySQL, Percona Software
A shared characteristic in most (if not all) databases, be them traditional relational databases like Oracle, MySQL, and PostgreSQL or some kind of NoSQL-style database like MongoDB, is the use of a caching mechanism to keep (a copy of) part of the data in memory. The reasoning behind it is very simple: accessing data from […]
Jan 24, 2023 |
MongoDB, PostgreSQL
This post was originally published in 2019 and was updated in 2023. I presented at Percona University São Paulo about the new features in PostgreSQL that allow the deployment of simple shards. I’ve tried to summarize the main points in this post, as well as provide an introductory overview of sharding itself. Please note I […]
Jul 21, 2022 |
Insight for DBAs, MySQL, Percona Software
When we run a SELECT in a replica server and it returns a different result to the one we would have obtained had we queried the source server instead, due to changes in the dataset that have not yet been replicated or synchronized to the replica, we get what is known as a stale read. […]
Jan 11, 2022 |
Cloud, Percona Software, PostgreSQL
A customer recently asked if our Percona Operator for PostgreSQL supports the deployment of a standby cluster, which they need as part of their Disaster Recovery (DR) strategy. The answer is yes – as long as you are making use of an object storage system for backups, such as AWS S3 or GCP Cloud Storage […]
Dec 20, 2021 |
Monitoring, Percona Software, PostgreSQL
The recent release of Percona Monitoring and Management 2.25.0 (PMM) includes a fix for bug PMM-6937: before that, PMM expected all monitoring connections to PostgreSQL servers to be made using the default postgres database. This worked well for most deployments, however, some DBaaS providers like Heroku and DigitalOcean do not provide direct access to the […]
Jul 07, 2021 |
Monitoring, MySQL, Percona Software
In the previous posts of this series, I presented how the Percona Support team approaches the analysis and troubleshooting of a MySQL server using a tried-and-tested method supported by specific tools found in the Percona Toolkit: Inspecting MySQL Servers Part 1: The Percona Support Way Inspecting MySQL Servers Part 2: Knowing the Server Inspecting MySQL […]
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 […]
Jun 04, 2021 |
Insight for DBAs, MySQL
The combination of the information obtained from the “pt-summaries” discussed in the previous posts of this series (Part 1: The Percona Support Way, Part 2: Knowing the Server, Part 3: What MySQL?) helps us come up with the first impression of a MySQL server. However, apart from the quick glance we get at two samples […]
Jun 03, 2021 |
Insight for DBAs, MySQL, Percona Software
In the previous post of this series, we looked at the hardware specifications and operating system settings of the host server through the lenses of a pt-summary report. Now that we know the foundation on which the database is running, we can turn our focus to MySQL itself. The second of our triad of tools […]
Jun 02, 2021 |
Insight for DBAs, Insight for Developers, MySQL
In part 1 of this series, we introduced you to the approach used by the Percona Support team to inspect MySQL servers, which is based on a triad of tools from the Percona Toolkit used to gather diagnostic information. In this article, we will be focusing on the first of these tools, the pt-summary. pt-summary […]
Jun 01, 2021 |
Insight for DBAs, Insight for Developers, MySQL, Percona Services
When I joined the Percona Support team in early 2013, MySQL 5.6 was being launched. I remember all the buzz and euphoria surrounding its release: it was a big step from the 5.5 series, carrying important changes in the MySQL architecture and internals that brought highly anticipated features such as the (still incipient) multi-threaded replication […]
Apr 23, 2021 |
Insight for DBAs, Insight for Developers, MySQL, Percona Software
Apologies for the silly title, but the issue is a real one, even though it is not a new thing. Schema upgrades are not an ordinary operation in Galera. For the subject at hand, the bottom line is: under the default Total Order Isolation (TOI) method, “the cluster replicates the schema change query as a […]