从小白到专家 PostgreSQL技术大讲堂 - Part 5:PG数据库结构

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: 从小白到专家 PostgreSQL技术大讲堂 - Part 5:PG数据库结构

PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PG技术大讲堂。

Part 5:PG数据库结构

内容1:PostgreSQL逻辑结构

内容2:PostgreSQL物理结构

内容3:PostgreSQL表空间结构

1.1、数据库集簇逻辑结构

数据库集簇逻辑结构 :

1.2、对象标识符

PostgreSQL中的所有数据库对象都由各自的对象标识符(oid)在内部管理。

这些对象标识符是无符号的4字节整数。数据库对象和相应的oid之间的关系存储在适当的系统目录中,具体取决于对象的类型。

数据库的oid存储在pg_database中。

数据库的oid与对应的数据库目录名是一致的

2、数据库集簇物理结构

每个数据库是base子目录下的子目录;数据库目录名与相应的oid相同。例如,当数据库sampledb的OID为16384时,其子目录名为16384。

cd $PGDATA

ls -ld base/16384

drwx------ 213 postgres postgres 7242 8 26 16:33 16384

2.1、其它目录结构

数据库集群的布局的主要文件和子目录如下所示:

3、Tablespaces

PostgreSQL Tablespaces

PostgreSQL中的表空间是基本目录之外的附加数据区域,此功能已在版本8.0中实现。

初始化数据库后默认的表空间有pg_default、pg_global。

pg_global表空间的物理文件位置在数据目录的global目录中,它用来保存系统表。

pg_default表空间的物理文件位置在数据目录的base子目录中,是template0和template1数据库的默认表空间。

创建数据库时,默认从template1数据库进行克隆,因此除非特别指定了新建数据库的表空间,否则默认使用template1使用的表空间,即pg_default表空间。

PostgreSQL表空间物理文件位置

创建表空间时产生的目录命名规则PG 'Major version' 'Catalogue version number'

例如:

sampledb=# create tablespace new_tblspc location '/home/postgres/tblspc';

$ ls -l /home/postgres/tblspc/ total 4

drwx------ 4 postgres postgres PG_12_201909212

新建表空间的目录由pg_tblspc子目录中的软链接寻址,链接名与表空间的OID值相同

如果在表空间下创建一个新的数据库(OID是90209),那么它的目录将在版本特定的子目录下创建

ls -l /home/postgres/tblspc/PG_12_201909212 total 4

drwxr-x---. 2 postgres postgres 4096 Mar 30 09:27 90209

在base目录下创建的数据库上创建新表指定到新建的表空间

testdb=# create table test1 (id int) tablespace new_tblspc;

testdb=# SELECT pg_relation_filepath('test1'); pg_relation_filepath


pg_tblspc/90208/PG_12_201909212/16385/90210 #在新表空间目录下创建数据库目录

以上就是Part 5 - PG数据库结构 的内容,大家可以进群一起探讨,QQ交流群:75202 7153

钉钉交流群:3582 2460,1月13日晚上8点会有公开课专门讲解此内容

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
1月前
|
Cloud Native OLAP OLTP
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
128 4
|
1月前
|
关系型数据库 分布式数据库 数据库
成都晨云信息技术完成阿里云PolarDB数据库产品生态集成认证
近日,成都晨云信息技术有限责任公司(以下简称晨云信息)与阿里云PolarDB PostgreSQL版数据库产品展开产品集成认证。测试结果表明,晨云信息旗下晨云-站群管理系统(V1.0)与阿里云以下产品:开源云原生数据库PolarDB PostgreSQL版(V11),完全满足产品兼容认证要求,兼容性良好,系统运行稳定。
|
1月前
|
Cloud Native 关系型数据库 分布式数据库
开发者视角看云原生数据库一体化技术趋势
随着云原生数据库技术的不断发展,一体化数据库解决方案成为技术圈的热点,云原生数据库一体化技术是当前数据库领域的重要趋势,对于开发者而言,学习理解和应对这一趋势,对于业务开发的成功实施非常重要。比如,阿里云瑶池数据库和PolarDB-X等产品通过离在线一体化、处理分析一体化和集中分布一体化等创新理念,引领了数据库领域的新变革。那么本文就来从开发者的角度探讨云原生数据库一体化技术趋势,并分析在业务处理分析一体化、集中式与分布式数据库边界模糊和云原生一体化数据库的选择等方面的影响。
194 4
|
19天前
|
存储 中间件 关系型数据库
数据库切片大对决:ShardingSphere与Mycat技术解析
数据库切片大对决:ShardingSphere与Mycat技术解析
25 0
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
98 0
|
6天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
|
8天前
|
关系型数据库 OLAP 分布式数据库
「杭州*康恩贝」4月26日PolarDB开源数据库沙龙,开启报名!
4月26日周五,PolarDB开源社区联合康恩贝将共同举办开源数据库技术沙龙,本次沙龙我们邀请了众多数据库领域的专家,期待大家的参与!
「杭州*康恩贝」4月26日PolarDB开源数据库沙龙,开启报名!
|
12天前
|
Java 关系型数据库 MySQL
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统,最高定位精度可达10cm,具有高精度,高动态,高容量,低功耗的应用。
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
|
14天前
|
存储 SQL 安全
6.数据库技术基础
6.数据库技术基础
|
18天前
|
SQL 监控 关系型数据库
PG数据库释放闲置连接
PG数据库释放闲置连接
24 0