升级至 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,应下载并安装您自己的实例。

发布日期: