Загрузка данных


select
    p.proname as function_name,
    case
        when strpos(lower(p.prosrc), 'npo_agreement_id') > 0 then
            substring(
                p.prosrc
                from greatest(strpos(lower(p.prosrc), 'npo_agreement_id') - 300, 1)
                for 900
            )
        else
            substring(
                p.prosrc
                from greatest(strpos(lower(p.prosrc), 'npo_pension_agreement') - 300, 1)
                for 900
            )
    end as source_fragment
from pg_proc p
join pg_namespace n
    on n.oid = p.pronamespace
where n.nspname = 'ourpension'
  and (
       p.prosrc ilike '%npo_agreement_id%'
       or p.prosrc ilike '%npo_pension_agreement%'
  )
order by p.proname;