我的问题是:当我创建一个与默认postgres
用户不同的PostgreSQL用户时,是否还应该为该用户创建一个新数据库以供连接?
这样的设置有什么意义?
答案 0 :(得分:2)
一些解释:
请勿将postgres
数据库用于用户数据。它用于管理目的,例如,作为要运行CREATE DATABASE
的数据库。
这与用户无关。
用户在整个群集范围内,也就是说,群集中的所有数据库共享同一用户。请注意,这并不意味着每个用户都可以连接到每个数据库。
PostgreSQL命令行程序有两个默认值:
如果未指定数据库用户,则默认名称是被称为操作系统用户的数据库用户。
如果不指定数据库,则默认值为与数据库用户同名的数据库。
我认为正是这最后一个默认值激发了您的问题。 这只是一个默认值,不应影响您的数据库设计。
为每个单独的数据主体创建一个数据库,就像属于一个应用程序的所有数据一样。
根据您的应用程序和数据维护过程的要求创建用户。将不同的用户用于不同的任务是一个好主意。例如,执行备份的用户不应被您的应用程序用来连接数据库。
答案 1 :(得分:0)
不。即使它是本地管理员用户,因此您也不需要通过sudo
,您只需将export PGDATABASE=postgres
添加到.bashrc
或.profile
中。我总是用本地用户的名字创建一个新的超级用户,并在必要时配置pg_hba.conf
以允许本地连接。