Я только что обновил 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
какого-либо другого метода, но при незначительном обновлении этот метод работает как обаяние.