pg查询表名与行数
在PostgreSQL中,你可以使用以下SQL查询来获取数据库中所有表的名称以及它们各自的行数:
SELECT schemaname || '.' || relname AS table_full_name, n_live_tup AS row_count FROM pg_stat_user_tables;
这个查询会返回当前数据库中每个用户表的全名(包括schema名和表名)以及它们的行数。n_live_tup
列表示表中的实时元组(行)数量。
如果你只想查询特定schema下的表名与行数,可以加上WHERE条件,比如:
SELECT relname AS table_name,n_live_tup AS row_count FROM pg_stat_user_tables WHERE schemaname = 'public';
这个例子中,我们只查看了public
schema下的表。根据你的需求,你可以更改'public'
为其他schema的名称。
请注意,这些统计信息是由PostgreSQL自动收集的,可能不是绝对实时的。如果你需要最准确的行数,可以对每个表运行COUNT(*)
查询,但这通常会更耗费资源,尤其是在大型表上:
SELECT COUNT(*) FROM your_table_name;
将your_table_name
替换成你想要查询的具体表名。如果需要对所有表进行此类查询,则可能需要编写一个脚本来循环执行此查询语句。