PostgreSQL 源码解读(221)- Locks(PROCLOCK Struct)
本节是PostgreSQL Locks中介绍PROCLOCK结构体部分,翻译自README文件.
PostgreSQL 源码解读(220)- Locks(LOCK Struct)
本节是PostgreSQL Locks中介绍LOCK结构体部分,翻译自README文件.
PostgreSQL 源码解读(219)- Locks(Overview)
本节是PostgreSQL Locks的概要部分,翻译自README文件.
PostgreSQL 源码解读(218)- spinlock的实现
本节介绍了spinlock在不同平台(主要是X86_64和aarch64)下的实现.
PostgreSQL DBA(87) - benchmarksql简介
benchmarksql是一款使用Java开发的测试工具.
到底什么叫智慧?
“智慧”这个词我们经常用,一般认为是个比“智商”和“知识”都高级的词。比如有人说《论语》、《道德经》、佛经这些古代经典里面,有智慧。有人说多读书能够获得智慧。想要获得“智慧”,我们首先得给它找一个可操作的含义。“知识”,我们都知道是什么意思,不用解释。“智商”,很多人知道,它的意思是一个人的认知能力。比如说逻辑推理、模式识别、短期记忆力这些与积累了多少知识关系不大的,但是能反映大脑运算水平的能力。
为什么其他文明没有诞生古希腊的科学?
为什么其他文明没有诞生古希腊的科学? 为什么古代中国没有科学民国时期中国科学的奠基人任鸿隽先生把科学分成了广义上的和狭义上的两个不同的范畴。广义上的科学,是指任何成为体系的、能够自洽的知识。狭义上讲,那科学就是指源于古希腊,建立在严格逻辑推理之上,后来在近代西方科学方法基础上发展起来的,可以证实和证伪的完整体系。 按照狭义科学的定义,不仅中国,还有古印度文明,它和中华文明一样持续了几千年,在很
PostgreSQL DBA(86) - Table Parameter(fillfactor)
本节介绍了PostgreSQL创建数据表时的参数fillfactor,该参数限制了插入数据时序预留多少空闲空间(比例),对于数据表来说默认值为100,索引是90,其解释如下:table The fillfactor for a table is a percentage between 10 and 100. 100 (complete packing) is the default. Wh
PostgreSQL 源码解读(217)- A Faster, Lightweight Trigger Function in C
本节介绍了如何使用C语言实现性能更高的轻量级触发器.主要内容翻译自AFaster,LightweightTriggerFunctioninCforPostgreSQL一、实现步骤已在CentOs7.x上使用源码安装了PG,当前用户为PG实例的owner(pg12),已配置好环境变量,可以运行pg_c
PostgreSQL 源码解读(217)- A Faster, Lightweight Trigger Function in C
本节介绍了如何使用C语言实现性能更高的轻量级触发器.
事务的性质(ACID)
A-原子性:原子性是指事务是操作的基本单元,即:事务的所有动作要么全被执行,要么就一个都不执行。All-Or-Noting。C-一致性:一致性指的是它的正确性。一个事务能正确的将数据库从一个一致状态变换到另一个一致状态。I-隔离性:隔离性是指事务的一种属性,它要求任何事务在任何时候所见到的数据库都是一致的。换句话说,在提交之前,一个执行中的事务不能向其他并发事务透露其执行结果。D-持久性:持久性是
后现代主义
普林斯顿大学哲学教授戴维·温伯格(David Weinberger)《知识的边界》( Too Big to Know ),对后现代主义哲学有个更深入的叙述。温伯格总结了一套逻辑,这个逻辑分五步:第一,一切知识和体验都只是主观的解释。每个人看到的都是自己的视角,都只是世界的一部分,你想的可能和别人想的不一样。第二,你对世界的解释会受到你所处的历史文化的影响。比如这里有棵树,在幼儿园小孩看来,这个树就
Oracle vs PostgreSQL Develop(17) - ARRAY
PostgreSQL可用ARRAY来替代Oracle中的collection type,包括associative array/Varrays (Variable-Size Arrays)/Nested Tables Oracle简单举个例子: drop table if exists employee; create table employee(id int,name varchar(
PostgreSQL DBA(85) - Locks(lightweight locks)
本节介绍了PostgreSQL中的lightweight locks.
Oracle vs PostgreSQL Develop(16) - Prepared Statement
对于除绑定变量外其余相同的SQL语句,PostgreSQL提供了Prepared Statement用于缓存Plan,以达到Oracle中cursor_sharing=force的目的.
Oracle vs PostgreSQL Develop(15) - DISTINCT ON
平时在客户业务的数据分析中,经常有这么一种需求,那就是希望得到某个组里面某些字段最大或最小的记录.比如雇员表: [local]:5432 pg12@testdb=# \d employee Table "public.employee" Column | Type | Collation | Nulla
Oracle vs PostgreSQL Develop(15) - DISTINCT ON
平时在客户业务的数据分析中,经常有这么一种需求,那就是希望得到某个组里面某些字段最大或最小的记录.比如雇员表: [local]:5432 pg12@testdb=# \d employee Table "public.employee" Column | Type | Collation | Nulla
PostgreSQL DBA(84) - Extension(pg_prewarm)
使用pg_prewarm插件可"预热"数据.
PostgreSQL DBA(83) - Extension(pg_buffercache)
使用pg_buffercache插件可查看shared buffer中的内容.
PostgreSQL DBA(82) - PG 12 Improving COPY
Copy命令在PG 12有所增强,在COPY FROM时可添加WHERE条件过滤.