我最近将我的 rails 应用程序迁移到 PostgreSQL,以便利用全文搜索。
由于迁移恰逢迁移到新的虚拟主机,迁移的步骤是:
- 使用适当的 database.yml 文件在新服务器上部署应用程序和 db:create/db:schema:load
- mysqldump 仅来自现有 MySQL 生产数据库的数据
- 将数据导入 PostgreSQL 数据库
应用程序运行成功,但在尝试向数据库添加新内容时出现问题。例如,当我运行 rake 任务来更新我的 twitter 提要时:
PG::Error: ERROR: duplicate key value violates unique constraint "twitter_feeds_pkey" DETAIL: Key (id)=(3) already exists.
这也适用于所有其他模型,创建新文章、用户等。在开发中,我可以看到发布插入语句 n+1 次将成功保存记录而不会出错。
我的问题是:如何告诉 PostgreSQL 从现有数据开始按顺序添加索引?
我已经阅读了该REINDEX
页面,但不认为这真的是我正在寻找的操作。