Кратък отговор:Не знам за нещо подобно, което съществува в момента.
На теория обаче това може да се накара да работи...(дълъг отговор:)
- Напишете бекенд на PostgreSQL за повишаване на нивото (съществува такъв за MySQL:https://github.com/kesla/mysqldown)
- Свържете pouch-сървър, за да чете/записва от вашия PostgreSQL db, като използвате съществуващия leveldb адаптер на pouchdb (който от своя страна ще трябва да бъде конфигуриран да използва вашия postgres backend). Поздравления, вече можете да синхронизирате данни с помощта на PouchDB!
Дали подобен подход е практичен в действителност за вашето приложение е друг въпрос, на който ще трябва да отговорите.
Може да се чудите, например, „ще мога ли да синхронизирам съществуваща сложна схема с множество таблици с клиента с този подход?“ Отговорът вероятно не е - реализацията на leveldown mysqldown използва една MySQL таблица с три полета:id
, key
и value
(източник) и си представям, че всеки PostgreSQL адаптер с общо предназначение би бил подобен (нищо не казва, че не можете да направите адаптер със специално предназначение само за вашето приложение!).
От друга страна, ако трябва да внедрите съвместим с couchdb API (или подмножество – може да нямате нужда от прикачени файлове, например) върху съществуващата си схема на база данни, нищо не ви пречи да използвате PouchDB на клиента, за да говорите директно с него сякаш е действителен CouchDB - просто влезте в URL адреса и извикайте replicate()
! Внедряването на протокола за репликация може да е доста работа, тъй като ще трябва да проследявате ревизии и така нататък някъде - но отново, технически не е невъзможно!
Има и реализации на backend хранилище на levelup, които са предназначени за браузъри. Вижте level.js, който може да бъде друг начин за синхронизиране между сървърен бекенд на Postgres levelup и браузъра.
TL;DR :В момента се върши много работа около Javascript бази данни. Невъзможно ли е синхронизирането с Postgres? вероятно не. Ще бъде ли много работа? Определено. Струва си? Кой знае, но би било готино.