OSS-DB Silverに合格した直後、Goldの対策で手が止まる人は多いです。Silverは「PostgreSQLの操作と基本概念を知っているか」を問いますが、Goldは「性能問題や障害が起きたときに何を見てどう判断するか」を問います。市販の対策本は少なく、ネット上の情報も断片的です。しかも選択肢が全部もっともらしく見える出題形式のため、用語を暗記する解き方では似た選択肢で取りこぼします。
この記事は要約版です。分野別の学習ロードマップ、教材選びの4つの判断軸、実行計画・VACUUM・WAL/レプリケーションの攻略ポイントと検証用SQLは、ブログの完全版にまとめています: OSS-DB Gold勉強法|独学合格ロードマップと教材
Goldで問われているのは内部動作のモデル
VACUUMとVACUUM FULLの違い、synchronous_commitの各値が保証する永続性の範囲、wal_keep_sizeとレプリケーションスロットの挙動差。これらは名前を覚えるだけでは区別できません。MVCCで古い行バージョンが残るからVACUUMが要る、WALを先に書くからクラッシュリカバリとPITRが成立する、プランナがコストモデルで計画を選ぶから統計情報のずれが計画のずれになる。この因果がつながっていれば、初見の設定パラメータでも「どの仕組みに関わるか」で絞り込めます。
出題範囲は運用管理、性能監視、パフォーマンスチューニング、障害対応の4分野です。学習の順番は、配点が大きく他分野の前提にもなる性能監視から入ります。EXPLAINが読めないとチューニングの設問も解けません。次に設定と手順が明確で得点が安定する障害対応、続いて性能監視と重複の多いチューニング、最後に範囲が雑多な運用管理を穴埋めで回収します。出題範囲の1項目目から順に潰す進め方では、実行計画に着手する前に息切れします。
学習そのものは3段階で組みます。公式の出題範囲を1行ずつPostgreSQL公式マニュアルの章へ紐づけて地図を作る段階、Dockerで立てた検証環境で設定値を動かし挙動を確かめる段階、模擬問題で弱点を特定して解説を自分の言葉で書き直す段階です。問題集から入ると正解の選択肢を記憶するだけになり、言い換えられた出題に対応できません。
教材を選ぶときに最優先で見るのは対応バージョンです。recovery.confの廃止、wal_keep_segmentsからwal_keep_sizeへの変更、checkpoint_completion_targetのデフォルト値、チェックポイント統計の分離といった差分は、そのまま失点につながります。概念の説明は古い本でも通用しますが、パラメータ名と数値は現行マニュアルで突き合わせてください。
まず走らせる1本
検証環境を立てたら、パラメータの反映方法が3種類あることを最初に確認します。この区別自体が出題対象です。
-- 現在値と、変更の反映に何が必要かを確認する
SELECT name, setting, unit, context, source
FROM pg_settings
WHERE name IN ('shared_buffers','work_mem','wal_level','log_min_duration_statement');
context列がpostmasterなら再起動が必要、sighupなら設定リロードで反映、userならセッション内でSETできます。教材に出てきたパラメータ名をpg_settingsで検索して存在を確かめれば、その教材のバージョンが古いかどうかの判断材料にもなります。
完全版で扱っている内容
- 第1段階から第3段階までの学習ロードマップ。出題範囲とマニュアル章の対応づけの例、Dockerでの検証環境構築、
generate_seriesによるテストデータ作成、A/B/Cの3分類で弱点を洗い出す問題演習の回し方 - 教材・問題集の比較と選び方。対応バージョン、網羅性、解説の深さ、入手性の4軸と、経験値別に重心を変える組み合わせ表
- 得点源になる重点テーマの攻略法。
EXPLAIN (ANALYZE, BUFFERS)を見る順番、拡張統計とコスト定数、凍結とHOT更新とautovacuum起動判定、wal_levelの3段階とPITR手順、レプリケーションの同期レベルとWAL保持 - 独学者が不合格になる典型パターン6つと対策。症状から確認箇所を逆引きする一覧表、Oracle経験者が前提をずらしやすい論点
- 受験資格や勉強時間の考え方、実務未経験での進め方、最初の1週間でやることの日割り
試験のバージョンや出題範囲、配点比率は改定されます。学習を始める前に、LPI-Japanの公式サイトで現行の仕様を確認してください。