Dette skyldes, at hver ny tilladelse udvider nspacl
kolonne i pg_namespace
indgang for dette skema.
Nu har tabelblokke i PostgreSQL en størrelse på 8kB, og hver tabelrække skal passe ind i én blok, deraf grænsen.
I normale tabeller ville det ikke være et problem, fordi PostgreSQL gemmer overdimensionerede felter med variabel længde "out of line" i såkaldte TOAST borde. Men der er ingen TOAST-tabeller til systemkataloger, så denne flugtvej er lukket.
Jeg vil sige, at du løber ind i denne grænse på grund af et dårligt design. I stedet for at give hver af rollerne adgang til skemaet individuelt, skal du bruge et hierarki af roller, tildele dine mange roller til grupper og give skematilladelser på gruppeniveau.