PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

ERRORE:riga troppo grande:taglia 8168, misura massima 8164

Questo perché ogni nuova autorizzazione estende il nspacl colonna dello pg_namespace voce per questo schema.

Ora i blocchi di tabella in PostgreSQL hanno una dimensione di 8kB e ogni riga di tabella deve rientrare in un blocco, da qui il limite.

Nelle normali tabelle non sarebbe un problema, perché PostgreSQL memorizza campi sovradimensionati di lunghezza variabile "fuori riga" nel cosiddetto TOAST tavoli. Ma non ci sono tabelle TOAST per i cataloghi di sistema, quindi questa via di fuga è chiusa.

Direi che stai raggiungendo questo limite a causa di un cattivo design. Anziché concedere a ciascuno dei ruoli l'accesso allo schema individualmente, utilizza una gerarchia di ruoli, assegna i tuoi numerosi ruoli ai gruppi e concedi le autorizzazioni dello schema a livello di gruppo.