支持的版本: 当前 (17) / 16 / 15 / 14 / 13
开发版本: devel
不支持的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2

36.1. 可扩展性如何工作 #

PostgreSQL 是可扩展的,因为它的操作是由目录驱动的。如果你熟悉标准的关系数据库系统,你就会知道它们将关于数据库、表、列等的信息存储在通常称为系统目录的地方。(有些系统称之为数据字典。)这些目录对用户来说就像其他表一样,但DBMS在其中存储其内部簿记信息。PostgreSQL 与标准关系数据库系统的一个关键区别在于,PostgreSQL 在其目录中存储了更多信息:不仅有关于表和列的信息,还有关于数据类型、函数、访问方法等等的信息。这些表可以由用户修改,并且由于 PostgreSQL 的操作基于这些表,这意味着 PostgreSQL 可以由用户扩展。相比之下,传统的数据库系统只能通过更改源代码中的硬编码过程或加载由DBMS供应商

PostgreSQL 服务器还可以通过动态加载将用户编写的代码合并到自身中。也就是说,用户可以指定一个实现新类型或函数的对象代码文件(例如,一个共享库),PostgreSQL 将根据需要加载它。用SQL编写的代码可以更轻松地添加到服务器中。这种“即时”修改其操作的能力使 PostgreSQL 非常适合快速原型开发新的应用程序和存储结构。

提交更正

如果你发现文档中的任何内容不正确,与你使用特定功能的经验不符或需要进一步澄清,请使用此表单报告文档问题。