PostgreSQL7.0手册-用户手册-19. SQL命令-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 没有重装载,就不会有问题.
对象文件必须编译成包含位置无关的代码.例如, 在 DECstations 上你必须使用带 -G 0 选项的 /bin/cc 编译将要装载的对象(目标)文件.
注意如果你向新的平台移植 Postgres ,为支持 ADT LOAD 必须(可用).
用法
Load the file /usr/postgres/demo/circle.o:
LOAD '/usr/postgres/demo/circle.o'
兼容性
SQL92
SQL92 里没有 LOAD .