Группы таблиц можно отделить в их собственные Именные пространства , которые в PostgreSQL называются Схемами. Они похожи на директории, но все же есть и различия.
Обязательно прочитайте раздел «Проектирование с учетом multitenancy», чтобы убедиться, что вам нужен именно этот способ действий. Существуют и другие возможности, которые в вашем случае могут оказаться более полезными. Схемы легко создать с помощью команд Затем можно будет создавать объекты непосредственно внутри схемы, используя «полные» имена, например: По умолчанию объект будет создаваться в текущей схеме. Узнать о том, какая схема в данный момент является текущей, можно с помощью запроса При работе с объектами БД используется настраиваемый для различных пользователей параметр Search_path, Который определяет, в какой схеме следует искать. Текущая схема — это первая схема в Search_path . Если необходимо, чтобы пользователь видел только определенный набор таблиц, можно модифицировать его search_path. Так как этот параметр для каждого пользователя может иметь свое значение, он задается при попытке установить соединение. Например, так: Следует заметить, что необходимо давать привилегии для работы со схемой так же, как и особые права на объекты схемы. Поэтому для объектов нужно будет указывать, например: GRANT SELECT ON month_end_snapshot TO public; или задавать привилегии по умолчанию, которые будут использованы при создании объектов:
Выше уже говорилосьотом, что схемы в чем-то похожи на директории.
Понятие search_path в PostgreSQL напоминает концепцию переменной окружения PATH. Текущая схема напоминает текущую рабочую директорию. Здесь нет команды cd для смены директории, но зато есть search_path. Есть и еще несколько отличий: например, схемы PostgreSQL не ранжируются по иерархии, подобно директориям файловой системы.
Многие создают пользователя и схему с одним именем, чтобы работать, как в других СУБД, например в Oracle. Следует заметить, что обе схемы finance и sales существуют в рамках одной и той же базы данных PostgreSQL и запущены на одном и том же сервере БД. Они используют один и тот же буфер, и их тесно связывает множество глобальных настроек.
Рубрика: Женский интерес