Ein kleiner U-Umlaut ist 0xfc in ISO 8859-1 (AKA Latin-1), aber 0xfc ist kein gültiges UTF-8-Zeichen. Das Problem ist, dass Sie einen Latin-1-String haben, den Sie als UTF-8 zu behandeln versuchen und PostgreSQL sich zu Recht beschwert.
Korrigieren Sie entweder die Datenquelle so, dass sie Ihnen UTF-8 sendet, oder, wenn sie Ihnen immer Latin-1 sendet, korrigieren Sie die Codierung selbst mit etwas wie:
utf_8_string = latin_1_string.force_encoding('iso8859-1').encode('utf-8')
und dann mit dem utf_8_string
arbeiten Version.