在升級至「OS X 伺服器」v3.2.1 或以上版本後復原自訂 Postgres 資料

「OS X 伺服器」使用 Postgres 資料庫來存放服務資料。如果你已將自己的表格加入資料庫中,在升級至「OS X 伺服器」v3.2.1 或以上版本後,系統可能會無法存取你的 Postgres 資料。

如果你發現在升級之後無法存取 Postgres 資料,請按照以下步驟操作。

  1. 以管理者身分登入伺服器。

  2. 打開「終端機」,然後使用以下指令。

    sudo serveradmin stop postgres

  3. 編輯「/資源庫/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

確認所有資料都已成功移轉後,即可移除「/資源庫/Server/PostgreSQL/DataOld」。

附註:「OS X 伺服器」所使用的 Postgres 資料庫僅適用於搭配系統所使用的服務資料。請勿將自訂內容加入到此資料庫。如果你想在「OS X 伺服器」上執行 Postgres,應該下載並安裝自己的實例。

發佈日期: