Postgres 10.0'u 10.1'e yükselttim ve çok hızlı ve kolay bir yükseltme oldu.
İkili dosyaları https://www.enterprisedb.com/download-postgresql-binaries adresinden indirip adresinden çıkarttım C:\postgres
, ardından dizini yeniden adlandırdım pgsql
.pgsql-10.1
gereksiz gördüğü kadar eski sürümlerini tutmak, böylece.
Ben dll dosyaları kopyalanabilir msvcp120.dll
ve msvcr120.dll
hiçC:\postgres\pgsql-10.1\bin
muhtemelen gerekenden çok daha kabartmak ekler "Installer" üzerinde bu kadar basit kurulum tercih ettiklerinden.
Daha sonra geçmişte yazdığım bu basit toplu komut dosyasını kullandım:
set MAJOR_VERSION=10
set MINOR_VERSION=1
set SERVICE_NAME=pgsql-%MAJOR_VERSION%.%MINOR_VERSION%
set PGHOME=C:\postgres\%SERVICE_NAME%
set PGDATA=C:\postgres\pgdata%MAJOR_VERSION%
%PGHOME%\bin\pg_ctl.exe register -N %SERVICE_NAME% -U LocalSystem -S auto --pgdata=%PGDATA%
::: to unregister old service:
::%PGHOME%\bin\pg_ctl.exe unregister -N %SERVICE_NAME%
Ben SELECT version();
eski sürümü onaylamak için psql koştu :
postgres=# select version();
-[ RECORD 1 ]-------------------------------------------------------
version | PostgreSQL 10.0, compiled by Visual C++ build 1800, 64-bit
Daha sonra yukarıdaki adlı bir hizmeti yükleyen toplu komut dosyasını çalıştırdım postgres-10.1
.
Eski hizmet durdu ve set Startup Type
ToDisabled
ve yeni bir hizmet başlattı.
Psql'de SELECT version();
tekrar çalıştırmak , yükseltmeyi doğruladı (eski sunucuyu durdurduğumda bağlantı iptal edildiğinden iki kez çalıştırmak zorunda kaldı):
postgres=# select version();
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Succeeded.
postgres=# select version();
-[ RECORD 1 ]-------------------------------------------------------
version | PostgreSQL 10.1, compiled by Visual C++ build 1800, 64-bit
Önemli bir sürümü yükseltmenin veri dizini pg_upgrade
veya başka bir yöntemle güncellenmesini gerektirdiğini unutmayın , ancak küçük bir yükseltme için bu yöntem bir cazibe gibi çalıştı.