-
Burning PostgreSQL transaction IDs.
PostgreSQL’s transaction ID (hereafter XID) is internally represendted as a “monotoronicaly increasing 32-bit unsigned integer value”, so after reaching 2^32-1 (approximately 4 billion) it wraps around back to 0. In PostgreSQL, each transaction that modifies the database such as INSERT, UPDATE and even DDLs is assigned a unique XID. Since the order of XIDs is used to check the visibility of tuples in tables, if XID wraps around after reaching the upper limit, this logic would break.
-
PostgreSQLで(わかりづらい)bannerプログラム作ってみた
これはPostgreSQL Advent calendar 2023シリーズ2の8日目の記事です。
-
ALTER TABLEの各コマンドのロックレベル
ALTER TABLEコマンドは各サブコマンドによってテーブルへのロックレベルが異なります。ソースを見るのが一番正確なのですが、いつも確認するのが面倒なのでまとめてみました。 -
ストリーミングレプリケーションプロトロルで遊ぶ
PostgreSQLには物理レプリケーションと論理レプリケーションの2種類のレプリケーションがありますが、どちらもサーバ間の通信にはストリーミングレプリケーションプロトロル(以下、長いのでレプリケーションプロトロルとします)を使用して、データを送っています。
-
PostgreSQLの色んなINSERTの仕方
使用するテーブル