postgres默认用户名问题

不少时候刚装完postgres后,会发现postgres的默认管理员帐号是postgres,在linux平台下若是不切换到postgres用户是没法链接数据库的,老是提示找不到当前用户。linux

psql: FATAL:  database "root" does not exist

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

sudo -u postgres

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

最后个人解决方案是,切换到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 | {}
相关文章
相关标签/搜索