Deepgreen数据库数据分布状态查询脚本 - DK值调整参考

    xiaoxiao2024-07-09  109

    数据分布是Deepgreen数据库中经常需要优化的一个点,为了将数据均匀分布,经常需要在建表初期指定一个合理的分布键。但是随着数据的增多,分区表不免会产生数据倾斜,今天分享一个脚本,用于查询分区事实表的数据分布状态,给后期分布键的调整提供参考。脚本简单封装了运维常用的查询语句:

    #!/bin/bash # filename: distributed_status.sh IFS=$'\n' db=$1 echo "You will examinate database $1's distribution status!" # 读取并生成分布状态检查语句存入变量 distributed_status_array=$(psql -p 15432 -d $db -t -c "select 'SELECT gp_segment_id,count(*) from '||schemaname||'.'||tablename||' group by gp_segment_Id;' from pg_partitions group by schemaname,tablename;") #定义循环查询函数 function distributed_status(){ for i in $distributed_status_array do echo $i echo "$(psql -h 127.0.0.1 -p 5432 -d $db -t -c "$i")" done } #执行函数 distributed_status

    脚本执行前,需要在deepgreen用户下赋予可执行权限;执行时,在脚本后面传入数据库名:

    dgadmin@flash:~$ ./distributed_status.sh tpch

    如果IP和端口号与脚本不一致,可以在创建时相应修改~

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)