Re: psql not responding to SIGINT upon db reconnection - Mailing list pgsql-hackers

From Tristan Partin
Subject Re: psql not responding to SIGINT upon db reconnection
Date
Msg-id CUAO24Z1Y72E.2069AD01EB4LO@gonk
Whole thread Raw
In response to Re: psql not responding to SIGINT upon db reconnection  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: psql not responding to SIGINT upon db reconnection
List pgsql-hackers
On Mon Jul 24, 2023 at 12:43 PM CDT, Tom Lane wrote:
> "Tristan Partin" <tristan@neon.tech> writes:
> > v3 is attached which fixes up some code comments I added which I hadn't
> > attached to the commit already, sigh.
>
> I don't care for this patch at all.  You're bypassing the pqsignal
> abstraction layer that the rest of psql goes through, and the behavior
> you're implementing isn't very nice.  People do not expect ^C to
> kill psql - it should just stop the \c attempt and leave you as you
> were.
>
> Admittedly, getting PQconnectdbParams to return control on SIGINT
> isn't too practical.  But you could probably replace that with a loop
> around PQconnectPoll and test for CancelRequested in the loop.

That sounds like a much better solution. Attached you will find a v4
that implements your suggestion. Please let me know if there is
something that I missed. I can confirm that the patch works.

    $ ./build/src/bin/psql/psql -h pg.neon.tech
    NOTICE:  Welcome to Neon!
    Authenticate by visiting:
        https://console.neon.tech/psql_session/xxx


    NOTICE:  Connecting to database.
    psql (17devel, server 15.3)
    SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off)
    Type "help" for help.

    tristan957=> \c
    NOTICE:  Welcome to Neon!
    Authenticate by visiting:
        https://console.neon.tech/psql_session/yyy


    ^Cconnection to server at "pg.neon.tech" (3.18.6.96), port 5432 failed:
    Previous connection kept
    tristan957=>

--
Tristan Partin
Neon (https://neon.tech)

Attachment

pgsql-hackers by date:

Previous
From: "Imseih (AWS), Sami"
Date:
Subject: WaitForOlderSnapshots in DETACH PARTITION causes deadlocks
Next
From: Greg Sabino Mullane
Date:
Subject: Improve pg_stat_statements by making jumble handle savepoint names better