Oracle の PL/SQL では、パッケージ定義を使用してセッション ベースのグローバル変数を作成できます。Postgresql の PLpg/SQL では、パッケージがなく、独立したプロシージャと関数しかないため、それは不可能のようです。
g_spool_key をグローバルとして宣言する PL/SQL の構文は次のとおりです...
CREATE OR REPLACE PACKAGE tox IS
g_spool_key spool.key%TYPE := NULL;
TYPE t_spool IS REF CURSOR RETURN spool%ROWTYPE;
PROCEDURE begin_spool;
PROCEDURE into_spool
(
in_txt IN spool.txt%TYPE
);
PROCEDURE reset_spool;
FUNCTION end_spool
RETURN t_spool;
FUNCTION timestamp
RETURN VARCHAR2;
END tox;
PLpg/SQL でセッション ベースのグローバル変数を実装するにはどうすればよいですか?