Re: POC: postgres_fdw insert batching

Tomas Vondra <tomas.vondra@enterprisedb.com>

From: Tomas Vondra <tomas.vondra@enterprisedb.com>
To: "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Cc: 'Amit Langote' <amitlangote09@gmail.com>, "Andrey V. Lepikhov" <a.lepikhov@postgrespro.ru>, Tomas Vondra <tomas.vondra@2ndquadrant.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2021-01-19T02:35:42Z
Lists: pgsql-hackers
On 1/19/21 2:28 AM, tsunakawa.takay@fujitsu.com wrote:
> From: Tomas Vondra <tomas.vondra@enterprisedb.com>
>> I took a look at this - there's a bit of bitrot due to
>> 708d165ddb92c, so attached is a rebased patch (0001) fixing that.
>> 
>> 0002 adds a couple comments and minor tweaks
>> 
>> 0003 addresses a couple shortcomings related to explain - we
>> haven't been showing the batch size for EXPLAIN (VERBOSE), because
>> there'd be no FdwState, so this tries to fix that. Furthermore,
>> there were no tests for EXPLAIN output with batch size, so I added
>> a couple.
> 
> Thank you, good additions.  They all look good. Only one point: I
> think the code for retrieving batch_size in create_foreign_modify()
> can be replaced with a call to the new function in 0003.
> 

OK. Can you prepare a final patch, squashing all the commits into a 
single one, and perhaps use the function in create_foreign_modify?


regards

-- 
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



Commits

  1. Fix tuple routing to initialize batching only for inserts

  2. Fix pointer type in ExecForeignBatchInsert SGML docs

  3. Fix initialization of FDW batching in ExecInitModifyTable

  4. Implement support for bulk inserts in postgres_fdw