Skip to content

Case study · Financial Services & Insurance

Postgres Version Migration and High Availability Cluster

A BFSI client needed PostgreSQL 10.x upgraded to 13.x, migration away from plphp, a 4-node high availability cluster, operating-system change from RHEL to SUSE, backup and restore, and logical replication.

Client
A BFSI client using PostgreSQL as its primary database
Disclosure
Anonymised

Headline metrics

10.x to 13.x
Version upgrade
4 node
HA cluster
99.999%
Availability

Additional context

Upgrading a critical PostgreSQL environment while preserving availability, replication, stored procedures, and data integrity.

01 / Challenge

The problem in front of us.

The client used PostgreSQL 10.x as the primary database, but community support had ended. The plphp language and many stored procedures written in plphp were not supported in PostgreSQL 13.x. The client also needed an operating-system change from RHEL to SUSE, a 4-node high availability cluster, stored-procedure migration, and a backup and restore process.

02 / Approach

How we set the work up.

iBoss divided the work into phases: migration from PLPHP to PLPYTHON, setup of the Postgres HA cluster, and upgrade of PostgreSQL. The team first evaluated plperl, then moved to plpython3 after shared buffer corruption errors from library conflicts. The larger migration was split into sub-projects to reduce risk.

03 / Solution

What we built.

iBoss rewrote hundreds of functions from plphp to plpython3 and deployed them to the existing PostgreSQL 10.x environment before upgrading. The HA cluster used Patroni, HAProxy, and ETCD, with auto failover when primary PostgreSQL failed. Backup and restore tooling supported PITR, logical replication avoided daily refreshes, and pg_dump and pg_restore with multiple parallel jobs handled migration because pg_upgrade could not be used across the OS change.

04 / Outcome

What it has held up to.

The client achieved the required PostgreSQL version migration, high availability setup, OS change, backup and restore process, logical replication, and zero data loss. The client can continue business operations without hindrance, achieve 99.999% availability, use data analytics capabilities to improve customer experience, reduce costs, and eliminate fraud.

Stack

What it runs on.

  • PostgreSQL 10.x
  • PostgreSQL 13.x
  • PLPython3
  • Patroni
  • HAProxy
  • ETCD
  • PITR
  • Logical replication
  • pg_dump
  • pg_restore
  • SUSE
  • RHEL

Tell us what you're trying to ship.

We'll start with a two-week diagnostic. No slides, no promises we can't keep.