在升級至「OS X 伺服器」v3.2.1 或以上版本後復原自訂 Postgres 資料
「OS X 伺服器」使用 Postgres 資料庫來存放服務資料。如果你已將自己的表格加入資料庫中,在升級至「OS X 伺服器」v3.2.1 或以上版本後,系統可能會無法存取你的 Postgres 資料。
如果你發現在升級之後無法存取 Postgres 資料,請按照以下步驟操作。
以管理者身分登入伺服器。
打開「終端機」,然後使用以下指令。
sudo serveradmin stop postgres
編輯「/資源庫/Server/PostgreSQL/Config/org.postgresql.postgres.plist」,並將 unix_socket_directory 更改為 unix_socket_directories。
在「終端機」中使用以下指令:
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,應該下載並安裝自己的實例。