postgresql是不是放缓存
高手们,请教一个关于postgreSQL的问题:
我在用gsoap写一个读取和插入数据到postgreSQL的服务程序,服务程序在linux上面跑,现在出现的问题是当我的客户端调用服务端的关于查询postgreSQL的接口时没有内存泄露,但是当我调用插入和删除的接口时,出现了比较严重的内存泄露问题。
我检测了好多遍,我写的代码没有内存泄露问题,我想现在唯一的可能就是postgreSQL在插入和删除的时候哦会放缓存。
我想请问下是不是这样啊?如果是这样,它是怎么放缓存的?如果不是这样,那在用postgreSQL的libpq.a的时候哪些不当的调用方法会导致内存泄露哇?
请高手指点,不胜感激。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
原因已经自己找到了,下面讲原因列出来
原因:
PQexec("BEGIN WORK") ;
.....
PQexec("COMMIT WORK") ;
必须要这么写:
PGresult *result = NULL ;
result = PQexec("BEGIN WORK") ;
PQclear(result) ;
result = NULL ;
.......
result = PQexec("COMMIT WORK") ;
PQclear(result) ;
result = NULL ;
哎,太轻信官方例子了。。。以后要多动动脑子。