2014-05-13 7 views
10

मुझे अपने स्थानीय पोस्टग्रेस सर्वर कॉन्फ़िगरेशन को उत्पादन एक से मेल करने में दिलचस्पी है। एक psql कनेक्शन को देखते हुए, क्या कुछ प्रश्नों को चलाने और प्रासंगिक प्रदर्शन विकल्पों को निकालना संभव होगा? वैकल्पिक रूप से, यदि यह संभव नहीं है, तो क्या कोई भी उसकेोकू की सशुल्क पोस्टग्रेस योजनाओं के लिए कॉन्फ़िगरेशन विकल्प जानता है?डेटाबेस सर्वर के रूप में एक ही पर्यावरण कॉन्फ़िगरेशन को डुप्लिकेट कैसे किया जा सकता है?

+1

आप यह क्यों करना चाहते हैं? प्रदर्शन विकल्प अनुमानित रूप से उपलब्ध हार्डवेयर और सामान्य सर्वर उपयोग परिदृश्य में पीजी स्थापना से मेल खाते हैं। मुझे नहीं लगता कि आपके पास एक ही हार्डवेयर है (कम से कम, आप कैसे सुनिश्चित हो सकते हैं?) और सामान्य सर्वर उपयोग परिदृश्य लगभग डिफ़ॉल्ट रूप से अलग होगा। आप अलग-अलग परिस्थितियों में समान प्रदर्शन कॉन्फ़िगरेशन सेटिंग्स रखने से क्या सीखने की उम्मीद करते हैं? – Patrick

+0

आपको वास्तव में क्या चाहिए? उसकेोकू के पीजी प्रदर्शन या कॉन्फ़िगरेशन क्लोन से मेल खाने का एक समाधान जो आपको स्थानीय रूप से समान वर्कफ़्लो रखने की अनुमति देता है? – SDude

उत्तर

5

यह आपको सर्वर के लिए सभी सेटिंग्स दिखाएगा।

SELECT current_setting(name), * FROM pg_catalog.pg_settings

तो फिर तुम postgresql.conf पर देखने को देखने के लिए क्या मैन्युअल रूप से स्थापित किया गया है सकते हैं।

आप postgresql.conf के लिए किसी भी पहुँच नहीं है, तो कुछ अन्य सर्वर पर ऊपर क्वेरी का उपयोग करें और देखें कि क्या अलग :)

+0

क्या आप जानते हैं कि psql कमांड लाइन का उपयोग कर postgresql.conf को पढ़ना संभव होगा? – Geo

+1

@ टेम्पस: यदि यह डेटा निर्देशिका में है, तो 'pg_read_file (' postgresql.conf ') से चुनें * 'डीबी सुपरसुर के रूप में। –

+0

@ किर्क रॉयबल: 'current_setting (name) '' सेटिंग' और' यूनिट 'कॉलम की एक सुंदर प्रतिपादन से अधिक नहीं है, बल्कि अनावश्यक है। @ डैनियल वेराइट: हेरोकू पर एक नियमित उपयोगकर्ता के पास 'सुपरसर्स' विशेषाधिकार नहीं है। – Patrick

1

यह जब तक आप दूरस्थ config को पढ़ने के लिए अनुमति है काम करना चाहिए फ़ाइल (एक चुटकी पर delimiter बदलें)।

create table conf(
    line text 
); 

do $$ 
begin 
    execute 
    format(
     'copy conf from ''%s'' delimiter ''|''', 
     current_setting('config_file')); 
end $$; 

select * from conf; 

दो उपयोगी टिप्स।

-- skip empty and commented lines: 

select line from conf 
where line != '' and ltrim(line, e' \t') not like '#%'; 

-- copy conf to file: 

copy (select replace(line, e'\t', ' ') from conf) to 'c:/data/postgres.conf'; 
+0

config_file पढ़ने के लिए 'सुपरसियर' होना चाहिए और यह दूरस्थ उपयोगकर्ताओं के लिए Heroku पर मामला नहीं है। – Patrick

+0

यहां एक अस्थायी तालिका के बिना ऐसा करने का तरीका बताया गया है और समस्याओं को उद्धृत करने के लिए: एएस के साथ (चयन अननेस्ट (string_to_array (pg_read_file (current_setting ('config_file')), ई '\ n')) लाइन) SELECT array_to_string (सरणी ( SELECT लाइन conf से कहां नहीं है ~ '^ [[: space:]] * #' और लंबाई (रेखा)> 0), ई '\ n') –

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

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