全文検索を利用するために、最近 Rails アプリを PostgreSQL に移行しました。
移行は新しいウェブホストへの移行と同時に行われたため、移行の手順は次のとおりです。
- 適切な database.yml ファイルを使用して、アプリケーションと db:create/db:schema:load を新しいサーバーにデプロイします。
- 既存の MySQL 本番データベースからの mysqldump データのみ
- データを 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
ページを読みましたが、それが本当に私が探している操作ではないと思います.