diff options
| author | Andrew Dunstan <andrew@dunslane.net> | 2012-03-03 16:39:26 -0500 |
|---|---|---|
| committer | Andrew Dunstan <andrew@dunslane.net> | 2012-03-03 16:39:26 -0500 |
| commit | 34c978442c55dd13a3a8c6b90fd4380dad02f3da (patch) | |
| tree | 898bacdf3a1253bb4e38158d0d379c82ea146a8d /src/bin/psql/startup.c | |
| parent | b59ca98209d45f5689fe9de22a7429d4cf09d40c (diff) | |
| download | postgresql-34c978442c55dd13a3a8c6b90fd4380dad02f3da.tar.gz | |
Provide environment overrides for psql file locations.
PSQL_HISTORY provides an alternative for the command history file,
and PSQLRC provides an alternative location for the .psqlrc file.
Diffstat (limited to 'src/bin/psql/startup.c')
| -rw-r--r-- | src/bin/psql/startup.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c index 166c227d6b..b5664dfd1d 100644 --- a/src/bin/psql/startup.c +++ b/src/bin/psql/startup.c @@ -591,6 +591,7 @@ process_psqlrc(char *argv0) char rc_file[MAXPGPATH]; char my_exec_path[MAXPGPATH]; char etc_path[MAXPGPATH]; + char *envrc; find_my_exec(argv0, my_exec_path); get_etc_path(my_exec_path, etc_path); @@ -598,7 +599,14 @@ process_psqlrc(char *argv0) snprintf(rc_file, MAXPGPATH, "%s/%s", etc_path, SYSPSQLRC); process_psqlrc_file(rc_file); - if (get_home_path(home)) + envrc = getenv("PSQLRC"); + + if (envrc != NULL && strlen(envrc) > 0) + { + expand_tilde(&envrc); + process_psqlrc_file(envrc); + } + else if (get_home_path(home)) { snprintf(rc_file, MAXPGPATH, "%s/%s", home, PSQLRC); process_psqlrc_file(rc_file); |
