我使用postgresql命令'createuser myusername'。它總是提示我輸入密碼。如果我將密碼留空,它會提示沒有指定密碼的錯誤。爲PostgreSQL用戶設置空白密碼
我只是想創建一個空白/無密碼的用戶,我無法在Mac OS X下使用Postgresql 9。
我應該採取哪些步驟來創建沒有密碼的用戶。該命令總是要求我輸入密碼。
我使用postgresql命令'createuser myusername'。它總是提示我輸入密碼。如果我將密碼留空,它會提示沒有指定密碼的錯誤。爲PostgreSQL用戶設置空白密碼
我只是想創建一個空白/無密碼的用戶,我無法在Mac OS X下使用Postgresql 9。
我應該採取哪些步驟來創建沒有密碼的用戶。該命令總是要求我輸入密碼。
你正在吠叫錯誤的樹,試圖用createuser
來解決這個問題。如果您想檢查man
頁面的createuser
,它會告訴您,如果您確實需要密碼並設置 - 無密碼,登錄將會失敗。 createuser
實際上只是創建一個用戶。它確實而不是決定用戶將不得不認證。
身份驗證主要在pg_hba.conf
中處理,它決定是否在登錄時要求輸入密碼。我從來沒有在OS X上運行在Linux上的PostgreSQL,我發行的股票的conf是這樣的:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
我會確保您有類似的發展進入了第一道防線。注意:如果沒有設置--host
選項,psql
將嘗試使用unix套接字進行連接。如果你試圖用psql --host localhost
而不是創建一個沒有密碼的用戶,請創建一個密碼爲.pgpass file的自動提供的密碼。所有使用libpq進行連接的應用程序都會遵守這個要求,除了JDBC驅動程序和.NET驅動程序外,幾乎所有這些應用程序都可以進行連接。
+1 pgpass就是這樣做的方法。 – 2011-03-24 19:33:05
連接的另一種方式(我prefere它)來改變用戶對PG用戶密碼登錄到Postgres的控制檯(作爲postgres
用戶在本地PC)第二行會被使用,發出SQL請求:
$ sudo -u postgres psql -w
# ALTER USER postgres WITH PASSWORD '';
其中是在mac os x或linux機器上的文件pg_hba.conf的位置? – othman 2011-03-25 14:05:44
對於Ubuntu,您可以在'/ etc/postgresql/9.0/main/pg_hba.conf'找到它(適用於PostgreSQL 9.0)。 – jmonteiro 2012-01-13 23:30:45
對於OS X 10.6.8,您可以在'/ Library/PostgreSQL/8.3/data/pg_hba.conf'找到它。請注意,它由'postgres'用戶擁有,因此您需要'su postgres'來編輯它。 – Chris 2012-01-17 06:51:16