对于可能以不同语言使用的 PostgreSQL 数据库,正确的排序规则是啥?
Posted
技术标签:
【中文标题】对于可能以不同语言使用的 PostgreSQL 数据库,正确的排序规则是啥?【英文标题】:What is the right collation to be for a PostgreSQL database which may be used in different languages?对于可能以不同语言使用的 PostgreSQL 数据库,正确的排序规则是什么? 【发布时间】:2012-04-21 03:52:12 【问题描述】:我有一个由以下人员创建的数据库:
-- Database: adatabase
-- DROP DATABASE adatabase;
CREATE DATABASE adatabase
WITH OWNER = adatabaseowner
ENCODING = 'SQL_ASCII'
TABLESPACE = pg_default
LC_COLLATE = 'C'
LC_CTYPE = 'C'
CONNECTION LIMIT = -1;
这些似乎是我的 PostgreSQL 8.4 安装中的默认设置,这似乎基于我的 Ubuntu 安装设置的默认语言环境。
如果我以后想使系统多语言,我应该使用哪些适当的设置?
【问题讨论】:
【参考方案1】:您至少应该使用 UTF-8 进行编码。使用 SQL_ASCII 您不能存储非英语字符(例如法语重音字符、德语变音符号)。
如果您升级到 9.1,则可以在查询 (ORDER BY ... COLLATE ...
) 中或按列“即时”定义排序规则。
【讨论】:
以上是关于对于可能以不同语言使用的 PostgreSQL 数据库,正确的排序规则是啥?的主要内容,如果未能解决你的问题,请参考以下文章