Re: Fdw batch insert error out when set batch_size > 65535

Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>

From: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
To: Tomas Vondra <tomas.vondra@enterprisedb.com>
Cc: "houzj.fnst@fujitsu.com" <houzj.fnst@fujitsu.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-06-09T04:20:57Z
Lists: pgsql-hackers
On Wed, Jun 9, 2021 at 12:04 AM Tomas Vondra
<tomas.vondra@enterprisedb.com> wrote:
> No, the "Int16" refers to the FE/BE documentation, where we use Int16.
> But in the C code we interpret it as uint16.

Hm. I see that in protocol.sgml Int16 is being used.

> I've added a simple regression test to postgres_fdw, testing that batch
> sizes > 65535 work fine, and pushed the fix.

I was earlier thinking of adding one, but stopped because it might
increase the regression test execution time. It looks like that's true
- with and without the test case it takes 17 sec and 4 sec
respectively on my dev system which is 4X slower. I'm not sure if this
is okay.

With Regards,
Bharath Rupireddy.



Commits

  1. Remove expensive test of postgres_fdw batch inserts

  2. Adjust batch size in postgres_fdw to not use too many parameters

  3. Implement support for bulk inserts in postgres_fdw