如何在不丢失数据的情况下将PostgreSQL从9.6版升级到10.1版?[闭门]

关闭。此问题不符合堆栈溢出准则。它目前不接受答案。

<hr class=“my12大纲无baw0 bb bc-POWER-400”/

想改进此问题吗?更新问题,使其成为堆栈溢出的主题。

上个月已关闭

上个月,社区审查了是否重新打开此问题,并将其关闭:

原始关闭原因未解决

改进这个问题

我正在为我的RubyonRails应用程序(在MacOSX10.9上)使用PostgreSQL数据库

是否有关于如何升级PostgreSQL数据库的详细说明

恐怕我会破坏数据库中的数据或把它搞砸

假设您已使用home brew安装和升级Postgres,则可以执行以下步骤

  1. 停止当前Postgres服务器:

    launchctl unload~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

  2. 初始化新的10.1数据库:

    initdb/usr/local/var/postgres10.1-E utf8

  3. 运行pg_upgrade(注意:如果您是从以下内容以外的内容升级,请更改bin版本)

    pg\u升级-v\
    -d/usr/local/var/postgres\
    -D/usr/local/var/postgres10.1\
    -b/usr/local/ceral/postgresql/9.6.5/bin/\
    -B/usr/local/ceral/postgresql/10.1/bin/
    

    -v启用详细的内部日志记录

    -d旧数据库群集配置目录

    -D新数据库群集配置目录

    -b旧的PostgreSQL可执行目录

    -B新的PostgreSQL可执行目录

  4. 将新数据移动到位:

    cd/usr/local/var
    mv postgres postgres 9.6
    mv博士后10.1博士后
    
  5. 重新启动Postgres:

    launchctl load~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

  6. 检查/usr/local/var/postgres/server.log以了解详细信息,并确保新服务器正确启动

  7. 最后,重新安装railspggem

    gem卸载pg
    gem安装页面
    

我建议您花些时间阅读PostgreSQL文档,以准确了解在上述步骤中您在做什么,从而最大限度地减少挫折感

发表评论