У меня вопрос: когда я создаю пользователя PostgreSQL, отличного от пользователя postgres по умолчанию, я должен также создать новую базу данных для этого пользователя, к которой он будет подключаться?
postgres
Какой смысл такой установки?
Несколько объяснений:
Не используйте базу данных postgres для пользовательских данных.Он предназначен для административных целей, например, как база данных для подключения, если вы хотите запустить CREATE DATABASE.
CREATE DATABASE
. Это не имеет никакого отношения к пользователям.
Пользователи являются кластерными, то есть все базы данных в кластере имеют общих пользователей.Обратите внимание, что это не означает, что каждый пользователь может подключаться к каждой базе данных.
Программы командной строки PostgreSQL имеют два значения по умолчанию:
Если вы не используетеНе указывайте пользователя базы данных, по умолчанию используется пользователь базы данных, который называется пользователем операционной системы.
Если вы не укажете базу данных, по умолчанию используется база данных сто же имя, что и у пользователя базы данных.
Я предполагаю, что именно этот последний параметр по умолчанию вдохновляет ваш вопрос. Это просто значение по умолчанию, которое не должно влиять на дизайн вашей базы данных.
Создать одну базу данных для каждого отдельного массива данных, как и все данные, принадлежащие одномуapplication.
Создайте пользователей в соответствии с требованиями вашего приложения и процедурами обслуживания данных.Рекомендуется использовать разных пользователей для разных задач.Например, пользователь, выполняющий резервное копирование, не должен использоваться вашим приложением для подключения к базе данных.
Нет.Даже если это пользователь локального администратора, поэтому вам не нужно проходить через sudo, вам просто нужно добавить export PGDATABASE=postgres в .bashrc или .profile.Я всегда создаю нового суперпользователя с именем моего локального пользователя и настраиваю pg_hba.conf, чтобы разрешить локальное подключение при необходимости.
sudo
export PGDATABASE=postgres
.bashrc
.profile
pg_hba.conf