psql
中的命令\d
列出了所有的表、视图和序列。是否有办法将此输出捕获到表中并对其运行查询?
mydb-> \d
List of relations
Schema | Name | Type | Owner
-------+--------+-------+---------
public | mytab1 | table | username
mydb-> select * from <use relation from \d> where Type='view';
List of relations
Schema | Name | Type | Owner
-------+--------+-------+---------
或者,是否有办法使用select-from-where
查询来获取此表和其他表 meta数据?
谢谢。
2条答案
按热度按时间j13ufse21#
如果使用
-E
选项启动psql
,则可以获得\d
背后的查询,然后运行\d
也将显示元数据查询。一旦您有了这个查询,就应该很容易使它适应您的需要。
如果您需要它来构建DDL语句的列表,您可以使用
psql
的\gexec
将查询结果作为SQL语句执行。gfttwv5a2#
如果你想得到这个查询,你可以像上面的注解一样运行
\set ECHO_HIDDEN on
,如果你这样做,你会得到这个查询:所以,你知道,你去那里。