Когда-то я делал похожую вещь.
А именно - поле (или поля) проверки доступа.
Поле состояло из массива int[], содержащего ID нужных групп доступа.
Проверка на доступ осуществлялась операцией @.
Брались все группы юзера и проверялось, пересекаются ли они с полем.
Если да, то право имеет. Сам оператор пересечения @ работал через
GIST-индекс.
Все пахало достаточно быстро и красиво, благо групп не так много разных.
Для того, чтобы оптимизер мог сделать правильный план, пришлось писать
собственную статистику по таким полям (т.е по int[]).
Однако, как внедрить ее в VACUUM/ANALYZE - неясно, а разработчикам на сие
накакать, видимо (никто не помог).
Так и перешел на Оракл ;)
> -----Original Message-----
> From: pgsql-ru-general-owner@postgresql.org [mailto:pgsql-ru-general-
> owner@postgresql.org] On Behalf Of Andrey N. Oktyabrski
> Sent: Friday, July 07, 2006 2:23 PM
> To: pgsql-ru-general@postgresql.org
> Subject: [pgsql-ru-general] Зацените типчик
>
> Здравствуйте.
>
> Накорябал тип данных (см. вложение). Хочу узнать мнение общественности.
> Если кому пригодится - совсем хорошо :-)
>
> Компиляция/установка - gmake && gmake install.