内容提要
PostgreSQL 18引入了新宏PG_MODULE_MAGIC_EXT,用于模块命名和版本管理。需将现有代码中的PG_MODULE_MAGIC替换为PG_MODULE_MAGIC_EXT,并调整模块名称和版本。若需支持早期版本,可使用#ifdef条件编译。建议将.c文件重命名为.c.in,并在Makefile中相应修改。
关键要点
-
PostgreSQL 18引入了新宏PG_MODULE_MAGIC_EXT,用于模块命名和版本管理。
-
需将现有代码中的PG_MODULE_MAGIC替换为PG_MODULE_MAGIC_EXT,并调整模块名称和版本。
-
若需支持早期版本,可使用#ifdef条件编译。
-
建议将.c文件重命名为.c.in,并在Makefile中相应修改。
-
在Makefile中,将.version = '1.2.3'替换为.version = '__VERSION__'。
-
添加src/$(EXTENSION).c到EXTRA_CLEAN。
-
添加make目标:src/$(EXTENSION).c: src/$(EXTENSION).c.in。
-
如果使用Git,添加/src/*.c到.gitignore。
延伸问答
PG_MODULE_MAGIC_EXT的作用是什么?
PG_MODULE_MAGIC_EXT用于PostgreSQL模块的命名和版本管理。
如何将现有代码中的PG_MODULE_MAGIC替换为PG_MODULE_MAGIC_EXT?
需要将代码中的PG_MODULE_MAGIC替换为PG_MODULE_MAGIC_EXT,并调整模块名称和版本。
如果需要支持早期版本的PostgreSQL,应该怎么做?
可以使用#ifdef条件编译来支持早期版本的PostgreSQL。
在Makefile中如何管理模块版本?
在Makefile中,将.version = '1.2.3'替换为.version = '__VERSION__'。
如何处理.c文件以适应新的宏?
建议将.c文件重命名为.c.in,并在Makefile中相应修改。
使用Git时,如何管理源代码文件?
在使用Git时,需将/src/*.c添加到.gitignore中。