mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-27 08:39:28 +08:00
Dump all roles first, then all config settings on roles.
This way, if a role's config setting uses the name of another role, the validity of the dump isn't dependent on the order in which those two roles are dumped. Code by Phil Sorber, comment by me.
This commit is contained in:
parent
393e828e31
commit
dea95c7a7b
@ -804,11 +804,17 @@ dumpRoles(PGconn *conn)
|
||||
buf, "ROLE", rolename);
|
||||
|
||||
fprintf(OPF, "%s", buf->data);
|
||||
|
||||
if (server_version >= 70300)
|
||||
dumpUserConfig(conn, rolename);
|
||||
}
|
||||
|
||||
/*
|
||||
* Dump configuration settings for roles after all roles have been dumped.
|
||||
* We do it this way because config settings for roles could mention the
|
||||
* names of other roles.
|
||||
*/
|
||||
if (server_version >= 70300)
|
||||
for (i = 0; i < PQntuples(res); i++)
|
||||
dumpUserConfig(conn, PQgetvalue(res, i, i_rolname));
|
||||
|
||||
PQclear(res);
|
||||
|
||||
fprintf(OPF, "\n\n");
|
||||
|
Loading…
Reference in New Issue
Block a user