From: | Tomas Vondra <tomas(dot)vondra(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Fix tuple routing to initialize batching only for inserts |
Date: | 2021-02-17 23:27:53 |
Message-ID: | E1lCWEb-0001KF-7O@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Fix tuple routing to initialize batching only for inserts
A cross-partition update on a partitioned table is implemented as a
delete followed by an insert. With foreign partitions, this was however
causing issues, because the FDW and core may disagree on when to enable
batching. postgres_fdw was only allowing batching for plain inserts
(CMD_INSERT) while core was trying to batch the insert component of the
cross-partition update. Fix by restricting core to apply batching only
to plain CMD_INSERT queries.
It's possible to allow batching for cross-partition updates, but that
will require more extensive changes, so better to leave that for a
separate patch.
Author: Amit Langote
Reviewed-by: Tomas Vondra, Takayuki Tsunakawa
Discussion: https://postgr.es/m/20200628151002.7x5laxwpgvkyiu3q@development
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/927f453a941061e3d5884bab206581c34784e45b
Modified Files
--------------
contrib/postgres_fdw/expected/postgres_fdw.out | 23 ++++++++++++++++++++++-
contrib/postgres_fdw/postgres_fdw.c | 13 +++++++++++--
contrib/postgres_fdw/sql/postgres_fdw.sql | 19 ++++++++++++++++++-
src/backend/executor/execPartition.c | 3 ++-
4 files changed, 53 insertions(+), 5 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2021-02-18 05:14:25 | pgsql: nbtree README: move VACUUM linear scan section. |
Previous Message | Tom Lane | 2021-02-17 17:24:53 | pgsql: Make some minor improvements in the regex code. |