PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

Docker-compose सेवा पर निर्भर पूरी तरह से शुरू नहीं होने तक प्रतीक्षा न करने पर निर्भर करता है

हाँ।

सबसे पहले, यह जान लें कि depends-on लगभग पूरी तरह से बेकार है। डॉकर आपके आवेदन के बारे में कुछ भी नहीं जानता है; यह बताने का कोई तरीका नहीं है कि आपका डेटाबेस सर्वर वास्तव में सेवा अनुरोधों के लिए तैयार नहीं है।

सही समाधान यह है कि आप अपने एप्लिकेशन को कोड करें ताकि (ए) यह तैयार होने तक प्रारंभिक डेटाबेस कनेक्शन का पुन:प्रयास करेगा, और (बी) यदि कनेक्शन विफल होना चाहिए तो यह डेटाबेस से फिर से कनेक्ट हो जाएगा। (ए) उस समस्या को हल करता है जिसके बारे में आप पूछ रहे हैं, और (बी) आपको एप्लिकेशन कंटेनर से स्वतंत्र डेटाबेस कंटेनर को पुनरारंभ करने की अनुमति देता है।

यदि आप अपने एप्लिकेशन कंटेनर में कोड को नियंत्रित नहीं करते हैं, तो आप अपने मुख्य कमांड को एक शेल स्क्रिप्ट के साथ लपेट सकते हैं जो कुछ इस प्रकार है:

while ! psql -c 'select 1'; do
  sleep 1
done

(उपयुक्त प्रमाणीकरण विकल्प सेट करना या .pgpass सेट करना फ़ाइल)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्रोटोकॉल उल्लंघन:त्रुटि:बाइंड संदेश 0 मापदंडों की आपूर्ति करता है, लेकिन तैयार किए गए कथन के लिए 1 की आवश्यकता होती है

  2. postgresql में mmm yyyy प्रारूप में दिनांक

  3. Psycopg2 का उपयोग करके एक पोस्टग्रेस्क्ल डीबी बनाना

  4. आप पीजी-वादे का उपयोग करके बिना पासवर्ड वाले पोस्टग्रेज डेटाबेस से कैसे जुड़ते हैं?

  5. PostgreSQL में टाइमस्टैम्प से दिनांक प्राप्त करना