2012-10-03 32 views
21

Tôi đã sử dụng heroku cho một trong các ứng dụng của tôi và nó đã bị tắt ngay hôm nay vì số lượng hàng vượt quá 10.000 hàng.Số lượng hàng của Heroku không chính xác

Tôi không hiểu làm thế nào con số này được đưa ra mặc dù, như rails nói với tôi tôi chỉ có khoảng 2000 hồ sơ trong db.

Chạy một pg: thông tin, tôi thấy như sau:

Plan:  Dev 
Status:  available 
Connections: 1 
PG Version: 9.1.5 
Created:  2012-09-25 03:12 UTC 
Data Size: 11.0 MB 
Tables:  9 
Rows:  15686/10000 (Write access revoked) 
Fork/Follow: Unavailable 

bất cứ ai có thể giải thích cho tôi làm thế nào tôi dường như có 15.000 dòng mặc dù chỉ có 2.000 bản ghi trong cơ sở dữ liệu?

Cảm ơn!

+0

điều tương tự cũng xảy ra với tôi mặc dù tôi đã cắt ngắn bảng 5 phút trước và khởi động lại ứng dụng của tôi, Nó cho biết "Ghi quyền truy cập bị thu hồi" với số lượng dòng không chính xác. – microspino

+0

CẬP NHẬT: sau 30 phút 'heroku pg: info' báo cáo số lượng hồ sơ chính xác. – microspino

+1

Cảm ơn! Tôi muốn giới thiệu quá 'bảo trì heroku: on' cập nhật các bảng của bạn hoặc' TRUNCATE your_table' và sau đó 'heroku maintenance: off'. Nó làm việc hoàn hảo với tôi. [link] (https://devcenter.heroku.com/articles/maintenance-mode) – hernanvicente

Trả lời

42

Riêng rẽ đường ray là không đủ. Heroku có một SQL console tốt đẹp mà bạn có thể truy cập với:

heroku pg:psql YOUR_DB_URL 

sau đó bạn có thể viết truy vấn này để có được một thứ hạng các hồ sơ cho mỗi bảng:

SELECT schemaname,relname,n_live_tup 
    FROM pg_stat_user_tables 
    ORDER BY n_live_tup DESC; 

Nếu bạn cần chỉ là num cập nhật. hàng, bạn có thể sử dụng

SELECT sum(n_live_tup) FROM pg_stat_user_tables; 

Xin lưu ý rằng bạn có thể có cả hai mới db kế hoạch dev và một CHIA SẺ cũ trong cấu hình của bạn (truy cập nó bằng cách heroku pg:info). Bạn phải chèn đúng url db, có lẽ là url có màu.

Cho phép thời gian trễ là 30 phút giữa bất kỳ sốvà số Rows nào cần cập nhật.

BTW bảng điều khiển web trên http://heroku.com trong trường hợp của tôi đã được cập nhật với số chính xác. trong các truy vấn sql của tôi. Có thể cập nhật bảng điều khiển công cụ heroku, chậm hơn.

+0

Cảm ơn bạn - hóa ra cơ sở dữ liệu phiên có số lượng hàng điên trong đó và tôi không bật lên thông qua kiểm tra tất cả đường ray của tôi mô hình. Câu trả lời tuyệt vời :) – Averenix

+0

Cảm ơn bạn @microspino – hernanvicente

1

tôi đã liên lạc với Heroku Hỗ trợ về vấn đề này và họ chạy lệnh sau đây để có được số của tôi ...

$ heroku pg:info 
0

30 phút là không đủ đối với tôi, vì vậy tôi mất một bản sao lưu và phục hồi cơ sở dữ liệu. Sau đó, ứng dụng của tôi trở lại trực tuyến.

Các vấn đề liên quan