Re: Redirect RAISE NOTICE and errors to separate log file

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: Redirect RAISE NOTICE and errors to separate log file
Дата
Msg-id CAKFQuwZnuTOZ=3ZyJ-ifJ=YZq=R58553KNH-TTdYcbVAswzY2Q@mail.gmail.com
обсуждение исходный текст
Ответ на Redirect RAISE NOTICE and errors to separate log file  (Nikhil Ingale <niks.bgm@gmail.com>)
Ответы Re: Redirect RAISE NOTICE and errors to separate log file  (Nikhil Ingale <niks.bgm@gmail.com>)
Список pgsql-admin
On Fri, Feb 17, 2023 at 8:59 AM Nikhil Ingale <niks.bgm@gmail.com> wrote:
Hi All,
I have below given procedure where I have to redirect the messages and errors to separate log files.

CREATE OR REPLACE PROCEDURE()
language plpgsql
AS $$
Declare
insrtStr character varying(5000);
BEGIN
      insrtStr := 'INSERT into test(a,b,c) SELECT * FROM demo';
      RAISE NOTICE 'insrtStr';
      EXECUTE insrtStr;
      EXCEPTION WHEN OTHERS THEN
      v_sqlerrm := sqlerrm;
   v_sqlstate := sqlstate;
    RAISE NOTICE 'exception: % %  ', v_sqlstate ,  v_sqlerrm ;
END;
$$;

psql -U postgres -d proddb -f test.sql --log-file=test.log

Reason for printing the insrtStr is to keep track of table inserts.

Above is just an example procedure. Procedure that I have written merges the data from server tables.
RAISE NOTICE logs and exceptions are printed on the console. But I want to separate out the logs.

Please provide your valuable feedback.


Leverage your shell.  All non-query output is sent to stderr.

vagrant@vagrant:~$ /usr/local/pgsql/bin/psql -c 'select * from whisper();' postgres
NOTICE:  Hi!
 whisper
---------
 Hello
(1 row)

vagrant@vagrant:~$ /usr/local/pgsql/bin/psql -c 'select * from whisper();' postgres 2>/dev/null
 whisper
---------
 Hello
(1 row)

David J.

В списке pgsql-admin по дате отправления:

Предыдущее
От: Nikhil Ingale
Дата:
Сообщение: Redirect RAISE NOTICE and errors to separate log file
Следующее
От: Nikhil Ingale
Дата:
Сообщение: Re: Redirect RAISE NOTICE and errors to separate log file