Tôi phải nâng cấp từ PostgreSQL 9.2 lên 9.6. Sau đây là những thách thức mà tôi đang phải đối mặt:
Vì chúng tôi đã thiết lập sao chép phát trực tuyến và PostgreQuery không hỗ trợ nâng cấp phiên bản thấp hơn lên trên khi ở chế độ sao chép phát trực tuyến, khi tôi nâng cấp bản gốc, tôi phải xây dựng lại các nô lệ và phải mất 3 giờ. Tôi không có thời gian rảnh rỗi. Tại bất kỳ thời điểm nào, chúng tôi cần một nô lệ và một chủ có sẵn. Có cách nào khác để nâng cấp mà không phải xây dựng lại nô lệ, sử dụng nhân rộng trực tuyến không?
Để xây dựng sao chép logic, chúng tôi đã nghĩ đến việc sử dụng slony nhưng slony có một số hạn chế ở chỗ nó không tự động sao chép:
- Thay đổi đối tượng lớn (BLOBS)
- Thay đổi được thực hiện bởi các lệnh DDL
- Thay đổi đối với người dùng và vai trò
... và ứng dụng của chúng tôi có các lệnh tạo liên tục. Vì vậy, chúng tôi không thể sử dụng slony.
Vui lòng đề xuất một cái gì đó để tránh xây dựng lại nô lệ và thực hiện nâng cấp với thời gian chết tối thiểu và một chủ nhân và một nô lệ đã sẵn sàng.