Re: POC: postgres_fdw insert batching

Поиск
Список
Период
Сортировка
Искать
От
Tomas Vondra
Тема
Re: POC: postgres_fdw insert batching
Дата
Msg-id
f44047f8-3bc9-51e1-61d8-7aaae56aee5a@enterprisedb.com
Ответ на
Список
Дерево обсуждения
POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@2ndquadrant.com>
Re: POC: postgres_fdw insert batching "Andrey V. Lepikhov" <a.lepikhov@postgrespro.ru>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@2ndquadrant.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@2ndquadrant.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
RE: POC: postgres_fdw insert batching Tim.Colles@ed.ac.uk
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching David Fetter <david@fetter.org>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Amit Langote <amitlangote09@gmail.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Amit Langote <amitlangote09@gmail.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Amit Langote <amitlangote09@gmail.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Amit Langote <amitlangote09@gmail.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Amit Langote <amitlangote09@gmail.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Amit Langote <amitlangote09@gmail.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Amit Langote <amitlangote09@gmail.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Amit Langote <amitlangote09@gmail.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Tom Lane <tgl@sss.pgh.pa.us>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Ian Lawrence Barwick <barwick@gmail.com>
Re: POC: postgres_fdw insert batching Ian Lawrence Barwick <barwick@gmail.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Ian Lawrence Barwick <barwick@gmail.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Tom Lane <tgl@sss.pgh.pa.us>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Zhihong Yu <zyu@yugabyte.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Amit Langote <amitlangote09@gmail.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Amit Langote <amitlangote09@gmail.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Amit Langote <amitlangote09@gmail.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Amit Langote <amitlangote09@gmail.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Amit Langote <amitlangote09@gmail.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Amit Langote <amitlangote09@gmail.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Zhihong Yu <zyu@yugabyte.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Tom Lane <tgl@sss.pgh.pa.us>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Zhihong Yu <zyu@yugabyte.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Zhihong Yu <zyu@yugabyte.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Zhihong Yu <zyu@yugabyte.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Zhihong Yu <zyu@yugabyte.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Craig Ringer <craig.ringer@enterprisedb.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Craig Ringer <craig.ringer@enterprisedb.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Craig Ringer <craig.ringer@enterprisedb.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Craig Ringer <craig.ringer@enterprisedb.com>
RE: POC: postgres_fdw insert batching "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@enterprisedb.com>
Re: POC: postgres_fdw insert batching Craig Ringer <craig.ringer@enterprisedb.com>
Re: POC: postgres_fdw insert batching Andres Freund <andres@anarazel.de>
Re: POC: postgres_fdw insert batching Amit Langote <amitlangote09@gmail.com>
Re: POC: postgres_fdw insert batching Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Re: POC: postgres_fdw insert batching Tomas Vondra <tomas.vondra@2ndquadrant.com>
Re: POC: postgres_fdw insert batching Ashutosh Bapat <ashutosh.bapat@2ndquadrant.com>
Re: POC: postgres_fdw insert batching Etsuro Fujita <etsuro.fujita@gmail.com>
Re: POC: postgres_fdw insert batching Ashutosh Bapat <ashutosh.bapat@2ndquadrant.com>
Re: POC: postgres_fdw insert batching Amit Langote <amitlangote09@gmail.com>
Re: POC: postgres_fdw insert batching Etsuro Fujita <etsuro.fujita@gmail.com>
On 2/17/21 8:36 PM, Tomas Vondra wrote:
>
> ...
> 
> Thanks. The patch seems reasonable, but it's a bit too large for a fix,
> so I'll go ahead and push one of the previous fixes restricting batching
> to plain INSERT commands. But this seems useful, so I suggest adding it
> to the next commitfest.

I've pushed the v4 fix, adding the CMD_INSERT to execPartition.

I think we may need to revise the relationship between FDW and places
that (may) call GetForeignModifyBatchSize. Currently, these places need
to be quite well synchronized - in a way, the issue was (partially) due
to postgres_fdw and core not agreeing on the details.

In particular, create_foreign_modify sets batch_size for CMD_INSERT and
leaves it 0 otherwise. So GetForeignModifyBatchSize() returned 0 later,
triggering an assert.

It's probably better to require GetForeignModifyBatchSize() to always
return a valid batch size (>= 1). If batching is not supported, just
return 1.


regards

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


В списке pgsql-hackers по дате отправления
От: Thomas Munro
Дата:
От: Peter Smith
Дата:
FAQ