On Tue, 2011-03-01 at 15:57 -0500, Bill Moran wrote: > In response to Magnus Reftel <magnus.ref...@gmail.com>: > > > > I'm working on a database that will have a very large number of users, and > > I'm running in to a problem: when I grant more than about 2500 users access > > to a schema, I get > > > > my_db=# grant usage on schema my_schema to some_user; > > ERROR: row is too big: size 8168, maximum size 8164 > > > > This of course makes access control tricky on high user-count setups. > > > > On IRC, linuxpoet and andres suggested that the problem is that the nspacl > > column in pg_catalog.pg_namespace grows too large. A suggested fix by > > linuxpoet adds a toast table to pg_namespace. A potentially dangerous > > work-around suggested by andres is to alter the pg_namespace table while > > temporarily having allow_system_table_mods on. That seems to have made the > > symptom go away for me, but I'm not sure of what consequences the change > > had. Spontaneously, it seems to me that ACL entries could be stored as rows > > in a table instead of as elements in an array, but I'm definitely not > > qualified to comment on PostgreSQL implementation issues. > > > > Do you agree with linuxpoet's fix? If so, when do you think it is > > reasonable to include it? > > I would think that a better solution would be to follow best practices and > create roles and put users in those roles, so you don't have to have so > many grants on objects.
Well, yes and no. There is no technical reason (that I know of) that we don't toast those tables. It would be good for him to follow best practices but considering he did run into the bug/oversight and it does appear to be arbitrary, there is no reason to not fix it. JD -- PostgreSQL.org Major Contributor Command Prompt, Inc: http://www.commandprompt.com/ - 509.416.6579 Consulting, Training, Support, Custom Development, Engineering http://twitter.com/cmdpromptinc | http://identi.ca/commandprompt -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general