函数和触发器允许用户在后端服务器中插入代码,其他用户不会注意到这些代码的执行。因此,两种机制允许用户相对容易地为其他人设置“特洛伊木马”。唯一真正的保护是收紧对能定义函数的用户的控制。
在后端服务器进程中运行的函数带有数据库服务器守护进程的操作系统权限。如果用于函数的编程语言允许非检查的内存访问,它就可能改变服务器的内部数据结构。因此,在很多其他事情中,这些函数可能绕开任何系统访问控制。允许这种访问的函数语言被认为是“不可信的”,并且PostgreSQL只允许超级用户创建用这些语言编写的函数。