PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Nâng cấp PostgreSQL từ 9.6 lên 10.0 trên Ubuntu 16.10

Hướng dẫn từng bước

  1. Tạo bản sao lưu . Đảm bảo rằng cơ sở dữ liệu của bạn không được cập nhật.

     pg_dumpall > outputfile
    
  2. Cài đặt Postgres 10 . Làm theo hướng dẫn trên trang này:https://www.postgresql.org/download/linux/ubuntu/

    Sau đó chạy sudo apt-get install postgresql-10 . Phiên bản mới hơn sẽ được cài đặt song song với phiên bản trước đó.

  3. Chạy pg_lsclusters :

     Ver Cluster Port Status Owner    Data directory               Log file
     9.6 main    5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
     10  main    5433 online postgres /var/lib/postgresql/10/main  /var/log/postgresql/postgresql-10-main.log
    

    Đã có một cụm main cho 10 (vì điều này được tạo theo mặc định khi cài đặt gói). Điều này được thực hiện để cài đặt mới hoạt động ngay lập tức mà không cần phải tạo cụm trước, nhưng tất nhiên nó xung đột khi bạn cố gắng nâng cấp 9.6/main khi 10/main cũng tồn tại. Quy trình được khuyến nghị là loại bỏ cụm 10 với pg_dropcluster và sau đó nâng cấp với pg_upgradecluster .

  4. Dừng cụm 10 và thả nó:

     sudo pg_dropcluster 10 main --stop
    
  5. Dừng tất cả các quy trình và dịch vụ ghi vào cơ sở dữ liệu. Dừng cơ sở dữ liệu:

     sudo systemctl stop postgresql 
    
  6. Nâng cấp cụm 9.6:

     sudo pg_upgradecluster -m upgrade 9.6 main
    
  7. Khởi động lại PostgreSQL

     sudo systemctl start postgresql
    
  8. Chạy pg_lsclusters . Cụm 9.6 của bạn bây giờ sẽ "ngừng hoạt động" và cụm 10 sẽ trực tuyến tại 5432 :

     Ver Cluster Port Status Owner    Data directory               Log file
     9.6 main    5433 down   postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
     10  main    5432 online postgres /var/lib/postgresql/10/main  /var/log/postgresql/postgresql-10-main.log
    
  9. Trước tiên, hãy kiểm tra xem mọi thứ có hoạt động tốt không. Sau đó, xóa cụm 9.6:

      sudo pg_dropcluster 9.6 main --stop
    

Một số lưu ý về pg_upgradecluster

Hướng dẫn này hoạt động tốt để nâng cấp từ 9.5 lên 10.1. Khi nâng cấp từ phiên bản cũ hơn, hãy xem xét bỏ qua -m upgrade ở bước # 6:

sudo pg_upgradecluster 9.6 main

Nếu bạn có một cụm thực sự lớn, bạn có thể sử dụng pg_upgradecluster với --link để nâng cấp sẽ được thực hiện. Tuy nhiên, điều này rất nguy hiểm - bạn có thể mất cụm trong trường hợp không thành công. Chỉ cần không sử dụng tùy chọn này nếu không cần thiết, vì -m upgrade đã đủ nhanh.

Dựa trên:

  • Tài liệu:Nâng cấp Cụm PostgreSQL
  • Gist # 1:delameko / lift-postgres-9.5-to-9.6.md
  • Gist # 2:johanndt / lift-postgres-9.3-to-9.5.md
  • Điều gì sẽ xảy ra nếu tôi làm gián đoạn hoặc hủy pg_upgradecluster ?
  • Trang chủ Ubuntu cho pg_upgradecluster

Cập nhật

Hướng dẫn này phù hợp để nâng cấp từ 9.6 lên 11 và từ 10 lên 11, cũng như từ 10 lên 13.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tự động làm mới chế độ xem cụ thể hóa bằng cách sử dụng quy tắc hoặc thông báo

  2. Tìm kích thước byte của một hàng trong PostgreSQL

  3. Cách nhanh chóng loại bỏ một người dùng có các đặc quyền hiện có

  4. Tự động hóa Barman với Puppet:it2ndq / barman (phần một)

  5. Nhận kích thước của đối tượng lớn trong truy vấn PostgreSQL?