2017-10-05 33 views
0

我是laravel用戶。我使用宅基地運行我的項目,並且使用porstgreSQL作爲我的數據庫。我在我的cmd中運行了psql -U homestead -h localhost,然後我把secret作爲我的密碼。 但我喜歡這個如何在cmd中登錄postgreSQL

psql的錯誤:FATAL:密碼驗證失敗的用戶「宅基地」

+0

您需要輸入的密碼是您已經配置爲您的應用程序的Laravel連接的密碼。 –

+0

'DB_HOST = 127.0.0.1 DB_PORT = 54320 DB_DATABASE =宅基地 DB_USERNAME =宅基地 DB_PASSWORD = secret' @CraigRinger –

+1

的顯着區別這裏是*端口*。您沒有在'psql'命令中指定端口,而PostgreSQL的默認端口是'5432'。你必須有多個PostgreSQL實例。如果在命令行中添加'-p 54320'會怎樣? –

回答

0

登錄PostgreSQL的使用命令行:

psql -U posgtres -p 5432 

顯示數據庫列表:

\l 

連接數據庫:

\c "database_name" 

在數據庫顯示錶的列表:

\dt 

\dt+ 

顯示錶的列表數據:

SELECT * FROM "table_name"; 
2

對於命令行,你可以試試psql -U homestead -W -h localhost,這將迫使密碼提示。

如果這不起作用,請繼續閱讀...

您可能需要考慮用戶是否可以從您從登錄的IP該用戶名訪問下PostgreSQL的。爲此,您需要查看文件/etc/postgresql/9.6/main/pg_hba.conf(請記住9.6是版本,因此您的目錄名稱可能類似9.1或9.3)。在該文件中,你要尋找的一條線,看起來像這樣:

host all all 127.0.0.1/32 md5

該行指出,IP地址127.0.0.1可以通過端口登錄使用md5密碼散列32掩蓋。如果您需要登錄爲homestead,比如說,從端口12.34.56.78,你就需要添加這一行的下面:

host all homestead 12.34.56.78/32 md5

經過此調整後,您需要從運行pg_ctl reload命令行以使更改生效。

+0

我應該運行'pc_ctl reload'的路徑在哪裏? –

+0

好問題! :)嘗試'/ usr/lib/postgresql/9.6/bin /' –

+0

我得到這個錯誤'pg_ctl:沒有指定數據庫目錄和環境變量PGDATA未設置' –