pgAdmin III 寫入包含垃圾的文件,導致 PSQL 失敗

pgAdmin III 寫入包含垃圾的文件,導致 PSQL 失敗

我遇到了需要運行一些控制台命令的困境psql,因為一位同事需要\i在保存的腳本中使用psql 的命令來執行另一個文件中的其他SQL 語句,但我注意到psql 由於一些額外的垃圾字符而在這些文件上阻塞。

psql:C:/tmp/junk.sql:3: ERROR:  syntax error at or near "CREATE"
LINE 1: CREATE TABLE junktable (

psql這裡需要它,因為\i它不是 SQL 的官方部分,因此如果您直接向資料庫解釋器發送這樣的命令,即使它有辦法存取本機磁碟上的文件,它也不會運行。

為了簡單起見,我想找到一種方法讓 PgAdmin 的 sql 編輯器能夠與 Postgres 很好地配合,所以我不會突然告訴工作中的其他人下載並安裝另一個編輯器來解決這個問題;他們已經了解並使用 pgAdmin。

相關問題:

答案1

令人高興的是,有一個解決方案不需要更改 psql.exe 或類似的內容。

如果您瀏覽 PgAdmin III 的選項(檔案 -> 選項),在「查詢檔案」中的「查詢工具」標題下,您會發現「為 UTF 檔案寫入 BOM」的複選框切換選項。

PgAdmin III 選項: 查詢工具:查詢文件

按一下「確定」後,您應該能夠從 PgAdmin 儲存與 psql.exe 打包版本一起使用的檔案。如果您的現有檔案存在 UTF BOM 表,這會阻止 psql 正確讀取它們,您可以從 PgAdmin 的 SQL 查詢編輯器載入它們,然後只需使用「另存為」選項將它們儲存到位。它也應該可以只進行一些小的更改,例如添加註解行並進行常規保存(ctrl-S)。

相關內容