読者です 読者をやめる 読者になる 読者になる

その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

textsearch_sennaをキレイにアンインストールする

postgresql

textsearch_sennaというのがあって,これはsennaを使った全文検索postgresqlに提供するために便利な演算子や関数を提供してくれるやつなんですが,これをアンインストールする必要が出てきた時に「インストール時に追加された関数とか演算子とかビューとか全部調べて手で削除しないとマズいのかーうへー」とか思ってたんですけど,そんなことする必要無かったのでメモ.


結論からいうと,$PG_HOME/share/contrib/uninstall_textsearch_senna.sqlを流し込んでやるとよろしい.このファイルはtextsearch_sennaインストール時に同時に提供されるファイルです.

psql --user=user_name -f $PG_HOME/share/contrib/uninstall_textsearch_senna.sql db_name

これで関連のものがDBから削除されるので,あとはtextsearch_sennaをインストールする時に使ったMakefileを利用して

PATH=$PG_HOME/bin/:$PATH make uninstall

などとしてやると完全にアンインストールされます.ちゃんとアンインストールの為のユーティリティが用意されていた!


ちなみになぜキレイに消し去らなければならないのかというと,pg_updateでpgサーバのバージョンを上げるとなった時に,新しいバージョンではtextsearch_sennaは必要無いのにも関わらず「古いバージョンがtextsearch_senna要求してるけど新しいバージョンにはtextsearch_sennaが入ってないよ〜」とか怒られて死ぬのでそれを回避する為です.
世の中には色々な理由があります.理由があるのです.