NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
13/04/2023
Lượt xem

Cách đổi vị trí thư mục PostgreSQL trên Ubuntu 20.04

13/04/2023
7 phút đọc
Lượt xem

Đánh giá

5/5 - (177 bình chọn)

PostgreSQL là một trong những hệ thống quản lý cơ sở dữ liệu phổ biến nhất hiện nay. Bài viết này của Vietnix sẽ hướng dẫn chi tiết cách đổi vị trí thư mục PostgreSQL trên Ubuntu 20.04, bởi vì các cơ sở dữ liệu mà chúng ta quản lý có thể tăng rất nhanh về mặt kích thước theo thời gian. Đôi khi ta cần tăng thêm dung lượng, bổ sung tính năng, thử nghiệm các phương pháp tối ưu, giảm thiểu tranh chấp các thao tác I/O,… khi đó chuyển đổi vị trí của cơ sở dữ liệu là một việc làm cần thiết.

Yêu cầu để chuẩn bị cách đổi vị trí thư mục PostgreSQL trên Ubuntu 20.04

Trước tiên bạn đọc cần có server chạy Ubuntu 20.04, user non-root với quyền sudo. Đồng thời PostgreSQL cũng cần được cài đặt sẵn trên server.

Yêu cầu để chuẩn bị cách đổi vị trí thư mục PostgreSQL trên Ubuntu 20.04
Yêu cầu để chuẩn bị cách đổi vị trí thư mục PostgreSQL trên Ubuntu 20.04

Trong hướng dẫn này, Vietnix sẽ chuyển dữ liệu đến một thiết bị lưu trữ block ở vị trí /mnt/volume_nyc01. Các bộ nhớ hay thiết bị lưu trữ khác cũng có thể thực hiện các bước tương tự.

Vietnix hiện đang cung cấp các gói dịch vụ VPS tốc độ cao với chi phí hợp lý, cấu hình đa dạng, cho phép bạn dễ dàng chạy hệ điều hành Ubuntu và cài đặt PostgreSQL mà không giới hạn quyền. Hãy liên hệ với đội ngũ Vietnix để được tư vấn lựa chọn gói dịch vụ phù hợp cho nhu cầu của bạn.

Cách đổi vị trí thư mục PostgreSQL trên Ubuntu

Bước 1: Chuyển thư mục dữ liệu của PostgreSQL

Trước khi bắt đầu, hãy khởi động một phiên PostgreSQL để tương tác bằng lệnh postgres psql với quyền sudo:

sudo -u postgres psql

Sau đó dùng lệnh sau để kiểm tra vị trí thư mục dữ liệu:

SHOW data_directory;

Output:

Output
       data_directory
-----------------------------
 /var/lib/postgresql/12/main
(1 row)

Từ đó ta có thể thấy PostgreSQL được cấu hình sử dụng thư mục dữ liệu mặc định (/var/lib/postgresql/12/main), đây cũng chính là thư mục mà ta cần di chuyển. Bây giờ đóng cửa sổ prompt lại bằng lệnh \q:

\q

Dừng dịch vụ PostgreSQL trước khi thực hiện bất kỳ thay đổi nào trên thư mục dữ liệu để đảm bảo dữ liệu không bị ảnh hưởng:

sudo systemctl stop postgresql

Để kiểm tra xem dịch vụ đã được dừng hẳn chưa, chạy lệnh sau:

sudo systemctl status postgresql

Nếu output hiển thị trạng thái của PostgreSQL là inactive (dead) thì ta có thể tiếp tục đến với các bước tiếp theo:

Output
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor pr>
Active: inactive (dead) since Thu 2022-06-30 16:55:53 UTC; 12s ago
Process: 13058 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 13058 (code=exited, status=0/SUCCESS)

Bây giờ, copy thư mục database hiện tại sang vị trí mới bằng lệnh rsync với flag -a để bảo toàn các quyền và thuộc tính của thư mục, flag -v cho phép hiển thị tiến độ khi thực hiện lệnh. Ta sẽ chạy lệnh rsync từ thư mục postgresql để vị trí mới có cấu trúc thư mục giống với thư mục gốc. Khi đó, các quyền sở hữu của user sẽ được giữ lại, giúp tránh rắc rối khi truy cập sau này.

Lưu ý: Tên thư mục không được có dấu gạch chéo (/) ở cuối, nếu không lệnh rsync sẽ thực hiện thao tác trên mọi nội dung có trong thư mục, thay vì copy chính thư mục đó.

Bên cạnh đó, ta không cần phải chỉ định phiên bản thư mục (12) vì nó đã được định nghĩa trong file postgresql.conf.

sudo rsync -av /var/lib/postgresql /mnt/volume_nyc1_01

Sau khi copy xong, đổi tên thư mục hiện tại thành định dạng .bak, giữ lại cho đến khi quá trình di chuyển thư mục PostgreSQL trên Ubuntu 20.04 hoàn tất.

Chạy lệnh sau để di chuyển:

sudo mv /var/lib/postgresql/12/main /var/lib/postgresql/12/main.bak

Sau khi hoàn tất, ta sẽ cấu hình để cho phép PostgreSQL truy cập thư mục dữ liệu ở vị trí mới.

Bước 2: Trỏ đến vị trí thư mục mới

Theo mặc định, directive cấu hình data_directory được thiết lập trong /var/lib/postgresql/12/main, của file /etc/postgresql/12/main/postgresql.conf. Bây giờ hãy mở file để edit:

sudo nano /etc/postgresql/12/main/postgresql.conf

Tìm dòng bắt đầu bằng data_directory rồi đổi đường dẫn đến vị trí mới:

. . .
data_directory = '/mnt/volume_nyc1_01/postgresql/12/main'
. . .

Sau đó lưu rồi đóng file lại để hoàn tất. Ở bước cuối cùng, ta sẽ thử khởi động lại dịch vụ PostgreSQL để kiểm tra kết quả.

Bước 3: Restart PostgreSQL

Khởi động lại PostgreSQL bằng lệnh systemctl:

sudo systemctl start postgresql

Kiểm tra trạng thái để xem PostgreSQL đang chạy chưa:

sudo systemctl status postgresql

Nếu output hiển thị active (exited) thì dịch vụ đã khởi động thành công:

Output● postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor pr>
     Active: <mark>active (exited) since Thu 2022-06-30 16:58:17 UTC; 2s ago</mark>
    Process: 13143 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
   Main PID: 13143 (code=exited, status=0/SUCCESS)

Mở command prompt của PostgreSQL:

sudo -u postgres psql

Kiểm tra giá trị của thư mục:

SHOW data_directory;

Output:

Output
            data_directory
-----------------------------------------
/mnt/volume_nyc1_01/postgresql/12/main
(1 row)

Với output như trên, có thể thấy rằng thư mục dữ liệu đã được chuyển sang vị trí mới thành công. Cuối cùng, hãy đảm bảo rằng ta đã có quyền truy cập và tương tác với database. Sau khi xác nhận quá trình không có lỗi gì, ta có thể xóa thư mục backup đã tạo trước đó:

sudo rm -Rf /var/lib/postgresql/12/main.bak

Ngoài ra, bạn cũng có thể tìm hiểu cách cài đặt R trên Ubuntu 20.04, ngôn ngữ lập trình và môi trường tính toán thống kê phổ biến, trên hệ điều hành Ubuntu 20.04. Cũng như cách sử dụng PostgreSQL với ứng dụng Django trên Ubuntu 20.04 để có thể bổ sung thêm tùy chọn kiến thức cho bản thân.

Lời kết

Hy vọng rằng bài viết về cách đổi vị trí thư mục PostgreSQL trên Ubuntu 20.04 đã cung cấp cho bạn những hướng dẫn chi tiết và dễ hiểu để thực hiện thay đổi này một cách thành công. Việc tối ưu hóa vị trí lưu trữ dữ liệu của PostgreSQL có thể giúp nâng cao hiệu suất của hệ thống cơ sở dữ liệu của bạn trên Ubuntu 20.04.. Nếu có bất kỳ thắc mắc nào khác, hãy để lại ở phần comment bên dưới để được Vietnix hỗ trợ nhanh nhất nhé.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG