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 […]
Dec 20, 2023 |
Cloud, Percona Software, PostgreSQL
Huge pages make PostgreSQL faster; can we implement it in Kubernetes? Modern servers operate with terabytes of RAM, and by default, processors work with virtual memory address translation for each 4KB page. OS maintains a huge list of allocated and free pages to make slow but reliable address translation from virtual to physical. Please check […]
May 24, 2022 |
Cloud, MongoDB, Monitoring, MySQL, Percona Software
While it is convenient to view the log of MySQL or MongoDB pods with
kubectl logs, sometimes the log is purged when the pod is deleted, which makes searching historical logs a bit difficult. Grafana Loki, an aggregation logging tool from Grafana, can be installed in the existing Kubernetes environment to help store historical logs and […]
Jan 27, 2021 |
Benchmarks, MariaDB, MongoDB, MySQL, PostgreSQL
I want to present a tool for running a specific version of open source databases in a single instance, replication setups, and Kubernetes. AnyDbVer deploys MySQL/MariaDB/MongoDB/PostgreSQL for testing and experiments. It Could Be Started By… Docker (or Podman) or dbdeployer (MySQL-Sandbox successor) could also start a specific database version, but such installations are significantly different […]
Apr 12, 2019 |
PostgreSQL
When you need to upgrade your PostgreSQL databases, there are a number of options available to you. In this post we’ll take a look at how you can upgrade PostgreSQL versions using pg_upgrade, a built-in tool that allows in-place upgrade of your software. Using pg_upgrade allows you, potentially, to minimize your downtime, an essential consideration […]
Apr 09, 2019 |
Insight for DBAs, PostgreSQL
Native streaming replication in PostgreSQL works only between servers running the same major version. We discussed about logical replication in our previous blog post. In that post, we saw how logical replication could help us set up migration between two different PostgreSQL versions. However, logical replication works only for the currently supported versions of PostgreSQL, […]
Apr 04, 2019 |
PostgreSQL
When you need to upgrade PostgreSQL, there are a variety of approaches that you can use. To avoid application downtime, then not all of the options to upgrade postgres are suitable. When avoiding downtime is essential, then you might consider using replication as a means of upgrade, and depending on your scenario, you can choose […]
Mar 18, 2019 |
PostgreSQL
There are several approaches to assess when you need to upgrade PostgreSQL. In this blog post, we look at the option for upgrading a postgres database using pg_dumpall. As this tool can also be used to back up PostgreSQL clusters, then it is a valid option for upgrading a cluster too. We consider the advantages […]
Mar 04, 2019 |
PostgreSQL
A date for your diary. On Wednesday, April 17 at 7:00 AM PDT (UTC-7) / 10:00 AM EDT (UTC-4) Percona’s PostgreSQL Support Technical Lead, Avinash Vallarapu and Senior Support Engineers, Fernando Laudares, Jobin Augustine and Nickolay Ihalainen, will demonstrate the upgrade of a legacy version of PostgreSQL to a newer version, using built-in as well as […]
Feb 21, 2019 |
Insight for DBAs, PostgreSQL
Modern CPU models have a huge number of cores. For many years, applications have been sending queries in parallel to databases. Where there are reporting queries that deal with many table rows, the ability for a query to use multiple CPUs helps us with a faster execution. Parallel queries in PostgreSQL allow us to utilize […]
Nov 30, 2018 |
Insight for DBAs, PostgreSQL
PostgreSQL streaming physical replication with slots simplifies setup and maintenance procedures. Usually, you should estimate disk usage for the Write Ahead Log (WAL) and provide appropriate limitation to the number of segments and setup of the WAL archive procedure. In this article, you will see how to use replication with slots and understand what problems it […]
Oct 30, 2018 |
Insight for DBAs, PostgreSQL
PostgreSQL lightweight locks, or LWLocks, control memory access. PostgreSQL uses multi-process architecture and should allow only consistent reads and writes to shared memory structures. LWLocks have two levels of locking: shared and exclusive. It’s also possible to release all acquired LWLocks to simplify clean up. Other databases often call primitives similar to LWLocks “latches”. Because […]
Oct 24, 2018 |
Insight for DBAs, Insight for Developers, PostgreSQL
PostgreSQL locking visibility for application developers and DBAs is in most cases related to heavyweight locks. Complex database locking operations require full instrumentation using views from the system catalog. It should be clear which object is locked by a specific database “backend” process. An alternative name for any lock is “bottleneck”. In order to make […]
Oct 16, 2018 |
Insight for DBAs, Insight for Developers, PostgreSQL
An understanding of PostgreSQL locking is important to build scalable applications and avoid downtime. Modern computers and servers have many CPU cores and it’s possible to execute multiple queries in parallel. Databases containing many consistent structures with changes made by queries or background processes running in parallel could crash a database or even corrupt data. […]
Apr 30, 2018 |
Insight for DBAs, MySQL, Security
This blog post describes how to keep sensitive data secure on slave servers in a MySQL async replication setup. Almost every web application has a sensitive data: passwords, SNN, credit cards, emails, etc. Splitting the database to secure and “public” parts allows for restricting user and application parts access to sensitive data.
Feb 22, 2018 |
Hardware and Storage, Insight for DBAs, Monitoring, MySQL
The ability to restore MySQL logical backups is a significant part of disaster recovery procedures. It’s a last line of defense. Even if you lost all data from a production server, physical backups (data files snapshot created with an offline copy or with Percona XtraBackup) could show the same internal database structure corruption as in […]
Feb 09, 2018 |
Monitoring, Percona Software, PostgreSQL
In this article, we’ll describe how to collect PostgreSQL metrics with Percona Monitoring and Management (PMM). We designed Percona Monitoring and Management (PMM) to be the best tool for MySQL and MongoDB performance investigation. At the same time, it’s built on mature opensource components: Prometheus’ time series database and Grafana. Starting from PMM 1.4.0. it’s possible to […]
Sep 11, 2013 |
Insight for DBAs, MySQL
This post focuses on the problem of the InnoDB log sequence number being in the future. Preface: What is an InnoDB log sequence number? The log sequence number (LSN) is an important database parameter used by InnoDB in many places. The most important use is for crash recovery and buffer pool purge control. Internally, the InnoDB […]