Postgresql 使用Postgres数据库时调用哪些函数

Postgresql 使用Postgres数据库时调用哪些函数,postgresql,ubuntu,debugging,Postgresql,Ubuntu,Debugging,我需要在Postgres TDE中实现透明加密。为此,我找到了在触发INSERT和SELECT时调用的函数。在SELECT上使用LLVM-LLDB 我正在尝试对INSERT执行相同的操作-不起作用 基本进程停止,不允许插入。我做了所有关于一本手册的事情 有什么不对劲吗?在选择、这是安全读取等情况下,如何找出插入时调用哪些函数。?如果有人知道如何更改源代码中的函数代码 首先,客户机和服务器位于同一台机器上,同一个用户添加并读取数据 不幸的是,我没有足够的声誉来添加屏幕截图。这是一个复杂的问题,您应

我需要在Postgres TDE中实现透明加密。为此,我找到了在触发INSERT和SELECT时调用的函数。在SELECT上使用LLVM-LLDB

我正在尝试对INSERT执行相同的操作-不起作用

基本进程停止,不允许插入。我做了所有关于一本手册的事情

有什么不对劲吗?在选择、这是安全读取等情况下,如何找出插入时调用哪些函数。?如果有人知道如何更改源代码中的函数代码

首先,客户机和服务器位于同一台机器上,同一个用户添加并读取数据


不幸的是,我没有足够的声誉来添加屏幕截图。

这是一个复杂的问题,您应该将其发布到PostgreSQL黑客分发列表中


您可以通过在Executor_start中设置GDB断点开始调试,SQL语句的级别错误。您应该查看读取和写入块的代码。这将在src/backend/storage/smgr中。 查看md.c中的函数mdread和mdwrite。这可能是你开始黑客攻击的地方

PostgreSQL v12引入了“可插入存储”,因此您可以编写自己的存储管理器。看见如果您不想修补PostgreSQL,但有一个可以与标准PostgreSQL一起使用的扩展,那么这就是应该采取的方向


到目前为止,我只讨论了块存储,但你们不能忘记沃尔。加密需要破解PostgreSQL。

非常感谢!我没有足够的声誉来评价你的评论是否有用,但我会试试你的方法