у нас есть progress openge db и PostgreSQL, если данные таблицы изменяются в progress db, то мы должны сделать то же самое в PostgreSQL db.
Как отправить данные из базы данных progress Open edge в postgresql, если данные таблицы изменились?
Ответы (1)
Серебряной пули не существует. Но приложив немного усилий, вы могли бы это сделать:
Progress имеет дополнительный продукт под названием «CDC» для сбора данных об изменениях, который позволяет вам обнаруживать измененные данные, регистрировать изменения, а затем использовать собственную логику для экспорта данных.
Вам нужен OpenEdge 11.7 или выше, чтобы запустить его.
Существует еще один родственный продукт под названием Pro2, но я не верю, что он поддерживает PostgresSQL в качестве цели (хотя я могу ошибаться в этом).
Если вы не хотите идти по этому пути, вам нужно будет реализовать что-то подобное с триггерами репликации (Pro2 изначально был основан на триггерах репликации и все еще может их использовать). Никаких дополнительных лицензий не требуется, и они доступны в любой современной версии. Но вам придется «накатывать свою» логику, и усилий будет больше.
Третьим вариантом было бы извращение подсистемы аудита. Ваши измененные данные могут быть событиями аудита, и вы, вероятно, могли бы написать некоторую логику для извлечения измененных данных из журналов аудита.