2012-02-24 205 views

回答

18

只需連接到數據庫psql並運行\i /path/to/filename.sql

8
psql --username yourusername --dbname yourdatabasename -f yourfile.sql 

如澄清here。根據配置,可能會要求輸入密碼。

如果它是新安裝的數據庫引擎,但沒有數據庫,請使用postgres作爲數據庫名稱,並嘗試省略用戶名部分(新安裝通常應授予對安裝它的當前用戶的完全訪問權限)。

如果仍然無法登錄,請暫時編輯pg_hba.conf,無論它安裝在何處,並暫時將localhost設置爲可信。然後你可以指定postgres作爲用戶名和數據庫名稱。

完成後不要忘記恢復pg_hba.conf更改。

2
psql dbname < /path/to/dump.sql 

如果需要,您甚至可以動態修改您的轉儲:

sed 's/OWNER TO olduser/OWNER TO newuser/g' < /path/to/dump.sql | psql dbname 
+0

\^h的所有命令這是非常有用的幫助。我需要一些可以從腳本執行的東西。謝謝! – 2015-04-09 04:56:35

-1
psql -U postgres -d doctor_dev < /home/ravi/mydevelopment 
+0

這不是一個答案。此代碼僅將未知的sql語句從文件發送到postgresql數據庫。 – 2017-01-21 13:17:31

+0

該命令將恢復postgres backupdump – 2017-01-24 05:43:27