Dump statistic issue with index on expressions

From: "Maksim(dot)Melnikov" <m(dot)melnikov(at)postgrespro(dot)ru>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Dump statistic issue with index on expressions
Date: 2026-02-25 16:37:24
Message-ID: be5fc489-587e-421f-bbb8-adb43cfd50f4@postgrespro.ru
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi hackers.
There is an issue on new feature dump statistics related to index
processing.
In case when table has more then one index and if one of them is index
on expressions
we can get error like this:

pg_dump --verbose --statistics-only > /dev/null
...
pg_dump: reading subscriptions
pg_dump: reading subscription membership of tables
pg_dump: reading dependency data
pg_dump: saving encoding = UTF8
pg_dump: saving "standard_conforming_strings = on"
pg_dump: saving "search_path = "
pg_dump: error: could not find index attname "source_system"

For clarity, schema ddl attached

CREATE TABLE test_table_stats (
    id uuid NOT NULL,
    body jsonb,
    source_system character varying,
    source_id character varying,
    model_name character varying NOT NULL
);

CREATE INDEX test_table_stats_source_system_text ON test_table_stats
USING btree (upper((source_system)::text));
CREATE UNIQUE INDEX test_table_stats_json_system_un ON test_table_stats
USING btree (source_system, source_id, model_name);

When pg_dump sequentially process indexes in case when index is
processed after index on expression,
it can use index attrs names of previously processed index. I've
attached simple patch to fix it.

Best regards
Melnikov Maksim

Attachment Content-Type Size
0001-Dump-statistic-issue-with-index-on-expressions.patch text/x-patch 1.5 KB

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2026-02-25 16:40:10 Re: Optimize SELECT * in EXISTS
Previous Message Alvaro Herrera 2026-02-25 16:25:54 Re: Adding REPACK [concurrently]