访问postgres的共享内存

时间:2014-06-09 15:48:37

标签: c linux postgresql

我在CentOS 5和postgresql 9.2上建立自己的C应用程序。

我尝试做的是使用shmat函数访问共享内存区域并获取pg_stat_activity的详细信息。我不打算使用数据库连接而是直接内存访问。

我已经安装了源代码编译的gdb和postgresql,但我不知道我可以从哪个方面开始。

提前感谢任何建议。

1 个答案:

答案 0 :(得分:3)

首先我同意Jonathan Leffer - 当您访问表(或视图)时使用查询语句 - 通过SPI Server Programming Interface - 它简单,安全,快速,并且不会消耗一些额外的资源。

如果您不想使用它,请查看pg_stat_activity视图定义。它基于调用pg_stat_get_activity函数。 Source code这个功能,可以是一个好的开始。这个函数并不像看起来那么复杂 - 几乎所有代码都是SRF的实现(设置返回函数 - 函数返回表)。