簡體   English   中英

如何獲取表名與 Postgres 中的模式匹配的表列表

[英]How to get a list of tables with table name matching a pattern in Postgres

我想編寫一個 Postgres 函數來遍歷一堆表並對它們執行相同的過程。 這些表由表名選擇,以dmt_ 我想在每個表上做的過程非常簡單,只需獲取最近幾天的最新記錄數。 如何獲取具有匹配表名的表的問題。

您可以為此查詢information_schema

SELECT table_schema, table_name 
FROM information_schema.tables 
WHERE table_name ~ '^dmt_'`

一旦有了模式和名稱,就可以根據需要使用plpgsql或其他過程語言來對其進行操作。

如果您使用的是 linux,您還可以將表名的輸出提供給 grep:

psql -d database_name -c "\d" | grep "some_pattern"
`SELECT
 relname as table_name, n_live_tup as row_count

FROM pg_stat_user_tables ORDER BY n_live_tup DESC; `;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM