Phần này thảo luận về cách nâng cấp dữ liệu cơ sở dữ liệu của bạn từ kèo bóng đá c1PostgreSQLphát hành cho cái mới hơn.
hiện tạiPostgreSQLSố phiên bản bao gồm kèo bóng đá c1 số phiên bản chính và nhỏ. Ví dụ: trong phiên bản số 10.1, 10 là số phiên bản chính và 1 là số phiên bản nhỏ, có nghĩa là đây sẽ là bản phát hành nhỏ đầu tiên của bản phát hành chính 10. Đối với các bản phát hành trướcPostgreSQLPhiên kèo bóng đá c1 10.0, số phiên kèo bóng đá c1 bao gồm ba số, ví dụ, 9.5.3. Trong những trường hợp đó, phiên kèo bóng đá c1 chính bao gồm hai nhóm chữ số đầu tiên của số phiên kèo bóng đá c1, ví dụ: 9.5 và phiên kèo bóng đá c1 nhỏ là số thứ ba, ví dụ: 3, có nghĩa là đây sẽ là kèo bóng đá c1 phát hành nhỏ thứ ba của kèo bóng đá c1 phát hành chính 9.5.
Các bản phát hành nhỏ không bao giờ thay đổi định dạng lưu trữ nội bộ và luôn tương thích với các bản phát hành nhỏ trước đó và sau đó của cùng kèo bóng đá c1 số phiên bản chính. Ví dụ: phiên bản 10.1 tương thích với phiên bản 10.0 và phiên bản 10.6.
choMajorPhát hànhPostgreSQL, Định dạng lưu trữ dữ liệu nội bộ có thể thay đổi, do đó làm phức tạp các nâng cấp. Phương pháp truyền thống để di chuyển dữ liệu sang kèo bóng đá c1 phiên bản chính mới là kết xuất và khôi phục cơ sở dữ liệu, mặc dù điều này có thể chậm.pg_upgrade. Phương pháp nhân rộng cũng có sẵn, như được thảo luận dưới đây.PostgreSQL, Nó có thể cung kèo bóng đá c1 các tập lệnh để hỗ trợ nâng kèo bóng đá c1 phiên bản chính. Tham khảo tài liệu kèo bóng đá c1 gói để biết chi tiết.)
Các phiên bản chính mới cũng thường giới thiệu kèo bóng đá c1 số khả năng không tương thích có thể nhìn thấy người dùng, do đó, các thay đổi lập trình ứng dụng có thể được yêu cầu. Tất cả các thay đổi có thể nhìn thấy người dùng được liệt kê trong ghi chú phát hành (Phụ lục E); Đặc biệt chú ý đến phần được dán nhãn "di chuyển".
Người dùng thận trọng sẽ muốn kiểm tra các ứng dụng khách của họ trên phiên bản mới trước khi chuyển đổi hoàn toàn; Do đó, thường là kèo bóng đá c1 ý tưởng tốt để thiết lập các phiên bản đồng thời của các phiên bản cũ và mới.PostgreSQLNâng kèo bóng đá c1 chính, hãy xem xét các loại thay đổi sau đây:
Các khả năng có sẵn để quản trị viên giám sát và kiểm soát máy chủ thường thay đổi và cải thiện trong mỗi kèo bóng đá c1 phát hành chính.
Thông thường, điều này bao gồm các khả năng lệnh SQL mới và không thay đổi trong hành vi, trừ khi được đề cập cụ thể trong các ghi chú phát hành.
Thông thường các thư viện nhưlibpqChỉ thêm chức năng mới, kèo bóng đá c1 lần nữa trừ khi được đề cập trong ghi chú phát hành.
Thay đổi danh mục hệ thống thường chỉ ảnh hưởng đến các công cụ quản lý cơ sở dữ liệu.
Điều này liên quan đến các thay đổi trong API hàm phụ trợ, được viết bằng ngôn ngữ lập trình C. Những thay đổi như vậy ảnh hưởng đến mã tham chiếu các chức năng phụ trợ sâu bên trong máy chủ.
kèo bóng đá c1 phương pháp nâng cấp là kết xuất dữ liệu từ kèo bóng đá c1 phiên bản chính củaPostgreSQLvà khôi phục nó trong kèo bóng đá c1 điều khác - để làm điều này, bạn phải sử dụng kèo bóng đá c1logicCông cụ sao lưu nhưpg_dumpall; Phương pháp sao lưu kèo bóng đá c1 hệ thống tệp sẽ không hoạt động.PostgreSQL, do đó không có tác hại lớn nào bằng cách cố gắng khởi động phiên kèo bóng đá c1 máy chủ sai trên thư mục dữ liệu.)
Bạn nên sử dụngpg_dumpvàpg_dumpallChương trình từMới hơnphiên kèo bóng đá c1 củaPostgreSQL, để tận dụng các cải tiến có thể đã được thực hiện trong các chương trình này. Các kèo bóng đá c1 phát hành hiện tại của các chương trình kết xuất có thể đọc dữ liệu từ bất kỳ phiên kèo bóng đá c1 máy chủ nào trở lại 8.0.
Những hướng dẫn này giả sử rằng cài đặt hiện tại của bạn nằm dưới/usr/local/pgsql
Thư mục và vùng dữ liệu nằm trong/usr/local/pgsql/data
. Thay thế các con đường của bạn kèo bóng đá c1 cách thích hợp.
Nếu tạo kèo bóng đá c1 sao lưu, hãy đảm bảo rằng cơ sở dữ liệu của bạn không được cập nhật. Điều này không ảnh hưởng đến tính toàn vẹn của kèo bóng đá c1 sao lưu, nhưng tất nhiên dữ liệu đã thay đổi sẽ không được bao gồm./usr/local/pgsql/data/pg_hba.conf
(hoặc tương đương) để không cho phép truy cập từ mọi người ngoại trừ bạn. Nhìn thấyChương 21Để biết thêm thông tin về kiểm soát truy cập.
Để sao lưu cài đặt cơ sở dữ liệu của bạn, loại:
pg_dumpallOutputFile
Để tạo kèo bóng đá c1 sao lưu, bạn có thể sử dụngPG_DUMPALLlệnh từ phiên kèo bóng đá c1 bạn hiện đang chạy; nhìn thấyPhần 26.1.2Để biết thêm chi tiết. Tuy nhiên, để có kết quả tốt nhất, hãy thử sử dụngpg_dumpallLệnh từPostgreSQL14,18, vì phiên kèo bóng đá c1 này chứa các sửa lỗi và cải tiến trên các phiên kèo bóng đá c1 cũ hơn. Mặc dù lời khuyên này có vẻ bình dị vì bạn chưa cài đặt phiên kèo bóng đá c1 mới, nhưng nên làm theo nó nếu bạn có kế hoạch cài đặt phiên kèo bóng đá c1 mới song song với phiên kèo bóng đá c1 cũ.
Tắt máy chủ cũ:
PG_CTL STOP
Trên các hệ thống cóPostgreSQLBắt đầu vào thời điểm khởi động, có lẽ có kèo bóng đá c1 tệp khởi động sẽ hoàn thành điều tương tự. Ví dụ: trên ARed Hat LinuxHệ thống người ta có thể thấy rằng điều này hoạt động:
/etc/rc.d/init.d/postgresql dừng
xemChương 19Để biết chi tiết về việc khởi động và dừng máy chủ.
Nếu khôi phục từ sao lưu, đổi tên hoặc xóa thư mục cài đặt cũ nếu nó không dành riêng cho phiên bản. Đó là kèo bóng đá c1 ý tưởng tốt để đổi tên thư mục, thay vì xóa nó, trong trường hợp bạn gặp rắc rối và cần phải hoàn nguyên nó.
MV/usr/local/pgsql /usr/local/pgsql.old
(Hãy chắc chắn di chuyển thư mục dưới dạng kèo bóng đá c1 đơn vị để các đường dẫn tương đối không thay đổi.)
Cài đặt phiên kèo bóng đá c1 mới củaPOSTGRESQLNhư đã nêu trongPhần 17.4.
Tạo cụm cơ sở dữ liệu mới nếu cần. Hãy nhớ rằng bạn phải thực thi các lệnh này trong khi đăng nhập vào tài khoản người dùng cơ sở dữ liệu đặc biệt (mà bạn đã có nếu bạn đang nâng kèo bóng đá c1).
/usr/local/pgsql/bin/initDB -D/usr/local/pgsql/data
Khôi phục trước đó của bạnpg_hba.conf
và bất kỳPostgreSql.conf
Sửa đổi.
Bắt đầu máy chủ cơ sở dữ liệu, kèo bóng đá c1 lần nữa sử dụng tài khoản người dùng cơ sở dữ liệu đặc biệt:
/usr/local/pgsql/bin/postgres -d/usr/local/pgsql/data
Cuối cùng, khôi phục dữ liệu của bạn từ sao lưu với:
/usr/local/pgsql/bin/psql -d postgres -fOutputFile
Sử dụngmới PSQL.
Có thể đạt được thời gian ngừng hoạt động ít nhất bằng cách cài đặt máy chủ mới trong kèo bóng đá c1 thư mục khác và chạy cả máy chủ cũ và máy chủ mới song song, trên các cổng khác nhau. Sau đó, bạn có thể sử dụng kèo bóng đá c1 cái gì đó như:
PG_DUMPALL -P 5432 | psql -d postgres -p 5433
Để chuyển dữ liệu của bạn.
Thepg_upgradeMô-đun cho phép cài đặt được di chuyển tại chỗ từ kèo bóng đá c1 chínhPostgreSQLPhiên bản sang phiên bản khác. Nâng kèo bóng đá c1 có thể được thực hiện trong vài phút, đặc biệt là với--Link
chế độ. Nó yêu cầu các bước tương tựpg_dumpallở trên, ví dụ: khởi động/dừng máy chủ, chạyinitDB. Thepg_upgrade Tài liệuphác thảo các bước cần thiết.
Cũng có thể sử dụng các phương thức sao chép logic để tạo máy chủ dự phòng với phiên kèo bóng đá c1 cập nhật củaPostgreSQL. Điều này là có thể bởi vì sao chép logic hỗ trợ sao chép giữa các phiên kèo bóng đá c1 chính khác nhau củaPostgreSQL. Chế độ chờ có thể nằm trên cùng kèo bóng đá c1 máy tính hoặc kèo bóng đá c1 máy tính khác.PostgreSQL), bạn có thể chuyển đổi các nguyên tắc và biến chế độ chờ thành chính và tắt thể hiện cơ sở dữ liệu cũ hơn. kèo bóng đá c1 chuyển đổi như vậy dẫn đến chỉ trong vài giây thời gian ngừng hoạt động để nâng cấp.
Phương pháp nâng kèo bóng đá c1 này có thể được thực hiện bằng cách sử dụng các cơ sở sao chép logic tích hợp cũng như sử dụng các hệ thống sao chép logic bên ngoài nhưPGLogical, slony, LondistevàBucardo.
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề tài liệu.