Re: Install PostgreSQL as part of a desktop application, but how to coop with existing installations?

Поиск
Список
Период
Сортировка
От Craig Ringer
Тема Re: Install PostgreSQL as part of a desktop application, but how to coop with existing installations?
Дата
Msg-id 4D31A0AE.8080400@postnewspapers.com.au
обсуждение исходный текст
Ответ на Re: Install PostgreSQL as part of a desktop application, but how to coop with existing installations?  (Jensen Somers <jensen@aimproductions.be>)
Список pgsql-general

> Bundling it as part of my application is even better. I didn't knew if
> that would be possible, but it would solve some of the issues.

Oh, I meant to mention: Whether bundling directly in your installer or
invoking the exe installer silently, you need to consider the major
version incompatibility problem. The user might install version 1.0 of
your app (which bundles Pg 8.4), uninstall it, and then install version
2.0 of your app (which bundles Pg 9.0). The user expects their data to
still be there ... but your 9.0 instance can't read the data from 8.4,
so it fails to start. Alternately, if you initdb'd in a new location,
the user sees a new blank database without their data in it and has no
way to access the old data.

Possible workarounds are:
- force a pg_dump backup to be run during uninstallation; or
- make the installer check for old data directories and use pg_upgrade

Both require testing and careful thought. It's a pain, and one of the
reasons Pg isn't great for bundling/embedding in apps.

--
Craig Ringer

В списке pgsql-general по дате отправления:

Предыдущее
От: Craig Ringer
Дата:
Сообщение: Re: Install PostgreSQL as part of a desktop application, but how to coop with existing installations?
Следующее
От: Jon Smark
Дата:
Сообщение: Re: Record with a field consisting of table rows