Re: Danger of automatic connection reset in psql

Поиск
Список
Период
Сортировка
От Ashutosh Bapat
Тема Re: Danger of automatic connection reset in psql
Дата
Msg-id CAFjFpRdi0Jmx2qiRHNbYDMpWBo50-Kvt9fkd3ZqDmAj0988mfA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Danger of automatic connection reset in psql  (Oleksandr Shulgin <oleksandr.shulgin@zalando.de>)
Список pgsql-hackers
On Thu, Oct 20, 2016 at 5:25 PM, Oleksandr Shulgin
<oleksandr.shulgin@zalando.de> wrote:
> On Thu, Oct 20, 2016 at 12:28 PM, Oleksandr Shulgin
> <oleksandr.shulgin@zalando.de> wrote:
>>
>>
>> Since this is already an improvement, I'm attaching a patch.
>>
>> If on the other hand, someone is pasting into psql's terminal a block of
>> commands enclosed in BEGIN/COMMIT, the same bug is triggered: BEGIN doesn't
>> have effect and the rest of commands run outside of transaction.
>>
>> Is it possible at all to protect against the latter case?  How?
>
>
> One idea I was just suggested is to make interactive psql sessions buffer in
> all available input, before it's going to block.  This way it doesn't matter
> if the multiple statements are appearing on one line or are being pasted.
>
> Feasible?

psql seems to be reading one line (or upto EOF) at a time. If it finds
a ';' in the fetched input, it sends the query to the server and
fetches the result. That's when it will notice a server crash. The
next time it will try to fetch the line, I doubt if psql has any way
to tell, whether the block of commands was pasted all at a time or
entered one at a time.y It's same thing for psql and really I guess
it's the same thing for any interactive program. I guess, all the
pasted result is not in psql's buffers if it spans multiple lines and
has ';' in-between. So, I don't think, it's feasible to protect
against that one.

-- 
Best Wishes,
Ashutosh Bapat
EnterpriseDB Corporation
The Postgres Database Company



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

Предыдущее
От: Julien Rouhaud
Дата:
Сообщение: Overlook in 2bd9e412?
Следующее
От: Magnus Hagander
Дата:
Сообщение: Re: Streaming basebackups vs pg_stat_tmp