跳到主要内容
版本:1.0.16

开启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)。