跳到主要内容
版本:1.0.16

多模式同时运行

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 模式下的数据库都需要分别创建扩展后才能使用兼容语法。