1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-31 22:04:40 +03:00

pg_upgrade: dramatically reduce memory consumption

Report from Jeff Janes
This commit is contained in:
Bruce Momjian
2014-02-12 16:35:24 -05:00
parent f9bb944cd8
commit 2a2e40aaaa
3 changed files with 66 additions and 34 deletions

View File

@ -127,7 +127,9 @@ typedef struct
Oid reloid; /* relation oid */
Oid relfilenode; /* relation relfile node */
/* relation tablespace path, or "" for the cluster default */
char tablespace[MAXPGPATH];
char *tablespace;
bool nsp_alloc;
bool tblsp_alloc;
} RelInfo;
typedef struct
@ -141,10 +143,10 @@ typedef struct
*/
typedef struct
{
char old_tablespace[MAXPGPATH];
char new_tablespace[MAXPGPATH];
char old_tablespace_suffix[MAXPGPATH];
char new_tablespace_suffix[MAXPGPATH];
const char *old_tablespace;
const char *new_tablespace;
const char *old_tablespace_suffix;
const char *new_tablespace_suffix;
Oid old_db_oid;
Oid new_db_oid;
@ -166,7 +168,7 @@ typedef struct
{
Oid db_oid; /* oid of the database */
char *db_name; /* database name */
char db_tblspace[MAXPGPATH]; /* database default tablespace path */
char db_tablespace[MAXPGPATH]; /* database default tablespace path */
RelInfoArr rel_arr; /* array of all user relinfos */
} DbInfo;
@ -256,7 +258,7 @@ typedef struct
Oid pg_database_oid; /* OID of pg_database relation */
Oid install_role_oid; /* OID of connected role */
Oid role_count; /* number of roles defined in the cluster */
char *tablespace_suffix; /* directory specification */
const char *tablespace_suffix; /* directory specification */
} ClusterInfo;