有没有一种简单的方法来查看使用PostgreSQL命令行客户端创建视图的代码?
比如MySQL中的SHOW CREATE VIEW。
有没有一种简单的方法来查看使用PostgreSQL命令行客户端创建视图的代码?
比如MySQL中的SHOW CREATE VIEW。
当前回答
找到'CREATE TABLE…的查询是使用这个查询-
SHOW TABLE your_schema_name.your_table_name
其他回答
在命令行客户端psql中,您可以使用以下命令:
\sv <VIEWNAME>
一直不得不返回这里查找pg_get_viewdef(如何记住!!),所以搜索一个更容易记住的命令…并得到了它:
\d+ viewname
你可以通过输入\?在PGSQL命令行。
额外提示:emacs命令sql-postgres使pgsql更加方便(编辑、复制、粘贴、命令历史)。
select pg_get_viewdef('viewname', true)
手册中列出了所有这些功能:
http://www.postgresql.org/docs/current/static/functions-info.html
select definition from pg_views where viewname = 'my_view'
来自9.6及以上版本的好消息。视图编辑现在是原生的psql。只需调用\ev命令。视图定义将显示在您配置的编辑器中。
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