Я щойно оновив Postgres 10.0 до 10.1, і це було дуже швидким і простим оновленням.
Я завантажив двійкові файли з https://www.enterprisedb.com/download-postgresql-binaries і розпакував їх C:\postgres
, а потім перейменував у каталог, pgsql
щоб pgsql-10.1
я міг зберігати старі версії до тих пір, поки не вважатимусь непотрібними.
Я скопіював файли DLL msvcp120.dll
і msvcr120.dll
в C:\postgres\pgsql-10.1\bin
тому , що я вважаю за краще , щоб простий установки над «Installer» , який , ймовірно , додає набагато більше наворотів , ніж це необхідно.
Потім я використав цей простий пакетний сценарій, про який писав у минулому:
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%
Я побіг SELECT version();
у psql, щоб підтвердити стару версію:
postgres=# select version();
-[ RECORD 1 ]-------------------------------------------------------
version | PostgreSQL 10.0, compiled by Visual C++ build 1800, 64-bit
Потім я запустив пакетний скрипт, над яким встановив службу з назвою postgres-10.1
.
Я зупинився старий сервіс і встановити його Startup Type
на Disabled
, і почав нову послугу.
Запуск SELECT version();
знову в psql підтвердив оновлення (довелося запустити його двічі через припинення з'єднання, коли я зупинив старий сервер):
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
Майте на увазі, що для оновлення основної версії потрібне оновлення каталогу даних за допомогою pg_upgrade
іншого способу, але для незначного оновлення цей метод спрацював як шарм.