Re: Challenges with huge postgresql deployments in 300+ TBs

From: Ron Johnson <ronljohnsonjr(at)gmail(dot)com>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Challenges with huge postgresql deployments in 300+ TBs
Date: 2026-10-08 11:09:47
Message-ID: CANzqJaARsR4feHM11=kf3HoDEFGcEMuK0b2sj+NqALLcTVwkCg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, Oct 8, 2026 at 4:16 AM kavya chandren <kavyachandren(at)gmail(dot)com>
wrote:

> Hi,
>
> We have an oracle deployment running in 300+ TB. Apart from migration
> challenges, do we foresee any operational challenges?
>

Of course. There are *always* operational challenges in ultra-large
databases... 😉

> I have not heard of something huge prior. This would be highly helpful in
> planning further.
>
> Few challenges which caught my attention include,
>
> 1. Backup, restore of such a large database
> 2. Recovery of a broken database (A lost replica)
> 3. Fixing a standby that lags a lot
> 4. Triggering a PITR with any backup tools
> 5. Maintenance at times
> 6. Finding equivalents of oracle items (which is common during any
> oracle to postgres migration)
>
> I dont see any limits in database/ objects as specified in
> https://www.postgresql.org/docs/current/limits.html
>

Postgresql has tablespaces, which obviously is important for you.

Convert all those NUMERIC(38,0) types to BIGINT!! ora2pg can do that for
you.

ora2pg can also export sections of a database, and also views. This
allowed me to migrate 95% (all the old, "read only" records) of an 8TB
before cutover day.

The PG database (which is heavy on BLOBs converted to PG's bytea type)
was *half
the size* of the 8TB Oracle database. Your Mileage Will Vary, of course,
but don't be surprised if the resulting DB is only 150TB.

PgBackRest:
- is multi-threaded.
- has delta restores, which means restoring just the changed files on top
of an existing (problematic) instance.
- can be the source of replication. Doing a delta restore makes it even
faster.
- is quite fast. With just 8 threads, we back up a 3.75TB db to a NAS in 2
hours (656MB/sec). More threads might make it faster, but really is
bottlenecked by the whole hardware stack.
- Is very efficient at handling small tables and indices (which is
important, since each PG object is (at least) its own file, and additional
files are added after 1GiB.
- can only write to one directory (i.e. each thread cannot write to a
separate mount point), which is a bottleneck.
- has zst compression, and also AES-256-CBC compression.

--
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Guy Rixon 2026-10-08 11:55:09 Re: Challenges with huge postgresql deployments in 300+ TBs
Previous Message kavya chandren 2026-10-08 11:09:30 Re: Challenges with huge postgresql deployments in 300+ TBs