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

त्रुटि:डोकर कंटेनर में डेटाबेस आयात पोस्टग्रेज करता है

डेटाबेस डंप माउंट सेट करें

आपको डंप को कंटेनर में माउंट करना होगा ताकि आप इसे एक्सेस कर सकें। docker-compose.yml में कुछ इस तरह:

db:
  volumes:
    - './db_dump:/db_dump'

db_dump . नाम की एक स्थानीय निर्देशिका बनाएं और अपना db_dump.gz रखें वहां फाइल करें।

डेटाबेस कंटेनर प्रारंभ करें

POSTGRES_DB का उपयोग करें पर्यावरण में (जैसा कि आपने अपने प्रश्न में उल्लेख किया है) स्वचालित रूप से डेटाबेस बनाने के लिए। प्रारंभ db रेल सर्वर के बिना अपने आप।

docker-compose up -d db

डेटा आयात करें

डेटाबेस उपलब्ध होने के लिए कुछ सेकंड प्रतीक्षा करें। फिर, अपना डेटा आयात करें।

docker-compose exec db gunzip /db_dump/db_dump.gz
docker-compose exec db psql -U postgres -d dbname -f /db_dump/db_dump.gz
docker-compose exec db rm -f /db_dump/db_dump.gz

आप इस आयात को करने के लिए केवल एक स्क्रिप्ट बना सकते हैं, उसे अपनी छवि में चिपका सकते हैं, और फिर उसे कॉल करने के लिए एकल docker-compose कमांड का उपयोग कर सकते हैं। या आप अपनी एंट्रीपॉइंट स्क्रिप्ट जांच सकते हैं कि कोई डंप फ़ाइल मौजूद है या नहीं, और यदि ऐसा है, तो इसे अनज़िप करें और इसे आयात करें... आपको जो कुछ भी करने की आवश्यकता है।

रेल सर्वर प्रारंभ करें

docker-compose up -d web

इसे स्वचालित करना

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. आयात psycopg2 लायब्रेरी लोड नहीं:libssl.1.0.0.dylib

  2. Linux Ubuntu 16 पर luasql कैसे स्थापित करें?

  3. आपके आवेदन में एसक्यूएल बनाम गणना करने के पेशेवरों और विपक्ष क्या हैं

  4. भूले हुए असाइनमेंट ऑपरेटर =और सामान्य :=

  5. Django और केस संवेदनशीलता में अद्वितीय मॉडल फ़ील्ड (पोस्टग्रेज)