Re: OOM killer while pg_restore - Mailing list pgsql-performance

From Tom Lane
Subject Re: OOM killer while pg_restore
Date
Msg-id 3161846.1646321519@sss.pgh.pa.us
Whole thread Raw
In response to OOM killer while pg_restore  (Marc Rechté <marc4@rechte.fr>)
Responses Re: OOM killer while pg_restore  (Marc Rechté <marc4@rechte.fr>)
List pgsql-performance
=?UTF-8?Q?Marc_Recht=c3=a9?= <marc4@rechte.fr> writes:
> We have a pg_restore which fails due to RAM over-consumption of the 
> corresponding PG backend, which ends-up with OOM killer.
> The table has one PK, one index, and 3 FK constraints, active while 
> restoring.
> The dump contains over 200M rows for that table and is in custom format, 
> which corresponds to 37 GB of total relation size in the original DB.

The FKs would result in queueing row trigger events, which would occupy
some memory.  But those should only need ~12 bytes per FK per row,
which works out to less than 10GB for this number of rows, so it may
be that you've hit something else that we would consider a leak.

Does memory consumption hold steady if you drop the FK constraints?

If not, as others have noted, we'd need more info to investigate
this.  The leak is probably independent of the specific data in
the table, so maybe you could make a small self-contained example
using a script to generate dummy data.

            regards, tom lane



pgsql-performance by date:

Previous
From: "ldh@laurent-hasson.com"
Date:
Subject: RE: An I/O error occurred while sending to the backend (PG 13.4)
Next
From: Ranier Vilela
Date:
Subject: Re: An I/O error occurred while sending to the backend (PG 13.4)