我已经在MySQL下表声明:PostgreSQL - 在MySQL中声明的表的等效版本?
CREATE TABLE IF NOT EXISTS `ci_sessions` (
`session_id` varchar(40) COLLATE utf8_bin NOT NULL DEFAULT '0',
`ip_address` varchar(16) COLLATE utf8_bin NOT NULL DEFAULT '0',
`user_agent` varchar(150) COLLATE utf8_bin NOT NULL,
`last_activity` int(10) unsigned NOT NULL DEFAULT '0',
`user_data` text COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`session_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
什么将是Postgres的表的等价定义,假设我的数据库已在使用UTF-8编码?
嗯...所以'utf8_bin'和'COLLATE'只是无关的,那么? – 2011-03-02 17:22:49
它是为整个集群定义的。对于个别栏目,不能给出特殊的排序规则,至少在8.4中!让我看看新版本的文档。有关整理的更多信息,请参阅此链接:http://www.postgresql.org/docs/8.4/interactive/locale.html – Daniel 2011-03-02 17:26:03
对不起,没有关于此的新闻。似乎排序规则仍然可以为DB设置。但是,您可以对索引使用特殊的排序规则设置,而在指定正确的排序子句时将使用它们。 – Daniel 2011-03-02 17:33:22