前言各位 PGer 大家好,在此很高兴地告诉各位 ——《PostgreSQL 内参:深入解析运行原理》正式发布了。从最开始萌生翻译成册的想法,再到现今电子版书籍的正式发布,期间磕绊无数,但好在结果是喜人的,三年磨一剑,《PostgreSQL 14 Internals》中文版终于如期而至,各位可...
前言在 AI 时代,答案本身正在快速贬值,而提出好问题的能力正在升值。过去,知识的稀缺点在于找不到答案。谁记得多、查得快、经验多,谁就有优势。但是现在不一样了,随着 AI 的不断革新,很多问题你问 AI、搜引擎、几秒钟就能得到一个”看起来不错”的答案。
但问题是答案容易得到,不代表答案有价值。...
前言大家好,我是 CC,之前我曾写过一个比较简单的一键运维巡检工具:pgcheck,它最早是基于 Bash 和一批历久弥新的祖传 SQL 拼起来的,优点是直接、简单、拿来就能用;缺点也很明显:工程结构比较粗糙,扩展不够优雅,配置方式也不够清爽,而且也可能带来一系列的安全隐患。
最近我对它做了一...
前言PG 中的元组是按照列定义顺序存储的,而不同数据类型有不同的长度和对齐要求;如果列顺序不合理,就会产生额外 padding,导致行变大、page 中可容纳行数减少、I/O 增加、cache locality 下降等,合理调整列顺序,可以减少 padding,从而节省磁盘空间。并且...
前言最近笔者在 PGConf 上分享了一篇关于 YMatrix mxvector 的主题 —— How to implement high performance pluggable vectorized executor (PPT 可以下载了)
在这次分享中,我想分享的是 PostgreS...
前言最近花了点时间看了下 PG 中的并行顺序扫描的实现,有了一些新的认知和思考。
页面如何分配?首先是页面分配的问题,假如现在有个表 t,总共 100 个页面,那这些页面是如何分配给多个 worker 的?是人人平等,还是动态分配,亦或是纯随机乱扫?其实对于并行顺序扫描,其核心机制是:多个 w...
前言对于 pgvector,不管是 IVFFlat 还是 HNSW,对于 vector 类型,都有着明确的 up to 2,000 dimensions 的限制 — 即最大 2K 维,那么为何会有这样的限制?
先入为主的片面需要注意的是,前面提到的 2K 维限制是索引层的限制,而不是向量列本身...
前言在 18 的新版本中,包含了诸多惹眼特性,比如异步 I/O、BTREE Skip Scan、UUIDv7 等等,其实在 18 的新版中,还引入了一项很重要的特性 — NUMA 感知,一直以来,PG 就缺乏 NUMA 的可观测性,希望能看到 buffer 属于哪个 node、sha...
前言最近发现我身边很多朋友都出来单干了,一人成立一个公司,有些可能是现实因素所逼,也有些是想借助于 AI 干点事情,那么为什么会发生这样的现象?
第一,供给侧变了:个人的生产力被 AI 放大了。
过去一个人做公司,最大的瓶颈是:写代码、做设计、写文案、做调研、做客服、做销售跟进,这些都需要人。...
前言2025 这一年,忙到极致,也成长得很快,技术在跑,英语在追,团队也在扩。不过回头看,做事的主线没变。
工作今年工作是真忙,国内项目本身就够吃一壶了 (是的,写下这篇年终总结的今年,我还忙到了凌晨两点),自从开始负责海外项目,那是更忙了。时差是一方面,语言是另一方面,挑战很大,但成长也很实...