如何快速查看数据库各Schema中的表?无需逐个切换查找
在PostgreSQL中快速跨Schema查找目标表的方法
直接列出所有Schema下的表(纯路径格式)
用psql内置命令\dt *.*可以一次性查看所有Schema的所有表,结合参数格式化后能得到你需要的<SCHEMA_NAME>.<TABLE_NAME>格式:
# 连接数据库后执行 \dt *.* --no-headers -t | awk '{print $1"."$2}'
输出效果:
schema1.table1 schema2.table2 schema2.table1
模糊查找特定表
如果要找表名包含特定关键词的表,比如查找带log的表,只需给\dt加通配符:
\dt *.*%log% --no-headers -t | awk '{print $1"."$2}'
输出示例:
audit.access_log public.user_log
简化操作:自定义psql命令
要是不想每次敲长命令,可以在psql里定义一个自定义命令,比如:
\set findtable '\\dt *.*:'':pattern'' --no-headers -t | awk ''{print $1"."$2}'''
之后查找时直接用:findtable 关键词即可,比如找带user的表:
:findtable user
直接查看表结构
得到schema.table格式的结果后,直接复制执行\d命令就能查看表结构:
\d schema2.table1
内容的提问来源于stack exchange,提问作者myol
相关产品推荐
相关产品推荐

