我有一个数据库,该数据库是在安装了“Default Locale”的数据库服务器上创建的,其中要求“选择新数据库集群使用的语言环境”。它应该已设置为特定的区域设置。我之后可以改变它,还是必须从头开始创建数据库?
答案 0 :(得分:6)
它会影响为DB选择的文本编码(“代码页”),以及用于文本的排序规则(排序顺序)。
更改要么转储数据库,删除它,重新创建它并恢复转储。
创建数据库时,您可以指定特定的ENCODING
,LC_CTYPE
,LC_COLLATE
等来覆盖DB系统范围的默认值。如果要在创建数据库时更改编码,则必须使用TEMPLATE template0
。
答案 1 :(得分:2)
创建群集时使用的语言环境设置模板数据库的语言环境。这反过来会影响您在群集中创建的任何其他数据库的区域设置,因为它们是通过复制模板数据库进行初始化的(如果您在创建数据库时未指定其他区域设置 - 请参阅下文)。
语言环境会影响排序规则和编码等方面。编码是将字符编码为数据库中的字节的方式。
您可以在创建数据库时指定排序规则或编码,但仅限于从template0创建数据库时。见CREATE DATABASE
您无法更改现有数据库的编码。您必须dump and reload数据库才能获得不同的编码。