2017-05-05 73 views
0

根據website我可以下載他們的樣本文件dvdrental.zip,但如何將樣本數據庫導入到postgres中?

數據庫文件是在zipformat(dvdrental.zip),所以你需要解壓>它dvdrental.tar

第一所有,什麼是焦油?我認爲它必須是tar.gz才能被壓縮?我甚至不知道如何自己創建一個「焦油」。我想:

tar -zcvf dvdrental.tar.gz dvdrental

tar -cf dvdrental.tar dvdrental

我嘗試用pgAdmin的4導入和我得到之一:

pg_restore: [archiver] input file does not appear to be a valid archive

pg_restore: [tar archiver] could not find header for file "toc.dat" in tar archive

。現在,不要問我爲什麼一個受歡迎的教程網站創建了錯誤格式的文件。但是,你能告訴我如何重新包裝這個文件,以便我可以將它用作樣本數據庫嗎?

使用Mac OS 10.12.4。 Postgres 9.6。而pgAdmin的4(不知道這是否是在測試它墜毀並執行各種無厘頭的窗口移動和突出的?)

回答

0

如果你看看.tar檔案,你會發現restore.sql其中頂部:

-- File paths need to be edited. Search for $$PATH$$ and 
-- replace it with the path to the directory containing 
-- the extracted data files. 

所以創建示例數據庫你可以在某處提取.tar內容,並使用一個命令:

sed -e 's/\$\$PATH\$\$/\/path\/to\/extracted\/files/g' restore.sql | psql 

或者

sed -e 's/\$\$PATH\$\$/\/path\/to\/extracted\/files/g' restore.sql > r.sql 

並嘗試使用PgAdmin執行r.sql內容。

相關問題