回复: pg_restore error with partitioned table having exclude constraint

Japin Li <japinli@hotmail.com>

From: Li Japin <japinli@hotmail.com>
To: Álvaro Herrera <alvherre@kurilemu.de>
Cc: Keith Paskett <keith.paskett@logansw.com>, "pgsql-bugs@lists.postgresql.org" <pgsql-bugs@lists.postgresql.org>, songjinzhou <tsinghualucky912@foxmail.com>
Date: 2025-05-14T11:10:08Z
Lists: pgsql-bugs

Attachments

On 2025-Apr-30, Álvaro Herrera wrote:
> On 2025-Apr-30, Japin Li wrote:
>
>> Thank you for the explanation. A test case has been added to create_index.sql.
>> Could you please take a look?
>
> Well, it seems a bit minimalistic -- I would try to be more adversarial
> about it maybe, because details are where devil(s) lie.
>
> You need to add comments in CompareIndexInfo about your new code.  Why
> Is it okay to ignore ii_ExclusionProcs and ii_ExclusionStrats?  Why is
> it okay to not have tests that set up tables with those things as
> different so that this function returns false in these cases?  Why do
> you have a test for a table set up where the positive case is handled,
> but no case for the negative case?

Apologies for the delay.  Considering it further, ignoring ii_ExclusionProcs and
ii_ExclusionStrats seems incorrect given custom operators.

I've also updated ii_NumIndexAttrs to ii_NumIndexKeyAttrs, as exclusion indexes
won't exceed the ii_NumIndexKeyAttrs.

I've also moved the test cases to indexing.sql.  I'm unsure of its suitability, but seeing
pg_dump/pg_upgrade tests prompted the move.

--
Regards,
Japin Li

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Allow some exclusion constraints on partitions

  2. Local partitioned indexes