From: | "Daniel Verite" <daniel(at)manitou-mail(dot)org> |
---|---|
To: | "Gilles Darold" <gilles(dot)darold(at)dalibo(dot)com> |
Cc: | "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com>,"PostgreSQL Hackers" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: proposal: psql \setfileref |
Date: | 2016-10-10 12:38:20 |
Message-ID: | 401c6510-9a4c-439b-96c6-43c60a330b30@mm |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Gilles Darold wrote:
> postgres=# \setfileref b /dev/random
> postgres=# insert into test (:b);
>
> Process need to be killed using SIGTERM.
This can be fixed by setting sigint_interrupt_enabled to true
before operating on the file. Then ctrl-C would be able to cancel
the command.
See comment in common.c, above the declaration of
sigint_interrupt_enabled:
/*
[....]
* SIGINT is supposed to abort all long-running psql operations, not only
* database queries. In most places, this is accomplished by checking
* cancel_pressed during long-running loops. However, that won't work when
* blocked on user input (in readline() or fgets()). In those places, we
* set sigint_interrupt_enabled TRUE while blocked, instructing the signal
* catcher to longjmp through sigint_interrupt_jmp. We assume readline and
* fgets are coded to handle possible interruption. (XXX currently this does
* not work on win32, so control-C is less useful there)
*/
Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite
From | Date | Subject | |
---|---|---|---|
Next Message | Andreas Joseph Krogh | 2016-10-10 12:55:10 | Re: pg_upgrade 9.5 -> 9.6 fails when pg_largeobject is in separate tablespace |
Previous Message | Michael Paquier | 2016-10-10 12:37:37 | Using pg_ctl promote -w in TAP tests |