如何查看PostgreSQL中的视图的CREATE VIEW代码?

有没有简单的方法来查看用于使用PostgreSQL命令行客户端创build视图的代码?

就像MySQL的SHOW CREATE VIEW一样。

保持不得不返回这里查找pg_get_viewdef (如何记住!!),所以search了一个更难忘的命令…并得到它:

 \d+ viewname 

您可以通过键入\?来查看类似的命令 在pgsql命令行。

奖金提示:emacs命令sql-postgres使pgsql更愉快(编辑,复制,粘贴,命令历史logging)。

 select pg_get_viewdef('viewname', true) 

手册中提供了所有这些function的列表:

http://www.postgresql.org/docs/current/static/functions-info.html

 select definition from pg_views where viewname = 'my_view' 

如果你想要一个ANSI SQL-92版本:

 select view_definition from information_schema.views where table_name = 'view_name'; 

从v.9.6及以上版本的GoodNews,视图编辑现在是从psql原生的。 只要用这个命令调用它,视图定义就会显示在你的默认编辑器中。

julian@assange=# \ev {your_view_names}

奖金。 一些有用的命令来与查询缓冲区交互。

 Query Buffer \e [FILE] [LINE] edit the query buffer (or file) with external editor \ef [FUNCNAME [LINE]] edit function definition with external editor \ev [VIEWNAME [LINE]] edit view definition with external editor \p show the contents of the query buffer \r reset (clear) the query buffer \s [FILE] display history or save it to file \w FILE write query buffer to file