我正在使用调用.bat文件的plpgsql创建一个过程。这个相同的.bat文件操作文件和目录(包括mkdir,rmdir ...)但这些命令没有被执行。我读到plpgsql仅用于数据操作 - 所以我认为这是问题所在。
我该如何解决这个问题?我可以设置一些参数来删除此限制,使用新语言,还是什么?
答案 0 :(得分:1)
您应该使用不受信任的语言编写该函数,例如: PL/PythonU。
受信任的语言是为普通数据库用户(没有超级用户权限的用户)设计的,并允许他们安全地创建函数和触发过程。由于PL函数在数据库服务器内部执行,因此只应为不允许访问数据库服务器内部或文件系统的语言提供TRUSTED标志。 PL / pgSQL,PL / Tcl和PL / Perl语言被认为是可信的; PL / TclU,PL / PerlU和PL / PythonU语言旨在提供无限的功能,不应标记为可信任。