Khôi phục PITR PostgreSQL


9

Tôi có máy chủ PostgreSQL 9.1 chạy trên HĐH CentOS 5.8 32 bit và tôi đã bật lưu trữ WAL. Trên máy chủ này, có ba cơ sở dữ liệu: cơ sở dữ liệuA, cơ sở dữ liệu và cơ sở dữ liệu. Ai đó xóa một bảng vào lúc 12 giờ đêm trên cơ sở dữ liệuB và tôi muốn khôi phục cơ sở dữ liệuB ngay trước thời điểm bảng bị xóa. Bây giờ là 3 giờ chiều.

Làm cách nào tôi có thể khôi phục cơ sở dữ liệuB đến 12 giờ đêm mà không mất dữ liệu trong ba giờ trong hai cơ sở dữ liệu khác?

postgresql.conf

wal_level = archive             
archive_mode = on               
archive_command = 'test ! -f /opt/pgsql/logs/%f && cp %p /opt/pgsql/logs/%f'
max_wal_senders = 100

recovery.conf

restore_command = 'cp /opt/pgsql/logs/%f %p'
recovery_target_time = '2012-06-29 11:59:59 CEST'

Tôi đã chạy bản sao lưu cơ sở của mình lúc 9 giờ sáng

pg_basebackup -h 127.0.0.1 -D /opt/pgsql/backup

Dịch vụ PostgreSQL đã ngừng hoạt động lúc 3 giờ chiều.

Câu trả lời:


6

Tôi sẽ thực hiện khôi phục thời gian đến một vị trí khác, khôi phục lại thời gian mong muốn và pg_dump cơ sở dữ liệu vấn đề. Tôi sẽ thả một cơ sở dữ liệu vào vị trí bình thường, tạo lại nó và tải đầu ra pg_dump.

Hãy chắc chắn rằng bạn tạo và lưu một bản sao cấp độ hệ thống tệp của cây thư mục dữ liệu của cụm trước khi bạn bắt đầu bất cứ thứ gì như thế này.


Cảm ơn bạn, +1 cho câu trả lời. Bạn có thể vui lòng thêm các bước cần thiết để khôi phục đến một vị trí khác và sau đó khôi phục bằng pg_restore không? Với câu trả lời của bạn, tôi đang nghĩ đến việc sử dụng vị trí sao lưu cơ sở thực tế để thực hiện PITR.
Craig Efrein

0

Để mở rộng câu trả lời của kgrittn, bạn cũng chỉ có thể thực hiện một pg_dumpbảng duy nhất đã bị hủy và xây dựng lại trong cơ sở dữ liệu hiện có, do đó bạn không cần mất 6 giờ dữ liệu trong các bảng khác.


cảm ơn câu trả lời của bạn, nhưng tất cả các ràng buộc và mối quan hệ khác nhau giữa các bảng sẽ khiến tôi không thể khôi phục chỉ một.
Craig Efrein
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.