[英]PostgreSQL check number of tables that match regex
有没有一种好方法可以检查数据库中匹配特定格式的现有表的数量?
例如,我正在寻找任何以'rangtable'
开头的表名,例如'rangtable1'
、 'rangtable2'
、 'rangtable3'
....etc,在这种情况下,它返回三个。
我不确定是否有需要在 SQL 领域中搜索的查询或术语。 我想出的最好方法是做一个完整的表查询,然后做一个 fetchall(我使用 Python 和 PostgreSQL),而不是尝试做一些与结果匹配的正则表达式。
您可以查询Postgres INFORMATION_SCHEMA.TABLES
视图:
SELECT COUNT(*) AS cnt
FROM INFORMATION_SCHEMA.TABLES
WHERE table_name LIKE 'rangtable%';
如果您需要匹配正则表达式(您提供的简单模式不是这种情况),您可以使用运算符SIMILAR TO
,或者更好的 POSIX 运算符~
:
SELECT COUNT(*) AS cnt
FROM INFORMATION_SCHEMA.TABLES
WHERE table_name ~ '^rangtable';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.