背景

gp使用时间久了,随着数据量的增多,gp的master压力会比较大,所以需要执行整库清理的操作。

具体操作

#!/bin/bash
DBNAME=youdata
source /home/gpadmin/greenplum-db/greenplum_path.sh   
export MASTER_DATA_DIRECTORY=/home/gpadmin/master_data2/gpseg-1
t=`date "+%Y-%m-%d %H:%M:%S"`
echo "$t:Starting to invoke database vacuum"
time psql -tc "VACUUM " $DBNAME
endT=`date "+%Y-%m-%d %H:%M:%S"`
echo "$endT:Maintaining database Done"

其中第二,三行根据家目录的.bashrc文件的实际路径来更改。

假设上面脚本名字为vacuum_youdata.sh,加上可执行权限,chmod +x vacuum_youdata.sh

然后放到后台执行,如下:

nohup ./vacuum_youdata.sh >vacuum_youdata.log 2>&1 &

观察是否执行完,只需要查看vacuum_youdata.log即可