SELECT
table_schema,
table_name,
string_agg(
column_name,
', ' ORDER BY ordinal_position
) AS code_columns
FROM information_schema.columns
WHERE table_schema NOT IN ('pg_catalog', 'information_schema')
AND (
table_name ILIKE '%oper%'
OR table_name ILIKE '%action%'
OR table_name ILIKE '%constructor%'
OR table_name ILIKE '%button%'
OR table_name ILIKE '%script%'
)
AND data_type IN (
'text',
'character varying',
'character',
'json',
'jsonb'
)
AND column_name ~* (
'sql|script|query|expression|body|command|handler|'
'function|procedure|source|algorithm'
)
GROUP BY
table_schema,
table_name
ORDER BY
table_schema,
table_name;