1

我的问题是:当我创建一个不同于默认postgres用户的 PostgreSQL 用户时,我是否还应该为该用户创建一个新的数据库来连接?

这样的设置有什么意义?

4

2 回答 2

3

几个解释:

  • 不要将postgres数据库用于用户数据。它用于管理目的,例如,如果您想运行CREATE DATABASE.

    这与用户无关。

  • 用户是集群范围的,即集群中的所有数据库共享相同的用户。请注意,这并不意味着每个用户都可以连接到每个数据库。

  • PostgreSQL 命令行程序有两个默认值:

    • 如果不指定数据库用户,则默认为与操作系统用户一样调用的数据库用户。

    • 如果不指定数据库,则默认为与数据库用户同名的数据库。

我认为这是最后一个默认设置激发了您的问题。 这只是一个默认值,不应影响您的数据库设计。

  • 为每个单独的数据体创建一个数据库,就像属于一个应用程序的所有数据一样。

  • 根据您的应用程序和数据维护程序的需要创建用户。为不同的任务使用不同的用户是个好主意。例如,您的应用程序不应使用执行备份的用户来连接数据库。

于 2019-09-20T06:55:20.577 回答
0

不,即使它是本地管理员用户,所以您不需要通过sudo,您应该只添加export PGDATABASE=postgres到您的.bashrcor .profile。我总是用我的本地用户名创建一个新的超级用户,并pg_hba.conf在必要时配置为允许本地连接。

于 2019-09-20T07:12:19.083 回答