2016-02-04 182 views

回答

1

你可以寫觸發功能PythonPerlTcl,並提供了您所使用的"untrusted"的語言版本,任何這些可以被用來執行任意shell命令。該shell將在Postgres服務器進程(通常爲「postgres」)的同一用戶下運行,因此您需要相應地設置權限。

例如,在運行CREATE EXTENSION plpythonu後,您可以使用LANGUAGE plpythonu編寫觸發器函數,並通過調用例如, os.system()

與修改系統,因爲這些變化是不依賴於你的數據庫事務的任何命令採取護理(所以你需要找到自己處理併發寫入事務回滾等方式)。