- 博客(194)
- 收藏
- 关注
原创 应届生简历投了50家没回音,新来的实习生却靠一张证拿了数据库 Offer
去年秋招季,我在技术群里看到一个帖子。发帖的是某二本计科专业的大四学生。他说自己从九月开始海投,投了将近五十家,收到面试邀请的只有五家,走到技术终面的只有一家,最后还是被刷了。他把简历截图发出来让大家帮忙诊断,我看了一眼——没过四级,没有实习经历,项目经验一栏写着“学生管理系统(Spring Boot + MySQL)”,证书那一栏是空的。群里有人建议他包装一下项目经验,有人说让他去 GitHub 上扒个开源项目凑数。
2026-05-11 15:04:39
525
原创 PostgreSQL安装后连不上?新手必踩的5个坑,我帮你填平了
上面这五个坑填平了,日常开发测试基本够用了。但如果你想系统地掌握PostgreSQL,不再每次遇到问题都临时百度,我建议你花一顿饭钱把基础打牢。我自己带新人的时候会让他们先过一遍PGCCC的PCA认证课程。体系完整:从安装配置、用户权限、SQL基础到备份恢复,覆盖了一个初级DBA/开发必须掌握的80%核心操作。国家级证书:工业和信息化部教育与考试中心颁发,官网可查。对于学生和刚入行的来说,简历上有这个比写“熟悉PostgreSQL”有说服力得多。性价比惊人:原价1560元,现在199元。
2026-04-22 16:41:11
154
原创 PostgreSQL DBA 进阶:从日常运维到生产级性能与高可用实战
日常运维只会基础操作,面对生产故障手足无措慢查询频发、表膨胀严重,不知从何下手优化高可用架构不扎实,主从切换频繁出问题知识碎片化,没有体系化进阶路径本文结合实战认证体系,帮你打通进阶链路,掌握生产级核心技能,成为企业信创项目刚需的 PG 技术骨干。
2026-04-22 16:37:03
399
原创 那些转行做DBA的人,后来都怎么样了
最近几年,PostgreSQL 在国内数据库圈子里越来越热。LinkedIn《2026 技术人才趋势报告》显示,PostgreSQL DBA 的招聘量同比激增 73%,平均薪资较 MySQL DBA 高出 28%。这意味着市场上对 PG DBA 的需求正在快速放大。与此同时,越来越多非 DBA 背景的人正在往这个方向挤。有做开发转过来的,有做系统运维转过来的,甚至有做网络工程师转过来的。他们有一个共同的想法:DBA 这个岗位“稳”,不容易被裁,越老越吃香。但转行这条路,真像他们想的那么容易吗?
2026-04-20 17:35:26
339
原创 PCM认证大师专访 | 马天源
大家好,我是马天源,来自宁夏银川。家乡虽地处西北,却有着独特的塞上风情——不仅有鲜美的羊肉和红枸杞,更有雄浑的贺兰山与古老的黄河文明,欢迎大家来感受这片土地的热情与辽阔。我本科攻读计算机专业,对编程和数据库有着较难浓厚的兴趣,尤其对数据库技术充满好奇与热情。大学毕业后,一直从事计算机相关领域,后缘巧合之下,我走上了数据库工程师的道路,从理论学习到实战深耕,一步步将兴趣变成了职业,后来由oracle工程师转战国产化数据库工作。
2026-01-23 19:01:43
639
原创 PostgreSQL 高可用集群实战分享:从架构选型到故障切换全解析
高可用核心目标:RTO(停机时间)最小化、RPO(数据丢失)最小化;两种主流方案对比:repmgr 轻量易用,适合中小企业;Patroni+etcd 强一致,适合关键业务;关键组件作用:pgbouncer 优化连接管理,HAProxy 实现负载均衡,Prometheus+Grafana 保障监控可见性;运维核心思维:预防为主(定期演练、备份)、快速恢复(故障切换、排错)。
2025-12-25 15:02:29
829
原创 PostgreSQL Certified Master 个人专访 | 第五期 张海荣
大家好,我是张海荣,来自六朝古都——南京,目前专注于数据库领域相关工作。我对数据库技术充满热情,尤其关注开源数据库 PostgreSQL的生态建设、性能优化与企业级应用推广。工作之余,我热爱篮球、羽毛球、骑行等运动,享受运动带来的专注与坚持感。我始终相信,工作是事业的起点,兴趣是成长的燃料。希望在不断挑战技术边界的同时,为开源数据库的普及、产业数字化转型尽一份绵薄之力。CSDN博客:king_harry。
2025-10-17 13:50:22
562
原创 PostgreSQL Certified Master 专访 | 第四期 贾桂军
由PGCCC发起的“PostgreSQL Certified Master个人专访”栏目,旨在挖掘PCM们对数据库行业的深度洞察,分享他们对行业发展的思考和个人感悟,对广大PGer们具有实际借鉴意义。
2025-08-20 12:42:30
1225
原创 PostgreSQL Certified Master 专访 | 第三期 李洋
大家好,我是李洋,我的家乡是美丽的天津,它是一座融合历史与现代,兼具经济活力和文化底蕴的城市。我的爱好十分广泛,其中我最喜欢的是阅读和运动。阅读对我来说是一种享受,它能让我开阔视野、增长知识、丰富内心世界。运动也是我生活中不可或缺的一部分,我热衷于跑步和篮球。运动时,我可以尽情享受汗水挥洒的感觉,释放生活和工作中的压力,同时它也锻炼了我的意志力和耐力,让我拥有更健康的体魄去面对各种挑战。我从事的是数据库管理工作,在这个领域已经有 16 年的时间。
2025-08-18 15:25:38
520
原创 【PGCCC】在 Postgres 中构建复制安全的 LSM 树
本文探讨了在PostgreSQL中实现日志结构化合并树(LSM树)时遇到的复制安全挑战。传统B树和GIN索引虽优化查找但写入吞吐受限,而LSM树通过内存缓冲和分段合并实现高效写入。研究发现PostgreSQL的WAL传输机制不足以保证LSM树的复制安全,主要体现在:1)多缓冲区操作缺乏原子性会导致结构损坏;2)VACUUM操作与并发查询冲突会破坏逻辑一致性。解决方案包括:使用写时复制技术保证物理一致性,启用hot_standby_feedback参数让备库反馈查询状态以避免数据提前清理。这些措施使LSM树在
2025-07-22 09:29:00
1572
原创 【PGCCC】OpenAI: 如何将 PostgreSQL 扩展到新的水平
在PGConf.dev 2025全球开发者大会上, OpenAI 的Bohan Zhang分享了 OpenAI 使用 PostgreSQL 的最佳实践,让人们得以一窥这家最著名的独角兽公司之一的数据库使用情况。在 OpenAI,我们采用了一个包含一个写入器和多个读取器的未分片架构,这证明了 PostgreSQL可以在海量读取负载下优雅地扩展。——PGConf.dev 2025,来自 OpenAI 的 Bohan Zhang。
2025-06-10 09:42:53
1065
原创 【PGCCC】Postgres 18 Beta 版发布:您应该了解的 7 个功能
Postgres 18 Beta 1刚刚发布。与之前的主要版本一样,此 Beta 版本包含所有计划正式发布的功能的预览版。您可以阅读发行说明来了解完整的更新列表,但我们将在本文中重点介绍一些更新亮点。
2025-05-20 10:11:55
952
原创 【PGCCC】PostgreSQL 18 Beta 1发布,有哪些亮点?
PostgreSQL 全球开发组于 2025 年 5 月 8 日发布了第一个 PostgreSQL 18 Beta 版本,现已开放下载。虽然细节可能会有所改变,但是该版本包含了 PostgreSQL 18 最终正式版中所有新功能的预览。以下是 PostgreSQL 18 引入的部分关键功能亮点。
2025-05-13 11:49:33
1158
原创 【PGCCC】SQL案例分析:2025第一季度全国各省GDP数据
2025 年第一季度全国各省 GDP 初步核算数据已经陆续发布,我通过互联网收集了一些相关数据,下载链接:接下来我们使用 SQL 对这些数据进行一些分析。
2025-05-06 10:01:40
692
原创 【PGCCC】Postgres 故障排除:修复重复的主键行
如何从表中删除不需要的重复行。这些重复行之所以“不需要”,是因为同一个值在指定为主键的列中出现多次。自从 glibc 好心地改变了排序方式后,我们发现这个问题有所增加。当用户升级操作系统并修改底层 glibc 库时,这可能会导致无效索引。唯一索引损坏的主要影响之一是允许添加本应由主键捕获的行。在对问题一无所知的情况下,解决问题的第一步是什么?如果你说备份,那你答对了!每当你认为数据库有问题时,或者在尝试修复此类问题之前,都应该进行一次全新备份。——只要有重复的行,就无法创建(或重新创建)唯一索引。
2025-04-23 09:44:19
957
原创 【PGCCC】Postgres 扩展路线图
值得一看,尤其是在执行更繁重、更复杂的查询时。Postgres 的默认设置非常保守,而且是很久以前的版本。即使你有一个 1 亿行的表,Postgres 默认也只会查看最多 3 万行——这意味着规划器的假设是基于查看约 0.03% 的数据做出的,这仅代表稳定且均匀的工作负载。自定义统计数据的实用性/收益在社区中一直存在一定争议 - 但我认为表达式部分(v14+)绝对是有用的,相比之下,创建一些轻量级索引只是为了让统计数据帮助规划者,就像过去所做的那样。
2025-04-21 10:08:14
993
原创 【PGCCC】Postgres MVCC 内部:更新与插入的隐性成本
为了理解为什么更新行为与插入不同,我们首先看看 MVCC 在 Postgres 中的工作方式。多版本并发控制 (MVCC) 是 Postgres 用于处理同一行的并发事务同时保持数据一致性和隔离性的机制。Postgres 不会在读取和写入期间锁定行,而是创建一行的多个版本,以允许事务在不相互阻塞的情况下运行。一行的多个版本被称为元组 (Tuples)。如果插入一行,则有 1 个元组与之关联。如果更新同一行,则存在 2 个元组,其中一个是活的,另一个是死的。
2025-04-17 10:01:12
1148
原创 【PGCCC】为什么 PostgreSQL 需要为替代表引擎提供更好的 API?
长期以来,PostgreSQL 一直拥有一个可扩展的索引访问方法 API(称为 AM),它经受住了时间的考验,并允许许多强大的扩展提供自己的索引类型。例如:rum、pgvector、bloom、zombodb等。PostgreSQL 12 引入了 Table AM API,承诺为表访问方法提供同等的灵活性。
2025-04-02 15:47:57
1063
原创 【PGCCC】PostgreSQL Certified Master 个人专访 | 第二期 何雄
大家好,我是何雄,工作中的英文名:Sean (肖恩)。也有一个曾经使用很多年的网名:iihero。目前在SAP北京研究院从事数据库领域相关工作。我来自湖北(黄冈)蕲春,位于湖北东南部,明代医药学家李时珍的故乡,同时也是一个教授县。我的爱好:数据库相关技术、太极拳、乒乓球。附带说一下,业余拿过国家武术职业教练资格证,中国武术六段,陈式太极拳第13代传人(北京陈式太极拳第5代传人),国家一级段位考评员,多年担任北京陈式太极拳研究会副秘书长。一直坚持传授陈式太极拳给大众。
2025-03-26 10:29:05
1141
原创 【PGCCC】使用 pg_input_is_valid 验证 Postgres 中半结构化数据加载的数据类型
处理大数据负载和/或数据类型更改可能很棘手 - 尤其是在大型数据集中查找和纠正个别错误。Postgres 版本 16、17 及更新版本具有一项新功能来帮助进行数据验证:pg_input_is_valid。pg_input_is_valid是一个可以查询的 SQL 函数,它将确定给定的输入是否可以解析为特定类型,如数字、日期、JSON 等。这是一个非常基本的查询,用于询问“123”是否是有效的整数。此函数给出 t-真和 f-假的响应。
2025-03-11 11:17:15
583
原创 【PGCCC】PostgreSQL Certified Master 个人专访 | 第一期 王丁丁
大家好,我是王丁丁,服务于工业互联网,Oracle、PostgreSQL ACECSDN博客专家及B站知名UP主,全网粉丝10万+,15年DBA运维经验维保面板、光伏、半导体、新能源等制造业大公司40+。公众号:IT 邦德CSND:IT邦德B站:jeames007。
2025-03-05 16:17:33
947
原创 【PGCCC】PostgreSQL 的弊端(第一部分):临时表
PostgreSQL 是世界上最强大的数据库系统之一。我一直对它的强大功能充满热情,尤其是它的现代 SQL 语言功能。然而,这并不意味着一切都很好。有些地方还是很麻烦。新手用户如果不知道这个问题,可能会遇到麻烦,而且我发现这种情况经常发生。这是给那些使用临时表围绕 PostgreSQL 设计解决方案的人的提示。
2025-02-25 09:56:33
1099
原创 【PGCCC】pg_squeeze 1.8:自动表膨胀清理的扩展
PostgreSQL 扩展可从表中删除未使用的空间,并可选择根据特定索引对元组进行排序(就像CLUSTER命令与常规读取/写入同时执行一样)。事实上,我们尝试替换 pg_repack扩展。虽然 (1) 使配置和使用都更简单(与使用服务器和客户端代码的pg_repack相比 ),但它还允许使用后台工作者相当顺利地实现无人值守处理。至于 (2),一个重要的区别(除了使用后台工作者之外)是我们使用逻辑解码而不是触发器来捕获并发变化。
2025-02-13 10:20:05
937
原创 【PGCCC】commit_delay 对性能的提升:PostgreSQL 基准测试
通过禁用参数可以来调整事务工作负载synchronous_commit。该措施有惊人效果。但在操作系统崩溃期间丢失已提交事务的可能性使其成为许多应用程序无法启动的因素。因此我决定写下来。
2025-02-10 16:03:05
980
原创 【PGCCC】在 PostgreSQL 上使用 pg_hint_plan替换 Oracle Hints 的最佳实践
如果您要从 Oracle 数据库迁移到 PostgreSQL,您可能习惯于使用提示来优化查询。在 Oracle 中,这些是嵌入在 SQL 中的特殊指令(如/*+ INDEX(…) */),用于指导优化器的执行计划。它们可能非常有用,但随着时间的推移也会引入复杂性和“提示债务”。PostgreSQL 采用了一种截然不同的查询优化方法。Postgres 社区历来强调依靠基于成本的规划器来根据统计数据、索引和配置参数选择执行计划,而不是支持内置提示。在实践中,这种方法很多时候都有效,但有时规划器会很固执,不断选择
2025-02-08 10:00:34
1066
原创 【PGCCC】表级锁剖析:减少锁定影响
我之前撰写有关的博客。在这篇博客中,我们讨论了数据库系统使用锁定机制的原因以及 Postgres 如何利用 MVCC 来避免大多数并发问题,从而减少锁定的必要性。然后我们讨论了 DDL 锁,并解释了 Postgres 锁队列的工作原理。在这篇后续文章中,我们将讨论锁争用,以探索减少生产系统中锁定影响的方法,以减少与 DDL 更改相关的潜在停机风险。
2025-02-06 15:27:21
794
原创 【PGCCC】用于全文搜索的全新 Postgres 块存储布局
块存储的基本单位是块:8192 字节的块。执行查询时,Postgres 将块读入缓冲区,这些缓冲区存储在 Postgres 的缓冲区缓存中。DML(INSERT、、、 )语句不会修改物理块。相反,UPDATE它们的更改会写入底层缓冲区,这些缓冲区稍后会在从缓冲区缓存中逐出或在检查点期间刷新到磁盘。DELETECOPY如果 Postgres 崩溃,对尚未刷新的缓冲区的修改可能会丢失。为了防止这种情况,对索引的任何更改都必须写入预写日志 (WAL)。
2025-02-05 11:39:50
980
原创 【PGCCC】PostgreSQL 中表级锁的剖析
PostgreSQL 使用多版本并发控制 (MVCC)来避免传统上与数据库相关的许多锁定问题。写入数据的新副本而不是修改行。确保读取不会阻塞写入,并且写入不会阻塞读取。当事务更新数据时,Postgres 会创建行的新版本,同时保留旧版本。
2025-01-21 15:51:16
1441
原创 【PGCCC】空闲事务导致表膨胀?等等,什么?
当未使用或过时的数据(称为死元组)在表和索引中累积时,PostgreSQL中的表就会膨胀。PostgreSQL使用多版本并发控制(MVCC)机制来维护数据一致性。每次更新或删除都会创建一行的新版本,而旧版本则会保留,直到通过自动清理过程或手动清理将其清理干净。当这些死元组堆积起来且未被移除时,膨胀就会成为问题,从而增加表和索引的大小。表越大,查询速度越慢,导致数据库性能下降和存储成本增加。
2025-01-20 13:40:32
913
原创 【PGCCC】PostgreSQL 事务及其使用方法
简单来说,事务就是对数据库中任何更改的传播。假设您向数据库添加了一个新元素 — 这是事务的一个例子。事务不一定只是单一更改,而是可以包含一个或多个操作。在实际应用中,事务通常是各种数据库操作的组合。关于 PostgreSQL 事务,需要注意的重要一点是它们符合ACID标准。这意味着它们是一致的、原子的、持久的和隔离的。事务是一致的,因为更改会同时传播到整个数据库 - 换句话说,不会有任何差异。它们是任何数据库的最基本单元,因此是原子的。
2025-01-13 10:22:49
831
原创 【PGCCC】PostgreSQL 临时文件的使用
当以temp_tablespaces交互方式设置时,指定不存在的表空间是错误的,指定用户没有 CREATE 权限的表空间也是如此。但是,当使用以前设置的值时,**不存在的表空间将被忽略,用户缺少 CREATE 权限的表空间也将被忽略。但在事务中,连续创建的临时对象将放置在列表中连续的表空间中。当 CREATE 命令未明确指定表空间时,此变量指定在其中创建临时对象(临时表和临时表上的索引)的表空间。此外,您可以将您的指向temp_tablespaces更快的磁盘,例如速度更快的 nvme。
2025-01-13 09:47:40
1650
原创 【PGCCC】PostgreSQL 的一些你可能不知道但应该尝试的功能
PostgreSQL包含许多重要的功能。他们中的许多人都非常知名。其他人可以是非常有用的,但没有广泛赞赏。以下是我们首选的PostgreSQL功能,您可能没有仔细看过,但实际上应该这样做,因为它们可以帮助您更快地将代码投入生产,使操作更轻松,并且通常可以使用更少的代码和劳动来完成任务。
2025-01-09 15:43:28
893
原创 【PGCCC】如何加快 SQL 查询速度的同时保持SQL的简洁?
在本文中,我们介绍了优化 SQL 查询的一些技巧。通常,对查询速度产生最大影响的因素是正确使用索引。希望本文中的内容能帮助到你。#PG证书#PG考试#PostgreSQL培训#PostgreSQL考试#PostgreSQL认证。
2025-01-08 16:08:46
671
原创 【PGCCC】在 PostgreSQL 中,如何优化对于日期范围的查询?
优化 PostgreSQL 中的日期范围查询需要综合考虑多个因素,包括建立合适的索引、选择正确的数据类型、避免函数操作、利用分区表和索引条件下推等技术,并通过 EXPLAIN 命令来评估和调整查询计划。通过合理的优化措施,可以大大提高日期范围查询的性能,满足实际应用的需求。#PG证书#PG考试#PostgreSQL培训#PostgreSQL考试#PostgreSQL认证。
2025-01-07 10:13:09
1273
原创 【PGCCC】PostgreSQL 作为向量数据库:入门和扩展
这篇文章介绍了如何使用 PostgreSQL 作为向量数据库构建生成式 AI 应用程序。从使用 pgvector 扩展启动 PostgreSQL,加载 Airbnb 数据集,到查找相关房源,还提到了扩展性能和可扩展性的方法,如使用专用索引和分布式版本如 YugabyteDB。PostgreSQL 拥有丰富的扩展和解决方案生态系统,使我们能够将该数据库用于通用人工智能应用程序。本指南将引导您完成使用 PostgreSQL 作为向量数据库构建生成式 AI 应用程序所需的步骤。
2024-12-26 10:29:18
2085
原创 【PGCCC】解锁 7 大技巧,避免你的 Postgres 挂掉
现在有趣的是:如果另一个事务 C 加入,它不仅需要检查与事务 A 的冲突,还需要检查与事务 B 以及锁队列中其他所有事务的冲突。虽然 VACUUM FULL 有一些有效的使用情况,例如表以前很大,但现在变小了,仍占用大量空间,但这极可能不是你面临的情况。如果添加的列有默认值,PostgreSQL 会重写整个表,为每一行填写默认值,这对大型表来说可能需要数小时。这意味着即使你的 DDL 命令可以非常快速地运行,它也可能在队列中等待很长时间,因为需要等待其他查询完成,并且在它之后启动的查询将会被它阻塞。
2024-12-25 16:30:39
1044
原创 【PGCCC】Postgresql Varlena 结构
postgresql 会有一些变长的数据类型,存储都是采用 varlena 格式的(除了 cstring 类型),通过语句 SELECT typname FROM pg_type WHERE typlen = -1就可以看到所有采用 varlena 格式的数据类型,比如常见的 text ,json 类型。
2024-12-20 10:05:27
993
原创 【PGCCC】Postgres 和 MySQL 应该怎么选?
在此测试场景中,MySQL展示了略高的每秒事务处理能力和较低的延迟,这可能与它的存储引擎和缓存策略有关。PostgreSQL在处理复杂的事务和并发场景时仍然表现良好,但其TPS略低于MySQL。需要注意的是,实际生产环境中的性能会受到具体应用工作负载、数据库调优、硬件性能等多种因素的影响。
2024-12-18 09:52:45
1176
原创 【PGCCC】为什么高性能场景选用Postgres SQL 而不是 MySQL
MySQL MySQL声称自己是最流行的开源数据库,它属于最流行的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件之一。LAMP中的M指的就是MySQL。构建在LAMP上的应用都会使用MySQL. MySQL最初是由MySQL AB开发的,然后在2008年以10亿美金的价格卖给了Sun公司,Sun公司又在2010年被Oracle收购。Oracle收购导致MySQL的出现两个版本:商业版和社区版。
2024-12-16 11:02:54
1014
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅