Re: proposal - psql - use pager for \watch command

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Cc: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, vignesh C <vignesh21(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: proposal - psql - use pager for \watch command
Date: 2021-07-13 17:50:38
Message-ID: 3278793.1626198638@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Thomas Munro <thomas(dot)munro(at)gmail(dot)com> writes:
> Pushed, after retesting on macOS (with the fixed pspg that has by now
> arrived in MacPorts), FreeBSD and Linux. Thanks!

After playing with this along the way to fixing the sigwait issues,
I have a gripe/suggestion. If I hit control-C while the thing
is waiting between queries, eg

regression=# select now() \watch
Tue Jul 13 13:44:44 2021 (every 2s)

now
-------------------------------
2021-07-13 13:44:44.396565-04
(1 row)

Tue Jul 13 13:44:46 2021 (every 2s)

now
-------------------------------
2021-07-13 13:44:46.396572-04
(1 row)

^Cregression=#

then as you can see I get nothing but the "^C" echo before the next
psql prompt. The problem with this is that now libreadline is
misinformed about the cursor position, messing up any editing I
might try to do on the next line of input. So I think it would
be a good idea to have some explicit final output when the \watch
command terminates, along the line of

...
Tue Jul 13 13:44:46 2021 (every 2s)

now
-------------------------------
2021-07-13 13:44:46.396572-04
(1 row)

^C\watch cancelled
regression=#

This strikes me as a usability improvement even without the
readline-confusion angle.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alexander Lakhin 2021-07-13 18:00:00 Re: More time spending with "delete pending"
Previous Message Ranier Vilela 2021-07-13 17:46:17 Re: [PATCH] Use optimized single-datum tuplesort in ExecSort