Postgresql内核源码分析-heapam分析
本文是基于postgresql 15的代码进行分析解读,演示是在centos8系统上进行。简要说明Heap acess manage,在postgres中默认表的存储类型为heap table,那么针对heap table有一组操作访问接口。当然postgres做了一层抽象,对table的操作抽象成了一组接口定义,类似于虚函数...
PostgreSQL csvlog 源码分析
PostgreSQL csvlog日志格式记录了非常多的信息,通过CSV外部表,可以使用SQL对日志进行分析。 文档中的例子: http://www.postgresql.org/docs/9.5/static/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-CSVLOG CREATE TABLE postgres_log ( log...
PostgreSQL 字符串 collate 与排序 源码分析
事情的起因是这样的,某个用户问我为什么在GP里面查询到的'A' > 'a'和PostgreSQL中查询到的结果不一样,一个是false, 一个true. 但是这个原因其实和Greenplum还是PostgreSQL是没关系的。 原因的根源还是collate。 例如,在使用比较操作符时,可以指定需要比较的字符串的collate来查看这里的区别: postgres=# select 'a...
Postgresql的XLOG累积源码分析
title: PGSQL的XLOG生成和清理逻辑 date: 2018-12-01 08:00:00 categories: Postgresql 总结归纳XLOG清理逻辑 WAL归档 # 在自动的WAL检查点之间的日志文件段的最大数量checkpoint_segments = # 在自动WAL检查点之间的最长时间checkpoint_timeout = # 缓解io压力checkpoin...
PostgreSQL 存储之Page(页面)源码分析
我在另一篇文章:PostgreSQL 数据存储结构 中我们介绍了控制页和数据页的基本存储结构,那是从物理上进行说明各种页面的用途说明。 下面我们是从代码逻辑上来分析页面是如何进行操作和控制的。 页面布局示意图 PageHeader 先简单的看一下源代码中定义的Page头部信息结构体,中文是我自己的理解:源码位置:/src/include/storage/bufpage.h typedef st.....
PostgreSQL standby recover的源码分析 (walreceiver唤醒时机? 为什么standby crash后walreceiver不会立即被唤醒?)
标签 PostgreSQL , 流复制 , stream replication , wal receiver , 唤醒时机 , 状态机 背景 前段时间有位网友提的问题, 当PostgreSQL数据库的standby节点crash后再启动,发现standby节点的wal receiver进程很久才启动并开始从主节点接收WAL。 这段时间是在等待standby节点恢复pg_xlog目录中已有的...
如何从PostgreSQL源码分析哪些操作需要超级用户权限 - 阿里云rds superuser提供了哪些权限
标签 PostgreSQL , 超级用户 , superuser 背景 在数据库中哪些操作需要超级用户的权限才能执行? 这个问题翻文档可能翻不全面,或者是已经比较难以完成的任务。 但是从源码里面是比较好找出这个答案的。 权限 例如 postgres=# select * from pg_authid; rolname | rolsuper | rolinherit |...
PostgreSQL reload配置的动作反馈与源码分析
PostgreSQL reload配置的动作反馈与源码分析 作者 digoal 日期 2016-09-01 标签 PostgreSQL , reload , 配置 背景 PostgreSQL数据库的配置文件中,有一些配置项是支持reload的,但是如果配置写错了,reload时怎么知道呢? 源码分析 reload其实是通过给postmaster进程发SIGH...
PostgreSQL 最佳实践 - 任意时间点恢复源码分析
背景 我们知道PostgreSQL是支持任意时间点恢复的,那么背后的原理是什么? 本文将对PG的时间点恢复进行详细的讲解,帮助用户理解。 本文涉及源码参考PostgreSQL 9.2.2版本. 时间点恢复涉及的参数 我们知道PostgreSQL 支持PITR, 基于时间点的恢复. 通过配置recovery.conf可以指定3种恢复目标, 如下 : recovery_target_name...
PostgreSQL源码分析 备库查询冲突 - User was holding shared buffer pin for too long
背景 PostgreSQL 的基于流复制的物理备库是基于redo的物理块复制备库,允许开放只读的功能,但是需要注意,由于主库可能不断的产生redo,这些redo可能会与备库的QUERY产生冲突。 什么情况下query会堵塞、或与恢复冲突? 当以下操作产生的REDO被复制到备库,并且备库准备拿这些REDO来恢复时。 Access Exclusive locks taken on the prima....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
PostgreSQL您可能感兴趣
- PostgreSQL模式
- PostgreSQL逻辑
- PostgreSQL驱动
- PostgreSQL安装
- PostgreSQL分布式
- PostgreSQL citus
- PostgreSQL调优
- PostgreSQL查询
- PostgreSQL使用方法
- PostgreSQL limit
- PostgreSQL analyticdb
- PostgreSQL手册
- PostgreSQL数据
- PostgreSQL polardb
- PostgreSQL rds
- PostgreSQL同步
- PostgreSQL oracle
- PostgreSQL索引
- PostgreSQL mysql
- PostgreSQL语言
- PostgreSQL阿里云
- PostgreSQL分析
- PostgreSQL性能
- PostgreSQL配置
- PostgreSQL函数
- PostgreSQL功能
- PostgreSQL版本
- PostgreSQL报错
- PostgreSQL库
- PostgreSQL flink