Должен ли я создать базу данных для каждого пользователя в PostgreSQL? - PullRequest
0 голосов
/ 20 сентября 2019

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

Какой смысл такой установки?

Ответы [ 2 ]

2 голосов
/ 20 сентября 2019

Несколько объяснений:

  • Не используйте базу данных postgres для пользовательских данных.Он предназначен для административных целей, например, как база данных для подключения, если вы хотите запустить CREATE DATABASE.

    . Это не имеет никакого отношения к пользователям.

  • Пользователи являются кластерными, то есть все базы данных в кластере имеют общих пользователей.Обратите внимание, что это не означает, что каждый пользователь может подключаться к каждой базе данных.

  • Программы командной строки PostgreSQL имеют два значения по умолчанию:

    • Если вы не используетеНе указывайте пользователя базы данных, по умолчанию используется пользователь базы данных, который называется пользователем операционной системы.

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

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

  • Создать одну базу данных для каждого отдельного массива данных, как и все данные, принадлежащие одномуapplication.

  • Создайте пользователей в соответствии с требованиями вашего приложения и процедурами обслуживания данных.Рекомендуется использовать разных пользователей для разных задач.Например, пользователь, выполняющий резервное копирование, не должен использоваться вашим приложением для подключения к базе данных.

0 голосов
/ 20 сентября 2019

Нет.Даже если это пользователь локального администратора, поэтому вам не нужно проходить через sudo, вам просто нужно добавить export PGDATABASE=postgres в .bashrc или .profile.Я всегда создаю нового суперпользователя с именем моего локального пользователя и настраиваю pg_hba.conf, чтобы разрешить локальное подключение при необходимости.

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