Einfach in zwei Schritten:
(Hinweis: Sie brauchen nichts zu ändern - einfach kopieren und einfügen)
1. Funktion erstellen
create function
cnt_rows(schema text, tablename text) returns integer
as
$body$
declare
result integer;
query varchar;
begin
query := 'SELECT count(1) FROM ' || schema || '.' || tablename;
execute query into result;
return result;
end;
$body$
language plpgsql;
2. Führen Sie diese Abfrage aus, um die Anzahl der Zeilen für alle Tabellen zu erhalten
select sum(cnt_rows) as total_no_of_rows from (select
cnt_rows(table_schema, table_name)
from information_schema.tables
where
table_schema not in ('pg_catalog', 'information_schema')
and table_type='BASE TABLE') as subq;
ou
Um die Anzahl der Zeilen tabellenweise zu ermitteln
select
table_schema,
table_name,
cnt_rows(table_schema, table_name)
from information_schema.tables
where
table_schema not in ('pg_catalog', 'information_schema')
and table_type='BASE TABLE'
order by 3 desc;