postgresql - 需要一些关于 LC_COLLATE 和 LC_CTYPE 的说明
问题描述
我已经阅读了官方的 postgres 文档以了解 LC_COLLATE 和 LC_TYPE。但是,我仍然没有正确理解它。
任何人都可以帮助我理解这些概念和这些概念的影响,特别是当我们尝试加载编码 WE8ISO8859P15 的 oracle 和 postgres 编码为 utf-8 且 collation/ctype 为 en_US.UTF-8 的数据时。
提前致谢
解决方案
这是“语言环境”的一部分,即国家语言支持,与编码不同(但语言环境必须属于编码)。
LC_CTYPE
确定哪些字符是字母、数字、空格字符、标点符号等。不同的语言对此有不同的想法。
LC_COLLATE
确定如何比较和排序字符串。
第一个对 PostgreSQL 的行为影响不大,但第二个非常相关:它决定了字符串列上的 b-tree 索引如何排序(这就是为什么在创建数据库后不能更改它的原因)以及如何对ORDER BY
字符串进行排序默认(用户直接可见)。
推荐阅读
- wordpress - 如何在 wordpress 中自定义帖子元?
- reactjs - “错误:您必须将组件传递给连接返回的函数。而不是收到未定义的。”
- python - PYTHON - 启用元素的 StaleElementReferenceException
- python - 将输出转换为 .csv 文件
- python - 使用 padding=0 或 1 的 Pythorch 版本的 Conv2D 的 tensorflow 2.x 中的等价物是什么?
- javascript - Addeventlistener 之间的间隔不一致
- nosql - Oracle NoSQL 数据库云服务中有哪些不同的表状态和生命周期?
- join - MySQL 根据另一个表中的数据查询“UPDATE”
- qt - 设置了 QSortFilterProxyModel 的 QTableView,基于 QSqlQueryModel 在数据库中的数据更改时不会更新
- azure-devops - Azure DevOps 安全扫描作为构建和拉取请求的一部分,仅针对增量更改