Anarchy in the Database: A Survey and Evaluation of Database Management System Extensibility
summary
Presents a taxonomy of DBMS extensibility and an automated PostgreSQL extension analysis framework that runs static and dynamic checks on Postgres 15.3 using PGRegress and CPD (PMD) to detect copied core code. Evaluates 114 extensions and reports a 17% pair failure rate for extension combinations, 19% of extensions copy Postgres code, 45% use versioning macros, and heavy use of planner/executor hooks or the process-utility hook correlates with higher incompatibility and complexity.
AI-written summary · about
chapters (22)
- 0:00Introduction and motivation
- 1:16What is extensibility
- 2:00Brief history of extensibility
- 4:35Postgres extensibility today
- 6:10Extension conflicts problem
- 7:46Academic survey overview
- 10:32Types of extensibility in DBMS
- 13:17Location-specific extensions
- 15:25Interface design decisions
- 18:02Extension system components
- 21:31Comparison with other databases
- 23:22Postgres extensibility takeaways
- 24:08Analysis framework introduction
- 26:44Compatibility testing design
- 28:40Source code analysis tools
- 32:53Metrics and results overview
- 34:52Extension compatibility findings
- 37:21Extension complexity analysis
- 40:14Factors affecting compatibility
- 42:31Lessons on DBMS extensibility
- 43:55Suggestions for Postgres
- 46:43Conclusion and Q&A
related talks
28mBeyond Postgres: Insights about the PostgreSQL Extensibility
52mThe trouble with extensions
26mState of the Postgres Extension Ecosystem
42mPostgreSQL Extensions: A Deep Dive
49mSupporting extensions, but really now
47mThe Next 20 Years
05mpgextensions org Your Guide to PostgreSQL Extensions Comparision on the Cloud
26mCan We Use Rust to Develop Extensions for PostgreSQL?
