For en forespørgsel som denne, et delvist indeks at dække kun usynkroniserede rækker ville tjene bedst.
CREATE INDEX ON tbl (id) WHERE sync_done = FALSE;
Men til en brugssituation som denne kan andre synkroniseringsmetoder være at foretrække til at begynde med:
- Kig på
LISTEN
/NOTIFY
. - Eller brug en trigger
i kombination med dblink
eller en udenlandsk dataindpakning som
postgres_fdw
(helst). - Eller en af de mange tilgængelige replikeringsmetoder
.
Streaming replikering blev tilføjet med Postgres 9.0 og er blevet stadig mere populær.