У меня есть набор приложений, обращающихся к двум разным базам данных PostgreSQL 9.6 на одном сервере. Из-за некоторых ограничений приложения одно приложение обращается к нескольким таблицам через FDW из одной БД в другую.
Примерно так:DB1.fdw_table_a
-> DB2.table_a
fdw_table_a
используется только для вставки данных журнала. В этой таблице есть столбец id
, представляющий собой последовательность bigint
. Последовательность существует в DB1 (в сторонней таблице) и в DB2 ("настоящая" таблица). Это работает как надо и все хорошо.
Теперь необходимо, чтобы другое приложение (опять же с ограниченными возможностями доступа) выполняло вставки в "настоящую" таблицу, DB2.table_a
. При тестировании я вижу некоторые несоответствия в столбце id
, но явных проблем не возникло.
Я вижу в клиентских средах, что последовательность FDW DB1 используется, как и ожидалось, но когда вставки начинаются непосредственно с "реальной" таблицы DB2, эта последовательность начинается с 1 (поскольку она никогда не использовалась).
Есть ли другие вещи, которые мы должны учитывать в этой среде? Существуют ли какие-либо проблемы, которые могут возникнуть из-за перекрытия этих двух последовательностей, вставляемых в таблицу?