#postgresql #triggers #replication
#postgresql #запускает #репликация
Вопрос:
Я смог выполнить репликацию postgresql между двумя моими локальными компьютерами, в основном после этого видеоhttps://www.youtube.com/watch?v=HkgYdirSdi0 с некоторыми небольшими изменениями, путем модификации файлов pg_hba.conf
и postgresql.conf
обоих компьютеров.
Затем на первом компьютере есть база данных, которая заполняется автоматически, и мы можем видеть это в программном интерфейсе. И на втором компьютере также есть этот программный интерфейс, и реплицируемая база данных связана с ним.
Моя проблема в том, что второй компьютер показывает новые обновления реплицируемой базы данных только после перезапуска программы интерфейса. Если я не перезапущу ее, она останется зависшей (база данных действительно меняется, поэтому репликация работает, но она не отображается автоматически в программном интерфейсе, если я не перезапущу эту программу).
Что я могу сделать? Заранее спасибо!
Комментарии:
1. Что это за «программа интерфейса»? Что это делает?
2. Это сложная система, созданная моей компанией. Но я не думаю, что проблема связана с программой, потому что на главном компьютере программа может автоматически считывать изменения базы данных, и интерфейс обновляется без необходимости перезагрузки.
3. Видите ли вы реплицированные данные при прямом запросе подчиненного устройства, например, с помощью
psql
? Если да, то проблема в этой «интерфейсной программе», и мы ничего не можем сделать, пока вы не покажете нам код, который «зависает».4. Так вы не думаете, что это может быть проблемой с каким-либо триггером или чем-то еще? Я читал и тестировал с помощью триггеров или правил, но я все еще не смог прийти к нужной мне точке. Кроме того, код не зависает. Единственное, что собственный интерфейс не показывает обновления базы данных, поэтому в интерфейсной программе ничего нового не появляется, как если бы она зависала.
5. Вам придется отлаживать программу. Триггеры кажутся маловероятной причиной, скорее всего, программа хочет писать и не может.