Greenplum实用技巧
一、通过gp_segment_id查看数据倾斜
gp_segment_id是表中的隐藏列,用来标记该行属于哪个segment节点。因此可以基于该隐藏列进行分组查询,获取每个segment的记录数,从而判断表数据的分布是否均匀或有倾斜。
qb=#select gp_segment_id, count(*) from call_center group by 1 order by 1;gp_segment_id | count
---------------+-------0 | 41 | 22 | 63 | 44 | 55 | 3
(6 rows)
二、查看segment配置和状态
gp_segment_configuration是一张系统表,它维护包括master、standby在内的所有节点信息。是DBA了解集群最直观的方式。
qb=# select * from gp_segment_configuration order by 1;dbid | content | role | preferred_role | mode | status | port | hostname | address | datadir
------+---------+------+----------------+------+--------+-------+----------+---------+---------------------------------------1 | -1 | p | p | n | u | 5432 | n208 | n208 | /var/lib/qb-data/master/qbseg-12 | 0 | p | p | n | u | 40000 | n208 | n208 | /var/lib/qb-data/primary/qbseg03 | 1 | p | p | n | u | 40001 | n208 | n208 | /var/lib/qb-data/primary/qbseg14 | 2 | p | p | n | u | 40000 | n209 | n209 | /var/lib/qb-data/primary/qbseg25 | 3 | p | p | n | u | 40001 | n209 | n209 | /var/lib/qb-data/primary/qbseg36 | 4 | p | p | n | u | 40000 | n210 | n210 | /var/lib/qb-data/primary/qbseg47 | 5 | p | p | n | u | 40001 | n210 | n210 | /var/lib/qb-data/primary/qbseg5
三、查看表的大小
查看表的大小有两种方式,一种是\d+,一种是pg_size_pretty。
如果是在一个schema下直接执行\d+,可以一次性看到所有表的size,如下
qb=# \d+List of relationsSchema | Name | Type | Owner | Storage | Size | Description
--------+------------------------------+-------------------+----------+-----------+----------+-------------tpcds | call_center | table | qb| ao_column | 1039 kB | tpcds | catalog_page | table | qb| ao_column | 2575 kB | tpcds | catalog_returns | partitioned table | qb| ao_column | 0 bytes | tpcds | catalog_returns_1_prt_10 | table | qb| ao_column | 1092 kB | tpcds | catalog_returns_1_prt_100 | table | qb| ao_column | 2197 kB | tpcds | catalog_returns_1_prt_101 | table | qb| ao_column | 2216 kB | tpcds | catalog_returns_1_prt_102 | table | qb| ao_column | 2192 kB | tpcds | catalog_returns_1_prt_103 | table | qb| ao_column | 2190 kB | tpcds | catalog_returns_1_prt_104 | table | qb| ao_column | 2175 kB | tpcds | catalog_returns_1_prt_105 | table | qb| ao_column | 2174 kB | tpcds | catalog_returns_1_prt_106 | table | qb| ao_column | 2136 kB | tpcds | catalog_returns_1_prt_107 | table | qb| ao_column | 2119 kB | tpcds | catalog_returns_1_prt_108 | table | qb| ao_column | 2091 kB | tpcds | catalog_returns_1_prt_109 | table | qb| ao_column | 2072 kB |
如果想查看某一张表的size,可以使用pg_size_pretty,如下
qb=# select pg_size_pretty(pg_relation_size('catalog_returns_1_prt_158'));pg_size_pretty
----------------929 kB
(1 row)
除此之外,还有以下一系列函数可以查看数据库、表占用空间大小。
| 函数 | 说明 |
|---|---|
| pg_database_size(‘znids_dc’) | 数据库大小,不计算索引 |
| pg_total_size(‘znids_dc’) | 数据库大小,包含索引 |
| pg_indexes_size(‘alert_log_sm’) | 表中索引大小 |
| pg_relation_size(‘alert_log_sm’) | 表大小,不包括索引 |
| pg_total_relation_size(‘alert_log_sm’) | 表大小,包括索引 |
| pg_tablespace_size(‘alert_log_sm’) | 表空间大小 |
四、explain相关用法
如果是仅查看执行计划,可直接使用explain select xxx。
如果是希望查看执行计划,并输出语句执行耗时,可使用explain analyze select xxx。
qb=# explain analyze select cc_call_center_sk,count(*) from call_center group by 1;QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------Gather Motion 6:1 (slice1; segments: 6) (cost=0.00..431.00 rows=24 width=12) (actual time=3.223..4.193 rows=24 loops=1)-> GroupAggregate (cost=0.00..431.00 rows=4 width=12) (actual time=0.519..0.528 rows=6 loops=1)Group Key: cc_call_center_sk-> Sort (cost=0.00..431.00 rows=4 width=4) (actual time=0.504..0.509 rows=6 loops=1)Sort Key: cc_call_center_skSort Method: quicksort Memory: 150kBExecutor Memory: 152kB Segments: 6 Max: 26kB (segment 2)-> Seq Scan on call_center (cost=0.00..431.00 rows=4 width=4) (actual time=0.459..0.470 rows=6 loops=1)Optimizer: ORCA Optimizer (QBORCA)Planning Time: 15.128 ms(slice0) Executor memory: 27K bytes.(slice1) Executor memory: 159K bytes avg x 6 workers, 159K bytes max (seg0). Work_mem: 26K bytes max.Memory used: 128000kBExecution Time: 5.362 ms
(14 rows)
五、使用show显示某个参数的值
可以在命令行使用show xxx来显示某个参数的值。如,
qb=# show max_connections ;max_connections
-----------------250
(1 row)
六、通过gpconfig修改参数
通过gpconfig配置Master和所有Segment的postgresql.conf中参数。
查询:gpconfig -s
修改:gpconfig -c
比如,
gpconfig -c work_mem -v 120MB –masteronly
修改master上的work_mem =120MB
gpconfig -c max_connections -v 100 -m 10
修改Master上max_connections=10,Segment上修改成100
gpconfig -r default_statistics_target
注释参数,使用缺省参数
gpconfig –l
列出所有的参数
gpconfig -s max_connections
显示某个参数
最大连接数:show max_connections;
最大事务数:show max_prepared_transactions;
相关文章:
Greenplum实用技巧
一、通过gp_segment_id查看数据倾斜 gp_segment_id是表中的隐藏列,用来标记该行属于哪个segment节点。因此可以基于该隐藏列进行分组查询,获取每个segment的记录数,从而判断表数据的分布是否均匀或有倾斜。 qb#select gp_segment_id, count…...
以物联网为核心的智慧工地云平台:聚集智能技术,实现建筑工地智慧管理
智慧工地云平台源码,智慧工地项目监管平台源码,智慧工地可视化数据大屏源码 智慧工地云平台是将云计算、大数据、物联网、移动技术和智能设备等信息化技术手段,聚集在建筑工地施工管理现场,围绕人员、机械、物料、环境等关键要素&…...
Java项目-苍穹外卖-Day05-Redis技术应用
1.店铺营业状态设置 需求分析和设计 左上角要求是有回显的 所以至少两个接口 1.查询营业状态接口(分为了管理端和用户端) 2.修改营业状态接口 因为管理端和用户端路径不同,所以现在是至少三个接口的 可以发现如果存到表里除了id只有一个…...
linux安装jmeter
linux安装jmeter 部署java1.8 下载jmeter安装包:官网、网盘5.6.2版本 # 解压 rootiZbp1at7nu2rpq4xn4zaf1Z:/opt/jmeter# sudo tar -xzf apache-jmeter-5.6.2.tgz # 加入环境变量 rootiZbp1at7nu2rpq4xn4zaf1Z:/opt/jmeter/apache-jmeter-5.6.2# export JMETER/op…...
【笔记】泛型以及如何绕过泛型定义
泛型定义以及其带来的好处 泛型使类型(类和接口)能够在定义类、接口和方法时成为参数。与方法声明中使用的更熟悉的形式参数非常相似,类型参数为您提供了一种通过不同输入重复使用相同代码的方法。区别在于形式参数的输入是值,而…...
JAVA JNA 调用C接口的三种方式
文章目录 1. 准备一个共享库文件2. JNA姿势1—继承Library接口3. JNA姿势2—直接NativeLibrary.getInstance3. JNA姿势3—Native方法 1. 准备一个共享库文件 test.c #include <stdio.h> int test(char *input){printf("input:%s\n",input);return 0; }libtes…...
StarRocks入门到熟悉
1、部署 1.1、注意事项 需要根据业务需求设计严谨的集群架构,一般来说,需要注意以下几项: 1.1.1、FE数量及高可用 FE的Follower要求为奇数个,且并不建议部署太多,通常我们推荐部署1个或3个Follower。在三个Followe…...
华为AR路由器 典型配置案例——以太网交换
目录 Eth-Trunk 例:配置三层链路聚合 组网需求 操作步骤 检查配置结果 配置脚本 VLAN 举例:配置基于接口划分VLAN,实现同一VLAN内的互通(同设备) 组网需求 操作步骤 检查配置结果 配置脚本 举例ÿ…...
DP读书:鲲鹏处理器 架构与编程(十三)操作系统内核与云基础软件
操作系统内核与云基础软件 鲲鹏软件构成硬件特定软件 鲲鹏软件构成硬件特定软件1. Boot Loader2. SBSA 与 SBBR3. UEFI4. ACPI 操作系统内核Linux系统调用Linux进程调度Linux内存管理Linux虚拟文件系统Linux网络子系统Linux进程间通信Linux可加载内核模块Linux设备驱动程序Linu…...
Vue2项目练手——通用后台管理项目第一节
Vue2项目练手——通用后台管理项目 知识补充yarn和npm区别npm的缺点:yarn的优点 npm查看镜像和设置镜像 项目介绍项目的技术栈 项目搭建文件目录 创建路由,引入element-uirouter/index.jsmain.jspages/Users.vuepages/Main.vuepages/Home.vuepages/Login…...
「Vue|网页开发|前端开发」02 从单页面到多页面网站:使用路由实现网站多个页面的展示和跳转
本文主要介绍如何使用路由控制来实现将一个单页面网站扩展成多页面网站,包括页面扩展的逻辑,vue的官方路由vue-router的基本用法以及扩展用法 文章目录 本系列前文传送门一、场景说明二、基本的页面扩展页面扩展是在扩什么创建新页面的代码,…...
【Nginx20】Nginx学习:FastCGI模块(二)缓存配置
Nginx学习:FastCGI模块(二)缓存配置 通过上篇文章的学习,普通的 PHP 与 Nginx 的连接就已经没啥大问题了。一般的网站直接那套配置就够了,这也是 Nginx 非常友好的一面。很多在默认的配置文件中注释掉的内容࿰…...
苹果支付外包开发流程
苹果支付的实现流程主要涉及集成苹果的支付系统——Apple Pay,以及在你的应用中处理支付交易。以下是一个简要的实现流程概述,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.开发者账号…...
银河麒麟V10(Tercel)服务器版安装 Docker
一、服务器环境 ## 查看系统版本,确认版本 cat /etc/kylin-release Kylin Linux Advanced Server release V10 (Tercel)## 操作系统 uname -p aarch64## 内核版本(≥ 3.10) uname -r 4.19.90-21.2.ky10.aarch64## iptables 版本(…...
web、HTTP协议
目录 一、Web基础 1.1 HTML概述 1.1.1 HTML的文件结构 1.2 HTML中的部分基本标签 1.3 URI 和 URL 二.HTTP协议 2.1.HTTP概念 2.2.HTTP协议版本 2.3.HTTP请求方法 2.4.HTTP请求访问的完整过程 2.5.HTTP状态码 2.6.HTTP请求报文和响应报文 2.7.HTTP连接优化 三.HTT…...
达梦SQL书写注意事项
模糊查询 模糊查询like后面的字段要求用单引号引用,不能使用双引号 select * from user where name like %小组 分组查询 select查询的列字段必须在分组中的字段存在 正确: select name,age from user group by name,age 错误: select * f…...
博途1200脉冲输出控制速度轴(轴工艺对象基本配置)
这里的1200脉冲轴,主要用来完成线缆包材绕包时的重叠率控制。关于重叠率的具体概念,这里不再阐述,大家可以看下面的文章链接, 重叠率控制 重叠率控制(算法详细介绍含SCL和梯形图源代码)_RXXW_Dor的博客-CSDN博客产品包装和线缆保护材料的包覆都需要进行材料包装重叠率的控…...
微信小程序 通过setData 给两个变量设置同一个数组时,为什么修改一个变量,另一个会也被修改?
在微信小程序中,使用 setData 方法更新数据时,如果给两个变量设置同一个数组,修改其中一个变量的值会导致另一个变量也被修改的原因是,数组是引用类型的数据,在内存中的存储方式是按引用地址存储。 当你将一个数组赋值…...
保障Web安全:构建可靠的网络防御体系
在当今数字化时代,Web安全已成为互联网世界中至关重要的议题。随着网络攻击手段的不断演进和网络犯罪的增加,保护用户数据和确保系统安全性已成为任何Web应用程序的首要任务。本文将深入探讨Web安全的重要性以及构建可靠的网络防御体系的关键要素。我们将…...
LeetCode--HOT100题(44)
目录 题目描述:230. 二叉搜索树中第K小的元素(中等)题目接口解题思路代码 PS: 题目描述:230. 二叉搜索树中第K小的元素(中等) 给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你…...
中小团队在ubuntu服务器利用taotoken管理多项目api密钥与用量
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 中小团队在 Ubuntu 服务器利用 Taotoken 管理多项目 API 密钥与用量 在 Ubuntu 服务器上运行多个 AI 实验项目是许多中小型技术团队…...
2026 云手机横评:傲晨云、红手指、川川云、雷电云实测,全能首选一目了然
一、测评背景与说明随着手游挂机、账号多开、云端办公等需求爆发,云手机已成为个人玩家与工作室的必备工具。当前市场品牌繁杂,傲晨云、红手指、川川云、雷电云是关注度较高的四款产品,它们在性能、稳定性、功能及价格上差异显著。本次测评基…...
对比按需计费与 Token Plan 在 Taotoken 平台上的长期成本差异感受
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比按需计费与 Token Plan 在 Taotoken 平台上的长期成本差异感受 在构建和运营依赖大模型能力的应用时,成本控制是一…...
NOMA实战:从叠加编码到SIC解码的链路级仿真解析
1. NOMA技术基础与核心原理 NOMA(非正交多址接入)是5G通信中的一项关键技术,它彻底改变了传统正交多址技术(如OFDMA)的资源分配方式。我第一次接触NOMA时,最让我惊讶的是它竟然主动引入干扰来提升频谱效率—…...
RK3588平台IMX415摄像头驱动调试全流程与实战指南
1. 项目概述与核心挑战最近在基于瑞芯微RK3588平台调试索尼IMX415摄像头,整个过程可以说是既典型又充满细节。对于嵌入式Linux开发,尤其是多媒体应用,摄像头驱动调试往往是硬件适配中最关键也最磨人的一环。RK3588作为一款高性能的AIoT SoC&a…...
如何3分钟完成漫画翻译:BallonsTranslator AI智能工具完全指南
如何3分钟完成漫画翻译:BallonsTranslator AI智能工具完全指南 【免费下载链接】BallonsTranslator 深度学习辅助漫画翻译工具, 支持一键机翻和简单的图像/文本编辑 | Yet another computer-aided comic/manga translation tool powered by deeplearning 项目地址…...
基于语义检索的LLM工具发现框架:从原理到工程实践
1. 项目概述与核心价值最近在折腾AI应用开发,特别是想把手头的几个大语言模型(LLM)能力整合到自己的工具链里,发现一个挺头疼的问题:模型本身很强大,但让它去精准调用外部工具(比如查数据库、发…...
别再瞎试了!用Python+正交设计,5分钟搞定你的多因素实验方案
用Python正交设计高效优化多因素实验方案 在数据科学和工程实践中,我们经常面临需要同时优化多个参数的挑战。无论是机器学习模型的超参数调优,还是化工生产中的工艺条件优化,传统的一一尝试方法不仅耗时耗力,而且难以捕捉因素间的…...
NocoDB企业数据管理平台:如何用可视化数据库解决业务协作难题
NocoDB企业数据管理平台:如何用可视化数据库解决业务协作难题 【免费下载链接】nocodb 🔥 🔥 🔥 A Free & Self-hostable Airtable Alternative 项目地址: https://gitcode.com/GitHub_Trending/no/nocodb 在数字化转型…...
MATLAB 2024 升级指南:彻底卸载旧版,高效部署新版
1. 为什么需要彻底卸载旧版MATLAB? 每次MATLAB大版本更新都会带来新功能和性能优化,但很多用户直接覆盖安装后常遇到各种奇怪问题。我去年帮实验室处理过几十台电脑的升级故障,90%的问题都源于旧版残留文件。比如有位同学复现图像处理代码时&…...
