PostgreSQL 之所以可扩展,是因为其操作是面向目录驱动的。如果您熟悉标准的 andard relational database systems,您会知道它们将有关数据库、表、列等的信息存储在通常称为系统目录(system catalogs)的地方。(有些系统称之为数据字典 data dictionary。)用户看到的目录就像其他表一样,但DBMS将内部的簿记信息存储在其中。 PostgreSQL 与 andard relational database systems 的一个关键区别是,PostgreSQL 在其目录中存储了更多信息:不仅是有关表和列的信息,还有有关数据类型、函数、访问方法等的信息。这些表可以由用户修改,并且由于 PostgreSQL 的操作基于这些表,这意味着 PostgreSQL 可以由用户进行扩展。相比之下,传统的数据库系统只能通过更改源代码中的硬编码过程或加载由DBMS供应商编写的特殊模块来扩展。
此外,PostgreSQL 服务器还可以通过动态加载来整合用户编写的代码。也就是说,用户可以指定一个实现新类型或函数的对象代码文件(例如,共享库),PostgreSQL 将根据需要加载它。用SQL编写的代码添加到服务器中就更加简单了。这种 “即时” 修改其操作的能力,使 PostgreSQL 在快速原型设计新应用程序和存储结构方面具有独特的优势。
如果您在文档中发现任何不正确之处、与您对特定功能的体验不符之处或需要进一步说明之处,请使用 此表单 报告文档问题。