Re: bug: copy progress reporting of backends which run multiple COPYs
Matthias van de Meent <boekewurm+postgres@gmail.com>
From: Matthias van de Meent <boekewurm+postgres@gmail.com>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: Tomas Vondra <tomas.vondra@enterprisedb.com>, Josef Šimánek <josef.simanek@gmail.com>, Michael Paquier <michael@paquier.xyz>, pgsql-hackers@lists.postgresql.org
Date: 2023-01-21T00:51:28Z
Lists: pgsql-hackers
Attachments
- v1-0001-Only-report-progress-if-we-re-actually-in-a-parse.patch (application/octet-stream) patch v1-0001
On Thu, 19 Jan 2023 at 06:47, Justin Pryzby <pryzby@telsasoft.com> wrote: > > pg_stat_progress_copy was added in v14 (8a4f618e7, 9d2d45700). > > But if a command JOINs file_fdw tables, the progress report gets bungled > up. This will warn/assert during file_fdw tests. I don't know what to do with that other than disabling COPY progress reporting for file_fdw, i.e. calls to BeginCopyFrom that don't supply a pstate. This is probably the best option, because a table backed by file_fdw would also interfere with COPY TO's progress reporting. Attached a patch that solves this specific issue in a binary-compatible way. I'm not super happy about relying on behavior of callers of BeginCopyFrom (assuming that users that run copy concurrently will not provide a ParseState* to BeginCopyFrom), but it is what it is. Kind regards, Matthias van de Meent