我应该为PostgreSQL中的每个用户创建一个数据库吗?
我的问题是:当我创建一个与默认的我应该为PostgreSQL中的每个用户创建一个数据库吗?,postgresql,createuser,Postgresql,Createuser,我的问题是:当我创建一个与默认的postgres用户不同的PostgreSQL用户时,我是否也应该为该用户创建一个要连接的新数据库 这样的设置有什么意义?一些解释: 不要将postgres数据库用于用户数据。它用于管理目的,例如,如果要运行CREATE database,则作为要连接的数据库 这与用户无关 用户是集群范围的,也就是说,集群中的所有数据库共享相同的用户。请注意,这并不意味着每个用户都可以连接到每个数据库 PostgreSQL命令行程序有两个默认值: 如果未指定数据库用户,则默认
postgres
用户不同的PostgreSQL用户时,我是否也应该为该用户创建一个要连接的新数据库
这样的设置有什么意义?一些解释:
- 不要将
数据库用于用户数据。它用于管理目的,例如,如果要运行postgres
,则作为要连接的数据库 这与用户无关CREATE database
- 用户是集群范围的,也就是说,集群中的所有数据库共享相同的用户。请注意,这并不意味着每个用户都可以连接到每个数据库
- PostgreSQL命令行程序有两个默认值:
- 如果未指定数据库用户,则默认为与操作系统用户一样被调用的数据库用户
- 如果未指定数据库,则默认为与数据库用户同名的数据库
- 为每个单独的数据体创建一个数据库,就像属于一个应用程序的所有数据一样
- 根据应用程序和数据维护过程的需要创建用户。为不同的任务使用不同的用户是一个好主意。例如,应用程序不应使用执行备份的用户连接到数据库
sudo
,您只需将export PGDATABASE=postgres
添加到.bashrc
或.profile
。我总是使用本地用户的名称创建一个新的超级用户,并在必要时配置pg_hba.conf
以允许本地连接