From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Craig Ringer <craig(at)postnewspapers(dot)com(dot)au> |
Cc: | Raimon Fernandez <coder(at)montx(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Cancelling Requests Frontend/Backend Protocol TCP/IP |
Date: | 2009-11-02 14:38:00 |
Message-ID: | 24308.1257172680@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-interfaces |
Craig Ringer <craig(at)postnewspapers(dot)com(dot)au> writes:
> On 2/11/2009 5:15 PM, Raimon Fernandez wrote:
>> If for example I send a SELECT * from myTable, it has 20000 rows, and
>> postgre starts sending the rows, how I can cancel this operation ?
> Assuming you're asking "is there any way to cancel a running query using
> the postgresql tcp/ip protocol" then, as you've noted, you can cancel
> the request until you start getting data.
> After that, you can still cancel the query by establishing another
> connection to the server and calling pg_cancel_backend( ) at the SQL
> level. This does, unfortunately, involve the overhead of setting up and
> tearing down a connection and the associated backend.
The above distinction is nonsense. Query cancel works the same way
whether you have started receiving data or not --- it will open a
transient connection in any case. Otherwise there would be race
condition problems if the backend is just about to start sending data.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2009-11-02 14:41:49 | Re: Error on compile for Windows |
Previous Message | Grzegorz Jaśkiewicz | 2009-11-02 14:33:52 | Re: [PERFORM] Problem with database performance, Debian 4gb ram ? |
From | Date | Subject | |
---|---|---|---|
Next Message | Raimon Fernandez | 2009-11-02 15:50:49 | Re: Cancelling Requests Frontend/Backend Protocol TCP/IP |
Previous Message | John DeSoi | 2009-11-02 14:12:17 | Re: Cancelling Requests Frontend/Backend Protocol TCP/IP |