勉強日記

チラ裏

PostgreSQL

OSS-DB Silver/Gold Ver2.0 合格体験記

勉強期間 勉強時間 つかったもの 共通 公式doc PostgreSQLのDockerイメージ レプリケーション学習用Docker Compose環境 PostgreSQLのソースコード ビルド環境 Silver OSS教科書 OSS-DB Silver Ver2.0対応 | 翔泳社 (緑色の本) Ping-t Gold [改訂新版]内部…

PostgreSQL 高度技術者育成テキスト 章末問題メモ

LPI-Japan OSS-DB Gold 認定教材 PostgreSQL 高度技術者育成テキスト作者:河原 翔発売日: 2014/10/27メディア: オンデマンド (ペーパーバック) 運用管理 容量見積もり テーブル インデックス トランザクションID周回問題 GUC: Grand Unified Configuration …

PostgreSQL 高度技術者育成テキスト ch5 (障害対応)

LPI-Japan OSS-DB Gold 認定教材 PostgreSQL 高度技術者育成テキスト作者:河原 翔発売日: 2014/10/27メディア: オンデマンド (ペーパーバック) 障害対応の基本 サーバダウン障害への対応 PostgreSQLが起動できない 事象 状況把握 主な原因・対処案 メモリ不…

PostgreSQL 高度技術者育成テキスト ch4 (性能監視とパフォーマンス) (2/2)

LPI-Japan OSS-DB Gold 認定教材 PostgreSQL 高度技術者育成テキスト作者:河原 翔発売日: 2014/10/27メディア: オンデマンド (ペーパーバック) 実行計画のチューニング INDEXチューニング ANALYZE work_mem effective_cache_size プランナコスト定数 プラン…

PostgreSQL 高度技術者育成テキスト ch4 (性能監視とパフォーマンス) (1/2)

LPI-Japan OSS-DB Gold 認定教材 PostgreSQL 高度技術者育成テキスト作者:河原 翔発売日: 2014/10/27メディア: オンデマンド (ペーパーバック) アクセス統計情報 パラメータ 標準統計情報ビュー pg_stat_activity pg_stat_database pg_stat_bgwriter pg_stat…

PostgreSQL 高度技術者育成テキスト ch3 (運用管理) (2/2)

LPI-Japan OSS-DB Gold 認定教材 PostgreSQL 高度技術者育成テキスト作者:河原 翔発売日: 2014/10/27メディア: オンデマンド (ペーパーバック) メンテナンス VACUUM トランザクションID周回問題 遅延vacuum autovacuum VACUUM/autovacuumの動作確認 ANALYZE …

PostgreSQL 高度技術者育成テキスト ch3 (運用管理) (1/2)

LPI-Japan OSS-DB Gold 認定教材 PostgreSQL 高度技術者育成テキスト作者:河原 翔発売日: 2014/10/27メディア: オンデマンド (ペーパーバック) 容量監視 データベース領域 WAL領域 ~9.4 9.5~ アーカイブWAL領域 実測方法 データベース領域 テーブル・インデ…

PostgreSQL 高度技術者育成テキスト ch2 (基本整理)

LPI-Japan OSS-DB Gold 認定教材 PostgreSQL 高度技術者育成テキスト作者:河原 翔発売日: 2014/10/27メディア: オンデマンド (ペーパーバック) プロセス構造 利用する主なメモリ データベースクラスタの構造 データの格納方法 base/ pg_wal/ pg_tblspc/ cont…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch16 (パフォーマンスチューニング) (2/2)

gihyo.jp パラメータチューニング 【事例3】work_memのチューニング work_memのパラメータの最適値 【事例4】チェックポイント間隔のチューニング ベンチマークコマンド「pgbench」での性能測定 【事例5】統計情報のチューニング 【事例6】パラレルスキャン …

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch15 (実行計画の取得/解析) (3/3)

gihyo.jp 実行計画の見方 処理コストの見積もり 行長と行数 処理コスト見積もりのパラメータ 処理コスト見積もりの例 シンプルなシーケンシャルスキャンの場合 条件付きシーケンシャルスキャンの場合 ソート処理の場合 インデックススキャンの場合 見積もり…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch15 (実行計画の取得/解析) (2/3)

gihyo.jp 実行計画の取得方法(つづき) 実行計画を自動収集する拡張モジュール「auto_explain」 auto_explainのインストール方法 auto_explainの利用方法 shared_preload_librariesを設定する方法 SQLのLOAD文で読み込む方法 auto_explainで利用可能なオプシ…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch10 (高可用化と負荷分散) (6/6)

gihyo.jp 論理レプリケーション(つづき) レプリケーションの状況確認 サーバログの確認 プロセスの確認 レプリケーション遅延の確認 レプリケーションの管理 レプリケーションスロットの対処 コンフリクトの対処 解消方法A: pub側をとる 解消方法B: sub側を…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch10 (高可用化と負荷分散) (5/6)

gihyo.jp 論理レプリケーション 論理レプリケーションの仕組み ロジカルデコーディングとバックグラウンドワーカ パブリケーションとサブスクリプション 論理レプリケーションの制限事項 可能なレプリケーション構成 設定手順の整理 パブリッシャの設定 サブ…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch10 (高可用化と負荷分散) (4/6)

gihyo.jp ストリーミングレプリケーションの運用 フェイルオーバ時の処理 プライマリの故障時 スタンバイの故障時 プライマリ/スタンバイの監視 walsender/walreceiverプロセスの動作確認 レプリケーションの状況確認 プライマリ/スタンバイの再組み込み時の…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch15 実行計画の取得/解析 (1/3くらい)

gihyo.jp 最適な実行計画が選ばれない PstgreSQLが原因となる場合 コスト基準値の設定 統計の取得頻度 統計情報の取得粒度 PostgreSQL以外が原因となる場合 ディスク性能 ネットワーク性能 アプリケーション バッチ処理や瞬間的な大量アクセス 実行計画の取…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 Appendix PostgreSQLのバージョンアップ

gihyo.jp バージョンアップポリシー バージョンアップの種類 マイナーバージョンアップ メジャーバージョンアップ マイナーバージョンアップの手順 ローリングアップデート メジャーバージョンアップの手順 ダンプ/リストアによるデータ移行方式 pg_upgrade…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch16 パフォーマンス・チューニング (1/2)

gihyo.jp 事象分析 PostgreSQLログの取得 テーブル統計情報の取得 クエリ統計情報の取得 システムリソース情報の取得 事象分析の流れ スケールアップ 【事例1】SSDに置き換えが有効なケース 【事例2】メモリ容量の拡張が有効なケース 事象分析 PostgreSQLロ…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch11 オンライン物理バックアップ (2/2)

gihyo.jp PITRの仕組み WALレコード適用までの流れ pg_controlファイル recovery.confファイル スタンバイサーバの設定 アーカイブリカバリの設定 リカバリ対象の設定 Column: タイムラインとリカバリ バックアップ/リカバリの運用手順 バックアップ手順 リ…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch10 (高可用化と負荷分散) (2/6)

gihyo.jp ストリーミングレプリケーション(つづき) 【補】構築 レプリケーションの状況確認 サーバーログの確認 プロセスの確認 レプリケーション遅延の確認 レプリケーションの管理 recovery.confのtrigger_fileを用いる方法 pg_ctl promoteを用いる方法 【…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch11 オンライン物理バックアップ (1/2)

gihyo.jp 【準備】前準備 オンライン物理バックアップの仕組み pg_start_backup関数の処理 チェックポイント処理の制御 pg_stop_backup関数の処理 WALスイッチ backup_labelとバックアップ履歴ファイルの内容 Column: 並行したバックアップ取得の制御 WALの…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch10 (高可用化と負荷分散) (1/6)

gihyo.jp サーバの役割と呼び名 ストリーミングレプリケーション ストリーミングレプリケーションの仕組み WALの特性 ストリーミングレプリケーションの制限 Column: pg_resetwalコマンド walsender/walreceiverプロセスの設定方法 walsender/walreceiverプ…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch6 物理設計 (2/2)

gihyo.jp データ配置のポイント base領域 WAL領域 アーカイブ領域 テーブル空間とテーブルパーティショニング テーブルパーティショニングとの組み合わせ Column: 別のテーブル空間へのデータベースオブジェクトの一括移動 性能を踏まえたインデックス定義 …

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch6 物理設計 (1/2)

gihyo.jp 各種ファイルのレイアウトとアクセス PostgreSQLのテーブルファイルの実態 テーブルファイル PageHeaderData ItemId Free Space Item HeapTupleHeaderData Special ページ数見積もり 増加するタイミング 減少するタイミング インデックスファイル …

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch14 インデックスメンテナンス

gihyo.jp インデックスメンテナンスが必要な状況 インデックスファイルの肥大化 インデックスファイルの断片化 断片化を調べる方法 クラスタ性の欠落 クラスタ性を調べる方法 【予防策】インデックスファイルの肥大化 【改善策】インデックスファイルの断片…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch13 テーブルメンテナンス

gihyo.jp テーブルメンテナンスが必要な状況 バキュームの内部処理 不要領域の再利用 VMとFSM トランザクションID(XID)周回問題の回避 XIDの差分を確認する方法 自動バキュームによるメンテナンス VACUUM FULLによるメンテナンス VACUUMが機能しないケース L…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch12 死活監視と正常動作の監視

gihyo.jp 死活監視 サーバの死活監視 PostgreSQLの死活監視(プロセスの確認) psコマンドを用いる方法 Column: プロセス確認の落とし穴 pg_isreadyコマンドを用いる方法 PostgreSQLの死活監視(SQLの実行確認) 正常動作の監視 サーバの正常動作の監視 vmstatコ…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch9 サーバ設定

gihyo.jp CPUの設定 クライアント接続設定 クライアント接続設定の注意点 ロックの設定 メモリの設定 OSのメモリ設定 PostgreSQLのメモリ設定 共有メモリ領域の設定 プロセスメモリ領域のその設定について HugePage設定 (PostgreSQL 9.4以降) ディスクの設定…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch8 監視計画

gihyo.jp 監視とは 監視項目の選定 サーバに問題が起きていないか?を監視する PostgreSQLに問題が起きていないか?を監視する 必要なプロセスは正常に動作しているか ディスク容量に問題はないか 想定通りの性能を出せているか PostgreSQLのログに異常を知…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch7 バックアップ計画

gihyo.jp 最初に行うこと PostgreSQLのバックアップ方式 オフラインバックアップ オンラインバックアップ 主なリカバリ要件/バックアップ要件 要件と方式の整理方法 各バックアップ方式の注意点 コールドバックアップの注意点 オンライン論理バックアップの…

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 ch5 テーブル設計

gihyo.jp データ型 文字型 textの内部表現(1) char(8)の内部表現 textの内部表現(2) 規則 SQL標準との対応 Column: 内部的に使用される文字型 Column: char型に対する文字列操作の注意点 数値データ型 整数型の内部表現 realの内部表現 numericの内部表現 ど…