Nếu tôi hiểu bạn đúng, bạn muốn khôi phục kết xuất định dạng tùy chỉnh được lấy bằng 10.5 vào cơ sở dữ liệu 10.3.
Điều đó sẽ không thể thực hiện được nếu định dạng lưu trữ đã thay đổi từ 10,3 đến 10,5.
Để giải quyết vấn đề này, bạn có thể sử dụng kết xuất “định dạng thuần túy” (tùy chọn --format=plain
) mà không có "phiên bản lưu trữ". Nhưng bất kỳ sự cố nào trong quá trình khôi phục đều do bạn giải quyết, vì không hỗ trợ hạ cấp PostgreSQL.
Bạn phải luôn sử dụng cùng một phiên bản để phát triển và sản xuất, đồng thời bạn phải luôn sử dụng phiên bản nhỏ mới nhất (hiện tại là 10.13). Mọi thứ khác đang gặp rắc rối.
- sao lưu dưới dạng văn bản thuần túy như sau:cảnh báo! tập tin sẽ rất lớn. Nhiều hơn khoảng 17 lần so với định dạng tùy chỉnh thông thường. 90mb thông thường của tôi hiện là 1,75Gb
- sao chép tệp sao lưu vào vùng chứa postgres
docker cp ~/path/to/dump/in-host-system/2020-07-08-1.dump <name_of_postgres_container>:/backups
- chuyển đến phần bash của vùng chứa postgres của bạn
docker exec -it <name_of_postgres_container> bash
- bên trong bash of postgres container:
psql -U username -d dbname < backups/2020-07-08-1.dump
Điều đó sẽ hoạt động