LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

一文带你看懂PostgreSQL逻辑架构,附:与Oracle/MySQL的关键对比

maoxiaoming
2025年8月4日 9:6 本文热度 84

PostgreSQL的逻辑结构

PostgreSQL的逻辑结构采用层级式设计,从高到低依次为:数据库集群 → 数据库(Database) → 模式(Schema) → 数据库对象(表/视图/函数等),其中多个数据库可以共享同一实例但它们之间相互隔离,模式作为命名空间管理对象,用户和角色全局统一管理权限。


数据库(Database)是管理数据库对象的顶层级别,关于数据库,有如下注意事项:

  • 一个PostgreSQL实例中,可以包含一个或多个数据库,但是一个数据库只能属于一个实例。

  • 连接PostgreSQL时,必须指定具体数据库,一个连接不能同时连接到多个数据库,但是一个客户端可以打开连接不同数据库的多个连接。

  • 不同数据库之间相互独立,连接到某个数据库时,无法访问其他数据库中的对象(除非使用dblink等其他手段)。


模式(Schema)可以理解为一个命名空间,类似于操作系统中目录的概念,但模式之间不能嵌套(操作系统中的目录可以嵌套)。关于模式,有如下注意事项:

  • 一个数据库中,可以包含一个或多个模式,但是一个模式只能属于一个数据库。

  • 数据库中的数据库对象(Table、Index、View、Sequence、Function等)必须且仅隶属于一个模式。

  • 隶属于同一个模式的数据库对象之间不允许重名,隶属于不同模式的数据库对象之间允许重名。


在SQL标准中,用户(User)和角色(Role)共同构成了数据库权限管理系统的基础。用户是拥有数据库对象并具有数据库权限的实体,而角色是一组权限的合集,是用户组的抽象表示。为了管理方便,通常把一系列相关的数据库权限赋给一个角色,如果哪个用户需要这些权限,就把角色赋给相应的用户。

在PostgreSQL中,使用角色的概念来管理数据库访问权限,关于用户和角色有如下注意事项:

  • 可以认为用户和角色在PostgreSQL是同一个概念,唯一的差别是创建角色默认不具有登录权限,而用户默认具有登录权限,并且用户和角色都可以在创建后修改登录权限。为了方便说明,下面我们都使用“用户”来代指用户和角色两个概念。

  • 用户在PostgreSQL实例中是属于全局的,并不属于具体某一个数据库,在同一实例连接不同数据库时,看到的用户列表是相同的。

  • 可以通过继承(授予)的方式,把一个用户的权限赋予另一个用户。

与Oracle/MySQL的对比


在Oracle和MySQL中,逻辑结构与PG有一些差异。例如在Oracle中用户与模式严格绑定,淡化了模式的概念;在MySQL中采用了扁平化的层级设计,数据库即是命名空间(模式)。

关于PostgreSQL、Oracle和MySQL三种数据库中逻辑架构,可以用下图概括:

以下是三类数据库中关于逻辑架构的差异点总结:


该文章在 2025/8/4 9:06:54 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved