Концепция схемы в PostgreSQL


8

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

Может ли это повлиять на меня в будущем, если я решу не думать о них сейчас и беспокоиться о них позже?

Пояснение с примером будет приятно.

Ответы:


13

Схемы в postgres используются главным образом для пространства имен, а иногда и для безопасности.

Пространство имен, потому что два объекта могут иметь одно и то же имя в разных схемах, а затем на них указывают schema.objectнотации, что особенно полезно в сочетании с search_path(многие модули contrib делают это, например, xml2 ). Безопасность, потому что теперь вы можете сделать grant ... on all tables in schema.


3
Одна из очень интересных вещей, которую вы можете сделать со схемами, - это заменить объекты по умолчанию из других проектов. Например, мы используем вики в отдельных схемах и представлении, позволяющем интегрировать Викимедиа с нашим приложением на работе. для кода Викимедиа, это просто старая старая Викимедиа в схеме, но на самом деле пользователи и группы приходят из нашего приложения и переопределяют то, что ожидает Викимедиа. Таким образом, информация о пользователе / ​​группе сохраняется не дважды, один раз в нашем приложении и один раз в Викимедиа, но только в нашем приложении.
Скотт Марлоу

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.