| From: | "Tristan Partin" <tristan(at)neon(dot)tech> | 
|---|---|
| To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | <pgsql-hackers(at)postgresql(dot)org> | 
| Subject: | Re: psql not responding to SIGINT upon db reconnection | 
| Date: | 2023-07-24 19:57:58 | 
| Message-ID: | CUAO24Z1Y72E.2069AD01EB4LO@gonk | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
On Mon Jul 24, 2023 at 12:43 PM CDT, Tom Lane wrote:
> "Tristan Partin" <tristan(at)neon(dot)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 | Content-Type | Size | 
|---|---|---|
| v4-0001-Allow-SIGINT-to-cancel-psql-database-reconnection.patch | text/x-patch | 1.9 KB | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Greg Sabino Mullane | 2023-07-24 20:09:23 | Improve pg_stat_statements by making jumble handle savepoint names better | 
| Previous Message | Imseih (AWS), Sami | 2023-07-24 19:40:04 | WaitForOlderSnapshots in DETACH PARTITION causes deadlocks |