La conversion en UTF8 ne devrait pas endommager vos données car (je crois) tous les caractères de SQL_ASCII existent également en utf8 ; ils ont juste des byte codes différents.
Votre meilleur pari est de reconstruire votre base de données. C'est-à-dire le vider, créer une base de données utf8 puis restaurer le vidage dans cette nouvelle base de données.
postgres pg_dump --encoding utf8 main -f main.sql
createdb -E utf8 newMain
psql -f main.sql -d newMain
Vous pouvez ensuite bien sûr renommer les bases de données une fois que vous êtes satisfait que le nouveau UTF8 corresponde à vos données.