设置postgresql中cube模块的最大尺寸

起因是facenet中生成的embedding的尺寸是128维的向量,对应的cube的尺寸最大只支持100. 所以需要调大一下尺寸。

简单的改一下头文件中的大小即可,如下

diff –git a/contrib/cube/cubedata.h b/contrib/cube/cubedata.h
index dbe7d4f..fb73b28 100644
— a/contrib/cube/cubedata.h
+++ b/contrib/cube/cubedata.h
@@ -4,7 +4,7 @@
* This limit is pretty arbitrary, but don’t make it so large that you
* risk overflow in sizing calculations.
*/
-#define CUBE_MAX_DIM (100)
+#define CUBE_MAX_DIM (130)

typedef struct NDBOX

但是用debian的打包方法,总是出错。折腾一天,最终发现是因为做回归测试的时候,输入结果格式不对。

cd  postgresql/contrib/cube
sed -i ‘s/#define CUBE_MAX_DIM (100)/#define CUBE_MAX_DIM (130)/’ cubedata.h
sed -i ‘s/100 dime/130 dime/’ expected/cube*.out

不将就的完整patch如链接:https://github.com/xyliu/postgres/commit/ace1a602ebe19fc7f435e7e2ab700c1e291323ae

发表评论

邮箱地址不会被公开。 必填项已用*标注