From: | FAROOQ SIDDIQUI <fas65(at)yahoo(dot)com> |
---|---|
To: | Gilles Darold <gilles(at)migops(dot)com>, Mukesh Rajpurohit <vivasvan1902(at)gmail(dot)com> |
Cc: | Pgsql-admin <pgsql-admin(at)lists(dot)postgresql(dot)org>, FAROOQ AHMED SIDDIQUI <fas65(at)yahoo(dot)com> |
Subject: | Re: Oracle error log table equivalent in postgresql |
Date: | 2021-08-06 17:52:54 |
Message-ID: | 191228527.376180.1628272374223@mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Please find below code, looks like, relate to your issue:
Refrence: https://stackoverflow.com/questions/53504234/pgsql-trigger-function-write-exception-to-log-table
Here's an example, using a normal function rather than a trigger, though it's really the same thing in as far as how to log:
Table to store errors:
CREATE TABLE errors (id SERIAL, sql_state TEXT, message TEXT, detail TEXT, hint TEXT, context TEXT);Function which does work and has the exception handling/logging:
CREATE OR REPLACE FUNCTION my_func() RETURNS VOID AS$BODY$DECLARE _sql_state TEXT; _message TEXT; _detail TEXT; _hint TEXT; _context TEXT;BEGIN PERFORM 1 / 0;EXCEPTION WHEN OTHERS THEN GET STACKED DIAGNOSTICS _sql_state := RETURNED_SQLSTATE, _message := MESSAGE_TEXT, _detail := PG_EXCEPTION_DETAIL, _hint := PG_EXCEPTION_HINT, _context := PG_EXCEPTION_CONTEXT;
INSERT INTO errors (sql_state, message, detail, hint, context) VALUES (_sql_state, _message, _detail, _hint, _context);END$BODY$ LANGUAGE plpgsql;
After calling the function, the errors table contains:
enter image description here
See https://rextester.com/BQPG27732
Context shows a call stack of sorts. You could add more error-related fields of course, I only chose a handful of those available in GET STACKED DIAGNOSTICS
Attachment | Content-Type | Size |
---|---|---|
![]() |
image/png | 7.3 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Mukesh Rajpurohit | 2021-08-06 23:54:20 | Re: Oracle error log table equivalent in postgresql |
Previous Message | Mukesh Rajpurohit | 2021-08-06 17:00:45 | Re: Oracle error log table equivalent in postgresql |