postgresql - 在 postgresql 中设置按字节字符串比较

标签 postgresql ubuntu

我的 PostgreSQL 字符串比较很奇怪。看起来点、逗号和其他非字母符号被忽略了。如何将此行为更改为字节方式?

strange string compartion

pg版本12.3-1

操作系统 Ubuntu 19-10

最佳答案

问题出在操作系统区域设置中,问题是 LC_COLLATE 是在“en_US.utf8”中设置的,这就是这种奇怪比较的原因。

解决:

使用所需的 LC_COLLATE 创建数据库:

CREATE DATABASE dname WITH
OWNER oname
LC_COLLATE = 'C'
LC_CTYPE = 'en_US.utf8'
TEMPLATE = template0;

需要最后一行,因为默认数据库模板使用系统区域设置

关于postgresql - 在 postgresql 中设置按字节字符串比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62350567/

相关文章:

postgresql - 数据透视表/交叉表 : I wan to return dynamic columns

bash - 在多个(新)选项卡中打开现有 Gvim 中的文件

php - 即使 mysql 服务器正在运行,也无法建立与 mysql 数据库的 php 连接

ubuntu - 如何 `docker import` ubuntu云图像?

database - Talend:将数据写入 PostgreSQL 数据库错误

ruby-on-rails - 在 Rails 中比较日期时间总是错误的

python - 有效地生成所有可能的4人团队组合,其中包含130个角色中的特定角色并计算某些值

sql - 帮助基本的 SQL QUERY

ubuntu - 在 Ubuntu docker 容器中设置 PATH 变量的正确方法

node.js - 在 ubuntu 中使用一个命令列出所有全局安装的模块