मैंने सिर्फ पोस्टग्रेज को 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
क्योंकि मैं "इंस्टालर" जो शायद और अधिक ब्लोट जरूरत से कहते हैं अधिक है कि सरल स्थापना पसंद करते हैं।
मैंने तब इस सरल बैच स्क्रिप्ट का उपयोग किया था जो मैंने अतीत में लिखा था:
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
या किसी अन्य विधि के साथ अद्यतन करने की आवश्यकता होती है , लेकिन एक मामूली उन्नयन के लिए इस पद्धति ने एक आकर्षण की तरह काम किया।