PG INTERNAL-Database Cluster, Databases, and Tables

翻译http://www.interdb.jp/pg/pgsql01.html

这一章和下一个章节总结Postgresql的基础知识,帮助读者理解后续章节.这一章,描述了下面的主题:

  • database cluster的逻辑结构
  • database cluster的物理结构
  • heap table文件的内部逻辑布局
  • 的读写数据的方法

1.1 database cluster的逻辑结构

一个database cluster是一组被Postgresql服务器管理的database.如果你是第一次听说这个定义,那么你可能会对它产生好奇,但是database cluster这个术语在Postgresql中不是表示一组database服务器.一个Postgresql服务器运行在一个主机(host)上并且管理着一个database cluster.

下面的图显示了一个database cluster的逻辑结构.一个databasedatabase对象的一个集合.在关系数据库理论中,一个database对象是用于存储或者引用数据的数据结构.一个(heap) table是数据库对象的典型例子,其他的比如index,sequence,view,function等都是数据库对象.在Postgresql中,数据库本身也是数据库对象,在逻辑上是相互分隔的.其他所有数据库对象都属于他们对应的数据库.

在这里插入图片描述

在pg中所有的数据库对象内部都有对应的object identifiers(OIDS).它是4字节无符号整数.数据库对象之间的关系和对应的OIDS都保存在合适的相应的对象类型的system catalog.比如,database和heap table的OIDS保存在pg_databasepg_class中,所以可以通过下面的查询找出你想要的OIDS:

sampledb=# SELECT datname, oid FROM pg_database WHERE datname = 'sampledb';
datname  |  oid  
----------+-------
sampledb | 16384
(1 row)

sampledb=# SELECT relname, oid FROM pg_class WHERE relname = 'sampletbl';
relname  |  oid  
-----------+-------
 sampletbl | 18740 
(1 row)

1.2 database cluster的物理结构

一个database cluster基本上就是作为基础目录(base directory)的一个目录.它包含了许多子目录和文件.如果你执行initdb初始化一个新的database cluster,在指定的目录下一个基础目录就会被创建.虽然不是必须的,但是通常会把基础目录的路径设置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值