SlideShare a Scribd company logo
1 of 20
Download to read offline
Rapid Upgrades With Pg_Upgrade
BRUCE MOMJIAN,
ENTERPRISEDB
May, 2010
Abstract
Pg_Upgrade allows migration between major releases of Postgres
without a data dump/reload. This presentation explains how
pg_upgrade works.
Creative Commons Attribution License http://momjian.us/presentations
Traditional Postgres Upgrade Options
 
pg_dump (logical dump)/restore
 
Slony
Rapid Upgrades With Pg-Upgrade 2
Why Upgrading Postgres Is Complex
 
New features often require system table changes
 
However, the internal data format rarely changes
Rapid Upgrades With Pg-Upgrade 3
Why Pg_Upgrade
 
Very fast upgrades
 
Optionally no additional disk space
pg_upgrade installs new system tables while using data files from the
previous Postgres version.
Rapid Upgrades With Pg-Upgrade 4
How It Works: Initial Setup
1
2
3 6
5
4 7
8
9
pg_class
User Tables
15 21 27
262014
13 19 25
241812
17 2311
10 16 22
System Tables
clog
Old Cluster
1
2
3 6
5
4 7
8
9
pg_class
User Tables
System Tables
clog
New Cluster
Rapid Upgrades With Pg-Upgrade 5
Decouple New Clog Via Freezing
1
2
3 6
5
4 7
8
9
pg_class
User Tables
15 21 27
262014
13 19 25
241812
17 2311
10 16 22
System Tables
clog
Old Cluster
1
2
3 6
4 7
8
9
pg_class
User Tables
System Tables
clog
New Cluster
5
Freeze
X X
Rapid Upgrades With Pg-Upgrade 6
Transfer Clog and XID
1
2
3 6
5
4 7
8
9
pg_class
User Tables
15 21 27
262014
13 19 25
241812
17 2311
10 16 22
System Tables
clog
Old Cluster
1
2
3 6
5
4 7
8
9
pg_class
User Tables
System Tables
clog
New Cluster
controldata controldataxid
Rapid Upgrades With Pg-Upgrade 7
Get Schema Dump
1
2
3 6
5
4 7
8
9
pg_class
User Tables
15 21 27
262014
13 19 25
241812
17 2311
10 16 22
System Tables
clog
Old Cluster
1
2
3 6
5
4 7
8
9
pg_class
User Tables
System Tables
clog
New Cluster
pg_dumpall - -schema
Rapid Upgrades With Pg-Upgrade 8
Restore Schema In New Cluster
1
2
3 6
5
4 7
8
9
pg_class
User Tables
15 21 27
262014
13 19 25
241812
17 2311
10 16 22
System Tables
clog
Old Cluster
1
2
3 6
5
4 7
8
9
pg_class
User Tables
26
System Tables
clog
New Cluster
pg_dumpall − −schema
17 23
24
25
27
18
10
11
12
13
14
15
16
19
20
21
22
Rapid Upgrades With Pg-Upgrade 9
Copy User Heap/Index Files
1
2
3 6
5
4 7
8
9
pg_class
User Tables
15 21 27
262014
13 19 25
241812
17 2311
10 16 22
System Tables
clog
Old Cluster
1
2
3 6
5
4 7
8
9
pg_class
User Tables
26
System Tables
clog
New Cluster
1610
11
13
12
14
15
19
20
21
22
23
24
25
27
18
17
Rapid Upgrades With Pg-Upgrade 10
Complete
1
2
3 6
5
4 7
8
9
pg_class
User Tables
15 21 27
262014
13 19 25
241812
17 2311
10 16 22
System Tables
clog
Old Cluster
1
2
3 6
5
4 7
8
9
pg_class
User Tables
26
System Tables
clog
New Cluster
24
25
27
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Rapid Upgrades With Pg-Upgrade 11
How It Works: In Detail
 
Check for cluster compatability
– locale
– encoding
 
Use pg_dumpall to dump old cluster schema (no data)
 
Freeze all new cluster rows (remove reference to clog entries)
 
New cluster uses old xid counter value (see freeze above)
– Set system table frozen xids to match the current xid
 
Create new users/databases
 
Collect cluster informationRapid Upgrades With Pg-Upgrade 12
 
Install support functions that call internal backend functions
 
Create schema in new cluster
 
Copy or link files from old cluster to new cluster
 
Warn about any remaining issues, like REINDEX requirements
Rapid Upgrades With Pg-Upgrade 13
Sample Run: Performing Consistency Checks
Performing Consistency Checks
-----------------------------
Checking old data directory (/u/pgsql.old/data) ok
Checking old bin directory (/u/pgsql.old/bin) ok
Checking new data directory (/u/pgsql/data) ok
Checking new bin directory (/u/pgsql/bin) ok
Checking for /contrib/isn with bigint-passing mismatch ok
Checking for large objects ok
Creating catalog dump ok
Checking for presence of required libraries ok
| If pg_upgrade fails after this point, you must
| re-initdb the new cluster before continuing.
| You will also need to remove the ".old" suffix
| from /u/pgsql.old/data/global/pg_control.old.
Rapid Upgrades With Pg-Upgrade 14
Sample Run: Performing Migration
Performing Migration
--------------------
Adding ".old" suffix to old global/pg_control ok
Analyzing all rows in the new cluster ok
Freezing all rows on the new cluster ok
Deleting new commit clogs ok
Copying old commit clogs to new server ok
Setting next transaction id for new cluster ok
Resetting WAL archives ok
Setting frozenxid counters in new cluster ok
Creating databases in the new cluster ok
Adding support functions to new cluster ok
Restoring database schema to new cluster ok
Removing support functions from new cluster ok
Restoring user relation files
ok
Setting next oid for new cluster ok
Creating script to delete old cluster ok
Checking for large objects ok
Rapid Upgrades With Pg-Upgrade 15
Sample Run: Completion
Upgrade complete
----------------
| Optimizer statistics is not transferred by pg_upgrade
| so consider running:
| vacuumdb --all --analyze-only
| on the newly-upgraded cluster.
| Running this script will delete the old cluster’s data files:
| /u/postgres/pg_upgrade_output/delete_old_cluster.sh
Rapid Upgrades With Pg-Upgrade 16
Possible Data
Format Changes
Change Conversion Method
clog none
heap page header, including bitmask convert to new page format on read
tuple header, including bitmask convert to new page format on read
data value format create old data type in new cluster
index page format reindex, or recreate index methods
TOAST page format convert to new page format on read
Rapid Upgrades With Pg-Upgrade 17
Migration Timings
Migration Method Minutes
dump/restore 300.0
dump with parallel restore 180.0
pg_upgrade in copy mode 44.0
pg_upgrade in link mode 0.7
Database size: 150GB, 850 tables
The last duration is 44 seconds.
Timings courtesy of
Stefan Kaltenbrunner
(mastermind on IRC)
Rapid Upgrades With Pg-Upgrade 18
PostgreSQL Version Compatibility
New
Old 8.3 8.4 9.0+
8.3 pg_migrator pg_migrator(1) pg_upgrade
8.4 x pg_migrator pg_upgrade
9.0+ x x pg_upgrade
1. Unable to migrate composites, arrays, and enums.
Rapid Upgrades With Pg-Upgrade 19
Conclusion
http://momjian.us/presentations
Rapid Upgrades With Pg-Upgrade 20

More Related Content

What's hot

Some osdb migration_question_for_the_certification_tadm70
Some osdb migration_question_for_the_certification_tadm70Some osdb migration_question_for_the_certification_tadm70
Some osdb migration_question_for_the_certification_tadm70neel_pushkar
 
Cassandra 1.2 by Eddie Satterly
Cassandra 1.2 by Eddie SatterlyCassandra 1.2 by Eddie Satterly
Cassandra 1.2 by Eddie SatterlyDataStax Academy
 
ORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIES
ORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIESORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIES
ORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIESLudovico Caldara
 
Dataguard implementation
Dataguard implementationDataguard implementation
Dataguard implementationRajshekar Patil
 
Oracle Join Methods and 12c Adaptive Plans
Oracle Join Methods and 12c Adaptive PlansOracle Join Methods and 12c Adaptive Plans
Oracle Join Methods and 12c Adaptive PlansFranck Pachot
 
Citrix XenDesktop Configuration Logging
Citrix XenDesktop Configuration LoggingCitrix XenDesktop Configuration Logging
Citrix XenDesktop Configuration Loggingmarcelvenema
 
SQL Server Replication Transactional Replication from MSSQL 200x to MYSQL 5.x
SQL Server Replication Transactional Replication  from MSSQL 200x to MYSQL 5.xSQL Server Replication Transactional Replication  from MSSQL 200x to MYSQL 5.x
SQL Server Replication Transactional Replication from MSSQL 200x to MYSQL 5.xThet Aung Min Latt
 
Server-410_RatanMohapatra
Server-410_RatanMohapatraServer-410_RatanMohapatra
Server-410_RatanMohapatraRatan Mohapatra
 
How to Upgrade Major Version of Your Production PostgreSQL
How to Upgrade Major Version of Your Production PostgreSQLHow to Upgrade Major Version of Your Production PostgreSQL
How to Upgrade Major Version of Your Production PostgreSQLKeisuke Suzuki
 
Rails DB migrations
Rails DB migrationsRails DB migrations
Rails DB migrationsDenys Kurets
 
PostgreSQL Performance Tables Partitioning vs. Aggregated Data Tables
PostgreSQL Performance Tables Partitioning vs. Aggregated Data TablesPostgreSQL Performance Tables Partitioning vs. Aggregated Data Tables
PostgreSQL Performance Tables Partitioning vs. Aggregated Data TablesSperasoft
 
Whitepaper: Exadata Consolidation Success Story
Whitepaper: Exadata Consolidation Success StoryWhitepaper: Exadata Consolidation Success Story
Whitepaper: Exadata Consolidation Success StoryKristofferson A
 
Oracle database 12c new features
Oracle database 12c new featuresOracle database 12c new features
Oracle database 12c new featuresRidaZaman1
 
Policy based cluster management in oracle 12c
Policy based cluster management in oracle 12c Policy based cluster management in oracle 12c
Policy based cluster management in oracle 12c Anju Garg
 
Oracle RAC 12c and Policy-Managed Databases, a Technical Overview
Oracle RAC 12c and Policy-Managed Databases, a Technical OverviewOracle RAC 12c and Policy-Managed Databases, a Technical Overview
Oracle RAC 12c and Policy-Managed Databases, a Technical OverviewLudovico Caldara
 
Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...
Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...
Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...Flink Forward
 
Enteros StarWest 2012 - Database load testing
Enteros StarWest 2012 - Database load testing Enteros StarWest 2012 - Database load testing
Enteros StarWest 2012 - Database load testing ronwarshawsky
 

What's hot (20)

Some osdb migration_question_for_the_certification_tadm70
Some osdb migration_question_for_the_certification_tadm70Some osdb migration_question_for_the_certification_tadm70
Some osdb migration_question_for_the_certification_tadm70
 
Cassandra 1.2 by Eddie Satterly
Cassandra 1.2 by Eddie SatterlyCassandra 1.2 by Eddie Satterly
Cassandra 1.2 by Eddie Satterly
 
ORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIES
ORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIESORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIES
ORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIES
 
Sas bulk load
Sas bulk loadSas bulk load
Sas bulk load
 
Dataguard implementation
Dataguard implementationDataguard implementation
Dataguard implementation
 
Oracle Join Methods and 12c Adaptive Plans
Oracle Join Methods and 12c Adaptive PlansOracle Join Methods and 12c Adaptive Plans
Oracle Join Methods and 12c Adaptive Plans
 
Citrix XenDesktop Configuration Logging
Citrix XenDesktop Configuration LoggingCitrix XenDesktop Configuration Logging
Citrix XenDesktop Configuration Logging
 
UPD_OP_SQL
UPD_OP_SQLUPD_OP_SQL
UPD_OP_SQL
 
SQL Server Replication Transactional Replication from MSSQL 200x to MYSQL 5.x
SQL Server Replication Transactional Replication  from MSSQL 200x to MYSQL 5.xSQL Server Replication Transactional Replication  from MSSQL 200x to MYSQL 5.x
SQL Server Replication Transactional Replication from MSSQL 200x to MYSQL 5.x
 
Server-410_RatanMohapatra
Server-410_RatanMohapatraServer-410_RatanMohapatra
Server-410_RatanMohapatra
 
How to Upgrade Major Version of Your Production PostgreSQL
How to Upgrade Major Version of Your Production PostgreSQLHow to Upgrade Major Version of Your Production PostgreSQL
How to Upgrade Major Version of Your Production PostgreSQL
 
Rails DB migrations
Rails DB migrationsRails DB migrations
Rails DB migrations
 
PostgreSQL Performance Tables Partitioning vs. Aggregated Data Tables
PostgreSQL Performance Tables Partitioning vs. Aggregated Data TablesPostgreSQL Performance Tables Partitioning vs. Aggregated Data Tables
PostgreSQL Performance Tables Partitioning vs. Aggregated Data Tables
 
Whitepaper: Exadata Consolidation Success Story
Whitepaper: Exadata Consolidation Success StoryWhitepaper: Exadata Consolidation Success Story
Whitepaper: Exadata Consolidation Success Story
 
R12.2 dba
R12.2 dbaR12.2 dba
R12.2 dba
 
Oracle database 12c new features
Oracle database 12c new featuresOracle database 12c new features
Oracle database 12c new features
 
Policy based cluster management in oracle 12c
Policy based cluster management in oracle 12c Policy based cluster management in oracle 12c
Policy based cluster management in oracle 12c
 
Oracle RAC 12c and Policy-Managed Databases, a Technical Overview
Oracle RAC 12c and Policy-Managed Databases, a Technical OverviewOracle RAC 12c and Policy-Managed Databases, a Technical Overview
Oracle RAC 12c and Policy-Managed Databases, a Technical Overview
 
Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...
Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...
Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...
 
Enteros StarWest 2012 - Database load testing
Enteros StarWest 2012 - Database load testing Enteros StarWest 2012 - Database load testing
Enteros StarWest 2012 - Database load testing
 

Viewers also liked

Rapid Upgrades with Pg_Upgrade
Rapid Upgrades with Pg_UpgradeRapid Upgrades with Pg_Upgrade
Rapid Upgrades with Pg_UpgradeEDB
 
Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...
Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...
Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...Fuenteovejuna
 
Postgres for MySQL (and other database) people
Postgres for MySQL (and other database) peoplePostgres for MySQL (and other database) people
Postgres for MySQL (and other database) peopleCommand Prompt., Inc
 
Postgres in Amazon RDS
Postgres in Amazon RDSPostgres in Amazon RDS
Postgres in Amazon RDSDenish Patel
 
Amazon RDS for PostgreSQL - Postgres Open 2016 - New Features and Lessons Lea...
Amazon RDS for PostgreSQL - Postgres Open 2016 - New Features and Lessons Lea...Amazon RDS for PostgreSQL - Postgres Open 2016 - New Features and Lessons Lea...
Amazon RDS for PostgreSQL - Postgres Open 2016 - New Features and Lessons Lea...Grant McAlister
 
Big Bad "Upgraded" Postgres
Big Bad "Upgraded" PostgresBig Bad "Upgraded" Postgres
Big Bad "Upgraded" PostgresRobert Treat
 
Zero Downtime Postgres Upgrades
Zero Downtime Postgres UpgradesZero Downtime Postgres Upgrades
Zero Downtime Postgres UpgradesOutlyer
 

Viewers also liked (7)

Rapid Upgrades with Pg_Upgrade
Rapid Upgrades with Pg_UpgradeRapid Upgrades with Pg_Upgrade
Rapid Upgrades with Pg_Upgrade
 
Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...
Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...
Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...
 
Postgres for MySQL (and other database) people
Postgres for MySQL (and other database) peoplePostgres for MySQL (and other database) people
Postgres for MySQL (and other database) people
 
Postgres in Amazon RDS
Postgres in Amazon RDSPostgres in Amazon RDS
Postgres in Amazon RDS
 
Amazon RDS for PostgreSQL - Postgres Open 2016 - New Features and Lessons Lea...
Amazon RDS for PostgreSQL - Postgres Open 2016 - New Features and Lessons Lea...Amazon RDS for PostgreSQL - Postgres Open 2016 - New Features and Lessons Lea...
Amazon RDS for PostgreSQL - Postgres Open 2016 - New Features and Lessons Lea...
 
Big Bad "Upgraded" Postgres
Big Bad "Upgraded" PostgresBig Bad "Upgraded" Postgres
Big Bad "Upgraded" Postgres
 
Zero Downtime Postgres Upgrades
Zero Downtime Postgres UpgradesZero Downtime Postgres Upgrades
Zero Downtime Postgres Upgrades
 

Similar to Rapid Upgrades With Pg_Upgrade, Bruce Momjian

Pg upgrade employer
Pg upgrade employerPg upgrade employer
Pg upgrade employerEDB
 
Ilya Kosmodemiansky - An ultimate guide to upgrading your PostgreSQL installa...
Ilya Kosmodemiansky - An ultimate guide to upgrading your PostgreSQL installa...Ilya Kosmodemiansky - An ultimate guide to upgrading your PostgreSQL installa...
Ilya Kosmodemiansky - An ultimate guide to upgrading your PostgreSQL installa...PostgreSQL-Consulting
 
Avi Apelbaum - RAC
Avi Apelbaum - RAC Avi Apelbaum - RAC
Avi Apelbaum - RAC gridcontrol
 
PostgreSQL 13 New Features
PostgreSQL 13 New FeaturesPostgreSQL 13 New Features
PostgreSQL 13 New FeaturesJosé Lin
 
[PGDay.Seoul 2020] PostgreSQL 13 New Features
[PGDay.Seoul 2020] PostgreSQL 13 New Features[PGDay.Seoul 2020] PostgreSQL 13 New Features
[PGDay.Seoul 2020] PostgreSQL 13 New Featureshyeongchae lee
 
Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...BJ Jang
 
Schema replication using oracle golden gate 12c
Schema replication using oracle golden gate 12cSchema replication using oracle golden gate 12c
Schema replication using oracle golden gate 12cuzzal basak
 
Checklist for Upgrades and Migrations
Checklist for Upgrades and MigrationsChecklist for Upgrades and Migrations
Checklist for Upgrades and MigrationsMarkus Flechtner
 
OracleDatabase12cPXNewFeatures_ITOUG_2018.pdf
OracleDatabase12cPXNewFeatures_ITOUG_2018.pdfOracleDatabase12cPXNewFeatures_ITOUG_2018.pdf
OracleDatabase12cPXNewFeatures_ITOUG_2018.pdf7vkx8892hv
 
Zero Downtime Schema Changes - Galera Cluster - Best Practices
Zero Downtime Schema Changes - Galera Cluster - Best PracticesZero Downtime Schema Changes - Galera Cluster - Best Practices
Zero Downtime Schema Changes - Galera Cluster - Best PracticesSeveralnines
 
Steps for upgrading the database to 10g release 2
Steps for upgrading the database to 10g release 2Steps for upgrading the database to 10g release 2
Steps for upgrading the database to 10g release 2nesmaddy
 
Learning MySQL 5.7
Learning MySQL 5.7Learning MySQL 5.7
Learning MySQL 5.7Jervin Real
 
PGConf.ASIA 2019 Bali - PostgreSQL Database Migration and Maintenance - Koich...
PGConf.ASIA 2019 Bali - PostgreSQL Database Migration and Maintenance - Koich...PGConf.ASIA 2019 Bali - PostgreSQL Database Migration and Maintenance - Koich...
PGConf.ASIA 2019 Bali - PostgreSQL Database Migration and Maintenance - Koich...Equnix Business Solutions
 
What's new in PostgreSQL 11 ?
What's new in PostgreSQL 11 ?What's new in PostgreSQL 11 ?
What's new in PostgreSQL 11 ?José Lin
 
PostgreSQL 9.5 - Major Features
PostgreSQL 9.5 - Major FeaturesPostgreSQL 9.5 - Major Features
PostgreSQL 9.5 - Major FeaturesInMobi Technology
 

Similar to Rapid Upgrades With Pg_Upgrade, Bruce Momjian (20)

Pg upgrade employer
Pg upgrade employerPg upgrade employer
Pg upgrade employer
 
Ilya Kosmodemiansky - An ultimate guide to upgrading your PostgreSQL installa...
Ilya Kosmodemiansky - An ultimate guide to upgrading your PostgreSQL installa...Ilya Kosmodemiansky - An ultimate guide to upgrading your PostgreSQL installa...
Ilya Kosmodemiansky - An ultimate guide to upgrading your PostgreSQL installa...
 
Avi Apelbaum - RAC
Avi Apelbaum - RAC Avi Apelbaum - RAC
Avi Apelbaum - RAC
 
Upgrading 11i E-business Suite to R12 E-business Suite
Upgrading 11i E-business Suite to R12 E-business SuiteUpgrading 11i E-business Suite to R12 E-business Suite
Upgrading 11i E-business Suite to R12 E-business Suite
 
PostgreSQL 13 New Features
PostgreSQL 13 New FeaturesPostgreSQL 13 New Features
PostgreSQL 13 New Features
 
[PGDay.Seoul 2020] PostgreSQL 13 New Features
[PGDay.Seoul 2020] PostgreSQL 13 New Features[PGDay.Seoul 2020] PostgreSQL 13 New Features
[PGDay.Seoul 2020] PostgreSQL 13 New Features
 
Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...
 
Schema replication using oracle golden gate 12c
Schema replication using oracle golden gate 12cSchema replication using oracle golden gate 12c
Schema replication using oracle golden gate 12c
 
Checklist for Upgrades and Migrations
Checklist for Upgrades and MigrationsChecklist for Upgrades and Migrations
Checklist for Upgrades and Migrations
 
OracleDatabase12cPXNewFeatures_ITOUG_2018.pdf
OracleDatabase12cPXNewFeatures_ITOUG_2018.pdfOracleDatabase12cPXNewFeatures_ITOUG_2018.pdf
OracleDatabase12cPXNewFeatures_ITOUG_2018.pdf
 
Zero Downtime Schema Changes in Galera Cluster
Zero Downtime Schema Changes in Galera ClusterZero Downtime Schema Changes in Galera Cluster
Zero Downtime Schema Changes in Galera Cluster
 
Zero Downtime Schema Changes - Galera Cluster - Best Practices
Zero Downtime Schema Changes - Galera Cluster - Best PracticesZero Downtime Schema Changes - Galera Cluster - Best Practices
Zero Downtime Schema Changes - Galera Cluster - Best Practices
 
Learning postgresql
Learning postgresqlLearning postgresql
Learning postgresql
 
Steps for upgrading the database to 10g release 2
Steps for upgrading the database to 10g release 2Steps for upgrading the database to 10g release 2
Steps for upgrading the database to 10g release 2
 
PgconfSV compression
PgconfSV compressionPgconfSV compression
PgconfSV compression
 
Learning MySQL 5.7
Learning MySQL 5.7Learning MySQL 5.7
Learning MySQL 5.7
 
PGConf.ASIA 2019 Bali - PostgreSQL Database Migration and Maintenance - Koich...
PGConf.ASIA 2019 Bali - PostgreSQL Database Migration and Maintenance - Koich...PGConf.ASIA 2019 Bali - PostgreSQL Database Migration and Maintenance - Koich...
PGConf.ASIA 2019 Bali - PostgreSQL Database Migration and Maintenance - Koich...
 
Rapid Upgrades With Pg_Migrator
Rapid Upgrades With Pg_MigratorRapid Upgrades With Pg_Migrator
Rapid Upgrades With Pg_Migrator
 
What's new in PostgreSQL 11 ?
What's new in PostgreSQL 11 ?What's new in PostgreSQL 11 ?
What's new in PostgreSQL 11 ?
 
PostgreSQL 9.5 - Major Features
PostgreSQL 9.5 - Major FeaturesPostgreSQL 9.5 - Major Features
PostgreSQL 9.5 - Major Features
 

More from Fuenteovejuna

Facebook, Robert Johnson
Facebook, Robert JohnsonFacebook, Robert Johnson
Facebook, Robert JohnsonFuenteovejuna
 
Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...
Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...
Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...Fuenteovejuna
 
Shared Personalization Service - How To Scale to 15K RPS, Patrice Pelland
Shared Personalization Service - How To Scale to 15K RPS, Patrice PellandShared Personalization Service - How To Scale to 15K RPS, Patrice Pelland
Shared Personalization Service - How To Scale to 15K RPS, Patrice PellandFuenteovejuna
 
Оптимизация одного из топовых приложений для социальной сети ВКонтакте: 1000 ...
Оптимизация одного из топовых приложений для социальной сети ВКонтакте: 1000 ...Оптимизация одного из топовых приложений для социальной сети ВКонтакте: 1000 ...
Оптимизация одного из топовых приложений для социальной сети ВКонтакте: 1000 ...Fuenteovejuna
 
Практическое создание крупного масштабируемого web 20 c нуля, Дмитрий Бородин
Практическое создание крупного масштабируемого web 20 c нуля, Дмитрий БородинПрактическое создание крупного масштабируемого web 20 c нуля, Дмитрий Бородин
Практическое создание крупного масштабируемого web 20 c нуля, Дмитрий БородинFuenteovejuna
 
Social Monitoring Tool codename Looking Glass, Patrice Pelland
Social Monitoring Tool codename Looking Glass, Patrice PellandSocial Monitoring Tool codename Looking Glass, Patrice Pelland
Social Monitoring Tool codename Looking Glass, Patrice PellandFuenteovejuna
 
Профилирование памяти в приложениях на Python, Антон Грицай
Профилирование памяти в приложениях на Python, Антон ГрицайПрофилирование памяти в приложениях на Python, Антон Грицай
Профилирование памяти в приложениях на Python, Антон ГрицайFuenteovejuna
 
Компиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоКомпиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоFuenteovejuna
 
Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...
Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...
Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...Fuenteovejuna
 
Использование 0MQ для построения low latency распределёных систем, Андрей Охл...
Использование 0MQ для построения low latency распределёных систем, Андрей Охл...Использование 0MQ для построения low latency распределёных систем, Андрей Охл...
Использование 0MQ для построения low latency распределёных систем, Андрей Охл...Fuenteovejuna
 
Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...
Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...
Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...Fuenteovejuna
 
Динамика DDoS-атак в России, Александр Лямин
Динамика DDoS-атак в России, Александр ЛяминДинамика DDoS-атак в России, Александр Лямин
Динамика DDoS-атак в России, Александр ЛяминFuenteovejuna
 
Быстрое развёртывание шаблонов и статики в Mail.ru, Николай Кондратов
Быстрое развёртывание шаблонов и статики в Mail.ru, Николай КондратовБыстрое развёртывание шаблонов и статики в Mail.ru, Николай Кондратов
Быстрое развёртывание шаблонов и статики в Mail.ru, Николай КондратовFuenteovejuna
 
Extreme Cloud Storage on FreeBSD, Андрей Пантюхин
Extreme Cloud Storage on FreeBSD, Андрей ПантюхинExtreme Cloud Storage on FreeBSD, Андрей Пантюхин
Extreme Cloud Storage on FreeBSD, Андрей ПантюхинFuenteovejuna
 
Мониторинг XXI-век, Алиса Смирнова, Дима Никоненко
Мониторинг XXI-век, Алиса Смирнова, Дима НиконенкоМониторинг XXI-век, Алиса Смирнова, Дима Никоненко
Мониторинг XXI-век, Алиса Смирнова, Дима НиконенкоFuenteovejuna
 
Native Client, Евгений Эльцин
Native Client, Евгений ЭльцинNative Client, Евгений Эльцин
Native Client, Евгений ЭльцинFuenteovejuna
 
Tarantool Silverbox, Юрий Востриков
Tarantool Silverbox, Юрий ВостриковTarantool Silverbox, Юрий Востриков
Tarantool Silverbox, Юрий ВостриковFuenteovejuna
 
Real time indexes in Sphinx, Yaroslav Vorozhko
Real time indexes in Sphinx, Yaroslav VorozhkoReal time indexes in Sphinx, Yaroslav Vorozhko
Real time indexes in Sphinx, Yaroslav VorozhkoFuenteovejuna
 
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав КрюковSphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав КрюковFuenteovejuna
 
Масштабируемая система голосования на базе PostgreSQL PgQ, Сергей Нековаль
Масштабируемая система голосования на базе PostgreSQL PgQ, Сергей НековальМасштабируемая система голосования на базе PostgreSQL PgQ, Сергей Нековаль
Масштабируемая система голосования на базе PostgreSQL PgQ, Сергей НековальFuenteovejuna
 

More from Fuenteovejuna (20)

Facebook, Robert Johnson
Facebook, Robert JohnsonFacebook, Robert Johnson
Facebook, Robert Johnson
 
Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...
Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...
Интеграция открытых технологий и взаимодействие со сторонними проектами в усл...
 
Shared Personalization Service - How To Scale to 15K RPS, Patrice Pelland
Shared Personalization Service - How To Scale to 15K RPS, Patrice PellandShared Personalization Service - How To Scale to 15K RPS, Patrice Pelland
Shared Personalization Service - How To Scale to 15K RPS, Patrice Pelland
 
Оптимизация одного из топовых приложений для социальной сети ВКонтакте: 1000 ...
Оптимизация одного из топовых приложений для социальной сети ВКонтакте: 1000 ...Оптимизация одного из топовых приложений для социальной сети ВКонтакте: 1000 ...
Оптимизация одного из топовых приложений для социальной сети ВКонтакте: 1000 ...
 
Практическое создание крупного масштабируемого web 20 c нуля, Дмитрий Бородин
Практическое создание крупного масштабируемого web 20 c нуля, Дмитрий БородинПрактическое создание крупного масштабируемого web 20 c нуля, Дмитрий Бородин
Практическое создание крупного масштабируемого web 20 c нуля, Дмитрий Бородин
 
Social Monitoring Tool codename Looking Glass, Patrice Pelland
Social Monitoring Tool codename Looking Glass, Patrice PellandSocial Monitoring Tool codename Looking Glass, Patrice Pelland
Social Monitoring Tool codename Looking Glass, Patrice Pelland
 
Профилирование памяти в приложениях на Python, Антон Грицай
Профилирование памяти в приложениях на Python, Антон ГрицайПрофилирование памяти в приложениях на Python, Антон Грицай
Профилирование памяти в приложениях на Python, Антон Грицай
 
Компиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоКомпиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей Романенко
 
Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...
Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...
Сервер-агрегатор на python (аля Xscript FEST), Сумин Андрей, Сабуренков Михаи...
 
Использование 0MQ для построения low latency распределёных систем, Андрей Охл...
Использование 0MQ для построения low latency распределёных систем, Андрей Охл...Использование 0MQ для построения low latency распределёных систем, Андрей Охл...
Использование 0MQ для построения low latency распределёных систем, Андрей Охл...
 
Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...
Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...
Некоторые аспекты влияния сходимости протокола BGP на доступность сетевых рес...
 
Динамика DDoS-атак в России, Александр Лямин
Динамика DDoS-атак в России, Александр ЛяминДинамика DDoS-атак в России, Александр Лямин
Динамика DDoS-атак в России, Александр Лямин
 
Быстрое развёртывание шаблонов и статики в Mail.ru, Николай Кондратов
Быстрое развёртывание шаблонов и статики в Mail.ru, Николай КондратовБыстрое развёртывание шаблонов и статики в Mail.ru, Николай Кондратов
Быстрое развёртывание шаблонов и статики в Mail.ru, Николай Кондратов
 
Extreme Cloud Storage on FreeBSD, Андрей Пантюхин
Extreme Cloud Storage on FreeBSD, Андрей ПантюхинExtreme Cloud Storage on FreeBSD, Андрей Пантюхин
Extreme Cloud Storage on FreeBSD, Андрей Пантюхин
 
Мониторинг XXI-век, Алиса Смирнова, Дима Никоненко
Мониторинг XXI-век, Алиса Смирнова, Дима НиконенкоМониторинг XXI-век, Алиса Смирнова, Дима Никоненко
Мониторинг XXI-век, Алиса Смирнова, Дима Никоненко
 
Native Client, Евгений Эльцин
Native Client, Евгений ЭльцинNative Client, Евгений Эльцин
Native Client, Евгений Эльцин
 
Tarantool Silverbox, Юрий Востриков
Tarantool Silverbox, Юрий ВостриковTarantool Silverbox, Юрий Востриков
Tarantool Silverbox, Юрий Востриков
 
Real time indexes in Sphinx, Yaroslav Vorozhko
Real time indexes in Sphinx, Yaroslav VorozhkoReal time indexes in Sphinx, Yaroslav Vorozhko
Real time indexes in Sphinx, Yaroslav Vorozhko
 
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав КрюковSphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
 
Масштабируемая система голосования на базе PostgreSQL PgQ, Сергей Нековаль
Масштабируемая система голосования на базе PostgreSQL PgQ, Сергей НековальМасштабируемая система голосования на базе PostgreSQL PgQ, Сергей Нековаль
Масштабируемая система голосования на базе PostgreSQL PgQ, Сергей Нековаль
 

Recently uploaded

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Recently uploaded (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Rapid Upgrades With Pg_Upgrade, Bruce Momjian

  • 1. Rapid Upgrades With Pg_Upgrade BRUCE MOMJIAN, ENTERPRISEDB May, 2010 Abstract Pg_Upgrade allows migration between major releases of Postgres without a data dump/reload. This presentation explains how pg_upgrade works. Creative Commons Attribution License http://momjian.us/presentations
  • 2. Traditional Postgres Upgrade Options   pg_dump (logical dump)/restore   Slony Rapid Upgrades With Pg-Upgrade 2
  • 3. Why Upgrading Postgres Is Complex   New features often require system table changes   However, the internal data format rarely changes Rapid Upgrades With Pg-Upgrade 3
  • 4. Why Pg_Upgrade   Very fast upgrades   Optionally no additional disk space pg_upgrade installs new system tables while using data files from the previous Postgres version. Rapid Upgrades With Pg-Upgrade 4
  • 5. How It Works: Initial Setup 1 2 3 6 5 4 7 8 9 pg_class User Tables 15 21 27 262014 13 19 25 241812 17 2311 10 16 22 System Tables clog Old Cluster 1 2 3 6 5 4 7 8 9 pg_class User Tables System Tables clog New Cluster Rapid Upgrades With Pg-Upgrade 5
  • 6. Decouple New Clog Via Freezing 1 2 3 6 5 4 7 8 9 pg_class User Tables 15 21 27 262014 13 19 25 241812 17 2311 10 16 22 System Tables clog Old Cluster 1 2 3 6 4 7 8 9 pg_class User Tables System Tables clog New Cluster 5 Freeze X X Rapid Upgrades With Pg-Upgrade 6
  • 7. Transfer Clog and XID 1 2 3 6 5 4 7 8 9 pg_class User Tables 15 21 27 262014 13 19 25 241812 17 2311 10 16 22 System Tables clog Old Cluster 1 2 3 6 5 4 7 8 9 pg_class User Tables System Tables clog New Cluster controldata controldataxid Rapid Upgrades With Pg-Upgrade 7
  • 8. Get Schema Dump 1 2 3 6 5 4 7 8 9 pg_class User Tables 15 21 27 262014 13 19 25 241812 17 2311 10 16 22 System Tables clog Old Cluster 1 2 3 6 5 4 7 8 9 pg_class User Tables System Tables clog New Cluster pg_dumpall - -schema Rapid Upgrades With Pg-Upgrade 8
  • 9. Restore Schema In New Cluster 1 2 3 6 5 4 7 8 9 pg_class User Tables 15 21 27 262014 13 19 25 241812 17 2311 10 16 22 System Tables clog Old Cluster 1 2 3 6 5 4 7 8 9 pg_class User Tables 26 System Tables clog New Cluster pg_dumpall − −schema 17 23 24 25 27 18 10 11 12 13 14 15 16 19 20 21 22 Rapid Upgrades With Pg-Upgrade 9
  • 10. Copy User Heap/Index Files 1 2 3 6 5 4 7 8 9 pg_class User Tables 15 21 27 262014 13 19 25 241812 17 2311 10 16 22 System Tables clog Old Cluster 1 2 3 6 5 4 7 8 9 pg_class User Tables 26 System Tables clog New Cluster 1610 11 13 12 14 15 19 20 21 22 23 24 25 27 18 17 Rapid Upgrades With Pg-Upgrade 10
  • 11. Complete 1 2 3 6 5 4 7 8 9 pg_class User Tables 15 21 27 262014 13 19 25 241812 17 2311 10 16 22 System Tables clog Old Cluster 1 2 3 6 5 4 7 8 9 pg_class User Tables 26 System Tables clog New Cluster 24 25 27 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Rapid Upgrades With Pg-Upgrade 11
  • 12. How It Works: In Detail   Check for cluster compatability – locale – encoding   Use pg_dumpall to dump old cluster schema (no data)   Freeze all new cluster rows (remove reference to clog entries)   New cluster uses old xid counter value (see freeze above) – Set system table frozen xids to match the current xid   Create new users/databases   Collect cluster informationRapid Upgrades With Pg-Upgrade 12
  • 13.   Install support functions that call internal backend functions   Create schema in new cluster   Copy or link files from old cluster to new cluster   Warn about any remaining issues, like REINDEX requirements Rapid Upgrades With Pg-Upgrade 13
  • 14. Sample Run: Performing Consistency Checks Performing Consistency Checks ----------------------------- Checking old data directory (/u/pgsql.old/data) ok Checking old bin directory (/u/pgsql.old/bin) ok Checking new data directory (/u/pgsql/data) ok Checking new bin directory (/u/pgsql/bin) ok Checking for /contrib/isn with bigint-passing mismatch ok Checking for large objects ok Creating catalog dump ok Checking for presence of required libraries ok | If pg_upgrade fails after this point, you must | re-initdb the new cluster before continuing. | You will also need to remove the ".old" suffix | from /u/pgsql.old/data/global/pg_control.old. Rapid Upgrades With Pg-Upgrade 14
  • 15. Sample Run: Performing Migration Performing Migration -------------------- Adding ".old" suffix to old global/pg_control ok Analyzing all rows in the new cluster ok Freezing all rows on the new cluster ok Deleting new commit clogs ok Copying old commit clogs to new server ok Setting next transaction id for new cluster ok Resetting WAL archives ok Setting frozenxid counters in new cluster ok Creating databases in the new cluster ok Adding support functions to new cluster ok Restoring database schema to new cluster ok Removing support functions from new cluster ok Restoring user relation files ok Setting next oid for new cluster ok Creating script to delete old cluster ok Checking for large objects ok Rapid Upgrades With Pg-Upgrade 15
  • 16. Sample Run: Completion Upgrade complete ---------------- | Optimizer statistics is not transferred by pg_upgrade | so consider running: | vacuumdb --all --analyze-only | on the newly-upgraded cluster. | Running this script will delete the old cluster’s data files: | /u/postgres/pg_upgrade_output/delete_old_cluster.sh Rapid Upgrades With Pg-Upgrade 16
  • 17. Possible Data Format Changes Change Conversion Method clog none heap page header, including bitmask convert to new page format on read tuple header, including bitmask convert to new page format on read data value format create old data type in new cluster index page format reindex, or recreate index methods TOAST page format convert to new page format on read Rapid Upgrades With Pg-Upgrade 17
  • 18. Migration Timings Migration Method Minutes dump/restore 300.0 dump with parallel restore 180.0 pg_upgrade in copy mode 44.0 pg_upgrade in link mode 0.7 Database size: 150GB, 850 tables The last duration is 44 seconds. Timings courtesy of Stefan Kaltenbrunner (mastermind on IRC) Rapid Upgrades With Pg-Upgrade 18
  • 19. PostgreSQL Version Compatibility New Old 8.3 8.4 9.0+ 8.3 pg_migrator pg_migrator(1) pg_upgrade 8.4 x pg_migrator pg_upgrade 9.0+ x x pg_upgrade 1. Unable to migrate composites, arrays, and enums. Rapid Upgrades With Pg-Upgrade 19