Chcę zaktualizować mój PostgreSQL z wersji 8.4 do 9.4 .
Dokumentacja nie jest jasne do mnie.
- Czy utracę stare bazy danych, jeśli dokonam aktualizacji?
- Jak mogę wykonać kopię zapasową moich starych baz danych, jeśli mam je utracić po aktualizacji?
- Jak mogę zaktualizować mój psql?
Mój PostgreSQL działa na serwerze CentOS 6.6 .
postgresql
upgrade
postgresql-9.4
postgresql-8.4
centos
Alex Jolig
źródło
źródło
postgresql-client-9.4
pakiet, który zawierapsql
.pg_upgrade
, zachowa twoje bazy danych - ale w tym przypadku konieczne jest również wykonanie kopii zapasowej.How can I backup my old databases if
” - nie ma, jeśli . Twoje bazy danych prawie na pewno będą w porządku po aktualizacji, ale zawsze powinieneś mieć nowe (najlepiej przetestowane) kopie zapasowe podczas wykonywania takiej operacji w przypadku nieoczekiwanych problemów (załóż najgorsze: odcięcie zasilania lub inna awaria sprzętowa może częściowo pozostawić w pozycji, z której trudno jest przetoczyć się do tyłu lub do przodu). W zależności od regularnego planu tworzenia kopii zapasowych może nie być konieczne wykonywanie dodatkowych kopii zapasowych.Odpowiedzi:
W ten sposób rozwiązałem mój problem.
Uaktualnij Postgresql 8.4 do 9.4 w Centach
Kopia zapasowa danych
Przywróć dane
Skonfiguruj dostęp do sieci
vi /var/lib/pgsql/9.4/data/postgresql.conf
/var/lib/pgsql/9.4/data/pg_hba.conf
Usuń PG8.4
źródło
pg_upgrade
jeśli aktualizujesz z> = 8.4 i jeśli używasz tego samego serwera.pg_upgrade
jest przydatny w takich przypadkach i naprawdę szybciej: na Ubuntu 18 zajęło mi mniej czasu dokonywaniapg_upgrade
niżpg_dump
do przywrócenia bazy danych 1GB. Wadą jest to, że musisz zainstalować i uruchomić 2 wersje postgres na tym samym komputerze (oczywiście słuchając różnych portów).service postgresql-9.4
initdb nie działał dla mnie, musiałem użyćsudo /usr/pgsql-9.4/bin/postgresql94-setup initdb
( tutaj ).Dzięki za wspaniałe instrukcje mogłem bez problemu zaktualizować wersję z 9.2 do 9.4, mimo że musiałem ponownie skonfigurować mój
pg_hba.conf
plik, to było trywialne.źródło
Lepszym rozwiązaniem niż połączenie pojedynczego pliku binarnego psql postgresql94 z binem / usr / (local /) jest użycie systemu alternatyw:
Który tworzy linki plików binarnych, mans, confs, ... postgresql94 do domyślnych katalogów dla CentOS.
źródło