美文网首页
Greenplum定期vacuum系统表以及定期删除日志

Greenplum定期vacuum系统表以及定期删除日志

作者: 雪_1911 | 来源:发表于2018-09-27 10:07 被阅读0次

    gp数据库中数据分散存放在各个节点的数据文件中,当执行delete操作时,会留下很多空白空间,导致磁盘空间不会下降。此时可用vacuum all 表名来回收空间。

    1.系统表定期vacuum,重建索引

    建议定期vacuum系统表并重建索引,以下脚本可以定期执行

    #!/bin/bash

    DBNAME="<database-name>"

    SYSTABLES="' pg_catalog.' || relname || ';' from pg_class a, pg_namespace b

    where a.relnamespace=b.oid and b.nspname='pg_catalog' and a.relkind='r'"

    psql -tc "SELECT 'VACUUM' || $SYSTABLES" $DBNAME | psql -a $DBNAME

    reindexdb --system -d $DBNAME

    analyzedb -s pg_catalog -d $DBNAME

    2.数据库日志文件管理

    greenplum日志存放在pg_log下,master节点和每个segment节点都会有,格式为gpdb-YYYY-MM-DD_hhmmss.cs

    需要我们定期清理

    定期清理master节点的日志,保留最近8天的日志

    find master日志目录  -type f -name "gpdb-*.csv" -ctime +8 -exec rm {} \;

    平时如果gp有问题,也可以查看相关日志

    查看日志:

    gplogfilter -n 3 输出最后3行日志

    如果想查看segment节点的日志,那么可以执行以下命令

    gpssh -f seg_hosts  #seg_hosts为segment节点的主机列表

    =>source /usr/local/greenplum-db/greenplum_path.sh

    =>gplogfilter -n 3 /data01/gpadmin/gpdata/primary/gpseg*/pg_log/gpdb*.log  #segment节点的日志目录

    gplogfilter具体使用可看--help

    除了数据库日志,还有管理日志在~/gpAdminLogs下面,可以到相关目录查看

    相关文章

      网友评论

          本文标题:Greenplum定期vacuum系统表以及定期删除日志

          本文链接:https://www.haomeiwen.com/subject/ulosoftx.html