2016-01-14 10 views
9

मैं एल कैप्टन पर homebrew के माध्यम से PostgreSQL 9.5 स्थापित करने के बाद initdb /usr/local/var/postgres चलाने का प्रयास कर रहा हूँ, लेकिन मैं निम्नलिखित हो:initdb/usr/स्थानीय/var/एल कैप्टन पर postgres

The files belonging to this database system will be owned by user "kyledecot". 
This user must also own the server process. 

The database cluster will be initialized with locale "en_US.UTF-8". 
The default database encoding has accordingly been set to "UTF8". 
The default text search configuration will be set to "english". 

Data page checksums are disabled. 

fixing permissions on existing directory /usr/local/var/postgres ... initdb: could not change permissions of directory "/usr/local/var/postgres": Operation not permitted 

cd /usr/local/var/postgres मैं प्राप्त करने का प्रयास करते हैं :

cd: permission denied: /usr/local/var/postgres 

ऐसा प्रतीत होता है कि मेरे पास ऐसा करने की उचित अनुमति नहीं है। मुझे लगता है कि इसमें डब्ल्यू/एल कैपिटन के System Integrity Protection करने के लिए कुछ है लेकिन मैं गलत हो सकता था।

मैं इसे ठीक करने के बारे में कैसे जा सकता हूं?

उत्तर

9

मैं सलाह के दो टुकड़े कि मैं इस सवाल/त्रुटि से संबंधित स्टैक ओवरफ़्लो सवालों के साथ देखा है गठबंधन करने के लिए किया था। मैंने खुद को एक चिकन और अंडे की स्थिति में पाया जहां मैं पोस्टग्रेज़ को पुनर्स्थापित करूँगा और एक बार में अनुमतियों को बदल दूंगा, लेकिन दोनों आदेश एक दूसरे के साथ विवादित थे।

sudo chown -R `whoami` /usr/local && brew postinstall postgresql 

... और यह ठीक काम किया:

तो मैं ऐसा किया।

+0

कमांड को "पोस्ट इंस्टॉल" के बजाय "पोस्ट इंस्टॉल करें" का उपयोग करना चाहिए –

2

मैं यह वास्तव में कुशल और chown सभी /usr/local निर्देशिका के लिए सुरक्षित नहीं मिल रहा है, तो मैं बस mkdir /usr/local/var/postgres

किया और यह सब चिकनी चला गया।

+0

मेरे पास होमब्रे के साथ पोस्टगेएसक्यूएल का एक पुराना इंस्टॉल था, इसे अनइंस्टॉल करना, सभी पोस्टग्रेस्क्ल फ़ाइलों को हटाकर मुझे 'ढूंढें/नाम पोस्टग्रेस' के साथ मिला और फिर 'mkdir/usr/स्थानीय/var/postgres' मुझे एक खुश स्थापित मिला। – lshepstone