-
第六章 垃圾清理过程
2018年01月06日 in PG 内核
**清理(VACUUM)**是一种维护过程,有助于PostgreSQL的持久运行。它的两个主要任务是删除死元组,以及冻结事务标识,两者都在第5.10节中简要提到过。 为了移除死元组,清理过程有两种模式:并发清理(Concurrent Vacuum) 与完整清理(Full Vacuum) 。并发清理(通常简称为VACUUM)会删除表文件每个页面中的死元组,而其他事务可以在其运行时继续读取该表。相反,完整清理不仅会移除整个文件中所有的死元组,还会对整个文件中所有的活元组进行碎片整理。而其他事务在完整 …
-
第七章 堆内元组与仅索引扫描
2018年01月05日 in PG 内核
本章中介绍两个和索引扫描有关的特性—— 堆内元组(heap only tuple, HOT)和仅索引扫描(index-only scan) 。 7.1 堆内元组(HOT) 在8.3版本中实现的HOT特性,使得更新行的时候,可以将新行放置在老行所处的同一个数据页中,从而高效地利用索引与表的数据页;HOT特性减少了不必要的清理过程。 在源码的README.HOT中有关于HOT的详细介绍,本章只是简短的介绍HOT。首先,7.1.1节描述了在没有HOT特性的时候,更新一行是怎样一个过程,以阐明要解决的问 …
-
Wireshark抓包分析协议
2018年01月05日 in PG 管理
Wireshark是一个很有用的工具,特别适合用来分析网络协议。 这里简单介绍使用Wireshark抓包分析PostgreSQL协议的方法。 假设调试本地PostgreSQL实例:127.0.0.1:5432 快速开始 下载并安装Wireshark:下载地址 选择要抓包的网卡,如果是本地测试选择lo0即可。 添加抓包过滤器,如果PostgreSQL使用默认设置,使用port 5432即可。 开始抓包 添加显示过滤器pgsql,这样就可以滤除无关的TCP协议报文。 然后就可以执行一些操作,观察并分 …
-
第八章 缓冲区管理器
2018年01月04日 in PG 内核
缓冲区管理器(Buffer Manager)管理着共享内存和持久存储之间的数据传输,对于DBMS的性能有着重要的影响。PostgreSQL的缓冲区管理器十分高效。 本章介绍了PostgreSQL的缓冲区管理器。第一节概览了缓冲区管理器,后续的章节分别介绍以下内容: 缓冲区管理器的结构 缓冲区管理器的锁 缓冲区管理器是如何工作的 环形缓冲区 脏页刷写 图8.1 缓冲区管理器,存储和后端进程之间的关系 8.1 概览 本节介绍了一些关键概念,有助于理解后续章节。 8.1.1 …
-
第十章 基础备份与时间点恢复
2018年01月02日 in PG 内核
在线数据库备份大致可分为两类:逻辑备份和物理备份。它们有着各自的优点和缺点。尽管各有优劣,但逻辑备份有一个缺点:执行需要花费太多时间。特别是对于大型数据库而言,需要花费很长时间进行备份,而从备份数据中恢复数据库可能需要更长的时间。相反的是,物理备份可以在相对较短的时间内备份和恢复大型数据库,因此在实际系统中,它是一个非常重要而实用的功能。 在PostgreSQL中,自8.0版本开始提供在线的全量物理备份,整个数据库集簇(即物理备份数据)的运行时快照称为基础备份(base backup)。 …
-
file_fdw妙用无穷——从数据库读取系统信息
2017年12月01日 in PG 管理
PostgreSQL是最先进的开源数据库,其中一个非常给力的特性就是FDW:外部数据包装器(Foreign Data Wrapper)。通过FDW,用户可以用统一的方式从Pg中访问各类外部数据源。file_fdw就是其中随数据库附赠的两个fdw之一。随着pg10的更新,file_fdw也添加了一颗赛艇的功能:从程序输出读取。 小霸王妙用无穷,我们能通过file_fdw,轻松查看操作系统信息,拉取网络数据,把各种各样的数据源轻松喂进数据库里统一查看管理。 安装与配置 file_fdw是Pg自带的组 …
-
源码编译安装 PostGIS
2017年09月07日 in PG 管理
强烈建议使用使用 yum / apt 命令从 PostgreSQL 官方二进制仓库安装 PostGIS。 参考http://www.postgresonline.com/journal/archives/362-An-almost-idiots-guide-to-install-PostgreSQL-9.5,-PostGIS-2.2-and-pgRouting-2.1.0-with-Yum.html 1. 安装环境 CentOS 7 PostgreSQL10 PostGIS2.4 …
-
Linux 常用统计 CLI 工具
2017年09月07日 in PG 管理
top free vmstat iostat top 显示Linux任务 摘要 按下空格或回车强制刷新 使用h打开帮助 使用l,t,m收起摘要部分。 使用d修改刷新周期 使用z开启颜色高亮 使用u列出指定用户的进程 使用<>来改变排序列 使用P按CPU使用率排序 使用M按驻留内存大小排序 使用T按累计时间排序 批处理模式 -b参数可以用于批处理模式,配合-n参数指定批次数目。同时-d参数可以指定批次的间隔时间 例如获取机器当前的负载使用情况,以0.1秒为间隔获取三次,获取最后一次 …