从postgresql

时间:2015-09-14 13:54:42

标签: postgresql plpgsql notice raise

我在postgresql中有一个示例函数,它会发出通知。

示例功能 -

CREATE OR REPLACE FUNCTION raise_test() RETURNS TEXT AS
$body$
DECLARE
 retStr TEXT;
BEGIN
    SELECT current_timestamp into retStr;
    RAISE NOTICE '%', retStr ;
    RETURN retStr;
END;
$body$
LANGUAGE plpgsql;

有没有办法更新上面的功能,以便将整个通知存储到文件中?

就像我点击“call raise_test();”在我的特定位置,我将有一个out.txt打印整个通知。

PS。我试图将通知插入临时表,然后使用 -

COPY (select * from temp) TO '\home\pgsql\out.txt'

1 个答案:

答案 0 :(得分:1)

答复取决于您的可能性。您不能使用常用工具执行此操作。有两种可能性 - 首先 - 使用一些PostgreSQL扩展,可以创建文件并写入文件,如Orafce,或者你可以编写自己的C扩展,使用PostgreSQL log hook - 然后你可以做你想做的事情。