ブックマーク / www.nminoru.jp/~nminoru (3)

  • PostgreSQL のテーブルとブロックのデータ構造

    このページでは PostgreSQL のエクステンション(extension)を開発する人向けに、PostgreSQL のテーブルやインデックスを構成するブロックまたはページの内部構造について紹介する。 PostgreSQL の他の記事へのインデックスはここ。 更新履歴 (2017.03.01) 作成。 (2017.03.04) ヒープ操作、システムカタログ、Relation cache entry の説明を追加。 目次 1. はじめに 1.1 PostgreSQL データの構成要素 1.2 Object Identifier (OID) 1.3 データディレクトリ 2. リレーション(Relation) 2.1 リレーションの概要 2.2 データディレクトリ中のリレーションの実体 2.3 リレーションの構造 2.4 API を使った操作 2.4.1 Relation Cache Entr

    haikikyou
    haikikyou 2017/05/13
  • PostgreSQL のメモリ管理関数の解説

    このページでは PostgreSQL のエクステンション(extension)を開発する人向けに、プログラム中で用いるメモリ管理関数を紹介する。 PostgreSQL の他の記事へのインデックスはここ。 更新履歴 (2017.03.26) 作成。 (2017.04.02) 共有メモリの利用方法を追加。 目次 1. はじめに 2. MemoryContext を使ったメモリ・アロケーター 2.1 Memory Context API 2.1.1 AllocSetContextCreate 2.1.2 MemoryContext からのメモリ割り当て・解放 2.1.3 MemoryContext の解放・削除 2.2 Out-of-memory エラーの捕捉 2.3 既定のメモリ・コンテキスト 3. 共有メモリの利用方法 コメント 1. はじめに PostgreSQL の C 言語で記述するユ

    haikikyou
    haikikyou 2017/04/06
  • PostgreSQL プラン・ツリーの概要

    このページでは PostgreSQL のプラン情報を保持するノード・ツリーの概略を解説する。 また PostgreSQL の生成するプランのノード・ツリー情報を可視化するために、Graphviz の dot ファイルとして書き出すエクステンション pg_plan_tree_dot を紹介する。 PostgreSQL 体の改造やエクステンションを作成するために、プランを変更しようとする人向けの記事である。 現在は pg_plan_tree_dot は Linux の PostgreSQL 9.x 上でだけ動作する。 PostgreSQL の他の記事へのインデックスはここ。 更新履歴 (2014.11.30) 作成。 (2015.12.13) エクスプレッション・ノードとプラン・ノードを追加 (2016.09.24) Join と TargetEntry の説明を追加 (2017.01.07

    haikikyou
    haikikyou 2017/02/08
  • 1