2016-10-24 71 views
1

我是一名軟件測試員。我想在本地測試我的項目。所以我想用psql命令插入數據庫。我嘗試了很多次。我無法訪問登錄頁面。如何使用Linux終端在PostgreSQL中運行SQL文件?

這是我做過什麼:

[email protected]:/home/naveen$ psql -U admin docmgr 

Password for user admin: psql (9.5.4) Type "help" for help. 

docmgr=> psql docmgr -f /var/www/html/docmgr/application/assets/dd/structs/docmgr_21Oct2016.sql -U admin 
docmgr-> \dt No relations found. 

docmgr-> \dt No relations found. 

docmgr-> select * from admin_users; 

ERROR: syntax error at or 
near "psql" LINE 1: psql docmgr -f 
/var/www/html/docmgr/application/assets/dd/st... 
     ^
+0

內容:SQL創建表查詢。不會有任何錯誤。它什麼都沒顯示。當我選擇表「\ dt」的列表。它顯示沒有發現關係。我認爲該命令不起作用.. –

+0

標題說「如何在* postgres中轉儲sql文件*」,儘管在你的問題中,你似乎問「如何將sql文件*轉儲到* postgres中。 ..「。那麼,它是什麼?從Postgres獲取數據,或將數據導入Postgres? –

+0

我的假設是:文件中包含文本' - 這些不是您正在查找的轉儲文件.'不太可能,但它符合我們提供的信息。 – IMSoP

回答

3

這是錯誤的:

docmgr=> psql docmgr -f /var/www/html/docmgr/application/assets/dd/structs/docmgr_21Oct2016.sql 

您從psql內運行psql但 「PSQL」 不是SQL語句。

您也需要直接在命令提示符下運行:

[email protected]:/home/naveen$ psql -U admin -d docmgr -f /var/www/html/docmgr/application/assets/dd/structs/docmgr_21Oct2016.sql 

或者從psql您需要使用\i命令來運行SQL腳本:

[email protected]:/home/naveen$ psql -U admin docmgr 

Password for user admin: psql (9.5.4) Type "help" for help. 

docmgr=> \i /var/www/html/docmgr/application/assets/dd/structs/docmgr_21Oct2016.sql 
+0

postgres @ naveen-Inspiron-3542:/ home/naveen $ psql -U admin -d docmgr -f /var/www/html/docmgr/application/assets/dd/structs/docmgr_21Oct2016.sql 用戶管理員密碼: /var/www/html/docmgr/application/assets/dd/structs/docmgr_21Oct2016.sql:沒有這樣的文件或目錄 postgres @ naveen-Inspiron-3542:/ home/naveen $ psql -U admin docmgr 用戶管理員的密碼: psql(9.5.4) 輸入「help」尋求幫助。 docmgr => \ i /var/www/html/docmgr/application/assets/dd/structs/docmgr_21Oct2016.sql /var/www/html/docmgr/application/assets/dd/structs/docmgr_21Oct2016.sql:否這樣的文件或目錄 docmgr => –

+0

好吧,這是插入謝謝你 –

+0

海..還有一個問題。它是插入,但是當我把用戶名和密碼。它無法訪問原因? –