Kort antwoord:ik ken niets zoals dit dat momenteel bestaat.
In theorie zou dit echter kunnen werken... (lang antwoord:)
- Schrijf een PostgreSQL-backend voor levelup (er bestaat een voor MySQL:https://github.com/kesla/mysqldown)
- Bedraad pouch-server om van uw PostgreSQL db te lezen/schrijven met behulp van pouchdb's bestaande leveldb-adapter (die op zijn beurt moet worden geconfigureerd om uw postgres-backend te gebruiken). Gefeliciteerd, u kunt nu gegevens synchroniseren met PouchDB!
Of een dergelijke aanpak in werkelijkheid praktisch is voor uw toepassing, is een andere vraag die u zult moeten beantwoorden.
U vraagt zich misschien af, bijvoorbeeld:"kan ik met deze aanpak een bestaand complex schema met meerdere tabellen synchroniseren met de client?" Het antwoord is waarschijnlijk niet - de mysqldown-implementatie van leveldown gebruikt een enkele MySQL-tabel met drie velden:id
, key
, en value
(bron), en ik kan me voorstellen dat elke PostgreSQL-adapter voor algemeen gebruik vergelijkbaar zou zijn (niets zegt echter dat je geen speciale adapter voor je app kunt maken!).
Aan de andere kant, als u een couchdb-compatibele API (of een subset - u hebt bijvoorbeeld geen bijlagen nodig) over uw bestaande databaseschema zou implementeren, is er niets dat u ervan weerhoudt om PouchDB op de client te gebruiken om er rechtstreeks mee te praten alsof het een echte CouchDB is - vul gewoon de URL in en bel replicate()
! Het implementeren van het replicatieprotocol kan behoorlijk wat werk zijn, aangezien u revisies enzovoort ergens moet bijhouden - maar nogmaals, technisch gezien niet onmogelijk!
Er zijn ook implementaties van de backend-opslag van levelup die zijn ontworpen voor browsers. Zie level.js, wat een andere manier zou kunnen zijn om te synchroniseren tussen een Postgres levelup-backend aan de serverzijde en de browser.
TL;DR :Er wordt momenteel enorm veel werk verzet rond Javascript-databases. Is synchroniseren met Postgres onmogelijk? waarschijnlijk niet. Zou het veel werk zijn? Definitief. De moeite waard? Wie weet, maar het zou gaaf zijn.