Skip to content

Логирование особых ситуаций в хранимых процедурах postgresql

Например, в таком случае:

IF  (vGroupYear is null) THEN
     INSERT INTO groups_years (GroupID, Year, SpecializationID)
     VALUES (vGroupID, pYear, vSpecId);
   ELSEIF NOT vIsSpecMatch THEN
     RETURN -1;  -- это постоянно возникает если один и тот же номер группы одновременно по разным направлениям
     -- нужно сделать какой-то WARNING: группа уже есть по другому направлению подготовки!
   END IF;

можно писать в общий лог postgres

чтобы получались сообщения такого вида:

May 14 10:00:44 pgsql postgres[27470]: [8-1] db grade, client 10.132.108.73, user grade ERROR: 22001: value too long for type character varying(200) CONTEXT: SQL statement "UPDATE modules db grade, client 10.132.108.73, user grade LOCATION: varchar, varchar.c:624 STATEMENT: SELECT * FROM ChangeModuleName(1316, '53155', 'Специальная часть (групповое экспертирование и сравнительный анализ квалификационной и иной обеспеченности гостинично-ресторанных комплексов в различных международных локациях; коррекция формирующейся профессиограммы)') AS "Num"
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information