PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Chuỗi khóa chính của PostgreSQL bị mất sau khi di chuyển bằng AWS DMS

Sau khi @a_horse_with_no_name chỉ cho tôi đi đúng hướng và trò chuyện với AWS, tôi có thể trả lời câu hỏi của chính mình, ít nhất là nếu bạn đang sử dụng Dịch vụ di chuyển cơ sở dữ liệu AWS (DMS).

Vấn đề là, DMS chỉ tập trung vào bản thân dữ liệu chứ không thực sự là lược đồ (đối với tôi có vẻ như là một sự giám sát lớn, đặc biệt nếu bạn sử dụng cùng một công nghệ cơ sở dữ liệu nhưng đó là một vấn đề khác). Tài liệu không thực sự làm rõ điều này.

Để khắc phục sự cố này:

  1. Dừng (nếu nó vẫn tồn tại) quá trình di chuyển AWS DMS hiện có
  2. Bỏ cơ sở dữ liệu đã di chuyển hiện có và tạo một lược đồ trống mới để sử dụng
  3. Làm theo các bước tại đây https://docs.aws. amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html cài đặt và thiết lập Amazon Schema Conversation Tool (SCT)
  4. Sau khi bạn được kết nối với cả hai cơ sở dữ liệu, hãy làm theo các bước tại đây https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.html để "chuyển đổi" giản đồ của bạn (Tôi đã thực hiện toàn bộ lược đồ "công khai" cho cơ sở dữ liệu này để đảm bảo mọi thứ được bao phủ
  5. Tạo hoặc sửa đổi AWS DMS Migration của bạn, đảm bảo Chế độ chuẩn bị bảng mục tiêu ="TRUNCATE" và tắt các khóa ngoại trên cơ sở dữ liệu đích. Nếu sửa đổi, hãy đảm bảo rằng khi được yêu cầu, bạn sẽ không tiếp tục "RESTART"

Điều tôi chưa thử nghiệm là làm thế nào để xử lý thực tế là tôi đang di chuyển cơ sở dữ liệu trực tiếp. Vì vậy, các trình tự có thể đã lỗi thời trên cơ sở dữ liệu đích khi quá trình di chuyển được thực hiện. Tôi tin rằng sau này tôi có thể chuyển sang SCT và chỉ di chuyển các trình tự nhưng tôi chưa thử nghiệm điều này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mở rộng hàng qua * không được hỗ trợ ở đây

  2. Cập nhật Postgres với một liên kết bên trong trên 2 bảng?

  3. Lỗi cú pháp PostgreSQL tại hoặc gần 'union'

  4. tại sao không thể thấy kích thước giản đồ của tôi

  5. Tsrange - Tính toán sự khác biệt giữa hai phạm vi