pgsql: Add PSQL_WATCH_PAGER for psql's \watch command.

From: Thomas Munro <tmunro(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Add PSQL_WATCH_PAGER for psql's \watch command.
Date: 2021-07-12 23:53:32
Message-ID: E1m35jw-0006Gi-Qg@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Add PSQL_WATCH_PAGER for psql's \watch command.

Allow a pager to be used by the \watch command. This works but isn't
very useful with traditional pagers like "less", so use a different
environment variable. The popular open source tool "pspg" (also by
Pavel) knows how to display the output if you set PSQL_WATCH_PAGER="pspg
--stream".

To make \watch react quickly when the user quits the pager or presses
^C, and also to increase the accuracy of its timing and decrease the
rate of useless context switches, change the main loop of the \watch
command to use sigwait() rather than a sleeping/polling loop, on Unix.

Supported on Unix only for now (like pspg).

Author: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Author: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Discussion: https://postgr.es/m/CAFj8pRBfzUUPz-3gN5oAzto9SDuRSq-TQPfXU_P6h0L7hO%2BEhg%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/7c09d2797ecdf779e5dc3289497be85675f3d134

Modified Files
--------------
doc/src/sgml/ref/psql-ref.sgml | 28 +++++++++
src/bin/psql/command.c | 133 ++++++++++++++++++++++++++++++++++++++---
src/bin/psql/common.c | 11 ++--
src/bin/psql/common.h | 2 +-
src/bin/psql/help.c | 6 +-
src/bin/psql/startup.c | 19 ++++++
6 files changed, 184 insertions(+), 15 deletions(-)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2021-07-13 00:30:48 Re: pgsql: Add PSQL_WATCH_PAGER for psql's \watch command.
Previous Message Tom Lane 2021-07-12 23:17:53 pgsql: Probe for preadv/pwritev in a more macOS-friendly way.