2009-12-30 44 views
1

我有一個Postgresql轉儲文件,我試圖恢復。我得到了關於無效數據的錯誤。什麼是「」。在postgresql轉儲文件?

ERROR: invalid input syntax for integer: "."

,當我檢查的文件,有數據是這樣的:

469215 2009-10-10 18:16:47.041377 0 1 
471217 2009-10-10 18:25:12.536352 0 1 
473224 2009-10-17 09:46:43.041604 0 1 
473228 2009-10-22 10:58:40.194244 0 1 
. 

,所以我想知道這是什麼「」做? 我檢查了一些其他工作轉儲,他們用「。」結束了他們的數據行。我猜這是正確的語法!

請告訴我什麼是正確的語法,它有什麼作用? 謝謝

回答

1

看來,它標誌着一個COPY聲明

年底從the documentation

End of data can be represented by a single line containing just backslash-period (\.). 
An end-of-data marker is not necessary when reading from a file, since the end of file 
serves perfectly well; it is needed only when copying data to or from client 
applications using pre-3.0 client protocol. 
+0

有沒有什麼辦法來解決呢?有點像設置它忽略它?導致轉儲文件幾乎是1200萬行,並且搜索所有複製語句並將其結尾替換爲「\」是一種痛苦。 ! – kevoroid 2009-12-30 08:17:19

+0

不知道我的頭頂上有一個。但是,使用「sed」等實用程序來輕鬆更改它應該非常容易... – 2009-12-30 08:26:53

+0

在您編輯文件之前,您可能想先試着弄清楚它是如何發生的 - pg_dump將始終生成正確的終止符......(這是繼續使用「自定義」轉儲格式的另一個原因) – 2009-12-30 10:23:59

相關問題