教学文章
Technology Exchange
热门课程
400电话

免费咨询热线
400-090-9964

教学文章

安装openGauss:初始配置区域和字符集

时间:2020-08-17 来源:

区域和字符集在安装过程中通过指定初始化GUC参数来控制,考虑到这两个参数的重要性,在此单独对这两个参数进行详细说明。

相关概念

区域:

·区域是指应用中考虑字母、排序、数字格式等与文化相关的问题。

·使用gs_install脚本初始化一个数据库时会初始化区域。缺省时,gs_install脚本将会按照操作系统默认的区域初始化数据库。因此,如果操作系统的默认区域与用户规划的相同,则初始化数据库时不需要再设置。

·字符集(编码格式):

·openGauss支持GBK、UTF-8和Latin1编码格式。

使用gs_install脚本初始化数据库时会初始化字符集。缺省时,gs_install脚本将会按照操作系统默认区域的字符集来初始化数据库。在创建数据库的时候是可以修改默认字符集。因此,多个数据库可以设置为不同的字符集。

规划原则和方法

·规划字符集,选择原则和设置方法请参见表1。

表 1 字符集

GBK

如果数据库只需要支持中文,数据量很大,性能要求也很高,那就应该选择双字节定长编码的中文字符集。对openGauss来说,中文字符集目前只能选择GBK 。

UTF-8

如果应用程序要处理各种各样的文字,或者将处理结果发布到使用不同语言的国家或地区,就应该选择Unicode字符集。对openGauss来说,Unicode字符集目前只能选择UTF-8 。

Latin1

如果数据库只需要支持ASCII收录的字符、西欧语言、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号,则可以选择Latin1。

在安装数据库时指定初始化参数-E。

通过SQL语句创建数据库时指定ENCODING参数。

详细请参见示例。

说明:

- openGauss支持字符集的多种写法:gbk/GBK、UTF-8/UTF8/uft8/utf-8和Latine1/latine1。

- 安装时若不指定字符集,默认字符集为SQL_ASCII,若想指定,请在安装时指定,具体操作请参见示例。

规划区域。

1.检查与指定字符集(假设为UTF-8)匹配的区域。

locale -a |grep utf8

显示类似如下信息,其中en_US.utf8表示区域en_US支持UTF-8编码。

......

en_SG.utf8

en_US.utf8

......

2.在初始化数据库时设置区域,设置方法请参见示例。

示例

示例1:在初始化数据库时,指定数据库初始化的字符集为UTF-8,区域为zh_CN.UTF-8。

gs_initdb -E UTF-8 --locale=zh_CN.UTF-8 /opt/gaussdb/data/data_n1 --nodename dn1 -w Bigdata@123

/opt/gaussdb/data/data_n1为安装后的DBnode目录,Bigdata@123为数据库用户密码。

显示类似如下信息:

The files belonging to this database system will be owned by user "xlnha".

This user must also own the server process.


The database cluster will be initialized with locale "zh_CN.UTF-8".

gs_initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8"

The default text search configuration will be set to "simple".


fixing permissions on existing directory /opt/gaussdb/data1 ... ok

creating subdirectories ... ok

selecting default max_connections ... 100

selecting default shared_buffers ... 32MB

creating configuration files ... ok

......


示例2:使用SQL语句创建数据库时,指定数据库的字符集为GBK。

gsql -d postgres -p 1255

postgres=# CREATE DATABASE mydb WITH ENCODING 'GBK' template = template0;

显示类似如下信息:

CREATE DATABASE

版权所有@北京神脑资讯技术有限公司(CUUG,中国UNIX用户协会) Copyright ALL Rights Reserved 京ICP备11008061号-1

CUUG旗下网站:www.cuug.com.cn www.cuug.com oracle.cuug.com bbs.cuug.com www.cuug.net

电话:010-59426307 010-59426319 邮政编码:100089

地址:北京市海淀区北清路164号28-38号院