使用密码创建用户

通常,你应该避免在应用程序中使用默认数据库角色(通常为 postgres)。你应该创建一个具有较低权限级别的用户。在这里我们制作一个名为 niceusername 并给它一个密码 very-strong-password

CREATE ROLE niceusername with PASSWORD 'very-strong-password' LOGIN;

问题在于,输入到 psql 控制台的查询会保存在用户主目录的历史文件 .psql_history 中,并且可能会记录到 PostgreSQL 数据库服务器日志中,从而暴露密码。

要避免这种情况,请使用\password 命令设置用户密码。如果发出该命令的用户是超级用户,则不会询问当前密码。 (必须是超级用户才能更改超级用户的密码)

CREATE ROLE niceusername with LOGIN;
\password niceusername