NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
The way CTRL-C in Postgres CLI cancels queries is incredibly hack-y (neon.com)
rlpb 6 minutes ago [-]
TCP has an "urgent data" feature that might have been used for this kind of thing, used for Ctrl-C in telnet, etc. It can be used to bypass any pending send buffer and received by the server ahead of any unread data.
michalc 58 minutes ago [-]
I think I can understand why this wasn’t addressed for so long: in the vast majority of cases if your db is exposed on a network level to untrusted sources, then you probably have far bigger problems?
jtwaleson 1 hours ago [-]
From the title I was hoping for this being hacky on the server application side, like how it aborts and clears the memory for a running query.

Still an interesting read. Just wondering, why can't the TCP connection of the query not be used to send a cancellation request? Why does it have the be out of band?

toast0 1 hours ago [-]
I don't know much about postgres, but as I understand it, it's a pretty standard server application. Read a request from the client, work on the request, send the result, read the next request.

Changing that to poll for a cancellation while working is a big change. Also, the server would need to buffer any pipelined requests while looking for a cancellation request. A second connection is not without wrinkles, but it avoids a lot of network complexity.

bob1029 1 hours ago [-]
MSSQL uses a special message over an existing connection:

https://learn.microsoft.com/en-us/openspecs/windows_protocol...

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 08:44:01 GMT+0000 (Coordinated Universal Time) with Vercel.