Pratique de mise Ă  niveau de la version PostgreSQL. Andrey Salnikov

Je vous suggÚre de vous familiariser avec le décodage du rapport 2018 d'Andrei Salnikov, "La pratique de la mise à jour des versions de PostgreSQL"


Pour la plupart, les administrateurs systĂšme et le DBA ont peur d'effectuer des mises Ă  jour majeures des versions de la base de donnĂ©es (RDBMS) comme un incendie, surtout si cette base de donnĂ©es est en fonctionnement et a une charge assez Ă©levĂ©e. La raison principale en est un certain temps d'arrĂȘt de la base de donnĂ©es, qui est toujours impliquĂ© dans la planification d'un tel travail.


En pratique, ce type de mise Ă  niveau prend assez de temps et souvent les administrateurs peu expĂ©rimentĂ©s dans de telles opĂ©rations doivent revenir Ă  l'ancienne version des bases de donnĂ©es en raison des erreurs plutĂŽt banales qui auraient pu ĂȘtre Ă©vitĂ©es lors de la prĂ©paration.


Dans Data Egret, nous avons accumulĂ© une vaste expĂ©rience dans la rĂ©alisation de mises Ă  niveau majeures de PostgreSQL dans des projets oĂč il n'y a pas de place pour l'erreur. Je partagerai mon expĂ©rience et parlerai des prochaines Ă©tapes du processus: comment se prĂ©parer Ă  la mise Ă  niveau de PostgreSQL? Que faut-il faire au stade de la prĂ©paration? Comment planifier la sĂ©quence d'actions pour la mise Ă  niveau elle-mĂȘme? comment mener Ă  bien la procĂ©dure de mise Ă  niveau, sans revenir Ă  la version prĂ©cĂ©dente de la base de donnĂ©es? comment minimiser ou mĂȘme Ă©viter les temps d'arrĂȘt de l'ensemble du systĂšme lors de la mise Ă  niveau? Quelles Ă©tapes dois-je effectuer aprĂšs une mise Ă  niveau rĂ©ussie de PostgreSQL? Je parlerai Ă©galement des deux procĂ©dures de mise Ă  niveau de PostgreSQL les plus populaires - pg_upgrade et pg_dump / pg_restore, les avantages et les inconvĂ©nients de chaque mĂ©thode et parlerai de tous les problĂšmes typiques Ă  toutes les Ă©tapes de cette procĂ©dure, et comment les Ă©viter.


Le rapport sera intéressant à la fois pour les débutants et les administrateurs de base de données qui travaillent depuis longtemps avec PostgreSQL, mais qui souhaitent en savoir plus sur la façon de planifier et d'effectuer correctement la mise à niveau le plus indolore possible.



salut! Je travaille chez Data Egret. Nous nous engageons à prendre en charge les serveurs PostgreSQL et à fournir des services de conseil PostgreSQL. Et la pratique a montré que trÚs peu de gens mettent à jour la base de données. Ils ont lancé le projet, installé la version actuelle à ce moment-là et fonctionnent toujours.


Le rapport comprendra trois parties. Le premier est une introduction afin d'arriver Ă  une terminologie commune. La seconde concerne les mises Ă  jour mineures. Et le troisiĂšme sera majeur.



Le rapport a pour objet de répondre aux questions.


  • ? , Postgres . , - . , . , . .
  • , .
  • , , .
  • , : « ?». .
  • , . , production .

, Postgres.



, , . 10 . , , , – .



10- . , . – , – .



?


. , – . 9.6 , , , . . .


10- . , .


. . , .


. .


– , . 6. . , . . . 9.2. , , 9.2 . 9.2, .


: .



. , , production :


  • release notes. ? , release notes, release notes , . , . - . , , . , 10- , -. , , .
  • ? . , . release notes, . , - . , Postgres , , . , Postgres, .
  • - , , , , production .
  • , – , . — , , , . .

, , , .



. .


, . , Postgres. Postgres.


:


  • PostgreSQL. , - , , , Postgres . . . , . Ubuntu, , , . start.conf. . .
  • PostgreSQL . , , common- . .
  • – checkpoint. checkpoint? , . , , , . , , , , 250 GB, . checkpoint, Postgres.
  • ? pgbouncer, , . pgbouncer, pgbouncer . pgbouncer’ – , - . latency . . . , pgbouncer, . checkpoint, pgbouncer, .
  • , . . , .
  • , extensions, - extensions. – extensions . . . . . .
  • ( , release notes) release notes. – - . , 9.6.1 9.6.6, , release notes 9.6.2 – 9.6.6. - , , , .
  • standby , , . , 14- , 2.3 . . , . .

, release notes.



Postgres.org. 9.6.2. , .


? , , . , . .


. . . , , release notes. .



, . . , , 9.6.5. 9.6.1. , . - . , – . – .


, . . . bash- , . alter extension, update .



?


  • . . , , .
  • . , , , release notes.
  • . , - , . . . .
  • , . . . , checkpoint, 30 .


– .


. , . .


  • Pg_dump restore – . , . - .
  • Pg_upgrade – , , , 95 % , . .
  • .

.



pg_dump ?


  • . , . 9.5, , 10. Ubuntu , RedHat – Postgres. , .
  • locale, .
  • Postgres, , , , , .
  • , pg_dumop. PostgreSQL. ? pg_dump , , , . , , . . PostgreSQL, . . , . , .
  • . pg_dump, . . , .
  • . .
  • , , , PostgreSQL.

, , , .



pg_dump:


  • . – . .
  • . .
  • . : , , . , .
  • , , . .
  • . , . . SSD-, SSD- . , , . .
  • . , . , . , , . , , . .


, pg_upgrade.


  • Pg_upgrade . , . . , . .
  • . , , .
  • PostgreSQL. -, .
  • . .


, pg_upgrade. : , , .


, pg_upgrade, , , . , , . .


, – pg_upgrade dump restore , pg_dump, restore , , , . .


. , , 8.4. Postgres .


, (, 9.0 10) -. , , . . , .



, production. . . , – .


  • PostgreSQL.
  • locace. .
  • pg_upgrade. «check». Check , . , - , , , , . , . , .
  • Pg_dumpall — schema-only. check . pg_dumpall – schema-only, . , . , , check , dump .
  • extensions . – PostGIS, PostGIS Postgres. extension Postgres, Postgres. changelog – , pg_upgrade , . dump restore .


, , , .


  • locale, pg_dumpall only, restore.


  • . , pgbouncer , . . , .


  • checkpoints, , .


  • pg_upgrade. , . . 45 . , 45 , . 15 , . .



  • , . hard links. .



  • PostgreSQL. . PostgreSQL? . , pg_upgrade .


  • .


  • . 10 . , .



:


  • pg_upgrade . , : , 10 .


  • , , .


  • 9.5 . , .



  • . . , , . , vacuumdb 1, 10 . , . - . - . , , .


  • . , . - . , , . , , .




.



  • Pg_upgrade extensions. , .
  • release notes .
  • , , extensions – alter extension EXTENSION_NAME update. . pg_stat_statements, - . pg_upgrade, pg_stat_statements. . .


– ? :


  • - - .
  • , , , , , . . , , .
  • ? Postgres. . . , , , 10 .
  • PostgreSQL.
  • pg_basebackup . .
  • PostgreSQL.
  • , rsync, . , , , . rsync , .


. :


  • -, PostgreSQL.
  • . .

9.4 . . , 10 11 .


, . Slony-l, Londiste, Bucardo . . .



?


  • PostgreSQL.
  • - Postgres Postgres.
  • , , . .
  • , . . , Postgres. , , . . . , .
  • Postgres, , .
  • Postgres, . , , . - .


?


  • , . - .
  • , . . . . , .
  • sequences, -.
  • DDL, . DDL , , . , .
  • , , .


, . pg_upgrade , .


? , 3 TB, 2 SSD RAID 3 TB. . .


. .


, , 99 - 9- . 15 . 15 . . - .



, pg_upgrade. . .


.



! pgbouncer , , , , , . ?


, SSD . SSD , . . . . , , , , . , , . , Postgres. , .


pg_worm pg_hibernate, ?


, , .


! pg_upgrade?


, . , . , . , , - , . , , . , .


rsync -?


rsync? Rsync . , , , , . ? pg_upgrate . , . – pg_start_backup. rsync . - , rsync , . , , , tablespace HDD, rsync , . – , . , . – pg_basebackup.


! , 



Cela s'applique aux mises Ă  jour mineures.


All Articles