升級至 OS X Server v3.2.1 或以上版本後恢復自訂 Postgres 資料

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

發佈日期: