Windows'da PostgreSQL'in küçük bir yükseltmesi nasıl yapılır, örneğin 9.3.0 - 9.3.1?


10

Enterprise DB yerleşik Windows yükleyicisini kullanarak PostgreSQL'den 9.3.0'dan 9.3.1'e küçük bir yükseltme gerçekleştirmenin önerilen yolu nedir? Önce kaldırmalı mıyım yoksa sadece mevcut yüklemeyi yüklemeli miyim?

Geçerli kurulum postgresql-9.3.0-1-windows-x64.exe ile gerçekleştirildi. Şimdi postgresql-9.3.1-1-windows-x64.exe kullanarak yükseltmek istiyorum.


Gereğince belgeler : Sunucuyu durdurmak Yeni ikili yükleyin ve yeniden başlatın. Bir yedek almak ve genellikle bir B planına sahip olmak her zaman iyi bir fikirdir
dezso

Bağlantı @dezso için teşekkürler, 9.3 el kitabının bu bölümünü okumuştum, ancak özellikle Windows kurulum ikili dosyaları ile ilgili olarak biraz belirsiz buldum.
buzz3791

@ buzz3791 10.0'dan 10.1'e kadar yeni sürüm oluşturma şemasında küçük bir yükseltme olduğu için soru / başlık artık yanlış. Bence e.g. ...parçayı çıkarmalısın .
isapir

Yanıtlar:


8

Windows'ta, postgresql hizmetini durdurup sonra mevcut 9.3.0 çalışmalarının üstünde postgresql-9.3.1-1-windows-x64.exe dosyasını çalıştırmanız yeterlidir. Kaldırma gerekmez. Tabii ki, bir yedekleme önerilir.

Windows'taki güncelleme prosedürü için açık, açık belgeler yoktur. @Dezso tarafından sağlanan dokümantasyon bağlantısının mevcut kılavuzda şu adrese taşındığını unutmayın: https://www.postgresql.org/docs/current/static/upgrading.html

PostgreSQL Sürüm Notları genellikle Ek E'deki taşıma ipuçlarını belgeler. Örneğin,

Windows yükleyici bilgilerinin en iyi kaynağı Enterprise DB forumlarıydı. İşte soruya hitap eden bazı gönderiler ...

Yeni sürüme geçiş bilgilerinin sürümden sürüme doğru hareket ettiğini unutmayın. Örneğin,

Haziran 2017 itibarıyla EnterpriseDB'nin bu yanıttaki bağlantıları etkileyen topluluk tartışma forumlarının yerini aldığını unutmayın ( https://web.archive.org/web/20171021012954/https://www.enterprisedb.com/news/enterprisedb-announces- new-postgres-rocks-online-user-forum ). Wayback Machine'deki bazı orijinal yayınları avlayabildim. Tamir edemediğim bir ölü bağlantı: "2010 Ocak - 8.4.1'den 8.4.2'ye yükseltme", http://forums.enterprisedb.com/posts/list/2115.page#7888 .


4

Kayıt için , en azından geçerli Postgres 9.4 sürümünden bu yana, Windows için yükleyiciyi Enterprise DB'den (varsayılan, Postgres sitesinden bağlı ) çalıştırmak, postgresqlhizmeti durdurmanız gerekmez . Yükleyici bunu sizin için yapar. Varsa yine de bağlantıları yeniden kurmanız gerekir (çoğu istemci bunu otomatik olarak yapar).

En iyi geçerli kılavuza bakın (Postgres'in mevcut sürümünü kullanarak ):

http://www.postgresql.org/docs/current/interactive/upgrading.html


3

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.dllve msvcr120.dllhiç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 TypeToDisabled 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_upgradeveya 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ı.


1
Bunu buraya gönderdiğim güzel şey. Sadece yükseltmek için yönergeleri takip 10.1etmek 10.2ve harika çalıştı.
isapir
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.