Re: bug: copy progress reporting of backends which run multiple COPYs

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Re: bug: copy progress reporting of backends which run multiple COPYs
Дата
Msg-id ZjrRfLlfNuBwgYpN@paquier.xyz
обсуждение исходный текст
Ответ на Re: bug: copy progress reporting of backends which run multiple COPYs  (Justin Pryzby <pryzby@telsasoft.com>)
Ответы Re: bug: copy progress reporting of backends which run multiple COPYs
Список pgsql-hackers
On Tue, May 07, 2024 at 07:27:54AM -0500, Justin Pryzby wrote:
> This didn't get fixed for v16, and it seems unlikely that it'll be
> addressed in back branches.
>
> But while I was reviewing forgotten threads, it occurred to me to raise
> the issue in time to fix it for v17.

Thanks for the reminder.

FWIW, I'm rather annoyed by the fact that we rely on the ParseState to
decide if reporting should happen or not.  file_fdw tells, even if
that's accidental, that status reporting can be useful if working on a
single table.  So, shutting down the whole reporting if a caller if
BeginCopyFrom() does not give a ParseState is too heavy-handed, IMO.

The addition of report_progress in the COPY FROM state data is a good
idea, though isn't that something we should give as an argument of
BeginCopyFrom() instead if sticking this knowledge in COPY FROM?

Different idea: could it be something worth controlling with a
query-level option?  It would then be possible to provide the same
level of control for COPY TO which has reporting paths, given the
application control over the reporting even with file_fdw, and store
the value controlling the reporting in CopyFormatOptions.  I am
wondering if there would be a case where someone wants to do a COPY
but hide entirely the reporting done.

The query-level option has some appeal.
--
Michael

Вложения

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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: Cutting support for OpenSSL 1.0.1 and 1.0.2 in 17~?
Следующее
От: Thomas Munro
Дата:
Сообщение: Re: backend stuck in DataFileExtend