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

时间:2012-04-08 09:55:07

标签: database postgresql character-encoding locale collation

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

-- 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 个答案:

答案 0 :(得分:2)

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

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