Postgres наследуют от схемы - PullRequest
0 голосов
/ 25 апреля 2018

Я инициирую новый проект, который будет доступен в качестве SaaS для нескольких клиентов. Итак, я думаю о создании базы данных, а затем о создании индивидуальной схемы для каждого клиента.

Я определил некоторые правила, и первое правило - все клиенты должны всегда иметь одну и ту же схему. Не важно что. Если один клиент получит обновление, все остальные клиенты также получат обновление.

Для этой цели мой вопрос: возможно ли наследовать схему от другой схемы в той же базе данных? Если нет, нужно ли вручную создавать все таблицы и индексы в новой схеме и наследовать их от таблиц в основной схеме?

Я использую Postgresql 9.6, но при необходимости могу обновить его.

Я открыт для предложений.

Заранее спасибо

1 Ответ

0 голосов
/ 25 апреля 2018

Не существует автоматического способа установить наследование между всеми таблицами в двух схемах, вам придется делать это одна за другой (функция может помочь).

Однако я приглашаю вас немного остановиться и подумать о вашей модели данных. Сколько пользователей вы ожидаете? Если их может быть много, планируйте иначе, потому что базы данных с тысячами схем становятся громоздкими (например, поиск в каталоге станет медленным).

Возможно, вам лучше использовать одну схему для всех пользователей. Если вы беспокоитесь о разделении данных и безопасности, безопасность на уровне строк может быть решением для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...