相关疑难解决方法(0)

什么是特殊数据库“postgres”?

我有一个 PostgreSQL 服务器,上面运行着多个数据库。其中一个数据库名为postgres,它从一开始就存在。我看不到里面的任何表,我从来没有明确使用过它,但我注意到,任何用户都可以在数据库中创建表(这不是我想要的 - 我不希望除管理员之外的任何用户创建任何地方的任何桌子)。

我有一种感觉,它是服务器正常运行所需的某种特殊数据库,但它的目的究竟是什么?什么样的数据(或可能)存储在里面?它是否保存有关其他数据库的元数据(例如information_schema?)。如果我connect从公众那里撤销对该数据库的特权,会发生什么令人讨厌的事情吗?或者,如果我什至放弃它?

我用谷歌搜索了半个小时,但总是得到完全不相关的东西,因为这个词postgres也用于用户postgres和 DBMS 本身。

postgresql

18
推荐指数
1
解决办法
2819
查看次数

是否所有用户都需要访问 pg_hba.conf 中的 postgres 数据库?

我只是在 pgAdmin 中测试用户创建过程。我有一个数据库db1,我想为其创建一个用户以便能够连接到它。我希望这是用户可以连接的唯一数据库。

创建用户后,我打开我的pg_hba.conf文件并添加了几行:

host    db1 dbuser  127.0.0.1/32    md5
host    db1 dbuser  ::1/128         md5
Run Code Online (Sandbox Code Playgroud)

postgres 用户可以访问所有数据库:

host    all postgres    127.0.0.1/32    md5
host    all postgres    ::1/128         md5
Run Code Online (Sandbox Code Playgroud)

当我通过 pgAdmin 连接到服务器时,我收到一条错误消息,指出dbuser无法访问postgres数据库。

这是正常的吗?当我希望 dbuser 只访问 postgres 数据库时,他是否应该甚至需要访问 postgres 数据库db1?一旦我将 postgres 添加到 的数据库列表中dbuser,我就可以连接。

postgresql permissions pgadmin

4
推荐指数
1
解决办法
5473
查看次数

标签 统计

postgresql ×2

permissions ×1

pgadmin ×1