Thousands of users using one schema -> ERROR: row is too big

Поиск
Список
Период
Сортировка
От Magnus Reftel
Тема Thousands of users using one schema -> ERROR: row is too big
Дата
Msg-id 50853071-F9EC-4AE1-BA30-66389C30CC39@gmail.com
обсуждение исходный текст
Ответы Re: Thousands of users using one schema -> ERROR: row is too big  (Bill Moran <wmoran@potentialtech.com>)
Список pgsql-general
Hi all,

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
morethan 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
andresis to alter the pg_namespace table while temporarily having allow_system_table_mods on. That seems to have made
thesymptom go away for me, but I'm not sure of what consequences the change had. Spontaneously, it seems to me that ACL
entriescould be stored as rows in a table instead of as elements in an array, but I'm definitely not qualified to
commenton PostgreSQL implementation issues. 

Do you agree with linuxpoet's fix? If so, when do you think it is reasonable to include it?

Best Regards
Magnus Reftel

В списке pgsql-general по дате отправления:

Предыдущее
От: "David Johnston"
Дата:
Сообщение: Re: Issues with imported blobs from Postgres 8 to 9
Следующее
От: Bill Moran
Дата:
Сообщение: Re: Thousands of users using one schema -> ERROR: row is too big