-
Building PostgreSQL with musl libc
The well-known implementation of the standard C library is glibc. musl libc is another implementation of the standard C library. It uses the MIT License, and it is known for its simple implementation and small binary size. It is also used in Alpine Linux.
-
Implementing a new PostgreSQL Table AM for archiving tables
I recently published my hobby project pgroad, a new PostgreSQL Table Access Method (Table AM). pgroad is a PostgreSQL extension that adds a new table format called
road
to PostgreSQL. ROAD stands for “Read Only Archived Data” and is used to convert existing tables that are accessed infrequently but cannot be dropped into compact, read-only tables. -
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
コマンドは各サブコマンドによってテーブルへのロックレベルが異なります。ソースを見るのが一番正確なのですが、いつも確認するのが面倒なのでまとめてみました。