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 を実行する場合は、別個にインスタンスをダウンロードし、インストールする必要があります。

公開日: