=?UTF-8?Q?Marc_Recht=c3=a9?= <ma...@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