Re: Programmatic method to determine currently installed Windows PostrgreSQL version

From: Will Wright <will4wright(at)yahoo(dot)com>
To: Magnus Hagander <mha(at)sollentuna(dot)net>, pgsql-general(at)postgresql(dot)org
Subject: Re: Programmatic method to determine currently installed Windows PostrgreSQL version
Date: 2005-11-09 00:47:44
Message-ID: 20051109004744.79001.qmail@web60713.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Thanks Magnus. Much appreciated.

Will

--- Magnus Hagander <mha(at)sollentuna(dot)net> wrote:

> >
>
HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\{317D0ED1
> > > > -8845-40DD-A028-0A3EB8E24F2E}
> > > > "Version"="8.1-beta4"
> > > >
> > > > So it looks like the version number is
> underneath
> > > a key that
> > > > changes with every new version (new Product
> > > number). And I
> > > > am therefore not sure if I can use this
> knowledge
> > > to identify
> > > > the installed version.
> > >
> > > It changes once for each major version, meaning
> there is
> > one for 8.0
> > > and 8.1. The whole 8.0.x series share the same
> id, as will
> > the whole
> > > 8.1 series (at least that's the plan). It
> basically changes when
> > > initdb is required to upgrade, which is why it
> also changes between
> > > betas.
> > >
> > > You can safely rely on these once you've seen
> the ones for
> > a release.
> > > For example, don't use the beta4 one, wait for
> the
> > > 8.1 release one.
> > >
> > >
> > > > Does anyone have a better idea for a more
> reliable
> > >
> > > > identification method?
> > >
> > > Using these registry keys will reliably identify
> any PostgreSQL
> > > installations done using the MSI installer - it
> won't pick up any
> > > other install methods. For those, you could
> either search the
> > > filesystem, or attempt a connect to the default
> port etc -
> > but I think
> > > those would either be too slow or a lot less
> reliable.
> >
> > Hi Magnus, thanks for the quick response.
> > Unfortunately I still have an issue with this
> regsitry
> > identification method because I'd like to code my
> installer
> > so that it can also identify the postreSQL
> versions that were
> > not available at the time I authored my install
> check, i.e.
> > future versions.
> >
> > In essence I know that my product works with
> PostrgeSQL 8.0
> > and 8.1 and it my guees is that it will continue
> to work with
> > future PostgreSQL versions. So I'd like my
> installer to be
> > able to check that 8.0 or above is installed.
>
> To do this, enumerate the keys under
> PostgreSQL\Installations. You can
> count on future versions to register there with a
> different GUID - so if
> you enumerate everything that's there, you can look
> at the Version value
> to see the actual version.
>
>
> //Magnus
>



__________________________________
Yahoo! Mail - PC Magazine Editors' Choice 2005
http://mail.yahoo.com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Jerry LeVan 2005-11-09 00:48:40 psql error on quitting...
Previous Message Ledina Hido 2005-11-09 00:45:37 Re: Transactions, Triggers and Error Messages