我需要CREATE MATERIALIZED VIEW ... WITH DATA
从一个函数/过程中执行,但我得到了ERROR: CREATE MATERIALIZED VIEW ... WITH DATA cannot be executed from a function
.
除了使函数返回创建查询文本并复制粘贴以执行它之外,还有什么解决方法吗?
看起来真的很傻,但我想这背后有一个很好的理由......无论如何,这个限制有什么解决方法吗?
我正在运行 postgresql 15。
这是为了确保操作的原子性和一致性。如源代码注释中所述,一些语句
由于
CREATE MATERIALIZED VIEW ... WITH DATA
至少做了两件事:创建一个表,然后用数据填充它,它可能有一个内部提交,因此错误。