 PostgreSQL和Greenplum 数据库故障排查2018年PostgreSQL中国技术大会 PostgreSQL和Greenplum 数据库故障排查 赵振平 zzp@taryartar.com 北京太阳塔信息科技有限责任公司 2018年PostgreSQL中国技术大会 自我介绍 微信号:laohouzi999 2018年PostgreSQL中国技术大会 • 赵振平,太阳塔技术总监 • 电子工业出版社签约作家 • 腾讯最具价值专家(TVP) 出版了技术专著《IT架构实录》 微信号:laohouzi999 2018年PostgreSQL中国技术大会 微信号:laohouzi999 2018年PostgreSQL中国技术大会 PG故障排查 微信号:laohouzi999 2018年PostgreSQL中国技术大会 微信号:laohouzi999 1.安装时候的问题排查 2018年PostgreSQL中国技术大会 微信号:laohouzi999 要 在生产环境中使用。 reject reject是拒绝认证 2018年PostgreSQL中国技术大会 微信号:laohouzi999 4. PostgreSQL启动故障排查 2018年PostgreSQL中国技术大会 微信号:laohouzi999 2018年PostgreSQL中国技术大会 微信号:laohouzi999 2018年PostgreSQL中国技术大会0 码力 | 84 页 | 12.61 MB | 1 年前3 PostgreSQL和Greenplum 数据库故障排查2018年PostgreSQL中国技术大会 PostgreSQL和Greenplum 数据库故障排查 赵振平 zzp@taryartar.com 北京太阳塔信息科技有限责任公司 2018年PostgreSQL中国技术大会 自我介绍 微信号:laohouzi999 2018年PostgreSQL中国技术大会 • 赵振平,太阳塔技术总监 • 电子工业出版社签约作家 • 腾讯最具价值专家(TVP) 出版了技术专著《IT架构实录》 微信号:laohouzi999 2018年PostgreSQL中国技术大会 微信号:laohouzi999 2018年PostgreSQL中国技术大会 PG故障排查 微信号:laohouzi999 2018年PostgreSQL中国技术大会 微信号:laohouzi999 1.安装时候的问题排查 2018年PostgreSQL中国技术大会 微信号:laohouzi999 要 在生产环境中使用。 reject reject是拒绝认证 2018年PostgreSQL中国技术大会 微信号:laohouzi999 4. PostgreSQL启动故障排查 2018年PostgreSQL中国技术大会 微信号:laohouzi999 2018年PostgreSQL中国技术大会 微信号:laohouzi999 2018年PostgreSQL中国技术大会0 码力 | 84 页 | 12.61 MB | 1 年前3
 Greenplum资源管理器2017 年象行中国(杭州 站)第一期 Greenplum资源管理器 姚珂男/Pivotal kyao@pivotal.io 2017 年象行中国(杭州 站)第一期 Agenda • Greenplum数据库 • Resource Queue • Resource Group 2017 年象行中国(杭州 站)第一期 Greenplum数据库 • 基于PostgreSQL • 分布式 corruption => PANIC 2017 年象行中国(杭州 站)第一期 Resource Queue • Cost is tricky – 没有明确的定义 – 不同优化器不一致 – 优化器不能被纳入资源管理器 2017 年象行中国(杭州 站)第一期 Resource Queue • Priority is rough – 不能精确控制CPU – CHECK_FOR_INTERRUPTS – BackoffBackendTick 空闲group配额会被抢占 – 精确控制 2017 年象行中国(杭州 站)第一期 Resource Group • Memory – Not using CGroups – 重构resource queue内存管理 – 严格资源隔离 – statement_mem控制spill – 每个group内做redzone和runaway detection 2017 年象行中国(杭州 站)第一期 Resource0 码力 | 21 页 | 756.29 KB | 1 年前3 Greenplum资源管理器2017 年象行中国(杭州 站)第一期 Greenplum资源管理器 姚珂男/Pivotal kyao@pivotal.io 2017 年象行中国(杭州 站)第一期 Agenda • Greenplum数据库 • Resource Queue • Resource Group 2017 年象行中国(杭州 站)第一期 Greenplum数据库 • 基于PostgreSQL • 分布式 corruption => PANIC 2017 年象行中国(杭州 站)第一期 Resource Queue • Cost is tricky – 没有明确的定义 – 不同优化器不一致 – 优化器不能被纳入资源管理器 2017 年象行中国(杭州 站)第一期 Resource Queue • Priority is rough – 不能精确控制CPU – CHECK_FOR_INTERRUPTS – BackoffBackendTick 空闲group配额会被抢占 – 精确控制 2017 年象行中国(杭州 站)第一期 Resource Group • Memory – Not using CGroups – 重构resource queue内存管理 – 严格资源隔离 – statement_mem控制spill – 每个group内做redzone和runaway detection 2017 年象行中国(杭州 站)第一期 Resource0 码力 | 21 页 | 756.29 KB | 1 年前3
 Greenplum Database 管理员指南 6.2.1Greenplum Database 管理员指南 V6.2.1 版权所有:Esena(陈淼 +86 18616691889) 编写:陈淼 - 1 - Greenplum Database 管理员指南 版本 V6.2.1 2020 年 09 月 27 日 欢迎关注 Greenplum 官方微信公众号和加入官方社区技术讨论群: Greenplum 用户解决生产需求和技术问题,我们坚持提供最专 业的建议和解决方案,提供最专业的技术支持服务,提供最专业的落地实施支持。 十多年来,参与过的项目不计其数,有 POC 测试,有开发支持,有故障支持,有 长期驻场支持,有临时的功能支持,甚至可能会作为用户看不见的后端支持,总之,我 们的目标是,努力解决用户的一切不违背自然规律的诉求,我们跟随着 Greenplum 的 成长,见证了 Greenplum Greenplum 做各种补丁 脚本,也看到了 Greenplum 的大幅进步,甚至我们以前的小技巧也不再需要,持续的 进步,带来的是生态的蓬勃发展。 Greenplum Database 管理员指南 V6.2.1 版权所有:Esena(陈淼 +86 18616691889) 编写:陈淼 - 2 - 序言 术语约定 GP : Greenplum 数据库 Master0 码力 | 416 页 | 6.08 MB | 1 年前3 Greenplum Database 管理员指南 6.2.1Greenplum Database 管理员指南 V6.2.1 版权所有:Esena(陈淼 +86 18616691889) 编写:陈淼 - 1 - Greenplum Database 管理员指南 版本 V6.2.1 2020 年 09 月 27 日 欢迎关注 Greenplum 官方微信公众号和加入官方社区技术讨论群: Greenplum 用户解决生产需求和技术问题,我们坚持提供最专 业的建议和解决方案,提供最专业的技术支持服务,提供最专业的落地实施支持。 十多年来,参与过的项目不计其数,有 POC 测试,有开发支持,有故障支持,有 长期驻场支持,有临时的功能支持,甚至可能会作为用户看不见的后端支持,总之,我 们的目标是,努力解决用户的一切不违背自然规律的诉求,我们跟随着 Greenplum 的 成长,见证了 Greenplum Greenplum 做各种补丁 脚本,也看到了 Greenplum 的大幅进步,甚至我们以前的小技巧也不再需要,持续的 进步,带来的是生态的蓬勃发展。 Greenplum Database 管理员指南 V6.2.1 版权所有:Esena(陈淼 +86 18616691889) 编写:陈淼 - 2 - 序言 术语约定 GP : Greenplum 数据库 Master0 码力 | 416 页 | 6.08 MB | 1 年前3
 Greenplum 新一代数据管理和数据分析解决方案1 新一代数据管理和数据分析 解决方案 关于Greenplum公司 • Greenplum是一家数据库软件公司,在数据处理和 BI/DW领域,提供容量 最大、速度最快、性价比最好的数据库引擎产品和服务。 • Greenplum总部位于圣马蒂奥,加利福尼亚州,美国,成立于2003年6月。 • Greenplum 中国于2008年12月正式成立. 2010/4/8 官方网站: www.greenplum 千万亿字节 万亿字节 千兆字节 行业商务智能解决方案的实例 政府 电信 金融服务 公民服务 国家安全 电子政务 法规实施和监管 人力资本管理 信息传播 合规性报告 资产组合分析 客户报表 电汇通知 分部记分卡 客户关系管理、收 购和盈利率 欺诈检测 欺诈分析 客户流失分析 响应时间 流量分析 产品关联/捆绑 零售 存储运营分析 客户忠诚度计划 协作规划和预估 1995 2000 2005 2010 新一代数据库的要求 传统数据库的要求 今天的数据库供应商 网络运算的发展速度已经超过了主流数据库 • 海量规模 • 高性价比 • 高效率 数据库管理系统(DBMS)的 规模/容量 11 需要采用一种新的方法 •“一切皆可商用”:商业即用型x86 服务器、存储设备、网络 •通过软件很容易将处理能力扩展到 1000s的内核/系统 Greenplum0 码力 | 45 页 | 2.07 MB | 1 年前3 Greenplum 新一代数据管理和数据分析解决方案1 新一代数据管理和数据分析 解决方案 关于Greenplum公司 • Greenplum是一家数据库软件公司,在数据处理和 BI/DW领域,提供容量 最大、速度最快、性价比最好的数据库引擎产品和服务。 • Greenplum总部位于圣马蒂奥,加利福尼亚州,美国,成立于2003年6月。 • Greenplum 中国于2008年12月正式成立. 2010/4/8 官方网站: www.greenplum 千万亿字节 万亿字节 千兆字节 行业商务智能解决方案的实例 政府 电信 金融服务 公民服务 国家安全 电子政务 法规实施和监管 人力资本管理 信息传播 合规性报告 资产组合分析 客户报表 电汇通知 分部记分卡 客户关系管理、收 购和盈利率 欺诈检测 欺诈分析 客户流失分析 响应时间 流量分析 产品关联/捆绑 零售 存储运营分析 客户忠诚度计划 协作规划和预估 1995 2000 2005 2010 新一代数据库的要求 传统数据库的要求 今天的数据库供应商 网络运算的发展速度已经超过了主流数据库 • 海量规模 • 高性价比 • 高效率 数据库管理系统(DBMS)的 规模/容量 11 需要采用一种新的方法 •“一切皆可商用”:商业即用型x86 服务器、存储设备、网络 •通过软件很容易将处理能力扩展到 1000s的内核/系统 Greenplum0 码力 | 45 页 | 2.07 MB | 1 年前3
 Greenplum分布式事务和两阶段提交协议事务中的操作要么全部正确执行,要么完全不 执行。 Write Ahead Logging,分布式事务:两阶段提交协议 Consistency 一致性 数据库系统必须保证事务的执行使得数据库 从一个一致性状态转移到另一个一致性状态。 (满足完整性约束) 实现对A、I、D三个属性的支持 Isolation 隔离性 多个事务并发地执行,对每个事务来说,它并 不会感知系统中有其他事务在同时执行。 多版本并发控制Multi-Version Write Ahead Logging + 存储管理 Jim Gray于1981年VLDB描述了事务的原子性、一致性和持久性,在此基础上,Haerder和Reuter在1983年中提出了事务的隔离性并提出术语 “ACID”,自此,事务的ACID四个性质成为业内标准术语 8 Disk-Oriented DBMS Components 数据库管理系统组成图 Hector Garcia-Molina Ullman/Jennifer Widom《数据库系统实现》 查询编译器/ 优化器 事务管理器 DDL编译器 执行引擎 日志和恢复 并发控制 索引/文件/ 记录管理器 缓冲区管理器 缓冲区 锁表 存储管理器 存储 查询计划 对索引、文件和 记录的请求 页命令 事务命令 查询、更新 用户/ 应用 DDL命令 数据库管理员 数据、元数据、索引 日志页 读、写页 元数据、 统计数据 元数据0 码力 | 42 页 | 2.12 MB | 1 年前3 Greenplum分布式事务和两阶段提交协议事务中的操作要么全部正确执行,要么完全不 执行。 Write Ahead Logging,分布式事务:两阶段提交协议 Consistency 一致性 数据库系统必须保证事务的执行使得数据库 从一个一致性状态转移到另一个一致性状态。 (满足完整性约束) 实现对A、I、D三个属性的支持 Isolation 隔离性 多个事务并发地执行,对每个事务来说,它并 不会感知系统中有其他事务在同时执行。 多版本并发控制Multi-Version Write Ahead Logging + 存储管理 Jim Gray于1981年VLDB描述了事务的原子性、一致性和持久性,在此基础上,Haerder和Reuter在1983年中提出了事务的隔离性并提出术语 “ACID”,自此,事务的ACID四个性质成为业内标准术语 8 Disk-Oriented DBMS Components 数据库管理系统组成图 Hector Garcia-Molina Ullman/Jennifer Widom《数据库系统实现》 查询编译器/ 优化器 事务管理器 DDL编译器 执行引擎 日志和恢复 并发控制 索引/文件/ 记录管理器 缓冲区管理器 缓冲区 锁表 存储管理器 存储 查询计划 对索引、文件和 记录的请求 页命令 事务命令 查询、更新 用户/ 应用 DDL命令 数据库管理员 数据、元数据、索引 日志页 读、写页 元数据、 统计数据 元数据0 码力 | 42 页 | 2.12 MB | 1 年前3
 Greenplum 精粹文集Postgresql 数 据库实例同时开展并行计算。而且,这些 Postgresql 之间采用 share- nothing 无共享架构,从而更将这种并行计算能力发挥到极致,除此之 外,MPP 采用两阶段提交和全局事务管理机制来保证集群上分布式事 务的一致性,Greenplum 像 Postgresql 一样满足关系型数据库的包括 ACID 在内的所有特征。 从上图可以看到,Greenplum 的最小并行单元不是节点层级,而是在 IO 能力。 Greenplum 单个节点上运行能力比其它数据库也快很多,如果运行在 多节点上,其提供性能几乎是线性的增长,这样一个集群提供的性能 能够很轻易的达到传统数据库的数百倍甚至数千倍,所管理数据存储 规模达到 100TB~ 数 PB,而你在硬件上的投入,仅仅是数台一般的 X86 服务器和普通的万兆交换机。 Big Date2.indd 6 16-11-22 还研发了非常多的高级数据分析管理功能和企业级管理模 块,如下这些功能都是 Postgresql 没有提供的: ·外部表并行数据加载 ·可更新数据压缩表 ·行、列混合存储 ·数据表多级分区 ·Bitmap 索引 ·Hadoop 外部表 ·Gptext 全文检索 ·并行查询计划优化器和 Orca 优化器 ·Primary/Mirror 镜像保护机制 ·资源队列管理 ·WEB/Brower0 码力 | 64 页 | 2.73 MB | 1 年前3 Greenplum 精粹文集Postgresql 数 据库实例同时开展并行计算。而且,这些 Postgresql 之间采用 share- nothing 无共享架构,从而更将这种并行计算能力发挥到极致,除此之 外,MPP 采用两阶段提交和全局事务管理机制来保证集群上分布式事 务的一致性,Greenplum 像 Postgresql 一样满足关系型数据库的包括 ACID 在内的所有特征。 从上图可以看到,Greenplum 的最小并行单元不是节点层级,而是在 IO 能力。 Greenplum 单个节点上运行能力比其它数据库也快很多,如果运行在 多节点上,其提供性能几乎是线性的增长,这样一个集群提供的性能 能够很轻易的达到传统数据库的数百倍甚至数千倍,所管理数据存储 规模达到 100TB~ 数 PB,而你在硬件上的投入,仅仅是数台一般的 X86 服务器和普通的万兆交换机。 Big Date2.indd 6 16-11-22 还研发了非常多的高级数据分析管理功能和企业级管理模 块,如下这些功能都是 Postgresql 没有提供的: ·外部表并行数据加载 ·可更新数据压缩表 ·行、列混合存储 ·数据表多级分区 ·Bitmap 索引 ·Hadoop 外部表 ·Gptext 全文检索 ·并行查询计划优化器和 Orca 优化器 ·Primary/Mirror 镜像保护机制 ·资源队列管理 ·WEB/Brower0 码力 | 64 页 | 2.73 MB | 1 年前3
 Pivotal Greenplum 最佳实践分享Greenplum运维常见问题  Greenplum运维常用命令  Greenplum日常检查和故障处理  Greenplum项目经验分享 目录  Greenplum运维常见问题  Greenplum运维常用命令  Greenplum日常检查和故障处理  Greenplum项目经验分享 内核参数  通常情况下,内核参数按照 shmmax = 1000000000  kernel.sem = 250 512000 100 2048  Redhat 6.2以后,内核增加了hugepage大页内存管理,关闭hugepage可以提高混合负载管理性能 设置办法:修改local脚本 For SUSE /etc/init.d/boot.local For RHLE /etc/rc.d/rc.local um analyze一次 • 查询视图GP_TOOLKIT.GP_BLOAT_DIAG可监控垃圾空间的膨胀系数 • REINDEX:回收索引的垃圾空间 AGE监控和管理  PostgreSQL的MVCC事务语意依赖于比较事务ID(XID)的数值: 一条带有大于当前事务的XID的插入 XID的行版本是―属于未来的‖, 并且不应为当前事务可见。  PostgreSQL使用特殊的0 码力 | 41 页 | 1.42 MB | 1 年前3 Pivotal Greenplum 最佳实践分享Greenplum运维常见问题  Greenplum运维常用命令  Greenplum日常检查和故障处理  Greenplum项目经验分享 目录  Greenplum运维常见问题  Greenplum运维常用命令  Greenplum日常检查和故障处理  Greenplum项目经验分享 内核参数  通常情况下,内核参数按照 shmmax = 1000000000  kernel.sem = 250 512000 100 2048  Redhat 6.2以后,内核增加了hugepage大页内存管理,关闭hugepage可以提高混合负载管理性能 设置办法:修改local脚本 For SUSE /etc/init.d/boot.local For RHLE /etc/rc.d/rc.local um analyze一次 • 查询视图GP_TOOLKIT.GP_BLOAT_DIAG可监控垃圾空间的膨胀系数 • REINDEX:回收索引的垃圾空间 AGE监控和管理  PostgreSQL的MVCC事务语意依赖于比较事务ID(XID)的数值: 一条带有大于当前事务的XID的插入 XID的行版本是―属于未来的‖, 并且不应为当前事务可见。  PostgreSQL使用特殊的0 码力 | 41 页 | 1.42 MB | 1 年前3
 Greenplum on Kubernetes
容器化MPP数据库数据共享 ● 云数据库市场巨大 ● 云数据库增速巨大 ● DBasS的需求 ● 跨云的需求 云数据库实现方案 云数据库需求 ● DBasS ○ 自动化运维 ○ 自动化调优 ● 弹性资源管理 ○ 存储资源 ○ 计算资源 ● 安全 ○ 用户数据 ○ 临时文件 ○ 网络传输 ○ 权限控制 ● 跨云 ○ 公有云 ○ 私有云 云数据库实现方案 ● 全新数据库 ○ Snowflake 容器化Greenplum部署策略 ○ Master部署策略 ○ Primary Segment部署策略 ○ Mirror Segment部署策略 ● 容器化Greenplum运维管理 ○ 故障检测及恢复 ○ 升级扩容 ● 容器化Greenplum存储管理 ○ 容器本地存储易失性 容器化Greenplum ● 容器粒度 ○ Segment主机 VS. Segment实例 ● 容器资源分配 ○ CPU Mirror Segment部署策略 ● 容器化Greenplum运维管理 ○ 故障检测及恢复 ○ 升级扩容 ● 容器化Greenplum存储管理 ○ 容器本地存储易失性 ○ 容器外部存储关联性 容器化分布式应用程序公共问题 容器网络管理 容器资源管理 容器镜像管理 容器调度 容器监控及自 定义操作 容器存储管理 容器化Greenplum ● 容器粒度 ○ Segment主机0 码力 | 33 页 | 1.93 MB | 1 年前3 Greenplum on Kubernetes
容器化MPP数据库数据共享 ● 云数据库市场巨大 ● 云数据库增速巨大 ● DBasS的需求 ● 跨云的需求 云数据库实现方案 云数据库需求 ● DBasS ○ 自动化运维 ○ 自动化调优 ● 弹性资源管理 ○ 存储资源 ○ 计算资源 ● 安全 ○ 用户数据 ○ 临时文件 ○ 网络传输 ○ 权限控制 ● 跨云 ○ 公有云 ○ 私有云 云数据库实现方案 ● 全新数据库 ○ Snowflake 容器化Greenplum部署策略 ○ Master部署策略 ○ Primary Segment部署策略 ○ Mirror Segment部署策略 ● 容器化Greenplum运维管理 ○ 故障检测及恢复 ○ 升级扩容 ● 容器化Greenplum存储管理 ○ 容器本地存储易失性 容器化Greenplum ● 容器粒度 ○ Segment主机 VS. Segment实例 ● 容器资源分配 ○ CPU Mirror Segment部署策略 ● 容器化Greenplum运维管理 ○ 故障检测及恢复 ○ 升级扩容 ● 容器化Greenplum存储管理 ○ 容器本地存储易失性 ○ 容器外部存储关联性 容器化分布式应用程序公共问题 容器网络管理 容器资源管理 容器镜像管理 容器调度 容器监控及自 定义操作 容器存储管理 容器化Greenplum ● 容器粒度 ○ Segment主机0 码力 | 33 页 | 1.93 MB | 1 年前3
 完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum功能,策略配置淘汰的冷内存交换到用户态存储,用户无感知,性能 优于内核态 swap。 2. 夯实云化基座 容器操作系统 KubeOS:云原生场景,实现 OS 容器化部署、运维,提供与业务容器一致的基于 K8S 的管理体验。 • 安全容器方案:iSulad+shimv2+StratoVirt 安全容器方案,相比传统 docker+qemu 方案,底噪和启动时间 优化 40%。 • 双平面部署工具 eqqo:ARM/X86 SQL,可以让服务器群集能够以单一数据超级计算机的方式运行,且性能比传统数据库或其他同类平台高出数十甚 至数百倍。其多种分析扩展功能支持 ANSI SQL,并通过封装扩展提供多种内置语言和附加功能。Greenplum 能够 管理各种规模的数据容量,数据量从数 GB 到数 PB 不等。 Greenplum 环境适用性强与其开放性、真正开源、社区活跃有密不可分的关系,一方面 Greenplum 能够独立于专用 硬件 Database for Transactional and Analytical Workloads》1成功入选 SIGMOD 的收录论文,ACM SIGMOD 数据管理国际会议是由美国计算机协会 (ACM) 数据管理专业委员会(SIGMOD)发起、在数据库领域具有最高学术地位的国际性学术会议,SIGMOD 和另外 两大数据库会议 VLDB、ICDE 构成了数据库领域的三个顶级会议,其论文录取率是很低的,平均录取率大约仅为0 码力 | 17 页 | 2.04 MB | 1 年前3 完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum功能,策略配置淘汰的冷内存交换到用户态存储,用户无感知,性能 优于内核态 swap。 2. 夯实云化基座 容器操作系统 KubeOS:云原生场景,实现 OS 容器化部署、运维,提供与业务容器一致的基于 K8S 的管理体验。 • 安全容器方案:iSulad+shimv2+StratoVirt 安全容器方案,相比传统 docker+qemu 方案,底噪和启动时间 优化 40%。 • 双平面部署工具 eqqo:ARM/X86 SQL,可以让服务器群集能够以单一数据超级计算机的方式运行,且性能比传统数据库或其他同类平台高出数十甚 至数百倍。其多种分析扩展功能支持 ANSI SQL,并通过封装扩展提供多种内置语言和附加功能。Greenplum 能够 管理各种规模的数据容量,数据量从数 GB 到数 PB 不等。 Greenplum 环境适用性强与其开放性、真正开源、社区活跃有密不可分的关系,一方面 Greenplum 能够独立于专用 硬件 Database for Transactional and Analytical Workloads》1成功入选 SIGMOD 的收录论文,ACM SIGMOD 数据管理国际会议是由美国计算机协会 (ACM) 数据管理专业委员会(SIGMOD)发起、在数据库领域具有最高学术地位的国际性学术会议,SIGMOD 和另外 两大数据库会议 VLDB、ICDE 构成了数据库领域的三个顶级会议,其论文录取率是很低的,平均录取率大约仅为0 码力 | 17 页 | 2.04 MB | 1 年前3
 Greenplum 排序算法1: 延时执行转移函数,tuplesort_putdatum(peraggstate->sortstate, value, isnull); ● Step 2: 排序, tuplesort_performsort(peraggstate->sortstate); ● Step 3: 去重,如果当前元组distinct键和上一个元组相同,或者同为NULL,则 跳过当前元组。否则执行转移函数。 Distinct聚集0 码力 | 52 页 | 2.05 MB | 1 年前3 Greenplum 排序算法1: 延时执行转移函数,tuplesort_putdatum(peraggstate->sortstate, value, isnull); ● Step 2: 排序, tuplesort_performsort(peraggstate->sortstate); ● Step 3: 去重,如果当前元组distinct键和上一个元组相同,或者同为NULL,则 跳过当前元组。否则执行转移函数。 Distinct聚集0 码力 | 52 页 | 2.05 MB | 1 年前3
共 24 条
- 1
- 2
- 3













