pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
LOAD — 动态装载一个目标文件
LOAD 'filename'
filename用于动态装载的目标文件。
LOAD成功完成时返回的消息。
ERROR: LOAD: could not open file 'filename'找不到指定的文件时返回的消息。该文件必须对 Postgres后端可见, 并指定适当的完整路径名,才能避免此消息。
把一个目标(或".o")文件装载到 Postgres后端地址空间中。文件 一旦装载,该文件中的所有函数都可以被访问。这个 函数用于支持用户定义的类型和函数。
如果文件没有用 LOAD装载, 该文件将在函数第一次被Postgres调用时 被自动装载。 LOAD 也可以用来在目标文件被编辑并重新编译之后重新装载它。 目前只支持由 C 语言文件创建的目标。
已装载目标文件中的函数不应调用其他通过 LOAD 命令装载的目标文件中的函数。例如,文件A中的 所有函数应当互相调用、调用标准库或数学库中的函数、或调用 Postgres 本身中的函数。它们不应调用另一个已装载文件 B中定义的函数。 这是因为如果B被重新装载,Postgres 装载器无法 把A中函数的调用重定位到 B的新地址空间。 但如果B没有被重新装载,则 不会有问题。
目标文件必须编译为包含位置无关代码。 例如, 在 DECstation 上,编译要装载的目标文件时必须使用 /bin/cc 加上-G 0选项。
注意,如果你正在把Postgres 移植到新平台,LOAD 必须能够工作才能支持 ADT。
--Load the file /usr/postgres/demo/circle.o -- LOAD '/usr/postgres/demo/circle.o'
LOAD 在 SQL92 中没有。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。