OS X Server v3.2.1 以降へのアップグレード後に、カスタム Postgres データを復元する

OS X Server は、サービスデータの保管に Postgres データベースを使用します。データベースに独自のテーブルを追加している場合、Server v3.2.1 以降へのアップグレード後に、Postgres データにアクセスできなくなる場合があります。

アップグレード後に Postgres データにアクセスできない場合は、次の手順で対処できます。

  1. 管理者としてサーバにログインします。
  2. ターミナルを開き、次のコマンドを使用します。
    sudo serveradmin stop postgres
    
  3. /Library/Server/PostgreSQL/Config/org.postgresql.postgres.plist を編集し、unix_socket_directory を unix_socket_directories に変更します。
  4. ターミナルで次のコマンドを使用します。
cd /tmp
sudo mv /Library/Server/PostgreSQL/Data /Library/Server/PostgreSQL/DataOld
sudo -u _postgres /Applications/Server.app/Contents/ServerRoot/usr/bin/initdb --encoding UTF8 --locale=C -D /Library/Server/PostgreSQL/Data
sudo -u _postgres /Applications/Server.app/Contents/ServerRoot/usr/bin/pg_upgrade -b /Applications/Server.app/Contents/ServerRoot/usr/libexec/postgresql9.2 -B /Applications/Server.app/Contents/ServerRoot/usr/bin -d /Library/Server/PostgreSQL/DataOld -D /Library/Server/PostgreSQL/Data
sudo launchctl load -w /Applications/Server.app/Contents/ServerRoot/System/Library/LaunchDaemons/org.postgresql.postgres.plist
sudo serveradmin start postgres


すべてのデータが問題なく移行したことを確認したら、/Library/Server/PostgreSQL/DataOld を削除できます。

注意:OS X Server が使用する Postgres データベースは、システムで使用されるサービスデータの保管専用です。このデータベースにカスタムコンテンツを追加しないでください。OS X Server で Postgres を実行する場合は、別個にインスタンスをダウンロードし、インストールする必要があります。

公開日: