Выполнение команд терминала из функции postgres
Есть таблица files, в ней хранятся пути до файлов. Необходимо написать триггер на удаление строки из этой таблицы. При удалении строки из таблицы files на сервере должен удалиться сам файл. Как в функции postgres вызвать команды терминала, чтобы удалить файл?
Ответы (1 шт):
Автор решения: eri
→ Ссылка
Не обязательно вызывать консоль для удаления файла. Можно выполнять триггеры на разных языках, например на python:
CREATE EXTENSION plpython3u;
CREATE FUNCTION deletefile() RETURNS trigger AS $$
import os
os.unlink(TD["old"]['path'])
$$ LANGUAGE plpython3u;