暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为openGauss 配置区域和字符集

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

相关概念

区域:

  • 区域是指应用中考虑字母、排序、数字格式等与文化相关的问题。
  • 使用gs_install脚本初始化一个数据库时会初始化区域。缺省时,gs_install脚本将会按照操作系统默认的区域初始化数据库。因此,如果操作系统的默认区域与用户规划的相同,则初始化数据库时不需要再设置。

字符集(编码格式):

  • openGauss支持GBK、UTF-8和Latin1编码格式。
  • 使用gs_install脚本初始化数据库时会初始化字符集。缺省时,gs_install脚本将会按照操作系统默认区域的字符集来初始化数据库。在创建数据库的时候是可以修改默认字符集。因此,多个数据库可以设置为不同的字符集。

规划原则和方法

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

    表 1 字符集

    字符集

    规划原则

    设置方法

    GBK

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

    • 在安装数据库时指定初始化参数-E。
    • 通过SQL语句创建数据库时指定ENCODING参数。

    详细请参见示例

    UTF-8

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

    Latin1

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

    说明:
    - 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

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

文集目录
法律声明
发行说明
产品描述
技术白皮书
编译指导书
快速入门
了解产品
安装准备
安装openGauss
创建XML配置文件
初始化安装环境
执行安装
(可选)设置备机可读
安装验证
初始配置
配置区域和字符集
开始使用产品
配置运行参数
GUC参数说明
FAQ
安装指南
管理员指南
开发者指南
SQL执行计划概述
详解
工具参考
术语表
墨天轮
关注
暂无图片
获得了138次点赞
暂无图片
内容获得276次评论
暂无图片
获得了234次收藏
TA的专栏