小编典典

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

all

我将 PostgreSQL 数据库用于我的 Ruby on Rails 应用程序(在 Mac OS X 10.9 上)。

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

恐怕我会破坏数据库中的数据或将其弄乱。


阅读 65

收藏
2022-06-09

共1个答案

小编典典

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

  1. 停止当前 Postgres 服务器:

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

  1. 初始化一个新的 10.1 数据库:

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

  1. 运行pg_upgrade (注意:如果您要从以下内容进行升级,请更改 bin 版本)
    pg_upgrade -v \
    -d /usr/local/var/postgres \
    -D /usr/local/var/postgres10.1 \
    -b /usr/local/Cellar/postgresql/9.6.5/bin/ \
    -B /usr/local/Cellar/postgresql/10.1/bin/
    

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

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

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

-b旧的 PostgreSQL 可执行目录

-B新的 PostgreSQL 可执行目录

  1. 将新数据移动到位:

    cd /usr/local/var
    

    mv postgres postgres9.6
    mv postgres10.1 postgres

  2. 重启 Postgres:

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

  1. 检查/usr/local/var/postgres/server.log详细信息并确保新服务器正确启动。

  2. 最后,重新安装 rails pggem

    gem uninstall pg
    

    gem install pg

我建议您花一些时间阅读PostgreSQL
文档
,以准确了解您在上述步骤中所做的工作,以最大程度地减少挫败感。

2022-06-09