当前位置: 首页 > news >正文

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、注意事项 需要根据业务需求设计严谨的集群架构&#xff0c;一般来说&#xff0c;需要注意以下几项&#xff1a; 1.1.1、FE数量及高可用 FE的Follower要求为奇数个&#xff0c;且并不建议部署太多&#xff0c;通常我们推荐部署1个或3个Follower。在三个Followe…...

华为AR路由器 典型配置案例——以太网交换

目录 Eth-Trunk 例&#xff1a;配置三层链路聚合 组网需求 操作步骤 检查配置结果 配置脚本 VLAN 举例&#xff1a;配置基于接口划分VLAN&#xff0c;实现同一VLAN内的互通&#xff08;同设备&#xff09; 组网需求 操作步骤 检查配置结果 配置脚本 举例&#xff…...

DP读书:鲲鹏处理器 架构与编程(十三)操作系统内核与云基础软件

操作系统内核与云基础软件 鲲鹏软件构成硬件特定软件 鲲鹏软件构成硬件特定软件1. Boot Loader2. SBSA 与 SBBR3. UEFI4. ACPI 操作系统内核Linux系统调用Linux进程调度Linux内存管理Linux虚拟文件系统Linux网络子系统Linux进程间通信Linux可加载内核模块Linux设备驱动程序Linu…...

Vue2项目练手——通用后台管理项目第一节

Vue2项目练手——通用后台管理项目 知识补充yarn和npm区别npm的缺点&#xff1a;yarn的优点 npm查看镜像和设置镜像 项目介绍项目的技术栈 项目搭建文件目录 创建路由&#xff0c;引入element-uirouter/index.jsmain.jspages/Users.vuepages/Main.vuepages/Home.vuepages/Login…...

「Vue|网页开发|前端开发」02 从单页面到多页面网站:使用路由实现网站多个页面的展示和跳转

本文主要介绍如何使用路由控制来实现将一个单页面网站扩展成多页面网站&#xff0c;包括页面扩展的逻辑&#xff0c;vue的官方路由vue-router的基本用法以及扩展用法 文章目录 本系列前文传送门一、场景说明二、基本的页面扩展页面扩展是在扩什么创建新页面的代码&#xff0c;…...

【Nginx20】Nginx学习:FastCGI模块(二)缓存配置

Nginx学习&#xff1a;FastCGI模块&#xff08;二&#xff09;缓存配置 通过上篇文章的学习&#xff0c;普通的 PHP 与 Nginx 的连接就已经没啥大问题了。一般的网站直接那套配置就够了&#xff0c;这也是 Nginx 非常友好的一面。很多在默认的配置文件中注释掉的内容&#xff0…...

苹果支付外包开发流程

苹果支付的实现流程主要涉及集成苹果的支付系统——Apple Pay&#xff0c;以及在你的应用中处理支付交易。以下是一个简要的实现流程概述&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.开发者账号…...

银河麒麟V10(Tercel)服务器版安装 Docker

一、服务器环境 ## 查看系统版本&#xff0c;确认版本 cat /etc/kylin-release Kylin Linux Advanced Server release V10 (Tercel)## 操作系统 uname -p aarch64## 内核版本&#xff08;≥ 3.10&#xff09; uname -r 4.19.90-21.2.ky10.aarch64## iptables 版本&#xff08;…...

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后面的字段要求用单引号引用&#xff0c;不能使用双引号 select * from user where name like %小组 分组查询 select查询的列字段必须在分组中的字段存在 正确&#xff1a; select name,age from user group by name,age 错误&#xff1a; select * f…...

博途1200脉冲输出控制速度轴(轴工艺对象基本配置)

这里的1200脉冲轴,主要用来完成线缆包材绕包时的重叠率控制。关于重叠率的具体概念,这里不再阐述,大家可以看下面的文章链接, 重叠率控制 重叠率控制(算法详细介绍含SCL和梯形图源代码)_RXXW_Dor的博客-CSDN博客产品包装和线缆保护材料的包覆都需要进行材料包装重叠率的控…...

微信小程序 通过setData 给两个变量设置同一个数组时,为什么修改一个变量,另一个会也被修改?

在微信小程序中&#xff0c;使用 setData 方法更新数据时&#xff0c;如果给两个变量设置同一个数组&#xff0c;修改其中一个变量的值会导致另一个变量也被修改的原因是&#xff0c;数组是引用类型的数据&#xff0c;在内存中的存储方式是按引用地址存储。 当你将一个数组赋值…...

保障Web安全:构建可靠的网络防御体系

在当今数字化时代&#xff0c;Web安全已成为互联网世界中至关重要的议题。随着网络攻击手段的不断演进和网络犯罪的增加&#xff0c;保护用户数据和确保系统安全性已成为任何Web应用程序的首要任务。本文将深入探讨Web安全的重要性以及构建可靠的网络防御体系的关键要素。我们将…...

LeetCode--HOT100题(44)

目录 题目描述&#xff1a;230. 二叉搜索树中第K小的元素&#xff08;中等&#xff09;题目接口解题思路代码 PS: 题目描述&#xff1a;230. 二叉搜索树中第K小的元素&#xff08;中等&#xff09; 给定一个二叉搜索树的根节点 root &#xff0c;和一个整数 k &#xff0c;请你…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...