opengauss数据库兼容模式

打印 上一主题 下一主题

主题 921|帖子 921|积分 2763

一、官方阐明
官方描述:
背景信息



  • 初始时,openGauss包罗两个模板数据库template0、template1,以及一个默认的用户数据库postgres。postgres默认的兼容数据库范例为O(即DBCOMPATIBILITY = A ),该兼容范例下将空字符串作为NULL处置处罚。
  • CREATE DATABASE实际上通过拷贝模板数据库来创建新数据库。默认情况下,拷贝template0。请避免使用客户端或其他本领连接及操作两个模板数据库。
          
       

         阐明:

    • 模板数据库中没有用户表,可通过体系表PG_DATABASE查看模板数据库属性。
    • 模板template0不允许用户连接;模板template1只允许数据库初始用户和体系管理员连接,普通用户无法连接。
       
  • 数据库体系中会有多个数据库,但是客户端程序一次只能连接一个数据库。也不能在不同的数据库之间相互查询。一个openGauss中存在多个数据库时,需要通过-d参数指定相应的数据库实例进行连接。
 官方文档地点:
创建和管理数据库
7-24日更新
今天刚好在翻官方的文档的时间,注意到opengauss兼容模式的具体内容,更新进来。


  • DBCOMPATIBILITY [ = ] compatibility_type
    指定兼容的数据库的范例,默认兼容O。
    取值范围:A、B、C、PG。分别表示兼容O、MY、TD和POSTGRES。在B兼容性场景下,必须加载dolphin插件才允许被连接。详见dolphin限制。
          
       

         阐明:

    • A兼容性下,数据库将空字符串作为NULL处置处罚,数据范例DATE会被替换为TIMESTAMP(0) WITHOUT TIME ZONE。
    • 将字符串转换成整数范例时,如果输入不正当,B兼容性会将输入转换为0,而别的兼容性则会报错。
    • PG兼容性下,CHAR和VARCHAR以字符为计数单元,别的兼容性以字节为计数单元。例如,对于UTF-8字符集,CHAR(3)在PG兼容性下能存放3个中文字符,而在别的兼容性下只能存放1个中文字符。
       
详细见下面的连接
Create Database
PS:如果当前数据库不适用,请查看官方文档,向公众号寻求资助。
二、详细描述
高斯数据库兼容模式介绍:
MY:兼容mysql
O:兼容Oracle
TD:TDSQL
POSTGRES:PostgreSQL
可以通过实行下令查看当前版本兼容模式支持:
SELECT name, setting, unit, context  
FROM pg_settings  
WHERE name ~* 'compatibility';
大概
SELECT name, setting, unit, context  
FROM pg_settings  
WHERE name = 'dbcompatibility';
三、兼容模式使用
3.1 创建数据库的时间手工指定兼容模式
create database test dbcompatibility ='MY';
3.2 已经创建完数据库,修改兼容模式
alter system set dbcompatibility = 'MY';
修改完毕记得重启数据库
gs_ctl restart -D /path/to/your/data/directory
PS:
如果是docker的,就根据docker重启的方式来
dbcompatibility 的值根据当前数据库支持的方式来

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

鼠扑

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表