ポストグレス関数内から関数を実行する新しいプロセスを生成することは可能ですか? または、ドキュメントに従って、元のリクエストの db 接続ごとに 1 つのスレッドに制限されていますか?
別のプロセスは、動的に名前が付けられたテーブルを作成してデータを取り込み、データを返さず、生成関数から独立しています。Postgresql 8.3 で。
ポストグレス関数内から関数を実行する新しいプロセスを生成することは可能ですか? または、ドキュメントに従って、元のリクエストの db 接続ごとに 1 つのスレッドに制限されていますか?
別のプロセスは、動的に名前が付けられたテーブルを作成してデータを取り込み、データを返さず、生成関数から独立しています。Postgresql 8.3 で。
PL/PerlUなどの信頼できない言語など、手続き型言語でうまくいくはずです。
その他の潜在的なオプションには、Pl/Python、Pl/Ruby、Pl/SH... などがあります。
PL/PgSQL プロシージャ内から非同期クエリを実行したいようです。もしそうなら、あなたはこれに使うことができますdblink
。おそらく、実行しているサポートされていない古いバージョンでも可能です。マニュアルを参照してください。必要な機能は拡張機能dblink_send_query
からのものです。dblink
この方法で実行する SQL は、独自のトランザクションで実行されることに注意してください。メイン トランザクションとは独立してコミットまたはロールバックし、メイン トランザクションによって行われたコミットされていない変更を確認することはできません。
多くの場合、このようなことはクライアント アプリケーションから行う方が適切です。