-1
我想將一個表的數據複製到一個文件中。我在本地Windows機器上有一個小型的數據庫表,這段代碼沒有問題。當我在開發環境(仍然是窗口,不同的數據庫)中使用它時,出現錯誤。PostgreSQL中的一個簡單的COPY語句8.4
我的standard_conforming_strings目前關閉。
這個查詢:
COPY some_table TO 'C:\\temp\\test.csv' WITH CSV HEADER;
給出了這樣的錯誤:
WARNING: nonstandard use of \\ in a string literal
LINE 1: COPY t_table TO 'C:\\temp\\test.csv' WITH CSV HEADER;
^
HINT: Use the escape string syntax for backslashes, e.g., E'\\'.
ERROR: relative path not allowed for COPY to file
********** Error **********
ERROR: relative path not allowed for COPY to file
SQL state: 42602
我曾嘗試:
'C:\temp\test.csv'
'C:\\temp\\test.csv'
'C:/temp/test.csv'
'C:\/temp\/test.csv'
而且在我所有的測試,在錯誤信息點插入符號^在^'C :.
''C:\ TEMP \ test.csv''應該工作假設'standard_conforming_strings = on'這是默認的。 ''C:/ temp/test.csv''也應該可以工作。你是否得到所有版本的完全相同的錯誤消息? –
是的,@a_horse_with_no_name。它可能是一個數據庫設置阻止我這樣做? – Kevin
該文檔說:從PostgreSQL 9.1開始,默認打開(以前的版本默認關閉)。我正在使用8.4。這可能是罪魁禍首嗎?如果我改變它,它會對我的數據庫產生負面影響嗎?謝謝!編輯:它已關閉! – Kevin