Я бы хотел запустить внешнюю программу (например, .net C# console) при запуске триггера PostgreSQL. Как я могу это достичь?Вызов внешней программы из триггера PostgreSQL
ответ
Postgres обычно не может запускать внешние программы из соображений безопасности.
Типичным решением является использование NOTIFY
и наличие демона LISTEN
. Есть решения для всех основных языка сценариев там ...
Примеры Java из @Craig: How to refresh JPA entities when backend database changes asynchronously?
Является ли пример PHP блокировки? И что я хочу постоянно слушать? Не только для одного события, но и для каждого события? – CMCDragonkai
По-видимому, есть очередь событий, которые не были прослушаны, поэтому все, что нужно сделать, это перезапустить прослушивание снова после обработки события. – CMCDragonkai
Ссылка на интерфейс C++ (libpqxx) для этого: [http://pqxx.org/devprojects/libpqxx/doc/4.0/html/Reference/a00208.html](http://pqxx.org/devprojects/libpqxx/ DOC/4.0/HTML/Справка/a00208.html) – villapx
С Postgres 9.3 существует решение для вызова внешних программ. Это - по соображениям безопасности - ограниченные суперпользователям и IMHO, предназначенных для экспорта данных, а не делать «уведомление на спусковой крючок»:
COPY (SELECT 1) TO PROGRAM '/bin/touch /tmp/created_by_postgres'
Если вы хотите на самом деле экспорт данных в вызванному программе, вы можете предоставить любые SELECT или имя таблицы вместо SELECT 1. Результаты запроса затем будут переданы вызываемой программе через стандартный ввод.
Вы можете найти документацию функции в документации Postgres: http://www.postgresql.org/docs/9.3/static/sql-copy.html
- 1. Вызов внешней программы из OCaml
- 2. Вызов внешней программы из питона
- 3. Вызов внешней программы из DXL
- 4. Внешний вызов внешней программы PHP
- 5. Запуск внешней программы при запуске в Postgresql
- 6. Параллельный вызов внешней программы в C++
- 7. Вызов java-программы, зависящей от внешней библиотеки
- 8. вызов внешней программы в matlab в цикле
- 9. Функции вызова и вызов внешней программы?
- 10. Запуск внешней Java-программы из Java-программы
- 11. Запуск внешней программы из моей программы python
- 12. Вызов внешней программы из созданного autoconf файла makefile
- 13. Вызов функций из PostGreSQL базы данных из Java программы
- 14. Выполнение внешней программы из ярлыка
- 15. Извлечение данных из внешней программы
- 16. Запуск внешней программы из webapp
- 17. Выполнение внешней программы из Java
- 18. Управление msi из внешней программы
- 19. Получение данных из внешней программы
- 20. Интерактивная запись/чтение из внешней программы
- 21. Вызов «этого» из внешней функции?
- 22. Zabbix выражение триггера внешней проверки
- 23. Postgresql уведомление триггера
- 24. Postgresql: Создание триггера
- 25. Исключение триггера PostgreSQL
- 26. Update счетчик триггера PostgreSql
- 27. Ошибка триггера в postgreSQL
- 28. Открытие внешней программы
- 29. Вставка в PostGreSQL таблице из триггера db2
- 30. Howto вызов внешней программы и получить его вывод из другой программы
Почему мой вопрос был отвергнут? любая причина? –
Конечно, я искал решение. Я все еще не могу найти лучшее и быстрое решение. Любое альтернативное решение в порядке. –