我如何知道我的PostgreSQL服务器是否正在使用“C”语言环境?

前端之家收集整理的这篇文章主要介绍了我如何知道我的PostgreSQL服务器是否正在使用“C”语言环境?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图优化我的Postgresql 8.3 DB表,以我的能力,我不确定是否需要使用varchar_pattern_ops某些列,我对字符串的前N个字符执行LIKE.根据 this documentation,使用xxx_pattern_ops只需要“…当服务器不使用标准的”C“区域设置时.

有人可以解释这个意思吗?我如何检查我的数据库使用的区域设置?

目前,一些locale [ docs]支持只能在initdb时间设置,但是我认为与_pattern_ops相关的一个可以在运行时通过 SET进行修改,LC_COLLATE.要查看设置值,可以使用 SHOW命令.

例如:

SHOW LC_COLLATE@H_301_10@ 
 

_pattern_ops索引在使用模式匹配结构的列(如LIKE或regexps)中非常有用.您仍然必须使用常规索引(不使用_pattern_ops)在索引上进行等式搜索.所以你必须考虑到这一点,看看你是否需要这样的索引.

关于locale是什么,它是一套关于字符排序,格式化和类似东西的规则,从语言/国家到另一个语言/国家不同.例如,在en_CA(加拿大英语)中,语言环境fr_CA(加拿大法语)可能具有一些不同的排序规则(或显示数字等等).标准“C”区域是符合POSIX标准的默认语言环境.只有严格的ASCII字符才有效,而订购和格式化的规则主要是en_US(US English)

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.

猜你在找的Postgre SQL相关文章