Я понял это. Это не было проблемой кодирования.
Вывод SQLite экранировал строки иначе, чем ожидает Postgres. Были некоторые случаи, когда выводился asdf \ xd \ foo. Я полагаю, что '\ x' заставляло ожидать, что следующие символы будут в кодировке Unicode.
Решением этой проблемы является сброс каждой таблицы отдельно в режиме CSV в sqlite 3.
Первый
sqlite3 db/trac.db .schema | psql
Теперь, по большей части, это делается для копирования данных обратно в
for table in `sqlite3 db/trac.db .schema | grep TABLE | sed 's/.*TABLE \(.*\) (/\1/'`
do
echo ".mode csv\nselect * from $table;" | sqlite3 db/trac.db | psql -c "copy $table from stdin with csv"
done
Да, вроде как взломать, но это работает.