オブジェクト(すなわち、".o")ファイルを Postgres バックエンドのアドレス空間に読 み込みます。ファイルがいったん読み込まれると、そのファイルの中の全 ての関数にアクセスできます。この機能はユーザ定義の型及び関数のサポ ートに使用されます。
ファイルが LOAD を使って読み込まれていない場合、 Postgres によってその関数が最初に呼び出 された時点で自動的にファイルが読み込まれます。オブジェクトファイル を編集し再コンパイルした場合にも、その再読み込みに LOAD を使用します。現時点では C 言語で作成された オブジェクトファイルのみがサポートされています。
読み込まれたオブジェクトファイル内の関数は、他の LOAD コマンドを使って読み込まれるオブジェクトフ ァイル中の関数を呼び出してはいけません。 例えば、ファイル A 中の全関数は、そのファイル内 の関数を、標準または数学ライブラリにある関数を、Postgres内にある関 数を呼び出さなければなりません。 別の読み込まれたファイル B 内で定義された関数を 呼び出してはいけません。 この理由は、B が再読み込みされた場合に Postgres のローダが A 内の関数からの呼び出しを B の新しいアドレス空間に再度合わせることができ ないからです。 B が再読み込みされなければ、問題にはならないの ですが。
オブジェクトファイルは、位置に依存しないコードを持つようにコンパイ ルされなければいけません。例えば DECstations の場合、読み込むべき オブジェクトファイルをコンパイルする時には /bin/cc を -G 0 オプ ションを付けて実行しなければなりません。
Postgres を新しいプラットホームに移植す る場合、LOAD が ADT をサポートするようにしなけ ればなりません。