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

比如MySQL中的SHOW CREATE VIEW。


当前回答

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

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

其他回答

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

SHOW TABLE your_schema_name.your_table_name
select pg_get_viewdef('viewname', true)

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

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

一直不得不返回这里查找pg_get_viewdef(如何记住!!),所以搜索一个更容易记住的命令…并得到了它:

\d+ viewname

你可以通过输入\?在PGSQL命令行。

额外提示:emacs命令sql-postgres使pgsql更加方便(编辑、复制、粘贴、命令历史)。

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

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

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

\sv <VIEWNAME>