PostgreSQL PostgreSQL 13のインストール (CentOS 8編) CentOS8.2に、PostgreSQLをインストールする方法についてまとめます。本記事はPostgreSQL13.1に対応しています。バージョンによって若干の差異がありますので、本記事と異なるバージョンを使用する場合はpostgresq... 2020.12.01 2021.04.05 PostgreSQL
PostgreSQL PostgreSQL 13のデータベースの作成 CentOS8.2に、PostgreSQLにデータベースを作成し、アプリケーションから操作できるまでの一連の操作をまとめます。 2020.12.05 2022.02.11 PostgreSQL
PostgreSQL PostgreSQL 13 contribモジュールの使い方 PostgreSQLはcontribディレクトリに格納された拡張機能を使う事ができます。この章ではcontribモジュールのインストール方法および使い方について説明します。 2020.12.06 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13 パラメタの設定方法 PostgreSQLのパラメタ設定方法についてまとめます。PostgreSQLのパラメタは「リロードなしに反映できるもの」「リロードが必要となるもの」「PostgreSQLの再起動が必要となるもの」の3種類があります。 2020.12.13 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13のベンチマークツールの紹介 PostgreSQLにはpgbenchというベンチマークツールが備わっています。文字通りベンチマークに使用する事もできますし、バックアップやレプリケーションの練習用テストデータ生成にも使用する事ができます。 2020.12.13 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13 WAL(Write Ahead Log)の基本説明 PostgreSQLのWAL(WriteAheadLog)についてまとめます。WALはデータベースに対する更新操作が記載されたログで、ストリーミングレプリケーションやPITR(PointInTimeRecovery)で使用されます。 2020.12.19 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13 バックアップ操作とリストア操作 PostgreSQLのバックアップ操作およびリストア操作についてまとめます。このページでは低難度の「論理バックアップ」「オフライン物理バックアップ」についてまとめます。この手法はバックアップ実施時点までの復旧しか出来ませんので、バックアップ... 2020.12.19 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13 PITR(Point In Time Recovery)基本概念の説明 PostgreSQLのバックアップ操作およびリストア操作についてまとめます。このページでは「オンライン物理バックアップ」の操作を説明します。オンライン物理バックアップはバックアップ取得時点だけでなく障害直前までのリストアが可能です。任意の時... 2020.12.23 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13 PITR(Point In Time Recovery)操作方法の説明 PostgreSQLのPITR(PointInTimeRecovery)の操作についてまとめます。各操作の意味については「PostgreSQLPITR(PointInTimeRecovery)基本概念の説明」を参照ください。 2020.12.24 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13 PITR(Point In Time Recovery)タイムライン操作 PostgreSQLのタイムラインIDを意識したPITR(PointInTimeRecovery)の操作についてまとめます。PostgreSQLは、レプリケーション環境においてスタンバイからマスターへ昇格した時やPITRによる復旧を行なった... 2020.12.24 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13 ストリーミングレプリケーションの最小構成 PostgreSQLはストリーミングレプリケーションと呼ばれるデータコピーの仕組みがあります。マスターサーバで生成したWALをスタンバイサーバへ転送する事で高可用性と読取に対するスケールアウトを実現できます。このページではストリーミングレプ... 2020.12.25 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13 ストリーミングレプリケーションのパラメタ説明 PostgreSQLはストリーミングレプリケーションと呼ばれるデータコピーの仕組みがあります。3台以上のプライマリ/スレーブ構成を紹介し、ストリーミングレプリケーションに関するパラメタについて説明します。 2020.12.26 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13 ストリーミングレプリケーションの障害復旧 PostgreSQLはストリーミングレプリケーションと呼ばれるデータコピーの仕組みがあります。3台以上のプライマリ/スレーブ構成を紹介し、ストリーミングレプリケーションの障害復旧について説明します。 2020.12.27 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13 ストリーミングレプリケーションの多段構成 PostgreSQLはストリーミングレプリケーションと呼ばれるデータコピーの仕組みがあります。このページではカースケイド構成(多段構成)のレプリケーションの設定例を紹介します。 2020.12.28 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13 ストリーミングレプリケーションのDR向け設定 PostgreSQLはストリーミングレプリケーションと呼ばれるデータコピーの仕組みがあります。レプリケーションは高可用性目的だけでなく、ディザスタリカバリ用途としても使用する事ができます。このページではディザスタリカバリ向けのレプリケーショ... 2020.12.28 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13 ストリーミングレプリケーション コンフリクトの考察 PostgreSQLはストリーミングレプリケーションと呼ばれるデータコピーの仕組みがあります。レプリケーションの構成によっては、マスターサーバの更新がスタンバイサーバに反映されるのを待ってからCOMMITを返すホットスタンバイの構成を採用す... 2020.12.29 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13 自動バキューム(AUTO VACUUM) PostgreSQLはデータの更新が発生すると、更新した場所に対して「使用済」のフラグを立て新たにデータを追記する「追記型」と呼ばる他RDBMSとは異なるアーキテクチャを採用しています。「追記型」アーキテクチャはデータ更新が早いものの、「使... 2021.01.03 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13 HOT(Heap Only Tuple) PostgreSQLは追記型のアーキテクチャを採用しており、定期的に「使用済」となった不要な領域を回収するバキューム(VACUUM)と呼ばれる処理を考察しなければなりません。このバキューム(VACUUM)の発生頻度を抑制する仕組みとしてHO... 2021.01.09 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13 インデックスのメンテナンス PostgreSQLのインデックスのメンテナンス方法についてまとめます。PostgreSQLはデータのINSERTとDELETEを繰り返すと、インデックスの性能が徐々に劣化します。もし、劣化したならば、インデックスを再作成したりクラスタ化す... 2021.01.16 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13 統計情報の更新 PostgreSQLに限らず多くのRDBMSはどのようにデータベースを探索するのかが高速なのかの「実行計画」を立てます。クエリを発行する都度、データベースの大きさ等を計測するのは非現実的な計算量になるので、一定周期で計測する「統計情報」に基... 2021.01.23 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13の実行計画 PostgreSQLに限らず多くのRDBMSはどのようにデータベースを探索するのかが高速なのかの「実行計画」を立てます。実行計画には、レコードを全て探索するようなシーケンススキャン(seqscan)やインデックスに沿った探索を行うインデック... 2021.01.31 2021.03.28 PostgreSQL
PostgreSQL PostgreSQL 13のスロークエリの調査方法 PostgreSQLのスロークエリを見つけるための調査方法についてまとめます。 2021.01.31 2022.11.27 PostgreSQL