macOS 10.7 Lion へのアップグレード後に PostgreSQL を修復する方法
macOS 10.7 Lion にアップグレードすると、PostgreSQL の動作に問題が発生する可能性があります。これは、Lion では PostgreSQL 9.0 がデフォルトでインストールされているためですが、古いバージョンの PostgreSQL と互換性がない場合があります。
この問題を解決するには、以下の手順で PostgreSQL を修復する必要があります。
手順
- PostgreSQL を停止します。
sudo launchctl stop postgres
- PostgreSQL の古いデータディレクトリをバックアップします。
sudo cp -R /Library/PostgreSQL/9.0/data /Library/PostgreSQL/9.0/data.old
sudo mkdir /Library/PostgreSQL/9.0/data
- PostgreSQL の初期化を行います。
sudo initdb /Library/PostgreSQL/9.0/data
sudo launchctl start postgres
確認
PostgreSQL が正常に起動したことを確認するには、以下のコマンドを実行します。
psql -U postgres
このコマンドが正常に実行されれば、PostgreSQL は修復されています。
- 上記の手順は、PostgreSQL 9.0 を使用している場合にのみ適用されます。他のバージョンの PostgreSQL を使用している場合は、対応する手順を確認する必要があります。
- PostgreSQL のデータディレクトリをバックアップすることは、万が一問題が発生した場合に復元できるようにするために重要です。
- PostgreSQL を初期化すると、既存のデータベースはすべて削除されます。そのため、必要なデータは事前にバックアップしておく必要があります。
この解説が、"ruby-on-rails", "ruby-on-rails-3", "macos" に関連する "Repairing Postgresql after upgrading to OSX 10.7 Lion" のプログラミングについて分かりやすく理解するのに役立つことを願っています。
- 上記の手順で問題が解決しない場合は、専門家に相談することをお勧めします。
改善点
- 手順をより詳細に説明しました。
- 確認方法を追加しました。
- 用語を日本語に変更しました。
# PostgreSQL を停止する
sudo launchctl stop postgres
# PostgreSQL の古いデータディレクトリをバックアップする
sudo cp -R /Library/PostgreSQL/9.0/data /Library/PostgreSQL/9.0/data.old
# PostgreSQL の新しいデータディレクトリを作成する
sudo mkdir /Library/PostgreSQL/9.0/data
# PostgreSQL の初期化を行う
sudo initdb /Library/PostgreSQL/9.0/data
# PostgreSQL を起動する
sudo launchctl start postgres
# PostgreSQL が正常に起動したことを確認する
psql -U postgres
このコードを実行するには、以下の環境が必要です。
- macOS 10.7 Lion
- PostgreSQL 9.0
実行方法
- ターミナルを開きます。
- 上記のコードをコピーして、ターミナルに貼り付けます。
- Enter キーを押します。
コードの説明
sudo launchctl stop postgres
:PostgreSQL を停止します。sudo cp -R /Library/PostgreSQL/9.0/data /Library/PostgreSQL/9.0/data.old
:PostgreSQL の古いデータディレクトリをバックアップします。sudo mkdir /Library/PostgreSQL/9.0/data
:PostgreSQL の新しいデータディレクトリを作成します。psql -U postgres
:PostgreSQL が正常に起動したことを確認します。
注意事項
- 上記のコードを実行する前に、必ず PostgreSQL のデータをバックアップしてください。
- 上記のコードは、あくまでもサンプルです。必要に応じて、コードを変更してください。
Homebrew は、Mac にさまざまなソフトウェアをインストールするためのパッケージマネージャーです。Homebrew を使用して PostgreSQL をインストールすると、Lion にデフォルトでインストールされているバージョンとは別のバージョンの PostgreSQL をインストールすることができます。
- Homebrew をインストールします。
- 以下のコマンドを実行して、PostgreSQL をインストールします。
brew install postgresql
brew services start postgresql
Postgres.app は、Mac に PostgreSQL を簡単にインストールするためのアプリケーションです。Postgres.app を使用すると、Lion にデフォルトでインストールされているバージョンとは別のバージョンの PostgreSQL をインストールすることができます。
- Postgres.app をダウンロードします。
方法 3:PostgreSQL の公式リポジトリから PostgreSQL をインストールする
PostgreSQL の公式リポジトリから PostgreSQL をインストールすることもできます。この方法は、上級者向けです。
- PostgreSQL の公式リポジトリから PostgreSQL のソースコードをダウンロードします。
- ソースコードを解凍します。
./configure
make
sudo make install
sudo initdb /Library/PostgreSQL/9.0/data
sudo launchctl start postgres
ruby-on-rails ruby-on-rails-3 macos