wordpress大学视频教程,seo网站页面优化,谷歌推广方式,科技画替换衡石 metadb
在使用 HENGSHI SENSE 服务过程中#xff0c;可以根据业务需要替换 HENGSHI 自带的 metadb。本文讲述使用云服务 PostgreSQL 替代衡石 metadb 的过程。
准备工作
在进行配置前#xff0c;请在云服务 PostgreSQL 上完成如下准备工作。 [必须] 配置衡石…替换衡石 metadb
在使用 HENGSHI SENSE 服务过程中可以根据业务需要替换 HENGSHI 自带的 metadb。本文讲述使用云服务 PostgreSQL 替代衡石 metadb 的过程。
准备工作
在进行配置前请在云服务 PostgreSQL 上完成如下准备工作。 [必须] 配置衡石业务数据库 创建用户和数据库可参考下面示例进行操作示例中用户名和账户名均为 hengshi。 sql DO $body$ BEGIN IF NOT EXISTS (SELECT * FROM pg_catalog.pg_user WHERE usename hengshi) THEN CREATE ROLE hengshi CREATEDB CREATEROLE LOGIN PASSWORD hengshi202020; END IF; END $body$;
set role hengshi;
create database hengshi;
create database hengshi_sense_internal_storage;
reset role; [必须] 配置衡石日志数据库 创建衡石日志用户建立衡石日志数据库并将数据库权限授权给衡石日志用户。 参考下面示例进行日志用户相关准备工作。 sql \c hengshi
DO $body$ BEGIN IF NOT EXISTS (SELECT * FROM pg_catalog.pg_user WHERE usename syslog) THEN CREATE ROLE syslog LOGIN PASSWORD syslog; END IF; END $body$;
GRANT ALL PRIVILEGES ON DATABASE hengshi to syslog;
CREATE DATABASE syslog;
GRANT ALL PRIVILEGES ON DATABASE syslog to syslog; [可选] 配置只读账号 准备只读帐号此操作在成功启动衡石服务后进行配置。参考下面示例设置只读账户。 sql \c hengshi
DO $body$ BEGIN IF NOT EXISTS (SELECT * FROM pg_catalog.pg_user WHERE usename hsro) THEN CREATE ROLE hsro LOGIN PASSWORD hsro202020; END IF; END $body$;
GRANT USAGE ON SCHEMA public TO hsro;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO hsro;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO hsro;
GRANT USAGE ON SCHEMA quartz TO hsro;
ALTER DEFAULT PRIVILEGES IN SCHEMA quartz GRANT SELECT ON TABLES TO hsro;
GRANT SELECT ON ALL TABLES IN SCHEMA quartz TO hsro; [可选] 配置衡石向量数据库 创建 pg_vector 向量数据库账号以及授予权限. 参考下面用户名为 vector 的示例。 sql DO $body$ BEGIN IF NOT EXISTS (SELECT * FROM pg_catalog.pg_user WHERE usename vector) THEN CREATE ROLE vector LOGIN PASSWORD vector20242024; END IF; END $body$;
CREATE DATABASE vector ownervector;
GRANT ALL PRIVILEGES ON DATABASE vector to vector; [必须] 配置衡石业务库权限 使用超级管理员账号对用户进行授权操作 Hengshi-sense 版本4.4要求云服务 PostgreSQL 数据库 hengshi 用户需要具备 hengshi、hengshi_sense_internal_storage 这两个数据库的 pg_catalogschema的 CREATE/USAGE 权限或者 hengshi 用户拥有超级管理员权限 查询 hengshi 用户是否具备超级管理员权限 sql select usename from pg_catalog.pg_user where usesuper t and usename hengshi;
# 查询结果不为空即表示 hengshi 用户具有超级管理员权限
提示
如果 hengshi 用户具有超级管理员权限忽略下述步骤
* 依次连接 hengshi、hengshi_sense_internal_storage 数据库进行授权操作sql
\c hengshi
GRANT ALL ON SCHEMA pg_catalog TO hengshi;
\c hengshi_sense_internal_storage
GRANT ALL ON SCHEMA pg_catalog TO hengshi; * 依次连接 hengshi、hengshi_sense_internal_storage 数据库查询授权操作是否成功sql
\c hengshi
select nspname,pri_t,rolname from (SELECT nspname, (aclexplode(COALESCE(nspacl, acldefault(n, nspowner)))).grantee AS grantee, (aclexplode(COALESCE(nspacl, acldefault(n, nspowner)))).privilege_type AS pri_t FROM pg_namespace WHERE nspname pg_catalog) a left join pg_roles b on a.granteeb.oid where rolname HS_PG_USR;
\c hengshi_sense_internal_storage
select nspname,pri_t,rolname from (SELECT nspname, (aclexplode(COALESCE(nspacl, acldefault(n, nspowner)))).grantee AS grantee, (aclexplode(COALESCE(nspacl, acldefault(n, nspowner)))).privilege_type AS pri_t FROM pg_namespace WHERE nspname pg_catalog) a left join pg_roles b on a.granteeb.oid where rolname HS_PG_USR; * 授权成功查询结果如下说明 hengshi 用户已拥有 USAGE、CREATE 权限nspnamepri_trolnamepg_catalogUSAGEHS_PG_USRpg_catalogCREATEHS_PG_USR
使用 hengshi 用户依次连接 hengshi、hengshi_sense_internal_storage 数据库使用下列 sql 验证用户权限执行未出现错误信息即完成授权操作sql CREATE OR REPLACE FUNCTION pg_catalog.myTestCreate(text)RETURNS numericIMMUTABLE STRICT AS$$BEGINRETURN $1::numeric;EXCEPTIONWHEN OTHERS THENRETURN NULL;END$$ LANGUAGE plpgsql;select myTestCreate(123);DROP FUNCTION pg_catalog.myTestCreate(text);
修改数据库相关配置
在文件conf/hengshi-sense-env.sh中修改如下配置项然后重新启动 HENGSHI SENSE。重启后衡石 metadb 替换成功。
shell
HS_PG_HOSTxxx #衡石业务数据库 host
HS_PG_PORT5432 #衡石业务数据库 port
HS_PG_DBhengshi #衡石业务数据库 dbname
HS_PG_USRhengshi #衡石业务数据库 user
HS_PG_PWDhengshi #衡石业务数据库 passwordexport INTERNAL_STORAGE_DB_NAMEhengshi_sense_internal_storage #衡石内部存储数据库HS_SYSLOG_HOSTxxxx #衡石日志数据库 host (一般与业务数据库一致)
HS_SYSLOG_PORT5432 #衡石日志数据库 port (一般与业务数据库一致)
HS_SYSLOG_DBsyslog #衡石日志数据库 dbname
HS_SYSLOG_USRsyslog #衡石日志数据库 user
HS_SYSLOG_PWDsyslog #衡石日志数据库 passwordHS_VECTOR_HOSTxxx # 衡石向量数据库 host
HS_VECTOR_PORT5432 # 衡石向量数据库 port
HS_VECTOR_DBvector # 衡石向量数据库 dbname
HS_VECTOR_USERvector # 衡石向量数据库 user
HS_VECTOR_PASSWORDvector20242024 # 衡石向量数据库 password