sql >> Database >  >> RDS >> PostgreSQL

FOUT:rij is te groot:maat 8168, maximale maat 8164

Dit komt omdat elke nieuwe machtiging de nspacl . verlengt kolom van de pg_namespace vermelding voor dit schema.

Tabelblokken in PostgreSQL hebben nu een grootte van 8 kB en elke tabelrij moet in één blok passen, vandaar de limiet.

In normale tabellen zou dat geen probleem zijn, omdat PostgreSQL grote velden van variabele lengte "out of line" opslaat in zogenaamde TOAST tafels. Maar er zijn geen TOAST-tabellen voor systeemcatalogi, dus deze vluchtroute is gesloten.

Ik zou zeggen dat je tegen deze limiet aanloopt vanwege een slecht ontwerp. In plaats van elk van de rollen afzonderlijk toegang te verlenen tot het schema, gebruikt u een hiërarchie van rollen, wijst u uw vele rollen toe aan groepen en verleent u schemamachtigingen op groepsniveau.




  1. Compileer probleem met MySQL C API op MAC OS X 10.6

  2. MySQL produceert kolommen met lus in een select-statement

  3. Hoe het creditcardnummer te valideren en het type te identificeren met behulp van PL/SQL?

  4. geheugenefficiënte ingebouwde SqlAlchemy iterator/generator?