一、模式 (SCHEMA) 概念解析
PostgreSQL 中的模式 (Schema) 是数据库内部的一个命名空间,它包含表、视图、索引、序列、数据类型、函数、操作符等数据库对象。模式可以看作是数据库中的"文件夹",为数据库对象提供逻辑分组。
模式的核心特性:
- 逻辑隔离:不同模式中的对象可以同名而不会冲突
- 权限控制:可以针对模式设置独立的访问权限
- 组织管理:将相关对象分组管理,提高可维护性
二、模式的应用场景
1. 多用户环境隔离
当多个用户共享一个数据库时,为每个用户创建独立的模式,避免命名冲突。
2. 应用程序隔离
第三方应用可以使用独立模式,避免与现有对象名称冲突。
3. 业务模块划分
按业务功能划分模式,如 hr_schema、finance_schema 等。
三、模式操作完整指南
1. 创建模式
基本语法:
CREATE SCHEMA schema_name [AUTHORIZATION owner_name][schema_element [...]];
示例:
-- 创建简单模式
CREATE SCHEMA myschema;
-- 创建指定所有者的模式
CREATE SCHEMA hr AUTHORIZATION hr_user;
-- 创建模式并包含对象
CREATE SCHEMA marketing CREATE TABLE campaigns (
id SERIAL PRIMARY KEY,
name VARCHAR(100)
);
CREATE VIEW active_campaigns AS
SELECT * FROM campaigns WHERE is_active = true;
2. 在模式中创建对象
标准格式:
CREATE TABLE schema_name.table_name (
column1 datatype [constraints],
column2 datatype [constraints],
...
);


