↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1 / 7.0 / 6.5 / 6.4
历史版本PostgreSQL 7.0 已于 2005 年 5 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

LOAD

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。

用法

装载文件/usr/postgres/demo/circle.o:

LOAD '/usr/postgres/demo/circle.o'
   

兼容性

SQL92

LOAD 在 SQL92 中没有。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。