Re: POC: postgres_fdw insert batching
Andrei Lepikhov <a.lepikhov@postgrespro.ru>
From: "Andrey V. Lepikhov" <a.lepikhov@postgrespro.ru>
To: Tomas Vondra <tomas.vondra@2ndquadrant.com>, pgsql-hackers@postgresql.org
Date: 2020-07-10T04:28:44Z
Lists: pgsql-hackers
On 6/28/20 8:10 PM, Tomas Vondra wrote: > Now, the primary reason why the performance degrades like this is that > while FDW has batching for SELECT queries (i.e. we read larger chunks of > data from the cursors), we don't have that for INSERTs (or other DML). > Every time you insert a row, it has to go all the way down into the > partition synchronously. You added new fields into the PgFdwModifyState struct. Why you didn't reused ResultRelInfo::ri_CopyMultiInsertBuffer field and CopyMultiInsertBuffer machinery as storage for incoming tuples? -- regards, Andrey Lepikhov Postgres Professional
Commits
-
Fix tuple routing to initialize batching only for inserts
- 927f453a9410 14.0 landed
-
Fix pointer type in ExecForeignBatchInsert SGML docs
- c15283ff429b 14.0 landed
-
Fix initialization of FDW batching in ExecInitModifyTable
- 920f853dc948 14.0 landed
-
Implement support for bulk inserts in postgres_fdw
- b663a4136331 14.0 landed