加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

面试官:谈谈你对PG体系结构的理解?

发布时间:2019-07-27 09:33:15 所属栏目:编程 来源:波波说运维
导读:本日本文首要从日记文件、参数文件、节制文件、数据文件、redo日记(WAL)、靠山历程这六个方面来先容一下PostgreSQL的架构。 架构 PostgreSQL的首要架构如下: 一、日记文件 1. 日记文件种类 $PGDATA/log 运行日记(pg10之前为$PGDATA/pg_log) $PGDATA/pg_wa

Page默认巨细为8KB,最大32KB,一个数据块中可存放多行的数据。块中的布局如下图:

口试官:谈谈你对PG系统布局的领略?

块头记录了如下信息:

  • 块的checksum值
  • 空闲空间的起始位置和竣事位置
  • 非凡数据的起始位置
  • 其他一些信息
  • 行指针是一个32bit的数字,详细布局如下:
  • 行内容的偏移量,占15bit;
  • 指针的标志,占2bit;
  • 行内容的长度,占15bit。

行指针中暗示行内容的偏移量是15bit,能暗示的最大偏移量是2^15=32768,因此块的最大巨细是32768,即32KB。

2. page物理位置

page的物理位置在$PGDATA/BASE/DATABASE_OID/PG_CLASS.RELFILENODE

必要留意的是,pg_class.relfilenode相同dba_objects.data_object_id,truncate表之后relfilenode会变。对应的物理文件名字也会变。

五、WAL日记

1. wal位置

wal在$PGDATA/pg_wal下。10之前为pg_xlog

2. wal定名名目

文件名称为16进制的24个字符构成,每8个字符一组,每组的意义如下

口试官:谈谈你对PG系统布局的领略?

3. 手动切换WAL日记的呼吁

在PG10之前:

  1. highgo=# select pg_switch_xlog(); 
  2.  pg_switch_xlog  
  3. ---------------- 
  4.  0/B000C48 
  5. (1 row) 

在PG10之后:

  1. highgo=# select pg_switch_wal(); 
  2.  pg_switch_wal  
  3. ---------------- 
  4.  0/B000C48 
  5. (1 row) 

六、靠山历程

pg靠山历程声名如下:

口试官:谈谈你对PG系统布局的领略?

【编辑保举】

  1. MariaDB:真正的及时同步数据库,MySQL要警惕了
  2. 怎样选择高机能NoSQL数据库
  3. 挑衅 Oracle 的环球首个 AI 原生数据库 GaussDB,华为将开源
  4. Linux下怎样实现MySQL数据库天天按时自动备份
  5. 一文学会Mysql数据库机能优化--建设表、计划表、SQL优化
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读