问题:对于可能以不同语言使用的 PostgreSQL 数据库,正确的排序规则是什么?

我有一个由以下人员创建的数据库:

-- 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 安装设置的默认语言环境。

如果我将来想让系统多语言,我应该使用哪些适当的设置?

解答

您至少应该使用 UTF-8 进行编码。使用 SQL_ASCII 您不能存储非英语字符(例如法语重音字符、德语变音符号)。

如果升级到 9.1,则可以在查询 (ORDER BY ... COLLATE ...) 中或按列“即时”定义排序规则。

Logo

PostgreSQL社区为您提供最前沿的新闻资讯和知识内容

更多推荐