【赵渝强老师】PostgreSQL的数据库

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: PostgreSQL的逻辑存储结构涵盖数据库集群、数据库、表、索引、视图等对象,每个对象有唯一的oid标识。数据库集群包含多个数据库,每个数据库又包含多个模式,模式内含表、函数等。通过特定SQL命令可查看和管理这些数据库对象。

b166.png

PostgreSQL的逻辑存储结构主要是指数据库中的各种数据库对象,包括:数据库集群、数据库、表、索引、视图等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相关的系统目录表中,比如数据库的oid和表的oid分别存放在pg_database,pg_class表中。下图展示了PostgreSQL数据库的逻辑存储结构。



下面重点介绍一下PostgreSQL中的数据库。视频讲解如下:


在PostgreSQL中,一个数据库是数据库对象的集合。通常每个数据库对象属于并且只属于一个数据库。更准确地说,一个数据库是一个模式的集合,而模式包含表、函数等等各种数据库对象。因此数据库的完整层次应该包含如下组成部分:数据库服务器、数据库、模式、表或者某些其他对象类型,如存储过程、存储函数等等。当连接到数据库服务器时,客户端必须在它的连接请求中指定它要连接的数据库名,通过数据库实例来操作数据库中的对象。用户可能是在同一个数据库里,但可能在不同的模式中。


执行下面的语句可以查看当前PostgreSQL数据库集群中已有的数据库信息。


postgres=# \l
           List of databases
   Name    |  Owner   | Encoding |......
-----------+----------+----------+-------
 postgres  | postgres | UTF8     |......
 template0 | postgres | UTF8     |......
 template1 | postgres | UTF8     |......
(3 rows)


下面详细解释一下每个数据库的作用。


  • postgres数据库由initdb命令在初始化数据存储区域时创建的。该数据库也是客户端默认连接的数据库。


  • template0是标准系统数据库,该数据库中只包含PostgreSQL版本预定义的标准对象。在数据库集群被初始化之后,不应该对template0做任何修改。在创建数据库时通过指示使用template0取代template1进行拷贝,可以创建一个“纯净的”用户数据库。


  • template1是第二标准系统数据库。当在PostgreSQL中创建一个新数据库时,实际上就是克隆了template1。这就意味着对template1所做的任何修改都会体现在所有后续创建的用户数据库中。因此应避免在template1中创建对象,除非想把这些对象传播到每一个新创建的数据库中。


查询现有数据库集合信息也可以通过查询系统表pg_database得到。


postgres=# select datname from pg_database;
# 输出的信息如下:
  datname  
-----------
 postgres
 template1
 template0
(3 rows)


相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
7月前
|
Go 数据库
数据库的实现【笔记】
数据库的实现【笔记】
|
7月前
|
关系型数据库 数据库 PostgreSQL
PostgreSQL从入门到精通 - 第40讲:数据库不完全恢复
PostgreSQL从入门到精通 - 第40讲:数据库不完全恢复
212 1
|
4天前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的数据库集群
PostgreSQL的逻辑存储结构涵盖了数据库集群、数据库、表、索引、视图等对象,每个对象都有唯一的oid标识。数据库集群是由单个PostgreSQL实例管理的所有数据库集合,共享同一配置和资源。集群的数据存储在一个称为数据目录的单一目录中,可通过-D选项或PGDATA环境变量指定。
|
7月前
|
关系型数据库 数据库 PostgreSQL
PostgreSQL从入门到精通教程 - 第39讲:数据库完全恢复
postgresql技术大讲堂 - 第39讲:数据库完全恢复
277 0
|
关系型数据库 数据库 PostgreSQL
《为什么PostgreSQL是最适合去O的数据库》电子版地址
为什么PostgreSQL是最适合去O的数据库
81 0
《为什么PostgreSQL是最适合去O的数据库》电子版地址
|
关系型数据库 MySQL 数据库
数据库三大范式-MySQL入门很简单
数据库范式就是数据库应该遵循的规则,关系型数据库最常见的4大范式分别是第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和BCN范式。
121 0
|
存储 SQL 缓存
【中级】 MySQL 数据库架构介绍 | 学习笔记
快速学习【中级】 MySQL 数据库架构介绍,介绍了【中级】 MySQL 数据库架构介绍系统机制, 以及在实际应用过程中如何使用。
【中级】 MySQL 数据库架构介绍 | 学习笔记
|
存储 NoSQL 容灾
达梦数据库:第一章:MySQL数据库与达梦数据库的区别
达梦数据库:第一章:MySQL数据库与达梦数据库的区别
1373 0
|
SQL 关系型数据库 数据库
PostgreSQL 选择数据库
PostgreSQL 选择数据库
155 0
|
SQL 存储 自然语言处理
【学习资料】第6期PostgreSQL 数据库开发规范
大家好这里是PostgreSQL 数据库开发规范
下一篇
无影云桌面