postgres默认用户名问题

很多时候刚装完postgres后,会发现postgres的默认管理员账号是postgres,在linux平台下如果不切换到postgres用户是无法连接数据库的,总是提示找不到当前用户。

psql: FATAL:  database "root" does not exist

当切换到postgres的用户时,可以使用psql命令

sudo -u postgres

网上也找了很多解决方案,有的说使用软链接将postgres的psql链接到sbin目录下,但是我find到以后发现ln过来并不能psql成功。

最后我的解决方案是,切换到postgres用户下,在postgres库内创建了一个名为root的用户(因为我使用的当前用户是root,如果你使用的不是root用户请修改为自己的用户名),并分配给了权限。这样无论是终端还是程序就都能在当前用户访问postgres库了。
效果如下:

postgres=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
postgres | Superuser, Create role, Create DB, Replication | {}
root | Superuser, Create role, Create DB, Replication | {}

posted on 2017-04-18 18:42  最美代码  阅读(473)  评论(0)    收藏  举报