Thread: BUG #16835: btree index does not work for where clause using 'foo%'
BUG #16835: btree index does not work for where clause using 'foo%'
The following bug has been logged on the website: Bug reference: 16835 Logged by: Hongyan (Heather) Zhang Email address: zhangh3@aetna.com PostgreSQL version: 11.9 Operating system: aurora postgres 11 Description: https://www.postgresql.org/docs/11/indexes-types.html, according to this page, btree index is supposed to work for where clause col like 'foo%', but does not work for me. we are on aurora postgres 11, I also tested on postgres 11, it does not work either.
PG Bug reporting form <noreply@postgresql.org> writes: > https://www.postgresql.org/docs/11/indexes-types.html, according to this > page, btree index is supposed to work for where clause col like 'foo%', but > does not work for me. we are on aurora postgres 11, I also tested on > postgres 11, it does not work either. As the manual explains, that will not work by default unless your database locale is C (which is an uncommon default nowadays). It's also possible that Aurora has changed something that keeps it from working, but I'd investigate the locale angle first. regards, tom lane
Re: [EXTERNAL] Re: BUG #16835: btree index does not work for where clause using 'foo%'
Thanks, Tom.
Locale is en_US.UTF-8.
Is there plan to alter that behavior to allow index in non C locale?
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Friday, January 22, 2021 at 10:52 AM
To: "Zhang, Hongyan" <ZhangH3@aetna.com>
Cc: "pgsql-bugs@lists.postgresql.org" <pgsql-bugs@lists.postgresql.org>
Subject: [EXTERNAL] Re: BUG #16835: btree index does not work for where clause using 'foo%'
**** External Email - Use Caution ****
PG Bug reporting form <noreply@postgresql.org> writes:
> https://www.postgresql.org/docs/11/indexes-types.html, according to this
> page, btree index is supposed to work for where clause col like 'foo%', but
> does not work for me. we are on aurora postgres 11, I also tested on
> postgres 11, it does not work either.
As the manual explains, that will not work by default unless your
database locale is C (which is an uncommon default nowadays).
It's also possible that Aurora has changed something that keeps
it from working, but I'd investigate the locale angle first.
regards, tom lane
NOTICE TO RECIPIENT OF INFORMATION:
This e-mail may contain confidential or privileged information. If you think you have received this e-mail in error, please advise the sender by reply e-mail and then delete this e-mail immediately.
This e-mail may also contain protected health information (PHI) with information about sensitive medical conditions, including, but not limited to, treatment for substance use disorders, behavioral health, HIV/AIDS, or pregnancy. This type of information may be protected by various federal and/or state laws which prohibit any further disclosure without the express written consent of the person to whom it pertains or as otherwise permitted by law. Any unauthorized further disclosure may be considered a violation of federal and/or state law. A general authorization for the release of medical or other information may NOT be sufficient consent for release of this type of information.
Thank you, Aetna
Re: [EXTERNAL] Re: BUG #16835: btree index does not work for where clause using 'foo%'
Para: "Tom Lane" <tgl@sss.pgh.pa.us>
Cc: "pgsql-bugs" <pgsql-bugs@lists.postgresql.org>
Enviadas: Sexta-feira, 22 de janeiro de 2021 16:07:22
Assunto: Re: [EXTERNAL] Re: BUG #16835: btree index does not work for where clause using 'foo%'
Thanks, Tom.
Locale is en_US.UTF-8.
Is there plan to alter that behavior to allow index in non C locale?
Re: [EXTERNAL] Re: BUG #16835: btree index does not work for where clause using 'foo%'
Thanks, Luis
From: "luis.roberto@siscobra.com.br" <luis.roberto@siscobra.com.br>
Date: Friday, January 22, 2021 at 1:28 PM
To: "Zhang, Hongyan" <ZhangH3@aetna.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-bugs <pgsql-bugs@lists.postgresql.org>
Subject: Re: [EXTERNAL] Re: BUG #16835: btree index does not work for where clause using 'foo%'
**** External Email - Use Caution ****
De: "Zhang, Hongyan" <ZhangH3@aetna.com>
Para: "Tom Lane" <tgl@sss.pgh.pa.us>
Cc: "pgsql-bugs" <pgsql-bugs@lists.postgresql.org>
Enviadas: Sexta-feira, 22 de janeiro de 2021 16:07:22
Assunto: Re: [EXTERNAL] Re: BUG #16835: btree index does not work for where clause using 'foo%'
Thanks, Tom.
Locale is en_US.UTF-8.
Is there plan to alter that behavior to allow index in non C locale?
According to documentation: "However, if your database does not use the C locale you will need to create the index with a special operator class to support indexing of pattern-matching queries;"
So you'll have to create the index with a specific operator class.
You can use:.
CREATE INDEX tbl_col_text_pattern_ops_idx ON tbl(col text_pattern_ops) [1]
NOTICE TO RECIPIENT OF INFORMATION:
This e-mail may contain confidential or privileged information. If you think you have received this e-mail in error, please advise the sender by reply e-mail and then delete this e-mail immediately.
This e-mail may also contain protected health information (PHI) with information about sensitive medical conditions, including, but not limited to, treatment for substance use disorders, behavioral health, HIV/AIDS, or pregnancy. This type of information may be protected by various federal and/or state laws which prohibit any further disclosure without the express written consent of the person to whom it pertains or as otherwise permitted by law. Any unauthorized further disclosure may be considered a violation of federal and/or state law. A general authorization for the release of medical or other information may NOT be sufficient consent for release of this type of information.
Thank you, Aetna