यह त्रुटि तब होती है जब आपके पास Postgresql क्लाइंट (Odoo सर्वर पर संस्करण) और सर्वर (आपके डेटाबेस सर्वर पर संस्करण) का एक अलग संस्करण है। यदि आप ओडू "आधिकारिक" डॉकर छवि या उस पर आधारित छवि का उपयोग कर रहे हैं, उदा। veivaa/odoo छवि, यह डेबियन पर आधारित है:खिंचाव संस्करण और इसमें डिफ़ॉल्ट क्लाइंट के रूप में Postgresql संस्करण 9.6 है। इस सेटअप के साथ आपके पास एक बेमेल होगा:क्लाइंट v9.6 सर्वर से कनेक्ट होना v10. इसका परिणाम आपको मिल रही त्रुटि में होगा।
इसे हल करने के लिए आपको क्लाइंट और सर्वर पर एक ही संस्करण स्थापित करना होगा। आप या तो अपने पोस्टग्रेज सर्वर को 9.6 पर डाउनग्रेड कर सकते हैं, या अपने ओडू डॉकर कंटेनर में पोस्टग्रेज क्लाइंट को 10 में अपग्रेड कर सकते हैं। आप क्लाइंट अपग्रेड को मैन्युअल रूप से करके इसका परीक्षण कर सकते हैं। docker exec -ti -u 0 yourodoocontainername bash
ओडू कंटेनर के लिए और ओडू कंटेनर के अंदर इन आदेशों को निष्पादित करना:
apt-get update
echo 'deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main' > /etc/apt/sources.list.d/pgdg.list
yes Y | apt-get install wget
yes Y | apt-get install gnupg
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
apt-get update
yes Y | apt-get install postgresql-client-10
इन्हें चलाने के लिए आपके पास कंटेनर में रूट अनुमतियां होनी चाहिए। इस इंस्टॉल के बाद आप निष्पादन से बाहर निकल सकते हैं और अपने कंटेनर को docker restart yourodoocontainername
के साथ पुनः आरंभ कर सकते हैं . सुनिश्चित करें कि आपके पास Odoo डेटा के लिए उपयोग किया जाने वाला लगातार संग्रहण है ताकि आप अपना फ़ाइलस्टोर न खोएं। इन चरणों के बाद आप Odoo वेब इंटरफ़ेस के साथ बैकअप और पुनर्स्थापना करने में सक्षम हैं।
आप अपने Postgresql क्लाइंट संस्करण को psql --version
. के साथ देख सकते हैं आज्ञा। संस्करण 9.6 के साथ अपेक्षित परिणाम psql (PostgreSQL) 9.6.10
है और संस्करण 10 के साथ psql (PostgreSQL) 10.6 (Debian 10.6-1.pgdg90+1)
।
निष्पादन विधि परीक्षण के लिए अच्छी है लेकिन स्थायी उपयोग के लिए अच्छी नहीं है क्योंकि इसमें मैन्युअल चरण शामिल हैं। आपको अपनी Dockerfile को संशोधित करके अपनी Docker छवियों को सही संस्करण के साथ बनाना चाहिए।