За заявка като тази, частичен индекс покриването само на несинхронизирани редове ще служи най-добре.
CREATE INDEX ON tbl (id) WHERE sync_done = FALSE;
Въпреки това, за случай на употреба като този, други методи за синхронизация може да са за предпочитане като начало:
- Разгледайте
LISTEN
/NOTIFY
. - Или използвайте тригер
в комбинация с dblink
или чужда обвивка на данни като
postgres_fdw
(за предпочитане). - Или един от многото налични методи за репликация
.
Поточно репликиране беше добавен с Postgres 9.0 и стана все по-популярен.