不少时候刚装完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 | {}