Remote Storage
Using a shared PostgreSQL database
Handling large shared databases
Synchronization times may get long when working with a large database containing several thousand entries. Therefore, synchronization only happens if several conditions are fulfilled:
- Edit to another field.
- Major changes have been made (pasting or deleting more than one character).
Class org.jabref.logic.util.CoarseChangeFilter.java
checks both conditions.
Remaining changes that has not been synchronized yet are saved at closing the database rendering additional closing time. Saving is realized in org.jabref.logic.shared.DBMSSynchronizer.java
. Following methods account for synchronization modes:
pullChanges
synchronizes the database unconditionally.pullLastEntryChanges
synchronizes only if there are remaining entry changes. It is invoked when closing the shared database (closeSharedDatabase
).