Re: postgres 16 index double variable seems to fail. postgres 15 OK

From: "Euler Taveira" <euler(at)eulerto(dot)com>
To: "Vladislav Malyshkin" <mal(at)gromco(dot)com>, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: postgres 16 index double variable seems to fail. postgres 15 OK
Date: 2024-12-10 14:30:36
Message-ID: 3fd61e5f-e086-4b50-a59e-81bd09384295@app.fastmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Tue, Dec 10, 2024, at 10:18 AM, Vladislav Malyshkin wrote:
> I am not completely sure, but there seems to be a regression in postgres 16.
> Let there be a table with millions of records
>
> CREATE TABLE table1(
> inode int::8 not null,
> fieldNum int not null,
> wordFromText text not null,
> wordIndex int
> );
>
This is not a valid definition. Do you mean "bigint" instead of "int::8"?

> with multi-field index
> CREATE INDEX table1_indx_textsearch2_Words ON table (inode,fieldNum,wordIndex);
>
The table name is wrong. Are you sure you are creating the index in the right
table?

> The problem now seems to be that the queries on a single variable inode such as
> DELETE FROM table1 WHERE inode=133218
> and others, especially when used in some JOIN, it seems does not use the index and run slow.
>
You didn't provide the query plan.

EXPLAIN (VERBOSE, SETTINGS) DELETE FROM table1 WHERE inode = 133218;

>
> There were no such problem in postgres 15.

You didn't provide the query plan.

> When I create one more index, now a single-field one.
> CREATE INDEX table1_indx2 ON table (inode);
> postgers 16 becomes fast again.
> Postgres 15 was happy with thee fields index (inode,fieldNum,wordIndex), and did not need a single variable index.
>

It is hard to say something if you didn't provide a reproducible test case.

--
Euler Taveira
EDB https://www.enterprisedb.com/

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Artur Zakirov 2024-12-10 15:21:33 Re: pg_dump crash on identity sequence with not loaded attributes
Previous Message Vladislav Malyshkin 2024-12-10 13:18:53 postgres 16 index double variable seems to fail. postgres 15 OK