我安装了 9.2,其表空间位于:
/var/lib/postgresql/9.2/main
和
/opt/postgres/9.2/second
不幸的是,它们位于不同的文件系统上。
这是 9.2 的 Debian 软件包安装。9.3 将从源代码编译。由于我看到的每个示例都没有显示如何处理第二个和第三个表空间,所以有人有正确的命令行吗?是否pg_upgrade
采取多个-d
和-D
选项?
目的是让数据保留在相同的文件系统上并使用链接模式。
我安装了 9.2,其表空间位于:
/var/lib/postgresql/9.2/main
和
/opt/postgres/9.2/second
不幸的是,它们位于不同的文件系统上。
这是 9.2 的 Debian 软件包安装。9.3 将从源代码编译。由于我看到的每个示例都没有显示如何处理第二个和第三个表空间,所以有人有正确的命令行吗?是否pg_upgrade
采取多个-d
和-D
选项?
目的是让数据保留在相同的文件系统上并使用链接模式。
PostgreSQL 在每个表空间中创建以 PostgreSQL 版本命名的子目录。
pg_upgrade
因此,不需要告诉AFAIK对表空间采取特殊措施。它将使用与原始数据库相同的表空间,但不会因为在表空间根目录中使用不同的子目录而发生冲突。需要注意的是,如果您的 9.2 数据目录中有表空间,这将不起作用。你一开始就不应该这样做。在进行升级之前,将表空间移动到 9.2 数据目录之外的位置。