前言各位 PGer 大家好,在此很高兴地告诉各位 ——《PostgreSQL 内参:深入解析运行原理》正式发布了。从最开始萌生翻译成册的想法,再到现今电子版书籍的正式发布,期间磕绊无数,但好在结果是喜人的,三年磨一剑,《PostgreSQL 14 Internals》中文版终于如期而至,各位可...
前言大家好,我是 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 这一年,忙到极致,也成长得很快,技术在跑,英语在追,团队也在扩。不过回头看,做事的主线没变。
工作今年工作是真忙,国内项目本身就够吃一壶了 (是的,写下这篇年终总结的今年,我还忙到了凌晨两点),自从开始负责海外项目,那是更忙了。时差是一方面,语言是另一方面,挑战很大,但成长也很实...
一直以来,我的弱势就是英语,尤其是口语。不是不想学,而是国内环境确实没什么地方能天天开口练,光靠背单词、记语法,效果非常有限 —— 不说、不练,没几天就忘得差不多了。最近跑国外来了,一回生二回熟,这边客户也说英语,我也只能用英语交流。
说实话,刚开始压力挺大,尤其是为了培训,哐哐哐提前写了一大...