PostgreSQL中的schemas介绍

本文最后更新于:2024年2月28日 下午

在 PostgreSQL 中,information_schema、pg_catalog、pg_toast 和 public 是预定义的特殊 schemas,每个都有其特定用途:

information_schema:

  • 这个 schema 是标准的 SQL schema,它提供关于数据库元数据的信息,比如表、列、数据类型和视图等。
  • 通过查询 information_schema 中的视图,可以获取数据库对象的结构化信息。
  • 例如,你可以查询 information_schema.tables 来获取关于数据库表的信息。

pg_catalog:

  • pg_catalog 是 PostgreSQL 的系统目录,包含了所有系统表和视图,存储着 PostgreSQL 内部对象的信息,如数据类型、函数、索引等。
  • 可以查询 pg_catalog 来获取底层的系统信息。开发者和管理员通常会使用这个 schema 来进行故障排除和性能优化。

pg_toast:

  • pg_toast 用来存储“超大对象”,对于一些数据行过长无法存储在常规数据页中的情况,这些数据会被压缩并存储在 pg_toast schema 中的特殊表里。
  • 一般情况下,普通用户不需要直接与 pg_toast schema 交互,因为 PostgreSQL 会自动处理与 TOAST 相关的操作。

public:

  • public schema 是 PostgreSQL 中默认的 schema,当创建新表或其他对象而没有指定具体的 schema 时,它们通常会被创建在 public schema 里。
  • 这相当于数据库的“共享空间”,任何用户(除非受到权限限制)都可以在此创建或访问对象。
  • 如果没有特定的权限设置,新用户默认可以访问 public schema。

PostgreSQL中的schemas介绍
https://baymax55.github.io/2024/02/28/postgresql/PostgreSQL中的schemas介绍/
作者
baymax55
发布于
2024年2月28日
许可协议