我想從我的客戶的以前的軟件供應商給予我的備份(不再在圖片中)創建一個Postgres數據庫。但我正在努力解決編碼問題。我對Postgres不太熟悉(MySQL是我的東西),所以請原諒我的努力。創建/恢復數據庫Postgres編碼問題
當我運行psql dbname < /path/to/file.backup
,它吐出來的各種開頭invalid command
和帶有問號的和奇怪的字符,並且輸出的最後一行的字符串結束行是:
ERROR: invalid byte sequence for encoding "UTF8": 0xf1 0x16 0x88 0x02
我打開備份文件在我的終端,我看到許多SQL字符串與非打印字符穿插(表示爲「^ @」)。有朝頂一些字符串,我認爲可能是與此有關:
SET client_encoding = 'UTF8';
SET standard_conforming_strings = 'off';
CREATE DATABASE "cleaned_DB" WITH TEMPLATE = template0 ENCODING = 'UTF8' \
LC_COLLATE = 'English_United States.1252' \
LC_CTYPE = 'English_United States.1252';
所以看起來像數據庫w一樣如使用UTF8編碼,但軟件供應商的開發機器使用WIN1252。我猜想備份文件中的字符串在WIN1252中?
如何導入此數據庫?作爲參考,我的開發機器運行Mac OSX。
'pg_restore'完美運作。謝謝!!! – curtisdf