几点PostgreSQL读书笔记

本文是作者关于PostgreSQL(PG)的读书笔记,探讨了PG的AUTOCOMMIT关键字、表分区时机、最大事务ID限制、主从复制功能、版本管理机制、第三方插件升级、表分区实现和缺少UNDO LOG等问题。作者指出PG在一些方面相比其他数据库系统存在差异,如晚10年引入主从复制功能,以及其特有的MVCC实现带来的vacuum挑战。尽管有挑战,作者仍认为PG是一个伟大的数据库系统。
摘要由CSDN通过智能技术生成
前言

几条PG读书笔记,并谈谈个人浅见,欢迎讨论。

我去年出差略多,于是在路上把目前主要的两本PostgreSQL书大概翻了翻,做了些笔记,谈点个人看法。

以下简称PG,反正都懂。文内对PG有误解或说错的地方还请批评指正。

第一部分笔记,基于《PostgreSQL修炼之道》一书为主。该书唐成著,2015年出版。此时PG的最新版本应该是9.4。本文亦有基于其他资料。

注:以下“唐老师”指唐成老师,“张老师”指张文升老师。

1. AUTOCOMMIT关键字

事务自动提交模式关键字AUTOCOMMIT,只能大写,小写不行,大小写混合也不行。

唐老师: AUTOCOMMIT,是指psql默认autocommit是on的,我见过的多数人喜欢自动提交。如果觉得这样不安全,可以在.psqlrc中一次性配置好,就不同改了。

点评:这个是小事,但用起来稍微有点不太方便。

2. 什么时候开始表分区

建议当表大小超过PG可用的物理内存时,就开始做表分区。不太了解这个建议是怎么得来的...

唐老师:这个表具体多大该建分区,不同人有不同的认识。通常如果超过内存大小,cache的作用就很弱了。所以超过了物理内存大小,一定应该分区了。

实际上,目前机器的内存都比较大,如512G,实际上表远远没有到512G大小就应该建分区。我个人认为超过32GB,就应该建成分区表。

点评:个人看法,表分区并不是必要的,要综合考虑这个表的宽度(行平均长度)、事务活跃度、数据分布情况,不一而同。

3. 最大事务ID不能超过INT32

事务ID不能超过4字节(32-bit)整数,而且还存在回卷的问题。

唐老师:关于事物ID 32bit的问题,实际上不是把32bit改成64bit就解决问题了。个人认为如果只是改成64bit,实际上没有太大用处。

P

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值