Поищите вот тут.
https://www.google.com/search?q=postgresql+sqlite+...
Если сугубо руками. То нужно сделать следующее, не важно через веб сервис или через sqldump
1. Перенос всех словарей (1 раз)
2. Перенос всех данных или поднабора (1 раз)
3. Процесс синхронизации клиента и сервера (много раз)
Итак п.1 в данный момент формируется схема обмена данными и фиксируется, важно что бы в дальнейшем учитывать изменения в БД. Перенос происходит на клиент либо руками, либо с помощью сервиса.
GET /api/dbsync/getdictionaries/
{
"schema": "0.4",
[
{ "name":"cityes", "sql": "create table ....."},
.....
]
}
где передается схема и дата начала
GET /api/dbsync/getdata/0.4/31.05.2020
Этот запрос отдает поднабор данных или просто список таблиц которые нужно создать.
обратите внимание на первичные ключи, желательно что бы они были типа UUID или GUID
либо таблицы содержали служебные поля позволяющие идентифицировать пользователя.
Кроме того необходимы поля created, updated
Также важно что бы данные отдавались конкретно для этого пользователя. Типичный пример таблица users будет содержать только его, и возможно список его подчиненных, а таблица customer только его заказчиков
пункт 3
GET /api/dbsync/sync/0.4/31.05.2020
получение с сервера только дельты данных на указанный период
POST /api/dbsync/sync/0.4
логика клиента формирует пакет изменений, сервер сам разбирается что закоммитить, а на какие данные ругнуться, мол уже исправлено это какие изменения оставить.
В ответ выдается список статусов для каждой записи.
Вот примерная простая схема.