postgresql - 如何通过 Amazon EC2 将 postgresql 数据移动到 Ubuntu 上的另一个目录?

标签 postgresql ubuntu permissions amazon-ec2

我们已经运行 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/

相关文章:

ruby-on-rails - 无法在 Ubuntu 15.04 上安装 Ruby 2.2.3

ubuntu - Nginx logrotate 无法在亚马逊服务器上运行

bash - 拒绝 sudo 用户访问特定文件夹

PHP 无法使用 mkdir 创建目录

java - PostgreSQL 创建 jdbc_fdw 扩展失败

postgresql - 获取 Postgres 数据库的编码

postgresql - 将日期时间约束添加到 PostgreSQL 多列部分索引

java - 如何使用 JSONB PostgreSQL 通过 JSON 插入列?

css - JavaFX - 无法在 Linux 中加载 CSS

permissions - Samba(无法写入)问题