
我正在遵循本教程,並以我運行的 postgres 身份登入:
createuser --interactive
提供的名稱和選擇的超級用戶
然後:
createdb dogspot
但當嘗試時
sudo -i -u dogspot
我得到:
postgres@ip-172-31-12-126:/home/ubuntu$ sudo -i -u dogspot
sudo: unknown user: dogspot
sudo: unable to initialize policy plugin
但用戶肯定存在,因為當嘗試再次建立用戶時,會提示已經存在的用戶。一些如何正確執行此操作的提示將受到重視。
資料庫版本:
psql (PostgreSQL) 9.3.4
作業系統版本:
Ubuntu 14.04 LTS
更新:
似乎之前需要使用相應的名稱來創建 linux 用戶:
sudo useradd -d /home/dogspot -m dogspot
sudo passwd dogspot
答案1
您混淆了 PostgreSQL 使用者和作業系統使用者。
PostgreSQL 使用者可能沒有對應的作業系統使用者而存在。
預設情況下,連線使用peer
身份驗證,您必須以與嘗試連線的 PostgreSQL 使用者同名的作業系統使用者身分執行。你可以改變pg_hba.conf
它,對於所有使用者或僅對於某些使用者/資料庫。欲了解更多詳細信息,請參閱客戶端認證章節。