如何在postgres中维护CREATE VIEW脚本而不是VIEW DEFINITION

时间:2016-09-09 19:03:50

标签: postgresql view

我正在使用Postgres版本9.1,并且在查看我创建的过去VIEWS时遇到了一些问题。

创建VIEW后,Postgres会混淆CREATE VIEW文字,因此非常难以理解。

例如,我可以创建一个简单的VIEW

create view some_view as
select *
from some_table
where some_column = 'some_value';

然后变得更加复杂:

select [all columns...]
from some_table
where (((some_column = 'some_value')));

现在,这是一个简单的示例 - 但是当您进入多个JOINSWHERE子句或SUBQUERIES时,几乎无法阅读以便编辑{{1}在以后的日子。

VIEW存储的确切位置位于VIEWS,如果有人关心的话。)

出于这个原因,我将information_schema.pg_views个脚本保存为单独的CREATE VIEW文件,但是这可能会产生费用,显然有责任不与当前的.sql同步在Postgres数据库中(如果您更新VIEW但不更新VIEW文件)。

如果.sql的纯文本被保存,那将更加简单。

当我创建CREATE VIEW时,它会完全保存脚本以及所有空格等。

这样可以在以后审查它,看看是否需要修复或发现可能的错误。

所以我的问题是,如果Postgres数据库中有一些地方保存了FUNCTION语句的实际纯文本,以供日后查看/编辑。

谢谢。

1 个答案:

答案 0 :(得分:0)

如发现,正确的答案是:

a)将SQL脚本保存在单独的文件中 b)有一个合适的版本控制系统(Git等)
c)从版本控制系统部署

完成交易。