윈 토토 : 문서 : 9.4 : 윈 토토 9.4 | |||
---|---|---|---|
배트맨 토토 PostgreSQL : 문서 : 9.4 : PG_TEST_TIMEING | PostgreSQL : 문서 : 9.4 : 서버 응용 토토 핫 | postgresql : 문서 : 9.4 : 와이즈 토토 |
와이즈 토토(trước đây gọi làpg_migrator) Cho phép dữ liệu được lưu trữ trongPostgreSQLTệp dữ liệu được nâng cấp lên sauPostgreSQLPhiên bản chính không có kết xuất/tải lại dữ liệu thường được yêu cầu để nâng cấp phiên bản chính, ví dụ: Từ 8.4.7 đến bản phát hành chính hiện tại củaPostgreSQL. Nó không bắt buộc để nâng cấp phiên bản nhỏ, ví dụ: Từ 9.0.1 đến 9.0.4.
phát hành PostgreSQL chính thường xuyên thêm các tính năng mới thường thay đổi bố cục của các bảng hệ thống, nhưng định dạng lưu trữ dữ liệu nội bộ hiếm khi thay đổi.와이즈 토토Sử dụng thực tế này để thực hiện nâng cấp nhanh bằng cách tạo các bảng hệ thống mới và chỉ cần sử dụng lại các tệp dữ liệu người dùng cũ. Nếu một bản phát hành chính trong tương lai thay đổi định dạng lưu trữ dữ liệu theo cách làm cho định dạng dữ liệu cũ không thể đọc được,와이즈 토토sẽ không thể sử dụng cho các nâng cấp đó. (Cộng đồng sẽ cố gắng tránh những tình huống như vậy.)
와이즈 토토Làm hết sức mình để đảm bảo các cụm cũ và mới tương thích nhị phân, ví dụ: Bằng cách kiểm tra các cài đặt thời gian biên dịch tương thích, bao gồm các nhị phân 32/64 bit. Điều quan trọng là bất kỳ mô -đun bên ngoài nào cũng tương thích nhị phân, mặc dù điều này không thể được kiểm tra bởi와이즈 토토.
PG_UPGRADE hỗ trợ nâng cấp từ 8.3.x và sau đó đến bản phát hành chính hiện tại củaPostgreSQL, bao gồm các bản phát hành chụp nhanh và alpha.
와이즈 토토Chấp nhận các đối số dòng lệnh sau:
Thư mục thực thi PostgreSQL cũ; Biến môi trườngpgbinold
Thư mục thực thi PostgreSQL mới; Biến môi trườngpgbinnew
Chỉ kiểm tra các cụm, không thay đổi bất kỳ dữ liệu nào
Thư mục dữ liệu cụm cũ; Biến môi trườngpgdataold
Thư mục dữ liệu cụm mới; Biến môi trườngpgdatanew
Số lượng các quy trình hoặc luồng đồng thời để sử dụng
Sử dụng các liên kết cứng thay vì sao chép các tệp vào cụm mới
Tùy chọn sẽ được chuyển trực tiếp cho cũPostgreslệnh
Tùy chọn sẽ được chuyển trực tiếp đến mớiPostgreslệnh
Số cổng cụm cũ; Biến môi trườngPGPortold
Số cổng cụm mới; Biến môi trườngPGPortNew
Giữ lại các tệp SQL và nhật ký ngay cả sau khi hoàn thành thành công
Tên người dùng siêu của cụm; Biến môi trườngPGUSER
Kích hoạt ghi nhật ký nội bộ verbose
Thông tin phiên bản hiển thị, sau đó thoát
Hiển thị trợ giúp, sau đó thoát
Đây là các bước để thực hiện nâng cấp với와이즈 토토:
Tùy chọn di chuyển cụm cũ
Nếu bạn đang sử dụng thư mục cài đặt dành riêng cho phiên bản, ví dụ:/opt/postgresql/9.1, bạn không cần phải di chuyển cụm cũ. Trình cài đặt đồ họa đều sử dụng các thư mục cài đặt dành riêng cho phiên bản.
Nếu thư mục cài đặt của bạn không dành riêng cho phiên bản, ví dụ:/usr/local/pgsql, cần di chuyển thư mục cài đặt PostgreSQL hiện tại để nó không can thiệp vào mớiPostgreSQLCài đặt. Khi hiện tạiPostgreSQLMáy chủ đang ngừng hoạt động, việc đổi tên thư mục cài đặt PostgreSQL là an toàn; giả sử thư mục cũ là/usr/local/pgsql, bạn có thể làm:
MV/usr/local/pgsql /usr/local/pgsql.old
Để đổi tên thư mục.
Để cài đặt nguồn, xây dựng phiên bản mới
Xây dựng nguồn PostgreSQL mới vớiCấu hìnhCờ tương thích với cụm cũ.와이즈 토토sẽ kiểm traPG_ControldataĐể đảm bảo tất cả các cài đặt đều tương thích trước khi bắt đầu nâng cấp.
Cài đặt nhị phân PostgreSQL mới
Cài đặt các tệp và tệp hỗ trợ của máy chủ mới.
Để cài đặt nguồn, nếu bạn muốn cài đặt máy chủ mới ở vị trí tùy chỉnh, hãy sử dụngtiền tốBiến:
Tạo tiền tố =/usr/local/pgsql.new install
Cài đặt 와이즈 토토 và 와이즈 토토_support
Cài đặt와이즈 토토nhị phân vàPG_UPGRADE_SUPPORTThư viện trong cài đặt PostgreSQL mới.
Khởi tạo cụm PostgreSQL mới
Khởi tạo cụm mới bằng cách sử dụnginitDB. Một lần nữa, sử dụng tương thíchinitDBcờ phù hợp với cụm cũ. Nhiều trình cài đặt được đặt sẵn thực hiện tự động bước này. Không cần phải bắt đầu cụm mới.
Cài đặt các tệp đối tượng được chia sẻ tùy chỉnh
Cài đặt bất kỳ tệp đối tượng được chia sẻ tùy chỉnh nào (hoặc DLL) được sử dụng bởi cụm cũ vào cụm mới, ví dụ:pgcrypto.so, cho dù chúng đến từđóng góphoặc một số nguồn khác. Không cài đặt các định nghĩa lược đồ, ví dụ:Tạo phần mở rộng PGCRYPTO, bởi vì chúng sẽ được nâng cấp từ cụm cũ. Ngoài ra, bất kỳ tệp tìm kiếm văn bản đầy đủ tùy chỉnh (từ điển, từ đồng nghĩa, thesaurus, stop words) cũng phải được sao chép vào cụm mới.
Điều chỉnh xác thực
와이즈 토토Sẽ kết nối với các máy chủ cũ và mới nhiều lần, vì vậy bạn có thể muốn đặt xác thực thànhPeerinpg_hba.confhoặc sử dụng A~/.PGPassTệp (xem토토 캔 : 문서 : 9.4 : 암호 파일).
Dừng cả hai máy chủ
Đảm bảo cả hai máy chủ cơ sở dữ liệu đều bị dừng sử dụng, trên Unix, ví dụ:
pg_ctl -d /opt/postgresql/8.4 Dừng pg_ctl -d /opt/postgresql/9.0 dừng
hoặc trên Windows, sử dụng tên dịch vụ thích hợp:
Net Stop PostgreSQL-8.4 Net Stop PostgreSql-9.0
hoặc
Net Stop PGSQL-8.3 (PostgreSQL8.3 trở lên đã sử dụng một tên dịch vụ khác)
chạy와이즈 토토
luôn luôn chạy와이즈 토토nhị phân của máy chủ mới, không phải cái cũ.와이즈 토토Yêu cầu đặc tả dữ liệu của cụm cũ và mới và thực thi (bin) Thư mục. Bạn cũng có thể chỉ định các giá trị người dùng và cổng và liệu bạn có muốn dữ liệu được liên kết thay vì sao chép (mặc định).
Nếu bạn sử dụng chế độ liên kết, việc nâng cấp sẽ nhanh hơn nhiều (không sao chép tệp) và sử dụng ít không gian đĩa hơn, nhưng bạn sẽ không thể truy cập cụm cũ của mình sau khi bạn bắt đầu cụm mới sau khi nâng cấp. Chế độ liên kết cũng yêu cầu các thư mục dữ liệu cụm cũ và mới nằm trong cùng một hệ thống tệp. (Không gian bảng vàpg_xlogCó thể có trên các hệ thống tệp khác nhau.) XemPG_UPGRADE -HELPĐể biết danh sách đầy đủ các tùy chọn.
The--JobsTùy chọn cho phép nhiều lõi CPU được sử dụng để sao chép/liên kết các tệp và kết xuất và tải lại các lược đồ cơ sở dữ liệu song song; Một nơi tốt để bắt đầu là tối đa số lượng lõi CPU và không gian bảng. Tùy chọn này có thể giảm đáng kể thời gian nâng cấp máy chủ đa dữ liệu chạy trên máy đa bộ xử lý.
Đối với người dùng Windows, bạn phải đăng nhập vào tài khoản quản trị và sau đó khởi động shell dưới dạngPostgresNgười dùng và đặt đường dẫn thích hợp:
Runas /người dùng: Postgres "CMD.exe" Đặt đường dẫn =%đường dẫn%; C: \ Tệp chương trình \ Postgresql \ 9.0 \ bin;
và sau đó chạy와이즈 토토Với các thư mục được trích dẫn, ví dụ:
와이즈 토토.exe --old-datadir "C:/chương trình/postgresql/8.4/data" . --Ald-Bindir "C:/chương trình Tệp/PostgreSQL/8.4/bin" .
Sau khi bắt đầu,와이즈 토토sẽ xác minh hai cụm tương thích và sau đó thực hiện nâng cấp. Bạn có thể sử dụng와이즈 토토 --CheckĐể chỉ thực hiện kiểm tra, ngay cả khi máy chủ cũ vẫn đang chạy.와이즈 토토 --Checkcũng sẽ phác thảo mọi điều chỉnh thủ công bạn sẽ cần thực hiện sau khi nâng cấp. Nếu bạn sẽ sử dụng chế độ liên kết, bạn nên sử dụng--LinkTùy chọn với--CheckĐể bật các kiểm tra cụ thể về chế độ liên kết.와이즈 토토Yêu cầu ghi quyền trong thư mục hiện tại.
Rõ ràng, không ai nên truy cập các cụm trong quá trình nâng cấp.와이즈 토토Mặc định là chạy máy chủ trên cổng 50432 để tránh các kết nối máy khách ngoài ý muốn. Bạn có thể sử dụng cùng một số cổng cho cả hai cụm khi thực hiện nâng cấp vì các cụm cũ và mới sẽ không chạy cùng một lúc. Tuy nhiên, khi kiểm tra một máy chủ đang chạy cũ, các số cổng cũ và mới phải khác nhau.
Nếu xảy ra lỗi trong khi khôi phục lược đồ cơ sở dữ liệu,와이즈 토토Sẽ thoát và bạn sẽ phải trở lại cụm cũ như đã nêu trongBước 14bên dưới. Để thử와이즈 토토Một lần nữa, bạn sẽ cần sửa đổi cụm cũ để Lược đồ PG_UPGRADE được khôi phục thành công. Nếu sự cố là mô -đun đóng góp, bạn có thể cần phải gỡ cài đặt mô -đun đóng góp khỏi cụm cũ và cài đặt nó trong cụm mới sau khi nâng cấp, giả sử mô -đun không được sử dụng để lưu trữ dữ liệu người dùng.
Khôi phụcpg_hba.conf
Nếu bạn sửa đổipg_hba.conf, Khôi phục cài đặt ban đầu của nó. Cũng có thể cần phải điều chỉnh các tệp cấu hình khác trong cụm mới để khớp với cụm cũ, ví dụ:PostgreSql.conf.
Xử lý sau nâng cấp
Nếu có bất kỳ xử lý sau nâng cấp nào, PG_UPGRADE sẽ đưa ra các cảnh báo khi hoàn thành. Nó cũng sẽ tạo các tệp tập lệnh phải được quản trị viên chạy. Các tệp tập lệnh sẽ kết nối với từng cơ sở dữ liệu cần xử lý sau nâng cấp. Mỗi tập lệnh nên được chạy bằng cách sử dụng:
PSQL --Username postgres -script -file.sql postgres
Các tập lệnh có thể được chạy theo bất kỳ thứ tự nào và có thể bị xóa khi chúng đã được chạy.
THẬN TRỌNG |
Nói chung, không an toàn khi truy cập các bảng được tham chiếu trong các tập lệnh xây dựng lại cho đến khi các tập lệnh xây dựng lại đã chạy để hoàn thành; Làm như vậy có thể mang lại kết quả không chính xác hoặc hiệu suất kém. Các bảng không được tham chiếu trong các tập lệnh xây dựng lại có thể được truy cập ngay lập tức. |
Thống kê
Vì số liệu thống kê tối ưu hóa không được chuyển bởi와이즈 토토, bạn sẽ được hướng dẫn chạy một lệnh để tái tạo thông tin đó vào cuối bản nâng cấp. Bạn có thể cần đặt tham số kết nối để khớp với cụm mới của mình.
Xóa cụm cũ
Một khi bạn hài lòng với việc nâng cấp, bạn có thể xóa các thư mục dữ liệu của cụm cũ bằng cách chạy tập lệnh được đề cập khi와이즈 토토Hoàn thành. .bin, chia sẻ).
trở lại cụm cũ
Nếu, sau khi chạy와이즈 토토, bạn muốn hoàn nguyên với cụm cũ, có một số tùy chọn:
Nếu--Check24570_24642
Nếu--LinkTùy chọn làkhôngĐược sử dụng, cụm cũ không được sửa đổi; nó có thể được khởi động lại.
Nếu--LinkTùy chọn đã được sử dụng, các tệp dữ liệu có thể được chia sẻ giữa cụm cũ và mới:
nếu와이즈 토토bị hủy bỏ trước khi liên kết bắt đầu, cụm cũ không được sửa đổi; nó có thể được khởi động lại.
Nếu bạn đã làmkhôngBắt đầu cụm mới, cụm cũ không được sửa đổi ngoại trừ, khi liên kết bắt đầu, A.oldHậu tố đã được thêm vào$ pgdata/global/pg_control. Để sử dụng lại cụm cũ, hãy xóa.oldHậu tố từ$ pgdata/global/pg_control; sau đó bạn có thể khởi động lại cụm cũ.
Nếu bạn đã bắt đầu cụm mới, nó đã được viết thành các tệp được chia sẻ và không an toàn khi sử dụng cụm cũ. Cụm cũ sẽ cần được khôi phục từ bản sao lưu trong trường hợp này.
와이즈 토토Không hỗ trợ nâng cấp cơ sở dữ liệu có chứa các cơ sở dữ liệu nàyreg*OID-Tham khảo các loại dữ liệu hệ thống:RegProc, RegProcedure, Regoper, Regoperator, RegconfigvàRegdictionary. (regtypecó thể được nâng cấp.)
Tất cả các trường hợp thất bại, xây dựng lại và Reindex sẽ được báo cáo bởi와이즈 토토Nếu chúng ảnh hưởng đến cài đặt của bạn; Các tập lệnh sau nâng cấp để xây dựng lại các bảng và chỉ mục sẽ được tạo tự động. Nếu bạn đang cố gắng tự động hóa việc nâng cấp nhiều cụm, bạn sẽ thấy rằng các cụm có các lược đồ cơ sở dữ liệu giống hệt nhau yêu cầu các bước nâng cấp tương tự cho tất cả các nâng cấp cụm; Điều này là do các bước nâng cấp dựa trên các lược đồ cơ sở dữ liệu và không phải dữ liệu người dùng.
Để thử nghiệm triển khai, tạo một bản sao chỉ dành cho cụm cũ của cụm cũ, chèn dữ liệu giả và nâng cấp đó.
Nếu bạn đang nâng cấp trướcPostgreSQL9.2 Cụm sử dụng thư mục chỉ có tệp cấu hình, bạn phải chuyển vị trí thư mục dữ liệu thực cho와이즈 토토và chuyển vị trí thư mục cấu hình cho máy chủ, ví dụ:-D /thực tế-directory -o '-d /cấu hình-directory'.
27286_27442PGHOSTĐể trỏ đến vị trí ổ cắm của máy chủ cũ. (Điều này không liên quan trên Windows.)
Máy chủ dự phòng vận chuyển log (PostgreSQL : 문서화 : 9.4 : 로그 선집 토토 사이트 서버) Không thể được nâng cấp vì máy chủ phải cho phép ghi. Cách đơn giản nhất là nâng cấp chính và sử dụngrsyncĐể xây dựng lại Standbys. Bạn có thể chạyrsyncTrong khi chính là xuống hoặc là một phần của bản sao lưu cơ sở (Phần 24.3.2) trong đó ghi đè lên cụm dự phòng cũ.
Nếu bạn muốn sử dụng chế độ liên kết và bạn không muốn cụm cũ của mình được sửa đổi khi cụm mới được bắt đầu, hãy tạo một bản sao của cụm cũ và nâng cấp trong chế độ liên kết. Để tạo một bản sao hợp lệ của cụm cũ, hãy sử dụngrsyncĐể tạo một bản sao bẩn của cụm cũ trong khi máy chủ đang chạy, sau đó tắt máy chủ cũ và chạyrsyncMột lần nữa để cập nhật bản sao với bất kỳ thay đổi nào để làm cho nó phù hợp. Bạn có thể muốn loại trừ một số tệp, ví dụ:postmaster.pid, như đã được ghi lại trongPhần 24.3.3. Nếu hệ thống tệp của bạn hỗ trợ các bức ảnh chụp nhanh hệ thống tệp hoặc sao chép các bản sao tệp, bạn có thể sử dụng nó để tạo bản sao lưu của cụm và bảng cũ, mặc dù ảnh chụp nhanh và bản sao phải được tạo đồng thời hoặc trong khi máy chủ cơ sở dữ liệu bị hỏng.
Nâng cấptừPostgreSQL 8.3 có các hạn chế bổ sung không có khi nâng cấp từ các bản phát hành PostgreSQL sau này. Ví dụ: 와이즈 토토 sẽ không hoạt động để nâng cấp từ 8.3 nếu cột người dùng được xác định là:
AtsqueryKiểu dữ liệu
Kiểu dữ liệutênvà không phải là cột đầu tiên
Bạn phải bỏ bất kỳ cột nào như vậy và nâng cấp chúng theo cách thủ công.
와이즈 토토 sẽ không hoạt động nếuLtreeMô -đun đóng góp được cài đặt trong cơ sở dữ liệu.
와이즈 토토 sẽ yêu cầu xây dựng lại bảng nếu:
Một cột người dùng thuộc loại dữ liệuTSVECTOR
PG_UPGRADE sẽ yêu cầu tái hiện nếu:
Một chỉ mục thuộc loại Hash hoặc Gin
Một chỉ mục sử dụngBPCHAR_POTERN_OPS
Ngoài ra, định dạng lưu trữ DateTime mặc định đã thay đổi thành số nguyên sauPostgreSQL8.3. PG_UPGRADE sẽ kiểm tra xem định dạng lưu trữ DateTime được sử dụng bởi các cụm cũ và mới. Đảm bảo cụm mới của bạn được xây dựng với cờ cấu hình--Disable-Integer-Deatetimes.
Đối với người dùng Windows, lưu ý rằng do các cài đặt Dateter số nguyên khác nhau được trình cài đặt đồ họa được sử dụng và trình cài đặt MSI, chỉ có thể nâng cấp từ phiên bản 8.3 của phân phối trình cài đặt lên phiên bản 8.4 trở lên của phân phối trình cài đặt. Không thể nâng cấp từ trình cài đặt MSI lên trình cài đặt đồ họa mới.