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  最美代码  阅读(457)  评论(0)    收藏  举报