1. Never stop improving quality
PostgreSQL & Enterprise-Level
Database Features
Larion_Internship_03
www.elarion.com
2. Member List
Group 3
● Lâm Quốc Thuận An
● Lê Văn Tình
● Trần Minh Quân
● Trần Văn Thảo
● Đặng Huỳnh Chí Dụng
PostgreSQL & Enterprise-Level Database Features 2
4. PITR
● PITR is Point-In-Time Recovery
Những tập tin giao tác (transaction logs) trên master
server được lưu lại và sao chép đến standby server
Khi cần standby server thực khi các tập tin giao tác
đó để trở về trạng thái được chỉ định nào đó.
PITR đã có từ phiên bản 8.0. H
PostgreSQL & Enterprise-Level Database Features 4
5. Warm Standby
● Warm Standby
Những tập tin giao tác được sao chép từ master
server đến standby server và thực khi ngay lập tức
Standby server thì ở trạng thái offline nên không thể
truy vấn dữ liệu từ đây. Điều này cho phép Standby
được bật lên một cách nhanh chóng
Có từ phiên bản 8.3
PostgreSQL & Enterprise-Level Database Features 5
6. Hot Standby
● Hot Standby giống với Warm Standby
Standby server có thể dùng để truy vấn nhưng chỉ
trạng thái chỉ đọc
Có đầy đủ ưu điểm của Warm Standby
Có thể dùng để cân bằng tải
PostgreSQL & Enterprise-Level Database Features 6
7. Streaming Replication
● Streaming Replication cải thiện từ Warm
Standby và Hot Standby
Có một kết nối giữa Master và Standby database
Master và Standby server có một tiến trình đặc biệt
là walsender và walreceiver dùng để truyền dữ liệu
giữa hai server.
Càng nhiều standby server thì càng tăng tải trên
master server
Tuy nhiên tải trọng khá thấp nên một Master server
có thể có nhiều standby server.
PostgreSQL & Enterprise-Level Database Features 7
8. Streaming Replication
● Streaming Replication cải thiện từ Warm
Standby và Hot Standby
Có một kết nối giữa Master và Standby database
Master và Standby server có một tiến trình đặc biệt
là walsender và walreceiver dùng để truyền dữ liệu
giữa hai server.
Càng nhiều standby server thì càng tăng tải trên
master server
Tuy nhiên tải trọng khá thấp nên một Master server
có thể có nhiều standby server.
PostgreSQL & Enterprise-Level Database Features 8
9. Streaming Replication
● Có từ phiên bản 9.0
Yêu cầu master server và phải standby server phải
cùng hệ điều hành
Cùng phiên bản
Luôn luôn replicate toàn bộ database trên master
server
PostgreSQL & Enterprise-Level Database Features 9
11. Slony-I
● Phần mở rộng, phát triển độc lập với
PostgreSQL
Hỗ trợ Replicaiton
Master và Standby có thể khác phiên bản
Standby có thể thêm bảng mà không ảnh hưởng đến
master
Có thể phân quyền khác nhau trên mỗi table
Có thể từ A → replication → B và B → C và D
PostgreSQL & Enterprise-Level Database Features 11
12. pgAgent
● Công cụ dùng để lên lịch backup, thực hiện lệnh
● Phiên bản mới nhất 3.0
● Các khái niệm
Job: một công việc
✔ Schedules: thiết lập thời gian thực hiện
✔ Step: một lệnh hoặc một bó lệnh
PostgreSQL & Enterprise-Level Database Features 12
14. Demo Slony-i
● Máy Master server
Tạo file có nội dung như sau
cluster name = slony_empresa;
node 1 admin conninfo = 'dbname =EMPRESA
host=192.168.10.115 user=postgres password=1qazxsw2';
node 2 admin conninfo = 'dbname =EMPRESA
host=192.168.10.130 user=postgres password=1qazxsw2';
init cluster (id=1,comment ='nodo maestro');
set add table (set id=1, origin=1, id=1, fully qualified name
='public.empleado', comment='table empleado');
PostgreSQL & Enterprise-Level Database Features 14
15. Demo Slony-i
store node (id=2, comment='node esclavo', EVENT NODE =1);
store path(server=1, client=2, conninfo='dbname =EMPRESA
host=192.168.10.115 user=postgres password=1qazxsw2');
store path(server=2, client=1, conninfo='dbname =EMPRESA
host=192.168.10.130 user=postgres password=1qazxsw2');
store listen(origin =1, provider=1, receiver=2);
store listen(origin =2, provider=2, receiver=1);
PostgreSQL & Enterprise-Level Database Features 15
16. Demo Slony-i
● Phía Slave server
cluster name = slony_empresa;
node 1 admin conninfo='dbname=EMPRESA host=192.168.10.115
user=postgres password =1qazxsw2';
node 2 admin conninfo='dbname=EMPRESA
host=192.168.10.130 user=postgres password =1qazxsw2';
subscribe set (id=1,provider=1,receiver=2,forward=yes);
PostgreSQL & Enterprise-Level Database Features 16
17. Demo Slony-i
● Áp dụng cấu hình vừa tạo
Phía Master server
● Bin$> slonik master.txt
Phía Slave server
● Bin$> slonik slave.txt
PostgreSQL & Enterprise-Level Database Features 17
18. Demo Slony-i
● Khởi chạy dịch vụ Slony-i
Phía Master server
● Bin$>slon slony_empresa “dbname=EMPRESA
user=postgres password=1qazxsw2”
Phía Slave server
● Bin$>slon slony_empresa “dbanem=EMPRESA
user=postgres password=1qazxsw2”
● Xem video
PostgreSQL & Enterprise-Level Database Features 18