gpt4 book ai didi

psql - 在 PSQL 中查找表名

转载 作者:行者123 更新时间:2023-12-04 09:40:54 29 4
gpt4 key购买 nike

我的数据库有 很多 table (比如 400+),我只记得我要找的那个人的名字的一部分。

我知道 \d将显示所有表格,但这太多了。是否有一些命令可以列出名称与给定正则表达式匹配的所有表?

谢谢

最佳答案

它内置于 psql 中,您可以在 \d 中使用通配符, \dt等,例如:

craig=> \dt test*
List of relations
Schema | Name | Type | Owner
--------+-----------+-------+-------
public | test | table | craig
public | testtable | table | craig
public | testu | table | craig
public | testx | table | craig
(4 rows)

你会想要使用 \dt\d将显示每个表的详细信息,而不仅仅是列出表。

您也可以使用模式执行此操作,例如:
\dt *.sometable

将列出所有名为 sometable 的表在任何架构中。

比针对 pg_class 编写查询要方便得多加入 pg_namespace , 或查询 information_schema .

接受通常的通配语法,其中 ?是任何单个字符和 *是零个或多个字符。所以 \dt ????将列出所有具有四个字符名称的表。

允许使用多个通配符,例如:
craig=> \dt public.*e?t*
List of relations
Schema | Name | Type | Owner
--------+--------------+-------+-------
public | exclude_test | table | craig
public | prep_test | table | craig
public | test | table | craig
public | testtable | table | craig
public | testu | table | craig
public | testx | table | craig
(6 rows)

关于psql - 在 PSQL 中查找表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17373691/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com