Я пытаюсь использовать внешнюю таблицу для связи двух баз данных postgresql.
все в порядке, и я могу получить все данные, которые хочу
единственная проблема заключается в том, что оболочка данных, похоже, блокирует таблицы на внешнем сервере, и это очень раздражает, когда я тестирую свой код
если я не выполняю какой-либо запрос на выбор, я могу инициализировать данные и обрезать обе таблицы на локальном сервере и таблицы на удаленном сервере, но я выполняю один оператор выбора, команда усечения на удаленном сервере, похоже, находится в состоянии тупика.
Вы знаете, как я могу избежать этой блокировки?
Спасибо
[редактировать]
Я использую эту оболочку данных для связывания двух баз данных postgresql: http://interdbconnect.sourceforge.net/pgsql_fdw/pgsql_fdw-en.html
Я использую table1 из db1 как внешнюю таблицу в db2.
когда я выполняю запрос выбора в внешней_таблице1 в db2, для таблицы1 в db1 есть AccessShareLock, запрос очень прост: выберите * из внешней_таблицы1
блокировка никогда не снимается, поэтому, когда я выполняю команду усечения в конце моего модульного теста, возникает конфликт, потому что усечение добавляет AccessExclusiveLock
Я не знаю, как выпустить первый AccessShareLock, но я думаю, что это будет сделано автоматически оболочкой...
надеюсь, что это поможет