Hasty Briefsbeta

双语

Instant database clones with PostgreSQL 18

5 months ago
  • #Performance Optimization
  • #PostgreSQL
  • #Database Cloning
  • PostgreSQL的模板系统允许使用`CREATE DATABASE ... TEMPLATE`进行数据库克隆
  • PostgreSQL 15引入了`CREATE DATABASE ... STRATEGY`优化克隆流程,默认采用`WAL_LOG`策略以实现更平滑的I/O操作
  • PostgreSQL 18新增`file_copy_method = clone`参数,支持在XFS、ZFS和APFS等现代文件系统上实现零拷贝即时克隆
  • 使用`FILE_COPY`策略配合`clone`方法克隆6GB数据库仅需212毫秒,而`WAL_LOG`方式需要67秒
  • 克隆数据库初始共享存储空间,仅在被修改时触发写时复制机制更新数据页
  • 克隆过程中需阻塞源数据库的所有活动连接,这是PostgreSQL的当前限制
  • 克隆功能仅限于单个文件系统,且不支持AWS RDS等托管云服务环境