Вы можете использовать следующий SQL для генерации выбора.
select sql from (
select 1 o, 'select ' sql
union
select 2, 'max(length('+attname+')),'
from pg_class c
join pg_attribute a on c.oid = a.attrelid
where relname = '<your_table>'
and attnum > 0
union
select 3, 'from <your_table>'
)
order by o
Вывод будет выглядеть следующим образом
select
max(length(col1)),
max(length(col2)),
...
max(length(coln)), -- <- remove the last comma
from <your_table>
Вы можете запустить этот sql, чтобы получить все максимальные длины из вашей таблицы
Пожалуйста, дайте мне знать, если это вам поможет.