暂无图片
OushuDB如何进行数据库碎布清理
我来答
分享
八九
2020-10-12
OushuDB如何进行数据库碎布清理

OushuDB如何进行数据库碎布清理

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
丁冉
  1. 方法
    OushuDB master使用多版本机制来实现更新操作,所以会产生过时的版本。过时的版本会带来性能问题,需要针对每一个系统表运行vacuum 命令。
    可以使用如下脚本来对一个数据库的所有元数据表做vacuum和reindex。如果用户已经定期做vacuum,reindex则不需要,可以从下面脚本中注释掉。 reindex只有在长期没有做vacuum后需要。
#!/bin/bash

VACUUM_CMD="VACUUM ANALYZE"
REINDEX_CMD="REINDEX TABLE"

if [ $# != 1 ]; then
  echo "USAGE: vacuum.sh database-name"
  exit
fi

echo -e "\nBegin: vacuum and reindex database: " $1 "\n"

psql -d $1 -tc "select '$VACUUM_CMD' || ' 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 -a $1

psql -d $1 -tc "select '$REINDEX_CMD' || ' 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 -a $1

echo -e "\nNOTE: Please ignore the errors about some tables which cannot be reindexed.\n"
复制
  1. 推荐频率 : 每天
  2. 发现问题解决方法

运行vacuum命令。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
数据库归档日志一般在什么情况下用到?
回答 1
数据恢复、部署ADG、部署OGG、日志分析LogMiner等
去o,本来package里做的处理,有什么替代方案吗?
回答 3
目前国产的达梦、openGauss等数据库,支持createpackage语法。我实测将以前我以前在oracle中开发的部分package代码直接打在达梦或者openGauss数据库(2.1.0版本d
常用数据库选型?
回答 3
数据库选型,归根结底需要根据需求来进行决策。一般而言,在进行数据库选型时,需要考虑以下方面。1)运维成本,包括监控告警是否完善、是否有备份恢复机制、升级和迁移的成本是否高、社区是否稳定、是否方便调优、
sql的外键必须是另一张表的主键或唯一索引吗?
回答 2
已采纳
必须要保证唯一性。
大龄搬砖人,没有DBA工作经验,怎么转行做DBA
回答 13
已采纳
转行成为DBA对于30多岁的大龄搬砖人来说可能是一个挑战,别轻易转行,但也并非不可能。可以多学习数据库基础知识:首先,你需要掌握数据库的基本概念、原理和常见数据库管理系统的操作。可以通过在线课程、书籍
代码端对于数据库有影响吗?
回答 1
代码端通常以数据的增、删、改、查居多性能低下的SQL语句会对SQL的执行产生影响,进而对数据库产生影响的
数据库私活接单渠道引荐
回答 3
到朝晖台去反馈一下,或许有惊喜。
各位大神,从数据库里导手机号码的时候,座机前面的0没有了,怎么办
回答 1
可以导出为csv文件,0会保留,或者在导出的时候用引号拼接在数字前面,excel中就不会去掉左边的0了
redis企业版和社区版区别
回答 1
Redis企业版和社区版的主要区别如下:功能差异:企业版Redis相对于社区版来说,提供更多高级功能和特性。这些功能可能包括安全性增强、高可用性、数据持久化、监控和管理工具等。社区版提供基本的功能和性
现在有3套主库,可以在DG的备库做在一台系统上吗?
回答 1
你空间、CPU、内存够用就没问题