【IT168 服务器学院】扩展 PostgreSQL
1) 我写了一个用户定义函数。当我在psql 里运行它时,为什么会导致内核倾倒?
2) 消息:NOTICE:PortalHeapMemoryFree: 0x402251d0 not in alloc set! 是什么意思?
3) 我如何能给 PostgreSQL 贡献一些挺不错的新类型和函数?
4) 我怎样写一个返回一条记录的 C 函数?
5) 我修改了源代码。为什么重新编译后没有看到改变?
扩展 PostgreSQL
1) 我写了一个用户定义函数。当我在psql 里运行它时,为什么会导致内核倾倒?
问题可能出在很多方面。首先试着在一个独立的测试程序里面测试你的用户定义函数。
2) 消息:NOTICE:PortalHeapMemoryFree: 0x402251d0 not in alloc set! 是什么意思?
你正用 pfree 释放一些不是 palloc 分配的东西。不要混用 malloc/free 和 palloc/pfree。
3) 我如何能给 PostgreSQL 贡献一些挺不错的新类型和函数?
把你的扩展发送到 pgsql-hackers 邮件列表,它们最终会放到 contrib/ 子目录里面。
4) 我怎样写一个返回一条记录的 C 函数?
解决这个问题需要很高的技巧,作者本人从来没有试过,尽管理论上是可能的。
5) 我修改了源代码。为什么重新编译后没有看到改变?
Makefiles 对包含文件没有正确的依赖性规则。你必须做一次 make clean 然后是另一次 make。你必须做一次 make clean 然后做另一次 make。