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

Tôi gặp lỗi không thể ghi khối .... tệp tạm thời không còn dung lượng trên thiết bị ... bằng cách sử dụng postgresql

ĐƯỢC RỒI. Vì vẫn còn thiếu một số dữ kiện, hãy cố gắng trả lời để có thể làm rõ vấn đề:

Có vẻ như bạn sắp hết dung lượng ổ đĩa. Nhiều khả năng là do bạn không có đủ dung lượng trên đĩa của mình. Kiểm tra trên Linux / Unix df -h Ví dụ.

Để cho bạn thấy, điều này có thể xảy ra như thế nào:Có một bảng có thể có 3 số nguyên, chỉ riêng dữ liệu sẽ chiếm khoảng 12Byte. Bạn cần thêm một số chi phí vào nó để quản lý hàng, v.v. Trên một câu trả lời khác Erwin đã đề cập đến 23Byte và liên kết với sách hướng dẫn để biết thêm thông tin về. Ngoài ra, có thể cần một số đệm đặt cược cân bằng các hàng, v.v. Vì vậy, hãy làm một phép toán nhỏ:

Ngay cả với một số nguyên 3, chúng tôi sẽ kết thúc ở khoảng 40 Byte mỗi hàng. Lưu ý rằng bạn muốn chèn 8.000.000, tổng số tiền này sẽ lên đến 320.000.000Byte hoặc ~ 300MB (chỉ dành cho ví dụ 3 số nguyên của chúng tôi và rất gần đúng).

Bây giờ, bạn có một vài chỉ mục trên bảng này, các chỉ mục cũng sẽ tăng lên trong quá trình chèn. Ngoài ra, một khía cạnh khác có thể bị phình ra trên bàn và các chỉ mục có thể được làm sạch bằng chân không.

Vậy giải pháp là gì:

  1. Cung cấp thêm dung lượng đĩa cho cơ sở dữ liệu của bạn
  2. Chia nhỏ các phần phụ liệu của bạn nhiều hơn một chút và đảm bảo rằng chân không đang chạy giữa chúng


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. org.postgresql.util.PSQLException:LỖI:cột user0_.id không tồn tại - Hibernate

  2. Tối ưu hóa bảng chỉ đọc PostgreSQL

  3. Nhóm theo tháng, trả về 0 nếu không tìm thấy bản ghi

  4. user postgres khởi chạy quy trình sử dụng tất cả các CPU 100%

  5. Rails:Cách tạo cột thời gian với múi giờ trên postgres