如果您發現升級後無法存取 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 Server 所使用的 Postgres 資料庫僅適用於搭配系統所使用的服務資料。請避免加入自訂內容至此資料庫。如果您想在 OS X Server 上執行 Postgres,應該下載並安裝自己的實例。