mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-27 07:21:09 +08:00
make initdb -U username work as advertised; back out bogus patch at rev 1.42
and supply real fix for problem it tried to address.
This commit is contained in:
parent
f87d4875e9
commit
b5fe16d09f
@ -42,7 +42,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
* Portions taken from FreeBSD.
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.110 2006/02/18 16:15:23 petere Exp $
|
||||
* $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.111 2006/02/24 00:55:49 adunstan Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -113,7 +113,6 @@ static char *conversion_file;
|
||||
static char *info_schema_file;
|
||||
static char *features_file;
|
||||
static char *system_views_file;
|
||||
static char *effective_user;
|
||||
static bool made_new_pgdata = false;
|
||||
static bool found_existing_pgdata = false;
|
||||
static char infoversion[100];
|
||||
@ -1385,7 +1384,7 @@ bootstrap_template1(char *short_version)
|
||||
exit_nicely();
|
||||
}
|
||||
|
||||
bki_lines = replace_token(bki_lines, "POSTGRES", effective_user);
|
||||
bki_lines = replace_token(bki_lines, "POSTGRES", username);
|
||||
|
||||
bki_lines = replace_token(bki_lines, "ENCODING", encodingid);
|
||||
|
||||
@ -1547,7 +1546,7 @@ get_set_pwd(void)
|
||||
PG_CMD_OPEN;
|
||||
|
||||
PG_CMD_PRINTF2("ALTER USER \"%s\" WITH PASSWORD '%s';\n",
|
||||
effective_user, pwd1);
|
||||
username, pwd1);
|
||||
|
||||
PG_CMD_CLOSE;
|
||||
|
||||
@ -1866,7 +1865,7 @@ setup_privileges(void)
|
||||
PG_CMD_OPEN;
|
||||
|
||||
priv_lines = replace_token(privileges_setup,
|
||||
"$POSTGRES_SUPERUSERNAME", effective_user);
|
||||
"$POSTGRES_SUPERUSERNAME", username);
|
||||
for (line = priv_lines; *line != NULL; line++)
|
||||
PG_CMD_PUTS(*line);
|
||||
|
||||
@ -2446,6 +2445,7 @@ main(int argc, char *argv[])
|
||||
ret;
|
||||
int option_index;
|
||||
char *short_version;
|
||||
char *effective_user;
|
||||
char *pgdenv; /* PGDATA value gotten from and sent to
|
||||
* environment */
|
||||
char bin_dir[MAXPGPATH];
|
||||
@ -2735,10 +2735,10 @@ main(int argc, char *argv[])
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (strlen(username))
|
||||
effective_user = username;
|
||||
else
|
||||
effective_user = get_id();
|
||||
effective_user = get_id();
|
||||
if (strlen(username) == 0)
|
||||
username = effective_user;
|
||||
|
||||
|
||||
if (strlen(encoding))
|
||||
encodingid = get_encoding_id(encoding);
|
||||
@ -2767,7 +2767,7 @@ main(int argc, char *argv[])
|
||||
"PG_HBA_SAMPLE=%s\nPG_IDENT_SAMPLE=%s\n",
|
||||
PG_VERSION,
|
||||
pg_data, share_path, bin_path,
|
||||
effective_user, bki_file,
|
||||
username, bki_file,
|
||||
desc_file, shdesc_file,
|
||||
conf_file,
|
||||
hba_file, ident_file);
|
||||
|
Loading…
Reference in New Issue
Block a user