42P07: duplicate_table
PostgreSQL含义
要创建的表(或类似对象)已经存在。由于存在同名对象,CREATE 失败。
原因
用 CREATE TABLE 重新创建已有的表;脚本运行了两次;重复应用迁移;与同名的视图/序列/索引发生名称冲突。
解决方法
使用 IF NOT EXISTS,在对象已存在时跳过创建:CREATE TABLE IF NOT EXISTS my_table (...)。如果确实要重新创建,先删除:DROP TABLE IF EXISTS my_table; 使迁移可以安全地重复运行(幂等)。用 \dt 检查已有对象。