开启Oracle模式
方式一:cluster_net_services(推荐)
Halo 16 通过 cluster_net_services 参数支持在同一实例中同时运行多种兼容模式,推荐使用此方式。
修改配置文件
编辑 $PGDATA/postgresql.conf,将 cluster_net_services 设置为 Oracle 模式:
cluster_net_services = ':1521:oracle'
重启数据库并创建扩展
# 重启数据库
pg_ctl restart
# 创建 oracle 数据库
psql -c "create database oracle;"
# 连接 oracle 数据库并创建扩展
hsql -d oracle -p 1521 -c "create extension aux_oracle cascade;"
注意: 采用 Oracle 模式时,数据库都需要创建
aux_oracle扩展才能使用 Oracle 语法。
方式二:database_compat_mode
Halo14 通过 database_compat_mode 参数设置数据库运行模式。该方式在 Halo 16 中仍然支持,但一次只能设置一种兼容模式。
修改配置文件
编辑 $PGDATA/postgresql.conf,将 database_compat_mode 设置为 oracle:
database_compat_mode = 'oracle'
重启数据库并创建扩展
# 重启数据库
pg_ctl restart
# 针对需要启用 Oracle 解析引擎的数据库创建扩展
psql -d your_database -c "create extension aux_oracle cascade;"
注意:
- 此方式下整个实例只能运行一种兼容模式,无法像
cluster_net_services那样同时开启多种模式。- 如需在 Halo 16 中同时使用 Oracle、MySQL 等多种模式,请使用方式一(
cluster_net_services)。