Re: Cancelling Requests Frontend/Backend Protocol TCP/IP

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Cancelling Requests Frontend/Backend Protocol TCP/IP
Дата
Msg-id 24308.1257172680@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Cancelling Requests Frontend/Backend Protocol TCP/IP  (Craig Ringer <craig@postnewspapers.com.au>)
Ответы Re: Cancelling Requests Frontend/Backend Protocol TCP/IP
Re: Cancelling Requests Frontend/Backend Protocol TCP/IP
Список pgsql-general
Craig Ringer <craig@postnewspapers.com.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

В списке pgsql-general по дате отправления:

Предыдущее
От: Grzegorz Jaśkiewicz
Дата:
Сообщение: Re: [PERFORM] Problem with database performance, Debian 4gb ram ?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Error on compile for Windows