Re: MERGE PARTITIONS and DEPENDS ON EXTENSION.

Alexander Korotkov <aekorotkov@gmail.com>

From: Alexander Korotkov <aekorotkov@gmail.com>
To: Kirill Reshke <reshkekirill@gmail.com>
Cc: Matheus Alcantara <matheusssilv97@gmail.com>, Dmitry Koval <d.koval@postgrespro.ru>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2026-04-22T11:24:29Z
Lists: pgsql-hackers

Attachments

On Wed, Apr 22, 2026 at 1:48 PM Kirill Reshke <reshkekirill@gmail.com> wrote:
> Some minor comments:
>
> > +-- Sanity check: the extension can't be dropped while dependencies exist.
> >+DROP EXTENSION test_ext3;
>
> This exercises something that already works on HEAD (note this is DROP
> before first MERGE partition call ). Do we really need this?

I've removed this.

> > +-- An index created directly on a partition has no parent in the partitioned
> > +-- index tree; merge must ignore such indexes (they disappear with the old
> > +-- partition).
> > +CREATE INDEX part_extdep_3_extra_idx ON part_extdep_3(x);
> > +ALTER TABLE part_extdep MERGE PARTITIONS (part_extdep_merged, part_extdep_3)
> > +    INTO part_extdep_merged2;
> > +SELECT relname FROM pg_class
> > +WHERE relname LIKE 'part_extdep_merged2%idx' ORDER BY relname;
>
> Looks like this test is also redundant? This does not test new DEPENDS ON logic.

I've added the dependency on this index to check index disappears with
its dependency.  I think this would make this test more relevant.

Kirill, Matheus, are you ok with these change?

------
Regards,
Alexander Korotkov
Supabase

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Preserve extension dependencies on indexes during partition merge/split