Я публикую этот ответ, потому что ни один из приведенных здесь ответов на самом деле не работал для меня. Я не мог использовать COPY
изнутри Postgres, потому что у меня не было правильных разрешений. Поэтому я выбрал «Экспорт строк сетки» и сохранил вывод как UTF-8.
psql
Версия дается также @ Брайан не работал для меня, по другой причине. Причина, по которой это не сработало, заключается в том, что, очевидно, командная строка Windows (я использовал Windows) сама вмешивалась в кодировку. Я продолжал получать эту ошибку:
ОШИБКА: символ с байтовой последовательностью 0x81 в кодировке "WIN1252" не имеет эквивалента в кодировке "UTF8"
В итоге я решил написать короткий JDBC-скрипт (Java), который считывал файл CSV и выдавал операторы вставки прямо в мою таблицу Postgres. Это работало, но командная строка также работала бы, если бы она не изменяла кодировку.