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

比如MySQL中的SHOW CREATE VIEW。


当前回答

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

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

其他回答

select pg_get_viewdef('viewname', true)

手册中列出了所有这些功能:

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

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

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

在命令行客户端psql中,您可以使用以下命令:

\sv <VIEWNAME>

来自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

找到'CREATE TABLE…的查询是使用这个查询-

SHOW TABLE your_schema_name.your_table_name