小编Pyr*_*cks的帖子

如何重新检查使用 check_function_bodies=false 创建的 SQL 函数?

根据这个答案,我了解到我可以通过设置禁用 SQL 函数的语法检查check_function_bodies=false

就我而言:使用 Flyway 运行升级,其中

  1. 函数创建的顺序没有明确定义
  2. 某些功能使用同一升级中尚未创建的其他功能。

我的问题是 - 一旦所有其他依赖项都就位,是否可以对这样的函数进行“重新检查”而无需实际调用它?类似于 Oracle 的东西alter function ... compile

理想情况下,我想check_function_bodies=false在升级开始时进行设置,然后在升级结束时重新检查每个 SQL 函数。

我想避免:

  1. 控制脚本的运行顺序。
  2. 重新运行函数创建脚本

我尝试过的事情:

  • 做假人alter function
  • 呼唤pg_get_functiondef

postgresql syntax-checking plpgsql

4
推荐指数
1
解决办法
1059
查看次数

postgres 中的索引元组最大大小是多少?

我引用https://www.postgresql.org/docs/11/sql-createindex.html关于INCLUDE条款:

在将非键列添加到索引时保守一点是明智的,尤其是宽列。如果索引元组超过索引类型允许的最大大小,数据插入将失败。在任何情况下,非键列都会从索引的表中复制数据并使索引的大小膨胀,从而可能减慢搜索速度。

我想知道这index tuple max size对于可能插入失败的 btree 索引是什么。

用例:我正在考虑INCLUDE将 json 列(<1000 个字符)添加到唯一索引。

postgresql postgresql-11

2
推荐指数
1
解决办法
706
查看次数