PostgreSQL 模式
概述
模式(Schema)是数据库中的命名空间,用于包含和组织数据库对象,如表、视图、索引和函数等。通过模式可以将数据库对象划分为逻辑组,避免不同对象之间的命名冲突。
关键概念
- 命名空间:模式为数据库对象提供逻辑分组
- 访问控制:不同模式可以设置不同的权限
- 多模式支持:一个数据库中可以创建多个模式
- 默认模式:
public是 PostgreSQL 的默认模式,未指定模式时对象默认创建在public中
模式操作
创建模式
删除模式
设置搜索路径
搜索路径(search_path)决定了 PostgreSQL 在未指定模式名时查找对象的顺序:
使用模式
对象限定名
通过 模式名.对象名 的方式显式访问特定模式中的对象:
查看模式信息
实用示例
多租户应用
通过为每个租户创建独立模式,实现数据隔离:
按功能模块组织
将数据库对象按业务模块划分到不同模式中:
小结
模式的核心作用:
- 逻辑组织:将相关数据库对象分组管理
- 命名空间:避免不同模块之间的对象命名冲突
- 访问控制:通过模式级别的权限实现细粒度的安全管理
- 多租户支持:利用模式隔离不同租户的数据