Sub-sistema de administração de logs

Como criar uma view com os parâmetros dos logs (V_LOG_PARAMETERS)?

RTLOG.FAQ-90965
Em algumas situações poderia ser útil transformar o campo DESCRICAO da entidade LOGS em uma tabela de detalhe onde cada parâmetro é apresentado em um registro separado. Isso permitiria, por exemplo, comparar os registros OLD (O_) nos registros NEW (A_):
create or replace view V_LOG_PARAMETERS as
select parameter[1] as key
, parameter[2] as value
, log_id
from (
   select string_to_array(unnest(a),' = ') as parameter, id as log_id 
   from (
       select id, string_to_array(descricao,chr(10)) a
       from logs
   ) q
) q;
Comparativo OLD x NEW:
select a.log_id
, l.data_hora
, l.origem as bloco
, (select value from v_log_parameters
   where log_id = a.log_id
   and key = 'A_ID') as a_id
, a.key as campo
, o.value as valor_anterior
, a.value as valor_informado
from v_log_parameters a
left join v_log_parameters o on o.log_id = a.log_id and o.key = 'O'||substring(a.key,2,99)
join logs l on l.id = a.log_id
where a.key like 'A%'
and a.value <> o.value
order by a.log_id
, a.key;