Имах подобен проблем и го реших, като зададох кодирането на UTF8 с \encoding UTF8
в клиента, преди да опитате INSERT INTO foo (SELECT * from bar WHERE x=y);
. Моят клиент използваше WIN1252 кодиране, но базата данни беше в UTF8, оттук и грешката.
Повече информация е достъпна в уикито на PostgreSQL под Поддръжка на набор от знаци (документи за разработка).