load - オブジェクトファイルを動的にロードします
load filename
load はオブジェクト(もしくは .o)ファイルを Postgres のアドレス空間にロードします。ファイルがロードされると、そのファイルのすべての関数がアクセスできるようになります。この関数は ADT のサポートのために使われます。
load コマンドでファイルがロードされなければ、Postgres からその関数が最初に呼び出されたときに自動的にロードされます。 load は、編集やリコンパイルされたオブジェクトファイルを再ロードするためにも使うことができます。現在、C 言語で作られたオブジェクトファイルのみがサポートされています。
--
-- ファイル /usr/postgres/demo/circle.o をロードします
--
load /usr/postgres/demo/circle.o
ロードされたオブジェクトファイルにある関数は、 load コマンドでロードされた他のオブジェクトファイルの関数を呼び出すべきではありません。つまり、例えば、Aというファイルにあるすべての関数はその中でのお互い、標準あるいは数学ライブラリ、Postgres そのものにある関数だけを呼び出すべきで、別にロードされた B というファイルにある関数を呼び出すべきではありません。これは B が再ロードされた時に、Postgres のローダが A の関数からのコールを Bの新しいアドレス空間に振り替えることができる程賢くないからです。ですが、もし Bが再ロードされないようでしたら問題とはなりません。
DECstation では、ロードするオブジェクトファイルは"-G 0" オプションを付けた/bin/ccを使ってコンパイルしなくてはなりません。
Postgres を新しいプラットフォームにポートしようとしているなら、ADT をサポートするために load コマンドが動作しなくてはなりません。