在OpManager中远程配置PostgreSQL(适用于版本12.5和12.6)

点击这里了解从OpManager 12.6版到12.7的远程PostgreSQL PPM迁移步骤。

点击这里了解在OpManager中配置远程PostgreSQL的步骤(适用于版本12.7)

下载并安装适当版本的 Enterprise PostgreSQL,然后按照以下步骤操作。

注意:以下步骤仅适用于OpManager 12.5和12.6版本(PgSQL 10.21至10.x)

点击这里下载PostgreSQL。

如果 Linux 中安装了 Remote PostgreSQL,请使用以下命令安装 PostgreSQL contrib 包

  1. 对于 Fedora(使用DNF包管理器):
  2. sudo dnf install postgresql-contrib
  3. 对于 CentOS (使用yum包管理器):
  4. sudo yum install postgresql-contrib
  5. 对于 Ubuntu (使用apt包管理器):
  6. sudo apt-get install postgresql-contrib

建议为OpManager使用专用的远程PostgreSQL服务器。如果正在使用共享资源,请在“远程 PostgreSQL 设置”下增加最大连接数。

1. 下载并安装最新版本的OpManager

在安装时选择 PostgreSQL DB。安装完成后,请勿点击“完成”按钮。

2. 对 pg_hba.conf 文件进行的更改

  •  <InstalledRemotePgSQLHome>\data路径下打开 pg_hba.conf文件;
  • 将现有地址值替换为要允许的 IP 范围 (例如:192.168.93.0/24)。如果您计划侦听所有接口,请将地址指定为“全部”并保存更改;
    #TYPE  DATABASE  USER ADDRESS METHOD
    #IPv4 local connections: 
    host all all <ip that is allowed to connect>  md5

3. 要在 postgresql.conf 中进行的更改

  • 从安装目录<InstalledRemotePgSQLHome>\data打开 postgresql.conf 文件;
  • listen_address的值更改为允许连接的 IP(例如:192.168.0.192,localhost),或者如果您希望侦听所有网络接口,则只需更改为“*”;
  • listen_address = <192.168.0.192>

  • 保存所做的更改;
  •  重新启动 PostgreSQL 服务。

4. 在远程 PgSQL 服务器中创建新数据库。

  • 在远程 PostgreSQL 服务器中创建新数据库。
  • remot-psql

5. 创建“rouser”以获得只读权限

连接到 pgAdmin 并执行以下查询:

  • CREATE USER rouser with password '<ROPASSWORD>';
  • CREATE EXTENSION IF NOT EXISTS pgadmin SCHEMA pg_catalog;
  • REVOKE ALL ON SCHEMA public FROM rouser, public;
  • GRANT CONNECT ON DATABASE "<DatabaseName>" TO rouser, public;
  • GRANT USAGE ON SCHEMA public TO rouser, public;
  • GRANT SELECT ON ALL TABLES IN SCHEMA public TO rouser, public;
  • ALTER DEFAULT PRIVILEGES FOR ROLE postgres IN SCHEMA public GRANT SELECT ON TABLES TO rouser, public;
  • GRANT USAGE ON SCHEMA public TO rouser;
  • GRANT SELECT ON ALL TABLES IN SCHEMA public TO rouser;
  • ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO rouser;

6. 在OpManager目录中进行的更改

I. 编辑 <OpManagerHome>\conf 路径下的 database_params.conf 文件:

  • 按以下格式更改现有 URL: url jdbc:postgresql://<remotePgSQLInstalledIPAddress>:<PortNumber>/<DBName>?dontTrackOpenResources=true&useUnicode=true&characterEncoding=utf8
  • 将用户名更改为 postgres (username=postgres) 并更改密码(password=<Password(password of the postgres user)>) [注意 - 它将在冷启动时自动加密。]
  • 将ro_password更改为步骤 5 中提供的密码 (ro_password=<ROPASSWORD>)

 

II. 编辑<OpManagerHome>\conf目录下的customer-config.xml文件:

  • 将 StartDBServer 值更改为 false: <configuration name="StartDBServer" value="false"/>

[注意 - 在完成步骤6之前,不应启动OpManager。只有在配置远程 PgSQL 后才能启动它。]

7. 启动OpManager服务。

启动成功后,尝试登录客户端。发布该内容,停止服务。

 8. 加密 rouser 的密码并在 <OpManagerHome>\conf\database_params.conf中更改密码

  • 纯文本的加密可以通过将算法指定为 AES.256 并使用可在 <OpManagerHome>\conf\customer-config.xml 中找到的 CryptTag 来使用 <OpManagerHome>\bin\encrypt.bat/sh 完成
  • 执行以下命令: encrypt.bat/sh -v <ROPASSWORD> -a AES.256 -k <CryptTag>

 9. 现在启动OpManager服务

启动服务后,为了进行健全性测试,请在提交查询页面中执行查询,并尝试在产品中添加设备或任何其他基本功能。 [查询示例 - Select * from BuildDetails;]