Chúng tôi đã chạy postgresql 8.4 trong một thời gian. Như với bất kỳ cơ sở dữ liệu nào, chúng tôi đang dần đạt đến ngưỡng của chúng tôi cho không gian. Tôi thêm một ổ 8 GB EBS và gắn nó để dụ chúng tôi và cấu hình nó để làm việc đúng trên một thư mục có tên là/fileLàm cách nào để di chuyển dữ liệu postgresql sang một thư mục khác trên Ubuntu trên Amazon EC2?
Trong vòng/tác phẩm, tôi tự tạo ra
Đúng tôi nếu tôi sai, nhưng tôi tin rằng tất cả dữ liệu postgresql được lưu trữ trong /var/lib/postgresql/8.4/main
Tôi đã sao lưu cơ sở dữ liệu và chạy sudo /etc/init.d/postgresql. Điều này dừng máy chủ postgresql. Tôi đã cố gắng sao chép và dán nội dung của /var/lib/postgresql/8.4/main vào thư mục/files nhưng hóa ra lại là một MESS HUGE! do quyền truy cập tệp. Tôi phải đi vào và chmod nội dung của thư mục đó để tôi có thể sao chép và dán chúng. Một số tệp không sao chép hoàn toàn do quyền root. Tôi đã sửa đổi các tham số data_directory trong postgresql.conf để trỏ đến các tập tin thư mục
data_directory = '/files/postgresql/main'
và tôi chạy sudo /etc/init.d/postgresql khởi động lại và máy chủ thất bại trong việc bắt đầu. Một lần nữa có thể do các vấn đề về quyền. Amazon EC2 chỉ cho phép bạn truy cập dịch vụ dưới dạng ubuntu theo mặc định. Bạn chỉ có thể truy cập root từ bên trong terminal mà làm cho mọi thứ phức tạp hơn nhiều.
Có bước nào sạch hơn và hiệu quả hơn bằng cách thực hiện bước này không?
Xin chào, bạn có thể giải thích ý bạn bằng cách "di chuyển datadir cũ sang một bên" không? bạn có nghĩa là, chỉ cần loại bỏ nó hoặc sao chép nó vào một số thư mục sao lưu? và: bạn có nghĩa là thư mục dữ liệu nào? toàn bộ thư mục được trả về bởi 'show data_directory;'? –
Đổi tên nó, vì vậy bạn không mất bất cứ điều gì nếu nó chỉ ra nó là quan trọng sau khi tất cả. –
Các ý tưởng symlinlk không phải là xấu nhưng không hoàn hảo bởi vì nó đòi hỏi bạn phải giữ xung quanh vị trí datadir cũ. – yglodt