在 PostgreSQL 中,Database(数据库)、Schema(模式) 和 Catalog(目录) 是三个用于组织、管理和描述数据的核心概念。它们之间既有严格的层级关系,又在功能上有着明确的分工。 为了让你清晰地理解,我们可以从定义、区别、联系以及一个通俗的比喻来进行详细拆解。 --- 1. 核心概念解析 ① Database (数据库) 定义:Database 是 PostgreSQL 集群(Cluster / Instance)下的最高层级的逻辑隔离单位。 特点: 严格的隔离性:客户端每次只能连接到一个 Database。连接后,默认情况下无法直接跨数据库查询另一个 Database 中的数据(除非使用 或 等外部数据包装器)。 物理存储:在文件系统底层,每个 Database 都有与之对应独立的目录结构。 用途:通常用于隔离完全不同的项目、环境(如 dev、test、prod)或多租户架构中的不同客户。 ② Schema (模式) 定义:Schema 是 Database 内部的命名空间(Namespace)。数据库中的所有对象(如表、视图、索引、函数等)都必须存放...