Migration

pg_upgrade 和表空間(postgres 9.2 到 9.3)

  • August 24, 2014

我安裝了 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 數據目錄之外的位置。

引用自:https://dba.stackexchange.com/questions/74761