postgreSQL
文章平均质量分 81
盒马coding
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
高性能MySQL到PostgreSQL异构数据库转换工具MySQL2PG
本文介绍了一款名为MySQL2PG的高性能异构数据库转换工具,能够实现MySQL到PostgreSQL的全自动迁移。该工具解决了传统转换过程中DDL语法不兼容、数据同步效率低、用户权限转移复杂等问题,提供表结构转换、数据同步、索引重建、用户权限迁移等一站式解决方案。文章详细阐述了工具的开发背景、功能模块设计(包括6个核心步骤)、技术选型(采用Golang语言和Trae开发工具),并展示了实际测试结果(成功转换1339张表、1768个索引和5个用户)。该工具具有自动化程度高、性能优异的特点,支持批量处理和进度原创 2025-12-29 21:32:47 · 981 阅读 · 0 评论 -
Patroni + HAProxy + Keepalived + watchdog + ETCD 各组件原理
本文解析了基于Patroni+HAProxy+Keepalived+watchdog+ETCD构建的PostgreSQL高可用集群各组件原理。架构分为四层:客户端应用层通过VIP访问;负载均衡层由HAProxy+Keepalived实现智能路由;数据库层通过Patroni实现毫秒级切换;ETCD提供一致性保障防止脑裂。详细介绍了HAProxy的负载均衡机制、Keepalived的VRRP协议实现VIP高可用、ETCD的Raft选举流程、watchdog的心跳检测与脑裂防护机制,以及Patroni作为核心管家原创 2025-12-22 15:18:50 · 989 阅读 · 0 评论 -
使用 Patroni + HAProxy + Keepalived + ETCD 搭建高可用的 PostgreSQL 集群
本文介绍了使用Patroni、HAProxy、Keepalived和ETCD搭建高可用PostgreSQL集群的方案。针对单机PostgreSQL存在的硬件故障、宕机恢复慢等问题,提出了基于多组件协同的高可用架构。详细说明了各组件功能:Patroni管理PostgreSQL高可用、HAProxy负责负载均衡、Keepalived实现VIP漂移、ETCD存储集群配置数据。提供了环境配置信息(3节点集群+VIP)和防火墙端口设置建议(关闭或开放必要端口)。原创 2025-12-20 11:14:27 · 846 阅读 · 0 评论 -
Postgres为什么要保持索引精简
Postgres索引维护要点 Postgres中过多的索引会带来多方面的影响: 写入性能下降:每个INSERT/UPDATE操作都需要更新所有索引 查询规划开销增加:优化器需要评估更多索引路径 资源浪费:占用额外磁盘空间和缓冲池 维护负担加重:增加自动清理工作量和WAL生成 优化建议: 定期识别并删除未使用或冗余的索引 监控索引膨胀情况,必要时重建 合理设置fillfactor以优化HOT更新 关注部分索引的潜在存储优化 通过精简索引集,可显著提升数据库整体性能和资源利用率。原创 2025-11-13 08:04:20 · 1027 阅读 · 0 评论 -
PostgreSQL18新功能COPY命令变得更加用户友好
PostgreSQL18新功能COPY命令变得更加用户友好原创 2025-11-11 20:02:31 · 909 阅读 · 0 评论 -
可见性映射(Visibility Map)的理解
PostgreSQL可见性映射(VM)与空闲空间映射(FSM)机制解析 PostgreSQL使用两种辅助结构管理表数据:可见性映射(VM)和空闲空间映射(FSM)。VM采用比特位标记机制,跟踪被MVCC机制隐藏的dead tuple,文件以_vm后缀命名。通过pg_visibility插件可查看各数据块的可见性状态(all_visible)和冻结状态(all_frozen)。FSM则记录数据块的空闲空间信息,使用层级索引优化插入性能。实验表明,仅当执行VACUUM后才会生成这两个文件,且通过pg_frees原创 2025-10-27 20:18:24 · 390 阅读 · 0 评论 -
PostgreSQL 空闲空间映射(FSM)深度解读
PostgreSQL的空闲空间映射(FSM)是管理数据块空闲空间的关键机制。FSM文件记录每个8KB数据块的空闲空间量,使用1字节(0-255)表示空间状态,采用三层二叉树结构(High Level)高效管理。当执行插入时,FSM能快速定位合适空间块;更新或删除时跟踪释放空间供复用。通过vacuum触发FSM更新,减少磁盘碎片。案例演示了创建表后FSM文件的生成过程、使用pg_freespacemap查看块使用情况,以及pgstattuple分析表空间细节。FSM优化了存储利用率,提升插入效率并减少IO操作原创 2025-10-27 20:02:41 · 833 阅读 · 0 评论 -
PostgresWAL文件和序列号
摘要 PostgreSQL的预写日志(WAL)是关键组件,支持时间点恢复、流复制等功能。WAL文件命名遵循TTTTTTTTXXXXXXXXYYYYYYYYY格式,包含时间线和LSN(日志序列号)信息。LSN是一个64位整数,分为高32位和低32位,表示为XXXXXXXX/YYZZZZZZ的十六进制格式。通过pg_walfile_name函数可将LSN转换为对应的WAL文件名。本文演示了如何通过SQL命令获取当前WAL位置、计算WAL生成量,并使用pg_switch_wal进行日志切换。原创 2025-10-10 20:49:28 · 1029 阅读 · 0 评论 -
PostgreSQL18-RC1发布,这些改进值得关注
PostgreSQL 18-RC1发布,带来多项重要改进。主要更新包括:默认启用数据校验和,弃用MD5密码认证,优化查询执行计划,提升分区表处理效率,新增异步I/O子系统以提升性能。同时改进了VACUUM和ANALYZE操作,增强监控统计功能,并调整了多项向后不兼容的默认行为。迁移时需注意校验和设置与时区处理等变更,建议使用pg_upgrade或逻辑复制进行升级。该版本在查询优化、索引构建、I/O性能等方面均有显著提升,为现代硬件环境提供了更好的支持。原创 2025-09-11 10:09:12 · 692 阅读 · 0 评论 -
PostgreSQL与Greenplum数据库的编程语言连接
PostgreSQL与Greenplum数据库的编程语言连接原创 2025-09-06 10:05:58 · 235 阅读 · 0 评论 -
PostgreSQL与Greenplum常见连接客户端
PostgreSQL与Greenplum常见连接客户端原创 2025-09-06 10:04:44 · 253 阅读 · 0 评论 -
处理PostgreSQL中的磁盘I/O瓶颈
PostgreSQL磁盘I/O瓶颈解决方案 当PostgreSQL遭遇磁盘I/O瓶颈时,会导致查询响应缓慢、等待时间增加。解决方案需要综合诊断和优化: 诊断工具:使用iostat、pg_stat_activity等工具定位瓶颈 短期优化: 调整内存配置(shared_buffers/work_mem) 优化检查点设置(checkpoint_timeout等) 启用WAL压缩 优化查询(使用索引、批量写入) 长期方案: 升级SSD/NVMe存储 实施RAID 10配置 数据分区和归档 使用Redis等缓存层原创 2025-09-05 17:46:18 · 1378 阅读 · 0 评论 -
关于如何在PostgreSQL中调整数据库参数和配置的综合指南
PostgreSQL性能优化指南摘要 PostgreSQL默认配置保守,不适合高性能生产环境。优化关键参数可显著提升性能: 内存相关:shared_buffers建议设为系统内存25%,wal_buffers默认16MB,effective_cache_size应设置较大值 工作内存:maintenance_work_mem影响维护任务速度,从64MB增至256MB可使索引创建时间缩短35% 事务设置:synchronous_commit可关闭以提升性能但降低可靠性 并行处理:max_worker_proc原创 2025-09-04 16:52:41 · 652 阅读 · 0 评论 -
PostgreSQL18-FDW连接的 SCRAM 直通身份验证
PostgreSQL 18引入了一项安全改进:通过postgres_fdw或dblink_fdw连接时支持SCRAM直通身份验证。这项功能允许在不用明文存储密码的情况下建立外部服务器连接,提高了安全性。要使用此功能,需要满足:外部服务器必须配置为SCRAM身份验证,两端服务器必须使用相同的SCRAM密钥,初始连接也必须使用SCRAM。设置步骤包括在两台服务器创建相同用户、配置pg_hba.conf、同步加密密码、设置postgres_fdw和导入外部表。这项改进简化了跨服务器安全连接,特别适合需要联合访问多原创 2025-09-04 16:50:51 · 540 阅读 · 0 评论 -
PostgreSQL与SQL Server:B树索引差异及去重的优势
摘要 PostgreSQL和SQL Server在B树索引实现上存在关键差异。SQL Server通过聚集索引对表数据进行物理排序,而PostgreSQL采用堆存储结构,索引仅作为逻辑指针。PostgreSQL 13+版本引入了去重功能,能将重复值的索引大小压缩至SQL Server的1/3,显著提升I/O效率。测试显示,当值重复1000次时,PostgreSQL的索引比关闭去重功能时小3倍。SQL Server由于不支持去重,索引会随重复值增加而膨胀。PostgreSQL的灵活性在包含大量重复值的场景中展原创 2025-09-04 16:49:43 · 1119 阅读 · 0 评论 -
PostgreSQL与SQL Server:为什么 PostgreSQL遥遥领先
PostgreSQL在多个关键维度上全面超越SQL Server:1)成本优势显著,完全开源免费;2)性能更优,复杂查询速度快40%;3)扩展性更强,支持水平扩展;4)数据类型丰富,支持JSON、地理空间等;5)全文搜索和NoSQL功能更先进;6)数据完整性达99.999%。测试显示PostgreSQL在JSON处理、地理空间查询等场景性能提升2-3倍,而SQL Server需要高昂许可费用。综合评估表明,PostgreSQL是更具成本效益和未来适应性的数据库解决方案。原创 2025-09-04 16:48:34 · 650 阅读 · 0 评论 -
探索 PostgreSQL 和 MySQL 之间的主要差异和相似之处,找到满足您项目需求的最佳数据库解决方案。
PostgreSQL和MySQL作为主流关系数据库,既有共性也有差异。两者都采用表结构存储数据,支持SQL标准并拥有丰富的生态系统。主要区别在于:PostgreSQL性能更强,支持复杂查询、地理空间数据和JSON格式,适合企业级应用;MySQL则更轻量级,读取性能优异,适合Web应用和小型项目。选择时需考虑项目规模、数据类型(如是否需要地理空间支持)、读写比例等因素。大型企业应用推荐PostgreSQL,而小型Web项目MySQL更为便捷。两者都提供云服务支持,部署灵活。原创 2025-09-04 16:47:55 · 801 阅读 · 0 评论 -
处理PostgreSQL中的磁盘I/O瓶颈
摘要: PostgreSQL磁盘I/O瓶颈会导致性能下降,需结合诊断工具与优化策略解决。短期方案包括调整内存参数(如shared_buffers)、优化检查点与WAL设置,以及改进查询(如利用索引和批量写入)。长期策略涵盖硬件升级(SSD/NVMe)、RAID配置、数据分区及引入缓存层(如Redis)。关键是通过iostat、pg_stat_activity等工具精准定位问题,综合配置调优与硬件改进提升I/O效率。原创 2025-09-04 16:46:50 · 921 阅读 · 0 评论 -
readline library not found
在编译postgresql源码时出现以下的错误**********checking for library containing shmget... none requiredchecking for library containing readline... noconfigure: error: readline library not foundIf you have readline already installed, see config.log for details on th.原创 2021-11-19 23:36:09 · 3876 阅读 · 0 评论 -
Greenplum使用pg_dump备份表数据文件
#!bin/bash # 表文件和该文件的行数 tablefile="ods_tablename.sql" lines=`cat $tablefile|wc -l` # 导入密码 export PGPASSWORD=gpadmin # 循环开始备份表中的数据 for tablename in `cat $tablefile` do # 获取该该表的位置 currentlin=`cat $tablefile |grep -rn -w "$tablename"|awk -..原创 2021-03-26 17:51:47 · 732 阅读 · 0 评论 -
Greenplum常见的链接驱动
以下为Greenplum常见的链接驱动,官网推荐的为Pivotal Greenplum JDBC API 驱动名称 下载链接 JDBC Driver Pivotal Greenplum JDBC https://network.pivotal.io/products/pivotal-gpdb#/releases/700113/file_groups/2702 Gre.原创 2020-10-21 16:38:35 · 1844 阅读 · 0 评论 -
Greenplum集群Master与Standby相互切换
Greenplum集群Master与Standby相互切换1 概述 12 查看集群的基本信息 22.1 查看集群的配置信息 22.2 快速查看down segments节点 22.3 查看Master Standby节点的运行状态 22.4 查看Master与Master Standby的配置 33 移除掉Standby 节点 33.1 移除掉Standby节点 33.2 查看Standby的配制 44 在Master节点上创建表 54.1 创建一张测试表 5原创 2020-10-19 10:05:11 · 1345 阅读 · 0 评论 -
Greenplum备份安全与高可用
Greenplum备份安全与高可用目录Greenplum备份安全与高可用目录1 Greenplum高可用 1.1 管理节点 1.2 数据节点 1.3 交换机 1.4 服务器 1.5 Master高可用 1.6 Segment高可用 1.7 系统表高可用 1.8 系统视图高可用2 Greenplum安全 2.1 身份认证 2.1.1 pg_hba.conf配置连接类型 2.1.2 pg_hba...原创 2020-09-03 17:32:22 · 1098 阅读 · 0 评论 -
Greenplum快速上手
Greenplum快速上手目录快速上手Greenplum 1目录 11 Greenplum的介绍 21.1 Greenplum产品发展历程 22 Greenplum市场地位 33 Greenplum架构设计 43.1 Scale up架构 43.2 Greenplum架构图 43.3 Greenplum架构组成 53.3.1 Master Hosts功能 53.3.2 Interconnect功能 53.3.3 Segment Hosts功能 53.4原创 2020-08-26 14:34:05 · 775 阅读 · 0 评论 -
Greenplum数据库服务器常见配置参数
官网介绍:https://gp-docs-cn.github.io/docs/ref_guide/config_params/guc-list.html#enable_bitmapscan参数名字 默认值 参数含义 enable_bitmapscan on 启用或禁用位图查询优化器。 enable_groupagg on 启用或禁用组聚集计划优化器。 enable_hashagg on 启用或禁用哈希优化器。 enable_hashjo原创 2020-07-28 16:10:19 · 922 阅读 · 0 评论 -
Foreign data wrappers
转载地址:https://wiki.postgresql.org/index.php?title=Foreign_data_wrappers&spm=a2c6h.12873639.0.0.68097480atbVAhForeign data wrappersContents[hide]1Foreign Data Wrappers 1.1Generic SQL Database Wrappers 1.2Specific SQL Database Wrappers 1.3N..转载 2020-07-15 17:45:31 · 756 阅读 · 1 评论 -
Greenplum查询优化揭秘
Greenplum查询优化揭秘学习地址:https://space.bilibili.com/489184136Greenplum查询优化揭秘 1目录 11 Greenplum查询优化器和查询计划介绍 11.1 Greenplum查询优化器介绍 11.2 Greenplum查询计划介绍 11.3 计划节点的类型 22 Greenplum查询优化器的的具体处理过程 22.1 查询树的预处理 22.1.1 查询树的预处理(早期) 32.1.2 查询树的预处理(后期).原创 2020-07-13 11:11:43 · 962 阅读 · 0 评论 -
Greenplum使用oralce_fdw连接oracle
Greenplum使用oralce_fdw连接oracle目录Greenplum使用oralce_fdw连接oracle 11 下载oracle客户端,放到/data目录下(主节点) 12 在root和gpadmin用户下配置环境变量(主节点) 12.1 配置环境变量 12.2 建立软连接 22.3 修改权限 23 下载编译oracle_fdw(主节点) 24 编译(主节点) 25 复制编译文件到所有节点 46 分发oracle客户端到所有节点 47 动态连接原创 2020-06-21 22:01:38 · 878 阅读 · 0 评论 -
Greenplum6.x安装PXF插件
目录Greenplum6.x安装PXF插件目录1 安装Hadoop与Hive的客户端 1.1 在大数据平台的主节点(namenode)上打包客户端 1.2 把文件scp到Greenplum的master节点上2 Greenplum的master节点解压文件配置环境变量 2.1 解压文件 2.2 对文件重命名 2.3 为 gpadmin配置环境变量3 PXF安装 3.1 PXF 初始化 3.2 创建新的文件夹 3.3 修改px原创 2020-06-18 13:37:57 · 2221 阅读 · 1 评论 -
Greenplum内核揭秘之执行引擎
Greenplum内核揭秘之执行引擎目录Greenplum内核揭秘之执行引擎 1目录 11 执行器介绍 21.1 什么是执行器 21.2 PlanNode(执行计划节点) 21.3 PlanTree(执行计划树) 21.3 执行模型 31.3.1 迭代模型(Pipeline模型,Pull方式) 31.3.2 向量化模型(VECTORIZATION Model) 31.3.3 PUSH执行模型 41.3.4 PUSH模型的优势 41.3.5 GPDB使用的模原创 2020-06-09 21:44:16 · 635 阅读 · 0 评论 -
GreenPlum常用命令
GreenPlum常用命令gpstate命令 参数 作用gpstate -b => 显示简要状态gpstate -c => 显示主镜像映射gpstart -d => 指定数据目录(默认值:$MASTER_DATA_DIRECTORY)gpstate -e => 显示具有镜像状态问题的片段gpstate -f => 显示备用主机详细信息gpstate -i => 显示GRIPLUM数据库版本gpstate -m => 显示镜像实例同步...原创 2020-05-20 21:20:25 · 633 阅读 · 0 评论 -
PostgreSQL DBA常用SQL
文章原文:https://github.com/digoal/blog/blob/master/202005/20200509_02.mdPostgreSQL DBA最常用SQL作者digoal日期2020-05-09标签PostgreSQL , DBA背景建立视图, 方便查询create schema dba; create view dba.ro_conflicts as select datname,conflicts from pg_stat转载 2020-05-17 11:40:36 · 904 阅读 · 2 评论 -
postgresql数据库事务详解
15 数据库事务详解15.1 事务概述事务(Transaction)是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元。ACID 特性事务具有4个基本特征:分别是:原子性(Atomicity),一致性(Consistency),隔离性(isolation),持久性(Duration)、简称(ACID)隔离级别ACID这4个特征中,最难理解的是隔离性,在标准SQL规范中,定义了4个事务隔离级别,不同的隔离级别对事务的处理不同。4个隔离级别分别是:读未提交..原创 2020-05-16 15:57:20 · 1872 阅读 · 3 评论 -
postgresql 常用索引介绍
6.2 索引介绍6.2.1 索引的简单介绍1、在关系数据库中,索引是一种单独的,物理的对数据库表中一列或多列的值进行排序的一种储存结构,它是某个表中一列或若干列值的集合和相对应的指向表中物理标识这些值的数据页的逻辑指针清单。2、索引的作用相当于图书的目录,可以根据目录中的页码快速查找到所需要的内容。6.2.2 索引常用参数unique : 创建唯一索引concurrently : 在线创建索引,不会阻塞读写操作using method : 默认为btreeasc /des原创 2020-05-15 22:09:30 · 1897 阅读 · 0 评论 -
PostgreSQL中的多版本并发控制-MVCC
更多文章请关注作者公众号1 PostgreSQL中的多版本并发控制-MVCC 11.1 为什么需要MVCC 11.2 不同的MVCC机制 11.3 MVCC 设计的几个概念 11.4 MVCC的工作机制 21.1.1 插入数据实例 21.1.2 修改数据实例 31.1.3 删除数据实例 41.1.4 数据操作总结来说 51 PostgreSQL中的...原创 2020-05-01 22:07:49 · 1201 阅读 · 0 评论 -
Greenplum数据库巡检报告
更多的文章请关注作者微信公众号或访问作者github:https://github.com/xfg0218/greenplum--summarize作者公众号目录目录 21 巡检说明 62 查看集群硬件相关信息 62.1 查看集群当前系统时间 62.2 查看操作系统版本 72.3 查看内核版本 72.4 查看内存的详细信息 72.4.1查看内...原创 2020-04-21 11:42:40 · 2664 阅读 · 0 评论 -
Greenplum 架构和核心引擎
Greenplum 架构和核心引擎Greenplum 架构和核心引擎 1学习地址 21 Greenplum 架构概述 21.1 概述简介 21.2 MPP无共享静态拓扑 31.3 集群内数据分两类 31.4 对用户透明 41.5 用户数据表 41.6 系统表/数据字典 51.7 数据分布:并行化处理的根基 51.8 多态储存:根据数据温度选择最佳的储存方...原创 2020-02-11 16:42:07 · 494 阅读 · 0 评论 -
greenplum 连接池pgbouncer的使用
目录greenplum 对连接池pgbouncer的使用说明1 pgbouncer 介绍1.1 greenplum对pgbouncer的介绍1.2 pgbouncer 官网介绍1.3 中文介绍pgbouncer的使用2 配置pgbouncer连接池2.1 创建PgBouncer需要的配置文件2.2 创建users.txt用户名与密码映射文件3 启动pgBou...原创 2019-11-27 17:25:26 · 1059 阅读 · 0 评论 -
Greenplum生产环境信息同步到test环境中
目录1 安装需要准备的环境2 备份用户信息3 备份数据库信息4 备份schema和function与table的结构信息5 生产与测试环境同步数据5.1 打通生产与测试环境master节点的免密5.2 编写同步表的文件5.3 编写host文件5.4 同步数据最近测试环境进行了重新安装,需要把生产上的信息同步到测试环境下,整理此思路。同步需要在相同大版本下执...原创 2019-11-26 15:49:07 · 452 阅读 · 0 评论 -
Ora2pg 把oracle数据导入到postgres
Ora2pg 使用总结Ora2pg 使用总结 11 Ora2pg特性 12 Ora2pg支持的导出对象 23 Ora2pg数据类型转换对照 24 Ora2pg 安装 34.1 安装需要的驱动包 34.2 下载并安装Oracle 客户端 34.3 安装 DBI 44.4 安装 DBD-Oracle客户端 44.4.1 在当前用户配置一下环境变量 44.4...原创 2019-11-20 22:10:42 · 2276 阅读 · 0 评论
分享