【问题标题】:default Postgres is 14, database files are at v12默认 Postgres 为 14,数据库文件为 v12
【发布时间】:2021-10-15 15:51:23
【问题描述】:

我的默认 Postgres(通过 brew 安装)是 v14,我无法启动它,因为文件是版本 12:

DETAIL: The data directory was initialized by PostgreSQL version 12, which is not compatible with this version 14.0.

我无法升级文件:

==> Moving postgresql data back from /usr/local/var/postgres.old to /usr/local/var/postgres...
Error: Failure while executing; `/usr/local/opt/postgresql/bin/initdb --lc-collate=C --lc-ctype=C --lc-messages=C --lc-monetary=C --lc-numeric=C --lc-time=C -E\ UTF8 /usr/local/var/postgres` exited with 1.

我做brew服务的时候也会出现这个错误:

postgresql error /usr/local/opt/postgresql/homebrew.mxcl.postgresql.plist

我安装了 @12 版本,但是当我打开它时,我在默认安装中看不到数据库。

解决这个问题的最佳途径是什么?

【问题讨论】:

  • 您是否尝试过在版本 12 上执行 pgdump_all 并稍后恢复到版本 14?
  • @JoseCabreraZuniga - 即使我的默认安装没有运行,pgdump_all 也不会工作?
  • 您可能需要配置您的 postgres 12 以使用数据库文件所在的文件夹,然后重试。除此之外......我没有选择。
  • @JoseCabreraZuniga 你知道我在 OSX 上放了什么路径吗?我只输入 /usr/local/var/postgres 吗?
  • 希望这个链接可以帮助到你:stackoverflow.com/questions/1137060/…

标签: postgresql homebrew


【解决方案1】:

在您的 postgres 12 上,将您需要的数据所在的文件夹(或此文件夹的副本)设置为 postgres 12 的工作文件夹。在此版本上执行 pgdump,然后在 postgres 14 上执行 pg_restore。

使用下一个链接来识别工作文件夹:

Where does PostgreSQL store the database?

【讨论】:

    猜你喜欢
    • 2017-01-10
    • 2011-01-23
    • 2019-03-30
    • 2021-04-19
    • 2013-07-02
    • 2011-07-16
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多