ในการนับจำนวนข้อมูลทั้งหมดในแต่ละตารางใน PostgresSQL สามารถทำได้หลายวิธี หากคุณต้องการจํานวนจริงคุณต้องใช้คําสั่ง SELECT เช่นเดียวกับที่คุณใช้กับแต่ละตาราง นี่เป็นเพราะ PostgreSQL เก็บข้อมูลการมองเห็นแถวไว้ในแถวไม่ใช่ที่อื่น แนวทางแรกจะเป็นการนำข้อมูลทั้งหมดจาก information_schema มานับรายการต่อ วิธีนี้จะทำรายการได้รวดเร็วแต่อาจไม่แม่นยำนัก 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 rows_n DESC;