संक्षिप्त उत्तर:मुझे ऐसा कुछ भी नहीं पता जो वर्तमान में मौजूद है।
हालांकि, सिद्धांत रूप में, यह काम करने के लिए बनाया जा सकता है...(लंबा उत्तर :)
- लेवलअप के लिए PostgreSQL बैकएंड लिखें (एक MySQL के लिए मौजूद है:https://github.com/kesla/mysqldown)
- पाउचडब के मौजूदा लेवलडीबी एडॉप्टर का उपयोग करके अपने पोस्टग्रेएसक्यूएल डीबी से पढ़ने/लिखने के लिए पाउच-सर्वर को वायर अप करें (जिसे बदले में आपके पोस्टग्रेज बैकएंड का उपयोग करने के लिए कॉन्फ़िगर करना होगा)। बधाई हो, अब आप PouchDB का उपयोग करके डेटा सिंक कर सकते हैं!
क्या इस तरह का दृष्टिकोण वास्तव में आपके आवेदन के लिए व्यावहारिक है, यह एक अलग प्रश्न है जिसका आपको उत्तर देना होगा।
आप सोच रहे होंगे, उदाहरण के लिए, "क्या मैं इस दृष्टिकोण के साथ क्लाइंट के लिए एक मौजूदा जटिल स्कीमा को कई तालिकाओं के साथ सिंक कर पाऊंगा?" उत्तर शायद नहीं है - लेवलडाउन का mysqldown कार्यान्वयन तीन क्षेत्रों के साथ एक एकल MySQL तालिका का उपयोग करता है:id
, key
, और value
(स्रोत), और मुझे लगता है कि कोई भी सामान्य-उद्देश्य पोस्टग्रेएसक्यूएल एडेप्टर समान होगा (कुछ भी नहीं कहता है कि आप केवल अपने ऐप के लिए एक विशेष-उद्देश्य एडाप्टर नहीं कर सकते!)।
दूसरी ओर, यदि आप अपने मौजूदा डेटाबेस स्कीमा पर एक काउचडब-संगत एपीआई (या एक सबसेट- आपको अटैचमेंट की आवश्यकता नहीं हो सकती है, उदाहरण के लिए) लागू करना चाहते हैं, तो क्लाइंट पर सीधे बात करने के लिए पाउचडीबी का उपयोग करने से आपको कोई रोक नहीं सकता है। जैसे कि यह एक वास्तविक CouchDB था - बस URL में पॉप करें और replicate()
. पर कॉल करें ! प्रतिकृति प्रोटोकॉल को लागू करना काफी काम हो सकता है, क्योंकि आपको कहीं न कहीं संशोधनों को ट्रैक करने की आवश्यकता होगी - लेकिन फिर से, तकनीकी रूप से असंभव नहीं!
लेवलअप के बैकएंड स्टोरेज के कार्यान्वयन भी हैं जो ब्राउज़रों के लिए डिज़ाइन किए गए हैं। लेवल.जेएस देखें, जो सर्वर-साइड पोस्टग्रेज लेवलअप बैकएंड और ब्राउज़र के बीच सिंक करने का दूसरा तरीका हो सकता है।
TL;DR :अभी Javascript डेटाबेस के आसपास बहुत काम किया जा रहा है। क्या पोस्टग्रेज के साथ सिंक करना असंभव है? शायद ऩही। क्या यह बहुत काम होगा? निश्चित रूप से। इसके लायक? कौन जानता है, लेकिन यह अच्छा होगा।