我正在为 Windows 上的 Bitbucket 服务器配置 PostgreSQL 数据库。在官方guide https://confluence.atlassian.com/bitbucketserver/connecting-bitbucket-server-to-postgresql-776640389.html它说:
数据库必须配置为使用 UTF-8 字符集。
它并没有严格规定您必须将排序规则设置为 UTF-8,但对于其他 atlassian 产品,建议这样做,因此我认为 Bitbucket Server 的情况也是如此。 Confluence 文档中的示例:
- 字符编码必须设置为utf8编码。
- 排序规则还必须设置为 utf8。已知其他排序规则(例如“C”)会导致 Confluence 出现问题。
这就是我现在所拥有的,问题是它将排序规则设置为English_United States.1252
:
CREATE DATABASE test
WITH OWNER "postgres"
ENCODING 'UTF8'
LC_COLLATE = 'american_usa'
LC_CTYPE = 'american_usa'
TEMPLATE template0;
将排序规则设置为 UTF-8 实际上是否有必要?如果是,我该怎么做?
假设您尝试在 Windows 上使用美国区域设置排序顺序和使用 UTF-8 编码的字符分类创建 PostgreSQL 数据库,以下是对原始问题中发布的代码示例的修改,可用于实现该结果。
CREATE DATABASE "example_db"
WITH OWNER "postgres"
ENCODING 'UTF8'
LC_COLLATE = 'en-US'
LC_CTYPE = 'en-US'
TEMPLATE template0;
用于终端复制/粘贴的单行格式:
CREATE DATABASE "example_db" WITH OWNER "postgres" ENCODING 'UTF8' LC_COLLATE = 'en-US' LC_CTYPE = 'en-US' TEMPLATE template0;
对于任何尝试在 Linux 环境(例如 Ubuntu on Windows Subsystem for Linux)中创建类似数据库的人,可以执行以下操作(根据具体环境,您可能需要使用'en_US.UTF8'
作为语言环境):
CREATE DATABASE "example_db"
WITH OWNER "postgres"
ENCODING 'UTF8'
LC_COLLATE = 'en_US.UTF-8'
LC_CTYPE = 'en_US.UTF-8'
TEMPLATE template0;
用于终端复制/粘贴的单行格式:
CREATE DATABASE "example_db" WITH OWNER "postgres" ENCODING 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' TEMPLATE template0;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)