不少時候剛裝完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 | {}