发布于 2019
-
PostgreSQL中的锁
2019-06-11 @ 开发
PostgreSQL的并发控制以 快照隔离(SI) 为主,以 两阶段锁定(2PL) 机制为辅。PostgreSQL对DML(SELECT, UPDATE, INSERT, DELETE等命令)使用SSI,对DDL(CREATE TABLE等命令)使用2PL。 PostgreSQL有好几类锁,其中最主要的是 表级锁 与 行级锁,此外还有页级锁,咨询锁等,表级锁 通常是各种命令执行时自动获取的,或者通过事务中的LOCK语句显式获取;而行级锁则是由SELECT FOR UPDATE|SHARE语句显式 …
-
数据库集簇,数据库,数据表
2019-06-01 @ 原理
第一章和第二章简单介绍了一些PostgreSQL的基础知识,有助于读者理解后续章节的内容。本章包括以下几个主题: 数据库集簇(database cluster) 的逻辑结构 数据库集簇的物理结构 堆表(heap table) 文件的内部布局 从表中读写数据的方式 如果你已经熟悉这些内容,可以跳过本章。 1.1 数据库集簇的逻辑结构 数据库集簇(database cluster)是一组数据库(database) 的集合,由一个PostgreSQL服务器管理。第一次听到这个定义也许会令人疑 …
-
购买《PG Internal》
2019-05-31 @ 原理
点击下面的图片前往京东购买《PostgreSQL指南:内幕探索》(博文视点出品) [The Internals of PostgreSQL for Database Administr]
-
GIN搜索的O(n2)负载度
2019-04-12 @ 开发
Here is the detail of why that query have O(N^2) inside GIN implementation. Details Inspect the index example_keys_idx postgres=# select oid,* from pg_class where relname = 'example_keys_idx'; -[ RECORD 1 ]-------+----------------- oid | …