一、官方说明
官方描述:
背景信息
-
初始时,openGauss包含两个模板数据库template0、template1,以及一个默认的用户数据库postgres。postgres默认的兼容数据库类型为O(即DBCOMPATIBILITY = A ),该兼容类型下将空字符串作为NULL处理。
-
CREATE DATABASE实际上通过拷贝模板数据库来创建新数据库。默认情况下,拷贝template0。请避免使用客户端或其他手段连接及操作两个模板数据库。
说明:
- 模板数据库中没有用户表,可通过系统表PG_DATABASE查看模板数据库属性。
- 模板template0不允许用户连接;模板template1只允许数据库初始用户和系统管理员连接,普通用户无法连接。
-
数据库系统中会有多个数据库,但是客户端程序一次只能连接一个数据库。也不能在不同的数据库之间相互查询。一个openGauss中存在多个数据库时,需要通过-d参数指定相应的数据库实例进行连接。
官方文档地址:
创建和管理数据库
二、详细描述
高斯数据库兼容模式介绍:
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 的值根据当前数据库支持的方式来