SuperAPI AI 工具集

postgres-migrations

数据与分析

查看项目

更新于 10-16 09:51

技能介绍

用途:这是一份 PostgreSQL 迁移实践指南,面向编写或审查数据库迁移脚本的开发者,重点讲解迁移中常见错误的成因与解决思路,并给出可复用的模式与清单。

主要能力:其一,错误排查。针对“子查询引用了外层未分组列”“索引表达式中的函数必须标记 IMMUTABLE”“关系不存在(扩展缺失)”等常见报错给出说明,并展示用 CTE 拆分聚合、编写 IMMUTABLE 包装函数、以异常处理让扩展可选等做法。其二,生成列与全文检索。说明生成列只能使用 IMMUTABLE 函数、不能引用其他生成列、需用 STORED、不能直接更新;给出生成列加 GIN 索引的全文检索组合方式。其三,索引策略。包含复合索引列顺序原则(等值条件在前、范围与排序在后)、部分索引、JSONB 索引以及物化视图与刷新。其四,幂等迁移。要求 CREATE 用 IF NOT EXISTS、DROP 用 IF EXISTS;循环依赖时先建表再补外键;并附迁移文件结构模板与自检清单。

使用方式:资料给出了本地验证示例命令,如 npm run migrate、docker-compose logs postgres,以及通过 psql 查看表结构 \d packages、列出索引 \di。性能方面建议迁移后执行 ANALYZE、用 EXPLAIN ANALYZE 检查执行计划、批量变更后 VACUUM。

适用场景与限制:适合需要保证迁移可重复执行、为全文检索或常用查询设计索引、以及规避 PostgreSQL 特定限制的场景。资料未提供所依赖工具的版本要求、支持范围或收费信息,暂未提供;具体行为仍以实际 PostgreSQL 版本为准。