![如何将表空间移动到另一个目录?](https://linux22.com/image/598429/%E5%A6%82%E4%BD%95%E5%B0%86%E8%A1%A8%E7%A9%BA%E9%97%B4%E7%A7%BB%E5%8A%A8%E5%88%B0%E5%8F%A6%E4%B8%80%E4%B8%AA%E7%9B%AE%E5%BD%95%EF%BC%9F.png)
假设我的表空间A
位于目录中/A1
,并且我想将其(所有内容)移动到目录中/A2
?
我使用 openSUSE + PostgreSQL 9.1,如果这能简化任何事情的话——我可以毫无问题地停止它(整个服务器)。请注意,我询问的是整个表空间,而表空间已经包含数据!
答案1
摘录自文档应该让你开始:
目录 $PGDATA/pg_tblspc 包含指向集群中定义的每个非内置表空间的符号链接。虽然不建议这样做,但可以通过重新定义这些链接来手动调整表空间布局。两个警告:不要在服务器运行时这样做;重新启动服务器后,使用新位置更新 pg_tablespace 目录。(如果不这样做,pg_dump 将继续输出旧的表空间位置。)