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:
.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:
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:
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 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é.