Movatterモバイル変換


[0]ホーム

URL:



Facebook
Postgres Pro
Facebook
Downloads
19.10. Automatic Vacuuming
Prev UpChapter 19. Server ConfigurationHome Next

19.10. Automatic Vacuuming#

These settings control the behavior of theautovacuum feature. Refer toSection 24.1.6 for more information. Note that many of these settings can be overridden on a per-table basis; seeStorage Parameters.

autovacuum (boolean)#

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 thepostgresql.conf file or on the server command line; however, autovacuuming can be disabled for individual tables by changing table storage parameters.

Note that even when this parameter is disabled, the system will launch autovacuum processes if necessary to prevent transaction ID wraparound. SeeSection 24.1.5 for more information.

autovacuum_max_workers (integer)#

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.

autovacuum_naptime (integer)#

Specifies the minimum delay between autovacuum runs on any given database. In each round the daemon examines the database and issuesVACUUM andANALYZE 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 thepostgresql.conf file or on the server command line.

autovacuum_vacuum_threshold (integer)#

Specifies the minimum number of updated or deleted tuples needed to trigger aVACUUM in any one table. The default is 50 tuples. This parameter can only be set in thepostgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.

autovacuum_vacuum_insert_threshold (integer)#

Specifies the number of inserted tuples needed to trigger aVACUUM in any one table. The default is 1000 tuples. If -1 is specified, autovacuum will not trigger aVACUUM operation on any tables based on the number of inserts. This parameter can only be set in thepostgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.

autovacuum_analyze_threshold (integer)#

Specifies the minimum number of inserted, updated or deleted tuples needed to trigger anANALYZE in any one table. The default is 50 tuples. This parameter can only be set in thepostgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.

autovacuum_vacuum_scale_factor (floating point)#

Specifies a fraction of the table size to add toautovacuum_vacuum_threshold when deciding whether to trigger aVACUUM. The default is 0.2 (20% of table size). This parameter can only be set in thepostgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.

autovacuum_vacuum_insert_scale_factor (floating point)#

Specifies a fraction of the table size to add toautovacuum_vacuum_insert_threshold when deciding whether to trigger aVACUUM. The default is 0.2 (20% of table size). This parameter can only be set in thepostgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.

autovacuum_analyze_scale_factor (floating point)#

Specifies a fraction of the table size to add toautovacuum_analyze_threshold when deciding whether to trigger anANALYZE. The default is 0.1 (10% of table size). This parameter can only be set in thepostgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.

autovacuum_freeze_max_age (integer)#

Specifies the maximum age (in transactions) that a table'spg_class.relfrozenxid field can attain before aVACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled.

Vacuum also allows removal of old files from thepg_xact subdirectory, which is why the default is a relatively low 200 million transactions. This parameter can only be set at server start, but the setting can be reduced for individual tables by changing table storage parameters. For more information seeSection 24.1.5.

autovacuum_multixact_freeze_max_age (integer)#

Specifies the maximum age (in multixacts) that a table'spg_class.relminmxid field can attain before aVACUUM operation is forced to prevent multixact ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled.

Vacuuming multixacts also allows removal of old files from thepg_multixact/members andpg_multixact/offsets subdirectories, which is why the default is a relatively low 400 million multixacts. This parameter can only be set at server start, but the setting can be reduced for individual tables by changing table storage parameters. For more information seeSection 24.1.5.1.

autovacuum_vacuum_cost_delay (floating point)#

Specifies the cost delay value that will be used in automaticVACUUM operations. If -1 is specified, the regularvacuum_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 thepostgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.

autovacuum_vacuum_cost_limit (integer)#

Specifies the cost limit value that will be used in automaticVACUUM operations. If -1 is specified (which is the default), the regularvacuum_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 thepostgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.


Prev Up Next
19.9. Run-time Statistics Home 19.11. Client Connection Defaults
pdfepub
Go to PostgreSQL 17
By continuing to browse this website, you agree to the use of cookies. Go toPrivacy Policy.

[8]ページ先頭

©2009-2025 Movatter.jp