【发布时间】:2019-03-30 21:12:40
【问题描述】:
我正在使用 PostgreSql 手册和其他指南来设置我的数据库环境。 到目前为止,情况看起来不错,但我想知道我是否有问题。
我正在尝试应用这个: 提示 最好创建一个具有 CREATEDB 和 CREATEROLE 权限但不是超级用户的角色,然后将此角色用于数据库和角色的所有日常管理。这种方法避免了以超级用户身份执行并不真正需要它的任务的危险。
我已经为此角色创建了一个用户。
createuser --interactive --pwprompt
Enter name of role to add: Manager
Enter password for new role:
Enter it again:
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) y
...并以新用户(经理)的身份连接到已经存在的数据库或者我是这么想的。
psql -d test
Password for user postgres:
psql (11.2)
WARNING: Console code page (437) differs from Windows code page (1252)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
Type "help" for help.
test=# \c test Manager
Password for user Manager
WARNING: Console code page (437) differs from Windows code page (1252)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
You are now connected to database "test" as user "Manager".
test=>
我为数据库“test”创建了一个表,但是在检查它时,所有者不是经理,而是 postgres。
test=> \dt
List of relations
Schema | Name | Type | Owner
--------+---------------+-------+----------
public | Data-projects | table | postgres
(1 row)
test=> \dn
List of schemas
Name | Owner
--------+----------
public | postgres
(1 row)
我不确定这是否好。我希望所有者是经理。 这是我第一次使用这些工具。有人可以指导我正确的方向吗? 我希望 Manager 管理所有数据库。 那不是让他成为主人吗? 谢谢
【问题讨论】:
标签: postgresql