postgres技术分享
文章平均质量分 65
postgres相关
qxy0503
这个作者很懒,什么都没留下…
展开
-
[2021-06-17]PostgreSQL事物提交日志信息clog解析
--//源码位置 src/backend/access/transam/clog.c--//xid事物的状态信息可以在头文件查看--//头文件位置src/include/access/clog.h原创 2021-06-17 16:31:19 · 720 阅读 · 1 评论 -
[2021-06-15]The Internals of PostgreSQL (二)
Chapter 2Process and Memory ArchitectureIn this chapter, the process architecture and memory architecture in PostgreSQL are summarized to help to read the subsequent chapters. If you are already familiar with them, you may skip over this chapter.2.1.转载 2021-06-15 15:40:10 · 250 阅读 · 0 评论 -
[2021-06-11]PostgreSQL Page页解析
通过使用主机层面的hexdump命令结合PG插件pageinspect可以对PG的Page分析,这样对PG的page会有更深的了解--//创建测试表原创 2021-06-11 16:01:07 · 453 阅读 · 0 评论 -
[2021-06-11]PostgresSQL中如何获取源码中定义变量的大小
在分析PostgresSQL源码时,有时候需要知道某些结构体、变量的大小,如果只是从字面来看又无法确定变量的大小,那这个时候可以借助C语言来实现这需求,比如下面的结构体: typedef struct PageHeaderData { /* XXX LSN is member of *any* block, not only page-organized ones */ PageXLogRecPtr pd_lsn; /* LSN: next原创 2021-06-11 15:21:39 · 185 阅读 · 0 评论 -
[2021-06-08]PostgresSQL 查看参数
用过Oracle的朋友都知道,在sqlplus里面可以通过show parameter +name,然后就可以模糊查询到所有相关的参数(隐含参数并且没有修改的除外),如下:原创 2021-06-08 17:28:40 · 1033 阅读 · 0 评论 -
postgres小版本升级
本文为小版本升级案例演示PostgreSQL每次的小版本升级不会改变内部的存储格式,不会改变数据目录, 并且总是向上兼容同一主版本, 例如9.6.2与9.6.1总是兼容的, 以此类推,9.6.3与9.6.2也是兼容的,无论他们之间跨越了几个小版本。 升级小版本也很简单, 只需安装新的可执行文件, 并重新启动数据库实例。本次文档演示的版本为11.1升级到11.71、查看当前安装的服务器版本 postgres=# select version(); ...原创 2020-09-04 15:46:34 · 1641 阅读 · 0 评论 -
postgres Page详解、存储结构、空间使用、空间回收
一、存储结构 在PG中,磁盘存储和内存中的最小管理单位都是page,也是通常所说的block。一般PG页的大小为8K,在源码编译时可以设置。此后都不可更改,因为许多PG内存结构设计都是以此为基础的PG块的定义文件为src/include/storage/bufpage.h lsn:记录最后一次对页修改的xlog记录 checksum:页面的校验和,用于判断当前页是否完整 flags:(指示当前页的状态) ...原创 2020-08-12 14:29:24 · 2093 阅读 · 0 评论 -
postgres阻塞会话查询
1、会话1开启一个会话删除一个表的数据postgres=# begin;BEGINpostgres=# select txid_current(); txid_current -------------- 1050087(1 row)postgres=# select pg_backend_pid(); pg_backend_pid ---------------- 11073(1 row)postgres=# delete from t;DEL原创 2020-08-05 16:23:28 · 1244 阅读 · 0 评论 -
postgres中查看函数创建语句
1、比如创建一个函数postgres=# create function f_ret(id int) returns int as $$postgres$# declarepostgres$# beginpostgres$# return id+1;postgres$# end;postgres$# $$ language plpgsql strict;CREATE FUNCTIONpostgres=# 2、查询f_ret函数的定义postgres=# select pros原创 2020-05-29 11:05:05 · 6199 阅读 · 0 评论 -
postgres中schema访问权限设置
postgres=# create role aa login password 'aa';CREATE ROLEpostgres=#postgres=#postgres=# grant USAGE on SCHEMA my_schema to aa;GRANTpostgres=#postgres=#postgres=# \c - aFATAL: role "a" does not existPrevious connection keptpostgres=#postgr...原创 2020-05-29 10:22:04 · 14883 阅读 · 0 评论 -
深入解析 PostgreSQL 系列之并发控制与事务机制
转载:https://blog.csdn.net/wxyyxc1992/article/details/86725908深入解析 PostgreSQL 系列整理自The Internals of PostgreSQL等系列文章,从碎片化地阅读到体系化地学习,感觉对数据库有了更深入地了解;触类旁通,相互印证,也是有利于掌握 MySQL 等其他的关系型数据库或者 NoSQL 数据库。...转载 2020-04-28 11:54:42 · 477 阅读 · 0 评论