Phần này thảo luận về cách nâng kèo bóng đá pháp dữ liệu cơ sở dữ liệu của bạn từ mộtPostgreSQLphá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 đá pháp 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 đá pháp 10.0, số phiên kèo bóng đá pháp bao gồm ba số, ví dụ, 9.5.3. Trong những trường hợp đó, phiên kèo bóng đá pháp chính bao gồm hai nhóm chữ số đầu tiên của số phiên kèo bóng đá pháp, ví dụ: 9.5 và phiên kèo bóng đá pháp nhỏ là số thứ ba, ví dụ: 3, có nghĩa là đây sẽ là kèo bóng đá pháp phát hành nhỏ thứ ba của kèo bóng đá pháp 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 một 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. Tương tự, ví dụ, 9.5.3 tương thích với 9.5.0, 9.5.1 và 9.5.6. Để cập nhật giữa các phiên bản tương thích, bạn chỉ cần thay thế các tệp thực thi trong khi máy chủ bị hỏng và khởi động lại máy chủ. Thư mục dữ liệu vẫn không thay đổi - nâng kèo bóng đá pháp nhỏ là đơn giản.
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 kèo bóng đá pháp. Phương pháp truyền thống để di chuyển dữ liệu sang một 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. Một phương thức nhanh hơn làpg_upgrade. Phương pháp nhân rộng cũng có sẵn, như được thảo luận dưới đây. (Nếu bạn đang sử dụng phiên kèo bóng đá pháp đóng gói sẵn củaPostgreSQL, nó có thể cung kèo bóng đá pháp các tập lệnh để hỗ trợ nâng kèo bóng đá pháp phiên bản chính. Tham khảo tài liệu kèo bóng đá pháp 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 đá pháp 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". Mặc dù bạn có thể nâng kèo bóng đá pháp từ phiên bản chính này sang phiên bản chính khác mà không cần nâng kèo bóng đá pháp lên các phiên bản can thiệp, bạn nên đọc các ghi chú phát hành chính của tất cả các phiên bản can thiệp.
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 đá pháp ý 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. Khi kiểm tra APostgreSQLNâng kèo bóng đá pháp 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 đá pháp 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 đá pháp 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ủ.
Một phương pháp nâng kèo bóng đá pháp là kết xuất dữ liệu từ một phiên bản chính củaPostgreSQLvà khôi phục nó trong kèo bóng đá pháp cái khác - để làm điều này, bạn phải sử dụng kèo bóng đá pháplogicCông cụ sao lưu nhưpg_dumpall; Phương pháp sao lưu kèo bóng đá pháp hệ thống tệp sẽ không hoạt động. (Có các kiểm tra tại chỗ ngăn bạn sử dụng thư mục dữ liệu với phiên bản không tương thích củaPostgreSQL, do đó không thể thực hiện được tác hại lớn bằng cách cố gắng khởi động phiên kèo bóng đá pháp 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 đá phápPostgreSQL, để 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 đá pháp 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 đá pháp máy chủ nào trở lại 9.2.
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 đá pháp cách thích hợp.
Nếu tạo kèo bóng đá pháp 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 đá pháp sao lưu, nhưng tất nhiên dữ liệu đã thay đổi sẽ không được bao gồm. Nếu cần, chỉnh sửa các quyền trong tệp/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ề điều khiển 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 đá pháp sao lưu, bạn có thể sử dụngpg_dumpallLệnh từ phiên kèo bóng đá pháp 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ừPostgreSQL15.13, vì phiên kèo bóng đá pháp này chứa các kèo bóng đá pháp sửa lỗi và cải tiến trên các phiên kèo bóng đá pháp 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 đá pháp 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 đá pháp mới song song với phiên kèo bóng đá pháp cũ. Trong trường hợp đó, bạn có thể hoàn thành việc cài đặt bình thường và chuyển dữ liệu sau. Điều này cũng sẽ làm giảm thời gian chết.
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 đá pháp 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 đá pháp ý 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ó. Hãy ghi nhớ thư mục có thể tiêu thụ không gian đĩa đáng kể. Để đổi tên thư mục, hãy sử dụng lệnh như thế này:
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 đá pháp đơn vị để các đường dẫn tương đối không thay đổi.)
Cài đặt phiên kèo bóng đá pháp 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 đá pháp).
/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 đá pháp 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.
Thời gian chết ít nhất có thể đạt được bằng cách cài đặt máy chủ mới trong kèo bóng đá pháp 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 đá pháp 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 đá pháp chínhPostgreSQLPhiên bản sang phiên bản khác. Nâng kèo bóng đá pháp 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 đá pháp 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 đá pháp chính khác nhau củaPostgreSQL. Chế độ chờ có thể nằm trên cùng kèo bóng đá pháp máy tính hoặc kèo bóng đá pháp máy tính khác. Khi nó đã được đồng bộ hóa với máy chủ chính (chạy phiên bản cũ hơnPostgreSQL), bạn có thể chuyển đổi các cuộc bầu cử sơ bộ và biến chế độ chờ thành chính và tắt thể hiện cơ sở dữ liệu cũ hơn. Một 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 kèo bóng đá pháp.
Phương pháp nâng kèo bóng đá pháp 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ớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.