gpt4 book ai didi

postgresql - text_pattern_ops 比较器是否理解 UTF-8?

转载 作者:行者123 更新时间:2023-11-29 11:48:23 25 4
gpt4 key购买 nike

根据 PostgreSQL 9.2 文档,如果我使用的不是 C 语言环境(在我的例子中是 en_US.UTF-8),则文本列上的 btree 索引用于支持类似

的查询
SELECT * from my_table WHERE text_col LIKE 'abcd%' 

需要像这样使用text_pattern_ops创建

CREATE INDEX my_idx ON my_table (text_col text_pattern_ops)

现在第11.9 of the documentation指出这会导致“逐个字符”比较。这些是(非宽)C 字符还是比较理解 UTF-8?

最佳答案

好问题,我不是很确定,但我的初步理解是:

这里 Postgresql 的意思是“真正的字符”(最终是多字节),而不是字节。无论有没有这个特殊索引,比较总是“理解 UTF-8”。

重点是,对于具有特殊(非 C)整理规则的语言环境,我们通常希望在进行比较时遵循这些规则(并调用相应的语言环境库)(<> ...)和排序。但是我们不想将这些归类用于 POSIX 正则匹配和 LIKE 模式。因此存在两种不同类型的文本索引。

关于postgresql - text_pattern_ops 比较器是否理解 UTF-8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16464611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com