it技術:データベース:postgresql:運用
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| it技術:データベース:postgresql:運用 [2021/11/19 16:47] – [確認用SQL] 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 を実行することを推奨\\ | + | パラメータはテーブル単位でも決定可能\\ |
| - | [[https:// | + | 大規模テーブルではテーブル単位に autovacuum_vacuum_scale_factor を 0 に\\ |
| + | autovacuum_vacuum_threshold を適切な値に変更し、頻繁に VACUUM を実行することを推奨\\ | ||
| + | [[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/運用.1637308025.txt.gz · 最終更新: 2021/11/19 16:47 by yajuadmin
