it技術:データベース:postgresql:運用
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
it技術:データベース:postgresql:運用 [2021/08/02 10:20] – [pg_basebackup] yajuadmin | it技術:データベース:postgresql:運用 [2022/02/21 16:57] – [AUTOVACUUM(自動実行)] yajuadmin | ||
---|---|---|---|
行 273: | 行 273: | ||
</ | </ | ||
- | postgresql.conf の max_wal_sender 設定のデフォルトは 0 です。最低でも 1 以上でないと pg_basebackup コマンドは実行できないので修正します。 | + | postgresql.conf の max_wal_sender 設定のデフォルトは 0 です。最低でも 1 以上でないと pg_basebackup コマンドは実行できないので修正します。※PostgreSQL12ではデフォルトは 10 となった。 |
<code bat postgresql.conf> | <code bat postgresql.conf> | ||
- | max_wal_sender = 1 | + | max_wal_sender = 10 |
</ | </ | ||
行 316: | 行 316: | ||
<code sql> | <code sql> | ||
SELECT pg_switch_xlog(); | SELECT pg_switch_xlog(); | ||
+ | ↓ PostgreSQL10以降ではコマンド名変更 | ||
+ | SELECT pg_switch_wal(); | ||
</ | </ | ||
行 374: | 行 376: | ||
- pg_controlファイルを読み込む | - pg_controlファイルを読み込む | ||
- | - recovery.confを読み込む | + | - recovery.confを読み込む |
- backup_labelを読み込む | - backup_labelを読み込む | ||
- pg_controlファイルを更新し、backup_labelを削除する | - pg_controlファイルを更新し、backup_labelを削除する | ||
行 508: | 行 510: | ||
パラメータはテーブル単位でも決定可能 \\ 大規模テーブルではテーブル単位に autovacuum_vacuum_scale_factor を 0 に \\ autovacuum_vacuum_threshold を適切な値に変更し、頻繁に VACUUM を実行することを推奨\\ | パラメータはテーブル単位でも決定可能 \\ 大規模テーブルではテーブル単位に autovacuum_vacuum_scale_factor を 0 に \\ autovacuum_vacuum_threshold を適切な値に変更し、頻繁に VACUUM を実行することを推奨\\ | ||
- | [[https:// | + | [[https:// |
==== VACUUM実行確認 ==== | ==== VACUUM実行確認 ==== | ||
行 710: | 行 712: | ||
SELECT pg_database_size(' | SELECT pg_database_size(' | ||
</ | </ | ||
+ | |||
+ | === テーブル単位のサイズを取得するSQL === | ||
+ | <code sql> | ||
+ | SELECT pgn.nspname, | ||
+ | ' | ||
+ | ' | ||
+ | FROM 10) = REPLACE(SUBSTRING(pg.relname FROM 10), ' | ||
+ | pg_class pgc WHERE pg.reltoastrelid = pgc.oid) END:: | ||
+ | ' | ||
+ | (SELECT pgt.oid FROM pg_class pgt WHERE SUBSTRING(pgt.relname FROM 10) = REPLACE(SUBSTRING(pg.relname | ||
+ | FROM 10), ' | ||
+ | FROM pg_class pg, pg_namespace pgn WHERE pg.relnamespace = pgn.oid AND pgn.nspname NOT IN | ||
+ | (' | ||
+ | </ | ||
+ | |||
+ | [[https:// | ||
=== テーブル単位のダンプ === | === テーブル単位のダンプ === |
it技術/データベース/postgresql/運用.txt · 最終更新: 2024/04/24 11:07 by yajuadmin