Małe litery U-umlaut to 0xfc w ISO 8859-1 (AKA Latin-1), ale 0xfc nie jest prawidłowym znakiem UTF-8. Problem polega na tym, że masz ciąg Latin-1, który próbujesz traktować jako UTF-8, a PostgreSQL słusznie narzeka.
Albo napraw źródło danych, aby wysyłało Ci UTF-8, albo, jeśli zawsze będzie wysyłał Ci Latin-1, popraw kodowanie samodzielnie za pomocą czegoś takiego:
utf_8_string = latin_1_string.force_encoding('iso8859-1').encode('utf-8')
a następnie pracuj z utf_8_string
wersja.