我正在尝试使用以下方式从 9.6.2 升级到 10.5pg_upgrade
我的升级命令(来自 OpenBSD pkg-readme):
su _postgresql -c "cd /var/postgresql && \
pg_upgrade --link -b /usr/local/bin/postgresql-9.6/ -B /usr/local/bin \
-U postgres -d /var/postgresql/data-9.6/ -D /var/postgresql/data"
导致以下错误
CREATE TABLESPACE "mydb" OWNER "mydb" LOCATION '/path/to/postgresql/mydb'; psql:pg_upgrade_dump_globals.sql:87: ERROR: directory "/path/to/postgresql/mydb/PG_10_201707211" already in use as a tablespace
我之所以使用--link
,是因为上面提到的表空间在其分区上使用了 1.8TB 可用空间中的 1.5TB。所以我不认为我有磁盘空间来做 pg_upgrade 没有--link
如果有帮助,我在其他分区上有磁盘空间。
编辑
在我遇到这个错误之前,我在pg_upgrade
没有标志的情况下运行了命令--link
,但是当我意识到磁盘空间不足时就把它杀死了。之后我重新运行initdb
上面的 pg_upgrade 命令。
现在我再次运行 9.6,但我的表空间位置有两个目录:
[root@host:~]$ls /path/to/postgresql/mydb/
PG_10_201707211 PG_9.6_201608131
我可以安全地将 PG_10_201707211 重命名为 PG_9.6_201707211 并再次尝试升级吗?
“PG_10_201707211”必须是您在没有 --link 标志的情况下尝试运行 pg_upgrade 时失败的遗留目录。您可以删除它,或者出于谨慎考虑将其移动到您的其他分区之一。以您描述的方式重命名它不会有太大成就,如果您将来遇到更多需要更多调查的问题,将会非常混乱。