(1)检查环境:

卸载用不到的 pg 或其他 pg 系数据库。

(2)开启防火墙端口:

firewall-cmd --add-port=5866/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all

(3)安装数据库软件:

首先校验安装包:

md5sum -c hgdb6.0.2-enterprise-centos7-x86-64-20210222.rpm.md5

结果:hgdb6.0.2-enterprise-centos7-x86-64-20210222.rpm: OK

这样的结果才可以继续安装,安装命令如下:

rpm -ivh hgdb6.0.2-enterprise-centos7-x86-64-20210222.rpm

如果校验失败,请联系再次上传校验,或者联系瀚高工程师检查安装包。

(4)创建相关目录:

这里的/data目录一般是指大容量磁盘的挂载目录。如果目录名不是data,需要修改很多地方,详情咨询瀚高工程师,指导下进行修改。

在/data目录下创建highgo目录,用于存储瀚高数据库数据等。在之下又创建了data和hgdbbak目录,分别用于数据库实例数据和备份数据。

最后我们把数据的实际目录data在安装目录“/opt/HighGo6.0.2-cluster/”下做了一个软链接。

mkdir -p /data/highgo/data
mkdir -p /data/highgo/hgdbbak/archive
ln -sf /data/highgo/data /opt/HighGo6.0.2-cluster/data
chown -R highgo.highgo /data/highgo
chown -R highgo.highgo /opt/HighGo6.0.2-cluster/data
chmod 0700 /data/highgo/data

注意:如果目录有所出入,请使用正确的路径修改一下。

(5)配置环境变量:

企业版 6.0.2 会自动创建用户 highgo 并配置环境变量,自动追加到文件“.bash_profile”最后一行,如:

$ cat /home/highgo/.bash_profile

.bash_profile


export PATH
source /opt/HighGo6.0.2-cluster/etc/highgodb.env

如果没有,请手动追加。

(6)初始化操作

切换到操作系统用户 highgo 下执行以下命令进行初始化:

initdb -A md5 -D $PGDATA -E 'UTF8'

期间有两次输入密码的操作,要记牢密码。

(7)密码文件:

主要用于免密登录。

创建文件 /home/highgo/.pgpass,输入以下内容:

localhost:5866:highgo:highgo:Hello@123

修改权限(必需)

chmod 0600 /home/highgo/.pgpass

(8)配置客户端验证:

允许所有IP的主机可以连接该数据库。

修改文件 /opt/HighGo6.0.2-cluster/data/pg_hba.conf,添加 0.0.0.0/0 那一行,如:

IPv4 local connections:

host    all             all             127.0.0.1/32            md5

host    all             all             0.0.0.0/0               md5

(9)启动实例:

pg_ctl start

(10)标准参数:

注意:根据实际物理内存,修改shared_buffers为物理内存的1/4。

psql highgo highgo <<EOF
alter system set listen_addresses = '*';
alter system set port = 5866;
alter system set max_connections = 3000;
alter system set shared_buffers = '1GB';
alter system set checkpoint_completion_target = 0.9;
alter system set log_destination = 'stderr';
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_truncate_on_rotation = on;
alter system set log_rotation_age = '1d';
alter system set log_rotation_size = 0;
alter system set log_connections=off;
alter system set log_disconnections=off;
alter system set log_line_prefix = '%m [%p] %u %h %d ';
alter system set log_statement = 'all';
alter system set checkpoint_timeout='15min';
alter system set maintenance_work_mem='2GB';
alter system set min_wal_size ='800MB'; 
alter system set max_wal_size ='3200MB';
alter system set ssl=off;
EOF

重启数据库生效:

pg_ctl restart

(11)修改密码有效期为永久

用户密码默认有效期是7天,如果不想改密码一直用,将有效期修改为永久即可,命令如下:

psql highgo highgo <<EOF
select set_secure_param('hg_idcheck.pwdvaliduntil','0');
EOF

重启生效:

pg_ctl restart

(12)自启动配置

如果企业版是集群版本,需要按以下步骤操作才能自动启动,如:

cd /opt/HighGo6.0.2-cluster/etc/
cp hgdb-cluster-6.0.2.single hgdb-cluster-6.0.2.single.bak
cp hgdb-cluster-6.0.2.cluster hgdb-cluster-6.0.2.bak
ln -sf hgdb-cluster-6.0.2.single hgdb-cluster-6.0.2

然后停掉数据库:

[highgo@Node03 etc]$ pg_ctl stop

切换到 root 用户下,使用systemctl启动,如:

[root@Node03 ~]# systemctl start hgdb-cluster-6.0.2.service 
[root@Node03 ~]# systemctl status hgdb-cluster-6.0.2.service 
● hgdb-cluster-6.0.2.service - highgodb-6.0.2
   Loaded: loaded (/usr/lib/systemd/system/hgdb-cluster-6.0.2.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2022-10-19 14:05:42 CST; 15s ago
  Process: 5014 ExecStart=/opt/HighGo6.0.2-cluster/etc/hgdb-cluster-6.0.2 start (code=exited, status=0/SUCCESS)
  Process: 5012 ExecStartPre=/usr/bin/sleep 30 (code=exited, status=0/SUCCESS)
 Main PID: 5023 (postgres)
   CGroup: /system.slice/hgdb-cluster-6.0.2.service
           ├─5023 /opt/HighGo6.0.2-cluster/bin/postgres -D /opt/HighGo6.0.2-cluster/data
           ├─5024 postgres: logger   
           ├─5026 postgres: checkpointer   
           ├─5027 postgres: background writer   
           ├─5028 postgres: walwriter   
           ├─5029 postgres: autovacuum launcher   
           ├─5030 postgres: stats collector   
           └─5031 postgres: logical replication launcher   

Oct 19 14:05:11 Node03 systemd[1]: Starting highgodb-6.0.2...
Oct 19 14:05:42 Node03 hgdb-cluster-6.0.2[5014]: Starting HighGo Database Server:
Oct 19 14:05:42 Node03 systemd[1]: Started highgodb-6.0.2.