RE: POC: postgres_fdw insert batching
tsunakawa.takay@fujitsu.com <tsunakawa.takay@fujitsu.com>
From: "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
To: 'David Fetter' <david@fetter.org>
Cc: 'Tomas Vondra' <tomas.vondra@enterprisedb.com>, 'Tomas Vondra' <tomas.vondra@2ndquadrant.com>, "Andrey V. Lepikhov" <a.lepikhov@postgrespro.ru>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2020-11-30T09:34:57Z
Lists: pgsql-hackers
From: David Fetter <david@fetter.org> > Please pardon me for barging in late in this discussion, but if we're > going to be using a bulk API here, wouldn't it make more sense to use > COPY, except where RETURNING is specified, in place of INSERT? Please do not hesitate. I mentioned earlier in this thread that I think INSERT is better because: -------------------------------------------------- * When the user executed INSERT statements, it would look strange to the user if the remote SQL is displayed as COPY. * COPY doesn't invoke rules unlike INSERT. (I don't think the rule is a feature what users care about, though.) Also, I'm a bit concerned that there might be, or will be, other differences between INSERT and COPY. -------------------------------------------------- Also, COPY to foreign tables currently uses INSERTs, the improvement of using COPY instead of INSERT is in progress [1]. Keeping "COPY uses COPY, INSERT uses INSERT" correspondence seems natural, and it makes COPY's high-speed advantage stand out. [1] Fast COPY FROM command for the table with foreign partitions https://www.postgresql.org/message-id/flat/3d0909dc-3691-a576-208a-90986e55489f%40postgrespro.ru Regards Takayuki Tsunakawa
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