【问题标题】:Writing Errors to File in Postgresql在 Postgresql 中将错误写入文件
【发布时间】:2013-11-13 07:31:37
【问题描述】:

我想将错误写入 Postgresql 中的文件,因此每当函数中发生错误时,它都会写入文件,因此我已捕获错误并将错误传递给另一个函数,并写入该函数的返回到一个文件。下面是一个示例函数,

CREATE OR REPLACE FUNCTION test(TEXT)
RETURNS VOID
STRICT
LANGUAGE plpgsql
AS $$
declare STATEMENT TEXT;
declare sql_code TEXT;
BEGIN

BEGIN
EXECUTE 'DROP TABLE ' || $1;
EXCEPTION WHEN others THEN
sql_code := SQLERRM;
     STATEMENT := 'COPY (select * from test1('''||sql_code||''')) to ''/tmp/errors.txt''';
     EXECUTE STATEMENT;
RETURN;
END;
RAISE NOTICE 'Dropped table successfully %', $1;
RETURN;
END;
$$;

CREATE OR REPLACE FUNCTION test1(TEXT)
RETURNS TEXT
STRICT
LANGUAGE plpgsql
AS $$
declare error TEXT;
BEGIN
error :=  $1;
RETURN STATEMENT;
END;
$$;

这东西工作正常,但我想知道是否有任何好的方法来捕获错误并将其记录到文件中?请提出建议。

【问题讨论】:

标签: sql postgresql error-logging


【解决方案1】:

最好更改日志记录级别,尽管可能有充分的理由来阻止这种情况。

如果您无法在 pl/perlu 或 pl/python 中编写辅助日志记录例程,该例程可以写入文件。请注意不要覆盖您的数据文件 O.o.....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 2022-12-11
    • 2018-04-14
    相关资源
    最近更新 更多