Jaki jest zalecany sposób wykonania drobnej aktualizacji z PostgreSQL, np. 9.3.0 do 9.3.1, za pomocą instalatora systemu Windows wbudowanego w Enterprise DB? Czy powinienem najpierw odinstalować, czy po prostu zainstalować na istniejącej instalacji?
Obecna instalacja została wykonana przy pomocy postgresql-9.3.0-1-windows-x64.exe. Teraz chcę uaktualnić za pomocą postgresql-9.3.1-1-windows-x64.exe.
postgresql
installation
upgrade
postgresql-9.3
buzz3791
źródło
źródło
e.g. ...
część.Odpowiedzi:
W systemie Windows wystarczy zatrzymać usługę postgresql, a następnie uruchomić program postgresql-9.3.1-1-windows-x64.exe na istniejącej wersji 9.3.0. Odinstalowanie nie jest konieczne. Oczywiście zalecane jest wykonanie kopii zapasowej.
Brakuje wyraźnej, wyraźnej dokumentacji dotyczącej procedury aktualizacji w systemie Windows. Zauważ, że łącze do dokumentacji dostarczone przez @dezso zostało przeniesione w bieżącym podręczniku do: https://www.postgresql.org/docs/current/static/upgrading.html
Uwagi do wydania PostgreSQL zazwyczaj dokumentują porady dotyczące migracji w Dodatku E. Na przykład:
Najlepszym źródłem informacji o instalatorze Windows były fora Enterprise DB. Oto kilka zamieszczonych przeze mnie postów, które dotyczyły pytania ...
Pamiętaj, że informacje o aktualizacji zmieniają się od wydania do wydania. Na przykład,
Pamiętaj, że od czerwca 2017 r. EnterpriseDB zastąpiło fora dyskusyjne społeczności wpływające na linki w tej odpowiedzi ( https://web.archive.org/web/20171021012954/https://www.enterlictb.com/news/enterposedb-announces- new-postgres-rocks-online-user-forum ). Udało mi się wyśledzić niektóre oryginalne posty na Wayback Machine. Jednym z martwych linków, których nie byłem w stanie naprawić, jest: „Styczeń 2010 - aktualizacja do 8.4.2 z 8.4.1”, http://forums.enterlictb.com/posts/list/2115.page#7888 .
źródło
Dla przypomnienia, uruchomienie instalatora dla Windows z Enterprise DB (domyślnie, link z witryny Postgres ), przynajmniej od obecnej wersji Postgres 9.4, nie musisz zatrzymywać
postgresql
usługi. Instalator zrobi to za Ciebie. Nadal musisz ponownie ustanowić połączenia, jeśli takie istnieją (większość klientów robi to automatycznie).Najlepiej zapoznaj się z aktualną instrukcją (używając aktualnej wersji Postgres):
http://www.postgresql.org/docs/current/interactive/upgrading.html
źródło
Właśnie zaktualizowałem Postgres 10.0 do 10.1 i było to bardzo szybkie i łatwe uaktualnienie.
Pobrałem pliki binarne z https://www.enterlictb.com/download-postgresql-binaries i rozpakowałem je
C:\postgres
, a następnie zmieniłem nazwę katalogupgsql
na,pgsql-10.1
aby móc zachować starsze wersje, dopóki nie uznam ich za niepotrzebne.Skopiowane pliki dll
msvcp120.dll
, amsvcr120.dll
doC:\postgres\pgsql-10.1\bin
dlatego, że wolę prostą instalację nad „Instalator”, które prawdopodobnie dodaje dużo więcej uwędzić niż potrzebne.Następnie użyłem tego prostego skryptu wsadowego, który napisałem w przeszłości:
Uruchomiłem
SELECT version();
w psql, aby potwierdzić starą wersję:Następnie uruchomiłem skrypt wsadowy, powyżej którego zainstalowałem usługę o nazwie
postgres-10.1
.Przestałem starą usługę i ustawić jej
Startup Type
sięDisabled
i rozpoczęła nową usługę.Uruchomiony
SELECT version();
ponownie w psql zatwierdzeni uaktualnienie (musiał go uruchomić dwa razy ze względu na połączenie jest przerwane kiedy zatrzymał starego serwera):Należy pamiętać, że aktualizacja głównej wersji wymaga aktualizacji katalogu danych za pomocą
pg_upgrade
innej metody, ale w przypadku drobnej aktualizacji ta metoda działała jak urok.źródło
10.1
do10.2
i działało świetnie.