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.