Düzeltme Öner

Otomatik Vacuuming

Bu başlıkta verilen parametre ayarları otomatik vakum özelliğinin davranışını kontrol eder. Daha fazla bilgi için bkz. . Bu ayarların çoğu tablo bazında geçersiz kılınabilir bkz. Depolama Parametreleri.

autovacuum

type: bool default: on context: sighup
<p>Controls whether the server should run the autovacuum launcher daemon. This is on by default; however, track_counts must also be enabled for autovacuum to work. This parameter can only be set in the postgresql.conf file or on the server command line; however, autovacuuming can be disabled for individual tables by changing table storage parameters.</p><p>Note that even when this parameter is disabled, the system will launch autovacuum processes if necessary to prevent transaction ID wraparound. See vacuum-for-wraparound for more information.</p>
Sunucunun autovacuum başlatıcı arka plan programını (autovacuum launcher) çalıştırıp çalıştırmayacağını kontrol eder. Varsayılan olarak açıktır; ancak, autovacuum’un çalışması için track_counts paremetresinin de açık olmalısı gereklidir. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir. Otomatik vakumlama, tablo depolama parametreleri değiştirilerek belirli tablolar için geçersiz kılınabilir.

Bu parametre devre dışı bırakıldığında bile sistemin transaction ID wraparound’ı önlemek için gerektiğinde otomatik vakum süreçlerini başlatacağını unutmayın. Daha fazla bilgi için bkz.

log_autovacuum_min_duration

type: integer default: -1 min: -1 max: 2147483647 unit: ms context: sighup
<p>Causes each action executed by autovacuum to be logged if it ran for at least the specified amount of time. Setting this to zero logs all autovacuum actions. -1 (the default) disables logging autovacuum actions. If this value is specified without units, it is taken as milliseconds. For example, if you set this to 250ms then all automatic vacuums and analyzes that run 250ms or longer will be logged. In addition, when this parameter is set to any value other than -1, a message will be logged if an autovacuum action is skipped due to a conflicting lock or a concurrently dropped relation. Enabling this parameter can be helpful in tracking autovacuum activity. This parameter can only be set in the postgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.</p>
Autovacuum tarafından yürütülen her eylemin, en az bu parametrede belirtilen süre boyunca çalıştırılması durumunda loglar. Bu parametreyi sıfıra ayarlamak, tüm otomatik vakum işlemlerini günlüğe kaydeder. -1 (varsayılan) otomatik vakum eylemlerinin günlüğe kaydedilmesini devre dışı bırakır. Bu değer birimsiz belirtilirse milisaniye olarak alınır. Örneğin, 250 ms ayarı, 250 ms veya daha uzun süre çalışan tüm otomatik vakumlar ve analizler günlüğe kaydedilir. Bu parametrenin -1 dışındaki ayar değerlerinde, çakışan bir lock veya eşzamanlı olarak drop edilen bir ilişki sebepli otomatik vakum eylemi atlanırsa günlüğe bir mesaj yazılır. Bu parametrenin etkinleştirilmesi, otomatik vakum aktivitesinin izlenmesinde yardımcı olur. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir. Bu ayar, tablo depolama parametreleri değiştirilerek belirli tablolar için geçersiz kılınabilir.

autovacuum_max_workers

type: integer default: 3 min: 1 max: 262143 context: postmaster restart: Gerektirir
<p>Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is three. This parameter can only be set at server start.</p>
Herhangi bir anda çalışabilen maksimum otomatik vakum süreci sayısını (autovacuum launcher dışında) belirtir. Öntanımlı değeri 3’tür. Bu parametre yalnızca sunucu başlangıcında ayarlanabilir.

autovacuum_naptime

type: integer default: 1 min min: 1 max: 2147483 unit: s context: sighup
<p>Specifies the minimum delay between autovacuum runs on any given database. In each round the daemon examines the database and issues VACUUM and ANALYZE commands as needed for tables in that database. If this value is specified without units, it is taken as seconds. The default is one minute (1min). This parameter can only be set in the postgresql.conf file or on the server command line.</p>
Herhangi bir veri tabanında otomatik vakum çalışmaları arasındaki minimum gecikmeyi belirtir. Her periyotta arka plan programı veritabanını inceler ve bu veritabanındaki tablolar için ihtiyacına göre VACUUM ve ANALYZE komutlarını verir. Bu değer birimsiz belirtilirse saniye olarak alınır. Öntanımlı değeri 1 dakikadır (1 min). Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir.

autovacuum_vacuum_threshold

type: integer default: 50 min: 0 max: 2147483647 context: sighup
<p>Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50 tuples. This parameter can only be set in the postgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.</p>
Herhangi bir tabloda VACUUM tetiklemek için gereken minimum değiştirilmiş ve silinmiş tuple sayısını belirtir. Varsayılan 50 tuple’dir. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir. Bu ayar, tablo depolama parametreleri değiştirilerek belirli tablolar için geçersiz kılınabilir.

autovacuum_vacuum_insert_threshold

type: integer default: 1000 min: -1 max: 2147483647 context: sighup
<p>Specifies the number of inserted tuples needed to trigger a VACUUM in any one table. The default is 1000 tuples. If -1 is specified, autovacuum will not trigger a VACUUM operation on any tables based on the number of inserts. This parameter can only be set in the postgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.</p>
Herhangi bir tabloda VACUUM tetiklemek için gerekli insert edilen tuple sayısını belirtir. Varsayılan 1000 tuple’dır. -1 ayarı, insert sayısına bağlı olarak otomatik vakum, herhangi bir tablodaki VACUUM işlemini tetiklemeyecektir. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir. Bu ayar, tablo depolama parametreleri değiştirilerek belirli tablolar için geçersiz kılınabilir.

autovacuum_analyze_threshold

type: integer default: 50 min: 0 max: 2147483647 context: sighup
<p>Specifies the minimum number of inserted, updated or deleted tuples needed to trigger an ANALYZE in any one table. The default is 50 tuples. This parameter can only be set in the postgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.</p>
Herhangi bir tabloda bir ANALYZE tetiklemek için gereken minimum eklenen, değiştirilen veya silinen tuple sayısını belirtir. Varsayılan 50 tuple’dir. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir. Bu ayar, tablo depolama parametreleri değiştirilerek belirli tablolar için geçersiz kılınabilir.

autovacuum_vacuum_scale_factor

type: real default: 0.2 min: 0 max: 100 context: sighup
<p>Specifies a fraction of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size). This parameter can only be set in the postgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.</p>
Bir VACUUM tetiklenip tetiklenmeyeceğine karar verilirken autovacuum_vacuum_threshold‘a eklenecek tablo boyutu kısmını belirtir. Varsayılan 0,2’dir (tablo boyutunun %20’si). Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir. Bu ayar, tablo depolama parametreleri değiştirilerek belirli tablolar için geçersiz kılınabilir.

autovacuum_vacuum_insert_scale_factor

type: real default: 0.2 min: 0 max: 100 context: sighup
<p>Specifies a fraction of the table size to add to autovacuum_vacuum_insert_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size). This parameter can only be set in the postgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.</p>
Bir VACUUM tetiklenip tetiklenmeyeceğine karar verilirken autovacuum_vacuum_insert_threshold‘a eklenecek tablo boyutu kısmını belirtir. Varsayılan 0,2’dir (tablo boyutunun %20’si). Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir. Bu ayar, tablo depolama parametreleri değiştirilerek belirli tablolar için geçersiz kılınabilir.

autovacuum_analyze_scale_factor

type: real default: 0.1 min: 0 max: 100 context: sighup
<p>Specifies a fraction of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.1 (10% of table size). This parameter can only be set in the postgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.</p>
Bir ANALYZE tetiklenip tetiklenmeyeceğine karar verilirken autovacuum_analyze_threshold‘a eklenecek tablo boyutu kısmını belirtir. Varsayılan değer 0,1’dir (tablo boyutunun %10’u). Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir. Bu ayar, tablo saklama parametreleri değiştirilerek belirli tablolar için geçersiz kılınabilir.

autovacuum_vacuum_cost_delay

type: real default: 2 ms min: -1 max: 100 unit: ms context: sighup
<p>Specifies the cost delay value that will be used in automatic VACUUM operations. If -1 is specified, the regular vacuum_cost_delay value will be used. If this value is specified without units, it is taken as milliseconds. The default value is 2 milliseconds. This parameter can only be set in the postgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.</p>
Otomatik VACUUM işlemlerinde kullanılacak maliyet gecikme değerini belirtir. -1 ayarında normal vacum_cost_delay değeri kullanılır. Bu değer birimsiz belirtilirse milisaniye olarak alınır. Varsayılan değer 2 milisaniyedir. Bu parametre yalnızca postgresql.conf dosyasında ve sunucu komut satırından ayarlanabilir. Bu ayar, tablo depolama parametreleri değiştirilerek belirli tablolar için geçersiz kılınabilir.

autovacuum_vacuum_cost_limit

type: integer default: -1 min: -1 max: 10000 context: sighup
<p>Specifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular vacuum_cost_limit value will be used. Note that the value is distributed proportionally among the running autovacuum workers, if there is more than one, so that the sum of the limits for each worker does not exceed the value of this variable. This parameter can only be set in the postgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.</p>
Otomatik VACUUM işlemlerinde kullanılacak maliyet sınırı değerini belirtir. -1 ayarı (varsayılan değerdir) vacuum_cost_limit değerini kullanır. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir. Bu ayar, tablo depolama parametreleri değiştirilerek belirli tablolar için geçersiz kılınabilir.

Kaynak:

[1]. PostgreSQL Documentation

[2]. postgresqlco.nf