git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: f87d487)
make initdb -U username work as advertised; back out bogus patch at rev 1.42
2006年2月24日 00:55:49 +0000 (00:55 +0000)
2006年2月24日 00:55:49 +0000 (00:55 +0000)
and supply real fix for problem it tried to address.


diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c
index 9b35151640c328d42dc04fefc35a8fed9e8daf7b..460aa3d5ee072405c328c8984e71dd0758e10e43 100644 (file)
--- a/src/bin/initdb/initdb.c
+++ b/src/bin/initdb/initdb.c
@@ -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);
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /