postgresql保存图片_第一章 PostgreSQL中的数据库集群、数据库和表

这一章主要介绍四个概念:

数据库集群的逻辑结构

数据库集群的物理结构

表文件的内部布局

读写数据元组的方法

01

数据库集群的逻辑结构

Pg中的集群,也即database cluster,是由PostgreSQL服务端来管理的一组数据库(database)的集合。注意这里是数据库(database)的集合,不是数据库服务(database servers)的集合。一个PostgreSQL服务器运行在单个主机上,管理单个数据库集群。

Pg与大多数的关系型数据库一样都是由表来存储数据,一个表(table)属于某个数据库(database),数据库(database)又同属于一个database cluster。

图1.1.数据库集群的逻辑结构

210ea0db736691ead44e6ac61e439bf8.png

图片来源:https://www.interdb.jp/pg/pgsql01.html

在一个数据库集群中,除了有表、数据库这些数据库对象,还有比如索引、视图、函数、序列等对象,pg对这些对象统一采用对象标识符(OIDs)来管理,oid是无符号的4字节整数。数据库对象和各自的oid存储在各自的system catalogs中,比如table是存储在pg_class, 而dababase存储在pg_database中。

72f8d117dcfd3fa6afba02162d75538f.png

a4dd33aabe618142cb994a62cbee09dc.png

02

数据库集群的物理结构

上面我们谈的是集群的逻辑结构,也即抽象概念。现在我们聊聊的物理结构也即真实存在的结构。实际上,pg的数据库集群本质上是一个目录。目录中包含一些子目录和很多的文件。

在我们安装pg时,我们一般使用initdb的命令去初始化一个新的数据库集群。initdb 有个-D参数,通过它来指定应该存储数据库集群的目录。(initdb命令可以参考我之前的一篇博客:

https://blog.csdn.net/qq_35462323/article/details/104059818)

而集群中的database对应$PGDATA/base目录

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值