【发布时间】:2018-03-07 10:38:54
【问题描述】:
我可以访问具有许多模式的 db(每个模式 - 单独的存储)。而且这个分贝还没有information_schema。
下一个代码给了我一个超过 1K 模式的列表:
SELECT nspname FROM pg_namespace WHERE nspname LIKE 'cabinet%'
我需要为该列表中的每个方案计算某个表中的行数(如果存在)。比如:
for scheme in scheme_list:
SELECT scheme, count(*) FROM scheme.table_i_need
输出应包含 schema_name 和一些整数值。
这么久了还是没找到答案,请大家帮忙。
UPD:感谢Vao Tsun,我什至能够在带有架构名称的文本数组上编写这个循环。
do $$
declare
m text[];
a text[] := array[['cabinet1003052234'], ['cabinet1027326445'], ['cabinet1062828216'], ['cabinet108034857']];
s text;
begin
FOREACH m SLICE 1 IN ARRAY a LOOP
execute format('select count(*) from %I.react_order', CAST (m[1] AS regnamespace)) into s;
raise info '%: %', m,s;
end loop;
end;
$$
;
【问题讨论】:
标签: postgresql database-schema