Поради някакви (не много ясни ми причини) бях пропуснал да направя ъпгрейд на postgresql демона при дистрибутивният ъпгрейд на един от Debian сървърите ми. Postgresql демона има хубавото свойство да не започва да използва новата си версия (за разлика от Mysql) докато не убедим, че новата е на пълно съвместима със старта – изключително полезно при големи бази данни. Самият процес по обновяване се ограничава до следните 2 стъпки:
- pg_dropcluster
- pg_upgradecluster
Преди да издропите клъстера pg демона трябва да е спрян!
pg_dropcluster 9.4 main
Тази команда преминава бързо, след което преминаваме към съществената част – самият ъпгрейд
pg_upgradecluster 9.1 main Disabling connections to the old cluster during upgrade... Restarting old cluster with restricted connections... Creating new cluster 9.4/main ... config /etc/postgresql/9.4/main data /var/lib/postgresql/9.4/main locale en_US.UTF-8 Flags of /var/lib/postgresql/9.4/main set as -------------e-C port 5433 Disabling connections to the new cluster during upgrade... Roles, databases, schemas, ACLs... Fixing hardcoded library paths for stored procedures... Upgrading database postgres... Analyzing database postgres... Fixing hardcoded library paths for stored procedures... Upgrading database template1... Analyzing database template1... Fixing hardcoded library paths for stored procedures... Upgrading database xpqt... Analyzing database xpqt... Re-enabling connections to the old cluster... Re-enabling connections to the new cluster... Copying old configuration files... Copying old start.conf... Copying old pg_ctl.conf... Copying old server.crt... Copying old server.key... Stopping target cluster... Stopping old cluster... Disabling automatic startup of old cluster... Configuring old cluster to use a different port (5433)... Starting target cluster on the original port... Success. Please check that the upgraded cluster works. If it does, you can remove the old cluster with pg_dropcluster 9.1 main
Ако всичко е минло гладко трябва да получите съобщение като горното което ви подканва да разкарате старите данни от pg.
pg_dropcluster 9.1 main
В края на тая тарпана вече можете да стартирате процеса си отново. При мен базите са малки и за съжаление не мога да дам оценка за колко време преминава същественият ъпгрейд.