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 | {}
相關文章
相關標籤/搜索