En effet, chaque nouvelle autorisation étend le nspacl
colonne du pg_namespace
entrée pour ce schéma.
Désormais, les blocs de table dans PostgreSQL ont une taille de 8 Ko, et chaque ligne de table doit tenir dans un bloc, d'où la limite.
Dans les tables normales, cela ne poserait pas de problème, car PostgreSQL stocke des champs surdimensionnés de longueur variable "hors ligne" dans ce qu'on appelle TOAST les tables. Mais il n'y a pas de tables TOAST pour les catalogues système, donc cette issue de secours est fermée.
Je dirais que vous rencontrez cette limite à cause d'une mauvaise conception. Plutôt que d'accorder à chacun des rôles l'accès au schéma individuellement, utilisez une hiérarchie de rôles, attribuez vos nombreux rôles à des groupes et accordez des autorisations de schéma au niveau du groupe.