我们已经运行 postgresql 8.4 很长一段时间了。与任何数据库一样,我们正在慢慢达到我们的空间阈值。我添加了另一个 8 GB EBS 驱动器并将其安装到我们的实例并将其配置为在名为/files 的目录中正常工作
在/files 中,我手动创建了
如果我错了请纠正我,但我相信所有 postgresql 数据都存储在/var/lib/postgresql/8.4/main
我备份了数据库并运行了 sudo/etc/init.d/postgresql stop。这将停止 postgresql 服务器。我试图将/var/lib/postgresql/8.4/main 的内容复制并粘贴到/files 目录中,但结果是一团糟!由于文件权限。我必须进去修改那个文件夹的内容,这样我才能复制和粘贴它们。由于 root 权限,一些文件没有完全复制。我修改了postgresql.conf中的data_directory参数指向文件目录
data_directory = '/files/postgresql/main'
我运行了 sudo/etc/init.d/postgresql restart 并且服务器无法启动。再次可能是由于权限问题。默认情况下,Amazon EC2 仅允许您以 ubuntu 身份访问该服务。您只能从终端内访问 root,这使一切变得更加复杂。
是否有更清洁、更高效的分步方法?
最佳答案
停止服务器。
在保留权限的同时复制数据目录 - 使用 cp -aRv
。
然后(最简单,因为它避免了修改初始化脚本的需要)只需将旧数据目录移到一边并将旧路径符号链接(symbolic link)到新位置。
关于postgresql - 如何通过 Amazon EC2 将 postgresql 数据移动到 Ubuntu 上的另一个目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16678872/