Выполнение команд терминала из функции 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;
→ Ссылка