Re: proposal - psql - use pager for \watch command - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: proposal - psql - use pager for \watch command
Date
Msg-id CA+hUKGJte=R_6ov9dDktZ4a2pg82JfD_KB14a=X50BeGLEqaPg@mail.gmail.com
Whole thread Raw
In response to Re: proposal - psql - use pager for \watch command  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: proposal - psql - use pager for \watch command
List pgsql-hackers
On Wed, Jul 14, 2021 at 6:06 AM Pavel Stehule <pavel.stehule@gmail.com> wrote:
> út 13. 7. 2021 v 19:50 odesílatel Tom Lane <tgl@sss.pgh.pa.us> napsal:
>> 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.
>
> I'll look at this issue.

Hi Pavel,

Do you have a patch for this?



pgsql-hackers by date:

Previous
From: Dilip Kumar
Date:
Subject: Re: Support logical replication of DDLs
Next
From: Pavel Stehule
Date:
Subject: Re: proposal - psql - use pager for \watch command