memory usage of pg_upgrade - Mailing list pgsql-hackers

From Jeff Janes
Subject memory usage of pg_upgrade
Date
Msg-id CAMkU=1z3T7s7RpB37ZBuV9Qx=AaUNRc_-nVo1GkH7UUA7MwmoQ@mail.gmail.com
Whole thread Raw
Responses Re: memory usage of pg_upgrade
List pgsql-hackers
pg_upgrade reserves 5 times MAXPGPATH, or 5120 characters, for the
tablespace name of every object (table, toast table, index) in the
database being upgraded.  This adds up pretty quickly when there is a
very large number of objects.  It could be changed to char* to a
separately allocated name that takes only as much space it needs.  But
maybe it would be better to point into os_info.old_tablespaces or
something like that, as surely there are not going to be one
independent file space per object.


typedef struct
{    ...   char        tablespace[MAXPGPATH];
} RelInfo;

The struct FileNameMap has 4 more .

Since there seems to be some interest in improving the scalability of
pg_upgrade, this is one of the things to consider fixing.  What is the
best way to do it?

Cheers,

Jeff



pgsql-hackers by date:

Previous
From: "MauMau"
Date:
Subject: Re: [bug fix] strerror() returns ??? in a UTF-8/C database with LC_MESSAGES=non-ASCII
Next
From: "MauMau"
Date:
Subject: Re: [bug fix] strerror() returns ??? in a UTF-8/C database with LC_MESSAGES=non-ASCII