Re: postgres_fdw batching vs. (re)creating the tuple slots
Tomas Vondra <tomas.vondra@enterprisedb.com>
From: Tomas Vondra <tomas.vondra@enterprisedb.com>
To: Alexander Pyhalov <a.pyhalov@postgrespro.ru>
Cc: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>,
Tom Lane <tgl@sss.pgh.pa.us>, Andres Freund <andres@anarazel.de>,
PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2021-06-16T14:23:18Z
Lists: pgsql-hackers
Attachments
- batch-fix.patch (text/x-patch) patch
On 6/16/21 2:36 PM, Alexander Pyhalov wrote: > > Hi. > It seems this commit > > commit b676ac443b6a83558d4701b2dd9491c0b37e17c4 > Author: Tomas Vondra <tomas.vondra@postgresql.org> > Date: Fri Jun 11 20:19:48 2021 +0200 > > Optimize creation of slots for FDW bulk inserts > > has broken batch insert for partitions with unique indexes. > Thanks for the report and reproducer! Turns out this is a mind-bogglingly silly bug I made in b676ac443b :-( The data is copied into the slots only in the branch that initializes them, so the subsequent batches just insert the same data over and over. The attached patch fixes that, and adds a regression test (a bit smaller version of your reproducer). I'll get this committed shortly. regards -- Tomas Vondra EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Fix copying data into slots with FDW batching
- 99cea49d6525 14.0 landed
-
Optimize creation of slots for FDW bulk inserts
- b676ac443b6a 14.0 landed
-
Adjust batch size in postgres_fdw to not use too many parameters
- cb92703384e2 14.0 cited