Di chuyển giữa hai DBMS rất khác nhau đòi hỏi nhiều hơn là chỉ di chuyển dữ liệu. Nhưng di chuyển dữ liệu thường là phần dễ nhất.
Cách mà tôi đã thử, miễn phí và tôi có thể xác nhận rằng nó hoạt động:
- tạo một lược đồ mysql chỉ đổ
- Điều chỉnh SQL bằng trình soạn thảo văn bản và nhiều tìm kiếm và thay thế
- chạy SQL đã chuyển đổi trong Postgres
- Tạo kết xuất văn bản đơn giản từ MySQL (ví dụ CSV hoặc một số định dạng được phân tách khác)
- nhập dữ liệu bằng lệnh COPY của PostgreSQL
Nhập dữ liệu thực sự có thể khó khăn nếu bạn dựa vào hành vi của MySQL để chấp nhận dữ liệu bất hợp pháp (như ngày 31 tháng 2)
Tôi đoán là, điều này sẽ nhanh hơn việc tìm kiếm một công cụ, đánh giá một loạt chúng và sau đó cố gắng hiểu công cụ mà bạn đã chọn. Nhưng nó phụ thuộc vào loại "lớn" mà bạn đang đề cập đến. Nếu lớn là vài trăm bảng thì điều này có thể không khả thi. Nếu lớn chỉ đề cập đến số lượng hàng, thì đây có lẽ là cách nhanh nhất để làm điều đó.
Có một số công cụ có thể kết xuất một lược đồ cơ sở dữ liệu theo định dạng DBMS độc lập (XML), như Liquibase , SchemaSpy hoặc WbSchemaReport . Với Liquibase có lẽ là dễ sử dụng nhất. Những cái khác sẽ yêu cầu một số thao tác viết / mở rộng XSLT thủ công để chuyển đổi XML được tạo.
Nếu bạn đang sử dụng trình kích hoạt và quy trình được lưu trữ trong MySQL, tôi không tin sẽ có bất kỳ công cụ tự động nào có thể dịch chúng mà không yêu cầu sửa lỗi thủ công chính sau đó - và sau đó các quy trình được tạo có thể sẽ không sử dụng bất kỳ tính năng nâng cao nào của DBMS đích .