คำตอบที่ใช้งานได้จริงสำหรับผู้ที่พยายามประเมิน Heroku ที่พวกเขาต้องการและไม่สามารถรอตัวนับแถวช้าของ heroku เพื่อรีเฟรช:
โดยทั่วไปคุณต้องการที่จะทำงาน\dt
ในpsql
คัดลอกผลให้แก้ไขข้อความที่คุณชื่นชอบ (มันจะมีลักษณะเช่นนี้
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
) จากนั้นเรียกใช้การค้นหา regex และแทนที่เช่นนี้:
^[^|]*\|\s+([^|]*?)\s+\| table \|.*$
ถึง:
select '\1', count(*) from \1 union/g
ซึ่งจะให้สิ่งที่คล้ายกับคุณ:
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
;
(คุณจะต้องลบส่วนสุดท้ายunion
และเพิ่มเครื่องหมายอัฒภาคที่ท้ายด้วยตนเอง)
เรียกใช้ในpsql
และคุณทำเสร็จแล้ว
?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
[..]
with tbl as (SELECT table_schema,table_name FROM information_schema.tables where table_name not like 'pg_%' and table_schema in ('public')) select table_schema, table_name, (xpath('/row/c/text()', query_to_xml(format('select count(*) as c from %I.%I', table_schema, table_name), false, true, '')))[1]::text::int as rows_n from tbl ORDER BY 3 DESC;