单个 PostgreSQL 数据库内部可以划分包含一个或多个具名的模式(schemas)。模式在概念上类似于操作系统的文件目录:模式内部包含数据表、视图、数据类型、函数及运算符等数据库对象。在同一个数据库内,不同模式下可以存在同名的表或函数而互不冲突。
创建新模式使用 CREATE SCHEMA:
CREATE SCHEMA myschema;
在指定模式下建表时,使用带模式前缀的限定名:
CREATE TABLE myschema.mytable ( ... );
当在 SQL 中使用未加模式前缀的简单表名时,系统通过配置参数 search_path(模式搜索路径)按序查找定位对象。默认搜索路径优先查找与当前登录用户名同名的模式,随后查找公共模式 public。
使用 CREATE SCHEMA 创建新模式。
默认的公共共享模式。
由 search_path 参数决定解析未限定名称的先后顺序。
用户需具备模式上的 USAGE 权限方可访问其中包含的对象。
系统内置的 pg_catalog 模式始终隐式位于搜索路径最前端。
每个用户使用独立模式或按功能划分模式。
标准 SQL 规范兼容性说明。