Это связано с тем, что каждое новое разрешение расширяет столбец nspacl
записи pg_namespace
для этой схемы.
Теперь блоки таблиц в PostgreSQL имеют размер 8 КБ, и каждая строка таблицы должна помещаться в один блок, отсюда и ограничение.
В обычных таблицах это не будет проблемой, потому что PostgreSQL хранит негабаритные поля переменной длины & ldquo; out of line & rdquo; в так называемых TOAST таблицах. Но для системных каталогов нет таблиц TOAST, поэтому этот путь эвакуации закрыт.
Я бы сказал, что вы попали в этот предел из-за плохого дизайна. Вместо того, чтобы предоставлять каждой роли доступ к схеме по отдельности, используйте иерархию ролей, назначьте множество ролей группам и предоставьте разрешения схемы на уровне группы.