我想在 pgadmin 中获取 'hgp17290_data' 数据库中的表数。 我一直在搞乱 POSTGRES SQL,我可以获得数据库的大小,如下所示:
select pg_database_size('hgp17290_data');
但我无法获取此数据库中的表数,下面的示例我无法进行
SELECT
pg_database.datname,
pg_size_pretty(pg_database_size(pg_database.datname)) AS size
FROM pg_database;
SELECT pg_size_pretty( pg_total_relation_size('DemoLayer1'));
select count(*)
from information_schema.tables
where table_schema = 'hgp17290_data';
select * from pg_stat_user_tables ;
select count(*) from 'GeoAppBuilderData' ;
select * from pg_stat_all_tables ;
SELECT count(*) FROM GeoAppBuilderData.tables WHERE table_schema NOT IN ('GeoAppBuilderData', 'pg_catalog');
select pg_database_count('hgp17290_data');
select count(1) from ('hgp17290_data');
select 'hgp17290_data' db, 'users' 'hgp17290_data', count[1] "rowscount" from hgp17290_data.users
select table_schema,
table_name,
(xpath('/row/cnt/text()', xml_count))[1]::text::int as row_count
from (
select table_name, table_schema,
query_to_xml(format('select count(*) as cnt from %I.%I', table_schema, table_name), false, true, '') as xml_count
from information_schema.tables
where table_schema = 'hgp17290_data' --<< change here for the schema you want
SELECT COUNT(*) FROM ('hgp17290_data');
SELECT 'hgp17290_data' AS table_name, COUNT(*) FROM table_1
)
最佳答案
您已经尝试过此查询:
select count(*)
from information_schema.tables
where table_schema = 'hgp17290_data';
但在我看来,您不必在此处提供架构名称等于您的数据库名称的 where 子句(hgp17290_data
是您的数据库名称,而不是某个架构名称)。尝试简单如下:
select count(*)
from information_schema.tables;
关于sql - postgres 计算数据库中的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40807423/