Author - Nickolay Ihalainen

Fast Upgrade of Legacy PostgreSQL with Minimum Downtime Using pg_upgrade

pg_upgrade to upgrade 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 […]

Read more

Continuous Replication From a Legacy PostgreSQL Version to a Newer Version Using Slony

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

Read more

Replication Between PostgreSQL Versions Using Logical Replication

postgres read replica from primary

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

Read more

PostgreSQL Upgrade Using pg_dump/pg_restore

pg-dump upgrade postgres

In this blog post, we will explore 
pg_dump /
pg_restore, one of the most commonly used options for performing a PostgreSQL upgrade. It is important to understand the scenarios under which
pg_dump and
pg_restore utilities will be helpful.
This post is the second of our Upgrading or Migrating Your Legacy PostgreSQL to Newer PostgreSQL Versions […]

Read more

PostgreSQL Upgrade Using pg_dumpall

migrating PostgreSQL using pg_dumpall

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

Read more

PostgreSQL Webinar Wed April 17 – Upgrading or Migrating Your Legacy PostgreSQL to Newer PostgreSQL Versions

upgrade postgresql webinar series

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

Read more

Parallel queries in PostgreSQL

parallel queries in 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 […]

Read more

PostgreSQL Streaming Physical Replication With Slots

postgres replication using slots

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

Read more

PostgreSQL locking, part 3: lightweight locks

LWLocks lightweight locks postgres

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

Read more

PostgreSQL locking, part 2: heavyweight locks

Locking in 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 […]

Read more