LIKE 针对字符串的前 N ​​个字符。根据t-6ren">
gpt4 book ai didi

postgresql - 我如何知道我的 PostgreSQL 服务器是否使用 "C"语言环境?

转载 作者:行者123 更新时间:2023-11-29 11:09:49 27 4
gpt4 key购买 nike

我正在尽我所能优化我的 PostgreSQL 8.3 数据库表,但我不确定是否需要对我正在执行 的某些列使用 varchar_pattern_ops >LIKE 针对字符串的前 N ​​个字符。根据this documentationxxx_pattern_ops 的使用仅在“...当服务器不使用标准的‘C’语言环境时”是必需的。

谁能解释一下这是什么意思?如何检查我的数据库使用的语言环境?

最佳答案

当前一些语言环境 [ docs ] 支持只能在 initdb 时设置,但我认为与 _pattern_ops 相关的可以通过 SET 修改在运行时,LC_COLLATE。要查看设置值,您可以使用 SHOW命令。

例如:

SHOW LC_COLLATE

_pattern_ops 索引在使用模式匹配结构的列中很有用,例如 LIKE 或正则表达式。您仍然需要创建一个常规索引(没有 _pattern_ops)来对索引进行相等搜索。因此,您必须考虑所有这些,看看您的表是否需要这样的索引。

关于什么locale是的,它是一组关于字符顺序、格式和类似事物的规则,这些规则因语言/国家/地区而异。例如,语言环境 fr_CA(加拿大的法语)可能与 en_CA(加拿大的英语)有一些不同的排序规则(或显示数字的方式等)。标准“C”语言环境是符合 POSIX 标准的默认语言环境。只有严格的ASCII字符才有效,排序和格式规则大多是en_US(美式英语)

In computing, locale is a set of parameters that defines the user's language, country and any special variant preferences that the user wants to see in their user interface. Usually a locale identifier consists of at least a language identifier and a region identifier.

关于postgresql - 我如何知道我的 PostgreSQL 服务器是否使用 "C"语言环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1665726/

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