all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Roel Janssen <roel@gnu.org>, Jan Nieuwenhuizen <janneke@gnu.org>
Cc: Christopher Allan Webber <cwebber@dustycloud.org>,
	guix-devel@gnu.org, Pg Hackers <pgsql-hackers@postgresql.org>
Subject: Re: postgres 9.6.2 update breakage
Date: Mon, 15 May 2017 11:53:49 -0400	[thread overview]
Message-ID: <7686e85b-7cdb-abde-e61e-fe7890836cbc@2ndquadrant.com> (raw)
In-Reply-To: <87fug6wr74.fsf@gnu.org>

On 5/15/17 02:48, Roel Janssen wrote:
> Ah yes, I see the point.  The problem here is that when new features are
> added to PostgreSQL, and you rely upon them in your database schemas,
> downgrading will most likely cause loss of information.
> 
> Maybe we need a wrapper script that also makes a dump of all of the
> data?  Now that could become a security hole.
> 
> Or the wrapper script warns about this situation, and recommends making
> a (extra) back-up of the database before upgrading.
> 
> Or.. the upgrade is something a user should do explicitly, basically
> giving up on the "just works" concept.  Guix already provides a nice way
> to get the previous version of the exact binaries used before the
> upgrade.

The best way to manage this with PostgreSQL is to make separate packages
for each PostgreSQL major version.  I see for example that you have
packages gcc-4.9, gcc-5, gcc-6, etc.  You should do the same with
PostgreSQL, e.g., postgresql-9.5, postgresql-9.6, postgresql-10.  Then
you don't have to concern yourselves with how "upgrades" and
"downgrades" should look for the users of your packaging system.  Minor
version upgrades are just installing the new package and restarting.
Major version upgrades are figured out by the user.

Downgrades between minor versions of the same major versions should
mostly work.  They are not well tested, if at all, but I don't think
that's all that different from downgrading any other package.

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

  reply	other threads:[~2017-05-15 15:53 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-13 14:14 postgres 9.6.2 update breakage Jan Nieuwenhuizen
2017-05-13 18:05 ` Roel Janssen
2017-05-13 21:33   ` Christopher Allan Webber
2017-05-13 22:08     ` Roel Janssen
2017-05-14 10:49       ` Jan Nieuwenhuizen
2017-05-14 19:47         ` Christopher Allan Webber
2017-05-15  6:48         ` Roel Janssen
2017-05-15 15:53           ` Peter Eisentraut [this message]
2017-05-13 18:41 ` Christopher Allan Webber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7686e85b-7cdb-abde-e61e-fe7890836cbc@2ndquadrant.com \
    --to=peter.eisentraut@2ndquadrant.com \
    --cc=cwebber@dustycloud.org \
    --cc=guix-devel@gnu.org \
    --cc=janneke@gnu.org \
    --cc=pgsql-hackers@postgresql.org \
    --cc=roel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.