Re: Cancelling Requests Frontend/Backend Protocol TCP/IP

From: Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>
To: Raimon Fernandez <coder(at)montx(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Cancelling Requests Frontend/Backend Protocol TCP/IP
Date: 2009-11-02 09:29:28
Message-ID: 4AEEA678.3090505@postnewspapers.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-interfaces

On 2/11/2009 5:15 PM, Raimon Fernandez wrote:

> For what I've read in the manuals, this operation is only valid before
> PostgreSQL has finished processing the SELECT statement ?
>
> 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.

--
Craig Ringer

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Craig Ringer 2009-11-02 09:37:26 Re: DataRow Null values Frontend/Backend Protocol TCP/IP
Previous Message Bernard Grosperrin 2009-11-02 09:29:12 Re: Error on compile for Windows

Browse pgsql-interfaces by date

  From Date Subject
Next Message Craig Ringer 2009-11-02 09:37:26 Re: DataRow Null values Frontend/Backend Protocol TCP/IP
Previous Message Raimon Fernandez 2009-11-02 09:21:21 Re: DataRow Null values Frontend/Backend Protocol TCP/IP