2013-03-01 65 views
0

我需要恢復一個PostgreSQL轉儲文件得到一些數據出來的(注從來沒有使用PostgreSQL的前)恢復PostgreSQL的轉儲文件

我使用命令行嘗試使用以下(有關詳細信息填寫)

psql -U {user-name} -d {desintation_db}-f {dumpfilename.sql} 

最初它看起來像是在工作,很多的滴和閃爍起來。但是,它結束,沒有什麼在數據庫中。通過轉儲文件看起來,它看起來並不像它實際上結束了。

我也嘗試了在這條線打開轉儲文件的SQL編輯器和我的數據庫執行它,但很短的方式與文件時,它的錯誤「語法錯誤或接近‘1’

-- 
-- Data for Name: admin_groups; Type: TABLE DATA; Schema: public; Owner: postgres 
-- 

COPY admin_groups (ref, title, is_locked, created, updated) FROM stdin; 
1 Default t 2011-05-25 15:13:46.474025 2011-05-25 15:13:46.474025 
2 Root t 2011-05-25 15:13:54.137801 2011-05-25 15:13:54.137801 
\. 

任何想法?

+0

可能你從轉儲中丟失了EOL(新行符號) - 任何數據行都應該在單獨的行中。 – 2013-03-01 10:17:06

回答

2

這最終工作在PostgreSQL中我

psql -f {dump file name} {db name} 
1

對於恢復數據庫轉儲文件中使用SQL命令

pg_restore -p 5433 -U postgres -d databasename -v "/var/tmp/dumpfilename.dump" 

在PostgreSQL中轉儲數據的基礎上使用該SQL命令

pg_dump -p 5433 -U postgres -F c -b -v -f "/var/tmp/dumpfilename.dump" databasename 

這裏基於哪個端口號給出我們我們使用該端口號安裝端口號(5433)。