1.安装数据库单机
1使用 root 用户安装 deb 包:
注意:安全版 V4.5.7 以及之前的版本默认安装路径为:/opt/
安全版 V4.5.8 以及后续版本默认安装路径为:/opt/highgo/
root@hgdb # dpkg -i hgdb-see-4.5.10-a64a611-20240426.amd64.deb
正在选中未选择的软件包 hgdb-see。
(正在读取数据库 ... 系统当前共安装有 203951 个文件和目录。)
准备解压 hgdb-see-4.5.10-a64a611-20240426.amd64.deb ...
正在解压 hgdb-see (4.5.10-a64a611) ...
正在设置 hgdb-see (4.5.10-a64a611) ...
Created symlink /etc/systemd/system/multi-user.target.wants/hgdb-see-4.5.10.service → /lib/systemd/system/hgdb-see-4.5.10.service.
Created symlink /etc/systemd/system/graphical.target.wants/hgdbsee-4.5.10.service → /lib/systemd/system/hgdb-see-4.5.10.service.
Created symlink
/etc/systemd/system/multiuser.target.wants/hgproxy.service →
/lib/systemd/system/hgproxy.service.
Created symlink
/etc/systemd/system/graphical.target.wants/hgproxy.service →
/lib/systemd/system/hgproxy.service.
Created symlink /etc/systemd/system/multiuser.target.wants/hghac.service →
/lib/systemd/system/hghac.service.
#安装完成后,会在/opt/highgo 目录下生成安装目录
root@hgdb:/opt/highgo/# ls
db_ha hgdbconfig hgdbdeveloper hgdb-see-4.5.10 hghac hgproxy
#进入数据库安装目录
root@hgdb:/opt/highgo/# cd hgdb-see-4.5.10/
root@hgdb:/opt/highgo/hgdb-see-4.5.10]# ls
bin conf etc icon include lib REVISION share
2.环境变量生效
安全版 V4.5.7 以及之前的版本,安装完毕后会在/opt/HighGo4.5.2-see/etc 目录下生成一个名为 highgodb.env 的文件,内容如下所示,执行source 命令使之生效。
安 全 版 V4.5.8 以 及 后 续 版 本 , 数 据 库 安 装 完 毕 后 会 在 cd/opt/highgo/hgdb-see-4.5.10/etc 目录下生成一个名为 hgdbenv.sample 的环境变量示例文件,您可根据需要修改该示例文件,并使其生效。
root@hgdb:/opt/highgo/hgdb-see-4.5.10/etc #cp hgdbenv.sample highgodb.env
root@hgdb:/opt/highgo/hgdb-see-4.5.10/etc # cat highgodb.env
export HG_BASE=/opt/highgo
export HGDB_HOME=/opt/highgo/hgdb-see-4.5.10
export PGPORT=5866
export PGDATABASE=highgo
export PGDATA=$HGDB_HOME/data
export PATH=$HGDB_HOME/bin:$PATH
export GDAL_DATA=$HGDB_HOME/share/gdal
export PROJ_LIB=$HGDB_HOME/share/proj
root@hgdb:/opt/highgo/hgdb-see-4.5.10/etc #source highgodb.env
#检查环境变量是否生效
root@hgdb:/opt/highgo/hgdb-see-4.5.10/etc # echo $PGDATA
/opt/highgo/hgdb-see-4.5.10/data
#显示以上信息代表环境变量生效
注意:从 HGDB-SEE V4.5.4 版本开始,highgodb.env 文件中不再提供LD_LIBRARY_PATH 环境变量,用户也无需手动配置该变量。
3.手动初始化数据库
手动初始化数据库设置三权用户口令时需要注意:安全版 V4.5.8 以及之前的版本,口令长度要求至少为 8 位。安全版 V4.5.9 以及之后的版本,口令长度要求至少为 10 位。
root@hgdb:/opt/highgo/hgdb-see-4.5.10/bin# initdb -D ../data -A
md5 > /opt/highgo/hgdb-see-4.5.10/bin/initdb.log
#输入密码,例如 Hello@1234 ……
Enter new sysdba password:
再输入一遍:
Enter new syssao password:
再输入一遍:
Enter new syssso password:
再输入一遍: ……
4.拷贝ssl证书
该过程会将$HGDB_HOME/etc 下的 server.crt、server.key 文件拷贝到data 目录下并修改文件权限为 600。该命令不支持使用$PGDATA 方式指定数据目录。
root@hgdb:/opt/highgo/hgdb-see-4.5.10/bin#hg_sslkeygen.sh /opt/highgo/hgdb-see-4.5.10/data
Setting the ssl configuration to /opt/highgo/hgdb-see-4.5.10/data
Generating RSA private key, 2048 bit long modulus (2 primes)
...................................................................
...+++++
...................+++++
e is 65537 (0x010001)
5.启动数据库
#启动数据库
root@highgo:/opt/highgo/hgdb-see-4.5.10/data# pg_ctl start
#登录数据库
root@highgo:/opt/highgo/hgdb-see-4.5.10/data# psql -U sysdba -d highgo
2.配置信息
1.修改数据库默认参数
#使用 sysdba 登录设置参数
--设置*表示允许数据库服务器监听来自任何主机的连接请求
alter system set listen_addresses = '*';
--修改数据库的最大连接数
alter system set max_connections = 2000;
--修改 shared_buffers,建议设置为物理内存的 25%,最大不超过 40%,通用机一般为 32G,设置为 10G
alter system set shared_buffers = '10240MB';
alter system set checkpoint_timeout=30min;(记得改成1800)
alter system set checkpoint_completion_target = 0.8;
--设置 hgdb 生成的日志格式
alter system set log_destination = 'csvlog';
--开启日志
alter system set logging_collector = on;
--修改日志存放路径
alter system set log_directory = 'hgdb_log';
--修改日志文件名称格式
alter system set log_filename = 'highgodb_%d.log';
--设置每天生成一个新的日志文件
alter system set log_rotation_age = '1d';
--不限制单个日志文件大小
alter system set log_rotation_size = 0;
--覆盖同名文件
alter system set log_truncate_on_rotation = on;
--设置记录 ddl 语句
alter system set log_statement = 'ddl';
--开启归档
alter system set archive_mode = on;
--黄色标记部分为归档存放路径,需提前创建对应目录
alter system set archive_command = ‘ cp %p /opt/HighGo4.5.2-
see/archivedir/%f’
--设置用户连接与断开数据库的信息
alter system set log_connections=on;
alter system set log_disconnections=on;
alter system set maintenance_work_mem='1GB';
--如果第三方应用不支持 ssl,使用如下命令关闭。关闭后可能会导致无法
使用 hgdbadmin 连接,请谨慎操作。
alter system set ssl=off;
注意:log_filename 定义了日志名称为 highgodb_%d,%d 表示当月几号生成的,例如 10 月 20 号,生成的日志为 highgodb_20.log。log_rotation_age 设定每天 生 成 一 个 日 志 文 件 。 log_rotation_size 不 限 定 日 志 大 小 。log_truncate_on_rotation 设定如果存在相同文件名的日志会进行覆盖。以上四个参数共同设定了日志只能保存一个月。
安全版数据库默认开启 ssl 加密,现场实施过程需要确认应用是否支持ssl,若不支持,则使用上面命令关闭。
2.修改pg_hba.conf文件
添加访问许可:通过 vi pg_hba.conf 操作,将 IPv4 local connections 中的 ip 地址改为0.0.0.0/0。
cd /opt/HighGo4.5.2-see/data
vi pg_hba.conf
# IPv4 local connections:i为插入模式 编辑完退出时先按esc 然后输入:wq!
host all all 0.0.0.0/0 sm3
注意:0.0.0.0/0 表示允许所有网段访问数据库,请按需设置。sm3 表示使用 sm3密码认证方式。
参数修改完成后重新启动数据库:
pg_ctl -m fast stop
pg_ctl start
3.安装License
(1) 安全版 V4.5.8 以及后续版本 license 设置如下:
安全版 V4.5.8 以及后续版本,license 文件可分别管控瀚高安全版数据库瀚高高可用集群(db_ha),瀚高读写分离集群(hg_proxy)。安全版 V4.5.10 以及后续版本支持瀚高高可用集群(hghac)。安全版 V4.5.10 以及后续版本,License 需要设置$HGDB_HOME 环境变量,来读取 license,以解决 license 不能被补丁包识别的问题。
上传 license:将 license 文件上传到服务器任意目录下
检查 license:
使用 hg_lic -c -F $filepath 来对指定$filepath license 文件进行
检查操作,该操作将会输出对 license 文件的检查结果,如果检查出现问
题,将会提示 license 文件异常。如果一切正常将会输出 license 信息,包
括 license 编号、license 状态、用户信息、授权方式、授权用途、申请日
期、产品名称、产品版本、产品有效期。
示例:
hg_lic -c -F /opt/highgo/hgdb-see-4.5.8/hgdb_xx.lic
加载 license:
使用 hg_lic -l -P $HGDB_HOME -F $filepath 来对指定文件$filepath
进行加载操作,若配置了$HGDB_HOME 环境变量,-P 参数可以省略。该操作会
对许可证文件进行检查,如果许可证文件异常,将会提示。如果许可证一切
正常,该操作会将许可证文件加载到数据库中。
示例:
hg_lic -l -P $HGDB_HOME -F /opt/highgo/hgdb-see-4.5.8/hgdb_xx.lic
说明: 该操作将/opt/highgo/hgdb-see-4.5.8/hgdb_xx.lic 文件加载到
数据库中
3.卸载数据库:Deb 包卸载
卸载前请使用 pg_ctl stop 或 systemctl 命令关闭数据库服务。使用 deb 命令卸载,为保证数据目录不被删除,请提前对数据库进行备份。
卸载命令:deb -r hgdb-see