Mục lục

1. pg_dump là gì?

pg_dump là một công cụ dùng để backup , hay export import dữ liệu trong PostgreSQL database. Đây là 1 công cụ bạn sẽ chạy ở trên hệ điều hành, chứ không phải câu lệnh SQL.

Bản backup database của pg_dump là một bản backup nhất quán (consistent backup), có nghĩa nó là dữ liệu của database tại thời điểm chạy câu lệnh pg_dump.

Để hiểu rõ hơn về consistent backup, mời bạn xem bài viết sau:

Đọc thêm  Các thuật ngữ thường dùng trong chiến lược backup database
.

Trên thực tế, những bản backup kiểu này, anh em DBA hay gọi là bản dump hay bản export. Nó để chỉ 1 kiểu backup thôi. Như vậy, từ giờ trở đi, tôi sử dụng từ export hay dump thì các bạn hiểu đó là bản backup bằng pg_dump nhé.

2. Cách sử dụng pg_dump

Mẫu cú pháp của pg_dump như sau:

pg_dump [connection-option…] [option…] [dbname]

Trong đó:

  • connection-option: Là các tham số để kết nối đến database
  • option: Là các tùy chọn bạn muốn sử dụng với bản backup (VD: loại file là SQL hay archive file).
  • dbname: Là tên database cần backup.

3. Thực hành Export dữ liệu sử dụng pg_dump

Giả sử bây giờ tôi có 1 database có tên là test. Tôi muốn export dữ liệu trong database đó ra.

1. Export database trên localhost

pg_dump test > test.sql

Kết quả, tôi sẽ được 1 file SQL bao gồm các câu lệnh để khôi phục lại database test. Dưới đây là một phần nội dung của file:

pg_dump export

 

2. Export dữ liệu database từ một server khác

Bạn có thể dùng pg_dump để export dữ liệu một database từ một server khác. Chú ý: Bạn cần cấu hình để pg_dump có thể kết nối đến server đó được, tham khảo cách làm trong bài viết:

Đọc thêm  Cấu hình để kết nối với PostgreSQL từ bên ngoài
Đọc thêm  Cấu hình kết nối trong PostgreSQL với pg_hba.conf
pg_dump -h 172.17.0.1 -p 5432 -U postgres test> test.sql

Trong đó:

  • -h: Chỉ ra IP của server chứa PostgreSQL
  • -p: Chỉ ra port mà PostgreSQL sử dụng.
  • -u: Chỉ ra user sử dụng để kết nối đến PostgreSQL

3. Export dữ liệu theo định dang tar file

pg_dump -Ft test > test.tar

4. Thực hành Import dữ liệu

Với file export ra dưới định dạng SQL, bạn có thể dùng các công cụ như psql, pgadmin, DBeaver để đọc file và restore dữ liệu.

Đầu tiên bạn phải tạo database đích trước (nếu chưa có)

create database test;

Sau đó, dùng psql để import bằng cách gọi đến file test.sql

psql -d test -f test.sql > import_test.log

Chú ý:

  • Option -d để chỉ database đích cần import vào
  • Mệnh đề: > import_test.log để ghi thông tin quá trình import ra 1 file log. Trong tình huống có lỗi phát sinh, chúng ta có thể xem lại trong file import_test.log đó.

Như vậy là tôi đã hướng dẫn các bạn xong cách Export Import dữ liệu cơ bản bằng pg_dump trong PostgreSQL. Chúc các bạn thành công và hẹn gặp lại ở bài kế tiếp.

Nguồn: https://dangxuanduy.com/

Hiện tại, tôi có tổ chức đều đặn các khóa học về quản trị Oracle Database, tôi sẽ để thông tin ở đây, để bạn nào quan tâm về lịch học cũng như chương trình học có thể theo dõi nhé.

KHOÁ DÀNH CHO NGƯỜI MỚI

KHÓA HỌC: QUẢN TRỊ ORACLE DATABASE THẬT LÀ ĐƠN GIẢN (ADMIN 1)

CÁC KHOÁ NÂNG CAO:

KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ KIẾN TRÚC MULTITENANT 12c

KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ HỆ THỐNG DATA GUARD

CÁC KHOÁ COMBO:

COMBO 1: ADMIN 1 + MULTITENANT 12c

COMBO 2: ADMIN 1 + DATA GUARD

COMBO 3: ADMIN 1 + MULTITENANT 12c + DATA GUARD

LỊCH HỌC:

Mời bạn xem tại đây: LỊCH HỌC CÁC LỚP ORACLE 

ĐĂNG KÝ:

https://forms.gle/MtCAoRQFenP886y79

Hãy tham gia group “Kho tài liệu kiến thức database” để cùng học hỏi và chia sẻ nhé.

0 0 đánh giá
Article Rating
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
0
Rất thích suy nghĩ của bạn, hãy bình luận.x