Postgresql

如何在 Postgres 中顯示每個數據庫的表數?

  • January 11, 2021

與我之前的問題相關,我使用下面的程式碼來獲取所有數據庫:

SELECT datname
FROM pg_database
WHERE NOT datistemplate
 AND datallowconn
 AND datname <> 'postgres';

如何從上面的命令返回的每個數據庫中獲取表的數量?

Postgres中沒有master像 Microsoft SQL Server 這樣的數據庫,我可以在其中查詢所有數據庫。

在 Postgres 中可以嗎?

謝謝

您可以使用類似以下的內容,它將列出數據庫中每個模式的每個表(及其行數):

select n.nspname as table_schema,
      c.relname as table_name,
      c.reltuples as rows
from pg_class c
join pg_namespace n on n.oid = c.relnamespace
where c.relkind = 'r'
     and n.nspname not in ('information_schema','pg_catalog')
order by c.reltuples desc;

我相信您需要使用動態 SQL才能在每個數據庫中執行它。這是一個演練

引用自:https://dba.stackexchange.com/questions/282986