diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2017-09-05 12:02:06 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2017-09-05 12:02:13 -0400 |
commit | 5e8304fdce2d5c41ef7a648ed0a622480f8f0a07 (patch) | |
tree | bc6729d626efd6e1ba9bda47a2e518fa49d97259 /src | |
parent | ebd346caf41b8e8738a49d96797ceccd04bb04dc (diff) | |
download | postgresql-5e8304fdce2d5c41ef7a648ed0a622480f8f0a07.tar.gz postgresql-5e8304fdce2d5c41ef7a648ed0a622480f8f0a07.zip |
In psql, use PSQL_PAGER in preference to PAGER, if it's set.
This allows the user's environment to set up a psql-specific choice
of pager, in much the same way that we provide PSQL_EDITOR to allow
a psql-specific override of the more widely known EDITOR variable.
Pavel Stehule, reviewed by Thomas Munro
Discussion: https://postgr.es/m/CAFj8pRD3RRk9S1eRbnGm_T6brc3Ss5mohraNzTSJquzx+pmtKA@mail.gmail.com
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/psql/help.c | 4 | ||||
-rw-r--r-- | src/fe_utils/print.c | 4 | ||||
-rw-r--r-- | src/interfaces/libpq/fe-print.c | 7 |
3 files changed, 12 insertions, 3 deletions
diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index 724cf8e761e..9d366180af5 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -459,8 +459,6 @@ helpVariables(unsigned short int pager) fprintf(output, _(" COLUMNS\n" " number of columns for wrapped format\n")); - fprintf(output, _(" PAGER\n" - " name of external pager program\n")); fprintf(output, _(" PGAPPNAME\n" " same as the application_name connection parameter\n")); fprintf(output, _(" PGDATABASE\n" @@ -481,6 +479,8 @@ helpVariables(unsigned short int pager) " how to specify a line number when invoking the editor\n")); fprintf(output, _(" PSQL_HISTORY\n" " alternative location for the command history file\n")); + fprintf(output, _(" PSQL_PAGER, PAGER\n" + " name of external pager program\n")); fprintf(output, _(" PSQLRC\n" " alternative location for the user's .psqlrc file\n")); fprintf(output, _(" SHELL\n" diff --git a/src/fe_utils/print.c b/src/fe_utils/print.c index f756f767e57..8af5bbe97ea 100644 --- a/src/fe_utils/print.c +++ b/src/fe_utils/print.c @@ -2870,7 +2870,9 @@ PageOutput(int lines, const printTableOpt *topt) const char *pagerprog; FILE *pagerpipe; - pagerprog = getenv("PAGER"); + pagerprog = getenv("PSQL_PAGER"); + if (!pagerprog) + pagerprog = getenv("PAGER"); if (!pagerprog) pagerprog = DEFAULT_PAGER; else diff --git a/src/interfaces/libpq/fe-print.c b/src/interfaces/libpq/fe-print.c index 89bc4c54299..6dbf8472800 100644 --- a/src/interfaces/libpq/fe-print.c +++ b/src/interfaces/libpq/fe-print.c @@ -165,6 +165,13 @@ PQprint(FILE *fout, const PGresult *res, const PQprintOpt *po) screen_size.ws_row = 24; screen_size.ws_col = 80; #endif + + /* + * Since this function is no longer used by psql, we don't examine + * PSQL_PAGER. It's possible that the hypothetical external users + * of the function would like that to happen, but in the name of + * backwards compatibility, we'll stick to just examining PAGER. + */ pagerenv = getenv("PAGER"); /* if PAGER is unset, empty or all-white-space, don't use pager */ if (pagerenv != NULL && |