“Max_wal_size” ve “min_wal_size” parametrelerini postgresql.conf dosyasındaki varsayılan değerleri anlama


16

Varsayılan değerler göre olan belgelerine min_wal_sizeve max_wal_sizeparametrelerin :

İçin max_wal_size: The default is 1 GB
İçin min_wal_size:The default is 80 MB

Sonra benim veritabanı yapılandırma bu parametreleri bakmak:

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

Sonuç verir:

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

2 sorum var:

1) Bu değerler neden dokümanlar'da gösterilen varsayılan değerlerle eşleşmiyor? Yapılandırma ayarlarını hiç değiştirmedim.

2) unitBu parametreler için sütun neden boş / NULL? Bu durumda 64 ve 5 değerleri ne anlama geliyor? MB? GB? Ya da ne?

Neden work_memher şey açık olduğunda bu örneğin parametre gibi değil :

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

Yanıtlar:


11

Bunlar varsayılan olarak 16 MB WAL segmentidir. Kullanım kılavuzu:

Sistem bu diziyi fiziksel olarak normalde 16 MB olan WAL segment dosyalarına böler (ancak PostgreSQL oluşturulurken segment boyutu değiştirilebilir)

Yani, sadece reklamı yapılan varsayılan değerler:

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

unitiçinde pg_settingsgerçek bir ana birim gibi mevcut olduğu zaman ikinci veya MB . Bu durumda "birim", Postgres derlenmeden önce yapılandırılabilen "WAL segmentleri" olacaktır. unitSütun olanlar için sadece NULL.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.