Postgresql.conf फ़ाइल से "max_wal_size" और "min_wal_size" पैरामीटर डिफ़ॉल्ट मान को समझना


16

डिफ़ॉल्ट मान और मापदंडों के लिए प्रलेखन केmin_wal_sizemax_wal_size अनुसार हैं :

के लिए max_wal_size: के The default is 1 GB
लिए min_wal_size:The default is 80 MB

तब मैं अपने डेटाबेस से इस पैरामीटर को देखता हूं:

select name, setting, unit 
from pg_settings 
where name in ('min_wal_size', 'max_wal_size')

परिणाम देता है:

name         |  setting | unit
----------------------------------
max_wal_size | 64       | 
min_wal_size | 5        |

मेरे 2 सवाल हैं:

1) ये मान डिफ़ॉल्ट मानों से मेल क्यों नहीं खाते, जो डॉक्स में दिखाए जाते हैं? मैंने कभी भी कॉन्फ़िगर सेटिंग्स को नहीं बदला।

2) unitइन मापदंडों के लिए कॉलम खाली / NULL क्यों है? इस मामले में 64 और 5 मूल्यों का क्या मतलब है? MB? GB? और क्या?

work_memजब सब कुछ स्पष्ट है तो यह उदाहरण के पैरामीटर के लिए क्यों नहीं है:

name         | setting  | unit
----------------------------------
work_mem     | 4096     | kB

जवाबों:


11

ये डिफ़ॉल्ट रूप से 16 एमबी वाल सेगमेंट हैं। नियम पुस्तिका:

सिस्टम भौतिक रूप से इस क्रम को वाल सेगमेंट फ़ाइलों में विभाजित करता है, जो कि आमतौर पर 16 एमबी एपिसे होते हैं (हालांकि पोस्टग्रेक्यूएल का निर्माण करते समय खंड का आकार बदल दिया जा सकता है)

इसलिए, यह विज्ञापन के रूप में केवल डिफ़ॉल्ट मान है:

select name, setting, setting::int * 16 || 'MB' AS setting_in_mb
from pg_settings 
where name in ('min_wal_size', 'max_wal_size');

unitमें pg_settingsमौजूद है जब यह एक वास्तविक आधार इकाई की तरह है दूसरी या एमबी । इस स्थिति में "यूनिट" "वाल सेगमेंट" होगा, जिसे पोस्टग्रिज को संकलित करने से पहले कॉन्फ़िगर किया जा सकता है। unitस्तंभ उन लोगों के लिए सिर्फ शून्य है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.