PostgreSQL DBA(183) - PG 14(Better JSON)
PostgreSQL 14对JSON数据的处理增强了易用性,可使用操作符"[]"而不是以前蹩脚的"->、->>"来访问JSON数据.
模型思维(01)
模型思维:01 做一个多模型思考者
PostgreSQL DBA(182) - HOT
PostgreSQL的HOT(Heap Only Tuple)技术在更新数据时通过修改原行指针的方式指向新Tuple的行指针,从而减少了维护索引开销, 值得注意的是,HOT需满足以下两个条件: 1、索引字段的值不变 2、新的版本与旧的版本在同一个HEAP PAGE中(表级参数:fillfactor)
PostgreSQL DBA(181) - Using PostgreSQL as a Data Warehouse
虽然PostgreSQL是行式存储,但仍可用与大多数的数仓场合,下面是PostgreSQL用在数仓中要注意的问题。
PostgreSQL DBA(180) - What is locktype=transactionid
Tom Lane对于locktype=transactionid的解释 Question: Tony Day <tonyd(at)panztel(dot)com> writes: > I have a process that is waiting for a lock and the locktype of the lock is > "transact
PostgreSQL PSQL tips
Just Mark the tips.PSQL tips
PostgreSQL 源码解读(264)- PG 14(Speeding up recovery and VACUUM)
PostgreSQL 14通过改进compactify_tuples函数,去掉了O(nlogn)的qsort操作,使得Recovery和VACUUM操作有明显的性能提升。 一、数据结构itemIdCompactData /* * Tuple defrag support for PageRepairFragmentation and PageIndexMultiDelete */
ACID(Force & Steal)
PostgreSQL使用CLOG/WAL保证在故障(主机软硬件或数据库自身缺陷)出现时数据库的持久性(D)和原子性(A),实际上除了WAL/CLOG之外还有其他多种方式保证A和D.从数据库理论上来看,我们首先要理解两个概念Force和Steal.ForceForce是指在事务commit之前,事务对应的脏页(Dirty Page)必须落盘;与其对应的,No-Force是指在事务commit之前,脏
PostgreSQL 源码解读(263)- PG 14(Improving connection scalability)#15
PostgreSQL 14在MVCC上面有所增强,以保证在大批量客户端连接场景下性能不会出现显著下降(详细可参见参考资料中的链接),本节对函数GetSnapshotData进行跟踪分析。
PostgreSQL 源码解读(262)- PG 14(Improving connection scalability)#14
PostgreSQL 14在MVCC上面有所增强,以保证在大批量客户端连接场景下性能不会出现显著下降(详细可参见参考资料中的链接)。本节介绍了提交记录“snapshot scalability: cache snapshots using a xact completion counter.”中的修改以及涉及的相关数据结构。
PostgreSQL 源码解读(261)- PG 14(Improving connection scalability)#13
PostgreSQL 14在MVCC上面有所增强,以保证在大批量客户端连接场景下性能不会出现显著下降(详细可参见参考资料中的链接)。本节介绍了提交记录“snapshot scalability: Introduce dense array of in-progress xids.”中的修改以及涉及的相关数据结构。
产品的竞争力
把巴拉巴西成功第四定律用在产品竞争力上面,那就是:产品要有竞争力,需要想法+执行力。一、想法。想法来源于客户+产品,需要好的销售、好的市场、好的产品经理;二、执行力。执行力有两个层面,第一个层面是已有实现思路的,剩下的就是堆人,保质保量完成;第二个层面是没有实现思路的,需要捅天花板,一是自己努力,二也是更重要的参考他人的做法。
PostgreSQL 源码解读(260)- PG 14(Improving connection scalability)#12
PostgreSQL 14在MVCC上面有所增强,以保证在大批量客户端连接场景下性能不会出现显著下降(详细可参见参考资料中的链接)。本节介绍了提交记录“snapshot scalability: Move subxact info to ProcGlobal, remove PGXACT.”中的修改以及涉及的相关数据结构。
PostgreSQL 源码解读(259)- PG 14(Improving connection scalability)#11
PostgreSQL 14在MVCC上面有所增强,以保证在大批量客户端连接场景下性能不会出现显著下降(详细可参见参考资料中的链接)。本节介绍了提交记录“snapshot scalability: Move PGXACT->vacuumFlags to ProcGlobal->vacuumFlags.”中的修改以及涉及的相关数据结构。 一、数据结构PROC_HDR /* *
PostgreSQL 源码解读(258)- PG 14(Improving connection scalability)#10
PostgreSQL 14在MVCC上面有所增强,以保证在大批量客户端连接场景下性能不会出现显著下降(详细可参见参考资料中的链接)。本节介绍了提交记录“snapshot scalability: Move PGXACT->xmin back to PGPROC.”中的修改以及涉及的相关数据结构。
PostgreSQL 源码解读(257)- PG 14(Improving connection scalability)#9
PostgreSQL 14在MVCC上面有所增强,以保证在大批量客户端连接场景下性能不会出现显著下降(详细可参见参考资料中的链接)。本节介绍了提交记录“Don't compute global horizons while building snapshots.”中snapmgr.c中的修改以及涉及的相关数据结构。
PostgreSQL 源码解读(256)- PG 14(Improving connection scalability)#8
PostgreSQL 14在MVCC上面有所增强,以保证在大批量客户端连接场景下性能不会出现显著下降(详细可参见参考资料中的链接)。本节介绍了提交记录“Don't compute global horizons while building snapshots.”中procarray.c中的修改以及涉及的相关数据结构。
PostgreSQL 源码解读(255)- PG 14(Improving connection scalability)#7
PostgreSQL 14在MVCC上面有所增强,以保证在大批量客户端连接场景下性能不会出现显著下降(详细可参见参考资料中的链接)。本节介绍了提交记录“Don't compute global horizons while building snapshots.”中procarray.c中的修改以及涉及的相关数据结构。
PostgreSQL DBA(179)-invalid memory alloc request size XXX
问题描述客户反馈在查询bytea字段时,报错: atlasdb=# select * from t_bytea; 2020-12-25 15:28:18.804 CST [1884] ERROR: invalid memory alloc request size XXX 2020-12-25 15:28:18.804 CST [1884] STATEMENT: select * fro
PostgreSQL 源码解读(254)- PG 14(Improving connection scalability)#6
PostgreSQL 14在MVCC上面有所增强,以保证在大批量客户端连接场景下性能不会出现显著下降(详细可参见参考资料中的链接)。本节介绍了提交记录“Don't compute global horizons while building snapshots.”中walreceiver.c、vacuum.c、analyze.c、xlog.c、nbtxlog.c的修改以及涉及的相关数据结构。