タグ

2020年2月15日のブックマーク (1件)

  • PostgreSQLでTRUNCATEをROLLBACKした際の内部の挙動を追いかけてみた | DevelopersIO

    PostgreSQL 11.5文書 68.6. データベースページのレイアウト このヘッダ情報のt_xminやt_xmaxを参照することで、どのトランザクションに対してどのバージョンの行データを見せるべきなのか?ということが判断できる訳です。※XID = トランザクションID また、PostgreSQLは基的に1リレーションにつき1ファイルを利用してデータを管理します(TOASTテーブルなどの例外もあります)。例えばOracleの場合は1つ以上のデータファイルから構成された表領域に複数のテーブルやインデックスが格納されますが、PostgreSQLの場合はテーブルやインデックスといったDB上のオブジェクト1つにつきOS上の1ファイルが対応付きます。PostgreSQLでTRUNCATEを実行すると、対象テーブル用の物理ファイルを新しく作成し、以後は新しい物理ファイルを参照するようになります

    PostgreSQLでTRUNCATEをROLLBACKした際の内部の挙動を追いかけてみた | DevelopersIO