PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Надстройте PostgreSQL от 9.6 до 10.0 на Ubuntu 16.10

Ръководство стъпка по стъпка

  1. Направете резервно копие . Уверете се, че вашата база данни не се актуализира.

     pg_dumpall > outputfile
    
  2. Инсталирайте Postgres 10 . Следвайте инструкциите на тази страница:https://www.postgresql.org/download/linux/ubuntu/

    След това стартирайте sudo apt-get install postgresql-10 . По-нова версия ще бъде инсталирана успоредно с по-ранната версия.

  3. Изпълнете 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
    

    Вече има клъстер main за 10 (тъй като това се създава по подразбиране при инсталиране на пакет). Това се прави, за да работи нова инсталация от кутията, без да е необходимо първо да създавате клъстер, но, разбира се, тя се сблъсква, когато се опитате да надстроите 9.6/main когато 10/main също съществува. Препоръчителната процедура е да премахнете клъстера 10 с pg_dropcluster и след това надстройте с pg_upgradecluster .

  4. Спрете клъстера 10 и го пуснете:

     sudo pg_dropcluster 10 main --stop
    
  5. Спрете всички процеси и услуги да пишат в базата данни. Спрете базата данни:

     sudo systemctl stop postgresql 
    
  6. Надстройте клъстера 9.6:

     sudo pg_upgradecluster -m upgrade 9.6 main
    
  7. Стартирайте PostgreSQL отново

     sudo systemctl start postgresql
    
  8. Изпълнете pg_lsclusters . Вашият 9.6 клъстер вече трябва да е "надолу", а клъстерът 10 трябва да е онлайн на 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. Първо проверете дали всичко работи добре. След това премахнете клъстера 9.6:

      sudo pg_dropcluster 9.6 main --stop
    

Някои бележки относно pg_upgradecluster

Това ръководство работи добре за надстройка от 9.5 до 10.1. Когато надграждате от по-стара версия, помислете за пропускане на -m upgrade на стъпка №6:

sudo pg_upgradecluster 9.6 main

Ако имате наистина голям клъстер, можете да използвате pg_upgradecluster с --link опция, така че надстройката да бъде на място. Това обаче е опасно – можете да загубите клъстера в случай на повреда. Просто не използвайте тази опция, ако не е необходимо, като -m upgrade вече е достатъчно бърз.

Въз основа на:

  • Документи:Надстройка на PostgreSQL клъстер
  • Същност №1:delameko/upgrade-postgres-9.5-to-9.6.md
  • Същност №2:johanndt/upgrade-postgres-9.3-to-9.5.md
  • Какво ще стане, ако прекъсна или отменя pg_upgradecluster ?
  • Ръководска страница на Ubuntu за pg_upgradecluster

Актуализиране

Това ръководство работи добре за надстройка от 9.6 до 11 и от 10 до 11, както и от 10 до 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. postgresql списък и подреждане на таблици по размер

  2. Сравняване на хранилища за данни за PostgreSQL - MVCC срещу InnoDB

  3. Как да маркирате определен брой редове в таблицата при едновременен достъп

  4. Още от любимите ми PostgreSQL заявки - и защо те също имат значение

  5. Rails:Отказано е разрешение на Postgres за създаване на база данни на rake db:create:all