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

Tôi có thể thay đổi phương pháp phân phối trên bảng Citus hiện có không?

Đó là một câu hỏi hay. Hiện tại, Citus không cung cấp cách trực tiếp để thay đổi loại phân vùng của dữ liệu hiện có.

Trong phân vùng theo phạm vi, các bản ghi được đặt trong các phân đoạn theo giá trị cột phân vùng và giá trị tối thiểu / tối đa của phân đoạn. Nếu bản ghi x nằm trong phân đoạn y, thì nó có nghĩa là y.minvalue <= x.partition_column <= y.maxvalue .

Trong phân vùng băm, cột phân vùng được băm và các bản ghi được định tuyến theo giá trị băm này. Do đó, các giá trị tối thiểu / tối đa bạn thấy trong pg_dist_shard là các giá trị biên cho kết quả của hàm băm. Trong trường hợp này y.minvalue <= hash(x.partition_column) <= y.maxvalue .

Do đó, thực hiện các thay đổi bạn đã đề cập sẽ dẫn đến việc phân phối không chính xác. Để chuyển từ phân vùng phạm vi sang phân vùng băm, dữ liệu phải được phân phối lại. Để làm điều đó, tôi khuyên bạn nên tải lại dữ liệu vào một bảng được phân vùng băm trống.

Để biết thêm thông tin, bạn có thể tham khảo Làm việc với Bảng phân tán Phân phối băm các phần của Tài liệu Citus.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng psql's \ copy cho truy vấn nhiều dòng

  2. thiết lập PostgreSQL với dự án django

  3. Tự động thả bảng và chỉ mục trước 90 ngày

  4. Chuỗi có khóa chính tổng hợp

  5. SQL:truy vấn con có quá nhiều cột