postgresql - brew postgresql-upgrade-database 的 initb 失败
问题描述
我正在使用brew postgresql-upgrade-database
将 postgresql 从 11.8 升级到 12 并迁移数据。该过程失败,输出如下
Upgrading postgresql data from 11 to 12...
停止postgresql@11
...(可能需要一段时间)==> 成功停止postgresql@11
(标签:homebrew.mxcl.postgresql@11)等待服务器关闭....完成服务器停止==> 从 /usr/local 移动 postgresql 数据/var/postgres 到 /usr/local/var/postgres.old... ==> 创建数据库... 错误:将 postgresql 数据从 11 升级到 12 失败!==> 将 postgresql 数据从 /usr/local/var/postgres.old 移回 /usr/local/var/postgres... 错误:执行时失败;/usr/local/Cellar/postgresql/12.4/bin/initdb --lc-collate=en_US.UTF-8 --lc-ctype=en_US.UTF-8 --lc-messages=en_US.UTF-8 --lc-monetary=en_US.UTF-8 --lc-numeric=en_US.UTF-8 --lc-time=en_US.UTF-8 -E\ UTF8 /usr/local/var/postgres
以 1 退出。
我该如何解决?
解决方案
使用有问题brew postgresql-upgrade-database
。问题解决后,我将更新此答案。
截至 2021 年 7 月 21 日,此问题仍未解决。我的解决方法如下:
*** 警告*** 这将清除您的数据库,因此必须重新加载或重新初始化它们。
brew uninstall --force postgresql
brew install postgresql@12
cd /usr/local/var/
rm -rf postgres
initdb /usr/local/var/postgres
推荐阅读
- python - 计算两个相邻城市之间的距离
- opencv - OpenCV 4.0:类“cv::FastFeatureDetector”没有成员“DetectorType”
- javascript - setInterval 计数器问题
- sql - Notepad ++替换整个字符串,但其中的整数除外
- python - 将“for循环”更改为“while循环”
- python - python子进程不工作。它没有取代可变输出
- python-2.7 - 如何从同一应用项目中的 python2.7 微服务访问谷歌应用引擎 ndb 数据存储
- pyspark - 使用自定义分区器在 Pyspark 中对数据框进行分区
- swift - UIStackView 未按预期显示
- java - 将数据添加到微调器