1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-28 23:42:10 +03:00

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.
This commit is contained in:
Andrew Dunstan
2012-03-03 16:39:26 -05:00
parent b59ca98209
commit 34c978442c
3 changed files with 48 additions and 1 deletions

View File

@ -285,6 +285,15 @@ initializeInput(int flags)
history_lines_added = 0;
histfile = GetVariable(pset.vars, "HISTFILE");
if (histfile == NULL)
{
char * envhist;
envhist = getenv("PSQL_HISTORY");
if (envhist != NULL && strlen(envhist) > 0)
histfile = envhist;
}
if (histfile == NULL)
{
if (get_home_path(home))

View File

@ -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);