Bạn có đang chuyển sang cùng một phiên bản PostgreSQL không? Có thể có vấn đề nếu bạn thực hiện kết xuất với pg_dump 8.3 và cố gắng khôi phục nó trong Postgresql 8.4. Dù sao, giả sử rằng đó là cùng một phiên bản, hãy thử như sau:
Kết xuất tất cả các đối tượng toàn cục, chẳng hạn như người dùng và nhóm (không biết liệu họ có bị thiếu trong kết xuất của bạn hay không):
pg_dumpall -g -U postgres > globals.sql
Lược đồ kết xuất của cơ sở dữ liệu:
pg_dump -Fp -s -v -f db-schema.sql -U postgres dbname
Kết xuất nội dung của cơ sở dữ liệu:
pg_dump -Fc -v -f full.dump -U postgres dbname
Bây giờ hãy khôi phục.
psql -f globals.sql
psql -f db-schema.sql dbname
pg_restore -a -d dbname -Fc full.dump
Đó là $ 0,02 của tôi. Hy vọng nó sẽ hữu ích.