PL/pgSQLの構造
エラーの捕捉
をざっと読んだ限りでは、関数はBEGIN~ENDの外側でトランザクションが働いているようで、何かトラブルがあるとそちらで対処してくれるようです。
一時テーブルを作るときは下記のように書く。
CREATE TEMPORARY TABLE IF NOT EXISTS temp_table (LIKE t1) ON COMMIT DELETE ROWS;
これで関数の終了時に一時テーブルが空になってメモリ消費量を抑えられる(はず)。
PL/pgSQLの構造
エラーの捕捉
をざっと読んだ限りでは、関数はBEGIN~ENDの外側でトランザクションが働いているようで、何かトラブルがあるとそちらで対処してくれるようです。
一時テーブルを作るときは下記のように書く。
CREATE TEMPORARY TABLE IF NOT EXISTS temp_table (LIKE t1) ON COMMIT DELETE ROWS;
これで関数の終了時に一時テーブルが空になってメモリ消費量を抑えられる(はず)。