OSS-DB Exam Silverは出題範囲が公開されていて、日本語の教材も揃っています。独学で完結させやすい試験です。ただしコマンド名の暗記だけで臨むと、選択肢の絞り込みで止まります。4つの選択肢がすべて実在するコマンドやパラメータ名で構成されるため、うろ覚えだと2つまで絞って外します。VACUUMが必要な理由、WALがどの復旧手段の前提になっているか、pg_hba.confの1行が誰の接続を許可しているか。仕組みを踏まえた判断を問う設問が一定数含まれます。
この記事は要約版です。教材の役割分担と選定基準、未経験者向け8週間プランと経験者向け3週間プランの週別メニュー、Dockerでの検証環境の作り方、MVCC・WAL・pg_hba.confの攻略ポイントは、ブログの完全版にまとめています: OSS-DB Silver勉強法|独学の教材選びとロードマップ
結論
学習時間の半分以上を運用管理に割り当ててください。出題分野は一般知識、運用管理、開発/SQLの3つで、配点比率が最も大きいのは運用管理です。具体的な比率や出題数、合格ラインは改定されることがあるため、LPI-Japanの公式サイトで確認してください。開発/SQLは既存のSQL知識との差分だけを埋めます。MySQLやOracleの経験があるなら、PostgreSQL固有の構文やデータ型、関数名の違いに集中すれば足ります。一般知識は最後に短時間で詰め込みます。
教材は役割の違うものを最小構成で組み合わせます。出題範囲に対応した教科書1冊、解説の厚い問題集、辞書として引く公式ドキュメント、そしていつでも壊せるDocker環境。同じレベルの教科書を2冊買うと、重複部分を2回読むだけで終わります。公式サイトのサンプル問題と例題解説は、学習開始直後、教科書を1周した直後、試験直前の3回に分けて使います。
暗記で足りる範囲と理解が必要な範囲を分けると、時間配分を決めやすくなります。ツール名と用途、psqlのメタコマンド、データ型の名前、認証方式の名前は覚えれば取れる項目です。一方で理解が必要なのは次の3つの領域になります。
ひとつはMVCCとVACUUMの関係です。PostgreSQLのUPDATEは新しいバージョンの行を追加し、古いバージョンを不要としてマークします。そのためDELETEしてもファイルサイズは減りません。VACUUMは不要領域を再利用可能な空き領域として登録するだけで、ファイルサイズを縮めるにはテーブルを作り直すVACUUM FULLが必要です。VACUUM FULLはテーブルへの排他ロックを取得するため、本番稼働中に安易には実行できません。
ふたつめはWALとバックアップ手段の対応関係です。任意の時点に戻すPITRには、pg_basebackupなどの物理バックアップとWALアーカイブの両方が必要で、論理バックアップだけでは実現できません。逆に特定のテーブルだけ戻したい場合や、別のメジャーバージョンへ移したい場合はpg_dumpを使います。
みっつめはpg_hba.confと権限です。pg_hba.confは上から順に評価され、最初に一致した行の認証方式が使われます。認証に失敗しても後続の行は評価されません。peerはlocal接続でのみ使える、といった制約も問われます。
すぐ試せる確認コマンド
パラメータの現在値を見るときは、あわせてpg_settingsのcontext列を確認する習慣をつけてください。
# 現在の設定値を確認(psql から)
psql -U postgres -c "SHOW shared_buffers;"
psql -U postgres -c "SELECT name, setting, unit, context FROM pg_settings WHERE name IN ('shared_buffers','work_mem','log_min_duration_statement');"
contextがpostmasterなら再起動が必要、sighupならリロードで反映、userならセッション単位で変更できます。この反映タイミングの区別がそのまま試験範囲です。
完全版で扱っている内容
- 出題分野と配点比率から学習量を割り振る方法、コマンド暗記では届かない4つの出題パターン(設定値と挙動の因果、目的から手段の逆算、症状からの原因推定、pg_hba.conf関連のエラーメッセージ読み取り)
- 教科書・問題集・公式ドキュメントの役割分担と選定基準、参照価値の高い公式ドキュメントの章、有料の問題演習サービスを追加すべきかの判断基準
- PostgreSQL未経験者向け8週間プランと、業務経験者向け3週間プランの週別メニュー。RDS/Aurora中心の人がDocker環境で一度試しておくべきinitdbやpg_basebackup、WALアーカイブの操作一覧
- 検証環境のdocker-compose.yml、ALTER SYSTEMとpostgresql.auto.confの関係、archive_commandの%pと%fの意味、pg_stat_activityとpg_locksでロック待ちを観測する手順
- autovacuumの閾値パラメータ、VACUUMとVACUUM FULLの比較表、バックアップ手段の対応表、PITRの手順とバージョン12以降のリカバリ設定の変更、public スキーマのデフォルト権限がバージョン15で変わった点
- 試験1〜2週間前の仕上げ、ピアソンVUEでの申込と当日の解き方、MySQL経験者やRDS/Aurora利用者がつまずく箇所のQ&A