Theo Paul Ramsey :
Đầu tiên, để tăng phiên bản vá (ví dụ XYZ -> XY (Z + 1)) trong PostgreQuery và PostGIS, bạn không cần phải làm gì khác ngoài cài đặt phần mềm mới. Dữ liệu có thể được giữ nguyên và mọi thứ sẽ hoạt động.
Đối với các phiên bản nhỏ tăng trong PostgreSQL (ví dụ XYZ -> X. (Y + 1) .Z), bạn cần kết xuất và khôi phục. Để tăng phiên bản nhỏ trong PostGIS, bạn cần thực hiện "nâng cấp mềm", nghĩa là để nguyên dữ liệu, nhưng chạy các tập lệnh nâng cấp (ví dụ: postgis_upTHER_14_to_15.sql) sau khi bạn cài đặt bản cập nhật phần mềm.
Cuối cùng, đối với phiên bản chính tăng trong PostgreSQL và PostGIS (ví dụ XYZ -> (X + 1) .YZ), bạn cần kết xuất và khôi phục.
Bạn đã lưu trữ dữ liệu trong lược đồ công cộng?
Điều này đưa tôi đến điểm thực tế mà tôi muốn thực hiện: bạn có thể đảm bảo dễ dàng nhất trong việc thực hiện kết xuất và khôi phục dữ liệu PostGIS nếu bạn đảm bảo rằng bạn không lưu trữ dữ liệu trong lược đồ "công khai".
Không phải tất cả bị mất mặc dù nếu bạn lưu trữ dữ liệu trong lược đồ công cộng
"Nhưng Paul," bạn nói, "Tôi đã có một bãi chứa cơ sở dữ liệu đầy đủ, điều đó có nghĩa là tôi là SOL?" Không, nhưng bạn sẽ cần một dạ dày mạnh mẽ. Đầu tiên, hãy thiết lập PostgreSQL mới của bạn. Tạo một cơ sở dữ liệu trống, tải PostGIS vào nó. Bây giờ, tải tập tin sao lưu của bạn vào cơ sở dữ liệu đó. Bạn sẽ thấy rất nhiều lỗi. Tuy nhiên, những lỗi này sẽ do hàm PostGIS cũ và các định nghĩa loại từ tệp kết xuất của bạn xung đột với các định nghĩa loại hiện có trong cơ sở dữ liệu của bạn. Và vì bạn muốn định nghĩa mới, không phải định nghĩa cũ, điều đó ổn. Tải của bạn, mặc dù tất cả các tiếng ồn và lỗi, nên thực sự hoạt động. Khi đã xong, bạn có thể di chuyển dữ liệu của mình vào một lược đồ riêng biệt đẹp mắt để lần sau bạn có thể thực hiện khôi phục sạch, không có lỗi.
Bạn đã thử nghiệm nếu nó hoạt động mặc dù các lỗi?
Trang PostGIS cũng có một phần về nâng cấp PostGIS .