Você está migrando para a mesma versão do PostgreSQL? Pode haver problemas se você fizer um dump com o pg_dump 8.3 e tentar restaurá-lo no Postgresql 8.4. De qualquer forma, supondo que seja a mesma versão tente o seguinte:
Despeje todos os objetos globais, como usuários e grupos (não sei se eles estavam faltando no seu despejo):
pg_dumpall -g -U postgres > globals.sql
Esquema de despejo do banco de dados:
pg_dump -Fp -s -v -f db-schema.sql -U postgres dbname
Despeje o conteúdo do banco de dados:
pg_dump -Fc -v -f full.dump -U postgres dbname
Agora restaure.
psql -f globals.sql
psql -f db-schema.sql dbname
pg_restore -a -d dbname -Fc full.dump
Esse é o meu $ 0,02. Espero que ajude.