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

डॉकटर में चल रहे पोस्टग्रेज डेटाबेस लटकते रहते हैं

यह डोकर कंटेनर में उपयोगकर्ता की अनुमति के मेल न खाने के कारण हो रहा है।

प्रासंगिक फाइलों को कंटेनर में सूचीबद्ध करना:

$ docker exec <container> ls -l /var/lib/postgresql/data/pg_stat_tmp
-rw------- 1 root     root     [...] db_0.stat
-rw------- 1 root     root     [...] db_1.stat
-rw------- 1 root     root     [...] db_2.stat
-rw------- 1 postgres postgres [...] global.stat

हम देख सकते हैं कि सभी db_*.stat फ़ाइलें root:root . के स्वामित्व में हैं , जबकि global.stat postgres:postgres . के स्वामित्व में है ।

डॉकर उपयोगकर्ता की जाँच करने से हमें यह मिलता है:

$ docker exec <container> whoami
root

इसलिए, हम चाहते हैं कि ये सभी फ़ाइलें पोस्टग्रेज़ उपयोगकर्ता के स्वामित्व में हों। सौभाग्य से, यह काफी आसान है! बस उपयोगकर्ता को postgres . पर सेट करें , और पुनः आरंभ करें!

डॉकरफाइल में:

USER postgres

docker-compose का उपयोग करना:

services:
  postgres:
    image: postgres:13
    user: postgres


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PotgreSQL- त्रुटि:UTF8 एन्कोडिंग के लिए अमान्य बाइट अनुक्रम:0xeb 0x6e 0x74

  2. MySQL से PostgreSQL तालिका रूपांतरण बनाएं - वर्णसेट और संयोजन

  3. पोस्टग्रेस्क्ल/पीएल/पीजीएसक्यूएल में फंक्शन बनाते समय टपल को समवर्ती रूप से अपडेट किया जाता है

  4. PostgreSQL में मुख्य मूल्य जोड़ी

  5. एकाधिक पर्यायवाची शब्दकोश पूर्ण-पाठ खोज में मेल खाते हैं