PostgreSQL触发器,用于移动文件系统上的文件

时间:2012-02-12 19:48:31

标签: postgresql triggers

刚开始使用PostgreSQL触发器,我想知道以下是否可行: 我有一个表,其中一列存储图像文件的文件系统路径。例如,每个记录" img_path"字段可能包含类似" c:\ images \ a_great_image.jpg"等等。

当数据库用户更改该字段中的值时,postgresql触发器函数是否可以处理(至少尝试)"移动"该文件到新指定的位置?

非常感谢你的建议。

1 个答案:

答案 0 :(得分:3)

是。这是可能的。以plpython为例。在触发器中使用它。

CREATE OR REPLACE FUNCTION  move_file(old_path text, new_path text)
RETURNS boolean AS
$$
    import shutil
    try:
       shutil.move(old_path, new_path)
       return True
    except:
       return False
$$
  LANGUAGE 'plpythonu' VOLATILE;