SQL запрос на добавление сообщения в PostgreSQL файл журнала сервера - PullRequest
0 голосов
/ 31 марта 2020

Для веб-сервера HelpCovid GPLv3 + (git commit dff3ab1521ed579cbf2 на конец марта 2020 г., вероятно, в функции hcv_initialize_database из нашего файла hcv_database.cc) в C ++ для Linux (работа в процессе) с использованием libpqxx с PostgreSQL 11 в Debian / Buster, мы хотели бы во время запуска выпустить один запрос SQL, который добавляет сообщение к PostGreSQL файл журнала (например, /var/log/postgresql/postgresql-11-main.log в нашей тестовой среде).

Интуиция заключается в том, что сразу после создания таблиц мы выдадим SQL, как

--- wrong fictional PostgreSQL query

ADD TO POSTGRESQL LOG FILE ("start of helpcovid pid 1234 commit dff3ab1521ed+ on localhost");

с надеждой, что что-то похожее на

2020-03-31 17:00:01.656 CEST [13262] helpcovid_usr@helpcovid_db start of helpcovid pid 1234 commit dff3ab1521ed+ on localhost

будет добавлено к /var/log/postgresql/postgresql-11-main.log ...

Это главным образом для облегчения отладки и разбиения по страницам этого postgresql-11-main.log файла (или системных журналов, если PostgreSQL регистрируется там).

Существует ли быстрый и грязный способ добиться этого?

Возможно RAISE NOTICE, но как?

1 Ответ

1 голос
/ 31 марта 2020

Попробуйте использовать оператор DO:

DO $$BEGIN RAISE LOG 'whatever'; END;$$;

Сообщения уровня LOG записываются в файл журнала.

...