[MacOS] PostgreSQL の全バージョンをアンインストールする方法 ~ Homebrew 編
MacOS に Homebrew でインストールした PostgreSQL の全バージョンをアンインストールする方法をご紹介します。
PostgreSQL をアンインストールしたくなった背景
新規に Ruby on Rails で開発しようと思ったところ、ひさしく PostgreSQL を MacOS の開発環境で利用してなかったので PG::ConnectionBad というエラーで rails server しても PostgreSQL に接続できませんでした。
$ brew services restart postgresql Stopping `postgresql`... (might take a while) ==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql) ==> Successfully started `postgresql` (label: homebrew.mxcl.postgresql |
と brew services restart コマンドで PostgreSQL 再起動してみてもダメだったので、全てアンインストールしてゼロから PostgreSQL をインストールしようと思ったのが、背景です。
インストール済みの PostgreSQL バージョン確認
まず、アンインストールする前にインストール済みの PostgreSQL バージョン確認しておきます。
$ ls /usr/local/Cellar/postgresql 9.3.5_1 9.6.3 |
ちなみに、現時点の PostgreSQL 最新バージョンは 9.6.5 です。
$ brew info postgresql postgresql: stable 9.6.5 (bottled), HEAD Object-relational database system https://www.postgresql.org/ |
brew uninstall –force で全てのバージョンをアンインストール
brew uninstall –force postgresql というように –force オプションを付けて brew unistall することで、全てのバージョンをアンインストールすることができます。
$ brew uninstall --force postgresql Uninstalling postgresql... (2,936 files, 32.1MB) |
ちなみに –force オプションを付けないで uninstall すると –force オプションの存在を教えてくれます。
$ brew uninstall postgresql Uninstalling /usr/local/Cellar/postgresql/9.6.3... (3,259 files, 36.6MB) postgresql 9.3.5_1 1 is still installed. Remove all versions with `brew uninstall --force postgresql`. |
PostgreSQL の設定ファイル、ログ、データなど諸々も削除
initdb で指定した path に諸々のファイルがあると思うので、それらも忘れずに削除しておきましょう。
$ ls -l /usr/local/var/postgres total 37608 -rw------- 1 codenote admin 4B 11 25 2014 PG_VERSION drwx------ 5 codenote admin 170B 11 25 2014 base drwx------ 41 codenote admin 1.4K 1 30 2015 global drwx------ 3 codenote admin 102B 11 25 2014 pg_clog -rw------- 1 codenote admin 4.4K 11 25 2014 pg_hba.conf -rw------- 1 codenote admin 1.6K 11 25 2014 pg_ident.conf drwx------ 4 codenote admin 136B 11 25 2014 pg_multixact drwx------ 3 codenote admin 102B 6 28 07:26 pg_notify drwx------ 2 codenote admin 68B 11 25 2014 pg_serial drwx------ 2 codenote admin 68B 11 25 2014 pg_snapshots drwx------ 3 codenote admin 102B 6 30 03:13 pg_stat drwx------ 2 codenote admin 68B 6 30 03:13 pg_stat_tmp drwx------ 3 codenote admin 102B 11 25 2014 pg_subtrans drwx------ 2 codenote admin 68B 11 25 2014 pg_tblspc drwx------ 2 codenote admin 68B 11 25 2014 pg_twophase drwx------ 4 codenote admin 136B 11 25 2014 pg_xlog -rw------- 1 codenote admin 20K 11 25 2014 postgresql.conf -rw------- 1 codenote admin 123B 6 28 07:26 postmaster.opts -rw-r--r-- 1 codenote admin 18M 6 30 03:13 server.log |
rm -rf /usr/local/var/postgres |
削除しておかないと、PostgreSQL を再インストールしても、
$ psql -l psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? |
というエラーで PostgreSQL に接続できない問題に遭遇するはずです。
最後に PostgreSQL の再インストール
全てアンインストールして綺麗になったら、再び PostgreSQL をインストールしましょう。
PostgreSQL のインストールは別に記事にしているのでこちらをどうぞ。