5

मैं हेरोकू पर पोस्टग्रेस 9.3.3 में बहु-किरायेदारी का समर्थन करने के लिए रेल 4 में अपार्टमेंट मणि का उपयोग करता हूं।हेरोकू + अपार्टमेंट पीजी :: त्रुटि: त्रुटि: फ़ंक्शन pg_stat_statements_reset() मौजूद नहीं है

अपार्टमेंट गम एक नया किरायेदार बनाता है जब एक त्रुटि हुई है।

दीप जांच से पता चला कि एक स्कीमा बनाया गया था, लेकिन अंदर कोई टेबल नहीं था।

Heroku लॉग एक त्रुटि से पता चला है:

PG::Error: ERROR: function pg_stat_statements_reset() does not exist 

उत्तर

11

एक नया स्कीमा बना दिया जाता है Postgres समारोह pg_stat_statements_reset()

डिफ़ॉल्ट रूप से क्रियान्वित करते हुए आंकड़े रीसेट करने के लिए कोशिश कर रहा है, इस समारोह केवल किया जा सकता है सुपरसर्स द्वारा निष्पादित (from original doc)

हेरोोक आपको सुपरसुर विशेषाधिकार नहीं देता है। तो आपको एक्सटेंशन pg_stat_statements को अक्षम करने की आवश्यकता है।

समाधान 1 - डीबी में सीधे

स्कीमा में SQL विवरण निष्पादित सार्वजनिक

DROP EXTENSION pg_stat_statements; 

समाधान 2 त्वरित गर्म फिक्स - प्रवास के माध्यम से

1) फ़ाइल की जाँच करें डीबी/schema.rb। अधिकांश शायद यह एक लाइन

enable_extension "pg_stat_statements" 

2) एक प्रवास फ़ाइल

rails g migration DropExtensionPgStatStatements 

3 बनाएं) को परिभाषित self.up विधि

def self.up 
    disable_extension "pg_stat_statements" 
end 

4) प्रवास

rake db:migrate 
लागू होता है

5) अब फ़ाइल db/schema.rb कि लाइन

6) परिवर्तन (स्कीमा और प्रवास फ़ाइलों कमिट शामिल नहीं होना चाहिए) और Heroku

rake deploy:production:migrations 

को तैनात रेक कार्य के बारे में देखते हैं deploy.rake

+0

हे भगवान, आप को बचाया मेरी गधा! धन्यवाद! – typeoneerror

संबंधित मुद्दे