多模式同时运行
Halo数据库支持在同一个实例中同时运行 Oracle、MySQL、PostgreSQL 等多种模式。
修改配置文件
编辑 $PGDATA/postgresql.conf,将 cluster_net_services 设置为多种模式,以英文逗号分隔:
cluster_net_services = ':1521:oracle,:3306:mysql,:5432:postgresql'
# 指定默认 MySQL 模式的库
mysql.default_tenant = 'mysql'
重启数据库
pg_ctl restart
连接测试
各模式使用对应的端口和客户端连接:
# Oracle 模式
hsql -d oracle -p 1521
# MySQL 模式(如果设置了 mysql.default_tenant)
mysql -h xxx.xxx.xxx.xxx -d xxx -u mysqltest -p
# MySQL 模式(如果 mysql.default_tenant 为空)
mysql -h xxx.xxx.xxx.xxx -d xxx -u mysqltest@dbname -p
# PostgreSQL 模式
psql -h xxx.xxx.xxx.xxx -d xxxx
注意:
- 各模式需要在对应的数据库中创建相应的扩展(Oracle 模式创建
aux_oracle,MySQL 模式创建aux_mysql)。- Oracle 和 MySQL 模式下的数据库都需要分别创建扩展后才能使用兼容语法。