Các hacky, câu trả lời thiết thực cho những người cố gắng để đánh giá mà Heroku kế hoạch mà họ cần và không thể chờ đợi cho Heroku của chậm hàng truy cập để làm mới:
về cơ bản bạn muốn chạy \dt
trong psql
, sao chép các kết quả để soạn thảo văn bản yêu thích của bạn (nó sẽ giống như thế này:
public | auth_group | table | axrsosvelhutvw
public | auth_group_permissions | table | axrsosvelhutvw
public | auth_permission | table | axrsosvelhutvw
public | auth_user | table | axrsosvelhutvw
public | auth_user_groups | table | axrsosvelhutvw
public | auth_user_user_permissions | table | axrsosvelhutvw
public | background_task | table | axrsosvelhutvw
public | django_admin_log | table | axrsosvelhutvw
public | django_content_type | table | axrsosvelhutvw
public | django_migrations | table | axrsosvelhutvw
public | django_session | table | axrsosvelhutvw
public | exercises_assignment | table | axrsosvelhutvw
), sau đó chạy một tìm kiếm và thay thế regex như thế này:
^[^|]*\|\s+([^|]*?)\s+\| table \|.*$
tới:
select '\1', count(*) from \1 union/g
mà sẽ mang lại bạn một cái gì đó rất tương tự như sau:
select 'auth_group', count(*) from auth_group union
select 'auth_group_permissions', count(*) from auth_group_permissions union
select 'auth_permission', count(*) from auth_permission union
select 'auth_user', count(*) from auth_user union
select 'auth_user_groups', count(*) from auth_user_groups union
select 'auth_user_user_permissions', count(*) from auth_user_user_permissions union
select 'background_task', count(*) from background_task union
select 'django_admin_log', count(*) from django_admin_log union
select 'django_content_type', count(*) from django_content_type union
select 'django_migrations', count(*) from django_migrations union
select 'django_session', count(*) from django_session
;
(Bạn sẽ cần phải xóa union
và thêm dấu chấm phẩy ở cuối theo cách thủ công)
Ru n nó trong psql
và bạn đã hoàn tất.
?column? | count
--------------------------------+-------
auth_group_permissions | 0
auth_user_user_permissions | 0
django_session | 1306
django_content_type | 17
auth_user_groups | 162
django_admin_log | 9106
django_migrations | 19
[..]
Tôi đã thử sử dụng điều này, nhưng dữ liệu thực sự khá cũ. – mlissner
@mlissner: Nếu khoảng thời gian autovacuum của bạn quá dài hoặc bạn chưa chạy thủ công 'ANALYZE' trên bảng, các số liệu thống kê có thể bị tắt. Một câu hỏi về tải cơ sở dữ liệu và cách cơ sở dữ liệu được cấu hình (nếu các số liệu thống kê được cập nhật thường xuyên hơn, các số liệu thống kê sẽ chính xác hơn, nhưng nó có thể làm giảm hiệu suất thời gian chạy). Cuối cùng, cách duy nhất để lấy dữ liệu chính xác là chạy 'select count (*) từ bảng' cho tất cả các bảng. – ig0774
chỉ cần thử nó và nó không phải là câu trả lời đúng. –