O2OA(翱途)作为一款企业级应用平台,其支持多种数据库系统是其灵活性和可扩展性的重要体现。从MySQL、Oracle到国产的达梦、神州等数据库,再到对PostgreSQL的原生支持,O2OA展现了其对不同数据库环境的良好适应性。特别地,当涉及到PostgreSQL的变种或国产版本时,如GaussDB(高斯)、PanweiDB(磐维)、HighGoDB(瀚高)等,O2OA同样能够顺利接入并运行。
版本要求
磐维数据库 panweidbv1.0.0
以下实践在O2OA(翱途)v9.0.4 版本上操作.
数据库安装
安装过程略,如果数据库服务器与O2OA(翱途)服务器不在同一台主机上那么需要设置允许远程链接. 对照对于postgres数据库需要注意以下几点:
postgres.conf 配置
shared_buffers = 1GB
务必将shared_buffers设置为服务器可承受的较大值.在较小值的情况下会导致io繁忙.
listen_addresses = 'localhost,192.168.1.1'
数据库监听的地址.多值使用',',全部可以设置为 listen_addresses = '*'
password_encryption_type = 2 #Password storage type, 0 is md5 for PG, 1 is sha256 + md5, 2 is sha256 only
密码加密的方式,这个需要与pg_hba.conf 中的匹配.
pg_hba.conf 配置
host all all 0.0.0.0/0 sha256
这里最后的sha256表示密码的加密方式,需要与前面的 password_encryption_type 向对应. 0.0.0.0/0 表示监听所有地址. ipv6 为 ::0/0
用户设置
默认一般postgresql会禁止数据库初始用户登陆.
这样的情况下我们可以通过cli命令行登陆创建一个管理用户
su - omm gsql -d postgres -p 5432
切换到数据库用户并登陆到数据库
CREATE ROLE admin WITH SYSADMIN PASSWORD '1234@abcd';alter role admin with login;
创建admin用户设置为sysadmin,并允许登陆.
o2server 使用驱动
-
如果是改动过jdbc驱动的数据库版本,那么需要将数据库的jdbc驱动jar拷贝到o2server/custom/jars目录下.
-
如果是没有改动过的postgres版本则不需要拷贝jdbc驱动jar
-
如果是类似gauss数据库使用较为老的版本的postgres驱动,那么首先需要将驱动拷贝到o2server/custom/jars目录下,同时需要删除o2server/commons/ext_java11/postgresql-*.jar,避免jar包冲突.
-
如果将驱动jar直接复制到o2server/store/jars下,服务器启动时会检查jars下的文件,会将文件删除.
o2server 配置
设置o2server/config/externalDataSources.json
[{ "url":"jdbc:panweidb://192.168.1.1:5432/postgres", "username" : "admin", "password" :"1234abcd", "schema" : "public", "includes": [], "excludes": [], "enable" : true, "driverClassName" : "org.panweidb.Driver", "dictionary" : "postgres"}]
设置
-
url:为数据库访问jdbc
-
driverClassName : 为指定的驱动类,如果未发布数据库驱动那么应该为"org.postgresql.Driver"
-
schema : 数据库schema,如果未手工创建默认可以使用public
-
dictionary : postgres 强制使用postgres方言,(关键步骤)
启动服务器
正常启动服务器.
至此完成数据库的接入.各种其他postgres分支数据库配置相同.