it技術:データベース:postgresql:運用
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
it技術:データベース:postgresql:運用 [2022/02/21 16:57] – [AUTOVACUUM(自動実行)] yajuadmin | it技術:データベース:postgresql:運用 [2024/04/24 11:07] (現在) – [shared_buffers] yajuadmin | ||
---|---|---|---|
行 27: | 行 27: | ||
※Windowsシステムでの有効なshared_buffersの範囲は一般的に64MBから512MBです。Windows版は64MBあれば十分のようなのでデフォルトのまま。\\ | ※Windowsシステムでの有効なshared_buffersの範囲は一般的に64MBから512MBです。Windows版は64MBあれば十分のようなのでデフォルトのまま。\\ | ||
https:// | https:// | ||
+ | |||
+ | <wrap em> | ||
既定値:128MB | 既定値:128MB | ||
行 151: | 行 153: | ||
</ | </ | ||
- | * [[https:// | + | * [[https:// |
* [[http:// | * [[http:// | ||
行 501: | 行 503: | ||
* Dead Tupleが各テーブルで定められた閾値を超えた場合(autovacuum_vacuum_threshold) | * Dead Tupleが各テーブルで定められた閾値を超えた場合(autovacuum_vacuum_threshold) | ||
- | 統計情報の再計算\\ | + | **統計情報の再計算**\\ |
以下の計算式以上のレコードが更新(UPDATE/ | 以下の計算式以上のレコードが更新(UPDATE/ | ||
+ | autovacuum_vacuum_thresholdがデフォルト 50で、autovacuum_vacuum_scale_factorがデフォルト 0.1となっている。 | ||
+ | |||
< | < | ||
autovacuum_vacuum_threshold + autovacuum_vacuum_scale_factor * レコード数 | autovacuum_vacuum_threshold + autovacuum_vacuum_scale_factor * レコード数 | ||
行 509: | 行 513: | ||
AUTOVACUUMデーモン(Windowsサービス)が一定間隔でこれらの状況を監視し、ロック競合が発生しない限り、一定数量のAUTOVACUUM処理が実行される。 | AUTOVACUUMデーモン(Windowsサービス)が一定間隔でこれらの状況を監視し、ロック競合が発生しない限り、一定数量のAUTOVACUUM処理が実行される。 | ||
- | パラメータはテーブル単位でも決定可能 \\ 大規模テーブルではテーブル単位に autovacuum_vacuum_scale_factor を 0 に \\ autovacuum_vacuum_threshold を適切な値に変更し、頻繁に VACUUM を実行することを推奨\\ | + | パラメータはテーブル単位でも決定可能\\ |
+ | 大規模テーブルではテーブル単位に autovacuum_vacuum_scale_factor を 0 に\\ | ||
+ | autovacuum_vacuum_threshold を適切な値に変更し、頻繁に VACUUM を実行することを推奨\\ | ||
[[https:// | [[https:// | ||
+ | |||
+ | 例えば、10000件廃止行数が超えたら、自動的にVACUUMさせたいって場合 | ||
+ | |||
+ | < | ||
+ | ALTER TABLE {table_name} SET (autovacuum_vacuum_threshold = 10000); | ||
+ | ALTER TABLE {table_name} SET (autovacuum_vacuum_scale_factor = 0); | ||
+ | </ | ||
+ | |||
+ | <wrap em> | ||
==== VACUUM実行確認 ==== | ==== VACUUM実行確認 ==== | ||
行 576: | 行 591: | ||
===== 統計情報 ====== | ===== 統計情報 ====== | ||
[[https:// | [[https:// | ||
+ | |||
+ | ==== ANALYZE ===== | ||
+ | ANYLYZEは、統計情報を行う。単独で動かせるし「VACUUM ANYLYZE」としてVACUUMと組み合わせることもできる。AUTOVACUUM時にもANYLYZEが行われている。\\ | ||
+ | 対象とするテーブルの読み取りロックのみ(読み込みはできるが書き込みができない状態)であり、そのテーブルに対する他の操作と並行して実行することができます。 | ||
==== 統計情報の取得 ===== | ==== 統計情報の取得 ===== | ||
* SQL文の実行計画作成には統計情報を使用 | * SQL文の実行計画作成には統計情報を使用 |
it技術/データベース/postgresql/運用.1645430240.txt.gz · 最終更新: 2022/02/21 16:57 by yajuadmin