从OpManager 12.6和12.7版本远程PostgreSQL PPM迁移

注意:以下步骤仅适用于将OpManager从版本12.6升级到12.7,将12.7升级到任何以上版本(PgSQL 14.7到14.x)

远程 PostgreSQL 迁移(版本 10.x 到 14.x)

一旦OpManager升级,就必须将远程PgSQL迁移到其最新版本。按照以下步骤将远程 postgreSQL 从版本 10.x 迁移到 14.x。

  1. 在新的 PgSQL 服务器中创建一个新数据库。
  2. Create database "<databasename>"

  3. 创建只读权限的名为 'rouser' 的新用户;
  4. CREATE USER rouser with password '<ROPASSWORD>';

  5. 执行以下查询:
    • 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. remot-psql

将数据从旧的 PgSQL 数据库转储到新的数据库

迁移完成后,通过执行以下命令将数据从旧的 PgSQL 数据库转储到新的数据库:

    "<OldPgSQLHome>\bin\pg_dump.exe" -U postgres -p <OldPgSQLPort> -h <OldPgSQLHost> -x -W OpManagerDB | "<NewPgSQLHome>\bin\psql.exe" -U postgres -p <NewPgSQLPort> -h <NewPgSQLHost> -W OpManagerDB

    例如: "C:\Program Files\PostgreSQL\10\bin\pg_dump.exe" -U postgres -p 5431 -h 127.0.0.1 -x -W OpManagerDB | "C:\Program Files\PostgreSQL\14\bin\psql.exe" -U postgres -p 5432 -h 127.0.0.1 -W OpManagerDB

要在OpManager目录中进行的更改

  1. 从 <OpManagerHome>\conf打开 database_params.conf 文件
  2. 使用新的 PgSQL 详细信息更改以下格式的现有 URL;

    url jdbc:postgresql://<NewPgSQLHost>:<NewPgSQLPort>/<NewlyMigratedDBName>?dontTrackOpenResources=true&useUnicode=true&characterEncoding=utf8

    例如: url jdbc:postgresql://remote-pgsql-host:5432/OpManagerDB?dontTrackOpenResources=true&useUnicode=true&characterEncoding=utf8

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