私はPostgres 9.4を実行しています。tsvector_update_triggerが元々作成したtsvectorカラムを再作成する方法
私は、このトリガーによって移入されたmain_search_index_colという列があります。pg_catalog.english
を置き換えるために、私は先に行ってとunaccent_english(public.unaccent_english)と呼ばれる新しいテキスト検索設定を作成しましたmain_vector_update BEFORE INSERT OR UPDATE ON the_entries
FOR EACH ROW EXECUTE PROCEDURE
svector_update_trigger('main_search_index_col','pg_catalog.english', 'name', 'location', 'type')
を
私は上記のトリガーを落とし、代わりにthe_entries上
pg_catalog.englishドロップトリガmain_vector_updateのpublic.unaccent_englishを使用してそれをやり直しました。
CREATE TRIGGER main_vector_update BEFORE INSERT OR UPDATE ON the_entries
FOR EACH ROW EXECUTE PROCEDURE
tsvector_update_trigger('main_search_index_col','public.unaccent_english', 'name', 'location', 'type');
しかし、私は、行が更新されるか、新しい行が追加されていない限り、main_search_index_colで値を変更しないということを理解して。
代わりに、各行のmain_search_index_colを更新するか、列を削除して完全に再作成し、新しいフォームのトリガーが常に存在していたかのように入力します。
列main_search_index_colの内容を新しいトリガーに一致させるにはどうすればよいですか?
また、tsvector_update_triggerの正確な定義を確認するにはどうすればよいですか?私はそれの定義を読むことができたら、自分の解決策を作るのに役立つかもしれないと感じています。
でテーブルの上の空き領域を解放したい場合があり、このような
UPDATE
後。ありがとうございました! – user1175849